计算机如何识别色情图片? - 开源中国社区
计算机如何识别色情图片?
oschina 2012年06月03日

计算机如何识别色情图片?

oschina oschina 发布于2012年06月03日 收藏 46 评论 34

腾讯云 十分钟定制你的第一个小程序>>>  

为了保护小朋友的纯洁心灵,不让他们过早地接触不和谐的内容,程序员们开发了很多自动识别色情图片和AV影片的电脑软件来过滤这些信息。那么,你知道这些“绿坝娘”们都是怎么工作的吗?

是不是色情作品,一般人扫一眼心里就有数了。但对电脑来说,它们可不会自己分辨屏幕上那对男女是在谈情说爱,还是在宽衣解带。想让电脑知道哪些东西 是不和谐的,还得靠程序员们的调教。不过,想教会电脑看AV并不是一件很容易的事情,因为机器没有七情六欲,没有感情,没有性冲动,唯一能接受的只有各种 数据,程序员们要做的,就是让电脑识别色情作品特有的数据特征。

识色、辨形、听声

我们知道,每张图片里的任何一个点都包括亮度值、色相值、饱和度值,通过这三个值的大小的范围,电脑就能识别出“肉色”,进而猜测出图片里裸露的人 体皮肤区域。 而那些“色图”相比于正常图片,最明显的特点就是画面像素中人体皮肤的颜色所占的比例比较大,整张图片比较“黄”,确切地说,研究者发现虽然不同肤色的主 角在光线明暗不同环境下拍出来的皮肤颜色不尽相同,但是画面里人体皮肤的颜色总是在一定的范围内。另外,研究人员还发现暴露的区域图片一般纹理值比较小, 颜色比较平滑,这也可以作为判断人体皮肤的依据之一。

电脑自动识别出图片里的人体皮肤区域。(图片来自原研究 )

电脑自动识别出图片里的人体皮肤区域。(图片来自原研究 )

计算肤色区域的几何关系。 (图片来自原研究 )

计算肤色区域的几何关系。 (图片来自原研究 )

当电脑“看到了”图片上有类似于人体皮肤颜色的一些区域之后,需要进一步确定这些区域的来源,看看它们是没穿衣服的女主角,还是来源于正常物体。假 设两块黄色区域分别是两条腿或两只胳膊,另外一块区域是人的身体,这些区域的长度值、宽度值必须符合人体的大小比例,之间的位置必须满足一定的几何关系, 这些都可以依靠电脑的计算得出结果。如果这些区域之间大小和位置不像是人的身体,就可以排除掉色情图片的嫌疑了。

把肤色和人体构造比例这两招教给电脑是研究者最先想到的解决方案,也是应用得最多的图片自动扫黄方法。凭借这两个简单而有效的主意,美国爱荷华大学和加州伯克利大学的研究人员在1996年发表了一篇名为《找到裸露的身体》( Finding Naked People )的论文(有点标题党的嫌疑)。

后来,世界各国对于此领域情有独钟的研究人员又想出了各种各样提高识别AV图片准确率的方法。

例如斯坦福大学的研究者通过对图片进行“小波分析”(编者按:这只是一个数学方法的名称)可以把色情图片里的人体轮廓提取出来,由于同一个女主角可 以被摄像机从不同的角度拍摄,研究者还对提取出的轮廓进行了平移、转动、伸缩的数学变换。接下来,比对被测试的画面提取出的数据和几百张真正色情图片数学 变换提取出的信息,两者越接近就说明被测试的图片越可能是色情图片。这样就能让电脑来判定被测试的图片里,不和谐内容出现的概率大小。

提取图片里的人体轮廓。(图片来自原研究 )

提取图片里的人体轮廓。(图片来自原研究 )

而中科院自动化研究所的研究人员提出的方法里,为了识别电影里是否有限制级片段,可以先分析一下电影里是否含有限制级的声音。他们收集了592段 “声优”的声音片段,然后分析了这些声音信号的十几项参数。根据需要被测试的声音片段的各项参数与这些例子的接近程度,可以计算出一个声音片段是“限制级 声音”的概率,如果概率足够大,就要检查声音对应的视频画面有没有问题了。

