CN113744340A - 用轴向视点偏移的非中心相机模型校准相机并计算点投影 - Google Patents
用轴向视点偏移的非中心相机模型校准相机并计算点投影 Download PDFInfo
- Publication number
- CN113744340A CN113744340A CN202011383961.7A CN202011383961A CN113744340A CN 113744340 A CN113744340 A CN 113744340A CN 202011383961 A CN202011383961 A CN 202011383961A CN 113744340 A CN113744340 A CN 113744340A
- Authority
- CN
- China
- Prior art keywords
- camera
- point
- calibration
- function
- image
- 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 claims description 73
- 238000013519 translation Methods 0.000 claims description 28
- 238000005457 optimization Methods 0.000 claims description 15
- 238000006073 displacement reaction Methods 0.000 claims description 12
- 230000006870 function Effects 0.000 description 110
- 238000010586 diagram Methods 0.000 description 28
- 230000003287 optical effect Effects 0.000 description 17
- 230000003190 augmentative effect Effects 0.000 description 16
- 230000009466 transformation Effects 0.000 description 13
- 238000003384 imaging method Methods 0.000 description 7
- 238000012545 processing Methods 0.000 description 7
- 238000013461 design Methods 0.000 description 5
- 238000013507 mapping Methods 0.000 description 5
- 238000003860 storage Methods 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 4
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 239000011159 matrix material Substances 0.000 description 3
- 239000013598 vector Substances 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 239000000872 buffer Substances 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 230000004807 localization Effects 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 210000001747 pupil Anatomy 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 239000005304 optical glass Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 210000003813 thumb Anatomy 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G06T5/80—
-
- 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
-
- G06T3/06—
-
- G06T3/12—
-
- 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/30248—Vehicle exterior or interior
- G06T2207/30252—Vehicle exterior; Vicinity of vehicle
Abstract
本发明公开了使用轴向视点偏移的非中心相机模型校准相机并计算点投影。一种用于三维点的标识的示例系统包括用于接收图像中的二维点的坐标以及校准参数集的接收器。该系统还包括用于使用所述校准参数和非中心相机模型来标识场景中与2D点相对应的三维点的2D到3D点标识器,该非中心相机模型包括轴向视点移位函数,该轴向视点移位函数包括理想图像平面中的投影点的半径的函数。
Description
技术领域
本发明涉及图像领域,具体地涉及使用轴向视点偏移的非中心相机模型校准相机并计算点投影。
背景技术
与使用其他类型的镜头相比,广角镜头可用于捕获包括更多场景的图像。广角镜头是指对于给定的胶片平面其焦距小于普通镜头的焦距的镜头。例如,对于36mm x 24mm格式的全画幅35mm相机,对角线尺寸为43.3mm,并且根据习惯,大多数制造商采用的普通镜头为50mm。因此,在全画幅35mm相机上焦距为35mm或更小的镜头可被视为是广角的。鱼眼镜头是在全画幅35mm相机上焦距为15mm或更小的超广角镜头。鱼眼镜头的FOV可高达180度或更大。
发明内容
本发明的一方面提供了一种用于三维(3D)点的标识的系统,包括:接收器,用于接收图像中的二维(2D)点的坐标以及校准参数集;以及2D到3D点标识器,用于使用校准参数和非中心相机模型来标识场景中与所述2D点相对应的三维点,非中心相机模型包括轴向视点移位函数,轴向视点移位函数包括理想图像平面中的投影点的半径的函数。
本发明的另一方面提供了一种用于三维(3D)点的投影的系统,包括:接收器,用于接收要投影的3D点的空间坐标以及校准参数集;以及3D到2D投影仪,用于使用非中心相机模型来计算三维(3D)空间中的点到二维(2D)图像的投影,非中心相机模型包括轴向视点移位函数,轴向视点移位函数是理想图像平面中的所述投影点的半径的函数。
本发明的再一方面提供了一种用于校准相机的方法,包括:经由处理器接收使用相机捕获的多个图像;以及经由处理器计算相机的校准参数集,其中,相机使用非中心进行建模,非中心包括轴向视点移位函数,轴向视点移位函数包括理想图像平面中的投影点的半径的函数。
附图说明
图1是示出用于使用非中心相机模型来校准和计算相机的点投影的示例系统的框图;
图2是鱼眼图像;
图3是鱼眼图像的投影的图示;
图4是棋盘模板的图示;
图5A是示出示例鱼眼相机的图,其中示出五度光线的光线跟踪;
图5B是示出示例鱼眼相机的图,其中示出85度光线的光线跟踪;
图6是示出用于校准利用视点移位增强的非中心相机模型的参数的方法的处理流程图;
图7是示出使用利用视点移位增强的非中心相机模型来计算3D到2D点投影的方法的处理流程图;
图8是示出使用利用视点移位增强的非中心相机模型来计算2D到3D点标识的方法的处理流程图;
图9A是示出示例计算设备的框图,该示例计算设备可以使用利用轴向视点移位增强的非中心相机模型来校准和计算相机的点投影;
图9B是示出示例计算设备的框图,该示例计算设备可以使用利用轴向视点移位增强的非中心相机模型来计算3D到2D点投影和2D到3D点标识;
图10是示出计算机可读介质的框图,该计算机可读介质存储用于使用利用视点移位增强的非中心相机模型来校准和计算相机的点投影的代码;以及
图11是具有鱼眼相机的车辆的图示。
在整个公开和附图中使用相同的标号来引用相似的组件和特征。100系列中的数字是指最初在图1中发现的特征;200系列中的数字是指最初在图2中发现的特征等。
具体实施方式
计算机视觉和计算成像应用可以以高准确度将捕获的二维(2D)图像中的点映射到三维(3D)世界中的光线或点,反之亦然。为了能够做到这一点,可以首先对相机镜头系统进行校准。然而,由于制造公差和其他因素,接收到的系统设计参数可能无法以足够的精度描述实际的系统行为。因此,校准可以涉及使用特定相机捕获的图像或涉及实际相机的某种其他类型的测量,用于足够准确的表征。
为了校正各种类型的镜头失真,可以对镜头进行建模并且将得到的模型用于校准特定的镜头类型。然而,用于常规相机的校准的模型和算法通常可能不适用于广角相机,诸如鱼眼相机或全向相机。例如,这种模型可能无法处理接近或超过180°的视场。特别地,这种模型可以将场景表示为平面,或者使用覆盖整个FOV的平面无失真图像的概念,这在FOV接近或超过180度时是不可能的。例如,许多现有的鱼眼模型假设由配备有鱼眼镜头的相机执行的从3D到2D的投影是中心投影。中心投影假设存在形成图像的所有光线都穿过的单个视点。然而,实际上,具有极大视场的镜头的入射光瞳倾向于移动,并且轴向视点随光线的入射角而移位。实际上,使用光线追踪分析的许多广角镜头的设计表明,非中心特性可能非常强。通常,非中心模型假设存在多个视点,形成图像的光线穿过这些视点。例如,视点可以取决于如图5A和5B中所描述的光线的入射角。本文描述的非中心相机模型可以表征取决于入射角的视点之间距离。该距离被称为轴向视点移位。在具有接近或大于180度的视场的广角镜头中,这种轴向视点移位可能特别明显。例如,来自相对于光轴更接近90度的角度的光线可能导致在真实视点(具有特定入射角的主光线与光轴相交)与中心投影模型的假设视点之间的显著移位。在较近物体的图像中,这种视点移位也可能特别明显。忽略该视点移位可以使计算简单得多,但是对于相机附近的物体可能导致大的误差,这严重限制系统的性能。例如,在一些相机阵列中,对于比1.6米更近的物体,视差(深度)估计可能开始故障。在各种示例中,这种视点移位可能导致数十个像素量级的误差,这可能影响各种计算机视觉应用。例如,对一组鱼眼镜头的光线追踪分析表明,在0°和90°入射角之间的轴向视点移位超过1cm。特别地,在10.8mm和12.2mm处测量轴向视点移位。在以90°角度放置在距相机0.5米处的物体的情况下,忽略一厘米视点移位导致在假设的光线方向上出现多于1°的误差。对于大分辨率相机,这种视点移位可能转化为数十个像素量级的误差。例如,在使用非常高分辨率的传感器的360°相机阵列中,提供约每度35个像素的角分辨率,因此,类似的视点移位可能出现多于40个像素的误差。
此外,现有的非中心模型可能难以使用。特别地,使用现有的非中心模型获得校准可能需要了解详细的相机规范,这可能很难甚至无法获得。
本公开通常涉及相机。具体地,本文描述的技术包括用于校准利用轴向视点移位增强的非中心相机模型的模型参数的装置、方法和系统。特别地,轴向视点移位被计算为距鱼眼图像中的主点的径向距离的函数,而不是入射角的函数。示例系统包括接收器,用于接收来自相机的多个图像。该系统还包括2D到3D点标识器,用于使用校准参数和非中心相机模型来标识场景中与2D点对应的三维点,该非中心相机模型包括轴向视点移位函数,该轴向视点移位函数包括理想图像平面中的投影点的半径的函数。在一些示例中,该系统包括3D到2D投影仪,用于使用非中心相机模型来计算三维(3D)空间中的点到二维(2D)图像的投影,该非中心相机模型包括轴向视点移位函数,该轴向视点移位函数是理想图像平面中的所述投影点的半径的函数。
因此,本文描述的技术使得能够调试现有算法、软件或设备以包括视点移位并提高其用于近距离物体的准确性。例如,本文描述的技术可以用作现有的中心投影模型和相应的相机建模工具的扩展。这种扩展实现方式使得能够调试算法和实现它们的开源代码以执行非中心投影,从而创建可准确地表征鱼眼相机的工具。包括与固有入射角有关的视点移位的更准确的扩展工具可能比其他可比较的工具更易于使用。例如,可以使用本文描述的宽眼相机模型来生产易于使用的校准包,因为可以应用用于校准参数的自动初始化的类似算法,而无需使用用户可能很难或不可能获得的任何详细的相机和镜头设计规范。该技术还通过包括轴向视点移位而不增加任何处理复杂性,实现了点到鱼眼图像或其他广角图像的更准确的3D到2D投影。
图1是示出用于使用非中心相机模型来校准和计算相机的点投影的示例系统的框图。可以使用图6和图7的方法600和700在图8的计算设备800中实现示例系统100。
示例系统100包括多个相机102、计算设备104、显示器106和机器人/自主驾驶车辆导航(autonomous vehicle navigation)108。计算设备104包括接收器110、校准器112、计算机视觉引擎114和发送器116。校准器112包括非中心相机模型118和参数计算器120。显示器106包括显示应用122。
如图1所示,多个相机102可以捕获图像或视频。例如,相机102可以是相机阵列。在一些示例中,每个相机可以是鱼眼相机。如本文所使用的,鱼眼相机是包括鱼眼镜头的相机,该鱼眼镜头产生强烈的视觉失真,旨在创建宽的全景或半球形图像。在各种示例中,相机102可以是单个全向相机。如本文所使用的,全向相机是视场接近或大于180度的相机。在一些示例中,相机102可以是折反射(catadioptric)相机。例如,折反射相机可以包括涉及光的反射和折射的光学系统。每个相机102可以捕获诸如图2的图像200的图像。
在一些示例中,一个或多个相机102可以将校准图像馈送到校准器112。在各种示例中,校准器112可通信地耦合到计算机视觉引擎114或计算成像引擎(未示出),计算机视觉引擎114或计算成像引擎又连接至显示应用112、或机器人/自主驾驶车辆导航系统108、或一些其他终端用户应用(未示出)。在各种示例中,校准器112产生校准参数。例如,校准参数可以包括非中心相机模型系数和其他相机内部参数、描述相机相对于固定参考系的位置的外部参数,并且在多个相机102的情况下,还可以包括表征其相互位置的外部参数。在一些示例中,非中心相机模型系数被馈送到单独的系统,该单独的系统涉及已经被校准的相机、托管对捕获的图像进行处理的应用的计算设备、以及可能还有显示器106。然而,显示器106是可选的,因为鱼眼图像可以用于例如机器人/自主驾驶车辆导航108,在这种情况下,校准参数不用于产生要显示的一些改正的或组合的图像。相反,在一些示例中,校准参数可以用于确定机器人或车辆以及场景中的其他物体的位置。因此,校准参数可以用于确定包括计算设备104的机器人和车辆的位置。计算设备104还可以用于实时确定该场景内的物体的位置。
在各个示例中,如在动态校准的情况下,当要处理的图像也被用于校准时,校准器和使用该校准的应用可以驻留在同一计算设备104内,显示器106可以或可以不附接至计算设备104。类似地,如上所述,目标可能不是产生一些需要显示的图像,而是例如确定场景中物体的空间位置并将该空间位置用于导航。
计算设备104可以接收来自相机102的图像和本文描述的校准参数。接收器108可以接收多个图像并且将多个图像发送到校准器112。校准器112可以包括非中心相机模型118和参数计算器120。非中心相机模型118可以是包括如下所述的轴向视点移位的相机模型。在各种示例中,非中心相机模型包括径向失真多项式和视点移位多项式二者。总体相机模型可以包括非中心相机模型和图像传感器模型。例如,图像传感器模型可以是投影变换。此外,如下所述,非中心相机模型118可以被计算机视觉引擎114用来将点从3D空间投影到2D鱼眼图像以用于各种计算机视觉任务。在各种示例中,每当要将点从3D空间投影到2D鱼眼图像时,使用下面描述的径向失真函数f(ρ)和视点移位函数g(ρ)。径向失真多项式f(ρ)表征鱼眼镜头的径向失真,类似于传统鱼眼模型中使用的径向失真。在各种示例中,下面描述的径向失真函数f(ρ)和视点移位函数g(ρ)也可以用于标识3D场景中与2D鱼眼图像中给定点相对应的入射光线或某个点。在一些示例中,以下描述的径向失真函数f(ρ)和视点移位函数g(ρ)是用于描述非中心相机模型的多项式,是真实镜头属性的近似值。
参数计算器120可以计算要应用于鱼眼相机的模型的任何参数。内部参数可以包括相机本身的参数,诸如与传感器几何形状和对准有关的参数、镜头失真参数以及视点移位参数。在一些示例中,六参数投影变换可以用于对倾斜的传感器上的投影进行准确地建模。在各种示例中,棋盘可用于执行内部校准。参数计算器120还可以针对每个校准图像计算外部参数,诸如校准图相对于鱼眼相机的旋转和平移。在各种示例中,校准参数的自动初始估计可以基于从捕获图像坐标到理想图像平面的映射,该映射仅包括将坐标系的原点移位到图像的中心。然后可以估计其余的内部参数。例如,其余的内部参数可以包括分别表征镜头的径向失真和视点移位的多项式f和g的系数。在各种示例中,还可以估计相机与每个校准图位置之间的旋转和平移以估计这些其余的内部参数。在一些示例中,还可以通过以下方式来提高此初始估计的准确性:将内部参数和外部参数分组,并以交替的方式迭代地估计参数值,为其中一个组中的参数计算较优值,同时保持所有其余的参数固定,如下所述。
因此,参数计算器120可以用于校准非中心相机模型118。在各个示例中,估计的参数可以用作迭代非线性优化的起点,从而最小化一些适当的成本函数。例如,成本函数可以是均方重投影误差,或者经修改以减少异常值影响的重投影误差。
在各个示例中,计算机视觉引擎114可以基于来自校准器112的校准参数来执行一个或多个计算机视觉任务。例如,计算机视觉引擎114可以接收来自相机102的图像和来自校准器112的校准参数,并将这种输入与利用相机模型的一些算法一起使用以执行各种计算机视觉任务。例如,计算机视觉任务可以包括合成其他图像(诸如投影)、创建可用于导航的场景的3D地图、对场景中的物体进行检测和分类等。
发送器116可以发送来自校准器112的校准参数和来自计算机视觉引擎114的图像。例如,发送器116可以将一些输出图像发送到显示器106。在一些示例中,发送器116可以通过发送用于机器人/自主驾驶车辆导航系统108的校准参数和图像,来帮助控制诸如机器人、无人机或汽车之类的设备。在各种示例中,发送器116可以发送其他形式的信息,诸如物体类型标签、边界框的大小和位置以及其他形式的信息,以供显示应用122、机器人/自主驾驶车辆导航108或一些其他设备或应用使用。
在一些示例中,机器人或自主驾驶车辆导航系统108包括计算设备104。在这种示例中,非中心相机模型118和参数计算器120的输出可用于导出场景中物体的位置。非中心相机模型118和参数计算器120的输出还可用于导出环境中机器人或自主驾驶车辆系统的位置。
作为系统100的一个示例,来自形成相机阵列的多个相机102的输出图像可以被组合以创建场景的3D表示或没有失真的图像。在这种示例中,图像可以看起来像是利用普通相机从不同位置拍摄的图像。作为另一示例,系统100可以包括至少一个移动相机102,并且可以产生场景的3D地图。例如,可以使用任何适当的同时定位和映射(SLAM)技术来产生3D地图。
图1的图并非旨在指示示例系统100包括图1所示的所有组件。相反,示例系统100可以使用更少或附加的未在图1中示出的组件(例如,附加相机、计算设备、校准器、计算机视觉引擎、显示器、机器人、自主驾驶车辆等)来实现。例如,计算机视觉引擎114可以位于不同于计算设备104的另一设备上。在一些示例中,系统100可以包括多个计算机视觉引擎114。在一些示例中,校准器112可以是机器人/自主驾驶车辆导航系统108的一部分。
图2是鱼眼图像。鱼眼图像200可以使用诸如图1的相机102之类的鱼眼相机生成。如图2所示,鱼眼图像200示出了相当大的镜头失真。特别地,鱼眼图像200具有凸的非直线外观。
图3是鱼眼图像的投影的图示。投影300是图2的鱼眼图像200的投影。在各个示例中,图像300是由图1的显示应用122使用由相机102捕获的图像计算的。如图3所示,去除了图2的图像中存在的失真。特别地,图3的投影300是具有透视直线的直线图像。
图4是棋盘模板的图示。棋盘模板400包括交替的黑框和白框的棋盘图案。在一些示例中,棋盘图案可以具有交替的黑框和白框的倒置图案。在各个示例中,棋盘模板400可以用于如本文所述的模型参数的校准。另外,尽管已经示出了棋盘校准图,但是一些实施例可以不使用棋盘校准图的图像。例如,其他实现方式可以使用不同图或特殊校准设备的图像,或者它们可以使用不包括任何校准图或特殊设备的一般图像。例如,特殊设备可以包括具有发光二极管(LED)的校准棒(wand)。因此,离线校准可以经由通用校准图或诸如校准设备之类的另一设备执行。另外,本文描述的非中心相机模型可以用于例如动态校准实现方式。动态校准实现方式可以直接使用要由某个应用处理的鱼眼图像。因此,本技术包括离线校准(例如,利用棋盘)和动态校准情况。
图5A是示出示例鱼眼相机500的框图,其中示出了五度光线的光线追踪。示例鱼眼相机500可以在图8的计算设备800中实现。例如,鱼眼相机500可以是相机827之一。鱼眼相机500可以使用图7的方法700进行建模和校准。
示例鱼眼相机500可以是相机阵列(未示出)的一部分。鱼眼相机500包括鱼眼镜头502,该鱼眼镜头502包括多个镜头元件。例如,镜头元件可以包括被打磨成球形或非球形的各种光学玻璃片。鱼眼镜头502具有由实线表示的光轴504。图5A包括通过鱼眼镜头502的光线的光线追踪,其中角度θ506A表示入射光线相对于光轴504的角度。在图5A的示例中,角度θ506A的值是五度。鱼眼相机500还包括传感器508。图5A的传感器508是15.8×23.6毫米(mm)传感器。在各个示例中,传感器可以是24×36mm传感器,或任何其他合适的传感器。鱼眼镜头502包括为鱼眼镜头502提供孔径光阑的可调节膜片(diaphragm)510。在图5A的示例中,孔径光阑设置为f/8的f数。图5A还示出了入射光瞳512的移位线。视点移位(viewpointshift)514A与径向距离516A相关联。例如,视点移位514A指示零入射角的视点518与入射角506A的视点520A之间的距离。视点518和520A是投影中心。
如图5A的示例所示,较小的入射角506A与较小的径向距离516A和如从零入射角的视点518测量的较小的视点移位514A相关联。对于图5的示例镜头502,五度的入射角506A与0.92mm的径向距离R 516A相关联。径向距离R 516A可以是光轴504与传感器508相交的图像的中心与垂直于光轴的理想图像平面中的像点之间的距离。在各个示例中,如下面的方程6中的视点移位多项式g(ρ)所述,视点移位514A被表示为径向距离516A的函数。
图5A的图并不旨在指示示例鱼眼镜头500包括图5A所示的所有组件。相反,示例鱼眼镜头500可以使用更少的或附加的未在图5A中示出的组件(例如,附加的镜头元件、传感器、角度θ的值等)。另外,在一些示例中,当入射角增加时,视点移位可以从左向右而不是从右向左移动。例如,这可以包括超广角直线镜头。
图5B是示出示例鱼眼镜头500的框图,其中示出了85度光线的光线追踪。示例鱼眼镜头500可以在图8的计算设备800中实现。例如,鱼眼镜头500可以被包括在相机826中。鱼眼镜头500可以使用图7的方法700进行建模和校准。
示例鱼眼镜头500包括关于图5A描述的类似编号的元件。然而,图5B中的鱼眼镜头500的示例图示出了光线相对于光轴504的θ角为85度的光线追踪。
在图5B的示例中,角度θ506B为85度的入射光线导致零入射角的视点518与入射角506B的视点520B之间的较大轴向视点移位514B。较大的距离514B与距传感器508的中心为13.64mm的较大径向距离516B相关联。在各个示例中,视点移位多项式g(ρ)可以将视点移位514B表示为径向距离516B的函数。
图5B的图并不旨在指示示例鱼眼镜头500包括图5B所示的所有组件。相反,示例鱼眼镜头500可以使用更少的或附加的未在图5B中示出的组件(例如,附加的镜头元件、传感器、角度θ的值等)。
在一些鱼眼校准工具中,可以使用九个内部参数来表征配备有鱼眼镜头的相机。五个参数指定从理想图像平面到传感器(或捕获图像)像素坐标系的仿射变换。其余四个参数确定表征镜头的径向失真的多项式。例如,径向失真多项式可以由以下方程表示:
f(ρ)=f0+f2ρ2+f3ρ3+f4ρ4 方程1
对于与捕获图像中某点相对应的理想图像平面中的任何给定点(x,y),方程1指定3D中由鱼眼镜头投影到(x,y)的相应光线,从而在3D空间中提供位于该光线上的点。该点在3D中的坐标为(x,y,f(ρ)),其中这里使用的坐标系是相机坐标系,其中x和y方向分别是图像平面中的水平和垂直方向,z是相机光轴的方向,并且坐标系的原点位于镜头的光学中心。
在各个示例中,可以使用不同的模型代替基于方程1的模型。例如,代替其中一个参数是冗余的五参数仿射变换,可以使用非冗余六参数投影变换作为从理想图像平面到传感器像素阵列的映射。使用非冗余六参数投影变换的模型为相对于镜头光轴略微倾斜的传感器提供了物理上更精确的模型。除了用非冗余投影变换参数化代替冗余仿射变换参数化之外,还可以使用其他径向失真多项式。例如,使用的经更新的径向失真多项式f(ρ)可由以下方程表示:
f(ρ)=f0+f1ρ2+f2ρ4+f3ρ6 方程2
更一般地,经更新的多项式f(ρ)可以使用以下方程表示:
如图2所示,在各个示例中,方程1中的线性项的省略可以扩展到所有奇数项。考虑到具有平面x=0的镜头的横截面,由于镜头的径向对称性,f(y)可以是偶函数,并且f(y)可以在任何地方都是平滑的,包括在y=0处。为了将方程1-3扩展为非中心鱼眼投影,可以引入在本文中称为视点移位多项式的第二多项式,其表征沿着镜头的光轴的视点移位量。在原始的中心模型中,可以假设3D空间中被投影到理想图像平面中的点(x,y)的所有点形成由所有点形成的半直线(half-line):
d(x,y,f(ρ)),d>0 方程4
所有光线都穿过原点。然而,在经更新的模型中,这些点可以形成由所有点形成的半直线:
(0,0,g(ρ))+d(x,y,f(ρ)),d>0 方程5
其中,投影到半径为的点(x,y)的光线穿过光轴上的点(0,0,g(ρ))。为了消除冗余参数,g(0)=0。另外,出于类似的原因,在镜头失真多项式的情况下,视点移位多项式g(ρ)也可以是偶函数。因此,可以使用以下方程描述视点移位多项式:
其中,轴向视点沿光轴的移位被表示为理想图像平面中的投影点的半径的函数。理想图像平面中的投影点的半径又取决于入射角,如上面图5A和5B所示。该视点移位多项式实现了用于校准模型以及将鱼眼相机的得到的特征用于常见的计算机视觉和计算成像任务的技术。特别地,视点移位多项式允许用于计算3D空间中的点到2D图像中的点的投影以及计算校准参数的初始估计的步骤的方法,而无需了解相机的详细设计规格,类似于用于类似中心模型的设计规格,如在图6和图7的方法600和700中所描述的。
轴向视点移位多项式允许以更高的准确性和相同的复杂性计算3D空间中的点到2D图像中的点的投影。在其他非中心模型的情况下,当使用非中心模型时,计算图像平面中3D点的投影位置可能比在中心投影的情况下更加复杂。例如,视点的位置可以是未知的。视点的位置取决于入射角,但同时,入射角取决于轴向视点移位的量。因此,得到视点的位置和入射角可能是困难的,并且可能涉及迭代算法来得到解。
作为一个示例,使用中心模型,可以容易地标识3D中与任何给定图像点相对应的光线,因为镜头失真的特征在于投影点半径的函数。得到3D点到2D图像的投影更加困难,并且可能涉及求解非线性方程。例如,理想图像平面中给定点(X,Y,Z)的投影可以是点(x,y),使得以下方程成立:
(X,Y,Z)=d(x,y,f(ρ)) 方程7
因此,可以使用以下方程得到半径ρ:
通过求解该非线性方程得到ρ之后,x和y可以被计算为:
在具有视点移位多项式的非中心模型的情况下,也可以容易地标识捕获的2D图像中的任何给定点的3D中的对应光线,但是计算3D点到2D图像的投影可能更具挑战性。然而,与与其他非中心照相机模型的情况不同,其他非中心相机模型可能涉及确定视点或等效地确定入射角的附加非平凡步骤,计算本文描述的非中心模型的从3D到2D的投影的复杂性可类似于中心模型的复杂性。
在各个示例中,方程7描述的中心模型可以适于包括视点移位。例如,代替方程7,本文描述的非中心相机模型可以基于以下方程:
(X,Y,Z)=(0,0,g(ρ))+d(x,y,f(ρ)) 方程11
在这种情况下,对组件进行比较可得出以下方程:
在各个示例中,代替求解方程9,通过求解类似方程来确定ρ:
在得到ρ之后,可以使用上述方程10来计算x和y。因此,可以使用本文描述的非中心相机模型容易地计算场景点到鱼眼镜头图像中的点的投影。
在各个示例中,非中心相机模型也可以用于估计校准参数的初始猜测。为了校准模型参数,一些校准工具使用棋盘校准图的一系列捕获的图像。例如,校准图可以是图4的图。然后,提取校准图中的正方形的角点,并将其用于估计每个校准图像的相机内部参数以及该图相对于相机的旋转和平移。
为了获得尽可能准确的校准,可以经由非线性优化方法将组合的重投影误差或一些其他类似的成本函数最小化,该非线性优化方法取决于相机的内部参数和外部参数。为了使算法成功收敛到最优解,校准参数的初始猜测可以在最优解的阈值附近。
一些校准工具可以自动估计初始参数值,并且不需要用户以适合校准包的格式提供相机的详细设计规范。在各个示例中,在这些工具中提出的用于估计内部和外部参数的初始值的算法可以适用于本文描述的非中心相机模型。初始参数值的这种自动估计使得本文描述的非中心相机模型易于为广泛的用户使用。在各个示例中,初始估计可以假设从捕获的图像坐标到理想图像平面的映射是微不足道的,并且仅涉及将坐标系的原点移位到图像的中心。假设(xj,n,yj,n),n=1,…,N是在将原点调整到图像中心之后在第j个校准图像中检测到的所有图角点,则点(xj,n,yj,n)可以是校准图上的点(Xn,Yn)的图像。
在各个示例中,还可以估计其余内部参数。例如,其余内部参数可以是分别表征镜头的径向失真和视点移位的多项式f和g的系数。在一些示例中,还可以估计相机与每个校准图位置之间的旋转和平移。例如,可以生成一组3x3旋转矩阵Rj和3x1平移向量tj,j=1,…,J,使得:
其中在方程14的左侧,将校准图点转换为相机坐标系。在方程14的右侧,同一点被表示为光线上与检测到的角点(xj,n,yj,n)对应的某个点,如内部模型所预测的。在各个示例中,为了求解未知数,可以使用交叉乘积来消除沿光线的每个点dj,n的未知距离。例如,结果可能是:
在各个示例中,给定:
则方程15可以写为以下方程:
三个方程的最后一个方程16C不涉及未知值f(ρj,n)和g(ρj,n)。收集所有n=1,…,N(即,对于单个校准图像中的所有检测到的角)的这些方程,形成线性系统,该线性系统可以求解和然而,该线性系统是超定的和齐次的,因此只能在最小二乘意义下获得解,并且达到未知的比例因子。
为了确定旋转Rj的所有系数,可以确定2x1向量b、c以及常量s和d,使得矩阵:
是旋转。换言之,矩阵是正交的并且其行列式为1。在各个示例中,该完成问题有四个可能的解。可以通过计算矩阵A的奇异值分解来得到这些解:
比例因子s为:
其中σ1是A的两个奇异值中的较大者,并且:
然而,四个可能的完成中只有一个提供了右旋转矩阵Rj。为了得到s的正确符号,可以将dj,n>0用于所有j和n以及所用方程14的前两行以确定正确的符号。为了得到c的正确符号,可以将方程14的最后一行以及使用如上面建议的前两行得到的dj,n、或者方程16A和16B用于所有n,以计算针对最后丢失的平移系数以及多项式f和g的系数的临时估计。在c的符号正确的情况下,f是递减函数,并且f(0)>0。
在各个示例中,由于实际系统无法完全拟合假设的模型和检测到的校准图中的噪声,因此,针对每个校准图像j,f和g的估计可能趋于不同,并且其系数和的估计值可能不是很准确。在一些示例中,可以通过仅保留产生的旋转Rj(在每种情况下使用具有正确符号的c)并通过针对所有j和n收集方程14或方程16A和16B的最后一行形成一个大的线性系统来获得更准确的值。对这个单个系统进行求解可以产生多项式f和g以及的系数的更准确的估计。
实际上,以这种方式获得的参数本身可能无法提供可直接在应用中使用的鱼眼相机的足够准确的特征。例如,这可能是由于多种原因造成的,包括传感器-镜头对准,其中失真中心(主点)通常并不精确地位于捕获图像的中心,并且通常还是检测到的校准图角点中的异常值。然而,该估计可以足够可靠以用作迭代非线性优化的起点,从而最小化一些适当的成本函数,诸如均方重投影误差、或经修改以减少异常值影响的重投影误差。
可替代地,在一些示例中,还可以通过将内部和外部参数分组并且以交替的方式迭代地估计参数值,来提高初始估计的准确性。例如,可以计算其中一个组中的参数的较优值,同时保持所有其余参数固定。在各个示例中,可以以使得每个步骤都易于执行的方式选择组。例如,可以执行交替计算以下值的迭代过程:主点的坐标(失真中心)、除以外的外部参数(旋转和平移系数)、以及多项式f和g的系数和平移系数 在各个示例中,可以使用与上述相同的算法来执行最后两个值的计算。例如,主点的坐标被初始化为图像的中心,并且每次在计算外部参数、系数和平移系数之后,针对所有n=1,…,N和j=1,…,J,可以通过计算的平均值来得到针对每个校准图像的主点的校正,其中是使用坐标系旋转和平移Rj、tj的当前估计以及径向失真和轴向视点移位多项式f和g投影到理想图像平面的校准图点(Xn,Yn)的坐标。然后,可以使用该校正来获得理想图像平面中的点(xj,n,yj,n)的新的、更准确的值,这些点与在捕获图像中检测到的测试图角点相对应。在各个示例中,然后可以重复整个过程。
图6是示出用于校准利用视点移位增强的非中心相机模型的参数的方法的流程图。示例方法600可以在图1的系统100、图9A的计算设备900A或图11的计算机可读介质1100中实现。
在框602中,使用相机捕获多个图像。例如,图像可以是校准图,诸如棋盘校准图。在一些示例中,鱼眼镜头的视场可能太大,并且无法像具有较小FOV的相机那样在单个位置用平面图覆盖。因此,可以在多个不同位置对校准图进行成像,以覆盖相机的整个FOV。另外,更多校准图像的捕获可以导致更多校准点的可用性。进而,具有更多的校准点可以导致更准确的校准。
在框604中,计算相机的校准参数集,其中使用非中心相机模型对相机建模,该非中心相机模型包括径向失真函数和视点移位函数,该视点移位函数包括理想图像平面中的投影点的半径的函数。在一些示例中,在校准图的图像中检测到特征点。例如,特征点可以是使用任何合适的角检测技术检测到的角点。可以输出检测到的特征点的坐标。在各个示例中,使用非中心相机模型,用原点系到多个图像中心的移位来估计初始的内部和外部参数集。例如,还可以使用特征点的坐标来估计相机与每个校准图位置之间的旋转和平移。在一些示例中,可以将内部参数和外部参数分成多个组,并且对迭代地估计参数值。例如,可以通过迭代地计算失真中心的坐标,包括旋转和平移系数的子集的外部参数、以及径向失真多项式和视点移位多项式的系数以及任何其余平移系数,来初始估计参数值。在各个示例中,基于估计的在相机与多个图像中的每个图像之间的旋转和平移来估计径向失真和视点移位。例如,可以估计相机与多个图像中的每个图像中的校准图位置之间的旋转和平移。在各个示例中,可以使用上面的方程14、15和16A-16C来估计径向失真和视点移位。在一些示例中,可以执行迭代交替细化(refinement)。例如,可以将内部和外参数分组。参数值以交替的方式按组迭代。例如,可以计算其中一个组中的参数的较优值,同时保持所有其余参数固定。在各个示例中,迭代交替细化可以在以下计算之间交替:主点的坐标(失真中心)、除一些以外的外部参数(旋转和平移系数)、以及多项式f和g的系数以及其余平移系数。在各个示例中,执行迭代优化,该迭代优化使用非中心相机模型的估计的径向失真和视点移位作为起点来最小化成本函数,以生成相机的校准参数集。在各个示例中,迭代优化可以是非线性优化。例如,成本函数可以是均方重投影误差,也可以是经修改以减少异常值影响的重投影误差。
该处理流程图并非旨在指示在每种情况下都将包括示例方法600的所有框。例如,可以跳过框606。此外,取决于具体实现方式的细节,示例方法600内可以包括未示出的任何数量的附加框。例如,方法600可以包括基于所生成的校准参数集来执行计算机视觉任务。
图7是示出使用利用视点移位增强的非中心相机模型来计算3D到2D点投影的方法的流程图。示例方法700可以在图1的系统100、图9B的计算设备900B或图11的计算机可读介质1100中实现。
在框702中,接收要投影的3D点的空间坐标和校准参数集。例如,空间坐标可以对应于相机周围的场景中的特定点。在各个示例中,可以从使用非中心相机模型执行的校准中接收校准参数。例如,可能已经使用图6的方法600生成了校准参数。
在框704中,使用非中心相机模型来计算三维(3D)空间中的点到二维(2D)空间的投影,该非中心相机模型包括轴向视点移位函数,该函数是理想图像平面中投影点的半径的函数。
在框706中,输出与3D点的空间坐标相对应的图像点的2D坐标。例如,输出坐标可用于标识匹配的图像位置,使得计算机视觉/计算成像引擎可以将从捕获的图像中提取的信息与一些其他信息(由不同相机获得的图像、现有得3D地图等)进行组合。
该处理流程图并非旨在指示示例方法700的框将以任何特定顺序执行,或者在每种情况下都将包括所有框。此外,取决于具体实现方式的细节,示例方法700内可以包括未示出的任何数量的附加框。
图8是示出使用利用视点移位增强的非中心相机模型的2D到3D点标识的方法的流程图。示例方法800可以在图1的系统100、图9B的计算设备900B或图11的计算机可读介质1100中实现。
在框802中,接收图像中的2D点的坐标和校准参数集。例如,坐标可以对应于在包括相机的设备的周围的场景的图像中的特定点。在各个示例中,可以从使用非中心相机模型执行的校准中接收校准参数。例如,可能已经使用图6的方法600生成了校准参数。
在框804中,使用校准参数和非中心相机模型来标识场景中与2D点相对应的三维点,该非中心相机模型包括轴向视点移位函数,该轴向视点移位函数是理想图像平面中投影点的半径的函数。
在框806中,输出3D中一个或多个点的特征。例如,这一个或多个点的特征可以使用(x,y,z)点坐标。在一些示例中,这一个或多个点的特征可以使用给定光线方向的深度信息。在各个示例中,这一个或多个点的特征可以使用光线的描述。例如,光线可以是包括都投影到同一2D图像点的点的线或线段。
该处理流程图并不旨在指示示例方法800的框将以任何特定顺序执行,或者在每种情况下都将包括所有框。此外,取决于具体实现方式的细节,在示例方法800中可以包括未示出的任何数量的附加框。例如,除了用于汽车、无人机或机器人的自主驾驶车辆导航中的各种应用之外,方法800的其他示例可以包括控制操纵物体的机器人。例如,机器人可以在生产线中。在各个示例中,方法800可以包括对场景的不同视图进行合成。例如,合成的视图可以用于娱乐、医学或安全相机中。在一些示例中,方法800可以包括从捕获的2D图像中产生场景的3D表示以用于虚拟或增强现实应用。例如,增强现实应用或虚拟现实应用可以包括尝试您想要购买的家具在客厅中看起来如何。在一些示例中,方法800可以包括使用2D图像来对3D场景中的物体进行测量。例如,这种测量可以用在计量应用中。在各个示例中,方法800可以包括提供对包括场景中物体的位置的3D场景的理解。例如,除了自主驾驶车辆导航外,该定位还可以用于安全应用、检查或医疗应用中。
现在参考图9A,示出了例示示例计算设备的框图,该示例计算设备可以使用利用轴向视点移位增强的非中心相机模型来校准相机。计算设备900A可以是例如膝上型计算机、台式计算机、平板计算机、移动设备或可穿戴设备等。在一些示例中,计算设备900A可以是3D计算机视觉系统。在各个示例中,计算设备900A可以是用于校准自主驾驶车辆或机器人的相机的校准系统。在一些示例中,计算设备900A可以是360度图像捕获系统。计算设备900A可以包括被配置为执行存储的指令的中央处理单元(CPU)902、以及存储可由CPU 902执行的指令的存储器设备904。CPU 902可以通过总线906耦合至存储器设备904。另外,CPU902可以是单核处理器、多核处理器、计算集群、或任何数量的其他配置。此外,计算设备900A可以包括多于一个CPU 902。在一些示例中,CPU 902可以是具有多核处理器架构的片上系统(SoC)。在一些示例中,CPU 902可以是用于图像处理的专用数字信号处理器(DSP)。存储器设备904可以包括随机存取存储器(RAM)、只读存储器(ROM)、闪存或任何其他合适的存储器系统。例如,存储器设备904可以包括动态随机存取存储器(DRAM)。
存储器设备904可以包括随机存取存储器(RAM)、只读存储器(ROM)、闪存或任何其他合适的存储器系统。例如,存储器设备904可以包括动态随机存取存储器(DRAM)。
计算设备900A还可以包括图形处理单元(GPU)908。如图所示,CPU 902可以通过总线906耦合到GPU 908。GPU 908可以被配置为在计算设备900A内执行任何数量的图形操作。例如,GPU 908可以被配置为渲染或操纵要被显示给计算设备900A的用户的图形图像、图形帧、视频等。
存储器设备904可以包括随机存取存储器(RAM)、只读存储器(ROM)、闪存或任何其他合适的存储器系统。例如,存储器设备904可以包括动态随机存取存储器(DRAM)。存储器设备904可以包括设备驱动器910,该设备驱动器910被配置为执行指令用于训练多个卷积神经网络以执行序列独立处理。设备驱动器910可以是软件、应用程序、应用代码等。
CPU 902还可以通过总线906连接到输入/输出(I/O)设备接口912,该输入/输出(I/O)设备接口912被配置为将计算设备900A连接到一个或多个I/O设备914。I/O设备914可以包括例如键盘和指向设备,其中指向设备可以包括触摸板或触摸屏等。I/O设备914可以是计算设备900A的内置组件,或者可以是从外部连接到计算设备900A的设备。在一些示例中,存储器904可以通过直接存储器存取(DMA)通信地耦合到I/O设备914。
CPU 902还可以通过总线906链接到显示接口916,该显示接口916被配置为将计算设备900A连接到显示设备918。显示设备918可以包括作为计算设备900A的内置组件的显示屏。显示设备918还可以包括内部或外部连接到计算设备900A的计算机监视器、电视机或投影仪。
计算设备900A还包括存储设备920。存储设备920是物理存储器,诸如硬盘驱动器、光学驱动器、拇指驱动器、驱动器阵列、固态驱动器或其任何组合。存储设备920还可以包括远程存储驱动器。
计算设备900A还可包括网络接口控制器(NIC)922。NIC 922可以被配置为通过总线906将计算设备900A连接到网络924。网络924可以是广域网(WAN)、局域网(LAN)或因特网等。在一些示例中,该设备可以通过无线技术与其他设备通信。例如,该设备可以经由无线局域网连接与其他设备通信。在一些示例中,该设备可以经由蓝牙或类似技术与其他设备连接和通信。
计算设备600还包括相机接口926。例如,相机接口626可以连接到多个相机927。在一些示例中,相机927可以包括广角镜头、超广角镜头、鱼眼镜头、或其任何组合。在各个示例中,相机927可以是全向相机。在一些示例中,相机927可以包括折反射光学器件。在一些示例中,相机927可以包括用于生成视频帧或三维图像的处理器。在各个示例中,可以使用本文描述的技术来校准相机927中的每个相机。
计算设备900A还包括相机校准器928。例如,鱼眼相机建模器和校准器928可以用于对鱼眼相机进行建模和校准。相机校准器928可以包括图像接收器930、非中心相机模型932和参数校准器934以及发送器936。在一些示例中,相机校准器928的组件930-936中的每个组件可以是微控制器、嵌入式处理器或软件模块。
图像接收器930可以接收来自一个或多个相机927的多个图像。例如,相机927可以包括鱼眼镜头。在一些示例中,接收器930可以估计每个相机的内部和外部参数。在各个示例中,接收器930还可以估计表示相机的相互位置的附加外部参数。例如,接收器930可以估计相机之间或相对于任何合适的参考坐标系的旋转和平移。
非中心相机模型932可用于使用利用轴向视点移位增强的非中心相机模型来对相机进行建模。例如,非中心相机模型可以包括径向失真函数和轴向视点移位函数。在一些示例中,轴向视点移位函数表征沿着鱼眼镜头的光轴的视点移位量。在各个示例中,轴向视点移位函数包括理想图像平面中的投影点的半径的函数。在一些示例中,非中心相机模型包括非冗余六参数投影变换,其对从理想图像平面到传感器的投影进行建模。在各个示例中,径向失真函数和轴向视点移位函数可以各自是偶函数。在一些示例中,径向失真函数和轴向视点移位函数可以各自是多项式。
参数校准器934可以经由成本函数的迭代优化来计算相机的校准参数集。例如,该优化可以是非线性优化。在一些示例中,参数校准器934可以通过将坐标系的原点移动到图像的中心来自动估计校准参数的初始值。在各个示例中,参数校准器934可以基于在相机与该多个图像中的每个图像中的校准图位置之间的估计的旋转和平移,来估计径向失真函数的系数和轴向视点移位参数。
发送器936可以将生成的校准参数发送到另一计算设备,诸如机器人或自主驾驶车辆。例如,可以将校准参数发送到图9B的计算设备900B。在各个示例中,所生成的校准参数可以用于确定机器人或自主驾驶车辆的位置。
图9A的框图并不旨在指示计算设备900A包括图9A所示的所有组件。相反,计算设备900A可包括更少的或附加的未在图9A中示出的组件(例如,附加的缓冲器、附加的处理器等)。取决于具体实现方式的细节,计算设备900A可以包括图9A中未示出的任何数量的附加组件。此外,图像接收器930、非中心相机模型932、参数校准器934和发送器936的任何功能可以部分地或全部地在硬件和/或处理器902中实现。例如,该功能可以利用专用集成电路,以在处理器902中实现的逻辑,或以任何其他设备来实现。另外,CPU 902的任何功能可以部分地或全部地在硬件和/或处理器中实现。例如,图像接收器930、非中心相机模型932和参数校准器934以及发送器936的功能性可以利用专用集成电路,以在处理器中实现的逻辑,以在诸如GPU 908之类的专用图形处理单元中实现的逻辑,或者以任何其他设备来实现。
图9B是示出示例计算设备的框图,该示例计算设备可以使用利用轴向视点偏移增强的非中心相机模型来计算3D到2D点投影和2D到3D点标识。计算设备900B包括图9A的计算设备900A的类似编号的元件。在各个示例中,计算设备900B可以是自主驾驶车辆,诸如汽车、无人机或机器人。在一些示例中,计算设备900B可以是操纵诸如生产线中使用的物体之类的物体的控制机器人。在各个示例中,计算设备900B可以是相机系统,诸如用于娱乐、医学或安全应用的相机。
另外,计算设备900B包括计算机视觉引擎938。例如,计算机视觉引擎938可以执行一个或多个计算机视觉任务或计算成像任务。在一些示例中,计算机视觉引擎938可以接收来自相机927的图像和校准参数,并且使用非中心相机模型932来执行各种计算机视觉或计算成像任务。例如,这些任务可以包括:合成其他图像(诸如投影)、创建可用于导航的场景的3D地图、检测和分类场景中的物体等。计算机视觉引擎938可以包括接收器930、非中心相机模型932、3D到2D投影仪940和2D到3D点标识器942。在一些示例中,计算机视觉引擎938的每个组件930、932、940和942可以是微控制器、嵌入式处理器或软件模块。
3D到2D投影仪940可以使用非中心相机模型将3D空间中的点投影到2D图像中的点,该非中心相机模型包括轴向视点移位函数,该轴向视点移位函数是理想图像平面中的投影点的半径的函数。在各个示例中,非中心相机模型包括非冗余六参数投影变换。在一些示例中,轴向视点移位函数可以是偶函数。在各个示例中,轴向视点移位函数可以是多项式。在一些示例中,3D到2D投影仪940可以基于与轴向视点移位函数相对应的校准参数来将3D空间中的点投影到2D图像中的点。例如,3D到2D投影仪940可以基于包括用于径向失真函数和轴向视点移位函数的参数的校准参数,将3D空间中的点投影到2D图像中的点。在各个示例中,3D到2D投影仪940可以输出与3D空间中的点的空间坐标相对应的图像点的2D坐标。在各个示例中,2D到3D点标识器942可以基于校准参数来确定3D空间中与2D图像中的点相对应的一个或多个点。例如,2D到3D点标识器942可以基于包括用于非中心相机模型932的轴向视点移位函数和径向失真函数的参数的校准参数来确定3D空间中与2D图像中的点相对应的一个或多个点。在各个示例中,2D到3D点标识器942可以输出一个或多个3D点的特征。例如,该特征可以包括一组坐标、给定光线方向的深度信息或光线的描述。
图9B的框图并不旨在指示计算设备900B包括图9B所示的所有组件。相反,计算设备900B可包括更少的或附加的未在图9B中示出的组件(例如,附加的缓冲器、附加的处理器等)。取决于具体实现方式的细节,计算设备900B可以包括图9B中未示出的任何数量的附加组件。此外,图像接收器930、非中心相机模型932、3D到2D投影仪940和2D到3D点标识器942的任何功能可以部分地或全部地在硬件和/或处理器902中实现。例如,该功能性可以利用专用集成电路、以在处理器902中实现的逻辑,或以任何其他设备来实现。另外,CPU 902的任何功能可以部分地或全部地在硬件和/或处理器中实现。例如,图像接收器930、非中心相机模型932、3D到2D投影仪940和2D到3D点标识器942的功能可以利用专用集成电路,以在处理器中实现的逻辑、以在诸如GPU 908之类的专用图形处理单元中实现逻辑或者以任何其他设备来实现。
图10是示出计算机可读介质1000的框图,该计算机可读介质1000存储用于使用利用轴向视点移位增强的非中心相机模型来校准和计算相机的点投影的代码。计算机可读介质1000可以由处理器1002通过计算机总线1004访问。此外,计算机可读介质1000可以包括被配置为指导处理器1002执行本文描述的方法的代码。在一些示例中,计算机可读介质1000可以是非暂态计算机可读介质。在一些示例中,计算机可读介质1000可以是存储介质。
本文讨论的各种软件组件可以被存储在一个或多个计算机可读介质1000上,如图10所示。例如,图像接收器模块1006可以被配置为接收来自一个或多个相机的图像。在一些示例中,图像可以是校准图,诸如棋盘校准图。在一些示例中,图像可以是场景。例如,场景可以是装配有一个或多个鱼眼相机的机器人或自主驾驶车辆的周围区域。校准器模块1008可以被配置为计算针对相机计算的校准参数集,其中使用非中心相机模型对相机进行建模,该非中心相机模型包括径向失真函数和视点移位函数,该视点移位函数包括理想图像平面中的投影点的半径的函数。例如,校准器模块1008可以被配置为执行迭代非线性优化,该迭代非线性优化使用非中心相机模型的估计的径向失真和视点移位作为起点来最小化成本函数,以生成相机的校准参数集。例如,校准器模块1008可以被配置为使用非中心相机模型,用原点系到图像中心的移位来估计初始的内部和外部参数集。在一些示例中,校准器模块1008可以被配置为估计相机与每个校准图位置之间的旋转和平移。在各个示例中,校准器模块1008可以被配置为基于相机与多个图像中的每个校准图位置之间的估计的旋转和平移来估计径向失真和轴向视点移位。在一些示例中,校准器模块1008可以被配置为将内部和外部参数分成多个组并且迭代地估计参数值。在各个示例中,校准器模块1008可以被配置为通过迭代地计算失真中心的坐标、包括旋转和平移系数的子集的外部参数、以及径向失真多项式和轴向视点移位多项式的系数以及任何其余平移系数,来初始地估计参数值。3D到2D投影仪模块1010可以被配置为基于接收到的校准参数和图像来执行计算机视觉任务。例如,3D到2D投影仪模块1010可以被配置为基于与轴向视点移位多项式相对应的校准参数,将3D空间中的点投影到2D图像中的点。在一些示例中,3D到2D投影仪模块1010可以被配置为接收3D点的输入坐标和由校准器模块1008产生的校准参数,并且使用非中心相机模型来计算三维(3D)空间中的点到二维(2D)空间的投影,该非中心相机模型将轴向视点沿着光轴的移位量表示为理想图像平面中的投影点的半径的函数。2D到3D点标识器模块1012可以被配置为基于校准参数来确定3D空间中与2D图像中的点相对应的一个或多个点。例如,可以以包括一组坐标的特征输出3D空间中的点。在一些示例中,3D空间中的一个或多个点的特征可以包括给定光线方向的深度信息。在各个示例中,这一个或多个点的特征可以包括光线的描述。例如,光线可以是包括全部投影到同一2D图像点的点的线或线段。
图10的框图并非旨在指示计算机可读介质1000将包括图10所示的所有组件。此外,取决于具体实现方式的细节,计算机可读介质1000可以包括图10中未示出的任何数量的附加组件。例如,计算机可读介质1000可以包括用于将图像的投影发送到显示器的发送器模块。在一些示例中,发送器模块可以被配置为将校准参数发送到机器人或自主驾驶车辆。例如,校准参数可以用于确定机器人或自主驾驶车辆的位置。
图11是具有鱼眼相机的车辆1100A和1100B的图示。车辆1100A包括两个鱼眼相机1102和1104。车辆1100B包括四个鱼眼相机1106、1108、1110和1112。虽然示出了特定数量的相机,但是车辆1100A和1100B可以包括在沿着车辆1100A和1100B的表面、在其内部、在其下方的任何位置处的任何数量的鱼眼相机。此外,车辆1100A和1100B可以包括系统100和用于镜头失真的非中心相机模型或如图1所描述的计算设备104。此外,车辆1100A和1100B能够分别实现图7和图8的方法700和800。
如图所示,车辆1100A可以从包括各种物体的环境中捕获场景。鱼眼相机1102和1104中的每一个可以捕获高达一百八十度的视场(FOV)。类似地,车辆1100B可以从包括各种物体的环境中捕获场景。鱼眼相机1106、1108、1110和1112中的每一个可以捕获高达一百八十度的视场(FOV)。这里,各种FOV重叠。本技术使处理器能够经由高效的相机校准将来自相机1102、1104、1106、1108、1110和1112的捕获的2D图像中的点映射到3D世界中的光线和/或点,并且反之亦然。例如,处理器可以使用利用非中心相机模型估计的校准参数来生成不同类型的图像、3D地图或任何其他合适的信息。该校准使车辆能够快速确定其在环境中的位置。
示例
示例1是用于三维点的标识的系统。该系统包括用于接收图像中的二维点的坐标以及校准参数集的接收器。该系统还包括2D到3D点标识器,用于使用校准参数和非中心相机模型来标识场景中与2D点相对应的三维点,该非中心相机模型包括轴向视点移位函数,该轴向视点移位函数包括理想图像平面中的投影点的半径的函数。
示例2包括示例1的系统,包括或不包括可选特征。在该示例中,该系统包括用于捕获图像的相机。
示例3包括示例1至2中任何一个示例的系统,包括或不包括可选特征。在该示例中,非中心相机模型包括非冗余六参数投影变换。
示例4包括示例1至3中任何一个示例的系统,包括或不包括可选特征。在该示例中,轴向视点移位函数包括偶函数。
示例5包括示例1至4中任何一个示例的系统,包括或不包括可选特征。在该示例中,轴向视点移位函数包括多项式。
示例6包括示例1至5中任何一个示例的系统,包括或不包括可选特征。在该示例中,系统包括一组坐标。
示例7包括示例1至6中任何一个示例的系统,包括或不包括可选特征。在该示例中,2D到3D点标识器用于输出3D点的特征,包括给定光线方向的深度信息。
示例8包括示例1至7中任何一个示例的系统,包括或不包括可选特征。在该示例中,2D到3D点标识器用于输出3D点的特征,包括光线的描述。
示例9包括示例1至8中任何一个示例的系统,包括或不包括可选特征。在该示例中,非中心相机模型包括径向失真函数。
示例10包括示例1至9中任何一个示例的系统,包括或不包括可选特征。在该示例中,该系统包括自主驾驶车辆,其中,三维点用于确定自主驾驶车辆的位置。
示例11是用于三维点的投影的系统。该系统包括接收器,用于接收要投影的三维(3D)点的空间坐标以及校准参数集。该系统还包括3D到2D投影仪,用于使用非中心相机模型计算三维(3D)空间中的点到二维(2D)图像的投影,该非中心相机模型包括轴向视点移位函数,该轴向视点函数是理想图像平面中的投影点的半径的函数。
示例12包括示例11的系统,包括或不包括可选特征。在该示例中,该系统包括相机,用于捕获2D图像。
示例13包括示例11至12中任何一个示例的系统,包括或不包括可选特征。在该示例中,非中心相机模型包括非冗余六参数投影变换。
示例14包括示例11至13中任何一个示例的系统,包括或不包括可选特征。在该示例中,轴向视点移位函数包括偶函数。
示例15包括示例11至14中任何一个示例的系统,包括或不包括可选特征。在该示例中,轴向视点移位函数包括多项式。
示例16包括示例11至15中任何一个示例的系统,包括或不包括可选特征。在该示例中,非中心相机模型包括径向失真函数。
示例17包括示例11至16中任何一个示例的系统,包括或不包括可选特征。在该示例中,3D到2D投影仪用于输出与3D空间中的点的空间坐标相对应的图像点的2D坐标。
示例18包括示例11至17中任何一个示例的系统,包括或不包括可选特征。在该示例中,非中心相机模型包括径向失真函数。
示例19包括示例11至18中任何一个示例的系统,包括或不包括可选特征。在该示例中,非中心相机模型包括径向失真函数,该径向失真函数包括多项式。
示例20包括示例11至19中任何一个示例的系统,包括或不包括可选特征。在该示例中,该系统包括机器人或自主驾驶车辆。
示例21是至少一种用于校准相机的计算机可读介质,该计算机可读介质具有存储在其中的指令,该指令指导处理器从相机接收图像。该计算机可读介质还包括指令,该指令指导处理器计算相机的校准参数集。使用非中心相机模型对相机进行建模,该非中心相机模型包括径向失真函数和视点移位函数,该视点移位函数包括理想图像平面中的投影点的半径的函数。
示例22包括示例21的计算机可读介质,包括或不包括可选特征。在该示例中,计算机可读介质包括指令,用于使用非中心相机模型的估计的径向失真和视点移位作为起点来执行使成本函数最小化的迭代非线性优化以生成相机的校准参数集的指令。
示例23包括示例21至22中任何一个示例的计算机可读介质,包括或不包括可选特征。在该示例中,计算机可读介质包括指令,用于使用非中心相机模型用原点系到图像中心的移位来估计初始的内部和外部参数集。
示例24包括示例21至23中任何一个示例的计算机可读介质,包括或不包括可选特征。在该示例中,计算机可读介质包括指令,用于将内部和外部参数分组并且迭代地估计参数值。
示例25包括示例21至24中任何一个示例的计算机可读介质,包括或不包括可选特征。在该示例中,计算机可读介质包括指令,用于通过迭代地计算失真中心的坐标、包括旋转和平移系数的子集的外部参数、以及径向失真多项式的系数和轴向视点移位多项式的系数和任何其余平移系数来初始地估计参数值。
示例26包括示例21至25中任何一个示例的计算机可读介质,包括或不包括可选特征。在该示例中,计算机可读介质包括指令,用于基于与轴向视点移位多项式相对应的校准参数将3D空间中的点投影到2D图像中的点。
示例27包括示例21至26中任何一个示例的计算机可读介质,包括或不包括可选特征。在该示例中,计算机可读介质包括指令,用于接收3D点的输入坐标和校准参数并使用非中心相机模型计算三维(3D)空间中的点到二维(2D)空间的投影。
示例28包括示例21至27中任何一个示例的计算机可读介质,包括或不包括可选特征。在该示例中,计算机可读介质包括指令,用于基于校准参数来确定3D空间中与2D图像中的点相对应的一个或多个点。
示例29包括示例21至28中任何一个示例的计算机可读介质,包括或不包括可选特征。在该示例中,计算机可读介质包括指令,用于输出3D空间中的点的特征,包括给定光线方向的深度信息或光线的描述。
示例30包括示例21至29中任何一个示例的计算机可读介质,包括或不包括可选特征。在该示例中,计算机可读介质包括指令,用于输出包括一组空间坐标的3D空间中的点的特征。
示例31是用于三维点的标识的系统。该系统包括用于接收图像中的二维点的坐标以及校准参数集的组件。该系统还包括用于使用校准参数和非中心相机模型来标识场景中与2D点对应的三维点,该非中心相机模型包括轴向视点移位函数,该轴向视点移位函数包括理想图像平面中的投影点的半径的函数。
示例32包括示例31的系统,包括或不包括可选特征。在该示例中,该系统包括用于捕获图像的组件。
示例33包括示例31至32中任何一个示例的系统,包括或不包括可选特征。在该示例中,非中心相机模型包括非冗余六参数投影变换。
示例34包括示例31至33中任何一个示例的系统,包括或不包括可选特征。在该示例中,轴向视点移位函数包括偶函数。
示例35包括示例31至34中任何一个示例的系统,包括或不包括可选特征。在该示例中,轴向视点移位函数包括多项式。
示例36包括示例31至35中任何一个示例的系统,包括或不包括可选特征。在该示例中,系统包括一组坐标。
示例37包括示例31至36中任何一个示例的系统,包括或不包括可选特征。在该示例中,用于标识三维点的组件用于输出3D点的特征,包括给定光线方向的深度信息。
示例38包括示例31至37中任何一个示例的系统,包括或不包括可选特征。在该示例中,用于标识三维点的组件用于输出3D点的特征,包括光线的描述。
示例39包括示例31至38中任何一个示例的系统,包括或不包括可选特征。在该示例中,非中心相机模型包括径向失真函数。
示例40包括示例31至39中任何一个示例的系统,包括或不包括可选特征。在该示例中,该系统包括自主驾驶车辆,其中,三维点用于确定自主驾驶车辆的位置。
示例41是用于三维点的投影的系统。该系统包括用于接收要投影的三维(3D)点的空间坐标以及校准参数集的组件。该系统还包括用于使用非中心相机模型计算三维(3D)空间中的点到二维(2D)图像的投影的组件,该非中心相机模型包括轴向视点移位函数,该轴向视点函数是理想图像平面中的投影点的半径的函数。
示例42包括示例41的系统,包括或不包括可选特征。在该示例中,该系统包括用于捕获2D图像的组件。
示例43包括示例41至42中任何一个示例的系统,包括或不包括可选特征。在该示例中,非中心相机模型包括非冗余六参数投影变换。
示例44包括示例41至43中任何一个示例的系统,包括或不包括可选特征。在该示例中,轴向视点移位函数包括偶函数。
示例45包括示例41至44中任何一个示例的系统,包括或不包括可选特征。在该示例中,轴向视点移位函数包括多项式。
示例46包括示例41至45中任何一个示例的系统,包括或不包括可选特征。在该示例中,非中心相机模型包括径向失真函数。
示例47包括示例41至46中任何一个示例的系统,包括或不包括可选特征。在该示例中,用于计算投影的组件用于输出与3D空间中的点的空间坐标相对应的图像点的2D坐标。
示例48包括示例41至47中任何一个示例的系统,包括或不包括可选特征。在该示例中,非中心相机模型包括径向失真函数。
示例49包括示例41至48中任何一个示例的系统,包括或不包括可选特征。在该示例中,非中心相机模型包括径向失真函数,该径向失真函数包括多项式。
示例50包括示例41至49中任何一个示例的系统,包括或不包括可选特征。在该示例中,该系统包括机器人或自主驾驶车辆。
示例51是一种用于校准相机的方法。该方法包括:经由处理器接收使用相机捕获的多个图像。该方法还包括:经由处理器计算相机的校准参数集。使用非中心相机模型对相机进行建模,该非中心包括轴线视点移位函数,该轴线视点移位函数包括理想图像平面中的投影点的半径的函数。
示例52包括示例51的方法,包括或不包括可选特征。在该示例中,计算校准参数集包括检测多个图像中的特征点,其中,多个图像包括校准图的图像。
示例53包括示例51至52中任何一个示例的方法,包括或不包括可选特征。在该示例中,计算校准参数集包括使用非中心相机模型用原点系到多个图像中心的移位来估计初始的内部和外部参数集。
示例54包括示例51至53中任何一个示例的方法,包括或不包括可选特征。在该示例中,计算校准参数集包括使用非中心相机模型的估计的径向失真和视点移位作为起点来执行使成本函数最小化的迭代优化,以生成相机的校准参数集。
示例55包括示例51至54中任何一个示例的方法,包括或不包括可选特征。在该示例中,计算校准参数集包括执行非线性优化。
示例56包括示例51至55中任何一个示例的方法,包括或不包括可选特征。在该示例中,计算校准参数集包括估计相机与多个图像中的每个图像的校准图位置之间的旋转和平移。
示例57包括示例51至56中任何一个示例的方法,包括或不包括可选特征。在该示例中,计算校准参数集包括将内部参数和外部参数分组并且迭代地估计参数值。
示例58包括示例51至57中任何一个示例的方法,包括或不包括可选特征。在该示例中,计算校准参数集包括迭代地计算:失真中心的坐标;包括旋转系数和平移系数的子集的外部参数;以及径向失真多项式系数和轴向视点移位多项式的系数以及任何其余平移系数。
示例59包括示例51至58中任何一个示例的方法,包括或不包括可选特征。在该示例中,非中心相机还包括径向失真函数。
示例60包括示例51至59中任何一个示例的方法,包括或不包括可选特征。在该示例中,多个图像包括校准图的图像。
并非本文描述和图示的所有组件、特征、结构、特性等都需要被包括在一个或多个特定方面中。如果说明书指出组件、特征、结构或特性“可以”、“可能”、“能够”或“可”被包括在内,例如,则不要求包括该特定的组件、特征、结构或特性。如果说明书或权利要求书提及“一个”或“一种”元件,则并不意味着仅存在一个元件。如果说明书或权利要求书提及“附加”元件,则不排除存在一个以上该附加元件。
应当注意,尽管已经参考特定实现方式描述了一些方面,但是根据一些方面,其他实现方式也是可能的。另外,附图中图示和/或本文描述的电路元件或其他特征的布置和/或顺序不需要以图示和描述的特定方式布置。根据一些方面,许多其他布置是可能的。
在图中所示的每个系统中,在一些情况下,元件可各自具有相同的附图标记或不同的附图标记,以暗示所表示的元件可以是不同的和/或相似的。然而,元件可以足够灵活以具有不同的实现方式并且与本文示出或描述的一些或所有系统一起工作。附图中所示的各种元件可以相同或不同。哪个被称为第一元件,哪个被称为第二元件是任意的。
应该理解,前述示例中的细节可以在一个或多个方面中的任何地方使用。例如,上述计算设备的所有可选特征还可相对于本文描述的方法或计算机可读介质来实现。此外,尽管在本文中可能已使用流程图和/或状态图来描述各方面,但是本技术不限于这些图或本文中的相应描述。例如,流程不需要移动经过每个图示的框或状态或者以与本文图示和描述的完全相同的顺序移动。
本技术不限于本文列出的具体细节。事实上,受益于本公开的本领域技术人员将理解,可以在本技术的范围内对前述描述和附图进行许多其他变型。因此,所附权利要求书(包括对其的任何修改)限定了本技术的范围。
Claims (25)
1.一种用于三维(3D)点的标识的系统,包括:
接收器,用于接收图像中的二维(2D)点的坐标以及校准参数集;以及
2D到3D点标识器,用于使用所述校准参数和非中心相机模型来标识场景中与所述2D点相对应的三维点,所述非中心相机模型包括轴向视点移位函数,所述轴向视点移位函数包括理想图像平面中的投影点的半径的函数。
2.根据权利要求1所述的系统,包括用于捕获所述图像的相机。
3.根据权利要求1所述的系统,其中,所述非中心相机模型包括非冗余六参数投影变换。
4.根据权利要求1所述的系统,其中,所述轴向视点移位函数包括偶函数。
5.根据权利要求1所述的系统,其中,所述轴向视点移位函数包括多项式。
6.根据权利要求1至5中任一项所述的系统,其中,所述2D到3D点标识器用于输出包括一组坐标的所述3D点的特征。
7.根据权利要求1至5中任一项所述的系统,其中,所述2D到3D点标识器用于输出包括给定光线方向的深度信息的所述3D点的特征。
8.根据权利要求1至5中任一项所述的系统,其中,所述2D到3D点标识器用于输出包括光线描述的所述3D点的特征。
9.根据权利要求1至5中任一项所述的系统,其中,所述系统包括相机系统。
10.根据权利要求1至5中任一项所述的系统,其中,所述系统包括自主驾驶车辆,其中,所述三维点用于确定所述自主驾驶车辆的位置。
11.一种用于三维(3D)点的投影的系统,包括:
接收器,用于接收要投影的3D点的空间坐标以及校准参数集;以及
3D到2D投影仪,用于使用非中心相机模型来计算三维(3D)空间中的点到二维(2D)图像的投影,所述非中心相机模型包括轴向视点移位函数,所述轴向视点移位函数是理想图像平面中的所述投影点的半径的函数。
12.根据权利要求11所述的系统,包括用于捕获所述2D图像的相机。
13.根据权利要求11所述的系统,其中,所述非中心相机模型包括非冗余六参数投影变换。
14.根据权利要求11所述的系统,其中,所述轴向视点移位函数包括偶函数。
15.根据权利要求11所述的系统,其中,所述轴向视点移位函数包括多项式。
16.根据权利要求11至15中任一项所述的系统,其中,所述系统包括机器人或自主驾驶车辆。
17.根据权利要求11至15中任一项所述的系统,其中,所述3D到2D投影仪用于输出与所述3D空间中的点的空间坐标相对应的图像点的2D坐标。
18.一种用于校准相机的方法,包括:
经由处理器接收使用相机捕获的多个图像;以及
经由所述处理器计算所述相机的校准参数集,其中,所述相机使用非中心相机模型进行建模,所述非中心包括视点移位函数,所述视点移位函数包括理想图像平面中的投影点的半径的函数。
19.根据权利要求18所述的方法,其中,计算所述校准参数集包括:检测所述多个图像中的特征点,其中,所述多个图像包括校准图的图像。
20.根据权利要求18所述的方法,其中,计算所述校准参数集包括:使用所述非中心相机模型,用原点系到所述多个图像的中心的移位来估计初始的内部参数和外部参数集。
21.根据权利要求18所述的方法,其中,计算所述校准参数集包括:使用所述非中心相机模型的估计的径向失真和视点移位作为起点来执行使成本函数最小化的迭代优化,以生成所述相机的校准参数集。
22.根据权利要求18所述的方法,其中,计算所述校准参数集包括:执行非线性优化。
23.根据权利要求18所述的方法,其中,计算所述校准参数集包括:估计所述相机与所述多个图像中的每个图像中的校准图位置之间的旋转和平移。
24.根据权利要求18所述的方法,其中,计算所述校准参数集包括:将内部参数和外部参数分组并且迭代地估计所述参数值。
25.根据权利要求18所述的方法,其中,计算所述校准参数集包括迭代地计算:
失真中心的坐标;
包括旋转以及平移系数的子集的外部参数;以及
径向失真多项式的系数和轴向视点移位多项式的系数以及任何其余平移系数。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/886,512 | 2020-05-28 | ||
US16/886,512 US20200294269A1 (en) | 2020-05-28 | 2020-05-28 | Calibrating cameras and computing point projections using non-central camera model involving axial viewpoint shift |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113744340A true CN113744340A (zh) | 2021-12-03 |
Family
ID=72423879
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011383961.7A Pending CN113744340A (zh) | 2020-05-28 | 2020-12-01 | 用轴向视点偏移的非中心相机模型校准相机并计算点投影 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20200294269A1 (zh) |
CN (1) | CN113744340A (zh) |
DE (1) | DE102020131267A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11336812B2 (en) * | 2019-07-03 | 2022-05-17 | Nokia Technologies Oy | Storage and signaling of entrance pupil parameters for immersive media |
CN111507924B (zh) * | 2020-04-27 | 2023-09-29 | 北京百度网讯科技有限公司 | 视频帧的处理方法和装置 |
US20210012454A1 (en) | 2020-09-25 | 2021-01-14 | Intel Corporation | Method and system of image processing of omnidirectional images with a viewpoint shift |
CN115082815B (zh) * | 2022-07-22 | 2023-04-07 | 山东大学 | 基于机器视觉的茶芽采摘点定位方法、装置及采摘系统 |
CN115375772B (zh) * | 2022-08-10 | 2024-01-19 | 北京英智数联科技有限公司 | 相机标定方法、装置、设备及存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019175629A1 (en) * | 2018-03-14 | 2019-09-19 | Nokia Technologies Oy | Camera calibration and/or use of a calibrated camera |
US10878595B2 (en) * | 2018-07-02 | 2020-12-29 | Intel Corporation | Dual model for fisheye lens distortion and an algorithm for calibrating model parameters |
-
2020
- 2020-05-28 US US16/886,512 patent/US20200294269A1/en active Pending
- 2020-11-25 DE DE102020131267.9A patent/DE102020131267A1/de active Pending
- 2020-12-01 CN CN202011383961.7A patent/CN113744340A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
DE102020131267A1 (de) | 2021-12-02 |
US20200294269A1 (en) | 2020-09-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Usenko et al. | The double sphere camera model | |
Kannala et al. | A generic camera model and calibration method for conventional, wide-angle, and fish-eye lenses | |
CN113744340A (zh) | 用轴向视点偏移的非中心相机模型校准相机并计算点投影 | |
US20200096317A1 (en) | Three-dimensional measurement apparatus, processing method, and non-transitory computer-readable storage medium | |
Moghadam et al. | Line-based extrinsic calibration of range and image sensors | |
EP3428875A1 (en) | Methods and apparatuses for panoramic image processing | |
Orghidan et al. | Camera calibration using two or three vanishing points | |
JP6324025B2 (ja) | 情報処理装置、情報処理方法 | |
US20200334842A1 (en) | Methods, devices and computer program products for global bundle adjustment of 3d images | |
US11216979B2 (en) | Dual model for fisheye lens distortion and an algorithm for calibrating model parameters | |
JP2007192832A (ja) | 魚眼カメラの校正方法。 | |
Kannala et al. | Geometric camera calibration. | |
Kim et al. | Motion estimation for nonoverlapping multicamera rigs: Linear algebraic and L∞ geometric solutions | |
Fang et al. | Self-supervised camera self-calibration from video | |
Cao et al. | Camera calibration using symmetric objects | |
KR102372298B1 (ko) | 이동체의 전방향에 위치한 적어도 하나의 물체에 대한 거리를 획득하는 방법 및 이를 이용한 비전 장치 | |
Laganière et al. | Robust object pose estimation from feature-based stereo | |
CN114119652A (zh) | 用于三维重构的方法和装置以及电子设备 | |
Siddique et al. | 3d object localization using 2d estimates for computer vision applications | |
US11069121B2 (en) | Methods, devices and computer program products for creating textured 3D images | |
Cui et al. | Plane-based external camera calibration with accuracy measured by relative deflection angle | |
CN113048985B (zh) | 已知相对旋转角度条件下的像机相对运动估计方法 | |
GB2560301A (en) | Methods and apparatuses for determining positions of multi-directional image capture apparatuses | |
Yan et al. | Camera calibration in binocular stereo vision of moving robot | |
Dunn et al. | A geometric solver for calibrated stereo egomotion |
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 |