Nothing Special   »   [go: up one dir, main page]

JP5693691B2 - Information processing apparatus, processing method thereof, and program - Google Patents

Information processing apparatus, processing method thereof, and program Download PDF

Info

Publication number
JP5693691B2
JP5693691B2 JP2013218672A JP2013218672A JP5693691B2 JP 5693691 B2 JP5693691 B2 JP 5693691B2 JP 2013218672 A JP2013218672 A JP 2013218672A JP 2013218672 A JP2013218672 A JP 2013218672A JP 5693691 B2 JP5693691 B2 JP 5693691B2
Authority
JP
Japan
Prior art keywords
model data
dimensional model
geometric feature
information processing
orientation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2013218672A
Other languages
Japanese (ja)
Other versions
JP2014026670A (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 JP2013218672A priority Critical patent/JP5693691B2/en
Publication of JP2014026670A publication Critical patent/JP2014026670A/en
Application granted granted Critical
Publication of JP5693691B2 publication Critical patent/JP5693691B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Processing Or Creating Images (AREA)
  • Studio Devices (AREA)

Description

本発明は、撮像装置により撮像される物体に対する該撮像装置の位置及び姿勢の情報を算出する情報処理装置、その処理方法及びプログラム。   The present invention relates to an information processing apparatus that calculates information on the position and orientation of an imaging apparatus with respect to an object imaged by the imaging apparatus, a processing method thereof, and a program.

近年、現実空間に仮想空間の情報を重ね合わせて表示するAR(拡張現実感:Augmented Reality)技術の研究が盛んに行なわれている。AR技術を採用した情報提示装置の代表格としては、例えば、ビデオシースルー型のHMD(ヘッドマウントディスプレイ:Head Mounted Display)が知られている。ビデオシースルー型HMDには、現実空間を撮像するカメラが内蔵されている。ビデオシースルー型HMDでは、カメラ等の位置及び姿勢に応じてCG(コンピュータグラフィクス:Computer Graphics)により仮想物体を描画する。そして、描画された仮想物体を現実空間の画像上に重畳した合成画像を、液晶パネルなどのHMDの表示デバイス上に表示する。これにより、利用者は、あたかも仮想物体が現実空間中に実在するかのように感じることができる。   In recent years, research on AR (Augmented Reality) technology that superimposes and displays information in a virtual space on a real space has been actively conducted. For example, a video see-through type HMD (Head Mounted Display) is known as a representative example of an information presentation apparatus adopting the AR technology. A video see-through HMD has a built-in camera that captures a real space. In the video see-through HMD, a virtual object is drawn by CG (Computer Graphics) according to the position and orientation of the camera or the like. Then, a composite image obtained by superimposing the drawn virtual object on the image in the real space is displayed on an HMD display device such as a liquid crystal panel. Thereby, the user can feel as if the virtual object actually exists in the real space.

AR技術を実現する上で解決しなければならない大きな問題の一つとして「位置合わせ」の問題がある。ARにおける位置合わせとは、仮想物体と現実空間との間の幾何学的な整合性を取ることである。仮想物体が現実空間に実在するように利用者が感じるためには、位置合わせが正しく行なわれ、仮想物体が常に現実空間中の存在すべき位置に存在するようにして利用者に提示されなければならない。   One of the major problems that must be solved in realizing the AR technology is the “alignment” problem. The alignment in AR is to take geometrical consistency between the virtual object and the real space. In order for the user to feel that the virtual object actually exists in the real space, the registration must be performed correctly, and the virtual object must be presented to the user so that the virtual object always exists in the real space. Don't be.

ビデオシースルー型HMDを利用するARでは、一般に、HMDに内蔵されているカメラから画像が入力される毎に、現実空間におけるカメラの画像撮像時の位置及び姿勢を計測する。そして、このカメラの位置や姿勢と、焦点距離などのカメラ固有のパラメータとに基づいてCGを描画し、現実空間の画像上に重畳する。そのため、ARにおける位置合わせでは、HMDに内蔵されたカメラの位置や姿勢の計測を正確に行なう必要がある。一般に、カメラの位置及び姿勢の計測は、6自由度のカメラの位置及び姿勢を計測できる磁気センサや超音波センサ、光学式センサなどの物理センサを用いて行なわれる。   In an AR using a video see-through HMD, the position and orientation at the time of image capturing of a camera in a real space are generally measured every time an image is input from a camera built in the HMD. Then, a CG is drawn based on the camera position and orientation and camera-specific parameters such as the focal length, and is superimposed on the real space image. Therefore, in the alignment in AR, it is necessary to accurately measure the position and orientation of the camera built in the HMD. In general, the position and orientation of a camera are measured using a physical sensor such as a magnetic sensor, an ultrasonic sensor, or an optical sensor that can measure the position and orientation of the camera with six degrees of freedom.

また、ビデオシースルー型HMDでは、内蔵されているカメラからの画像情報を位置合わせに利用することができる。画像情報を利用して位置合わせを行なう場合、物理センサを利用する方法に比べ、手軽且つ低コストである。この位置合わせ方法では、一般に、現実空間中で3次元位置が既知の指標をカメラで撮像し、撮像画像上での指標の位置と3次元位置との対応をもとにカメラの位置及び姿勢を算出する。指標には、例えば、現実空間中に人為的に配置したマーカや、現実空間中に元来存在するコーナー点やエッジなどの自然特徴を利用する。実用上は、安定性や計算負荷の点から、画像情報から検出や識別が容易である人工的なマーカが広く利用されている。   In the video see-through HMD, image information from a built-in camera can be used for alignment. When alignment is performed using image information, it is easier and less expensive than methods using physical sensors. In this alignment method, generally, an index with a known three-dimensional position in a real space is imaged by a camera, and the position and orientation of the camera are determined based on the correspondence between the index position on the captured image and the three-dimensional position. calculate. For the index, for example, markers that are artificially arranged in the real space and natural features such as corner points and edges that originally exist in the real space are used. In practice, artificial markers that are easy to detect and identify from image information are widely used from the viewpoint of stability and computational load.

このような技術に関連して、非特許文献1では、固有の2次元パターンが内部に描かれた正方形形状のマーカを指標に用いて位置合わせを行なう方法が開示されている。このような正方形マーカなどの人工的なマーカは、手軽に利用できるため広く用いられている。しかし、マーカを配置するのが物理的に不可能・困難な場合や、美観を損ねるなどの理由のためにマーカを配置したくない場合にはマーカを利用することができない。   In relation to such a technique, Non-Patent Document 1 discloses a method of performing alignment using a square marker in which a unique two-dimensional pattern is drawn as an index. Artificial markers such as square markers are widely used because they can be easily used. However, the marker cannot be used when it is physically impossible or difficult to arrange the marker, or when it is not desired to arrange the marker for reasons such as deteriorating aesthetics.

一方、近年の計算機能力の向上に伴い、現実シーン中に元来存在する自然特徴を利用して位置合わせを行なう技術の研究が盛んに行なわれている。位置合わせに用いられる自然特徴としては、コーナー点などの点形状の特徴(以下、点特徴)や、エッジなどの線特徴が挙げられる。非特許文献2、3、4では、エッジを利用した位置合わせの方法が開示されている。エッジは、スケールや観察方向に対して不変であるため、エッジを利用した位置合わせは精度が高いという特徴がある。エッジを利用した位置合わせでは、線分の集合により記述されている現実空間や現実物体の3次元モデルデータを持つことが前提となる。非特許文献2、3、4で開示されているエッジを利用した位置合わせは、次の1から4の処理によって実現される。
(1).前フレームでのカメラの位置及び姿勢及び予め校正済みのカメラの固有パラメータに基づいて、前述の3次元モデルデータ(線分モデル)を画像上に投影する。
(2).投影された各線分を、画像上で一定間隔となるように分割し、分割点を設定する。そして、各分割点について、分割点を通過し向きが投影された線分の法線方向である線分(探索ライン)上でエッジ探索し、探索ライン上における輝度値の勾配が極大であり且つ分割点に最も近い点を対応エッジとして検出する。
(3).各分割点毎に検出された対応エッジと、投影される線分との間の画像上での距離の総和が最小となるようなカメラの位置及び姿勢の補正値を算出し、その補正値に基づいてカメラの位置及び姿勢を算出する。
(4).(3)の処理を収束するまで繰り返し最適化計算を行なう。
On the other hand, along with the recent improvement in calculation capability, research on techniques for performing registration using natural features that originally exist in real scenes has been actively conducted. Examples of natural features used for alignment include point shape features such as corner points (hereinafter point features) and line features such as edges. Non-Patent Documents 2, 3, and 4 disclose alignment methods using edges. Since the edge is invariant with respect to the scale and the observation direction, the alignment using the edge is characterized by high accuracy. The alignment using the edge is premised on having a three-dimensional model data of a real space or a real object described by a set of line segments. The alignment using the edges disclosed in Non-Patent Documents 2, 3, and 4 is realized by the following processes 1 to 4.
(1). The aforementioned three-dimensional model data (line segment model) is projected on the image based on the camera position and orientation in the previous frame and the intrinsic parameters of the camera that have been calibrated in advance.
(2). Each projected line segment is divided at a constant interval on the image, and division points are set. Then, for each division point, an edge search is performed on a line segment (search line) that is a normal direction of the line segment that passes through the division point and the direction is projected, and the gradient of the luminance value on the search line is maximal and A point closest to the dividing point is detected as a corresponding edge.
(3). Calculate a correction value for the position and orientation of the camera that minimizes the sum of the distances on the image between the corresponding edge detected at each division point and the projected line segment. Based on this, the position and orientation of the camera are calculated.
(4). The optimization calculation is repeated until the processing of (3) is converged.

点特徴と違って、エッジは画像上での識別性が低い。エッジ探索時には、探索ライン上における輝度値の勾配が極大であるという情報しか利用していないため、しばしば誤ったエッジが検出されてしまう。そのため、非特許文献2、3、4では、誤検出されたエッジが最適化計算に悪影響を及ぼさないように、M推定と呼ばれる手法を用い、誤検出と思われるエッジのデータの重みを小さくして最適化計算を行なっている。   Unlike point features, edges are less distinguishable on images. At the time of edge search, since only the information that the gradient of the luminance value on the search line is maximum is used, an erroneous edge is often detected. For this reason, in Non-Patent Documents 2, 3, and 4, a technique called M estimation is used to reduce the weight of edge data that seems to be erroneously detected so that the erroneously detected edge does not adversely affect the optimization calculation. To perform optimization calculations.

また、上述した通り、エッジを利用した位置合わせでは、位置合わせの対象となる現実空間や現実物体を構成する線分の3次元モデルデータが必要となる。従来、線分の3次元モデルデータの計測は、手作業若しくは画像を用いて行なわれていた。手作業による計測には、メジャー、定規、分度器などが用いられる。また、計測の対象となるシーンや物体の画像を撮像し、画像上で計測者が手作業で線分を指定した結果をもとに3次元データの算出を行なう写真測量ソフトウェアなども用いられている。計測者は、面と面の交線や、線の両側で輝度が大きく変わる線など、位置合わせを行なう際にエッジとして検出されそうな線分を現実空間/現実物体から探して、前述の道具やソフトウェアを用いて計測を行なう。また、これ以外にも、非特許文献5に示されるように、画像を用いた線分の3次元データの計測方法も知られている。非特許文献5では、複数の画像における画像上での線分の対応をもとに、3次元空間における直線の方向と通過位置とを推定している。非特許文献5では、実画像上でのエッジの検出方法として、非特許文献6に示される2次元的なエッジ検出方法を用いている。   Further, as described above, in the alignment using the edge, the three-dimensional model data of the line segment constituting the real space or the real object to be aligned is required. Conventionally, measurement of three-dimensional model data of a line segment has been performed manually or using an image. For manual measurement, a measure, a ruler, a protractor, etc. are used. In addition, photogrammetry software that takes images of scenes and objects to be measured and calculates 3D data based on the result of manual measurement by the measurer on the image is also used. Yes. The measurer searches the real space / real object for a line segment that is likely to be detected as an edge when performing alignment, such as a line between planes or a line whose brightness changes greatly on both sides of the line. And measurement using software. In addition to this, as shown in Non-Patent Document 5, a method for measuring three-dimensional data of a line segment using an image is also known. In Non-Patent Document 5, the direction of a straight line and the passing position in a three-dimensional space are estimated based on the correspondence of line segments on a plurality of images. In Non-Patent Document 5, the two-dimensional edge detection method shown in Non-Patent Document 6 is used as an edge detection method on an actual image.

加藤, M. Billinghurst, 浅野, 橘, “マーカー追跡に基づく拡張現実感システムとそのキャリブレーション", 日本バーチャルリアリティ学会論文誌, vol.4, no.4, pp.607-617, 1999.Kato, M. Billinghurst, Asano, Tachibana, “Augmented reality system based on marker tracking and its calibration”, Transactions of the Virtual Reality Society of Japan, vol.4, no.4, pp.607-617, 1999. T. Drummond and R. Cipolla, “Real-time visual tracking of complex structures," IEEE Transactions on Pattern Analysis and Machine Intelligence, vol.24, no.7, pp.932-946, 2002.T. Drummond and R. Cipolla, “Real-time visual tracking of complex structures,” IEEE Transactions on Pattern Analysis and Machine Intelligence, vol.24, no.7, pp.932-946, 2002. A. I. Comport, E. Marchand, and F. Chaumette, “A real-time tracker for markerless augmented reality," Proc. The 2nd IEEE/ACM International Symposium on Mixed and Augmented Reality (ISMAR03), pp.36-45, 2003.A. I. Comport, E. Marchand, and F. Chaumette, “A real-time tracker for markerless augmented reality,” Proc. The 2nd IEEE / ACM International Symposium on Mixed and Augmented Reality (ISMAR03), pp.36-45, 2003. L. Vacchetti, V. Lepetit, and P. Fua, “Combining edge and texture information for real-time accurate 3D camera tracking," Proc. The 3rd IEEE/ACM International Symposium on Mixed and Augmented Reality (ISMAR04), pp.48-57, 2004.L. Vacchetti, V. Lepetit, and P. Fua, “Combining edge and texture information for real-time accurate 3D camera tracking,” Proc. The 3rd IEEE / ACM International Symposium on Mixed and Augmented Reality (ISMAR04), pp.48 -57, 2004. C. J. Taylor and D. J. Kriegman, “Structure from motion from line segments in multiple images," IEEE Transactions on Pattern Analysis and Machine Intelligence, vol.17, no.11, pp.1021-1032, 1995.C. J. Taylor and D. J. Kriegman, “Structure from motion from line segments in multiple images,” IEEE Transactions on Pattern Analysis and Machine Intelligence, vol.17, no.11, pp.1021-1032, 1995. J. Canny, “A computational approach to edge detection," IEEE Transactions on Pattern Analysis and Machine Intelligence, vol.8, no.6, pp.679-698, 1986.J. Canny, “A computational approach to edge detection,” IEEE Transactions on Pattern Analysis and Machine Intelligence, vol.8, no.6, pp.679-698, 1986. R. Y. Tsai, “A versatile camera calibration technique for high-accuracy 3D machine vision metrology using off-the-shelf TV camera and lenses," IEEE Journal of Robotics and Automation, vol.3, no.4, pp.323-344, 1987.RY Tsai, “A versatile camera calibration technique for high-accuracy 3D machine vision metrology using off-the-shelf TV camera and lenses,” IEEE Journal of Robotics and Automation, vol.3, no.4, pp.323-344, 1987. H. Wuest, F. Vial, and D. Stricker, “Adaptive line tracking with multiple hypotheses for augmented reality," Proc. The Fourth Int'l Symp. on Mixed and Augmented Reality (ISMAR05), pp.62-69, 2005.H. Wuest, F. Vial, and D. Stricker, “Adaptive line tracking with multiple hypotheses for augmented reality,” Proc. The Fourth Int'l Symp. On Mixed and Augmented Reality (ISMAR05), pp.62-69, 2005 .

上述したエッジを用いた位置合わせでは、3次元モデルデータを投影し、その投影像をもとに1次元探索によってエッジを検出している。そのため、3次元モデルデータを計測する時点では、3次元モデルデータが存在しないため、このような3次元モデルデータの投影に基づいた1次元探索によるエッジ検出を行なうことはできない。すなわち、計測者がエッジであると推定したエッジや、2次元的なエッジ検出方法により検出されたエッジが位置合わせを行なう際に検出されるか否かが事前には分からない。これは、上述の濃度勾配の極値を検出するエッジ検出方法に限らず、3次元モデルデータを投影して1次元探索を行なう他の方法(例えば、エッジ周辺の画像情報を利用して対応するエッジを1次元探索するような方法等)においても共通の問題である。   In the alignment using the edge described above, three-dimensional model data is projected, and the edge is detected by a one-dimensional search based on the projection image. For this reason, since the 3D model data does not exist at the time of measuring the 3D model data, it is not possible to perform edge detection by a 1D search based on the projection of the 3D model data. That is, it is not known in advance whether an edge estimated by the measurer or an edge detected by a two-dimensional edge detection method is detected when performing alignment. This is not limited to the above-described edge detection method for detecting the extreme value of the density gradient, and other methods for performing a one-dimensional search by projecting three-dimensional model data (for example, using image information around edges). This is also a common problem in methods such as a one-dimensional search for edges.

そのため、手作業で計測する場合には、計測者が自分の目で位置合わせに利用されるエッジであるか否かの判定を行なう必要があるので、作業に熟練を要してしまう。更に、熟練した計測者であっても判定を間違う場合もあるので、3次元モデルデータの計測後、実際に位置合わせし、どの線分が不要かの判定を繰り返す必要がある。従って、計測に手間がかかる。   For this reason, when measuring manually, it is necessary for the measurer to determine whether or not the edge is used for alignment with his / her eyes, which requires skill in the work. Furthermore, even a skilled measurer may make a mistake in determination, so after measuring the three-dimensional model data, it is necessary to actually align and repeat the determination of which line segment is unnecessary. Therefore, it takes time to measure.

また、従来のエッジを用いた位置合わせでは、実際にエッジとして検出されない線分の情報が3次元モデルに含まれている場合であっても、それら線分に対するエッジを検出し対応付けしようとしていた。そのため、画像上のエッジの誤検出や、モデルの線分との間で誤対応が起こるので、位置合わせの精度や安定性が低下してしまっていた。   In addition, in the conventional alignment using edges, even if information on line segments that are not actually detected as edges is included in the three-dimensional model, an attempt is made to detect and associate edges with respect to those line segments. . For this reason, misdetection of an edge on an image and miscorrespondence with a line segment of a model occur, so that the accuracy and stability of alignment are lowered.

そこで、本発明は、上記問題点に鑑みてなされたものであり、位置姿勢算出処理時における3次元情報を用いた計算負荷を減らすとともに、位置合わせの精度や安定性の低下を抑制させるようにした技術を提供することを目的とする。   Therefore, the present invention has been made in view of the above problems, and reduces the calculation load using the three-dimensional information during the position / orientation calculation process, and suppresses a decrease in alignment accuracy and stability. The purpose is to provide the technology.

上記目的を達成するため、本発明の一態様は、撮像装置により撮像される物体に対する該撮像装置の位置及び姿勢の情報を算出する情報処理装置であって、前記物体の3次元モデルデータを保持する保持手段と、前記撮像装置により撮像された前記物体の画像を複数取得する取得手段と、前記3次元モデルデータの幾何特徴を前記複数の画像それぞれに投影し、該投影された幾何特徴に対応する幾何特徴を前記複数の画像それぞれから検出する検出手段と、前記複数の画像それぞれで検出された、前記3次元モデルデータに含まれる幾何特徴に対応する幾何特徴の検出回数に基づいて、前記3次元モデルデータの幾何特徴を前記撮像装置の位置姿勢算出処理に利用するかを判定する判定手段と、前記判定手段により位置姿勢算出処理に利用すると判定された前記3次元モデルデータの幾何特徴に基づいて、前記3次元モデルデータを更新する更新手段とを具備する。 In order to achieve the above object, one embodiment of the present invention is an information processing apparatus that calculates position and orientation information of an imaging device with respect to an object imaged by the imaging device, and holds three-dimensional model data of the object Holding means, acquiring means for acquiring a plurality of images of the object imaged by the imaging device, and projecting the geometric features of the three-dimensional model data to each of the plurality of images, and corresponding to the projected geometric features a detecting means for geometric features detected from each of the plurality of images, detected by each of the plurality of images, based on the detection frequency of the corresponding geometric features geometric features included in the three-dimensional model data, the 3 take advantage of geometric features of the dimensional model data determining means for determining to use the position and orientation calculation process of the imaging device, the position and orientation calculation process by said determining means Based on the determined the three-dimensional model data of the geometric features and comprises an updating means for updating the 3-dimensional model data.

本発明によれば、位置姿勢算出処理時における3次元情報を用いた計算負荷を減らすとともに、位置合わせの精度や安定性の低下を抑制できる。   ADVANTAGE OF THE INVENTION According to this invention, while reducing the calculation load using the three-dimensional information at the time of a position and orientation calculation process, the fall of the alignment precision and stability can be suppressed.

本発明の一実施の形態に係わる情報処理装置が組み込まれたビデオシースルー型のHMDの概要の一例を示す図である。It is a figure which shows an example of the outline | summary of the video see-through type HMD incorporating the information processing apparatus concerning one embodiment of this invention. 図1に示す情報処理装置1の構成の一例を示す図である。It is a figure which shows an example of a structure of the information processing apparatus 1 shown in FIG. 実施形態1に係わる3次元モデルの定義方法の一例について説明する。An example of a three-dimensional model definition method according to the first embodiment will be described. 図1に示す情報処理装置1における処理の流れの一例を示すフローチャートである。3 is a flowchart illustrating an example of a process flow in the information processing apparatus 1 illustrated in FIG. 1. 図4のステップS1030におけるエッジ検出処理の流れの一例を示すフローチャートである。It is a flowchart which shows an example of the flow of the edge detection process in FIG.4 S1030. 画像上へ3次元モデルを投影した一例を示す図である。It is a figure which shows an example which projected the three-dimensional model on the image. 3次元モデルの画像上での分割点の一例を示す図である。It is a figure which shows an example of the division | segmentation point on the image of a three-dimensional model. 実施形態1に係わるエッジ検出方法の概要の一例を示す図である。It is a figure which shows an example of the outline | summary of the edge detection method concerning Embodiment 1. FIG. エッジの情報を利用して撮像装置100の位置及び姿勢を算出する処理の概要の一例を示す図である。FIG. 10 is a diagram illustrating an example of an outline of processing for calculating the position and orientation of the imaging apparatus 100 using edge information. 図4のステップS1090におけるモデルデータ検証処理の流れの一例を示すフローチャートである。It is a flowchart which shows an example of the flow of the model data verification process in step S1090 of FIG. 実施形態2に係わる情報処理装置1における処理の流れの一例を示すフローチャートである。10 is a flowchart illustrating an example of a processing flow in the information processing apparatus 1 according to the second embodiment. 図11のステップS2090におけるモデルデータ検証処理の流れの一例を示すフローチャートである。It is a flowchart which shows an example of the flow of the model data verification process in step S2090 of FIG. 実施形態3に係わる情報処理装置1の構成の一例を示す図である。6 is a diagram illustrating an example of a configuration of an information processing apparatus 1 according to Embodiment 3. FIG. 実施形態3に係わる情報処理装置3における処理の流れの一例を示すフローチャートである。14 is a flowchart illustrating an example of a processing flow in the information processing apparatus 3 according to the third embodiment.

以下、本発明に係わる情報処理装置、その処理方法及びプログラムの一実施の形態について添付図面を参照して詳細に説明する。   Hereinafter, an information processing apparatus, a processing method thereof, and an embodiment of a program according to the present invention will be described in detail with reference to the accompanying drawings.

(実施形態1)
図1は、本発明の一実施の形態に係わる情報処理装置が組み込まれたビデオシースルー型のHMDの概要の一例を示す図である。なお、本実施形態においては、情報処理装置1をAR(拡張現実感:Augmented Reality)の位置合わせに用いる場合を例に挙げて説明するが、情報処理装置1は、勿論、これ以外の用途に使用されてもよい。
(Embodiment 1)
FIG. 1 is a diagram showing an example of an outline of a video see-through type HMD incorporating an information processing apparatus according to an embodiment of the present invention. In the present embodiment, a case where the information processing apparatus 1 is used for AR (Augmented Reality) alignment will be described as an example. However, the information processing apparatus 1 is of course used for other purposes. May be used.

観察者40は、ビデオシースルー型のHMD30を装着している。観察者40は、ビデオシースルー型HMD30を介して観察対象物体10を観察する。これにより、観察者40には、観察対象物体10上に仮想物体20が重畳された映像が表示される。この場合、仮想物体20として、例えば、観察対象物体10に対する注釈が表示されている。   The observer 40 is wearing a video see-through type HMD 30. The observer 40 observes the observation target object 10 through the video see-through HMD 30. As a result, the viewer 40 displays an image in which the virtual object 20 is superimposed on the observation target object 10. In this case, for example, an annotation for the observation target object 10 is displayed as the virtual object 20.

ビデオシースルー型HMD30には、それぞれ左眼、右眼に対応した撮像装置(100、101)が内蔵されている。撮像装置100は、観察対象物体10を撮像する。撮像装置100により撮像された画像は、情報処理装置1に入力される。情報処理装置1は、撮像装置(100、101)により撮像された画像と、観察対象物体10の3次元モデルデータとに基づいて撮像装置(100、101)の位置及び姿勢を算出する。なお、撮像装置(100、101)の焦点距離などカメラ固有のパラメータは、公知のカメラ校正方法(例えば、非特許文献7)により予め求めておけばよい。   The video see-through HMD 30 incorporates imaging devices (100, 101) corresponding to the left eye and the right eye, respectively. The imaging device 100 images the observation target object 10. An image captured by the imaging apparatus 100 is input to the information processing apparatus 1. The information processing apparatus 1 calculates the position and orientation of the imaging device (100, 101) based on the image captured by the imaging device (100, 101) and the three-dimensional model data of the observation target object 10. Note that camera-specific parameters such as the focal length of the imaging device (100, 101) may be obtained in advance by a known camera calibration method (for example, Non-Patent Document 7).

ビデオシースルー型HMD30は、情報処理装置1が算出した撮像装置(100、101)の位置及び姿勢に基づいて仮想物体20の画像を描画し、それを撮像装置(100、101)夫々によって撮像された現実空間の画像に重畳する。これにより、合成した画像がHMD30の表示デバイス(不図示)上に表示される。   The video see-through HMD 30 draws an image of the virtual object 20 based on the position and orientation of the imaging device (100, 101) calculated by the information processing device 1, and the image is captured by each of the imaging devices (100, 101). Superimpose on real space image. Thereby, the synthesized image is displayed on the display device (not shown) of the HMD 30.

以上が、ビデオシースルー型のHMD30の概要の一例についての説明である。なお、上記説明した、情報処理装置1には、コンピュータが組み込まれている。コンピュータには、CPU等の主制御手段、ROM(Read Only Memory)、RAM(Random Access Memory)、HDD(Hard Disk Drive)等の記憶手段が具備される。また、コンピュータにはその他、ボタンやディスプレイ又はタッチパネル等の入出力手段、ネットワークカード等の通信手段等も具備されていてもよい。なお、これら各構成部は、バス等により接続され、主制御手段が記憶手段に記憶されたプログラムを実行することで制御される。   The above is the description of an example of the outline of the video see-through type HMD 30. The information processing apparatus 1 described above incorporates a computer. The computer includes main control means such as a CPU, and storage means such as ROM (Read Only Memory), RAM (Random Access Memory), and HDD (Hard Disk Drive). In addition, the computer may further include input / output means such as buttons, a display, or a touch panel, and communication means such as a network card. These components are connected by a bus or the like, and are controlled by the main control unit executing a program stored in the storage unit.

また、図1では、情報処理装置1がビデオシースルー型のHMD30に組み込まれているが、ビデオシースルー型のHMD30の装置外に、別個の装置として情報処理装置1が実現されていてもよい。   In FIG. 1, the information processing apparatus 1 is incorporated in the video see-through HMD 30, but the information processing apparatus 1 may be realized as a separate apparatus outside the video see-through HMD 30.

また、本実施形態においては、説明を簡単にするために、撮像装置101により撮像された画像を利用して3次元モデルデータの検証を行なう場合を例に挙げて説明する。勿論、撮像装置100及び撮像装置101の両方により撮像された画像を用いてこの処理を行なうようにしても構わない。   Further, in the present embodiment, in order to simplify the description, a case where verification of 3D model data is performed using an image captured by the imaging apparatus 101 will be described as an example. Of course, this processing may be performed using images captured by both the imaging device 100 and the imaging device 101.

図2は、図1に示す情報処理装置1の構成の一例を示す図である。   FIG. 2 is a diagram illustrating an example of the configuration of the information processing apparatus 1 illustrated in FIG.

情報処理装置1は、画像取得部110と、画像特徴検出部120と、モデルデータ記憶部130と、位置姿勢算出部140と、モデルデータ検証部150とを具備して構成される。   The information processing apparatus 1 includes an image acquisition unit 110, an image feature detection unit 120, a model data storage unit 130, a position / orientation calculation unit 140, and a model data verification unit 150.

画像取得部110は、撮像装置100によって撮像された画像を情報処理装置1に入力する。画像取得部110は、撮像装置100の出力がNTSCなどのアナログ出力であれば、例えば、アナログビデオキャプチャボードによって実現される。また、撮像装置の出力がIEEE1394などのデジタル出力であれば、例えば、IEEE1394インタフェースボードによって実現される。なお、画像取得部110による画像の取得は、記憶装置に予め記憶された静止画像や動画像のデジタルデータを読み出すことで行なわれてもよい。   The image acquisition unit 110 inputs an image captured by the imaging apparatus 100 to the information processing apparatus 1. If the output of the imaging device 100 is an analog output such as NTSC, the image acquisition unit 110 is realized by an analog video capture board, for example. Further, if the output of the imaging apparatus is a digital output such as IEEE 1394, it is realized by, for example, an IEEE 1394 interface board. Note that the image acquisition by the image acquisition unit 110 may be performed by reading digital data of a still image or a moving image stored in advance in the storage device.

画像特徴検出部120は、3次元空間中の線分を表す画像特徴を、画像取得部110により入力された画像から検出する。3次元空間中の線分を表す画像特徴とは、例えば、濃度勾配の極値を取る点、すなわち、エッジである。画像特徴検出部120は、後述するモデルデータ記憶部130に格納されている3次元情報で構成されるモデルデータや、撮像装置100の位置及び姿勢の予測値に基づいてエッジ検出を行なう。   The image feature detection unit 120 detects an image feature representing a line segment in the three-dimensional space from the image input by the image acquisition unit 110. The image feature representing a line segment in the three-dimensional space is, for example, a point taking an extreme value of a density gradient, that is, an edge. The image feature detection unit 120 performs edge detection based on model data composed of three-dimensional information stored in a model data storage unit 130 described later, and predicted values of the position and orientation of the imaging device 100.

モデルデータ記憶部130は、位置合わせの基準物体となる観察対象物体10の3次元モデルデータ(以下、3次元モデルと略す場合もある)を記憶する。ここで、図3を用いて、本実施形態に係わる3次元モデルの定義方法の一例について説明する。3次元モデルは、点の集合や各点を結んで構成される面の情報、面を構成する線分の情報によって定義される。図3(a)左図に示すように、本実施形態に係わる3次元モデルは、点P1〜点P8の8点から構成される直方体である。ここで、直方体の座標系のX軸は、点P1から点P4に向かう方向に取り、直方体の座標系のY軸は、点P5から点P1に向かう方向に取り、直方体の座標系のZ軸は、点P1から点P2に向かう方向に取り、更に、原点をP5に取る。   The model data storage unit 130 stores three-dimensional model data (hereinafter, may be abbreviated as a three-dimensional model) of the observation target object 10 serving as a reference object for alignment. Here, an example of a method for defining a three-dimensional model according to the present embodiment will be described with reference to FIG. A three-dimensional model is defined by a set of points, information on a surface formed by connecting each point, and information on a line segment constituting the surface. As shown to the left figure of Fig.3 (a), the three-dimensional model concerning this embodiment is a rectangular parallelepiped comprised from 8 points | pieces of the points P1-P8. Here, the X axis of the rectangular parallelepiped coordinate system is taken in the direction from the point P1 to the point P4, the Y axis of the rectangular parallelepiped coordinate system is taken in the direction from the point P5 to the point P1, and the Z axis of the rectangular parallelepiped coordinate system. Take in the direction from the point P1 to the point P2, and further take the origin at P5.

図3(a)中央の図及び右図に示すように、直方体は面F1〜F6により構成されている。同様に、直方体は線分L1〜L12により構成されている。更に、本実施形態に係わる3次元モデルは、面F1上に線分L13、面F2上に線分L14を有している。線分L13は、点P9と点P10とを結び、線分L14は、点P10と点P11とを結ぶ。   As shown in the middle figure and the right figure of Fig.3 (a), the rectangular parallelepiped is comprised by the surfaces F1-F6. Similarly, the rectangular parallelepiped is composed of line segments L1 to L12. Furthermore, the three-dimensional model according to the present embodiment has a line segment L13 on the surface F1 and a line segment L14 on the surface F2. The line segment L13 connects the point P9 and the point P10, and the line segment L14 connects the point P10 and the point P11.

図3(b)に示すように、点P1〜点P11は、3次元座標値によって表される。また、図3(c)に示すように、面F1〜F6は、面を構成する点のID(識別子)と、各点を接続する順番とによって表される。また、図3(d)に示すように、各線分L1〜L14に対応して、位置姿勢算出に利用できる情報であるか否かを示す利用可否フラグF(TRUEであれば利用可)が設けられる。 As shown in FIG. 3B, the points P1 to P11 are represented by three-dimensional coordinate values. Moreover, as shown in FIG.3 (c), surface F1-F6 is represented by ID (identifier) of the point which comprises a surface, and the order which connects each point. Further, as shown in FIG. 3D, corresponding to each of the line segments L <b> 1 to L <b> 14, an availability flag F u indicating whether the information can be used for position / orientation calculation (available if TRUE). Provided.

また、モデルデータ記憶部130には、モデルデータ検証用データが記憶される。モデルデータ検証用データは、フレームデータDと蓄積データDとを含んで構成される。モデルデータ検証用データに含まれるD、Dは、モデルデータを構成する線分各々に対応して記憶される。フレームデータDは、1フレーム分の検証用データを記憶し、「検出されるべきエッジ数NE1」と「実際に検出されたエッジ数ND1」とから構成される。また、蓄積データDは、「蓄積データ数N」と、「検出されるべき総エッジ数NES」と、「実際に検出された総エッジ数NDS」とから構成される。 The model data storage unit 130 stores model data verification data. Model data verification data is configured to include the accumulated data D S and frame data D 1. Model D 1, D S of data included in the verification data is stored in correspondence with the line segments each constituting the model data. The frame data D 1 stores verification data for one frame and is composed of “the number of edges N E1 to be detected” and “the number of edges actually detected N D1 ”. The accumulated data D S is composed of “accumulated data number N S ”, “total number of edges N ES to be detected”, and “total number of detected edges N DS ”.

位置姿勢算出部140は、観察対象物体10を基準とした座標系(以下、基準座標系と呼ぶ)における撮像装置100の位置及び姿勢を算出する。なお、撮像装置100の位置及び姿勢は、画像特徴検出部120において検出された撮像画像内におけるエッジと、モデルデータ記憶部130に記憶された3次元モデルデータとに基づいて算出される。   The position / orientation calculation unit 140 calculates the position and orientation of the imaging device 100 in a coordinate system (hereinafter referred to as a reference coordinate system) with the observation target object 10 as a reference. Note that the position and orientation of the imaging apparatus 100 are calculated based on the edges in the captured image detected by the image feature detection unit 120 and the three-dimensional model data stored in the model data storage unit 130.

モデルデータ検証部150は、3次元モデルデータを構成する各線分を位置姿勢算出に利用するか否かの検証を行なう。この検証は、画像特徴検出部120によるエッジ検出結果から得られる統計データに基づいて行なわれる。   The model data verification unit 150 verifies whether or not each line segment constituting the three-dimensional model data is used for position and orientation calculation. This verification is performed based on statistical data obtained from the edge detection result by the image feature detection unit 120.

また、情報処理装置1は、モデルデータ検証フラグFMDを持つ。モデルデータ検証フラグFMDは、モデルデータの検証を行なうか否かを示すフラグである。フラグFMD=TRUEの場合は、モデルデータを検証し、フラグFMD=FALSEの場合は検証を行なわない。初期状態では、フラグFMDは、FALSEにセットされる。 Further, the information processing apparatus 1 has a model data verification flag FMD . The model data verification flag FMD is a flag indicating whether or not to verify model data. When the flag F MD = TRUE, the model data is verified, and when the flag F MD = FALSE, the verification is not performed. In the initial state, the flag F MD is set to FALSE.

フラグFMDの切り替えは、例えば、利用者がキーボードやマウスなどの入力手段(不図示)を使って行なう。フラグFMDがTRUEにセットされると、モデルデータ記憶部130に格納されている蓄積データDが0にリセットされる。また、蓄積データに対して、何フレーム分のデータを蓄積するかのフレーム数Nmaxを予め設定しておく。すなわち、利用者は、フラグFMDをTRUEにした後、何フレーム分のデータを蓄積し、モデルデータの検証に利用するかを予め決めておく。蓄積データ数NがNmaxと等しくなるとモデルデータの検証が行なわれる。モデルデータの検証が終わると、フラグFMDはFALSEにセットされ、蓄積データDが全て0にリセットされる。 The flag FMD is switched by the user using an input means (not shown) such as a keyboard or a mouse, for example. When the flag F MD is set to TRUE, the accumulated data D S stored in the model data storage unit 130 is reset to 0. In addition, the number of frames N max for how many frames of data are stored is set in advance for the stored data. That is, after setting the flag FMD to TRUE, the user determines in advance how many frames of data are to be accumulated and used for verification of the model data. Validation of the model data is the accumulated number of data N S is equal to N max. If the verification of the model data is completed, the flag F MD is set to FALSE, the accumulated data D S is reset to all zeros.

次に、図4を用いて、図1に示す情報処理装置1における処理の流れの一例について説明する。   Next, an example of the flow of processing in the information processing apparatus 1 shown in FIG. 1 will be described with reference to FIG.

(ステップS1010)
ステップS1010では、情報処理装置1は、初期化処理を行なう。初期化処理では、基準座標系における撮像装置100の位置及び姿勢を予測した予測値の設定、モデルデータ検証フラグ、利用可否フラグ、蓄積データのリセットを行なう。
(Step S1010)
In step S1010, the information processing apparatus 1 performs an initialization process. In the initialization process, a prediction value that predicts the position and orientation of the imaging apparatus 100 in the reference coordinate system is set, a model data verification flag, an availability flag, and accumulated data are reset.

ここで、初期化処理について詳述する。まず、撮像装置100の位置及び姿勢の予測値の設定について説明する。本実施形態においては、概略の撮像装置の位置及び姿勢を、線分の情報を使って逐次更新していく方法で位置姿勢計測を行なう。そのため、位置姿勢計測を開始する前に予め概略の撮像装置の位置及び姿勢を与えておく必要がある。そこで、例えば、予め決まった位置及び姿勢を設定しておき、撮像装置100をその位置及び姿勢になるように移動する。又は、非特許文献1に示すように、画像内で検出するだけで認識可能な人工的な指標を配置し、当該人工的な指標の各頂点の座標と各頂点の基準座標系における3次元位置との対応から撮像装置の位置及び姿勢を求めて概略の撮像装置の位置及び姿勢としてもよい。更に、磁気式や光学式、超音波式などの6自由度位置姿勢センサを撮像装置に設け、センサから得られる位置及び姿勢を概略の撮像装置の位置及び姿勢としてもよい。人工的な指標と前述の6自由度位置姿勢センサや3自由度の姿勢センサ、3自由度の位置センサを併用して計測される撮像装置の位置及び姿勢を概略の撮像装置の位置及び姿勢としてもよい。   Here, the initialization process will be described in detail. First, setting of predicted values of the position and orientation of the imaging apparatus 100 will be described. In the present embodiment, position and orientation measurement is performed by a method in which the approximate position and orientation of the imaging apparatus are sequentially updated using line segment information. Therefore, it is necessary to give an approximate position and orientation of the imaging device in advance before starting position and orientation measurement. Therefore, for example, a predetermined position and orientation are set, and the imaging apparatus 100 is moved to the position and orientation. Alternatively, as shown in Non-Patent Document 1, an artificial index that can be recognized only by detection in an image is arranged, and the coordinates of each vertex of the artificial index and the three-dimensional position of each vertex in the reference coordinate system The position and orientation of the imaging apparatus may be obtained from the correspondence with the above, and the approximate position and orientation of the imaging apparatus may be obtained. Furthermore, a six-degree-of-freedom position and orientation sensor such as a magnetic type, an optical type, and an ultrasonic type may be provided in the imaging apparatus, and the position and orientation obtained from the sensor may be used as the approximate position and orientation of the imaging apparatus. The position and orientation of the imaging device measured by using the artificial index and the 6-degree-of-freedom position / orientation sensor, the 3-degree-of-freedom orientation sensor, and the 3-degree-of-freedom position sensor described above as the approximate position and orientation of the imaging device. Also good.

また、ステップS1010では、モデルデータ検証フラグFMDをFALSEにセットする。そして、モデルデータ記憶部130に記憶されている各線分について、位置姿勢算出に利用できる情報であるか否かを示す利用可否フラグFをTRUEにセットする。更に、蓄積データDを全て0にリセットする。この初期化が終わったらステップS1020の処理に進む。 In step S1010, it sets the model data verification flag F MD to FALSE. Then, for each line segment are stored in the model data storage unit 130, is set to TRUE the usability flag F u indicating whether the information available to the position and orientation calculation. Furthermore, resetting the accumulated data D S to all zeros. When this initialization is completed, the process proceeds to step S1020.

(ステップS1015)
ステップS1015では、位置姿勢計測の終了判定を行なう。利用者により、マウスやキーボードなどの入力手段を介して終了の指示が入力された場合には、ステップS1015でYESとなり、この処理を終了する。それ以外の場合には、ステップS1015でNOとなり、ステップS1020の処理に進む。
(Step S1015)
In step S1015, it is determined whether or not the position / orientation measurement is finished. If the user inputs an end instruction via an input unit such as a mouse or a keyboard, the determination in step S1015 is YES, and this process ends. In other cases, NO is determined in the step S1015, and the process proceeds to the step S1020.

(ステップS1020)
ステップS1020では、情報処理装置1は、画像取得部110において、撮像装置100が撮像した画像を装置内(情報処理装置1内)に取り込む。
(Step S1020)
In step S1020, the information processing apparatus 1 causes the image acquisition unit 110 to capture an image captured by the imaging apparatus 100 into the apparatus (in the information processing apparatus 1).

(ステップS1030)
ステップS1030では、情報処理装置1は、画像特徴検出部120において、ステップS1020で入力された画像上でエッジの検出を行なう。この処理の開始に際しては、各線分ごとのフレームデータNE1、ND1を0にセットする。なお、エッジ検出処理の詳細については、後述する。
(Step S1030)
In step S1030, the information processing apparatus 1 causes the image feature detection unit 120 to detect an edge on the image input in step S1020. At the start of this process, frame data N E1 and N D1 for each line segment are set to zero. Details of the edge detection process will be described later.

(ステップS1040)
ステップS1040では、情報処理装置1は、位置姿勢算出部140において、撮像装置100の位置及び姿勢を算出する。上述した通り、この算出は、ステップS1040で検出された画像上のエッジと、モデルデータ記憶部130に記憶された3次元モデルデータとに基づいて行なわれる。なお、位置姿勢算出処理の詳細については、後述する。
(Step S1040)
In step S <b> 1040, the information processing apparatus 1 uses the position / orientation calculation unit 140 to calculate the position and orientation of the imaging apparatus 100. As described above, this calculation is performed based on the edge on the image detected in step S1040 and the three-dimensional model data stored in the model data storage unit 130. Details of the position / orientation calculation process will be described later.

(ステップS1050)
ステップS1050では、情報処理装置1は、モデルデータ検証部150において、検証モードであるか否かの判定を行なう。この判定は、モデルデータ検証フラグFMDの値に基づいて行なわれる。ここで、モデルデータの検証を行なう場合(FMD=TRUE)には、ステップS1060の処理に進み、検証を行なわない場合には、ステップS1015の処理に戻る。
(Step S1050)
In step S1050, the information processing apparatus 1 determines whether the model data verification unit 150 is in the verification mode. This determination is made based on the value of the model data verification flag FMD . If the model data is to be verified (F MD = TRUE), the process proceeds to step S1060. If not verified, the process returns to step S1015.

(ステップS1060)
ステップS1060では、情報処理装置1は、モデルデータ検証処理を開始する。この処理では、まず、モデルデータ記憶部130に格納されている3次元モデルデータを構成する各線分についての蓄積データNES及びNDSを更新する。具体的には、ステップS1030において更新された各線分についてのフレームデータNE1、ND1をそれぞれNES、NDSに加える。
(Step S1060)
In step S1060, the information processing apparatus 1 starts model data verification processing. In this process, first, the accumulated data N ES and N DS for each line segment constituting the three-dimensional model data stored in the model data storage unit 130 are updated. Specifically, the frame data N E1 and N D1 for each line segment updated in step S1030 are added to N ES and N DS , respectively.

(ステップS1070)
ステップS1070では、情報処理装置1は、蓄積データ数Nを1増やす(蓄積データカウント++)。
(Step S1070)
In step S1070, the information processing apparatus 1, increased by one stored data number N S (accumulated data count ++).

(ステップS1080)
ステップS1080では、情報処理装置1は、蓄積データ数Nが予め設定された蓄積データ数Nmaxと等しいか否かの判定を行なう。等しければ、ステップS1090の処理に進み、等しくなければ、ステップS1015の処理に戻り、ステップS1020の処理で次の画像、すなわち、次フレームの画像を取得する。
(Step S1080)
In step S1080, the information processing apparatus 1, it is determined whether or not the stored data number N S is equal to the accumulated number of data N max that is set in advance. If they are equal, the process proceeds to step S1090. If they are not equal, the process returns to step S1015, and the next image, that is, the image of the next frame is acquired in step S1020.

(ステップS1090)
ステップS1090では、情報処理装置1は、モデルデータ検証部150において、3次元モデルデータを構成する線分各々について位置姿勢算出に利用するか否かの検証を行なう。なお、この処理についての詳細は、後述するが、各線分ごとの蓄積データNES、NDSに基づいてモデルデータ記憶部130に格納されたモデルデータを検証する。この処理が終わると、ステップS1015の処理に戻る。
(Step S1090)
In step S1090, the information processing apparatus 1 verifies whether or not each line segment constituting the three-dimensional model data is used for position and orientation calculation in the model data verification unit 150. Although details of this processing will be described later, the model data stored in the model data storage unit 130 is verified based on the accumulated data N ES and N DS for each line segment. When this process ends, the process returns to step S1015.

次に、図5を用いて、図4のステップS1030におけるエッジ検出処理の流れの一例について説明する。   Next, an example of the flow of edge detection processing in step S1030 in FIG. 4 will be described with reference to FIG.

(ステップS1110)
まず、情報処理装置1は、ステップS1110においてモデル投影を行なう。ここで、モデル投影とは、撮像装置100の位置及び姿勢の予測値に基づいて、観察対象物体の3次元モデルデータを画像上に投影することである。より具体的には、3次元モデルデータを構成する各線分を画像上に投影したときの、画像上での直線の方程式を求める。直線の方程式は、線分の両端を画像上に投影し、画像上での両端の座標を結んだ直線の方程式となる。撮像装置100の位置及び姿勢の予測値には、図4に示すステップS1010の初期化直後であれば、その初期化によって得られる撮像装置100の位置及び姿勢を用いる。初期化直後でなければ、前フレームで算出された撮像装置100の位置及び姿勢を用いる。モデル投影を行なうためには、撮像装置100の位置及び姿勢とともに、焦点距離や主点位置などのカメラの固有パラメータが既知である必要がある。前述したように、本実施形態においては、カメラの固有パラメータは、予め計測されて分かっているものとする。また、線分が位置姿勢算出に利用できるか否かの利用可否フラグFがFALSEの線分についてはモデル投影及びエッジ検出を行なわない。
(Step S1110)
First, the information processing apparatus 1 performs model projection in step S1110. Here, the model projection is to project the three-dimensional model data of the observation target object on the image based on the predicted position and orientation values of the imaging apparatus 100. More specifically, an equation of a straight line on the image when each line segment constituting the three-dimensional model data is projected on the image is obtained. The straight line equation is a straight line equation in which both ends of a line segment are projected on an image and the coordinates of both ends on the image are connected. As the predicted value of the position and orientation of the imaging apparatus 100, the position and orientation of the imaging apparatus 100 obtained by the initialization are used immediately after the initialization in step S1010 shown in FIG. If not immediately after initialization, the position and orientation of the imaging apparatus 100 calculated in the previous frame are used. In order to perform model projection, it is necessary to know camera specific parameters such as the focal length and principal point position as well as the position and orientation of the imaging apparatus 100. As described above, in this embodiment, it is assumed that the intrinsic parameters of the camera are measured and known in advance. Moreover, not performed model projection and edge detection whether the availability flag F u line segment of FALSE segment is available for the position and orientation calculation.

図6は、画像上への3次元モデルの投影の一例を示す図である。図6(a)は撮像された画像そのものであり、図6(b)は画像上に3次元モデルを投影した態様を示している。位置及び姿勢の予測値と実際の位置及び姿勢とが異なる場合には、図6(b)に示すように、実際に撮像される物体と太線で示される3次元モデルの投影像との間に相対的なずれが生じる。図6(b)において、破線で示される線分は、3次元モデルを構成する線分のうち、実際には隠れて見えない線分を表している。   FIG. 6 is a diagram illustrating an example of the projection of a three-dimensional model on an image. FIG. 6A shows a captured image itself, and FIG. 6B shows a mode in which a three-dimensional model is projected on the image. When the predicted position and orientation are different from the actual position and orientation, as shown in FIG. 6 (b), between the actually imaged object and the projected image of the three-dimensional model indicated by the bold line. A relative shift occurs. In FIG. 6B, a line segment indicated by a broken line represents a line segment that is actually hidden and invisible among the line segments constituting the three-dimensional model.

(ステップS1120、ステップS1130)
次に、情報処理装置1は、ステップS1120において、ステップS1110で算出された直線の方程式を利用して投影された線分が画像上で等間隔に分割されるような分割点を設定する。この分割点は、3次元モデルデータを構成する線分全てに設定される。
(Step S1120, Step S1130)
Next, in step S1120, the information processing apparatus 1 sets division points such that the line segments projected using the straight line equation calculated in step S1110 are divided at equal intervals on the image. This division point is set for all the line segments constituting the three-dimensional model data.

図7は、3次元モデルの画像上での分割点の一例を示す図である。ここで、分割点の総数をNとし、各分割点をDPj(j=1,2,...,N)とする。分割点の数Nは、画像上での分割点の間隔を変える事で制御できる。また、分割点の数が一定になるように、画像上での分割点間の間隔を逐次変更してもよい。   FIG. 7 is a diagram illustrating an example of division points on an image of a three-dimensional model. Here, the total number of division points is N, and each division point is DPj (j = 1, 2,..., N). The number N of division points can be controlled by changing the interval between the division points on the image. In addition, the interval between division points on the image may be sequentially changed so that the number of division points is constant.

以下、DPj(j=1,2,…,N)についてエッジ検出を順次行なう。まず、ステップS1130においてjを1にセットする。   Hereinafter, edge detection is sequentially performed for DPj (j = 1, 2,..., N). First, j is set to 1 in step S1130.

(ステップS1140)
次に、情報処理装置1は、ステップS1140において、分割点DPjが隠蔽されているか否かの判定を行なう。隠蔽とは、分割点DPjが3次元モデルの他の面に隠れている状態を指す。例えば、図7に破線で示される線分上の分割点DPjは、可視ではなく、隠蔽されていることになる。分割点DPjが可視か否かの判定は、例えば、非特許文献8に示されるように、グラフィクスハードウェアを利用して3次元モデルを描画した後、当該分割点を描画し、グラフィクスハードウェアにデプスバッファが更新されたか否かを確認することで行なえる。この結果、分割点DPjが隠蔽されている場合には、ステップS1160の処理に進み、そうでない場合には、該当する線分のフレームデータNE1の値に1を加えた後、ステップS1150の処理に進む。
(Step S1140)
Next, in step S1140, the information processing apparatus 1 determines whether or not the division point DPj is concealed. Concealment refers to a state in which the dividing point DPj is hidden on the other surface of the three-dimensional model. For example, the division point DPj on the line segment indicated by the broken line in FIG. 7 is not visible but is hidden. For example, as shown in Non-Patent Document 8, the determination of whether or not the division point DPj is visible is performed by drawing the three-dimensional model using graphics hardware, and then drawing the division point. This can be done by checking whether the depth buffer has been updated. As a result, if the division point DPj is concealed, the process proceeds to step S1160, otherwise, after adding 1 to the value of the corresponding line segment frame data N E1, the process of step S1150 Proceed to

(ステップS1150)
ステップS1150では、情報処理装置1は、分割点DPjに対応するエッジを検出する。図8は、本実施形態に係わるエッジ検出方法の概要の一例を示す図である。図8に示すように、各分割点において、投影された線分の法線方向に平行で且つ分割点を通過する線分(以下、探索ライン)上においてエッジを1次元探索する。エッジは、探索ライン上において濃度勾配が極値をとる位置に存在する。濃度勾配の極値の絶対値に閾値を設け、極値の絶対値の小さいエッジは検出されないようにする。本実施形態では、探索ライン上でエッジが複数存在する場合には、最も分割点に近いエッジを対応点とし、その画像座標と分割点の3次元座標とを保持する。なお、本実施形態では最も分割点に近いエッジを対応点としているが、これに限られず、探索ライン上で濃度勾配の極値の絶対値が最も大きいエッジを対応点としてもよい。ステップS1150でエッジが検出された場合には、該当する線分のフレームデータND1の値に1を加える。
(Step S1150)
In step S1150, the information processing apparatus 1 detects an edge corresponding to the dividing point DPj. FIG. 8 is a diagram showing an example of an outline of the edge detection method according to the present embodiment. As shown in FIG. 8, at each division point, an edge is one-dimensionally searched on a line segment (hereinafter referred to as a search line) parallel to the normal direction of the projected line segment and passing through the division point. The edge exists at a position where the density gradient takes an extreme value on the search line. A threshold is provided for the absolute value of the extreme value of the concentration gradient so that an edge having a small absolute value of the extreme value is not detected. In this embodiment, when there are a plurality of edges on the search line, the edge closest to the dividing point is set as the corresponding point, and the image coordinates and the three-dimensional coordinates of the dividing points are held. In the present embodiment, the edge closest to the dividing point is used as the corresponding point. However, the present invention is not limited to this, and the edge having the largest absolute value of the density gradient on the search line may be used as the corresponding point. If an edge is detected in step S 1150, 1 is added to the value of the corresponding segment of the frame data N D1.

(ステップS1160、ステップS1170)
ステップS1160では、情報処理装置1は、jを1増分し、ステップS1170に進む。全ての分割点DPjについて処理が終了した場合には、ステップS1170でYESとなり、エッジ検出処理を終了する。終了していない場合には、ステップS1170でNOとなり、ステップS1140の処理に戻る。
(Step S1160, Step S1170)
In step S1160, the information processing apparatus 1 increments j by 1, and proceeds to step S1170. If the process has been completed for all the division points DPj, the determination in step S1170 is YES, and the edge detection process is terminated. If not completed, NO is returned in step S1170, and the process returns to step S1140.

次に、図4のステップS1040における位置姿勢算出処理の一例について詳述する。 位置姿勢算出処理では、エッジ検出終了後、非線形最適化計算により、物体と撮像装置との間の位置及び姿勢(以下、sで表す)の予測値を反復演算により補正する。これにより、撮像装置の位置及び姿勢を算出する。   Next, an example of the position / orientation calculation process in step S1040 of FIG. 4 will be described in detail. In the position / orientation calculation process, after the end of edge detection, the predicted value of the position and orientation (hereinafter referred to as s) between the object and the imaging device is corrected by iterative calculation by nonlinear optimization calculation. Thereby, the position and orientation of the imaging apparatus are calculated.

ここで、上述した分割点DPjのうち、隠蔽されておらず、ステップS1030のエッジ検出処理において対応点が求まった分割点の総数がND1となる。図9は、エッジの情報を利用して撮像装置100の位置及び姿勢を算出する処理の概要の一例を示す図である。この場合、画像の水平方向、垂直方向をそれぞれx軸、y軸としている。 Here, among the above-described division points DPj, the total number of division points that are not concealed and whose corresponding points are obtained in the edge detection processing in step S1030 is N D1 . FIG. 9 is a diagram illustrating an example of an outline of processing for calculating the position and orientation of the imaging apparatus 100 using edge information. In this case, the horizontal and vertical directions of the image are the x-axis and the y-axis, respectively.

ある分割点の投影された画像座標を(u,v)、当該分割点が所属する線分Lの画像上での傾きをx軸に対する傾きθと表す。傾きθは、線分の両端の3次元座標をsに基づいて画像上に投影し、画像上での両端の座標を結んだ直線の傾きとして算出される。線分Lの画像上での法線ベクトルは(sinθ,−cosθ)となる。また、分割点の対応点の画像座標を(u’,v’)とする。 The projected image coordinates of a certain dividing point are represented by (u 0 , v 0 ), and the inclination of the line segment L to which the dividing point belongs on the image is represented as an inclination θ with respect to the x axis. The inclination θ is calculated as the inclination of a straight line obtained by projecting the three-dimensional coordinates at both ends of the line segment onto the image based on s and connecting the coordinates at both ends on the image. The normal vector on the image of the line segment L is (sin θ, −cos θ). Further, the image coordinates of the corresponding points of the dividing points are (u ′, v ′).

ここで、点(u,v)を通り、傾きがθである直線上の点(x,y)は、   Here, a point (x, y) on a straight line passing through the point (u, v) and having an inclination of θ is

Figure 0005693691
Figure 0005693691

と表せる(u、v、θは定数)。   (U, v, and θ are constants).

分割点が画像に投影される座標は、撮像装置100の位置及び姿勢により変化する。また、撮像装置100の位置及び姿勢の自由度は6自由度である。すなわち、sは6次元ベクトルであり、撮像装置100の位置を表す3つの要素と、姿勢を表す3つの要素からなる。姿勢を表す3つの要素は、例えば、オイラー角による表現や、方向が回転軸を表し大きさが回転角を表す3次元ベクトルなどによって表現される。分割点の画像座標(u,v)は、(u,v)の近傍で1次のテイラー展開によって「数3」のように近似できる。 The coordinates at which the division points are projected on the image vary depending on the position and orientation of the imaging apparatus 100. Further, the degree of freedom of the position and orientation of the imaging apparatus 100 is 6 degrees of freedom. That is, s is a six-dimensional vector, and includes three elements that represent the position of the imaging apparatus 100 and three elements that represent the posture. The three elements representing the posture are represented by, for example, an expression by Euler angles, a three-dimensional vector in which the direction represents the rotation axis, and the magnitude represents the rotation angle. The image coordinates (u, v) of the dividing point can be approximated as “Equation 3” by first-order Taylor expansion in the vicinity of (u 0 , v 0 ).

Figure 0005693691
Figure 0005693691

「数2」による近似式を数1に代入することにより、「数3」が得られる。 By substituting the approximate expression by “Equation 2” into Equation 1, “Equation 3” is obtained.

Figure 0005693691
Figure 0005693691

ここで、「数3」に示す直線が分割点の対応点の画像座標(u’,v’)を通過するように、撮像装置100の位置及び姿勢sの補正値Δsを算出する。   Here, the correction value Δs of the position and orientation s of the imaging apparatus 100 is calculated so that the straight line represented by “Equation 3” passes through the image coordinates (u ′, v ′) of the corresponding point of the dividing point.

Figure 0005693691
Figure 0005693691

が得られる。「数4」はND1個の分割点について成り立つため、「数5」のようなΔsに対する線形連立方程式が成り立つ。 Is obtained. Since “Equation 4” is established for N D1 division points, a linear simultaneous equation for Δs as in “Equation 5” is established.

Figure 0005693691
Figure 0005693691

ここで、「数5」を「数6」のように簡潔に表す。   Here, “Equation 5” is simply expressed as “Equation 6”.

Figure 0005693691
Figure 0005693691

「数6」をもとにGauss−Newton法などによって、行列Jの一般化逆行列(J・J)−1・Jを用いてΔsが求められる。しかし、エッジの検出には誤検出が多いので、次に述べるようなロバスト推定手法を用いる。一般に、誤検出されたエッジに対応する分割点では誤差d−rが大きくなる。そのため、「数5」、「数6」の連立方程式に対する寄与度が大きくなり、その結果得られるΔsの精度が低下してしまう。そこで、誤差d−rが大きい分割点のデータには小さな重みを与え、誤差d−rが小さい分割点のデータには大きな重みを与える。重みは、例えば、「数7」に示すようなTukeyの関数により与える。 Based on “Equation 6”, Δs is obtained using the generalized inverse matrix (J T · J) −1 · J T of the matrix J by the Gauss-Newton method or the like. However, since there are many false detections in edge detection, the following robust estimation method is used. Generally, the error dr becomes large at the division point corresponding to the erroneously detected edge. For this reason, the degree of contribution to the simultaneous equations of “Equation 5” and “Equation 6” increases, and the accuracy of Δs obtained as a result decreases. Therefore, a small weight is given to data at a dividing point having a large error dr, and a large weight is given to data at a dividing point having a small error dr. The weight is given by a Tukey function as shown in “Expression 7”, for example.

Figure 0005693691
Figure 0005693691

cは定数である。なお、重みを与える関数は、Tukeyの関数である必要はなく、例えば、「数8」で示されるようなHuberの関数などであってもよい。すなわち、誤差d−rが大きい分割点には小さな重みを与え、誤差d−rが小さい分割点には大きな重みを与える関数であれば特に問わない   c is a constant. It should be noted that the function that gives the weight does not have to be a Tukey function, and may be a Huber function as represented by “Equation 8”, for example. That is, any function can be used as long as it is a function that gives a small weight to a dividing point having a large error dr, and gives a large weight to a dividing point having a small error dr.

Figure 0005693691
Figure 0005693691

分割点DPiに対応する重みをwiとする。ここで「数9」のように重み行列Wを定義する   The weight corresponding to the dividing point DPi is set to wi. Here, the weight matrix W is defined as in “Equation 9”.

Figure 0005693691
Figure 0005693691

重み行列Wは、対角成分以外は全て0のN×N正方行列であり、対角成分には重みwが入る。この重み行列Wを用いて、「数6」を「数10」のように変形する。 Weight matrix W is all but diagonal elements are N c × N c square matrix 0, the weights w i enters the diagonal components. Using this weight matrix W, “Formula 6” is transformed into “Formula 10”.

Figure 0005693691
Figure 0005693691

「数11」のように「数10」を解くことにより補正値Δsを求める。   The correction value Δs is obtained by solving “Equation 10” as in “Equation 11”.

Figure 0005693691
Figure 0005693691

これにより得られたΔsを用いて、撮像装置100の位置及び姿勢を更新する。次に、撮像装置100の位置及び姿勢の反復演算が収束しているか否かを判定する。補正値Δsが十分に小さい、誤差d−rの総和が十分小さい、誤差d−rの総和が変化しないといった場合には、撮像装置100の位置及び姿勢の計算が収束したと判定する。収束していないと判定した場合には、更新された撮像装置100の位置及び姿勢を用い、N個の点について再度線分の傾きθ、r、d及びu、vの偏微分を計算し直し、「数11」より再度補正値Δsを求め直す。なお、ここでは、非線形最適化手法としてGauss−Newton法を用いた。しかし、非線形最適化手法はこれに限るものではなく、Newton−Raphson法、Levenberg−Marquardt法、最急降下法、共役勾配法など、その他の非線形最適化手法を用いてもよい。以上が、ステップS1040における撮像装置の位置姿勢算出方法についての説明である。 The position and orientation of the imaging device 100 are updated using Δs obtained in this way. Next, it is determined whether or not the iterative calculation of the position and orientation of the imaging apparatus 100 has converged. When the correction value Δs is sufficiently small, the sum of the errors dr is sufficiently small, or the sum of the errors dr does not change, it is determined that the calculation of the position and orientation of the imaging apparatus 100 has converged. If it is determined that it has not converged, the partial differential of the slopes θ, r, d and u, v of the line segment is calculated again for N c points using the updated position and orientation of the imaging device 100. Then, the correction value Δs is obtained again from “Equation 11”. Here, the Gauss-Newton method is used as the nonlinear optimization method. However, the nonlinear optimization method is not limited to this, and other nonlinear optimization methods such as a Newton-Raphson method, a Levenberg-Marquardt method, a steepest descent method, and a conjugate gradient method may be used. The above is the description of the position / orientation calculation method of the imaging apparatus in step S1040.

次に、図10を用いて、図4のステップS1090におけるモデルデータ検証処理の流れの一例について説明する。   Next, an example of the model data verification process in step S1090 of FIG. 4 will be described with reference to FIG.

(ステップS1210)
ステップS1210では、情報処理装置1は、「検出されるべき総エッジ数NES」と、「実際に検出された総エッジ数NDS」とに基づいてモデルデータの検証を行なう。具体的には、NESに対するNDSの割合REDを算出する。
(Step S1210)
In step S1210, the information processing apparatus 1 verifies the model data based on “total number of edges N ES to be detected” and “total number of edges N DS actually detected”. Specifically, to calculate the ratio R ED of N DS for N ES.

(ステップS1220、ステップS1230)
ステップS1220では、情報処理装置1は、ステップS1210で算出された割合REDと、閾値TEDとを比較する。比較の結果、REDが閾値TEDを越えていれば、ステップS1230でNOとなり、この処理は終了する。一方、REDが閾値TED未満となれば、ステップS1230でYESとなり、ステップS1240の処理に進む。
(Step S1220, Step S1230)
In step S1220, the information processing apparatus 1 compares the percentage R ED calculated in step S1210, the threshold T ED. As a result of the comparison, if R ED exceeds the threshold value T ED , NO is determined in step S1230, and this process ends. On the other hand, if R ED is less than threshold value T ED , YES is determined in step S1230, and the process proceeds to step S1240.

(ステップS1240)
ステップS1240では、情報処理装置1は、線分の検出率が低いとして、該当する線分の利用可否フラグFをFALSEに設定する。これにより、以後、位置姿勢算出処理にその線分を用いないようにする。例えば、図3に示すモデルデータにおいて、照明条件などによってL14に対応するエッジが検出されない場合には、L14のフラグFがFALSEに設定され、位置姿勢算出処理に利用されないようになる。
(Step S1240)
In step S1240, the information processing apparatus 1, and the line segment of the detection rate is low, sets the usability flag F u of the corresponding line segment to FALSE. As a result, the line segment is not used in the position / orientation calculation process thereafter. For example, in the model data shown in FIG. 3, if the edge corresponding to L14 by lighting condition is not detected, the flag F u of L14 is set to FALSE, so not used for position and orientation calculation process.

(ステップS1250)
ステップS1250では、情報処理装置1は、モデルデータ検証フラグFMDをFALSEにセットし、蓄積データDを全て0にリセットし、この処理を終了する。
(Step S1250)
In step S1250, the information processing apparatus 1 sets the model data verification flag F MD to FALSE, the resets the accumulated data D S to all 0, the processing ends.

以上説明したように実施形態1によれば、各線分について、「検出されるべきエッジ数」に対する「実際に検出されたエッジ数」の割合を算出し、その割合に基づいて該当のエッジが属する線分を位置姿勢算出に使用するか否かの判定を行なう。これにより、実際は検出されない線分が位置姿勢算出に利用されることを防止できる。これにより、3次元モデルの計測を簡便化し、位置合わせの精度や安定性の低下を抑制できる。   As described above, according to the first embodiment, for each line segment, the ratio of “the number of edges actually detected” to “the number of edges to be detected” is calculated, and the corresponding edge belongs based on the ratio. It is determined whether or not the line segment is used for position and orientation calculation. Thereby, it is possible to prevent a line segment that is not actually detected from being used for position and orientation calculation. Thereby, the measurement of a three-dimensional model can be simplified, and the fall of the precision and stability of alignment can be suppressed.

なお、上述した説明では、エッジ(対応点)を検出できなかった分割点の割合に基づいて該当の線分を位置姿勢算出に使用するか否かの判定を行なっていたが、エッジを検出できなかった分割点の割合以外の情報に基づいて判定を行なうようにしてもよい。例えば、複数の画像から同一の線分を検出するようにし、その線分を検出できなかった割合に基づいてその線分を位置姿勢算出に使用するか否かの判定を行なうようにしてもよい。   In the above description, it is determined whether or not the corresponding line segment is used for position / orientation calculation based on the ratio of the division points where the edge (corresponding point) cannot be detected. However, the edge can be detected. The determination may be made based on information other than the ratio of the division points that have not been present. For example, the same line segment may be detected from a plurality of images, and it may be determined whether or not to use the line segment for position and orientation calculation based on the ratio of the line segment not being detected. .

(実施形態2)
上述した実施形態1では、「検出されるべきエッジ数」に対する「実際に検出されたエッジ数」の割合を算出し、その割合に基づいて各線分を位置姿勢算出に使用するか否かの判定を行なっていた。これに対して、実施形態2では、位置姿勢算出を行なう際の誤差に基づいて、各線分を位置姿勢算出に使用するか否かの判定を行なう場合について説明する。なお、実施形態2における構成は、実施形態1を説明した図1及び図2と同様となるため、その説明については省略し、ここでは相違点について重点的に説明する。
(Embodiment 2)
In the first embodiment described above, the ratio of the “number of edges actually detected” to the “number of edges to be detected” is calculated, and whether or not each line segment is used for position and orientation calculation based on the ratio. I was doing. On the other hand, in the second embodiment, a case will be described in which it is determined whether or not each line segment is used for position and orientation calculation based on an error in performing position and orientation calculation. The configuration in the second embodiment is the same as that in FIG. 1 and FIG. 2 in which the first embodiment is described. Therefore, the description thereof will be omitted, and differences will be mainly described here.

まず、実施形態2に係わるモデルデータ検証用データについて説明する。ここでは、実施形態1と同様に、モデルデータ記憶部130には、モデルデータ検証用データが記憶され、モデルデータ検証用データは、フレームデータDと蓄積データDとを含んで構成される。また、モデルデータ検証用データに含まれるD、Dは、モデルデータを構成する線分各々に対応して記憶される。 First, model data verification data according to the second embodiment will be described. Constituted Here, as in Embodiment 1, the model data storage unit 130, model data verification data is stored, the model data verification data, and a storage data D S and frame data D 1 . Also, D 1, D S included in the model data verification data is stored in correspondence with the line segments each constituting the model data.

フレームデータDは、1フレーム分の検証用データを記憶し、「検出されるべきエッジ数NE1」と「位置姿勢算出において実効的な情報として利用されたエッジ数NC1」とから構成される。また、蓄積データDは、「蓄積データ数N」と、「検出されるべき総エッジ数NES」と、「位置姿勢算出において実効的な情報として利用されたエッジ数NCS」とから構成される。NESは、Nmaxフレーム分のNE1の総和であり、NCSはNmaxフレーム分のNC1の総和である。すなわち、実施形態2は、蓄積データとして、「実際に検出されたエッジ数」ではなく、「位置姿勢算出において実効的な情報として利用されたエッジ数」を保持するという点で実施形態1と異なる。 The frame data D 1 stores verification data for one frame, and is composed of “number of edges N E1 to be detected” and “number of edges N C1 used as effective information in position and orientation calculation”. The Further, the accumulated data D S is obtained from “accumulated data number N S ”, “total number of edges N ES to be detected”, and “number of edges N CS used as effective information in position and orientation calculation”. Composed. N ES is the total sum of N E1 for N max frames, and N CS is the total sum of N C1 for N max frames. That is, the second embodiment differs from the first embodiment in that the accumulated data stores not the “number of edges actually detected” but “the number of edges used as effective information in position and orientation calculation”. .

図11を用いて、実施形態2に係わる情報処理装置1における処理の流れの一例について説明する。   An example of a processing flow in the information processing apparatus 1 according to the second embodiment will be described with reference to FIG.

(ステップS2010)
ステップS2010では、情報処理装置1は、初期化処理を行なう。初期化処理では、基準座標系における撮像装置100の位置及び姿勢の予測値の設定、モデルデータ検証フラグ、利用可否フラグ、蓄積データのリセットを行なう。なお、撮像装置100の位置及び姿勢の予測値の設定やモデルデータ検証フラグ、利用可否フラグのリセットについては、ステップS1010と同一の処理となるためその説明は省略する。実施形態2においては、「蓄積データ数N」、「検出されるべき総エッジ数NES」、「位置姿勢算出において実効的な情報として利用されたエッジ数NCS」を全て0にし、蓄積データDをリセットする。
(Step S2010)
In step S2010, the information processing apparatus 1 performs an initialization process. In the initialization process, setting of predicted values of the position and orientation of the imaging apparatus 100 in the reference coordinate system, model data verification flag, availability flag, and accumulated data are reset. It should be noted that the setting of the predicted value of the position and orientation of the imaging apparatus 100 and the resetting of the model data verification flag and the availability flag are the same as step S1010, and thus the description thereof is omitted. In the second embodiment, the “accumulated data number N S ”, the “total number of edges N ES to be detected”, and the “number of edges N CS used as effective information in position and orientation calculation” are all set to 0 and accumulated. to reset the data D S.

(ステップS2015)
ステップS2015では、位置姿勢計測の終了判定を行なう。利用者により、マウスやキーボードなどの入力手段を介して終了の指示が入力された場合には、ステップS2015でYESとなり、この処理を終了する。それ以外の場合には、ステップS2015でNOとなり、ステップS2020の処理に進む。
(Step S2015)
In step S2015, the position / orientation measurement end determination is performed. If the user inputs an end instruction via an input means such as a mouse or a keyboard, YES is returned in step S2015, and this process ends. In other cases, NO is determined in step S2015, and the process proceeds to step S2020.

(ステップS2020)
ステップS2020では、情報処理装置1は、画像取得部110において、撮像装置100が撮像した画像を装置内(情報処理装置1内)に取り込む。
(Step S2020)
In step S2020, the information processing apparatus 1 causes the image acquisition unit 110 to capture an image captured by the imaging apparatus 100 into the apparatus (in the information processing apparatus 1).

(ステップS2030)
ステップS2030では、情報処理装置1は、画像特徴検出部120において、ステップS2020で入力された画像上でエッジの検出を行なう。この処理の開始に際しては、各線分ごとのフレームデータNE1、NC1を0にセットする。なお、エッジ検出処理は、実施形態1の図5と同様の処理となるため、その詳細な説明については省略する。実施形態1との相違点としては、実施形態1では、フレームデータであるNE1、ND1を更新していたのに対し、ステップS2030ではNE1のみを更新する点である。
(Step S2030)
In step S2030, the information processing apparatus 1 causes the image feature detection unit 120 to detect an edge on the image input in step S2020. At the start of this process, the frame data N E1 and N C1 for each line segment are set to zero. The edge detection process is the same as that in FIG. 5 of the first embodiment, and a detailed description thereof is omitted. The difference from the first embodiment is that, in the first embodiment, N E1 and N D1 that are frame data are updated, but only N E1 is updated in step S2030.

(ステップS2040)
ステップS2040では、情報処理装置1は、位置姿勢算出部140において、撮像装置100の位置及び姿勢を算出する。なお、位置姿勢算出処理は、実施形態1と同様の処理となるため、その詳細な説明については省略する。実施形態1との相違点としては、ステップS2030では、ステップS1030で説明した位置姿勢算出処理が終了した後、その算出過程で得られる重み行列W(数9参照)に基づいてフレームデータNC1を更新する。重み行列Wは、各分割点に対応する重みによって定義されており、この重みは、誤差d−rの値が小さいほど大きい。そこで、重みが一定値未満のエッジは、誤検出又は誤対応であるとみなし、重みが一定値以上のエッジの情報が実効的に利用されたとして、該当する分割点が属する線分のフレームデータNC1の値に1を加える。
(Step S2040)
In step S2040, the information processing apparatus 1 uses the position / orientation calculation unit 140 to calculate the position and orientation of the imaging apparatus 100. The position / orientation calculation process is the same as that in the first embodiment, and a detailed description thereof will be omitted. As a difference from the first embodiment, in step S2030, after the position / orientation calculation process described in step S1030 is completed, the frame data N C1 is obtained based on the weight matrix W (see Equation 9) obtained in the calculation process. Update. The weight matrix W is defined by a weight corresponding to each division point, and the weight is larger as the value of the error dr is smaller. Therefore, it is considered that an edge having a weight less than a certain value is erroneously detected or mishandled, and information on an edge having a weight greater than a certain value is effectively used. Add 1 to the value of N C1.

(ステップS2050)
ステップS2050では、情報処理装置1は、モデルデータ検証部150において、検証モードであるか否かの判定を行なう。この判定は、モデルデータ検証フラグFMDの値に基づいて行なわれる。モデルデータの検証を行なう場合(FMD=TRUE)には、ステップS2060の処理に進み、検証を行なわない場合には、ステップS2015の処理に戻る。
(Step S2050)
In step S2050, the information processing apparatus 1 determines whether the model data verification unit 150 is in the verification mode. This determination is made based on the value of the model data verification flag FMD . When the model data is verified (F MD = TRUE), the process proceeds to step S2060. When the model data is not verified, the process returns to step S2015.

(ステップS2060)
ステップS2060では、情報処理装置1は、モデルデータ検証処理を開始する。この処理では、まず、モデルデータ記憶部130に格納されている3次元モデルデータを構成する各線分について、蓄積データNES及びNCSを更新する。すなわち、ステップS2030、ステップS2040の処理において更新された各線分についてのフレームデータNE1、NC1をそれぞれNES、NCSに加える。
(Step S2060)
In step S2060, the information processing apparatus 1 starts model data verification processing. In this process, first, the accumulated data N ES and N CS are updated for each line segment constituting the three-dimensional model data stored in the model data storage unit 130. That is, the frame data N E1 and N C1 for each line segment updated in the processes of steps S2030 and S2040 are added to N ES and N CS , respectively.

(ステップS2070)
ステップS2070では、情報処理装置1は、蓄積データ数Nを1増やす(蓄積データカウント++)。
(Step S2070)
In step S2070, the information processing apparatus 1, increased by one stored data number N S (accumulated data count ++).

(ステップS2080)
ステップS2080では、情報処理装置1は、蓄積データ数Nが予め設定された蓄積データ数Nmaxと等しいか否かの判定を行なう。等しければ、ステップS2090の処理に進み、等しくなければ、ステップS2015の処理に戻り、ステップS2020の処理で次の画像、すなわち、次フレームの画像を取得する。
(Step S2080)
In step S2080, the information processing apparatus 1, it is determined whether or not the stored data number N S is equal to the accumulated number of data N max that is set in advance. If they are equal, the process proceeds to step S2090. If they are not equal, the process returns to step S2015, and the next image, that is, the image of the next frame is acquired by the process of step S2020.

(ステップS2090)
ステップS2090では、情報処理装置1は、モデルデータ検証部150において、3次元モデルデータを構成する線分各々について位置姿勢算出に利用するか否かの検証を行なう。なお、この処理についての詳細は、後述するが、実施形態2においては、各線分ごとの蓄積データNES、NCSに基づいてモデルデータ記憶部130に格納されたモデルデータを検証する。この処理が終わると、ステップS2015の処理に戻る。
(Step S2090)
In step S2090, the information processing apparatus 1 verifies in the model data verification unit 150 whether or not each line segment constituting the three-dimensional model data is used for position and orientation calculation. Although details of this process will be described later, in the second embodiment, the model data stored in the model data storage unit 130 is verified based on the accumulated data N ES and N CS for each line segment. When this process ends, the process returns to step S2015.

次に、図12を用いて、図11のステップS2090におけるモデルデータ検証処理の流れの一例について説明する。   Next, an example of the model data verification process in step S2090 in FIG. 11 will be described with reference to FIG.

(ステップS2110)
ステップS2110では、情報処理装置1は、「検出されるべき総エッジ数NES」と、「位置姿勢算出において実効的な情報として利用されたエッジ数NCS」とに基づいてモデルデータの検証を行なう。具体的には、NESに対するNCSの割合RECを算出する。
(Step S2110)
In step S2110, the information processing apparatus 1 verifies the model data based on the “total number of edges N ES to be detected” and the “number of edges N CS used as effective information in position and orientation calculation”. Do. Specifically, to calculate the ratio R EC of N CS for N ES.

(ステップS2120、ステップS2130)
ステップS2120では、情報処理装置1は、ステップS2110で算出された割合RECと、閾値TECとを比較する。比較の結果、RECが閾値TECを越えていれば、ステップS2130でNOとなり、この処理は終了する。一方、RECが閾値TEC未満となれば、ステップS2130でYESとなり、ステップS2140の処理に進む。
(Step S2120, Step S2130)
In step S2120, the information processing apparatus 1 compares the percentage R EC calculated in step S2110, the threshold T EC. Result of the comparison, if exceeded R EC is the threshold T EC, is NO in step S2130, the process ends. On the other hand, if R EC is less than the threshold T EC, the process proceeds at step S2130 YES, and the processing of step S2140.

(ステップS2140)
ステップS2140では、情報処理装置1は、誤検出又は誤対応の可能性が高いとして、該当する線分の利用可否フラグFをFALSEに設定する。これにより、以後、位置姿勢算出処理にその線分を用いないようにする。
(Step S2140)
In step S2140, the information processing apparatus 1, and that there is a high possibility of false detection or false corresponding sets the usability flag F u of the corresponding line segment to FALSE. As a result, the line segment is not used in the position / orientation calculation process thereafter.

(ステップS2150)
ステップS2150では、情報処理装置1は、モデルデータ検証フラグFMDをFALSEにセットし、蓄積データDを全て0にリセットし、この処理を終了する。
(Step S2150)
In step S2150, the information processing apparatus 1 sets the model data verification flag F MD to FALSE, the resets the accumulated data D S to all 0, the processing ends.

以上説明したように実施形態2によれば、各線分について、位置姿勢算出を行なう際の誤差の大きさにより決定される重みの値に基づいて、各線分を位置姿勢算出に使用するか否かの判定を行なう。これにより、誤検出や誤対応の多い線分が位置姿勢算出に利用されることを防止できる。   As described above, according to the second embodiment, for each line segment, whether or not to use each line segment for position and orientation calculation based on the weight value determined by the magnitude of the error when performing position and orientation calculation. Judgment is made. As a result, it is possible to prevent a line segment with many erroneous detections and erroneous responses from being used for position and orientation calculation.

(実施形態3)
上述した実施形態1及び2では、本発明の一実施の形態に係わる情報処理装置1をARの位置合わせに適用した場合について説明した。これに対して、実施形態3においては、画像による線分データの計測に適用し、エッジを利用した位置合わせに適した線分データの計測を行なう場合を例に挙げて説明する。
(Embodiment 3)
In the first and second embodiments described above, the case where the information processing apparatus 1 according to the embodiment of the present invention is applied to the alignment of the AR has been described. On the other hand, in the third embodiment, a case will be described as an example where line segment data is applied to measurement of line segment data using an image and suitable for alignment using an edge.

図13は、実施形態3に係わる情報処理装置1の構成の一例を示す図である。   FIG. 13 is a diagram illustrating an example of the configuration of the information processing apparatus 1 according to the third embodiment.

情報処理装置3は、画像取得部310と、画像記憶部320と、モデルデータ算出部330と、モデルデータ記憶部340と、モデルデータ検証部350とを具備して構成される。情報処理装置3は、撮像装置300により撮像された現実空間又は現実物体の複数の画像に基づいて線分の3次元モデルを算出する。   The information processing apparatus 3 includes an image acquisition unit 310, an image storage unit 320, a model data calculation unit 330, a model data storage unit 340, and a model data verification unit 350. The information processing device 3 calculates a three-dimensional model of the line segment based on a plurality of images of the real space or real object imaged by the imaging device 300.

画像取得部310は、撮像装置300によって撮像された画像を情報処理装置3に入力する。画像取得部310は、実施形態1を説明した図2の画像取得部110と同等の機能を果たす。   The image acquisition unit 310 inputs an image captured by the imaging device 300 to the information processing device 3. The image acquisition unit 310 performs the same function as the image acquisition unit 110 of FIG. 2 described in the first embodiment.

画像記憶部320は、画像取得部310から入力される画像を記憶する。なお、画像記憶部320により画像の記憶は、利用者からの入力手段を介した指示に基づき行なわれる。   The image storage unit 320 stores the image input from the image acquisition unit 310. The image storage unit 320 stores the image based on an instruction from the user via the input unit.

モデルデータ算出部330は、画像記憶部320に格納されている複数の画像を用いて線分の3次元モデルを算出する。実施形態3においては、非特許文献5に開示されている方法を用いて線分の3次元モデルを算出する。   The model data calculation unit 330 calculates a three-dimensional model of the line segment using a plurality of images stored in the image storage unit 320. In the third embodiment, a three-dimensional model of a line segment is calculated using the method disclosed in Non-Patent Document 5.

モデルデータ記憶部340は、モデルデータ算出部330により算出された線分の3次元モデルを記憶する。   The model data storage unit 340 stores the three-dimensional model of the line segment calculated by the model data calculation unit 330.

モデルデータ検証部350は、画像取得部310から入力される画像に基づいて位置姿勢算出を行なうことにより、モデルデータ記憶部340に格納されている線分の3次元モデルを検証する。   The model data verification unit 350 verifies the three-dimensional model of the line segment stored in the model data storage unit 340 by performing position and orientation calculation based on the image input from the image acquisition unit 310.

次に、図14を用いて、実施形態3に係わる情報処理装置3における処理の流れの一例について説明する。   Next, an example of a processing flow in the information processing apparatus 3 according to the third embodiment will be described with reference to FIG.

(ステップS3010)
ステップS3010では、情報処理装置3は、画像記憶部320において、線分の3次元モデルの算出に必要となる画像を保存する。非特許文献5では、「線分の3次元モデルを復元するのに3枚の画像における6つの対応が必要である」と述べられているため、ステップS3010では最低3枚以上の画像を保存する。画像の保存は、例えば、利用者が撮像装置300を自由に移動させながら、キーボードやマウスなどの入力手段により画像保存命令を入力することにより行なう。画像保存命令が入力されると、命令を入力した時点において、画像取得部310から入力される画像が画像記憶部320に保存される。なお、ここでは画像の保存を利用者の入力によって行なっているが、画面の変化に基づいて、自動的に画像を保存するようにしてもよい。
(Step S3010)
In step S3010, the information processing apparatus 3 stores an image necessary for calculation of a three-dimensional model of the line segment in the image storage unit 320. Non-Patent Document 5 states that “six correspondences in three images are necessary to restore a three-dimensional model of a line segment”, and therefore at least three or more images are stored in step S3010. . The image is stored by, for example, inputting an image storage command by an input unit such as a keyboard or a mouse while the user freely moves the imaging apparatus 300. When the image storage command is input, the image input from the image acquisition unit 310 is stored in the image storage unit 320 at the time when the command is input. Here, the image is stored by the user's input, but the image may be automatically stored based on the change of the screen.

(ステップS3020)
ステップS3020では、情報処理装置3は、ステップS3010において保存された画像上からラインを検出する。ラインの検出は、利用者の指示に基づいて行なわれる。具体的には、利用者が画像上でラインの始点と終点を指定することにより手動で行なう。なお、ラインの検出法は、これに限られず、画像上のラインを検出できるのであればよい。例えば、非特許文献7に示す方法によりエッジ検出を実施した後、ハフ変換によって画像上のラインを検出してもよい。
(Step S3020)
In step S3020, the information processing apparatus 3 detects a line from the image stored in step S3010. The line is detected based on a user instruction. Specifically, it is performed manually by the user specifying the start and end points of the line on the image. Note that the line detection method is not limited to this, and any method can be used as long as it can detect a line on an image. For example, after performing edge detection by the method shown in Non-Patent Document 7, lines on the image may be detected by Hough transform.

(ステップS3030)
ステップS3030では、情報処理装置3は、ステップS3020において検出されたラインの画像間での対応付けを行なう。この対応付けは、利用者の指示に基づいて行なわれる。すなわち、利用者が手動で行なう。なお、ラインの対応付け方法は、これに限られず、例えば、ライン周辺の画素の情報を利用して、類似したラインを自動的に対応付けるようにしてもよい。
(Step S3030)
In step S3030, the information processing apparatus 3 performs association between the images of the lines detected in step S3020. This association is performed based on a user instruction. That is, it is performed manually by the user. Note that the line association method is not limited to this, and for example, similar lines may be automatically associated using information on pixels around the line.

(ステップS3040)
ステップS3040では、情報処理装置3は、モデルデータ算出部330において、ステップS3030で対応付けられたラインの情報に基づいて線分(ライン)の3次元モデルの算出を行なう。そして、算出した線分の3次元モデルと、画像上での端点の位置とから端点の3次元位置を算出し、図3に示す様式で線分の3次元モデルとしてモデルデータ記憶部340に格納する。なお、線分の3次元モデルとは、3次元空間における直線の方向ベクトルと通過位置とにより表されるものとする。線分の3次元モデルの算出は、例えば、非特許文献5に開示されている方法により行なう。線分の3次元モデルの算出方法は、これに限られず、画像間のラインの対応から算出する方法であればよい。
(Step S3040)
In step S3040, the information processing apparatus 3 causes the model data calculation unit 330 to calculate a three-dimensional model of line segments (lines) based on the line information associated in step S3030. Then, the three-dimensional position of the end point is calculated from the calculated three-dimensional model of the line segment and the position of the end point on the image, and stored in the model data storage unit 340 as a three-dimensional model of the line segment in the manner shown in FIG. To do. The three-dimensional model of the line segment is represented by a straight direction vector and a passing position in a three-dimensional space. The calculation of the three-dimensional model of the line segment is performed by a method disclosed in Non-Patent Document 5, for example. The method for calculating the three-dimensional model of the line segment is not limited to this, and any method may be used as long as it is calculated from the correspondence of lines between images.

ここで、非特許文献5における線分の3次元モデルの算出方法の概略について簡単に説明する。
(1).各画像を撮像したときの撮像装置の姿勢についてランダムに初期値を与える。
(2).画像上でのラインの方程式、3次元空間中でのラインの方向ベクトル、撮像装置の姿勢が満たす制約条件をもとに、ラインの方向ベクトルを算出する。
(3).画像上でのラインの方程式、ラインの通過位置、撮像装置の位置が満たす制約条件をもとに、ラインの通過位置及び撮像装置の位置を算出する。
(4).(1)、(2)、(3)で得られた未知パラメータを最適化する。
(5).(4)で得られた未知パラメータを精度評価し、精度が悪ければ(1)に戻る。精度がよければ終了する。
Here, the outline of the calculation method of the three-dimensional model of the line segment in Non-Patent Document 5 will be briefly described.
(1). An initial value is randomly given for the posture of the imaging apparatus when each image is captured.
(2). The line direction vector is calculated based on the equation of the line on the image, the direction vector of the line in the three-dimensional space, and the constraint conditions satisfied by the attitude of the imaging device.
(3). Based on the equation of the line on the image, the passage position of the line, and the constraint conditions satisfied by the position of the imaging device, the passage position of the line and the position of the imaging device are calculated.
(4). The unknown parameters obtained in (1), (2), and (3) are optimized.
(5). The accuracy of the unknown parameter obtained in (4) is evaluated. If the accuracy is poor, the procedure returns to (1). Finish if accuracy is good.

(ステップS3050)
ステップS3050では、情報処理装置3は、モデルデータ検証部350において、ステップS3040で算出された線分の3次元モデルの検証を行なう。具体的には、画像取得部310から入力される画像とモデルデータ記憶部340に格納された3次元モデルとに基づいて、実施形態1又は実施形態2で説明した方法でモデルデータを構成する各線分を評価する。そして、検出されるべき回数に対して実際の検出回数が少ない線分や、実効的な情報として使われる回数の少ない線分をモデルデータから削除する。これにより、モデルデータ記憶部340に格納された3次元モデルを更新する。
(Step S3050)
In step S3050, the information processing apparatus 3 uses the model data verification unit 350 to verify the three-dimensional model of the line segment calculated in step S3040. Specifically, based on the image input from the image acquisition unit 310 and the three-dimensional model stored in the model data storage unit 340, each line constituting the model data by the method described in the first embodiment or the second embodiment. Evaluate minutes. Then, a line segment with a small number of actual detections relative to the number of times to be detected or a line segment with a small number of times used as effective information is deleted from the model data. Thereby, the three-dimensional model stored in the model data storage unit 340 is updated.

(ステップS3060)
ステップS3060では、情報処理装置3は、ステップS3040の3次元モデル算出結果、ステップS3050のモデル検証結果を、例えば、表示するなどして利用者に提示する。これにより、利用者は、その3次元モデル算出結果やモデル検証結果を受け入れるか否かを判定する。利用者が結果を受け入れる場合には、その旨が情報処理装置3に入力され、ステップS3060でYESとなり、この処理は終了する。受け入れない場合には、その旨が情報処理装置3に入力され、ステップS3060でNOとなり、ステップS3010の処理に戻る。
(Step S3060)
In step S3060, the information processing apparatus 3 presents the three-dimensional model calculation result in step S3040 and the model verification result in step S3050 to the user, for example, by displaying them. Thereby, the user determines whether to accept the three-dimensional model calculation result or the model verification result. If the user accepts the result, the fact is input to the information processing apparatus 3, YES is obtained in step S3060, and this process ends. If not accepted, information to that effect is input to the information processing apparatus 3, NO is determined in step S3060, and the process returns to step S3010.

以上説明したように実施形態3によれば、画像を用いた線分データの計測結果の評価を行なう場合にも、エッジを用いた位置合わせに適したモデルデータを計測できる。   As described above, according to the third embodiment, model data suitable for alignment using an edge can be measured even when the measurement result of line segment data using an image is evaluated.

以上が本発明の代表的な実施形態の一例であるが、本発明は、上記及び図面に示す実施形態に限定することなく、その要旨を変更しない範囲内で適宜変形して実施できるものである。   The above is an example of a typical embodiment of the present invention, but the present invention is not limited to the embodiment described above and shown in the drawings, and can be appropriately modified and implemented without departing from the scope of the present invention. .

(変形実施形態1)
上述した説明では、実施形態1及び2を用いて、各線分を位置姿勢算出に使用するか否かの判定について2パターン説明した。これら2パターンの処理は、必ずしも別々に実施する必要はなく、2つの判定方法を併用して実施してもよい。すなわち、本発明は、少なくともいずれかの判定処理を用いて実施できる。
(Modified Embodiment 1)
In the above description, using the first and second embodiments, two patterns have been described for determining whether to use each line segment for position and orientation calculation. These two patterns of processing do not necessarily have to be performed separately, and may be performed in combination with two determination methods. That is, the present invention can be implemented using at least one of the determination processes.

例えば、フレームデータとして、各フレームにおける線分毎に、「検出されるべきエッジ数NE1」、「位置姿勢算出において実効的な情報として利用されたエッジ数NC1」、「実際に検出されたエッジ数ND1」の3つの情報を得る。そして、蓄積データとして、各線分ごとに、「検出されるべきエッジ数NES」、「位置姿勢算出において実効的な情報として利用されたエッジ数NCS」、「実際に検出されたエッジ数NDS」の3つを蓄積する。なお、NES、NCS、NDSは、Nmaxフレーム分のフレームデータNE1、NC1、NESの和である。この蓄積データNES、NCS、NDSに基づいて、線分を位置姿勢算出に使用するか否かの判定を行なう。例えば、NDSに対するNES、NCSの割合RED、RCDの両方を用いて判定を行なう。すなわち、RED、RCDに対して、それぞれ閾値TED、TCDを設け、RED、RCDがともに閾値TED、TCD未満である場合には、該当の線分は検出率が低く、且つその線分は誤検出又は誤対応の可能性が高いと判定する。そして、位置姿勢算出に利用するフラグFをFALSEに設定し、以降、その線分を位置姿勢算出に用いないようにする。また、RED、RCDがともに閾値TED、TCD未満でなく、いずれか一方が閾値未満である場合に、その線分を位置姿勢算出に用いないと判定するようにしてもよい。更に、NDSに対する(NES、+NCS)の割合を利用してもよい。 For example, as the frame data, “number of edges N E1 to be detected”, “number of edges N C1 used as effective information in position and orientation calculation”, “actually detected for each line segment in each frame Three pieces of information “edge number N D1 ” are obtained. As the accumulated data, for each line segment, “number of edges N ES to be detected”, “number of edges N CS used as effective information in position and orientation calculation”, “number of edges actually detected N Three of “ DS ” are accumulated. N ES , N CS , and N DS are sums of frame data N E1 , N C1 , and N ES for N max frames. Based on the accumulated data N ES , N CS , N DS , it is determined whether or not the line segment is used for position and orientation calculation. For example, the determination is performed using both N ES and N CS ratios R ED and R CD to N DS . That is, threshold values T ED and T CD are provided for R ED and R CD , respectively, and when both R ED and R CD are less than the threshold values T ED and T CD , the corresponding line segment has a low detection rate. In addition, it is determined that the line segment is highly likely to be erroneously detected or handled. Then, the flag Fu used for position / orientation calculation is set to FALSE, and thereafter, the line segment is not used for position / orientation calculation. Further, when both R ED and R CD are not less than the threshold values T ED and T CD and one of them is less than the threshold value, it may be determined that the line segment is not used for position and orientation calculation. Further, the ratio of (N ES , + N CS ) to N DS may be used.

(変形実施形態2)
上述した説明では、利用者の入力をトリガーとしてモデルデータの検証を行なっていた。しかし、モデルデータの検証を利用者の入力をトリガーとして行なうのではなく、自動的に行なってもよい。
(Modified Embodiment 2)
In the above description, the model data is verified using a user input as a trigger. However, the model data may be verified automatically instead of being triggered by user input.

例えば、位置姿勢計測開始後一定時間はモデルデータ検証フラグFMDをTRUEにセットして、自動的にモデルデータの検証を行なってもよい。また、位置姿勢算出の精度が低下した場合(誤差の総和が大きくなった場合)に、自動的にモデルデータ検証フラグFMDをTRUEにセットして、モデルデータの検証を自動的に行なうようにしてもよい。この場合には、一度、全ての線分に対応する利用可否フラグFをTRUEにセットした後、モデルデータの検証を行なう。これにより、過去の検証が誤っていた場合や、照明条件などが変わった場合などにも対応できる。 For example, the model data verification flag FMD may be set to TRUE for a certain time after the start of position / orientation measurement, and the model data may be automatically verified. Further, when the accuracy of the position and orientation calculation has been reduced (if error summation is large), automatically model data verification flag F MD is set to TRUE, the the validation of the model data to automatically perform May be. In this case, once after setting the usability flag F u corresponding to all of the line segments to TRUE, the verification of the model data. As a result, it is possible to cope with a case where past verification is incorrect or a change in lighting conditions.

(変形実施形態3)
上述した説明では、線分を位置姿勢算出に利用するか否かは、情報処理装置側で閾値Tに基づいて自動的に判定を行なっていたが、利用者が判定するようにしてもよい。
(Modified Embodiment 3)
In the above description, whether the line segment is used for position / orientation calculation is automatically determined based on the threshold value T on the information processing apparatus side, but may be determined by the user.

例えば、実施形態1及び2においては、線分の3次元モデルの描画に際して、その色や太さを変えるなど、位置姿勢算出に利用される線分と利用されない線分とで表示方法を変えて利用者に提示する。利用者は、提示された線分の3次元モデルを参照し、判定結果を承認するか否かを決定する。利用者の承認は、例えば、マウスやキーボードなどの入力手段を介して行なう。   For example, in the first and second embodiments, when a three-dimensional model of a line segment is drawn, the display method is changed between a line segment used for position and orientation calculation and a line segment not used such as changing the color and thickness. Present to the user. The user refers to the three-dimensional model of the presented line segment and determines whether to approve the determination result. The user's approval is performed through input means such as a mouse or a keyboard.

また、例えば、実施形態3においては、算出された線分の3次元モデルと、各画像を撮像したときの撮像装置の位置及び姿勢とに基づいて、各画像上に線分の3次元モデルを描画する。このとき、色や太さを変えるなど、位置姿勢算出に利用される線分と利用されない線分とで表示方法を変えて利用者に提示する。利用者は、その提示結果に基づいて判定結果を承認するか否かを決定する。   Further, for example, in the third embodiment, based on the calculated three-dimensional model of the line segment and the position and orientation of the imaging device when each image is captured, the three-dimensional model of the line segment is displayed on each image. draw. At this time, the display method is changed between the line segment used for position and orientation calculation and the line segment not used, such as changing the color and thickness, and presented to the user. The user determines whether to approve the determination result based on the presentation result.

(変形実施形態4)
上述した説明では、3次元モデルデータを構成する線分各々について、位置姿勢算出に利用するか否かの判定を行なっていたが、この判定は、必ずしも線分という単位に限られない。
(Modified Embodiment 4)
In the above description, it is determined whether or not each line segment constituting the three-dimensional model data is used for position and orientation calculation. However, this determination is not necessarily limited to the unit of line segment.

例えば、複数の線分の集合を一つの単位として位置姿勢算出に利用するか否かの判定を行なってもよい。これとは逆に、一つの線分を複数に分割して、分割された線分ごとに位置姿勢算出に利用するか否かの判定を行なってもよい。非特許文献5には、無限長の直線の3次元モデルを算出する方法が示される。端点の3次元座標は、画像上で指定された端点の位置と直線の3次元モデルとから算出される。しかし、直線を複数の線分に分割し、それぞれの線分ごとに位置姿勢算出に利用するか否かの判定を行えば、実際に存在する線分のみ利用されるようになるため、端点座標の算出処理は不要となる。   For example, it may be determined whether or not a set of a plurality of line segments is used for position and orientation calculation as one unit. On the contrary, one line segment may be divided into a plurality of segments, and it may be determined whether or not each divided line segment is used for position and orientation calculation. Non-Patent Document 5 shows a method for calculating a three-dimensional model of an infinitely long straight line. The three-dimensional coordinates of the end point are calculated from the position of the end point designated on the image and the three-dimensional model of the straight line. However, if a straight line is divided into a plurality of line segments and each line segment is used for position / orientation calculation, only the existing line segments will be used. This calculation process is unnecessary.

(変形実施形態5)
上述した説明では、検証を行なうか否かを示すフラグ(モデルデータ検証フラグ)の設定により、線分の3次元モデルの検証を明示的に行なっていた。しかし、検証を明示的に行なうのではなく、位置姿勢算出を行ないつつモデル検証を常に行なうようにしてもよい。
(Modified Embodiment 5)
In the above description, the three-dimensional model of the line segment is explicitly verified by setting a flag (model data verification flag) indicating whether to perform verification. However, instead of explicitly performing verification, model verification may always be performed while calculating the position and orientation.

例えば、位置姿勢算出に利用する線分を用いて位置姿勢算出し、その算出結果をもとにモデル投影を実施し、投影された各線分の分割点の近傍でエッジ検出を行なう。このとき、投影する各線分はモデルデータ内の全ての線分である。エッジが検出されるべき回数と、実際に検出された回数を蓄積データとして保存しておき、Nmaxフレーム分蓄積されたら、線分を位置姿勢算出に利用するか否かの判定を行なう。そして、判定終了後、蓄積データをクリアして、再度、Nmaxフレーム分のデータを蓄積し、線分を位置姿勢算出に利用するか否かの判定を繰り返す。これにより、照明条件や撮像装置の位置及び姿勢が大幅に変わる場合であっても、それぞれに適した線分を利用することができる。なお、エッジ検出の計算負荷は大きいため、蓄積データを1フレームごとに蓄積する必要はなく、数フレームおきに蓄積してもよい。 For example, position / orientation calculation is performed using line segments used for position / orientation calculation, model projection is performed based on the calculation result, and edge detection is performed in the vicinity of the division points of the projected line segments. At this time, each line segment to project is all the line segments in the model data. The number of times that an edge should be detected and the number of times of actual detection are stored as accumulated data, and when N max frames are accumulated, it is determined whether or not the line segment is used for position and orientation calculation. After the determination, the accumulated data is cleared, N max frames of data are accumulated again, and the determination of whether or not the line segment is used for position and orientation calculation is repeated. Thereby, even if it is a case where illumination conditions and the position and attitude | position of an imaging device change significantly, the line segment suitable for each can be utilized. Since the calculation load for edge detection is large, it is not necessary to store the accumulated data every frame, and it may be accumulated every several frames.

(変形実施形態6)
上述した説明では、画像上に投影された線分を等分割し、分割点を通り且つ投影線分に垂直な探索ライン上において、対応するエッジを検出する場合を例に挙げて説明した。しかし、エッジの検出方法は、これに限られず、画像上に投影された線分を基準にして対応するエッジを検出する方法であればよい。
(Modified Embodiment 6)
In the above description, the case where the line segment projected on the image is equally divided and the corresponding edge is detected on the search line passing through the dividing point and perpendicular to the projection line segment has been described as an example. However, the edge detection method is not limited to this, and any method may be used as long as the corresponding edge is detected based on the line segment projected on the image.

例えば、エッジ周辺の画像情報を利用して対応するエッジを検出するようにしてもよい。また、非特許文献8に開示されているように、上述の方法により探索ライン上で複数のエッジを検出した後、エッジ周辺の画像情報を利用して対応エッジを決定するようにしてもよい。また、投影された線分を分割することなく、線分の法線方向に1次元探索するようにしてもよい。以上が、変形実施形態についての説明である。   For example, the corresponding edge may be detected using image information around the edge. Further, as disclosed in Non-Patent Document 8, after detecting a plurality of edges on a search line by the above-described method, corresponding edges may be determined using image information around the edges. Further, a one-dimensional search may be performed in the normal direction of the line segment without dividing the projected line segment. The above is the description of the modified embodiment.

なお、本発明は、例えば、システム、装置、方法、プログラム若しくは記録媒体等としての実施態様を採ることもできる。具体的には、複数の機器から構成されるシステムに適用してもよいし、また、一つの機器からなる装置に適用してもよい。   It should be noted that the present invention can take the form of, for example, a system, apparatus, method, program, or recording medium. Specifically, the present invention may be applied to a system composed of a plurality of devices, or may be applied to an apparatus composed of a single device.

また、本発明は、ソフトウェアのプログラムをシステム或いは装置に直接或いは遠隔から供給し、そのシステム或いは装置に内蔵されたコンピュータが該供給されたプログラムコードを読み出して実行することにより実施形態の機能が達成される場合をも含む。この場合、供給されるプログラムは実施形態で図に示したフローチャートに対応したコンピュータプログラムである。   Further, the present invention achieves the functions of the embodiments by supplying a software program directly or remotely to a system or apparatus, and reading and executing the supplied program code by a computer incorporated in the system or apparatus. This includes cases where In this case, the supplied program is a computer program corresponding to the flowchart shown in the drawings in the embodiment.

従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OS(Operating System)に供給するスクリプトデータ等の形態であってもよい。   Accordingly, since the functions of the present invention are implemented by computer, the program code installed in the computer also implements the present invention. In other words, the present invention includes a computer program itself for realizing the functional processing of the present invention. 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 an OS (Operating System), or the like.

コンピュータプログラムを供給するためのコンピュータ読み取り可能な記録媒体としては以下が挙げられる。例えば、フロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RW、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD−ROM,DVD−R)などである。   Examples of the computer-readable recording medium for supplying the computer program include the following. 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).

その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページから本発明のコンピュータプログラムをハードディスク等の記録媒体にダウンロードすることが挙げられる。この場合、ダウンロードされるプログラムは、圧縮され自動インストール機能を含むファイルであってもよい。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明に含まれるものである。   As another program supply method, a client computer browser is used to connect to a homepage on the Internet, and the computer program of the present invention is downloaded from the homepage to a recording medium such as a hard disk. In this case, the downloaded program may be a compressed file including an automatic installation function. 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等の記録媒体に格納してユーザに配布するという形態をとることもできる。この場合、所定の条件をクリアしたユーザに、インターネットを介してホームページから暗号を解く鍵情報をダウンロードさせ、その鍵情報を使用して暗号化されたプログラムを実行し、プログラムをコンピュータにインストールさせるようにもできる。   Further, the program of the present invention may be encrypted, stored in a recording medium such as a CD-ROM, and distributed to users. In this case, a user who has cleared a predetermined condition is allowed to download key information for decryption from a homepage via the Internet, execute an encrypted program using the key information, and install the program on the computer. You can also.

また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどとの協働で実施形態の機能が実現されてもよい。この場合、OSなどが、実際の処理の一部又は全部を行ない、その処理によって前述した実施形態の機能が実現される。   In addition to the functions of the above-described embodiment being realized by the computer executing the read program, the embodiment of the embodiment is implemented in cooperation with an OS or the like running on the computer based on an instruction of the program. A function may be realized. In this case, the OS or the like performs part or all of the actual processing, and the functions of the above-described embodiments are realized by the processing.

更に、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれて前述の実施形態の機能の一部或いは全てが実現されてもよい。この場合、機能拡張ボードや機能拡張ユニットにプログラムが書き込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU(Central Processing Unit)などが実際の処理の一部又は全部を行なう。   Furthermore, 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, so that part or all of the functions of the above-described embodiments are realized. May be. In this case, after a program is written to the function expansion board or function expansion unit, the CPU (Central Processing Unit) provided in the function expansion board or function expansion unit is a part of the actual processing or based on the instructions of the program. Do everything.

Claims (13)

撮像装置により撮像される物体に対する該撮像装置の位置及び姿勢の情報を算出する情報処理装置であって、
前記物体の3次元モデルデータを保持する保持手段と、
前記撮像装置により撮像された前記物体の画像を複数取得する取得手段と、
前記3次元モデルデータの幾何特徴を前記複数の画像それぞれに投影し、該投影された幾何特徴に対応する幾何特徴を前記複数の画像それぞれから検出する検出手段と、
前記複数の画像それぞれで検出された、前記3次元モデルデータに含まれる幾何特徴に対応する幾何特徴の検出回数に基づいて、前記3次元モデルデータの幾何特徴を前記撮像装置の位置姿勢算出処理に利用するかを判定する判定手段と、
前記判定手段により位置姿勢算出処理に利用すると判定された前記3次元モデルデータの幾何特徴に基づいて、前記3次元モデルデータを更新する更新手段と
を具備することを特徴とする情報処理装置。
An information processing device that calculates information on the position and orientation of an imaging device with respect to an object imaged by the imaging device,
Holding means for holding three-dimensional model data of the object;
Obtaining means for obtaining a plurality of images of the object imaged by the imaging device;
Detecting means for projecting a geometric feature of the three-dimensional model data onto each of the plurality of images, and detecting a geometric feature corresponding to the projected geometric feature from each of the plurality of images;
Based on the number of detections of the geometric feature corresponding to the geometric feature included in the three-dimensional model data detected in each of the plurality of images, the geometric feature of the three-dimensional model data is used for the position and orientation calculation processing of the imaging device. A determination means for determining whether to use;
An information processing apparatus comprising: an update unit configured to update the three-dimensional model data based on a geometric feature of the three-dimensional model data determined to be used for position and orientation calculation processing by the determination unit.
前記更新手段は、前記判定手段により位置姿勢算出処理に利用すると判定された前記3次元モデルデータの幾何特徴に、第1の情報を設定し、前記判定手段により、位置姿勢算出処理に利用すると判定されなかった前記3次元モデルデータの幾何特徴に、第2の情報を設定する
ことを特徴とする請求項1に記載の情報処理装置。
The update unit sets first information to the geometric feature of the three-dimensional model data determined to be used for the position / orientation calculation process by the determination unit, and is determined to be used for the position / orientation calculation process by the determination unit. The information processing apparatus according to claim 1, wherein second information is set in a geometric feature of the three-dimensional model data that has not been set.
前記第1の情報は、位置姿勢算出処理に利用するフラグであり、前記第2の情報は、位置姿勢算出処理に利用しないというフラグである
ことを特徴とする請求項2に記載の情報処理装置。
The information processing apparatus according to claim 2, wherein the first information is a flag used for position and orientation calculation processing, and the second information is a flag that is not used for position and orientation calculation processing. .
前記判定手段は、
前記検出回数が所定の閾値よりも小さい場合に、前記3次元モデルデータに含まれる該当する幾何特徴については、前記位置姿勢算出処理に利用しないと判定する
ことを特徴とする請求項3に記載の情報処理装置。
The determination means includes
If the detection count is smaller than a predetermined threshold, the corresponding geometric features included in the three-dimensional model data, according to claim 3, characterized in that determines not to use the position and orientation calculation process Information processing device.
前記判定手段は、
前記検出手段により検出された前記幾何特徴と、前記検出された幾何特徴に対応する前記3次元モデルデータに含まれる線分との幾何特徴のずれを示す誤差の大きさに基づいて前記判定を行なう
ことを特徴とする請求項1または2に記載の情報処理装置。
The determination means includes
The determination is performed based on a magnitude of an error indicating a deviation of a geometric feature between the geometric feature detected by the detecting unit and a line segment included in the three-dimensional model data corresponding to the detected geometric feature. the information processing apparatus according to claim 1 or 2, characterized in that.
前記判定手段による判定の結果をユーザに提示する提示手段と、
前記提示手段により提示された判定結果をもとにユーザが承認するか否かを入力する入力手段と
を更に具備することを特徴とする請求項1または2に記載の情報処理装置。
Presenting means for presenting the result of determination by the determining means to the user;
The information processing apparatus according to claim 1 or 2, characterized in that it further comprises an input means for inputting whether the user approves the basis of the determination result presented by the presenting means.
前記幾何特徴は、線分または点特徴である
ことを特徴とする請求項1乃至のいずれか1項に記載の情報処理装置。
The geometric features, the information processing apparatus according to any one of claims 1 to 6, characterized in that a line segment or point features.
前記幾何特徴は、線分であり、
前記検出手段は、
前記3次元モデルデータに含まれる線分各々に所定の間隔で複数の分割点を設け、該分割点に対応する対応点を探索することにより前記対応する線分を前記画像から検出し、
前記判定手段は、
前記検出手段により、前記分割点に対応する前記対応点の検出回数に基づいて、前記判定を行なう
ことを特徴とする請求項1または2に記載の情報処理装置。
The geometric feature is a line segment;
The detection means includes
A plurality of division points are provided at predetermined intervals for each line segment included in the three-dimensional model data, and the corresponding line segments are detected from the image by searching for corresponding points corresponding to the division points;
The determination means includes
Wherein the detecting means, wherein said corresponding division points on the basis of the detection frequency of the corresponding point, the information processing apparatus according to claim 1 or 2, characterized by performing the determination.
前記更新手段によって更新された3次元モデルデータを用いて、前記撮像装置の位置姿勢を導出する導出手段を更に具備する
ことを特徴とする請求項1乃至のいずれか1項に記載の情報処理装置。
The information processing according to any one of claims 1 to 8 , further comprising deriving means for deriving a position and orientation of the imaging apparatus using the three-dimensional model data updated by the updating means. apparatus.
撮像装置と、前記撮像装置の位置姿勢を導出する情報処理装置と、を含むシステムであって、
前記撮像装置は、
物体を撮像する撮像手段と、
前記物体を撮像した画像を送信する送信手段と、
を有し、
前記情報処理装置は、
前記物体の3次元モデルデータを保持する保持手段と、
前記送信手段を介して送信された前記物体の画像を複数取得する取得手段と、
前記複数の画像それぞれに投影し、該投影された幾何特徴に対応する幾何特徴を前記複数の画像それぞれから検出する検出手段と、
前記複数の画像それぞれで検出された、前記3次元モデルデータに含まれる幾何特徴に対応する幾何特徴の検出回数に基づいて、前記3次元モデルデータの幾何特徴を前記撮像装置の位置姿勢算出処理に利用するかを判定する判定手段と、
前記判定手段により位置姿勢算出処理に利用すると判定された前記3次元モデルデータの幾何特徴に基づいて、前記3次元モデルデータを更新する更新手段と
を具備することを特徴とするシステム。
An imaging device and an information processing device for deriving the position and orientation of the imaging device,
The imaging device
Imaging means for imaging an object;
Transmitting means for transmitting an image obtained by imaging the object;
Have
The information processing apparatus includes:
Holding means for holding three-dimensional model data of the object;
Acquisition means for acquiring a plurality of images of the object transmitted via the transmission means;
Projected onto each of the plurality of images, and detecting means for detecting a geometric feature corresponding to the projected geometric features from each of the plurality of images,
Based on the number of detections of the geometric feature corresponding to the geometric feature included in the three-dimensional model data detected in each of the plurality of images, the geometric feature of the three-dimensional model data is used for the position and orientation calculation processing of the imaging device. A determination means for determining whether to use;
Updating system for updating the three-dimensional model data based on the geometric feature of the three-dimensional model data determined to be used for the position and orientation calculation processing by the determination means.
前記撮像装置は、ヘッドマウントディスプレイに備えつけられている
ことを特徴とする請求項10に記載のシステム。
The system according to claim 10 , wherein the imaging device is provided in a head-mounted display.
撮像装置により撮像される物体に対する該撮像装置の位置及び姿勢の情報を算出する情報処理装置の処理方法であって、
取得手段が、前記撮像装置により撮像された前記物体の画像を複数取得する取得工程と、
検出手段が、前記複数の画像それぞれに投影し、該投影された幾何特徴に対応する幾何特徴を前記複数の画像それぞれから検出する検出工程と、
判定手段が、前記複数の画像それぞれで検出された、前記3次元モデルデータに含まれる幾何特徴に対応する幾何特徴の検出回数に基づいて、前記3次元モデルデータの幾何特徴を前記撮像装置の位置姿勢算出処理に利用するかを判定する判定工程と、
更新手段が、前記判定工程により位置姿勢算出処理に利用すると判定された前記3次元モデルデータの幾何特徴に基づいて、前記3次元モデルデータを更新する更新工程と
を具備することを特徴とする情報処理装置の処理方法。
A processing method of an information processing device for calculating information on a position and orientation of an imaging device with respect to an object imaged by the imaging device,
An acquisition step of acquiring a plurality of images of the object imaged by the imaging device;
A detecting step of projecting onto each of the plurality of images, and detecting a geometric feature corresponding to the projected geometric feature from each of the plurality of images;
Based on the number of detections of the geometric feature corresponding to the geometric feature included in the three-dimensional model data detected by each of the plurality of images , the determination unit determines the geometric feature of the three-dimensional model data as the position of the imaging device. A determination step of determining whether to use for posture calculation processing;
Updating means for updating the three-dimensional model data based on the geometric features of the three-dimensional model data determined to be used in the position and orientation calculation processing by the determination step. Processing method of the processing device.
撮像装置により撮像される物体に対する該撮像装置の位置及び姿勢の情報を算出する情報処理装置に内蔵されたコンピュータを、
前記物体の3次元モデルデータを保持する保持手段と、
前記撮像装置により撮像された前記物体の画像を複数取得する取得手段と、
前記3次元モデルデータの幾何特徴を前記複数の画像それぞれに投影し、該投影された幾何特徴に対応する幾何特徴を前記複数の画像それぞれから検出する検出手段と、
前記複数の画像それぞれで検出された、前記3次元モデルデータに含まれる幾何特徴に対応する幾何特徴の検出回数に基づいて、前記3次元モデルデータの幾何特徴を前記撮像装置の位置姿勢算出処理に利用するかを判定する判定手段と、
前記判定手段により位置姿勢算出処理に利用すると判定された前記3次元モデルデータの幾何特徴に基づいて、前記3次元モデルデータを更新する更新手段と
して機能させるためのプログラム。
A computer built in an information processing device for calculating information on the position and orientation of the imaging device relative to an object imaged by the imaging device;
Holding means for holding three-dimensional model data of the object;
Obtaining means for obtaining a plurality of images of the object imaged by the imaging device;
Detecting means for projecting a geometric feature of the three-dimensional model data onto each of the plurality of images, and detecting a geometric feature corresponding to the projected geometric feature from each of the plurality of images;
Based on the number of detections of the geometric feature corresponding to the geometric feature included in the three-dimensional model data detected in each of the plurality of images, the geometric feature of the three-dimensional model data is used for the position and orientation calculation processing of the imaging device. A determination means for determining whether to use;
A program for functioning as update means for updating the three-dimensional model data based on the geometric feature of the three-dimensional model data determined to be used for position and orientation calculation processing by the determination means.
JP2013218672A 2013-10-21 2013-10-21 Information processing apparatus, processing method thereof, and program Expired - Fee Related JP5693691B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013218672A JP5693691B2 (en) 2013-10-21 2013-10-21 Information processing apparatus, processing method thereof, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013218672A JP5693691B2 (en) 2013-10-21 2013-10-21 Information processing apparatus, processing method thereof, and program

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2008308996A Division JP2010134649A (en) 2008-12-03 2008-12-03 Information processing apparatus, its processing method, and program

Publications (2)

Publication Number Publication Date
JP2014026670A JP2014026670A (en) 2014-02-06
JP5693691B2 true JP5693691B2 (en) 2015-04-01

Family

ID=50200186

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013218672A Expired - Fee Related JP5693691B2 (en) 2013-10-21 2013-10-21 Information processing apparatus, processing method thereof, and program

Country Status (1)

Country Link
JP (1) JP5693691B2 (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6421451B2 (en) * 2014-05-16 2018-11-14 株式会社タダノ Camera posture detection device
JP6615486B2 (en) * 2015-04-30 2019-12-04 株式会社東芝 Camera calibration apparatus, method and program
JP6765823B2 (en) * 2016-02-23 2020-10-07 キヤノン株式会社 Information processing equipment, information processing methods, information processing systems, and programs
JP2019185475A (en) 2018-04-12 2019-10-24 富士通株式会社 Specification program, specification method, and information processing device
CN109345632B (en) * 2018-09-17 2023-04-07 深圳达闼科技控股有限公司 Method for acquiring image, related device and readable storage medium
JP2020099009A (en) * 2018-12-18 2020-06-25 日本電信電話株式会社 Image correction device, image correction method, and program

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5850469A (en) * 1996-07-09 1998-12-15 General Electric Company Real time tracking of camera pose
JP3668769B2 (en) * 2000-06-26 2005-07-06 独立行政法人産業技術総合研究所 Method for calculating position / orientation of target object and method for calculating position / orientation of observation camera
JP2005069757A (en) * 2003-08-21 2005-03-17 National Institute Of Advanced Industrial & Technology Method and system for presuming position and posture of camera using fovea wide-angle view image
JP4789745B2 (en) * 2006-08-11 2011-10-12 キヤノン株式会社 Image processing apparatus and method
JP4898464B2 (en) * 2007-01-17 2012-03-14 キヤノン株式会社 Information processing apparatus and method
JP5013961B2 (en) * 2007-05-21 2012-08-29 キヤノン株式会社 Position / orientation measuring apparatus and control method thereof

Also Published As

Publication number Publication date
JP2014026670A (en) 2014-02-06

Similar Documents

Publication Publication Date Title
JP2010134649A (en) Information processing apparatus, its processing method, and program
JP5111210B2 (en) Image processing apparatus and image processing method
JP4898464B2 (en) Information processing apparatus and method
JP5693691B2 (en) Information processing apparatus, processing method thereof, and program
JP4976756B2 (en) Information processing method and apparatus
JP6464934B2 (en) Camera posture estimation apparatus, camera posture estimation method, and camera posture estimation program
JP4789745B2 (en) Image processing apparatus and method
JP5388932B2 (en) Information processing apparatus and control method thereof
US7671875B2 (en) Information processing method and apparatus
US7928977B2 (en) Image compositing method and apparatus for superimposing a computer graphics image on an actually-sensed image
JP5058686B2 (en) Information processing method and information processing apparatus
JP7379065B2 (en) Information processing device, information processing method, and program
JP6762913B2 (en) Information processing device, information processing method
JP2017129567A (en) Information processing apparatus, information processing method, and program
JP2008249407A (en) Image processing device and image processing method
JP2017187861A (en) Information processor and control method thereof
JP2019114103A (en) Object recognition processing device, object recognition processing method and program
KR102546346B1 (en) Apparatus and method for omni-directional camera calibration
JP5726024B2 (en) Information processing method and apparatus
JP6109213B2 (en) Information processing apparatus and method, program
JP7029501B2 (en) Information processing equipment, information processing method
JP2006064585A (en) Image processing method and image processing device
Gava et al. A Unifying Structure from Motion Framework for Central Projection Cameras
WO2017125983A1 (en) Information processing apparatus, information processing method, and program for estimating position and orientation of a camera
Garrett An initial matching and mapping for dense 3D object tracking in augmented reality applications

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131120

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20131120

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140930

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20141010

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141209

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150203

R151 Written notification of patent or utility model registration

Ref document number: 5693691

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees