JP5837848B2 - Image processing apparatus, image processing system, and image processing method - Google Patents

Image processing apparatus, image processing system, and image processing method Download PDF

Info

Publication number
JP5837848B2
JP5837848B2 JP2012047272A JP2012047272A JP5837848B2 JP 5837848 B2 JP5837848 B2 JP 5837848B2 JP 2012047272 A JP2012047272 A JP 2012047272A JP 2012047272 A JP2012047272 A JP 2012047272A JP 5837848 B2 JP5837848 B2 JP 5837848B2
Authority
JP
Japan
Prior art keywords
image
camera
estimation
message
feature amount
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.)
Active
Application number
JP2012047272A
Other languages
Japanese (ja)
Other versions
JP2013182523A (en
Inventor
栗原 恒弥
恒弥 栗原
雄大 浦野
雄大 浦野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2012047272A priority Critical patent/JP5837848B2/en
Publication of JP2013182523A publication Critical patent/JP2013182523A/en
Application granted granted Critical
Publication of JP5837848B2 publication Critical patent/JP5837848B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、カメラの位置と姿勢を、このカメラが撮像した画像を用いて求める技術に関するものである。   The present invention relates to a technique for obtaining the position and orientation of a camera using an image captured by the camera.

拡張現実(Augmented Reality:AR)とは、現実環境を撮影した画像に、現実環境に対応する画像や文字などの情報を付加する技術である。ユーザは、現実環境の画像と付加画像が合成された画像を見ることにより、あたかも付加画像として表示されている物体または画像が実際に存在しているかのような感覚を得ることができる。   Augmented reality (AR) is a technique for adding information such as images and characters corresponding to a real environment to an image obtained by photographing the real environment. The user can obtain a feeling as if the object or image displayed as the additional image actually exists by viewing the image obtained by combining the image of the real environment and the additional image.

ARの応用は、教育、娯楽、広告、ナビゲーション、医療など多岐にわたるが、その応用の一つに設備プラントの保守や建築の支援があげられる。   AR can be used for various purposes such as education, entertainment, advertising, navigation, and medical care. One of the applications is maintenance of equipment plants and architectural support.

近年、海外で設備プラントの保守や建設の計画が進む一方、熟練者不足のため、経験の浅いユーザの割合が増加すると予測されている。そこで、ARを応用して作業者を支援する技術が期待されている。ARをプラントの保守や建設現場で応用することにより、機器の状態や内部構造を可視化し、状態把握を補助することができる。これにより、効率的に作業を支援することができる。   In recent years, while maintenance and construction plans for equipment plants have progressed overseas, the proportion of inexperienced users is expected to increase due to a lack of skilled workers. Therefore, a technique for supporting workers by applying AR is expected. By applying AR to plant maintenance and construction sites, it is possible to visualize the state of the equipment and the internal structure and assist in understanding the state. Thereby, work can be efficiently supported.

ARにおいて最も重要な課題の1つは、現実空間と仮想空間との位置合わせである。すなわち、撮像に用いるカメラの位置や姿勢をいかに正確かつロバストに求めるかが重要である。このように、カメラ画像からカメラの位置姿勢を連続的に求める処理はトラッキングと呼ばれている。この課題に対処するため、様々な方法が開発されている。   One of the most important issues in AR is the alignment between the real space and the virtual space. In other words, it is important to accurately and robustly obtain the position and orientation of the camera used for imaging. In this way, the process of continuously obtaining the camera position and orientation from the camera image is called tracking. Various methods have been developed to address this issue.

カメラの位置や姿勢を推定する第1の方法として、GPSおよび電子コンパスを用いた方法がある。下記特許文献1には、GPSと電子コンパスと焦点距離に基づき、カメラの地図情報空間上での位置を取得し、3D−CAD上での視野空間を求め、その視野空間中に存在する構造物の属性情報をカメラで得た画像に重畳表示することが記載されている。   As a first method for estimating the position and orientation of the camera, there is a method using GPS and an electronic compass. In Patent Document 1 below, the position of the camera on the map information space is obtained based on the GPS, the electronic compass, and the focal length, the viewing space on the 3D-CAD is obtained, and the structure existing in the viewing space It is described that the attribute information is superimposed and displayed on an image obtained by a camera.

カメラの位置や姿勢を推定する第2の方法として、下記非特許文献1、特許文献2に記載されているものがある。これらの文献では、情報提供したい箇所に2次元コードを記述した表示物をあらかじめ設置し、表示物上の2次元コードをカメラで読み取ってその位置を認識し、その位置に情報を提示する。   As a second method for estimating the position and orientation of a camera, there are methods described in Non-Patent Document 1 and Patent Document 2 below. In these documents, a display object in which a two-dimensional code is described is set in advance at a location where information is to be provided, the two-dimensional code on the display object is read by a camera, the position is recognized, and information is presented at the position.

カメラの位置や姿勢を推定する第3の方法として、モデルベースの方法が提案されている。モデルベースの方法では、3次元CADによって設計した物体のように形状が既知である物体に対して仮想カメラを用いて画像を生成する。以下、既知の形状から生成される画像をCG画像と呼ぶ。生成されたCG画像がカメラで撮像されたカメラ画像と類似していれば、そのCG画像を生成するときに用いた仮想カメラの位置や姿勢が、実際のカメラの位置や姿勢に対応していると考えられる。   A model-based method has been proposed as a third method for estimating the position and orientation of the camera. In the model-based method, an image is generated using a virtual camera for an object whose shape is known, such as an object designed by three-dimensional CAD. Hereinafter, an image generated from a known shape is referred to as a CG image. If the generated CG image is similar to the camera image captured by the camera, the position and orientation of the virtual camera used to generate the CG image correspond to the actual camera position and orientation. it is conceivable that.

下記非特許文献2、特許文献3には、モデルベース手法の例として、撮像装置からの2次元的な画像情報に基づいて、物体の頂点やエッジなどの3次元的な幾何特徴を抽出し、これを物体の幾何モデルと照合することにより、物体の位置や姿勢を決定する方法が提案されている。さらに下記非特許文献3では、カメラ画像とCG画像との類似度として、照明変化に対してロバストな相互情報量を用いた方法が提案されている。   Non-Patent Document 2 and Patent Document 3 below extract three-dimensional geometric features such as vertices and edges of an object based on two-dimensional image information from an imaging device as an example of a model-based method, A method for determining the position and orientation of an object by collating this with a geometric model of the object has been proposed. Further, Non-Patent Document 3 below proposes a method that uses mutual information that is robust to changes in illumination as the similarity between a camera image and a CG image.

特開平10−267671号公報Japanese Patent Laid-Open No. 10-267671 特開2002−228442号公報JP 2002-228442 A 特開平07−146121号公報JP 07-146121 A

X.Zhang, S.Fronz, N.Navab: Visual Marker Detection and Decoding in AR Systems: A Comparative Study, Proc. of International Symposium on Mixed and Augmented Reality (ISMAR’02), 2002.X.Zhang, S.Fronz, N.Navab: Visual Marker Detection and Decoding in AR Systems: A Comparative Study, Proc. Of International Symposium on Mixed and Augmented Reality (ISMAR’02), 2002. V. Lepetit, L. Vacchetti, D. Thalmann, and P. Fua: Fully Automated and Stable Registration for Augmented Reality Applications, proc. of International Symposium on Mixed and Augmented Reality (ISMAR’03), 2003.V. Lepetit, L. Vacchetti, D. Thalmann, and P. Fua: Fully Automated and Stable Registration for Augmented Reality Applications, proc. Of International Symposium on Mixed and Augmented Reality (ISMAR’03), 2003. A. Dame, E. Marchand: Accurate real-time tracking using mutual information, proc. of International Symposium on Mixed and Augmented Reality (ISMAR’10), 2010, pp. 47-56 (2010).A. Dame, E. Marchand: Accurate real-time tracking using mutual information, proc. Of International Symposium on Mixed and Augmented Reality (ISMAR’10), 2010, pp. 47-56 (2010).

特許文献1に記載されている技術では、プラント保守などのように屋内においてARを実現する場合に、作業場所が屋内であるためGPSによる位置把握ができないという課題がある。屋内GPSも実用化されているが、施設の条件によっては設置が困難な場合がある。また、磁場の変化に対して敏感な電子コンパスや磁界センサは、プラント内部で使用できない場合がある。さらに、GPSおよび電子コンパスを使用する方法では、位置合わせの精度が低いため、CG画像を重畳すると大きな誤差を生じてしまう。   In the technique described in Patent Document 1, when the AR is realized indoors such as in plant maintenance, there is a problem that the position cannot be grasped by GPS because the work place is indoors. Indoor GPS has also been put to practical use, but installation may be difficult depending on the conditions of the facility. In addition, an electronic compass or a magnetic field sensor that is sensitive to changes in the magnetic field may not be used inside the plant. Furthermore, in the method using the GPS and the electronic compass, since the alignment accuracy is low, a large error occurs when the CG image is superimposed.

非特許文献1、特許文献2のように、2次元コードを作業場所にあらかじめ配置する技術では、2次元コードを設置する手間がかかり、場所によっては設置自体が困難なこともある。例えば、プラント内は配管等が複雑に入り組んでいるため2次元コードが隠れて撮影されない場合や、2次元コードを設置した位置にしか情報が提示できないため情報提示が離散的になるという課題がある。また、稼働中の機器に関しては2次元コードを設置することが困難である。   As in Non-Patent Document 1 and Patent Document 2, in the technology of arranging the two-dimensional code in the work place in advance, it takes time to install the two-dimensional code, and the installation itself may be difficult depending on the place. For example, there are problems that piping is complicated in the plant and the two-dimensional code is hidden and cannot be photographed, or information can be presented only at the position where the two-dimensional code is installed, so that information presentation becomes discrete. . In addition, it is difficult to install a two-dimensional code for a device in operation.

非特許文献2、特許文献3に記載されているモデルベースの方法は、CG画像とカメラ画像との照合によってカメラ位置と姿勢を推定することができるので、2次元コードやGPSなどを利用する必要がない。しかし、現実物体の3次元CADデータなどの3次元形状データをあらかじめ準備しておくことが必要となる。実際には、現実物体の3次元CADデータが存在しない場合がある。さらに、現場作業の過程で設備を操作した結果として3次元CADデータが実際の形状と適合していない場合がある。このような場合には、3次元形状データを新規に作成する必要があるが、これには膨大な手間がかかる。この理由について以下に説明する。   The model-based methods described in Non-Patent Document 2 and Patent Document 3 can estimate the camera position and orientation by collating the CG image with the camera image, so it is necessary to use a two-dimensional code or GPS. There is no. However, it is necessary to prepare 3D shape data such as 3D CAD data of a real object in advance. Actually, there is a case where the three-dimensional CAD data of the real object does not exist. Furthermore, as a result of operating the equipment during the field work, the three-dimensional CAD data may not match the actual shape. In such a case, it is necessary to newly create three-dimensional shape data, but this takes a lot of time and effort. The reason for this will be described below.

3次元形状データを作成するために、レーザレンジファインダなどによって実際の形状を3次元計測する方法がある。レーザレンジファインダによって現実物体の形状と色を精密に計測することができる。レーザレンジファインダによる計測データは、点群である場合が多い。すなわち、大量の点群の3次元座標と各点における色が計測される。モデルベースの方法において計測データを適用する場合には、点群データなどの3次元計測データからポリゴンなどの面データを生成する必要がある。しかし、点群データから面データへの変換には多大な工数が必要である。   In order to create three-dimensional shape data, there is a method of measuring an actual shape three-dimensionally using a laser range finder or the like. A laser range finder can accurately measure the shape and color of real objects. The measurement data obtained by the laser range finder is often a point cloud. That is, the three-dimensional coordinates of a large number of point groups and the color at each point are measured. When applying measurement data in a model-based method, it is necessary to generate surface data such as polygons from three-dimensional measurement data such as point cloud data. However, conversion from point cloud data to surface data requires a great deal of man-hours.

本発明は、上記のような課題に鑑みてなされたものであり、カメラが撮像した画像に基づきカメラの位置や姿勢を推定する場合において、事前に必要な作業量を削減することを目的とする。   The present invention has been made in view of the above problems, and an object of the present invention is to reduce the amount of work required in advance when estimating the position and orientation of a camera based on an image captured by the camera. .

本発明に係る画像処理装置は、対象物のCG画像と位置を記述するCG画像データを格納するCG画像データベースを備え、カメラ画像の特徴量とCG画像の特徴量を比較してカメラ画像に合致するCG画像を特定することにより、カメラ位置と姿勢を推定する。   An image processing apparatus according to the present invention includes a CG image database storing CG image data describing a CG image of an object and a position, and compares the feature amount of the camera image with the feature amount of the CG image to match the camera image. By specifying the CG image to be performed, the camera position and orientation are estimated.

本発明に係る画像処理装置によれば、対象物のCG画像データを準備しておくのみでカメラの位置や姿勢を特定できるため、GPSや電子コンパスのようなセンサが不要となり、かつ2次元コードをあらかじめ作業場所に設置する必要がなく、さらには対象物の3次元形状データ(面データ)をあらかじめ作成しておく必要がない。これにより、カメラの位置や姿勢を推定するために必要な事前の作業量を削減することができる。   According to the image processing apparatus of the present invention, since the position and orientation of the camera can be specified only by preparing CG image data of the target object, a sensor such as a GPS or an electronic compass is unnecessary, and a two-dimensional code is used. Is not required to be installed in the work place in advance, and further, it is not necessary to previously create the three-dimensional shape data (surface data) of the object. Thereby, the amount of prior work required for estimating the position and orientation of the camera can be reduced.

実施形態1に係る画像処理システム1000の構成を示すブロック図である。1 is a block diagram illustrating a configuration of an image processing system 1000 according to Embodiment 1. FIG. カメラ付端末10の機能ブロック図である。It is a functional block diagram of terminal 10 with a camera. カメラ位置姿勢推定サーバ30の機能ブロック図である。3 is a functional block diagram of a camera position and orientation estimation server 30. FIG. カメラサーバ20の機能ブロック図である。2 is a functional block diagram of a camera server 20. FIG. CG画像DB32のフォーマットを示す図である。It is a figure which shows the format of CG image DB32. カメラ画像11のデータフォーマットを示す図である。It is a figure which shows the data format of the camera image. 3次元タグDB33の構成を示す図である。It is a figure which shows the structure of three-dimensional tag DB33. カメラ情報データ13のデータフォーマットを示す図である。It is a figure which shows the data format of the camera information data. 点群DB31の構成を示す図である。It is a figure which shows the structure of point cloud DB31. カメラ101の位置と姿勢を推定する方法を示す模式図である。It is a schematic diagram which shows the method of estimating the position and attitude | position of the camera 101. FIG. カメラ付端末10がカメラ101の位置と姿勢を取得する手順を示すシーケンス図である。It is a sequence diagram which shows the procedure in which the terminal 10 with a camera acquires the position and attitude | position of the camera 101. FIG. カメラ付端末10がメッセージを表示部103に画面表示する方法を示した模式図である。It is the schematic diagram which showed the method the terminal 10 with a camera displays a message on the display part 103 on a screen. カメラ付端末10がカメラ101の撮像範囲に付随するメッセージを取得する手順を示すシーケンス図である。FIG. 10 is a sequence diagram illustrating a procedure in which the camera-equipped terminal 10 acquires a message accompanying the imaging range of the camera 101. 実施形態2に係るカメラ位置姿勢推定サーバ30の機能ブロック図である。It is a functional block diagram of the camera position and orientation estimation server 30 according to the second embodiment. 実施形態2においてカメラ付端末10がカメラ101の位置と姿勢を取得する手順を示すシーケンス図である。FIG. 10 is a sequence diagram illustrating a procedure in which the terminal with camera 10 acquires the position and orientation of the camera 101 in the second embodiment. 図15のステップS1501における詳細を示すフローチャートである。It is a flowchart which shows the detail in step S1501 of FIG. カメラ101の位置と姿勢を収束計算によって推定した後、カメラ画像11をCG画像DB32に追加する手順を示すシーケンス図である。It is a sequence diagram which shows the procedure which adds the camera image 11 to CG image DB32, after estimating the position and attitude | position of the camera 101 by convergence calculation. 実施形態4においてカメラ位置姿勢推定サーバ30がカメラ101の位置と姿勢を推定する処理を示すフローチャートである。14 is a flowchart illustrating processing in which the camera position and orientation estimation server 30 estimates the position and orientation of the camera 101 in the fourth embodiment.

<実施の形態1:システム構成>
図1は、本発明の実施形態1に係る画像処理システム1000の構成を示すブロック図である。画像処理システム1000は、カメラが撮像した画像に基づき当該カメラの位置や姿勢を推定するためのシステムであり、カメラ付端末10、カメラサーバ20、カメラ位置姿勢推定サーバ30を備える。
<Embodiment 1: System configuration>
FIG. 1 is a block diagram showing a configuration of an image processing system 1000 according to Embodiment 1 of the present invention. The image processing system 1000 is a system for estimating the position and orientation of the camera based on an image captured by the camera, and includes a camera-equipped terminal 10, a camera server 20, and a camera position / orientation estimation server 30.

カメラ付端末10は、ユーザ50が保持する端末であり、例えばプラント内の設備などの対象物を撮像し、撮像した画像を基地局40経由でカメラ位置姿勢推定サーバ30に送信する。また、撮像した画像をユーザ50が確認するための表示部を備え、対象物と併せて対象物に関連するメッセージを重畳表示することもできる。カメラ付端末10の詳細構成については後述する。   The camera-equipped terminal 10 is a terminal held by the user 50, for example, captures an object such as equipment in a plant, and transmits the captured image to the camera position / orientation estimation server 30 via the base station 40. Moreover, the display part for the user 50 to confirm the imaged image is provided, and the message relevant to a target object can also be superimposed and displayed together with a target object. The detailed configuration of the camera-equipped terminal 10 will be described later.

カメラサーバ20は、カメラ付端末10から受け取った画像の特徴量を計算してカメラ位置姿勢推定サーバ30に出力する機能を備えるサーバである。カメラサーバ20はカメラ位置姿勢推定サーバ30と一体的に構成してもよい。カメラサーバ20の詳細構成については後述する。   The camera server 20 is a server having a function of calculating the feature amount of the image received from the camera-equipped terminal 10 and outputting it to the camera position / orientation estimation server 30. The camera server 20 may be configured integrally with the camera position / posture estimation server 30. The detailed configuration of the camera server 20 will be described later.

カメラ位置姿勢推定サーバ30は、カメラ付端末10から受け取った画像に基づき、カメラ付端末10が備えているカメラの位置や姿勢を推定し、カメラ付端末10に通知する。カメラ位置姿勢推定サーバ30の詳細構成については後述する。カメラサーバ20とカメラ位置姿勢推定サーバ30は、本実施形態1における「画像処理装置」に相当する。   The camera position / orientation estimation server 30 estimates the position and orientation of the camera included in the camera-equipped terminal 10 based on the image received from the camera-equipped terminal 10 and notifies the camera-equipped terminal 10 of the position and orientation. The detailed configuration of the camera position / orientation estimation server 30 will be described later. The camera server 20 and the camera position / orientation estimation server 30 correspond to the “image processing apparatus” in the first embodiment.

図2は、カメラ付端末10の機能ブロック図である。カメラ付端末10は、カメラ101、通信部102、表示部103、制御部104を備える。   FIG. 2 is a functional block diagram of the camera-equipped terminal 10. The camera-equipped terminal 10 includes a camera 101, a communication unit 102, a display unit 103, and a control unit 104.

カメラ101は、周辺に存在する対象物の画像を撮像してカメラ画像11を生成する。通信部102は、カメラ101が撮像した画像をカメラ位置姿勢推定サーバ30に送信し、カメラ位置姿勢推定サーバ30から3次元タグデータ12とカメラ情報データ13を受け取る。表示部103は、カメラ101が撮像した画像と必要に応じて後述するメッセージを画面表示する。制御部104は、各部の動作を制御する。   The camera 101 captures an image of an object existing around and generates a camera image 11. The communication unit 102 transmits an image captured by the camera 101 to the camera position / orientation estimation server 30 and receives the three-dimensional tag data 12 and the camera information data 13 from the camera position / orientation estimation server 30. The display unit 103 displays an image captured by the camera 101 and a message, which will be described later, as necessary. The control unit 104 controls the operation of each unit.

制御部104は、その機能を実現する回路デバイスのようなハードウェアを用いて構成することもできるし、CPU(Central Processing Unit)のような演算装置とその動作を規定するソフトウェアを用いて構成することもできる。   The control unit 104 can be configured using hardware such as a circuit device that realizes the function, or is configured using an arithmetic device such as a CPU (Central Processing Unit) and software that defines its operation. You can also.

図3は、カメラ位置姿勢推定サーバ30の機能ブロック図である。カメラ位置姿勢推定サーバ30は、点群データベース(DB)31、CG画像データベース(DB)32、3次元タグデータベース(DB)33、制御部301、データベース管理部302、CG画像生成部303、検索部304、通信部305、特徴量算出部306を備える。   FIG. 3 is a functional block diagram of the camera position / orientation estimation server 30. The camera position / orientation estimation server 30 includes a point cloud database (DB) 31, a CG image database (DB) 32, a three-dimensional tag database (DB) 33, a control unit 301, a database management unit 302, a CG image generation unit 303, and a search unit. 304, a communication unit 305, and a feature amount calculation unit 306.

点群DB31は、ユーザ50が作業するプラントなどの設備をあらかじめレーザレンジファインダなどによって3次元計測することにより取得した、対象物の点群データを格納するデータベースである。点群DB31の構成については後述する。   The point cloud DB 31 is a database that stores point cloud data of an object acquired by three-dimensionally measuring equipment such as a plant on which the user 50 works in advance with a laser range finder or the like. The configuration of the point cloud DB 31 will be described later.

CG画像DB32は、点群DB31が格納している点群データを仮想カメラによってレンダリングして生成したCG画像を格納するデータベースである。CG画像DB32の構成については後述する。   The CG image DB 32 is a database that stores a CG image generated by rendering the point cloud data stored in the point cloud DB 31 with a virtual camera. The configuration of the CG image DB 32 will be described later.

3次元タグDB33は、カメラ付端末10の表示部103が撮像画像とともに表示するメッセージを格納するデータベースである。3次元タグDB33の構成については後述する。   The three-dimensional tag DB 33 is a database that stores a message that the display unit 103 of the camera-equipped terminal 10 displays together with the captured image. The configuration of the three-dimensional tag DB 33 will be described later.

制御部301は、データベース管理部302、CG画像生成部303、検索部304、通信部305の各プロセスを管理する。データベース管理部302は、点群DB31、CG画像DB32、3次元タグDB33のデータ入出力を管理する。   The control unit 301 manages each process of the database management unit 302, the CG image generation unit 303, the search unit 304, and the communication unit 305. The database management unit 302 manages data input / output of the point group DB 31, the CG image DB 32, and the three-dimensional tag DB 33.

CG画像生成部303は、点群DB31が格納している点群データより、公知のポイントベースレンダリング手法を用いてCG画像データを生成し、CG画像DB32に格納する。また、カメラ画像11と点群データを比較する際に、点群DB31が格納している点群データをCG画像に変換する。CG画像生成部303は、CG画像を生成したときに使用した仮想カメラの位置と仮想カメラの方向を、生成したCG画像とともにCG画像DB32へ保存する。   The CG image generation unit 303 generates CG image data from the point cloud data stored in the point cloud DB 31 using a known point-based rendering technique, and stores the CG image data in the CG image DB 32. Further, when the camera image 11 and the point cloud data are compared, the point cloud data stored in the point cloud DB 31 is converted into a CG image. The CG image generation unit 303 stores the position of the virtual camera and the direction of the virtual camera used when generating the CG image together with the generated CG image in the CG image DB 32.

特徴量算出部306は、CG画像生成部303が生成したCG画像より、色合い・形状等の、当該画像の特徴を数値列として表現した画像特徴量を算出する。   The feature amount calculation unit 306 calculates an image feature amount expressing the features of the image, such as hue and shape, as a numerical string, from the CG image generated by the CG image generation unit 303.

CG画像は、色合いや表面の質感といったテクスチャが、実物を撮影した画像と異なることがありうるため、CG画像そのものに代えて、またはCG画像そのものと併用して、画像特徴量を用いてもよい。CG画像内の形状を表す特徴量の代表例としては、下記参考文献に記載されているエッジパターン特徴量が挙げられる。エッジパターン特徴量は、画像内に撮影されている物体のエッジのパターンを数値化した特徴量である。エッジパターン特徴量を算出する場合、あらかじめ複数の特徴的なエッジパターンを設定する。次に、CG画像を格子状の領域に分割し、各領域内に含まれるエッジパターンの数を数えてヒストグラムを生成することにより、多次元ベクトルを生成する。この多次元ベクトルを画像特徴量として用いることができる。
(参考文献)D. Matsubara and A. Hiroike, "High-speed Similarity-based Image Retrieval with Data-alignment Optimization using Self-organization Algorithm," 11th IEEE International Symposium on Multimedia, pp.312--317, 2009。
Since the CG image may have a different texture such as color and surface texture than the image of the actual image, the image feature amount may be used instead of the CG image itself or in combination with the CG image itself. . A typical example of the feature amount representing the shape in the CG image is an edge pattern feature amount described in the following reference. The edge pattern feature amount is a feature amount obtained by quantifying an edge pattern of an object photographed in an image. When calculating the edge pattern feature amount, a plurality of characteristic edge patterns are set in advance. Next, a CG image is divided into grid-like regions, and the number of edge patterns included in each region is counted to generate a histogram, thereby generating a multidimensional vector. This multidimensional vector can be used as an image feature amount.
(Reference) D. Matsubara and A. Hiroike, “High-speed Similarity-based Image Retrieval with Data-alignment Optimization using Self-organization Algorithm,” 11th IEEE International Symposium on Multimedia, pp.312--317, 2009.

CG画像を生成する対象は、人間の視点が通る箇所に限定してもよい。例えばプラントのタービン建屋の面積が2万mで4階建てである場合、床上1.5mの高さで1m置きに10°刻みでCG画像を生成した場合、画像数は288万枚となる。 An object for generating a CG image may be limited to a place where a human viewpoint passes. For example, if the area of the turbine building of the plant is 20,000 m 2 and it is 4 stories high, if a CG image is generated at intervals of 1 ° at a height of 1.5 m above the floor, the number of images will be 2.88 million. .

検索部304は、カメラサーバ20が算出した特徴量14をクエリとして受け取り、CG画像DB32に格納されているCG画像のうち、その画像特徴量がクエリと合致するものを、検索結果として戻す。具体的には、画像特徴量のベクトル空間中における距離が所定値以下のものが互いに類似した画像であると判定し、この類似画像を検索結果として戻す。検索部304は、本実施形態1における「推定部」に相当する。非特許文献2によれば、288万枚のCG画像を検索するために要する時間は1秒未満である。   The search unit 304 receives the feature value 14 calculated by the camera server 20 as a query, and returns, as a search result, a CG image stored in the CG image DB 32 whose image feature value matches the query. Specifically, it is determined that images whose distance in the vector space of the image feature amount is equal to or smaller than a predetermined value are similar to each other, and this similar image is returned as a search result. The search unit 304 corresponds to the “estimator” in the first embodiment. According to Non-Patent Document 2, the time required to search for 2.88 million CG images is less than 1 second.

通信部305はネットワークインタフェースであり、カメラサーバ20と通信して画像特徴量14やカメラ画像11を受信し、3次元タグデータ12やカメラ情報データ13を送信する。   A communication unit 305 is a network interface, and communicates with the camera server 20 to receive the image feature amount 14 and the camera image 11 and transmit the three-dimensional tag data 12 and the camera information data 13.

図4は、カメラサーバ20の機能ブロック図である。カメラサーバ20は、制御部201、特徴量算出部202、ID変換部203、通信部204を備える。   FIG. 4 is a functional block diagram of the camera server 20. The camera server 20 includes a control unit 201, a feature amount calculation unit 202, an ID conversion unit 203, and a communication unit 204.

制御部201は、特徴量算出部202、ID変換部203、通信部204の各プロセスを管理する。特徴量算出部202は、カメラ付端末10が対象物を撮影して得たカメラ画像11を受け取り、カメラ画像データ11の色合い・形状等の情報を数値列として表現した特徴量14を算出し、算出した特徴量14をカメラ位置姿勢推定サーバ30へ送信する。ID変換部203は、カメラ付端末10に割り振られているIP(Internet Protocol)アドレスやMAC(Media Access Control)アドレス等の固有IDを、カメラ位置姿勢推定サーバ30が解釈できるカメラIDへ変換する。通信部204はネットワークインタフェースであり、カメラ付端末10と通信してカメラ画像11を受信し、カメラ位置姿勢推定サーバ30と通信して特徴量14を送信する。   The control unit 201 manages each process of the feature amount calculation unit 202, the ID conversion unit 203, and the communication unit 204. The feature amount calculation unit 202 receives the camera image 11 obtained by photographing the object by the camera-equipped terminal 10, calculates the feature amount 14 that expresses information such as the hue and shape of the camera image data 11 as a numerical string, The calculated feature value 14 is transmitted to the camera position / orientation estimation server 30. The ID conversion unit 203 converts a unique ID such as an IP (Internet Protocol) address or a MAC (Media Access Control) address allocated to the camera-equipped terminal 10 into a camera ID that can be interpreted by the camera position and orientation estimation server 30. The communication unit 204 is a network interface, and communicates with the camera-equipped terminal 10 to receive the camera image 11 and communicates with the camera position / orientation estimation server 30 to transmit the feature amount 14.

図5は、CG画像DB32のフォーマットを示す図である。CG画像DB32は、IDフィールド321、カメラ位置フィールド322、カメラ方向フィールド323、CG画像データフィールド324、画像特徴量フィールド325を有する。   FIG. 5 is a diagram showing the format of the CG image DB 32. The CG image DB 32 includes an ID field 321, a camera position field 322, a camera direction field 323, a CG image data field 324, and an image feature amount field 325.

IDフィールド321は、レコード毎に割り振られている固有番号を保持する。カメラ位置フィールド322は、CG画像データフィールド324が格納しているCG画像をCG画像生成部303が生成する際に点群データをレンダリングするために用いた仮想カメラの位置座標を保持する。カメラ方向フィールド323は、CG画像データフィールド324が格納しているCG画像をCG画像生成部303が生成する際に点群データをレンダリングするために用いた仮想カメラの方向を保持する。CG画像データ324は、CG画像生成部303が点群データより生成するCG画像データである。画像特徴量325は、特徴量算出部306がCG画像データ324より算出する特徴量を表す数値列である。   The ID field 321 holds a unique number assigned to each record. The camera position field 322 holds the position coordinates of the virtual camera used for rendering the point cloud data when the CG image generation unit 303 generates the CG image stored in the CG image data field 324. The camera direction field 323 holds the direction of the virtual camera used for rendering the point cloud data when the CG image generation unit 303 generates the CG image stored in the CG image data field 324. The CG image data 324 is CG image data that the CG image generation unit 303 generates from point cloud data. The image feature amount 325 is a numerical value sequence that represents a feature amount that the feature amount calculation unit 306 calculates from the CG image data 324.

図6は、カメラ画像11のデータフォーマットを示す図である。カメラ画像11は、カメラ101が対象物を撮像することによって取得する画像データであり、カメラIDフィールド111、取得時刻フィールド112、画像データフィールド113を有する。   FIG. 6 is a diagram illustrating a data format of the camera image 11. The camera image 11 is image data acquired by the camera 101 capturing an image of an object, and includes a camera ID field 111, an acquisition time field 112, and an image data field 113.

カメラ101は、対象物を撮像して得た画像データに、自身のID(カメラ101内のレジスタ等に記録しておけばよい)と撮像年月日をそれぞれカメラIDフィールド111、取得時刻フィールド112として付与し、カメラ画像11を生成する。カメラサーバ20の特徴量算出部202は、カメラ画像11内に含まれる画像データ113より特徴量を算出し、通信部204を介してカメラ位置姿勢推定サーバ30へ送信する。   The camera 101 includes its own ID (which may be recorded in a register or the like in the camera 101) and imaging date in the image data obtained by imaging the object, and a camera ID field 111 and an acquisition time field 112, respectively. And the camera image 11 is generated. The feature amount calculation unit 202 of the camera server 20 calculates a feature amount from the image data 113 included in the camera image 11 and transmits the feature amount to the camera position / orientation estimation server 30 via the communication unit 204.

図7は、3次元タグDB33の構成を示す図である。3次元タグDB33は、メッセージIDフィールド331、メッセージフィールド332、メッセージ位置フィールド333を有する。   FIG. 7 is a diagram illustrating a configuration of the three-dimensional tag DB 33. The three-dimensional tag DB 33 has a message ID field 331, a message field 332, and a message position field 333.

メッセージIDフィールド331は、3次元タグDB33が保持する個々のレコードを識別するための識別子である。メッセージフィールド332は、表示部103上に重畳表示するメッセージであり、例えばテキストデータ、画像、工程表や作業手順などのドキュメントなどをメッセージとすることができる。メッセージ位置フィールド333は、メッセージを重畳表示すべきプラント内の位置を示す3次元座標値を保持する。メッセージ位置フィールド333が指定する位置をカメラ101が撮像しているとき、表示部103がメッセージフィールド332のメッセージを撮像画像と併せて重畳表示することを想定する。   The message ID field 331 is an identifier for identifying individual records held by the three-dimensional tag DB 33. The message field 332 is a message that is displayed in a superimposed manner on the display unit 103. For example, text data, images, documents such as process charts and work procedures, and the like can be used as messages. The message position field 333 holds a three-dimensional coordinate value indicating the position in the plant where the message is to be superimposed and displayed. It is assumed that when the camera 101 is capturing the position specified by the message position field 333, the display unit 103 displays the message in the message field 332 together with the captured image.

図8は、カメラ情報データ13のデータフォーマットを示す図である。カメラ情報データ13は、カメラ101の位置と姿勢を推定した結果をカメラ付端末10へ通知するためのデータであり、カメラ位置フィールド131、カメラ方向フィールド132を有する。   FIG. 8 is a diagram showing a data format of the camera information data 13. The camera information data 13 is data for notifying the camera-equipped terminal 10 of the result of estimating the position and orientation of the camera 101, and has a camera position field 131 and a camera direction field 132.

カメラ位置フィールド131は、カメラ101の位置の3次元座標値を保持する。カメラ方向フィールド132は、カメラ101の姿勢を示す値を保持する。カメラ位置フィールド131は、例えばプラント設備内の所定位置を基準とする3次元座標値によって記述することができる。カメラ方向フィールド132は、X軸まわりの回転角度、Y軸まわりの回転角度、Z軸周りの回転角度によって記述することができる。その他の方法、例えば4元数などでカメラ101の姿勢を記述してもよい。   The camera position field 131 holds a three-dimensional coordinate value of the position of the camera 101. The camera direction field 132 holds a value indicating the posture of the camera 101. The camera position field 131 can be described by, for example, a three-dimensional coordinate value based on a predetermined position in the plant facility. The camera direction field 132 can be described by a rotation angle around the X axis, a rotation angle around the Y axis, and a rotation angle around the Z axis. The posture of the camera 101 may be described by other methods, for example, a quaternion.

図9は、点群DB31の構成を示す図である。点群DB31は、IDフィールド311、位置フィールド312、色フィールド313を有する。IDフィールド311は、点群DB31が保持する個々の点についてのレコードを識別するための識別子である。位置フィールド312は、対象物上の点の3次元座標値を保持する。色フィールド313は、位置フィールド312が指定する座標点の色を示す値を保持する。   FIG. 9 is a diagram showing the configuration of the point cloud DB 31. As shown in FIG. The point cloud DB 31 has an ID field 311, a position field 312, and a color field 313. The ID field 311 is an identifier for identifying a record for each point held by the point cloud DB 31. The position field 312 holds a three-dimensional coordinate value of a point on the object. The color field 313 holds a value indicating the color of the coordinate point specified by the position field 312.

<実施の形態1:カメラの位置と姿勢の推定>
図10は、カメラ101の位置と姿勢を推定する方法を示す模式図である。カメラ付端末10は、カメラ101が撮影したカメラ画像11をクエリとし、カメラ101の位置と姿勢を推定するよう、カメラ位置姿勢推定サーバ30へ要求する。カメラサーバ20はカメラ画像11の特徴量を算出し、カメラ位置姿勢推定サーバ30へ送信する。カメラ位置姿勢推定サーバ30は、CG画像DB32が格納しているCG画像データの特徴量とカメラ画像11の特徴量との間のベクトル空間内での距離を算出し、最も距離が近いCG画像データがカメラ画像11に類似していると判定する。カメラ位置姿勢推定サーバ30は、類似していると判定したCG画像データのカメラ位置フィールド322とカメラ方向フィールド323を、クエリ結果としてカメラ付端末10へ返信する。
<Embodiment 1: Estimation of Camera Position and Posture>
FIG. 10 is a schematic diagram illustrating a method for estimating the position and orientation of the camera 101. The camera-equipped terminal 10 uses the camera image 11 taken by the camera 101 as a query, and requests the camera position / orientation estimation server 30 to estimate the position and orientation of the camera 101. The camera server 20 calculates the feature amount of the camera image 11 and transmits it to the camera position / orientation estimation server 30. The camera position / orientation estimation server 30 calculates the distance in the vector space between the feature quantity of the CG image data stored in the CG image DB 32 and the feature quantity of the camera image 11, and the CG image data with the closest distance. Is similar to the camera image 11. The camera position / orientation estimation server 30 returns the camera position field 322 and the camera direction field 323 of the CG image data determined to be similar to the camera-equipped terminal 10 as a query result.

図11は、カメラ付端末10がカメラ101の位置と姿勢を取得する手順を示すシーケンス図である。以下、図11の各ステップについて説明する。
(図11:ステップS1101〜S1102)
カメラ付端末10は、対象物を撮像してカメラ画像11を生成し(S1101)、カメラサーバ20へ送信する(S1102)。このときカメラ付端末10は、カメラ101の位置と姿勢を推定して返信するように、カメラサーバ20へ要求する。
FIG. 11 is a sequence diagram illustrating a procedure in which the camera-equipped terminal 10 acquires the position and orientation of the camera 101. Hereinafter, each step of FIG. 11 will be described.
(FIG. 11: Steps S1101 to S1102)
The terminal 10 with a camera images a target object, generates a camera image 11 (S1101), and transmits it to the camera server 20 (S1102). At this time, the camera-equipped terminal 10 requests the camera server 20 to estimate and return the position and orientation of the camera 101.

(図11:ステップS1103〜S1104)
カメラサーバ20の特徴量算出部202は、カメラ画像11の特徴量14を算出し(S1103)、カメラ画像11とともにカメラ位置姿勢推定サーバ30へ送信する(S1104)。本ステップにおいてカメラ位置姿勢推定サーバ30へ送信する情報は、類似画像を検索するために必要な情報のみでもよい。例えばカメラID111と特徴量14のみでもよい。
(FIG. 11: Steps S1103 to S1104)
The feature amount calculation unit 202 of the camera server 20 calculates the feature amount 14 of the camera image 11 (S1103), and transmits it to the camera position / orientation estimation server 30 together with the camera image 11 (S1104). Information transmitted to the camera position / orientation estimation server 30 in this step may be only information necessary for searching for similar images. For example, only the camera ID 111 and the feature amount 14 may be used.

(図11:ステップS1105)
カメラ位置姿勢推定サーバ30の検索部304は、特徴量14とCG画像DB32に登録されている画像特徴量325との間のベクトル空間中における距離を評価することにより、カメラ画像11に類似する画像を検索する。具体的には、ベクトル空間中における距離が最も近いCG画像データを、類似画像として取得する。検索部304は、ステップS1105で取得した類似画像に対応するカメラ位置フィールド322とカメラ方向フィールド323を取得する。
(FIG. 11: Step S1105)
The search unit 304 of the camera position / orientation estimation server 30 evaluates the distance in the vector space between the feature quantity 14 and the image feature quantity 325 registered in the CG image DB 32 to thereby obtain an image similar to the camera image 11. Search for. Specifically, CG image data having the closest distance in the vector space is acquired as a similar image. The search unit 304 acquires a camera position field 322 and a camera direction field 323 corresponding to the similar image acquired in step S1105.

(図11:ステップS1106〜S1107)
検索部304は、ステップS1105で取得したカメラ位置フィールド322とカメラ方向フィールド323を、カメラサーバ20へ送信する(S1106)。カメラサーバ20は、受け取ったカメラ位置フィールド322とカメラ方向フィールド323を、クエリ結果としてカメラ付端末10へ送信する(S1107)。
(FIG. 11: Steps S1106 to S1107)
The search unit 304 transmits the camera position field 322 and the camera direction field 323 acquired in step S1105 to the camera server 20 (S1106). The camera server 20 transmits the received camera position field 322 and camera direction field 323 to the camera-equipped terminal 10 as a query result (S1107).

<実施の形態1:メッセージの表示>
図12は、カメラ付端末10がメッセージを表示部103に画面表示する方法を示した模式図である。以下、図12に示す手順について説明する。
<Embodiment 1: Display of message>
FIG. 12 is a schematic diagram illustrating a method in which the camera-equipped terminal 10 displays a message on the display unit 103. Hereinafter, the procedure shown in FIG. 12 will be described.

カメラ付端末10は、カメラ101が撮影したカメラ画像11をクエリとし、カメラ101が撮影している位置に表示するメッセージを送信するよう、カメラ位置姿勢推定サーバ30へ要求する。カメラサーバ20はカメラ画像11の特徴量を算出し、カメラ位置姿勢推定サーバ30へ送信する。   The camera-equipped terminal 10 uses the camera image 11 captured by the camera 101 as a query, and requests the camera position / orientation estimation server 30 to transmit a message to be displayed at the position captured by the camera 101. The camera server 20 calculates the feature amount of the camera image 11 and transmits it to the camera position / orientation estimation server 30.

カメラ位置姿勢推定サーバ30は、CG画像DB32が格納しているCG画像データの特徴量とカメラ画像11の特徴量との間のベクトル空間内での距離を算出し、最も距離が近いCG画像データがカメラ画像11に類似していると判定する。カメラ位置姿勢推定サーバ30は、類似していると判定したCG画像データのカメラ位置フィールド322とカメラ方向フィールド323を取得する。   The camera position / orientation estimation server 30 calculates the distance in the vector space between the feature quantity of the CG image data stored in the CG image DB 32 and the feature quantity of the camera image 11, and the CG image data with the closest distance. Is similar to the camera image 11. The camera position / orientation estimation server 30 acquires a camera position field 322 and a camera direction field 323 of the CG image data determined to be similar.

カメラ位置姿勢推定サーバ30は、取得したカメラ位置フィールド322とカメラ方向フィールド323に基づき、カメラ101の撮影範囲を算出する。カメラ位置姿勢推定サーバ30は、カメラ101の撮影範囲内に含まれるメッセージを、メッセージ位置フィールド323にしたがって3次元タグDB33から検索する。カメラ位置姿勢推定サーバ30は、検索によって得られたメッセージの座標をカメラ101から見た座標に変換した上で、カメラ付端末10へ送信する。   The camera position / orientation estimation server 30 calculates the shooting range of the camera 101 based on the acquired camera position field 322 and camera direction field 323. The camera position / orientation estimation server 30 searches the 3D tag DB 33 for messages included in the shooting range of the camera 101 according to the message position field 323. The camera position / orientation estimation server 30 converts the coordinates of the message obtained by the search into coordinates viewed from the camera 101 and transmits the converted coordinates to the camera-equipped terminal 10.

カメラ付端末10の表示部103は、カメラ101が撮像している画像に、カメラ位置姿勢推定サーバ30から受け取ったメッセージを重畳表示する(図12の画面1032)。重畳表示するメッセージはカメラ101の位置座標をキーにして取得するため、物体の影に隠れた箇所に対応付けられているメッセージを重畳表示することもできる。また、カメラ101の位置をユーザ50の作業場所の地図上に画面表示することにより、ユーザ50は自身の位置を把握することができる(図12の画面1031)。   The display unit 103 of the camera-equipped terminal 10 superimposes and displays the message received from the camera position and orientation estimation server 30 on the image captured by the camera 101 (screen 1032 in FIG. 12). Since the message to be displayed in a superimposed manner is acquired using the position coordinates of the camera 101 as a key, the message associated with the location hidden behind the shadow of the object can be displayed in a superimposed manner. Further, by displaying the position of the camera 101 on the map of the work place of the user 50, the user 50 can grasp his / her position (screen 1031 in FIG. 12).

図13は、カメラ付端末10がカメラ101の撮像範囲に付随するメッセージを取得する手順を示すシーケンス図である。以下、図13の各ステップについて説明する。
(図13:ステップS1301〜S1305)
これらのステップは、図11のステップS1101〜S1105と同様である。ただしステップS1301において、カメラ付端末10は、カメラ101の撮像範囲に付随するメッセージを返信するように、カメラサーバ20へ要求する。
FIG. 13 is a sequence diagram illustrating a procedure in which the camera-equipped terminal 10 acquires a message associated with the imaging range of the camera 101. Hereinafter, each step of FIG. 13 will be described.
(FIG. 13: Steps S1301 to S1305)
These steps are the same as steps S1101 to S1105 in FIG. However, in step S1301, the camera-equipped terminal 10 requests the camera server 20 to return a message associated with the imaging range of the camera 101.

(図13:ステップS1306)
カメラ位置姿勢推定サーバ30の検索部304は、ステップS1305で取得したカメラ位置フィールド322とカメラ方向フィールド323に基づき、カメラ101が撮影し得る範囲を算出し、メッセージ位置333がその撮影範囲内にあるメッセージ332を3次元タグDB33から検索する。
(FIG. 13: Step S1306)
The search unit 304 of the camera position / orientation estimation server 30 calculates a range that the camera 101 can shoot based on the camera position field 322 and the camera direction field 323 acquired in step S1305, and the message position 333 is within the shooting range. The message 332 is searched from the three-dimensional tag DB 33.

(図13:ステップS1307〜S1309)
検索部304は、ステップS1306で取得したメッセージ位置333をカメラ画像11上の座標へ変換し、メッセージ332とともにカメラサーバ20へ送信する(S1307)。カメラサーバ20は、受信したメッセージ位置333とメッセージ332を、カメラ付端末10へ送信する(S1308)。カメラ付端末10は、そのメッセージ位置333にしたがって、表示部103上でカメラ101が撮像している画像に重ねてメッセージ332を表示する(S1309)。
(FIG. 13: Steps S1307 to S1309)
The search unit 304 converts the message position 333 acquired in step S1306 into coordinates on the camera image 11, and transmits it to the camera server 20 together with the message 332 (S1307). The camera server 20 transmits the received message position 333 and message 332 to the camera-equipped terminal 10 (S1308). According to the message position 333, the camera-equipped terminal 10 displays the message 332 on the display unit 103 so as to be superimposed on the image captured by the camera 101 (S1309).

<実施の形態1:まとめ>
以上のように、本実施形態1に係る画像処理システム1000は、点群データから仮想カメラを用いてレンダリングしたCG画像データをCG画像DB32内に保持しておき、カメラ付端末10が撮影した画像の特徴量とCG画像データの特徴量を比較することにより、カメラ101の位置と姿勢を推定する。これにより、カメラ101の位置と姿勢を推定するためにあらかじめ3次元CADデータを準備しておく必要がなくなり、作業負担を軽減することができる。また、画像の特徴量同士を比較することにより、高速に推定結果を得ることができる。
<Embodiment 1: Summary>
As described above, the image processing system 1000 according to the first embodiment holds the CG image data rendered by using the virtual camera from the point cloud data in the CG image DB 32, and the image captured by the camera-equipped terminal 10. The position and orientation of the camera 101 are estimated by comparing the feature amount of CG and the feature amount of the CG image data. As a result, it is not necessary to prepare three-dimensional CAD data in advance in order to estimate the position and orientation of the camera 101, and the work load can be reduced. Further, by comparing the feature quantities of the images, the estimation result can be obtained at high speed.

また、本実施形態1に係る画像処理システム1000は、表示部103上で撮像画像に重畳して表示するメッセージを3次元タグDB33内に保持しておき、カメラ位置と姿勢の推定結果に応じて、表示部103上で重畳表示すべきメッセージをカメラ付端末10に送信する。これにより、ユーザ50の現在位置に応じて、適切なメッセージを表示部103上で提示することができる。   In addition, the image processing system 1000 according to the first embodiment holds a message to be displayed superimposed on the captured image on the display unit 103 in the three-dimensional tag DB 33, and according to the estimation result of the camera position and orientation. Then, a message to be superimposed and displayed on the display unit 103 is transmitted to the camera-equipped terminal 10. Thus, an appropriate message can be presented on the display unit 103 according to the current position of the user 50.

<実施の形態2>
カメラ画像を用いてカメラの位置姿勢を推定する処理(トラッキング)は、実施の形態1のように類似画像検索を用いることも可能である。さらに、トラッキングは、カメラ画像と、仮想カメラの位置姿勢をパラメータとしてレンダリングしたCG画像との類似度を用いた収束計算によって実現することが可能である。このような類似度を用いた収束計算によるトラッキングでは、収束計算の初期値が重要である。収束計算に用いる初期値が適切でない場合には、正しくない位置姿勢に収束することが考えられる。これは、類似度の収束計算において、局所最大に陥るためである。正しい位置姿勢を求めるためには、収束計算の初期値が重要である。そこで本発明の実施形態2では、実施形態1で説明した手法を初期値設定のために転用し、その初期値を開始点として類似度最大化の計算を繰り返してカメラパラメータを収束させることにより、カメラ101の位置と姿勢の推定精度を高めることを図る。
<Embodiment 2>
The processing (tracking) for estimating the position and orientation of the camera using the camera image can use similar image retrieval as in the first embodiment. Furthermore, tracking can be realized by convergence calculation using similarity between a camera image and a CG image rendered using the position and orientation of the virtual camera as parameters. In tracking by convergence calculation using such similarity, the initial value of the convergence calculation is important. If the initial value used for the convergence calculation is not appropriate, it may be possible to converge to an incorrect position and orientation. This is because a local maximum occurs in the similarity convergence calculation. In order to obtain the correct position and orientation, the initial value of the convergence calculation is important. Therefore, in the second embodiment of the present invention, the method described in the first embodiment is diverted to set an initial value, and the calculation of similarity is repeated using the initial value as a starting point to converge the camera parameters. The accuracy of estimating the position and orientation of the camera 101 is increased.

図14は、本実施形態2に係るカメラ位置姿勢推定サーバ30の機能ブロック図である。本実施形態2に係るカメラ位置姿勢推定サーバ30は、実施形態1で説明した構成に加えて新たに収束計算部307を備える。その他の構成は実施形態1と同様である。   FIG. 14 is a functional block diagram of the camera position / orientation estimation server 30 according to the second embodiment. The camera position / orientation estimation server 30 according to the second embodiment includes a convergence calculation unit 307 in addition to the configuration described in the first embodiment. Other configurations are the same as those of the first embodiment.

収束計算部307は、検索部304が求めたカメラ101の位置と姿勢を初期値として、後述の図16で説明する収束計算によってカメラ101の位置と姿勢を求める。収束計算部307と検索部304は、本実施形態2における「推定部」に相当する。   The convergence calculation unit 307 obtains the position and orientation of the camera 101 by convergence calculation described later with reference to FIG. 16 using the position and orientation of the camera 101 obtained by the search unit 304 as initial values. The convergence calculation unit 307 and the search unit 304 correspond to the “estimation unit” in the second embodiment.

図15は、本実施形態2においてカメラ付端末10がカメラ101の位置と姿勢を取得する手順を示すシーケンス図である。実施形態1で説明した図11と比較して、ステップS1105の後に新たにステップS1501が追加されている。その他のステップは図11と同様である。   FIG. 15 is a sequence diagram illustrating a procedure by which the camera-equipped terminal 10 acquires the position and orientation of the camera 101 in the second embodiment. Compared to FIG. 11 described in the first embodiment, step S1501 is newly added after step S1105. The other steps are the same as in FIG.

ステップS1501において、収束計算部307は、ステップS1105で取得したカメラ位置フィールド322とカメラ方向フィールド323を初期値として、画像類似度の最大化処理を繰り返して収束計算することにより、カメラ101の位置と姿勢を推定する。本ステップの詳細は後述の図16で改めて説明する。   In step S1501, the convergence calculation unit 307 performs the convergence calculation by repeatedly performing the image similarity maximization process using the camera position field 322 and the camera direction field 323 acquired in step S1105 as initial values, thereby calculating the position of the camera 101. Estimate posture. Details of this step will be described later with reference to FIG.

図16は、図15のステップS1501における詳細を示すフローチャートである。以下、図16の各ステップについて説明する。
(図16:ステップS1601)
収束計算部307は、検索部304が取得したカメラ位置フィールド322とカメラ方向フィールド323を、CG画像生成部303が使用する仮想カメラの位置および方向の初期値として設定する。ただし本ステップを2回目以降に実施するときは、後述するステップS1607で更新したカメラ位置と方向を、仮想カメラの位置および方向として設定する。
FIG. 16 is a flowchart showing details in step S1501 of FIG. Hereinafter, each step of FIG. 16 will be described.
(FIG. 16: Step S1601)
The convergence calculation unit 307 sets the camera position field 322 and the camera direction field 323 acquired by the search unit 304 as initial values of the position and direction of the virtual camera used by the CG image generation unit 303. However, when this step is performed for the second time and thereafter, the camera position and direction updated in step S1607 described later are set as the position and direction of the virtual camera.

(図16:ステップS1602)
収束計算部307は、CG画像生成部303の機能を使用して、点群DB31が格納している点群データに対して現在の仮想カメラの位置と姿勢を基準としてポイントベースレンダリングを実施することにより、CG画像を生成する。点群データは対象物を撮像した画像そのものではなく、対象物上の複数点の座標と色を示すものであるため、カメラ画像11と直接的に比較することはできない。点群データが表すドット集合と2次元画像は、互いに異なる種類のデータだからである。そこで本ステップにおいて、点群データから公知のポイントベースレンダリングを用いて2次元画像を生成し、カメラ画像11と直接比較できるようにすることとした。
(FIG. 16: Step S1602)
The convergence calculation unit 307 uses the function of the CG image generation unit 303 to perform point-based rendering on the point cloud data stored in the point cloud DB 31 with reference to the current virtual camera position and orientation. Thus, a CG image is generated. Since the point cloud data indicates not the image itself of the object but the coordinates and colors of a plurality of points on the object, it cannot be directly compared with the camera image 11. This is because the dot set and the two-dimensional image represented by the point cloud data are different types of data. Therefore, in this step, a two-dimensional image is generated from the point cloud data using a known point-based rendering so that it can be directly compared with the camera image 11.

(図16:ステップS1603)
収束計算部307は、カメラ付端末10から受け取ったカメラ画像11と、ステップS1602で生成したCG画像とを比較し、両者の類似度を求める。類似度は、2つの画像間の誤差の2乗平均(SSD:Sum of Squared Differences)によって求められる他、後述する相互情報量を画像間の類似度とすることができる。また、これらの値に何らかの演算を施して導出した値を類似度としてもよい。
(FIG. 16: Step S1603)
The convergence calculation unit 307 compares the camera image 11 received from the camera-equipped terminal 10 and the CG image generated in step S1602, and obtains the similarity between them. Similarity is obtained by the root mean square error (SSD: Sum of Differences) between two images, and mutual information described later can be used as similarity between images. Moreover, it is good also considering the value which performed some operations for these values as similarity.

(図16:ステップS1604)
収束計算部307は、ステップS1603で算出した類似度が極大値に収束したか否かを判定する。類似度が収束している場合はステップS1605に進み、収束していない場合はステップS1606に進む。
(FIG. 16: Step S1604)
The convergence calculation unit 307 determines whether or not the similarity calculated in step S1603 has converged to a maximum value. If the similarity has converged, the process proceeds to step S1605, and if not, the process proceeds to step S1606.

(図16:ステップS1605)
収束計算部307は、通信部305を介して、現在の仮想カメラの位置と姿勢をカメラ情報データ13としてカメラ付端末10に送信する。
(FIG. 16: Step S1605)
The convergence calculation unit 307 transmits the current position and orientation of the virtual camera as camera information data 13 to the camera-equipped terminal 10 via the communication unit 305.

(図16:ステップS1606)
収束計算部307は、本ステップを前回実施したときよりも類似度が改善されているかどうかを判定する。改善されている場合にはステップS1607に進み、改善されていない場合にはステップS1608に進む。
(FIG. 16: Step S1606)
The convergence calculation unit 307 determines whether or not the similarity is improved as compared with the previous execution of this step. If improved, the process proceeds to step S1607, and if not improved, the process proceeds to step S1608.

(図16:ステップS1607)
収束計算部307は、より高い類似度を得るために、仮想カメラの位置と姿勢を更新する。具体的には、例えば現在の仮想カメラの位置と姿勢を適当に変化させて新たな位置と姿勢を設定する。本ステップの後はステップS1601に戻り、同様の処理を繰り返すことにより、カメラ画像11とCG画像との間の類似度を最大化する。
(FIG. 16: Step S1607)
The convergence calculation unit 307 updates the position and orientation of the virtual camera in order to obtain a higher similarity. Specifically, for example, a new position and posture are set by appropriately changing the current position and posture of the virtual camera. After this step, the process returns to step S1601, and the similar process is repeated to maximize the similarity between the camera image 11 and the CG image.

(図16:ステップS1608)
収束計算部307は、類似度が収束せず、かつ改善もされない場合には、カメラ101の位置と姿勢を推定することに失敗したと判定し、計算を打ち切って本処理フローを終了する。
(FIG. 16: Step S1608)
If the similarity does not converge and is not improved, the convergence calculation unit 307 determines that the estimation of the position and orientation of the camera 101 has failed, terminates the calculation, and ends this processing flow.

(図16:ステップS1603:補足)
ステップS1603において、画像間の類似度として相互情報量を用いることができる。相互情報量を計算するためには、まずCG画像の輝度値と、カメラ画像11の輝度値とから、2次元ヒストグラムを求める。次に、その2次元ヒストグラムを用いて計算される確率密度関数を用いて、相互情報量を計算する。
(FIG. 16: Step S1603: Supplement)
In step S1603, the mutual information amount can be used as the similarity between images. In order to calculate the mutual information amount, first, a two-dimensional histogram is obtained from the luminance value of the CG image and the luminance value of the camera image 11. Next, a mutual information amount is calculated using a probability density function calculated using the two-dimensional histogram.

相互情報量とは、2つの事象AとBについて、事象Aが有している事象Bに関する情報量を定量化した尺度である。本発明における類似度を計算するために用いる正規化相互情報量NMI(A,B)は、事象Aと事象Bの2次元結合ヒストグラムHist(A,B)に基づき、下記式1によって求められる。   The mutual information amount is a measure obtained by quantifying the information amount related to the event B included in the event A for the two events A and B. The normalized mutual information NMI (A, B) used for calculating the similarity in the present invention is obtained by the following equation 1 based on the two-dimensional combined histogram Hist (A, B) of the event A and the event B.

Figure 0005837848
Figure 0005837848

H(A)は事象Aのエントロピー、H(B)は事象Bのエントロピー、H(A,B)は事象A,Bの結合エントロピーである。p(a)はaの確率密度分布、p(b)はbの確率密度分布である。p(a,b)はa,bの同時確率分布であり、Hist(A,B)から求められる。事象Aと事象Bが完全に独立である場合には、H(A,B)=H(A)+H(B)となる。事象Aと事象Bが完全に従属である場合には、H(A,B)=H(A)=H(B)となる。   H (A) is the entropy of event A, H (B) is the entropy of event B, and H (A, B) is the combined entropy of events A and B. p (a) is the probability density distribution of a, and p (b) is the probability density distribution of b. p (a, b) is a joint probability distribution of a and b, and is obtained from Hist (A, B). When event A and event B are completely independent, H (A, B) = H (A) + H (B). When event A and event B are completely subordinate, H (A, B) = H (A) = H (B).

<実施の形態2:まとめ>
以上のように、本実施形態2に係る画像処理システム1000は、特徴量14を用いて推定したカメラ位置と姿勢を初期値として、図16の収束計算によってカメラ画像とCG画像の類似度を最大化うる。これにより、カメラ101の位置と姿勢の推定精度を高めることができる。
<Embodiment 2: Summary>
As described above, the image processing system 1000 according to the second embodiment maximizes the similarity between the camera image and the CG image by the convergence calculation in FIG. 16 using the camera position and orientation estimated using the feature amount 14 as initial values. It can be changed. Thereby, the estimation accuracy of the position and orientation of the camera 101 can be increased.

本実施形態2において、初期値として設定した仮想カメラの位置と姿勢が適切でなかったため、カメラ101の位置と姿勢の推定に失敗したり、正しい位置と姿勢を得られなかったりする可能性がある。この場合は、別の初期値を用いて図16と同様の収束計算を実施することにより、精度の高い結果を得られる可能性がある。具体的には、検索部304が特徴量14を用いて類似検索を実施した際に、検索結果の上位1位のCG画像データのみを初期値の対象とするのではなく、2位以下の検索結果も初期値の対象とすることが考えられる。これにより、複数のCG画像データに対応する仮想カメラの位置と姿勢を初期値として収束計算を実施することができる。初期値の対象とする順位の範囲については、例えば類似検索における合致度が所定値以上のCG画像データを初期値の対象とする、などとすればよい。   In the second embodiment, since the position and orientation of the virtual camera set as the initial values are not appropriate, the estimation of the position and orientation of the camera 101 may fail or the correct position and orientation may not be obtained. . In this case, there is a possibility that a highly accurate result can be obtained by performing a convergence calculation similar to that of FIG. 16 using another initial value. Specifically, when the search unit 304 performs a similar search using the feature amount 14, not only the top-ranked CG image data of the search result is the target of the initial value but the search of the second or lower rank It is conceivable that the results are also subject to initial values. Thereby, the convergence calculation can be performed with the position and orientation of the virtual camera corresponding to a plurality of CG image data as initial values. Regarding the range of ranks that are targets of initial values, for example, CG image data having a matching degree in a similarity search that is a predetermined value or more may be set as a target of initial values.

<実施の形態3>
CG画像DB32が格納しているCG画像データは、カメラ101が撮影した画像そのものではないため、CG画像データを対象とする類似画像検索の精度は、カメラ画像11を対象とする類似画像検索の精度と比較して必ずしも高くないと考えられる。そこで本発明の実施形態3では、実施形態2において推定結果が収束した場合には、そのカメラ画像11をCG画像データの追加分としてCG画像DB32に追加し、以後の類似画像検索においてCG画像データと同様に取り扱うこととする。本実施形態3に係る画像処理システム1000の構成は、カメラ画像11をCG画像DB32に追加する点を除いて実施形態2と同様であるため、以下では差異点を中心に説明する。
<Embodiment 3>
Since the CG image data stored in the CG image DB 32 is not the image taken by the camera 101, the accuracy of the similar image search for the CG image data is the accuracy of the similar image search for the camera image 11. It is thought that it is not necessarily high compared with. Therefore, in the third embodiment of the present invention, when the estimation result converges in the second embodiment, the camera image 11 is added to the CG image DB 32 as an additional portion of the CG image data, and the CG image data in the subsequent similar image search. It will be handled in the same way. Since the configuration of the image processing system 1000 according to the third embodiment is the same as that of the second embodiment except that the camera image 11 is added to the CG image DB 32, the following description focuses on the differences.

図17は、カメラ101の位置と姿勢を収束計算によって推定した後、カメラ画像11をCG画像DB32に追加する手順を示すシーケンス図である。本シーケンスは、図15で説明した手順に加えて、ステップS1501の後にステップS1701が追加されている。その他のステップは図15と同様である。ステップS1701は、ステップS1106と並行に開始してもよい。   FIG. 17 is a sequence diagram illustrating a procedure for adding the camera image 11 to the CG image DB 32 after estimating the position and orientation of the camera 101 by convergence calculation. In this sequence, step S1701 is added after step S1501 in addition to the procedure described in FIG. Other steps are the same as those in FIG. Step S1701 may be started in parallel with step S1106.

ステップS1701において、収束計算部307は、収束計算によるカメラ101の位置および姿勢の推定に成功した場合は、ステップS1102で受け取ったカメラ画像11と、推定結果であるカメラ位置および姿勢を、CG画像DB32に格納する。   In step S1701, if the convergence calculation unit 307 succeeds in estimating the position and orientation of the camera 101 by convergence calculation, the convergence calculation unit 307 displays the camera image 11 received in step S1102 and the camera position and orientation that are the estimation results as the CG image DB 32. To store.

点群DB31より生成するCG画像データは、色などのテクスチャが実際の画像と異なる場合があるため、カメラ画像11をクエリとしてCG画像データを検索するときはエッジ方向などの特徴量を用いて検索する必要がある。一方、カメラ画像11を用いて類似画像検索を実施する場合は、画像のテクスチャ情報も使用することができるので、検索精度を向上させることができる。   Since the CG image data generated from the point cloud DB 31 may have a texture such as a color different from that of the actual image, when searching for the CG image data using the camera image 11 as a query, the search is performed using the feature amount such as the edge direction. There is a need to. On the other hand, when a similar image search is performed using the camera image 11, the texture information of the image can also be used, so that the search accuracy can be improved.

<実施の形態3:まとめ>
以上のように、本実施形態3に係る画像処理システム1000は、点群データから生成したCG画像データに加えて、カメラ画像11をCG画像DB32に登録する。これにより、カメラ101の位置および姿勢の推定精度を向上させることができる。
<Embodiment 3: Summary>
As described above, the image processing system 1000 according to the third embodiment registers the camera image 11 in the CG image DB 32 in addition to the CG image data generated from the point cloud data. Thereby, the estimation accuracy of the position and orientation of the camera 101 can be improved.

<実施の形態4>
一般にカメラ101の位置方向は急激に変化するものではないため、直前のカメラ画像11を用いてカメラ位置方向の推定に成功した場合には、そのカメラ位置方向を推定の初期値として収束計算を実施することにより、カメラ位置方向を推定することができると考えられる。そこで本発明の実施形態4では、実施形態2において直前のカメラ画像11を用いてカメラ位置方向の推定に成功した場合には、現在のカメラ画像11のカメラ位置方向推定の初期値として直前のカメラ位置方向を用いる。初期値の設定以外の構成については実施形態2と同様であるため、以下では差異点を中心に説明する。
<Embodiment 4>
In general, since the position direction of the camera 101 does not change rapidly, when the camera position direction is successfully estimated using the immediately preceding camera image 11, the convergence calculation is performed using the camera position direction as an initial value for estimation. By doing so, it is considered that the camera position direction can be estimated. Therefore, in the fourth embodiment of the present invention, when the camera position / direction is successfully estimated using the previous camera image 11 in the second embodiment, the immediately preceding camera is used as the initial value of the camera position / direction estimation of the current camera image 11. Use the position direction. Since the configuration other than the setting of the initial value is the same as that of the second embodiment, the following description will focus on the differences.

図18は、本実施形態4においてカメラ位置姿勢推定サーバ30がカメラ101の位置と姿勢を推定する処理を示すフローチャートである。以下、図18の各ステップについて説明する。
(図18:ステップS1801〜S1802)
収束計算部307は、カメラ画像11を取得する(S1801)。直前の推定対象であるカメラ画像11についてカメラ位置方向の推定が成功している場合にはステップS1803に進み、失敗している場合にはステップS1804に進む(S1802)。
FIG. 18 is a flowchart illustrating processing in which the camera position / orientation estimation server 30 estimates the position and orientation of the camera 101 in the fourth embodiment. Hereinafter, each step of FIG. 18 will be described.
(FIG. 18: Steps S1801 to S1802)
The convergence calculation unit 307 acquires the camera image 11 (S1801). If the estimation of the camera position and direction is successful for the immediately preceding estimation target camera image 11, the process proceeds to step S1803, and if it has failed, the process proceeds to step S1804 (S1802).

(図18:ステップS1803)
収束計算部307は、直前の推定対象であるカメラ画像11のカメラ位置方向の推定結果を、現在の推定対象であるカメラ画像11についての仮想カメラの位置方向の初期値として設定する。
(FIG. 18: Step S1803)
The convergence calculation unit 307 sets the estimation result of the camera position direction of the camera image 11 that is the previous estimation target as an initial value of the position direction of the virtual camera for the camera image 11 that is the current estimation target.

(図18:ステップS1804〜S1805)
直前の推定対象であるカメラ画像11についてカメラ位置方向の推定が失敗している場合には、検索部304は、ステップS1801で取得したカメラ画像11に対して、実施形態1で説明した手法により、類似するCG画像データをCG画像DB32から検索する(S1804)。収束計算部307は、その結果得られたCGが像データに対応するカメラ位置フィールド322とカメラ方向フィールド323を、現在の推定対象であるカメラ画像11についての仮想カメラの位置方向の初期値として設定する(S1805)。
(FIG. 18: Steps S1804 to S1805)
When the estimation of the camera position and direction has failed for the camera image 11 that is the previous estimation target, the search unit 304 uses the method described in Embodiment 1 for the camera image 11 acquired in step S1801. Similar CG image data is searched from the CG image DB 32 (S1804). The convergence calculation unit 307 sets the camera position field 322 and the camera direction field 323 corresponding to the image data of the obtained CG as the initial value of the virtual camera position direction for the camera image 11 that is the current estimation target. (S1805).

(図18:ステップS1806)
収束計算部307は、ステップS1803〜S1805で設定した初期値を用いて、図16で説明した手法により収束計算を実施する
(FIG. 18: Step S1806)
The convergence calculation unit 307 performs convergence calculation by the method described with reference to FIG. 16 using the initial values set in steps S1803 to S1805.

(図18:ステップS1807)
収束計算部307は、ステップS1806においてカメラ位置方向の推定が成功したかどうかを判定する。成功した場合にはステップS1808に進み、失敗した場合には本フローチャートを終了する。
(FIG. 18: Step S1807)
The convergence calculation unit 307 determines in step S1806 whether the estimation of the camera position direction has succeeded. If it has succeeded, the process advances to step S1808, and if it has failed, this flowchart is terminated.

(図18:ステップS1808)
収束計算部307は、ステップS1806で求められたカメラ位置方向の推定値を、カメラサーバ20経由でカメラ付端末10に送信する。
(FIG. 18: Step S1808)
The convergence calculation unit 307 transmits the estimated value of the camera position direction obtained in step S1806 to the camera-equipped terminal 10 via the camera server 20.

<実施の形態4:まとめ>
以上のように、本実施形態4に係る画像処理システム1000は、直前のカメラ画像11についての推定結果を初期値とするため、高速にカメラ位置方向を推定することができる。また、カメラ101の急激な移動などによってカメラ位置方向の推定が失敗した場合であっても、実施形態2と同様の手法により初期値を設定することにより、カメラ位置方向の推定を再開することができる。
<Embodiment 4: Summary>
As described above, since the image processing system 1000 according to the fourth embodiment uses the estimation result for the immediately preceding camera image 11 as an initial value, the camera position direction can be estimated at high speed. Even if the camera position / direction estimation fails due to a sudden movement of the camera 101 or the like, the estimation of the camera position / direction can be resumed by setting the initial value using the same method as in the second embodiment. it can.

本発明は上記した実施形態に限定されるものではなく、様々な変形例が含まれる。上記実施形態は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施形態の構成の一部を他の実施形態の構成に置き換えることもできる。また、ある実施形態の構成に他の実施形態の構成を加えることもできる。また、各実施形態の構成の一部について、他の構成を追加・削除・置換することもできる。   The present invention is not limited to the embodiments described above, and includes various modifications. The above embodiment has been described in detail for easy understanding of the present invention, and is not necessarily limited to the one having all the configurations described. A part of the configuration of one embodiment can be replaced with the configuration of another embodiment. The configuration of another embodiment can be added to the configuration of a certain embodiment. Further, with respect to a part of the configuration of each embodiment, another configuration can be added, deleted, or replaced.

上記各構成、機能、処理部、処理手段等は、それらの一部や全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリ、ハードディスク、SSD(Solid State Drive)等の記録装置、ICカード、SDカード、DVD等の記録媒体に格納することができる。   Each of the above-described configurations, functions, processing units, processing means, and the like may be realized in hardware by designing a part or all of them, for example, with an integrated circuit. Each of the above-described configurations, functions, and the like may be realized by software by interpreting and executing a program that realizes each function by the processor. Information such as programs, tables, and files for realizing each function can be stored in a recording device such as a memory, a hard disk, an SSD (Solid State Drive), or a recording medium such as an IC card, an SD card, or a DVD.

10:カメラ付端末、101:カメラ、102:通信部、103:表示部、104:制御部、11:カメラ画像、12:3次元タグデータ、13:カメラ情報データ、14:特徴量、20:カメラサーバ、201:制御部、202:特徴量算出部、203:ID変換部、204:通信部、30:カメラ位置姿勢推定サーバ、31:点群データベース、32:CG画像データベース、33:3次元タグデータベース、301:制御部、302:データベース管理部、303:CG画像生成部、304:検索部、305:通信部、306:特徴量算出部、307:収束計算部、40:基地局、50:ユーザ、1000:画像処理システム。   10: Terminal with camera, 101: Camera, 102: Communication unit, 103: Display unit, 104: Control unit, 11: Camera image, 12: Three-dimensional tag data, 13: Camera information data, 14: Feature value, 20: Camera server 201: Control unit 202: Feature amount calculation unit 203: ID conversion unit 204: Communication unit 30: Camera position and orientation estimation server 31: Point cloud database 32: CG image database 33: Three-dimensional Tag database, 301: control unit, 302: database management unit, 303: CG image generation unit, 304: search unit, 305: communication unit, 306: feature amount calculation unit, 307: convergence calculation unit, 40: base station, 50 : User, 1000: Image processing system.

Claims (8)

カメラが撮像した対象物の画像を取得する画像取得部と、
前記画像取得部が取得した画像の特徴量を算出する特徴量算出部と、
前記対象物のCG画像と位置を記述するCG画像データを格納するCG画像データベースと、
前記特徴量算出部が算出した前記画像の前記特徴量と前記CG画像データベースが格納している前記CG画像の特徴量を比較して前記画像に合致する前記CG画像を特定することにより前記カメラの位置と姿勢を推定する推定部と、
前記対象物上の点の位置と色を記述する点群データを格納する点群データベースと、
前記点群データからCG画像を生成してその生成時に設定した仮想カメラの位置および方向とともに前記CG画像データベースへ格納するCG画像生成部と、
を備え
前記推定部は、
前記推定によって得られた前記カメラの位置と方向を前記仮想カメラの位置と方向の初期値として、前記CG画像生成部に前記点群データからポイントベースレンダリングによりCG画像を生成させ、
前記仮想カメラの位置と方向を変化させながら前記ポイントベースレンダリングにより生成したCG画像と前記画像とを比較する処理を繰り返して前記画像に合致する前記CG画像を特定することにより、前記カメラの位置と姿勢を推定する
ことを特徴とする画像処理装置。
An image acquisition unit that acquires an image of an object captured by the camera;
A feature amount calculation unit for calculating a feature amount of the image acquired by the image acquisition unit;
A CG image database storing CG image data describing the CG image and position of the object;
The feature amount of the image calculated by the feature amount calculation unit is compared with the feature amount of the CG image stored in the CG image database to identify the CG image that matches the image. An estimation unit for estimating the position and orientation;
A point cloud database storing point cloud data describing the position and color of the points on the object;
A CG image generation unit that generates a CG image from the point cloud data and stores it in the CG image database together with the position and direction of the virtual camera set at the time of generation;
Equipped with a,
The estimation unit includes
With the position and direction of the camera obtained by the estimation as initial values of the position and direction of the virtual camera, the CG image generation unit generates a CG image from the point cloud data by point-based rendering,
By repeating the process of comparing the CG image generated by the point-based rendering with the image while changing the position and direction of the virtual camera and specifying the CG image that matches the image, An image processing apparatus characterized by estimating a posture .
前記推定部は、
前記初期値を用いた前記推定が失敗した場合は、
前記初期値を得るための前記推定を実施した際に前記画像との間の合致度が所定値以上であった、前記カメラのその他の位置および方向を、新たな前記初期値として前記繰り返しを実施することにより、前記カメラの位置と姿勢を再推定する
ことを特徴とする請求項記載の画像処理装置。
The estimation unit includes
If the estimation using the initial value fails,
When the estimation for obtaining the initial value is performed, the degree of coincidence with the image is equal to or greater than a predetermined value, and the other position and direction of the camera are used as the new initial value to perform the repetition. by image processing apparatus according to claim 1, wherein the re-estimating the position and orientation of the camera.
前記推定部は、
前記推定が成功した場合には、前記推定によって得られた前記画像と、前記推定によって得られた前記カメラの位置および方向を、前記CG画像データの追加分として前記CG画像データベースに追加する
ことを特徴とする請求項記載の画像処理装置。
The estimation unit includes
When the estimation is successful, the image obtained by the estimation and the position and direction of the camera obtained by the estimation are added to the CG image database as an addition of the CG image data. The image processing apparatus according to claim 1, wherein:
前記推定部は、
前記カメラが撮影した直前の画像について前記推定が成功した場合は、
前記直前の画像について推定した前記カメラの位置と方向を前記仮想カメラの初期値として前記繰り返しを実施することにより、前記カメラの位置と方向を推定し、
前記カメラが撮影した直前の画像について前記推定が失敗した場合は、
前記特徴量算出部が算出した現在の前記画像についての特徴量と前記CG画像データベースが格納している前記CG画像の特徴量を比較して前記画像に合致する前記CG画像を特定することにより前記カメラの位置と姿勢を推定し、
その位置と方向を前記仮想カメラの位置と方向の初期値として前記繰り返しを実施することにより、前記カメラの位置と方向を推定する
ことを特徴とする請求項記載の画像処理装置。
The estimation unit includes
If the estimation succeeds for the image immediately before the camera has taken,
Estimating the position and direction of the camera by performing the iteration with the position and direction of the camera estimated for the previous image as the initial value of the virtual camera,
If the estimation fails for the previous image taken by the camera,
The feature amount of the current image calculated by the feature amount calculation unit is compared with the feature amount of the CG image stored in the CG image database to identify the CG image that matches the image. Estimate the camera position and orientation,
By carrying out the repeated its position and direction as the initial values of the position and direction of the virtual camera, an image processing apparatus according to claim 1, wherein the estimating the position and orientation of the camera.
前記カメラが撮像している画像に重畳表示すべきメッセージとその表示位置を記述するメッセージデータを格納するメッセージデータベースと、
前記推定部が推定した前記カメラの位置と姿勢に応じて、前記メッセージを前記カメラが撮像している画像に重畳表示すべき位置を特定し、その位置およびその位置に重畳表示すべきメッセージを前記カメラに通知するメッセージ位置推定部と、
を備えることを特徴とする請求項1記載の画像処理装置。
A message database for storing message data to be superimposed and displayed on an image captured by the camera and message data describing the display position;
According to the position and orientation of the camera estimated by the estimation unit, the position where the message should be superimposed and displayed on the image captured by the camera is specified, and the position and the message that should be superimposed and displayed on the position are A message position estimation unit to notify the camera;
The image processing apparatus according to claim 1, further comprising:
対象物の画像を撮影するカメラと、
請求項1記載の画像処理装置と、
を有し、
前記画像取得部は、前記カメラが撮像した前記対象物の画像を取得する
ことを特徴とする画像処理システム。
A camera that captures an image of the object;
An image processing apparatus according to claim 1;
Have
The image processing system, wherein the image acquisition unit acquires an image of the object captured by the camera.
前記画像処理装置は、
前記カメラが撮像している画像に重畳表示すべきメッセージとその表示位置を記述するメッセージデータを格納するメッセージデータベースと、
前記推定部が推定した前記カメラの位置と姿勢に応じて、前記メッセージを前記カメラが撮像している画像に重畳表示すべき位置を特定し、その位置およびその位置に重畳表示すべきメッセージを前記カメラに通知するメッセージ位置推定部と、
を備え、
前記カメラは、
前記メッセージ位置推定部が通知した前記メッセージを表示する表示部を備える
ことを特徴とする請求項記載の画像処理システム。
The image processing apparatus includes:
A message database for storing message data to be superimposed and displayed on an image captured by the camera and message data describing the display position;
According to the position and orientation of the camera estimated by the estimation unit, the position where the message should be superimposed and displayed on the image captured by the camera is specified, and the position and the message that should be superimposed and displayed on the position are A message position estimation unit to notify the camera;
With
The camera
The image processing system according to claim 6 , further comprising a display unit that displays the message notified by the message position estimation unit.
カメラが撮像した対象物の画像を取得する画像取得ステップ、
前記画像取得ステップで取得した画像の特徴量を算出する特徴量算出ステップ、
前記対象物のCG画像と位置を記述するCG画像データを格納するCG画像データベースから前記CG画像データを読み出すステップ、
前記特徴量算出ステップで算出した前記画像の前記特徴量と前記CG画像データベースが格納している前記CG画像の特徴量を比較して前記画像に合致する前記CG画像を特定することにより前記カメラの位置と姿勢を推定する推定ステップ、
前記対象物上の点の位置と色を記述する点群データを格納する点群データベースから前記点群データを読み出すステップ、
前記点群データからCG画像を生成してその生成時に設定した仮想カメラの位置および方向とともに前記CG画像データベースへ格納するCG画像生成ステップ、
を有し、
前記推定ステップは、
前記推定によって得られた前記カメラの位置と方向を前記仮想カメラの位置と方向の初期値として、前記点群データからポイントベースレンダリングによりCG画像を生成するステップ、
前記仮想カメラの位置と方向を変化させながら前記ポイントベースレンダリングにより生成したCG画像と前記画像とを比較する処理を繰り返して前記画像に合致する前記CG画像を特定することにより、前記カメラの位置と姿勢を推定するステップ、
を有する
ことを特徴とする画像処理方法。
An image acquisition step of acquiring an image of an object captured by the camera;
A feature amount calculating step for calculating a feature amount of the image acquired in the image acquiring step;
Reading the CG image data from a CG image database storing CG image data describing the CG image and position of the object;
The feature amount of the image calculated in the feature amount calculation step is compared with the feature amount of the CG image stored in the CG image database to identify the CG image that matches the image, thereby identifying the camera. An estimation step for estimating position and orientation;
Reading the point cloud data from a point cloud database storing point cloud data describing the position and color of points on the object;
A CG image generation step of generating a CG image from the point cloud data and storing it in the CG image database together with the position and direction of the virtual camera set at the time of generation;
I have a,
The estimation step includes
Generating a CG image by point-based rendering from the point cloud data using the position and direction of the camera obtained by the estimation as initial values of the position and direction of the virtual camera;
By repeating the process of comparing the CG image generated by the point-based rendering with the image while changing the position and direction of the virtual camera and specifying the CG image that matches the image, Estimating the posture,
An image processing method comprising:
JP2012047272A 2012-03-02 2012-03-02 Image processing apparatus, image processing system, and image processing method Active JP5837848B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012047272A JP5837848B2 (en) 2012-03-02 2012-03-02 Image processing apparatus, image processing system, and image processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012047272A JP5837848B2 (en) 2012-03-02 2012-03-02 Image processing apparatus, image processing system, and image processing method

Publications (2)

Publication Number Publication Date
JP2013182523A JP2013182523A (en) 2013-09-12
JP5837848B2 true JP5837848B2 (en) 2015-12-24

Family

ID=49273111

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012047272A Active JP5837848B2 (en) 2012-03-02 2012-03-02 Image processing apparatus, image processing system, and image processing method

Country Status (1)

Country Link
JP (1) JP5837848B2 (en)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
BR112015013028A2 (en) * 2012-12-19 2017-07-11 Hitachi Ltd terminal, system and operating support method
JP6440539B2 (en) * 2015-03-13 2018-12-19 三菱電機株式会社 Equipment information display system, mobile terminal, server, and equipment information display method
JP6575325B2 (en) * 2015-11-27 2019-09-18 富士通株式会社 Camera position / orientation estimation apparatus, camera position / orientation estimation method, and camera position / orientation estimation program
JP2017129567A (en) * 2016-01-20 2017-07-27 キヤノン株式会社 Information processing apparatus, information processing method, and program
CN106168464A (en) * 2016-07-10 2016-11-30 哈尔滨理工大学 A kind of main shaft dynamic rotation method for testing precision based on machine vision
JP6946912B2 (en) * 2017-10-06 2021-10-13 富士通株式会社 Estimator program, estimator, and estimation method
CN112150603B (en) 2019-06-28 2023-03-28 上海交通大学 Initial visual angle control and presentation method and system based on three-dimensional point cloud
JPWO2021117552A1 (en) * 2019-12-10 2021-06-17

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11213135A (en) * 1998-01-29 1999-08-06 Matsushita Electric Ind Co Ltd Image retrieving device
JP2003287434A (en) * 2002-01-25 2003-10-10 Iwane Kenkyusho:Kk Image information searching system
JP2005215917A (en) * 2004-01-29 2005-08-11 Hitachi Plant Eng & Constr Co Ltd Working drawing creation support method and replacement model creation method
JP4806435B2 (en) * 2008-09-10 2011-11-02 日本輸送機株式会社 Self-position recognition method and self-position recognition system using 3D model
US9480919B2 (en) * 2008-10-24 2016-11-01 Excalibur Ip, Llc Reconfiguring reality using a reality overlay device
JP5290865B2 (en) * 2009-05-18 2013-09-18 キヤノン株式会社 Position and orientation estimation method and apparatus

Also Published As

Publication number Publication date
JP2013182523A (en) 2013-09-12

Similar Documents

Publication Publication Date Title
JP5837848B2 (en) Image processing apparatus, image processing system, and image processing method
CN110568447B (en) Visual positioning method, device and computer readable medium
CN111199564B (en) Indoor positioning method and device of intelligent mobile terminal and electronic equipment
CN109947975B (en) Image search device, image search method, and setting screen used therein
US9336629B2 (en) Coordinate geometry augmented reality process
US11113882B2 (en) Generating immersive trip photograph visualizations
EP3398164B1 (en) System for generating 3d images for image recognition based positioning
CN110645986A (en) Positioning method and device, terminal and storage medium
JP2013507677A (en) Display method of virtual information in real environment image
WO2014112138A1 (en) Information processing device, information processing system, and information processing program
JP5467177B2 (en) INFORMATION PROVIDING DEVICE, INFORMATION PROVIDING METHOD, INFORMATION PROVIDING PROCESSING PROGRAM, RECORDING MEDIUM CONTAINING INFORMATION PROVIDING PROCESSING PROGRAM, AND INFORMATION PROVIDING SYSTEM
US20160035094A1 (en) Image-based object location system and process
JP2019190974A (en) Calibration device, calibration method and program
CN110335351B (en) Multi-modal AR processing method, device, system, equipment and readable storage medium
JP5248236B2 (en) Image processing apparatus and image processing method
CN113656477A (en) Method for verifying and fusing multi-source heterogeneous data of homeland space
CN112215964A (en) Scene navigation method and device based on AR
WO2018131546A1 (en) Information processing device, information processing system, information processing method, and information processing program
JP5837404B2 (en) Image processing apparatus and image processing method
JP5707238B2 (en) Image search apparatus and image search system
JP2019121176A (en) Position specifying apparatus, position specifying method, position specifying program, and camera apparatus
Guo et al. Fusion of WiFi and vision based on smart devices for indoor localization
WO2023053485A1 (en) Information processing device, information processing method, and information processing program
JP5122508B2 (en) 3D spatial data creation method and 3D spatial data creation apparatus
Wu et al. Automated Virtual Navigation and Monocular Localization of Indoor Spaces from Videos

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20130708

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140902

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150727

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150804

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151002

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20151106

R151 Written notification of patent or utility model registration

Ref document number: 5837848

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151