JP2020194482A - Display control method, display control program, and information processor - Google Patents
Display control method, display control program, and information processor Download PDFInfo
- Publication number
- JP2020194482A JP2020194482A JP2019101130A JP2019101130A JP2020194482A JP 2020194482 A JP2020194482 A JP 2020194482A JP 2019101130 A JP2019101130 A JP 2019101130A JP 2019101130 A JP2019101130 A JP 2019101130A JP 2020194482 A JP2020194482 A JP 2020194482A
- Authority
- JP
- Japan
- Prior art keywords
- image
- outline
- predetermined number
- captured image
- posture candidate
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims description 39
- 238000012545 processing Methods 0.000 claims abstract description 69
- 238000003384 imaging method Methods 0.000 claims abstract description 9
- 230000010365 information processing Effects 0.000 claims description 37
- 238000000605 extraction Methods 0.000 claims description 15
- 238000010586 diagram Methods 0.000 description 23
- 238000011960 computer-aided design Methods 0.000 description 17
- 238000013500 data storage Methods 0.000 description 16
- 238000006243 chemical reaction Methods 0.000 description 8
- 239000000284 extract Substances 0.000 description 7
- 238000010276 construction Methods 0.000 description 5
- 238000007689 inspection Methods 0.000 description 4
- 238000007726 management method Methods 0.000 description 4
- 239000000463 material Substances 0.000 description 4
- 230000015654 memory Effects 0.000 description 4
- 230000000052 comparative effect Effects 0.000 description 3
- 238000012937 correction Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 230000000295 complement effect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000005484 gravity Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000012938 design process Methods 0.000 description 1
- 238000005401 electroluminescence Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Landscapes
- Processing Or Creating Images (AREA)
- Image Analysis (AREA)
Abstract
Description
本発明は表示制御方法、表示制御プログラムおよび情報処理装置に関する。 The present invention relates to a display control method, a display control program, and an information processing device.
種々の構造物の設計に三次元CAD(Computer Aided Design)が用いられている。また、製造者などのユーザは、検品などの作業において、製造された構造物が設計通りに製造されているか否かを確認することがある。そこで、情報処理技術により、ユーザの検品などの作業を支援することが考えられている。例えば、製作された構造物を撮像した撮像画像と、三次元CADの構造物のモデルとを重畳表示する表示制御装置の提案がある。 Three-dimensional CAD (Computer Aided Design) is used for the design of various structures. In addition, a user such as a manufacturer may confirm whether or not the manufactured structure is manufactured as designed in operations such as inspection. Therefore, it is considered to support the work such as inspection of the user by using the information processing technology. For example, there is a proposal of a display control device that superimposes and displays an captured image of a manufactured structure and a model of a three-dimensional CAD structure.
なお、三次元モデルが特定の視点に基づいて仮想平面に写像された場合の輪郭に含まれる複数の位置を表す特徴情報と、複数の位置に対応する三次元における位置と、を対応付けたテンプレートを特定の視点ごとに作成する情報処理装置の提案もある。提案の情報処理装置は、対象物の撮像画像におけるエッジを表す特徴情報と、テンプレートの特徴情報とに基づいて、対象物の三次元での位置および姿勢を導出する。 It should be noted that a template in which feature information representing a plurality of positions included in the contour when the three-dimensional model is mapped to a virtual plane based on a specific viewpoint and positions in three dimensions corresponding to the plurality of positions are associated with each other. There is also a proposal for an information processing device that creates a template for each specific viewpoint. The proposed information processing apparatus derives the position and orientation of the object in three dimensions based on the feature information representing the edge of the captured image of the object and the feature information of the template.
また、プラント建設用の製品資材の形状寸法、配置角度等を非接触で測定し、測定した情報から得られる製品資材の物体境界情報と、予め設計時に作成しておいた三次元モデル情報を照合するプラント建設支援装置の提案もある。提案のプラント建設支援装置は、照合により製品資材の個体認識番号を取得して、プラント建設用の製品資材のプラント建設サイトへの到着を判定する。 In addition, the shape, dimensions, placement angle, etc. of the product material for plant construction are measured in a non-contact manner, and the object boundary information of the product material obtained from the measured information is compared with the three-dimensional model information created in advance at the time of design. There is also a proposal for a plant construction support device to be used. The proposed plant construction support device acquires the individual identification number of the product material by collation and determines the arrival of the product material for plant construction at the plant construction site.
情報処理装置により、構造物の撮影画像と当該構造物に対応する三次元モデルとを画面に表示し、三次元モデルの姿勢を変更させるユーザの操作に応じて、表示中の三次元モデルの姿勢を変更して、構造物の撮影画像と三次元モデルとを対比可能にすることがある。この場合、三次元モデルを最初に表示するときの三次元モデルの姿勢が問題になる。 The information processing device displays the captured image of the structure and the 3D model corresponding to the structure on the screen, and changes the posture of the 3D model. The posture of the displayed 3D model is changed according to the user's operation. May be changed to make it possible to compare the captured image of the structure with the 3D model. In this case, the posture of the 3D model when the 3D model is displayed for the first time becomes a problem.
例えば、予め定められた特定の初期姿勢で三次元モデルを表示することも考えられる。しかし、撮影画像における構造物の姿勢と、三次元モデルの初期姿勢との乖離の度合いが大きいほど、両者の対比を適切に行うための、ユーザによる三次元モデルの姿勢変更の操作が難しくなる。 For example, it is conceivable to display the three-dimensional model in a predetermined specific initial posture. However, the greater the degree of deviation between the posture of the structure in the captured image and the initial posture of the three-dimensional model, the more difficult it is for the user to change the posture of the three-dimensional model in order to appropriately compare the two.
1つの側面では、本発明は、三次元モデルの投影像を重畳表示させる際の作業負荷を軽減できる表示制御方法、表示制御プログラムおよび情報処理装置を提供することを目的とする。 In one aspect, it is an object of the present invention to provide a display control method, a display control program, and an information processing device that can reduce the workload when superimposing and displaying a projected image of a three-dimensional model.
1つの態様では、表示制御方法が提供される。この表示制御方法では、コンピュータが、撮像装置により撮像された構造物を含む撮影画像を取得し、構造物の三次元モデルから生成された複数の投影像を取得し、取得した複数の投影像の内、取得した撮影画像に含まれる構造物の形状に応じた第1の投影像を特定し、特定した第1の投影像に含まれる三次元モデルの稜線と、撮影画像から抽出されたエッジ線とを表示し、表示した稜線に含まれる所定数の稜線を、表示したエッジ線に含まれる所定数のエッジ線にそれぞれ対応付ける操作を受け付けると、所定数の稜線の位置が、所定数の稜線に対応付けられた所定数のエッジ線の位置にそれぞれ対応する三次元モデルの第2の投影像を生成し、生成した第2の投影像を撮影画像に重畳表示する、処理を実行する。 In one aspect, a display control method is provided. In this display control method, a computer acquires a photographed image including a structure imaged by an imaging device, acquires a plurality of projection images generated from a three-dimensional model of the structure, and obtains a plurality of projected images. Among them, the first projected image according to the shape of the structure included in the acquired captured image is specified, and the ridgeline of the three-dimensional model included in the identified first projected image and the edge line extracted from the captured image. Is displayed, and when an operation of associating a predetermined number of ridges included in the displayed ridges with a predetermined number of edge lines included in the displayed edge lines is accepted, the positions of the predetermined number of ridges become the predetermined number of ridges. A process is executed in which a second projected image of the three-dimensional model corresponding to each of the positions of a predetermined number of associated edge lines is generated, and the generated second projected image is superimposed and displayed on the captured image.
また、1つの態様では、表示制御プログラムが提供される。
また、1つの態様では、情報処理装置が提供される。
Also, in one aspect, a display control program is provided.
Also, in one aspect, an information processing device is provided.
1つの側面では、三次元モデルの投影像を重畳表示させる際の作業負荷を軽減できる。 On one aspect, the workload of superimposing and displaying the projected image of the three-dimensional model can be reduced.
以下、本実施の形態について図面を参照して説明する。
[第1の実施の形態]
第1の実施の形態を説明する。
Hereinafter, the present embodiment will be described with reference to the drawings.
[First Embodiment]
The first embodiment will be described.
図1は、第1の実施の形態の情報処理装置を示す図である。
情報処理装置10は、構造物の撮影画像と三次元モデルとの対比を支援する。情報処理装置10は、表示装置20に接続される。情報処理装置10は、記憶部11および処理部12を有する。
FIG. 1 is a diagram showing an information processing apparatus according to the first embodiment.
The
記憶部11は、RAM(Random Access Memory)などの揮発性記憶装置でもよいし、HDD(Hard Disk Drive)やフラッシュメモリなどの不揮発性記憶装置でもよい。処理部12は、CPU(Central Processing Unit)、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)などを含み得る。処理部12はプログラムを実行するプロセッサであってもよい。「プロセッサ」は、複数のプロセッサの集合(マルチプロセッサ)を含み得る。
The
記憶部11は、構造物の三次元モデルから生成された複数の投影像を記憶する。例えば、記憶部11は、対象の構造物の三次元モデルから生成された投影像31,32,33,…を記憶する。投影像31,32,33,…は、三次元モデルの姿勢を回転角度A1、仰角A2刻みで変化させたときの、三次元モデルから生成された二次元画像である。投影像31,32,33,…の座標系(例えば、横方向をx軸、縦方向をy軸とする)は、予め正規化される。投影像31,32,33の原点位置は所定の位置(例えば各画像の中心)となる。
The
処理部12は、撮像装置により撮像された構造物を含む撮影画像を取得する。図1では撮像装置の図示を省略している。例えば、処理部12は、撮影画像40を取得する。撮影画像40は、構造物画像41を含む。構造物画像41は、撮像装置により撮像された構造物の画像である。構造物画像41は、撮像した方向から見たときの構造物の形状を示す画像であるとも言える。
The
処理部12は、構造物の三次元モデルから生成された複数の投影像を取得する。例えば、処理部12は、構造物画像41に対応する構造物の三次元モデルから生成された投影像31,32,33,…を記憶部11から取得する。
The
処理部12は、取得した複数の投影像の内、取得した撮影画像に含まれる構造物の形状に応じた第1の投影像を特定する。例えば、処理部12は、投影像31,32,33,…の内、撮影画像40に含まれる構造物の形状に応じた投影像32を特定する。
The
より具体的には、処理部12は、撮影画像40の座標系を、投影像31,32,33,…の座標系に合わせて正規化する。撮影画像40の原点位置は、投影像31,32,33,…それぞれの原点位置に対応する位置となる。処理部12は、正規化した撮影画像40から構造物画像41に含まれるエッジの位置、エッジの延びる方向、および、曲線の位置などを抽出する。処理部12は、構造物画像41から抽出したエッジの位置、エッジの延びる方向、および、曲線の位置などを、投影像31,32,33,…それぞれに含まれる稜線の位置、稜線の延びる方向、および、曲線の位置と照合する。処理部12は、投影像31,32,33,…のうち、照合により、構造物画像41と最も良く一致する投影像32を特定する。
More specifically, the
処理部12による照合の方法には種々の方法が考えられる。例えば、処理部12は、ページ記述言語(PDL:Page Description Language)で表されたデータ(PDLデータ)を用いて照合を行ってもよい。PDLは、画像をテキスト情報で表現するデータ形式である。PDLの一例として、PostScript(登録商標)が挙げられる。処理部12は、構造物画像41に基づく構造物の形状を表すPDLデータと、投影像31,32,33,…それぞれに基づく三次元モデルの形状を表すPDLデータとを照合することで、構造物画像41と最も良く一致する投影像32を特定してもよい。PDLデータを用いて照合を行うことで、画像データを用いて照合を行うよりも、照合を高速に実行できる。
Various methods can be considered as the collation method by the
あるいは、処理部12は、PDLデータの転置インデックスを照合に用いてもよい。例えば、処理部12は、投影像31,32,33,…それぞれのPDLデータに対して転置インデックスを作成しておくことが考えられる。処理部12は、転置インデックスに基づいて、投影像31,32,33,…それぞれのPDLデータのうち、構造物画像41のPDLデータと記述内容が類似する、投影像に対応するPDLデータを検索してもよい。転置インデックスを用いることで、より高速に照合を実行できる。
Alternatively, the
更に、処理部12は、構造物画像41と投影像31,32,33,…との比較にPDLデータを用いる場合、構造物画像41における構造物の形状のアウトラインや投影像31,32,33,…それぞれに基づく三次元モデルの形状のアウトラインに対応するPDLデータを作成してもよい。アウトラインに対応するPDLデータを用いることで、アウトライン以外のエッジを用いるよりも高精度に照合を行える。なお、処理部12は、PDLデータを用いない場合に、両画像のウトライン同士の比較を行ってもよい。
Further, when the
処理部12は、特定した投影像に含まれる三次元モデルの稜線と、撮影画像から抽出されたエッジ線とを表示する。例えば、処理部12は、表示画像50を表示装置20に表示させる。表示画像50は、稜線群51とエッジ線群52とを含む。稜線群51は、投影像32に含まれる三次元モデルの稜線の集合である。エッジ線群52は、撮影画像40から抽出された構造物画像41のエッジ線の集合である。
The
処理部12は、表示した稜線に含まれる所定数の稜線を、表示したエッジ線に含まれる所定数のエッジ線にそれぞれ対応付ける操作を受け付ける。例えば、情報処理装置10は、入力装置(図示を省略している)に接続される。ユーザは、入力装置を用いて、表示された稜線と表示されたエッジ線とを対応付ける操作を行える。例えば、ユーザは、表示画像50を見ながら、稜線群51に含まれる所定数の稜線を、エッジ線群52に含まれる所定数のエッジ線にそれぞれ対応付ける操作を行える。処理部12は、入力装置を介して、稜線とエッジ線とを対応付ける、ユーザの操作を受け付ける。
The
処理部12は、所定数の稜線の位置が、所定数の稜線に対応付けられた所定数のエッジ線の位置にそれぞれ対応する三次元モデルの第2の投影像を生成する。処理部12は、生成した第2の投影像を撮影画像に重畳表示する。図1では第2の投影像の図示を省略している。これにより、ユーザは、実際に製造された構造物の画像と、三次元モデルの画像とを比較可能となり、製造された構造物が設計通りに製造されているか否かを確認できる。
The
情報処理装置10によれば、撮像装置により撮像された構造物を含む撮影画像が取得される。構造物の三次元モデルから生成された複数の投影像が取得される。取得された複数の投影像の内、取得した撮影画像に含まれる構造物の形状に応じた第1の投影像が特定される。特定された第1の投影像に含まれる三次元モデルの稜線と、撮影画像から抽出されたエッジ線とが表示される。表示された稜線に含まれる所定数の稜線を、表示されたエッジ線に含まれる所定数のエッジ線にそれぞれ対応付ける操作が受け付けられる。所定数の稜線の位置が、所定数の稜線に対応付けられた所定数のエッジ線の位置にそれぞれ対応する三次元モデルの第2の投影像が生成される。生成した第2の投影像が撮影画像に重畳表示される。
According to the
これにより、三次元モデルの投影像を重畳表示させる際の作業負荷を軽減できる。
例えば、予め定められた特定の初期姿勢で三次元モデルを表示することも考えられる。しかし、撮影画像における構造物の姿勢と、三次元モデルの初期姿勢との乖離の度合いが大きいほど、両者の対比を適切に行うための、ユーザによる三次元モデルの姿勢変更の操作が難しくなる。
As a result, it is possible to reduce the workload when superimposing and displaying the projected image of the three-dimensional model.
For example, it is conceivable to display the three-dimensional model in a predetermined specific initial posture. However, the greater the degree of deviation between the posture of the structure in the captured image and the initial posture of the three-dimensional model, the more difficult it is for the user to change the posture of the three-dimensional model in order to appropriately compare the two.
そこで、情報処理装置10は、撮像された構造物の姿勢に近い初期姿勢の三次元モデルの投影像(第1の投影像)を特定し、特定した投影像を表示することで、撮影画像における構造物の姿勢と、三次元モデルの初期姿勢との乖離を小さくする。このため、ユーザは、例えば、表示画像50において、三次元モデルの初期姿勢に対応する稜線群51の所定数の稜線を、エッジ線群52に含まれる所定数のエッジ線に対応付ける操作を行うことも可能である。すなわち、ユーザは、三次元モデルの初期姿勢を、ユーザ自身の操作によって変更しなくてもよい。このように、ユーザによる操作を省略可能にすることで、ユーザの作業負荷を軽減できる。
Therefore, the
また、三次元モデルの稜線と、撮影画像から抽出されたエッジ線とのユーザによる対応付け操作を適切に行えるようになるので、撮影画像に写り込んだ構造物の姿勢に対して、当該姿勢に対応する第2の投影像を適切に生成し、重畳表示することが可能になる。こうして、情報処理装置10は、三次元モデルと製造された構造物との差異のユーザによる確認作業を容易に行えるように支援できる。
In addition, since the user can appropriately perform the association operation between the ridgeline of the three-dimensional model and the edge line extracted from the captured image, the posture of the structure reflected in the captured image can be changed to the relevant posture. The corresponding second projected image can be appropriately generated and superposed. In this way, the
[第2の実施の形態]
次に、第2の実施の形態を説明する。
図2は、第2の実施の形態の情報処理装置のハードウェア例を示す図である。
[Second Embodiment]
Next, a second embodiment will be described.
FIG. 2 is a diagram showing a hardware example of the information processing apparatus according to the second embodiment.
情報処理装置100は、CPU101、RAM102、HDD103、出力IF(InterFace)104、入力IF105,106、媒体リーダ107およびNIC(Network Interface Card)108を有する。なお、CPU101は、第1の実施の形態の処理部12に対応する。RAM102またはHDD103は、第1の実施の形態の記憶部11に対応する。
The
CPU101は、プログラムの命令を実行するプロセッサである。CPU101は、HDD103に記憶されたプログラムやデータの少なくとも一部をRAM102にロードし、プログラムを実行する。なお、CPU101は複数のプロセッサコアを含んでもよい。また、情報処理装置100は複数のプロセッサを有してもよい。以下で説明する処理は複数のプロセッサまたはプロセッサコアを用いて並列に実行されてもよい。また、複数のプロセッサの集合を「マルチプロセッサ」または単に「プロセッサ」と言うことがある。
The
RAM102は、CPU101が実行するプログラムやCPU101が演算に用いるデータを一時的に記憶する揮発性の半導体メモリである。なお、情報処理装置100は、RAM以外の種類のメモリを備えてもよく、複数個のメモリを備えてもよい。
The
HDD103は、OS(Operating System)やミドルウェアやアプリケーションソフトウェアなどのソフトウェアのプログラム、および、データを記憶する不揮発性の記憶装置である。なお、情報処理装置100は、フラッシュメモリやSSD(Solid State Drive)などの他の種類の記憶装置を備えてもよく、複数の不揮発性の記憶装置を備えてもよい。
The
出力IF104は、CPU101からの命令に従って、情報処理装置100に接続されたディスプレイ111に画像を出力する。ディスプレイ111としては、CRT(Cathode Ray Tube)ディスプレイ、液晶ディスプレイ(LCD:Liquid Crystal Display)、プラズマディスプレイ、有機EL(OEL:Organic Electro-Luminescence)ディスプレイなど、任意の種類のディスプレイを用いることができる。
The output IF 104 outputs an image to the
入力IF105は、情報処理装置100に接続された入力デバイス112から入力信号を取得し、CPU101に出力する。入力デバイス112としては、マウス・タッチパネル・タッチパッド・トラックボールなどのポインティングデバイス、キーボード、リモートコントローラ、ボタンスイッチなどを用いることができる。また、情報処理装置100に、複数の種類の入力デバイスが接続されていてもよい。
The input IF 105 acquires an input signal from the
入力IF106は、CPU101からの命令に従って、情報処理装置100に接続されたカメラ113から、カメラ113により撮像された画像データを取得し、RAM102やHDD103に格納する。カメラ113は、製造された物体(構造物)を撮像する撮像装置である。カメラ113は、ステレオカメラでもよい。
The input IF 106 acquires image data captured by the
媒体リーダ107は、記録媒体114に記録されたプログラムやデータを読み取る読み取り装置である。記録媒体114として、例えば、磁気ディスク、光ディスク、光磁気ディスク(MO:Magneto-Optical disk)、半導体メモリなどを使用できる。磁気ディスクには、フレキシブルディスク(FD:Flexible Disk)やHDDが含まれる。光ディスクには、CD(Compact Disc)やDVD(Digital Versatile Disc)が含まれる。
The
媒体リーダ107は、例えば、記録媒体114から読み取ったプログラムやデータを、RAM102やHDD103などの他の記録媒体にコピーする。読み取られたプログラムは、例えば、CPU101によって実行される。なお、記録媒体114は可搬型記録媒体であってもよく、プログラムやデータの配布に用いられることがある。また、記録媒体114やHDD103を、コンピュータ読み取り可能な記録媒体と言うことがある。
The
NIC108は、ネットワーク115に接続され、ネットワーク115を介して他のコンピュータと通信を行うインタフェースである。NIC108は、例えば、ネットワーク115に属するスイッチやルータなどの通信装置とケーブルで接続される。
The
図3は、情報処理装置の機能例を示す図である。
情報処理装置100は、CADデータ記憶部120、姿勢候補データ記憶部130、転置インデックス記憶部140、撮影画像記憶部150、姿勢候補管理部160および表示制御部170を有する。
FIG. 3 is a diagram showing a functional example of the information processing device.
The
CADデータ記憶部120、姿勢候補データ記憶部130、転置インデックス記憶部140および撮影画像記憶部150は、RAM102やHDD103の記憶領域を用いて実現される。姿勢候補管理部160および表示制御部170は、RAM102に記憶されたプログラムがCPU101により実行されることで実現される。
The CAD
CADデータ記憶部120は、三次元モデルのCADデータを記憶する。以下では、三次元モデルを「3D(Dimensions)モデル」と略記することがある。CADデータは、構造物(製品)の設計工程において、CADソフトウェアにより生成され、CADデータ記憶部120に予め格納される。
The CAD
姿勢候補データ記憶部130は、3Dモデルの姿勢候補データを記憶する。姿勢候補データは、複数の姿勢候補画像を含む。姿勢候補画像は、3Dモデルを様々な方向から眺めて3Dモデルを写した二次元画像(2D画像)である。
The posture candidate
転置インデックス記憶部140は、複数の姿勢候補画像それぞれに基づいて作成された転置インデックスを記憶する。転置インデックスは、姿勢候補画像から作成されたPDLデータに基づいて作成される。第2の実施の形態では、PDLの一例として、PostScriptを想定する。ただし、PostScript以外の他のPDLでもよい。
The inverted
撮影画像記憶部150は、カメラ113により撮像された撮影画像を記憶する。
姿勢候補管理部160は、CADデータ記憶部120に記憶されたCADデータに基づいて、複数の姿勢候補画像および姿勢候補画像毎の転置インデックスを生成する。姿勢候補管理部160は、姿勢候補データ生成部161、第1PDLデータ生成部162および転置インデックス生成部163を有する。
The captured
The posture
姿勢候補データ生成部161は、CADデータ記憶部120に記憶されたCADデータに基づいて、3Dモデルの姿勢を、所定の回転角度、所定の仰角刻みで変更したときの複数の姿勢候補画像を生成する。姿勢候補データ生成部161は、姿勢候補画像を、3Dモデルの回転角、仰角に対応付けて、姿勢候補データ記憶部130に格納する。
The posture candidate
第1PDLデータ生成部162は、姿勢候補データ記憶部130に記憶された姿勢候補画像に基づいて、姿勢候補画像に含まれる3Dモデルの形状を表すPDLデータ(本例ではPostScriptデータ)を生成する。第1PDLデータ生成部162は、姿勢候補画像から3Dモデルの形状のアウトラインを抽出し、アウトラインに対応するPDLデータを生成する。第1PDLデータ生成部162は、生成したPDLデータを、転置インデックス記憶部140に格納する。
The first PDL
ここで、アウトラインに着目する理由は、構造物の内側に存在するエッジは撮影位置によって取得できる場合と取得できない場合とがあるが、検査対象の構造物とそれ以外のものとの境界線であるアウトラインは必ず存在し、比較的精度良く取得できるためである。このため、アウトラインに対応するPDLデータを用いることで、後述される姿勢候補の絞込みの精度を向上させることができる。 Here, the reason for paying attention to the outline is that the edge existing inside the structure may or may not be acquired depending on the imaging position, but it is the boundary line between the structure to be inspected and other objects. This is because the outline always exists and can be acquired with relatively high accuracy. Therefore, by using the PDL data corresponding to the outline, it is possible to improve the accuracy of narrowing down the posture candidates described later.
転置インデックス生成部163は、第1PDLデータ生成部162により生成されたPDLデータに基づいて、転置インデックスを生成する。転置インデックス生成部163は、生成元のPDLデータまたは姿勢候補画像に対応付けて、生成した転置インデックスを転置インデックス記憶部140に格納する。
The inverted
表示制御部170は、ユーザにより検品作業などが行われる際に、カメラ113により撮像された撮影画像に含まれる構造物画像と、当該構造物の3Dモデルとをディスプレイ111に表示させることで、ユーザの作業を支援する。例えば、撮影画像に重ねて3Dモデルなどの画像を表示させる技術は、AR(Augmented Reality)と呼ばれる。表示制御部170は、第2PDLデータ生成部171、検索部172および表示処理部173を有する。
The
第2PDLデータ生成部171は、撮影画像に含まれる構造物画像の形状を表すPDLデータ(本例ではPostScriptデータ)を生成する。第2PDLデータ生成部171は、構造物画像から構造物の形状のアウトラインを抽出し、アウトラインに対応するPDLデータを生成する。第2PDLデータ生成部171は、生成したPDLデータを、検索部172に提供する。第2PDLデータ生成部171は、生成したPDLデータを、撮影画像記憶部150に格納してもよい。
The second PDL
検索部172は、転置インデックス記憶部140に記憶されたPDLデータまたは転置インデックスに基づいて、第2PDLデータ生成部171により生成されたPDLデータに最も良く一致する3Dモデルの姿勢のPDLデータまたは転置インデックスを検索する。検索部172は、検索したPDLデータまたは転置インデックスに対応する3Dモデルの識別情報を、表示処理部173に提供する。
The
表示処理部173は、検索部172から取得した識別情報に対応する姿勢候補画像(初期姿勢の姿勢候補画像)を姿勢候補データ記憶部130から取得する。表示処理部173は、撮影画像記憶部150に記憶された撮影画像に含まれる構造物画像と、取得した姿勢候補画像とをディスプレイ111により表示させる。
The
表示処理部173は、撮影画像に含まれる構造物画像のエッジ(エッジ線と言うこともある)と、姿勢候補画像に含まれるエッジとを対応付けるユーザの操作を受け付ける。表示処理部173は、CADデータ記憶部120に記憶されたCADデータに基づいて、姿勢候補画像におけるエッジの位置が、当該エッジに対応付けられた撮影画像内のエッジの位置にそれぞれ対応する3Dモデルの投影像を生成する。表示処理部173は、生成した投影像を撮影画像に重畳表示する。
The
図4は、姿勢候補テーブルの例を示す図である。
姿勢候補テーブル131は、姿勢候補データ記憶部130に記憶される姿勢候補データの一例である。姿勢候補テーブル131は、姿勢候補データ生成部161により生成される。姿勢候補テーブル131は、姿勢候補ID(IDentifier)、回転角、仰角および姿勢候補画像の項目を含む。
FIG. 4 is a diagram showing an example of a posture candidate table.
The posture candidate table 131 is an example of posture candidate data stored in the posture candidate
姿勢候補IDの項目には、姿勢候補の識別情報である姿勢候補IDが登録される。回転角の項目には、姿勢候補に対応する3Dモデルの回転角の情報が登録される。回転角は、例えば、3Dモデルが設置される水平面上に互いに直交するx軸およびy軸を定義したとき、x軸およびy軸に直交する鉛直方向のz軸回りの角度で与えられてもよい。あるいは、回転角は、上記x軸、y軸およびz軸それぞれの回りの角度で与えられてもよい。仰角の項目には、姿勢候補に対応する、3Dモデルを眺めたときの仰角(3Dモデルを見る視線と水平面との角度)の情報が登録される。姿勢候補画像の項目には、3Dモデルの姿勢候補の2D画像(姿勢候補画像)のデータが登録される。 In the item of posture candidate ID, the posture candidate ID which is the identification information of the posture candidate is registered. In the rotation angle item, information on the rotation angle of the 3D model corresponding to the posture candidate is registered. The angle of rotation may be given, for example, as an angle around the z-axis in the vertical direction orthogonal to the x-axis and the y-axis when the x-axis and the y-axis orthogonal to each other are defined on the horizontal plane on which the 3D model is installed. .. Alternatively, the angle of rotation may be given by an angle around each of the x-axis, y-axis, and z-axis. In the item of elevation angle, information on the elevation angle (angle between the line of sight looking at the 3D model and the horizontal plane) when the 3D model is viewed is registered, which corresponds to the posture candidate. In the item of the posture candidate image, the data of the 2D image (posture candidate image) of the posture candidate of the 3D model is registered.
例えば、姿勢候補テーブル131には、姿勢候補ID「1」、回転角「Z11」、仰角「Z21」、当該回転角および仰角に対応する姿勢候補画像を含むレコードが登録されている。 For example, in the posture candidate table 131, a record including a posture candidate ID "1", a rotation angle "Z11", an elevation angle "Z21", and a posture candidate image corresponding to the rotation angle and the elevation angle is registered.
一例では、姿勢候補データ生成部161は、1つの3Dモデルに対して、回転角を30°刻み、仰角を15°刻みで、それぞれ変化されたときの姿勢候補画像を生成し、姿勢候補テーブル131に登録する。ただし、姿勢候補データ生成部161は、更に細かい角度刻み、あるいは粗い角度刻みで、姿勢候補画像を生成して、姿勢候補テーブル131に登録してもよい。
In one example, the posture candidate
次に、姿勢候補データ生成部161により生成される姿勢候補画像の例を説明する。
図5は、姿勢候補画像の例を示す図である。
姿勢候補画像P1〜P12は、ある3Dモデルについて、仰角45°に対応する回転角30°刻みで生成された12個の姿勢候補画像である。姿勢候補画像P1は回転角0°の場合である。姿勢候補画像P2は回転角30°の場合である。姿勢候補画像P3は回転角60°の場合である。以降、同様に、姿勢候補画像P4〜P12も、回転角30°刻みで変化させた場合の姿勢候補画像となる。ここでは、仰角45°の場合が例示されているが、仰角0°、15°、45°、60°…それぞれに対して12個の姿勢候補画像が生成され、姿勢候補テーブル131に登録される。
Next, an example of the posture candidate image generated by the posture candidate
FIG. 5 is a diagram showing an example of a posture candidate image.
The posture candidate images P1 to P12 are 12 posture candidate images generated for a certain 3D model in increments of a rotation angle of 30 ° corresponding to an elevation angle of 45 °. The posture candidate image P1 is a case where the rotation angle is 0 °. The posture candidate image P2 is a case where the rotation angle is 30 °. The posture candidate image P3 is a case where the rotation angle is 60 °. Hereinafter, similarly, the posture candidate images P4 to P12 are also posture candidate images when the rotation angle is changed in increments of 30 °. Here, the case of an elevation angle of 45 ° is illustrated, but 12 posture candidate images are generated for each of the elevation angles of 0 °, 15 °, 45 °, 60 °, and so on, and are registered in the posture candidate table 131. ..
図6は、転置インデックステーブルの例を示す図である。
転置インデックステーブル141は、転置インデックス記憶部140に記憶される。転置インデックステーブル141に登録される情報は、第1PDLデータ生成部162および転置インデックス生成部163により生成される。転置インデックステーブル141は、姿勢候補ID、PDLデータおよび転置インデックスの項目を含む。
FIG. 6 is a diagram showing an example of an inverted index table.
The inverted index table 141 is stored in the inverted
姿勢候補IDの項目には、姿勢候補IDが登録される。PDLデータの項目には、PDLデータ(本例ではPostScriptデータ)が登録される。PDLデータは、第1PDLデータ生成部162により姿勢候補画像に基づいて生成される。転置インデックスの項目には、転置インデックスが生成される。転置インデックスは、転置インデックス生成部163によりPDLデータに基づいて生成される。
The posture candidate ID is registered in the posture candidate ID item. PDL data (PostScript data in this example) is registered in the PDL data item. The PDL data is generated by the first PDL
例えば、転置インデックステーブル141には、姿勢候補ID「1」、PDLデータ「PDL−D1」、転置インデックス「INDEX−T1」を含むレコードが登録されている。転置インデックステーブル141には、他の姿勢候補画像に対するPDLデータおよび転置インデックスのレコードも登録される。 For example, in the inverted index table 141, a record including a posture candidate ID “1”, PDL data “PDL-D1”, and an inverted index “INDEX-T1” is registered. PDL data and inverted index records for other posture candidate images are also registered in the inverted index table 141.
次に、例示した3Dモデルに対して製造された構造物を撮像した撮影画像の例を説明する。
図7は、撮影画像の例を示す図である。
Next, an example of a photographed image of a structure manufactured with respect to the illustrated 3D model will be described.
FIG. 7 is a diagram showing an example of a captured image.
撮影画像151は、製造された構造物がカメラ113により撮像されることで、生成される。情報処理装置100は、カメラ113から撮影画像151を取得し、撮影画像記憶部150に格納する。撮影画像151は、構造物画像151aを含む。構造物画像151aは、構造物の2D画像である。
The captured
図8は、撮影画像に含まれるアウトラインの例を示す図である。
アウトライン画像152は、アウトライン152aを含む画像である。アウトライン152aは、構造物画像151aの外周のエッジを繋いだ輪郭線である。アウトライン152aは、撮影画像151に基づいて、第2PDLデータ生成部171により特定される。例えば、第2PDLデータ生成部171は、撮影画像151において画素値が比較的大きく異なる(例えば、画素値に閾値以上の差がある)領域間の境界線を特定することで、撮影画像151に含まれるエッジを検出する。第2PDLデータ生成部171は、検出された複数のエッジのうちの幾つかのエッジに囲われた領域を検出し、当該領域を囲う各エッジを繋いだ閉じた線をアウトライン152aとして抽出する。
FIG. 8 is a diagram showing an example of an outline included in a captured image.
The
あるいは、カメラ113は、物体を2つの異なる方向から同時に撮影するステレオカメラ(双眼カメラ)、または、左右に可動可能な単眼カメラでもよい。この場合、第2PDLデータ生成部171は、既存の技術によって、カメラ113により撮像された2つの撮影画像に基づき、視差による構造物のアウトライン152aの識別を行うこともできる。
Alternatively, the
次に、第1PDLデータ生成部162により姿勢候補画像から抽出されるエッジの例を説明する。一例として、前述の姿勢候補画像P2に対するエッジの例を説明する。
図9は、姿勢候補画像に含まれるエッジの例を示す図である。
Next, an example of the edge extracted from the posture candidate image by the first PDL
FIG. 9 is a diagram showing an example of an edge included in the posture candidate image.
姿勢候補画像P2aは、姿勢候補画像P2に含まれるエッジのうち、当該姿勢候補に対応する3Dモデルの形状のアウトラインP21aを強調したものである。姿勢候補画像P2aのうち、太線で表した線が、アウトラインP21aに相当する。第1PDLデータ生成部162は、第2PDLデータ生成部171と同様の処理により、姿勢候補画像P2aからアウトラインP21aを抽出する。
The posture candidate image P2a emphasizes the outline P21a of the shape of the 3D model corresponding to the posture candidate among the edges included in the posture candidate image P2. Of the posture candidate images P2a, the line represented by the thick line corresponds to the outline P21a. The first PDL
姿勢候補画像P2bは、姿勢候補画像P2に含まれる、アウトラインP21aに属さないエッジの一部であるエッジP21b,P22b,P24b,P23bを強調したものである。姿勢候補画像P2bのうち、太線で表した4つの線分がエッジP21b,P22b,P24b,P23bに相当する。ここで、エッジは、3Dモデルにおける2つの面により形成される稜線であるとも言える。 The posture candidate image P2b emphasizes the edges P21b, P22b, P24b, and P23b included in the posture candidate image P2, which are a part of the edges that do not belong to the outline P21a. Of the posture candidate images P2b, the four line segments represented by thick lines correspond to the edges P21b, P22b, P24b, and P23b. Here, it can be said that the edge is a ridge line formed by two surfaces in the 3D model.
図10は、姿勢候補画像のアウトライン上の点の例を示す図である。
アウトラインP21aの形状は、アウトラインP21a上の点の座標および点間を結ぶ線(線分または曲線)により表される。アウトラインP21a上の点として、2つのエッジが接続する点(アウトラインP21a上の節点)が用いられる。
FIG. 10 is a diagram showing an example of points on the outline of the posture candidate image.
The shape of the outline P21a is represented by the coordinates of the points on the outline P21a and the lines (line segments or curves) connecting the points. As a point on the outline P21a, a point where the two edges connect (a node on the outline P21a) is used.
例えば、姿勢候補画像P2に対して、正規化された座標が定義される。姿勢候補画像P2の横方向の座標をX軸とし、左側から右側へ向かう方向をX軸の正方向とする。また、姿勢候補画像P2の縦方向の座標をY軸とし、下側から上側へ向かう方向をY軸の正方向とする。座標の原点Oは、姿勢候補画像P2における3Dモデルの中心の点(例えば、アウトラインP21aで表される形状の重心など)である。そして、各姿勢候補画像におけるX軸方向のサイズ、および、Y軸方向のサイズが一定サイズになるように、姿勢候補画像P2のX軸方向のサイズおよびY軸方向のサイズが正規化される。 For example, normalized coordinates are defined for the posture candidate image P2. The lateral coordinates of the posture candidate image P2 are defined as the X-axis, and the direction from the left side to the right side is defined as the positive direction of the X-axis. Further, the vertical coordinates of the posture candidate image P2 are defined as the Y axis, and the direction from the lower side to the upper side is defined as the positive direction of the Y axis. The origin O of the coordinates is a point at the center of the 3D model in the posture candidate image P2 (for example, the center of gravity of the shape represented by the outline P21a). Then, the size in the X-axis direction and the size in the Y-axis direction of the posture candidate image P2 are normalized so that the size in the X-axis direction and the size in the Y-axis direction in each posture candidate image are constant.
図8で例示したアウトライン152aについても同様に、姿勢候補画像とサイズが一致するように正規化された座標系を定義し、各点の座標や各点を結ぶ線(線分または曲線)の情報を用いることで、アウトライン152aの形状を表すことができる。例えば、線分であれば線分の位置や線分の延びる方向を含むベクトルの情報、曲線であれば曲線の位置や曲線を定義する制御点の情報を得ることができ、これらの線分や曲線の情報の組み合わせにより、アウトライン152aの形状が表される。
Similarly, for the
ここで、各姿勢候補画像のアウトラインおよびアウトライン152aに対して、各点および2つの点を結ぶ線の抽出順は、第1PDLデータ生成部162および第2PDLデータ生成部171に予め定められる。第1PDLデータ生成部162および第2PDLデータ生成部171は、それぞれ予め定められた抽出順に従って、アウトラインに対応するPDLデータを生成する。例えば、第1PDLデータ生成部162および第2PDLデータ生成部171は、物体の中心を基準点(原点)として正規化した画像のうち、XYが共に正の領域内に存在する、原点から最も遠い点(始点)から時計回りに各点を辿るようにアウトラインに相当するPDLデータを生成する。ここで、「物体の中心」は、例えば、3Dモデルや構造物画像のアウトラインで表される形状の重心などである。
Here, with respect to the outline and
図10の例では、アウトラインP21a上の点として、12個の点A〜Lおよび2個の点α,βが示されている。制御点B,α,β,Cは、点B,Cを端点とするベジェ曲線を表す。この場合、点A〜Lおよび点α,βそれぞれの座標と、点A〜Lの各点を結ぶ線(線分または曲線)を、アウトラインP21aの形状を表す情報として用いることができる。例えば、図10の例では、XYが共に正の領域内に存在する、原点から最も遠い点は、点Aである。したがって、第1PDLデータ生成部162は、点A,B,α,β,C,D,…,Lのように時計回りに、順番に、点および点間を結ぶ線を記述したPDLデータを生成する。
In the example of FIG. 10, 12 points A to L and two points α and β are shown as points on the outline P21a. Control points B, α, β, and C represent Bezier curves with points B and C as end points. In this case, the coordinates of the points A to L and the points α and β and the line (line segment or curve) connecting the points A to L can be used as information representing the shape of the outline P21a. For example, in the example of FIG. 10, the point farthest from the origin where both XY are in the positive region is the point A. Therefore, the first PDL
図11は、各姿勢候補画像に含まれる線分の例を示す図である。
点Aは、姿勢候補画像P1〜P12それぞれにおける3Dモデルのアウトラインの始点である。点Bは、姿勢候補画像P1〜P12それぞれにおける始点の次の点である。姿勢候補画像P1〜P12それぞれにおける点A,Bを結ぶ線分がアウトラインに対するPDLデータで最初に記述される線分(エッジ)である。
FIG. 11 is a diagram showing an example of a line segment included in each posture candidate image.
Point A is the starting point of the outline of the 3D model in each of the posture candidate images P1 to P12. The point B is the next point after the start point in each of the posture candidate images P1 to P12. The line segment connecting the points A and B in each of the posture candidate images P1 to P12 is the line segment (edge) first described in the PDL data for the outline.
図11で例示されるように、同じ3Dモデルであっても、アウトラインにより表される形状は姿勢候補画像毎に異なる。これは、3Dモデルを様々な角度から観察したときの視線方向に対して視認可能な3Dモデルのエッジが異なるためである。 As illustrated in FIG. 11, even in the same 3D model, the shape represented by the outline differs for each posture candidate image. This is because the visible edges of the 3D model differ from the line-of-sight direction when the 3D model is observed from various angles.
図12は、視線方向に応じたアウトラインの変化の例を示す図である。
例えば、透明でない三角柱の3DモデルV1を考える。3DモデルV1は、高さ方向のエッジV11,V12,V13を有する。観察点aは、エッジV11,V13を含む面に臨む。したがって、観察点aから3DモデルV1が観察されたとき、エッジV11,V13は観察されるが、エッジV12は観察されない。また、観察点bは、エッジV12,V13を含む面に臨む。したがって、観察点bから3DモデルV1が観察されたとき、エッジV12,V13は観察されるが、エッジV11は観察されない。
FIG. 12 is a diagram showing an example of a change in the outline according to the line-of-sight direction.
For example, consider a 3D model V1 with a non-transparent triangular prism. The 3D model V1 has height edges V11, V12, V13. The observation point a faces the surface including the edges V11 and V13. Therefore, when the 3D model V1 is observed from the observation point a, the edges V11 and V13 are observed, but the edge V12 is not observed. Further, the observation point b faces the surface including the edges V12 and V13. Therefore, when the 3D model V1 is observed from the observation point b, the edges V12 and V13 are observed, but the edge V11 is not observed.
図12の例は単純な形状を例示したが、複雑な形状を有する3Dモデルでは、姿勢候補画像毎に、観察可能なエッジが異なるため、姿勢候補画像に対するアウトラインにより表される形状も異なることになる。 The example of FIG. 12 illustrates a simple shape, but in a 3D model having a complicated shape, the observable edge is different for each posture candidate image, so that the shape represented by the outline for the posture candidate image is also different. Become.
検索部172は、姿勢候補画像毎のアウトラインに含まれる線分を基に、撮影画像に含まれるアウトラインに類似する姿勢候補画像のアウトラインを特定する。次に、検索部172による姿勢候補の絞込み例を説明する。
The
図13は、姿勢候補の絞込み例を示す図である。
ここでは、一例として、アウトライン画像152に対する姿勢候補画像P1〜P12の絞込みを説明する。アウトライン画像152は、アウトライン152aで表される形状の中心を原点として正規化後のXY座標系において、XYが共に正である領域に点A,Bを含む。姿勢候補画像P1〜P12のうち、正規化後のXY座標系において、XYが共に正である領域に点A,Bが含まれている姿勢候補画像は、姿勢候補画像P2,P6〜P9である。
FIG. 13 is a diagram showing an example of narrowing down posture candidates.
Here, as an example, the narrowing down of the posture candidate images P1 to P12 with respect to the
したがって、検索部172は、姿勢候補画像P1〜P12から姿勢候補画像P2,P6〜P9に絞り込む。検索部172は、姿勢候補画像P1,P3〜P5,P10〜P12を候補から除外する。
Therefore, the
図14は、姿勢候補の絞込み例(続き)を示す図である。
アウトライン画像152は、正規化後のXY座標系において、XYが共に正である領域に、端点として点B,Cを含み、点B,C以外に点α,βを制御点とする曲線を含む。姿勢候補画像P2,P6〜P9のうち、正規化後のXY座標系において、XYが共に正である領域に、端点として点B,Cを含み、点B,C以外に点α,βを制御点とする曲線を含む姿勢候補画像は、姿勢候補画像P2である。
FIG. 14 is a diagram showing an example (continued) of narrowing down posture candidates.
In the normalized XY coordinate system, the
したがって、検索部172は、姿勢候補画像P2,P6〜P9から姿勢候補画像P2に絞り込む。検索部172は、姿勢候補画像P6〜P9を候補から除外する。
こうして、検索部172は、姿勢候補画像P1〜P12の中から、アウトライン152aに最も良く類似する3Dモデルのアウトラインに対応する姿勢候補画像P2を特定する。
Therefore, the
In this way, the
検索部172は、図13,図14で例示した照合を、アウトラインに対応するPDLデータまたはPDLデータの転置インデックスを用いて行える。次に、PDLデータとして、PostScriptデータを用いる場合の転置インデックスの例を説明する。ただし、PostScriptに限定されるものではなく、PostScript以外の形式のPDLデータでもよい。
The
図15は、PostScriptに対する転置インデックスの例を示す図である。
図15に示す例では、アウトライン200のPostScriptデータを生成する場合を説明する。アウトライン200は、線分201、曲線202、線分203および線分204により形成される。線分201は、点A,Bを端点とする線分である。曲線202は点B,Cを端点とする曲線であり、制御点B,C,α,βにより曲線の形状が決定されるベジェ曲線である。
FIG. 15 is a diagram showing an example of an inverted index for PostScript.
In the example shown in FIG. 15, a case where PostScript data of
第1PDLデータ生成部162および第2PDLデータ生成部171は、点A,B,C,D,α,βを基にして、アウトライン200のPostScriptデータ210を生成する。PostScriptデータ210は、PDLデータの一例である。
The first PDL
PostScriptデータ210は、パラメータ「Xa,Ya」、「Xb,Yb」、「Xα,Yα」、「Xβ,Yβ」、「Xc,Yc」を含む。「Xa,Ya」は、点Aの座標を示す。「Xb,Yb」は、点Bの座標を示す。「Xα,Yα」は、点αの座標を示す。「Xβ,Yβ」は、点βの座標を示す。「Xc,Yc」は、点Cの座標を示す。
The
PostScriptデータ210は、複数の種類のコマンドを含む。具体的には、コマンド「newpath」、「moveto」、「lineto」、「curveto」、「stroke」、「showpage」である。コマンドは、制御文と呼ばれてもよい。
The
転置インデックス生成部163は、PostScriptデータ210に含まれる文字列を、上段の行から順番に読み込み、読み込んだ文字列を並べることで、PostScript変換データ220を生成する。
The inverted
転置インデックス生成部163は、PostScript変換データ220に含まれるコマンドまたは座標と、当該コマンド又は座標の出現位置とに基づいて、転置インデックス230を生成する。転置インデックス230の横軸は、オフセットに対応する値である。転置インデックス230の縦軸は、コマンドまたは座標に対応する軸である。
The inverted
オフセットは、PostScript変換データ220の先頭からの位置を示す。PostScript変換データ220の先頭位置のオフセットを「0」とし、その後は、コマンドまたは座標の単位で、オフセットに1が加算される。例えば、PostScript変換データ220の例では、「newpath」、「Xa,Ya」、「moveto」、…のオフセットは、それぞれ、「0」、「1」、「2」、…となる。
The offset indicates the position from the beginning of the
転置インデックス生成部163は、PostScript変換データ220を走査して、「オフセット」と、「コマンドまたは座標」との対応関係を特定する。転置インデックス生成部163は、特定した「オフセット」と、「コマンドまたは座標」の対応関係を基に、転置インデックス230にフラグ「1」を設定する。転置インデックス230のフラグ「1」以外の箇所は、「0」となる。
The inverted
例えば、PostScript変換データ220のオフセット「0」には、コマンド「newpath」が出現する。このため、転置インデックス生成部163は、転置インデックスのオフセット「0」と、コマンド「newpath」とが交差する位置に、フラグ「1」を設定する。転置インデックス生成部163は、PostScript変換データ220に含まれるコマンドまたは座標を、オフセット「0」から順に辿り、上記の処理を繰り返し実行することで、転置インデックス230を生成する。
For example, the command "newpath" appears at the offset "0" of the
転置インデックス生成部163は、転置インデックスをハッシュ化することで、転置インデックスのデータサイズを小さくしてもよい。例えば、転置インデックス生成部163は、ビットマップの折り返し技術を用いて、転置インデックスを素数(底)でハッシュ化し得る。
The inverted
図16は、転置インデックスのハッシュ化の例を示す図である。
図16で説明する例では、32ビットレジスタを想定する。例えば、転置インデックス生成部163は、情報処理装置100が有する32ビットのレジスタを用いて、転置インデックスのハッシュ化を行える。また、一例として、転置インデックス生成部163は、「29」と「31」の素数(底)を基に、転置インデックスの各行のビットマップをハッシュ化するものとする。ここでは、ビットマップb1から、ハッシュ化ビットマップh11およびハッシュ化ビットマップh12を生成する場合について説明する。
FIG. 16 is a diagram showing an example of hashing of an inverted index.
In the example described with reference to FIG. 16, a 32-bit register is assumed. For example, the inverted
ビットマップb1は、転置インデックス(例えば、図15に示した転置インデックス230)のある行を抽出したビットマップを示すものとする。ハッシュ化ビットマップh11は、底「29」によりハッシュ化されたビットマップである。ハッシュ化ビットマップh12は、底「31」によりハッシュ化されたビットマップである。
Bitmap b1 is assumed to indicate a bitmap obtained by extracting a row having an inverted index (for example, an
転置インデックス生成部163は、ビットマップb1の各ビットの位置を、1つの底で割った余りの値を、ハッシュ化ビットマップの位置と対応付ける。転置インデックス生成部163は、該当するビットマップb1のビットの位置に「1」が設定されている場合には、対応付けられたハッシュ化ビットマップの位置に「1」を設定する処理を行う。
The inverted
ビットマップb1から、底「29」のハッシュ化ビットマップh11を生成する処理の一例について説明する。まず、転置インデックス生成部163は、ビットマップb1の位置「0〜28」の情報を、ハッシュ化ビットマップh11にコピーする。
An example of the process of generating the hashed bitmap h11 of the base “29” from the bitmap b1 will be described. First, the inverted
ビットマップb1のビットの位置「35」を、底「29」で割った余りは「6」となるので、ビットマップb1の位置「35」は、ハッシュ化ビットマップh11の位置「6」と対応付けられる。転置インデックス生成部163は、ビットマップb1の位置「35」に「1」が設定されているため、ハッシュ化ビットマップh11の位置「6」に「1」を設定する。
Since the remainder obtained by dividing the bit position "35" of the bitmap b1 by the base "29" is "6", the position "35" of the bitmap b1 corresponds to the position "6" of the hashed bitmap h11. Can be attached. Since the inverted
ビットマップb1のビットの位置「43」を、底「29」で割った余りは「14」となるので、ビットマップb1の位置「43」は、ハッシュ化ビットマップh11の位置「14」と対応付けられる。転置インデックス生成部163は、ビットマップb1の位置「43」に「1」が設定されているため、ハッシュ化ビットマップh11の位置「14」に「1」を設定する。
Since the remainder obtained by dividing the bit position "43" of the bitmap b1 by the base "29" is "14", the position "43" of the bitmap b1 corresponds to the position "14" of the hashed bitmap h11. Can be attached. Since the inverted
転置インデックス生成部163は、ビットマップb1の位置「29」以上の位置に関し、「1」が設定されている位置について、上記処理を繰り返し実行することで、ハッシュ化ビットマップh11を生成する。なお、転置インデックス生成部163は、ビットマップb1の位置「29」以上の位置に関し、「0」が設定されている位置についてはスキップして次の位置の処理を行う。
The inverted
次に、ビットマップb1から、底「31」のハッシュ化ビットマップh12を生成する処理の一例について説明する。まず、転置インデックス生成部163は、ビットマップb1の位置「0〜30」の情報を、ハッシュ化ビットマップh12にコピーする。
Next, an example of the process of generating the hashed bitmap h12 of the base "31" from the bitmap b1 will be described. First, the inverted
ビットマップb1のビットの位置「35」を、底「31」で割った余りは「4」となるので、ビットマップb1の位置「35」は、ハッシュ化ビットマップh12の位置「4」と対応付けられる。転置インデックス生成部163は、ビットマップb1の位置「35」に「1」が設定されているため、ハッシュ化ビットマップh12の位置「4」に「1」を設定する。
Since the remainder obtained by dividing the bit position "35" of the bitmap b1 by the base "31" is "4", the position "35" of the bitmap b1 corresponds to the position "4" of the hashed bitmap h12. Can be attached. Since the inverted
ビットマップb1のビットの位置「43」を、底「31」で割った余りは「12」となるので、ビットマップb1の位置「43」は、ハッシュ化ビットマップh12の位置「12」と対応付けられる。転置インデックス生成部163は、ビットマップb1の位置「43」に「1」が設定されているため、ハッシュ化ビットマップh12の位置「12」に「1」を設定する。
Since the remainder obtained by dividing the bit position "43" of the bitmap b1 by the base "31" is "12", the position "43" of the bitmap b1 corresponds to the position "12" of the hashed bitmap h12. Can be attached. Since the inverted
転置インデックス生成部163は、ビットマップb1の位置「31」以上の位置に関し、「1」が設定されている位置について、上記処理を繰り返し実行することで、ハッシュ化ビットマップh12を生成する。なお、転置インデックス生成部163は、ビットマップb1の位置「31」以上の位置に関し、「0」が設定されている位置についてはスキップして次の位置の処理を行う。
The inverted
転置インデックス生成部163は、転置インデックスの各行について上記の折り返し技術による圧縮を行うことで、ハッシュ化転置インデックスを生成する。なお、底「29」、「31」のハッシュ化ビットマップは、生成元のビットマップの行(コマンドまたは座標)の情報が付与される。
The inverted
図17は、転置インデックスのハッシュ値の例を示す図である。
ハッシュ化ビットマップh21は、コマンド「moveto」に対応するハッシュ化ビットマップの一例である。ハッシュ化ビットマップh22は、コマンド「lineto」に対応するハッシュ化ビットマップの一例である。ハッシュ化ビットマップh23は、座標「Xa,Ya」に対応するハッシュ化ビットマップの一例である。このように、PostScriptデータに含まれるコマンドおよび座標毎に、ハッシュ化ビットマップが生成される。転置インデックス生成部163は、転置インデックスに代えて、ハッシュ化ビットマップを転置インデックス記憶部140に保存することで、転置インデックスのサイズが比較的大きい(本例では64ビットより大きい)場合に、保存するデータサイズを圧縮できる。
FIG. 17 is a diagram showing an example of a hash value of an inverted index.
The hashed bitmap h21 is an example of a hashed bitmap corresponding to the command “movetto”. The hashed bitmap h22 is an example of a hashed bitmap corresponding to the command “lineto”. The hashed bitmap h23 is an example of a hashed bitmap corresponding to the coordinates “Xa, Ya”. In this way, a hashed bitmap is generated for each command and coordinates included in the PostScript data. The inverted
ハッシュ化ビットマップが用いられる場合、検索部172は、次のようにして、ハッシュ化ビットマップから転置インデックスを復元し、姿勢候補の絞込みに用いる。
図18は、転置インデックスの復元例を示す図である。
When the hashed bitmap is used, the
FIG. 18 is a diagram showing an example of restoration of an inverted index.
ここでは一例として、検索部172が、ハッシュ化ビットマップh11およびハッシュ化ビットマップh12を基にして、ビットマップb1を復元する場合を説明する。
図18(A)は、転置インデックスの復元の手順のうち、ハッシュ化ビットマップから中間ビットマップへ展開するステップを示す。
Here, as an example, a case where the
FIG. 18A shows a step of expanding from a hashed bitmap to an intermediate bitmap in the procedure of restoring the inverted index.
検索部172は、底「29」のハッシュ化ビットマップh11から、中間ビットマップh11aを生成する。検索部172は、ハッシュ化ビットマップh11の位置0〜28の値を、中間ビットマップh11aの位置0〜28にそれぞれ、コピーする。
The
検索部172は、中間ビットマップh11aの位置29以降の値については、「29」毎に、ハッシュ化ビットマップh11の位置0〜28の値を、それぞれコピーする処理を繰り返し実行する。図18では、中間ビットマップh11aの位置29〜43の位置に、ハッシュ化ビットマップh11の位置0〜14の値を、コピーした例を示す。
The
検索部172は、底「31」のハッシュ化ビットマップh12から、中間ビットマップh12aを生成する。検索部172は、ハッシュ化ビットマップh12の位置0〜30の値を、中間ビットマップh12aの位置0〜30にそれぞれ、コピーする。
The
検索部172は、中間ビットマップh12aの位置31以降の値については、「31」毎に、ハッシュ化ビットマップh12の位置0〜30の値を、それぞれコピーする処理を繰り返し実行する。図18では、中間ビットマップh12aの位置31〜43の位置に、ハッシュ化ビットマップh12の位置0〜12の値を、コピーした例を示す。
The
こうして、ハッシュ化ビットマップから中間ビットマップが生成される。
図18(B)は、転置インデックスの復元の手順のうち、中間ビットマップ同士のAND演算を行うステップを示す。
In this way, an intermediate bitmap is generated from the hashed bitmap.
FIG. 18B shows a step of performing an AND operation between intermediate bitmaps in the procedure of restoring the inverted index.
検索部172は、中間ビットマップh11aと、中間ビットマップh12aとをAND演算することで、ハッシュ化前のビットマップb1を復元する。検索部172は、他のハッシュ化されたビットマップについても、同様の処理を繰り返し実行することで、コマンドまたは座標に対応するビットマップを生成することができる。こうして、転置インデックスが復元される。
The
図19は、転置インデックスの絞込み例を示す図である。
検索部172は、転置インデックスの絞込みにより、撮影画像151から抽出されるアウトライン152aに対応する姿勢候補画像の検索を行う。例えば、検索部172は、第2PDLデータ生成部171からアウトライン152aに対応するPostScriptデータを取得する。そして、検索部172は、PostScriptデータに含まれるコマンドまたは座標が、各姿勢候補画像に対応するPostScriptデータに含まれるかを、転置インデックスを用いて照合する。
FIG. 19 is a diagram showing an example of narrowing down the inverted index.
The
例えば、アウトライン152aに対応するPostScritpデータのオフセット「6」〜「9」に対応する位置(あるいは別の位置でもよい)に「newpath Xa Ya moveto …」の文字列が含まれているとする。なお、図中、「newpath」を「np」と略記し、「moveto」を「mt」と略記することがある。
For example, it is assumed that the character string "newpath Xa Ya moveo ..." is included in the position (or may be another position) corresponding to the offsets "6" to "9" of the PostScript data corresponding to the
この場合、検索部172は、転置インデックスのコマンド「newpath」に対応するビットマップを復元する(ステップST1)。図19では、オフセット「6」がフラグ「1」であるビットマップの一例として、ビットマップb11が示されている。
In this case, the
検索部172は、ビットマップb11を左シフトし、ビットマップb12を得る(ステップST2)。検索部172は、該当の転置インデックスの座標「Xa Ya」に対応するビットマップを復元する(ステップST3)。
The
検索部172は、ビットマップb12,b13のAND演算を行い、ビットマップb14を得る(ステップST4)。ビットマップb14において、オフセット「7」がフラグ「1」の場合、該当の転置インデックスに対応するPostScriptデータは、オフセット「6」、「7」に対応する位置に「newpath Xa Ya」の文字列を含むことが分かる。この時点で、「newpath Xa Ya」の文字列を含まない転置インデックスに対応する姿勢候補は、候補としての優先度(アウトライン152aに対する類似度)が下げられるか、または、候補から除外される。
The
続いて、検索部172は、ビットマップb14を左シフトし、ビットマップb15を得る(ステップST5)。検索部172は、該当の転置インデックスのコマンド「moveto」に対応するビットマップb16を復元する(ステップST6)。
Subsequently, the
検索部172は、ビットマップb15,b16のAND演算を行い、ビットマップb17を得る(ステップST7)。ビットマップb17において、オフセット「8」がフラグ「1」の場合、該当の転置インデックスに対応するPostScriptデータは、オフセット「6」〜「8」に対応する位置に「newpath Xa Ya moveto」の文字列を含むことが分かる。この時点で、「newpath Xa Ya moveto」の文字列を含まない転置インデックスに対応する姿勢候補は、候補としての優先度が下げられるか、または、候補から除外される。
The
以降、同様に、検索部172は、ビットマップb17を左シフトし、ビットマップb18を得る(ステップST8)。そして、検索部172は、ビットマップb18に基づいて、(姿勢候補画像に対応するPostScriptデータにおいて)後続するコマンドまたは座標を特定し、アウトライン152aのPostScriptデータのコマンドまたは座標と照合できる。例えば、検索部172は、転置インデックスを用いた照合によって、各姿勢候補画像から生成されたアウトラインのPostScriptデータのうち、アウトライン152aのPostScriptデータに含まれる一連の文字列と一致する度合い(類似度)が最も高いものを検索する。
After that, similarly, the
ところで、製造された構造物をカメラ113により撮像する際に、構造物の周囲の他の構造物(他の物体)が撮影画像に写り込んだりすることで、構造物のアウトラインを撮影画像から適切に抽出できないことがある。
By the way, when the manufactured structure is imaged by the
図20は、アウトラインの誤検出の例を示す図である。
撮影画像153は、対象の構造物の構造物画像153aと、他の構造物の構造物画像153bとを含む。例えば、カメラ113による撮像時、他の構造物が、対象の構造物の手前に置かれていると、撮影画像153で示されるように、構造物画像153bにより、対象の構造物の一部が隠れた構造物画像153aが取得されることがある。
FIG. 20 is a diagram showing an example of false detection of an outline.
The captured
この場合、第2PDLデータ生成部171は、撮影画像153に基づいて、アウトライン画像154を生成する可能性がある。アウトライン画像154は、構造物画像153a,153bに基づいて検出されたアウトライン154aを含む。しかし、アウトライン154aは、対象の構造物以外の構造物の輪郭も含んでおり、対象の構造物のアウトラインとしては不適切である。
In this case, the second PDL
そこで、表示処理部173は、こうしたアウトラインの誤検出時の修正機能を提供する。
図21は、アウトラインの誤検出時の修正例を示す図である。
Therefore, the
FIG. 21 is a diagram showing a correction example when an outline is erroneously detected.
図21(A)は、アウトラインの抽出範囲の指定例を示す。例えば、表示処理部173は、アウトライン154aをディスプレイ111により表示させ、アウトライン154aが適切であるか否かのユーザの確認を促す。ユーザによりアウトライン154aが不適切であると判断される場合、表示処理部173は、撮影画像153におけるアウトラインの抽出範囲の、ユーザによる指定を受け付ける。例えば、ユーザは、入力デバイス112によりポインタK1を操作して、撮影画像153における対象の構造物のアウトラインの抽出範囲R1を指定できる。表示処理部173は、指定された抽出範囲R1の情報を第2PDLデータ生成部171に提供する。第2PDLデータは、取得した抽出範囲R1の範囲内で、再度、アウトラインの抽出を実行する。
FIG. 21 (A) shows an example of designating the outline extraction range. For example, the
図21(B)は、アウトラインの補完例を示す。例えば、表示処理部173は、アウトライン154aをディスプレイ111により表示させ、アウトライン154aが適切であるか否かのユーザの確認を促す。ユーザによりアウトライン154aが不適切であると判断される場合、表示処理部173は、アウトライン154aにおいて不足している線分154bの、ユーザによる補完を受け付ける。例えば、ユーザは、入力デバイス112によりポインタK1を操作して、アウトライン画像154における追加の線分154bを入力できる。図21(B)では、追加された線分であることが分かり易いように、線分154bの両端に丸印を付している。線分154bの両端の丸印は、線分154bの両端に相当する他、線154cの両端、線154d(図中、点線で表されている)の両端にも相当している。
FIG. 21B shows an example of complementing the outline. For example, the
この場合、表示処理部173は、アウトライン154aの一部である線154cと、追加された線分154bとの組み合わせを、修正後のアウトラインとして選択するユーザの操作を更に受け付けてもよい。すると、第2PDLデータ生成部171は、表示処理部173により取得された情報に基づいて、アウトライン154aの一部である線154dを除去し、線分154bと線154cとを組み合わせた線を、修正後のアウトラインとして検出する。
In this case, the
なお、第2PDLデータ生成部171は、撮影画像151や撮影画像153において、画素値などによる物体の境界の判別が適切に行えずにエッジを細切れに検出し、アウトラインを形成するエッジの組み合わせを抽出できないこともある。この場合にも、第2PDLデータ生成部171は、図21(B)で例示したようにユーザによる線分の追加を受け付けることで、アウトラインを補完することができる。
The second PDL
次に、情報処理装置100による処理手順を説明する。なお、各姿勢候補画像および各姿勢候補画像に対するPDLデータ(例えば、PostScriptデータ)や転置インデックスは、下記の手順が開始される前に作成され、姿勢候補データ記憶部130および転置インデックス記憶部140に予め格納される。
Next, the processing procedure by the
図22は、アウトライン抽出の例を示すフローチャートである。
(S10)第2PDLデータ生成部171は、撮影画像記憶部150に記憶された撮影画像151を解析し、画素値に所定値以上の差がある領域の境界線を特定する。
FIG. 22 is a flowchart showing an example of outline extraction.
(S10) The second PDL
(S11)第2PDLデータ生成部171は、特定した境界線をエッジとして抽出する。第2PDLデータ生成部171は、抽出したエッジにより形成されるアウトラインを含むアウトライン画像を生成する。表示処理部173は、撮影画像151と、生成されたアウトライン画像とをディスプレイ111により表示させ、ユーザによる確認を促す。なお、アウトラインの抽出範囲のユーザによる指定がある場合、第2PDLデータ生成部171は、指定された範囲に含まれるエッジに基づいてアウトラインを検出し、アウトライン画像を生成する。
(S11) The second PDL
(S12)第2PDLデータ生成部171は、ユーザによるアウトラインの抽出範囲の変更入力があるか否かを判定する。変更入力がある場合、ステップS13に処理が進む。変更入力がない場合、ステップS14に処理が進む。
(S12) The second PDL
(S13)第2PDLデータ生成部171は、アウトラインの抽出範囲を、ユーザにより指定された範囲に変更する。そして、ステップS11に処理が進む。
(S14)第2PDLデータ生成部171は、ユーザによるアウトラインの補完入力があるか否かを判定する。補完入力がある場合、ステップS15に処理が進む。補完入力がない場合、ステップS16に処理が進む。
(S13) The second PDL
(S14) The second PDL
(S15)第2PDLデータ生成部171は、ユーザによるアウトラインの補完の入力内容で、アウトラインを補完する。
(S16)第2PDLデータ生成部171は、抽出したアウトラインのPDLデータ(例えば、PostScriptデータ)を生成し、検索部172に提供する。そして、アウトライン抽出の処理が終了する。
(S15) The second PDL
(S16) The second PDL
このように、第2PDLデータ生成部171は、撮影画像151を取得すると、撮影画像151に含まれる構造物の形状を表すアウトライン候補の線を表示し、撮影画像151におけるアウトライン候補の線の抽出範囲の指定、または、アウトライン候補の線を補完する線の入力を受け付ける。これにより、撮影画像151に写る構造物のアウトラインを適切に取得することができる。その結果、後段の処理における姿勢候補画像の特定精度を向上させることができる。
In this way, when the second PDL
図23は、姿勢候補の絞込み例を示すフローチャートである。
(S20)検索部172は、姿勢候補画像の全てのアウトラインのPDLデータと、撮影画像151から取得したアウトラインのPDLデータとを比較する。ここで、検索部172は、当該比較に転置インデックスを用いることができる。検索部172は、転置インデックスを用いることで、姿勢候補の絞込みを高速に実行できる。ただし、検索部172は、転置インデックスを用いずに、PDLデータ同士を比較してもよい。また、検索部172は、撮影画像151から取得したアウトラインのPDLデータに対しても転置インデックスを生成し、転置インデックス同士を照合してもよい。
FIG. 23 is a flowchart showing an example of narrowing down posture candidates.
(S20) The
(S21)検索部172は、2つのPDLデータ(姿勢候補画像のアウトラインのPDLデータおよび撮影画像151から取得したアウトラインのPDLデータ)に含まれる座標情報やベクトル情報を基に、当該2つのPDLデータの類似度を算出する。例えば、検索部172は、撮影画像151から取得したアウトラインのPDLデータに含まれるコマンドや座標を表す一連の文字列に一致する度合いが高いほど、該当の姿勢候補画像のアウトラインのPDLデータの類似度を大きくする。検索部172は、例えば、座標間の距離が短いほど、座標間の一致度合いを大きくすることが考えられる。
(S21) The
(S22)検索部172は、類似度が最も高い3Dモデルの姿勢候補の姿勢候補IDを、表示処理部173に提供する。表示処理部173は、姿勢候補テーブル131に基づいて、該当の姿勢候補IDに対応する姿勢候補画像P2を出力する。具体的には、表示処理部173は、撮影画像151と共に、該当の姿勢候補IDに対応する姿勢候補画像P2を、ディスプレイ111により表示させる。そして、姿勢候補の絞込みの処理が終了する。
(S22) The
なお、ステップS22において、表示処理部173は、撮影画像151に代えて、または、撮影画像151と共に、撮影画像151から抽出された複数のエッジを出力してもよい。また、表示処理部173は、姿勢候補画像P2に代えて、または、姿勢候補画像P2と共に、姿勢候補画像P2から抽出された複数のエッジを出力してもよい。
In step S22, the
ユーザは、撮影画像151と共に表示された姿勢候補画像P2を確認して、姿勢候補画像P2に含まれるエッジと撮影画像151に含まれるエッジとを対応付ける操作を行える。
The user can confirm the posture candidate image P2 displayed together with the captured
このように、検索部172は、姿勢候補画像(第1の投影像)の特定の際、複数の候補画像それぞれの第1のアウトラインを示す情報と撮影画像151に含まれる構造物の第2のアウトラインを示す情報とを比較し、第2のアウトラインとの一致の度合いが最も高い第1のアウトラインに対応する姿勢候補画像を特定する。
As described above, when the
例えば、第1のアウトラインを示す情報は、第1のアウトラインの描画命令を含む第1のテキスト情報(PDLデータ)である。また、第2のアウトラインを示す情報は、第2のアウトラインの描画命令を含む第2のテキスト情報(PDLデータ)である。検索部172は、第1および第2のアウトラインを示す情報の比較では、第2のテキスト情報と記述内容が一致する度合いが最も高い第1のテキスト情報に対応する姿勢候補画像を特定する。これにより、撮影画像に対応する姿勢候補画像を効率的に特定できる。例えば、姿勢候補画像の特定精度が向上する。また、姿勢候補画像を高速に検索できる。
For example, the information indicating the first outline is the first text information (PDL data) including the drawing command of the first outline. Further, the information indicating the second outline is the second text information (PDL data) including the drawing command of the second outline. In the comparison of the information showing the first and second outlines, the
また、検索部172は、第1および第2のテキスト情報の記述内容の比較では、図19で例示したように、複数の描画命令それぞれの第1のテキスト情報における出現位置を示す転置インデックスに基づいて、第1および第2のテキスト情報それぞれに含まれる描画命令と描画命令の出現順序とを比較する。これにより、姿勢候補画像を一層高速に検索できる。
In addition, the
図24は、3Dモデル重畳制御例を示すフローチャートである。
(S30)表示処理部173は、3Dモデルの姿勢候補画像P2のエッジ(稜線)と撮影画像151のエッジとを対応付ける、ユーザの操作を受け付ける。
FIG. 24 is a flowchart showing an example of 3D model superimposition control.
(S30) The
(S31)表示処理部173は、CADデータ記憶部120に記憶された3DモデルのCADデータに基づいて、撮影画像151のエッジに、3Dモデルのエッジを対応付けた3Dモデルの投影像を生成する。表示処理部173は、既存の技術により、撮影画像151のエッジに、3Dモデルのエッジを対応付けた3Dモデルの投影像を生成できる。
(S31) The
(S32)表示処理部173は、生成した3Dモデルの投影像を、撮影画像151に重畳表示する。そして、3Dモデル重畳制御の処理が終了する。
ユーザは、撮影画像151に重畳表示された3Dモデルの投影像を、撮影画像151における構造物画像151aと見比べることで、製造された構造物の検品などの作業を容易に行うことができる。
(S32) The
By comparing the projected image of the 3D model superimposed on the captured
図25は、姿勢候補画像の初期表示例を示す図である。
図25では、図23のステップS22の処理により、ディスプレイ111に表示される画面300の例を示す。画面300は撮影画像151および姿勢候補画像P2を含む。
FIG. 25 is a diagram showing an initial display example of the posture candidate image.
FIG. 25 shows an example of the
姿勢候補画像P2における3Dモデルの姿勢は、撮影画像151における構造物の姿勢に近似する。したがって、ユーザは、姿勢候補画像P2に映し出されている3Dモデルの姿勢を変更する操作を行わなくても、姿勢候補画像P2における3Dモデルのエッジと、撮影画像151における構造物のエッジとを対応付ける操作を容易に行うことができる。例えば、ユーザは、入力デバイス112によりポインタK1を操作して、撮影画像151に含まれる点Q11,Q12を結ぶエッジと、姿勢候補画像P2に含まれる点Q21,Q22を結ぶエッジとを容易に対応付けることができる。
The posture of the 3D model in the posture candidate image P2 approximates the posture of the structure in the captured
図26は、姿勢候補画像の初期表示の比較例を示す図である。
図26では、比較例として、撮影画像151と、予め定められた初期姿勢の姿勢候補画像P3とを含む画面400の例を示す。この場合、姿勢候補画像P3における3Dモデルの初期姿勢は、3Dモデルを仰角90°の方向から眺めたときの姿勢であり、撮影画像151における構造物の姿勢(構造物を仰角約45°の所定方向から眺めたときの姿勢)と乖離している。このため、ユーザは、姿勢候補画像P3に映し出されている3Dモデルの姿勢を変更(回転)する操作を行わなければ、撮影画像151における構造物のエッジと、姿勢候補画像P3における3Dモデルのエッジとの対応を確認することが難しい。このため、入力デバイス112によりポインタK1を操作して、姿勢候補画像P3における3Dモデルの姿勢を変更する操作を、ユーザに強いることになる。3Dモデルの姿勢を変更して、撮影画像151における構造物の姿勢に合わせる操作は、比較的経験の浅いユーザにとって難しいこともある。
FIG. 26 is a diagram showing a comparative example of initial display of posture candidate images.
In FIG. 26, as a comparative example, an example of the
そこで、情報処理装置100は、図25で例示したように、ユーザによる3Dモデルの姿勢変更の操作を省略可能にし、ユーザによる作業の効率化(例えば、作業時間の短縮)を図れる。
Therefore, as illustrated in FIG. 25, the
特に、アウトラインに対応するPDLデータ(例えば、PostScriptデータ)を利用することにより、3Dモデルの姿勢候補を精度良く絞り込むことができる。
また、姿勢候補の絞込みに転置インデックスを用いることで、絞込みの処理を高速化できる。
In particular, by using the PDL data corresponding to the outline (for example, PostScript data), the posture candidates of the 3D model can be narrowed down with high accuracy.
Further, by using the inverted index for narrowing down the posture candidates, the narrowing down process can be speeded up.
なお、第1の実施の形態の情報処理は、処理部12にプログラムを実行させることで実現できる。また、第2の実施の形態の情報処理は、CPU101にプログラムを実行させることで実現できる。プログラムは、コンピュータ読み取り可能な記録媒体114に記録できる。
The information processing of the first embodiment can be realized by causing the
例えば、プログラムを記録した記録媒体114を配布することで、プログラムを流通させることができる。また、プログラムを他のコンピュータに格納しておき、ネットワーク経由でプログラムを配布してもよい。コンピュータは、例えば、記録媒体114に記録されたプログラムまたは他のコンピュータから受信したプログラムを、RAM102やHDD103などの記憶装置に格納し(インストールし)、当該記憶装置からプログラムを読み込んで実行してもよい。
For example, the program can be distributed by distributing the
10 情報処理装置
11 記憶部
12 処理部
20 表示装置
31,32,33 投影像
40 撮影画像
41 構造物画像
50 表示画像
51 稜線群
52 エッジ線群
10
Claims (7)
撮像装置により撮像された構造物を含む撮影画像を取得し、
前記構造物の三次元モデルから生成された複数の投影像を取得し、
取得した前記複数の投影像の内、取得した前記撮影画像に含まれる前記構造物の形状に応じた第1の投影像を特定し、
特定した前記第1の投影像に含まれる前記三次元モデルの稜線と、前記撮影画像から抽出されたエッジ線とを表示し、
表示した前記稜線に含まれる所定数の稜線を、表示した前記エッジ線に含まれる所定数のエッジ線にそれぞれ対応付ける操作を受け付けると、前記所定数の稜線の位置が、前記所定数の稜線に対応付けられた前記所定数のエッジ線の位置にそれぞれ対応する前記三次元モデルの第2の投影像を生成し、
生成した前記第2の投影像を前記撮影画像に重畳表示する、
ことを特徴とする表示制御方法。 The computer
Acquire a photographed image including the structure imaged by the image pickup device,
Obtain multiple projection images generated from the three-dimensional model of the structure,
Among the plurality of acquired projected images, the first projected image corresponding to the shape of the structure included in the acquired captured image is specified.
The ridge line of the three-dimensional model included in the specified first projection image and the edge line extracted from the captured image are displayed.
When an operation of associating a predetermined number of ridge lines included in the displayed ridge line with a predetermined number of edge lines included in the displayed edge line is accepted, the positions of the predetermined number of ridge lines correspond to the predetermined number of ridge lines. A second projection image of the three-dimensional model corresponding to each of the positions of the predetermined number of attached edge lines is generated.
The generated second projection image is superimposed and displayed on the captured image.
A display control method characterized by that.
前記第1および前記第2のアウトラインを示す情報の比較では、前記第2のテキスト情報と記述内容が一致する度合いが最も高い前記第1のテキスト情報に対応する前記第1の投影像を特定する、
請求項2記載の表示制御方法。 The information indicating the first outline is the first text information including the drawing instruction of the first outline, and the information indicating the second outline is the second text information including the drawing instruction of the second outline. It is the text information of
In the comparison of the information showing the first and the second outline, the first projection image corresponding to the first text information having the highest degree of matching between the second text information and the description content is specified. ,
The display control method according to claim 2.
撮像装置により撮像された構造物を含む撮影画像を取得し、
前記構造物の三次元モデルから生成された複数の投影像を取得し、
取得した前記複数の投影像の内、取得した前記撮影画像に含まれる前記構造物の形状に応じた第1の投影像を特定し、
特定した前記第1の投影像に含まれる前記三次元モデルの稜線と、前記撮影画像から抽出されたエッジ線とを表示し、
表示した前記稜線に含まれる所定数の稜線を、表示した前記エッジ線に含まれる所定数のエッジ線にそれぞれ対応付ける操作を受け付けると、前記所定数の稜線の位置が、前記所定数の稜線に対応付けられた前記所定数のエッジ線の位置にそれぞれ対応する前記三次元モデルの第2の投影像を生成し、
生成した前記第2の投影像を前記撮影画像に重畳表示する、
処理を実行させることを特徴とする表示制御プログラム。 On the computer
Acquire a photographed image including the structure imaged by the image pickup device,
Obtain multiple projection images generated from the three-dimensional model of the structure,
Among the plurality of acquired projected images, the first projected image corresponding to the shape of the structure included in the acquired captured image is specified.
The ridge line of the three-dimensional model included in the specified first projection image and the edge line extracted from the captured image are displayed.
When an operation of associating a predetermined number of ridge lines included in the displayed ridge line with a predetermined number of edge lines included in the displayed edge line is accepted, the positions of the predetermined number of ridge lines correspond to the predetermined number of ridge lines. A second projection image of the three-dimensional model corresponding to each of the positions of the predetermined number of attached edge lines is generated.
The generated second projection image is superimposed and displayed on the captured image.
A display control program characterized by executing processing.
撮像装置により撮像された前記構造物を含む撮影画像を取得し、前記構造物の前記複数の投影像を前記記憶部から取得し、取得した前記複数の投影像の内、取得した前記撮影画像に含まれる前記構造物の形状に応じた第1の投影像を特定し、特定した前記第1の投影像に含まれる前記三次元モデルの稜線と、前記撮影画像から抽出されたエッジ線とを表示し、表示した前記稜線に含まれる所定数の稜線を、表示した前記エッジ線に含まれる所定数のエッジ線にそれぞれ対応付ける操作を受け付けると、前記所定数の稜線の位置が、前記所定数の稜線に対応付けられた前記所定数のエッジ線の位置にそれぞれ対応する前記三次元モデルの第2の投影像を生成し、生成した前記第2の投影像を前記撮影画像に重畳表示する処理部と、
を有することを特徴とする情報処理装置。 A storage unit that stores multiple projected images generated from a three-dimensional model of a structure,
A photographed image including the structure captured by the imaging device is acquired, the plurality of projected images of the structure are acquired from the storage unit, and among the acquired plurality of projected images, the acquired image is used. A first projected image corresponding to the shape of the included structure is specified, and the ridgeline of the three-dimensional model included in the specified first projected image and the edge line extracted from the captured image are displayed. Then, when an operation of associating a predetermined number of ridge lines included in the displayed ridge line with a predetermined number of edge lines included in the displayed edge line is received, the position of the predetermined number of ridge lines is changed to the predetermined number of ridge lines. A processing unit that generates a second projected image of the three-dimensional model corresponding to each of the positions of the predetermined number of edge lines associated with, and superimposes and displays the generated second projected image on the captured image. ,
An information processing device characterized by having.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019101130A JP7265143B2 (en) | 2019-05-30 | 2019-05-30 | Display control method, display control program and information processing device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019101130A JP7265143B2 (en) | 2019-05-30 | 2019-05-30 | Display control method, display control program and information processing device |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2020194482A true JP2020194482A (en) | 2020-12-03 |
JP7265143B2 JP7265143B2 (en) | 2023-04-26 |
Family
ID=73546427
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019101130A Active JP7265143B2 (en) | 2019-05-30 | 2019-05-30 | Display control method, display control program and information processing device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7265143B2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7311696B1 (en) | 2022-10-18 | 2023-07-19 | 川田テクノシステム株式会社 | MULTI-SCREEN DISPLAY SYSTEM, MULTI-SCREEN DISPLAY DEVICE, AND MULTI-SCREEN DISPLAY PROGRAM |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1151611A (en) * | 1997-07-31 | 1999-02-26 | Tokyo Electric Power Co Inc:The | Device and method for recognizing position and posture of object to be recognized |
JP2010176380A (en) * | 2009-01-29 | 2010-08-12 | Sony Corp | Information processing device and method, program, and recording medium |
JP2017091078A (en) * | 2015-11-06 | 2017-05-25 | 富士通株式会社 | Superimposed display method, superimposed display device, and superimposed display program |
JP2017187882A (en) * | 2016-04-04 | 2017-10-12 | セイコーエプソン株式会社 | Computer program used for image processing |
JP2018142109A (en) * | 2017-02-27 | 2018-09-13 | 富士通株式会社 | Display control program, display control method, and display control apparatus |
-
2019
- 2019-05-30 JP JP2019101130A patent/JP7265143B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1151611A (en) * | 1997-07-31 | 1999-02-26 | Tokyo Electric Power Co Inc:The | Device and method for recognizing position and posture of object to be recognized |
JP2010176380A (en) * | 2009-01-29 | 2010-08-12 | Sony Corp | Information processing device and method, program, and recording medium |
JP2017091078A (en) * | 2015-11-06 | 2017-05-25 | 富士通株式会社 | Superimposed display method, superimposed display device, and superimposed display program |
JP2017187882A (en) * | 2016-04-04 | 2017-10-12 | セイコーエプソン株式会社 | Computer program used for image processing |
JP2018142109A (en) * | 2017-02-27 | 2018-09-13 | 富士通株式会社 | Display control program, display control method, and display control apparatus |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7311696B1 (en) | 2022-10-18 | 2023-07-19 | 川田テクノシステム株式会社 | MULTI-SCREEN DISPLAY SYSTEM, MULTI-SCREEN DISPLAY DEVICE, AND MULTI-SCREEN DISPLAY PROGRAM |
JP2024059505A (en) * | 2022-10-18 | 2024-05-01 | 川田テクノシステム株式会社 | Multi-screen display system, multi-screen display device, and multi-screen display program |
Also Published As
Publication number | Publication date |
---|---|
JP7265143B2 (en) | 2023-04-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107810522B (en) | Real-time, model-based object detection and pose estimation | |
US10964049B2 (en) | Method and device for determining pose of camera | |
CN107430686B (en) | Crowd-sourced creation and updating of area description files for mobile device positioning | |
Mian et al. | A novel representation and feature matching algorithm for automatic pairwise registration of range images | |
EP2491529B1 (en) | Providing a descriptor for at least one feature of an image | |
EP3502621B1 (en) | Visual localisation | |
US11842514B1 (en) | Determining a pose of an object from rgb-d images | |
EP3295129B1 (en) | Privacy filtering of area description file prior to upload | |
US9633281B2 (en) | Point cloud matching method | |
CN102834845A (en) | Method and arrangement for multi-camera calibration | |
JP2018526698A (en) | Privacy sensitive queries in localization area description files | |
JP2018523881A (en) | Method and system for aligning data | |
US11189053B2 (en) | Information processing apparatus, method of controlling information processing apparatus, and non-transitory computer-readable storage medium | |
CN116596755B (en) | Method, device, equipment and storage medium for splicing point cloud data | |
CN109559347A (en) | Object identifying method, device, system and storage medium | |
JP7241812B2 (en) | Information visualization system, information visualization method, and program | |
JP7265143B2 (en) | Display control method, display control program and information processing device | |
US11205091B2 (en) | Object information registration apparatus and object information registration method | |
JP6544482B2 (en) | Object recognition apparatus, object recognition method and storage medium | |
Skuratovskyi et al. | Outdoor mapping framework: from images to 3d model | |
US11580156B2 (en) | Workpiece image search apparatus and workpiece image search method | |
JP6946912B2 (en) | Estimator program, estimator, and estimation method | |
US11321914B1 (en) | System for generating a navigational map of an environment | |
Méndez et al. | Comparative study of point cloud registration techniques between ICP and others | |
You et al. | Improved Boundary Identification of Stacked Objects with Sparse LiDAR Augmentation Scanning |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220208 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20230227 |
|
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: 20230314 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20230327 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7265143 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |