(57)【特許請求の範囲】
【請求項１】
撮像装置によって撮像した撮像画像を入力する画像入力手段と、
前記撮像画像から検出された特徴の画像座標を入力する特徴入力手段と、
前記検出された特徴の画像座標を現実空間における３次元配置へと逆投影する逆投影手段と、
前記撮像画像をユーザに提示する制御を行う提示制御手段と、
前記逆投影された３次元配置のうち、前記撮像画像を提示されたユーザによって指示された３次元配置を、無効３次元配置として設定する無効設定手段と、
前記撮像画像における特徴のうち、前記逆投影された現実空間において前記無効３次元配置に対応する特徴以外の特徴を用いて、前記撮像装置の位置姿勢を推定する推定手段と
を備えることを特徴とする画像処理装置。
【請求項２】
前記逆投影された３次元配置を示す配置画像を生成する配置画像生成手段と、
前記配置画像を前記撮像画像に重畳する重畳手段と
を有し、
前記提示制御手段が、前記配置画像が重畳された撮像画像をユーザに提示する制御を行うことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記配置画像生成手段が、前記逆投影された３次元配置のうち、前記無効３次元配置以外の３次元配置を示す配置画像を生成することを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記無効設定手段が、前記逆投影された３次元配置のうち、前記撮像画像を提示されたユーザによって指示された領域に含まれる３次元配置を、前記無効３次元配置として設定することを特徴とする請求項１乃至３の何れか１項に記載の画像処理装置。
【請求項５】
前記提示制御手段が、前記現実空間に対応して配置される３次元モデルであって、ユーザが指示することによって配置若しくは形状が変更できる３次元モデルを前記撮像画像に重畳して、当該重畳後の撮像画像をユーザに提示する制御を行い、
前記無効設定手段が、前記逆投影された３次元配置のうち、前記３次元モデルの内部領域に含まれる３次元配置を、前記無効３次元配置として設定することを特徴とする請求項１乃至３の何れか１項に記載の画像処理装置。
【請求項６】
前記画像入力手段が、前記撮像装置によって撮像した撮像画像の各フレームを入力し、
前記無効設定手段が、前記逆投影された３次元配置のうち、前記撮像画像の過去のフレームを提示されたユーザによって指示された３次元配置を、前記無効３次元配置として設定し、
前記推定手段が、前記撮像画像の現在のフレームにおける特徴のうち、前記過去のフレームについて設定された前記無効３次元配置に対応する特徴以外の特徴を用いて、前記撮像装置の位置姿勢を推定することを特徴とする請求項１乃至５の何れか１項に記載の画像処理装置。
【請求項７】
前記特徴は、前記撮像画像上で点として検出される特徴、線として検出される特徴、多角形形状として検出される特徴のうち、少なくとも１つを含むことを特徴とする請求項１乃至６の何れか１項に記載の画像処理装置。
【請求項８】
前記無効設定手段が、前記逆投影された３次元配置のうち、ユーザ操作により個別若しくは一括して選択された３次元配置を、前記無効３次元配置として設定することを特徴とする請求項１乃至７の何れか１項に記載の画像処理装置。
【請求項９】
前記撮像画像は、前記現実空間の動画像を構成する各フレームの画像であることを特徴とする請求項１乃至８の何れか１項に記載の画像処理装置。
【請求項１０】
前記提示制御手段が、前記推定手段が求めた位置姿勢に基づいて、前記３次元配置に対応する前記撮像画像上の領域を求め、予め設定された画像を当該領域に対して合成することで更新した前記撮像画像を、更新撮像画像として提示する制御を行うことを特徴とする請求項１乃至９の何れか１項に記載の画像処理装置。
【請求項１１】
ユーザにより指定された視点の位置姿勢に応じて決まる面上で、前記３次元配置に対応する領域を当該視点の位置姿勢に基づいて求め、予め設定された画像を当該領域に対して表示した仮想の画像を生成する仮想画像生成手段をさらに備え、
前記提示制御手段が、前記更新撮像画像、前記仮想の画像のうち何れか１つを提示する制御を行うことを特徴とする請求項１０に記載の画像処理装置。
【請求項１２】
前記推定手段により求められた位置姿勢に基づいて、仮想空間の画像を生成する生成手段をさらに備え、
前記提示制御手段が、前記仮想空間の画像を提示する制御を行うことを特徴とする請求項１乃至９の何れか１項に記載の画像処理装置。
【請求項１３】
画像処理装置が行う画像処理方法であって、
前記画像処理装置の画像入力手段が、撮像装置によって撮像した撮像画像を入力する画像入力工程と、
前記画像処理装置の特徴入力手段が、前記撮像画像から検出された特徴の画像座標を入力する特徴入力工程と、
前記画像処理装置の逆投影手段が、前記検出された特徴の画像座標を現実空間における３次元配置へと逆投影する逆投影工程と、
前記画像処理装置の提示制御手段が、前記撮像画像をユーザに提示する制御を行う提示制御工程と、
前記画像処理装置の無効設定手段が、前記逆投影された３次元配置のうち、前記撮像画像を提示されたユーザによって指示された３次元配置を、無効３次元配置として設定する無効設定工程と、
前記画像処理装置の推定手段が、前記撮像画像における特徴のうち、前記逆投影された現実空間において前記無効３次元配置に対応する特徴以外の特徴を用いて、前記撮像装置の位置姿勢を推定する推定工程と
を有することを特徴とする画像処理方法。
【請求項１４】
請求項１３に記載の画像処理方法の各工程をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、撮像装置の位置姿勢を、この撮像装置が撮像した画像を用いて求めるための技術に関するものである。
【背景技術】
【０００２】
空間中を移動する現実物体をカメラによって撮像し、幾何的な形状や色などの特徴（幾何特徴と呼ぶ）の画像上における投影像（画像特徴と呼ぶ）の位置を検出することで、空間中における現実物体の位置や姿勢を計測することが行われている。また、空間中の幾何特徴を撮影することで、撮影しているカメラの空間中での位置や姿勢を推定することが行われている。このような位置姿勢計測方法においては、画像に写り込む幾何特徴の夫々の３次元配置情報（以後、特徴配置情報、もしくは省略して配置情報と呼ぶ）をあらかじめ用意する必要がある。
【０００３】
単純に、現実空間中で夫々の幾何特徴の配置情報を、測定器や定規で測定する方法が考えられる。しかし、計測の手間がかかる、若しくは計測精度が低い等の理由により、実施が困難な場合があった。これを解決するために、例えば、非特許文献１では、位置姿勢が既知である複数のカメラからの画像から検出した画像特徴の座標に基づいて、空間中における幾何特徴の配置情報を自動的に算出している。
【０００４】
また、マッチムーブ技術と言われる、カメラを移動させながら撮影することで得られる動画像中の画像特徴に基づいてカメラの移動経路を生成する手法（従来技術１と呼ぶ）がある。従来技術１では、画像上の複数の特徴的な点などを動画像上で追跡することにより、自動的に特徴配置情報を得ている。しかし、従来技術１などでは、空間中で動く物体などが自動的に抽出され、追跡された場合、適切なカメラ移動経路が生成できないという課題があった。この課題を解決するために、カメラ移動経路の生成に障害となる画像特徴を手動で選択するユーザーインターフェースが提供されている。例えば、撮像した静止画像上で、追跡しない画像特徴を含むような２次元閉領域を指定し、指定領域内の画像特徴を追跡させないというインターフェースが利用されている。
【非特許文献１】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.
【発明の開示】
【発明が解決しようとする課題】
【０００５】
非特許文献１に開示の方法によって配置情報を自動的に生成する場合、誤差が大きい配置情報が登録される場合がある。また、配置情報が正しく生成できてもカメラ位置姿勢を推定するための情報として好ましくない配置情報が登録される場合がある。例えば、空間中に動く物体が存在する場合に、その物体上の幾何情報を登録してしまうと、カメラ位置姿勢を求める基準とする幾何特徴が基準座標系から動いてしまう。そのため、カメラ位置姿勢の推定値がその物体による影響を受けてしまい、誤差が生じてしまう。また、ブラインドや床の模様などのように識別性の低い繰り返しパターンのような幾何特徴が登録されてしまうと、画像特徴を誤識別する可能性が高くなり、カメラ位置姿勢の推定精度が低下する。また、不必要な幾何特徴が増加すると、処理速度の低下を招く恐れがある。
【０００６】
また、従来技術１において、除去したい物体や領域が動画像において連続して撮像されている場合には、動画像中の複数の静止画（キーフレーム）上で領域を指定すれば、選択領域を画像間で補間し、動画像における追跡対象から除去することができる。しかし、選択領域が一旦画像からフレームアウトしてしまうと、領域を再度選択する必要があり、作業効率が悪くなる場合があった。
【０００７】
本発明は以上の問題に鑑みてなされたものであり、より効率良く、撮像装置の位置姿勢を求めるための技術を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の目的は、例えば、以下の画像処理装置によって達成される。
【０００９】
即ち、撮像装置によって撮像した撮像画像を入力する画像入力手段と、
前記撮像画像から検出された特徴の画像座標を入力する特徴入力手段と、
前記検出された特徴の画像座標を現実空間における３次元配置へと逆投影する逆投影手段と、
前記撮像画像をユーザに提示する制御を行う提示制御手段と、
前記逆投影された３次元配置のうち、前記撮像画像を提示されたユーザによって指示された３次元配置を、無効３次元配置として設定する無効設定手段と、
前記撮像画像における特徴のうち、前記無効３次元配置に対応する特徴以外の特徴を用いて、前記撮像装置の位置姿勢を推定する推定手段と
を備えることを特徴とする画像処理装置。
【００１２】
本発明の目的は、例えば、以下の画像処理方法によって達成される。
【００１３】
即ち、画像処理装置が行う画像処理方法であって、
前記画像処理装置の画像入力手段が、撮像装置によって撮像した撮像画像を入力する画像入力工程と、
前記画像処理装置の特徴入力手段が、前記撮像画像から検出された特徴の画像座標を入力する特徴入力工程と、
前記画像処理装置の逆投影手段が、前記検出された特徴の画像座標を現実空間における３次元配置へと逆投影する逆投影工程と、
前記画像処理装置の提示制御手段が、前記撮像画像をユーザに提示する制御を行う提示制御工程と、
前記画像処理装置の無効設定手段が、前記逆投影された３次元配置のうち、前記撮像画像を提示されたユーザによって指示された３次元配置を、無効３次元配置として設定する無効設定工程と、
前記画像処理装置の推定手段が、前記撮像画像における特徴のうち、前記無効３次元配置に対応する特徴以外の特徴を用いて、前記撮像装置の位置姿勢を推定する推定工程と
を有することを特徴とする画像処理方法。
【発明の効果】
【００１６】
本発明の構成により、より効率良く、撮像装置の位置姿勢を求めることができる。
【発明を実施するための最良の形態】
【００１７】
以下、添付図面を参照し、本発明の好適な実施形態について説明する。なお、以下説明する実施形態は、本発明を具体的に実施した場合の一例を示すもので、特許請求の範囲に記載の構成の具体的な実施例の１つである。
【００１８】
先ずは、以下に説明する実施形態の特徴と目的を明瞭に述べるために、以下に２つの従来技術を示し、それぞれについて説明する。
【００１９】
＜従来技術１＞
図２は、動画像に対して上記従来技術１として説明したマッチムーブ技術を用いて各フレームにおけるカメラの位置姿勢を推定する装置の機能構成を示すブロック図である。
【００２０】
図２に示す如く、現実空間中には、現実物体としての机１００Ａが配置されている。そして係る現実空間では、動画像を撮像するビデオカメラ（以下、単にカメラと呼称する）１１０が自由に移動する。カメラ１１０が撮像した動画像は、画像入力部１２０を介して動画像記憶部２１０に格納される。
【００２１】
以降の処理は、特に指定しない限りは、動画像記憶部２１０に記録されている動画像（静止画の集合）に対する処理とする。
【００２２】
次に、動画像入力部２２０は、処理対象としての動画像を動画像記憶部２１０から読み出す。そして読み出した動画像を後段の画像特徴検出部１３０Ｂに送出する。
【００２３】
画像特徴検出部１３０Ｂは、動画像を構成する各フレームにおける画像特徴（机１００Ａの角点や机１００Ａの脚の設置点などの幾何特徴の、撮像画像上における投影像）を検出する。
【００２４】
画像特徴記憶部２３０には、画像特徴検出部１３０Ｂによって検出された画像特徴の画像座標が、フレーム毎に記録される。画像特徴検出部１３０Ｂは、例えば、Harrisオペレータと呼ばれる、画像上における物体の角を検出する公知の画像処理技術を用いて、連続フレーム間で対応付け可能な画像特徴を検出すればよい。
【００２５】
そして表示部２５０には、動画像記憶部２１０内のフレーム画像上における、係るフレーム画像から検出して画像特徴記憶部２３０に格納した画像座標に、この画像座標において検出された画像特徴を表す表示を合成した結果（合成画像）を表示する。そして、表示部２５０に対して、係る合成画像を表示させることによって、正常なカメラ移動経路が生成できるか否かをユーザに判断させることができる。
【００２６】
ここで、現実空間中を移動する物体（動物体）が動画像中に撮影されている場合は、ユーザが画像特徴選択入力部２２５を操作し、この動物体上の画像特徴をフレーム画像から除去する必要がある。除去する方法としては、例えば、除去したい画像特徴が含まれているフレーム画像を検索し、検索したフレーム画像上で係る画像特徴の領域を除去対象として指定すればよい。除去する領域の指定方法は、例えば、除去する領域を含む全てのフレーム画像について、除去対象の領域を囲むような多角形領域を設定すればよい。これにより、多角形領域内の画像特徴をフレーム画像から除去することができるし、除去した画像特徴の画像座標を画像特徴記憶部２３０から削除することができる。
【００２７】
撮像手段位置姿勢推定部２４０は、画像特徴記憶部２３０内に残っている画像座標を追跡する。次に、撮像手段位置姿勢推定部２４０は、追跡した夫々の画像特徴に対応する、現実空間中の幾何特徴の３次元位置（配置情報）と、カメラ１１０の移動経路と、をバンドル調整法と呼ばれる公知の手法を用いて算出する。バンドル調整法では、推定した幾何特徴の３次元位置を撮像面に投影した位置と、実際に検出された画像特徴の画像座標との差が最小になるように、幾何特徴の３次元位置とカメラ１１０の位置姿勢の最適化が行われる。
【００２８】
そして、このようにして得られたカメラ１１０の移動経路の３次元位置姿勢を表示部２５０に表示し、ユーザは結果を確認する。
【００２９】
このような従来技術１を用いると、未知の画像特徴であっても自動的に配置情報を生成することができる。しかし、推定誤差を招く画像特徴をフレーム画像から除去する方法としては、２次元画像内で画像特徴を２次元的に選択する方法しか備えていない。そのため、前述したように、注目する物体がフレームアウトすると、再度フレームインしたときに追跡されるのであるが、この場合、再度除去する画像特徴の領域を指定する必要があるために、手間がかかっていた。
【００３０】
＜従来技術２＞
図３は、非特許文献１で開示されている、未知の幾何特徴の配置情報を自動的に生成すると共に、カメラ１１０の位置姿勢をも推定する、装置の機能構成を示すブロック図である。図３において、図２と同じ部分には同じ参照番号を付している。
【００３１】
図３においても、現実空間中には机１００Ａが配置されているが、更に、係る机１００Ａの上には、マーカ１００Ｄが配置されている。図３の例では、マーカ１００Ｄは、非特許文献１に開示されているように、予め配置情報が既知の正方形形状のマーカである。係るマーカ１００Ｄには、例えば、非特許文献２に示されているマーカを利用してもよい。非特許文献２とは、加藤ら：”マーカー追跡に基づく拡張現実感システムとそのキャリブレーション”, 日本VR 学会論文誌, Vol.4, No.4,pp.607-616 (1999)である。
【００３２】
カメラ１１０は係る現実空間の動画像を撮像し、撮像した各フレームにおける画像（フレーム画像）は順次、画像入力部１２０を介して画像特徴検出部１３０Ｃ、表示部１９０に送出される。以降の処理は、特に指定しない限り、１フレーム毎のフレーム画像に対する処理である。
【００３３】
画像特徴検出部１３０Ｃは、画像入力部１２０から入力されたフレーム画像に対して二値化処理を行い、二値画像を生成する。そして画像特徴検出部１３０Ｃは、この生成した二値画像から、マーカ１００Ｄを検出する処理を行う。また、画像特徴検出部１３０Ｃは、机１００Ａ等の稜線や色変化による線分も検出する。なお、マーカ１００Ｄの検出については、例えば、非特許文献２に開示されているような方法を用いて行えばよい。即ち、二値画像から四角形形状領域を検出し、検出した四角形形状領域の内部のパターンに基づいて、マーカ１００Ｄであることが認識されればよい。また、線特徴に関しては、画像特徴検出部１３０Ｃが、フレーム画像から線分を抽出し、２つの端点の画像座標を配置情報生成部１４０に記録する（このフレーム画像上の２点を結ぶ線分を線特徴と呼ぶ）。ただし、端点のうち少なくとも１つがフレーム画像の端にある場合、即ち、線特徴の幾何情報が画面内に収まっていない場合は、線特徴として記録しないものとする。マーカ１００Ｄと線特徴とを表す画像座標は、配置情報生成部１４０に記録される。
【００３４】
配置情報生成部１４０は、カメラ１１０の初期位置姿勢を求めるために、マーカ１００Ｄの画像座標を撮像手段位置姿勢推定部１８５に出力する。
【００３５】
撮像手段位置姿勢推定部１８５は先ず、配置情報生成部１４０から入力されたマーカ１００Ｄの画像座標と、配置情報記憶部３１０にあらかじめ格納されている「マーカ１００Ｄの配置情報」と、に基づいて、カメラ１１０の位置姿勢を求める。カメラ１１０とマーカ１００Ｄとの相対位置姿勢は、非特許文献２に開示されているように、公知の非線形最適化演算によって求めることができる。即ち、マーカ１００Ｄを検出したときの４頂点の画像座標と、マーカ１００Ｄの４頂点の配置情報を撮像面に投影した場合の画像座標と、の誤差が最小になるようなカメラ１１０の位置姿勢を、非線形最適化の繰り返しによって求めればよい。このような処理を、投影誤差の非線形最適化と呼ぶ。このような投影誤差の非線形最適化を行うためには、初期値としてのカメラ１１０の位置姿勢が必要となる。この初期値としては、例えば、前フレームにおける処理によって推定したカメラ１１０の位置姿勢を利用すればよい。また、マーカ１００Ｄの配置情報は、現実空間における基準座標系で記述されているため、座標変換を行うことにより、撮像手段位置姿勢推定部１８５は、基準座標系におけるカメラ１１０の位置姿勢を求めることができる。
【００３６】
配置情報生成部１４０は次に、撮像手段位置姿勢推定部１８５が求めたカメラ１１０の位置姿勢を、撮像手段位置姿勢推定部１８５から取得する。そして配置情報生成部１４０は、カメラ１１０の位置と撮像面における線特徴の２点とを含む基準座標系における平面（線候補面と呼ぶ）を求め、求めた平面を示すデータを保持しておく。更に、配置情報生成部１４０は、現フレームにおけるフレーム画像中の線分と同一の線分を含み、且つ現フレームにおけるカメラ１１０の位置姿勢との差が閾値以上になるような視点から生成された過去のフレーム画像における線候補面を１つ以上参照する。そして、複数の線候補面の交線に基づいて、線特徴の配置情報を生成する。このような線特徴の生成処理の詳細については、非特許文献１に開示がある。
【００３７】
このように、配置情報生成部１４０は、線特徴を含むフレーム画像から、係る線特徴の配置情報を生成することができる。そしてこのような処理により、線特徴の配置情報が未知であったとしても、過去の情報を用いることにより、未知の線特徴の配置情報を生成することができる。
【００３８】
配置情報生成部１４０によって生成された未知の線特徴の配置情報は、配置情報記憶部３１０に格納する。配置情報記憶部３１０に格納したこの配置情報は、撮像手段位置姿勢推定部１８５が次のフレームにおけるフレーム画像に基づいてカメラ１１０の位置姿勢を求めるために用いられる。
【００３９】
撮像手段位置姿勢推定部１８５において、線特徴のみからカメラ１１０の位置姿勢を推定する方法は、マーカ１００Ｄの投影誤差の非線形最適化と同様にすれば良い。即ち、線特徴の配置情報を投影した場合の画像座標と、フレーム画像上の線特徴との距離が最小になるように、カメラ１１０の位置姿勢を更新すればよい。なお、マーカ１００Ｄがフレーム画像上で検出されている場合、線特徴は利用しなくてもよいし、マーカ１００Ｄと線特徴とを組み合わせてカメラ１１０の位置姿勢を推定してもよい。
【００４０】
表示部１９０は、画像入力部１２０を介して入力されたフレーム画像上の、撮像手段位置姿勢推定部１８５によって得られたカメラ１１０の位置姿勢に基づいた位置に、線特徴を模したエッジモデルを合成して表示する。そして、ユーザが表示部１９０による表示を確認することで、どの線特徴が利用されているのかを確認してもよい。
【００４１】
このように、非特許文献１に開示の方法では、あらかじめ登録されていない線特徴を、カメラの位置姿勢推定のための情報として利用することができる。これは、線特徴の配置情報をあらかじめ入力しておく必要がないので、手間の軽減につながる。しかし、自動登録される線特徴は、マーカなどの既知の情報から距離が離れるにつれて蓄積する誤差や、撮影時の誤検出により、誤差を含んだ配置情報が登録される場合がある。非特許文献１に開示の方法では、誤差を含んだ配置情報を排除する方法を有していない。そのため、誤差を含む配置情報を用いてカメラ１１０の位置姿勢を推定すると、その推定の精度が低下することになる。
【００４２】
［第１の実施形態］
＜従来技術１＞では、マッチムーブ技術において、画像上で２次元領域を指定して画像特徴を選択するためには、画像上で注目物体がフレームアウトすると係る注目物体に対する選択を再度行う、という手間があることを示した。また、＜従来技術２＞では、誤差を含む配置情報や誤識別を招く配置情報を排除することができないために、カメラの位置姿勢の推定精度が低下したり、不必要な配置情報を処理することにより処理速度が低下する、という恐れがあることを示した。
【００４３】
本実施形態では、カメラから入力された撮像画像に基づいて、現実空間中に存在する幾何特徴の配置情報を自動的に取得する。さらに、本実施形態では、カメラの位置姿勢を推定する為に十分な幾何特徴を選定する為のインターフェースを表示し、係るユーザインターフェースに対するユーザ操作を受け付ける。
【００４４】
ここで、「選定する」とは、カメラの位置姿勢を推定する為に利用する特定の幾何特徴についての情報を、ユーザ操作に応じて有効化したり無効化したりすることを指す。この選定により、推定精度が低下する可能性を軽減させたり、処理速度の低下を軽減させることができる。
【００４５】
また、カメラの位置姿勢を推定するために用いる幾何特徴をユーザが選定すると、選定した幾何特徴を用いてすぐにカメラの位置姿勢を推定する処理を行い、推定した結果を表示などの手段でもってユーザに通知する。これにより、本実施形態を適用可能な夫々の現場に適したカメラ位置姿勢推定処理に調整できるという効果もある。
【００４６】
なお、以降では、幾何特徴を選定することを、場合に応じて幾何特徴の配置情報を選定すると言い換える。
【００４７】
図１は、本実施形態に係るシステムの機能構成を示すブロック図である。図１に示す如く本実施形態に係るシステムは、ユーザ１０５の頭部に装着するヘッドマウントディスプレイ（ＨＭＤ）１１５、ＨＭＤ１１５に取り付けられるカメラ１１０、ユーザ１０５が手で操作する操作入力装置１１７、画像処理装置１９９を有する。
【００４８】
以下、本実施形態に係るシステムを構成する上記各部について説明する。
【００４９】
ユーザ１０５の頭部にはＨＭＤ１１５が装着されており、更に、ユーザ１０５の目（視点）の位置にできるだけ近い位置にカメラ１１０が、ＨＭＤ１１５に対して取り付けられている。
【００５０】
ＨＭＤ１１５は周知の如く、これを頭部に装着した観察者の眼前に表示画面が位置するように係る表示画面が取り付けられた装置である。本実施形態の場合、画像処理装置１９９から送出された画像信号に基づいた画像を表示する。係る画像については後述する。
【００５１】
カメラ１１０は、現実空間の動画像を撮像するもので、撮像した各フレームの画像（フレーム画像、撮像画像）は画像信号として画像処理装置１９９に入力される。
【００５２】
現実空間中には上述の机１００Ａが配されていると共に、係る机１００Ａの上には上述のマーカ１００Ｄが配されている。更に、本実施形態では、机１００Ａの上には、黒色のマーカ１００Ｃ（重心特徴と呼ぶ）が配されている。なお、正方形のマーカ１００Ｄの配置情報（基準座標系におけるマーカ１００Ｄの位置姿勢）は、既知であるとし、マーカ１００Ｄの既知の配置情報は、予め配置情報記憶部１６０に格納されているものとする。
【００５３】
なお、図１では、現実空間中にはマーカ１００Ｄは１つのみしか配置されていないし、本実施形態でもマーカ１００Ｄは１つのみ配置されているものとして説明する。しかし、マーカ１００Ｄの数は１に限定するものではなく、非特許文献２に開示されているように、複数個のマーカ１００Ｄを現実空間中に配置させても良い。複数個のマーカ１００Ｄを現実空間中に配置させる場合には、それぞれのマーカ１００Ｄに記されているパターンは、個々のマーカ１００Ｄ毎に異なる。
【００５４】
更に、本実施形態ではマーカ１００Ｄの形状を正方形とするが、係る形状に限定するものではなく、マーカ１００Ｄとカメラ１１０との相対位置姿勢が算出できる形状であれば、三角形、長方形、五角形、六角形などの多角形でもよい。
【００５５】
図４は、カメラ１１０が撮像したあるフレームにおける撮像画像の一例を示す図である。現実空間中には、机１００Ａの他に、窓４２０、ドア枠４３０、識別性の低い繰り返しパターンのような幾何特徴として登録される可能性のある床の模様４５０、動く可能性があるドア４４０やカーテン４１０等が存在する。
【００５６】
図１に戻って、操作入力装置１１７は、ユーザ１０５が操作入力を行うために使用する操作入力インターフェースとして機能するものである。本実施形態では、操作入力装置１１７は、マウスとキーボードとで構成されているものとするが、ジョイスティックやゲームパッド等、複数種の操作入力を可能とするものであれば、如何なるものを操作入力装置１１７に適用しても良い。
【００５７】
次に、画像処理装置１９９を構成する各部について説明する。
【００５８】
画像入力部１２０は、カメラ１１０から送出される各フレームの撮像画像を受信すると、これを順次画像記憶部１５０、画像特徴検出部１３０に送出する。
【００５９】
画像特徴検出部１３０は、画像入力部１２０から撮像画像を受けると、係る撮像画像中に映っている幾何特徴の像（画像特徴）を検出する。ここで、画像特徴を検出するということは即ち、撮像画像上における画像特徴の画像座標を求める（計算する）ことに等価である。
【００６０】
より詳しくは、画像特徴検出部１３０は、点特徴、線特徴、マーカ１００Ｄ、重心特徴１００Ｃを、画像特徴として検出する。
【００６１】
点特徴、線特徴、マーカ１００Ｄの画像座標を求める方法については周知の通りである。また、重心特徴の画像座標を求める方法については、例えば、撮像画像から特定色を有する領域をラベリングし、同じ領域にラベリングされた領域の重心点の画像座標を、重心特徴の画像座標として求める。
【００６２】
そして配置情報生成部１４０は、＜従来技術２＞で挙げた非特許文献１に開示の配置情報生成部１４０と同様にして、未知の幾何特徴の配置情報を生成する。
【００６３】
そして配置情報生成部１４０は、未知の幾何特徴の配置情報を、配置情報記憶部１６０に格納する。
【００６４】
ここで、以下に、未知の幾何特徴の配置情報を求める為の処理について、より詳細に説明する。
【００６５】
先ず、線特徴については、非特許文献１に開示の方法を用いて生成する。即ち、配置情報が既知の幾何特徴（本実施形態ではマーカ１００Ｄ）が撮像画像上で画像特徴として検出されると、既知の幾何特徴の配置情報と、係る幾何特徴の像（画像特徴）の画像座標とから、カメラ１１０の位置姿勢が推定される。係る推定は、撮像手段位置姿勢推定部１８５によって行われる。
【００６６】
そして撮像手段位置姿勢推定部１８５は、そのときの撮像画像中における線特徴の画像座標（端点の座標）と、推定されたカメラ１１０の位置姿勢とを対応付け、ある幾何特徴の画像特徴データセットとして配置情報生成部１４０内に格納する。
【００６７】
配置情報生成部１４０は、自身に格納されているそれぞれの画像特徴データセット内のカメラ位置を参照する。そして、画像特徴データセットＸ内のカメラ位置と、画像特徴データセットＹ内のカメラ位置との間の距離が閾値以上となるような画像特徴データセットＸ、Ｙが存在するか否かをチェックする。そして係るチェックの結果、画像特徴データセットＸ、Ｙに相当する２組の画像特徴データセットが配置情報生成部１４０内に格納されている場合、配置情報生成部１４０は次のように動作する。即ち、基準とする画像特徴データセット（Ｘ）とより最近に格納された画像特徴データセット（Ｙ）のそれぞれから、投影線を定義する。この投影線を、図２０を用いて説明する。
【００６８】
図２０は、２つの画像特徴データセットから、投影線を求めるための処理を説明する図である。
【００６９】
図２０において撮像画像２０１５上で検出された線特徴２０２７の投影線は、カメラ位置２００５と、線特徴２０２７の端点２０３０と端点２０２５との中点２０３５と、を通る直線２０７５とする。同様に、カメラ位置２０１０においても投影線として直線２０８０を求める。次に、注目する２つの画像特徴データセットにおける投影線としての直線２０７５、２０８０が、撮像されている領域内において交差するかどうかを判定する。このとき、交差したと判定するための距離の閾値を設けておいてもよい。交差しないと判断された場合は、幾何特徴の配置情報を生成しない。一方、交差していると判断された場合は、２つの画像特徴データセットにおける線特徴が同一の特徴であると判断し、それぞれ、線特徴の端点とカメラ位置の３点を含む平面を算出する。このようにして得た２つの平面の交線のうち、基準とする画像特徴データセットの撮像画像上における端点２０２５、２０３０を線上に逆投影したときの端点の３次元位置を線特徴の配置情報とする。
【００７０】
また、点特徴および重心特徴に関しても、非特許文献１と同様の方法により、未知の点（点特徴と重心特徴）であっても配置情報を得ることが可能である。すなわち、基準とする画像特徴データセットの投影線を求め、さらに、カメラ位置間の距離が閾値以上の画像特徴データセットが新たに格納された場合は、投影線との交差を判定する。交差する場合は、交差する点を未知の点の配置情報とすればよい。
【００７１】
また、マーカ１００Ｄの配置情報を生成する方法は、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.に開示の方法を用いればよい。すなわち、カメラ１１０の位置姿勢が得られている状態でマーカ１００Ｄを検出することで、カメラ１１０とマーカ１００Ｄとの相対位置姿勢を座標変換し、基準座標系におけるマーカ１００Ｄの配置情報を生成すればよい。しかし、既知の幾何特徴としてマーカ１００Ｄをあらかじめ登録することに限定するものではなく、カメラ１１０の位置姿勢を推定可能な最低限の幾何特徴の配置情報が登録されていればよい。ただし、この場合は、「既知の幾何特徴を撮像可能なカメラ１１０」の位置姿勢を、あらかじめ初期位置姿勢として決定しておく必要がある。さらに、カメラ位置姿勢の推定を始める直前に、あらかじめ決めた初期位置姿勢の近くにカメラ１１０を配置する必要がある。
【００７２】
なお、配置情報生成部１４０は、直前のフレームにおいてカメラ１１０の位置姿勢の推定が成功したか否かを示す推定不可状態変数と、前述した画像特徴データセットを記憶保持するためのメモリを有する。若しくは、係るメモリを配置情報生成部１４０の外部に設け、配置情報生成部１４０は、係るメモリに対するデータの読み書きを管理する。
【００７３】
配置情報記憶部１６０は、配置情報生成部１４０が生成した配置情報を含む特徴配置情報を格納する。配置情報記憶部１６０は、配置情報生成部１４０が配置情報を生成する度に、この生成した配置情報を含む特徴配置情報を格納する。従って、配置情報記憶部１６０には、配置情報の生成順にこの配置情報を含む特徴配置情報が格納されていることになる。
【００７４】
なお、点特徴については点の３次元位置、重心特徴については重心点の３次元位置、線特徴については、線分の端点としての２点の３次元位置、マーカ１００Ｄについては４つの頂点としての４点の３次元位置を、それぞれの幾何特徴における配置情報とする。
【００７５】
ここで、特徴配置情報には、登録順を示す登録番号、種別を示す番号、配置情報を示す３次元位置、が含まれている。配置情報記憶部１６０に格納されている特徴配置情報群を図２１に示す。
【００７６】
図２１は、配置情報記憶部１６０に格納されている各特徴配置情報をテーブル形式で示した図である。なお、配置情報記憶部１６０は、特徴配置情報を如何なる形式で記憶保持しておいても良い。また、各特徴配置情報には、選択状態変数と有効化状態変数とが関連付けられている。
【００７７】
図２１において登録番号は、特徴配置情報の登録順を示すもので、登録順がより早い特徴配置情報には、登録順がより遅い特徴配置情報よりも小さい登録番号が付けられている。しかし、同一の幾何特徴についての特徴配置情報には、同じ登録番号が付けられている。例えば、マーカ１００Ｄのように、４点で構成されている幾何特徴については、それぞれの点の３次元位置に同一（図２１の例では１）の登録番号が付与される。
【００７８】
種別番号は、特徴配置情報がどのような幾何特徴に対するものであるのかを識別する為の番号である。例えば、点特徴に対する特徴配置情報には１、線特徴に対する特徴配置情報には２、重心特徴に対する特徴配置情報には３、マーカ１００Ｄに対する特徴配置情報には４が付与される。なお、幾何特徴として、点特徴、重心特徴、線特徴、マーカ１００Ｄの全てを用いることに限定されるものではなく、これら４種の幾何特徴のうち、少なくとも１種を用いた場合でも適用可能である。
【００７９】
また、３次元位置は、予め格納された配置情報、若しくは、未知の幾何特徴の配置情報であって、先頭の４つの３次元位置は、マーカ１００Ｄの既知の位置情報に対応するものであって、事前にユーザによって登録されたものである。
【００８０】
選択状態変数は、特徴配置情報（実際には配置情報）がユーザ操作によって選択されたか否かを示す値を保持するための変数であって、上述の通り、特徴配置情報毎に設けられる。例えば、値「１」を保持する選択状態変数に対応する特徴配置情報は、ユーザ操作により選択されている。一方、値「０」を保持する選択状態変数に対応する特徴配置情報は、ユーザ操作により選択されていない。このように、選択状態変数の値を参照することで、対応する特徴配置情報がユーザ操作により選択されているか否かを判断することができる。
【００８１】
有効化状態変数は、特徴配置情報（実施には配置情報）がユーザ操作によって有効化されたか否かを示す値を保持するための変数であって、上述の通り、特徴配置情報毎に設けられる。例えば、値「１」を保持する有効化状態変数に対応する特徴配置情報は、ユーザ操作により有効化されている。一方、値「０」を保持する有効化状態変数に対応する特徴配置情報は、ユーザ操作により無効化されている。このように、有効化状態変数の値を参照することで、対応する特徴配置情報がユーザ操作により有効化されているのか無効化されているのかを判断することができる。
【００８２】
以降の説明では、有効化されている特徴配置情報を「有効な特徴配置情報」と呼称する。
【００８３】
なお、配置情報記憶部１６０は、外部からの要求を検知すると、係る外部に対して、自身が保持している様々な情報を適宜送出することができる。これにより、カメラ１１０の位置姿勢を計測したい他のアプリケーションが、幾何特徴の配置情報を用いることができる。
【００８４】
次に、撮像手段位置姿勢推定部１８５は、配置情報記憶部１６０に格納されている特徴配置情報のうち、有効化を示す有効化状態変数（係る変数の値が「１」）に対応する特徴配置情報中の配置情報を読み出す。そして、読み出した配置情報と、画像特徴検出部１３０が求めた画像座標とから、現フレームにおけるカメラ１１０の位置姿勢を求める（推定する）。即ち、直前のフレームについて推定したカメラ１１０の位置姿勢を初期値とする。そして、読み出した配置情報が示す座標値をカメラ１１０の撮像面上に投影した位置（画像座標）と、画像特徴検出部１３０が求めた画像座標との誤差が最小になるように、カメラ１１０の位置姿勢を、非線形最適化の繰り返しによって算出する。ここで求まる位置姿勢は、現フレームにおけるカメラ１１０の位置姿勢である。
【００８５】
画像記憶部１５０は、画像入力部１２０を介してカメラ１１０から受けた撮像画像を一時的に記憶する。係る画像記憶部１５０は、特徴配置情報について後述するような編集を行う場合に、動画像上では特定の配置情報を指定しづらいので、静止画像としての撮像画像を保持しておき、係る撮像画像上で編集を可能とするためのものである。画像入力部１２０を介して入力したオンラインの撮像画像、画像記憶部１５０が保持している撮像画像を、状況に応じて切り替えてＨＭＤ１１５に出力する。
【００８６】
操作入力部１７０は、操作入力装置１１７から送出された指示信号を、撮像手段位置姿勢推定部１８５や配置情報編集部１８０に送出する。
【００８７】
配置情報編集部１８０は、配置情報記憶部１６０内に格納されている特徴配置情報を編集するための機能を備える。特徴配置情報の編集とは、例えば「選択」、「無効化」、「有効化」を指す。夫々の編集作業の詳細については後述する。
【００８８】
合成部１９５は、画像記憶部１５０から取得した撮像画像について配置情報記憶部１６０に格納されている特徴配置情報中の配置情報をこの撮像画像上に投影した領域に、画像特徴を表す表示を合成した画像（合成画像）を生成する。
【００８９】
例えば、カメラ１１０による撮像画像が、図４に示したような画像であって、且つ、周辺の画像特徴についての特徴配置情報がすべて登録されている場合は、図５に示すような画像が合成部１９５によって生成され、ＨＭＤ１１５において表示される。図５は、合成部１９５によって生成される合成画像の一例を示す図である。
【００９０】
図５に示す如く、点特徴の場合は、配置情報として格納されている３次元位置を撮像画像上に投影した位置に、バツマーク５２０で表す。また、重心特徴の場合は、白の十字マーク５４０で表す。線特徴については、端点２点の配置情報が格納されているため、端点２点を結ぶ直線を撮像画像上に投影する。また、マーカについては、４頂点を結ぶ折れ線を画像上に投影する。
【００９１】
このように、幾何特徴の３次元位置をそのまま撮像画像上に投影した位置に同じものを表示するのではなく、幾何特徴の種別に応じた形状のオブジェクト（以後、配置情報表示オブジェクトと呼ぶ）を表示する。これにより、配置情報の視認性や操作性を向上させる。なお、撮像画像上で幾何特徴を示すための表示については、図５に示した表示に限定するものではない。即ち、現実空間中における幾何特徴の配置を撮像画像上で確認できると共に、撮像画像中でそれぞれの幾何特徴の種類が区別できるのであれば、他の表示方法を適用しても良い。
【００９２】
図６は、本実施形態に係る画像処理装置が、撮像画像上における幾何特徴をユーザに通知するための表示を行う為に行うメインの処理のフローチャートである。
【００９３】
先ず、ステップＳ６１０では、操作入力部１７０が、操作入力装置１１７からの入力の有無を確認する。そして係る確認の結果、入力がある場合は処理をステップＳ６１５に進める。一方、入力がない場合は処理をステップＳ６２０に進める。
【００９４】
操作入力装置１１７を手に把持しているユーザ１０５は、処理モードの変更を所望する場合には、変更先のモードに対応するボタンを指示する。ボタンが指示されると、指示されたボタンに固有の信号が操作入力部１７０に入力されるので、この場合、処理はステップＳ６１０からステップＳ６１５に進む。
【００９５】
ステップＳ６１５では、操作入力部１７０は、係る信号を受けると、どのボタンが指示されたのかを判断する。これにより、操作入力部１７０は、指示されたボタンに対応する処理モードを特定することができる。なお、処理モードの指定方法については様々な方法があり、特定の方法に限定するものではない。
【００９６】
そして、撮像手段位置姿勢推定部１８５は、画像処理装置１９９に現在設定されている処理モードを、操作入力部１７０が移行先の処理モードとして特定した処理モードに移行させる。もちろん、現在設定されている処理モードと、特定した処理モードとが同じである場合には、処理モードの移行は行わない。
【００９７】
本実施形態では、ユーザ１０５は操作入力装置１１７を用いて、自動登録処理モード（モードＡ）、編集処理モード（モードＢ）、アプリケーション実行モード（モードＣ）の何れかを選択指示できるものとして説明する。従って、画像処理装置１９９は、この３つの処理モードのうち選択指示された処理モードに設定されていることになる。なお、画像処理装置１９９は、起動時には、自動登録処理モードが設定されているものとする。
【００９８】
次に、現在画像処理装置１９９に設定されている処理モードが、モードＡである場合には、処理はステップＳ６２０を介してステップＳ６３０に進むし、モードＡではない場合には、処理はステップＳ６２０を介してステップＳ６４０に進む。
【００９９】
ステップＳ６３０では、自動登録処理モードに応じた処理が行われるのであるが、本ステップにおける処理については後述する。
【０１００】
次に、現在画像処理装置１９９に設定されている処理モードが、モードＢである場合には、処理はステップＳ６４０を介してステップＳ６５０に進むし、モードＢではない場合には、処理はステップＳ６４０を介してステップＳ６６０に進む。
【０１０１】
ステップＳ６５０では、編集処理モードに応じた処理が行われるのであるが、本ステップにおける処理については後述する。
【０１０２】
ステップＳ６６０では、アプリケーション実行モードに応じた処理が行われるのであるが、本ステップにおける処理については後述する。
【０１０３】
次にステップＳ６７０では、操作入力装置１１７に設けられているボタンのうち、処理を終了させる指示を入力する為のボタンが指示されたか否かを、操作入力部１７０が判断する。係る判断の結果、指示されている場合には、本処理は終了する。なお、本処理の終了時に、配置情報記憶部１６０内に格納されている幾何特徴の配置情報を必要に応じて外部に出力してもよい。
【０１０４】
一方、指示されていない場合には、処理をステップＳ６１０に戻し、以降の処理を繰り返す。
【０１０５】
次に、上記ステップＳ６３０における処理の詳細について説明する。図７は、ステップＳ６３０において行われる、自動登録処理モードが設定されている場合に行われる処理、の詳細を示すフローチャートである。
【０１０６】
先ずステップＳ７０５では、画像入力部１２０は、カメラ１１０から送出される撮像画像の画像信号を受けると、係る画像信号に基づいて撮像画像を生成する。画像信号に基づいて画像を生成する技術については周知の技術である。
【０１０７】
次にステップＳ７０６では、画像特徴検出部１３０は、ステップＳ７０５で生成された撮像画像から、幾何特徴の投影像としての画像特徴を検出する。これにより、撮像画像中におけるそれぞれの画像特徴の画像座標を取得することができる。
【０１０８】
次に、ステップＳ７０７では、配置情報生成部１４０は、ステップＳ７０６で取得した画像座標と、配置情報記憶部１６０内に格納されている「有効な特徴配置情報」との対応付けを行う。
【０１０９】
係る対応付けは次のようにして行う。先ず、現フレームより１つ前のフレーム（直前のフレーム）におけるカメラ１１０の位置姿勢を用いて、配置情報記憶部１６０内に格納されているそれぞれの「有効な特徴配置情報」内の配置情報を、カメラ１１０の撮像面上に投影する。配置情報を投影した撮像面上の座標位置を「投影座標位置」と呼称する。そして、ステップＳ７０６で検出した画像特徴と同じ種別の特徴配置情報のうち、この画像特徴の画像座標に最も近い投影座標位置に投影された配置情報を含む特徴配置情報を、この画像座標と対応付ける。
【０１１０】
なお、ステップＳ７０６で検出した画像特徴と同じ種別の特徴配置情報のうちこの画像特徴の画像座標Ｘに最も近い投影座標位置Ｙに投影された配置情報を含む特徴配置情報を特定した後、直ちに上記対応付けを行うのではなく、次のような処理を行ってもよい。
【０１１１】
即ち、画像座標Ｘと投影座標位置Ｙとの間の距離が予め定められた距離以内であるか否かを判断する。そして、予め定められた距離以内であれば対応付けを行い、予め定められた距離より大きい場合には対応付けを行わないようにする。
【０１１２】
次に、ステップＳ７１０では、配置情報生成部１４０は、ステップＳ７０７において、カメラ１１０の位置姿勢を推定するために十分な数の画像特徴の画像座標が、特徴配置情報と対応付けられているのか否かを判断する。カメラ１１０の位置姿勢を推定するために十分な数の画像特徴とは、例えば、正方形マーカ１個以上、又は直前のフレームでカメラ１１０の位置姿勢が計測できている場合に限り線特徴２本以上、又は点特徴３点以上、又は重心特徴３点以上である。
【０１１３】
点特徴と重心特徴は同種の特徴とみなし、要求点数を合わせて3点以上としてもよい。なお、これらの画像特徴の組み合わせに本実施形態は制限されるものではなく、例えば、円形の外形を持つマーカの内部に識別コードを持つような画像特徴など、カメラ１１０の位置姿勢を推定する為に使用可能な画像特徴であれば良い。また、このような十分な画像特徴の対応付け（正方形マーカ１個以上など）に本実施形態は限定されるものではなく、カメラ１１０の位置姿勢が推定可能な画像特徴と特徴配置情報との対応付けであれば良い。なお、直前のフレームにてカメラ１１０の位置姿勢が計測できたか否かについては、配置情報生成部１４０内に格納されている推定不可状態変数を参照すれば良い。推定不可状態変数の値が「１」であれば、直前のフレームにてカメラ１１０の位置姿勢が計測できなかったことを示す。
【０１１４】
また、撮像画像上で十分な画像特徴が得られていない場合は、次のステップＳ７３０におけるカメラ１１０の位置姿勢の推定が正しく行えないために、特徴配置情報を得るためのデータセットを取得することができない。従って、この場合は、処理をステップＳ７２０に進める。一方、撮像画像上で十分な画像特徴が得られている場合には、処理をステップＳ７３０に進める。
【０１１５】
ステップＳ７２０では、配置情報生成部１４０は、検出された画像特徴だけではカメラ１１０の位置姿勢は推定できないこと（警告）をユーザ１０５に通知するためのメッセージをＨＭＤ１１５に送出する。係るメッセージは予め作成し、画像処理装置１９９が有する何らかのメモリ上に記録しておいても良いし、適宜配置情報生成部１４０が生成しても良い。また、係るメッセージの代わりに、何らかのアイコンを表示しても良い。なお、係る警告をユーザ１０５に通知するための方法としては、メッセージやアイコンの表示以外にも様々な方法が考えられる。例えば、警告音や音声等、音によって警告を通知しても良い。
【０１１６】
また、配置情報生成部１４０は、自身が保持している推定不可状態変数に「１」を書き込むことで、カメラ１１０の位置姿勢の推定ができなかったことを記憶する。
【０１１７】
次に、ステップＳ７３０では、撮像手段位置姿勢推定部１８５は、ステップＳ７０７における処理で対応付けられた画像座標と配置情報とを用いて、カメラ１１０の位置姿勢を推定する処理を行う。係る処理は周知の技術である。そして配置情報生成部１４０は、推定不可状態変数に「０」を書き込むことで、カメラ１１０の位置姿勢の推定が成功したことを記憶する。
【０１１８】
次に、ステップＳ７４０では、配置情報生成部１４０は、ステップＳ７０６において検出した画像特徴のうち、ステップＳ７０７において配置情報と対応付けられなかった画像特徴（未知の画像特徴）を検索する。係る検索の結果、未知の画像特徴が存在した場合には処理をステップＳ７５０に進め、存在しない場合には処理をステップＳ７９０に進める。
【０１１９】
ステップＳ７５０では、配置情報生成部１４０は、ステップＳ７３０において推定したカメラ１１０の位置姿勢と、ステップＳ７４０において見つけた未知の画像特徴の画像座標と、で構成されるデータセットを生成する。そして係るデータセットを、配置情報生成部１４０内のメモリ、若しくは画像処理装置１９９内の何らかのメモリに記録する。
【０１２０】
次に、ステップＳ７６０では、配置情報生成部１４０は、ステップＳ７５０で格納したデータセット内のカメラ位置、配置情報生成部１４０自身に格納されているそれぞれのデータセット内のカメラ位置を参照する。そして、データセットＸ内のカメラ位置と、データセットＹ内のカメラ位置との間の距離が閾値以上となるようなデータセットＸ、Ｙが存在するか否かをチェックする。そして係るチェックの結果、存在する場合には処理をステップＳ７７０に進め、存在しない場合には、処理をステップＳ７９０に進める。
【０１２１】
ステップＳ７７０では、配置情報生成部１４０は先ず、データセットＸ、Ｙに相当する２つのデータセットで構成されている１以上の組のうち、組内の２つのデータセット中のカメラ位置間の距離が最小である組を１つ特定する。なお、データセットＸ、Ｙに相当する２つのデータセットで構成されている組のうち、１つの組を選択するための方法については様々な方法が考えられ、精度良く特徴配置情報を生成することができる組を選択するのであれば、特定の方法に限定するものではない。
【０１２２】
次に、配置情報生成部１４０は、特定した組内の２つのデータセットに基づいて上述の処理を行うことで、未知の画像特徴に対する特徴配置情報を生成する。そして生成した特徴配置情報を、配置情報記憶部１６０に格納する。このとき、新たに生成した特徴配置情報に対応する有効化状態変数に「１」を設定し、係る特徴配置情報内の配置情報を有効化する。なお、係る有効化については必須なものではなく、最初は無効化しておき、その後の選択処理を通じて有効化するようにしても良い。
【０１２３】
また、上述の如く、現フレームにおける画像特徴の画像座標と、新たに生成した特徴配置情報との対応付けを行う。
【０１２４】
このような処理により、既に登録されている配置情報と対応付けることができなかった画像特徴については、この画像特徴の配置情報を求めて登録すると共に、登録した配置情報と、この画像特徴の画像座標と、の対応付けを行うことができる。
【０１２５】
次に、ステップＳ７８０では、撮像手段位置姿勢推定部１８５は、ステップＳ７７０において登録した特徴配置情報を含む、配置情報記憶部１６０に格納されている「有効な特徴配置情報」を用いて、再度、カメラ１１０の位置姿勢を求める。
【０１２６】
ステップＳ７９０では、撮像手段位置姿勢推定部１８５は以下のような処理を行う。
【０１２７】
即ち、現フレームについて求められている（例えばステップＳ７８０で求めた）位置姿勢を用いて、配置情報記憶部１６０に格納されている全ての（若しくは有効な）特徴配置情報内の配置情報をカメラ１１０の撮像面上（撮像画像上）に投影する。これにより、配置情報を撮像面上に投影した位置を、投影座標位置として求めることができる。
【０１２８】
そして更に、合成部１９５は、撮像画像上における投影座標位置に、対応する表示を合成させた撮像画像（更新撮像画像）を生成する。そして合成部１９５は、この生成した撮像画像を、ＨＭＤ１１５に対して送出する。
【０１２９】
なお、合成部１９５は、更に、カメラ１１０の位置姿勢の推定が正しく行われていることを確認するために撮像画像上に表示する情報として、配置情報の投影像以外のデータを表示しても良い。例えば、x=0、y=0、z=0の平面に格子状のワイヤーフレームを表示しても良いし、特定の位置に任意の仮想物体を表示することによってカメラ１１０の位置姿勢の推定結果を確認しても良い。また、推定したカメラ１１０の位置姿勢や、画像特徴と配置情報との撮像画像上における距離など、数値を撮像画像上に表示してもよい。
【０１３０】
このように、生成された情報を含めてカメラ１１０の位置姿勢を推定することにより、より広範囲における位置姿勢推定が可能となる。さらに、既に述べたように、位置合わせ状況を即座に表示することにより、例えば誤差が大きい配置情報が登録されたときに、即座にモードＢに切り替え、配置情報を編集することができる。
【０１３１】
次に、上記ステップＳ６５０における処理の詳細について説明する。図８は、ステップＳ６５０において行われる、編集処理モードが設定されている場合に行われる処理、の詳細を示すフローチャートである。なお、図８において、図７に示したステップと同じステップには、同じステップ番号を付しており、その説明は省略する。
【０１３２】
ステップＳ８３０では、操作入力部１７０が、操作入力装置１１７からの指示入力の有無を確認する。そして、係る確認の結果、指示入力があった場合には処理をステップＳ８４０に進める。一方、指示入力がなかった場合には、上記ステップＳ６１０にリターンする。
【０１３３】
ステップＳ８４０では、配置情報編集部１８０は、特徴配置情報の編集処理を行う。ステップＳ８４０における処理の詳細については後述する。
【０１３４】
前述したように、選定された配置情報は、次のフレームにおけるカメラ１１０の位置姿勢推定処理に反映され、ステップＳ７９０における表示処理で、ユーザ１０５に対して視覚的に即座にフィードバックされる。このフィードバックがあるため、ユーザ１０５は、選定した配置情報が、カメラ１１０の位置姿勢推定処理にどのように寄与しているのかを把握することができる。
【０１３５】
例えば、配置情報のうち、カメラ１１０の位置姿勢推定処理への寄与度が低いと見なされるもの、すなわち、幾何特徴の推定精度が低い（誤差が大きい）配置情報を無効化した場合を想定する。この配置情報を無効化すると、次のフレームにおけるステップＳ７９０において、投影された仮想物体が正しい位置に近づくなど、「推定精度が良くなった」というフィードバックをユーザ１０５に対して提供することができる。
【０１３６】
一方、寄与度が高いと見なされる配置情報、すなわち、幾何特徴の推定精度が高く、画面上における分散度が高い画像特徴に対応する配置情報を無効化した場合を想定する。この配置情報を無効化すると、ステップＳ７９０において、仮想物体が正しい位置から遠ざかり、投影位置が揺れるなど、「推定精度が悪くなった」というフィードバックをユーザ１０５に対して提供することができる。
【０１３７】
このように、ユーザ１０５が寄与度の高い配置情報を有効化し、寄与度の低い不必要な配置情報を無効化することで、カメラ１１０の位置姿勢推定処理を実行する各現場において必要最低限な配置情報を得ることができる。必要最低限の配置情報が得られれば、誤識別の可能性が減り、処理速度の低下も軽減させることができる。
【０１３８】
次に、上記ステップＳ６６０における処理の詳細について説明する。図９は、ステップＳ６６０において行われる、アプリケーション実行モードが設定されている場合に行われる処理、の詳細を示すフローチャートである。なお、図９において、図７に示したステップと同じステップには、同じステップ番号を付しており、その説明は省略する。
【０１３９】
ステップＳ９１０では、ステップＳ７３０で推定されたカメラ１１０の位置姿勢を用いて、あらかじめ用意された仮想物体が配置された仮想空間の画像を生成する。仮想物体は、得られた配置情報によって位置姿勢の計測が正しく行われているか否かを確認するために、あらかじめ用意されているものであってもよい。例えば、x=0、y=0、z=0の平面に格子状のワイヤーフレームを表示しても良いし、特定の位置に仮想物体としてのティーポットを表示してもよい。また、カメラ１１０の位置姿勢を必要とする複合現実感のアプリケーション自体が、本装置の一部（モードＣ）として組み込まれていてもよい。例えば、特定のキャラクタを表示して、インタラクションして楽しむようなコンテンツであってもよい。
【０１４０】
しかし、モードＣの本質は、アプリケーション実行処理内で実施される複合現実感のコンテンツに依存するものではなく、カメラ１１０の位置姿勢を求めるための特徴配置情報を簡便に生成することにある。
【０１４１】
次に、上記ステップＳ８４０における処理の詳細について説明する。図１０は、ステップＳ８４０において行われる、配置情報の編集処理、の詳細を示すフローチャートである。
【０１４２】
ステップＳ１００１では、操作入力部１７０が、操作入力装置１１７からの入力（編集モードの切り替え入力）を受け付ける。編集モードは、配置情報編集部１８０内部の状態変数として記録されているものとする。編集モードには、表示選択モード、選択モード、操作モードの３つがあり、何れか１つが操作入力装置１１７を用いて設定される。
【０１４３】
操作入力装置１１７を手に把持しているユーザ１０５は、編集モードの変更を所望する場合には、変更先の編集モードに対応するボタンを指示する。ボタンが指示されると、指示されたボタンに固有の信号が操作入力部１７０に入力されるので、処理はステップＳ１００２に進む。
【０１４４】
ステップＳ１００２では、操作入力部１７０は、係る信号を受けると、どのボタンが指示されたのかを判断する。これにより、操作入力部１７０は、指示されたボタンに対応する編集モードを特定することができる。なお、編集モードの指定方法については様々な方法があり、特定の方法に限定するものではない。
【０１４５】
そして、撮像手段位置姿勢推定部１８５は、画像処理装置１９９に現在設定されている編集モードを、操作入力部１７０が移行先の編集モードとして特定した編集モードに移行させる。もちろん、現在設定されている編集モードと、特定した編集モードとが同じである場合には、編集モードの移行は行わない。
【０１４６】
上記ステップＳ１００２における判断の結果、表示選択モードが指定されている場合には処理をステップＳ１００３に進め、表示選択モードの指定ではない場合には処理をステップＳ１０１０に進める。
【０１４７】
ステップＳ１００３では、配置情報編集部１８０は、ＨＭＤ１１５が有する表示画面上に、図１５に例示するような画面を表示させる。図１５は、ステップＳ１００３においてＨＭＤ１１５が有する表示画面上に表示される画面の表示例を示す図である。図１５において、１５０１は、カメラ１１０が撮像した各フレームの撮像画像を動画像（ライブ映像）として再生するか、あるフレームにおける撮像画像（静止画）を再生するのかを、ユーザ１０５に選択させるためのメニューである。もちろん、メニュー１５０１の構成についてはこれに限定するものではない。係るメニュー１５０１が表示された場合に、ユーザ１０５が操作入力装置１１７における「１」キーを指示すると、「静止画」が選択され、「２」キーを指示すると、「ライブ映像」が選択される。
【０１４８】
従って、「１」キーが指示されると、処理はステップＳ１００４を介してステップＳ１００６に進むし、「１」キー以外のキーが指示されると、処理はステップＳ１００４を介してステップＳ１０１０に進む。
【０１４９】
ステップＳ１００６では、配置情報編集部１８０が、最新の撮像画像を画像記憶部１５０から読み出し、読み出した撮像画像を、画像特徴検出部１３０、ＨＭＤ１１５に送出させるように制御する。このような制御モードを静止画モードと呼ぶ。このように静止画を出力することで、オンラインの動画像において、動く特定の点や線などを指定・選択することが難しい課題に対処することができる。また、現在の静止画だけでなく、過去に保持しておいた静止画を選択して表示することによって、複数の静止画を順番に参照しながら、配置情報の選択をしてもよい。複数の静止画を用いて選択することで、選択時の空間把握が容易になる。静止画表示が選択されなかった場合は、カメラ１１０から画像入力部１２０を介して順次入力される各フレームの撮像画像を画像特徴検出部１３０、ＨＭＤ１１５に入力する。
【０１５０】
ステップＳ１０１０では、操作入力部１７０は、操作入力装置１１７からの信号を受けると、どのボタンが指示されたのかを判断する。そして係る判断の結果、選択モードが指定されている場合には、処理はステップＳ１０１２に進む。一方、選択モードの指定ではない場合には処理をステップＳ１０１４に進む。
【０１５１】
ステップＳ１０１２では、配置情報の選択処理を行う。ステップＳ１０１２における処理の詳細については後述する。
【０１５２】
ステップＳ１０１４では、操作入力部１７０は、操作入力装置１１７からの信号を受けると、どのボタンが指示されたのかを判断する。そして係る判断の結果、操作モードが指定されている場合には、処理はステップＳ１０１６に進む。一方、操作モードの指定ではない場合には上記ステップＳ６１０にリターンする。
【０１５３】
ステップＳ１０１６では。配置情報の操作処理を行う。ステップＳ１０１６における処理の詳細については後述する。
【０１５４】
次に、上記ステップＳ１０１２における処理の詳細について説明する。図１１は、ステップＳ１０１２において行われる、配置情報の選択処理、の詳細を示すフローチャートである。
【０１５５】
ステップＳ１１１０では、配置情報編集部１８０は、ＨＭＤ１１５が有する表示画面上に、図１６に例示するような画面を表示させる。図１６は、ステップＳ１１１０においてＨＭＤ１１５が有する表示画面上に表示される画面の表示例を示す図である。図１６において、１６０１は、選択方法を指定するためのメニューである。係るメニュー１６０１が表示された場合に、ユーザ１０５が操作入力装置１１７における「１」キーを指示すると、「クリック選択」が選択されると共に、点モードが設定される。また、「２」キーを指示すると、「ライン選択」が選択されると共に、線モードが設定される。また、「３」キーを指示すると、「領域選択」が選択されると共に、２Ｄ領域モードが設定される。また、「４」キーを指示すると、「３Ｄ領域選択」が選択されると共に、３Ｄ領域モードが設定される。
【０１５６】
次に、ステップＳ１１２０では、操作入力部１７０が、操作入力装置１１７からの入力（選択モードの切り替え入力）を受け付ける。
【０１５７】
ステップＳ１１３０では、操作入力部１７０は、操作入力装置１１７からの信号を受けると、どのボタンが指示されたのかを判断する。そして係る判断の結果、点モードが指定されている場合には、処理はステップＳ１１４０に進む。一方、点モードの指定ではない場合には処理をステップＳ１１５０に進む。
【０１５８】
ステップＳ１１４０では、配置情報編集部１８０は先ず、図１６に例示する画面上にマウスカーソル１６２０を表示する。次に、ユーザ１０５が操作入力装置１１７を用いてマウスカーソル１６２０を配置情報表示オブジェクトの位置に移動させ、操作入力装置１１７をクリックする操作を、配置情報編集部１８０が検知したとする。この場合、配置情報編集部１８０は、配置情報記憶部１６０内に格納されている配置情報表示オブジェクトに対応する配置情報の選択状態変数を「１」に設定する。なお、ユーザ１０５がマウスカーソル１６２０を他の配置情報表示オブジェクト上に移動させ、そこでクリック操作を行うと、現在「１」に設定されている選択状態変数を「０」に設定する。そして、上記「他の配置情報表示オブジェクト」に対応する選択状態変数を「１」に設定する。このように、選択方法に関係なく、選択された配置情報については対応する選択状態変数を「１」に設定するし、選択されていない配置情報については対応する選択状態変数を「０」に設定する。
【０１５９】
また、操作入力装置１１７に備わっているシフトキーを押下しながらクリック操作を行った場合には、係る操作により選択された配置情報表示オブジェクトを、従前に選択している配置情報表示オブジェクトに追加するようにしても良い。また、選択状態に応じて、ＨＭＤ１１５に表示されている配置情報の投影像の色や表示形状等を変更しても良い。
【０１６０】
ステップＳ１１５０では、操作入力部１７０は、操作入力装置１１７からの信号を受けると、どのボタンが指示されたのかを判断する。そして係る判断の結果、線モードが指定されている場合には、処理はステップＳ１１６０に進む。一方、線モードの指定ではない場合には処理をステップＳ１１７０に進む。
【０１６１】
ステップＳ１１６０では、配置情報編集部１８０は先ず、図１６に例示する画面上にマウスカーソル１６２０を表示する。次に、ユーザ１０５が操作入力装置１１７を用いてマウスカーソル１６２０をドラッグ移動させる操作を、配置情報編集部１８０が検知したとする。この場合、配置情報編集部１８０は、ドラッグ移動させたマウスカーソル１６２０の移動軌跡１６１０を表示させる。ここで配置情報編集部１８０は、配置情報の配置情報表示オブジェクトに移動軌跡１６１０が重なった場合にはこの配置情報が選択されたと判断し、配置情報記憶部１６０内のこの配置情報表示オブジェクトに対応する配置情報の選択状態変数を「１」に設定する。移動軌跡１６１０が複数の配置情報表示オブジェクトと重なった場合は、重なった配置情報表示オブジェクトに対応する配置情報を全てを選択したと判断する。また、移動軌跡１６１０は一本だけではなく、複数であっても良く、その場合、複数の移動軌跡１６１０を用いて選択を行っても良い。
【０１６２】
このように、撮像画像上でマウスカーソル１６２０の移動軌跡１６１０を用いて配置情報を選択することで、小領域に密集しているような配置情報を一括で選択することができる。例えば、誤識別を招くような床面の模様の配置情報が登録されている場合、床面の線特徴の配置情報表示オブジェクトを横切るようにマウスカーソル１６２０をドラッグ移動させることで、これらの配置情報表示オブジェクトを選択することができる。
【０１６３】
次に、ステップＳ１１７０では、操作入力部１７０は、操作入力装置１１７からの信号を受けると、どのボタンが指示されたのかを判断する。そして係る判断の結果、２Ｄ領域モードが指定されている場合には、処理はステップＳ１１８０に進む。一方、２Ｄ領域モードの指定ではない場合には処理をステップＳ１１９０に進む。
【０１６４】
ステップＳ１１８０では、配置情報編集部１８０は、２Ｄ領域を選択指定するための処理を行う。ステップＳ１１８０における処理の詳細については後述する。
【０１６５】
一方、ステップＳ１１９０では、操作入力部１７０は、操作入力装置１１７からの信号を受けると、どのボタンが指示されたのかを判断する。そして係る判断の結果、３Ｄ領域モードが指定されている場合には、処理はステップＳ１１９５に進む。一方、３Ｄ領域モードの指定ではない場合には処理をステップＳ１１１０に戻る。
【０１６６】
ステップＳ１１９５では、配置情報編集部１８０は、３Ｄ領域を選択指定するための処理を行う。ステップＳ１１９５における処理の詳細については後述する。
【０１６７】
次に、上記ステップＳ１１８０における処理の詳細について説明する。図１２は、上記ステップＳ１１８０において行われる、２Ｄ領域を選択指定する為の処理のフローチャートである。
【０１６８】
ステップＳ１２１０では、配置情報編集部１８０は、ＨＭＤ１１５が有する表示画面上に、図１７に例示するような画面を表示させる。図１７は、ステップＳ１２１０においてＨＭＤ１１５が有する表示画面上に表示される画面の表示例を示す図である。図１７において、１７０１は、選択方法を指定するためのメニューである。係るメニュー１７０１が表示された場合に、ユーザ１０５が操作入力装置１１７における「１」キーを指示すると、「矩形形状選択」が選択され、「２」キーを指示すると、「多角形選択」が選択される。
【０１６９】
従って、「１」キーが指示されると、処理はステップＳ１２２０を介してステップＳ１２３０に進める。一方、「１」キー以外が指示されている場合には、処理をステップＳ１２２０を介してステップＳ１２５０に進める。
【０１７０】
ステップＳ１２３０では、配置情報編集部１８０は、ＨＭＤ１１５の表示画面上に、矩形形状の領域表示オブジェクトを表示する。さらに、配置情報編集部１８０は、ユーザ１０５が操作入力装置１１７を用いて領域表示オブジェクト全体の位置、又は領域表示オブジェクトを構成する頂点の位置を、移動させる操作を行うと、係る操作を検知する。そして、係る操作の内容に応じて、領域表示オブジェクトの位置、頂点の位置を移動させる。
【０１７１】
次に、ステップＳ１２４０では、配置情報編集部１８０は、ステップＳ１２３０における操作によって位置や形状が決定した領域表示オブジェクトの内部領域に位置する配置情報表示オブジェクトに対応する配置情報を選択する。領域表示オブジェクトが示す領域と、配置情報表示オブジェクトとの内外判定処理は、撮像画像上で行われる。
【０１７２】
一方、「２」キーが指示されると、処理はステップＳ１２５０を介してステップＳ１２６０に進める。一方、「２」キー以外が指示されている場合には、処理はステップＳ１２１０に戻る。
【０１７３】
ステップＳ１２６０では、配置情報編集部１８０は、ＨＭＤ１１５の表示画面上に、多角形形状の領域表示オブジェクトを表示する。係る多角形の領域表示オブジェクトを表示させるためには、事前にユーザ１０５による操作が必要である。即ち、ユーザ１０５は先ず、操作入力装置１１７を用いて、撮像画像上における複数箇所を頂点位置として指示する。そして頂点位置を指示する操作を終了する旨を操作入力装置１１７を用いて指示すると、配置情報編集部１８０は、指示した各頂点位置を結ぶ多角形を、撮像画像上に描画する。係る多角形が、領域表示オブジェクトである。
【０１７４】
図１７において、１７１０が多角形形状の領域表示オブジェクトである。また、１７２０が、指示した頂点位置である。従って、ユーザ１０５は、操作入力装置１１７を用いて多角形形状の領域表示オブジェクトを生成した後は、任意の頂点位置を指示し、例えばドラッグ操作等により、指示した頂点の位置を変更する操作を行っても良い。これにより、多角形の領域表示オブジェクトのサイズや形状を任意に変更することができる。もちろん、係る領域表示オブジェクトの位置を上述のように移動させても良い。
【０１７５】
なお、多角形の領域表示オブジェクトを含む他の領域表示オブジェクトについては、任意の数だけ生成しても良い。
【０１７６】
次に、ステップＳ１２７０では、配置情報編集部１８０は、ステップＳ１２６０における操作によって位置や形状が決定した領域表示オブジェクトの内部領域に位置する配置情報表示オブジェクトに対応する配置情報を選択する。領域表示オブジェクトが示す領域と、配置情報表示オブジェクトとの内外判定処理は、撮像画像上で行われる。
【０１７７】
このとき、配置情報表示オブジェクトは領域表示オブジェクトによって全て囲まれている必要はなく、一部でも囲まれていれば、配置情報表示オブジェクトに対応する配置情報が選択される。これは、どのような方法で配置情報表示オブジェクトを選択しても同じである。
【０１７８】
このように、多角形形状で領域を指定することにより、特定の領域に密集して配置されている配置情報を、クリックで個別に指定するよりも、より効率良く選択することができる。
【０１７９】
なお、２Ｄ領域指定は、矩形領域と多角形領域とを用いて実施することに限定されるものではなく、任意の配置情報を選択できる方法であれば良い。
【０１８０】
次に、上記ステップＳ１１９５における処理の詳細について説明する。図１３は、上記ステップＳ１１９５において行われる、３Ｄ領域を選択指定するための処理のフローチャートである。
【０１８１】
ステップＳ１３１０では、配置情報編集部１８０は、ＨＭＤ１１５が有する表示画面上に、図１８に例示するような画面を表示させる。図１８は、ステップＳ１３１０においてＨＭＤ１１５が有する表示画面上に表示される画面の表示例を示す図である。図１８において、１８０１は、選択方法を指定するためのメニューである。係るメニュー１８０１が表示された場合に、ユーザ１０５が操作入力装置１１７における「１」キーを指示すると「直方体形状選択」が選択され、「２」キーを指示すると「球形状選択」が選択され、「３」キーを指示すると「モデル形状選択」が選択される。
【０１８２】
従って、「１」キーが指示されると、処理はステップＳ１３２０を介してステップＳ１３２５に進める。一方、「１」キー以外が指示されている場合には、処理をステップＳ１３２０を介してステップＳ１３３５に進める。
【０１８３】
ステップＳ１３２５では、配置情報編集部１８０は、現実空間中の所定の座標位置に、所定サイズの直方体の仮想物体（直方体オブジェクト）を配置する。そして、撮像手段位置姿勢推定部１８５が推定したカメラ１１０の位置姿勢に応じて見える直方体オブジェクトの画像を生成し、生成した画像を、ＨＭＤ１１５に対して出力する撮像画像上に合成する。図１８において、１８１０は、直方体オブジェクトである。
【０１８４】
ここで、ユーザ１０５が操作入力装置１１７を用いて頂点１８２０を選択して移動させる操作を行うと、選択されている頂点の位置を係る移動の操作に応じて移動させる。また、同様の操作により、直方体オブジェクト１８１０本体の位置を移動させることもできる。なお、直方体オブジェクトを移動させるための方法については特に限定するものではない。例えば、カーソルキーを操作することで直方体オブジェクトやその頂点を移動させても良いし、６自由度センサを別途用意し、係る６自由度センサの３次元空間における位置に応じて直方体オブジェクトやその頂点を移動させても良い。
【０１８５】
次に、ステップＳ１３３０では、配置情報編集部１８０は、ステップＳ１３２０における操作によって位置や形状が決定した直方体オブジェクトの内部領域に位置する配置情報を選択する。直方体オブジェクトが示す領域と、配置情報との内外判定処理は、３次元空間内で行われる。
【０１８６】
また、この３次元領域内に、線特徴を表す２つの点のうちの１つ、又は正方形マーカの頂点を表す４つの点のうちの１点以上が含まれる場合は、線特徴全体、又は正方形マーカ全体を選択したものとみなす。
【０１８７】
一方、「２」キーが指示されると、処理はステップＳ１３３５を介してステップＳ１３４０に進める。一方、「２」キー以外が指示されている場合には、処理をステップＳ１３３５を介してステップＳ１３５０に進める。
【０１８８】
ステップＳ１３４０では、配置情報編集部１８０は、現実空間中の所定の座標位置に、所定サイズの球の仮想物体（球オブジェクト）を配置する。そして、撮像手段位置姿勢推定部１８５が推定したカメラ１１０の位置姿勢に応じて見える球オブジェクトの画像を生成し、生成した画像を、ＨＭＤ１１５に対して出力する撮像画像上に合成する。
【０１８９】
ここで、ユーザ１０５が操作入力装置１１７を用いて係る球オブジェクトの半径や位置姿勢を変更する操作を行うと、係る操作に応じて球オブジェクトの位置姿勢や半径を変更させる。なお球オブジェクトにおいて、軸（例えばｘ軸）毎に、半径を変更させるようにしても良い。これにより、球オブジェクトを楕円体オブジェクトに変形させることができる。
【０１９０】
なお、球オブジェクトを移動させるための方法についても直方体オブジェクトと同様に、特に限定するものではない。
【０１９１】
次に、ステップＳ１３４５では、配置情報編集部１８０は、ステップＳ１３４０における操作によって位置や形状が決定した球オブジェクトの内部領域に位置する配置情報を選択する。球オブジェクトが示す領域と、配置情報との内外判定処理は、３次元空間内で行われる。
【０１９２】
一方、「３」キーが指示されると、処理はステップＳ１３５０を介してステップＳ１３５５に進める。一方、「３」キー以外が指示されている場合には、処理をステップＳ１３５０を介してステップＳ１３６５に進める。
【０１９３】
ステップＳ１３５５では、配置情報編集部１８０は、現実空間中の所定の座標位置に、所定サイズの平面の仮想物体（平面オブジェクト）を配置する。そして、撮像手段位置姿勢推定部１８５が推定したカメラ１１０の位置姿勢に応じて見える平面オブジェクトの画像を生成し、生成した画像を、ＨＭＤ１１５に対して出力する撮像画像上に合成する。
【０１９４】
この平面オブジェクトは、メッシュ状のワイヤーフレームで表示されており、ユーザ１０５は操作入力装置１１７を用いて、この平面オブジェクトの法線の向きと位置を操作（指定）することができる。なお、法線の向きや位置は、マウス機能を用いて変更させても良いし、テンキーを用いた数値入力によって変更させても良い。配置情報編集部１８０は、ユーザ１０５からの操作入力に基づいて、平面オブジェクトの傾きや位置を変更させる。
【０１９５】
次に、ステップＳ１３６０では、配置情報編集部１８０は、ステップＳ１３５５における操作によって確定した平面オブジェクトが示す平面が２分割する空間領域のうち、法線方向が指定されている領域を選択領域とする。そして係る選択領域内に位置する配置情報を選択する。このように、平面で分割する領域を用いて選択を行うことで、例えば、本実施形態においては、床上から１０ｃｍ以下の領域で検出された配置情報を選択する、などの操作が可能となる。
【０１９６】
一方、「４」キーが指示されると、処理はステップＳ１３６５を介してステップＳ１３７０に進める。一方、「４」キー以外が指示されている場合には、処理をステップＳ１３６５を介してステップＳ１３１０に戻る。
【０１９７】
ステップＳ１３７０では、配置情報編集部１８０は、現実空間中の所定の位置姿勢に、任意の３次元形状を有する仮想物体（形状モデル）を配置する。任意の３次元形状を有する仮想物体とは、例えば、机１００Ａの天板のサイズ、足のサイズ等を予め計測することで作成した３次元形状仮想物体や、３ＤＣＡＤソフトなどで生成した３次元ＣＡＤモデル等である。従って、このようなそれぞれの仮想物体を、画像処理装置１９９が有する適当なメモリに予め格納しておき、ユーザ１０５に操作入力装置１１７を用いて選択させれば良い。もちろん、選択の際には、メモリに格納されているそれぞれの仮想物体をＨＭＤ１１５の表示画面上に一覧表示させる。なお、任意の形状を有する仮想物体は、空間領域を指定することに利用するため、位相幾何学的な形状として内部領域が「閉じた形状」であることが要求される。
【０１９８】
そして、撮像手段位置姿勢推定部１８５が推定したカメラ１１０の位置姿勢に応じて見える形状モデルの画像を生成し、生成した画像を、ＨＭＤ１１５に対して出力する撮像画像上に合成する。なお、形状モデルは、ワイヤフレームモデルとして表示される。
【０１９９】
次に、ステップＳ１３７５では、ユーザ１０５が操作入力装置１１７を用いて形状モデルの頂点を選択して移動させる操作を行うと、配置情報編集部１８０は、選択されている頂点の位置を係る移動の操作に応じて移動させる。また、同様の操作により、形状モデル本体の位置姿勢を操作することもできる。
【０２００】
次に、ステップＳ１３８０では、配置情報編集部１８０は、ステップＳ１３７５における操作によって位置や形状が決定した形状モデルの内部領域に位置する配置情報を選択する。このように、あらかじめ用意されている任意の閉じた３次元領域を示す形状モデルを用いることにより、動く可能性があるような特定の物体に対して、物体周辺の配置情報を一括で選択して無効化するなど、効率のよい選択が可能となる。
【０２０１】
なお、３Ｄ領域指定を直方体領域、球領域、平面領域、形状モデル領域を用いて実施することに限定されるものではなく、任意の配置情報を選択できる方法であれば良い。
【０２０２】
次に、上記ステップＳ１０１６における処理の詳細について説明する。図１４は、上記ステップＳ１０１６において行われる、配置情報の操作処理、のフローチャートである。  ステップＳ１４１０では、配置情報編集部１８０は、ＨＭＤ１１５が有する表示画面上に、図１９に例示するような画面を表示させる。図１９は、ステップＳ１４１０においてＨＭＤ１１５が有する表示画面上に表示される画面の表示例を示す図である。図１９において、１９０１は、選択されている対象を有効化／無効化する為のメニューである。係るメニュー１９０１が表示された場合に、ユーザ１０５が操作入力装置１１７における「１」キーを指示すると、「選択候補有効化」が選択され、「２」キーを指示すると、「選択候補無効化」が選択される。
【０２０３】
従って、「１」キーが指示されると、処理はステップＳ１４１２を介してステップＳ１４１４に進める。一方、「１」キー以外が指示されている場合には、処理をステップＳ１４１２を介してステップＳ１４１６に進める。
【０２０４】
ステップＳ１４１４では、配置情報編集部１８０は、現在選択されている配置情報（図１９では、１９１０が示す配置情報）、即ち現在、選択状態変数に「１」が設定されている配置情報、の有効化状態変数に「１」を設定する。
【０２０５】
一方、「２」キーが指示されると、処理はステップＳ１４１６を介してステップＳ１４１８に進める。一方、「２」キー以外が指示されている場合には、処理はステップＳ１４１６を介してステップＳ１４１０に戻る。
【０２０６】
ステップＳ１４１８では、配置情報編集部１８０は、現在選択されている配置情報（図１９では、１９１０が示す配置情報）、即ち現在、選択状態変数に「１」が設定されている配置情報、の有効化状態変数に「０」を設定する。
【０２０７】
以上の説明により、本実施形態によれば、空間中に配置された物体の形状の多くが未知の場合であっても、未知の形状情報を生成することで、事前に形状を測る手間を省くことができる。
【０２０８】
また、あらかじめ空間の形状情報を入力する必要がないため、広範囲におけるカメラ位置姿勢の推定ができるようになる。
【０２０９】
さらに、自動登録に合わせて画像特徴編集を設けることで、カメラ位置姿勢推定処理で利用する、ユーザが所望する必要最低限の配置情報を得ることができる。すなわち、カメラ位置姿勢推定処理において、誤認識と処理速度低下を軽減する効果が得られる。また、幾何特徴がフレームアウトすれば再度選択し直す、という従来技術１における問題は解消されるため、手間の軽減にも繋がる。
【０２１０】
＜変形例１＞
第１の実施形態では、撮像手段位置姿勢推定部１８５は３つの処理モード（自動登録処理モード、編集処理モード、アプリケーション実行モード）の何れか１つを設定していた。しかし、係る３つの処理モードのうち何れか１つを設定することに限定するものではない。例えば、自動登録処理モードとアプリケーション実行モードとを新アプリケーション実行モードとして統合し、新アプリケーション実行モードと編集処理モードの２つの何れかを設定するようにしても良い。
【０２１１】
以下では、本変形例と第１の実施形態との相違点のみについて説明する。
【０２１２】
撮像画像上における幾何特徴をユーザに通知するための表示を行う為に行うメインの処理において、本実施形態では、図６のフローチャートからステップＳ６６０を削除すると共に、係る削除に伴い、ステップＳ６３０における処理を以下のように変更する。
【０２１３】
ステップＳ６３０では、図７のフローチャートにおいて、ステップＳ７９０を図９のステップＳ９１０に置き換えた処理を実行する。
【０２１４】
係る変更により、ユーザ１０５には、複合現実感のコンテンツを体験させながら、バックグラウンドでは、特徴配置情報の自動登録を行うことができる。そして、カメラ１１０の位置姿勢の推定精度を低下させるような配置情報が登録された場合、ユーザ１０５は操作入力装置１１７を用いて編集処理モードを設定し、不要な特徴配置情報を無効化する。これにより、カメラ１１０の位置姿勢の推定精度の低下を解消することができる。
【０２１５】
同様に、図８のフローチャートにおいて、ステップＳ７９０を図９のステップＳ９１０に置き換えた処理を実行ことにより、コンテンツを体験しながら配置情報の選定を行うことも可能である。
【０２１６】
＜変形例２＞
第１の実施形態では、ユーザ１０５は、自身の頭部にはＨＭＤ１１５を装着していたが、例えば、ユーザ１０５がカメラ１１０を手に持って現実空間を撮像し、ＨＭＤ１１５の代わりにワークステーションのモニタ上に表示を行うようにしても良い。、ＨＭＤ１１５の結果を表示するような装置であっても適用可能である。即ち、ＨＭＤ１１５が有する表示部をモニタとして独立させ、画像処理装置１９９に接続すると共に、カメラ１１０もＨＭＤ１１５から独立させ、ユーザ１０５の手に把持させる。
【０２１７】
＜変形例３＞
第１の実施形態において、画像入力部１２０は、カメラ１１０が撮像した画像（静止画、若しくは動画像）をリアルタイムで取得し、取得した画像を画像特徴検出部１３０や画像記憶部１５０に出力していた。しかし、画像の取得形態は係る取得形態に限定するものではなく、例えば、予めカメラ１１０により撮像した動画像を何らかの記憶装置に格納しておき、画像入力部１２０は係る記憶装置から画像を読み出すようにしても良い。
【０２１８】
以下では、本変形例と第１の実施形態との相違点のみについて説明する。
【０２１９】
画像入力部１２０は、記憶装置から動画像を読み出し、読み出した動画像のうち指定された静止画像、若しくは何らかの指標に基づいて決まるフレームにおける静止画像を画像記憶部１５０や画像特徴検出部１３０に送出する。
【０２２０】
なお、画像入力部１２０は、再生、巻き戻し、早送り、フレーム戻し、フレーム送り等の、ユーザからの（操作入力装置１１７からの）指示を検出すると、係る指示に応じた静止画を、動画像から抽出する。そして抽出した静止画をＨＭＤ１１５に表示させても良い。配置情報編集部１８０は、動画像から抜き出された静止画についての特徴配置情報に対して編集を行うことになる。
【０２２１】
また、本変形例では、基本的には図６〜図１４のフローチャートに従った処理を行うのであるが、図７〜９のそれぞれのステップＳ７０５では、カメラ１１０からではなく、動画像を記憶している記憶装置から１フレーム分の撮像画像を取得することになる。
【０２２２】
このように、本変形例によれば、＜従来技術１＞で挙げた、カメラ位置姿勢を求めるときに無効化したい画像特徴を含む物体がフレームアウトした後に再度フレームインしたときに、画像特徴の無効化状態が継続されないという課題を解決することができる。すなわち、画像上で検出した画像特徴を選択するのではなく、３次元空間内での配置情報が推定されている幾何特徴を選定することによって、上記のような課題を回避することができる。
【０２２３】
また別の効果として、動画像から検出された特徴配置情報を配置情報編集部１８０が編集することで、動画像のシーケンス全体を通して、どのような特徴配置情報を選べば精度の良いカメラ位置姿勢推定結果が得られるのかを吟味することが可能となる。
【０２２４】
また、アプリケーション実行モードのみを、動画像を取得するときでも実行可能なようにしてもよい。
【０２２５】
＜変形例４＞
第１の実施形態では、配置情報生成部１４０が、未知の幾何特徴の配置情報を、カメラ１１０によって得られた複数の画像から求め、求めた配置情報を配置情報記憶部１６０に登録していた。しかし、未知の幾何特徴の配置情報を自動的に生成して登録することに限定されるものではなく、あらかじめ用意された既知の特徴配置情報を用いるようにしても良い。
【０２２６】
例えば、現実空間中に現実物体として配されている３ＤＣＡＤモデルの頂点を点特徴、エッジ形状を線特徴として配置情報記憶部１６０に登録しておいても良い。これにより、例えば、一眼レフカメラのような複雑な現実物体を撮影するカメラ１１０の位置姿勢を推定する場合には、係る現実物体から予め求めている点特徴や線特徴を用いる。更に、３ＤＣＡＤモデルの特徴点や線特徴の中で不要なものを編集して無効化することにより、より最適な特徴配置情報を生成することが可能となる。
【０２２７】
以下では、本変形例と第１の実施形態との相違点のみについて説明する。
【０２２８】
先ず、本変形例に係る画像処理装置の機能構成については、図１に示した構成から配置情報生成部１４０が削除され、配置情報記憶部１６０に、あらかじめ形状モデルから変換された特徴配置情報が入力されている。画像特徴検出部１３０が検出した画像特徴は、そのまま撮像手段位置姿勢推定部１８５に入力され、配置情報記憶部１６０が保持する特徴配置情報に基づいてカメラ１１０の位置姿勢が推定される。
【０２２９】
また、本変形例では、図６のステップＳ６２０、ステップＳ６３０は削除し、アプリケーション実行モード又は編集処理モードの処理のどちらかが実行される。
【０２３０】
＜変形例５＞
第１の実施形態において、ＨＭＤ１１５は、撮像手段位置姿勢推定部１８５によるカメラ１１０の位置姿勢の推定結果に基づいて幾何特徴の配置情報を撮像面上に投影し、係る投影による位置に、配置情報表示オブジェクトを表示していた。しかし、係る投影は、カメラ１１０の撮像面に対して行うことに限定するものではなく、他の視点における撮像面に対して行うようにしても良い。
【０２３１】
例えば、配置情報生成部１４０によって登録された特徴配置情報の量や選択状況を把握するために、比較的遠くから眺めたり、下から見上げたりすることで理解が容易になる場合がある。しかし、カメラ１１０を地面の下に移動させることはできないため、特徴配置情報の状態を確認する方法として、カメラ１１０以外の視点を設定することが重要になる場合もある。
【０２３２】
以下では、本変形例と第１の実施形態との相違点のみについて説明する。
【０２３３】
ユーザ１０５が操作入力装置１１７を用いて、特徴配置情報を確認するための視点の位置姿勢情報を入力し、係る視点から見た画像を生成すべく、入力を行うので、本変形例における図７，８のステップＳ７９０では、係る指示を受け付ける。
【０２３４】
そして、受け付けた係る視点をカメラ１１０の代わりに用いて第１の実施形態で説明した処理を行う。特徴配置情報を投影表示する場合に、背景となっている撮像画像の表示が視認性を落とす場合は、背景を黒等の単色画像に設定しても良い。
【０２３５】
即ち、本変形例では、ユーザにより指定された視点の位置姿勢に応じて決まる面上で、配置情報に対応する領域を、視点の位置姿勢に基づいて求め、予め設定された画像をこの領域に対して表示した仮想の画像を出力する。
【０２３６】
なお、仮想の画像、更新撮像画像のうち、操作入力装置１１７による操作に応じて決まる一方を出力するようにしても良い。
【０２３７】
［第２の実施形態］
図１に示した画像処理装置１９９を構成する各部のうち、画像特徴検出部１３０、配置情報生成部１４０、撮像手段位置姿勢推定部１８５、配置情報編集部１８０、合成部１９５については、コンピュータプログラムとして実装することができる。そしてまた、画像記憶部１５０、配置情報記憶部１６０、については、ＲＡＭやハードディスクなどのメモリ装置によって実装することができる。また、画像入力部１２０、操作入力部１７０については、Ｉ／Ｆ（インターフェース）によって実装することができる。
【０２３８】
従って、上記メモリ装置、Ｉ／Ｆを有するコンピュータに、上記コンピュータプログラムをインストールさせ、そしてこのコンピュータが係るコンピュータプログラムを実行することで、このコンピュータは、画像処理装置１９９と同様の動作を行うことになる。
【０２３９】
図２２は、画像処理装置１９９に適用可能なコンピュータのハードウェア構成例を示すブロック図である。
【０２４０】
ＣＰＵ２２０１は、ＲＡＭ２２０２やＲＯＭ２２０３に格納されているプログラムやデータを用いてコンピュータ全体の制御を行うと共に、画像処理装置１９９が行うものとして説明した上述の各処理を実行する。
【０２４１】
ＲＡＭ２２０２は、外部記憶装置２２０６からロードされたプログラムやデータ、Ｉ／Ｆ２２０７を介して外部から受信したデータ等を一時的に記憶するためのエリアを有する。更に、ＲＡＭ２２０２は、ＣＰＵ２２０１が各種の処理を実行する際に用いるワークエリアも有する。即ち、ＲＡＭ２２０２は、各種のエリアを適宜提供することができる。
【０２４２】
ＲＯＭ２２０３は、ブートプログラムや、本コンピュータの設定データ等を格納する。
【０２４３】
操作部２２０４は、キーボードやマウスなどにより構成されており、本コンピュータの操作者（例えばユーザ１０５）が操作することで、各種の指示をＣＰＵ２２０１に対して入力することができる。
表示部２２０５は、ＣＲＴや液晶画面などにより構成されており、ＣＰＵ２２０１による処理結果を画像や文字などでもって表示することができる。
【０２４４】
外部記憶装置２２０６は、ハードディスクに代表される大容量情報記憶装置である。外部記憶装置２２０６には、ＯＳ（オペレーティングシステム）の他、以下のような各種の情報が保存されている。
【０２４５】
例えば、外部記憶装置２２０６には、画像特徴検出部１３０、配置情報生成部１４０、撮像手段位置姿勢推定部１８５、配置情報編集部１８０、合成部１９５の各部の機能をＣＰＵ２２０１に実行させるためのプログラムが保存されている。加えて、外部記憶装置２２０６は、画像記憶部１５０や、配置情報記憶部１６０としても機能するので、画像記憶部１５０や配置情報記憶部１６０が格納しているものとして説明した各種の情報もまた、この外部記憶装置２２０６に保存されている。即ち、上述の説明において、「格納する」ものとして説明した様々な情報は、この外部記憶装置２２０６に保存されることになる。外部記憶装置２２０６に保存されている各種の情報は、ＣＰＵ２２０１による制御に従って、適宜ＲＡＭ２２０２にロードされる。そしてこのロードされた各種の情報は、ＣＰＵ２２０１による処理対象となる。
【０２４６】
Ｉ／Ｆ２２０７は上記画像入力部１２０や操作入力部１７０として機能するもので、ＨＭＤ１１５や操作入力装置１１７は、このＩ／Ｆ２２０７に接続される。なお、ＨＭＤ１１５、操作入力装置１１７のそれぞれに別個にＩ／Ｆを設けるようにしても良い。
【０２４７】
２２０８は、上述の各部を繋ぐバスである。
【０２４８】
［その他の実施形態］
また、本発明の目的は、以下のようにすることによって達成されることはいうまでもない。即ち、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体（または記憶媒体）を、システムあるいは装置に供給する。係る記憶媒体は言うまでもなく、コンピュータ読み取り可能な記憶媒体である。そして、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に格納されたプログラムコードを読み出し実行する。この場合、記録媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記録した記録媒体は本発明を構成することになる。
【０２４９】
また、コンピュータが読み出したプログラムコードを実行することにより、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）などが実際の処理の一部または全部を行う。その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０２５０】
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれたとする。その後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０２５１】
本発明を上記記録媒体に適用する場合、その記録媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。
【図面の簡単な説明】
【０２５２】
【図１】本発明の第１の実施形態に係るシステムの機能構成を示すブロック図である。
【図２】動画像に対して上記従来技術１として説明したマッチムーブ技術を用いて各フレームにおけるカメラの位置姿勢を推定する装置の機能構成を示すブロック図である。
【図３】非特許文献１で開示されている、未知の幾何特徴の配置情報を自動的に生成すると共に、カメラ１１０の位置姿勢をも推定する、装置の機能構成を示すブロック図である。
【図４】カメラ１１０が撮像したあるフレームにおける撮像画像の一例を示す図である。
【図５】合成部１９５によって生成される合成画像の一例を示す図である。
【図６】本発明の第１の実施形態に係る画像処理装置が、撮像画像上における幾何特徴をユーザに通知するための表示を行う為に行うメインの処理のフローチャートである。
【図７】ステップＳ６３０において行われる、自動登録処理モードが設定されている場合に行われる処理、の詳細を示すフローチャートである。
【図８】ステップＳ６５０において行われる、編集処理モードが設定されている場合に行われる処理、の詳細を示すフローチャートである。
【図９】ステップＳ６６０において行われる、アプリケーション実行モードが設定されている場合に行われる処理、の詳細を示すフローチャートである。
【図１０】ステップＳ８４０において行われる、配置情報の編集処理、の詳細を示すフローチャートである。
【図１１】ステップＳ１０１２において行われる、配置情報の選択処理、の詳細を示すフローチャートである。
【図１２】ステップＳ１１８０において行われる、２Ｄ領域を選択指定する為の処理のフローチャートである。
【図１３】ステップＳ１１９５において行われる、３Ｄ領域を選択指定するための処理のフローチャートである。
【図１４】ステップＳ１０１６において行われる、配置情報の操作処理、のフローチャートである。
【図１５】ステップＳ１００３においてＨＭＤ１１５が有する表示画面上に表示される画面の表示例を示す図である。
【図１６】ステップＳ１１１０においてＨＭＤ１１５が有する表示画面上に表示される画面の表示例を示す図である。
【図１７】ステップＳ１２１０においてＨＭＤ１１５が有する表示画面上に表示される画面の表示例を示す図である。
【図１８】ステップＳ１３１０においてＨＭＤ１１５が有する表示画面上に表示される画面の表示例を示す図である。
【図１９】ステップＳ１４１０においてＨＭＤ１１５が有する表示画面上に表示される画面の表示例を示す図である。
【図２０】２つの画像特徴データセットから、投影線を求めるための処理を説明する図である。
【図２１】配置情報記憶部１６０に格納されている各特徴配置情報をテーブル形式で示した図である。
【図２２】画像処理装置１９９に適用可能なコンピュータのハードウェア構成例を示すブロック図である。
【図１】
0004956375.tif 000002
【図２】
0004956375.tif 000003
【図３】
0004956375.tif 000004
【図４】
0004956375.tif 000005
【図５】
0004956375.tif 000006
【図６】
0004956375.tif 000007
【図７】
0004956375.tif 000008
【図８】
0004956375.tif 000009
【図９】
0004956375.tif 000010
【図１０】
0004956375.tif 000011
【図１１】
0004956375.tif 000012
【図１２】
0004956375.tif 000013
【図１３】
0004956375.tif 000014
【図１４】
0004956375.tif 000015
【図１５】
0004956375.tif 000016
【図１６】
0004956375.tif 000017
【図１７】
0004956375.tif 000018
【図１８】
0004956375.tif 000019
【図１９】
0004956375.tif 000020
【図２０】
0004956375.tif 000021
【図２１】
0004956375.tif 000022
【図２２】
0004956375.tif 000023