错杀与漏放

在此类研究中,各个研究论文里都提到了作者测试了大量的样本,收集了包括几百部、上千部高清无码的片子和正常的片子(看来这一类研究做起来还是蛮有 意思的,工作之余还可以欣赏一下影片),有的研究识别准确率可以达到90%以上,不过电脑的人工智能还是经常有失手的时候,把正常的画面冤枉成AV画面, 或者让真正的“咸湿图片”漏网,市面上此类的软件也都不免有“看走眼”的问题。

比如下面三张图片就是此类软件算法出错的例子,让无辜的图片受冤屈。图片(a)(b)因为整张图片颜色“太黄”了,很像人皮肤的颜色,被电脑误判;图片(c)大老爷们光着膀子的画面让电脑来区分是否属于色情就颇有难度。此外,动物和雕像的图片也容易被错划入不健康图片。

让电脑迷惑的图片1(图片来自原研究 )

让电脑迷惑的图片1(图片来自原研究 )

与此相反,以下三张应该被处理掉的图片却因为背景颜色纹理过多或者清晰度不够高而漏网

让电脑迷惑的图片2(图片来自原研究 )

让电脑迷惑的图片2(图片来自原研究 )

由此可见,要想给视频和图片来个靠谱的自动分级,还需要让电脑更聪明才行。

PS: 相信以后计算机会在这个领域取得新的进展,不过至少目前的常用方法,还是通过征募一些有牺牲精神的壮士,进行人工鉴定来实现的。

PPS:当绿坝娘擦枪走火…… 你懂的,有图有真相。

http://img1.guokr.com/gkimage/7k/4j/9s/7k4j9s.png

参考资料:

  1. Fleck, Margaret M., David A. Forsyth, and Chris Bregler (1996) “Finding Naked People,” 1996 European Conference on Computer Vision

2. Haiqiang Zuo, Ou Wu, Weiming Hu, Bo Xu;RECOGNITION OF BLUE MOVIES BY FUSION OF AUDIO AND VIDEO 3.Wang, J. and Wiederhold, G. and Firschein, O;System for Screening Objectionable Images Using Daubechies' Wavelets and Color Histograms

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 开源中国社区 [http://www.oschina.net]
本文标题:计算机如何识别色情图片?
分享
评论(34)
最新评论
0
“小波分析”只是“波分析”的入门算法,更高进阶还有“中波分析”和“大波分析”。
0
“小波分析”(编者按:这只是一个数学方法的名称)。。。
0
图像识别的知识
0
以前好像看到过一篇报道,说 Facebook 上了微软研究院的一套叫做图像 DNA 之类的系统,用来识别 *儿童* 色情,识别率高达 99.x%。

连是不是儿童色情都能识别率这么高了,简单地分别是不是色情图片对现代算法来说貌似应该没啥难度了才对呀?
0
不错,好东西,
0
google搜索可以根据图片搜索相关新闻。
比如你拖放一张章子怡的图片到搜索框中按回车,就可以搜索到章子怡的相关新闻。类似于“人肉搜索”
0
这个 好
0
马赛克是阻碍人类发展的最大绊脚石
0
也有走火的时候,呵呵!
0

引用来自“mallon”的评论

毫无意义的研究

最有意义的回复
0
毫无意义的研究
0
该页面被卡巴斯基阻止了.........
0
台湾一个学校的硕士论文有序数,很明白的
0
能把纳税人的钱用到正道上吗
0
马赛克是阻碍人类发展的最大绊脚石
0
adaboost?那看图像库会看到流鼻血不?
0
图像识别啊,我正在研究这个呢
0
可恶的马赛克啊……
0
多拉A美!!
0

引用来自“星星点天灯”的评论

引用来自“leiRance”的评论

哈哈,这个图还蛮有看点的··

我就是来看图的!

虽然此图很模糊,但是仔细看的话还能看出些东西的~~~呵呵
顶部