图像内容鉴黄算法综述

不单是涉黄图片评价标准的不一致,不同paper中,使用的涉黄图片识别数据集也各不相同【1】【2】。原因一方面在于,涉黄图片本身比较敏感,因法律法规问题通常不能公开在互联网中传播。另一方面,开源数据集对于涉黄图片的判别标准以及数据集本身的标注质量,数据质量都不尽如人意。这就使得不同识别方法之间不具有可比性。

如【图1】所示,在对涉黄图片进行识别时,当前所有的公开方法中,都是将涉黄图片的识别问题当作是图片分类问题来处理(这点于违规图片识别的方法一致)。但要注意到,相对于一般的分类问题(如:ILSVRC挑战赛中1k类的识别问题),涉黄图片分类时,类内之间样本的差异性要更为复杂。直接将一般的图片分类方法往涉黄图片识别领域迁移,能否得到好的结果,有待探究。

目前,国内外都已经出现比较成熟的商用的图片审核系统,如:腾讯云,网易云,阿里云上都有图片审核的API可供调用。开源的方法目前只看到有亚马逊开源的open_nsfw【3】

涉黄图片判别标准

比较早的时候,特别是互联网还未普及时,图片涉黄的评价指标非常简单。只需要看图片中是否出现人的裸体就可以了【5】。随着互联网的普及,图片数量越来越多,种类也越来越丰富。简单的看图片中是否出现裸体这样的指标已经不能有效的解决图片涉黄鉴定的问题。

目前,找不到公开的,或者是一致的定量标准来判定图片是否涉黄。所有关于图片是否涉黄的判断都是定性的描述。所有的paper在谈到自己所用数据集的评价标准时,无一例外都是一笔带过,没有详细的解释,确实非常令人困扰。

先给出两个色情的定义,自行体会:

Wiki上对Pornography的定义

Pornography(oftenabbreviatedporn)istheportrayalofsexualsubjectmatterfortheexclusivepurposeofsexualarousal.

百度词典对“色情”的定义

色情(拼音:sèqíng),是一个汉语词语,是指能挑起或激发起性欲的东西。本指色欲、情欲。后引申为透过文字、视觉、语言描绘或表现裸体、性器官、性交等,与性有关的形象,使观赏者产生性兴趣和性兴奋的事物。

通过对当前公开的资料和论文整理,我认为图片涉黄判定标准可以归纳为以下几方面:

表1

从【表1】中的信息可以看到,涉黄图片里包含的内容非常丰富。不同类别之间的差异性也非常大。一部分标准涉及人体器官,一部分标准涉及人的动作和行为,一部分标准涉及人与人之间的关系,还有涉及物品甚至于文本信息的。很显然,如果简单的将鉴黄理解成简单的porn/nonporn的二分类问题,显然不能很好的解决图片鉴黄的任务。

这几个标准中,关于性暗示的描述最为模糊。比如,如何定量“性诱惑”,“性挑逗”。这些往往是非常主观而且在不同国家地区差异性非常大的。因此,想要得到理想的图片涉黄识别数据集,需要训练一批经验丰富的数据标注人员。并且需要合理的设置正样本(SFW)。

涉黄图片识别开源项目和数据集

涉黄图片识别开源项目

目前,开源项目只有一个,来自yahoo的open_nsfw【3】:

该项目的数据集没有公开。将涉黄图片识别看作是一个二分类的任务(NSFW/SFW)。仅仅给出一个预训练好的模型(目前,只开源了阉割版本resnet50这一个模型),提供给爱好者们去做实验。官方建议是在预训练好的模型的基础上做finetune实现不同场景下的应用。

结论,参考意义不大。

涉黄图片识别开源数据集

PornographyDataset

这个数据集的作者来自UniversityofCampinas,Brazil(坎皮纳斯州立大学)。他们的研究组研究方向在于视频的理解。从2014年开始,他们有一系列的涉黄图像(包括图片和视频)识别的工作发表【1】。

图2Pornographydataset样本示例

“Non-Porn”又分成两部分,留意其中“difficult”部分。作者将"beach","wrestling","swimming"这3个不同场景下的视频视为hardexample。作者认为这些场景中出现的裸体,或者多人场景很容易被误认为是色情场景。

图3Pornographydataset数据构成(1)

在挑选“Porn”这一类型的视频时,作者有意识的选择不同肤色种族的人,以便数据集更具有代表性。

图4Pornographydataset数据构成(2)

这个数据集可以免费下载,但是需要签一个协议并且邮件作者来获取真正的数据地址。并且作者回复邮件速度非常快lol。

