CN113112554A - 相机外参标定方法、装置、计算机设备和存储介质 - Google Patents

相机外参标定方法、装置、计算机设备和存储介质 Download PDF

Info

Publication number
CN113112554A
CN113112554A CN202110664169.7A CN202110664169A CN113112554A CN 113112554 A CN113112554 A CN 113112554A CN 202110664169 A CN202110664169 A CN 202110664169A CN 113112554 A CN113112554 A CN 113112554A
Authority
CN
China
Prior art keywords
round
dimensional information
iteration
current
target point
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
Application number
CN202110664169.7A
Other languages
English (en)
Other versions
CN113112554B (zh
Inventor
刘春�
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202110664169.7A priority Critical patent/CN113112554B/zh
Publication of CN113112554A publication Critical patent/CN113112554A/zh
Application granted granted Critical
Publication of CN113112554B publication Critical patent/CN113112554B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/80Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
    • G06T7/85Stereo camera calibration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30204Marker

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Length Measuring Devices By Optical Means (AREA)

Abstract

一种相机外参标定方法,包括:获取场地中靶标点的参考三维信息,将相机拍摄图像中靶标点的参考二维信息作为初始轮次的当轮二维信息;对多个轮次中当前轮次的各迭代,基于参考三维信息和初始外参的至少一种进行随机扰动得到的中间三维信息和中间外参计算中间二维信息;基于中间二维信息和当轮二维信息确定的迭代反投误差,确定当前轮次的轮次反投误差,根据轮次反投误差对当轮二维信息进行随机扰动;将随机扰动得到的二维信息作为下一轮次的当轮二维信息,返回对多个轮次中当前轮次中的各迭代继续执行至达到停止条件;基于各中间外参确定标定外参。本方法可提高相机外参标定的准确性,应用场景包括但不限于地图、自动驾驶、车联网、车路协同。

Description

相机外参标定方法、装置、计算机设备和存储介质
技术领域
本申请涉及计算机技术领域,特别是涉及一种相机外参标定方法、装置、计算机设备和存储介质。
背景技术
相机标定是指对相机的内部参数、外部参数进行求取的过程,即相机标定包括相机外参的标定和相机内参的标定。相机内参的标定是对相机自身的参数的标定,相机外参的标定是确定相机坐标系与参考坐标系之间的转换矩阵,包括旋转矩阵和平移矩阵。
传统的相机外参标定通常需采用标定物在定制的标定空间或特定的标定场景中,提取标定物或已知位置的特征点进行匹配,进而利用相应的立体标定原理进行相机的标定。然而这种标定方式对标定条件的限制较多,标定准确度低。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高标定准确度的相机外参标定方法、装置、计算机设备和存储介质。
一种相机外参标定方法,所述方法包括:
获取对场地中的靶标点进行测绘得到的参考三维信息,确定通过相机对所述场地进行拍摄得到的图像中,各靶标点分别对应的参考二维信息;所述参考二维信息,为多个轮次中初始轮次对应的当轮二维信息;
对多个轮次中当前轮次中的每次迭代,均基于所述参考三维信息和相机的初始外参中的至少一种进行随机扰动处理,得到相应迭代所对应的中间三维信息和中间外参;
根据当前轮次中每次迭代分别对应的中间三维信息和中间外参,计算每次迭代分别对应的中间二维信息,并基于每次迭代所对应的中间二维信息和当轮二维信息,确定每次迭代分别对应的迭代反投误差;
基于所述迭代反投误差,确定当前轮次所对应的轮次反投误差,并根据当前轮次所对应的轮次反投误差,对所述当轮二维信息进行随机扰动处理;
进入下一轮次,将随机扰动处理得到的二维信息作为下一轮次的当轮二维信息,返回所述对多个轮次中当前轮次中的每次迭代,均基于所述参考三维信息和相机的初始外参进行随机扰动处理并继续执行,直至达到停止条件时停止;
基于多个轮次中产生的中间外参,确定所述相机的标定外参。
一种相机外参标定装置,所述装置包括:
获取模块,用于获取对场地中的靶标点进行测绘得到的参考三维信息,确定通过相机对所述场地进行拍摄得到的图像中,各靶标点分别对应的参考二维信息;所述参考二维信息,为多个轮次中初始轮次对应的当轮二维信息;
处理模块,用于对多个轮次中当前轮次中的每次迭代,均基于所述参考三维信息和相机的初始外参中的至少一种进行随机扰动处理,得到相应迭代所对应的中间三维信息和中间外参;
计算模块,用于根据当前轮次中每次迭代分别对应的中间三维信息和中间外参,计算每次迭代分别对应的中间二维信息,并基于每次迭代所对应的中间二维信息和当轮二维信息,确定每次迭代分别对应的迭代反投误差;
扰动模块,用于基于所述迭代反投误差,确定当前轮次所对应的轮次反投误差,并根据当前轮次所对应的轮次反投误差,对所述当轮二维信息进行随机扰动处理;
返回模块,用于进入下一轮次,将随机扰动处理得到的二维信息作为下一轮次的当轮二维信息,返回所述对多个轮次中当前轮次中的每次迭代,均基于所述参考三维信息和相机的初始外参进行随机扰动处理并继续执行,直至达到停止条件时停止;
确定模块,用于基于多个轮次中产生的中间外参,确定所述相机的标定外参。
在一个实施例中,所述处理模块,还用于获取三维扰动范围和外参扰动范围;对多个轮次中当前轮次中的每次迭代,对所述参考三维信息和相机的初始外参中的至少一种进行随机扰动处理,得到对应的中间三维信息和中间外参;其中,对所述参考三维信息进行随机扰动处理时,基于所述三维扰动范围对所述参考三维信息进行随机扰动处理,得到相应迭代所对应的中间三维信息; 对所述初始外参进行随机扰动处理时,基于所述外参扰动范围对相机的初始外参进行随机扰动处理,得到相应迭代所对应的中间外参。
在一个实施例中,所述计算模块,还用于根据当前轮次中的目标靶标点在每次迭代分别对应的中间三维信息和中间外参,计算所述目标靶标点在每次迭代分别对应的中间二维信息;基于所述目标靶标点在每次迭代所对应的中间二维信息和当轮二维信息,确实所述目标靶标点在每次迭代分别对应的反投误差;获取所述靶标点中除所述目标靶标点之外的其余靶标点分别对应的反投误差,根据所述其余靶标点分别对应的反投误差和所述目标靶标点在每次迭代分别对应的反投误差,确定每次迭代分别对应的迭代反投误差。
在一个实施例中,所述扰动模块,还用于基于所述当前轮次中每次迭代分别对应的迭代反投误差,将最小的迭代反投误差作为当前轮次所对应的轮次反投误差。
在一个实施例中,所述扰动模块,还用于获取当前轮次的相邻上一轮次所对应的轮次反投误差;当所述当前轮次的轮次反投误差和所述上一轮次的轮次反投误差满足扰动接受条件时,接受所述当前轮次中对目标靶标点对应的当轮二维信息进行随机扰动处理所得到的扰动结果,以更新所述目标靶标点的当轮二维信息;在所述更新所述目标靶标点的当轮二维信息后,对任意靶标点的当轮二维信息进行随机扰动处理,执行所述进入下一轮次,将随机扰动处理得到的二维信息作为下一轮次的当轮二维信息的步骤。
在一个实施例中,所述扰动模块,还用于当所述当前轮次的轮次反投误差小于所述上一轮次的轮次反投误差时,接受所述当前轮次中对目标靶标点对应的当轮二维信息进行随机扰动处理所得到的扰动结果;当所述当前轮次的轮次反投误差大于或等于所述上一轮次的轮次反投误差时,根据所述当前轮次的轮次反投误差和所述上一轮次的轮次反投误差,计算扰动接受概率,以及生成处于预设范围内的随机数;当所述扰动接受概率大于所述随机数时,接受所述当前轮次中对目标靶标点对应的当轮二维信息进行随机扰动处理所得到的扰动结果。
在一个实施例中,所述扰动模块,还用于当所述扰动接受概率小于或等于所述随机数时,拒绝所述当前轮次中对目标靶标点对应的当轮二维信息进行随机扰动处理所得到的扰动结果,则不更新所述目标靶标点的当轮二维信息;在拒绝扰动结果之后,对任意靶标点的当轮二维信息进行随机扰动处理,执行所述进入下一轮次,将随机扰动处理得到的二维信息作为下一轮次的当轮二维信息的步骤。
在一个实施例中,所述扰动模块,还用于从各靶标点中选择任意靶标点作为目标靶标点;获取二维扰动范围,基于所述二维扰动范围对所述目标靶标点的当轮二维信息进行随机扰动处理。
在一个实施例中,所述当轮二维信息包括当轮二维坐标;所述扰动模块,还用于从所述二维扰动范围中随机选择扰动值,将所述扰动值与所述二维坐标中的横坐标、纵坐标分别求和,得到随机扰动处理后的二维信息。
在一个实施例中,所述确定模块,还用于确定所述多个轮次的最后一轮次的轮次反投误差,将所述最后一轮次的轮次反投误差所对应的中间外参,作为所述相机的标定外参;将所述最后一轮次的轮次反投误差所对应的各靶标点的中间三维信息,作为相应靶标点的目标三维信息;将所述相应靶标点的目标三维信息所对应的中间二维信息,作为所述相应靶标点的目标二维信息。
在一个实施例中,所述相机包括车载相机,所述场地中包括有至少一个停车位,所述参考三维信息基于车辆在停车位中的位置和姿态转换得到;所述相机的标定外参为所述车辆的每个车载相机分别对应的标定外参。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取对场地中的靶标点进行测绘得到的参考三维信息,确定通过相机对所述场地进行拍摄得到的图像中,各靶标点分别对应的参考二维信息;所述参考二维信息,为多个轮次中初始轮次对应的当轮二维信息;
对多个轮次中当前轮次中的每次迭代,均基于所述参考三维信息和相机的初始外参中的至少一种进行随机扰动处理,得到相应迭代所对应的中间三维信息和中间外参;
根据当前轮次中每次迭代分别对应的中间三维信息和中间外参,计算每次迭代分别对应的中间二维信息,并基于每次迭代所对应的中间二维信息和当轮二维信息,确定每次迭代分别对应的迭代反投误差;
基于所述迭代反投误差,确定当前轮次所对应的轮次反投误差,并根据当前轮次所对应的轮次反投误差,对所述当轮二维信息进行随机扰动处理;
进入下一轮次,将随机扰动处理得到的二维信息作为下一轮次的当轮二维信息,返回所述对多个轮次中当前轮次中的每次迭代,均基于所述参考三维信息和相机的初始外参进行随机扰动处理并继续执行,直至达到停止条件时停止;
基于多个轮次中产生的中间外参,确定所述相机的标定外参。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取对场地中的靶标点进行测绘得到的参考三维信息,确定通过相机对所述场地进行拍摄得到的图像中,各靶标点分别对应的参考二维信息;所述参考二维信息,为多个轮次中初始轮次对应的当轮二维信息;
对多个轮次中当前轮次中的每次迭代,均基于所述参考三维信息和相机的初始外参中的至少一种进行随机扰动处理,得到相应迭代所对应的中间三维信息和中间外参;
根据当前轮次中每次迭代分别对应的中间三维信息和中间外参,计算每次迭代分别对应的中间二维信息,并基于每次迭代所对应的中间二维信息和当轮二维信息,确定每次迭代分别对应的迭代反投误差;
基于所述迭代反投误差,确定当前轮次所对应的轮次反投误差,并根据当前轮次所对应的轮次反投误差,对所述当轮二维信息进行随机扰动处理;
进入下一轮次,将随机扰动处理得到的二维信息作为下一轮次的当轮二维信息,返回所述对多个轮次中当前轮次中的每次迭代,均基于所述参考三维信息和相机的初始外参进行随机扰动处理并继续执行,直至达到停止条件时停止;
基于多个轮次中产生的中间外参,确定所述相机的标定外参。
上述相机外参标定方法、装置、计算机设备和存储介质,获取对场地中的靶标点进行测绘得到的参考三维信息,确定通过相机对场地进行拍摄得到的图像中,各靶标点分别对应的参考二维信息,参考二维信息,为多个轮次中初始轮次对应的当轮二维信息。对多个轮次中当前轮次中的每次迭代,均基于参考三维信息和相机的初始外参中的至少一种进行随机扰动处理,得到相应迭代所对应的中间三维信息和中间外参,根据当前轮次中每次迭代分别对应的中间三维信息和中间外参,计算每次迭代分别对应的中间二维信息,并基于每次迭代所对应的中间二维信息和当轮二维信息,确定每次迭代分别对应的迭代反投误差,能够从当前轮次的多个迭代反投误差中,准确确定当前轮次所对应的轮次反投误差。在多个迭代中调整靶标点的参考三维信息和相机的初始外参,使得相机的初始外参和三维信息在多次迭代、多个轮次的处理中不断被调整,从而达到最优值。
根据当前轮次所对应的轮次反投误差,对当轮二维信息进行随机扰动处理,进入下一轮次,将随机扰动处理得到的二维信息作为下一轮次的当轮二维信息,返回对多个轮次中当前轮次中的每次迭代,均基于参考三维信息和相机的初始外参进行随机扰动处理并继续执行,直至达到停止条件时停止,在多个轮次中对参考二维信息进行随机扰动处理,使得各靶标点对应的参考二维信息不断被调整,从而获得更准确的二维信息。并且,对靶标点的选择,对二维信息、三维信息以及初始外参的扰动处理具有随机性,能够保证数据选择和处理的可靠性,从而提高相机外参标定的准确性和精度。
附图说明
图1为一个实施例中相机外参标定方法的应用环境图;
图2为一个实施例中相机外参标定方法的流程示意图;
图3为一个实施例中确定每次迭代分别对应的迭代反投误差的流程示意图;
图4为一个实施例中根据当前轮次所对应的轮次反投误差,对当轮二维信息进行随机扰动处理的流程示意图;
图5为一个实施例中接受当前轮次中对目标靶标点对应的当轮二维信息进行随机扰动处理所得到的扰动结果的流程示意图;
图6为一个实施例中多个轮次的轮次反投误差所构成的反投误差曲线;
图7为一个实施例中各像素点在每次迭代中所对应的三维坐标,以及相机航向角随着每次迭代的变化曲线;
图8a为一个实施例中将车辆停放在停车位上的界面示意图;
图8b为一个实施例中相机所拍摄的包含各靶标点的图像的示意图;
图8c为一个实施例中各个靶标点在参考坐标系中的三维坐标的示意图;
图8d为一个实施例中车辆在四个停车位中,分别对应参考三维坐标下的位置和对应目标三维坐标下的位置;
图9为另一个实施例中相机外参标定方法的流程示意图;
图10为一个实施例中相机外参标定装置的结构框图;
图11为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请涉及人工智能(Artificial Intelligence,AI)技术领域,其中,人工智能是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。本申请实施例提供的方案涉及人工智能的相机外参标定方法,具体通过如下各实施例进行说明。
本申请提供的相机外参标定方法,可以应用于如图1所示的相机外参标定系统。如图1所示,该相机外参标定系统包括场地110、包含相机的终端120和服务器130。在一个实施例中,场地110和终端120可协同用于执行本申请实施例中提供的相机外参标定方法。场地110、终端120和服务器130也可协同用于执行本申请实施例中提供的相机外参标定方法。当场地110、终端120和服务器130协同用于执行本申请实施例中提供的相机外参标定方法时,包含相机的终端120获取对场地110中的靶标点进行测绘得到的参考三维信息,确定通过相机对场地110进行拍摄得到的图像中,各靶标点分别对应的参考二维信息。终端120将各靶标点分别对应的参考三维信息和参考二维信息发送给服务器130。服务器130将参考二维信息作为多个轮次中初始轮次对应的当轮二维信息。服务器130对多个轮次中当前轮次中的每次迭代,均基于参考三维信息和相机的初始外参中的至少一种进行随机扰动处理,得到相应迭代所对应的中间三维信息和中间外参。服务器130根据当前轮次中每次迭代分别对应的中间三维信息和中间外参,计算每次迭代分别对应的中间二维信息,并基于每次迭代所对应的中间二维信息和当轮二维信息,确定每次迭代分别对应的迭代反投误差。基于迭代反投误差,服务器130确定当前轮次所对应的轮次反投误差,并根据当前轮次所对应的轮次反投误差,对当轮二维信息进行随机扰动处理。进入下一轮次,服务器130将随机扰动处理得到的二维信息作为下一轮次的当轮二维信息,返回对多个轮次中当前轮次中的每次迭代,均基于参考三维信息和相机的初始外参进行随机扰动处理并继续执行,直至达到停止条件时停止。服务器130基于多个轮次中产生的中间外参,确定相机的标定外参。服务器130将所确定的相机的标定外参返回至终端120,终端120将相机的外参调整至该标定外参。
其中,终端120可以但不限于是携带有相机的各种个人计算机、笔记本电脑、智能手机、车载终端、平板电脑和便携式可穿戴设备,服务器130可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云计算服务的云服务器。终端120以及服务器130可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
在一个实施例中,多个服务器可组成区块链,而服务器作为区块链上的节点。
在一个实施例中,如图2所示,提供了一种相机外参标定方法,以该方法应用于计算机设备(该计算机设备具体可以是图1中的终端或服务器)为例进行说明,包括以下步骤:
步骤S202,获取对场地中的靶标点进行测绘得到的参考三维信息,确定通过相机对场地进行拍摄得到的图像中,各靶标点分别对应的参考二维信息;参考二维信息,为多个轮次中初始轮次对应的当轮二维信息。
其中,靶标点是指在场地中预先标定的位置点,靶标点具体可以是场地中的兴趣点、关键点等,但不限于此。参考三维信息是指对场地中的靶标点进行测绘所得到的三维信息,可以包括靶标点的经纬度信息和高度信息。该参考三维信息具体可以是参考三维坐标,例如靶标点的参考三维坐标为(经度,纬度,高度),该高度是指靶标点相对于地面的高度。
在一个实施例中,参考三维坐标是在构建的参考坐标系中,各靶标点对应的三维坐标。该参考坐标系可以是世界坐标系。当相机为车载相机时,该参考坐标系可以是以车辆的惯性测量单元为中心构建的坐标系。参考三维坐标为以车辆的惯性测量单元为中心所构建的坐标系中的三维坐标。
参考二维信息是靶标点在图像中所对应的像素点的二维像素信息,该参考三维信息具体可以是参考二维坐标。参考二维坐标是像素点在图像坐标系中的二维坐标。
相机外参的标定需要进行多个轮次的处理,对于多个轮次中的初始轮次,将参考二维信息作为初始轮次对应的当轮二维信息。当轮二维信息是指在当前轮次所对应的二维信息。
对于多个轮次中除初始轮次以外的其他轮次,当轮二维信息可能为参考二维信息,也可能为经过各轮次的随机扰动处理后所得到的二维信息。
具体地,计算机设备可预先在场地中设置靶标点,并对各靶标点进行测绘,以得到每个靶标点分别对应的参考三维信息。在需要对相机的外参进行标定的情况下,可通过相机对包含靶标点的场地进行拍摄,各靶标点与所拍摄得到的图像中各像素点对应。计算机设备获取图像中各像素点分别对应的参考二维信息,将各像素点分别对应的参考二维信息作为相应靶标点的参考二维信息。
并且,对于外参标定的多个轮次的初始轮次,将各靶标点对应的参考二维信息作为初始轮次对应的当轮二维信息。
在一个实施例中,可构建参考坐标系,通过测绘设备对场地中的靶标点进行测绘,以确定各靶标点在参考坐标系中分别对应的参考三维坐标。当计算机设备为终端时,通过终端的相机拍摄包含靶标点的场地,得到图像。通过靶标点对图像中的像素点进行人工标注,以确定各靶标点对应的像素点,构建图像坐标系以确定各像素点的参考二维坐标。将各像素点的参考二维坐标作为相应靶标点的参考二维坐标。
步骤S204,对多个轮次中当前轮次中的每次迭代,均基于参考三维信息和相机的初始外参中的至少一种进行随机扰动处理,得到相应迭代所对应的中间三维信息和中间外参。
其中,随机扰动处理是指在扰动范围内对信息进行随机扰动,以对信息进行调整。
对参考三维信息的随机扰动处理,是指在三维扰动范围内对参考三维信息进行随机扰动,以对参考三维信息进行调整;对初始外参的随机扰动处理,是指在外参扰动范围内对初始外参进行随机扰动,以对初始外参进行调整。
中间三维信息是指参考三维信息在迭代中经过随机扰动处理后,所得到的三维信息。
相机的外参是指相机坐标系与参考坐标系之间的转换矩阵,包括旋转矩阵和平移矩阵。初始外参是指根据测绘得到的参考三维信息所计算得到的相机外参。中间外参是指初始外参在迭代中经过随机扰动处理后,所得到的相机外参。
具体地,相机外参的标定需要进行多个轮次的处理,每个轮次中需要进行多次迭代。对于当前轮次中的每次迭代,对参考三维信息进行随机扰动处理,得到相应迭代所对应的中间三维信息。以及,将相机的初始外参作为该相应迭代中的中间外参。
或者,对于当前轮次中的每次迭代,对相机的初始外参进行随机扰动处理,得到相应迭代所对应的中间外参。以及,将参考三维信息作为该相应迭代中的中间三维信息。
或者,对于当前轮次中的每次迭代,对参考三维信息和相机的初始外参中的进行随机扰动处理,得到相应迭代所对应的中间三维信息和中间外参。
在一个实施例中,对每个轮次中的初始迭代,将参考三维信息作为中间三维信息,将相机的初始外参作为中间外参,得到初始迭代所对应的中间三维信息和中间外参。
步骤S206,根据当前轮次中每次迭代分别对应的中间三维信息和中间外参,计算每次迭代分别对应的中间二维信息,并基于每次迭代所对应的中间二维信息和当轮二维信息,确定每次迭代分别对应的迭代反投误差。
具体地,获取相机内参,对于当前轮次中的每次迭代,根据相机内参、每次迭代所分别对应的中间三维信息和中间外参,计算出每次迭代中该中间三维信息所对应的中间二维信息。基于每次迭代出所对应的中间二维信息和相应的当轮二维信息,计算每次迭代分别对应的迭代反投误差。
在一个实施例中,计算机设备获取相机内参,对于当前轮次中的每次迭代,根据相机内参、每次迭代所分别对应的中间三维坐标和中间外参,按照成像模型计算出每次迭代中该中间三维坐标所对应的中间二维坐标。例如,通过以下公式计算出中间二维坐标:
Figure DEST_PATH_IMAGE001
其中,相机内参可包括
Figure 19528DEST_PATH_IMAGE002
Figure DEST_PATH_IMAGE003
表示焦距在图像坐标系x轴方向上单位像元大小,
Figure 37162DEST_PATH_IMAGE004
表示焦距在图像坐标系y轴方向上单位像元大小,
Figure DEST_PATH_IMAGE005
表示图像平面的主点坐标,主点是光轴与图像平面的交点。相机外参包括平移矩阵和旋转矩阵,平移矩阵包括
Figure 46575DEST_PATH_IMAGE006
Figure DEST_PATH_IMAGE007
表示x轴方向的平移量,
Figure 454554DEST_PATH_IMAGE008
表示y轴方向的平移量,
Figure DEST_PATH_IMAGE009
表示z轴方向的平移量。
Figure 105984DEST_PATH_IMAGE010
Figure DEST_PATH_IMAGE011
Figure 40442DEST_PATH_IMAGE012
的旋转矩阵。
Figure 440331DEST_PATH_IMAGE013
为靶标点的中间三维坐标,
Figure DEST_PATH_IMAGE014
为靶标点对应的中间二维坐标,
Figure 381611DEST_PATH_IMAGE013
Figure 649781DEST_PATH_IMAGE014
对应同一靶标点。
Figure 845270DEST_PATH_IMAGE015
为尺度系数。
计算出每次迭代分别对应的中间二维信息后,基于每次迭代中同一靶标点所对应的中间二维信息和当轮二维信息,确定该同一靶标点对应的反投误差,从而得到每个靶标点对应的反投误差。根据相应迭代中每个靶标点对应的反投误差,确定相应迭代所对应的迭代反投误差。
在一个实施例,在当前轮次中,根据每个靶标点在当前迭代分别对应的中间三维信息和中间外参,计算每个靶标点在当前迭代分别对应的中间二维信息,并基于每个靶标点所对应的中间二维信息和当轮二维信息,确定每个靶标点在当前迭代所对应的反投误差。根据每个靶标点在当前迭代所对应的反投误差,计算当前迭代所对应的迭代反投误差。计算出当前迭代所对应的迭代反投误差后,进行当前轮次中的下一迭代,返回根据每个靶标点在当前迭代分别对应的中间三维信息和中间外参,计算每个靶标点在当前迭代分别对应的中间二维信息的步骤并继续执行,直至计算出当前轮次的最后一迭代所对应的迭代反投误差。按照相同的处理方式,可确定出当前轮次中每次迭代分别对应的迭代反投误差。
步骤S208,基于迭代反投误差,确定当前轮次所对应的轮次反投误差,并根据当前轮次所对应的轮次反投误差,对当轮二维信息进行随机扰动处理。
具体地,在当前轮次中,计算机设备根据每次迭代分别对应的迭代反投误差,确定当前轮次所对应的轮次反投误差。
在其中一个实施例中,计算机设备可从所有迭代所对应的迭代反投误差中,选择最小的迭代反投误差作为当前轮次所对应的轮次反投误差。或者基于当前轮次中每次迭代分别对应的迭代反投误差,将小于误差阈值的迭代反投误差的均值,作为当前轮次所对应的轮次反投误差。
步骤S210,判断是否达到停止条件。
其中,停止条件包括当前轮次的轮次反投误差和上一轮次的轮次反投误差的差异小于预设阈值,或者,当前轮次对应的循环次数达到预设循环次数。
当计算机设备确定当前达到停止条件时,则进入步骤S214,否则继续进行下一轮的循环,也就是进入步骤S212。
步骤S212,根据当前轮次所对应的轮次反投误差对当轮二维信息进行随机扰动处理,进入下一轮次,将随机扰动处理得到的二维信息作为下一轮次的当轮二维信息,返回步骤S204并继续执行。
具体地,计算机设备可获取与当前轮次的相邻上一轮次所对应的轮次反投误差,根据当前轮次的轮次反投误差和上一轮次的轮次反投误差的比较结果,对选择的目标靶标点的当轮二维信息进行随机扰动处理。
进入下一轮次,将对目标靶标点进行随机扰动处理所得到的二维信息作为下一轮次的当轮二维信息。获取各靶标点分别对应的当轮二维信息,返回对多个轮次中当前轮次中的每次迭代,均基于目标靶标点的参考三维信息和相机的初始外参进行随机扰动处理,得到相应迭代所对应的中间三维信息和中间外参。
在当前轮次的每次迭代中,根据相应中间外参、包含目标靶标点在内的各靶标点分别对应的中间三维信息,计算相应迭代中包含目标靶标点在内的各靶标点分别对应的中间二维信息,并基于相应迭代中包含目标靶标点在内的各靶标点所对应的中间二维信息和当轮二维信息,确定相应迭代对应的迭代反投误差。
基于当前轮次的每次迭代对应的迭代反投误差,确定当前轮次所对应的轮次反投误差。当当前轮次所对应的轮次反投误差满足条件时停止,或者,在当前轮次对应的循环次数满足预设循环条件时停止。
步骤S214,基于多个轮次中产生的中间外参,确定相机的标定外参。
具体地,多个轮次中每个轮次对应多次迭代,每次迭代存在相应的中间外参,则每个轮次对应多个中间外参。计算机设备可从多个轮次所产生的多个外参中,确定相机的标定外参。该标定外参即为相机的最终外参。
在一个实施例中,当存在多个相机时,每个相机在每次迭代中均存在相应的中间外参,则在每个轮次中每个相机对应多个中间外参。针对每个相机,计算机设备可从多个轮次所产生的多个外参中,确定相应相机的标定外参,从而得到每个相机所对应的标定外参。
在一个实施例中,该方法还包括:基于多次轮次中产生的中间三维信息,确定相应靶标点的目标三维信息。基于多次轮次中产生的中间二维信息,确定相应靶标点的目标二维信息。
本实施例中,获取对场地中的靶标点进行测绘得到的参考三维信息,确定通过相机对场地进行拍摄得到的图像中,各靶标点分别对应的参考二维信息,参考二维信息,为多个轮次中初始轮次对应的当轮二维信息。对多个轮次中当前轮次中的每次迭代,均基于参考三维信息和相机的初始外参中的至少一种进行随机扰动处理,得到相应迭代所对应的中间三维信息和中间外参,根据当前轮次中每次迭代分别对应的中间三维信息和中间外参,计算每次迭代分别对应的中间二维信息,并基于每次迭代所对应的中间二维信息和当轮二维信息,确定每次迭代分别对应的迭代反投误差,能够从当前轮次的多个迭代反投误差中,准确确定当前轮次所对应的轮次反投误差。在多个迭代中调整靶标点的参考三维信息和相机的初始外参,使得相机的初始外参和三维信息在多次迭代、多个轮次的处理中不断被调整,从而达到最优值。
根据当前轮次所对应的轮次反投误差,对当轮二维信息进行随机扰动处理,进入下一轮次,将随机扰动处理得到的二维信息作为下一轮次的当轮二维信息,返回对多个轮次中当前轮次中的每次迭代,均基于参考三维信息和相机的初始外参进行随机扰动处理并继续执行,直至达到停止条件时停止,在多个轮次中对参考二维信息进行随机扰动处理,使得各靶标点对应的参考二维信息不断被调整,从而获得更准确的二维信息。并且,对靶标点的选择,对二维信息、三维信息以及初始外参的扰动处理具有随机性,能够保证数据选择和处理的可靠性,从而提高相机外参标定的准确性和精度。
在一个实施例中,对多个轮次中当前轮次中的每次迭代,均基于参考三维信息和相机的初始外参中的至少一种进行随机扰动处理,得到相应迭代所对应的中间三维信息和中间外参,包括:
获取三维扰动范围和外参扰动范围;对多个轮次中当前轮次中的每次迭代,对参考三维信息和相机的初始外参中的至少一种进行随机扰动处理,得到对应的中间三维信息和中间外参;
其中,对参考三维信息进行随机扰动处理时,基于三维扰动范围对参考三维信息进行随机扰动处理,得到相应迭代所对应的中间三维信息;对初始外参进行随机扰动处理时,基于外参扰动范围对相机的初始外参进行随机扰动处理,得到相应迭代所对应的中间外参。
具体地,三维扰动范围是指对参考三维信息进行扰动的可选择范围,外参扰动范围是指对初始外参进行扰动的可选择范围。计算机设备可获取三维扰动范围,对多个轮次中当前轮次中的每次迭代,计算机设备可基于三维扰动范围对参考三维信息进行随机扰动处理,得到相应迭代所对应的中间三维信息。
或者,计算机设备可获取外参扰动范围,对多个轮次中当前轮次中的每次迭代,计算机设备可基于外参扰动范围对初始外参进行随机扰动处理,得到相应迭代所对应的中间外参。
或者,计算机设备可获取三维扰动范围和外参扰动范围,基于三维扰动范围对参考三维信息进行随机扰动处理,得到相应迭代所对应的中间三维信息,以及基于外参扰动范围对初始外参进行随机扰动处理,得到相应迭代所对应的中间外参。
在一个实施例中,参考三维信息包括参考三维坐标;基于三维扰动范围对参考三维信息进行随机扰动处理,得到相应迭代所对应的中间三维信息,包括:
从三维扰动范围中随机选择三维扰动值,基于三维扰动值更新参考三维坐标,得到相应迭代的中间三维坐标。进一步地,将三维扰动扰动值与三维坐标中各个坐标分别求和,得到随机扰动处理后的三维坐标。将该随机扰动处理后的三维坐标作为相应迭代的中间三维坐标。
在一个实施例中,基于外参扰动范围对相机的初始外参进行随机扰动处理,得到相应迭代所对应的中间外参,包括:
从外参扰动范围中随机选择外参扰动值,基于外参扰动值更新初始外参,得到相应迭代的中间外参。
本实施例中,获取三维扰动范围和外参扰动范围,对多个轮次中当前轮次中的每次迭代,对参考三维信息和相机的初始外参中的至少一种进行随机扰动处理,得到对应的中间三维信息和中间外参,从而能够通过迭代不断优化三维信息和中间外参。
并且,对参考三维信息进行随机扰动处理时,基于三维扰动范围对参考三维信息进行随机扰动处理,使得能够对参考三维信息的随机扰动进行约束,使得迭代所获得的中间三维信息更准确。对初始外参进行随机扰动处理时,基于外参扰动范围对相机的初始外参进行随机扰动处理,使得能够对初始外参的随机扰动进行约束,从而使得迭代所获得的中间外参更精准。
在一个实施例中,如图3所示,根据当前轮次中每次迭代分别对应的中间三维信息和中间外参,计算每次迭代分别对应的中间二维信息,并基于每次迭代所对应的中间二维信息和当轮二维信息,确定每次迭代分别对应的迭代反投误差,包括:
步骤S302,根据当前轮次中的目标靶标点在每次迭代分别对应的中间三维信息和中间外参,计算目标靶标点在每次迭代分别对应的中间二维信息。
其中,目标靶标点是指从各靶标点中随机选择的需要对参考二维信息进行随机扰动处理的靶标点。
具体地,计算机设备确定当前轮次中的目标靶标点,并确定目标靶标点在当前轮次的每次迭代分别对应的中间三维信息和中间外参。根据目标靶标点在当前轮次的每次迭代分别对应的中间三维信息和中间外参,计算出该目标靶标点在每次迭代所分别对应的中间二维信息。
进一步地,计算机设备确定各靶标点中除目标靶标点以外的其余靶标点,获取其余靶标点中每个靶标点在当前轮次的每个迭代所分别对应的中间三维信息和中间外参。根据其余靶标点中每个靶标点在当前轮次的每个迭代所分别对应的中间三维信息和中间外参,计算出其余靶标点中每个靶标点在每次迭代所分别对应的中间二维信息。
可以理解的是,在每个轮次的初始迭代中,使用各靶标点的参考三维信息和相机的初始外参,计算出各靶标点在初始迭代中的中间二维信息。各靶标点包括目标靶标点和其余靶标点。
或者,在每个轮次的初始迭代中,将各靶标点的参考三维信息作为相应靶标点的中间三维信息,将初始外参作为中间外参,以计算出各靶标点在初始迭代中的中间二维信息。
在一个实施例,在当前轮次中,根据目标靶标点在当前迭代分别对应的中间三维信息和中间外参,计算目标靶标点在当前迭代分别对应的中间二维信息,并基于目标靶标点所对应的中间二维信息和当轮二维信息,确定目标靶标点在当前迭代所对应的反投误差。根据其余靶标点在当前迭代分别对应的中间三维信息,以及该当前迭代的中间外参,计算其余靶标点在当前迭代分别对应的中间二维信息。可以理解的是,在同一轮次的同一迭代中,各靶标点对应的中间三维信息不同,但中间外参相同。每次迭代中,相机的外参可不相同。
在一个实施例中,将其余靶标点分别对应的参考三维信息,作为相应靶标点在每次迭代中所对应的中间三维信息。
步骤S304,基于目标靶标点在每次迭代所对应的中间二维信息和当轮二维信息,确定目标靶标点在每次迭代分别对应的反投误差。
具体地,在当前轮次中,计算机设备根据目标靶标点在每次迭代所对应的中间二维信息和当轮二维信息,计算目标靶标点在每次迭代分别对应的反投误差。计算机设备根据其余靶标点中每个靶标点在每次迭代中所对应的中间二维信息和当轮二维信息,计算出每个靶标点在每次迭代分别对应的反投误差。
在一个实施例中,在当前轮次中,计算机设备根据目标靶标点在当前迭代所对应的中间二维信息和当轮二维信息,计算目标靶标点在当前迭代分别对应的反投误差。计算机设备根据其余靶标点中每个靶标点在当前迭代中所对应的中间二维信息和当轮二维信息,计算出每个靶标点在当前迭代分别对应的反投误差。
步骤S306,获取靶标点中除目标靶标点之外的其余靶标点分别对应的反投误差,根据其余靶标点分别对应的反投误差和目标靶标点在每次迭代分别对应的反投误差,确定每次迭代分别对应的迭代反投误差。
具体地,在当前轮次中,计算机设备根据目标靶标点和其余靶标点在同一次迭代分别对应的反投误差,计算出该同一次迭代的迭代反投误差。进一步地,计算机设备将目标靶标点和其余靶标点在同一次迭代分别对应的反投误差求和,得到该同一次的迭代反投误差。按照相同的处理方式,可得到当前轮次中,每次迭代所对应的迭代反投误差。
在一个实施例中,在当前轮次中,根据当前迭代所对应的中间外参,以及目标靶标点在当前迭代分别对应的中间三维坐标,计算目标靶标点在当前迭代分别对应的中间二维坐标。获取各靶标点中除目标靶标点之外的其余靶标点,将其余靶标点的参考三维坐标作为当前轮次的每次迭代中相应的中间三维坐标。根据当前迭代所对应的中间外参,以及其余靶标点分别对应的中间三维坐标,计算出相应靶标点在当前跌打所对应的中间二维坐标。计算机设备根据目标靶标点在当前轮次的当轮二维坐标和在当前迭代对应的中间二维坐标,计算出该目标靶标点在当前迭代的迭代误差。计算机设备根据其余靶标点中每个靶标点在当前轮次的当轮二维坐标,以及在当前迭代对应的中间二维坐标,计算出该相应靶标点在当前迭代的迭代误差。在当前迭代中,计算机设备将目标靶标点对应的迭代误差和其余靶标点中每个靶标点分别对应的迭代误差进行求和,得到当前迭代的迭代反投误差。在当前轮次中,计算出当前迭代的迭代反投误差之后,进入下一迭代,返回根据当前迭代所对应的中间外参,以及目标靶标点在当前迭代分别对应的中间三维坐标,计算目标靶标点在当前迭代分别对应的中间二维坐标的步骤并继续执行,直至计算出当前轮次中最后一次迭代所对应的迭代反投误差。
本实施例中,根据当前轮次中的目标靶标点在每次迭代分别对应的中间三维信息和中间外参,计算目标靶标点在每次迭代分别对应的中间二维信息,能够通过迭代计算出同一靶标点在不同三维信息和不同外参的情况下,所分别对应的中间二维信息。基于目标靶标点在每次迭代所对应的中间二维信息和当轮二维信息,确定目标靶标点在每次迭代分别对应的反投误差,能够准确计算出同一靶标点在不同三维信息和不同外参的情况下,分别产生的误差。根据靶标点中除目标靶标点之外的其余靶标点分别对应的反投误差,以及目标靶标点在每次迭代分别对应的反投误差,计算出的每次迭代对应的迭代反投误差更准确。
在一个实施例中,基于迭代反投误差,确定当前轮次所对应的轮次反投误差,包括:基于当前轮次中每次迭代分别对应的迭代反投误差,将最小的迭代反投误差作为当前轮次所对应的轮次反投误差。
具体地,对于每个轮次中的多次迭代,每次迭代可计算出相应的迭代反投误差。对于当前轮次,对比当前轮次中每次迭代分别对应的迭代反投误差,以确定最小的迭代反投误差。计算机设备可将最小的迭代反投误差作为当前轮次所对应的轮次反投误差。
本实施例中,基于当前轮次中每次迭代分别对应的迭代反投误差,将最小的迭代反投误差作为当前轮次所对应的轮次反投误差,能够通过多次迭代使得迭代反投误差逐渐收敛。将最优的迭代反投误差作为当前轮次所对应的轮次反投误差,使得能够在迭代反投误差收敛至最优的情况向进行下一轮次的处理,以通过多个轮次的处理使得轮次反投误差收敛至最小值,从而提高相机外参标定的精度。
在一个实施例中,基于迭代反投误差,确定当前轮次所对应的轮次反投误差,包括:基于当前轮次中每次迭代分别对应的迭代反投误差,将小于误差阈值的迭代反投误差的均值,作为当前轮次所对应的轮次反投误差。
具体地,计算机设备可获取误差阈值,将当前轮次中每次迭代分别对应的迭代反投误差和误差阈值进行比较,以确定出小于误差阈值的各个迭代反投误差。计算机设备将小于误差阈值的各个迭代反投误差进行求和并取均值,将均值作为当前轮次所对应的轮次反投误差。
在一个实施例中,如图4所示,根据当前轮次所对应的轮次反投误差,对当轮二维信息进行随机扰动处理,包括:
步骤S402,获取当前轮次的相邻上一轮次所对应的轮次反投误差。
具体地,计算机设备可获取与当前轮次相邻的上一轮次所对应的轮次反投误差。上一轮次的轮次反投误差,为该上一轮次的每次迭代所对应的迭代反投误差中最小的迭代反投误差。
步骤S404,当当前轮次的轮次反投误差和上一轮次的轮次反投误差满足扰动接受条件时,接受当前轮次中对目标靶标点对应的当轮二维信息进行随机扰动处理所得到的扰动结果,以更新目标靶标点的当轮二维信息。
其中,扰动接受条件是指接收对目标靶标点的当轮二维信息的随机扰动处理的条件。扰动接受条件具体可以是当前轮次的轮次反投误差小于上一轮次的轮次反投误差,还可以是当前轮次的轮次反投误差大于或等于上一轮次的轮次反投误差,且扰动接受概率大于在预设范围内生成的随机数。
具体地,将当前轮次的轮次反投误差和上一轮次的轮次反投误差进行对比,当当前轮次的轮次反投误差小于上一轮次的轮次反投误差时,接受当前轮次中对目标靶标点的当轮二维信息进行随机扰动处理所得到的扰动结果。根据对目标靶标点的当轮二维信息进行随机扰动处理所得到的扰动结果,更新该目标靶标点的当轮二维信息,并将该更新的当轮二维信息作为下一轮次中,该目标靶标点的当轮二维信息。
在一个实施例,将当前轮次的轮次反投误差和上一轮次的轮次反投误差进行对比,当当前轮次的轮次反投误差大于或等于上一轮次的轮次反投误差,基于当前轮次的轮次反投误差和上一轮次的轮次反投误差所计算得到扰动接受概率大于在预设范围内生成的随机数时,接受当前轮次中对目标靶标点的当轮二维信息进行随机扰动处理所得到的扰动结果。根据对目标靶标点的当轮二维信息进行随机扰动处理所得到的扰动结果,更新该目标靶标点的当轮二维信息,并将该更新的当轮二维信息作为下一轮次中,该目标靶标点的当轮二维信息。
步骤S406,在更新目标靶标点的当轮二维信息后,对任意靶标点的当轮二维信息进行随机扰动处理,执行进入下一轮次,将随机扰动处理得到的二维信息作为下一轮次的当轮二维信息的步骤。
具体地,在更新目标靶标点的当轮二维信息后,重新选择任意靶标点作为目标靶标点,并对所选择的目标靶标点的当轮二维信息进行随机扰动处理,得到随机扰动处理后的二维信息。进入下一轮次,将随机扰动处理后的二维信息作为所选择的目标靶标点在下一轮次的当轮二维信息。
在下一轮次的初始迭代中,获取初始外参和目标靶标点的参考三维信息,将初始外参和目标靶标点的参考三维信息,代入成像模型公式中,得到该目标靶标点在初始迭代中的中间二维信息。根据目标靶标点的中间二维信息和当轮二维信息,计算目标靶标点在初始迭代的反投误差。将初始外参和其余靶标点的参考三维信息,代入成像模型公式中,得到其余靶标点在初始迭代分别对应的中间二维信息。根据其余靶标点分别对应的中间二维信息和当轮二维信息,计算其余靶标点在初始迭代分别对应的反投误差。将目标靶标点在初始迭代的反投误差和其余靶标点在初始迭代分别对应的反投误差求和,得到初始迭代所对应的迭代反投误差。
从下一轮次的第二次迭代起,对初始外参和目标靶标点的参考三维信息中的至少一种进行随机扰动处理,得到第二次迭代所对应的中间外参和目标靶标点对应的中间三维信息。当未扰动初始外参时,将初始外参作为当次迭代的中间外参;当未扰动目标靶标点对应的中间三维信息时,将目标靶标点的参考三维信息作为中间三维信息。将中间外参和目标靶标点的中间三维信息,代入成像模型公式中,得到该目标靶标点在当次迭代中的中间二维信息。根据目标靶标点的中间二维信息和当轮二维信息,计算目标靶标点在当次迭代的反投误差。
将其余靶标点在初始迭代分别对应的反投误差,作为相应靶标点在每次迭代中的反投误差,从而将目标靶标点在当前迭代的反投误差和其余靶标点在初始迭代分别对应的反投误差求和,得到当前迭代所对应的迭代反投误差。
本实施例中,当当前轮次的轮次反投误差和上一轮次的轮次反投误差满足扰动接受条件时,接受当前轮次中对目标靶标点对应的当轮二维信息进行随机扰动处理所得到的扰动结果,以更新目标靶标点的当轮二维信息,能够通过迭代得到目标靶标点的更准确的二维信息。在更新目标靶标点的当轮二维信息后,对任意靶标点的当轮二维信息进行随机扰动处理,执行进入下一轮次,将随机扰动处理得到的二维信息作为下一轮次的当轮二维信息的步骤,从而能够通过多个轮次中对靶标点的二维信息的随机扰动,对二维信息进行调整,能够每个靶标点更准确的二维信息。并且,对靶标点的选择和对所选的二维信息的扰动处理具有随机性,能够保证数据选择和处理的可靠性,更符合实际情况。
在一个实施例中,如图5所示,当当前轮次的轮次反投误差和上一轮次的轮次反投误差满足扰动接受条件时,接受当前轮次中对目标靶标点对应的当轮二维信息进行随机扰动处理所得到的扰动结果,包括:
步骤S502,当当前轮次的轮次反投误差小于上一轮次的轮次反投误差时,接受当前轮次中对目标靶标点对应的当轮二维信息进行随机扰动处理所得到的扰动结果。
具体地,将当前轮次的轮次反投误差和上一轮次的轮次反投误差进行对比,当当前轮次的轮次反投误差小于上一轮次的轮次反投误差时,接受当前轮次中对目标靶标点的当轮二维信息进行随机扰动处理所得到的扰动结果,即获取对目标靶标点的当轮二维信息进行随机扰动处理所得到的二维信息,将该随机扰动处理所得到的二维信息作为该目标靶标点的当轮二维信息。并将该随机扰动处理所得到的二维信息,作为下一轮次中该目标靶标点的当轮二维信息。
步骤S504,当当前轮次的轮次反投误差大于或等于上一轮次的轮次反投误差时,根据当前轮次的轮次反投误差和上一轮次的轮次反投误差,计算扰动接受概率,以及生成处于预设范围内的随机数。
具体地,将当前轮次的轮次反投误差和上一轮次的轮次反投误差进行对比,当当前轮次的轮次反投误差大于或等于上一轮次的轮次反投误差时,计算上一轮次的轮次反投误差和当前轮次的轮次反投误差之间的差值,将差值与经验值的比值的指数作为扰动接受概率。以及,在当前轮次的轮次反投误差大于或等于上一轮次的轮次反投误差时,生成预设范围内的随机数,例如生成在[0,1]之间的随机数。
例如,可通过如下公式计算扰动接受概率q:
Figure DEST_PATH_IMAGE016
其中,
Figure 540694DEST_PATH_IMAGE017
上一轮次的轮次反投误差,
Figure DEST_PATH_IMAGE018
为当前轮次的轮次反投误差,T为经验值。
步骤S506,当扰动接受概率大于随机数时,接受当前轮次中对目标靶标点对应的当轮二维信息进行随机扰动处理所得到的扰动结果。
具体地,当扰动接受概率大于随机数时,获取对目标靶标点的当轮二维信息进行随机扰动处理所得到的二维信息,将该随机扰动处理所得到的二维信息作为该目标靶标点的当轮二维信息。并将该随机扰动处理所得到的二维信息,作为下一轮次中该目标靶标点对应的当轮二维信息。
本实施例中,提供了两种接受对二维信息的随机扰动处理的条件。在当前轮次的轮次反投误差小于上一轮次的轮次反投误差的情况下,表示对二维信息的扰动处理能够使得轮次反投误差降低,则表示二维信息的随机扰动处理有效,接受对该二维信息的随机扰动处理能够更准确计算出相机的外参。在当前轮次的轮次反投误差大于或等于上一轮次的轮次反投误差的情况下,进一步结合所生成的扰动接受概率是否大于在预设范围内生成的随机数,能够更准确判断二维信息的随机扰动处理是否有效,使得所计算的相机外参更准确。
在一个实施例中,该方法还包括:
当扰动接受概率小于或等于随机数时,拒绝当前轮次中对目标靶标点对应的当轮二维信息进行随机扰动处理所得到的扰动结果,则不更新目标靶标点的当轮二维信息;在拒绝扰动结果之后,对任意靶标点的当轮二维信息进行随机扰动处理,执行进入下一轮次,将随机扰动处理得到的二维信息作为下一轮次的当轮二维信息的步骤。
具体地,当扰动接受概率小于或等于随机数时,拒绝当前轮次中对目标靶标点对应的当轮二维信息进行随机扰动处理所得到的扰动结果,则保持目标靶标点的随机扰动处理前的当轮二维信息。将该随机扰动处理前的当轮二维信息,作为下一轮次的当轮二维信息。
在拒绝扰动结果之后,重新选择任意靶标点作为目标靶标点,并对所选择的目标靶标点的当轮二维信息进行随机扰动处理,得到随机扰动处理后的二维信息。进入下一轮次,将随机扰动处理后的二维信息作为所选择的目标靶标点在下一轮次的当轮二维信息,返回对多个轮次中当前轮次中的每次迭代,均基于参考三维信息和相机的初始外参进行随机扰动处理并继续执行,直至达到停止条件时停止。
本实施例中,在当前轮次的轮次反投误差大于或等于上一轮次的轮次反投误差的情况下,进一步结合所生成的扰动接受概率是否大于在预设范围内生成的随机数,能够更准确判断二维信息的随机扰动处理是否有效。当扰动接受概率小于或等于随机数时,表示对二维信息的随机扰动处理无效,则拒绝当前轮次中对目标靶标点对应的当轮二维信息进行随机扰动处理所得到的扰动结果,能够避免无效的扰动处理数据导致的轮次反投误差的增大,降低相机外参标定的精度。
在一个实施例中,对任意靶标点的当轮二维信息进行随机扰动处理,包括:
从各靶标点中选择任意靶标点作为目标靶标点;获取二维扰动范围,基于二维扰动范围对目标靶标点的当轮二维信息进行随机扰动处理。
其中,对当轮二维信息的随机扰动处理,是指在二维扰动范围内对当轮二维信息进行随机扰动,以对当轮二维信息进行调整。
二维扰动范围是指对当轮二维信息进行扰动的可选择范围,例如二维扰动范围为[-n:r:+n],其中,r为像素步长,-n为二维扰动的像素取值的下限值,+n为二维扰动的像素取值的上限值。例如,二维扰动范围为[-3:0.1:+3],表示取值范围为[-3,-2.9,-2.8,......,2.7,2.8,2.9,3]。
具体地,计算机设备可从各靶标点中选择任意一个靶标点作为目标靶标点,并获取该目标靶标点在当前轮次中的当轮二维信息。计算机设备可获取二维扰动范围,基于二维扰动范围对该目标靶标点的当轮二维信息进行随机扰动处理,得到随机扰动处理后的二维信息。
在一个实施例中,计算机设备可从二维扰动范围中随机选择扰动值,基于扰动值更新该目标靶标点的当轮二维信息,得到随机扰动处理后的二维信息。
本实施例中,从各靶标点中选择任意靶标点作为目标靶标点,获取二维扰动范围,基于二维扰动范围对目标靶标点的当轮二维信息进行随机扰动处理,使得能够对当轮二维信息的随机扰动进行约束,以保证随机扰动处理的有效性。
在一个实施例中,当轮二维信息包括当轮二维坐标;基于二维扰动范围对目标靶标点的当轮二维信息进行随机扰动处理,包括:
从二维扰动范围中随机选择扰动值,将扰动值与二维坐标中的横坐标、纵坐标分别求和,得到随机扰动处理后的二维信息。
具体地,计算机设备可从二维扰动范围中随机选择扰动值,将扰动值与二维坐标中的横坐标进行求和,将扰动值与二维坐标中的纵坐标进行求和,得到随机扰动处理后的二维坐标。将该随机扰动处理后的二维坐标作为随机扰动处理后的二维信息。
本实施例中,从二维扰动范围中随机选择扰动值,将扰动值与二维坐标中的横坐标、纵坐标分别求和,能够准确得到在约束范围内进行随机扰动处理后的二维坐信息。
在一个实施例中,基于多个轮次中产生的中间外参,确定相机的标定外参,包括:
确定多个轮次的最后一轮次的轮次反投误差,将最后一轮次的轮次反投误差所对应的中间外参,作为相机的标定外参。
具体地,当达到停止条件时,确定多个轮次的最后一轮次中每次迭代对应的迭代反投误差,将最后一轮次中最小迭代反投误差作为最后一轮次的轮次反投误差。确定计算该最后一轮次的轮次反投误差时所使用的中间外参,将该所使用的中间外参作为相机的标定外参。
在一个实施例中,当存在多个相机时,确定多个轮次的最后一轮次的轮次反投误差,将最后一轮次的轮次反投误差所对应的每个相机的中间外参,作为相应相机的标定外参。
在一个实施例中,基于多个轮次中产生的中间外参,确定相机的标定外参,包括:
确定多个轮次的最后一轮次中每次迭代对应的迭代反投误差,并确定最后一轮次中最小迭代反投误差所对应的中间外参,将最小迭代反投误差所对应的中间外参作为相机的标定外参。
如图6所示,为一个实施例中多个轮次的轮次反投误差所构成的反投误差曲线。横轴表示轮次,纵轴表示轮次反投误差。从图6中可看到出,随着轮次的增加,反投误差曲线整体逐渐降低,直至收敛。收敛后,随着轮次的增加,轮次反投误差不再改变。
在一个实施例中,该方法还包括:将最后一轮次的轮次反投误差所对应的各靶标点的中间三维信息,作为相应靶标点的目标三维信息;将相应靶标点的目标三维信息所对应的中间二维信息,作为相应靶标点的目标二维信息。
具体地,当达到停止条件时,确定多个轮次的最后一轮次中每次迭代对应的迭代反投误差,将最后一轮次中最小迭代反投误差作为最后一轮次的轮次反投误差。确定计算该最后一轮次的轮次反投误差时所使用的各靶标点的中间三维信息,以及各靶标点的中间二维信息,将所使用的各靶标点的中间三维信息作为相应靶标点的目标三维信息,将所使用的各靶标点的中间二维信息作为相应靶标点的目标二维信息。
在一个实施例中,该方法还包括:将最后一轮次中最小迭代反投误差所对应的各靶标点的中间三维信息,作为相应靶标点的目标三维信息;将相应靶标点的目标三维信息所对应的中间二维信息,作为相应靶标点的目标二维信息。
当达到停止条件时,确定多个轮次的最后一轮次中每次迭代对应的迭代反投误差,并确定最后一轮次中的最小迭代反投误差,将计算该最小迭代反投误差时所使用的各靶标点的中间三维信息,作为相应靶标点的目标三维信息。将计算该最小迭代反投误差时所使用的各靶标点的中间三维信息,所对应的中间二维信息,作为相应靶标点的目标二维信息。
如图7所示,图7中的(a)为相机所拍摄的图像中各像素点在每个迭代中所对应的三维坐标。图7中的(b)为该相机的航向角随着每次迭代的变化曲线,横轴表示迭代次数,纵轴表示航向角。从图7中的(b)中可知,随着迭代次数的增加,相机的航向角逐渐收敛至最优值。该航向角用于表征相机外参中的旋转矩阵。
本实施例中,满足停止条件时表示轮次迭代反投误差收敛到最优值,则此时的轮次反投误差所对应的中间外参、各靶标点的中间三维坐标、中间二维坐标均为最优值。将满足停止条件时的最后一轮次的轮次反投误差所对应的中间外参作为相机的标定外参,将各靶标点的中间三维坐标和中间二维坐标作为相应靶标点的目标二维坐标和目标三维坐标,从而得到在对相机标定的过程中,同时确定相机的标定外参、各靶标点的目标二维坐标和目标三维坐标,节省计算资源并且提高计算效率。
在一个实施例中,该相机外参标定方法可应用于车载相机的外参标定,则相机包括车载相机,该场地中包括有至少一个停车位,参考三维信息基于车辆在停车位中的位置和姿态转换得到;相机的标定外参为车辆的每个车载相机分别对应的标定外参。
如图8a所示,场地中有至少一个停车位,将车辆停放在停车位上,通过车辆的车载的惯性导航系统和GPS系统可检测出车辆在停车位的粗略的位置和姿态,通过采集设备的CAD设计数据可以反算出相机的初始外参。
当车辆中存在多个车载相机时,可反算出每个车载相机的初始外参。将车辆的粗略的位置和姿态、每个车载相机的初始外参这些值作为优化的参变量的初始值,同时,还需要对这些参变量的值域设定上下限,例如车辆的位置精度在50个厘米左右,具体值需要根据设备的精度以及当时设备的信号状况来设定。在对车辆的车载相机标定中,车载相机的外参是相机相对于车辆的惯性导航系统的平移矩阵以及旋转矩阵。
车载相机在停车位上拍摄获得包含靶标点的图像,如图8b所示。并且,对场地中的各靶标点进行测绘,以车辆的惯性导航系统为中心建立参考坐标系,得到场地中每个靶标点相对于车辆的参考三维坐标,即该参考三维坐标根据车辆在停车位上的位置和姿态计算得到,如图8c所示,展示了各个靶标点在参考坐标系中的三维坐标。
具体地,车辆停放在停车位A上,车载相机a和车载相机b在停车位A上拍摄,得到包含靶标点的图像a和图像b。并且,车载终端对场地中的各靶标点进行测绘,以车辆的惯性导航系统为中心建立参考坐标系,根据车辆在停车位A的位置和姿态,确定每个靶标点相对于车辆的参考三维坐标。
车载终端在图像a对应的图像坐标系中,确定各靶标点分别对应的参考二维坐标,以及在图像b对应的图像坐标系中,各靶标点分别对应的参考二维坐标。获取车载相机a对应的初始外参,以及车载相机b对应的初始外参。
通过顺序二次规划(Sequential Quadratic Programming,SQP)来优化轮次反投误差,即:
在初始轮次的初始迭代中,将各靶标点的参考三维坐标和相机a的初始外参代入成像模型公式,得到各标靶标点在初始迭代中的中间二维坐标。根据各靶标点的中间二维坐标和各靶标点在图像a中的参考二维坐标,计算各靶标点在初始迭代的反投误差。将各靶标点在初始迭代的反投误差求和,得到图像a在初始迭代所对应的迭代反投误差。
例如,一个靶标点的反投误差
Figure 975129DEST_PATH_IMAGE019
Figure DEST_PATH_IMAGE020
为靶标点的中间二维坐标,
Figure 453515DEST_PATH_IMAGE021
为靶标点在当前轮次中的当轮二维坐标,在初始轮次中,参考二维坐标作为当轮二维坐标。
在初始轮次的初始迭代中,将各靶标点的参考三维坐标和相机b的初始外参代入成像模型公式,得到各标靶标点在初始迭代中的中间二维坐标。根据各靶标点的中间二维坐标和各靶标点在图像b中的参考二维坐标,计算各靶标点在初始迭代的反投误差。将各靶标点在初始迭代的反投误差求和,得到图像b在初始迭代所对应的迭代反投误差。将初始迭代中,图像a对应的迭代反投误差和图像b对应的迭代反投误差相加,作为初始迭代所对应的迭代反投误差。
在初始轮次的其他迭代中,对相机a的初始外参进行随机扰动处理,得到相机a在每次迭代对应的中间外参。以及对相机b的初始外参进行随机扰动处理,得到相机b在每次迭代对应的中间外参。在每次迭代中,将各靶标点的参考三维坐标和相应的中间外参代入成像模型公式,得到各标靶标点在相应迭代中的中间二维坐标。将图像a中各靶标点在相应迭代的反投误差求和,得到相应迭代所对应的迭代反投误差。将图像b中各靶标点在相应迭代的反投误差求和,得到相应迭代所对应的迭代反投误差。将同一迭代中,图像a对应的迭代反投误差和图像b对应的迭代反投误差求和,得到该同一迭代对应的迭代反投误差。例如:
Figure DEST_PATH_IMAGE022
其中,
Figure 283937DEST_PATH_IMAGE023
为车辆停放在停车位A时,同一迭代对应的迭代反投误差,
Figure DEST_PATH_IMAGE024
为图像a在该迭代中对应的迭代反投误差,
Figure 760049DEST_PATH_IMAGE025
为图像b在该迭代中对应的迭代反投误差。
可以理解的是,车辆还可以停放在不同的停车位pano上,根据车辆在不同停车位上的位置和姿态,确定各靶标点在不同停车位分别对应的参考三维坐标。车载相机在每个停车位上拍摄图像,按照上述车辆停放在停车位A上的处理方式,计算出在每个停车位上的数据。则存在多个停车位时,同一迭代对应的迭代反投误差为:
Figure DEST_PATH_IMAGE026
其中,E为同一迭代中各停车位对应的迭代反投误差之和,
Figure 941500DEST_PATH_IMAGE023
为车辆停放在不同停车位时,同一迭代对应的迭代反投误差。例如,有三个停车位,按照上述处理过程,分别计算出同一迭代中,每个停车位对应的迭代反投误差,并将各个停车位对应的迭代反投误差求和,得到。
直至计算出首个轮次中最后一次迭代所对应的迭代反投误差之后,将首个轮次中最小的迭代反投误差作为初始轮次对应的轮次反投误差。
可以理解的是,在计算相机a拍摄的图像a中各靶标点对应的中间二维坐标时,在成像模型公式中使用相机a对应初始外参,或者中间外参。使用初始外参还是中间外参需要根据具体的迭代确定。类似地,在计算相机b拍摄的图像b中各靶标点对应的中间二维坐标时,在成像模型公式中使用相机b对应初始外参,或者中间外参。
从第二个轮次起,将第二个轮次和第二个轮次之后的每个轮次依次作为当前轮次。获取当前轮次中,图像a中每个靶标点对应的当轮二维坐标,以及图像b中每个靶标点对应的当轮二维坐标,对于参考二维坐标未进行随机扰动处理的靶标点,将参考二维坐标作为相应靶标点在当前轮次中的当轮二维信息。对于参考二维坐标被随机扰动处理的靶标点,将随机扰动处理后的二维坐标作为相应靶标点在当前轮次中的当轮二维坐标。
对于当前轮次中的初始迭代,获取相机a的初始外参和各靶标点的参考三维坐标,将相机a的初始外参和各靶标点的参考三维坐标,代入成像模型公式中,得到各标靶标点在初始迭代中的中间二维坐标。根据各靶标点的中间二维坐标和图像a中各靶标点分别对应的当轮二维坐标,计算各靶标点在初始迭代的反投误差。将各靶标点在初始迭代的反投误差求和,得到图像a在当前轮次中初始迭代所对应的迭代反投误差。
获取相机b的初始外参和各靶标点的参考三维坐标,将相机b的初始外参和各靶标点的参考三维坐标,代入成像模型公式中,得到各标靶标点在初始迭代中的中间二维坐标。根据各靶标点的中间二维坐标和图像b中各靶标点分别对应的当轮二维坐标,计算各靶标点在初始迭代的反投误差。将各靶标点在初始迭代的反投误差求和,得到图像b在当前轮次中初始迭代所对应的迭代反投误差。将图像a对应的迭代反投误差和图像b对应的迭代反投误差求和,得到当前轮次中初始迭代所对应的迭代反投误差。
从图像a或图像b中各靶标点中选择任意靶标点作为目标靶标点,从二维扰动范围中随机选择扰动值,将扰动值与目标靶标点在相应图像的二维坐标中的横坐标、纵坐标分别求和,得到随机扰动处理后的二维坐标,将随机扰动处理后的二维坐标作为目标靶标点在当前轮次中的当轮二维坐标。将未进行随机扰动处理的靶标点对应的参考二维坐标,作为相应靶标点在当前轮次中的当轮二维坐标。
从当前轮次中的第二次迭代起,将每次迭代作为当前迭代,对相机a的初始外参、相机b的初始外参或目标靶标点的参考三维坐标中的至少一种进行随机扰动处理,得到相应的中间外参和目标靶标点的中间三维坐标。当未对初始外参进行随机扰动处理时,将初始外参作为当前迭代的中间外参;当未对目标靶标点的参考三维坐标进行随机扰动处理时,将参考三维坐标作为目标靶标点在当前迭代的中间三维坐标。
根据当前迭代中相机a的中间外参和目标靶标点对应的中间三维坐标,计算目标靶标点在当前迭代中对应相机a的中间二维坐标,以及对应相机b的中间二维坐标。基于对应相机a的中间二维坐标和在图像a中对应的当轮二维坐标,确定图像a的目标靶标点在当前迭代对应的迭代反投误差。基于对应相机b的中间二维坐标和在图像b中对应的当轮二维坐标,确定图像b的目标靶标点在当前迭代对应的迭代反投误差。将图像a对应的迭代反投误差和图像b对应的迭代反投误差求和,得到当前迭代对应的迭代反投误差。
确定除目标靶标点以外的其余靶标点,当未对相机的初始外参进行随机扰动处理时,将其余靶标点在初始迭代中分别对应的反投误差,作为相应靶标点在当前迭代所对应的反投误差。
当对相机a的初始外参进行随机扰动处理时,将相机a在当前迭代的中间外参和其余靶标点分别对应的参考三维坐标代入成像模型公式,得到其余靶标点在当前迭代所分别对应的中间二维坐标。根据其余靶标点在当前迭代所分别对应的中间二维坐标和在当前轮次中对应图像a的当轮二维坐标,计算相应靶标点的反投误差。将目标靶标点的误差和其余靶标点中各靶标点分别对应的反投误差求和,得到图像a在当前迭代的迭代反投误差。
当对相机b的初始外参进行随机扰动处理时,将相机b在当前迭代的中间外参和其余靶标点分别对应的参考三维坐标代入成像模型公式,得到其余靶标点在当前迭代所分别对应的中间二维坐标。根据其余靶标点在当前迭代所分别对应的中间二维坐标和在当前轮次中对应图像b的当轮二维坐标,计算相应靶标点的反投误差。将目标靶标点的误差和其余靶标点中各靶标点分别对应的反投误差求和,得到图像b在当前迭代的迭代反投误差。将图像a对应的迭代反投误差和图像b对应的迭代反投误差求和,得到当前迭代对应的迭代反投误差。
返回对相机a的初始外参、相机b的初始外参或目标靶标点的参考三维坐标中的至少一种进行随机扰动处理,得到相应的中间外参和目标靶标点的中间三维坐标的步骤并继续执行,直至得到当前轮次中最后一次迭代的迭代反投误差。
确定当前轮次中的每个迭代分别对应的迭代反投误差的最小值,将最小迭代反投误差作为当前轮次对应的轮次反投误差。获取当前轮次的相邻上一轮次所对应的轮次反投误差,根据退火模拟框架下的蒙特卡洛马尔科夫链优化判断是否接受对目标靶标点的二维坐标的随机扰动处理,即:
根据当前轮次的轮次反投误差和上一轮次的轮次反投误差,判断是否接受对目标靶标点的二维坐标的随机扰动处理。
当当前轮次的轮次反投误差小于上一轮次的轮次反投误差时,接受当前轮次中对目标靶标点的二维坐标的随机扰动处理,更新目标靶标点在相应图像中的二维坐标。将更新后的二维坐标,作为目标靶标点在下一轮次中对应的当轮二维坐标。
当当前轮次的轮次反投误差大于或等于上一轮次的轮次反投误差时,根据当前轮次的轮次反投误差和上一轮次的轮次反投误差,计算扰动接受概率,以及生成处于预设范围内的随机数;当扰动接受概率大于随机数时,接受当前轮次中对目标靶标点的二维坐标的随机扰动处理,更新目标靶标点在相应图像中的二维坐标。将更新后的二维坐标,作为目标靶标点在下一轮次中对应的当轮二维坐标。
当扰动接受概率小于或等于随机数时,拒绝当前轮次中对目标靶标点的二维坐标的随机扰动处理,将随机扰动处理前的二维坐标作为目标靶标点在下一轮次中对应的当轮二维坐标。
拒绝当前轮次中对目标靶标点的二维坐标的随机扰动处理后,进入下一轮次,将下一轮次作为当前轮次,并返回获取当前轮次中,图像a中每个靶标点对应的当轮二维坐标,以及图像b中每个靶标点对应的当轮二维坐标,对于参考二维坐标未进行随机扰动处理的靶标点,将参考二维坐标作为相应靶标点在当前轮次中的当轮二维信息的步骤并继续执行。
更新目标靶标点的二维坐标后,判断当前轮次的循环次数是否达到预设循环次数。
未达到预设循环次数时,进入下一轮次,将下一轮次作为当前轮次,并返回从各靶标点中选择任意靶标点作为目标靶标点并继续执行,直至达到预设循环次数时停止,输出相机a的标定外参和相机b的标定外参。
当达到预设循环次数时,将最后一轮次的轮次反投误差所对应的相机a的中间外参,作为相机a的标定外参,将最后一轮次的轮次反投误差所对应的相机b的中间外参,作为相机b的标定外参。将相应靶标点的目标三维坐标所对应的中间二维坐标,作为相应靶标点在参考坐标系下的目标二维坐标。将最后一轮次的轮次反投误差所对应的图像a中各靶标点的中间三维坐标,作为相应靶标点在图像a中的目标三维坐标。将最后一轮次的轮次反投误差所对应的图像b中各靶标点的中间三维坐标,作为相应靶标点在图像b中的目标三维坐标。
根据各靶标点对应的目标三维信息,可调整车辆在每个停车位上的位置。如图8d所示,为车辆在四个停车位中,对应参考三维坐标下的位置和对应目标三维坐标下的位置。图中的圆圈表示车载在参考三维坐标下的位置,星号表示车辆在目标三维坐标下的位置。
本实施例中,本发明进行移动采集车辆和自动驾驶车的多相机外参标定,在简易的室外标定场采集标定数据,操作简单可快速部署,占用软硬件资源以及场地均很小,适于地图供应商、车厂和车辆配件供应商以及研究机构进行部署,能够大规模降低成本。并且,有效降低人工图像靶标点选择的误差,进而保证了静态标定的高精度。每辆车大概10分钟内可以计算出每个车载相机的标定外参,成本低,效率高。
在一个实施例中,如图9所示,提供了一种相机外参标定方法,包括:
步骤S902,获取对场地中的靶标点进行测绘得到的参考三维坐标,确定通过相机对场地进行拍摄得到的图像中,各靶标点分别对应的参考二维坐标;参考二维坐标,为多个轮次中初始轮次对应的当轮二维坐标。
步骤S904,对于当前轮次中的初始迭代,获取相机的初始外参和各靶标点的参考三维坐标,将初始外参和各靶标点的参考三维坐标,代入成像模型公式中,得到各标靶标点在初始迭代中的中间二维坐标。
根据各靶标点的中间二维坐标和当轮二维坐标,计算各靶标点在初始迭代的反投误差。将各靶标点在初始迭代的反投误差求和,得到初始迭代所对应的迭代反投误差。
步骤S906,从各靶标点中选择任意靶标点作为目标靶标点,从二维扰动范围中随机选择扰动值,将扰动值与目标靶标点的二维坐标中的横坐标、纵坐标分别求和,得到随机扰动处理后的二维坐标,将随机扰动处理后的二维坐标作为目标靶标点在当前轮次中的当轮二维坐标。将未进行随机扰动处理的靶标点对应的参考二维坐标,作为相应靶标点在当前轮次中的当轮二维坐标。
步骤S908,从当前轮次中的第二次迭代起,将每次迭代作为当前迭代,对初始外参或目标靶标点的参考三维坐标中的至少一种进行随机扰动处理,得到中间外参和目标靶标点的中间三维坐标。当未对初始外参进行随机扰动处理时,将初始外参作为当前迭代的中间外参;当未对目标靶标点的参考三维坐标进行随机扰动处理时,将参考三维坐标作为目标靶标点在当前迭代的中间三维坐标。
根据当前迭代中的中间外参和目标靶标点对应的中间三维坐标,计算目标靶标点在当前迭代对应的中间二维坐标,并基于目标靶标点在当前迭代对应的中间二维坐标和当轮二维坐标,确定目标靶标点在当前迭代对应的反投误差。
确定除目标靶标点以外的其余靶标点,当未对初始外参进行随机扰动处理时,将其余靶标点在初始迭代中分别对应的反投误差,作为相应靶标点在当前迭代所对应的反投误差。
当对初始外参进行随机扰动处理时,将当前迭代的中间外参和其余靶标点分别对应的参考三维坐标代入成像模型公式,得到其余靶标点在当前迭代所分别对应的中间二维坐标。根据其余靶标点在当前迭代所分别对应的中间二维坐标和在当前轮次中的当轮二维坐标,计算相应靶标点的反投误差。将目标靶标点的误差和其余靶标点中各靶标点分别对应的反投误差求和,得到当前迭代的迭代反投误差。
步骤S910,返回步骤S908中对初始外参或目标靶标点的参考三维坐标中的至少一种进行随机扰动处理,得到中间外参和目标靶标点的中间三维坐标的步骤并继续执行,直至得到当前轮次中最后一次迭代的迭代反投误差。
步骤S912,确定当前轮次中的每个迭代分别对应的迭代反投误差的最小值,将最小迭代反投误差作为当前轮次对应的轮次反投误差。获取当前轮次的相邻上一轮次所对应的轮次反投误差。根据当前轮次的轮次反投误差和上一轮次的轮次反投误差,判断是否接受对目标靶标点的二维坐标的随机扰动处理。
步骤S914,当当前轮次的轮次反投误差小于上一轮次的轮次反投误差时,接受当前轮次中对目标靶标点的二维坐标的随机扰动处理,更新目标靶标点的二维坐标。将更新后的二维坐标,作为目标靶标点在下一轮次中对应的当轮二维坐标。
当当前轮次的轮次反投误差大于或等于上一轮次的轮次反投误差时,根据当前轮次的轮次反投误差和上一轮次的轮次反投误差,计算扰动接受概率,以及生成处于预设范围内的随机数;当扰动接受概率大于随机数时,接受当前轮次中对目标靶标点的二维坐标的随机扰动处理,更新目标靶标点的二维坐标。将更新后的二维坐标,作为目标靶标点在下一轮次中对应的当轮二维坐标。
当扰动接受概率小于或等于随机数时,拒绝当前轮次中对目标靶标点的二维坐标的随机扰动处理,将随机扰动处理前的二维坐标作为目标靶标点在下一轮次中对应的当轮二维坐标。
拒绝当前轮次中对目标靶标点的二维坐标的随机扰动处理后,进入下一轮次,将下一轮次作为当前轮次,并返回步骤S904并继续执行。
步骤S916,更新目标靶标点的二维坐标后,判断当前轮次的循环次数是否达到预设循环次数。
步骤S918,当达到预设循环次数时,将最后一轮次的轮次反投误差所对应的中间外参,作为相机的标定外参。将最后一轮次的轮次反投误差所对应的各靶标点的中间三维坐标,作为相应靶标点的目标三维坐标;将相应靶标点的目标三维坐标所对应的中间二维坐标,作为相应靶标点的目标二维坐标。
未达到预设循环次数时,进入下一轮次,将下一轮次作为当前轮次,并返回步骤S904并继续执行。
本实施例中,每个轮次对应多个迭代,在每个轮次中扰动目标靶标点的二维坐标,基于扰动的二维坐标进行多次迭代。在每个迭代中,随机扰动目标靶标的三维坐标或相机的初始外参,从而计算出目标靶标点的中间二维坐标。根据扰动后的二维坐标和计算得到的中间二维坐标之间反投误差,以及其余靶标点的对应的在相同迭代中的反投误差,准确计算出相同迭代中的迭代反投误差。
将一个轮次中多个迭代反投误差的最小值作为轮次迭代反投误差,使得迭代反投误差在多次迭代中不断减小。将两次相邻的论次迭代反投误差进行比较,在满足扰动接受条件时,接受当前轮次中对目标靶标点对应的二维坐标的随机扰动处理,以更新目标靶标点的二维坐标,从而能够通过迭代得到目标靶标点的更准确的二维坐标。
在更新目标靶标点的二维坐标后,循环次数不满足预设循环次数的情况下,或者不接受对目标靶标点对应的二维坐标的随机扰动处理的情况下,重新对任意靶标点的二维坐标进行随机扰动处理,执行进入下一轮次,将随机扰动处理得到的二维坐标作为下一轮次的当轮二维坐标的步骤,从而能够通过多个轮次中对靶标点的二维坐标的随机扰动,对二维坐标进行调整,能够每个靶标点更准确的二维坐标。并且,对靶标点的选择和对所选的二维坐标的扰动处理具有随机性,能够保证数据选择和处理的可靠性,更符合实际情况。
在更新目标靶标点的二维坐标后,循环次数满足预设循环次数时,表示轮次反投误差收敛到最优值,而该最优的轮次反投误差所对应的中间外参、各靶标点的中间三维坐标、中间二维坐标均为最优值,则将中间外参作为相机的标定外参,将各靶标点的中间三维坐标和中间二维坐标作为相应靶标点的目标二维坐标和目标三维坐标,从而得到在对相机标定的过程中,同时确定相机的标定外参、各靶标点的目标二维坐标和目标三维坐标,节省计算资源并且提高计算效率。
应该理解的是,虽然图2-图5、图9的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-图5、图9中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图10所示,提供了一种相机外参标定装置1000,该装置可以采用软件模块或硬件模块,或者是二者的结合成为计算机设备的一部分,该装置具体包括:获取模块1002、处理模块1004、计算模块1006、扰动模块1008、返回模块1010和确定模块1012,其中:
获取模块1002,用于获取对场地中的靶标点进行测绘得到的参考三维信息,确定通过相机对场地进行拍摄得到的图像中,各靶标点分别对应的参考二维信息;参考二维信息,为多个轮次中初始轮次对应的当轮二维信息。
处理模块1004,用于对多个轮次中当前轮次中的每次迭代,均基于参考三维信息和相机的初始外参中的至少一种进行随机扰动处理,得到相应迭代所对应的中间三维信息和中间外参。
计算模块1006,用于根据当前轮次中每次迭代分别对应的中间三维信息和中间外参,计算每次迭代分别对应的中间二维信息,并基于每次迭代所对应的中间二维信息和当轮二维信息,确定每次迭代分别对应的迭代反投误差。
扰动模块1008,用于基于迭代反投误差,确定当前轮次所对应的轮次反投误差,并根据当前轮次所对应的轮次反投误差,对当轮二维信息进行随机扰动处理。
返回模块1010,用于进入下一轮次,将随机扰动处理得到的二维信息作为下一轮次的当轮二维信息,返回对多个轮次中当前轮次中的每次迭代,均基于参考三维信息和相机的初始外参进行随机扰动处理并继续执行,直至达到停止条件时停止。
确定模块1012,用于基于多个轮次中产生的中间外参,确定相机的标定外参。
本实施例中,获取对场地中的靶标点进行测绘得到的参考三维信息,确定通过相机对场地进行拍摄得到的图像中,各靶标点分别对应的参考二维信息,参考二维信息,为多个轮次中初始轮次对应的当轮二维信息。对多个轮次中当前轮次中的每次迭代,均基于参考三维信息和相机的初始外参中的至少一种进行随机扰动处理,得到相应迭代所对应的中间三维信息和中间外参,根据当前轮次中每次迭代分别对应的中间三维信息和中间外参,计算每次迭代分别对应的中间二维信息,并基于每次迭代所对应的中间二维信息和当轮二维信息,确定每次迭代分别对应的迭代反投误差,能够从当前轮次的多个迭代反投误差中,准确确定当前轮次所对应的轮次反投误差。在多个迭代中调整靶标点的参考三维信息和相机的初始外参,使得相机的初始外参和三维信息在多次迭代、多个轮次的处理中不断被调整,从而达到最优值。
根据当前轮次所对应的轮次反投误差,对当轮二维信息进行随机扰动处理,进入下一轮次,将随机扰动处理得到的二维信息作为下一轮次的当轮二维信息,返回对多个轮次中当前轮次中的每次迭代,均基于参考三维信息和相机的初始外参进行随机扰动处理并继续执行,直至达到停止条件时停止,在多个轮次中对参考二维信息进行随机扰动处理,使得各靶标点对应的参考二维信息不断被调整,从而获得更准确的二维信息。并且,对靶标点的选择,对二维信息、三维信息以及初始外参的扰动处理具有随机性,能够保证数据选择和处理的可靠性,从而提高相机外参标定的准确性和精度。
在一个实施例中,处理模块1004,还用于获取三维扰动范围和外参扰动范围;对多个轮次中当前轮次中的每次迭代,对参考三维信息和相机的初始外参中的至少一种进行随机扰动处理,得到对应的中间三维信息和中间外参;其中,对参考三维信息进行随机扰动处理时,基于三维扰动范围对参考三维信息进行随机扰动处理,得到相应迭代所对应的中间三维信息; 对初始外参进行随机扰动处理时,基于外参扰动范围对相机的初始外参进行随机扰动处理,得到相应迭代所对应的中间外参。
本实施例中,获取三维扰动范围和外参扰动范围,对多个轮次中当前轮次中的每次迭代,对参考三维信息和相机的初始外参中的至少一种进行随机扰动处理,得到对应的中间三维信息和中间外参,从而能够通过迭代不断优化三维信息和中间外参。
并且,对参考三维信息进行随机扰动处理时,基于三维扰动范围对参考三维信息进行随机扰动处理,使得能够对参考三维信息的随机扰动进行约束,使得迭代所获得的中间三维信息更准确。对初始外参进行随机扰动处理时,基于外参扰动范围对相机的初始外参进行随机扰动处理,使得能够对初始外参的随机扰动进行约束,从而使得迭代所获得的中间外参更精准。
在一个实施例中,计算模块1006,还用于根据当前轮次中的目标靶标点在每次迭代分别对应的中间三维信息和中间外参,计算目标靶标点在每次迭代分别对应的中间二维信息;基于目标靶标点在每次迭代所对应的中间二维信息和当轮二维信息,确实目标靶标点在每次迭代分别对应的反投误差;获取靶标点中除目标靶标点之外的其余靶标点分别对应的反投误差,根据其余靶标点分别对应的反投误差和目标靶标点在每次迭代分别对应的反投误差,确定每次迭代分别对应的迭代反投误差。
本实施例中,根据当前轮次中的目标靶标点在每次迭代分别对应的中间三维信息和中间外参,计算目标靶标点在每次迭代分别对应的中间二维信息,能够通过迭代计算出同一靶标点在不同三维信息和不同外参的情况下,所分别对应的中间二维信息。基于目标靶标点在每次迭代所对应的中间二维信息和当轮二维信息,确定目标靶标点在每次迭代分别对应的反投误差,能够准确计算出同一靶标点在不同三维信息和不同外参的情况下,分别产生的误差。根据靶标点中除目标靶标点之外的其余靶标点分别对应的反投误差,以及目标靶标点在每次迭代分别对应的反投误差,计算出的每次迭代对应的迭代反投误差更准确。
在一个实施例中,扰动模块1008,还用于基于当前轮次中每次迭代分别对应的迭代反投误差,将最小的迭代反投误差作为当前轮次所对应的轮次反投误差。
本实施例中,基于当前轮次中每次迭代分别对应的迭代反投误差,将最小的迭代反投误差作为当前轮次所对应的轮次反投误差,能够通过多次迭代使得迭代反投误差逐渐收敛。将最优的迭代反投误差作为当前轮次所对应的轮次反投误差,使得能够在迭代反投误差收敛至最优的情况向进行下一轮次的处理,以通过多个轮次的处理使得轮次反投误差收敛至最小值,从而提高相机外参标定的精度。
在一个实施例中,扰动模块1008,还用于获取当前轮次的相邻上一轮次所对应的轮次反投误差;当当前轮次的轮次反投误差和上一轮次的轮次反投误差满足扰动接受条件时,接受当前轮次中对目标靶标点对应的当轮二维信息进行随机扰动处理所得到的扰动结果,以更新目标靶标点的当轮二维信息;在更新目标靶标点的当轮二维信息后,对任意靶标点的当轮二维信息进行随机扰动处理,执行进入下一轮次,将随机扰动处理得到的二维信息作为下一轮次的当轮二维信息的步骤。
本实施例中,当当前轮次的轮次反投误差和上一轮次的轮次反投误差满足扰动接受条件时,接受当前轮次中对目标靶标点对应的当轮二维信息进行随机扰动处理所得到的扰动结果,以更新目标靶标点的当轮二维信息,能够通过迭代得到目标靶标点的更准确的二维信息。在更新目标靶标点的当轮二维信息后,对任意靶标点的当轮二维信息进行随机扰动处理,执行进入下一轮次,将随机扰动处理得到的二维信息作为下一轮次的当轮二维信息的步骤,从而能够通过多个轮次中对靶标点的二维信息的随机扰动,对二维信息进行调整,能够每个靶标点更准确的二维信息。并且,对靶标点的选择和对所选的二维信息的扰动处理具有随机性,能够保证数据选择和处理的可靠性,更符合实际情况。
在一个实施例中,扰动模块1008,还用于当当前轮次的轮次反投误差小于上一轮次的轮次反投误差时,接受当前轮次中对目标靶标点对应的当轮二维信息进行随机扰动处理所得到的扰动结果;当当前轮次的轮次反投误差大于或等于上一轮次的轮次反投误差时,根据当前轮次的轮次反投误差和上一轮次的轮次反投误差,计算扰动接受概率,以及生成处于预设范围内的随机数;当扰动接受概率大于随机数时,接受当前轮次中对目标靶标点对应的当轮二维信息进行随机扰动处理所得到的扰动结果。
本实施例中,提供了两种接受对二维信息的随机扰动处理的条件。在当前轮次的轮次反投误差小于上一轮次的轮次反投误差的情况下,表示对二维信息的扰动处理能够使得轮次反投误差降低,则表示二维信息的随机扰动处理有效,接受对该二维信息的随机扰动处理能够更准确计算出相机的外参。在当前轮次的轮次反投误差大于或等于上一轮次的轮次反投误差的情况下,进一步结合所生成的扰动接受概率是否大于在预设范围内生成的随机数,能够更准确判断二维信息的随机扰动处理是否有效,使得所计算的相机外参更准确。
在一个实施例中,扰动模块1008,还用于当扰动接受概率小于或等于随机数时,拒绝当前轮次中对目标靶标点对应的当轮二维信息进行随机扰动处理所得到的扰动结果,则不更新目标靶标点的当轮二维信息;在拒绝扰动结果之后,对任意靶标点的当轮二维信息进行随机扰动处理,执行进入下一轮次,将随机扰动处理得到的二维信息作为下一轮次的当轮二维信息的步骤。
本实施例中,在当前轮次的轮次反投误差大于或等于上一轮次的轮次反投误差的情况下,进一步结合所生成的扰动接受概率是否大于在预设范围内生成的随机数,能够更准确判断二维信息的随机扰动处理是否有效。当扰动接受概率小于或等于随机数时,表示对二维信息的随机扰动处理无效,则拒绝当前轮次中对目标靶标点对应的当轮二维信息进行随机扰动处理所得到的扰动结果,能够避免无效的扰动处理数据导致的轮次反投误差的增大,降低相机外参标定的精度。
在一个实施例中,扰动模块1008,还用于从各靶标点中选择任意靶标点作为目标靶标点;获取二维扰动范围,基于二维扰动范围对目标靶标点的当轮二维信息进行随机扰动处理。
本实施例中,从各靶标点中选择任意靶标点作为目标靶标点,获取二维扰动范围,基于二维扰动范围对目标靶标点的当轮二维信息进行随机扰动处理,使得能够对当轮二维信息的随机扰动进行约束,以保证随机扰动处理的有效性。
在一个实施例中,当轮二维信息包括当轮二维坐标;扰动模块1008,还用于从二维扰动范围中随机选择扰动值,将扰动值与二维坐标中的横坐标、纵坐标分别求和,得到随机扰动处理后的二维信息。
本实施例中,从二维扰动范围中随机选择扰动值,将扰动值与二维坐标中的横坐标、纵坐标分别求和,能够准确得到在约束范围内进行随机扰动处理后的二维坐信息。
在一个实施例中,确定模块1012,还用于确定多个轮次的最后一轮次的轮次反投误差,将最后一轮次的轮次反投误差所对应的中间外参,作为相机的标定外参;将最后一轮次的轮次反投误差所对应的各靶标点的中间三维信息,作为相应靶标点的目标三维信息;将相应靶标点的目标三维信息所对应的中间二维信息,作为相应靶标点的目标二维信息。
本实施例中,满足停止条件时表示轮次迭代反投误差收敛到最优值,则此时的轮次反投误差所对应的中间外参、各靶标点的中间三维坐标、中间二维坐标均为最优值。将满足停止条件时的最后一轮次的轮次反投误差所对应的中间外参作为相机的标定外参,将各靶标点的中间三维坐标和中间二维坐标作为相应靶标点的目标二维坐标和目标三维坐标,从而得到在对相机标定的过程中,同时确定相机的标定外参、各靶标点的目标二维坐标和目标三维坐标,节省计算资源并且提高计算效率。
在一个实施例中,相机包括车载相机,场地中包括有至少一个停车位,参考三维信息基于车辆在停车位中的位置和姿态转换得到;相机的标定外参为车辆的每个车载相机分别对应的标定外参。
关于相机外参标定装置的具体限定可以参见上文中对于相机外参标定方法的限定,在此不再赘述。上述相机外参标定装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图11所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、运营商网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种相机外参标定方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图11中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (15)

1.一种相机外参标定方法,其特征在于,所述方法包括:
获取对场地中的靶标点进行测绘得到的参考三维信息,确定通过相机对所述场地进行拍摄得到的图像中,各靶标点分别对应的参考二维信息;所述参考二维信息,为多个轮次中初始轮次对应的当轮二维信息;
对多个轮次中当前轮次中的每次迭代,均基于所述参考三维信息和相机的初始外参中的至少一种进行随机扰动处理,得到相应迭代所对应的中间三维信息和中间外参;
根据当前轮次中每次迭代分别对应的中间三维信息和中间外参,计算每次迭代分别对应的中间二维信息,并基于每次迭代所对应的中间二维信息和当轮二维信息,确定每次迭代分别对应的迭代反投误差;
基于所述迭代反投误差,确定当前轮次所对应的轮次反投误差,并根据当前轮次所对应的轮次反投误差,对所述当轮二维信息进行随机扰动处理;
进入下一轮次,将随机扰动处理得到的二维信息作为下一轮次的当轮二维信息,返回所述对多个轮次中当前轮次中的每次迭代,均基于所述参考三维信息和相机的初始外参进行随机扰动处理并继续执行,直至达到停止条件时停止;
基于多个轮次中产生的中间外参,确定所述相机的标定外参。
2.根据权利要求1所述的方法,其特征在于,所述对多个轮次中当前轮次中的每次迭代,均基于所述参考三维信息和相机的初始外参中的至少一种进行随机扰动处理,得到相应迭代所对应的中间三维信息和中间外参,包括:
获取三维扰动范围和外参扰动范围;
对多个轮次中当前轮次中的每次迭代,对所述参考三维信息和相机的初始外参中的至少一种进行随机扰动处理,得到对应的中间三维信息和中间外参;
其中,对所述参考三维信息进行随机扰动处理时,基于所述三维扰动范围对所述参考三维信息进行随机扰动处理,得到相应迭代所对应的中间三维信息; 对所述初始外参进行随机扰动处理时,基于所述外参扰动范围对相机的初始外参进行随机扰动处理,得到相应迭代所对应的中间外参。
3.根据权利要求1所述的方法,其特征在于,所述根据当前轮次中每次迭代分别对应的中间三维信息和中间外参,计算每次迭代分别对应的中间二维信息,并基于每次迭代所对应的中间二维信息和当轮二维信息,确定每次迭代分别对应的迭代反投误差,包括:
根据当前轮次中的目标靶标点在每次迭代分别对应的中间三维信息和中间外参,计算所述目标靶标点在每次迭代分别对应的中间二维信息;
基于所述目标靶标点在每次迭代所对应的中间二维信息和当轮二维信息,确定所述目标靶标点在每次迭代分别对应的反投误差;
获取所述靶标点中除所述目标靶标点之外的其余靶标点分别对应的反投误差,根据所述其余靶标点分别对应的反投误差和所述目标靶标点在每次迭代分别对应的反投误差,确定每次迭代分别对应的迭代反投误差。
4.根据权利要求1所述的方法,其特征在于,所述基于所述迭代反投误差,确定当前轮次所对应的轮次反投误差,包括:
基于所述当前轮次中每次迭代分别对应的迭代反投误差,将最小的迭代反投误差作为当前轮次所对应的轮次反投误差。
5.根据权利要求1所述的方法,其特征在于,所述根据当前轮次所对应的轮次反投误差,对所述当轮二维信息进行随机扰动处理,包括:
获取当前轮次的相邻上一轮次所对应的轮次反投误差;
当所述当前轮次的轮次反投误差和所述上一轮次的轮次反投误差满足扰动接受条件时,接受所述当前轮次中对目标靶标点对应的当轮二维信息进行随机扰动处理所得到的扰动结果,以更新所述目标靶标点的当轮二维信息;
在所述更新所述目标靶标点的当轮二维信息后,对任意靶标点的当轮二维信息进行随机扰动处理,执行所述进入下一轮次,将随机扰动处理得到的二维信息作为下一轮次的当轮二维信息的步骤。
6.根据权利要求5所述的方法,其特征在于,所述当所述当前轮次的轮次反投误差和所述上一轮次的轮次反投误差满足扰动接受条件时,接受所述当前轮次中对目标靶标点对应的当轮二维信息进行随机扰动处理所得到的扰动结果,包括:
当所述当前轮次的轮次反投误差小于所述上一轮次的轮次反投误差时,接受所述当前轮次中对目标靶标点对应的当轮二维信息进行随机扰动处理所得到的扰动结果;
当所述当前轮次的轮次反投误差大于或等于所述上一轮次的轮次反投误差时,根据所述当前轮次的轮次反投误差和所述上一轮次的轮次反投误差,计算扰动接受概率,以及生成处于预设范围内的随机数;
当所述扰动接受概率大于所述随机数时,接受所述当前轮次中对目标靶标点对应的当轮二维信息进行随机扰动处理所得到的扰动结果。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
当所述扰动接受概率小于或等于所述随机数时,拒绝所述当前轮次中对目标靶标点对应的当轮二维信息进行随机扰动处理所得到的扰动结果,则不更新所述目标靶标点的当轮二维信息;
在拒绝扰动结果之后,对任意靶标点的当轮二维信息进行随机扰动处理,执行所述进入下一轮次,将随机扰动处理得到的二维信息作为下一轮次的当轮二维信息的步骤。
8.根据权利要求5所述的方法,其特征在于,所述对任意靶标点的当轮二维信息进行随机扰动处理,包括:
从各靶标点中选择任意靶标点作为目标靶标点;
获取二维扰动范围,基于所述二维扰动范围对所述目标靶标点的当轮二维信息进行随机扰动处理。
9.根据权利要求8所述的方法,其特征在于,所述当轮二维信息包括当轮二维坐标;所述基于所述二维扰动范围对所述目标靶标点的当轮二维信息进行随机扰动处理,包括:
从所述二维扰动范围中随机选择扰动值,将所述扰动值与所述二维坐标中的横坐标、纵坐标分别求和,得到随机扰动处理后的二维信息。
10.根据权利要求1至9任意一项所述的方法,其特征在于,所述基于多个轮次中产生的中间外参,确定所述相机的标定外参,包括:
确定所述多个轮次的最后一轮次的轮次反投误差,将所述最后一轮次的轮次反投误差所对应的中间外参,作为所述相机的标定外参;
所述方法还包括:
将所述最后一轮次的轮次反投误差所对应的各靶标点的中间三维信息,作为相应靶标点的目标三维信息;
将所述相应靶标点的目标三维信息所对应的中间二维信息,作为所述相应靶标点的目标二维信息。
11.根据权利要求1至9任意一项所述的方法,其特征在于,所述相机包括车载相机,所述场地中包括有至少一个停车位,所述参考三维信息基于车辆在停车位中的位置和姿态转换得到;所述相机的标定外参为所述车辆的每个车载相机分别对应的标定外参。
12.一种相机外参标定装置,其特征在于,所述装置包括:
获取模块,用于获取对场地中的靶标点进行测绘得到的参考三维信息,确定通过相机对所述场地进行拍摄得到的图像中,各靶标点分别对应的参考二维信息;所述参考二维信息,为多个轮次中初始轮次对应的当轮二维信息;
处理模块,用于对多个轮次中当前轮次中的每次迭代,均基于所述参考三维信息和相机的初始外参中的至少一种进行随机扰动处理,得到相应迭代所对应的中间三维信息和中间外参;
计算模块,用于根据当前轮次中每次迭代分别对应的中间三维信息和中间外参,计算每次迭代分别对应的中间二维信息,并基于每次迭代所对应的中间二维信息和当轮二维信息,确定每次迭代分别对应的迭代反投误差;
扰动模块,用于基于所述迭代反投误差,确定当前轮次所对应的轮次反投误差,并根据当前轮次所对应的轮次反投误差,对所述当轮二维信息进行随机扰动处理;
返回模块,用于进入下一轮次,将随机扰动处理得到的二维信息作为下一轮次的当轮二维信息,返回所述对多个轮次中当前轮次中的每次迭代,均基于所述参考三维信息和相机的初始外参进行随机扰动处理并继续执行,直至达到停止条件时停止;
确定模块,用于基于多个轮次中产生的中间外参,确定所述相机的标定外参。
13.根据权利要求12所述的装置,其特征在于,所述处理模块,还用于获取三维扰动范围和外参扰动范围;对多个轮次中当前轮次中的每次迭代,对所述参考三维信息和相机的初始外参中的至少一种进行随机扰动处理,得到对应的中间三维信息和中间外参;其中,对所述参考三维信息进行随机扰动处理时,基于所述三维扰动范围对所述参考三维信息进行随机扰动处理,得到相应迭代所对应的中间三维信息; 对所述初始外参进行随机扰动处理时,基于所述外参扰动范围对相机的初始外参进行随机扰动处理,得到相应迭代所对应的中间外参。
14.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至11中任一项所述的方法的步骤。
15.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至11中任一项所述的方法的步骤。
CN202110664169.7A 2021-06-16 2021-06-16 相机外参标定方法、装置、计算机设备和存储介质 Active CN113112554B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110664169.7A CN113112554B (zh) 2021-06-16 2021-06-16 相机外参标定方法、装置、计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110664169.7A CN113112554B (zh) 2021-06-16 2021-06-16 相机外参标定方法、装置、计算机设备和存储介质

Publications (2)

Publication Number Publication Date
CN113112554A true CN113112554A (zh) 2021-07-13
CN113112554B CN113112554B (zh) 2021-08-27

Family

ID=76723559

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110664169.7A Active CN113112554B (zh) 2021-06-16 2021-06-16 相机外参标定方法、装置、计算机设备和存储介质

Country Status (1)

Country Link
CN (1) CN113112554B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104851104A (zh) * 2015-05-29 2015-08-19 大连理工大学 采用柔性靶标高速摄相机近景大视场标定方法
US20150341629A1 (en) * 2014-05-21 2015-11-26 GM Global Technology Operations LLC Automatic calibration of extrinsic and intrinsic camera parameters for surround-view camera system
CN105758426A (zh) * 2016-02-19 2016-07-13 深圳杉川科技有限公司 移动机器人的多传感器的联合标定方法
CN107862719A (zh) * 2017-11-10 2018-03-30 未来机器人(深圳)有限公司 相机外参的标定方法、装置、计算机设备和存储介质
CN111815710A (zh) * 2020-05-28 2020-10-23 北京易航远智科技有限公司 鱼眼相机自动标定方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150341629A1 (en) * 2014-05-21 2015-11-26 GM Global Technology Operations LLC Automatic calibration of extrinsic and intrinsic camera parameters for surround-view camera system
CN104851104A (zh) * 2015-05-29 2015-08-19 大连理工大学 采用柔性靶标高速摄相机近景大视场标定方法
CN105758426A (zh) * 2016-02-19 2016-07-13 深圳杉川科技有限公司 移动机器人的多传感器的联合标定方法
CN107862719A (zh) * 2017-11-10 2018-03-30 未来机器人(深圳)有限公司 相机外参的标定方法、装置、计算机设备和存储介质
CN111815710A (zh) * 2020-05-28 2020-10-23 北京易航远智科技有限公司 鱼眼相机自动标定方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
AZRA FETIĆ: "The procedure of a camera calibration using Camera Calibration Toolbox for MATLAB", 《IEEE》 *
秦瑞康: "基于全参数自适应粒子群算法的单目标定与位姿估计研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *

Also Published As

Publication number Publication date
CN113112554B (zh) 2021-08-27

Similar Documents

Publication Publication Date Title
CN107230225B (zh) 三维重建的方法和装置
CN111836358B (zh) 定位方法、电子设备和计算机可读存储介质
CN108268481B (zh) 云端地图更新方法及电子设备
US11756308B2 (en) Neural network device and method using a neural network for sensor fusion
CN111417066A (zh) 定位方法、装置、电子设备和计算机可读存储介质
CN112270719A (zh) 相机标定方法、装置及系统
CN114266871B (zh) 机器人、地图质量评估方法和存储介质
CN111460866B (zh) 车道线检测及驾驶控制方法、装置和电子设备
CN114119748A (zh) 一种车载环视相机的安装位姿确定方法和装置
CN112469116B (zh) 定位方法、装置、电子设备和计算机可读存储介质
CN113112554B (zh) 相机外参标定方法、装置、计算机设备和存储介质
CN110411449B (zh) 一种航空侦察载荷目标定位方法、系统及终端设备
CN113091694B (zh) 一种测距方法以及测距装置
CN108270816A (zh) 云端地图更新设备
CN111221827A (zh) 基于图形处理器的数据库表连接方法、装置、计算机设备和存储介质
CN114463429B (zh) 机器人、地图创建方法、定位方法及介质
US20220276046A1 (en) System and method for providing improved geocoded reference data to a 3d map representation
CN113503883B (zh) 采集用于构建地图的数据的方法、存储介质及电子设备
CN111951402A (zh) 三维模型生成方法、装置、计算机设备和存储介质
CN112464433A (zh) 面向fpga硬件的递推最小二乘求解rfm模型参数优化算法
CN117011486B (zh) 栅格地图构建的方法、装置、电子设备和计算机存储介质
CN116758517B (zh) 基于多目图像的三维目标检测方法、装置和计算机设备
CN118200848B (zh) 融合运动特征和探测信号的目标位置估计方法及电子设备
KR102417411B1 (ko) 지형 고도 데이터 시스템 및 이의 동작 방법
CN117455815B (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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40048742

Country of ref document: HK