我正在开发的一个开发人员正在开发一个程序来分析路面图像,以找到路面裂缝.对于他的程序找到的每个裂缝,它会在一个文件中生成一个条目,告诉我哪些像素组成了特定的裂缝.他的软件有两个问题:
1)它产生几个误报
2)如果他发现裂缝,他只能找到它的一小部分,并将这些部分表示为单独的裂缝.
我的工作是编写能够读取这些数据,分析数据并告知误报和实际裂缝之间差异的软件.我还需要确定如何将裂缝的所有小部分组合在一起.
我已经尝试了各种方法来过滤数据以消除误报,并且已经使用神经网络在有限的成功程度上将裂缝组合在一起.我知道会有错误,但截至目前,存在太多错误.有没有人对非AI专家有任何见解,以了解完成任务或了解更多信息的最佳方法?我应该阅读什么类型的书,或者我应该选择什么样的课程?
编辑我的问题更多的是关于如何注意我的同事数据中的模式并将这些模式识别为实际裂缝.这是我所关注的更高级逻辑,而不是低级逻辑.
编辑实际上,至少需要20个样本图像来准确表示我正在使用的数据.它变化很大.但我在这里,这里和这里都有一个样本.这些图像已经由我的同事处理.红色,蓝色和绿色数据是我必须分类的(红色代表暗裂纹,蓝色代表轻微裂纹,绿色代表宽/密封裂纹).
除了有关图像处理的有用评论之外,听起来您还在处理集群问题.
聚类算法来自机器学习文献,特别是无监督学习.顾名思义,基本思想是尝试在一些大型数据集中识别数据点的自然集群.
例如,下图显示了聚类算法如何将一堆点分组为7个聚类(由圆圈和颜色表示):
k-means http://natekohl.net/media/k-means.png
在您的情况下,聚类算法将尝试重复合并小裂缝以形成更大的裂缝,直到满足一些停止标准.最终结果是一组较小的连接裂缝.当然,裂缝与二维点略有不同 - 在这里使聚类算法工作的一部分技巧将是定义两个裂缝之间的有用距离度量.
流行的聚类算法包括k-means聚类(演示)和层次聚类.第二个链接也有一个很好的逐步解释k-means如何工作.
编辑:菲利普斯的一些工程师的这篇论文看起来与你想要做的事情相关:
Chenn-Jung Huang,Chua-Chin Wang,Chi-Feng Wu," 用于晶圆缺陷簇识别的图像处理技术 ",IEEE计算机设计与测试,第一卷.19,没有.2,pp.44-48,2002年3月/ 4月.
他们正在对硅晶片上的缺陷进行目视检查,并在使用最近邻聚类算法检测缺陷之前使用中值滤波器去除噪声.
以下是他们引用的一些相关论文/书籍可能有用:
M. Taubenlatt和J. Batchelder," 使用空间过滤进行集群环境的图案化晶圆检测 ",Applied Optics,vol.31,不.1992年6月17日,第3354-3362页.
F.-L. 陈和S.-F. Liu," 用于识别半导体制造中缺陷空间模式的神经网络方法 " ." IEEE Trans.半导体制造,第一卷.13,不.3,2000年8月,第366-373页.
G. Earl,R.Johnsonbaugh和S. Jost,Pattern Recognition and Image Analysis,Prentice Hall,Upper Saddle River,NJ,1996.