JP2006293484A - Information processing method, information processor, computer program and storage medium - Google Patents

Information processing method, information processor, computer program and storage medium Download PDF

Info

Publication number
JP2006293484A
JP2006293484A JP2005110059A JP2005110059A JP2006293484A JP 2006293484 A JP2006293484 A JP 2006293484A JP 2005110059 A JP2005110059 A JP 2005110059A JP 2005110059 A JP2005110059 A JP 2005110059A JP 2006293484 A JP2006293484 A JP 2006293484A
Authority
JP
Japan
Prior art keywords
information
index
marker
processing method
vertex
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.)
Withdrawn
Application number
JP2005110059A
Other languages
Japanese (ja)
Inventor
Tomohiko Shimoyama
朋彦 下山
Takaaki Endo
隆明 遠藤
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 JP2005110059A priority Critical patent/JP2006293484A/en
Publication of JP2006293484A publication Critical patent/JP2006293484A/en
Withdrawn legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide a technology for facilitating the input of marker information. <P>SOLUTION: This information processing method is characterized to comprise a display step for displaying an interface to input the vertex coordinates of an index and a derivation step for deriving index information to be used for plotting a CG image based on the vertex coordinates inputted by the interface. <P>COPYRIGHT: (C)2007,JPO&INPIT

Description

本発明は立体座標空間におけるマーカの位置姿勢を入力する技術に関する。   The present invention relates to a technique for inputting the position and orientation of a marker in a three-dimensional coordinate space.

従来より、現実世界と仮想世界をリアルタイムで継ぎ目なく融合させることを目的とした、MR(Mixed Reality:複合現実感)、AR(Augmented Reality:強化現実感、強調現実感、拡張現実感)等に関する技術が知られている。MR等を提供する画像処理システムにおいては、例えば、ビデオカメラ等の撮像装置によって撮影された現実空間の画像に仮想空間のCG(Computer Graphics)画像を重畳表示する処理を行っている。   Conventionally, MR (Mixed Reality), AR (Augmented Reality), Augmented Reality, Augmented Reality, Augmented Reality, etc., aiming to seamlessly merge the real world and the virtual world in real time Technology is known. In an image processing system that provides MR or the like, for example, a process of superimposing and displaying a virtual space CG (Computer Graphics) image on a real space image taken by an imaging device such as a video camera is performed.

このようなシステムにおいては、CG画像を適切な位置に描画するために現実空間と仮想空間との間の位置合わせを行うことが求められる。このため、現実空間に正多角形の形状を有する指標(以下、マーカと呼ぶ)を設置し、撮像装置によって撮影された画像に含まれるマーカの位置及び姿勢等から当該撮像装置の位置を測定するシステムが知られている。   In such a system, it is required to perform alignment between the real space and the virtual space in order to draw a CG image at an appropriate position. Therefore, an index having a regular polygon shape (hereinafter referred to as a marker) is installed in the real space, and the position of the imaging device is measured from the position and orientation of the marker included in the image captured by the imaging device. The system is known.

撮影画像に含まれるマーカの位置及び姿勢等から撮像装置の位置を測定するシステムにおいては、予めマーカの位置及び姿勢等に関するマーカ情報をシステムに入力しておく必要がある。ここで、システムに予め入力しておく必要のあるマーカ情報は以下の通りである。
(a) マーカの重心の世界座標位置 (px,py,pz
(b) マーカの基準方向に対する回転角度 (θ)
(c) マーカの回転軸ベクトルR (rx,ry,rz
(d) マーカの一辺の長さ(サイズ) (sz)
上記において、(a)がマーカの位置、(b)、(c)がマーカの姿勢を定めるパラメータである。尚、マーカ情報はこれに限られるものではなく、マーカの位置及び姿勢を記述するどのようなパラメータを用いてもよい。画像処理システムにおいてマーカ情報はCG画像の適切な描画に用いられる。
In a system that measures the position of an imaging device from the position and orientation of a marker included in a captured image, it is necessary to input marker information relating to the position and orientation of the marker in advance to the system. Here, the marker information that needs to be input to the system in advance is as follows.
(A) The world coordinate position of the center of gravity of the marker (p x , p y , p z )
(B) Angle of rotation of marker relative to reference direction (θ)
(C) Marker rotation axis vector R (r x , r y , r z )
(D) Length (size) of one side of the marker (sz)
In the above, (a) is a parameter for determining the position of the marker, and (b) and (c) are parameters for determining the posture of the marker. The marker information is not limited to this, and any parameter that describes the position and orientation of the marker may be used. In the image processing system, the marker information is used for appropriate drawing of the CG image.

図1は、正三角形の形状を有するマーカを例示的に示した図である。図1において101は正三角形の形状を有するマーカであり、その外縁部が所定の色(例えば、黒色)で塗りつぶされている。102は、マーカ101の中心(重心)を示す点であり、外観によって重心102の位置が分かるように所定の色(例えば、黒色)で着色されている。尚、図1に示したように、マーカの一辺の長さがサイズszである。   FIG. 1 is a diagram exemplarily showing a marker having an equilateral triangle shape. In FIG. 1, reference numeral 101 denotes a marker having an equilateral triangle shape, and its outer edge is filled with a predetermined color (for example, black). Reference numeral 102 denotes a point indicating the center (center of gravity) of the marker 101, which is colored with a predetermined color (for example, black) so that the position of the center of gravity 102 can be seen from the appearance. As shown in FIG. 1, the length of one side of the marker is the size sz.

マーカを用いた測定系においては、図2(a)に例示するように世界座標系201が定義されている。世界座標系201は所定の位置を原点として構成される3次元の座標系である。マーカの位置は、この世界座標系201における重心102の座標(px,py,pz)によって定まることになる。 In the measurement system using the marker, a world coordinate system 201 is defined as illustrated in FIG. The world coordinate system 201 is a three-dimensional coordinate system configured with a predetermined position as an origin. The marker position is determined by the coordinates (p x , p y , p z ) of the center of gravity 102 in the world coordinate system 201.

また、マーカ101の姿勢は、xy平面に平行なマーカを回転軸ベクトルR203に沿って回転角度θで回転させたものとして記述される。   The posture of the marker 101 is described as a marker parallel to the xy plane rotated by a rotation angle θ along the rotation axis vector R203.

従来のシステムにおいて、利用者は測定系に設置したマーカのそれぞれについて、マーカの中心の世界座標、姿勢を示す回転軸と回転角、指標のサイズ等のマーカ情報を指定しなければならなかった。これは図1、2に例示したような三角形のマーカだけでなく、4角形のマーカ、5角形のマーカ等、n(≧4)角形のマーカについても同様である。
D. Kotake, S. Uchiyama, and H. Yamamoto: "A marker calibration method utilizing a priori knowledge on marker arrangement," Proc. 3rd IEEE/ACM Int'l Symp. on Mixed and Augmented Reality (ISMAR 2004), pp.89-98, November 2004.
In the conventional system, the user has to specify the marker information such as the world coordinates of the center of the marker, the rotation axis and rotation angle indicating the orientation, the size of the index, etc. for each of the markers installed in the measurement system. This applies not only to triangular markers as illustrated in FIGS. 1 and 2 but also to n (≧ 4) square markers such as quadrangular markers, pentagonal markers, and the like.
D. Kotake, S. Uchiyama, and H. Yamamoto: "A marker calibration method utilizing a priori knowledge on marker arrangement," Proc. 3rd IEEE / ACM Int'l Symp. On Mixed and Augmented Reality (ISMAR 2004), pp. 89-98, November 2004.

しかしながら、マーカの、重心の世界座標位置、基準方向に対する回転角度、回転軸ベクトル等のマーカ情報を手作業により求めることは煩雑な手間を要し、使い勝手が悪かった。例えば、図3に例示したような、xy平面、yz平面、zx平面のいずれにも平行、又は、直交しない、斜めの平面301に張られたマーカ302のマーカ情報を手作業により求めるには煩雑な手間を要する。   However, manual determination of marker information such as the world coordinate position of the center of gravity of the marker, the rotation angle with respect to the reference direction, the rotation axis vector, etc. is cumbersome and inconvenient. For example, as shown in FIG. 3, it is complicated to manually obtain the marker information of the marker 302 stretched on the oblique plane 301 that is parallel or not orthogonal to any of the xy plane, yz plane, and zx plane. Takes time and effort.

本発明は上記問題に鑑みなされたものであり、マーカ情報の入力を容易にする技術を提供することを目的とする。   The present invention has been made in view of the above problems, and an object thereof is to provide a technique that facilitates the input of marker information.

本発明によれば、指標の頂点座標を入力させるインタフェースを表示装置に表示する表示工程と、前記インタフェースより入力された前記頂点座標に基づいて、CG画像の描画に用いられる指標情報を導出する導出工程とを備えることを特徴とする情報処理方法が提供される。   According to the present invention, a display process for displaying an interface for inputting vertex coordinates of an index on a display device, and derivation for deriving index information used for drawing a CG image based on the vertex coordinates input from the interface. There is provided an information processing method comprising the steps.

本発明によれば、マーカ情報の入力を容易にする技術を提供することができる。   ADVANTAGE OF THE INVENTION According to this invention, the technique which makes easy the input of marker information can be provided.

以下、添付図面を参照して本発明に係る実施の形態を詳細に説明する。ただし、この実施の形態に記載されている構成要素はあくまでも例示であり、本発明の範囲をそれらのみに限定する趣旨のものではない。   Embodiments according to the present invention will be described below in detail with reference to the accompanying drawings. However, the constituent elements described in this embodiment are merely examples, and are not intended to limit the scope of the present invention only to them.

本実施形態においては、世界座標系に設置された正四角形のマーカ(指標)について、そのマーカ情報(マーカの位置及び姿勢等に関する情報)を入力することが容易な構成について説明する。画像処理システムにおいてマーカ情報はCG画像の適切な描画に用いられる。   In the present embodiment, a configuration in which it is easy to input marker information (information on the position and orientation of the marker) of a square marker (index) installed in the world coordinate system will be described. In the image processing system, the marker information is used for appropriate drawing of the CG image.

本実施形態の構成は、ユーザから指示入力された情報に基づいてマーカ情報を導出し、画像中から四角形のマーカを検出するシステムのためのマーカファイルを生成するマーカ情報導出ツール(以下、ツールと呼ぶ)として提供される。このツールは、例えば、パーソナルコンピュータ(PC)やワークステーション(WS)、携帯情報端末(PDA)等の、情報処理装置(計算機)上で動作するソフトウェアとして実現される。本実施形態では、四角形のマーカを用いた構成について述べるが、これは所定の多角形のマーカに容易に拡張可能である。また、本実施形態におけるツールは、等価な機能を持つハードウェアによって実現してもよい。   The configuration of the present embodiment is a marker information derivation tool (hereinafter referred to as a tool) that derives marker information based on information input by a user and generates a marker file for a system that detects a square marker from an image. Provided). This tool is realized as software operating on an information processing apparatus (computer) such as a personal computer (PC), a workstation (WS), or a personal digital assistant (PDA). In this embodiment, a configuration using a square marker is described, but this can be easily extended to a predetermined polygonal marker. The tool in the present embodiment may be realized by hardware having equivalent functions.

[情報処理装置の構成]
まず、本実施形態に対応する情報処理装置の概略について説明する。図15は、本実施形態に対応する情報処理装置の機器構成を示すブロック図である。
[Configuration of information processing device]
First, an outline of an information processing apparatus corresponding to the present embodiment will be described. FIG. 15 is a block diagram illustrating a device configuration of the information processing apparatus corresponding to the present embodiment.

図15において、1600はCPUであり、後述するハードディスク装置(以下、HDと呼ぶ)1605に格納されているアプリケーションプログラム、オペレーティングシステム(OS)や制御プログラム等を実行し、RAM1602にプログラムの実行に必要な情報、ファイル等を一時的に格納する制御を行う。   In FIG. 15, reference numeral 1600 denotes a CPU which executes an application program, an operating system (OS), a control program, and the like stored in a hard disk device (hereinafter referred to as HD) 1605 which will be described later, and is necessary for executing the program in the RAM 1602 Control to temporarily store information, files, etc.

1601はROMであり、内部には基本I/Oプログラム等のプログラム、文書処理の際に使用するフォントデータ、テンプレート用データ等の各種データを記憶する。1602は各種データを一時記憶するためのRAMであり、CPU1600の主メモリ、ワークエリア等として機能する。   Reference numeral 1601 denotes a ROM that stores therein various data such as a program such as a basic I / O program, font data used in document processing, and template data. A RAM 1602 temporarily stores various data, and functions as a main memory, a work area, and the like of the CPU 1600.

1603は記録媒体へのアクセスを実現するための外部記憶ドライブであり、メディア(記録媒体)1604に記憶されたプログラム等を本コンピュータシステムにロードすることができる。尚、メディア1604は、例えば、フレキシブルディスク(FD)、CD−ROM、CD−R、CD−RW、PCカード、DVD、ICメモリカード、MO、メモリスティック等、任意である。   Reference numeral 1603 denotes an external storage drive for realizing access to a recording medium, and a program or the like stored in a medium (recording medium) 1604 can be loaded into the computer system. The medium 1604 is arbitrary, for example, a flexible disk (FD), a CD-ROM, a CD-R, a CD-RW, a PC card, a DVD, an IC memory card, an MO, a memory stick, and the like.

1605は外部記憶装置であり、本実施形態では大容量メモリとして機能するHDを用いている。HD1605には、アプリケーションプログラム、OS、制御プログラム、関連プログラム等が格納される。   Reference numeral 1605 denotes an external storage device, which uses an HD that functions as a large-capacity memory in this embodiment. The HD 1605 stores application programs, OS, control programs, related programs, and the like.

1606は指示入力装置であり、キーボードやポインティングデバイス(マウス等)、タッチパネル等がこれに相当する。指示入力装置1606を用いて、ユーザは、情報処理装置に対して、当該装置を制御するコマンド等を入力指示する。   Reference numeral 1606 denotes an instruction input device, which corresponds to a keyboard, a pointing device (such as a mouse), a touch panel, or the like. Using the instruction input device 1606, the user instructs the information processing device to input a command or the like for controlling the device.

1607はディスプレイであり、指示入力装置1606から入力したコマンドや、それに対する情報処理装置の応答出力等を表示したりするものである。   Reference numeral 1607 denotes a display for displaying a command input from the instruction input device 1606, a response output of the information processing device for the command, and the like.

1609はシステムバスであり、情報処理装置内のデータの流れを司るものである。1608はインターフェイス(以下、I/Fという)であり、このI/F1608を介して外部装置とのデータのやり取りを行う。   Reference numeral 1609 denotes a system bus, which controls the flow of data in the information processing apparatus. Reference numeral 1608 denotes an interface (hereinafter referred to as I / F), which exchanges data with an external device via the I / F 1608.

尚、以上の各装置と同等の機能を実現するソフトウェアにより、ハードウェア装置の代替として構成することもできる。   In addition, it can also be comprised as an alternative of a hardware apparatus with the software which implement | achieves a function equivalent to the above each apparatus.

本実施形態では、メディア1604から本実施形態に係るプログラム及び関連データを直接RAM1602にロードして実行させる例を示すが、これ以外にも、本実施形態に係るプログラムを動作させる度に、既にプログラムがインストールされているHD1605からRAM1602にロードするようにしてもよい。また、本実施形態に係るプログラムをROM1601に記録しておき、これをメモリマップの一部をなすように構成し、直接CPU1600で実行することも可能である。   In this embodiment, an example is shown in which the program and related data according to this embodiment are directly loaded from the medium 1604 into the RAM 1602 and executed. However, every time the program according to this embodiment is operated, the program is already executed. May be loaded into the RAM 1602 from the HD 1605 installed. It is also possible to record the program according to the present embodiment in the ROM 1601, configure it as a part of the memory map, and execute it directly by the CPU 1600.

本実施形態における情報処理装置には、オペレーティングシステムとしてWindows(登録商標)がインストールされており、Windows(登録商標)が基本的な制御を実行する。尚、Windows(登録商標)以外のオペレーティングシステムがインストールされた情報処理装置を用いてもよい。   In the information processing apparatus according to the present embodiment, Windows (registered trademark) is installed as an operating system, and Windows (registered trademark) executes basic control. Note that an information processing apparatus in which an operating system other than Windows (registered trademark) is installed may be used.

[マーカの構成]
本実施形態で使用する四角形のマーカ(以下、四角マーカと呼ぶ)を図4に例示する。図4のように、四角マーカは所定の色(例えば黒色)の縁401の正方形の中に所定の色(例えば黒色)の基準点402があるような構成をしている。
[Marker configuration]
A quadrangular marker (hereinafter referred to as a square marker) used in the present embodiment is illustrated in FIG. As shown in FIG. 4, the square marker is configured such that a reference point 402 of a predetermined color (for example, black) is in a square of an edge 401 of a predetermined color (for example, black).

本実施形態におけるツールは、四角マーカの位置姿勢、即ち、四角マーカの世界座標系における重心(中心)座標と、xy平面に平行な四角マーカをどの軸に対してどのくらいに回転させた姿勢になっているか、四角マーカの一辺の長さ等の情報を求めることを目的とする。   The tool in the present embodiment has a position and orientation of the square marker, that is, a posture obtained by rotating the square marker parallel to the xy plane with respect to which axis and how much the square marker in the world coordinate system of the square marker. The purpose is to obtain information such as the length of one side of the square marker.

図5(a)(b)は世界座標系に設置された四角マーカを例示的に示した図である。図5(a)(b)で示した四角マーカ501は、一辺の長さがszであり、重心座標が(px,py,pz)である。また、図5(b)のように、マーカの姿勢は、xy平面に平行なマーカを、回転軸ベクトルR=(rx,ry,rz)502に対して回転角θだけ回転したものとして記述される。 FIGS. 5A and 5B are diagrams exemplarily showing square markers installed in the world coordinate system. In the square marker 501 shown in FIGS. 5A and 5B, the length of one side is sz, and the barycentric coordinates are (p x , p y , p z ). Further, as shown in FIG. 5B, the posture of the marker is obtained by rotating a marker parallel to the xy plane by a rotation angle θ with respect to the rotation axis vector R = (r x , r y , r z ) 502. Is described as

四角マーカの位置姿勢を記述した、マーカファイルを図6に例示する。マーカファイルにおいては、1つのマーカは以下のような形式で記述される。
SquareMarker <識別子> {
Position(px,py,pz
Orientation(rx,ry,rz) θ
Size sz

従って、例えば、図6の601は、識別子がsq1のマーカについての記述であり、重心座標が(0,100,200)、回転軸ベクトルRが(1,0,0)、回転軸ベクトルRに対する回転角が90°、一辺の長さが50であることを示している。本実施形態におけるツールは、このようなマーカファイルを出力する。
FIG. 6 illustrates a marker file describing the position and orientation of the square marker. In the marker file, one marker is described in the following format.
SquareMarker <identifier> {
Position (p x , p y , p z )
Orientation (r x , r y , r z ) θ
Size sz
}
Therefore, for example, 601 in FIG. 6 is a description of the marker with the identifier sq1, the barycentric coordinates are (0, 100, 200), the rotation axis vector R is (1, 0, 0), and the rotation axis vector R It shows that the rotation angle is 90 ° and the length of one side is 50. The tool in this embodiment outputs such a marker file.

このように、本実施形態では、マーカ情報として、位置情報および姿勢情報を設定する。   Thus, in this embodiment, position information and posture information are set as marker information.

[マーカ情報導出処理]
次に、ツールが実行するマーカ情報導出処理について説明する。図16は、マーカ情報導出処理の全体の流れを示したフローチャートである。
[Marker information derivation process]
Next, marker information derivation processing executed by the tool will be described. FIG. 16 is a flowchart showing the overall flow of the marker information derivation process.

ツールは、ステップS301において、マーカ設定画面(四角指標設定画面)をディスプレイ1607に表示する。図7は、マーカ設定画面を例示的に示した図である。   In step S301, the tool displays a marker setting screen (square index setting screen) on the display 1607. FIG. 7 is a diagram exemplarily showing the marker setting screen.

図7において、701は四角指標、即ち、四角マーカのマーカ情報についての処理を実行するツールのユーザインタフェースであり、マーカファイルの呼び出しや、マーカ情報の入力等の指示入力を受け付ける。702は指標名、即ち、マーカ名の入力を受け付ける入力域である。703はマーカの位置、即ち、マーカの重心座標を入力する入力域である。704はマーカの回転軸ベクトルの入力域、705は回転角の入力域、706はマーカの大きさ(一辺の長さ)の入力域である。   In FIG. 7, reference numeral 701 denotes a user interface of a tool that executes processing for a square index, that is, marker information of a square marker, and accepts an instruction input such as calling a marker file or inputting marker information. Reference numeral 702 denotes an input area for receiving an input of an index name, that is, a marker name. Reference numeral 703 denotes an input area for inputting a marker position, that is, a barycentric coordinate of the marker. 704 is an input area for the rotation axis vector of the marker, 705 is an input area for the rotation angle, and 706 is an input area for the size (length of one side) of the marker.

707は、マーカの各頂点の座標を入力することによって、703乃至706のマーカ情報を導出する際に選択される、頂点指定ボタンである。708は、マーカが設置されている平面についての情報等を入力することによって、703乃至706のマーカ情報を導出する際に選択される、平面指定ボタン708である。   Reference numeral 707 denotes a vertex designation button that is selected when the marker information of 703 to 706 is derived by inputting the coordinates of each vertex of the marker. Reference numeral 708 denotes a plane designation button 708 that is selected when deriving the marker information 703 to 706 by inputting information about the plane on which the marker is installed.

709はファイルボタンであり、編集対象となるマーカファイルの読み込みや書き出し、保存等を実行する際に選択される。マーカファイルの読み書き等の処理は、オペレーティングシステムの制御に基づいて実行する。710は編集ボタンであり、マーカファイルへのマーカの追加、削除等の編集処理を実行する際に選択される。   Reference numeral 709 denotes a file button which is selected when reading, writing, saving, etc. of a marker file to be edited. Processing such as reading and writing of the marker file is executed based on the control of the operating system. Reference numeral 710 denotes an edit button, which is selected when an editing process such as addition or deletion of a marker to the marker file is executed.

図7は、編集メニューからマーカ情報の追加、即ち、マーカ情報を編集対象のマーカファイルに追加する旨が指示された直後の画面を示している。図7のように、ツールはマーカ情報の追加が指示入力された場合は、指示されたマーカ情報を呼び出し、702乃至706に指示されたマーカのマーカ情報を設定して表示する。図7の例では、マーカ名の初期値は「NewMarker」であり、追加される四角マーカのマーカ情報について、ウィンドウの左側のツリービュー上に「NewMarker」という名前で作成している。   FIG. 7 shows a screen immediately after an instruction to add marker information from the edit menu, that is, to add marker information to the marker file to be edited. As shown in FIG. 7, when an instruction to add marker information is input, the tool calls the specified marker information, sets the marker information of the marker specified in 702 to 706, and displays it. In the example of FIG. 7, the initial value of the marker name is “NewMarker”, and the marker information of the added square marker is created with the name “NewMarker” on the tree view on the left side of the window.

本実施形態におけるツールは、703乃至706の情報、即ち、マーカの重心の位置、回転軸ベクトル、回転角等のマーカ情報を直接入力することもできるが、これらの導出が煩雑であることに鑑み、マーカの各頂点の座標入力、又は、マーカが設置されている平面についての情報等の入力に基づいてマーカ情報を導出する処理を行う。   The tool in this embodiment can directly input information 703 to 706, that is, marker information such as the position of the center of gravity of the marker, the rotation axis vector, and the rotation angle. However, in view of the derivation thereof. Then, a process of deriving marker information based on input of coordinates of each vertex of the marker or input of information on a plane on which the marker is installed is performed.

図7において頂点指定ボタン707が選択された場合、即ち、ステップS302において頂点指定による入力が選択された場合(ステップS302でYES)は、ステップS304へ進む。ステップS304では後述する頂点指定による導出処理を実行し、処理を終了する。   If the vertex designation button 707 is selected in FIG. 7, that is, if the input by vertex designation is selected in step S302 (YES in step S302), the process proceeds to step S304. In step S304, a derivation process by vertex designation described later is executed, and the process ends.

図7において平面指定ボタン708が選択された場合、即ち、ステップS303において平面指定による入力が選択された場合(ステップS303でYES)ステップS304へ進む。ステップS304では後述する平面指定による導出処理を実行し、処理を終了する。   If the plane designation button 708 is selected in FIG. 7, that is, if the input by plane designation is selected in step S303 (YES in step S303), the process proceeds to step S304. In step S304, a derivation process based on plane designation described later is executed, and the process ends.

[頂点指定による導出処理]
次に頂点指定による導出処理について説明する。この処理では、マーカの各頂点を入力として受け取り、マーカ情報を導出する。図10は頂点指定による導出処理の流れを示すフローチャートである。
[Derivation processing by vertex specification]
Next, the derivation process by apex designation will be described. In this process, each vertex of the marker is received as input, and marker information is derived. FIG. 10 is a flowchart showing the flow of derivation processing by apex designation.

まず、ステップS101において、頂点指定入力画面をディスプレイ1607に表示制御する。図8は頂点指定入力画面の一例を示した図である。図8において、801は頂点指定入力画面の一例である。803は、マーカの各頂点の座標入力を受け付ける座標入力域である。802は、座標入力域803に入力されたマーカの各頂点の座標に基づいて、マーカの、各頂点の位置関係含む模式図を、各頂点の通し番号と共に表示する表示領域である。   First, in step S101, the vertex designation input screen is displayed on the display 1607. FIG. 8 is a diagram showing an example of the apex designation input screen. In FIG. 8, reference numeral 801 denotes an example of a vertex designation input screen. Reference numeral 803 denotes a coordinate input area for receiving coordinate input of each vertex of the marker. Reference numeral 802 denotes a display area that displays a schematic diagram including the positional relationship of each vertex of the marker together with the serial number of each vertex based on the coordinates of each vertex of the marker input to the coordinate input area 803.

本実施形態では、マーカ(指標)の特徴点として、平面の矩形形状を有する指標の頂点を使用している。   In this embodiment, the vertex of the index having a planar rectangular shape is used as the feature point of the marker (index).

本実施形態におけるツールは、マーカ501の各頂点の座標が、時計回り、又は、反時計回りに入力されることを想定している。そこで、ツールは、表示領域に各頂点に番号を振ったマーカ501の模式図を表示する。ただし、模式図におけるマーカ501の頂点に付随する通し番号は、時計回り、又は、反時計回りに振られているものとする。ユーザは表示領域802に表示されたマーカの各頂点に付された通し番号の順に、各頂点の座標を座標入力域803に入力する。このように、ユーザは各頂点の通し番号と対応づけて各頂点の座標を入力することができ、作業が容易である。   The tool in the present embodiment assumes that the coordinates of each vertex of the marker 501 are input clockwise or counterclockwise. Therefore, the tool displays a schematic diagram of the marker 501 in which the number is assigned to each vertex in the display area. However, it is assumed that the serial numbers attached to the vertices of the markers 501 in the schematic diagram are assigned clockwise or counterclockwise. The user inputs the coordinates of the vertices to the coordinate input area 803 in the order of the serial numbers assigned to the vertices of the markers displayed in the display area 802. Thus, the user can input the coordinates of each vertex in association with the serial number of each vertex, and the operation is easy.

本実施形態では、四角マーカの設定においては、基準点402の反対側の角から反時計回りに頂点を指定するようになっている。本実施形態によれば、基準点402の反対側から指定させることで、四角マーカの向きもマーカ情報として使用することが出来る。   In the present embodiment, in the setting of the square marker, the apex is designated counterclockwise from the opposite corner of the reference point 402. According to the present embodiment, the direction of the square marker can also be used as marker information by designating from the opposite side of the reference point 402.

このように、本実施形態では、基準点402に基づき位置が決定される特徴点(基準点402の反対側の角)から4つの特徴点の位置を識別(特定)している。   Thus, in the present embodiment, the positions of the four feature points are identified (specified) from the feature points whose positions are determined based on the reference points 402 (the corners on the opposite side of the reference points 402).

そして、マーカ501の模式図をユーザに視覚的に提示することにより、ユーザが特徴点の位置を簡単に認識できるようにしている。さらに、法線ベクトルを模式図上に付加しているので、マーカ501の向きをユーザに視覚的に提示している。   The schematic diagram of the marker 501 is visually presented to the user so that the user can easily recognize the position of the feature point. Furthermore, since the normal vector is added on the schematic diagram, the orientation of the marker 501 is visually presented to the user.

本実施形態によれば、ユーザが、特徴点の入力を間違えることを低減させることができる。   According to this embodiment, it is possible to reduce the user's mistaken input of feature points.

804はOKボタンであり、座標入力が終了したときにユーザにより選択される。805はキャンセルボタンであり、座標入力を取り消すときにユーザにより選択される。OKボタン804が選択されると、ツールは入力された各頂点の座標が確定したものと判断し、ステップS102へ進む。S102以降の処理で、ツールは、入力された4つの頂点の情報から、マーカの重心の位置と、マーカの姿勢を示す回転軸ベクトル、回転角と、マーカのサイズを計算し、図7の各フィールドに値を代入する。   Reference numeral 804 denotes an OK button, which is selected by the user when the coordinate input is completed. A cancel button 805 is selected by the user when canceling the coordinate input. When the OK button 804 is selected, the tool determines that the coordinates of the input vertices have been determined, and proceeds to step S102. In the processing after S102, the tool calculates the position of the center of gravity of the marker, the rotation axis vector indicating the posture of the marker, the rotation angle, and the size of the marker from the input information of the four vertices. Assign a value to a field.

ステップS101においてユーザにより入力された4つの頂点の座標は、次の条件を満たしている必要がある。
(a) 4つの頂点は同一平面上にある
(b) 4つの頂点は上記の平面上において正方形をなす
しかし実運用上は測定誤差があるので、ツールはこれらの条件に合うように調整して値を計算する。
The coordinates of the four vertices input by the user in step S101 must satisfy the following conditions.
(A) The four vertices are on the same plane. (B) The four vertices form a square on the above plane. However, since there is a measurement error in actual operation, the tool should be adjusted to meet these conditions. Calculate the value.

ステップS102において、ツールは入力された4つの頂点の座標からマーカの重心座標Pmを求める。入力された4つの頂点の座標をPi(0≦i<4)とすると、
m=(P0+P1+P2+P3)/4
でマーカの重心座標Pmを求めることができる。ここで、頂点座標Piの加減乗除は、各座標成分の加減乗除を意味するものとする。以下、特に断らない限り同様とする。
In step S102, the tool obtains the barycentric coordinates P m of the markers from the four vertices of coordinates inputted. If the coordinates of the four input vertices are P i (0 ≦ i <4),
P m = (P 0 + P 1 + P 2 + P 3 ) / 4
In it can be determined barycentric coordinates P m of the markers. Here, the addition / subtraction / multiplication / division of the vertex coordinates P i means the addition / subtraction / multiplication / division of each coordinate component. The same shall apply hereinafter unless otherwise specified.

次に、ステップS103において、4つの頂点を通る平面の法線ベクトルを求める。本実施形態におけるツールは、測定誤差を丸めるために、4つの頂点を結んだ4本のベクトルに直行するベクトルを求め、その平均をマーカの法線ベクトルとする。   Next, in step S103, a normal vector of a plane passing through the four vertices is obtained. In order to round the measurement error, the tool in the present embodiment obtains a vector orthogonal to four vectors connecting four vertices, and sets the average as the normal vector of the marker.

4つの頂点の座標をPi(0≦i<4)とし、それから作られるベクトルVを次のように定義する。 The coordinates of the four vertices are P i (0 ≦ i <4), and a vector V created therefrom is defined as follows.

i=Pi+1−Pi (0≦i<3の場合)
3=P0−P3
このとき、ViとVi+1に直行するベクトルNiは次式で与えられる。
V i = P i + 1 −P i (when 0 ≦ i <3)
V 3 = P 0 −P 3
At this time, a vector N i orthogonal to V i and V i + 1 is given by the following equation.

=Vi+1×Vi(0≦i<3の場合、×は外積を示す)
3=V0×V3
図11はPi、Vi、Niの位置関係を模式的に示した図である。本実施形態においては、N0〜N3の平均をとったものを、マーカの法線ベクトルNmとする。即ち、
m=(N0+N1+N2+N3)/4
である。
N i = V i + 1 × V i (when 0 ≦ i <3, x indicates an outer product)
N 3 = V 0 × V 3
FIG. 11 is a diagram schematically showing the positional relationship between P i , V i , and N i . In the present embodiment, an average of N 0 to N 3 is used as a marker normal vector N m . That is,
N m = (N 0 + N 1 + N 2 + N 3 ) / 4
It is.

本実施形態ではマーカの頂点座標を反時計回りに入力させていたため、以上に述べた計算で802で図示したように法線を定めることが出来た。もしマーカの頂点を時計回りに入力させる場合には、以上に述べた計算で求まるベクトルを反転したものを法線ベクトルとしなければならない。   In this embodiment, since the vertex coordinates of the marker are input counterclockwise, the normal line can be determined as illustrated in 802 by the calculation described above. If the vertex of the marker is input in the clockwise direction, the normal vector must be obtained by inverting the vector obtained by the calculation described above.

次に、ステップS104において、回転軸ベクトル及び回転角を求める。基準となるマーカの姿勢は、xy平面に平行に直立し、右上に基準点402がある姿勢である。基準姿勢にあるマーカと、入力された座標の示すマーカの辺の対応を考えると、(sz,0,0)とV0が、(0,sz、0)と−V3が対応する。ただしV0と−V3が必ずしも直交しているとは限らない。そこでいちどV0と−V3の外積を求め、さらにその結果とV0との外積を求めてV0と直交する−V3’を求める。 Next, in step S104, a rotation axis vector and a rotation angle are obtained. The reference marker posture is an orientation that stands upright parallel to the xy plane and has a reference point 402 on the upper right. Considering the correspondence between the marker in the reference posture and the side of the marker indicated by the input coordinates, (sz, 0, 0) and V 0 correspond to (0, sz, 0) and −V 3 . However, V 0 and −V 3 are not necessarily orthogonal to each other. Therefore, the outer product of V 0 and −V 3 is obtained once, and the outer product of the result and V 0 is obtained to find −V 3 ′ orthogonal to V 0 .

(sz,0,0)、(0,sz,0)、V0、−V3’をそれぞれ単位行列に正規化すると、x軸、y軸の単位行列が、V0/|V0|、−V3’/|−V3’|に対応していることがわかる。x軸、y軸の単位行列を、V0/|V0|、−V3’/|−V3’|に変換する回転行列RMをもとめ、この回転行列RMから回転軸ベクトル、回転角を求めれば、基準姿勢からのマーカの姿勢を求めることができる。回転行列RMの求め方と、回転行列RMから回転軸ベクトル、回転角の求め方は既知のものとしてここでは説明しない。 When (sz, 0, 0), (0, sz, 0), V 0 , and −V 3 ′ are normalized to unit matrices, the x-axis and y-axis unit matrices are expressed as V 0 / | V 0 |, It can be seen that it corresponds to −V 3 ′ / | −V 3 ′ |. x-axis, the matrix of the y-axis, V 0 / | V 0 | , -V 3 '/ | -V 3' | a rotation matrix R M for converting the determined rotation axis vector from the rotation matrix R M, the rotation If the angle is obtained, the posture of the marker from the reference posture can be obtained. And obtaining the rotation matrix R M, the rotation axis vector from a rotation matrix R M, Determination of the rotation angles are not described here as being known.

次に、ステップS105において、マーカのサイズszを求める。これは先に求めたViの長さの平均をとることで求めることができる。 Next, in step S105, the marker size sz is obtained. This can be obtained by taking the average of the lengths of V i obtained previously.

sz=(|V0|+|V1|+|V2|+|V3|)/4
以上の処理の後、ツールは図7で例示したユーザインタフェース701の702乃至706に、ステップS102乃至S105で導出したマーカ情報を表示制御し、処理を終了する。
sz = (| V 0 | + | V 1 | + | V 2 | + | V 3 |) / 4
After the above processing, the tool controls the display of the marker information derived in steps S102 to S105 on 702 to 706 of the user interface 701 illustrated in FIG. 7, and ends the processing.

以上の処理により、ユーザは測定の行いやすいマーカの各頂点の座標を入力することで、マーカの重心座標Pm、マーカの姿勢を示すための回転軸ベクトルRと回転角θ、マーカのサイズszを求めることができる。また、ツールは、重心座標、法線ベクトル及びサイズを算出する際に適宜測定値を平均化する処理を行うため、測定値に誤差が含まれている場合においても、この誤差を補正し、信頼性の高い値を求めることができる。また、ツールはマーカの外縁に沿って順番に頂点の座標を入力させるため、頂点座標の入力を容易にしている。 Through the above processing, the user inputs the coordinates of each vertex of the marker that can be easily measured, whereby the barycentric coordinates P m of the marker, the rotation axis vector R and the rotation angle θ for indicating the posture of the marker, and the marker size sz. Can be requested. In addition, since the tool performs the process of averaging the measured values as appropriate when calculating the barycentric coordinates, normal vector, and size, even if the measured values include errors, the errors are corrected and A high value can be obtained. Moreover, since the tool inputs the coordinates of the vertexes in order along the outer edge of the marker, it is easy to input the vertex coordinates.

尚、上記の手法は、マーカがどのような正多角形をしていても適用可能である。即ち、ステップS102では、マーカの各頂点の座標の平均を求めることで、重心座標を求めることができる。ステップS103では、互いに隣り合った辺のベクトルの、外積の平均値を求めることで、マーカの法線ベクトルを求めることができる。ステップS104では、上記と同様に基準方向ベクトルと法線ベクトルとから回転角及び回転軸ベクトルを求めることができる。ステップS105では各編の長さの平均を求めることでサイズを求めることができる。また、ツールは、重心座標、法線ベクトル及びサイズを算出する際に適宜測定値を平均化する処理を行うため、測定値に誤差が含まれている場合においても信頼性の高い値を求めることができる点も同様である。   Note that the above method can be applied regardless of the regular polygon of the marker. That is, in step S102, the center-of-gravity coordinates can be obtained by obtaining the average of the coordinates of each vertex of the marker. In step S103, the normal vector of the marker can be obtained by obtaining the average value of the outer products of the vectors of adjacent sides. In step S104, the rotation angle and the rotation axis vector can be obtained from the reference direction vector and the normal vector in the same manner as described above. In step S105, the size can be obtained by obtaining the average length of each knitting. In addition, the tool averages the measured values as appropriate when calculating the barycentric coordinates, normal vector, and size, so that even if the measured values contain errors, a highly reliable value is obtained. The same is true for the point that

[平面指定による導出処理]
次に、平面指定による導出処理について説明する。この処理では、マーカを含む平面上の3点の座標と、この平面上の座標系におけるマーカの座標を入力として受け取り、マーカ情報を導出する。図12は平面指定による導出処理の流れを示すフローチャートである。
[Derivation process by plane specification]
Next, the derivation process by plane designation will be described. In this process, the coordinates of three points on the plane including the marker and the coordinates of the marker in the coordinate system on the plane are received as inputs, and the marker information is derived. FIG. 12 is a flowchart showing a flow of derivation processing by plane designation.

まず、ステップS201において、平面指定入力画面をディスプレイ1607に表示制御する。図9は平面指定入力画面の一例を示した図である。図9において、901は平面指定入力画面の一例である。   First, in step S201, display control of the plane designation input screen is performed on the display 1607. FIG. 9 shows an example of the plane designation input screen. In FIG. 9, reference numeral 901 is an example of a plane designation input screen.

903は、マーカが含まれる平面上の3点(頂点1、2、3)の座標入力を受け付ける座標入力域である。902は、座標入力域903に入力された3点の座標に基づいて、各点の位置関係を通し番号と共に模式的に表示する表示領域である。3つの頂点(頂点1、2、3)は、それぞれ次の意味を持つ。   Reference numeral 903 denotes a coordinate input area for receiving coordinate input of three points (vertices 1, 2 and 3) on the plane including the marker. Reference numeral 902 denotes a display area that schematically displays the positional relationship of each point together with a serial number based on the coordinates of the three points input to the coordinate input area 903. The three vertices (vertices 1, 2, and 3) have the following meanings.

第1の頂点: マーカが含まれる平面の原点
第2の頂点: マーカが含まれる平面のx軸上の頂点
第3の頂点: マーカが含まれる平面上の頂点
即ち、第1及び第2の頂点の座標からマーカが含まれる平面上の座標系における、原点及びx軸が定義され、さらに、第3の頂点からy軸が定義される。ここで、y軸の正負の方向は、例えば、マーカが含まれる平面をx軸によって区分した場合に、第3の頂点が含まれる方向を正と定義するものとする。以下、説明の簡略化のため、マーカが含まれる平面をx軸によって区分した場合に、第3の頂点が含まれる方向をy軸の正と定義する。ユーザは表示領域902に表示された各頂点の通し番号に対応づけられた頂点座標を入力することができ、作業が容易である。
First vertex: Origin of the plane containing the marker Second vertex: Vertex on the x-axis of the plane containing the marker Third vertex: Vertex on the plane containing the marker That is, the first and second vertices In the coordinate system on the plane including the marker, the origin and the x axis are defined, and the y axis is defined from the third vertex. Here, the positive / negative direction of the y-axis is defined as positive when the plane including the marker is divided by the x-axis, for example. Hereinafter, for simplification of description, when the plane including the marker is divided by the x-axis, the direction including the third vertex is defined as the positive y-axis. The user can input the vertex coordinates associated with the serial number of each vertex displayed in the display area 902, and the operation is easy.

905は、座標入力域903に入力された値から定義される座標系における、マーカの2頂点の座標が入力される座標入力域である。入力される座標は、互いに隣り合った2点の座標が入力されるものとする。   Reference numeral 905 denotes a coordinate input area in which the coordinates of the two vertices of the marker are input in a coordinate system defined from values input to the coordinate input area 903. It is assumed that the coordinates of two points adjacent to each other are input.

904は、マーカの各頂点の位置関係を模式的に表示する表示領域である。ここで、座標入力の容易化のため、例えば、基準点402の位置に基づいて、座標を入力する頂点を指定するようにしてもよい。図9の例では、基準点から最も遠い頂点(頂点A)と、頂点Aに反時計回り方向に隣接する頂点(頂点B)が指定されている。   Reference numeral 904 denotes a display area that schematically displays the positional relationship between the vertices of the marker. Here, in order to facilitate the input of coordinates, for example, a vertex for inputting coordinates may be designated based on the position of the reference point 402. In the example of FIG. 9, the vertex farthest from the reference point (vertex A) and the vertex (vertex B) adjacent to the vertex A in the counterclockwise direction are designated.

906はOKボタンであり、座標入力が終了したときにユーザにより選択される。907はキャンセルボタンであり、座標入力を取り消すときにユーザにより選択される。OKボタン906が選択されると、ツールは入力された各頂点の座標が確定したものと判断し、ステップS202へ進む。S202以降の処理で、ツールは、入力された情報から、マーカの重心の位置と、マーカの姿勢を示す回転軸ベクトル、回転角と、マーカのサイズを計算し、図7の各フィールドに値を代入する。   Reference numeral 906 denotes an OK button which is selected by the user when the coordinate input is completed. A cancel button 907 is selected by the user when canceling the coordinate input. When the OK button 906 is selected, the tool determines that the coordinates of the input vertices have been determined, and proceeds to step S202. In the processing after S202, the tool calculates the position of the center of gravity of the marker, the rotation axis vector indicating the posture of the marker, the rotation angle, and the size of the marker from the input information, and sets values in the fields of FIG. substitute.

ステップS202において、ツールは座標入力域903に入力された頂点1乃至3の座標からマーカが含まれる平面の法線ベクトルを求める。平面を指定する頂点1,2,3の位置をそれぞれP0、P1、P2とすると、平面の法線Npは、
p=(P1−P0)×(P2−P0
で求めることができる。
In step S202, the tool obtains a normal vector of a plane including the marker from the coordinates of the vertices 1 to 3 input to the coordinate input area 903. If the positions of vertices 1, 2, and 3 that specify a plane are P 0 , P 1 , and P 2 , respectively, the normal line N p of the plane is
N p = (P 1 -P 0 ) × (P 2 -P 0)
Can be obtained.

次に、ステップS203において、頂点1、2、3から定まる平面基底上でのマーカの重心座標を求める。先に述べたように、座標入力域905には、反時計回り方向に隣接する頂点A、Bの座標が入力されている。そこで、図13のように、頂点Bの反時計回り方向に隣接する頂点Qの座標を求め、AQの中点の座標を求めることによりマーカの重心Mfの座標を求める。Qの座標は、Bの座標に、ベクトルAB(B−Aと表す)を90°回転したベクトルを加えて得られる座標になる。このため、Q及びMfの座標は次式で与えられる。 Next, in step S203, the barycentric coordinates of the marker on the plane base determined from the vertices 1, 2, and 3 are obtained. As described above, the coordinates of the vertices A and B adjacent in the counterclockwise direction are input to the coordinate input area 905. Therefore, as shown in FIG. 13, we obtain the coordinates of the vertices Q adjacent in the counterclockwise direction of the vertex B, obtains the coordinates of the marker of the center of gravity M f by calculating the coordinates of the midpoint of AQ. The coordinates of Q are obtained by adding a vector obtained by rotating a vector AB (represented as B-A) by 90 ° to the coordinates of B. For this reason, the coordinates of Q and Mf are given by the following equations.

Figure 2006293484
Figure 2006293484

尚、マーカが正n角形の場合は、Qの座標は、Bの座標に、ベクトルAB(B−Aと表す)を(360/n)°回転したベクトルを加えて得られる座標になる。従って、正n角形の場合は、数式1の90°は(360/n)°となる。また、例えば、Mfの座標は、ABの垂直2等分線、及び、BQの垂直2等分線の交点として求めてもよい。 When the marker is a regular n-gon, the Q coordinate is obtained by adding a vector obtained by rotating the vector AB (represented as B-A) by (360 / n) ° to the B coordinate. Therefore, in the case of a regular n-gon, 90 ° in Equation 1 is (360 / n) °. Further, for example, the coordinates of M f may be obtained as the intersection of the AB perpendicular bisector and the BQ perpendicular bisector.

次に、ステップS204において、ステップS203で求めた平面座標系におけるマーカの重心座標を世界座標系における座標に変換する処理を行う。このため、まず、平面座標系でのx軸、y軸の方向ベクトルの、世界座標系における単位ベクトルEx,Eyを求める。Exは次式で与えられることは明らかである。 Next, in step S204, a process of converting the barycentric coordinates of the marker in the plane coordinate system obtained in step S203 into coordinates in the world coordinate system is performed. Therefore, first, the unit vectors E x and E y in the world coordinate system of the direction vectors of the x axis and the y axis in the plane coordinate system are obtained. Obviously, E x is given by:

x=P1−P0/|P1−P0
また、マーカが含まれる平面をx軸によって区分した場合に、第3の頂点(P2)が含まれる方向をy軸の正と定義しているため、図14のように、Eyは法線ベクトルNpと直交する。
E x = P 1 −P 0 / | P 1 −P 0 |
Further, when the plane including the marker is divided by the x-axis, the direction including the third vertex (P 2 ) is defined as the positive y-axis, so that E y is a modulus as shown in FIG. perpendicular to the line vector N p.

従って、EyはNpとExの外積を単位ベクトル化した次式で与えられる。 Therefore, E y is given by the following equation obtained by the unit vector of the cross product of N p and E x.

y=Np×Ex/|Np×Ex
ツールは上記のようにしてEx、Eyを求める。この場合、ステップS204において求められた、平面座標系におけるマーカの重心座標Mfを(mx,my)とすると、世界座標中でのマーカの座標Pmは、
m=mx・Ex+my・Ey+P0
となる。マーカのサイズszは図13から明らかなように
sz=|AB|
である。
E y = N p × E x / | N p × E x |
The tool determines E x and E y as described above. In this case, determined at step S204, the barycentric coordinates M f of the marker in the plane coordinate system (m x, m y) When, the coordinates P m of the markers in the world coordinates,
P m = mx x E x + my y E y + P 0
It becomes. The marker size sz is sz = | AB | as apparent from FIG.
It is.

次に、ステップS205において、マーカの回転軸ベクトルと回転角を求める。基準となるマーカの姿勢は、xy平面に平行に直立し、右上に基準点402がある姿勢である。基準姿勢にあるマーカと、入力された座標の示すマーカの辺の対応を考えると、(sz,0,0)と図13中のベクトルABが、(0,sz,0)とベクトルBQが対応する。
ベクトルAB、ベクトルBQを世界座標系に直すためには、それぞれのx,y成分をEx、Eyに乗じればよい。そのようにして得られた世界座標系でのベクトルAB、BQをそれぞれMx、Myとする。
Next, in step S205, the rotation axis vector and rotation angle of the marker are obtained. The reference marker posture is an orientation that stands upright parallel to the xy plane and has a reference point 402 on the upper right. Considering the correspondence between the marker in the reference posture and the side of the marker indicated by the input coordinates, (sz, 0, 0) and the vector AB in FIG. 13 correspond to (0, sz, 0) and the vector BQ. To do.
Vector AB, to fix the vector BQ world coordinate system, each of x, may be multiplied by the y component E x, the E y. Vector AB in the so obtained world coordinate system, BQ each M x, and M y.

(sz,0,0)、(0,sz,0)、Mx、Myをそれぞれ単位行列に正規化すると、x軸、y軸の単位行列が、Mx/|Mx|、My/|My|に対応していることがわかる。x軸、y軸の単位行列を、Mx/|Mx|、My/|My|に変換する回転行列RMをもとめ、この回転行列RMから回転軸ベクトル、回転角を求めれば、基準姿勢からのマーカの姿勢を得られる。回転行列RMの求め方と、回転行列RMから回転軸ベクトル、回転角の求め方は既知のものとしてここでは説明しない。 (Sz, 0,0), (0 , sz, 0), M x, when normalized to the respective unit matrix of M y, x-axis, the matrix of the y-axis, M x / | M x | , M y It can be seen that it corresponds to / | M y |. x-axis, the matrix of the y-axis, M x / | M x | , M y / | M y | determine the rotation matrix R M which converts the rotation axis vector from the rotation matrix R M, by obtaining the rotation angle The posture of the marker from the reference posture can be obtained. And obtaining the rotation matrix R M, the rotation axis vector from a rotation matrix R M, Determination of the rotation angles are not described here as being known.

以上の処理により、マーカの重心座標Pm、マーカの姿勢を示すための回転軸ベクトルRと回転角θ、マーカのサイズszを求めることができる。 Through the above processing, the center-of-gravity coordinates P m of the marker, the rotation axis vector R and the rotation angle θ for indicating the posture of the marker, and the marker size sz can be obtained.

以上の処理の後、ツールは図7で例示したユーザインタフェース701の702乃至706に、ステップS202乃至S205で導出したマーカ情報を表示制御し、処理を終了する。   After the above processing, the tool controls the display of the marker information derived in steps S202 to S205 on 702 to 706 of the user interface 701 illustrated in FIG. 7, and ends the processing.

以上の処理により、ユーザは測定の行いやすい方向に平面座標系を設定し、その平面上の3点の座標と、平面座標系におけるマーカの頂点の座標を入力することによりマーカ情報を入力することができる。このため、ユーザは容易にマーカ情報を入力することができる。   By the above processing, the user sets the plane coordinate system in the direction in which measurement is easy, and inputs the marker information by inputting the coordinates of the three points on the plane and the coordinates of the vertex of the marker in the plane coordinate system. Can do. For this reason, the user can easily input marker information.

尚、上記の手法は、マーカがどのような正多角形をしていても適用可能である。即ち、ステップS202、S203、S204、S205と同様の処理によって、回転軸ベクトル、回転角、重心座標、サイズを求めることができる。   Note that the above method can be applied regardless of the regular polygon of the marker. That is, the rotation axis vector, the rotation angle, the barycentric coordinates, and the size can be obtained by the same processing as in steps S202, S203, S204, and S205.

[その他の実施形態]
以上、本発明の実施形態例について詳述したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様を取ることが可能であり、具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
[Other Embodiments]
As described above, the exemplary embodiments of the present invention have been described in detail. However, the present invention can take an embodiment as, for example, a system, an apparatus, a method, a program, or a storage medium. You may apply to the system comprised from an apparatus, and may apply to the apparatus which consists of one apparatus.

尚、本発明は、前述した実施形態の機能を実現するプログラムを、システムあるいは装置に直接あるいは遠隔から供給し、そのシステムあるいは装置のコンピュータが該供給されたプログラムコードを読み出して実行することによっても達成される場合を含む。   The present invention can also be achieved by supplying a program that realizes the functions of the above-described embodiment directly or remotely to a system or apparatus, and the computer of the system or apparatus reads and executes the supplied program code. Including the case where it is achieved.

従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明の技術的範囲に含まれる。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含む。   Therefore, since the functions of the present invention are implemented by a computer, the program code installed in the computer is also included in the technical scope of the present invention. That is, the present invention includes a computer program itself for realizing the functional processing of the present invention.

その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等の形態であっても良い。   In that case, as long as it has the function of a program, it may be in the form of object code, a program executed by an interpreter, script data supplied to the OS, or the like.

プログラムを供給するための記録媒体としては、例えば、フロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RW、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD−ROM,DVD−R)などがある。   As a recording medium for supplying the program, for example, floppy (registered trademark) disk, hard disk, optical disk, magneto-optical disk, MO, CD-ROM, CD-R, CD-RW, magnetic tape, nonvolatile memory card ROM, DVD (DVD-ROM, DVD-R) and the like.

その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明に含まれるものである。   As another program supply method, a client computer browser is used to connect to an Internet homepage, and the computer program of the present invention itself or a compressed file including an automatic installation function is downloaded from the homepage to a recording medium such as a hard disk. Can also be supplied. It can also be realized by dividing the program code constituting the program of the present invention into a plurality of files and downloading each file from a different homepage. That is, a WWW server that allows a plurality of users to download a program file for realizing the functional processing of the present invention on a computer is also included in the present invention.

また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。 また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現され得る。   In addition, the program of the present invention is encrypted, stored in a storage medium such as a CD-ROM, distributed to users, and key information for decryption is downloaded from a homepage via the Internet to users who have cleared predetermined conditions. It is also possible to execute the encrypted program by using the key information and install the program on a computer. In addition to the functions of the above-described embodiments being realized by the computer executing the read program, the OS running on the computer based on an instruction of the program is a part of the actual processing. Alternatively, the functions of the above-described embodiment can be realized by performing all of them and performing the processing.

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

正三角形の形状を有するマーカを例示的に示した図である。It is the figure which showed the marker which has an equilateral triangle shape exemplarily. 世界座標系におけるマーカを例示的に示した図である。It is the figure which showed the marker in a world coordinate system exemplarily. 斜めの平面に張られたマーカを例示的に示した図である。It is the figure which showed the marker hung on the diagonal plane exemplarily. 正四角形の形状を有するマーカを例示的に示した図である。It is the figure which showed the marker which has a shape of a regular tetragon. 世界座標系に設置された四角マーカを例示的に示した図である。It is the figure which showed the square marker installed in the world coordinate system exemplarily. 本実施形態で使用するマーカファイルを例示的に示した図である。It is the figure which showed the marker file used in this embodiment exemplarily. マーカ設定画面を例示的に示した図である。It is the figure which showed the marker setting screen exemplarily. 頂点指定入力画面の一例を示した図である。It is the figure which showed an example of the vertex designation | designated input screen. 平面指定入力画面の一例を示した図である。It is the figure which showed an example of the plane designation | designated input screen. 頂点指定による導出処理の流れを示すフローチャートである。It is a flowchart which shows the flow of the derivation process by vertex specification. i、Vi、Niの位置関係を模式的に示した図である。P i, V i, the positional relationship of N i is a diagram schematically showing. 平面指定による導出処理の流れを示すフローチャートである。It is a flowchart which shows the flow of the derivation | leading-out process by plane designation | designated. 頂点A、Bの座標から頂点Q、Mfの座標を求める様子を模式的に示した図である。It is the figure which showed typically a mode that the coordinate of vertex Q and Mf was calculated | required from the coordinate of vertex A and B. FIG. x、Ey、Npの位置関係を模式的に示した図である。E x, E y, is a diagram schematically showing the positional relationship of the N p. 情報処理装置の機器構成を示すブロック図である。It is a block diagram which shows the apparatus structure of information processing apparatus. マーカ情報導出処理の全体の流れを示したフローチャートである。It is the flowchart which showed the whole flow of marker information derivation processing.

Claims (16)

指標の頂点座標を入力させるインタフェースを表示装置に表示する表示工程と、
前記インタフェースより入力された前記頂点座標に基づいて、CG画像の描画に用いられる指標情報を導出する導出工程とを備えることを特徴とする情報処理方法。
A display step of displaying an interface for inputting the vertex coordinates of the index on the display device;
And a deriving step of deriving index information used for drawing a CG image based on the vertex coordinates input from the interface.
前記導出工程は前記頂点座標に基づいて得られた複数の指標情報を平均化することにより前記頂点座標の測定誤差を補正することを特徴とする請求項1に記載の情報処理方法。   The information processing method according to claim 1, wherein the derivation step corrects a measurement error of the vertex coordinates by averaging a plurality of pieces of index information obtained based on the vertex coordinates. 前記表示工程は、前記インタフェースに前記指標の模式図を表示させ、
前記インタフェースは、ユーザが入力する頂点座標が、前記模式図のどの頂点に対応するものであるかを該ユーザが把握可能にする表示を含むことを特徴とする請求項1又は2に記載の情報処理方法。
The display step displays a schematic diagram of the indicator on the interface,
The information according to claim 1, wherein the interface includes a display that allows the user to know which vertex of the schematic diagram corresponds to the vertex coordinates input by the user. Processing method.
指標が含まれる平面上の、3以上の点の座標と、該平面上に設定された座標系における、該指標の2以上の頂点座標と、を入力させるインタフェースを表示装置に表示する表示工程と、
前記インタフェースより入力された、前記3以上の点の座標と、前記2以上の頂点座標とからCG画像の適切な描画に用いられる指標情報を導出する導出工程とを備えることを特徴とする情報処理方法。
A display step for displaying on the display device an interface for inputting coordinates of three or more points on a plane including the index and two or more vertex coordinates of the index in a coordinate system set on the plane; ,
And a derivation step of deriving index information used for appropriate rendering of a CG image from the coordinates of the three or more points and the two or more vertex coordinates input from the interface. Method.
前記表示工程は、前記インタフェースに、前記3以上の点と、前記2以上の頂点との模式図を表示させ、
前記インタフェースは、ユーザが入力する座標が前記模式図のどの点又は頂点に対応するものであるかを該ユーザが把握可能にする表示を含むことを特徴とする請求項4に記載の情報処理方法。
The display step displays a schematic diagram of the three or more points and the two or more vertices on the interface,
5. The information processing method according to claim 4, wherein the interface includes a display that allows the user to know which point or vertex of the schematic diagram corresponds to coordinates input by the user. .
前記表示工程は、更に、前記インタフェースに、前記導出工程によって導出された前記指標情報を表示させることを特徴とする請求項1乃至5のいずれか1項に記載の情報処理方法。   6. The information processing method according to claim 1, wherein the display step further causes the interface to display the index information derived by the derivation step. 前記指標情報は、前記指標の重心座標、回転軸ベクトル、回転角度、サイズの少なくともいずれかであることを特徴とする請求項1乃至6のいずれか1項に記載の情報処理方法。   The information processing method according to claim 1, wherein the index information is at least one of a barycentric coordinate, a rotation axis vector, a rotation angle, and a size of the index. 位置情報と姿勢情報とを有する指標情報を設定する情報処理方法であって、
ユーザの指示に応じて、前記指標の複数の特徴点に関する位置情報を設定し、
前記設定された複数の特徴点に関する位置情報から、前記指標の位置情報と姿勢情報とを求め、
前記求められた位置情報と姿勢情報を、前記指標の指標情報として登録することを特徴とする情報処理方法。
An information processing method for setting index information having position information and posture information,
In response to a user instruction, position information regarding a plurality of feature points of the index is set,
From the position information regarding the set feature points, the position information and posture information of the index are obtained,
The information processing method characterized by registering the obtained position information and posture information as index information of the index.
前記指標の形状は平面の矩形であり、
前記特徴点は、前記矩形の頂点であることを特徴とする請求項8に記載の情報処理方法。
The shape of the indicator is a flat rectangle,
The information processing method according to claim 8, wherein the feature point is a vertex of the rectangle.
前記指標には基準点を示す情報があり、前記基準点に基づき位置が特定される特徴点を基準として、前記複数の特徴点が識別されることを特徴とする請求項に8記載の情報処理方法。   9. The information processing according to claim 8, wherein the index includes information indicating a reference point, and the plurality of feature points are identified on the basis of a feature point whose position is specified based on the reference point. Method. 前記指標の形状および該指標の形状に対する前記特徴点の位置を視覚的にユーザに提示することを特徴とする請求項に8記載の情報処理方法。   9. The information processing method according to claim 8, wherein the shape of the index and the position of the feature point with respect to the shape of the index are visually presented to the user. 前記指標の姿勢情報に関する情報を視覚的にユーザに提示することを特徴とする請求項11に記載の情報処理方法。   The information processing method according to claim 11, wherein information related to posture information of the index is visually presented to a user. 位置情報と姿勢情報とを有する指標情報を設定する情報処理方法であって、
ユーザの指示に応じて指標が配置されている平面の平面情報を設定し、
ユーザの指示に応じて前記指標の特徴点の位置情報を設定し、
前記平面情報および前記特徴点の位置情報に基づき、前記指標の位置情報および姿勢情報を求め、
前記求められた位置情報と姿勢情報を、前記指標の指標情報として登録することを特徴とする情報処理方法。
An information processing method for setting index information having position information and posture information,
Set the plane information of the plane where the index is arranged according to the user's instruction,
According to the user's instruction, set the position information of the feature point of the index,
Based on the plane information and the position information of the feature points, obtain the position information and posture information of the index,
The information processing method characterized by registering the obtained position information and posture information as index information of the index.
請求項1乃至13のいずれか1項に記載の情報処理方法をコンピュータに実行させるためのコンピュータプログラム。   A computer program for causing a computer to execute the information processing method according to claim 1. 請求項14に記載のコンピュータプログラムを格納したコンピュータ読み取り可能な記憶媒体。   A computer-readable storage medium storing the computer program according to claim 14. マーカの頂点座標を入力させるインタフェースとしての入力手段と、
前記入力手段より入力された前記頂点座標に基づいて、CG画像の描画に用いられるマーカ情報を導出する導出手段とを備えることを特徴とする情報処理装置。
Input means as an interface for inputting the vertex coordinates of the marker;
An information processing apparatus comprising: derivation means for deriving marker information used for drawing a CG image based on the vertex coordinates input from the input means.
JP2005110059A 2005-04-06 2005-04-06 Information processing method, information processor, computer program and storage medium Withdrawn JP2006293484A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005110059A JP2006293484A (en) 2005-04-06 2005-04-06 Information processing method, information processor, computer program and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005110059A JP2006293484A (en) 2005-04-06 2005-04-06 Information processing method, information processor, computer program and storage medium

Publications (1)

Publication Number Publication Date
JP2006293484A true JP2006293484A (en) 2006-10-26

Family

ID=37414025

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005110059A Withdrawn JP2006293484A (en) 2005-04-06 2005-04-06 Information processing method, information processor, computer program and storage medium

Country Status (1)

Country Link
JP (1) JP2006293484A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110490970A (en) * 2019-08-08 2019-11-22 广联达科技股份有限公司 Store the method, apparatus and electronic equipment of three-dimensional geometric information
KR102279259B1 (en) * 2020-01-17 2021-07-20 네이버 주식회사 Method for compensating image distortion and, method for collecting objects from the image by using the same

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110490970A (en) * 2019-08-08 2019-11-22 广联达科技股份有限公司 Store the method, apparatus and electronic equipment of three-dimensional geometric information
KR102279259B1 (en) * 2020-01-17 2021-07-20 네이버 주식회사 Method for compensating image distortion and, method for collecting objects from the image by using the same

Similar Documents

Publication Publication Date Title
US8368695B2 (en) Transforming offline maps into interactive online maps
JP4599184B2 (en) Index placement measurement method, index placement measurement device
EP1008112B1 (en) Techniques for creating and modifying 3d models and correlating such models with 2d pictures
US7657065B2 (en) Marker placement information estimating method and information processing device
US7529387B2 (en) Placement information estimating method and information processing device
JP5248806B2 (en) Information processing apparatus and information processing method
JP2720920B2 (en) A method for synthesizing real images and computer graphics in an image processing system
JP3245336B2 (en) Modeling method and modeling system
US20090251492A1 (en) Storage medium storing image conversion program and image conversion apparatus
JP4835243B2 (en) Image composition apparatus and image composition program
JP5461782B2 (en) Camera image simulator program
JP2002245438A (en) Device, method and program for supporting preparation of three-dimensional computer graphics
CN108090212B (en) Method, device and equipment for showing interest points and storage medium
JP2001004373A (en) Photogrammetry image processing device and method therefor, and memory media for storing program thereof
JP2006293484A (en) Information processing method, information processor, computer program and storage medium
JP2006018444A (en) Image processing system and additional information indicating device
US20220130030A1 (en) Information display apparatus, information display method, and information display program
JP2008040913A (en) Information processing method, and information processor
JP4810403B2 (en) Information processing apparatus and information processing method
JP3138887B2 (en) How to display the constraint conditions of a structure model
JP2008140047A (en) Information processing method and information processor
JP2004108836A (en) Azimuth angle computing method of imaging apparatus and system, attitude sensor of imaging apparatus, tilt sensor of imaging device and computer program and three-dimentional model configuration device
JP2000057376A (en) Method for generating new viewpoint image
JP2008139911A (en) Information processing apparatus and method
US9063950B2 (en) Methods and systems for modifying raster graphics software programs

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20080701