一种车用全景环视障碍物预警方法与流程
本发明属于辅助驾驶领域,更具体地,涉及一种车用全景环视障碍物预警方法。
背景技术:
汽车360°环视算法(aroundviewmonitor,avm)是汽车高级辅助驾驶系统(advanceddrivingassistancesystem,adas)中非常重要的一员,avm算法生成的全景鸟瞰图可以在紧凑的停车场或者狭窄的道路场景下,有效的帮助驾驶员观察车外路况,规避车辆碰撞事故。障碍物预警功能又可以在驾驶员走神或无暇观察周围路况时,检测车辆周围的常见障碍物及行人,并进行声音报警提醒,提高驾驶安全。目前车辆盲区监控的方法主要有以下三种:1)直接使用监控相机观察各个方向,没有做任何其他处理;2)通过安装的雷达进行报警提醒车辆周围的障碍物;3)基于车辆周围的若干个镜头,利用图像拼接技术、图像融合技术等实现全景环视。
其中,基于镜头原始画面的方式,存在同时显示多个画面,不能直接显示出车辆所处的环境,需要投入较多的注意力观察各个视角,在车辆移动过程中,非常不利于行车安全。
基于雷达的方式,在没有视频画面辅助的情况下,雷达报警提醒时,驾驶员无法直接获取障碍物所处的位置,而且车辆在前进过程中,雷达是无法预警的,难以帮助驾驶员在狭窄的路况下进行操作。
基于图像拼接的方法,一般的图像拼接方法标定过程十分繁琐,需要确定许多棋盘格的点,同时指定对应的图像点,计算变换矩阵,最后对校正后的图像进行透视变换,得到拼接图。此方法虽然相对前两种方法能够直接观察行驶路况,但是却缺少预警系统。驾驶员不会随时关注图像屏幕,为避免意外事故,需要额外的预警系统时刻监控车辆周边路况信息,在障碍物或行人靠近时进行报警提醒驾驶员注意观察。
技术实现要素:
针对现有技术的以上缺陷或改进需求,本发明提出了一种车用全景环视障碍物预警方法,由此解决现有基于图像拼接方法存在的操作繁琐的技术问题。
为实现上述目的,本发明提供了一种车用全景环视障碍物预警方法,包括:
获取各车载相机拍摄的原始图像,加载查找表,其中,所述查找表用于反映各车载相机拍摄的原始图像中的像素点在全景图像中的对应位置;
通过双线性插值获取各原始图像中与全景图像每个点对应的像素点的像素值,并根据各原始图像之间的融合权重对各原始图像之间的重叠区域进行像素的融合,得到全景图像中各点的像素值,进而得到全景图像;
对全景图像中的障碍物进行检测,若检测的障碍物位于预设预警区域内,则进行警示。
优选地,在所述获取各车载相机拍摄的原始图像,加载查找表之前,所述方法还包括:
分别在车载相机的各个位置旋转棋盘格,获取各个车载相机的原始图像,进而通过标定得到车载相机的内参及畸变参数,以对各原始图像进行畸变校正;
通过标定得到车载相机的外参,然后根据车载相机的内参、外参及畸变校正后的原始图像得到单应性矩阵;
设置观察者视角,利用车载相机的内参和外参得到各车载相机在观察者视角下的重投影图像,并基于单应性矩阵以及畸变参数将重投影图像与对应的原始图像建立联系,保存重投影图像像素对应的原始图像的像素位置。
优选地,所述通过标定得到车载相机的外参,包括:
在车辆的对角线方向分别对称放置一个棋盘格,且要求各棋盘格在最近的两个车载相机中清晰可见,测量各个车载相机距离棋盘格的相对距离;
选取各棋盘格内点,由各个车载相机距离棋盘格的相对距离得到各棋盘格内点在世界坐标系下的坐标,其中,所述世界坐标系以车辆中心为坐标系原点,x轴指向车辆右侧,y轴指向车辆正前方,棋盘格所在平面z值为0;
由各棋盘格内点在世界坐标系下的坐标及各棋盘格内点对应的相机图像上的二维坐标,使用pnp算法进行外参旋转矩阵和平移向量的估计。
优选地,由
优选地,由p`u=h`h-1pu确定重投影图像像素对应的原始图像的矫正图像的像素位置,其中,h`为观察者视角下的单应性矩阵,
优选地,各原始图像之间的融合权重的获取方式为:
计算各车载相机之间的重叠区域,并根据重叠区域确定融合区域,对于融合区域内的任意像素点,计算该像素点与融合区域的第一边界之间的第一夹角及与融合区域的第二边界之间的第二夹角;
由所述第一夹角、所述第二夹角及所述第一边界与所述第二边界之间的夹角得到所述融合区域对应的两幅图像的融合权重。
优选地,由w1=θ1/θ及w2=θ2/θ分别得到所述融合区域对应的两幅图像的融合权重,其中,θ1表示所述第一夹角,θ2表示所述第二夹角,θ表示所述第一边界与所述第二边界之间的夹角。
优选地,由iblend(u,v)=w2*i1(u,v)+w1*i2(u,v)确定融合区域的像素值,其中,i1(u,v)表示融合区域对应的其中一幅图像中(u,v)位置处的像素点的像素值,i2(u,v)表示融合区域对应的另一幅图像中(u,v)位置处的像素点的像素值,iblend(u,v)表示融合后的全景图像中相同位置处的像素值。
优选地,所述对全景图像中的障碍物进行检测,包括:
在yolov3的主干网络结构中融合efficientnet主干网,以对全景图像中的障碍物进行检测,其中,yolov3网络的输入图像尺寸为416×416,通道数为3,主干网的宽度乘子为α=0.75。
优选地,所述预设预警区域的获取方式为:
在车辆周围设置预警区域,根据所述预警区域的边界点,由p`c=h`pw得到所述边界点对应的全景图中的像素位置,并根据各所述边界点在全景图中的像素位置得到全景图中的预警区域,其中,p`c表示所述边界点对应的全景图中的像素位置,pw表示所述边界点在世界坐标系下的位置。
总体而言,通过本发明所构思的以上技术方案与现有技术相比,能够取得下列有益效果:
(1)可以在只标定少数特征点的情况下,进行外参的精确估计,标定过程灵活简单;
(2)通过设置预警区域,具有更加广的环视视野,左右可覆盖约两个车道,充足的观察距离能有效避免突发事故的发生;
(3)增加的障碍物及行人预警功能能够有效避免驾驶员注意力游走时的意外发生;
(4)运用深度学习算法,改进后的网络计算量小,能够有效的运用硬件资源,保证检测准确率。
附图说明
图1是本发明实施例提供的一种车用全景环视障碍物预警方法的流程示意图;
图2是本发明实施例提供的另一种车用全景环视障碍物预警方法的流程示意图;
图3是本发明实施例提供的一种棋盘格摆放示意图;
图4是本发明实施例提供的一种融合示意图;
图5是本发明实施例提供的一种预警区域设置示意图;
图6是本发明实施例提供的一种预警效果图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
在本发明实例中,“第一”、“第二”等是用于区别不同的对象,而不必用于描述特定的顺序或先后次序。
本发明提供的一种车用全景环视障碍物预警方法,可以在采用若干个车载镜头的情况下,利用图像拼接技术生成观察视角较广的360度环视无死角的画面,帮助驾驶员观察车辆周围情况;使用深度学习的方法进行常见障碍物及行人检测,监控视角盲区并预警以保障行车安全。
如图1所示是本发明实施例提供的一种车用全景环视障碍物预警方法的流程示意图,包括以下步骤:
s1:获取各车载相机拍摄的原始图像,加载查找表,其中,查找表用于反映各车载相机拍摄的原始图像中的像素点在全景图像中的对应位置;
s2:通过双线性插值获取各原始图像中与全景图像每个点对应的像素点的像素值,并根据各原始图像之间的融合权重对各原始图像之间的重叠区域进行像素的融合,得到全景图像中各点的像素值,进而得到全景图像;
s3:对全景图像中的障碍物进行检测,若检测的障碍物位于预设预警区域内,则进行警示。
如图2所示是本发明实施例提供的另一种车用全景环视障碍物预警方法的流程示意图,涉及到相机的内参标定、装车之后的外参标定及图像融合技术等步骤。
(一)avm流程
其中,相机个数n取值可以根据需要确定,优选为4、6、8。
本发明实施例中的avm整个流程可分为离线与在线两个模块,离线模块用于计算鱼眼图像每个像素点在拼接图中的位置,每次摄像头位置有变更时,都需要重新计算查找表lut,此过程比较耗时。在线模块用于在加载lut后(只需要设备启动后加载一次)进行实时拼接,主要涉及到像素赋值,计算量较小,其中光照补偿步骤执行与否主要看硬件性能与效果之间的平衡。
具体方法步骤如下:
(1)鱼眼相机的离线标定:
分别在车载相机的各个位置旋转棋盘格,获取各个车载相机的原始图像,使用张正友标定法获取相机的内参及畸变参数。
(2)外参标定:
棋盘格的摆放如图3所示,其中棋盘格未直接画出,而是以灰色圆表示棋盘格的角点,以车辆中心建立如图3所示的世界坐标系,x轴指向车辆右侧,y轴指向车辆正前方,棋盘格所在平面z值为0。在车辆的对角线方向分别对称放置一个棋盘格,其中要求各棋盘格在最近的两个相机中清晰可见,测量各个相机距离棋盘格的相对距离。最后选取棋盘格内点(即图3中灰色圆所在位置),得到棋盘格内点的3d点,即在世界坐标系下的坐标
此过程只需获取上图中十二个灰色圆所在世界坐标即可,不用计算所有棋盘格角点的位置。
(3)单应性矩阵的计算
假设世界坐标是以车身中心为原点,z轴高度为0,故可计算出世界坐标与畸变校正图像坐标之间的对应关系为下式:
其中
k为相机内参,考虑到z值为0,即zw=0,得到单应性矩阵h为:
(4)离线生成查询表
设置虚拟观察者欧拉角为θ=(π00),世界坐标坐标为pview=(00zh),并利用罗德里格旋转公式计算出观察者视角下的相机外参r`,t`,设虚拟观察者的内参与相机相同,由步骤(3)可知虚拟观察者的单应性矩阵为h`。
其中,
利用相机内外参得到每个相机画面在此视角下的重投影图像,并将重投影图像与鱼眼矫正图像建立联系,保存重投影图像像素对应的鱼眼矫正图像的像素位置。
设重投影后的像素坐标为p`u,则两者之间的关系如下:
即p`u=h`h-1pu。
步骤(1)中已获得相机的鱼眼畸变参数d=[1d1d2d3d4],再计算出鱼眼矫正图像与鱼眼图像像素映射关系为:
其中,pd为鱼眼图像中像素位置。
(5)生成融合区域的权重
计算相机之间的重叠区域,在此基础上设置一个合适宽度,计算重合区域中的每个像素权重,采用alpha融合方法得到拼接图。如图4所示,虚线部分为两图之间的重叠区域,若直接采用此区域,较大的融合面积会造成一定程度的重影问题,影响拼接效果,比较af与fc,假设af>fc,减少af为ef,以oe与oc之间的区域作为权重计算的融合区域。
在oe与oc区域内的像素坐标p,分别计算其与边界oe、oc的夹角θ1,θ2,oe、oc的夹角为θ,融合区域两幅图像对应像素的权重分别为w1=θ1/θ,w2=θ2/θ,此像素位置最终的融合像素值为:
iblend(u,v)=w2*i1(u,v)+w1*i2(u,v)
如图2所示,在线处理部分的具体实施方式为:
首先获取各相机的图像,然后加载查找表;
查找表存储格式为(xdst,ydst,id,xsrc,ysrc,w),每行数据存储全景图中的像素位置(xdst,ydst),对应相机拍摄的原始图像序号id,及该图像上的像素位置(xsrc,ysrc),w表示融合区域权重,若在非融合区域,w=1,否则根据w1或者w2计算的结果进行像素的融合。
因为已知道全景图像每个像素在原始图中的像素位置,故可以在原始图上对该点进行双线性插值,公式如下:
其中,int()表示取整操作,i(x,y)为坐标(x,y)处的像素值。
不同方向的画面进行拼接融合时,由于存在光照不均匀的情况,如果直接进行显示,会出现不自然的情形,例如逆光行驶时,前视与侧视会存在颜色断层,为了对颜色进行修正,采用如下公式进行修正:
其中,ir表示新的r通道值,
(二)障碍物及行人预警
更改原始yolov3的主干网络结构,融合efficientnet主干网改进深度学习算法yolov3,其中,yolov3网络的输入图像尺寸为416×416,通道数为3,主干网的宽度乘子为α=0.75,此网络在较小的计算代价下也能具有较好的特征学习能力,并且在保证速度的同时具有较高的检测精度。获取到环视拼接图以后,缩放至416*416,进行障碍物检测。
在车辆周围设置roi区域,设置报警范围,离车身中心宽长为(roi_w,roi_h),世界坐标系下的示意图如图5所示,已知左上角与右下角的点,再使用公式p`c=h`pw进行计算,得出该坐标对应全景图中的像素位置,并绘制全景图中的矩形预警区域。为了增加响应时间,增加预警距离,与设置roi区域类似,可设置左右三个车道,前后近10m的检测距离。
若检测的障碍物出现在roi区域内,则进行声音报警提醒驾驶员注意;在roi区域外,只在屏幕上进行显示。效果图如图6所示。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
起点商标作为专业知识产权交易平台,可以帮助大家解决很多问题,如果大家想要了解更多知产交易信息请点击 【在线咨询】或添加微信 【19522093243】与客服一对一沟通,为大家解决相关问题。
此文章来源于网络,如有侵权,请联系删除