比较用于过滤淫秽内容的最佳API

对用于过滤各种类别(例如裸露,色情和解剖)图像的多个API进行全面测试。



一个人立即意识到某个图像是不合适的,即NSFW(不安全工作)。 但是对于人工智能,一切还不是很清楚。 现在,许多公司都在尝试开发有效的工具来自动过滤此类内容。

我想了解当前的市场状况。 在以下类别中比较现有图像过滤API的有效性:

  • 裸露裸体
  • 暗示性裸露(即暗示完全裸露-大约Per​​。)
  • 色情/性交
  • 模仿/色情动画
  • 肢解(受伤)/暴力

Tl; DR:如果您只想找到最好的API,则可以立即转到本文结尾处的比较。

实验条件


数据集 。 为了进行评估,我在每个NSFW子类别中收集了具有相等数量图片的NSFW数据集。 数据集包括120个图像,其中提到的五个类别中的每个类别都有20个正NSFW图像和20个SFW图像。 我决定不使用公开提供的YACVID 180,因为它主要基于使用裸露来衡量NSFW内容。

收集NSFW图片非常繁琐;这是一个非常漫长且完全痛苦的任务,这解释了少量图片。

该数据集可在此处下载。 [警告:包含明确的内容]

表列出了数据集中每个API和每个图像的原始结果。

指标


每个分类器均根据公认的指标进行评估:

真正正面:TP


如果分类程序调用NSFW,而实际上是NSFW。

真阴性:TN


如果分类程序调用的是SFW,则实际上是SFW。

误报:FP


如果分类器称为NSFW,则实际上是SFW。

假阴性:FN


如果分类程序调用了SFW,但实际上是NSFW。



准确度


如果模型做出预测,是否可以信任?

准确度


如果模型说图像是NSFW,那么正确的预测频率是多少?

召回


如果所有样本均为NSFW,则可识别多少?

F1分数


它是错误和召回的混合,通常类似于准确性。



评估了以下用于内容审核的API:


业绩分类


首先,我对所有NSFW类别的每个API进行了评分。

色情/性爱


Google和Sightengine API在这里确实很棒。 他们是唯一能够正确识别所有色情图片的人。 Nanonets和Algorithmia的得分为90%,略为落后。 Microsoft和Imagga在此类别中表现最差。





易于识别的图像显然是色情的。 所有API都能正确识别上图。 他们中的大多数人非常有信心地预测了NSFW。



难以识别图像包含部分闭合或模糊的物体,这使其难以工作。 在最坏的情况下,每12个系统中就有11个错误的图像。 识别色情内容的效果非常不同,具体取决于色情内容的强度和可见程度。

裸露裸体


大多数API在该类别中的许多图像上都表现出令人惊讶的出色表现,检测率为100%。 即使是性能最低的API(Clarifai和Algorithmia)也显示了90%。 裸露的定义一直是辩论的主题。 从结果可以看出,当映像可能仍为SFW时,系统通常会在可疑情况下发生故障。





在简单的图像中,明显的裸露清晰可见。 毫无疑问,任何人都将它们称为NSFW。 没有一个API犯了一个错误,平均分数为0.99。



在有争议的图片上,API是错误的。 可能是因为它们每个都有灵敏度设置。

暗示性裸体


Google再次以100%的检测率获胜。 Sightengine和Nanonets的性能分别为95%和90%,优于其他引擎。 自动化系统几乎可以像识别露骨一样容易地发现暗示性裸体。 他们在通常看起来像SFW的照片中犯了一个错误,只有很少的裸露迹象。





同样,在显式NSFW映像上没有将API弄错。



在暗示性的暗示下,API有所不同。 和纯粹的裸体一样,他们有不同的容忍阈值。 我自己不确定是否可以识别这些SFW图片。

模仿/色情动画


所有API在这里的表现都非常出色,并发现了100%模仿色情的例子。 唯一的例外是Imagga,它遗漏了一张图像。 我想知道为什么API在此任务上能很好地工作吗? 显然,与自然图像相比,算法更容易识别人工创建的图像。





所有API均显示出色的结果和高置信度。



如果您长时间不看,唯一被误认为是Imagga的图像可以解释为不是色情。

解剖


这是最困难的类别之一,因为通过API的平均检测效率不到50%。 Clarifai和Sightengine通过正确检测此类别中的100%图像,胜过了竞争对手。





这些API最好地处理了医学图像,但即使12个系统中有4个也犯了最轻的错误。



困难的图像没有共同之处。 但是,人们会很容易将这些图片称为血腥的。 这可能意味着效率低下的原因是缺乏可用的训练数据。

安全图片


无法识别为NSFW的图像被认为是安全的。 数据收集本身很困难,因为这些图像必须接近NSFW才能欣赏API。 可以争论所有这些图像是否都是SFW。 在这里,Sightengine和Google表现最差,这说明了它们在其他类别中的出色表现。 他们只是称呼所有可疑的NSFW图片。 另一方面,Imagga在这里做得很好,因为它没有命名NSFW。 X-主持人也表现出色。




原始图片链接: SFW15SFW12SFW6SFW4

易于识别的图像上只显示了小块皮肤,人们可以轻松地将它们识别为SFW。 只有一两个系统错误地识别了它们。


链接到原始图像: SFW17SFW18SFW10SFW3

所有难以识别的SFW图像都显示出较大的皮肤或动漫区域(系统倾向于考虑动漫色情内容)。 大多数API将大面积图像视为SFW。 问题是,这是SFW吗?

一般比较


通过查看API在所有NSFW类别中的有效性以及它们在正确识别SFW中的有效性,我们可以得出结论,即F1的最佳结果和Nanonets系统的最佳平均准确性:它在所有类别中均稳定运行。 Google系统在NSFW类别中显示出非常好的结果,但是通常将安全图像标记为NSFW,因此它在F1指标上获得了不错的成绩。







由开发商


我比较了前5个系统的准确性和F1得分,以评估其性能差异。 花瓣图的面积越大,效果越好。

1.纳米网


Nanonets系统在任何类别中都没有排名第一。 但是,这是最平衡的解决方案。 您仍然可以使用的最弱点是SFW的识别精度。 他对身体的任何裸露区域都过于敏感。



2. Google


Google在大多数NSFW类别中是最好的,但在SFW检测中却是最差的。 我想指出的是,我是通过Google进行测试的样本,也就是说,她“应该知道”这些图像。 这可能是大多数类别中确实表现出色的原因。



3. Clarifai


Clarifai在确定肢解方面确实很出色,在大多数其他API之前,该系统也很平衡,并且在大多数类别中都运行良好。 但是她在识别暗示性裸体和色情内容方面缺乏准确性。



4. X版主


X-Moderator是另一个平衡良好的API。 除了解剖外,他还清楚地指出了大多数其他类型的NSFW。 确定SFW的准确性为100%,这使该系统与竞争对手区分开来。



5.视觉引擎


像Google一样,Sightengine系统在识别NSFW方面显示了近乎完美的结果。 但是,她没有看到解剖的单个图像。



价钱


选择API的另一个标准是价格。 下面比较所有公司的价格。 大多数API提供了有限用途的免费试用版。 Yahoo是唯一完全免费的API,但需要单独托管,此表未包含该API。



亚马逊,微软,Nanonets和DeepAI的最低价格为每月1000美元,可调用一百万个API。

最好的内容审核API是什么?


NSFW内容的主观性质使得难以确定获胜者。

对于一般主题的社交媒体,它更着重于内容的分发并且需要一个平衡的分类器,我更喜欢分类器使用F1最高评分的Nanonets API。

如果该应用程序是针对儿童的,我将是安全的,即使在丢失某些常规内容的情况下,也可以选择Google API以使其在NSFW的所有类别中都具有示范作用。





NSFW到底是什么?




在这个问题上花了很多时间后,我意识到了一件关键的事情:实际上,NSFW的定义非常模糊。 每个人都有自己的定义。 可以接受的内容-很大程度上取决于您所提供的服务。 在约会应用程序中可以接受部分裸体,但不能在婴儿床上使用。 相反,在医学杂志上。 真正的灰色区域是暗示性的裸露内容,无法获得正确的答案。

Source: https://habr.com/ru/post/zh-CN431628/


All Articles