CN118119972A - 生成用于相机校准的相机模型的方法和*** - Google Patents
生成用于相机校准的相机模型的方法和*** Download PDFInfo
- Publication number
- CN118119972A CN118119972A CN202280059025.1A CN202280059025A CN118119972A CN 118119972 A CN118119972 A CN 118119972A CN 202280059025 A CN202280059025 A CN 202280059025A CN 118119972 A CN118119972 A CN 118119972A
- Authority
- CN
- China
- Prior art keywords
- camera
- calibration
- assembly
- markers
- space
- 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 89
- 230000009466 transformation Effects 0.000 claims abstract description 29
- 239000003550 marker Substances 0.000 claims abstract description 21
- 238000012550 audit Methods 0.000 claims description 33
- 230000006870 function Effects 0.000 claims description 27
- 238000012545 processing Methods 0.000 claims description 22
- 238000005259 measurement Methods 0.000 claims description 13
- 230000003287 optical effect Effects 0.000 claims description 11
- 238000001514 detection method Methods 0.000 claims description 8
- 238000013507 mapping Methods 0.000 claims description 8
- 229910003460 diamond Inorganic materials 0.000 claims description 5
- 239000010432 diamond Substances 0.000 claims description 5
- 238000009499 grossing Methods 0.000 claims description 5
- 230000000877 morphologic effect Effects 0.000 claims description 5
- 238000012360 testing method Methods 0.000 description 19
- 230000033001 locomotion Effects 0.000 description 12
- 238000004422 calculation algorithm Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 238000013481 data capture Methods 0.000 description 5
- 238000013519 translation Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 239000011159 matrix material Substances 0.000 description 4
- 230000004888 barrier function Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 238000003384 imaging method Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000013480 data collection Methods 0.000 description 2
- 238000005286 illumination Methods 0.000 description 2
- 238000005096 rolling process Methods 0.000 description 2
- VYZAMTAEIAYCRO-UHFFFAOYSA-N Chromium Chemical compound [Cr] VYZAMTAEIAYCRO-UHFFFAOYSA-N 0.000 description 1
- 238000012897 Levenberg–Marquardt algorithm Methods 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000007123 defense Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013178 mathematical model Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000001172 regenerating effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000004513 sizing Methods 0.000 description 1
- 230000006641 stabilisation Effects 0.000 description 1
- 238000011105 stabilization Methods 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 238000012795 verification Methods 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
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1679—Programme controls characterised by the tasks executed
- B25J9/1692—Calibration of manipulator
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1694—Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
- B25J9/1697—Vision controlled systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
-
- 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/30204—Marker
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Length Measuring Devices By Optical Means (AREA)
- Manipulator (AREA)
Abstract
提供了生成相机模型的方法。使用机器人组件通过一系列姿态来相对于相机组件移动校准组件。校准组件包括校准目标和标记。相机组件包括支架、具有视场的相机和标记。预定的一系列姿态一起使得校准目标穿过相机的视场。使用相机来生成校准目标的相应图像。使用***来确定标记在空间中的相应位置。生成变换函数,该变换函数将存储的坐标和确定的校准目标的标记和特征在空间中的位置映射到三维空间上。使用变换函数来生成相机的参数模型。还提供了***。
Description
优先权
本申请要求2021年8月29日提交的标题为“相机校准”的美国临时专利申请号63/260,690的权益,其全部内容通过引用并入本文。
技术领域
本申请通常涉及相机模型,具体地,相机模型的生成。
背景技术
相机模型广泛应用于许多行业。例如,在机器人和自主车辆中,相机模型可以用于帮助视觉里程计、定位、绘图、视觉伺服(也称为基于视觉的机器人控制)和对象识别。在工业自动化中,相机模型可以用于帮助缺陷识别和尺寸测量。在智能手机技术中,相机模型可以用于帮助全景图像拼接、增强现实和面部(面)识别。在光学中,相机模型可以用于帮助光学计量、卫星指向稳定和图像不失真(例如,逆转图像中发现的失真)。在农业中,相机模型可以用于帮助作物健康监测。在国防应用中,相机模型可以用于帮助远程测量、地形测绘和监视。在生物科学中,相机模型可以用于帮助显微镜校准和尺寸测量。在娱乐应用中,相机模型可以用于帮助虚拟现实、摄影和运动感应游戏(例如,Xbox Kinect)。在研究应用中,相机模型可以用于帮助从运动中确定结构和3D重建。
发明内容
本文提供了用于生成相机模型的方法和***以及用于生成用于相机校准的相机模型的***。
本文的一些示例提供了一种生成相机模型的方法。该方法可以包括使用机器人组件通过预定的一系列姿态来相对于相机组件移动校准组件,或者相对于校准组件移动相机组件。校准组件可以包括校准目标。校准组件可以包括第一、第二和第三校准组件标记。第一、第二和第三校准组件标记可以在相应位置处耦合到校准目标。相机组件可以包括支架。相机组件可以包括在相应位置处耦合到支架并具有视场(FOV)的相机。相机组件可以包括在相应位置处耦合到支架的第一、第二和第三相机组件标记。预定的一系列姿态一起使得校准目标穿过相机的FOV的至少一部分。该方法可以包括在预定的一系列姿态的每个姿态处使用相机来生成校准目标的相应图像。该方法可以包括在预定的一系列姿态的每个姿态处使用***来确定第一、第二和第三校准组件标记在空间中的相应位置。
该方法可以包括在预定的一系列姿态的每个姿态处使用***来确定第一、第二和第三相机组件标记在空间中的相应位置。该方法可以包括,对于每个相应图像,生成变换函数,该变换函数将(i)存储的第一、第二和第三校准组件标记的坐标,(ii)存储的第一、第二和第三相机组件标记的坐标,(iii)对于图像,确定的第一、第二和第三校准组件标记在空间中的位置,(iv)对于图像,确定的第一、第二和第三相机组件标记在空间中的位置,以及(v)相应图像内的校准目标的特征映射到三维对象空间上。该方法可以包括使用相应图像的变换函数来生成相机的外部参数和内部参数的模型。
在一些示例中,校准组件可进一步包括耦合到校准目标的第四校准组件标记。在一些示例中,该方法可以包括在预定的一系列姿态的每个姿态处使用***来确定第一、第二、第三和第四校准组件标记在空间中的相应位置。
在一些示例中,相机组件可进一步包括耦合到支架的第四相机组件标记。在一些示例中,该方法可以包括在预定的一系列姿态的每个姿态处使用***来确定第一、第二、第三和第四相机组件标记在空间中的相应位置。
在一些示例中,校准组件标记可以分别包括球形安装的后向反射器(SMR)。
在一些示例中,相机组件标记可以分别包括球形安装的后向反射器(SMR)。
在一些示例中,支架可以包括销-菱形销支架。
在一些示例中,***可以包括激光***。
在一些示例中,该方法可进一步包括确定第一、第二和第三相机组件标记在相机支架基准框架中的坐标。在一些示例中,可以使用坐标测量机器(CMM)来执行确定第一、第二和第三相机组件标记在相机支架基准框架中的坐标。
在一些示例中,校准目标可以包括直线棋盘图表。
在一些示例中,校准目标可以包括自识别二进制代码。在一些示例中,自识别二进制代码可以包括CALTag或ARTag。
在一些示例中,该方法可进一步包括确定校准目标的特征相对于第一、第二和第三校准组件标记的位置。在一些示例中,可以使用光学测量机器(OMM)来执行确定校准目标的特征相对于第一、第二和第三校准组件标记的位置。
在一些示例中,预定的一系列姿态一起可以使得校准目标生成超级图表。在一些示例中,超级图表可以包括半球形。在一些示例中,超级图表可以包括多个层。
在一些示例中,该方法可进一步包括,在对于每个相应图像,生成变换函数之前,对于每个相应图像处理图像,该变换函数将(i)存储的第一、第二和第三校准组件标记的坐标,(ii)存储的第一、第二和第三相机组件标记的坐标,(iii)对于图像,确定的第一、第二和第三校准组件标记在空间中的位置,(iv)对于图像,确定的第一、第二和第三相机组件标记在空间中的位置,以及(v)相应图像内的校准目标的特征映射到三维对象空间上。在一些示例中,图像的处理可以包括对象检测、平滑、边缘增强和形态学操作中的至少一个。
在一些示例中,该方法可进一步包括再次使用机器人组件通过预定的一系列姿态来相对于相机组件移动校准组件,或者相对于校准组件移动相机组件;在预定的一系列姿态的每个姿态处再次使用相机来生成校准目标的相应图像;在预定的一系列姿态的每个姿态处再次使用***来确定第一、第二和第三校准组件标记在空间中的相应位置以及第一、第二和第三相机组件标记在空间中的相应位置;以及对于每个相应图像,再次生成变换函数,该变换函数将(i)存储的第一、第二和第三校准组件标记的坐标,(ii)存储的第一、第二和第三相机组件标记的坐标,(iii)对于图像,确定的第一、第二和第三校准组件标记在空间中的位置,(iv)对于图像,确定的第一、第二和第三相机组件标记在空间中的位置,以及(v)相应图像内的校准目标的特征映射到三维对象空间上;用不同的预定的一系列姿态生成相机的外部参数和内部参数的审计数据集。在一些示例中,该方法可进一步包括使用来自审计数据集的确定的第一、第二和第三校准组件标记在空间中的位置;来自审计数据集的确定的第一、第二和第三相机组件标记在空间中的位置;以及相机模型,来确定相机模型的图像空间误差和对象空间误差。
本文的一些示例提供了一种用于生成相机模型的***。该***可以包括校准组件。校准组件可以包括校准目标。校准组件可以包括第一、第二和第三校准组件标记。第一、第二和第三校准组件标记可以在相应位置处耦合到校准目标。该***可以包括相机组件。相机组件可以包括支架。相机组件可以包括相机。相机可以在相应位置处耦合到支架,并且具有视场(FOV)。该***可以包括第一、第二和第三相机组件标记。第一、第二和第三相机组件标记可以在相应位置处耦合到支架。该***可以包括机器人组件。机器人组件可以耦合到校准组件和相机组件中的至少一个。该***可以包括***。该***可以包括计算机***。计算机***可以耦合到相机、机器人组件和***。计算机***可以包括至少一个处理器和至少一个非易失性计算机可读介质。至少一个非易失性计算机可读介质可以存储第一、第二和第三校准组件标记相对于彼此以及相对于校准目标的坐标。至少一个非易失性计算机可读介质可以存储第一、第二和第三相机组件标记相对于彼此以及相对于相机的坐标。至少一个非易失性计算机可读介质可进一步存储用于使处理器执行操作的指令。
操作可以包括指示机器人组件通过预定的一系列姿态来相对于相机组件移动校准组件,或者相对于校准组件移动相机组件,预定的一系列姿态一起使得校准目标穿过相机的FOV的至少一部分;指示相机在预定的一系列姿态的每个姿态处生成校准目标的相应图像;指示***在预定的一系列姿态的每个姿态处确定第一、第二和第三校准组件标记在空间中的相应位置以及第一、第二和第三相机组件标记在空间中的相应位置;对于每个相应图像,生成变换函数,该变换函数将(i)存储的第一、第二和第三校准组件标记的坐标,(ii)存储的第一、第二和第三相机组件标记的坐标,(iii)对于图像,确定的第一、第二和第三校准组件标记在空间中的相应位置,(iv)对于图像,确定的第一、第二和第三相机组件标记在空间中的相应位置,以及(v)相应图像内的校准目标的特征映射到三维对象空间上;以及使用相应图像的变换函数来生成相机的外部参数和内部参数的模型。
在一些示例中,校准组件可进一步包括耦合到校准目标的第四校准组件标记。在一些示例中,至少一个非易失性计算机可读介质可以存储第四校准组件标记相对于第一、第二和第三校准组件标记以及相对于校准目标的坐标。在一些示例中,至少一个非易失性计算机可读介质可以存储第四校准组件标记的坐标。在一些示例中,指令可进一步包括指示***在预定的一系列姿态的每个姿态处确定第四校准组件标记在空间中的相应位置,以及对于每个相应图像,生成变换函数,该变换函数将存储的第四校准组件标记的坐标映射到三维对象空间上。
在一些示例中,相机组件可进一步包括耦合到支架的第四相机组件标记。在一些示例中,至少一个非易失性计算机可读介质可以存储第四相机组件标记相对于第一、第二和第三相机组件标记以及相对于相机的坐标。在一些示例中,至少一个非易失性计算机可读介质可以存储第四相机组件标记的坐标。在一些示例中,指令可进一步包括指示***在预定的一系列姿态的每个姿态处确定第四相机组件标记在空间中的相应位置,对于每个相应图像,生成变换函数,该变换函数将存储的第四相机组件标记的坐标映射到三维对象空间上,以及对于每个相应图像,生成变换函数,该变换函数将确定的第四相机组件标记的坐标映射到三维对象空间上。
在一些示例中,校准组件标记可以分别包括球形安装的后向反射器(SMR)。
在一些示例中,相机组件标记可以分别包括球形安装的后向反射器(SMR)。
在一些示例中,支架可以包括销-菱形销支架。
在一些示例中,***可以包括激光***。
在一些示例中,可以使用坐标测量机器(CMM)确定存储的第一、第二和第三相机组件标记相对于彼此以及相对于相机的坐标。
在一些示例中,校准目标可以包括直线棋盘图表。
在一些示例中,校准目标可以包括自识别二进制代码。
在一些示例中,自识别二进制代码可以包括CALTag或ARTag。
在一些示例中,至少一个非易失性计算机可读介质可以存储校准目标的特征相对于第一、第二和第三校准组件标记的坐标。在一些示例中,可以使用光学测量机器(OMM)确定存储的校准目标的特征相对于第一、第二和第三校准组件标记的坐标。
在一些示例中,预定的一系列姿态一起可以使得校准目标生成超级图表。在一些示例中,超级图表可以包括半球形。在一些示例中,超级图表可以包括多个层。
在一些示例中,指令可进一步包括对于每个相应图像,在生成变换函数之前处理图像。在一些示例中,图像的处理可以包括对象检测、平滑、边缘增强和形态学操作中的至少一个。
在一些示例中,指令可进一步包括用不同的预定的一系列姿态重复指令中的操作,以生成审计数据集。在一些示例中,指令可进一步包括使用来自审计数据集的确定的第一、第二和第三校准组件标记在空间中的位置;来自审计数据集的确定的第一、第二和第三相机组件标记在空间中的位置;以及相机模型,来确定相机模型的图像空间误差和对象空间误差。
应当理解,本文描述的本公开的每个方面的任何相应特征/示例可以以任何适当的组合一起实现,并且来自这些方面的任何一个或多个的任何特征/示例可以以任何适当的组合与本文描述的其他方面的任何特征一起实现,以实现本文描述的益处。
附图说明
图1示出了相机模型需要考虑的三个主要方面。图1改编自Samvram Sahu,3D PoseEstimation of UAVs using Stereo-vision(2019年5月)(BTech thesis,Indian SpaceRsrch.Org.),其全部内容通过引用并入本文。
图2示出了相机的示例简单针孔模型。图2改编自Bharath Hariharan,Geometryof Image Formation(Cornell大学,2020年3月25日),其全部内容通过引用并入本文。
图3示出了三种常见的相机失真。图3改编自Igor Kozlov,Analysis ofUncertainty in Underwater Multiview Reconstruction(2018年9月)(M.S.thesis,Univ.N.H.)以及J.V.Sharp和H.H.Hayes,Effects on Map Production of Distortionsin Photogrammetric Systems,15Photogrammetric Engineering159(1949),其中每一个的全部内容通过引用并入本文。
图4示出了相机的外部参数。图4改编自Benjamin Pichler,HDR Light Field(2012年9月10日)(B.S.thesis,Johannes Kepler Univ.Linz),其全部内容通过引用并入本文。
图5示出了用于图像处理的工作流程的示例。图5改编自opencv-camera 0.11.0,Python Package Index(最后一次访问于2022年8月11日),其全部内容通过引用并入本文。
图6示出了用于生成相机模型的***的示例。
图7示出了用于生成相机模型的另一***的示例。
图8示出了相机的示例。
图9A示出了相机组件的示例。
图9B示出了坐标测量机器(CMM)上的示例相机组件的照片。
图10示出了包括直线棋盘图表的示例校准目标。
图11A示出了光学测量机器(OMM)上的示例校准组件的照片。
图11B示出了包括自识别二进制代码的示例校准目标。
图12示出了利用本文描述的***生成相机模型的示例方法的流程图。
图13示出了利用本文描述的***生成相机模型的示例方法的流程图。
图14示出了示例半球形超级图表。
图15A示出了示例3层半球形超级图表。
图15B示出了投影到2D图像空间中的图15A的示例3层半球形超级图表。
图16A示出了另一示例多层半球形超级图表。
图16B示出了投影到2D图像空间中的图16A的示例多层半球形超级图表。
图17示出了用于生成相机模型的示例***的照片。
图18示出了如何由***确定第一、第二和第三校准组件标记以及确定的第一、第二和第三相机组件标记在空间中的位置的示例。
图19示出了生成相机模型参数的示例方法的流程图。
图20示出了生成相机模型参数的另一示例方法的流程图。
图21示出了如何检测自识别二进制代码的示例。
图22A示出了识别校准目标特征的示例方法的流程图。
图22B示出了具有识别特征的示例校准目标。
图23示出了相机的示例简单针孔模型。
图24A示出了示例相机模型的图像空间重投影误差。
图24B示出了与图24A相同的示例相机模型的对象空间重投影误差。
图25示出了生成审计数据集的示例方法的流程图。
图26示出了使用审计模型确定对象空间误差和图像空间误差的示例方法的流程图。
图27A示出了通过使用审计模型确定的示例相机模型的对象空间重投影误差。
图27B示出了通过使用与图27A相同的审计模型确定的与图27A相同的示例相机模型的图像空间重投影误差。
应当理解,本文描述的本公开的每个方面的任何相应特征/示例可以以任何适当的组合一起实现,并且来自这些方面的任何一个或多个的任何特征/示例可以以任何适当的组合与本文描述的其他方面的任何特征一起实现,以实现本文描述的益处。
具体实施方式
本文提供了用于生成相机模型的方法和***以及用于生成用于相机校准的相机模型的***。
可以以任何合适的组合描述和要求保护的主题包括硬件(***),包括安装有校准***目标的相机(相机组件)、安装有校准***目标(校准组件)的测试图表(校准目标)、***、相对于测试图表(校准目标)移动相机的装置(机器人组件)、存储和关联图像和位置数据的装置(计算机***)、以及执行图像处理和模型参数计算的装置(计算机***)。
可以以任何合适的组合描述和要求保护的主题还包括一种方法,包括基于期望的相机特征来计划运动;对于计划中的每个位置,(i)使用***对准相机和测试图表(校准目标),(ii)记录相机位置和测试图表(校准目标)位置,以及(iii)拍摄相机图像;处理图像和位置坐标,包括(i)检测图像中的特征,(ii)将特征与3D位置坐标配对,(iii)应用相机模型校准逻辑,以及(iv)输出相机模型参数。
可以以任何合适的组合描述和要求保护的主题的一些变型包括使用各种***编号和配置的变型,例如,正方形与三角形配置,其中***是激光***并且也是替代的变型,其中***目标(标记)是球形安装的后向反射器(SMR)并且也是替代的变型,使用坐标测量机器(CMM)执行相机***目标(相机组件)的配准的变型,使用光学测量机器(OMM)执行测试图表***目标(校准组件)的配准的变型,在特征检测之前执行图像过滤的变型,包括测试图表(校准目标)上的CAL标签的变型,包括非线性优化的变型,以及使用审计数据集的变型。
如本文所提供的,相机模型是将相机***的复杂几何和光学特性简化为具有相对较小的一组已知参数的数学模型。好的模型可以帮助解决计算机视觉中的一个基本问题:使用来自相机的2D信息来获得关于3D世界的信息。
图1示出了相机模型需要考虑的三个主要方面。相机模型需要考虑三个主要方面:内部参数102、失真104和外部参数106。内部参数102包括相机的焦距和主点。失真104是与简单针孔相机的偏差,并且包括对称径向失真、非对称径向失真和切向失真。外部参数106包括表示相机相对于一些外部参考坐标系的位置的3D旋转矩阵和位置向量的元素。
内部参数
图2示出了相机的示例简单针孔模型。在相机的简单针孔模型中,对象空间210中的三维对象被映射到二维图像空间220上,并由传感器222捕获。入射光线212根据以下等式从对象上的点216落在传感器222上:r=f×tanθ,其中,r是传感器平面222上到主点224(直接穿过屏障平面的针孔孔径)的距离,并且焦距f226是从传感器222到屏障平面214的距离。在孔径216处从垂直于屏障平面214的方向测量角θ。焦距226和主点224被称为相机的内部参数。
失真
通过表征相机的失真,我们可以理解它是如何偏离这个简单的针孔相机的。图3示出了三种常见的相机失真。三种常见的失真是对称径向失真302、非对称径向失真304和切向失真306。径向失真使图像点从相机的主点沿径向方向失真。对称径向失真302对整个图像对称地这样做,而非对称径向失真304可以随着围绕主点的极角而变化。切向失真306使图像点在垂直于来自相机的主点的径向失真的方向上失真。
外部参数
相机相对于某个参考坐标系的位置通常表示为3D旋转矩阵和位置向量或变换矩阵。这些矩阵的元素被称为外部参数。
图4示出了相机的外部参数。在一些情况下,使用或需要外部参数402来提取关于全局坐标系中的成像目标的空间信息。这可能是有用的,并且在一些情况下特别关键,例如在一些情况下,当多个相机一起使用时,或者当成像相机与用于融合传感器数据输出的其他传感器(例如,惯性测量单元(IMU)传感器、光检测和测距(LIDAR)传感器等)结合使用时。外部相机校准的可追溯性是执行校准的更具挑战性的方面之一。
相机校准
图5示出了用于图像处理的工作流程的示例。在典型的先前已知的相机校准中,在迭代过程500中识别参数。一旦从已知图像502捕获校准数据图像,就使用开源工具处理图像,例如OpenCV(开源计算机视觉库)504,开源计算机视觉和机器学习软件库。将得到的重投影图像与原始已知图像506进行比较。如果误差高于阈值,则用不同的模型重复该过程,直到误差是可接受的508。
灵活相机校准站设计
本领域先前已知的相机校准技术通常对一组特定的相机参数(对象距离、视场等)工作良好,但是难以在同一校准夹具中适应大范围的相机参数。造成这种相对较差的性能有许多原因,包括:相对不准确的外部参数确定、在全视场上相对较差的失真模型精度、可能对大型物理图表的需要等等。
如本发明人所认识到的,灵活相机校准站可以用于克服这些和其他校准性能问题。图6示出了用于生成相机模型的***的示例。图6中所示的***600可以包括校准组件610、相机组件620、机器人组件630、***640和计算机***650。校准组件610可以包括校准目标612和任何合适数量的校准组件标记,例如,第一校准组件标记614a、第二校准组件标记614b和第三校准组件标记614c,它们在相应位置处耦合到校准目标612。相机组件620可以包括支架622、相机624、任何合适数量的相机组件标记,例如,第一相机组件标记626a、第二相机组件标记626b和第三相机组件标记626c,它们在相应位置处耦合到支架622。相机624可以具有视场(FOV)。机器人组件630可以耦合到校准组件610和相机组件620中的至少一个,如虚线所示。
计算机***650可以包括处理器652和至少一个非易失性计算机可读介质654。计算机***650可以耦合到机器人组件630、相机624和***640。至少一个非易失性计算机可读介质654可以存储第一、第二和第三校准组件标记614相对于彼此以及相对于校准目标612的坐标。至少一个非易失性计算机可读介质654可以存储第一、第二和第三相机组件标记626相对于彼此以及相对于相机624的坐标。至少一个非易失性计算机可读介质654可以存储用于使处理器652执行操作的指令。操作可以包括指示机器人组件630通过预定的一系列姿态来相对于相机组件620移动校准组件610,或者相对于校准组件610移动相机组件620,预定的一系列姿态一起使得校准目标612穿过相机624的视场的至少一部分。操作可以包括指示相机624在预定的一系列姿态的每个姿态处生成校准目标612的相应图像。操作可以包括指示***640在预定的一系列姿态的每个姿态处确定第一、第二和第三校准组件标记614在空间中的相应位置以及第一、第二和第三相机组件标记626在空间中的相应位置。操作可以包括,对于每个相应图像,生成变换函数,该变换函数将(i)存储的第一、第二和第三校准组件标记614的坐标,(ii)存储的第一、第二和第三相机组件标记626的坐标,(iii)对于图像,确定的第一、第二和第三校准组件标记614在空间中的相应位置,(iv)对于图像,确定的第一、第二和第三相机组件标记626在空间中的相应位置,以及(v)相应图像内的校准目标612的特征映射到三维对象空间上。操作可以包括使用相应图像的变换函数来生成相机624的外部参数和内部参数的模型。
图7示出了用于生成相机模型的另一***的示例。图中示出了灵活相机校准站(用于生成相机模型的***)700的一个示例。它包括具有校准组件标记(例如,刚性附接的球形安装的后向反射器(SMR))704的测试图表(校准目标)702,该测试图表由被测试相机706观察,该被测试相机也安装到具有相机组件标记(例如,SMR)710的支架(例如,接口支架)708上。测试图表(校准目标)702可以固定或安装到可移动平台上。被测试相机安装到机器人组件(例如,铰接机器人臂)712上。为了方便起见,该被测试相机组件(相机组件)714可以安装到滚动平台716上。可以用***(例如,激光***)718来监测所有校准组件标记704和相机组件标记(例如,SMR)710的相对位置。注意,由于***架构的设计,相机706和测试图表(校准目标)702之间的相对运动对于生成丰富的校准数据集是重要的,但是不要求相机706特别移动或者测试图表(校准目标)702移动。***架构对于移动的任一个或两个部件是灵活的,使得难以操纵用于校准的相机***714可以保持静止。
图8示出了相机的示例。示例相机具有1800万像素2.8mm固定焦距镜头,在大视场(FOV)(157度)上具有高分辨率。销-菱形销支架可以用作相机外部参数的可重复和可跟踪的基准,因为相机框架和基准框架之间的相对位置由于主体相机的刚性结构而是固定的。
图9A示出了相机组件的示例。示出了示例相机支架900。在一些示例中,球形安装的后向反射器(SMR)902可以安装到相机支架900,以为***(例如,激光***)创建支架900和相机(相机组件)904位置的可跟踪点测量。
图9B示出了坐标测量机器(CMM)上的示例相机组件的照片。示出了CMM 910上的示例相机支架900的照片。CMM 910可以用于测量相机支架基准框架中的SMR中心坐标。
图10示出了包括直线棋盘图表的示例校准目标。下面示出简单的直线测试图表(校准目标)1002作为示例。由于网格图表图像处理的高精度角检测能力,在一些情况下可以选择直线网格图表1002而不是圆形图表。在该示例中,在三角形配置中使用3个SMR1004,但是在一些实现方式中,可以使用不同数量和配置的SMR 1004。玻璃图表设计1006上的背光光刻铬允许极其尖锐的边缘对比度和高精度特征。
图11A示出了光学测量机器(OMM)上的示例校准组件的照片。图11B示出了包括自识别二进制代码的示例校准目标。在另一示例中,可以用自识别二进制代码1104(示例包括CALTag和ARTag)来增强直线棋盘图表1102,以在图像处理时唯一地识别每个正方形。在校准图表(校准目标)中包括自识别图案1104不是必需的,但是可以提高对诸如透镜失真、非均匀照射和测试图案遮挡的变量的处理稳健性。图表(目标)1102可以由漫射LCD监测器背光,用于替代颜色配置和/或均匀照明。光学CMM(光学测量机器或OMM)1106可以用于记录图表(目标)1102特征相对于标记(例如,SMR)1108的位置。
相机数据采集
图12示出了利用本文描述的***生成相机模型的示例方法的流程图。生成相机模型的方法1200可以包括使用机器人组件通过预定的一系列姿态来相对于相机组件移动校准组件,或者相对于校准组件移动相机组件(操作1202)。校准组件可以包括校准目标和第一、第二和第三校准组件标记。第一、第二和第三校准组件标记可以在相应位置处耦合到校准目标。相机组件可以包括支架、在相应位置处耦合到支架的相机、以及在相应位置处耦合到支架的第一、第二和第三相机组件标记。相机可以具有视场。预定的一系列姿态可以一起使得校准目标穿过相机的视场的至少一部分。该方法还可以包括在预定的一系列姿态的每个姿态处使用相机来生成校准目标的相应图像(操作1204)。该方法还可以包括在预定的一系列姿态的每个姿态处使用***来确定第一、第二和第三校准组件标记在空间中的相应位置以及第一、第二和第三相机组件标记在空间中的相应位置(操作1206)。该方法还可以包括,对于每个相应图像,生成变换函数,该变换函数将(i)存储的第一、第二和第三校准组件标记的坐标,(ii)存储的第一、第二和第三相机组件标记的坐标,(iii)对于图像,确定的第一、第二和第三校准组件标记在空间中的位置,(iv)对于图像,确定的第一、第二和第三相机组件标记在空间中的位置,以及(v)相应图像内的校准目标的特征映射到三维对象空间上(操作1208)。该方法还可以包括使用相应图像的变换函数来生成相机的外部参数和内部参数的模型(操作1210)。
图13示出了利用本文描述的***生成相机模型的示例方法的流程图。示出了生成相机模型的示例方法1300。方法1300可以包括相对于网格特征测量校准组件标记位置(操作1302)。方法1300还可以包括相对于相机基准测量相机支架上相机组件标记位置(操作1304)。一旦相对于网格特征测量了图表(校准组件)SMR(标记)位置,并且相对于相机基准测量了相机支架(相机组件)SMR(标记)位置,就可以执行相机校准过程数据收集。
机器人臂(机器人组件)可以用于将相机定位在不同的臂位置处(操作1306)。在每个位置处,***(例如,激光***)测量图表(校准组件)和相机支架(相机组件)SMR(标记)的位置(操作1308),并且相机拍摄图表(目标)的照片(操作1310)。可以通过将相机定位在不同的臂位置处(操作1312)来重复这些步骤(操作)。
相机校准过程
相机校准过程可以分为三个主要部分:计划图表(目标)和相机之间的相对运动,在对应于该运动计划的相对位置处执行数据捕获,以及确定相机模型参数的信号处理。现在将更详细地描述这些部件。
运动计划
图14示出了示例半球形超级图表。相机相对于图表(目标)的每个位置产生对应的2D图表(目标),其可以填充相机的视场的全部或一部分。通过多次改变相对位置,可以产生图表(目标)特征的复合“超级图表”。对于给定的一组标称相机参数,可以用预处理算法模拟校准数据收集序列,以计算有效生成合适的超级图表几何图形的运动计划。运动计划算法可以包括输入,诸如CMM检查结果、相机姿态、图表(目标)位置、标称标记(SMR)位置、***位置和估计的相机参数。运动计划步骤(操作)的结果可以是全局坐标系中每个校准特征的标称3D位置。由运动计划步骤(操作)生成的特征的3D分布的示例显示在可以用于宽视场相机校准的半球形超级图表的下图中。
图15A示出了示例3层半球形超级图表。图15B示出了投影到2D图像空间中的图15A的示例3层半球形超级图表。超级图表可以具有多个层来为焦点校准和改进的外部校准提供数据。利用相机模型投影算法,可以将来自运动计划器的3D特征转换成2D图像点,用于估计候选相机的图像传感器上的目标覆盖范围。在下图中,3层半球形超级图表的15,230个图表(目标)特征在3D对象空间(左,即,图15A)中显示,并投影到2D图像空间(右,即,图15B)中,以演示相机视场的全覆盖。
图16A示出了另一示例多层半球形超级图表。图16B示出了投影到2D图像空间中的图16A的示例多层半球形超级图表。在一些示例中(例如,实施方式),生成具有弯曲和平坦段的更稀疏的多层超级图表,以有效地提供相机视场和目标深度的覆盖。例如,在下图中,图像帧中有12,344个图表(目标)特征。
数据捕获
图17示出了用于生成相机模型的示例***的照片。示出了真实世界***1700的图像。下图中显示了相对典型的数据捕获配置。测试图表(目标)1702使用自识别二进制代码1704,并且由LCD面板1706背光,并且安装到具有3个SMR 1710的滑动平台1708上。背光颜色可配置用于测试彩色、单色和红外相机。被测试相机1712也与3个SMR 1714一起安装到通用机器人UR5 1716上。该被测试相机组件(相机组件)1718安装到滚动平台(未示出)上。所有SMR1710、1714的相对位置由FARO Vantage激光***1720监测。
图18示出了如何由***确定第一、第二和第三校准组件标记以及确定的第一、第二和第三相机组件标记在空间中的位置的示例。图表(目标)1802和相机1804之间的相对位置由机器人控制器设置并确认。在一个示例(例如,实施方式)中,使用Kabsch算法找到OMM数据集1810和激光***数据集1820之间以及CMM数据集1830和激光***数据1820之间的最佳拟合刚体变换(平移和旋转)。这将最小化两个相应数据集之间的误差,而无需缩放数据。
图像处理
图19示出了生成相机模型参数的示例方法的流程图。示出了图像处理的示例方法1900。在一些示例(例如,实施方式)中,如下图中所示生成相机模型参数。数据处理最初可以在数据捕获期间拍摄的单个相机框架的图像处理(操作1902)和3D***数据的重新打包(操作1904)之间进行分割。例如,来自相机的图像的处理(操作1906)可以包括对象检测、平滑、边缘增强、形态学操作等。基于***测量的图表(目标)特征的3D坐标被编译并转换成公共全局坐标系(操作1908)。然后可以组合这两个数据集以产生用于相机的校准(操作1910)。相机校准可以用于输出校准的相机模型参数(操作1912)。
图20示出了生成相机模型参数的另一示例方法的流程图。对于具有自识别二进制代码的棋盘图表的示例,在下图中示出校准过程2000。可以过滤超级图表图像2002以改进结果(操作2004)。首先提取并标记棋盘图表的各个角(操作2006)。对于在棋盘图表上使用CALTag自识别模式的图表示例,可以使用诸如Harris角查找器鞍点算法的算法将棋盘之间的角提取到约0.1像素的精度,如下图所示(操作2006)。然后可以识别CALTags(操作2008)。超级图表3D坐标2010可以用于标记3D数据,精度达约40μm(操作2012)。然后可以将先前识别的角与3D坐标配对(操作2014)。然后可以使用相机模型2016来创建相机校准库(操作2018)。然后,可以对库进行非线性优化(操作2020)。校准的相机模型参数是输出(操作2022)。
图21示出了如何检测自识别二进制代码的示例。下面示出了如何基于CALTag标记唯一识别和分配棋盘特征中的嵌入图案的示例。CALTag可以被划分成16个正方形的网格,每个正方形代表一位,并且具有0或1的值。然后,可以从左上角开始并在开始下一行之前沿着一行继续将网格的值读取为二进制数。二进制数可以转换成十进制数。
图22A示出了识别校准目标特征的示例方法的流程图。图22B示出了具有识别特征的示例校准目标。示出了用于将角特征匹配到3D空间中的相关联位置的方法2200。首先,如先前段落所描述的,可以创建CALTag的十进制ID(操作2210)。查找表可以用于将十进制ID转换为图表角索引(操作2220)。对于给定的图像,为每个角特征2202分配角索引2204,用于通过校准过程进行跟踪(操作2230)。例如,下图像显示了如何识别特征并为其分配行和列索引标签。可以在图像处理步骤(操作)期间采取附加步骤(操作),以从图像处理错误中剔除不符合预期索引的离群值。
图像处理的最终部件可以包括将图像空间中的这些标记特征与它们在3D对象空间中的对应位置进行匹配,如从***和OMM数据确定的(操作2240)。一旦知道了对象和图像空间之间的点对应关系,就可以求解参数模型来表征两者之间的关系。图23示出了相机的示例简单针孔模型。这种模型可以由下图所示的简单针孔相机来描绘,其中对象空间点经由焦距被缩放到图像点。
稳健相机模型可以用于精确地关联对象和图像点,并且可以包括内部和外部参数的项。内部参数可以包括允许相机坐标和图像帧中的像素坐标之间映射的项,例如焦距、主点和失真。外部参数可以包括允许定义相机相对于世界帧的位置和取向的项,例如旋转和平移。
下表1总结了常见相机模型中可能存在的项数量。如表1中可以看到,外部参数包括相机模型中的三个旋转项和三个平移项。内部参数包括两个主点项、两个焦距项、五个径向系数、七个切向系数和七个非对称系数。在这些项中,旋转、平移、主点、焦距和径向系数包括在径向对称的相机模型中。相反,包括切向系数和非对称系数的所有29项包括在全相机模型中。
表1
许多成像相机在视场角和图像空间坐标之间没有完美的线性关系,并且这种变化可以用多项多项式来建模。Kannala径向多项式如下所示。它可以模拟对称径向失真。
r(θ)=(1+k1θ3+k2θ5+k3θ7+…+knθ2n+1)
此外,对映射的额外修改可以用额外的多项式来实现,例如由下面所示的Kannala全相机模型提出的非对称径向和切向项。
Δr(θ,φ)=(l1θ+l2θ3+l3θ5+…)(i1 cos 1+i2 sinφ+i3 cos 2θ+i4 sin 2φ)
Δt(θ,φ)=(m1θ+m2θ3+m3θ5+…)(j1 cosφ+j2 sinφ+j3 cos 2φ+j4 sin 2φ)
由于相机模型中的项没有封闭形式的解,因此可以使用优值函数来描述对象空间和图像空间之间的重投影误差,从而可以在优化器中迭代项。最小化问题可以通过非线性优化器来确定最佳失真系数、焦距和主点。例如,可以使用Levenberg-Marquardt算法:
在上面的等式中,I是角的已知像素坐标(例如,图像);是角的估计像素坐标;PP是主点,或相机平面的中心;EFL是有效焦距,或从针孔到图像帧的距离;kn是径向失真多项式系数;mn,jn是切向失真多项式系数;in,ln是非对称径向失真多项式系数;Rcw是世界参考系在相机参考系中的旋转矩阵;tcw是世界参考系到相机参考系的平移向量;X=(x,y,z)表示基准参考系中3D空间中的坐标;并且/>
一旦开发出相机模型,就可以将其反转以将图像空间转换成对象空间。反转投影模型可能有助于理解图像空间重投影误差如何通过物理距离误差反映在世界帧中。
注意,本公开中呈现的校准数据捕获的方法不是由用于在最后步骤(操作)中最小化重投影误差的特定相机模型或优化器来预测的。这种方法可以灵活地经由许多相机模型来解决,包括Brown-Conrady和Heikkila相机模型,并且不同的相机配置可能最适合不同的模型。
校准结果和审计
可以在图像空间和对象空间中测量测量点和校准相机模型预测的位置之间的误差。校准良好的相机可以精确地预测被测量点的位置。
图24A示出了示例相机模型的图像空间重投影误差。图24B示出了与图24A相同的示例相机模型的对象空间重投影误差。在一个示例中,上述具有2.8mm焦距镜头的1800万像素相机被校准为平均图像空间误差小于0.1像素,平均对象空间误差小于0.1mm,如下面的曲线图所示。在这个示例中,生成了具有两层的半球形超级图表。如图24A中所示,图像空间重投影误差大多小于0.1像素,只有图像空间边缘附近的少数位置(主要是左下和右下)具有0.3像素或更大的误差。如图24B中所示,同一样品的对象空间重投影误差大多小于0.1mm,靠近每个相应半球层边缘的几个位置,特别是内半球层,具有大于0.1mm的重投影误差。
可以将这些结果与下表2中公布的结果进行比较。表2包括本领域公知的生成相机模型的各种方法的以像素为单位的图像空间精度(图像空间误差)和以微米为单位的图像精度(对象空间误差)表2还列出了由各种方法使用的图像空间的像素分辨率。如表2中可以看到,本***和方法(“Quartus灵活相机校准”)提供了比任何列出的方法更低的图像空间误差和更低的对象空间误差。此外,虽然另一种方法的最大图像分辨率是1024像素乘768像素,但本***和方法在具有4912像素乘3684像素的图像分辨率的同时实现了较低的误差。
表2
表2中使用的括号内的数字指示该行数据的来源。[1]指“评估单相机校准的精度”。评估单相机校准的精度—MATLAB&Simulink。[2]指Kannala,J.,&Brandt,S.S。(1995)。传统、广角和鱼眼镜头的通用相机模型和校准方法。[3]指Brown,D.C.(1966)。透镜的偏心失真。[4]指Zhang,Z.(1999)。通过从未知方位观察平面进行灵活的相机校准。上述每个参考文献的全部内容通过引用并入本文。
图25示出了生成审计数据集的示例方法的流程图。示出了用于生成审计数据集的示例方法2500。在一些示例中(例如,实施方式),本发明的相机校准站(用于生成相机模型的***)可以用于生成审计数据集。审计数据集可以是一组图像,这些图像具有相同的对象点的可追溯性,但与用于执行校准的对象点有足够的不同。审计验证校准的相机在任意位置处(校准点除外)精确地预测对象的位置。这可能会确保质量校准,例如,潜在地确认优化器没有陷入局部最小值。校准数据2502可以被优化(操作2504)。然后可以使用优化的数据来生成相机参数(操作2506)。生成的相机参数可以与审计数据2508结合使用,以便输出审计重投影误差(操作2510)。
图26示出了使用审计模型确定对象空间误差和图像空间误差的示例方法的流程图。根据一些示例(例如,实施方式),审计可以用于将以距离为单位的对象空间误差和以像素为单位的图像空间误差进行比较。例如,审计图像空间点2602可以被馈送到相机模型2604中,以在对象空间中生成后投影点2606。可以将后投影点2606与审计对象空间点2608进行比较,以确定相机模型2604的对象空间误差2610。审计对象空间点2608也可以被馈送到相机模型2604中,以在图像空间中生成前投影点2612。可以将前投影点2612与审计图像空间点2602进行比较,以确定相机模型2604的图像空间误差2614。
图27A示出了通过使用审计模型确定的示例相机模型的对象空间重投影误差。图27B示出了通过使用与图27A相同的审计模型确定的与图27A相同的示例相机模型的图像空间重投影误差。在下面所示的一个示例中,图像空间重投影误差约为0.3像素,并且对象空间重投影误差约为0.5mm。
应当理解,本相机模型可以以任何方式使用,例如本领域已知的方式。例如,如本文所描述校准的相机可以用于在视觉伺服任务中精确定位机器人***的姿态。这允许这样的***以高精度与环境交互。存在许多其他应用。
应当理解,本文描述的本公开的每个方面的任何相应特征/示例可以以任何适当的组合一起实现,并且来自这些方面的任何一个或多个的任何特征/示例可以以任何适当的组合与本文描述的其他方面的任何特征一起实现,以实现本文描述的益处。
尽管上面描述了各种说明性示例,但是对于本领域技术人员来说,显而易见的是,在不脱离本发明的情况下,可以在其中进行各种改变和修改。所附权利要求旨在涵盖落入本发明真正精神和范围内的所有此类改变和修改。
Claims (47)
1.一种生成相机模型的方法,所述方法包括:
(a)使用机器人组件通过预定的一系列姿态来相对于相机组件移动校准组件,或者相对于所述校准组件移动所述相机组件,
其中,所述校准组件包括:
校准目标;以及
第一、第二和第三校准组件标记,所述第一、第二和第三校准组件标记在相应位置处耦合到所述校准目标,
其中,所述相机组件包括:
支架;
相机,所述相机在相应位置处耦合到所述支架并具有视场(FOV);以及
第一、第二和第三相机组件标记,所述第一、第二和第三相机组件标记在相应位置处耦合到所述支架,并且
其中,所述预定的一系列姿态一起使得所述校准目标穿过所述相机的所述FOV的至少一部分;
(b)在所述预定的一系列姿态的每个姿态处使用所述相机来生成所述校准目标的相应图像;
(c)在所述预定的一系列姿态的每个姿态处使用***来确定所述第一、第二和第三校准组件标记在空间中的相应位置以及所述第一、第二和第三相机组件标记在空间中的相应位置;
(d)对于每个相应图像,生成变换函数,所述变换函数将(i)存储的所述第一、第二和第三校准组件标记的坐标,(ii)存储的所述第一、第二和第三相机组件标记的坐标,(iii)对于该图像,所确定的所述第一、第二和第三校准组件标记在空间中的位置,(iv)对于该图像,所确定的所述第一、第二和第三相机组件标记在空间中的位置,以及(v)所述相应图像内的所述校准目标的特征映射到三维对象空间上;以及
(e)使用所述相应图像的所述变换函数来生成所述相机的外部参数和内部参数的模型。
2.根据权利要求1所述的方法,其中,所述校准组件进一步包括耦合到所述校准目标的第四校准组件标记。
3.根据权利要求2所述的方法,其中,操作(c)包括:
在所述预定的一系列姿态的每个姿态处使用***来确定所述第一、第二、第三和第四校准组件标记在空间中的相应位置。
4.根据权利要求1-3中任一项所述的方法,其中,所述相机组件进一步包括耦合到所述支架的第四相机组件标记。
5.根据权利要求4所述的方法,其中,操作(c)包括:
在所述预定的一系列姿态的每个姿态处使用***来确定所述第一、第二、第三和第四相机组件标记在空间中的相应位置。
6.根据权利要求1-5中任一项所述的方法,其中,所述校准组件标记分别包括球形安装的后向反射器(SMR)。
7.根据权利要求1-6中任一项所述的方法,其中,所述相机组件标记分别包括球形安装的后向反射器(SMR)。
8.根据权利要求1-7中任一项所述的方法,其中,所述支架包括销-菱形销支架。
9.根据权利要求1-8中任一项所述的方法,其中,所述***包括激光***。
10.根据权利要求1-9中任一项所述的方法,其中,所述方法进一步包括:
(f)确定所述第一、第二和第三相机组件标记在所述相机支架基准框架中的坐标。
11.根据权利要求10所述的方法,其中,所述操作(f)是使用坐标测量机器(CMM)来执行的。
12.根据权利要求1-11中任一项所述的方法,其中,所述校准目标包括直线棋盘图表。
13.根据权利要求1-12中任一项所述的方法,其中,所述校准目标包括自识别二进制代码。
14.根据权利要求13所述的方法,其中,所述自识别二进制代码包括CALTag或ARTag。
15.根据权利要求1-14中任一项所述的方法,其中,所述方法进一步包括:
(g)确定所述校准目标的特征相对于所述第一、第二和第三校准组件标记的位置。
16.根据权利要求15所述的方法,其中,操作(g)是使用光学测量机器(OMM)来执行的。
17.根据权利要求1-16中任一项所述的方法,其中,所述预定的一系列姿态一起使得所述校准目标生成超级图表。
18.根据权利要求17所述的方法,其中,所述超级图表包括半球形。
19.根据权利要求17或权利要求18所述的方法,其中,所述超级图表包括多个层。
20.根据权利要求1-19中任一项所述的方法,其中,所述方法进一步包括:
(h)对于每个相应图像,在操作(d)之前处理所述图像。
21.根据权利要求20所述的方法,其中,所述图像的所述处理包括对象检测、平滑、边缘增强和形态学操作中的至少一个。
22.根据权利要求1-21中任一项所述的方法,其中,所述方法进一步包括:
(i)用不同的预定的一系列姿态重复操作(a)至(d),以生成所述相机的外部参数和内部参数的审计数据集。
23.根据权利要求22所述的方法,其中,所述方法进一步包括:
(j)使用来自所述审计数据集的所确定的所述第一、第二和第三校准组件标记在空间中的位置;来自所述审计数据集的所确定的所述第一、第二和第三相机组件标记在空间中的位置;以及所述相机模型,来确定所述相机模型的图像空间误差和对象空间误差。
24.一种用于生成相机模型的***,所述***包括:
(a)校准组件,包括:
校准目标;以及
第一、第二和第三校准组件标记,所述第一、第二和第三校准组件标记在相应位置处耦合到所述校准目标;
(b)相机组件,包括:
支架;
相机,所述相机在相应位置处耦合到所述支架并具有视场(FOV);以及
第一、第二和第三相机组件标记,所述第一、第二和第三相机组件标记在相应位置处耦合到所述支架;
(c)机器人组件,所述机器人组件耦合到所述校准组件和所述相机组件中的至少一个;
(d)***;以及
(e)计算机***,所述计算机***耦合到所述相机、所述机器人组件和所述***,所述计算机***包括至少一个处理器和至少一个非易失性计算机可读介质,
所述至少一个非易失性计算机可读介质存储所述第一、第二和第三校准组件标记相对于彼此以及相对于所述校准目标的坐标;
所述至少一个非易失性计算机可读介质存储所述第一、第二和第三相机组件标记相对于彼此以及相对于所述相机的坐标;
所述至少一个非易失性计算机可读介质进一步存储用于使所述处理器执行操作的指令,所述操作包括:
指示所述机器人组件通过预定的一系列姿态来相对于所述相机组件移动所述校准组件,或者相对于所述校准组件移动所述相机组件,所述预定的一系列姿态一起使得所述校准目标穿过所述相机的所述FOV的至少一部分;
指示所述相机在所述预定的一系列姿态的每个姿态处生成所述校准目标的相应图像;
指示所述***在所述预定的一系列姿态的每个姿态处确定所述第一、第二和第三校准组件标记在空间中的相应位置以及所述第一、第二和第三相机组件标记在空间中的相应位置;
对于每个相应图像,生成变换函数,所述变换函数将(i)所存储的所述第一、第二和第三校准组件标记的坐标,(ii)所存储的所述第一、第二和第三相机组件标记的坐标,(iii)对于该图像,所确定的所述第一、第二和第三校准组件标记在空间中的相应位置,(iv)对于该图像,所确定的所述第一、第二和第三相机组件标记在空间中的相应位置,以及(v)所述相应图像内的所述校准目标的特征映射到三维对象空间上;以及
使用所述相应图像的所述变换函数来生成所述相机的外部参数和内部参数的模型。
25.根据权利要求24所述的***,其中,所述校准组件进一步包括耦合到所述校准目标的第四校准组件标记。
26.根据权利要求25所述的***,其中,所述至少一个非易失性计算机可读介质存储所述第四校准组件标记相对于所述第一、第二和第三校准组件标记以及相对于所述校准目标的坐标。
27.根据权利要求25或权利要求26所述的***,其中:
所述至少一个非易失性计算机可读介质存储所述第四校准组件标记的坐标;以及
所述指令进一步包括:
指示所述***在所述预定的一系列姿态的每个姿态处确定所述第四校准组件标记在空间中的相应位置,以及
对于每个相应图像,生成变换函数,所述变换函数将所存储的所述第四校准组件标记的坐标映射到三维对象空间上。
28.根据权利要求24-27中任一项所述的***,其中,所述相机组件进一步包括耦合到所述支架的第四相机组件标记。
29.根据权利要求28所述的***,其中,所述至少一个非易失性计算机可读介质存储所述第四相机组件标记相对于所述第一、第二和第三相机组件标记以及相对于所述相机的坐标。
30.根据权利要求28或权利要求29所述的***,其中:
所述至少一个非易失性计算机可读介质存储所述第四相机组件标记的坐标;并且
所述指令进一步包括:
指示所述***在所述预定的一系列姿态的每个姿态处确定所述第四相机组件标记在空间中的相应位置,
对于每个相应图像,生成变换函数,所述变换函数将所存储的所述第四相机组件标记的坐标映射到三维对象空间上,以及
对于每个相应图像,生成变换函数,所述变换函数将所确定的所述第四相机组件标记的坐标映射到三维对象空间上。
31.根据权利要求24-30中任一项所述的***,其中,所述校准组件标记分别包括球形安装的后向反射器(SMR)。
32.根据权利要求24-31中任一项所述的***,其中,所述相机组件标记分别包括球形安装的后向反射器(SMR)。
33.根据权利要求24-32中任一项所述的***,其中,所述支架包括销-菱形销支架。
34.根据权利要求24-33中任一项所述的***,其中,所述***包括激光***。
35.根据权利要求24-34中任一项所述的***,其中,使用坐标测量机器(CMM)确定所存储的所述第一、第二和第三相机组件标记相对于彼此以及相对于所述相机的坐标。
36.根据权利要求24-35中任一项所述的***,其中,所述校准目标包括直线棋盘图表。
37.根据权利要求24-36中任一项所述的***,其中,所述校准目标包括自识别二进制代码。
38.根据权利要求37所述的***,其中,所述自识别二进制代码包括CALTag或ARTag。
39.根据权利要求24-38中任一项所述的***,其中,所述至少一个非易失性计算机可读介质存储所述校准目标的特征相对于所述第一、第二和第三校准组件标记的坐标。
40.根据权利要求39所述的***,其中,使用光学测量机器(OMM)确定所存储的所述校准目标的特征相对于所述第一、第二和第三校准组件标记的坐标。
41.根据权利要求24-40中任一项所述的***,其中,所述预定的一系列姿态一起使得所述校准目标生成超级图表。
42.根据权利要求41所述的***,其中,所述超级图表包括半球形。
43.根据权利要求41或权利要求42所述的***,其中,所述超级图表包括多个层。
44.根据权利要求24-43中任一项所述的***,其中,所述指令进一步包括:
对于每个相应图像,在生成变换函数之前处理所述图像。
45.根据权利要求44所述的***,其中,所述图像的所述处理包括对象检测、平滑、边缘增强和形态学操作中的至少一个。
46.根据权利要求24-45中任一项所述的***,其中,所述指令进一步包括用不同的预定的一系列姿态重复所述指令中的所述操作,以生成审计数据集。
47.根据权利要求46所述的***,其中,所述指令进一步包括使用来自所述审计数据集的所确定的所述第一、第二和第三校准组件标记在空间中的位置;来自所述审计数据集的所确定的所述第一、第二和第三相机组件标记在空间中的位置;以及所述相机模型,来确定所述相机模型的图像空间误差和对象空间误差。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202163260690P | 2021-08-29 | 2021-08-29 | |
US63/260,690 | 2021-08-29 | ||
PCT/US2022/041751 WO2023034150A1 (en) | 2021-08-29 | 2022-08-26 | Methods and systems of generating camera models for camera calibration |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118119972A true CN118119972A (zh) | 2024-05-31 |
Family
ID=83447735
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202280059025.1A Pending CN118119972A (zh) | 2021-08-29 | 2022-08-26 | 生成用于相机校准的相机模型的方法和*** |
Country Status (6)
Country | Link |
---|---|
US (1) | US20230070281A1 (zh) |
KR (1) | KR20240056516A (zh) |
CN (1) | CN118119972A (zh) |
AU (1) | AU2022337968A1 (zh) |
CA (1) | CA3230374A1 (zh) |
WO (1) | WO2023034150A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116038719B (zh) * | 2023-04-03 | 2023-07-18 | 广东工业大学 | 一种机械臂末端位姿跟踪测量方法、装置及设备 |
-
2022
- 2022-08-26 US US17/897,012 patent/US20230070281A1/en active Pending
- 2022-08-26 CA CA3230374A patent/CA3230374A1/en active Pending
- 2022-08-26 KR KR1020247008298A patent/KR20240056516A/ko unknown
- 2022-08-26 CN CN202280059025.1A patent/CN118119972A/zh active Pending
- 2022-08-26 AU AU2022337968A patent/AU2022337968A1/en active Pending
- 2022-08-26 WO PCT/US2022/041751 patent/WO2023034150A1/en active Application Filing
Also Published As
Publication number | Publication date |
---|---|
AU2022337968A1 (en) | 2024-03-07 |
WO2023034150A1 (en) | 2023-03-09 |
US20230070281A1 (en) | 2023-03-09 |
CA3230374A1 (en) | 2023-03-09 |
KR20240056516A (ko) | 2024-04-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9965870B2 (en) | Camera calibration method using a calibration target | |
JP6465789B2 (ja) | デプスカメラの内部パラメータを算出するプログラム、装置及び方法 | |
Luhmann | Close range photogrammetry for industrial applications | |
JP5989113B2 (ja) | 1つまたは複数のチェッカーボードパターンの画像を用いた自動カメラキャリブレーションの方法および装置 | |
JP4245963B2 (ja) | 較正物体を用いて複数のカメラを較正するための方法およびシステム | |
JP5746477B2 (ja) | モデル生成装置、3次元計測装置、それらの制御方法及びプログラム | |
JP5051493B2 (ja) | 三次元計測用マーカとこれを用いた三次元計測方法 | |
JP6324025B2 (ja) | 情報処理装置、情報処理方法 | |
JP6282098B2 (ja) | キャリブレーション装置及び方法 | |
JPH10253322A (ja) | 空間内で物体を位置指定する方法および装置 | |
EA031929B1 (ru) | Устройство и способ трехмерного измерения поверхности | |
JP2008070267A (ja) | 位置姿勢計測方法及び装置 | |
Yan et al. | Joint camera intrinsic and lidar-camera extrinsic calibration | |
Hosseininaveh et al. | Towards fully automatic reliable 3D acquisition: From designing imaging network to a complete and accurate point cloud | |
Liu et al. | Robust camera calibration by optimal localization of spatial control points | |
JP5563930B2 (ja) | 非接触三次元計測装置及び非接触三次元計測方法 | |
US20230070281A1 (en) | Methods and systems of generating camera models for camera calibration | |
Yamauchi et al. | Calibration of a structured light system by observing planar object from unknown viewpoints | |
JP6486083B2 (ja) | 情報処理装置、情報処理方法及びプログラム | |
JP2006317418A (ja) | 画像計測装置、画像計測方法、計測処理プログラム及び記録媒体 | |
Lari et al. | Multi-camera system calibration with built-in relative orientation constraints (part 2) automation, implementation, and experimental results | |
Götz et al. | Accuracy evaluation for a precise indoor multi-camera pose estimation system | |
Uyanik et al. | A method for determining 3D surface points of objects by a single camera and rotary stage | |
Cortaberria Berriozabal | Progress in industrial photogrammetry by means of markerless solutions | |
Berriozabal | Progress in industrial photogrammetry by means of markerless solutions |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |