CN113016007A - 估计相机相对于地面的方位的装置和方法 - Google Patents

估计相机相对于地面的方位的装置和方法 Download PDF

Info

Publication number
CN113016007A
CN113016007A CN202080002022.5A CN202080002022A CN113016007A CN 113016007 A CN113016007 A CN 113016007A CN 202080002022 A CN202080002022 A CN 202080002022A CN 113016007 A CN113016007 A CN 113016007A
Authority
CN
China
Prior art keywords
orientation
camera
image
virtual cube
line segments
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
CN202080002022.5A
Other languages
English (en)
Other versions
CN113016007B (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.)
Hong Kong Applied Science and Technology Research Institute ASTRI
Original Assignee
Hong Kong Applied Science and Technology Research Institute ASTRI
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
Priority claimed from US16/992,088 external-priority patent/US11348277B2/en
Application filed by Hong Kong Applied Science and Technology Research Institute ASTRI filed Critical Hong Kong Applied Science and Technology Research Institute ASTRI
Publication of CN113016007A publication Critical patent/CN113016007A/zh
Application granted granted Critical
Publication of CN113016007B publication Critical patent/CN113016007B/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/70Determining position or orientation of objects or cameras
    • 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/30248Vehicle exterior or interior
    • G06T2207/30252Vehicle exterior; Vicinity of vehicle

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Analysis (AREA)

Abstract

一种估计相机(120,320)相对于地面的方位的方法。该方法包括:从相机(120,320)拍摄的图像中检测线段;在图像上叠加一个具有三个具有随机3D方向的正交消失点的第一虚拟立方体;将图像的线段分类并分组为3D方向组;将第二虚拟立方体以初始3D方向叠加到图像上。通过迭代地改变第二虚拟立方体的3D方向,并从初始3D方向开始的每次迭代中测量三个正交消失点到三个线段组的垂直距离,从而计算出第二虚拟立方体的最佳3D方向,其中第二虚拟立方体的最佳3D方向是提供最短垂直距离的方向;计算第二虚拟立方体在最佳方向上的正交消失点的协方差;从第二虚拟立方体的最佳方向计算地平面方位。

Description

