(57)【要約】【課題】マーカを認識できない場合でも情報の重畳表示位置を正確に決定できるようにする。【解決手段】蓄積処理部２は、撮像画像からのマーカの認識に成功したとき、この撮像画像と他の画像との類似度の計算に使用される、この撮像画像に関する第１の情報５ａと、この撮像画像からのマーカの認識結果に基づく第２の情報５ｂとを、記憶装置４へ記録する。表示位置決定部３は、第１の撮像画像からのマーカの認識に失敗したとき、記憶装置４に記録された第１の情報５ａに基づいて、第１の撮像画像と類似する第２の撮像画像に対応する第２の情報５ｂを記憶装置４から抽出し、抽出した第２の情報５ｂに基づいて、第１の撮像画像に対応する撮像位置および撮像姿勢を算出し、それらに基づいて作業支援情報２２の重畳表示位置を決定する。【選択図】図１
2015211363.tif 000002
【特許請求の範囲】
【請求項１】
撮像画像から認識されたマーカの位置情報に基づいてマーカを基準とした撮像位置および撮像姿勢を算出し、算出した撮像位置および撮像姿勢に基づく撮像画像上の位置に所定の作業支援情報を重畳表示させる表示制御装置において、
撮像画像からのマーカの認識に成功したとき、当該撮像画像と他の画像との類似度の計算に使用される、当該撮像画像に関する第１の情報と、当該撮像画像からのマーカの認識結果に基づく第２の情報とを、記憶装置へ記録する蓄積処理部と、
第１の撮像画像からのマーカの認識に失敗したとき、前記記憶装置に記録された撮像画像ごとの前記第１の情報に基づいて、前記第１の撮像画像と類似する第２の撮像画像に対応する前記第２の情報を前記記憶装置から抽出し、抽出した前記第２の情報に基づいて、前記第１の撮像画像に対応する撮像位置および撮像姿勢を算出し、算出した撮像位置および撮像姿勢に基づいて作業支援情報の重畳表示位置を決定する表示位置決定部と、
を有することを特徴とする表示制御装置。
【請求項２】
前記表示位置決定部は、
前記記憶装置から、前記第１の撮像画像と類似する前記第２の撮像画像に対応する前記第１の情報を抽出し、
抽出した前記第１の情報に基づき、前記第２の撮像画像における複数の特徴点の座標を、前記第１の撮像画像における複数の特徴点の座標に変換する変換式を算出して、前記変換式による座標変換の評価値を算出し、
前記評価値が所定条件を満たす場合に、前記第２の撮像画像に対応する前記第２の情報に基づいて撮像位置および撮像姿勢を算出する、
ことを特徴とする請求項１記載の表示制御装置。
【請求項３】
前記第２の情報には、撮像画像におけるマーカの位置情報が含まれ、
前記表示位置決定部は、前記評価値が前記所定条件を満たす場合に、前記第２の撮像画像に対応する前記第２の情報に含まれるマーカの位置情報を、前記変換式を用いて変換し、変換後のマーカの位置情報に基づいて撮像位置および撮像姿勢を算出する、
ことを特徴とする請求項２記載の表示制御装置。
【請求項４】
前記第２の情報には、撮像画像におけるマーカの位置情報が含まれ、
前記表示位置決定部は、
前記記憶装置から、前記第１の撮像画像と類似する前記第２の撮像画像に対応する前記第１の情報を抽出し、
抽出した前記第１の情報に基づいて、前記第２の撮像画像における複数の特徴点の座標を、前記第１の撮像画像における複数の特徴点の座標に変換する変換式を算出し、
前記第２の撮像画像に対応する前記第２の情報に含まれるマーカの位置情報を、前記変換式を用いて変換し、変換後のマーカの位置情報に基づいて撮像位置および撮像姿勢を算出する、
ことを特徴とする請求項１記載の表示制御装置。
【請求項５】
前記記憶装置では、前記第１の情報および前記第２の情報が、対応する撮像画像から算出された撮像位置および撮像姿勢に基づいて複数のグループに分類されて記録され、
前記表示位置決定部は、前記複数のグループからそれぞれ１つずつ選択された前記第１の情報を用いて、選択された前記第１の情報にそれぞれ対応する撮像画像の中から前記第１の撮像画像と類似する撮像画像を抽出し、抽出した撮像画像が属するグループを選択し、選択したグループに含まれる複数の前記第１の情報を用いて、当該グループに含まれる前記第１の情報に対応する撮像画像の中から前記第１の撮像画像と類似する前記第２の撮像画像を抽出する、
ことを特徴とする請求項１記載の表示制御装置。
【請求項６】
前記表示位置決定部は、
撮像画像からのマーカの認識に失敗したとき、前記複数のグループの中から前記第１の情報および前記第２の情報が含まれる数が最も多いグループを選択し、選択したグループから前記第２の情報を１つ選択し、選択した前記第２の情報に基づくマーカの外形と同じ形状で同じ大きさのガイド枠を、撮像画像上の当該マーカと同じ位置に表示させ、
前記ガイド枠の表示後に取り込んだ撮像画像を用いて、前記選択したグループに含まれる複数の前記第１の情報を用いて、当該グループに含まれる前記第１の情報に対応する撮像画像の中から、前記ガイド枠の表示後に取り込んだ撮像画像と類似する前記第２の撮像画像を抽出する、
ことを特徴とする請求項５記載の表示制御装置。
【請求項７】
前記表示位置決定部は、
前記第１の撮像画像からのマーカの認識に失敗したとき、前記第１の撮像画像におけるマーカの形状および位置の情報を入力する操作を受け付け、
前記複数のグループからそれぞれ１つずつ選択された前記第２の情報と、入力された前記位置情報に基づくマーカに関する情報とを比較して、選択された前記第２の情報に対応する撮像画像の中から、前記位置情報に基づくマーカとの関連性を示す指標が所定条件を満たすマーカが認識された撮像画像を判定し、
判定した撮像画像が属するグループに含まれる複数の前記第１の情報を用いて、当該グループに含まれる前記第１の情報に対応する撮像画像の中から前記第１の撮像画像と類似する前記第２の撮像画像を抽出する、
ことを特徴とする請求項５記載の表示制御装置。
【請求項８】
撮像画像から認識されたマーカの位置情報に基づいてマーカを基準とした撮像位置および撮像姿勢を算出し、算出した撮像位置および撮像姿勢に基づく撮像画像上の位置に所定の作業支援情報を重畳表示させる表示制御方法において、
撮像画像からのマーカの認識に成功したとき、当該撮像画像と他の画像との類似度の計算に使用される、当該撮像画像に関する第１の情報と、当該撮像画像からのマーカの認識結果に基づく第２の情報とを、記憶装置へ記録し、
第１の撮像画像からのマーカの認識に失敗したとき、前記記憶装置に記録された撮像画像ごとの前記第１の情報に基づいて、前記第１の撮像画像と類似する第２の撮像画像に対応する前記第２の情報を前記記憶装置から抽出し、抽出した前記第２の情報に基づいて、前記第１の撮像画像に対応する撮像位置および撮像姿勢を算出し、算出した撮像位置および撮像姿勢に基づいて作業支援情報の重畳表示位置を決定する、
ことを特徴とする表示制御方法。
【請求項９】
撮像画像から認識されたマーカの位置情報に基づいてマーカを基準とした撮像位置および撮像姿勢を算出し、算出した撮像位置および撮像姿勢に基づく撮像画像上の位置に所定の作業支援情報を重畳表示させる処理を、コンピュータに実行させる表示制御プログラムにおいて、
前記コンピュータに、
撮像画像からのマーカの認識に成功したとき、当該撮像画像と他の画像との類似度の計算に使用される、当該撮像画像に関する第１の情報と、当該撮像画像からのマーカの認識結果に基づく第２の情報とを、記憶装置へ記録し、
第１の撮像画像からのマーカの認識に失敗したとき、前記記憶装置に記録された撮像画像ごとの前記第１の情報に基づいて、前記第１の撮像画像と類似する第２の撮像画像に対応する前記第２の情報を前記記憶装置から抽出し、抽出した前記第２の情報に基づいて、前記第１の撮像画像に対応する撮像位置および撮像姿勢を算出し、算出した撮像位置および撮像姿勢に基づいて作業支援情報の重畳表示位置を決定する、
処理を実行させることを特徴とする表示制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、表示制御装置、表示制御方法および表示制御プログラムに関する。
【背景技術】
【０００２】
現実空間を撮像した画像上の所定位置に、仮想的な画像を重畳して表示する拡張現実感（Augmented Reality，ＡＲ）技術が知られている。このＡＲ技術は、現在、工場などの作業空間において、作業内容や作業対象箇所などを示す作業支援情報を撮像画像上に重畳表示することによって、作業者の作業を支援する用途で普及しつつある。例えば、原子力発電プラントにおける機器の解体作業を支援するために使用することが提案されている。
【０００３】
撮像画像に基づいて作業支援情報を重畳表示する方法は、現実空間上の既知の位置に配置された既知の形状のマーカを使用する“マーカベース方式”と、このようなマーカを使用しない“マーカレス方式”とに大別される。マーカベース方式では、例えば、作業者によってマーカを含む領域が撮像されると、撮像画像から認識されたマーカの座標情報に基づいてカメラの位置および姿勢（撮像方向）が判定される。そして、判定された位置および姿勢に応じた画像上の適切な位置に、マーカに対応付けられた作業支援情報が重畳表示される。一方、マーカレス方式では、例えば、撮像画像から未知の特徴点の情報が抽出され、抽出された特徴点の情報を基にカメラの位置および姿勢が判定される。
【０００４】
また、ＡＲ技術による画像重畳に関する技術の例として、直前の期間での角速度の計測結果に基づいてカメラ位置姿勢を推定し、撮像画像からのマーカの検出結果と推定されたカメラ位置姿勢との関係に基づいて、推定されたカメラ位置姿勢を修正する技術が提案されている。
【０００５】
また、画像認識技術の例として、撮像画像から抽出した特徴部分の特徴量を抽出し、各特徴部分の物理的性質と撮像時の照明条件とから各特徴量の重要度を決定し、各特徴量を重要度で重み付けした値に基づいて対象物の位置姿勢を認識する技術が提案されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００５−３３３１９号公報
【特許文献２】特開２０１１−１７５６００号公報
【非特許文献】
【０００７】
【非特許文献１】石井裕剛、外５名、「拡張現実感を利用した原子力発電プラントの解体支援手法の提案と評価」、日本バーチャルリアリティ学会論文誌Ｖｏｌ．１３，Ｎｏ．２、２００８年６月３０日、ｐ．２９０−２９１
【発明の概要】
【発明が解決しようとする課題】
【０００８】
ところで、作業空間に配置したマーカの近傍をカメラで撮像した際に、撮像画像からマーカを認識できない場合がある。マーカベース方式の重畳表示処理では、撮像画像からマーカを認識できない場合には、作業支援情報の重畳位置を決定できなくなり、その結果、作業支援情報を重畳表示できなくなってしまう。
【０００９】
マーカを認識できなくなった場合の対策としては、例えば、マーカレス方式に切り替える方法が考えられる。しかし、マーカレス方式では、初期状態での撮像位置および撮像姿勢の推定精度が、それ以降の重畳位置精度に影響を与える。マーカを認識できない状況では、初期状態での撮像位置および撮像姿勢の推定精度が低下する場合があり、その結果、重畳位置精度が低下することがあり得る。
【００１０】
１つの側面では、本発明は、マーカを認識できない場合でも情報の重畳表示位置を正確に決定することが可能な表示制御装置、表示制御方法および表示制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
１つの案では、撮像画像から認識されたマーカの位置情報に基づいてマーカを基準とした撮像位置および撮像姿勢を算出し、算出した撮像位置および撮像姿勢に基づく撮像画像上の位置に所定の作業支援情報を重畳表示させる表示制御装置が提供される。この表示制御装置は、蓄積処理部および表示位置決定部を有する。蓄積処理部は、撮像画像からのマーカの認識に成功したとき、この撮像画像と他の画像との類似度の計算に使用される、この撮像画像に関する第１の情報と、この撮像画像からのマーカの認識結果に基づく第２の情報とを、記憶装置へ記録する。表示位置決定部は、第１の撮像画像からのマーカの認識に失敗したとき、記憶装置に記録された撮像画像ごとの第１の情報に基づいて、第１の撮像画像と類似する第２の撮像画像に対応する第２の情報を記憶装置から抽出し、抽出した第２の情報に基づいて、第１の撮像画像に対応する撮像位置および撮像姿勢を算出し、算出した撮像位置および撮像姿勢に基づいて作業支援情報の重畳表示位置を決定する。
【００１２】
また、１つの案では、上記の表示制御装置と同様の処理が行われる表示制御方法が提供される。
さらに、１つの案では、上記の表示制御装置と同様の処理をコンピュータに実行させる表示制御プログラムが提供される。
【発明の効果】
【００１３】
１つの側面では、マーカを認識できない場合でも情報の重畳表示位置を正確に決定できる。
【図面の簡単な説明】
【００１４】
【図１】第１の実施の形態に係る表示制御装置の構成例および処理例を示す図である。
【図２】第２の実施の形態に係る端末装置のハードウェア構成例を示す図である。
【図３】端末装置の利用シーンの例を示す図である。
【図４】撮像画像に対する作業支援情報の重畳表示の例を示す図である。
【図５】マーカ座標系、カメラ座標系および画像座標系の例を示す図である。
【図６】回転行列について示す図である。
【図７】並進ベクトルについて示す図である。
【図８】端末装置が備える処理機能の構成例を示すブロック図である。
【図９】比較画像情報データベースに記録される情報の構成例を示す図である。
【図１０】端末装置の処理手順の例を示すフローチャート（その１）である。
【図１１】端末装置の処理手順の例を示すフローチャート（その２）である。
【図１２】端末装置の処理手順の例を示すフローチャート（その３）である。
【図１３】第３の実施の形態に係る端末装置が備える処理機能の構成例を示すブロック図である。
【図１４】比較画像情報データベースに記録される情報の構成例を示す図である。
【図１５】情報蓄積制御部による分類処理の手順の例を示すフローチャートである。
【図１６】第３の実施の形態の比較画像情報選択部による処理の一部の例を示すフローチャートである。
【図１７】ガイド枠の表示に伴う画面の例を示す図である。
【図１８】第４の実施の形態の比較画像情報選択部による処理の一部の例を示すフローチャートである。
【図１９】第５の実施の形態の比較画像情報選択部による処理の一部の例を示すフローチャートである。
【発明を実施するための形態】
【００１５】
以下、本発明の実施の形態について図面を参照して説明する。
〔第１の実施の形態〕
図１は、第１の実施の形態に係る表示制御装置の構成例および処理例を示す図である。図１に示す表示制御装置１は、撮像画像から認識されたマーカの位置情報に基づいて、マーカを基準とした撮像位置および撮像姿勢を算出する。そして、算出した撮像位置および撮像姿勢に基づく撮像画像上の位置に、所定の作業支援情報を重畳表示させる。
【００１６】
例えば、表示制御装置１には、カメラと表示装置とが搭載され、表示制御装置１は、作業者によって携帯される。作業者は、マーカが配設された作業対象物を含む作業空間を撮像する。このとき、表示制御装置１は、撮像画像からマーカを認識し、その認識結果に基づいて、上記手順で撮像画像上に作業支援情報を重畳表示させる。
【００１７】
作業支援情報は、例えば、作業内容や作業の注意事項などの作業に関する情報を、仮想的な画像情報によって作業者に提示する情報である。作業者は、このような作業支援情報が重畳表示された画面を閲覧することにより、作業を正確に行うことができる。また、その作業効率が向上する。
【００１８】
また、上記手順により作業支援情報を重畳表示させる処理では、表示制御装置１は、撮像画像からマーカを認識できない場合には、撮像位置および撮像姿勢を算出できなくなり、その結果、作業支援情報を重畳表示させることができなくなる。表示制御装置１は、撮像画像からマーカが認識できない場合でも撮像画像上の正確な位置に作業支援情報を重畳表示できるようにするための処理機能として、蓄積処理部２および表示位置決定部３を有する。
【００１９】
蓄積処理部２は、上記のように撮像画像上に作業支援情報を重畳表示させる処理の間に、撮像画像からのマーカの認識に成功したとき、第１の情報５ａと第２の情報５ｂを記憶装置４へ記録する。記憶装置４は、例えば、表示制御装置１の内部に搭載されていてもよいし、あるいは、表示制御装置１の外部に設けられていてもよい。
【００２０】
第１の情報５ａは、マーカの認識に成功した撮像画像と他の画像との類似度の計算に使用される、この撮像画像に関する情報である。例えば、第１の情報５ａには、撮像画像から得られた特徴点の位置および特徴量、または、撮像画像の画像データが含まれる。第２の情報５ｂは、撮像画像からのマーカの認識結果に基づく情報である。例えば、第２の情報５ｂには、撮像画像におけるマーカの位置情報、または、マーカの位置情報から算出された撮像位置および撮像姿勢が含まれる。
【００２１】
表示位置決定部３は、撮像画像からのマーカの認識に失敗したとき、次のような処理を行う。なお、ここでは、図１に示す撮像画像１１ａが撮像されたときに、マーカの認識に失敗したものとする。
【００２２】
表示位置決定部３は、記憶装置４に記録された、撮像画像ごとの第１の情報５ａに基づいて、撮像画像１１ａと類似する撮像画像に対応する第２の情報５ｂを記憶装置４から抽出する。図１の例では、撮像装置１１ａに類似する過去の撮像画像として、画像１２が特定されたものとする。この場合、表示位置決定部３は、画像１２に対応する第２の情報５ｂを記憶装置４から抽出する。
【００２３】
なお、画像１２には、撮像装置１１ａの撮像範囲に本来含まれているはずのマーカ２１と同一のマーカ２１が写っており、画像１２からは過去にマーカ２１が認識されたものとする。この場合、抽出された第２の情報５ｂは、画像１２からのマーカ２１の認識結果に基づく情報となる。
【００２４】
表示位置決定部３は、抽出した第２の情報５ｂに基づいて、撮像画像１１ａに対応する撮像位置および撮像姿勢を算出する。算出される撮像位置および撮像姿勢は、撮像画像１１ａに本来写っているはずのマーカ２１を基準とした撮像位置および撮像姿勢を示す。そして、表示位置決定部３は、算出した撮像位置および撮像姿勢に基づいて、作業支援情報２２の重畳表示位置を決定する。
【００２５】
このように、表示制御装置１は、過去にマーカを認識できた撮像画像の中から、マーカを認識できなかった撮像画像と類似する撮像画像を抽出する。そして、抽出した撮像画像に対応する第２の情報、すなわち、マーカの認識結果に基づく情報を用いて、作業支援情報２２の重畳表示位置を決定する。これにより、撮像画像１１ａからマーカを認識できなくなった場合でも、撮像画像１１ａ上の正確な位置に作業支援情報２２を重畳表示させることができる。
【００２６】
特に、マーカを認識できなくなったときの表示制御装置１の上記処理は、マーカレス方式に切り替える方法と比較した場合、画像から抽出した自然特徴に基づいて撮像位置および撮像姿勢を直接算出しない点で、処理負荷が低い。さらに、マーカレス方式のように、初期状態での撮像位置および撮像姿勢の推定も必要にならない。このため、表示制御装置１によれば、マーカレス方式に切り替える方法と比較して、処理負荷を低減でき、作業支援情報の重畳表示位置の精度も向上させることができる。
【００２７】
〔第２の実施の形態〕
図２は、第２の実施の形態に係る端末装置のハードウェア構成例を示す図である。第２の実施の形態に係る端末装置１００は、図２に示すような携帯型のコンピュータとして実現される。
【００２８】
図２に示す端末装置１００は、プロセッサ１０１によって装置全体が制御されている。プロセッサ１０１は、マルチプロセッサであってもよい。プロセッサ１０１は、例えば、ＣＰＵ（Central Processing Unit）、ＭＰＵ（Micro Processing Unit）、ＤＳＰ（Digital Signal Processor）、ＡＳＩＣ（Application Specific Integrated Circuit）、またはＰＬＤ（Programmable Logic Device）である。また、プロセッサ１０１は、ＣＰＵ、ＭＰＵ、ＤＳＰ、ＡＳＩＣ、ＰＬＤのうちの２以上の要素の組み合わせであってもよい。
【００２９】
プロセッサ１０１には、バス１０９を介して、ＲＡＭ（Random Access Memory）１０２と複数の周辺機器が接続されている。
ＲＡＭ１０２は、端末装置サーバ１００の主記憶装置として使用される。ＲＡＭ１０２には、プロセッサ１０１に実行させるＯＳ（Operating System）プログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、ＲＡＭ１０２には、プロセッサ１０１による処理に必要な各種データが格納される。
【００３０】
バス１０９に接続されている周辺機器としては、ＨＤＤ（Hard Disk Drive）１０３、表示装置１０４、入力装置１０５、読み取り装置１０６、無線通信インタフェース１０７およびカメラ１０８がある。
【００３１】
ＨＤＤ１０３は、端末装置１００の補助記憶装置として使用される。ＨＤＤ１０３には、ＯＳプログラム、アプリケーションプログラム、および各種データが格納される。なお、補助記憶装置としては、ＳＳＤ（Solid State Drive）などの他の種類の不揮発性記憶装置を使用することもできる。
【００３２】
表示装置１０４は、プロセッサ１０１からの命令に従って、画像をその画面に表示する。表示装置１０４としては、液晶ディスプレイや、有機ＥＬ（ElectroLuminescence）ディスプレイなどがある。
【００３３】
入力装置１０５は、ユーザによる入力操作に応じた信号をプロセッサ１０１に送信する。入力装置１０５としては、例えば、表示装置１０４の表示面に配置されるタッチパネルや、タッチパッド、マウス、トラックボール、操作キーなどがある。
【００３４】
読み取り装置１０６には、可搬型記録媒体１０６ａが脱着される。読み取り装置１０６は、可搬型記録媒体１０６ａに記録されたデータを読み取ってプロセッサ１０１に送信する。可搬型記録媒体１０６ａとしては、光ディスク、光磁気ディスク、半導体メモリなどがある。
【００３５】
無線通信インタフェース１０７は、無線通信により他の装置との間でデータの送受信を行う。
カメラ１０８は、撮像素子によって得られた画像信号をデジタル化して、プロセッサ１０１に送信する。
【００３６】
以上のようなハードウェア構成によって、端末装置１００の処理機能を実現することができる。
図３は、端末装置の利用シーンの例を示す図である。作業者２００は、作業の対象とする作業対象物２０１が存在する作業空間において、端末装置１００を携帯する。作業対象物２０１には、作業の段階ごとに、所定位置にマーカが貼付されている。図３の例では、２つのマーカ２１１，２１２が示されている。それぞれのマーカの外形の形状や大きさは同じであり、ここでは、各マーカは、長辺および短辺がそれぞれ同一の矩形であるとする。また、各マーカの外縁部は、同じ太さおよび同じ色の線によって縁取られているものとする。さらに、マーカの内部に表示された情報（内部パターン）は、マーカごとに異なっている。
【００３７】
端末装置１００においては、例えば、表示装置１０４の表示面に対する裏面側に、カメラ１０８が取り付けられている。作業者２００は、端末装置１００を作業対象物２０１にかざして、マーカを含む作業対象の領域をカメラ１０８によって撮像する。すると、端末装置１００は、撮像された画像からマーカを認識する。マーカの内部パターンがマーカごとに異なっていることから、端末装置１００は、マーカの内部パターンの認識結果から、作業段階を特定することができる。端末装置１００は、特定した作業段階に対応付けられた作業支援情報を読み出し、マーカの認識結果に基づいて、読み出した作業支援情報を撮像画像上の適切な位置に重畳して表示させる。
【００３８】
なお、図３では例として１つの作業対象物２０１のみが示されているが、作業対象物が複数存在し得ることは言うまでもない。
図４は、撮像画像に対する作業支援情報の重畳表示の例を示す図である。前述のように、端末装置１００は、基本的に、撮像画像からのマーカの認識結果に基づいて、そのマーカに対応付けられた作業支援情報を撮像画像上の適切な位置に重畳表示させる。すなわち、端末装置１００は、通常、マーカベースＡＲ技術を用いて作業支援情報の重畳表示処理を行う。
【００３９】
図４の上側に示す画像２２１は、マーカ２１３が貼付された作業対象物２０２を撮像することで得られた画像の例である。端末装置１００は、画像２２１からマーカ２１３を認識する。このとき、端末装置１００は、例えば、マーカ２１３の外形における４つの頂点の画像２２１上の座標を検出し、これらの頂点の座標に基づいてカメラ１０８による撮像位置および撮像姿勢を示す情報を算出する。以下、カメラ１０８による撮像位置および撮像姿勢を示す情報を、“撮像位置姿勢情報”と称する場合がある。
【００４０】
端末装置１００は、マーカ２１３の内部の表示情報に基づいて作業段階を判定し、判定した作業段階に対応する作業支援情報を特定する。端末装置１００は、特定した作業支援情報を、撮像位置姿勢情報から算出される画像２２１上の適切な位置に、重畳表示させる。図４の下側に示す画像２２２は、画像２２１に対して、マーカ２１３に対応する作業支援情報２２２ａ〜２２２ｄを重畳表示させた場合の例を示す。例えば、作業支援情報２２２ａは、作業対象物２０２の所定部位（ハンドル）を作業者に回転させる方向を矢印の画像によって案内するものである。また、作業支援情報２２２ｂ〜２２２ｄは、文字情報により作業の内容や作業に関連する情報を作業者に提示するものである。
【００４１】
ここで、マーカの中心を原点とした３次元の座標系を“マーカ座標系”と称することにする。端末装置１００によって算出される撮像位置姿勢情報は、マーカ座標系における情報として表される。すなわち、撮像位置姿勢情報は、マーカの中心を基準として、どの位置からどのような方向でマーカを撮像しているかを示す情報である。また、作業支援情報を重畳表示させる位置の情報は、マーカ座標系における位置情報として端末装置１００内に記憶されている。
【００４２】
撮像画像に写るマーカの形状や大きさは、撮像位置姿勢情報に応じて変化する。このことから、端末装置１００は、撮像画像におけるマーカの頂点の位置に基づいて、撮像位置姿勢情報を算出することができる。そして、端末装置１００は、マーカ座標系が示す空間上の指定された位置に作業支援情報が存在すると仮定して、算出した撮像位置姿勢情報が示す位置からそれらの作業支援情報を撮像した場合に、作業支援情報が撮像画像上のどの位置にどのような形状で写るかを算出する。これにより、マーカに対するカメラ１０８の位置や撮像方向に応じて、撮像画像上の適切な位置に作業支援情報を重畳表示させることができる。
【００４３】
ここで、図５〜図７を用いて、撮像画像上に作業支援情報を重畳表示させる際の位置の算出方法について説明する。
図５は、マーカ座標系、カメラ座標系および画像座標系の例を示す図である。図５において、マーカ２１４の中心を原点とし、マーカ２１４の面をＸ−Ｙ平面としたマーカ座標系を、行列［Ｘm  Ｙm  Ｚm  １］Tと定義する。なお、右上に付した“Ｔ”は転置行列を示す。また、カメラの焦点を原点とし、撮像方向の中心をＺ軸とする３次元の“カメラ座標系”を、行列［Ｘc  Ｙc  Ｚc  １］Tと定義する。さらに、撮像画像の左上を原点とする２次元の“画像座標系”を、行列［ｘc  ｙc  １］Tと定義する。なお、カメラ座標系におけるＺ軸は、画像座標系における画像平面２３１と、撮像画像の中心点２３２において直交する。
【００４４】
撮像画像におけるマーカの位置情報は、画像座標系の位置情報として表現される。また、前述のように、マーカの位置情報に基づいて判定される、カメラによる撮像位置姿勢情報は、マーカ座標系におけるカメラの焦点の位置と、姿勢（撮像方向）として表すことができる。
【００４５】
マーカ座標系とカメラ座標系との間の座標変換は、例えば、次の式（１）によって定義される。
【００４６】
【数１】
2015211363.tif 000003
【００４７】
式（１）において、Ｒは３行３列の回転行列を示す。また、Ｔは並進ベクトルを示し、３行１列の行列として表される。
次に、カメラ座標系から画像座標系への射影変換は、次の式（２）によって定義される。また、式（２）における行列Ｐは、式（３）のように表される。
【００４８】
【数２】
2015211363.tif 000004
【００４９】
式（２）のｈはスカラーとする。また、行列Ｐは、カメラキャリブレーションから求められる焦点距離および画角から計算される内部パラメータを示す。行列Ｐは、例えば、既知の大きさのマーカを既知の距離に設置した状態でマーカを撮像して得られる撮像画像から、あらかじめ求められる。
【００５０】
図６は、回転行列について示す図である。撮像画像におけるマーカ２１４の４つの頂点の座標から、マーカ２１４の４つの辺それぞれを示す直線ｌi（ただし、ｉ＝１，２，３，４）が求められる。
【００５１】
ここで、例えば、マーカ２１４の辺ｌ1，ｌ2のそれぞれについて以下の式（４−１），（４−２）で与えられたとする。
ｌ1：ａ1ｘc＋ｂ1ｙc＋ｃ1＝０      ・・・（４−１）
ｌ2：ａ2ｘc＋ｂ2ｙc＋ｃ2＝０      ・・・（４−２）
式（２），（３），（４−１），（４−２）から、次の式（５−１），（５−２）が得られる。
ａ1Ｐ11Ｘc＋（ａ1Ｐ12＋ｂ1Ｐ22）Ｙc＋（ａ1Ｐ13＋ｂ1Ｐ23＋ｃ1）Ｚc＝０・・・（５−１）
ａ2Ｐ11Ｘc＋（ａ2Ｐ12＋ｂ2Ｐ22）Ｙc＋（ａ2Ｐ13＋ｂ2Ｐ23＋ｃ2）Ｚc＝０・・・（５−２）
式（５−１）は、直線ｌ1に対応するマーカ２１４の辺と、カメラ１０８の焦点２３４とを通る面Ｓ1を表す。また、式（５−２）は、直線ｌ2に対応するマーカ２１４の辺と、カメラ１０８の焦点２３４とを通る面Ｓ2を表す。式（５−１），（５−２）から、面Ｓ1，Ｓ2のそれぞれの法線ベクトルｎ1，ｎ2を示す式が求められる。そして、直線ｌ1に対応する空間中のマーカ２１４の辺の方向ベクトルをＶ1とおくと、方向ベクトルは、法線ベクトルｎ1，ｎ2の外積から与えられる。
【００５２】
直線ｌ3，ｌ4についても上記と同様の計算を行うことで、方向ベクトルＶ2が求められる。さらに、方向ベクトルＶ1，Ｖ2を含む平面に対して直交する方向ベクトルＶ3が求められる。上記の式（１）の回転行列Ｒは、Ｒ＝［Ｖ1  Ｖ2  Ｖ3］として求められる。
【００５３】
図７は、並進ベクトルについて示す図である。図７では、マーカ２１４を、その中心点がカメラ座標系の原点と一致するようにカメラ座標系に配置し（ステップＳ１）、この状態からマーカ２１４を回転行列Ｒによって回転させ、さらに並進ベクトルＴによって並進させた後（ステップＳ２）、行列Ｐによって画像平面２３１の撮像画像上に射影する（ステップＳ３）ことを考える。
【００５４】
マーカ座標系におけるマーカ２１４の３次元座標をＭi（ただし、ｉ＝１，２，３，４）、撮像画像上のマーカ２１４の頂点の２次元座標をｍi（ただし、ｉ＝１，２，３，４）とする。マーカ座標系におけるマーカ２１４の頂点を行列［Ｍix  Ｍiy  Ｍiz］T（ただし、ｉ＝１，２，３，４）と表し、撮像画像上のマーカ２１４の頂点を行列［ｍix  ｍiy］T（ただし、ｉ＝１，２，３，４）と表すと、上記の式（１），（２）を用いて次の式（６）が得られる。
【００５５】
【数３】
2015211363.tif 000005
【００５６】
式（６）を、カメラ座標系におけるマーカ２１４の一辺の長さを用いて展開し、さらにこのような処理を各辺について行うことで、（ｔx，ｔy，ｔz）を未知数とする連立一次方程式が得られる。この連立一次方程式を解くことで、並進ベクトルＴ［ｔx  ｔy  ｔz］Tが求められる。
【００５７】
以上の図６，図７で説明した手順により、式（１）の回転行列Ｒおよび並進ベクトルＴを、撮像画像上のマーカ２１４の４つの頂点の座標から求めることができる。
次に、上記の式（２）に基づき、画像座標系における点の座標は、カメラ座標系の点の座標を用いて次の式（７−１），（７−２）のように表される。
【００５８】
【数４】
2015211363.tif 000006
【００５９】
作業支援情報を示す画像データの位置情報は、マーカ座標系の座標によって定義されて、端末装置１００に記憶されている。従って、記憶された作業支援情報の座標情報を、式（１）を用いてカメラ座標系の座標情報に変換した後、さらに式（７−１），（７−２）を用いて画像座標系の２次元座標情報に変換することで、撮像画像における作業支援情報の表示位置を算出することができる。
【００６０】
なお、端末装置１００にあらかじめ記憶される、作業支援情報を示すデータは、例えば、表示される形状の内部における座標ごとの画像データ（例えばＲＧＢデータ）と、マーカ２１４の中心を基準とした作業支援情報の表示位置情報とを含む。
【００６１】
これらのうち、作業支援情報の表示位置情報は、例えば、マーカ座標系における３次元座標として記憶されてもよい。また、作業支援情報の表示位置情報は、並進成分および回転軸成分の各値として記憶されてもよい。以下、後者の場合について述べる。
【００６２】
作業支援情報のマーカ座標系での表示位置を（Ｘm，Ｙm，Ｚm，１）と表し、画像データを（ｘ，ｙ，ｚ，１）と表すと、次の式（８）が成り立つ。
［Ｘm  Ｙm  Ｚm  １］T＝Ｍ［ｘ  ｙ  ｚ  １］T      ・・・（８）
Ｍを下記の式（９）に示す変換行列とすると、作業支援情報の並進成分ｐ（ｔx，ｔy，ｔz）および回転軸成分（回転角）（ｌ，ｍ，ｎ，θ）は、それぞれ下記の式（１０），（１１）によって表される。
【００６３】
【数５】
2015211363.tif 000007
【００６４】
ところで、端末装置１００は、上記のようにマーカの認識結果に基づいて情報の重畳表示処理を行う場合には、撮像画像からマーカを認識できなくなると、撮像位置姿勢情報を算出できなくなり、その結果、情報を重畳表示できなくなる。
【００６５】
マーカを認識できないケースとしては、例えば、作業中に発生した汚れがマーカに付着するケースや、照明光が当たりにくい影の位置にマーカが配置されているケースが考えられる。これらのケースでは、汚れが付着したマーカを交換する、あるいは、マーカの周囲に明暗差が生じないようにマーカ周囲の環境を整備するといった問題の解決方法が考えられるが、いずれの方法も早急に対処できないという問題がある。
【００６６】
また、撮像画像からマーカを認識できなくなった場合に、マーカレス方式に切り替えるという方法も考えられる。しかしながら、マーカレス方式は、マーカベースＡＲと比較して処理負荷が大きい。また、マーカレス方式では、様々な撮影位置や姿勢に対応し、かつ環境変化へのロバスト性を高くするためには、大量のテンプレート情報を用意する必要がある。このため、マーカベース方式と同等の重畳位置精度を維持しようとすると、装置の開発・製造コストが増大してしまうことから、マーカレス方式に切り替えたときにマーカベース方式と同等の重畳位置精度を維持することは、現実的には難しい。
【００６７】
さらに、マーカレス方式では、初期状態での撮像位置および撮像姿勢の推定が行われる。初期状態での撮像位置および撮像姿勢の推定は、その推定精度がそれ以降の重畳位置精度に影響を与えるため、高精度に行われる必要がある。そこで、初期状態での撮像位置および撮像姿勢をマーカの認識結果を基に行う方法があるが、現在の撮像画像からマーカを認識できない状況ではこの方法を利用できない。また、直近に認識されたマーカの認識結果を用いる方法も考えられるが、マーカ認識時の環境や条件によって認識結果を誤る場合があり、撮像位置および撮像姿勢の推定精度が低下する可能性がある。
【００６８】
そこで、本実施の形態では、端末装置１００は、マーカの認識に成功した撮像画像からのマーカ認識結果や特徴量の情報を、記憶装置に蓄積していく。また、端末装置１００は、マーカの認識に失敗した場合、記憶装置に蓄積された特徴量の情報と、現画像から抽出した特徴量の情報とを比較して、マーカ認識に成功した過去の撮像画像のうち現画像と類似する画像を特定する。そして、端末装置１００は、特定した画像からのマーカ認識結果を記憶装置から取得し、取得したマーカ認識結果を用いて現画像に対応する撮像位置姿勢情報を推定し、作業支援情報の重畳表示位置を決定する。このように、端末装置１００は、マーカ認識に成功した過去の撮像画像のうち、現画像に類似する画像からのマーカ認識結果を用いることで、作業支援情報の重畳表示位置を精度よく決定することができる。
【００６９】
図８は、端末装置が備える処理機能の構成例を示すブロック図である。
端末装置１００は、撮像画像取得部１１１、マーカ認識部１１２、撮像位置姿勢推定部１１３、重畳表示制御部１１４、情報蓄積制御部１１５、比較画像情報選択部１１６および撮像位置姿勢推定部１１７を有する。これらの各ブロックの処理は、例えば、プロセッサ１０１が所定のプログラムを実行することで実現される。
【００７０】
また、端末装置１００内の記憶装置（例えば、ＨＤＤ１０３）には、マーカ画像データベース（ＤＢ）１２０、作業支援情報データベース１３０および比較画像情報データベース１４０が記憶される。
【００７１】
撮像画像取得部１１１は、カメラ１０８から撮像画像の画像データを取得する。
マーカ画像データベース１２０には、マーカの認識処理で使用されるマーカのテンプレート画像が格納される。マーカ画像データベース１２０には、内部パターンが互いに異なる複数のマーカのテンプレート画像が格納されており、各テンプレート画像は１つの作業段階に対応している。以下、各作業段階は作業ＩＤによって識別され、マーカ画像データベース１２０では、テンプレート画像がそれぞれ個別の作業ＩＤに対応付けられているものとする。
【００７２】
マーカ認識部１１２は、マーカ画像データベース１２０内のテンプレート画像を用いて、撮像画像取得部１１１によって取得された撮像画像からマーカを認識する。マーカ認識部１１２は、例えば、撮像画像からマーカの輪郭を抽出することでマーカを認識し、さらに、テンプレート画像とのマッチングによりマーカの内部パターンを認識する。その結果、マーカ認識部１１２は、撮像画像におけるマーカの４つの頂点の座標情報と、認識された内部パターンに対応する作業ＩＤとを出力する。
【００７３】
撮像位置姿勢推定部１１３は、マーカ認識部１１２によって認識されたマーカの４つの頂点の座標情報に基づいて、撮像位置姿勢情報を算出する。撮像位置姿勢情報は、前述のように、マーカ座標系における、マーカの中心を基準としたカメラ１０８の位置および姿勢（撮像方向）を示す情報である。
【００７４】
作業支援情報データベース１３０には、撮像画像に重畳表示する作業支援情報を示すデータが格納される。前述のように、作業支援情報を示すデータは、例えば、表示される形状の内部における座標ごとの画像データと、作業支援情報の表示位置情報とを含む。作業支援情報の表示位置情報は、対応するマーカの中心を基準としたマーカ座標系の値として定義される。
【００７５】
作業支援情報を示すデータは、作業ＩＤに対応付けられている。また、１つの作業ＩＤに対して複数の作業支援情報を示すデータが対応付けられていてもよい。
重畳表示制御部１１４は、マーカ認識部１１２によって認識された作業ＩＤを、撮像位置姿勢推定部１１３を介して取得し、作業支援情報データベース１３０から、取得した作業ＩＤに対応する作業支援情報を特定する。重畳表示制御部１１４は、撮像位置姿勢推定部１１３によって算出された撮像位置姿勢情報に基づいて、特定した作業支援情報の撮像画像における表示位置を算出し、算出した表示位置に撮像位置姿勢情報を表示させる。
【００７６】
なお、撮像画像からマーカが認識できない期間では、重畳表示制御部１１４は、撮像位置姿勢情報を撮像位置姿勢推定部１１３ではなく撮像位置姿勢推定部１１７から取得する。
【００７７】
情報蓄積制御部１１５は、マーカ認識部１１２が撮像画像からのマーカの認識に成功した場合に、その撮像画像に関する情報を比較画像情報データベース１４０に記録する。比較画像情報データベース１４０に記録される情報には、例えば、認識された作業ＩＤ、撮像画像から抽出された特徴点の位置と特徴量、認識されたマーカの位置情報が含まれる。
【００７８】
これ以後、比較画像情報データベース１４０に関連情報が記録された、マーカ認識に成功した撮像画像を、“比較画像”と呼ぶ場合がある。
比較画像情報選択部１１６は、マーカ認識部１１２が撮像画像からのマーカの認識に失敗した場合に、比較画像情報データベース１４０から、撮像位置姿勢情報の推定に使用するために適切な比較画像の情報を選択する。以下、マーカの認識に失敗した撮像画像を、“認識失敗画像”と呼ぶ場合がある。
【００７９】
比較画像情報選択部１１６は、具体的には、次のような処理を行う。まず、比較画像情報選択部１１６は、比較画像データベース１４０に記録された特徴点の位置および特徴量に基づいて、認識失敗画像と比較画像との類似度を算出する。比較画像情報選択部１１６は、認識失敗画像との類似度が所定の条件を満たす比較画像を特定する。
【００８０】
次に、比較画像情報選択部１１６は、特定された比較画像の中から、比較画像内の特徴点と認識失敗画像から抽出された特徴点との対応関係を評価し、評価結果が所定の条件を満たす比較画像を選択する。この評価としては、比較画像内の特徴点の座標を認識失敗画像内の特徴点の座標に変換する変換行列が用いられる。
【００８１】
比較画像情報選択部１１６は、特定された比較画像および認識失敗画像のそれぞれの特徴点の座標から、変換行列を算出する。変換行列としては、後述するホモグラフィー変換行列を用いることができる。比較画像情報選択部１１６は、比較画像内の特徴点の座標を変換行列によって変換した変換結果を、認識失敗画像の対応する特徴点の座標と比較し、これらの特徴点間の距離に基づいて変換精度を評価する。
【００８２】
比較画像情報選択部１１６は、類似度を用いて特定された比較画像の中から、変換精度の評価値が所定の条件を満たす比較画像を選択する。比較画像情報選択部１１６は、選択した比較画像に対応するマーカの位置情報を比較画像情報データベース１４０から読み出し、撮像位置姿勢推定部１１７に出力する。
【００８３】
撮像位置姿勢推定部１１７は、比較画像情報選択部１１６から出力されたマーカの位置情報に基づいて、撮像位置姿勢推定部１１３と同様の手順で撮像位置および撮像姿勢を算出し、重畳表示制御部１１４に出力する。
【００８４】
図９は、比較画像情報データベースに記録される情報の構成例を示す図である。
比較画像情報データベース１４０には、作業ＩＤごとのレコード１４１が設けられる。各レコード１４１には、作業ＩＤに対応づけて１つ以上の比較画像情報が登録される。比較画像情報は、比較画像（すなわち、マーカ認識に成功した撮像画像）のそれぞれに対応する情報である。
【００８５】
各比較画像情報には、画像ＩＤ、マーカ位置情報および複数の特徴点情報が登録される。画像ＩＤは、比較画像を識別する情報である。マーカ位置情報は、比較画像から認識されたマーカについての４つの頂点の座標を含む。マーカ位置情報としては、マーカ認識部１１２によって認識された情報が登録される。特徴点情報は、比較画像から抽出された特徴点の座標と特徴量とを含む。特徴点の座標および特徴量は、情報蓄積制御部１１５によって比較画像から検出される。
【００８６】
次に、端末装置１００の処理についてフローチャートを用いて説明する。図１０〜図１２は、端末装置の処理手順の例を示すフローチャートである。
［ステップＳ１１］撮像画像取得部１１１は、カメラ１０８から撮像画像の画像データを取得する。マーカ認識部１１２は、マーカ画像データベース１２０内のテンプレート画像を用いて、撮像画像取得部１１１によって取得された撮像画像からのマーカ認識処理を行う。
【００８７】
［ステップＳ１２］撮像画像取得部１１１がマーカの認識に成功したかが判定される。マーカの認識に成功した場合には、ステップＳ１３の処理が実行される。また、マーカの認識に失敗した場合には、ステップＳ２１の処理が実行される。
【００８８】
［ステップＳ１３］撮像位置姿勢推定部１１３は、マーカ認識部１１２からマーカの４つの頂点の座標情報を取得する。撮像位置姿勢推定部１１３は、取得した座標情報を用いて撮像位置姿勢情報を算出する。なお、算出される撮像位置姿勢情報とは、前述した回転行列Ｒおよび並進ベクトルＴに対応する。
【００８９】
［ステップＳ１４］重畳表示制御部１１４は、マーカ認識部１１２によって認識された作業ＩＤを、撮像位置姿勢推定部１１３を介して取得し、作業支援情報データベース１３０から、取得した作業ＩＤに対応する作業支援情報を特定する。重畳表示制御部１１４は、撮像位置姿勢推定部１１３によって算出された撮像位置姿勢情報に基づいて、特定した作業支援情報の撮像画像における表示位置を、前述の式（１），（７−１），（７−２）を用いて算出する。重畳表示制御部１１４は、撮像画像における算出した表示位置に、撮像位置姿勢情報を表示させる。
【００９０】
［ステップＳ１５］情報蓄積制御部１１５は、比較画像（すなわち、マーカの認識に成功した撮像画像）のデータと、マーカ位置情報と、認識された作業ＩＤとを、マーカ認識部１１２から取得する。情報蓄積制御部１１５は、比較画像情報データベース１４０における、取得した作業ＩＤに対応するレコード１４１に、取得したマーカ位置情報を登録する。また、情報蓄積制御部１１５は、取得した比較画像から特徴点を抽出し、抽出された特徴点の位置情報および特徴情報を、同じレコード１４１に登録する。
【００９１】
なお、ステップＳ１５の処理は、ステップＳ１４またはステップＳ１３の処理の前に実行されてもよい。また、ステップＳ１５の処理は、ステップＳ１３，Ｓ１４の処理と並列に実行されてもよい。さらに、ステップＳ１５の処理は、例えば、次のように実行されてもよい。情報蓄積制御部１１５は、ステップＳ１５の処理のうち作業ＩＤとマーカ位置情報の登録処理を、ステップＳ１２で認識成功と判定されたことを契機として実行する。また、情報蓄積制御部１１５は、その後の任意のタイミングで、比較画像からの特徴点の抽出処理と、抽出された特徴点の位置情報および特徴情報の登録処理とを行う。
【００９２】
次に、図１１，図１２を用いて、マーカを認識できなかった場合の処理について説明する。マーカを認識できなかった場合の処理は、認識失敗画像に類似する比較画像を抽出する処理（図１１）と、抽出された比較画像と認識失敗画像との間の座標変換精度を評価して、撮像位置姿勢情報を推定するために最適な比較画像を選別する処理（図１２のステップＳ３１〜Ｓ３４）とを含む。
【００９３】
［ステップＳ２１］マーカ認識部１１２がマーカの認識に失敗すると、比較画像情報選択部１１６は、マーカの認識に失敗したことを通知する情報と、確認ボタンへの操作を求める情報とを、表示装置１０４に表示させる。例えば、表示装置１０４がタッチパネル式の場合、表示装置１０４の画面に確認ボタンが表示される。作業者による確認ボタンの押下操作が検知された場合、ステップＳ２２の処理が実行される。
【００９４】
なお、ステップＳ２２以後の処理では、ステップＳ１１で取得された撮像画像が、“認識失敗画像”として処理の対象となってもよい。ただし、確認ボタンへの操作を待つことによりステップＳ１１からある程度時間が経過していることから、認識失敗画像が次のように設定されてもよい。比較画像情報選択部１１６は、確認ボタンの押下操作が検知されたとき、撮像画像取得部１１１から新たな撮像画像を取得する。ステップＳ２２以後の処理では、このとき取得された撮像画像が認識失敗画像として処理の対象となる。
【００９５】
［ステップＳ２２］比較画像情報選択部１１６は、現在の作業段階を示す作業ＩＤを特定する。
例えば、端末装置１００が作業の進捗状況を管理する機能を備えている場合、ステップＳ２２では、作業が完了した作業段階の次の作業段階を示す作業ＩＤが特定される。また、作業ＩＤが作業者の入力操作によって入力されてもよい。
【００９６】
［ステップＳ２３］比較画像情報選択部１１８は、認識失敗画像から特徴点を複数抽出する。比較画像情報選択部１１８は、抽出された特徴点の位置および特徴量を、例えばＲＡＭ１０２に一時的に記録する。
【００９７】
［ステップＳ２４］比較画像情報選択部１１８は、比較画像情報データベース１４０を参照して、ステップＳ２２で特定された作業ＩＤに対応付けられた比較画像の中から１つを選択する。実際には、比較画像情報データベース１４０における、特定された作業ＩＤに対応するレコード１４１から、比較画像を示す画像ＩＤが１つ選択される。
【００９８】
［ステップＳ２５］比較画像情報選択部１１８は、ステップＳ２４で選択した比較画像と、認識失敗画像とのマッチングを行う。
具体的には、比較画像情報選択部１１８は、ステップＳ２３で選択した画像ＩＤに対応付けられた特徴点情報を比較画像情報データベース１４０から読み出す。比較画像情報選択部１１８は、読み出した特徴点情報が示す比較画像の特徴点と、ステップＳ２３で認識失敗画像から抽出された特徴点とのマッチング処理を行う。マッチング処理では、例えば、各画像内での特徴点の位置関係から、画像間で対応する特徴点のペアが特定され、特定されたペア内の各特徴点の特徴量の差分が閾値Ｔａ以内かが判定される（ただし、Ｔａは０より大きい）。位置関係から特徴点のペアとして特定され、そのペア内の各特徴点の特徴量の差分が閾値Ｔａ以内である場合に、１組のマッチングに成功したと判定される。
【００９９】
［ステップＳ２６］比較画像情報選択部１１８は、マッチング結果を例えば次のような２つの判定条件と比較する。第１の判定条件としては、認識失敗画像から抽出された特徴点の総数に対する、マッチングに成功した組数の割合が、閾値Ｔｂより大きいかが判定される（ただし、Ｔｂは０より大きく１以下）。第２の判定条件としては、マッチングに成功した組数が閾値Ｔｃより大きいかが判定される（ただし、Ｔｃは０より大きい）。
【０１００】
比較画像情報選択部１１８は、ステップＳ２４で選択した比較画像を用いたマッチング結果が、上記の２つの条件を両方とも満たすか否かを判定する。
［ステップＳ２７］比較画像情報選択部１１８は、比較画像情報データベース１４０に情報が登録された、該当作業ＩＤに対応する比較画像を、すべて選択済みかを判定する。比較画像がすべて選択済みである場合には、ステップＳ２８の処理が実行される。一方、未選択の比較画像がある場合には、ステップＳ２４の処理が実行される。
【０１０１】
［ステップＳ２８］比較画像情報選択部１１８は、ステップＳ２６に示した判定条件を満たす比較画像を１つ以上抽出できたかを判定する。判定条件を満たす比較画像を１つ以上抽出できた場合には、ステップＳ３１の処理が実行される。一方、判定条件を満たす比較画像を１つも抽出できなかった場合には、処理が終了する。後者の場合、例えば、比較画像情報選択部１１８は、「マーカ周辺の撮影をやり直して下さい」といった指示情報を表示装置１０４に表示させてもよい。
【０１０２】
［ステップＳ３１］比較画像情報選択部１１８は、ステップＳ２６に示した判定条件を満たす比較画像の中から１つを選択する。実際には、比較画像を示す画像ＩＤが選択される。
【０１０３】
［ステップＳ３２］比較画像情報選択部１１８は、選択された比較画像と認識失敗画像との間でマッチングに成功した特徴点のペアを用いて、変換行列Ｈを算出する。この変換行列Ｈは、比較画像上の座標を認識失敗画像上の座標に変換するためのホモグラフィー行列である。
【０１０４】
変換行列Ｈは、次の式（１２）のように定義される。
【０１０５】
【数６】
2015211363.tif 000008
【０１０６】
変換行列Ｈが、比較画像上の座標値Ｐr（ｘr，ｙr）を認識失敗画像上の座標値Ｐw（ｘw，ｙw）に変換するものとすると、ＰrとＰwとの関係は、射影変換の一般式を用いて次の式（１３−１）で表すことができる。
ｓＰr＝ＨＰw      ・・・（１３−１）
式（１３−１）のパラメータｓは、スケーリングの不定性に基づくスケーリングファクタを表している。この式（１３−１）をｘw，ｙwについて整理すると、次の式（１３−２），（１３−３）が求められる。
ｘw＝（Ｈ11ｘr＋Ｈ12ｙr＋Ｈ13）／（Ｈ31ｘr＋Ｈ32ｙr＋Ｈ33）      ・・・（１３−２）
ｙw＝（Ｈ21ｘr＋Ｈ22ｙr＋Ｈ23）／（Ｈ31ｘr＋Ｈ32ｙr＋Ｈ33）      ・・・（１３−３）
ここで、行列Ｈはスカラーによる倍率の自由度があるため８自由度となり、このことからＨ33＝１とする。未知数が８個であり、対応点１組ごとに方程式が生成できることから、少なくとも４組の特徴点ペアの座標が得られれば未知数は一意に定まる。
【０１０７】
マッチングに成功したｎ組の特徴点ペアが得られたものとし、比較画像上のｉ番目の特徴点の座標をＰri（ｘri，ｙri）、これに対応する認識失敗画像上の特徴点の座標をＰwi（ｘwi，ｙwi）とすると、ＰriとＰwiとの間で次の式（１４−１），（１４−２）が得られる。
Ｈ11ｘri＋Ｈ12ｙri＋Ｈ13−Ｈ31ｘriｘwi−Ｈ32ｙriｘwi＝ｘwi      ・・・（１４−１）
Ｈ21ｘri＋Ｈ22ｙri＋Ｈ23−Ｈ31ｘriｙwi−Ｈ32ｙriｙwi＝ｙwi      ・・・（１４−２）
上記の式（１４−１），（１４−２）を４つの特徴点ペア（ｉ＝１，２，３，４）について得られた式は、行列形式で次の式（１５）のように表現できる。
【０１０８】
【数７】
2015211363.tif 000009
【０１０９】
ＰriとＰwiの座標値を代入するとともに逆行列を求めることで、Ｈ11，・・・，Ｈ32の値を求めることができる。また、５組以上の特徴点ペアが得られた場合には、最小二乗法を用いることで未知数を求めることができる。
【０１１０】
［ステップＳ３３］比較画像情報選択部１１６は、各特徴点ペアについて、比較画像上の特徴点の座標を算出された変換行列Ｈに代入し、変換後の座標と、認識失敗画像上の対応する特徴点の座標との距離Ｄを算出する。
【０１１１】
［ステップＳ３４］比較画像情報選択部１１６は、算出された距離Ｄが次のような２つの判定条件を満たすかを判定する。第１の判定条件としては、算出された距離Ｄの最小値Ｄｍｉｎが閾値Ｔｄｍｉｎ以下であるかが判定される。第２の判定条件としては、算出された距離Ｄが閾値Ｔｄｌｉｍ以上となる特徴点ペアの組数が、閾値Ｔｄｎｕｍ以下であるかが判定される。なお、Ｔｄｍｉｎ，Ｔｄｌｉｍ，Ｔｄｎｕｍはいずれも０より大きく、また、Ｔｄｍｉｎ＜Ｔｄｌｉｍの関係を満たす。
【０１１２】
これらの第１の判定条件および第２の判定条件が両方とも満たされた場合、ステップＳ３１で選択された比較画像が、撮像位置姿勢情報の算出に適すると判定される。この場合、ステップＳ３５の処理が実行される。また、第１の判定条件と第２の判定条件の少なくとも一方が満たされない場合、ステップＳ３１の処理が実行される。
【０１１３】
なお、図示しないが、ステップＳ３１〜Ｓ３４が繰り返され、上記の第１の判定条件と第２の判定条件の両方を満たす比較画像が存在しなかった場合には、ステップＳ２８で“Ｎｏ”と判定された場合と同様に処理が終了される。
【０１１４】
［ステップＳ３５］比較画像情報選択部１１６は、ステップＳ３４で撮像位置姿勢情報の算出に適すると判定された比較画像に対応するマーカ位置情報を、比較画像情報データベース１４０から読み出す。比較画像情報選択部１１６は、読み出したマーカ位置情報、すなわち、４つの頂点の座標を、該当比較画像を用いてステップＳ３２で算出した変換行列Ｈに代入して変換する。変換後の各頂点の座標は、認識失敗画像におけるマーカの各頂点の座標の推定位置を示す。
【０１１５】
［ステップＳ３６］ステップＳ３５で変換されたマーカ位置情報は、撮像位置姿勢推定部１１７に入力される。撮像位置姿勢推定部１１７は、入力された変換後のマーカ位置情報を用いて、撮像位置姿勢情報を算出する。これにより、認識失敗画像に対応する撮像位置姿勢情報の推定値が算出される。
【０１１６】
［ステップＳ３７］ステップＳ３６で算出された撮像位置姿勢情報と、ステップＳ２２で特定された作業ＩＤとが、重畳表示制御部１１４に入力される。重畳表示制御部１１４は、作業支援情報データベース１３０から、入力された作業ＩＤに対応する作業支援情報を特定する。重畳表示制御部１１４は、入力された撮像位置姿勢情報に基づいて、特定した作業支援情報の撮像画像における表示位置を、前述の式（１），（７−１），（７−２）を用いて算出する。重畳表示制御部１１４は、撮像画像における算出した表示位置に、撮像位置姿勢情報を表示させる。
【０１１７】
以上の図１０〜図１２の処理では、端末装置１００は、マーカ認識に失敗した場合、比較画像情報データベース１４０に登録された比較画像の中から、特徴点同士のマッチングを行うことにより、認識失敗画像と類似する比較画像を抽出する。これ以後、類似する比較画像の情報を用いて撮像位置姿勢情報が算出されることで、作業支援情報の表示位置を正確に決定することができる。
【０１１８】
また、端末装置１００は、認識失敗画像と類似すると判定された比較画像の中から、さらに、座標を変換する変換行列Ｈを用いて座標変換精度を評価することで、撮像位置姿勢情報を推定するための適切な比較画像が選別される。このように選別された比較画像を用いて撮像位置姿勢情報が算出されることで、作業支援情報の表示位置の精度が向上する。
【０１１９】
なお、以上の第２の実施の形態の端末装置１００を、次のように変形することもできる。
情報蓄積制御部１１５は、ステップＳ１５において、認識されたマーカの位置情報を比較画像情報データベース１４０に登録する代わりに、マーカの位置情報に基づいて算出された撮像位置姿勢情報を比較画像情報データベース１４０に登録する。登録される撮像位置姿勢情報としては、撮像位置姿勢推定部１１３によって算出された値が利用される。
【０１２０】
また、図１２のステップＳ３５，Ｓ３６の代わりに次のような処理が行われる。撮像位置姿勢推定部１１７は、撮像位置姿勢情報の算出に適すると判定された比較画像に対応する撮像位置姿勢情報を比較画像情報データベース１４０から読み出す。そして、撮像位置姿勢推定部１１７は、読み出した撮像位置姿勢情報を、ステップＳ３２で算出した変換行列Ｈを用いて変換する。撮像位置姿勢推定部１１７は、変換後の撮像位置姿勢情報を重畳表示制御部１１４へ出力する。
【０１２１】
このような処理でも、作業支援情報を正確な位置に重畳表示することができる。ただし、図１０〜図１２に記載の処理によれば、撮像位置姿勢情報を変換行列Ｈを用いて変換するより、マーカ位置情報を変換行列Ｈを用いて変換する方が、はるかに処理負荷が低い。さらに、マーカ位置情報を変換行列Ｈを用いて変換し、変換後のマーカ位置情報を用いて撮像位置姿勢情報を算出する方が、変換行列Ｈによる変換時における誤差が小さくなり、作業支援情報の重畳位置精度を高めることができる。
【０１２２】
〔第３の実施の形態〕
次に、第３の実施の形態に係る端末装置について説明する。第３の実施の形態に係る端末装置は、第２の実施の形態に係る端末装置１００の一部を変形したものである。以下、第２の実施の形態に係る端末装置１００と異なる点について説明する。
【０１２３】
図１３は、第３の実施の形態に係る端末装置が備える処理機能の構成例を示すブロック図である。なお、図１３では、図８と同じ構成要素には同じ符号を付して示し、その説明を省略する。
【０１２４】
図１３に示す端末装置１００ａは、図８に示した端末装置１００の情報蓄積制御部１１５、比較画像情報選択部１１６および比較画像情報データベース１４０を、それぞれ情報蓄積制御部１１５ａ、比較画像情報選択部１１６ａおよび比較画像情報データベース１４０ａに置き換えたものである。
【０１２５】
情報蓄積制御部１１５ａは、図８の情報蓄積制御部１１５と同様、マーカ認識部１１２がマーカの認識に成功した場合に、その撮像画像に関する情報を比較画像情報データベース１４０ａに登録する。ただし、情報蓄積制御部１１５ａは、作業ＩＤ、特徴点の位置と特徴量、マーカの位置情報に加えて、撮像位置姿勢推定部１１３によって算出された撮像位置姿勢情報も、比較画像情報データベース１４０ａに登録する。
【０１２６】
また、情報蓄積制御部１１５ａは、比較画像情報データベース１４０ａに登録した、同一作業ＩＤに対応する比較画像ごとの情報を、撮像位置姿勢情報に基づいて複数のグループに分類する。さらに、情報蓄積制御部１１５ａは、各グループに属する比較画像の中から代表画像を選択する。
【０１２７】
比較画像情報選択部１１６ａは、マーカ認識部１１２が撮像画像からのマーカの認識に失敗した場合、まず、マーカの認識に失敗した認識失敗画像と、比較画像データベース１４０ａ内の各グループの代表画像とのマッチングを行う。そして、比較画像情報選択部１１６ａは、マッチングに失敗した代表画像が属するグループを、処理対象から除外し、残りのグループに属する比較対象の中から、図８の比較画像情報選択部１１６と同様の処理により、撮像位置姿勢情報の推定に使用するために適切な比較画像の情報を選択する。
【０１２８】
ここで、マーカが設置された設備の前の通路の幅や、隣接する設備との位置関係などの、マーカを設置した箇所の周囲環境や、マーカに対して設定した作業支援情報の表示位置により、撮像位置や撮像角度にはある程度の制約が生まれる。このことから、情報蓄積制御部１１５は、同一のマーカの認識に成功した過去の撮像画像（比較画像）を、マーカの認識結果を基に算出された撮像位置姿勢情報に基づいてグループに分類することが可能である。
【０１２９】
また、比較画像情報選択部１１６による認識失敗画像と比較画像との比較処理では、比較する画像間で撮像位置姿勢情報の差異が大きい場合には、画像間での特徴点のマッチングに失敗する可能性が高い。このため、認識失敗画像との間で撮像位置姿勢情報の差異が大きい比較画像を、マッチングの処理対象にする必要はない。
【０１３０】
このことから、比較画像情報選択部１１６ａは、認識失敗画像と、分類された各グループの代表画像とのマッチングを行い、マッチングに失敗した代表画像が属するグループを、その後の処理の対象から除外する。これにより、マッチングの処理回数が減り、処理負荷を軽減することができる。
【０１３１】
図１４は、比較画像情報データベースに記録される情報の構成例を示す図である。
比較画像情報データベース１４０ａには、第２の実施の形態と同様、作業ＩＤごとのレコード１４１ａが設けられる。また、各レコード１４１ａには、１つ以上の比較画像情報が登録されるが、それらの比較画像情報はグループごとに分類されて登録されている。グループは、グループＩＤによって識別される。さらに、グループごとに代表画像ＩＤが登録される。代表画像ＩＤは、グループに属する比較画像情報のうち、代表画像に対応する情報に付与された画像ＩＤを示す。
【０１３２】
また、比較画像情報には、画像ＩＤ、マーカ位置情報、複数の特徴点情報に加えて、撮像位置姿勢情報が登録される。撮像位置姿勢情報としては、撮像位置姿勢推定部１１３によって算出された回転行列Ｒおよび並進ベクトルＴがそのまま登録される。また、例えば、グループ分けの処理を容易にするために、回転行列Ｒはおよび並進ベクトルＴが、マーカ座標系におけるマーカ中心を基準としたカメラ位置（ｘ，ｙ，ｚ）と、マーカ座標系の３軸を基準とした回転角度（ｒｘ，ｒｙ，ｒｚ）に変換されて、比較画像情報データベース１４０ａに登録されてもよい。また、回転角度（ｒｘ，ｒｙ，ｒｚ）としては、後述する式（１８）で算出される回転角度θが用いられてもよい。
【０１３３】
次に、端末装置１００ａの処理のうち、図１０〜図１２に示した処理とは異なる部分について説明する。まず、情報蓄積制御部１１５ａの処理について説明する。
マーカ認識部１１２がマーカの認識に成功した場合、情報蓄積制御部１１５ａは、図１０のステップＳ１５において、作業ＩＤ、特徴点の位置と特徴量、マーカの位置情報に加えて、撮像位置姿勢推定部１１３によって算出された撮像位置姿勢情報を、比較画像情報データベース１４０ａに登録する。さらに、情報蓄積制御部１１５ａは、比較画像情報データベース１４０ａに登録された情報について、例えば一定時間ごとに、次の図１５に示す分類処理を実行する。
【０１３４】
図１５は、情報蓄積制御部による分類処理の手順の例を示すフローチャートである。なお、図１５の処理は、同一の作業ＩＤに対応付けられた比較画像情報に対して行われる。
［ステップＳ５１］情報蓄積制御部１１５ａは、比較画像情報データベース１４０ａに登録された各比較画像の撮像位置姿勢情報を用いて、比較画像をグループに分類する。分類の手法としては、ｋ−ｍｅａｎｓ法を用いることができる。ここで、ｋ−ｍｅａｎｓ法を用いる場合、分類計算に用いる撮像位置姿勢情報としては、回転行列Ｒおよび並進ベクトルＴより、前述したカメラ位置（ｘ，ｙ，ｚ）および回転角度（ｒｘ，ｒｙ，ｒｚ）を用いる方が、処理負荷を低くすることができる。
【０１３５】
情報蓄積制御部１１５ａは、比較画像がグループごとに分類されるように比較画像情報データベース１４０を更新する。
［ステップＳ５２］情報蓄積制御部１１５ａは、分類されたグループごとに代表画像を特定する。例えば、情報蓄積制御部１１５ａは、グループに属する比較画像のうち、カメラ位置（ｘ，ｙ，ｚ）または回転角θが、グループ全体でのカメラ位置（ｘ，ｙ，ｚ）または回転角θの重心に最も近い比較画像を、代表画像として特定する。情報蓄積制御部１１５ａは、代表画像を特定すると、その代表画像の画像ＩＤを、比較画像情報データベース１４０内の対応するグループに設けられた代表画像ＩＤのフィールドへ登録する。
【０１３６】
次に、比較画像情報選択部１１６ａの処理は、比較画像情報選択部１１６による図１１，図１２のステップＳ２１〜Ｓ２８，Ｓ３１〜Ｓ３５の処理を、次のように変形した処理となる。
【０１３７】
図１６は、第３の実施の形態の比較画像情報選択部による処理の一部の例を示すフローチャートである。図１６の処理では、図１１のステップＳ２３とステップＳ２４との間に、ステップＳ６１，Ｓ６２が追加されている。
【０１３８】
［ステップＳ６１］比較画像情報選択部１１６ａは、比較画像情報データベース１４０に登録された、該当作業ＩＤに対応するグループごとの代表画像それぞれにおける特徴点と、認識失敗画像から抽出された特徴点とをマッチングする。マッチングの方法と、マッチングに成功したかの判定方法は、ステップＳ２５と同様である。
【０１３９】
比較画像情報選択部１１６ａは、代表画像それぞれとのマッチングの結果、次のような２つの判定条件を満たすかを判定する。第１の判定条件としては、認識失敗画像から抽出された特徴点の総数に対する、マッチングに成功した組数の割合が、閾値Ｔｂ１より大きいかが判定される（ただし、Ｔｂ１は０より大きく１以下であり、Ｔｂ１＜Ｔｂ）。第２の判定条件としては、マッチングに成功した組数が閾値Ｔｃ１より大きいかが判定される（ただし、Ｔｃ１は０より大きく、Ｔｃ１＜Ｔｃ）。
【０１４０】
［ステップＳ６２］比較画像情報選択部１１６ａは、上記の２つの条件を１つでも満たさない代表画像がある場合には、その代表画像に対応するグループに属する比較画像を、ステップＳ２４以降の処理の対象から除外する。
【０１４１】
以上のように、第３の実施の形態では、端末装置１００ａは、マーカの認識に失敗した場合、認識失敗画像と、撮像位置姿勢情報に基づいて分類された各グループの代表画像とのマッチングを行う。そして、マッチングに失敗した代表画像が属するグループを、その後の処理の対象から除外する。これにより、マッチングの処理回数が減り、処理負荷を軽減することができる。
【０１４２】
〔第４の実施の形態〕
次に、第４の実施の形態に係る端末装置について説明する。第４の実施の形態に係る端末装置は、第３の実施の形態に係る端末装置１００ａの一部を変形したものである。以下、第３の実施の形態に係る端末装置１００ａと異なる点について説明する。
【０１４３】
なお、第４の実施の形態に係る端末装置の処理機能の基本的な構成は、図１３に示した端末装置１００ａと同様である。そのため、第４の実施の形態に係る端末装置については、図１３に示した符号を用いて説明する。
【０１４４】
図１７は、ガイド枠の表示に伴う画面の例を示す図である。
第４の実施の形態に係る端末装置１００ａは、マーカの認識に失敗したとき、図１７の上側に示すように、表示装置１０４上の撮像画像２５１ａ内にガイド枠２５２を表示させる。そして、撮像画像２５１ａに写っているマーカの外形をガイド枠２５２に合わせるように、作業者に促す。例えば、このような動作を作業者に促すための案内画像２５３が、撮像画像２５１ａ上に表示される。さらに、このような動作が完了したことを作業者が入力するための完了ボタン２５４が、撮像画像２５１ａ上に表示される。
【０１４５】
作業者は、端末装置１００ａではマーカが認識されていないものの、撮像画像２５１ａを通じてマーカの少なくとも一部を目視できる場合には、マーカの外形がガイド枠２５２に合うように撮像位置や方向を変える。そして、作業者は、マーカの外形がガイド枠２５２に合ったとき、その状態のまま完了ボタン２５４を押下する。すると、図１７の下側に示す撮像画像２５１ｂのように、マーカの外形がガイド枠２５２に合った状態の撮像画像が、端末装置１００ａに取り込まれる。端末装置１００ａは、取り込んだ撮像画像を認識失敗画像として用い、作業支援情報の重畳位置の決定処理を行う。
【０１４６】
ここで、第４の実施の形態に係る端末装置１００ａの比較画像情報データベース１４０ａにおいては、第３の実施の形態と同様、作業ＩＤごとに分類された比較画像情報が、さらに撮像位置姿勢情報に基づいて分類されて登録されている。撮像位置姿勢情報に基づいて分類された各グループに属する比較画像は、グループごとに、似通った撮像位置および撮像方向で撮像されたものである。
【０１４７】
端末装置１００ａは、表示させるガイド枠２５２の形状、大きさおよび表示位置を、あるグループの代表画像から認識されたマーカの形状、大きさおよび表示位置と同じにする。この場合、作業者の動作によって撮像画像上のマーカがガイド枠２５２に合わせられたときの撮像位置や方向は、そのグループに属する代表画像が撮像されたときと似たような撮像位置や方向となる。このため、端末装置１００ａにおける作業支援情報の重畳位置の決定処理においては、上記のグループに属する比較画像情報を使用するだけで、十分な重畳位置精度を得ることができる。
【０１４８】
さらに、利用するグループとしては、比較画像情報の登録数が最も多いものであることが望ましい。これにより、現在の撮像位置や方向と似たような撮像位置や方向で撮像された多数の比較画像情報を重畳位置決定処理に利用することができる。その結果、他のグループに属する比較画像情報を利用した場合より、重畳位置精度が向上する可能性が高くなる。
【０１４９】
図１８は、第４の実施の形態の比較画像情報選択部による処理の一部の例を示すフローチャートである。図１８の処理では、図１１のステップＳ２３とステップＳ２４との間に、ステップＳ７１，Ｓ７２が追加されている。
【０１５０】
［ステップＳ７１］比較画像情報選択部１１６ａは、比較画像情報データベース１４０ａにおける該当作業ＩＤに対応するレコード１４１ａから、比較画像情報の登録数が最も多いグループを選択する。比較画像情報選択部１１６ａは、選択したグループの代表画像に対応するマーカ位置情報を、上記のレコード１４１ａから読み出す。
【０１５１】
比較画像情報選択部１１６ａは、読み出したマーカ位置情報が示すマーカの外形と同じ形状のガイド枠を、表示装置１０４に表示させる。具体的には、ガイド枠の４つの頂点の座標を、読み出したマーカ位置情報に含まれる４つの頂点の座標と同じにする。また、図１７に示したように、ガイド枠の位置にマーカの位置を合わせるように作業者へ通知するための画像や、作業者が動作完了操作を行うための操作ボタンも表示させる。
【０１５２】
［ステップＳ７２］作業者による動作完了操作が行われると、比較画像情報選択部１１６ａは、その時点の撮像画像を撮像画像取得部１１１を通じて取り込み、取り込んだ画像を、これ以後で使用する認識失敗画像とする。また、比較画像情報選択部１１６ａは、ステップＳ７１で選択したグループに属する比較画像情報のみを、ステップＳ２４以降の処理の対象とし、それ以外の比較画像情報を処理対象から除外する。
【０１５３】
以上の第４の実施の形態では、作業支援情報の重畳位置精度を維持したまま、重畳位置の決定処理に利用する比較画像情報を絞り込み、その処理負荷を軽減することができる。
〔第５の実施の形態〕
次に、第５の実施の形態に係る端末装置について説明する。第５の実施の形態に係る端末装置は、第３の実施の形態に係る端末装置１００ａの一部を変形したものである。以下、第５の実施の形態に係る端末装置１００ａと異なる点について説明する。
【０１５４】
なお、第５の実施の形態に係る端末装置の処理機能の基本的な構成は、図１３に示した端末装置１００ａと同様である。そのため、第５の実施の形態に係る端末装置については、図１３に示した符号を用いて説明する。
【０１５５】
第５の実施の形態に係る端末装置１００ａは、マーカの認識に失敗したとき、作業者に対して、撮像画像上のマーカの外形の形状を入力するように促す。作業者は、撮像画像を通じてマーカの少なくとも一部を目視できる場合には、撮像画像上のマーカの外形の形状を入力することができる。このときの入力方法としては、例えば、マーカの輪郭における４つの頂点の画面上の位置を、タッチ操作やマウスクリック操作などによって入力させる方法が考えられる。これにより、端末装置１００ａは、撮像画像上のマーカの形状および位置の情報を取得する。
【０１５６】
端末装置１００ａは、該当作業ＩＤに対応する比較画像の中から、入力された情報に基づくマーカと類似する（すなわち、関連性が高い）マーカが認識された比較画像を抽出する。この処理では、端末装置１００ａは、入力された形状および位置によって示されるマーカに関する情報と、該当作業ＩＤに対応する各グループの代表画像に関する情報とのマッチングを行う。このマッチングでは、例えば、マーカの４つの頂点の他、例えば、マーカに基づく撮像位置姿勢情報が利用されてもよい。
【０１５７】
端末装置１００ａは、マッチングの結果、マッチング精度が一定値以上となる代表画像を選択する。そして、端末装置１００ａは、選択した代表画像に対応するグループに属する比較画像情報だけを、作業支援情報の重畳位置の決定処理に利用する。
【０１５８】
ところで、第５の実施の形態では、比較画像情報データベース１４０ａには、撮像位置姿勢情報は、撮像位置姿勢推定部１１３によって算出された回転行列Ｒおよび並進ベクトルＴがそのまま登録されてもよい。ただし、例えば、回転行列Ｒを回転軸ベクトル［ｒx  ｒy  ｒz］および回転角度θに変換し、変換された回転軸ベクトル［ｒx  ｒy  ｒz］および回転角度θを、回転行列Ｒの代わりに比較画像情報データベース１４０ａに登録してもよい。これにより、マッチングのために最適化された値が登録される。
【０１５９】
マーカの認識結果から算出された回転行列Ｒと、回転軸ベクトル［ｒx  ｒy  ｒz］および回転角度θとの関係は、ロドリゲスの公式を用いて次の式（１６）のように表される。
【０１６０】
【数８】
2015211363.tif 000010
【０１６１】
式（１６）の関係から、回転軸ベクトル［ｒx  ｒy  ｒz］および回転角度θを、それぞれ次の式（１７），（１８）のように表すことができる。
［ｒx  ｒy  ｒz］＝｜｜（ｒ32−ｒ23）（ｒ13−ｒ31）（ｒ21−ｒ12）｜｜・・・（１７）
θ＝ｃｏｓ-1（（ｔｒａｃｅ（Ｒ）−１）／２）      ・・・（１８）
なお、式（１７）は、回転軸ベクトルを正規化した表現となっている。また、θは０以上π以下の値をとる。また、式（１８）のｔｒａｃｅ（Ｒ）は、Ｒの対角要素の和を示す。
【０１６２】
このような回転軸ベクトル［ｒx  ｒy  ｒz］および回転角度θを用いたマッチング処理については、後述する。
図１９は、第５の実施の形態の比較画像情報選択部による処理の一部の例を示すフローチャートである。図１９の処理では、図１１のステップＳ２３とステップＳ２４との間に、ステップＳ８１〜Ｓ８３が追加されている。
【０１６３】
［ステップＳ８１］比較画像情報選択部１１６ａは、撮像画像上のマーカの形状を入力するように、作業者へ促す。例えば、比較画像情報選択部１１６ａは、このような入力操作を促すための画像情報を表示装置１０４に表示させる。また、作業者がこのような入力操作を完了したことを通知するための操作ボタンも表示させる。
【０１６４】
［ステップＳ８２］作業者によってマーカの形状が入力され、操作ボタンが押下されると、比較画像情報選択部１１６ａは、撮像画像を撮像画像取得部１１１から取り込み、取り込んだ画像を、これ以後で使用する認識失敗画像とする。また、比較画像情報選択部１１６ａは、作業者によって入力された情報に基づいて、撮像画像上のマーカの４つの頂点の座標を認識する。
【０１６５】
比較画像情報選択部１１６ａは、認識した座標に基づき、入力されたマーカ形状に対応する撮像位置姿勢情報を算出する。例えば、比較画像情報選択部１１６ａは、撮像位置姿勢推定部１１３，１１７と同様の手順で、回転行列Ｒおよび並進ベクトルＴを算出する。さらに、算出した回転行列Ｒに基づき、上記の式（１７），（１８）に従って回転軸ベクトル［ｒx  ｒy  ｒz］および回転角度θを算出する。
【０１６６】
［ステップＳ８３］比較画像情報選択部１１６ａは、入力されたマーカ形状に関する情報と、該当作業ＩＤに対応する各グループの代表画像に関する情報とをマッチングする。このマッチングでは、例えば、撮像位置姿勢情報のマッチングと、４つの頂点の座標のマッチングとが行われる。
【０１６７】
ここでは例として、比較画像情報選択部１１６ａは、まず、入力されたマーカ形状と各代表画像との間で、回転軸ベクトル［ｒx  ｒy  ｒz］および並進成分（並進ベクトルＴの成分）のそれぞれについてマッチングを行い、マッチング精度がある閾値以上となる代表画像を選別する。次に、比較画像情報選択部１１６ａは、回転角度θおよび４つの頂点の座標のそれぞれについてマッチングを行い、マッチング精度がある閾値以上となる代表画像をさらに選別する。
【０１６８】
まず、回転軸ベクトル［ｒx  ｒy  ｒz］のマッチングでは、入力されたマーカ形状および代表画像のそれぞれに基づく回転軸ベクトル［ｒx  ｒy  ｒz］のなす角度ωが算出される。この角度ω、を回転軸ベクトル［ｒx  ｒy  ｒz］の差異と見なす。また、並進成分のマッチングでは、並進成分の距離の差異ｄが算出される。
【０１６９】
回転軸ベクトルｒ1＝［ｒx1  ｒy1  ｒz1］，ｒ2＝［ｒx2  ｒy2  ｒz2］のなす角度ωは、下記の式（１９）によって算出される。また、並進成分［ｔx1  ｔy1  ｔz1］，［ｔx2  ｔy2  ｔz2］の距離の差異ｄは、下記の式（２０）によって算出される。
【０１７０】
【数９】
2015211363.tif 000011
【０１７１】
比較画像情報選択部１１６ａは、回転軸ベクトル［ｒx  ｒy  ｒz］のなす角度ωが所定の閾値以下となり、かつ、並進成分の距離の差異ｄが所定の閾値以下となる代表画像を選別する。
【０１７２】
次に、比較画像情報選択部１１６ａは、入力されたマーカ形状と、選別された代表画像との間で、回転角度θの差異と、４つの頂点の各座標の差異の合計値とを算出する。比較画像情報選択部１１６ａは、回転角度θの差異が所定の閾値以下となり、かつ、各頂点の座標の差異の合計値が所定の閾値以下となる代表画像を選別する。
【０１７３】
比較画像情報選択部１１６ａは、以上のマッチングについてのすべての条件を満たす代表画像を抽出し、抽出された代表画像に対応するグループに属する比較画像を、ステップＳ２４以降の処理の対象に設定する。また、比較画像情報選択部１１６ａは、上記の条件を１つでも満たさない代表画像に対応するグループに属する比較画像を、ステップＳ２４以降の処理の対象から除外する。
【０１７４】
このような処理により、端末装置１００ａは、作業支援情報の重畳位置の決定精度を維持したまま、重畳位置の決定処理に利用する比較画像情報を絞り込み、その処理負荷を軽減することができる。
【０１７５】
なお、ステップＳ８３の処理では、回転軸ベクトル［ｒx  ｒy  ｒz］、並進成分、回転角度θ、および４つの頂点の座標というパラメータのうち、少なくとも１つ、または２つ以上の組み合わせにより、マッチング処理を行ってもよい。
【０１７６】
また、ステップＳ８３では、入力されたマーカ形状とのマッチング対象を、代表画像ではなく、該当作業ＩＤに対応付けられたすべての比較画像としてもよい。この場合、マッチング精度の条件を満たした比較画像が、ステップＳ２４以降の処理の対象とされ、その他の比較画像が処理の対象から除外される。
【０１７７】
なお、上記の各実施の形態に示した装置（表示制御装置１および端末装置１００，１００ａ）の処理機能は、コンピュータによって実現することができる。その場合、各装置が有すべき機能の処理内容を記述したプログラムが提供され、そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記憶装置には、ハードディスク装置（ＨＤＤ）、フレキシブルディスク（ＦＤ）、磁気テープなどがある。光ディスクには、ＤＶＤ（Digital Versatile Disc）、ＤＶＤ−ＲＡＭ、ＣＤ−ＲＯＭ（Compact Disc-Read Only Memory）、ＣＤ−Ｒ（Recordable）／ＲＷ（ReWritable）などがある。光磁気記録媒体には、ＭＯ（Magneto-Optical disk）などがある。
【０１７８】
プログラムを流通させる場合には、例えば、そのプログラムが記録されたＤＶＤ、ＣＤ−ＲＯＭなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【０１７９】
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムまたはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、ネットワークを介して接続されたサーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
【０１８０】
以上の各実施の形態に関し、さらに以下の付記を開示する。
（付記１）  撮像画像から認識されたマーカの位置情報に基づいてマーカを基準とした撮像位置および撮像姿勢を算出し、算出した撮像位置および撮像姿勢に基づく撮像画像上の位置に所定の作業支援情報を重畳表示させる表示制御装置において、
撮像画像からのマーカの認識に成功したとき、当該撮像画像と他の画像との類似度の計算に使用される、当該撮像画像に関する第１の情報と、当該撮像画像からのマーカの認識結果に基づく第２の情報とを、記憶装置へ記録する蓄積処理部と、
第１の撮像画像からのマーカの認識に失敗したとき、前記記憶装置に記録された撮像画像ごとの前記第１の情報に基づいて、前記第１の撮像画像と類似する第２の撮像画像に対応する前記第２の情報を前記記憶装置から抽出し、抽出した前記第２の情報に基づいて、前記第１の撮像画像に対応する撮像位置および撮像姿勢を算出し、算出した撮像位置および撮像姿勢に基づいて作業支援情報の重畳表示位置を決定する表示位置決定部と、
を有することを特徴とする表示制御装置。
【０１８１】
（付記２）  前記表示位置決定部は、
前記記憶装置から、前記第１の撮像画像と類似する前記第２の撮像画像に対応する前記第１の情報を抽出し、
抽出した前記第１の情報に基づき、前記第２の撮像画像における複数の特徴点の座標を、前記第１の撮像画像における複数の特徴点の座標に変換する変換式を算出して、前記変換式による座標変換の評価値を算出し、
前記評価値が所定条件を満たす場合に、前記第２の撮像画像に対応する前記第２の情報に基づいて撮像位置および撮像姿勢を算出する、
ことを特徴とする付記１記載の表示制御装置。
【０１８２】
（付記３）  前記第２の情報には、撮像画像におけるマーカの位置情報が含まれ、
前記表示位置決定部は、前記評価値が前記所定条件を満たす場合に、前記第２の撮像画像に対応する前記第２の情報に含まれるマーカの位置情報を、前記変換式を用いて変換し、変換後のマーカの位置情報に基づいて撮像位置および撮像姿勢を算出する、
ことを特徴とする付記２記載の表示制御装置。
【０１８３】
（付記４）  前記第２の情報には、撮像画像におけるマーカの位置情報が含まれ、
前記表示位置決定部は、
前記記憶装置から、前記第１の撮像画像と類似する前記第２の撮像画像に対応する前記第１の情報を抽出し、
抽出した前記第１の情報に基づいて、前記第２の撮像画像における複数の特徴点の座標を、前記第１の撮像画像における複数の特徴点の座標に変換する変換式を算出し、
前記第２の撮像画像に対応する前記第２の情報に含まれるマーカの位置情報を、前記変換式を用いて変換し、変換後のマーカの位置情報に基づいて撮像位置および撮像姿勢を算出する、
ことを特徴とする付記１記載の表示制御装置。
【０１８４】
（付記５）  前記記憶装置では、前記第１の情報および前記第２の情報が、対応する撮像画像から算出された撮像位置および撮像姿勢に基づいて複数のグループに分類されて記録され、
前記表示位置決定部は、前記複数のグループからそれぞれ１つずつ選択された前記第１の情報を用いて、選択された前記第１の情報にそれぞれ対応する撮像画像の中から前記第１の撮像画像と類似する撮像画像を抽出し、抽出した撮像画像が属するグループを選択し、選択したグループに含まれる複数の前記第１の情報を用いて、当該グループに含まれる前記第１の情報に対応する撮像画像の中から前記第１の撮像画像と類似する前記第２の撮像画像を抽出する、
ことを特徴とする付記１記載の表示制御装置。
【０１８５】
（付記６）  前記表示位置決定部は、
撮像画像からのマーカの認識に失敗したとき、前記複数のグループの中から前記第１の情報および前記第２の情報が含まれる数が最も多いグループを選択し、選択したグループから前記第２の情報を１つ選択し、選択した前記第２の情報に基づくマーカの外形と同じ形状で同じ大きさのガイド枠を、撮像画像上の当該マーカと同じ位置に表示させ、
前記ガイド枠の表示後に取り込んだ撮像画像を用いて、前記選択したグループに含まれる複数の前記第１の情報を用いて、当該グループに含まれる前記第１の情報に対応する撮像画像の中から、前記ガイド枠の表示後に取り込んだ撮像画像と類似する前記第２の撮像画像を抽出する、
ことを特徴とする付記５記載の表示制御装置。
【０１８６】
（付記７）  前記表示位置決定部は、
前記第１の撮像画像からのマーカの認識に失敗したとき、前記第１の撮像画像におけるマーカの形状および位置の情報を入力する操作を受け付け、
前記複数のグループからそれぞれ１つずつ選択された前記第２の情報と、入力された前記位置情報に基づくマーカに関する情報とを比較して、選択された前記第２の情報に対応する撮像画像の中から、前記位置情報に基づくマーカとの関連性を示す指標が所定条件を満たすマーカが認識された撮像画像を判定し、
判定した撮像画像が属するグループに含まれる複数の前記第１の情報を用いて、当該グループに含まれる前記第１の情報に対応する撮像画像の中から前記第１の撮像画像と類似する前記第２の撮像画像を抽出する、
ことを特徴とする付記５記載の表示制御装置。
【０１８７】
（付記８）  撮像画像から認識されたマーカの位置情報に基づいてマーカを基準とした撮像位置および撮像姿勢を算出し、算出した撮像位置および撮像姿勢に基づく撮像画像上の位置に所定の作業支援情報を重畳表示させる表示制御方法において、
撮像画像からのマーカの認識に成功したとき、当該撮像画像と他の画像との類似度の計算に使用される、当該撮像画像に関する第１の情報と、当該撮像画像からのマーカの認識結果に基づく第２の情報とを、記憶装置へ記録し、
第１の撮像画像からのマーカの認識に失敗したとき、前記記憶装置に記録された撮像画像ごとの前記第１の情報に基づいて、前記第１の撮像画像と類似する第２の撮像画像に対応する前記第２の情報を前記記憶装置から抽出し、抽出した前記第２の情報に基づいて、前記第１の撮像画像に対応する撮像位置および撮像姿勢を算出し、算出した撮像位置および撮像姿勢に基づいて作業支援情報の重畳表示位置を決定する、
ことを特徴とする表示制御方法。
【０１８８】
（付記９）  前記第１の撮像画像に対応する撮像位置および撮像姿勢の算出では、
前記記憶装置から、前記第１の撮像画像と類似する前記第２の撮像画像に対応する前記第１の情報を抽出し、
抽出した前記第１の情報に基づき、前記第２の撮像画像における複数の特徴点の座標を、前記第１の撮像画像における複数の特徴点の座標に変換する変換式を算出して、前記変換式による座標変換の評価値を算出し、
前記評価値が所定条件を満たす場合に、前記第２の撮像画像に対応する前記第２の情報に基づいて撮像位置および撮像姿勢を算出する、
ことを特徴とする付記８記載の表示制御方法。
【０１８９】
（付記１０）  前記第２の情報には、撮像画像におけるマーカの位置情報が含まれ、
前記第１の撮像画像に対応する撮像位置および撮像姿勢の算出では、
前記表示位置決定部は、前記評価値が前記所定条件を満たす場合に、前記第２の撮像画像に対応する前記第２の情報に含まれるマーカの位置情報を、前記変換式を用いて変換し、変換後のマーカの位置情報に基づいて撮像位置および撮像姿勢を算出する、
ことを特徴とする付記９記載の表示制御方法。
【０１９０】
（付記１１）  前記第２の情報には、撮像画像におけるマーカの位置情報が含まれ、
前記第１の撮像画像に対応する撮像位置および撮像姿勢の算出では、
前記記憶装置から、前記第１の撮像画像と類似する前記第２の撮像画像に対応する前記第１の情報を抽出し、
抽出した前記第１の情報に基づいて、前記第２の撮像画像における複数の特徴点の座標を、前記第１の撮像画像における複数の特徴点の座標に変換する変換式を算出し、
前記第２の撮像画像に対応する前記第２の情報に含まれるマーカの位置情報を、前記変換式を用いて変換し、変換後のマーカの位置情報に基づいて撮像位置および撮像姿勢を算出する、
ことを特徴とする付記８記載の表示制御方法。
【０１９１】
（付記１２）  前記記憶装置では、前記第１の情報および前記第２の情報が、対応する撮像画像から算出された撮像位置および撮像姿勢に基づいて複数のグループに分類されて記録され、
前記第２の撮像画像に対応する前記第２の情報の抽出では、前記複数のグループからそれぞれ１つずつ選択された前記第１の情報を用いて、選択された前記第１の情報にそれぞれ対応する撮像画像の中から前記第１の撮像画像と類似する撮像画像を抽出し、抽出した撮像画像が属するグループを選択し、選択したグループに含まれる複数の前記第１の情報を用いて、当該グループに含まれる前記第１の情報に対応する撮像画像の中から前記第１の撮像画像と類似する前記第２の撮像画像を抽出する、
ことを特徴とする付記８記載の表示制御方法。
【０１９２】
（付記１３）  撮像画像からのマーカの認識に失敗したとき、前記複数のグループの中から前記第１の情報および前記第２の情報が含まれる数が最も多いグループを選択し、選択したグループから前記第２の情報を１つ選択し、選択した前記第２の情報に基づくマーカの外形と同じ形状で同じ大きさのガイド枠を、撮像画像上の当該マーカと同じ位置に表示させ、
前記第２の撮像画像に対応する前記第２の情報の抽出では、前記ガイド枠の表示後に取り込んだ撮像画像を用いて、前記選択したグループに含まれる複数の前記第１の情報を用いて、当該グループに含まれる前記第１の情報に対応する撮像画像の中から、前記ガイド枠の表示後に取り込んだ撮像画像と類似する前記第２の撮像画像を抽出する、
ことを特徴とする付記１２記載の表示制御方法。
【０１９３】
（付記１４）  前記第１の撮像画像からのマーカの認識に失敗したとき、前記第１の撮像画像におけるマーカの形状および位置の情報を入力する操作を受け付け、
前記第２の撮像画像に対応する前記第２の情報の抽出では、
前記複数のグループからそれぞれ１つずつ選択された前記第２の情報と、入力された前記位置情報に基づくマーカに関する情報とを比較して、選択された前記第２の情報に対応する撮像画像の中から、前記位置情報に基づくマーカとの関連性を示す指標が所定条件を満たすマーカが認識された撮像画像を判定し、
判定した撮像画像が属するグループに含まれる複数の前記第１の情報を用いて、当該グループに含まれる前記第１の情報に対応する撮像画像の中から前記第１の撮像画像と類似する前記第２の撮像画像を抽出する、
ことを特徴とする付記１２記載の表示制御方法。
【０１９４】
（付記１５）  撮像画像から認識されたマーカの位置情報に基づいてマーカを基準とした撮像位置および撮像姿勢を算出し、算出した撮像位置および撮像姿勢に基づく撮像画像上の位置に所定の作業支援情報を重畳表示させる処理を、コンピュータに実行させる表示制御プログラムにおいて、
前記コンピュータに、
撮像画像からのマーカの認識に成功したとき、当該撮像画像と他の画像との類似度の計算に使用される、当該撮像画像に関する第１の情報と、当該撮像画像からのマーカの認識結果に基づく第２の情報とを、記憶装置へ記録し、
第１の撮像画像からのマーカの認識に失敗したとき、前記記憶装置に記録された撮像画像ごとの前記第１の情報に基づいて、前記第１の撮像画像と類似する第２の撮像画像に対応する前記第２の情報を前記記憶装置から抽出し、抽出した前記第２の情報に基づいて、前記第１の撮像画像に対応する撮像位置および撮像姿勢を算出し、算出した撮像位置および撮像姿勢に基づいて作業支援情報の重畳表示位置を決定する、
処理を実行させることを特徴とする表示制御プログラム。
【符号の説明】
【０１９５】
１  表示制御装置
２  蓄積処理部
３  表示位置決定部
４  記憶装置
５ａ  第１の情報
５ｂ  第２の情報
１１ａ，１１ｂ  撮像画像
１２  画像
２１  マーカ
２２  作業支援情報
【図１】
2015211363.tif 000012
【図２】
2015211363.tif 000013
【図３】
2015211363.tif 000014
【図４】
2015211363.tif 000015
【図５】
2015211363.tif 000016
【図６】
2015211363.tif 000017
【図７】
2015211363.tif 000018
【図８】
2015211363.tif 000019
【図９】
2015211363.tif 000020
【図１０】
2015211363.tif 000021
【図１１】
2015211363.tif 000022
【図１２】
2015211363.tif 000023
【図１３】
2015211363.tif 000024
【図１４】
2015211363.tif 000025
【図１５】
2015211363.tif 000026
【図１６】
2015211363.tif 000027
【図１７】
2015211363.tif 000028
【図１８】
2015211363.tif 000029
【図１９】
2015211363.tif 000030