霍夫变换是一种经典的算法,用于检测直线、圆、椭圆和任何其他可以正式描述为一系列参数的形状。
所以我的直觉告诉我,你会将汽车分解成更小的形状,例如正方形、矩形、线条和圆形的组合。并且可能推导出汽车的数学方程,然后可以用来检测汽车?
霍夫变换是一种经典的算法,用于检测直线、圆、椭圆和任何其他可以正式描述为一系列参数的形状。
所以我的直觉告诉我,你会将汽车分解成更小的形状,例如正方形、矩形、线条和圆形的组合。并且可能推导出汽车的数学方程,然后可以用来检测汽车?
简而言之,除非您始终以相同的角度和相同的距离查看车辆,否则仅使用 Hough 可能不起作用。即便如此,光学、照明和处理错误边缘的实际考虑仍将阻止 Hough 在任何类似于现实世界的事物中正常工作。
单独缩放可能会出现问题。例如,假设您从 4 米的距离拍摄汽车的图像,然后再次使用相同的相机和(固定焦距)镜头在 8 米的距离从相同的视角拍摄。如果要使用 Hough,则必须添加缩放参数,因此您将使用 (p1, p2, p3, ..., pN, p( N+1))。这将大大增加解决方案空间的大小和消耗的内存。在这里使用图像金字塔不会有太大帮助。
如果您从汽车侧面捕捉图像,那么当您从正面查看汽车时,这些形状将不相关。增加要匹配的形状数量会使软件变得一团糟。
用于图像处理的汽车的一致照明比大多数人想象的要困难得多。你不会得到一组简单的边缘,因为汽车会从环境中反射物体,而反射会引入错误的边缘和明显的颜色变化。来自玻璃的反射也将是一个问题。在红色汽车上运行一点点的算法可能会在相同型号的黑色或白色汽车上惨遭失败。
如果您想检测汽车,那么一种方法是“词袋”技术,将汽车和类似汽车的对象描述为描述向量。然后,您可以在图像中搜索与描述向量最匹配的博客或像素区域。
http://en.wikipedia.org/wiki/Bag-of-words_model_in_computer_vision
我已经在演示中看到过这种技术。该系统被训练在一个视频中识别车辆,然后它可以在不同时间使用不同设备捕获的任意大量其他视频中识别类似车辆。
在寻找解决方案之前,请尝试尽可能准确地定义问题。您想包括任何尺寸的陆上车辆,还是只包括乘用车?几十个模型?数百个模型?几千个模型?或者您只是想确定某物是否可能是汽车?你想在哪里检测汽车?在一天中的什么时候?
等等。