python图片鉴黄_鉴黄师专用 Python 轮子之 PornDetective

 2023-09-05 阅读 67 评论 0

摘要:前言这两天跨年,就想将自己的 Python 组织和表达能力再提高一下,当然最好的方式自然是读大师的源码,我也就看到实验楼上面的那篇关于色情图片识别的文章,因此依葫芦画瓢才建了这个库。0x01 色情识别算法介绍检测色情或者说判定是否是色情的关键是

前言

这两天跨年,就想将自己的 Python 组织和表达能力再提高一下,当然最好的方式自然是读大师的源码,我也就看到实验楼上面的那篇关于色情图片识别的文章,因此依葫芦画瓢才建了这个库。

0x01 色情识别算法介绍

检测色情或者说判定是否是色情的关键是通过皮肤的裸露程度判别,也就是说色情识别算法的核心就是识别皮肤。

那么现今主要识别皮肤的是通过三个步骤:首先选择合适的颜色空间来表征图像像素;然后使用适当的皮肤模型来建模皮肤和非皮肤部分像素;最后依据此建模来分割出正确的皮肤部分。而识别皮肤的关键在于寻找到合适的像素区间,因为肤色 种族 光照 等等因素都会影响到皮肤的识别。

从 2015 年的厦大陈丽一篇《一种融合方法的皮肤检测技术》上我们了解到 在图片预处理 降噪 resize 后 将二维直方图 高斯模型 动态阈值 三个处理模型进行混合的综合皮肤检测技术,能达到识别率 90+的程度,比其他三种模型高出一到五个百分点。

那么实验楼这位作者是如何去识别一张图片的皮肤部分呢?

皮肤确认的像素公式采用 stack 上的采用的是网上的 YCbcr 的公式 当然他也写了其他的公式,效果不如这个好

确认为皮肤像素后进行归类。新发现的皮肤像素定位新的一块,如果皮肤像素周边有其他的像素就 merge 当然 我在测试的过程中,这个 merge 算法仍然可以优化,如果有小伙伴的话~

归类后,判定是否为色情图片的 rules 他写了四条 当然这个判别不能和机器训练相比 但是已经比较准确了

0x02 我在此基础上做了什么?

完善 showskinorigin 方法,使其能够将被判定为皮肤的像素进行涂白 方便进行对比

修改某些不是很 python 的方法,剔除单通道图片。

新加入 LoadWay 文件,可以方便的扫描目录 图片 url 列表并检查是否为色情图片

增加容错模块,单元测试后,打包然后共享给大家~

0x03 未来将会准备做什么?

根据论文的算法 在 python 上进行部分实现,方便优化算法

修复多线程效率过低 占用内存过多的问题

希望能够建立 server 返回 API

试验效果图属不可描述范围~附上 Gayhub 地址~

当然我不会说那个 HeiHeiHei 函数是干嘛的==

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://808629.com/932.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 86后生记录生活 Inc. 保留所有权利。

底部版权信息