我需要检测照片中的对象(硬币(,即在其周围绘制一个矩形。我试过Mark RCNN、Retina、Yolo、SSD,结果都一样。矩形并不完美。如果你看看网上的例子,你会明白我的意思:看看图片在本文提供的图片中,您可以看到所提出的矩形";切割";对象,将其一部分留在外部,而在其他一些地方,在对象和矩形之间留下了太多空间。
我的问题是:如果我的训练数据是准确的,我如何才能得到一个精确的矩形?任何微调技巧,不同的方法,链接-任何东西都将受到赞赏。非常感谢。
一种可能的方法(不用说,但这只是一种方法,不知道这是否足以解决您的特定问题(
从本质上讲,将经典技术作为NN步骤之后的后处理步骤。
- 从网络中获取硬币的大致位置
- 过度裁剪边界框-只需将所有边界框的宽度和高度增加一个固定的量,这样整个硬币就可能一直在BB内。很明显,你会遇到这样做的情况——即使你不必裁剪。但这可能还可以,这取决于你的申请。这个想法是始终让BB覆盖整个硬币,即使冒着过度裁剪一些图像的风险
- 从边界框创建新的较小图像。希望这将只包含单个硬币的图像
- 使用简单的颜色阈值创建可能包含硬币的像素的掩码(或者也可以使用类似于与硬币的HOG描述进行比较的方法(。由于图像已经在NN的帮助下进行了裁剪,因此这可能相对容易做到,并且不会有太多错误预测
- 对屏蔽后的图像进行hough圆检测
如果在同一张图像中有重叠的硬币和杂乱的硬币,这种方法可能会失败。但在霍夫圆检测的帮助下,它应该对一定程度的杂波具有鲁棒性。你也可以在最后一步之后对圆圈进行一些过滤。