JP5517397B2 - Image processing method and image processing apparatus - Google Patents

Image processing method and image processing apparatus Download PDF

Info

Publication number
JP5517397B2
JP5517397B2 JP2007038430A JP2007038430A JP5517397B2 JP 5517397 B2 JP5517397 B2 JP 5517397B2 JP 2007038430 A JP2007038430 A JP 2007038430A JP 2007038430 A JP2007038430 A JP 2007038430A JP 5517397 B2 JP5517397 B2 JP 5517397B2
Authority
JP
Japan
Prior art keywords
marker
image
markers
definition information
flag
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2007038430A
Other languages
Japanese (ja)
Other versions
JP2008064735A5 (en
JP2008064735A (en
Inventor
その子 前田
博紀 米澤
憲司 守田
昭宏 片山
利果 武本
清秀 佐藤
俊広 小林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2007038430A priority Critical patent/JP5517397B2/en
Priority to US11/833,396 priority patent/US8103127B2/en
Publication of JP2008064735A publication Critical patent/JP2008064735A/en
Publication of JP2008064735A5 publication Critical patent/JP2008064735A5/ja
Application granted granted Critical
Publication of JP5517397B2 publication Critical patent/JP5517397B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/80Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/24Aligning, centring, orientation detection or correction of the image
    • G06V10/245Aligning, centring, orientation detection or correction of the image by locating a pattern; Special marks for positioning
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/24Indexing scheme for image data processing or generation, in general involving graphical user interfaces [GUIs]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30204Marker
    • G06T2207/30208Marker matrix

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • User Interface Of Digital Computer (AREA)
  • Length Measuring Devices By Optical Means (AREA)
  • Image Processing (AREA)
  • Studio Devices (AREA)
  • Image Analysis (AREA)

Description

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

高品質な複合現実感を提供するための重要な技術の一つとして、現実空間と仮想空間との位置合わせ技術がある。位置合わせ技術としては従来から様々な手法が提案されているが、それらの中でも指標を撮影した画像(指標画像)からカメラの位置姿勢を計算(キャリブレーション)する方法がコストや使い勝手の点から広く利用されている。   One important technique for providing high-quality mixed reality is a technique for aligning a real space and a virtual space. Various methods have been proposed as alignment techniques. Among them, the method of calculating (calibrating) the camera's position and orientation from an image (index image) obtained by shooting an index is widely used from the viewpoint of cost and usability. It's being used.

これらの手法の多くは、空間におけるすべての指標の位置や姿勢が既知であることを前提としており、指標の位置や姿勢を予め測定し、入力する作業が必要となる。指標には、人為的マーカ(以後、マーカ)や自然特徴が一般的に用いられている。マーカを用いた場合には、配置するマーカの数が多くなればなるほど、人が手作業で測定を行うことは非現実的な作業となる。   Many of these methods are based on the premise that the positions and orientations of all the indices in the space are known, and it is necessary to measure and input the positions and orientations of the indices in advance. As the index, an artificial marker (hereinafter referred to as a marker) or a natural feature is generally used. When markers are used, the more markers that are placed, the more unrealistic it is for a person to perform manual measurements.

位置合わせ処理を可能とする空間の範囲を広げるためには、多数のマーカを広範囲に設置することが必要となる。従ってこれら多数の広範囲に設置されたマーカの位置姿勢を効率よくかつ高精度に測定する手段が求められている。   In order to expand the range of the space in which the alignment process can be performed, it is necessary to install a large number of markers in a wide range. Therefore, there is a need for means for efficiently and highly accurately measuring the position and orientation of these many widely installed markers.

近年、マーカを撮影した画像から、マーカ同士の相対位置姿勢をキャリブレーションする方法が提案されている(非特許文献1参照)。   In recent years, a method for calibrating the relative position and orientation of markers from an image obtained by photographing the markers has been proposed (see Non-Patent Document 1).

この方法によって全てのマーカ同士の相対位置姿勢を求めた後、任意のマーカの世界座標系における位置姿勢を決定すれば、世界座標系におけるすべてのマーカの位置姿勢を求めることが可能となった。   After obtaining the relative positions and orientations of all the markers by this method, the positions and orientations of all the markers in the world coordinate system can be obtained by determining the positions and orientations of the arbitrary markers in the world coordinate system.

この方法における位置合わせ処理に必要な作業およびキャリブレーション処理の概要は以下のとおりである。   The work required for the alignment process in this method and the outline of the calibration process are as follows.

(1.1) マーカを作成し、位置合わせ処理を行う空間内に設置する。   (1.1) Create a marker and place it in the space where the alignment process is performed.

(1.2) 世界座標系における位置姿勢が決定されているマーカ(基準マーカ)の位置姿勢を入力する。   (1.2) The position and orientation of a marker (reference marker) whose position and orientation are determined in the world coordinate system are input.

(1.3) マーカを撮影する。   (1.3) Shoot the marker.

(1.4) キャリブレーションを行う。   (1.4) Perform calibration.

(ア) 複数のマーカが含まれる画像から、ある1つのマーカとカメラとの相対位置姿勢を計算する。       (A) The relative position and orientation of a certain marker and the camera are calculated from an image including a plurality of markers.

(イ) 別のマーカとカメラとの相対位置姿勢を計算する。       (B) Calculate the relative position and orientation of another marker and the camera.

(ウ) 2つのマーカ間の相対位置姿勢を計算する。       (C) Calculate the relative position and orientation between the two markers.

(エ) これをすべての複数のマーカが含まれる画像について行い、すべてのマーカ間の相対位置姿勢を計算する。       (D) This is performed for an image including all of the plurality of markers, and the relative positions and orientations between all the markers are calculated.

(オ) 基準マーカから、基準マーカ以外のすべてのマーカ(相対マーカ)の絶対位置姿勢を計算する。       (E) Calculate the absolute position and orientation of all markers (relative markers) other than the reference marker from the reference marker.

(1.5) キャリブレーションにより位置姿勢が求められたマーカを使用して位置合わせ処理を行う。   (1.5) Alignment processing is performed using a marker whose position and orientation are obtained by calibration.

一般的な自然特徴を用いた位置合わせは、自然特徴データベースの作成、及び自然特徴データベースを用いたカメラの位置姿勢の推定、といった2つの工程から構成される(非特許文献2)。自然特徴データベースの作成は、マーカのキャリブレーションと同様に、現実空間を撮影することで得られる多数の画像を用いて行われる。自然特徴を用いた位置合わせ処理に必要な作業の概要は以下のとおりである。   General alignment using natural features is composed of two steps: creation of a natural feature database and estimation of the position and orientation of the camera using the natural feature database (Non-Patent Document 2). The creation of the natural feature database is performed using a large number of images obtained by photographing the real space, similarly to the calibration of the marker. The outline of the work necessary for the alignment processing using natural features is as follows.

(2.1) 現実空間の画像を複数撮影する。   (2.1) Take multiple images of real space.

(2.2) 画像から特徴を抽出する。   (2.2) Extract features from the image.

(2.3) ある特徴の位置を、複数の画像から求める。   (2.3) The position of a certain feature is obtained from a plurality of images.

(ア) 複数の画像間で、特徴の対応を行う。       (A) Corresponding features between multiple images.

(イ) 複数の画像間の相対位置姿勢を、上記対応に基づいて求める。       (A) The relative position and orientation between a plurality of images is obtained based on the above correspondence.

(ウ) 上記相対位置姿勢に基づいて、特徴の三次元位置を求める。       (C) The three-dimensional position of the feature is obtained based on the relative position and orientation.

(エ) 全ての抽出された特徴に対してこれを実施する。       (D) Perform this for all extracted features.

(2.4) 上記で作成された自然特徴データベースを使用して、カメラの位置姿勢を推定し、位置合わせを行う。
小竹, 内山, 山本:マーカ配置に関する先駆的知識を利用したマーカキャリブレーション方法, 日本バーチャルリアリティ学会論文誌, vol.10, No.3, pp.401-410, 2005. Iryna Gordon, David G. Lowe:“Scene Modelling, Recognition and Tracking with Invariant Image Features”, Proc. Third IEEE and ACM International Symposium on Mixed and Augmented Reality, pp.110 − 119, 2004
(2.4) The position and orientation of the camera are estimated and aligned using the natural feature database created above.
Kotake, Uchiyama, Yamamoto: Marker calibration method using pioneering knowledge about marker placement, Transactions of the Virtual Reality Society of Japan, vol.10, No.3, pp.401-410, 2005. Iryna Gordon, David G. Lowe: “Scene Modeling, Recognition and Tracking with Invariant Image Features”, Proc. Third IEEE and ACM International Symposium on Mixed and Augmented Reality, pp.110 − 119, 2004

既存の手法では、マーカを利用した場合には、上記(1.3)の作業において撮影されたマーカ全てを上記(1.4)でキャリブレーションし、上記(1.5)の位置合わせ処理で使用していた。   In the existing method, when the marker is used, all the markers photographed in the operation (1.3) are calibrated by the above (1.4), and the alignment process of the above (1.5) is performed. I was using it.

使用するマーカの数が増えるほど、位置合わせの精度は向上するが、位置合わせ処理およびキャリブレーション処理の負荷が増大するため、使用するマーカの数は少ないほうが望ましい。操作者が、撮影時点で必要なマーカだけを撮影するように注意することで、ある程度マーカの数を少なくすることは可能である。しかし、これには操作者の経験と技術が必要となる。そのため実際には上記(1.1)〜(1.5)の作業を繰り返し行い、最適なマーカの配置と数を体験的に決定することが行われている。   As the number of markers used increases, the alignment accuracy improves. However, since the load of the alignment processing and calibration processing increases, it is desirable that the number of markers used be small. It is possible for the operator to reduce the number of markers to some extent by taking care that only the necessary markers are shot at the time of shooting. However, this requires operator experience and skills. Therefore, in practice, the above operations (1.1) to (1.5) are repeatedly performed, and the optimum arrangement and number of markers are determined empirically.

この時、既存の手法では、任意のマーカをキャリブレーションや位置合わせ処理から除外する場合には、取得した画像の全てあるいは一部を破棄し、マーカが取得画像に含まれないようにしてから再度キャリブレーションを行っていた。もしくはマーカを空間から除去した後、再度画像を取得し、キャリブレーションを行っていた。   At this time, in the existing method, when excluding any marker from the calibration and alignment processing, all or part of the acquired image is discarded, and the marker is not included in the acquired image, and then again. Calibration was in progress. Alternatively, after removing the marker from the space, the image is acquired again and calibration is performed.

また、キャリブレーションおよび位置合わせ処理を行う複数の画像処理装置を隣接した空間で使用する場合、(1.1)の作業において自分の画像処理装置が使用するために設置したマーカ以外に、隣接した画像処理装置が使用するために設置したマーカを偶然撮影する可能性が高くなる。この場合、不要な位置合わせ処理およびキャリブレーション処理が発生してしまう。   Further, when a plurality of image processing apparatuses that perform calibration and alignment processing are used in an adjacent space, in addition to the markers installed for use by the own image processing apparatus in the operation of (1.1), adjacent There is a high possibility that the marker installed for use by the image processing apparatus is accidentally photographed. In this case, unnecessary alignment processing and calibration processing occur.

さらに、自分の画像処理装置が使用するために配置したマーカのマーカIDと、隣接した画像処理装置が使用するために配置されているマーカのマーカIDが重複する可能性が存在する。この場合、キャリブレーションおよび位置合わせ処理が正しく動作しなくなってしまう。   Furthermore, there is a possibility that the marker ID of the marker arranged for use by the own image processing apparatus and the marker ID of the marker arranged for use by the adjacent image processing apparatus overlap. In this case, calibration and alignment processing will not operate correctly.

マーカIDの重複は、例えば(1.1)の作業において予備用として作成したマーカを不注意にキャリブレーションおよび位置合わせ処理を行う空間に放置したのを偶然撮影してしまうことでも発生する。また、マーカIDの重複は画像処理によるマーカの誤認識によっても発生する。   The overlap of the marker ID also occurs, for example, when the marker created for the preliminary operation in the operation (1.1) is inadvertently left in the space where the calibration and alignment processing is accidentally shot. In addition, duplication of marker IDs also occurs due to erroneous marker recognition by image processing.

マーカの誤認識はマーカに類似した被写体の撮影、マーカを撮影する装置の露出・絞り等のパラメータ、撮影環境における光の状況などの外乱により発生し、画像処理装置の操作者が十分注意しても発生しないようにすることは困難であった。   Marker misrecognition occurs due to disturbances such as shooting a subject similar to the marker, parameters such as exposure and aperture of the device that captures the marker, and light conditions in the shooting environment. It was difficult to prevent this from occurring.

既存の手法では、重複したマーカをキャリブレーションや位置合わせ処理から除外するためには、取得した画像の全てあるいは一部を破棄した後、重複したマーカ以外の全てのマーカを再撮影していた。   In the existing method, in order to exclude the duplicated marker from the calibration and alignment processing, all or a part of the acquired image is discarded, and then all the markers other than the duplicated marker are re-photographed.

一方、自然特徴を利用した場合には、上記(2.2)の作業において抽出された特徴の位置を、上記(2.3)の処理で算出し、自然特徴データベースを作成し、上記(2.4)の位置合わせ処理で使用していた。   On the other hand, when the natural feature is used, the position of the feature extracted in the operation of (2.2) is calculated by the processing of (2.3), a natural feature database is created, and the above (2) 4) was used in the alignment process.

既存の方法では、類似した特徴が数多く出現する可能性がある。この場合、自然特徴データベースの作成や、位置合わせ処理において、類似した特徴を同一の特徴として誤って対応付けることがあり、正しく動作しない危険性がある。   With existing methods, many similar features may appear. In this case, there is a risk that similar features may be mistakenly associated with each other as the same feature in the creation of the natural feature database or the alignment process, and the operation may not be performed correctly.

本発明は以上の問題に鑑みてなされたものであり、自動的もしくは半自動的にキャリブレーションおよび位置合わせ処理に使用する指標を選択する為の技術を提供することを目的とする。   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 automatically or semi-automatically selecting an index used for calibration and alignment processing.

また、本発明の別の目的は、マーカ定義情報に応じて、キャリブレーションの実行に必要な作業を操作者に通知することで、操作者が行う位置合わせのための設定作業の負荷を軽減することにある。   Another object of the present invention is to notify the operator of work necessary for executing calibration according to the marker definition information, thereby reducing the load of setting work for alignment performed by the operator. There is.

本発明の目的を達成するために、例えば、本発明の画像処理方法は以下の構成を備える。   In order to achieve the object of the present invention, for example, an image processing method of the present invention comprises the following arrangement.

即ち、識別可能なパターンを有する複数のマーカが配された現実空間の画像を取得する取得工程と、
前記取得工程で取得した画像中のマーカのパターンから、当該マーカのIDを識別し、当該識別されたIDを所定のファイルに登録する識別工程と、
前記識別工程で識別され前記所定のファイルに登録されたID同士を比較して、識別されたIDが同一である複数のマーカを重複して配置されたマーカとして検知する検知工程と、
前記識別工程で識別されたマーカのうち、前記検知工程で検知された重複して配置されたマーカ以外のマーカの現実空間中の位置及び/若しくは姿勢を計算する計算工程と
を有することを特徴とする。
That is, an acquisition step of acquiring an image of a real space in which a plurality of markers having identifiable patterns are arranged;
An identification step of identifying the ID of the marker from the pattern of the marker in the image acquired in the acquisition step, and registering the identified ID in a predetermined file ;
A detection step of comparing the IDs identified in the identification step and registered in the predetermined file, and detecting a plurality of markers having the same identified ID as overlapping markers;
A calculation step of calculating a position and / or orientation in a real space of markers other than the overlappingly arranged markers detected in the detection step among the markers identified in the identification step, To do.

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

即ち、識別可能なパターンを有する複数のマーカが配された現実空間の画像を取得する取得手段と、
前記取得手段が取得した画像中のマーカのパターンから、当該マーカのIDを識別し、当該識別されたIDを所定のファイルに登録する識別手段と、
前記識別手段が識別し前記所定のファイルに登録したID同士を比較して、識別されたIDが同一である複数のマーカを重複して配置されたマーカとして検知する検知手段と、
前記識別手段によって識別されたマーカのうち、前記検知手段によって検知された重複して配置されたマーカ以外のマーカの現実空間中の位置及び/若しくは姿勢を計算する計算手段と
を備えることを特徴とする。
That is, an acquisition means for acquiring an image of a real space in which a plurality of markers having identifiable patterns are arranged;
Identifying means for identifying the ID of the marker from the pattern of the marker in the image obtained by the obtaining means, and registering the identified ID in a predetermined file ;
Detecting means for comparing IDs identified by the identifying means and registered in the predetermined file, and detecting a plurality of markers having the same identified ID as overlapping markers;
Calculating means for calculating a position and / or orientation in a real space of markers other than the overlappingly arranged markers detected by the detecting means among the markers identified by the identifying means, To do.

本発明の構成によれば、自動的もしくは半自動的にキャリブレーションおよび位置合わせ処理に使用するマーカを選択することができる。   According to the configuration of the present invention, a marker to be used for calibration and alignment processing can be selected automatically or semi-automatically.

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

[第1の実施形態]
本実施形態では、マーカを指標の一例として用いた場合について説明する。
[First Embodiment]
In this embodiment, a case where a marker is used as an example of an index will be described.

図1は、本実施形態で用いるマーカの構成例(フォーマット例、パターン例)を示す図である。同図に示す如く、本実施形態で用いるマーカは、4×4の小正方形でもって構成されており、更に4×4の小正方形は、4隅(blk1〜blk3,wht)、c1〜c4、x1〜x8に分類される。また、各小正方形は白か黒の何れかで塗りつぶされており、塗りつぶされた色によってビット値「0」若しくはビット値「1」を表している。例えば白で塗りつぶされている小正方形はビット値「0」を表しているし、黒で塗りつぶされている小正方形はビット値「1」を表している。   FIG. 1 is a diagram illustrating a configuration example (format example, pattern example) of a marker used in the present embodiment. As shown in the figure, the marker used in the present embodiment is configured by 4 × 4 small squares, and the 4 × 4 small squares further include four corners (blk1 to blk3, white), c1 to c4, It is classified into x1 to x8. Each small square is filled with either white or black, and represents a bit value “0” or a bit value “1” depending on the filled color. For example, a small square filled with white represents a bit value “0”, and a small square filled with black represents a bit value “1”.

先ず、4隅の小正方形(blk1〜blk3,wht)について説明する。4隅の小正方形は何れか1つが白(wht)で、残り3つが黒(blk1〜3)である。これらはマーカ座標系を定義するために使用されるものである。マーカ座標系とは、マーカ毎に定義される座標系であって、より具体的にはblk1とblk2とを結ぶ線分の方向をx座標軸の正方向、blk3とblk2とを結ぶ線分の方向をy座標軸の正方向、マーカの法線方向をz座標軸の正方向、マーカの中心位置を原点とする座標系である。図3は、マーカ座標系を示す図である。マーカの世界座標系における位置は、世界座標系におけるマーカ座標系原点の位置で決定される。また、マーカの世界座標系における姿勢は、マーカ座標系が世界座標系を基準にどのように回転しているかによって決定される。   First, small squares (blk1 to blk3, whit) at four corners will be described. Any one of the four small squares is white (wht), and the remaining three are black (blk 1 to 3). These are used to define the marker coordinate system. The marker coordinate system is a coordinate system defined for each marker. More specifically, the direction of the line connecting blk1 and blk2 is the positive direction of the x coordinate axis, and the direction of the line connecting blk3 and blk2 Is a coordinate system with the positive direction of the y coordinate axis, the normal direction of the marker as the positive direction of the z coordinate axis, and the center position of the marker as the origin. FIG. 3 is a diagram showing a marker coordinate system. The position of the marker in the world coordinate system is determined by the position of the marker coordinate system origin in the world coordinate system. Further, the posture of the marker in the world coordinate system is determined by how the marker coordinate system is rotated with respect to the world coordinate system.

このことから、このようなマーカを撮像するカメラとマーカとの相対位置姿勢は、マーカ画像におけるマーカの形状、辺の長さ、中心位置を用いて、周知の技術により求めることができる。   From this, the relative position and orientation between the camera that images such a marker and the marker can be obtained by a known technique using the marker shape, side length, and center position in the marker image.

次に、c1〜c4、x1〜x8について説明する。x1〜x8は、マーカ固有の識別子(マーカID)を表すためのものである。x1〜x8で8ビットを表現できるので、マーカIDは0〜255の値を取ることができる。c1〜c4は検査ビットであり、画像処理による情報ビットの誤認識が発生した場合の訂正に使用される。   Next, c1 to c4 and x1 to x8 will be described. x1 to x8 are for representing an identifier (marker ID) unique to the marker. Since 8 bits can be expressed by x1 to x8, the marker ID can take a value of 0 to 255. c1 to c4 are inspection bits, and are used for correction when an information bit is erroneously recognized by image processing.

検査ビットの値は以下の式から求められる。   The value of the check bit can be obtained from the following equation.

c1=not(x1+x2+x3 +x5+x6 )
c2=not( x2+x3+x4 +x6+x7 )
c3=not( x3+x4+x5 +x7+x8)
c4=not(x1 +x4+x5+x6 +x8)
図2は、図1に示したフォーマットに従って作成された実際のマーカの一例を示す図である。上述の通り、各小正方形は白若しくは黒でもって塗りつぶされており、それぞれの小正方形は割り当てられた情報を表している。なお、マーカのサイズについては特に限定するものではないが、本実施形態では、現実空間中に配する全てのマーカの一辺の長さについては全て同じであるとする。
c1 = not (x1 + x2 + x3 + x5 + x6)
c2 = not (x2 + x3 + x4 + x6 + x7)
c3 = not (x3 + x4 + x5 + x7 + x8)
c4 = not (x1 + x4 + x5 + x6 + x8)
FIG. 2 is a diagram showing an example of an actual marker created in accordance with the format shown in FIG. As described above, each small square is filled with white or black, and each small square represents assigned information. In addition, although it does not specifically limit about the size of a marker, In this embodiment, suppose that all the lengths of one side of all the markers arranged in the real space are the same.

次に、このようなマーカの位置姿勢を求める、本実施形態に係る画像処理装置について説明する。図4は、本実施形態に係る画像処理装置の機能構成を示すブロック図である。   Next, the image processing apparatus according to the present embodiment for obtaining the position and orientation of such a marker will be described. FIG. 4 is a block diagram illustrating a functional configuration of the image processing apparatus according to the present embodiment.

同図において100は画像処理装置本体を示している。画像入力部101は、ディジタルカメラやハードディスク装置などの外部装置から供給される画像を取得する。ここで取得する画像は、図1〜3を用いて説明したマーカが複数配置された現実空間の画像である。画像入力部101は取得した画像を後段の画像取得部102に供給する。   In the figure, reference numeral 100 denotes an image processing apparatus main body. The image input unit 101 acquires an image supplied from an external device such as a digital camera or a hard disk device. The image acquired here is an image of a real space in which a plurality of markers described with reference to FIGS. The image input unit 101 supplies the acquired image to the subsequent image acquisition unit 102.

画像取得部102は、画像入力部101から受けた画像を、本装置が扱うことのできるフォーマットに変更する等、様々な前処理をこの画像に対して行う。処理済みの画像は後段の画像管理部106に送出する。   The image acquisition unit 102 performs various preprocessing on the image, such as changing the image received from the image input unit 101 to a format that can be handled by the apparatus. The processed image is sent to the subsequent image management unit 106.

画像管理部106は、画像取得部102から画像を受けると、これを記憶部110に格納する処理を行う。また、必要に応じて記憶部110に格納されている画像や、後述するマーカ定義情報を読み出し、指標管理部107や画像合成部111に送出する。   When the image management unit 106 receives an image from the image acquisition unit 102, the image management unit 106 stores the image in the storage unit 110. Further, an image stored in the storage unit 110 and marker definition information described later are read out as necessary, and are sent to the index management unit 107 and the image composition unit 111.

記憶部110は、画像管理部106から受けた画像や、後述するマーカ定義情報を記憶するためのものである。   The storage unit 110 is for storing an image received from the image management unit 106 and marker definition information described later.

ここで、マーカ定義情報とは、マーカに関する様々な情報の集まりで、マーカ毎に存在する。本実施形態では、マーカ定義情報は、マーカID、マーカ状態、マーカサイズ、マーカ位置姿勢により構成されている。マーカ定義情報は、例えば、図5に示すようなテーブル形式でもって記憶部110に格納されている。   Here, the marker definition information is a collection of various information related to the marker and exists for each marker. In the present embodiment, the marker definition information includes a marker ID, a marker state, a marker size, and a marker position and orientation. The marker definition information is stored in the storage unit 110 in a table format as shown in FIG. 5, for example.

図5は、それぞれのマーカに対するマーカ定義情報を登録したテーブル(マーカ定義情報テーブル)の構成例を示すブロック図である。同図に示す如く、テーブルには、それぞれのマーカについて、「マーカID」、「マーカ状態」、「マーカサイズ」、「マーカの位置、姿勢」が登録されている。   FIG. 5 is a block diagram illustrating a configuration example of a table (marker definition information table) in which marker definition information for each marker is registered. As shown in the figure, in the table, “marker ID”, “marker state”, “marker size”, and “marker position and orientation” are registered for each marker.

「マーカID」は上述の通り、マーカに記されたx1〜x8に対応するものである。即ち、マーカIDにはビット列x1〜x8が示す値が登録されている。   As described above, “marker ID” corresponds to x1 to x8 marked on the marker. That is, the values indicated by the bit strings x1 to x8 are registered in the marker ID.

「マーカ状態」は同図に示す如く、基準マーカフラグ、検出フラグ、対象フラグ、完了ステータスにより構成されている。   As shown in the figure, the “marker state” includes a reference marker flag, a detection flag, a target flag, and a completion status.

基準マーカフラグとは、マーカが基準マーカであるのか否かを示すフラグである。基準マーカフラグが「1」であれば基準マーカであることを示し、「0」であれば基準マーカではない(換言すれば相対マーカである)ことを示している。同図ではマーカID=7のマーカのみが基準マーカフラグ=1であり、このマーカのみが基準マーカであることを示している。   The reference marker flag is a flag indicating whether or not the marker is a reference marker. If the reference marker flag is “1”, it is a reference marker, and if it is “0”, it is not a reference marker (in other words, a relative marker). In the figure, only the marker with marker ID = 7 is the reference marker flag = 1, and it is shown that only this marker is the reference marker.

検出フラグとは、マーカが、画像取得部102から送出された画像から検出されたか否かを示すフラグである。検出フラグが「1」であれば検出されたことを示し、「0」であれば検出されなかったことを示す。同図では、マーカID=1,7,45,125のマーカが検出フラグ=1であり、マーカID=1,7,45,125のマーカが画像から検出されたことを示している。   The detection flag is a flag indicating whether or not the marker is detected from the image transmitted from the image acquisition unit 102. If the detection flag is “1”, it indicates that it has been detected, and if it is “0”, it indicates that it has not been detected. In the drawing, the markers with marker ID = 1, 7, 45, 125 are detection flag = 1, and the markers with marker ID = 1, 7, 45, 125 are detected from the image.

対象フラグとは、マーカが位置姿勢計算対象である(即ちキャリブレーション対象である)か否かを示すフラグである。対象フラグが「1」であれば、計算対象となることを示し、「0」であれば計算対象ではないことを示す。同図では、マーカID=1,7,45のマーカが対象フラグ=1であり、マーカID=1,7,45のマーカはキャリブレーション対象であることを示している。一方、マーカID=125のマーカは対象フラグ=0であり、キャリブレーション対象ではないことを示している。   The target flag is a flag indicating whether or not the marker is a position / orientation calculation target (that is, a calibration target). If the target flag is “1”, it indicates that it is a calculation target, and if it is “0”, it indicates that it is not a calculation target. In the figure, the markers with marker ID = 1, 7, 45 are the target flag = 1, and the markers with marker ID = 1, 7, 45 are calibration targets. On the other hand, the marker with marker ID = 125 has a target flag = 0, indicating that it is not a calibration target.

完了ステータスとは、マーカのキャリブレーションが実行されたか否かを示すフラグである。完了ステータスが「1」であれば、位置姿勢計算が実行されており、「0」であれば位置姿勢計算が実行されておらず、「2」であれば、位置姿勢計算を実行したが計算に失敗して正しく位置姿勢が求められていないことを示している。同図では、マーカID=1のマーカは完了ステータス=2であり、このマーカの位置姿勢は正しく求められていない。また、マーカID=7,45のマーカは完了ステータス=1であり、これらのマーカにこれらのマーカについては正しく位置姿勢が求められている。マーカID=125のマーカの完了ステータス=0であり、このマーカについては未だ位置姿勢計算が実行されていない。   The completion status is a flag indicating whether or not marker calibration has been executed. If the completion status is “1”, the position / orientation calculation is executed. If “0”, the position / orientation calculation is not executed. If it is “2”, the position / orientation calculation is executed. This indicates that the position and orientation are not calculated correctly. In the figure, the marker with marker ID = 1 has a completion status = 2, and the position and orientation of this marker have not been determined correctly. Further, the markers with marker ID = 7, 45 have the completion status = 1, and the position and orientation of these markers are correctly determined for these markers. The completion status = 0 of the marker with marker ID = 125 is 0, and the position / orientation calculation has not yet been executed for this marker.

「マーカサイズ」は、マーカの一辺の長さを示している。上述の通り、本実施形態では、全てのマーカは一辺が同じ長さを有しているものとしている。同図では、マーカID=1,7,45,125のマーカは全て一辺が「40」となっている。   “Marker size” indicates the length of one side of the marker. As described above, in this embodiment, all the markers have the same length on one side. In the figure, all the markers with marker ID = 1, 7, 45, 125 are “40” on one side.

「マーカの位置、姿勢」はそれぞれ、マーカの世界座標系における位置、姿勢を示している。ここでマーカの姿勢は回転軸ベクトルと回転角で表現されている。すなわち世界座標系とマーカ座標系の各軸を一致させた状態で、回転軸ベクトルを中心としてマーカ座標系を右に回転させた状態を表している。   “Marker position and orientation” indicate the position and orientation of the marker in the world coordinate system, respectively. Here, the posture of the marker is expressed by a rotation axis vector and a rotation angle. That is, it represents a state in which the marker coordinate system is rotated to the right around the rotation axis vector in a state where the axes of the world coordinate system and the marker coordinate system are matched.

以上説明したテーブルのデータが記憶部110に登録されている。   The table data described above is registered in the storage unit 110.

図4に戻って次に、指標管理部107は、記憶部110や画像管理部106から送出された情報を指標位置姿勢計算部108や指標抽出部109に送出する処理を行う。   Returning to FIG. 4, the index management unit 107 performs processing for transmitting information transmitted from the storage unit 110 and the image management unit 106 to the index position / orientation calculation unit 108 and the index extraction unit 109.

指標位置姿勢計算部108は、後述する処理により位置姿勢計算対象として特定されたマーカの世界座標系における位置姿勢を計算する処理を行う。指標抽出部109は、記憶部110から指標管理部107を介して受けた画像からマーカを検出する処理を行う。指標位置姿勢計算部108、指標抽出部109のそれぞれが求めた結果は指標管理部107に送出される。即ち、指標管理部107は、指標に係る様々な情報を管理している。   The index position / orientation calculation unit 108 performs a process of calculating the position / orientation in the world coordinate system of the marker specified as the position / orientation calculation target by the process described later. The index extraction unit 109 performs processing for detecting a marker from an image received from the storage unit 110 via the index management unit 107. The results obtained by the index position and orientation calculation unit 108 and the index extraction unit 109 are sent to the index management unit 107. That is, the index management unit 107 manages various information related to the index.

画像合成部111は、画像取得部102から送出された画像上における各マーカのうち、後述する処理により位置姿勢計算対象として特定されたマーカについて、マーカIDなどのマーカ情報やマーカの輪郭形状を理解しやすくするコンピュータグラフィックス(CG)を生成する。そして、生成したCGを記憶部110から指標管理部107を介して受けた画像上に重畳する処理を行う。画像合成部111による処理後の画像は後段のユーザインターフェース管理部103に送出される。   The image composition unit 111 understands marker information such as a marker ID and the outline shape of the marker for each marker on the image sent from the image acquisition unit 102 that has been specified as a position / orientation calculation target by processing to be described later. Generate computer graphics (CG) to make it easier. Then, a process of superimposing the generated CG on the image received from the storage unit 110 via the index management unit 107 is performed. The image processed by the image composition unit 111 is sent to the user interface management unit 103 at the subsequent stage.

ユーザインターフェース管理部103は、表示部105の表示画面上に表示する情報を管理するものであり、画像合成部111から受けた画像を表示部105に送出する。また、ユーザインターフェース管理部103は、制御部104から受けた各種の指示を受け、受けた指示に応じて上記各部を制御し、制御結果に応じた表示を表示部105の表示画面上に行う処理も行う。   The user interface management unit 103 manages information to be displayed on the display screen of the display unit 105, and sends the image received from the image composition unit 111 to the display unit 105. Further, the user interface management unit 103 receives various instructions received from the control unit 104, controls the above-described units in accordance with the received instructions, and performs a display corresponding to the control result on the display screen of the display unit 105. Also do.

表示部105は、CRTや液晶画面などにより構成されており、各種の処理結果を画像や文字などでもって表示することができる。制御部104は、本装置の操作者からの操作指示を受け、ユーザインターフェース管理部103に通知する。   The display unit 105 is configured by a CRT, a liquid crystal screen, or the like, and can display various processing results as images or characters. The control unit 104 receives an operation instruction from the operator of the apparatus and notifies the user interface management unit 103 of the operation instruction.

図30は、上記画像処理装置100に適用可能なコンピュータのハードウェア構成を示すブロック図である。   FIG. 30 is a block diagram showing a hardware configuration of a computer applicable to the image processing apparatus 100.

3001はCPUで、RAM3002やROM3003に格納されているプログラム(コンピュータプログラム)やデータを用いて本コンピュータ全体の制御を行うと共に、本コンピュータが行う後述の各処理を実行する。例えば、図4に示した画像処理装置100の構成において、画像入力部101、記憶部110、表示部105を除く各部が有する機能は、CPU3001が有する機能の一部として機能する。   Reference numeral 3001 denotes a CPU which controls the entire computer using programs (computer programs) and data stored in the RAM 3002 and ROM 3003 and executes each process described later performed by the computer. For example, in the configuration of the image processing apparatus 100 illustrated in FIG. 4, functions included in each unit other than the image input unit 101, the storage unit 110, and the display unit 105 function as part of the functions included in the CPU 3001.

3002はRAMで、外部記憶装置3006からロードされたプログラムやデータ、I/F(インターフェース)3007を介して外部(本実施形態の場合にはカメラなどの撮像装置)から取得したデータ(本実施形態の場合には撮像画像)を一時的に記憶するためのエリアを有する。更にRAM3002は、CPU3001が各種の処理を実行する際に用いるワークエリアを有する。このように、RAM3002は、各種の用途に応じて適宜エリアを提供することができる。   Reference numeral 3002 denotes a RAM, which is a program or data loaded from an external storage device 3006, or data acquired from the outside (an imaging device such as a camera in the case of this embodiment) via an I / F (interface) 3007 (this embodiment). In this case, an area for temporarily storing a captured image) is provided. Further, the RAM 3002 has a work area used when the CPU 3001 executes various processes. As described above, the RAM 3002 can appropriately provide an area according to various uses.

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

3004は操作部で、キーボードやマウスなどにより構成されており、本コンピュータの操作者が操作することで、各種の指示をCPU3001に対して入力することができる。   An operation unit 3004 includes a keyboard and a mouse, and various instructions can be input to the CPU 3001 when operated by an operator of the computer.

3005は表示部で、CRTや液晶画面等により構成されており、CPU3001による処理結果を画像や文字などでもって表示することができる。表示部3005は、図4における表示部105に相当するものである。   A display unit 3005 includes a CRT, a liquid crystal screen, and the like, and can display a processing result by the CPU 3001 using an image, text, or the like. The display unit 3005 corresponds to the display unit 105 in FIG.

3006は外部記憶装置で、ハードディスクドライブ装置に代表される大容量情報記憶装置である。ここにはOS(オペレーティングシステム)や、上記記憶部110が保持する各種の情報(データ)、本コンピュータが行う後述の各処理をCPU3001に実行させるためのプログラムやデータが保存されている。これらのプログラムやデータはCPU3001による制御に従って適宜RAM3002にロードされる。そしてCPU3001はこのロードされたプログラムやデータを用いて処理を実行することで、本コンピュータが行う後述の各処理を実行することになる。   Reference numeral 3006 denotes an external storage device, which is a large-capacity information storage device represented by a hard disk drive device. Here, an OS (Operating System), various types of information (data) held by the storage unit 110, and programs and data for causing the CPU 3001 to execute processes described below performed by the computer are stored. These programs and data are appropriately loaded into the RAM 3002 under the control of the CPU 3001. The CPU 3001 executes processes using the loaded program and data, thereby executing processes to be described later performed by the computer.

3007はI/Fで、本実施形態の場合には、上記マーカが複数配された現実空間を撮像する撮像装置を本コンピュータに接続するためのインターフェースとして機能するものである。この撮像装置が撮像した画像は、このI/F3007を介して本コンピュータのRAM3002や外部記憶装置3006に入力される。   Reference numeral 3007 denotes an I / F. In the case of the present embodiment, the I / F functions as an interface for connecting an imaging device for imaging a real space in which a plurality of the markers are arranged to the computer. An image captured by the imaging apparatus is input to the RAM 3002 or the external storage device 3006 of the computer via the I / F 3007.

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

なお、本実施形態に係る画像処理装置100に適用可能なコンピュータのハードウェア構成については同図に示した構成に限定するものではなく、画像処理装置100が行う後述の各処理を実行可能な構成であれば良い。   Note that the hardware configuration of a computer applicable to the image processing apparatus 100 according to the present embodiment is not limited to the configuration shown in the figure, and a configuration capable of executing each process described below performed by the image processing apparatus 100. If it is good.

次に、上記コンピュータ上で動作し、現実空間中に配された指標の位置姿勢を求めるために用いるGUI(グラフィカルユーザインターフェース)について説明する。図6は、このGUIの表示例を示す図である。なお、同図のGUIに係るプログラムやデータは外部記憶装置3006に保存されている。これをRAM3002にロードし、CPU3001がこのロードされたプログラムやデータを用いて処理を実行することで、同図に示した構成を有するウィンドウが表示部3005の表示画面上に表示される。これは、以下の説明で登場するその他のウィンドウについても同様である。   Next, a GUI (graphical user interface) that operates on the computer and is used to obtain the position and orientation of the index placed in the real space will be described. FIG. 6 is a diagram showing a display example of this GUI. Note that the programs and data related to the GUI shown in FIG. When this is loaded into the RAM 3002 and the CPU 3001 executes processing using the loaded program and data, a window having the configuration shown in the figure is displayed on the display screen of the display unit 3005. The same applies to other windows appearing in the following description.

なお、以下の説明では特に触れない限りは、GUIに対する操作は本コンピュータの操作者が操作部3004を用いて行うものとし、この操作によって実行される処理についてはCPU3001が行うものとする。   Unless otherwise specified in the following description, operations on the GUI are performed by an operator of the computer using the operation unit 3004, and processing executed by this operation is performed by the CPU 3001.

図6に示したGUIにおいて「ファイル」メニュー210を指示すると、表示部3005の表示画面上には図7に示すようなファイルメニューが表示される。図7に示したファイルメニューにおいて「マーカ定義ファイルを開く」メニュー212を指示すると、図10に示したウィンドウが表示部3005の表示画面上に表示される。図10に示したウィンドウにおいて300は、外部記憶装置3006に保存されているマーカ定義ファイルのファイル名を一覧表示するための領域であり、本コンピュータの操作者は操作部3004を用いて、この領域300内に表示されているファイル名のうち何れか1つを選択することができる。マーカ定義ファイルとは、図5に示したテーブルのデータを記録したファイルである。複数のマーカ定義ファイルを外部記憶装置3006に保存させておくと、図10に示したGUIでこれらのファイルを選択することができる。   When the “file” menu 210 is designated in the GUI shown in FIG. 6, a file menu as shown in FIG. 7 is displayed on the display screen of the display unit 3005. When the “open marker definition file” menu 212 is designated in the file menu shown in FIG. 7, the window shown in FIG. 10 is displayed on the display screen of the display unit 3005. In the window shown in FIG. 10, reference numeral 300 denotes an area for displaying a list of file names of marker definition files stored in the external storage device 3006. The operator of the computer uses the operation unit 3004 to display this area. Any one of the file names displayed in 300 can be selected. The marker definition file is a file in which data of the table shown in FIG. 5 is recorded. If a plurality of marker definition files are stored in the external storage device 3006, these files can be selected using the GUI shown in FIG.

ここで、操作者がファイルを1つ選択して「OK」ボタン310を指示すると、画像処理装置は同図に示したウィンドウの表示を消去した後、選択したファイルの内容に従って、図6のGUIにおける領域230内の表示を更新する。領域230内に表示されている情報の詳細については後述する。   Here, when the operator selects one file and designates an “OK” button 310, the image processing apparatus deletes the display of the window shown in the figure, and then, according to the content of the selected file, the GUI shown in FIG. The display in the area 230 is updated. Details of the information displayed in the area 230 will be described later.

図7のファイルメニューに戻って、「マーカ定義ファイルを新規作成」メニュー214を指示すると、表示部3005の表示画面上には図11に示すようなウィンドウが表示される。図11に示したウィンドウにおいて400は、新規作成するマーカ定義ファイルのファイル名を入力するための領域である。本コンピュータの操作者が操作部3004を用いて領域400に新規のマーカ定義ファイルのファイル名を入力後「OK」ボタン410を指示すると、画像処理装置は同図に示したウィンドウの表示を消去した後、領域400内に入力したファイル名を有するマーカ定義ファイルを外部記憶装置3006内に作成する。   Returning to the file menu of FIG. 7 and instructing the “create new marker definition file” menu 214, a window as shown in FIG. 11 is displayed on the display screen of the display unit 3005. In the window shown in FIG. 11, reference numeral 400 denotes an area for inputting a file name of a marker definition file to be newly created. When the operator of the computer inputs the file name of a new marker definition file in the area 400 using the operation unit 3004 and instructs the “OK” button 410, the image processing apparatus deletes the window display shown in FIG. Thereafter, a marker definition file having the file name input in the area 400 is created in the external storage device 3006.

図7のファイルメニューに戻って、「マーカ定義ファイルを保存」メニュー216を指示すると、現在開いているマーカ定義ファイルを外部記憶装置3006に保存する処理を行う。   Returning to the file menu of FIG. 7, when a “save marker definition file” menu 216 is instructed, a process of saving the marker definition file currently opened in the external storage device 3006 is performed.

「終了」メニュー218を指示すると、CPU3001はOSが有する周知のシャットダウン機能を用いてシャットダウンに係る処理を行い、本コンピュータのシャットダウンを行う。   When an “end” menu 218 is instructed, the CPU 3001 performs a process related to shutdown using a known shutdown function of the OS, and shuts down the computer.

図6に示したGUIに戻って、「編集」メニュー220を指示すると、表示部3005の表示画面上には、図8に示した編集メニューが表示される。図8に示した編集メニューにおいて「マーカ定義情報の新規作成」メニュー222を指示すると、マーカ定義情報が新規に作成され、現在開いているマーカ定義ファイルに追加登録される。そして追加登録後、現在開いているマーカ定義ファイルの内容に従って、図6のGUIにおける領域230内の表示を更新する。ここで、マーカIDの重複を避けるため、新規作成するマーカ定義情報のマーカIDは、マーカ定義情報テーブルにおいて未使用の値が使用される。新規作成されたマーカ定義情報は、後述するウィンドウ上で変更することができる。   Returning to the GUI shown in FIG. 6, when the “edit” menu 220 is designated, the edit menu shown in FIG. 8 is displayed on the display screen of the display unit 3005. When the “create new marker definition information” menu 222 is instructed in the edit menu shown in FIG. 8, the marker definition information is newly created and additionally registered in the currently opened marker definition file. After the additional registration, the display in the area 230 in the GUI of FIG. 6 is updated according to the contents of the marker definition file that is currently open. Here, in order to avoid duplication of marker IDs, unused values in the marker definition information table are used as marker IDs of newly created marker definition information. The newly created marker definition information can be changed on a window to be described later.

図8の編集メニューに戻って、「マーカ定義情報の削除」メニュー224を指示すると、図6のGUIにおける領域230内で現在選択しているマーカ定義情報が、現在開いているマーカ定義ファイルから削除される。そして削除後、現在開いているマーカ定義ファイルの内容に従って、図6のGUIにおける領域230内の表示を更新する。この更新表示により、削除されたマーカ定義情報は表示されなくなる。   Returning to the editing menu of FIG. 8, when the “delete marker definition information” menu 224 is designated, the marker definition information currently selected in the area 230 in the GUI of FIG. 6 is deleted from the marker definition file currently opened. Is done. After deletion, the display in the area 230 in the GUI of FIG. 6 is updated according to the contents of the marker definition file that is currently open. Due to this updated display, the deleted marker definition information is not displayed.

「マーカ定義情報の編集」メニュー226を指示すると、図9に示すようなウィンドウが表示される。同図に示したウィンドウは、領域230内で現在選択されているマーカ定義情報の編集に使用する。250はウィンドウ本体である。   When the “edit marker definition information” menu 226 is designated, a window as shown in FIG. 9 is displayed. The window shown in the figure is used for editing the marker definition information currently selected in the area 230. Reference numeral 250 denotes a window body.

252は、現在選択されているマーカ定義情報におけるマーカIDを入力するための領域である。この領域252に入力した値が、現在選択されているマーカ定義情報におけるマーカIDとなる。   Reference numeral 252 denotes an area for inputting a marker ID in the currently selected marker definition information. The value input in this area 252 is the marker ID in the currently selected marker definition information.

254は、現在選択されているマーカ定義情報におけるマーカ位置を入力するための領域である。この領域254に入力した値が、現在選択されているマーカ定義情報におけるマーカ位置となる。   Reference numeral 254 denotes an area for inputting a marker position in the currently selected marker definition information. The value input in this area 254 is the marker position in the currently selected marker definition information.

256は、現在選択されているマーカ定義情報におけるマーカ姿勢を入力するための領域である。この領域256に入力した値が、現在選択されているマーカ定義情報におけるマーカ姿勢となる。   An area 256 is used to input a marker posture in the currently selected marker definition information. The value input in this area 256 is the marker posture in the currently selected marker definition information.

258は、現在選択されているマーカ定義情報におけるマーカサイズを入力するための領域である。この領域258に入力した値が、現在選択されているマーカ定義情報におけるマーカサイズとなる。なお、本実施形態では、領域258に入力したマーカサイズは、全てのマーカのマーカ定義情報に反映されるものとする。   Reference numeral 258 denotes an area for inputting a marker size in the currently selected marker definition information. The value input in this area 258 becomes the marker size in the currently selected marker definition information. In the present embodiment, the marker size input to the area 258 is reflected in the marker definition information of all markers.

259は、現在選択されているマーカ定義情報におけるマーカ状態に含まれている基準マーカフラグを編集するためのプルダウンメニューである。このプルダウンメニュー259には「基準マーカ」、「相対マーカ」が表示され、何れかを選択することができる。操作者が「基準マーカ」を選択すれば基準マーカフラグは「1」に設定され、「相対マーカ」を選択すれば基準マーカフラグは「0」に設定される。   Reference numeral 259 denotes a pull-down menu for editing the reference marker flag included in the marker state in the currently selected marker definition information. In this pull-down menu 259, “reference marker” and “relative marker” are displayed, and either one can be selected. If the operator selects “reference marker”, the reference marker flag is set to “1”, and if “relative marker” is selected, the reference marker flag is set to “0”.

ただし、本実施形態では、マーカ定義ファイルにおいて基準マーカは1つのみ存在可能とする。従って、基準マーカフラグを「1」にしたマーカ定義情報が既に存在する場合、他のマーカ定義情報を操作しても「相対マーカ」しか選択することができない。   However, in this embodiment, only one reference marker can exist in the marker definition file. Accordingly, if marker definition information with the reference marker flag set to “1” already exists, only “relative marker” can be selected even if other marker definition information is operated.

251は「OK」ボタンである。これを指示することで、選択中のマーカ定義情報を、各領域252〜259に入力された各情報で更新する処理を行う。即ち、現在選択されているマーカ定義情報におけるマーカID、マーカ位置、姿勢、マーカサイズ、基準マーカフラグをそれぞれ、領域252〜259に入力した情報に更新する処理を行う。但し、領域252に入力したマーカIDが同じファイル内で使用されていた場合には警告を表示部3005の表示画面上に表示し、マーカ定義情報の更新処理は行わない。   Reference numeral 251 denotes an “OK” button. By instructing this, the marker definition information being selected is updated with each piece of information input to each of the areas 252 to 259. That is, the marker ID, marker position, orientation, marker size, and reference marker flag in the currently selected marker definition information are updated to the information input in the areas 252 to 259, respectively. However, when the marker ID input to the area 252 is used in the same file, a warning is displayed on the display screen of the display unit 3005, and the marker definition information is not updated.

次に、図6のGUIにおける領域230について説明する。領域230内には、現在開いているマーカ定義ファイル内に記述されている各マーカのマーカ定義情報に応じた表示がなされている。より詳しくは、各行に1つのマーカに対するマーカ定義情報に応じた表示がなされている。   Next, the area 230 in the GUI of FIG. 6 will be described. In the area 230, a display corresponding to the marker definition information of each marker described in the marker definition file currently opened is displayed. More specifically, each row is displayed in accordance with marker definition information for one marker.

231はスライダバーである。上部、若しくは下部を指示することで、領域230内に表示している情報を上方、若しくは下方にスクロールさせることができる。   Reference numeral 231 denotes a slider bar. By indicating the upper part or the lower part, the information displayed in the area 230 can be scrolled upward or downward.

232はチェックボックスで、対応するマーカ定義情報中の対象フラグを設定するためのものである。チェックする(チェックマークがチェックボックス内に表示される)と対象フラグ=1となり、チェックを外す(チェックマークがチェックボックス内から消去される)と対象フラグ=0となる。例えば、マーカID=2(マーカID=2)の行にあるチェックボックスを指示するとチェックボックス内にチェックマークが表示される。加えてマーカID=2のマーカの対象フラグは「1」となる。更に、再度ID=2の行にあるチェックボックスを指示すると、チェックボックス内からチェックマークが消去される。加えてマーカID=2のマーカの対象フラグは「0」となる。このように、各マーカについて任意に対象フラグを設定することができる。これは、本コンピュータの操作者が位置姿勢計算対象のマーカを任意に選択できることを示している。なお、チェックボックスに対する操作以外に、何らかの処理により対象フラグが操作された場合であっても、この操作結果はチェックボックス内のチェックマークに反映される。   Reference numeral 232 denotes a check box for setting a target flag in the corresponding marker definition information. When checked (a check mark is displayed in the check box), the target flag = 1, and when unchecked (a check mark is deleted from the check box), the target flag = 0. For example, when a check box in the row of marker ID = 2 (marker ID = 2) is designated, a check mark is displayed in the check box. In addition, the target flag of the marker with marker ID = 2 is “1”. Further, when the check box in the row of ID = 2 is designated again, the check mark is deleted from the check box. In addition, the target flag of the marker with marker ID = 2 is “0”. Thus, the target flag can be arbitrarily set for each marker. This indicates that the operator of this computer can arbitrarily select a marker for position and orientation calculation. Even if the target flag is operated by some process other than the operation on the check box, the operation result is reflected in the check mark in the check box.

234は、対応するマーカ定義情報中の完了ステータスをアイコンとして表示する領域である。対応するマーカの位置姿勢計算が実行されている場合に、完了ステータス=1となる。この場合領域234内にはアイコン「◎」が表示される。また、対応するマーカの位置姿勢計算が実行されているが失敗した場合には、完了ステータス=2となる。この場合領域234内にはアイコン「×」が表示される。また、対応するマーカの位置姿勢計算が実行されていない場合には、完了ステータス=0となる。この場合には領域234内には何も表示されない。同図の場合、ID=2のマーカの行には領域234内にアイコン「◎」が表示されているので、位置姿勢計算が実行されていると判断することができる。一方、ID=1のマーカの行には領域234内に何も表示されていないので、位置姿勢計算が未だ実行されていないと判断することができる。もちろん、完了ステータスの値に応じて表示するアイコンは如何なるものであっても良く、完了ステータスの値が視覚的に理解できれば、表示する情報は如何なるものであっても良い。   An area 234 displays the completion status in the corresponding marker definition information as an icon. When the position and orientation calculation of the corresponding marker is being executed, the completion status = 1. In this case, an icon “◎” is displayed in the area 234. If the calculation of the position and orientation of the corresponding marker is executed but fails, the completion status = 2. In this case, an icon “×” is displayed in the area 234. Further, when the position / orientation calculation of the corresponding marker is not executed, the completion status = 0. In this case, nothing is displayed in the area 234. In the case of the drawing, since the icon “◎” is displayed in the area 234 in the row of the marker with ID = 2, it can be determined that the position / orientation calculation is being executed. On the other hand, since nothing is displayed in the area 234 in the row of the marker with ID = 1, it can be determined that the position / orientation calculation has not yet been executed. Of course, any icon may be displayed according to the value of the completion status, and any information may be displayed as long as the value of the completion status can be visually understood.

236は、対応するマーカ定義情報中の検出フラグをアイコンとして表示する領域である。対応するマーカが画像から検出された場合に検出フラグ=1となる。この場合には領域236内にはカメラのアイコンが表示される。また、対応するマーカが画像から検出されなかった場合に検出フラグ=0となる。この場合には領域236内には何も表示されない。同図の場合、ID=2のマーカの行には領域236内にカメラのアイコンが表示されているので、画像から検出されていると判断することができる。一方、ID=1のマーカの行には領域236内に何も表示されていないので、画像からは検出されていないと判断することができる。もちろん、検出フラグの値に応じて表示するアイコンは如何なるものであっても良く、検出フラグの値が視覚的に理解できれば、表示する情報は如何なるものであっても良い。   Reference numeral 236 denotes an area for displaying the detection flag in the corresponding marker definition information as an icon. Detection flag = 1 when the corresponding marker is detected from the image. In this case, a camera icon is displayed in the area 236. Further, when the corresponding marker is not detected from the image, the detection flag = 0. In this case, nothing is displayed in the area 236. In the case of the figure, since the camera icon is displayed in the area 236 in the marker row of ID = 2, it can be determined that the marker is detected from the image. On the other hand, since nothing is displayed in the area 236 in the marker row with ID = 1, it can be determined that the marker is not detected from the image. Of course, any icon may be displayed according to the value of the detection flag, and any information may be displayed as long as the value of the detection flag can be visually understood.

238は、対応するマーカ定義情報中のマーカIDを表示する領域である。基準マーカの場合は下線付きでマーカIDが表示される。同図の場合、ID=2のマーカIDに下線が表示されているので、これが基準マーカであると判断することができる。もちろん、基準マーカフラグの値に応じて表示するものは下線に限定するものではなく、基準マーカがどれであるのかが視覚的に理解できれば、表示する情報は如何なるものであっても良い。   Reference numeral 238 denotes an area for displaying a marker ID in the corresponding marker definition information. In the case of a reference marker, the marker ID is displayed with an underline. In the case of the figure, since the underline is displayed for the marker ID of ID = 2, it can be determined that this is the reference marker. Of course, what is displayed according to the value of the reference marker flag is not limited to the underline, and any information can be displayed as long as the reference marker can be visually understood.

260は、現実空間画像を表示するための領域である。この領域260内に表示する現実空間画像は、I/F3007を介してRAM3002に取得したものであっても良いし、外部記憶装置3006からRAM3002に取得した画像であっても良い。また、後述する領域270内に表示している1以上のサムネイル画像のうち選択されたサムネイル画像を拡大したもの(サムネイルを拡大処理した画像であっても良いし、サムネイルの作成元を別途用意しておき、これを用いても良い)であっても良い。表示される画像は、複数のマーカが配された現実空間の画像である。また、領域260内には、現実空間の画像上に、各マーカのIDや輪郭を示すCGが重畳表示されている。   Reference numeral 260 denotes an area for displaying a real space image. The real space image displayed in this area 260 may be an image acquired in the RAM 3002 via the I / F 3007 or an image acquired in the RAM 3002 from the external storage device 3006. Also, an enlarged version of a selected thumbnail image among one or more thumbnail images displayed in an area 270 to be described later (an image obtained by enlarging a thumbnail may be used, or a thumbnail creation source is prepared separately. It may be used). The displayed image is a real space image in which a plurality of markers are arranged. In the region 260, a CG indicating the ID and contour of each marker is superimposed on the real space image.

270は、I/F3007を介して取得した現実空間画像のサムネイルを一覧表示するための領域である。272はスライダバーで、左端、右端を指示することで、領域270内に表示されている情報を左方、右方にスクロールさせることができる。領域270内に表示されている画像のうち1つを指示すると、先ず、選択したサムネイルに枠が表示される。そして、指示した画像の拡大画像(サムネイルを拡大処理した画像であっても良いし、サムネイルの作成元を別途用意しておき、これを用いても良い)が上述の通り、領域260内に表示される。   An area 270 displays a list of thumbnails of real space images acquired via the I / F 3007. Reference numeral 272 denotes a slider bar which can scroll the information displayed in the area 270 leftward and rightward by designating the left end and the right end. When one of the images displayed in the area 270 is designated, first, a frame is displayed on the selected thumbnail. Then, an enlarged image of the instructed image (an image obtained by enlarging the thumbnail may be used, or a thumbnail creation source may be prepared separately and used) is displayed in the area 260 as described above. Is done.

282は、I/F3007を介して撮像装置から送出される各フレームの画像(即ち動画像)を順次外部記憶装置3006に取得すると共に、領域260内に順次表示させる指示を入力する為に押下するボタンである。   A button 282 is used to sequentially acquire images (that is, moving images) of each frame sent from the imaging device via the I / F 3007 to the external storage device 3006 and to input an instruction to sequentially display in the area 260. Button.

284は、押下すると、その時点でI/F3007を介して取得した1フレームのサムネイルを作成し、領域270内に追加表示する指示を入力するために押下するボタンである。もちろん、取得したフレームの画像もまた、外部記憶装置3006内に記憶する。なお、ボタン284は、動画像における1フレームを取得するために押下するものであるので、動画像を取得するためのボタン282が指示されている場合にのみ押下可能である。1フレームの画像を取得すると、この1フレームの画像からマーカの検出処理を行い、検出したマーカに係る情報を現在開いているマーカ定義ファイルに記述する。更に、この処理によって更新したマーカ定義ファイルに従って、上記領域230内の表示を更新する。   A button 284 is pressed to input an instruction to create a one-frame thumbnail acquired via the I / F 3007 at that time and to additionally display the area 270 when the button is pressed. Of course, the acquired image of the frame is also stored in the external storage device 3006. The button 284 is pressed to acquire one frame in the moving image, and can be pressed only when the button 282 for acquiring the moving image is instructed. When one frame image is acquired, marker detection processing is performed from the one frame image, and information relating to the detected marker is described in the marker definition file that is currently open. Furthermore, the display in the area 230 is updated according to the marker definition file updated by this processing.

286は、領域270内で現在選択しているサムネイルを削除する指示を入力するためのボタンである。なお、この削除対象のサムネイルが、オリジナルの画像を縮小することで作成したものであれば、このオリジナルの画像もまた削除する。また、削除した画像にマーカが含まれていれば、現在開いているマーカ定義ファイルにおいてこのマーカに関する情報も削除する。また、この処理により更新したマーカ定義ファイルに従って上記領域230内の表示を更新する。   Reference numeral 286 denotes a button for inputting an instruction to delete the currently selected thumbnail in the area 270. If the thumbnail to be deleted is created by reducing the original image, the original image is also deleted. If the deleted image includes a marker, information on the marker is also deleted in the marker definition file that is currently open. Further, the display in the area 230 is updated according to the marker definition file updated by this processing.

288は、現在開いているマーカ定義ファイルにおいて対象フラグ=1のマーカの位置姿勢計算を計算する指示を入力するためのボタンである。   Reference numeral 288 denotes a button for inputting an instruction to calculate the calculation of the position and orientation of the marker with the target flag = 1 in the marker definition file that is currently open.

図12,13は、上記GUIを用いて行う各種の処理のフローチャートである。なお、図12,13のフローチャートに従った処理をCPU3001に実行させるためのプログラムやデータは外部記憶装置3006に保存されている。これをCPU3001による制御に従って適宜RAM3002にロードする。そして、CPU3001がこのロードされたプログラムやデータを用いて処理を実行することで、本コンピュータは以下説明する各処理を実行する。   12 and 13 are flowcharts of various processes performed using the GUI. Note that programs and data for causing the CPU 3001 to execute processing according to the flowcharts of FIGS. 12 and 13 are stored in the external storage device 3006. This is loaded into the RAM 3002 as appropriate under the control of the CPU 3001. Then, when the CPU 3001 executes processing using the loaded program and data, the computer executes each processing described below.

ここで、キャリブレーションの実行が行われるか否かは、操作者による選択のみだけではなく、マーカ定義情報のマーカ状態によって決定される。よって処理全体の中からマーカ定義情報を変更する処理に注目して説明する。   Here, whether or not the calibration is executed is determined not only by the selection by the operator but also by the marker state of the marker definition information. Therefore, the description will be given focusing on the process of changing the marker definition information from the entire process.

また、以下の処理を解する前段では既に図6のGUIに係るプログラムやデータがRAM3002にロードされ、CPU3001がこれを用いて処理を実行しているので、表示部3005の表示画面上には図6のGUIが表示されている。   In addition, the program and data related to the GUI of FIG. 6 are already loaded into the RAM 3002 and the CPU 3001 executes the processing using this before the following processing is solved. 6 GUIs are displayed.

図6のGUIにおいて「ファイル」メニュー210の指示を検知した後、「マーカ定義ファイルを新規作成」メニュー214の指示を検知すると、処理をステップS100を介してステップS101に進める。ステップS101では、図11に示すようなウィンドウを表示部3005の表示画面上に表示する。本コンピュータの操作者はこのウィンドウの領域400に新規作成するマーカ定義ファイルのファイル名を入力する。ステップS101では更に領域400に入力されたファイル名を取得する。そして処理をステップS102に進め、ステップS101で取得したファイル名を有するマーカ定義ファイルを外部記憶装置3006内に作成する。作成したファイル内のマーカ定義情報テーブルは空に設定される。そして処理をステップS108に進め、外部記憶装置3006内に既に取得している現実空間画像を全て削除し、領域(取得画像表示領域)270内の表示を更新する。これにより、領域270内には何も表示されていない状態となる。そして処理をステップS146に進め、領域230内の表示を更新する。即ち、領域230内には何も表示されてない状態となる。そして処理を上記ステップS100に戻す。   After detecting the instruction of the “file” menu 210 in the GUI of FIG. 6, when the instruction of the “create new marker definition file” menu 214 is detected, the process proceeds to step S101 via step S100. In step S101, a window as shown in FIG. 11 is displayed on the display screen of the display unit 3005. The operator of this computer inputs the file name of the marker definition file to be newly created in the area 400 of this window. In step S101, the file name input in the area 400 is further acquired. Then, the process proceeds to step S102, and a marker definition file having the file name acquired in step S101 is created in the external storage device 3006. The marker definition information table in the created file is set to empty. Then, the process proceeds to step S108, all the real space images already acquired in the external storage device 3006 are deleted, and the display in the area (acquired image display area) 270 is updated. As a result, nothing is displayed in the area 270. Then, the process proceeds to step S146, and the display in area 230 is updated. That is, nothing is displayed in the area 230. Then, the process returns to step S100.

一方、図6のGUIにおいて「ファイル」メニュー210の指示を検知した後、「マーカ定義ファイルを開く」メニュー212の指示を検知すると、処理をステップS100、ステップS105を介してステップS106に進める。ステップS106では、図10に示すようなウィンドウを表示部3005の表示画面上に表示する。本コンピュータの操作者はこのウィンドウにおいてマーカ定義ファイルを1つ選択する。ステップS106では更に、選択されたマーカ定義ファイルを外部記憶装置3006からRAM3002にロードする。そして処理をステップS107に進め、ロードされたマーカ定義情報テーブルの検出フラグ、対象フラグを共に0に初期化する。そしてステップS108,S146における処理を行い、処理をステップS100に戻す。   On the other hand, if an instruction of the “open marker definition file” menu 212 is detected after detecting an instruction of the “file” menu 210 in the GUI of FIG. 6, the process proceeds to step S106 via steps S100 and S105. In step S106, a window as shown in FIG. 10 is displayed on the display screen of the display unit 3005. The operator of this computer selects one marker definition file in this window. In step S106, the selected marker definition file is further loaded from the external storage device 3006 to the RAM 3002. Then, the process proceeds to step S107, and both the detection flag and the target flag of the loaded marker definition information table are initialized to 0. Then, the processes in steps S108 and S146 are performed, and the process returns to step S100.

一方、図6のGUIにおいて「編集」メニュー220の指示を検知した後、「マーカ定義情報の新規作成」メニュー222の指示を検知すると、処理をステップS100,S105,S110を介してステップS112に進める。ステップS112では、現在開いているマーカ定義ファイルに、新たなマーカ定義情報を1つ追加する。追加したマーカ定義情報のマーカIDは、同じファイル内に存在するマーカ定義情報が使用しているマーカIDと異なるものが割り当てられる。また、追加したマーカ定義情報の基準マーカフラグ、検出フラグ、対象フラグ、完了ステータスは全て0に初期化される。加えてマーカサイズは同じファイル内に存在するマーカ定義情報のマーカサイズが設定される。なお、マーカ定義情報が存在しない場合には、既定の値が設定される。そして上記ステップS146における処理を行った後、処理をステップS100に戻す。   On the other hand, after detecting an instruction of the “edit” menu 220 in the GUI of FIG. 6, if an instruction of the “create new marker definition information” menu 222 is detected, the process proceeds to step S112 via steps S100, S105, and S110. . In step S112, one piece of new marker definition information is added to the currently opened marker definition file. As the marker ID of the added marker definition information, a marker ID different from the marker ID used by the marker definition information existing in the same file is assigned. In addition, the reference marker flag, detection flag, target flag, and completion status of the added marker definition information are all initialized to 0. In addition, the marker size of the marker definition information existing in the same file is set. Note that when there is no marker definition information, a default value is set. Then, after performing the process in step S146, the process returns to step S100.

一方、図6のGUIにおいて「編集」メニュー220の指示を検知した後、「マーカ定義情報の削除」メニュー224の指示を検知すると、処理をステップS100,S105,S110,S114を介してステップS116に進める。ステップS116では、領域230内で現在選択中のマーカ定義情報を、マーカ定義ファイルから削除する処理を行う。そしてステップS146における処理を行った後、処理をステップS100に戻す。   On the other hand, if an instruction of the “delete marker definition information” menu 224 is detected after detecting an instruction of the “edit” menu 220 in the GUI of FIG. 6, the process proceeds to step S116 via steps S100, S105, S110, and S114. Proceed. In step S116, a process of deleting the marker definition information currently selected in the area 230 from the marker definition file is performed. Then, after performing the process in step S146, the process returns to step S100.

一方、図6のGUIにおいて「編集」メニュー220の指示を検知した後、「マーカ定義情報の編集」メニュー226の指示を検知すると、処理をステップS100,S105,S110,S114、S118を介してステップS120に進める。ステップS120では、図9に示すようなウィンドウを表示部3005の表示画面上に表示する。本コンピュータの操作者はこのウィンドウにおける各領域252〜259のうち1以上に対して、対応する情報を入力する。そして「OK」ボタン251が指示されると、ステップS120では更に、各領域252〜259に入力された情報を取得する。そして、領域252から取得したマーカIDが、現在開いているマーカ定義ファイル内に2以上存在するか否かをチェックする。   On the other hand, when the instruction of the “edit marker definition information” menu 226 is detected after detecting the instruction of the “edit” menu 220 in the GUI of FIG. 6, the process is performed through steps S100, S105, S110, S114, and S118. Proceed to S120. In step S120, a window as shown in FIG. 9 is displayed on the display screen of the display unit 3005. The operator of this computer inputs corresponding information to one or more of the areas 252 to 259 in this window. When the “OK” button 251 is instructed, in step S120, information input to each of the areas 252 to 259 is acquired. Then, it is checked whether or not there are two or more marker IDs acquired from the area 252 in the marker definition file that is currently open.

このチェックの結果、2以上存在する場合には処理をステップS140に進め、表示部3005の表示画面上に警告を表示する。そして処理をステップS150に進める。ステップS150以降の処理については後述する。一方、2以上存在しない場合には処理をステップS121に進め、領域230内で現在選択されているマーカ定義情報を、ステップS120で取得した情報に更新する処理を行う。そしてステップS146における処理を行う。ステップS146における領域230内の表示更新の際に、基準マーカフラグ=1のマーカIDについては下線を表示する。そしてその後、処理をステップS100に戻す。   If there are two or more as a result of this check, the process proceeds to step S140, and a warning is displayed on the display screen of the display unit 3005. Then, the process proceeds to step S150. The processing after step S150 will be described later. On the other hand, if there are not two or more, the process proceeds to step S121, and the marker definition information currently selected in the area 230 is updated to the information acquired in step S120. Then, the process in step S146 is performed. When updating the display in the region 230 in step S146, an underline is displayed for the marker ID of the reference marker flag = 1. Then, the process returns to step S100.

一方、図6のGUIにおいて、ボタン282が既に指示されている状態、即ち、I/F3007を介して外部記憶装置3006に現実空間の動画像を取得している状態で、ボタン284の指示を検知すると、処理をステップS100,S105,S110,S114,S118,S122を介してステップS124に進める。ステップS124では、ボタン284を指示したタイミング近傍で外部記憶装置3006に取得した画像から、この画像中に写っているマーカの検出およびマーカIDの識別を行う。そして、現在開いているマーカ定義ファイルに登録されている各マーカのマーカ定義情報のうち、画像から識別したマーカIDと同じマーカIDを有するマーカ定義情報が存在かを調べ、存在する場合には、このマーカ定義情報の対象フラグ、検出フラグを共に1に設定する。即ち、画像から検出されたマーカについては検出した旨、及び位置姿勢の計算対象とする旨を、このマーカのマーカ定義情報に記録する。   On the other hand, in the GUI of FIG. 6, the instruction of the button 284 is detected in a state where the button 282 is already instructed, that is, in the state where a moving image in the real space is acquired to the external storage device 3006 via the I / F 3007. Then, the process proceeds to step S124 via steps S100, S105, S110, S114, S118, and S122. In step S124, from the image acquired in the external storage device 3006 in the vicinity of the timing at which the button 284 is instructed, the marker appearing in this image is detected and the marker ID is identified. Then, among the marker definition information of each marker registered in the currently opened marker definition file, it is checked whether there is marker definition information having the same marker ID as the marker ID identified from the image. Both the target flag and detection flag of this marker definition information are set to 1. That is, the fact that the marker detected from the image has been detected and the position and orientation calculation target are recorded in the marker definition information of this marker.

一方、ステップS124において、現在開いているマーカ定義ファイルに登録されている各マーカのマーカ定義情報のうち、画像から識別したマーカIDと同じマーカIDを有するマーカ定義情報が存在しない場合には、この検出マーカのマーカ定義情報を作成し、現在開いているマーカ定義ファイルに追加登録する。この場合、マーカIDは画像から識別したマーカIDを割り当て、対象フラグ、検出フラグを共に1に設定する。   On the other hand, in step S124, if there is no marker definition information having the same marker ID as the marker ID identified from the image among the marker definition information of each marker registered in the currently opened marker definition file, Create marker definition information for the detection marker, and add it to the currently open marker definition file. In this case, a marker ID identified from the image is assigned as the marker ID, and both the target flag and the detection flag are set to 1.

そして処理をステップS125に進め、ボタン284を指示したタイミング近傍で外部記憶装置3006に取得した画像のサムネイルを領域270内に追加表示する。そしてステップS146における処理を行った後に、処理をステップS100に戻す。   Then, the process proceeds to step S125, and the thumbnails of the images acquired in the external storage device 3006 are additionally displayed in the area 270 near the timing when the button 284 is designated. Then, after performing the process in step S146, the process returns to step S100.

一方、図6のGUIにおいて、ボタン286が指示されたことを検知すると、処理をステップS100,S105、S110,S114,S118,S122,S126を介してステップS128に進める。   On the other hand, when it is detected that the button 286 is instructed in the GUI of FIG. 6, the process proceeds to step S128 via steps S100, S105, S110, S114, S118, S122, and S126.

ステップS128では、領域270内で選択されているサムネイルのオリジナル画像および外部記憶装置3006に取得済みの画像から、マーカを検出し、検出したマーカのマーカIDを識別する。続いて領域270内で選択されているサムネイルのオリジナル画像から検出されたマーカが、そして外部記憶装置3006に取得済みの画像に存在しないか調べる。存在する場合は何もせず、存在しない場合はそのマーカのマーカ定義情報を削除する。   In step S128, a marker is detected from the original image of the thumbnail selected in the area 270 and the image acquired in the external storage device 3006, and the marker ID of the detected marker is identified. Subsequently, it is checked whether the marker detected from the original image of the thumbnail selected in the area 270 exists in the image acquired in the external storage device 3006. If it exists, do nothing, otherwise delete the marker definition information for that marker.

そして処理をステップS129に進め、領域270から現在選択されているサムネイルとオリジナルを外部記憶装置3006から削除する処理を行う。そしてステップS146における処理を行った後に、処理をステップS100に戻す。   Then, the process proceeds to step S129, and a process of deleting the currently selected thumbnail and original from the area 270 from the external storage device 3006 is performed. Then, after performing the process in step S146, the process returns to step S100.

これらの処理により、画像の削除に伴って、取得した画像から検出されなくなったマーカのマーカ定義情報を、自動的にマーカ定義情報テーブルから削除してキャリブレーション対象から除外することが可能になる。   With these processes, it becomes possible to automatically delete the marker definition information of the marker that is no longer detected from the acquired image with the deletion of the image from the marker definition information table and exclude it from the calibration target.

一方、図6のGUIにおいてチェックボックス232に対する指示を検知すると、処理をステップS100,S105,S110,S114,S118,S122,S126、S130を介してステップS132に進める。ステップS132では、指示されたチェックボックス232に対応するマーカ定義情報(指示されたチェックボックス232と同行に表示しているマーカIDを有するマーカ定義情報)内の対象フラグを反転させる。即ち、現在対象フラグが「1」であれば「0」にするし、現在対象フラグが「0」であれば「1」にする。そしてステップS146における処理を行った後、処理をステップS100に戻す。   On the other hand, when an instruction for the check box 232 is detected in the GUI of FIG. 6, the process proceeds to step S132 via steps S100, S105, S110, S114, S118, S122, S126, and S130. In step S132, the target flag in the marker definition information corresponding to the designated check box 232 (marker definition information having the marker ID displayed on the same line as the designated check box 232) is inverted. That is, if the current target flag is “1”, it is set to “0”, and if the current target flag is “0”, it is set to “1”. Then, after performing the process in step S146, the process returns to step S100.

一方、図6のGUIにおいてボタン288が指示されたことを検知すると、処理をステップS100,S105,S110,S114,S118,S122,S126、S130、S134を介してステップS136に進める。   On the other hand, when it is detected that the button 288 is instructed in the GUI of FIG. 6, the process proceeds to step S136 via steps S100, S105, S110, S114, S118, S122, S126, S130, and S134.

ステップS136では先ず、現在開いているマーカ定義ファイルに登録されている全てのマーカ定義情報において対象フラグ=1のマーカ定義情報中の基準マーカフラグを参照し、基準マーカフラグ=1であるマーカ定義情報が2以上存在するか否かをチェックする。2以上存在する場合には処理をステップS140に進める。   In step S136, first, the reference marker flag in the marker definition information with the target flag = 1 is referred to in all marker definition information registered in the marker definition file that is currently open, and the marker definition information with the reference marker flag = 1 is 2. Check if it exists. If there are two or more, the process proceeds to step S140.

ステップS140では、基準マーカが2以上存在するが故にキャリブレーションができない旨の警告を表示部3005の表示画面上に表示する。そして処理をステップS150に進める。ステップS150以降の処理については後述する。   In step S140, a warning that calibration cannot be performed because there are two or more reference markers is displayed on the display screen of the display unit 3005. Then, the process proceeds to step S150. The processing after step S150 will be described later.

一方、基準マーカフラグ=1であるマーカ定義情報が1つのみである場合には処理をステップS138に進める。ステップS138では、現在開いているマーカ定義ファイルに登録されているマーカ定義情報のうち、対象フラグ=1であり、且つ検出フラグ=0となるマーカ定義情報が存在するかをチェックする。存在する場合にはステップS140に進め、このようなマーカについてその位置姿勢を計算することはできないので、その旨を示す警告を表示し、処理をステップS150に進める。ステップS150以降の処理については後述する。   On the other hand, if there is only one marker definition information with the reference marker flag = 1, the process proceeds to step S138. In step S138, it is checked whether there is marker definition information in which the target flag = 1 and the detection flag = 0 among the marker definition information registered in the marker definition file that is currently open. If it exists, the process proceeds to step S140, and since the position and orientation of such a marker cannot be calculated, a warning indicating that fact is displayed, and the process proceeds to step S150. The processing after step S150 will be described later.

一方、現在開いているマーカ定義ファイルに登録されているマーカ定義情報のうち、対象フラグ=1であり、且つ検出フラグ=0となるマーカ定義情報が存在しない場合には処理をステップS142に進める。   On the other hand, in the marker definition information registered in the marker definition file that is currently open, if there is no marker definition information with the target flag = 1 and the detection flag = 0, the process proceeds to step S142.

ステップS142では、現在開いているマーカ定義ファイルに登録されているマーカ定義情報のうち対象フラグ=1のマーカ定義情報に対応するマーカの位置姿勢計算処理を行う。そして処理をステップS144に進め、この計算処理の結果、正しく位置姿勢が求まった場合にはこのマーカ定義情報中の完了ステータスの値を「1」に設定する。なお、正しく求めることができなかった場合には完了ステータスの値を「2」に設定する。そしてステップS146における処理を行い、その後、処理をステップS100に戻す。   In step S142, a marker position / orientation calculation process corresponding to the marker definition information of the target flag = 1 among the marker definition information registered in the marker definition file currently opened is performed. Then, the process proceeds to step S144. When the position and orientation are found correctly as a result of this calculation process, the value of the completion status in this marker definition information is set to “1”. If it cannot be obtained correctly, the completion status value is set to “2”. Then, the process in step S146 is performed, and then the process returns to step S100.

以上のような処理を操作者の任意の回数だけ実行し、操作者が位置姿勢を求めたいすべてのマーカについてその位置姿勢を求めることができれば、操作者は図6のGUIにおいて「ファイル」メニュー210を指示した後、「マーカ定義ファイルを保存」メニュー216を指示する。この指示を検知すると、処理をステップS100,S105,S110,S114,S118,S122,S126、S130、S134、S150を介してステップS152に進める。なお、ステップS140からステップS150に処理を進めた場合であっても、「マーカ定義ファイルを保存」メニュー216の指示を検知していれば処理をステップS152に進めるし、検知していなければ処理をステップS154に進める。   If the above processing is executed an arbitrary number of times by the operator and the operator can obtain the position and orientation of all the markers for which the operator wants to obtain the position and orientation, the operator can select the “File” menu 210 in the GUI of FIG. , The “Save marker definition file” menu 216 is instructed. When this instruction is detected, the process proceeds to step S152 via steps S100, S105, S110, S114, S118, S122, S126, S130, S134, and S150. Even if the process proceeds from step S140 to step S150, the process proceeds to step S152 if an instruction of the “save marker definition file” menu 216 is detected, and the process proceeds if not detected. Proceed to step S154.

ステップS152では、現在開いているマーカ定義ファイルを外部記憶装置3006に保存する処理を行う。本実施形態では詳細な説明は省略するが、このマーカ定義ファイルを読み込み、完了ステータス=1のマーカ定義情報を利用して位置合わせ処理を行えば、操作者が選択して位置姿勢を計算したマーカを利用した位置合わせ処理を行うことが可能になる。   In step S152, the marker definition file that is currently open is saved in the external storage device 3006. Although a detailed description is omitted in this embodiment, if this marker definition file is read and alignment processing is performed using the marker definition information with completion status = 1, the marker selected by the operator and the position and orientation is calculated. It is possible to perform an alignment process using.

そして処理をステップS154に進める。ステップS154では、「終了」メニュー218が指示されたかをチェックし、指示されていない場合には処理をステップS100に戻すのであるが、指示された場合には本処理を終了し、上述の通り、本コンピュータのシャットダウン処理を行う。   Then, the process proceeds to step S154. In step S154, it is checked whether or not the “end” menu 218 has been instructed. If not instructed, the process returns to step S100. If instructed, the process ends, and as described above. Shut down the computer.

以上の説明により、本実施形態によれば、画像から検出されたマーカのうち、位置姿勢計算対象のマーカと基準マーカを、操作者が設定することができる。   As described above, according to the present embodiment, the operator can set the position and orientation calculation target marker and the reference marker among the markers detected from the image.

また、上記処理では、ステップS124による処理で、画像から検出したマーカを自動的に位置姿勢計算対象とすると共に、この位置姿勢計算対象のうち更に、本コンピュータの操作者が位置姿勢計算対象を選択することができ(半自動あるいは手動で選択することができ)、柔軟かつ使い易い手法を提供することが可能となった。   In the above processing, the marker detected from the image is automatically set as the position / orientation calculation target in step S124, and the operator of the computer further selects the position / orientation calculation target from among the position / orientation calculation targets. (Semi-automatic or manual selection is possible), and it is possible to provide a flexible and easy-to-use method.

さらには上記の選択方法に加えて、ステップS112、S121、S136、S138における処理のように、マーカ定義情報に応じてキャリブレーションを実行するために必要な作業を作業者に通知することで、操作者が行う位置合わせための設定作業の負荷を軽くすることが可能になった。   Further, in addition to the selection method described above, the operator can be notified of the work necessary to execute calibration according to the marker definition information, as in the processes in steps S112, S121, S136, and S138. It has become possible to lighten the load of setting work for positioning performed by a person.

なお、マーカ定義情報新規作成時の処理であるステップS112において、追加されるマーカの対象フラグを0としたが、これを1としてもよい。この処理によって、システムは、操作者がマーカ定義情報を作成したマーカについて画像取得およびキャリブレーションを行って位置合わせ処理で使用するように誘導することができる。この処理は操作者が位置あわせに使用するマーカをマーカ定義情報の有無で管理したい場合に有効である。   In step S112, which is a process for creating new marker definition information, the target flag of the marker to be added is set to 0. However, it may be set to 1. With this process, the system can guide the operator to acquire and calibrate the marker for which the marker definition information has been created and use it in the alignment process. This process is effective when the operator wants to manage markers used for alignment based on the presence or absence of marker definition information.

また、画像取得時の処理であるステップS124において、マーカ画像から検出されたマーカの対象フラグを1に変更していたが、変更しないようにしてもよい。この処理は、操作者がキャリブレーションするマーカを手動で選択することを重視する場合に有効である。   In step S124, which is a process at the time of image acquisition, the target flag of the marker detected from the marker image has been changed to 1, but it may not be changed. This process is effective when the operator places importance on manually selecting a marker to be calibrated.

また、画像削除時の処理であるステップS128において、画像中に存在しないマーカのマーカ定義情報を削除しているが、マーカ定義情報の検出フラグを0にするだけでもよい。この処理は、操作者が一度検出されたマーカのマーカ定義情報を残して管理したい場合に有効である。   In step S128, which is a process for deleting an image, marker definition information of a marker that does not exist in the image is deleted. However, the marker definition information detection flag may be set to 0 only. This processing is effective when the operator wants to manage the marker definition information of the marker once detected.

以上説明してきた変形を操作者の好みに応じてどちらにするかを予め設定できるようにしても構わない。   It may be possible to set in advance which of the deformations described above is to be made according to the preference of the operator.

[第2の実施形態]
第1の実施形態では、画像から検出された全てのマーカ、若しくは検出された全てのマーカのうち操作者が選択したマーカの位置姿勢を求めていた。本実施形態では、操作者が、位置姿勢の計算対象外とするマーカを撮像して、積極的に位置姿勢計算対象外のマーカを決定する。このような実施形態は、キャリブレーションおよび位置合わせ処理を行う装置を複数、隣接した空間で使用する状況で、他の装置が使用するマーカをキャリブレーションおよび位置合わせ処理で使用しない場合に有効である。
[Second Embodiment]
In the first embodiment, the positions and orientations of all the markers detected from the image or the marker selected by the operator among all the detected markers are obtained. In the present embodiment, the operator images a marker that is not subject to position / orientation calculation, and actively determines a marker that is not subject to position / orientation calculation. Such an embodiment is effective when a plurality of devices that perform calibration and alignment processing are used in an adjacent space and a marker used by another device is not used in calibration and alignment processing. .

なお、本実施形態は第1の実施形態に係る構成を前提としているが、本実施形態が第1の実施形態と異なる点については以下に詳細に説明する。従って、以下の説明において特に触れない点については、第1の実施形態と同様のものであるとする。   The present embodiment is premised on the configuration according to the first embodiment, but the difference between the present embodiment and the first embodiment will be described in detail below. Accordingly, points not particularly mentioned in the following description are the same as those in the first embodiment.

図15は、本実施形態に係るマーカ定義情報の構成例を示す図である。本実施形態においてもマーカ定義情報は第1の実施形態と同様、1つのマーカについて1つ存在するものであるが、本実施形態に係るマーカ定義情報は第1の実施形態に係るマーカ定義情報におけるマーカ状態に「除外フラグ」を加えた構成を有する。   FIG. 15 is a diagram illustrating a configuration example of marker definition information according to the present embodiment. Also in the present embodiment, one marker definition information exists for each marker as in the first embodiment, but the marker definition information according to the present embodiment is the same as the marker definition information according to the first embodiment. It has a configuration in which an “exclusion flag” is added to the marker state.

除外フラグとは、マーカが位置姿勢計算処理の対象外であるか否かを示すフラグで、「1」であれば対象外、「0」であれば対象外としないことを示す。本実施形態では除外フラグの規定値は「0」とする。   The exclusion flag is a flag indicating whether or not the marker is excluded from the position / orientation calculation process. If the flag is “1”, the flag is not included, and if the marker is “0”, the marker is not included. In this embodiment, the specified value of the exclusion flag is “0”.

図16は、上記コンピュータ上で動作し、現実空間中に配された指標の位置姿勢を求めるために用いるGUI(グラフィカルユーザインターフェース)の表示例を示す図である。図16に示したGUIは、上記図6のGUIに「モード」メニュー240を加えたものである。更に、領域230内において、マーカID=7,10における領域236に示すように、アイコン上に除外フラグの値を反映した「×」のアイコンが重畳表示されている点が図6のGUIとは異なる。   FIG. 16 is a diagram showing a display example of a GUI (Graphical User Interface) that operates on the computer and is used to obtain the position and orientation of the index placed in the real space. The GUI shown in FIG. 16 is obtained by adding a “mode” menu 240 to the GUI shown in FIG. Further, in the area 230, as shown in the area 236 in the marker ID = 7, 10, the “×” icon reflecting the value of the exclusion flag is superimposed on the icon, which is the GUI in FIG. Different.

図16に示したGUIにおいて「モード」メニュー240を指示すると、表示部3005の表示画面上には、図14に示すようなモードメニューが表示される。図4に示したモードメニューにおいて「取得モード」メニュー242を指示すると、取得モードが設定され、撮像装置が撮像した画像から検出したマーカは位置姿勢計算対象となる。即ち、「取得モード」メニュー242を指示した場合には、画像からマーカを識別すると、このマーカの除外フラグを「0」に設定し、以降、第1の実施形態と同様の動作を行う。   When the “mode” menu 240 is designated in the GUI shown in FIG. 16, a mode menu as shown in FIG. 14 is displayed on the display screen of the display unit 3005. When the “acquisition mode” menu 242 is instructed in the mode menu shown in FIG. 4, the acquisition mode is set, and the marker detected from the image captured by the imaging apparatus becomes the position and orientation calculation target. That is, when the “acquisition mode” menu 242 is instructed, when a marker is identified from the image, the marker exclusion flag is set to “0”, and thereafter, the same operation as in the first embodiment is performed.

一方、「除外」モード244を指示すると、除外モードが設定され、撮像装置が撮像した画像から検出したマーカは位置姿勢計算対象外となる。即ち、「除外」モード244を指示した場合には、画像からマーカを識別すると、このマーカの除外フラグを「1」に設定する。   On the other hand, when the “exclusion” mode 244 is instructed, the exclusion mode is set, and the marker detected from the image captured by the imaging device is excluded from the position and orientation calculation target. That is, when the “exclusion” mode 244 is instructed, the marker exclusion flag is set to “1” when the marker is identified from the image.

即ち、取得モードで画像から検出されたマーカについては、検出フラグは1に設定され、除外フラグは0に設定される。一方、除外モードで画像から検出されたマーカについては、検出フラグは1に設定され、除外フラグは1に設定される。   That is, for the marker detected from the image in the acquisition mode, the detection flag is set to 1 and the exclusion flag is set to 0. On the other hand, for the marker detected from the image in the exclusion mode, the detection flag is set to 1, and the exclusion flag is set to 1.

そして、領域236には、第1の実施形態と同様に、検出フラグの値に応じたアイコンを表示するのである。これに加えて、本実施例では除外フラグの値に応じたアイコンを重畳表示する。同図では、マーカID=7,10に対応する領域236には「×」のアイコンが表示されているが、これはマーカID=7,10に対応する除外フラグが1であることを示している。なお、除外フラグ=0である場合には領域236には「×」のアイコンは表示されない。もちろん、除外フラグの値に応じて表示するアイコンは如何なるものであっても良く、除外フラグの値が視覚的に分かれば、表示する情報は如何なるものであっても良い。   In the region 236, an icon corresponding to the value of the detection flag is displayed as in the first embodiment. In addition to this, an icon corresponding to the value of the exclusion flag is superimposed and displayed in the present embodiment. In the figure, an “x” icon is displayed in the area 236 corresponding to the marker ID = 7, 10, indicating that the exclusion flag corresponding to the marker ID = 7, 10 is “1”. Yes. When the exclusion flag = 0, the “x” icon is not displayed in the region 236. Of course, any icon may be displayed according to the value of the exclusion flag, and any information may be displayed as long as the value of the exclusion flag is visually recognized.

図17,18は、図16に示したGUIを用いて行う各種の処理のフローチャートである。図16のGUIにおいて「ファイル」メニュー210の指示を検知した後、「マーカ定義ファイルを新規作成」メニュー214の指示を検知した場合に行う処理(ステップS200、S201、S202、S208、S246)はそれぞれ、図12におけるステップS100,S101,S102,S108,S146と同じであるので、説明は省略する。   17 and 18 are flowcharts of various processes performed using the GUI shown in FIG. The process (steps S200, S201, S202, S208, and S246) that is performed when the instruction of the “create new marker definition file” menu 214 is detected after detecting the instruction of the “file” menu 210 in the GUI of FIG. 12 is the same as steps S100, S101, S102, S108, and S146 in FIG.

また、図16のGUIにおいて「ファイル」メニュー210の指示を検知した後、「マーカ定義ファイルを開く」メニュー212の指示を検知した場合における処理(ステップS205,S206,S207,S208,S246)はそれぞれ、図12におけるステップS105,S106,S107,S108,S146と同様であるが、ステップS207では、検出フラグ、対象フラグに加え、除外フラグについても0に初期化する。   Also, the processing (steps S205, S206, S207, S208, and S246) when the instruction of the “open marker definition file” menu 212 is detected after detecting the instruction of the “file” menu 210 in the GUI of FIG. 12 is the same as steps S105, S106, S107, S108, and S146 in FIG. 12, but in step S207, in addition to the detection flag and the target flag, the exclusion flag is also initialized to zero.

また、図16のGUIにおいて「編集」メニュー220の指示を検知した後、「マーカ定義情報の新規作成」メニュー222の指示を検知すると、処理をステップS200,S205,S210を介してステップS212に進める。ステップS212では、現在開いているマーカ定義ファイルに、新たなマーカ定義情報を1つ追加する。追加したマーカ定義情報のマーカIDは、同じファイル内に存在するマーカ定義情報が使用しているマーカIDと異なるものが割り当てられる。また、追加したマーカ定義情報の基準マーカフラグ、検出フラグ、対象フラグ、除外フラグ、完了ステータスは全て0に初期化される加えてマーカサイズは同じファイル内に存在するマーカ定義情報のマーカサイズが設定される。なお、マーカ定義情報が存在しない場合には、既定の値が設定される。そして上記ステップS246における処理を行った後、処理をステップS200に戻す。   In addition, when an instruction of the “edit” menu 220 is detected after detecting an instruction of the “edit” menu 220 in the GUI of FIG. 16, the process proceeds to step S212 via steps S200, S205, and S210. . In step S212, one piece of new marker definition information is added to the currently opened marker definition file. As the marker ID of the added marker definition information, a marker ID different from the marker ID used by the marker definition information existing in the same file is assigned. In addition, the reference marker flag, detection flag, target flag, exclusion flag, and completion status of the added marker definition information are all initialized to 0, and the marker size of the marker definition information existing in the same file is set. The Note that when there is no marker definition information, a default value is set. Then, after performing the process in step S246, the process returns to step S200.

また、図16のGUIにおいて「編集」メニュー220の指示を検知した後、「マーカ定義情報の削除」メニュー224の指示を検知した場合に行う処理(ステップS214,S216,S246)はそれぞれ、図12におけるステップS114,S116,S146と同じであるので、説明は省略する。   Also, the processing (steps S214, S216, and S246) performed when the instruction of the “delete marker definition information” menu 224 is detected after the instruction of the “edit” menu 220 is detected in the GUI of FIG. Steps S114, S116, and S146 in FIG.

また、図16のGUIにおいて「編集」メニュー220の指示を検知した後、「マーカ定義情報の編集」メニュー226の指示を検知した場合に行う処理(ステップS218,S220,S221,S246、S240)はそれぞれ、図12におけるステップS118,S120,S121,S146、図13におけるステップS140と同じであるので、説明は省略する。   Also, the processing (steps S218, S220, S221, S246, and S240) that is performed when an instruction in the “edit marker definition information” menu 226 is detected after detecting an instruction in the “edit” menu 220 in the GUI of FIG. Since these are the same as steps S118, S120, S121, S146 in FIG. 12 and step S140 in FIG.

また、図16のGUIにおいて、ボタン282が既に指示されている状態、即ち、I/F3007を介して外部記憶装置3006に現実空間の動画像を取得している状態で、ボタン284の指示を検知すると、処理をステップS200,S205,S210,S214,S218,S222を介してステップS250に進める。ステップS250では、ボタン284を指示したタイミング近傍で外部記憶装置3006に取得した画像から、この画像中に写っているマーカの検出およびマーカIDの識別を行う。次に、ステップS252では、「モード」メニュー240で設定した現在のモードが除外モードであるのか取得モードであるのかをチェックする。チェックの結果、除外モードであれば処理をステップS258に進め、取得モードであれば処理をステップS254に進める。   In the GUI of FIG. 16, the instruction of the button 284 is detected in a state where the button 282 has already been instructed, that is, a moving image of the real space is acquired in the external storage device 3006 via the I / F 3007. Then, the process proceeds to step S250 via steps S200, S205, S210, S214, S218, and S222. In step S250, from the image acquired in the external storage device 3006 in the vicinity of the timing at which the button 284 is instructed, the marker appearing in this image is detected and the marker ID is identified. In step S252, it is checked whether the current mode set in the “mode” menu 240 is an exclusion mode or an acquisition mode. As a result of the check, if it is an exclusion mode, the process proceeds to step S258, and if it is an acquisition mode, the process proceeds to step S254.

ステップS258では、現在開いているマーカ定義ファイルに登録されている各マーカのマーカ定義情報のうち、画像から識別したマーカIDと同じマーカIDを有するマーカ定義情報が存在する場合には、このマーカ定義情報内の除外フラグ、検出フラグを共に1に設定する。即ち、現在開いているマーカ定義ファイルに登録されているマーカ定義情報のうち、画像から検出されたマーカについては位置姿勢計算対象から除外する旨、及び画像から検出された旨を、このマーカのマーカ定義情報に記録する。   In step S258, if marker definition information having the same marker ID as the marker ID identified from the image exists among the marker definition information of each marker registered in the marker definition file that is currently open, this marker definition Both the exclusion flag and the detection flag in the information are set to 1. That is, among the marker definition information registered in the marker definition file that is currently open, the marker of this marker indicates that the marker detected from the image is excluded from the position / orientation calculation target and detected from the image. Record in definition information.

一方、ステップS258において、現在開いているマーカ定義ファイルに登録されている各マーカのマーカ定義情報のうち、画像から識別したマーカIDと同じマーカIDを有するマーカ定義情報が存在しない場合には、この検出マーカのマーカ定義情報を作成し、現在開いているマーカ定義ファイルに追加登録する。この場合、マーカIDは画像から識別したマーカIDを割り当て、除外フラグ、検出フラグを共に1に設定する。そして処理をステップS260に進める。   On the other hand, if there is no marker definition information having the same marker ID as the marker ID identified from the image among the marker definition information of each marker registered in the currently opened marker definition file in step S258, Create marker definition information for the detection marker, and add it to the currently open marker definition file. In this case, a marker ID identified from the image is assigned as the marker ID, and both the exclusion flag and the detection flag are set to 1. Then, the process proceeds to step S260.

一方、ステップS254では、現在開いているマーカ定義ファイルに登録されている各マーカのマーカ定義情報のうち、画像から識別したマーカIDと同じマーカIDを有するマーカ定義情報が存在する場合には、このマーカ定義情報内の対象フラグ、検出フラグを共に1に設定し、除外フラグを0に設定する。即ち、現在開いているマーカ定義ファイルに登録されているマーカ定義情報のうち、画像から検出されたマーカについては位置姿勢計算対象とする旨、画像から検出された旨、位置姿勢計算対象から除外しない旨を、このマーカのマーカ定義情報に記録する。   On the other hand, in step S254, if there is marker definition information having the same marker ID as the marker ID identified from the image among the marker definition information of each marker registered in the currently opened marker definition file, Both the target flag and the detection flag in the marker definition information are set to 1, and the exclusion flag is set to 0. That is, out of the marker definition information registered in the marker definition file that is currently open, the marker detected from the image is not subject to the position / orientation calculation target that it is the position / orientation calculation target. The effect is recorded in the marker definition information of this marker.

一方、ステップS254において、現在開いているマーカ定義ファイルに登録されている各マーカのマーカ定義情報のうち、画像から識別したマーカIDと同じマーカIDを有するマーカ定義情報が存在しない場合には、この検出マーカのマーカ定義情報を作成し、現在開いているマーカ定義ファイルに追加登録する。この場合、マーカIDは画像から識別したマーカIDを割り当て、対象フラグ、検出フラグは共に1に設定し、除外フラグを0に設定する。   On the other hand, in step S254, if there is no marker definition information having the same marker ID as the marker ID identified from the image among the marker definition information of each marker registered in the currently opened marker definition file, Create marker definition information for the detection marker, and add it to the currently open marker definition file. In this case, the marker ID assigned from the image is assigned to the marker ID, both the target flag and the detection flag are set to 1, and the exclusion flag is set to 0.

そして処理をステップS260に進め、ボタン284を指示したタイミング近傍で外部記憶装置3006に取得した画像のサムネイルを領域270内に追加表示する。そして処理をステップS262に進める。ステップS262では、領域230内の各マーカについての領域236の表示を更新するのであるが、上述の通り、除外フラグ=1の領域236については「×」のアイコンを表示する。なお、除外フラグ=0の場合には領域236には「×」のアイコンは表示しない。そしてステップS246の処理を行った後、処理をステップS200に戻す。   Then, the process proceeds to step S260, and the thumbnail of the image acquired in the external storage device 3006 is additionally displayed in the area 270 near the timing when the button 284 is designated. Then, the process proceeds to step S262. In step S262, the display of the area 236 for each marker in the area 230 is updated. As described above, the “x” icon is displayed for the area 236 with the exclusion flag = 1. When the exclusion flag = 0, the “x” icon is not displayed in the area 236. Then, after performing the process of step S246, the process returns to step S200.

以上の処理により、取得モードで取得した画像から検出されたマーカを自動的にキャリブレーション対象にし、除外モードで取得した画像から検出されたマーカを自動的にキャリブレーションから除外することが可能になる。   With the above processing, it is possible to automatically set a marker detected from an image acquired in the acquisition mode as a calibration target and automatically exclude a marker detected from the image acquired in the exclusion mode from the calibration. .

また、図16のGUIにおいて、ボタン286が指示されたことを検知すると、処理をステップS200,S205、S210,S214,S218,S222,S226を介してステップS270に進める。ステップS270では、領域270内で選択されているサムネイルのオリジナル画像および外部記憶装置3006に取得済みの画像からマーカを検出し、検出したマーカのマーカIDを識別する。続いて領域270内で選択されているサムネイルのオリジナル画像から検出されたマーカが、そして外部記憶装置3006に取得済みの画像に存在しないか調べる。存在する場合は何もせず、存在しない場合はそのマーカのマーカ定義情報を削除する。   Further, when it is detected that the button 286 is instructed in the GUI of FIG. 16, the process proceeds to step S270 via steps S200, S205, S210, S214, S218, S222, and S226. In step S270, a marker is detected from the original image of the thumbnail selected in the area 270 and the image acquired in the external storage device 3006, and the marker ID of the detected marker is identified. Subsequently, it is checked whether the marker detected from the original image of the thumbnail selected in the area 270 exists in the image acquired in the external storage device 3006. If it exists, do nothing, otherwise delete the marker definition information for that marker.

そして処理をステップS272に進め、領域270から現在選択されているサムネイルとオリジナルを外部記憶装置3006から削除する処理を行う。そしてステップS262,S246における処理を行った後に、処理をステップS200に戻す。   Then, the process proceeds to step S272, and a process of deleting the currently selected thumbnail and original from the area 270 from the external storage device 3006 is performed. And after performing the process in step S262, S246, a process is returned to step S200.

これらの処理によって画像のを削除に伴って、取得した画像から検出されなくなったマーカのマーカ定義情報を、自動的にマーカ定義情報テーブルから削除し、キャリブレーション対象から除外することが可能になる。また除外モードで取得された画像から検出されたマーカには「×」のアイコンが表示され、除外されているマーカがどれであるか理解が容易になる。   As the image is deleted by these processes, the marker definition information of the marker that is no longer detected from the acquired image can be automatically deleted from the marker definition information table and excluded from the calibration target. In addition, an “x” icon is displayed on the marker detected from the image acquired in the exclusion mode, so that it is easy to understand which marker is excluded.

また、図16のGUIにおいてチェックボックス232に対する指示を検知した場合に行う処理(ステップS230,S232,S246)はそれぞれ、図13におけるステップS130,S132,S146と同じであるので、説明は省略する。   Also, the processing (steps S230, S232, S246) performed when an instruction for the check box 232 is detected in the GUI of FIG. 16 is the same as steps S130, S132, S146 in FIG.

一方、図16のGUIにおいてボタン288が指示されたことを検知すると、処理をステップS200,S205,S210,S214,S218,S222,S226、S230、S234を介してステップS236に進める。ステップS236では先ず、現在開いているマーカ定義ファイルに登録されている全てのマーカ定義情報において対象フラグ=1のマーカ定義情報中の基準マーカフラグを参照し、基準マーカフラグ=1であるマーカ定義情報が2以上存在するか否かをチェックする。2以上存在する場合には処理をステップS240に進める。ステップS240では、基準マーカが2以上存在するが故にキャリブレーションができない旨の警告を表示部3005の表示画面上に表示する。そして処理をステップS250に進める。ステップS250以降の処理については後述する。   On the other hand, when it is detected that the button 288 is instructed in the GUI of FIG. 16, the process proceeds to step S236 via steps S200, S205, S210, S214, S218, S222, S226, S230, and S234. In step S236, first, the reference marker flag in the marker definition information with the target flag = 1 is referred to in all the marker definition information registered in the marker definition file that is currently open, and the marker definition information with the reference marker flag = 1 is 2. Check if it exists. If there are two or more, the process proceeds to step S240. In step S240, a warning that calibration cannot be performed because there are two or more reference markers is displayed on the display screen of the display unit 3005. Then, the process proceeds to step S250. The processing after step S250 will be described later.

一方、基準マーカフラグ=1であるマーカ定義情報が1つのみである場合には処理をステップS238に進める。ステップS238では、現在開いているマーカ定義ファイルに登録されているマーカ定義情報のうち、対象フラグ=1であり且つ検出フラグ=0となるマーカ定義情報、若しくは対象フラグ=1且つ除外フラグ=1となるマーカ定義情報が存在するかをチェックする。存在する場合にはステップS240に進め、このようなマーカについてその位置姿勢を計算することはできないので、その旨を示す警告を表示し、処理をステップS250に進める。ステップS250以降の処理については後述する。   On the other hand, if there is only one marker definition information with the reference marker flag = 1, the process proceeds to step S238. In step S238, among the marker definition information registered in the marker definition file that is currently open, the marker definition information with the target flag = 1 and the detection flag = 0, or the target flag = 1 and the exclusion flag = 1. Check if there is marker definition information. If it exists, the process proceeds to step S240, and since the position and orientation of such a marker cannot be calculated, a warning indicating that fact is displayed, and the process proceeds to step S250. The processing after step S250 will be described later.

これらの処理により、キャリブレーション処理に失敗することを事前に軽減することが可能になる。特に手動で対象フラグを変更した場合に発生する問題を事前に回避することが可能になる。   By these processes, it is possible to reduce in advance the failure of the calibration process. In particular, it is possible to avoid in advance problems that occur when the target flag is manually changed.

一方、現在開いているマーカ定義ファイルに登録されているマーカ定義情報のうち、対象フラグ=1であり且つ検出フラグ=0となるマーカ定義情報、対象フラグ=1且つ除外フラグ=1となるマーカ定義情報の何れも存在しない場合には処理をステップS242に進める。ステップS242では、現在開いているマーカ定義ファイルに登録されているマーカ定義情報のうち対象フラグ=1のマーカ定義情報に対応するマーカの位置姿勢計算処理を行う。そして処理をステップS244に進め、この計算処理の結果、正しく位置姿勢が求まった場合にはこのマーカ定義情報中の完了ステータスの値を「1」に設定する。なお、正しく求めることができなかった場合には完了ステータスの値を「2」に設定する。そしてステップS246における処理を行い、その後、処理をステップS200に戻す。   On the other hand, among the marker definition information registered in the marker definition file that is currently open, the marker definition information with the target flag = 1 and the detection flag = 0, the marker definition with the target flag = 1 and the exclusion flag = 1 If none of the information exists, the process proceeds to step S242. In step S242, a marker position / orientation calculation process corresponding to the marker definition information of the target flag = 1 among the marker definition information registered in the marker definition file currently opened is performed. Then, the process proceeds to step S244, and when the position and orientation are found correctly as a result of the calculation process, the value of the completion status in the marker definition information is set to “1”. If it cannot be obtained correctly, the completion status value is set to “2”. Then, the process in step S246 is performed, and then the process returns to step S200.

以上のような処理を操作者の任意の回数だけ実行し、操作者が位置姿勢を求めたいすべてのマーカについてその位置姿勢を求めることができれば、操作者は図16のGUIにおいて「ファイル」メニュー210を指示した後、「マーカ定義ファイルを保存」メニュー216を指示する。この指示を検知すると、処理をステップS200,S205,S210,S214,S218,S222,S226、S230、S234、S250を介してステップS252に進める。なお、ステップS240からステップS250に処理を進めた場合であっても、「マーカ定義ファイルを保存」メニュー216の指示を検知していれば処理をステップS252に進めるし、検知していなければ処理をステップS254に進める。   If the above processing is executed an arbitrary number of times by the operator and the operator can obtain the position and orientation of all the markers that the operator wants to obtain the position and orientation, the operator can select the “File” menu 210 in the GUI of FIG. , The “Save marker definition file” menu 216 is instructed. When this instruction is detected, the process proceeds to step S252 via steps S200, S205, S210, S214, S218, S222, S226, S230, S234, and S250. Even when the process proceeds from step S240 to step S250, the process proceeds to step S252 if the instruction of the “save marker definition file” menu 216 is detected, and the process proceeds if not detected. Proceed to step S254.

ステップS252では、現在開いているマーカ定義ファイルを外部記憶装置3006に保存する処理を行う。本実施形態では詳細な説明は省略するが、このマーカ定義ファイルを読み込み、完了ステータス=1かつ除外フラグ=0のマーカ定義情報を利用して位置合わせ処理を行うよう処理すれば、除外モードで取得したマーカ画像から検出されたマーカを使用せずに位置合わせ処理を行うことが可能になる。   In step S252, a process of saving the marker definition file currently opened in the external storage device 3006 is performed. Although detailed description is omitted in this embodiment, if this marker definition file is read and processing is performed to perform alignment processing using marker definition information with completion status = 1 and exclusion flag = 0, it is acquired in the exclusion mode. The alignment process can be performed without using the marker detected from the marker image.

そして処理をステップS254に進める。ステップS254では、「終了」メニュー218が指示されたかをチェックし、指示されていない場合には処理をステップS200に戻すのであるが、指示された場合には本処理を終了し、上述の通り、本コンピュータのシャットダウン処理を行う。   Then, the process proceeds to step S254. In step S254, it is checked whether the “end” menu 218 has been instructed. If not instructed, the process returns to step S200. If instructed, the process ends, and as described above. Shut down the computer.

本実施形態では、除外モードという特別なモードで撮影を行うことによってマーカをキャリブレーションから除外することを実現する例について説明した。除外モードで除外したいマーカを撮影することで、キャリブレーションおよび位置合わせ処理から除外するマーカを指定することが可能となった。モードの変更はいつでも行うことができるので、除外モードに切り替え、除外するマーカを撮影することでキャリブレーションから除外するマーカの追加を容易に行うことが可能である。   In the present embodiment, the example in which the marker is excluded from the calibration by performing shooting in a special mode called the exclusion mode has been described. By shooting a marker to be excluded in the exclusion mode, it is possible to specify a marker to be excluded from calibration and alignment processing. Since the mode can be changed at any time, it is possible to easily add the marker to be excluded from the calibration by switching to the exclusion mode and photographing the marker to be excluded.

また、第1の実施形態と同様に、各処理においてマーカ状態に設定される値を変更することで、より操作者の好みや方針に応じた調整を行ってもよい。例えば、S254で除外フラグを0に設定しないようにすることで、一度除外モードで撮影されたマーカを位置姿勢計算対象にしないようにするようにしても良い。これは、予め除外したいマーカを撮影しておき、その後に位置姿勢計算対象とするマーカを撮影する使い方をする場合に有利である。   Similarly to the first embodiment, adjustment according to the preference and policy of the operator may be performed by changing the value set in the marker state in each process. For example, by not setting the exclusion flag to 0 in S254, the marker once photographed in the exclusion mode may not be set as the position and orientation calculation target. This is advantageous in the case where the marker to be excluded is photographed in advance and then the marker to be subjected to position and orientation calculation is photographed.

また、このような変更を操作者の好みに応じてどちらにするか予め設定できるようにしてもよい。   Further, it may be possible to set in advance which of these changes is made according to the preference of the operator.

[第3の実施形態]
本実施形態では、現実空間中に同じマーカIDを有するマーカが配置されている場合に、これを検知し、キャリブレーション処理の対象外とする。なお、本実施形態は第1の実施形態に係る構成を前提としているが、本実施形態が第1の実施形態と異なる点については以下に詳細に説明する。従って、以下の説明において特に触れない点については、第1の実施形態と同様のものであるとする。
[Third Embodiment]
In the present embodiment, when a marker having the same marker ID is arranged in the real space, this is detected and excluded from calibration processing. The present embodiment is premised on the configuration according to the first embodiment, but the difference between the present embodiment and the first embodiment will be described in detail below. Accordingly, points not particularly mentioned in the following description are the same as those in the first embodiment.

先ず、本実施形態で用いるマーカについては第1の実施形態と同様のものを用いる。また、取得した画像からのマーカ重複検出は、画像管理部106、指標管理部107、指標抽出部109、記憶部110が連携して実現するものとする。   First, the markers used in the present embodiment are the same as those in the first embodiment. In addition, it is assumed that marker duplication detection from the acquired image is realized in cooperation with the image management unit 106, the index management unit 107, the index extraction unit 109, and the storage unit 110.

図19は、本実施形態に係るマーカ定義情報の構成例を示す図である。本実施形態においてもマーカ定義情報は第1の実施形態と同様、1つのマーカについて1つ存在するものであるが、本実施形態に係るマーカ定義情報は第1の実施形態に係るマーカ定義情報におけるマーカ状態に「重複フラグ」を加えた構成を有する。   FIG. 19 is a diagram illustrating a configuration example of marker definition information according to the present embodiment. Also in the present embodiment, one marker definition information exists for each marker as in the first embodiment, but the marker definition information according to the present embodiment is the same as the marker definition information according to the first embodiment. It has a configuration in which a “duplicate flag” is added to the marker state.

重複フラグとは、そのマーカが現実空間中に複数存在すると判断された場合に「1」となるフラグで、重複して存在すると判断されないマーカについては「0」となる。本実施形態では重複フラグの規定値は「0」とする。   The overlapping flag is a flag that is “1” when it is determined that there are a plurality of markers in the real space, and is “0” for a marker that is not determined to be overlapping. In this embodiment, the specified value of the duplication flag is “0”.

図20は、上記コンピュータ上で動作し、現実空間中に配された指標の位置姿勢を求めるために用いるGUI(グラフィカルユーザインターフェース)の表示例を示す図である。図20に示したGUIは、上記図6のGUIにおける領域230内に新たに領域237が追加されている。領域237は、対応するマーカが現実空間中に複数存在する旨を示すアイコンを表示するためのもので、同図では、マーカID=2のマーカが現実空間中に複数存在することが検知されている。即ち、重複フラグ=1であればアイコンを表示し、重複フラグ=0であればアイコンは表示しない。もちろん、重複フラグの値に応じて表示するアイコンは如何なるものであっても良く、重複フラグの値が視覚的に分かれば、表示する情報は如何なるものであっても良い。   FIG. 20 is a diagram showing a display example of a GUI (Graphical User Interface) that operates on the computer and is used for obtaining the position and orientation of an index placed in the real space. In the GUI shown in FIG. 20, a region 237 is newly added in the region 230 in the GUI shown in FIG. The region 237 is for displaying an icon indicating that a plurality of corresponding markers exist in the real space. In the figure, it is detected that there are a plurality of markers with the marker ID = 2 in the real space. Yes. That is, if the overlap flag = 1, an icon is displayed, and if the overlap flag = 0, no icon is displayed. Of course, any icon may be displayed according to the value of the overlap flag, and any information may be displayed as long as the value of the overlap flag is visually recognized.

図21,22は、図20に示したGUIを用いて行う各種の処理のフローチャートである。図20のGUIにおいて「ファイル」メニュー210の指示を検知した後、「マーカ定義ファイルを新規作成」メニュー214の指示を検知した場合に行う処理(ステップS300、S301、S302、S308、S346)はそれぞれ、図12におけるステップS100,S101,S102,S108,S146と同じであるので、説明は省略する。   21 and 22 are flowcharts of various processes performed using the GUI shown in FIG. The processing (steps S300, S301, S302, S308, and S346) that is performed when the instruction of the “create new marker definition file” menu 214 is detected after detecting the instruction of the “file” menu 210 in the GUI of FIG. 12 is the same as steps S100, S101, S102, S108, and S146 in FIG.

また、図20のGUIにおいて「ファイル」メニュー210の指示を検知した後、「マーカ定義ファイルを開く」メニュー212の指示を検知した場合における処理(ステップS305,S306,S307,S308,S346)はそれぞれ、図12におけるステップS105,S106,S107,S108,S146と同様であるが、ステップS307では、検出フラグ、対象フラグに加え、重複フラグについても0に初期化する。   Also, the processing (steps S305, S306, S307, S308, and S346) when the instruction of the “open marker definition file” menu 212 is detected after detecting the instruction of the “file” menu 210 in the GUI of FIG. 12 is the same as steps S105, S106, S107, S108, and S146 in FIG. 12, but in step S307, in addition to the detection flag and the target flag, the duplication flag is also initialized to zero.

また、図20のGUIにおいて「編集」メニュー220の指示を検知した後、「マーカ定義情報の新規作成」メニュー222の指示を検知すると、処理をステップS300,S305,S310を介してステップS312に進める。ステップS312では、現在開いているマーカ定義ファイルに、新たなマーカ定義情報を1つ追加する。追加したマーカ定義情報においてマーカIDは、同じファイル内に存在するマーカ定義情報が使用しているマーカIDと異なるものが割り当てられる。また、追加したマーカ定義情報の基準マーカフラグ、検出フラグ、対象フラグ、重複フラグ、完了ステータスは全て0に初期化される加えてマーカサイズは同じファイル内に存在するマーカ定義情報のマーカサイズが設定される。なお、マーカ定義情報が存在しない場合には、既定の値が設定される。そして上記ステップS346における処理を行った後、処理をステップS300に戻す。   In addition, when an instruction on the “new creation of marker definition information” menu 222 is detected after detecting an instruction on the “edit” menu 220 in the GUI of FIG. 20, the process proceeds to step S312 via steps S300, S305, and S310. . In step S312, one piece of new marker definition information is added to the currently opened marker definition file. In the added marker definition information, a marker ID different from the marker ID used by the marker definition information existing in the same file is assigned. In addition, the reference marker flag, detection flag, target flag, duplicate flag, and completion status of the added marker definition information are all initialized to 0, and the marker size is set to the marker size of the marker definition information existing in the same file. The Note that when there is no marker definition information, a default value is set. Then, after performing the process in step S346, the process returns to step S300.

また、図20のGUIにおいて「編集」メニュー220の指示を検知した後、「マーカ定義情報の削除」メニュー224の指示を検知した場合に行う処理(ステップS314,S316,S346)はそれぞれ、図12におけるステップS114,S116,S146と同じであるので、説明は省略する。   Also, the processing (steps S314, S316, and S346) performed when the instruction of the “delete marker definition information” menu 224 is detected after the instruction of the “edit” menu 220 is detected in the GUI of FIG. Steps S114, S116, and S146 in FIG.

また、図16のGUIにおいて「編集」メニュー220の指示を検知した後、「マーカ定義情報の編集」メニュー226の指示を検知した場合に行う処理(ステップS318,S320,S321、S346、S340)はそれぞれ、図12におけるステップS118,S120,S121,S146、図13におけるステップS140と同じであるので、説明は省略する。   Also, the processing (steps S318, S320, S321, S346, and S340) that is performed when the instruction of the “edit marker definition information” menu 226 is detected after detecting the instruction of the “edit” menu 220 in the GUI of FIG. Since these are the same as steps S118, S120, S121, S146 in FIG. 12 and step S140 in FIG.

また、図20のGUIにおいて、ボタン282が既に指示されている状態、即ち、I/F3007を介して外部記憶装置3006に現実空間の動画像を取得している状態で、ボタン284の指示を検知すると、処理をステップS300,S305,S310,S314,S318,S322を介してステップS323に進める。ステップS323では、ボタン284を指示したタイミング近傍で外部記憶装置3006に取得した画像から、この画像中に写っているマーカの検出およびマーカIDの識別を行う。そして、現在開いているマーカ定義ファイルに登録されている各マーカのマーカ定義情報のうち、画像から識別したマーカIDと同じマーカIDを有するマーカ定義情報が存在する場合には、このマーカ定義情報内の対象フラグ、検出フラグを共に1に設定する。即ち、現在開いているマーカ定義ファイルに登録されているマーカ定義情報のうち、画像から検出されたマーカについては検出した旨、及び位置姿勢の計算対象とする旨を、このマーカのマーカ定義情報に記録する。   In the GUI shown in FIG. 20, the instruction of the button 284 is detected in a state where the button 282 is already instructed, that is, in a state where a moving image in the real space is acquired in the external storage device 3006 via the I / F 3007. Then, the process proceeds to step S323 via steps S300, S305, S310, S314, S318, and S322. In step S323, from the image acquired in the external storage device 3006 in the vicinity of the timing when the button 284 is instructed, the marker appearing in this image is detected and the marker ID is identified. If there is marker definition information having the same marker ID as the marker ID identified from the image among the marker definition information of each marker registered in the marker definition file that is currently open, the marker definition information includes Both the target flag and the detection flag are set to 1. That is, among the marker definition information registered in the marker definition file that is currently open, the marker definition information of this marker indicates that the marker detected from the image has been detected and that the position and orientation are to be calculated. Record.

一方、ステップS323において、現在開いているマーカ定義ファイルに登録されている各マーカのマーカ定義情報のうち、画像から識別したマーカIDと同じマーカIDを有するマーカ定義情報が存在しない場合には、この検出マーカのマーカ定義情報を作成し、現在開いているマーカ定義ファイルに追加登録する。この場合、マーカIDは画像から識別したマーカIDを割り当て、対象フラグ、検出フラグは共に1に設定する。   On the other hand, in step S323, if there is no marker definition information having the same marker ID as the marker ID identified from the image among the marker definition information of each marker registered in the currently opened marker definition file, Create marker definition information for the detection marker, and add it to the currently open marker definition file. In this case, the marker ID identified from the image is assigned as the marker ID, and both the target flag and the detection flag are set to 1.

次に、ステップS324では、同じ画像から識別したマーカID同士を比較し、同じマーカIDが2以上存在する、即ち、1枚の画像中に同じマーカIDを有するマーカが2以上存在するか否かをチェックする。このチェックの結果、2以上存在する場合には場合には処理をステップS325に進め、重複しているマーカIDを有するマーカ定義情報中の重複フラグを1に設定する。そして処理をステップS326に進める。   Next, in step S324, the marker IDs identified from the same image are compared, and two or more of the same marker ID exist, that is, whether or not there are two or more markers having the same marker ID in one image. Check. As a result of this check, if there are two or more, the process proceeds to step S325, and the duplication flag in the marker definition information having the duplicate marker ID is set to 1. Then, the process proceeds to step S326.

一方、このチェックの結果、2以上存在しない場合には処理をステップS326に進める。ステップS326では、ボタン284を指示したタイミング近傍で外部記憶装置3006に取得した画像のサムネイルを領域270内に追加表示する。そしてステップS330では、領域230内の各マーカについての領域237の表示を更新するのであるが、上述の通り、重複フラグ=1の領域237についてはアイコンを表示する。なお、重複フラグ=0の場合には領域237にはアイコンを表示しない。そしてステップS346の処理を行った後、処理をステップS300に戻す。   On the other hand, if the result of this check is that there are not two or more, the process proceeds to step S326. In step S326, thumbnails of images acquired in the external storage device 3006 near the timing when the button 284 is designated are additionally displayed in the area 270. In step S330, the display of the area 237 for each marker in the area 230 is updated. As described above, an icon is displayed for the area 237 with the overlap flag = 1. When the overlap flag = 0, no icon is displayed in the area 237. Then, after performing the process of step S346, the process returns to step S300.

これらの処理により、自動的に検出されたマーカをキャリブレーション対象とすると同時に、重複したマーカをキャリブレーションから除外することが可能になる。   By these processes, it is possible to exclude automatically detected markers from the calibration at the same time as automatically setting the markers to be calibrated.

また、図20のGUIにおいて、ボタン286が指示されたことを検知すると、処理をステップS300,S305、S310,S314,S318,S322,S327を介してステップS328に進める。ステップS328では、領域270内で選択されているサムネイルのオリジナル画像および外部記憶装置3006に取得済みの画像からマーカを検出し、検出したマーカのマーカIDを識別する。続いて領域270内で選択されているサムネイルのオリジナル画像から検出されたマーカが、そして外部記憶装置3006に取得済みの画像に存在しないか調べる。存在する場合は何もせず、存在しない場合はそのマーカのマーカ定義情報を削除する。   When it is detected that the button 286 is instructed in the GUI of FIG. 20, the process proceeds to step S328 via steps S300, S305, S310, S314, S318, S322, and S327. In step S328, a marker is detected from the original image of the thumbnail selected in the area 270 and the image acquired in the external storage device 3006, and the marker ID of the detected marker is identified. Subsequently, it is checked whether the marker detected from the original image of the thumbnail selected in the area 270 exists in the image acquired in the external storage device 3006. If it exists, do nothing, otherwise delete the marker definition information for that marker.

そして処理をステップS329に進め、領域270から現在選択されているサムネイルとオリジナルを外部記憶装置3006から削除する処理を行う。そしてステップS330,S346における処理を行った後に、処理をステップS300に戻す。   Then, the process proceeds to step S329, and a process of deleting the currently selected thumbnail and original from the area 270 from the external storage device 3006 is performed. Then, after performing the processes in steps S330 and S346, the process returns to step S300.

これらの処理によって画像の削除に伴って、取得した画像から検出されなくなったマーカのマーカ定義情報を、自動的にマーカ定義情報テーブルから削除してキャリブレーション対象から除外することが可能になる。また重複検出されたマーカにはアイコンが重畳され、重複しているマーカがどれであるか理解が容易になる。   With these processes, the marker definition information of the markers that are no longer detected from the acquired image can be automatically deleted from the marker definition information table and excluded from the calibration target as the image is deleted. In addition, an icon is superimposed on the detected marker, which makes it easy to understand which marker is overlapping.

また、図20のGUIにおいてチェックボックス232に対する指示を検知した場合に行う処理(ステップS332,S333,S346)はそれぞれ、図13におけるステップS130,S132,S146と同じであるので、説明は省略する。   Also, the processing (steps S332, S333, and S346) that is performed when an instruction for the check box 232 is detected in the GUI of FIG. 20 is the same as steps S130, S132, and S146 in FIG.

一方、図20のGUIにおいてボタン288が指示されたことを検知すると、処理をステップS300,S305,S310,S314,S318,S322,S327、S332、S334を介してステップS336に進める。   On the other hand, when it is detected that the button 288 is instructed in the GUI of FIG. 20, the process proceeds to step S336 via steps S300, S305, S310, S314, S318, S322, S327, S332, and S334.

ステップS336では先ず、現在開いているマーカ定義ファイルに登録されている全てのマーカ定義情報において対象フラグ=1のマーカ定義情報中の基準マーカフラグを参照し、基準マーカフラグ=1であるマーカ定義情報が2以上存在するか否かをチェックする。2以上存在する場合には処理をステップS340に進める。   In step S336, first, the reference marker flag in the marker definition information with the target flag = 1 is referred to in all the marker definition information registered in the marker definition file currently opened, and the marker definition information with the reference marker flag = 1 is set to 2. Check if it exists. If there are two or more, the process proceeds to step S340.

ステップS340では、基準マーカが2以上存在するが故にキャリブレーションができない旨の警告を表示部3005の表示画面上に表示する。そして処理をステップS350に進める。ステップS350以降の処理については後述する。   In step S340, a warning that calibration cannot be performed because two or more reference markers exist is displayed on the display screen of the display unit 3005. Then, the process proceeds to step S350. The processing after step S350 will be described later.

一方、基準マーカフラグ=1であるマーカ定義情報が1つのみである場合には処理をステップS338に進める。ステップS338では、現在開いているマーカ定義ファイルに登録されているマーカ定義情報のうち、対象フラグ=1であり且つ検出フラグ=0となるマーカ定義情報、若しくは対象フラグ=1且つ重複フラグ=1となるマーカ定義情報が存在するかをチェックする。存在する場合にはステップS340に進め、このようなマーカについてその位置姿勢を計算することはできないので、その旨を示す警告を表示し、処理をステップS350に進める。ステップS350以降の処理については後述する。   On the other hand, if there is only one marker definition information with the reference marker flag = 1, the process proceeds to step S338. In step S338, among the marker definition information registered in the marker definition file that is currently open, the marker definition information with the target flag = 1 and the detection flag = 0, or the target flag = 1 and the duplication flag = 1. Check if there is marker definition information. If it exists, the process proceeds to step S340, and since the position and orientation cannot be calculated for such a marker, a warning indicating that fact is displayed, and the process proceeds to step S350. The processing after step S350 will be described later.

これらの処理により、キャリブレーション処理に失敗することを事前に軽減することが可能になる。特に手動で対象フラグを変更した場合に発生する問題を事前に回避することが可能になる。   By these processes, it is possible to reduce in advance the failure of the calibration process. In particular, it is possible to avoid in advance problems that occur when the target flag is manually changed.

一方、現在開いているマーカ定義ファイルに登録されているマーカ定義情報のうち、対象フラグ=1であり且つ検出フラグ=0となるマーカ定義情報、対象フラグ=1且つ重複フラグ=1となるマーカ定義情報の何れも存在しない場合には処理をステップS342に進める。ステップS342では、現在開いているマーカ定義ファイルに登録されているマーカ定義情報のうち対象フラグ=1のマーカ定義情報に対応するマーカの位置姿勢計算処理を行う。そして処理をステップS344に進め、この計算処理の結果、正しく位置姿勢が求まった場合にはこのマーカ定義情報中の完了ステータスの値を「1」に設定する。なお、正しく求めることができなかった場合には完了ステータスの値を「2」に設定する。そしてステップS346における処理を行い、その後、処理をステップS300に戻す。   On the other hand, among the marker definition information registered in the marker definition file that is currently open, marker definition information with target flag = 1 and detection flag = 0, marker definition with target flag = 1 and duplicate flag = 1 If none of the information exists, the process proceeds to step S342. In step S342, the marker position / orientation calculation process corresponding to the marker definition information of the target flag = 1 among the marker definition information registered in the marker definition file currently opened is performed. Then, the process proceeds to step S344. If the position and orientation are found correctly as a result of this calculation process, the value of the completion status in this marker definition information is set to “1”. If it cannot be obtained correctly, the completion status value is set to “2”. Then, the process in step S346 is performed, and then the process returns to step S300.

以上のような処理を操作者の任意の回数だけ実行し、操作者が位置姿勢を求めたいすべてのマーカについてその位置姿勢を求めることができれば、操作者は図20のGUIにおいて「ファイル」メニュー210を指示した後、「マーカ定義ファイルを保存」メニュー216を指示する。この指示を検知すると、処理をステップS300,S305,S310,S314,S318,S322,S327、S332、S334、S350を介してステップS352に進める。なお、ステップS340からステップS350に処理を進めた場合であっても、「マーカ定義ファイルを保存」メニュー216の指示を検知していれば処理をステップS352に進めるし、検知していなければ処理をステップS354に進める。   If the above processing is executed an arbitrary number of times by the operator and the operator can obtain the position and orientation of all the markers for which the operator wants to obtain the position and orientation, the operator can select the “File” menu 210 in the GUI of FIG. , The “Save marker definition file” menu 216 is instructed. When this instruction is detected, the process proceeds to step S352 via steps S300, S305, S310, S314, S318, S322, S327, S332, S334, and S350. Even when the process proceeds from step S340 to step S350, the process proceeds to step S352 if an instruction in the “save marker definition file” menu 216 is detected, and the process proceeds if not detected. Proceed to step S354.

ステップS352では、現在開いているマーカ定義ファイルを外部記憶装置3006に保存する処理を行う。本実施形態では詳細な説明は省略するが、このマーカ定義ファイルを読み込み、完了ステータス=1のマーカ定義情報を利用して位置合わせ処理を行うよう処理すれば、操作者が選択して位置姿勢を計算したマーカ利用して位置合わせ処理を行うことが可能になる。   In step S352, a process of saving the marker definition file currently opened in the external storage device 3006 is performed. Although a detailed description is omitted in the present embodiment, if the marker definition file is read and the alignment process is performed using the marker definition information with the completion status = 1, the operator selects the position and orientation. It is possible to perform alignment processing using the calculated marker.

そして処理をステップS354に進める。ステップS354では、「終了」メニュー218が指示されたかをチェックし、指示されていない場合には処理をステップS300に戻すのであるが、指示された場合には本処理を終了し、上述の通り、本コンピュータのシャットダウン処理を行う。   Then, the process proceeds to step S354. In step S354, it is checked whether the “end” menu 218 has been instructed. If not instructed, the process returns to step S300. If instructed, this process ends, and as described above. Shut down the computer.

本実施形態では、同じマーカIDのマーカが2以上配置されていることを検知し、キャリブレーションから除外することを実現する例について説明した。重複と判断されたマーカは、マーカ定義情報を削除しない限り使用できるようにならないため、重複によるキャリブレーション失敗の可能性を軽減することが可能になる。   In the present embodiment, an example has been described in which it is detected that two or more markers having the same marker ID are arranged and excluded from calibration. Markers determined to be duplicated cannot be used unless the marker definition information is deleted, so that the possibility of calibration failure due to duplication can be reduced.

第1の実施形態と同様に、各処理においてマーカ状態に設定される値を変更することで、より操作者の志向および方針に応じた調整を行ってもよい。また、このような変形を操作者の好みに応じてどちらにするか予め設定できるようにしてもよい。   Similar to the first embodiment, the value set in the marker state in each process may be changed to make adjustments according to the operator's orientation and policy. Further, it may be possible to set in advance which of these modifications is made according to the preference of the operator.

[第4の実施形態]
本実施形態は、第1の実施形態に係る構成に印刷機能を加え、マーカが印刷済みである、ということをキャリブレーション対象選択の要素とする例である。係る実施形態は、印刷する行為を、操作者がマーカを設置してキャリブレーションする意思がある、とみなす方針の時に有用である。
[Fourth Embodiment]
The present embodiment is an example in which a printing function is added to the configuration according to the first embodiment, and the fact that a marker has been printed is used as an element for selecting a calibration target. Such an embodiment is useful when the policy is to regard the act of printing as having the intention of the operator to place and calibrate the marker.

なお、本実施形態は第1の実施形態に係る構成を前提としているが、本実施形態が第1の実施形態と異なる点については以下に詳細に説明する。従って、以下の説明において特に触れない点については、第1の実施形態と同様のものであるとする。   The present embodiment is premised on the configuration according to the first embodiment, but the difference between the present embodiment and the first embodiment will be described in detail below. Accordingly, points not particularly mentioned in the following description are the same as those in the first embodiment.

図23は、本実施形態に係る画像処理装置の機能構成を示すブロック図である。同図に示す如く、本実施形態に係る画像処理装置2300は、図4に示した第1の実施形態に係る画像処理装置100に指標生成部120を加えた構成を有すると共に、この指標生成部120には印刷部121が接続されている。   FIG. 23 is a block diagram illustrating a functional configuration of the image processing apparatus according to the present embodiment. As shown in the figure, an image processing apparatus 2300 according to this embodiment has a configuration in which an index generation unit 120 is added to the image processing apparatus 100 according to the first embodiment shown in FIG. A printing unit 121 is connected to 120.

指標生成部120は、指標管理部107が記憶部110から読み出したマーカ定義情報を受け、これを用いて図1に示したフォーマットに従って、マーカの画像を生成する。そして生成した画像に基づいて印刷データを生成する。生成した印刷データは印刷部121に送出される。印刷部121は、送出された印刷データを受け、これを紙などの記録媒体上に記録する処理を行う。従って印刷部121には、プリンタや複合機など、プリント機能を有する装置が適用される。   The index generation unit 120 receives the marker definition information read from the storage unit 110 by the index management unit 107, and generates a marker image according to the format shown in FIG. Then, print data is generated based on the generated image. The generated print data is sent to the printing unit 121. The printing unit 121 receives the sent print data and performs a process of recording it on a recording medium such as paper. Therefore, an apparatus having a printing function such as a printer or a multifunction machine is applied to the printing unit 121.

なお、画像処理装置2300において、指標生成部120以外の各部による動作については第1の実施形態と同様であるので、説明は省略する。   In the image processing apparatus 2300, the operations performed by the units other than the index generation unit 120 are the same as those in the first embodiment, and a description thereof will be omitted.

図24は、本実施形態に係るマーカ定義情報の構成例を示す図である。本実施形態においてもマーカ定義情報は第1の実施形態と同様、1つのマーカについて1つ存在するものであるが、本実施形態に係るマーカ定義情報は第1の実施形態に係るマーカ定義情報におけるマーカ状態に「印刷フラグ」を加えた構成を有する。   FIG. 24 is a diagram illustrating a configuration example of marker definition information according to the present embodiment. Also in the present embodiment, one marker definition information exists for each marker as in the first embodiment, but the marker definition information according to the present embodiment is the same as the marker definition information according to the first embodiment. It has a configuration in which a “print flag” is added to the marker state.

印刷フラグとは、マーカが印刷部121によって印刷されたか否かを示すフラグである。印刷されたマーカについては印刷フラグには「1」が設定され、未だ印刷されていないマーカについては印刷フラグには「0」が設定されている。印刷フラグの設定は指標生成部120が行うものとする。例えばマーカの印刷データを生成し、生成した印刷データを印刷部121に送出するのに伴い印刷フラグが1に設定されるようにしてもよい。本実施形態では、印刷フラグの規定値は「0」とする。   The print flag is a flag indicating whether or not the marker has been printed by the printing unit 121. For a printed marker, “1” is set in the print flag, and for a marker that has not been printed yet, “0” is set in the print flag. It is assumed that the print flag is set by the index generation unit 120. For example, the print flag may be set to 1 as the marker print data is generated and the generated print data is sent to the printing unit 121. In the present embodiment, the specified value of the print flag is “0”.

図25は、上記コンピュータ上で動作し、現実空間中に配された指標の位置姿勢を求めるために用いるGUI(グラフィカルユーザインターフェース)の表示例を示す図である。図25に示したGUIは、上記図6のGUIにおける領域230内に新たに領域239が追加されている。領域239は、対応するマーカが印刷済みのものである旨を示すアイコンを表示するためのもので、同図では、マーカID=2のマーカが印刷済みであることを示している。即ち、印刷フラグ=1であればアイコンを表示し、印刷フラグ=0であればアイコンは表示しない。もちろん、印刷フラグの値に応じて表示するアイコンは如何なるものであっても良く、印刷フラグの値が視覚的に分かれば、表示する情報は如何なるものであっても良い。   FIG. 25 is a diagram showing a display example of a GUI (Graphical User Interface) that operates on the computer and is used for obtaining the position and orientation of the index placed in the real space. In the GUI shown in FIG. 25, a region 239 is newly added to the region 230 in the GUI shown in FIG. An area 239 is for displaying an icon indicating that the corresponding marker is already printed, and in the figure, the marker with marker ID = 2 is printed. That is, an icon is displayed if the print flag = 1, and no icon is displayed if the print flag = 0. Of course, any icon may be displayed according to the print flag value, and any information may be displayed as long as the print flag value is visually recognized.

ここで、図25に示したGUIにおいて「編集」メニュー220を指示すると、表示部3005の表示画面上には図26に示す編集メニューが表示される。図26に示した編集メニューは、図8に示した第1の実施形態に係る編集メニューに「マーカの印刷」メニュー228を加えたものである。この「マーカの印刷」メニュー228を指示すると、表示部3005の表示画面上には図27に示すようなウィンドウが表示される。   Here, when the “edit” menu 220 is designated in the GUI shown in FIG. 25, the edit menu shown in FIG. 26 is displayed on the display screen of the display unit 3005. The edit menu shown in FIG. 26 is obtained by adding a “print marker” menu 228 to the edit menu according to the first embodiment shown in FIG. When this “print marker” menu 228 is instructed, a window as shown in FIG. 27 is displayed on the display screen of the display unit 3005.

同図のウィンドウにおいて510は、印刷するマーカのマーカIDを入力するための領域である。本画像処理装置2300の操作者がこの領域510に印刷したいマーカのマーカIDを入力した後に、OKボタン520を指示すると、指示されたマーカIDを有するマーカの印刷データが上記指標管理部107、指標生成部120により生成され、印刷部121により、この印刷データに従った印刷処理が行われる。これにより、指示されたマーカIDを有するマーカが紙などの記録媒体上に印刷される。   In the window of FIG. 5, reference numeral 510 denotes an area for inputting a marker ID of a marker to be printed. When the operator of the image processing apparatus 2300 inputs the marker ID of the marker to be printed in this area 510 and then instructs the OK button 520, the marker print data having the indicated marker ID is displayed in the index management unit 107, the index. Generated by the generation unit 120, and the printing unit 121 performs a printing process according to the print data. Thereby, a marker having the instructed marker ID is printed on a recording medium such as paper.

なお、領域510内に予め表示される初期値は、領域230内に表示されているマーカIDの何れかであるとするが、使用可能なマーカIDの範囲で自由に変更してもよい。   Note that the initial value displayed in advance in the area 510 is one of the marker IDs displayed in the area 230, but may be freely changed within the range of usable marker IDs.

図28,29は、図25に示したGUIを用いて行う各種の処理のフローチャートである。図25のGUIにおいて「ファイル」メニュー210の指示を検知した後、「マーカ定義ファイルを新規作成」メニュー214の指示を検知した場合に行う処理(ステップS400、S401、S402、S408、S446)はそれぞれ、図12におけるステップS100,S101,S102,S108,S146と同じであるので、説明は省略する。   28 and 29 are flowcharts of various processes performed using the GUI shown in FIG. The processing (steps S400, S401, S402, S408, and S446) that is performed when the instruction of the “create new marker definition file” menu 214 is detected after detecting the instruction of the “file” menu 210 in the GUI of FIG. 12 is the same as steps S100, S101, S102, S108, and S146 in FIG.

また、図25のGUIにおいて「ファイル」メニュー210の指示を検知した後、「マーカ定義ファイルを開く」メニュー212の指示を検知した場合における処理(ステップS405,S406,S407,S408,S446)はそれぞれ、図12におけるステップS105,S106,S107,S108,S146と同様であるが、ステップS407では、検出フラグ、対象フラグに加え、印刷フラグについても0に初期化する。   In addition, the processing (steps S405, S406, S407, S408, S446) when the instruction of the “open marker definition file” menu 212 is detected after detecting the instruction of the “file” menu 210 in the GUI of FIG. 25, respectively. 12 is the same as steps S105, S106, S107, S108, and S146 in FIG. 12, but in step S407, the print flag is initialized to 0 in addition to the detection flag and the target flag.

また、図25のGUIにおいて「編集」メニュー220の指示を検知した後、「マーカ定義情報の新規作成」メニュー222の指示を検知すると、処理をステップS400,S405,S410を介してステップS412に進める。ステップS412では、現在開いているマーカ定義ファイルに、新たなマーカ定義情報を1つ追加する。追加したマーカ定義情報においてマーカIDは、同じファイル内に存在するマーカ定義情報が使用しているマーカIDと異なるものが割り当てられる。また、追加したマーカ定義情報の基準マーカフラグ、検出フラグ、対象フラグ、印刷フラグ、完了ステータスは全て0に初期化される。加えてマーカサイズは同じファイル内に存在するマーカ定義情報のマーカサイズが設定される。なお、マーカ定義情報が存在しない場合には、既定の値が設定される。そして上記ステップS446における処理を行った後、処理をステップS400に戻す。   In addition, if an instruction on the “new creation of marker definition information” menu 222 is detected after detecting an instruction on the “edit” menu 220 in the GUI of FIG. 25, the process proceeds to step S412 via steps S400, S405, and S410. . In step S412, one new marker definition information is added to the currently opened marker definition file. In the added marker definition information, a marker ID different from the marker ID used by the marker definition information existing in the same file is assigned. In addition, the reference marker flag, detection flag, target flag, print flag, and completion status of the added marker definition information are all initialized to 0. In addition, the marker size of the marker definition information existing in the same file is set. Note that when there is no marker definition information, a default value is set. Then, after performing the process in step S446, the process returns to step S400.

また、図25のGUIにおいて「編集」メニュー220の指示を検知した後、「マーカ定義情報の削除」メニュー224の指示を検知した場合に行う処理(ステップS414,S416,S446)はそれぞれ、図12におけるステップS114,S116,S146と同じであるので、説明は省略する。   Also, the processing (steps S414, S416, and S446) performed when the instruction of the “delete marker definition information” menu 224 is detected after detecting the instruction of the “edit” menu 220 in the GUI of FIG. Steps S114, S116, and S146 in FIG.

また、図25のGUIにおいて「編集」メニュー220の指示を検知した後、「マーカ定義情報の編集」メニュー226の指示を検知した場合に行う処理(ステップS418,S420,S421、S446、S440)はそれぞれ、図12におけるステップS118,S120,S121,S146、図13におけるステップS140と同じであるので、説明は省略する。   In addition, the processing (steps S418, S420, S421, S446, and S440) that is performed when the instruction of the “edit marker definition information” menu 226 is detected after detecting the instruction of the “edit” menu 220 in the GUI of FIG. Since these are the same as steps S118, S120, S121, S146 in FIG. 12 and step S140 in FIG.

また、図25のGUIにおいて、「編集」メニュー220の指示を検知した後、「マーカの印刷」メニュー228の指示を検知した場合には処理をステップS400,S405,S410,S414,S418,S460を介してステップS462に進め、先ず、表示部3005の表示画面上に図27に示すウィンドウを表示する。本コンピュータの操作者はこのウィンドウにおける領域510に印刷対象のマーカのマーカIDを入力し、その後、OKボタン520を指示する。従って、ステップS462ではOKボタン520の指示を検知すると、この入力されたマーカIDを取得する。そして、取得したマーカIDが、現在開いているマーカ定義ファイル内に登録されたものであるか(領域230内に表示されているものであるか)をチェックする。   In the GUI shown in FIG. 25, if an instruction in the “edit marker” menu 228 is detected after an instruction in the “edit” menu 220 is detected, the process proceeds to steps S400, S405, S410, S414, S418, and S460. In step S462, the window shown in FIG. 27 is displayed on the display screen of the display unit 3005. The operator of this computer inputs the marker ID of the marker to be printed in the area 510 in this window, and then instructs the OK button 520. Accordingly, in step S462, when the instruction of the OK button 520 is detected, the input marker ID is acquired. Then, it is checked whether the acquired marker ID is registered in the marker definition file that is currently open (is displayed in the area 230).

このチェックの結果、存在しない場合には処理をステップS464に進め、取得したマーカIDを有するマーカ定義情報を新規作成し、現在開いているマーカ定義ファイルに追加登録する。このステップS464における処理は、上記ステップS412における処理と同様にして行う。そして処理をステップS466に進める。   As a result of this check, if it does not exist, the process proceeds to step S464, where marker definition information having the acquired marker ID is newly created and additionally registered in the currently opened marker definition file. The process in step S464 is performed in the same manner as the process in step S412. Then, the process proceeds to step S466.

一方、ステップS462におけるチェックの結果、存在する場合には処理をステップS466に進め、領域510に入力されたマーカIDを有するマーカ定義情報に基づいて、このマーカの画像の印刷データを作成する。即ち、図1に示したフォーマットに従って、このマーカ定義情報中のマーカIDを表現したマーカの画像を作成し、その後、画像の印刷データを作成する。そして、作成した印刷データを印刷部121に送出する。この本実施形態の場合、印刷部121は、本コンピュータにおけるI/F3007に接続されているので、印刷データはこのI/F3007を介して印刷部121に送出される。これにより、領域510に入力したマーカIDを有するマーカが印刷部121により、紙などの記録媒体上に印刷されることになる。   On the other hand, if it exists as a result of the check in step S462, the process proceeds to step S466, and print data of the image of this marker is created based on the marker definition information having the marker ID input to the area 510. That is, according to the format shown in FIG. 1, a marker image representing the marker ID in the marker definition information is created, and then print data of the image is created. Then, the created print data is sent to the printing unit 121. In this embodiment, since the printing unit 121 is connected to the I / F 3007 in the computer, the print data is sent to the printing unit 121 via the I / F 3007. As a result, the marker having the marker ID input to the area 510 is printed on a recording medium such as paper by the printing unit 121.

なお、ステップS464からステップS466に処理を移行した場合には、ステップS466では、新規作成したマーカ定義情報に基づいて、このマーカの画像の印刷データを作成する。そして、作成した印刷データを印刷部121に送出する。   When the processing is shifted from step S464 to step S466, in step S466, print data of the marker image is created based on the newly created marker definition information. Then, the created print data is sent to the printing unit 121.

そして処理をステップS468に進め、印刷したマーカのマーカ定義情報中の対象フラグ、印刷フラグを共に1に設定する。そしてステップS446における処理を行った後、処理をステップS400に戻す。   Then, the process proceeds to step S468, and both the target flag and the print flag in the marker definition information of the printed marker are set to 1. Then, after performing the process in step S446, the process returns to step S400.

これら印刷したマーカを自動的にキャリブレーション対象に含める処理により、キャリブレーションするマーカを選択するための要素として、マーカの印刷履歴を使用することが可能になる。   By automatically including these printed markers in the calibration target, the marker print history can be used as an element for selecting the marker to be calibrated.

また、印刷したマーカのマーカ定義情報を自動的にマーカ定義情報テーブルに追加することで、操作者の作業を軽減することが可能になる。   Further, by automatically adding the marker definition information of the printed marker to the marker definition information table, it is possible to reduce the operator's work.

また、図25のGUIにおいて、ボタン282が既に指示されている状態、即ち、I/F3007を介して外部記憶装置3006に現実空間の動画像を取得している状態で、ボタン284の指示を検知すると、処理をステップS400,S405,S410,S414,S418,S460,S422を介してステップS424に進める。   In the GUI shown in FIG. 25, the button 284 is detected when the button 282 is already instructed, that is, when a moving image of the real space is acquired in the external storage device 3006 via the I / F 3007. Then, the process proceeds to step S424 via steps S400, S405, S410, S414, S418, S460, and S422.

ステップS424では、ボタン284を指示したタイミング近傍で外部記憶装置3006に取得した画像から、この画像中に写っているマーカの検出およびマーカIDの識別を行う。そして、現在開いているマーカ定義ファイルに登録されている各マーカのマーカ定義情報のうち、画像から識別したマーカIDと同じマーカIDを有するマーカ定義情報が存在する場合には、このマーカ定義情報内の検出フラグを1に設定する。即ち、現在開いているマーカ定義ファイルに登録されているマーカ定義情報のうち、画像から検出されたマーカについては検出した旨を、このマーカのマーカ定義情報に記録する。   In step S424, from the image acquired in the external storage device 3006 in the vicinity of the timing at which the button 284 is instructed, the marker appearing in this image is detected and the marker ID is identified. If there is marker definition information having the same marker ID as the marker ID identified from the image among the marker definition information of each marker registered in the marker definition file that is currently open, the marker definition information includes Is set to 1. That is, of the marker definition information registered in the marker definition file that is currently open, the fact that a marker detected from the image has been detected is recorded in the marker definition information of this marker.

一方、ステップS424において、現在開いているマーカ定義ファイルに登録されている各マーカのマーカ定義情報のうち、画像から識別したマーカIDと同じマーカIDを有するマーカ定義情報が存在しない場合には、この検出マーカのマーカ定義情報を作成し、現在開いているマーカ定義ファイルに追加登録する。この場合、マーカIDは画像から識別したマーカIDを割り当て、検出フラグは1に設定する。   On the other hand, in step S424, when there is no marker definition information having the same marker ID as the marker ID identified from the image among the marker definition information of each marker registered in the currently opened marker definition file, Create marker definition information for the detection marker, and add it to the currently open marker definition file. In this case, the marker ID identified from the image is assigned as the marker ID, and the detection flag is set to 1.

そして処理をステップS425に進め、ボタン284を指示したタイミング近傍で外部記憶装置3006に取得した画像のサムネイルを領域270内に追加表示する。そしてステップS446における処理を行った後に、処理をステップS400に戻す。   Then, the process proceeds to step S425, and the thumbnail of the image acquired in the external storage device 3006 is additionally displayed in the area 270 near the timing when the button 284 is designated. Then, after performing the process in step S446, the process returns to step S400.

一方、図25のGUIにおいて、ボタン286が指示されたことを検知すると、処理をステップS400,S405、S410,S414,S418,S460,S422,S427を介してステップS428に進める。   On the other hand, when it is detected in the GUI of FIG. 25 that the button 286 has been designated, the process proceeds to step S428 via steps S400, S405, S410, S414, S418, S460, S422, and S427.

ステップS428では、領域270内で選択されているサムネイルのオリジナル画像および外部記憶装置3006に取得済みの画像からマーカを検出し、検出したマーカのマーカIDを識別する。続いて領域270内で選択されているサムネイルのオリジナル画像から検出されたマーカが、そして外部記憶装置3006に取得済みの画像に存在しないか調べる。存在する場合は何もせず、存在しない場合はそのマーカのマーカ定義情報を削除する。   In step S428, a marker is detected from the original image of the thumbnail selected in the area 270 and the image acquired in the external storage device 3006, and the marker ID of the detected marker is identified. Subsequently, it is checked whether the marker detected from the original image of the thumbnail selected in the area 270 exists in the image acquired in the external storage device 3006. If it exists, do nothing, otherwise delete the marker definition information for that marker.

そして処理をステップS429に進め、領域270から現在選択されているサムネイルとオリジナルを外部記憶装置3006から削除を行う。そしてステップS446における処理を行った後に、処理をステップS400に戻す。   Then, the process proceeds to step S429, and the currently selected thumbnail and original are deleted from the external storage device 3006 from the area 270. Then, after performing the process in step S446, the process returns to step S400.

これらの処理によって画像の削除に伴って取得した画像から検出されなくなったマーカのマーカ定義情報を、自動的にマーカ定義情報テーブルから削除してキャリブレーション対象から除外することが可能になる。   With these processes, it becomes possible to automatically delete the marker definition information of the marker that is no longer detected from the image acquired along with the deletion of the image from the marker definition information table and exclude it from the calibration target.

また、図25のGUIにおいてチェックボックス232に対する指示を検知した場合に行う処理(ステップS432,S433,S446)はそれぞれ、図13におけるステップS130,S132,S146と同じであるので、説明は省略する。   Also, the processing (steps S432, S433, and S446) performed when an instruction for the check box 232 is detected in the GUI of FIG. 25 is the same as steps S130, S132, and S146 in FIG.

一方、図25のGUIにおいてボタン288が指示されたことを検知すると、処理をステップS400,S405、S410,S414,S418,S460,S422,S427、S432,S434を介してステップS436に進める。   On the other hand, when it is detected that the button 288 is instructed in the GUI of FIG. 25, the process proceeds to step S436 via steps S400, S405, S410, S414, S418, S460, S422, S427, S432, and S434.

ステップS436では先ず、現在開いているマーカ定義ファイルに登録されている全てのマーカ定義情報において対象フラグ=1のマーカ定義情報中の基準マーカフラグを参照し、基準マーカフラグ=1であるマーカ定義情報が2以上存在するか否かをチェックする。2以上存在する場合には処理をステップS440に進める。   In step S436, first, the reference marker flag in the marker definition information with the target flag = 1 is referred to in all marker definition information registered in the marker definition file that is currently open, and the marker definition information with the reference marker flag = 1 is 2. Check if it exists. If there are two or more, the process proceeds to step S440.

ステップS440では、基準マーカが2以上存在するが故にキャリブレーションができない旨の警告を表示部3005の表示画面上に表示する。そして処理をステップS450に進める。ステップS450以降の処理については後述する。   In step S440, a warning that calibration cannot be performed because there are two or more reference markers is displayed on the display screen of the display unit 3005. Then, the process proceeds to step S450. The processing after step S450 will be described later.

一方、基準マーカフラグ=1であるマーカ定義情報が1つのみである場合には処理をステップS438に進める。ステップS438では、現在開いているマーカ定義ファイルに登録されているマーカ定義情報のうち、対象フラグ=1であり且つ検出フラグ=0となるマーカ定義情報が存在するかをチェックする。存在する場合にはステップS440に進め、このようなマーカについてその位置姿勢を計算することはできないので、その旨を示す警告を表示し、処理をステップS450に進める。ステップS450以降の処理については後述する。   On the other hand, if there is only one marker definition information with the reference marker flag = 1, the process proceeds to step S438. In step S438, it is checked whether there is marker definition information in which the target flag = 1 and the detection flag = 0 among the marker definition information registered in the currently opened marker definition file. If it exists, the process proceeds to step S440, and since the position and orientation of such a marker cannot be calculated, a warning indicating that fact is displayed, and the process proceeds to step S450. The processing after step S450 will be described later.

この処理により、検出されてないマーカがキャリブレーション対象となっている間違いを回避し、検出するために画像を取得するよう操作者に促すことが可能になる。   This process avoids mistakes in which undetected markers are subject to calibration, and can prompt the operator to acquire an image for detection.

一方、現在開いているマーカ定義ファイルに登録されているマーカ定義情報のうち、対象フラグ=1であり且つ検出フラグ=0となるマーカ定義情報が存在しない場合には処理をステップS439に進める。   On the other hand, in the marker definition information registered in the marker definition file that is currently open, if there is no marker definition information with the target flag = 1 and the detection flag = 0, the process proceeds to step S439.

ステップS439では、現在開いているマーカ定義ファイルに登録されているマーカ定義情報のうち、対象フラグ=0且つ印刷フラグ=1となるマーカ定義情報が存在するか否かをチェックする。このチェックの結果、存在する場合には処理をステップS441に進める。   In step S439, it is checked whether or not there is marker definition information with the target flag = 0 and the print flag = 1 among the marker definition information registered in the marker definition file that is currently open. As a result of this check, if it exists, the process proceeds to step S441.

ステップS441では、印刷したのにもかかわらずキャリブレーション対象にしないのは不自然と判断し、表示部3005の表示画面上に警告表示を行うと共に、再度キャリブレーション処理を中止するか否かを促すためのGUIを表示部3005の表示画面上に表示する。この処理により、印刷し、配置したにもかかわらず、操作者が手動でキャリブレーション対象から除外した間違いを回避し、印刷したマーカをキャリブレーションするよう操作者に促すことが可能になる。   In step S441, it is determined that it is not natural to calibrate despite being printed, and a warning is displayed on the display screen of the display unit 3005, and a prompt is made to suspend calibration processing again. Is displayed on the display screen of the display unit 3005. This process makes it possible to avoid mistakes that the operator manually excludes from the calibration target despite printing and placement, and to prompt the operator to calibrate the printed marker.

このGUIに対する操作の結果、計算を中断する旨の指示が入力された場合には処理をステップS450に進める。一方、計算を続行する旨の指示が入力された場合には処理をステップS442に進める。   If an instruction to interrupt the calculation is input as a result of the operation on the GUI, the process proceeds to step S450. On the other hand, if an instruction to continue the calculation is input, the process proceeds to step S442.

一方、上記ステップS439におけるチェックの結果、現在開いているマーカ定義ファイルに登録されているマーカ定義情報のうち、対象フラグ=0且つ印刷フラグ=1となるマーカ定義情報が存在しない場合には処理をステップS442に進める。   On the other hand, as a result of the check in step S439, if the marker definition information registered in the marker definition file that is currently open does not include the marker definition information with the target flag = 0 and the print flag = 1, the process is performed. The process proceeds to step S442.

ステップS442では、現在開いているマーカ定義ファイルに登録されているマーカ定義情報のうち対象フラグ=1のマーカ定義情報に対応するマーカの位置姿勢計算処理を行う。そして処理をステップS444に進め、この計算処理の結果、正しく位置姿勢が求まった場合にはこのマーカ定義情報中の完了ステータスの値を「1」に設定する。なお、正しく求めることができなかった場合には完了ステータスの値を「2」に設定する。そしてステップS446における処理を行い、その後、処理をステップS400に戻す。   In step S442, a marker position / orientation calculation process corresponding to the marker definition information of the target flag = 1 among the marker definition information registered in the marker definition file currently opened is performed. Then, the process proceeds to step S444, and when the position and orientation are found correctly as a result of the calculation process, the value of the completion status in the marker definition information is set to “1”. If it cannot be obtained correctly, the completion status value is set to “2”. Then, the process in step S446 is performed, and then the process returns to step S400.

以上のような処理を操作者の任意の回数だけ実行し、操作者が位置姿勢を求めたいすべてのマーカについてその位置姿勢を求めることができれば、操作者は図25のGUIにおいて「ファイル」メニュー210を指示した後、「マーカ定義ファイルを保存」メニュー216を指示する。この指示を検知すると、処理をステップS400,S405,S410,S414,S418,S460,S422、S427、S432,S434、S450を介してステップS452に進める。なお、ステップS440やステップS441からステップS450に処理を進めた場合であっても、「マーカ定義ファイルを保存」メニュー216の指示を検知していれば処理をステップS452に進めるし、検知していなければ処理をステップS454に進める。   If the above processing is executed an arbitrary number of times by the operator and the operator can obtain the position and orientation of all the markers that the operator wants to obtain the position and orientation, the operator can select the “File” menu 210 in the GUI of FIG. , The “Save marker definition file” menu 216 is instructed. When this instruction is detected, the process proceeds to step S452 via steps S400, S405, S410, S414, S418, S460, S422, S427, S432, S434, and S450. Even when the process proceeds from step S440 or step S441 to step S450, if the instruction of the “save marker definition file” menu 216 is detected, the process proceeds to step S452 and must be detected. If so, the process proceeds to step S454.

ステップS452では、現在開いているマーカ定義ファイルを外部記憶装置3006に保存する処理を行う。本実施形態では詳細な説明は省略するが、このマーカ定義ファイルを読み込み、完了ステータス=1のマーカ定義情報を利用して位置合わせ処理を行うよう処理すれば、操作者が選択して位置姿勢を計算したマーカ利用して位置合わせ処理を行うことが可能になる。   In step S452, a process of saving the marker definition file currently opened in the external storage device 3006 is performed. Although a detailed description is omitted in the present embodiment, if the marker definition file is read and the alignment process is performed using the marker definition information with the completion status = 1, the operator selects the position and orientation. It is possible to perform alignment processing using the calculated marker.

そして処理をステップS454に進める。ステップS454では、「終了」メニュー218が指示されたかをチェックし、指示されていない場合には処理をステップS400に戻すのであるが、指示された場合には本処理を終了し、上述の通り、本コンピュータのシャットダウン処理を行う。   Then, the process proceeds to step S454. In step S454, it is checked whether the “end” menu 218 has been instructed. If not instructed, the process returns to step S400. If instructed, this process ends, and as described above. Shut down the computer.

本実施形態では、第1の実施形態にマーカ印刷機能を加え、マーカが印刷済みであることをキャリブレーション対象選択の要素とする例について説明した。係る構成によれば、印刷したマーカのうち画像から検出されてないマーカが存在した場合、警告し、印刷したマーカをキャリブレーション可能なように操作者を誘導することが可能になる。   In the present embodiment, an example in which the marker printing function is added to the first embodiment and the fact that the marker has been printed is used as an element for selecting the calibration target has been described. According to such a configuration, when there is a marker that is not detected from the image among the printed markers, it is possible to warn and guide the operator so that the printed marker can be calibrated.

また、印刷したマーカをキャリブレーション対象から除外したいときには、キャリブレーション対象チェックボックス232への簡単な操作でそれを実現することができる。   Further, when it is desired to exclude the printed marker from the calibration target, it can be realized by a simple operation on the calibration target check box 232.

このような操作者の手動による選択方法と、マーカ印刷時点で、印刷されたマーカをキャリブレーション対象に自動的に加える(ステップS468における処理)ことを併用することで、柔軟かつ使い易い手法を提供することが可能となった。   A combination of such an operator's manual selection method and automatically adding a printed marker to the calibration target at the time of marker printing (processing in step S468) provides a flexible and easy-to-use method. It became possible to do.

さらには上記の選択方法に加えて、ステップS436、S438、S439の処理のようにマーカ定義情報に応じてキャリブレーションを実行するために必要な作業を作業者に通知することで、操作者が行う位置合わせのための設定作業の負荷を軽くすることが可能になった。   Further, in addition to the selection method described above, the operator performs work by notifying the operator of work necessary for executing calibration according to the marker definition information as in the processes of steps S436, S438, and S439. It has become possible to reduce the load of setting work for alignment.

なお、マーカ定義ファイルを開く処理であるステップS407において、読み込むマーカ定義情報の印刷フラグを0にしていたが、これを1にして印刷履歴を保存するようにしてもよい。これによって、操作者が印刷履歴をマーカ定義ファイルで管理することが可能になる。   In step S407, which is a process of opening the marker definition file, the print flag of the marker definition information to be read is set to 0. However, the print history may be saved by setting this to 1. As a result, the operator can manage the print history with the marker definition file.

また、マーカ印刷処理であるステップS468において、印刷したマーカの対象フラグを1としたがこれを0とし、かつステップS439、S441を処理フローから削除してもよい。これは、操作者が印刷フラグを確認し、手動でキャリブレーション対象を選択する方針で運用する場合に有効である。   In step S468, which is a marker printing process, the target flag of the printed marker is set to 1, but this may be set to 0, and steps S439 and S441 may be deleted from the processing flow. This is effective when the operator confirms the print flag and operates with a policy of manually selecting a calibration target.

また、画像取得処理であるステップS424において、検出したマーカの対象フラグを1としてもよい。これは検出したマーカもキャリブレーション対象にする方針の場合に有効である。   Further, the target flag of the detected marker may be set to 1 in step S424 which is an image acquisition process. This is effective when the detected marker is also a calibration target.

また、画像取得処理であるステップS424において、検出したマーカの印刷フラグを1にしてもよい。これは検出したマーカは全て空間に設置された印刷済みのマーカと判断する方針の場合に有効である。   In step S424, which is an image acquisition process, the print flag of the detected marker may be set to 1. This is effective when it is determined that all detected markers are printed markers installed in the space.

また、画像取得処理であるステップS424において、検出したマーカの対象フラグを1、印刷フラグを1にしてもよい。これは検出したマーカは全て空間に設置された印刷済みのマーカと判断し、かつ印刷済みマーカをキャリブレーション対象にする方針の場合に有効である。   In step S424, which is an image acquisition process, the target flag of the detected marker may be set to 1, and the print flag may be set to 1. This is effective when it is determined that all the detected markers are printed markers installed in the space and the printed markers are to be calibrated.

また、図27に示したウィンドウにおける領域510に入力するマーカIDは1つのみに限定するものではなく、例えば、カンマで区切った複数のマーカIDや、ハイフンでつなげた範囲のマーカIDを入力するようにしても良い。これにより操作者の操作を軽減することが可能になる。   In addition, the marker ID input to the area 510 in the window shown in FIG. 27 is not limited to one. For example, a plurality of marker IDs separated by commas or a marker ID in a range connected by hyphens are input. You may do it. Thereby, it becomes possible to reduce an operator's operation.

また、操作者が指定した数だけ、自動的にマーカ定義情報の新規作成とマーカの印刷を行う処理を追加してもよい。このような処理によって、多数のマーカを新規に印刷して使用する場合、操作者の作業を軽減することが可能になる。   In addition, processing for automatically creating new marker definition information and printing markers may be added by the number specified by the operator. By such processing, when a large number of markers are newly printed and used, it is possible to reduce the work of the operator.

また、本実施形態では、印刷済み/未印刷の2通りでしか管理していないが、印刷した回数や時間をマーカ定義情報に加え、印刷履歴によって処理を変更してもよい。例えば、複数回印刷されたマーカは重複する可能性が高いと判断し、マーカキャリブレーション対象から除外するようにしてもよい。   In this embodiment, only two types of printing / non-printing are managed. However, the number of times of printing and time may be added to the marker definition information, and the process may be changed depending on the printing history. For example, a marker printed a plurality of times may be determined to have a high possibility of overlapping, and may be excluded from the marker calibration target.

また、以上説明した変形例を組み合わせてもよいことは言うまでもない。   Needless to say, the modifications described above may be combined.

例えば、画像取得時に検出したマーカの印刷フラグを1にすることと、指定した数だけ自動的にマーカ定義情報テーブルに存在しないマーカIDのマーカの印刷をするような処理を組み合わせてもよい。   For example, the marker print flag detected at the time of image acquisition may be set to 1, and a process for automatically printing a marker with a marker ID that does not exist in the marker definition information table by a specified number may be combined.

このように処理する場合、使用するマーカIDを決定し、印刷する前に、予め現実空間に設置されているすべてのマーカの画像を取得し、印刷から除外する。そして除外したマーカ以外の指定した数のマーカを新規に自動生成するという運用も可能になる。   When processing is performed in this way, the marker ID to be used is determined, and before printing, images of all markers installed in the real space are acquired in advance and excluded from printing. Then, it is possible to automatically generate a specified number of markers other than the excluded markers.

これはキャリブレーションおよび位置合わせ処理を行う複数のシステムを隣接した空間で使用する場合、重複したマーカを使用しないように(マーカを排他的に使用するように)する場合に有効である。   This is effective when a plurality of systems that perform calibration and alignment processing are used in an adjacent space, and when duplicate markers are not used (markers are exclusively used).

以上説明してきた変形を操作者の好みに応じてどちらにするかを予め設定できるようにしても構わない。   It may be possible to set in advance which of the deformations described above is to be made according to the preference of the operator.

[第5の実施形態]
上記第1乃至4の実施形態では、画像中に存在するマーカはすべて同等に扱っていた。しかし、これに限定されず、画像中のマーカがどれだけキャリブレーションのためのデータとして信頼できるかを、信頼度として求め、信頼度に応じて(評価して)キャリブレーション対象や処理を変更してもよい。
マーカの信頼度の例としては、
(1) 取得した画像群における指標の出現頻度
(2) 取得した画像における指標と画像取得装置とのなす角度
(3) 取得した画像における指標の画像上の面積
(4) 取得した画像のコントラスト
(5) 取得した画像における指標の画像上の位置
及び、これらの組み合わせを使用すればよい。
[Fifth Embodiment]
In the first to fourth embodiments, all the markers present in the image are handled equally. However, the present invention is not limited to this, and how reliable the marker in the image is as the data for calibration is obtained as reliability, and the calibration target and processing are changed according to (evaluation) the reliability. May be.
As an example of marker reliability,
(1) Appearance frequency of the index in the acquired image group (2) Angle formed by the index in the acquired image and the image acquisition device (3) Area on the image of the index in the acquired image (4) Contrast of the acquired image ( 5) The position of the index in the acquired image on the image and a combination thereof may be used.

(1)は、出現頻度が極端に少ないものはマーカ以外のものを誤認識したノイズと考え信頼度を低いとする方針の時に使用する。   (1) is used when the frequency of appearance is extremely low and the reliability is considered low because it is regarded as noise that misrecognizes other than the marker.

(2)は、角度が小さくなると画像認識によるマーカの位置姿勢計算精度が落ちるため、角度が小さいものを信頼度が低いとする方針の時に使用する。   (2) is used for a policy that the reliability of a marker with a small angle is low because the accuracy of marker position and orientation calculation by image recognition decreases as the angle decreases.

(3)は、指標の画像上の面積が小さいほど、マーカの位置姿勢計算精度が落ちるため、面積が小さいものを信頼度が低いとする方針の時に使用する。   (3) is used when the reliability of the marker having a small area is low because the marker position and orientation calculation accuracy decreases as the area of the index image on the image decreases.

(4)は、コントラストが低いほど、画像からのマーカ検出誤差が大きくなるため、コントラストが低い画像から検出したマーカを信頼度が低いとする方針の時に使用する。   (4) is used when the marker detection error from the image increases as the contrast is lower, and the marker detected from the image with the lower contrast has a low reliability.

(5)は、画像上の位置が画像の端によるほど、画像取得装置の光学的な歪の影響を受けやすいため、画像の端に位置している指標を信頼度が低いとする方針の時に使用する。   In (5), since the position on the image is more susceptible to the optical distortion of the image acquisition device as the edge of the image is, the index positioned at the edge of the image is less reliable. use.

なお言うまでもなく、以上の例を組み合わせて信頼度を決定してもよい。また、キャリブレーション対象および位置合わせ処理対象となるマーカを選択する条件は、以上説明したことに限定されず、マーカに関するすべての付帯情報を利用してよい。   Needless to say, the reliability may be determined by combining the above examples. Moreover, the conditions for selecting the marker to be calibrated and the position alignment processing target are not limited to those described above, and all incidental information regarding the marker may be used.

そして以上の各実施形態によれば、以下のような効果を奏することができる。即ち、任意のマーカや、重複したマーカをキャリブレーションや位置合わせ処理から除外すること、また再度処理に加えるための一連の作業が容易になる。また、除外するマーカ以外を全て再撮影したり、除外するマーカを空間から除去する必要はなくなり、キャリブレーションおよび位置合わせ処理のための設定作業の工数を削減したりすることが可能となる。   And according to each above embodiment, there can exist the following effects. That is, an arbitrary marker or a duplicated marker can be excluded from the calibration and alignment processing, and a series of operations for re-adding the processing can be facilitated. In addition, it is not necessary to re-photograph all except the excluded markers, or to remove the excluded markers from the space, and it is possible to reduce the man-hours for the setting work for calibration and alignment processing.

選択の方法も操作者の手動による方法と、画像処理装置が保持しているマーカ定義情報から半自動的に行う方法を併用することで、柔軟かつ使い易い手法を提供することができる。   As a selection method, a method that is manual by the operator and a method that performs semi-automatically from the marker definition information held by the image processing apparatus can be used together to provide a flexible and easy-to-use method.

さらには上記の選択方法に加えて、マーカ定義情報に応じて画像処理装置がキャリブレーションを実行するために必要な作業を作業者に通知することで、操作者の設定作業の負荷を軽くすることができる。   Furthermore, in addition to the selection method described above, the operator can be notified of the work required for the image processing apparatus to execute calibration according to the marker definition information, thereby reducing the burden of the operator's setting work. Can do.

[第6の実施形態]
上記各実施形態では指標の一例としてマーカを用いた。しかし、位置合わせに利用する指標は、マーカに限定するものではなく、他にも例えば、自然特徴であっても良い。
[Sixth Embodiment]
In each of the above embodiments, a marker is used as an example of an index. However, the index used for alignment is not limited to the marker, and may be a natural feature, for example.

図31は、現実物体としての家を撮影した場合に得られる画像の一例を示す図である。例えば、図31に示すような現実空間の画像を撮影した場合に、その画像中のコーナー(図31において「×」で示した3カ所のコーナー)等を自然特徴(特徴点)として用いることができる。また、これ以外にも画像中のSIFT特徴を特徴点として用いても良い。   FIG. 31 is a diagram illustrating an example of an image obtained when a house as a real object is photographed. For example, when an image of a real space as shown in FIG. 31 is taken, corners (three corners indicated by “x” in FIG. 31) in the image are used as natural features (feature points). it can. In addition, SIFT features in the image may be used as feature points.

自然特徴を利用した場合、第2,3の実施形態の応用として、類似した自然特徴が現実空間中に数多く存在すると判断された場合(予め定められた数よりも多い場合)、その自然特徴に対する重複フラグを「1」とする。そして、係る特徴点を、キャリブレーションや位置合わせ処理から除外する。   When natural features are used, as an application of the second and third embodiments, when it is determined that there are many similar natural features in the real space (when the number is larger than a predetermined number), The duplication flag is set to “1”. Then, such feature points are excluded from calibration and alignment processing.

図32(a)〜(c)は、類似した自然特徴が現実空間中に数多く存在する場合に、この現実空間を撮影することで得られる画像の一例を示す図である。図32(a)〜(c)に示した画像中では、×で表される自然特徴が頻発しており、例えばこの自然特徴に対して重複フラグを「1」と設定し、取り除く。   FIGS. 32A to 32C are diagrams illustrating an example of an image obtained by photographing the real space when there are many similar natural features in the real space. In the images shown in FIGS. 32A to 32C, the natural feature represented by “X” frequently occurs. For example, the overlap flag is set to “1” for this natural feature and is removed.

図33(a)〜(c)はそれぞれ、図32(a)〜(c)に示した自然特徴から、重複フラグを「1」と設定した自然特徴を取り除いた場合における画像を示している図である。   FIGS. 33A to 33C show images when the natural feature having the overlap flag set to “1” is removed from the natural feature shown in FIGS. 32A to 32C, respectively. It is.

これにより、類似した自然特徴を除いたものを対象としたキャリブレーションや位置合わせ処理を行うことができる。   As a result, it is possible to perform calibration and alignment processing on the object excluding similar natural features.

また、第5の実施形態の応用として、類似した特徴の数を信頼度として用いてもよい。例えば、1枚の画像中に存在する全特徴、あるいは全画像中に存在する全特徴に関して、1/(類似した特徴の数)を求め、これを信頼度として用いてもよい。この場合、値が「1」となるときは、信頼度が最も高く、値が0に近づけば近づくほど信頼度が低いと判断される。そして、信頼度の閾値を設定し、設定された閾値よりも信頼度が低い特徴は、キャリブレーションや位置合わせ処理から除外する。   As an application of the fifth embodiment, the number of similar features may be used as the reliability. For example, 1 / (number of similar features) may be obtained for all features existing in one image or all features existing in all images, and this may be used as the reliability. In this case, when the value is “1”, it is determined that the reliability is the highest, and the closer the value is to 0, the lower the reliability is. Then, a reliability threshold value is set, and features whose reliability is lower than the set threshold value are excluded from calibration and alignment processing.

[その他の実施形態]
また、本発明の目的は、以下のようにすることによって達成されることはいうまでもない。即ち、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体(または記憶媒体)を、システムあるいは装置に供給する。そして、そのシステムあるいは装置のコンピュータ(または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. 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.

本発明の第1の実施形態で用いるマーカの構成例(フォーマット例)を示す図である。It is a figure which shows the structural example (format example) of the marker used in the 1st Embodiment of this invention. 図1に示したフォーマットに従って作成された実際のマーカの一例を示す図である。It is a figure which shows an example of the actual marker produced according to the format shown in FIG. マーカ座標系を示す図である。It is a figure which shows a marker coordinate system. 本発明の第1の実施形態に係る画像処理装置の機能構成を示すブロック図である。It is a block diagram which shows the function structure of the image processing apparatus which concerns on the 1st Embodiment of this invention. それぞれのマーカに対するマーカ定義情報を登録したテーブル(マーカ定義情報テーブル)の構成例を示すブロック図である。It is a block diagram which shows the structural example of the table (marker definition information table) which registered the marker definition information with respect to each marker. コンピュータ上で動作し、現実空間中に配された指標の位置姿勢を求めるために用いるGUI(グラフィカルユーザインターフェース)の表示例を示す図である。It is a figure which shows the example of a display of GUI (graphical user interface) which operate | moves on a computer and is used in order to obtain | require the position and orientation of the parameter | index arrange | positioned in the real space. ファイルメニューの表示例を示す図である。It is a figure which shows the example of a display of a file menu. 編集メニューの表示例を示す図である。It is a figure which shows the example of a display of an edit menu. ウィンドウの表示例を示す図である。It is a figure which shows the example of a display of a window. ウィンドウの表示例を示す図である。It is a figure which shows the example of a display of a window. ウィンドウの表示例を示す図である。It is a figure which shows the example of a display of a window. 図6に示したGUIを用いて行う各種の処理のフローチャートである。7 is a flowchart of various processes performed using the GUI shown in FIG. 6. 図6に示したGUIを用いて行う各種の処理のフローチャートである。7 is a flowchart of various processes performed using the GUI shown in FIG. 6. モードメニューの表示例を示す図である。It is a figure which shows the example of a display of a mode menu. 本発明の第2の実施形態に係るマーカ定義情報の構成例を示す図である。It is a figure which shows the structural example of the marker definition information which concerns on the 2nd Embodiment of this invention. コンピュータ上で動作し、現実空間中に配された指標の位置姿勢を求めるために用いるGUI(グラフィカルユーザインターフェース)の表示例を示す図である。It is a figure which shows the example of a display of GUI (graphical user interface) which operate | moves on a computer and is used in order to obtain | require the position and orientation of the parameter | index arrange | positioned in the real space. 図16に示したGUIを用いて行う各種の処理のフローチャートである。18 is a flowchart of various processes performed using the GUI illustrated in FIG. 16. 図16に示したGUIを用いて行う各種の処理のフローチャートである。18 is a flowchart of various processes performed using the GUI illustrated in FIG. 16. 本発明の第3の実施形態に係るマーカ定義情報の構成例を示す図である。It is a figure which shows the structural example of the marker definition information which concerns on the 3rd Embodiment of this invention. コンピュータ上で動作し、現実空間中に配された指標の位置姿勢を求めるために用いるGUI(グラフィカルユーザインターフェース)の表示例を示す図である。It is a figure which shows the example of a display of GUI (graphical user interface) which operate | moves on a computer and is used in order to obtain | require the position and orientation of the parameter | index arrange | positioned in the real space. 図20に示したGUIを用いて行う各種の処理のフローチャートである。21 is a flowchart of various processes performed using the GUI illustrated in FIG. 20. 図20に示したGUIを用いて行う各種の処理のフローチャートである。21 is a flowchart of various processes performed using the GUI illustrated in FIG. 20. 本発明の第4の実施形態に係る画像処理装置の機能構成を示すブロック図である。It is a block diagram which shows the function structure of the image processing apparatus which concerns on the 4th Embodiment of this invention. 本発明の第4の実施形態に係るマーカ定義情報の構成例を示す図である。It is a figure which shows the structural example of the marker definition information which concerns on the 4th Embodiment of this invention. コンピュータ上で動作し、現実空間中に配された指標の位置姿勢を求めるために用いるGUI(グラフィカルユーザインターフェース)の表示例を示す図である。It is a figure which shows the example of a display of GUI (graphical user interface) which operate | moves on a computer and is used in order to obtain | require the position and orientation of the parameter | index arrange | positioned in the real space. 編集メニューの表示例を示す図である。It is a figure which shows the example of a display of an edit menu. ウィンドウの表示例を示す図である。It is a figure which shows the example of a display of a window. 図25に示したGUIを用いて行う各種の処理のフローチャートである。It is a flowchart of the various processes performed using GUI shown in FIG. 図25に示したGUIを用いて行う各種の処理のフローチャートである。It is a flowchart of the various processes performed using GUI shown in FIG. 画像処理装置100に適用可能なコンピュータのハードウェア構成を示すブロック図である。2 is a block diagram illustrating a hardware configuration of a computer applicable to the image processing apparatus 100. FIG. 現実物体としての家を撮影した場合に得られる画像の一例を示す図である。It is a figure which shows an example of the image obtained when image | photographing the house as a real object. (a)〜(c)は、類似した自然特徴が現実空間中に数多く存在する場合に、この現実空間を撮影することで得られる画像の一例を示す図である。(A)-(c) is a figure which shows an example of the image obtained by image | photographing this real space, when many similar natural features exist in real space. (a)〜(c)はそれぞれ、図32(a)〜(c)に示した自然特徴から、重複フラグを「1」と設定した自然特徴を取り除いた場合における画像を示している図である。(A)-(c) is a figure which shows the image at the time of removing the natural feature which set the duplication flag to "1" from the natural feature shown to Fig.32 (a)-(c), respectively. .

Claims (13)

識別可能なパターンを有する複数のマーカが配された現実空間の画像を取得する取得工程と、
前記取得工程で取得した画像中のマーカのパターンから、当該マーカのIDを識別し、当該識別されたIDを所定のファイルに登録する識別工程と、
前記識別工程で識別され前記所定のファイルに登録されたID同士を比較して、識別されたIDが同一である複数のマーカを重複して配置されたマーカとして検知する検知工程と、
前記識別工程で識別されたマーカのうち、前記検知工程で検知された重複して配置されたマーカ以外のマーカの現実空間中の位置及び/若しくは姿勢を計算する計算工程と
を有することを特徴とする画像処理方法。
An acquisition step of acquiring an image of a real space in which a plurality of markers having identifiable patterns are arranged;
An identification step of identifying the ID of the marker from the pattern of the marker in the image acquired in the acquisition step, and registering the identified ID in a predetermined file ;
A detection step of comparing the IDs identified in the identification step and registered in the predetermined file, and detecting a plurality of markers having the same identified ID as overlapping markers;
A calculation step of calculating a position and / or orientation in a real space of markers other than the overlappingly arranged markers detected in the detection step among the markers identified in the identification step, Image processing method.
更に、
前記識別工程で識別されたマーカのうち、前記計算工程による計算対象とするマーカを選択する選択工程を有し、
前記計算工程では、前記選択工程で選択されたマーカの現実空間中の位置及び/若しくは姿勢を計算することを特徴とする請求項1に記載の画像処理方法。
Furthermore,
Among the markers identified in the identification step, the selection step of selecting a marker to be calculated by the calculation step,
The image processing method according to claim 1, wherein in the calculation step, a position and / or orientation in a real space of the marker selected in the selection step is calculated.
更に、
前記識別工程では、識別したマーカについて、識別した旨を示す第1の情報、及び前記計算工程による計算対象とするか計算対象外とするかを示す第2の情報を記録し、
前記選択工程では、記録された前記第2の情報を変更することで、前記識別工程で識別したマーカを前記計算工程による計算対象とするか計算対象外とするかを選択することを特徴とする請求項2に記載の画像処理方法。
Furthermore,
In the identification step, the first information indicating that the identified marker is identified, and the second information indicating whether or not to be calculated by the calculation step or not, are recorded.
In the selection step, the recorded second information is changed to select whether the marker identified in the identification step is to be calculated by the calculation step or not. The image processing method according to claim 2.
更に、
前記識別工程で識別したマーカを前記計算工程による計算対象とする第1のモード、計算対象外とする第2のモードの何れかを設定する設定工程を有し、
前記計算工程では、前記計算工程による計算対象に設定されたマーカについて、その現実空間中の位置及び/若しくは姿勢を計算することを特徴とする請求項1に記載の画像処理方法。
Furthermore,
A setting step for setting either the first mode in which the marker identified in the identification step is a calculation target in the calculation step or the second mode in which the marker is not to be calculated;
The image processing method according to claim 1, wherein in the calculation step, a position and / or orientation in a real space is calculated for a marker set as a calculation target in the calculation step.
更に、
マーカの印刷データを作成し、印刷装置に送出する作成工程を有し、
前記計算工程では、前記識別工程で識別したマーカのうち、前記作成工程で印刷データを作成していないマーカを除く、前記作成工程で印刷データを作成したマーカの現実空間中の位置及び/若しくは姿勢を計算することを特徴とする請求項1又は2に記載の画像処理方法。
Furthermore,
Create the marker print data and send it to the printer,
In the calculation step, from the markers identified in the identification step, the markers for which the print data has been created in the creation step, excluding the markers for which the print data has not been created in the creation step, and / or postures in the real space The image processing method according to claim 1, wherein the image processing method is calculated.
更に、
前記識別工程で識別したマーカに対する信頼度を評価する評価工程を有し、
前記計算工程では、前記評価工程で低い信頼度として評価されたマーカを除く、前記評価工程で高い信頼度として評価されたマーカの現実空間中の位置及び/若しくは姿勢を計算することを特徴とする請求項1に記載の画像処理方法。
Furthermore,
An evaluation step for evaluating the reliability of the marker identified in the identification step;
In the calculation step, the position and / or orientation in the real space of the marker evaluated as high reliability in the evaluation step is calculated except for the marker evaluated as low reliability in the evaluation step. The image processing method according to claim 1.
前記評価工程では、前記取得工程で取得した画像におけるマーカの出現頻度、マーカと当該画像とのなす角度、マーカの当該画像における面積、マーカの当該画像における位置、当該画像におけるマーカとそれ以外の部分とのコントラスト、の何れかを用いて、マーカの信頼度を評価することを特徴とする請求項6に記載の画像処理方法。   In the evaluation step, the appearance frequency of the marker in the image acquired in the acquisition step, the angle formed between the marker and the image, the area of the marker in the image, the position of the marker in the image, the marker and the other part in the image 7. The image processing method according to claim 6, wherein the reliability of the marker is evaluated using any one of a contrast with the image processing method. 前記マーカには、自身が識別可能なようにパターンが記録されており、当該パターンは、前記マーカを基準とする座標系が定義可能なように構成されていることを特徴とする請求項1乃至7の何れか1項に記載の画像処理方法。   A pattern is recorded on the marker so that the marker can be identified, and the pattern is configured such that a coordinate system based on the marker can be defined. 8. The image processing method according to any one of items 7. 前記識別工程では、検出されたマーカの位置に伴って、前記識別されたIDを登録することを特徴とする請求項に記載の画像処理方法。 The image processing method according to claim 1 , wherein in the identification step, the identified ID is registered in accordance with the position of the detected marker. 前記計算工程において計算されたマーカの現実空間中の位置及び/若しくは姿勢を用いて、前記現実空間の画像と仮想空間の画像とを位置合わせする工程をさらに有することを特徴とする、請求項1乃至の何れか1項に記載の画像処理方法。 The method further comprises the step of aligning the image in the real space and the image in the virtual space using the position and / or orientation of the marker calculated in the calculation step in the real space. 10. The image processing method according to any one of items 9 to 9 . 識別可能なパターンを有する複数のマーカが配された現実空間の画像を取得する取得手段と、
前記取得手段が取得した画像中のマーカのパターンから、当該マーカのIDを識別し、当該識別されたIDを所定のファイルに登録する識別手段と、
前記識別手段が識別し前記所定のファイルに登録したID同士を比較して、識別されたIDが同一である複数のマーカを重複して配置されたマーカとして検知する検知手段と、
前記識別手段によって識別されたマーカのうち、前記検知手段によって検知された重複して配置されたマーカ以外のマーカの現実空間中の位置及び/若しくは姿勢を計算する計算手段と
を備えることを特徴とする画像処理装置。
An acquisition means for acquiring an image of a real space in which a plurality of markers having identifiable patterns are arranged;
Identifying means for identifying the ID of the marker from the pattern of the marker in the image obtained by the obtaining means, and registering the identified ID in a predetermined file ;
Detecting means for comparing IDs identified by the identifying means and registered in the predetermined file, and detecting a plurality of markers having the same identified ID as overlapping markers;
Calculating means for calculating a position and / or orientation in a real space of markers other than the overlappingly arranged markers detected by the detecting means among the markers identified by the identifying means, An image processing apparatus.
コンピュータを、請求項11に記載の画像処理装置が有する各手段として機能させるためのコンピュータプログラム。 The computer program for functioning a computer as each means which the image processing apparatus of Claim 11 has. 請求項12に記載のコンピュータプログラムを格納した、コンピュータ読み取り可能な記憶媒体。 A computer-readable storage medium storing the computer program according to claim 12 .
JP2007038430A 2006-08-11 2007-02-19 Image processing method and image processing apparatus Expired - Fee Related JP5517397B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2007038430A JP5517397B2 (en) 2006-08-11 2007-02-19 Image processing method and image processing apparatus
US11/833,396 US8103127B2 (en) 2006-08-11 2007-08-03 Image processing method and image processing apparatus of calculating position and orientation of target objects located in image

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2006220638 2006-08-11
JP2006220638 2006-08-11
JP2007038430A JP5517397B2 (en) 2006-08-11 2007-02-19 Image processing method and image processing apparatus

Publications (3)

Publication Number Publication Date
JP2008064735A JP2008064735A (en) 2008-03-21
JP2008064735A5 JP2008064735A5 (en) 2010-03-11
JP5517397B2 true JP5517397B2 (en) 2014-06-11

Family

ID=39050878

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007038430A Expired - Fee Related JP5517397B2 (en) 2006-08-11 2007-02-19 Image processing method and image processing apparatus

Country Status (2)

Country Link
US (1) US8103127B2 (en)
JP (1) JP5517397B2 (en)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4249649B2 (en) * 2004-04-09 2009-04-02 ホリゾン・インターナショナル株式会社 Vertical collating machine
JP5403861B2 (en) * 2006-11-06 2014-01-29 キヤノン株式会社 Information processing apparatus and information processing method
JP5132138B2 (en) * 2006-11-28 2013-01-30 キヤノン株式会社 Position and orientation measurement method, position and orientation measurement device
KR101457404B1 (en) 2008-06-13 2014-11-06 삼성전자주식회사 How to display an electronic frame and its image
JP5156571B2 (en) 2008-10-10 2013-03-06 キヤノン株式会社 Image processing apparatus and image processing method
JP5695821B2 (en) * 2009-08-31 2015-04-08 株式会社トプコン Color code target, color code discrimination device, and color code discrimination method
US8271895B2 (en) * 2010-03-22 2012-09-18 Mitutoyo Corporation GUI for programming step and repeat operations in a machine vision inspection system
KR20130056529A (en) * 2011-11-22 2013-05-30 삼성전자주식회사 Apparatus and method for providing augmented reality service in portable terminal
JP5728372B2 (en) 2011-11-30 2015-06-03 キヤノン株式会社 Information processing apparatus, information processing apparatus control method, and program
JP5984181B2 (en) * 2012-09-11 2016-09-06 ポールトゥウィン・ピットクルーホールディングス株式会社 Motion capture device and program thereof
JP6368142B2 (en) * 2014-05-14 2018-08-01 キヤノン株式会社 Information processing apparatus and information processing method
JP6413521B2 (en) * 2014-09-08 2018-10-31 富士通株式会社 Display control method, information processing program, and information processing apparatus
JP6448457B2 (en) * 2015-04-30 2019-01-09 三菱電機株式会社 Imaging direction variation detection apparatus and imaging direction variation detection method
US10029788B2 (en) 2016-03-28 2018-07-24 Zipline International Inc. Vision based calibration system for unmanned aerial vehicles
JP6917701B2 (en) * 2016-11-30 2021-08-11 キヤノン株式会社 Information processing device, control method and program of information processing device
CN114842087B (en) * 2021-11-30 2025-06-06 深圳元戎启行科技有限公司 External parameter verification method, system and readable storage medium for camera and laser radar
WO2024084638A1 (en) * 2022-10-20 2024-04-25 三菱電機株式会社 Marker location calculation device, marker location calculation method, and marker location calculation program

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998024243A1 (en) * 1996-11-27 1998-06-04 Princeton Video Image, Inc. Motion tracking using image-texture templates
US7016539B1 (en) * 1998-07-13 2006-03-21 Cognex Corporation Method for fast, robust, multi-dimensional pattern recognition
US6839466B2 (en) * 1999-10-04 2005-01-04 Xerox Corporation Detecting overlapping images in an automatic image segmentation device with the presence of severe bleeding
JP4282216B2 (en) * 2000-09-19 2009-06-17 オリンパス株式会社 3D position and orientation sensing device
JP2003254716A (en) * 2002-03-04 2003-09-10 Sony Corp Three-dimensional position / posture measuring device and method, storage medium, and computer program
US7505048B2 (en) * 2003-04-25 2009-03-17 Microsoft Corporation Estimation of overlap of polygons
JP2005031044A (en) * 2003-07-11 2005-02-03 Olympus Corp Three-dimensional error measuring device
JP2005147894A (en) * 2003-11-17 2005-06-09 Canon Inc Measuring method, measuring device
JP2006172016A (en) * 2004-12-14 2006-06-29 Toshiba Corp Mobile robot, mobile robot control method, and mobile robot control program
US7460730B2 (en) * 2005-08-04 2008-12-02 Microsoft Corporation Video registration and image sequence stitching

Also Published As

Publication number Publication date
US8103127B2 (en) 2012-01-24
US20080037901A1 (en) 2008-02-14
JP2008064735A (en) 2008-03-21

Similar Documents

Publication Publication Date Title
JP5517397B2 (en) Image processing method and image processing apparatus
JP4956375B2 (en) Image processing apparatus and image processing method
JP4599184B2 (en) Index placement measurement method, index placement measurement device
JP5403861B2 (en) Information processing apparatus and information processing method
JP7604473B2 (en) SYSTEM AND METHOD FOR ENDOSCOPIC CHARACTERIZATION AND AUTOMATED CALIBRATION OF ENDOSCOPIC CAMERA SYSTEMS - Patent application
JP5196825B2 (en) Image processing apparatus and image processing method
US8968184B2 (en) Endoscope apparatus, folder generating method, and non-transitory computer readable recording medium
JP4137078B2 (en) Mixed reality information generating apparatus and method
US11094082B2 (en) Information processing apparatus, information processing method, robot system, and non-transitory computer-readable storage medium
US8170339B2 (en) Image processing apparatus and image processing method
CN103134425B (en) Information processing device and information processing method
US20090161985A1 (en) Image editing apparatus and control method for the same, computer program, storage media
JP2011185650A (en) Model generation apparatus and model generation program
JP7028729B2 (en) Object tracking device, object tracking system, and object tracking method
JP5132138B2 (en) Position and orientation measurement method, position and orientation measurement device
JP6151989B2 (en) Information presenting apparatus, information presenting system, information presenting method, and program
JP2007279828A (en) Form processing device, form creation device, form, program for form processing, program for form creation
WO2022111461A1 (en) Recognition method and apparatus, and electronic device
TWI834918B (en) Image processing apparatus, control method therefor, and control program therefor
JP2007151652A (en) Medical image processing system and medical image processing apparatus
JP2019219726A (en) Information processing apparatus, control method of information processing apparatus, and program
JP2007222325A (en) Information processing apparatus, control method therefor, and program
JP4562183B2 (en) Information processing method and information processing apparatus
JP2006293485A (en) Index display method and image display device
JP2005208886A (en) Image correction apparatus and image correction program

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100125

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100125

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111114

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111118

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120117

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121019

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121218

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130823

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131125

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20140109

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140401

R151 Written notification of patent or utility model registration

Ref document number: 5517397

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees