图像过滤不安全的图像

时间:2011-08-16 18:52:31

标签: php image filter detection

现在,我有一个抓取图片的网站。根据他们是否允许不安全(18+)图像的偏好来提供图像。

现在我们自己整理图像,因为我们每天都会收到很多图像,所以需要很长时间。

我知道谷歌做得很好。

我只想要整理性和色情性质的图像。比基尼的女孩很好。

我有一个想法,程序会在图像中搜索我不想显示的图像模式。例如,搜索私有的图像,然后如果找到模式,则将其标记为不安全。

我想知道php中是否有任何可用于执行此操作的程序或算法?

2 个答案:

答案 0 :(得分:1)

我假设你想要根据图像内容进行过滤,而不是上下文(例如图像周围的单词)。

这是一个非常激烈的人工智能。您需要训练算法,以便“学习”不安全图像的样子。这是一篇关于这个主题的好文章:http://www.stanford.edu/class/cs229/proj2005/HabisKrsmanovic-ExplicitImageFilter.pdf

答案 1 :(得分:1)

尽管SimpleCoder的解决方案比这更复杂,我仍然建议手动调节图像。除非你花费数千美元制作一些非常先进的算法,否则你总会有误报和否定。就像一个小实验,我去了http://pikture.logikit.net/Demo/index并上传了8张图片。 6个是干净的,2个是明确的。在两个显式图像中,一个被错误地标记为干净。在六个干净的图像中,有四个被错误地标记为显式。请注意,我故意试图通过选择我认为计算机会混淆的图像来欺骗它,事实证明这很容易。他们的计划得分仅为37.5%。

以下是一些建议,至少应该让主持人的生活更加轻松,并且不应该以编程方式实施太难:

1)获取所有当前被拒绝的图像(如果可能)并散列文件并将散列存储在数据库中。在他们进入时散列所有新提交的内容并根据已存在的哈希验证哈希。如果找到匹配项,则自动标记它。当管理员手动拒绝图像时,也将此哈希值添加到数据库中。这至少可以防止您重新标记重复项。

2)如果在该域上的任何文件中找到任何显式内容,则将$ isPornScore的权重添加到来自整个域的所有图像。对于来自一个域的多次出现,可能会给予更多权重。与对这些域上的图像进行热链接的域类似。

3)检查域名本身。如果它包含显式语言,请添加到$ isPornScore。同样应该对图像和包含锚标记的页面(如果不同)的URI进行相同的操作。

4)检查图像周围的文字。即使这不是100%准确,如果你在页面的某个地方有一个明显的“农场性别与三个女人和......”,你至少可以增加该页面(或域)上所有图像的重量明确的。

5)使用您可以使用的任何其他技术或标准,并对图像应用整体“分数”。然后使用您自己的判断和/或反复试验,如果分数高于某个数额,则自动将其标记为显式并标记它。尝试在误报之间达到可接受的平衡,无论标记图像的标记成本是多少。如果它未自动标记为显式,则仍需要主持人介入。