CN118264761A - 用于校准安装在车辆上的摄像头的方法和装置 - Google Patents
用于校准安装在车辆上的摄像头的方法和装置 Download PDFInfo
- Publication number
- CN118264761A CN118264761A CN202311818558.6A CN202311818558A CN118264761A CN 118264761 A CN118264761 A CN 118264761A CN 202311818558 A CN202311818558 A CN 202311818558A CN 118264761 A CN118264761 A CN 118264761A
- Authority
- CN
- China
- Prior art keywords
- vehicle
- camera
- sequence
- determining
- motion profile
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 91
- 230000033001 locomotion Effects 0.000 claims abstract description 125
- 230000004044 response Effects 0.000 claims description 9
- 238000001514 detection method Methods 0.000 claims description 6
- 238000010801 machine learning Methods 0.000 claims description 3
- 230000011218 segmentation Effects 0.000 claims description 2
- 230000006870 function Effects 0.000 description 51
- 230000015654 memory Effects 0.000 description 36
- 238000005259 measurement Methods 0.000 description 22
- 238000005516 engineering process Methods 0.000 description 21
- 238000004891 communication Methods 0.000 description 20
- 230000008569 process Effects 0.000 description 11
- 230000000007 visual effect Effects 0.000 description 11
- 230000008901 benefit Effects 0.000 description 8
- 230000008447 perception Effects 0.000 description 8
- 238000012545 processing Methods 0.000 description 8
- 238000004590 computer program Methods 0.000 description 6
- 230000007774 longterm Effects 0.000 description 4
- 230000001413 cellular effect Effects 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000010267 cellular communication Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- QVFWZNCVPCJQOP-UHFFFAOYSA-N chloralodol Chemical compound CC(O)(C)CC(C)OC(O)C(Cl)(Cl)Cl QVFWZNCVPCJQOP-UHFFFAOYSA-N 0.000 description 1
- 230000036461 convulsion Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000003708 edge detection Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000003709 image segmentation Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002688 persistence Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/80—Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/50—Extraction of image or video features by performing operations within image blocks; by using histograms, e.g. histogram of oriented gradients [HoG]; by summing image-intensity values; Projection analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/10—Terrestrial scenes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/50—Context or environment of the image
- G06V20/56—Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
- G06V20/58—Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/70—Labelling scene content, e.g. deriving syntactic or semantic representations
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W2420/00—Indexing codes relating to the type of sensors based on the principle of their operation
- B60W2420/40—Photo, light or radio wave sensitive means, e.g. infrared sensors
- B60W2420/403—Image sensing, e.g. optical camera
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W2420/00—Indexing codes relating to the type of sensors based on the principle of their operation
- B60W2420/40—Photo, light or radio wave sensitive means, e.g. infrared sensors
- B60W2420/408—Radar; Laser, e.g. lidar
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W60/00—Drive control systems specially adapted for autonomous road vehicles
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10028—Range image; Depth image; 3D point clouds
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30241—Trajectory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30244—Camera pose
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30248—Vehicle exterior or interior
- G06T2207/30252—Vehicle exterior; Vicinity of vehicle
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Image Analysis (AREA)
- Traffic Control Systems (AREA)
Abstract
本发明涉及用于校准安装在车辆上的摄像头的方法(100)和装置。方法(100)包括:获取(S102)由摄像头捕获的图像序列,图像序列的每个图像描绘了在多个时间实例的相应时间实例中车辆的周围环境的一部分;确定(S104)图像序列中的特征点集合;确定(S106)图像序列中表示天空的区域;从特征点集合中去除(S114)属于表示天空的区域的特征点子集,从而形成更新后的特征点集合;基于更新后的特征点集合确定(S118)车辆跨多个时间实例的第一运动轨迹;获取(S120)车辆跨多个时间实例的第二运动轨迹,第二运动轨迹基于从车辆的一个或多个其他传感器获取的运动数据;以及通过基于第一运动轨迹与第二运动轨迹之间的差调整摄像头的外部参数集合来校准(S122)摄像头。
Description
技术领域
本发明构思涉及自动驾驶车辆领域。特别地,但并不排他地,它涉及用于校准安装在车辆上的摄像头的外部参数集合的方法和装置。
背景技术
随着近年来技术的发展,图像捕获和处理技术已经广泛应用于不同的技术领域。特别地,现今生产的车辆通常配备有某种形式的视觉或感知***,用以实现新的功能。
这种功能的示例是先进驾驶员辅助***(ADAS),其正在越来越多的现代化车辆中实施,用以提高车辆安全性以及更普遍的道路安全性。ADAS——其例如可以由自适应巡航控制(ACC)、防碰撞***、前向碰撞警告、车道支持***等来代表——是可以在驾驶时帮助车辆驾驶员的电子***。如今,在与ADAS和自主驾驶(AD)领域这两者相关联的诸多技术领域内,正在进行研究和开发。ADAS和AD还可以在通用术语的情况下被称为与例如由驾驶自动化的SAE J3016级别(0-5)所定义的所有不同自动化级别相对应的自动驾驶***(ADS)。
摄像头是视觉或感知***(尤其用于自动驾驶车辆)的一种重要类型的传感器,因为它们可以被用于对车辆周围环境中的事物进行检测、分类和测量。为了从摄像头获取准确的测量结果,准确获知摄像头相对于车辆主体的安装姿势(即,位置和方位)是重要的。在组装完车辆后,通常有确定该姿势的校准程序(也被称为工厂外部校准)。然而,存在着诸如更换挡风玻璃、各种零件的热膨胀、安装夹具松动等可能会在该校准后改变摄像头的姿势的若干个因素。为了检测这些类型的事件并进行补偿,需要持续地监测并调整该外部校准。
然而,在当今的解决方案中,存在着在调整过程中引入错误的风险,这导致以不期望的方式改变该校准。这将反过来影响任何依赖于来自摄像头的数据的下游功能。因此,需要用于执行车载摄像头的校准的新的且改进的解决方案。
发明内容
本文中所公开的技术寻求减轻、缓解或消除现有技术中的一个或多个上述缺陷和缺点,以解决与车载摄像头的动态校准有关的各种问题。
一般说来,对车载摄像头的这种动态(外部)校准通常是通过使用将要校准的摄像头确定基于摄像头的运动估计(也被称为视觉里程测量)并将其与基于诸如加速度计、陀螺仪和车轮编码器的其他运动传感器的运动估计(也被称为车轮里程测量)进行比较来执行的。通过比较这些轨迹,可以查明摄像头是否已经被移动以及移动了多少,并且计算新的校准以补偿该移动。
如果在基于视觉里程测量的运动估计中存在着误差,则这可能会导致校准的不期望改变。发明人已经意识到,校准过程特别容易受到来自于输入数据的偏态分布的长期偏移(偏置)的影响。已经查明在视觉里程测量估计中产生偏置的一个此类原因是缓慢移动的对象,这些对象在视觉里程测量期间被错误地视为静止对象。特别地,发明人已经意识到云朵是这种对象的一个示例。云朵具有足够高的图像梯度以生成大量的特征点,但同时又足够慢,使得用于排除移动对象的已知过程是无效的。如今用于排除属于移动对象的特征点的技术在处理这些类型的缓慢移动对象时是无效的,导致这些特征点被用在视觉里程测量中,这致使运动估计的方位分量发生偏置。因此,关于摄像头校准,本技术提供了一种用于改进这些方面的解决方案。
在下面以及所附的独立和从属权利要求中对所公开的技术的各个方面以及实施例进行了限定。
根据所公开的技术的第一方面,提供了一种用于校准安装在车辆上的摄像头的外部参数集合的计算机实现的方法。进而,该方法包括获取由摄像头捕获的图像序列,其中图像序列的每个图像描绘了在多个时间实例的相应时间实例中车辆的周围环境的一部分。进而,该方法包括确定图像序列中的特征点集合。进而,该方法包括确定图像序列中表示天空的区域。进而,该方法包括从特征点集合中去除特征点子集,从而形成更新后的特征点集合,该特征点子集属于表示天空的区域。进而,该方法包括基于更新后的特征点集合来确定车辆跨多个时间实例的第一运动轨迹。进而,该方法包括获取车辆跨多个时间实例的第二运动轨迹,其中第二运动轨迹基于从车辆的一个或多个其他传感器获取的运动数据。进而,该方法包括通过基于第一运动轨迹与第二运动轨迹之间的差调整摄像头的外部参数集合来校准摄像头。
根据所公开的技术的第二方面,提供了一种计算机程序产品。计算机程序产品包括指令,当程序由计算装置执行时,该指令使得计算装置执行根据第一方面的任何一个实施例的方法。对于所公开的技术的该第二方面,存在与其他方面类似的优点以及优选特征。为了避免不必要的重复,可以参考上述内容。
根据所公开的技术的第三方面,提供了一种(非暂时性)计算机可读存储介质,其存储有被配置为由处理装置的一个或多个处理器执行的一个或多个程序,该一个或多个程序包括用于执行根据第一方面的任何一个实施例的方法的指令。对于所公开的技术的该第三方面,存在与其他方面类似的优点以及优选特征。为了避免不必要的重复,可以参考上述内容。
如本文中所使用的术语“非暂时性”旨在描述排除传播电磁信号的计算机可读存储介质(或“存储器”),但不旨在以其他方式限制用语“计算机可读介质或存储器”所涵盖的物理计算机可读存储装置的类型。例如,术语“非暂时性计算机可读介质”或“有形的存储器”旨在涵盖不必永久地存储信息的存储装置的类型,包括例如随机存取存储器(RAM)。以非暂时性形式存储在有形的计算机可访问存储介质上的程序指令和数据可以进一步通过传输介质或可以经由通信介质(诸如网络和/或无线链路)传送的信号(诸如电信号、电磁信号或数字信号)来传输。因此,如本文中使用的术语“非暂时性”是对介质本身的限制(即,有形的,而不是信号),而不是对数据存储持久性的限制(例如,RAM对比ROM)。
根据第四方面,提供了一种用于校准安装在车辆上的摄像头的外部参数集合的装置。该装置包括控制电路。该控制电路被配置为获取由摄像头捕获的图像序列,其中图像序列的每个图像描绘了在多个时间实例的相应时间实例中车辆的周围环境的一部分。进而,该控制电路被配置为确定图像序列中的特征点集合。进而,该控制电路被配置为确定图像序列中表示天空的区域。进而,该控制电路被配置为从特征点集合中去除属于表示天空的区域的特征点子集。进而,该控制电路被配置为基于特征点集合来确定车辆跨多个时间实例的第一运动轨迹。进而,该控制电路被配置为获取车辆跨多个时间实例的第二运动轨迹,其中第二运动轨迹基于从车辆的一个或多个其他传感器获取的运动数据。进而,该控制电路被配置为通过基于第一运动轨迹与第二运动轨迹之间的差调整摄像头的外部参数来校准摄像头的外部参数集合。对于所公开的技术的该第四方面,存在与其他方面类似的优点以及优选特征。为了避免不必要的重复,可以参考上述内容。
根据第五方面,提供了一种车辆。车辆包括安装在车辆上的摄像头以及根据第四方面的任何一个实施例的用于校准安装在车辆上的摄像头的装置。对于所公开的技术的该第五方面,存在与其他方面类似的优点以及优选特征。为了避免不必要的重复,可以参考上述内容。
所公开的方面和优选实施例可以以对于本领域普通技术人员而言为显而易见的任何方式来彼此适当地组合,使得关于一个方面所公开的一个或多个特征或实施例也可以被认为是关于另一方面或另一方面的实施例所公开的。
所提出的技术的一些实施例的可能优点在于,实现了动态外部校准的改善精度及性能。更具体而言,确定表示天空的区域并去除属于该区域的特征点可以导致较少偏离正确校准的更稳健校准过程。特别地,由于可以减少长期偏置的影响,所以可以提高在较长距离/时间上的性能。
可以使用齐次坐标表示车辆的三维环境中的三角化特征点来实现本技术。这使得有可能具有远离摄像头的特征点(也被称为无穷远点)并且仍然在视觉里程测量中使用它们(与使用笛卡尔坐标相反)。使用远离的特征点是有利的,因为它可以提供视觉里程测量的改善精度。无穷远点在方位估计中特别有用。通过所提出的去除属于天空的特征点的解决方案,即通过减少使用无穷远点的任何缺点的影响,使得对无穷远点的使用是可行的,否则这些缺点还将存在。然而,应当领会的是,也可以使用笛卡尔坐标。
在从属权利要求中限定了其他实施例。应强调,当在本说明书中使用时,术语“包括/包含”用来指明所陈述的特征、整体、步骤或部件的存在。它并不排除一个或多个其他特征、整体、步骤、部件或它们的组的存在或添加。
所公开的技术的这些以及其他的特征和优点将在下文中参考下文中所描述的实施例来进一步阐明。根据下面给出的详细描述,本公开的进一步适用范围将变得显而易见。然而,应当理解,在指示本发明构思的优选变型的同时,仅以说明的方式来给出详细描述以及具体示例,因为对于本领域技术人员而言,本发明构思的范围内的各种改变和修改都将根据该详细描述而变得显而易见。
附图说明
当结合附图使用时,通过参考本公开的示例实施例的以下说明性且非限制性的详细描述,将更充分地领会所公开的技术的上述方面、特征和优点,附图中:
图1是根据本公开的一些实施例的用于校准安装在车辆上的摄像头的外部参数集合的计算机实现的方法的示意性流程表示。
图2是根据本公开的一些实施例的用于校准安装在车辆上的摄像头的外部参数集合的装置。
图3示意性地图示出根据本公开的一些实施例的车辆。
图4图示出具有特征点的图像序列。
具体实施方式
现在将参考附图来详细地描述本公开,在附图中示出了所公开的技术的一些示例实施例。然而,所公开的技术可以以其他的形式来体现,并且不应被解释为限于所公开的示例实施例。提供所公开的示例实施例以将所公开的技术的范围充分地传达给本领域技术人员。本领域技术人员将领会,本文中所解释的步骤、服务和功能可以使用单独的硬件电路、使用与编程微处理器或通用计算机一起工作的软件、使用一个或多个专用集成电路(ASIC:Application Specific Integrated Circuit)、使用一个或多个现场可编程门阵列(FPGA:Field Programmable Gate Array)和/或使用一个或多个数字信号处理器(DSP:DigitalSignal Processor)来实现。
还将领会,当采用方法的形式来描述本公开时,它也可以体现在包括一个或多个处理器、与一个或多个处理器耦接的一个或多个存储器的设备或装置中,其中加载计算机代码以实现该方法。例如,在一些实施例中,一个或多个存储器可以存储一个或多个计算机程序,该计算机程序在由一个或多个处理器执行时,使该设备或装置执行本文中所公开的步骤、服务和功能。
还应当理解的是,本文中所使用的术语仅用于描述特定实施例的目的,并且并不旨在进行限制。必须注意的是,如在本说明书和所附权利要求中所使用的,用语“一”、“该”和“所述”旨在表示存在一个或多个元件,除非上下文另有明确规定。因此,例如,在某些上下文等中,对“一单元”或“该单元”的引用可以指多于一个的单元。此外,词语“包含”、“包括”、“含有”并不排除其他的元件或步骤。应当强调的是,当在本说明书中使用时,术语“包含/含有”被用于指定所陈述的特征、整体、步骤或部件的存在。它并不排除一个或多个其他特征、整体、步骤、部件或它们的组的存在或添加。术语“和/或”也将被解释为“两者”的含义,并且每个都作为替代方案。
还将理解,尽管本文中可以使用术语“第一”、“第二”等来描述各种元件或特征,但这些元件不应受到这些术语的限制。这些术语仅用于将一个元件与另一个元件区分开来。例如,第一信号可以被称为第二信号,并且类似地,第二信号可以被称为第一信号,而并不脱离实施例的范围。第一信号和第二信号都是信号,但它们不是同一信号。
本技术涉及安装在车辆上的摄像头的所谓外部校准。特别地,它涉及摄像头的外部参数的动态重新校准,其可以在初始(工厂)校准之后执行,以校正误差或调整摄像头的姿势上的变化。在整个本公开中,对象(此处为摄像头)的“姿势”应理解为对象在给定坐标系(本文中为车辆的坐标系)中的位置和方位。在计算机视觉领域内,姿势通常由平移参数和旋转参数的组合来表示,这些参数描述了对象相对于坐标系的位置和方位。
外部校准是指确定摄像头相对于坐标系的姿势(即,相对位置和方位)的过程。在本公开中,相对于其上安装有摄像头的车辆的坐标系来校准摄像头的姿势。然而,应当领会,本文中所描述的原理也可以被用于相对于任何其他坐标系来校准摄像头。
车载摄像头的外部校准通常是通过使用将要校准的摄像头确定基于摄像头的运动估计(也被称为视觉里程测量)并将其与基于诸如加速度计、陀螺仪和车轮编码器的其他运动传感器的运动估计(也被称为车轮里程测量)进行比较来执行的。通过比较这些轨迹,可以查明摄像头是否已经被移动以及移动了多少,并且计算新的校准以补偿该移动。
视觉里程测量是指基于摄像头所获取的其周围环境的视觉信息来估计摄像头的位置和方位的过程。该过程包括通过分析由摄像头拍摄的图像序列来跟踪摄像头随时间的移动。摄像头运动的结果估计可以被称为视觉里程测量估计。视觉里程测量可以被用在多种应用中,包括(但并不限于)自动驾驶车辆、机器人以及增强现实。
图1是图示出用于校准安装在车辆上的摄像头的外部参数集合的方法100的一些实施例的流程图。特别地,方法100可以被用于在进行初始校准之后重新校准外部参数集合。方法100可以例如在一定的时间量之后执行或者以设定时间间隔来执行,用以确保摄像头保持校准。可替代地或组合地,方法100可以根据需要例如响应于检测到摄像头的校准已经恶化而执行。
应该领会的是,图1的方法100包括以实线图示为方框的一些步骤以及以虚线图示出的一些步骤。以实线所示的步骤是被包括在方法100的最广泛的示例实施例中的步骤。被包括在虚线中的步骤是多个可选步骤的示例,这些可选步骤可以形成多个可替代实施例的一部分。应当领会,这些步骤不需要按顺序执行。此外,应当领会,并非所有的步骤都需要执行。示例步骤可以以任何顺序并且以任何组合来执行。
方法100优选由诸如下面结合图2所描述的装置200的装置来执行。装置200可以是诸如下面结合图3所描述的车辆300的车辆的自动驾驶***(ADS)的一部分。因此,车辆可以配备有ADS。因此,摄像头可以是ADS的视觉***的一部分。应当领会,本公开的原理可应用于任何车载摄像头。如本文中所使用的,“车辆”是任何形式的机动交通工具。例如,车辆300可以是诸如汽车(如本文中所图示出的)、摩托车、(货运)卡车、公共汽车、智能自行车等任何道路车辆。
在下文中,参考图1来更详细地描述不同的步骤。即使以特定的顺序来图示出,方法100的步骤可以以任何适当的顺序、并行以及多次执行。例如,确定S118第一运动轨迹(以及在此之前的步骤)和获取S120第二运动轨迹的步骤(在下文中进一步描述)可以互换地执行。
方法100包括获取S102由摄像头捕获的图像序列。在整个本公开中,术语“获取”应被广泛地解释,并且包括在被配置为彼此通信或进一步与其他外部实体通信的两个实体之间直接和/或间接地接收、检索、收集、获取等。例如,获取S102图像序列可以包括由摄像头捕获图像序列或请求摄像头捕获图像序列。可替代地,可以通过从例如存储器、远程装置或远程服务器接收或检索图像序列来获取S102图像序列。
图像序列的每个图像描绘了在多个时间实例的相应时间实例中车辆的周围环境的一部分。车辆的周围环境应被理解为车辆周围的一般区域,在该一般区域中,对象(诸如其他车辆、地标、障碍物、人员等)可以被车辆的传感器(雷达、激光雷达、摄像头等)检测并识别,即,在车辆的传感器范围内。周围环境的被描绘部分可以对应于摄像头的视场。图像序列应当被理解为图像帧的序列。因此,图像序列可以是摄像头的描绘了在不同时间实例下周围环境的一部分的视频馈送。
继续,方法100进一步包括确定S104图像序列中的特征点集合。正如在计算机视觉领域中众所周知的那样,特征点是指图像或视频中与众不同和/或感兴趣的点或区(或像素位置),并且可以随着时间的推移而被识别并跟踪。这些点通常是基于它们的视觉特征(诸如图像中的拐角、边缘或其他独特或与众不同的图案)而被选择出的。特征点可以例如通过诸如拐角检测、边缘检测或尺度不变特征变换(SIFT)的技术来确定。这些技术通常是通过例如基于图像梯度、定向梯度直方图(HOG)或局部二制模式(LBP)来提取并描述每个点周围的局部特征而进行操作的。一旦确定,则可以使用诸如特征点的位置、比例、方位和描述符的数字特征集合来描述特征点。这些特征可以用于比较并匹配不同图像或视频帧上的特征点,以例如作为视觉里程测量过程的一部分。因此,特征点集合中的特征点可以与车辆周围环境中的对象相关联。
特征点集合应当被理解为包括图像序列的每个图像的多个特征点。应当领会,不同的图像可以具有不同的特征点以及不同数量的点。在确定运动轨迹的稍后步骤中(如下所述),可以将一个图像的特征点链接到后续图像的相应特征点,以在两个连续图像之间确定车辆是如何移动的。如上所述,存在着用于确定图像的特征点的若干种技术,其中的任何一种技术都可以被用在所提出的解决方案的实现中。
方法100进一步包括确定S106图像序列中表示天空的区域。换句话说,识别出图像序列的每个图像中对应于天空的区。确定S106图像序列的图像中表示天空的区域可以通过选择图像的上部(诸如图像顶部的10%、20%或30%)来完成。图像的上部可以由图像中地平线上方的部分来定义。在另一示例中,确定S106图像序列的表示天空的区域可以通过语义分割来执行。换言之,可以使用图像分割或任何适当的监督机器学习过程来确定表示天空的区域。
在一些实施例中,确定S106表示天空的区域包括:针对图像序列的每个图像,确定S108图像的直方图,并且选择S110直方图中具有超过阈值的强度的像素集合作为表示天空的区域。如以上所解释的,可以对图像的上部执行对具有超过阈值的强度的像素集合的选择S110。因此,表示天空的区域可以与例如到达地平线上方的树木区分开来。已经发现像素的强度是区域是否描绘了天空的良好指示。阈值可以是静态阈值,即,与图像无关的设置阈值。可替代地,阈值可以是动态阈值,即,基于特定图像(或者更具体地,基于图像的强度分布)来设置。查看图像的直方图以确定S106表示天空的区域的过程提供了一种粗略但快速的检测算法,该检测算法已经被证明是有利的,因为它允许有效的天空检测器。
继续,方法100进一步包括从特征点集合中去除S114特征点子集,从而形成更新后的特征点集合,该特征点子集属于表示天空的区域。换言之,图像序列的任何一个图像中存在于天空中的任何特征点都从特征点集合中被去除。因此,更新后的特征点集合可以不含有已在天空中被识别出的诸如云朵、星、飞机等缓慢移动对象的特征点。如以上所解释的,去除这些类型的特征点可以是有利的,因为可以防止长期偏置被引入到校准过程中。
可选地,该方法可以进一步包括确定S112图像序列中表示一个或多个移动对象的区域。从特征点集合中去除S114特征点子集可以进一步包括从特征点集合中去除S116附加特征点子集。该附加特征点子集属于表示一个或多个移动对象的区域。换句话说,属于移动对象的任何特征点都可以从特征点集合中被排除。移动对象通常将会降低视觉里程测量的性能,因此去除属于这些对象的特征点防止了性能上的这种降低。可以使用基于机器学习的对象检测来执行确定S112表示一个或多个移动对象的区域。
方法100进一步包括基于更新后的特征点集合来确定S118车辆跨多个时间实例的第一运动轨迹。可以通过跟踪在与相应时间实例相关联的图像序列上特征点集合的特征点来确定第一运动轨迹。换言之,如上所述,通过视觉里程测量来确定第一运动轨迹。因此,第一运动轨迹可以被视为视觉里程测量估计。
在本文中,用语“运动轨迹”是指车辆跨多个时间实例沿其行进的轨迹。运动轨迹可以例如包括与在多个时间实例的每个时间实例上车辆的位置、速度和加速度有关的信息。
继续,方法100进一步包括获取S120车辆跨多个时间实例的第二运动轨迹。第二运动轨迹基于从车辆的一个或多个其他传感器获取的运动数据。在本文中,用语“其他传感器”是指除了将要校准的摄像头以外的任何传感器。可以使用任何适合于确定车辆里程测量的传感器。其他传感器例如可以是诸如加速度计、陀螺仪、一个或多个车轮编码器等运动传感器。换言之,可以通过车轮里程测量来确定第二运动轨迹。其他传感器例如可以是惯性测量单元(IMU),可选地与车轮编码器组合。其他传感器可以在车辆的参考点处或其附近被固定于车辆。可替代地,可以通过视觉里程测量来确定第二运动轨迹。因此,其他传感器可以包括激光雷达或车辆的其他摄像头。总之,其他传感器可以包括加速度计、陀螺仪以及车轮编码器、激光雷达和车辆的其他摄像头中的至少一个。可以基于来自一个其他传感器的运动数据来确定第二运动轨迹。可替代地,可以基于来自多个其他传感器的运动数据来确定第二运动轨迹。
第一运动轨迹和第二运动轨迹应当被视为车辆的两个不同参考点的运动轨迹。参考点可以与相对于车辆的位置和方位相关联。在本文中第一运动轨迹与属于将要校准的摄像头的第一参考点相关联。在本文中第二运动轨迹与属于一个或多个其他传感器的第二参考点相关联。随后,摄像头的校准(将在下面进一步描述)可以被视为这两个参考点之间的校准。校准可以通过从一个点到另一个点的平移和旋转来定义。因此,(确定其第二运动轨迹的一个或多个其他传感器的)第二参考点可以用作相对于车辆具有已知位置和方位的参考点,(将要校准的摄像头的)第一参考点可以被校准至该参考点。
获取S120第二运动轨迹可以包括基于从一个或多个其他传感器获取的运动数据来确定第二运动轨迹。运动数据可以包括与车辆的行驶方向、位置、速度、加速度和/或加加速度中的一个或多个有关的信息。可替代地,可以从与执行方法100的装置/服务器/单元不同的另一装置/服务器/单元接收第二运动轨迹。
第二运动轨迹应被视为跨与第一运动轨迹相同的时间实例的运动轨迹,但基于与将要校准的摄像头不同的传感器来确定。
继续,该方法进一步包括通过基于第一运动轨迹与第二运动轨迹之间的差调整摄像头的外部参数集合来校准S122摄像头。从而,可以形成校准后的外部参数集合。可以调整外部参数集合,使得连续多个时间实例的第一运动轨迹与第二运动轨迹之间的差减小。换句话说,可以通过基于第一运动轨迹与第二运动轨迹之间的差调整外部参数集合来校准S122摄像头,使得所述差最小化。应当领会,不需要调整外部参数集合中的所有外部参数。可以通过调整外部参数集合中的一个或多个外部参数来校准摄像头。
作为另一种观察方式,第一运动轨迹与第二运动轨迹可以形成共同运动轨迹的一部分,摄像头以及一个或多个其他传感器(被用于确定轨迹)的参数被调整为适合于该共同运动轨迹。然后可以通过调整摄像头的外部参数集合来校准S112摄像头,使得共同运动轨迹与更新后的特征点集合以及来自车辆的一个或多个其他传感器的运动数据这两者相一致。
摄像头的外部参数集合可以包括关于摄像头相对于车辆的位置和/或方位的信息。换言之,外部参数描述摄像头的坐标系如何与车辆的坐标系相关。
校准S122摄像头可以响应于第一运动轨迹与第二运动轨迹之间的差在范围内而执行(从步骤S120开始“是”的路径)。这可以确保差异过大(即在范围之外,这可能指示在确定第一运动轨迹和/或第二运动轨迹时存在误差)的情况可被忽略并因此不被用于校准摄像头。因此,可以实现防止结果中的偏差或误差的更强健方法。该范围可以由下限和上限来定义。例如,该范围可以是从值0到某个正(或负)值的范围。可替代地,该范围可以被定义为从负值到正值的范围。
响应于第一运动轨迹与第二运动轨迹之间的差在范围之外(从步骤S120开始“否”的路径),方法100可以进一步包括存储S124与第一运动轨迹和/或第二运动轨迹有关的数据。所存储的数据可以例如包括第一运动轨迹、用于确定第一运动轨迹的特征点集合、第二运动轨迹和/或用于确定第二运动轨迹的运动数据。所存储的数据可以用于对方法100或执行方法100的***/装置的进一步开发或分析。
用于执行这些功能的可执行指令被可选地包括在非暂时性计算机可读存储介质中、或者在被配置为由一个或多个处理器执行的其他计算机程序产品中。
图2是根据本公开的一些实施例的用于校准安装在车辆上的摄像头的外部参数集合的装置200。特别地,装置200被配置为执行前面参考图1所描述的方法100的技术。装置200可以在车辆(诸如下面结合图3所描述的车辆)中本地提供。然而,可以容易地理解,装置200可以被提供为车辆的外部装置,诸如远程服务器。在这种情况下,装置200可以被可通信地连接到车辆。
装置200包括控制电路202。控制电路202可以物理地包括一个单独的电路装置。可替代地,控制电路202可以跨若干个电路装置分布。作为示例,装置200可以与车辆的其他部件(诸如车辆的控制***)共享其控制电路202。
如图2中所示,装置200可以进一步包括收发器206和存储器208。控制电路202被可通信地连接到收发器206和存储器208。控制电路202可以包括数据总线,并且控制电路202可以经由数据总线而与收发器206和/或存储器208通信。
控制电路202可以被配置为执行对装置200的功能和操作的总体控制。控制电路202可以包括诸如中央处理单元(CPU)、微控制器或微处理器的处理器204。处理器204可以被配置为执行存储在存储器208中的程序代码,以便执行装置200的功能和操作。控制电路202被配置为执行上面结合图1所描述的方法100的步骤。这些步骤可以在存储器208中所存储的一个或多个功能中实现。特别地,控制电路202可以被配置为执行第一获取功能210、第一确定功能212、第二确定功能214、去除功能216、第三确定功能218、第二获取功能220和校准功能222。应该注意的是,装置200的各种功能和操作可以在比本文中所描述的功能更多的功能中实现。此外,上述功能中的一个或多个可以在公共功能中一起实现。例如,第一确定功能212、第二确定功能214和第三确定功能218可以在单个确定功能中实现。类似地,第一获取功能210和第二获取功能220可以在单个获取功能中实现。
收发器206可以被配置为使得装置200能够与其他装置进行通信。收发器206既可以向装置200发送数据,也可以从装置200接收数据。例如,装置200可以从车辆的摄像头接收图像序列。尽管在图2中并未明确地图示出,但装置可以包括用户输入装置,诸如键盘、鼠标和触摸屏中的一个或多个。
存储器208可以是非暂时性计算机可读存储介质。存储器208可以是缓冲器、闪存、硬盘驱动器、可移动介质、易失性存储器、非易失性存储、随机存取存储器(RAM)和另一适当装置中的一个或多个。在典型的布置中,存储器208可以包括用于长期数据储存的非易失性存储器和用作装置200的***存储器的易失性存储器。存储器208可以通过数据总线而与控制电路202交换数据。在存储器208与控制电路202之间还可以存在配套控制线和地址总线。
装置200的功能和操作可以以可执行逻辑例程(例如,代码行、软件程序等)的形式来实现,该可执行逻辑例程被存储在装置200的非暂时性计算机可读记录介质(例如,存储器208)上,并且由控制电路202(例如,使用处理器204)来执行。换句话说,当说明了控制电路202被配置成执行特定步骤或实施特定功能时,控制电路202的处理器204可以被配置为执行存储在存储器208上的程序代码部分,其中所存储的程序代码部分对应于特定步骤或功能。此外,控制电路202的功能和操作可以是独立的软件应用,或者形成执行与控制电路202相关的附加任务的软件应用的一部分。所描述的功能和操作可以被视为一种方法,而相应装置被配置为执行该方法,例如上面结合图1所讨论的方法100。此外,虽然所描述的功能和操作可以以软件来实现,但这种功能也可以经由专用硬件或固件,或者硬件、固件和软件中的一个或多个的某种组合来实现。
在下文中,对装置200的功能和操作进行描述。
控制电路202被配置为获取由摄像头捕获的图像序列,其中图像序列的每个图像描绘了在多个时间实例的相应时间实例中车辆的周围环境的一部分。这可以例如通过执行第一获取功能210来进行。
控制电路202进一步被配置为确定图像序列中的特征点集合。这可以例如通过执行第一确定功能212来进行。
控制电路202进一步被配置为确定图像序列中表示天空的区域。这可以例如通过执行第二确定功能214来进行。确定表示天空的区域可以包括:针对图像序列的每个图像,确定图像的直方图,并且选择直方图中具有超过阈值的强度的像素集合作为表示天空的区域。
控制电路202进一步被配置为从特征点集合中去除属于表示天空的区域的特征点子集。这可以例如通过执行去除功能216来进行。
控制电路202进一步被配置为基于特征点集合来确定车辆跨多个时间实例的第一运动轨迹。这可以例如通过执行第三确定功能218来进行。
控制电路202进一步被配置为获取车辆跨多个时间实例的第二运动轨迹,其中第二运动轨迹基于从车辆的一个或多个其他传感器获取的运动数据。这可以例如通过执行第二获取功能220来进行。
控制电路202进一步被配置为通过基于第一运动轨迹与第二运动轨迹之间的差调整摄像头的外部参数来校准摄像头的外部参数集合。这可以例如通过执行校准功能222来进行。可以响应于第一运动轨迹与第二运动轨迹之间的差在范围内而进行对外部参数集合的校准。
控制电路202可以进一步被配置为确定图像序列中表示一个或多个移动对象的区域。从特征点集合中去除特征点子集可以进一步包括从特征点集合中去除附加特征点子集,该附加特征点子集属于表示一个或多个移动对象的区域。
控制电路202可以进一步被配置为响应于第一运动轨迹与第二运动轨迹之间的差在范围之外而存储与第一运动轨迹和/或第二运动轨迹相关的数据。
应该注意的是,如以上结合图1所描述的方法100的原理、特征、方面以及优点也适用于本文中所描述的装置200。为了避免不必要的重复,可以参考上述内容。
图3示意性地图示出根据本公开的一些实施例的车辆300。车辆300能够执行用于校准安装在车辆300上的摄像头325的外部参数集合的本技术的原理。在最广泛的示例实施例中,车辆300包括摄像头325以及如上文结合图2所描述的装置200。然而,图3更具体地图示出根据本公开的一些实施例的配备有自动驾驶***(ADS)的车辆300。
更具体地,本文中所图示出的车辆300是汽车。然而,车辆300可以是任何形式的机动车辆,诸如陆地(或道路)车辆、水面船只或飞机。
车辆300包括在自动驾驶车辆中常见的多个元件。将理解的是,车辆300可以具有图3中所示的各种元件的任何组合。此外,车辆300可以包括比图3中所示的元件更多的元件。虽然各种元件在本文中被示出为位于车辆300的内部,但一个或多个元件可以位于车辆300的外部。例如,地图数据308可以存储在远程服务器中,并且由车辆300的不同部件经由通信***326来访问。此外,即使在本文中按特定布置来描绘各种元件,但如本领域技术人员容易理解的,也可以按不同布置来实现各种元件。应进一步注意,各种元件可以以任何适当的方式彼此通信地连接。图3的车辆300应仅被视为说明性示例,因为车辆300的元件可以以若干种不同的方式来实现。
应理解,所描述的解决方案的一部分可以在车辆300中、在位于车辆300外部的***中或者在车辆300内部与外部的组合中实现;例如在与车辆300通信的服务器中,即所谓的云解决方案。例如,传感器数据可以被发送到外部***,并且该***执行步骤以比较第一运动轨迹和第二运动轨迹,并确定应该如何调整外部参数集合以校准摄像头。实施例的不同特征和步骤可以以不同于所描述的组合方式的其他组合方式来进行组合。
车辆300包括控制***302。控制***302被配置为执行对车辆300的功能和操作的总体控制。控制***302包括控制电路304和存储器306。控制电路302可以物理地包括一个单独的电路装置。可替代地,控制电路302可以跨若干个电路装置分布。作为示例,控制***302可以与车辆的其他部件共享其控制电路304。控制电路302可以包括一个或多个处理器,例如中央处理单元(CPU)、微控制器或微处理器。该一个或多个处理器可以被配置为执行存储在存储器306中的程序代码,以便执行车辆300的功能和操作。处理器可以是或包括用于进行数据或信号处理或者用于执行存储在存储器306中的计算机代码的任何数量的硬件部件。存储器306可选地包括高速随机存取存储器,诸如DRAM、SRAM、DDR RAM或其他随机存取固态存储器装置;并且可选地包括非易失性存储器,诸如一个或多个磁盘存储装置、光盘存储装置、闪存装置或其他非易失性固态存储装置。存储器306可以包括数据库部件、对象代码部件、脚本部件或用于支持本说明书的各种活动的任何其他类型的信息结构。
上面结合图2描述的装置200可以与车辆300的控制电路304共享其控制电路202。因此,装置200可以被实现为车辆300的控制***302的一部分。可替代地,装置200可以被实现为车辆300的任何其他***或模块的一部分,诸如如下面进一步描述的ADS 310或者ADS310的感知模块314。可替代地,装置200可以被实现为车辆300的单独模块。
在所图示出的示例中,存储器306进一步存储地图数据308。地图数据308可以例如由车辆300的ADS 310使用,以便执行车辆300的自主功能。地图数据308可以包括高清晰度(HD)地图数据。可以设想,存储器306即使被图示为与ADS 310分离的元件,也可以被提供为ADS 310的集成元件。换言之,根据一些实施例,任何分布式或本地式存储器装置都可被用于实现本发明构思。类似地,控制电路304可以是分布式的,例如,使得控制电路304的一个或多个处理器被提供为车辆300的ADS 310或任何其他***的集成元件。换言之,根据一些实施例,任何分布式或本地式控制电路装置都可被用于实现本发明构思。
ADS 310被配置为执行车辆300的自主功能中的功能和操作。ADS 310可以包括多个模块,其中每个模块被赋予ADS 310的不同功能或特征。ADS特征(也可被称为ADS功能)是根据道路车辆驾驶自动化的SAE J3016级别的2级或更高级别的特征。ADS特征例如可以是拥堵自动辅助驾驶、高速自动辅助驾驶或任何其他SAE J3016级别3+的ADS特征。下面进一步描述ADS 310的模块的一些示例。
车辆300进一步包括传感器***320。传感器***320被配置为获取关于车辆本身或其周围环境的感测数据。传感器***320可以例如包括全球导航卫星***(GNSS)模块322(诸如GPS),其被配置为收集车辆300的地理位置数据。传感器***320可以进一步包括一个或多个传感器324。传感器324可以是任何类型的机载传感器,诸如摄像头、激光雷达、雷达、超声波传感器、陀螺仪、加速度计、里程计等。应领会,传感器***320还可以提供直接获取或经由车辆300中的专用传感器控制电路来获取感测数据的可能性。摄像头325可以是传感器***320的一部分。换言之,摄像头325可以是传感器324中的一个。传感器***320可以进一步包括除了摄像头325之外的其他传感器,以用于确定如上文结合图1和图2所解释的第二运动轨迹。传感器***320可以例如包括惯性测量单元(IMU)。
车辆300进一步包括通信***326。通信***326被配置为与外部单元进行通信,例如其他车辆(即,经由车辆到车辆(V2V)通信协议)、远程服务器(例如,云服务器)、数据库或其他外部装置,即,车辆到基础设施(V2I)或车辆到一切(V2X)通信协议。通信***326可以使用一种或多种通信技术来进行通信。通信***326可以包括一个或多个天线(未示出)。蜂窝通信技术可被用于例如到远程服务器或云计算***的远程通信。此外,如果所使用的蜂窝通信技术具有低延迟,则它也可被用于V2V、V2I或V2X通信。蜂窝无线电技术的示例是GSM、GPRS、EDGE、LTE、5G和5G NR等,还包括未来的蜂窝解决方案。然而,在一些解决方案中,可以使用中短程通信技术,例如无线局域网(LAN)、基于例如IEEE 802.11的解决方案,以用于与车辆300附近的其他车辆或者与本地基础设施元件进行通信。ETSI正在制定用于车辆通信的蜂窝标准,并且例如,由于低延迟以及对高带宽和通信通道的高效处理,5G被认为是一种适当的解决方案。
通信***326可以相应地提供通过一个或多个天线向远程位置(例如,远程操作员或控制中心)发送输出和/或从远程位置接收输入的可能性。此外,通信***326可以进一步被配置为允许车辆300的各种元件彼此通信。作为示例,通信***326可以提供本地网络设置,诸如CAN总线、I2C、以太网和光纤等。车辆300内的本地通信也可以是具有诸如WiFi、LoRa、Zigbee、蓝牙或类似的中/短程技术等协议的无线类型。
车辆300进一步包括操纵***328。操纵***328被配置为控制车辆300的操纵。操纵***328包括转向模块330,该转向模块330被配置为控制车辆300的行驶方向。操纵***328进一步包括节气门模块332,该节气门模块332被配置为控制车辆300的节气门的致动。操纵***328进一步包括制动模块334,该制动模块334被配置为控制车辆300的制动器的致动。操纵***328的各种模块还可以接收来自车辆300的驾驶员的手动输入(即,分别来自于方向盘、油门踏板和制动踏板)。然而,操纵***328可以通信地连接到车辆300的ADS 310,以接收关于操纵***328的各个模块应该如何动作的指令。因此,ADS 310可以例如经由决策和控制模块318来控制车辆300的操纵。
ADS 310可以包括定位模块312或定位块/***。定位模块312被配置为确定和/或监测车辆300的地理位置以及行驶方向,并且可以利用来自于传感器***320的数据,例如来自于GNSS模块322的数据。可替代地或组合地,定位模块312可以利用来自于一个或多个传感器324的数据。然而,定位***可以可替代地被实现为实时动态(RTK:Real TimeKinematics)GPS,以便提高准确性。自我车辆的地理位置在当前上下文中被解释为自我车辆的地图位置(也可以被称为地图内位置)。换言之,地理位置或地图位置可以被理解为全球坐标系中的坐标集合(两个或更多个)。
ADS 310可以进一步包括感知模块314或感知块/***314。感知模块314可以指任何公知的模块和/或功能,例如被包括在车辆300的一个或多个电子控制模块和/或节点中,被自适应为和/或被配置为对与车辆300的驾驶相关的感测数据进行解释,以识别例如障碍物、车道、相关标志、适当的导航路径等。因此,感知模块314可适于依赖于多个数据源并从其获得输入,这些数据源例如是汽车成像、图像处理、计算机视觉和/或车内联网等,并与例如来自传感器***320的感测数据相结合。
定位模块312和/或感知模块314可以通信地连接到传感器***320,以便从传感器***320接收感测数据。定位模块312和/或感知模块314可以进一步将控制指令传送到传感器***320。
ADS可以进一步包括路径规划模块316。路径规划模块316被配置为基于分别由感知模块314和定位模块312所确定的车辆的感知和位置来确定车辆300的规划路径。由路径规划模块316确定的规划路径可以被发送到操纵***328以供执行。
ADS可以进一步包括决策和控制模块318。决策和控制模块318被配置为执行ADS310的控制并做出决策。例如,决策和控制模块318可以决定是否应该执行由路径规划模块316所确定的规划路径。
图4以举例的方式图示出具有特征点的图像序列,以用于增进理解。说明性示例示出了三个图像的序列,即第一时间实例t_1处的第一图像402a、第二时间实例t_2处的第二图像402b和第三时间实例t_3处的第三图像402c。第一至第三时间实例应被视为三个连续的时间实例。然而,本公开的原理可以跨任意数量的图像来应用,并且因此,可以跨任意数量的时间实例来应用。
本文中的第一图像402a、第二图像402b和第三图像402c表示在三个连续的时间实例中移动车辆的周围环境的不同视图。因此,图像中的对象看起来正朝着捕获图像的摄像头移动。然而,应当领会的是,这些图像仅用于说明目的,并且不应当被视为真实世界场景的表示。例如,第一至第三图像402a至402c中所示的对象的相对大小、形状和视角可以不表示真实世界场景。
在图4中(以及在图像402a至402c中的每一个中)进一步示出的是由星形表示的多个特征点404a至404k。特征点404a至404k的数量和位置不应被视为限制性的,而应仅被视为说明性示例。特征点404a至404k可以形成如前所述的特征点集合。如图像402a至402c进一步指示的,可以在不同的图像中确定不同的特征点。例如,第三图像402c中被标记为404k的特征点不存在于第一图像402a和第二图像402b中。此外,存在于第一图像402a和第二图像402b中的被标记为404h的特征点不存在于第三图像402c中。
当确定第一运动轨迹时,从特征点集合中排除属于表示天空的区域408的特征点。表示天空的区域408可以例如是地平线406上方的区域。这里,排除了属于云朵的被标记为404b、404c和404d的特征点。此外,属于移动对象的特征点也可以被去除,例如属于迎面而来的车辆的被标记为404g和404h的特征点。
本发明构思已经在上面参考具体实施例进行了呈现。然而,除了上述之外的其他实施例也是可行的并且在本发明构思的范围内。在本发明构思的范围内,可以提供与上述不同的方法步骤,通过硬件或软件来执行该方法。因此,根据一些实施例,提供了一种非暂时性计算机可读存储介质,该非暂时性计算机可读存储介质存储一个或多个程序,该一个或多个程序被配置为由车辆控制***的一个或多个处理器执行,该一个或多个程序包括用于执行根据以上所讨论的任何一个实施例的方法100的指令。此外,根据一些实施例提供了一种计算机程序产品,该计算机程序产品包括指令,当程序由计算装置执行时,该指令使计算装置执行根据以上所讨论的任何一个实施例的方法100。可替代地,根据一些其他实施例,云计算***可以被配置为执行本文中所呈现的任何方法。云计算***可以包括分布式云计算资源,该分布式云计算资源在一个或多个计算机程序产品的控制下联合地执行本文中所呈现的方法。
一般而言,计算机可访问介质可以包括任何有形的或非暂时性存储介质或存储器介质,诸如电子介质、磁性介质或光学介质(例如经由总线耦接到计算机***的磁盘或CD/DVD-ROM)。如本文中所使用的,术语“有形的”和“非暂时性”旨在描述排除传播电磁信号的计算机可读存储介质(或“存储器”),但不旨在以其它方式限制由短语“计算机可读介质或存储器”所涵盖的物理计算机可读存储装置的类型。例如,术语“非暂时性计算机可读介质”或“有形的存储器”旨在涵盖不必永久地存储信息的存储装置的类型,包括例如随机存取存储器(RAM)。以非暂时性形式存储在有形的计算机可访问存储介质上的程序指令和数据可以进一步通过传输介质或可以经由通信介质(诸如网络和/或无线链路)传送的信号(诸如电信号、电磁信号或数字信号)来传输。
应注意,任何附图标记都不限制权利要求的范围,本发明构思可以至少部分地借助于硬件和软件这两者来实现,并且若干个“装置”或“单元”可以由硬件的相同项来表示。
尽管附图可以示出方法步骤的特定顺序,但是步骤的顺序可以与所描绘的顺序不同。另外,两个或更多个步骤可以同时地或部分同时地被执行。这种变化将取决于所选择的软件***和硬件***以及设计者的选择。所有这些变化都在本发明构思的范围内。同样,软件实现可以使用具有基于规则的逻辑和其他逻辑的标准编程技术来完成,用以完成各种连接步骤、处理步骤、比较步骤和决策步骤。以上提及并描述的实施例仅作为示例给出,并且不应限制本发明构思。在所附权利要求中所要求保护的发明构思的范围内的其他解决方案、用途、目的和功能对于本领域技术人员来说应是显而易见的。
如本文中所使用的,取决于上下文,术语“如果”可以被解释为“当……时”、“在…时”或“响应于”。类似地,取决于上下文,用语“如果确定……”或“当确定……时”或“在……情况下”可以被解释为意味着“在确定……时”、“响应于确定……”、“在检测并识别事件的发生时”或“响应于检测到事件的发生”。
如本文中所使用的,用语“元件集合中的一个或多个”(如“A、B和C中的一个或多个”或“A、B和C中的至少一个”)应被解释为连接逻辑或分离逻辑。换句话说,它可以指代元件集合中的所有元件、一个元件或两个或更多个元件的组合。例如,用语“A、B和C中的一个或多个”可以被解释为A或B或C、A和B和C、A和B、B和C或者A和C。
Claims (15)
1.一种用于校准安装在车辆上的摄像头的外部参数集合的计算机实现的方法(100),所述方法(100)包括:
获取(S102)由所述摄像头捕获的图像序列,其中所述图像序列的每个图像描绘了在多个时间实例的相应时间实例中所述车辆的周围环境的一部分;
确定(S104)所述图像序列中的特征点集合;
确定(S106)所述图像序列中表示天空的区域;
从所述特征点集合中去除(S114)特征点子集,从而形成更新后的特征点集合,所述特征点子集属于表示所述天空的所述区域;
基于所述更新后的特征点集合来确定(S118)所述车辆跨所述多个时间实例的第一运动轨迹;
获取(S120)所述车辆跨所述多个时间实例的第二运动轨迹,其中所述第二运动轨迹基于从所述车辆的一个或多个其他传感器获取的运动数据;以及
通过基于所述第一运动轨迹与所述第二运动轨迹之间的差调整所述摄像头的所述外部参数集合来校准(S122)所述摄像头。
2.根据权利要求1所述的方法(100),其中,所述车辆配备有自动驾驶***ADS,并且其中所述摄像头是所述ADS的视觉***的一部分。
3.根据权利要求1或2所述的方法(100),进一步包括:
确定(S112)所述图像序列中表示一个或多个移动对象的区域;并且
其中,从所述特征点集合中去除(S114)所述特征点子集进一步包括从所述特征点集合中去除(S116)附加特征点子集,所述附加特征点子集属于表示所述一个或多个移动对象的所述区域。
4.根据权利要求3所述的方法(100),其中,使用基于机器学习的对象检测来执行确定(S112)表示所述移动对象的所述区域。
5.根据权利要求1所述的方法(100),其中,所述摄像头的所述外部参数集合包括关于所述摄像头相对于所述车辆的位置和/或方位的信息。
6.根据权利要求1所述的方法(100),其中,响应于所述第一运动轨迹与所述第二运动轨迹之间的所述差在范围内而执行校准(S122)所述摄像头。
7.根据权利要求6所述的方法(100),其中,响应于所述第一运动轨迹与所述第二运动轨迹之间的所述差在所述范围之外,所述方法(100)进一步包括存储(S124)与所述第一运动轨迹和/或所述第二运动轨迹有关的数据。
8.根据权利要求1所述的方法(100),其中,确定(S106)表示所述天空的所述区域包括:针对所述图像序列的每个图像,
确定(S108)所述图像的直方图;以及
选择(S110)所述直方图中具有超过阈值的强度的像素集合作为表示所述天空的所述区域。
9.根据权利要求1所述的方法(100),其中,通过语义分割来执行确定(S106)所述图像序列的表示所述天空的所述区域。
10.根据权利要求1所述的方法(100),其中,所述特征点集合中的特征点与所述车辆的所述周围环境中的对象相关联。
11.根据权利要求1所述的方法(100),其中,通过基于所述第一运动轨迹与所述第二运动轨迹之间的所述差调整所述外部参数集合来校准(S122)所述摄像头,使得所述差最小化。
12.根据权利要求1所述的方法(100),其中,所述一个或多个其他传感器包括加速度计、陀螺仪、车轮编码器、激光雷达和所述车辆的其他摄像头中的至少一个。
13.一种非暂时性计算机可读存储介质,包括指令,当所述程序由计算装置执行时,所述指令使所述计算装置执行根据权利要求1所述的方法(100)。
14.一种用于校准安装在车辆上的摄像头的外部参数集合的装置(200),所述装置(200)包括控制电路(302),所述控制电路(302)被配置为:
获取由所述摄像头捕获的图像序列,其中所述图像序列的每个图像描绘了在多个时间实例的相应时间实例中所述车辆的周围环境的一部分;
确定所述图像序列中的特征点集合;
确定所述图像序列中表示天空的区域;
从所述特征点集合中去除特征点子集,所述特征点子集属于表示所述天空的所述区域;
基于所述特征点集合来确定所述车辆跨所述多个时间实例的第一运动轨迹;
获取所述车辆跨所述多个时间实例的第二运动轨迹,其中所述第二运动轨迹基于从所述车辆的一个或多个其他传感器获取的运动数据;以及
通过基于所述第一运动轨迹与所述第二运动轨迹之间的差调整所述摄像头的外部参数来校准所述摄像头的所述外部参数集合。
15.一种车辆(300),包括:
摄像头(325),安装在所述车辆(300)上;以及
装置(200),用于校准安装在所述车辆(300)上的所述摄像头(325),
所述装置(200)包括控制电路(302),所述控制电路(302)被配置为:
获取由所述摄像头捕获的图像序列,其中所述图像序列的每个图像描绘了在多个时间实例的相应时间实例中所述车辆的周围环境的一部分;
确定所述图像序列中的特征点集合;
确定所述图像序列中表示天空的区域;
从所述特征点集合中去除特征点子集,所述特征点子集属于表示所述天空的所述区域;
基于所述特征点集合来确定所述车辆跨所述多个时间实例的第一运动轨迹;
获取所述车辆跨所述多个时间实例的第二运动轨迹,其中所述第二运动轨迹基于从所述车辆的一个或多个其他传感器获取的运动数据;以及
通过基于所述第一运动轨迹与所述第二运动轨迹之间的差调整所述摄像头的外部参数来校准所述摄像头的所述外部参数集合。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP22216952.6 | 2022-12-28 | ||
EP22216952.6A EP4394705A1 (en) | 2022-12-28 | 2022-12-28 | A method and device for calibrating a camera mounted on a vehicle |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118264761A true CN118264761A (zh) | 2024-06-28 |
Family
ID=84688319
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311818558.6A Pending CN118264761A (zh) | 2022-12-28 | 2023-12-27 | 用于校准安装在车辆上的摄像头的方法和装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20240221219A1 (zh) |
EP (1) | EP4394705A1 (zh) |
CN (1) | CN118264761A (zh) |
-
2022
- 2022-12-28 EP EP22216952.6A patent/EP4394705A1/en active Pending
-
2023
- 2023-12-27 CN CN202311818558.6A patent/CN118264761A/zh active Pending
- 2023-12-27 US US18/398,103 patent/US20240221219A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
EP4394705A1 (en) | 2024-07-03 |
US20240221219A1 (en) | 2024-07-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11675084B2 (en) | Determining yaw error from map data, lasers, and cameras | |
CN111656136B (zh) | 使用激光雷达的车辆定位*** | |
US10552982B2 (en) | Method for automatically establishing extrinsic parameters of a camera of a vehicle | |
CN106476728B (zh) | 用于车载的车辆传感器的运动补偿 | |
US9740942B2 (en) | Moving object location/attitude angle estimation device and moving object location/attitude angle estimation method | |
CN110988912A (zh) | 自动驾驶车辆的道路目标与距离检测方法、***、装置 | |
US20160018229A1 (en) | Accurate curvature estimation algorithm for path planning of autonomous driving vehicle | |
CN113805145B (zh) | 动态激光雷达对准 | |
US20210231460A1 (en) | Change point detection device and map information distribution system | |
US11657572B2 (en) | Systems and methods for map generation based on ray-casting and semantic class images | |
CN111226094A (zh) | 信息处理装置、信息处理方法、程序和移动体 | |
EP4020111B1 (en) | Vehicle localisation | |
CN113008248A (zh) | 用于生成和更新数字地图的方法和*** | |
US20230182774A1 (en) | Autonomous driving lidar technology | |
US20230281872A1 (en) | System for calibrating extrinsic parameters for a camera in an autonomous vehicle | |
EP4148599A1 (en) | Systems and methods for providing and using confidence estimations for semantic labeling | |
CN113155143A (zh) | 用于评估自动驾驶用的地图的方法、设备和车辆 | |
CN116022163A (zh) | 基于超局部子图的自动驾驶车辆扫描匹配和雷达姿态估计器 | |
EP4394705A1 (en) | A method and device for calibrating a camera mounted on a vehicle | |
US20230342954A1 (en) | Method for Estimating an Ego Motion of a Vehicle on the Basis of Measurements of a Lidar Sensor and Computing Device | |
US20220343101A1 (en) | Systems and methods for producing amodal cuboids | |
CN115082562A (zh) | 一种外参标定方法、装置、设备、服务器及车载计算设备 | |
WO2023017624A1 (en) | Drive device, vehicle, and method for automated driving and/or assisted driving | |
US20240199065A1 (en) | Systems and methods for generating a training set for a neural network configured to generate candidate trajectories for an autonomous vehicle | |
US20240203130A1 (en) | Systems and methods for detecting and tracking objects in an environment of an autonomous vehicle |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |