本发明涉及一种基于高精度地图的积雪路面虚拟车道线投影方法,属于积雪路面虚拟车道线投影技术。
背景技术:
我国东北地区降雪长达5~6个月,积雪的路面会遮挡住车道线等道路交通标示,给出行带来不便。车道线被积雪遮挡,会出现压线、车流混乱等情况,严重影响交通秩序,甚至会出现交通事故。积雪道路上,驾驶员主要依靠驾驶经验来驾驶车辆,但不同的驾驶员的驾驶经验各不相同,经验差异仍然会造成交通秩序混乱,因此复现虚拟车道线维持正常的交通秩序是非常有必要的。目前已经存在虚拟车道线投影技术,但这些投影技术没有结合驾驶员视线和情绪等生理信息进行动态调节,人机交互性差。
随着高精度地图技术的发展,车辆定位精度越来越高,这为车道线投影提供了技术保障。高精地图作为一种高精度、内容丰富、高精细度、高稳健性、远视距的静态传感器,在自动驾驶定位、感知、决策、控制全流程中均具有着不可或缺的作用。高精度地图定位是融合了激光雷达点云数据、gps信号、语义矢量地图等综合信息的定位技术,能够获取车道线、红绿灯等信息。目前的车道线投影方案没有考虑到定位信息缺失的情况,不能提供缺少定位信息情况下车道线投影的解决方案,针对定位信息缺失这种突发情况,仍需要提出恰当的方法来实现车道线投影功能。
激光投影技术是利用车载激光投影仪实时向车辆前方和车辆后方投影车道线,使得虚拟车道线和实际车道线高度重合,以此来解决积雪路面车道线被遮蔽的问题,目前的车道线投影方案形式单一,不能很好地适应道路环境,本发明则是提出一种虚拟车道线长度可随车速动态调节的方法。
技术实现要素:
本发明设计开发了一种基于高精度地图的积雪路面虚拟车道线投影方法,能够获取行驶中汽车的车道线信息,在驾驶员行驶过程中,获取不同车速下的驾驶员注视点坐标,使虚拟车道线长度能够随着车速自适应调整。
本发明还的另一发明目的,前照登光束能够随着驾驶员注视区域自适应调整。
本发明提供的技术方案为:
一种基于高精度地图的积雪路面虚拟车道线投影方法,包括:
将车道中心线作为车道参考线,根据车道线位置,确定虚拟车道线的投影角度;
在驾驶员行驶过程中,获取不同车速下的驾驶员注视点坐标;
根据注视点坐标,确定驾驶员的注视区域,进而确定驾驶员的前视距离以及虚拟车道线投影长度。
优选的是,所述驾驶员的注视点坐标的获取过程包括:
步骤一、在行车过程中通过行车记录仪获取驾驶员视角的前视图像以及通过眼动仪获取驾驶员视角的眼动数据;
步骤二、对获得的视频图像进行校正;
步骤三、通过动态时间窗口内的视点偏离方法,获得移动图像坐标系下的注视点;
步骤四、对获得的移动图像坐标系下的注视点坐标进行定位处理,把眼动仪记录的图像与行车记录仪下的图像进行匹配,得到固定图像坐标系下的注视点坐标;
步骤五、把固定坐标系下的注视点坐标变换为以驾驶员为原点的世界坐标系下的注视点坐标。
优选的是,所述确定驾驶员的前视距离的过程包括:
分别在不同实验车速vi条件下,计算驾驶员的平均注视点坐标
式中,x"j和y"j是驾驶员的注视点坐标;
根据平均注视坐标计算驾驶员的前视距离di,
通过线性插值的方法计算在实际行驶车速v∈[20,90]范围内,驾驶员在实际行驶过程中的前视距离d:
当车速低于20km/h或者超过90km/h时前视距离定义如下:
优选的是,
所述虚拟车道线长度的经验公式为:l=2kd
其中,k为经验系数(请给出k的范围)
优选的是,在行驶过程中,
所述投影仪向车辆一侧的投影角为:
所述投影仪向车辆另一侧的投影角为:
其中,w为汽车行驶公路的路宽,h1为投影仪距离地面的高度,d1为投影仪在坐标系中的横向距离。
优选的是,所述步骤二中,视频图像校正过程包括对畸变图像校正,所述图像校正公式为:
其中,(xu,yu)是矫正后得到的像素点坐标,(xd,yd)为像素点畸变后的坐标,(x0,y0)为畸变中心坐标,rd为像素点距离畸变中心的距离,λ为畸变系数。
本发明所述的有益效果:本发明提出的基于高精度地图定位的积雪路面虚拟车道线投影方法,投影出的虚拟车道线与真实车道线位置基本重合,具有可投影功能的车辆可以辅助其它车辆行驶。车辆利用高精度地图,获取行驶车道线的信息以及本车的位置信息,计算出路宽以及车载投影仪与左右两侧车道线的距离,再结合投影仪高度,最终确定投影仪竖直平面上的投影角度。投影的虚拟车道线长度可随着车速自适应调整,同时,前照灯光束跟随驾驶员注视区域自适应调整。
附图说明
图1为本发明所述的积雪路面虚拟车道线投影方法结构框图。
图2为本发明所述的基于frenet坐标系下车道图。
图3为本发明所述的积雪路面虚拟车道线投影示意图
图4(a)和(b)为本发明所述的车载激光投影仪投影关系图。
图5(a)为本发明所述的畸变后的参考图
图5(b)为本发明所述的畸变后的标定图。
具体实施方式
下面结合附图对本发明做进一步的详细说明,以令本领域技术人员参照说明书文字能够据以实施。
如图1所示,本发明提供一种基于高精度地图的积雪路面虚拟车道线投影方法,在驾驶员行驶过程中,获取不同车速下的驾驶员注视点坐标,使虚拟车道线长度能够随着车速自适应调整,具体包括:
将车道中心线作为车道参考线,根据车道线位置,确定虚拟车道线的投影角度;
在驾驶员行驶过程中,获取不同车速下的驾驶员注视点坐标;
根据注视点坐标,确定驾驶员的注视区域,进而确定驾驶员的前视距离以及虚拟车道线投影长度。
虚拟车道线投影角度的确定包括:
在高精度地图中,获得车道两侧边界线l0、l1以及车道中心线l2,如图2所示,
根据车道两侧边界线,做其公垂线,公垂线和两侧车道边界线的交点分别为:k1和k2,两个交点之间的长度为w,即为路宽。
将车道中心线作为车道参考线,使用车道中心线的切线向量和法线向量简历frenet坐标系,frenet坐标系以起始车道中心线为原点,以沿车道中心线方向为s方向,即道路方向的纵向距离,以车道中心线法向量方向为d方向,即偏离车道中心线的横向距离,s方向和d方向为两个相互垂直的坐标轴,车辆位置可以用三个维度来描述,即(s,d,t),其中,s表示车辆的纵向距离,d表示车辆的横向距离,t表示车辆行驶时的任意一时间点。
将投影仪安装在基于车辆坐标系(x,y,z)的z正方向线上,投以仪距离地面的高度为h1。
在本发明中,作为一种优选,选用激光投影仪。
在任一时刻,投影仪在frenet坐标系中的横向距离为d1,投影仪与一侧车道边界线水平横向垂直距离为
投影仪向车辆一侧(包括车辆一侧前方和后方)投影角为:
投影仪向车辆另一侧(包括车辆另一侧前方和后方)投影角为:
获取不同车速下驾驶员注视点坐标,
步骤一:实验准备,实验设备包括:眼镜式眼动仪,用于实时获取行车过程驾驶员眼动数据(图像坐标系)及驾驶员视角的道路视频图像(由安装在眼镜式眼动仪上的单目摄像头拍摄)。由于眼镜式眼动仪会随驾驶员头部转动,会导致其所拍摄的视频图像也是动态的。因此,使用固定视角行车记录仪同步采集行车前方道路视频图像。安装该行车记录仪时,需要预先测量该行车记录仪距离车辆后轴中点位置。该行车记录仪装在前风挡玻璃,后视镜正下方,所拍摄视角为行车正前方。分别在30km/h,50km/h,70km/h,90km/h的车速下测出驾驶员的注视点。
步骤二:数据同步。由于实验使用了眼动仪、行车记录仪系统进行数据采集,在数据分析过程中多套系统采集到的数据需要同步。为此,在采集这两组数据时都额外记录了每一帧数据的unix时间戳(unixtimestamp)。unix时间戳在许多操作系统中被广泛采用。实验中使用多套数据采集设备均可以记录该时间戳。在使用unix时间作为同步基准之后,总体的同步误差可以小于1ms,并且没有额外的设备需求。
步骤三:图像矫正,对采集到的视频图像进行预处理,主要是畸变图像的校正。在视频图像数据处理阶段,利用如下公式进行图像矫正:
其中,(xu,yu)是矫正后得到的像素点坐标,(xd,yd)为像素点畸变后的坐标,(x0,y0)为畸变中心坐标,rd为像素点距离畸变中心的距离,λ为畸变系数。如图5(a)、(b)所示。
参数λ仅与摄像机镜头参数有关,需要在测试之前进行摄像机参数标定,标定方法如下:
(1)使用待测摄像机拍摄标定用图,一般为直线组成的图形,并且尽量在各个方向均有直线(标定板上的几何直线)
(2)识别圆弧,一般可以通过角点检测或者边缘检测的方式估算各圆弧的几何参数(圆心及半径);
获取的畸变直线(近似圆弧)表示为如下形式:
求解式中的参数a、b、c;
(3)将各直线段畸变后的圆弧的几个重要特征点,获取实际点,畸变点,畸变中心的坐标。具体计算公式如下,其中求解x0,y0:
(a1-a2)x0+(b1-b2)y0+(c1-c2)=0;
(a1-a3)x0+(b1-b3)y0+(c1-c3)=0;
(4)通过畸变中心参数匹配并估算式中的系数λ;
(5)使用上式进行逐像素点的变换后得到校正后的图像;
其中,畸变系数一般为普通镜头尺寸的1/20。
步骤四:行车过程驾驶员注视点获取
眼动设备采集到的原始眼动数据包含了注视点和扫视点,其中的扫视点记录了驾驶员视点切换的过程,驾驶员扫视点更多时候是由于视线移动造成,对于道路环境认知,更为关注的是驾驶员的注视信息。采用离差阈值法(i-dt)来分离扫视点,获得注视点。
离差阈值法(i-dt)利用注视点对应的眼动速度低且趋向于紧密地聚集在一起的特性分类注视和扫视。离差阈值法通过计算某一个窗口内的离差来判断是否为注视点,具体离差的计算为:
其中,max(x)为窗口内视点x坐标最大值,max(y)为窗口内视点y坐标最大值;min(x)为窗口内视点x坐标最小值,min(y)为窗口内视点y坐标最小值。
如果离差低于离差阈值,该窗口是注视点,并且该窗口会进一步展开(向右扩展)直到窗口的离散度高于阈值。如果初始窗口的离差值就高于阈值,则直接移动窗口。用这种方法遍历整段数据后,所有剩下的数据是扫视点。
在本实施例中,具体过程如下:
(1)初始化,时间窗口初值设定为0.2s,视点偏离阈值这里设定为50;
(2)计算时间窗口内的视点偏离d,如果低于视点偏离阈值,则认为该时间窗口是注视点,执行第3步;否则如果高于或等于视点偏离阈值,执行第4步;
(3)进入下一时刻,更新时间窗口,将下一时刻数据划入该动态时间窗口数据集,执行第2步;
(4)滑动时间窗口,新时间窗口起始从上一个窗口的末尾时刻t+1接入,窗口大小0.2s,执行第2步。
采用这种方法遍历时间序列,进而获得所有行车过程注视点。
获得注视点后,还需要对注视点进行定位处理,要把眼动仪记录的图像与固定坐标系(行车记录仪)下的图像进行匹配,得到固定像素坐标系下的注视点坐标。
使用surf特征进行图像匹配。surf算法使用了hessian矩阵计算每一个像素点的特征值,进而识别出图像稳定的边缘点(突变点),这些边缘点实际也就是hessian矩阵的判别式取得局部极大值的点。
上式中,(x,y)是任一像素点的坐标,f(x,y)是该像素点的灰度值。能够满足det(h)=0的所有像素点,即为特征点,在找到特征点后,surf会用一个独特的不随透视变换变化的特征向量描述它,以方便后续的匹配。下面是具体的特征向量求取方式:
(1)先求取主方向值,需要设计一个以特征点为中心,张角为60度的扇形滑动窗口,统计这个扇形区域内的haar小波特征总和。以步长为0.2弧度左右,旋转这个滑动窗口,再统计小波特征总和。小波特征总和最大的方向为主方向。特征总和的求法是对图像haar小波响应值dx、dy进行累加,得到一个矢量mw。
主方向为最大haar响应累加值所对应的方向,也就是最长矢量所对应的方向,即:
θ=θw|max{mw};
(2)在特征点周围选取一个正方形框,方向(正方形对角线方向)为特征点的主方向。将其划分为16个区域,每个区域统计25个像素的水平方向和垂直方向的haar小波特性(均相对于正方形框的主方向确定的)。生成特征点描述子,需要计算图像的haar小波响应。在一个矩形区域来计算haar小波响应。
(3)以特征点为中心,沿主方向将图像划分为4×4个子块,每个子块利用haar模板进行响应值计算,最后子块对应的特征向量:
v子块=[∑dx,∑|dx|,∑dy,∑|dy|];
至此,每个特征点的特征矢量已经可以求得,对于两幅待匹配图像都进行一次surf特征检测,可以获得两组特征点和特征矢量。在基准图像(固定的摄像头采集的图像)与待匹配图像(眼动仪获得的驾驶员视角的图像)中分别生成匹配的surf特征点对。然后使用ransac算法使更多的特征点和特征矢量相匹配。该算法假设数据由正常点和异常点构成,异常点是完全不适应假设模型的数据,对结果无影响。具体的实现方式是:
(1)首先随机选择4个特征点作为初始特征点。然后用这些点计算一个homography矩阵,该计算结果唯一;
式中,(x20,y20)为待匹配图像中选择的初始特征点的坐标,(x10,y10)为基准图像上选择的初始特征点的坐标;h表示homography矩阵。
(2)使用该homography矩阵变换驾驶员视角视频图像中的其他所有特征点;
式中,h表示homography矩阵,(x2,y2)为驾驶员视角图像坐标系下的特征点坐标;表示使用该homography矩阵变换将(x2,y2)的投影变换结果(x1',y1');
(3)将(x1',y1')与对应基准图像的匹配的特征点(x1,y1)进行误差分析,如果满足下式则直接输出该homography矩阵(n为特征点数)。
(4)如果本次匹配的特征点误差分析结果s大于之前一次则直接舍弃本次计算结果;否则保留本次homography矩阵,并继续进行下一次迭代计算;直到筛选出误差分析结果s最小(匹配程度最高)的homography矩阵,作为变换矩阵。
(5)根据求得的homography变换矩阵,可将移动视角下(驾驶员视角)的图像坐标系中的注视点变换为消除抖动后的固定图像坐标系下的注视点坐标:
式中,
最后需要把固定图像坐标系下的注视点坐标转换为以驾驶员位置为原点的世界坐标系下的的注视点坐标。
通过摄像头的空间位置、焦距等参数求解变换矩阵h':
式中(x0,y0)为图像中心坐标,f为相机焦距,r为相机位置的正交旋转矩阵,t为相机位置的平移矩阵。
r为相机位置的正交旋转矩阵,可写为:
t为相机位置的平移矩阵,可写为:
故坐标变换公式为:
其中,(x',y')为固定图像坐标系下的注视点坐标,(x”,y”)为世界坐标系下的注视点坐标,这些注视坐标构成了驾驶员的注视区域。
确定驾驶员前视距离以及虚拟车道线投影长度。
利用上述方法,分别计算出在20km/h,50km/h,70km/h,90km/h这4组实验车速下驾驶员的注视点坐标,这些实验车速值用字母vi表示(i=1,2,3,4):
其中,v1=20km/h,v2=50km/h,v3=70km/h,v4=90km/h;
驾驶员的注视点有多个(这里设为n个),为了方便后续求解虚拟车道线长度,选取平均注视点坐标作为整个驾驶员注视区域的代表点,在某一实验车速下的平均注视点坐标可表示为:
式中,x"j和y"j是驾驶员的注视点坐标,
速度v1对应驾驶员平均注视点
根据平均注视坐标可以计算出驾驶员的前视距离di:
根据这4组实验数据,通过线性插值的方法计算在实际行驶车速v∈[20,90]范围内,驾驶员在实际行驶过程中的前视距离d:
线性插值只能在特定的速度范围内求解前视距离,虚拟投影技术为了适用于在低车速和高车速工况,定义了当实际车速v低于20km/h以及超过90km/h的前视距离,定义如下:
虚拟车道线投影长度包括前方投影长度以及后方投影长度,前方投影长度与前视距离有关,后方投影长度与安全跟车距离有关,采用前后投影长度相同的方式,并引入参数k为经验系数,可根据实际路况调整k值),因此虚拟投影车道线长度公式为:
l=2kd;
前照灯可随车速自适应调节,上文已经给出任意车速下的驾驶员平均注视点坐标计算方法,已知前照灯离地高度为h0,结合驾驶员的前视距离d,驾驶员和前照灯位置在地面的投影距离相差不大,为方便计算,认为驾驶员和前照灯在地面的投影位置重合,然后可计算出前照灯射程最远的光束倾角(光束轴线与竖直方向夹角)γ,前照灯射程最远的光束落地点位于驾驶员平均注视点附近区域。
投影的虚拟车道线颜色可根据驾驶员的情绪或需求进行调整,车内摄像头获取驾驶员人脸图像,采用基于深度卷积神经网络算法识别面部表情,对图像进行灰度化归一化,识别并标出人脸、眼睛、嘴巴等面部特征,对这些面部特征进行判断,从而识别表情。实时监测驾驶员的情绪变化,当驾驶员处于紧张或愤怒状态,则投影出能使人镇静的颜色(比如黄、绿);当驾驶员处于疲倦状态,则投影出能使人兴奋的颜色(比如红)。
根据高精度地图提供的道路信息,可实现在特殊路段的投影功能。在红绿灯路口,采用基于优化的方向梯度直方图与线性支持向量机算法来检测行人,首先对比获取的前后帧图像的差异,只检测图像的差异部分,从而缩小了检测面积,提高了检测效率。当车载传感器监测到有行人横穿马路时,投影系统能够投影出斑马线辅助行人安全地过马路。在有公交站台的位置,投影系统能够投影出公交专用车道线和警示文字。在靠近学校路段,投影系统能够投影出“前方学校,减速慢行”等警示文字。
当车辆变换车道时,车辆行驶方向与道路方向有一定夹角,投影仪需要在水平面转动相应角度完成正确投影功能。实时监测并估计驾驶员人眼视线,当驾驶员视线由正前方转移到后视镜时视为驾驶员具有转向意图,当驾驶员具有转向意图时,计算出车辆转向角度β,投影仪在水平方向偏转角度β,投影虚拟车道线。
处理器的功能是获得投影仪与左右车道边界线的距离,根据监测到的驾驶员视线、情绪,车速以及特殊路况(学校路段、公交站、人行横道处)确定好投影仪的投影角度、投影颜色、投影车道线长度以及其它投影信息等,并将指令传给投影仪控制模块。
投影仪控制模块是接受处理器传入的指令,调整投影仪角度,投影虚拟车道边界线。
当高精地图定位信息缺失时,可以使用车载传感器获取周围环境信息,车载传感器至少包括激光雷达,通过激光雷达获取该条道路上的车流量点云信息,确定车流量与左右两侧实景的分割线,通过激光雷达获取投影仪与分割线的水平横向距离,此分割线可视为辅助车道边界线,最后投影出此虚拟辅助车道线,维持道路的行车秩序。
尽管本发明的实施方案已公开如上,但其并不仅仅限于说明书和实施方式中所列运用,它完全可以被适用于各种适合本发明的领域,对于熟悉本领域的人员而言,可容易地实现另外的修改,因此在不背离权利要求及等同范围所限定的一般概念下,本发明并不限于特定的细节和这里示出与描述的图例。