JP4566786B2 - Position and orientation measurement method and information processing apparatus - Google Patents

Position and orientation measurement method and information processing apparatus Download PDF

Info

Publication number
JP4566786B2
JP4566786B2 JP2005053441A JP2005053441A JP4566786B2 JP 4566786 B2 JP4566786 B2 JP 4566786B2 JP 2005053441 A JP2005053441 A JP 2005053441A JP 2005053441 A JP2005053441 A JP 2005053441A JP 4566786 B2 JP4566786 B2 JP 4566786B2
Authority
JP
Japan
Prior art keywords
viewpoint
subjective
orientation
objective
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.)
Expired - Fee Related
Application number
JP2005053441A
Other languages
Japanese (ja)
Other versions
JP2005351886A (en
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.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2005053441A priority Critical patent/JP4566786B2/en
Priority to US11/126,437 priority patent/US7467061B2/en
Priority to EP05252971.6A priority patent/EP1596332B1/en
Publication of JP2005351886A publication Critical patent/JP2005351886A/en
Application granted granted Critical
Publication of JP4566786B2 publication Critical patent/JP4566786B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Image Processing (AREA)
  • Studio Circuits (AREA)
  • Image Analysis (AREA)
  • Length Measuring Devices By Optical Means (AREA)
  • Length Measuring Devices With Unspecified Measuring Means (AREA)
  • Processing Or Creating Images (AREA)

Description

本発明は、物体の位置及び姿勢、特に撮像装置の位置及び姿勢を計測するものに関する。   The present invention relates to an object that measures the position and orientation of an object, particularly the position and orientation of an imaging apparatus.

近年、現実空間と仮想空間の繋ぎ目のない結合を目的とした、複合現実感に関する研究が盛んに行われている。複合現実感の提示を行う画像表示装置は、ビデオカメラなどの撮像装置によって撮影された現実空間の画像に、撮像装置の位置及び姿勢に応じて生成した仮想空間(たとえばコンピュータ・グラフィックスにより描画された仮想物体や文字情報など)の画像を重畳描画してそれを表示するビデオシースルー方式によって実現される。   In recent years, research on mixed reality has been actively conducted for the purpose of seamless connection between the real space and the virtual space. An image display device that presents a mixed reality is drawn on a virtual space (for example, computer graphics) generated in accordance with the position and orientation of an imaging device on an image of the real space taken by an imaging device such as a video camera. This is realized by a video see-through method in which an image of a virtual object, character information, etc.) is superimposed and drawn and displayed.

またその他にも、観察者の頭部に装着された光学シースルー型ディスプレイに、観察者の視点の位置及び姿勢に応じて生成した仮想空間の画像を表示する光学シースルー方式によって実現される。   In addition, it is realized by an optical see-through method in which an image in a virtual space generated according to the position and orientation of the observer's viewpoint is displayed on an optical see-through display mounted on the observer's head.

このような画像表示装置の応用としては、患者の体表面に体内の様子を重畳表示する手術支援や、現実空間に浮遊する仮想の敵と戦う複合現実感ゲームなど、今までのバーチャルリアリティとは異なった新たな分野が期待されている。   Applications of such image display devices include virtual reality, such as surgical support that superimposes the state of the body on the patient's body surface, and mixed reality games that fight against virtual enemies floating in real space. Different new fields are expected.

これらの応用に対して共通に要求されるのは、現実空間と仮想空間の間の位置合わせをいかに正確に行うかということであり、従来から多くの試みがなされてきた。複合現実感における位置合わせの問題は、ビデオシースルー方式の場合は情景中における(すなわち、世界座標系における)撮像装置の位置及び姿勢を求める問題に帰結される。同様に、光学シースルー方式の場合は情景中における観察者の視点あるいはディスプレイの位置及び姿勢を求める問題に帰結される。   A common requirement for these applications is how to accurately align the real space and the virtual space, and many attempts have been made so far. The problem of registration in mixed reality results in the problem of obtaining the position and orientation of the imaging device in the scene (that is, in the world coordinate system) in the case of the video see-through method. Similarly, in the case of the optical see-through method, it results in the problem of obtaining the observer's viewpoint or display position and orientation in the scene.

前者の問題を解決する方法として、情景中に複数の指標を配置あるいは設定し、撮像装置によって撮像された画像内における指標の投影像の座標を検出することで、情景中における撮像装置の位置及び姿勢を求めることが一般的に行われている。また、撮像装置に慣性センサを装着して、センサ計測値に基づいて推定した撮像装置の位置及び姿勢を指標の検出処理に利用したり、同推定結果を画像に基づく位置及び姿勢算出の初期値として用いたり、さらに、指標が見えない状況においても同推定結果を大まかな位置及び姿勢として用いることで、画像情報のみを用いる場合と比べて安定した位置合わせを実現する試みがなされている(例えば、非特許文献1)。   As a method for solving the former problem, by arranging or setting a plurality of indices in the scene, and detecting the coordinates of the projected image of the indices in the image captured by the imaging apparatus, the position of the imaging apparatus in the scene and It is common practice to determine the posture. In addition, an inertial sensor is attached to the imaging device, and the position and orientation of the imaging device estimated based on sensor measurement values are used for index detection processing, or the estimation results are used as initial values for position and orientation calculation based on images. In addition, even in the situation where the index is not visible, an attempt has been made to realize stable positioning compared to the case of using only image information by using the estimation result as a rough position and orientation (for example, Non-Patent Document 1).

また、後者の問題を解決する方法として、計測対象物(すなわち観察者の頭部あるいはディスプレイ)に撮像装置(及び慣性センサ)を装着し、前者と同様な方法によって撮像装置の位置及び姿勢を求め、撮像装置と計測対象物体との既知の相対的な位置と姿勢の関係から、計測対象物の位置及び姿勢を求めることが一般的に行われている。
藤井博文,神原誠之,岩佐英彦,竹村治雄,横矢直和,拡張現実のためのジャイロセンサを併用したステレオカメラによる位置合わせ,電子情報通信学会技術研究報告PRMU99−192(信学技報vol.99,no.574,pp.1−8)
As a method for solving the latter problem, an imaging device (and an inertial sensor) is attached to a measurement object (that is, an observer's head or display), and the position and orientation of the imaging device are obtained by the same method as the former. In general, the position and orientation of the measurement target are obtained from the relationship between the known relative position and orientation of the imaging device and the measurement target object.
Hirofumi Fujii, Masayuki Kanbara, Hidehiko Iwasa, Haruo Takemura, Naokazu Yokoya, alignment with stereo camera combined with gyro sensor for augmented reality, IEICE Technical Report PRMU99-192 (Science Technical Report vol.99) , No. 574, pp. 1-8)

しかし、上記の従来手法では、安定した位置合わせを実現するのに十分な画像情報が主観視点画像中に含まれていない状況下、例えば、画像上の一部の領域に指標が偏在して観測されている場合や、指標が3点のみしか観測されていない場合、指標の検出に誤差が含まれている場合等に、得られる解の精度や安定性が不十分となることがあった。また、観測されている指標が2点以下の場合には、解を求めることができなかった。これらの問題を回避するためには情景中に多数の指標を満遍なく設定する必要があり、指標同士の識別が困難になるという問題や、現実空間の美観を損ねてしまうという問題が生じていた。また、主観視点画像上における指標の像が観察者の手等によって遮蔽されてしまうような状況下において、位置合わせを行うことが全くできなくなるという問題があった。   However, in the above-described conventional method, in the situation where the image information sufficient to realize stable alignment is not included in the subjective viewpoint image, for example, the observation is performed with the index unevenly distributed in some areas on the image. The accuracy and stability of the obtained solution may be insufficient when only three points are observed, or when an error is included in the index detection. In addition, when the observed index was 2 or less, the solution could not be obtained. In order to avoid these problems, it is necessary to uniformly set a large number of indices in the scene, and there are problems that it is difficult to distinguish the indices from each other and that the aesthetics of the real space are impaired. In addition, there is a problem that alignment cannot be performed at all in a situation where the index image on the subjective viewpoint image is blocked by the hand of the observer.

上記の課題は、以下の装置によって解決される。The above problem is solved by the following apparatus.

現実空間に配置された主観視点指標を撮像した主観視点画像を取得する主観視点撮像手段と、前記主観視点撮像手段に伴って配置された客観視点指標を、前記現実空間の世界座標系において固定されて既知である客観視点位置姿勢から撮像した客観視点画像を取得する客観視点撮像手段と、前記主観視点撮像手段に備えられ、前記主観視点撮像手段の姿勢計測値を計測する姿勢計測手段と、前記姿勢計測手段の方位ドリフト誤差補正値、前記主観視点指標の前記世界座標系における位置、前記客観視点指標の前記主観視点撮像手段に対する位置、前記主観視点撮像手段の焦点距離および前記客観視点撮像手段の焦点距離を予め保持する保持手段と、前記姿勢計測値と前記方位ドリフト誤差補正値に基づいて、前記主観視点撮像手段の姿勢予測値を算出する姿勢予測手段と、前記主観視点画像から少なくとも1点の主観視点指標の画像座標を検出する第1の検出手段と、前記客観視点画像から少なくとも1点の客観視点点指標の画像座標を検出する第2の検出手段と、前記客観視点位置姿勢、前記姿勢予測値、前記検出された主観視点指標の画像座標、当該主観視点指標の世界座標系における位置、前記検出された客観視点指標の画像座標、および当該客観視点指標の前記主観視点撮像手段に対する位置に基づいて、前記主観視点撮像手段の位置姿勢を算出する位置姿勢算出手段と、前記算出された前記主観視点撮像装置の位置姿勢に基づいて、前記保持された方位ドリフト誤差補正値を更新する方位誤差更新手段とを備え、前記位置姿勢算出手段が、前記主観視点撮像手段の位置姿勢の設定値を設定する設定値設定手段と、前記設定値、前記主観視点点指標の世界座標系における位置、および前記主観視点撮像手段の焦点距離に基づいて、前記主観視点画像の前記主観視点点指標の画像座標の主観座標推定値を算出する主観推定値算出手段と、前記設定値、前記客観視点点指標の前記主観視点撮像手段に対する位置、前記客観視点位置姿勢、および前記客観視点撮像手段の焦点距離に基づいて、前記客観視点画像の前記客観視点点指標の画像座標の客観座標推定値を算出する客観推定値算出手段と、前記検出された主観視点点指標の画像座標と前記主観座標推定値との主観誤差を算出する主観画像誤差算出手段と、前記検出された客観視点点指標の画像座標と前記客観座標推定値との客観誤差を算出する客観画像誤差算出手段と、前記算出された主観誤差および客観誤差に基づいて、前記主観視点撮像手段の位置および姿勢の方位角成分のみの補正値を算出する補正値算出手段と、前記算出された補正値および前記設定値に基づいて、前記主観視点撮像手段の位置姿勢を補正する補正手段とを備えることを特徴とする情報処理装置。 Subjective viewpoint imaging means for acquiring a subjective viewpoint image obtained by imaging a subjective viewpoint point index arranged in the real space, and an objective viewpoint point index arranged in association with the subjective viewpoint imaging means in the world coordinate system of the real space An objective viewpoint imaging unit that acquires an objective viewpoint image captured from a fixed and known objective viewpoint position and orientation; an attitude measurement unit that is provided in the subjective viewpoint imaging unit and that measures the orientation measurement value of the subjective viewpoint imaging unit; Azimuth drift error correction value of the posture measuring means, position of the subjective viewpoint point index in the world coordinate system, position of the objective viewpoint point index with respect to the subjective viewpoint imaging means, focal length of the subjective viewpoint imaging means and objective holding means for previously holding a focal length of-view imaging means, on the basis of the orientation measurement value and the azimuth drift error correction value, of the subjective-view imaging means And orientation prediction means for calculating the energizing predictive value, first detecting means for detecting the image coordinates of the subjective-view-point indicator for at least one point from the subjective-view image, the objective viewpoint point index of at least one point from the objective viewpoint image A second detection means for detecting the image coordinates of the objective viewpoint position and orientation, the predicted posture value, the image coordinates of the detected subjective viewpoint point index, the position of the subjective viewpoint point index in the world coordinate system, and the detection the image coordinates of the objective viewpoint point indices which are, and on the basis of the position relative to the subjective-view imaging means of the objective viewpoint-point indicator, the position and orientation calculation means for calculating the position and orientation of the subjective-view imaging means, the calculated the based on the position and orientation of the subjective-view imaging apparatus, a heading error updating means for updating the azimuth drift error correction value the stored, said position and orientation calculation unit, the subjective vision A setting value setting unit configured to set a setting value of a position and orientation of the imaging unit; the subjective viewpoint image based on the setting value, a position of the subjective viewpoint point index in the world coordinate system, and a focal length of the subjective viewpoint imaging unit; Subjective estimate value calculating means for calculating a subjective coordinate estimated value of image coordinates of the subjective viewpoint point index, the set value, a position of the objective viewpoint point index with respect to the subjective viewpoint imaging means, the objective viewpoint position and orientation, and Objective coordinate value calculating means for calculating an objective coordinate estimated value of the image coordinate of the objective viewpoint point index of the objective viewpoint image based on the focal length of the objective viewpoint imaging means, and image coordinates of the detected subjective viewpoint point index And a subjective image error calculating means for calculating a subjective error between the subjective coordinate estimated value and an objective error between the image coordinate of the detected objective viewpoint point index and the objective coordinate estimated value. Objective image error calculation means, correction value calculation means for calculating only the azimuth component of the position and orientation of the subjective viewpoint imaging means based on the calculated subjective error and objective error, and the calculated An information processing apparatus comprising: a correction unit that corrects a position and orientation of the subjective viewpoint imaging unit based on a correction value and the set value .

本発明によれば、撮像装置によって撮像される画像上で観測される指標の数が1点の場合であっても、撮像装置の位置及び姿勢を計測することが可能となる。また、3点以上の指標が得られた場合においても、求めるべきパラメータ数が少ないため、情報の冗長性が相対的に増加し、従来手法と比して安定した解を得ることができる。この効果は、特に、指標の数が3点の場合に発揮される。したがって、解が得られない状況に陥る可能性が低下し、さらに、(同じ安定性を有する)解を得るために必要となる指標の数が減少する。その結果、シーン中に設定する指標数を減らせられるという利点が生じ、これが、誤認識率の低下につながり、また、美観を損ねるという問題の軽減にも貢献する。   According to the present invention, it is possible to measure the position and orientation of the imaging apparatus even when the number of indices observed on the image captured by the imaging apparatus is one point. Even when three or more indices are obtained, since the number of parameters to be obtained is small, the redundancy of information is relatively increased, and a stable solution can be obtained as compared with the conventional method. This effect is exhibited particularly when the number of indices is three. Therefore, the possibility of falling into a situation where a solution cannot be obtained is reduced, and further, the number of indexes required to obtain a solution (having the same stability) is reduced. As a result, there is an advantage that the number of indexes set in the scene can be reduced, which leads to a decrease in the false recognition rate and contributes to a reduction in the problem of deteriorating the aesthetic appearance.

以下添付図面を参照して、本発明を好適な実施形態に従って詳細に説明する。   Hereinafter, the present invention will be described in detail according to preferred embodiments with reference to the accompanying drawings.

[第1の実施形態]
本実施形態に係る位置姿勢計測装置は、撮像装置の位置及び姿勢の計測を行う。以下、本実施形態に係る位置姿勢計測装置及び位置姿勢計測方法について説明する。
[First Embodiment]
The position / orientation measurement apparatus according to the present embodiment measures the position and orientation of the imaging apparatus. Hereinafter, the position and orientation measurement apparatus and the position and orientation measurement method according to the present embodiment will be described.

図1は、本実施形態における位置姿勢計測装置の構成を示している。同図に示したように、本実施形態における位置姿勢計測装置100は、客観視点カメラ180(180a,180b,180c,180d)、画像入力部160、データ記憶部170、指標検出部110、姿勢センサ140、姿勢予測部150、及び位置姿勢算出部120によって構成されており、撮像装置130に接続されている。   FIG. 1 shows a configuration of a position / orientation measurement apparatus according to the present embodiment. As shown in the figure, the position / orientation measurement apparatus 100 according to this embodiment includes an objective viewpoint camera 180 (180a, 180b, 180c, 180d), an image input unit 160, a data storage unit 170, an index detection unit 110, and an attitude sensor. 140, a posture prediction unit 150, and a position and posture calculation unit 120, and is connected to the imaging device 130.

現実空間中の複数の位置には、撮像装置130によって撮影するための指標(以下、主観視点指標)として、世界座標系(現実空間の1点を原点として定義し、更に互いに直交する3軸を夫々X軸、Y軸、Z軸として定義した座標系)における位置x Qkが既知である複数個の主観視点指標Q(k=1,,,K)が配置されている。また、姿勢センサ140上の複数の位置には、客観視点カメラ180によって撮影するための指標(以下、客観視点指標)として、主観視点カメラ座標系(撮像装置130上の1点を原点として定義し、更に互いに直交する3軸を夫々X軸、Y軸、Z軸として定義した座標系)上における位置x Pkが既知である客観視点指標P(k=1,,,K)が設定されている。 At a plurality of positions in the real space, the world coordinate system (one point in the real space is defined as the origin, and three axes that are orthogonal to each other are used as indices for photographing with the imaging device 130 (hereinafter referred to as subjective viewpoint indices). A plurality of subjective viewpoint indices Q k (k = 1,..., K Q ) having known positions x W Qk in the coordinate system defined as the X axis, Y axis, and Z axis, respectively, are arranged. In addition, a plurality of positions on the posture sensor 140 are defined by using a subjective viewpoint camera coordinate system (one point on the imaging device 130 as an origin) as an index for photographing with the objective viewpoint camera 180 (hereinafter referred to as an objective viewpoint index). Further, an objective viewpoint index P k (k = 1,, K P ) in which the position x C Pk on the three orthogonal axes is defined as the X axis, the Y axis, and the Z axis) is set. Has been.

これらの指標は、位置及び姿勢を計測しようとする計測対象範囲内の各々の地点に撮像装置130を位置させた時に、撮像装置130によって取得される主観視点画像上において観測される主観視点指標と、客観視点カメラ180によって取得される客観視点画像上において観測される客観視点指標(実体)の総数が常に少なくとも2個以上となるように設置されていることが望ましい。図1の例は、3個の主観視点指標Q,Q,Qと2個の客観視点指標P,Pが設定されており、そのうちの2個の主観視点指標Q,Qが撮像装置130の視野内に含まれており、客観視点指標Pが客観視点カメラ180cの視野内に、客観視点指標Pが客観視点カメラ180c及び180dの視野内に含まれている状況を示している。 These indices are the subjective viewpoint indices observed on the subjective viewpoint image acquired by the imaging device 130 when the imaging device 130 is positioned at each point in the measurement target range where the position and orientation are to be measured. The total number of objective viewpoint indices (substances) observed on the objective viewpoint image acquired by the objective viewpoint camera 180 is preferably set to always be at least two. The example of FIG. 1, three subjective-view-indices Q 1, Q 2, Q 3 and two objective viewpoint index P 1, P 2 is set, two subjective-view-indices Q 1, Q of which 3 is included within the field of view of the imaging device 130, a situation where the objective-view-index P 1 is within the field of view of the objective viewpoint camera 180c, an objective-view-index P 2 is included in the field of view of the objective viewpoint camera 180c and 180d Is shown.

なお、主観視点指標Q及び客観視点指標Pは、例えば、それぞれが異なる色を有する円形状のマーカによって構成してもよいし、それぞれが異なるテクスチャ特徴を有する自然特徴等の特徴点によって構成してもよい。撮影画像上における投影像の画像座標が検出可能であって、かついずれの指標であるかが何らかの方法で識別可能であるような指標であれば、何れの形態であってもよい。また、主観視点指標、客観視点指標は共に、故意に設定されたものであっても良いし、故意に設定されたものではない、自然形状のものを用いても良い。 The subjective viewpoint index Q k and the objective viewpoint index P k may be configured by circular markers having different colors, for example, or may be configured by feature points such as natural features each having a different texture characteristic. May be. Any form may be used as long as the image coordinates of the projected image on the photographed image can be detected and the index can be identified by any method. In addition, both the subjective viewpoint index and the objective viewpoint index may be set intentionally, or may be a natural shape that is not set intentionally.

撮像装置130が出力する画像(以下、これを主観視点画像と呼ぶ)は、位置姿勢計測装置100に入力される。   An image output from the imaging device 130 (hereinafter referred to as a subjective viewpoint image) is input to the position / orientation measurement apparatus 100.

客観視点カメラ180(180a,180b,180c,180d)は、計測対象範囲内に撮像装置130が位置するときに、そのいずれかが撮像装置130を撮像可能な位置に固定して配置されている。ここで、各客観視点カメラ180の世界座標系における位置及び姿勢は、データ記憶部170に既知の値として予め保持されているものとする。客観視点カメラ180が出力する画像(以下、これを客観視点画像と呼ぶ)は、画像入力部160に入力される。   The objective viewpoint camera 180 (180a, 180b, 180c, 180d) is arranged so that one of the imaging devices 130 is fixed at a position where the imaging device 130 can image when the imaging device 130 is located within the measurement target range. Here, it is assumed that the position and orientation of each objective viewpoint camera 180 in the world coordinate system are stored in advance in the data storage unit 170 as known values. An image output from the objective viewpoint camera 180 (hereinafter referred to as an objective viewpoint image) is input to the image input unit 160.

画像入力部160は、位置姿勢装置100へ入力される主観視点画像及び客観視点画像の夫々をデジタルデータに変換し、データ記憶部170に保存する。   The image input unit 160 converts each of the subjective viewpoint image and the objective viewpoint image input to the position / orientation apparatus 100 into digital data and stores the digital data in the data storage unit 170.

姿勢センサ140は、撮像装置130に装着されており、姿勢センサ140自身の現在の姿勢を計測して姿勢予測部150へと出力する。姿勢センサ140は、ジャイロセンサをベースとしたセンサユニットであり、例えば、株式会社トキメックのTISS−5−40や、米国InterSense社のInertiaCube2等によって構成される。これらのセンサによって計測される姿勢計測値は、真の姿勢とは異なった、誤差を有する姿勢である。ただし、これらの姿勢センサは、地球の重力方向を観測する傾斜角センサを構成要素として有しており、傾斜角方向のドリフト誤差の蓄積をキャンセルする機能を有しているので、傾斜角方向(ピッチ角及びロール角)に関してはドリフト誤差を発生しないという性質を有している。言い換えれば、方位角方向(ヨー角方向)に関しては時間の経過に伴って蓄積されるドリフト誤差を有している。   The posture sensor 140 is attached to the imaging device 130, measures the current posture of the posture sensor 140 itself, and outputs it to the posture prediction unit 150. The attitude sensor 140 is a sensor unit based on a gyro sensor, and is configured by, for example, TISS-5-40 of Tokimec Co., Ltd., InertiaCube 2 of InterSense, USA, and the like. The posture measurement values measured by these sensors are postures having errors that are different from the true posture. However, these attitude sensors have a tilt angle sensor for observing the direction of gravity of the earth as a constituent element and have a function of canceling accumulation of drift errors in the tilt angle direction. The pitch angle and roll angle) have the property of not generating a drift error. In other words, the azimuth angle direction (yaw angle direction) has a drift error that accumulates with time.

姿勢予測部150は、方位ドリフト誤差補正値φをデータ記憶部170から入力し、姿勢センサ140から入力した姿勢計測値を補正して撮像装置130の姿勢を予測し、データ記憶部170へと出力する。   The posture prediction unit 150 inputs the azimuth drift error correction value φ from the data storage unit 170, corrects the posture measurement value input from the posture sensor 140, predicts the posture of the imaging device 130, and outputs it to the data storage unit 170. To do.

指標検出部110は、データ記憶部170より主観視点画像及び客観視点画像の夫々を入力し、入力した画像中に撮影されている指標の画像座標を検出する。例えば、指標の各々が異なる色を有するマーカによって構成されている場合には、画像上から各々のマーカ色に対応する領域を検出し、その重心位置を指標の検出座標とする。また、指標の各々が異なるテクスチャ特徴を有する特徴点によって構成されている場合には、既知の情報として予め保持している各々の指標のテンプレート画像によるテンプレートマッチングを画像上に施すことにより、指標の位置を検出する。なお、撮像装置130の位置の算出値(位置姿勢算出部120の出力)及び姿勢の予測値(姿勢予測部150の出力)をデータ記憶部170からさらに入力し、この予測値に基づいて画像上における指標の位置を予測し探索範囲を限定することにより、指標検出処理の計算負荷を軽減したり、指標の誤検出や誤同定を低減させたりすることが可能である。   The index detection unit 110 inputs the subjective viewpoint image and the objective viewpoint image from the data storage unit 170, and detects the image coordinates of the index photographed in the input image. For example, in the case where each index is composed of markers having different colors, an area corresponding to each marker color is detected from the image, and the position of the center of gravity is set as the detected coordinate of the index. In addition, when each of the indexes is composed of feature points having different texture features, template matching is performed on the image by using a template image of each index stored in advance as known information. Detect position. It should be noted that a calculated value of the position of the imaging device 130 (output of the position / orientation calculation unit 120) and a predicted value of the attitude (output of the posture prediction unit 150) are further input from the data storage unit 170, and on the image based on the predicted value By predicting the position of the index and limiting the search range, it is possible to reduce the calculation load of the index detection process and to reduce erroneous detection and identification of the index.

指標検出部110は、さらに、検出された指標の画像座標とその指標の識別子をデータ記憶部170へと出力する。なお、以下では、主観視点画像上で検出された指標を、検出された指標の夫々に付けられた識別子n(n=1,,,N)を用いて、Qknと表記する。また、客観視点画像上で検出された指標を、カメラの識別子x(x=a,b,c,d)と、検出された指標の夫々に付けられた識別子m(m=1,,,M)を用いて、Pkxmと表記する。ここで、Nは主観視点画像上で検出された指標の数を、Mは夫々の客観視点画像上で検出された指標の数を表している。また、Mを、各画像上で検出された指標の総和とする。また、検出された指標Qknの画像座標をuQknと表記し、検出された指標Pkxmの画像座標を、その画像を撮影した客観視点カメラの識別子に応じて、各々u Pkam,u Pkbm,u Pkcm,u Pkdmと表記する。例えば図1の場合には、N=2,M=0,M=0,M=2,M=1,M=3であり、指標の識別子k=1,k=3,kc1=1,kc2=2,kd1=2と、これらを撮影したカメラの識別子と、これらに対応する画像座標uQk1,uQk2,u Pkc1,u Pkc2,u Pkd1が出力される。 The index detection unit 110 further outputs the image coordinates of the detected index and the identifier of the index to the data storage unit 170. In the following, an index detected on the subjective viewpoint image is denoted as Q kn using identifiers n (n = 1,..., N) attached to the detected indices. In addition, the index detected on the objective viewpoint image is represented by the identifier x (x = a, b, c, d) of the camera and the identifier m (m = 1,, M) attached to each of the detected indices. x )) and expressed as P kxm . Here, N represents the number of indices detected on the subjective viewpoint image, and M x represents the number of indices detected on each objective viewpoint image. M is the sum of the indices detected on each image. Further, the image coordinates of the detected index Q kn are denoted as u Qkn, and the image coordinates of the detected index P kxm are respectively represented by u a Pkam and u b according to the identifier of the objective viewpoint camera that captured the image. Pkbm, u c Pkcm, denoted as u d pKDM. For example, in the case of FIG. 1, N = 2, M a = 0, M b = 0, M c = 2, M d = 1, M = 3, and index identifiers k 1 = 1, k 2 = 3. , and k c1 = 1, k c2 = 2, k d1 = 2, and camera identifier taken them, the image coordinates u Qk1, u Qk2, u c pkc1, u c pkc2, u d Pkd1 corresponding to these Is output.

位置姿勢算出部120は、撮像装置130の姿勢の予測値と、指標検出部110によって検出された各々の主観視点指標の画像座標uQknと世界座標x Qknの組と、各々の客観視点指標の画像座標uPkam,uPkbm,uPkcm,uPkdmとそれに対応する主観視点カメラ座標(主観視点カメラ座標系における座標値)x Pkam,x Pkbm,x Pkcm,x Pkdmの組とをデータ記憶部170から入力し、これらの情報に基づいて撮像装置130の位置及び姿勢を算出し、I/Fを介して外部へ出力する。また、算出した撮像装置130の位置をデータ記憶部170に出力し、さらに、位置及び姿勢の算出工程で導出される姿勢センサ140の方位ドリフト誤差補正値の更新値によって、データ記憶部170が保持する方位ドリフト誤差補正値を更新する。 The position / orientation calculation unit 120 includes a predicted value of the attitude of the imaging device 130, a set of image coordinates u Qkn and world coordinates x W Qkn of each subjective viewpoint index detected by the index detection unit 110, and each objective viewpoint index. Image coordinates u Pkam , u Pkbm , u Pkcm , u Pkdm and the corresponding subjective viewpoint camera coordinates (coordinate values in the subjective viewpoint camera coordinate system) x C Pcam , x C Pkbm , x C Pkcm , x C Pkdm Is input from the data storage unit 170, the position and orientation of the imaging device 130 are calculated based on these pieces of information, and output to the outside via the I / F. Further, the calculated position of the imaging device 130 is output to the data storage unit 170, and the data storage unit 170 holds the updated value of the orientation drift error correction value of the orientation sensor 140 derived in the position and orientation calculation process. Update the azimuth drift error correction value.

データ記憶部170は、方位ドリフト誤差補正値、画像入力部160から入力される画像、姿勢予測部150から入力される姿勢の予測値、位置姿勢算出部120から入力される位置の算出値、指標検出部110から入力される各々の指標の画像座標及び識別子、さらに、既知の値である主観視点指標の世界座標、客観視点指標の物体座標(物体座標系における座標値)、客観視点カメラ180のカメラパラメータ等のデータを保持し、必要に応じてこれらを入出力する。   The data storage unit 170 includes an azimuth drift error correction value, an image input from the image input unit 160, a predicted value of posture input from the posture prediction unit 150, a calculated value of position input from the position / posture calculation unit 120, and an index The image coordinates and identifier of each index input from the detection unit 110, the world coordinates of the subjective viewpoint index, which are known values, the object coordinates of the objective viewpoint index (coordinate values in the object coordinate system), and the objective viewpoint camera 180 It holds data such as camera parameters and inputs / outputs them as necessary.

なお、図1に示した画像入力部160、データ記憶部170、指標検出部110、姿勢予測部150、及び位置姿勢算出部120の夫々は、独立した装置として扱っても良いし、夫々ソフトウェアとして1つもしくは複数のコンピュータにインストールし、夫々のコンピュータのCPUにより実行することで、その機能を実現するようにしても良い。本実施形態では、各部(画像入力部160、データ記憶部170、指標検出部110、姿勢予測部150、及び位置姿勢算出部120)は1台のコンピュータ内で実行対象となるソフトウェアとして扱う。   Note that each of the image input unit 160, the data storage unit 170, the index detection unit 110, the posture prediction unit 150, and the position / orientation calculation unit 120 illustrated in FIG. 1 may be handled as an independent device or as software. The functions may be realized by installing in one or a plurality of computers and executing them by the CPU of each computer. In this embodiment, each unit (the image input unit 160, the data storage unit 170, the index detection unit 110, the posture prediction unit 150, and the position / posture calculation unit 120) is handled as software to be executed in one computer.

図2は画像入力部160、データ記憶部170、指標検出部110、姿勢予測部150、及び位置姿勢算出部120の夫々をソフトウェアとして実行するコンピュータの基本構成を示す図である。   FIG. 2 is a diagram illustrating a basic configuration of a computer that executes each of the image input unit 160, the data storage unit 170, the index detection unit 110, the posture prediction unit 150, and the position / posture calculation unit 120 as software.

1001はCPUで、RAM1002やROM1003に格納されたプログラムやデータを用いてコンピュータ全体の制御を行うと共に、画像入力部160、指標検出部110、姿勢予測部150、及び位置姿勢算出部120の夫々のソフトウェアの実行を制御して、各部の機能を実現する。   A CPU 1001 controls the entire computer using programs and data stored in the RAM 1002 and the ROM 1003, and each of the image input unit 160, the index detection unit 110, the posture prediction unit 150, and the position / orientation calculation unit 120. The execution of software is controlled to realize the functions of each unit.

1002はRAMで、外部記憶装置1007や記憶媒体ドライブ1008からロードされたプログラムやデータを一時的に記憶するエリアを備えると共に、CPU1001が各種の処理を行うために必要とするワークエリアを備える。データ記憶部170の機能は、RAM1002によって実現される。   A RAM 1002 includes an area for temporarily storing programs and data loaded from the external storage device 1007 and the storage medium drive 1008, and also includes a work area necessary for the CPU 1001 to perform various processes. The function of the data storage unit 170 is realized by the RAM 1002.

1003はROMで、一般にコンピュータの記憶プログラムや設定データなどが格納されている。1004、1005は夫々キーボード、マウスで、操作者は夫々を用いて、各種の指示をCPU1001に入力することができる。   A ROM 1003 generally stores a computer storage program, setting data, and the like. Reference numerals 1004 and 1005 denote a keyboard and a mouse, respectively. An operator can input various instructions to the CPU 1001 using the keyboard and the mouse, respectively.

1006は表示部で、CRTや液晶画面などにより構成されており、例えば、撮像装置130の位置姿勢計測のために表示すべきメッセージ等を表示することができる。   A display unit 1006 includes a CRT, a liquid crystal screen, and the like, and can display a message to be displayed for measuring the position and orientation of the imaging device 130, for example.

1007は外部記憶装置で、ハードディスクなどの大容量情報記憶装置として機能する装置であって、ここにOS(オペレーティングシステム)やソフトウェアのプログラム等を保存する。また本実施形態の説明において、既知であると説明する情報はここに保存されており、必要に応じてRAM1002にロードされる。   Reference numeral 1007 denotes an external storage device that functions as a large-capacity information storage device such as a hard disk, and stores an OS (Operating System), software programs, and the like. In the description of the present embodiment, information that is described as being known is stored here, and loaded into the RAM 1002 as necessary.

1008は記憶媒体ドライブで、CD−ROMやDVD−ROMなどの記憶媒体に記憶されているプログラムやデータをCPU1001からの指示に従って読み出して、RAM1002や外部記憶装置1007に出力する。   Reference numeral 1008 denotes a storage medium drive, which reads programs and data stored in a storage medium such as a CD-ROM or DVD-ROM in accordance with instructions from the CPU 1001 and outputs them to the RAM 1002 or the external storage device 1007.

1009はI/Fで、撮像装置130を接続するためのアナログビデオポートあるいはIEEE1394等のデジタル入出力ポート、姿勢センサ140を接続するためのRS232CあるいはUSBシリアルポート、また、算出した撮像装置130の位置及び姿勢を外部へ出力するためのイーサネット(登録商標)ポート等によって構成される。夫々が入力したデータはI/F1009を介してRAM1002に取り込まれる。画像入力部160の機能の一部は、I/F1009によって実現される。   Reference numeral 1009 denotes an I / F, an analog video port for connecting the imaging device 130 or a digital input / output port such as IEEE1394, an RS232C or USB serial port for connecting the attitude sensor 140, and the calculated position of the imaging device 130 And an Ethernet (registered trademark) port for outputting the attitude to the outside. The data input by each is taken into the RAM 1002 via the I / F 1009. A part of the function of the image input unit 160 is realized by the I / F 1009.

1010は上述の各部を繋ぐバスである。   A bus 1010 connects the above-described units.

図3は、姿勢予測部150の処理手順を示すフローチャートであり、CPU1001が姿勢予測部150のソフトウェアのプログラムを実行することで行われる。なお、以下の処理を行う前段で、同フローチャートに従ったプログラムコードは、RAM1002に既にロードされているものとする。   FIG. 3 is a flowchart showing a processing procedure of the posture prediction unit 150, which is performed by the CPU 1001 executing a software program of the posture prediction unit 150. It is assumed that the program code according to the flowchart is already loaded in the RAM 1002 in the previous stage of performing the following processing.

なお、姿勢を表現する方法には様々なものが存在するが、ここでは、3×3の回転行列Rによって表現されているものとする。   There are various methods for expressing the posture. Here, it is assumed that the posture is expressed by a 3 × 3 rotation matrix R.

ステップS3000において、姿勢予測部150は、姿勢センサ140から姿勢計測値R はセンサによる計測値を表す記号)を入力する。 In step S3000, the posture prediction unit 150 inputs a posture measurement value R # ( # is a symbol representing a measurement value by the sensor) from the posture sensor 140.

ステップS3010において、姿勢予測部150は、データ記憶部170から方位ドリフト誤差補正値φを入力する。 In step S3010, posture prediction unit 150 inputs azimuth drift error correction value φ * from data storage unit 170.

ステップS3020において、姿勢予測部150は、姿勢計測値R(姿勢センサ140の姿勢を表している)に、姿勢センサ140から計測対象物体130への姿勢変換と、方位ドリフト誤差補正値φによるドリフト誤差補正を反映させ、方位ドリフト誤差補正後の撮像装置130の姿勢を算出し、これを、姿勢の予測値Rとする。 In step S3020, the posture prediction unit 150 converts the posture measurement value R # (representing the posture of the posture sensor 140) to the posture conversion from the posture sensor 140 to the measurement target object 130 and the heading drift error correction value φ * . Reflecting the drift error correction, the posture of the imaging apparatus 130 after the azimuth drift error correction is calculated, and this is set as a predicted posture value R * .

Figure 0004566786
Figure 0004566786

ここで、△R(φ)は、方位方向にφだけの回転を加える回転行列であり、φの関数として次式によって定義される。   Here, ΔR (φ) is a rotation matrix that adds rotation by φ in the azimuth direction, and is defined by the following equation as a function of φ.

Figure 0004566786
Figure 0004566786

ここで、l=(l,l,l)は、世界座標系における鉛直上方向(地球の重力の反対方向)を表す既知のベクトルを表している。 Here, l = (l 1 , l 2 , l 3 ) represents a known vector representing the vertical upward direction (the direction opposite to the gravity of the earth) in the world coordinate system.

また、RSCは、主観視点カメラ座標系(撮像装置130の位置及び姿勢を表す座標系)からセンサ座標系(姿勢センサ140の位置及び姿勢を表す座標系)へ姿勢を変換する3×3の行列であり、固定値である姿勢センサ140と撮像装置130の相対姿勢に基づいて、既知の値として予め設定されている。 In addition, the RSC is a 3 × 3 transforming posture from a subjective viewpoint camera coordinate system (a coordinate system representing the position and orientation of the imaging device 130) to a sensor coordinate system (a coordinate system representing the position and orientation of the posture sensor 140). It is a matrix and is set in advance as a known value based on the relative attitude between the attitude sensor 140 and the imaging device 130, which are fixed values.

ステップS3030において、姿勢予測部150は、姿勢の予測値Rをデータ記憶部170へと出力する。 In step S <b > 3030, posture prediction section 150 outputs posture prediction value R * to data storage section 170.

ステップS3040において、姿勢予測部150は、処理を終了するか否かの判定を行い、処理を終了しない場合には、処理をステップS3000へと進める。   In step S3040, posture prediction unit 150 determines whether or not to end the process. If the process is not to be ended, the process proceeds to step S3000.

図4は、撮像装置130の位置及び姿勢を示すパラメータを算出する処理のフローチャートであり、CPU1001が位置姿勢算出部120のソフトウェアのプログラムを実行することで行われる。なお、以下の処理を行う前段で、同フローチャートに従ったプログラムコードは、RAM1002に既にロードされているものとする。   FIG. 4 is a flowchart of processing for calculating parameters indicating the position and orientation of the imaging apparatus 130, and is performed by the CPU 1001 executing a software program of the position / orientation calculation unit 120. It is assumed that the program code according to the flowchart is already loaded in the RAM 1002 in the previous stage of performing the following processing.

位置姿勢算出部120は、撮像装置130の位置t=[xyz]と、姿勢センサ140の方位ドリフト誤差補正値の更新値φの合計4パラメータを、算出すべき未知パラメータとして取り扱う。すなわち、本実施形態では、姿勢についてはその全てを未知とするのではなく、姿勢の予測値Rには方位方向のドリフト誤差のみが含まれており、その方位ドリフト誤差補正値の更新値φのみを求めることで、撮像装置130の姿勢が得られるというモデルを適用する。以下では、求めるべき未知パラメータを4値の状態ベクトルs=[xyzφ]によって記述する。 The position / orientation calculation unit 120 handles a total of four parameters of the position t = [xyz] T of the imaging device 130 and the updated value φ of the orientation drift error correction value of the orientation sensor 140 as unknown parameters to be calculated. That is, in this embodiment, not all the postures are unknown, but the posture prediction value R * includes only the azimuth drift error, and the azimuth drift error correction value update value φ A model in which the orientation of the imaging device 130 can be obtained by obtaining only this is applied. Hereinafter, an unknown parameter to be obtained is described by a quaternary state vector s = [xyzφ] T.

ステップS4000において、位置姿勢算出部120は、撮像装置130の姿勢の予測値R(姿勢予測部150の出力)をデータ記憶部170から入力する。 In step S <b> 4000, the position / orientation calculation unit 120 inputs a predicted value R * of the attitude of the imaging device 130 (output of the attitude prediction unit 150) from the data storage unit 170.

ステップS4010において、位置姿勢算出部120は、状態ベクトルsの初期値を、s=[x−1−1−10]と設定する。ここで、x−1,y−1,z−1は、1ループ前の処理におけるステップS4110において算出された計測対象物体130の位置を表している。 In step S <b> 4010, the position / orientation calculation unit 120 sets an initial value of the state vector s as s = [x −1 y −1 z −1 0] T. Here, x −1 , y −1 , and z −1 represent the position of the measurement target object 130 calculated in step S4110 in the process before one loop.

ステップS4020において、位置姿勢算出部120は、指標検出部110によって検出された主観視点指標の画像座標とその世界座標の組と、客観視点指標の画像座標とその世界座標の組を、データ記憶部170から入力する。例えば図1の場合には、主観視点指標の画像座標uQ1,uQ3及びそれらに対応する世界座標x Q1,x Q3と、客観視点指標の画像座標u P1,u P2,u P2及びそれらに対応する主観視点カメラ座標(主観視点カメラ座標系における座標値)x P1,x P2が入力される。 In step S4020, the position / orientation calculation unit 120 stores the set of the image coordinates of the subjective viewpoint index and the world coordinates detected by the index detection unit 110, the set of the image coordinates of the objective viewpoint index and the world coordinates, and the data storage unit. Input from 170. For example, in the case of FIG. 1, the image coordinates u Q1 and u Q3 of the subjective viewpoint index and the corresponding world coordinates x W Q1 and x W Q3 and the image coordinates u c P1 and u c P2 and u of the objective viewpoint index. d P2 and the corresponding subjective viewpoint camera coordinates (coordinate values in the subjective viewpoint camera coordinate system) x C P1 and x C P2 are input.

ステップS4030において、位置姿勢算出部120は、入力された指標の情報が位置及び姿勢の推定に十分な情報を含むか否かを判定し、それに応じて処理の分岐を行う。具体的には、入力した指標の実体の総数が2点以上の場合はステップS4040に処理を進め、2点未満の場合はステップS4100に処理を進める。例えば図4の場合には、2つの主観視点指標と2つの客観視点指標(投影像は3点であるが,指標の実体は2つ)が検出されており,総数は4となるので,ステップS4040へと処理が進められる。   In step S4030, the position / orientation calculation unit 120 determines whether or not the input index information includes information sufficient to estimate the position and orientation, and branches the process accordingly. Specifically, if the total number of input index entities is two or more, the process proceeds to step S4040, and if it is less than two, the process proceeds to step S4100. For example, in the case of FIG. 4, two subjective viewpoint indices and two objective viewpoint indices (three projected images, but two actual indicators) are detected, and the total number is 4. The process proceeds to S4040.

ステップS4040において、位置姿勢算出部120は、ステップS4020で入力した各々の主観視点指標及び客観視点指標の画像座標の推定値を、現在の状態ベクトルsに基づいて算出する。   In step S4040, the position / orientation calculation unit 120 calculates the estimated values of the image coordinates of each subjective viewpoint index and objective viewpoint index input in step S4020 based on the current state vector s.

主観視点指標Qknの画像座標の推定値uQkn*の算出は、指標Qknの世界座標x Qknと現在の状態ベクトルsの関数: Calculation of the estimated value u Qkn * of the image coordinate of the subjective viewpoint index Q kn is a function of the world coordinate x W Qkn of the index Q kn and the current state vector s:

Figure 0004566786
Figure 0004566786

・・・式(3)
を用いて行う。具体的には、関数Fc()は、世界座標x Qknとsから主観視点カメラ座標(主観視点カメラ座標系における座標)x Qknを求める次式、
... Formula (3)
To do. Specifically, the function Fc () is obtained by the following equation for obtaining the subjective viewpoint camera coordinates (coordinates in the subjective viewpoint camera coordinate system) x C Qkn from the world coordinates x W Qkn and s:

Figure 0004566786
Figure 0004566786

及び、カメラ座標x Qknから画像座標uQkn*を求める次式、 And the following equation for obtaining the image coordinates u Qkn * from the camera coordinates x C Qkn :

Figure 0004566786
Figure 0004566786

・・・式(5)
によって構成されている。ここで、Rは、ステップS4000で入力した姿勢の予測値を表している。また、△R(φ)は,方位方向にφだけの回転を加える回転行列を表しており、式2によって定義される。また、f 及びf は、それぞれx軸方向及びy軸方向における撮像装置130の焦点距離であり、既知の値として予め保持されているものとする。
... Formula (5)
It is constituted by. Here, R * represents the predicted value of the posture input in step S4000. ΔR (φ) represents a rotation matrix for adding rotation by φ in the azimuth direction, and is defined by Equation 2. Further, f C x and f C y are focal lengths of the imaging device 130 in the x-axis direction and the y-axis direction, respectively, and are held in advance as known values.

一方、客観視点指標Pkmの画像座標の推定値uPkm*の算出は、客観視点指標Pkm各々の主観視点カメラ座標(主観視点カメラ座標系における座標値)x Pkmと現在の状態ベクトルsの関数: On the other hand, the estimated value u Pkm * calculating the image coordinates of the objective-view-index P miles is (coordinate value in the subjective-view camera coordinate system) objective-view-index P miles each of the subjective-view camera coordinate x C Pkm the current state vector s Function:

Figure 0004566786
・・・式(6)
Figure 0004566786
... Formula (6)

を用いて行う。具体的には、関数F( )は、世界座標系上における当該指標の座標x Pkmをx Pkmとsから求める次式、 To do. Specifically, the function F B () is obtained by the following equation for obtaining the coordinate x W Pkm of the index on the world coordinate system from x C Pkm and s:

Figure 0004566786
Figure 0004566786

及び、世界座標系x Pkmから客観視点カメラ座標(客観視点カメラ座標系(客観視点カメラ180上の1点を原点として定義し、更に互いに直交する3軸を夫々X軸、Y軸、Z軸として定義した座標系)上における当該指標の座標)x Pkmを求める次式、 From the world coordinate system x W Pkm , an objective viewpoint camera coordinate (an objective viewpoint camera coordinate system (one point on the objective viewpoint camera 180 is defined as an origin, and three axes orthogonal to each other are defined as an X axis, a Y axis, and a Z axis, respectively). The coordinate of the index on the coordinate system defined as) x B Pkm

Figure 0004566786
Figure 0004566786

及び、客観視点カメラ座標x Pkmから画像座標uPkm*を求める次式、 And the following equation for obtaining the image coordinates u Pkm * from the objective viewpoint camera coordinates x B Pkm ,

Figure 0004566786
・・・式(9)
Figure 0004566786
... Formula (9)

によって構成されている。ここで、f 及びf は夫々の客観視点カメラ180のx軸方向及びy軸方向における焦点距離、RWBは夫々の客観視点カメラ180の世界座標系における姿勢を表す3x3行列、tWBは夫々の客観視点カメラ180の世界座標系における位置を表す3次元ベクトルであり、客観視点カメラ180の夫々に対して既知の値として予め保持されている。 It is constituted by. Here, f B x and f B y are focal lengths in the x-axis direction and y-axis direction of each objective viewpoint camera 180, and R WB is a 3 × 3 matrix representing the attitude of each objective viewpoint camera 180 in the world coordinate system, t WB is a three-dimensional vector representing the position of each objective viewpoint camera 180 in the world coordinate system, and is held in advance as a known value for each objective viewpoint camera 180.

ステップS4050において、位置姿勢算出部120は、各々の指標(主観視点指標及び客観視点指標)に対して、画像座標の推定値と実測値との誤差△uQknおよび△uPkmを、次式によって算出する。 In step S4050, the position and orientation calculation unit 120, for each of the indicators (subjective-view-indices and objective-view-index), the estimated value of the image coordinates and the error △ u Qkn and △ u Pkm of the measured values, the following equation calculate.

Figure 0004566786
・・・式(10)
Figure 0004566786
... Formula (10)

Figure 0004566786
・・・式(11)
Figure 0004566786
... Formula (11)

ステップS4060において、位置姿勢算出部120は、各々の指標(主観視点指標及び客観視点指標)に対して、状態ベクトルsに関する画像ヤコビアンを算出する。主観視点指標Qknの画像ヤコビアンは、式3の関数Fc( )を状態ベクトルsの各要素で偏微分した解を各要素に持つ2行×4列のヤコビ行列Jus Qkn(=∂u/∂s)であり、具体的には、式5の右辺をカメラ座標x Qknの各要素で偏微分した解を各要素に持つ2行×3列のヤコビ行列Jux Qkn(=∂u/∂x)と、式4の右辺を状態ベクトルsの各要素で偏微分した解を各要素に持つ3行×4列のヤコビ行列Jxs Qkn(=∂x/∂s)を求めた後に、これらを用いて次式によって算出される。 In step S4060, the position / orientation calculation unit 120 calculates an image Jacobian related to the state vector s for each index (subjective viewpoint index and objective viewpoint index). The image Jacobian of the subjective viewpoint index Q kn has a 2 × 4 Jacobian matrix J us Qkn (= ∂u /) having a solution obtained by partial differentiation of the function Fc () of Equation 3 with each element of the state vector s. ∂s), specifically, a 2 × 3 Jacobian matrix J ux Qkn (= ∂u /) having a solution obtained by partial differentiation of the right side of Equation 5 with each element of camera coordinates x C Qkn. ∂x) and 3 rows × 4 columns Jacobian matrix J xs Qkn (= ∂x / ∂s) each having a solution obtained by partial differentiation of the right side of Equation 4 with each element of state vector s, Using these, it is calculated by the following equation.

Figure 0004566786
・・・式(12)
Figure 0004566786
... Formula (12)

一方、客観視点指標Pkmの画像ヤコビアンは、式6の関数Fb()を状態ベクトルsの各要素で偏微分した解を各要素に持つ2行×4列のヤコビ行列Jus Pkm(=∂u/∂s)であり、具体的には、式9の右辺を客観視点カメラ座標x Pkmの各要素で偏微分した解を各要素に持つ2行×3列のヤコビ行列JuxB Pkm(=∂u/∂x)と、式8の右辺を世界座標x Pkmの各要素で偏微分した解を各要素に持つ3行×3列のヤコビ行列JxBxW Pkm(=∂x/∂x)と、式7の右辺を状態ベクトルsの各要素で偏微分した解を各要素に持つ3行×4列のヤコビ行列JxWs Pkm(=∂x/∂s)を求めた後に、これらを用いて次式によって算出される。 On the other hand, the image Jacobian of the objective viewpoint index P km has a 2 × 4 Jacobian matrix J us Pkm (= ∂) having a solution obtained by partial differentiation of the function Fb () of Equation 6 with each element of the state vector s. u / ∂s), specifically, a 2-row × 3-column Jacobian matrix J uxB Pkm (each element having a solution obtained by partially differentiating the right side of Expression 9 with each element of the objective viewpoint camera coordinates x B Pkm. = ∂u / ∂x B ), and a 3 row × 3 column Jacobian matrix J xBxW Pkm (= ∂x B /) having a solution obtained by partial differentiation of the right side of Expression 8 with each element of the world coordinate x W Pkm. ∂x W ) and 3 rows × 4 columns Jacobian matrix J xWs Pkm (= ∂x W / ∂s) each having a solution obtained by partial differentiation of the right side of Equation 7 with each element of state vector s Later, using these, the following formula is calculated.

