我是靠谱客的博主 精明蜻蜓,最近开发中收集的这篇文章主要介绍从零开始的无人驾驶 02:Vehicle Detection,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

CNN (Convolutional Neural Networks 卷积神经网络) 普遍运用之前,车辆检测是通过使用条件随机场或者SVM(支持向量机)来实现的。操作上分为两步,先是从图像上提取特征,然后基于特征建立模型,判断车辆位置。

template matching 模板匹配

对于图像上的每一块颜色,计算与背景图的distance

甚至更硬核一点,直接把各种可能的车辆图片存起来,然后跟相机视角的图片进行比较

这类解决方案统称 template matching

Color Histogram

template matching的缺陷也很明显,对于没有预存过的模板,自然无从识别。因此出现了 Color Histogram方案

将车辆的模板转换成颜色直方图,运算时比较目标物体与预存直方图的相似度。优点是同一个物体在不同角度仍可识别。比如对于一辆红色的车,从不同方向看过去,模板匹配无法很好地识别,而利用Color Histogram则不受影响。

HOG

Histogram of Oriented Gradients (定向梯度直方图), 相比于之前的特征,HOG特征更加健壮,并且无视颜色的影响。

操作的时候,首先捕捉图像的轮廓与纹理信息

然后将图像划分为多个cell。对每个cell计算梯度方向

统计每个cell的局部直方图

将结果归一化,得到的主方向将成为局部特征梯度方向

汇总每个cell得到的局部信息,就可以得到HOG特征

Features Combination

首先是数据预处理,这里主要是进行特征组合。

比如HOG特征是针对梯度信息的特征,HSV特征则是针对颜色信息的特征

可以直接将二者拼接,得到颜色+梯度的组合信息

这里面有一些要注意的地方,一般多个特征拥有不同的模量,所以数字上相差很大

那么就需要进行正则化,将数据对齐

还可以利用决策树等方法,舍弃影响不大的变量

Sliding Windows

使用滑动窗口进行车辆检测,在这种场景下有一些机巧

首先还是ROI, 车辆其实只会出现在图片的下半块区域

其次可以预先设定好车辆可能的最大宽度和最小宽度

这样在检测时进行有限的multi-scale window

减小搜索空间

Multiple Detection

最后对于同一车辆的Multiple Detection

建立heat-map,计算中心位置

Build Model & Tracking


模型的选取倒是比较简单,SVM, Decision Tree, Nerual Network, etc. 这些都是常见的选择

针对每一帧图像,检测车辆位置,形成连续追踪


总结自Udacity无人车专项,合集版在掘金更新

最后

以上就是精明蜻蜓为你收集整理的从零开始的无人驾驶 02:Vehicle Detection的全部内容,希望文章能够帮你解决从零开始的无人驾驶 02:Vehicle Detection所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(38)

评论列表共有 0 条评论

立即
投稿
返回
顶部