GithubProject:nsfw_data_scrapper

数据集一共划分为5个不同的类别,每个类别的判别标准如下:

作者在项目开始就有强调:“Disclaimer:thedataisnoisy-donotusetotrainaproductionmodelunlessyouwantnegativemediacoverage!”

这里透露出几个信息:(1)数据没有经过人工标注。(2)每个类别的图片多半是通过关键字检索得到的,精度不高。

因为数据集质量问题,后面给出的所谓acc这些指标其实没有多大的参考价值。而且,从【图5】可以看出,porn这个类别的图片数量要远远大于其他类别,类别间样本不均衡问题也比较显著。

图5每个类别图片数量

涉黄图片识别方法

涉黄图片识别方法的发展经历了以下3个阶段:

图6涉黄图片识别方法的发展

我们可以同时对比图像识别领域的方法演进(【图7】修改自【7】):

图7图像识别领域的方法演进

最早从事涉黄图片识别的工作,就是判断图片中是否出现人的裸体,而人的裸体最显著的特征就是图片色调偏暖(应该忽略了肤色问题)【图8】【6】,而且人体肤色占据图片大部分。所以,最早是以颜色特征作为识别涉黄图片特征【5】。后来,发现光颜色这一特征不够稳定,在颜色的基础上增加纹理特征来识别图片中是否出现人的躯体。通过识别颜色和人体两个维度判断图片是否涉黄。同时期在图像识别领域,识别图像基本上也是依靠如颜色,纹理这样的全局特征来对图像进行特征提取,载构造分类器对图片分类。

图8Flickr所有图片统计颜色直方图(左),Porn图片统计颜色直方图(右)

2003年出现的BOVW(BagofVisualWord)【9】以及2004年出现SIFT【8】使得图像的handcrafted特征由全局特征向局部特征演进。通过图像局部特征构建更为抽象的全图BOVW或者VLAN特征,再结合SVM分类器,成为这个时期图像识别领域的标准方法。这个时期的涉黄图像识别也是这个思路,具体的pipeline如下【图9】:

图9涉黄图像识别pipeline

不同的工作在于不同的提特征的方法和分类器之间的组合。看哪种组合能够获得更好的结果。

2012年大放异彩的CNN方法也同样惠及这个领域。2012年以后,基本上所有涉及涉黄图像识别的工作都在使用CNN方法来实现。

1996-FindingNakedPeople【5】

将涉黄图片检测分成两个步骤实现【图10】:(1)利用颜色信息,将图像中表示人体肤色的像素分割出来;(2)对于(1)中分割出来的部分,利用纹理信息构建人体躯干。利用人体躯干的拓扑结构识别分割部分像素是否是人体。是,则图片是涉黄图片;否则,是正常图片。

图10

2006-Largescaleimage-basedadult-contentfiltering【10】

Google出品,一般来说必属精品。采用了标准的涉黄图片识别pipeline【图9】来实现。

FeatureExtractor部分:

总共提取了18个特征作为一张图片的特征。

Classifier部分:

使用标准LIBSVM库搭建分类器,实现porn/nonporn的二分类。

2008-Bag-of-Visual-WordsModelsforAdultImageClassificationandFiltering【11】

图11数据集类别和每个类别标注标准

DOG+randompatch+PCA来代替SIFT(sift用灰度图,丢失颜色信息,而作者认为颜色信息对鉴黄极度重要,不然干嘛把“nudeperson”作为标注指标)。构建BOVW特征。

SVM或者log-linearmodels实现1vs.rest的分类。

2015-AComparativeStudyofLocalFeatureExtractionAlgorithmsforWebPornographicImageRecognition

图12

图13

2015-Applyingdeeplearningtoclassifypornographicimagesandvideos【13】

使用CNN做图片鉴黄最早的paper之一。只做porn/nonporn的二分类。数据集使用的是开源数据集【1】。

具体实现上,将imagenet数据集预训练好的AlexNet和GoogleNet直接在自己的数据集上做finetune。测试的时候,将两个模型的输出结果做投票得到最终的分类结果【图14】。

图14AGNet结构

如【图14】,所谓ANet就是AlexNet,而GNet就是GoogleNet。这两个模型分别finetune。

2016-BootstappingDeepFeatureHierarchyForPornographicImageRecognition【14】

图15

图16

而且在训练的时候,增加了在线的hardnegativemining,增强模型的训练。

可以从【图17】看到,融合的中间层越多,识别的效果越好;

图17

2017-AdultImageandVideoRecognitionbyaDeepMulticontextNetworkandFine-to-CoarseStrategy【15】

图18SensitiveDataset示例

网络结果如【图19】,最底层是一般的分类网络结构;最上层是经典的物体检测网络Faster-RCNN,中间部分有点SSD的影子在。总之,就是结合local和global的信息,实现图片鉴黄。模型最终输出3个类别:

图19

所谓“fine-to-coarse”就体现在losslayer到最终输出的这部分。网络的每一个branch都是单独训练的,先训练globalcontext部分获得basemodel。然后再训练其他两个branch。训练local和cross-context这两个branch,只针对一部分类别(性器官,敏感部位)做detection的训练。

最终输出类似一个一层的maxout的网络【图20】,直接将3个branch的输出做了融合,完成“fine-to-coarse”操作:

图20

挑战

图片鉴黄最大的挑战还是在于数据集和数据集评价指标的统一问题。到目前为止,各个不同的方法比较来比较去,都是在不同的数据集上进行,几乎不具备可比性。而且,不同研究者之间的数据也不公开。所以,在这个方向想要找到或者产出特别好的paper挺不容易。

参考文献

4.Moreira,Det.al.,“Pornographyclassification:Thehiddencluesinvideospace-time”.(2016)

5.MargaretFleck,“FindingNakedPeople”.(1996)

6.RiesChristianXet.al.,“Asurveyonvisualadultimagerecognition”.(2012)

7.LiangZhenget.al.,“SIFTMeetsCNN-Adecadesurveyofinstanceretrieval”,(2017)

8.D.G.Loweet.al.,“Distinctiveimagefeaturesfromscale-invariantkeypoints”,(2004)

9.J.SivicandA.Zisserman,“Videogoogle:Atextretrievalapproachtoobjectmatchinginvideos”,(2003)

10.HenryA.Rowleyet.al.,“Largescaleimage-basedadult-contentfiltering”,(2006)

11.ThomasDeselaerset.al.,“Bag-of-Visual-WordsModelsforAdultImageClassificationandFiltering”,(2008)

12.ZhenGenget.al.,“AComparativeStudyofLocalFeatureExtractionAlgorithmsforWebPornographicImageRecognition”,(2015)

13.MohamedN.Moustafaet.al.,“Applyingdeeplearningtoclassifypornographicimagesandvideos”,(2015)

14.KaiLiet.al.,“BootstappingDeepFeatureHierarchyForPornographicImageRecognition”,(2016)

15.Ou,Xinyuet.al.,“AdultImageandVideoRecognitionbyaDeepMulticontextNetworkandFine-to-CoarseStrategy”,(2017)

16.YiHuanget.al.,“UsingaCNNEnsembleforDetectingPornographicandUpskirtImages”,(2016)

