JP2016070674A - 3次元座標算出装置、3次元座標算出方法および3次元座標算出プログラム - Google Patents

3次元座標算出装置、3次元座標算出方法および3次元座標算出プログラム Download PDF

Info

Publication number
JP2016070674A
JP2016070674A JP2014196531A JP2014196531A JP2016070674A JP 2016070674 A JP2016070674 A JP 2016070674A JP 2014196531 A JP2014196531 A JP 2014196531A JP 2014196531 A JP2014196531 A JP 2014196531A JP 2016070674 A JP2016070674 A JP 2016070674A
Authority
JP
Japan
Prior art keywords
image
marker
camera
captured
feature points
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2014196531A
Other languages
English (en)
Other versions
JP6435750B2 (ja
Inventor
厚憲 茂木
Atsunori Mogi
厚憲 茂木
山口 伸康
Nobuyasu Yamaguchi
伸康 山口
松田 高弘
Takahiro Matsuda
高弘 松田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2014196531A priority Critical patent/JP6435750B2/ja
Priority to US14/845,493 priority patent/US9892516B2/en
Priority to AU2015224418A priority patent/AU2015224418B2/en
Priority to EP15184453.7A priority patent/EP3001384B1/en
Publication of JP2016070674A publication Critical patent/JP2016070674A/ja
Application granted granted Critical
Publication of JP6435750B2 publication Critical patent/JP6435750B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • G06T7/579Depth or shape recovery from multiple images from motion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • G06T7/593Depth or shape recovery from multiple images from stereo images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30204Marker
    • G06T2207/30208Marker matrix
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30244Camera pose

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Length Measuring Devices By Optical Means (AREA)
  • Image Processing (AREA)
  • Image Analysis (AREA)
  • Processing Or Creating Images (AREA)

Abstract

【課題】特徴点の3次元座標を高精度に算出可能にする。
【解決手段】画像選択部12は、複数の撮像画像から第1の選択画像を選択する。また、画像選択部12は、その後に撮像された複数の後続画像の中から、第1の選択画像におけるマーカ22の位置情報を基に算出された第1の選択画像の撮像位置と複数の後続画像のそれぞれにおけるマーカ22の位置情報を基に算出された複数の後続画像のそれぞれの撮像位置との間の撮像位置間距離と、第1の選択画像から抽出された特徴点と複数の後続画像のそれぞれから抽出された特徴点との間で対応する対応特徴点の数とに基づいて、第2の選択画像を選択する。座標算出部13は、複数の対応特徴点の3次元座標を、各対応特徴点の第1の選択画像および第2の選択画像のそれぞれにおける2次元座標に基づいて算出する。
【選択図】図1

Description

本発明は、3次元座標算出装置、3次元座標算出方法および3次元座標算出プログラムに関する。
現実空間を撮像した画像上の所定位置に仮想的な画像を重畳して表示する拡張現実感(Augmented Reality,AR)技術が知られている。このAR技術は、例えば、工場などの作業空間において、作業内容や作業対象箇所などを示す作業支援情報を撮像画像上に重畳表示することによって作業者の作業を支援する、といった用途で普及しつつある。
AR技術では、撮像画像上の適切な位置に仮想的な画像を重畳するために、実空間でのカメラの位置および姿勢を正確に把握できる必要がある。その方法の一例として、仮想的な画像の表示対象とする対象物上の特徴点についての3次元座標をあらかじめ計測して特徴点マップに登録しておき、撮像画像から抽出された特徴点と特徴点マップに登録された特徴点とを対応付けることにより、カメラの位置および姿勢を推定する方法がある。
また、特徴点マップに登録する3次元座標を算出する方法の例としては、任意の2視点から対象物が写る2つの画像を撮像し、各画像から特徴点を抽出し、画像間で対応する特徴点の3次元座標を各画像における特徴点の座標に基づいて三角測量の原理によって算出する方法がある。
また、ARに関連する技術としては次のようなものがある。例えば、選択画像に含まれる3次元位置の推定された特徴点数、および、選択画像に含まれる対応特徴点の推定3次元位置と画像フレームの特徴点位置とを結ぶ光線同士の交差角に基づいて、選択画像が適切かを判定する技術が提案されている。また、例えば、第1の画像および第2の画像における画像特徴の位置と各画像を撮像したカメラの姿勢とに基づいて3次元空間におけるマーカの再構成位置を判定し、再構成位置と3次元空間におけるマーカの所定の位置に基づく再構成誤差が所定の基準を満たす場合に、キー画像として少なくとも一方の画像を選択する技術が提案されている。
特開2009−237848号公報 特開2013−127783号公報
G. Klein、他1名、「Parallel Tracking and Mapping for Small AR Workspace」、Mixed and Augmented Reality, 2007. ISMAR 2007. 6th IEEE and ACM International Symposium on、2007年11月、pp.225−234 山田健人、他3名、「2画像からの3次元復元の最新アルゴリズム」、情報処理学会研究報告、vol. 2009-CVIM-168-15、2009年、p.1−8
特徴点マップに登録する特徴点の3次元座標は、その算出に用いられる2画像の撮像位置や撮像方向によっては、算出精度が低くなる場合がある。2画像の適切な撮像位置や撮像方向の条件は、三角測量の原理から決定される。しかし、特徴点マップを登録しようとするユーザは三角測量の原理に詳しくない場合が多いため、2画像を適切な位置や方向で撮像することが難しいという問題がある。撮像位置や撮像方向が不適切な2画像を用いて作成された低品質な特徴点マップを用いて画像の重畳表示が行われると、画像の表示位置の精度が低くなってしまう。
1つの側面では、本発明は、特徴点の3次元座標を高精度に算出可能な3次元座標算出装置、3次元座標算出方法および3次元座標算出プログラムを提供することを目的とする。
1つの案では、3次元座標算出装置が提供される。この3次元座標算出装置は、画像選択部および座標算出部を有する。画像選択部は、カメラによって撮像された複数の撮像画像から第1の選択画像を選択し、第1の選択画像の後にカメラによって撮像された複数の後続画像の中から、第1の選択画像におけるマーカの位置を示す第1のマーカ位置情報を基に算出された第1の選択画像の撮像位置と複数の後続画像のそれぞれにおけるマーカの位置を示す第2のマーカ位置情報を基に算出された複数の後続画像のそれぞれの撮像位置との間の撮像位置間距離と、第1の選択画像から抽出された特徴点と複数の後続画像のそれぞれから抽出された特徴点との間で対応する対応特徴点の数とに基づいて、第2の選択画像を選択する。座標算出部は、複数の対応特徴点の3次元座標を、各対応特徴点の第1の選択画像および第2の選択画像のそれぞれにおける2次元座標に基づいて算出する。
また、1つの案では、上記の3次元座標算出装置と同様の処理が実行される3次元座標算出方法が提供される。
さらに、1つの案では、上記の3次元座標算出装置と同様の処理をコンピュータに実行させる3次元座標算出プログラムが提供される。
1つの側面では、特徴点の3次元座標を高精度に算出できる。
第1の実施の形態に係る3次元座標算出装置の構成例および処理例を示す図である。 第2の実施の形態に係る端末装置のハードウェア構成例を示す図である。 特徴点マップに登録される特徴点の3次元座標について示す図である。 端末装置が備える処理機能の構成例を示すブロック図である。 マーカの例を示す図である。 位置姿勢情報テーブルの例を示す図である。 特徴点情報テーブルの例を示す図である。 処理例1の手順を示すフローチャートである。 処理例1における第2カメラ位置判定処理の手順を示すフローチャートである。 処理例2における第2カメラ位置判定処理の手順を示すフローチャートである。 処理例3における第2カメラ位置判定処理の手順を示すフローチャートである。 パンニングが行われた場合のマーカとカメラとの位置関係を示す図である。 処理例4の手順を示すフローチャートである。 処理例5の手順を示すフローチャートである。
以下、本発明の実施の形態について図面を参照して説明する。
〔第1の実施の形態〕
図1は、第1の実施の形態に係る3次元座標算出装置の構成例および処理例を示す図である。図1に示す3次元座標算出装置は、複数の特徴点の3次元座標を算出するための装置である。3次元座標算出装置1によって算出された複数の特徴点の3次元座標は、例えば、特徴点マップ11に登録される。特徴点マップ11は、対象物21の所定位置に仮想的な画像を重畳表示する際に参照される。
このような特徴点マップ11を用いた重畳表示処理は、マーカを利用しないマーカレス方式で行われる。一方、本実施の形態では、対象物21の表面やその近傍にマーカ22を配置する。そして、3次元座標算出装置1は、カメラ2によってマーカ22が撮像された撮像画像を用いて特徴点マップ11を作成する。特徴点マップ11の作成にマーカ22を用いることで、各撮像画像の撮像位置や撮像方向を画像処理によって特定できる。3次元座標算出装置1は、特定された撮像位置や撮像方向を用いることで、特徴点の3次元座標を算出するための適切な2画像を自動的に選択する。
3次元座標算出装置1は、画像選択部12および座標算出部13を備える。画像選択部12および座標算出部13の処理は、例えば、3次元座標算出装置1が備えるプロセッサが所定のプログラムを実行することで実現される。なお、画像選択部12および座標算出部13は、3次元座標算出装置1に接続されたカメラ2によって撮像された撮像画像を用いて以下のような処理を行うが、他の例として、複数の撮像画像を他の装置から取得して以下のような処理を行ってもよい。また、カメラ2は、3次元座標算出装置1と一体に搭載されていてもよい。
画像選択部12は、カメラ2によって撮像された複数の撮像画像から第1の選択画像を選択する。図1の例では、撮像画像31が第1の選択画像として選択されたとする。
また、画像選択部12は、第1の選択画像の後にカメラ2によって撮像された複数の後続画像の中から、次のような処理によって第2の選択画像を選択する。画像選択部12は、第1の選択画像におけるマーカ22の位置情報に基づいて、第1の選択画像の撮像位置を算出する。また、画像選択部12は、各後続画像におけるマーカ22の位置情報に基づいて、各後続画像の撮像位置を算出する。そして、画像選択部12は、第1の選択画像の撮像位置と各後続画像の撮像位置との間の撮像位置間距離を、第1の選択画像と後続画像の組み合わせごとに算出する。さらに、画像選択部12は、第1の選択画像から抽出された特徴点と、各後続画像から抽出された特徴点との間で対応する対応特徴点の数を、第1の選択画像と後続画像の組み合わせごとに算出する。
画像選択部12は、撮像位置間距離と対応特徴点の数とに基づいて、複数の後続画像の中から第2の選択画像を選択する。図1の例では、撮像画像31の後に撮像された撮像画像32〜34の中から、撮像画像34が第2の選択画像として選択されたとする。
特徴点の3次元座標を精度よく算出するためには、その算出に用いられる2つの画像がある程度離れた位置から撮像されることが望ましい。画像選択部12は、第2の選択画像の判定に撮像位置間距離を用いることで、第1の選択画像の撮像位置からある程度離れた位置から撮像された後続画像を、第2の選択画像として選択できる。
ただし、上記の条件だけで第2の選択画像が選択された場合、各選択画像に写る被写体の領域の間で重複する領域が小さいことがあり得る。その場合、選択画像間における対応特徴点の数が少なくなり、特徴点の3次元座標を算出できない可能性がある。そこで、画像選択部12は、撮像位置間距離に加えて対応特徴点の数を用いて第2の選択画像を判定することで、特徴点の3次元座標を精度よく算出可能な適切な第2の選択画像を選択できる可能性が高まる。その結果、得られた特徴点マップ11を用いて仮想的な画像の重畳表示が行われた場合の重畳位置精度を向上させることができる。
〔第2の実施の形態〕
次に、図1の3次元座標算出装置1の機能と、特徴点マップを用いた画像重畳表示機能とを備える端末装置の例について説明する。
図2は、第2の実施の形態に係る端末装置のハードウェア構成例を示す図である。第2の実施の形態に係る端末装置100は、図2に示すような携帯型のコンピュータとして実現される。
図2に示す端末装置100は、プロセッサ101によって装置全体が制御されている。プロセッサ101は、マルチプロセッサであってもよい。プロセッサ101は、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、またはPLD(Programmable Logic Device)である。また、プロセッサ101は、CPU、MPU、DSP、ASIC、PLDのうちの2以上の要素の組み合わせであってもよい。
プロセッサ101には、バス109を介して、RAM(Random Access Memory)102と複数の周辺機器が接続されている。
RAM102は、端末装置100の主記憶装置として使用される。RAM102には、プロセッサ101に実行させるOS(Operating System)プログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、RAM102には、プロセッサ101による処理に必要な各種データが格納される。
バス109に接続されている周辺機器としては、HDD(Hard Disk Drive)103、表示装置104、入力装置105、読み取り装置106、無線通信インタフェース107およびカメラ108がある。
HDD103は、端末装置100の補助記憶装置として使用される。HDD103には、OSプログラム、アプリケーションプログラム、および各種データが格納される。なお、補助記憶装置としては、SSD(Solid State Drive)などの他の種類の不揮発性記憶装置を使用することもできる。
表示装置104は、プロセッサ101からの命令に従って、画像をその画面に表示する。表示装置104としては、液晶ディスプレイや、有機EL(ElectroLuminescence)ディスプレイなどがある。
入力装置105は、ユーザによる入力操作に応じた信号をプロセッサ101に送信する。入力装置105としては、例えば、表示装置104の表示面に配置されるタッチパネルや、タッチパッド、マウス、トラックボール、操作キーなどがある。
読み取り装置106には、可搬型記録媒体106aが脱着される。読み取り装置106は、可搬型記録媒体106aに記録されたデータを読み取ってプロセッサ101に送信する。可搬型記録媒体106aとしては、光ディスク、光磁気ディスク、半導体メモリなどがある。
無線通信インタフェース107は、無線通信により他の装置との間でデータの送受信を行う。
カメラ108は、撮像素子によって得られた画像信号をデジタル化して、プロセッサ101に送信する。
以上のようなハードウェア構成によって、端末装置100の処理機能を実現することができる。
ところで、上記の端末装置100は、カメラ108によって撮像された画像を表示装置104に表示させるとともに、その撮像画像上に仮想的な画像を重畳表示させる機能を備える。本実施の形態では、仮想的な画像の例として、作業者による作業を支援するための作業支援情報を撮像画像上に重畳表示させるものとする。
この場合、作業者は、作業の対象とする作業対象物が存在する作業空間において、端末装置100を携帯する。作業対象物には、作業の段階ごとに所定位置にマーカが貼付されている。マーカの内部に表示されたパターンは、作業段階ごとに異なっている。
端末装置100においては表示装置104の表示面に対する裏面側にカメラ108が取り付けられているものとすると、作業者は、端末装置100を作業対象物にかざして、作業対象の領域をカメラ108によって撮像する。すると、端末装置100は、撮像された画像からマーカを認識し、そのマーカの内部パターンの認識結果から作業段階を特定する。端末装置100は、特定した作業段階に対応付けられた作業支援情報を撮像画像上の適切な位置に重畳して表示させる。
この作業支援情報のような仮想的な画像を所定の位置の重畳表示させる方法としては、大別して、現実空間上の既知の位置に配置された既知の形状のマーカを使用する“マーカベース方式”と、このようなマーカを使用しない“マーカレス方式”とに大別される。端末装置100では、少なくとも、マーカレス方式による画像の重畳表示が可能になっている。
マーカレス方式では、対象物やその近傍に存在する複数の特徴点それぞれの3次元座標があらかじめ登録された特徴点マップが用いられる。端末装置100は、撮像画像から特定された複数の特徴点を特徴点マップに登録された特徴点に対応付けることで、対象物に対するカメラ108の位置および姿勢を推定する。端末装置100は、その推定結果に応じた撮像画像上の適切な位置に仮想的な画像を重畳表示させる。
さらに、端末装置100は、カメラ108による撮像画像に基づいて特徴点マップを作成する機能も備える。特徴点マップの作成のためには、撮像画像の中から2つの画像を選択する必要がある。
図3は、特徴点マップに登録される特徴点の3次元座標について示す図である。特徴点マップを作成する際、作業者は、まず、第1カメラ位置201において、対象物が写るように第1画像211を撮像する。その後、作業者は、場所を移動し、第2カメラ位置202において、対象物が写るように第2画像212を撮像する。
第1画像211と第2画像212とからは、対応する特徴点が複数抽出される。特徴点マップには、抽出された対応する特徴点のそれぞれについての3次元空間における座標が登録される。例えば、第1画像211と第2画像212のそれぞれから、対応する特徴点として特徴点221,222が抽出されたものとする。特徴点221,222は、対象物上の特徴点230が第1画像211および第2画像212にそれぞれ投影されたものである。特徴点マップには、特徴点230の3次元座標が登録される。ここで、第1画像211と第2画像212のそれぞれから所定個数以上の対応する特徴点が抽出された場合、第1画像211および第2画像212における特徴点の座標を用いて、三角測量の原理により各特徴点の3次元座標を復元することができる。
ここで、第1カメラ位置201と第2カメラ位置202をそれぞれどのような位置に設定するかにより、特徴点マップの品質が変化する。例えば、第1カメラ位置201と第2カメラ位置202の少なくとも一方が適切な位置に設定されなかった場合、特徴点マップに登録される各特徴点の3次元座標の位置関係に歪みが生じる。低品質な特徴点マップが利用された場合、作業支援情報の重畳表示位置の精度が低下する。
端末装置100を使用する作業者は、必ずしも三角測量の原理に詳しい訳ではないので、第1カメラ位置201と第2カメラ位置202をどのように設定したらよいかを判定できない。このため、作業者によって第1カメラ位置201と第2カメラ位置202とが判定された場合、特徴点マップの品質が低下する可能性がある。そこで、端末装置100は、下記で説明するように、特徴点マップの作成のために適切な第1カメラ位置201と第2カメラ位置202を自動的に判定するための機能を備えている。
図4は、端末装置が備える処理機能の構成例を示すブロック図である。端末装置100は、マップ作成部110、重畳表示制御部120および記憶部130を備える。マップ作成部110および重畳表示制御部120の処理は、例えば、プロセッサ101が所定のプログラムを実行することで実現される。記憶部130は、例えば、RAM102またはHDD103の記憶領域として実現される。
記憶部130には、少なくとも、特徴点マップ131および重畳画像情報132が記憶される。特徴点マップ131は、作業段階ごとに用意される。特徴点マップ131には、作業段階に対応する作業対象物およびその周囲における複数の特徴点の3次元座標が登録されている。重畳画像情報132には、各作業段階において撮像画像上に重畳表示させる作業支援情報が登録されている。
重畳表示制御部120は、特徴点マップ131を参照しながら、カメラ108による撮像画像上に所定の作業支援情報を重畳表示させる。より具体的には、前述のように、重畳表示制御部120は、撮像された画像からマーカを認識し、そのマーカの内部パターンの認識結果から作業段階を特定する。重畳表示制御部120は、特定した作業段階に対応付けられた作業支援情報を重畳画像情報132から読み出し、読み出した作業支援情報を撮像画像上の適切な位置に重畳して表示させる。
なお、重畳表示制御部120は、マーカレス方式だけでなく、マーカベース方式による作業支援情報の重畳表示処理を実行可能であってもよい。この場合、例えば、重畳表示制御部120は、撮像画像からマーカが認識できている間はマーカベース方式での重畳表示処理を行い、マーカが認識できなくなったとき、マーカレス方式での重畳表示処理に切り替えて実行してもよい。
マップ作成部110は、カメラ108から順次取得される撮像画像から、特徴点マップの作成のために使用する1枚目の画像(第1画像)と2枚目の画像(第2画像)とを選択する。マップ作成部110は、選択した第1画像と第2画像に基づいて特徴点マップ131を作成し、記憶部130に登録する。なお、マップ作成部110は、第1画像および第2画像の選択の際、作業対象物に配置されたマーカの認識結果を利用する。このマーカは、作業段階を識別するためのマーカと共通であってもよい。
マップ作成部110は、画像取得部111、位置姿勢推定部112、特徴点抽出部113、カメラ位置判定部114および3次元復元部115を備える。
画像取得部111は、カメラ108によって撮像された撮像画像を取得して、位置姿勢推定部112および特徴点抽出部113に供給する。
位置姿勢推定部112は、画像取得部111から入力される撮像画像からマーカを認識し、マーカの認識結果に基づいてカメラ108による撮像位置および撮像姿勢を示す情報を算出する。以下、カメラ108による撮像位置および撮像姿勢を示す情報を“撮像位置姿勢情報”と記載する場合がある。
特徴点抽出部113は、画像取得部111から入力される撮像画像から特徴点を抽出する。また、特徴点抽出部113は、第1画像が選択された後、第1画像から抽出された複数の特徴点を、その後に入力される撮像画像から追跡する。
カメラ位置判定部114は、位置姿勢推定部112および特徴点抽出部113による処理結果に基づいて、カメラ108が第1画像および第2画像をそれぞれ取得するための適切な位置にあるかを判定する。以下、第1画像を取得するためのカメラ108の適切な位置を“第1カメラ位置”と記載し、第2画像を取得するためのカメラ108の適切な位置を“第2カメラ位置”と記載する場合がある。なお、後述するように、カメラ108が第1カメラ位置にあることについては、ユーザの入力操作があったタイミングや任意のタイミングなど、位置姿勢推定部112および特徴点抽出部113による処理結果に基づかずに決定される場合もある。
3次元復元部115は、カメラ108が第1カメラ位置にあるときに取得された第1画像と、カメラ108が第2カメラ位置にあるときに取得された第2画像とに基づいて、特徴点マップ131を作成する。また、3次元復元部115は、すでに作成された特徴点マップ131に、新たに算出された特徴点の3次元座標の情報を追加したり、新たに算出された特徴点の3次元座標の情報によって既存の特徴点マップ131の一部を更新することもできる。
次に、マップ作成部110の処理のうち、後述するマップ作成部110の処理例1〜5で共通する処理について説明する。
(1)撮像位置姿勢情報の算出処理
まず、位置姿勢推定部112による撮像位置姿勢情報の算出処理の例について説明する。作業支援情報の重畳対象となる対象物の表面、またはその近傍には、形状が既知のマーカがあらかじめ配置される。位置姿勢推定部112は、画像取得部111から入力される撮像画像からマーカを認識し、マーカの認識結果に基づいて撮像位置姿勢情報を算出する。
図5は、マーカの例を示す図である。マーカ250は、矩形の外枠251を有するとともに、外枠251の内側に内部パターン252を含む。内部パターン252は、作業段階ごとに異なるパターンとなっており、内部パターン252によって作業段階を識別可能になっている。
位置姿勢推定部112は、撮像画像に含まれるマーカ250の外枠251の4つの頂点についての、撮像画像における座標を、例えば次のような手順で検出する。まず、位置姿勢推定部112は、撮像画像の各画素を所定のしきい値と比較することで、撮像画像を2値化画像に変換する。次に、位置姿勢推定部112は、2値化画像にラベリングを行うことで、マーカ250の輪郭を検出する。次に、位置姿勢推定部112は、検出された輪郭から、4つの頂点を有する四角形を抽出し、画像における4つの頂点を検出する。なお、位置姿勢推定部112は、抽出された四角形の内部のパターンをあらかじめ用意されたテンプレートパターンとマッチングすることで、検出されたマーカが所望のマーカであることを認識する。
次に、位置姿勢推定部112は、マーカ250の4つの頂点の座標に基づいて、マーカ250に対する撮像位置および撮像姿勢を示す撮像位置姿勢情報を算出する。撮像位置姿勢情報は、回転移動成分の情報と平行移動成分の情報とを含む。前者の情報として、回転行列Rが算出され、後者の情報として、並進ベクトルTが算出される。
ここで、マーカ座標系を、行列[Xmmm 1]Tと定義する。なお、右上に付した“T”は転置行列を示す。マーカ座標系とは、マーカ250の中心を原点とし、マーカ250の面をX−Y平面とした3次元座標系である。また、カメラ座標系を、行列[Xccc 1]Tと定義する。カメラ座標系とは、カメラ108の焦点を原点とし、撮像方向の中心をZ軸とする3次元座標系である。さらに、画像座標系を、行列[xcc 1]Tと定義する。画像座標系とは、撮像画像の左上を原点とする2次元座標系である。
回転行列Rと並進ベクトルTは、マーカ座標系とカメラ座標系との間の座標変換を示す次の式(1)によって定義される。回転行列Rは3行3列の行列として表され、並進ベクトルTは3行1列の行列として表される。
Figure 2016070674
また、カメラ座標系から画像座標系への射影変換は、次の式(2)のように定義される。また、式(2)における行列Pは、式(3)のように表される。
Figure 2016070674
式(2)のhはスカラーとする。また、行列Pは、カメラキャリブレーションから求められる焦点距離および画角から計算される内部パラメータを示す。行列Pは、例えば、既知の大きさのマーカを既知の距離に設置した状態でマーカを撮像して得られる撮像画像から、あらかじめ求められる。
回転行列Rは、例えば、次のような手順で算出される。位置姿勢推定部112は、撮像画像におけるマーカ250の4つの頂点の座標から、マーカ250の4つの辺のうちの対向する辺l1,l2を示す式を求める。位置姿勢推定部112は、辺l1,l2を示す式と上記の式(2),式(3)とを用いて、辺l1とカメラの焦点とを通る面S1を表す式と、辺l2とカメラの焦点とを通る面S2を表す式とを算出する。
位置姿勢推定部112は、面S1,S2のそれぞれの法線ベクトルn1,n2の外積を計算することで、辺l1,l2を含む平面の方向ベクトル(単位ベクトル)V1を算出する。また、位置姿勢推定部112は、マーカ250の4つの辺のうちの他の辺l3,l4についても上記と同様の計算を行うことで、辺l3,l4を含む平面の方向ベクトル(単位ベクトル)V2を算出する。さらに、位置姿勢推定部112は、方向ベクトルV1,V2を含む平面に対して直交する方向ベクトル(単位ベクトル)V3を算出する。上記の回転行列Rは、R=[V123]として求められる。
また、並進ベクトルTは、例えば、次のような手順で算出される。上記手順で得られた回転行列Rと、撮像画像上のマーカ250の4つの頂点の座標とを上記の式(1),式(2)に代入することで、並進ベクトルT[t123Tにおけるt1,t2,t3に関する連立方程式が得られる。位置姿勢推定部112は、この連立方程式を最小二乗法によって解くことで、並進ベクトルT[t123Tを算出する。
なお、本実施の形態では、位置姿勢推定部112は、上記手順で求めた回転行列Rを、3次元の回転ベクトルrに変換する。変換方法としては、例えば、Rodriguesの公式と呼ばれる次の式(4)が用いられる。回転ベクトルr[r123]の方向が回転軸の方向を示し、回転ベクトルr[r123]の大きさが回転軸周りの回転量θを示す。
Figure 2016070674
図6は、位置姿勢情報テーブルの例を示す図である。図6に示す位置姿勢情報テーブル133は、位置姿勢推定部112によって記憶部130に記録される。位置姿勢情報テーブル133には、画像取得部111から位置姿勢推定部112に入力される撮像画像ごとにレコードが作成される。各レコードには、時刻、位置姿勢情報、マーカ座標情報および選択フラグが登録される。
時刻は、撮像画像の撮像時刻を示す。なお、時刻の代わりに、撮像画像を識別可能な他の情報が登録されてもよい。位置姿勢情報は、前述した手順で位置姿勢推定部112によって算出された並進ベクトルT[t123Tと回転ベクトルr[r123]の情報を示す。位置姿勢情報は、(t1,t2,t3,r1,r2,r3)という形式で登録される。マーカ座標情報は、撮像画像上のマーカ250の4つの頂点の座標を示す。選択フラグは、撮像画像が第1画像として選択されたか否かを示すフラグ情報である。選択フラグには、第1画像として選択された場合、“True”が登録され、第1画像として選択されなかった場合、“False”が登録される。
(2)特徴点の抽出処理
次に、特徴点抽出部113による特徴点の抽出処理および追跡処理の例について説明する。
特徴点抽出部113は、画像取得部111から入力される撮像画像から、例えばFAST(Features from Accelerated Segment Test)特徴抽出法により特徴点を複数抽出する。なお、特徴点の抽出法としてはこの方法に限らず、例えば、Harris特徴抽出法や、“Good Features To Track”と呼ばれる方法など、コーナーを特徴点とする方法を用いてもよく、あるいは、SIFT(Scale-Invariant Feature Transform)やSURF(Speeded Up Robust Features)に代表される局所特徴量を抽出する方法を用いてもよい。
また、特徴点抽出部113は、第1画像が選択された後、第1画像から抽出された特徴点が、その後に入力される撮像画像のどの位置に移動しているかを追跡する。特徴点抽出部113は、例えば、LK(Lucas-Kanade)オプティカルフローを用いた特徴点追跡を行う。LKオプティカルフローでは、一方の画像の小領域に類似する領域と、他方の画像におけるこの小領域と同じ領域の周囲から探索するものであり、その際に、画像間で移動する画素の画素値が一定であるという拘束条件を用いて計算を行う。
図7は、特徴点情報テーブルの例を示す図である。図7に示す特徴点情報テーブル134は、特徴点抽出部113によって記憶部130に記録される。
特徴点情報テーブル134には、第1画像から抽出された特徴点ごとにレコードが作成される。各レコードには、特徴点を識別する特徴点番号、特徴点の第1画像内の座標、特徴点の後続画像内の座標、および追跡フラグが登録される。後続画像とは、第1画像が選択された後に画像取得部111から特徴点抽出部113に入力される撮像画像である。
特徴点抽出部113は、第1画像が選択され、その第1画像から特徴点が抽出されると、抽出された各特徴点に対応するレコードを特徴点情報テーブル134に作成するとともに、各レコードに特徴点番号と第1画像内の座標を登録する。その後、特徴点抽出部113は、後続画像が入力されて特徴点の追跡が行われるたびに、各レコードにおける後続画像内の座標と追跡フラグとを更新する。第1画像内の特徴点に対応する特徴点が後続画像からも抽出された場合、特徴点抽出部113は、該当レコードの後続画像内の座標の欄に抽出された特徴点の座標を登録するとともに、対応する追跡フラグを“True”にする。一方、第1画像内の特徴点に対応する特徴点が後続画像から抽出されなかった場合、特徴点抽出部113は、該当レコードの後続画像内の座標の欄を空欄にするとともに、対応する追跡フラグを“False”にする。
(3)特徴点マップの作成処理
次に、3次元復元部115による特徴点マップの作成処理の例について説明する。特徴点マップの作成処理は、2つのカメラ間の基礎行列Fの算出、各カメラ間の透視投影行列Pprの算出、各対応特徴点についての3次元座標の算出および登録、という3段階の処理を含む。
まず、3次元復元部115は、次のような手順で基礎行列Fを算出する。3次元空間上のある点を、異なる位置にあるカメラから撮像した2つの撮像画像に投影したときの各撮像画像上の座標を、それぞれ(u,v),(u’,v’)とする。座標(u,v)と座標(u’,v’)は、次の式(5)を満たす。式(5)は、エピポーラ拘束と呼ばれる条件を示す。
Figure 2016070674
式(5)において、f11〜f13,f21〜f23,f31〜f33という9つの成分を含む3行3列の行列が、上記の基礎行列Fである。基礎行列Fの成分は9個であるが、基礎行列Fには定数倍の不定性が存在するため、実質的な未知数は8個となる。そのため、画像間で最低8個の対応特徴点が得られれば、基礎行列Fを決定することができる。3次元復元部115は、第1画像と後続画像とから抽出された8個の対応特徴点の各画像における座標から、例えば8点アルゴリズムと呼ばれる方法により、基礎行列Fを算出する。
次に、3次元復元部115は、次のような手順で透視投影行列Pprを算出する。ここで、行列Aをカメラの内部パラメータとする。この内部パラメータは、あらかじめ求めることができる。3次元復元部115は、算出された基礎行列Fと行列Aとを用いて、次の式(6)によってカメラ間の基本行列Eを算出する。
E=AFTA ・・・(6)
次に、3次元復元部115は、算出された基本行列Eを、次の式(7)を用いて特異値分解する。
E=UΣVT ・・・(7)
3次元復元部115は、得られた行列Uを用いて、次の式(8−1),式(8−2)から相対回転行列Rrを算出する。なお、相対回転行列Rrは、Rr1とRr2の2種類得られる。
Figure 2016070674
次に、tを行列Uの3行目の成分とすると、3次元復元部115は、透視投影行列Pprを次の式(9−1)〜式(9−4)によって4種類算出する。なお、行列(Rx|t)は、3行3列の行列Rxと行列tとを結合した3行4列の行列を意味する。
pr1=A(Rr1|t) ・・・(9−1)
pr2=A(Rr1|−t) ・・・(9−2)
pr3=A(Rr2|t) ・・・(9−3)
pr4=A(Rr2|−t) ・・・(9−4)
次に、3次元復元部115は、次のような手順で対応特徴点の3次元座標を算出する。上記の透視投影行列Pprの成分をp11〜p14,p21〜p24,p31〜p34と表すと、3次元復元部115は、次の式(10)で表される3次元座標(X,Y,Z)に関する連立方程式の最小二乗解を、透視投影行列Ppr1〜Ppr4のそれぞれについて解く。
Figure 2016070674
3次元復元部115は、復元済みの点がともにカメラの前方にあるという条件を用い、上記で得られた4種類の解から最適な1つの解を計算する。3次元復元部115は、このような計算をすべての対応特徴点について繰り返し、各対応特徴点の3次元座標を算出する。なお、このような手順で得られた3次元座標は、第1画像の撮像位置を基準とした3次元空間(カメラ座標系の空間)の座標であり、第1画像の撮像位置が原点となる。
3次元復元部115は、第1画像と第2画像との間の各対応特徴点の3次元座標を上記手順で算出し、特徴点マップ131に登録する。
次に、マップ作成部110の処理例について説明する。
<処理例1>
図8は、処理例1の手順を示すフローチャートである。図8の処理においては、ステップS11〜S14からステップS15〜S18に続く処理が、第1画像に関する処理に対応し、その後に実行されるステップS11〜S14,S19〜S22の処理が、第2画像を選択するための処理に対応する。
[ステップS11]画像取得部111は、カメラ108から撮像画像を取得し、位置姿勢推定部112および特徴点抽出部113に供給する。
[ステップS12]位置姿勢推定部112は、画像取得部111から入力された撮像画像からマーカ250を検出し、撮像画像におけるマーカの4つの頂点の座標を算出する。位置姿勢推定部112は、位置姿勢情報テーブル133に当該撮像画像に対応するレコードを作成し、時刻の項目に現在の時刻を登録するとともに、マーカ座標情報の項目に、算出された4つの頂点の座標を登録する。
なお、図示しないが、ステップS12で撮像画像からマーカが検出されなかった場合には、ステップS11に戻り、次の撮像画像を用いた処理が実行される。
[ステップS13]位置姿勢推定部112は、ステップS12で算出した4つの頂点の座標に基づいて、当該撮像画像の撮像位置および撮像姿勢を示す位置姿勢情報を算出する。位置姿勢情報の算出方法については、上記の(1)項において説明した通りである。位置姿勢推定部112は、位置姿勢情報テーブル133にステップS12で作成したレコードにおける位置姿勢情報の項目に、算出した位置姿勢情報を登録する。
[ステップS14]カメラ位置判定部114は、カメラ位置決定数が“0”であるか、“1”であるかを判定する。カメラ位置決定数とは、特徴点マップ131の作成に用いる画像の撮像位置が決定された数を示す変数であり、記憶部130に記憶される。また、カメラ位置決定数は、図8の処理の開始時に“0”にリセットされる。
カメラ位置決定数が“0”である場合には、第1画像と第2画像の両方とも選択されていない。この場合、ステップS15の処理が実行される。一方、カメラ位置決定数が“1”である場合、第1画像のみ決定済みである。この場合、ステップS19の処理が実行される。
[ステップS15]カメラ位置判定部114は、第1画像選択のためのユーザによる入力操作が行われたかを判定する。入力操作が行われた場合、ステップS16の処理が実行される。一方、入力操作が行われなかった場合、カメラ位置判定部114は、ステップS12で位置姿勢情報テーブル133に登録したレコードの選択フラグの項目に“False”を登録する。そして、ステップS11の処理が再度実行される。
[ステップS16]カメラ位置判定部114は、ステップS11で画像取得部111が取得した撮像画像を、第1画像として記憶部130に保存する。また、カメラ位置判定部114は、ステップS12で位置姿勢情報テーブル133に登録したレコードの選択フラグの項目に“True”を登録する。
[ステップS17]特徴点抽出部113は、保存された第1画像から特徴点を複数抽出する。特徴点の抽出方法については、上記の(2)項において説明した通りである。特徴点抽出部113は、抽出された特徴点それぞれに対応するレコードを特徴点情報テーブル134に作成し、各レコードに特徴点番号を割り振る。特徴点抽出部113は、各レコードにおける第1画像内の座標の項目に、対応する特徴点の座標を登録する。
[ステップS18]カメラ位置判定部114は、カメラ位置決定数を“1”インクリメントする。この後、ステップS11の処理が再度実行される。
以上の処理において、ステップS14でカメラ位置決定数が“0”であり、ステップS15でユーザ入力ありと判定された場合に、第1画像が選択される。また、第1画像に対応する位置姿勢情報が位置姿勢情報テーブル133の先頭レコードに登録されるとともに、第1画像内の特徴点の座標が特徴点情報テーブル134に登録される。
なお、図8の処理では、第1画像選択のためのユーザによる入力操作が行われたとき、その時点で取得されていた撮像画像が第1画像として選択される。しかし、第1画像の選択方法としては、入力操作を必要としない次のような方法がとられてもよい。例えば、カメラ位置判定部114は、撮像画像から所定のマーカが検出された場合に、その撮像画像を第1画像として選択してもよい。
次に、ステップS14でカメラ位置決定数が“1”であった場合、以下の処理が実行される。なお、ステップS14でカメラ位置決定数が“1”である場合、位置姿勢情報テーブル133には複数の撮像画像についての位置姿勢情報が登録された状態となっている。
[ステップS19]特徴点抽出部113は、特徴点情報テーブル134に登録された各特徴点を、画像取得部111から入力された撮像画像から追跡する。特徴点の追跡方法については、上記の(2)項において説明した通りである。
特徴点抽出部113は、特徴点情報テーブル134に登録された特徴点に対応する特徴点を撮像画像から抽出できた場合には、特徴点情報テーブル134における該当レコードの後続画像内の座標の項目に、撮像画像上の特徴点の座標を登録する。これとともに、特徴点抽出部113は、同じレコードの追跡フラグの項目に“True”を登録する。
一方、特徴点抽出部113は、特徴点情報テーブル134に登録された特徴点に対応する特徴点を撮像画像から抽出できなかった場合には、特徴点情報テーブル134における該当レコードの後続画像内の画像の項目を空欄のままにする(または“NULL”を登録する)。これとともに、特徴点抽出部113は、同じレコードの追跡フラグの項目に“False”を登録する。
[ステップS20]カメラ位置判定部114は、入力された撮像画像の撮像位置が前述した第2カメラ位置として適切かを判定するための信頼度sを算出する。後述するように、信頼度sは、第1画像の撮像時から撮像位置が十分移動したかを示す移動充足度と、十分な数の特徴点が追跡できているかを示す追跡成功度とに基づいて算出される。
[ステップS21]カメラ位置判定部114は、算出された信頼度sが所定の条件を満たすかを判定する。条件を満たす場合、ステップS22の処理が実行される。一方、条件を満たさない場合、カメラ位置判定部114は、特徴点情報テーブル134の後続画像内の座標および追跡フラグの各項目に登録された情報をすべて消去する。その後、ステップS11の処理が実行される。
[ステップS22]カメラ位置判定部114は、入力された撮像画像を、第2画像として記憶部130に保存する。
[ステップS23]3次元復元部115は、特徴点情報テーブル134において追跡フラグが“True”であるレコードを少なくとも8つ選択する。3次元復元部115は、選択した各レコードに対応する特徴点についての第1画像での座標と第2画像での座標から、各特徴点の3次元座標を算出する。特徴点の3次元座標の算出方法については、上記の(3)項で説明した通りである。
3次元復元部115は、算出した各特徴点の3次元座標を特徴点マップ131に登録する。これにより、特徴点マップ131が作成される。
ここで、ステップS20,S21での第2カメラ位置の判定処理の詳細について説明する。
図9は、処理例1における第2カメラ位置判定処理の手順を示すフローチャートである。図9において、ステップS101、S102の処理が図8のステップS20の処理に対応し、ステップS103の処理が図8のステップS21の処理に対応する。
[ステップS101]カメラ位置判定部114は、次の式(11)によりカメラ間距離dを算出する。
Figure 2016070674
式(11)において、tf=(tf1,tf2,tf3)は、第1画像から求められた位置姿勢情報の平行移動成分である。(tf1,tf2,tf3)は、位置姿勢情報テーブル133のレコードのうち、選択フラグが“True”であるレコードに登録された位置姿勢情報のうちの(t1,t2,t3)に対応する。また、ts=(ts1,ts2,ts3)は、入力された撮像画像から求められた位置姿勢情報の平行移動成分であり、位置姿勢情報テーブル133の最後尾レコードに登録された位置姿勢情報のうちの(t1,t2,t3)に対応する。
式(11)は、第1画像から算出された並進ベクトルと入力された撮像画像から算出された並進ベクトルとの間のユークリッド距離を求めるものである。換言すると、式(11)により、各画像の撮像位置間の3次元空間における距離が求められる。
[ステップS102]カメラ位置判定部114は、次の式(12)により信頼度sを算出する。
Figure 2016070674
式(12)において、min(x,y)は、x,yのうち小さい方の値を出力する演算を示す。Dは、基準カメラ間距離であり、理想的なカメラ間距離があらかじめ設定される。Niは、第1画像から抽出された特徴点の個数であり、特徴点情報テーブル134のレコード数に対応する。Ncは、入力された撮像画像から抽出された、第1画像内の特徴点に対応する対応特徴点の個数であり、特徴点情報テーブル134において追跡フラグが“True”であるレコード数に対応する。すなわち、Ncは、入力された撮像画像において追跡に成功した対応特徴点の個数である。
式(12)の右辺のうち、第1項は移動充足度を示し、第2項は追跡成功度を示す。
[ステップS103]カメラ位置判定部114は、信頼度sが所定のしきい値σ1より大きいかを判定する。信頼度sがしきい値σ1より大きい場合、入力された撮像画像の撮像位置は第2カメラ位置として適切であると判定され、図8のステップS22の処理が実行される。一方、信頼度sがしきい値σ1以下である場合、入力された撮像画像の撮像位置は第2カメラ位置として適切ではないと判定される。この場合、カメラ位置判定部114は、特徴点情報テーブル134の後続画像内の座標および追跡フラグの各項目に登録された情報をすべて消去する。その後、ステップS11の処理が実行される。
ここで、上記の式(12)における移動充足度の値は、理想的なカメラ間距離に対する現在のカメラ間距離の割合を示す。仮に、Nc=Niであったとすると、ステップS103の判定では、現在のカメラ間距離が基準カメラ間距離Dに基づく所定距離以上離れている場合に、現在の撮像位置が第2カメラ位置として適切であると判定される。
一般的に、特徴点マップ131を作成するための2画像の撮像位置が近づき過ぎていると、特徴点の3次元座標の算出精度が低下する。上記のような移動充足度に基づく判定が行われることで、第1画像の撮像位置から所定距離以上確実に離れた撮像位置で撮像された画像が、第2画像として選択される。これにより、特徴点の3次元座標の算出精度を高め、作成される特徴点マップ131の品質を向上させることができる。なお、基準カメラ間距離Dの値の例としては100mmを適用することができ、しきい値σ1の値の例としては0.9を適用することができる。
また、特徴点の3次元座標の算出精度を悪化させ得るカメラの移動動作として、パンニングと呼ばれる動作がある。パンニングは、カメラの移動動作に回転成分が多く含まれる場合の動作である。第1画像の選択時から第2画像の選択時までにパンニングが行われた場合、撮像される画像における被写体の変位が大きくなったとしても、カメラの3次元位置の変化が小さい場合があり、その場合には特徴点の3次元座標の算出精度が低下する。画像の選択の仕方に詳しくないユーザが入力操作によって第2画像を選択する場合、ユーザは、撮像された画像における被写体の動きが観察されたときに、パンニングが行われたにもかかわらず第2画像を選択してしまう可能性がある。上記のように移動充足度に基づいて第2画像が選択されることで、このようなケースの発生可能性を低減できる。
一方、特徴点マップ131の作成に適したカメラの移動動作としては、カメラの位置が対象物を中心として周回するような“ピボット”と呼ばれる動作がある。ピボットが行われた場合には、カメラの3次元座標の変位量が比較的大きくなる。上記のように移動充足度に基づいて第2画像が選択された場合には、ピボットが行われたときに第2画像が選択されやすくなる。
次に、上記の式(12)における追跡成功度の値は、第1画像から抽出された特徴点のうち、入力された撮像画像で追跡できた対応特徴点の数の割合を示す。選択された2画像間の対応特徴点の数が多いほど、各対応特徴点の3次元座標を精度よく算出できる。このため、追跡成功度が高いほど、第2画像としての信頼度が高いと判定することで、対応特徴点の3次元座標の算出精度を高めることができる。
ここで、追跡成功度を用いずに、移動充足度のみを用いた場合(すなわち、式(12)の右辺の第2項を含めない場合)でも、特徴点の3次元座標の算出精度を高める効果は得られる。ただし、移動充足度のみ用いた場合には、例えば、第1画像に写る被写体領域とその後の撮像画像に写る被写体領域との重複領域が小さく、ごく狭い被写体領域からしか対応特徴点が得られないケースが発生し得る。これに対して、式(12)のように移動充足度だけでなく追跡成功度も用いることで、このようなケースの発生可能性を低減することができる。
なお、追跡成功度を用いて判定する代わりに、第1画像から抽出された特徴点のうち、入力された撮像画像で追跡できた対応特徴点の数が所定のしきい値より大きいかを判定する方法を用いることもできる。この場合、しきい値としては8以上の値が用いられる。ただし、追跡成功度を用いた場合の方が、上記のように第1画像に写る被写体領域と第2画像に写る被写体領域との重複領域が大きくなるように第2画像を選択することができる。
<処理例2>
上記の処理例1では、基準カメラ間距離Dとして固定値が用いられていた。これに対して、処理例2では、基準カメラ間距離Dを、マーカ250と撮像位置との間の距離に応じて動的に変更可能にする。以下、処理例2について、処理例1と異なる部分についてのみ説明する。
図10は、処理例2における第2カメラ位置判定処理の手順を示すフローチャートである。図10の処理は、図9の処理におけるステップS101とステップS102との間にステップS111を追加したものである。なお、ステップS111は、ステップS101の前に追加されてもよい。
[ステップS111]カメラ位置判定部114は、次の式(13)により基準カメラ間距離Dを算出する。
Figure 2016070674
式(13)において、Zは、カメラ・マーカ間距離であり、入力された撮像画像から求められた並進ベクトルTの距離として算出される。drは、画素移動量の最適値であり、あらかじめ設定される。fは、カメラの焦点距離であり、あらかじめ設定される。Diniは、基準カメラ間距離の初期値であり、例えば、処理例1における基準カメラ間距離Dの設定値と同じ値が設定される。
図10のステップS102では、ステップS111で算出された基準カメラ間距離Dを用いて信頼度sが計算される。
ここで、処理例1のように基準カメラ間距離Dが固定値である場合、カメラと対象物との距離が近づいた際に第1画像と現画像との間で重複して撮像される領域が小さくなり、その結果、対応特徴点の個数が減少する可能性がある。これに対して、処理例2では、カメラ・マーカ間距離Zがある程度短くなった場合に、基準カメラ間距離Dが短くなり、処置例1の場合より撮像位置の移動量が短い場合でも第2画像が選択される。その結果、カメラと対象物との距離が近づき過ぎる前に第2画像が選択され、対応特徴点数の減少を抑制できる。
<処理例3>
第1画像が選択された後に前述したパンニングが行われた場合には、カメラ間距離dが0に近い値をとるため、時間が経過しても第2画像が選択されないという現象が発生し得る。そこで、処理例3では、パンニングに近いカメラの動きを検知して、ユーザにその旨を通知し、カメラ位置を大きく移動させるように促すことができるようにする。以下、処理例3について、処理例1と異なる部分についてのみ説明する。
図11は、処理例3における第2カメラ位置判定処理の手順を示すフローチャートである。図11の処理は、図9の処理にステップS121〜S124を追加したものである。なお、図10の処理にステップS121〜S124を追加することも可能である。
[ステップS121]カメラ位置判定部114は、マーカ間の相対距離Mdと、マーカ間の相対角度Maを算出する。
[ステップS122]カメラ位置判定部114は、算出された相対角度Maを用いて、相対角度の理論値αを算出する。
[ステップS123]カメラ位置判定部114は、マーカ間の相対角度Maとその理論値αとの差分がしきい値σ2未満かを判定する。差分がしきい値σ2の場合、パンニングが行われていないと判定されて、ステップS101の処理が実行される。一方、差分がしきい値σ2以上の場合、パンニングに近い動きが行われたと判定されて、ステップS124の処理が実行される。
[ステップS124]カメラ位置判定部114は、ユーザに対する通知情報を出力する。通知情報には、例えば、カメラの動かし方が適切でないこと、カメラの位置を移動させるように促すような内容などが含まれる。このような通知情報は、例えば、表示装置104に表示されるか、または、音声情報として出力される。この後、図8のステップS11の処理に戻る。
以下、図11の処理における計算方法の詳細について説明する。
図12は、パンニングが行われた場合のマーカとカメラとの位置関係を示す図である。図12では、カメラ108の位置が全く変化せず、カメラ108が撮像方向を軸として回転するという完全なパンニング動作が行われた場合を想定する。
位置250a,250bは、それぞれ第1画像および現画像の撮像時におけるカメラ108を中心としたマーカ250の相対位置を示す。すなわち、第1画像の撮像後にカメラ108の撮像方向が図12中の右回り方向に回転した場合、カメラ108に対するマーカ250の相対位置は位置250aから位置250bに変化する。マーカ間の相対距離Mdは、カメラ座標系における位置250aと位置250bとの距離を示す。マーカ間の相対角度Maは、カメラ108の位置から位置250aへの直線と、カメラ108の位置から位置205bへの直線との角度を示す。
カメラ位置判定部114は、第1画像から算出された位置姿勢情報と、入力された撮像画像から算出された位置姿勢情報とを用いて、相対距離Mdおよび相対角度Maを算出する。ここで、位置姿勢推定部112によって算出される位置姿勢情報(t1,t2,t3,r1,r2,r3)は、マーカ座標系における位置および姿勢を示す。このため、図12のような相対距離Mdおよび相対角度Maを算出するためには、算出された位置姿勢情報(t1,t2,t3,r1,r2,r3)をカメラ座標系の値に変換する必要がある。
下記の式(14)は、マーカ座標系における回転ベクトルrを回転行列R’に変換するための式である。この、式(14)による変換は“ロドリゲス変換”と呼ばれる。また、式(15)は、マーカ座標系における位置姿勢情報(t1,t2,t3,r1,r2,r3)を4行4列の姿勢行列Ppsに変換するための式である。
Figure 2016070674
カメラ108の位置を基準としたマーカ250の位置姿勢情報は、姿勢行列Ppsの逆行列にロドリゲス変換を施すことで得られる。ここで、第1画像の撮像位置を基準としたマーカ250の位置姿勢情報を(rmf,tmf)とし、入力された撮像画像(現画像)の撮像位置を基準としたマーカ250の位置姿勢情報を(rms,tms)とする。カメラ位置判定部114は、第1画像から得られた位置姿勢情報と、入力された撮像画像から得られた位置姿勢情報とを基に、次の式(16−1),(16−2)によって相対距離Mdおよび相対角度Maを算出する。
d=|tms−tmf| ・・・(16−1)
d=|rms−rmf| ・・・(16−2)
また、カメラ位置判定部114は、カメラ108の位置が全く変化せず、カメラ108の撮像方向のみが回転した場合の相対角度の理論値αを、次の式(17)によって算出する。
Figure 2016070674
上記のステップS123において、カメラ位置判定部114は、マーカ間の相対角度Maとその理論値αとの差分がしきい値σ2未満の場合には、パンニングが行われていないと判定して、第2画像選択のための処理を継続する。一方、カメラ位置判定部114は、差分がしきい値σ2以上の場合には、パンニングに近い動きが行われたと判定し、ユーザに対して撮像位置を移動するように促す。このような処理により、第2画像が選択されるまでの時間を短縮できる。
<処理例4>
処理例4では、第2画像だけでなく、第1画像についてもユーザに入力操作させずに自動的に選択可能にする。以下、処理例4について、処理例1〜3と異なる部分についてのみ説明する。
図13は、処理例4の手順を示すフローチャートである。図13の処理は、図8におけるステップS15〜S17をステップS131〜S135に置き換えたものである。
[ステップS131]カメラ位置判定部114は、画像取得部111から入力された画像が第1画像として適するかを判定するための判定指標を算出する。
[ステップS132]カメラ位置判定部114は、算出された判定指標が所定の条件を満たすかを判定する。判定指標が条件を満たす場合、ステップS133の処理が実行される。一方、判定指標が条件を満たさない場合、カメラ位置判定部114は、ステップS12で位置姿勢情報テーブル133に登録したレコードの選択フラグの項目に“False”を登録する。そして、ステップS11の処理が再度実行される。
ここで、ステップS13で算出される判定指標の例としては、次の判定指標I1〜I3を適用可能である。
(判定指標I1:位置姿勢差分の平均値)
判定指標I1は、過去の時刻の撮像画像の撮像位置から現在の時刻の撮像画像の撮像位置との移動量に基づいて、カメラ108の動きが静止状態に近いかを示す指標である。カメラ108が一定以上の速度で移動していると、算出される位置姿勢情報の誤差が大きくなる可能性がある。判定指標I1を用いることにより、カメラ108がほぼ静止状態にあると判定された場合に、入力された撮像画像が第1画像として適すると判定することができる。
判定指標I1は、現時刻の撮像画像の撮像位置と、過去の時刻の撮像画像の撮像位置との距離についての、過去の一定期間における平均値として算出される。現時刻の撮像画像の撮像位置と、過去の時刻の撮像画像の撮像位置との距離は、各撮像画像に基づく並進ベクトルTの間のベクトル間距離(ユークリッド距離)として求められる。判定指標I1が所定のしきい値σ11以下である場合、カメラ108はほぼ静止状態にあると判定される。
(判定指標I2:マーカのズレ量)
判定指標I2は、入力された撮像画像におけるマーカ250の位置が、撮像画像の中心からどれだけずれているかを示す指標である。撮像画像の周縁部付近にマーカ250が写っている場合、カメラ108の位置が動いていて、その後にマーカ250がフレームアウトしてしまう可能性が高くなり、第2画像を選択できる確率が低くなってしまう。また、周縁部付近にマーカ250が写っている撮像画像を第1画像として選択すると、その後に選択された第2画像との間で重複して写っている領域が小さくなる可能性も高まる。判定指標I2を用いることで、マーカ250の位置が撮像画像の中心に近い場合に、その撮像画像が第1画像に適すると判定することができる。
カメラ位置判定部114は、撮像画像におけるマーカ250の4頂点の座標から、撮像画像におけるマーカ250の重心の座標を算出する。そして、算出された重心の座標と、撮像画像の中心画素の座標との距離を、判定指標I2として算出する。判定指標I2が所定のしきい値σ12以下である場合、マーカ250は撮像画像の中心に近い位置に写っていると判定される。
(判定指標I3:マーカ面積)
判定指標I3は、入力された撮像画像に写っているマーカ250の面積を示す。撮像画像に写るマーカ250の面積が大き過ぎる場合、算出される位置姿勢情報の誤差が大きくなる可能性がある。また、マーカ250以外の領域から特徴点を抽出しにくくもなる。一方、撮像画像に写るマーカ250の面積が小さ過ぎる場合にも、算出される位置姿勢情報の誤差が大きくなる可能性がある。判定指標I3を用いることで、撮像画像上のマーカ250の面積が一定のレンジに含まれる場合に、その撮像画像が第1画像に適すると判定することができる。
判定指標I3は、撮像画像におけるマーカ250の4頂点の座標から算出される。判定指標I3が所定のしきい値σ13以上で、所定のしきい値σ14以下である場合(ただし、σ13<σ14)、マーカ250の面積が適切であると判定される。
ステップS131では、上記の判定指標I1〜I3のうちの1つのみが算出されてもよいし、2つ以上が算出されてもよい。2つ以上が算出される場合、ステップS132では、2つの判定指標に基づく判定結果がともに、撮像画像が第1画像に適することを示す場合に、条件を満たすと判定され、ステップS133に処理が進められる。例えば、判定指標I1〜I3がすべて用いられる場合、判定指標I1がしきい値σ11以下であり、判定指標I2がしきい値σ12以下であり、判定指標I3がしきい値σ13以上、しきい値σ14以下であるとき、条件を満たすと判定される。
[ステップS133]カメラ位置判定部114は、入力された撮像画像から特徴点を複数抽出する。特徴点の抽出方法については、上記の(2)項において説明した通りである。
[ステップS134]カメラ位置判定部114は、抽出された特徴点の数が所定のしきい値σ14以上であるかを判定する。前述のように、対応特徴点が8個以上存在しないと対応特徴点の3次元座標を算出できないことから、しきい値σ14は8以上に設定される。特徴点の数がしきい値σ14以上の場合、ステップS135の処理が実行される。一方、特徴点の数がしきい値σ14未満の場合、カメラ位置判定部114は、ステップS12で位置姿勢情報テーブル133に登録したレコードの選択フラグの項目に“False”を登録する。そして、ステップS11の処理が再度実行される。
[ステップS135]カメラ位置判定部114は、入力された撮像画像を、第1画像として記憶部130に保存する。また、カメラ位置判定部114は、ステップS12で位置姿勢情報テーブル133に登録したレコードの選択フラグの項目に“True”を登録する。さらに、カメラ位置判定部114は、ステップS133で抽出された特徴点それぞれに対応するレコードを特徴点情報テーブル134に作成し、各レコードに特徴点番号を割り振る。カメラ位置判定部114は、各レコードにおける第1画像内の座標の項目に、対応する特徴点の座標を登録する。その後、ステップS18の処理が実行される。
<処理例5>
処理例5では、すでに作成済みの特徴点マップ131に対して、新たに算出された特徴点の3次元座標を登録可能にする。以下、処理例5について、処理例1〜4と異なる部分についてのみ説明する。
図14は、処理例5の手順を示すフローチャートである。図13の処理は、図8におけるステップS23をステップS141,S142に置き換えたものである。なお、図8の代わりに、図13におけるステップS23をステップS141,S142に置き換えることも可能である。
[ステップS141]3次元復元部115は、図8のステップS23と同様の手順で、特徴点情報テーブル134において追跡フラグが“True”であるレコードにそれぞれ対応する特徴点の3次元座標を算出する。
[ステップS142]ステップS141で算出された特徴点の3次元座標は、直近に選択された第1画像の撮像位置を基準とした座標値となっている。一方、作成済みの特徴点マップ131に登録された3次元座標は、直近に選択されたものとは異なる第1画像の撮像位置を基準とした座標値となっている。すなわち、ステップS141で算出された特徴点の3次元座標と、作成済みの特徴点マップ131に登録された3次元座標は、異なる座標系における座標値である。このため、ステップS141で算出された特徴点の3次元座標を作成済みの特徴点マップ131に登録するためには、ステップS141で算出された座標値を座標変換する必要がある。
作成済みの特徴点マップ131に対応する第1画像に基づく位置姿勢情報を(tb,rb)とし、直近に選択された第1画像に基づく位置姿勢情報を(tc,rc)とする。前述の式(14),(15)を用いて、位置姿勢情報(tb,rb)および位置姿勢情報(tc,rc)のそれぞれについての4行4列の姿勢行列Pb,Pcが得られる。また、直近に選択された第1画像の撮像位置から見た、作成済みの特徴点マップ131に対応する第1画像の撮像位置の相対姿勢行列Prは、次の式(18)によって得られる。
r=Pc -1b ・・・(18)
ステップS141で算出された特徴点の3次元座標をXnとし、その座標変換後の3次元座標をXn’とすると、3次元復元部115は、次の式(19)によって座標変換後の3次元座標Xn’を算出する。
n’=Prn ・・・(19)
3次元復元部115は、このようにして変換された3次元座標を特徴点マップ131に登録する。これにより、特徴点マップ131内の3次元座標と新たに算出された3次元座標との整合をとることができる。
なお、上記の各実施の形態に示した装置(3次元座標算出装置1および端末装置100)の処理機能は、コンピュータによって実現することができる。その場合、各装置が有すべき機能の処理内容を記述したプログラムが提供され、そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記憶装置には、ハードディスク装置(HDD)、フレキシブルディスク(FD)、磁気テープなどがある。光ディスクには、DVD(Digital Versatile Disc)、DVD−RAM、CD−ROM(Compact Disc-Read Only Memory)、CD−R(Recordable)/RW(ReWritable)などがある。光磁気記録媒体には、MO(Magneto-Optical disk)などがある。
プログラムを流通させる場合には、例えば、そのプログラムが記録されたDVD、CD−ROMなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムまたはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、ネットワークを介して接続されたサーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
1 3次元座標算出装置
2 カメラ
11 特徴点マップ
12 画像選択部
13 座標算出部
21 対象物
22 マーカ
31〜34 撮像画像

Claims (8)

  1. カメラによって撮像された複数の撮像画像から第1の選択画像を選択し、前記第1の選択画像の後に前記カメラによって撮像された複数の後続画像の中から、前記第1の選択画像におけるマーカの位置を示す第1のマーカ位置情報を基に算出された前記第1の選択画像の撮像位置と前記複数の後続画像のそれぞれにおける前記マーカの位置を示す第2のマーカ位置情報を基に算出された前記複数の後続画像のそれぞれの撮像位置との間の撮像位置間距離と、前記第1の選択画像から抽出された特徴点と前記複数の後続画像のそれぞれから抽出された特徴点との間で対応する対応特徴点の数とに基づいて、第2の選択画像を選択する画像選択部と、
    複数の前記対応特徴点の3次元座標を、当該各対応特徴点の前記第1の選択画像および前記第2の選択画像のそれぞれにおける2次元座標に基づいて算出する座標算出部と、
    を有する3次元座標算出装置。
  2. 前記画像選択部は、前記複数の後続画像のうちの一の後続画像を前記第2の選択画像として選択するかを判定する際、前記一の後続画像に基づく前記第2のマーカ位置情報と前記第1の選択画像に基づく前記第1のマーカ位置情報とに基づいて前記一の後続画像の撮像位置と前記マーカとの間のカメラ−マーカ間距離を算出し、前記カメラ−マーカ間距離に基づいて距離しきい値を算出し、前記一の後続画像について算出された前記撮像位置間距離と前記距離しきい値との比較結果に基づいて、前記一の後続画像を前記第2の選択画像として選択するかを判定する、請求項1記載の3次元座標算出装置。
  3. 前記画像選択部は、前記第1の選択画像に基づく前記第1のマーカ位置情報と前記複数の後続画像のそれぞれに基づく前記第2のマーカ位置情報とに基づいて、前記第1の選択画像の撮像から前記複数の後続画像のそれぞれの撮像までに前記カメラの位置が変化せず、かつ前記カメラが撮像方向を軸として回転する動作が行われたかを評価する評価値を算出し、前記評価値が所定のしきい値より大きい場合には、前記複数の後続画像のうち当該評価値に対応する後続画像を前記第2の選択画像として選択しないと判定するとともに、撮像位置を移動させるようにユーザに通知する通知情報を出力する、
    請求項1または2記載の3次元座標算出装置。
  4. 前記画像選択部は、前記複数の撮像画像のうちの第1の撮像画像の撮像位置から、前記複数の撮像画像のうちの第2の撮像画像の撮像位置までの移動量に基づいて、前記第2の撮像画像を前記第1の選択画像として選択するかを判定する、請求項1〜3のいずれか1項に記載の3次元座標算出装置。
  5. 前記画像選択部は、前記複数の撮像画像のうちの第1の撮像画像における前記マーカの位置と、前記複数の撮像画像のうちの第2の撮像画像における前記マーカの位置とのズレ量に基づいて、前記第2の撮像画像を前記第1の選択画像として選択するかを判定する、請求項1〜3のいずれか1項に記載の3次元座標算出装置。
  6. 前記画像選択部は、前記複数の撮像画像のうちの一の撮像画像における前記マーカの面積に基づいて、前記一の撮像画像を前記第1の選択画像として選択するかを判定する、請求項1〜3のいずれか1項に記載の3次元座標算出装置。
  7. カメラによって撮像された複数の撮像画像から第1の選択画像を選択し、
    前記第1の選択画像の後に前記カメラによって撮像された複数の後続画像の中から、前記第1の選択画像におけるマーカの位置を示す第1のマーカ位置情報を基に算出された前記第1の選択画像の撮像位置と前記複数の後続画像のそれぞれにおける前記マーカの位置を示す第2のマーカ位置情報を基に算出された前記複数の後続画像のそれぞれの撮像位置との間の撮像位置間距離と、前記第1の選択画像から抽出された特徴点と前記複数の後続画像のそれぞれから抽出された特徴点との間で対応する対応特徴点の数とに基づいて、第2の選択画像を選択し、
    複数の前記対応特徴点の3次元座標を、当該各対応特徴点の前記第1の選択画像および前記第2の選択画像のそれぞれにおける2次元座標に基づいて算出する、
    3次元座標算出方法。
  8. コンピュータに、
    カメラによって撮像された複数の撮像画像から第1の選択画像を選択し、
    前記第1の選択画像の後に前記カメラによって撮像された複数の後続画像の中から、前記第1の選択画像におけるマーカの位置を示す第1のマーカ位置情報を基に算出された前記第1の選択画像の撮像位置と前記複数の後続画像のそれぞれにおける前記マーカの位置を示す第2のマーカ位置情報を基に算出された前記複数の後続画像のそれぞれの撮像位置との間の撮像位置間距離と、前記第1の選択画像から抽出された特徴点と前記複数の後続画像のそれぞれから抽出された特徴点との間で対応する対応特徴点の数とに基づいて、第2の選択画像を選択し、
    複数の前記対応特徴点の3次元座標を、当該各対応特徴点の前記第1の選択画像および前記第2の選択画像のそれぞれにおける2次元座標に基づいて算出する、
    処理を実行させる3次元座標算出プログラム。
JP2014196531A 2014-09-26 2014-09-26 3次元座標算出装置、3次元座標算出方法および3次元座標算出プログラム Expired - Fee Related JP6435750B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2014196531A JP6435750B2 (ja) 2014-09-26 2014-09-26 3次元座標算出装置、3次元座標算出方法および3次元座標算出プログラム
US14/845,493 US9892516B2 (en) 2014-09-26 2015-09-04 Three-dimensional coordinate computing apparatus, three-dimensional coordinate computing method, and non-transitory computer readable recording medium having therein program for three-dimensional coordinate computing
AU2015224418A AU2015224418B2 (en) 2014-09-26 2015-09-09 Three-dimensional coordinate computing apparatus, three-dimensional coordinate computing method, and non-transitory computer readable recording medium having therein program for three-dimensional coordinate computing
EP15184453.7A EP3001384B1 (en) 2014-09-26 2015-09-09 Three-dimensional coordinate computing apparatus, three-dimensional coordinate computing method, and program for three-dimensional coordinate computing

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014196531A JP6435750B2 (ja) 2014-09-26 2014-09-26 3次元座標算出装置、3次元座標算出方法および3次元座標算出プログラム

Publications (2)

Publication Number Publication Date
JP2016070674A true JP2016070674A (ja) 2016-05-09
JP6435750B2 JP6435750B2 (ja) 2018-12-12

Family

ID=54185837

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014196531A Expired - Fee Related JP6435750B2 (ja) 2014-09-26 2014-09-26 3次元座標算出装置、3次元座標算出方法および3次元座標算出プログラム

Country Status (4)

Country Link
US (1) US9892516B2 (ja)
EP (1) EP3001384B1 (ja)
JP (1) JP6435750B2 (ja)
AU (1) AU2015224418B2 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108413917A (zh) * 2018-03-15 2018-08-17 中国人民解放军国防科技大学 非接触式三维测量系统、非接触式三维测量方法及测量装置
JP2019536012A (ja) * 2016-10-26 2019-12-12 ザ・チャールズ・スターク・ドレイパ・ラボラトリー・インコーポレイテッド 可変コントラスト追跡残余を用いる視覚慣性ナビゲーション
WO2019234936A1 (ja) * 2018-06-08 2019-12-12 マクセル株式会社 携帯端末、カメラ位置推定システム、カメラ位置推定方法および標識板
JP2020082231A (ja) * 2018-11-19 2020-06-04 Dmg森精機株式会社 測定方法
JP7552468B2 (ja) 2021-03-23 2024-09-18 富士通株式会社 位置測定装置、位置測定方法、位置測定プログラム及び物流システム

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101665396B1 (ko) * 2015-01-08 2016-10-13 이주성 파일의 도면화 방법
KR102410300B1 (ko) * 2015-06-26 2022-06-20 한국전자통신연구원 스테레오 카메라를 이용한 카메라 위치 측정 장치 및 방법
US10109062B1 (en) * 2016-09-30 2018-10-23 Lucasfilm Entertainment Company Ltd. Non-coherent point tracking and solving for ambiguous images and geometry
US10489651B2 (en) * 2017-04-14 2019-11-26 Microsoft Technology Licensing, Llc Identifying a position of a marker in an environment
JP6885179B2 (ja) * 2017-04-20 2021-06-09 富士通株式会社 撮影装置、撮影制御プログラム、及び撮影管理システム
JP2019012359A (ja) * 2017-06-29 2019-01-24 キヤノン株式会社 情報処理装置、プログラム及び情報処理方法
US10650631B2 (en) 2017-07-28 2020-05-12 Hand Held Products, Inc. Systems and methods for processing a distorted image
CN109325978B (zh) 2017-07-31 2022-04-05 深圳市腾讯计算机系统有限公司 增强现实显示的方法、姿态信息的确定方法及装置
US11080880B2 (en) * 2017-08-25 2021-08-03 Maker Trading Pte Ltd Machine vision system and method for identifying locations of target elements
TWI699756B (zh) * 2017-09-13 2020-07-21 國立清華大學 基於彈性特徵影像尺的定位量測系統
JP6881188B2 (ja) * 2017-09-27 2021-06-02 オムロン株式会社 位置検出装置およびプログラム
CN111133474B (zh) * 2017-09-29 2023-09-19 日本电气方案创新株式会社 图像处理设备、图像处理方法和计算机可读记录介质
US10540823B2 (en) * 2018-02-20 2020-01-21 Beijing Jingdong Shangke Information Technology Co., Ltd. Method and apparatus for determining a planar surface
CN110555358B (zh) * 2018-06-01 2023-09-12 苹果公司 用于检测和识别ar/vr场景中的特征部的方法和设备
WO2020111139A1 (ja) 2018-11-29 2020-06-04 Necソリューションイノベータ株式会社 座標算出装置、座標算出方法、及びコンピュータ読み取り可能な記録媒体
US10949707B2 (en) * 2019-02-27 2021-03-16 Here Global B.V. Method, apparatus, and system for generating feature correspondence from camera geometry
JP2020197497A (ja) * 2019-06-05 2020-12-10 株式会社ソニー・インタラクティブエンタテインメント 三次元計測装置、三次元計測方法およびプログラム
US12087172B2 (en) * 2019-11-28 2024-09-10 Sony Group Corporation Image processing device and image processing method
JP7500238B2 (ja) * 2020-03-24 2024-06-17 キヤノン株式会社 情報処理装置、情報処理方法、およびプログラム
CN112556614B (zh) * 2020-09-30 2023-06-27 深圳中科飞测科技股份有限公司 转换关系的获取方法、测量方法及测量系统
US11645819B2 (en) 2021-03-11 2023-05-09 Quintar, Inc. Augmented reality system for viewing an event with mode based on crowd sourced images
US12003806B2 (en) * 2021-03-11 2024-06-04 Quintar, Inc. Augmented reality system for viewing an event with multiple coordinate systems and automatically generated model
US11527047B2 (en) 2021-03-11 2022-12-13 Quintar, Inc. Augmented reality system for viewing an event with distributed computing
US12028507B2 (en) * 2021-03-11 2024-07-02 Quintar, Inc. Augmented reality system with remote presentation including 3D graphics extending beyond frame
US11657578B2 (en) 2021-03-11 2023-05-23 Quintar, Inc. Registration for augmented reality system for viewing an event
CN114938425A (zh) * 2021-06-15 2022-08-23 义隆电子股份有限公司 摄影装置及其使用人工智能的物件识别方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005140547A (ja) * 2003-11-04 2005-06-02 3D Media Co Ltd 3次元計測方法、3次元計測装置、及びコンピュータプログラム
JP2006329747A (ja) * 2005-05-25 2006-12-07 Tokyo Institute Of Technology 画像撮影装置
US20130148851A1 (en) * 2011-12-12 2013-06-13 Canon Kabushiki Kaisha Key-frame selection for parallel tracking and mapping

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4532982B2 (ja) 2004-05-14 2010-08-25 キヤノン株式会社 配置情報推定方法および情報処理装置
JP5036260B2 (ja) 2006-09-14 2012-09-26 キヤノン株式会社 位置姿勢算出方法及び装置
JP2009048516A (ja) 2007-08-22 2009-03-05 Sony Corp 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
JP5012615B2 (ja) 2008-03-27 2012-08-29 ソニー株式会社 情報処理装置、および画像処理方法、並びにコンピュータ・プログラム
NL2008490C2 (nl) 2012-03-15 2013-09-18 Ooms Otto Bv Werkwijze, inrichting en computerprogramma voor het extraheren van informatie over een of meerdere ruimtelijke objecten.

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005140547A (ja) * 2003-11-04 2005-06-02 3D Media Co Ltd 3次元計測方法、3次元計測装置、及びコンピュータプログラム
JP2006329747A (ja) * 2005-05-25 2006-12-07 Tokyo Institute Of Technology 画像撮影装置
US20130148851A1 (en) * 2011-12-12 2013-06-13 Canon Kabushiki Kaisha Key-frame selection for parallel tracking and mapping
JP2013127783A (ja) * 2011-12-12 2013-06-27 Canon Inc 並列追跡及びマッピングのためのキーフレーム選択

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ANDREAS WENDEL 外4名: "Dense Reconstruction On-the-Fly", COMPUTER VISION AND PATTERN RECOGNITION (CVPR), 2012 IEEE CONFERENCE ON, JPN6018010698, June 2012 (2012-06-01), US, pages 1450 - 1457, XP032208758, ISSN: 0003767949, DOI: 10.1109/CVPR.2012.6247833 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019536012A (ja) * 2016-10-26 2019-12-12 ザ・チャールズ・スターク・ドレイパ・ラボラトリー・インコーポレイテッド 可変コントラスト追跡残余を用いる視覚慣性ナビゲーション
CN108413917A (zh) * 2018-03-15 2018-08-17 中国人民解放军国防科技大学 非接触式三维测量系统、非接触式三维测量方法及测量装置
CN108413917B (zh) * 2018-03-15 2020-08-07 中国人民解放军国防科技大学 非接触式三维测量系统、非接触式三维测量方法及测量装置
WO2019234936A1 (ja) * 2018-06-08 2019-12-12 マクセル株式会社 携帯端末、カメラ位置推定システム、カメラ位置推定方法および標識板
JPWO2019234936A1 (ja) * 2018-06-08 2021-02-25 マクセル株式会社 携帯端末、カメラ位置推定システム、カメラ位置推定方法および標識板
JP7041262B2 (ja) 2018-06-08 2022-03-23 マクセル株式会社 携帯端末、カメラ位置推定システム、カメラ位置推定方法および標識板
JP2020082231A (ja) * 2018-11-19 2020-06-04 Dmg森精機株式会社 測定方法
JP7552468B2 (ja) 2021-03-23 2024-09-18 富士通株式会社 位置測定装置、位置測定方法、位置測定プログラム及び物流システム

Also Published As

Publication number Publication date
AU2015224418B2 (en) 2016-08-11
AU2015224418A1 (en) 2016-04-14
EP3001384B1 (en) 2018-04-04
JP6435750B2 (ja) 2018-12-12
US20160093058A1 (en) 2016-03-31
EP3001384A1 (en) 2016-03-30
US9892516B2 (en) 2018-02-13

Similar Documents

Publication Publication Date Title
JP6435750B2 (ja) 3次元座標算出装置、3次元座標算出方法および3次元座標算出プログラム
JP6430064B2 (ja) データを位置合わせする方法及びシステム
JP5950973B2 (ja) フレームを選択する方法、装置、及びシステム
US10957068B2 (en) Information processing apparatus and method of controlling the same
JP6237326B2 (ja) 姿勢推定装置、姿勢推定方法及び姿勢推定用コンピュータプログラム
KR101532864B1 (ko) 모바일 디바이스들에 대한 평면 맵핑 및 트래킹
JP6842039B2 (ja) カメラ位置姿勢推定装置、方法およびプログラム
JP2019075082A (ja) 深度値推定を用いた映像処理方法及び装置
WO2016181687A1 (ja) 画像処理装置と画像処理方法およびプログラム
CN104981680A (zh) 相机辅助的运动方向和速度估计
KR20150079730A (ko) 컴퓨터 비전 기반 추적을 위해 멀티 맵들을 병합하는 시스템들 및 방법들
US20150310617A1 (en) Display control device and display control method
JP2004213332A (ja) キャリブレーション装置、キャリブレーション方法、キャリブレーション用プログラム、及び、キャリブレーション治具
US10861185B2 (en) Information processing apparatus and method of controlling the same
JP2007166427A (ja) 指標識別方法及び装置
US11488354B2 (en) Information processing apparatus and information processing method
JP2010282295A (ja) 画像処理装置、画像処理方法及びプログラム
JP2018113021A (ja) 情報処理装置およびその制御方法、プログラム
Petit et al. Combining complementary edge, keypoint and color features in model-based tracking for highly dynamic scenes
JP6196562B2 (ja) 被写体情報重畳装置、被写体情報重畳方法及びプログラム
JPWO2016208404A1 (ja) 情報処理装置および方法、並びにプログラム
JP2016136439A (ja) グラフマッチングおよびサイクル検出による自動モデル初期化を用いた線トラッキング
CN110163914B (zh) 基于视觉的定位
JP5878454B2 (ja) 推定装置、推定方法及びコンピュータプログラム
JP2001101419A (ja) 画像特徴追跡処理方法、画像特徴追跡処理装置、3次元データ作成方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170605

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180322

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180403

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180604

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181029

R150 Certificate of patent or registration of utility model

Ref document number: 6435750

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees