基于人眼三维坐标的汽车a柱盲区实时显示方法及系统
技术领域
本发明涉及图像处理以及汽车安全
技术领域
,更具体的说是涉及一种基于人眼三维坐标的汽车A柱盲区实时显示方法及系统。背景技术
目前,随着汽车的不断普及应用,汽车驾驶安全问题受到越来越多的关注,汽车的A、B、C柱对于车身整体而言起到了保护车体内部结构的作用,在车身受到挤压或车身侧翻时能保护车舱人员安全。但A柱对驾驶者的视线会造成一定程度的遮挡,这就形成了汽车A柱盲区,而汽车的A柱盲区问题一直是汽车生产中不可避免的问题,很多交通事故便来自驾驶员视线受到A柱的遮挡形成盲区造成,所以近年来,研究者们对A柱盲区的显示进行了大量的研究。
随着计算机视觉在汽车主动安全
技术领域
应用的研究,针对盲区消除的视觉应用也在不断发展,而对于A柱盲点消除并实现视野补偿,目前的方法还存在很多的问题和局限性。比如很多研究虽然能实现A柱盲区的显示,但都是静态的图片或者投影,均无法满足现实生活中汽车在行驶状态时能够实时获取A柱盲区的要求,且采用的设备较为复杂且多样,无法满足实际应用中便捷的要求。因此,如何提供一种能实时显示盲区图像、更加便捷的汽车A柱盲区实时显示方法是本领域技术人员亟需解决的问题。
发明内容
有鉴于此,本发明提供了一种基于人眼三维坐标的汽车A柱盲区实时显示方法及系统,有效解决了现有的A柱盲区显示方法无法实时显示、不够便捷等技术问题。
为了实现上述目的,本发明采用如下技术方案:
一方面,本发明提供了一种基于人眼三维坐标的汽车A柱盲区实时显示方法,该方法包括:
获取驾驶者的头部图像,并从所述头部图像中检测得到人脸图像;
对所述人脸图像进行面部标志检测,获得面部特征点;
对所述人脸图像进行三维姿态估计,获得用于标准人脸坐标系转换到相机坐标系的旋转矩阵和平移向量;
根据所述面部特征点、旋转矩阵和平移向量,求解所述人脸图像中的人脸三维坐标,并根据所述面部特征点中双眼的位置,从所述人脸三维坐标中获取双眼三维坐标;
获取A柱外侧的环境图像,根据所述双眼三维坐标通过三维重构盲区算法从所述环境图像中裁剪出盲区图像,并实时显示盲区图像。
进一步地,从所述头部图像中检测得到人脸图像的过程中,若头部图像中仅检测到一个人脸,则直接确定人脸图像;若从所述头部图像中检测得到多个人脸,则将面积最大的人脸对应的图像作为人脸图像。
本发明提前假设图像中只有一个人脸,如果检测器返回多个人脸建议,则取最大的包围框,对于探测器无法找到人脸的图像就直接丢弃。
本发明根据一个通用的平均面部形状模型F来进行三维姿态估计,该模型是MPIIGaze数据集参与者的平均形状。
进一步地,根据所述双眼三维坐标通过三维重构盲区算法从所述环境图像中裁剪出盲区图像的过程,具体包括:
根据所述双眼三维坐标以及A柱显示屏位置,判断眼睛与A柱显示屏的关系;
将眼睛、相机、A柱显示屏的俯视区域以及相机拍摄区域在同一坐标系中进行绘制,并绘制出眼睛视线,确定盲区区域;
分别计算盲区区域在环境图像中的起始角以及盲区范围角度,并获取相机的广角度数和分辨率,以图像水平方向中心向外扩展盲区,获得盲区区域在环境图像像素中的位置,裁剪得到盲区图像。
更进一步地,所述眼睛与A柱显示屏的关系包括:眼睛在A柱显示屏的屏幕内、眼睛在A柱显示屏的屏幕外部左侧以及眼睛在A柱显示屏的屏幕外部右侧。
另一方面,本发明还提供了一种基于人眼三维坐标的汽车A柱盲区实时显示系统,该系统包括第一图像采集设备、第二图像采集设备、处理器以及显示屏,所述第一图像采集设备、第二图像采集设备以及显示屏均与所述处理器电连接;
所述第一图像采集设备设于汽车内侧A柱的正中心位置,所述第一图像采集设备用于实时采集驾驶员的头部图像,所述第二图像采集设备设于汽车外侧A柱上,所述第二图像采集设备用于实时采集A柱外侧的环境图像;
所述处理器用于从所述头部图像中检测得到人脸图像;对所述人脸图像进行面部标志检测,获得面部特征点;对所述人脸图像进行三维姿态估计,获得用于标准人脸坐标系转换到相机坐标系的旋转矩阵和平移向量;根据所述面部特征点、旋转矩阵和平移向量,求解所述人脸图像中的人脸三维坐标,并根据所述面部特征点中双眼的位置,从所述人脸三维坐标中获取双眼三维坐标;根据所述双眼三维坐标通过三维重构盲区算法从所述环境图像中裁剪出盲区图像;
所述显示屏设于汽车内侧A柱上,所述显示屏用于实时显示盲区图像。
进一步地,所述第二图像采集设备为广角相机。
本发明的系统,在汽车A柱正中间安装第一图像采集设备,可以是一个单目相机,该相机对人眼三维坐标进行实时的获取,在汽车A柱的左侧安装第二图像采集设备,可以是一个单目相机或广角相机,该相机对汽车外部进行实时监测,可以将被A柱遮挡的位置拍摄出来。两个相机同时运行,当检测到人脸后,立刻通过处理器获取三维人眼数据,获取到人眼数据后,根据三维重构盲区计算方法,将被遮挡的盲区通过图像切割的方式提取出来,并将该区域实时显示到A柱上的显示屏上。
经由上述的技术方案可知,与现有技术相比,本发明公开提供了一种基于人眼三维坐标的汽车A柱盲区实时显示方法及系统,该方法通过基于外观的人眼检测方法以及MPIIGaze数据集获取人眼坐标,通过面部三维重构得到人眼的三维立体坐标,然后将获得的人眼三维坐标,通过盲区三维立体重构算法来实时裁取对应的盲区图像并输出到显示屏中,实现盲区图像的实时显示。该系统在实现盲区图像实时显示的同时,系统结构简单,搭建方便、快捷,更能满足实际使用需求。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明提供的一种基于人眼三维坐标的汽车A柱盲区实时显示方法的实现流程示意图;
图2为人脸的面部特征点示意图;
图3为三维A柱盲区立体示意图;
图4为眼睛坐标未超出A柱显示屏的俯视图;
图5为眼睛坐标超出A柱显示屏且在显示屏左侧的俯视图;
图6为眼睛坐标超出A柱显示屏且在显示屏右侧的俯视图;
图7为本发明提供的一种基于人眼三维坐标的汽车A柱盲区实时显示系统的结构架构示意图;
图8为本发明实施例中检测到的人脸图像示意图;
图9为获取人脸地标及像素坐标的示意图;
图10为人脸3D检测获取三维坐标数据的示意图;
图11为人脸在中间时盲区显示图像示意图;
图12为人脸在左侧时盲区显示图像示意图;
图13为人脸在右侧时盲区显示图像示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
一方面,参见附图1,本发明实施例公开了一种基于人眼三维坐标的汽车A柱盲区实时显示方法,该方法包括:
S1:获取驾驶者的头部图像,并从头部图像中检测得到人脸图像。
本实施例用基于hog的方法检测图像中用户的脸,提前假设图像中只有一个人脸,如果检测器返回多个人脸建议,则取最大的包围框,即将面积最大的人脸对应的图像作为人脸图像。对于探测器无法找到人脸的图像就直接丢弃。
S2:对人脸图像进行面部标志检测,获得面部特征点。
采取Tadas Baltrusaitis等人提出的CLNF(Constrained Local Neural Field,受约束局部神经域)模型来实时获取人脸地标。使用连续条件神经域(即CCNF)模型框架来检测面部标志。获得准确的面部特征点即人脸地标。标准的面部特征点如图2所示。
S3:对人脸图像进行三维姿态估计,获得用于标准人脸坐标系转换到相机坐标系的旋转矩阵和平移向量。
本实施例根据一个通用的平均面部形状模型F来进行三维姿态估计,该模型是MPIIGaze数据集参与者的平均形状,再用给定物体的三维模型和相应的二维投影使用EPnP算法估计初始解,获得标准人脸坐标系到相机坐标系转换时需要的旋转矩阵和平移向量。
S4:根据面部特征点、旋转矩阵和平移向量,求解人脸图像中的人脸三维坐标,并根据面部特征点中双眼的位置,从人脸三维坐标中获取双眼三维坐标。
由上面得到的旋转矩阵和平移向量及人脸二维标准特征点,再根据EPnP算法求解出人脸的三维坐标。再根据上述人脸标准特征点中眼睛的对应位置,取人脸三维坐标中对应的36-47的数据作为双眼的三维坐标数据,便可获取最终的三维双眼坐标。
S5:获取A柱外侧的环境图像,根据双眼三维坐标通过三维重构盲区算法从环境图像中裁剪出盲区图像,并实时显示盲区图像。
具体地,根据双眼三维坐标通过三维重构盲区算法从环境图像中裁剪出盲区图像的过程,具体包括:
根据双眼三维坐标以及A柱显示屏位置,判断眼睛与A柱显示屏的关系;
将眼睛、相机、A柱显示屏的俯视区域以及相机拍摄区域在同一坐标系中进行绘制,并绘制出眼睛视线,确定盲区区域;
分别计算盲区区域在环境图像中的起始角以及盲区范围角度,并获取相机的广角度数和分辨率,以图像水平方向中心向外扩展盲区,获得盲区区域在环境图像像素中的位置,裁剪得到盲区图像。
本实施例根据三维重构盲区算法裁剪出盲区区域并显示,下面是三维重构盲区算法的具体内容:
三维A柱盲区立体图如图3所示。根据立体结构,可将眼睛坐标分为三部分眼睛,包括:眼睛在屏幕内、眼睛在屏幕外部左边以及眼睛在屏幕外部右边。根据俯视图即可得到A柱盲区区域的大小和相对位置。
图4为眼睛坐标未超出A柱屏幕下的俯视图,图5为眼睛坐标超出A柱屏幕,且在屏幕左侧位置下的俯视图,图6为眼睛坐标超出A柱屏幕,且在屏幕右侧位置下的俯视图。
在图4、图5和图6中,A代表眼睛所处位置,C代表相机安放的位置,BC代表A柱显示屏的俯视区域,AD代表人眼视线被A柱显示屏遮挡后能够看到的最终位置的最左边视线,AE代表人眼视线被A柱显示屏遮挡后能够看到的最终位置的最右边视线。DE代表被A柱遮挡的区域,FG代表广角相机C能够拍摄的区域,I代表眼睛A与屏幕的位置是否位于屏幕内。K是眼睛与屏幕的交点。
根据上述三个俯视图,即可根据双目三维坐标以及A柱屏幕的坐标获得遮挡区域,以图4示出的第一种情况为例,计算公式如下:
角KAC=acos(KA/KC);
角KBA=acos(KA/KB);
AE=AI/cos(KAC);AD=AI/cos(KAB)
IE=AI*tan(KAC);ID=AI*tan(KAB)
用余旋定理求CD长度,即:
CD2=AD2+AC2-AD*AC*cos(BAC);
角DCE=acos((CD2+CE2-DE2)/2*DC*CE));
角ECG=角BCA-(180-相机广角度数FCG)/2;
角FCD=FCG-DCE-ECG。
上述角度中,盲区区域在图像中的起始角度为FCD,盲区范围角度为DCE,A柱相机的广角度数为T度和分辨率H*W,以图像水平方向中心向外扩展盲区,可以得到盲区区域范围在图像像素中的位置,裁剪出矩形区域Rect(x,y,width,higth)。
其中:
Rect.x=FCD/T*W
Rect.width=DCE/T*W
Rect.hight=A柱分辨率HA
Rect.y=W-hight
最后根据双目三维坐标以及立体重构盲区估计方法,在获取到三维双目坐标后并且将坐标数据传到盲区裁剪方法中,将实时拍摄的A柱背后位置的环境图像,根据上述盲区裁剪方法将获得的矩形区域直接输出到A柱显示屏幕中,实现实时显示功能。
另一方面,参见附图7,本发明还提供了一种基于人眼三维坐标的汽车A柱盲区实时显示系统,该系统包括第一图像采集设备1、第二图像采集设备2、处理器3以及显示屏4,第一图像采集设备1、第二图像采集设备2以及显示屏4均与处理器3电连接;
第一图像采集设备1设于汽车内侧A柱的正中心位置,第一图像采集设备1用于实时采集驾驶员的头部图像,第二图像采集设备2设于汽车外侧A柱上,第二图像采集设备2用于实时采集A柱外侧的环境图像;
处理器3用于从头部图像中检测得到人脸图像;对人脸图像进行面部标志检测,获得面部特征点;对人脸图像进行三维姿态估计,获得用于标准人脸坐标系转换到相机坐标系的旋转矩阵和平移向量;根据面部特征点、旋转矩阵和平移向量,求解人脸图像中的人脸三维坐标,并根据面部特征点中双眼的位置,从人脸三维坐标中获取双眼三维坐标;根据双眼三维坐标通过三维重构盲区算法从环境图像中裁剪出盲区图像;
显示屏4设于汽车内侧A柱上,显示屏用于实时显示盲区图像。
更优地,本实施例中第二图像采集设备2可以采用广角相机。
本实施例在搭建系统时,在汽车A柱正中间安装一个单目相机,即第一图像采集设备,该相机对人眼三维坐标进行实时的获取,在汽车A柱的左侧安装一个单目相机,即第二图像采集设备,该相机对汽车外部进行实时监测,可以将被A柱遮挡的位置拍摄出来。两个相机同时运行,当检测到人脸后,立刻获取三维人眼数据,获取到人眼数据后,根据三维重构盲区计算方法,将被遮挡的盲区通过图像切割的方式提取出来,并将该区域实时显示到A柱显示屏上。
本实施例将相机C1(即第一图像采集设备)固定在A柱显示屏正中间,相机C2(即第二图像采集设备)固定在A柱显示屏左侧,用matlab软件提前对正中间的单目相机C1进行相机标定,获得相机的内参矩阵。打开相机C1,对人眼三维坐标进行实时获取,图像如图8所示。之后处理器获取人脸地标及像素坐标,图像如图9所示。之后进行人眼归一化,并获得人眼像素坐标。接着进行人脸3D检测,获取三维坐标数据,3D检测的图像如图10所示。之后模拟人脸在中间时盲区显示图像,如图11所示。然后模拟人脸在左侧时盲区显示图像,如图12所示。接着模拟人脸在右侧时盲区显示图像,如图13所示。
不难发现,本发明公开的A柱盲区显示方案,首先通过基于外观的人眼检测方法以及MPIIGaze数据集获取人眼坐标,通过matlab相机标定及单目相机通过面部三维重构得到人眼的三维立体坐标。根据前置单目摄像头获得的人眼三维坐标,通过盲区三维立体重构算法来实时裁取后置摄像头获取的内容并输出到显示屏幕中,实现盲区的显示。盲区显示及人眼检测的频率能同时达到网络相机的最高频率30fps,满足环境改变时的实时性要求。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。