使用 OpenCV 从 google 街景中检测路灯

Detecting street lamps from google street view with OpenCV

我正在尝试使用 OpenCV 从 Google 街景中检测路灯。

目前作为样本,我有 2000 张正面图像,但只有 1200 张是大致相同的比例,所以我只使用它进行训练。

还有另外 2300 张底片。

正面图片示例:

我尝试将它们采样到不同的大小,并训练它们,但目前检测效果非常差,当我用这样的图像进行测试时:

根据 detectMultiScale 参数,我要么得到很多矩形,包括灯,要么得到一些矩形,但不包括实际的灯。

在训练中,我主要修改高度和宽度参数,参数示例:(200, 10) (150, 30), (120, 30)。我也尝试将算法从 LBP 更改为 HAAR,但结果相似。

  1. 你觉得我需要超过1000个阳性样本吗?

  2. 我应该在创建矢量文件之前做任何额外的预处理吗?

  3. 你知道我应该更改哪些参数才能使其正常工作吗?

  4. 是否可以使用 OpenCV 检测 google 街景图像中的灯?

将您的样本更改为周围有少量天空的 lamp(因为我认为这将有助于特异性而不是裁剪 lamp)。

如果 lamp-post 对您很重要,在找到 lamp 后,进行二次搜索以找到附加的 post(或者如果有是 none)。寻找从您找到的 lamp 发出的一条线并将其追踪到地面。在这些图像中的大多数(我想象的大多数场景)中,只有一条清晰的线(post)来自光线。您可以使用某种形式的颜色/定向传播来追踪 post 通过它的各种曲线和角落。