【发布时间】:2019-09-28 22:56:48
【问题描述】:
我的问题与检测成群飞行的鸟非常相似。物体的特征很少,可以在图像中以不同的角度定位。对象可以偶尔定位在一个组中(不是常规网格),但它们永远不会相交。我尝试了 YoloV3:一开始,我有 过度拟合,但至少它适用于训练图像)。随着我增加训练图像的数量,它停止工作,网络无法学习数据(underfitting)。我认为主要问题是,对象没有足够的 CNN 功能,即单独的对象太简单了。我想以某种方式利用他们总是成群结队的事实,即以某种方式考虑邻居。分组中它们的数量可能不同,至少 3 个,但大多数 > 10 个。它们可能看起来不同(如翅膀位置不同的鸟),但一组中所有对象的大小大致相同。我是神经网络的新手,所以也许有更多经验的人可以为我指明正确的方向。
我尝试使用OpenCV中的模板匹配:我必须使用许多模板(>20),因为对象可能看起来完全不同(翅膀的不同位置);并且还需要多尺度匹配,这都需要很多执行时间。但更重要的是,在不同的设置下,模板匹配发现的对象要么太少,要么误报太多。所以我认为神经网络更适合这项任务。如果我错了,请纠正我。我想也许通过 Mask-RCNN 来掩盖“有用”区域是有意义的,然后以某种方式分离这些区域中的对象(因为我必须为用户单独标记它们) .这可行吗,或者我可以尝试其他一些方法吗?任何提示将不胜感激!
编辑:我在图像中还有许多其他对象(不仅仅是天空和鸟类),例如树木。并且叶子或叶子组给出误报。它们可能具有不同的颜色(绿色、橙色、深绿色、黑色),因此几乎不可能按颜色过滤它们。
【问题讨论】:
-
您使用什么图像分辨率?请发布使用 YOLO 识别失败的图像。
-
您好,首先非常感谢您的帮助!我没有尝试过 Yolo 的第一个版本,我使用的是 YoloV3。我的图像是 500x500 像素,我搜索的对象大约是 25-30 像素(25x25 ... 30x30)。所以这应该不是问题。正如我所说,在一个小型训练集上,网络运行得非常好:几乎所有对象都被正确找到,它们都很好地相互分离。但随着我添加更多的训练数据(比如翅膀不同位置的鸟),网络停止工作。
-
不幸的是,我无法添加我的真实图像,因为它们是我客户的财产(绝密!)。抱歉 :( 但我编辑了我的问题(请参阅最后的“编辑”和一张新图片),这可能有助于理解问题。
标签: opencv image-processing neural-network conv-neural-network yolo