图像的可训练“垃圾邮件过滤器”

时间:2015-07-06 06:52:13

标签: image algorithm filter spam training-data

我记得有人用垃圾邮件过滤器过滤图像,并提供了一些培训数据。

我完全需要这样的东西。

我有很多不同类型的图像(主要是人物,例如自拍,群像,肖像......)但我只想要某种类型(例如只有男性)。 使用正确的算法和训练数据,我认为可以将它传递到我可以将图像传递给它的位置,无论它是否与我的类型匹配,我都会得到真或假。

我看了几个面部/性别检测API,但它们都没有对我有用,这就是为什么我想尝试使用垃圾邮件过滤器的方法 - 这似乎是一个有趣的想法。

这就是我需要的:

  • 可训练的垃圾邮件过滤器算法/代码示例/ API
  • 必须离线工作
  • 最好是 C# Java

我已经花了几个小时尝试不同的事情和谷歌搜索,现在我在这里,我想得到你对这个问题和你认为合适的解决方案的意见。

1 个答案:

答案 0 :(得分:0)

您可以在此处阅读简单的图像比较算法:compareImages php class

基本上它的工作方式是:

它采用图像(裁剪后的图像最佳),将其缩小为8x8像素的图像,将其转换为BW /灰度图像,然后计算像素的平均值(这是平均值) )。

然后它遍历缩放图像的所有像素(64个像素),并且在像素的值> =平均值的每个像素中,它放置&#34; 1&#34;,并且如果像素值<&lt;平均值,它放置&#34; 0&#34;,产生64位&#34;签名&#34;值为0和1。

此签名值用于标识图像,然后您可以将此签名值保存在某种数据库中,因为您已经学会了#34;过滤

然后,如果电子邮件到达时带有一些图像..您可以裁剪它们,扫描它们,生成签名,并查看它是否与数据库中的任何已知签名相匹配。

这个算法的好处是:

  1. 它非常快速且可扩展(将图像缩小到8x8很快,按照描述扫描像素的速度也很快。)

  2. 因为它将图像转换为灰度&amp;将其调整大小,这意味着它可以检测到同一图像的任何颜色变化或大小。

  3. 因为您使用的是64位签名,所以它也不会占用您数据库中的大量空间。

  4. 希望这有帮助。