JP2013101128A - Information processing apparatus, and information processing method - Google Patents

Information processing apparatus, and information processing method Download PDF

Info

Publication number
JP2013101128A
JP2013101128A JP2012280059A JP2012280059A JP2013101128A JP 2013101128 A JP2013101128 A JP 2013101128A JP 2012280059 A JP2012280059 A JP 2012280059A JP 2012280059 A JP2012280059 A JP 2012280059A JP 2013101128 A JP2013101128 A JP 2013101128A
Authority
JP
Japan
Prior art keywords
image
posture
imaging device
real object
sensor
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2012280059A
Other languages
Japanese (ja)
Other versions
JP5620972B2 (en
Inventor
Kiyohide Sato
清秀 佐藤
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 JP2012280059A priority Critical patent/JP5620972B2/en
Publication of JP2013101128A publication Critical patent/JP2013101128A/en
Application granted granted Critical
Publication of JP5620972B2 publication Critical patent/JP5620972B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Length Measuring Devices By Optical Means (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide a technique for easily and accurately performing calibration of an attitude sensor mounted on an image capturing apparatus or a physical object.SOLUTION: An attitude measurement value acquisition unit 145 acquires an attitude measurement value measured by an attitude sensor 110 mounted on an image capturing apparatus 120, and an attitude measurement value measured by a sensor 115 mounted on a physical object 125. An image processing unit 135 acquires image coordinates, on a captured image, of marks arranged on the physical object 125. A calibration unit 160 determines at least one of location information of the sensor 110 with respect to the image capturing apparatus 120 and location information of the sensor 115 with respect to the physical object 125 by using the two attitude measurement values and image coordinates.

Description

本発明は、撮像装置や現実物体上に装着された姿勢センサの校正技術に関するものである。   The present invention relates to a calibration technique for an attitude sensor mounted on an imaging device or a real object.

現実物体に文字やCG映像を重畳して提示する複合現実感に関する研究が盛んに行われている。複合現実感を提示する提示装置は、ビデオカメラ等の撮像装置で撮像した現実物体の撮像画像に、撮像装置と現実物体との間の位置と姿勢の関係に応じて生成した画像を重畳描画し、これを表示する装置として実現できる。このような提示装置を実現する為には、撮像装置に対する現実物体の位置と姿勢を、リアルタイムに計測する必要がある。   Research on mixed reality that superimposes and presents characters and CG images on real objects has been actively conducted. A presentation device that presents mixed reality superimposes and draws an image generated according to the position and orientation relationship between the imaging device and the real object on a captured image of the real object captured by an imaging device such as a video camera. It can be realized as a device for displaying this. In order to realize such a presentation device, it is necessary to measure the position and orientation of a real object with respect to the imaging device in real time.

撮像装置に対する現実物体の位置と姿勢を、撮像装置による撮像画像を用いて計測することが一般的に行われている。この方法では、現実物体上に配置したマーカ等の特徴を撮像画像上で検出し、これに基づいて現実物体の位置と姿勢を算出する。   In general, the position and orientation of a real object with respect to an imaging apparatus are measured using an image captured by the imaging apparatus. In this method, a feature such as a marker arranged on a real object is detected on a captured image, and the position and orientation of the real object are calculated based on the detected feature.

また、撮像装置と現実物体の夫々に姿勢センサを装着し、姿勢センサによる姿勢計測値と、撮像装置による撮像画像とを併用する方法が提案されている(非特許文献1を参照)。この方法によると、撮像画像のみを用いる場合に比べ、現実物体の位置と姿勢を安定して計測することができる。   Further, a method has been proposed in which a posture sensor is attached to each of the imaging device and the real object, and a posture measurement value obtained by the posture sensor and a captured image obtained by the imaging device are used in combination (see Non-Patent Document 1). According to this method, the position and orientation of a real object can be stably measured as compared with the case where only a captured image is used.

ところで、非特許文献1に開示されている方法では、撮像装置と現実物体の夫々の姿勢が姿勢センサによって計測可能であることを前提としている。しかし、姿勢センサが実際に出力する姿勢計測値は、姿勢センサ自身の姿勢を表しており、計測対象物体(撮像装置及び現実物体)の姿勢そのものではない。すなわち、姿勢センサによる姿勢計測値をそのまま計測対象物体の姿勢として用いることはできず、何らかの座標変換を行う必要がある。具体的には、姿勢センサ自身の姿勢を、計測対象物体の姿勢に変換する座標変換が必要となる。この座標変換は、計測対象物体を基準とした座標系(以下、計測対象物体座標系と呼称する)における姿勢センサの姿勢によって定義できる。以下では、必要に応じて、計測対象物体座標系における姿勢センサの姿勢を姿勢センサの「配置情報」と呼ぶ。また係る配置情報を姿勢センサの「Local Transform」と呼ぶこともある。また、姿勢センサの配置情報を取得する作業及び処理を姿勢センサの「校正」と呼ぶ。   By the way, in the method disclosed in Non-Patent Document 1, it is assumed that the postures of the imaging device and the real object can be measured by the posture sensor. However, the posture measurement value actually output by the posture sensor represents the posture of the posture sensor itself, not the posture itself of the measurement target object (the imaging device and the real object). That is, the posture measurement value obtained by the posture sensor cannot be used as it is as the posture of the measurement target object, and it is necessary to perform some coordinate conversion. Specifically, coordinate conversion is required to convert the posture of the posture sensor itself into the posture of the measurement target object. This coordinate transformation can be defined by the attitude of the attitude sensor in a coordinate system based on the measurement target object (hereinafter referred to as a measurement target object coordinate system). Hereinafter, the posture of the posture sensor in the measurement target object coordinate system is referred to as “position information” of the posture sensor as necessary. Such arrangement information may be referred to as “Local Transform” of the attitude sensor. Further, the work and processing for obtaining the placement information of the posture sensor is called “calibration” of the posture sensor.

従来までに行われていた校正の為の方法の一つは、Local Transformを表すパラメータをオペレータが対話的に増減する試行錯誤的な方法である。   One of the calibration methods that have been performed so far is a trial and error method in which an operator interactively increases or decreases a parameter representing a local transform.

また、特許文献1には、現実空間中に配置したマーカを複数の視点から撮像した画像を利用して、撮像装置に装着した姿勢センサの配置情報を自動計算する方法が開示されている。この方法によると、非常に簡便な作業によって、撮像装置に装着した姿勢センサの校正を行うことができる。   Patent Document 1 discloses a method for automatically calculating the placement information of a posture sensor attached to an imaging device using images obtained by imaging markers placed in real space from a plurality of viewpoints. According to this method, the posture sensor mounted on the imaging apparatus can be calibrated by a very simple operation.

特開2005−326275号公報JP 2005-326275 A

小竹,佐藤,内山,山本:“傾斜角拘束を利用したハイブリッド位置合わせ手法”,画像の認識・理解シンポジウム(MIRU2006)論文集,pp.241-248,July 2006.Kotake, Sato, Uchiyama, Yamamoto: “Hybrid registration using tilt angle constraint”, Image Recognition and Understanding Symposium (MIRU2006), pp.241-248, July 2006. K. Satoh, S. Uchiyama, H. Yamamoto, and H. Tamura: "Robust vision-based registration utilizing bird’s-eye view with user’s view," Proc. 2nd IEEE/ACM Int’l Symp. on Mixed and Augmented Reality (ISMAR 2003) , pp.46-55, October 2003.K. Satoh, S. Uchiyama, H. Yamamoto, and H. Tamura: "Robust vision-based registration utilizing bird's-eye view with user's view," Proc. 2nd IEEE / ACM Int'l Symp. On Mixed and Augmented Reality ( ISMAR 2003), pp.46-55, October 2003. A. I. Comport, E. Marchand, and F. Chaumette, “A real-time tracker for markerless augmented reality,” Proc. 2nd IEEE/ACM Int’l Symp. on Mixed and Augmented Reality (ISMAR 2003) , pp.36-45, October 2003.AI Comport, E. Marchand, and F. Chaumette, “A real-time tracker for markerless augmented reality,” Proc. 2nd IEEE / ACM Int'l Symp. On Mixed and Augmented Reality (ISMAR 2003), pp.36-45 , October 2003.

特許文献1に開示されている手法では、撮像装置以外の任意の現実物体(言い換えると、撮像装置を有さない現実物体)に装着した姿勢センサの校正を行うことはできない。従って従来では、撮像装置以外の任意の現実物体に姿勢センサを装着した場合には、オペレータがこの姿勢センサのLocal Transformを試行錯誤的に調整するしかなかった。しかし、この作業は容易ではなく、オペレータに高度なスキルを要求するという課題があった。   With the technique disclosed in Patent Document 1, it is not possible to calibrate a posture sensor attached to any real object other than the imaging device (in other words, a real object that does not have the imaging device). Therefore, conventionally, when an attitude sensor is attached to an arbitrary real object other than the image pickup apparatus, the operator has to adjust the local transform of the attitude sensor by trial and error. However, this operation is not easy, and there is a problem of requiring high skill from the operator.

また、特許文献1に開示されている手法では、初期値として用いるパラメータを、何らかの方法によって予め推定し、入力しておかなくてはならないという課題があった。   In addition, the method disclosed in Patent Document 1 has a problem that a parameter used as an initial value must be estimated and input in advance by some method.

また、特許文献1に開示されている手法では、現実空間中に配置したマーカの3次元位置を定義する世界座標系において、重力軸が何れの方向を向いているかを予め入力しておかなくてはならないという課題があった。   Further, in the method disclosed in Patent Document 1, it is not necessary to input in advance which direction the gravity axis is facing in the world coordinate system that defines the three-dimensional position of the marker arranged in the real space. There was a problem that it should not be.

本発明は以上の課題に鑑みてなされたものであり、撮像装置や現実物体に装着された姿勢センサの校正を、簡便かつ正確に行う為の技術を提供することを目的とする。   The present invention has been made in view of the above problems, and an object of the present invention is to provide a technique for easily and accurately calibrating an orientation sensor attached to an imaging device or a real object.

本発明の目的を達成するために、例えば、本発明の情報処理装置は以下の構成を備える。   In order to achieve the object of the present invention, for example, an information processing apparatus of the present invention comprises the following arrangement.

即ち、撮像装置に装着された撮像装置用姿勢センサによる姿勢計測値と、当該撮像装置により撮像される現実物体に装着された現実物体用姿勢センサによる姿勢計測値と、を取得する姿勢計測値の取得手段と、
前記撮像装置が前記現実物体を撮像することで得られる画像を取得する画像の取得手段と、
前記現実物体上に配置された指標の前記画像上における画像座標を取得する画像座標の取得手段と、
前記撮像装置に対する前記撮像装置用姿勢センサの配置情報と、前記現実物体に対する前記現実物体用姿勢センサの配置情報、のうち少なくとも一方を、前記撮像装置用姿勢センサによる姿勢計測値、前記現実物体用姿勢センサによる姿勢計測値、前記画像座標、を用いて求める算出手段と
を備えることを特徴とする。
That is, the posture measurement value for acquiring the posture measurement value by the posture sensor for the imaging device attached to the imaging device and the posture measurement value by the posture sensor for the real object attached to the real object imaged by the imaging device. Acquisition means;
Image acquisition means for acquiring an image obtained by the imaging device imaging the real object;
Image coordinate acquisition means for acquiring image coordinates on the image of an index placed on the real object;
At least one of the arrangement information of the posture sensor for the imaging device with respect to the imaging device and the arrangement information of the posture sensor for the real object with respect to the real object is a posture measurement value by the posture sensor for the imaging device, for the real object And a calculation means for obtaining using a posture measurement value obtained by a posture sensor and the image coordinates.

本発明の構成により、撮像装置又は現実物体に装着された姿勢センサの撮像装置又は現実物体に対する姿勢を、簡便かつ正確に取得することができる。また、初期値や重力軸の方向を予め入力しておくという手間を省略することができる。   With the configuration of the present invention, the posture of the orientation sensor attached to the imaging device or the real object with respect to the imaging device or the real object can be acquired easily and accurately. Moreover, the trouble of inputting the initial value and the direction of the gravity axis in advance can be omitted.

本発明の第1の実施形態に係るセンサ校正装置を有するシステムの機能構成を示すブロック図である。It is a block diagram which shows the function structure of the system which has a sensor calibration apparatus which concerns on the 1st Embodiment of this invention. センサ校正装置100、500に適用可能なコンピュータのハードウェア構成を示すブロック図である。2 is a block diagram showing a hardware configuration of a computer applicable to the sensor calibration apparatuses 100 and 500. FIG. センサ校正装置100が行うメインの処理のフローチャートである。It is a flowchart of the main process which the sensor calibration apparatus 100 performs. ステップS3060における処理の詳細を示すフローチャートである。It is a flowchart which shows the detail of the process in step S3060. 本発明の第2の実施形態に係るセンサ校正装置を有するシステムの機能構成を示すブロック図である。It is a block diagram which shows the function structure of the system which has a sensor calibration apparatus which concerns on the 2nd Embodiment of this invention.

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

[第1の実施形態]
本実施形態に係る情報処理装置は、ビデオカメラなどの撮像装置に装着した姿勢センサ(撮像装置用姿勢センサ)と、現実物体に装着した姿勢センサ(現実物体用姿勢センサ)の校正を同時に行う。従って、以下では本実施形態に係る情報処理装置を、センサ校正装置と呼称する。以下では、このセンサ校正装置、及びこのセンサ校正装置が行うセンサ校正方法について説明する。
[First Embodiment]
The information processing apparatus according to the present embodiment simultaneously calibrates a posture sensor (image sensor posture sensor) attached to an imaging device such as a video camera and a posture sensor (real object posture sensor) attached to a real object. Therefore, hereinafter, the information processing apparatus according to the present embodiment is referred to as a sensor calibration apparatus. Below, this sensor calibration apparatus and the sensor calibration method which this sensor calibration apparatus performs are demonstrated.

図1は、本実施形態に係るセンサ校正装置を有するシステムの機能構成を示すブロック図である。図1に示す如く、センサ校正装置100には、校正対象である姿勢センサ110及び姿勢センサ115と、ビデオカメラに代表される動画像が撮像可能な撮像装置120と、が接続されている。   FIG. 1 is a block diagram showing a functional configuration of a system having a sensor calibration apparatus according to the present embodiment. As shown in FIG. 1, the sensor calibration device 100 is connected to a posture sensor 110 and a posture sensor 115 that are calibration targets, and an imaging device 120 that can capture a moving image represented by a video camera.

センサ校正装置100は、画像取得部130、画像処理部135、3次元座標保持部140、姿勢計測値取得部145、指示部150、データ管理部155、校正部160、位置姿勢算出部170、画像生成部180、表示部190によって構成されている。   The sensor calibration apparatus 100 includes an image acquisition unit 130, an image processing unit 135, a three-dimensional coordinate holding unit 140, an orientation measurement value acquisition unit 145, an instruction unit 150, a data management unit 155, a calibration unit 160, a position and orientation calculation unit 170, and an image. The generation unit 180 and the display unit 190 are included.

姿勢センサ110は撮像装置120に装着されており、撮像装置120は姿勢センサ110にとっての姿勢計測対象物である。また、姿勢センサ115は現実物体125に装着されており、現実物体125は姿勢センサ115にとっての姿勢計測対象物である。本実施形態に係るセンサ校正装置100の目的は、撮像装置120に対する姿勢センサ110の配置情報と、現実物体125に対する姿勢センサ115の配置情報とを求めることである。   The posture sensor 110 is attached to the imaging device 120, and the imaging device 120 is a posture measurement object for the posture sensor 110. The posture sensor 115 is attached to the real object 125, and the real object 125 is a posture measurement target for the posture sensor 115. The purpose of the sensor calibration apparatus 100 according to the present embodiment is to obtain the arrangement information of the attitude sensor 110 with respect to the imaging apparatus 120 and the arrangement information of the attitude sensor 115 with respect to the real object 125.

夫々の姿勢センサ110,115は、センサ座標系における自身の姿勢を計測する。姿勢センサは、例えばジャイロセンサと加速度センサをベースとしたセンサユニットである。具体的には、株式会社トキメックのTISS-5-40や、米国InterSense社のInertiaCube3等によって構成される。これらのセンサによって計測される姿勢計測値は、慣性計測値を時間積分した値として算出されるため、蓄積誤差を含んでいる。ただし、これらの姿勢センサは、内蔵する加速度センサによって地球の重力方向を観測することによって、傾斜角方向(ピッチ角及びロール角)の誤差の蓄積をキャンセルする機能を有している。そのため、傾斜角方向に関しては蓄積誤差が発生しないという性質を有している。言い換えれば、方位角方向(ヨー角方向)に関しては、時間の経過に伴って蓄積される誤差(方位誤差)を有している。また、姿勢センサのセンサ座標系は重力軸を基準として設定されるため、複数の姿勢センサのセンサ座標系は、重力軸まわりの1自由度である方位成分を残して共通に定義される。   Each attitude sensor 110, 115 measures its own attitude in the sensor coordinate system. The posture sensor is a sensor unit based on, for example, a gyro sensor and an acceleration sensor. Specifically, it consists of TISS-5-40 from Tokimec, Inc., InertiaCube3 from InterSense, Inc., etc. The posture measurement value measured by these sensors is calculated as a value obtained by integrating the inertia measurement value with time, and thus includes an accumulation error. However, these attitude sensors have a function of canceling accumulation of errors in the tilt angle direction (pitch angle and roll angle) by observing the direction of gravity of the earth with a built-in acceleration sensor. Therefore, there is a property that no accumulation error occurs in the tilt angle direction. In other words, the azimuth angle direction (yaw angle direction) has an error (azimuth error) accumulated with the passage of time. Further, since the sensor coordinate system of the posture sensor is set with reference to the gravity axis, the sensor coordinate systems of the plurality of posture sensors are defined in common, leaving an azimuth component that is one degree of freedom around the gravity axis.

以下では、姿勢センサ110が計測した3自由度の姿勢計測値を、3×3の回転行列RWSaτと表記する。同様に、姿勢センサ115が計測した3自由度の姿勢計測値を3×3の回転行列RWSbτと表記する。夫々の姿勢センサ110,115が計測した姿勢計測値は、姿勢計測値取得部145にデータとして入力される。 Hereinafter, a posture measurement value of three degrees of freedom measured by the posture sensor 110 is expressed as a 3 × 3 rotation matrix R WSaτ . Similarly, a posture measurement value of three degrees of freedom measured by the posture sensor 115 is expressed as a 3 × 3 rotation matrix R WSbτ . The posture measurement values measured by the posture sensors 110 and 115 are input to the posture measurement value acquisition unit 145 as data.

姿勢計測値取得部145は、データ管理部155から要求を受けると、上記姿勢センサ110,115のそれぞれから受け取った姿勢計測値のデータをデータ管理部155に出力する。また、姿勢計測値取得部145は、後述する校正部160によって算出された夫々の姿勢センサ110,115の配置情報(Local Transform)を校正部160から受けると、これを保持する。さらに、姿勢計測値取得部145は、姿勢センサ110,115の姿勢計測値をそれぞれ撮像装置120、現実物体125の姿勢を示す情報へと変換し、変換した情報を位置姿勢算出部170へと出力する。係る変換は、姿勢センサ110、115のそれぞれの姿勢計測値に、対応するLocal Transformを乗算することで行われる。   When the posture measurement value acquisition unit 145 receives a request from the data management unit 155, the posture measurement value data received from each of the posture sensors 110 and 115 is output to the data management unit 155. In addition, the posture measurement value acquisition unit 145 receives the arrangement information (Local Transform) of each of the posture sensors 110 and 115 calculated by the calibration unit 160 described later from the calibration unit 160, and holds this. Further, the posture measurement value acquisition unit 145 converts the posture measurement values of the posture sensors 110 and 115 into information indicating the postures of the imaging device 120 and the real object 125, respectively, and outputs the converted information to the position and posture calculation unit 170. To do. Such conversion is performed by multiplying the posture measurement values of the posture sensors 110 and 115 by the corresponding Local Transform.

なお、撮像装置120の位置と姿勢は、撮像装置120上に設定したカメラ座標系の位置と姿勢によって定義される。カメラ座標系とは、撮像装置120の撮像系の投影中心を原点とし、光軸方向を−Z軸とおいた座標系であり、X軸とY軸は、Z軸に直交する互いに独立な軸として定義される。また、現実物体125の位置と姿勢は、現実物体125上に設定した物体座標系の位置と姿勢によって定義される。物体座標系とは、現実物体125内の1点を原点として定義し、互いに直交する3軸を夫々X軸、Y軸、Z軸として定義した座標系である。   Note that the position and orientation of the imaging device 120 are defined by the position and orientation of the camera coordinate system set on the imaging device 120. The camera coordinate system is a coordinate system in which the projection center of the imaging system of the imaging device 120 is the origin and the optical axis direction is the -Z axis, and the X axis and the Y axis are mutually independent axes orthogonal to the Z axis. Defined. Further, the position and orientation of the real object 125 are defined by the position and orientation of the object coordinate system set on the real object 125. The object coordinate system is a coordinate system in which one point in the real object 125 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.

撮像装置120は、現実物体125を含む現実空間の動画像を撮像するものであり、撮像した各フレームの画像(撮像画像)は、画像取得部130にデータとして入力される。画像取得部130は、撮像装置120から撮像画像のデータを受けると、これを必要に応じて記憶した後、画像処理部135、画像生成部180に出力する。   The imaging device 120 captures a moving image of a real space including the real object 125, and the captured image (captured image) of each frame is input to the image acquisition unit 130 as data. Upon receiving the captured image data from the imaging device 120, the image acquisition unit 130 stores the data as necessary, and then outputs the data to the image processing unit 135 and the image generation unit 180.

ここで、現実物体125上には、撮像装置120によって撮像するための指標として、物体座標系における位置(物体座標)が既知である複数個の指標Qk(k = 1, , , K)が配置されている。ここで、kは指標の識別番号を表し、Kは指標の総数を表す。指標Qkは、センサ校正用のデータを取得する時の撮像装置120によって、少なくとも4個以上の指標が同時に観測されるように配置されていることが望ましい。図1の例では、4個の指標Q1,Q2,Q3,Q4が現実物体125の同一平面上に配置されている。   Here, a plurality of indices Qk (k = 1,,, K) whose positions (object coordinates) in the object coordinate system are known are arranged on the real object 125 as indices for imaging by the imaging device 120. Has been. Here, k represents the identification number of the index, and K represents the total number of indices. It is desirable that the index Qk is arranged so that at least four or more indexes can be simultaneously observed by the imaging device 120 when acquiring sensor calibration data. In the example of FIG. 1, four indexes Q1, Q2, Q3, and Q4 are arranged on the same plane of the real object 125.

指標Qkは、例えば、それぞれが異なる色を有する小領域からなるカラーマーカによって構成される。あるいは、それぞれが異なるテクスチャ特徴を有する自然特徴等の特徴点によって構成される。このように、本実施形態で用いることのできる指標としては、撮像画像上における投影像の画像座標が検出可能であって、かついずれの指標であるかが何らかの方法で識別可能であるような指標であれば、どのようなものであっても良い。また、指標は故意に(人為的に)設定されたものであってもよい。また、例えば現実物体の角や模様のような、現実物体上に元来存在する特徴を指標として用いてもよい。また、ある程度の面積を有する単色の多角形領域によって形成される多角形マーカを用いてもよい。この場合、多角形の各頂点を指標として扱う。   The indicator Qk is constituted by, for example, a color marker composed of small areas each having a different color. Alternatively, each feature point is a feature point such as a natural feature having different texture features. As described above, as an index that can be used in the present embodiment, an index that can detect the image coordinates of a projected image on a captured image and that can be identified by any method. As long as it is anything. The indicator may be set intentionally (artificially). In addition, for example, features that originally exist on the real object such as corners or patterns of the real object may be used as indices. Further, a polygon marker formed by a monochrome polygonal area having a certain area may be used. In this case, each vertex of the polygon is treated as an index.

3次元座標保持部140は、現実空間中に配した各指標(図1の場合、Q1〜Q4)について、識別番号と物体座標のセットを保持している。即ち図1の場合には、指標Q1の識別番号と物体座標とのセット、指標Q2の識別番号と物体座標とのセット、指標Q3の識別番号と物体座標とのセット、指標Q4の識別番号と物体座標とのセット、がデータとして3次元座標保持部140に保持されている。そして3次元座標保持部140は、画像処理部135から識別番号を受けると、この識別番号とセットにして保持している物体座標を画像処理部135に返信する。以下では、識別番号kの指標Qkの物体座標をxOQkと表記する。 The three-dimensional coordinate holding unit 140 holds a set of identification numbers and object coordinates for each index (Q1 to Q4 in the case of FIG. 1) arranged in the real space. That is, in the case of FIG. 1, the set of the identification number of the index Q1 and the object coordinates, the set of the identification number of the index Q2 and the object coordinates, the set of the identification number of the index Q3 and the object coordinates, and the identification number of the index Q4 A set with the object coordinates is held in the three-dimensional coordinate holding unit 140 as data. When receiving the identification number from the image processing unit 135, the three-dimensional coordinate holding unit 140 returns the object coordinates held as a set with this identification number to the image processing unit 135. In the following, the object coordinates of the index Qk with the identification number k are denoted as xO Qk .

画像処理部135は、画像取得部130から撮像画像を受けると、係る撮像画像中に含まれている指標を検出し、その画像座標を求める。更に、画像処理部135は、検出した指標を同定し、係る指標の識別番号を特定する。   When the image processing unit 135 receives a captured image from the image acquisition unit 130, the image processing unit 135 detects an index included in the captured image and obtains the image coordinates. Furthermore, the image processing unit 135 identifies the detected index and identifies the identification number of the index.

ここで、指標の検出は、使用する指標の種類に応じた方法で行われる。例えば、指標の夫々が異なる色を有するカラーマーカによって構成されている場合には、撮像画像上から各々のマーカ色に対応する領域を検出する。そして、その重心位置を指標の検出座標とする。また、指標の夫々が異なるテクスチャ特徴を有する特徴点によって構成されている場合には、テンプレート画像によるテンプレートマッチングによって指標の位置を検出する。この場合、各々の指標のテンプレート画像は、既知の情報として予め保持しておく。また、四角形マーカを用いる場合は、撮像画像に2値化処理、及びラベリング処理を施し、4つの直線によって形成されているラベル領域をマーカ候補として検出する。さらに、各マーカ候補の矩形領域の中に特定のパターンがあるか否かを判定することによって誤検出を排除する。また、矩形領域中のパターンによって、四角形マーカの識別番号を取得する。最後に、矩形領域の4頂点の座標が、4点の指標の位置として出力される。   Here, the detection of the index is performed by a method according to the type of the index to be used. For example, when each of the indices is composed of color markers having different colors, an area corresponding to each marker color is detected from the captured image. Then, the position of the center of gravity is set as the detection coordinate of the index. Further, when each of the indices is composed of feature points having different texture features, the position of the index is detected by template matching using a template image. In this case, the template image of each index is held in advance as known information. When a square marker is used, the captured image is subjected to binarization processing and labeling processing, and a label area formed by four straight lines is detected as a marker candidate. Furthermore, erroneous detection is eliminated by determining whether or not there is a specific pattern in the rectangular area of each marker candidate. Further, the identification number of the rectangular marker is acquired by the pattern in the rectangular area. Finally, the coordinates of the four vertices of the rectangular area are output as the positions of the four indices.

このように、撮像画像中の指標の識別番号、画像座標を抽出するための技術については係る分野では周知の技術であるので、画像座標、識別番号を取得するための処理についてより詳細な説明は省略する。   As described above, the technique for extracting the identification number of the index in the captured image and the image coordinate is a well-known technique in the relevant field, and therefore, a more detailed description of the process for acquiring the image coordinate and the identification number is provided. Omitted.

画像処理部135は、検出した指標の識別番号を特定すると、検出した指標の物体座標を得るべく、この特定した識別番号を3次元座標保持部140に送出する。これにより、3次元座標保持部140からは、この特定した識別番号とセットになっている物体座標が返信されるので、これを取得する。即ち、画像処理部135は、検出した指標の識別番号を3次元座標保持部140に送出することで、この検出した指標の物体座標を3次元座標保持部140から取得することができる。このようにして画像処理部135は、1枚の撮像画像から検出した全ての指標について、識別番号、画像座標、物体座標を得る。   When the identification number of the detected index is specified, the image processing unit 135 sends the specified identification number to the three-dimensional coordinate holding unit 140 in order to obtain the object coordinates of the detected index. As a result, the object coordinates set as a set with the identified identification number are returned from the three-dimensional coordinate holding unit 140, and are acquired. That is, the image processing unit 135 can obtain the object coordinates of the detected index from the three-dimensional coordinate holding unit 140 by sending the identification number of the detected index to the three-dimensional coordinate holding unit 140. In this way, the image processing unit 135 obtains identification numbers, image coordinates, and object coordinates for all indices detected from one captured image.

そして画像処理部135は、検出した指標毎の画像座標uQkjτと物体座標xOQkjのセット(j =1, , , Jτ)を、位置姿勢算出部170に出力する。以下では、検出した各セットを対応情報と呼称し、検出した全ての指標のセット(画像座標と物体座標のセット)をまとめて指標情報Mτと表記する。従って、指標情報Mτには、各指標についての対応情報が含まれていることになる。 Then, the image processing unit 135 outputs a set (j = 1,,, Jτ) of the image coordinates u Qkjτ and the object coordinates xO Qkj for each detected index to the position and orientation calculation unit 170. Hereinafter, each detected set is referred to as correspondence information, and a set of all detected indices (a set of image coordinates and object coordinates) is collectively referred to as index information Mτ. Therefore, the index information Mτ includes correspondence information for each index.

ここで、記号τは、画像取得部130が撮像装置120から撮像画像を取得した時刻(タイミング)を表す識別子である。従って、Mτは、画像取得部130が識別子τが表す時刻(以下、単に時刻τ)に取得した撮像画像から得られた指標情報であることを示している。なお、係る時刻τについては、不図示のタイマでもって計時しており、センサ校正装置100を構成する各部は適宜、係るタイマが計時する時刻を取得できるものとする。もちろん、時刻以外にも、「タイミング」を表すことのできるものであれば、如何なるものを用いても良い。   Here, the symbol τ is an identifier representing the time (timing) when the image acquisition unit 130 acquires the captured image from the imaging device 120. Therefore, Mτ represents index information obtained from the captured image acquired by the image acquisition unit 130 at the time represented by the identifier τ (hereinafter simply referred to as time τ). The time τ is measured by a timer (not shown), and each part of the sensor calibration apparatus 100 can appropriately acquire the time measured by the timer. Of course, anything other than the time can be used as long as it can represent “timing”.

また、記号jは、1枚の撮像画像内に含まれている各指標に対して付けている通し番号を示している。係る記号jは説明上登場するものである。また、記号Jτは、画像取得部130が時刻τに取得した撮像画像から画像処理部135が検出した指標の総数を表す。また、記号kjは、j番目の指標の識別番号を表す。   A symbol j indicates a serial number assigned to each index included in one captured image. Such a symbol j appears for explanation. The symbol Jτ represents the total number of indices detected by the image processing unit 135 from the captured image acquired by the image acquisition unit 130 at time τ. The symbol kj represents the identification number of the jth index.

画像処理部135は更に上記指標情報Mτを用いて、撮像装置120に対する現実物体125の位置の推定値t’COτと姿勢の推定値R’COτを算出する。ここで、t’COτは位置を表す3次元のベクトルを表している。また、R’COτは姿勢を表す3×3の行列を表している。 The image processing unit 135 further calculates the estimated value t ′ COτ of the position of the real object 125 relative to the imaging device 120 and the estimated value R ′ COτ of the posture using the index information Mτ. Here, t ′ COτ represents a three-dimensional vector representing the position. R ′ COτ represents a 3 × 3 matrix representing the posture.

現実物体上の複数の点の3次元座標と画像座標の対応から、現実物体の位置と姿勢を求める方法は写真測量やコンピュータビジョンの分野において広く知られているので、係る方法についての詳細な説明は省略する。なお、撮像装置120に対する現実物体125の位置と姿勢の算出は、後述する位置姿勢算出部170における処理とは異なり、姿勢センサ110,115による姿勢計測値は利用していない。   Since a method for obtaining the position and orientation of a real object from the correspondence between the three-dimensional coordinates of a plurality of points on the real object and the image coordinates is widely known in the field of photogrammetry and computer vision, a detailed description of the method is provided. Is omitted. Note that the calculation of the position and orientation of the real object 125 with respect to the imaging device 120 is different from the processing in the position / orientation calculation unit 170 described later, and the orientation measurement values obtained by the orientation sensors 110 and 115 are not used.

画像処理部135は、データ管理部155から要求を受けると、指標情報Mτ、現実物体125の位置の推定値t’COτ、姿勢の推定値R’COτを、データ管理部155に出力する。 When receiving a request from the data management unit 155, the image processing unit 135 outputs the index information Mτ, the estimated value t ′ COτ of the position of the real object 125, and the estimated value R ′ COτ of the posture to the data management unit 155.

指示部150は、オペレータにより「データ取得」コマンドが入力されたときには、「データ取得」の指示をデータ管理部155に送信する。また、「配置情報算出」コマンドが入力されたときには、「配置情報算出」の指示を校正部160に送信する。指示部150へのコマンド入力は、例えばキーボードを用いて、特定のコマンドを割り当てたキーを押すことによって行う。また、コマンドの入力は、ディスプレイ上に表示されたGUIで行う等、何れの方法で行ってもよい。   The instruction unit 150 transmits a “data acquisition” instruction to the data management unit 155 when a “data acquisition” command is input by the operator. Further, when the “calculation of arrangement information” command is input, an instruction of “calculation of arrangement information” is transmitted to the calibration unit 160. The command input to the instruction unit 150 is performed by pressing a key to which a specific command is assigned, for example, using a keyboard. Further, the command may be input by any method such as a GUI displayed on the display.

データ管理部155は、指示部150から「データ取得」の指示を受けると、係る指示を受けた時刻に最も近い時刻(時刻τ)に画像取得部130が取得した撮像画像に基づいて画像処理部135が取得した情報群を取得する。即ち、指標情報Mτ、現実物体125の位置の推定値t’COτ、姿勢の推定値R’COτを画像処理部135から取得する。また、データ管理部155は、指示部150から「データ取得」の指示を受けると、時刻τに上記姿勢センサ110,115による姿勢計測値のデータを取得する。 When the data management unit 155 receives an instruction of “data acquisition” from the instruction unit 150, the data management unit 155 performs an image processing unit based on a captured image acquired by the image acquisition unit 130 at a time (time τ) closest to the time when the instruction is received. The information group acquired by 135 is acquired. That is, the index information Mτ, the estimated value t ′ COτ of the position of the real object 125, and the estimated value R ′ COτ of the posture are acquired from the image processing unit 135. In addition, when receiving a “data acquisition” instruction from the instruction unit 150, the data management unit 155 acquires data of posture measurement values obtained by the posture sensors 110 and 115 at time τ.

そして、データ管理部155は、このようにして取得した各情報をセットにして、自身が管理するデータリストに追加登録する。   Then, the data management unit 155 sets each piece of information acquired in this way as a set and additionally registers it in the data list managed by itself.

・ 時刻τに姿勢計測値取得部145が取得した姿勢センサ110の姿勢計測値RWSaτ
・ 時刻τに姿勢計測値取得部145が取得した姿勢センサ115の姿勢計測値RWSbτ
・ 時刻τに画像取得部130が取得した撮像画像に基づいて求めた現実物体125の位置の推定値t’COτ、姿勢の推定値R’COτ
・ 時刻τに画像取得部130が取得した撮像画像に基づいて求めた指標情報Mτ
・ 1つ目の指標の画像座標uQk1τと物体座標xOQk1のセット
・ 2つ目の指標の画像座標uQk2τと物体座標xOQk2のセット
・ …
そして、データ管理部155は、校正部160から要求を受けると、係るデータリストを校正部160に送出する。
The posture measurement value R WSaτ of the posture sensor 110 acquired by the posture measurement value acquisition unit 145 at time τ.
The posture measurement value R WSbτ of the posture sensor 115 acquired by the posture measurement value acquisition unit 145 at time τ.
The estimated value t ′ COτ of the position of the real object 125 obtained based on the captured image acquired by the image acquisition unit 130 at time τ, and the estimated value R ′ COτ of the posture
Index information Mτ obtained based on the captured image acquired by the image acquisition unit 130 at time τ
・ Set of image coordinates u Qk1τ and object coordinates xO Qk1 of the first index ・ Set of image coordinates u Qk2τ and object coordinates xO Qk2 of the second index ・…
When the data management unit 155 receives a request from the calibration unit 160, the data management unit 155 sends the data list to the calibration unit 160.

校正部160は、指示部150から「配置情報算出」の指示を受けると、データ管理部155に対して上記データリストの取得要求を行う。そしてデータ管理部155がこの取得要求に応じて送出したデータリストを取得する。そして校正部160は、この取得したデータリストを用いて、後述する各数値演算処理を行うことで、姿勢センサ110の配置情報(即ち、Local Transform)、姿勢センサ115の配置情報を求める。そして求めたそれぞれの配置情報は、データとして姿勢計測値取得部145に送出され、そこで保持されると共に、必要に応じて外部へと出力される。   When the calibration unit 160 receives an instruction of “placement information calculation” from the instruction unit 150, the calibration unit 160 requests the data management unit 155 to acquire the data list. The data management unit 155 acquires the data list sent in response to this acquisition request. The calibration unit 160 uses the acquired data list to perform numerical calculation processing described later, thereby obtaining the placement information of the orientation sensor 110 (that is, the local transform) and the placement information of the orientation sensor 115. The obtained arrangement information is sent as data to the posture measurement value acquisition unit 145, held there, and output to the outside as needed.

以上が、撮像装置120上に配置された姿勢センサ110と、現実物体125上に配置された姿勢センサ115の校正を同時に実行する為の構成である。次に説明する構成は、係る構成によって得られた結果を確認するための、複合現実感の提示を行う為の部分である。   The above is a configuration for simultaneously executing the calibration of the attitude sensor 110 arranged on the imaging device 120 and the attitude sensor 115 arranged on the real object 125. The configuration described next is a part for presenting mixed reality for confirming the result obtained by the configuration.

位置姿勢算出部170は、非特許文献1に開示されている手法によって、撮像装置120に対する現実物体125の位置と姿勢を算出する。   The position / orientation calculation unit 170 calculates the position and orientation of the real object 125 with respect to the imaging device 120 by the method disclosed in Non-Patent Document 1.

即ち、画像処理部135は上述の通り、撮像装置120から1フレーム分の撮像画像が入力される毎に、この撮像画像に基づいて指標情報Mτを取得し、取得した指標情報Mτを位置姿勢算出部170に送出する。従って、位置姿勢算出部170はこの指標情報Mτを受ける。   That is, as described above, the image processing unit 135 obtains the index information Mτ based on the captured image every time a captured image for one frame is input from the imaging device 120, and calculates the position and orientation of the acquired index information Mτ. To the unit 170. Therefore, the position / orientation calculation unit 170 receives the index information Mτ.

また、位置姿勢算出部170は、時刻τに最も近い時刻(ほぼ時刻τと見なしても良い)における撮像装置120の姿勢、現実物体125の姿勢として姿勢計測値取得部145が求めたものを取得する。   In addition, the position / orientation calculation unit 170 acquires the posture measurement value acquisition unit 145 obtained as the posture of the imaging device 120 and the posture of the real object 125 at the time closest to the time τ (which may be regarded as almost the time τ). To do.

ここで、「時刻τに最も近い時刻における撮像装置120の姿勢」とは、次のようにして求まるものである。即ち、時刻τに最も近い時刻に姿勢計測値取得部145が取得した姿勢センサ110の姿勢計測値を、姿勢計測値取得部145がこの時点で保持している姿勢センサ110の配置情報を用いて上述の通り求めたものである。また、「時刻τに最も近い時刻における現実物体125の姿勢」とは、次のようにして求まるものである。即ち、時刻τに最も近い時刻に姿勢計測値取得部145が取得した姿勢センサ115の姿勢計測値を、姿勢計測値取得部145がこの時点で保持している姿勢センサ115の配置情報を用いて上述の通り求めたものである。   Here, “the posture of the imaging device 120 at the time closest to the time τ” is obtained as follows. That is, the posture measurement value of the posture sensor 110 acquired by the posture measurement value acquisition unit 145 at the time closest to the time τ is used by using the arrangement information of the posture sensor 110 held by the posture measurement value acquisition unit 145 at this time. It is obtained as described above. The “posture of the real object 125 at the time closest to the time τ” is obtained as follows. That is, the posture measurement value of the posture sensor 115 acquired by the posture measurement value acquisition unit 145 at the time closest to the time τ is used by using the arrangement information of the posture sensor 115 held by the posture measurement value acquisition unit 145 at this time. It is obtained as described above.

そして位置姿勢算出部170は、指標情報Mτ、撮像装置120の姿勢、現実物体125の姿勢、を用いて、非特許文献1に開示されている技術を用いて、撮像装置120に対する現実物体125の位置と姿勢を算出する。この算出は、与えられたLocal Transformが正しいという仮定に基づいて行われるので、得られた位置と姿勢は、Local Transformの正確さを反映したものとなる。   Then, the position / orientation calculation unit 170 uses the index information Mτ, the orientation of the imaging device 120, and the orientation of the real object 125, and uses the technique disclosed in Non-Patent Document 1 to determine the real object 125 with respect to the imaging device 120. Calculate position and orientation. Since this calculation is performed based on the assumption that the given Local Transform is correct, the obtained position and orientation reflect the accuracy of the Local Transform.

画像生成部180は、撮像画像を画像取得部130から取得する。また、撮像装置120に対する現実物体125の位置と姿勢を位置姿勢算出部170から取得し、取得した位置と姿勢に基づいて描画した仮想物体の画像を撮像画像上に重畳することで、複合現実感を提示する画像(重畳画像)を生成する。そして画像生成部180は、生成した画像を、表示部190に出力する。   The image generation unit 180 acquires a captured image from the image acquisition unit 130. In addition, the position and orientation of the real object 125 with respect to the imaging device 120 are acquired from the position / orientation calculation unit 170, and a virtual object image drawn based on the acquired position and orientation is superimposed on the captured image, so that mixed reality is obtained. Is generated (superimposed image). Then, the image generation unit 180 outputs the generated image to the display unit 190.

表示部190は、複合現実感を提示する画像を画像生成部180から取得し、これを表示することでオペレータに複合現実感を提示する。オペレータは係る画像を目視し、提示された複合現実感における現実空間と仮想空間との間の、位置合わせの正確さをもって、校正結果の正確さを判断することができる。なお、表示部190は、撮像装置120と一体化した構成になっていても良い。その場合の、撮像装置120および表示部190は、いわゆる頭部装着型ディスプレイ(Head Mounted Display)を構成するものとなりうる。   The display unit 190 acquires an image that presents mixed reality from the image generation unit 180, and displays this to present the mixed reality to the operator. The operator can visually check the image and judge the accuracy of the calibration result with the accuracy of the alignment between the real space and the virtual space in the presented mixed reality. Note that the display unit 190 may be integrated with the imaging device 120. In that case, the imaging device 120 and the display unit 190 can constitute a so-called head-mounted display.

次に、センサ校正装置100が行うメインの処理について、同処理のフローチャートを示す図3を用いて、以下説明する。なお、図3のフローチャートに従った処理を行う際には、オペレータは、撮像装置120と現実物体125の夫々の姿勢を様々に変化させながら、「データ取得」コマンドを数回入力する。そしてその後に、「配置情報算出」コマンドを入力するという操作を行う。以下では、「データ取得」コマンドが入力された時刻として記号τを用いる。そして、時刻τが異なるときには、撮像装置120及び現実物体125の夫々の姿勢は異なっているものとする。   Next, main processing performed by the sensor calibration apparatus 100 will be described below with reference to FIG. 3 showing a flowchart of the processing. 3, the operator inputs a “data acquisition” command several times while changing the postures of the imaging device 120 and the real object 125 in various ways. Then, an operation of inputting a “placement information calculation” command is performed. In the following, the symbol τ is used as the time when the “data acquisition” command is input. When the time τ is different, the postures of the imaging device 120 and the real object 125 are different.

ステップS3010において、指示部150は、「データ取得」コマンドがオペレータから入力されたか否かの判定を行う。指示部150は、「データ取得」コマンドが入力されている場合には、「データ取得」の指示をデータ管理部155に送信し、ステップS3020へと処理を移行させる。一方、「データ取得」コマンドが入力されていない場合には、ステップS3050へと処理を移行させる。   In step S3010, the instruction unit 150 determines whether or not a “data acquisition” command is input from the operator. When the “data acquisition” command is input, the instruction unit 150 transmits a “data acquisition” instruction to the data management unit 155, and shifts the processing to step S3020. On the other hand, if the “data acquisition” command has not been input, the process proceeds to step S3050.

ステップS3020において、データ管理部155は、時刻τに画像取得部130が取得した撮像画像に基づいて画像処理部135が取得した画像処理結果を画像処理部135から取得する。即ち、係る画像処理結果とは上述の通り、指標情報Mτ、現実物体125の位置の推定値t’COτ、姿勢の推定値R’COτである。 In step S3020, the data management unit 155 acquires the image processing result acquired by the image processing unit 135 from the image processing unit 135 based on the captured image acquired by the image acquisition unit 130 at time τ. That is, as described above, the image processing results are the index information Mτ, the estimated value t ′ COτ of the position of the real object 125, and the estimated value R ′ COτ of the posture.

ステップS3030において、データ管理部155は、時刻τにおいて姿勢センサ110、姿勢センサ115が計測した姿勢計測値RWSaτ、RWSbτを、姿勢計測値取得部145から取得する。 In step S3030, the data management unit 155 acquires the posture measurement values R WSaτ and R WSbτ measured by the posture sensor 110 and the posture sensor 115 at the time τ from the posture measurement value acquisition unit 145.

ステップS3040において、データ管理部155は、ステップS3020,S3030で取得した情報群を組み合わせたセット[RWSaτ,RWSbτ,t’COτ,R’COτ,Mτ]を、データリストLに追加登録する。 In step S3040, the data management unit 155 additionally registers in the data list L a set [R WSaτ , R WSbτ , t ′ COτ , R ′ COτ , M τ ] that is a combination of the information groups acquired in steps S3020 and S3030. .

以上で示したステップS3010からステップS3040までの処理によって、1回の「データ取得」指示で取得されるセットがデータリストLに登録される。そして、ステップS3010からステップS3040の処理を複数回実行することにより、複数セットをデータリストLに登録することができる。このとき、時刻τ(τ= 1, , , T)は、データリストLに登録されている各セットの識別子と解釈できる。ここでTは、データリストL中に含まれる異なるセット(異なる時刻、異なる姿勢)の数を表している。   A set acquired by one “data acquisition” instruction is registered in the data list L by the processing from step S3010 to step S3040 described above. A plurality of sets can be registered in the data list L by executing the processing from step S3010 to step S3040 a plurality of times. At this time, the time τ (τ = 1,, T) can be interpreted as an identifier of each set registered in the data list L. Here, T represents the number of different sets (different time and different postures) included in the data list L.

ステップS3050において、指示部150は、「配置情報算出」コマンドがオペレータにより入力されたか否かの判定を行う。指示部150は、「配置情報算出」コマンドが入力されている場合には、「配置情報算出」の指示を校正部160に送信し、ステップS3060へと処理を移行させる。一方、「配置情報算出」コマンドが入力されていない場合には、ステップS3080へと処理を移行させる。   In step S3050, the instruction unit 150 determines whether or not the “placement information calculation” command is input by the operator. When the “placement information calculation” command is input, the instruction unit 150 transmits the “placement information calculation” instruction to the calibration unit 160 and shifts the processing to step S3060. On the other hand, if the “placement information calculation” command has not been input, the process proceeds to step S3080.

ステップS3060において、校正部160は、データ管理部155からデータリストLを取得し、この取得したデータリストLを用いて、姿勢センサ110、115のそれぞれの配置情報を算出する処理を行う。係る処理の詳細については、図4のフローチャートを用いて後述する。   In step S <b> 3060, the calibration unit 160 acquires the data list L from the data management unit 155, and performs processing for calculating the arrangement information of each of the attitude sensors 110 and 115 using the acquired data list L. Details of this processing will be described later with reference to the flowchart of FIG.

次に、ステップS3070において、校正部160は、ステップS3060で算出された姿勢センサ110、115のそれぞれの配置情報を、姿勢計測値取得部145へと出力する。また、必要に応じて、配置情報をセンサ校正装置100の外部へと出力する。   Next, in step S3070, the calibration unit 160 outputs the arrangement information of the posture sensors 110 and 115 calculated in step S3060 to the posture measurement value acquisition unit 145. Further, the arrangement information is output to the outside of the sensor calibration apparatus 100 as necessary.

ステップS3080において、位置姿勢算出部170は、時刻τにおいて画像取得部130が取得した撮像画像に基づいて画像処理部135が取得した指標情報Mτを、画像処理部135から取得する。   In step S3080, the position / orientation calculation unit 170 acquires the index information Mτ acquired by the image processing unit 135 from the image processing unit 135 based on the captured image acquired by the image acquisition unit 130 at time τ.

ステップS3090において、位置姿勢算出部170は、時刻τにおける撮像装置120の姿勢、現実物体125の姿勢として姿勢計測値取得部145が求めたものを取得する。この取得したそれぞれの姿勢は、姿勢計測値取得部145が保持している姿勢センサのLocal Transformに基づいて、姿勢計測値に座標変換を施した後の姿勢を表している。従って、ステップS3060における配置情報算出処理が正しく行われていれば、本ステップで得られる姿勢は、撮像装置120の姿勢と現実物体125の姿勢を正しく(もちろん、センサの計測誤差は含んでいる)表すものとなる。   In step S <b> 3090, the position / orientation calculation unit 170 acquires what the orientation measurement value acquisition unit 145 has obtained as the orientation of the imaging device 120 and the orientation of the real object 125 at time τ. Each acquired posture represents the posture after coordinate conversion is performed on the posture measurement value based on the local transform of the posture sensor held by the posture measurement value acquisition unit 145. Therefore, if the arrangement information calculation process in step S3060 is correctly performed, the posture obtained in this step is correct between the posture of the imaging device 120 and the posture of the real object 125 (of course, sensor measurement errors are included). To represent.

ステップS3100において位置姿勢算出部170は、ステップS3080で取得した指標情報Mτ、ステップS3090で取得した撮像装置120の姿勢、現実物体125の姿勢、に基づいて、撮像装置120に対する現実物体125の位置と姿勢を算出する。係る算出処理は、例えば非特許文献1に開示されている公知の手法によって行うことができるので、詳細な説明は省略する。そして位置姿勢算出部170は、算出した位置と姿勢のデータを、画像生成部180へと出力する。また、必要に応じて、算出した位置と姿勢のデータを、外部へと出力する。   In step S3100, the position / orientation calculation unit 170 determines the position of the real object 125 relative to the imaging device 120 based on the index information Mτ acquired in step S3080, the orientation of the imaging device 120 acquired in step S3090, and the orientation of the real object 125. Calculate the posture. Such calculation processing can be performed by, for example, a known method disclosed in Non-Patent Document 1, and thus detailed description thereof is omitted. Then, the position / orientation calculation unit 170 outputs the calculated position and orientation data to the image generation unit 180. Moreover, the calculated position and orientation data are output to the outside as necessary.

ステップS3110において、画像生成部180は、複合現実感を提示する画像を生成して表示部190へと出力する。複合現実感を提示する画像の生成は、以下の処理によって行う。まず、画像生成部180は、撮像装置120に対する現実物体125の位置と姿勢を位置姿勢算出部170から取得する。さらに、時刻τにおいて画像取得部130が取得した撮像画像を、この画像取得部130から取得する。そして、撮像装置120に対する現実物体125の位置と姿勢に基づいて描画した仮想物体の画像を、この撮像画像上に重畳する。仮想物体としては、例えば、現実物体125の種類に依存しない情報として、物体座標系の3つの軸を表す矢印を表示してもよい。また、X=0平面,Y=0平面,Z=0平面等をワイヤーフレームで表示してもよい。あるいは、現実物体125のワイヤーフレームモデルを予め保持しておいて、これを現実物体125上に重畳表示してもよい。現実物体125の位置と姿勢が正しく求められていることが確認できるような内容であれば、仮想物体は何れのものであってもよい。   In step S <b> 3110, the image generation unit 180 generates an image that presents mixed reality and outputs the generated image to the display unit 190. An image that presents mixed reality is generated by the following process. First, the image generation unit 180 acquires the position and orientation of the real object 125 with respect to the imaging device 120 from the position / orientation calculation unit 170. Further, the captured image acquired by the image acquisition unit 130 at time τ is acquired from the image acquisition unit 130. Then, a virtual object image drawn based on the position and orientation of the real object 125 with respect to the imaging device 120 is superimposed on the captured image. As a virtual object, for example, arrows representing three axes of the object coordinate system may be displayed as information independent of the type of the real object 125. Further, the X = 0 plane, the Y = 0 plane, the Z = 0 plane, and the like may be displayed in a wire frame. Alternatively, a wire frame model of the real object 125 may be held in advance, and this may be superimposed and displayed on the real object 125. Any virtual object may be used as long as it can be confirmed that the position and orientation of the real object 125 are correctly obtained.

次に、ステップS3120において、表示部190は、複合現実感を提示する画像を画像生成部180から取得し、これを表示することでオペレータに複合現実感を提示する。   Next, in step S3120, the display unit 190 obtains an image that presents mixed reality from the image generation unit 180, and displays this to present the mixed reality to the operator.

最後にステップS3130において、処理を終了するか否かの判定を行う。指示部150を介してオペレータにより本処理の終了指示が入力された場合には、本処理を終了させる。一方、本処理の終了指示がない場合には、再びステップS3010へと処理を戻す。   Finally, in step S3130, it is determined whether or not to end the process. If the operator inputs an instruction to end the process via the instruction unit 150, the process ends. On the other hand, if there is no instruction to end the process, the process returns to step S3010 again.

次に、図4に示すフローチャートを用いて、ステップS3060における配置情報算出処理の詳細について説明する。図4は、上記ステップS3060における処理の詳細を示すフローチャートである。   Next, details of the arrangement information calculation processing in step S3060 will be described using the flowchart shown in FIG. FIG. 4 is a flowchart showing details of the processing in step S3060.

校正部160は、求めるべき姿勢センサの配置情報、即ち、Local Transformを、3値ベクトルω = [ξ ψ ζ]Tとして扱う。姿勢を3値によって表現する方法には様々なものが存在するが、ここでは、ベクトルの大きさによって回転角を、ベクトルの向きによって回転軸方向を定義するような3値のベクトルによって表現されているものとする。また以下では、必要に応じて、夫々のLocal Transformを3×3の回転行列R(ω)によって表記する。回転行列と上記3値ベクトルとの間の変換は、公知の変換式によって容易に行うことができる。以下では、姿勢センサ110の配置情報をωSC = [ξSC ψSC ζSC]T(未知)、姿勢センサ115の配置情報をωSO = [ξSO ψSO ζSO]T(未知)と表記する。 The calibration unit 160 treats the orientation information of the attitude sensor to be obtained, that is, the local transform, as a ternary vector ω = [ξ ψ ζ] T. There are various methods for expressing the posture by ternary values, but here, the rotation angle is expressed by the magnitude of the vector, and the ternary vector is defined by defining the rotation axis direction by the vector direction. It shall be. In the following description, each Local Transform is represented by a 3 × 3 rotation matrix R (ω) as necessary. Conversion between the rotation matrix and the ternary vector can be easily performed by a known conversion formula. Hereinafter, the arrangement information of the attitude sensor 110 is expressed as ω SC = [ξ SC ψ SC ζ SC ] T (unknown), and the arrangement information of the attitude sensor 115 is expressed as ω SO = [ξ SO ψ SO ζ SO ] T (unknown). To do.

校正部160は、Local Transformを算出する過程において、データリストLに登録されている各時刻τにおける現実物体125の位置tCOτ= [xCOτ yCOτ zCOτ]T(未知)を推定する。また、各時刻τにおける相対方位誤差の補正値φτ(未知)を推定する。ここで、相対方位誤差とは、姿勢センサ110の姿勢計測値に含まれる方位誤差と、姿勢センサ115の姿勢計測値に含まれる方位誤差の相対値を表している。なお、相対方位誤差には、夫々の姿勢センサのセンサ座標系の方位成分の差異も含まれている。 In the process of calculating Local Transform, the calibration unit 160 estimates the position t COτ = [x COτ y COτ z COτ ] T (unknown) of the real object 125 at each time τ registered in the data list L. Further, a correction value φτ (unknown) of the relative azimuth error at each time τ is estimated. Here, the relative azimuth error represents the relative value of the azimuth error included in the posture measurement value of the posture sensor 110 and the azimuth error included in the posture measurement value of the posture sensor 115. The relative azimuth error includes a difference in azimuth component in the sensor coordinate system of each posture sensor.

以下では、これらの算出対象の未知パラメータを(6+4T)次元の状態ベクトルs = [ωSC ωSO tCO1 φ ・・・ tCOτ φτ ・・・tCOT φ]Tで記述する。以下の計算では、データリストLが保持している複数時刻における指標の情報と姿勢計測値とを用いて、状態ベクトルsの値を繰り返し計算によって最適化する。具体的には、夫々の検出指標の画像座標の実測値と、ある状態ベクトルsを仮定した際のこの指標の画像座標の理論値と間の誤差を全体として最小化するように、sの値を更新する。 Hereinafter, describing the unknown parameters of these calculation target in the (6 + 4T) dimensional state vector s = [ω SC ω SO t CO1 φ 1 ··· t COτ φ τ ··· t COT φ T] T. In the following calculation, the value of the state vector s is optimized by repetitive calculation using the index information and posture measurement values at a plurality of times held in the data list L. Specifically, the value of s so that the error between the actual value of the image coordinate of each detection index and the theoretical value of the image coordinate of this index when a certain state vector s is assumed is minimized as a whole. Update.

ステップS4010において、校正部160は、データ管理部155からデータリストLを取得する。   In step S4010, the calibration unit 160 acquires the data list L from the data management unit 155.

ステップS4020において、校正部160は、状態ベクトルsに適当な初期値を与える。まず、各τにおけるtCOτの初期値として、データリストL中の対応する時刻τにおける現実物体125の位置推定値t’COτを設定する。また、全てのφτに共通の初期値として、全周方向を等分割した値からまだ選択されていない値を選択して設定する。例えば、全周方向を6分割した場合には、0度,60度,120度,180度,240度,300度の何れかを設定する。また、ωSCの初期値として、予め用意した幾つかの候補の中から、φτの初期値との組み合わせとしてまだ選択されていない姿勢を選択して設定する。さらに、ωSOの初期値として、上記で設定されたφτとωSCの初期値を利用して、次式によって算出した姿勢を設定する。 In step S4020, the calibration unit 160 gives an appropriate initial value to the state vector s. First, as the initial value of t COτ at each τ, the estimated position t ′ COτ of the real object 125 at the corresponding time τ in the data list L is set. In addition, as an initial value common to all φτ , a value that has not yet been selected is selected from values obtained by equally dividing the entire circumferential direction. For example, when the entire circumferential direction is divided into six, one of 0 degrees, 60 degrees, 120 degrees, 180 degrees, 240 degrees, and 300 degrees is set. In addition, as an initial value of ω SC, a posture that has not yet been selected as a combination with the initial value of φ τ is selected and set from several candidates prepared in advance. Further, using the initial values of φ τ and ω SC set above as the initial value of ω SO , the posture calculated by the following equation is set.

Figure 2013101128
Figure 2013101128

ここで、RWSaτ,RWSbτ,R’COτの夫々は、データリストLから選択したある一つの(ある時刻τの)セットから得た値を表している。また、ΔR(φτ)は、方位角方向にφτだけの回転(相対方位誤差の補正)を加える3×3の回転行列を表しており、次式によって定義される。 Here, each of R WSaτ , R WSbτ and R ′ COτ represents a value obtained from one set (at a certain time τ) selected from the data list L. ΔR (φ τ ) represents a 3 × 3 rotation matrix that adds rotation by φ τ in the azimuth direction (correction of relative azimuth error), and is defined by the following equation.

Figure 2013101128
Figure 2013101128

一方、R(ω)は、ωによって決定される回転行列であり、次式によって定義される。   On the other hand, R (ω) is a rotation matrix determined by ω and is defined by the following equation.

Figure 2013101128
Figure 2013101128

ただし、θは次式によって定義される。   However, (theta) is defined by following Formula.

Figure 2013101128
Figure 2013101128

ステップS4030において、校正部160は、データリストLに登録されている各対応情報に関して、指標の画像座標の理論値を算出する。指標の画像座標の理論値とは、撮像装置120に対する現実物体125の位置と姿勢に仮説が与えられた時に、この指標が撮像画像中に見えるべき座標を指す。以下では、指標の物体座標xOiと、画像座標(実測値)uiのセットに関する画像座標の理論値を、ui’と表記する。ここで、記号i(i = 1, , , I)は、データリストL中の指標の対応情報の夫々に割り振った通し番号であり、Iは指標の対応情報の総数を表す。すなわち、I = Σττの関係にある。 In step S4030, the calibration unit 160 calculates the theoretical value of the index image coordinates for each piece of correspondence information registered in the data list L. The theoretical value of the image coordinate of the index indicates the coordinate at which this index should be visible in the captured image when a hypothesis is given to the position and orientation of the real object 125 with respect to the imaging device 120. Hereinafter, the theoretical value of the image coordinate regarding the set of the object coordinate xO i of the index and the image coordinate (actually measured value) u i is expressed as u i ′. Here, the symbol i (i = 1,,, I) is a serial number assigned to each of the correspondence information of the index in the data list L, and I represents the total number of correspondence information of the index. That is, a relationship of I = Σ τ J τ.

理論値ui’は、状態ベクトルsを変数とした観測方程式Fτi()に基づいて、次式によって算出される。 The theoretical value u i ′ is calculated by the following equation based on the observation equation F τi () with the state vector s as a variable.

Figure 2013101128
Figure 2013101128

ここで、τは、i番目の対応情報が属するセットの時刻を表す。観測方程式Fτi()は、物体座標xOiからカメラ座標xCiへの変換と、カメラ座標xCiから画像座標ui’への変換によって構成される。前者はモデルビュー変換であり、状態ベクトルsの要素であるωSC,ωSO,tCOτi,φτiを用いて、次式によって定義される。 Here, τ i represents the time of the set to which the i-th correspondence information belongs. The observation equation F τi () is configured by conversion from object coordinates xO i to camera coordinates x Ci and conversion from camera coordinates x Ci to image coordinates u i ′. The former is model view transformation, and is defined by the following equation using ω SC , ω SO , t COτi , and φ τi that are elements of the state vector s.

Figure 2013101128
Figure 2013101128

一方、後者は透視変換であり、次式によって定義される。   On the other hand, the latter is perspective transformation and is defined by the following equation.

Figure 2013101128
Figure 2013101128

ここでfx及びfyは、それぞれx軸方向、y軸方向における撮像装置120の焦点距離であり、既知の値として校正部160内に予め保持されているものとする。   Here, fx and fy are the focal lengths of the imaging device 120 in the x-axis direction and the y-axis direction, respectively, and are assumed to be held in advance in the calibration unit 160 as known values.

ステップS4040において、校正部160は、指標の対応情報の夫々に関して(即ち全てのiについて)、実測値として得られた画像座標uiと、それに対応する画像座標の理論値ui’との誤差Δuiを次式によって算出する。 In step S4040, the calibration unit 160, for each of the index correspondence information (that is, for all i), the error between the image coordinates u i obtained as the actual measurement values and the theoretical values u i ′ of the corresponding image coordinates. Δu i is calculated by the following equation.

Figure 2013101128
Figure 2013101128

ステップS4050において、校正部160は、全てのiに対して、状態ベクトルsに関する画像ヤコビアンJi(=∂ui/∂s)を算出する。画像ヤコビアンとは、(式5)の観測方程式Fτi()を、状態ベクトルsの各要素で偏微分した解を各要素に持つ2行×(6+4T)列の行列(ヤコビ行列)である。具体的には先ず、(式7)の右辺をカメラ座標系上の位置ベクトルxCiの各要素で偏微分した解を各要素に持つ2行×3列のヤコビ行列Ju_xCi(=∂ui/∂xCi)を算出する。また、(式6)の右辺を状態ベクトルsの各要素で偏微分した解を各要素に持つ3行×(6+4T)列のヤコビ行列JxCi_s(=∂xCi/∂s)を算出する。そして、次式によって画像ヤコビアンJiを算出する。 In step S4050, the calibration unit 160 calculates an image Jacobian J i (= ∂u i / ∂s) related to the state vector s for all i. The image Jacobian is a matrix (Jacobi matrix) of 2 rows × (6 + 4T) columns each having a solution obtained by partial differentiation of the observation equation F τi () of (Expression 5) with respect to each element of the state vector s. Specifically, first, a 2-row × 3-column Jacobian matrix J u — xCi (= ∂u i) having a solution obtained by partial differentiation of the right side of (Expression 7) with each element of the position vector x Ci on the camera coordinate system. / ∂x Ci ) is calculated. Further, a Jacobian matrix J xCi_s (= ∂x Ci / ∂s) of 3 rows × (6 + 4T) columns having a solution obtained by partial differentiation of the right side of (Expression 6) with each element of the state vector s is calculated. Then, the image Jacobian J i is calculated by the following equation.

Figure 2013101128
Figure 2013101128

ヤコビ行列Ju_xCiの導出方法は公知であるので、その説明は省略する。例えば、非特許文献2等にその導出方法が開示されている。一方、JxCi_sの算出は以下のようにして行う。以下の計算を説明するために、モデルビュー変換を表す(式6)を、次の4つの式に分解して考える。 Since the method for deriving the Jacobian matrix Ju_xCi is known, its description is omitted. For example, Non-Patent Document 2 and the like disclose its derivation method. On the other hand, J xCi_s is calculated as follows. In order to explain the following calculation, (Expression 6) representing the model view conversion is considered as the following four expressions.

Figure 2013101128
Figure 2013101128

Figure 2013101128
Figure 2013101128

Figure 2013101128
Figure 2013101128

Figure 2013101128
Figure 2013101128

これらの式に従うと、JxCi_sは、ωSCとその他の要素(これをs’と置く)に関する二つの行列に、以下のように分解できる。 Following these equations, J xCi_s can be decomposed into two matrices for ω SC and other elements ( denoting this as s ′) as follows:

Figure 2013101128
Figure 2013101128

ここで、JxCi_ωSCはωSCによる(式10)の偏微分であり、(式10)、(式11)から以下のように導出できる。 Here, J xCi_ωSC is a partial differentiation of (Expression 10) by ω SC and can be derived from (Expression 10) and (Expression 11) as follows.

Figure 2013101128
Figure 2013101128

ここで、JxCi_rWCτはRWCτiの各要素による(式10)の偏微分を表している。JrWCτ_rSCはR(ωSC)の各要素による(式11)の偏微分を表している。JrSC_ωSCはωSCによるR(ωSC)の偏微分を表している。また、JxCi_xWiはxWiによる(式10)の偏微分を表している。また、JxWi_s’はs’による(式12)の偏微分を表しており、次式のように、s’の各要素に分解して求めることができる。 Here, J xCi_rWCτ represents the partial differentiation of (Equation 10) by each element of R WCτi . J rWCτ_rSC represents the partial differentiation of (Equation 11) by each element of R (ω SC ). J rSC_ωSC represents the partial derivative of R (ω SC) due to the ω SC. J xCi_xWi represents the partial differentiation of (Equation 10) by x Wi . J xWi — s ′ represents the partial differentiation of (Expression 12) by s ′, and can be obtained by decomposing into each element of s ′ as in the following expression.

Figure 2013101128
Figure 2013101128

ここで、JxWi_ωSOはωSOによる(式12)の偏微分であり、(式12)、(式13)から以下のように導出できる。 Here, J XWi_omegaSO are partial derivatives by omega SO (12), (12), and can be derived from equation (13).

Figure 2013101128
Figure 2013101128

ここで、JxWi_rWOτはRWOτiの各要素による(式12)の偏微分を表している。JrWOτ_rSOはR(ωSO)の各要素による(式13)の偏微分を表している。JrSO_ωSOはωSOによるR(ωSO)の偏微分を表している。また、JxWi_tτは、tCOτiによる(式12)の偏微分を表しており、(式12)から以下のように導出できる。 Here, J xWi_rWOτ represents the partial differentiation of (Equation 12) by each element of RWOτi . J rWOτ_rSO represents the partial differentiation of (Equation 13) by each element of R (ω SO ). J RSO_omegaSO represents the partial derivative of R (ω SO) by omega SO. J xWi_tτ represents the partial differentiation of (Expression 12) by t COτi and can be derived from (Expression 12) as follows.

Figure 2013101128
Figure 2013101128

Figure 2013101128
Figure 2013101128

また、JxWi_φτはφτiによる(式12)の偏微分を表しており、(式12)及び(式13)から以下のように導出できる。 J xWi — φτ represents the partial differentiation of (Expression 12) by φτi , and can be derived from (Expression 12) and (Expression 13) as follows.

Figure 2013101128
Figure 2013101128

Figure 2013101128
Figure 2013101128

ここで、JrWOτ_ΔrτはR(φτi)の各要素による(式13)の偏微分を表している。JΔrτ_φτはφτiによるR(φτi)の偏微分を表している。 Here, J rWOτ_Δrτ represents the partial differentiation of (Equation 13) by each element of R (φ τi ). J Derutaarutau_faitau represents the partial derivative of R τi) by phi .tau.i.

これらのヤコビ行列を順次算出することで、JxCi_sを求めることができる。なお、これ以上の式の導出は一般的な偏微分の計算によって可能であるので省略する。 J xCi_s can be obtained by sequentially calculating these Jacobian matrices. It should be noted that derivation of further equations is possible because it is possible by general partial differential calculations.

ステップS4060において、校正部160は、以上のステップで算出した、全てのiに対する誤差Δui及びヤコビ行列Jiに基づいて、sの補正値Δsを算出する。具体的には、全てのiに対する誤差Δuiを垂直に並べた誤差ベクトルU及び全てのiに対するヤコビ行列Jiを垂直に並べた行列Φを作成し、次式によってΔsを算出する。 In step S4060, the calibration unit 160 calculates the correction value Δs of s based on the error Δu i and the Jacobian matrix J i for all i calculated in the above steps. Specifically, an error vector U in which errors Δu i for all i are vertically arranged and a matrix Φ in which a Jacobian matrix J i for all i is vertically arranged are created, and Δs is calculated by the following equation.

Figure 2013101128
Figure 2013101128

ここで、ΦはΦの擬似逆行列Φであり、例えばΦ=(ΦΦ)−1Φによって求めることができる。Φの導出は、他の何れの手法によってもよい。 Here, Φ + is a pseudo inverse matrix Φ + of Φ, and can be obtained by, for example, Φ + = (Φ T Φ) −1 Φ T. The derivation of Φ + may be performed by any other method.

なお、以上で述べたステップS4060の処理によって補正値を算出することは、非線形最適化手法の一種であるガウス・ニュートン法を適用していることに相当する。誤差ベクトルUとヤコビ行列Φを利用した補正値の算出方法はガウス・ニュートン法以外にも提案されており、例えば、レーベンバーグ・マーカート法や、最急降下法等を用いてもよい。また、外れ値を除外するM推定等のロバスト推定手法を組み合わせてもよいし、その他の何れの解法を用いてもよい。   Note that calculating the correction value by the processing in step S4060 described above corresponds to applying the Gauss-Newton method, which is a kind of nonlinear optimization method. A correction value calculation method using the error vector U and the Jacobian matrix Φ has been proposed in addition to the Gauss-Newton method. For example, the Levenberg-Marquardt method, the steepest descent method, or the like may be used. In addition, a robust estimation method such as M estimation that excludes outliers may be combined, or any other solution may be used.

ステップS4070において、校正部160は、ステップS4060において算出した補正値Δsを用いて、次式に従って状態ベクトルsを補正し、得られた値を新たなsとする。   In step S4070, the calibration unit 160 corrects the state vector s according to the following equation using the correction value Δs calculated in step S4060, and sets the obtained value as a new s.

Figure 2013101128
Figure 2013101128

ステップS4080において、校正部160は、更新された状態ベクトルsを用いて、ステップS4030と同一の処理により、指標の対応情報の夫々に関してその画像座標の理論値を算出する。   In step S4080, the calibration unit 160 uses the updated state vector s to calculate the theoretical value of the image coordinate for each of the index correspondence information by the same processing as in step S4030.

ステップS4090において、校正部160は、更新された状態ベクトルsを用いて、ステップS4040と同一の処理により、指標の対応情報の夫々に関してその画像座標の実測値と理論値との誤差Δuiを算出する。 In step S4090, using the updated state vector s, the calibration unit 160 calculates an error Δu i between the measured value and the theoretical value of the image coordinate for each of the index correspondence information by the same processing as in step S4040. To do.

ステップS4100において、校正部160は、何らかの判断基準を用いて、反復処理を継続するか否かの判断を行う。これ以上の反復処理は不要と判断した場合には、ステップS4110へと処理を進める。一方、反復処理を行うと判断した場合には、更新されたsを用いて、ステップS4050からステップS4090までの処理を再度実行する。   In step S4100, the calibration unit 160 determines whether to continue the iterative process using some criterion. If it is determined that no further iterative processing is necessary, the process proceeds to step S4110. On the other hand, if it is determined that the iterative process is to be performed, the processes from step S4050 to step S4090 are executed again using the updated s.

反復処理を行うか否かの判断は、例えば、計算が収束または発散しているか否かの判定によって行う。計算が収束も発散もしていないと判定した場合には、反復処理を継続する。一方、計算が収束あるいは発散していると判定した場合には、反復処理を終了する。また、収束や発散の判定を行わずに、一定回数の反復処理を必ず行うようにしてもよい。収束や発散の判定は、例えば、ステップS4090で更新された誤差ベクトルUの大きさによって行うことができる。例えば、収束の判定を、誤差ベクトルUの大きさが予め定めた閾値より小さいか否か、あるいは、誤差ベクトルUの大きさの変化量が予め定めた閾値より小さいか否かといった基準によって行う。何れも閾値よりも小さければ、処理を終了すると判断する。   The determination of whether or not to perform the iterative process is performed by determining whether or not the calculation has converged or diverged, for example. If it is determined that the calculation has neither converged nor diverged, the iterative process is continued. On the other hand, if it is determined that the calculation has converged or diverged, the iterative process is terminated. Further, it may be possible to always perform a certain number of iterations without determining convergence or divergence. The determination of convergence or divergence can be made, for example, based on the magnitude of the error vector U updated in step S4090. For example, the determination of convergence is performed based on a criterion such as whether or not the magnitude of the error vector U is smaller than a predetermined threshold, or whether or not the amount of change in the magnitude of the error vector U is smaller than a predetermined threshold. If both are smaller than the threshold value, it is determined that the process is to be terminated.

また、発散の判定を、誤差ベクトルUの大きさが増加傾向にあるか否か、あるいは、誤差ベクトルUの大きさが予め定めた閾値より大きいか否かといった基準によって行う。また、補正値Δsの大きさによって収束判定を行うこともできる。   Further, the divergence is determined based on whether or not the magnitude of the error vector U tends to increase or whether or not the magnitude of the error vector U is larger than a predetermined threshold. Further, the convergence determination can be performed based on the magnitude of the correction value Δs.

このような反復計算の終了条件を用いて反復計算を有限回数行うことについては従来からなされていることであるので、これについてのこれ以上の説明は省略する。   Since it has been conventionally performed to perform the iterative calculation a finite number of times using the termination condition of such an iterative calculation, further description thereof will be omitted.

ステップS4110において、校正部160は、ステップS4020で設定した初期値に対して行った最適化計算(ステップS4030〜ステップS4100)が、成功したか否かの判定を行う。具体的には、ステップS4090で更新された誤差ベクトルUの大きさが予め定めた閾値以下であれば、最適化計算が成功したものと判断する。最適化計算が失敗したと判断した場合には、処理をステップS4020へと移行する。そして、状態ベクトルの初期値として他の候補を再設定し、以降の最適化計算(ステップS4030〜ステップS4100)を再度実行する。一方、最適化計算が成功したと判断した場合には、処理を終了する。   In step S4110, the calibration unit 160 determines whether the optimization calculation (steps S4030 to S4100) performed on the initial value set in step S4020 has succeeded. Specifically, if the magnitude of the error vector U updated in step S4090 is equal to or smaller than a predetermined threshold value, it is determined that the optimization calculation has succeeded. If it is determined that the optimization calculation has failed, the process proceeds to step S4020. And another candidate is reset as an initial value of a state vector, and subsequent optimization calculation (Step S4030-Step S4100) is performed again. On the other hand, if it is determined that the optimization calculation is successful, the process is terminated.

以上の処理によって、撮像装置120や現実物体125に装着した姿勢センサの校正を、簡便かつ正確に行うことができる。また、初期値や重力軸の方向を予め入力しておくという手間を必要としない。   Through the above processing, the posture sensor mounted on the imaging device 120 or the real object 125 can be calibrated easily and accurately. Further, there is no need to input the initial value and the direction of the gravity axis in advance.

[第2の実施形態]
第1の実施形態では、撮像装置120に姿勢センサ110が装着されていた。しかし、現実物体125に装着した姿勢センサ115の配置情報を計測するという目的のみを考えると、撮像装置120に姿勢センサ110が装着されていることは必須ではない。本実施形態では、撮像装置120に姿勢センサを設けない場合のシステムについて説明する。
[Second Embodiment]
In the first embodiment, the orientation sensor 110 is attached to the imaging device 120. However, considering only the purpose of measuring the placement information of the orientation sensor 115 attached to the real object 125, it is not essential that the orientation sensor 110 is attached to the imaging device 120. In the present embodiment, a system in a case where no posture sensor is provided in the imaging apparatus 120 will be described.

図5は、本実施形態に係るセンサ校正装置を有するシステムの機能構成を示すブロック図である。図5において、図1に示したものと同じものについては同じ番号を付けており、その説明は省略する。図5に示した構成が図1に示した構成と異なる点は、以下の3点である。   FIG. 5 is a block diagram showing a functional configuration of a system having the sensor calibration apparatus according to the present embodiment. In FIG. 5, the same components as those shown in FIG. The configuration shown in FIG. 5 is different from the configuration shown in FIG. 1 in the following three points.

・ 撮像装置120には姿勢センサが設けられていない
・ 撮像装置120は三脚500でその姿勢が固定されている
・ センサ校正装置100には新たに姿勢取得部165が付加されている
以下では、この3点を中心に説明する。もちろん、以下説明する点以外については第1の実施形態と同様である。
The image sensor 120 is not provided with a posture sensor. The image sensor 120 is fixed in its posture with a tripod 500. The sensor calibration device 100 is newly provided with a posture acquisition unit 165. The explanation will focus on three points. Of course, the points other than those described below are the same as those in the first embodiment.

撮像装置120は、三脚500上に設置されている。撮像装置120の姿勢RWCは予め計測されており、データとして外部のメモリ599内に保持されている。撮像装置120の姿勢RWCを得る為には、世界座標系における3次元位置が既知である指標を現実空間中に幾つか配置し、その幾つかの指標を撮像装置120によって撮像する。そして、指標の画像座標を検出し、指標の世界座標と画像座標との対応関係から世界座標系における撮像装置120の姿勢を算出すればよい。なお、撮像装置120の姿勢RWCとしては、重力軸(の逆方向を示す軸)に対するカメラ座標系の傾斜が得られていればよい。即ち、世界座標系における方位は任意の方向でよく、Y軸が重力軸の逆方向と一致していればよい。 The imaging device 120 is installed on a tripod 500. The orientation R WC of the imaging device 120 is measured in advance and is stored in the external memory 599 as data. In order to obtain the posture R WC of the imaging device 120, several indexes whose known three-dimensional positions in the world coordinate system are arranged in the real space, and some of the indexes are imaged by the imaging device 120. Then, the image coordinates of the index are detected, and the orientation of the imaging device 120 in the world coordinate system may be calculated from the correspondence between the world coordinates of the index and the image coordinates. Note that as the posture R WC of the imaging device 120, it is only necessary to obtain the inclination of the camera coordinate system with respect to the gravity axis (the axis indicating the opposite direction). That is, the direction in the world coordinate system may be an arbitrary direction, and the Y axis only needs to coincide with the opposite direction of the gravity axis.

姿勢取得部165は、外部のメモリ599内に保持されている撮像装置120の姿勢RWCのデータを読み出す。以下の処理では、第1の実施形態における姿勢センサ110の姿勢計測値RWSaτを、姿勢RWCに置き換えて考えればよい。また、第1の実施形態においては導出対象の一つであった姿勢センサ110の配置情報ωSCを既知の単位行列と考えればよい。 The attitude acquisition unit 165 reads data of the attitude R WC of the imaging device 120 held in the external memory 599. In the following processing, the posture measurement value R WSaτ of the posture sensor 110 in the first embodiment may be replaced with the posture R WC . In the first embodiment, the arrangement information ω SC of the posture sensor 110 that was one of the derivation targets may be considered as a known unit matrix.

そして以降の処理は、第1の実施形態の場合と同様である。第1の実施形態からの変更点として、状態ベクトルsやヤコビ行列Jiから、ωSCに関する成分を除外する。そして、この新たなsに対して、第1の実施形態の最適化計算と同様な処理を実行する。なお、ωSCが既知であるので、ステップS4020で設定される初期値の組み合わせは、φのみによって決定される。すなわち、φの初期値としてある角度を選択すると、(式1)によりωSOの初期値が一意に決定される。 The subsequent processing is the same as that in the first embodiment. As a change from the first embodiment, components related to ω SC are excluded from the state vector s and the Jacobian matrix J i . Then, a process similar to the optimization calculation of the first embodiment is executed for this new s. Since ω SC is known, the combination of initial values set in step S4020 is determined only by φ. That is, by selecting an angle with the initial value of phi, the initial value of omega SO is uniquely determined by equation (1).

なお、撮像装置120は、その姿勢RWCが何らかの手段によって計測可能であれば、必ずしも固定されている必要はない。例えば世界座標系の指標の観測によって計測し続けてもよい。また、磁気式センサや光学式センサなどのセンサを撮像装置120に装着することで、このセンサにより撮像装置120の位置姿勢を計測してもよい。 Note that the imaging device 120 is not necessarily fixed as long as the posture RWC can be measured by some means. For example, the measurement may be continued by observing an indicator in the world coordinate system. Further, by attaching a sensor such as a magnetic sensor or an optical sensor to the imaging device 120, the position and orientation of the imaging device 120 may be measured by this sensor.

<変形例1>
上記の実施形態では、夫々が一つの座標を表すような指標(以下、これを点指標と呼ぶ)を指標として用いていた。しかし、点指標以外の指標を用いることも可能である。例えば、エッジのような線特徴によって構成される指標(以下、これを線指標と呼ぶ)を用いてもよい。
<Modification 1>
In the above embodiment, an index that represents one coordinate (hereinafter referred to as a point index) is used as an index. However, an index other than the point index can be used. For example, an index composed of line features such as edges (hereinafter referred to as a line index) may be used.

線指標を用いる場合の処理の概要を以下に述べる。線特徴を用いる場合であっても、複数の時刻における指標の情報と夫々の姿勢計測値を入力として、指標の投影誤差を評価基準として状態ベクトルsを最適化するという枠組みは同じである。線指標を用いる場合、画像処理部135における現実物体125の位置と姿勢の推定は、例えば、非特許文献3に開示されている手法によって行う。   An outline of processing when using a line index is described below. Even when the line feature is used, the framework for optimizing the state vector s using the index information at a plurality of times and the respective posture measurement values as input and using the projection error of the index as an evaluation criterion is the same. When the line index is used, the position and orientation of the real object 125 in the image processing unit 135 are estimated by a method disclosed in Non-Patent Document 3, for example.

校正部160では先ず、状態ベクトルがsであるときに線指標上のいくつかの点(分割点と呼ぶ)が観察されるであろう画像座標の理論値を算出する。そして、その画像座標の近辺で実際に検出されるエッジ(実測値)までの法線方向の距離を、分割点の誤差と定義する。そして、全ての分割点に関する誤差によって誤差ベクトルUを構成する。一方、状態ベクトルsの関数として定義される上記の誤差の導出式をsの各要素で偏微分して、その解を各要素に持つ1行×(6+4T)列のヤコビ行列Φを構成する。   First, the calibration unit 160 calculates a theoretical value of image coordinates at which several points (referred to as division points) on the line index will be observed when the state vector is s. Then, the distance in the normal direction to the edge (actually measured value) actually detected in the vicinity of the image coordinates is defined as an error of the dividing point. Then, an error vector U is constituted by errors relating to all division points. On the other hand, the error derivation formula defined as a function of the state vector s is partially differentiated with respect to each element of s, and a 1 row × (6 + 4T) column Jacobian matrix Φ having the solution as each element is constructed.

そして、以上で得られる誤差ベクトルU及びヤコビ行列Φを用いて上記実施形態と同様な最適化計算を行うことで、配置情報の算出を行うことができる。もちろん、線指標と点指標、その他の指標から得られる誤差、及び画像ヤコビアンを積み重ねることによって、それらの特徴を併用することも可能である。   Then, the placement information can be calculated by performing the same optimization calculation as in the above embodiment using the error vector U and the Jacobian matrix Φ obtained above. Of course, it is also possible to combine these features by stacking line indexes, point indexes, errors obtained from other indexes, and image Jacobians.

<変形例2>
上記の実施形態では、校正部160における最適化計算において、時刻τにおける現実物体125の位置tCOτを未知としていた。しかし、画像処理の結果としてデータリストL中に保持されている各時刻τにおける現実物体125の位置の推定値t’COτをtCOτとおいて、最適化計算工程においてはtCOτを既知の値として扱ってもよい。この場合、上記の実施形態からの変更点として、状態ベクトルsやヤコビ行列Jiから、tCOτに関する成分を除外すればよい。例えば、第1の実施形態の場合であれば、状態ベクトルsを、s = [ωSC ωSO φ … φτ … φ]Tと定義する。そして、このsに対して上記の実施形態における最適化計算と同様な処理を実行する。
<Modification 2>
In the above embodiment, the position t COτ of the real object 125 at time τ is unknown in the optimization calculation in the calibration unit 160. However, the estimated value t ′ COτ of the real object 125 at each time τ held in the data list L as a result of image processing is set as t COτ, and t COτ is set as a known value in the optimization calculation step. May be handled. In this case, as a change from the above embodiment, a component related to t COτ may be excluded from the state vector s and the Jacobian matrix J i . For example, in the case of the first embodiment, the state vector s, is defined as s = [ω SC ω SO φ 1 ... φ τ ... φ T] T. Then, the same processing as the optimization calculation in the above embodiment is executed for this s.

また、上記の実施形態では、校正部160の最適化計算において、姿勢センサの相対方位誤差は時刻毎に異なるものと仮定していた。しかし、校正のためのデータを取得する短時間においては、相対方位誤差は一定と仮定してもよい。例えば、第1の実施形態の場合であれば、状態ベクトルsを、s = [ωSC ωSO φ tCO1 … tCOτ … tCOT]Tと定義できる。そして、このsに対して上記の実施形態の最適化計算と同様な処理を実行する。ここで、φは、時刻τに依存しない相対方位誤差の補正値を表している。 Further, in the above embodiment, in the optimization calculation of the calibration unit 160, it is assumed that the relative azimuth error of the posture sensor varies from time to time. However, the relative azimuth error may be assumed to be constant in a short time during which data for calibration is acquired. For example, in the case of the first embodiment, the state vector s can be defined as s = [ω SC ω SO φ t CO1 ... t COτ ... t COT ] T. Then, a process similar to the optimization calculation of the above embodiment is executed for this s. Here, φ represents a relative azimuth error correction value that does not depend on time τ.

もちろん、本変形例で述べた双方の仮定をおいて、s = [ωSC ωSO φ]Tを未知パラメータとした最適化計算を行うことも可能である。 Of course, it is also possible to perform an optimization calculation using s = [ω SC ω SO φ] T as an unknown parameter under both assumptions described in this modification.

<変形例3>
第1の実施形態では、姿勢センサ110の配置情報と姿勢センサ115の配置情報を同時に求めていた。しかし、何れか一方の姿勢センサが既に校正済みの場合には、校正済みの姿勢センサの配置情報は既知としてもよい。この場合、校正部160の処理(ステップS3060)のみを変更すればよい。
<Modification 3>
In the first embodiment, the arrangement information of the attitude sensor 110 and the arrangement information of the attitude sensor 115 are obtained simultaneously. However, when any one of the posture sensors has already been calibrated, the arrangement information of the calibrated posture sensor may be known. In this case, only the processing of the calibration unit 160 (step S3060) may be changed.

まず、姿勢センサ115が校正済みであり、姿勢センサ110のみが未校正である場合を考える。この場合、姿勢センサ115の配置情報ωSOは既知となるので、第1の実施形態からの変更点として、状態ベクトルsやヤコビ行列Jiから、ωSOに関する成分を除外すればよい。そして、このsに対して、第1の実施形態の最適化計算と同様な処理を実行する。なお、ωSOが既知の場合、ステップS4020におけるωSCの算出は、次式によって行えばよい。 First, consider a case where the attitude sensor 115 has been calibrated and only the attitude sensor 110 has not been calibrated. In this case, since the arrangement information ω SO of the attitude sensor 115 is known, a component related to ω SO may be excluded from the state vector s and the Jacobian matrix J i as a change from the first embodiment. Then, a process similar to the optimization calculation of the first embodiment is executed for this s. If ω SO is known, the calculation of ω SC in step S4020 may be performed according to the following equation.

Figure 2013101128
Figure 2013101128

このとき、φの初期値としてある角度を選択すると、(式24)によりωSCの初期値が一意に決定される。 At this time, when an angle is selected as the initial value of φ, the initial value of ω SC is uniquely determined by (Equation 24).

次に、姿勢センサ110が校正済みであり、姿勢センサ115のみが未校正である場合を考える。この場合、姿勢センサ110の配置情報ωSCは既知となるので、第2の実施形態と同様に、第1の実施形態の状態ベクトルsやヤコビ行列Jiから、ωSCに関する成分を除外すればよい。 Next, consider a case where the attitude sensor 110 has been calibrated and only the attitude sensor 115 has not been calibrated. In this case, since the arrangement information ω SC of the posture sensor 110 is known, if the component related to ω SC is excluded from the state vector s and the Jacobian matrix J i of the first embodiment, as in the second embodiment. Good.

<変形例4>
上記の実施形態において、姿勢センサ110、姿勢センサ115は3軸の姿勢を計測するセンサであった。しかし、これらの姿勢センサが重力軸に対する2軸の傾斜角のみを計測するセンサ(一般的に傾斜センサと呼ばれる)の場合であっても、同様の方法によって姿勢センサの配置情報を算出することはできる。この場合、最適化処理におけるパラメータφτは、相対方位誤差の補正値ではなく、撮像装置120と現実物体125との間の相対的な方位角の差を表すことになる。
<Modification 4>
In the above-described embodiment, the posture sensor 110 and the posture sensor 115 are sensors that measure a triaxial posture. However, even if these posture sensors are sensors that measure only two tilt angles with respect to the gravity axis (generally called tilt sensors), it is not possible to calculate posture sensor arrangement information by the same method. it can. In this case, the parameter phi tau in the optimization process, rather than a correction value of the relative azimuth error, would represent the difference between the relative azimuth angle between the imaging device 120 and physical object 125.

<変形例5>
上記の実施形態では、指標の検出及び同定を画像処理によって行っていた。しかし、現実物体125の形状や状況によっては、物体座標系上での位置が既知でかつ画像処理によって検出及び同定可能な指標を用意することが困難な場合がある。このような場合には、指標の情報を手入力で与えてもよい。すなわち、オペレータがモニタに表示された撮像画像上においてマウス等のポインティングデバイスを用いて指標の画像座標を入力し、さらに、指標の識別番号を入力するような構成としてもよい。これは、物体座標系上での位置が既知でかつ画像上において目視で位置を特定可能な点がある場合に有効である。
<Modification 5>
In the above embodiment, detection and identification of the index are performed by image processing. However, depending on the shape and situation of the real object 125, it may be difficult to prepare an index whose position on the object coordinate system is known and can be detected and identified by image processing. In such a case, index information may be manually input. In other words, the operator may input the index image coordinates using a pointing device such as a mouse on the captured image displayed on the monitor, and further input the index identification number. This is effective when the position on the object coordinate system is known and there is a point where the position can be visually identified on the image.

また、指標の検出のみが画像処理によって可能な場合には、同定処理のみをオペレータが手入力で行ってもよい。また、画像処理によって検出及び/または同定された指標の誤りを手入力によって修正できるようにしてもよい。また、画像処理によって検出及び/または同定する指標と、手入力によって検出及び/または同定する指標とを組み合わせて用いてもよい。   Further, when only the detection of the index is possible by image processing, only the identification processing may be performed manually by the operator. In addition, an error in an index detected and / or identified by image processing may be corrected by manual input. Moreover, you may use combining the parameter | index detected and / or identified by image processing, and the parameter | index detected and / or identified by manual input.

[第3の実施形態]
図1,5に示したセンサ校正装置100、500を構成する各部は全てハードウェアでもって構成されているものとして説明した。しかし、データを保持するための構成を除くその他の各部のうち一部若しくは全部をソフトウェア(コンピュータプログラム)でもって構成しても良い。この場合、係るソフトウェアは、PC(パーソナルコンピュータ)等のコンピュータが有するメモリ上にロードされ、このコンピュータが有するCPUが係るソフトウェアを実行することになる。これにより、係るコンピュータは、図1,5に示したセンサ校正装置100、500と同様の処理を行うことができる。
[Third Embodiment]
The description has been given assuming that all the parts constituting the sensor calibration apparatuses 100 and 500 shown in FIGS. 1 and 5 are configured by hardware. However, some or all of the other units except for the configuration for holding data may be configured by software (computer program). In this case, the software is loaded onto a memory of a computer such as a PC (personal computer), and the CPU of the computer executes the software. Thereby, the computer can perform the same processing as the sensor calibration devices 100 and 500 shown in FIGS.

図2は、センサ校正装置100、500に適用可能なコンピュータのハードウェア構成を示すブロック図である。   FIG. 2 is a block diagram showing a hardware configuration of a computer applicable to the sensor calibration apparatuses 100 and 500.

CPU1001は、RAM1002やROM1003に格納されているプログラムやデータを用いてコンピュータ全体の制御を行うと共に、本コンピュータを適用するセンサ校正装置100、500が行う上述の各処理を実行する。   The CPU 1001 controls the entire computer using programs and data stored in the RAM 1002 and the ROM 1003, and executes the above-described processes performed by the sensor calibration apparatuses 100 and 500 to which the present computer is applied.

RAM1002は、外部記憶装置1007や記憶媒体ドライブ1008からロードされたプログラムやデータ、I/F(インターフェース)1009を介して外部から受信したプログラムやデータ、を一時的に記憶するためのエリアを有する。また、RAM1002は、CPU1001が各種の処理を実行する際に用いるワークエリアも有する。即ち、RAM1002は、各種のエリアを適宜提供することができる。   The RAM 1002 has an area for temporarily storing programs and data loaded from the external storage device 1007 and the storage medium drive 1008 and programs and data received from the outside via the I / F (interface) 1009. The RAM 1002 also has a work area used when the CPU 1001 executes various processes. That is, the RAM 1002 can provide various areas as appropriate.

ROM1003は、本コンピュータの設定データや、ブートプログラムなどを格納する。   The ROM 1003 stores setting data and a boot program for the computer.

キーボード1004,マウス1005は、本コンピュータの操作者がCPU1001に対して各種の指示を入力するための入力デバイスとしての一例であり、その他の入力デバイスを用いても良い。例えば、上記指示部150に対して入力するコマンドは、キーボード1004やマウス1005を用いて行う。   The keyboard 1004 and the mouse 1005 are examples of input devices for an operator of the computer to input various instructions to the CPU 1001, and other input devices may be used. For example, a command input to the instruction unit 150 is performed using the keyboard 1004 and the mouse 1005.

表示部1006は、上記表示部190に相当するものであり、CRTや液晶画面などにより構成されている。表示部1006は、CPU1001による処理結果を画像や文字などでもって表示することができる。例えば上述のように、撮像画像と仮想物体の画像とが合成された画像を表示することができる。   The display unit 1006 corresponds to the display unit 190 and includes a CRT, a liquid crystal screen, or the like. The display unit 1006 can display the result of processing by the CPU 1001 using images, characters, and the like. For example, as described above, an image in which a captured image and a virtual object image are combined can be displayed.

外部記憶装置1007は、ハードディスクドライブ装置に代表される大容量情報記憶装置である。外部記憶装置1007内には、OS(オペレーティングシステム)や、センサ校正装置100、500が行う上述の各処理をCPU1001に実行させるためのプログラムやデータが保存されている。また、外部記憶装置1007には、以上の説明において、既知の情報として説明したものについても保存されている。   The external storage device 1007 is a large-capacity information storage device represented by a hard disk drive device. The external storage device 1007 stores an OS (operating system) and programs and data for causing the CPU 1001 to execute the above-described processes performed by the sensor calibration devices 100 and 500. The external storage device 1007 also stores information described as known information in the above description.

外部記憶装置1007に保存されているプログラムやデータは、CPU1001による制御に従って適宜RAM1002にロードされる。そしてCPU1001はこのロードされたプログラムやデータを用いて処理を実行することで、本コンピュータは、センサ校正装置100、500が行う上述の各処理を実行することになる。   Programs and data stored in the external storage device 1007 are appropriately loaded into the RAM 1002 under the control of the CPU 1001. The CPU 1001 executes processes using the loaded program and data, so that the computer executes the above-described processes performed by the sensor calibration apparatuses 100 and 500.

記憶媒体ドライブ1008は、CD−ROMやDVD−ROMなどの記憶媒体に記録されているプログラムやデータを読み出し、読み出したプログラムやデータをRAM1002や外部記憶装置1007に送出するものである。係る記憶媒体には、外部記憶装置1007に保存されているものとして説明した情報のうち一部を記録しておくようにしても良い。また、係る記憶媒体は、上記外部のメモリ599として機能するようにしても良い。   The storage medium drive 1008 reads programs and data recorded on a storage medium such as a CD-ROM or DVD-ROM, and sends the read programs or data to the RAM 1002 or the external storage device 1007. A part of the information described as being stored in the external storage device 1007 may be recorded in the storage medium. The storage medium may function as the external memory 599.

I/F1009には、上記姿勢センサ110、115、撮像装置120が接続されている。I/F1009は、以下の複数種のポートによって構成されている。撮像画像を取得するという画像取得部130の機能の一部は、アナログビデオポートあるいはIEEE1394等のデジタル入出力ポートによって実現される。また、姿勢計測値を取得するという姿勢計測値取得部145の機能の一部は、USBポートやRS−232Cポートによって実現される。入力データは、I/F1009を介してRAM1002や外部記憶装置1007に取り込まれる。また、校正部160が算出した夫々の姿勢センサの配置情報や、位置姿勢算出部170が算出した物体の位置及び姿勢は、必要に応じて、イーサネット(登録商標)ポート等(I/F1009の機能の一部)によって外部へ出力される。   The attitude sensors 110 and 115 and the imaging device 120 are connected to the I / F 1009. The I / F 1009 includes the following multiple types of ports. A part of the function of the image acquisition unit 130 for acquiring a captured image is realized by an analog video port or a digital input / output port such as IEEE1394. In addition, a part of the function of the posture measurement value acquisition unit 145 that acquires the posture measurement value is realized by a USB port or an RS-232C port. Input data is taken into the RAM 1002 or the external storage device 1007 via the I / F 1009. Further, the arrangement information of each posture sensor calculated by the calibration unit 160 and the position and posture of the object calculated by the position / orientation calculation unit 170 may be an Ethernet (registered trademark) port or the like (function of the I / F 1009) as necessary. Is output to the outside.

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

なお、センサ校正装置100、500に適用可能なコンピュータのハードウェア構成については図2に示した構成に限定するものではなく、当業者であれば適宜変形しうるものである。   Note that the hardware configuration of the computer applicable to the sensor calibration apparatuses 100 and 500 is not limited to the configuration shown in FIG. 2 and can be modified as appropriate by those skilled in the art.

[その他の実施形態]
また、本発明の目的は、以下のようにすることによって達成されることはいうまでもない。即ち、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体(または記憶媒体)を、システムあるいは装置に供給する。係る記憶媒体は言うまでもなく、コンピュータ読み取り可能な記憶媒体である。そして、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムコードを読み出し実行する。この場合、記録媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記録した記録媒体は本発明を構成することになる。
[Other Embodiments]
Needless to say, the object of the present invention can be achieved as follows. That is, a recording medium (or storage medium) in which a program code of software that realizes the functions of the above-described embodiments is recorded is supplied to the system or apparatus. Needless to say, such a storage medium is a computer-readable storage medium. Then, the computer (or CPU or MPU) of the system or apparatus reads and executes the program code stored in the recording medium. In this case, the program code itself read from the recording medium realizes the functions of the above-described embodiment, and the recording medium on which the program code is recorded constitutes the present invention.

また、コンピュータが読み出したプログラムコードを実行することにより、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行う。その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。   Further, by executing the program code read by the computer, an operating system (OS) or the like running on the computer performs part or all of the actual processing based on the instruction of the program code. Needless to say, the process includes the case where the functions of the above-described embodiments are realized.

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

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

即ち、複数の時点において、撮像装置に装着された撮像装置用姿勢センサによる姿勢計測値と、当該撮像装置により撮像される現実物体に装着された現実物体用姿勢センサによる姿勢計測値と、を取得する姿勢計測値の取得手段と、
前記複数の時点で、前記撮像装置が前記現実物体を撮像することで得られる画像を取得する画像の取得手段と、
前記現実物体上に配置され且つ該現実物体上の位置を表す物体座標が既知である複数の指標の、前記複数の時点で撮像されたそれぞれの画像上における画像座標を取得する画像座標の取得手段と、
前記複数の指標についての前記物体座標と前記複数の時点のそれぞれにおける前記画像座標とに基づいて、当該複数の時点のそれぞれにおける前記撮像装置に対する前記現実物体の位置姿勢の推定値を算出する位置姿勢算出手段と、
前記撮像装置に対する前記撮像装置用姿勢センサの配置情報と、前記現実物体に対する前記現実物体用姿勢センサの配置情報と、前記複数の時点のそれぞれにおける前記現実物体の位置の推定値とを、前記物体座標と、当該複数の時点における、前記撮像装置用姿勢センサによる姿勢計測値、前記現実物体用姿勢センサによる姿勢計測値、前記画像座標前記撮像装置に対する前記現実物体の位置姿勢の推定値とを用いて求める配置情報算出手段と
を備えることを特徴とする。
That is, at a plurality of time points, the posture measurement value obtained by the posture sensor for the imaging device attached to the imaging device and the posture measurement value obtained by the posture sensor for the real object attached to the real object imaged by the imaging device are acquired. Means for acquiring posture measurement values to be performed;
An image acquisition means for acquiring an image obtained by the imaging device imaging the real object at the plurality of time points ;
Image coordinate acquisition means for acquiring image coordinates on a plurality of images captured at the plurality of time points of a plurality of indices arranged on the real object and having known object coordinates representing positions on the real object When,
A position and orientation that calculates an estimated value of the position and orientation of the real object with respect to the imaging device at each of the plurality of time points based on the object coordinates for the plurality of indices and the image coordinates at each of the plurality of time points. A calculation means;
And layout information of the imaging device for the orientation sensor for the image capturing apparatus, and allocation information of the physical object for orientation sensor for the physical object, and the estimated value of the position of the physical object in each of said plurality of time points, the object the coordinates, in the plurality of time points, and the orientation measurement value measured by the orientation sensor for the image capturing apparatus, the orientation measurement value by the physical object for orientation sensor, and the image coordinates, the estimation of the position and orientation of the physical object relative to the imaging device And arrangement information calculation means for obtaining using the value .

Claims (9)

撮像装置に装着された撮像装置用姿勢センサによる姿勢計測値と、当該撮像装置により撮像される現実物体に装着された現実物体用姿勢センサによる姿勢計測値と、を取得する姿勢計測値の取得手段と、
前記撮像装置が前記現実物体を撮像することで得られる画像を取得する画像の取得手段と、
前記現実物体上に配置された指標の前記画像上における画像座標を取得する画像座標の取得手段と、
前記撮像装置に対する前記撮像装置用姿勢センサの配置情報と、前記現実物体に対する前記現実物体用姿勢センサの配置情報、のうち少なくとも一方を、前記撮像装置用姿勢センサによる姿勢計測値、前記現実物体用姿勢センサによる姿勢計測値、前記画像座標、を用いて求める算出手段と
を備えることを特徴とする情報処理装置。
Posture measurement value acquisition means for acquiring a posture measurement value by a posture sensor for an imaging device attached to an imaging device and a posture measurement value by a posture sensor for a real object attached to a real object imaged by the imaging device When,
Image acquisition means for acquiring an image obtained by the imaging device imaging the real object;
Image coordinate acquisition means for acquiring image coordinates on the image of an index placed on the real object;
At least one of the arrangement information of the posture sensor for the imaging device with respect to the imaging device and the arrangement information of the posture sensor for the real object with respect to the real object is a posture measurement value by the posture sensor for the imaging device, for the real object An information processing apparatus comprising: a calculation unit that uses a posture measurement value obtained by a posture sensor and the image coordinates.
前記姿勢計測値の取得手段は、前記撮像装置と前記現実物体とが異なる姿勢をとる毎に、前記撮像装置用姿勢センサによる姿勢計測値、前記現実物体用姿勢センサによる姿勢計測値を取得し、
前記画像の取得手段は、前記撮像装置前記現実物体が異なる姿勢をとる毎に、前記撮像装置が撮像した画像を取得し、
前記画像座標の取得手段は、前記画像の取得手段が取得したそれぞれの画像から前記指標の画像座標を取得し、
前記算出手段は、前記撮像装置と前記現実物体とが異なる姿勢をとる毎に取得された、前記撮像装置用姿勢センサによる姿勢計測値、前記現実物体用姿勢センサによる姿勢計測値、前記撮像装置が撮像した画像から取得された指標の画像座標、を用いて、前記撮像装置に対する前記撮像装置用姿勢センサの配置情報、前記現実物体に対する前記現実物体用姿勢センサの配置情報のうち少なくとも一方を算出する
ことを特徴とする請求項1に記載の情報処理装置。
The posture measurement value acquisition means acquires a posture measurement value obtained by the posture sensor for the imaging device and a posture measurement value obtained by the posture sensor for the real object each time the imaging device and the real object take different postures,
The acquisition means of the image, the image pickup device, the physical object, each taking a different posture, acquires an image in which the imaging device imaged,
The image coordinate acquisition means acquires the image coordinates of the index from each image acquired by the image acquisition means,
The calculation means includes an orientation measurement value obtained by the orientation sensor for the imaging device, an orientation measurement value obtained by the orientation sensor for the real object, acquired every time the imaging device and the real object have different orientations, and the imaging device Using the image coordinates of the index acquired from the captured image, at least one of the placement information of the orientation sensor for the imaging device with respect to the imaging device and the placement information of the orientation sensor for the real object with respect to the real object is calculated. The information processing apparatus according to claim 1.
前記算出手段は、
前記撮像装置に対する前記撮像装置用姿勢センサの配置情報、前記現実物体に対する前記現実物体用姿勢センサの配置情報、のうち算出対象を未知パラメータとし、当該未知パラメータに基づいて決まる画像上の指標の座標と、当該指標について前記画像座標の取得手段が取得した画像座標と、の誤差を小さくするように前記未知パラメータを求めることを特徴とする請求項2に記載の情報処理装置。
The calculating means includes
The coordinates of the index on the image determined on the basis of the unknown parameter with the calculation target of the arrangement information of the posture sensor for the imaging device with respect to the imaging device and the arrangement information of the posture sensor for the real object with respect to the real object The information processing apparatus according to claim 2, wherein the unknown parameter is obtained so as to reduce an error between the index and the image coordinate acquired by the image coordinate acquisition unit for the index.
撮像装置を有していない現実物体に装着された姿勢センサによる姿勢計測値を取得する姿勢計測値の取得手段と、
撮像装置が前記現実物体を撮像することで得られる画像を取得する画像の取得手段と、
前記現実物体上に配置された指標の前記画像上における画像座標を取得する画像座標の取得手段と、
前記現実物体に対する前記姿勢センサの配置情報を、既知の情報として与えられる前記撮像装置の姿勢、前記姿勢センサによる姿勢計測値、前記画像座標、を用いて求める算出手段と
を備えることを特徴とする情報処理装置。
Attitude measurement value acquisition means for acquiring an attitude measurement value by an attitude sensor attached to a real object that does not have an imaging device;
An image acquisition means for acquiring an image obtained by an imaging device imaging the real object;
Image coordinate acquisition means for acquiring image coordinates on the image of an index placed on the real object;
Calculating means for obtaining the position information of the posture sensor with respect to the real object using the posture of the imaging device given as known information, the posture measurement value by the posture sensor, and the image coordinates. Information processing device.
前記算出手段が算出した配置情報に基づいて、仮想物体の画像を生成する手段と、
前記撮像装置により撮像された画像上に、前記仮想物体の画像を重畳した重畳画像を生成する手段と、
前記重畳画像を表示する手段と
を備えることを特徴とする請求項1乃至4の何れか1項に記載の情報処理装置。
Means for generating an image of the virtual object based on the arrangement information calculated by the calculating means;
Means for generating a superimposed image in which the image of the virtual object is superimposed on the image captured by the imaging device;
The information processing apparatus according to claim 1, further comprising: means for displaying the superimposed image.
情報処理装置が行う情報処理方法であって、
前記情報処理装置が有する姿勢計測値の取得手段が、撮像装置に装着された撮像装置用姿勢センサによる姿勢計測値と、当該撮像装置により撮像される現実物体に装着された現実物体用姿勢センサによる姿勢計測値と、を取得する姿勢計測値の取得工程と、
前記情報処理装置が有する画像の取得手段が、前記撮像装置が前記現実物体を撮像することで得られる画像を取得する画像の取得工程と、
前記情報処理装置が有する画像座標の取得手段が、前記現実物体上に配置された指標の前記画像上における画像座標を取得する画像座標の取得工程と、
前記情報処理装置が有する算出手段が、前記撮像装置に対する前記撮像装置用姿勢センサの配置情報と、前記現実物体に対する前記現実物体用姿勢センサの配置情報、のうち少なくとも一方を、前記撮像装置用姿勢センサによる姿勢計測値、前記現実物体用姿勢センサによる姿勢計測値、前記画像座標、を用いて求める算出工程と
を備えることを特徴とする情報処理方法。
An information processing method performed by an information processing apparatus,
The posture measurement value acquisition means of the information processing device is based on a posture measurement value obtained by a posture sensor for an imaging device attached to an imaging device and a posture sensor for a real object attached to a real object imaged by the imaging device. A posture measurement value acquisition step for acquiring posture measurement values;
An image acquisition step in which the image acquisition unit included in the information processing apparatus acquires an image obtained by the imaging apparatus imaging the real object;
An image coordinate acquisition unit in which the image coordinate acquisition unit of the information processing apparatus acquires image coordinates on the image of an index placed on the real object;
The calculation unit included in the information processing apparatus uses at least one of the arrangement information of the posture sensor for the imaging device with respect to the imaging device and the arrangement information of the posture sensor for the real object with respect to the real object as the posture for the imaging device. An information processing method comprising: a calculation step that uses a posture measurement value by a sensor, a posture measurement value by the physical object posture sensor, and the image coordinates.
情報処理装置が行う情報処理方法であって、
前記情報処理装置が有する姿勢計測値の取得手段が、撮像装置を有していない現実物体に装着された姿勢センサによる姿勢計測値を取得する姿勢計測値の取得工程と、
前記情報処理装置が有する画像の取得手段が、前記撮像装置が前記現実物体を撮像することで得られる画像を取得する画像の取得工程と、
前記情報処理装置が有する画像座標の取得手段が、現実物体上に配置された指標の前記画像上における画像座標を取得する画像座標の取得工程と、
前記情報処理装置が有する算出手段が、前記現実物体に対する前記姿勢センサの配置情報を、既知の情報として与えられる前記撮像装置の姿勢、前記姿勢センサによる姿勢計測値、前記画像座標、を用いて求める算出工程と
を備えることを特徴とする情報処理方法。
An information processing method performed by an information processing apparatus,
A posture measurement value acquisition step in which the posture measurement value acquisition means of the information processing apparatus acquires a posture measurement value by a posture sensor attached to a real object that does not have an imaging device;
An image acquisition step in which the image acquisition unit included in the information processing apparatus acquires an image obtained by the imaging apparatus imaging the real object;
An image coordinate acquisition unit that the image coordinate acquisition means of the information processing apparatus acquires the image coordinates on the image of an index placed on a real object;
The calculation unit included in the information processing apparatus obtains the position information of the posture sensor with respect to the real object using the posture of the imaging device given as known information, the posture measurement value by the posture sensor, and the image coordinates. An information processing method comprising: a calculation step.
コンピュータを、請求項1乃至5の何れか1項に記載の情報処理装置が有する各手段として機能させるためのコンピュータプログラム。 The computer program for functioning a computer as each means which the information processing apparatus of any one of Claims 1 thru | or 5 has . 請求項8に記載のコンピュータプログラムを格納した、コンピュータ読み取り可能な記憶媒体。   A computer-readable storage medium storing the computer program according to claim 8.
JP2012280059A 2012-12-21 2012-12-21 Information processing apparatus and information processing method Expired - Fee Related JP5620972B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012280059A JP5620972B2 (en) 2012-12-21 2012-12-21 Information processing apparatus and information processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012280059A JP5620972B2 (en) 2012-12-21 2012-12-21 Information processing apparatus and information processing method

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2007105249A Division JP2008261755A (en) 2007-04-12 2007-04-12 Information processing apparatus and information processing method

Publications (2)

Publication Number Publication Date
JP2013101128A true JP2013101128A (en) 2013-05-23
JP5620972B2 JP5620972B2 (en) 2014-11-05

Family

ID=48621837

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012280059A Expired - Fee Related JP5620972B2 (en) 2012-12-21 2012-12-21 Information processing apparatus and information processing method

Country Status (1)

Country Link
JP (1) JP5620972B2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9524553B2 (en) 2014-03-31 2016-12-20 Fujitsu Limited Image processing apparatus, image processing method, and recording medium
KR20200061308A (en) * 2018-11-23 2020-06-02 주식회사 엔텍로직 Method and apparatus of inspecting calibration for gimbal camera and directional controller
CN111220179A (en) * 2020-02-21 2020-06-02 上海航天控制技术研究所 Inertial reference space-time accurate alignment method of optical navigation sensor

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005107965A (en) * 2003-09-30 2005-04-21 Canon Inc Index identification method and device
JP2006153848A (en) * 2004-11-04 2006-06-15 Canon Inc Method and apparatus for processing information
JP2007033257A (en) * 2005-07-27 2007-02-08 Canon Inc Information processing method and device

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005107965A (en) * 2003-09-30 2005-04-21 Canon Inc Index identification method and device
JP2006153848A (en) * 2004-11-04 2006-06-15 Canon Inc Method and apparatus for processing information
JP2007033257A (en) * 2005-07-27 2007-02-08 Canon Inc Information processing method and device

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9524553B2 (en) 2014-03-31 2016-12-20 Fujitsu Limited Image processing apparatus, image processing method, and recording medium
KR20200061308A (en) * 2018-11-23 2020-06-02 주식회사 엔텍로직 Method and apparatus of inspecting calibration for gimbal camera and directional controller
KR102360306B1 (en) * 2018-11-23 2022-02-10 주식회사 엔텍로직 Method and apparatus of inspecting calibration for gimbal camera and directional controller
CN111220179A (en) * 2020-02-21 2020-06-02 上海航天控制技术研究所 Inertial reference space-time accurate alignment method of optical navigation sensor
CN111220179B (en) * 2020-02-21 2021-07-13 上海航天控制技术研究所 Inertial reference space-time accurate alignment method of optical navigation sensor

Also Published As

Publication number Publication date
JP5620972B2 (en) 2014-11-05

Similar Documents

Publication Publication Date Title
KR100934564B1 (en) Information processing device and information processing method
JP5230114B2 (en) Information processing apparatus and information processing method
JP5036260B2 (en) Position and orientation calculation method and apparatus
JP4785416B2 (en) Position and orientation measurement method and apparatus
JP4914039B2 (en) Information processing method and apparatus
JP4976756B2 (en) Information processing method and apparatus
JP4593968B2 (en) Position and orientation measurement method and apparatus
EP1852821A1 (en) Position posture measuring method and device
JP4956456B2 (en) Image processing apparatus and image processing method
JP2004233334A (en) Method for measuring position and orientation
JP5728372B2 (en) Information processing apparatus, information processing apparatus control method, and program
JP4726191B2 (en) Position / orientation correction apparatus, position / orientation correction method, program thereof, and storage medium
JP4566786B2 (en) Position and orientation measurement method and information processing apparatus
JP5620972B2 (en) Information processing apparatus and information processing method
JP5726024B2 (en) Information processing method and apparatus
JP6109213B2 (en) Information processing apparatus and method, program
JP4612804B2 (en) Position and orientation measurement method and information processing apparatus
JP2009168626A (en) Position attitude measurement device and method
JP4810403B2 (en) Information processing apparatus and information processing method
JP2016065830A (en) Image processor and image processing method

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131216

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140107

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140310

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: 20140822

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140919

R151 Written notification of patent or utility model registration

Ref document number: 5620972

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees