基于分类的车辆计数(汽车,公共汽车,卡车)

时间:2017-12-01 04:19:47

标签: python opencv image-processing bounding-box

我目前正致力于车辆排队,我需要在python opencv中设计一个代码,用于根据分类计算车辆数量。输入是一个实时交通视频。 目的是找到平均尺寸" x"对于边界框而言,对于汽车来说,它是" x",对于公共汽车而言,它是" 3x"等等。基于" x"的大小或者" x"的倍数,确定分类。有什么方法可以解决这个问题陈述吗?

2 个答案:

答案 0 :(得分:2)

我已经解决了几乎类似的问题。

最简单的方法是在类似大小的车辆上训练Haar-cascade

您必须根据类别数量训练多个级联。

可以使用某些浏览器插件从任何二手车销售网站下载级联数据。

负面集很大程度上取决于使用此解决方案的上下文。

这也带来了一个问题,如果你计划在繁忙的街道上这样做,那么将会出现许多无法预料的情况。例如,行人在FoV中行走。此外,需要修复FoV,尤其是观察物体的距离。如果有的话,追踪和错误是获得阈值的唯一途径。

现在我要提出你所问的问题范围之外的事情。

虽然这是纯粹的基于图像处理的方法,但您可以将问题从表面上解决,并提出问题'为什么'需要分类吗?根据用例,通常可以训练深度强化学习代理。它将解决问题而不需要进行大量的手工操作。

如有特定问题,请告诉我。

答案 1 :(得分:0)

Haar-cascades 是一种很好的方法,但训练它们需要花费大量的时间和精力。 您可以在线获得大量训练有素的级联文件。 第二种方法可能是从图像中获取轮廓,然后继续前进。

 - Original image
 - Smooth the image so that you will get an image without edges.
 - (Original image- Smooth image) to get the edges
 - Get Contours from image