【发布时间】:2011-09-22 16:02:22
【问题描述】:
我在多个国家/地区拥有一组文件,例如(身份证明、驾驶执照和护照等),因此我需要将它们分别归类,然后我可以对任何新文件进行分类 - 不在我的集合中 -在同类中。
文档可能会旋转或移动或两者兼而有之。 同一类的两个文档的文档颜色可能不完全相同。
最好的算法是什么?
【问题讨论】:
标签: c# .net artificial-intelligence
我在多个国家/地区拥有一组文件,例如(身份证明、驾驶执照和护照等),因此我需要将它们分别归类,然后我可以对任何新文件进行分类 - 不在我的集合中 -在同类中。
文档可能会旋转或移动或两者兼而有之。 同一类的两个文档的文档颜色可能不完全相同。
最好的算法是什么?
【问题讨论】:
标签: c# .net artificial-intelligence
问题不在于选择哪种分类算法,而是要了解分类问题中所有相关的隐藏维度。一旦您了解了所涉及的所有维度,您就可以使用任何一种分类算法来实现您想要的。
【讨论】:
正如其他人所提到的,这不是一个真正的分类问题。此外,由于您的项目可能会旋转、倾斜等,因此您确实应该对图像执行某种对象检测/特征分析。
我建议您查看perceptual hashing 或Speeded Up Robust Features (SURF)(如果您要处理大量旋转/倾斜,则更多是后者)。也就是说,我会将图像分解为无法识别的区域(例如,您将消除包含用户信息或他们的照片的区域)集中在具有大量匹配特征点的区域。
使用在特定 ID 类的所有实例中一致的区域,以便您的匹配分数更高,然后汇总您比较的所有部分以执行分类。
【讨论】:
分类算法有几十种,甚至上百种——基本上您要寻找的是聚类。
http://en.wikipedia.org/wiki/Cluster_analysis
要完成这项工作,您必须分析文档并将其归结为几个关键数字。这不一定是完美的集群才能工作。
因此,进行某种规范化(旋转所有文档以使文本是水平的)可能会很好,但也许不是。例如,如果一个关键分类号是基于整体颜色的——这对于任何轮换都是一样的。
【讨论】: