図1は、一実施形態に係るAR情報表示装置の機能ブロック図である。AR情報表示装置20は、撮影部1、認識部2、生成部3、表示部4及び記憶部5を備える。各部1〜5の概略的な機能は以下の通りである。
撮影部1は、ユーザの撮影操作によってAR表示が行われる対象となる現実世界の撮影を行い、得られた撮影画像を認識部2へと出力する。枝分れしている点線L1で示すように、いくつかの実施形態においては撮影部1の得た撮影画像は認識部2のみならず、生成部3へも出力される。なお、撮影部1では映像(動画像)として時間軸上において所定レートで連続的に撮影を行い、各時刻のフレーム画像としての撮影画像が認識部2(及び実施形態によっては生成部3)へと出力される。撮影部1を実現するハードウェアとしては、通常のデジタルカメラを用いることができる。
認識部2では撮影部1で得られた撮影画像を解析して、予め記憶部5に登録されている複数の対象の各々を当該撮影画像内から認識すると共にその現実世界における位置及び姿勢を推定し、認識結果(推定された位置及び姿勢も含む)を生成部3へと出力する。認識部2による当該処理には、AR技術分野の既存技術を用いることができる。
すなわち、認識処理に関しては、例えばSIFT特徴量のような特徴点周辺で定義される局所特徴量などを利用することで、撮影画像のどの箇所にどの対象が存在しているかを、すなわち、各対象のスクリーン座標系での座標配置を特定することができる。ここで、各対象の局所特徴量は予め記憶部5に登録しておき、認識部2では撮影画像から局所特徴量を抽出し、記憶部5に記憶されている各対象の局所特徴量と照合することで、いずれの対象が撮影画像内に存在するかを認識することができる。さらに、認識できた対象の所定の点の座標位置をワールド座標系からスクリーン座標系に変換するためのホモグラフィ行列を求めることができる。当該ホモグラフィ行列を求めることを可能にするため、記憶部5では各対象につき、所定のワールド座標系における4点以上の点の位置を予め記憶しておく。なお、AR分野において周知のように、ホモグラフィ行列を求めることは、撮影部1を構成するカメラに対する認識できた対象の位置姿勢を推定することに相当する。
生成部3は、認識部2で得られた認識結果に基づき、目標対象の所定の点のスクリーン座標系の位置を取得もしくは推定して誘導情報を生成する。その際、目標対象を認識できない場合は、目標対象の近傍に存在する、認識できた対象の所定の点のホモグラフィ行列を使用する。記憶部5に記憶した各対象の所定の点のワールド座標系の位置情報を前記ホモグラフィ行列で変換することにより、同一状況下における目標対象の所定の点のスクリーン座標系の座標位置を推定することができる。生成部3は、前記取得もしくは推定した目標対象の位置に基づき誘導情報を生成して、表示部4へと出力する。表示部4は、認識部2により当該得られた誘導情報をユーザに対してAR表示として表示する。
本発明においては特に、認識部2では目標対象が認識されていない場合、すなわち、撮影部1では目標対象が撮影されていない場合(なお、目標対象が撮影されているがノイズ等の影響による認識部2の認識処理エラーで認識できない場合もありうるが、ここでは考慮外とする)において、認識部2で認識されている目標対象以外の対象に基づいて、生成部3が誘導情報を生成し、当該誘導情報を表示部4がAR表示することで、ユーザに対する直感的な誘導を実現することができる。なお、誘導情報の例としては矢印や目標対象を囲む太枠などのアイコンを用いたAR表示情報がある。その詳細は後述する。
ここで、表示部4は、AR技術において用いられる既存の各種の表示態様によって、撮影部1で得られた撮影画像に(位置関係などを)関連付けられたものとして誘導情報を表示することができる。
一実施形態では、図1(及び後述の図2)に点線L1で示すように、撮影部1で得られた撮影画像を生成部3において受け取り、生成部3では当該撮影画像に対してAR表示による誘導情報を重畳したうえで、表示部4へと出力し、表示部4では撮影画像に当該誘導情報が重畳されたものを表示するようにしてよい。この場合、表示部4を実現するハードウェアとしては、液晶ディスプレイその他の通常のディスプレイを用いることができる。この場合また、AR情報表示装置20は例えば、タブレットその他のカメラ及びディスプレイが付属する情報端末装置で実現することができる。
また、別の一実施形態では、AR情報表示装置20をヘッドマウントディスプレイ等として実現し、表示部4を実現するハードウェアとして、当該ヘッドマウントディスプレイ等で用いられるシースルー型ディスプレイを用いてもよい。この場合、既存技術に従って撮影部1で得られる撮影画像の視界とシースルー型ディスプレイを介したユーザの視界とを対応付けておき、ユーザがシースルー型ディスプレイを介して眺める現実世界に、シースルー型ディスプレイによってAR情報としての誘導情報を重畳し、ユーザに提示することができる。またこの場合、図1(及び後述の図2)に点線L1で示される、撮影部1で得られた撮影画像を生成部3へと出力する流れは省略される。
なお、図1(及び後述の図2)に点線L3として示すように、いくつかの実施形態においては、生成部3は当該誘導情報を生成した際の状況判断に応じた指示情報を認識部2へと出力し、認識部2において当該指示情報に従った認識処理を行わせるようにしてもよい。例えば、ある時点において既に認識部2によって認識された特定の対象に関して、以降の時点では例えばテンプレートマッチングを用いたトラッキングによる追跡を行わせるようにし、局所特徴量を用いた認識を省略させるようにする旨の指示情報を、生成部3から認識部2へと通知するようにしてもよい。
記憶部5は、認識部2における各対象の認識処理及び位置姿勢の推定処理と、生成部3における誘導情報の生成処理と、に必要な情報を予め管理者等によって登録されたものとして記憶しておき、認識部2及び生成部3が処理を行う際に必要となる情報を記憶情報として提供する。
例えば、前述の通り認識部2では撮影画像から複数の対象(そのうちの1つが目標対象である)の各々を認識し位置姿勢を推定するが、この際に必要となる各対象の認識用の特徴量(局所特徴量など)と、所定のワールド座標における座標位置情報とを記憶部5が記憶している。
一実施形態では、記憶部5に登録して記憶させておく各対象i(i=0,1,2,...とし、ここでは対象の識別子としてiを用いる)の位置及び姿勢は、AR技術分野において周知の正方マーカ等の登録におけるのと同様に、ワールド座標系における対象iの四方の点の位置((x0i, y0i,z0i), (x1i,y1i,z1i),(x2i,y2i,z2i),(x3i,y3i,z3i))として登録しておくことができる。(なお、周知のように、四方の点の位置は必ずしも正方形を形成している必要はなく、画像上で検出される4点と当該登録しておく4点との座標を互いに変換するホモグロフィ変換を算出可能な任意の4点を登録しておくことができる。また、4点より多くの点を登録してもよい。)
また、個々の対象iについての、始点候補(当該始点などに関しては後述する)になるための優先順位度(ε0,ε1,ε2,ε3, ..., εi, ...)や、その他始点候補を選択するための種々の閾値も予め記憶部5に登録しておくことができる。その他、記憶部5に登録して記憶させておく個別の記憶情報の詳細については、認識部2及び生成部3の処理内容の詳細説明の際に適宜説明する。
図2は、一実施形態に係る生成部3の個別機能を示した機能ブロック図である。生成部3は、判定部31、目標推定部32、終点決定部33、始点決定部34、現状保持部35及び情報生成部36を備える。各部31〜36の概略的な機能は以下の通りである。
まず、判定部31は、認識部2から得られた認識結果が次のいずれのケースに該当するかを判定する。
(ケース1)…撮影画像において少なくとも1つの対象が認識されており、且つ、当該認識された対象の中には目標対象は存在しない。
(ケース2)…撮影画像において少なくとも1つの対象が認識されており、且つ、当該認識された対象の中に目標対象が存在し、且つ、当該目標対象は、表示部4による表示範囲内に存在している。
(ケース3)…撮影画像において少なくとも1つの対象が認識されており、且つ、当該認識された対象の中に目標対象が存在し、且つ、当該目標対象は、表示部4による表示範囲内には存在しない。
(ケース4)…撮影画像において対象が全く認識されていない。
図3はケース2とケース3の区別を説明するための例を示す模式図である。図3では、撮影部1による撮影範囲R1が撮影画像の矩形範囲として示され、さらに、表示部4による表示範囲R4(すなわち、生成部3が生成する誘導情報を表示し得る範囲)が当該矩形範囲の内部に含まれることで当該矩形範囲より狭い範囲として(スクリーン座標系において)示されている。このように、撮影範囲R1の方が表示範囲R4よりも広くなるという構成は、例えばAR情報表示装置20をヘッドマウントディスプレイによって実装し、表示部4をそのシースルー型ディスプレイとして実装する場合に、実装態様によっては該当しうる構成である。
そして、図3の例では、表示範囲R4内(同時に撮影範囲R1内である)に、1つの認識された対象O2が存在しており、撮影範囲R1内且つ表示範囲R4外に1つの認識された対象O3が存在している例が示されている。もし対象O2が目標対象であるならば、ケース2に該当する。一方、もし対象O3が目標対象であるならば、ケース3に該当する。
なお、以上の図3の例からも明らかなように、図3の例とは異なり仮に撮影範囲R1と表示範囲R4とが一致するという関係にあれば、ケース3に該当する状況が発生することはない。従って、例えばAR情報表示装置20をカメラ及び当該カメラ画像の全域を表示するディスプレイを有したタブレット等によって実装し、撮影範囲R1と表示範囲R4とが一致するように実装している場合には、判定部31ではケース3に該当するか否かの判定を省略してもよい。
情報生成部36は、判定部31が判定したケース1〜ケース4及び認識部2の認識結果に応じた誘導情報を生成し、(生成部3における最終的な出力として)表示部4へと出力する。目標推定部32、終点決定部33、始点決定部34、現状保持部35の各部32〜35(の任意の一部又は全部)は、情報生成部36が誘導情報を生成する際に必要となる各種の要素的な処理を、判定部31が判定したケース1〜ケース4及び認識部2の認識結果に応じて実施し、処理結果を情報生成部36に提供する。情報生成部36では当該提供された処理結果に基づいて状況に応じた誘導情報を生成することができる。
各部32〜35の処理内容の概要は以下の通りである。なお、以降において説明するように、各部32〜35の処理内容に基づいて情報生成部36が誘導情報を生成する実施形態に関しては種々のものが可能である。
目標推定部32では、ケース1に該当する場合に、撮影画像内に存在しない目標対象の位置(撮影画像の範囲外のスクリーン座標系の位置)を、撮影画像内に存在する目標対象以外の、認識に成功した対象に基づいて推定する。
終点決定部33は、誘導情報を構成する矢印の終点位置(矢印における矢先の位置)を、目標推定部32による推定結果などに基づいて決定する。始点決定部34は、誘導情報を構成する矢印の始点位置(矢印における根本(矢先の逆の側)の位置)を決定する。
終点決定部33が終点を決定し、始点決定部34が始点を決定する実施形態においては、情報生成部36は、当該決定された終点及び始点をそれぞれ矢先及び根本とした矢印(表示部4で各態様によって表示される「矢印の画像」であるが、以下では単に「矢印」と称する。)を生成して、目標対象へと誘導するための誘導情報とすることができる。
現状保持部35は、情報生成部36が俯瞰図によって誘導情報を構成する際の実施形態において利用されるものであり、当該俯瞰図において現時点のユーザが見ている対象(すなわち、現時点において撮影部1により撮影され認識部2により認識されている対象)がいずれであるかを、現状情報として保持し、リアルタイムで更新する。情報生成部36では当該実施形態において、現状情報を参照することで、現時点でユーザが認識している対象を現時点ではユーザが認識していない対象と区別して表示するものとして、現時点のユーザの視界範囲が反映された俯瞰図の情報を生成し、これに基づく誘導情報を生成することができる。
図4は、以上のような図1及び図2のように構成されるAR情報表示装置20によって、撮影画像における対象の認識状況に応じて生成され表示される誘導情報の模式的な例を示すための図である。
図4では上段側に、AR表示による誘導が行われる対象となる現実世界Wの模式的な例として、棚Rの前面に複数の認識されるべき対象O11〜O63が配置されていることが描かれている。そして、当該現実世界WにおいてAR情報表示装置20を用いて撮影を行うユーザUが位置P1で撮影している場合と位置P2で撮影している場合とにおける誘導情報G1,G2の模式例が、上段側の現実世界Wとは区別して、下段側に示されている。すなわち、下段側は現実世界Wそのものの模式例ではなく、当該現実世界Wに関して生成される誘導情報の模式例を示すものである。図4にて上段側に示す現実世界WにいるユーザUは棚Rの側を向いてAR情報表示装置20を用いた撮影を行っており、当該撮影によってAR情報表示装置20上に得られる誘導情報G1,G2が、上段側の現実世界Wとは区別して、図4の下段側に示されている。(図4において、下段側は現実世界Wを示すためのものではなく、ユーザUが下段側に向けて撮影を行っているのではないことに注意されたい。)
図4では、上段側の現実世界Wに存在する合計18個の対象O11〜O63は、概ね平面状となっている棚Rの前面に概ね碁盤の目状に配置されている例が示されており、これらの位置関係を説明するための便宜上、横方向(左から右へ向かう横方向)でi番目(1≦i≦6)、縦方向(上から下へ向かう縦方向)でj番目(1≦j≦3)の位置にある対象に「Oij」の符号を付与している。
当該対象O11〜O63のそれぞれは、記憶部5にその特徴情報及び互いに共通な所定のワールド座標系における位置姿勢が登録されることで、認識部2によりそれぞれ区別して認識可能となっている。また、当該対象O11〜O63のうちの所定の一つがユーザを誘導すべき目標対象であり、目標対象である旨の識別情報も、その他の目標対象ではない対象と区別して記憶部5に登録されていてもよい。図4の例では最も右端にありかつ中段にある対象O62が目標対象として登録されているものとする。なお、目標対象は記憶部5に事前登録しておくほかにも、ユーザや当該ユーザの指導者などがその場で設定するようにしてもよい。
本発明のAR情報表示装置20によれば、図4の模式例のように多数の対象O11〜O63が存在する中から目標対象O62へとユーザを直感的に効率よく誘導することが可能となる。
図4にてまず、最初の時点で位置P1から撮影しているユーザUは、その下段側に示すような撮影画像PC1を撮影する。撮影画像PC1には対象O11〜O63の少なくとも1つは含まれるが、目標対象O62は含まれていないので、ケース1に該当する。この場合、矢印A1が生成され、且つ、まだ目標対象には到達していない旨を表現することで、誘導情報G1が生成される。なお、目標対象には到達していない旨の表現の具体例は図4では特に示されていないが、テキストその他のARメッセージや矢印A1の生成の態様(色や形状など)として当該表現が可能である。矢印A1は、対象O22の辺りを始点とし、対象O42の辺りを終点として生成されたものである。従って誘導情報G1により、位置P1にいるユーザUに対して、現在は目標対象が見えていないが、より右側に行けば目標対象がある旨を効果的に伝えることが可能となる。
次に、誘導情報G1に誘導されて右側の位置P2に移ったユーザUは、その下段側に示すような撮影画像PC2を撮影する。撮影画像PC1には対象O11〜O63の少なくとも1つが含まれ、且つ、目標対象O62も含まれているので、ケース2に該当する。(ここでは説明簡略化の便宜上、AR情報表示装置20が前述のタブレット等で実装されケース3はないものとする。)この場合、矢印A2が生成され、且つ、既に目標対象O62に到達している旨を図示するような太枠で囲うなどの強調表示B2として生成することで、誘導情報G2が生成される。矢印A2は、対象O42の辺りを始点とし、目標対象O62の辺りを終点として生成されたものである。従って誘導情報G2により、位置P2にいるユーザUに対して、右側に移動したことで既に目標対象O62に到達したことと、画像PC2にあるいずれの対象が目標対象O62であるかを、効果的に伝えることが可能となる。なお、前述の誘導情報G1においては、誘導情報G2におけるような強調表示B2が生成されていないという表示態様の区別によって、目標対象O62には到達していない旨を表現することも可能である。
以上のように、本発明のAR情報表示装置20は、次のような効果を奏することができる。すなわち、目標対象がまだ認識されていない場合であっても、目標対象ではないその他の対象で認識されているものを活用することで、目標対象へとユーザを直感的に誘導することが可能である。
なお、図4の例では、撮影画像PC1,PC2内の全ての対象が認識されていることを理想的な場合の例として想定しているが、実際にはその少なくとも一部が認識されてさえいれば、本発明は図4の例と同様にユーザを目標対象へと直感的に誘導するという効果を奏することができる。撮影画像内の一部の対象のみが認識されている状況の例は後述する図11〜図13において紹介する。
図4のような状況が発生し、本発明のAR情報表示装置20の利用に好適な現実の例として、例えば次を挙げることができる。一例として、商品の陳列やピッキングなどでは、一定期間、商品を固定して配置するため、予め個々の対象物の相対的な位置を示す情報を測定して記憶部5に登録することができる。
具体的に例えば、対象は商品等の陳列における複数の引き出しが並んでいるそれぞれであり、ユーザが、目標の引き出しに対して、品物を投入したり、抽出したりする場合を考える。図4の例の対象O11〜O63が引き出しであるものとして、図4の例のように引き出しが広範囲に並ぶ場合、最初(位置P1にユーザがいる場合)、ユーザはどの方向や位置から引き出しを探したらいいのか見当がつかない。従って、直接目標とする引き出しを認識できない場合であっても、目標の対象物に到達するための何らかの情報が提供されると、ユーザにとっては都合がよい。そこで、本発明では、予め全対象物の相対位置(これらは共通座標系で登録された各対象の位置姿勢から求まる対象同士の相対的な位置姿勢で表現可能である。)を記憶部5に登録しておくことで、目標外の対象物を認識できた場合に、認識できた対象物から目標の対象物の位置を推測してユーザの視線を誘導することができる。すなわち、図4の例のように、位置P1の視線から位置P2の視線へとユーザUを誘導することができる。
同様の一例として、多数のサーバ等がラックに配置して並べられているサーバ室のメンテナンス作業を挙げることができる。その他、任意の類似する状況に対して本発明は好適である。
なお、図4の例では画像PC1,PC2として説明したが、対応する誘導情報G1,G2を提供されるユーザの立場においては、シースルー型ディスプレイ等で構成される表示部4による提供の場合は、景色PC1,PC2として知覚されることとなる。
また、以下の説明では、特段の断りがない限り、生成部3(図2では情報生成部36)により生成される誘導情報とは、表示部4が通常の液晶ディスプレイ等である場合は撮影画像に対して重畳する内容を、表示部4がシースルー型ディスプレイ等で構成される場合は景色に対して重畳される内容を、それぞれ意味するものとし、両方の場合で共通して重畳可能な内容である前提で、これらを特に区別せずに説明するものとする。ただし、前述のケース3の場合は、シースルー型ディスプレイに特化した誘導情報となる。
図5は、一実施形態に係るAR情報表示装置20の動作のフローチャートである。
まず、図5の全体的な構造を説明しておくと、ステップS12,S13,S21が判定部31によって前述のケース1〜ケース4を区別するステップに相当する。そして、ケース1に該当する場合、一連のステップS14〜S18が実行され、ケース2に該当する場合、一連のステップS26〜S28が実行され、ケース3に該当する場合、一連のステップS36〜S38が実行され、ケース4に該当する場合、一連のステップS47〜S48が実行される。
また、撮影部1で撮影した各時刻の撮影画像について図5のフローが適用されることで、各時刻の撮影画像がケース1〜ケース4のいずれに該当するかの判定が行われると共に、該当するケースに応じた適切な誘導情報が生成及び表示される。こうして、AR情報表示装置20を利用するユーザは、リアルタイムの撮影を行うことによりリアルタイムで生成(及び更新)される誘導情報が提供されることとなる。ここで、撮影部1による撮影のフレームレートや、これに応じて誘導情報を生成及び表示するレートに関しては、所望の設定を利用してよい。撮影部1が撮影する映像の全ての撮影画像につき逐次、誘導情報を生成及び表示してもよいし、撮影部1が撮影する映像からレートを所定割合で間引いたものを誘導情報の生成対象としたうえで、誘導情報の表示を行うようにしてもよい。
以下、図5の各ステップを説明しながら、AR情報表示装置20の各部の詳細(特に、誘導情報の生成及び表示に関する詳細)を説明する。なお、上記の全体構造の説明の通り図5のフローはケース1〜ケース4に分岐しているが、各ステップの説明はこの順番(ケース1→ケース2→ケース3→ケース4の順番)で行うこととする。
ステップS11では、撮影部1が現時刻における撮影を行って撮影画像を得ると共に、認識部2が当該現時刻の撮影画像に対して前述の認識処理を実施し、記憶部5に予め記憶されている複数の所定対象のうちいずれの対象が撮影されているかの特定と、撮影されている対象の位置姿勢の推定とを行うことで認識結果を得たうえで、ステップS12へと進む。
ステップS12では、判定部31が、上記のステップS11における認識結果において、少なくとも1つの対象(記憶部5に予め記憶されている対象)が認識されているか否かを判定し、肯定判定であれば、すなわち、少なくとも1つの対象が認識されていたのであればステップS13へと進み、否定判定であれば、すなわち、認識された対象が存在しなかったのであれば、ステップS47へと進む。
ステップS13では、判定部31が、上記のステップS11における認識結果において、認識された対象の中に目標対象があるか否かを判定し、肯定判定であれば、すなわち、目標対象が存在すればステップS21へと進み、否定判定であれば、すなわち、目標対象が存在しなければステップS14へと進む。
なお、前述の通り、記憶部5に記憶されている所定の複数の対象のうちの1つが予め目標対象として設定されて登録されているので、当該登録情報を参照することで判定部31はステップS13の判定を行うことができる。
以下、ケース1に該当する場合であるステップS14〜S18の説明を行う。
ステップS14では、目標推定部32が、撮影画像の範囲外にある目的対象の位置を推定するための、いわば足がかりとしての推定元対象を、ステップS11で認識に成功した対象の中から選択して、ステップS15へと進む。
ステップS14における目標推定部32による推定元対象の選択処理は、以下のように各種の実施形態が可能である。
第一実施形態では、記憶部5に記憶されている所定のワールド座標系における各対象の位置座標を参照することで算出される、目標対象からの距離が当該ワールド座標系において最小となるような認識された対象を推定元対象として選択することができる。なお、例えば前述のように各対象の四方(四隅)の空間座標を位置及び姿勢として登録している場合であれば、当該四方の点から計算される所定点(例えば重心)を各対象の位置として参照することができる。
第二実施形態では、ステップS11で対象を認識した際に併せて推定した位置姿勢における誤差(例えば平面射影変換行列を計算する際の数値計算上の所定の種類の誤差など)が最小となるような認識された対象を推定元対象として選択することができる。
第三実施形態では、第一実施形態で計算するワールド座標系での距離と、第二実施形態で計算する誤差と、に基づく総合スコアが最大となるような認識された対象を推定元対象として選択することができる。当該総合スコアの算出は、距離が小さいほど大きく、誤差が小さいほど大きく算出される所定の評価式を利用すればよい。
ステップS15では、目標推定部32がさらに、上記ステップS14で選択した推定元対象に基づいて、目標対象がスクリーン座標において占める位置を推定してから、ステップS16へと進む。なお、撮影画像には目標対象は存在しないため、当該推定される位置は、(ノイズ等に起因する位置姿勢計算上の大きな誤差などが発生していない限りは、すなわち、通常であれば)撮影画像のスクリーン座標における撮影画像の占める範囲から外れた位置となる。
ステップS15における目標対象のスクリーン座標の推定は次のようにすればよい。ここで、数式のための表現を次のように定める。推定元対象をi[推定元]というインデクスで、また目標対象をi[目標]というインデクスで、それぞれ識別するものとする。また、上記ステップS11の認識処理で推定元対象i[推定元]の撮影画像上の位置姿勢を表す平面射影変換行列が実測値としてH(実測)i[推定元]として求まっているものとする。また、対象i(任意の対象のインデクスをiとする)の撮影画像におけるスクリーン座標をqi、対象iの記憶部5に予め登録されているワールド座標をQiとする。
第一実施形態では、上記実測値として求まっているH(実測)i[推定元]がそのまま目標対象i[目標]の位置姿勢を近似的に表しているとの仮定により、目標対象i[目標]のスクリーン座標qi[目標]を以下のように求めることができる。
qi[目標]=H(実測)i[推定元]Qi[目標]
第二実施形態では、上記近似適用は行わず、以下のように目標対象i[目標]のスクリーン座標qi[目標]を以下のように求めることができる。
qi[目標]=T(i[推定元]→i[目標])H(実測)i[推定元]Qi[目標]
ここで、上記のT(i[推定元]→i[目標])は以下のように、記憶部5に予め登録されているワールド座標において推定元対象i[推定元]の座標Qi[推定元]を目標対象i[目標]の座標Qi[目標]に変換する行列として求めることができる。
Qi[目標]= T(i[推定元]→i[目標]) Qi[推定元]
ステップS16では、その次のステップS17で情報生成部36が誘導情報を生成するために必要になる各種の情報として、始点決定部34が始点を決定し、終点決定部33が終点を決定してから、ステップS17へと進む。
ステップS16において始点決定部34は、以下のような各実施形態のいずれかで、表示部4による2次元表示領域上にその位置が定義される始点を決定することができる。
第一実施形態では、上記ステップS14で選択された推定元対象のカメラ(撮影部1を構成するハードウェアとしてのカメラ)からの距離をγ、ユーザの視線距離をγ0、判定用の所定閾値をα0として、以下(1)、(2)の場合分けで始点を決定することができる。なお、距離γは推定元対象に関して認識部2で求めた位置姿勢から求めることができる。また、視線距離γ0の値は固定値を記憶部5に記憶しておいてもよいし、認識部2で認識され位置姿勢が求められた対象においてそれぞれ求まる距離の平均値や、認識された対象のうち撮影画像上の最も中心に近い位置にある対象において求まる距離を用いてもよい。
(1)|γ-γ0|≦α0である場合は、視点(スクリーン座標系で求まる視点)を始点とする。ここで、視点は表示部4の表示領域内における所定点(例えば中心)として予め設定しておいてもよいし、HMD等を利用する場合で視線センサが利用できる場合は当該視線センサにより取得された位置としてもよい。
(2)|γ-γ0|>α0である場合は、ワールド座標系において視点から最短距離にある認識された対象の中点(スクリーン座標系での中点)を始点とする。ここで、対象の中点は、対象の占める領域内の所定点(例えば重心)として予め設定しておけばよい。また、ワールド座標系における視点の位置は、前述の視線距離γ0の場合と同様に、固定位置を記憶部5に記憶しておいてもよいし、認識部2で認識され位置姿勢が求められた対象においてそれぞれ求まる位置の平均値や、認識された対象のうち撮影画像上の最も中心に近いスクリーン座標位置にある対象において求まるワールド座標位置を用いてもよい。
第一実施形態ではすなわち、目標対象に近い対象である推定元対象のワールド座標系での位置が視線のワールド座標系での位置に近い場合と遠い場合とで(1)、(2)の場合分けを行っている。そして、近い場合は視線位置がそのままユーザを誘導するガイドとなる位置(矢印の始点)として役立つものと判断し、遠い場合は視線位置に近い具体的な対象をガイドとなる位置(矢印の始点)に設定することで誘導をより確実にしている。
第二実施形態では、上記のような場合分けは行わず、以下(3)〜(7)のいずれかの設定に従って始点を決定することができる。
(3)上記第一実施形態の(1)の場合の設定を常に採用する。すなわち、視点を始点とする。視点に関しては上記第一実施形態で説明したのと同様の所定点又は視線センサにより求まる点とすればよい。
(4)上記第一実施形態の(2)の場合の設定を常に採用する。すなわち、ワールド座標系において視点から最短距離にある認識された対象の中点を始点とする。中点に関しては上記第一実施形態で説明したのと同様の所定点であり、以下の説明でも同様とする。
(5)上記ステップS14で選択された推定元対象の中点を始点とする。
(6)上記ステップS12で認識された対象のうち、周辺と特徴が異なることによる顕著度(saliency)が最も高い対象の中点を始点とする。ここで、顕著度の計算に関しては、平均色や色ヒストグラム、形状や向きの違いを比較する等の画像処理分野における既存手法を利用すればよい。なお、当該実施形態においては上記ステップS12において認識部2が顕著度の計算も追加処理として、認識された対象に関して実施するものとする。
(7)各対象iについて前述の通り記憶部5に優先順位度εiを登録しておき、上記ステップS12で認識された対象のうち、優先度εiが最大となる対象の中点を始点とする。なお、優先順位度は、ユーザ属性を反映したものとして(例えばユーザが熟知した対象ほど高い優先度順位を与えるなどして)予めテーブルとして記憶部5に登録しておいてもよいし、過去の誘導効果を示す操作履歴を用いて自動生成したり修正を行ったりしたものを記憶部5に登録しておいてもよい。
なお、上記(6)の顕著度の計算において、(7)で用いられるのと同様の優先順位度εiを参照することで、当該顕著度の計算を行うようにしてもよい。すなわち、(6)に従って、周辺と特徴が異なることによる対象の顕著度(saliency)を計算する際に、(7)において記録部5に各対象iについて登録されているのと同様の優先順位度εiを参照することで、優先順位度εiを個々の対象の顕著度を計算するときの重みづけとして使用してもよい。
上記のユーザ属性を反映した優先度順位の利用は、図4の模式例のように誘導対象のユーザが撮影部1による撮影がなされている現場に存在する状況のみならず、当該現場から遠隔に存在して現場の撮影ユーザに対して指示を与える役割を担う遠隔ユーザに対して誘導情報を提供するような状況においても、好適である。すなわち、遠隔ユーザの立場では撮影ユーザの視点は必ずしも重要であるとは限らず、当該遠隔ユーザの属性を反映した始点の設定が好ましいこともある。
また、ステップS16において終点決定部33は、以下のような各実施形態のいずれかで、表示部4による2次元表示領域上にその位置が定義される終点を決定することができる。
第一実施形態では、始点決定部34が決定した始点から、ステップS15にて目標推定部32が推定した目標対象のスクリーン座標へと至る直線(方向付の半直線)を引き、当該直線が表示部4による表示領域の境界(外枠部分)と交差する位置を、終点として決定することができる。
第二実施形態では、上記第一実施形態で求めた交差する位置よりも、所定量だけ当該直線上において表示領域の内部に戻った位置を、終点として決定することができる。
第三実施形態では、上記ステップS14で選択された推定元対象の中点を終点とすることができる。なおこの場合、終点と始点とが一致しないように、始点決定部34は上記(5)の実施形態以外を適用するものとする。また、第三実施形態は対象が多数存在することによって推定元対象の位置が表示領域外にある目標対象の位置へ向かうことを概ね示すものとして役立つ前提の実施形態であるため、始点位置を決定する実施形態は表示領域の概ね中心に始点が決定されるものを採用することが好ましい。
第四実施形態では、上記の第一又は第二実施形態によって決定される終点にスクリーン座標上で最も近い、認識部2で認識された対象の中点を終点として決定することができる。ここで、第一実施形態又は第二実施形態によって決定される終点と、認識部2で認識された対象のうち当該終点に最も近いものと、の距離(スクリーン座標上での距離)が所定閾値以下である場合に第四実施形態を適用し、当該閾値よりも大きい場合には第一実施形態又は第二実施形態で決定される終点を代わりに採用するようにしてもよい。
ステップS17では、情報生成部36が、撮影画像又は風景に重畳される矢印として誘導情報を生成してから、ステップS18へと進む。ここで、上記ステップS16で決定された始点及び終点をそれぞれ矢印の始点及び終点とすることで、誘導情報を構成する矢印を生成することができる。当該生成される矢印の情報は、始点及び終点を与えると矢印の形状が自動で決定されるような形状モデル情報等として、記憶部5に予め記憶しておけばよい。ステップS18では、表示部4が、当該生成された矢印としての誘導情報を撮影画像又は風景に重畳して表示する。
ステップS17,S18における誘導情報の生成及び表示に関して、以下のような各実施形態も可能である。
第一実施形態では、矢印の他にも、現状がケース1に該当する旨をユーザに伝達する情報を含めて誘導情報を生成して表示するようにしてもよい。例えば、目標対象にはまだ到達していないが、矢印の方に向かえば目標対象により近づく旨の情報をテキスト情報として与えてもよいし、あるいは表示する矢印の態様を(ケース2の場合とは異なる)所定態様とするようにしてもよい。
図6及び図7は、第二実施形態における矢印の表示態様を説明するための図である。図6に示すように、現実世界Wには図4の例と同様の複数の対象O11〜O63が、図4の例とは異なる配置、すなわち、その一部は棚R1の前面PR1に配置され、残りの一部は棚R1よりも位置P3で撮影しているユーザUから見て奥行き方向D3に離れた棚R2の前面PR2に配置されている。
図6の位置P3で撮影される画像PC3が図7に[1]〜[4]としてそれぞれ示され、[2]〜[4]に第二実施形態による矢印の表示態様の例が矢印A32,A33,A34として示されている。なお、画像PC3においては棚R1,R2の境界などの対象O11〜O63以外のものは描くのを省略している。
第二実施形態はすなわち、始点及び終点の決定をいずれかの対象の中点として決定する実施形態を採用したもとで可能な実施形態であり、始点として決定された対象のカメラ位置からの距離と、終点として決定された対象のカメラ位置からの距離との差(絶対値)が所定閾値以内にあるか否かによって、矢印の表示態様を変えるものである。なお周知のように、対象のカメラ位置からの距離の情報は、認識部2においてホモグラフィ行列として対象の位置姿勢を推定した際に既知となるため、当該既知となった距離の情報を参照することで、当該所定閾値以内にあるか否かの判定が可能となる。
図7の[2]に示す矢印A32と、[3]に示す矢印A33とは、当該距離差が閾値以内にあるため、第一態様として細い線の矢印を表示している。すなわち、矢印A32は始点が対象O32の中点、終点が対象O22の中点であり、共に図6の前面PR1にあるため距離差は小さい。同様に、矢印A33は始点が対象O43の中点、終点が対象O52の中点であり、共に図6の前面PR2にあるため距離差は小さい。一方、図7の[4]に示す矢印A34は、当該距離差が閾値を超えるため、第二態様として太い線の矢印を表示している。すなわち、矢印A34は始点が対象O32の中点であって図6の前面PR1上にあり、終点が対象O42の中点であって図6の前面PR2上であり、一方が前面PR1にありもう一方が奥行き方向D3で離れた前面PR2上にあるため距離差は大きい。
第二実施形態ではすなわち、矢印の始点と終点とでカメラ位置からの距離が大きく変化するような場合には、当該変化が少ない場合と区別して矢印表示を行うことで、ユーザに奥行き等の方向の距離変化の存在の有無を意識させた効果的な誘導が可能となる。また、始点又は終点の少なくとも一方が対象の中点として決定されていない実施形態においても、当該始点又は終点の少なくとも一方にスクリーン座標上で最も近い認識された対象のワールド座標によって当該始点又は終点の少なくとも一方のカメラからの位置を近似値として算出し、以上の第二実施形態を適用するようにしてもよい。
図8は、第三実施形態を説明するための図である。図8では図4と同様の対象O11〜O63が図4と同様の現実世界Wで棚Rに配置されており、棚の前面に位置するユーザが棚の前面の方を向いて撮影を行うことで、図8の[1]のような撮影画像PC4(又は景色PC4)が得られるものとする。(ただし、実際の撮影画像は図4と同様に、PC4に示す領域の一部のみしか捉えられないものとする。すなわち、PC4は仮想的なパノラマ画像であるものとする。)また、図8において目標対象は右上端の対象O61であるものとする。
この場合、仮に第三実施形態を適用せずに以上と同様に矢印を表示すると、ユーザの撮影の仕方に応じて[2]に示すような矢印が順次、ユーザに誘導情報として提供される。すなわち、最初は、棚の左下辺りを撮影しているユーザに対して対象O13から対象O32に至る矢印A41が提供され、矢印A41によって誘導されたユーザは撮影箇所を右上側へと移し、次には対象O32から目標対象O61へと至る矢印A42が提供される。こうしてユーザは目標対象O61へと到達できるようになる。
しかしながら、対象O11〜O63がこのように概ね碁盤の目状に並んでいる場合、すなわち各対象が概ね格子点状に並んでいる場合において、[2]のように斜めに横切る矢印は、場合によってはユーザに対する目標対象への直感的な誘導を幾分か混乱させてしまうことが考えられる。特に、対象同士の間隔が広かったり一定数以上の対象が存在したりする場合、当該混乱はさらに顕著になるものと考えられる。
そこで、第三実施形態においては、ある時点で認識されその中点が始点に設定された対象O13から目標対象O61へ至るための矢印が[2]のように斜めになってしまう場合には、これに代えて[3]のように格子点上を直線的に進む矢印A43,A44,A45を順次、与えるようにすることができる。すなわち、矢印A43は対象O13からほぼ水平横方向の対象O43へ至るものであり、矢印A44は対象O43からほぼ水平横方向の対象O63へ至るものであり、矢印A45は対象O63からほぼ垂直縦方向の対象O61へ至るものであり、[2]と比べてユーザが直感的に把握しやすい誘導情報が実現されている。なお、第三実施形態を適用する場合は、始点及び終点を決定する実施形態はいずれかの対象の中点として決定する実施形態を採用することが好ましい。
第三実施形態においては、記憶部5に予め、各対象i同士の位置関係情報を与えておき、ある時点でその中点が始点として設定された対象から目標対象へ直線的に至ると[2]のように「斜め」の矢印が発生すると判定された場合、「斜め」とならないような水平方向と垂直方向の2本の矢印の組合せに修正し、そのいずれかを誘導情報として表示することを繰り返して、ユーザを最終的な目標対象に到達させるようにすればよい。この際、繰り返しのn回目に表示する矢印の終点がその次のn+1回目に表示する矢印の始点となるようにすればよい。
第三実施形態では、始点決定部34が前述のいずれかの手法(第一実施形態の手法又は第二実施形態の(2)〜(7)のいずれかの手法)によって始点を決めた後に、水平方向の矢印と垂直方向の矢印を用いて誘導情報を生成することができる。
図10は、当該誘導情報の生成を説明するため配置などの例を示す図である。図示するように、図4等と同様の対象O11〜O63が配置され対象O23の中点が始点として決定され、目標対象はO61であるものとする。ここでは、図10内に示すように、+x方向が右向き、+y方向が上向きであるような座標(x, y)で位置を説明するものとする。
第三実施形態では具体的には、例えば次のようにして水平方向矢印及び垂直方向矢印による誘導情報を生成することができる。始点の位置にある対象(図10の例では対象O23)の中点の位置が(i0, j0)、目標対象(図10の例では対象O61)の中点の位置が(i1, j1)であり、i1≧i0 かつ j1≧j0という関係があるものとすると、最初に水平方向の矢印を表示する場合は、水平方向の矢印の始点の位置は(i0, j0)であり、表示領域の横幅をSwとすると、i0+Sw/2>i1の場合は終点の位置は(i1, j0)であり、i0+Sw/2<=i1の場合は、終点の位置は((i0+Sw/2), j0)である。これを繰り返す(繰り返し回数が1回の場合も含む)ことによって、すなわち、x軸方向にSw/2だけ視線を移動させることを繰り返すことによって、ユーザの視界内に(i1, j0)が出現した際に、表示する矢印を水平方向から垂直方向へ変えるよう制御する。変わった瞬間の垂直方向の矢印の始点は(i1, j0)であり、表示領域の縦幅をShとすると、j0+Sh/2>j1の場合は終点は(i1, (j0+Sh/2))であり, j0+Sh/2≦j1の場合は終点は(i1, j1)であるものとして、水平方向の際と同様に繰り返せばよい。なお、上述の説明では始点(i0, j0)は表示領域中心にあることを前提としている。(したがって、当該始点からx軸方向にSw/2よりも多く移動したり、y軸方向にSh/2よりも多く移動したりするような矢印の終点は、表示領域の外部となるため、そのような矢印は表示できない。)表示領域の中心からずれて(i0,j0)が存在する場合、初回の矢印表示の際に当該中心からのずれを修正する分の移動を加味して矢印を表示し、その後は上記と同様にすればよい。
なお明らかなように、当該説明において用いた始点及び終点の位置(x,y)とは、現実世界における複数の対象の並びを表現するための固定された仮想的なスクリーン座標(撮影部1で取得される撮影画像とは別途に、複数の対象の全てが概ね正面から撮影されるような十分に大きな撮影画像を考えた場合のスクリーン座標)における位置を意味するものである。当該位置(x,y)は、撮影部1で取得される撮影画像におけるスクリーン座標(ユーザ視点の移動に伴ってその原点が現実世界内で移動するもの)とは別概念のものである。すなわち、撮影画像上のスクリーン座標では例えばある時点で始点が位置(i0, j0)であってもカメラが(+Δx, +Δy)だけ動いた時点ではその位置は(i0-Δx, j0-Δy)と逆向きに移動するが、上記の説明においてはこのようにカメラと共に移動するスクリーン座標ではなく、カメラ位置によらず始点が(i0,j0)となるような固定された仮想的なスクリーン座標を説明に用いている。このような仮想敵なスクリーン座標の情報は、記憶部5に登録しておく各対象のワールド座標系における位置座標から算出することができる。
上記の例では最初に水平方向の矢印を繰り返し表示して視界内に(i1, j0)が出現するようにし、その後に垂直方向の矢印を繰り返し表示して目標対象の(i1, j1)へと到達するものとしたが、同様に、最初に垂直方向の矢印を繰り返し表示して視界内に(i0,j1)が出現するようにし、その後に水平方向の矢印を繰り返し表示して目標対象の(i1, j1)へと到達させるようにしてもよい。水平方向又は垂直方向の矢印のいずれを先に表示するかについては固定的な設定を予め与えておいてもよいし、始点(i0, j0)と終点(i1, j1)との位置関係等に応じて所定ルールで決定するようにしてもよい。例えば、|i0-i1|≧|j0-j1|である場合、すなわち始点(i0, j0)と終点(i1, j1)とを1つの対角線とする矩形が横長の形状である場合は水平方向の矢印を先に表示するようにし、そうでない場合(当該矩形が縦長である場合)は逆に垂直方向の矢印を先に表示するといった所定ルール(あるいはこの逆の所定ルール)を用いればよい。当該実施形態においては、記憶部5に登録しておく複数の対象は水平方向及び垂直方向の移動が定義できるように、互いの位置関係が概ね格子点状に定義されていることが好ましい。
あるいは当該判定は以下のようにして実施してもよい。
(1)認識できた対象と目標対象と間の距離が所定値α1以上離れている場合、又は、(2)認識できた対象と目標対象との間にα2個以上の対象が存在する場合、上記「水平」+「垂直」の組合せの場合に該当するものと判定する。ここで、(2)における認識できた対象と目標対象との間の対象物の個数は、後述する実施形態における、記憶部5に予め記憶しておく俯瞰図上において認識できた対象と目標対象との間に直線を引き、当該直線が通過した対象の個数として求めるようにしてもよいし、予め記憶部5に任意の2つの対象の間の対象の個数を登録しておいてもよい。(1)における距離も記憶部5に予め登録されている各対象のワールド座標での位置の情報を用いて計算することができる。なお、上記(1)、(2)における「認識できた対象」は、上記の図10で説明した際の始点が設定される対象とすればよい。
以上、ケース1に該当する場合であるステップS14〜S18の説明を行ったので、ケース2以降の説明へ移る。
ステップS21では、判定部31が、上記のステップS13で存在すると判定された目標対象が、上記のステップS11における認識結果において表示部4による表示領域の内部にあるか否かを判定し、肯定判定であれば、すなわち、目標対象が表示領域の内部に存在すればステップS26へと進み、否定判定であれば、すなわち、目標対象が表示領域の内部に存在しなければステップS36へと進む。
以下、ケース2に該当する場合であるステップS26〜S28の説明を行う。
ケース2のステップS26,S27,S28はそれぞれケース1のステップS16,S17,S18と共通であるため、重複する説明は省略する。ただし、ケース2では目標対象が認識され且つ表示領域内に存在しているので、ケース1の場合とは異なる次のような処理を行うことができる。
まず、ステップS26において終点決定部33は、既に認識されている目標対象の中点をそのまま、終点として決定すればよい。また、始点決定部34による始点の決定は省略されてもよいし、決定された始点が目標対象の中点となる場合に当該始点を省略するようにしてもよい。
また、ステップS26及びS27における情報生成部36による誘導情報の生成及び表示部4によるその表示においては、ケース1の場合に対する追加処理として、上記終点に設定された目標対象が目標のものであるものを示すような表示を行うようにしてもよい。例えば、目標対象である旨を示すテキスト情報を、上記終点として決定された目標対象の中点に重畳するようにしてもよい。その他、前述の図4の例で目標対象O62に対して重畳された太枠B2のようなアイコンを用いて強調表示などを与えるようにしてもよい。
また、始点決定部34による始点の決定を省略した場合は、矢印表示を省略して、上記のように目標対象である旨を示す情報のみで誘導情報が構成されるようにしてもよい。
以下、ケース3に該当する場合であるステップS36〜S38の説明を行う。
ケース3のステップS36,S37,S38はそれぞれケース1のステップS16,S17,S18と共通であるため、重複する説明は省略する。ただし、ケース3では目標対象が認識され且つ表示領域外に存在しているので、ケース1の場合とは異なる次のような処理を行うことができる。
まず、ステップS36において終点決定部33は、前述の第一実施形態を適用する場合、(ケース1におけるステップS15にて目標推定部32が推定した目標対象のスクリーン座標ではなく、)既に認識されている目標対象の中点へと、始点決定部34で決定された始点から至る線分を引き、当該線分が表示部4による表示領域の境界(外枠)と交わる点を終点として決定すればよい。同様に前述の第二実施形態を適用する場合、当該線分上で当該交点から表示領域の内部に所定量だけ戻った位置を終点とすればよい。また、ケース3の場合はケース1におけるステップS14で求まる推定元対象が存在しないため、ステップS36における終点決定部33の実施形態として前述の第三実施形態は除外してよい。
図9は、[1]にケース3における矢印の例を、[2]にケース2における矢印の例を、区別して示す図である。[1]では図3と同様の構成において表示領域R4内にある対象O2が始点に設定されるが、目標対象O3が表示領域R4の外部で且つ撮影領域R1内に位置しているために、矢印A5は表示領域R4の境界までしか表示できない形で、誘導情報G5が与えられる。一方、[2]では[1]の場合と異なり撮影領域R1と表示領域R4とが一致する関係にあるため、対象O2を始点として目標対象O3をそのまま終点とした矢印を表示することができる形で、誘導情報G6が与えられる。
また、ステップS36及びS37における情報生成部36による誘導情報の生成及び表示部4によるその表示においては、ケース1の場合に対する追加処理として、目標対象が既に視界内(撮影画像内)には存在している旨の表示を行うようにしてもよい。例えば、目標対象が視界内には存在している旨を示すテキスト情報を、上記終点又はその近辺に重畳するようにしてもよい。
以下、ケース4に該当する場合であるステップS47,S48の説明を行う。
ステップS47では、情報生成部36が誘導情報として、対象が全く認識されてない旨を表すテキスト情報などを生成し、ステップS48では当該情報を表示部が表示する。こうして、対象が全く認識されていない旨を誘導情報として生成し、ユーザに撮影箇所の再検討などを促すようにすることができる。あるいは、ステップS47,S48をスキップして、誘導情報を生成及び表示が行われないようにしてもよい。この場合も、誘導情報が全く表示されないことから、ユーザに撮影箇所の再検討などを促すようにすることができる。
以上、本発明によれば、複数の商品等の対象の中から目標対象を認識する際の難しさおよびセンサ使用時の高コスト問題を除去し、目標対象を認識できない場合であっても、他の認識できた対象の位置や姿勢情報から、表示画面上の目標対象の位置を推定し、目標の商品等に誘導する誘導情報を提供することが可能となる。
ここで、GPSその他の特別な位置センサではなく、カメラと画像認識AR技術を利用して対象物を認識することにより、設置コストを抑えるだけでなく、正確で詳細な状況変化に対応した誘導情報を提供することができる。特別な位置センサを使用したナビゲーションでは、ユーザの位置を基準とするが、本発明では、ユーザの状況や作業目的に応じて、ユーザの視線の位置および、ユーザが視界上で認識できた対象物の位置に基づいて誘導情報を提供することにより、よりユーザの直感に訴える誘導情報を提供できる。
以下、本発明の追加実施形態その他の補足説明を行う。
(1)図5のケース1におけるステップS16〜S18(及び対応するケース2,3の各ステップ)において、以上の実施形態では始点及び終点(実施形態及び場合によっては終点のみ、以下同様とする。)を決定したうえで撮影画像または風景に直接矢印などを重畳することで誘導情報を実現した。これに代えて、複数の対象の配置を2次元マップとしてモデル表示した俯瞰図上において始点及び終点を決定して、俯瞰図上に全く同様の矢印や各種メッセージ(目標対象に到達している旨のメッセージ等)を表示するようにしてもよい。すなわち、以上の実施形態において撮影画像または風景を用いていたのに代えて俯瞰図を用いて、その上での矢印などの重畳表示によって、誘導情報を構成するようにしてもよい。俯瞰図を使用すると、ユーザは視界領域だけではなく、対象全体の状態を把握することができるため、ユーザは目標の対象の位置を把握しやすくなる場合がある。
すなわち、俯瞰図を用いる実施形態は、重畳表示を行うための矢印等の決定は以上の実施形態と全く同様に可能であり、重畳表示が俯瞰図上においてなされる形で誘導情報が生成及び表示される点のみが異なる。ただし、俯瞰図を利用することを考慮した実施形態として、現状保持部35を適用することで、俯瞰図上においてユーザの認識領域が識別可能となるようにしてもよい。また、始点及び終点を決定する実施形態はいずれかの対象の中点として決定する実施形態を適用することで、俯瞰図上に予め定義されている対象の位置に矢印の始点及び終点を設定できるようにすることが好ましい。
図11は、俯瞰図によって誘導情報を構成する実施形態の模式例を、図4の例に対応するものとして示す図である。上段側に示すように、対象O11〜O63の配置を2次元配置でモデル化した俯瞰図情報OV0を予め作成して記憶部5に登録しておく。当該モデルは、図4の例であれば対象O11〜O63の配置されている棚Rを正面で見た際の平面配置モデルとして与えておき、記憶部5に登録しておくことができる。そして、下段側に示すように、当該俯瞰図上において矢印等を表示した情報OV1,OV2によって、下段側に示すような誘導情報G10,G20(図4の例に対応する別の実施形態としての誘導情報)を実現することができる。すなわち、図11の俯瞰図OV1において構成される誘導情報G10は図4の誘導情報G1と同様に、対象O22の中点を始点として対象O42の中点を終点とする矢印を含んでいる。また、図11の俯瞰図OV2において構成される誘導情報G20は図4の誘導情報G2と同様に、対象O42の中点を始点として対象O62の中点を終点とする矢印を含み、対象O62が目標対象である旨を示すアイコンによる強調表示がなされたものとなっている。
重畳される俯瞰図においては、現時点で視界に入って認識できている対象(撮影部1で撮影されており、認識部2で認識に成功している対象)をその他の対象として区別して表示することで、現時点の視界が俯瞰図上のどの辺りにあるのかをユーザに対して把握可能とさせるようにしてもよい。当該把握可能とさせる表示を可能とすべく、現状保持部35において現時点の撮影画像に関して認識部2で認識に成功している対象を保持し、リアルタイムで更新する。現状保持部35による当該更新結果を受けて情報生成部36が生成する俯瞰図としての誘導情報の例として、図11の情報OV1,OV2の例では、各位置P1,P2の時点における視界内の認識できている対象が白色表示として、認識できていない対象のグレー表示と区別して表示されている。
図11では特に、撮影画像内の全ての対象が必ずしも認識されていない状況の例が示されている。すなわち、撮影画像PC1内にはO11〜O43の12個の対象が存在するが、情報OV1においてはこのうちの半分のO21,O31,O22,O32,O23,O33のみが認識に成功したものとして白色表示されている。また、撮影画像PC2内にはO31〜O63の12個の対象が存在するが、情報OV2においてはこのうちの半分のO41,O51,O42,O52,O43,O53のみが認識に成功したものとして白色表示されている。
本発明においてはこのように認識部2において一部の対象が認識できていない場合であっても誘導情報の表示が可能である。図11の例は俯瞰図の例であったが、撮影画像又は視界に矢印を重畳する場合であっても同様に、認識部2が一部の対象しか認識できていなくとも誘導情報の表示が可能である。
また、図11の例のように認識できていない対象のそれぞれをグレー表示するという態様の他にも、俯瞰図上において認識できていない対象がある領域全体をグレー表示する、あるいは同様に、当該領域全体をメッシュ等で覆われているような形で表示するようにして、情報生成部36が誘導情報を生成してもよい。図12に、メッシュで覆われている形で表示する模式的な例を示す。図12では、[1],[2]にそれぞれ、図11の俯瞰図OV1,OV2において認識できていない対象をグレー表示していたのに代えて、同様のことを表現するものとして認識されていない対象をメッシュで覆って表示する模式例が示されている。その他にも、認識されている対象と認識されていない対象(現状保持部35により保持されている対象とそれ以外の対象)を俯瞰図上において区別するための任意の表示手法を用いてよい。
俯瞰図によって誘導情報を構成する実施形態においては、俯瞰図上には撮影画像や実際の景色とは異なり全ての対象の配置を表示することが可能であることから、撮影画像や実際の景色に矢印などを重畳する実施形態からの変更として、終点決定部33において終点を常に目標対象の中点として設定するようにしてもよい。こうして、情報生成部36で俯瞰図上に矢印を生成する場合、ユーザの視界範囲(撮影画像の範囲)の内部に終点が存在するか否かによらず、常に目標対象を矢印の終点とすることができる。この場合、矢印の終点が目標対象である旨を表現して、誘導情報を生成すればよい。
図13は、終点を常に目標対象の中点として決定する実施形態の模式例を示す図である。図11の実施形態の場合における誘導情報G10,G20に代えて、当該実施形態では図12の[1],[2]にそれぞれ示すような誘導情報G15,G25が生成される。すなわち、図13の[1]の誘導情報G15においては、ユーザの視界範囲の外部にある対象O62が太枠表示によって目標対象である旨が示されると共に、矢印の終点として設定されている。
(2)上記の俯瞰図上での矢印等の重畳と、撮影画像又は景色上への矢印等の重畳と、を組み合わせる、あるいは状況に応じて切り替える実施形態も可能である。例えば、認識された対象のうちカメラとの距離が最小のものの距離が閾値を超える場合(対象が全般的に遠いと判定される場合)、全体的な配置関係の把握をユーザに促すべく俯瞰図上での重畳を行うようにしてもよい。当該距離が閾値以下となった場合、ユーザ選択で俯瞰図又は直接重畳の両方又はいずれかを適用できるようにしてもよい。例えば、事前設定の一例として、当該距離が閾値以下となった場合、ユーザが見ている局所的な配置関係の把握をユーザに促すべく、直接重畳(又はこれと俯瞰図との組み合わせ)を用いるようにしてもよい。
また、上記切り替える判断を行うための距離は、上記の通り認識された対象のうちカメラとの距離が最小となるものの距離としてもよいし、その他の距離を採用してもよい。例えば、認識された全ての対象とカメラとのそれぞれの距離の平均としてもよいし、ケース1において(図5のステップS14,S15により)推定元対象に基づいて推定される目標対象とカメラとの距離としてもよいし、ケース2,3において位置が直接求まっている目標対象とカメラとの距離としてもよい。さらに、以上の距離はワールド座標における距離であったが、これに代えてスクリーン座標の距離を用いるようにしてもよい。
さらに、俯瞰図及び撮影画像を組み合わせて誘導情報を生成する実施形態においては、俯瞰図上の対象と撮影画像(HMDの場合の視界を含む。以下同様とする。)上の対象を対応づけるために、それぞれ対応する位置にアイコンを重畳してもよい。アイコンを重畳する位置は、一実施形態では撮影画像上では認識できた対象のうち最もスクリーン座標における視線の位置又はワールド座標におけるカメラ位置に近いものとして決定することができ、俯瞰図上でも該当する位置にアイコンを重畳すれば、ユーザは視界内の対象が俯瞰図内のどの対象に該当するのかの判断を迷わなくてすむ。すなわち、ある対象に関して、俯瞰図及び撮影画像両方において当該同一対象であるものとしてアイコン表示されるので、ユーザは直感的な把握が可能となる。また、アイコンの重畳に限らず、当該対象を俯瞰図上及び撮影画像上において識別可能とするその他の任意の表示態様を用いてもよい。
また、当該アイコンその他を重畳する所定対象の決定は、上記のような視線等に最も近い対象として決定する以外の実施形態でもよく、始点決定部34で始点を決定する際に、対象の中点として決定する実施形態における当該対象(例えば顕著性が最大の対象など)として決定してもよい。また、認識部2で決定された対象のうち任意の1つとしてもよい。さらに、2つ以上の対象に対して当該アイコンその他を重畳するようにしてもよいが、この場合は俯瞰図上におけるアイコンと撮影画像上におけるアイコンとがいずれの対象であるかを区別可能なように表示することが好ましい。すなわち、当該アイコンその他は対象のIDを識別可能なように、表示態様を変えるなどして与えることが好ましい。当該用いるアイコンその他の情報は記憶部5に予め登録しておけばよい。
(3)以上では誘導情報を始点から終点へと至る矢印で構成されているものとしたが、矢印に限らず、始点(又はその近傍)及び終点(又はその近傍)をユーザが認識可能な任意の表示態様によって誘導情報を構成するようにしてもよい。例えば始点には始点である旨のアイコンその他の重畳を行い、終点には終点である旨のアイコンその他の重畳を行うようにしてもよい。始点と終点を結ぶ表示を行う場合も、矢印以外の任意の態様を利用してよい。例えば始点から終点へ向けて直線(又は細長い矩形)を引き、当該直線上において始点から終点へと模様が移動しているアニメーション表示を与えるようにしてもよい。また、始点及び/又は終点を対象の中点として設定する実施形態においては、当該設定された対象の領域を例えば枠で囲うなどする形で視認可能とすることで、始点及び/又は終点であることを表示するようにしてもよい。当該始点及び/又は終点に対応する領域を視認可能とすることと、上記の矢印等によって始点及び終点の関係を認識可能とすることと、を組み合わせて誘導情報を構成するようにしてもよい。
(4)本発明は、コンピュータをAR情報表示装置20として機能させるプログラムとしても提供可能である。この場合本発明のAR情報表示装置20を、CPU、当該CPUにワークエリアを提供する一次メモリ、所定データやプログラム等を格納する二次記憶装置などを備えた一般的な構成のコンピュータによって構成すると共に、図1及び図2の各部の機能を、各機能に対応する所定プログラムを読み込んで実行するCPUによって実現することができる。また、図1及び図2の各部のうちの任意の一部分又は全部を、汎用的なCPUがプログラムを実行することによって実現するのに代えて、専用ハードウェア(専用LSIなど)によって実現するようにしてもよい。
(5)本発明は、図4の例のように記憶部5に予め登録されている対象の全てが1つの平面上に概ね配置されている場合や、図6の例のように対象をグループ分け(棚R1上にある対象のグループと棚R2上にある対象のグループに分ける)して、各グループに属する対象が1つの平面状に概ね配置されている場合に特に好適な誘導表示を実現するが、このような制約がなく各対象の配置が3次元空間内で任意のものである場合であっても本発明は適用可能である。
(6)本発明においては、誘導情報を構成する矢印を生成するための始点及び終点に関して、スクリーン座標上で位置を求めるものとし、矢印はスクリーン座標上での2次元的な方向を表現するものとして説明したが、これに代えて既存のAR技術やCG(コンピュータグラフィック)技術において用いられている3次元的な表示の矢印を用いるようにしてもよい。この場合、始点及び終点に関しては認識された対象の中点によって決定する実施形態を採用し、当該対象の中点のワールド座標での位置を用いることで、奥行き方向の表現をも含んだ3次元表示の矢印を生成すればよい。