估计相机相对于地面的方位的装置和方法
技术领域
本发明涉及估计相机相对于地面的方位的领域。更具体的,本发明特别涉及通过利用正交消失点的特性来分析感测结构而自动估计相机方位的技术。
背景技术
机器视觉在商业和工业用途中已经引起了很多关注,例如基于成像的生产和物流自动化分析。在许多基于机器视觉的应用中,相机定位起着重要角色;即,为了从二维(2D)图像或视频帧的测量中获得三维(3D)空间中的真实度量单位,这是必需的。例如,在车辆导航中,检测车辆何时离开地面上的车道标记的车道偏离检测需要知道相机相对于地面的方位。在将相机安装到车辆上之后,可以通过手动校准程序知道相机的方位,尤其是俯仰角和列角。但是,对于一个由相同车辆组成的车队,例如工厂中的自动导引车(AGV)车队,在每辆AGV进行这种重复的手动校准既麻烦又容易出错。此外,长时间使用后,相机的方位通常会因急刹车、突然加速、相机无意中移动等原因而发生偏移。
可以从单个图像估计相机方位。例如,在无限远的地面清晰可见的情况下,其消失线表示相机相对于地面的方位。但是,在许多实际情况下,在拍摄的图像中没有垂直结构时,不可能获得垂直消失点来估计地平面。因此,本技术领域需要一种新的估计相机方位的方法,以解决依赖于垂直消失点的估计方法的缺点。
发明内容
本发明提供了一种用于估计相机相对于地面的方位的方法和设备。根据本发明各种实施例,该方法包括以下步骤。拍摄和记录前置相机前的场景的第一图像。从第一图像中检测出多个线段。将第一虚拟立方体(其在随机或最佳猜测的3D方向上有三个正交消失点)叠加到第一图像上。正交方向分类器通过比较第一虚拟立方体的三个正交消失点中的每一个消失点与每条检测到的线段之间的垂直距离,将第一图像的线段分类并将其分为第一、第二和第三3D方位组,并根据三个垂直距离中的最短距离确定线段属于哪个组。将具有三个正交消失点的第二虚拟立方体叠加到第一图像上,其中第二虚拟立方体处于由初始旋转矩阵R0表示的第一虚拟立方体的初始3D方向上。通过改变第二虚拟立方体的3D方向,并从初始旋转矩阵R0开始,在每次迭代中计算三个正交消失点到三个线段组的垂直距离,以迭代计算第二虚拟立方体相对于分组线段的最佳方位;其中第二虚拟立方体的最佳方位是提供最短垂直距离的方位。第二虚拟立方体在最佳方位上的三个正交消失点的协方差由计算机处理器计算。地面方向是从第二虚拟立方体在最佳方位上的三个正交消失点之一计算出来的。该过程在随后的N个图像中重复,每个图像都有第一个虚拟立方体的不同的随机或最佳猜测3D方向。根据协方差,通过选择估计误差最小的地面方向来确定最准确的地平面。
在一个实施例中,第二虚拟立方体在第一图像中的最佳方位被用于计算在第一图像之后的第二图像上的地平面;将得到的代表第二虚拟立方体最佳方位的旋转矩阵R*用于计算地面方位的地法向量n,
Figure BDA0002691810060000021
根据本发明的应用,一种用于引导具有前置相机的自动驾驶车辆的方法包括:根据本发明各个实施例执行用于估计前置相机的相机方位的方法。根据估计的相机方位来确定自动驾驶车辆的运动。
根据本发明的另一个应用,提供了一种远程处理服务器,用于估计支持机器视觉的自动引导车辆(AGV)的前置相机的相机方位。远程处理服务器与AGV进行数据通信,并被配置以接收前置相机拍摄的视频源,以便执行本发明各个实施例的估算前置相机方位的方法。
本发明的优点包括:(1)在估计地平面时,检测并分类的X、Y和Z 3D平面线段组中的任何一个都可以为空;(2)根据本发明各个实施例,核心计算是适当建立在最小二乘优化方法上的,从而使得能够计算出相机方位的误差不确定性;(3)一般来说,很难求解具有六个二次等式约束的二次最小二乘最小化问题,但是本发明提供了一种通过旋转来规避二次等式约束的解决方案;(4)在机器视觉应用中实现了相机方位估计的自动化,从而避免了对相机方位的重复和周期性手动校准。
附图说明
以下参考附图更详细地描述本发明的实施例,其中:
图1是与远程处理服务器通信的自动驾驶车辆(AGV)的示例性实施例的示意图;
图2显示真实世界的场景图像以及机器视觉应用所看到/感知的图像;
图3显示另一真实世界场景图像以及机器视觉应用所看到/感知的图像;
图4描述本发明各个实施例的用于估计相机方位的方法的流程图;
图5显示本发明各个实施例的在线段分类和分组之前和之后的带有线段指示符的视频帧/图像;
图6A-6C显示具有三个消失点的旋转的虚拟立方体;
图7显示将虚拟立方体叠加到图像/视频帧上;
图8A和8B显示线段分类和分组的两个示例性结果;
图9显示本发明各个实施例的估计正交消失点的方法的流程图;
图10显示本发明各个实施例的正交消失点与线段之间的垂直距离的计算;
图11显示图像/视频帧中估计误差范围内的地平面;
图12显示线段上的正交消失点;
图13显示三个消失点与X、Y和Z三维平面线段组之间的关系;
图14是AGV的另一示例性实施例的示意图。
具体实施方式
在下面的描述中,作为优选的例子,阐述了通过利用正交消失点的特性来估计相机相对于地面的方位的方法和装置。对于本领域技术人员将显而易见的是,在不脱离本发明的范围和精神的情况下,可以进行包括增加和/或替换的修改。省略了某些具体细节,以免模糊本发明。然而,本公开内容是为了使本领域技术人员能够在不进行过多实验的情况下实践本发明教导。
在本公开中,机器视觉感知的2D和3D空间几何形状,例如点和线,用投影空间坐标来表示。下面列出了本公开中的数学符号的定义:
二维投影空间
Figure BDA0002691810060000041
中的点p表示为三维向量
Figure BDA0002691810060000042
其在二维欧几里得空间
Figure BDA0002691810060000043
中的坐标是
Figure BDA0002691810060000044
Figure BDA0002691810060000045
中的直线l表示为三维向量
Figure BDA0002691810060000046
其在
Figure BDA0002691810060000047
中的斜率和y轴截距分别为
Figure BDA0002691810060000048
Figure BDA0002691810060000049
当且仅当
Figure BDA00026918100600000411
点p在
Figure BDA00026918100600000410
中的线l上,因为au+bv+ck=0是一个直线方程;
Figure BDA00026918100600000412
代表a的转置,而
Figure BDA00026918100600000413
代表两个向量a和b之间的点积。
Figure BDA00026918100600000414
中的投影变换H是一个3×3矩阵。它将
Figure BDA00026918100600000415
中的一个点从p转换为p'=Hp。
如果
Figure BDA00026918100600000416
中的H将点从p转换为p'=Hp,则将线从l转换为
Figure BDA00026918100600000417
Figure BDA0002691810060000058
表示矩阵A-1的转置,而A-1表示矩阵A的逆。
三维
Figure BDA0002691810060000051
中的点为P=(X,Y,Z)。在针孔相机模型下,将针孔相机拍摄的图像建模为二维
Figure BDA0002691810060000052
中的点p=KP,其中K是
Figure BDA0002691810060000053
中的投影变换。
K也称为相机校准(或固有)矩阵,它通过
Figure BDA0002691810060000054
对相机的焦距f和主点(px,py)进行编码,以使
Figure BDA0002691810060000055
中点P=(X,Y,Z)成像为
Figure BDA0002691810060000056
中的点
Figure BDA0002691810060000057
相机校准矩阵K可以通过一些手动校准程序找到。
参考图1,AGV 100包括车身110、前置相机120以及位于车身110中的控制和通信电路130。车身110有诸如车轮112的移动机构,以沿着箭头前进。前置相机120安装在车身110的前侧,以便拍摄AGV 100前方的场景并将其记录成视频文件/数据流。控制和通信电路130与前置相机120电连接,并配置成从前置相机120接收视频文件/数据流。控制和通信电路130通过无线链路与远程处理服务器150通信,用于将视频文件/数据流上传到远程处理服务器150以及从远程处理服务器150下载指令。其中,指令包括用于AGV移动或动作(例如直行、右转/左转、返回充电站、关闭等)的控制命令。远程处理服务器150被配置成在处理视频文件/数据流时执行AGV的机器视觉应用。在一个实施例中,在工厂、仓库或配送中心布置了一组多辆AGV 100,远程处理服务器150负责协调该组AGV执行自动化的大范围操作,例如在生产装配中运输产品部件,以及运送货物和包裹以进行交货。
在实际情况下,在AGV 100的运行过程中,遇到的某些情况可能导致计算问题,从而导致AGV 100无法运行。例如,如图2所示,左图像是真实世界的场景图像,右图像是在一个AGV 100中实现的机器视觉应用所看到/感知的图像,两者之间的区别在于右图像显示了从真实世界场景图像中检测到的线段200。为了估计相机的方位,通常需要Z平面消失点(VP)或地平面。但是,在右图中,Z平面VP非常接近无限远(Infinity),因为Z方向的线段几乎相互平行。在这种情况下,很难将Z平面VP估计应用于前置相机。
进一步地,如图3所示,左图是真实世界的场景图像,右图是在一个AGV 100中实现的机器视觉应用所看到/感知的图像,其间的区别在于右图显示了从真实世界场景图像中检测到的线段200。可以注意到,从现实世界场景图像中未检测到Z方向线段。在这方面,即使真实世界场景图像中的地平面对于人类来说是清晰可见的,但由于没有线段穿过Z平面VP,因此机器视觉应用无法估计该地平面。也就是说,当现实世界场景图像中没有垂直构造时,几乎不可能估计出目标的地平面。
参照图4中描绘的流程图,根据本发明的一个实施例,提供了一种用于估计相机方位的方法,以解决Z方向线段缺失的问题。该方法包括步骤S10-S60,这些步骤可以由如图1所示的AVG 100和/或远程处理服务器150的特定配置实现的机器视觉应用采用。
在步骤S10,AVG 100的前置相机120拍摄眼前的真实世界场景时生成视频文件/数据流,并通过无线通信将其传输到远程处理服务器150。该视频文件/数据流包含多个连续图像的视频帧。
在步骤S20,远程处理服务器150从视频文件/数据流中提取一个视频帧/图像。该视频帧/图像是静态的,并且反映了真实世界场景(即图2或图3中的左图像)。
在步骤S30,由远程处理服务器150对视频帧/图像中的线段进行检测,从而在视频帧/图像上生成线段(即图2或图3中的右图像)。在一实施例中,线段的产生应用了Canny边缘检测和统计Hough变换。更具体地说,将RGB设置中的视频帧/图像转换为仅包含0和1的2D阵列,然后对该2D阵列应用Canny边缘检测。之后,通过使用统计Hough变换从2D阵列中检测出线段,从而获得线段在视频帧/图像上的位置。
在步骤S40,将步骤S30中检测到的线段进行分类和分组,分为三个正交方向,例如X,Y和Z方向。图5显示了在线段分类和分组之前和之后的具有线段指示符的视频帧/图像。左图像显示了在分类和分组之前检测到的许多线段210延伸到多个不同方向。右图像仅显示了那些已分类和分组的线段。
在本公开中,X、Y和Z方向的定义是:X、Y、Z方向在3D空间中正交并且满足X·Y=0;Y·Z=0;和Z·X=0。此外,在3D空间中沿着X、Y和Z方向的无穷远点,被具有K的相机拍摄到2D目标图像上的图像位置上,这些图像位置称为VP,由vx,vy,vz表示。它们在目标图像上也是“相对于ω正交”,使得
Figure BDA0002691810060000071
Figure BDA0002691810060000072
其中
Figure BDA0002691810060000073
即“绝对圆锥的图像”,K是前述的相机校准矩阵的定义。
在线段分类开始时,假设在3D空间中一个有初始方位的虚拟立方体,如图6A所示,其中虚拟立方体分别在X、Y和Z方向上定义了三组边缘。初始方位可以是随机选择的,也可以是基于相机最后已知位置和方向的最佳猜测方向。每组虚拟立方体的每对边缘都指向3D空间中的正交方向X、Y和Z中的一个方向,当这些边缘沿X、Y和Z方向延伸时,它们会分别在目标图像中的vx,vy,vz点处无限远地收敛和消失。虚拟立方体可以绕任何3D轴旋转。例如,图6B显示了虚拟立方体向左旋转,图6C显示它向下旋转。
继续步骤S40,将虚拟立方体叠加到检测到线段的视频帧/图像上,如图7所示。虚拟立方体处于由初始3×3旋转矩阵R表示的初始方位。在一个实施例中,初始方位是随机地选择的。在另一个实施例中,初始方位是基于前置相机120的最后已知位置和方位来选择的,这意味着通过最佳猜测在预定范围内选择初始方位。有旋转矩阵R的初始方位产生三个正交VP:vx、vy和vz。在目标图像上测量每个检测到的线段到所有三个正交VP的垂直距离。理论上,可以推测,通过在3D空间中延伸检测到的线段,它最终汇聚到2D图像中的VP(vx、vy和vz)之一。这样,检测到的线段的分类取决于期望汇聚到哪个VP。
如图8A和8B所示,检测到的线段标记为l。从线l到VP(vx、vy和vz)的垂直距离分别标记为δX、δY、和δZ。如图8A所示,如果线l非常靠近vx并且与vy和vz两者都非常远,则测得δX非常短,δY和δZ都非常长,这意味着视频帧/图像中的线l在3D空间中被高度置信度地分类为指向X方向,因此被归类为X组。同样的逻辑也适用于将其他检测到的线段分类和归入为Y或Z组。另一方面,如图8B所示,如果线l与多个VP(即vx和vz)的距离近似相等,则线l不能被分类,成为外线。最后,如果线l远离所有三个VP,则线l无法被分类,也成为外线。
根据一个实施例,使用以下算法来计算线段分类。假设线l收敛到VPvx、vy和vz中的一个,则计算三个假设的Sampson误差
Figure BDA0002691810060000081
等效于确定δX、δY和δZ。在此,Sampson误差的计算是基于确定距离δi的,其中i是x、y或z,根据旋转矩阵R确定距离δi
Figure BDA0002691810060000082
其中,li=(pi,qi,1)×(ui,vi,1),它是一条有两个端点(pi,qi)和(ui,vi)的线段;
K=3×3相机校准矩阵;
R=3×3旋转矩阵;
Figure BDA0002691810060000083
其中分母
Figure BDA0002691810060000084
可以理解为li的像素误差,表示线段两端的像素噪声水平。
然后,对于
Figure BDA0002691810060000085
作为标量残差,∑g=4×4协方差矩阵(p,q,u,v),Ji=∈i关于g=(p,q,u,v)的雅可比矩阵,计算Sampson误差,得到每个线段的δX、δY和δZ。利用前述图8A中第一图示中的Sampson误差计算,由于vz-假说的Sampson误差相对很小,但是vy/vx-假说两者的Sampson误差都很大,因此线l被分类为Z组。
步骤S40也可以描述为定性计算,输入参数包括初始旋转矩阵R、线段li、相机校准矩阵K、像素噪声协方差∑g、接受水平α和拒绝水平β,其中α=0.05,β=0.95≥α为例。目的是将线段li分为X、Y或Z组。
步骤S40的定性计算包括以下步骤:
步骤I:对于每个li,计算如下的中间表达式:
Figure BDA0002691810060000091
步骤II:对成本进行排序,使得
Figure BDA0002691810060000092
其中Dk为Z、Y或X;
步骤III:li被划入D1方位组,如果:
Figure BDA0002691810060000093
and
Figure BDA0002691810060000094
其中Fn是具有n个自由度的累积卡方χ2分布。步骤III中的判定条件用作滞后窗口,以避免线段可能被判定为指向多个方向。
此外,虚拟立方体的初始随机方向可能不在近似正确方向的范围内,如果初始方向完全不正确,则分类可能完全失败。因此,需要用多个随机初始方向和旋转矩阵R进行多次试错运行。在一个实施例中,选择产生最少数量外线的那次试错运行的初始方向和旋转矩阵R,用于其中生成的正确线段的分类和分组。
在分类和分组之后,获得在X、Y、Z上具有正确分类和分组的线段的视频帧/图像,如图5的右图所示。下一步是步骤S50,估计正交VP。
参照图9,步骤S50包括子步骤P10-P70。在子步骤P10,虚拟立方体在3D空间中的初始方位,由3×3旋转矩阵R表示(注意,步骤S40和S50中的旋转矩阵可以相同或不同)。类似于上一步骤S40,具有旋转矩阵R的初始方位产生三个正交的VPvx、vy和vz。但是,步骤S40和步骤S50之间的至少一个区别是,由于所有线段已经被分类并分组为X、Y和Z组,因此首先将步骤S50中的虚拟立方体旋转到最佳初始方位(如图5的右图所示),以使vx最接近X组中的所有线段;vy最接近Y组中的所有线段;vz最接近Z组中的所有线段。
在子步骤P20,测量VPvx、vy、vz与它们各自组中每条线段之间的距离δi。例如,参照图10,测量vx和X组的线li之间的距离δi,其中距离δi如前所述根据旋转矩阵R来确定:
Figure BDA0002691810060000101
在本步骤中,进一步应用线性化旋转矩阵技术,将旋转矩阵R处的无穷小旋转扰动近似为:R′=(1-[φ]×)R,其中φ是三向量欧拉角。这种技术实现了低复杂度的线性矩阵计算。请注意,对于任何三向量a=(a1,a2,a3),它具有:
Figure BDA0002691810060000102
然后,由于标量残差误差
Figure BDA0002691810060000103
与旋转矩阵R相关,可以将R'代入∈i,这样,总的Sampson误差就可以由φ表达,产生以下表达式:
Figure BDA0002691810060000104
在子步骤P20,计算总的Sampson误差,相当于计算vx、vy、vz与它们各自组中每个线段之间的距离δi。三个正交VPvx、vy、vz的最小二乘估计(LSE)表示为
Figure BDA0002691810060000105
表达式的输出可以包含最优正交
Figure BDA0002691810060000106
共同为:
Figure BDA0002691810060000111
Figure BDA0002691810060000112
Figure BDA0002691810060000113
在子步骤P30,根据总的Sampson误差计算出最优三矢量欧拉角φ*,也称为最佳旋转。由于总的Sampson误差J(φ)是φ的函数,因此J(φ)的最小值出现在
Figure BDA0002691810060000114
(即在总Sampson误差变化率为零的方位)。因此,通过求解方程
Figure BDA0002691810060000115
就可以确定最佳的三矢量欧拉角φ*(即最佳或最佳方位)。
在子步骤P40,将最佳三矢量欧拉角φ*通过
Figure BDA0002691810060000119
转换为3×3旋转矩阵,也称为旋转矩阵R″,其中eA是矩阵A的指数函数。旋转矩阵R″表示一个新的方向。应当注意,所产生的旋转矩阵R″与前述旋转矩阵R′不同,因此用不同的符号标示。
在子步骤P50,检查三矢量欧拉角φ*的绝对值(即||φ*||)是否非常接近0。如果非常接近0,则计算进行到子步骤P60。否则,计算从子步骤P20重复进行,产生的旋转矩阵R″作为输入,代替在子步骤P10中生成的初始旋转矩阵R;然后通过再次执行子步骤P20-P40得到另一个3×3旋转矩阵。
在子步骤P60,还计算了产生的旋转矩阵R″的协方差,其等效于旋转矩阵R″由于li的误差的不确定性。
在子步骤P70,通过
Figure BDA0002691810060000116
来计算VP
Figure BDA0002691810060000117
也就是说,产生的旋转矩阵R″用作计算
Figure BDA0002691810060000118
的输入。在一个实施例中,如果执行迭代执行(即当子步骤P50的结果导致从子步骤P20重复执行),则最终得到的用于计算地面方向的3×3旋转矩阵R预期具有最小的总误差trace(Σφ)。
步骤S50也可以描述为定性计算,其输入参数包括初始旋转矩阵R0、分别经过vx、vy、vz的三组线段li、相机校准矩阵K和像素噪声协方差∑g。目的是找到R*,使
Figure BDA0002691810060000121
最小,并找到R0处以线性化欧拉角表示的R*的协方差∑φ
步骤S50的定性计算包括以下步骤:
步骤I:通过使用初始旋转矩阵R0作为输入(R←R0),来初始化参数R;
步骤II:计算出如下中间表达式:
Figure BDA0002691810060000122
Figure BDA0002691810060000123
φ=A+b;
Figure BDA0002691810060000124
其中A+是A的伪逆;
步骤III:以RφR作为输入(R←RφR),更新参数R;
步骤IV:确定是否进行下一步计算:如果‖φ‖非常接近0,则确定进行下一步。否则,返回步骤II;
步骤V:通过使用参数R(R*←R),设置最终确定参数R*,并计算R*的协方差∑φ,其中∑φ=A+
在一个实施例中,如果‖φ‖不是非常接近于0或超过预设阈值,则重复步骤I至步骤V,将R*作为输入来设置步骤I中的R(R←R*),并重复执行计算,直到‖φ‖非常接近0。
再次参考图4。在步骤S60,利用获得的
Figure BDA0002691810060000125
通过
Figure BDA0002691810060000126
来计算地面法线n,即与地平面成90度的法线矢量。在一实施例中,使用多个连续的图像或视频帧来寻找最准确的地面法线n'。在这种情况下,步骤S10至S60循环执行,每次循环都在例如30个图像或视频帧序列中最后一个图像或视频帧之后的图像或视频帧上开始执行,或者在一个预定时间段内拍摄的图像或视频帧上执行。在一个实施例中,在步骤S30中使用的虚拟立方体的初始3D方位是随机选择的,并且对于每次循环执行中的每个图像或视频帧来说是不同的。在完成循环执行之后,在一个实施例的步骤S70,响应于在步骤S50中计算出的协方差,通过选择具有最小估计误差的地面方位来确定最准确的地面法线n'。在另一个实施例中,最准确的地面法线n'是在循环执行中获得的所有地面法线的收敛。然后输出最准确的地面法线n',以确定视频帧/图像中的地平面。
通过以上过程,由于从正交VP估计出地面方位,因此相应地获得了相机方位。在上面的说明性示例中,X、Y和Z组都不为空。尽管如此,本发明实施例允许三个组中的任何一个组为空(例如X和Y组均包含至少一个检测到并分类的线段,但是Z组为空),因为步骤S50中的计算需要三个VP中至少两个与虚拟立方体的方向匹配。尽管如此,步骤S50利用了具有全部三个非空组的优点。它将所有三个VP匹配到三个组,并进一步减少估计误差。
参考图12,当且仅当
Figure BDA0002691810060000131
时,点v才在线段l上。参考图13,假设对所有i(lx,ly,lz),都有一组线段li,则在最小二乘意义上,最接近组中所有线段的单个公共交点v*(v* x,v* y,v* z中的任意一个)是:
Figure BDA0002691810060000132
其中‖a‖是向量a的范数。
此外,假设三组线段
Figure BDA0002691810060000133
它们各自的三个最小二乘相交点
Figure BDA0002691810060000134
是:
Figure BDA0002691810060000135
为了加强
Figure BDA0002691810060000136
之间的正交性,避免0的平凡解,上述最小化受以下约束:
Figure BDA0002691810060000137
Figure BDA0002691810060000138
组为空的情况下,仍然可以通过正交性约束从
Figure BDA0002691810060000139
计算
Figure BDA00026918100600001310
因此,在视频帧/图像中例如没有垂直结构时,可以估计出一个地平面。此外,从所有组的线
Figure BDA0002691810060000141
中估计
Figure BDA0002691810060000142
而不是仅从
Figure BDA0002691810060000143
组中估计
Figure BDA0002691810060000144
这样进一步降低了
Figure BDA0002691810060000145
的误差不确定性,从而解决了前置相机中Z VP估计困难的问题。
另一方面,如上式(1)所示的,很难求解六个二次等式约束的二次最小二乘最小化问题。为此,本发明提供了如下解决方案,通过旋转来规避二次等式约束。
Figure BDA0002691810060000146
中的基本方向定义为X=[1,0,0],Y=[0,1,0]和Z=[0,0,1],它们的VP由相机校准矩阵K成像为:
qx=KX,qy=KY,qz=KZ…(2)
由于
Figure BDA0002691810060000147
和qx,qy,qz在无限远(Infinity)平面上,因此存在投影变换H*,从而使
Figure BDA0002691810060000148
对于d为x、y和z…(3)
一个简单的检查可以发现
Figure BDA0002691810060000149
Figure BDA00026918100600001410
上是正交的。由于H*变换无限远(Infinity)平面上的点,所以此处应用了“无限远平面的单应性(infinitehomography)”的特点,使得:
H*=KR*K-1,其中R*是一个旋转矩阵…(4)
因此,将等式(2)、(3)和(4)代入等式(1),则所有i、j、k的三个线段组
Figure BDA00026918100600001411
的最小二乘相交点问题变为:
Figure BDA00026918100600001412
这样,消除了六个二次等式约束,并将其转变为只依赖于一个旋转矩阵约束。此外,它解释了距离δi的定义与
Figure BDA00026918100600001413
有关,并有效地估计了相机方位。
因此,利用正交VP的特性,通过分析感测结构来自动估计相机方位。核心算法适当建立在最小二乘优化方法上,使得相机方位的误差不确定性可以计算出来。
图14描述了本发明各种实施例应用的AGV 300的另一示例性实施方式的示意图。本实施例的配置与前述配置相似或相同,但是至少有一个不同之处,即本实施例的AGV 300还包括本地CPU 340和GPU 350,用于完全本地化的机器视觉计算来代替依赖于远程处理服务器。
控制电路330与前置相机320、CPU 340和GPU 350电连接。控制电路330被配置成将由前置相机320记录的视频文件发送到CPU 340和GPU 350,用于估计相机方位。本实施例的配置使得AGV 300能够用作街道车辆或商用/家用机器人。
尽管本发明的以上描述仅涉及地面AGV,但是本领域普通技术人员可以容易地将本发明各种实施例改编和应用到其他机器视觉应用中,例如空中和海上无人机,而不需要进行过多的实验或偏离本发明精神。
本文所公开的电子实施例可以使用计算设备、计算机处理器或电子电路来实现,包括但不限于专用集成电路(ASIC)、现场可编程门阵列(FPGA)以及根据本公开的教导而配置或编程的其他可编程逻辑装置。在计算设备、计算机处理器或可编程逻辑装置中运行的计算机指令或软件代码可以由软件或电子领域的技术人员基于本公开的教导容易地准备。
全部或部分电子实施例可以在一个或多个计算设备中执行,所述计算设备包括服务器计算机、个人计算机、膝上型计算机、移动计算设备,如智能电话和平板计算机。
电子实施例包括其中存储有计算机指令或软件代码的计算机存储介质,该计算机指令或软件代码可用于对计算机或微处理器进行编程以执行本发明的任何过程。存储介质可以包括但不限于软盘、光盘、蓝光光盘、DVD、CD-ROM和磁光盘、ROM、RAM、闪存设备或适合存储指令、代码和/或数据任何类型的介质或设备。
本发明各种实施例也可以在分布式计算环境和/或云计算环境中实现,其中,机器指令的全部或部分由通过通信网络互连的一个或多个处理设备以分布式方式执行,所述通信网络包括如内联网、广域网(WAN)、局域网(LAN)、互联网和其他形式的数据传输介质。
为了说明和描述的目的,已经提供了本发明的前述描述。其并非旨在穷举或将本发明限制为所公开的精确形式。许多修改和变化对本领域技术人员而言是显而易见的。
选择和描述的实施例是为了最好地解释本发明的原理及其实际应用,从而使本领域的其他技术人员能够理解本发明的各种实施例以及具有适合于所设想的特定用途的各种修改。

