(57)【要約】【課題】表示位置誤差を小さくする。【解決手段】構造物の３Ｄモデルと、構造物の撮影画像とを重畳させて表示する装置であって、構造物に付された第１〜第３マーカを読み取って、実空間上における第１〜第３実基準位置を特定する第１〜第３の位置認識部と、３Ｄモデルの第１マーカに対応する第１モデル基準位置を、第１実基準位置に一致させるモデル基準位置設定部と、第１モデル基準位置と第２モデル基準位置とを結ぶモデル基準ベクトルが、第１実基準位置と第２実基準位置とを結ぶ実基準ベクトルに一致するように、３Ｄモデルのスケール及び姿勢を変更するモデル変更部と、第３モデル基準位置が、第３実基準位置と一致するように、３Ｄモデルをモデル基準ベクトルの周りに回転させるモデル回転部と、を含む表示制御装置である。【選択図】図１
2020166424.tif 000002
【特許請求の範囲】
【請求項１】
構造物の形状を模して仮想空間上に構築された３Ｄモデルと、前記構造物が映された撮影画像とを重畳させて表示する表示制御装置であって、
前記構造物に付された第１マーカを読み取って、実空間上における前記第１マーカの位置である第１実基準位置を特定する第１の位置認識部と、
前記３Ｄモデルの前記第１マーカに対応する位置である第１モデル基準位置を、前記第１実基準位置に一致させる位置設定部と、
前記構造物に付された第２マーカを読み取って、前記実空間上における前記第２マーカの位置である第２実基準位置を特定する第２の位置認識部と、
前記第１モデル基準位置と、前記３Ｄモデルの前記第２マーカに対応する位置である第２モデル基準位置とを結ぶモデル基準ベクトルが、前記第１実基準位置と前記第２実基準位置とを結ぶ実基準ベクトルに一致するように、前記３Ｄモデルのスケール及び姿勢を変更するモデル変更部と、
前記構造物に付された第３マーカを読み取って、前記実空間上における前記第３マーカの位置である第３実基準位置を特定する第３の位置認識部と、
前記３Ｄモデルの前記第３マーカに対応する位置である第３モデル基準位置が、前記第３実基準位置と一致するように、前記３Ｄモデルを前記モデル基準ベクトルの周りに回転させるモデル回転部と、
を備える表示制御装置。
【請求項２】
前記モデル回転部は、前記第３実基準位置から前記実基準ベクトルへ引いた垂線の足と、前記第３モデル基準位置から前記モデル基準ベクトルへ引いた垂線の足が一致するように、前記３Ｄモデルを前記モデル基準ベクトルの方向に移動させた後、
前記第３モデル基準位置が前記第３実基準位置と一致するように、前記３Ｄモデルを前記モデル基準ベクトルの周りに回転させる
請求項１に記載の表示制御装置。
【請求項３】
前記構造物に付された３つ以上のマーカの中から前記第１マーカ、前記第２マーカ及び前記第３マーカとして特定すべきマーカの組み合わせが作業の種類ごとに規定されており、
前記マーカの組み合わせに応じた作業支援情報を前記撮像画像に重畳して表示する、
請求項１または２に記載の表示制御装置。
【請求項４】
前記マーカは、所定のシンボル、所定の１次元コード、所定の２次元コードもしくは所定の身振りの１もしくは複数の組み合わせ（第１種マーカとする）、または、所定の音、所定の磁気、もしくは所定の電波の１もしくは複数の組み合わせと第１種マーカとの組み合わせから構成される
請求項１から３のいずれか１項に記載の表示制御装置。
【請求項５】
構造物の形状を模して仮想空間上に構築された３Ｄモデと、前記構造物が映された撮影画像とを重畳させて表示する表示制御方法であって、
前記構造物に付された第１マーカを読み取って、実空間上における前記第１マーカの位置である第１実基準位置を特定するステップと、
前記３Ｄモデルの前記第１マーカに対応する位置である第１モデル基準位置を、前記第１実基準位置に一致させるステップと、
前記構造物に付された第２マーカを読み取って、前記実空間上における前記第２マーカの位置である第２実基準位置を特定するステップと、
前記第１モデル基準位置と、前記３Ｄモデルの前記第２マーカに対応する位置である第２モデル基準位置とを結ぶモデル基準ベクトルが、前記第１実基準位置と前記第２実基準位置とを結ぶ実基準ベクトルに一致するように、前記３Ｄモデルのスケール及び姿勢を変更するステップと、
前記構造物に付された第３マーカを読み取って、前記実空間上における前記第３マーカの位置である第３実基準位置を特定するステップと、
前記３Ｄモデルの前記第３マーカに対応する位置である第３モデル基準位置が、前記第３実基準位置と一致するように、前記３Ｄモデルを前記モデル基準ベクトルの周りに回転させるステップと、
を含む表示制御方法。
【請求項６】
構造物の形状を模して仮想空間上に構築された３Ｄモデルと、前記構造物が映された撮影画像とを重畳させて表示する表示制御装置が有するコンピュータに、
前記構造物に付された第１マーカを読み取って、実空間上における前記第１マーカの位置である第１実基準位置を特定するステップと、
前記３Ｄモデルの前記第１マーカに対応する位置である第１モデル基準位置を、前記第１実基準位置に一致させるステップと、
前記構造物に付された第２マーカを読み取って、前記実空間上における前記第２マーカの位置である第２実基準位置を特定するステップと、
前記第１モデル基準位置と、前記３Ｄモデルの前記第２マーカに対応する位置である第２モデル基準位置とを結ぶモデル基準ベクトルが、前記第１実基準位置と前記第２実基準位置とを結ぶ実基準ベクトルに一致するように、前記３Ｄモデルのスケール及び姿勢を変更するステップと、
前記構造物に付された第３マーカを読み取って、前記実空間上における前記第３マーカの位置である第３実基準位置を特定するステップと、
前記３Ｄモデルの前記第３マーカに対応する位置である第３モデル基準位置が、前記第３実基準位置と一致するように、前記３Ｄモデルを前記モデル基準ベクトルの周りに回転させるステップと、
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、表示制御装置、表示制御方法、およびプログラムに関する。
【背景技術】
【０００２】
ＡＲ（Ａｕｇｍｅｎｔｅｄ  Ｒｅａｌｉｔｙ；拡張現実）技術を用いて実空間で遂行すべき作業手順に関する説明を撮影画像に重畳させて表示する装置の一例が、特許文献１に記載されている。特許文献１に記載されている装置では、ＳＬＡＭ（Ｓｉｍｕｌｔａｎｅｏｕｓ  Ｌｏｃａｌｉｚａｔｉｏｎ  ａｎｄ  Ｍａｐｐｉｎｇ）技術を用いて実空間内に存在する各物体の位置を表す環境マップが構築され、各物体に関連する作業手順の説明が、環境マップに含まれている各物体の近傍に表示される。環境マップを構築する際には、予め用意されている、各物体に属する複数の特徴点の３次元的な位置情報、各物体の形状を認識するためのポリゴン情報等が用いられる。
【０００３】
また、特許文献２には、所定の面内に置かれた３つのマークの画像を、カメラを用いて取得し、当該マークについて得られた画像座標と奥行き情報とに基づいて、カメラの位置姿勢を検出する装置が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１１−１５９１６２号公報
【特許文献２】特開２０００−４１１７３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、製造現場では、例えば、紙図面や携帯端末を用いて作業箇所の確認が行われる場合がある。この場合、作業箇所の特定に手間が掛かったり、誤認識が発生してしまったりすることがある。これに対して、ＡＲ技術を活用して表示画面上で製造物に作業指示を重畳表示させる作業ナビゲーション手法が検討されているが、例えば製造物が大型化すると、表示位置誤差が大きくなりやすいという課題がある。
【０００６】
本発明は、上記事情を考慮してなされたものであり、表示位置誤差を小さくすることができる表示制御装置、表示制御方法、およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するため、本発明の一態様は、構造物の形状を模して仮想空間上に構築された３Ｄモデルと、前記構造物が映された撮影画像とを重畳させて表示する表示制御装置であって、前記構造物に付された第１マーカを読み取って、実空間上における前記第１マーカの位置である第１実基準位置を特定する第１の位置認識部と、前記３Ｄモデルの前記第１マーカに対応する位置である第１モデル基準位置を、前記第１実基準位置に一致させる位置設定部と、前記構造物に付された第２マーカを読み取って、前記実空間上における前記第２マーカの位置である第２実基準位置を特定する第２の位置認識部と、前記第１モデル基準位置と、前記３Ｄモデルの前記第２マーカに対応する位置である第２モデル基準位置とを結ぶモデル基準ベクトルが、前記第１実基準位置と前記第２実基準位置とを結ぶ実基準ベクトルに一致するように、前記３Ｄモデルのスケール及び姿勢を変更するモデル変更部と、前記構造物に付された第３マーカを読み取って、前記実空間上における前記第３マーカの位置である第３実基準位置を特定する第３の位置認識部と、前記３Ｄモデルの前記第３マーカに対応する位置である第３モデル基準位置が、前記第３実基準位置と一致するように、前記３Ｄモデルを前記モデル基準ベクトルの周りに回転させるモデル回転部と、を備える表示制御装置である。
【０００８】
また、本発明の一態様は、前記モデル回転部は、前記第３実基準位置から前記実基準ベクトルへ引いた垂線の足と、前記第３モデル基準位置から前記モデル基準ベクトルへ引いた垂線の足が一致するように、前記３Ｄモデルを前記モデル基準ベクトルの方向に移動させた後、前記第３モデル基準位置が前記第３実基準位置と一致するように、前記３Ｄモデルを前記モデル基準ベクトルの周りに回転させる上記表示制御装置である。
【０００９】
また、本発明の一態様は、前記構造物に付された３つ以上のマーカの中から前記第１マーカ、前記第２マーカ及び前記第３マーカとして特定すべきマーカの組み合わせが作業の種類ごとに規定されており、前記マーカの組み合わせに応じた作業支援情報を前記撮像画像に重畳して表示する、上記表示制御装置である。
【００１０】
また、本発明の一態様は、前記マーカは、所定のシンボル、所定の１次元コード、所定の２次元コードもしくは所定の身振りの１もしくは複数の組み合わせ（第１種マーカとする）、または、所定の音、所定の磁気、もしくは所定の電波の１もしくは複数の組み合わせと第１種マーカとの組み合わせから構成される上記表示制御装置である。
【００１１】
また、本発明の一態様は、構造物の形状を模して仮想空間上に構築された３Ｄモデルと、前記構造物が映された撮影画像とを重畳させて表示する表示制御方法であって、前記構造物に付された第１マーカを読み取って、実空間上における前記第１マーカの位置である第１実基準位置を特定するステップと、前記３Ｄモデルの前記第１マーカに対応する位置である第１モデル基準位置を、前記第１実基準位置に一致させるステップと、前記構造物に付された第２マーカを読み取って、前記実空間上における前記第２マーカの位置である第２実基準位置を特定するステップと、前記第１モデル基準位置と、前記３Ｄモデルの前記第２マーカに対応する位置である第２モデル基準位置とを結ぶモデル基準ベクトルが、前記第１実基準位置と前記第２実基準位置とを結ぶ実基準ベクトルに一致するように、前記３Ｄモデルのスケール及び姿勢を変更するステップと、前記構造物に付された第３マーカを読み取って、前記実空間上における前記第３マーカの位置である第３実基準位置を特定するステップと、前記３Ｄモデルの前記第３マーカに対応する位置である第３モデル基準位置が、前記第３実基準位置と一致するように、前記３Ｄモデルを前記モデル基準ベクトルの周りに回転させるステップと、を含む表示制御方法である。
【００１２】
また、本発明の一態様は、構造物の形状を模して仮想空間上に構築された３Ｄモデルと、前記構造物が映された撮影画像とを重畳させて表示する表示制御装置が有するコンピュータに、前記構造物に付された第１マーカを読み取って、実空間上における前記第１マーカの位置である第１実基準位置を特定するステップと、前記３Ｄモデルの前記第１マーカに対応する位置である第１モデル基準位置を、前記第１実基準位置に一致させるステップと、前記構造物に付された第２マーカを読み取って、前記実空間上における前記第２マーカの位置である第２実基準位置を特定するステップと、前記第１モデル基準位置と、前記３Ｄモデルの前記第２マーカに対応する位置である第２モデル基準位置とを結ぶモデル基準ベクトルが、前記第１実基準位置と前記第２実基準位置とを結ぶ実基準ベクトルに一致するように、前記３Ｄモデルのスケール及び姿勢を変更するステップと、前記構造物に付された第３マーカを読み取って、前記実空間上における前記第３マーカの位置である第３実基準位置を特定するステップと、前記３Ｄモデルの前記第３マーカに対応する位置である第３モデル基準位置が、前記第３実基準位置と一致するように、前記３Ｄモデルを前記モデル基準ベクトルの周りに回転させるステップと、を実行させるプログラムである。
【発明の効果】
【００１３】
本発明の各態様によれば、表示位置誤差を小さくすることができる。
【図面の簡単な説明】
【００１４】
【図１】本発明の一実施形態に係る表示制御装置を説明するための模式図である。
【図２】図１に示す３Ｄモデル適合部４３の動作例を説明するための模式図である。
【図３】図１に示す表示制御装置１の動作例を説明するための模式図である。
【図４】図１に示す表示制御装置１の動作例を示すフローチャートである。
【図５】図１に示す表示制御装置１の動作例を説明するための模式図である。
【図６】図１に示す表示制御装置１の動作例を説明するための模式図である。
【図７】図１に示す表示制御装置１の動作例を説明するための模式図である。
【図８】図１に示す表示制御装置１の動作例を説明するための模式図である。
【図９】図１に示す表示制御装置１の動作例を説明するための模式図である。
【図１０】図１に示す表示制御装置１の動作例を説明するための模式図である。
【図１１】図１に示す表示制御装置１の動作例を説明するための模式図である。
【図１２】図１に示す表示制御装置１の動作例を説明するための模式図である。
【図１３】図１に示す表示部３の表示例を示す模式図である。
【図１４】図１に示す表示部３の表示例を示す模式図である。
【図１５】図１に示す表示部３の表示例を示す模式図である。
【図１６】図１に示す表示部３の表示例を示す模式図である。
【図１７】図１に示す作業毎マーカ情報５５の構成例を説明するための模式図である。
【図１８】少なくとも１つの実施形態に係るコンピュータの構成を示す概略ブロック図である。
【発明を実施するための形態】
【００１５】
以下、図面を参照して本発明の実施形態について説明する。図１は、本発明の一実施形態に係る表示制御装置１の構成例を説明するための模式図である。図１（ａ）は表示制御装置１の構成例の概略を示すブロック図であり、図１（ｂ）は図１（ａ）に示すマーカ認識部４２の構成例の概略を示すブロック図であり、図１（ｃ）は図１（ａ）に示す３Ｄモデル（３次元モデル）適合部４３の構成例の概略を示すブロック図である。
【００１６】
図１（ａ）に示す表示制御装置１は、１または複数のコンピュータと撮影装置、表示装置等のそのコンピュータの周辺装置とを用いて構成される。表示制御装置１は、例えば、ヘッドマウントディスプレイ、タブレット端末、スマートフォン等の端末またはその一部として構成することができる。表示制御装置１は、ハードウェアとプログラム、データ等のソフトウェアとの組み合わせからなる機能的要素として、撮影部２と、表示部３と、処理部４と、記憶部５を備える。本実施形態に係る表示制御装置１は、構造物の形状を模して仮想空間上に構築された３Ｄモデルと、構造物が映された撮影画像とを重畳させて表示する。また、本実施形態に係る表示制御装置１は、３Ｄモデルに基づいて作業支援情報（作業ナビゲーション情報ともいう）を現実空間に重畳して表示する。また、本実施形態に係る表示制御装置１は、作業の種類ごとに規定されている構造物に付された３つ以上のマーカの組み合わせ、に応じた作業支援情報を撮像画像に重畳して表示する。
【００１７】
撮影部２は、光学系と撮像素子と制御部とを備え、例えば操作者の操作や動きに応じて作業対象とする構造物とその周辺を撮影し、撮影した画像を表す画像情報を処理部４へ出力する。
【００１８】
表示部３は、液晶ディスプレイ、有機ＥＬディスプレイ等を用いた表示装置であり、処理部４が出力した映像信号に応じて画像を表示する。
【００１９】
処理部４は、例えば、ＣＰＵ（中央処理装置）、演算ユニット、記憶装置等を備え、記憶装置に記憶されているプログラムを実行すること構成される機能的要素であるＳＬＡＭマップ作成部４１、マーカ認識部４２、３Ｄモデル適合部４３および作業情報重畳部４４を備える。
【００２０】
記憶部５は、記憶装置を備え、３Ｄモデル情報５１と、ＳＬＡＭマップ情報５２と、作業手順書情報５３と、作業ナビゲーション情報５４と、作業毎マーカ情報５５を記憶する。
【００２１】
なお、処理部４が備える記憶装置と、記憶部５が備える記憶装置の一部または全部は、同一とすることができる。また、表示制御装置１が通信部を備えて外部のコンピュータと通信することで、処理部４が備えるＳＬＡＭマップ作成部４１、マーカ認識部４２、３Ｄモデル適合部４３および作業情報重畳部４４の一部をその外部のコンピュータに設けてもよい。また、記憶部５が記憶する３Ｄモデル情報５１、ＳＬＡＭマップ情報５２、作業手順書情報５３、作業ナビゲーション情報５４、および作業毎マーカ情報５５の一部をその外部のコンピュータが備える記憶装置に記憶するようにしてもよい。
【００２２】
ＳＬＡＭマップ作成部４１は、ＳＬＡＭ（Ｓｉｍｕｌｔａｎｅｏｕｓ  Ｌｏｃａｌｉｚａｔｉｏｎ  ａｎｄ  Ｍａｐｐｉｎｇ）技術を用いて、撮影部２が撮影した複数フレーム分の画像から随時、複数の特徴点を抽出し、各特徴点の３次元的な位置を表す３次元マップ（以下、ＳＬＡＭマップという）を作成および随時、更新して、ＳＬＡＭマップ情報５２として記憶部５に記憶する。ＳＬＡＭマップ情報５２は、複数の特徴点を表す情報と、各特徴点の３次元位置を表す情報を含む。ＳＬＡＭマップは実空間（現実世界）を表す３次元マップである。
【００２３】
マーカ認識部４２は、撮影部２が撮影した画像から構造物の所定位置に付された所定の複数のマーカを認識し、ＳＬＡＭマップ内で各マーカに対応する特徴点の位置を特定する。マーカは、例えば、所定のシンボル、所定の１次元コード、所定の２次元コードまたは所定の身振り（ジェスチャ）の１つもしくは複数の組み合わせとすることができる。構造物にマーカを付すの「付す」は、例えば、所定の位置に取り付けたり、所定の位置に塗布したり、所定の位置の近傍で身体の一部等を動かしたりすることを意味する。なお、ＳＬＡＭマップ作成部４１は、マーカ認識部４２が認識したマーカに対応する特徴点については、その特徴点がマーカであることを示す情報、シンボルやコード、ジェスチャの内容を示す情報等を、ＳＬＡＭマップ情報５２内に含ませることができる。
【００２４】
なお、本実施形態において、表示制御装置１は、構造物に付されたマーカを基準点として、ＳＬＡＭマップ（実空間）内の構造物に対して、仮想空間上に構築された構造物の３Ｄモデルのスケール、位置および姿勢を合わせた後（一致させた後）、３Ｄモデルに対して予め設定されている所定の表示位置に所定の作業支援情報を重畳表示する。仮想空間上に構築された構造物の３Ｄモデルとは、構造物の形状を模して仮想空間上に構築された３Ｄモデルであり、例えば、構造物の３次元設計データに基づく情報である。なお、本実施形態では、ＳＬＡＭマップ（実空間）内で構造物に付されたマーカを実基準点といい、実基準点の位置を実基準位置という。一方、仮想空間内で構造物の３Ｄモデルに付されたマーカをモデル基準点といい、モデル基準点の位置をモデル基準位置という。
【００２５】
本実施形態において、マーカ認識部４２は、図１（ｂ）に示すように、第１の位置認識部４２１と、第２の位置認識部４２２と、第３の位置認識部４２３とを含む。第１の位置認識部４２１は、構造物の所定位置に付された第１マーカを読み取って、ＳＬＡＭマップ（実空間）上における第１マーカの位置である第１実基準位置を特定する。第２の位置認識部４２２は、構造物の所定位置に付された第２マーカを読み取って、ＳＬＡＭマップ（実空間）上における第２マーカの位置である第２実基準位置を特定する。そして、第３の位置認識部４２３は、記構造物の所定位置に付された第３マーカを読み取って、ＳＬＡＭマップ（実空間）上における第３マーカの位置である第３実基準位置を特定する。第１マーカと第２マーカと第３マーカは、構造物の異なる位置に付されたマーカである。なお、３Ｄモデルにも、構造物に付されるマーカと同じ位置に、第１マーカと第２マーカと第３マーカが設定される。
【００２６】
３Ｄモデル適合部４３は、マーカ認識部４２が認識したＳＬＡＭマップ（実空間）上の３つの実基準位置と、仮想空間上の３つのモデル基準位置とに基づき、３ＤモデルをＳＬＡＭマップ（実空間）内の構造物に適合させる（スケール、位置および姿勢を一致させる）。３Ｄモデル適合部４３は、図１（ｃ）に示すように、位置設定部４３１と、モデル変更部４３２と、モデル回転部４３３とを含む。ここで、図２を参照して、３Ｄモデル適合部４３の動作例の要旨について説明する。図２は、図１に示す３Ｄモデル適合部４３の動作例を説明するための模式図である。
【００２７】
図２に示すように、３Ｄモデル適合部４３では、まず、位置設定部４３１が、仮想空間上における３Ｄモデルの第１マーカ（第１モデル基準点ＭＲＰ１）に対応する位置である第１モデル基準位置を、ＳＬＡＭマップ（実空間）上の第１マーカ（第１実基準点ＲＲＰ１）に対応する位置である第１実基準位置に一致させる。
【００２８】
次に、モデル変更部４３２が、仮想空間上における第１モデル基準位置と、３Ｄモデルの第２マーカ（第２モデル基準点ＭＲＰ２）に対応する位置である第２モデル基準位置とを結ぶモデル基準ベクトルが、実空間上における第１実基準位置とＳＬＡＭマップ（実空間）上の第２マーカ（第２実基準点ＲＲＰ２）に対応する位置である第２実基準位置とを結ぶ実基準ベクトルに一致するように、３Ｄモデルのスケールおよび姿勢を変更する（ＳＴ１）。
【００２９】
そして、モデル回転部４３３が、仮想空間上における３Ｄモデルの第３マーカ（第３モデル基準点ＭＲＰ３）に対応する位置である第３モデル基準位置が、ＳＬＡＭマップ（実空間）上の第３マーカ（第３実基準点ＲＲＰ３）に対応する位置である第３実基準位置と一致するように、３Ｄモデルをモデル基準ベクトルの周りに回転させる（ＳＴ２）。
【００３０】
一方、作業情報重畳部４４は、構造物が映された撮影画像に対して作業支援情報を重畳させて表示部３に表示する。作業支援情報は、例えば、作業の指示内容、作業箇所、図面情報、作業条件（トルク値、シール種類、スペック情報など）、標準作業時間等を表す文字や図形で示される情報である。作業情報重畳部４４は、ＳＬＡＭマップ（実空間）内の構造物に適合された状態の３Ｄモデルに対して設定されている所定の表示位置に、作業支援情報を表示する。
【００３１】
３Ｄモデル情報５１は、構造物の形状を模して仮想空間上に構築された３Ｄモデルを表す情報である。ＳＬＡＭマップ情報５２は、ＳＬＡＭマップ作成部４１が作成および更新したＳＬＡＭマップを表す情報である。作業手順書情報５３は、作業担当者がこれからやるべき複数の「作業」の内容とその順番を規定した情報である。作業ナビゲーション情報５４は、作業手順書に含まれる作業（塗布など）ごとに、画像に重畳表示させる情報（どこに何を塗布するかを示す画像情報）を紐づけている情報である。作業毎マーカ情報５５は、構造物に３個以上のマーカが付されている場合にどの３つのマーカを基準点として選択するのかを作業毎に定義する情報である。図１７に作業毎マーカ情報５５の構成例を示す。図１７は、図１に示す作業毎マーカ情報５５の構成例を説明するための模式図である。図１７に示す作業毎マーカ情報５５は、作業Ａに対応するマーカが、マーカＭ１、マーカＭ２、およびマーカＭ３であること、作業Ｂに対応するマーカが、マーカＭ２、マーカＭ４およびマーカＭ５であることを示す。作業毎マーカ情報５５には、構造物の大きさや形状、作業の内容等に応じて、作業毎に選択すべき適切なマーカを定義することができる。例えば、マーカ認識部４２（あるいは３Ｄモデル適合部４３）は、作業毎マーカ情報５５を参照して、基準点として用いるマーカを作業毎に選択することができる。この構成において、表示制御装置１では、構造物に付された３つ以上のマーカの中から第１マーカ、第２マーカ及び第３マーカとして特定すべきマーカの組み合わせを作業の種類ごとに規定することができ、また、マーカの組み合わせに応じた作業支援情報を撮像画像に重畳して表示することができる。
【００３２】
次に、図１に示す表示制御装置１の動作の概要について図３を参照して説明する。図３（ａ）は、構造部１０の例を示す模式図である。この例では、構造部１０に２次元バーコード等の３個のマーカＭ１１、Ｍ１２およびＭ１３が付されている。図３（ｂ）は、構造部１０に対応するＳＬＡＭマップ内の構造物１０ｒを示す模式図である。この例では、ＳＬＡＭマップ内の構造物１０ｒは、互いに直交するｘ軸、ｙ軸およびｚ軸で定義される直交座標系を用いて表される。図３（ｃ）は、構造部１０に対応する仮想空間内の３Ｄモデル１０ｉの例を示す模式図である。この例では、仮想空間内の３Ｄモデル１０ｉは、互いに直交するｘｉ軸、ｙｉ軸およびｚｉ軸で定義される直交座標系を用いて表される。また、３Ｄモデル１０ｉには、３個のマーカＭ１１ｉ、Ｍ１２ｉおよびＭ１３ｉ（図３（ｃ）ではマーカＭ１１ｉは不図示）の位置と、作業支援情報の表示位置２２ｉが設定されている。図３（ｄ）は、ＳＬＡＭマップ内で適合された状態の３Ｄモデル１０ｉの例を示す模式図である。図３（ｅ）は、表示部３の表示例を示す模式図である。
【００３３】
表示制御装置１では、まず、撮影部２が撮影した構造物１０（図３（ａ））の撮影画像に基づき、ＳＬＡＭマップ作成部４１がＳＬＡＭマップ内で構造物１０ｒを構築する（図３（ｂ））。その際、マーカ認識部４２が、構造物１０に付されているマーカＭ１１、Ｍ１２およびＭ１３をＳＬＡＭマップ内でマーカＭ１１ｒ、Ｍ１２ｒおよびＭ１３ｒとして認識する。
【００３４】
次に、３Ｄモデル適合部４３が、３Ｄモデル１０ｉのマーカＭ１１ｉ、Ｍ１２ｉおよびＭ１３ｉが、図３（ｂ）に示すマーカＭ１１ｒ、Ｍ１２ｒおよびＭ１３ｒと一致するように、ＳＬＡＭマップ内で、３Ｄモデル１０ｉの大きさと位置と姿勢を変更する（図３（ｄ））。
【００３５】
次に、作業情報重畳部４４が、構造物１０の撮影画像に対して、作業支援情報の表示位置２２ｉに対応する表示位置２２に対応づけて作業支援情報２１を重畳表示する（図３（ｅ））。
【００３６】
次に、図４〜図１２を参照して、図１に示す表示制御装置１の動作例について詳細に説明する。図４は、図１に示す表示制御装置１の動作例を示すフローチャートである。図５〜図１２は、図１に示す表示制御装置１の動作例を説明するための模式図である。
【００３７】
図４に示すフローチャートにおいて、表示制御装置１では、事前に、図５に鎖線で示す３Ｄモデル３ＤＭに、第１モデル基準点ＭＲＰ１、第２モデル基準点ＭＲＰ２、および第３モデル基準点ＭＲＰ３を設定する（ステップＳ１１）。
【００３８】
次に、ＳＬＡＭマップ作成部４１が、図５に示すように構造物ＲＭ周辺のＳＬＡＭマップＭＡＰ１を生成する（ステップＳ１２）。
【００３９】
次に、マーカ認識部４２が、実空間にて（ＳＬＡＭマップＭＡＰ１上で）第１基準点（第１実基準点ＲＲＰ１）を認識する（ステップＳ１３）。
【００４０】
次に、３Ｄモデル適合部４３が、図５に示すように、第１実基準点ＲＲＰ１の位置に合わせて３Ｄモデル３ＤＭを表示する（ＳＬＡＭマップＭＡＰ１上に３Ｄモデル３ＤＭを配置する）（ステップＳ１４）。
【００４１】
次に、マーカ認識部４２が、実空間にて（ＳＬＡＭマップＭＡＰ１上で）第２基準点（第２実基準点ＲＲＰ２）を認識する（ステップＳ１５）。
【００４２】
次に、３Ｄモデル適合部４３が、図５に示すように、実空間の（ＳＬＡＭマップ上ＭＡＰ１で）第１実基準点ＲＲＰ１と第２実基準点ＲＲＰ２を結ぶベクトル（Ｖ１）（実基準ベクトル）と、３Ｄモデル３ＤＭの第１モデル基準点ＭＲＰ１と第２モデル基準点ＭＲＰ２を結ぶベクトル（Ｖ２）（モデル基準ベクトル）を計算する（ステップＳ１６）。
【００４３】
次に、３Ｄモデル適合部４３が、ベクトル（Ｖ２）の大きさとベクトル（Ｖ１）の大きさが合うように、３Ｄモデル３ＤＭのスケールを実空間へ（ＳＬＡＭマップＭＡＰ１に）合わせる（ステップＳ１７）。ステップＳ１７において、３Ｄモデル適合部４３は、次式にて、３Ｄモデル３ＤＭのスケールｖ２＿ｓｃａｌｅを変更する。次式において、｜ｖ１→｜はベクトル（Ｖ１）の大きさを表し、｜ｖ２→｜はベクトル（Ｖ２）の大きさを表す。
【００４４】
【数１】
2020166424.tif 000003
【００４５】
次に、３Ｄモデル適合部４３が、図６および図７に示すように、ベクトル（Ｖ１）とベクトル（Ｖ２）の法線ベクトル（ＶＮ）まわりに３Ｄモデル３ＤＭを回転し、３Ｄモデル３ＤＭの第２モデル基準点ＭＲＰ２を実空間の第２実基準点ＲＲＰ２へ合わせる（ステップＳ１８）。図６は回転前、図７は回転後の３Ｄモデル３ＤＭを示す。
【００４６】
次に、マーカ認識部４２が、実空間にて（ＳＬＡＭマップ上で）第３基準点（第３実基準点）を認識する（ステップＳ１９）。
【００４７】
次に、３Ｄモデル適合部４３が、ステップＳ２０〜ステップＳ２２の処理にて、図８に示すように、第３基準点（第３実基準点ＲＲＰ３と第３モデル基準点ＭＲＰ３）を用いてベクトル（Ｖ１）のロール角を補正する。
【００４８】
すなわち、３Ｄモデル適合部４３が、図９に示すように、第３実基準点ＲＲＰ３からベクトル（Ｖ１）へ直交する点ｈ１の座標（Ｈ１ｘ，Ｈ１ｙ，Ｈ１ｚ）と３Ｄモデル３ＤＭの第３モデル基準点ＭＲＰ３からベクトル（Ｖ１）へ直交する点ｈ２の座標（Ｈ２ｘ，Ｈ２ｙ，Ｈ２ｚ）を計算する（ステップＳ２０）。ここで、点ｈ１は第３実基準点ＲＲＰ３からベクトル（Ｖ１）に垂線を下ろしたときのその垂線とベクトル（Ｖ１）の交点（垂線の足）であり、点ｈ２は第３モデル基準点ＭＲＰ３からベクトル（Ｖ１）に垂線を下ろしたときのその垂線とベクトル（Ｖ１）の交点（垂線の足）である。
【００４９】
次に、３Ｄモデル適合部４３が、図９に示すように、座標（Ｈ１ｘ，Ｈ１ｙ，Ｈ１ｚ）と座標（Ｈ２ｘ，Ｈ２ｙ，Ｈ２ｚ）の座標の差分（図１０（ａ））を３Ｄモデル３ＤＭの第３モデル基準点ＭＲＰ３の座標へ加算する（ステップＳ２１）。
【００５０】
次に、３Ｄモデル適合部４３が、図１０（ｂ）、図１１および図１２に示すように、３Ｄモデル３ＤＭの第３モデル基準点ＭＲＰ３を第３実基準点ＲＲＰ３へ合わせるように、ベクトル（Ｖ１）まわりに３Ｄモデル３ＤＭを回転する（ステップＳ２２）。図１２に示すように、上述した処理（ステップＳ１３〜Ｓ２２）によって、大きさ、位置および姿勢を補正した後は、第１〜第３実基準点ＲＲＰ１〜３と第１〜第３モデル基準点ＭＲＰ１〜３が一致している。
【００５１】
次に、作業情報重畳部４４が、補正した３Ｄモデル３ＤＭの位置情報を基に作業ナビゲーション情報を表示する（ステップＳ２３）。
【００５２】
なお、ステップＳ２０とステップＳ２１の処理は、ＳＬＡＭマップＭＡＰ１の作成の際等に生じた誤差によって発生する場合がある点ｈ１と点ｈ２のずれを修正するための処理である。したがって、ステップＳ２０とステップＳ２１の処理は省略してもよい場合がある。
【００５３】
次に、図１３〜図１６を参照して、表示部３の表示例について説明する。図１３〜図１６は、図１に示す表示部３の表示例を示す模式図である。図１３は、構造物１０ａに対する塗布剤の塗布作業を例とする場合の表示部３の表示例を示す。図１３に示す表示部３には、構造物１０ａの撮影画像が表示されるとともに、作業支援情報として、塗布剤の仕様２１ａと塗布位置２１ｂが構造物１０ａの画像に重畳して表示されるとともに、他の塗布剤の仕様２１ｃと塗布位置２１ｄが構造物１０ａの画像に重畳して表示されている。なお、塗布位置２１ｂと塗布位置２１ｄについては、図１３では網掛けして塗布領域を示しているが、構造物１０ａと異なる色を用いて塗布領域を透過的に表示することができる。
【００５４】
図１４は、表示する情報の内容を作業者が設定するためのメニュー画面の例を示す。図１４に示す例では、構造物１０ａの画像に重畳して、メニュー画面２２ｅが表示されている。メニュー画面２２ｅでは、作業支援情報の表示の有無の設定（「ナビゲーション表示」のチェックボックスによる設定）、使用する材料等を限定する（当該材料等を使用する作業のみを表示する）ためのフィルタ設定（「Ｅａｙ  ｓｅａｌ」のチェックボックスと「Ｆｉｌｌｅｔ  ｓｅａｌ」のチェックボックスによる設定）、３Ｄモデルを重畳表示するか否かの設定（「背面表示」のチェックボックスによる設定）、材料等の仕様を選択するための層別設定（「ＰＥＣ５５４５」のチェックボックス等による設定）を用いて表示内容を任意に設定することができる。また、メニュー画面２２ｅで「作業詳細」の「配置」が選択された場合、図１５に示すような作業詳細を表す情報２２ｆが別画面で表示される。また、メニュー画面２２ｅで「マーカーマップ」の「表示」が選択された場合、図１６に示すようなマーカＭ１〜Ｍ８の位置確認用の図面２２ｇが別画面で表示される。
【００５５】
以上のように、本実施形態によれば、マーカを用いた３点での位置合わせを採用したモデル重畳手法によって、高精度かつ幅広い環境で作業ナビゲーションが実現できるようになった。すなわち、本実施形態によれば、例えば撮影画像に作業支援情報を重畳して表示する際に表示位置誤差を小さくすることができる。したがって、ＡＲ技術と位置補正手法を組み合わせることで、実機に対して、重畳して高精度に作業指示および作業箇所等を表示することで、生産現場における作業箇所の特定が容易になり、誤認識を削減することができる。
【００５６】
なお、マーカは、上述したように、シンボル、１次元コード、２次元コードもしくは身振りの１もしくは複数の組み合わせ等、撮影部３で撮影可能な印（第１種マーカとする）とすることができるほか、所定の音、所定の磁気、もしくは所定の電波の１もしくは複数の組み合わせと第１種マーカとの組み合わせから構成してもよい。例えば、所定の音をマーカとする場合、騒音等、特定の装置の近くで発生する音を取得した際にマーカの位置の推定を行うことができる。また、所定の磁気をマーカとする場合、特定の装置の近く、もしくは、別途設置する機器で発生する磁気を取得した際に、マーカ位置の推定を行うことができる。また、所定の電波をマーカとする場合、近距離無線通信ビーコンなどの電波機器を配置しておき、ビーコン電波を受信した際に、マーカ位置の推定を行うことができる。なお、ジェスチャ認識については、例えば、ユーザーがマーカ位置の近く実施するジェスチャ（例えば親指と人差し指を近づける動作）を認識した際に、マーカの位置推定を行うことができる。
【００５７】
以上、この発明の実施形態について図面を参照して説明してきたが、具体的な構成は上記実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計変更等も含まれる。
【００５８】
なお、本発明は、表示制御装置や表示制御方法に限られず、構造物の形状を模して仮想空間上に構築された３Ｄモデルを、前記構造物が映された撮影画像に対して（実空間に対して）位置合わせする方法であって、前記構造物の所定位置に付された第１マーカを読み取って、実空間上における前記第１マーカの位置である第１実基準位置を特定するステップと、前記３Ｄモデルの前記第１マーカに対応する位置である第１モデル基準位置を、前記実空間上の前記第１実基準位置に一致させるステップと、前記構造物の所定位置に付された第２マーカを読み取って、前記実空間上における前記第２マーカの位置である第２実基準位置を特定するステップと、前記第１モデル基準位置と、前記３Ｄモデルの前記第２マーカに対応する位置である第２モデル基準位置とを結ぶモデル基準ベクトルが、前記実空間上における前記第１実基準位置と前記第２実基準位置とを結ぶ実基準ベクトルに一致するように、前記３Ｄモデルのスケール及び姿勢を変更するステップと、前記構造物の所定位置に付された第３マーカを読み取って、前記実空間上における前記第３マーカの位置である第３実基準位置を特定するステップと、前記３Ｄモデルの前記第３マーカに対応する位置である第３モデル基準位置が、前記実空間上における前記第３実基準位置と一致するように、前記３Ｄモデルを前記モデル基準ベクトルの周りに回転させるステップと、を含む位置合わせ方法として利用することができる。
【００５９】
〈コンピュータ構成〉
図１８は、少なくとも１つの実施形態に係るコンピュータの構成を示す概略ブロック図である。
コンピュータ９０は、プロセッサ９１、メインメモリ９２、ストレージ９３、インタフェース９４を備える。
上述の表示制御装置１は、コンピュータ９０に実装される。そして、上述した各処理部の動作は、プログラムの形式でストレージ９３に記憶されている。プロセッサ９１は、プログラムをストレージ９３から読み出してメインメモリ９２に展開し、当該プログラムに従って上記処理を実行する。また、プロセッサ９１は、プログラムに従って、上述した各記憶部に対応する記憶領域をメインメモリ９２に確保する。
【００６０】
プログラムは、コンピュータ９０に発揮させる機能の一部を実現するためのものであってもよい。例えば、プログラムは、ストレージに既に記憶されている他のプログラムとの組み合わせ、または他の装置に実装された他のプログラムとの組み合わせによって機能を発揮させるものであってもよい。なお、他の実施形態においては、コンピュータは、上記構成に加えて、または上記構成に代えてＰＬＤ（Programmable Logic Device）などのカスタムＬＳＩ（Large Scale Integrated Circuit）を備えてもよい。ＰＬＤの例としては、ＰＡＬ(Programmable Array Logic)、ＧＡＬ(Generic Array Logic)、ＣＰＬＤ(Complex Programmable Logic Device)、ＦＰＧＡ（Field Programmable Gate Array）が挙げられる。この場合、プロセッサによって実現される機能の一部または全部が当該集積回路によって実現されてよい。
【００６１】
ストレージ９３の例としては、ＨＤＤ（Hard Disk Drive）、ＳＳＤ（Solid State Drive）、磁気ディスク、光磁気ディスク、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、ＤＶＤ−ＲＯＭ（Digital Versatile Disc Read Only Memory）、半導体メモリ等が挙げられる。ストレージ９３は、コンピュータ９０のバスに直接接続された内部メディアであってもよいし、インタフェース９４または通信回線を介してコンピュータ９０に接続される外部メディアであってもよい。また、このプログラムが通信回線によってコンピュータ９０に配信される場合、配信を受けたコンピュータ９０が当該プログラムをメインメモリ９２に展開し、上記処理を実行してもよい。少なくとも１つの実施形態において、ストレージ９３は、一時的でない有形の記憶媒体である。 
【符号の説明】
【００６２】
１  表示制御装置
２  撮影部
３  表示部
４  処理部
５  記憶部
４１  ＳＬＡＭマップ作成部
４２  マーカ認識部
４３  ３Ｄモデル適合部
４４  作業情報重畳部
５１  ３Ｄモデル情報
５２  ＳＬＡＭマップ情報
５３  作業手順書情報
５４  作業ナビゲーション情報
５５  作業毎マーカ情報
４２１  第１の位置認識部
４２２  第２の位置認識部
４２３  第３の位置認識部
４３１  位置設定部
４３２  モデル変更部
４３３  モデル回転部
Ｍ１１、Ｍ１２、Ｍ１３  マーカ
【図１】
2020166424.tif 000004
【図２】
2020166424.tif 000005
【図３】
2020166424.tif 000006
【図４】
2020166424.tif 000007
【図５】
2020166424.tif 000008
【図６】
2020166424.tif 000009
【図７】
2020166424.tif 000010
【図８】
2020166424.tif 000011
【図９】
2020166424.tif 000012
【図１０】
2020166424.tif 000013
【図１１】
2020166424.tif 000014
【図１２】
2020166424.tif 000015
【図１３】
2020166424.tif 000016
【図１４】
2020166424.tif 000017
【図１５】
2020166424.tif 000018
【図１６】
2020166424.tif 000019
【図１７】
2020166424.tif 000020
【図１８】
2020166424.tif 000021