算法警告!该图片涉嫌违规不予显示

作者: AI科技大本营 | 来源:发表于2019-02-25 13:25 被阅读3次

作者 | 一一

出品 | AI科技大本营(ID:rgznai100)

一般看到头图,“老司机”立马心领神会,就会猜到这篇文章的主题大致与什么相关。

没错,今天的内容就跟“不可描述”的图片有关,但请别激动,也许没有福利:)

要介绍的项目名称叫 NSFW.JS,英文全称是 Not Safe/Suitable For Work,也就是说不适合工作场所使用。

这其实是一个基于 TensorFlow.js 的色情图片识别项目,说白了就是“审查”色情图片,它的好处是在本地即可识别,即使是那些你无法控制的网络不雅内容,也可以提前帮助进行防御,尤其在保护未成年人健康上网这一点上很有益处。

比如有的网站、或者 App 上,有用户总想尝试上传色情图片,而通过使用 NSFW.JS 则可以提前警告用户禁止上传,如果强行上传,则需要再通过人工审核。

又比如像微博、微信等 App 上卖片的僵尸账号比较泛滥,NSFW.JS 则可以对将要收到该信息的人发出警告,告知他们要查看的内容可能不合适,需要澄清一点,这并不需要服务器处理即可完成操作。

默认情况下,该 JS 库对图像进行分为了以下 5 类:

Drawing - 无害的艺术图画,包括动漫

Hentai - 色情艺术图,不适合大多数工作环境

Neutral - 安全、中性图片

Porn - 色情图片,性行为,通常涉及生殖器

Sexy - 性感图片,而非色情图片,包括乳头

以下是 Demo 展示,如果默认开启模糊保护,只有当 NSFW.JS 识别图片为 Drawing 和 Neutral 时的比例更高时,意味着可以通过审核进行展示,而将图片识别成其它三类图片的比例更高,图片则自动屏蔽。

当然,这是理想状态下的呈现结果,实际上,项目创建者也坦陈,NSFW.JS 现在并不完美,如果你进行测试就会发现,有一些显而易见的误识图片。

用于训练 NSFW 图像分类器的图像数据脚本集合,目前已在 GitHub 获得 8397 个 Star。

喏,数据集地址你:https://github.com/alexkimxyz/nsfw_data_scraper,还请善加利用:)

项目创建者认为,虽然目前的识别结果中会出现少量偏差,但通常还是很有趣。对于像 NSFW 这样的项目,他觉得目前召回率比精确度更重要,”误识率高一点也比让更危险的东西漏掉要好”。

话虽如此,但还是有掩饰识别准确度不高的嫌疑。创建者此前测试 15,000 个图像集的准确率大约 90%,不过,根据 AI科技大本营亲自测试,整体感觉是误识率较高。对于显而易见的色情图片,该项目识别时非常明了,不过介于“性感”和“色情”的黑色地带,就不太靠谱了,很容易误伤。

其中,以 AI科技大本营测试的二十多张 Monica Bellucci 图片为例,有很多明显不涉及色情的图片都被错误分类,将“性感照”甚至是普通照片分到了“色情”档。

相较而言,第一张图片明显漏胸面积更大,第二张明显是很普通的图片,却被分类为“Porn”了。

这两张图怎么就是“Porn”了......

更令人难以接受的或许是这样的图片被识别为“Porn”,脸都不能漏了?

目前来看,该项目的分类器模型还有很大的提升空间,尤其随着 data scraper 的改进,如果未来识别率有大幅提升,它应该会成为很有潜力的应用项目。这是一个缓慢但却是值得期待的过程。

如何使用NSFW.JS?

最后附上 NSFW.JS 的操作步骤,简单来说只需三步:

1、获取代码到位

2、在客户端上加载模型

3、对图像进行分类

项目创建者也在 GitHub 中给出了详细说明:

import*asnsfwjsfrom'nsfwjs'

constimg =document.getElementById('img')

// Load model from my S3.

// See the section hosting the model files on your site.