Claims (15)

1.一种估计前置相机的相机方位的方法,包括:
记录所述前置相机前场景的第一图像;
确定所述第一图像上的地平面,包括:
在所述第一图像的场景中检测多个线段;
将具有三个正交消失点的第一虚拟立方体叠加到所述第一图像上,其中所述第一虚拟立方体处于第一三维(3D)方向;
通过比较和识别所述第一虚拟立方体的三个正交消失点中的每个消失点与每条检测到的线段之间的垂直距离中的最短距离,将所述第一图像的线段分类和分组为第一、第二和第三3D方位组;
将第二虚拟立方体叠加到所述第一图像上,其中所述第二虚拟立方体在所述第一图像上具有三个正交消失点,其中所述第二虚拟立方体处于由初始旋转矩阵R0表示的初始3D方位上;
通过迭代改变所述第二虚拟立方体的所述3D方位,并从所述初始3D方位开始,在每次迭代中测量所述三个正交消失点到所述三个线段组的垂直距离,计算所述第二虚拟立方体相对于所述线段组的最佳3D方位,其中所述第二虚拟立方体的所述最佳3D方位是提供最短垂直距离的方位;
计算所述第二虚拟立方体在所述最佳方位的所述三个正交消失点的协方差;
从所述第二虚拟立方体在所述最佳方位的所述三个正交消失点之一计算地面方位;
根据所述地面方位确定所述第一图像上的地平面,并根据所述协方差确定估计误差;
根据所确定的所述第一图像上的地平面,估计所述前置相机的所述相机方位。
2.根据权利要求1所述的方法,其中所述第一虚拟立方体的所述第一3D方位是随机选择的。
3.根据权利要求1所述的方法,其中所述第一虚拟立方体的所述第一3D方位是基于所述前置相机的最近已知位置和方位的最佳猜测选择。
4.根据权利要求1所述的方法,还包括:
在所述第一图像之后记录所述前置相机前场景的的第二图像;
将所述第二虚拟立方体的最佳方位作为输入,以确定所述第二图像上的地平面;
从所确定的所述第二图像上的地平面估计所述前置相机的所述相机方位。
5.根据权利要求1所述的方法,还包括:
重复记录所述前置相机前场景的N个后续图像;
对于每个后续图像,确定所述第一图像上的地平面,其中所述第一图像是所述后续图像;
在所确定的所述后续图像的地平面中选择一个最精确的地平面,其中所述最精确的地平面对应于根据所述协方差而计算出的具有最小估计误差的地平面;
从所述最精确的地平面估计所述前置相机的所述相机方位。
6.根据权利要求1所述的方法,其中所述第一虚拟立方体的所述三个正交消失点是通过使用预定的相机校准矩阵计算得到的;
其中,对所述第一图像的所述检测到的线段进行分类和分组包括:
获得所述第一虚拟立方体的所述三个正交消失点与目标线段之间的三个参考值,其中所述三个参考值分别与所述第一虚拟立方体的所述三个正交消失点与每个线段之间的垂直距离有关;
当只有一个所述参考值低于接受阈值,而其余参考值高于拒绝阈值时,将所述目标线段分组为所述第一、第二和第三组。
7.根据权利要求1所述的方法,其中所述第二虚拟立方体的所述三个正交消失点是通过预定的相机校准矩阵计算得到的;
其中,计算所述第二虚拟立方体相对于所述分组线段的最佳方位包括:
通过使用欧拉角φ对所述初始旋转矩阵R0施加无穷小的旋转扰动,从而得出欧拉角φ的函数;
将目标线段两端的像素噪声水平作为所述欧拉角φ函数的输入,从而得到表示所述目标线段与所述第二虚拟立方体的所述三个正交消失点之间关系的Sampson误差距离公式;
计算一个目标欧拉角φ*,使得代入所述目标欧拉角φ*的所述欧拉角φ函数的变化率为0;
使用所述目标欧拉角φ*计算所述第二虚拟立方体的所述最佳方位。
8.根据权利要求7所述的方法,其中计算所述第二虚拟立方体相对于所述分组线段的最佳方位是一种迭代算法,使得所述目标欧拉角φ*的绝对值收敛于接近零。
9.根据权利要求7所述的方法,其中计算所述目标欧拉角φ*使得代入所述目标欧拉角φ*的所述欧拉角φ函数的变化率为0,包括:
计算φ*=A+b,其中
Figure FDA0002691810050000031
Figure FDA0002691810050000041
Figure FDA0002691810050000042
Figure FDA0002691810050000043
Figure FDA0002691810050000044
Figure FDA0002691810050000045
li=(pi,qi,1)×(ui,vi,1),其是两端点(pi,qi)和(ui,vi)之间的所述目标线段;
K是所述相机校准矩阵;
R是通过使用所述初始旋转矩阵R0作为输入而设置的;
Figure FDA0002691810050000046
vz,vy,vx是所述第二虚拟立方体的所述三个正交消失点;
Figure FDA0002691810050000047
g是所述目标线段两端的所述像素噪声水平。
10.根据权利要求7所述的方法,还包括:将所述目标欧拉角φ*转换为一个旋转矩阵以作用于所述第二管。
11.根据权利要求1所述的方法,其中计算所述地平面方位包括:
将得到的代表所述第二虚拟立方体的所述最佳方位的旋转矩阵R*作为输入,以将所述地平面方位的地面法向量n计算为n=R*[0,0,1]T
12.根据权利要求1所述的方法,其中从所述第一图像检测所述多个线段包括:
使用Canny边缘检测,将所述第一张图像的RBG转换为仅包含0和1的2D阵列;
使用统计Hough变换,从所述2D阵列中检测所述线段。
13.一种用于引导具有前置相机的车辆的方法,包括:
执行权利要求1所述的估计前置相机的相机方位的方法;
根据所述估计的相机方位,由远程处理服务器控制所述车辆的运动。
14.一种用于估计自动驾驶车辆(AGV)的前置相机的相机方位的远程处理服务器,包括:
与所述AGV进行数据通信的处理器;
其中所述处理器被配置以从所述AGV接收视频文件或数据流,并关于所述AGV的所述前置相机执行权利要求1所述的估计相机方位的方法。
15.一种自动驾驶车辆(AGV),包括:
安装在所述AGV车体前侧的前置相机,其被配置以拍摄所述AGV前的场景;
处理器,其被配置以从所述前置相机接收视频文件或数据流,并关于所述AGV的所述前置相机执行权利要求1所述的估计相机方位的方法。
CN202080002022.5A 2020-08-12 2020-08-21 估计相机相对于地面的方位的装置和方法 Active CN113016007B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/992,088 2020-08-12
US16/992,088 US11348277B2 (en) 2020-08-12 2020-08-12 Apparatus and method for estimating camera orientation relative to ground surface
PCT/CN2020/110626 WO2022032716A1 (en) 2020-08-12 2020-08-21 Apparatus and method for estimating camera orientation relative to ground surface

