1. 图像实战简介
先来看一下项目的目标,实现车载摄像头的矫正,并进行道路曲率的检测,如下图:
六部法实现边界及方向检测1. 正常车景、并使用直线路段进行图像矫正;(参考无人驾驶小课堂链接)
2. 灰度图后去路线位置
3. 进行图像俯视图矫正,参考正常车景的矫正;
4. 在灰度俯视图中通过 histgram 进行高量展示,取亮度中心为车道线;
5. 通过滑动窗口进行纵向切割并逐行获得车道线;
6. 对提取的车道线进行多项式拟合来获取曲率;
最后!不要忘记,将图像曲率与真实的地面曲率进行距离换算!这个部分的重要性在于,你原始的图像是使用像素点构成的,他们的距离需要换算城真实的地面距离,因此你也需要知道镜头的纵深实际距离是多少,来用以换算真实的地面曲率。
在 step 4 中,我标斜了 histgram 做法,这是经典图像学的常用做法,但是目前的计算机视觉中,我们也有通过卷积图像处理的方式来获取车道线,下附三篇文章:
1. Fully Convolutional Networks for Semantic Segmentation by E. Shelhamer, J. Long and T. Darrell
2. VPGNet: Vanishing Point Guided Network for Lane and Road Marking Detection and Recognition by S. Lee, et. al.
3. Learning to Map Vehicles into Bird's Eye View by A. Palazzi, et. al.
2. 检查及简约技巧
上述的方法只是在现有的静态图片上找到左右 2 条潜在的车道线,因此为了进一步利用这个位置,并检查、确保这个车道线的位置合理。那么,我们就有以下内容可循:
1. 在同一图像内,检验两条车道线的一致性:
- 检查它们是否具有相似的曲率
- 检查它们是否水平分开大约正确的距离
- 检查它们是否大致平行
2. 在视频内,提高运算效率:在已有前一帧的拟合多项式的车道线位置,提取其x位置来表示后一帧的车道中心,并在该位置的某个正负范围内搜索新线路。
3. 视频平滑:视频的细节在前后不同的帧中可能有位移,因此可以在一个时间段内进行同一y位置的,x均值计算,来平滑视频造成的影响。
3. 具体的道路实现
详见Github
网友评论