constmodel =awaitnsfwjs.load()

// Classify the image

constpredictions =awaitmodel.classify(img)

console.log('Predictions: ', predictions)

API

加载模型。出于多种原因,你应该使用可选参数并从你的网站加载模型。

constmodel = nsfwjs.load('/path/to/model/directory/')

参数

可选的 URL model.json

返回

准备使用 NSFWJS 模型对象

对图像进行分类

此函数可以使用任何基于浏览器的图像元素(,),并返回最可能的预测数组及其置信度。

// Return top 3 guesses (instead of all 5)

constpredictions =awaitmodel.classify(img,3)

参数

要检查的张量(Tensor)、图像数据、图像元素、视频元素或画布元素

要返回的结果数(默认全部都是 5)

返回

对象数组包含 className 和 probability。数组大小由 classify 函数中的第二个参数确定。

安装

NSFWJS 由 Tensorflow.JS 提供支持,作为peer dependency(同级依赖)。如果你的项目还没有 TFJS,则需要进行添加。

# peer dependency

$ yarn add @tensorflow/tfjs

# install NSFWJS

$ yarn add nsfwjs

你也可以进行下载和托管项目:

https://s3.amazonaws.com/nsfwdetector/min_nsfwjs.zip

相关链接:

github 链接:https://github.com/infinitered/nsfwjs

demo 测试地址: https://nsfwjs.com/ 

如果你对该项目感兴趣,可以安装试用,欢迎在评论区交流使用体验。

(本文为 AI科技大本营编译文章,转载请微信联系 1092722531;添加小助手微信csdnai2,备注研究方向,加入技术交流群)

相关文章

  • 算法警告!该图片涉嫌违规不予显示

    作者 | 一一出品 | AI科技大本营(ID:rgznai100) 一般看到头图,“老司机”立马心领神会,就会猜到...

  • 内容涉嫌违规无法显示

    我们坐在小网吧里,敲打着键盘,他带着微笑,深吸了一口气烟,吹了出去:“哥哥我这经历说出来你可能不信,但走这一趟,人...

  • 光荣躺枪

    今天发现,我在留言里附的图片被隐藏,说是涉嫌违规。有违规图片自然要痛下杀手,不能留情,我想大家也会支持的。可是我这...

  • 简书乌龙事件

    前两天收到消息,简书号被封了。说是涉嫌违规内容营销,这个理由让人觉得莫名其妙。 是哪篇文章涉嫌违规?什么词汇涉嫌违...

  • IT 培训周报 | 550家培训学校涉嫌违规办学,被责令整改

    550家培训学校涉嫌违规办学,被责令整改;编程猫宣布完成新一轮千万级融资。 550家培训学校涉嫌违规办学,被责令整...

  • 深度清理

    今天想打印一张图片,没想到电脑显示内存已满,图片无法正常打开。看着已经提示了很久的红色警告,意识到我的人生也到了该...

  • 一个人的成功是对家庭环境全方位的检验

    昨天一个亲戚,副厅级,因涉嫌违规违纪在某法院进行审判。从2006年当县长时开始到2018年某市厅官阶段涉嫌违规违纪...

  • 千里之堤毁于蚁穴:长城系的溃烂

    9月9日,据公告显示,因涉嫌信披违规,天目药业及其控股股东长城影视,双双被证监会浙江监管局实施行政监管。而这也不是...

  • 微信小程序开发问答-如何清除浮点数?

    1、微信小程序图片链接加入能正常显示,但是在控制台报错,可以不予理会吗? 如下图,图片正常 但是报错 具体错误为 ...

  • 2020-03-11 哈喽,麻烦先生你好。

    今天的公众号小白运营又遇到了麻烦先生:"公众号被用户投诉,涉嫌违规使用原创声明,违规内容已被取消原创标识。” 自己...

网友评论

    本文标题:算法警告!该图片涉嫌违规不予显示

    本文链接:https://www.haomeiwen.com/subject/bdowyqtx.html