JP2018081410A - コンピュータープログラム - Google Patents
コンピュータープログラム Download PDFInfo
- Publication number
- JP2018081410A JP2018081410A JP2016222221A JP2016222221A JP2018081410A JP 2018081410 A JP2018081410 A JP 2018081410A JP 2016222221 A JP2016222221 A JP 2016222221A JP 2016222221 A JP2016222221 A JP 2016222221A JP 2018081410 A JP2018081410 A JP 2018081410A
- Authority
- JP
- Japan
- Prior art keywords
- real object
- image
- posture
- unit
- model
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/246—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
- G06T7/251—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments involving models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
- G06T7/74—Determining position or orientation of objects or cameras using feature-based methods involving reference images or patches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/40—Scenes; Scene-specific elements in video content
- G06V20/46—Extracting features or characteristics from the video content, e.g. video fingerprints, representative shots or key frames
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/60—Type of objects
- G06V20/64—Three-dimensional objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Processing Or Creating Images (AREA)
- Image Analysis (AREA)
- Length Measuring Devices By Optical Means (AREA)
Abstract
【課題】撮像された物体の画像を用いて、撮像された物体の姿勢以外の情報を用いて各種処理を行う。【解決手段】実物体が撮像されて得られる映像シーケンスを取得する機能と、前記映像シーケンスの中から一の画像フレームが選択された場合に、前記実物体に対応する3Dモデルを用いて、前記一の画像フレームに含まれる前記実物体の姿勢を導出する導出機能と、前記一の画像フレームの前後方向の各画像フレームについて、前記実物体の前記姿勢を追跡する追跡機能と、前記実物体の前記姿勢について、前記映画像フレームから得られる前記実物体の外観情報と、前記姿勢に対応した写像により前記3Dモデルから得られる2Dモデルのデータと、を対応付けて記憶する機能と、をコンピューターに実現させるためのコンピュータープログラム。【選択図】図14
Description
本開示は、画像処理に関する。
カメラによって撮像された物体の姿勢を推定する方法として、特許文献1には、物体の画像を含む入力画像の2値マスクを作成し、2値マスクから物体の内側および外側輪郭内にある点としてのシングレットを抽出し、シングレットのセットを連結してデュプレックス行列として表されるメッシュにすることで、物体の姿勢を推定する技術が記載されている。
オブジェクト認識(物体認識:物体検出)は、シーンにおいて関心のあるオブジェクトを検出することと、所定の3次元座標系に対するその姿勢(並進と配向)を特定することとの双方を含む。RGB/輝度画像からの色または輝度情報を用いてオブジェクト認識問題を解決し、検出精度および姿勢特定の精度を向上させるためには、コンピュータービジョンシステムは、普通はオフライントレーニングフェーズの間に、多様なビューポイントから見たオブジェクトの見た目(外観情報)を記憶していることが好ましい。
ただし、オブジェクトのアピアランスを含むトレーニングデータ(テンプレート)を生成することは、コンピュータービジョンおよびオブジェクト認識の分野の事前知識に関する知識を必要とすることから、通常のユーザーには扱いにくい作業である。
トレーニングデータ(テンプレート)の生成のために、テクスチャー情報(つまり、テクスチャーマップ)を伴った3DCADモデルを入手できる場合には、異なるビューポイント(ビュー)からのオブジェクトのフォトリアリスティックな(写真のような実写感を伴った)レンダリング(2D面への描画)が可能である。生成画像の精度は、与えられた外観情報(テクスチャー情報)の解像度およびシミュレートされた照明に関する要素に依存する。ただし、このような3DCADモデルが普及しているとはいえない。つまり、検出したい実オブジェクトについて、ユーザーが、このような外観情報を伴う3DCADモデルを常に入手できるとは限らない。
本開示の一形態は、実物体が撮像されて得られる映像シーケンスを取得する機能と;前記映像シーケンスの中から一の画像フレームが選択された場合に、前記実物体に対応する3Dモデルを用いて、前記一の画像フレームに含まれる前記実物体の姿勢を導出する導出機能と;前記一の画像フレームの前後方向の各画像フレームについて、前記実物体の前記姿勢を追跡する追跡機能と;前記実物体の前記姿勢について、前記画像フレームから得られる前記実物体の外観情報と、前記姿勢に対応した写像により前記3Dモデルから得られる2Dモデルのデータと、を対応付けて記憶する機能と;をコンピューターに実現させるためのコンピュータープログラムである。
本開示の他の形態は、実物体が撮像されて得られる画像フレームに基づいて、前記実物体の特徴点を検出する機能と;前記特徴点の数が所定値を超える場合に、前記実物体に対応する3Dモデルと、前記実物体の外観情報と、を用いて、テンプレートを作成する機能と;をコンピューターに実現させるためのコンピュータープログラムである。
本開示は、上記以外の種々の形態で実現できる。例えば、上記プログラムを実行する頭部装着型表示装置の形態で実現できる。
A.第1実施形態:
A−1.画像処理システムの構成:
図1は、本実施形態における画像処理システムSYSの概略構成図である。画像処理システムSYSは、対象となる実物体OB1を撮像して、撮像した実物体OB1の撮像画像データと、予め記憶された実物体OB1の3Dモデルのデータと、を対応付けた新たな対応付けデータを作成する。
A−1.画像処理システムの構成:
図1は、本実施形態における画像処理システムSYSの概略構成図である。画像処理システムSYSは、対象となる実物体OB1を撮像して、撮像した実物体OB1の撮像画像データと、予め記憶された実物体OB1の3Dモデルのデータと、を対応付けた新たな対応付けデータを作成する。
画像処理システムSYSは、本体部100と、撮像部40と、表示部20と、操作部30とを備えている。本体部100は、表示部20と、操作部30と、撮像部40とに電気的に接続している。本体部100は、表示部20と操作部30と撮像部40とに制御信号を送ることで、これらを制御する。本体部100が実行する制御の詳細については、後述する。
撮像部40は、本体部100から送信される制御信号に基づき、外景を撮像する。本実施形態では、撮像部40は、特定の軸を中心とする円状のレールRLに沿って移動できるように形成されている。撮像部40は、アクチュエーター41(図2で図示)によって、制御信号に基づきレールRLに沿って移動する。本実施形態では、特定の軸上に実物体OB1が配置されるため、撮像部40は、360度回転して実物体OB1を撮像できる。なお、実物体OB1は、請求項における実物体に相当する。
表示部20は、画像を表示可能なディスプレイである。表示部20は、本体部100から送信される制御信号に基づき、画像を表示する。図1に示す例では、表示部20は、撮像部40が撮像した撮像画像を表示している。
操作部30は、ユーザーの操作を受け付けるユーザーインターフェースである。図1に示すように、操作部30は、キーボードKBと、マウスMSとを有している。キーボードKBは、押下されることで決定の有無を判定する複数のボタンを有している。キーボードKBは、押下したボタンに対応する制御信号を本体部100に送信する。マウスMSは、位置の変化、および、押下されることで決定の有無を判定する2つのボタンを有している。マウスMSは、位置の変化および決定の有無に対応する制御信号を本体部100へと送信する。
図2は、画像処理システムSYSの機能的な構成を示すブロック図である。図2に示すように、本体部100は、CPU110と、記憶部120と、ROM161と、RAM162と、通信部130と、インターフェース140と、電源150とを備えている。記憶部120は、各種データを記憶し、ハードディスクドライブなどによって構成されている。記憶部120は、3Dモデル記憶部121と、作成データ記憶部122と、撮像画像データベース123(撮像画像DB123)とを有している。
3Dモデル記憶部121は、実物体OB1の形状・構造に対応する3Dモデルとして、CAD(computer-aided design)によって作成された3Dモデル(3DCADモデル)を記憶している。作成データ記憶部122は、CPU110が作成したデータを記憶する。作成データ記憶部122に記憶されるデータの詳細については後述するが、作成データ記憶部122は、3Dモデルの所定のビューに対応する2次元モデルデータと、撮像部40によって撮像された実物体OB1の外観情報と、当該所定のビューと、を対応付けた対応付けデータを記憶する。撮像画像データベース123は、撮像部40によって撮像された実物体OB1の撮像画像を記憶する。撮像画像データベース123が記憶する撮像画像は、ある特定の位置から撮像した実物体OB1の1つの撮像フレームや実物体OB1を撮像した動画などである。
CPU110は、ROM161から各種プログラムを読み出し、RAM162に展開することで、各種プログラムを実行する。CPU110は、画像設定部111と、データ作成部112と、対応付け部113とを有している。画像設定部111は、表示部20に表示させる画像を設定する。例えば、画像設定部111は、撮像部40によって撮像された実物体OB1の画像と、3Dモデル記憶部121に記憶された実物体OB1の3Dモデルから得られる2Dモデルの輪郭と、を表示部20に表示させる。データ作成部112は、3Dモデル記憶部121に記憶された実物体OB1の3Dモデルから得られる2Dモデルデータと、撮像部40によって撮像された実物体OB1の画像データ(外観情報)と、を対応付けた対応付けデータを作成する。データ作成部112は、作成した対応付けデータを作成データ記憶部122に記憶させる。なお、データ作成部112が作成するデータの詳細については、後述する。
画像設定部111は、撮像部40の撮像画像を表示部20に表示させる。また、画像設定部111は、3Dモデルを所定のビューポイントに基づいて仮想平面に写像して得られる2Dモデルを表示部20に表示させる。撮像部40によって実物体OB1が撮像された場合に、ユーザーから所定のコマンドを受け取ったタイミングで、対応付け部113は、撮像された実物体OB1の輪郭と、当該2次元モデルの輪郭と、を対応付けることで、撮像された実物体OB1の姿勢を推定する。なお、対応付け部113が実行する実物体OB1の姿勢の推定の詳細については後述する。対応付け部113が実物体OB1の姿勢を推定すると、画像設定部111は、推定された姿勢を用いて3Dモデルを新たに写像して得られる2次元モデルを表示する。このとき、表示部20に表示される実物体OB1と新たな2次元モデルとは、より高い精度で互いに重畳することとなる。
電源150は、画像処理システムSYSの各部に電力を供給する。電源150としては、例えば二次電池を用いることができる。インターフェース140は、本体部100に対して、コンテンツの供給元となる種々の外部機器OAを接続するためのインターフェースである。外部機器OAとしては、例えば、パーソナルコンピューター(PC)や携帯電話端末、ゲーム端末等、がある。インターフェース140としては、例えば、USBインターフェース、マイクロUSBインターフェース、メモリーカード用インターフェース等、を用いることができる。データ作成部112は、インターフェース140を介して、実物体OB1の撮像画像データを取得することもできる。
通信部130は、無線LANやブルートゥース(登録商標)といった所定の無線通信規格に則って、例えば、コンテンツサーバー、テレビ、パーソナルコンピューターといった他の機器との間で無線通信を行う。データ作成部112は、通信部130を介して、他のサーバーから実物体OB1の撮像画像データ、および/または本体部100に読み込まれることになるプログラムであってCPU140に実施形態で説明される機能を実現させるプログラム、を取得することもできる。
A−2.マーカーを用いないデータ作成:
データ作成部112は、撮像部40によって撮像された実物体OB1の撮像画像データと、3Dモデル記憶部121に記憶された実物体OB1の3Dモデルに基づくデータと、を対応付けるために、マーカーに基づくデータ作成と、マーカーを用いないデータ作成とを適用できる。ここでは、マーカーを用いないデータ作成について説明し、第2実施形態においてマーカーに基づくデータ作成を説明する。
データ作成部112は、撮像部40によって撮像された実物体OB1の撮像画像データと、3Dモデル記憶部121に記憶された実物体OB1の3Dモデルに基づくデータと、を対応付けるために、マーカーに基づくデータ作成と、マーカーを用いないデータ作成とを適用できる。ここでは、マーカーを用いないデータ作成について説明し、第2実施形態においてマーカーに基づくデータ作成を説明する。
A−2−1.オンラインにおけるデータ作成:
図3は、オンラインにおけるマーカーを用いないデータ作成であるオンライン作成処理のフローチャートである。このオンライン作成処理を実現するためプログラムは、記憶媒体(具体的にはROM161)に記憶されている。マーカーを用いないデータ作成では、撮像部40によってオブジェクトを撮像しながら「2Dモデルデータ」に外観情報を与えるオンライン作成処理と、予め用意された実物体OB1の撮像画像データを用いて「2Dモデルデータ」に外観情報を与えるオフライン作成処理と、の2つのデータ作成処理がある。ここでは、オンライン作成処理について説明し、オフライン作成処理については、後述する。
図3は、オンラインにおけるマーカーを用いないデータ作成であるオンライン作成処理のフローチャートである。このオンライン作成処理を実現するためプログラムは、記憶媒体(具体的にはROM161)に記憶されている。マーカーを用いないデータ作成では、撮像部40によってオブジェクトを撮像しながら「2Dモデルデータ」に外観情報を与えるオンライン作成処理と、予め用意された実物体OB1の撮像画像データを用いて「2Dモデルデータ」に外観情報を与えるオフライン作成処理と、の2つのデータ作成処理がある。ここでは、オンライン作成処理について説明し、オフライン作成処理については、後述する。
「姿勢の初期化」
オンライン作成処理では、初めに、CPU110は映像シーケンスの取得を開始する(S11)。映像シーケンスの取得では、CPU110は、ユーザーに撮像部40を用いて、実物体OB1を撮像するように促す。画像設定部111は、実物体OB1の画像を表示部20に表示する。また同時に、画像設定部111は、所定のビューに基づいて3次元モデルを仮想平面に写像することで得られる2次元モデルを表示部20に表示する。この結果、表示部20には、撮像部40に撮像された実物体OB1と、写像された2次元モデルとが互いに重なって表示されるが、通常、この段階では、実物体OB1の画像輪郭と、2次元モデルの輪郭とは、一致していない。次に、対応付け部113は、姿勢の初期化を実行する(S13)。
オンライン作成処理では、初めに、CPU110は映像シーケンスの取得を開始する(S11)。映像シーケンスの取得では、CPU110は、ユーザーに撮像部40を用いて、実物体OB1を撮像するように促す。画像設定部111は、実物体OB1の画像を表示部20に表示する。また同時に、画像設定部111は、所定のビューに基づいて3次元モデルを仮想平面に写像することで得られる2次元モデルを表示部20に表示する。この結果、表示部20には、撮像部40に撮像された実物体OB1と、写像された2次元モデルとが互いに重なって表示されるが、通常、この段階では、実物体OB1の画像輪郭と、2次元モデルの輪郭とは、一致していない。次に、対応付け部113は、姿勢の初期化を実行する(S13)。
図4は、2次元モデルの輪郭OL1および撮像部40の撮像画像が表示部20に表示された表示画像IM1の説明図である。図4に示すように、撮像部40によって撮像されて表示部20に表示された実物体OB1の画像と、表示部20に表示された2次元モデルの輪郭OL1とは一致していない。そのため、姿勢の初期化の処理において、画像設定部111は、実物体OB1の画像輪郭と、2次元モデルの輪郭とが、大まかに一致するように、ユーザーに、撮像部40を移動するように促す。そして、実物体OB1の画像輪郭と、2次元モデルの輪郭と、が大よそ一致した場合に、操作部30に対して所定のコマンドを入力するようにユーザーに促す。なお、図4および図5以降でも示す座標軸AX1は、実物体OB1に固定される座標軸であり、撮像部40に対する実物体OB1の姿勢の変化に応じて、変化する。
操作部30が当該所定のコマンドを受け付け場合に、対応付け部113は、2次元モデルの輪郭に含まれる2Dモデル点に対応する画像点をサーチする。なお、ここで2次元モデルの輪郭に含まれる2Dモデル点は、2Dモデルを表す輪郭線に沿って万遍なく分布するように事前に選択されていればよい。また、当該2Dモデル点に対応する画像点のサーチは、例えば、CPU110が、それぞれの2Dモデル点を中心とした隣接近傍範囲内(例えば3×3の画素マトリクス)に属する複数の画像点の中から、当該2Dモデル点の輝度グラディエントに近い輝度グラディエントを有する画像点を選択することにより実施することができる。CPU110による2つのグラディエントの比較は、2つのベクトルの内積に基づくことで得られる。
そして、対応付け部113は、当該ビューおよび当該デプスマップに基づいて当該2Dモデル点を逆変換して得られる3Dモデル点と、当該2Dモデル点に対応する画像点と、に基づいて、仮想平面(この場合は撮像部40の撮像面に相当する平面)上で写像エラーが最小化されるように、ビューパラメーターに含まれる剛体変換行列で表される姿勢を最適化する。姿勢を最適化、すなわち改善することは、例えば、ガウス・ニュートン法による繰り返し計算を行うことを伴う。当該姿勢が最適化(改善)されると、表示部20上で、画像輪郭と2Dモデルの輪郭とは、より高精度で一致する。以上の処理を、「姿勢の初期化」とも呼ぶ。なお、2つの輪郭が一致する場合のビューによって表される姿勢は、撮像部40に対する実物体OB1の姿勢にほぼ一致している。また、この姿勢に対応付けて、撮像画像における実物体OB1の画像情報を外観情報として記憶する。本実施形態に係る外観情報は、当該姿勢で撮像部40に撮像された実物体OB1の外部表面のテクスチャー情報(エッジ、模様、または色彩などの見えの情報)を含んでいる。なお、2Dモデル点に対応する画像点のサーチは、検出されたエッジの比較を利用するが、エッジ検出については、公知の技術を適用可能であり、他の実施形態では、エッジ検出以外の方法(例えばコーナー検出)によって、写像された2Dモデル点に対応する画像点のサーチが行われてもよい。また、上記姿勢の初期化において姿勢が改善された場合には、CPU110は、表示部を介して、姿勢の改善が終了したことを表す情報をユーザーに提示してもよい。例えば、CPU110は、表示部20上に表示されている2Dモデルの色を変えることで、姿勢の改善の終了をユーザーに伝えてもよい。
「姿勢の追跡」
「姿勢の初期化」が終了すると、CPU110は、実物体OB1の姿勢の追跡処理を開始する(S15)。本実施形態に係る姿勢の追跡処理は、撮像部40が取得した撮像画像に現れる実物体OB1上の特徴要素(特徴点)を追跡することに基づく。姿勢の追跡処理の準備ができたら、CPU110は、ユーザーに、実物体OB1に対して撮像部40を動かすように促す。撮像部40が相対的に動かされている間、撮像部40に対する実物体OB1の姿勢はCPU110によって追跡されることとなる。また、CPU110は、追跡により更新された実物体OB1の姿勢と同じ姿勢を用いて、3次元モデルを仮想平面に写像する。このため、ユーザーが実物体OB1を撮像しながら撮像部40を動かしても、表示部20上で画像輪郭と2次元モデルの輪郭とはほぼ一致し続ける。
「姿勢の初期化」が終了すると、CPU110は、実物体OB1の姿勢の追跡処理を開始する(S15)。本実施形態に係る姿勢の追跡処理は、撮像部40が取得した撮像画像に現れる実物体OB1上の特徴要素(特徴点)を追跡することに基づく。姿勢の追跡処理の準備ができたら、CPU110は、ユーザーに、実物体OB1に対して撮像部40を動かすように促す。撮像部40が相対的に動かされている間、撮像部40に対する実物体OB1の姿勢はCPU110によって追跡されることとなる。また、CPU110は、追跡により更新された実物体OB1の姿勢と同じ姿勢を用いて、3次元モデルを仮想平面に写像する。このため、ユーザーが実物体OB1を撮像しながら撮像部40を動かしても、表示部20上で画像輪郭と2次元モデルの輪郭とはほぼ一致し続ける。
CPU110は、撮像部40と実物体OB1との間の空間関係(撮像部40に対する姿勢)が所定の空間関係となる場合に、当該空間関係での実物体OB1の画像情報を外観情報として取得する。そして、取得した外観情報を、当該空間関係(姿勢)と、当該姿勢での「2次元モデルデータ」と、に関連付けて記憶する。「2次元モデルデータ」は、2次元モデルの輪郭(輪郭線)を表す画像、および当該輪郭を表す「輪郭特徴情報」の少なくとも一方を含む。「輪郭特徴情報」とは、輪郭に含まれる2Dモデル点の位置、および当該位置での輝度グラディエントを含む。
図7は、ユーザーに、上記所定の空間関係で実物体OB1を撮像することを促す表示画像IM4を示している。当該空間関係は、図7において、表示画像IM4に含まれる複数のドットDTで表現されている。ドットDTは、図8に示す半球画像IMhb2の表面上に分布している。この半球の座標系のXYZ軸は、オブジェクト座標系で表されていて、その原点が実物体OB1に相当する。半球画像IMhb2の表面の一部を構成する領域FC1は、或る1つのドットに対応する。他の領域についても各々、或る1つのドットに対応する。
表示画像IM4おけるドットDTは、3つの色に変化する。青色の青ドットDTbは、当該ドットDTbで表される空間関係では、まだ実物体OB1の外観情報が得られていない状態を表す。緑色の緑ドットDTgは、当該ドットDTgで表される空間関係で、外観情報が得られたことを表す。黄色の黄ドットDTyは、当該ドットDTyで表される空間関係ではさらに多くの外観情報を取得すべきことを表している。すなわち、全てのドットDTが青ドットDTbから緑ドットDTbに変化すると、所定の空間関係の全てに亘って、実物体OB1の外観情報が取得し終わったことをユーザーに伝えることができる。なお、本実施形態では、「位置」とは、「向き」の概念を含み、例えば、撮像部40の座標値が変化していなくても、撮像部40の光軸の向きが変化している状態は、撮像部40の位置が変化した状態とも呼ぶ。
上記所定の空間関係のうち、撮像部40と実物体OB1との間の距離をユーザーに把握させる目的で、図6に示すような表示画像IM3を表示してもよい。図6に示すように、表示画像IM3には、図5に示す表示画像IM2と比較して、さらに、メーターMT1が表示部20に表示されている。メーターMT1は、撮像部40と実物体OB1との間の距離(以下、オブジェクト距離と表記する)を示す画像である。メーターMT1は、閾値上限THUと、閾値下限THLと、オブジェクト距離OBD(ハッチング領域)とを含んでいる。閾値上限THUは、予め設定された閾値の範囲の上限を示す。閾値下限THLは、予め設定された閾値の範囲の下限を示す。オブジェクト距離OBDは、データ作成部112が特定した空間関係に含まれるオブジェクト距離を示す。オブジェクト距離OBDが一定の範囲を示しているのは、データ作成部112によって特定された距離に幅があるためである。
以上のような処理によって作成されたテンプレートデータを用いれば、HMD(頭部装着型表示装置)を用いて、実物体OB1を検出して、実物体OB1に対してARオブジェクトをレンダリングする場合に、HMD上のカメラを用いて、実物体OB1の姿勢を対象にした高精度な初期検出または初期推定を実現することができる空間関係が多様になる。
「姿勢追跡の停止」
姿勢の追跡の間に、撮像部40が取得する撮像画像において、実物体OB1の特徴要素が消失した場合、またはモーションブラーが生じた場合には、追跡された姿勢がドリフトし始めることがある。そのような場合には、姿勢の追跡を停止してもよい。そして、追跡を停止した姿勢にて、再度、姿勢の初期化を行うことが好ましい。そうすれば、外観情報を取得した際の姿勢と、2次元モデルを得るために3次元モデルを写像した際の姿勢とが、サンプリングされるべき複数の姿勢(空間関係)に亘って、高い精度で一致し続ける。
姿勢の追跡の間に、撮像部40が取得する撮像画像において、実物体OB1の特徴要素が消失した場合、またはモーションブラーが生じた場合には、追跡された姿勢がドリフトし始めることがある。そのような場合には、姿勢の追跡を停止してもよい。そして、追跡を停止した姿勢にて、再度、姿勢の初期化を行うことが好ましい。そうすれば、外観情報を取得した際の姿勢と、2次元モデルを得るために3次元モデルを写像した際の姿勢とが、サンプリングされるべき複数の姿勢(空間関係)に亘って、高い精度で一致し続ける。
そこで、データ作成部112は、図3のS15の処理を実行すると、姿勢を追跡している途中で姿勢のドリフトを検出したか否かを判定する(S17)。当該判定は、ユーザーによる観測に基づくユーザーからの入力、または追跡に基づくCPU110による分析によって決定することができる。データ作成部112がドリフトを検出したと判定した場合には(S17:YES)、正しい実物体OB1の姿勢を特定できないおそれがあるため、姿勢の追跡を停止し(S19)、S13に戻り、再度、姿勢の初期化を行う。
S17の処理において、データ作成部112は、ドリフトを検出していないと判定した場合には(S17:NO)、実物体OB1の十分な外観情報を取得できたか否かを判定する(S21)。本実施形態では、データ作成部112は、図7の半球画像IMhb1を構成するドットDTの全てが緑ドットDTgに変化した場合に、実物体OB1の十分な外観情報を取得できたと判定する。半球画像IMhb1には座標軸AX2が対応付けられている。
図3のS21の処理において、データ作成部112は、オブジェクトOB2の十分な外観情報を取得できていないと判定した場合には(S21:NO)、引き続き、S25以降の処理を繰り返す。S21の処理において、データ作成部112は、オブジェクトOB2の十分な外観情報を取得できたと判定した場合には(S21:YES)、実物体OB1の姿勢の追跡を終了し、空間関係(姿勢)と、その空間関係でのオブジェクトOB2の外観情報と、2次元モデルデータと、を対応付けた対応付けデータ(テンプレートまたはトレーニングデータとも呼ぶ)を作成し(S23)、オンライン作成処理を終了する。データ作成部112は、作成した対応付けデータ(テンプレートデータとも呼ぶ)を作成データ記憶部122に記憶させる。
以上説明したように、本実施形態の画像処理システムSYSでは、データ作成部112は、操作部30が受け付けた操作に応じて、表示部20に表示された実物体OB1の画像IMOB2の輪郭と、2次元モデルの輪郭OL1とをほぼ重畳させる。データ作成部112は、その際の撮像部40と実物体OB1との間の空間関係と、その空間関係で撮像部40によって撮像されたオブジェクトOB2の外観情報と、2次元モデルデータと、を対応付けた対応付けデータを作成する。データ作成部112は、作成した対応付けデータを、作成データ記憶部122に記憶させる。そのため、本実施形態の画像処理システムSYSによれば、オブジェクトの外部表面の見えの情報である外観情報(テクスチャー情報)を有さない3Dモデル(例えば3DCADモデル)から得られるテンプレートに、撮像画像データによって取得された外観情報を与えることができる。この対応付けにより、テンプレートは、3次元モデルから得られる特徴情報(例えば輪郭情報)に加えて、撮像画像から得られるテクスチャー情報(表面の外観情報)を有する。HMDが、実物体OB1を検出し、そしてその姿勢を推定する際に、表面の外観情報を有するテンプレートを参照することで、外観情報を有さないテンプレートと比較して、実物体OB1の初期姿勢の検出精度が向上し得る。また、本実施形態の画像処理システムSYSでは、撮像部40が実物体OB1を撮像できれば、データ作成部112がテンプレート(対応付けデータ)を作成でき、複雑な装置を必要とせずに外観情報を有するテンプレート(対応付けデータ)を作成できる。
A−2−2.オフラインにおけるデータ作成:
オフラインに係るデータ作成の処理に関しては、その「姿勢の追跡」がオンラインの場合の処理のそれとは異なる。
オフラインに係るデータ作成の処理に関しては、その「姿勢の追跡」がオンラインの場合の処理のそれとは異なる。
図9は、オフライン作成処理のフローを表す説明図である。このオフライン作成処理を実現するためプログラムは、記憶媒体(具体的にはROM161)に記憶されている。オフライン作成処理では、初めに、CPU110が、映像シーケンスの取得を実行する(S31)。実行される映像シーケンスの取得では、ユーザーに、事前に実物体OB1を撮像させる。このとき、撮像部40に対する実物体OB1の姿勢が、図7または図8のドットで表される全ての空間関係に対応するように撮像部40が相対移動されることが好ましい。撮像部40の撮像によって、CPU110は、実物体OB1の映像シーケンスを記録する。CPU110は、映像シーケンスを構成する画像フレームの中から、所定のビューで表される姿勢に近い姿勢を有する実物体OB1が撮像されている画像フレームを選択する。選択の方法は、CPU110が行う画像処理によって自動で行われてもよいし、ユーザーに選択させてもよい。そして、選択された当該画像フレームにおける実物体OB1の姿勢を推定する。姿勢を推定する方法は、オンラインにおけるデータ作成に係る処理において説明した方法と同じでよい。
次に、CPU110は、基準画像フレームの取得を実行する(S33)。選択された上記画像フレームを基準として、その時間軸の前後両方向に、各画像フレームにおいて撮像されている実物体OB1の姿勢を追跡していく(S35)。このとき、基準とされた上記画像フレームに対して、バンドル調整を局所的又は全体的に適用することによって、各画像フレームに関して、実物体OB1の姿勢の推定を改善する。そして、所定のタイミングで、実物体OB1の外観情報を取得し、記録する。そして、取得した外観情報を、当該姿勢、および当該姿勢で3次元モデルを写像することで得られる2次元モデルの「2次元モデルデータ」に対応付けたトレーニングデータを作成して(S37)、それらをテンプレートとして記憶し、オンライン作成処理を終了する。
以上説明したように、本実施形態の画像処理システムSYSでは、データ作成部112は、オフライン作成処理における対応付けデータを作成する際に、オブジェクトOB2の撮像画像データとして、予め実物体OB1を撮像した際に記録された映像シーケンスを用いる。そのため、オフライン作成処理では、データ作成部112が、オブジェクトOB2の姿勢を推定する際に、バンドル調整を適用した画像フレームを用いるため、姿勢の推定を改善できる。データ作成部112は、これらの画像フレームを用いることで、ドリフトの発生の問題を部分的に解消できる。
B.第2実施形態:
第2実施形態では、撮像部40がオブジェクトに加えて、撮像部40の撮像範囲に予め設定されたマーカーが存在する場合に、マーカーに設定された座標軸を基準として、実物体OB1の姿勢の推定および追跡が実行される。
第2実施形態では、撮像部40がオブジェクトに加えて、撮像部40の撮像範囲に予め設定されたマーカーが存在する場合に、マーカーに設定された座標軸を基準として、実物体OB1の姿勢の推定および追跡が実行される。
B−1.画像処理システムの構成:
図10は、第2実施形態における画像処理システムSYSaの機能的な構成を示すブロック図である。第2実施形態の画像処理システムSYSaは、第1実施形態の画像処理システムSYSと比較して、記憶部120aがマーカー画像記憶部124を有すること、および、CPU110aの対応付け部113aが実行する処理が異なること、が異なる。そのため、第2実施形態では、第1実施形態の画像処理システムSYSと同じ構成についての説明を省略する。
図10は、第2実施形態における画像処理システムSYSaの機能的な構成を示すブロック図である。第2実施形態の画像処理システムSYSaは、第1実施形態の画像処理システムSYSと比較して、記憶部120aがマーカー画像記憶部124を有すること、および、CPU110aの対応付け部113aが実行する処理が異なること、が異なる。そのため、第2実施形態では、第1実施形態の画像処理システムSYSと同じ構成についての説明を省略する。
記憶部120aが有するマーカー画像記憶部124は、予め設定されたマーカーモデルを記憶している。マーカーモデルは、平面マーカーを表すが、そのマーカー座標系は、直交する3軸(X軸、Y軸、Z軸)で表されている。
B−2.マーカーに基づくデータ作成:
「姿勢の初期化」
図11は、第2実施形態におけるマーカーに基づく処理のフローの説明図である。このフローを実現するためプログラムは、記憶媒体(具体的にはROM161)に記憶されている。図12は、表示画像IM5を示す。表示画像IM5は、撮像部40がマーカー画像を撮像した場合に表示部20に表示される座標軸AX3を含む表示画像である。表示画像IM5は、マーカー画像IMMKと、オブジェクトの画像IMOB3とを含む表示画像である。第1実施形態と同じ方法で、CPU110aは、ユーザーから所定のコマンドを受け取った場合に、映像シーケンスの取得を開始し(S41)、映像シーケンスの各画像フレームについて実物体OB1の姿勢を導出する(S43)。実物体の姿勢の推定は、例えば、第1実施形態で説明したような方法で、ユーザーに実物体の画像輪郭と、実物体に対応する3Dモデルからえら得た2Dモデルの輪郭とを、一致させ、その後、CPU110aが、互いに対応する画像点と2Dモデル点との間の写像エラーを最小化するようなビューパラメーターの導出(最適化)を行うことでよい(図12)。
「姿勢の初期化」
図11は、第2実施形態におけるマーカーに基づく処理のフローの説明図である。このフローを実現するためプログラムは、記憶媒体(具体的にはROM161)に記憶されている。図12は、表示画像IM5を示す。表示画像IM5は、撮像部40がマーカー画像を撮像した場合に表示部20に表示される座標軸AX3を含む表示画像である。表示画像IM5は、マーカー画像IMMKと、オブジェクトの画像IMOB3とを含む表示画像である。第1実施形態と同じ方法で、CPU110aは、ユーザーから所定のコマンドを受け取った場合に、映像シーケンスの取得を開始し(S41)、映像シーケンスの各画像フレームについて実物体OB1の姿勢を導出する(S43)。実物体の姿勢の推定は、例えば、第1実施形態で説明したような方法で、ユーザーに実物体の画像輪郭と、実物体に対応する3Dモデルからえら得た2Dモデルの輪郭とを、一致させ、その後、CPU110aが、互いに対応する画像点と2Dモデル点との間の写像エラーを最小化するようなビューパラメーターの導出(最適化)を行うことでよい(図12)。
CPU110aは、導出された上記姿勢について信頼スコアを計算し、UIを介してユーザーに報知してもよい。このスコアに基づいて、ユーザーは、その姿勢を受け入れることもできるし、S43の処理をやり直すこともできる。第1実施形態で説明したマーカーレスに基づく方法とは異なり、推定されたこの姿勢は、トレーニングデータ(テンプレート)に含まれない。
ユーザーは、実物体OB1の回りで撮像部を相対移動させ続け、さまざまな角度からの映像シーケンスを収集し、記録し続ける。この間、CPU110aは実物体の姿勢を追跡し記録し続ける(S45)。十分な画像が収集されたら、ユーザーからのコマンドに応じて、CPU110aは、PGE toolの機能として提供される多視点改善アルゴリズム(AutoFit)をコール(起動)し、以下のような処理を行う。まず、CPU110aは、映像シーケンスに含まれる各画像フレームについて、撮像部40に対する平面マーカーのそれぞれの姿勢を求める。本実施形態では、平面マーカーの姿勢は、ホモグラフィー行列を用いる方法によって導出される。一般に、平面マーカーの3次元姿勢を精度よく求めることは、任意の3次元物体の3次元姿勢を精度よく求めることよりも容易である。そして、追跡された実物体OB1のそれぞれの姿勢と、それぞれ同じ画像フレームに含まれる平面マーカーの姿勢と、を用いて、平面マーカーと実オブジェクトとの間の正確な姿勢を推定する(S47)。この姿勢をTmoとも表記する。ここで、添え字oはオブジェクト座標系を示し、添え字mはマーカー座標系を示し、Tは両座標系間の変換行列を表す。以上のS41からS47までが、第1実施形態の姿勢の初期化に対応する。
以降、ユーザーは、実物体OB1に対して撮像部40をいかに相対移動させても、平面マーカーの姿勢と、平面マーカーと実物体OB1との間の姿勢Tmoと、に基づいて、より精度よく実物体OB1の姿勢を追跡することができる(S49)。そして、第1実施形態で説明したような方法で、所定の姿勢に基づいて3Dモデルを仮想平面に写像することで得られる2Dモデルを当該映像シーケンスに重ねて表示し、ユーザーにマウスなどを操作させることで、実物体の画像輪郭と2Dモデルの輪郭とを一致させる。そして、実物体の画像輪郭と2Dモデルの輪郭とがほぼ一致する場合に、CPU110は、その姿勢での外観情報と、その姿勢での「2次元モデルデータ」とを対応付けて記憶する。実物体の画像輪郭と2Dモデルの輪郭とが一致したことのCPU110aによる判定は、互いに対応する画像点と2Dモデル点との間の再写像エラーを最小化するようなビューパラメーターの導出(最適化)が終了することに基づいてもよいし、このような最適化が利用できないときには目視に基づくユーザーからの指示に基づいてもよい。そして、第1実施形態の場合と同様に、図7および図8のドットDTで表される姿勢の全てに亘って、実物体OB1の姿勢と、その姿勢での外観情報と、その姿勢での「2次元モデルデータ」と、を対応付けて記憶する(図13)。図13は、表示画像IM6を示す。表示画像IM6は撮像部40がオブジェクトの姿勢を追跡している途中に表示部20に表示された表示画像である。表示画像IM6には座標軸AX4と、マーカー画像IMMKと、オブジェクトの画像IMOB3と、半球画像IMhb3と、が含まれる。所定数の姿勢について対応付けデータが記憶された場合には(S51:YES)、それらをまとめて、対応付けデータ(トレーニングデータ)として記憶し(S53)、マーカーに基づく処理が終了する。所定数の姿勢について対応付けデータが記憶されていない場合には(S51:NO)、処理がS49に戻るとともに、CPU110aはユーザーに撮像部40を相対移動させ続けることを促す。なお、第1実施形態において説明したように、ここでいう「2次元モデルデータ」は、2次元モデルが輪郭で合わされた画像、または当該輪郭を表す「輪郭特徴情報」の少なくとも1つを含む。
C.第3実施形態:
図14は、第3実施形態のフローを示す。このフローを実現するためプログラムは、記憶媒体(具体的にはROM161)に記憶されている。図14に示されたフローは、第2実施形態として図11に示されたフローから、S47、S49及びS51を除外したものに等しい。よって、第3実施形態のおおよその内容は、第2実施形態の説明から理解できる。ただし、以下の説明から分かるように、第3実施形態では、第2実施形態とは異なり、マーカーは、半球画像を表示するために用いられるが、実物体OB1の姿勢の検出または追跡するために用いられなくてもよい。以下、第3実施形態について説明する。
図14は、第3実施形態のフローを示す。このフローを実現するためプログラムは、記憶媒体(具体的にはROM161)に記憶されている。図14に示されたフローは、第2実施形態として図11に示されたフローから、S47、S49及びS51を除外したものに等しい。よって、第3実施形態のおおよその内容は、第2実施形態の説明から理解できる。ただし、以下の説明から分かるように、第3実施形態では、第2実施形態とは異なり、マーカーは、半球画像を表示するために用いられるが、実物体OB1の姿勢の検出または追跡するために用いられなくてもよい。以下、第3実施形態について説明する。
まず、ユーザーに、実物体OB1に対して任意の姿勢で、撮像部40を用いて実物体OB1の静止画像または動画像(映像シーケンス)を撮像させる(S141)。画像フレームが選択された場合に、実物体の姿勢を導出する(S143)。画像フレームの選択は、図9のオフライン作成処理で説明したように実行される。
そして、CPU110は、実物体OB1を含む1つの画像フレームを表示部20に表示する。CPU110は、実物体OB1の形状に対応する3Dモデルを、所定の(デフォルトの)ビューに基づいて仮想平面に写像することで得られる2Dモデルに基づく輪郭を表示部20に表示する。この結果、実物体OB1と2Dモデルの輪郭とは、重なって表示されることとなるが、普通、この段階では、実物体OB1の画像輪郭と、2Dモデルの輪郭とは、一致していない。
CPU110は、ユーザーに、実物体OB1の画像輪郭と、2Dモデルの輪郭と、が一致するように、3Dモデルを写像しているビューを調整するように促す。具体的には、ユーザーに、マウスやタッチパッドなどのインターフェースを用いて、ビューに含まれる3軸回りの回転および3軸に沿った並進を更新させる。CPU110は、更新された回転および並進を含む新しいビューに基づいて、3次元モデルを仮想平面に写像して得られる2次元モデルを表示部20に表示する。CPU110は、表示部20に所定のテキストを表示することによって、ユーザーに、上記マウス等の操作を介して、表示部20に表示されている実物体OB1の画像輪郭と、2次元モデルの輪郭とを一致させるように促す。また、CPU110は、ユーザーに、実物体OB1の画像輪郭と、2次元モデルの輪郭と、が一致したタイミングを、所定のインターフェースを介して、CPU110に通知するよう促す。CPU110は、当該通知を受け取った時点での上記3つの回転および3つの並進を、実物体OB1の姿勢を表す初期姿勢として、画像フレームにおける画像点と、写像された2Dモデル点と、の間の再写像エラーを最小化させるアルゴリズムを起動し、実物体OB1について推定された姿勢を改善する。姿勢が改善されると、表示部20上において、実物体OB1の画像輪郭と、2Dモデルの輪郭とは、より高精度に一致することとなる。この場合に、CPU110は、表示部20を介して、姿勢の改善が終了したことを表す情報をユーザーに提示してもよい。例えば、CPU110は、表示部20上に表示されている2Dモデルの色を変えることで、姿勢の改善が終了したことをユーザーに伝えてもよい。
そして、CPU110は、実物体OB1の外観情報と、当該姿勢に対応する「2次元モデルデータ」とを、互いに関連付けて、記憶部に記憶する。さらに、オブジェクトOB1の動画像が撮像された場合には、3Dモデル上の3D点と、画像フレーム上でオブジェクトOB1に含まれる2D点と、の関係(3D−2D関係)に基づいて、オブジェクトOB1の姿勢が改善された画像フレームの前後に存在する複数の画像フレームについて、オブジェクトOB1の姿勢を追跡する(S145)。そして、トレーニングデータを作成する(S153)。つまり、全ての画像フレーム、またはいくつかの画像フレーム、におけるオブジェクトOB1の外観情報を、それぞれの姿勢に対応するテンプレートに、当該姿勢を表す情報とともに付加する。
本実施形態によれば、少なくとも実施形態1,2と同様な効果を得ることができる。撮像部40と実物体OB1との間の1つまたは複数の空間関係について、実物体OB1のそれぞれの外観情報が対応するテンプレートに付加される。このような処理によって作成されたテンプレートデータを用いる場合でも、HMDが、実物体OB1を検出して、実物体OB1に対応するようにARオブジェクトをレンダリングする場合に、HMDが、HMD上のカメラを用いて、実物体OB1の姿勢を対象にした高精度な初期推定を実現できる。
D.第4実施形態:
以下の本実施形態によれば、上記実施形態によるテンプレートデータの作成の前に、テンプレートに外観情報を付加することが有益かどうかを、判断することができる。具体的には、実物体の表面に特徴点が多い場合には、上記実施形態で説明したように、3Dモデルから作成させるテンプレートに外観情報を付加する。特徴点が多いと判定されない場合には、外観情報を付加しなくてもよい。
以下の本実施形態によれば、上記実施形態によるテンプレートデータの作成の前に、テンプレートに外観情報を付加することが有益かどうかを、判断することができる。具体的には、実物体の表面に特徴点が多い場合には、上記実施形態で説明したように、3Dモデルから作成させるテンプレートに外観情報を付加する。特徴点が多いと判定されない場合には、外観情報を付加しなくてもよい。
図15は、本実施形態によるフローを示す。このフローを実現するためプログラムは、記憶媒体(具体的にはROM161)に記憶されている。図15を参照しながら、本実施形態のフローを説明する。
S200にて、CPU110は、撮像部40が撮像した実物体OB1の画像(画像データ)を取得する。
S202にて、表示部20に取得した画像を表示するとともに、実物体OB1に対応する3Dモデルを、或(あ)るビューに基づいて表示部20上に表示(レンダリング)する。そして、ユーザーに、実物体OBの輪郭と、表示された3Dモデル(以降、2Dモデルと呼ぶ)の輪郭と、がほぼ一致するように、3Dモデルの位置と姿勢を、マウス等で調整させる。具体的にはこのとき、ユーザーの操作に応じて、CPU110は、3Dモデルをレンダリングするために用いられている変換行列を変化させ、変化後の変換行列に基づいて、3Dモデルを表示部にレンダリングする。これにより、CPU110は、画像上での実物体OB1の輪郭(範囲)を判定することができる。
次にS203にて、公知のハリス特徴点検出、ORB特徴点検出、キャニーエッジ検出などにより、実物体OB1の輪郭内での特徴点の数を求める。続いて、CPU110は、実物体OB1の実物体のタイプを判定する。具体的には、特徴点の数が所定値を超える場合(S204:YES)には、当該実物体OB1をリッチフィーチャー実物体(特徴点が多い実物体OB1)であるとラベルし、処理をS208へ進める。特徴点の数が当該所定値未満の場合(S204:NO)には、当該実物体OB1をローフィーチャー実物体(特徴点が少ない実物体)であるとラベルし、S210(後述)を経由して、処理をS212に進める。
S208では、上記実施形態で説明した方法で、3Dモデルと実物体OB1の外観情報とを用いて、テンプレート(トレーニングデータ)が作成される。一方、S212では、保存されている3Dモデルのみを用いて、テンプレートを作成する。なお、本実施形態では、S212に進む前に、S210にて、ユーザーに確認させるステップがあり、ユーザーが指示する場合には、たとえS204で特徴点が多いと判定されない場合でも、処理はS208に進み、外観情報を取得し、テンプレートに付加する。
E.変形例:
上記実施形態では、対応付けデータを作成する情報処理システムとして、画像処理システムSYSが用いられたが、対応付けデータを作成するシステムについては、種々変形可能である。例えば、撮像部40を有するHMDであってもよい。HMDは、コンピューターの一種である。また、第1実施形態では、撮像部40は、1つであったが、複数の撮像部40によって実物体OB1,OB2が撮像されてもよい。撮像部40によるオブジェクトOB2の撮像方法として、撮像部40が位置を変化させずに、撮像部40の位置を固定した上でオブジェクトOB2の位置が変化してもよい。例えば、オブジェクトOB2が回転可能な回転台の上に配置されて、位置が固定された撮像部40によってオブジェクトOB2が撮像されてもよい。また、撮像部40およびオブジェクトOB2の両方が位置を変化させてもよい。
上記実施形態では、対応付けデータを作成する情報処理システムとして、画像処理システムSYSが用いられたが、対応付けデータを作成するシステムについては、種々変形可能である。例えば、撮像部40を有するHMDであってもよい。HMDは、コンピューターの一種である。また、第1実施形態では、撮像部40は、1つであったが、複数の撮像部40によって実物体OB1,OB2が撮像されてもよい。撮像部40によるオブジェクトOB2の撮像方法として、撮像部40が位置を変化させずに、撮像部40の位置を固定した上でオブジェクトOB2の位置が変化してもよい。例えば、オブジェクトOB2が回転可能な回転台の上に配置されて、位置が固定された撮像部40によってオブジェクトOB2が撮像されてもよい。また、撮像部40およびオブジェクトOB2の両方が位置を変化させてもよい。
第1実施形態では、撮像部40がオブジェクトOB2を撮像すると共に、データ作成部112は、撮像されたオブジェクトOB2の姿勢と、3Dモデル記憶部121に記憶された3Dモデルとの姿勢を撮像と並行して得られる映像シーケンスを用いて最適化したが、必ずしもそのような映像シーケンスを用いて実行されなくてもよい。撮像部40によって一連のビデオシーケンスが取得され、記憶部によって記憶された後に、データ作成部112は、姿勢の一致の最適化を実行してもよい。また、データ作成部112は、必ずしもオブジェクトOB2の全周から撮像されたビデオシーケンスを要しない。例えば、特定の1つの視点から撮像されたオブジェクトOB2の画像IMOB2があれば、データ作成部112は、特定の1つの視点から見た対応付けデータを作成することもできる。
本明細書における撮像部40によって取得される実物体の外観情報とは、3Dモデル記憶部121に記憶された3Dモデルに含まれない情報を少なくとも1つを含むデータである。外観情報として、オブジェクトの外部表面のテクスチャー情報(模様、色彩、ざらつき感や質感)を一例として挙げたが、これらの情報に限られない。
撮像部40を移動させるために、レールRLを用いなくてもよい。例えば、ユーザーが撮像部40を手に持ち、ユーザーが撮像部40を移動させてもよい。
本開示は、上記実施形態や変形例に限られるものではなく、その趣旨を逸脱しない範囲において種々の構成で実現することができる。例えば、発明の概要の欄に記載した各形態中の技術的特徴に対応する実施形態、変形例中の技術的特徴は、上述の課題の一部または全部を解決するために、あるいは、上述の効果の一部または全部を達成するために、適宜、差し替えや、組み合わせを行うことが可能である。また、その技術的特徴が本明細書中に必須なものとして説明されていなければ、適宜、削除することが可能である。
SYS,SYSa…画像処理システム、20…表示部、30…操作部、40…撮像部、41…アクチュエーター、100…本体部、110,110a…CPU、111…画像設定部、112…データ作成部、113,113a…対応付け部、120,120a…記憶部、121…3Dモデル記憶部、122…作成データ記憶部、123…撮像画像DB、124…マーカー画像記憶部、130…通信部、140…インターフェース、150…電源、161…ROM、162…RAM、AX1,AX2,AX3,AX4…座標軸、DT…ドット、DTb…青ドット、DTg…緑ドット、DTy…黄ドット、FC1…領域、IM1,IM2,IM3,IM4,IM5,IM6…表示画像、IMMK…マーカー画像、IMOB2,IMOB3…オブジェクトの画像、IMhb1,IMhb2,IMhb3…半球画像、KB…キーボード、MS…マウス、MT1,MT2…メーター、OA…外部機器、OB1,OB2,OB3…オブジェクト(実物体)、OBD…オブジェクト距離、OL1,OL2…レンダリングモデルの輪郭、RL…レール、THL…閾値下限、THU…閾値上限
Claims (2)
- 実物体が撮像されて得られる映像シーケンスを取得する機能と、
前記映像シーケンスの中から一の画像フレームが選択された場合に、前記実物体に対応する3Dモデルを用いて、前記一の画像フレームに含まれる前記実物体の姿勢を導出する導出機能と、
前記一の画像フレームの前後方向の各画像フレームについて、前記実物体の前記姿勢を追跡する追跡機能と、
前記実物体の前記姿勢について、前記画像フレームから得られる前記実物体の外観情報と、前記姿勢に対応した写像により前記3Dモデルから得られる2Dモデルのデータと、を対応付けて記憶する機能と、
をコンピューターに実現させるためのコンピュータープログラム。 - 実物体が撮像されて得られる画像フレームに基づいて、前記実物体の特徴点を検出する機能と、
前記特徴点の数が所定値を超える場合に、前記実物体に対応する3Dモデルと、前記実物体の外観情報と、を用いて、テンプレートを作成する機能と、
をコンピューターに実現させるためのコンピュータープログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016222221A JP2018081410A (ja) | 2016-11-15 | 2016-11-15 | コンピュータープログラム |
US15/808,387 US10402657B2 (en) | 2016-11-15 | 2017-11-09 | Methods and systems for training an object detection algorithm |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016222221A JP2018081410A (ja) | 2016-11-15 | 2016-11-15 | コンピュータープログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2018081410A true JP2018081410A (ja) | 2018-05-24 |
Family
ID=62108591
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016222221A Pending JP2018081410A (ja) | 2016-11-15 | 2016-11-15 | コンピュータープログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US10402657B2 (ja) |
JP (1) | JP2018081410A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPWO2021014538A1 (ja) * | 2019-07-22 | 2021-01-28 |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11527064B1 (en) * | 2016-12-22 | 2022-12-13 | ReScan, Inc. | Combined 2D and 3D processing of images or spaces |
CN110114803B (zh) * | 2016-12-28 | 2023-06-27 | 松下电器(美国)知识产权公司 | 三维模型分发方法、三维模型接收方法、三维模型分发装置以及三维模型接收装置 |
CN108709504A (zh) * | 2018-07-10 | 2018-10-26 | 苏州赛维新机电检测技术服务有限公司 | 一种图像模拟的产品尺寸检测系统 |
US10748344B2 (en) * | 2018-09-12 | 2020-08-18 | Seiko Epson Corporation | Methods and devices for user interaction in augmented reality |
US11107241B2 (en) | 2018-12-11 | 2021-08-31 | Seiko Epson Corporation | Methods and systems for training an object detection algorithm using synthetic images |
CN111311632B (zh) * | 2018-12-11 | 2023-12-01 | 深圳市优必选科技有限公司 | 一种物体位姿跟踪方法、装置及设备 |
CN109816704B (zh) * | 2019-01-28 | 2021-08-03 | 北京百度网讯科技有限公司 | 物体的三维信息获取方法和装置 |
JP7281923B2 (ja) * | 2019-03-01 | 2023-05-26 | キヤノン株式会社 | 制御装置、画像処理システム、制御方法及びプログラム |
US12045925B2 (en) * | 2020-06-11 | 2024-07-23 | Microsoft Technology Licensing, Llc | Computing images of head mounted display wearer |
US11475242B2 (en) | 2020-07-27 | 2022-10-18 | Seiko Epson Corporation | Domain adaptation losses |
US12026968B2 (en) * | 2020-11-12 | 2024-07-02 | Sony Group Corporation | Training machine learning-based models for animal feature detection |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8467596B2 (en) | 2011-08-30 | 2013-06-18 | Seiko Epson Corporation | Method and apparatus for object pose estimation |
JP6044293B2 (ja) * | 2012-11-19 | 2016-12-14 | 株式会社Ihi | 3次元物体認識装置および3次元物体認識方法 |
JP2017187882A (ja) * | 2016-04-04 | 2017-10-12 | セイコーエプソン株式会社 | 画像処理に用いられるコンピュータープログラム |
-
2016
- 2016-11-15 JP JP2016222221A patent/JP2018081410A/ja active Pending
-
2017
- 2017-11-09 US US15/808,387 patent/US10402657B2/en active Active
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPWO2021014538A1 (ja) * | 2019-07-22 | 2021-01-28 | ||
WO2021014538A1 (ja) * | 2019-07-22 | 2021-01-28 | オムロン株式会社 | テンプレート作成装置、物体認識処理装置、テンプレート作成方法、物体認識処理方法及びプログラム |
JP7251631B2 (ja) | 2019-07-22 | 2023-04-04 | オムロン株式会社 | テンプレート作成装置、物体認識処理装置、テンプレート作成方法、物体認識処理方法及びプログラム |
Also Published As
Publication number | Publication date |
---|---|
US10402657B2 (en) | 2019-09-03 |
US20180137366A1 (en) | 2018-05-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2018081410A (ja) | コンピュータープログラム | |
JP2017187882A (ja) | 画像処理に用いられるコンピュータープログラム | |
US10410089B2 (en) | Training assistance using synthetic images | |
JP4434890B2 (ja) | 画像合成方法及び装置 | |
JP4137078B2 (ja) | 複合現実感情報生成装置および方法 | |
JP5248806B2 (ja) | 情報処理装置、情報処理方法 | |
US11842437B2 (en) | Marker-less augmented reality system for mammoplasty pre-visualization | |
JP5093053B2 (ja) | 電子カメラ | |
CN108830894A (zh) | 基于增强现实的远程指导方法、装置、终端和存储介质 | |
JP2017182274A (ja) | 情報処理装置およびコンピュータープログラム | |
JP4834424B2 (ja) | 情報処理装置、情報処理方法、及びプログラム | |
US11403781B2 (en) | Methods and systems for intra-capture camera calibration | |
JP2012053631A (ja) | 情報処理装置、情報処理方法 | |
CN112509117A (zh) | 手部三维模型的重建方法、装置、电子设备及存储介质 | |
JP4938748B2 (ja) | 画像認識装置及びプログラム | |
CN104656893A (zh) | 一种信息物理空间的远程交互式操控系统及方法 | |
JP2006004158A (ja) | 画像処理プログラム、画像処理方法、画像処理装置及び記録媒体 | |
CN114581986A (zh) | 图像处理方法、装置、电子设备及存储介质 | |
JP2015153035A (ja) | 被写体情報重畳装置、被写体情報重畳方法及びプログラム | |
CN111179341B (zh) | 一种增强现实设备与移动机器人的配准方法 | |
CN114140536A (zh) | 位姿数据处理方法、装置、电子设备及存储介质 | |
CN114596363A (zh) | 一种三维点云标注方法、装置及终端 | |
WO2018173205A1 (ja) | 情報処理システム、その制御方法、及びプログラム | |
JP2019057070A (ja) | 画像処理装置、画像処理方法、およびプログラム | |
JP2008040913A (ja) | 情報処理方法、情報処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170123 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20170123 |