JP2020194482A - Display control method, display control program, and information processor - Google Patents

Display control method, display control program, and information processor Download PDF

Info

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
Application number
JP2019101130A
Other languages
Japanese (ja)
Other versions
JP7265143B2 (en
Inventor
夢都 盛
Yumeto Mori
夢都 盛
片岡 正弘
Masahiro Kataoka
正弘 片岡
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2019101130A priority Critical patent/JP7265143B2/en
Publication of JP2020194482A publication Critical patent/JP2020194482A/en
Application granted granted Critical
Publication of JP7265143B2 publication Critical patent/JP7265143B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Processing Or Creating Images (AREA)
  • Image Analysis (AREA)

Abstract

To reduce workload when projection images of three-dimensional models are displayed in a superimposed manner.SOLUTION: A processing section 12 acquires a captured image 40 including a structure captured by an imaging device and acquires projection images 31,32,33, etc. of the structure from a storage section 11. The processing section 12 determines the projection image 32 (a first projection image) corresponding to a shape of the structure included in the captured image 40 among the projection images 31,32,33, etc., and displays ridge lines (a ridge line group 51) for a three-dimensional model included in the identified projection image 32 and edge lines (an edge line group 52) extracted from the captured image 40. The processing section 12 generates a projection image (a second projection image) of the three-dimensional model in which positions of a predetermined number of ridge lines are respectively associated with positions of the predetermined number of edge lines associated with the predetermined number of ridge lines when receiving an operation for respectively associating the predetermined number of ridge lines included in the displayed ridge lines with the predetermined number of edge lines included in the displayed edge lines. The processing section 12 superimposes the generated projection image on the captured image.SELECTED DRAWING: Figure 1

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.

特開2018−142109号公報Japanese Unexamined Patent Publication No. 2018-142109 特開2017−182274号公報JP-A-2017-182274 特開2012−180191号公報Japanese Unexamined Patent Publication No. 2012-180191

情報処理装置により、構造物の撮影画像と当該構造物に対応する三次元モデルとを画面に表示し、三次元モデルの姿勢を変更させるユーザの操作に応じて、表示中の三次元モデルの姿勢を変更して、構造物の撮影画像と三次元モデルとを対比可能にすることがある。この場合、三次元モデルを最初に表示するときの三次元モデルの姿勢が問題になる。 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の実施の形態の情報処理装置を示す図である。It is a figure which shows the information processing apparatus of 1st Embodiment. 第2の実施の形態の情報処理装置のハードウェア例を示す図である。It is a figure which shows the hardware example of the information processing apparatus of the 2nd Embodiment. 情報処理装置の機能例を示す図である。It is a figure which shows the functional example of an information processing apparatus. 姿勢候補テーブルの例を示す図である。It is a figure which shows the example of the posture candidate table. 姿勢候補画像の例を示す図である。It is a figure which shows the example of the posture candidate image. 転置インデックステーブルの例を示す図である。It is a figure which shows the example of the inverted index table. 撮影画像の例を示す図である。It is a figure which shows the example of the photographed image. 撮影画像に含まれるアウトラインの例を示す図である。It is a figure which shows the example of the outline included in the photographed image. 姿勢候補画像に含まれるエッジの例を示す図である。It is a figure which shows the example of the edge included in the posture candidate image. 姿勢候補画像のアウトライン上の点の例を示す図である。It is a figure which shows the example of the point on the outline of a posture candidate image. 各姿勢候補画像に含まれる線分の例を示す図である。It is a figure which shows the example of the line segment included in each posture candidate image. 視線方向に応じたアウトラインの変化の例を示す図である。It is a figure which shows the example of the change of the outline according to the line-of-sight direction. 姿勢候補の絞込み例を示す図である。It is a figure which shows the example of narrowing down a posture candidate. 姿勢候補の絞込み例(続き)を示す図である。It is a figure which shows the example (continuation) of narrowing down a posture candidate. PostScriptに対する転置インデックスの例を示す図である。It is a figure which shows the example of the inverted index with respect to PostScript. 転置インデックスのハッシュ化の例を示す図である。It is a figure which shows the example of the hashing of an inverted index. 転置インデックスのハッシュ値の例を示す図である。It is a figure which shows the example of the hash value of an inverted index. 転置インデックスの復元例を示す図である。It is a figure which shows the restoration example of an inverted index. 転置インデックスの絞込み例を示す図である。It is a figure which shows the narrowing-down example of an inverted index. アウトラインの誤検出の例を示す図である。It is a figure which shows the example of false detection of an outline. アウトラインの誤検出時の修正例を示す図である。It is a figure which shows the correction example at the time of false detection of an outline. アウトライン抽出の例を示すフローチャートである。It is a flowchart which shows the example of outline extraction. 姿勢候補の絞込み例を示すフローチャートである。It is a flowchart which shows the narrowing-down example of a posture candidate. 3Dモデル重畳制御例を示すフローチャートである。It is a flowchart which shows the example of 3D model superimposition control. 姿勢候補画像の初期表示例を示す図である。It is a figure which shows the initial display example of a posture candidate image. 姿勢候補画像の初期表示の比較例を示す図である。It is a figure which shows the comparative example of the initial display of a posture candidate image.

以下、本実施の形態について図面を参照して説明する。
[第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 information processing device 10 supports the comparison between the captured image of the structure and the three-dimensional model. The information processing device 10 is connected to the display device 20. The information processing device 10 has a storage unit 11 and a processing unit 12.

記憶部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 storage unit 11 may be a volatile storage device such as a RAM (Random Access Memory) or a non-volatile storage device such as an HDD (Hard Disk Drive) or a flash memory. The processing unit 12 may include a CPU (Central Processing Unit), a DSP (Digital Signal Processor), an ASIC (Application Specific Integrated Circuit), an FPGA (Field Programmable Gate Array), and the like. The processing unit 12 may be a processor that executes a program. A "processor" can include a set of multiple processors (multiprocessors).

記憶部11は、構造物の三次元モデルから生成された複数の投影像を記憶する。例えば、記憶部11は、対象の構造物の三次元モデルから生成された投影像31,32,33,…を記憶する。投影像31,32,33,…は、三次元モデルの姿勢を回転角度A1、仰角A2刻みで変化させたときの、三次元モデルから生成された二次元画像である。投影像31,32,33,…の座標系(例えば、横方向をx軸、縦方向をy軸とする)は、予め正規化される。投影像31,32,33の原点位置は所定の位置(例えば各画像の中心)となる。 The storage unit 11 stores a plurality of projected images generated from the three-dimensional model of the structure. For example, the storage unit 11 stores the projection images 31, 32, 33, ... Generated from the three-dimensional model of the target structure. The projected images 31, 32, 33, ... Are two-dimensional images generated from the three-dimensional model when the posture of the three-dimensional model is changed in steps of the rotation angle A1 and the elevation angle A2. The coordinate systems of the projected images 31, 32, 33, ... (For example, the horizontal direction is the x-axis and the vertical direction is the y-axis) are normalized in advance. The origin positions of the projected images 31, 32, and 33 are predetermined positions (for example, the center of each image).

処理部12は、撮像装置により撮像された構造物を含む撮影画像を取得する。図1では撮像装置の図示を省略している。例えば、処理部12は、撮影画像40を取得する。撮影画像40は、構造物画像41を含む。構造物画像41は、撮像装置により撮像された構造物の画像である。構造物画像41は、撮像した方向から見たときの構造物の形状を示す画像であるとも言える。 The processing unit 12 acquires a photographed image including a structure imaged by the imaging device. In FIG. 1, the illustration of the imaging device is omitted. For example, the processing unit 12 acquires the captured image 40. The captured image 40 includes the structure image 41. The structure image 41 is an image of the structure captured by the imaging device. It can be said that the structure image 41 is an image showing the shape of the structure when viewed from the imaged direction.

処理部12は、構造物の三次元モデルから生成された複数の投影像を取得する。例えば、処理部12は、構造物画像41に対応する構造物の三次元モデルから生成された投影像31,32,33,…を記憶部11から取得する。 The processing unit 12 acquires a plurality of projected images generated from the three-dimensional model of the structure. For example, the processing unit 12 acquires projection images 31, 32, 33, ... Generated from the three-dimensional model of the structure corresponding to the structure image 41 from the storage unit 11.

処理部12は、取得した複数の投影像の内、取得した撮影画像に含まれる構造物の形状に応じた第1の投影像を特定する。例えば、処理部12は、投影像31,32,33,…の内、撮影画像40に含まれる構造物の形状に応じた投影像32を特定する。 The processing unit 12 identifies the first projected image according to the shape of the structure included in the acquired captured image from the acquired plurality of projected images. For example, the processing unit 12 identifies the projected image 32 according to the shape of the structure included in the captured image 40 among the projected images 31, 32, 33, ....

より具体的には、処理部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 processing unit 12 normalizes the coordinate system of the captured image 40 according to the coordinate system of the projected images 31, 32, 33, .... The origin position of the captured image 40 is a position corresponding to each of the projection images 31, 32, 33, .... The processing unit 12 extracts the position of the edge included in the structure image 41, the direction in which the edge extends, the position of the curve, and the like from the normalized captured image 40. The processing unit 12 determines the position of the edge extracted from the structure image 41, the direction in which the edge extends, the position of the curve, and the like, the position of the ridge line included in the projected images 31, 32, 33, ..., The direction in which the ridge line extends. , And match the position of the curve. Among the projected images 31, 32, 33, ..., The processing unit 12 identifies the projected image 32 that best matches the structure image 41 by collation.

処理部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 processing unit 12. For example, the processing unit 12 may perform collation using data (PDL data) represented in a page description language (PDL). PDL is a data format that expresses an image as text information. An example of PDL is PostScript®. The processing unit 12 collates the PDL data representing the shape of the structure based on the structure image 41 with the PDL data representing the shape of the three-dimensional model based on the projected images 31, 32, 33, ..., By collating the structure. The projected image 32 that best matches the object image 41 may be specified. By performing collation using PDL data, collation can be executed at a higher speed than performing collation using image data.

あるいは、処理部12は、PDLデータの転置インデックスを照合に用いてもよい。例えば、処理部12は、投影像31,32,33,…それぞれのPDLデータに対して転置インデックスを作成しておくことが考えられる。処理部12は、転置インデックスに基づいて、投影像31,32,33,…それぞれのPDLデータのうち、構造物画像41のPDLデータと記述内容が類似する、投影像に対応するPDLデータを検索してもよい。転置インデックスを用いることで、より高速に照合を実行できる。 Alternatively, the processing unit 12 may use the inverted index of the PDL data for collation. For example, it is conceivable that the processing unit 12 creates an inverted index for each of the PDL data of the projected images 31, 32, 33, .... Based on the inverted index, the processing unit 12 searches the PDL data corresponding to the projected image, which has similar description contents to the PDL data of the structure image 41, among the PDL data of the projected images 31, 32, 33, ... You may. Collation can be executed faster by using the inverted index.

更に、処理部12は、構造物画像41と投影像31,32,33,…との比較にPDLデータを用いる場合、構造物画像41における構造物の形状のアウトラインや投影像31,32,33,…それぞれに基づく三次元モデルの形状のアウトラインに対応するPDLデータを作成してもよい。アウトラインに対応するPDLデータを用いることで、アウトライン以外のエッジを用いるよりも高精度に照合を行える。なお、処理部12は、PDLデータを用いない場合に、両画像のウトライン同士の比較を行ってもよい。 Further, when the processing unit 12 uses the PDL data for comparing the structure image 41 with the projected images 31, 32, 33, ..., The processing unit 12 outlines the shape of the structure in the structure image 41 and the projected images 31, 32, 33. , ... PDL data corresponding to the outline of the shape of the three-dimensional model based on each may be created. By using the PDL data corresponding to the outline, the collation can be performed with higher accuracy than using the edge other than the outline. In addition, when PDL data is not used, the processing unit 12 may compare the outlines of both images.

処理部12は、特定した投影像に含まれる三次元モデルの稜線と、撮影画像から抽出されたエッジ線とを表示する。例えば、処理部12は、表示画像50を表示装置20に表示させる。表示画像50は、稜線群51とエッジ線群52とを含む。稜線群51は、投影像32に含まれる三次元モデルの稜線の集合である。エッジ線群52は、撮影画像40から抽出された構造物画像41のエッジ線の集合である。 The processing unit 12 displays the ridge line of the three-dimensional model included in the specified projection image and the edge line extracted from the captured image. For example, the processing unit 12 causes the display device 20 to display the display image 50. The display image 50 includes a ridge line group 51 and an edge line group 52. The ridge line group 51 is a set of ridge lines of the three-dimensional model included in the projection image 32. The edge line group 52 is a set of edge lines of the structure image 41 extracted from the captured image 40.

処理部12は、表示した稜線に含まれる所定数の稜線を、表示したエッジ線に含まれる所定数のエッジ線にそれぞれ対応付ける操作を受け付ける。例えば、情報処理装置10は、入力装置(図示を省略している)に接続される。ユーザは、入力装置を用いて、表示された稜線と表示されたエッジ線とを対応付ける操作を行える。例えば、ユーザは、表示画像50を見ながら、稜線群51に含まれる所定数の稜線を、エッジ線群52に含まれる所定数のエッジ線にそれぞれ対応付ける操作を行える。処理部12は、入力装置を介して、稜線とエッジ線とを対応付ける、ユーザの操作を受け付ける。 The processing unit 12 accepts an operation of associating a predetermined number of ridge lines included in the displayed ridge lines with a predetermined number of edge lines included in the displayed edge lines. For example, the information processing device 10 is connected to an input device (not shown). The user can use the input device to perform an operation of associating the displayed ridge line with the displayed edge line. For example, the user can perform an operation of associating a predetermined number of ridge lines included in the ridge line group 51 with a predetermined number of edge lines included in the edge line group 52 while looking at the display image 50. The processing unit 12 accepts a user's operation of associating a ridge line with an edge line via an input device.

処理部12は、所定数の稜線の位置が、所定数の稜線に対応付けられた所定数のエッジ線の位置にそれぞれ対応する三次元モデルの第2の投影像を生成する。処理部12は、生成した第2の投影像を撮影画像に重畳表示する。図1では第2の投影像の図示を省略している。これにより、ユーザは、実際に製造された構造物の画像と、三次元モデルの画像とを比較可能となり、製造された構造物が設計通りに製造されているか否かを確認できる。 The processing unit 12 generates a second projection image of the three-dimensional model in which the positions of the predetermined number of ridge lines correspond to the positions of the predetermined number of edge lines associated with the predetermined number of ridge lines. The processing unit 12 superimposes and displays the generated second projected image on the captured image. In FIG. 1, the illustration of the second projected image is omitted. As a result, the user can compare the image of the actually manufactured structure with the image of the three-dimensional model, and can confirm whether or not the manufactured structure is manufactured as designed.

情報処理装置10によれば、撮像装置により撮像された構造物を含む撮影画像が取得される。構造物の三次元モデルから生成された複数の投影像が取得される。取得された複数の投影像の内、取得した撮影画像に含まれる構造物の形状に応じた第1の投影像が特定される。特定された第1の投影像に含まれる三次元モデルの稜線と、撮影画像から抽出されたエッジ線とが表示される。表示された稜線に含まれる所定数の稜線を、表示されたエッジ線に含まれる所定数のエッジ線にそれぞれ対応付ける操作が受け付けられる。所定数の稜線の位置が、所定数の稜線に対応付けられた所定数のエッジ線の位置にそれぞれ対応する三次元モデルの第2の投影像が生成される。生成した第2の投影像が撮影画像に重畳表示される。 According to the information processing device 10, a photographed image including a structure captured by the image pickup device is acquired. Multiple projections generated from the 3D model of the structure are acquired. 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 ridgeline of the three-dimensional model included in the identified first projected image and the edgeline extracted from the captured image are displayed. An operation of associating a predetermined number of ridgelines included in the displayed ridgeline with a predetermined number of edge lines included in the displayed edge line is accepted. A second projection image of the three-dimensional model is generated in which the positions of the predetermined number of ridges correspond to the positions of the predetermined number of edge lines associated with the predetermined number of ridges. The generated second projected image is superimposed and displayed on the captured image.

これにより、三次元モデルの投影像を重畳表示させる際の作業負荷を軽減できる。
例えば、予め定められた特定の初期姿勢で三次元モデルを表示することも考えられる。しかし、撮影画像における構造物の姿勢と、三次元モデルの初期姿勢との乖離の度合いが大きいほど、両者の対比を適切に行うための、ユーザによる三次元モデルの姿勢変更の操作が難しくなる。
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 information processing device 10 identifies a projected image (first projected image) of the three-dimensional model having an initial posture close to the posture of the captured structure, and displays the specified projected image in the captured image. Reduce the discrepancy between the orientation of the structure and the initial orientation of the 3D model. Therefore, for example, in the display image 50, the user performs an operation of associating a predetermined number of ridge lines of the ridge line group 51 corresponding to the initial posture of the three-dimensional model with a predetermined number of edge lines included in the edge line group 52. Is also possible. That is, the user does not have to change the initial posture of the three-dimensional model by the user's own operation. By making it possible to omit the operation by the user in this way, the workload of the user can be reduced.

また、三次元モデルの稜線と、撮影画像から抽出されたエッジ線とのユーザによる対応付け操作を適切に行えるようになるので、撮影画像に写り込んだ構造物の姿勢に対して、当該姿勢に対応する第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 information processing device 10 can support the user to easily confirm the difference between the three-dimensional model and the manufactured structure.

[第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 information processing device 100 includes a CPU 101, a RAM 102, an HDD 103, an output IF (InterFace) 104, an input IF 105, 106, a medium reader 107, and a NIC (Network Interface Card) 108. The CPU 101 corresponds to the processing unit 12 of the first embodiment. The RAM 102 or the HDD 103 corresponds to the storage unit 11 of the first embodiment.

CPU101は、プログラムの命令を実行するプロセッサである。CPU101は、HDD103に記憶されたプログラムやデータの少なくとも一部をRAM102にロードし、プログラムを実行する。なお、CPU101は複数のプロセッサコアを含んでもよい。また、情報処理装置100は複数のプロセッサを有してもよい。以下で説明する処理は複数のプロセッサまたはプロセッサコアを用いて並列に実行されてもよい。また、複数のプロセッサの集合を「マルチプロセッサ」または単に「プロセッサ」と言うことがある。 The CPU 101 is a processor that executes a program instruction. The CPU 101 loads at least a part of the programs and data stored in the HDD 103 into the RAM 102 and executes the program. The CPU 101 may include a plurality of processor cores. Further, the information processing device 100 may have a plurality of processors. The processes described below may be performed in parallel using multiple processors or processor cores. Also, a set of multiple processors may be referred to as a "multiprocessor" or simply a "processor".

RAM102は、CPU101が実行するプログラムやCPU101が演算に用いるデータを一時的に記憶する揮発性の半導体メモリである。なお、情報処理装置100は、RAM以外の種類のメモリを備えてもよく、複数個のメモリを備えてもよい。 The RAM 102 is a volatile semiconductor memory that temporarily stores a program executed by the CPU 101 and data used by the CPU 101 for calculation. The information processing device 100 may be provided with a type of memory other than RAM, or may be provided with a plurality of memories.

HDD103は、OS(Operating System)やミドルウェアやアプリケーションソフトウェアなどのソフトウェアのプログラム、および、データを記憶する不揮発性の記憶装置である。なお、情報処理装置100は、フラッシュメモリやSSD(Solid State Drive)などの他の種類の記憶装置を備えてもよく、複数の不揮発性の記憶装置を備えてもよい。 The HDD 103 is a non-volatile storage device that stores software programs such as an OS (Operating System), middleware, and application software, and data. The information processing device 100 may be provided with other types of storage devices such as a flash memory and an SSD (Solid State Drive), or may be provided with a plurality of non-volatile storage devices.

出力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 display 111 connected to the information processing apparatus 100 in accordance with a command from the CPU 101. As the display 111, any kind of display such as a CRT (Cathode Ray Tube) display, a liquid crystal display (LCD: Liquid Crystal Display), a plasma display, and an organic EL (OEL: Organic Electro-Luminescence) display can be used.

入力IF105は、情報処理装置100に接続された入力デバイス112から入力信号を取得し、CPU101に出力する。入力デバイス112としては、マウス・タッチパネル・タッチパッド・トラックボールなどのポインティングデバイス、キーボード、リモートコントローラ、ボタンスイッチなどを用いることができる。また、情報処理装置100に、複数の種類の入力デバイスが接続されていてもよい。 The input IF 105 acquires an input signal from the input device 112 connected to the information processing device 100 and outputs the input signal to the CPU 101. As the input device 112, a pointing device such as a mouse, a touch panel, a touch pad, or a trackball, a keyboard, a remote controller, a button switch, or the like can be used. Further, a plurality of types of input devices may be connected to the information processing device 100.

入力IF106は、CPU101からの命令に従って、情報処理装置100に接続されたカメラ113から、カメラ113により撮像された画像データを取得し、RAM102やHDD103に格納する。カメラ113は、製造された物体(構造物)を撮像する撮像装置である。カメラ113は、ステレオカメラでもよい。 The input IF 106 acquires image data captured by the camera 113 from the camera 113 connected to the information processing device 100 in accordance with a command from the CPU 101, and stores the image data in the RAM 102 or the HDD 103. The camera 113 is an imaging device that images a manufactured object (structure). The camera 113 may be a stereo camera.

媒体リーダ107は、記録媒体114に記録されたプログラムやデータを読み取る読み取り装置である。記録媒体114として、例えば、磁気ディスク、光ディスク、光磁気ディスク(MO:Magneto-Optical disk)、半導体メモリなどを使用できる。磁気ディスクには、フレキシブルディスク(FD:Flexible Disk)やHDDが含まれる。光ディスクには、CD(Compact Disc)やDVD(Digital Versatile Disc)が含まれる。 The medium reader 107 is a reading device that reads programs and data recorded on the recording medium 114. As the recording medium 114, for example, a magnetic disk, an optical disk, a magneto-optical disk (MO: Magneto-Optical disk), a semiconductor memory, or the like can be used. The magnetic disk includes a flexible disk (FD) and an HDD. Optical discs include CDs (Compact Discs) and DVDs (Digital Versatile Discs).

媒体リーダ107は、例えば、記録媒体114から読み取ったプログラムやデータを、RAM102やHDD103などの他の記録媒体にコピーする。読み取られたプログラムは、例えば、CPU101によって実行される。なお、記録媒体114は可搬型記録媒体であってもよく、プログラムやデータの配布に用いられることがある。また、記録媒体114やHDD103を、コンピュータ読み取り可能な記録媒体と言うことがある。 The medium reader 107 copies, for example, a program or data read from the recording medium 114 to another recording medium such as the RAM 102 or the HDD 103. The read program is executed by, for example, the CPU 101. The recording medium 114 may be a portable recording medium and may be used for distribution of programs and data. Further, the recording medium 114 and the HDD 103 may be referred to as a computer-readable recording medium.

NIC108は、ネットワーク115に接続され、ネットワーク115を介して他のコンピュータと通信を行うインタフェースである。NIC108は、例えば、ネットワーク115に属するスイッチやルータなどの通信装置とケーブルで接続される。 The NIC 108 is an interface that is connected to the network 115 and communicates with another computer via the network 115. The NIC 108 is connected to a communication device such as a switch or a router belonging to the network 115 by a cable, for example.

図3は、情報処理装置の機能例を示す図である。
情報処理装置100は、CADデータ記憶部120、姿勢候補データ記憶部130、転置インデックス記憶部140、撮影画像記憶部150、姿勢候補管理部160および表示制御部170を有する。
FIG. 3 is a diagram showing a functional example of the information processing device.
The information processing device 100 includes a CAD data storage unit 120, a posture candidate data storage unit 130, an inverted index storage unit 140, a captured image storage unit 150, a posture candidate management unit 160, and a display control unit 170.

CADデータ記憶部120、姿勢候補データ記憶部130、転置インデックス記憶部140および撮影画像記憶部150は、RAM102やHDD103の記憶領域を用いて実現される。姿勢候補管理部160および表示制御部170は、RAM102に記憶されたプログラムがCPU101により実行されることで実現される。 The CAD data storage unit 120, the posture candidate data storage unit 130, the inverted index storage unit 140, and the captured image storage unit 150 are realized by using the storage areas of the RAM 102 and the HDD 103. The posture candidate management unit 160 and the display control unit 170 are realized by executing the program stored in the RAM 102 by the CPU 101.

CADデータ記憶部120は、三次元モデルのCADデータを記憶する。以下では、三次元モデルを「3D(Dimensions)モデル」と略記することがある。CADデータは、構造物(製品)の設計工程において、CADソフトウェアにより生成され、CADデータ記憶部120に予め格納される。 The CAD data storage unit 120 stores the CAD data of the three-dimensional model. In the following, the three-dimensional model may be abbreviated as "3D (Dimensions) model". The CAD data is generated by CAD software in the design process of the structure (product) and stored in advance in the CAD data storage unit 120.

姿勢候補データ記憶部130は、3Dモデルの姿勢候補データを記憶する。姿勢候補データは、複数の姿勢候補画像を含む。姿勢候補画像は、3Dモデルを様々な方向から眺めて3Dモデルを写した二次元画像(2D画像)である。 The posture candidate data storage unit 130 stores the posture candidate data of the 3D model. The posture candidate data includes a plurality of posture candidate images. The posture candidate image is a two-dimensional image (2D image) of the 3D model viewed from various directions.

転置インデックス記憶部140は、複数の姿勢候補画像それぞれに基づいて作成された転置インデックスを記憶する。転置インデックスは、姿勢候補画像から作成されたPDLデータに基づいて作成される。第2の実施の形態では、PDLの一例として、PostScriptを想定する。ただし、PostScript以外の他のPDLでもよい。 The inverted index storage unit 140 stores an inverted index created based on each of the plurality of posture candidate images. The inverted index is created based on the PDL data created from the posture candidate image. In the second embodiment, PostScript is assumed as an example of PDL. However, PDL other than PostScript may be used.

撮影画像記憶部150は、カメラ113により撮像された撮影画像を記憶する。
姿勢候補管理部160は、CADデータ記憶部120に記憶されたCADデータに基づいて、複数の姿勢候補画像および姿勢候補画像毎の転置インデックスを生成する。姿勢候補管理部160は、姿勢候補データ生成部161、第1PDLデータ生成部162および転置インデックス生成部163を有する。
The captured image storage unit 150 stores the captured image captured by the camera 113.
The posture candidate management unit 160 generates a plurality of posture candidate images and an inverted index for each posture candidate image based on the CAD data stored in the CAD data storage unit 120. The posture candidate management unit 160 includes a posture candidate data generation unit 161, a first PDL data generation unit 162, and an inverted index generation unit 163.

姿勢候補データ生成部161は、CADデータ記憶部120に記憶されたCADデータに基づいて、3Dモデルの姿勢を、所定の回転角度、所定の仰角刻みで変更したときの複数の姿勢候補画像を生成する。姿勢候補データ生成部161は、姿勢候補画像を、3Dモデルの回転角、仰角に対応付けて、姿勢候補データ記憶部130に格納する。 The posture candidate data generation unit 161 generates a plurality of posture candidate images when the posture of the 3D model is changed at a predetermined rotation angle and a predetermined elevation angle step based on the CAD data stored in the CAD data storage unit 120. To do. The posture candidate data generation unit 161 stores the posture candidate image in the posture candidate data storage unit 130 in association with the rotation angle and the elevation angle of the 3D model.

第1PDLデータ生成部162は、姿勢候補データ記憶部130に記憶された姿勢候補画像に基づいて、姿勢候補画像に含まれる3Dモデルの形状を表すPDLデータ(本例ではPostScriptデータ)を生成する。第1PDLデータ生成部162は、姿勢候補画像から3Dモデルの形状のアウトラインを抽出し、アウトラインに対応するPDLデータを生成する。第1PDLデータ生成部162は、生成したPDLデータを、転置インデックス記憶部140に格納する。 The first PDL data generation unit 162 generates PDL data (PostScript data in this example) representing the shape of the 3D model included in the posture candidate image based on the posture candidate image stored in the posture candidate data storage unit 130. The first PDL data generation unit 162 extracts an outline of the shape of the 3D model from the posture candidate image and generates PDL data corresponding to the outline. The first PDL data generation unit 162 stores the generated PDL data in the inverted index storage unit 140.

ここで、アウトラインに着目する理由は、構造物の内側に存在するエッジは撮影位置によって取得できる場合と取得できない場合とがあるが、検査対象の構造物とそれ以外のものとの境界線であるアウトラインは必ず存在し、比較的精度良く取得できるためである。このため、アウトラインに対応する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 index generation unit 163 generates an inverted index based on the PDL data generated by the first PDL data generation unit 162. The inverted index generation unit 163 stores the generated inverted index in the inverted index storage unit 140 in association with the PDL data of the generation source or the posture candidate image.

表示制御部170は、ユーザにより検品作業などが行われる際に、カメラ113により撮像された撮影画像に含まれる構造物画像と、当該構造物の3Dモデルとをディスプレイ111に表示させることで、ユーザの作業を支援する。例えば、撮影画像に重ねて3Dモデルなどの画像を表示させる技術は、AR(Augmented Reality)と呼ばれる。表示制御部170は、第2PDLデータ生成部171、検索部172および表示処理部173を有する。 The display control unit 170 causes the user to display the structure image included in the captured image captured by the camera 113 and the 3D model of the structure on the display 111 when the inspection work or the like is performed by the user. To support the work of. For example, a technique for displaying an image such as a 3D model on top of a captured image is called AR (Augmented Reality). The display control unit 170 includes a second PDL data generation unit 171, a search unit 172, and a display processing unit 173.

第2PDLデータ生成部171は、撮影画像に含まれる構造物画像の形状を表すPDLデータ(本例ではPostScriptデータ)を生成する。第2PDLデータ生成部171は、構造物画像から構造物の形状のアウトラインを抽出し、アウトラインに対応するPDLデータを生成する。第2PDLデータ生成部171は、生成したPDLデータを、検索部172に提供する。第2PDLデータ生成部171は、生成したPDLデータを、撮影画像記憶部150に格納してもよい。 The second PDL data generation unit 171 generates PDL data (PostScript data in this example) representing the shape of the structure image included in the captured image. The second PDL data generation unit 171 extracts an outline of the shape of the structure from the structure image and generates PDL data corresponding to the outline. The second PDL data generation unit 171 provides the generated PDL data to the search unit 172. The second PDL data generation unit 171 may store the generated PDL data in the captured image storage unit 150.

検索部172は、転置インデックス記憶部140に記憶されたPDLデータまたは転置インデックスに基づいて、第2PDLデータ生成部171により生成されたPDLデータに最も良く一致する3Dモデルの姿勢のPDLデータまたは転置インデックスを検索する。検索部172は、検索したPDLデータまたは転置インデックスに対応する3Dモデルの識別情報を、表示処理部173に提供する。 The search unit 172 is based on the PDL data or the inverted index stored in the inverted index storage unit 140, and the PDL data or the inverted index of the posture of the 3D model that best matches the PDL data generated by the second PDL data generation unit 171. To search for. The search unit 172 provides the display processing unit 173 with the identification information of the 3D model corresponding to the searched PDL data or the inverted index.

表示処理部173は、検索部172から取得した識別情報に対応する姿勢候補画像(初期姿勢の姿勢候補画像)を姿勢候補データ記憶部130から取得する。表示処理部173は、撮影画像記憶部150に記憶された撮影画像に含まれる構造物画像と、取得した姿勢候補画像とをディスプレイ111により表示させる。 The display processing unit 173 acquires a posture candidate image (posture candidate image of the initial posture) corresponding to the identification information acquired from the search unit 172 from the posture candidate data storage unit 130. The display processing unit 173 causes the display 111 to display the structure image included in the captured image stored in the captured image storage unit 150 and the acquired posture candidate image.

表示処理部173は、撮影画像に含まれる構造物画像のエッジ(エッジ線と言うこともある)と、姿勢候補画像に含まれるエッジとを対応付けるユーザの操作を受け付ける。表示処理部173は、CADデータ記憶部120に記憶されたCADデータに基づいて、姿勢候補画像におけるエッジの位置が、当該エッジに対応付けられた撮影画像内のエッジの位置にそれぞれ対応する3Dモデルの投影像を生成する。表示処理部173は、生成した投影像を撮影画像に重畳表示する。 The display processing unit 173 accepts a user's operation of associating the edge of the structure image (sometimes referred to as an edge line) included in the captured image with the edge included in the posture candidate image. The display processing unit 173 is a 3D model in which the position of the edge in the posture candidate image corresponds to the position of the edge in the captured image associated with the edge based on the CAD data stored in the CAD data storage unit 120. Generate a projected image of. The display processing unit 173 superimposes and displays the generated projected image on the captured image.

図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 data storage unit 130. The posture candidate table 131 is generated by the posture candidate data generation unit 161. The posture candidate table 131 includes items of a posture candidate ID (IDentifier), an angle of rotation, an elevation angle, and a posture candidate image.

姿勢候補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 data generation unit 161 generates posture candidate images when the rotation angle is changed by 30 ° and the elevation angle is changed by 15 ° for one 3D model, and the posture candidate table 131. Register with. However, the posture candidate data generation unit 161 may generate a posture candidate image in finer angle increments or coarser angle increments and register it in the posture candidate table 131.

次に、姿勢候補データ生成部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 data generation unit 161 will be described.
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 index storage unit 140. The information registered in the inverted index table 141 is generated by the first PDL data generation unit 162 and the inverted index generation unit 163. The inverted index table 141 includes items of posture candidate ID, PDL data, and inverted index.

姿勢候補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 data generation unit 162 based on the posture candidate image. An inverted index is generated for the item of the inverted index. The inverted index is generated by the inverted index generation unit 163 based on the PDL data.

例えば、転置インデックステーブル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 image 151 is generated by capturing the manufactured structure with the camera 113. The information processing device 100 acquires the captured image 151 from the camera 113 and stores it in the captured image storage unit 150. The captured image 151 includes the structure image 151a. The structure image 151a is a 2D image of the structure.

図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 outline image 152 is an image including the outline 152a. The outline 152a is a contour line connecting the outer peripheral edges of the structure image 151a. The outline 152a is specified by the second PDL data generation unit 171 based on the captured image 151. For example, the second PDL data generation unit 171 includes the captured image 151 by specifying a boundary line between regions where the pixel values are relatively significantly different (for example, there is a difference of the pixel values or more) in the captured image 151. Detect the edge to be. The second PDL data generation unit 171 detects a region surrounded by some edges among the plurality of detected edges, and extracts a closed line connecting the edges surrounding the region as an outline 152a.

あるいは、カメラ113は、物体を2つの異なる方向から同時に撮影するステレオカメラ(双眼カメラ)、または、左右に可動可能な単眼カメラでもよい。この場合、第2PDLデータ生成部171は、既存の技術によって、カメラ113により撮像された2つの撮影画像に基づき、視差による構造物のアウトライン152aの識別を行うこともできる。 Alternatively, the camera 113 may be a stereo camera (binocular camera) that simultaneously captures an object from two different directions, or a monocular camera that can move left and right. In this case, the second PDL data generation unit 171 can also identify the outline 152a of the structure by parallax based on the two captured images captured by the camera 113 by the existing technique.

次に、第1PDLデータ生成部162により姿勢候補画像から抽出されるエッジの例を説明する。一例として、前述の姿勢候補画像P2に対するエッジの例を説明する。
図9は、姿勢候補画像に含まれるエッジの例を示す図である。
Next, an example of the edge extracted from the posture candidate image by the first PDL data generation unit 162 will be described. As an example, an example of an edge with respect to the above-mentioned posture candidate image P2 will be described.
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 data generation unit 162 extracts the outline P21a from the posture candidate image P2a by the same processing as the second PDL data generation unit 171.

姿勢候補画像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 outline 152a illustrated in FIG. 8, a coordinate system normalized so that the size matches the posture candidate image is defined, and information on the coordinates of each point and the line (line segment or curve) connecting each point. Can be used to represent the shape of the outline 152a. For example, in the case of a line segment, information on a vector including the position of the line segment and the direction in which the line segment extends can be obtained, and in the case of a curve, information on the position of the curve and the control point that defines the curve can be obtained. The shape of the outline 152a is represented by the combination of the curve information.

ここで、各姿勢候補画像のアウトラインおよびアウトライン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 outline 152a of each posture candidate image, the extraction order of the lines connecting each point and the two points is predetermined in the first PDL data generation unit 162 and the second PDL data generation unit 171. The first PDL data generation unit 162 and the second PDL data generation unit 171 generate PDL data corresponding to the outline according to a predetermined extraction order, respectively. For example, the first PDL data generation unit 162 and the second PDL data generation unit 171 are the points farthest from the origin in the image normalized with the center of the object as the reference point (origin) in which both XY are in the positive region. PDL data corresponding to the outline is generated so as to follow each point clockwise from (start point). Here, the "center of the object" is, for example, the center of gravity of the shape represented by the outline of the 3D model or the structure image.

図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 data generation unit 162 generates PDL data in which points and lines connecting the points are described in a clockwise order such as points A, B, α, β, C, D, ..., L. To do.

図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 search unit 172 identifies the outline of the posture candidate image similar to the outline included in the captured image based on the line segment included in the outline of each posture candidate image. Next, an example of narrowing down posture candidates by the search unit 172 will be described.

図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 outline image 152 will be described. The outline image 152 includes points A and B in a region where both XY are positive in the normalized XY coordinate system with the center of the shape represented by the outline 152a as the origin. Among the posture candidate images P1 to P12, the posture candidate images in which the points A and B are included in the region where both XY are positive in the normalized XY coordinate system are the posture candidate images P2 and P6 to P9. ..

したがって、検索部172は、姿勢候補画像P1〜P12から姿勢候補画像P2,P6〜P9に絞り込む。検索部172は、姿勢候補画像P1,P3〜P5,P10〜P12を候補から除外する。 Therefore, the search unit 172 narrows down the posture candidate images P1 to P12 to the posture candidate images P2 and P6 to P9. The search unit 172 excludes posture candidate images P1, P3 to P5, and P10 to P12 from the candidates.

図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 outline image 152 includes points B and C as end points in a region where both XY are positive, and includes a curve having points α and β as control points in addition to points B and C. .. Of the posture candidate images P2, P6 to P9, in the normalized XY coordinate system, points B and C are included as end points in the region where both XY are positive, and points α and β are controlled in addition to points B and C. The posture candidate image including the curve as a point is the posture candidate image P2.

したがって、検索部172は、姿勢候補画像P2,P6〜P9から姿勢候補画像P2に絞り込む。検索部172は、姿勢候補画像P6〜P9を候補から除外する。
こうして、検索部172は、姿勢候補画像P1〜P12の中から、アウトライン152aに最も良く類似する3Dモデルのアウトラインに対応する姿勢候補画像P2を特定する。
Therefore, the search unit 172 narrows down the posture candidate images P2, P6 to P9 to the posture candidate images P2. The search unit 172 excludes posture candidate images P6 to P9 from the candidates.
In this way, the search unit 172 identifies the posture candidate image P2 corresponding to the outline of the 3D model most similar to the outline 152a from the posture candidate images P1 to P12.

検索部172は、図13,図14で例示した照合を、アウトラインに対応するPDLデータまたはPDLデータの転置インデックスを用いて行える。次に、PDLデータとして、PostScriptデータを用いる場合の転置インデックスの例を説明する。ただし、PostScriptに限定されるものではなく、PostScript以外の形式のPDLデータでもよい。 The search unit 172 can perform the collation illustrated in FIGS. 13 and 14 by using the PDL data corresponding to the outline or the inverted index of the PDL data. Next, an example of an inverted index when PostScript data is used as PDL data will be described. However, the data is not limited to PostScript, and PDL data in a format other than PostScript may be used.

図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 outline 200 is generated will be described. The outline 200 is formed by a line segment 201, a curve 202, a line segment 203, and a line segment 204. The line segment 201 is a line segment having points A and B as end points. The curve 202 is a curve having points B and C as end points, and is a Bezier curve whose shape is determined by control points B, C, α and β.

第1PDLデータ生成部162および第2PDLデータ生成部171は、点A,B,C,D,α,βを基にして、アウトライン200のPostScriptデータ210を生成する。PostScriptデータ210は、PDLデータの一例である。 The first PDL data generation unit 162 and the second PDL data generation unit 171 generate PostScript data 210 of outline 200 based on points A, B, C, D, α, and β. The PostScript data 210 is an example of PDL data.

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 data 210 includes the parameters "Xa, Ya", "Xb, Yb", "Xα, Yα", "Xβ, Yβ", "Xc, Yc". “Xa, Ya” indicates the coordinates of the point A. “Xb, Yb” indicates the coordinates of the point B. “Xα, Yα” indicates the coordinates of the point α. “Xβ, Yβ” indicates the coordinates of the point β. “Xc, Yc” indicates the coordinates of the point C.

PostScriptデータ210は、複数の種類のコマンドを含む。具体的には、コマンド「newpath」、「moveto」、「lineto」、「curveto」、「stroke」、「showpage」である。コマンドは、制御文と呼ばれてもよい。 The PostScript data 210 includes a plurality of types of commands. Specifically, the commands are "newpath", "moveto", "lineto", "curveto", "stroke", and "showpage". The command may be called a control statement.

転置インデックス生成部163は、PostScriptデータ210に含まれる文字列を、上段の行から順番に読み込み、読み込んだ文字列を並べることで、PostScript変換データ220を生成する。 The inverted index generation unit 163 reads the character strings included in the PostScript data 210 in order from the upper row, and arranges the read character strings to generate the PostScript conversion data 220.

転置インデックス生成部163は、PostScript変換データ220に含まれるコマンドまたは座標と、当該コマンド又は座標の出現位置とに基づいて、転置インデックス230を生成する。転置インデックス230の横軸は、オフセットに対応する値である。転置インデックス230の縦軸は、コマンドまたは座標に対応する軸である。 The inverted index generation unit 163 generates an inverted index 230 based on the command or coordinates included in the PostScript conversion data 220 and the appearance position of the command or coordinates. The horizontal axis of the inverted index 230 is a value corresponding to the offset. The vertical axis of the inverted index 230 is the axis corresponding to the command or coordinates.

オフセットは、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 PostScript conversion data 220. The offset of the start position of the PostScript conversion data 220 is set to "0", and thereafter, 1 is added to the offset in units of commands or coordinates. For example, in the example of PostScript conversion data 220, the offsets of "newpath", "Xa, Ya", "movetto", ... Are "0", "1", "2", ..., Respectively.

転置インデックス生成部163は、PostScript変換データ220を走査して、「オフセット」と、「コマンドまたは座標」との対応関係を特定する。転置インデックス生成部163は、特定した「オフセット」と、「コマンドまたは座標」の対応関係を基に、転置インデックス230にフラグ「1」を設定する。転置インデックス230のフラグ「1」以外の箇所は、「0」となる。 The inverted index generation unit 163 scans the PostScript conversion data 220 to identify the correspondence between the “offset” and the “command or coordinate”. The inverted index generation unit 163 sets the flag “1” in the inverted index 230 based on the correspondence between the specified “offset” and the “command or coordinates”. The parts of the inverted index 230 other than the flag "1" are "0".

例えば、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 PostScript conversion data 220. Therefore, the inverted index generation unit 163 sets the flag “1” at the position where the offset “0” of the inverted index and the command “newpath” intersect. The inverted index generation unit 163 generates the inverted index 230 by tracing the commands or coordinates included in the PostScript conversion data 220 in order from the offset "0" and repeatedly executing the above processing.

転置インデックス生成部163は、転置インデックスをハッシュ化することで、転置インデックスのデータサイズを小さくしてもよい。例えば、転置インデックス生成部163は、ビットマップの折り返し技術を用いて、転置インデックスを素数(底)でハッシュ化し得る。 The inverted index generation unit 163 may reduce the data size of the inverted index by hashing the inverted index. For example, the inverted index generation unit 163 can hash the inverted index with a prime number (base) by using a bitmap wrapping technique.

図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 index generation unit 163 can hash the inverted index by using the 32-bit register of the information processing apparatus 100. Further, as an example, the inverted index generation unit 163 is assumed to hash the bitmap of each row of the inverted index based on the prime numbers (bases) of "29" and "31". Here, a case where the hashed bitmap h11 and the hashed bitmap h12 are generated from the bitmap b1 will be described.

ビットマップ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 inverted index 230 shown in FIG. 15). The hashed bitmap h11 is a bitmap hashed by the base "29". The hashed bitmap h12 is a bitmap hashed by the base "31".

転置インデックス生成部163は、ビットマップb1の各ビットの位置を、1つの底で割った余りの値を、ハッシュ化ビットマップの位置と対応付ける。転置インデックス生成部163は、該当するビットマップb1のビットの位置に「1」が設定されている場合には、対応付けられたハッシュ化ビットマップの位置に「1」を設定する処理を行う。 The inverted index generation unit 163 associates the position of each bit of the bitmap b1 with the value of the remainder obtained by dividing by one base with the position of the hashed bitmap. When the bit position of the corresponding bitmap b1 is set to "1", the inverted index generation unit 163 performs a process of setting "1" to the position of the associated hashed bitmap.

ビットマップ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 index generation unit 163 copies the information of the positions "0 to 28" of the bitmap b1 to the hashed bitmap h11.

ビットマップ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 index generation unit 163 has "1" set at the position "35" of the bitmap b1, "1" is set at the position "6" of the hashed bitmap h11.

ビットマップ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 index generation unit 163 has "1" set at the position "43" of the bitmap b1, "1" is set at the position "14" of the hashed bitmap h11.

転置インデックス生成部163は、ビットマップb1の位置「29」以上の位置に関し、「1」が設定されている位置について、上記処理を繰り返し実行することで、ハッシュ化ビットマップh11を生成する。なお、転置インデックス生成部163は、ビットマップb1の位置「29」以上の位置に関し、「0」が設定されている位置についてはスキップして次の位置の処理を行う。 The inverted index generation unit 163 generates the hashed bitmap h11 by repeatedly executing the above processing for the position where “1” is set with respect to the position “29” or more of the bitmap b1. The inverted index generation unit 163 skips the position where "0" is set with respect to the position "29" or higher of the bitmap b1 and processes the next position.

次に、ビットマップ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 index generation unit 163 copies the information of the positions "0 to 30" of the bitmap b1 to the hashed bitmap h12.

ビットマップ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 index generation unit 163 has "1" set at the position "35" of the bitmap b1, "1" is set at the position "4" of the hashed bitmap h12.

ビットマップ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 index generation unit 163 has "1" set at the position "43" of the bitmap b1, "1" is set at the position "12" of the hashed bitmap h12.

転置インデックス生成部163は、ビットマップb1の位置「31」以上の位置に関し、「1」が設定されている位置について、上記処理を繰り返し実行することで、ハッシュ化ビットマップh12を生成する。なお、転置インデックス生成部163は、ビットマップb1の位置「31」以上の位置に関し、「0」が設定されている位置についてはスキップして次の位置の処理を行う。 The inverted index generation unit 163 generates the hashed bitmap h12 by repeatedly executing the above processing for the position where "1" is set with respect to the position "31" or more of the bitmap b1. The inverted index generation unit 163 skips the position where "0" is set with respect to the position "31" or higher of the bitmap b1 and processes the next position.

転置インデックス生成部163は、転置インデックスの各行について上記の折り返し技術による圧縮を行うことで、ハッシュ化転置インデックスを生成する。なお、底「29」、「31」のハッシュ化ビットマップは、生成元のビットマップの行(コマンドまたは座標)の情報が付与される。 The inverted index generation unit 163 generates a hashed inverted index by compressing each row of the inverted index by the above-mentioned folding technique. The hashed bitmaps at the bases "29" and "31" are given information on the rows (commands or coordinates) of the bitmap of the generating source.

図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 index generation unit 163 stores the hashed bitmap in the inverted index storage unit 140 instead of the inverted index, so that when the size of the inverted index is relatively large (larger than 64 bits in this example), it is saved. Data size can be compressed.

ハッシュ化ビットマップが用いられる場合、検索部172は、次のようにして、ハッシュ化ビットマップから転置インデックスを復元し、姿勢候補の絞込みに用いる。
図18は、転置インデックスの復元例を示す図である。
When the hashed bitmap is used, the search unit 172 restores the inverted index from the hashed bitmap and uses it for narrowing down the posture candidates as follows.
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 search unit 172 restores the bitmap b1 based on the hashed bitmap h11 and the hashed bitmap h12 will be described.
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 search unit 172 generates an intermediate bitmap h11a from the hashed bitmap h11 at the base “29”. The search unit 172 copies the values at positions 0 to 28 of the hashed bitmap h11 to positions 0 to 28 of the intermediate bitmap h11a, respectively.

検索部172は、中間ビットマップh11aの位置29以降の値については、「29」毎に、ハッシュ化ビットマップh11の位置0〜28の値を、それぞれコピーする処理を繰り返し実行する。図18では、中間ビットマップh11aの位置29〜43の位置に、ハッシュ化ビットマップh11の位置0〜14の値を、コピーした例を示す。 The search unit 172 repeatedly executes a process of copying the values at positions 0 to 28 of the hashed bitmap h11 for each “29” for the values after the position 29 of the intermediate bitmap h11a. FIG. 18 shows an example in which the values of positions 0 to 14 of the hashed bitmap h11 are copied to the positions 29 to 43 of the intermediate bitmap h11a.

検索部172は、底「31」のハッシュ化ビットマップh12から、中間ビットマップh12aを生成する。検索部172は、ハッシュ化ビットマップh12の位置0〜30の値を、中間ビットマップh12aの位置0〜30にそれぞれ、コピーする。 The search unit 172 generates an intermediate bitmap h12a from the hashed bitmap h12 having the base "31". The search unit 172 copies the values at positions 0 to 30 of the hashed bitmap h12 to positions 0 to 30 of the intermediate bitmap h12a, respectively.

検索部172は、中間ビットマップh12aの位置31以降の値については、「31」毎に、ハッシュ化ビットマップh12の位置0〜30の値を、それぞれコピーする処理を繰り返し実行する。図18では、中間ビットマップh12aの位置31〜43の位置に、ハッシュ化ビットマップh12の位置0〜12の値を、コピーした例を示す。 The search unit 172 repeatedly executes a process of copying the values at positions 0 to 30 of the hashed bitmap h12 for each “31” for the values after the position 31 of the intermediate bitmap h12a. FIG. 18 shows an example in which the values of the hashed bitmap h12 positions 0 to 12 are copied to the positions 31 to 43 of the intermediate bitmap h12a.

こうして、ハッシュ化ビットマップから中間ビットマップが生成される。
図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 search unit 172 restores the bitmap b1 before hashing by performing an AND operation on the intermediate bitmap h11a and the intermediate bitmap h12a. The search unit 172 can generate a bitmap corresponding to a command or coordinates by repeatedly executing the same process for other hashed bitmaps. In this way, the inverted index is restored.

図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 search unit 172 searches for the posture candidate image corresponding to the outline 152a extracted from the captured image 151 by narrowing down the inverted index. For example, the search unit 172 acquires PostScript data corresponding to the outline 152a from the second PDL data generation unit 171. Then, the search unit 172 collates whether the command or coordinates included in the PostScript data is included in the PostScript data corresponding to each posture candidate image by using the inverted index.

例えば、アウトライン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 outline 152a. In the figure, "newpath" may be abbreviated as "np" and "moveto" may be abbreviated as "mt".

この場合、検索部172は、転置インデックスのコマンド「newpath」に対応するビットマップを復元する(ステップST1)。図19では、オフセット「6」がフラグ「1」であるビットマップの一例として、ビットマップb11が示されている。 In this case, the search unit 172 restores the bitmap corresponding to the inverted index command "newpath" (step ST1). In FIG. 19, a bitmap b11 is shown as an example of a bitmap in which the offset “6” is the flag “1”.

検索部172は、ビットマップb11を左シフトし、ビットマップb12を得る(ステップST2)。検索部172は、該当の転置インデックスの座標「Xa Ya」に対応するビットマップを復元する(ステップST3)。 The search unit 172 shifts the bitmap b11 to the left to obtain the bitmap b12 (step ST2). The search unit 172 restores the bitmap corresponding to the coordinates “Xa Ya” of the corresponding inverted index (step ST3).

検索部172は、ビットマップb12,b13のAND演算を行い、ビットマップb14を得る(ステップST4)。ビットマップb14において、オフセット「7」がフラグ「1」の場合、該当の転置インデックスに対応するPostScriptデータは、オフセット「6」、「7」に対応する位置に「newpath Xa Ya」の文字列を含むことが分かる。この時点で、「newpath Xa Ya」の文字列を含まない転置インデックスに対応する姿勢候補は、候補としての優先度(アウトライン152aに対する類似度)が下げられるか、または、候補から除外される。 The search unit 172 performs an AND operation on the bitmaps b12 and b13 to obtain the bitmap b14 (step ST4). In the bitmap b14, when the offset "7" is the flag "1", the PostScript data corresponding to the corresponding inverted index has the character string "newpath Xa Ya" at the position corresponding to the offsets "6" and "7". It turns out to include. At this point, the posture candidate corresponding to the inverted index that does not include the character string "newpath Xa Ya" is either lowered in priority as a candidate (similarity to outline 152a) or excluded from the candidates.

続いて、検索部172は、ビットマップb14を左シフトし、ビットマップb15を得る(ステップST5)。検索部172は、該当の転置インデックスのコマンド「moveto」に対応するビットマップb16を復元する(ステップST6)。 Subsequently, the search unit 172 shifts the bitmap b14 to the left to obtain the bitmap b15 (step ST5). The search unit 172 restores the bitmap b16 corresponding to the command "movetto" of the corresponding inverted index (step ST6).

検索部172は、ビットマップb15,b16のAND演算を行い、ビットマップb17を得る(ステップST7)。ビットマップb17において、オフセット「8」がフラグ「1」の場合、該当の転置インデックスに対応するPostScriptデータは、オフセット「6」〜「8」に対応する位置に「newpath Xa Ya moveto」の文字列を含むことが分かる。この時点で、「newpath Xa Ya moveto」の文字列を含まない転置インデックスに対応する姿勢候補は、候補としての優先度が下げられるか、または、候補から除外される。 The search unit 172 performs an AND operation on the bitmaps b15 and b16 to obtain the bitmap b17 (step ST7). In the bitmap b17, when the offset "8" is the flag "1", the PostScript data corresponding to the corresponding inverted index is a character string of "newpath Xa Ya moveo" at the position corresponding to the offsets "6" to "8". It can be seen that it contains. At this point, the posture candidate corresponding to the inverted index that does not include the character string "newpath Xa Ya moveo" is either lowered in priority as a candidate or excluded from the candidates.

以降、同様に、検索部172は、ビットマップb17を左シフトし、ビットマップb18を得る(ステップST8)。そして、検索部172は、ビットマップb18に基づいて、(姿勢候補画像に対応するPostScriptデータにおいて)後続するコマンドまたは座標を特定し、アウトライン152aのPostScriptデータのコマンドまたは座標と照合できる。例えば、検索部172は、転置インデックスを用いた照合によって、各姿勢候補画像から生成されたアウトラインのPostScriptデータのうち、アウトライン152aのPostScriptデータに含まれる一連の文字列と一致する度合い(類似度)が最も高いものを検索する。 After that, similarly, the search unit 172 shifts the bitmap b17 to the left to obtain the bitmap b18 (step ST8). Then, the search unit 172 can specify the subsequent command or coordinate (in the PostScript data corresponding to the posture candidate image) based on the bitmap b18, and can collate it with the command or coordinate of the PostScript data of the outline 152a. For example, the search unit 172 has a degree of matching (similarity) with a series of character strings included in the PostScript data of the outline 152a among the PostScript data of the outline generated from each posture candidate image by the collation using the inverted index. Search for the one with the highest.

ところで、製造された構造物をカメラ113により撮像する際に、構造物の周囲の他の構造物(他の物体)が撮影画像に写り込んだりすることで、構造物のアウトラインを撮影画像から適切に抽出できないことがある。 By the way, when the manufactured structure is imaged by the camera 113, other structures (other objects) around the structure are reflected in the photographed image, so that the outline of the structure is appropriate from the photographed image. It may not be possible to extract to.

図20は、アウトラインの誤検出の例を示す図である。
撮影画像153は、対象の構造物の構造物画像153aと、他の構造物の構造物画像153bとを含む。例えば、カメラ113による撮像時、他の構造物が、対象の構造物の手前に置かれていると、撮影画像153で示されるように、構造物画像153bにより、対象の構造物の一部が隠れた構造物画像153aが取得されることがある。
FIG. 20 is a diagram showing an example of false detection of an outline.
The captured image 153 includes a structure image 153a of the target structure and a structure image 153b of another structure. For example, when another structure is placed in front of the target structure at the time of imaging by the camera 113, as shown in the captured image 153, the structure image 153b causes a part of the target structure to be displayed. Hidden structure images 153a may be acquired.

この場合、第2PDLデータ生成部171は、撮影画像153に基づいて、アウトライン画像154を生成する可能性がある。アウトライン画像154は、構造物画像153a,153bに基づいて検出されたアウトライン154aを含む。しかし、アウトライン154aは、対象の構造物以外の構造物の輪郭も含んでおり、対象の構造物のアウトラインとしては不適切である。 In this case, the second PDL data generation unit 171 may generate an outline image 154 based on the captured image 153. The outline image 154 includes an outline 154a detected based on the structure images 153a and 153b. However, the outline 154a also includes the outline of a structure other than the target structure, which is inappropriate as an outline of the target structure.

そこで、表示処理部173は、こうしたアウトラインの誤検出時の修正機能を提供する。
図21は、アウトラインの誤検出時の修正例を示す図である。
Therefore, the display processing unit 173 provides a correction function when such an outline is erroneously detected.
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 display processing unit 173 displays the outline 154a on the display 111 and prompts the user to confirm whether or not the outline 154a is appropriate. When the user determines that the outline 154a is inappropriate, the display processing unit 173 accepts the user's designation of the outline extraction range in the captured image 153. For example, the user can operate the pointer K1 by the input device 112 to specify the extraction range R1 of the outline of the target structure in the captured image 153. The display processing unit 173 provides the information of the designated extraction range R1 to the second PDL data generation unit 171. For the second PDL data, the outline is extracted again within the acquired extraction range R1.

図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 display processing unit 173 displays the outline 154a on the display 111 and prompts the user to confirm whether or not the outline 154a is appropriate. When the user determines that the outline 154a is inappropriate, the display processing unit 173 accepts the user's completion of the missing line segment 154b in the outline 154a. For example, the user can operate the pointer K1 with the input device 112 to input an additional line segment 154b in the outline image 154. In FIG. 21B, circles are added to both ends of the line segment 154b so that it can be easily identified as the added line segment. The circles at both ends of the line segment 154b correspond to both ends of the line segment 154b, as well as both ends of the line 154c and both ends of the line 154d (represented by dotted lines in the figure).

この場合、表示処理部173は、アウトライン154aの一部である線154cと、追加された線分154bとの組み合わせを、修正後のアウトラインとして選択するユーザの操作を更に受け付けてもよい。すると、第2PDLデータ生成部171は、表示処理部173により取得された情報に基づいて、アウトライン154aの一部である線154dを除去し、線分154bと線154cとを組み合わせた線を、修正後のアウトラインとして検出する。 In this case, the display processing unit 173 may further accept the operation of the user who selects the combination of the line 154c which is a part of the outline 154a and the added line segment 154b as the modified outline. Then, the second PDL data generation unit 171 removes the line 154d which is a part of the outline 154a based on the information acquired by the display processing unit 173, and corrects the line which is a combination of the line segment 154b and the line 154c. Detect as a later outline.

なお、第2PDLデータ生成部171は、撮影画像151や撮影画像153において、画素値などによる物体の境界の判別が適切に行えずにエッジを細切れに検出し、アウトラインを形成するエッジの組み合わせを抽出できないこともある。この場合にも、第2PDLデータ生成部171は、図21(B)で例示したようにユーザによる線分の追加を受け付けることで、アウトラインを補完することができる。 The second PDL data generation unit 171 detects the edges of the captured image 151 and the captured image 153 in small pieces because the boundary of the object cannot be properly determined based on the pixel value or the like, and extracts the combination of edges forming the outline. Sometimes you can't. Also in this case, the second PDL data generation unit 171 can complement the outline by accepting the addition of the line segment by the user as illustrated in FIG. 21 (B).

次に、情報処理装置100による処理手順を説明する。なお、各姿勢候補画像および各姿勢候補画像に対するPDLデータ(例えば、PostScriptデータ)や転置インデックスは、下記の手順が開始される前に作成され、姿勢候補データ記憶部130および転置インデックス記憶部140に予め格納される。 Next, the processing procedure by the information processing apparatus 100 will be described. The PDL data (for example, PostScript data) and the inverted index for each posture candidate image and each posture candidate image are created before the following procedure is started, and are stored in the posture candidate data storage unit 130 and the inverted index storage unit 140. Stored in advance.

図22は、アウトライン抽出の例を示すフローチャートである。
(S10)第2PDLデータ生成部171は、撮影画像記憶部150に記憶された撮影画像151を解析し、画素値に所定値以上の差がある領域の境界線を特定する。
FIG. 22 is a flowchart showing an example of outline extraction.
(S10) The second PDL data generation unit 171 analyzes the captured image 151 stored in the captured image storage unit 150, and identifies a boundary line of a region having a difference of a predetermined value or more in pixel values.

(S11)第2PDLデータ生成部171は、特定した境界線をエッジとして抽出する。第2PDLデータ生成部171は、抽出したエッジにより形成されるアウトラインを含むアウトライン画像を生成する。表示処理部173は、撮影画像151と、生成されたアウトライン画像とをディスプレイ111により表示させ、ユーザによる確認を促す。なお、アウトラインの抽出範囲のユーザによる指定がある場合、第2PDLデータ生成部171は、指定された範囲に含まれるエッジに基づいてアウトラインを検出し、アウトライン画像を生成する。 (S11) The second PDL data generation unit 171 extracts the specified boundary line as an edge. The second PDL data generation unit 171 generates an outline image including an outline formed by the extracted edges. The display processing unit 173 displays the captured image 151 and the generated outline image on the display 111, and prompts the user to confirm. When the outline extraction range is specified by the user, the second PDL data generation unit 171 detects the outline based on the edges included in the specified range and generates an outline image.

(S12)第2PDLデータ生成部171は、ユーザによるアウトラインの抽出範囲の変更入力があるか否かを判定する。変更入力がある場合、ステップS13に処理が進む。変更入力がない場合、ステップS14に処理が進む。 (S12) The second PDL data generation unit 171 determines whether or not there is an input for changing the outline extraction range by the user. If there is a change input, the process proceeds to step S13. If there is no change input, the process proceeds to step S14.

(S13)第2PDLデータ生成部171は、アウトラインの抽出範囲を、ユーザにより指定された範囲に変更する。そして、ステップS11に処理が進む。
(S14)第2PDLデータ生成部171は、ユーザによるアウトラインの補完入力があるか否かを判定する。補完入力がある場合、ステップS15に処理が進む。補完入力がない場合、ステップS16に処理が進む。
(S13) The second PDL data generation unit 171 changes the outline extraction range to the range specified by the user. Then, the process proceeds to step S11.
(S14) The second PDL data generation unit 171 determines whether or not there is a complementary input of the outline by the user. If there is a completion input, the process proceeds to step S15. If there is no completion input, the process proceeds to step S16.

(S15)第2PDLデータ生成部171は、ユーザによるアウトラインの補完の入力内容で、アウトラインを補完する。
(S16)第2PDLデータ生成部171は、抽出したアウトラインのPDLデータ(例えば、PostScriptデータ)を生成し、検索部172に提供する。そして、アウトライン抽出の処理が終了する。
(S15) The second PDL data generation unit 171 complements the outline with the input contents of the completion of the outline by the user.
(S16) The second PDL data generation unit 171 generates PDL data (for example, PostScript data) of the extracted outline and provides it to the search unit 172. Then, the outline extraction process is completed.

このように、第2PDLデータ生成部171は、撮影画像151を取得すると、撮影画像151に含まれる構造物の形状を表すアウトライン候補の線を表示し、撮影画像151におけるアウトライン候補の線の抽出範囲の指定、または、アウトライン候補の線を補完する線の入力を受け付ける。これにより、撮影画像151に写る構造物のアウトラインを適切に取得することができる。その結果、後段の処理における姿勢候補画像の特定精度を向上させることができる。 In this way, when the second PDL data generation unit 171 acquires the captured image 151, the second PDL data generation unit 171 displays an outline candidate line representing the shape of the structure included in the captured image 151, and the extraction range of the outline candidate line in the captured image 151. Or accepts the input of a line that complements the outline candidate line. As a result, the outline of the structure shown in the captured image 151 can be appropriately acquired. As a result, the accuracy of identifying the posture candidate image in the subsequent processing can be improved.

図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 search unit 172 compares the PDL data of all the outlines of the posture candidate images with the PDL data of the outlines acquired from the captured image 151. Here, the search unit 172 can use the inverted index for the comparison. The search unit 172 can narrow down the posture candidates at high speed by using the inverted index. However, the search unit 172 may compare PDL data with each other without using the inverted index. Further, the search unit 172 may also generate an inverted index for the outline PDL data acquired from the captured image 151, and collate the inverted indexes with each other.

(S21)検索部172は、2つのPDLデータ(姿勢候補画像のアウトラインのPDLデータおよび撮影画像151から取得したアウトラインのPDLデータ)に含まれる座標情報やベクトル情報を基に、当該2つのPDLデータの類似度を算出する。例えば、検索部172は、撮影画像151から取得したアウトラインのPDLデータに含まれるコマンドや座標を表す一連の文字列に一致する度合いが高いほど、該当の姿勢候補画像のアウトラインのPDLデータの類似度を大きくする。検索部172は、例えば、座標間の距離が短いほど、座標間の一致度合いを大きくすることが考えられる。 (S21) The search unit 172 is based on the coordinate information and vector information included in the two PDL data (the outline PDL data of the posture candidate image and the outline PDL data acquired from the captured image 151), and the two PDL data. Calculate the similarity of. For example, the higher the degree to which the search unit 172 matches a series of character strings representing commands and coordinates included in the outline PDL data acquired from the captured image 151, the higher the similarity of the outline PDL data of the corresponding posture candidate image. To increase. For example, the search unit 172 may consider that the shorter the distance between the coordinates, the greater the degree of agreement between the coordinates.

(S22)検索部172は、類似度が最も高い3Dモデルの姿勢候補の姿勢候補IDを、表示処理部173に提供する。表示処理部173は、姿勢候補テーブル131に基づいて、該当の姿勢候補IDに対応する姿勢候補画像P2を出力する。具体的には、表示処理部173は、撮影画像151と共に、該当の姿勢候補IDに対応する姿勢候補画像P2を、ディスプレイ111により表示させる。そして、姿勢候補の絞込みの処理が終了する。 (S22) The search unit 172 provides the display processing unit 173 with the posture candidate ID of the posture candidate of the 3D model having the highest degree of similarity. The display processing unit 173 outputs the posture candidate image P2 corresponding to the corresponding posture candidate ID based on the posture candidate table 131. Specifically, the display processing unit 173 displays the posture candidate image P2 corresponding to the corresponding posture candidate ID together with the captured image 151 on the display 111. Then, the process of narrowing down the posture candidates is completed.

なお、ステップS22において、表示処理部173は、撮影画像151に代えて、または、撮影画像151と共に、撮影画像151から抽出された複数のエッジを出力してもよい。また、表示処理部173は、姿勢候補画像P2に代えて、または、姿勢候補画像P2と共に、姿勢候補画像P2から抽出された複数のエッジを出力してもよい。 In step S22, the display processing unit 173 may output a plurality of edges extracted from the captured image 151 instead of the captured image 151 or together with the captured image 151. Further, the display processing unit 173 may output a plurality of edges extracted from the posture candidate image P2 in place of the posture candidate image P2 or together with the posture candidate image P2.

ユーザは、撮影画像151と共に表示された姿勢候補画像P2を確認して、姿勢候補画像P2に含まれるエッジと撮影画像151に含まれるエッジとを対応付ける操作を行える。 The user can confirm the posture candidate image P2 displayed together with the captured image 151 and perform an operation of associating the edge included in the posture candidate image P2 with the edge included in the captured image 151.

このように、検索部172は、姿勢候補画像(第1の投影像)の特定の際、複数の候補画像それぞれの第1のアウトラインを示す情報と撮影画像151に含まれる構造物の第2のアウトラインを示す情報とを比較し、第2のアウトラインとの一致の度合いが最も高い第1のアウトラインに対応する姿勢候補画像を特定する。 As described above, when the search unit 172 identifies the posture candidate image (first projected image), the information indicating the first outline of each of the plurality of candidate images and the second structure included in the captured image 151 are used. By comparing with the information showing the outline, the posture candidate image corresponding to the first outline having the highest degree of coincidence with the second outline is identified.

例えば、第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 search unit 172 identifies the posture candidate image corresponding to the first text information having the highest degree of matching between the second text information and the description content. As a result, the posture candidate image corresponding to the captured image can be efficiently identified. For example, the accuracy of identifying the posture candidate image is improved. In addition, posture candidate images can be searched at high speed.

また、検索部172は、第1および第2のテキスト情報の記述内容の比較では、図19で例示したように、複数の描画命令それぞれの第1のテキスト情報における出現位置を示す転置インデックスに基づいて、第1および第2のテキスト情報それぞれに含まれる描画命令と描画命令の出現順序とを比較する。これにより、姿勢候補画像を一層高速に検索できる。 In addition, the search unit 172 compares the description contents of the first and second text information based on the inverted index indicating the appearance position in the first text information of each of the plurality of drawing commands, as illustrated in FIG. Then, the drawing commands included in the first and second text information and the appearance order of the drawing commands are compared. As a result, the posture candidate image can be searched at a higher speed.

図24は、3Dモデル重畳制御例を示すフローチャートである。
(S30)表示処理部173は、3Dモデルの姿勢候補画像P2のエッジ(稜線)と撮影画像151のエッジとを対応付ける、ユーザの操作を受け付ける。
FIG. 24 is a flowchart showing an example of 3D model superimposition control.
(S30) The display processing unit 173 accepts a user operation of associating the edge (ridge line) of the posture candidate image P2 of the 3D model with the edge of the captured image 151.

(S31)表示処理部173は、CADデータ記憶部120に記憶された3DモデルのCADデータに基づいて、撮影画像151のエッジに、3Dモデルのエッジを対応付けた3Dモデルの投影像を生成する。表示処理部173は、既存の技術により、撮影画像151のエッジに、3Dモデルのエッジを対応付けた3Dモデルの投影像を生成できる。 (S31) The display processing unit 173 generates a projection image of the 3D model in which the edge of the captured image 151 is associated with the edge of the 3D model based on the CAD data of the 3D model stored in the CAD data storage unit 120. .. The display processing unit 173 can generate a projection image of the 3D model in which the edge of the captured image 151 is associated with the edge of the 3D model by the existing technology.

(S32)表示処理部173は、生成した3Dモデルの投影像を、撮影画像151に重畳表示する。そして、3Dモデル重畳制御の処理が終了する。
ユーザは、撮影画像151に重畳表示された3Dモデルの投影像を、撮影画像151における構造物画像151aと見比べることで、製造された構造物の検品などの作業を容易に行うことができる。
(S32) The display processing unit 173 superimposes and displays the projected image of the generated 3D model on the captured image 151. Then, the process of 3D model superimposition control is completed.
By comparing the projected image of the 3D model superimposed on the captured image 151 with the structure image 151a in the captured image 151, the user can easily perform operations such as inspection of the manufactured structure.

図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 screen 300 displayed on the display 111 by the process of step S22 of FIG. 23. The screen 300 includes a captured image 151 and a posture candidate image P2.

姿勢候補画像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 image 151. Therefore, the user associates the edge of the 3D model in the posture candidate image P2 with the edge of the structure in the captured image 151 without performing an operation of changing the posture of the 3D model projected on the posture candidate image P2. The operation can be easily performed. For example, the user operates the pointer K1 by the input device 112 to easily associate the edge connecting the points Q11 and Q12 included in the captured image 151 with the edge connecting the points Q21 and Q22 included in the posture candidate image P2. be able to.

図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 screen 400 including the captured image 151 and the posture candidate image P3 of the predetermined initial posture is shown. In this case, the initial posture of the 3D model in the posture candidate image P3 is the posture when the 3D model is viewed from the direction of the elevation angle of 90 °, and the posture of the structure in the captured image 151 (predetermined posture of the structure at an elevation angle of about 45 °). It is different from the attitude when viewed from the direction). Therefore, unless the user performs an operation of changing (rotating) the posture of the 3D model displayed on the posture candidate image P3, the edge of the structure in the captured image 151 and the edge of the 3D model in the posture candidate image P3. It is difficult to confirm the correspondence with. Therefore, the user is forced to operate the pointer K1 by the input device 112 to change the posture of the 3D model in the posture candidate image P3. The operation of changing the posture of the 3D model to match the posture of the structure in the captured image 151 may be difficult for a relatively inexperienced user.

そこで、情報処理装置100は、図25で例示したように、ユーザによる3Dモデルの姿勢変更の操作を省略可能にし、ユーザによる作業の効率化(例えば、作業時間の短縮)を図れる。 Therefore, as illustrated in FIG. 25, the information processing apparatus 100 makes it possible to omit the operation of changing the posture of the 3D model by the user, and can improve the efficiency of the work by the user (for example, shorten the work time).

特に、アウトラインに対応する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 processing unit 12 to execute the program. Further, the information processing of the second embodiment can be realized by causing the CPU 101 to execute the program. The program can be recorded on a computer-readable recording medium 114.

例えば、プログラムを記録した記録媒体114を配布することで、プログラムを流通させることができる。また、プログラムを他のコンピュータに格納しておき、ネットワーク経由でプログラムを配布してもよい。コンピュータは、例えば、記録媒体114に記録されたプログラムまたは他のコンピュータから受信したプログラムを、RAM102やHDD103などの記憶装置に格納し(インストールし)、当該記憶装置からプログラムを読み込んで実行してもよい。 For example, the program can be distributed by distributing the recording medium 114 on which the program is recorded. Alternatively, the program may be stored in another computer and distributed via the network. For example, the computer may store (install) a program recorded on the recording medium 114 or a program received from another computer in a storage device such as RAM 102 or HDD 103, read the program from the storage device, and execute the program. Good.

10 情報処理装置
11 記憶部
12 処理部
20 表示装置
31,32,33 投影像
40 撮影画像
41 構造物画像
50 表示画像
51 稜線群
52 エッジ線群
10 Information processing device 11 Storage unit 12 Processing unit 20 Display device 31, 32, 33 Projection image 40 Captured image 41 Structure image 50 Display image 51 Ridge line group 52 Edge line group

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の投影像の特定では、前記複数の投影像それぞれの第1のアウトラインを示す情報と前記撮影画像に含まれる前記構造物の第2のアウトラインを示す情報とを比較し、前記第2のアウトラインとの一致の度合いが最も高い前記第1のアウトラインに対応する前記第1の投影像を特定する、請求項1記載の表示制御方法。 In the identification of the first projected image, the information indicating the first outline of each of the plurality of projected images is compared with the information indicating the second outline of the structure included in the captured image, and the second outline is compared. The display control method according to claim 1, wherein the first projection image corresponding to the first outline having the highest degree of coincidence with the outline of the above is specified. 前記第1のアウトラインを示す情報は、前記第1のアウトラインの描画命令を含む第1のテキスト情報であり、前記第2のアウトラインを示す情報は、前記第2のアウトラインの描画命令を含む第2のテキスト情報であり、
前記第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および前記第2のテキスト情報の記述内容の比較では、複数の描画命令それぞれの前記第1のテキスト情報における出現位置を示す転置インデックスに基づいて、前記第1および前記第2のテキスト情報それぞれに含まれる描画命令と前記描画命令の出現順序とを比較する、請求項3記載の表示制御方法。 In the comparison of the description contents of the first and second text information, the first and second text information are based on the inverted index indicating the appearance position in the first text information of each of the plurality of drawing commands. The display control method according to claim 3, wherein the drawing command included in each is compared with the appearance order of the drawing command. 前記コンピュータが、更に、前記撮影画像を取得すると、前記撮影画像に含まれる前記構造物の形状を表すアウトライン候補の線を表示し、前記撮影画像における前記アウトライン候補の線の抽出範囲の指定、または、前記アウトライン候補の線を補完する線の入力を受け付ける、請求項1乃至4の何れか1項に記載の表示制御方法。 When the computer further acquires the captured image, it displays an outline candidate line representing the shape of the structure included in the captured image, and specifies the extraction range of the outline candidate line in the captured image, or The display control method according to any one of claims 1 to 4, which accepts an input of a line that complements the outline candidate line. コンピュータに、
撮像装置により撮像された構造物を含む撮影画像を取得し、
前記構造物の三次元モデルから生成された複数の投影像を取得し、
取得した前記複数の投影像の内、取得した前記撮影画像に含まれる前記構造物の形状に応じた第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.
JP2019101130A 2019-05-30 2019-05-30 Display control method, display control program and information processing device Active JP7265143B2 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (5)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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