国际汽车照明论坛(IFAL)

2019中国国际汽车照明论坛(IFAL)邀请函 V2.2版.pdf
1.11MB下载
中欧会议邀请册V4.3.pdf
2.49MB下载

技术文章 | 自适应远光照明系统的图像感知系统设计

作者:ShengxianZhou

单位:HASCO Vision Technology Co.,Ltd
编译:井硕 李奕帆
指导老师:林燕丹



01

引言

自适应远光照明系统(以下简称ADB系统)是一种能够以自适应的方式给汽车提供最大化照明效果的解决方案的系统。 系统能够以一种智能化的方式有效的感知到前方可照射区域和不可照射区域,通过调整远光灯的光型,有效的对前方的驾驶环境进行照射。这样的系统,不仅能够有效的降低驾驶员频繁切换光型所带来的驾驶疲劳感,同时还能够避免给前方同向和逆向车道上汽车的驾驶员造成炫目,从而大大的提高了夜间驾驶的安全性。在实现这样一套系统的技术攻关过程中,两个核心技术将决定这套系统的可行性,第一是照明系统的设计,第二是感知系统的设计。本文将从感知系统的角度出发,阐述作者在设计图像感知系统中的成果和结论。


02

视觉感知系统的算法设计

本人将算法的设计分为两个步骤进行:统计学分析和规则编码,统计学分析则是通过对既有的数据样本进行归纳和统计分析,得到数据样本的一些可区分性的规则,而规则编码则是将这些规则编写成能够用数学方法表达的代码。


A、统计学分析

本次设计采用的是高动态CMOS图像传感器,其动态范围能够达到150dB,能够采集12bits位宽的数据。

为了能够较为真实的从数据样本中反映出真实的统计学规律,降低样本不足造成的偏差,作者在本次系统设计中设计了一套样本标定软件(如图1所示),通过这套标定软件,标定了一千多个车灯样本,其中涵盖了城市快速路环境、城市道路环境、雨天环境、隧道环境等多种环境工况。


1.png

图1. 车灯亮度分布


(1)车灯亮度值的统计学分析

车灯亮度值统计的统计方法为,将每个样本的车灯像素值进行排序,将每个车灯排序后的像素值的第10%、第20%、第30%、第40%、第50%和第60%进行采样,得到的采样结果如图2所示。


2.png

图2. 车灯亮度分布


基于上述六个分布图能够得到两个结论:

结论1: 如果将像素值的阈值设为4070,大于4070的像素点为车灯,则有99.46%的车灯能够通过该阈值检测出来,其中,头灯的检测率可以达到99.71%,尾灯的检测率能够达到98.81%。

结论2: 为了加速计算能力,减少数据吞吐量,应该将12bits的图片转换到8bits下进行,通过对车灯像素值的统计学分析结论可以得到一个高次非线性的转换关系曲线,使高亮物体有足够的像素值分辨率,这样就可以保证信号在高亮区域的信号损失降低到最低,转换曲线如图3所示。


3.png

图3. 12bits转换8bits的转换关系曲线


(2)灯光区域的统计学分析

在对车载视觉算法的设计中,我们往往有这样一种基于经验事实的假设:即通过巧妙的设计摄像头合理的安放位置之后,特定目标只会在特定的区域内出现,也就是说,对特定目标进行检测的时候,并不需要对整幅图片进行检测,而只要对特定的区域(计算机视觉中称为感兴趣区域),如图4所示。


4.png

图4. 感兴趣检测区域的示意图


为了得到灯光可能出现的区域,我们设计了一种统计学计算方式,利用灯光检测算法,将灯光出现过的区域画在图像坐标中,通过在不同场景下积累灯光产生的轨迹,得到图5所示的灯光轨迹分布图。


5.png

图5. 灯光轨迹的统计学分布图


通过观察图5可以发现,图片的下半部分几乎接近一半的区域是都是不可能出现灯光的。这样就进一步验证了这种假设的正确性。同时结合图4中给出的车辆和行人的检测区域能够得到在ADB系统中大灯检测算法所需要检测的感兴趣区域为图6所示。从图中能够发现,车灯检测的感兴趣区域只占到了图像的25%左右的区域。后续开发的检测算法,只需要对该区域进行检测,就能够检测到全部的车灯,这就大大降低了算法的计算量,提高了算法的实时性。


6.png

图6. 灯光轨迹的统计学分布图


B、规则编码

通过A节,我们确定了在12位位宽的图片中灯光的阈值为4070,相应地,在对8位位宽的图片中灯光的阈值为230,一种简单和直接的方式就是将图片进行二值化转换,将所有大于某一特定阈值的像素设成1,其余的像素设成0,然后再对二值图进行几何拓扑分析(如blob分析等),然后得到车灯。图7给出了作者设计的实时车灯检测算法的处理过程。


7.png

图7. 车灯检测算法与实例过程


(1)二维的快速滤波器设


8.png

图8. 灯光的三维视图


为了能够尽可能详细的阐述该横向和纵向快速滤波器的设计思想,我们给出了一个车灯的三维视图,水平的两个坐标轴分别对应于x方向和y方向坐标,垂直方向的坐标轴表示车灯的亮度值。从图中可以看出,所谓车灯的灯芯,其实就是最亮的区域,在三维视图里我们将它称为“山顶”,同时,根据统计结果可以得知,只有亮度值大于230 的“山顶”才能称作车灯。


(2)灯芯检测

结合灯光区域的统计学分析的结论,对整幅图片的灯光区域进行横向和纵向滤波处理,并将滤波器产生的灯芯中轴线记录在图像中,将横向灯芯中轴线与纵向灯芯中轴线相交的位置定义为车灯灯芯。如图9所示。


9.png

图9. 车灯的灯芯位置

(3)灯形检测

在本次设计中,我们定义一个车灯所具有的属性为四个参数:车灯灯芯的横坐标,车灯灯芯的纵坐标,车灯宽度和车灯高度,找到了车灯的灯芯,就获得了车灯的前两个形状属性参数,下一步就是判断车灯的宽度和高度,车灯的设计形状的样式有很多种,我们这里所说的车灯宽度和高度是指车灯的最大外界矩形的宽度和高度,在灯形检测的算法中,采用一种轮廓生长的算法,实现后的结果如图10所示。


10.png

图10. 算法结果


03

实验结果

A、实验场景1

本次实验场景1选择在城市快速路工况下进行灯光检测,由于在后续算法过程中需要对路灯信息做出一些特殊的功能,因此本实验并不对路灯和车灯进行区分,检测时间平均5.6ms/frame,其中最大8ms/frame,最小4ms/frame。检测结果如下图所示:


11.png

图11. 城市快速路工况下的灯光检测


B、实验场景2

本次实验场景2选择在隧道工况下进行灯光检测,由于在后续算法过程中需要对路灯信息做出一些特殊的功能,检测时间平均5.9 ms/frame,其中最大8ms/frame,最小4ms/frame。因此本实验并不对路灯和车灯进行区分,检测结果如下图所示:


12.png

图12. 隧道工况下的灯光检测



04

结论

文章介绍了自适应远光照明系统的视觉感知算法设计,阐述了一种从数据样本统计学分析的角度出发,充分结合了车载视觉应用的一些特殊性,最终设计出一套能够实时稳定的灯光检测算法。经过大量的测试,该算法的优点在于能够实时准确的检测出车灯和路灯,但不可否认,该算法并没有从图像处理的角度对路灯和车灯进行区分,在实际的实验中,是依靠对灯光的跟踪算法,从几何学位置的角度对车灯和路灯进行了有效的区分。而这种区分方式难免会在路况出现上下坡时产生一定程度的误判。因此,在后续的研究中,还需要从图像处理的角度进一步设计出能够有效区分车灯和路灯的算法。




文章转载自IFAL公众号


IFAL网站.jpgIFAL公众号.jpg