专利名称:用于确定位置和方位的方法和设备的制作方法
技术领域:
本发明涉及一种用于确定目标的位置和方位的技术。
背景技术:
近年来,进行了大量的关于混合现实的研究,其针对现实空间和虚拟空间的无缝合成。混合现实可以通过视频透视方法显示在图像显示装置上,其中虚拟空间的图像(例如,由计算机图形或文本信息绘成的虚拟物体)叠加到用例如摄像机的摄像装置拍摄而成的现实空间的图像上。虚拟空间根据摄像装置的位置和方位而生成。
另外,混合现实还可以通过光学透视方法显示在设置于观察者头部的光学透视型显示器上,其中显示了根据观察者的观察点的位置和方位而生成的虚拟空间的图像。
作为不同于已知的对于虚拟现实的应用的这些图像显示装置的应用,可以期待新的领域如外科辅助工具,可以将病人身体内的状态叠加到体表或混合现实游戏,其中游戏者与虚拟空间内的虚拟敌人作战。
在这两种新的应用领域中,都要求现实空间与虚拟空间的精确对齐,并且为了达到这个目的进行了各种各样的实验。在视频透视方法中,摄像装置在场景(也就是,在世界坐标系)中的位置和方位的精确确定可以导致混合现实中的精确对齐。同样地,在光学透视方法中,对于观察点或显像在场景上的位置和方位的精确确定可导致混合现实的精确对齐。
在视频透视方法中,通常通过在场景上排列或设定多个标志,也就是人造标记或自然特征并检测标志在由摄像装置拍摄的图像上的投影的坐标来确定摄像装置在场景上的位置和方位。
另外,可以将惯性传感器附着在摄像装置上,并且可以将基于传感器的测量结果而估计的摄像装置的位置和方位用于对标志的检测处理中。估计的结果同样还可以用作初始值用于基于图像计算位置和方位或在未检测标志的情况下用作大致位置。相应地,相较于仅使用了图像信息的情况(参见例如,Hirofumi Fujii、Masayuki Kanbara、Hidehiko Iwasa、Haruo Takemura以及Naokazu Yokoya所著的“ARegistration Method Using Stereo Cameras with an Inertial Sensor forAugmented Reality”,IEICE Technical Report,PRMU 99-192,vol.99,no.574,pp.1-8),可以执行更为稳定的对齐。
在光学透视方法中,通常通过在目标物体上附着摄像装置(以及惯性传感器)、由上述方法确定摄像装置的位置和方位并基于摄像装置的位置和方位计算目标物体的位置和方位来确定目标物体的位置和方位(也就是,观察者的头或显示屏)。
下面参考图1对已知的确定摄像装置的位置和方位的位置/方位确定设备进行描述。图1显示了已知的位置/方位确定设备的结构。如图1所示,已知的位置/方位确定设备100包括图像输入单元160、数据存储器170、标志检测器110、方位传感器单元140、方位预测单元150以及位置/方位计算器120,并且连接到摄像装置130。
另外,作为由摄像装置130拍摄的标志(以下简称为标志),将多个标志Qk(k=1...K1)排列在现实空间的多个位置上。标志Qk在世界坐标系(坐标系由位于现实空间的一个确定点上的原点以及互相垂直的X,Y以及Z轴来定义)的位置是已知的。标志Qk可以排列成当将摄像装置放置在其位置和方位待确定的目标区域内时,总是能够在摄像装置130所获得的图像上观察到至少有三个或更多的标志。在图1所示的例子中,排列了四个标志Q1,Q2,Q3,和Q4,并且将其中的三个标志Q1,Q3和Q4布置在摄像装置130的视野内。
标志Qk可以是具有不同色彩的圈形标记或特征点,例如具有不同质地特征的自然特征。只要图像上的标志的投影坐标是可检测的,并且能够个别地彼此区分这些标志,就可以使用任何类型的标志。
将摄像装置130所输出的图像(下文中称为拍摄图像)输入位置/方位确定设备100。
图像输入单元160将输入到位置/方位确定设备100的拍摄图像转换为数字数据,存储数据到数据存储器170,并且输出将图像输入方位预测单元150的时间。
将方位传感器单元140附着在摄像装置130上。方位传感器单元140测量出其自身目前的方位并且将所测量到的方位输出到方位预测单元150。方位传感器单元140基于回转仪传感器,例如,可以使用Tokimec Inc.制造的TISS-5-40或InterSense Inc.制造的Inertia Cube 2。这些方位传感器单元中的每一个都生成一个随着时间而累积的漂移误差。这样,所测量到的方位包括有误差,且与真实方位有异。
方位预测单元150在对应于前一帧的时间(下文中称为时间τ-1)从数据存储器170处收到摄像装置130的计算方位(从位置/方位计算器120输出)。当摄像装置130输出的是NTSC信号时,在对于每个帧的位置和方位待确定的情况下时间τ-1为33.3毫秒之前而在对于每个半帧的位置和方位待确定的情况下为16.7毫秒。另外,方位预测单元150还在对应于现在帧的时间(下文中称为时间τ)从方位传感器单元140处收到测量到的方位,预测摄像装置130在时间τ的方位,并且输出预测的方位到数据存储器170。
标志检测器110从数据存储器170处接收拍摄图像并且检测到图像所包括的标志Qk的图像坐标。例如,当标志Qk是具有不同色彩的标记时,检测出拍摄图像上对应于标记的色彩的区域,并且将被检测区域的中心点的坐标定义为检测坐标。另外,当标志Qk是具有不同质地特征的特征点时,就在拍摄图像上进行采用了标志模板图像的模板匹配来检测标志的位置。在这种情况下,预先存储标志的模板图像作为已知信息。标志检测器110还可以从数据存储器170处接收摄像装置130在时间τ所计算的位置(从位置/方位计算器120输出)以及预测的方位(从方位预测单元150输出)。在这种情况下,将这些值用于预测图像上的标志的位置并且限制搜索范围,因此就能够以较小的计算负载进行标志检测处理,并且可以减少对于标志的误检测和误识别。
然后,标志检测器110输出被检测标志Qkn的图像坐标uQkn以及标识符kn到数据存储器170。这里,n(n=1...N)指的是被检测标志,且N表示的是被检测标志的总数。例如,在图1所示的情况下,N为3,并且标识符k1=1、k2=3以及k3=4,并且输出对应的u图像坐标Qk1、uQk2以及uQk3。
位置/方位计算器120从数据存储器170处接收在时间τ的预测的方位以及由标志检测器110所检测到的一组每个标志Qkn的图像坐标uQkn以及世界坐标xWQkn。接着,位置/方位计算器120基于使用预测的方位的标志以及作为初始值的在时间τ-1所计算的位置之间的关系计算摄像装置130的位置和方位。将这样计算出的位置和方位输出到数据存储器170,并通过接口(I/F)(没有显示)输出到外部装置。
数据存储器170存储从图像输入单元160输入的图像、从方位预测单元150输入的预测的方位、从位置/方位计算器输入的所计算的位置和方位、从标志检测器110输入的标志的图像坐标和标识符以及事先已知的标志的世界坐标,并且在必要的时候输入或输出这些数据。
以下将结合图2的流程图来描述由包括在已知设备内的方位预测单元150所进行的处理。
虽然有很多方法来表示方位,本例中使用了一个3×3的旋转矩阵。
在步骤S2000中,方位预测单元150判断是否从图像输入单元160输入了一个触发(当输入新图像时产生)。如果输入了一个触发(步骤S2000的是),处理就进行到步骤S2010。如果触发没有输入,重复步骤S2000。
在步骤S2010中,方位预测单元150从方位传感器单元140接收测量到的方位R#(#代表该数据作为测量结果由传感器获得),并且将这个方位设定为时间τ的测量到的方位R#τ。
在步骤S2020中,方位预测单元150从数据存储器170处接收在时间τ-1所计算的方位Rτ-1。
在步骤S2030中,方位预测单元150计算摄像装置130在时间τ和τ-1之间的相对方位变化ΔR#,如下所示ΔR#=(R#τ-1·RSC)-1·R#τ·RSC(1)RSC代表了一个3×3的矩阵,其将照相摄像机坐标系(其中所表达的是摄像装置130的位置和方位的坐标系)中的方位变换到传感器坐标系(其中所表达的是传感器单元140的位置和方位的坐标系)中的方位。RSC基于方位传感器单元140的方位和摄像装置130的方位之间的固定关系作为已知数据而事先设定。
在步骤S2040中,通过为在时间τ-1所计算的方位Rτ-1加上方位变化ΔR#,方位预测单元150计算时间τ的预测的方位R*τ,如下所示R*τ=Rτ-1·ΔR#(2)接着,方位预测单元150输出预测的方位R*τ到数据存储器170。
在步骤S2050中,方位预测单元150判断是否完成处理。如果处理将继续(步骤S2050的否),则将时间τ的测量到的方位R#τ作为前一次循环的测量到的方位R#τ-1存储起来,并且处理回到步骤S2000。
接下来,参考图3所示流程图对由已知设备内的位置/方位计算器120进行的处理进行描述。结构是已知的,通过对非线性等式的交互性解答来计算摄像装置130的位置和方位。
在位置/方位计算器120中,将待计算的摄像装置130的位置和方位内部表达为三元素向量t=[x y z]T以及ω=[ξψζ]T。相应地,待确定的未知参数由六元素的状态向量s=[x y zξψζ]T来表达。
虽然有各种的方法来用三个元素表达一个方位,但是本例中使用的是一个三元素的向量,用其绝对值来定义旋转角及用其方向来定义旋转轴方向。另外,方位ω可以用一个3×3的旋转矩阵R如下表示
R(ω)=ξ2θ2(1-cosθ)+cosθξψθ2(1-cosθ)-ζθsinθξζθ2(1-cosθ)+ψθsinθψξθ2(1-cosθ)+ζθsinθψ2θ2(1-cosθ)+cosθξζθ2(1-cosθ)-ξθsinθζξθ2(1-cosθ)-ψθsinθζψθ2(1-cosθ)+ξθsinθζ2θ2(1-cosθ)+cosθ...(3)]]>其中θ=ξ2+ψ2+ζ2]]>这样,ω和R可以唯一地相互变换。将R变换成ω的方法是公众已知的,因而对其详细的描述在此省略。
在步骤S3000中,位置/方位计算器120接收时间τ的摄像装置130的预测的方位R*τ并且获得一个三元素向量ω*τ(=[ξ*τψ*τζ*τ]T)。
在步骤S3005中,通过合并预测的方位ω*τ以及在时间τ-1所计算的向量tτ-1,位置/方位计算器120计算初始状态向量s=[xτ-1yτ-1zτ-1ξ*τψ*τζ*τ]T。
在步骤S3010中,位置/方位计算器120从数据存储器170接收由标志检测器110从在时间τ输入的拍摄图像上检测到的标志的图像坐标以及被检测标志的世界坐标。
在步骤S3020中,未知/方位计算器120判断关于标志的输入信息是否已经足以估计位置和方位,并且根据判断结果区分处理。更具体地,如果输入标志的数目为三或更多,处理进行到步骤S3030。如果输入标志的数目小于三,处理进行到步骤S3090。
在步骤S3030中,位置/方位计算器120计算每个标志Qkn的估计的图像坐标uQkn*。通过关于作为已知信息预先存储的每个标志Qkn的世界坐标xWQkn以及当前状态向量S的函数来进行对估计的图像坐标uQkn*的计算,如下所示uQkn*=Fc(xWQkn,S) (4)函数Fc()包括下面的等式用以从xWQkn和s获得每个标志的照相摄像机坐标xCQkn(由位于照相摄像机上的特定点的原点以及互相垂直的X,Y和Z轴来定义的坐标系)XCQkn=xCQknyCQknzCQkn=R(ω)-1(xWQkn-t)...(5)]]>
以及下面的等式用以从照相摄像机坐标xCQkn获得图像坐标uQkn*uQkn*=uxQkn*uyQkn*T=-fxcxCQknzCQkn-fycyCQknzCQknT...(6)]]>这里,fCx和fCy分别是摄像装置130沿着x轴和y轴的焦距,并且预先设定为已知值。
在步骤S3040中,位置方位计算器120计算每一个标志Qkn的估计的图像坐标uQkn*和测量到的图像坐标uQkn之间的误差ΔuQkn,如下所示ΔuQkn=uQkn-uQkn*(7)在步骤S3050中,位置/方位计算器120计算关于每个标志Qkn的状态向量s的图像雅可比行列式JusQkn(=u/s)。该图像雅可比行列式JusQkn是一个2行6列的雅可比矩阵,其元素由等式(4)中的函数Fc()对状态向量S的元素进行偏微分而获得。更为明确地,首先,计算一个2行3列的雅可比矩阵JuxQkn(=u/x),其元素由等式(6)的右边对照相摄像机坐标xCQkn的元素进行偏微分而获得。另外,还计算一个3行6列的雅可比矩阵JxsQkn(=x/s),其元素由等式(5)的右边对状态向量S的元素进行偏微分而获得。这样,如下所示计算图像雅可比行列式JusQknJusQkn=JuxQkn·JxsQkn(8)在步骤S3060中,位置/方位计算器120在步骤S3040中和步骤S3050中分别计算出的误差ΔuQkn以及图像雅可比行列式JusQkn计算状态向量s的校正向量Δs。更为具体地,首先,通过将误差ΔuQkn垂直排列,得到如下所示的一个2N维的误差向量U=ΔuQk1···ΔuQkN...(9)]]>另外,通过将图像雅可比行列式JusQkn垂直排列,得到如下所示的2N行6列的矩阵
Θ=JusQk1···JusQkN...(10)]]>这样,使用Θ的伪逆矩阵Θ′计算校正向量Δs,如下所示Δs=Θ′U (11)由于图1所示的例子中N为3,误差向量U为一个六维向量,并且Θ为一个6行6列的矩阵。
在步骤S3070中,位置/方位计算器120使用步骤S3060计算出的校正向量Δs来校正状态向量s,并且将校正后的状态向量s设定为新的估计的状态向量ss+Δs→s(12)在步骤S3080中,位置/方位计算器120使用特定的标准来判断计算是否收敛,例如,误差向量U是否小于预定的限度或者校正误差向量Δs是否小于预定的限度。如果计算没有收敛,处理就回到步骤S3030,并且使用校正状态向量s重复步骤S3030-步骤S3080。
如果在步骤S3080中判断为计算收敛,处理就进行到步骤S3090并且位置/方位计算器120输出所获得的状态向量s作为摄像装置130在时间τ的位置和方位的信息(也就是,sτ)。位置和方位的信息可以是s自身。还可以的是,还可以输出一组代表着方位3×3的矩阵R以及代表着从s计算出的位置的三维向量t。
在步骤S3100中,位置/方位计算器120判断是否完成处理。如果处理将继续,处理就回到步骤S3000并且输入对应于下一帧(时间τ+1)的数据并且随后的帧都服从于相同的处理。
上述方法通常用于确定摄像装置的位置和方位。另外,这种方法还可以用于确定任意目标物体(例如,光学透视头部设置显示屏(HMD))的位置和方位。在这种情况下,将摄像装置附着在目标物体上并且使用上述方法来确定摄像装置的位置和方位。于是,目标物体的位置和方位就可以从已知的摄像装置的位置和方位和目标物体的位置和方位之间的关系而获得。
在上述已知方法中,从方位传感器单元获得的信息仅作为用以基于从图像所检测到的标志在对齐处理中预测标志的坐标以及计算初始值的辅助信息,而最终的估计的位置和方位仅由图像信息而确定。于是,如果输入图像并不包括足够的图像信息以进行稳定对齐,例如,当标志是在图像的相对较为狭窄的区域上收集的时,当仅检测到三个标志时,或当标志检测发生误差时,会有不能获得足够精确且稳定的解的风险。另外,当只观察到两个或更少的标志时,就不可能获得解。虽然可以通过在场景上均匀设定很多标志来避免这些问题,但是将这些标志彼此识别开就变得困难且这种情况下的现实空间的外观就会降低。
发明内容
本发明提供了一种方法及设备用于确定摄像装置的位置和方位即使在图像上观察的标志的数目较少的情况下。另外,本发明提供一种方法以及设备用于获得具有增加稳定性的解。
根据本发明的一个方面,一种位置/方位确定方法用于确定目标物体的位置和方位,包括图像输入步骤输入从附着在目标物体上的摄像装置所获得的拍摄图像;方位输入步骤输入从获取关于目标物体的方位的信息的方位传感器处获得的测量到的方位;特征检测步骤获得作为测量到的特征值的关于排列在来自拍摄图像的场景上的标志的图像坐标的特征值;以及参数计算步骤计算用于确定目标物体的位置和方位的参数;以及位置/方位计算步骤使用参数计算步骤得到的参数计算目标物体的位置和方位。在计算步骤中,通过使用关于参数的特征值的图像雅可比行列式进行重复计算而确定参数,使得关于标志的图像坐标的理论特征值以及测量到的特征值之间的误差减小,理论特征值是基于测量到的方位和估计的参数而获得的并且测量到的特征值在特征检测步骤获得。
根据本发明的另一个方面,一种位置/方位确定方法用于确定拍摄场景的摄像装置的位置和方位,包括图像输入步骤输入从摄像装置获得的拍摄图像;方位输入步骤输入从获取关于摄像装置的方位的信息的方位传感器处获得的测量到的方位;特征检测步骤获得作为测量到的特征值的关于排列在来自拍摄图像的场景上的标志的图像坐标的特征值;以及计算步骤计算用于确定摄像装置的位置和方位的参数。在计算步骤中,使用关于参数的理论特征值的图像雅可比行列式,计算参数从而使得基于特征检测步骤所获得的测量到的特征值和基于测量到的方位和估计的参数而获得的理论特征值之间的误差得到减小。
根据本发明的另外一个方面,一种位置/方位确定方法用于确定拍摄场景的摄像装置的位置和方位,包括图像输入步骤输入从摄像装置获得的拍摄图像;方位输入步骤输入从获取关于摄像装置的方位的信息的方位传感器处获得的拍摄图像;特征检测步骤获得作为测量到的特征值的关于排列在来自拍摄图像的场景上的标志的图像坐标的特征值;校正值更新步骤,其中操作员更新对于测量到的方位的误差校正值;误差校正步骤基于测量到的方位和误差校正值获得校正方位;以及计算步骤使用校正方位以及关于标志的图像坐标的测量到的特征值来计算至少摄像装置的位置。
本发明的其它特征和优势将在以下结合附图的描述中变得明显,附图中贯穿图形的同样的参考符号所指的是相同或相似的部分。
图1的图表显示的是已知的确定摄像装置的位置和方位的位置/方位确定设备的结构。
图2的流程图表示的是包括在已知的确定摄像装置的位置和方位的位置/方位确定设备中的方位预测单元所进行的处理。
图3的流程图表示的是包括在已知的确定摄像装置的位置和方位的位置/方位确定设备中的位置/方位计算器所进行的处理。
图4的图表表示的是根据第一实施例的位置/方位确定设备的结构。
图5的图表表示的是计算机的基本结构。
图6的流程图表示的是当CPU执行对应于方位预测单元的软件程序时,计算代表摄像装置的位置和方位的参数的处理。
图7的流程图表示的是当CPU执行对应于位置/方位计算器的软件程序时,计算代表摄像装置的位置和方位的参数处理。
图8的图表表示的是根据第二实施例的位置/方位确定设备的结构。
图9的流程图表示的是当CPU执行对应于位置/方位计算器的软件程序时,计算代表摄像装置的位置和方位的参数的处理。
具体实施例方式
以下参照附图对本发明的实施例进行描述第一实施例根据第一实施例的一种位置/方位确定设备确定摄像装置的位置和方位。以下描述根据本实施例的位置/方位确定设备以及一种位置/方位确定方法。
图4表示了根据本实施例的位置/方位确定设备的结构。如图4所示,根据本实施例的位置/方位确定设备400包括图像输入单元160、数据存储器170、标志检测器110、方位传感器单元140、方位预测单元450以及位置/方位计算器420,并且与摄像装置130相连。另外,把将由摄像装置130拍摄的标志排列在现实空间的多个位置上,与上述已知结构相似。由与图1中的相同的参考编号指示的元件的操作(也就是标志检测器110、方位传感器单元140、图像输入单元160以及数据存储器170的操作)与上述已知的位置/方位确定设备中的相同,且对其详细的描述在此不再重复。
位置/方位计算器420从数据存储器170处接收摄像装置130的预测的方位以及标志检测器110所检测到的每个标志Qkn的一组图像坐标uQkn以及世界坐标xWQkn。接着,位置/方位计算器420基于所接收的信息计算摄像装置130的位置和方位并且通过I/F输出计算结果到外部装置。另外,位置/方位计算器420还输出摄像装置130的所计算的位置到数据存储器170,并且用方位角-漂移-误差校正值的更新值来更新存储在数据存储器170中的方位传感器单元140的方位角-漂移-误差校正值。该更新值来自位置和方位的计算步骤。
下面描述根据本实施例的位置/方位计算器420和已知结构所使用的位置/方位计算器120之间的差异。在位置/方位计算器120中,从方位预测单元150输入的估计的方位仅用于获得计算用的初始值。相对比的是,在本实施例中,将一些具有足够可靠性的预测值用作已知值而不是未知参数。更为具体地,在由位置/方位计算器420进行的计算步骤中,假设方位传感器单元140在倾角(俯仰以及摆动角)的方位测量精确度在允许范围内,并且漂移误差仅包括在方位角(偏航角)内。在方位传感器单元140基于回转仪传感器单元,该回转仪传感器单元具有使用观察地心引力方向的倾角仪来消除倾角方向的漂移误差累积的功能的情况下,这个假设是合理的。满足这种假设的方位传感器单元的一个例子是Tokimec Inc.制造的TISS-5-40。
方位预测单元450从数据存储器170接收方位角-漂移-误差校正值φ,校正从方位传感器单元140输入的测量到的方位以预测摄像装置130的方位,并且输出预测的方位到数据存储器170。
可以将图4所示的图像输入单元160、数据存储器170、标志检测器110、方位预测单元450以及位置/方位计算器420设计成独立的装置,或作为安装在一个或多个计算机并由包括在各个计算机中的中央处理器(CPUs)执行的软件程序。根据本实施例,将图像输入单元160、数据存储器170、标志检测器110、方位预测单元450以及位置/方位计算器420设计成在单独一个计算机中执行的软件程序。
图5所示为执行对应于图像输入单元160、数据存储器170、标志检测器110、方位预测单元450以及位置/方位计算器420的软件程序的计算机的基本结构。
CPU1001利用存储在随机存取存储器(RAM)1002或只读存储器(ROM)1003中的程序和数据控制着整个计算机。另外,CPU1001执行对应于图像输入单元160、数据存储器170、标志检测器110、方位预测单元450以及位置/方位计算器420的软件程序以提供其功能。
RAM1002包括临时存储从外部存储装置1007或存储介质驱动器1008装载的程序和数据的存储区以及CPU1001用以执行各种处理的工作区。RAM1002提供数据存储器170的功能。
ROM1003通常用以为计算机存储程序以及规定数据。另外,操作者用键盘1004以及鼠标1005来输入各种指令到CPU1001。
显示屏1006包括一个阴极射线管(CRT),一个液晶面板,等等,并且显示待显示在摄像装置130的位置/方位确定中的讯息。
外部存储装置1007如同大容量存储系统一样运行,例如硬盘,并且存储操作系统(OS)以及软件程序。在本实施例中,将预先已知的信息存储在外部存储装置1007,并在需要时将其装载到RAM1002。
存储介质驱动器1008根据CPU1001发出的指令,读出存储在存储介质,例如CD-ROM(压缩光盘-ROM)以及DVD-ROM(数字通用光盘-ROM),上的程序和数据,并且输出程序和数据到RAM1002或外部存储装置1007。
I/F1009包括模拟视频段口或数字输入/输出端口,例如IEEE1394,用以提供和摄像装置130的连接,一个串行端口,例如RS232C和USB,用以提供与方位传感器单元140的连接,以及以太网端口用以输出摄像装置的所计算的位置和方位到外部装置。将来自上述元件的数据通过I/F1009输入到RAM1002。I/F1009具备图像输入单元160的部分功能。
总线1010将上述元件彼此相连。
图6的流程图表示的是方位预测单元450所进行的处理。在CPU1001执行对应于方位预测单元450的软件程序时实现该处理。在处理开始前就将对应于这个流程图的程序代码装载到RAM1002上。
在步骤S6000中,方位预测单元450从方位传感器单元140接收测量到的方位R#。
在步骤S6010中,方位预测单元450从数据存储器170接收方位角-漂移误差校正值φ*。
在步骤S6020中,方位预测单元450将测量到的方位R#(方位传感器单元140的方位)提交给从方位传感器单元140到摄像装置130的方位的变换,并且使用方位角-漂移-误差校正值φ*来进行漂移误差校正。将经过方位角-漂移-误差校正而得到的摄像装置130的方位设定为预测的方位R*,如下所示R*=ΔR(φ*)·R#·RSC(13)其中ΔR(φ)是一个旋转矩阵,代表方位角旋转角度φ,并且将其作为φ的函数表示如下ΔR(φ)=l1l1(1-cosφ)+cosφl2l1(1-cosφ)-l3sinφl3l1(1-cosφ)+l2sinφl1l2(1-cosφ)+l3sinφl2l2(1-cosφ)+cosφl3l2(1-cosφ)-l1sinφl1l3(1-cosφ)-l2sinφl2l3(1-cosφ)+l1sinφl3l3(1-cosφ)+cosφ...(14)]]>这里,l=(l1,l2,l3)表示世界坐标系中代表垂直向上的方向(和地心引力方向相反)的已知向量。
在步骤S6030中,方位预测单元450输出预测的方位R*到数据存储器170。
在步骤S6040中,方位预测单元450判断是否完成处理。如果处理将继续,处理就回到步骤S6000。
图7的流程图表示的是对代表着摄像装置130的位置和方位的参数的计算处理。在CPU1001执行对应于位置/方位计算器420的软件程序时实现该处理。将对应于该流程的程序代码在处理开始前装载到RAM1002。
和上述已知结构中的位置/方位计算器120有所不同,位置/方位计算器420计算四个作为未知参数的参数,其包括代表摄像装置130的位置(t=[xyz]T)以及方位传感器单元140的方位角-漂移-误差校正值的更新值φ的元素。这样,在本实施例中,并不将所有的代表方位的元素都作为未知参数来对待。更为具体地,所应用的模板中假设通过仅确定方位角-漂移-误差校正值的更新值φ仅能获得预测的方位R*中的包括漂移误差的方位角以及精确方位。在接下来的描述中,待确定的未知参数由四元素状态向量s′=[xyzφ]T来描述。
在步骤S7000中,位置/方位计算器420从数据存储器170接收摄像装置130的预测的方位R*(从方位预测单元450的输出)。
在步骤S7005中,位置/方位计算器420设定初始状态向量s′为s′=[xτ-1yτ-1zτ-10]T。这里,xτ-1,yτ-1,和zτ-1表示在上一个循环(在时间τ-1)步骤S7090所计算出来的摄像装置(目标)130的位置。
在步骤S7010中,位置/方位计算器420从数据存储器170接收标志检测器110检测到的标志的图像坐标以及其世界坐标。例如,在图4所示的情况下,被检测标志的数目N为2,并且位置/方位计算器420接收图像坐标和uQk1和uQk3以及世界坐标xWQk1和xWQk3。
在步骤S7020中,位置/方位计算器420判断关于标志的输入信息是否足以用来估计位置和方位,并且根据判断结果区分处理。更为具体地,如果输入标志的数目为二或更多,处理进行到步骤S7030。如果输入标志的数目小于二,处理进行到步骤S7090。
在步骤S7030中,位置/方位计算器420基于状态向量s′的函数计算每个标志Qkn的估计的图像坐标uQkn*,如下所示uQkn*=Fc′(xWQkn,s′) (15)更具体地,函数Fc′()包括用于从照相摄像机坐标xCQkn获得图像坐标uQkn*的等式6以及下面的用于从世界坐标xWQkn和s′获得照相摄像机坐标xCQkn的函数xCQkn=xCQknyCQknzCQkn=(ΔR(φ)·R*)-1(xWQkn-xyz)...(16)]]>这里,R*表示的是步骤S7000获得的预测的方位。另外,ΔR(φ)表示的是代表方位角上的φ的旋转的旋转矩阵,并由等式14来表示。
在步骤S7040中,位置/方位计算器420从等式7计算每个标志Qkn的估计的图像坐标uQkn*以及测量到的图像坐标uQkn之间的误差ΔuQkn。
在步骤S7050中,位置/方位计算器420计算对于每个标志Qkn的关于状态向量s′的图像雅可比行列式Jus′Qkn(=u/s′)。该图像雅可比行列式Jus′Qkn是2行4列的雅可比矩阵,其元素由等式15中的函数Fc′()对状态向量s′的元素偏微分而获得。更具体地,首先,计算2行3列的雅可比矩阵JuxQkn(=u/x),其具有将等式6的右边对照相摄像机坐标xCQkn的元素进行偏微分而获得的元素。另外,还计算3行4列的雅可比矩阵Jxs′Qkn(=x/s′),其具有等式16的右边对状态向量s′的元素偏微分而获得的元素。于是,通过用s′来代替s的等式8来计算图像雅可比行列式Jus′Qkn。
在步骤S7060中,位置/方位计算器420基于步骤S7040和步骤S7050分别计算出的误差ΔuQkn和图像雅可比行列式Jus′Qkn计算对于状态向量s′的校正向量Δs′。更具体地,首先将误差ΔuQkn垂直放置获得2N维的误差向量U,并且通过将图像雅可比行列式Jus′Qkn垂直放置获得2N行4列的矩阵Θ。于是通过用s′来代替s的等式11的Θ的伪逆矩阵Θ′来计算校正向量Δs′。由于图4所示的例子中N为2,误差向量U是一个四维向量,并且Θ是一个4行4列的矩阵。
在步骤S7070中,位置/方位计算器420根据用s′来代替s的并使用了在步骤S7060中计算的校正向量Δs′的等式12来校正状态向量s′,并将校正后的状态向量s′设定成新的估计的状态向量s′。
在步骤S7080中,位置/方位计算器420使用特定标准来判断计算是否收敛,例如,误差向量U是否小于预定的限度或校正向量Δs′是否小于预定的限度。如果计算不收敛,处理回到步骤S7030,并使用校正后的状态向量s′来重复步骤S7030-S7080。
如果在步骤S7080中判断计算收敛,处理就进行到步骤S7085,并且位置/方位计算器420从获得的状态向量s′计算摄像装置130的方位。更具体地,从状态向量s′来确定方位角-漂移-误差校正值的更新值φ,并且用更新值φ来计算摄像装置130的方位R,如下所示R=ΔR(φ)·R*(17)在步骤S7090中,位置/方位计算器420通过I/F1009输出摄像装置130的位置和方位的信息到外部装置,并且还输出摄像装置130的位置到数据存储器170。可以将位置和方位输出为一组代表方位的3×3的矩阵R以及代表位置的三维向量t,通过变换方位的元素而获得的Euler角,从位置和方位计算的摄像装置130的观察变换矩阵,或其它位置/方位描述方法。
在步骤S7095中,位置/方位计算器420用前述的计算步骤所获得的方位角-漂移-误差校正值的更新值φ来更新存储在数据存储器170中的方位角-漂移-误差校正值φ*,如下所示φ*+φ→φ*(18)在步骤S7100中,位置/方位计算器420判断是否结束处理。如果处理将继续,则处理回到步骤S7000并输入对应于下一帧(时间τ+1)的数据且随后的帧都服从相同的处理。
相应地,确定摄像装置的位置和方位。在已知的位置/方位确定设备中,需要三个或更多的标志以确定摄像装置的位置和方位。另外,当只提供了三个标志时,由于输入数据没有冗余故而解不稳定(也就是解在很大程度上受标志的坐标检测的误差的影响)。相比较而言,在根据本实施例的位置/方位确定设备中,即使是在图像上仅观察到了两个标志,也可以测量摄像装置的位置和方位。另外,由于待确定的参数的数量较少,当获得三个或更多的标志时,和已知方法相较,信息的冗余相对增加且可以得到更为稳定的解。这个优势在标志的数目为三时尤其明显。相应地,用以获得具有特定稳定性的解的必要标志数目减少,并且没有解的风险同样减少。结果是,提供在场景上的标记的数目可以减少。于是,误检测率可以减少并且可以相应地提高精确度。另外,可以防止外观因标记而变差。
第二实施例在第一实施例中,在一个空间内移动的摄像装置其本身的位置和方位可以确定。相比较而言,根据第二实施例的位置/方位确定设备确定任意目标物体的位置和方位,并且将该设备设计成使得用于获得拍摄图像的照相摄像机附着在根据第一实施例的位置/方位确定设备上。以下对根据第二实施例的位置/方位确定设备和位置/方位确定方法进行描述。
图8所示的是根据本实施例的位置/方位确定设备的结构。如图8所示,根据本实施例的位置/方位确定设备800包括图像输入单元160、数据存储器170、标志检测器110、方位传感器单元140、方位预测单元450、位置/方位计算器820以及摄像装置830。
图8中,和图1和4所示的元件相同的元件用同样的参考编号来指示,并且对其的描述在此不再重复。本实施例和第一实施例的不同之处在于将摄像装置830所获得的图像作为拍摄图像输入到图像输入单元160,方位预测单元450预测摄像装置830的方位,并且将方位传感器单元140附着在摄像装置830上。
将摄像装置830固定在目标物体880上。目标物体880在照相摄像机坐标系中的位置和方位为预知的。
位置/方位计算器820从数据存储器170处接收摄像装置830的预测的方位R*以及一组由标志检测器110检测到的每个标志Qkn的图像坐标uQkn和世界坐标xWQkn。于是,位置/方位计算器820通过和第一实施例中的位置/方位计算器420所执行的处理相同的处理来计算摄像装置830的位置和方位。另外,位置/方位计算器820输出计算位置t到数据存储器170,并且用方位角-漂移-误差校正值的更新值φ来更新存储在数据存储器170中的方位传感器单元140的方位角-漂移-误差值。更新值φ来自位置和方位的计算步骤。
另外,位置/方位计算器820基于摄像装置830的所计算的位置和方位(在世界坐标系中)以及已知的目标物体880在照相摄像机系中的位置和方位计算目标物体880的位置和方位。将所计算出的位置和方位通过I/F1009输出到外部装置。
相应地,确定任意的目标物体的位置和方位。
在本实施例中,位置/方位计算器820确定摄像装置830的位置和方位,并且接着确定目标物体880的位置和方位。然而,目标物体880的位置和方位也可以直接确定。在这种情况下,方位预测单元450通过等式13来预测目标物体880的方位,其中RSC变成了将目标物体坐标系中的方位变换成传感器坐标系中的方位的3×3的矩阵,并且设定包括目标物体880的位置的状态向量s′。另外,将用于获得标志的照相摄像机坐标xCQkn的等式16重写成如下的等式19xCQkn=xCQknyCQknzCQkn=RCO·(ΔR(φ)·Rτ*)-1(xwQkn-xyz)+tCO...(19)]]>其中RCO是一个矩阵,其将目标物体坐标系(由位于目标物体880上的特定点的原点以及互相垂直的X,Y和Z轴来定义的坐标系)中的方位变换成照相摄像机坐标系中的方位,并且tCO是一个向量,其将目标物体坐标系中的位置变换为照相摄像机坐标系中的位置。RCO和tCO是基于已知的目标物体880基于照相摄像机坐标系中的位置和方位计算出来的。
第三实施例在上面所描述的实施例中,将方位传感器单元的方位角-漂移-误差校正值的更新值φ作为未知参数而确定。然而,当方位传感器单元具有高精确度时,当方位传感器单元仅用于短时间内时,或当方位角-漂移-误差校正值的更新值可以手工输入时,可以把将由位置/方位计算器确定的参数限定于摄像装置的位置。根据第三实施例的位置/方位确定设备确定摄像装置的位置和方位,并且将该设备设计成除了位置/方位计算器420的功能外类似于根据第一实施例的位置/方位确定设备。以下对根据本实施例的位置/方位确定设备以及一种位置/方位确定方法进行描述。
在本实施例中,将根据第一实施例的更新值φ设定为0。更具体地,根据本实施例的位置/方位计算器420表达了将由三元素状态向量s″=[xyz]T来确定的未知参数。另外,除了省略关于更新值φ的项之外,根据本实施例的位置/方位计算器执行类似于根据第一实施例的位置/方位计算器420所执行的处理(对于雅可比矩阵,等式16等的计算)。例如,可以将等式16重写为等式20用于从世界坐标xWQkn和s″获得照相摄像机坐标xCQkn,如下所示
xCQkn=xCQknyCQKnzCQkn=R*-1(xWQkn-xyz)...(20)]]>根据本实施例的位置/方位确定设备,待确定的未知参数的数目减小,并且相应地解(摄像装置130的位置和方位)的稳定性进一步增加了。
在方位角-漂移-误差校正值的更新值为手工输入的情况下,可以将一个校正值更新单元添加到图4所示的结构上。该校正值更新单元根据来自操作员的输入接收方位角-漂移-误差校正值的更新值φ,并且根据表达式18更新存储在数据存储器170中的方位角-漂移-误差校正值φ*。该校正值更新单元可以使用包括在键盘1004中的特殊的键作为界面。例如,‘+’键可以用来增加校正值0.1度,并且‘-’键可以用来减少校正值0.1度。该校正值更新单元可以随意地使用在根据第一实施例的结构中,其中方位角-漂移-误差校正值的更新值是基于图像信息而确定的。
第四实施例在上述实施例中,将待确定的未知参数固定到位置和方位角-漂移-误差校正值的更新值φ二者或其一上。然而,并没有必要固定未知参数,并且可以通过根据每个参数的特征而改变未知的参数来进行对位置和方位的估计。根据第四实施例的位置/方位确定设备确定摄像装置的位置和方位,并且将该设备设计成除了位置/方位计算器420的功能外类似于根据第一实施例的位置/方位确定设备。以下描述根据第四实施例的位置/方位确定设备以及一种位置/方位确定方法。
在本实施例中,位置/方位计算器同时具有根据第一实施例的位置/方位计算器和根据第三实施例的位置/方位计算器的功能。基本上,执行根据第三实施例的位置/方位计算器的处理,其中只将位置设为未知参数。另外,根据第一实施例的位置/方位计算器的处理,其中将位置和方位角-漂移-误差校正值的更新值都设定为未知参数,并在每个预定的时间间隔上执行,例如,每10秒(300帧)一次。更新方位角-漂移-误差校正值的时间间隔可以根据方位传感器单元140的漂移特征而设定,并且可以由操作员通过交互式的操作输入。
根据本实施例的位置/方位确定设备,只要方位传感器140仅使用短的时间方位传感器140就具有足够的精确度以忽略方位角漂移,就可以校正方位角漂移,而且可以同时提高解的稳定性。
第五实施例在上述实施例中,方位角-漂移-误差校正值的更新值是基于一个单独的时间点上获得的图像信息而确定的。然而,在邻近的帧获得的方位角漂移误差之间具有高度的相关性,所以可以通过使用多个帧的信息更为精确地确定更新值。根据第五实施例的位置/方位确定设备确定摄像装置的位置和方位,并且除了位置/方位计算器420的功能之外,将该位置/方位确定设备设计成类似于根据第一实施例的位置/方位确定设备。以下对根据第五实施例的位置/方位确定设备以及一种位置/方位确定方法进行描述。
根据本实施例的位置/方位计算器同时具有根据第一实施例的位置/方位计算器和根据第三实施例的位置/方位计算器的功能,并且同时执行第一和第三实施例的参数估计处理。图9的流程图表示的是代表着摄像装置130的位置和方位的参数的计算处理。在CPU1001执行对应于位置/方位计算器的软件程序时实现该处理。将对应于该流程的程序代码在处理开始之前装载到RAM1002。
在步骤S9000中,和第一实施例的步骤S7000相似,位置/方位计算器从数据存储器170处接收摄像装置130的预测的方位R*(从方位预测单元450输出)。
在步骤S9010中,和第一实施例的步骤S7010类似,位置/方位计算器从数据存储器170接收由标志检测器110检测到的标志的图像坐标和世界坐标。
在步骤S9020中,位置/方位计算器执行类似于第一实施例的步骤S7005以及步骤S7020到步骤S7080来估计作为未知参数的摄像装置130的位置t=[xyz]T以及方位传感器单元140的方位角-漂移-误差校正值的更新值φ。
在步骤S9030中,位置/方位计算器累积步骤S9020计算出来的方位角-漂移-误差校正值的更新值φ,并且确定累积更新值φSUM。
在步骤S9040中,位置/方位计算器确定是否对预定数目的帧(例如,30帧)进行了累积。如果对预定数目的帧进行了累积处理,就进行步骤S9050,并且如果没有对预定数目的帧进行了累积处理,就进行步骤S9080。
在步骤S9050中,通过将在步骤S9030中获得的累积更新值φSUM除以帧数,位置/方位计算器计算出平均更新值。将该计算出的平均值设定为方位角-漂移-误差校正值的新的更新值φ。接着,将累积值φSUM清零。
在步骤S9060中,类似于第一实施例的步骤S7095,位置/方位计算器根据表达式18用在步骤S9050中获得的方位角-漂移-误差校正值的更新值φ更新存储在数据存储器170中的方位角-漂移-误差校正值φ*。
在步骤S9070中,位置/方位计算器从等式17并使用在步骤S9050中获得的方位角-漂移-误差校正值的更新值φ来计算摄像装置130的方位,并且设定计算的方位为新的预测的方位。
在步骤S9080中,通过执行类似于第三实施例中的这些步骤,位置/方位计算器估计作为未知参数的摄像装置130的位置t=[xyz]T。
在步骤S9090中,类似于第一实施例的步骤S7090,位置/方位计算器输出摄像装置130的位置和方位的信息。
在步骤S9100中,位置/方位计算器判断是否结束处理。如果处理将继续,处理就回到步骤S9000并且输入对应于下一帧(时间τ+1)的数据并且随后的帧都服从同样的处理。
相应地,由于使用了多个帧的信息,方位角-漂移-误差校正值的更新值的精确度就提高了。虽然本实施例使用了在帧上获得的更新值的平均值,但是还可以使用更新值的中间值或其它低通滤波器。另外,还可以将根据本实施例的位置/方位计算器应用为根据第四实施例的位置/方位计算器,其中将位置以及方位角-漂移-误差的更新值设定为未知参数。
第一修改在上述每个实施例中,将由等式11表示的Gauss-Newton方法用于从误差向量U以及矩阵Θ来计算校正向量Δs。然而,并不是必须利用Gauss-Newton方法来计算校正向量Δs。例如,Levenberg-Marquardt(LM)方法,其为非线性等式的已知迭代解,统计方法如M-估计,其为已知的健壮估计,或其它数字计算方法都可以用于本发明的范围。
第二修改在上述每一个实施例,将标志用作标志Q,每一个标志都对应于一个单独的坐标组(下文中称为点标志)。然而,上述实施例的特征在于未知参数的自由度根据传感器测量的结果而受限制并且剩余未知参数由非线性等式的迭代解而计算出。相应地,标志的类型并不受上述任何一个实施例的限制。
例如,具有特殊几何形状的标记如用于已知的位置/方位确定设备(参见Takahashi、Ishii、Makino以及Nakashizu所著的High-AccuracyRealtime Estimation Method of Position/Orientation of RectangularMarker by Monocular Vision for VR Interface,Proceedings of 3D ImageConference′96,pp.167-172,1996(日文))中的标记同样可以作为标志。在使用了矩形标记的情况下,将矩形的每个顶点的世界坐标作为已知值预先存储起来(或从位置,方位以及标记的尺寸计算出世界坐标)。相应地,通过从图像上检测每个顶点的图像坐标,可以得到类似于根据上述实施例的标志的效果。
另外,也可以使用具有线型特征的标志(下文中称为线标志)如用于另一个已知的位置/方位确定设备的标志(参见例如D.G.Lowe所著Fitting Parameterized Three-Dimensional Models to Images,IEEETransactions on PAMI,vol.13,no.5,pp.441-450,1991)。作为用以评估每个线标志离原点的距离的参照,误差向量U可以由从图像获得的检测值d计算而来的误差Δd以及从状态向量s′获得的估计值d*组成,且矩阵Θ可以通过排列1行6列的雅可比矩阵Jds′(=d/s′)而构成,该矩阵具有用于计算d*的等式对状态向量s′的元素偏微分而获得的元素。相应地,对位置和方位的确定可以类似于上述实施例。另外,通过累积由线标志、点标志以及其它类型的标志而获得的误差以及图像雅可比行列式,可以同时使用所有标志的特征。
第三修改虽然第二实施例中只提供了摄像装置830,可以将多个摄像装置可以附着在目标物体880上以确方位置和方位。在这种情况下,图像输入单元160以及标志检测器110处理从每个照相摄像机获得的输入图像。另外,方位预测单元450以及位置/方位计算器820基于目标物体880的位置和方位进行计算。位置/方位计算器820设定向量s′包括目标物体880的位置以及方位角-漂移-误差校正值的更新值。通过使用了从每个图像获得的标志的信息的等式19(对于每个照相摄像机,RCO和tCO不同)来获得每个标志的误差和图像雅可比行列式,并且通过累积误差和图像雅可比行列式来获得误差向量U和矩阵Θ。相应地,类似于上述实施例,可以估计的位置和方位。
另外,虽然第一实施例中只提供了摄像装置130作为目标物体,但是即使将要把两个摄像装置的位置和方位确定于例如立体视频透视头部设置显示屏中,也可以通过设定摄像装置(例如,用于左眼的摄像装置)为参照来类似地进行位置/方位的确定。
第四修改在每一个上述实施例中,使用了导致方位角漂移误差的方位传感器单元。然而,还可以使用所导致的显著误差仅限于方位角的其它的方位传感器单元。例如,当使用的方位传感器单元通过加速传感器测量倾角并通过地磁传感器测量方位角时,类似于上述实施例,通过将方位和方位角-漂移-误差校正值的更新值设置为未知参数,可以确定目标物体的位置和方位。然而,在这种情况下,误差的特性有别于方位角漂移误差的特性,并且因此这种结构不适用于运用第四和第五实施例。另外,在使用了仅测量倾角方位的传感器单元的情况下,通过进行相似的处理并假设传感器单元是方位角的测量值永远为0的三轴方位传感器单元,可以确定目标物体的位置和方位。
其它实施例本发明还可以通过提供具有存储介质(存储器介质)的系统或设备来实现,该存储介质存有用于执行上述实施例的功能并导致系统或设备的计算机(或CPU或MPU(微处理单元))读取并执行存储在存储介质上的程序代码的软件程序的程序代码。在这种情况下,从存储介质读出的程序代码本身提供上述实施例的功能。另外,上述实施例的功能不仅通过使计算机读取并执行程序代码来实现,还可以通过使运行在计算机上的操作系统(OS)基于程序代码的指令执行一些处理来实现。
更进一步,通过将读自存储介质的程序代码写在插在计算机上的功能扩展板或连接在计算机上的功能扩展单元的存储器上,并使功能扩展板或功能扩展单元的CPU基于程序代码的指令执行一些或全部的处理,也可以实现上述实施例的功能。
当本发明应用在上述存储介质上时,将对应于上述流程图的程序代码存储在记录介质上。
由于可以做出不脱离本发明的主旨和范围的许多明显地、广泛地不同的实施例,因此应当理解,除非在所附权利要求中进行了定义,否则本发明并不局限于其特定实施例。
权利要求
1.一种用于确定目标物体的位置和方位的位置/方位确定方法,该方法包括图像输入步骤,用于输入从附着在目标物体上的摄像装置获得的拍摄图像;方位输入步骤,用于输入从方位传感器获得的测量到的方位,所述方位传感器获取关于目标物体的方位的信息;特征检测步骤,用于获得关于来自拍摄图像的场景上排列的标志的图像坐标的特征值,作为测量到的特征值;以及计算步骤,用于计算用于确定目标物体的位置和方位的参数,利用关于该参数的理论特征值的图像雅可比行列式计算该参数,使得在特征检测步骤中所获得的测量到的特征值和基于测量到的方位和估计的参数而获得的理论特征值之间的误差减小。
2.根据权利要求1所述的位置/方位确定方法,其中参数代表的是校正值,其用于校正方位传感器的方位角误差以及目标物体的位置。
3.根据权利要求2所述的位置/方位确定方法,其中参数代表的是目标物体的位置。
4.一种用于确定拍摄场景的摄像装置的位置和方位的位置/方位确定方法,该方法包括图像输入步骤,用于输入从摄像装置获得的拍摄图像;方位输入步骤,用于输入从方位传感器获得的测量到的方位,所述方位传感器获取关于摄像装置的方位的信息;特征检测步骤,用于获得关于来自拍摄图像的场景上排列的标志的图像坐标的特征值,作为测量到的特征值;以及计算步骤,用于计算用于确定摄像装置的位置和方位的参数,利用关于该参数的理论特征值的图像雅可比行列式计算该参数,使得在特征检测步骤中所获得的测量到的特征值和基于测量到的方位和估计的参数而获得的理论特征值之间的误差减小。
5.根据权利要求4所述的位置/方位确定方法,其中参数代表的是校正值,其用于校正方位传感器的方位角误差以及目标物体的位置。
6.根据权利要求5所述的位置/方位确定方法,其中参数代表的是目标物体的位置。
7.一种用于确定拍摄场景的摄像装置的位置和方位的位置/方位确定方法,该方法包括图像输入步骤,用于输入从摄像装置获得的拍摄图像;方位输入步骤,用于输入从方位传感器获得的测量到的方位,所述方位传感器获取关于摄像装置的方位的信息;特征检测步骤,用于获得关于来自拍摄图像的场景上排列的标志的图像坐标的特征值作为测量到的特征值;校正值更新步骤,其中操作员对于测量到的方位更新误差校正值;误差校正步骤,用于基于测量到的方位和误差校正值获得校正方位;以及计算步骤,用于利用关于标志的图像坐标的校正方位和测量到的特征值来计算至少摄像装置的位置。
8.一种用于确定目标物体的位置和方位的位置/方位确定设备,该设备包括图像输入单元,用于输入从附着在目标物体上的摄像装置获得的拍摄图像;方位输入单元,用于输入从方位传感器获得的测量到的方位,所述方位传感器获取关于目标物体的方位的信息;特征检测单元,用于获得关于来自拍摄图像的场景上排列的标志的图像坐标的特征值,作为测量到的特征值;以及计算单元,用于计算用于确定目标物体的位置和方位的参数,利用关于该参数的理论特征值的图像雅可比行列式计算该参数,使得在特征检测步骤中所获得的测量到的特征值和基于测量到的方位和估计的参数而获得的理论特征值之间的误差减小。
9.一种用于确定拍摄场景的摄像装置的位置和方位的位置/方位确定设备,该设备包括图像输入单元,其输入从摄像装置获得的拍摄图像;方位输入单元,其输入从方位传感器获得的测量到的方位,所述方位传感器获取关于摄像装置的方位的信息;特征检测单元,其获得关于来自拍摄图像的场景上排列的标志的图像坐标的特征值,作为测量到的特征值;计算单元,其计算用于确定摄像装置的位置和方位的参数,利用关于该参数的理论特征值的图像雅可比行列式计算该参数,使得在特征检测步骤中所获得的测量到的特征值和基于测量到的方位和估计的参数而获得的理论特征值之间的误差减小。
10.一种用于确定拍摄场景的摄像装置的位置和方位的位置/方位确定设备,该设备包括图像输入单元,其输入从摄像装置获得的拍摄图像;方位输入单元,其输入从方位传感器获得的测量到的方位,所述方位传感器获取关于摄像装置的方位的信息;特征检测单元,其获得关于来自拍摄图像的场景上排列的标志的图像坐标的特征值,作为测量到的特征值;校正值更新单元,操作员利用其来对测量到的方位更新误差校正值;以及误差校正单元,其基于测量到的方位和误差校正值获得校正方位;计算单元,其利用关于标志的图像坐标的校正方位和测量到的特征值来计算至少摄像装置的位置。
全文摘要
一种标志检测器检测排列在来自由摄像装置拍摄的图像的场景上的标志的图像坐标。方位传感器附着在摄像装置上,并且输出测量到的方位。方位预测单元基于方位传感器所获得的测量到的方位预测摄像装置的方位。位置/方位计算器接收摄像装置的预测的方位以及每个标志的一组图像坐标和世界坐标,确定摄像装置的位置以及方位传感器的方位角-漂移-误差校正值的更新值,并且计算摄像装置的位置和方位。
文档编号G01B11/03GK1865842SQ200510068069
公开日2006年11月22日 申请日期2005年5月16日 优先权日2004年5月14日
发明者佐藤清秀, 内山晋二 申请人:佳能株式会社