JP4956375B2 - 画像処理装置、画像処理方法 - Google Patents

画像処理装置、画像処理方法 Download PDF

Info

Publication number
JP4956375B2
JP4956375B2 JP2007282350A JP2007282350A JP4956375B2 JP 4956375 B2 JP4956375 B2 JP 4956375B2 JP 2007282350 A JP2007282350 A JP 2007282350A JP 2007282350 A JP2007282350 A JP 2007282350A JP 4956375 B2 JP4956375 B2 JP 4956375B2
Authority
JP
Japan
Prior art keywords
image
arrangement information
feature
dimensional arrangement
orientation
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
JP2007282350A
Other languages
English (en)
Other versions
JP2009110304A5 (ja
JP2009110304A (ja
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2007282350A priority Critical patent/JP4956375B2/ja
Priority to US12/257,260 priority patent/US9135513B2/en
Publication of JP2009110304A publication Critical patent/JP2009110304A/ja
Publication of JP2009110304A5 publication Critical patent/JP2009110304A5/ja
Application granted granted Critical
Publication of JP4956375B2 publication Critical patent/JP4956375B2/ja
Priority to US14/823,263 priority patent/US9767563B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/204Image signal generators using stereoscopic image cameras
    • H04N13/207Image signal generators using stereoscopic image cameras using a single 2D image sensor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/60Analysis of geometric attributes
    • 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
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/24Aligning, centring, orientation detection or correction of the image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10004Still image; Photographic image
    • G06T2207/10012Stereo images

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Signal Processing (AREA)
  • Geometry (AREA)
  • Image Analysis (AREA)
  • Processing Or Creating Images (AREA)

Description

本発明は、撮像装置の位置姿勢を、この撮像装置が撮像した画像を用いて求めるための技術に関するものである。
空間中を移動する現実物体をカメラによって撮像し、幾何的な形状や色などの特徴(幾何特徴と呼ぶ)の画像上における投影像(画像特徴と呼ぶ)の位置を検出することで、空間中における現実物体の位置や姿勢を計測することが行われている。また、空間中の幾何特徴を撮影することで、撮影しているカメラの空間中での位置や姿勢を推定することが行われている。このような位置姿勢計測方法においては、画像に写り込む幾何特徴の夫々の3次元配置情報(以後、特徴配置情報、もしくは省略して配置情報と呼ぶ)をあらかじめ用意する必要がある。
単純に、現実空間中で夫々の幾何特徴の配置情報を、測定器や定規で測定する方法が考えられる。しかし、計測の手間がかかる、若しくは計測精度が低い等の理由により、実施が困難な場合があった。これを解決するために、例えば、非特許文献1では、位置姿勢が既知である複数のカメラからの画像から検出した画像特徴の座標に基づいて、空間中における幾何特徴の配置情報を自動的に算出している。
また、マッチムーブ技術と言われる、カメラを移動させながら撮影することで得られる動画像中の画像特徴に基づいてカメラの移動経路を生成する手法(従来技術1と呼ぶ)がある。従来技術1では、画像上の複数の特徴的な点などを動画像上で追跡することにより、自動的に特徴配置情報を得ている。しかし、従来技術1などでは、空間中で動く物体などが自動的に抽出され、追跡された場合、適切なカメラ移動経路が生成できないという課題があった。この課題を解決するために、カメラ移動経路の生成に障害となる画像特徴を手動で選択するユーザーインターフェースが提供されている。例えば、撮像した静止画像上で、追跡しない画像特徴を含むような2次元閉領域を指定し、指定領域内の画像特徴を追跡させないというインターフェースが利用されている。
Bolan Jiang, Ulrich Neumann. "Extendible Tracking by Line Auto-Calibration," isar, IEEE and ACM International Symposium on Augmented Reality (ISAR'01), p.p. 97-106, 2001.
非特許文献1に開示の方法によって配置情報を自動的に生成する場合、誤差が大きい配置情報が登録される場合がある。また、配置情報が正しく生成できてもカメラ位置姿勢を推定するための情報として好ましくない配置情報が登録される場合がある。例えば、空間中に動く物体が存在する場合に、その物体上の幾何情報を登録してしまうと、カメラ位置姿勢を求める基準とする幾何特徴が基準座標系から動いてしまう。そのため、カメラ位置姿勢の推定値がその物体による影響を受けてしまい、誤差が生じてしまう。また、ブラインドや床の模様などのように識別性の低い繰り返しパターンのような幾何特徴が登録されてしまうと、画像特徴を誤識別する可能性が高くなり、カメラ位置姿勢の推定精度が低下する。また、不必要な幾何特徴が増加すると、処理速度の低下を招く恐れがある。
また、従来技術1において、除去したい物体や領域が動画像において連続して撮像されている場合には、動画像中の複数の静止画(キーフレーム)上で領域を指定すれば、選択領域を画像間で補間し、動画像における追跡対象から除去することができる。しかし、選択領域が一旦画像からフレームアウトしてしまうと、領域を再度選択する必要があり、作業効率が悪くなる場合があった。
本発明は以上の問題に鑑みてなされたものであり、より効率良く、撮像装置の位置姿勢を求めるための技術を提供することを目的とする。
本発明の目的、例えば、以下の画像処理装置によって達成される
即ち、撮像装置によって撮像した撮像画像を入力する画像入力手段と、
前記撮像画像から検出された特徴の画像座標を入力する特徴入力手段と、
前記検出された特徴の画像座標を現実空間における3次元配置へと逆投影する逆投影手段と、
前記撮像画像をユーザに提示する制御を行う提示制御手段と、
前記逆投影された3次元配置のうち、前記撮像画像を提示されたユーザによって指示された3次元配置を、無効3次元配置として設定する無効設定手段と、
前記撮像画像における特徴のうち、前記無効3次元配置に対応する特徴以外の特徴を用いて、前記撮像装置の位置姿勢を推定する推定手段と
を備えることを特徴とする画像処理装置。
本発明の目的、例えば、以下の画像処理方法によって達成される
即ち、画像処理装置が行う画像処理方法であって、
前記画像処理装置の画像入力手段が、撮像装置によって撮像した撮像画像を入力する画像入力工程と、
前記画像処理装置の特徴入力手段が、前記撮像画像から検出された特徴の画像座標を入力する特徴入力工程と、
前記画像処理装置の逆投影手段が、前記検出された特徴の画像座標を現実空間における3次元配置へと逆投影する逆投影工程と、
前記画像処理装置の提示制御手段が、前記撮像画像をユーザに提示する制御を行う提示制御工程と、
前記画像処理装置の無効設定手段が、前記逆投影された3次元配置のうち、前記撮像画像を提示されたユーザによって指示された3次元配置を、無効3次元配置として設定する無効設定工程と、
前記画像処理装置の推定手段が、前記撮像画像における特徴のうち、前記無効3次元配置に対応する特徴以外の特徴を用いて、前記撮像装置の位置姿勢を推定する推定工程と
を有することを特徴とする画像処理方法。
本発明の構成により、より効率良く、撮像装置の位置姿勢を求めることができる。
以下、添付図面を参照し、本発明の好適な実施形態について説明する。なお、以下説明する実施形態は、本発明を具体的に実施した場合の一例を示すもので、特許請求の範囲に記載の構成の具体的な実施例の1つである。
先ずは、以下に説明する実施形態の特徴と目的を明瞭に述べるために、以下に2つの従来技術を示し、それぞれについて説明する。
<従来技術1>
図2は、動画像に対して上記従来技術1として説明したマッチムーブ技術を用いて各フレームにおけるカメラの位置姿勢を推定する装置の機能構成を示すブロック図である。
図2に示す如く、現実空間中には、現実物体としての机100Aが配置されている。そして係る現実空間では、動画像を撮像するビデオカメラ(以下、単にカメラと呼称する)110が自由に移動する。カメラ110が撮像した動画像は、画像入力部120を介して動画像記憶部210に格納される。
以降の処理は、特に指定しない限りは、動画像記憶部210に記録されている動画像(静止画の集合)に対する処理とする。
次に、動画像入力部220は、処理対象としての動画像を動画像記憶部210から読み出す。そして読み出した動画像を後段の画像特徴検出部130Bに送出する。
画像特徴検出部130Bは、動画像を構成する各フレームにおける画像特徴(机100Aの角点や机100Aの脚の設置点などの幾何特徴の、撮像画像上における投影像)を検出する。
画像特徴記憶部230には、画像特徴検出部130Bによって検出された画像特徴の画像座標が、フレーム毎に記録される。画像特徴検出部130Bは、例えば、Harrisオペレータと呼ばれる、画像上における物体の角を検出する公知の画像処理技術を用いて、連続フレーム間で対応付け可能な画像特徴を検出すればよい。
そして表示部250には、動画像記憶部210内のフレーム画像上における、係るフレーム画像から検出して画像特徴記憶部230に格納した画像座標に、この画像座標において検出された画像特徴を表す表示を合成した結果(合成画像)を表示する。そして、表示部250に対して、係る合成画像を表示させることによって、正常なカメラ移動経路が生成できるか否かをユーザに判断させることができる。
ここで、現実空間中を移動する物体(動物体)が動画像中に撮影されている場合は、ユーザが画像特徴選択入力部225を操作し、この動物体上の画像特徴をフレーム画像から除去する必要がある。除去する方法としては、例えば、除去したい画像特徴が含まれているフレーム画像を検索し、検索したフレーム画像上で係る画像特徴の領域を除去対象として指定すればよい。除去する領域の指定方法は、例えば、除去する領域を含む全てのフレーム画像について、除去対象の領域を囲むような多角形領域を設定すればよい。これにより、多角形領域内の画像特徴をフレーム画像から除去することができるし、除去した画像特徴の画像座標を画像特徴記憶部230から削除することができる。
撮像手段位置姿勢推定部240は、画像特徴記憶部230内に残っている画像座標を追跡する。次に、撮像手段位置姿勢推定部240は、追跡した夫々の画像特徴に対応する、現実空間中の幾何特徴の3次元位置(配置情報)と、カメラ110の移動経路と、をバンドル調整法と呼ばれる公知の手法を用いて算出する。バンドル調整法では、推定した幾何特徴の3次元位置を撮像面に投影した位置と、実際に検出された画像特徴の画像座標との差が最小になるように、幾何特徴の3次元位置とカメラ110の位置姿勢の最適化が行われる。
そして、このようにして得られたカメラ110の移動経路の3次元位置姿勢を表示部250に表示し、ユーザは結果を確認する。
このような従来技術1を用いると、未知の画像特徴であっても自動的に配置情報を生成することができる。しかし、推定誤差を招く画像特徴をフレーム画像から除去する方法としては、2次元画像内で画像特徴を2次元的に選択する方法しか備えていない。そのため、前述したように、注目する物体がフレームアウトすると、再度フレームインしたときに追跡されるのであるが、この場合、再度除去する画像特徴の領域を指定する必要があるために、手間がかかっていた。
<従来技術2>
図3は、非特許文献1で開示されている、未知の幾何特徴の配置情報を自動的に生成すると共に、カメラ110の位置姿勢をも推定する、装置の機能構成を示すブロック図である。図3において、図2と同じ部分には同じ参照番号を付している。
図3においても、現実空間中には机100Aが配置されているが、更に、係る机100Aの上には、マーカ100Dが配置されている。図3の例では、マーカ100Dは、非特許文献1に開示されているように、予め配置情報が既知の正方形形状のマーカである。係るマーカ100Dには、例えば、非特許文献2に示されているマーカを利用してもよい。非特許文献2とは、加藤ら:”マーカー追跡に基づく拡張現実感システムとそのキャリブレーション”, 日本VR 学会論文誌, Vol.4, No.4,pp.607-616 (1999)である。
カメラ110は係る現実空間の動画像を撮像し、撮像した各フレームにおける画像(フレーム画像)は順次、画像入力部120を介して画像特徴検出部130C、表示部190に送出される。以降の処理は、特に指定しない限り、1フレーム毎のフレーム画像に対する処理である。
画像特徴検出部130Cは、画像入力部120から入力されたフレーム画像に対して二値化処理を行い、二値画像を生成する。そして画像特徴検出部130Cは、この生成した二値画像から、マーカ100Dを検出する処理を行う。また、画像特徴検出部130Cは、机100A等の稜線や色変化による線分も検出する。なお、マーカ100Dの検出については、例えば、非特許文献2に開示されているような方法を用いて行えばよい。即ち、二値画像から四角形形状領域を検出し、検出した四角形形状領域の内部のパターンに基づいて、マーカ100Dであることが認識されればよい。また、線特徴に関しては、画像特徴検出部130Cが、フレーム画像から線分を抽出し、2つの端点の画像座標を配置情報生成部140に記録する(このフレーム画像上の2点を結ぶ線分を線特徴と呼ぶ)。ただし、端点のうち少なくとも1つがフレーム画像の端にある場合、即ち、線特徴の幾何情報が画面内に収まっていない場合は、線特徴として記録しないものとする。マーカ100Dと線特徴とを表す画像座標は、配置情報生成部140に記録される。
配置情報生成部140は、カメラ110の初期位置姿勢を求めるために、マーカ100Dの画像座標を撮像手段位置姿勢推定部185に出力する。
撮像手段位置姿勢推定部185は先ず、配置情報生成部140から入力されたマーカ100Dの画像座標と、配置情報記憶部310にあらかじめ格納されている「マーカ100Dの配置情報」と、に基づいて、カメラ110の位置姿勢を求める。カメラ110とマーカ100Dとの相対位置姿勢は、非特許文献2に開示されているように、公知の非線形最適化演算によって求めることができる。即ち、マーカ100Dを検出したときの4頂点の画像座標と、マーカ100Dの4頂点の配置情報を撮像面に投影した場合の画像座標と、の誤差が最小になるようなカメラ110の位置姿勢を、非線形最適化の繰り返しによって求めればよい。このような処理を、投影誤差の非線形最適化と呼ぶ。このような投影誤差の非線形最適化を行うためには、初期値としてのカメラ110の位置姿勢が必要となる。この初期値としては、例えば、前フレームにおける処理によって推定したカメラ110の位置姿勢を利用すればよい。また、マーカ100Dの配置情報は、現実空間における基準座標系で記述されているため、座標変換を行うことにより、撮像手段位置姿勢推定部185は、基準座標系におけるカメラ110の位置姿勢を求めることができる。
配置情報生成部140は次に、撮像手段位置姿勢推定部185が求めたカメラ110の位置姿勢を、撮像手段位置姿勢推定部185から取得する。そして配置情報生成部140は、カメラ110の位置と撮像面における線特徴の2点とを含む基準座標系における平面(線候補面と呼ぶ)を求め、求めた平面を示すデータを保持しておく。更に、配置情報生成部140は、現フレームにおけるフレーム画像中の線分と同一の線分を含み、且つ現フレームにおけるカメラ110の位置姿勢との差が閾値以上になるような視点から生成された過去のフレーム画像における線候補面を1つ以上参照する。そして、複数の線候補面の交線に基づいて、線特徴の配置情報を生成する。このような線特徴の生成処理の詳細については、非特許文献1に開示がある。
このように、配置情報生成部140は、線特徴を含むフレーム画像から、係る線特徴の配置情報を生成することができる。そしてこのような処理により、線特徴の配置情報が未知であったとしても、過去の情報を用いることにより、未知の線特徴の配置情報を生成することができる。
配置情報生成部140によって生成された未知の線特徴の配置情報は、配置情報記憶部310に格納する。配置情報記憶部310に格納したこの配置情報は、撮像手段位置姿勢推定部185が次のフレームにおけるフレーム画像に基づいてカメラ110の位置姿勢を求めるために用いられる。
撮像手段位置姿勢推定部185において、線特徴のみからカメラ110の位置姿勢を推定する方法は、マーカ100Dの投影誤差の非線形最適化と同様にすれば良い。即ち、線特徴の配置情報を投影した場合の画像座標と、フレーム画像上の線特徴との距離が最小になるように、カメラ110の位置姿勢を更新すればよい。なお、マーカ100Dがフレーム画像上で検出されている場合、線特徴は利用しなくてもよいし、マーカ100Dと線特徴とを組み合わせてカメラ110の位置姿勢を推定してもよい。
表示部190は、画像入力部120を介して入力されたフレーム画像上の、撮像手段位置姿勢推定部185によって得られたカメラ110の位置姿勢に基づいた位置に、線特徴を模したエッジモデルを合成して表示する。そして、ユーザが表示部190による表示を確認することで、どの線特徴が利用されているのかを確認してもよい。
このように、非特許文献1に開示の方法では、あらかじめ登録されていない線特徴を、カメラの位置姿勢推定のための情報として利用することができる。これは、線特徴の配置情報をあらかじめ入力しておく必要がないので、手間の軽減につながる。しかし、自動登録される線特徴は、マーカなどの既知の情報から距離が離れるにつれて蓄積する誤差や、撮影時の誤検出により、誤差を含んだ配置情報が登録される場合がある。非特許文献1に開示の方法では、誤差を含んだ配置情報を排除する方法を有していない。そのため、誤差を含む配置情報を用いてカメラ110の位置姿勢を推定すると、その推定の精度が低下することになる。
[第1の実施形態]
<従来技術1>では、マッチムーブ技術において、画像上で2次元領域を指定して画像特徴を選択するためには、画像上で注目物体がフレームアウトすると係る注目物体に対する選択を再度行う、という手間があることを示した。また、<従来技術2>では、誤差を含む配置情報や誤識別を招く配置情報を排除することができないために、カメラの位置姿勢の推定精度が低下したり、不必要な配置情報を処理することにより処理速度が低下する、という恐れがあることを示した。
本実施形態では、カメラから入力された撮像画像に基づいて、現実空間中に存在する幾何特徴の配置情報を自動的に取得する。さらに、本実施形態では、カメラの位置姿勢を推定する為に十分な幾何特徴を選定する為のインターフェースを表示し、係るユーザインターフェースに対するユーザ操作を受け付ける。
ここで、「選定する」とは、カメラの位置姿勢を推定する為に利用する特定の幾何特徴についての情報を、ユーザ操作に応じて有効化したり無効化したりすることを指す。この選定により、推定精度が低下する可能性を軽減させたり、処理速度の低下を軽減させることができる。
また、カメラの位置姿勢を推定するために用いる幾何特徴をユーザが選定すると、選定した幾何特徴を用いてすぐにカメラの位置姿勢を推定する処理を行い、推定した結果を表示などの手段でもってユーザに通知する。これにより、本実施形態を適用可能な夫々の現場に適したカメラ位置姿勢推定処理に調整できるという効果もある。
なお、以降では、幾何特徴を選定することを、場合に応じて幾何特徴の配置情報を選定すると言い換える。
図1は、本実施形態に係るシステムの機能構成を示すブロック図である。図1に示す如く本実施形態に係るシステムは、ユーザ105の頭部に装着するヘッドマウントディスプレイ(HMD)115、HMD115に取り付けられるカメラ110、ユーザ105が手で操作する操作入力装置117、画像処理装置199を有する。
以下、本実施形態に係るシステムを構成する上記各部について説明する。
ユーザ105の頭部にはHMD115が装着されており、更に、ユーザ105の目(視点)の位置にできるだけ近い位置にカメラ110が、HMD115に対して取り付けられている。
HMD115は周知の如く、これを頭部に装着した観察者の眼前に表示画面が位置するように係る表示画面が取り付けられた装置である。本実施形態の場合、画像処理装置199から送出された画像信号に基づいた画像を表示する。係る画像については後述する。
カメラ110は、現実空間の動画像を撮像するもので、撮像した各フレームの画像(フレーム画像、撮像画像)は画像信号として画像処理装置199に入力される。
現実空間中には上述の机100Aが配されていると共に、係る机100Aの上には上述のマーカ100Dが配されている。更に、本実施形態では、机100Aの上には、黒色のマーカ100C(重心特徴と呼ぶ)が配されている。なお、正方形のマーカ100Dの配置情報(基準座標系におけるマーカ100Dの位置姿勢)は、既知であるとし、マーカ100Dの既知の配置情報は、予め配置情報記憶部160に格納されているものとする。
なお、図1では、現実空間中にはマーカ100Dは1つのみしか配置されていないし、本実施形態でもマーカ100Dは1つのみ配置されているものとして説明する。しかし、マーカ100Dの数は1に限定するものではなく、非特許文献2に開示されているように、複数個のマーカ100Dを現実空間中に配置させても良い。複数個のマーカ100Dを現実空間中に配置させる場合には、それぞれのマーカ100Dに記されているパターンは、個々のマーカ100D毎に異なる。
更に、本実施形態ではマーカ100Dの形状を正方形とするが、係る形状に限定するものではなく、マーカ100Dとカメラ110との相対位置姿勢が算出できる形状であれば、三角形、長方形、五角形、六角形などの多角形でもよい。
図4は、カメラ110が撮像したあるフレームにおける撮像画像の一例を示す図である。現実空間中には、机100Aの他に、窓420、ドア枠430、識別性の低い繰り返しパターンのような幾何特徴として登録される可能性のある床の模様450、動く可能性があるドア440やカーテン410等が存在する。
図1に戻って、操作入力装置117は、ユーザ105が操作入力を行うために使用する操作入力インターフェースとして機能するものである。本実施形態では、操作入力装置117は、マウスとキーボードとで構成されているものとするが、ジョイスティックやゲームパッド等、複数種の操作入力を可能とするものであれば、如何なるものを操作入力装置117に適用しても良い。
次に、画像処理装置199を構成する各部について説明する。
画像入力部120は、カメラ110から送出される各フレームの撮像画像を受信すると、これを順次画像記憶部150、画像特徴検出部130に送出する。
画像特徴検出部130は、画像入力部120から撮像画像を受けると、係る撮像画像中に映っている幾何特徴の像(画像特徴)を検出する。ここで、画像特徴を検出するということは即ち、撮像画像上における画像特徴の画像座標を求める(計算する)ことに等価である。
より詳しくは、画像特徴検出部130は、点特徴、線特徴、マーカ100D、重心特徴100Cを、画像特徴として検出する。
点特徴、線特徴、マーカ100Dの画像座標を求める方法については周知の通りである。また、重心特徴の画像座標を求める方法については、例えば、撮像画像から特定色を有する領域をラベリングし、同じ領域にラベリングされた領域の重心点の画像座標を、重心特徴の画像座標として求める。
そして配置情報生成部140は、<従来技術2>で挙げた非特許文献1に開示の配置情報生成部140と同様にして、未知の幾何特徴の配置情報を生成する。
そして配置情報生成部140は、未知の幾何特徴の配置情報を、配置情報記憶部160に格納する。
ここで、以下に、未知の幾何特徴の配置情報を求める為の処理について、より詳細に説明する。
先ず、線特徴については、非特許文献1に開示の方法を用いて生成する。即ち、配置情報が既知の幾何特徴(本実施形態ではマーカ100D)が撮像画像上で画像特徴として検出されると、既知の幾何特徴の配置情報と、係る幾何特徴の像(画像特徴)の画像座標とから、カメラ110の位置姿勢が推定される。係る推定は、撮像手段位置姿勢推定部185によって行われる。
そして撮像手段位置姿勢推定部185は、そのときの撮像画像中における線特徴の画像座標(端点の座標)と、推定されたカメラ110の位置姿勢とを対応付け、ある幾何特徴の画像特徴データセットとして配置情報生成部140内に格納する。
配置情報生成部140は、自身に格納されているそれぞれの画像特徴データセット内のカメラ位置を参照する。そして、画像特徴データセットX内のカメラ位置と、画像特徴データセットY内のカメラ位置との間の距離が閾値以上となるような画像特徴データセットX、Yが存在するか否かをチェックする。そして係るチェックの結果、画像特徴データセットX、Yに相当する2組の画像特徴データセットが配置情報生成部140内に格納されている場合、配置情報生成部140は次のように動作する。即ち、基準とする画像特徴データセット(X)とより最近に格納された画像特徴データセット(Y)のそれぞれから、投影線を定義する。この投影線を、図20を用いて説明する。
図20は、2つの画像特徴データセットから、投影線を求めるための処理を説明する図である。
図20において撮像画像2015上で検出された線特徴2027の投影線は、カメラ位置2005と、線特徴2027の端点2030と端点2025との中点2035と、を通る直線2075とする。同様に、カメラ位置2010においても投影線として直線2080を求める。次に、注目する2つの画像特徴データセットにおける投影線としての直線2075、2080が、撮像されている領域内において交差するかどうかを判定する。このとき、交差したと判定するための距離の閾値を設けておいてもよい。交差しないと判断された場合は、幾何特徴の配置情報を生成しない。一方、交差していると判断された場合は、2つの画像特徴データセットにおける線特徴が同一の特徴であると判断し、それぞれ、線特徴の端点とカメラ位置の3点を含む平面を算出する。このようにして得た2つの平面の交線のうち、基準とする画像特徴データセットの撮像画像上における端点2025、2030を線上に逆投影したときの端点の3次元位置を線特徴の配置情報とする。
また、点特徴および重心特徴に関しても、非特許文献1と同様の方法により、未知の点(点特徴と重心特徴)であっても配置情報を得ることが可能である。すなわち、基準とする画像特徴データセットの投影線を求め、さらに、カメラ位置間の距離が閾値以上の画像特徴データセットが新たに格納された場合は、投影線との交差を判定する。交差する場合は、交差する点を未知の点の配置情報とすればよい。
また、マーカ100Dの配置情報を生成する方法は、Gregory Baratoff, Alexander Neubeck, Holger Regenbrecht. "Interactive Multi-Marker Calibration for Augmented Reality Applications," ISMAR, Proc. International Symposium on Mixed and Augmented Reality (ISMAR'02), pp.107-116, 2002.に開示の方法を用いればよい。すなわち、カメラ110の位置姿勢が得られている状態でマーカ100Dを検出することで、カメラ110とマーカ100Dとの相対位置姿勢を座標変換し、基準座標系におけるマーカ100Dの配置情報を生成すればよい。しかし、既知の幾何特徴としてマーカ100Dをあらかじめ登録することに限定するものではなく、カメラ110の位置姿勢を推定可能な最低限の幾何特徴の配置情報が登録されていればよい。ただし、この場合は、「既知の幾何特徴を撮像可能なカメラ110」の位置姿勢を、あらかじめ初期位置姿勢として決定しておく必要がある。さらに、カメラ位置姿勢の推定を始める直前に、あらかじめ決めた初期位置姿勢の近くにカメラ110を配置する必要がある。
なお、配置情報生成部140は、直前のフレームにおいてカメラ110の位置姿勢の推定が成功したか否かを示す推定不可状態変数と、前述した画像特徴データセットを記憶保持するためのメモリを有する。若しくは、係るメモリを配置情報生成部140の外部に設け、配置情報生成部140は、係るメモリに対するデータの読み書きを管理する。
配置情報記憶部160は、配置情報生成部140が生成した配置情報を含む特徴配置情報を格納する。配置情報記憶部160は、配置情報生成部140が配置情報を生成する度に、この生成した配置情報を含む特徴配置情報を格納する。従って、配置情報記憶部160には、配置情報の生成順にこの配置情報を含む特徴配置情報が格納されていることになる。
なお、点特徴については点の3次元位置、重心特徴については重心点の3次元位置、線特徴については、線分の端点としての2点の3次元位置、マーカ100Dについては4つの頂点としての4点の3次元位置を、それぞれの幾何特徴における配置情報とする。
ここで、特徴配置情報には、登録順を示す登録番号、種別を示す番号、配置情報を示す3次元位置、が含まれている。配置情報記憶部160に格納されている特徴配置情報群を図21に示す。
図21は、配置情報記憶部160に格納されている各特徴配置情報をテーブル形式で示した図である。なお、配置情報記憶部160は、特徴配置情報を如何なる形式で記憶保持しておいても良い。また、各特徴配置情報には、選択状態変数と有効化状態変数とが関連付けられている。
図21において登録番号は、特徴配置情報の登録順を示すもので、登録順がより早い特徴配置情報には、登録順がより遅い特徴配置情報よりも小さい登録番号が付けられている。しかし、同一の幾何特徴についての特徴配置情報には、同じ登録番号が付けられている。例えば、マーカ100Dのように、4点で構成されている幾何特徴については、それぞれの点の3次元位置に同一(図21の例では1)の登録番号が付与される。
種別番号は、特徴配置情報がどのような幾何特徴に対するものであるのかを識別する為の番号である。例えば、点特徴に対する特徴配置情報には1、線特徴に対する特徴配置情報には2、重心特徴に対する特徴配置情報には3、マーカ100Dに対する特徴配置情報には4が付与される。なお、幾何特徴として、点特徴、重心特徴、線特徴、マーカ100Dの全てを用いることに限定されるものではなく、これら4種の幾何特徴のうち、少なくとも1種を用いた場合でも適用可能である。
また、3次元位置は、予め格納された配置情報、若しくは、未知の幾何特徴の配置情報であって、先頭の4つの3次元位置は、マーカ100Dの既知の位置情報に対応するものであって、事前にユーザによって登録されたものである。
選択状態変数は、特徴配置情報(実際には配置情報)がユーザ操作によって選択されたか否かを示す値を保持するための変数であって、上述の通り、特徴配置情報毎に設けられる。例えば、値「1」を保持する選択状態変数に対応する特徴配置情報は、ユーザ操作により選択されている。一方、値「0」を保持する選択状態変数に対応する特徴配置情報は、ユーザ操作により選択されていない。このように、選択状態変数の値を参照することで、対応する特徴配置情報がユーザ操作により選択されているか否かを判断することができる。
有効化状態変数は、特徴配置情報(実施には配置情報)がユーザ操作によって有効化されたか否かを示す値を保持するための変数であって、上述の通り、特徴配置情報毎に設けられる。例えば、値「1」を保持する有効化状態変数に対応する特徴配置情報は、ユーザ操作により有効化されている。一方、値「0」を保持する有効化状態変数に対応する特徴配置情報は、ユーザ操作により無効化されている。このように、有効化状態変数の値を参照することで、対応する特徴配置情報がユーザ操作により有効化されているのか無効化されているのかを判断することができる。
以降の説明では、有効化されている特徴配置情報を「有効な特徴配置情報」と呼称する。
なお、配置情報記憶部160は、外部からの要求を検知すると、係る外部に対して、自身が保持している様々な情報を適宜送出することができる。これにより、カメラ110の位置姿勢を計測したい他のアプリケーションが、幾何特徴の配置情報を用いることができる。
次に、撮像手段位置姿勢推定部185は、配置情報記憶部160に格納されている特徴配置情報のうち、有効化を示す有効化状態変数(係る変数の値が「1」)に対応する特徴配置情報中の配置情報を読み出す。そして、読み出した配置情報と、画像特徴検出部130が求めた画像座標とから、現フレームにおけるカメラ110の位置姿勢を求める(推定する)。即ち、直前のフレームについて推定したカメラ110の位置姿勢を初期値とする。そして、読み出した配置情報が示す座標値をカメラ110の撮像面上に投影した位置(画像座標)と、画像特徴検出部130が求めた画像座標との誤差が最小になるように、カメラ110の位置姿勢を、非線形最適化の繰り返しによって算出する。ここで求まる位置姿勢は、現フレームにおけるカメラ110の位置姿勢である。
画像記憶部150は、画像入力部120を介してカメラ110から受けた撮像画像を一時的に記憶する。係る画像記憶部150は、特徴配置情報について後述するような編集を行う場合に、動画像上では特定の配置情報を指定しづらいので、静止画像としての撮像画像を保持しておき、係る撮像画像上で編集を可能とするためのものである。画像入力部120を介して入力したオンラインの撮像画像、画像記憶部150が保持している撮像画像を、状況に応じて切り替えてHMD115に出力する。
操作入力部170は、操作入力装置117から送出された指示信号を、撮像手段位置姿勢推定部185や配置情報編集部180に送出する。
配置情報編集部180は、配置情報記憶部160内に格納されている特徴配置情報を編集するための機能を備える。特徴配置情報の編集とは、例えば「選択」、「無効化」、「有効化」を指す。夫々の編集作業の詳細については後述する。
合成部195は、画像記憶部150から取得した撮像画像について配置情報記憶部160に格納されている特徴配置情報中の配置情報をこの撮像画像上に投影した領域に、画像特徴を表す表示を合成した画像(合成画像)を生成する。
例えば、カメラ110による撮像画像が、図4に示したような画像であって、且つ、周辺の画像特徴についての特徴配置情報がすべて登録されている場合は、図5に示すような画像が合成部195によって生成され、HMD115において表示される。図5は、合成部195によって生成される合成画像の一例を示す図である。
図5に示す如く、点特徴の場合は、配置情報として格納されている3次元位置を撮像画像上に投影した位置に、バツマーク520で表す。また、重心特徴の場合は、白の十字マーク540で表す。線特徴については、端点2点の配置情報が格納されているため、端点2点を結ぶ直線を撮像画像上に投影する。また、マーカについては、4頂点を結ぶ折れ線を画像上に投影する。
このように、幾何特徴の3次元位置をそのまま撮像画像上に投影した位置に同じものを表示するのではなく、幾何特徴の種別に応じた形状のオブジェクト(以後、配置情報表示オブジェクトと呼ぶ)を表示する。これにより、配置情報の視認性や操作性を向上させる。なお、撮像画像上で幾何特徴を示すための表示については、図5に示した表示に限定するものではない。即ち、現実空間中における幾何特徴の配置を撮像画像上で確認できると共に、撮像画像中でそれぞれの幾何特徴の種類が区別できるのであれば、他の表示方法を適用しても良い。
図6は、本実施形態に係る画像処理装置が、撮像画像上における幾何特徴をユーザに通知するための表示を行う為に行うメインの処理のフローチャートである。
先ず、ステップS610では、操作入力部170が、操作入力装置117からの入力の有無を確認する。そして係る確認の結果、入力がある場合は処理をステップS615に進める。一方、入力がない場合は処理をステップS620に進める。
操作入力装置117を手に把持しているユーザ105は、処理モードの変更を所望する場合には、変更先のモードに対応するボタンを指示する。ボタンが指示されると、指示されたボタンに固有の信号が操作入力部170に入力されるので、この場合、処理はステップS610からステップS615に進む。
ステップS615では、操作入力部170は、係る信号を受けると、どのボタンが指示されたのかを判断する。これにより、操作入力部170は、指示されたボタンに対応する処理モードを特定することができる。なお、処理モードの指定方法については様々な方法があり、特定の方法に限定するものではない。
そして、撮像手段位置姿勢推定部185は、画像処理装置199に現在設定されている処理モードを、操作入力部170が移行先の処理モードとして特定した処理モードに移行させる。もちろん、現在設定されている処理モードと、特定した処理モードとが同じである場合には、処理モードの移行は行わない。
本実施形態では、ユーザ105は操作入力装置117を用いて、自動登録処理モード(モードA)、編集処理モード(モードB)、アプリケーション実行モード(モードC)の何れかを選択指示できるものとして説明する。従って、画像処理装置199は、この3つの処理モードのうち選択指示された処理モードに設定されていることになる。なお、画像処理装置199は、起動時には、自動登録処理モードが設定されているものとする。
次に、現在画像処理装置199に設定されている処理モードが、モードAである場合には、処理はステップS620を介してステップS630に進むし、モードAではない場合には、処理はステップS620を介してステップS640に進む。
ステップS630では、自動登録処理モードに応じた処理が行われるのであるが、本ステップにおける処理については後述する。
次に、現在画像処理装置199に設定されている処理モードが、モードBである場合には、処理はステップS640を介してステップS650に進むし、モードBではない場合には、処理はステップS640を介してステップS660に進む。
ステップS650では、編集処理モードに応じた処理が行われるのであるが、本ステップにおける処理については後述する。
ステップS660では、アプリケーション実行モードに応じた処理が行われるのであるが、本ステップにおける処理については後述する。
次にステップS670では、操作入力装置117に設けられているボタンのうち、処理を終了させる指示を入力する為のボタンが指示されたか否かを、操作入力部170が判断する。係る判断の結果、指示されている場合には、本処理は終了する。なお、本処理の終了時に、配置情報記憶部160内に格納されている幾何特徴の配置情報を必要に応じて外部に出力してもよい。
一方、指示されていない場合には、処理をステップS610に戻し、以降の処理を繰り返す。
次に、上記ステップS630における処理の詳細について説明する。図7は、ステップS630において行われる、自動登録処理モードが設定されている場合に行われる処理、の詳細を示すフローチャートである。
先ずステップS705では、画像入力部120は、カメラ110から送出される撮像画像の画像信号を受けると、係る画像信号に基づいて撮像画像を生成する。画像信号に基づいて画像を生成する技術については周知の技術である。
次にステップS706では、画像特徴検出部130は、ステップS705で生成された撮像画像から、幾何特徴の投影像としての画像特徴を検出する。これにより、撮像画像中におけるそれぞれの画像特徴の画像座標を取得することができる。
次に、ステップS707では、配置情報生成部140は、ステップS706で取得した画像座標と、配置情報記憶部160内に格納されている「有効な特徴配置情報」との対応付けを行う。
係る対応付けは次のようにして行う。先ず、現フレームより1つ前のフレーム(直前のフレーム)におけるカメラ110の位置姿勢を用いて、配置情報記憶部160内に格納されているそれぞれの「有効な特徴配置情報」内の配置情報を、カメラ110の撮像面上に投影する。配置情報を投影した撮像面上の座標位置を「投影座標位置」と呼称する。そして、ステップS706で検出した画像特徴と同じ種別の特徴配置情報のうち、この画像特徴の画像座標に最も近い投影座標位置に投影された配置情報を含む特徴配置情報を、この画像座標と対応付ける。
なお、ステップS706で検出した画像特徴と同じ種別の特徴配置情報のうちこの画像特徴の画像座標Xに最も近い投影座標位置Yに投影された配置情報を含む特徴配置情報を特定した後、直ちに上記対応付けを行うのではなく、次のような処理を行ってもよい。
即ち、画像座標Xと投影座標位置Yとの間の距離が予め定められた距離以内であるか否かを判断する。そして、予め定められた距離以内であれば対応付けを行い、予め定められた距離より大きい場合には対応付けを行わないようにする。
次に、ステップS710では、配置情報生成部140は、ステップS707において、カメラ110の位置姿勢を推定するために十分な数の画像特徴の画像座標が、特徴配置情報と対応付けられているのか否かを判断する。カメラ110の位置姿勢を推定するために十分な数の画像特徴とは、例えば、正方形マーカ1個以上、又は直前のフレームでカメラ110の位置姿勢が計測できている場合に限り線特徴2本以上、又は点特徴3点以上、又は重心特徴3点以上である。
点特徴と重心特徴は同種の特徴とみなし、要求点数を合わせて3点以上としてもよい。なお、これらの画像特徴の組み合わせに本実施形態は制限されるものではなく、例えば、円形の外形を持つマーカの内部に識別コードを持つような画像特徴など、カメラ110の位置姿勢を推定する為に使用可能な画像特徴であれば良い。また、このような十分な画像特徴の対応付け(正方形マーカ1個以上など)に本実施形態は限定されるものではなく、カメラ110の位置姿勢が推定可能な画像特徴と特徴配置情報との対応付けであれば良い。なお、直前のフレームにてカメラ110の位置姿勢が計測できたか否かについては、配置情報生成部140内に格納されている推定不可状態変数を参照すれば良い。推定不可状態変数の値が「1」であれば、直前のフレームにてカメラ110の位置姿勢が計測できなかったことを示す。
また、撮像画像上で十分な画像特徴が得られていない場合は、次のステップS730におけるカメラ110の位置姿勢の推定が正しく行えないために、特徴配置情報を得るためのデータセットを取得することができない。従って、この場合は、処理をステップS720に進める。一方、撮像画像上で十分な画像特徴が得られている場合には、処理をステップS730に進める。
ステップS720では、配置情報生成部140は、検出された画像特徴だけではカメラ110の位置姿勢は推定できないこと(警告)をユーザ105に通知するためのメッセージをHMD115に送出する。係るメッセージは予め作成し、画像処理装置199が有する何らかのメモリ上に記録しておいても良いし、適宜配置情報生成部140が生成しても良い。また、係るメッセージの代わりに、何らかのアイコンを表示しても良い。なお、係る警告をユーザ105に通知するための方法としては、メッセージやアイコンの表示以外にも様々な方法が考えられる。例えば、警告音や音声等、音によって警告を通知しても良い。
また、配置情報生成部140は、自身が保持している推定不可状態変数に「1」を書き込むことで、カメラ110の位置姿勢の推定ができなかったことを記憶する。
次に、ステップS730では、撮像手段位置姿勢推定部185は、ステップS707における処理で対応付けられた画像座標と配置情報とを用いて、カメラ110の位置姿勢を推定する処理を行う。係る処理は周知の技術である。そして配置情報生成部140は、推定不可状態変数に「0」を書き込むことで、カメラ110の位置姿勢の推定が成功したことを記憶する。
次に、ステップS740では、配置情報生成部140は、ステップS706において検出した画像特徴のうち、ステップS707において配置情報と対応付けられなかった画像特徴(未知の画像特徴)を検索する。係る検索の結果、未知の画像特徴が存在した場合には処理をステップS750に進め、存在しない場合には処理をステップS790に進める。
ステップS750では、配置情報生成部140は、ステップS730において推定したカメラ110の位置姿勢と、ステップS740において見つけた未知の画像特徴の画像座標と、で構成されるデータセットを生成する。そして係るデータセットを、配置情報生成部140内のメモリ、若しくは画像処理装置199内の何らかのメモリに記録する。
次に、ステップS760では、配置情報生成部140は、ステップS750で格納したデータセット内のカメラ位置、配置情報生成部140自身に格納されているそれぞれのデータセット内のカメラ位置を参照する。そして、データセットX内のカメラ位置と、データセットY内のカメラ位置との間の距離が閾値以上となるようなデータセットX、Yが存在するか否かをチェックする。そして係るチェックの結果、存在する場合には処理をステップS770に進め、存在しない場合には、処理をステップS790に進める。
ステップS770では、配置情報生成部140は先ず、データセットX、Yに相当する2つのデータセットで構成されている1以上の組のうち、組内の2つのデータセット中のカメラ位置間の距離が最小である組を1つ特定する。なお、データセットX、Yに相当する2つのデータセットで構成されている組のうち、1つの組を選択するための方法については様々な方法が考えられ、精度良く特徴配置情報を生成することができる組を選択するのであれば、特定の方法に限定するものではない。
次に、配置情報生成部140は、特定した組内の2つのデータセットに基づいて上述の処理を行うことで、未知の画像特徴に対する特徴配置情報を生成する。そして生成した特徴配置情報を、配置情報記憶部160に格納する。このとき、新たに生成した特徴配置情報に対応する有効化状態変数に「1」を設定し、係る特徴配置情報内の配置情報を有効化する。なお、係る有効化については必須なものではなく、最初は無効化しておき、その後の選択処理を通じて有効化するようにしても良い。
また、上述の如く、現フレームにおける画像特徴の画像座標と、新たに生成した特徴配置情報との対応付けを行う。
このような処理により、既に登録されている配置情報と対応付けることができなかった画像特徴については、この画像特徴の配置情報を求めて登録すると共に、登録した配置情報と、この画像特徴の画像座標と、の対応付けを行うことができる。
次に、ステップS780では、撮像手段位置姿勢推定部185は、ステップS770において登録した特徴配置情報を含む、配置情報記憶部160に格納されている「有効な特徴配置情報」を用いて、再度、カメラ110の位置姿勢を求める。
ステップS790では、撮像手段位置姿勢推定部185は以下のような処理を行う。
即ち、現フレームについて求められている(例えばステップS780で求めた)位置姿勢を用いて、配置情報記憶部160に格納されている全ての(若しくは有効な)特徴配置情報内の配置情報をカメラ110の撮像面上(撮像画像上)に投影する。これにより、配置情報を撮像面上に投影した位置を、投影座標位置として求めることができる。
そして更に、合成部195は、撮像画像上における投影座標位置に、対応する表示を合成させた撮像画像(更新撮像画像)を生成する。そして合成部195は、この生成した撮像画像を、HMD115に対して送出する。
なお、合成部195は、更に、カメラ110の位置姿勢の推定が正しく行われていることを確認するために撮像画像上に表示する情報として、配置情報の投影像以外のデータを表示しても良い。例えば、x=0、y=0、z=0の平面に格子状のワイヤーフレームを表示しても良いし、特定の位置に任意の仮想物体を表示することによってカメラ110の位置姿勢の推定結果を確認しても良い。また、推定したカメラ110の位置姿勢や、画像特徴と配置情報との撮像画像上における距離など、数値を撮像画像上に表示してもよい。
このように、生成された情報を含めてカメラ110の位置姿勢を推定することにより、より広範囲における位置姿勢推定が可能となる。さらに、既に述べたように、位置合わせ状況を即座に表示することにより、例えば誤差が大きい配置情報が登録されたときに、即座にモードBに切り替え、配置情報を編集することができる。
次に、上記ステップS650における処理の詳細について説明する。図8は、ステップS650において行われる、編集処理モードが設定されている場合に行われる処理、の詳細を示すフローチャートである。なお、図8において、図7に示したステップと同じステップには、同じステップ番号を付しており、その説明は省略する。
ステップS830では、操作入力部170が、操作入力装置117からの指示入力の有無を確認する。そして、係る確認の結果、指示入力があった場合には処理をステップS840に進める。一方、指示入力がなかった場合には、上記ステップS610にリターンする。
ステップS840では、配置情報編集部180は、特徴配置情報の編集処理を行う。ステップS840における処理の詳細については後述する。
前述したように、選定された配置情報は、次のフレームにおけるカメラ110の位置姿勢推定処理に反映され、ステップS790における表示処理で、ユーザ105に対して視覚的に即座にフィードバックされる。このフィードバックがあるため、ユーザ105は、選定した配置情報が、カメラ110の位置姿勢推定処理にどのように寄与しているのかを把握することができる。
例えば、配置情報のうち、カメラ110の位置姿勢推定処理への寄与度が低いと見なされるもの、すなわち、幾何特徴の推定精度が低い(誤差が大きい)配置情報を無効化した場合を想定する。この配置情報を無効化すると、次のフレームにおけるステップS790において、投影された仮想物体が正しい位置に近づくなど、「推定精度が良くなった」というフィードバックをユーザ105に対して提供することができる。
一方、寄与度が高いと見なされる配置情報、すなわち、幾何特徴の推定精度が高く、画面上における分散度が高い画像特徴に対応する配置情報を無効化した場合を想定する。この配置情報を無効化すると、ステップS790において、仮想物体が正しい位置から遠ざかり、投影位置が揺れるなど、「推定精度が悪くなった」というフィードバックをユーザ105に対して提供することができる。
このように、ユーザ105が寄与度の高い配置情報を有効化し、寄与度の低い不必要な配置情報を無効化することで、カメラ110の位置姿勢推定処理を実行する各現場において必要最低限な配置情報を得ることができる。必要最低限の配置情報が得られれば、誤識別の可能性が減り、処理速度の低下も軽減させることができる。
次に、上記ステップS660における処理の詳細について説明する。図9は、ステップS660において行われる、アプリケーション実行モードが設定されている場合に行われる処理、の詳細を示すフローチャートである。なお、図9において、図7に示したステップと同じステップには、同じステップ番号を付しており、その説明は省略する。
ステップS910では、ステップS730で推定されたカメラ110の位置姿勢を用いて、あらかじめ用意された仮想物体が配置された仮想空間の画像を生成する。仮想物体は、得られた配置情報によって位置姿勢の計測が正しく行われているか否かを確認するために、あらかじめ用意されているものであってもよい。例えば、x=0、y=0、z=0の平面に格子状のワイヤーフレームを表示しても良いし、特定の位置に仮想物体としてのティーポットを表示してもよい。また、カメラ110の位置姿勢を必要とする複合現実感のアプリケーション自体が、本装置の一部(モードC)として組み込まれていてもよい。例えば、特定のキャラクタを表示して、インタラクションして楽しむようなコンテンツであってもよい。
しかし、モードCの本質は、アプリケーション実行処理内で実施される複合現実感のコンテンツに依存するものではなく、カメラ110の位置姿勢を求めるための特徴配置情報を簡便に生成することにある。
次に、上記ステップS840における処理の詳細について説明する。図10は、ステップS840において行われる、配置情報の編集処理、の詳細を示すフローチャートである。
ステップS1001では、操作入力部170が、操作入力装置117からの入力(編集モードの切り替え入力)を受け付ける。編集モードは、配置情報編集部180内部の状態変数として記録されているものとする。編集モードには、表示選択モード、選択モード、操作モードの3つがあり、何れか1つが操作入力装置117を用いて設定される。
操作入力装置117を手に把持しているユーザ105は、編集モードの変更を所望する場合には、変更先の編集モードに対応するボタンを指示する。ボタンが指示されると、指示されたボタンに固有の信号が操作入力部170に入力されるので、処理はステップS1002に進む。
ステップS1002では、操作入力部170は、係る信号を受けると、どのボタンが指示されたのかを判断する。これにより、操作入力部170は、指示されたボタンに対応する編集モードを特定することができる。なお、編集モードの指定方法については様々な方法があり、特定の方法に限定するものではない。
そして、撮像手段位置姿勢推定部185は、画像処理装置199に現在設定されている編集モードを、操作入力部170が移行先の編集モードとして特定した編集モードに移行させる。もちろん、現在設定されている編集モードと、特定した編集モードとが同じである場合には、編集モードの移行は行わない。
上記ステップS1002における判断の結果、表示選択モードが指定されている場合には処理をステップS1003に進め、表示選択モードの指定ではない場合には処理をステップS1010に進める。
ステップS1003では、配置情報編集部180は、HMD115が有する表示画面上に、図15に例示するような画面を表示させる。図15は、ステップS1003においてHMD115が有する表示画面上に表示される画面の表示例を示す図である。図15において、1501は、カメラ110が撮像した各フレームの撮像画像を動画像(ライブ映像)として再生するか、あるフレームにおける撮像画像(静止画)を再生するのかを、ユーザ105に選択させるためのメニューである。もちろん、メニュー1501の構成についてはこれに限定するものではない。係るメニュー1501が表示された場合に、ユーザ105が操作入力装置117における「1」キーを指示すると、「静止画」が選択され、「2」キーを指示すると、「ライブ映像」が選択される。
従って、「1」キーが指示されると、処理はステップS1004を介してステップS1006に進むし、「1」キー以外のキーが指示されると、処理はステップS1004を介してステップS1010に進む。
ステップS1006では、配置情報編集部180が、最新の撮像画像を画像記憶部150から読み出し、読み出した撮像画像を、画像特徴検出部130、HMD115に送出させるように制御する。このような制御モードを静止画モードと呼ぶ。このように静止画を出力することで、オンラインの動画像において、動く特定の点や線などを指定・選択することが難しい課題に対処することができる。また、現在の静止画だけでなく、過去に保持しておいた静止画を選択して表示することによって、複数の静止画を順番に参照しながら、配置情報の選択をしてもよい。複数の静止画を用いて選択することで、選択時の空間把握が容易になる。静止画表示が選択されなかった場合は、カメラ110から画像入力部120を介して順次入力される各フレームの撮像画像を画像特徴検出部130、HMD115に入力する。
ステップS1010では、操作入力部170は、操作入力装置117からの信号を受けると、どのボタンが指示されたのかを判断する。そして係る判断の結果、選択モードが指定されている場合には、処理はステップS1012に進む。一方、選択モードの指定ではない場合には処理をステップS1014に進む。
ステップS1012では、配置情報の選択処理を行う。ステップS1012における処理の詳細については後述する。
ステップS1014では、操作入力部170は、操作入力装置117からの信号を受けると、どのボタンが指示されたのかを判断する。そして係る判断の結果、操作モードが指定されている場合には、処理はステップS1016に進む。一方、操作モードの指定ではない場合には上記ステップS610にリターンする。
ステップS1016では。配置情報の操作処理を行う。ステップS1016における処理の詳細については後述する。
次に、上記ステップS1012における処理の詳細について説明する。図11は、ステップS1012において行われる、配置情報の選択処理、の詳細を示すフローチャートである。
ステップS1110では、配置情報編集部180は、HMD115が有する表示画面上に、図16に例示するような画面を表示させる。図16は、ステップS1110においてHMD115が有する表示画面上に表示される画面の表示例を示す図である。図16において、1601は、選択方法を指定するためのメニューである。係るメニュー1601が表示された場合に、ユーザ105が操作入力装置117における「1」キーを指示すると、「クリック選択」が選択されると共に、点モードが設定される。また、「2」キーを指示すると、「ライン選択」が選択されると共に、線モードが設定される。また、「3」キーを指示すると、「領域選択」が選択されると共に、2D領域モードが設定される。また、「4」キーを指示すると、「3D領域選択」が選択されると共に、3D領域モードが設定される。
次に、ステップS1120では、操作入力部170が、操作入力装置117からの入力(選択モードの切り替え入力)を受け付ける。
ステップS1130では、操作入力部170は、操作入力装置117からの信号を受けると、どのボタンが指示されたのかを判断する。そして係る判断の結果、点モードが指定されている場合には、処理はステップS1140に進む。一方、点モードの指定ではない場合には処理をステップS1150に進む。
ステップS1140では、配置情報編集部180は先ず、図16に例示する画面上にマウスカーソル1620を表示する。次に、ユーザ105が操作入力装置117を用いてマウスカーソル1620を配置情報表示オブジェクトの位置に移動させ、操作入力装置117をクリックする操作を、配置情報編集部180が検知したとする。この場合、配置情報編集部180は、配置情報記憶部160内に格納されている配置情報表示オブジェクトに対応する配置情報の選択状態変数を「1」に設定する。なお、ユーザ105がマウスカーソル1620を他の配置情報表示オブジェクト上に移動させ、そこでクリック操作を行うと、現在「1」に設定されている選択状態変数を「0」に設定する。そして、上記「他の配置情報表示オブジェクト」に対応する選択状態変数を「1」に設定する。このように、選択方法に関係なく、選択された配置情報については対応する選択状態変数を「1」に設定するし、選択されていない配置情報については対応する選択状態変数を「0」に設定する。
また、操作入力装置117に備わっているシフトキーを押下しながらクリック操作を行った場合には、係る操作により選択された配置情報表示オブジェクトを、従前に選択している配置情報表示オブジェクトに追加するようにしても良い。また、選択状態に応じて、HMD115に表示されている配置情報の投影像の色や表示形状等を変更しても良い。
ステップS1150では、操作入力部170は、操作入力装置117からの信号を受けると、どのボタンが指示されたのかを判断する。そして係る判断の結果、線モードが指定されている場合には、処理はステップS1160に進む。一方、線モードの指定ではない場合には処理をステップS1170に進む。
ステップS1160では、配置情報編集部180は先ず、図16に例示する画面上にマウスカーソル1620を表示する。次に、ユーザ105が操作入力装置117を用いてマウスカーソル1620をドラッグ移動させる操作を、配置情報編集部180が検知したとする。この場合、配置情報編集部180は、ドラッグ移動させたマウスカーソル1620の移動軌跡1610を表示させる。ここで配置情報編集部180は、配置情報の配置情報表示オブジェクトに移動軌跡1610が重なった場合にはこの配置情報が選択されたと判断し、配置情報記憶部160内のこの配置情報表示オブジェクトに対応する配置情報の選択状態変数を「1」に設定する。移動軌跡1610が複数の配置情報表示オブジェクトと重なった場合は、重なった配置情報表示オブジェクトに対応する配置情報を全てを選択したと判断する。また、移動軌跡1610は一本だけではなく、複数であっても良く、その場合、複数の移動軌跡1610を用いて選択を行っても良い。
このように、撮像画像上でマウスカーソル1620の移動軌跡1610を用いて配置情報を選択することで、小領域に密集しているような配置情報を一括で選択することができる。例えば、誤識別を招くような床面の模様の配置情報が登録されている場合、床面の線特徴の配置情報表示オブジェクトを横切るようにマウスカーソル1620をドラッグ移動させることで、これらの配置情報表示オブジェクトを選択することができる。
次に、ステップS1170では、操作入力部170は、操作入力装置117からの信号を受けると、どのボタンが指示されたのかを判断する。そして係る判断の結果、2D領域モードが指定されている場合には、処理はステップS1180に進む。一方、2D領域モードの指定ではない場合には処理をステップS1190に進む。
ステップS1180では、配置情報編集部180は、2D領域を選択指定するための処理を行う。ステップS1180における処理の詳細については後述する。
一方、ステップS1190では、操作入力部170は、操作入力装置117からの信号を受けると、どのボタンが指示されたのかを判断する。そして係る判断の結果、3D領域モードが指定されている場合には、処理はステップS1195に進む。一方、3D領域モードの指定ではない場合には処理をステップS1110に戻る。
ステップS1195では、配置情報編集部180は、3D領域を選択指定するための処理を行う。ステップS1195における処理の詳細については後述する。
次に、上記ステップS1180における処理の詳細について説明する。図12は、上記ステップS1180において行われる、2D領域を選択指定する為の処理のフローチャートである。
ステップS1210では、配置情報編集部180は、HMD115が有する表示画面上に、図17に例示するような画面を表示させる。図17は、ステップS1210においてHMD115が有する表示画面上に表示される画面の表示例を示す図である。図17において、1701は、選択方法を指定するためのメニューである。係るメニュー1701が表示された場合に、ユーザ105が操作入力装置117における「1」キーを指示すると、「矩形形状選択」が選択され、「2」キーを指示すると、「多角形選択」が選択される。
従って、「1」キーが指示されると、処理はステップS1220を介してステップS1230に進める。一方、「1」キー以外が指示されている場合には、処理をステップS1220を介してステップS1250に進める。
ステップS1230では、配置情報編集部180は、HMD115の表示画面上に、矩形形状の領域表示オブジェクトを表示する。さらに、配置情報編集部180は、ユーザ105が操作入力装置117を用いて領域表示オブジェクト全体の位置、又は領域表示オブジェクトを構成する頂点の位置を、移動させる操作を行うと、係る操作を検知する。そして、係る操作の内容に応じて、領域表示オブジェクトの位置、頂点の位置を移動させる。
次に、ステップS1240では、配置情報編集部180は、ステップS1230における操作によって位置や形状が決定した領域表示オブジェクトの内部領域に位置する配置情報表示オブジェクトに対応する配置情報を選択する。領域表示オブジェクトが示す領域と、配置情報表示オブジェクトとの内外判定処理は、撮像画像上で行われる。
一方、「2」キーが指示されると、処理はステップS1250を介してステップS1260に進める。一方、「2」キー以外が指示されている場合には、処理はステップS1210に戻る。
ステップS1260では、配置情報編集部180は、HMD115の表示画面上に、多角形形状の領域表示オブジェクトを表示する。係る多角形の領域表示オブジェクトを表示させるためには、事前にユーザ105による操作が必要である。即ち、ユーザ105は先ず、操作入力装置117を用いて、撮像画像上における複数箇所を頂点位置として指示する。そして頂点位置を指示する操作を終了する旨を操作入力装置117を用いて指示すると、配置情報編集部180は、指示した各頂点位置を結ぶ多角形を、撮像画像上に描画する。係る多角形が、領域表示オブジェクトである。
図17において、1710が多角形形状の領域表示オブジェクトである。また、1720が、指示した頂点位置である。従って、ユーザ105は、操作入力装置117を用いて多角形形状の領域表示オブジェクトを生成した後は、任意の頂点位置を指示し、例えばドラッグ操作等により、指示した頂点の位置を変更する操作を行っても良い。これにより、多角形の領域表示オブジェクトのサイズや形状を任意に変更することができる。もちろん、係る領域表示オブジェクトの位置を上述のように移動させても良い。
なお、多角形の領域表示オブジェクトを含む他の領域表示オブジェクトについては、任意の数だけ生成しても良い。
次に、ステップS1270では、配置情報編集部180は、ステップS1260における操作によって位置や形状が決定した領域表示オブジェクトの内部領域に位置する配置情報表示オブジェクトに対応する配置情報を選択する。領域表示オブジェクトが示す領域と、配置情報表示オブジェクトとの内外判定処理は、撮像画像上で行われる。
このとき、配置情報表示オブジェクトは領域表示オブジェクトによって全て囲まれている必要はなく、一部でも囲まれていれば、配置情報表示オブジェクトに対応する配置情報が選択される。これは、どのような方法で配置情報表示オブジェクトを選択しても同じである。
このように、多角形形状で領域を指定することにより、特定の領域に密集して配置されている配置情報を、クリックで個別に指定するよりも、より効率良く選択することができる。
なお、2D領域指定は、矩形領域と多角形領域とを用いて実施することに限定されるものではなく、任意の配置情報を選択できる方法であれば良い。
次に、上記ステップS1195における処理の詳細について説明する。図13は、上記ステップS1195において行われる、3D領域を選択指定するための処理のフローチャートである。
ステップS1310では、配置情報編集部180は、HMD115が有する表示画面上に、図18に例示するような画面を表示させる。図18は、ステップS1310においてHMD115が有する表示画面上に表示される画面の表示例を示す図である。図18において、1801は、選択方法を指定するためのメニューである。係るメニュー1801が表示された場合に、ユーザ105が操作入力装置117における「1」キーを指示すると「直方体形状選択」が選択され、「2」キーを指示すると「球形状選択」が選択され、「3」キーを指示すると「モデル形状選択」が選択される。
従って、「1」キーが指示されると、処理はステップS1320を介してステップS1325に進める。一方、「1」キー以外が指示されている場合には、処理をステップS1320を介してステップS1335に進める。
ステップS1325では、配置情報編集部180は、現実空間中の所定の座標位置に、所定サイズの直方体の仮想物体(直方体オブジェクト)を配置する。そして、撮像手段位置姿勢推定部185が推定したカメラ110の位置姿勢に応じて見える直方体オブジェクトの画像を生成し、生成した画像を、HMD115に対して出力する撮像画像上に合成する。図18において、1810は、直方体オブジェクトである。
ここで、ユーザ105が操作入力装置117を用いて頂点1820を選択して移動させる操作を行うと、選択されている頂点の位置を係る移動の操作に応じて移動させる。また、同様の操作により、直方体オブジェクト1810本体の位置を移動させることもできる。なお、直方体オブジェクトを移動させるための方法については特に限定するものではない。例えば、カーソルキーを操作することで直方体オブジェクトやその頂点を移動させても良いし、6自由度センサを別途用意し、係る6自由度センサの3次元空間における位置に応じて直方体オブジェクトやその頂点を移動させても良い。
次に、ステップS1330では、配置情報編集部180は、ステップS1320における操作によって位置や形状が決定した直方体オブジェクトの内部領域に位置する配置情報を選択する。直方体オブジェクトが示す領域と、配置情報との内外判定処理は、3次元空間内で行われる。
また、この3次元領域内に、線特徴を表す2つの点のうちの1つ、又は正方形マーカの頂点を表す4つの点のうちの1点以上が含まれる場合は、線特徴全体、又は正方形マーカ全体を選択したものとみなす。
一方、「2」キーが指示されると、処理はステップS1335を介してステップS1340に進める。一方、「2」キー以外が指示されている場合には、処理をステップS1335を介してステップS1350に進める。
ステップS1340では、配置情報編集部180は、現実空間中の所定の座標位置に、所定サイズの球の仮想物体(球オブジェクト)を配置する。そして、撮像手段位置姿勢推定部185が推定したカメラ110の位置姿勢に応じて見える球オブジェクトの画像を生成し、生成した画像を、HMD115に対して出力する撮像画像上に合成する。
ここで、ユーザ105が操作入力装置117を用いて係る球オブジェクトの半径や位置姿勢を変更する操作を行うと、係る操作に応じて球オブジェクトの位置姿勢や半径を変更させる。なお球オブジェクトにおいて、軸(例えばx軸)毎に、半径を変更させるようにしても良い。これにより、球オブジェクトを楕円体オブジェクトに変形させることができる。
なお、球オブジェクトを移動させるための方法についても直方体オブジェクトと同様に、特に限定するものではない。
次に、ステップS1345では、配置情報編集部180は、ステップS1340における操作によって位置や形状が決定した球オブジェクトの内部領域に位置する配置情報を選択する。球オブジェクトが示す領域と、配置情報との内外判定処理は、3次元空間内で行われる。
一方、「3」キーが指示されると、処理はステップS1350を介してステップS1355に進める。一方、「3」キー以外が指示されている場合には、処理をステップS1350を介してステップS1365に進める。
ステップS1355では、配置情報編集部180は、現実空間中の所定の座標位置に、所定サイズの平面の仮想物体(平面オブジェクト)を配置する。そして、撮像手段位置姿勢推定部185が推定したカメラ110の位置姿勢に応じて見える平面オブジェクトの画像を生成し、生成した画像を、HMD115に対して出力する撮像画像上に合成する。
この平面オブジェクトは、メッシュ状のワイヤーフレームで表示されており、ユーザ105は操作入力装置117を用いて、この平面オブジェクトの法線の向きと位置を操作(指定)することができる。なお、法線の向きや位置は、マウス機能を用いて変更させても良いし、テンキーを用いた数値入力によって変更させても良い。配置情報編集部180は、ユーザ105からの操作入力に基づいて、平面オブジェクトの傾きや位置を変更させる。
次に、ステップS1360では、配置情報編集部180は、ステップS1355における操作によって確定した平面オブジェクトが示す平面が2分割する空間領域のうち、法線方向が指定されている領域を選択領域とする。そして係る選択領域内に位置する配置情報を選択する。このように、平面で分割する領域を用いて選択を行うことで、例えば、本実施形態においては、床上から10cm以下の領域で検出された配置情報を選択する、などの操作が可能となる。
一方、「4」キーが指示されると、処理はステップS1365を介してステップS1370に進める。一方、「4」キー以外が指示されている場合には、処理をステップS1365を介してステップS1310に戻る。
ステップS1370では、配置情報編集部180は、現実空間中の所定の位置姿勢に、任意の3次元形状を有する仮想物体(形状モデル)を配置する。任意の3次元形状を有する仮想物体とは、例えば、机100Aの天板のサイズ、足のサイズ等を予め計測することで作成した3次元形状仮想物体や、3DCADソフトなどで生成した3次元CADモデル等である。従って、このようなそれぞれの仮想物体を、画像処理装置199が有する適当なメモリに予め格納しておき、ユーザ105に操作入力装置117を用いて選択させれば良い。もちろん、選択の際には、メモリに格納されているそれぞれの仮想物体をHMD115の表示画面上に一覧表示させる。なお、任意の形状を有する仮想物体は、空間領域を指定することに利用するため、位相幾何学的な形状として内部領域が「閉じた形状」であることが要求される。
そして、撮像手段位置姿勢推定部185が推定したカメラ110の位置姿勢に応じて見える形状モデルの画像を生成し、生成した画像を、HMD115に対して出力する撮像画像上に合成する。なお、形状モデルは、ワイヤフレームモデルとして表示される。
次に、ステップS1375では、ユーザ105が操作入力装置117を用いて形状モデルの頂点を選択して移動させる操作を行うと、配置情報編集部180は、選択されている頂点の位置を係る移動の操作に応じて移動させる。また、同様の操作により、形状モデル本体の位置姿勢を操作することもできる。
次に、ステップS1380では、配置情報編集部180は、ステップS1375における操作によって位置や形状が決定した形状モデルの内部領域に位置する配置情報を選択する。このように、あらかじめ用意されている任意の閉じた3次元領域を示す形状モデルを用いることにより、動く可能性があるような特定の物体に対して、物体周辺の配置情報を一括で選択して無効化するなど、効率のよい選択が可能となる。
なお、3D領域指定を直方体領域、球領域、平面領域、形状モデル領域を用いて実施することに限定されるものではなく、任意の配置情報を選択できる方法であれば良い。
次に、上記ステップS1016における処理の詳細について説明する。図14は、上記ステップS1016において行われる、配置情報の操作処理、のフローチャートである。 ステップS1410では、配置情報編集部180は、HMD115が有する表示画面上に、図19に例示するような画面を表示させる。図19は、ステップS1410においてHMD115が有する表示画面上に表示される画面の表示例を示す図である。図19において、1901は、選択されている対象を有効化/無効化する為のメニューである。係るメニュー1901が表示された場合に、ユーザ105が操作入力装置117における「1」キーを指示すると、「選択候補有効化」が選択され、「2」キーを指示すると、「選択候補無効化」が選択される。
従って、「1」キーが指示されると、処理はステップS1412を介してステップS1414に進める。一方、「1」キー以外が指示されている場合には、処理をステップS1412を介してステップS1416に進める。
ステップS1414では、配置情報編集部180は、現在選択されている配置情報(図19では、1910が示す配置情報)、即ち現在、選択状態変数に「1」が設定されている配置情報、の有効化状態変数に「1」を設定する。
一方、「2」キーが指示されると、処理はステップS1416を介してステップS1418に進める。一方、「2」キー以外が指示されている場合には、処理はステップS1416を介してステップS1410に戻る。
ステップS1418では、配置情報編集部180は、現在選択されている配置情報(図19では、1910が示す配置情報)、即ち現在、選択状態変数に「1」が設定されている配置情報、の有効化状態変数に「0」を設定する。
以上の説明により、本実施形態によれば、空間中に配置された物体の形状の多くが未知の場合であっても、未知の形状情報を生成することで、事前に形状を測る手間を省くことができる。
また、あらかじめ空間の形状情報を入力する必要がないため、広範囲におけるカメラ位置姿勢の推定ができるようになる。
さらに、自動登録に合わせて画像特徴編集を設けることで、カメラ位置姿勢推定処理で利用する、ユーザが所望する必要最低限の配置情報を得ることができる。すなわち、カメラ位置姿勢推定処理において、誤認識と処理速度低下を軽減する効果が得られる。また、幾何特徴がフレームアウトすれば再度選択し直す、という従来技術1における問題は解消されるため、手間の軽減にも繋がる。
<変形例1>
第1の実施形態では、撮像手段位置姿勢推定部185は3つの処理モード(自動登録処理モード、編集処理モード、アプリケーション実行モード)の何れか1つを設定していた。しかし、係る3つの処理モードのうち何れか1つを設定することに限定するものではない。例えば、自動登録処理モードとアプリケーション実行モードとを新アプリケーション実行モードとして統合し、新アプリケーション実行モードと編集処理モードの2つの何れかを設定するようにしても良い。
以下では、本変形例と第1の実施形態との相違点のみについて説明する。
撮像画像上における幾何特徴をユーザに通知するための表示を行う為に行うメインの処理において、本実施形態では、図6のフローチャートからステップS660を削除すると共に、係る削除に伴い、ステップS630における処理を以下のように変更する。
ステップS630では、図7のフローチャートにおいて、ステップS790を図9のステップS910に置き換えた処理を実行する。
係る変更により、ユーザ105には、複合現実感のコンテンツを体験させながら、バックグラウンドでは、特徴配置情報の自動登録を行うことができる。そして、カメラ110の位置姿勢の推定精度を低下させるような配置情報が登録された場合、ユーザ105は操作入力装置117を用いて編集処理モードを設定し、不要な特徴配置情報を無効化する。これにより、カメラ110の位置姿勢の推定精度の低下を解消することができる。
同様に、図8のフローチャートにおいて、ステップS790を図9のステップS910に置き換えた処理を実行ことにより、コンテンツを体験しながら配置情報の選定を行うことも可能である。
<変形例2>
第1の実施形態では、ユーザ105は、自身の頭部にはHMD115を装着していたが、例えば、ユーザ105がカメラ110を手に持って現実空間を撮像し、HMD115の代わりにワークステーションのモニタ上に表示を行うようにしても良い。、HMD115の結果を表示するような装置であっても適用可能である。即ち、HMD115が有する表示部をモニタとして独立させ、画像処理装置199に接続すると共に、カメラ110もHMD115から独立させ、ユーザ105の手に把持させる。
<変形例3>
第1の実施形態において、画像入力部120は、カメラ110が撮像した画像(静止画、若しくは動画像)をリアルタイムで取得し、取得した画像を画像特徴検出部130や画像記憶部150に出力していた。しかし、画像の取得形態は係る取得形態に限定するものではなく、例えば、予めカメラ110により撮像した動画像を何らかの記憶装置に格納しておき、画像入力部120は係る記憶装置から画像を読み出すようにしても良い。
以下では、本変形例と第1の実施形態との相違点のみについて説明する。
画像入力部120は、記憶装置から動画像を読み出し、読み出した動画像のうち指定された静止画像、若しくは何らかの指標に基づいて決まるフレームにおける静止画像を画像記憶部150や画像特徴検出部130に送出する。
なお、画像入力部120は、再生、巻き戻し、早送り、フレーム戻し、フレーム送り等の、ユーザからの(操作入力装置117からの)指示を検出すると、係る指示に応じた静止画を、動画像から抽出する。そして抽出した静止画をHMD115に表示させても良い。配置情報編集部180は、動画像から抜き出された静止画についての特徴配置情報に対して編集を行うことになる。
また、本変形例では、基本的には図6〜図14のフローチャートに従った処理を行うのであるが、図7〜9のそれぞれのステップS705では、カメラ110からではなく、動画像を記憶している記憶装置から1フレーム分の撮像画像を取得することになる。
このように、本変形例によれば、<従来技術1>で挙げた、カメラ位置姿勢を求めるときに無効化したい画像特徴を含む物体がフレームアウトした後に再度フレームインしたときに、画像特徴の無効化状態が継続されないという課題を解決することができる。すなわち、画像上で検出した画像特徴を選択するのではなく、3次元空間内での配置情報が推定されている幾何特徴を選定することによって、上記のような課題を回避することができる。
また別の効果として、動画像から検出された特徴配置情報を配置情報編集部180が編集することで、動画像のシーケンス全体を通して、どのような特徴配置情報を選べば精度の良いカメラ位置姿勢推定結果が得られるのかを吟味することが可能となる。
また、アプリケーション実行モードのみを、動画像を取得するときでも実行可能なようにしてもよい。
<変形例4>
第1の実施形態では、配置情報生成部140が、未知の幾何特徴の配置情報を、カメラ110によって得られた複数の画像から求め、求めた配置情報を配置情報記憶部160に登録していた。しかし、未知の幾何特徴の配置情報を自動的に生成して登録することに限定されるものではなく、あらかじめ用意された既知の特徴配置情報を用いるようにしても良い。
例えば、現実空間中に現実物体として配されている3DCADモデルの頂点を点特徴、エッジ形状を線特徴として配置情報記憶部160に登録しておいても良い。これにより、例えば、一眼レフカメラのような複雑な現実物体を撮影するカメラ110の位置姿勢を推定する場合には、係る現実物体から予め求めている点特徴や線特徴を用いる。更に、3DCADモデルの特徴点や線特徴の中で不要なものを編集して無効化することにより、より最適な特徴配置情報を生成することが可能となる。
以下では、本変形例と第1の実施形態との相違点のみについて説明する。
先ず、本変形例に係る画像処理装置の機能構成については、図1に示した構成から配置情報生成部140が削除され、配置情報記憶部160に、あらかじめ形状モデルから変換された特徴配置情報が入力されている。画像特徴検出部130が検出した画像特徴は、そのまま撮像手段位置姿勢推定部185に入力され、配置情報記憶部160が保持する特徴配置情報に基づいてカメラ110の位置姿勢が推定される。
また、本変形例では、図6のステップS620、ステップS630は削除し、アプリケーション実行モード又は編集処理モードの処理のどちらかが実行される。
<変形例5>
第1の実施形態において、HMD115は、撮像手段位置姿勢推定部185によるカメラ110の位置姿勢の推定結果に基づいて幾何特徴の配置情報を撮像面上に投影し、係る投影による位置に、配置情報表示オブジェクトを表示していた。しかし、係る投影は、カメラ110の撮像面に対して行うことに限定するものではなく、他の視点における撮像面に対して行うようにしても良い。
例えば、配置情報生成部140によって登録された特徴配置情報の量や選択状況を把握するために、比較的遠くから眺めたり、下から見上げたりすることで理解が容易になる場合がある。しかし、カメラ110を地面の下に移動させることはできないため、特徴配置情報の状態を確認する方法として、カメラ110以外の視点を設定することが重要になる場合もある。
以下では、本変形例と第1の実施形態との相違点のみについて説明する。
ユーザ105が操作入力装置117を用いて、特徴配置情報を確認するための視点の位置姿勢情報を入力し、係る視点から見た画像を生成すべく、入力を行うので、本変形例における図7,8のステップS790では、係る指示を受け付ける。
そして、受け付けた係る視点をカメラ110の代わりに用いて第1の実施形態で説明した処理を行う。特徴配置情報を投影表示する場合に、背景となっている撮像画像の表示が視認性を落とす場合は、背景を黒等の単色画像に設定しても良い。
即ち、本変形例では、ユーザにより指定された視点の位置姿勢に応じて決まる面上で、配置情報に対応する領域を、視点の位置姿勢に基づいて求め、予め設定された画像をこの領域に対して表示した仮想の画像を出力する。
なお、仮想の画像、更新撮像画像のうち、操作入力装置117による操作に応じて決まる一方を出力するようにしても良い。
[第2の実施形態]
図1に示した画像処理装置199を構成する各部のうち、画像特徴検出部130、配置情報生成部140、撮像手段位置姿勢推定部185、配置情報編集部180、合成部195については、コンピュータプログラムとして実装することができる。そしてまた、画像記憶部150、配置情報記憶部160、については、RAMやハードディスクなどのメモリ装置によって実装することができる。また、画像入力部120、操作入力部170については、I/F(インターフェース)によって実装することができる。
従って、上記メモリ装置、I/Fを有するコンピュータに、上記コンピュータプログラムをインストールさせ、そしてこのコンピュータが係るコンピュータプログラムを実行することで、このコンピュータは、画像処理装置199と同様の動作を行うことになる。
図22は、画像処理装置199に適用可能なコンピュータのハードウェア構成例を示すブロック図である。
CPU2201は、RAM2202やROM2203に格納されているプログラムやデータを用いてコンピュータ全体の制御を行うと共に、画像処理装置199が行うものとして説明した上述の各処理を実行する。
RAM2202は、外部記憶装置2206からロードされたプログラムやデータ、I/F2207を介して外部から受信したデータ等を一時的に記憶するためのエリアを有する。更に、RAM2202は、CPU2201が各種の処理を実行する際に用いるワークエリアも有する。即ち、RAM2202は、各種のエリアを適宜提供することができる。
ROM2203は、ブートプログラムや、本コンピュータの設定データ等を格納する。
操作部2204は、キーボードやマウスなどにより構成されており、本コンピュータの操作者(例えばユーザ105)が操作することで、各種の指示をCPU2201に対して入力することができる。
表示部2205は、CRTや液晶画面などにより構成されており、CPU2201による処理結果を画像や文字などでもって表示することができる。
外部記憶装置2206は、ハードディスクに代表される大容量情報記憶装置である。外部記憶装置2206には、OS(オペレーティングシステム)の他、以下のような各種の情報が保存されている。
例えば、外部記憶装置2206には、画像特徴検出部130、配置情報生成部140、撮像手段位置姿勢推定部185、配置情報編集部180、合成部195の各部の機能をCPU2201に実行させるためのプログラムが保存されている。加えて、外部記憶装置2206は、画像記憶部150や、配置情報記憶部160としても機能するので、画像記憶部150や配置情報記憶部160が格納しているものとして説明した各種の情報もまた、この外部記憶装置2206に保存されている。即ち、上述の説明において、「格納する」ものとして説明した様々な情報は、この外部記憶装置2206に保存されることになる。外部記憶装置2206に保存されている各種の情報は、CPU2201による制御に従って、適宜RAM2202にロードされる。そしてこのロードされた各種の情報は、CPU2201による処理対象となる。
I/F2207は上記画像入力部120や操作入力部170として機能するもので、HMD115や操作入力装置117は、このI/F2207に接続される。なお、HMD115、操作入力装置117のそれぞれに別個にI/Fを設けるようにしても良い。
2208は、上述の各部を繋ぐバスである。
[その他の実施形態]
また、本発明の目的は、以下のようにすることによって達成されることはいうまでもない。即ち、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体(または記憶媒体)を、システムあるいは装置に供給する。係る記憶媒体は言うまでもなく、コンピュータ読み取り可能な記憶媒体である。そして、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムコードを読み出し実行する。この場合、記録媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記録した記録媒体は本発明を構成することになる。
また、コンピュータが読み出したプログラムコードを実行することにより、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行う。その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれたとする。その後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
本発明を上記記録媒体に適用する場合、その記録媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。
本発明の第1の実施形態に係るシステムの機能構成を示すブロック図である。 動画像に対して上記従来技術1として説明したマッチムーブ技術を用いて各フレームにおけるカメラの位置姿勢を推定する装置の機能構成を示すブロック図である。 非特許文献1で開示されている、未知の幾何特徴の配置情報を自動的に生成すると共に、カメラ110の位置姿勢をも推定する、装置の機能構成を示すブロック図である。 カメラ110が撮像したあるフレームにおける撮像画像の一例を示す図である。 合成部195によって生成される合成画像の一例を示す図である。 本発明の第1の実施形態に係る画像処理装置が、撮像画像上における幾何特徴をユーザに通知するための表示を行う為に行うメインの処理のフローチャートである。 ステップS630において行われる、自動登録処理モードが設定されている場合に行われる処理、の詳細を示すフローチャートである。 ステップS650において行われる、編集処理モードが設定されている場合に行われる処理、の詳細を示すフローチャートである。 ステップS660において行われる、アプリケーション実行モードが設定されている場合に行われる処理、の詳細を示すフローチャートである。 ステップS840において行われる、配置情報の編集処理、の詳細を示すフローチャートである。 ステップS1012において行われる、配置情報の選択処理、の詳細を示すフローチャートである。 ステップS1180において行われる、2D領域を選択指定する為の処理のフローチャートである。 ステップS1195において行われる、3D領域を選択指定するための処理のフローチャートである。 ステップS1016において行われる、配置情報の操作処理、のフローチャートである。 ステップS1003においてHMD115が有する表示画面上に表示される画面の表示例を示す図である。 ステップS1110においてHMD115が有する表示画面上に表示される画面の表示例を示す図である。 ステップS1210においてHMD115が有する表示画面上に表示される画面の表示例を示す図である。 ステップS1310においてHMD115が有する表示画面上に表示される画面の表示例を示す図である。 ステップS1410においてHMD115が有する表示画面上に表示される画面の表示例を示す図である。 2つの画像特徴データセットから、投影線を求めるための処理を説明する図である。 配置情報記憶部160に格納されている各特徴配置情報をテーブル形式で示した図である。 画像処理装置199に適用可能なコンピュータのハードウェア構成例を示すブロック図である。

Claims (14)

  1. 撮像装置によって撮像した撮像画像を入力する画像入力手段と、
    前記撮像画像から検出された特徴の画像座標を入力する特徴入力手段と
    前記検出された特徴の画像座標を現実空間における3次元配置へと逆投影する逆投影手段と、
    前記撮像画像をユーザに提示する制御を行う提示制御手段と、
    前記逆投影された3次元配置うち、前記撮像画像を提示されたユーザによって指示された3次元配置を、無効3次元配置として設定する無効設定手段と、
    記撮像画像における特徴のうち、前記逆投影された現実空間において前記無効3次元配置に対応する特徴以外の特徴用いて、前記撮像装置の位置姿勢を推定する推定手段と
    を備えることを特徴とする画像処理装置。
  2. 前記逆投影された3次元配置を示す配置画像を生成する配置画像生成手段と、
    前記配置画像を前記撮像画像に重畳する重畳手段と
    を有し、
    前記提示制御手段が、前記配置画像が重畳された撮像画像をユーザに提示する制御を行うことを特徴とする請求項1に記載の画像処理装置。
  3. 前記配置画像生成手段が、前記逆投影された3次元配置のうち、前記無効3次元配置以外の3次元配置を示す配置画像を生成することを特徴とする請求項2に記載の画像処理装置。
  4. 前記無効設定手段が、前記逆投影された3次元配置のうち、前記撮像画像を提示されたユーザによって指示された領域に含まれる3次元配置を、前記無効3次元配置として設定することを特徴とする請求項1乃至3の何れか1項に記載の画像処理装置。
  5. 前記提示制御手段が、前記現実空間に対応して配置される3次元モデルであって、ユーザが指示することによって配置若しくは形状が変更できる3次元モデルを前記撮像画像に重畳して、当該重畳後の撮像画像をユーザに提示する制御を行い、
    前記無効設定手段が、前記逆投影された3次元配置のうち、前記3次元モデルの内部領域に含まれる3次元配置を、前記無効3次元配置として設定することを特徴とする請求項1乃至3の何れか1項に記載の画像処理装置。
  6. 前記画像入力手段が、前記撮像装置によって撮像した撮像画像の各フレームを入力し、
    前記無効設定手段が、前記逆投影された3次元配置のうち、前記撮像画像の過去のフレームを提示されたユーザによって指示された3次元配置を、前記無効3次元配置として設定し、
    前記推定手段が、前記撮像画像の現在のフレームにおける特徴のうち、前記過去のフレームについて設定された前記無効3次元配置に対応する特徴以外の特徴を用いて、前記撮像装置の位置姿勢を推定することを特徴とする請求項1乃至5の何れか1項に記載の画像処理装置。
  7. 記特徴は、前記撮像画像上で点として検出される特徴、線として検出される特徴、多角形形状として検出される特徴のうち、少なくとも1つを含むことを特徴とする請求項1乃至6の何れか1項に記載の画像処理装置。
  8. 前記無効設定手段が、前記逆投影された3次元配置のうち、ユーザ操作により個別若しくは一括して選択された3次元配置、前記無効3次元配置して設定することを特徴とする請求項1乃至7の何れか1項に記載の画像処理装置。
  9. 前記撮像画像は、前記現実空間の動画像を構成する各フレームの画像であることを特徴とする請求項1乃至の何れか1項に記載の画像処理装置。
  10. 前記提示制御手段が、前記推定手段が求めた位置姿勢に基づいて、前記3次元配置対応する前記撮像画像上の領域を求め、予め設定された画像を当該領域に対して合成することで更新した前記撮像画像を、更新撮像画像として提示する制御を行うことを特徴とする請求項1乃至の何れか1項に記載の画像処理装置。
  11. ユーザにより指定された視点の位置姿勢に応じて決まる面上で、前記3次元配置対応する領域を当該視点の位置姿勢に基づいて求め、予め設定された画像を当該領域に対して表示した仮想の画像を生成する仮想画像生成手段をさらに備え、
    前記提示制御手段が、前記更新撮像画像、前記仮想の画像のうち何れか1つを提示する制御を行うことを特徴とする請求項10に記載の画像処理装置。
  12. 前記推定手段により求められた位置姿勢に基づいて、仮想空間の画像を生成する生成手段をさらに備え、
    前記提示制御手段が、前記仮想空間の画像を提示する制御を行うことを特徴とする請求項1乃至の何れか1項に記載の画像処理装置。
  13. 画像処理装置が行う画像処理方法であって、
    前記画像処理装置の画像入力手段が、撮像装置によって撮像した撮像画像を入力する画像入力工程と、
    前記画像処理装置の特徴入力手段が、前記撮像画像から検出された特徴の画像座標を入力する特徴入力工程と
    前記画像処理装置の逆投影手段が、前記検出された特徴の画像座標を現実空間における3次元配置へと逆投影する逆投影工程と、
    前記画像処理装置の提示制御手段が、前記撮像画像をユーザに提示する制御を行う提示制御工程と、
    前記画像処理装置の無効設定手段が、前記逆投影された3次元配置うち、前記撮像画像を提示されたユーザによって指示された3次元配置を、無効3次元配置として設定する無効設定工程と、
    前記画像処理装置の推定手段が、前記撮像画像おける特徴のうち、前記逆投影された現実空間において前記無効3次元配置に対応する特徴以外の特徴用いて、記撮像装置の位置姿勢を推定する推定工程と
    有することを特徴とする画像処理方法。
  14. 請求項13に記載の画像処理方法の各工程をコンピュータに実行させるためのプログラム。
JP2007282350A 2007-10-30 2007-10-30 画像処理装置、画像処理方法 Active JP4956375B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2007282350A JP4956375B2 (ja) 2007-10-30 2007-10-30 画像処理装置、画像処理方法
US12/257,260 US9135513B2 (en) 2007-10-30 2008-10-23 Image processing apparatus and method for obtaining position and orientation of imaging apparatus
US14/823,263 US9767563B2 (en) 2007-10-30 2015-08-11 Image processing apparatus and method for obtaining position and orientation of imaging apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007282350A JP4956375B2 (ja) 2007-10-30 2007-10-30 画像処理装置、画像処理方法

Publications (3)

Publication Number Publication Date
JP2009110304A JP2009110304A (ja) 2009-05-21
JP2009110304A5 JP2009110304A5 (ja) 2010-09-16
JP4956375B2 true JP4956375B2 (ja) 2012-06-20

Family

ID=40582896

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007282350A Active JP4956375B2 (ja) 2007-10-30 2007-10-30 画像処理装置、画像処理方法

Country Status (2)

Country Link
US (2) US9135513B2 (ja)
JP (1) JP4956375B2 (ja)

Families Citing this family (117)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5403861B2 (ja) * 2006-11-06 2014-01-29 キヤノン株式会社 情報処理装置、情報処理方法
JP4956375B2 (ja) * 2007-10-30 2012-06-20 キヤノン株式会社 画像処理装置、画像処理方法
US8290204B2 (en) * 2008-02-12 2012-10-16 Certusview Technologies, Llc Searchable electronic records of underground facility locate marking operations
WO2009111047A2 (en) 2008-03-05 2009-09-11 Ebay Inc. Method and apparatus for image recognition services
US9495386B2 (en) 2008-03-05 2016-11-15 Ebay Inc. Identification of items depicted in images
US9952664B2 (en) 2014-01-21 2018-04-24 Osterhout Group, Inc. Eye imaging in head worn computing
US9229233B2 (en) 2014-02-11 2016-01-05 Osterhout Group, Inc. Micro Doppler presentations in head worn computing
US9715112B2 (en) 2014-01-21 2017-07-25 Osterhout Group, Inc. Suppression of stray light in head worn computing
US20150205111A1 (en) 2014-01-21 2015-07-23 Osterhout Group, Inc. Optical configurations for head worn computing
US9298007B2 (en) 2014-01-21 2016-03-29 Osterhout Group, Inc. Eye imaging in head worn computing
US9965681B2 (en) 2008-12-16 2018-05-08 Osterhout Group, Inc. Eye imaging in head worn computing
US9400390B2 (en) 2014-01-24 2016-07-26 Osterhout Group, Inc. Peripheral lighting for head worn computing
US9164577B2 (en) * 2009-12-22 2015-10-20 Ebay Inc. Augmented reality system, method, and apparatus for displaying an item image in a contextual environment
JP5424405B2 (ja) * 2010-01-14 2014-02-26 学校法人立命館 複合現実感技術による画像生成方法及び画像生成システム
JP6016322B2 (ja) * 2010-03-19 2016-10-26 ソニー株式会社 情報処理装置、情報処理方法、およびプログラム
US9635251B2 (en) 2010-05-21 2017-04-25 Qualcomm Incorporated Visual tracking using panoramas on mobile devices
US8933986B2 (en) * 2010-05-28 2015-01-13 Qualcomm Incorporated North centered orientation tracking in uninformed environments
JP5158162B2 (ja) * 2010-09-14 2013-03-06 日本電気株式会社 拡張現実表示システム、拡張現実表示方法および拡張現実表示プログラム
KR101867558B1 (ko) * 2010-12-21 2018-06-15 퀄컴 인코포레이티드 뷰이미지의 적어도 하나의 피처에 주석을 달기 위한 컴퓨터화 방법 및 장치
JP5671349B2 (ja) * 2011-01-06 2015-02-18 任天堂株式会社 画像処理プログラム、画像処理装置、画像処理システム、および画像処理方法
JP4989768B2 (ja) 2011-02-24 2012-08-01 任天堂株式会社 画像処理プログラム、画像処理装置、画像処理システム、および画像処理方法
JP5026604B2 (ja) 2011-02-24 2012-09-12 任天堂株式会社 画像認識プログラム、画像認識装置、画像認識システム、および画像認識方法
JP2011134343A (ja) 2011-02-24 2011-07-07 Nintendo Co Ltd 画像処理プログラム、画像処理装置、画像処理システム、および画像処理方法
JP4967065B2 (ja) 2011-02-24 2012-07-04 任天堂株式会社 画像処理プログラム、画像処理装置、画像処理システム、および画像処理方法
JP5178860B2 (ja) * 2011-02-24 2013-04-10 任天堂株式会社 画像認識プログラム、画像認識装置、画像認識システム、および画像認識方法
JP5016723B2 (ja) 2011-02-24 2012-09-05 任天堂株式会社 画像認識プログラム、画像認識装置、画像認識システム、および画像認識方法
US8937663B2 (en) * 2011-04-01 2015-01-20 Microsoft Corporation Camera and sensor augmented reality techniques
US8638986B2 (en) 2011-04-20 2014-01-28 Qualcomm Incorporated Online reference patch generation and pose estimation for augmented reality
US20150172628A1 (en) * 2011-06-30 2015-06-18 Google Inc. Altering Automatically-Generated Three-Dimensional Models Using Photogrammetry
US8217856B1 (en) 2011-07-27 2012-07-10 Google Inc. Head-mounted display that displays a visual representation of physical interaction with an input interface located outside of the field of view
KR101971948B1 (ko) * 2011-07-28 2019-04-24 삼성전자주식회사 평면 특성 기반 마커리스 증강 현실 시스템 및 그 동작 방법
JP2013031034A (ja) * 2011-07-29 2013-02-07 Sony Corp 画像編集プログラム、画像編集方法、画像編集装置、記録媒体
US9449342B2 (en) 2011-10-27 2016-09-20 Ebay Inc. System and method for visualization of items in an environment using augmented reality
AU2011253973B2 (en) * 2011-12-12 2015-03-12 Canon Kabushiki Kaisha Keyframe selection for parallel tracking and mapping
US20130259403A1 (en) * 2012-04-03 2013-10-03 Oluwatosin Osinusi Flexible easy-to-use system and method of automatically inserting a photorealistic view of a two or three dimensional object into an image using a cd,dvd or blu-ray disc
US9852542B1 (en) * 2012-04-13 2017-12-26 Google Llc Methods and apparatus related to georeferenced pose of 3D models
US9224205B2 (en) 2012-06-14 2015-12-29 Qualcomm Incorporated Accelerated geometric shape detection and accurate pose tracking
US10846766B2 (en) 2012-06-29 2020-11-24 Ebay Inc. Contextual menus based on image recognition
DE102012014995A1 (de) * 2012-07-28 2014-01-30 Volkswagen Aktiengesellschaft Verfahren zum Betrieb eines Augmented-Reality-Systems
US20140098336A1 (en) * 2012-10-10 2014-04-10 Shenzhen China Star Optoelectronics Technology Co., Ltd Optical detection method of lcd panel by photo-alignment and detection device thereof
US20140205138A1 (en) * 2013-01-18 2014-07-24 Microsoft Corporation Detecting the location of a keyboard on a desktop
US20140372419A1 (en) * 2013-06-13 2014-12-18 Microsoft Corporation Tile-centric user interface for query-based representative content of search result documents
US9406137B2 (en) * 2013-06-14 2016-08-02 Qualcomm Incorporated Robust tracking using point and line features
US9596404B2 (en) * 2013-10-23 2017-03-14 Nokia Technologies Oy Method and apparatus for generating a media capture request using camera pose information
US9986140B2 (en) 2013-11-21 2018-05-29 International Business Machines Corporation Utilizing metadata for automated photographic setup
US9746686B2 (en) 2014-05-19 2017-08-29 Osterhout Group, Inc. Content position calibration in head worn computing
US9448409B2 (en) 2014-11-26 2016-09-20 Osterhout Group, Inc. See-through computer display systems
US9671613B2 (en) 2014-09-26 2017-06-06 Osterhout Group, Inc. See-through computer display systems
US20150277118A1 (en) 2014-03-28 2015-10-01 Osterhout Group, Inc. Sensor dependent content position in head worn computing
US9529195B2 (en) 2014-01-21 2016-12-27 Osterhout Group, Inc. See-through computer display systems
US11227294B2 (en) 2014-04-03 2022-01-18 Mentor Acquisition One, Llc Sight information collection in head worn computing
US10684687B2 (en) 2014-12-03 2020-06-16 Mentor Acquisition One, Llc See-through computer display systems
US10191279B2 (en) 2014-03-17 2019-01-29 Osterhout Group, Inc. Eye imaging in head worn computing
US9939934B2 (en) 2014-01-17 2018-04-10 Osterhout Group, Inc. External user interface for head worn computing
US9299194B2 (en) 2014-02-14 2016-03-29 Osterhout Group, Inc. Secure sharing in head worn computing
US9841599B2 (en) 2014-06-05 2017-12-12 Osterhout Group, Inc. Optical configurations for head-worn see-through displays
US20160019715A1 (en) 2014-07-15 2016-01-21 Osterhout Group, Inc. Content presentation in head worn computing
US9810906B2 (en) 2014-06-17 2017-11-07 Osterhout Group, Inc. External user interface for head worn computing
US9829707B2 (en) 2014-08-12 2017-11-28 Osterhout Group, Inc. Measuring content brightness in head worn computing
US10649220B2 (en) 2014-06-09 2020-05-12 Mentor Acquisition One, Llc Content presentation in head worn computing
US10254856B2 (en) 2014-01-17 2019-04-09 Osterhout Group, Inc. External user interface for head worn computing
US11103122B2 (en) 2014-07-15 2021-08-31 Mentor Acquisition One, Llc Content presentation in head worn computing
US20150309562A1 (en) * 2014-04-25 2015-10-29 Osterhout Group, Inc. In-vehicle use in head worn computing
US9575321B2 (en) 2014-06-09 2017-02-21 Osterhout Group, Inc. Content presentation in head worn computing
US9594246B2 (en) 2014-01-21 2017-03-14 Osterhout Group, Inc. See-through computer display systems
US9836122B2 (en) 2014-01-21 2017-12-05 Osterhout Group, Inc. Eye glint imaging in see-through computer display systems
US9651784B2 (en) 2014-01-21 2017-05-16 Osterhout Group, Inc. See-through computer display systems
US9494800B2 (en) 2014-01-21 2016-11-15 Osterhout Group, Inc. See-through computer display systems
US9766463B2 (en) 2014-01-21 2017-09-19 Osterhout Group, Inc. See-through computer display systems
US11892644B2 (en) 2014-01-21 2024-02-06 Mentor Acquisition One, Llc See-through computer display systems
US9753288B2 (en) 2014-01-21 2017-09-05 Osterhout Group, Inc. See-through computer display systems
US9532714B2 (en) 2014-01-21 2017-01-03 Osterhout Group, Inc. Eye imaging in head worn computing
US9811159B2 (en) 2014-01-21 2017-11-07 Osterhout Group, Inc. Eye imaging in head worn computing
US11669163B2 (en) 2014-01-21 2023-06-06 Mentor Acquisition One, Llc Eye glint imaging in see-through computer display systems
US9523856B2 (en) 2014-01-21 2016-12-20 Osterhout Group, Inc. See-through computer display systems
US20150205135A1 (en) 2014-01-21 2015-07-23 Osterhout Group, Inc. See-through computer display systems
US11487110B2 (en) 2014-01-21 2022-11-01 Mentor Acquisition One, Llc Eye imaging in head worn computing
US11737666B2 (en) 2014-01-21 2023-08-29 Mentor Acquisition One, Llc Eye imaging in head worn computing
US9846308B2 (en) 2014-01-24 2017-12-19 Osterhout Group, Inc. Haptic systems for head-worn computers
US20150241964A1 (en) 2014-02-11 2015-08-27 Osterhout Group, Inc. Eye imaging in head worn computing
US9401540B2 (en) 2014-02-11 2016-07-26 Osterhout Group, Inc. Spatial location presentation in head worn computing
US20160187651A1 (en) 2014-03-28 2016-06-30 Osterhout Group, Inc. Safety for a vehicle operator with an hmd
US9423842B2 (en) 2014-09-18 2016-08-23 Osterhout Group, Inc. Thermal management for head-worn computer
US10853589B2 (en) 2014-04-25 2020-12-01 Mentor Acquisition One, Llc Language translation with head-worn computing
US9672210B2 (en) 2014-04-25 2017-06-06 Osterhout Group, Inc. Language translation with head-worn computing
US9651787B2 (en) 2014-04-25 2017-05-16 Osterhout Group, Inc. Speaker assembly for headworn computer
US9688403B2 (en) 2014-05-20 2017-06-27 Infatics, Inc. Method for adaptive mission execution on an unmanned aerial vehicle
US10663740B2 (en) 2014-06-09 2020-05-26 Mentor Acquisition One, Llc Content presentation in head worn computing
JP6488591B2 (ja) * 2014-08-27 2019-03-27 株式会社リコー 画像処理装置、画像処理方法、及びプログラム
US9734634B1 (en) 2014-09-26 2017-08-15 A9.Com, Inc. Augmented reality product preview
JP2016086245A (ja) * 2014-10-23 2016-05-19 キヤノン株式会社 画像処理装置、画像処理システム、画像処理装置の制御方法およびプログラム
US9684172B2 (en) 2014-12-03 2017-06-20 Osterhout Group, Inc. Head worn computer display systems
USD751552S1 (en) 2014-12-31 2016-03-15 Osterhout Group, Inc. Computer glasses
USD753114S1 (en) 2015-01-05 2016-04-05 Osterhout Group, Inc. Air mouse
US20160239985A1 (en) 2015-02-17 2016-08-18 Osterhout Group, Inc. See-through computer display systems
JP6761938B2 (ja) * 2015-07-28 2020-09-30 パナソニックIpマネジメント株式会社 移動方向決定方法および移動方向決定装置
JP2017059041A (ja) * 2015-09-17 2017-03-23 株式会社リコー 画像処理装置、画像処理方法、およびプログラム
JP5991418B2 (ja) * 2015-10-02 2016-09-14 ソニー株式会社 画像処理装置、画像処理方法及びプログラム
US9869863B2 (en) 2015-10-05 2018-01-16 Unity IPR ApS Systems and methods for processing a 2D video
JP6701930B2 (ja) 2016-04-28 2020-05-27 富士通株式会社 オーサリング装置、オーサリング方法およびオーサリングプログラム
CN111291584B (zh) 2016-07-22 2023-05-02 创新先进技术有限公司 识别二维码位置的方法及其系统
WO2018045551A1 (en) * 2016-09-09 2018-03-15 Intel Corporation Training and deploying pose regressions in neural networks in autonomous machines
US9934592B1 (en) * 2016-11-15 2018-04-03 Carl Zeiss Industrielle Messtechnik Gmbh Method and system for determining a 6-DOF-pose of an object in space
US10922836B2 (en) 2016-11-15 2021-02-16 Carl Zeiss Industrielle Messtechnik Gmbh Method and system for determining a 3D position of an object in space
WO2018144929A1 (en) 2017-02-02 2018-08-09 Infatics, Inc. (DBA DroneDeploy) System and methods for improved aerial mapping with aerial vehicles
US10627232B2 (en) 2017-06-27 2020-04-21 Infatics, Inc. Method and system for aerial image processing
JP6836979B2 (ja) * 2017-09-29 2021-03-03 株式会社Nttドコモ 映像表示システム
US10497182B2 (en) * 2017-10-03 2019-12-03 Blueprint Reality Inc. Mixed reality cinematography using remote activity stations
US10922878B2 (en) * 2017-10-04 2021-02-16 Google Llc Lighting for inserted content
CN109975362B (zh) * 2017-12-27 2021-06-22 财团法人工业技术研究院 氧化性气体浓度检测方法及其装置
JP6985609B2 (ja) * 2018-05-21 2021-12-22 日本電信電話株式会社 符号化装置、画像補間システム及び符号化プログラム
US11002541B2 (en) 2019-07-23 2021-05-11 Trimble Inc. Target positioning with electronic distance measuring and bundle adjustment
US10997747B2 (en) * 2019-05-09 2021-05-04 Trimble Inc. Target positioning with bundle adjustment
JP7341736B2 (ja) * 2019-06-06 2023-09-11 キヤノン株式会社 情報処理装置、情報処理方法及びプログラム
JP7321047B2 (ja) * 2019-09-30 2023-08-04 日立建機株式会社 作業車両
US11023730B1 (en) * 2020-01-02 2021-06-01 International Business Machines Corporation Fine-grained visual recognition in mobile augmented reality
US11199940B1 (en) * 2020-04-21 2021-12-14 Corel Corporation Three-dimensional operations based on planar projections in graphic user interfaces

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5414474A (en) * 1992-03-04 1995-05-09 Fujitsu Limited Moving body recognition apparatus
JP3279913B2 (ja) * 1996-03-18 2002-04-30 株式会社東芝 人物認証装置、特徴点抽出装置及び特徴点抽出方法
US6160907A (en) * 1997-04-07 2000-12-12 Synapix, Inc. Iterative three-dimensional process for creating finished media content
JP4327289B2 (ja) * 1999-02-12 2009-09-09 Juki株式会社 部品認識方法および装置
JP2000350865A (ja) * 1999-06-11 2000-12-19 Mr System Kenkyusho:Kk 複合現実空間のゲーム装置、その画像処理方法およびプログラム記憶媒体
JP4242529B2 (ja) * 1999-10-27 2009-03-25 オリンパス株式会社 関連情報呈示装置及び関連情報呈示方法
JP2001266151A (ja) * 2000-03-17 2001-09-28 Toshiba Corp 個人識別装置および個人識別方法
JP2002057930A (ja) * 2000-05-30 2002-02-22 Fuji Photo Film Co Ltd ディジタル・スチル・カメラおよびその動作制御方法
JP2002157607A (ja) * 2000-11-17 2002-05-31 Canon Inc 画像生成システム、画像生成方法および記憶媒体
US20040085443A1 (en) * 2000-12-13 2004-05-06 Kallioniemi Olli P Method and system for processing regions of interest for objects comprising biological material
US7200270B2 (en) * 2001-12-13 2007-04-03 Kabushiki Kaisha Toshiba Pattern recognition apparatus and method using distributed model representation of partial images
EP1349114A3 (en) * 2002-03-19 2011-06-15 Canon Kabushiki Kaisha Sensor calibration apparatus, sensor calibration method, program, storage medium, information processing method, and information processing apparatus
JP3986866B2 (ja) * 2002-03-29 2007-10-03 松下電器産業株式会社 画像処理装置及び超音波診断装置
US7576727B2 (en) * 2002-12-13 2009-08-18 Matthew Bell Interactive directed light/sound system
US7162338B2 (en) * 2002-12-17 2007-01-09 Evolution Robotics, Inc. Systems and methods for computing a relative pose for global localization in a visual simultaneous localization and mapping system
JP4253567B2 (ja) * 2003-03-28 2009-04-15 オリンパス株式会社 データオーサリング処理装置
KR100471089B1 (ko) * 2003-04-15 2005-03-10 삼성전자주식회사 디스플레이장치 및 그 화상처리방법
US7693308B2 (en) * 2004-03-24 2010-04-06 Fujifilm Corporation Authentication system, authentication method, machine readable medium storing thereon authentication program, certificate photograph taking apparatus, and certificate photograph taking method
JP4137078B2 (ja) * 2005-04-01 2008-08-20 キヤノン株式会社 複合現実感情報生成装置および方法
EP1739622B1 (en) * 2005-06-28 2013-08-14 Canon Kabushiki Kaisha Image feature identification with two cameras
JP4835134B2 (ja) * 2005-12-06 2011-12-14 ソニー株式会社 画像表示装置、画像表示方法、および、プログラム
JP4739004B2 (ja) * 2005-12-15 2011-08-03 キヤノン株式会社 情報処理装置及び情報処理方法
JP4916167B2 (ja) * 2005-12-15 2012-04-11 キヤノン株式会社 指標識別方法及び指標識別装置
JP4926817B2 (ja) * 2006-08-11 2012-05-09 キヤノン株式会社 指標配置情報計測装置および方法
JP4274233B2 (ja) * 2006-11-30 2009-06-03 ソニー株式会社 撮影装置、画像処理装置、および、これらにおける画像処理方法ならびに当該方法をコンピュータに実行させるプログラム
JP5084291B2 (ja) * 2007-02-06 2012-11-28 キヤノン株式会社 画像処理装置および方法
JP4956375B2 (ja) * 2007-10-30 2012-06-20 キヤノン株式会社 画像処理装置、画像処理方法
JP4997070B2 (ja) * 2007-10-31 2012-08-08 京セラドキュメントソリューションズ株式会社 電気機器、画像表示制御方法、及び、画像表示制御プログラム
US8411086B2 (en) * 2009-02-24 2013-04-02 Fuji Xerox Co., Ltd. Model creation using visual markup languages
JP2010226705A (ja) * 2009-02-27 2010-10-07 Sanyo Electric Co Ltd 撮像システム

Also Published As

Publication number Publication date
US9135513B2 (en) 2015-09-15
US20150348272A1 (en) 2015-12-03
US20090110241A1 (en) 2009-04-30
US9767563B2 (en) 2017-09-19
JP2009110304A (ja) 2009-05-21

Similar Documents

Publication Publication Date Title
JP4956375B2 (ja) 画像処理装置、画像処理方法
KR100869447B1 (ko) 3차원 모델링 없이 이미지 처리에 의해 타겟을 지시하는 장치 및 방법
JP4599184B2 (ja) 指標配置計測方法、指標配置計測装置
US20070006091A1 (en) Image processing method and image processing apparatus
JP5093053B2 (ja) 電子カメラ
US20050174361A1 (en) Image processing method and apparatus
JP2004151085A (ja) 情報処理方法及び情報処理装置
JP2000307949A (ja) 画像の補間方法、画像処理方法、画像表示方法、画像処理装置、画像表示装置、及びコンピュータプログラム記憶媒体
JP2008275341A (ja) 情報処理装置、情報処理方法
JP4367926B2 (ja) 画像合成システムおよび画像合成方法、および画像合成装置
JP2019083402A (ja) 画像処理装置、画像処理システム、画像処理方法、及びプログラム
JP2013182523A (ja) 画像処理装置、画像処理システム、画像処理方法
KR101875047B1 (ko) 사진측량을 이용한 3d 모델링 시스템 및 방법
JP2004234549A (ja) 現実物体モデル作成方法
JP4926598B2 (ja) 情報処理方法、情報処理装置
JP2006048484A (ja) デザイン支援装置
JP2002352271A (ja) 3次元画像取得装置
JP4562183B2 (ja) 情報処理方法、情報処理装置
JP3817505B2 (ja) 情報処理方法及び情報処理装置
JP3575469B2 (ja) 合成動画像生成装置および合成動画像生成方法
JP6204891B2 (ja) 画像表示装置、方法、及びプログラム
JP4934577B2 (ja) 画像処理装置及び画像処理方法
WO2023145571A1 (ja) 情報処理装置、情報処理方法、データ構造及びプログラム
JP6703283B2 (ja) 情報処理装置、その制御方法、及びプログラム
JP2005018385A (ja) 作業情報提供装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100729

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100729

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111115

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111118

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120117

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120316

R151 Written notification of patent or utility model registration

Ref document number: 4956375

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150323

Year of fee payment: 3