使用卷积神经网络检测四边形/矩形的想法

Eis*_*eim 5 object-detection computer-vision neural-network deep-learning

数周以来,我一直在尝试进行四边形检测和定位,我的目标是有一种强大的方法来获取四边形(矩形)的 4 个点,因此我可以将投影变换应用于图像,然后将其附加到源图像. 我尝试过经典的 opencv 轮廓方法,并且还使用霍夫变换来查找线然后计算交点,这两种方法在将其应用于现实生活图像时是不可用的。 四边形检测

所以我转向 CNN 寻求帮助,但目前我还没有找到任何人尝试使用 CNN 来解决这个简单的问题。

我的第一次尝试是使用最先进的对象检测和定位方法来获得四边形的边界框,以便我可以缩小 4 个点的搜索范围,然后使用图像处理和计算机视觉方法进一步搜索 4 个点。但是尝试了YOLOv2和Faster-RCNN后,预测准确率并不理想。

所以我想知道是否有任何想法我可以使用单个神经网络进行端到端的训练和前馈。它还必须能够合理地处理遮挡。

目前我的想法是移除 fc 层并制作一个与第一个输入层具有相同宽度和高度的巨大激活图(例如 448x448),然后优化 4 个最高激活区域,使用 argmax 来获取位置。但这种方法只适用于一个四边形,它也不适用于角遮挡。

如果有人可以提供任何建议,我将不胜感激。非常感谢!

Sem*_*maz 5

您提到的第一种方法是完全正确的。霍夫变换之类的方法很旧,对于野外图像没有用处。当然,随着深度学习的兴起,计算机视觉领域转向了目标检测和识别。

然而,最近出现了一个非常好的讨论。 我们是否忘记了计算机视觉中的几何?

我的建议是轮廓检测,然后应用霍夫变换(使用最先进的)方法来检测您想要的矩形,关于遮挡,您可以设置霍夫变换的参数,以便对带有参数的丢失边缘像素更加宽容。例如,您可以检查最新的轮廓检测方法,如最近的CVPR 论文中所示。

  • 感谢您的回答,您提供的 CVPR 论文非常有帮助。我发现有人在做[类似的事情](http://fengjian0106.github.io/2017/05/08/Document-Scanning-With-TensorFlow-And-OpenCV/):“名片扫描”找到4点,他们面临着同样的问题,他们的解决方案是先使用截断的VGG网络来优化边缘检测,结果还不错,我应该尝试新的轮廓方法和新的边缘方法。 (3认同)