我想在工厂中创建一个系统,用于测量生产线上物体的尺寸。这些物体是石板,大致为矩形,我需要测量它们的宽度和高度。每块石头都在相同位置用闪光灯拍摄,因此条件相当受控。棘手的是,石头的表面有时会有图案(通常是带有波纹和条纹的大理石),而且有时几乎是黑色的,与阴影混在一起。
我尝试过将每张图片与背景的参考图片相减,但由于光照和滚轴位置以及小型机械部件的微小变化,输出结果非常嘈杂。
我计划尝试的下一个方法是使用Canny边缘检测算法,然后使用某种数值优化方法(可能是Nelder-Mead)来匹配一个四边形到边缘。然而,在我自己开发之前,有没有在这种情况下效果不错的现有方法呢?
如果有帮助的话,可以用已知在石板内的图像块来“种子”算法(它们总是对齐在角落),以帮助识别其表面图案和颜色。如果需要,我也可以制作一组带注释的训练图像集。
背景和一些石板的样本图片如下:
回答:
你有没有尝试过现有的图像分割算法?
我建议从Vladimir Kolmogorov的图像分割最大流算法开始:http://pub.ist.ac.at/~vnk/software.html在他们的论文中,他们固定图像的某些区域属于特定段,这对你的问题有帮助,但可能不太清楚如何在软件中实现这一点。
Richard Socher的用于解析场景的深度学习算法也可能有帮助:http://www.socher.org/
Eric Sudderth在这里至少有一个有趣的视觉场景理解方法:http://www.cs.brown.edu/~sudderth/software.html
我实际上并没有使用过这些软件,这些软件大多,如果不是全部的话,都是用于研究的,而且不是特别用户友好。