我目前正在为客户开发一个网站。它包括用户能够上传图片以显示在网站的图库中。
我们遇到的问题是,当用户上传图片时,显然需要对其进行验证,以确保其对网站是安全的(没有色情或露骨图片)。但是,我的客户不希望手动接受每个正在上传的图像,因为这会非常耗时,并且用户的图像不会立即联机。
我正在用PHP编写代码。如果需要,我可以改为ASP.net或C#。有什么方法可以做到这一点吗?
答案 0 :(得分:13)
有一个名为 nude.js 的JavaScript库,虽然我从未使用它。 Here is a demo正在使用它。
还有 PORNsweeper 。
另一种选择是使用像 Amazon Mechanical Turk 这样的“外包”审核工作,这是一个众包平台,“使计算机程序能够协调人类的使用智能执行计算机无法执行的任务“。因此,您基本上会为每个审核项目支付少量费用,并拥有一个外包的实际人员来为您调整内容。
我能想到的唯一其他解决方案是让图片用户审核,用户可以在其中标记不适当的帖子/图片以进行审核,如果没有人想要手动调节它们,可以在一定数量的标志后删除它们。
以下是关于该主题的一些其他有趣链接:
答案 1 :(得分:1)
有一个免费的API可以检测成人内容(色情,裸露,NSFW)。
https://market.mashape.com/purelabs/sensitive-image-detection
我们已经在我们的生产环境中使用它,我想它到目前为止工作得很好。但是有一些错误的检测,如果他们不确定,他们似乎更愿意将图像标记为不安全。
答案 2 :(得分:1)
如果您正在寻找基于API的解决方案,可以查看Sightengine.com
这是一种自动化解决方案,用于检测图像和视频中的成人内容,暴力,名人等内容。
这是PHP中的一个示例,使用SDK:
<?php
$client = new SightengineClient('YourApplicationID', 'YourAPIKey');
$output = $client>check('nudity')>image('https://sightengine.com/assets/img/examples/example2.jpg');
输出将返回分类:
{
"status": "success",
"request": {
"id": "req_VjyxevVQYXQZ1HMbnwtn",
"timestamp": 1471762434.0244,
"operations": 1
},
"nudity": {
"raw": 0.000757,
"partial": 0.000763,
"safe": 0.999243
},
"media": {
"id": "med_KWmB2GQZ29N4MVpVdq5K",
"uri": "https://sightengine.com/assets/img/examples/example2.jpg"
}
}
查看文档了解更多详情:https://sightengine.com/docs/#nudity-detection (免责声明:我在那里工作)
答案 3 :(得分:0)
这一切都取决于你正在寻找的准确度,简单的肤色检测(如nude.js)可以让你在一个慷慨的样本集上获得60-80%的准确度,对于任何比这更准确的东西,让&# 39;据说90-95%,您将需要一些专门的计算机视觉系统,其中包含随着时间推移而修订的不断发展的模型。对于后者,您可能需要查看http://clarifai.com或https://scanii.com(我工作)
答案 4 :(得分:0)
下面的示例并没有给出100%准确的结果,但它应该对您有所帮助,并且开箱即用。
<?php
$url = 'http://server.com/image.png';
$data = json_decode(file_get_contents('http://api.rest7.com/v1/detect_nudity.php?url=' . $url));
if (@$data->success !== 1)
{
die('Failed');
}
echo 'Contains nudity? ' . $data->nudity . '<br>';
echo 'Nudity percentage: ' . $data->nudity_percentage . '<br>';
答案 5 :(得分:0)
Microsoft Azure有一个非常酷的API,名为计算机视觉,您可以免费使用(通过UI或以编程方式),并且有大量文档,including for PHP。
它有一些非常准确(有时是幽默)的结果。
在检测成人和“活泼”材料之外,它会阅读文字,猜测你的年龄,识别原色等等。
您可以在 azure.microsoft.com 上试用。
来自“活泼”图片的示例输出:
FEATURE NAME: VALUE:
Description { "tags": [ "person", "man", "young", "woman", "holding",
"surfing", "board", "hair", "laying", "boy", "standing",
"water", "cutting", "white", "beach", "people", "bed" ],
"captions": [ { "text": "a man and a woman taking a selfie",
"confidence": 0.133149087 } ] }
Tags [ { "name": "person", "confidence": 0.9997446 },
{ "name": "man", "confidence": 0.9587285 },
{ "name": "wall", "confidence": 0.9546831 },
{ "name": "swimsuit", "confidence": 0.499717563 } ]
Image format "Jpeg"
Image dimensions 1328 x 2000
Clip art type 0
Line drawing type 0
Black and white false
Adult content true
Adult score 0.9845981
Racy true
Racy score 0.964191854
Categories [ { "name": "people_baby", "score": 0.4921875 } ]
Faces [ { "age": 37, "gender": "Female",
"faceRectangle": { "top": 317, "left": 1554,
"width": 232, "height": 232 } } ]
Dominant color background "Brown"
Dominant color foreground "Black"
Accent Color #0D8CBE
答案 6 :(得分:0)
我发现自己最近需要一个系统来检测成人内容。
我最终构建了this project,这是一个可以轻松部署到Herkou(或任何可以运行docker容器的东西)的API,并允许您为成人内容评分图像。
它基于open_nsfw的开源模型,该模型已经过训练,可以检测出不适合工作图像。上面的项目基本上是在open_nsfw之上的python API,可以部署了。