THE END
1.通过机器学习让图像识别更精准更快速机器视觉是一种利用计算机系统分析和理解数字图像内容的手段。这项技术结合了计算机科学、电气工程和认知科学等多个领域,以模仿人类视觉系统工作原理来解析图片中的对象特征,从而能够执行诸如物体检测、分类以及跟踪等任务。 三、传统方法与挑战 传统图像处理算法依赖于手工设计的人类智慧,这限制了它们适应新环境或新类型数https://www.wbhgwbnd.com/ji-qi-ren/861790.html
2.图像识别算法都有哪些方法图像识别算法都有哪些方法 图像识别算法是计算机视觉领域的核心任务之一,它涉及到从图像中提取特征并进行分类、识别和分析的过程。随着深度学习技术的不断发展,图像识别算法已经取得了显著的进展。本文将介绍图像识别算法的主要方法,包括传统方法和基于深度学习的方法。https://www.elecfans.com/d/4033152.html
3.图像图像识别经典算法图像识别算法特征提取:从图像中提取有助于分类的特征。 模型训练:使用特征和标签数据集训练模型。 预测与分类:利用训练好的模型对新图像进行分类。 二、经典图像识别算法 1. Haar-like Features + AdaBoost (Viola-Jones) Viola-Jones算法是人脸检测领域的里程碑,它结合了Haar-like特征和AdaBoost算法。Haar-like特征简单且计算https://blog.csdn.net/yuzhangfeng/article/details/140436315
4.图像识别算法起源图像识别主流算法卫斯理的技术博客在图片识别方面,人工神经网络是应用最广泛、最有效的技术。神经网络同时执行许多数学过程,神经网络是面部识别系统的基础。 算法执行三个主要功能:识别图像、视频或实时流中的人脸;创建人脸的数学模型;并将模型与训练集或数据库进行比较以确认一个人的身份。 https://blog.51cto.com/u_12207/10760565
5.图片文字识别的算法分类算法中的难例图片判断华为云帮助中心为你分享云计算行业信息,包含产品介绍、用户指南、开发指南、最佳实践和常见问题等文档,方便快速查找定位问题与能力成长,并提供相关资料和解决方案。本页面关键词:图片文字识别的算法。https://support.huaweicloud.com/topic/306993-1-T
6.基于深度卷积神经网络的物体识别算法以上物体检测的方法都只是利用RGB彩色信息,而没有利用深度信息。由于深度数据具有光照和颜色不变性,并且能提供彩色数据不能提供的几何信息,对深度数据提取额外的特征将大幅提升视觉算法的性能。华盛顿大学Lai等[9]创建了一个RGB-D物体数据库用于验证物体识别算法。这个数据库既包含彩色图片又包含对应的深度信息,分别约为https://html.rhhz.net/jsjyy/2016-12-3333.htm
7.图像识别算法有哪些图像识别十大经典算法图像识别是计算机视觉领域中的一个重要分支,它旨在让计算机能够理解和识别图像。下面将介绍一些常见的图像识别算法。 1.图像分类 图像分类是指将一张图像分类到不同的类别中。常用的图像分类算法包括卷积神经网络(CNN)、支持向量机(SVM)等。 2.目标检测 https://www.eefocus.com/e/518039.html
8.三年磨一剑——微信OCR轻松提取图片文字ocr算法文本行图6 长按图片分类标签体系 3. 通用OCR识别 (1)文本检测 常用的基于深度学习的文本检测方法一般可以分为基于回归的、基于分割的两大类,当然还有一些将两者进行结合的方法。 图7 常用文本检测算法 基于回归的方法分为 box回归和 像素值回归。 采用box回归的方法主要有CTPN、Textbox系列和EAST,这类算法对规则形状文https://dy.163.com/article/G5NTLL1U0518R7MO.html
9.秒懂算法基于主成分分析法随机森林算法和SVM算法的人脸识别本文的任务与手写数字识别非常相似,都是基于图片的多分类任务,也都是有监督的。 01、数据集介绍与分析 ORL 人脸数据集共包含 40 个不同人的 400 张图像,是在 1992 年 4 月至 1994 年 4 月期间由英国剑桥的 Olivetti 研究实验室创建。 此数据集下包含 40 个目录,每个目录下有 10 张图像,每个目录表示一个https://xie.infoq.cn/article/ca9d988d0f70305993976225a
10.给照片穿上“隐身衣”,最强人脸识别算法也失灵!业界推出最新AIFawkes ,已经让旷视、微软、亚马逊等公司的面部识别算法失灵。 来自芝加哥的调查团队称。Fawkes的正是为照片添加防识别“隐身衣”的AI软件,经检测,它已经在最先进的面部识别技术中取得了百分百的胜利。 我们先来看一组图片。 相信你很难看出两组照片有任何差别。事实上,后者已经过了Fawkes处理,并能够屏蔽任何人脸识别https://www.leiphone.com/category/industrynews/AZf9RS8Y63Uvxi2j.html
11.有哪些免费图片转word软件APP推荐有哪些免费图片转word软件下载豌豆荚有哪些免费图片转word软件榜单为您提供最新有哪些免费图片转word软件大全,这里不仅有有哪些免费图片转word软件安卓版本APP、历史版本应用下载资源,还有类似有哪些免费图片转word软件的应用推荐,欢迎大家前来豌豆荚下载。https://www.wandoujia.com/bangdan/395418/
12.基于改进残差网络的扬尘图像识别方法由于扬尘图像识别目前没有公开的数据集. 因此,通过在互联网上收集各类有关扬尘场景的图片, 整理形成训练集和测试集, 然后使用数据增强在训练集和测试集中生成更多的数据, 解决了该研究中没有数据集以及数据量不足的问题. 为了增强模型的泛化能力, 采用数据增强的操作扩充所需的数据样本, 让网络模型更好的适应各种应https://c-s-a.org.cn/html/2021/5/7909.html
13.深入解析机器学习核心概念分类特征有时称为离散特征。 与数值数据相对。 形心(centroid) 聚类的中心,由k-means或k-median算法决定。例如,如果 k 为 3,则 k-means 或 k-median 算法会找出 3 个形心。 检查点 (checkpoint) 一种数据,用于捕获模型变量在特定时间的状态。借助检查点,可以导出模型权重,跨多个会话执行训练,以及使训练在发生https://www.360doc.cn/article/7673502_976517820.html