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

前言

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

0x01 色情识别算法介绍

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

希望能够建立 server 返回 API

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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值