CN116704040A - 相机标定方法、装置、控制器、车辆及存储介质 - Google Patents
相机标定方法、装置、控制器、车辆及存储介质 Download PDFInfo
- Publication number
- CN116704040A CN116704040A CN202310346180.8A CN202310346180A CN116704040A CN 116704040 A CN116704040 A CN 116704040A CN 202310346180 A CN202310346180 A CN 202310346180A CN 116704040 A CN116704040 A CN 116704040A
- Authority
- CN
- China
- Prior art keywords
- view
- bird
- lane line
- eye
- eye view
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 71
- 235000004522 Pentaglottis sempervirens Nutrition 0.000 claims abstract description 258
- 240000004050 Pentaglottis sempervirens Species 0.000 claims abstract description 201
- 230000009466 transformation Effects 0.000 claims abstract description 59
- 238000012937 correction Methods 0.000 claims abstract description 23
- 238000000605 extraction Methods 0.000 claims abstract description 17
- 238000006243 chemical reaction Methods 0.000 claims description 17
- 241000905137 Veronica schmidtiana Species 0.000 claims description 12
- 230000001131 transforming effect Effects 0.000 claims description 11
- 238000004891 communication Methods 0.000 claims description 10
- 238000012216 screening Methods 0.000 claims description 10
- 238000013519 translation Methods 0.000 claims description 8
- 230000008030 elimination Effects 0.000 claims description 4
- 238000003379 elimination reaction Methods 0.000 claims description 4
- 230000008569 process Effects 0.000 abstract description 12
- 238000010586 diagram Methods 0.000 description 16
- 239000011159 matrix material Substances 0.000 description 10
- 238000012545 processing Methods 0.000 description 10
- 230000008859 change Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 239000007787 solid Substances 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000007704 transition Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000009499 grossing Methods 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 230000000737 periodic effect Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000001154 acute effect Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000035772 mutation Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02T—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
- Y02T10/00—Road transport of goods or passengers
- Y02T10/10—Internal combustion engine [ICE] based vehicles
- Y02T10/40—Engine management systems
Abstract
本公开实施例中提供相机标定方法、装置、控制器、车辆及存储介质,方法包括:在每个周期时刻,获取全景环视系统对道路采集得到的一组方位视图;基于每个相机的内参和外参,对每个方位视图进行畸变校正及鸟瞰视角的透视变换以得到一组鸟瞰视图,并分别进行车道线提取;基于一组鸟瞰视图拼接成的全景视图中属于每条车道线的各车道线段之间边沿对齐地相接为一条车道线为目标,获得每个鸟瞰视图所需进行旋转和/或平移的变换的变换参数;基于每个鸟瞰视图的变换参数校正对应相机的外参并存储。本公开方案可应用于车辆在道路行驶过程中自动地完成全景环视系统的标定校正作业,不必返回专门场地进行标定,高效便利,提升用户体验。
Description
技术领域
本公开涉及图像处理技术领域,尤其涉及相机标定方法、装置、控制器、车辆及存储介质。
背景技术
随着车辆技术的发展,全景环视系统和自动泊车系统越来越广泛。全景环视系统即通过位于车辆不同方位(一般为前、后、左、右)的相机来拍摄不同方位的图像,进而均转换到鸟瞰视角下并进行拼接,以形成如同鸟瞰车辆的全景视图。在车辆出厂之前,会对所安装的全景环视进行标定
在车辆使用过程中,由于各种因素的影响或使用场景的区别(如载客量、路况、维修等),导致全景环视系统出厂标定效果无法满足实际的需求,影响用户的体验。业界一般采用将车辆返回4S店来进行校准,但是由于现有标定依赖特定的标定场地、操作复杂等特点,导致用户需要等待较长时间,且操作比较复杂。
因此,如何找到一种高效便利的对出厂后的全景环视系统进行标定的方案,已成为业界亟待解决的技术问题。
发明内容
鉴于以上所述现有技术的缺点,本公开的目的在于提供相机标定方法、装置、控制器、车辆及存储介质,解决相关技术中的问题。
本公开第一方面提供一种相机标定方法,应用于车载的全景环视系统中各方位的相机的标定,所述方法包括:在每个周期时刻,获取所述全景环视系统对道路采集得到的一组方位视图;所述一组方位视图包括:前视图、左视图、右视图及后视图;基于每个相机的内参和外参,对每个所述方位视图进行畸变校正及鸟瞰视角的透视变换以得到一组鸟瞰视图,并分别进行车道线提取;所述一组鸟瞰视图包括:鸟瞰前视图、鸟瞰左视图、鸟瞰右视图及鸟瞰后视图;基于所述一组鸟瞰视图拼接成的全景视图中属于每条车道线的各车道线段之间边沿对齐地相接为一条车道线为目标,获得所述每个鸟瞰视图所需进行旋转和/或平移的变换的变换参数;基于每个鸟瞰视图的变换参数校正对应相机的外参并存储。
在第一方面的实施例中,所述基于所述一组鸟瞰视图拼接成的全景视图中属于每条车道线的各车道线段之间边沿对齐地相接为一条车道线为目标,包括:以一组鸟瞰视图中的一个鸟瞰视图为参考视图,基于所述参考视图所包含的车道线段进行变换,包括:基于车道线段的当前姿态相对于全景视图的鸟瞰正视姿态的角度差和/或宽度差所指示的角度偏差进行旋转,以得到变换后消除角度偏差的参考视图;从参考视图开始,依次对每个相邻的下一鸟瞰视图基于经变换后的上一鸟瞰视图进行变换,以使下一鸟瞰视图与上一鸟瞰视图中属于每条车道线的各车道线段之间边沿对齐地相接为一条车道线,包括以下至少一种:基于下一鸟瞰视图相比上一鸟瞰视图中属于同一车道线的车道线段之间角度偏差进行旋转、基于下一鸟瞰视图相比上一鸟瞰视图中属于同一车道线的车道线段之间在消除角度偏差情况下的尺度偏差进行缩放、以及基于下一鸟瞰视图相比上一鸟瞰视图中属于每条车道线的车道线段之间在消除角度偏差情况下的间距偏差进行平移,得到变换后消除偏差后的下一鸟瞰视图。
在第一方面的实施例中,所述旋转包括基于空间坐标系的三轴的旋转;所述平移为在全景视图的图像平面中进行的平移,所述全景视图的图像平面与所述空间坐标系的两轴为同一平面,所述两轴包括与车身分别垂直和平行的第一坐标轴和第二坐标轴,所述空间坐标系还具有与所述两轴垂直的第三轴;所述基于所述一组鸟瞰视图拼接成的全景视图中属于每条车道线的各车道线段之间边沿对齐地相接为一条车道线为目标,获得所述每个鸟瞰视图所需进行旋转和/或平移的变换的变换参数,包括以下至少一种:1)以鸟瞰前视图或鸟瞰后视图作为参考视图,变换参考视图以消除角度偏差至符合全景视图的鸟瞰正视姿态,包括:若参考视图中的两条车道线段相对第二轴之间存在角度差,对所述参考视图绕第三轴旋转以消除所述角度差;或者,若参考视图中两条车道线段相对第一轴的角度之间存在角度差,对所述参考视图绕第一轴旋转以消除所述角度差;或者,若参考视图中两条车道线段之间存在宽度差,对所述参考视图绕第二轴旋转以消除所述宽度差;基于消除相对于参考视图的角度偏差、尺度偏差和间距偏差为目标,变换鸟瞰左视图和鸟瞰右视图;基于消除相对于鸟瞰左视图和/或鸟瞰右视图的角度偏差、尺度偏差和间距偏差为目标,变换鸟瞰后视图或鸟瞰前视图,以使得鸟瞰前视图、鸟瞰左视图、鸟瞰右视图及鸟瞰后视图之间属于每条车道线的各车道线段之间边沿对齐地相接为一条车道线;获得所述鸟瞰前视图、鸟瞰左视图、鸟瞰右视图及鸟瞰后视图各自的变换参数;2)以鸟瞰左视图或鸟瞰右视图作为参考视图,变换参考视图以消除角度偏差至符合全景视图的鸟瞰正视姿态,包括:若参考视图中的一条车道线相对第二轴之间存在角度差,对所述参考视图相对第三轴旋转以消除所述角度差;或者,若参考视图中的一条车道线在至少两个位置之间存在宽度差,对所述参考视图绕第一轴旋转以消除所述宽度差;基于消除相对于参考视图的角度偏差、尺度偏差和间距偏差为目标,变换鸟瞰前视图和鸟瞰后视图;基于消除相对于鸟瞰前视图和/或鸟瞰后视图的角度偏差、尺度偏差和间距偏差为目标,变换鸟瞰右视图视图或鸟瞰左视图,以使得鸟瞰前视图、鸟瞰左视图、鸟瞰右视图及鸟瞰后视图之间属于每条车道线的各车道线段之间边沿对齐地相接为一条车道线;获得所述鸟瞰前视图、鸟瞰左视图、鸟瞰右视图及鸟瞰后视图各自的变换参数。
在第一方面的实施例中,所述车道线提取包括:基于车道线像素特征,从每个鸟瞰视图提取分别对应每个车道线的成对边沿的各分段的像素点集合;基于每条边沿的各分段的像素点集合执行直线拟合,得到车道线的两条边沿以确定车道线。
在第一方面的实施例中,所述基于车道线像素特征,从每个鸟瞰视图提取分别对应每个车道线的成对边沿的各分段的像素点集合,包括:在鸟瞰视图中沿图像水平维度进行像素值对比,基于车道线相对其相邻两侧车道区域像素值大的特征确定每条边缘线的像素点集合;确定一条边缘线的像素点集合为参考点集,基于多条其它边缘线的像素点集合相对参考点集的间距符合预设车道线宽度为条件,筛除不符合条件的边缘线,以得到筛选后边缘线作为车道线的边沿。
在第一方面的实施例中,在所述直线拟合之前还包括:对边沿的像素点集合进行去噪,包括以下至少一种:1)去除像素点集合中位置离散的像素点;2)由成对边沿的像素点集合之间形成各像素点对,筛除各像素点对的间距中离散的像素点;和/或,在所述直线拟合之前还包括:基于像素点沿鸟瞰视图的图像水平维度的周围多个预设方向上相邻预设数量的像素点的像素值一致为筛选条件,筛除像素点集合中不符合条件的像素点。
本公开第二方面提供一种相机标定装置,应用于车载的全景环视系统中各方位的相机的标定,所述装置包括:图像采集模块,用于在每个周期时刻,获取所述全景环视系统对道路采集得到的一组方位视图;所述一组方位视图包括:前视图、左视图、右视图及后视图;车道线提取模块,用于基于每个相机的内参和外参,对每个所述方位视图进行畸变校正及鸟瞰视角的透视变换以得到一组鸟瞰视图,并分别进行车道线提取;所述一组鸟瞰视图包括:鸟瞰前视图、鸟瞰左视图、鸟瞰右视图及鸟瞰后视图;车道线对齐变换模块,用于基于所述一组鸟瞰视图拼接成的全景视图中属于每条车道线的各车道线段之间边沿对齐地相接为一条车道线为目标,获得所述每个鸟瞰视图所需进行旋转和/或平移的变换的变换参数;标定校正模块,用于基于每个鸟瞰视图的变换参数校正对应相机的外参并存储。
本公开第三方面提供一种控制器,包括:存储器及处理器;所述存储器存储有程序指令,所述处理器用于运行所述程序指令以实现如第一方面中任一项所述的相机标定方法。
本公开第四方面提供一种车辆,其特征在于,包括:车载的全景环视系统;如第三方面所述的控制器,与所述车载的全景环视系统通信连接。
本公开第五方面提供一种计算机可读存储介质,存储有程序指令,所述程序指令被运行执行如第一方面中任一项所述的相机标定方法。
如上所述,本公开实施例中提供相机标定方法、装置、控制器、车辆及存储介质,方法包括:在每个周期时刻,获取所述全景环视系统对道路采集得到的一组方位视图;基于每个相机的内参和外参,对每个所述方位视图进行畸变校正及鸟瞰视角的透视变换以得到一组鸟瞰视图,并分别进行车道线提取;基于所述一组鸟瞰视图拼接成的全景视图中属于每条车道线的各车道线段之间边沿对齐地相接为一条车道线为目标,获得所述每个鸟瞰视图所需进行旋转和/或平移的变换的变换参数;基于每个鸟瞰视图的变换参数校正对应相机的外参并存储。本公开方案可应用于车辆在道路行驶过程中利用车道线自动地完成标定工作,高效便利,解决相关技术中的问题。
附图说明
图1(a)至图1(d)展示本公开一实施例中车辆在道路行驶中不同车道线构成的场景示意图。
图2展示本公开一实施例中相机标定方法的流程示意图。
图3展示世界坐标系到像素坐标系转换的原理示意图。
图4(a)展示本公开一实施例中畸变校正及透视变换的示例图像。
图4(b)展示一实施例中步骤S302中的车道线提取的流程。
图5展示一实施例中步骤S401包括具体流程。
图6(a)展示本公开一实施例中查找车道线边沿的原理示意图。
图6(b)展示本公开一实施例中利用预设车道线宽度来筛选车道线边沿的原理示意图。
图7(a)展示本公开一实施例中不准确的全景视图的示例。
图7(b)展示本公开一实施例中以鸟瞰前视图为参考视图,鸟瞰前视图中两条车道线段相对y轴角度偏差的示意图。
图7(c)展示本公开又一实施例中鸟瞰前视图两条车道线段相对y轴角度偏差的示意图。
图7(d)展示本公开一实施例中鸟瞰前视图两条车道线段之间相对x轴有角度偏差的示意图。
图7(e)展示本公开又一实施例中鸟瞰前视图两条车道线段之间相对x轴角度偏差的示意图。
图7(f)展示本公开一实施例中鸟瞰前视图两条车道线段之间存在宽度差的示意图。
图7(g)展示本公开又一实施例中鸟瞰前视图两条车道线段之间存在宽度差的示意图。
图7(h)展示本公开一实施例中鸟瞰左视图中一条车道线相较y轴存在角度偏差的示意图。
图7(i)展示本公开又一实施例中鸟瞰左视图中一条车道线相较y轴存在角度偏差的示意图。
图7(j)展示本公开一实施例中鸟瞰左视图中一条车道线相对鸟瞰前视图中同一车道线存在宽度差的示意图。
图7(k)展示本公开一实施例中鸟瞰左视图中一条车道线相对鸟瞰前视图中同一车道线在x轴上存在相互错开的间距的示意图。
图7(l)展示本公开一实施例中经变换后拼接正确的全景视图。
图7(m)展示本公开一实施例中以鸟瞰左视图为参考视图,图中的一条车道线段相对y轴角度偏差的示意图。
图7(n)展示本公开一实施例中鸟瞰左视图中的一条车道线相对x轴角度偏差的示意图。
图8展示本公开一实施例中相机标定装置的模块示意图。
图9展示本公开一实施例中控制器的结构示意图。
具体实施方式
以下通过特定的具体示例说明本公开的实施方式,本领域技术人员可由本公开所揭露的消息轻易地了解本公开的其他优点与功效。本公开还可以通过另外不同的具体实施方式加以实施或应用模块,本公开中的各项细节也可以根据不同观点与应用模块,在没有背离本公开的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。
下面以附图为参考,针对本公开的实施例进行详细说明,以便本公开所属技术领域的技术人员能够容易地实施。本公开可以以多种不同形态体现,并不限定于此处说明的实施例。
在本公开的表示中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的表示意指结合该实施例或示例表示的具体特征、结构、材料或者特点包括于本公开的至少一个实施例或示例中。而且,表示的具体特征、结构、材料或者特点可以在任一个或一组实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本公开中表示的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于表示目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或隐含地包括至少一个该特征。在本公开的表示中,“一组”的含义是两个或两个以上,除非另有明确具体的限定。
为了明确说明本公开,省略与说明无关的器件,对于通篇说明书中相同或类似的构成要素,赋予了相同的参照符号。
在通篇说明书中,当说某器件与另一器件“连接”时,这不仅包括“直接连接”的情形,也包括在其中间把其它元件置于其间而“间接连接”的情形。另外,当说某种器件“包括”某种构成要素时,只要没有特别相反的记载,则并非将其它构成要素排除在外,而是意味着可以还包括其它构成要素。
虽然在一些示例中术语第一、第二等在本文中用来表示各种元件,但是这些元件不应当被这些术语限制。这些术语仅用来将一个元件与另一个元件进行区分。例如,第一接口及第二接口等表示。再者,如同在本文中所使用的,单数形式“一”、“一个”和“该”旨在也包括复数形式,除非上下文中有相反的指示。应当进一步理解,术语“包含”、“包括”表明存在所述的特征、步骤、操作、元件、模块、项目、种类、和/或组,但不排除一个或一组其他特征、步骤、操作、元件、模块、项目、种类、和/或组的存在、出现或添加。此处使用的术语“或”和“和/或”被解释为包括性的,或意味着任一个或任何组合。因此,“A、B或C”或者“A、B和/或C”意味着“以下任一个:A;B;C;A和B;A和C;B和C;A、B和C”。仅当元件、功能、步骤或操作的组合在某些方式下内在地互相排斥时,才会出现该定义的例外。
此处使用的专业术语只用于言及特定实施例,并非意在限定本公开。此处使用的单数形态,只要语句未明确表示出与之相反的意义,那么还包括复数形态。在说明书中使用的“包括”的意义是把特定特性、区域、整数、步骤、作业、要素及/或成份具体化,并非排除其它特性、区域、整数、步骤、作业、要素及/或成份的存在或附加。
虽然未不同地定义,但包括此处使用的技术术语及科学术语,所有术语均具有与本公开所属技术领域的技术人员一般理解的意义相同的意义。普通使用的字典中定义的术语追加解释为具有与相关技术文献和当前提示的消息相符的意义,只要未进行定义,不得过度解释为理想的或非常公式性的意义。
全景环视系统在车辆上已有普遍应用,有效帮助用户在停车、行车过程中消除盲点死角,以获得更安全、便利的驾驶体验。然而,虽然全景环视系统在车辆出厂前已经过了预先的标定来确定标定参数,但是在实际使用中,可能会由于装配误差、车辆结构损伤等等全景环视系统结构变化,导致标定参数相对实际场景而言出现误差,致使生成的全景视图不准确或拼接错位等问题,影响用户体验。业界一般采用将车辆返回4S店来进行校准,但是由于现有标定依赖特定的标定场地、操作复杂等特点,导致用户需要等待较长时间,且操作比较复杂,影响用户体验。
鉴于此,本公开实施例中提供相机标定方法,可方便快捷地在车辆行驶过程中对相机标定以校正误差,用户无需再将车送到专门场地(如4S店)进行标定,快捷高效,操作方便,有效提升用户体验。
如图1(a)至图1(d)所示,展示本公开一实施例中相机标定方法的应用场景示意图。
所述相机标定方法可以应用在道路,道路上画设有平行的多条车道线。车道线的数量与车道相应,比如单方向四车道包含3根平行车道线,单方向两车道包含2根平行车道线。车道线的类型与道路行驶规定相关,比如虚线表示可跨越车道线,实线表示不可跨越车道线。
图1(a)至图1(d)分别展示一种道路中车辆两边车道线的组合。图1(a)中展示车辆两侧皆为虚线车道线的场景,可对应于单向多车道的中间车道。图1(b)展示车辆左侧为实线车道线,右侧为虚线车道线,可对应于双向多车道的右行驶道中靠中间车道。图1(c)展示车辆左侧为虚线车道线,右侧为实线车道线,可对应于双向多车道的左行驶道中靠中间车道。图1(d)展示车辆左右两侧皆为实线车道线,即两侧不能变道的车道。
图示中的车辆可以装载有全景环视系统,所述全景环视系统可以包括前相机、后相机、左相机和右相机,分别安装在车辆的前、后、左、右侧,并向相应方位的外侧采集方位视图,即前视图、后视图、左视图和右视图。所述相机标定方法可以在车辆处于如图1(a)~图1(d)中任意一种情况下执行。优选的,可将车行驶到有平直平行车道线的位置,以左右两侧摄像头都能看到车道线,路面基本水平为宜。通过标定方法以完成对全景环视系统中各相机的原标定参数(可能因车辆结构变化而不准确的出厂标定参数)的校正。
如图2所示,展示本公开一实施例中相机标定方法的流程示意图。在图2中,所述相机标定方法包括:
步骤S201:在每个周期时刻,获取所述全景环视系统对道路采集得到的一组方位视图;所述一组方位视图包括:前视图、左视图、右视图及后视图。
在一些实施例中,步骤S201可以由预设触发条件所触发执行,所述触发条件包括但不限于软件开关或硬开关等。比如,用户通过操作硬开关或车载触摸屏所显示的软按键,例如“全景环视系统校正标定”,以触发相机标定方法的执行。
具体的,全景环视系统按预设周期进行周期性的每组方位视图的采集,比如n毫秒或n秒,n为整数。每组方位视图可以在每个周期时刻由全景环视系统中的各相机同步采集得到。每组方位视图包括:前视图、左视图、右视图及后视图。在一些实施例中,在步骤S201中也可以在每个周期时刻采集多组方位视图并存储,在之后逐一取出每组方位视图使用。由于各方位的相机会采用广角镜头以尽可能大视角地拍摄,比如鱼眼镜头,使得拍摄的图像会产生镜头畸变(如鱼眼镜头的桶形畸变),故而所述图像识别微调处理中会先对采集到的包含畸变的各方位视图进行畸变校正。然后,为了解决全景环视系统标定误差(如因振动碰撞导致)的问题,比如描述世界坐标系和相机坐标系位置关系的外参出现误差,需要对出现误差的参数进行校正。其中,相机坐标系即全景环视系统的各相机的相机坐标系,而所述世界坐标系可以设置为车辆立体坐标系。
步骤S202:基于每个相机的内参和外参,对每个所述方位视图进行畸变校正及鸟瞰视角的透视变换以得到一组鸟瞰视图,并分别进行车道线提取。
对应于所述一组方位视图,所述一组鸟瞰视图包括:鸟瞰前视图、鸟瞰左视图、鸟瞰右视图及鸟瞰后视图。
具体说明利用相机内参执行所述畸变校正和利用外参进行透视变换的原理。理解内参和外参需要知道四个坐标系,分别为世界坐标系、相机坐标系、图像物理坐标系、图像像素坐标系。
世界坐标系:用于表示空间物体的绝对坐标,使用(Xw,Yw,Zw)表示。
相机坐标系:以相机的光心为坐标系原点(相机的光心可理解为相机透镜的几何中心),使用(Xc,Yc,Zc)表示,其中Xc,Yc轴平行于图像坐标系的Xw,Yw轴,相机的光轴为Zc轴,坐标系满足右手法则。
图像物理坐标系:坐标原点在CCD图像平面的中心,x、y轴分别平行于图像像素坐标系的(u,v)轴,坐标用(x,y)表示。
图像像素坐标系:表示三维空间物体在图像平面上的投影,像素是离散化的,其坐标原点在CCD图像平面的左上角,u轴平行于CCD平面水平向右,v轴垂直于u轴向下,坐标使用(u,v)来表示。图像宽度W,高度H。
内参用于相机坐标系到图像坐标系的转换、及图像坐标系到像素坐标系的转换,内参包含1/dx、1/dy、r、u0、v0、f。由于相机采集的原始的方位视图可能存在畸变,因此可通过预先标定的当前内参,将实际图像坐标转换成未畸变图像中的像素坐标。外参用于世界坐标系到相机坐标系的转换,通常包括旋转矩阵R和平移向量t。
具体的,可以参考图3所示,展示世界坐标系到像素坐标系转换的原理示意图。具体的,相机坐标系和世界坐标系,只是在不同中心原点的三维坐标系之间的旋转(参数矩阵R)和平移(参数矩阵t)的刚体变换,R、t即为相机的外参,通过相机外参可以将世界坐标系中坐标点(Xw,Yw,Zw)转换到相机坐标系下的坐标点(Xc,Yc,Zc)。相机坐标系中的坐标点(Xc,Yc,Zc)可以通过中心投影的矩阵转换至相机拍摄图像的图像坐标系(也称图像物理坐标系)下的坐标点(x,y),x,y以物理尺寸度量。图像坐标系中的坐标点(x,y)可以通过离散化的参数矩阵转换到图像的像素坐标系中的坐标点(u,v),u,v以像素度量。
综合以上内容,以下公式(1)展示为利用外参和内参进行世界坐标系到像素坐标系的坐标转换:
也就是说,世界坐标系转换为图像坐标系的公式(2)为:
其中,整合后的为内参,/>为外参。
利用各相机的当前外参即可计算相机视角的畸变校正后的方向视图到鸟瞰视角的第一透视变换。在一些实施例中,会在标定时确定方向视图的坐标系到鸟瞰图的坐标系的单应性转换矩阵H,可以理解的,单应性矩阵实际上也是根据相机的当前外参确定的,因为单应性矩阵就相当于将某个方向视图中的图像坐标通过所对应相机的内参和外参转换到世界坐标系再转换到鸟瞰图的坐标系的两种转换关系的合一,实际上也是利用当前外参来实现第一透视变换的。
如图4(a)所示,展示本公开一实施例中畸变校正及透视变换的示例图像。左侧的四幅前、后、左、右视图存在桶形畸变,经过每个方位的相机的当前内参相关的畸变校正及当前外参相关的第一透视变换后,呈现为右侧的四幅前、后、左、右方位的鸟瞰视图,可见其中的畸变已消除,这四幅鸟瞰图按重叠像素拼接即可得到全景视图。
在一些实施例中,在所述车道线提取之前,可将所述一组鸟瞰视图转换成灰度图并进行去噪处理。转换为灰度图之后,可以避开像素点的色彩而只需要在有限的黑白颜色中进行像素值对比,大幅度减少计算像素值突变的计算量。所述去噪处理有利于排除影响计算准确性的干扰噪点。示例性地,所述去噪处理可以包括高斯模糊、开运算、闭运算等中的一种或多种。高斯模糊,也叫高斯平滑,是图像处理中常用的一种技术,主要用来降低图像的噪声和减少图像的细节。开运算是对图像先腐蚀后膨胀的过程,开运算可用来消除小物体、在纤细点处分离物体,例如毛刺,并且在平滑较大物体的边界的同时不明显改变其面积。闭运算能够排除小型空洞,平滑物体轮廓,连接窄的间断点以及沟壑,同时也能够填补断裂的轮廓线。
在一些实施例中,如图4(b)所示,步骤S302中的车道线提取的流程,可以进一步包括步骤S401和S402。
步骤S401:基于车道线像素特征,从每个鸟瞰视图提取分别对应每个车道线的成对边沿的各分段的像素点集合。
在一些实施例中,车道线在图像中的像素特征在于,车道线一般为白色或黄色,则鸟瞰视图转换成灰度图后,车道线可为白色像素点,其灰度值会大于周围路面区域的像素的灰度值。而且,在鸟瞰视图中的图像水平维度上而言,存在车道线会呈现为灰度值低(路面)->灰度值高(车道线,会有与车道线宽度相应数量的像素)->灰度值低(路面),则出现灰度值高、低差异较大的突变的位置即为车道线的边沿。由于车道线的左、右两侧的成对边沿之间的间距还受到车道线宽度的约束,因此根据已知的车道线宽度即可确定可信的属于车道线的两条边沿的像素点集合,再进一步通过直线拟合方法拟合出两条边沿以确定车道线。
基于以上分析,则在一些实施例中,如图5所示,所述步骤S401可进一步包括步骤S501和步骤S502。
步骤S501:在鸟瞰视图中沿图像水平维度进行像素值对比,基于车道线相对其相邻两侧车道区域像素值大的特征确定每条边缘线的像素点集合。
可以参考图6(a)所示,展示本公开一实施例中查找车道线边沿的原理示意图。在该图示中,展示了可以在每一图像水平维度(即行)从左向右来查找存在灰度值突变的像素点,即属于车道线左边沿的像素点和属于车道线右边沿的像素点。并且,在图示中还可以沿图像竖直维度(即列)从上至下遍历各行,以分别得到车道线左边沿和右边沿的像素点集合。图6(a)为理想情况,可参考图6(b)所示,在实际情况中,可能存在车道线边沿以外的存在像素值突变的边缘线,因此车道线边沿和其他边缘线之间混合在一起,可通过车道线特征构建筛选条件来筛选出属于车道线边沿的像素点集合,比如车道线两条边沿之间间距需要符合车道线的宽度的约束,即见步骤S502所示。
步骤S502:确定一条边缘线的像素点集合为参考点集,基于多条其它边缘线的像素点集合相对参考点集的间距符合预设车道线宽度为条件,筛除不符合条件的边缘线,以得到筛选后边缘线作为车道线的边沿。
每条车道线有其固有的预设车道线宽度,例如图6(a)中的左侧车道线宽度为a和右侧车道线宽度为b。
具体而言,可以参考图6(b)所示,以边缘线L4为参考,可以发现,虽然L1、L2、L3处均发生了像素值的突变,但是L1、L2的部分或全部像素点到L4图像水平维度上的间距大于预设车道线宽度,只有L3中的部分或全部像素点到L4间距等于或近似于预设车道线宽度,故而可以将L1、L2筛除,由于L4和L3之间能保证足够数量以上的像素点对满足预设车道线宽度的要求,则可以证明L3与L4为一车道线的两侧边沿。
步骤S402:基于每条边沿的各分段的像素点集合执行直线拟合,得到车道线的两条边沿以确定车道线。
具体的,先拟合每条边沿的各个小段,再将这些小段拟合为一,相比于直接拟合整条边沿,有利于提升获得的最终的边沿的精准度。
示例性地,在直线拟合之前,还可以对像素点集合进一步去噪、排除非边沿像素点等,以进一步提升拟合得到的车道线边沿的准确性。以下举例说明。
在一些实施例中,在所述直线拟合之前还可以包括:对边沿的像素点集合进行去噪,包括以下至少一种:
一种示例性的方式,可以去除像素点集合中位置离散的像素点。即排除与间距相似的大部分像素点群体间距不相似的像素点。例如,像素点集合中100个像素点,99个像素点之间间距近似为1mm,而第100个像素点与其它像素点之间的间距近似为5mm,则可以考虑将其剔除。
另一种示例性的方式,由成对边沿的像素点集合之间形成各像素点对,筛除各像素点对的间距中离散的像素点。由于车道线的一对边沿上相同图像水平位置的像素点(可称为该“像素点对”)之间间距应该对应于已知的车道线宽度,如果某个像素点对的间距相对其他像素点对间距而言偏离车道线宽度相对较多,则可以从像素点集合中排除掉该像素点对中的部分或者全部像素点;或者,此偏离情况是由于匹配错了像素点对造成的,可以重新组合像素点对。
在一些实施例中,还可以基于像素点沿鸟瞰视图的图像水平维度的周围多个预设方向上相邻预设数量的像素点的像素值(灰度图即为灰度值)一致为筛选条件,筛除像素点集合中不符合条件的像素点。具体来讲,比如要将一些在灰度图中边沿以外的孤点或像素点团排除出像素点集合,比如由于路面被涂白、水塘等区域对应的像素点。由于边沿点周围除了道路区域以外的其它方向上的相邻像素点也应与边沿点保持像素值不变的情形,比如车道线左边沿的像素点在上、下、右方向上的相邻像素点的像素值是保持不变的,车道线右边沿的像素点在上、下、左方向上的相邻像素点的像素值是保持不变的。而上述孤点周围的像素点都是像素值突变的;像素点团的边沿并非竖直的车道线,一般为曲线,难以保证在上、下、右方向上或上、下、左等预设方向上均保持若干相邻像素点像素值不变。因此,可以以此多预设方向上的预设数量的像素点的像素值不变为筛选条件,以筛除一些边沿外的像素值接近的像素点,使得拟合的车道线边沿更加准确。
回到图2,见步骤S203:基于所述一组鸟瞰视图拼接成的全景视图中属于每条车道线的各车道线段之间边沿对齐地相接为一条车道线为目标,获得所述每个鸟瞰视图所需进行旋转和/或平移的变换的变换参数。
具体的,在提取各鸟瞰视图中的车道线之后,在拼接各鸟瞰视图为全景视图时,由于相机外参误差会导致拼接的鸟瞰视图之间同一车道线的不同车道线段无法边沿对齐地相接成一条车道线,造成全景视图的错误。例如,可见图7(a)所示,顶部的鸟瞰前视图和底部的鸟瞰后视图中的车道线并不符合鸟瞰视角下正确显示的平行双线,从而未与鸟瞰左视图和鸟瞰右视图中的相同的属于每条车道线的车道线段之间边沿对齐地相接,即不同鸟瞰视图的同一车道线之间并未宽度相同且边沿对齐地连接为一体。
造成这一拼接误差问题的原因在于相机外参误差导致成像中的车道线段相比于鸟瞰正视视角下的正确姿态存在角度偏差、尺度偏差、和/或间距偏差,从而需要通过旋转和/或平移鸟瞰视图的处理来消除这些偏差,以实现各鸟瞰视图中属于每条车道线的车道线段之间边沿对齐地相接为一条。具体来讲,所述旋转包括基于空间坐标系的三轴的旋转以消除角度偏差;所述平移为在全景视图的图像平面中进行的平移以消除间距偏差,所述全景视图的图像平面与所述空间坐标系的两轴为同一平面,所述两轴包括与车身分别垂直和平行的第一坐标轴和第二坐标轴,所述空间坐标系还具有与所述两轴垂直的第三轴。
根据图7(a)示例,可以基于全景视图中呈现的车辆为参考,构建三维直角坐标系,包括x、y、z轴,示例性地,x轴是经过车身中心且平行于车身方向,沿图像水平方向,指向右侧;y轴经过车身中心且平行于车身方向,也是沿图像竖直方向,指向上方;z轴是垂直xy平面,指向外侧。从图7(a)可见,鸟瞰前视图和鸟瞰后视图并不符合鸟瞰视角的视图要求(即车道线平行),且并未与鸟瞰左、右视图中的同一车道线对齐。故需要对这些鸟瞰视图进行旋转和/或平移的变换以至于使的属于每条车道线的车道线段之间边沿对齐地相接。
在一些实施例中,可以一组鸟瞰视图中的一个鸟瞰视图为参考视图,基于所述参考视图所包含的车道线段进行变换,包括:基于车道线段的当前姿态相对于全景视图的鸟瞰正视姿态的角度差和/或宽度差所指示的角度偏差进行旋转,以得到变换后消除角度偏差的参考视图。比如,以鸟瞰前视图或鸟瞰后视图为参考视图,或者以鸟瞰左视图或鸟瞰右视图为参考视图,进行旋转变换到鸟瞰正视姿态,即实际车道线在鸟瞰视图中的正确姿态,比如图7(a)中鸟瞰前视图中的车道线段旋转至同y轴平行。
进一步地,从参考视图开始,依次对每个相邻的下一鸟瞰视图基于经变换后的上一鸟瞰视图进行变换,以使下一鸟瞰视图与上一鸟瞰视图中属于每条车道线的各车道线段之间边沿对齐地相接为一条车道线,包括以下至少一种:基于下一鸟瞰视图相比上一鸟瞰视图中属于同一车道线的车道线段之间角度偏差进行旋转、基于下一鸟瞰视图相比上一鸟瞰视图中属于同一车道线的车道线段之间在消除角度偏差情况下的尺度偏差进行缩放、以及基于下一鸟瞰视图相比上一鸟瞰视图中属于每条车道线的车道线段之间在消除角度偏差情况下的间距偏差进行平移,得到变换后消除偏差后的下一鸟瞰视图,其中,若当前采集的一组鸟瞰视图中本身条件比较好(即无偏差或偏差较小),在从参考视图开始,依次对每个相邻的下一鸟瞰视图基于经变换后的上一鸟瞰视图进行变换时,没有触发上述旋转、缩放、平移操作中所对应的调整条件,就无需执行对应的操作。比如,以鸟瞰前视图为参考视图,变换到符合鸟瞰正视姿态后,对其相邻的鸟瞰左视图和鸟瞰右视图进行变换(如旋转、缩放、平移)以与鸟瞰前视图中属于每条车道线的车道线段之间边沿对齐地相接为一条。之后,再变换鸟瞰左和/或右视图与相邻的鸟瞰后视图,使得整个全景视图中的每条车道线的各个车道线段都边沿对齐地相接为一条。
由此可知,可以在一组鸟瞰视图中选择参考视图,并基于变换后(即消除偏差)的参考视图对依次相邻的其它鸟瞰视图进行变换,从而最终获得理想的全景视图。结合所述空间坐标系(第一轴x、第二轴y、第三轴z)进行更细致的举例说明。步骤S203可以依循第一种顺序,从鸟瞰前视图或鸟瞰后视图、鸟瞰左视图和鸟瞰右视图、到鸟瞰后视图或鸟瞰前视图的顺序进行变换;也可以依循第二种顺序,从鸟瞰左视图或鸟瞰右视图、鸟瞰前视图和鸟瞰后视图、到鸟瞰右视图或鸟瞰左视图的顺序进行变换。以下逐一通过实施例进行说明。
以第一种顺序为例,在具体的实施例中,可以鸟瞰前视图或鸟瞰后视图作为参考视图,变换参考视图以消除角度偏差至符合全景视图的鸟瞰正视姿态,包括:若参考视图中的两条车道线段相对第二轴之间存在角度差,对所述参考视图绕第三轴旋转以消除所述角度差;或者,若参考视图中两条车道线段相对第一轴的角度之间存在角度差,对所述参考视图绕第一轴旋转以消除所述角度差;或者,若参考视图中两条车道线段之间存在宽度差,对所述参考视图绕第二轴旋转以消除所述宽度差。进而,基于消除相对于参考视图的角度偏差、尺度偏差和间距偏差为目标,变换鸟瞰左视图和鸟瞰右视图。进而,基于消除相对于鸟瞰左视图和/或鸟瞰右视图的角度偏差、尺度偏差和间距偏差为目标,变换鸟瞰后视图或鸟瞰前视图,以使得鸟瞰前视图、鸟瞰左视图、鸟瞰右视图及鸟瞰后视图之间属于每条车道线的各车道线段之间边沿对齐地相接为一条车道线。基于在以上各个鸟瞰视图的变换,可以分别获得所述鸟瞰前视图、鸟瞰左视图、鸟瞰右视图及鸟瞰后视图各自的变换参数。
结合图示示例进行更直观说明。可以参考图7(b)至图7(l)所示,展示以鸟瞰前视图为参考示图,说明如何进行旋转、缩放、平移变换。
在以上示例中,对于鸟瞰前视图或鸟瞰后视图作为参考视图的变换,若参考视图中两条车道线段相对第二轴的角度差之间相同或相近,对所述参考视图相对第三轴旋转以消除所述角度差。比如,在图7(b)中,可以通过左右边沿相对y轴的角度差Δ1=θ1-90°和Δ2=θ2-90°的区别来判断是否车道线段存在角度偏差,比如Δ1或Δ2小于0的负数,则说明有角度偏差。由负号决定方向,需要绕z轴逆时针(参考z轴正方向)旋转鸟瞰正视图,旋转角度步进值根据角度大小进行调节(角度越大,步进值越大,以节省时间),最终角度差Δ接近0为最佳。需说明的是,车道线段与坐标轴之间夹角可以通过车道线段的一条边沿与坐标轴的夹角来确定,由于车道线的两条边沿在提取时已约束了相互间距,因此可以选择其中任意一条来计算其与坐标轴的夹角。
或者,在图7(c)中,与图7(b)区别在于鸟瞰前视图中车道线段的朝向变化,θ1和θ2为大于90°的钝角,需要绕z轴顺时针(参考z轴正方向)旋转鸟瞰正视图,旋转角度步进值根据角度大小进行调节,车道线角度差接近0为最佳。
若参考视图中两条车道线段相对第一轴的角度之间存在角度差,对所述参考视图相对第一轴旋转以消除所述角度差。比如,在图7(d)中,θ1为锐角(Δ1=θ1-90°<0),θ2为钝角(Δ2=θ2-90°>0),则根据Δ=θ2-θ1>0,鸟瞰前视图应绕x轴逆时针(参考x轴正方向)进行旋转,旋转角度步进值根据角度差大小进行调节,最终车道线角度查接近0为最佳。比如,在图7(e)中,Δ=θ2-θ1<0,鸟瞰前视图应绕x轴的顺时针(参考x轴正方向)进行旋转,旋转角度步进值根据角度差大小进行调节,最终车道线角度差接近0为最佳。
若参考视图中两条车道线段之间在同一y轴位置上存在宽度差,即相对z方向存在远近偏差,则对所述参考视图相对第二轴旋转以消除所述角度差。比如,在图7(f)中,左侧车道线段宽度L1小于右侧车道线段宽度L2,L=L2-L1>0,则鸟瞰前视图绕y轴逆时针(参考y轴正方向)进行旋转,旋转角度步进值根据角度差大小进行调节,使右侧车道线段宽度变小及左侧车道线段宽度变大,最终两条实际平行的车道线段之间宽度差接近0为最佳。或者,在图7(g)中,L=L2-L1<0,则鸟瞰前视图绕y轴的顺时针(参考y轴正方向)进行旋转,旋转角度步进值根据角度差大小进行调节,使右侧车道线段宽度变大及左侧车道线段宽度变小,最终两侧平行的车道线段宽度差接近0为最佳。
以鸟瞰后视图为参考视图进行变换的顺序与原理与以上鸟瞰前视图为参考视图的方式类似,在鸟瞰前或后视图变换后对鸟瞰左或右视图进行变换。
示例性地,对于鸟瞰左视图或鸟瞰右视图的变换,包括以下至少一种方式。
在一种示例中,若鸟瞰左视图或鸟瞰右视图中的两条车道线段之间相对第二轴存在角度差,则相对第三轴旋转以消除所述角度差。比如,图7(h)所示,Δ=θ1-90°<0,鸟瞰前视图作为参考视图,鸟瞰左视图需要绕z轴逆时针(参考z轴正方向)旋转,旋转角度步进值根据角度大小进行调节(角度越大,步进值越大,以节省时间),最终角度差Δ接近0为最佳。又比如,图7(i)所示,Δ=θ1-90°>0,需要绕z轴顺时针旋转,旋转角度步进值根据角度大小进行调节(角度越大,步进值越大,以节省时间),最终角度差Δ接近0为最佳。
在一种示例中,若鸟瞰左视图或鸟瞰右视图中的车道线段相对鸟瞰前视图或鸟瞰后视图中属于同一车道线的车道线段之间存在宽度差,则放大或缩小所述鸟瞰左视图或鸟瞰右视图以消除所述宽度差。比如,图7(j)所示,鸟瞰前视图的左侧车道线段宽度L1小于鸟瞰左视图中属于同一车道线的左侧车道线段的宽度L2,L=L2-L1>0,说明鸟瞰前视图尺度较鸟瞰左视图来的小,鸟瞰前视图作为参考视图则可以缩小鸟瞰左视图,缩放步进值可以根据宽度差来变换,最终L接近0为最佳。又比如,L=L1-L2<0,则需要放大鸟瞰左视图(正对z轴正方向),放大步进值可以根据宽度差来变换,最终L接近0为最佳。通过以上变换,鸟瞰左视图车道线段宽度将会和鸟瞰前视图左侧车道线段宽度一致。
在一种示例中,若鸟瞰左视图或鸟瞰右视图中的车道线段相对鸟瞰前视图或鸟瞰后视图中同一车道线的车道线段在第一轴上存在相互错开的间距,所述间距可以基于两条车道线段同侧的边沿来计算,则平移所述鸟瞰左视图或鸟瞰右视图以消除所述相互错开的间距。比如,图7(k)所示,通过前视图和左视图车道线段相距于y轴的距离(x轴坐标)来决定车道线段是向左移动还是向右移动。图中所示,鸟瞰前视图距离y轴距离L2和鸟瞰左视图距离y轴距离L1之间差距L=L1-L2>0,不相等,因此需要鸟瞰左视图向x轴正方向移动,以消除L1和L2的差异。否则,若L=L1-L2<0,则鸟瞰左视图向x轴负方向移动。
与上述示例原理类似的,通过绕x、y、和/或z旋转、缩放、沿x轴移动等变换,变换鸟瞰右视图,再变换鸟瞰后视图以使得鸟瞰后视图与鸟瞰左视图、鸟瞰右视图中属于每条同一车道线的车道线段之间边沿对齐相接。可比较图7(l)和图7(a),可见图7(l)中各个鸟瞰视图之间属于同一车道线的各车道线段边沿对齐相接的结果。
以第二种顺序为例,在具体的实施例中,可以鸟瞰左视图或鸟瞰右视图作为参考视图,变换参考视图以消除角度偏差至符合全景视图的鸟瞰正视姿态,包括:若参考视图中的一条车道线相对第二轴之间存在角度差,对所述参考视图相对第三轴旋转以消除所述角度差;或者,若参考视图中的一条车道线在至少两个位置之间存在宽度差,对所述参考视图绕第一轴旋转以消除所述宽度差。进一步地,基于消除相对于参考视图的角度偏差、尺度偏差和间距偏差为目标,变换鸟瞰前视图和鸟瞰后视图。进一步地,基于消除相对于鸟瞰前视图和/或鸟瞰后视图的角度偏差、尺度偏差和间距偏差为目标,变换鸟瞰右视图视图或鸟瞰左视图,以使得鸟瞰前视图、鸟瞰左视图、鸟瞰右视图及鸟瞰后视图之间属于每条车道线的各车道线段之间边沿对齐地相接为一条车道线。获得所述鸟瞰前视图、鸟瞰左视图、鸟瞰右视图及鸟瞰后视图各自的变换参数。
举例来说,可参阅图7(m)和图7(n),更直观地说明第二顺序的具体实施过程。
如图7(m)所示,根据左视图车道线段边沿与y轴是存在角度差大于0°(或相比x轴是否角度差θ为90°)来判断其是否需要绕z轴旋转;如果没有角度差,则不需要旋转;如果有角度差则进行旋转。
又比如图7(n)所示,根据沿车道线段上不同位置(也可以通过相对车身的距离来确定)的车道线宽度是否相同来决定是否绕下x轴旋转。如图中所示,上位置的宽度L1,下位置的宽度L2,L1小于L2,即车道线存在窄到宽的变化,则需要绕x轴旋转,宽的位置向远处转动而窄的向近处转动。
可以理解的是,在鸟瞰左视图或鸟瞰右视图作为的参考视图变换之后,通过消除角度偏差、尺度偏差、间距偏差等偏差来变换鸟瞰前视图和鸟瞰后视图,以与参考视图之间实现车道线段边沿对齐地相接为一条;同理,进一步再将鸟瞰右视图或鸟瞰左视图变换至与鸟瞰前视图和/或鸟瞰右视图之间消除偏差。各种偏差的消除方式可以参考之前图7(a)至图7(n)的实施例记载。
步骤S204:基于每个鸟瞰视图的变换参数校正对应相机的外参并存储。
如上一步骤中所展示图7(b)~图7(k)示例,各鸟瞰视图的绕各坐标轴的旋转角度、平移、缩放的幅度可形成变换参数,校正各个相机的外参,比如更新旋转矩阵R、平移矩阵T。
更新后的外参保存后,在之后根据各个相机的内参和外参得到一组鸟瞰视图并拼接后,即可得到正确的全景视图,例如图7(l)所示。
如图8所示,展示本公开一实施例中相机标定装置的模块示意图。相机标定装置应用于车载的全景环视系统中相机的标定,所述全景环视系统包括按前、后、左及右方位布设的相机。需说明的是,所述相机标定装置的原理、技术实现可以参考之前实施例中的相机标定方法,因此本实施例中不作重复赘述。
所述相机标定装置800包括:
图像采集模块801,用于在每个周期时刻,获取所述全景环视系统对道路采集得到的一组方位视图;所述一组方位视图包括:前视图、左视图、右视图及后视图。
车道线提取模块802,用于基于每个相机的内参和外参,对每个所述方位视图进行畸变校正及鸟瞰视角的透视变换以得到一组鸟瞰视图,并分别进行车道线提取;所述一组鸟瞰视图包括:鸟瞰前视图、鸟瞰左视图、鸟瞰右视图及鸟瞰后视图;
车道线对齐变换模块803,用于基于所述一组鸟瞰视图拼接成的全景视图中属于每条车道线的各车道线段之间边沿对齐地相接为一条车道线为目标,获得所述每个鸟瞰视图所需进行旋转和/或平移的变换的变换参数;
标定校正模块804,用于基于每个鸟瞰视图的变换参数校正对应相机的外参并存储。
需特别说明的是,在图8实施例中的各个功能模块,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以程序指令产品的形式实现。程序指令产品包括一个或一组程序指令。在计算机上加载和执行程序指令指令时,全部或部分地产生按照本公开的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。程序指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输。
并且,图8实施例所揭露的装置,可通过其它的模块划分方式实现。以上所表示的装置实施例仅仅是示意性的,例如所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如一组模块或模块可以结合或者可以动态到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接于可以是通过一些接口,装置或模块的间接耦合或通信连接于,可以是电性或其它的形式。
另外,图8实施例中的各功能模块及子模块可以动态在一个处理部件中,也可以是各个模块单独物理存在,也可以两个或两个以上模块动态在一个部件中。上述动态的部件既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。上述动态的部件如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读存储介质中。该存储介质可以是只读存储器,磁盘或光盘等。
需特别说明的是,本公开上述实施例的流程图表示的流程或方法表示可以被理解为,表示包括一个或更一组被配置成实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分。并且本公开的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能。
例如,图2等方法实施例中的各个步骤的顺序可能可以在具体场景中加以变化,并非以上述表示为限。
如图9所示,展示本公开一实施例中控制器的结构示意图。
所述控制器900包括总线901、处理器902、存储器903。处理器902、存储器903之间可以通过总线901通信。所述存储器903中可以存储有程序指令。所述处理器902通过运行存储器903中的程序指令来实现之前实施例中相机标定方法中的步骤。
总线901可以是外设部件互连标准(Peripheral Component Interconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,虽然图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
在一些实施例中,处理器902可以为中央处理器(Central Processing Unit,CPU)、微处理单元(MCU)、片上系统(System On Chip)、或现场可编程逻辑阵列(FPGA)等实现。存储器903可以包括易失性存储器(Volatile Memory)以用于运行程序时的数据暂存使用,例如随机存取存储器(RandomAccess Memory,RAM)。
存储器903还可以包括非易失性存储器(non-volatile memory)以用于数据存储,例如只读存储器(Read-Only Memory,ROM),快闪存储器,硬盘驱动器(Hard DiskDrive,HDD)或固态盘(Solid-State Disk,SSD)。
在一些实施例中,所述控制器900还可以包括通信器904。所述通信器904用于与外部通信。在具体实例中,所述通信器904可以包括一个或一组有线和/或无线通信电路模块。举例来说,所述通信器904可以包括例如有线网卡、USB模块、串行接口模块等中的一种或多种。无线通信模块所遵循的无线通信协议包括:例如近距离无线通信(Nearfieldcommunication,NFC)技术、红外(Infared,IR)技术、全球移动通讯系统(Global Systemfor Mobile communications,GSM)、通用分组无线服务(General Packet Radio Service,GPRS)、码分多址引入(Code Division MultipleAccess,CDMA)、宽带码分多址(WidebandCode division multiple access,WCDMA)、时分码分多址(Time-Division Code DivisionMultiple Access,TD-SCDMA)、长期演进(Long Term Evolution,LTE)、蓝牙(BlueTooth,BT)、全球导航卫星系统(Global Navigation Satellite System,GNSS)等中的一种或多种。
本申请实施例中还可提供一种车辆,包括:车载的全景环视系统,即包括前、后、左、右相机;如图9所示的控制器,与所述车载的全景环视系统通信连接。所述控制器可用于执行上述相机标定方法。
本公开实施例中还可以提供一种计算机可读存储介质,存储有程序指令,所述程序指令被运行时实现之前任一实施例中的相机标定方法。
即上述实施例中的方法步骤被实现为可存储在记录介质(诸如CD ROM、RAM、软盘、硬盘或磁光盘)中的软件或计算机代码,或者被实现通过网络下载的原始存储在远程记录介质或非暂时机器可读介质中并将被存储在本地记录介质中的计算机代码,从而在此表示的方法可被存储在使用通用计算机、专用处理器或者可编程或专用硬件(诸如ASIC或FPGA)的记录介质上的这样的软件处理。
综上所述,本公开实施例中提供相机标定方法、装置、控制器、车辆及存储介质,在每个当前周期,获取全景环视系统对道路采集得到的一组方位视图并执行图像识别微调处理;微调处理包括:利用每个相机的当前内参和当前外参,对每个方位视图进行畸变校正和透视转换,边缘特征提取车道线;基于前视鸟瞰图和后视鸟瞰图进行偏差校正处理以得到微调后前视鸟瞰图和微调后后视鸟瞰图,偏差校正处理为利用前/后视图中的参考点同左视图及右视图中的同名点的坐标转换关系计算透视变换偏差矩阵以微调前视鸟瞰图/后视鸟瞰图;且执行迭代标定动作以迭代更新微调结果;迭代满足标定目标即判定标定成功。能在车辆位于实际道路中时,方便地校正因标定参数误差,高效便捷。
上述实施例仅例示性说明本公开的原理及其功效,而非用于限制本公开。任何熟悉此技术的人士皆可在不违背本公开的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本公开所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本公开的权利要求所涵盖。
Claims (10)
1.一种相机标定方法,其特征在于,应用于车载的全景环视系统中各方位的相机的标定,所述方法包括:
在每个周期时刻,获取所述全景环视系统对道路采集得到的一组方位视图;所述一组方位视图包括:前视图、左视图、右视图及后视图;
基于每个相机的内参和外参,对每个所述方位视图进行畸变校正及鸟瞰视角的透视变换以得到一组鸟瞰视图,并分别进行车道线提取;所述一组鸟瞰视图包括:鸟瞰前视图、鸟瞰左视图、鸟瞰右视图及鸟瞰后视图;
基于所述一组鸟瞰视图拼接成的全景视图中属于每条车道线的各车道线段之间边沿对齐地相接为一条车道线为目标,获得所述每个鸟瞰视图所需进行旋转和/或平移的变换的变换参数;
基于每个鸟瞰视图的变换参数校正对应相机的外参并存储。
2.根据权利要求1所述的相机标定方法,其特征在于,所述基于所述一组鸟瞰视图拼接成的全景视图中属于每条车道线的各车道线段之间边沿对齐地相接为一条车道线为目标,包括:
以一组鸟瞰视图中的一个鸟瞰视图为参考视图,基于所述参考视图所包含的车道线段进行变换,包括:基于车道线段的当前姿态相对于全景视图的鸟瞰正视姿态的角度差和/或宽度差所指示的角度偏差进行旋转,以得到变换后消除角度偏差的参考视图;
从参考视图开始,依次对每个相邻的下一鸟瞰视图基于经变换后的上一鸟瞰视图进行变换,以使下一鸟瞰视图与上一鸟瞰视图中属于每条车道线的各车道线段之间边沿对齐地相接为一条车道线,包括以下至少一种:基于下一鸟瞰视图相比上一鸟瞰视图中属于同一车道线的车道线段之间角度偏差进行旋转、基于下一鸟瞰视图相比上一鸟瞰视图中属于同一车道线的车道线段之间在消除角度偏差情况下的尺度偏差进行缩放、以及基于下一鸟瞰视图相比上一鸟瞰视图中属于每条车道线的车道线段之间在消除角度偏差情况下的间距偏差进行平移,得到变换后消除偏差后的下一鸟瞰视图。
3.根据权利要求1或2所述的相机标定方法,其特征在于,所述旋转包括基于空间坐标系的三轴的旋转;所述平移为在全景视图的图像平面中进行的平移,所述全景视图的图像平面与所述空间坐标系的两轴为同一平面,所述两轴包括与车身分别垂直和平行的第一坐标轴和第二坐标轴,所述空间坐标系还具有与所述两轴垂直的第三轴;所述基于所述一组鸟瞰视图拼接成的全景视图中属于每条车道线的各车道线段之间边沿对齐地相接为一条车道线为目标,获得所述每个鸟瞰视图所需进行旋转和/或平移的变换的变换参数,包括以下至少一种:
1)以鸟瞰前视图或鸟瞰后视图作为参考视图,变换参考视图以消除角度偏差至符合全景视图的鸟瞰正视姿态,包括:若参考视图中的两条车道线段相对第二轴之间存在角度差,对所述参考视图绕第三轴旋转以消除所述角度差;或者,若参考视图中两条车道线段相对第一轴的角度之间存在角度差,对所述参考视图绕第一轴旋转以消除所述角度差;或者,若参考视图中两条车道线段之间存在宽度差,对所述参考视图绕第二轴旋转以消除所述宽度差;
基于消除相对于参考视图的角度偏差、尺度偏差和间距偏差为目标,变换鸟瞰左视图和鸟瞰右视图;
基于消除相对于鸟瞰左视图和/或鸟瞰右视图的角度偏差、尺度偏差和间距偏差为目标,变换鸟瞰后视图或鸟瞰前视图,以使得鸟瞰前视图、鸟瞰左视图、鸟瞰右视图及鸟瞰后视图之间属于每条车道线的各车道线段之间边沿对齐地相接为一条车道线;
获得所述鸟瞰前视图、鸟瞰左视图、鸟瞰右视图及鸟瞰后视图各自的变换参数;
2)以鸟瞰左视图或鸟瞰右视图作为参考视图,变换参考视图以消除角度偏差至符合全景视图的鸟瞰正视姿态,包括:若参考视图中的一条车道线相对第二轴之间存在角度差,对所述参考视图相对第三轴旋转以消除所述角度差;或者,若参考视图中的一条车道线在至少两个位置之间存在宽度差,对所述参考视图绕第一轴旋转以消除所述宽度差;
基于消除相对于参考视图的角度偏差、尺度偏差和间距偏差为目标,变换鸟瞰前视图和鸟瞰后视图;
基于消除相对于鸟瞰前视图和/或鸟瞰后视图的角度偏差、尺度偏差和间距偏差为目标,变换鸟瞰右视图视图或鸟瞰左视图,以使得鸟瞰前视图、鸟瞰左视图、鸟瞰右视图及鸟瞰后视图之间属于每条车道线的各车道线段之间边沿对齐地相接为一条车道线;
获得所述鸟瞰前视图、鸟瞰左视图、鸟瞰右视图及鸟瞰后视图各自的变换参数。
4.根据权利要求1所述的相机标定方法,其特征在于,所述车道线提取,包括:
基于车道线像素特征,从每个鸟瞰视图提取分别对应每个车道线的成对边沿的各分段的像素点集合;
基于每条边沿的各分段的像素点集合执行直线拟合,得到车道线的两条边沿以确定车道线。
5.根据权利要求4所述的相机标定方法,其特征在于,所述基于车道线像素特征,从每个鸟瞰视图提取分别对应每个车道线的成对边沿的各分段的像素点集合,包括:
在鸟瞰视图中沿图像水平维度进行像素值对比,基于车道线相对其相邻两侧车道区域像素值大的特征确定每条边缘线的像素点集合;
确定一条边缘线的像素点集合为参考点集,基于多条其它边缘线的像素点集合相对参考点集的间距符合预设车道线宽度为条件,筛除不符合条件的边缘线,以得到筛选后边缘线作为车道线的边沿。
6.根据权利要求4所述的相机标定方法,其特征在于,
在所述直线拟合之前还包括:对边沿的像素点集合进行去噪,包括以下至少一种:1)去除像素点集合中位置离散的像素点;2)由成对边沿的像素点集合之间形成各像素点对,筛除各像素点对的间距中离散的像素点;
和/或,在所述直线拟合之前还包括:基于像素点沿鸟瞰视图的图像水平维度的周围多个预设方向上相邻预设数量的像素点的像素值一致为筛选条件,筛除像素点集合中不符合条件的像素点。
7.一种相机标定装置,其特征在于,应用于车载的全景环视系统中各方位的相机的标定,所述装置包括:
图像采集模块,用于在每个周期时刻,获取所述全景环视系统对道路采集得到的一组方位视图;所述一组方位视图包括:前视图、左视图、右视图及后视图;
车道线提取模块,用于基于每个相机的内参和外参,对每个所述方位视图进行畸变校正及鸟瞰视角的透视变换以得到一组鸟瞰视图,并分别进行车道线提取;所述一组鸟瞰视图包括:鸟瞰前视图、鸟瞰左视图、鸟瞰右视图及鸟瞰后视图;
车道线对齐变换模块,用于基于所述一组鸟瞰视图拼接成的全景视图中属于每条车道线的各车道线段之间边沿对齐地相接为一条车道线为目标,获得所述每个鸟瞰视图所需进行旋转和/或平移的变换的变换参数;
标定校正模块,用于基于每个鸟瞰视图的变换参数校正对应相机的外参并存储。
8.一种控制器,其特征在于,包括:存储器及处理器;所述存储器存储有程序指令,所述处理器用于运行所述程序指令以实现如权利要求1至6中任一项所述的相机标定方法。
9.一种车辆,其特征在于,包括:
车载的全景环视系统;
如权利要求8所述的控制器,与所述车载的全景环视系统通信连接。
10.一种计算机可读存储介质,其特征在于,存储有程序指令,所述程序指令被运行执行如权利要求1至6中任一项所述的相机标定方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310346180.8A CN116704040B (zh) | 2023-04-03 | 2023-04-03 | 相机标定方法、装置、控制器、车辆及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310346180.8A CN116704040B (zh) | 2023-04-03 | 2023-04-03 | 相机标定方法、装置、控制器、车辆及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116704040A true CN116704040A (zh) | 2023-09-05 |
CN116704040B CN116704040B (zh) | 2024-03-15 |
Family
ID=87838175
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310346180.8A Active CN116704040B (zh) | 2023-04-03 | 2023-04-03 | 相机标定方法、装置、控制器、车辆及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116704040B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN202806557U (zh) * | 2012-06-14 | 2013-03-20 | 北京万得嘉瑞汽车技术有限公司 | 一种集成全景泊车和车道偏离报警功能的驾驶辅助系统 |
CN105894549A (zh) * | 2015-10-21 | 2016-08-24 | 乐卡汽车智能科技(北京)有限公司 | 一种全景辅助泊车系统、装置及全景图像显示方法 |
CN107862268A (zh) * | 2017-10-30 | 2018-03-30 | 深圳市易成自动驾驶技术有限公司 | 环视车道线识别方法、装置及计算机可读存储介质 |
CN112614192A (zh) * | 2020-12-24 | 2021-04-06 | 湖北亿咖通科技有限公司 | 一种车载相机的在线标定方法和车载信息娱乐系统 |
CN112785655A (zh) * | 2021-01-28 | 2021-05-11 | 中汽创智科技有限公司 | 一种基于车道线检测的环视相机外参自动标定方法、装置、设备及计算机存储介质 |
CN113706624A (zh) * | 2020-05-20 | 2021-11-26 | 杭州海康威视数字技术股份有限公司 | 相机外参修正方法、装置及车载环视系统 |
CN114549595A (zh) * | 2022-03-21 | 2022-05-27 | 广州小鹏自动驾驶科技有限公司 | 数据处理方法、装置、电子设备及存储介质 |
CN115239820A (zh) * | 2022-06-21 | 2022-10-25 | 北京理工大学 | 一种分体式飞行车辆鸟瞰图实时拼接及车位检测方法 |
WO2023028880A1 (zh) * | 2021-08-31 | 2023-03-09 | 华为技术有限公司 | 车载相机的外部参数的标定方法及相关装置 |
-
2023
- 2023-04-03 CN CN202310346180.8A patent/CN116704040B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN202806557U (zh) * | 2012-06-14 | 2013-03-20 | 北京万得嘉瑞汽车技术有限公司 | 一种集成全景泊车和车道偏离报警功能的驾驶辅助系统 |
CN105894549A (zh) * | 2015-10-21 | 2016-08-24 | 乐卡汽车智能科技(北京)有限公司 | 一种全景辅助泊车系统、装置及全景图像显示方法 |
CN107862268A (zh) * | 2017-10-30 | 2018-03-30 | 深圳市易成自动驾驶技术有限公司 | 环视车道线识别方法、装置及计算机可读存储介质 |
CN113706624A (zh) * | 2020-05-20 | 2021-11-26 | 杭州海康威视数字技术股份有限公司 | 相机外参修正方法、装置及车载环视系统 |
CN112614192A (zh) * | 2020-12-24 | 2021-04-06 | 湖北亿咖通科技有限公司 | 一种车载相机的在线标定方法和车载信息娱乐系统 |
CN112785655A (zh) * | 2021-01-28 | 2021-05-11 | 中汽创智科技有限公司 | 一种基于车道线检测的环视相机外参自动标定方法、装置、设备及计算机存储介质 |
WO2023028880A1 (zh) * | 2021-08-31 | 2023-03-09 | 华为技术有限公司 | 车载相机的外部参数的标定方法及相关装置 |
CN114549595A (zh) * | 2022-03-21 | 2022-05-27 | 广州小鹏自动驾驶科技有限公司 | 数据处理方法、装置、电子设备及存储介质 |
CN115239820A (zh) * | 2022-06-21 | 2022-10-25 | 北京理工大学 | 一种分体式飞行车辆鸟瞰图实时拼接及车位检测方法 |
Non-Patent Citations (2)
Title |
---|
宋焕生 等: "高速公路相机自动标定及道路坐标系构建", 中国公路学报, vol. 35, no. 9, pages 90 - 103 * |
罗康 等: "全景鸟瞰图像中车道线颜色识别方法", 电子测量技术, vol. 42, no. 13, pages 80 - 85 * |
Also Published As
Publication number | Publication date |
---|---|
CN116704040B (zh) | 2024-03-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10434877B2 (en) | Driver-assistance method and a driver-assistance apparatus | |
JP4555876B2 (ja) | 車載カメラのキャリブレーション方法 | |
CN110148185B (zh) | 确定成像设备坐标系转换参数的方法、装置和电子设备 | |
US9992481B2 (en) | Method and apparatus for processing surrounding images of vehicle | |
EP1640212B1 (en) | Monitoring system for monitoring surroundings of vehicle | |
CN111681286B (zh) | 一种标定方法、装置、系统、电子设备及存储介质 | |
JP2014520337A (ja) | 車両周辺視角化のための3次元映像合成装置およびその方法 | |
US20220366606A1 (en) | Methods for calibrating image acquiring devices, electronic devices and storage media | |
CN109883433B (zh) | 基于360度全景视图的结构化环境中车辆定位方法 | |
JP2006234703A (ja) | 画像処理装置及び三次元計測装置並びに画像処理装置用プログラム | |
CN112489136A (zh) | 标定方法、位置确定方法、装置、电子设备及存储介质 | |
CN114549666B (zh) | 一种基于agv的环视图像拼接标定方法 | |
CN113706624A (zh) | 相机外参修正方法、装置及车载环视系统 | |
CN111325799B (zh) | 一种大范围高精度的静态环视自动标定图案及系统 | |
CN111383264B (zh) | 一种定位方法、装置、终端及计算机存储介质 | |
KR101697229B1 (ko) | 차량용 영상 정합을 위한 차선 정보 기반의 자동보정장치 및 그 방법 | |
CN116704040B (zh) | 相机标定方法、装置、控制器、车辆及存储介质 | |
CN108376384B (zh) | 视差图的矫正方法、装置及存储介质 | |
CN111696141B (zh) | 一种三维全景扫描采集方法、设备及存储设备 | |
CN113610927B (zh) | 一种avm摄像头参数标定方法、装置及电子设备 | |
CN113658262B (zh) | 相机外参标定方法、装置、系统及存储介质 | |
CN114332142A (zh) | 车载相机的外参标定方法、设备、系统及介质 | |
CN114754779A (zh) | 一种定位与建图方法、装置及电子设备 | |
KR102277828B1 (ko) | 복수의 카메라들을 캘리브레이션하는 방법 및 장치 | |
CN113362232A (zh) | 车辆全景环视图像生成方法和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |