【问题标题】:Detecting forged images with C#?用 C# 检测伪造的图像?
【发布时间】:2009-11-09 11:25:02
【问题描述】:

我的一个朋友提出了一个有趣的问题 - 假设我们在系统中有一组图像。现在,有人可能会通过稍微修改任何已提交的图像来提交新图像,在这种情况下,系统应该报告提交的图像是伪造的图像。

我可以考虑两种解决方案。

解决方案 1 - 将每个输入图像与数据库中的给定图像进行图像比较(基于位图),可能是在将它们转换为灰度以应对颜色变化技巧之后,并将它们调整为标准尺寸之后。

解决方案 2 - 创建自组织地图并使用所有现有图像进行训练。如果有人提交了一张图片,如果它非常匹配,就举报它是伪造的。

可能不可能有一个准确率超过 90% 的系统。请分享您的想法/建议/解决方案。

经过几个答案后编辑:我已经有一个反向传播神经网络和一个基于 xml 的语言来在这里训练神经网络 - http://www.codeproject.com/KB/dotnet/neuralnetwork.aspx

我期待上述问题的具体答案。

谢谢

【问题讨论】:

    标签: c# .net algorithm image-processing


    【解决方案1】:

    好问题,但取决于您要编写多少代码。如果我镜像/翻转图像,剪切和粘贴图像怎么办。当你解决这个问题时,你也破解了大多数 CAPTCHA?

    如果您有大量的马力和编程工时,您可能需要查看 Forier Transformations 和 Historgams 来查找匹配项。这将识别翻转/镜像复制/粘贴。

    然后创建大量测试片段,例如单元测试(?),例如“可以在源代码中找到这个图像位”“当色调旋转时可以找到这个位”等等。

    非常开放的问题

    【讨论】:

    • 并非如此。我们正在谈论识别轻微的操作。比如,只修改照片中人物的脸。
    【解决方案2】:

    猜你可以从Image Recognition with Neural Networks开始。

    基本上,我认为它涵盖了您的解决方案 2 方法。至少您会找到有关神经网络以及如何训练它们的有用指南。

    【讨论】:

    • 实际上不是。那篇文章谈论的是前馈反向传播人工神经网络,而 OP 谈论的是自组织地图,这是一个非常不同的概念。
    • 好吧,我已经有一个反向传播神经网络和一种基于 xml 的语言来创建和训练反向传播神经网络 - codeproject.com/KB/dotnet/neuralnetwork.aspx - 正如布鲁诺所说,我说的是 SOM 网络。而codeproject中的AForge是SOM的一个很好的实现。寻找更详细的答案
    【解决方案3】:

    这里肯定需要在性能和准确性之间进行权衡。您可以使用神经网络,但可能需要先进行一些预转换:例如http://en.wikipedia.org/wiki/Image_registration。 有几种更有效的算法,例如直方图比较。查看维基百科上的分割文章:en.wikipedia.org/wiki/Segmentation_%28image_processing%29

    【讨论】:

      【解决方案4】:

      我认为最简单的解决方案是简单地将系统中已有的digitally watermark 图像隐藏起来,并在添加新图像时添加它们。

      添加新图像时,只需检查数字水印的痕迹。

      【讨论】:

      • 哎呀,刚刚澄清了一点问题。用户“现在,有人可能会通过稍微修改任何已提交的图像来提交新图像”
      【解决方案5】:

      无意冒犯,但这可能是“如果您只知道一把锤子,那么每个问题看起来都像钉子”之类的情况。人工神经网络并不是解决所有问题的好方法。如果您简单地计算存储图像和“伪造候选”之间的逐像素均方差,您可能可以更可靠地判断图像相似度。

      我还建议将所有图像的大小调整为例如50x50 像素并在比较它们之前执行直方图均衡。这样您就可以忽略图像大小调整和全局亮度对比度变化。

      【讨论】:

      • 当然,正如我所提到的,我们不能寻求 100% 的解决方案。该问题的目的是提出一种最合适的方法
      【解决方案6】:

      经过一些研究,我决定最好的方法是使用自组织地图 (SOM) 方法。

      这个想法是首先使用可用/有效图像对 SOM 网络进行自我训练,然后在插入新图像时,找到最近的图像,如果在阈值下找到匹配,则报告相同的图像。

      AForge 是一个出色的库,支持 SOM (http://code.google.com/p/aforge/)

      基本SOM信息here

      SOM 的好读物here

      【讨论】:

        猜你喜欢
        • 2022-06-10
        • 1970-01-01
        • 2011-02-08
        • 2012-01-04
        • 1970-01-01
        • 2019-11-27
        • 1970-01-01
        • 2013-10-20
        • 2021-04-27
        相关资源
        最近更新 更多