从零开始的无人驾驶

栏目: 编程工具 · 发布时间: 7年前

内容简介:1.一个比较简单的做法是利用computer vision技术从摄像头视角获取道路信息。然后是选取选颜色比较接近直觉, 路上的线也就两种颜色,要么白线,要么黄线。 白线其实比较好找

1. ROI

一个比较简单的做法是利用computer vision技术从摄像头视角获取道路信息。然后是选取 ROI(Region of Interest) , 基本上就是选颜色 + 选区域。

选颜色比较接近直觉, 路上的线也就两种颜色,要么白线,要么黄线。 白线其实比较好找

从零开始的无人驾驶

但是黄线的话就不能直接用原图了。要先把原图分成RGB三层

从零开始的无人驾驶

而黄色的线在蓝色那层是看不到的

从零开始的无人驾驶

(因为是互补色)

从零开始的无人驾驶

除了选颜色,选区域也是可以直接利用CV解决的问题。

从车头视角向前看,大部分像素都是没有用的。尤其是天空的部分。对于自动驾驶来说差不多等价于干扰信号,基本上可以直接过滤掉

从零开始的无人驾驶
从零开始的无人驾驶

2. Canny Edge Detection

下一步是使用边缘检测算法寻找边线。如果我们把视图当成一张灰度图来看待,那么每一条边其实都在明暗块交替的位置

从零开始的无人驾驶

通过计算亮度的变化,可以把原图转化成一张梯度图

从零开始的无人驾驶

然后再将结果锐化,得到亮度数值变化最大的像素点

从零开始的无人驾驶

实际上,在做Canny算法之前,要对图像做 高斯平滑(Gaussian smoothing / Gaussian Blur) ,消除噪声和伪梯度点

3.直线检测

Hough Transform是图像变化中的经典算法,主要用来寻找图像中符合某种特征的集合,说白了就是检测直线、圆、椭圆。

从零开始的无人驾驶

Hough变化要将笛卡尔坐标下的点变化到霍夫极坐标系,原来的点共线问题会由此转化计算成曲面在极坐标下的共点,效果上就是该算法对边缘间断不敏感。大致上是这个意思,实际操作的时候是统计累加空间里的局部最大值(峰值),以该峰值作为结果(所以说抗噪能力还是很强的)。

从零开始的无人驾驶

总结一下就是:

原图 -> 灰度图 -> 边缘检测 -> 直线检测 -> 过滤掉斜率过低的直线 -> 将最后结果叠加回原图

从零开始的无人驾驶
从零开始的无人驾驶
从零开始的无人驾驶

行为克隆

使用神经网络进行无人驾驶的理论基础来源于Imitation Learning (模仿学习)。Behavior Cloning算是Imitation Learning的一种。思路倒是很简单,将人类驾驶作为基础数据全部收集下来,然后让神经网络去拟合数据。

这类端到端的解决方案基本上是一个路子,优点:简单且有效,缺点:受限于收集的数据。因为训练集总是有限的,如果出现了神经网络之前没见过的数据,那么效果就会很差。

一个比较经典的条件是天气,下雨天的路面跟晴天的路面不一样,有雾的天气下道路能见度也会对摄像头收集的数据有很大影响。


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

网站运维技术与实践

网站运维技术与实践

饶琛琳 / 电子工业出版社 / 2014-3 / 69.00元

网站运维工作,一向以内容繁杂、覆盖面广著称。《网站运维技术与实践》选取日常工作涉及的监测调优、日志分析、集群规划、自动化部署、存储和数据库等方面,力图深入阐述各项工作的技术要点及协议原理,并介绍相关开源产品的实践经验。在技术之外,作者也分享了一些关于高效工作及个人成长方面的心得。 《网站运维技术与实践》适合Linux 系统管理员、中大型网站运维工程师及技术负责人、DevOps 爱好者阅读。同......一起来看看 《网站运维技术与实践》 这本书的介绍吧!

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具