04_车道线识别–计算机视觉基础知识与Canny 算法

车道线检测已经完成了吗?

前几个章节我们最终在图像上画出了车道线,那我们对车道线的检测工作就算完成了吗?是否可以用在实车上测试了呢?答案当然是否定的,由于现实世界中存在很多不确定性,例如光照变化,车道线颜色变化,我们采用的固定颜色阈值来检测车道线的办法在很多场景下不可用,我们需要更多的方法来检测,这是属于计算机视觉的范畴。

image

基础一:什么是计算机视觉

计算机视觉是使用计算机及相关设备对生物视觉的一种模拟。它的主要任务就是通过对采集的图片或视频进行处理以获得相应场景的三维信息,就像人类和许多其他类生物每天所做的那样。
计算机视觉是一门关于如何运用照相机和计算机来获取我们所需的,被拍摄对象的数据与信息的学问。形象地说,就是给计算机安装上眼睛(照相机)和大脑(算法),让计算机能够感知环境。我们中国人的成语”眼见为实”和西方人常说的”One picture is worth ten thousand words”表达了视觉对人类的重要性。不难想象,具有视觉的机器的应用前景能有多么地宽广。
计算机视觉既是工程领域,也是科学领域中的一个富有挑战性重要研究领域。计算机视觉是一门综合性的学科,它已经吸引了来自各个学科的研究者参加到对它的研究之中。其中包括计算机科学和工程、信号处理、物理学、应用数学和统计学,神经生理学和认知科学等。
虽然机器视觉涉及众多,但我们在后续的章节中暂时只会涉及到其中一小部分

Canny边沿检测算法

Canny边缘检测算子是JohnF.Canny于1986年开发出来的一个多级边缘检测算法。更为重要的是 Canny 创立了边缘检测计算理论(Computationaltheoryofedgedetection)解释这项技术如何工作。通常情况下边缘检测的目的是在保留原有图像属性的情况下,显著减少图像的数据规模。目前有多种算法可以进行边缘检测,虽然Canny算法年代久远,但可以说它是边缘检测的一种标准算法,而且仍在研究中广泛使用

image

灰度图

一幅完整的图像,是由红色、绿色、蓝色三个通道组成的。红色、绿色、蓝色三个通道的缩览图都是以灰度显示的。用不同的灰度色阶来表示“ 红,绿,蓝”在图像中的比重。通道中的纯白,代表了该色光在此处为最高亮度,亮度级别是255。

通道是整个Photoshop显示图像的基础。色彩的变动,实际上就是间接在对通道灰度图进行调整。通道是Photoshop处理图像的核心部分,所有的色彩调整工具都是围绕在这个核心周围使用的。

p{ white-space:pre-wrap;}在计算机领域中,这类图像通常显示为从最暗黑色到最亮的白色的灰度,尽管理论上这个采样可以任何颜色的不同深浅,甚至可以是不同亮度上的不同颜色。灰度图像与黑白图像不同,在计算机图像领域中黑白图像只有黑色与白色两种颜色;灰度图像在黑色与白色之间还有许多级的颜色深度。但是,在数字图像领域之外,“黑白图像”也表示“灰度图像”,例如灰度的照片通常叫做“黑白照片”。在一些关于数字图像的文章中单色图像等同于灰度图像,在另外一些文章中又等同于黑白图像。

我们可以通过下面几种方法,将其转换为灰度:
– 1.浮点算法:Gray=R0.3+G0.59+B0.11
– 2.整数方法:Gray=(R
30+G59+B11)/100
– 3.移位方法:Gray =(R76+G151+B*28)>>8;
– 4.平均值法:Gray=(R+G+B)/3;
– 5.仅取绿色:Gray=G;

通过上述任一种方法求得Gray后,将原来的RGB(R,G,B)中的R,G,B统一用Gray替换,形成新的颜色RGB(Gray,Gray,Gray),用它替换原来的RGB(R,G,B)就是灰度图了。

现实中的彩色图像

image

灰度图像

image

灰度梯度

image

灰度梯度是什么

彩色图像使用RGB三个值来描述一个像素点,而灰度图只需要一个灰度值,我们只需要限定好灰度值的阈值,低于某个阈值的直接置为0(变黑),高于某个值的置为255(变白),我们就可以得到了一副我们感兴趣的“边沿图像”,因为边沿总是灰度变化较为强烈的部分,这个特点也是我们的canny 边沿检测的基础。

image

如何从数学上表示边沿

边沿可以认为是灰度变化比较剧烈的位置,数学上经常使用微分来表示线条的变化率。由于灰度图每个像素只有一个值,可以认为整个图像可以认为是x/y的函数

image

对这个函数进行微分可以得出一个变化率的函数

df/dy = delta(pixel value)

基于以上的理解,我们合起来可以发现边沿检测的过程:
1. 首先生成灰度图像

image

  1. 根据灰度图像-低阈值-高阈值生成灰度梯度图

image

  1. 对灰度梯度图像进行微分得到边沿线条

image

总结

image

0 回复

发表评论

Want to join the discussion?
Feel free to contribute!

发表评论

邮箱地址不会被公开。 必填项已用*标注