JP2013101128A - Information processing apparatus, and information processing method - Google Patents
Information processing apparatus, and information processing method Download PDFInfo
- 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
Links
Images
Landscapes
- Length Measuring Devices By Optical Means (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
Abstract
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.
特許文献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.
以下、添付図面を参照し、本発明の好適な実施形態について詳細に説明する。 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
センサ校正装置100は、画像取得部130、画像処理部135、3次元座標保持部140、姿勢計測値取得部145、指示部150、データ管理部155、校正部160、位置姿勢算出部170、画像生成部180、表示部190によって構成されている。
The
姿勢センサ110は撮像装置120に装着されており、撮像装置120は姿勢センサ110にとっての姿勢計測対象物である。また、姿勢センサ115は現実物体125に装着されており、現実物体125は姿勢センサ115にとっての姿勢計測対象物である。本実施形態に係るセンサ校正装置100の目的は、撮像装置120に対する姿勢センサ110の配置情報と、現実物体125に対する姿勢センサ115の配置情報とを求めることである。
The
夫々の姿勢センサ110,115は、センサ座標系における自身の姿勢を計測する。姿勢センサは、例えばジャイロセンサと加速度センサをベースとしたセンサユニットである。具体的には、株式会社トキメックのTISS-5-40や、米国InterSense社のInertiaCube3等によって構成される。これらのセンサによって計測される姿勢計測値は、慣性計測値を時間積分した値として算出されるため、蓄積誤差を含んでいる。ただし、これらの姿勢センサは、内蔵する加速度センサによって地球の重力方向を観測することによって、傾斜角方向(ピッチ角及びロール角)の誤差の蓄積をキャンセルする機能を有している。そのため、傾斜角方向に関しては蓄積誤差が発生しないという性質を有している。言い換えれば、方位角方向(ヨー角方向)に関しては、時間の経過に伴って蓄積される誤差(方位誤差)を有している。また、姿勢センサのセンサ座標系は重力軸を基準として設定されるため、複数の姿勢センサのセンサ座標系は、重力軸まわりの1自由度である方位成分を残して共通に定義される。
Each
以下では、姿勢センサ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
姿勢計測値取得部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
なお、撮像装置120の位置と姿勢は、撮像装置120上に設定したカメラ座標系の位置と姿勢によって定義される。カメラ座標系とは、撮像装置120の撮像系の投影中心を原点とし、光軸方向を−Z軸とおいた座標系であり、X軸とY軸は、Z軸に直交する互いに独立な軸として定義される。また、現実物体125の位置と姿勢は、現実物体125上に設定した物体座標系の位置と姿勢によって定義される。物体座標系とは、現実物体125内の1点を原点として定義し、互いに直交する3軸を夫々X軸、Y軸、Z軸として定義した座標系である。
Note that the position and orientation of the
撮像装置120は、現実物体125を含む現実空間の動画像を撮像するものであり、撮像した各フレームの画像(撮像画像)は、画像取得部130にデータとして入力される。画像取得部130は、撮像装置120から撮像画像のデータを受けると、これを必要に応じて記憶した後、画像処理部135、画像生成部180に出力する。
The
ここで、現実物体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
指標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
画像処理部135は、画像取得部130から撮像画像を受けると、係る撮像画像中に含まれている指標を検出し、その画像座標を求める。更に、画像処理部135は、検出した指標を同定し、係る指標の識別番号を特定する。
When the
ここで、指標の検出は、使用する指標の種類に応じた方法で行われる。例えば、指標の夫々が異なる色を有するカラーマーカによって構成されている場合には、撮像画像上から各々のマーカ色に対応する領域を検出する。そして、その重心位置を指標の検出座標とする。また、指標の夫々が異なるテクスチャ特徴を有する特徴点によって構成されている場合には、テンプレート画像によるテンプレートマッチングによって指標の位置を検出する。この場合、各々の指標のテンプレート画像は、既知の情報として予め保持しておく。また、四角形マーカを用いる場合は、撮像画像に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
そして画像処理部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
ここで、記号τは、画像取得部130が撮像装置120から撮像画像を取得した時刻(タイミング)を表す識別子である。従って、Mτは、画像取得部130が識別子τが表す時刻(以下、単に時刻τ)に取得した撮像画像から得られた指標情報であることを示している。なお、係る時刻τについては、不図示のタイマでもって計時しており、センサ校正装置100を構成する各部は適宜、係るタイマが計時する時刻を取得できるものとする。もちろん、時刻以外にも、「タイミング」を表すことのできるものであれば、如何なるものを用いても良い。
Here, the symbol τ is an identifier representing the time (timing) when the
また、記号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
画像処理部135は更に上記指標情報Mτを用いて、撮像装置120に対する現実物体125の位置の推定値t’COτと姿勢の推定値R’COτを算出する。ここで、t’COτは位置を表す3次元のベクトルを表している。また、R’COτは姿勢を表す3×3の行列を表している。
The
現実物体上の複数の点の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
画像処理部135は、データ管理部155から要求を受けると、指標情報Mτ、現実物体125の位置の推定値t’COτ、姿勢の推定値R’COτを、データ管理部155に出力する。
When receiving a request from the
指示部150は、オペレータにより「データ取得」コマンドが入力されたときには、「データ取得」の指示をデータ管理部155に送信する。また、「配置情報算出」コマンドが入力されたときには、「配置情報算出」の指示を校正部160に送信する。指示部150へのコマンド入力は、例えばキーボードを用いて、特定のコマンドを割り当てたキーを押すことによって行う。また、コマンドの入力は、ディスプレイ上に表示されたGUIで行う等、何れの方法で行ってもよい。
The
データ管理部155は、指示部150から「データ取得」の指示を受けると、係る指示を受けた時刻に最も近い時刻(時刻τ)に画像取得部130が取得した撮像画像に基づいて画像処理部135が取得した情報群を取得する。即ち、指標情報Mτ、現実物体125の位置の推定値t’COτ、姿勢の推定値R’COτを画像処理部135から取得する。また、データ管理部155は、指示部150から「データ取得」の指示を受けると、時刻τに上記姿勢センサ110,115による姿勢計測値のデータを取得する。
When the
そして、データ管理部155は、このようにして取得した各情報をセットにして、自身が管理するデータリストに追加登録する。
Then, the
・ 時刻τに姿勢計測値取得部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
The posture measurement value R WSbτ of the
The estimated value t ′ COτ of the position of the
Index information Mτ obtained based on the captured image acquired by the
・ 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
校正部160は、指示部150から「配置情報算出」の指示を受けると、データ管理部155に対して上記データリストの取得要求を行う。そしてデータ管理部155がこの取得要求に応じて送出したデータリストを取得する。そして校正部160は、この取得したデータリストを用いて、後述する各数値演算処理を行うことで、姿勢センサ110の配置情報(即ち、Local Transform)、姿勢センサ115の配置情報を求める。そして求めたそれぞれの配置情報は、データとして姿勢計測値取得部145に送出され、そこで保持されると共に、必要に応じて外部へと出力される。
When the
以上が、撮像装置120上に配置された姿勢センサ110と、現実物体125上に配置された姿勢センサ115の校正を同時に実行する為の構成である。次に説明する構成は、係る構成によって得られた結果を確認するための、複合現実感の提示を行う為の部分である。
The above is a configuration for simultaneously executing the calibration of the
位置姿勢算出部170は、非特許文献1に開示されている手法によって、撮像装置120に対する現実物体125の位置と姿勢を算出する。
The position /
即ち、画像処理部135は上述の通り、撮像装置120から1フレーム分の撮像画像が入力される毎に、この撮像画像に基づいて指標情報Mτを取得し、取得した指標情報Mτを位置姿勢算出部170に送出する。従って、位置姿勢算出部170はこの指標情報Mτを受ける。
That is, as described above, the
また、位置姿勢算出部170は、時刻τに最も近い時刻(ほぼ時刻τと見なしても良い)における撮像装置120の姿勢、現実物体125の姿勢として姿勢計測値取得部145が求めたものを取得する。
In addition, the position /
ここで、「時刻τに最も近い時刻における撮像装置120の姿勢」とは、次のようにして求まるものである。即ち、時刻τに最も近い時刻に姿勢計測値取得部145が取得した姿勢センサ110の姿勢計測値を、姿勢計測値取得部145がこの時点で保持している姿勢センサ110の配置情報を用いて上述の通り求めたものである。また、「時刻τに最も近い時刻における現実物体125の姿勢」とは、次のようにして求まるものである。即ち、時刻τに最も近い時刻に姿勢計測値取得部145が取得した姿勢センサ115の姿勢計測値を、姿勢計測値取得部145がこの時点で保持している姿勢センサ115の配置情報を用いて上述の通り求めたものである。
Here, “the posture of the
そして位置姿勢算出部170は、指標情報Mτ、撮像装置120の姿勢、現実物体125の姿勢、を用いて、非特許文献1に開示されている技術を用いて、撮像装置120に対する現実物体125の位置と姿勢を算出する。この算出は、与えられたLocal Transformが正しいという仮定に基づいて行われるので、得られた位置と姿勢は、Local Transformの正確さを反映したものとなる。
Then, the position /
画像生成部180は、撮像画像を画像取得部130から取得する。また、撮像装置120に対する現実物体125の位置と姿勢を位置姿勢算出部170から取得し、取得した位置と姿勢に基づいて描画した仮想物体の画像を撮像画像上に重畳することで、複合現実感を提示する画像(重畳画像)を生成する。そして画像生成部180は、生成した画像を、表示部190に出力する。
The
表示部190は、複合現実感を提示する画像を画像生成部180から取得し、これを表示することでオペレータに複合現実感を提示する。オペレータは係る画像を目視し、提示された複合現実感における現実空間と仮想空間との間の、位置合わせの正確さをもって、校正結果の正確さを判断することができる。なお、表示部190は、撮像装置120と一体化した構成になっていても良い。その場合の、撮像装置120および表示部190は、いわゆる頭部装着型ディスプレイ(Head Mounted Display)を構成するものとなりうる。
The
次に、センサ校正装置100が行うメインの処理について、同処理のフローチャートを示す図3を用いて、以下説明する。なお、図3のフローチャートに従った処理を行う際には、オペレータは、撮像装置120と現実物体125の夫々の姿勢を様々に変化させながら、「データ取得」コマンドを数回入力する。そしてその後に、「配置情報算出」コマンドを入力するという操作を行う。以下では、「データ取得」コマンドが入力された時刻として記号τを用いる。そして、時刻τが異なるときには、撮像装置120及び現実物体125の夫々の姿勢は異なっているものとする。
Next, main processing performed by the
ステップS3010において、指示部150は、「データ取得」コマンドがオペレータから入力されたか否かの判定を行う。指示部150は、「データ取得」コマンドが入力されている場合には、「データ取得」の指示をデータ管理部155に送信し、ステップS3020へと処理を移行させる。一方、「データ取得」コマンドが入力されていない場合には、ステップS3050へと処理を移行させる。
In step S3010, the
ステップS3020において、データ管理部155は、時刻τに画像取得部130が取得した撮像画像に基づいて画像処理部135が取得した画像処理結果を画像処理部135から取得する。即ち、係る画像処理結果とは上述の通り、指標情報Mτ、現実物体125の位置の推定値t’COτ、姿勢の推定値R’COτである。
In step S3020, the
ステップS3030において、データ管理部155は、時刻τにおいて姿勢センサ110、姿勢センサ115が計測した姿勢計測値RWSaτ、RWSbτを、姿勢計測値取得部145から取得する。
In step S3030, the
ステップS3040において、データ管理部155は、ステップS3020,S3030で取得した情報群を組み合わせたセット[RWSaτ,RWSbτ,t’COτ,R’COτ,Mτ]を、データリストLに追加登録する。
In step S3040, the
以上で示したステップ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
ステップS3060において、校正部160は、データ管理部155からデータリストLを取得し、この取得したデータリストLを用いて、姿勢センサ110、115のそれぞれの配置情報を算出する処理を行う。係る処理の詳細については、図4のフローチャートを用いて後述する。
In step S <b> 3060, the
次に、ステップS3070において、校正部160は、ステップS3060で算出された姿勢センサ110、115のそれぞれの配置情報を、姿勢計測値取得部145へと出力する。また、必要に応じて、配置情報をセンサ校正装置100の外部へと出力する。
Next, in step S3070, the
ステップS3080において、位置姿勢算出部170は、時刻τにおいて画像取得部130が取得した撮像画像に基づいて画像処理部135が取得した指標情報Mτを、画像処理部135から取得する。
In step S3080, the position /
ステップS3090において、位置姿勢算出部170は、時刻τにおける撮像装置120の姿勢、現実物体125の姿勢として姿勢計測値取得部145が求めたものを取得する。この取得したそれぞれの姿勢は、姿勢計測値取得部145が保持している姿勢センサのLocal Transformに基づいて、姿勢計測値に座標変換を施した後の姿勢を表している。従って、ステップS3060における配置情報算出処理が正しく行われていれば、本ステップで得られる姿勢は、撮像装置120の姿勢と現実物体125の姿勢を正しく(もちろん、センサの計測誤差は含んでいる)表すものとなる。
In step S <b> 3090, the position /
ステップS3100において位置姿勢算出部170は、ステップS3080で取得した指標情報Mτ、ステップS3090で取得した撮像装置120の姿勢、現実物体125の姿勢、に基づいて、撮像装置120に対する現実物体125の位置と姿勢を算出する。係る算出処理は、例えば非特許文献1に開示されている公知の手法によって行うことができるので、詳細な説明は省略する。そして位置姿勢算出部170は、算出した位置と姿勢のデータを、画像生成部180へと出力する。また、必要に応じて、算出した位置と姿勢のデータを、外部へと出力する。
In step S3100, the position /
ステップ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
次に、ステップS3120において、表示部190は、複合現実感を提示する画像を画像生成部180から取得し、これを表示することでオペレータに複合現実感を提示する。
Next, in step S3120, the
最後にステップ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
次に、図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
校正部160は、Local Transformを算出する過程において、データリストLに登録されている各時刻τにおける現実物体125の位置tCOτ= [xCOτ yCOτ zCOτ]T(未知)を推定する。また、各時刻τにおける相対方位誤差の補正値φτ(未知)を推定する。ここで、相対方位誤差とは、姿勢センサ110の姿勢計測値に含まれる方位誤差と、姿勢センサ115の姿勢計測値に含まれる方位誤差の相対値を表している。なお、相対方位誤差には、夫々の姿勢センサのセンサ座標系の方位成分の差異も含まれている。
In the process of calculating Local Transform, the
以下では、これらの算出対象の未知パラメータを(6+4T)次元の状態ベクトルs = [ωSC ωSO tCO1 φ1 ・・・ tCOτ φτ ・・・tCOT φT]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
ステップS4020において、校正部160は、状態ベクトルsに適当な初期値を与える。まず、各τにおけるtCOτの初期値として、データリストL中の対応する時刻τにおける現実物体125の位置推定値t’COτを設定する。また、全てのφτに共通の初期値として、全周方向を等分割した値からまだ選択されていない値を選択して設定する。例えば、全周方向を6分割した場合には、0度,60度,120度,180度,240度,300度の何れかを設定する。また、ωSCの初期値として、予め用意した幾つかの候補の中から、φτの初期値との組み合わせとしてまだ選択されていない姿勢を選択して設定する。さらに、ωSOの初期値として、上記で設定されたφτとωSCの初期値を利用して、次式によって算出した姿勢を設定する。
In step S4020, the
ここで、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.
一方、R(ω)は、ωによって決定される回転行列であり、次式によって定義される。 On the other hand, R (ω) is a rotation matrix determined by ω and is defined by the following equation.
ただし、θは次式によって定義される。 However, (theta) is defined by following Formula.
ステップS4030において、校正部160は、データリストLに登録されている各対応情報に関して、指標の画像座標の理論値を算出する。指標の画像座標の理論値とは、撮像装置120に対する現実物体125の位置と姿勢に仮説が与えられた時に、この指標が撮像画像中に見えるべき座標を指す。以下では、指標の物体座標xOiと、画像座標(実測値)uiのセットに関する画像座標の理論値を、ui’と表記する。ここで、記号i(i = 1, , , I)は、データリストL中の指標の対応情報の夫々に割り振った通し番号であり、Iは指標の対応情報の総数を表す。すなわち、I = ΣτJτの関係にある。
In step S4030, the
理論値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.
ここで、τiは、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.
一方、後者は透視変換であり、次式によって定義される。 On the other hand, the latter is perspective transformation and is defined by the following equation.
ここでfx及びfyは、それぞれx軸方向、y軸方向における撮像装置120の焦点距離であり、既知の値として校正部160内に予め保持されているものとする。
Here, fx and fy are the focal lengths of the
ステップS4040において、校正部160は、指標の対応情報の夫々に関して(即ち全てのiについて)、実測値として得られた画像座標uiと、それに対応する画像座標の理論値ui’との誤差Δuiを次式によって算出する。
In step S4040, the
ステップ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
ヤコビ行列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.
これらの式に従うと、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:
ここで、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.
ここで、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.
ここで、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).
ここで、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.
また、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.
ここで、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
ここで、Φ+はΦの擬似逆行列Φ+であり、例えばΦ+=(ΦTΦ)−1ΦTによって求めることができる。Φ+の導出は、他の何れの手法によってもよい。 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
ステップS4080において、校正部160は、更新された状態ベクトルsを用いて、ステップS4030と同一の処理により、指標の対応情報の夫々に関してその画像座標の理論値を算出する。
In step S4080, the
ステップS4090において、校正部160は、更新された状態ベクトルsを用いて、ステップS4040と同一の処理により、指標の対応情報の夫々に関してその画像座標の実測値と理論値との誤差Δuiを算出する。
In step S4090, using the updated state vector s, the
ステップS4100において、校正部160は、何らかの判断基準を用いて、反復処理を継続するか否かの判断を行う。これ以上の反復処理は不要と判断した場合には、ステップS4110へと処理を進める。一方、反復処理を行うと判断した場合には、更新されたsを用いて、ステップS4050からステップS4090までの処理を再度実行する。
In step S4100, the
反復処理を行うか否かの判断は、例えば、計算が収束または発散しているか否かの判定によって行う。計算が収束も発散もしていないと判定した場合には、反復処理を継続する。一方、計算が収束あるいは発散していると判定した場合には、反復処理を終了する。また、収束や発散の判定を行わずに、一定回数の反復処理を必ず行うようにしてもよい。収束や発散の判定は、例えば、ステップ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
以上の処理によって、撮像装置120や現実物体125に装着した姿勢センサの校正を、簡便かつ正確に行うことができる。また、初期値や重力軸の方向を予め入力しておくという手間を必要としない。
Through the above processing, the posture sensor mounted on the
[第2の実施形態]
第1の実施形態では、撮像装置120に姿勢センサ110が装着されていた。しかし、現実物体125に装着した姿勢センサ115の配置情報を計測するという目的のみを考えると、撮像装置120に姿勢センサ110が装着されていることは必須ではない。本実施形態では、撮像装置120に姿勢センサを設けない場合のシステムについて説明する。
[Second Embodiment]
In the first embodiment, the
図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
撮像装置120は、三脚500上に設置されている。撮像装置120の姿勢RWCは予め計測されており、データとして外部のメモリ599内に保持されている。撮像装置120の姿勢RWCを得る為には、世界座標系における3次元位置が既知である指標を現実空間中に幾つか配置し、その幾つかの指標を撮像装置120によって撮像する。そして、指標の画像座標を検出し、指標の世界座標と画像座標との対応関係から世界座標系における撮像装置120の姿勢を算出すればよい。なお、撮像装置120の姿勢RWCとしては、重力軸(の逆方向を示す軸)に対するカメラ座標系の傾斜が得られていればよい。即ち、世界座標系における方位は任意の方向でよく、Y軸が重力軸の逆方向と一致していればよい。
The
姿勢取得部165は、外部のメモリ599内に保持されている撮像装置120の姿勢RWCのデータを読み出す。以下の処理では、第1の実施形態における姿勢センサ110の姿勢計測値RWSaτを、姿勢RWCに置き換えて考えればよい。また、第1の実施形態においては導出対象の一つであった姿勢センサ110の配置情報ωSCを既知の単位行列と考えればよい。
The
そして以降の処理は、第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
<変形例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
校正部160では先ず、状態ベクトルがsであるときに線指標上のいくつかの点(分割点と呼ぶ)が観察されるであろう画像座標の理論値を算出する。そして、その画像座標の近辺で実際に検出されるエッジ(実測値)までの法線方向の距離を、分割点の誤差と定義する。そして、全ての分割点に関する誤差によって誤差ベクトルUを構成する。一方、状態ベクトルsの関数として定義される上記の誤差の導出式をsの各要素で偏微分して、その解を各要素に持つ1行×(6+4T)列のヤコビ行列Φを構成する。
First, the
そして、以上で得られる誤差ベクトル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 φ1 … φτ … φT]Tと定義する。そして、このsに対して上記の実施形態における最適化計算と同様な処理を実行する。
<Modification 2>
In the above embodiment, the position t COτ of the
また、上記の実施形態では、校正部160の最適化計算において、姿勢センサの相対方位誤差は時刻毎に異なるものと仮定していた。しかし、校正のためのデータを取得する短時間においては、相対方位誤差は一定と仮定してもよい。例えば、第1の実施形態の場合であれば、状態ベクトルsを、s = [ωSC ωSO φ tCO1 … tCOτ … tCOT]Tと定義できる。そして、このsに対して上記の実施形態の最適化計算と同様な処理を実行する。ここで、φは、時刻τに依存しない相対方位誤差の補正値を表している。
Further, in the above embodiment, in the optimization calculation of the
もちろん、本変形例で述べた双方の仮定をおいて、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)のみを変更すればよい。
<
In the first embodiment, the arrangement information of the
まず、姿勢センサ115が校正済みであり、姿勢センサ110のみが未校正である場合を考える。この場合、姿勢センサ115の配置情報ωSOは既知となるので、第1の実施形態からの変更点として、状態ベクトルsやヤコビ行列Jiから、ωSOに関する成分を除外すればよい。そして、このsに対して、第1の実施形態の最適化計算と同様な処理を実行する。なお、ωSOが既知の場合、ステップS4020におけるωSCの算出は、次式によって行えばよい。
First, consider a case where the
このとき、φの初期値としてある角度を選択すると、(式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
<変形例4>
上記の実施形態において、姿勢センサ110、姿勢センサ115は3軸の姿勢を計測するセンサであった。しかし、これらの姿勢センサが重力軸に対する2軸の傾斜角のみを計測するセンサ(一般的に傾斜センサと呼ばれる)の場合であっても、同様の方法によって姿勢センサの配置情報を算出することはできる。この場合、最適化処理におけるパラメータφτは、相対方位誤差の補正値ではなく、撮像装置120と現実物体125との間の相対的な方位角の差を表すことになる。
<Modification 4>
In the above-described embodiment, the
<変形例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
また、指標の検出のみが画像処理によって可能な場合には、同定処理のみをオペレータが手入力で行ってもよい。また、画像処理によって検出及び/または同定された指標の誤りを手入力によって修正できるようにしてもよい。また、画像処理によって検出及び/または同定する指標と、手入力によって検出及び/または同定する指標とを組み合わせて用いてもよい。 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
図2は、センサ校正装置100、500に適用可能なコンピュータのハードウェア構成を示すブロック図である。
FIG. 2 is a block diagram showing a hardware configuration of a computer applicable to the
CPU1001は、RAM1002やROM1003に格納されているプログラムやデータを用いてコンピュータ全体の制御を行うと共に、本コンピュータを適用するセンサ校正装置100、500が行う上述の各処理を実行する。
The
RAM1002は、外部記憶装置1007や記憶媒体ドライブ1008からロードされたプログラムやデータ、I/F(インターフェース)1009を介して外部から受信したプログラムやデータ、を一時的に記憶するためのエリアを有する。また、RAM1002は、CPU1001が各種の処理を実行する際に用いるワークエリアも有する。即ち、RAM1002は、各種のエリアを適宜提供することができる。
The
ROM1003は、本コンピュータの設定データや、ブートプログラムなどを格納する。
The
キーボード1004,マウス1005は、本コンピュータの操作者がCPU1001に対して各種の指示を入力するための入力デバイスとしての一例であり、その他の入力デバイスを用いても良い。例えば、上記指示部150に対して入力するコマンドは、キーボード1004やマウス1005を用いて行う。
The keyboard 1004 and the
表示部1006は、上記表示部190に相当するものであり、CRTや液晶画面などにより構成されている。表示部1006は、CPU1001による処理結果を画像や文字などでもって表示することができる。例えば上述のように、撮像画像と仮想物体の画像とが合成された画像を表示することができる。
The
外部記憶装置1007は、ハードディスクドライブ装置に代表される大容量情報記憶装置である。外部記憶装置1007内には、OS(オペレーティングシステム)や、センサ校正装置100、500が行う上述の各処理をCPU1001に実行させるためのプログラムやデータが保存されている。また、外部記憶装置1007には、以上の説明において、既知の情報として説明したものについても保存されている。
The
外部記憶装置1007に保存されているプログラムやデータは、CPU1001による制御に従って適宜RAM1002にロードされる。そしてCPU1001はこのロードされたプログラムやデータを用いて処理を実行することで、本コンピュータは、センサ校正装置100、500が行う上述の各処理を実行することになる。
Programs and data stored in the
記憶媒体ドライブ1008は、CD−ROMやDVD−ROMなどの記憶媒体に記録されているプログラムやデータを読み出し、読み出したプログラムやデータをRAM1002や外部記憶装置1007に送出するものである。係る記憶媒体には、外部記憶装置1007に保存されているものとして説明した情報のうち一部を記録しておくようにしても良い。また、係る記憶媒体は、上記外部のメモリ599として機能するようにしても良い。
The
I/F1009には、上記姿勢センサ110、115、撮像装置120が接続されている。I/F1009は、以下の複数種のポートによって構成されている。撮像画像を取得するという画像取得部130の機能の一部は、アナログビデオポートあるいはIEEE1394等のデジタル入出力ポートによって実現される。また、姿勢計測値を取得するという姿勢計測値取得部145の機能の一部は、USBポートやRS−232Cポートによって実現される。入力データは、I/F1009を介してRAM1002や外部記憶装置1007に取り込まれる。また、校正部160が算出した夫々の姿勢センサの配置情報や、位置姿勢算出部170が算出した物体の位置及び姿勢は、必要に応じて、イーサネット(登録商標)ポート等(I/F1009の機能の一部)によって外部へ出力される。
The
1010は上述の各部を繋ぐバスである。
A
なお、センサ校正装置100、500に適用可能なコンピュータのハードウェア構成については図2に示した構成に限定するものではなく、当業者であれば適宜変形しうるものである。
Note that the hardware configuration of the computer applicable to the
[その他の実施形態]
また、本発明の目的は、以下のようにすることによって達成されることはいうまでもない。即ち、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体(または記憶媒体)を、システムあるいは装置に供給する。係る記憶媒体は言うまでもなく、コンピュータ読み取り可能な記憶媒体である。そして、そのシステムあるいは装置のコンピュータ(または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.
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)
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)
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 |
-
2012
- 2012-12-21 JP JP2012280059A patent/JP5620972B2/en not_active Expired - Fee Related
Patent Citations (3)
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)
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 |