透明A柱的实现方法、装置、汽车及介质与流程

文档序号:29573473发布日期:2022-04-09 04:48阅读:305来源:国知局
透明A柱的实现方法、装置、汽车及介质与流程
透明a柱的实现方法、装置、汽车及介质
技术领域
1.本发明涉及汽车辅助技术领域,尤其是涉及一种透明a柱的实现方法、装置、汽车及介质。


背景技术:

2.汽车a柱是指挡风玻璃和左右前车门的连接柱,a柱在发动机舱和驾驶舱之间,左右后视镜的上方。汽车在转弯或变道时,驾驶者的视野都会被a柱部分遮挡,造成一个视野上的盲区,使汽车行驶存在安全隐患。目前,通常通过把车外场景成像于a柱显示屏上的方式达到透视的效果,从而扩大驾驶员的视野范围,降低安全隐患。但是现有的透明a柱的实现方法的性价比较低。


技术实现要素:

3.有鉴于此,本发明的目的在于提供一种透明a柱的实现方法、装置、汽车及介质,以降低投入成本,提高成像性能,从而提升透明a柱的实现方法的性价比。
4.为了实现上述目的,本发明实施例采用的技术方案如下:
5.第一方面,本发明实施例提供了一种透明a柱的实现方法,包括:通过单目摄像头分别获取当前时刻a柱外侧的场景图像,并获取当前时刻a柱外侧的场景图像的特征点;通过汽车车载通讯总线获取当前时刻汽车的运动参数,并基于运动参数确定当前时刻相对于前一时刻单目摄像头的视点位置和姿态的变化;将当前时刻a柱外侧的场景图像的特征点与前一时刻a柱外侧的场景图像的特征点进行匹配,得到匹配特征点对;基于当前时刻相对于前一时刻单目摄像头的视点位置和姿态的变化和匹配特征点对,确定当前时刻场景图像中被匹配的特征点的景深;基于景深对当前时刻a柱外侧的场景图像进行3d重构,以当前时刻驾驶员的眉心位置为视点,以显示屏的空间矩形为投影面,得到重构场景的透视投影图像,并将重构场景的透视投影图像显示到a柱上的显示屏上。
6.在一种实施方式中,通过汽车车载通讯总线获取当前时刻汽车的运动参数,并基于运动参数确定当前时刻相对于前一时刻单目摄像头的视点位置和姿态的变化,包括:通过汽车车载通讯总线获取当前时刻汽车的运动参数,并基于运动参数确定当前时刻相对于前一时刻汽车的位置和姿态的变化;基于当前时刻相对于前一时刻汽车的位置和姿态的变化,以及预先标定的单目摄像头在汽车上的安装位置和姿态,确定当前时刻相对于前一时刻单目摄像头的视点位置和姿态的变化。
7.在一种实施方式中,基于当前时刻相对于前一时刻单目摄像头的视点位置和姿态的变化和匹配特征点对,确定当前时刻场景图像中被匹配的特征点的景深,包括:对于每对匹配特征点对,在当前时刻的摄像头三维直角坐标系中,确定当前时刻单目摄像头到当前时刻的特征点方向的第一射线,以及前一时刻单目摄像头到前一时刻的特征点方向的第二射线;将第一射线与第二射线之间距离最近的两个点的中心点确定为目标点;将目标点与当前时刻单目摄像头之间的距离确定为匹配特征点对中当前时刻的特征点的景深。
8.在一种实施方式中,基于景深对当前时刻a柱外侧的场景图像进行3d重构,以当前时刻驾驶员的眉心位置为视点,以显示屏的空间矩形为投影面,得到重构场景的透视投影图像,并将重构场景的透视投影图像显示到a柱上的显示屏上,包括:基于景深对当前时刻a柱外侧的场景图像进行3d重构,得到重构场景;通过dms摄像头获取当前时刻驾驶员的眉心位置,并基于眉心位置确定驾驶员的视点;基于视点和显示屏的空间矩形,得到重构场景的透视投影图像;将重构场景的透视投影图像显示到a柱上的显示屏上。
9.在一种实施方式中,通过dms摄像头获取当前时刻驾驶员的眉心位置,并基于眉心位置确定驾驶员的视点,包括:通过dms摄像头获取当前时刻驾驶员的眉心位置,并通过坐标系转换将眉心位置转换为相对于汽车坐标系的眉心位置;基于相对于汽车坐标系的眉心位置,确定驾驶员的视点。
10.在一种实施方式中,单目摄像头在汽车上的安装位置的标定,包括:基于预先确定的汽车三维直角坐标系,确定单目摄像头在汽车上的安装位置。
11.在一种实施方式中,单目摄像头在汽车上的安装姿态的标定,包括:确定单目摄像头相对于汽车的滚轮角、偏航角和俯仰角;将单目摄像头相对于汽车的滚轮角、偏航角和俯仰角,通过迭代运算进行修正,得到标定后的单目摄像头在汽车上的安装姿态;
12.迭代运算包括:在预设条件下,通过单目摄像头获取实时图像,并获取实时图像的特征点;将不同时刻的实时图像的特征点进行匹配,并计算特征点的实际偏移;基于滚轮角、偏航角和俯仰角计算特征点的理论偏移,并计算实际偏移和理论偏移之间的当前偏移差值;若当前偏移差值不符合预设要求,则按照多个预设调节方向和第一微调步伐对滚轮角、偏航角和俯仰角进行调节,并分别计算多个偏移差值;若多个偏移差值中最小的偏移差值小于当前偏移差值,则按照最小的偏移差值对应的预设调节方向和第一微调步伐对滚轮角、偏航角和俯仰角进行修正,得到标定后的单目摄像头在汽车上的安装姿态;若多个偏移差值中最小的偏移差值大于或等于当前偏移差值,则将第二微调步伐确定为第一微调步伐,重复迭代运算,直至当前偏移差值符合预设要求;其中,第二微调步伐小于第一微调步伐。
13.第二方面,本发明实施例提供了一种透明a柱的实现装置,包括:特征点获取模块,用于通过单目摄像头分别获取当前时刻a柱外侧的场景图像,并获取当前时刻a柱外侧的场景图像的特征点;位姿确定模块,用于通过汽车车载通讯总线获取当前时刻汽车的运动参数,并基于运动参数确定当前时刻相对于前一时刻单目摄像头的视点位置和姿态的变化;匹配模块,用于将当前时刻a柱外侧的场景图像的特征点与前一时刻a柱外侧的场景图像的特征点进行匹配,得到匹配特征点对;景深确定模块,用于基于当前时刻相对于前一时刻单目摄像头的视点位置和姿态的变化和匹配特征点对,确定当前时刻场景图像中被匹配的特征点的景深;重构模块,用于基于景深对当前时刻a柱外侧的场景图像进行3d重构,以当前时刻驾驶员的眉心位置为视点,以显示屏的空间矩形为投影面,得到重构场景的透视投影图像,并将重构场景的透视投影图像显示到a柱上的显示屏上。
14.第三方面,本发明实施例提供了一种汽车,包括处理器和存储器,存储器存储有能够被处理器执行的计算机可执行指令,处理器执行计算机可执行指令以实现上述第一方面提供的任一项的方法的步骤。
15.第四方面,本发明实施例提供了一种计算机可读存储介质,计算机可读存储介质
上存储有计算机程序,计算机程序被处理器运行时执行上述第一方面提供的任一项的方法的步骤。
16.本发明实施例带来了以下有益效果:
17.本发明实施例提供的上述透明a柱的实现方法、装置、汽车及介质,首先通过单目摄像头分别获取当前时刻a柱外侧的场景图像,并获取当前时刻a柱外侧的场景图像的特征点;然后通过汽车车载通讯总线获取当前时刻汽车的运动参数,并基于运动参数确定当前时刻相对于前一时刻单目摄像头的视点位置和姿态的变化;接着将当前时刻a柱外侧的场景图像的特征点与前一时刻a柱外侧的场景图像的特征点进行匹配,得到匹配特征点对;之后基于当前时刻相对于前一时刻单目摄像头的视点位置和姿态的变化和匹配特征点对,确定当前时刻场景图像中被匹配的特征点的景深;最后基于景深对当前时刻a柱外侧的场景图像进行3d重构,以当前时刻驾驶员的眉心位置为视点,以显示屏的空间矩形为投影面,得到重构场景的透视投影图像,并将重构场景的透视投影图像显示到a柱上的显示屏上。上述方法通过单目摄像头以及汽车车载通讯总线获取相关数据得到景深,进而进行a柱外侧场景的3d重构,3d重构适用性较强,同时能够降低投入成本,提高成像性能,从而提升透明a柱的实现方法的性价比。
18.本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
19.为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
20.为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
21.图1为本发明实施例提供的一种透明a柱的实现方法的流程图;
22.图2为本发明实施例提供的一种单目摄像头的标定方法的流程图;
23.图3为本发明实施例提供的一种景深计算方法的示意图;
24.图4为本发明实施例提供的一种3d重构方法的流程图;
25.图5为本发明实施例提供的一种透明a柱的实现装置的结构示意图;
26.图6为本发明实施例提供的一种汽车的结构示意图。
具体实施方式
27.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
28.目前透明a柱有三大类技术路线:
29.1、机械、材料、光路类
30.通过机械上设计镂空的a柱,或材料上采用透明的a柱,或设计特殊的光路系统,以期达到透视的效果。但由于安全、性能等诸多方面的因素限制,导致此类方法的可行性存在问题。
31.2、电子预警类
32.通过摄像头、雷达等传感器,预测进入a柱盲区的物体,如果距离汽车过近,则发出音视频预警信息。但由于成像信息的缺乏,导致此类方法的作用类似于报警雷达,与a柱关联性不强,用户体验差。
33.3、电子成像类
34.此类方法是把车外场景成像于a柱显示屏上,以期达到透视的效果。具体有四小类技术路线:
35.(1)固定视点无景深类
36.不考虑驾驶员的视点,不考虑景深,仅对摄像头图像做固定视点、假想景深的透视变换。此类方法用户体验差,a柱成像本身的透视关系,及其与两侧实景的拼接,都容易发生失真。
37.(2)固定视点有景深类
38.不考虑驾驶员的视点,但考虑景深,对摄像头图像做固定视点、实际景深的透视变换。此类方法虽然考虑了景深,但它是利用左右a柱两处的摄像头和车头一处的摄像头实现的,左前两个摄像头检测左侧a柱盲区里的景深,右前两个摄像头检测右侧a柱盲区里的景深,这将导致前摄像头的视野需要很大,必须采用鱼眼镜头。鱼眼镜头的畸变矫正需求及其与左右a柱摄像头的视点位置和角度的过大偏差,都将导致景深检测的可行性存疑。
39.(3)随动视点无景深类
40.考虑驾驶员的视点,但不考虑景深,对摄像头图像做随动视点、假想景深的透视变换。此类方法的用户体验较差,a柱成像本身的透视关系容易发生失真,也会殃及成像与两侧实景的拼接。
41.(4)随动视点有景深类
42.考虑驾驶员的视点,考虑景深,对摄像头图像做随动视点、实际景深的透视变换。此类方法利用瞳孔检测定位驾驶员视点,利用景深功能的行车记录仪获取景深,或者利用单目图像深度估计算法,或者测距传感器获取景深,或者利用双目摄像头获取景深。此类方法的用户体验最好,如果景深点云(精度与分辨率)足以实现a柱盲区场景3d重构,a柱成像本身的透视关系,及其与两侧实景的拼接,都容易发生保真。
43.具体参见表1所示,现有的透明a柱的实现方法的性价比都比较低。
44.表1现有的透明a柱的实现方法对比
[0045][0046][0047]
基于此,本发明实施例提供的一种透明a柱的实现方法、装置、汽车及介质,可以降低投入成本,提高成像性能,从而提升透明a柱的实现方法的性价比。
[0048]
为便于对本实施例进行理解,首先对本发明实施例所公开的一种透明a柱的实现方法进行详细介绍,该方法可以由汽车的控制器执行,参见图1所示的一种透明a柱的实现方法的流程图,示意出该方法主要包括以下步骤s101至步骤s105:
[0049]
步骤s101:通过单目摄像头分别获取当前时刻a柱外侧的场景图像,并获取当前时刻a柱外侧的场景图像的特征点。
[0050]
在一种可能的实施方式中,可以通过安装在汽车左右两个a柱上的两个单目摄像头同时采集左右两个a柱外侧的实时场景图像,并遍历场景图像的特征点,得到当前时刻a柱外侧的场景图像的特征点,具体可以采用包括但不限于以下方式获取特征点:hog、sift、surf、orb、lbp、haar。
[0051]
步骤s102:通过汽车车载通讯总线获取当前时刻汽车的运动参数,并基于运动参数确定当前时刻相对于前一时刻单目摄像头的视点位置和姿态的变化。
[0052]
在一种可能的实施方式中,车载通讯总线包括但不限于can、canfd、ethernet、flexray和lin。本实施例中可以通过汽车车载通讯总线获取汽车实时的运动参数,运动参数包括但不限于:方向盘角度和四轮轮速;汽车的四轮轮速最小单位通常在时速0.05~0.10公里,所以上述方法适用的汽车速度底限为时速0.1公里。在具体应用中,可以根据方向盘角度和四轮轮速计算汽车行驶轨迹;由于摄像头相对于汽车坐标系的位置与姿态是预先标定好的,那么在连续时刻下,可以基于汽车的行驶轨迹,推算各个时刻的单目摄像头的视点位置与姿态的变化。
[0053]
步骤s103:将当前时刻a柱外侧的场景图像的特征点与前一时刻a柱外侧的场景图
像的特征点进行匹配,得到匹配特征点对。
[0054]
在一种可能的实施方式中,遍历前一时刻左右两个单目摄像头采集到的a柱外侧的场景图像,获取前一时刻a柱外侧的场景图像的特征点,并将当前时刻a柱外侧的场景图像的特征点与前一时刻a柱外侧的场景图像的特征点进行匹配,得到匹配特征点对。
[0055]
步骤s104:基于当前时刻相对于前一时刻单目摄像头的视点位置和姿态的变化和匹配特征点对,确定当前时刻场景图像中被匹配的特征点的景深。
[0056]
在一种可能的实施方式中,对于一对匹配的特征点,当前时刻的特征点处于当前时刻的单目摄像头向该特征点方向上的射线上,前一时刻的特征点处于前一时刻的单目摄像头向该特征点方向上的射线上,由于系统误差,两条射线在三维空间中相交的可能性不大,但相近的可能性很大,因此,可以将两条射线的最相近点到当前时刻的单目摄像头的距离作为该特征点的景深。
[0057]
步骤s105:基于景深对当前时刻a柱外侧的场景图像进行3d重构,以当前时刻驾驶员的眉心位置为视点,以显示屏的空间矩形为投影面,得到重构场景的透视投影图像,并将重构场景的透视投影图像显示到a柱上的显示屏上。
[0058]
在一种可能的实施方式中,可以根据当前时刻被匹配特征点的景深对当前时刻a柱外侧的场景图像进行3d重构,然后根据左右两个a柱上的显示屏的位置,以当前时刻驾驶员的眉心位置为视点,以显示屏的空间矩形为投影面,将左右两个a柱外侧的3d重构的重构场景的透视投影图像分别显示到左右两个a柱上的显示屏上。
[0059]
本发明实施例提供的上述透明a柱的实现方法,通过单目摄像头以及汽车车载通讯总线获取相关数据得到景深,进而进行a柱外侧场景的3d重构,3d重构适用性较强,同时能够降低投入成本,提高成像性能,从而提升透明a柱的实现方法的性价比。
[0060]
为了提高3d重构的适用性以及成像性能,预先对单目摄像头在汽车上的安装位置和姿态进行了标定,具体可以采用包括但不限于以下方式进行安装为止的标定:基于预先确定的汽车三维直角坐标系,确定单目摄像头在汽车上的安装位置,采用的方法包括但不限于借助卷尺和铅垂线直接测量摄像头的安装高度、距离车身横向中心轴的偏移距离,以及距离车身纵向中心轴的偏移距离。
[0061]
在具体应用中,在俯视视野下汽车在地面的投影近似矩形,车头车尾是矩形的短边,左右两侧是矩形的长边,以矩形的中心(对角线交点)为原点,由原点沿地面向右为x轴正向,由原点沿地面向前为y轴正向,由原点垂直地面向上为z轴正向,可以构建汽车的三维直角坐标系,即汽车坐标系。在进行单目摄像头相对于汽车坐标系的安装位置的测量时,需要驻车于水平路面进行测量,操作过程需要注意安全,具体方法如下:
[0062]
(1)沿着左侧前后两轮的外侧在地面确定一条线段,线段前端超越车头,后端超越车尾;同理确定右侧线段。
[0063]
(2)借助铅垂线确定车头最前端在地面的投影点,经过此点确定一条线段与上述左右两侧线段垂直并相交;同理确定车尾的线段。
[0064]
(3)由上述前、后、左、右四条线段构成的矩形可以确定前述的汽车坐标系。
[0065]
(4)测量矩形的长和宽,分别记作车长和车宽;测量车头线段与前轮着地点的距离,前轮着地点与后轮着地点的距离,后轮着地点与车尾线段的距离。
[0066]
(5)借助铅垂线找出左侧单目摄像头在地面的投影点,测量投影点到左侧线段的
距离,测量投影点到车头线段的距离,测量摄像头的离地高度,从而计算左侧单目摄像头在汽车坐标系的安装位置;同理测量并计算右侧单目摄像头在汽车坐标系的安装位置。
[0067]
进一步,可以采用采用包括但不限于以下步骤1至步骤2进行单目摄像头在汽车上的姿态的标定:
[0068]
步骤1:确定单目摄像头相对于汽车的滚轮角、偏航角和俯仰角。
[0069]
在一种可能的实施方式中,采用的方法包括但不限于借助量角器和铅垂线直接估测,然后根据后续的算法迭代逼近算出最接近实际的角度。具体包括:
[0070]
俯仰角:平视单目摄像头,用量角器粗略测量摄像头壳体与前述铅垂线的夹角,记作俯仰角。
[0071]
偏航角:以左侧单目摄像头为例,俯视单目摄像头,用量角器粗略测量摄像头壳体与前述地面左侧线段的夹角,记作偏航角。
[0072]
滚轮角:将单目摄像头成像显示在显示器上,观察单目摄像头的成像并调整摄像头的安装姿态,尽量保证单目摄像头的成像效果是头向上、脚向下的竖直成像。用量角器测量摄像头成像里垂直地面的物体与屏幕竖向的夹角,记作滚轮角。单目摄像头成像里垂直地面的物体可以选择墙角边缘、铅垂线、竖直放置的路锥等等。
[0073]
步骤2:将单目摄像头相对于汽车的滚轮角、偏航角和俯仰角,通过迭代运算进行修正,得到标定后的单目摄像头在汽车上的安装姿态。
[0074]
在一种可能的实施方式中,将单目摄像头相对于汽车的滚轮角、偏航角和俯仰角,经过如下的迭代运算得到不断的修正,最终完成单目摄像头在汽车上的安装姿态的标定。具体的迭代运算包括以下步骤2.1至步骤2.6:
[0075]
步骤2.1:在预设条件下,通过单目摄像头获取实时图像,并获取实时图像的特征点。
[0076]
在具体应用中,预设条件可以是:一段沿墙路面,地面平坦无坡度,墙面垂直光滑有纹理,墙高2米以上,墙长5米以上,汽车与墙面平行,与墙面距离1米左右,低速直行。通过面向墙面一侧的单目摄像头获取实时图像,并对每一帧实时图像遍历特征点。
[0077]
步骤2.2:将不同时刻的实时图像的特征点进行匹配,并计算特征点的实际偏移。
[0078]
在一种可能的实施方式中,可以通过不同时刻的实时图像间的特征点匹配计算特征点的实际偏移。
[0079]
步骤2.3:基于滚轮角、偏航角和俯仰角计算特征点的理论偏移,并计算实际偏移和理论偏移之间的当前偏移差值。
[0080]
在一种可能的实施方式中,根据透视变换,可以构建当前时刻的以单目摄像头在墙面的投影为原点的墙面的正视图。连续时刻下匹配的特征点对在其各自时刻的墙面的正视图里的坐标之间存在偏移关系,称之为偏移矢量。如果单目摄像头的安装位置与姿态的估计准确的话,所有的匹配特征点对的偏移矢量之间都是平行且等长的。反之,如果所有的匹配特征点对的偏移矢量之间不行平不等长,通常呈均匀发散的分布形态,那么说明单目摄像头的安装位置与姿态的估计不准,需要迭代修正,直到收敛为基本平行且等长为止。基于此,本发明实施例中可以根据单目摄像头位置的测量值与姿态的三个角度滚轮角、偏航角、俯仰角的估计值计算特征点的理论偏移,并计算实际偏移和理论偏移之间的当前偏移差值。
[0081]
步骤2.4:若偏移差值不符合预设要求,则按照多个预设调节方向和第一微调步伐对滚轮角、偏航角和俯仰角进行调节,并分别计算多个偏移差值。
[0082]
在具体应用中,预设要求可以是偏移差值是否超过阈值,如果偏移差值太大,超过阈值,则按照第一微调步伐对三个姿态角度分别做正负两个方向的微调,总计六个预设调节方向,即滚轮角的增加或减少、偏航角的增加或减少、俯仰角的增加或减少,并分别计算多个偏移差值。
[0083]
步骤2.5:若多个偏移差值中最小的偏移差值小于当前偏移差值,则按照最小的偏移差值对应的预设调节方向和第一微调步伐对滚轮角、偏航角和俯仰角进行修正,得到标定后的单目摄像头在汽车上的安装姿态。
[0084]
在具体应用中,先对滚轮角、偏航角和俯仰角进行试探调节,并分别计算多个偏移差值。若多个偏移差值中最小的偏移差值小于当前偏移差值,则其对应的试探调节为有效试探,并按照最小的偏移差值对应的预设调节方向和最新的微调步伐修正相应的滚轮角、偏航角或俯仰角,得到标定后的单目摄像头在汽车上的安装姿态。
[0085]
步骤2.6:若多个偏移差值中最小的偏移差值大于或等于当前偏移差值,则将第二微调步伐确定为第一微调步伐,重复迭代运算,直至当前偏移差值符合预设要求;其中,第二微调步伐小于第一微调步伐。
[0086]
在具体应用中,若多个偏移差值中最小的偏移差值大于或等于当前偏移差值,则减小第一微调步伐得到第二微调步伐,不失一般性,为了加快迭代效率,减小的方法可以为减半,并以第二微调步伐为第一微调步伐重复前述步骤,直至当前偏移差值符合预设要求,最终完成所述单目摄像头在所述汽车上的安装姿态的标定。
[0087]
为了便于理解,以汽车车载通讯总线为can协议盒为例,本发明实施例还提供了一种具体的单目摄像头的标定方法,参见图2所示,对于汽车can线程,首先,通过汽车can协议盒获取汽车的运动参数,包括:方向盘角度和四轮轮速,并根据方向盘角度和四轮轮速判断汽车是否为直行,如果是,则进行标定,否则,标定终止。其次,根据方向盘角度和四轮轮速计算汽车行驶轨迹增量,并确定汽车的位置和姿态。
[0088]
对于摄像头线程,依次获取t时刻的图像f(t),获取汽车的位置和姿态,提取t-1时刻的orb特征点集p(t-1),遍历并保存f(t)的orb特征点集p(t),计算匹配点集m(p(t),p(t-1))并计算匹配点的实际偏移。然后,在汽车a柱安装单目摄像头,测量摄像头的位置,估计摄像头的姿态,并预设姿态微调步伐(诸如5');根据摄像头的位置以及汽车的位置和姿态计算t时刻摄像头位置和姿态,进而计算各匹配点的理论偏移以及实际偏移与理论偏移之间的差异结果(即偏移差值),如果差异结果足够小,则标定完成,否则,计算摄像头位置和6个微调姿态(三个姿态角度分别做正负两个方向的微调),并计算6个微调姿态的理论偏移,进而计算差异结果。如果6个微调姿态的差异结果中有符合要求的结果,则标定结束,否则,将微调步伐减半继续进行标定,直到差异结果符合要求。
[0089]
进一步地,对于前述步骤s102,即在通过汽车车载通讯总线获取当前时刻汽车的运动参数,并基于运动参数确定当前时刻相对于前一时刻单目摄像头的视点位置和姿态的变化时,可以采用包括但不限于以下方式:
[0090]
首先,通过汽车车载通讯总线获取当前时刻汽车的运动参数,并基于运动参数确定当前时刻相对于前一时刻汽车的位置和姿态的变化。
[0091]
然后,基于当前时刻相对于前一时刻汽车的位置和姿态的变化,以及预先标定的单目摄像头在汽车上的安装位置和姿态,确定当前时刻相对于前一时刻单目摄像头的视点位置和姿态的变化。
[0092]
在具体应用中,可以根据汽车车载通讯总线的实时轮速和前轮转弯角度信息,结合前期测量的车身参数,如车长、车宽、车头到前轮距离、前轮到后轮距离、后轮到车位距离,计算汽车的行驶轨迹。由于单目摄像头相对于汽车坐标系的位置与姿态已知,那么在连续时刻下,基于汽车的行驶轨迹,即可推算各个时刻的单目摄像头的视点位置与姿态的变化。
[0093]
进一步地,对于前述步骤s104,即在基于当前时刻相对于前一时刻单目摄像头的视点位置和姿态的变化和匹配特征点对,确定当前时刻场景图像中被匹配的特征点的景深时,可以采用包括但不限于以下方式:
[0094]
对于每对匹配特征点对,首先,在当前时刻的摄像头三维直角坐标系中,确定当前时刻单目摄像头到当前时刻的特征点方向的第一射线,以及前一时刻单目摄像头到前一时刻的特征点方向的第二射线;然后,将第一射线与第二射线之间距离最近的两个点的中心点确定为目标点;最后,将目标点与当前时刻单目摄像头之间的距离确定为匹配特征点对中当前时刻的特征点的景深。
[0095]
在具体应用中,任意时刻的摄像头的成像里的任意像素或亚像素坐标,其物理意义都是由摄像头视点进行观察,朝向该方向能够看到的最近的物体或物体局部。上述射线是指某一时刻下由摄像头视点引出的经过某一特征点的射线,该特征点在此时刻的摄像头的成像的坐标表示此特征点所代表的物体或物体局部相对于摄像头视点的观察朝向。由于各个环节的系统误差,连续时刻下,同一匹配的特征点对的两条射线在三维空间里是不易真正相交的,因此采用两条射线之间最近两点的中心点作为该匹配的特征点对在同一个三维空间里的映射点(即目标点),基于此点计算特征点到摄像头视点的距离,即景深。参见图3所示,图中点a即为t0时刻和t1时刻的匹配特征点对的目标点,t1时刻单目摄像机到点a的距离即为t1时刻特征点的景深。
[0096]
进一步地,对于前述步骤s105,即在基于景深对当前时刻a柱外侧的场景图像进行3d重构,以当前时刻驾驶员的眉心位置为视点,以显示屏的空间矩形为投影面,得到重构场景的透视投影图像,并将重构场景的透视投影图像显示到a柱上的显示屏上时,可以采用包括但不限于以下方式:
[0097]
首先,基于景深对当前时刻a柱外侧的场景图像进行3d重构,得到重构场景。
[0098]
然后,通过dms摄像头获取当前时刻驾驶员的眉心位置,并基于眉心位置确定驾驶员的视点。
[0099]
具体的,可以通过dms摄像头获取当前时刻驾驶员的眉心位置,并通过坐标系转换将眉心位置转换为相对于汽车坐标系的眉心位置;基于相对于汽车坐标系的眉心位置,确定驾驶员的视点。
[0100]
在一种实施方式中,dms摄像头在安装的时候,也会标定dms摄像头相对于汽车坐标系的位置与姿态,dms摄像头的标定是由dms摄像头系统确定的。dms摄像头可以实时解析并上报在dms摄像头的坐标系里的驾驶员的眉心位置,然后根据dms摄像头相对于汽车坐标系的位置与姿态,通过坐标系的平移与旋转,可以将dms摄像头上报的驾驶员的实时眉心位
置,转换为汽车坐标系的位置坐标。
[0101]
接着,基于视点和显示屏的空间矩形,得到重构场景的透视投影图像。
[0102]
最后,将重构场景的透视投影图像显示到a柱上的显示屏上。
[0103]
具体的,驾驶员的观察视点位置不同,看到的场景也不同,为了更加确定的显示a柱外侧的场景,本实施例中可以基于驾驶员的视点确定显示的场景,然后根据左右两个a柱上的显示屏的位置,将左右两个a柱外侧的3d重构的重构场景的透视投影图像分别显示到左右两个a柱上的显示屏上。
[0104]
为了便于理解,以汽车车载通讯总线为can协议盒为例,本发明实施例还提供了一种具体的3d重构的示例,参见图4所示,对于汽车can线程,获取方向盘角度和四轮速度,根据方向盘角度和四轮速度计算汽车运动轨迹增量,并更新汽车位置和姿态。对于摄像头线程,获取t时刻的图像f(t)、汽车位置和姿态后,清零汽车位置和姿态;接着提取t-1时刻的orb特征点集p(t-1),遍历并保存f(t)的orb特征点集p(t),计算匹配点集m(p(t),p(t-1));根据汽车位置和姿态以及摄像头安装位置和姿态,计算t时刻的摄像头位置和姿态,并根据t时刻的orb特征点集p(t)计算t时刻各匹配点的射线,根据t-1时刻的orb特征点集p(t-1)计算t-1时刻各匹配点的射线;然后根据t时刻各匹配点的射线和t-1时刻各匹配点的射线计算t时刻各匹配点的景深,最后根据t时刻各匹配点的景深进行t时刻场景的3d重构。
[0105]
本发明实施例提供的上述方法,与现有的相比,获取的景深点云,理论精度比毫米波雷达/激光雷达/双目摄像头略低,理论密度介于激光雷达横向密度与纵向密度之间,3d重构适用性较强,而价格较低,性价比最高,具体可参见表2所示。
[0106]
表2本发明景深获取技术路线与现有技术路线的对比
[0107][0108]
综上所述,本发明实施例提供的上述透明a柱的实现方法,通过单目摄像头以及汽车车载通讯总线获取相关数据得到景深,进而进行a柱外侧场景的3d重构,3d重构适用性较强,同时能够降低投入成本,提高成像性能,从而提升透明a柱的实现方法的性价比。
[0109]
对于前述实施例提供的透明a柱的实现方法,本发明实施例还提供了一种透明a柱的实现装置,参见图5所示的一种透明a柱的实现装置的结构示意图,该装置可以包括以下部分:
[0110]
特征点获取模块501,用于通过单目摄像头分别获取当前时刻a柱外侧的场景图像,并获取当前时刻a柱外侧的场景图像的特征点。
[0111]
位姿确定模块502,用于通过汽车车载通讯总线获取当前时刻汽车的运动参数,并基于运动参数确定当前时刻相对于前一时刻单目摄像头的视点位置和姿态的变化。
[0112]
匹配模块503,用于将当前时刻a柱外侧的场景图像的特征点与前一时刻a柱外侧的场景图像的特征点进行匹配,得到匹配特征点对。
[0113]
景深确定模块504,用于基于当前时刻相对于前一时刻单目摄像头的视点位置和姿态的变化和匹配特征点对,确定当前时刻场景图像中被匹配的特征点的景深。
[0114]
重构模块505,用于基于景深对当前时刻a柱外侧的场景图像进行3d重构,以当前时刻驾驶员的眉心位置为视点,以显示屏的空间矩形为投影面,得到重构场景的透视投影图像,并将重构场景的透视投影图像显示到a柱上的显示屏上。
[0115]
本发明实施例提供的上述透明a柱的实现装置,通过单目摄像头以及汽车车载通
讯总线获取相关数据得到景深,进而进行a柱外侧场景的3d重构,3d重构适用性较强,同时能够降低投入成本,提高成像性能,从而提升透明a柱的实现方法的性价比。
[0116]
在一种实施方式中,上述位姿确定模块502具体用于:通过汽车车载通讯总线获取当前时刻汽车的运动参数,并基于运动参数确定当前时刻相对于前一时刻汽车的位置和姿态的变化;基于当前时刻相对于前一时刻汽车的位置和姿态的变化,以及预先标定的单目摄像头在汽车上的安装位置和姿态,确定当前时刻相对于前一时刻单目摄像头的视点位置和姿态的变化。
[0117]
在一种实施方式中,上述景深确定模块504具体用于:对于每对匹配特征点对,在当前时刻的摄像头三维直角坐标系中,确定当前时刻单目摄像头到当前时刻的特征点方向的第一射线,以及前一时刻单目摄像头到前一时刻的特征点方向的第二射线;将第一射线与第二射线之间距离最近的两个点的中心点确定为目标点;将目标点与当前时刻单目摄像头之间的距离确定为匹配特征点对中当前时刻的特征点的景深。
[0118]
在一种实施方式中,上述重构模块505具体用于:基于景深对当前时刻a柱外侧的场景图像进行3d重构,得到重构场景;通过dms摄像头获取当前时刻驾驶员的眉心位置,并基于眉心位置确定驾驶员的视点;基于视点和显示屏的空间矩形,得到重构场景的透视投影图像;将重构场景的透视投影图像显示到a柱上的显示屏上。
[0119]
在一种实施方式中,上述重构模块505具体还用于:通过dms摄像头获取当前时刻驾驶员的眉心位置,并通过坐标系转换将眉心位置转换为相对于汽车坐标系的眉心位置;基于相对于汽车坐标系的眉心位置,确定驾驶员的视点。
[0120]
在一种实施方式中,上述装置还包括标定模块,用于:基于预先确定的汽车三维直角坐标系,确定单目摄像头在汽车上的安装位置。
[0121]
在一种实施方式中,上述装置标定模块还用于:确定单目摄像头相对于汽车的滚轮角、偏航角和俯仰角;将单目摄像头相对于汽车的滚轮角、偏航角和俯仰角,通过迭代运算进行修正,得到标定后的单目摄像头在汽车上的安装姿态;迭代运算包括:在预设条件下,通过单目摄像头获取实时图像,并获取实时图像的特征点;将不同时刻的实时图像的特征点进行匹配,并计算特征点的实际偏移;基于滚轮角、偏航角和俯仰角计算特征点的理论偏移,并计算实际偏移和理论偏移之间的当前偏移差值;若当前偏移差值不符合预设要求,则按照多个预设调节方向和第一微调步伐对滚轮角、偏航角和俯仰角进行调节,并分别计算多个偏移差值;若多个偏移差值中最小的偏移差值小于当前偏移差值,则按照最小的偏移差值对应的预设调节方向和第一微调步伐对滚轮角、偏航角和俯仰角进行修正,得到标定后的单目摄像头在汽车上的安装姿态;若多个偏移差值中最小的偏移差值大于或等于当前偏移差值,则将第二微调步伐确定为第一微调步伐,重复迭代运算,直至当前偏移差值符合预设要求;其中,第二微调步伐小于第一微调步伐。
[0122]
本发明实施例所提供的装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。
[0123]
本发明实施例还提供了一种汽车,具体的,该包括汽车处理器和存储装置;存储装置上存储有计算机程序,计算机程序在被处理器运行时执行如上实施方式的任一项所述的方法。
[0124]
图6为本发明实施例提供的一种汽车的结构示意图,该汽车100包括:处理器60,存
储器61,总线62和通信接口63,所述处理器60、通信接口63和存储器61通过总线62连接;处理器60用于执行存储器61中存储的可执行模块,例如计算机程序。
[0125]
其中,存储器61可能包含高速随机存取存储器(ram,random acc ess memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口63(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。
[0126]
总线62可以是isa总线、pci总线或eisa总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
[0127]
其中,存储器61用于存储程序,所述处理器60在接收到执行指令后,执行所述程序,前述本发明实施例任一实施例揭示的流过程定义的装置所执行的方法可以应用于处理器60中,或者由处理器60实现。
[0128]
处理器60可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器60中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器60可以是通用处理器,包括中央处理器(central processing unit,简称cpu)、网络处理器(network processor,简称np)等;还可以是数字信号处理器(digital signal processing,简称ds p)、专用集成电路(application specific integrated circuit,简称asic)、现成可编程门阵列(field-programmable gate array,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器61,处理器60读取存储器61中的信息,结合其硬件完成上述方法的步骤。
[0129]
本发明实施例所提供的可读存储介质的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见前述方法实施例,在此不再赘述。
[0130]
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0131]
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻
易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1