JP2016065830A - Image processor and image processing method - Google Patents

Image processor and image processing method Download PDF

Info

Publication number
JP2016065830A
JP2016065830A JP2014195805A JP2014195805A JP2016065830A JP 2016065830 A JP2016065830 A JP 2016065830A JP 2014195805 A JP2014195805 A JP 2014195805A JP 2014195805 A JP2014195805 A JP 2014195805A JP 2016065830 A JP2016065830 A JP 2016065830A
Authority
JP
Japan
Prior art keywords
index
unit
image
imaging
orientation
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.)
Pending
Application number
JP2014195805A
Other languages
Japanese (ja)
Inventor
太一 松井
Taichi Matsui
太一 松井
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 JP2014195805A priority Critical patent/JP2016065830A/en
Publication of JP2016065830A publication Critical patent/JP2016065830A/en
Pending legal-status Critical Current

Links

Images

Abstract

PROBLEM TO BE SOLVED: To provide a technique for more surely and more easily collecting images taken of an indicator, which are used for determining a positional attitude of the indicator.SOLUTION: The attitude of an imaging device is changed within the possible range that the attitude can take. Images taken every time the imaging device changes the attitude are acquired, and information on indicators in the taken images is registered. If information on the same indicator is registered more than once, the positional attitude of the imaging device when the image of the indicator was taken is acquired. The positional attitudes of one or more indicators are calculated with the information on the indicators registered for the imaging devices and the acquired positional attitudes of the imaging devices.SELECTED DRAWING: Figure 1

Description

本発明は、現実空間中に配されている指標の位置姿勢を求めるための技術に関するものである。   The present invention relates to a technique for obtaining the position and orientation of an index placed in a real space.

近年、複合現実感(Mixed Reality:MR)技術の研究が盛んである。MR技術とは、現実空間と、コンピュータによって作られる仮想空間と、を継ぎ目なく融合する技術である。   In recent years, research on mixed reality (MR) technology has been active. MR technology is a technology that seamlessly fuses a real space with a virtual space created by a computer.

MR技術における画像表示装置は、ビデオシースルー方式か、光学シースルー方式によって実現される。ビデオシースルー方式とは、ビデオカメラ等の撮像装置によって撮像された現実空間の画像に、該撮像装置の位置及び姿勢に応じて生成された仮想空間の画像を重畳描画した合成画像を表示する方式である。仮想空間の画像は、コンピュータグラフィクスにより描画された仮想物体や文字情報等により構成されている。また、光学シースルー方式とは、観察者の頭部に装着された光学シースルー型ディスプレイに、観察者の視点の位置及び姿勢に応じて生成された仮想空間の画像を表示する方式である。   An image display device in MR technology is realized by a video see-through method or an optical see-through method. The video see-through method is a method for displaying a composite image in which an image in a virtual space generated according to the position and orientation of an imaging device is superimposed on a real space image captured by an imaging device such as a video camera. is there. An image in the virtual space is composed of a virtual object drawn by computer graphics, character information, and the like. The optical see-through method is a method of displaying an image of a virtual space generated according to the position and orientation of the observer's viewpoint on an optical see-through display mounted on the observer's head.

MR技術は、患者の体表面に体内の様子を重畳表示する手術支援や、空き地に仮想のビルを重畳表示する建築シミュレーション、組み立て作業時に作業手順や配線の様子を重畳表示する組み立て支援等様々な分野への応用が期待される。   MR technology includes various types of support, such as surgical support that superimposes the state of the body on the patient's body surface, architectural simulation that superimposes and displays a virtual building on a vacant land, and assembly support that superimposes and displays work procedures and wiring during assembly work. Application to the field is expected.

MR技術において最も重要な課題の一つは、現実空間と仮想空間との間の位置合わせをいかに正確に行うかということであり、従来から多くの取り組みが行われてきた。MRにおける位置合わせの問題は、ビデオシースルー方式の場合はシーン中における(すなわちシーン中に規定された基準座標系における)撮像装置の位置及び姿勢を求める問題に帰結する。同様に、光学シースルー方式の場合は、シーン中における観察者の視点あるいはディスプレイの位置及び姿勢を求める問題に帰結する。   One of the most important issues in MR technology is how to accurately align the real space and the virtual space, and many efforts have been made in the past. In the case of the video see-through method, the alignment problem in MR results in a problem of obtaining the position and orientation of the imaging device in the scene (that is, in the reference coordinate system defined in the scene). Similarly, the optical see-through method results in the problem of obtaining the observer's viewpoint or display position and orientation in the scene.

前者の問題を解決する方法としては次のようなものが一般的である。即ち、シーン中に複数の指標を配置あるいは設定し、撮像装置が撮像した画像内における指標の投影位置と、既知の情報である指標の基準座標系における位置と、の対応関係から、基準座標系における撮像装置の位置及び姿勢を求める。また、後者の問題を解決する方法としては次のようなものが一般的である。即ち、計測対象物(すなわち観察者の頭部あるいはディスプレイ)に撮像装置を装着し、前者と同様の方法によって撮像装置の位置及び姿勢を求め、それに基づいて計測対象物の位置及び姿勢を求めることが一般的に行われている。   The following methods are generally used to solve the former problem. That is, a plurality of indices are arranged or set in the scene, and the reference coordinate system is determined based on the correspondence between the projected position of the index in the image captured by the imaging device and the position of the index that is known information in the reference coordinate system. The position and orientation of the image pickup apparatus are obtained. Further, the following methods are generally used as a method for solving the latter problem. That is, an imaging device is mounted on a measurement object (that is, an observer's head or display), the position and orientation of the imaging device are obtained by the same method as the former, and the position and orientation of the measurement object are obtained based thereon. Is generally done.

画像上の指標の投影像と該指標の3次元位置との対応関係に基づいて撮像装置の位置及び姿勢を求める方法は、写真測量の分野において古くから提案されている(非特許文献1)。   A method for obtaining the position and orientation of the imaging device based on the correspondence between the projected image of the index on the image and the three-dimensional position of the index has been proposed for a long time in the field of photogrammetry (Non-patent Document 1).

また、非特許文献2には次のようなことが提案されている。即ち、前述の画像上の指標の投影像に基づいて求めた撮像装置の位置及び姿勢を初期値とし、画像上での指標の投影像の実際の観察位置と投影像の計算位置との誤差が最小になるように反復演算によって撮像装置の位置及び姿勢を最適化することが行われている。ここで、投影像の計算位置とは、指標の3次元位置と撮像装置の位置及び姿勢から計算される投影像の位置のことである。   Non-Patent Document 2 proposes the following. That is, the initial position is the position and orientation of the imaging device obtained based on the projected image of the index on the image, and the error between the actual observation position of the projected image of the index on the image and the calculated position of the projected image is The position and orientation of the imaging device are optimized by iterative calculation so as to be minimized. Here, the calculated position of the projected image is the position of the projected image calculated from the three-dimensional position of the index and the position and orientation of the imaging device.

以上の方法によって、撮像装置が撮像した画像に基づいて、撮像装置の位置及び姿勢を求めることが従来からなされてきた。   Conventionally, the position and orientation of an imaging device have been obtained based on an image captured by the imaging device by the above method.

一方、例えば特許文献1、2や非特許文献3で開示されているようなことも従来からなされてきた。即ち、計測対象である撮像装置に磁気センサや超音波センサ等の6自由度位置姿勢センサを取り付け、前述のような画像処理による指標の検出との併用によって位置及び姿勢を計測することも行われている。センサの出力値は測定範囲によって精度は変わるが安定的に得ることができるため、センサと画像処理を併用する方法は、画像処理だけによる方法に比べてロバスト性を向上させることができる。   On the other hand, for example, those disclosed in Patent Documents 1 and 2 and Non-Patent Document 3 have been conventionally performed. In other words, a 6-DOF position / orientation sensor such as a magnetic sensor or an ultrasonic sensor is attached to the imaging device to be measured, and the position and orientation are measured by using the detection of the index by image processing as described above. ing. Since the output value of the sensor can be obtained stably although the accuracy varies depending on the measurement range, the method using both the sensor and the image processing can improve the robustness as compared with the method using only the image processing.

特許文献2に開示されている技術では、6自由度位置姿勢センサから得られる撮像装置の位置及び姿勢を初期値とし、前述の画像上での指標の投影像の観察位置と計算位置との誤差を反復演算によって最小化することによって撮像装置の位置及び姿勢を得ている。   In the technique disclosed in Patent Document 2, the position and orientation of the imaging device obtained from the 6-DOF position and orientation sensor are set as initial values, and an error between the observation position of the projected image of the index on the image and the calculation position is described above. Is obtained by iterative calculation to obtain the position and orientation of the imaging apparatus.

以上で述べた指標を利用した位置合わせ手法では、計測対象である撮像装置の基準座標系における位置及び姿勢を求める為には次のような情報が既知である必要がある。即ち、空間中に存在する同一色の円領域といった点形状の指標(点指標)の場合にはその重心の基準座標系における位置、基準座標系に対する指標の姿勢、が既知である必要がある。また、三角形や正方形といった多角形形状の指標の場合にはその重心の基準座標系における位置が既知である必要がある。正方形指標などの多角形形状の指標の場合には、基準座標系を別途設けることなく、指標そのものを座標系の基準とする場合が多い。しかし、複数の指標を用いる場合には、互いの位置及び姿勢の関係が既知である必要があるため、基準座標系が必要であることに変わりはない。   In the alignment method using the index described above, the following information needs to be known in order to obtain the position and orientation in the reference coordinate system of the imaging device that is the measurement target. That is, in the case of a point-shaped index (point index) such as a circular region of the same color existing in the space, the position of the center of gravity in the reference coordinate system and the attitude of the index with respect to the reference coordinate system must be known. In the case of a polygonal index such as a triangle or a square, the position of the center of gravity in the reference coordinate system needs to be known. In the case of a polygonal index such as a square index, the index itself is often used as a reference for the coordinate system without providing a separate reference coordinate system. However, in the case of using a plurality of indices, the relationship between the positions and orientations of each other needs to be known, so that the reference coordinate system is still necessary.

指標の位置及び姿勢の計測は、巻尺や分度器を用いた手作業や、測量器によって行うことが可能であるが、精度や手間の問題から、画像を利用した計測が行われている。点指標の位置計測は、バンドル調整法と呼ばれる方法で行うことができる。   Measurement of the position and orientation of the index can be performed manually using a tape measure or a protractor or a surveying instrument. However, measurement using an image is performed because of problems with accuracy and labor. The position measurement of the point index can be performed by a method called a bundle adjustment method.

バンドル調整法とは、次のような手法である。即ち、撮像装置によって点指標の画像を複数枚撮像し、画像上での点指標の投影像の観察位置を求める。そして求めた観察位置と、点指標の3次元位置及び撮像装置の位置姿勢をもとに計算される点指標の投影像の計算位置と、の誤差(投影誤差)が最小になるように、繰返し演算によって点指標の位置と撮像装置の位置姿勢の補正を繰り返し行う。これにより、点指標の位置を求める。   The bundle adjustment method is the following method. That is, a plurality of point index images are captured by the imaging device, and the observation position of the projected image of the point index on the image is obtained. It is repeated so that the error (projection error) between the obtained observation position and the calculated position of the projected image of the point index calculated based on the three-dimensional position of the point index and the position and orientation of the imaging device is minimized. The correction of the position of the point index and the position / orientation of the imaging apparatus is repeatedly performed by calculation. Thereby, the position of the point index is obtained.

また、非特許文献4では、3次元空間中に配置された多数の正方形指標の位置及び姿勢を計測する方法が開示されている。非特許文献4では、3次元空間中に配置された多数の正方形指標の画像を多数撮像し、投影誤差が最小になるように、繰返し演算によって各画像を撮像した撮像装置の位置及び姿勢と、正方形指標の位置及び姿勢を求めている。   Non-Patent Document 4 discloses a method for measuring the positions and orientations of a large number of square markers arranged in a three-dimensional space. In Non-Patent Document 4, a large number of images of a large number of square markers arranged in a three-dimensional space are captured, and the position and orientation of the imaging device that captures each image by iterative calculation so that the projection error is minimized, The position and orientation of the square index are obtained.

また、現実空間中に配した指標を複数の撮像装置によって撮像することで得られる複数枚の画像を用いて、この指標の位置を計算する「指標キャリブレーションツール」が提案されている(非特許文献5)。係る指標キャリブレーションツールを使用することにより、簡便に現実空間における指標の位置を測定することができる。   In addition, an “index calibration tool” that calculates the position of an index using a plurality of images obtained by imaging the index arranged in the real space with a plurality of imaging devices has been proposed (non-patent document). Reference 5). By using such an index calibration tool, the position of the index in the real space can be easily measured.

特開平11-084307号公報JP 11-084307 A 特開2000-041173号公報JP 2000-041173 A

R. M. Haralick, C. Lee, K. Ottenberg, and M. Nolle: “Review andanalysis of solutions of the three point perspective pose estimation problem”,Int’l. J. Computer Vision, vol.13, no.3, pp.331-356, 1994.RM Haralick, C. Lee, K. Ottenberg, and M. Nolle: “Review andanalysis of solutions of the three point perspective pose estimation problem”, Int'l. J. Computer Vision, vol.13, no.3, pp. 331-356, 1994. 加藤, M. Billinghurst, 浅野, 橘: “マーカー追跡に基づく拡張現実感システムとそのキャリブレーション”, 日本バーチャルリアリティ学会論文誌, vol.4,no.4, pp.607-616, 1999.Kato, M. Billinghurst, Asano, Tachibana: “Augmented reality system based on marker tracking and its calibration”, Transactions of the Virtual Reality Society of Japan, vol.4, no.4, pp.607-616, 1999. A. State, G. Hirota, D. T. Chen, W. F. Garrett and M. A. Livingston: “Superior augmented reality registration by integrating landmark tracking and magnetic tracking”, Proc. SIGGRAPH’96, pp.429-438, 1996.A. State, G. Hirota, D. T. Chen, W. F. Garrett and M. A. Livingston: “Superior augmented reality registration by integrating landmark tracking and magnetic tracking”, Proc. SIGGRAPH’96, pp.429-438, 1996. G. Baratoff, A. Neubeck and H. Regenbrecht: “Interactive multimarker calibration for augmented reality applications”, Proc. ISMAR2002, pp.107-116, 2002.G. Baratoff, A. Neubeck and H. Regenbrecht: “Interactive multimarker calibration for augmented reality applications”, Proc. ISMAR2002, pp.107-116, 2002. D. Kotake, S. Uchiyama, and H. Yamamoto: "A marker calibration method utilizing a priori knowledge on marker arrangement," Proc. 3rd IEEE/ACM Int'l Symp. on Mixed and Augmented Reality (ISMAR 2004), pp.89-98, November 2004.D. Kotake, S. Uchiyama, and H. Yamamoto: "A marker calibration method utilizing a priori knowledge on marker arrangement," Proc. 3rd IEEE / ACM Int'l Symp. On Mixed and Augmented Reality (ISMAR 2004), pp. 89-98, November 2004.

前述したバンドル調整法を用いた点指標の位置計測手法では、一つの指標について最低二枚以上の画像を撮像しないと、正確な計測を行うことができない。点指標の場合、一枚の画像にしか撮像されない場合には、点指標が3次元空間中に存在する直線が決定されるだけで、撮像装置の奥行き方向の位置が不定になる。そのため位置計測に最低限必要な画像が取得できているかどうかという情報は重要である。さらに全ての指標に対して二枚以上の画像の撮像が必要になるので、ユーザにとっては手間のかかる作業となる。   In the above-described point index position measurement method using the bundle adjustment method, accurate measurement cannot be performed unless at least two images are captured for one index. In the case of a point index, when only one image is captured, the position in the depth direction of the imaging apparatus becomes indefinite simply by determining a straight line where the point index exists in the three-dimensional space. Therefore, information on whether or not the minimum image necessary for position measurement has been acquired is important. Furthermore, since it is necessary to capture two or more images for all the indices, this is a laborious operation for the user.

従来のシステムでは、ユーザが撮像装置を移動させて指標を撮像していた。そのためユーザは指標を撮像する際には、個々の指標ついて既に二枚以上撮像されているかどうかを覚えている必要があった。指標の数が多数になるとユーザがどの指標を撮像したか覚えなくてはならないし、実際に撮像を行う手間が生じる。   In the conventional system, the user moves the imaging device and images the index. Therefore, the user needs to remember whether or not two or more images have already been captured for each index when imaging the index. When the number of indices increases, it is necessary to remember which index the user has imaged, and it takes time to actually perform imaging.

本発明はこのような問題に鑑みてなされたものであり、指標の位置姿勢を求めるために用いる該指標の撮像画像をより確実且つ簡便に収集するための技術を提供する。   The present invention has been made in view of such problems, and provides a technique for collecting a captured image of an index used for obtaining the position and orientation of the index more reliably and simply.

本発明の一様態は、1以上の指標を含む現実空間を撮像する撮像装置が取り得る姿勢の範囲内で該撮像装置の姿勢を変更する制御手段と、前記撮像装置が姿勢を変更するたびに撮像した前記現実空間の撮像画像を取得する第1の取得手段と、前記第1の取得手段が取得した撮像画像に含まれている指標に関する情報を登録する登録手段と、前記登録手段が同じ指標について情報を2回以上登録した場合には、該指標の撮像時における前記撮像装置の位置姿勢を取得する第2の取得手段と、前記第1の取得手段が取得したそれぞれの撮像画像について前記登録手段が登録した情報と、前記第2の取得手段が取得した位置姿勢と、を用いて前記1以上の指標のそれぞれの位置姿勢を算出する算出手段とを備えることを特徴とする。   According to one aspect of the present invention, a control unit that changes the posture of an imaging device within a range of postures that can be taken by an imaging device that captures a real space including one or more indices, and whenever the imaging device changes its posture The first acquisition unit that acquires the captured image of the real space that has been imaged, the registration unit that registers the information related to the index included in the captured image acquired by the first acquisition unit, and the same registration unit If the information is registered twice or more, the second acquisition unit that acquires the position and orientation of the imaging apparatus at the time of imaging the index, and the registration for each captured image acquired by the first acquisition unit And calculating means for calculating the position and orientation of each of the one or more indices using the information registered by the means and the position and orientation acquired by the second acquisition means.

本発明の構成によれば、指標の位置姿勢を求めるために用いる該指標の撮像画像をより確実且つ簡便に収集することができる。   According to the configuration of the present invention, it is possible to collect a captured image of the index used for obtaining the position and orientation of the index more reliably and easily.

システムの機能構成例を示すブロック図。The block diagram which shows the function structural example of a system. 指標100を説明する図。The figure explaining the parameter | index 100. FIG. コンピュータのハードウェア構成例を示すブロック図。The block diagram which shows the hardware structural example of a computer. 画像処理装置1が行う処理のフローチャート。5 is a flowchart of processing performed by the image processing apparatus 1; 指標管理テーブルの構成例を示す図。The figure which shows the structural example of a parameter | index management table. パン角の変更を説明する図。The figure explaining the change of a pan angle. チルト角の変更を説明する図。The figure explaining the change of a tilt angle.

以下、添付図面を参照し、本発明の好適な実施形態について説明する。なお、以下説明する実施形態は、本発明を具体的に実施した場合の一例を示すもので、特許請求の範囲に記載した構成の具体的な実施例の1つである。   Preferred embodiments of the present invention will be described below with reference to the accompanying drawings. The embodiment described below shows an example when the present invention is specifically implemented, and is one of the specific examples of the configurations described in the claims.

[第1の実施形態]
本実施形態では、現実空間中に配されている(若しくは設定されている)1以上の指標の位置姿勢を算出する画像処理装置について説明する。先ず、本実施形態に係る画像処理装置を含むシステムの機能構成例について、図1のブロック図を用いて説明する。図1に示す如く、本実施形態に係るシステムは、撮像部110,撮像部111,画像処理装置1、を含む。
[First Embodiment]
In the present embodiment, an image processing apparatus that calculates the position and orientation of one or more indices arranged (or set) in the real space will be described. First, a functional configuration example of a system including an image processing apparatus according to the present embodiment will be described with reference to the block diagram of FIG. As shown in FIG. 1, the system according to the present embodiment includes an imaging unit 110, an imaging unit 111, and an image processing device 1.

先ず、撮像部110について説明する。撮像部110は、複数の指標100が配されている現実空間の画像を撮像する撮像装置である。撮像部110のパン角、チルト角、ズーム(画角)は、画像処理装置1によって制御され、撮像部110は、画像処理装置1によって制御されたパン角、チルト角、画角に基づいて現実空間の画像を撮像する。   First, the imaging unit 110 will be described. The imaging unit 110 is an imaging device that captures an image of a real space where a plurality of indices 100 are arranged. The panning angle, tilting angle, and zooming (viewing angle) of the imaging unit 110 are controlled by the image processing apparatus 1, and the imaging unit 110 is based on the panning angle, tilting angle, and viewing angle controlled by the image processing apparatus 1. An image of the space is taken.

撮像部111は撮像部110と同様の機能部であり、画像処理装置1によって制御されたパン角、チルト角、画角に基づいて、複数の指標100が配されている現実空間の画像を撮像する撮像装置である。   The imaging unit 111 is a functional unit similar to the imaging unit 110, and captures an image of a real space where a plurality of indices 100 are arranged based on the pan angle, tilt angle, and angle of view controlled by the image processing apparatus 1. It is an imaging device.

次に、画像処理装置1について説明する。図1に示す如く、画像処理装置1は、画像入力部120、指標検出同定部130、データ管理部140、操作部150、データ保存部160、表示部170、指標位置姿勢算出部180、撮像部制御部190、を有する。   Next, the image processing apparatus 1 will be described. As shown in FIG. 1, the image processing apparatus 1 includes an image input unit 120, an index detection and identification unit 130, a data management unit 140, an operation unit 150, a data storage unit 160, a display unit 170, an index position and orientation calculation unit 180, and an imaging unit. A control unit 190.

画像入力部120は、撮像部110及び撮像部111がパン角、チルト角、画角を変更するたびに撮像した撮像画像を受け、該撮像画像を指標検出同定部130及び表示部170に対して送出する。これにより、表示部170の表示画面上には、撮像部110による撮像画像及び撮像部111による撮像画像が表示されることになる。   The image input unit 120 receives a captured image captured every time the imaging unit 110 and the imaging unit 111 change the pan angle, the tilt angle, and the angle of view, and the captured image is transmitted to the index detection identification unit 130 and the display unit 170. Send it out. As a result, the captured image by the imaging unit 110 and the captured image by the imaging unit 111 are displayed on the display screen of the display unit 170.

指標検出同定部130は、画像入力部120から受けた撮像画像中に指標が含まれている場合には、該指標について同定を行い、該同定の結果を後段のデータ管理部140に送出する。   When the index is included in the captured image received from the image input unit 120, the index detection / identification unit 130 identifies the index and sends the identification result to the data management unit 140 at the subsequent stage.

データ管理部140は、指標検出同定部130から受けた同定結果のデータを管理する。データ管理部140は、ユーザが操作部150を用いて「画像保存」の指示を入力したことを検知すると、指標検出同定部130から受けた同定結果のデータをデータ保存部160に登録する。   The data management unit 140 manages identification result data received from the index detection and identification unit 130. When the data management unit 140 detects that the user inputs an “image storage” instruction using the operation unit 150, the data management unit 140 registers the identification result data received from the index detection / identification unit 130 in the data storage unit 160.

また、データ管理部140は、指標検出同定部130から受けた最新の同定結果のデータとデータ保存部160に既に登録されている同定結果のデータとを比較し、過去に複数回同定されている指標についての情報を表示部170に送出する。係る処理について詳しくは後述する。   In addition, the data management unit 140 compares the latest identification result data received from the index detection and identification unit 130 with the identification result data already registered in the data storage unit 160, and has been identified multiple times in the past. Information about the index is sent to the display unit 170. This process will be described in detail later.

また、データ管理部140は、撮像部制御部190から撮像部110及び撮像部111による撮像が完了した旨の通知を受けると、データ保存部160から撮像部110及び撮像部111の位置姿勢や同定結果のデータを読み出して、指標位置姿勢算出部180に送出する。   When the data management unit 140 receives notification from the imaging unit control unit 190 that imaging by the imaging unit 110 and the imaging unit 111 has been completed, the data management unit 140 receives the position and orientation and identification of the imaging unit 110 and the imaging unit 111 from the data storage unit 160. The resulting data is read out and sent to the index position / orientation calculation unit 180.

指標位置姿勢算出部180は、データ管理部140から受けたデータを用いて、指標の位置姿勢を計算する。   The index position and orientation calculation unit 180 calculates the position and orientation of the index using the data received from the data management unit 140.

なお、図1には、指標位置姿勢算出部180が求めた指標の位置姿勢のデータの出力先については特に図示していないが、出力先については、ここでの主眼とするところではないので示していない。しかし、一般に、撮像画像から求めた指標の位置姿勢のデータの利用方法については周知のものであるので、ここでの説明、及び図示は省略する。   In FIG. 1, the output position of the index position / orientation data obtained by the index position / orientation calculation unit 180 is not particularly illustrated, but the output destination is not the main point here. Not. However, in general, since the method of using the index position / orientation data obtained from the captured image is well known, the description and illustration are omitted here.

撮像部制御部190は、撮像部110及び撮像部111のパン角、チルト角、画角を制御する。   The imaging unit control unit 190 controls the pan angle, tilt angle, and field angle of the imaging unit 110 and the imaging unit 111.

次に、上記の指標100について、図2を用いて説明する。本実施形態では、図2(a)に示されるような正方形形状の指標(以下、正方形指標)を、位置姿勢の計算対象とする。正方形指標は、図2(a)に示すように、指標領域であることを示すための境界領域(黒枠)と内部領域とからなる。内部領域は、縦と横がそれぞれ5等分されており、内側の3×3領域が正方形指標の向き及び固有の識別子(識別情報)を表す。3×3領域の四隅(図2(a)において丸で囲まれている領域)が正方形指標の向きを表す領域(向き決め領域)である。四隅のうちの三つは黒く塗りつぶされており、残る一つは白く塗りつぶされている。これによって正方形指標の向きを表す。正方形指標の識別子は、3×3領域の四隅を除いた5つの領域(ビット領域)によって現される(図2(a)において斜線で示されている領域)。5つの領域のそれぞれは、白く塗りつぶされている場合は0、黒く塗りつぶされている場合は1を表すとすると、5ビット、すなわち32通りの識別子を表すことができる。   Next, the index 100 will be described with reference to FIG. In the present embodiment, a square-shaped index (hereinafter referred to as a square index) as illustrated in FIG. As shown in FIG. 2A, the square index includes a boundary area (black frame) and an internal area for indicating the index area. The inner area is divided into 5 parts in the vertical and horizontal directions, and the inner 3 × 3 area represents the direction of the square index and the unique identifier (identification information). The four corners of the 3 × 3 area (area surrounded by a circle in FIG. 2A) are areas (orientation determination areas) representing the direction of the square index. Three of the four corners are painted black and the remaining one is painted white. This represents the direction of the square index. The identifier of the square index is represented by five areas (bit areas) excluding the four corners of the 3 × 3 area (areas indicated by diagonal lines in FIG. 2A). Each of the five areas can represent 5 bits, that is, 32 types of identifiers, assuming that 0 is painted white and 1 is painted black.

また、正方形指標の位置姿勢は、図2(b)に示す如く、基準座標系に対する位置姿勢で表現される。基準座標系とは、例えば、現実空間中の1点を原点とし、該原点で互いに直交する3軸をそれぞれx軸、y軸、z軸とする座標系のことである。本実施形態では、正方形指標の位置は正方形の中心(対角線の交点)の位置であり、基準座標系に対する3次元ベクトルtwmによって表す。正方形指標の姿勢は、図2(b)に示すように、基準座標系に対する正方形指標の座標系(指標座標系)の姿勢であるとする。姿勢の自由度は3であるので、3次元ベクトルωwmによって表す。指標座標系とは、例えば、正方形指標の中心を原点とし、正方形指標の一辺に沿った方向をx軸、該一辺に隣接する辺に沿った方向をy軸、正方形指標の法線方向をz軸とする座標系のことである。 Further, the position and orientation of the square index are expressed by the position and orientation with respect to the reference coordinate system, as shown in FIG. The reference coordinate system is, for example, a coordinate system in which one point in the real space is an origin, and three axes orthogonal to each other at the origin are an x-axis, a y-axis, and a z-axis, respectively. In this embodiment, the position of the square index is the position of the center of the square (intersection of diagonal lines), and is represented by a three-dimensional vector t wm with respect to the reference coordinate system. Assume that the posture of the square index is the posture of the coordinate system (index coordinate system) of the square index with respect to the reference coordinate system, as shown in FIG. Since the degree of freedom of the posture is 3, it is represented by a three-dimensional vector ω wm . The index coordinate system is, for example, with the center of the square index as the origin, the direction along one side of the square index as the x axis, the direction along the side adjacent to the one side as the y axis, and the normal direction of the square index as z It is a coordinate system with axes.

次に、本実施形態に係るシステムの動作について、より詳細に説明する。   Next, the operation of the system according to the present embodiment will be described in more detail.

撮像部110及び撮像部111は上述の通り、撮像部制御部190によって制御されたパン角、チルト角、画角に基づいて、複数の指標100(正方形指標)が配されている現実空間の画像を、ユーザによる操作とは無関係に撮像する。以下では一例として、撮像部110(撮像部111)のパン角の制御可能範囲を360度、チルト角の制御可能範囲を100度とする。   As described above, the imaging unit 110 and the imaging unit 111 are real-space images in which a plurality of indices 100 (square indices) are arranged based on the pan angle, the tilt angle, and the angle of view controlled by the imaging unit control unit 190. Is taken regardless of the operation by the user. Hereinafter, as an example, the controllable range of the pan angle of the imaging unit 110 (imaging unit 111) is 360 degrees, and the controllable range of the tilt angle is 100 degrees.

このような例における撮像部110による画像撮像について説明する。なお、以下の説明は撮像部111についても同様である。ここで、撮像部110の水平画角αの最大値をαmax、最小値をαmin、垂直画角の最小値をβmin、a=(αmax−αmin)/n(nは2以上の整数)とする。   Image capturing by the image capturing unit 110 in such an example will be described. The following description is the same for the imaging unit 111. Here, the maximum value of the horizontal field angle α of the imaging unit 110 is αmax, the minimum value is αmin, the minimum value of the vertical field angle is βmin, and a = (αmax−αmin) / n (n is an integer of 2 or more). .

先ず撮像部制御部190は、撮像部110の水平画角αをαmin、チルト角を0に固定したまま、パン角=0、α/2、α、…、360のそれぞれについて画像撮像を行わせる(図6)。これにより、撮像部110は、水平画角α=αmin、チルト角=0の状態で、パン方向に一周分の画像撮像を行うことができる。この撮像により得られる撮像画像の枚数は(720/α)である。撮像部制御部190は、このような撮像動作を、水平画角α=αmin+a、αmin+2a、…、αmin+(n−1)aのそれぞれについて行わせる。このような撮像動作により、水平画角α=αminで得られる(720/α)枚の撮像画像列、水平画角α=αmin+aで得られる(720/α)枚の撮像画像列、…、水平画角α=αmaxで得られる(720/α)枚の撮像画像列、というように、(n+1)セットの撮像画像列が得られる。   First, the image capturing unit control unit 190 performs image capturing for each of pan angles = 0, α / 2, α,..., 360 while the horizontal angle of view α of the image capturing unit 110 is fixed to αmin and the tilt angle is fixed to 0. (FIG. 6). Thereby, the imaging unit 110 can capture an image of one round in the pan direction in a state where the horizontal angle of view α = αmin and the tilt angle = 0. The number of captured images obtained by this imaging is (720 / α). The imaging unit control unit 190 performs such an imaging operation for each of the horizontal angle of view α = αmin + a, αmin + 2a,..., Αmin + (n−1) a. By such an imaging operation, (720 / α) captured image sequences obtained with a horizontal angle of view α = αmin, (720 / α) captured image sequences obtained with a horizontal angle of view α = αmin + a,. (720 + α) captured image sequences obtained at an angle of view α = αmax, (n + 1) sets of captured image sequences are obtained.

そして更に撮像部制御部190は、撮像部110に、このような(n+1)セットの撮像画像列を得るための撮像動作を、チルト角=βmin/2、…、100のそれぞれについて行わせる(図7)。   Further, the imaging unit control unit 190 causes the imaging unit 110 to perform an imaging operation for obtaining such (n + 1) sets of captured image sequences for each of the tilt angles = βmin / 2,... 7).

以上のような撮像制御により、撮像部制御部190は、水平画角α=αmin、αmin+a、…、αmin+(n−1)aのそれぞれに対する「パン角=0、α/2、α、…、360のそれぞれに対する画像撮像」を、チルト角=0、βmin/2、…、100のそれぞれについて行わせることができ、これにより撮像部110は、(n+1)×200/βmin回の撮像を行うことになり、結果として同数の枚数の撮像画像を撮像することになる。上記のとおり、これは撮像部111についても同様である。然るに撮像部110及び撮像部111は、上記のように姿勢を変更するたびに撮像した撮像画像を順次、後段の画像入力部120に対して送出する。   Through the imaging control as described above, the imaging unit control unit 190 causes “horizontal angles α = αmin, αmin + a,..., Αmin + (n−1) a to be“ pan angle = 0, α / 2, α,. 360 ”can be performed for each of the tilt angles = 0, βmin / 2,..., 100, whereby the imaging unit 110 performs (n + 1) × 200 / βmin imaging. As a result, the same number of captured images are captured. As described above, this also applies to the imaging unit 111. However, the imaging unit 110 and the imaging unit 111 sequentially transmit the captured images captured whenever the posture is changed as described above to the subsequent image input unit 120.

画像入力部120は、撮像部110から順次送出される撮像画像及び撮像部111から順次送出される撮像画像、を表示部170に対して送出すると共に、指標検出同定部130に対しても送出する。   The image input unit 120 transmits the captured images sequentially transmitted from the imaging unit 110 and the captured images sequentially transmitted from the imaging unit 111 to the display unit 170 and also to the index detection identification unit 130. .

指標検出同定部130は上述の通り、画像入力部120から受けた撮像画像中に指標100が存在する場合には、該指標100を同定する処理を行う。正方形指標としての指標100を撮像画像から検出するために、指標検出同定部130は撮像画像について二値化及び連結領域のラベリングを行い、正方形指標の境界領域である黒枠で囲まれた内部領域を抽出する。更に指標検出同定部130は、正方形指標の内部領域について直線フィッティングを行い、内部領域の正方形の4頂点の画像座標を求める。そして、2次元射影変換によって撮像画像上の正方形指標を正射影画像に変換し、向き決め領域及びビット領域を読み取ることにより、正方形指標の識別子を読み出し、同定を行う。なお、指標100の同定については、どのような指標100を用いるのかに応じて変わるものであり、指標100の同定方法は、指標100に応じて適宜対応すればよい。   As described above, when the index 100 is present in the captured image received from the image input unit 120, the index detection / identification unit 130 performs processing for identifying the index 100. In order to detect the index 100 as a square index from the captured image, the index detection identification unit 130 performs binarization and labeling of the connected area on the captured image, and the inner area surrounded by the black frame that is the boundary area of the square index. Extract. Further, the index detection / identification unit 130 performs straight line fitting on the inner area of the square index to obtain the image coordinates of the four vertices of the square of the inner area. Then, the square index on the captured image is converted to an orthographic image by two-dimensional projective transformation, and the identifier of the square index is read and identified by reading the orientation determination area and the bit area. The identification of the index 100 varies depending on what kind of index 100 is used, and the identification method of the index 100 may be appropriately handled according to the index 100.

指標検出同定部130は、撮像画像中に指標100が含まれている場合には、指標100の抽出元の撮像画像を撮像した撮像部の識別子(撮像部110若しくは撮像部111の識別子)、該撮像画像のフレーム番号、指標100の識別子、指標100の内部領域の4隅の画像座標、のセット(抽出指標セット)を求める。抽出指標セットは、撮像画像中の指標100毎に求めるものである。撮像画像を撮像した撮像部の識別子については、例えば、撮像部が撮像画像に自身の識別子を添付して送出し、指標検出同定部130が撮像画像からこの識別子を取得する。フレーム番号については、画像入力部120が各フレームの撮像画像を入力する毎にカウントするカウント値を用いればよい。もちろん、フレーム番号に限定するものではなく、各フレームの撮像画像を一意に特定できるものであれば、如何なるものを用いても良い。   When the index 100 is included in the captured image, the index detection / identification unit 130 identifies the identifier of the imaging unit that captured the captured image from which the index 100 is extracted (the identifier of the imaging unit 110 or the imaging unit 111), A set (extracted index set) of the frame number of the captured image, the identifier of the index 100, and the image coordinates of the four corners of the inner area of the index 100 is obtained. The extraction index set is obtained for each index 100 in the captured image. As for the identifier of the imaging unit that captured the captured image, for example, the imaging unit transmits the captured image with its own identifier attached, and the index detection and identification unit 130 acquires the identifier from the captured image. For the frame number, a count value that is counted each time the image input unit 120 inputs a captured image of each frame may be used. Of course, it is not limited to the frame number, and any image may be used as long as it can uniquely identify the captured image of each frame.

指標検出同定部130は、撮像画像中に含まれる指標100毎の上記抽出指標セットを後段のデータ管理部140に送出する。   The index detection / identification unit 130 sends the extracted index set for each index 100 included in the captured image to the subsequent data management unit 140.

データ管理部140は、ユーザが操作部150を用いて「画像保存」の指示を入力したことを検知すると、指標検出同定部130が撮像画像から検出した各指標100についての抽出指標セットをデータ保存部160に登録する。即ち、データ保存部160には、「画像保存」の指示が入力される毎に、「指標100の抽出元の撮像画像を撮像した撮像部の識別子、該撮像画像のフレーム番号、指標100の識別子、指標100の内部領域の4隅の画像座標」のセットが登録されることになる。   When the data management unit 140 detects that the user has input an “image storage” instruction using the operation unit 150, the data management unit 140 stores the extracted index set for each index 100 detected from the captured image by the index detection / identification unit 130. Registered in the unit 160. That is, every time an instruction of “image storage” is input to the data storage unit 160, “the identifier of the imaging unit that captured the captured image from which the index 100 is extracted, the frame number of the captured image, and the identifier of the index 100” , A set of “image coordinates of the four corners of the internal region of the index 100” is registered.

また、この登録処理の際には、図5に例示するような指標管理テーブルもデータ保存部160内に作成する。指標管理テーブルには各指標100について、該指標100の識別子(指標ID)、対応する抽出指標セットが画像から指標100を同定することで得られたものか、ユーザが手動で入力したものかを示す情報(入力種別)、撮像部110による撮像画像及び撮像部111による撮像画像のそれぞれから該指標100が検出された回数(それぞれ撮像部A及び撮像部B)、位置姿勢を求めたのか否かを示す情報等を登録する。   In the registration process, an index management table as illustrated in FIG. 5 is also created in the data storage unit 160. In the index management table, for each index 100, an identifier (index ID) of the index 100, whether the corresponding extracted index set is obtained by identifying the index 100 from the image, or manually input by the user Whether the index 100 is detected from each of the information (input type), the captured image by the imaging unit 110, and the captured image by the imaging unit 111 (imaging unit A and imaging unit B, respectively) and whether the position and orientation are obtained Register information etc.

図5において「指標ID」の列には、指標の識別子を登録する。「入力種別」の列には、対応する識別子の指標(同じ行に登録されている識別子の指標)が撮像画像から求めたもの(自動検出)であるのか、手動でユーザが登録したもの(ユーザ定義)であるのかを示す情報を登録する。「撮像部A」の列には、対応する識別子の指標が過去に撮像部110による撮像画像から検出された回数を登録する。「撮像部B」の列には、対応する識別子の指標が過去に撮像部111による撮像画像から検出された回数を登録する。「較正状態」の列には、対応する識別子の指標の位置姿勢を求めたのか否かを示す情報を登録する。   In FIG. 5, the identifier of the index is registered in the “index ID” column. In the column of “input type”, whether the index of the corresponding identifier (the index of the identifier registered in the same row) is obtained from the captured image (automatic detection) or manually registered by the user (user Information indicating whether it is a definition). In the column “imaging unit A”, the number of times that the index of the corresponding identifier has been detected in the past from the captured image by the imaging unit 110 is registered. In the column “imaging unit B”, the number of times the index of the corresponding identifier has been detected in the past from the captured image by the imaging unit 111 is registered. In the “calibration state” column, information indicating whether or not the position and orientation of the index of the corresponding identifier has been obtained is registered.

例えば、図5では、指標ID(識別子)=1の指標についての抽出指標セットはユーザが手動でデータ保存部160に登録したものであり、該指標は過去に撮像部110による撮像画像から1回検出されており、該指標は過去に撮像部111による撮像画像から1回検出されており、且つ該指標は位置姿勢が既知の基準指標である。   For example, in FIG. 5, the extracted index set for the index with index ID (identifier) = 1 is the one manually registered in the data storage unit 160 by the user, and the index is once from the image captured by the imaging unit 110 in the past. The index has been detected and has been detected once from the image captured by the imaging unit 111 in the past, and the index is a reference index whose position and orientation are known.

即ち、データ管理部140は、撮像部110による撮像画像から検出された指標の抽出指標セット(注目抽出指標セット)をデータ保存部160に登録する際には先ず、注目抽出指標セット中の識別子と同じ識別子を含む抽出指標セットが指標管理テーブルに登録されているのかをチェックする。そして該チェックの結果、登録されていない場合には、「指標ID」の最後の行に注目抽出指標セット中の識別子を登録し、「入力種別」の最後の行に「自動検出」を登録し、「撮像部A」の最後の行に「1」を登録し、「撮像部B」の最後の行に「0」を登録し、「較正状態」の最後の行に「未推定」を登録する。もちろん、注目抽出指標セットが、撮像部111による撮像画像から検出された指標の抽出指標セットである場合には、「撮像部A」の最後の行に「0」を登録し、「撮像部B」の最後の行に「1」を登録することになる。一方、該チェックの結果、登録されている場合には、注目抽出指標セット中の識別子を登録している行における「撮像部A」の欄における数値に1を加算する。もちろん、注目抽出指標セットが、撮像部111による撮像画像から検出された指標の抽出指標セットである場合には、注目抽出指標セット中の識別子を登録している行における「撮像部B」の欄における数値に1を加算する。   That is, when the data management unit 140 registers the extracted index set (target extracted index set) of the index detected from the image captured by the imaging unit 110 in the data storage unit 160, first, the identifier in the target extracted index set It is checked whether an extracted index set including the same identifier is registered in the index management table. If it is not registered as a result of the check, the identifier in the attention extraction index set is registered in the last line of “index ID”, and “automatic detection” is registered in the last line of “input type”. , “1” is registered in the last row of “imaging unit A”, “0” is registered in the last row of “imaging unit B”, and “unestimated” is registered in the last row of “calibration state” To do. Of course, if the attention extraction index set is an extraction index set of indices detected from the captured image by the imaging unit 111, “0” is registered in the last row of “imaging unit A”, and “imaging unit B” is registered. "1" is registered in the last line of "." On the other hand, if it is registered as a result of the check, 1 is added to the numerical value in the column of “imaging part A” in the row in which the identifier in the attention extraction index set is registered. Of course, when the attention extraction index set is an extraction index set of an index detected from a captured image by the imaging unit 111, a column of “imaging unit B” in a row in which an identifier in the attention extraction index set is registered. Add 1 to the numerical value at.

そして「撮像部A」の欄における値及び「撮像部B」の欄における値が共に閾値(例えば1)以上であれば、撮像部110及び撮像部111の位置姿勢を求めてデータ保存部160に格納すると共に、対応する「較正状態」の欄に「概略計算済み」を登録する。   If both the value in the “imaging unit A” column and the value in the “imaging unit B” column are equal to or greater than a threshold (for example, 1), the position and orientation of the imaging unit 110 and the imaging unit 111 are obtained and the data storage unit 160 In addition to storing, “roughly calculated” is registered in the corresponding “calibration state” column.

またデータ管理部140は、上記の注目抽出指標セットをデータ保存部160に登録する際、注目抽出指標セット中の識別子と同じ識別子を含む抽出指標セットが指標管理テーブルに登録されている場合には、次の処理を行う。即ち、注目抽出指標セットについて、図5に示した指標管理テーブルに登録した情報を表示部170に送出する。例えば、注目抽出指標セット中の識別子=12である場合には、指標ID=12に対応する「入力種別」=「自動検出」、「撮像部A」=「3」、「撮像部B」=「1」、「較正状態」=「概略計算済み」を表示部170の表示画面上に追加表示する。   Further, when the data management unit 140 registers the attention extraction index set in the data storage unit 160, when the extraction index set including the same identifier as the identifier in the attention extraction index set is registered in the index management table, The following processing is performed. In other words, the information registered in the index management table shown in FIG. For example, when the identifier in the attention extraction index set is 12, “input type” = “automatic detection”, “imaging unit A” = “3”, “imaging unit B” corresponding to the index ID = 12. “1” and “calibration state” = “roughly calculated” are additionally displayed on the display screen of the display unit 170.

なお、撮像部制御部190は、撮像部110及び撮像部111によって(n+1)×200/βmin回の撮像を行ったことを検知すると、その旨をデータ管理部140に対して通知する。すなわち、撮像部制御部190は、撮像部110及び撮像部111によって全ての撮像画像の撮像が完了した場合には、その旨をデータ管理部140に通知する。   Note that when the imaging unit control unit 190 detects that the imaging unit 110 and the imaging unit 111 have taken (n + 1) × 200 / βmin times of imaging, the imaging unit control unit 190 notifies the data management unit 140 to that effect. In other words, when the imaging unit 110 and the imaging unit 111 complete imaging of all captured images, the imaging unit control unit 190 notifies the data management unit 140 to that effect.

データ管理部140は、このような通知を受けると、指標管理テーブルに登録されている各識別子に対応する抽出指標セットと、撮像部110及び撮像部111の位置姿勢と、をデータ保存部160から読み出して、指標位置姿勢算出部180に送出する。指標位置姿勢算出部180は、撮像部110及び撮像部111の位置姿勢、各抽出指標セット、を用いて、各指標100の基準座標系における位置姿勢を計算する。計算方法については後述する。   Upon receiving such a notification, the data management unit 140 sends the extracted index set corresponding to each identifier registered in the index management table and the positions and orientations of the imaging unit 110 and the imaging unit 111 from the data storage unit 160. It is read out and sent to the index position / orientation calculation unit 180. The index position and orientation calculation unit 180 calculates the position and orientation of each index 100 in the reference coordinate system using the position and orientation of the imaging unit 110 and the imaging unit 111 and each extracted index set. The calculation method will be described later.

次に、画像処理装置1が、現実空間中に配されているそれぞれの指標100の基準座標系における位置姿勢を算出するために行う処理について、同処理のフローチャートを示す図4を用いて説明する。   Next, processing performed by the image processing apparatus 1 for calculating the position and orientation of each index 100 arranged in the real space in the reference coordinate system will be described with reference to FIG. 4 showing a flowchart of the processing. .

<ステップS4000>
撮像部制御部190は、撮像部110及び撮像部111のそれぞれの水平画角、チルト角、パン角を設定して画像撮像を行わせる。上記の通り、水平画角の初期値はαmin、チルト角の初期値は0、パン角の初期値は0である。そして、本ステップにおける処理を実行するたびにパン角、チルト角、画角を上記のようにして変更し、これにより、水平画角α=αmin、αmin+a、…、αmin+(n−1)aのそれぞれに対する「パン角=0、α/2、α、…、360のそれぞれに対する画像撮像」を、チルト角=0、βmin/2、…、100のそれぞれについて行うことを実現する。
<Step S4000>
The image capturing unit control unit 190 sets the horizontal angle of view, tilt angle, and pan angle of the image capturing unit 110 and the image capturing unit 111 to perform image capturing. As described above, the initial value of the horizontal angle of view is αmin, the initial value of the tilt angle is 0, and the initial value of the pan angle is 0. Each time the processing in this step is executed, the pan angle, tilt angle, and angle of view are changed as described above, whereby the horizontal angle of view α = αmin, αmin + a,..., Αmin + (n−1) a It is realized that “image capturing for each of pan angles = 0, α / 2, α,..., 360” is performed for each of tilt angles = 0, βmin / 2,.

<ステップS4010>
画像入力部120は、撮像部110及び撮像部111のそれぞれによる撮像画像を表示部170及び指標検出同定部130に対して送出する。
<Step S4010>
The image input unit 120 sends out images captured by the imaging unit 110 and the imaging unit 111 to the display unit 170 and the index detection / identification unit 130, respectively.

<ステップS4020>
指標検出同定部130は、画像入力部120から受けた撮像画像中に指標100が存在するか否かを判断する。この判断の結果、存在する場合には処理はステップS4030に進み、存在しない場合には、処理はステップS4000に戻る。
<Step S4020>
The index detection / identification unit 130 determines whether or not the index 100 is present in the captured image received from the image input unit 120. As a result of this determination, if it exists, the process proceeds to step S4030. If it does not exist, the process returns to step S4000.

<ステップS4030>
指標検出同定部130は、画像入力部120から受けた撮像画像中に存在する指標100を同定する処理を行って、該指標100の抽出指標セットを求め、該抽出指標セットを後段のデータ管理部140に送出する。データ管理部140は、ユーザが操作部150を用いて「画像保存」の指示を入力したことを検知すると、指標100の抽出指標セットをデータ保存部160に登録する。
<Step S4030>
The index detection / identification unit 130 performs a process of identifying the index 100 present in the captured image received from the image input unit 120 to obtain an extracted index set of the index 100, and the extracted index set is a subsequent data management unit. 140. When the data management unit 140 detects that the user inputs an “image storage” instruction using the operation unit 150, the data management unit 140 registers the extracted index set of the index 100 in the data storage unit 160.

<ステップS4040>
データ管理部140は、ユーザが操作部150を用いて「画像保存」の指示を入力したことを検知すると、指標100の抽出指標セット中の識別子と同じ識別子を含む抽出指標セットが、すでに指標管理テーブルに登録されているのか否かを判断する。この判断の結果、登録されている場合には、処理はステップS4060に進み、登録されていない場合には、処理はステップS4050に進む。
<Step S4040>
When the data management unit 140 detects that the user inputs an “image save” instruction using the operation unit 150, the extracted index set including the same identifier as the identifier in the extracted index set of the index 100 is already index management. It is determined whether it is registered in the table. As a result of this determination, if registered, the process proceeds to step S4060, and if not registered, the process proceeds to step S4050.

<ステップS4050>
データ管理部140は、指標管理テーブルにおいて「指標ID」の最後の行に指標100の抽出指標セット中の識別子を登録し、「入力種別」の最後の行に「自動検出」を登録する。ここで、データ管理部140は、指標100の抽出指標セット中の「指標100の抽出元の撮像画像を撮像した撮像部の識別子」を参照して、指標100の抽出元の撮像画像を撮像した撮像部が撮像部110及び撮像部111の何れであるのかを判断する。そして、指標100が撮像部110による撮像画像から検出されたものである場合には、「撮像部A」の最後の行に「1」を登録し、「撮像部B」の最後の行に「0」を登録する。一方、指標100が撮像部111による撮像画像から検出されたものである場合には、「撮像部A」の最後の行に「0」を登録し、「撮像部B」の最後の行に「1」を登録する。そして更に、「較正状態」の最後の行に「未推定」を登録する。
<Step S4050>
The data management unit 140 registers the identifier in the extracted index set of the index 100 in the last line of “index ID” in the index management table, and registers “automatic detection” in the last line of “input type”. Here, the data management unit 140 refers to the “identifier of the imaging unit that captured the captured image from which the index 100 is extracted” in the extracted index set of the index 100, and captures the captured image from which the index 100 is extracted. It is determined whether the imaging unit is the imaging unit 110 or the imaging unit 111. When the index 100 is detected from the image captured by the imaging unit 110, “1” is registered in the last row of “imaging unit A”, and “1” is registered in the last row of “imaging unit B”. 0 ”is registered. On the other hand, when the index 100 is detected from an image captured by the imaging unit 111, “0” is registered in the last row of “imaging unit A”, and “0” is registered in the last row of “imaging unit B”. 1 ”is registered. Further, “unestimated” is registered in the last line of “calibration state”.

<ステップS4060>
データ管理部140は、指標100の抽出指標セット中の「指標100の抽出元の撮像画像を撮像した撮像部の識別子」を参照して、指標100の抽出元の撮像画像を撮像した撮像部が撮像部110及び撮像部111の何れであるのかを判断する。
<Step S4060>
The data management unit 140 refers to the “identifier of the imaging unit that captured the captured image from which the index 100 is extracted” in the extracted index set of the index 100, and the imaging unit that captured the captured image from which the index 100 is extracted It is determined which is the imaging unit 110 or the imaging unit 111.

そして、指標100が撮像部110による撮像画像から検出されたものである場合には、指標管理テーブルにおいて指標100の抽出指標セット中の識別子を登録している行における「撮像部A」の欄における数値に1を加算する。一方、指標100が撮像部111による撮像画像から検出されたものである場合には、指標管理テーブルにおいて指標100の抽出指標セット中の識別子を登録している行における「撮像部B」の欄における数値に1を加算する。   When the index 100 is detected from an image captured by the imaging unit 110, in the column of “imaging unit A” in the row in which the identifier in the extracted index set of the index 100 is registered in the index management table. Add 1 to the number. On the other hand, when the index 100 is detected from an image captured by the imaging unit 111, in the column of “imaging unit B” in the row in which the identifier in the extracted index set of the index 100 is registered in the index management table. Add 1 to the number.

<ステップS4070>
データ管理部140は、ステップS4050で登録を行った行若しくはステップS4060で数値加算を行った行における「撮像部A」の欄における値及び「撮像部B」の欄における値が共に閾値以上であるか否かを判断する。この判断の結果、共に閾値以上であれば、処理はステップS4080に進み、何れか一方でも閾値未満であれば、処理はステップS4090に進む。
<Step S4070>
The data management unit 140 has both the value in the column “imaging unit A” and the value in the column “imaging unit B” in the row registered in step S4050 or the value added in step S4060 are both equal to or greater than the threshold. Determine whether or not. As a result of this determination, if both are greater than or equal to the threshold, the process proceeds to step S4080, and if either is less than the threshold, the process proceeds to step S4090.

<ステップS4080>
データ管理部140は、撮像部110及び撮像部111の初期位置姿勢を取得する。撮像部110及び撮像部111の初期位置姿勢の取得方法については様々な方法が考えられ、特定の取得方法に限るものではない。
<Step S4080>
The data management unit 140 acquires initial positions and orientations of the imaging unit 110 and the imaging unit 111. Various methods for acquiring the initial position and orientation of the imaging unit 110 and the imaging unit 111 are conceivable, and the method is not limited to a specific acquisition method.

例えば、基準座標系における位置姿勢が既知の指標を撮像した撮像画像を利用してDLT(Direct Linear Transform)法などの公知の手法を利用して求めても構わない。また、撮像部110及び撮像部111に磁気式、光学式、超音波式等の6自由度位置姿勢センサを装着し、該センサによる計測値から求めても構わない。   For example, it may be obtained by using a known method such as a DLT (Direct Linear Transform) method using a captured image obtained by capturing an index whose position and orientation are known in the reference coordinate system. Further, a six-degree-of-freedom position / orientation sensor such as a magnetic type, an optical type, or an ultrasonic type may be attached to the imaging unit 110 and the imaging unit 111 and may be obtained from a measurement value obtained by the sensor.

そしてデータ管理部140は、このようにして取得した撮像部110及び撮像部111の初期位置姿勢をデータ管理部140に保存すると共に、ステップS4050で登録を行った行若しくはステップS4060で数値加算を行った行における「較正状態」を、「概略計算済み」に変更する。   The data management unit 140 saves the initial positions and orientations of the imaging unit 110 and the imaging unit 111 acquired in this way in the data management unit 140, and performs numerical addition in the line registered in step S4050 or in step S4060. Change the “calibration state” in the line to “roughly calculated”.

<ステップS4090>
データ管理部140は、指標100の抽出指標セット中の識別子と同じ識別子を含む抽出指標セットが、すでに指標管理テーブルに登録されている場合には、該抽出指標セットについて、図5に示した指標管理テーブルに登録した情報を表示部170に送出する。
<Step S4090>
When an extracted index set including the same identifier as the identifier in the extracted index set of the index 100 is already registered in the index management table, the data management unit 140 uses the index shown in FIG. Information registered in the management table is sent to the display unit 170.

<ステップS4100>
撮像部制御部190は、撮像部110及び撮像部111によって(n+1)×200/βmin回の撮像を行ったか否かを判断する。この判断の結果、撮像部110及び撮像部111によって(n+1)×200/βmin回の撮像を行った場合には処理はステップS4110に進み、行っていない場合には、処理はステップS4000に戻る。
<Step S4100>
The imaging unit control unit 190 determines whether (n + 1) × 200 / βmin times of imaging have been performed by the imaging unit 110 and the imaging unit 111. As a result of the determination, if (n + 1) × 200 / βmin times of imaging are performed by the imaging unit 110 and the imaging unit 111, the process proceeds to step S4110. If not, the process returns to step S4000.

撮像部制御部190は、撮像部110及び撮像部111によって(n+1)×200/βmin回の撮像を行ったことを検知すると、その旨をデータ管理部140に対して通知する。   When the imaging unit control unit 190 detects that the imaging unit 110 and the imaging unit 111 have performed (n + 1) × 200 / βmin imaging, the imaging unit control unit 190 notifies the data management unit 140 to that effect.

<ステップS4110>
データ管理部140は、撮像部制御部190から上記の通知を受けると、指標管理テーブルに登録されている「ステップS4080でデータ保存部160に保存した撮像部110及び撮像部111の初期位置姿勢」、「各識別子に対応する抽出指標セット」をデータ保存部160から読み出し、指標位置姿勢算出部180に送出する。
<Step S4110>
When the data management unit 140 receives the above notification from the imaging unit control unit 190, the “initial position and orientation of the imaging unit 110 and the imaging unit 111 stored in the data storage unit 160 in step S4080” registered in the index management table. , “Extracted index set corresponding to each identifier” is read from the data storage unit 160 and sent to the index position and orientation calculation unit 180.

指標位置姿勢算出部180は、データ管理部140から受けた撮像部110及び撮像部111の位置姿勢、各抽出指標セット、を用いて、各指標100の基準座標系における位置姿勢を計算する。   The index position and orientation calculation unit 180 calculates the position and orientation of each index 100 in the reference coordinate system using the position and orientation of the imaging unit 110 and the imaging unit 111 received from the data management unit 140 and each extracted index set.

位置姿勢を求める指標の数をNとし、撮像された画像の枚数をMとする。Mは、データ保存部160に保存されている各抽出指標セット中の画像番号のうち最大値を用いればよい。また、指標i(i=1,2,…,N)の位置姿勢を表す6次元ベクトルをai、画像j(j=1,2,…,M)を撮像した撮像部の位置姿勢を表す6次元ベクトルをsjと表す。指標の位置姿勢を表す6次元ベクトルaは、指標の基準座標系における位置twm=[twm wm wm 、基準座標系に対する姿勢ωwm=[ωwm ωwm ωwm の各成分からなるベクトルであり、a=[twm wm wm ωwm ωwm ωwm のように表すことができる。撮像部の基準座標系における位置をtwc=[twc wc wc 、基準座標系に対する姿勢ωwc=[ωwc ωwc ωwc とすると、撮像部の位置姿勢を示す6次元ベクトルsは、s=[twc wc wc ωwc ωwc ωwc のように表すことができる。 Let N be the number of indices for obtaining the position and orientation, and M be the number of captured images. M may be the maximum value among the image numbers in each extraction index set stored in the data storage unit 160. Further, ai represents a 6-dimensional vector representing the position and orientation of the index i (i = 1, 2,..., N), and 6 represents the position and orientation of the imaging unit that images the image j (j = 1, 2,..., M). The dimension vector is represented as sj. The 6-dimensional vector a representing the position and orientation of the index has a position t wm = [t wm x t wm y t wm z ] t in the reference coordinate system of the index, and a posture ω wm = [ω wm x ω wm y with respect to the reference coordinate system. ω wm z ] t is a vector composed of each component, and can be expressed as a = [t wm x t wm y t wm z ω wm x ω wmy y ω wm z ] t . Assuming that the position of the imaging unit in the reference coordinate system is t wc = [t wc x t wc y t wc z ] t and the attitude ω wc = [ω wc x ω wc y ω wc z ] t with respect to the reference coordinate system, the imaging unit The six-dimensional vector s indicating the position and orientation of can be expressed as s = [t wc x t wc y t wc z ω wc x ω wc y ω wc z ] t .

正方形指標の各頂点の指標座標系における座標x =[x (k=1,2,3,4)は、正方形の一辺の長さをeとして、例えば(式1)のように表すことができ、正方形の一辺の長さがわかる場合には既知の値となる。 The coordinates x m k = [x m k y m k z m k ] t (k = 1, 2, 3, 4) in the index coordinate system of each vertex of the square index are expressed as follows: For example, it can be expressed as (Equation 1), and when the length of one side of the square is known, it becomes a known value.

Figure 2016065830
Figure 2016065830

基準座標系に対する位置姿勢がtwm、ωwmである指標の指標座標がxmである頂点の基準座標系に対する位置姿勢がtwc、ωwcである撮像部のカメラ座標xcは(式2)のように表すことができる。 Position and orientation with respect to the reference coordinate system t wm, camera coordinate x c in the imaging unit position and orientation is t wc, omega wc index coordinate of the index is omega wm is relative to the reference coordinate system of the vertex is x m is (Formula 2 ).

Figure 2016065830
Figure 2016065830

但し、R(ωwc)、R(ωwm)はそれぞれωwc、ωwmで表される姿勢を表す3×3回転変換行列である。また、カメラ座標がXc=[xc yc zc]である点が焦点距離がfであるピンホールカメラ(本実施形態では撮像部110及び撮像部111)によって画像上に投影される位置u=[uは、(式3)のように表すことができる。 However, R (ω wc ) and R (ω wm ) are 3 × 3 rotation transformation matrices representing postures represented by ω wc and ω wm , respectively. Further, a position u = [projected onto an image by a pinhole camera (imaging unit 110 and imaging unit 111 in the present embodiment) whose focal length is f at a point where the camera coordinates are Xc = [xc yc zc] t . u x u y ] t can be expressed as (Equation 3).

Figure 2016065830
Figure 2016065830

すなわち、uは指標の位置姿勢twm、ωwm、撮像部の位置姿勢twc、ωwcの関数となる。よって、指標iの頂点k(k=1,2,3,4)の画像j上における投影像の位置を表す2次元ベクトルui,j,kは、(式4)に示すように、ai、sjの関数となる。 That is, u is a function of the index position and orientation t wm and ω wm , and the imaging unit position and orientation t wc and ω wc . Therefore, the two-dimensional vector u i, j, k representing the position of the projected image on the image j of the vertex k (k = 1, 2, 3, 4) of the index i is expressed as follows: This is a function of i and s j .

Figure 2016065830
Figure 2016065830

指標iの頂点kの画像j上における投影像の実際の画像上での観察位置をui,j,k と表すと、ui,j,k と、観察位置ui,j,k とai、sjから計算されるui,j,kとの誤差Δui,j,k(=ui,j,k −ui,j,k)は、(式5)のように1次近似することができる。 An observation position on the actual image of the projected image on the image j vertex k of the index i u i, j, expressed as k ^, u i, j, and k ^, observation position u i, j, k ^ and a i, u is computed from s j i, j, the error Delta] u i with k, j, k (= u i, j, k ^ -u i, j, k) is the (formula 5) Thus, a first order approximation can be made.

Figure 2016065830
Figure 2016065830

∂ui,j,k/∂a、∂ui,j,k/∂sは(式4)において、ui,j,kをそれぞれai、sjの各成分によって偏微分したときの偏微分係数を並べたヤコビ行列である。 ∂u i, j, k / ∂a i , ∂u i, j, k / ∂s j are partial differentials of u i, j, k by the components of a i and s j in (Equation 4), respectively. It is a Jacobian matrix in which partial differential coefficients are arranged.

(式5)を各画像中で検出同定された各指標の各頂点について立て、全てのΔa (i=1,2,…,N)、Δs (j=1,2,…,M)を共通の未知変数として連立方程式として解くことにより、Δa (i=1,2,…,N)、Δs (j=1,2,…,M)を得ることができる。予め、ai、sjには初期値を与えておき、Δa (i=1,2,…,N)、Δs (j=1,2,…,M)を求めて、a=a+Δa、s=s+Δsという補正を行う操作を繰り返すことで、指標の位置姿勢a (i=1,2,…,N)を求める。 (Equation 5) is set for each vertex of each index detected and identified in each image, and all Δa i (i = 1, 2,..., N), Δs j (j = 1, 2,..., M) Can be obtained as simultaneous equations as common unknown variables, and Δa i (i = 1, 2,..., N) and Δs j (j = 1, 2,..., M) can be obtained. Initial values are given to a i and s j in advance, Δa i (i = 1, 2,..., N) and Δs j (j = 1, 2,..., M) are obtained, and a i = The index position / orientation a i (i = 1, 2,..., N) is obtained by repeating the operation of correcting a i + Δa i and s j = s j + Δs j .

そして、指標位置姿勢算出部180は、求めた位置姿勢を示す情報(位置姿勢情報)を、適当な出力先に対して出力するのであるが、指標管理テーブルにおいて位置姿勢を求めた指標についての「較正状態」を「最適計算済み」に更新する。   Then, the index position / orientation calculation unit 180 outputs information (position / orientation information) indicating the obtained position / orientation to an appropriate output destination. Update “calibration state” to “optimum calculated”.

<ステップS4120>
データ管理部140は、現在表示部170の表示画面上に表示している「較正状態」のうち、位置姿勢を求めた指標についての「較正状態」を「最適計算済み」に更新する。なお、上記計算処理において、計算結果が収束しない、指標の誤認識、等により、位置姿勢が求められない指標については、「較正状態」には「エラー」を登録する。
<Step S4120>
The data management unit 140 updates the “calibration state” of the index for which the position / orientation has been obtained to “optimally calculated” among the “calibration states” currently displayed on the display screen of the display unit 170. In the above calculation process, “error” is registered in the “calibration state” for an index for which the position and orientation cannot be obtained due to the result of calculation not being converged or the erroneous recognition of the index.

このように、本実施形態によれば、撮像装置が取り得る姿勢の範囲内で該撮像装置の姿勢を変更するたびに該撮像装置が撮像した、1以上の指標を含む現実空間の撮像画像を取得することができるために、撮像画像に含まれている指標の位置姿勢を算出することが可能となる。なお、計算結果が収束せずに位置姿勢が求められなかった指標については、その指標とその周辺の指標だけ撮像し直して同様に再計算することで求めることが出来る。   As described above, according to the present embodiment, the captured image of the real space including one or more indices captured by the imaging device each time the orientation of the imaging device is changed within the range of the orientation that the imaging device can take. Since it can be acquired, the position and orientation of the index included in the captured image can be calculated. It should be noted that an index whose position and orientation cannot be obtained because the calculation result has not converged can be obtained by re-imaging in the same manner after re-imaging only the index and its surrounding indices.

なお、指標100には上述のような正方形指標だけでなく、他のタイプの指標、例えば、点形状の指標を用いても良い。その場合、指標の同定方法については、その指標のタイプに応じて適宜異ならせる。なお、各指標のタイプに応じた指標同定は、周知の技術でもってなし得る。   The index 100 is not limited to the square index as described above, but may be another type of index, for example, a point shape index. In this case, the index identification method is appropriately changed according to the type of the index. It should be noted that index identification according to the type of each index can be performed using a known technique.

また、本実施形態では、現実空間を撮像する撮像部の数を2(撮像部110及び撮像部111)とした。しかし、撮像部の数は2に限るものではなく、1でも構わないし、3以上であっても構わない。   In the present embodiment, the number of image capturing units that capture the real space is set to 2 (the image capturing unit 110 and the image capturing unit 111). However, the number of imaging units is not limited to 2, and may be 1 or 3 or more.

また、本実施形態では、データ管理部140は、ユーザが操作部150を用いて「画像保存」の指示を入力した場合に、データ保存部160への保存等の処理を行った。しかし、しかし、この指示は、ユーザが操作部150を操作して入力することに限るものではなく、撮像部制御部190が入力しても構わない。また、データ管理部140は、このような指示の入力なしに動作しても構わない。   In the present embodiment, the data management unit 140 performs processing such as storage in the data storage unit 160 when the user inputs an “image storage” instruction using the operation unit 150. However, this instruction is not limited to being input by the user by operating the operation unit 150, and may be input by the imaging unit control unit 190. Further, the data management unit 140 may operate without inputting such an instruction.

また、図1に示した画像処理装置1を構成する各機能部は、図1に示す如く1つの装置内に納めても構わないが、複数台の装置に分散させても構わない。また、上記の説明で表示部170に表示するものとして説明した情報は、その全てを表示することに限るものではなく、その一部を表示するようにしても構わない。表示対象とする情報については予め設定しておいても構わないし、ユーザが操作部150を操作して選択しても構わない。   1 may be housed in one apparatus as shown in FIG. 1, or may be distributed among a plurality of apparatuses. In addition, the information described as being displayed on the display unit 170 in the above description is not limited to displaying all of the information, and a part of the information may be displayed. Information to be displayed may be set in advance, or may be selected by the user by operating the operation unit 150.

また、抽出指標セットに含まれるべき情報についても、上記で説明した情報に限るものではなく、対応する指標の位置姿勢を算出するために必要な情報が含まれているのであれば、抽出指標セットには如何なる情報が含まれていても構わない。   Further, the information to be included in the extracted index set is not limited to the information described above, and if the information necessary for calculating the position and orientation of the corresponding index is included, the extracted index set Any information may be included in.

すなわち、本実施形態は、その変形例も含めて、次のような構成の一例に過ぎない。すなわち、1以上の指標を含む現実空間を撮像する撮像装置が取り得る姿勢の範囲内で該撮像装置の姿勢を変更(制御)し、該撮像装置が姿勢を変更するたびに撮像した現実空間の撮像画像を取得する。そして該取得した撮像画像に含まれている指標に関する情報を登録し、同じ指標について情報を2回以上登録した場合には、該指標の撮像時における撮像装置の位置姿勢を取得する。そして、それぞれの撮像画像について登録した指標の情報と、取得した撮像装置の位置姿勢と、を用いて上記の1以上の指標のそれぞれの位置姿勢を算出する。   That is, this embodiment is only an example of the following structure including the modification. That is, the orientation of the imaging device is changed (controlled) within the range of orientations that can be taken by the imaging device that captures the real space including one or more indices, and the captured real space is captured every time the imaging device changes the orientation. A captured image is acquired. Then, information related to the index included in the acquired captured image is registered, and when information about the same index is registered twice or more, the position and orientation of the imaging device at the time of imaging the index are acquired. Then, the position and orientation of each of the one or more indices are calculated using the index information registered for each captured image and the acquired position and orientation of the imaging apparatus.

[第2の実施形態]
図1に示した画像処理装置1を構成する各機能部は、ハードウェアで構成しても構わないし、画像入力部120、データ保存部160、操作部150、表示部170を除く各機能部をソフトウェア(コンピュータプログラム)で構成しても構わない。後者の場合、このソフトウェアは、PC(パーソナルコンピュータ)などのコンピュータ上で実行されることになり、これにより、該コンピュータは、画像処理装置1が行うものとして説明した上記各処理を実行することになる。画像処理装置1に適用可能なコンピュータのハードウェア構成例について、図3のブロック図を用いて説明する。
[Second Embodiment]
The functional units constituting the image processing apparatus 1 shown in FIG. 1 may be configured by hardware, and the functional units other than the image input unit 120, the data storage unit 160, the operation unit 150, and the display unit 170 are included. You may comprise with a software (computer program). In the latter case, this software is executed on a computer such as a PC (Personal Computer), so that the computer executes each of the processes described as being performed by the image processing apparatus 1. Become. A hardware configuration example of a computer applicable to the image processing apparatus 1 will be described with reference to the block diagram of FIG.

CPU301は、RAM302やROM303に格納されているコンピュータプログラムやデータを用いて各種の処理を実行することで、本コンピュータ全体の動作制御を行うと共に、画像処理装置1が行うものとして上述した各処理を実行する。   The CPU 301 executes various processes using computer programs and data stored in the RAM 302 and the ROM 303, thereby controlling the operation of the entire computer and performing each process described above as being performed by the image processing apparatus 1. Run.

RAM302は、外部記憶装置306からロードされたコンピュータプログラムやデータ、I/F(インターフェース)307を介して撮像部110及び撮像部111から受信した撮像画像を記憶するためのエリアを有する。更に、RAM302は、CPU301が各種の処理を実行する際に用いるワークエリアも備える。即ち、RAM302は、各種のエリアを適宜提供することができる。   The RAM 302 has an area for storing computer programs and data loaded from the external storage device 306, and captured images received from the imaging unit 110 and the imaging unit 111 via the I / F (interface) 307. Further, the RAM 302 includes a work area that is used when the CPU 301 executes various processes. That is, the RAM 302 can provide various areas as appropriate.

ROM303には、ブートプログラムや本コンピュータの設定データなどが格納されている。   The ROM 303 stores a boot program, setting data of the computer, and the like.

操作部304は、上記操作部150として機能するものであり、キーボードやマウスなどにより構成されている。本コンピュータの操作者は、この操作部304を操作することで各種の指示をCPU301に対して入力することができる。   The operation unit 304 functions as the operation unit 150 and includes a keyboard and a mouse. An operator of this computer can input various instructions to the CPU 301 by operating the operation unit 304.

表示部305は、上記表示部170として機能するものであり、CRTや液晶画面等により構成されている。表示部305は、CPU301による処理結果を画像や文字などでもって表示することができる。   The display unit 305 functions as the display unit 170 and includes a CRT, a liquid crystal screen, or the like. The display unit 305 can display the result of processing by the CPU 301 using an image or text.

外部記憶装置306は、ハードディスクドライブ装置に代表される大容量情報記憶装置であって、上記データ保存部160として機能するものである。外部記憶装置306には、OS(オペレーティングシステム)や、画像処理装置1が行うものとして上述した各処理をCPU301に実行させるためのコンピュータプログラムやデータなどが保存されている。このコンピュータプログラムには、撮像部制御部190、指標検出同定部130、データ管理部140、指標位置姿勢算出部180の各機能部が行うものとして上述した各処理をCPU301に実行させるためのコンピュータプログラムが含まれている。また、このデータには、上記の処理において既知の情報として取り扱ったものが含まれている。外部記憶装置306に保存されているコンピュータプログラムやデータは、CPU301による制御に従って適宜RAM302にロードされ、CPU301による処理対象となる。   The external storage device 306 is a large capacity information storage device represented by a hard disk drive device, and functions as the data storage unit 160. The external storage device 306 stores an OS (operating system) and computer programs and data for causing the CPU 301 to execute the above-described processes performed by the image processing apparatus 1. This computer program is a computer program for causing the CPU 301 to execute the processes described above as performed by the functional units of the imaging unit control unit 190, the index detection and identification unit 130, the data management unit 140, and the index position and orientation calculation unit 180. It is included. Further, this data includes information handled as known information in the above processing. Computer programs and data stored in the external storage device 306 are appropriately loaded into the RAM 302 under the control of the CPU 301 and are processed by the CPU 301.

I/F307は、上記画像入力部120として機能するものであり、撮像部110及び撮像部111を本コンピュータに接続するためのインターフェースとして機能するものである。撮像部110及び撮像部111による撮像画像のデータは、このI/F307を介して、RAM302や外部記憶装置306に対して送出される。308は上述の各部を繋ぐバスである。   The I / F 307 functions as the image input unit 120 and functions as an interface for connecting the imaging unit 110 and the imaging unit 111 to the computer. Data of images captured by the imaging unit 110 and the imaging unit 111 is transmitted to the RAM 302 and the external storage device 306 via the I / F 307. A bus 308 connects the above-described units.

(その他の実施例)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
(Other examples)
The present invention can also be realized by executing the following processing. That is, software (program) that realizes the functions of the above-described embodiments is supplied to a system or apparatus via a network or various storage media, and a computer (or CPU, MPU, or the like) of the system or apparatus reads the program. It is a process to be executed.

190:撮像部制御部 120:画像入力部 130:指標検出同定部 140:データ管理部 180:指標位置姿勢算出部 190: Imaging unit control unit 120: Image input unit 130: Index detection / identification unit 140: Data management unit 180: Index position / orientation calculation unit

Claims (8)

1以上の指標を含む現実空間を撮像する撮像装置が取り得る姿勢の範囲内で該撮像装置の姿勢を変更する制御手段と、
前記撮像装置が姿勢を変更するたびに撮像した前記現実空間の撮像画像を取得する第1の取得手段と、
前記第1の取得手段が取得した撮像画像に含まれている指標に関する情報を登録する登録手段と、
前記登録手段が同じ指標について情報を2回以上登録した場合には、該指標の撮像時における前記撮像装置の位置姿勢を取得する第2の取得手段と、
前記第1の取得手段が取得したそれぞれの撮像画像について前記登録手段が登録した情報と、前記第2の取得手段が取得した位置姿勢と、を用いて前記1以上の指標のそれぞれの位置姿勢を算出する算出手段と
を備えることを特徴とする画像処理装置。
Control means for changing the posture of the imaging device within a range of postures that can be taken by the imaging device that images the real space including one or more indices;
First acquisition means for acquiring a captured image of the real space imaged each time the imaging device changes posture;
Registration means for registering information on the index included in the captured image acquired by the first acquisition means;
A second acquisition unit configured to acquire the position and orientation of the imaging apparatus at the time of imaging the index when the registration unit registers information about the same index twice or more;
Using the information registered by the registration unit for each captured image acquired by the first acquisition unit and the position and orientation acquired by the second acquisition unit, the position and orientation of the one or more indices are obtained. An image processing apparatus comprising: a calculating means for calculating.
前記算出手段は、前記撮像装置が取り得る姿勢の範囲内におけるそれぞれの姿勢で該撮像装置が撮像した撮像画像を前記第1の取得手段が取得し終わってから、前記1以上の指標のそれぞれの位置姿勢を算出することを特徴とする請求項1に記載の画像処理装置。   The calculating means is configured to acquire each of the one or more indices after the first acquisition means has acquired the captured image captured by the imaging apparatus in each attitude within the range of attitudes that the imaging apparatus can take. The image processing apparatus according to claim 1, wherein the position and orientation is calculated. 前記第1の取得手段は、前記撮像装置がパン角、チルト角、画角のうち1以上を変更するたびに撮像した、1以上の指標を含む現実空間の撮像画像を取得することを特徴とする請求項1又は2に記載の画像処理装置。   The first acquisition unit acquires a captured image of a real space including one or more indices, which is captured whenever the imaging device changes one or more of a pan angle, a tilt angle, and a field angle. The image processing apparatus according to claim 1 or 2. 前記登録手段は、前記撮像画像に含まれている指標の識別子、該指標の該撮像画像中における画像座標、のセットを、該指標に関する情報として登録することを特徴とする請求項1乃至3の何れか1項に記載の画像処理装置。   The registration means registers a set of an identifier of an index included in the captured image and an image coordinate of the index in the captured image as information related to the index. The image processing apparatus according to any one of the above. 更に、
前記第1の取得手段が取得した撮像画像を表示する表示手段を備えることを特徴とする請求項1乃至4の何れか1項に記載の画像処理装置。
Furthermore,
The image processing apparatus according to claim 1, further comprising a display unit that displays the captured image acquired by the first acquisition unit.
前記表示手段は更に、前記登録手段が同じ指標について情報を2回以上登録した場合には、該登録の回数を表示することを特徴とする請求項5に記載の画像処理装置。   The image processing apparatus according to claim 5, wherein the display unit further displays the number of times of registration when the registration unit registers information about the same index more than once. 画像処理装置が行う画像処理方法であって、
前記画像処理装置の制御手段が、1以上の指標を含む現実空間を撮像する撮像装置が取り得る姿勢の範囲内で該撮像装置の姿勢を変更する制御工程と、
前記画像処理装置の第1の取得手段が、前記撮像装置が姿勢を変更するたびに撮像した前記現実空間の撮像画像を取得する第1の取得工程と、
前記画像処理装置の登録手段が、前記第1の取得工程で取得した撮像画像に含まれている指標に関する情報を登録する登録工程と、
前記画像処理装置の第2の取得手段が、前記登録工程で同じ指標について情報を2回以上登録した場合には、該指標の撮像時における前記撮像装置の位置姿勢を取得する第2の取得工程と、
前記画像処理装置の算出手段が、前記第1の取得工程で取得したそれぞれの撮像画像について前記登録工程で登録した情報と、前記第2の取得工程で取得した位置姿勢と、を用いて前記1以上の指標のそれぞれの位置姿勢を算出する算出工程と
を備えることを特徴とする画像処理方法。
An image processing method performed by an image processing apparatus,
A control step in which the control means of the image processing device changes the posture of the imaging device within a range of postures that can be taken by the imaging device that images a real space including one or more indices;
A first acquisition step in which a first acquisition unit of the image processing apparatus acquires a captured image of the real space captured each time the imaging apparatus changes its orientation;
A registration step in which the registration unit of the image processing apparatus registers information about the index included in the captured image acquired in the first acquisition step;
A second acquisition step of acquiring a position and orientation of the imaging apparatus at the time of imaging the index when the second acquisition unit of the image processing apparatus registers information about the same index twice or more in the registration step; When,
The calculation means of the image processing apparatus uses the information registered in the registration step for each captured image acquired in the first acquisition step and the position and orientation acquired in the second acquisition step. An image processing method comprising: a calculation step of calculating the position and orientation of each of the above indices.
コンピュータを、請求項1乃至6の何れか1項に記載の画像処理装置の各手段として機能させるためのコンピュータプログラム。   A computer program for causing a computer to function as each unit of the image processing apparatus according to any one of claims 1 to 6.
JP2014195805A 2014-09-25 2014-09-25 Image processor and image processing method Pending JP2016065830A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014195805A JP2016065830A (en) 2014-09-25 2014-09-25 Image processor and image processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014195805A JP2016065830A (en) 2014-09-25 2014-09-25 Image processor and image processing method

Publications (1)

Publication Number Publication Date
JP2016065830A true JP2016065830A (en) 2016-04-28

Family

ID=55805361

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014195805A Pending JP2016065830A (en) 2014-09-25 2014-09-25 Image processor and image processing method

Country Status (1)

Country Link
JP (1) JP2016065830A (en)

Similar Documents

Publication Publication Date Title
JP4599184B2 (en) Index placement measurement method, index placement measurement device
JP4926817B2 (en) Index arrangement information measuring apparatus and method
JP4960754B2 (en) Information processing apparatus and information processing method
JP4532982B2 (en) Arrangement information estimation method and information processing apparatus
JP5196825B2 (en) Image processing apparatus and image processing method
JP5036260B2 (en) Position and orientation calculation method and apparatus
JP4522140B2 (en) Index placement information estimation method and information processing apparatus
JP4593968B2 (en) Position and orientation measurement method and apparatus
JP4976756B2 (en) Information processing method and apparatus
JP4785416B2 (en) Position and orientation measurement method and apparatus
JP5746477B2 (en) Model generation device, three-dimensional measurement device, control method thereof, and program
JP5132138B2 (en) Position and orientation measurement method, position and orientation measurement device
JP2013113805A (en) Information processor, information processor control method and program
JP4726191B2 (en) Position / orientation correction apparatus, position / orientation correction method, program thereof, and storage medium
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
JP2008140047A (en) Information processing method and information processor
JP2013037006A (en) Information processor and information processing method
JP4810403B2 (en) Information processing apparatus and information processing method
JP2016065830A (en) Image processor and image processing method
JPWO2021111613A1 (en) 3D map creation device, 3D map creation method, and 3D map creation program
JP2007040980A (en) Information processing method and device