Publications (2)

Publication Number Publication Date
CN113016007A true CN113016007A (zh) 2021-06-22
CN113016007B CN113016007B (zh) 2023-11-10

Family

ID=76384081

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080002022.5A Active CN113016007B (zh) 2020-08-12 2020-08-21 估计相机相对于地面的方位的装置和方法

Country Status (1)

Country Link
CN (1) CN113016007B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150029345A1 (en) * 2012-01-23 2015-01-29 Nec Corporation Camera calibration device, camera calibration method, and camera calibration program
CN105046691A (zh) * 2015-06-26 2015-11-11 浙江大学 一种基于正交消失点的相机自标定方法
CN106446815A (zh) * 2016-09-14 2017-02-22 浙江大学 一种同时定位与地图构建方法
WO2018049581A1 (zh) * 2016-09-14 2018-03-22 浙江大学 一种同时定位与地图构建方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150029345A1 (en) * 2012-01-23 2015-01-29 Nec Corporation Camera calibration device, camera calibration method, and camera calibration program
CN105046691A (zh) * 2015-06-26 2015-11-11 浙江大学 一种基于正交消失点的相机自标定方法
CN106446815A (zh) * 2016-09-14 2017-02-22 浙江大学 一种同时定位与地图构建方法
WO2018049581A1 (zh) * 2016-09-14 2018-03-22 浙江大学 一种同时定位与地图构建方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
张振华;周文理;仝富军;孟凡宇;: "虚拟场景中基于空间域的碰撞检测算法研究", 计算机应用, no. 2 *
陈宁凡;蔡利栋;: "一种基于聚类的消失点自动测量方法", 中国体视学与图像分析, no. 01 *

Also Published As

Publication number Publication date
CN113016007B (zh) 2023-11-10

Similar Documents

Publication Publication Date Title
US10782137B2 (en) Methods, apparatus, and systems for localization and mapping
CN110411441B (zh) 用于多模态映射和定位的系统和方法
US10275649B2 (en) Apparatus of recognizing position of mobile robot using direct tracking and method thereof
CN102472609B (zh) 位置和姿势校准方法及设备
US9519971B2 (en) Position and orientation measurement device and position and orientation measurement method
Sweeney et al. Solving for relative pose with a partially known rotation is a quadratic eigenvalue problem
Li et al. A 4-point algorithm for relative pose estimation of a calibrated camera with a known relative rotation angle
WO2019047641A1 (zh) 车载摄像头的姿态误差估计方法和装置
Munoz-Banon et al. Targetless camera-lidar calibration in unstructured environments
JP2024507301A (ja) InSeGAN:深度画像におけるインスタンスセグメント化のための生成アプローチ
CN112991400B (zh) 一种无人艇的多传感器辅助定位方法
CN117490688A (zh) 相机-imu-二维码融合的车间agv导航方法
CN111656404B (zh) 图像处理方法、系统及可移动平台
CN113016007B (zh) 估计相机相对于地面的方位的装置和方法
US20240087155A1 (en) Prior informed pose and scale estimation
US11348277B2 (en) Apparatus and method for estimating camera orientation relative to ground surface
JP2001250122A (ja) 物体の位置姿勢決定処理方法およびそのためのプログラム記録媒体
WO2022033023A1 (en) Apparatus and method for estimating camera orientation relative to ground surface
US12002235B2 (en) Apparatus and method for estimating camera orientation relative to ground surface
Leishman et al. Robust Motion Estimation with RBG-D Cameras
CN113887289A (zh) 一种单目三维物体检测方法、装置、设备及产品
CN111179359A (zh) 一种拍照系统的外参数的确定方法及装置
Tahri et al. Efficient decoupled pose estimation from a set of points
Mitschke et al. Image-based visual servoing of rotationally invariant objects using a u-net prediction
KR102026376B1 (ko) 구조적 환경 특징을 이용한 영상 기반 주행 거리 측정 시스템 및 방법

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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40058172

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant