JP5693691B2 - Information processing apparatus, processing method thereof, and program - Google Patents
Information processing apparatus, processing method thereof, and program Download PDFInfo
- 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
Links
- 230000010365 information processing Effects 0.000 title claims description 87
- 238000003672 processing method Methods 0.000 title claims description 5
- 238000000034 method Methods 0.000 claims description 112
- 238000004364 calculation method Methods 0.000 claims description 93
- 238000003384 imaging method Methods 0.000 claims description 88
- 230000008569 process Effects 0.000 claims description 67
- 238000012545 processing Methods 0.000 claims description 35
- 238000001514 detection method Methods 0.000 claims description 24
- 230000005540 biological transmission Effects 0.000 claims 1
- 238000013524 data verification Methods 0.000 description 34
- 238000003708 edge detection Methods 0.000 description 23
- 230000006870 function Effects 0.000 description 21
- 238000013500 data storage Methods 0.000 description 19
- 238000012795 verification Methods 0.000 description 17
- 238000005259 measurement Methods 0.000 description 12
- 239000008186 active pharmaceutical agent Substances 0.000 description 11
- 238000010586 diagram Methods 0.000 description 9
- 239000011159 matrix material Substances 0.000 description 8
- 238000005457 optimization Methods 0.000 description 7
- 230000003190 augmentative effect Effects 0.000 description 6
- 238000012937 correction Methods 0.000 description 5
- 239000003550 marker Substances 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 238000004590 computer program Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 238000012821 model calculation Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000010200 validation analysis Methods 0.000 description 2
- 125000002066 L-histidyl group Chemical group [H]N1C([H])=NC(C([H])([H])[C@](C(=O)[*])([H])N([H])[H])=C1[H] 0.000 description 1
- 238000002940 Newton-Raphson method Methods 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000002939 conjugate gradient method Methods 0.000 description 1
- 230000002542 deteriorative effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 238000002945 steepest descent method Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
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
一方、近年の計算機能力の向上に伴い、現実シーン中に元来存在する自然特徴を利用して位置合わせを行なう技術の研究が盛んに行なわれている。位置合わせに用いられる自然特徴としては、コーナー点などの点形状の特徴(以下、点特徴)や、エッジなどの線特徴が挙げられる。非特許文献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
(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
また、上述した通り、エッジを利用した位置合わせでは、位置合わせの対象となる現実空間や現実物体を構成する線分の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.
上述したエッジを用いた位置合わせでは、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.
以下、本発明に係わる情報処理装置、その処理方法及びプログラムの一実施の形態について添付図面を参照して詳細に説明する。 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
観察者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
ビデオシースルー型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
以上が、ビデオシースルー型の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
また、図1では、情報処理装置1がビデオシースルー型のHMD30に組み込まれているが、ビデオシースルー型のHMD30の装置外に、別個の装置として情報処理装置1が実現されていてもよい。
In FIG. 1, the
また、本実施形態においては、説明を簡単にするために、撮像装置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
図2は、図1に示す情報処理装置1の構成の一例を示す図である。
FIG. 2 is a diagram illustrating an example of the configuration of the
情報処理装置1は、画像取得部110と、画像特徴検出部120と、モデルデータ記憶部130と、位置姿勢算出部140と、モデルデータ検証部150とを具備して構成される。
The
画像取得部110は、撮像装置100によって撮像された画像を情報処理装置1に入力する。画像取得部110は、撮像装置100の出力がNTSCなどのアナログ出力であれば、例えば、アナログビデオキャプチャボードによって実現される。また、撮像装置の出力がIEEE1394などのデジタル出力であれば、例えば、IEEE1394インタフェースボードによって実現される。なお、画像取得部110による画像の取得は、記憶装置に予め記憶された静止画像や動画像のデジタルデータを読み出すことで行なわれてもよい。
The image acquisition unit 110 inputs an image captured by the
画像特徴検出部120は、3次元空間中の線分を表す画像特徴を、画像取得部110により入力された画像から検出する。3次元空間中の線分を表す画像特徴とは、例えば、濃度勾配の極値を取る点、すなわち、エッジである。画像特徴検出部120は、後述するモデルデータ記憶部130に格納されている3次元情報で構成されるモデルデータや、撮像装置100の位置及び姿勢の予測値に基づいてエッジ検出を行なう。
The image
モデルデータ記憶部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
図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に対応して、位置姿勢算出に利用できる情報であるか否かを示す利用可否フラグFu(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には、モデルデータ検証用データが記憶される。モデルデータ検証用データは、フレームデータD1と蓄積データDSとを含んで構成される。モデルデータ検証用データに含まれるD1、DSは、モデルデータを構成する線分各々に対応して記憶される。フレームデータD1は、1フレーム分の検証用データを記憶し、「検出されるべきエッジ数NE1」と「実際に検出されたエッジ数ND1」とから構成される。また、蓄積データDSは、「蓄積データ数NS」と、「検出されるべき総エッジ数NES」と、「実際に検出された総エッジ数NDS」とから構成される。
The model
位置姿勢算出部140は、観察対象物体10を基準とした座標系(以下、基準座標系と呼ぶ)における撮像装置100の位置及び姿勢を算出する。なお、撮像装置100の位置及び姿勢は、画像特徴検出部120において検出された撮像画像内におけるエッジと、モデルデータ記憶部130に記憶された3次元モデルデータとに基づいて算出される。
The position /
モデルデータ検証部150は、3次元モデルデータを構成する各線分を位置姿勢算出に利用するか否かの検証を行なう。この検証は、画像特徴検出部120によるエッジ検出結果から得られる統計データに基づいて行なわれる。
The model
また、情報処理装置1は、モデルデータ検証フラグFMDを持つ。モデルデータ検証フラグFMDは、モデルデータの検証を行なうか否かを示すフラグである。フラグFMD=TRUEの場合は、モデルデータを検証し、フラグFMD=FALSEの場合は検証を行なわない。初期状態では、フラグFMDは、FALSEにセットされる。
Further, the
フラグFMDの切り替えは、例えば、利用者がキーボードやマウスなどの入力手段(不図示)を使って行なう。フラグFMDがTRUEにセットされると、モデルデータ記憶部130に格納されている蓄積データDSが0にリセットされる。また、蓄積データに対して、何フレーム分のデータを蓄積するかのフレーム数Nmaxを予め設定しておく。すなわち、利用者は、フラグFMDをTRUEにした後、何フレーム分のデータを蓄積し、モデルデータの検証に利用するかを予め決めておく。蓄積データ数NSがNmaxと等しくなるとモデルデータの検証が行なわれる。モデルデータの検証が終わると、フラグFMDはFALSEにセットされ、蓄積データDSが全て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
次に、図4を用いて、図1に示す情報処理装置1における処理の流れの一例について説明する。
Next, an example of the flow of processing in the
(ステップS1010)
ステップS1010では、情報処理装置1は、初期化処理を行なう。初期化処理では、基準座標系における撮像装置100の位置及び姿勢を予測した予測値の設定、モデルデータ検証フラグ、利用可否フラグ、蓄積データのリセットを行なう。
(Step S1010)
In step S1010, the
ここで、初期化処理について詳述する。まず、撮像装置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
また、ステップS1010では、モデルデータ検証フラグFMDをFALSEにセットする。そして、モデルデータ記憶部130に記憶されている各線分について、位置姿勢算出に利用できる情報であるか否かを示す利用可否フラグFuをTRUEにセットする。更に、蓄積データDSを全て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
(ステップ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
(ステップS1030)
ステップS1030では、情報処理装置1は、画像特徴検出部120において、ステップS1020で入力された画像上でエッジの検出を行なう。この処理の開始に際しては、各線分ごとのフレームデータNE1、ND1を0にセットする。なお、エッジ検出処理の詳細については、後述する。
(Step S1030)
In step S1030, the
(ステップS1040)
ステップS1040では、情報処理装置1は、位置姿勢算出部140において、撮像装置100の位置及び姿勢を算出する。上述した通り、この算出は、ステップS1040で検出された画像上のエッジと、モデルデータ記憶部130に記憶された3次元モデルデータとに基づいて行なわれる。なお、位置姿勢算出処理の詳細については、後述する。
(Step S1040)
In step S <b> 1040, the
(ステップS1050)
ステップS1050では、情報処理装置1は、モデルデータ検証部150において、検証モードであるか否かの判定を行なう。この判定は、モデルデータ検証フラグFMDの値に基づいて行なわれる。ここで、モデルデータの検証を行なう場合(FMD=TRUE)には、ステップS1060の処理に進み、検証を行なわない場合には、ステップS1015の処理に戻る。
(Step S1050)
In step S1050, the
(ステップS1060)
ステップS1060では、情報処理装置1は、モデルデータ検証処理を開始する。この処理では、まず、モデルデータ記憶部130に格納されている3次元モデルデータを構成する各線分についての蓄積データNES及びNDSを更新する。具体的には、ステップS1030において更新された各線分についてのフレームデータNE1、ND1をそれぞれNES、NDSに加える。
(Step S1060)
In step S1060, the
(ステップS1070)
ステップS1070では、情報処理装置1は、蓄積データ数NSを1増やす(蓄積データカウント++)。
(Step S1070)
In step S1070, the
(ステップS1080)
ステップS1080では、情報処理装置1は、蓄積データ数NSが予め設定された蓄積データ数Nmaxと等しいか否かの判定を行なう。等しければ、ステップS1090の処理に進み、等しくなければ、ステップS1015の処理に戻り、ステップS1020の処理で次の画像、すなわち、次フレームの画像を取得する。
(Step S1080)
In step S1080, the
(ステップS1090)
ステップS1090では、情報処理装置1は、モデルデータ検証部150において、3次元モデルデータを構成する線分各々について位置姿勢算出に利用するか否かの検証を行なう。なお、この処理についての詳細は、後述するが、各線分ごとの蓄積データNES、NDSに基づいてモデルデータ記憶部130に格納されたモデルデータを検証する。この処理が終わると、ステップS1015の処理に戻る。
(Step S1090)
In step S1090, the
次に、図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の位置及び姿勢とともに、焦点距離や主点位置などのカメラの固有パラメータが既知である必要がある。前述したように、本実施形態においては、カメラの固有パラメータは、予め計測されて分かっているものとする。また、線分が位置姿勢算出に利用できるか否かの利用可否フラグFuがFALSEの線分についてはモデル投影及びエッジ検出を行なわない。
(Step S1110)
First, the
図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
図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
(ステップS1150)
ステップS1150では、情報処理装置1は、分割点DPjに対応するエッジを検出する。図8は、本実施形態に係わるエッジ検出方法の概要の一例を示す図である。図8に示すように、各分割点において、投影された線分の法線方向に平行で且つ分割点を通過する線分(以下、探索ライン)上においてエッジを1次元探索する。エッジは、探索ライン上において濃度勾配が極値をとる位置に存在する。濃度勾配の極値の絶対値に閾値を設け、極値の絶対値の小さいエッジは検出されないようにする。本実施形態では、探索ライン上でエッジが複数存在する場合には、最も分割点に近いエッジを対応点とし、その画像座標と分割点の3次元座標とを保持する。なお、本実施形態では最も分割点に近いエッジを対応点としているが、これに限られず、探索ライン上で濃度勾配の極値の絶対値が最も大きいエッジを対応点としてもよい。ステップS1150でエッジが検出された場合には、該当する線分のフレームデータND1の値に1を加える。
(Step S1150)
In step S1150, the
(ステップS1160、ステップS1170)
ステップS1160では、情報処理装置1は、jを1増分し、ステップS1170に進む。全ての分割点DPjについて処理が終了した場合には、ステップS1170でYESとなり、エッジ検出処理を終了する。終了していない場合には、ステップS1170でNOとなり、ステップS1140の処理に戻る。
(Step S1160, Step S1170)
In step S1160, the
次に、図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
ある分割点の投影された画像座標を(u0,v0)、当該分割点が所属する線分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
と表せる(u、v、θは定数)。 (U, v, and θ are constants).
分割点が画像に投影される座標は、撮像装置100の位置及び姿勢により変化する。また、撮像装置100の位置及び姿勢の自由度は6自由度である。すなわち、sは6次元ベクトルであり、撮像装置100の位置を表す3つの要素と、姿勢を表す3つの要素からなる。姿勢を表す3つの要素は、例えば、オイラー角による表現や、方向が回転軸を表し大きさが回転角を表す3次元ベクトルなどによって表現される。分割点の画像座標(u,v)は、(u0,v0)の近傍で1次のテイラー展開によって「数3」のように近似できる。
The coordinates at which the division points are projected on the image vary depending on the position and orientation of the
「数2」による近似式を数1に代入することにより、「数3」が得られる。
By substituting the approximate expression by “Equation 2” into
ここで、「数3」に示す直線が分割点の対応点の画像座標(u’,v’)を通過するように、撮像装置100の位置及び姿勢sの補正値Δsを算出する。
Here, the correction value Δs of the position and orientation s of the
が得られる。「数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.
ここで、「数5」を「数6」のように簡潔に表す。 Here, “Equation 5” is simply expressed as “Equation 6”.
「数6」をもとにGauss−Newton法などによって、行列Jの一般化逆行列(JT・J)−1・JTを用いてΔ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.
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.
分割点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”.
重み行列Wは、対角成分以外は全て0のNc×Nc正方行列であり、対角成分には重みwiが入る。この重み行列Wを用いて、「数6」を「数10」のように変形する。
Weight matrix W is all but diagonal elements are N c × N c
「数11」のように「数10」を解くことにより補正値Δsを求める。
The correction value Δs is obtained by solving “Equation 10” as in “
これにより得られたΔsを用いて、撮像装置100の位置及び姿勢を更新する。次に、撮像装置100の位置及び姿勢の反復演算が収束しているか否かを判定する。補正値Δsが十分に小さい、誤差d−rの総和が十分小さい、誤差d−rの総和が変化しないといった場合には、撮像装置100の位置及び姿勢の計算が収束したと判定する。収束していないと判定した場合には、更新された撮像装置100の位置及び姿勢を用い、Nc個の点について再度線分の傾きθ、r、d及びu、vの偏微分を計算し直し、「数11」より再度補正値Δsを求め直す。なお、ここでは、非線形最適化手法としてGauss−Newton法を用いた。しかし、非線形最適化手法はこれに限るものではなく、Newton−Raphson法、Levenberg−Marquardt法、最急降下法、共役勾配法など、その他の非線形最適化手法を用いてもよい。以上が、ステップS1040における撮像装置の位置姿勢算出方法についての説明である。
The position and orientation of the
次に、図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
(ステップS1220、ステップS1230)
ステップS1220では、情報処理装置1は、ステップS1210で算出された割合REDと、閾値TEDとを比較する。比較の結果、REDが閾値TEDを越えていれば、ステップS1230でNOとなり、この処理は終了する。一方、REDが閾値TED未満となれば、ステップS1230でYESとなり、ステップS1240の処理に進む。
(Step S1220, Step S1230)
In step S1220, the
(ステップS1240)
ステップS1240では、情報処理装置1は、線分の検出率が低いとして、該当する線分の利用可否フラグFuをFALSEに設定する。これにより、以後、位置姿勢算出処理にその線分を用いないようにする。例えば、図3に示すモデルデータにおいて、照明条件などによってL14に対応するエッジが検出されない場合には、L14のフラグFuがFALSEに設定され、位置姿勢算出処理に利用されないようになる。
(Step S1240)
In step S1240, the
(ステップS1250)
ステップS1250では、情報処理装置1は、モデルデータ検証フラグFMDをFALSEにセットし、蓄積データDSを全て0にリセットし、この処理を終了する。
(Step S1250)
In step S1250, the
以上説明したように実施形態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には、モデルデータ検証用データが記憶され、モデルデータ検証用データは、フレームデータD1と蓄積データDSとを含んで構成される。また、モデルデータ検証用データに含まれるD1、DSは、モデルデータを構成する線分各々に対応して記憶される。
First, model data verification data according to the second embodiment will be described. Constituted Here, as in
フレームデータD1は、1フレーム分の検証用データを記憶し、「検出されるべきエッジ数NE1」と「位置姿勢算出において実効的な情報として利用されたエッジ数NC1」とから構成される。また、蓄積データDSは、「蓄積データ数NS」と、「検出されるべき総エッジ数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
(ステップS2010)
ステップS2010では、情報処理装置1は、初期化処理を行なう。初期化処理では、基準座標系における撮像装置100の位置及び姿勢の予測値の設定、モデルデータ検証フラグ、利用可否フラグ、蓄積データのリセットを行なう。なお、撮像装置100の位置及び姿勢の予測値の設定やモデルデータ検証フラグ、利用可否フラグのリセットについては、ステップS1010と同一の処理となるためその説明は省略する。実施形態2においては、「蓄積データ数NS」、「検出されるべき総エッジ数NES」、「位置姿勢算出において実効的な情報として利用されたエッジ数NCS」を全て0にし、蓄積データDSをリセットする。
(Step S2010)
In step S2010, the
(ステップ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
(ステップS2030)
ステップS2030では、情報処理装置1は、画像特徴検出部120において、ステップS2020で入力された画像上でエッジの検出を行なう。この処理の開始に際しては、各線分ごとのフレームデータNE1、NC1を0にセットする。なお、エッジ検出処理は、実施形態1の図5と同様の処理となるため、その詳細な説明については省略する。実施形態1との相違点としては、実施形態1では、フレームデータであるNE1、ND1を更新していたのに対し、ステップS2030ではNE1のみを更新する点である。
(Step S2030)
In step S2030, the
(ステップS2040)
ステップS2040では、情報処理装置1は、位置姿勢算出部140において、撮像装置100の位置及び姿勢を算出する。なお、位置姿勢算出処理は、実施形態1と同様の処理となるため、その詳細な説明については省略する。実施形態1との相違点としては、ステップS2030では、ステップS1030で説明した位置姿勢算出処理が終了した後、その算出過程で得られる重み行列W(数9参照)に基づいてフレームデータNC1を更新する。重み行列Wは、各分割点に対応する重みによって定義されており、この重みは、誤差d−rの値が小さいほど大きい。そこで、重みが一定値未満のエッジは、誤検出又は誤対応であるとみなし、重みが一定値以上のエッジの情報が実効的に利用されたとして、該当する分割点が属する線分のフレームデータNC1の値に1を加える。
(Step S2040)
In step S2040, the
(ステップS2050)
ステップS2050では、情報処理装置1は、モデルデータ検証部150において、検証モードであるか否かの判定を行なう。この判定は、モデルデータ検証フラグFMDの値に基づいて行なわれる。モデルデータの検証を行なう場合(FMD=TRUE)には、ステップS2060の処理に進み、検証を行なわない場合には、ステップS2015の処理に戻る。
(Step S2050)
In step S2050, the
(ステップS2060)
ステップS2060では、情報処理装置1は、モデルデータ検証処理を開始する。この処理では、まず、モデルデータ記憶部130に格納されている3次元モデルデータを構成する各線分について、蓄積データNES及びNCSを更新する。すなわち、ステップS2030、ステップS2040の処理において更新された各線分についてのフレームデータNE1、NC1をそれぞれNES、NCSに加える。
(Step S2060)
In step S2060, the
(ステップS2070)
ステップS2070では、情報処理装置1は、蓄積データ数NSを1増やす(蓄積データカウント++)。
(Step S2070)
In step S2070, the
(ステップS2080)
ステップS2080では、情報処理装置1は、蓄積データ数NSが予め設定された蓄積データ数Nmaxと等しいか否かの判定を行なう。等しければ、ステップS2090の処理に進み、等しくなければ、ステップS2015の処理に戻り、ステップS2020の処理で次の画像、すなわち、次フレームの画像を取得する。
(Step S2080)
In step S2080, the
(ステップS2090)
ステップS2090では、情報処理装置1は、モデルデータ検証部150において、3次元モデルデータを構成する線分各々について位置姿勢算出に利用するか否かの検証を行なう。なお、この処理についての詳細は、後述するが、実施形態2においては、各線分ごとの蓄積データNES、NCSに基づいてモデルデータ記憶部130に格納されたモデルデータを検証する。この処理が終わると、ステップS2015の処理に戻る。
(Step S2090)
In step S2090, the
次に、図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
(ステップS2120、ステップS2130)
ステップS2120では、情報処理装置1は、ステップS2110で算出された割合RECと、閾値TECとを比較する。比較の結果、RECが閾値TECを越えていれば、ステップS2130でNOとなり、この処理は終了する。一方、RECが閾値TEC未満となれば、ステップS2130でYESとなり、ステップS2140の処理に進む。
(Step S2120, Step S2130)
In step S2120, the
(ステップS2140)
ステップS2140では、情報処理装置1は、誤検出又は誤対応の可能性が高いとして、該当する線分の利用可否フラグFuをFALSEに設定する。これにより、以後、位置姿勢算出処理にその線分を用いないようにする。
(Step S2140)
In step S2140, the
(ステップS2150)
ステップS2150では、情報処理装置1は、モデルデータ検証フラグFMDをFALSEにセットし、蓄積データDSを全て0にリセットし、この処理を終了する。
(Step S2150)
In step S2150, the
以上説明したように実施形態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
図13は、実施形態3に係わる情報処理装置1の構成の一例を示す図である。
FIG. 13 is a diagram illustrating an example of the configuration of the
情報処理装置3は、画像取得部310と、画像記憶部320と、モデルデータ算出部330と、モデルデータ記憶部340と、モデルデータ検証部350とを具備して構成される。情報処理装置3は、撮像装置300により撮像された現実空間又は現実物体の複数の画像に基づいて線分の3次元モデルを算出する。
The
画像取得部310は、撮像装置300によって撮像された画像を情報処理装置3に入力する。画像取得部310は、実施形態1を説明した図2の画像取得部110と同等の機能を果たす。
The
画像記憶部320は、画像取得部310から入力される画像を記憶する。なお、画像記憶部320により画像の記憶は、利用者からの入力手段を介した指示に基づき行なわれる。
The
モデルデータ算出部330は、画像記憶部320に格納されている複数の画像を用いて線分の3次元モデルを算出する。実施形態3においては、非特許文献5に開示されている方法を用いて線分の3次元モデルを算出する。
The model
モデルデータ記憶部340は、モデルデータ算出部330により算出された線分の3次元モデルを記憶する。
The model
モデルデータ検証部350は、画像取得部310から入力される画像に基づいて位置姿勢算出を行なうことにより、モデルデータ記憶部340に格納されている線分の3次元モデルを検証する。
The model
次に、図14を用いて、実施形態3に係わる情報処理装置3における処理の流れの一例について説明する。
Next, an example of a processing flow in the
(ステップS3010)
ステップS3010では、情報処理装置3は、画像記憶部320において、線分の3次元モデルの算出に必要となる画像を保存する。非特許文献5では、「線分の3次元モデルを復元するのに3枚の画像における6つの対応が必要である」と述べられているため、ステップS3010では最低3枚以上の画像を保存する。画像の保存は、例えば、利用者が撮像装置300を自由に移動させながら、キーボードやマウスなどの入力手段により画像保存命令を入力することにより行なう。画像保存命令が入力されると、命令を入力した時点において、画像取得部310から入力される画像が画像記憶部320に保存される。なお、ここでは画像の保存を利用者の入力によって行なっているが、画面の変化に基づいて、自動的に画像を保存するようにしてもよい。
(Step S3010)
In step S3010, the
(ステップS3020)
ステップS3020では、情報処理装置3は、ステップS3010において保存された画像上からラインを検出する。ラインの検出は、利用者の指示に基づいて行なわれる。具体的には、利用者が画像上でラインの始点と終点を指定することにより手動で行なう。なお、ラインの検出法は、これに限られず、画像上のラインを検出できるのであればよい。例えば、非特許文献7に示す方法によりエッジ検出を実施した後、ハフ変換によって画像上のラインを検出してもよい。
(Step S3020)
In step S3020, the
(ステップS3030)
ステップS3030では、情報処理装置3は、ステップS3020において検出されたラインの画像間での対応付けを行なう。この対応付けは、利用者の指示に基づいて行なわれる。すなわち、利用者が手動で行なう。なお、ラインの対応付け方法は、これに限られず、例えば、ライン周辺の画素の情報を利用して、類似したラインを自動的に対応付けるようにしてもよい。
(Step S3030)
In step S3030, the
(ステップS3040)
ステップS3040では、情報処理装置3は、モデルデータ算出部330において、ステップS3030で対応付けられたラインの情報に基づいて線分(ライン)の3次元モデルの算出を行なう。そして、算出した線分の3次元モデルと、画像上での端点の位置とから端点の3次元位置を算出し、図3に示す様式で線分の3次元モデルとしてモデルデータ記憶部340に格納する。なお、線分の3次元モデルとは、3次元空間における直線の方向ベクトルと通過位置とにより表されるものとする。線分の3次元モデルの算出は、例えば、非特許文献5に開示されている方法により行なう。線分の3次元モデルの算出方法は、これに限られず、画像間のラインの対応から算出する方法であればよい。
(Step S3040)
In step S3040, the
ここで、非特許文献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
(ステップS3060)
ステップS3060では、情報処理装置3は、ステップS3040の3次元モデル算出結果、ステップS3050のモデル検証結果を、例えば、表示するなどして利用者に提示する。これにより、利用者は、その3次元モデル算出結果やモデル検証結果を受け入れるか否かを判定する。利用者が結果を受け入れる場合には、その旨が情報処理装置3に入力され、ステップS3060でYESとなり、この処理は終了する。受け入れない場合には、その旨が情報処理装置3に入力され、ステップS3060でNOとなり、ステップS3010の処理に戻る。
(Step S3060)
In step S3060, the
以上説明したように実施形態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未満である場合には、該当の線分は検出率が低く、且つその線分は誤検出又は誤対応の可能性が高いと判定する。そして、位置姿勢算出に利用するフラグFuを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にセットして、モデルデータの検証を自動的に行なうようにしてもよい。この場合には、一度、全ての線分に対応する利用可否フラグFuを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.
ことを特徴とする請求項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.
ことを特徴とする請求項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乃至6のいずれか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.
ことを特徴とする請求項1乃至8のいずれか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.
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)
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)
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 |
-
2013
- 2013-10-21 JP JP2013218672A patent/JP5693691B2/en not_active Expired - Fee Related
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 |