Figure 0004566786
Figure 0004566786

ステップS4070において、位置姿勢算出部120は、ステップS4050及びステップS4060において算出した各々の指標に対する誤差△u及び画像ヤコビアンJusに基づいて、状態ベクトルsの補正値△sを次式によって算出する。 In step S4070, the position / orientation calculation unit 120 calculates the correction value Δs of the state vector s by the following equation based on the error Δu and the image Jacobian J us for each index calculated in steps S4050 and S4060.

Figure 0004566786
Figure 0004566786

ここでUは、各々の指標(主観視点指標及び客観視点指標)に対して求めた誤差△uを垂直に並べた2(N+M)次元の誤差ベクトル   Here, U is a 2- (N + M) -dimensional error vector in which errors Δu obtained for each index (subjective viewpoint index and objective viewpoint index) are arranged vertically.

Figure 0004566786
Figure 0004566786

であり、θ’は、各々の指標(主観視点指標及び客観視点指標)に対して求めた画像ヤコビアンJusを垂直に並べた2(N+M)行×4列の行列 In and, theta 'is the matrix of aligned images Jacobian J us obtained for each of the indicators (subjective-view-indices and objective-view-index) perpendicularly 2 (N + M) rows × 4 columns

Figure 0004566786
Figure 0004566786

の擬似逆行列を表している。図1の例では、N=2及びM=3であるので、Uは10次元ベクトル、θは10行×4列の行列となる。 Represents the pseudo inverse matrix. In the example of FIG. 1, since N = 2 and M = 3, U is a 10-dimensional vector and θ is a matrix of 10 rows × 4 columns.

ステップS4080において、位置姿勢算出部120は、ステップS4070において算出した補正値△sを用いて、次式に従って状態ベクトルsを補正し、得られた値をsの新たな推定値とする。   In step S4080, the position / orientation calculation unit 120 corrects the state vector s according to the following equation using the correction value Δs calculated in step S4070, and sets the obtained value as a new estimated value of s.

Figure 0004566786
・・・式(17)
Figure 0004566786
... Formula (17)

ステップS4090において、位置姿勢算出部120は、誤差ベクトルUが予め定めた閾値より小さいかどうか、あるいは、補正値△sが予め定めた閾値より小さいかどうかといった何らかの判定基準を用いて、計算が収束しているか否かの判定を行う。収束してない場合には、補正後の状態ベクトルsを用いて、ステップS4040以降の処理を再度行う。   In step S4090, the position / orientation calculation unit 120 converges the calculation using some criterion such as whether the error vector U is smaller than a predetermined threshold or whether the correction value Δs is smaller than a predetermined threshold. It is determined whether or not. If not converged, the processing after step S4040 is performed again using the corrected state vector s.

ステップS4090において計算が収束したと判定されると、ステップS4100において、位置姿勢算出部120は、得られた状態ベクトルsから、撮像装置130の姿勢を算出する。具体的には、前ステップまでで得られた状態ベクトルsの算出値から、ドリフト誤差補正値の更新値φを得て、次式:   If it is determined in step S4090 that the calculation has converged, in step S4100, the position / orientation calculation unit 120 calculates the orientation of the imaging device 130 from the obtained state vector s. Specifically, an updated value φ of the drift error correction value is obtained from the calculated value of the state vector s obtained up to the previous step, and the following formula:

Figure 0004566786
Figure 0004566786

によって、撮像装置130の姿勢Rを算出する。 To calculate the orientation R of the imaging device 130.

ステップS4110において、位置姿勢算出部120は、得られた撮像装置130の位置及び姿勢の情報をI/F1009を介して外部へ出力する。また、撮像装置130の位置tをデータ記憶部170へと出力する。なお、位置及び姿勢の出力の形態は例えば姿勢を表す3×3行列Rと位置を表す3次元ベクトルtの組であってもよいし、姿勢をオイラー角に変換したものでもよいし、位置及び姿勢から算出したビューイング変換行列でもよいし、他のいずれの位置姿勢記述方法によるものでもよい。   In step S <b> 4110, the position / orientation calculation unit 120 outputs the obtained position and orientation information of the imaging device 130 to the outside via the I / F 1009. In addition, the position t of the imaging device 130 is output to the data storage unit 170. The output form of the position and orientation may be, for example, a set of a 3 × 3 matrix R representing the posture and a three-dimensional vector t representing the position, or may be obtained by converting the posture into Euler angles. A viewing transformation matrix calculated from the orientation may be used, or any other position and orientation description method may be used.

ステップS4120において、位置姿勢算出部120は、以上の算出工程で得られた方位ドリフト誤差補正値の更新値φを用いて、データ記憶部170が保持している方位ドリフト誤差補正値φを次式によって更新する。 In step S4120, the position / orientation calculation unit 120 uses the updated value φ of the azimuth drift error correction value obtained in the above calculation process to calculate the azimuth drift error correction value φ * held by the data storage unit 170. Update with an expression.

Figure 0004566786
Figure 0004566786

ステップS4130において、位置姿勢算出部120は、処理を終了するか否かの判定を行い、終了しない場合には再びステップS4000へと進み、次フレーム以降の入力データに対して同様の処理を実行する。   In step S4130, the position / orientation calculation unit 120 determines whether or not to end the process. If not, the process proceeds to step S4000, and the same process is performed on the input data from the next frame onward. .

以上によって、撮像装置の位置及び姿勢が計測される。   As described above, the position and orientation of the imaging apparatus are measured.

本実施形態に係る位置姿勢計測装置によれば、主観視点画像及び客観視点画像上で観測される指標の数の合計が2点以上であれば、撮像装置の位置及び姿勢を計測することができる。したがって、主観視点の映像が(手等による隠蔽によって)遮蔽される場合であっても、客観視点画像の情報(2点以上の客観視点指標の観測)によって位置及び姿勢の計測を行うことが可能であるし、反対に、客観視点指標が全て遮蔽されてしまうような状況下であっても、主観視点画像の情報(2点以上の主観視点指標の観測)によって、位置及び姿勢の計測を継続することが可能となる。   According to the position and orientation measurement apparatus according to the present embodiment, the position and orientation of the imaging apparatus can be measured if the total number of indices observed on the subjective viewpoint image and the objective viewpoint image is two or more. . Therefore, even if the video of the subjective viewpoint is occluded (by concealment by hand etc.), it is possible to measure the position and orientation by the information of the objective viewpoint image (observation of two or more objective viewpoint indices) On the other hand, even in situations where all objective viewpoint indices are blocked, measurement of position and orientation is continued using subjective viewpoint image information (observation of two or more subjective viewpoint indices). It becomes possible to do.

なお、上記の実施形態では複数台の客観視点カメラ180を用いていたが、必ずしも複数台の客観視点カメラが必要ではなく、客観視点カメラが1台の場合であっても本実施形態と同様の効果が得られることはいうまでもない。   In the above embodiment, a plurality of objective viewpoint cameras 180 are used. However, a plurality of objective viewpoint cameras are not necessarily required, and even if there is only one objective viewpoint camera, the same as in the present embodiment. Needless to say, an effect can be obtained.

[第2の実施形態]
第1の実施形態は、空間中を移動する撮像手段自体の位置及び姿勢を計測することを目的としていた。本実施形態に係る位置姿勢計測装置は、任意の対象物体の位置及び姿勢を計測することを目的とした位置姿勢計測装置であって、第1の実施形態の位置姿勢計測装置に計測対象物体を追加した構成となっている。以下、本実施形態に係る位置姿勢計測装置及び位置姿勢計測方法について説明する。
[Second Embodiment]
The first embodiment is intended to measure the position and orientation of the imaging means itself that moves in the space. The position / orientation measurement apparatus according to the present embodiment is a position / orientation measurement apparatus for measuring the position and orientation of an arbitrary target object, and the measurement object is placed in the position / orientation measurement apparatus according to the first embodiment. It has an added configuration. Hereinafter, the position and orientation measurement apparatus and the position and orientation measurement method according to the present embodiment will be described.

図5は、本実施形態に係る位置姿勢計測装置の構成を示す図である。図5に示したように、本実施形態に係る位置姿勢計測装置500は、画像入力部160、データ記憶部170、指標検出部110、姿勢センサ140、姿勢予測部150、位置姿勢算出部520、及び主観視点カメラ530によって構成されている。   FIG. 5 is a diagram illustrating a configuration of the position and orientation measurement apparatus according to the present embodiment. As illustrated in FIG. 5, the position / orientation measurement apparatus 500 according to the present embodiment includes an image input unit 160, a data storage unit 170, an index detection unit 110, an attitude sensor 140, an attitude prediction unit 150, a position / orientation calculation unit 520, And a subjective viewpoint camera 530.

第1の実施形態と同じ機能を有する部分については図1と同じ番号を付けており、その説明を省略する。ただし、主観視点カメラ530によって取得された画像が主観視点画像として画像入力部160に入力されるという点、姿勢予測部150による姿勢の予測値が主観視点カメラ530の姿勢であるという点、姿勢センサ140が主観視点カメラ530に装着されている点は、第1の実施形態とは異なっている。   Portions having the same functions as those in the first embodiment are denoted by the same reference numerals as those in FIG. However, the image acquired by the subjective viewpoint camera 530 is input to the image input unit 160 as a subjective viewpoint image, the posture prediction value by the posture prediction unit 150 is the posture of the subjective viewpoint camera 530, and the posture sensor. The point 140 is mounted on the subjective viewpoint camera 530 is different from the first embodiment.

主観視点カメラ530は、計測対象物体580に固定して装着されている。ここで、主観視点カメラ座標系における計測対象物体580の位置及び姿勢は既知であるとする。   The subjective viewpoint camera 530 is fixedly attached to the measurement target object 580. Here, it is assumed that the position and orientation of the measurement target object 580 in the subjective viewpoint camera coordinate system are known.

位置姿勢算出部520は、主観視点カメラ530の姿勢の予測値Rと、指標検出部110によって検出された各々の主観視点指標の画像座標と世界座標の組と、各々の客観視点指標の画像座標とそれに対応する主観視点カメラ座標の組とをデータ記憶部170から入力し、これらの情報に基づいて、第1の実施形態における位置姿勢算出部120と同様な処理によって、主観視点カメラ530の位置及び姿勢を算出する。また、算出した位置をデータ記憶部170に出力し、さらに、位置及び姿勢の算出工程で導出される姿勢センサ140の方位ドリフト誤差補正値の更新値φによって、データ記憶部170が保持する方位ドリフト誤差補正値を更新する。 The position / orientation calculation unit 520 includes a predicted value R * of the attitude of the subjective viewpoint camera 530, a set of image coordinates and world coordinates of each subjective viewpoint index detected by the index detection unit 110, and an image of each objective viewpoint index. Coordinates and a corresponding set of subjective viewpoint camera coordinates are input from the data storage unit 170, and based on these pieces of information, the same processing as that performed by the position / orientation calculation unit 120 in the first embodiment is performed. Calculate the position and orientation. Further, the calculated position is output to the data storage unit 170, and the azimuth drift held by the data storage unit 170 is updated by the updated value φ of the azimuth drift error correction value of the orientation sensor 140 derived in the position and orientation calculation process. Update the error correction value.

位置姿勢算出部520はさらに、上記によって算出した(世界座標系における)主観視点カメラ530の位置及び姿勢と、既知の値であるカメラ座標系における計測対象物体580の位置及び姿勢とに基づいて、計測対象物体580の位置及び姿勢を算出する。算出された位置及び姿勢は、I/F1009を介して外部へ出力される。   Further, the position / orientation calculation unit 520 is based on the position and orientation of the subjective viewpoint camera 530 (in the world coordinate system) calculated as described above and the position and orientation of the measurement target object 580 in the camera coordinate system that are known values. The position and orientation of the measurement target object 580 are calculated. The calculated position and orientation are output to the outside via the I / F 1009.

以上によって、任意の計測対象物体の位置及び姿勢の計測が実現される。   As described above, measurement of the position and orientation of an arbitrary measurement target object is realized.

なお、本実施形態における位置姿勢算出部520は主観視点カメラ530の位置及び姿勢を一旦求めた後に計測対象物体580の位置及び姿勢を求めていたが、計測対象物体580の位置及び姿勢を直接求めてもよい。この場合、姿勢予測部150は計測対象物体580の位置姿勢を推定するようにし(式1のRSCを、計測物体座標系からセンサ座標系へ姿勢を変換する3×3の行列とする)、計測対象物体580の位置を状態ベクトルsの構成要素として設定し、主観視点指標の主観視点カメラ座標x Qknをsから求める式4を、 Note that the position / orientation calculation unit 520 in the present embodiment obtains the position and orientation of the measurement target object 580 after once obtaining the position and orientation of the subjective viewpoint camera 530, but directly obtains the position and orientation of the measurement target object 580. May be. In this case, orientation prediction unit 150 so as to estimate the position and orientation of the measurement object 580 (the R SC of formula 1, and a 3 × 3 matrix for converting the orientation of the measuring object coordinate system to the sensor coordinate system), Formula 4 which sets the position of the measurement target object 580 as a component of the state vector s and obtains the subjective viewpoint camera coordinates x C Qkn of the subjective viewpoint index from s,

Figure 0004566786
Figure 0004566786

に、客観視点指標の世界座標x Pkmをsから求める式7を、 Equation 7 for obtaining the world coordinate x W Pkm of the objective viewpoint index from s,

Figure 0004566786
Figure 0004566786

に置き換えればよい。ここで、RCOは計測物体座標系(計測対象物体580上の1点を原点として定義し、更に互いに直交する3軸を夫々X軸、Y軸、Z軸として定義した座標系)から主観視点カメラ座標系へ姿勢を変換する行列、tCOは同座標系間の位置を変換するベクトルであり、既知の値として予め保持されている主観視点カメラ座標系における計測対象物体580の位置及び姿勢に基づいて、予め算出されているものとする。 Should be replaced. Here, RCO is a subjective viewpoint from a measurement object coordinate system (a coordinate system in which one point on the measurement target object 580 is defined as an origin and three axes orthogonal to each other are defined as an X axis, a Y axis, and a Z axis, respectively). A matrix for converting the posture into the camera coordinate system, t CO is a vector for converting the position between the coordinate systems, and is used to change the position and posture of the measurement target object 580 in the subjective viewpoint camera coordinate system held in advance as a known value. It is assumed that it is calculated in advance.

なお、本実施形態における計測対象物体580は、情景を撮像する撮像装置であってもよい。そして、主観視点カメラ530を、情景を撮像する撮像装置の視野とは異なる視野となるように例えば上向きに配置し、それに伴って主観視点カメラ530の視野内に主観視点指標Qを配置してもよい。そうすることにより、情景を撮像する撮像装置の視野内に主観視点指標Qが入らなくなるため、美観を損ねるという問題の軽減等に貢献する。 Note that the measurement target object 580 in the present embodiment may be an imaging device that captures a scene. Then, the subjective viewpoint camera 530 is disposed, for example, upward so as to have a field of view different from the field of view of the imaging device that captures a scene, and accordingly, the subjective viewpoint index Q k is disposed within the field of view of the subjective viewpoint camera 530. Also good. By doing so, it becomes not enter subjective-view-indices Q k in the field of view of an imaging apparatus for imaging a scene, to contribute to alleviate such a problem that impairs the appearance.

また、本実施形態において、計測対象物体580に複数の主観視点カメラ530を装着することによって、計測対象物体580の位置及び姿勢の計測を、位置と姿勢のいずれにおいても高い精度で実現されるようにしてもよい。   In the present embodiment, by mounting a plurality of subjective viewpoint cameras 530 on the measurement target object 580, the measurement of the position and orientation of the measurement target object 580 can be realized with high accuracy in both position and orientation. It may be.

[第3の実施形態]
上記の実施形態において、位置姿勢算出部120及び520は、いずれも、方位ドリフト誤差補正値の更新値と位置とを表す4値の状態ベクトルsを未知数として、主観視点指標および客観視点指標の検出座標(実測値)と、それらの点の計算値との間の誤差の総和を最小化するようなsを求めていた。しかし、主観視点画像と客観視点画像の双方から得られる幾何的な拘束条件を併用することで計測対象物体の位置及び姿勢を取得する方法はこれに限定されるものではない。本実施形態に係る位置姿勢計測装置は、全体の誤差を最小化する手法とは異なる手法を用いた位置姿勢算出部をその構成要素として有していることを特徴とする。
[Third Embodiment]
In the above embodiment, each of the position / orientation calculation units 120 and 520 detects the subjective viewpoint index and the objective viewpoint index using the quaternary state vector s representing the updated value and the position of the azimuth drift error correction value as an unknown. S that minimizes the sum of errors between the coordinates (measured values) and the calculated values of those points has been obtained. However, the method of acquiring the position and orientation of the measurement target object by using geometric constraint conditions obtained from both the subjective viewpoint image and the objective viewpoint image is not limited to this. The position / orientation measurement apparatus according to the present embodiment includes a position / orientation calculation unit using a method different from the method of minimizing the overall error as its constituent elements.

本実施形態に係る位置姿勢計測装置の構成は基本的には第1の実施形態と同様であるが、位置姿勢算出部120が第1の実施形態のそれとは異なる位置姿勢算出部120’に置換された構成となっている(不図示)。つまり、位置姿勢算出部が行う処理が異なる。   The configuration of the position / orientation measurement apparatus according to the present embodiment is basically the same as that of the first embodiment, but the position / orientation calculation unit 120 is replaced with a position / orientation calculation unit 120 ′ different from that of the first embodiment. This is the configuration (not shown). That is, the processing performed by the position / orientation calculation unit is different.

以下、本実施形態に係る位置姿勢計測装置及び位置姿勢計測方法について説明する。   Hereinafter, the position and orientation measurement apparatus and the position and orientation measurement method according to the present embodiment will be described.

本実施形態では、各部(画像入力部160、データ記憶部170、指標検出部110、姿勢予測部150、及び位置姿勢算出部120’)は1台のコンピュータ内で実行対象となるソフトウェアとして扱う。またこのコンピュータの基本構成は図2に示した構成とする。   In this embodiment, each unit (the image input unit 160, the data storage unit 170, the index detection unit 110, the posture prediction unit 150, and the position / posture calculation unit 120 ') is handled as software to be executed in one computer. The basic configuration of this computer is the configuration shown in FIG.

図6は、CPU1001が位置姿勢算出部120’のソフトウェアのプログラムを実行することで行われる、撮像装置130の位置及び姿勢を示すパラメータを算出する処理のフローチャートである。なお、以下の処理を行う前段で、同フローチャートに従ったプログラムコードは、RAM1002に既にロードされているものとする。   FIG. 6 is a flowchart of processing for calculating parameters indicating the position and orientation of the imaging apparatus 130, which are performed by the CPU 1001 executing the software program of the position and orientation calculation unit 120 '. It is assumed that the program code according to the flowchart is already loaded in the RAM 1002 in the previous stage of performing the following processing.

ステップS6000において、位置姿勢算出部120’は、撮像装置130の姿勢の予測値R(姿勢予測部150の出力)をデータ記憶部170から入力する。 In step S6000, the position / orientation calculation unit 120 ′ inputs the predicted value R * of the attitude of the imaging device 130 (output of the attitude prediction unit 150) from the data storage unit 170.

ステップS6003において、位置姿勢算出部120’は、指標検出部110において検出された客観視点指標について、その画像座標とカメラ座標の組を入力する。   In step S6003, the position / orientation calculation unit 120 'inputs a set of image coordinates and camera coordinates for the objective viewpoint index detected by the index detection unit 110.

なお、複数の客観視点指標が設置されている場合や、複数の客観視点カメラが設置されている場合には、複数の客観視点指標の投影像が検出され、各々の画像座標が入力される状況が発生する。本実施形態では、このような場合であっても、以降の処理に使用される客観視点指標は1点のみであり、位置姿勢算出部120’は、適当な1点を客観視点指標Pの画像座標uとして選択する。 When multiple objective viewpoint indices are installed, or when multiple objective viewpoint cameras are installed, the projected images of multiple objective viewpoint indices are detected, and each image coordinate is input Occurs. In the present embodiment, even in such a case, only one objective viewpoint index is used for the subsequent processing, and the position / orientation calculation unit 120 ′ determines that an appropriate point is an image of the objective viewpoint index P. It is selected as the coordinate u P.

ステップS6006において、位置姿勢算出部120’は、画像座標uに基づいて、世界座標系における客観視点指標Pの位置を拘束する一本の直線を表すパラメータを算出する。まず、世界座標系における直線の傾き(方向ベクトル)hx,hy,hzを、 In step S6006, the position and orientation calculation unit 120 'based on the image coordinates u P, calculates a parameter representing a single straight line constraining the position of the objective-view-index P in the world coordinate system. First, the slope (direction vector) hx, hy, hz of the straight line in the world coordinate system is

Figure 0004566786
Figure 0004566786

によって画像座標uに基づいて算出する。ここで、RWBは客観視点指標Pを検出した客観視点カメラ180の世界座標系における姿勢を表す3x3行列、f 及びf は、それぞれx軸方向及びy軸方向における当該客観視点カメラ180の焦点距離であって、いずれも既知の値として予め外部記憶装置1007に保持されているものとする。このとき、世界座標系における直線上の点は、媒介変数τの関数として Calculated on the basis of the image coordinates u P by. Here, R WB is a 3 × 3 matrix representing the attitude of the objective viewpoint camera 180 that detected the objective viewpoint index P in the world coordinate system, and f B x and f B y are the objective viewpoint camera in the x-axis direction and the y-axis direction, respectively. It is assumed that the focal length is 180 and both are stored in the external storage device 1007 in advance as known values. At this time, the point on the straight line in the world coordinate system is a function of the parameter τ.

Figure 0004566786
Figure 0004566786

のように表すことができる。ここで、tWBは世界座標系における当該客観視点カメラ180の位置であって、既知の値として予め外部記憶装置1007に保持されているものとする。式23で表される直線は、世界座標系における当該客観視点カメラ180の位置と世界座標系における客観視点指標Pの位置とを通る直線であって、世界座標系における客観視点指標Pの位置は、上記媒介変数τが適当な値を取ることにより得られるものである。 It can be expressed as Here, tWB is the position of the objective viewpoint camera 180 in the world coordinate system, and is assumed to be held in the external storage device 1007 in advance as a known value. The straight line represented by Expression 23 is a straight line that passes through the position of the objective viewpoint camera 180 in the world coordinate system and the position of the objective viewpoint index P in the world coordinate system, and the position of the objective viewpoint index P in the world coordinate system is The parameter τ is obtained by taking an appropriate value.

以下、世界座標系における客観視点指標Pの位置を定める媒介変数τと、姿勢センサ140の方位ドリフト誤差補正値の更新値φの合計2パラメータを、算出すべき未知パラメータとして取り扱う。以下では、求めるべき未知パラメータを2値の状態ベクトルs’=[τφ]によって記述する。 Hereinafter, a total of two parameters, the parameter τ that determines the position of the objective viewpoint index P in the world coordinate system and the updated value φ of the azimuth drift error correction value of the attitude sensor 140, are treated as unknown parameters to be calculated. In the following, the unknown parameter to be obtained is described by a binary state vector s ′ = [τφ] T.

ステップS6010において、位置姿勢算出部120’は、状態ベクトルs’に適当な初期値s’=[τ−10]を設定する。ここで、τ−1としては、例えば、1ループ前の処理において得られた撮像装置130の位置から客観視点指標Pの世界座標を求め、得られた世界座標に最も近い直線l上の点を表すτを設定する。 In step S6010, the position / orientation calculation unit 120 ′ sets an appropriate initial value s ′ = [τ −1 0] T in the state vector s ′. Here, as τ −1 , for example, the world coordinate of the objective viewpoint index P is obtained from the position of the imaging device 130 obtained in the processing one loop before, and the point on the straight line l W closest to the obtained world coordinate is obtained. Is set to represent τ.

ステップS6020において、位置姿勢算出部120’は、指標検出部110において検出された各々の主観視点指標の画像座標とその世界座標の組を入力する。   In step S6020, the position / orientation calculation unit 120 'inputs a set of image coordinates of each subjective viewpoint index detected by the index detection unit 110 and its world coordinates.

ステップS6030において、位置姿勢算出部120’は、入力された主観視点指標数が1以上であるかどうかの判定を行う。指標の総数Nが1に満たない場合には、ステップS6040からステップS6090によって実現されるs’の更新処理を行わずに、ステップS6100へと進む。   In step S6030, the position / orientation calculation unit 120 'determines whether the input subjective viewpoint index number is 1 or more. If the total number N of indexes is less than 1, the process proceeds to step S6100 without performing the s ′ update process realized by steps S6040 to S6090.

ステップS6040において、位置姿勢算出部120’は、各々の主観視点指標Qknに対して、その画像座標の推定値uQkn*を、世界座標x Qknとs’から主観視点カメラ座標(主観視点カメラ座標系における座標)x Qknを求める次式、 In step S6040, the position / orientation calculation unit 120 ′ obtains the estimated value u Qkn * of the image coordinate for each subjective viewpoint index Q kn and the subjective viewpoint camera coordinates (subjective viewpoint) from the world coordinates x W Qkn and s ′. (Coordinate in camera coordinate system) x C Qkn

Figure 0004566786
Figure 0004566786

及び、カメラ座標x Qknから画像座標uQkn*を求める式5に基づいて算出する。ここで、x は、主観視点カメラ座標系における指標Pの座標値であり、既知な情報として予め外部記憶装置1007に保持されている。 And, calculated on the basis of the camera coordinate x C Qkn in Equation 5 to determine the image coordinates u Qkn *. Here, x C P is the coordinate value of the index P in the subjective-view camera coordinate system, is held in advance in the external storage device 1007 as known information.

すなわち、撮像装置130の位置及び姿勢が従前に求めた状態ベクトルs’に従っていると仮定して、撮像装置130と主観視点指標との位置姿勢関係に応じて、各々の主観視点指標の画像座標の推定値を求める。   That is, assuming that the position and orientation of the imaging device 130 are in accordance with the state vector s ′ obtained previously, the image coordinate of each subjective viewpoint index is determined according to the position and orientation relationship between the imaging device 130 and the subjective viewpoint index. Get an estimate.

ステップS6050において、位置姿勢算出部120’は、各々の主観視点指標Qknに対して、画像座標の推定値uQkn*と実測値uQknとの誤差△uQknを、式10に基づいて算出する。 In step S6050, the position and orientation calculation unit 120 'for each of the subjective-view-indices Q kn, estimated values of the image coordinates u Qkn * and the error △ u Qkn of the measured values u Qkn, based on Equation 10 is calculated To do.

ステップS6060において、位置姿勢算出部120’は、各々の主観視点指標Qknに対して、状態ベクトルs’に関する画像ヤコビアン(すなわち、式1の関数Fc()(本実施形態では、式24と式5によって構成されるものであり、sはs’となる)をs’の各要素で偏微分した解を各要素に持つ2行×2列のヤコビ行列)Jus’ Qkn(=∂u/∂s’)を算出する。具体的には、式5の右辺をカメラ座標x Qknの各要素で偏微分した解を各要素に持つ2行×3列のヤコビ行列Jux Qkn(=∂u/∂x)と、式24の右辺をベクトルs’の各要素で偏微分した解を各要素に持つ3行×2列のヤコビ行列Jxs’ Qkn(=∂x/∂s’)とを算出した後に、これらを用いて式12(ただしsはs’とおきかえる)によって算出する。 In step S6060, the position / orientation calculation unit 120 ′ performs, for each subjective viewpoint index Q kn , an image Jacobian (that is, a function Fc () of Expression 1 (in this embodiment, Expression 24 and Expression 5), s is s ′), and a 2 row × 2 column Jacobian matrix having a partial differential of each element of s ′) J us ′ Qkn (= ∂u / ∂s ′) is calculated. Specifically, a Jacobian matrix J ux Qkn (= ∂u / ∂x) of 2 rows × 3 columns having a solution obtained by partial differentiation of the right side of Equation 5 with each element of camera coordinates x C Qkn , and an equation After calculating a Jacobian matrix J xs ′ Qkn (= ∂x / ∂s ′) of 3 rows × 2 columns having each element a solution obtained by partial differentiation of the right side of 24 with each element of the vector s ′, these are used. Thus, calculation is performed according to Equation 12 (where s is replaced with s ′).

ステップS6070において、位置姿勢算出部120’は、式14(ただしsはs’とおきかえる)を用いて、状態ベクトルs’の補正値△s’を算出する。ただし、本実施形態においては、Uは各々の主観視点指標に対して求めた誤差△uQknを垂直に並べた2N次元の誤差ベクトルであり、θは各々の主観視点指標に対して求めた画像ヤコビアンJus’ Qknを垂直に並べた2N行×2列の行列を表している。 In step S6070, the position / orientation calculation unit 120 ′ calculates the correction value Δs ′ of the state vector s ′ using Expression 14 (where s is replaced with s ′). However, in this embodiment, U is a 2N-dimensional error vector in which errors Δu Qkn obtained for each subjective viewpoint index are vertically arranged, and θ is an image obtained for each subjective viewpoint index. It represents a 2N × 2 matrix of Jacobian J us ′ Qkn arranged vertically.

ステップS6080において、位置姿勢算出部120’は、ステップS6070において算出した補正値△s’を用いて、式17(ただしsはs’とおきかえる)によって状態ベクトルs’を補正し、得られた値をs’の新たな推定値とする。   In step S6080, the position / orientation calculation unit 120 ′ uses the correction value Δs ′ calculated in step S6070 to correct the state vector s ′ using Equation 17 (where s is replaced with s ′), and the obtained value. Is the new estimate of s ′.

ステップS6090において、位置姿勢算出部120’は、誤差ベクトルUが予め定めた閾値より小さいかどうか、あるいは、補正値△s’が予め定めた閾値より小さいかどうかといった何らかの判定基準を用いて、計算が収束しているか否かの判定を行う。収束してない場合には、補正後の状態ベクトルs’を用いて、ステップS6040以降の処理を再度行う。   In step S6090, the position / orientation calculation unit 120 ′ performs calculation using some criterion such as whether the error vector U is smaller than a predetermined threshold or whether the correction value Δs ′ is smaller than a predetermined threshold. It is determined whether or not has converged. If not converged, the processing after step S6040 is performed again using the corrected state vector s'.

ステップS6090において計算が収束したと判定されると、ステップS6100において、位置姿勢算出部120’は、撮像装置130の位置及び姿勢を算出する。姿勢Rの算出は、前ステップまでで得られたドリフト誤差補正値の更新値φを用いて、式18によって行う。一方、位置tの算出は、前ステップまでで得られた媒介変数τ及び姿勢Rを用いて、次式によって行う。   If it is determined in step S6090 that the calculation has converged, in step S6100, the position / orientation calculation unit 120 'calculates the position and orientation of the imaging device 130. The posture R is calculated by Equation 18 using the updated value φ of the drift error correction value obtained up to the previous step. On the other hand, the position t is calculated by the following equation using the parameter τ and the posture R obtained up to the previous step.

Figure 0004566786
Figure 0004566786

ステップS6110において、位置姿勢算出部120’は、得られた撮像装置130の位置及び姿勢の情報をI/F1009を介して外部へ出力する。また、撮像装置130の位置tをデータ記憶部170へと出力する。なお、位置及び姿勢の出力の形態は例えば姿勢を表す3×3行列Rと位置を表す3次元ベクトルtの組であってもよいし、姿勢をオイラー角に変換したものでもよいし、位置及び姿勢から算出したビューイング変換行列でもよいし、他のいずれの位置姿勢記述方法によるものでもよい。   In step S6110, the position / orientation calculation unit 120 'outputs the obtained position and orientation information of the imaging device 130 to the outside via the I / F 1009. In addition, the position t of the imaging device 130 is output to the data storage unit 170. The output form of the position and orientation may be, for example, a set of a 3 × 3 matrix R representing the posture and a three-dimensional vector t representing the position, or may be obtained by converting the posture into Euler angles. A viewing transformation matrix calculated from the orientation may be used, or any other position and orientation description method may be used.

ステップS6120において、位置姿勢算出部120’は、以上の算出工程で得られた方位ドリフト誤差補正値の更新値φを用いて、データ記憶部170が保持している方位ドリフト誤差補正値φを式19によって更新する。 In step S6120, the position / orientation calculation unit 120 ′ uses the updated value φ of the azimuth drift error correction value obtained in the above calculation process to calculate the azimuth drift error correction value φ * held in the data storage unit 170. Update with Equation 19.

ステップS6130において、位置姿勢算出部120’は、処理を終了するか否かの判定を行い、終了しない場合には再びステップS6000へと進み、次フレーム以降の入力データに対して同様の処理を実行する。   In step S6130, the position / orientation calculation unit 120 ′ determines whether or not to end the process. If the position / orientation calculation unit 120 ′ does not end the process, the process proceeds to step S6000, and the same process is performed on the input data from the next frame onward. To do.

以上の処理によって、客観視点カメラ180から得られる客観視点指標が存在すべき直線を拘束条件として、その拘束条件のもとで、主観視点画像上における主観視点指標の誤差を最小とするような撮像装置130の位置及び姿勢を得ることができる。   With the above processing, a straight line that should have an objective viewpoint index obtained from the objective viewpoint camera 180 is used as a constraint condition, and imaging is performed so as to minimize the error of the subjective viewpoint index on the subjective viewpoint image under the constraint condition. The position and orientation of the device 130 can be obtained.

なお、本実施形態による位置及び姿勢の計測結果は、第1の実施形態による位置及び姿勢の計測結果と比較して、客観視点カメラ180から得られる情報を優先的に信頼したものとなる。したがって、客観視点カメラ180から得られる情報の信頼性が撮像装置130から得られる情報より相対的に勝っている状況、例えば、高解像度の客観視点カメラを利用可能な場合や、検出精度の非常に高いマーカを客観視点指標としてのみ利用可能な場合等において、本実施形態に係る位置姿勢計測装置は、第1の実施形態と比して有効に機能する。   Note that the position and orientation measurement results according to this embodiment are preferentially trusted with the information obtained from the objective viewpoint camera 180 compared to the position and orientation measurement results according to the first embodiment. Accordingly, the reliability of the information obtained from the objective viewpoint camera 180 is relatively superior to the information obtained from the imaging device 130, for example, when a high-resolution objective viewpoint camera can be used, or the detection accuracy is very high. In a case where a high marker can be used only as an objective viewpoint index, the position / orientation measurement apparatus according to this embodiment functions more effectively than the first embodiment.

[第4の実施形態]
上記の実施形態において、位置姿勢算出部120,520,及び120’は、いずれも、姿勢センサ140の方位ドリフト誤差補正値の更新値を未知数として求めていた。しかし、方位方向のみに姿勢の補正項目を限定せずに、姿勢センサ140の3軸方向に対する誤差の補正値を求めることももちろん可能である。本実施形態に係る位置姿勢計測装置の構成は、第1の実施形態に係る位置姿勢計測装置の構成とほぼ同じであるので、以下では、第1の実施形態とは異なる部分についてのみを説明する。
[Fourth Embodiment]
In the above embodiment, the position / orientation calculation units 120, 520, and 120 ′ all obtain the updated value of the orientation drift error correction value of the orientation sensor 140 as an unknown. However, it is of course possible to obtain error correction values for the orientation sensor 140 with respect to the three-axis directions without limiting the orientation correction items only in the azimuth direction. Since the configuration of the position / orientation measurement apparatus according to the present embodiment is substantially the same as the configuration of the position / orientation measurement apparatus according to the first embodiment, only the parts different from those of the first embodiment will be described below. .

本実施形態におけるデータ記憶部170は、姿勢センサ140の方位ドリフト誤差補正値φの代わりに、姿勢センサ140の誤差補正回転行列△Rを記憶している。 The data storage unit 170 in this embodiment stores an error correction rotation matrix ΔR * of the attitude sensor 140 instead of the orientation drift error correction value φ * of the attitude sensor 140.

本実施形態における姿勢予測部150は、姿勢センサ140の方位ドリフト誤差補正値φを入力する代わりに姿勢センサ140の誤差補正回転行列△Rを入力し(ステップS3010)、式1の代わりに次式によって姿勢の予測値Rを算出する(ステップS3020)。 The posture prediction unit 150 in this embodiment inputs the error correction rotation matrix ΔR * of the posture sensor 140 instead of inputting the azimuth drift error correction value φ * of the posture sensor 140 (step S3010), and instead of the equation 1 A predicted posture value R * is calculated by the following equation (step S3020).

Figure 0004566786
Figure 0004566786

本実施形態における位置姿勢算出部120では、撮像装置130の位置t=[xyz]と、撮像装置130の姿勢Rの3値表現ω=[ξψζ]の合計6パラメータを、算出すべき未知パラメータとして取り扱う。以下では、求めるべき未知パラメータを6値の状態ベクトルs’’=[xyzξψζ]によって記述する。 In the position / orientation calculation unit 120 according to the present embodiment, a total of six parameters, that is, the position t = [xyz] T of the imaging device 130 and the ternary expression ω = [ξψζ] T of the orientation R of the imaging device 130 should be calculated. Treat as a parameter. In the following, the unknown parameter to be obtained is described by a six-valued state vector s ″ = [xyzξψζ] T.

姿勢(回転行列)を3値によって表現する方法には様々なものが存在するが、ここでは、ベクトルの大きさによって回転角を、ベクトルの向きによって回転軸方向を定義するような3値のベクトルによって表現されているものとする。なお、姿勢ωは、次式   There are various methods for expressing the posture (rotation matrix) by ternary values. Here, a ternary vector in which the rotation angle is defined by the magnitude of the vector and the rotation axis direction is defined by the vector direction. It is assumed that The posture ω is given by

Figure 0004566786
Figure 0004566786

(ただし、 (However,

Figure 0004566786
Figure 0004566786

である。)
によって、3×3の回転行列Rによっても表現可能であり、ωとRとは、互いに一意に変換することができる。Rからωへの変換方法は公知であるので、その詳細な説明は省略する。
It is. )
Can also be represented by a 3 × 3 rotation matrix R, and ω and R can be uniquely converted from each other. Since the conversion method from R to ω is known, the detailed description thereof is omitted.

本実施形態における位置姿勢算出部120では、状態ベクトルs’’の初期値を、s’’=x−1−1−1ξψζと設定する(ステップS4010)。ここで、x−1,y−1,z−1は、1ループ前の処理において算出された計測対象物体130の位置を表しており、ξ,ψ,ζは、姿勢の予測値Rから得られる姿勢の3値表現を表している。 In the position / orientation calculation unit 120 according to this embodiment, the initial value of the state vector s ″ is set as s ″ = x −1 y −1 z −1 ξ * ψ * ζ * ] T (step S4010). Here, x −1 , y −1 , and z −1 represent the position of the measurement target object 130 calculated in the process one loop before, and ξ * , ψ * , and ζ * are the predicted values of the posture. This represents a ternary expression of the posture obtained from R * .

本実施形態における位置姿勢算出部120では、入力した指標数による処理の分岐(ステップS4030)を、入力した指標の実体の総数が3点以上か否かで判定する。   In the position / orientation calculation unit 120 according to the present embodiment, the branch of the processing based on the input index number (step S4030) is determined based on whether the total number of input index entities is three or more.

本実施形態における位置姿勢算出部120では、主観視点指標Qknの主観視点カメラ座標x Qknを当該指標の世界座標x Qknとs(本実施形態ではs’’)とから求める関係式と、客観視点指標Pkmの世界座標x Pkmを当該指標の主観視点カメラ座標x Pkmとs(本実施形態ではs’’)とから求める関係式が、第1の実施形態における式4と式7から、それぞれ次式(式28及び式29)に変更される。したがって、各指標に対する画像ヤコビアンは、2行×6列のヤコビ行列Jus’’ Qkn(=∂u/∂s’’)となる。 In the position / orientation calculation unit 120 in the present embodiment, a relational expression for obtaining the subjective viewpoint camera coordinates x C Qkn of the subjective viewpoint index Q kn from the world coordinates x W Qkn of the index and s (s ″ in the present embodiment) The relational expression for obtaining the world coordinate x W Pkm of the objective viewpoint index P km from the subjective viewpoint camera coordinates x C Pkm of the index and s (s ″ in the present embodiment) is the expression 4 in the first embodiment: Expression 7 is changed to the following expressions (Expression 28 and Expression 29), respectively. Accordingly, the image Jacobian for each index is a Jacobian matrix J us ″ Qkn (= ku / ∂s ″) of 2 rows × 6 columns.

Figure 0004566786
Figure 0004566786

Figure 0004566786
Figure 0004566786

本実施形態における位置姿勢算出部120では、撮像装置130の姿勢Rの算出(ステップS4100)を、得られた状態ベクトルs’’を用いて式27によって行う。   In the position / orientation calculation unit 120 according to the present embodiment, the attitude R of the imaging device 130 is calculated (step S4100) using the obtained state vector s ″ according to Expression 27.

本実施形態における位置姿勢算出部120は、ステップS4120において、以上の算出工程で得られた撮像装置130の姿勢Rを用いて姿勢センサ140の誤差補正回転行列△Rを次式によって求め、データ記憶部170が保持している値を更新する。 In step S4120, the position / orientation calculation unit 120 according to the present embodiment obtains an error correction rotation matrix ΔR * of the attitude sensor 140 using the attitude R of the imaging device 130 obtained in the above calculation process by the following equation, and the data The value held in the storage unit 170 is updated.

Figure 0004566786
Figure 0004566786

以上によって、撮像装置の位置及び姿勢が計測される。   As described above, the position and orientation of the imaging apparatus are measured.

[第5の実施形態]
第1の実施形態では、世界座標系に固定された客観視点カメラ180によって,撮像装置130(に取り付けられた姿勢センサ)上に配置された客観視点指標Pを撮影していた。しかし、撮像装置130の位置及び姿勢を取得するための構成はこれに限られるものではない。本実施形態に係る位置姿勢計測装置は、撮像装置130上に固定された客観視点カメラ180によって、世界座標系に配置された客観視点指標Pを撮影する構成となっていることを特徴とする。以下、本実施形態に係る位置姿勢計測装置及び位置姿勢計測方法について説明する。
[Fifth Embodiment]
In the first embodiment, the objective viewpoint index Pk arranged on the imaging device 130 (the posture sensor attached to the imaging device 130) is photographed by the objective viewpoint camera 180 fixed in the world coordinate system. However, the configuration for acquiring the position and orientation of the imaging device 130 is not limited to this. The position / orientation measurement apparatus according to the present embodiment is configured such that an objective viewpoint index Pk arranged in the world coordinate system is captured by an objective viewpoint camera 180 fixed on the imaging apparatus 130. . Hereinafter, the position and orientation measurement apparatus and the position and orientation measurement method according to the present embodiment will be described.

図7は、本実施形態に係る位置姿勢計測装置の構成を示す図である。図7に示したように、本実施形態に係る位置姿勢計測装置700は、客観視点カメラ180(180a,180b)、画像入力部160、データ記憶部770、指標検出部110、姿勢センサ140、姿勢予測部150、及び位置姿勢算出部720によって構成されており、撮像装置130に接続されている。なお、第1の実施形態と同じ機能を有する部分については図1と同じ番号を付けており、その説明を省略する。   FIG. 7 is a diagram illustrating a configuration of the position and orientation measurement apparatus according to the present embodiment. As shown in FIG. 7, the position / orientation measurement apparatus 700 according to the present embodiment includes an objective viewpoint camera 180 (180a, 180b), an image input unit 160, a data storage unit 770, an index detection unit 110, an attitude sensor 140, an attitude. The prediction unit 150 and the position / orientation calculation unit 720 are configured to be connected to the imaging device 130. Note that portions having the same functions as those of the first embodiment are denoted by the same reference numerals as those in FIG. 1, and description thereof is omitted.

撮像装置130上には、主観視点カメラ座標系における位置及び姿勢が既知である客観視点カメラ180(180a,180b)が固定して配置されている。   On the imaging device 130, an objective viewpoint camera 180 (180a, 180b) having a known position and orientation in the subjective viewpoint camera coordinate system is fixedly disposed.

現実空間中の複数の位置には、撮像装置130によって撮影するための主観視点指標Qの他に、客観視点カメラ180によって撮影するための指標として、世界座標系における位置x Pkが既知である複数個の客観視点指標P(k=1,,,K)も配置されている。 At a plurality of positions in the real space, the position x W Pk in the world coordinate system is known as an index for photographing with the objective viewpoint camera 180 in addition to the subjective viewpoint index Q k for photographing with the imaging device 130. A plurality of objective viewpoint indices P k (k = 1,, K P ) are also arranged.

図7の例は、3個の主観視点指標Q,Q,Qと2個の客観視点指標P,Pが設定されており、そのうちの2個の主観視点指標Q,Qが撮像装置130の視野内に含まれており、客観視点指標Pが客観視点カメラ180aおよび180bの視野内に、客観視点指標Pが客観視点カメラ180bの視野内に含まれている状況を示している。 Example of FIG. 7, three subjective-view-indices Q 1, Q 2, Q 3 and two objective viewpoint index P 1, P 2 is set, two subjective-view-indices Q 1, Q of which 3 is included within the field of view of the imaging device 130, a situation where the objective-view-index P 1 is within the field of view of the objective viewpoint cameras 180a and 180b, an objective-view-index P 2 is included in the field of view of the objective viewpoint camera 180b Is shown.

図7の場合には、主観視点画像上で検出された指標の数および夫々の客観視点画像上で検出された指標の数は、N=2,M=1,M=2となる。指標検出部110からは、指標の識別子k=1,k=3,ka1=1,kb1=1,kb2=2と、これらを撮影したカメラの識別子と、これらに対応する画像座標uQk1,uQk2,u Pka1,u Pkb1,u Pkb2が出力される。 In the case of FIG. 7, the number of indices detected on the subjective viewpoint image and the number of indices detected on each objective viewpoint image are N = 2, M a = 1, and M b = 2. From the index detection unit 110, index identifiers k 1 = 1, k 2 = 3, k a1 = 1, k b1 = 1, k b2 = 2 and the identifiers of the cameras that have captured them, and the images corresponding thereto The coordinates u Qk1 , u Qk2 , u a Pka1 , u b Pkb1 , u b Pkb2 are output.

客観視点カメラ180(180a,180b)は、計測対象範囲内に撮像装置130が位置するときに、そのいずれかが客観視点指標Pを撮像可能となるように配置されている。ここで、各客観視点カメラ180の主観視点カメラ座標系における位置及び姿勢は、データ記憶部770に既知の値として予め保持されているものとする。 The objective viewpoint camera 180 (180a, 180b) is arranged such that one of the objective viewpoint cameras Pk can image the objective viewpoint index Pk when the imaging device 130 is located within the measurement target range. Here, it is assumed that the position and orientation of each objective viewpoint camera 180 in the subjective viewpoint camera coordinate system are stored in the data storage unit 770 as known values in advance.

位置姿勢算出部720は、撮像装置130の姿勢の予測値と、指標検出部110によって検出された各々の主観視点指標の画像座標uQknと世界座標x Qknの組と、各々の客観視点指標の画像座標uPkam,uPkbmとそれに対応する世界座標x Pkam,x Pkbmの組とをデータ記憶部770から入力し、これらの情報に基づいて撮像装置130の位置及び姿勢を算出し、I/Fを介して外部へ出力する。また、算出した撮像装置130の位置をデータ記憶部770に出力し、さらに、位置及び姿勢の算出工程で導出される姿勢センサ140の方位ドリフト誤差補正値の更新値によって、データ記憶部770が保持する方位ドリフト誤差補正値を更新する。 The position / orientation calculation unit 720 includes a predicted value of the orientation of the imaging device 130, a set of image coordinates u Qkn and world coordinates x W Qkn of each subjective viewpoint index detected by the index detection unit 110, and each objective viewpoint index. Image coordinates u Pkam , u Pkbm and a corresponding set of world coordinates x W Pkam , x W Pkbm are input from the data storage unit 770, and the position and orientation of the imaging device 130 are calculated based on these information, Output to the outside via the I / F. In addition, the calculated position of the imaging device 130 is output to the data storage unit 770, and the data storage unit 770 holds the updated value of the orientation drift error correction value of the orientation sensor 140 derived in the position and orientation calculation process. Update the azimuth drift error correction value.

データ記憶部770は、方位ドリフト誤差補正値、画像入力部160から入力される画像、姿勢予測部150から入力される姿勢の予測値、位置姿勢算出部720から入力される位置の算出値、指標検出部110から入力される各々の指標の画像座標及び識別子、さらに、既知の値である主観視点指標の世界座標、客観視点指標の世界座標、客観視点カメラ180の主観視点カメラ座標系における位置及び姿勢等のデータを保持し、必要に応じてこれらを入出力する。   The data storage unit 770 includes an azimuth drift error correction value, an image input from the image input unit 160, a predicted value of posture input from the posture prediction unit 150, a calculated value of position input from the position / posture calculation unit 720, and an index The image coordinates and identifier of each index input from the detection unit 110, the world coordinates of the subjective viewpoint index, which are known values, the world coordinates of the objective viewpoint index, the position of the objective viewpoint camera 180 in the subjective viewpoint camera coordinate system, and Holds data such as posture and inputs / outputs them as needed.

本実施形態に係る、撮像装置130の位置及び姿勢を示すパラメータを算出する処理のフローチャートは,第1の実施形態に係るフローチャート(図4)とほぼ同じであるので、以下では、第1の実施形態とは異なる部分についてのみ説明する。   The flowchart of the process for calculating the parameters indicating the position and orientation of the imaging apparatus 130 according to the present embodiment is almost the same as the flowchart according to the first embodiment (FIG. 4). Only the parts different from the form will be described.

ステップS4020において、位置姿勢算出部720は、主観視点カメラ座標(主観視点カメラ座標系における座標値)x P1,x P2を入力する代わりに、世界座標x P1,x P2を入力する。 In step S4020, the position / orientation calculation unit 720 inputs the world coordinates x W P1 and x W P2 instead of inputting the subjective viewpoint camera coordinates (coordinate values in the subjective viewpoint camera coordinate system) x C P1 and x C P2. .

ステップS4040において、客観視点指標Pkmの画像座標の推定値uPkm*の算出は、客観視点指標Pkm各々の世界座標x Pkmと現在の状態ベクトルsの関数: In step S4040, the objective viewpoint estimate u Pkm * calculation of the index P miles of image coordinates, objective-view-index P miles each world coordinates x W Pkm and functions of the current state vector s:

Figure 0004566786
Figure 0004566786

を用いて行う。具体的には、関数F( )は、世界座標x Pkmとsから主観視点カメラ座標(主観視点カメラ座標系における座標)x Pkmを求める次式、 To do. Specifically, the function F D () is obtained by the following equation for obtaining the subjective viewpoint camera coordinates (coordinates in the subjective viewpoint camera coordinate system) x C Pkm from the world coordinates x W Pkm and s:

Figure 0004566786
Figure 0004566786

及び、主観視点カメラ座標x Pkmから客観視点カメラ座標(客観視点カメラ座標系(客観視点カメラ180上の1点を原点として定義し、更に互いに直交する3軸を夫々X軸、Y軸、Z軸として定義した座標系)上における当該指標の座標)x Pkmを求める次式、 The objective viewpoint camera coordinates (objective viewpoint camera coordinate system (one point on the objective viewpoint camera 180 is defined as the origin, and three axes orthogonal to each other are defined as the X axis, the Y axis, and the Z axis ) from the subjective viewpoint camera coordinates x C Pkm. The coordinate of the index on the coordinate system defined as the axis) x B Pkm

Figure 0004566786
Figure 0004566786

及び、客観視点カメラ座標x Pkmから画像座標uPkm*を求める式9によって構成されている。ここで、f 及びf は夫々の客観視点カメラ180のx軸方向及びy軸方向における焦点距離、RCBは夫々の客観視点カメラ180の主観視点カメラ座標系における姿勢を表す3x3行列、tCBは夫々の客観視点カメラ180の主観視点カメラ座標系における位置を表す3次元ベクトルであり、客観視点カメラ180の夫々に対して既知の値として予め保持されている。 And, and a objective viewpoint camera coordinate x B Pkm by equation 9 to obtain the image coordinates u Pkm *. Here, f B x and f B y are focal lengths in the x-axis direction and the y-axis direction of each objective viewpoint camera 180, and R CB is a 3 × 3 matrix representing the attitude of each objective viewpoint camera 180 in the subjective viewpoint camera coordinate system. , T CB is a three-dimensional vector representing the position of each objective viewpoint camera 180 in the subjective viewpoint camera coordinate system, and is held in advance as a known value for each objective viewpoint camera 180.

以上によって、撮像手段の位置及び姿勢が計測される。   As described above, the position and orientation of the imaging means are measured.

なお、上記の実施形態では複数台の客観視点カメラ180を用いていたが、必ずしも複数台の客観視点カメラが必要ではなく、客観視点カメラが1台の場合であっても本実施形態と同様の効果が得られることは言うまでもない。   In the above embodiment, a plurality of objective viewpoint cameras 180 are used. However, a plurality of objective viewpoint cameras are not necessarily required, and even if there is only one objective viewpoint camera, the same as in the present embodiment. Needless to say, an effect can be obtained.

また、第2乃至第4の実施形態においても、本実施形態で説明した、撮像装置130上に固定された客観視点カメラ180によって世界座標系に配置された客観視点指標Pkを撮影する構成を用いることができることは言うまでもない。   Also in the second to fourth embodiments, the configuration described in this embodiment for photographing the objective viewpoint index Pk arranged in the world coordinate system by the objective viewpoint camera 180 fixed on the imaging device 130 is used. It goes without saying that it can be done.

(変形例1)
上記の実施形態の各々において、誤差ベクトルUと行列Θに基づく状態ベクトルの補正値△sの算出に式11で表現される最急降下法を用いているが、補正値△sの算出は必ずしも最急降下法によって行わなくてもよい。例えば公知の非線形方程式の反復解法であるLM法(Levenberg−Marquardt法)を用いて求めてもよいし、公知のロバスト推定手法であるM推定等の統計的手法を組み合わせてもよいし、他の何れの数値計算手法を適用しても構わない。
(Modification 1)
In each of the above-described embodiments, the steepest descent method expressed by Equation 11 is used to calculate the correction value Δs of the state vector based on the error vector U and the matrix Θ. It does not have to be performed by the steep descent method. For example, the LM method (Levenberg-Marquardt method) which is an iterative solution of a known nonlinear equation may be used, or a statistical method such as M estimation which is a known robust estimation method may be combined. Any numerical calculation method may be applied.

(変形例2)
上記の実施形態の各々において、指標として一つの指標が一つの座標を表すような指標(以下、これを点指標と呼ぶ)を用いていた。しかし、指標の種類に限定されるものではなく、他の種類の指標を用いても構わない。
(Modification 2)
In each of the above-described embodiments, an index (hereinafter referred to as a point index) in which one index represents one coordinate is used as the index. However, it is not limited to the type of indicator, and other types of indicators may be used.

例えば、公知の位置姿勢計測装置(例えば、”高橋,石井,牧野,中静,VRインターフェースのための単眼による長方形マーカ位置・姿勢の高精度実時間推定法,3次元画像コンファレンス96公演論文集,pp.167−172,1996.”を参照)に用いられているような、特定の幾何形状をもつマーカを主観視点指標及び/あるいは客観視点指標として用いることも出来る。例えば、四角形のマーカを指標として用いる場合、四角形の各頂点の世界座標を既知の値として保持しておき(あるいは、マーカの位置、向き、サイズからこれらの値を演算し)、画像から各頂点の画像座標を検出することで、上記実施形態における4点の指標と同様の効果を得ることができる。特に、ID情報を有する一つの四角形マーカ(例えば、”加藤,M.BillingHurst,浅野,橘,マーカー追跡に基づく拡張現実感システムとそのキャリブレーション,日本バーチャルリアリティ学会論文誌,vol.4,no.4,pp.607−616,1999.”を参照)を客観視点指標として撮像装置に設置する構成(あるいは、姿勢センサに予め一つの四角形マーカを設置しておく構成)は、画像からのマーカの検出精度及び同定精度の良さが期待できるため、特に好適な形態といえる。   For example, a known position and orientation measurement device (for example, “Takahashi, Ishii, Makino, Nakashizuka, Monocular rectangular marker position / posture high-precision real-time estimation method for VR interface, 3D image conference 96 performance papers, pp. 167-172, 1996.)), a marker having a specific geometric shape can be used as a subjective viewpoint index and / or an objective viewpoint index. For example, when a square marker is used as an index, the world coordinates of each vertex of the square are held as known values (or these values are calculated from the position, orientation, and size of the marker), and each vertex is obtained from the image. By detecting the image coordinates, it is possible to obtain the same effect as the four-point index in the above embodiment. In particular, one rectangular marker having ID information (for example, “Kato, M. Billing Hurst, Asano, Tachibana, Augmented Reality System based on marker tracking and its calibration, Journal of the Virtual Reality Society of Japan, vol. 4, no. 4, pp. 607-616, 1999. ”) is used as an objective viewpoint index in the imaging apparatus (or a configuration in which one square marker is previously installed in the attitude sensor). Since good detection accuracy and identification accuracy can be expected, it can be said to be a particularly suitable form.

また、別の公知の位置姿勢計測装置(例えば、”D.G.Lowe:Fitting parameterized three−dimensional models to images,IEEE Transactions on PAMI,vol.13,no.5,pp.441−450,1991.”を参照)に用いられているような、線特徴によって構成される指標(以下、これを線指標と呼ぶ)を用いてもよい。例えば、直線の原点からの距離を評価のための基準として、画像からの検出値dと状態ベクトルsからの推定値dから算出する誤差△dによって誤差ベクトルUを構成し、dの算出式を状態ベクトルsの各要素で偏微分した解を各要素に持つ1行×6列のヤコビ行列Jds(=∂d/∂s)によって行列θを構成することで、上記実施形態と同様な枠組みによって位置及び姿勢の計測を行うことが出来る。また、線指標と点指標、その他の指標から得られる誤差及び画像ヤコビアンを積み重ねることによって、それらの特徴を併用することが可能である。 In addition, another known position and orientation measurement apparatus (for example, “DG Low: Fitting parametrized three-dimensional models to images, IEEE Transactions on PAMI, vol. 13, no. 5, pp. 441-450, 1991.). An index composed of line features (hereinafter referred to as a line index), such as that used in “)”, may be used. For example, using the distance from the origin of the straight line as a reference for evaluation, an error vector U is constituted by the error Δd calculated from the detected value d from the image and the estimated value d * from the state vector s, and d * is calculated. Similar to the above embodiment, the matrix θ is configured by a 1 × 6 Jacobian matrix J ds (= ∂d / ∂s) having a solution obtained by partial differentiation of the equation with each element of the state vector s. The position and orientation can be measured by a simple framework. In addition, it is possible to use these features together by stacking error and image Jacobian obtained from the line index, point index, and other indices.

(変形例3)
第2の実施形態における主観視点カメラ530は1台であったが、複数台の主観視点カメラを計測対象物体580に設置し、位置及び姿勢の計測に用いることも可能である。この場合、画像入力部150、指標検出部110はそれぞれのカメラからの入力画像を処理する。また、姿勢予測部150及び位置姿勢算出部520は、計測対象物体580の位置及び姿勢を基準とした演算を行う。位置姿勢算出部520では、計測対象物体580の位置及び方位ドリフト補正値によって状態ベクトルsを構成し、各画像から得られる指標の情報から、式20(カメラ毎にRCOとtCOが異なる)に基づいて各指標の誤差と画像ヤコビアンを求め、それらを(客観視点指標の情報と共に)積み重ねて誤差ベクトルU及び行列θを構成することで、上記実施形態と同様な枠組みによって位置及び姿勢の推定を行うことができる。
(Modification 3)
Although the number of subjective viewpoint cameras 530 in the second embodiment is one, a plurality of subjective viewpoint cameras may be installed on the measurement target object 580 and used for position and orientation measurement. In this case, the image input unit 150 and the index detection unit 110 process input images from the respective cameras. In addition, the posture prediction unit 150 and the position / orientation calculation unit 520 perform calculations based on the position and posture of the measurement target object 580. In the position / orientation calculation unit 520, the state vector s is configured by the position of the measurement target object 580 and the azimuth drift correction value, and from the index information obtained from each image, Expression 20 ( RCO and tCO differ for each camera) The error and image Jacobian of each index are obtained based on the above, and the error vector U and the matrix θ are formed by stacking them (with objective viewpoint index information), thereby estimating the position and orientation in the same framework as in the above embodiment. It can be performed.

また、第1、第3,第4の各実施形態における計測対象である撮像装置130は1台であったが、ステレオ・ビデオシースルー・ヘッドマウントディスプレイのような2台の撮像装置を計測する場合であっても、一方の撮像装置(例えば左眼用の撮像装置)を基準とすることで、同様な手法によって位置及び姿勢の計測を行うことができる。   In addition, although the number of imaging devices 130 to be measured in each of the first, third, and fourth embodiments is one, two imaging devices such as a stereo video see-through head mounted display are measured. Even so, the position and orientation can be measured by a similar method by using one imaging device (for example, the imaging device for the left eye) as a reference.

(変形例4)
上記の実施形態の夫々では、方位ドリフト誤差を有する姿勢センサを用いていたが、他の姿勢センサを用いることも可能である。例えば、加速度センサによって傾斜方向の角度を計測し、地磁気センサによって方位方向の角度を計測するタイプの姿勢センサにおいても、位置と方位方向の誤差の更新値を未知パラメータとして、上記実施形態と同様な処理によって計測対象の位置と姿勢の計測を行うことができる。また、傾斜方向のみを計測する姿勢センサを用いる場合でも、方位方向の計測値が常に0となる3軸の姿勢センサと仮定すると、同様な処理によって計測対象の位置と姿勢の計測を行うことができる。
(Modification 4)
In each of the above embodiments, an attitude sensor having an azimuth drift error is used, but other attitude sensors can also be used. For example, in an orientation sensor that measures an angle in an inclination direction with an acceleration sensor and measures an angle in an azimuth direction with a geomagnetic sensor, an updated value of an error between the position and the azimuth direction is used as an unknown parameter, similar to the above embodiment. The position and orientation of the measurement target can be measured by the processing. Also, even when using an orientation sensor that measures only the tilt direction, the position and orientation of the measurement target can be measured by a similar process, assuming a 3-axis orientation sensor in which the measured value in the azimuth direction is always 0. it can.

(変形例5)
上記の実施形態の夫々で用いる主観視点カメラまたは客観視点カメラには、可視光とは異なる波長の光を撮像するカメラを用いることも可能である。例えば、客観視点カメラとして赤外光を撮像するカメラを用い、客観視点指標として赤外光を発光または反射する指標を用いてもよい。この場合、主観視点指標は客観視点カメラには写らないため、客観視点画像上で主観視点指標を誤検出することがなくなるという効果がある。
(Modification 5)
As the subjective viewpoint camera or objective viewpoint camera used in each of the above embodiments, a camera that captures light having a wavelength different from that of visible light may be used. For example, a camera that captures infrared light may be used as the objective viewpoint camera, and an index that emits or reflects infrared light may be used as the objective viewpoint index. In this case, since the subjective viewpoint index is not captured by the objective viewpoint camera, there is an effect that the subjective viewpoint index is not erroneously detected on the objective viewpoint image.

ここで、客観視点指標の各々を、異なるタイミングで赤外光を発光するマーカによって構成すれば、いずれの指標であるかを識別することができる。すなわち、指標検出部において、客観視点画像上からマーカに対応する領域を抽出し、その重心位置を、客観視点カメラによる撮像と同一のタイミングで発光された指標の検出座標とすればよい。もちろん、客観視点指標が一つの場合には発光タイミングの制御は不要である。   Here, if each objective viewpoint index is configured by a marker that emits infrared light at different timings, it is possible to identify which index is the index. That is, the index detection unit may extract an area corresponding to the marker from the objective viewpoint image, and the center of gravity position may be set as the detection coordinates of the index emitted at the same timing as the imaging by the objective viewpoint camera. Of course, when there is one objective viewpoint index, it is not necessary to control the light emission timing.

なお、客観視点カメラとして赤外光を撮像するカメラを用い、客観視点指標として赤外光を発光または反射する指標を用いることも可能である。さらに、主観視点カメラと客観視点カメラの両方に赤外光を撮像するカメラを用い、主観視点指標と客観視点指標の両方に赤外光を発光または反射する指標を用いてもよい。   It is also possible to use a camera that captures infrared light as the objective viewpoint camera, and use an index that emits or reflects infrared light as the objective viewpoint index. Furthermore, a camera that captures infrared light may be used for both the subjective viewpoint camera and the objective viewpoint camera, and an index that emits or reflects infrared light may be used for both the subjective viewpoint index and the objective viewpoint index.

また、可視光とは異なる波長の光を撮像するカメラとしては、赤外光を撮像するカメラに限らず、紫外光を撮像するカメラなどを用いてもよい。さらに、可視光とは異なる波長の光と可視光の両方を同時に撮像するカメラを用いてもよい。   The camera that captures light having a wavelength different from that of visible light is not limited to a camera that captures infrared light, and a camera that captures ultraviolet light or the like may be used. Furthermore, you may use the camera which images simultaneously both the light of a wavelength different from visible light, and visible light.

[他の実施形態]
本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体(または記録媒体)を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
[Other Embodiments]
An object of the present invention is to supply a storage medium (or recording medium) in which a program code of software for realizing the functions of the above-described embodiments is recorded to a system or apparatus, and a computer (or CPU or MPU) of the system or apparatus. Needless to say, this can also be achieved by reading and executing the program code stored in the storage medium. In this case, the program code itself read from the storage medium realizes the functions of the above-described embodiments, and the storage medium storing the program code constitutes the present invention. Further, by executing the program code read by the computer, not only the functions of the above-described embodiments are realized, but also an operating system (OS) running on the computer based on the instruction of the program code. It goes without saying that a case where the function of the above-described embodiment is realized by performing part or all of the actual processing and the processing is included.

さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。   Furthermore, after the program code read from the storage medium is written into a memory provided in a function expansion card inserted into the computer or a function expansion unit connected to the computer, the function is determined based on the instruction of the program code. It goes without saying that the CPU or the like provided in the expansion card or the function expansion unit performs part or all of the actual processing and the functions of the above-described embodiments are realized by the processing.

本発明を上記記憶媒体に適用する場合、その記憶媒体には先に説明したフローチャートに対応するプログラムコードが格納されることになる。   When the present invention is applied to the storage medium, the storage medium stores program codes corresponding to the flowcharts described above.

第1の実施形態における位置姿勢計測装置の構成を示す図である。It is a figure which shows the structure of the position and orientation measuring apparatus in 1st Embodiment. コンピュータの基本構成を示す図である。It is a figure which shows the basic composition of a computer. CPU1001が姿勢予測部150のソフトウェアのプログラムを実行することで行われる、撮像装置130の位置及び姿勢を示すパラメータを算出する処理のフローチャートである。10 is a flowchart of processing for calculating parameters indicating the position and orientation of the imaging apparatus 130, which are performed by the CPU 1001 executing a software program of the orientation prediction unit 150. CPU1001が位置姿勢算出部120のソフトウェアのプログラムを実行することで行われる、撮像装置130の位置及び姿勢を示すパラメータを算出する処理のフローチャートである。10 is a flowchart of processing for calculating parameters indicating the position and orientation of the imaging apparatus 130, which are performed when the CPU 1001 executes a software program of the position and orientation calculation unit 120. 第2の実施形態における位置姿勢計測装置の構成を示す図である。It is a figure which shows the structure of the position and orientation measurement apparatus in 2nd Embodiment. CPU1001が位置姿勢算出部120’のソフトウェアのプログラムを実行することで行われる、撮像装置130の位置及び姿勢を示すパラメータを算出する処理のフローチャートである。10 is a flowchart of processing for calculating a parameter indicating the position and orientation of the imaging apparatus 130, which is performed by the CPU 1001 executing a software program of the position and orientation calculation unit 120 '. 第5の実施形態における位置姿勢計測装置の構成を示す図である。It is a figure which shows the structure of the position and orientation measurement apparatus in 5th Embodiment.

Claims (6)

現実空間に配置された主観視点指標を撮像した主観視点画像を取得する主観視点撮像手段と、
前記主観視点撮像手段に伴って配置された客観視点指標を、前記現実空間の世界座標系において固定されて既知である客観視点位置姿勢から撮像した客観視点画像を取得する客観視点撮像手段と、
前記主観視点撮像手段に備えられ、前記主観視点撮像手段の姿勢計測値を計測する姿勢計測手段と、
前記姿勢計測手段の方位ドリフト誤差補正値、前記主観視点指標の前記世界座標系における位置、前記客観視点指標の前記主観視点撮像手段に対する位置、前記主観視点撮像手段の焦点距離および前記客観視点撮像手段の焦点距離を予め保持する保持手段と、
前記姿勢計測値と前記方位ドリフト誤差補正値に基づいて、前記主観視点撮像手段の姿勢予測値を算出する姿勢予測手段と、
前記主観視点画像から少なくとも1点の主観視点指標の画像座標を検出する第1の検出手段と、
前記客観視点画像から少なくとも1点の客観視点点指標の画像座標を検出する第2の検出手段と、
前記客観視点位置姿勢、前記姿勢予測値、前記検出された主観視点指標の画像座標、当該主観視点指標の世界座標系における位置、前記検出された客観視点指標の画像座標、および当該客観視点指標の前記主観視点撮像手段に対する位置に基づいて、前記主観視点撮像手段の位置姿勢を算出する位置姿勢算出手段と、
前記算出された前記主観視点撮像装置の位置姿勢に基づいて、前記保持された方位ドリフト誤差補正値を更新する方位誤差更新手段と
を備え、
前記位置姿勢算出手段が、
前記主観視点撮像手段の位置姿勢の設定値を設定する設定値設定手段と、
前記設定値、前記主観視点点指標の世界座標系における位置、および前記主観視点撮像手段の焦点距離に基づいて、前記主観視点画像の前記主観視点点指標の画像座標の主観座標推定値を算出する主観推定値算出手段と、
前記設定値、前記客観視点点指標の前記主観視点撮像手段に対する位置、前記客観視点位置姿勢、および前記客観視点撮像手段の焦点距離に基づいて、前記客観視点画像の前記客観視点点指標の画像座標の客観座標推定値を算出する客観推定値算出手段と、
前記検出された主観視点点指標の画像座標と前記主観座標推定値との主観誤差を算出する主観画像誤差算出手段と、
前記検出された客観視点点指標の画像座標と前記客観座標推定値との客観誤差を算出する客観画像誤差算出手段と、
前記算出された主観誤差および客観誤差に基づいて、前記主観視点撮像手段の位置および姿勢の方位角成分のみの補正値を算出する補正値算出手段と、
前記算出された補正値および前記設定値に基づいて、前記主観視点撮像手段の位置姿勢を補正する補正手段と
を備えることを特徴とする情報処理装置。
A subjective viewpoint imaging means for acquiring a subjective viewpoint image obtained by imaging a subjective viewpoint point index arranged in a real space;
Objective viewpoint imaging means for acquiring an objective viewpoint image obtained by imaging an objective viewpoint point index arranged with the subjective viewpoint imaging means from a known objective viewpoint position and orientation fixed in the world coordinate system of the real space; and
Posture measuring means provided in the subjective viewpoint imaging means for measuring posture measurement values of the subjective viewpoint imaging means;
Azimuth drift error correction value of the posture measuring means, the position of the subjective viewpoint point index in the world coordinate system, the position of the objective viewpoint point index with respect to the subjective viewpoint imaging means, the focal length of the subjective viewpoint imaging means, and the objective viewpoint Holding means for previously holding the focal length of the imaging means ;
Posture prediction means for calculating a posture prediction value of the subjective viewpoint imaging means based on the posture measurement value and the azimuth drift error correction value;
First detection means for detecting image coordinates of at least one subjective viewpoint point index from the subjective viewpoint image;
Second detection means for detecting image coordinates of at least one objective viewpoint point index from the objective viewpoint image;
The objective viewpoint position and orientation, the predicted posture value, the image coordinates of the detected subjective viewpoint point index, the position of the subjective viewpoint point index in the world coordinate system, the image coordinates of the detected objective viewpoint point index, and the objective Position and orientation calculation means for calculating the position and orientation of the subjective viewpoint imaging means based on the position of the viewpoint point index with respect to the subjective viewpoint imaging means;
Azimuth error update means for updating the held azimuth drift error correction value based on the calculated position and orientation of the subjective viewpoint imaging device;
With
The position and orientation calculation means is
Setting value setting means for setting a setting value of the position and orientation of the subjective viewpoint imaging means;
Based on the set value, the position of the subjective viewpoint point index in the world coordinate system, and the focal length of the subjective viewpoint imaging means, a subjective coordinate estimation value of the image coordinate of the subjective viewpoint point index of the subjective viewpoint image is calculated. A subjective estimate calculation means;
Based on the setting value, the position of the objective viewpoint point index with respect to the subjective viewpoint imaging means, the objective viewpoint position and orientation, and the focal length of the objective viewpoint imaging means, the image coordinates of the objective viewpoint point index of the objective viewpoint image Objective estimated value calculation means for calculating an objective coordinate estimated value of
A subjective image error calculating means for calculating a subjective error between the image coordinates of the detected subjective viewpoint point index and the subjective coordinate estimated value;
Objective image error calculation means for calculating an objective error between the image coordinates of the detected objective viewpoint point index and the objective coordinate estimation value;
Correction value calculation means for calculating a correction value of only the azimuth component of the position and orientation of the subjective viewpoint imaging means based on the calculated subjective error and objective error;
An information processing apparatus comprising: a correction unit that corrects the position and orientation of the subjective viewpoint imaging unit based on the calculated correction value and the set value .
前記位置姿勢算出手段が、
前記誤差もしくは前記補正値が予め設定された閾値よりも小さいか否かを判定する判定手段
を更に有し、
前記設定値設定手段が、前記誤差もしくは前記補正値が前記閾値よりも小さくない場合に、前記補正された前記主観視点撮像手段の位置姿勢を前記設定値として再設定することを特徴とする請求項1に記載の情報処理装置。
The position and orientation calculation means is
A determination means for determining whether the error or the correction value is smaller than a preset threshold;
The set value setting means resets the corrected position and orientation of the subjective viewpoint imaging means as the set value when the error or the correction value is not smaller than the threshold value. The information processing apparatus according to 1.
前記主観視点撮像手段は、現実空間に存在する計測対象物体に装着されており、
前記保持手段が、前記主観視点撮像手段と前記計測対象物体との相対位置姿勢を更に保持し、
前記位置姿勢算出手段が、算出した前記主観視点撮像装置の位置姿勢、および前記相対位置姿勢に基づいて、前記計測対象物体の位置姿勢を算出することを特徴とする請求項1または2に記載の情報処理装置。
The subjective viewpoint imaging means is attached to a measurement target object existing in a real space,
The holding means further holds the relative position and orientation of the subjective viewpoint imaging means and the measurement target object;
The position / orientation calculation unit calculates the position / orientation of the measurement target object based on the calculated position / orientation of the subjective viewpoint imaging apparatus and the relative position / orientation. Information processing device.
情報処理装置が行う位置姿勢計測方法であって、
前記情報処理装置が有する主観視点撮像手段が、現実空間に配置された主観視点指標を撮像した主観視点画像を入力する工程と、
前記情報処理装置が有する客観視点撮像手段が、前記主観視点撮像手段に伴って配置された客観視点指標を、前記現実空間の世界座標系において固定されて既知である客観視点位置姿勢から撮像した客観視点画像を入力する客観視点撮像工程と、
前記情報処理装置が有する姿勢計測手段が、前記主観視点撮像装置に備えられ、前記主観視点撮像手段の姿勢計測値を計測する姿勢計測工程と、
前記情報処理装置が有する姿勢予測手段が、前記姿勢計測値と予め保持された前記姿勢計測手段の方位ドリフト誤差補正値に基づいて、前記主観視点撮像手段の姿勢予測値を算出する姿勢予測工程と、
前記情報処理装置が有する第1の検出手段が、前記主観視点画像から少なくとも1点の前記主観視点指標の画像座標を検出する第1の検出工程と、
前記情報処理装置が有する第2の検出手段が、前記客観視点画像から少なくとも1点の前記主観視点指標の画像座標を検出する第2の検出工程と、
前記情報処理装置が有する位置姿勢算出手段が、前記客観視点位置姿勢、前記姿勢予測値、前記検出された主観視点指標の画像座標、当該主観視点指標の世界座標系における位置、前記検出された客観視点指標の画像座標、および当該客観視点指標の前記主観視点撮像手段に対する位置に基づいて、前記主観視点撮像装置の位置姿勢を算出する位置姿勢算出工程と、
前記情報処理装置が有する方位誤差更新手段が、前記算出された前記主観視点撮像装置の位置姿勢に基づいて、前記保持された方位ドリフト誤差補正値を更新する方位誤差更新工程と
を有し、
前記位置姿勢算出工程では、
前記位置姿勢算出手段の設定値設定手段が、前記主観視点撮像手段の位置姿勢の設定値を設定する設定値設定工程と、
前記位置姿勢算出手段の主観推定値手段が、前記設定値、前記主観視点点指標の世界座標系における位置、および予め保持された前記主観視点撮像手段の焦点距離に基づいて、前記主観視点画像の前記主観視点点指標の画像座標の主観座標推定値を算出する主観推定値算出工程と、
前記位置姿勢算出手段の客観推定値手段が、前記設定値、前記客観視点点指標の前記主観視点撮像手段に対する位置、前記客観視点位置姿勢、および予め保持された前記客観視点撮像手段の焦点距離に基づいて、前記客観視点画像の前記客観視点点指標の画像座標の客観座標推定値を算出する客観推定値算出工程と、
前記位置姿勢算出手段の主観画像誤差算出手段が、前記検出された主観視点点指標の画像座標と前記主観座標推定値との主観誤差を算出する主観画像誤差算出工程と、
前記位置姿勢算出手段の客観画像誤差算出手段が、前記検出された客観視点点指標の画像座標と前記客観座標推定値との客観誤差を算出する客観画像誤差算出工程と、
前記位置姿勢算出手段の補正値算出手段が、前記算出された主観誤差および客観誤差に基づいて、前記主観視点撮像手段の位置および姿勢の方位角成分のみの補正値を算出する補正値算出工程と、
前記位置姿勢算出手段の補正手段が、前記算出された補正値および前記設定値に基づいて、前記主観視点撮像手段の位置姿勢を補正する補正工程と、
を有することを特徴とする位置姿勢計測方法。
A position and orientation measurement method performed by an information processing apparatus,
The subjective viewpoint imaging means possessed by the information processing apparatus inputs a subjective viewpoint image obtained by imaging a subjective viewpoint point index placed in a real space; and
The objective viewpoint imaging unit included in the information processing apparatus images the objective viewpoint point index arranged along with the subjective viewpoint imaging unit from an objective viewpoint position and orientation that is fixed and known in the world coordinate system of the real space. An objective viewpoint imaging process for inputting an objective viewpoint image;
A posture measuring step that the posture measuring means of the information processing apparatus is provided in the subjective viewpoint imaging device and measures a posture measurement value of the subjective viewpoint imaging means;
A posture prediction step in which a posture prediction unit included in the information processing apparatus calculates a posture prediction value of the subjective viewpoint imaging unit based on the posture measurement value and a azimuth drift error correction value of the posture measurement unit held in advance; ,
A first detection step in which a first detection unit included in the information processing apparatus detects image coordinates of at least one subjective viewpoint point index from the subjective viewpoint image;
A second detection step in which a second detection means included in the information processing apparatus detects image coordinates of at least one subjective viewpoint point index from the objective viewpoint image;
The position and orientation calculation means of the information processing apparatus includes the objective viewpoint position and orientation, the estimated posture value, the image coordinates of the detected subjective viewpoint point index, the position of the subjective viewpoint point index in the world coordinate system, and the detected position. A position and orientation calculation step of calculating a position and orientation of the subjective viewpoint imaging device based on the image coordinates of the objective viewpoint point index and the position of the objective viewpoint point index with respect to the subjective viewpoint imaging means;
An azimuth error update step in which an azimuth error update unit included in the information processing apparatus updates the held azimuth drift error correction value based on the calculated position and orientation of the subjective viewpoint imaging device;
Have
In the position and orientation calculation step,
A setting value setting step in which a setting value setting unit of the position and orientation calculation unit sets a setting value of the position and orientation of the subjective viewpoint imaging unit;
The subjective estimated value means of the position / orientation calculating means is configured to determine the position of the subjective viewpoint image based on the set value, the position of the subjective viewpoint point index in the world coordinate system, and the focal length of the subjective viewpoint imaging means stored in advance. A subjective estimated value calculating step of calculating a subjective coordinate estimated value of the image coordinates of the subjective viewpoint point index;
The objective estimated value means of the position / orientation calculating means is configured to set the set value, the position of the objective viewpoint point index with respect to the subjective viewpoint imaging means, the objective viewpoint position / posture, and the focal length of the objective viewpoint imaging means held in advance. An objective estimated value calculating step of calculating an objective coordinate estimated value of the image coordinates of the objective viewpoint point index of the objective viewpoint image;
A subjective image error calculating step in which a subjective image error calculating unit of the position / orientation calculating unit calculates a subjective error between the image coordinates of the detected subjective viewpoint index and the subjective coordinate estimated value;
An objective image error calculating step in which the objective image error calculating unit of the position and orientation calculating unit calculates an objective error between the image coordinates of the detected objective viewpoint point index and the objective coordinate estimated value;
A correction value calculating step in which the correction value calculating means of the position / orientation calculating means calculates a correction value of only the azimuth component of the position and orientation of the subjective viewpoint imaging means based on the calculated subjective error and objective error; ,
A correcting step in which the correcting means of the position and orientation calculating means corrects the position and orientation of the subjective viewpoint imaging means based on the calculated correction value and the set value;
A position and orientation measurement method characterized by comprising:
請求項に記載の位置姿勢計測方法の各工程をコンピュータに実行させるためのプログラム。 The program for making a computer perform each process of the position and orientation measurement method of Claim 4 . 請求項に記載のプログラムを格納するコンピュータ読み取り可能な記録媒体。 A computer-readable recording medium storing the program according to claim 5 .
JP2005053441A 2004-05-14 2005-02-28 Position and orientation measurement method and information processing apparatus Expired - Fee Related JP4566786B2 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2005053441A JP4566786B2 (en) 2004-05-14 2005-02-28 Position and orientation measurement method and information processing apparatus
US11/126,437 US7467061B2 (en) 2004-05-14 2005-05-11 Information processing method and apparatus for finding position and orientation of targeted object
EP05252971.6A EP1596332B1 (en) 2004-05-14 2005-05-13 Information processing method and apparatus for finding position and orientation of targeted object

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2004144893 2004-05-14
JP2005053441A JP4566786B2 (en) 2004-05-14 2005-02-28 Position and orientation measurement method and information processing apparatus

Publications (2)

Publication Number Publication Date
JP2005351886A JP2005351886A (en) 2005-12-22
JP4566786B2 true JP4566786B2 (en) 2010-10-20

Family

ID=35586479

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005053441A Expired - Fee Related JP4566786B2 (en) 2004-05-14 2005-02-28 Position and orientation measurement method and information processing apparatus

Country Status (1)

Country Link
JP (1) JP4566786B2 (en)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9323055B2 (en) * 2006-05-26 2016-04-26 Exelis, Inc. System and method to display maintenance and operational instructions of an apparatus using augmented reality
JP5036260B2 (en) * 2006-09-14 2012-09-26 キヤノン株式会社 Position and orientation calculation method and apparatus
US20080218331A1 (en) 2007-03-08 2008-09-11 Itt Manufacturing Enterprises, Inc. Augmented reality-based system and method to show the location of personnel and sensors inside occluded structures and provide increased situation awareness
JP2009237878A (en) * 2008-03-27 2009-10-15 Dainippon Printing Co Ltd Composite image generating system, overlaying condition determining method, image processing apparatus, and image processing program
JP5156571B2 (en) 2008-10-10 2013-03-06 キヤノン株式会社 Image processing apparatus and image processing method
JP6043974B2 (en) * 2012-05-07 2016-12-14 株式会社ミツトヨ Three-dimensional position measuring device, three-dimensional measuring device, and three-dimensional position measuring program
US9063330B2 (en) 2013-05-30 2015-06-23 Oculus Vr, Llc Perception based predictive tracking for head mounted displays

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6064749A (en) * 1996-08-02 2000-05-16 Hirota; Gentaro Hybrid tracking for augmented reality using both camera motion detection and landmark tracking
JP2000347128A (en) * 1999-03-26 2000-12-15 Mr System Kenkyusho:Kk Head mount display device and head mount display system
JP2003279310A (en) * 2002-03-22 2003-10-02 Canon Inc Apparatus and method for correcting position and attitude

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6064749A (en) * 1996-08-02 2000-05-16 Hirota; Gentaro Hybrid tracking for augmented reality using both camera motion detection and landmark tracking
JP2000347128A (en) * 1999-03-26 2000-12-15 Mr System Kenkyusho:Kk Head mount display device and head mount display system
JP2003279310A (en) * 2002-03-22 2003-10-02 Canon Inc Apparatus and method for correcting position and attitude

Also Published As

Publication number Publication date
JP2005351886A (en) 2005-12-22

Similar Documents

Publication Publication Date Title
JP4593968B2 (en) Position and orientation measurement method and apparatus
JP5036260B2 (en) Position and orientation calculation method and apparatus
EP1596332B1 (en) Information processing method and apparatus for finding position and orientation of targeted object
JP4785416B2 (en) Position and orientation measurement method and apparatus
JP4136859B2 (en) Position and orientation measurement method
JP4914039B2 (en) Information processing method and apparatus
US7529387B2 (en) Placement information estimating method and information processing device
JP4859205B2 (en) Information processing apparatus, information processing method, and program
US7613361B2 (en) Information processing method and device
JP4976756B2 (en) Information processing method and apparatus
JP5230114B2 (en) Information processing apparatus and information processing method
KR100934564B1 (en) Information processing device and information processing method
JP5132138B2 (en) Position and orientation measurement method, position and orientation measurement device
JP4566786B2 (en) Position and orientation measurement method and information processing apparatus
JP4726191B2 (en) Position / orientation correction apparatus, position / orientation correction method, program thereof, and storage medium
JP2013113805A (en) Information processor, information processor control method and program
JP5726024B2 (en) Information processing method and apparatus
JP4612804B2 (en) Position and orientation measurement method and information processing apparatus
JP6109213B2 (en) Information processing apparatus and method, program
JP2009168626A (en) Position attitude measurement device and method
JP5620972B2 (en) Information processing apparatus and information processing method
JP2005351883A (en) Index calibration device and information processing method
JP4810403B2 (en) Information processing apparatus and information processing method
JP2016065830A (en) Image processor and image processing method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080228

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100115

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100126

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20100201

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100329

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100518

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20100630

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100712

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100803

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100804

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130813

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees