図1は、一実施形態に係る情報端末装置の機能ブロック図である。情報端末装置1は、撮像部2、算出部3、判定部4、記憶部5、選別部6、保持部7、認識部8及び提示部9を備える。情報端末装置1には例えばスマートフォンその他の携帯端末を利用することができるが、撮像部2を備えたものであればどのような機器を利用してもよく、例えば、デスクトップ型、ラップトップ型又はその他のコンピュータなどでもよい。また、撮像部2以外の一部若しくは全てをサーバに設置し、情報を適宜通信でやり取りしてもよい。
図2は、一実施形態に係る情報端末装置1の動作のフローチャートである。以下、図2の各ステップを説明しながら、対応する図1の各部の機能の概要を、各部がデータを扱うタイミングの観点から説明する。扱うデータの詳細に関しては図2の各ステップの説明後に説明する。
ステップS1では、ユーザ操作等に従い、現時刻tにおいて撮像部2が撮像を実施し、現時刻tの撮像画像P(t)を取得してからステップS2へと進む。ステップS2では、当該取得された撮像画像P(t)より算出部3が一連の特徴情報F(t,i)(i=1,2,…)を算出してから、ステップS3へと進む。
ステップS3では、当該現時刻tにおいて取得された一連の特徴情報のうちの1つの特徴情報F(t,i)に対し、判定部4が記憶部5を参照して、可能な限り現時刻tに近い過去時刻t-k(k>0)に取得された特徴情報であって当該特徴情報F(t,i)に類似している特徴情報を検索する。当該検索された特徴情報をF(t-k,j)とすると、ステップS3にて判定部4はさらに、特徴情報F(t,i)と特徴情報F(t-k,j)とが類似しており互いに対応している旨の判定情報を取得してから、ステップS4へと進む。また、当該条件での検索に該当する特徴情報が見つからなかった場合は、当該特徴情報F(t,i)に関しては対応する特徴情報が存在しない旨を判定情報として取得してから、ステップS4へ進む。
なお、当該ステップS3における判定部4による検索が可能なように、記憶部5では一連の過去時刻t-k(k=1, 2, …)に取得された特徴情報(及び判定情報)を検索される対象の情報として記憶している。当該記憶は後述するステップS6にて実施される。
ステップS4では、現時刻tの撮像画像P(t)より算出された一連の特徴情報F(t,i) (i=1,2,…)の全てにつき、ステップS3で類似する特徴情報の検索がなされ判定情報の取得が行われたか否かが判定され、全ての特徴情報につき当該ステップS3での処理が完了していればステップS6へと進み、未処理の特徴情報F(t,i)が残っていればステップS5へ進む。
ステップS5では、未処理の特徴情報F(t,i)のうち1つを処理対象として定めた後、ステップS3に戻ることで、当該処理対象として定められた特徴情報F(t,i)に対する処理が継続される(なお、図2中、ステップS5に表記した「i++」は、特徴情報F(t,i)のインデクスiを未処理の特徴情報におけるものに更新することを表している。)
ステップS6では、記憶部5が、現時刻tにつきステップS2で算出された一連の特徴情報F(t,i)と、各特徴情報F(t,i)につきステップS3で取得された対応関係としての判定情報と、を自身における新たな記憶対象とすることで自身の記憶を更新してから、ステップS7へと進む。こうして、記憶部5では現時刻tまでの各時刻における一連の特徴情報及びこれに紐付く判定情報を記憶する。
なお、詳細は後述するように、ステップS6にて当該更新する際に、記憶部5では現時刻tから一定時間以上離れた過去の情報等については記憶対象から除外することで、自身の記憶を自身で利用可能な記憶容量の範囲内に収めるようにようにしてよい。
ステップS7では、選別部6が記憶部5を参照することで、現時刻tの撮像画像P(t)に対応する特徴情報を選別し、当該選別した特徴情報を認識部8へと出力したうえで、ステップS8へと進む。
当該選別に際して、記憶部5にて現時刻tまで記憶されている一連の特徴情報及び判定情報を参照することで、判定情報により定まる対応関係が多い特徴情報を選別することで、撮像部2における撮像の際の外乱に対して耐性を有する特徴情報を選別することができる。
図3は、当該選別の模式的な例を示す図である。図4は、図3の例において撮像画像内の認識対象(後述する認識部8で認識させる対象)を示す図である。図4に示すように、当該認識対象は、矢印状の模様を有し、外乱の影響を受けず適切に撮影がなされたのであれば、その7か所の頂点から特徴情報F1〜F7が算出されるような対象である。なお、後述する認識部8での認識を可能とすべく、後述する保持部7において特徴情報F1〜F7をリファレンス量R10として予め記憶している。
図3では、記憶部5が現時刻tとその2つ前までの過去時刻t-1,t-2との特徴情報及び判定情報を記憶している場合を例に、選別部6の選別によって外乱に対する耐性を有した特徴情報が選別される例が示されている。図3では横方向に時刻t-2,t-1,tが示され、上段部分に当該各時刻の撮像画像P(t-2),P(t-1),P(t)が示され、中段部分に撮像画像P(t-2),P(t-1),P(t)より算出された特徴情報が示され、下段部分に当該算出された特徴情報に対する対応関係としての判定情報が示されている。各時刻での各情報は以下の通りである。
時刻t-2では、撮像画像P(t-2)より中段部分に示すように図4の認識対象の特徴情報F1〜F7に対応する特徴情報F(t-2,1)〜F(t-2,7)が全て算出されているが、同時に星形で示すテカリによって認識対象の特徴情報ではない特徴情報F(t-2,11),F(t-2,12),F(t-2,13)も外乱として算出されている。
時刻t-1では、撮像画像P(t-1)より中段部分に示すように図4の認識対象の特徴情報7個のうち6個のF1〜F4,F6,F7に対応する特徴情報F(t-1,1)〜F(t-1,4),F(t-1,6),F(t-1,7)が算出されているが、テカリによって特徴情報F5に対応する特徴情報は算出不能となっており、また、テカリによって認識対象の特徴情報ではない特徴情報F(t-1,21),F(t-1,22),F(t-1,23)が外乱として算出されている。
時刻tでは、撮像画像P(t)には時刻t-2,t-1で発生していたのと同種のテカリの他、ボケも発生している。当該外乱の影響により、図4の認識対象の特徴情報7個のうち4個のみのF1,F3〜F5に対応する特徴情報F(t,1),F(t,3)〜F(t,5)が算出され、F2,F6,F7に対応する特徴情報は算出不能となっている。また、テカリによって認識対象の特徴情報ではない特徴情報F(t,31),F(t,32),F(t,33)が外乱として算出されている。
以上のような外乱がある状況でも、選別部6により図4の認識対象の特徴情報F1〜F7に対応する特徴情報を適切に選別可能となる例が、図3の下段部分に示されている。
すなわち、特徴情報F1に関しては、時刻t-1の時点で特徴情報F(t-1,1)及び特徴情報F(t-2,1)が対応付けられて判定情報が取得され、さらに時刻tの時点で特徴情報F(t,1)及び特徴情報F(t-1,1)が対応付けられて判定情報が取得される。これら一連の特徴情報及び判定情報から得られる一連の対応関係C1={F(t-2,1),F(t-1,1),F(t,1)}により、選別部6では特徴情報F1に対応する特徴情報を選別することができる。
選別部6では同様に、対応関係C2={F(t-2,2),F(t-1,2)}より特徴情報F2に対応する特徴情報を選別し、対応関係C3={F(t-2,3),F(t-1,3),F(t,3)}により特徴情報F3に対応する特徴情報を選別し、対応関係C4={F(t-2,4),F(t-1,4),F(t,4)}により特徴情報F4に対応する特徴情報を選別し、対応関係C5={F(t-2,5),F(t,5)}により特徴情報F5に対応する特徴情報を選別し、対応関係C6={F(t-2,6),F(t-1,6)}により特徴情報F6に対応する特徴情報を選別し、対応関係C7={F(t-2,7),F(t-1,7)}により特徴情報F7に対応する特徴情報を選別することができる。
選別部6ではまた、認識対象ではなくテカリに起因する一連の特徴情報F(t-2,11),F(t-2,12),F(t-2,13), F(t-1,21),F(t-1,22),F(t-1,23), F(t,31),F(t,32),F(t,33)に関しては、対応関係が得られないため選別対象からは除外することができる。
以上、図3,4にて具体例を説明したように、選別部6では次のような性質に着目して、外乱がある状況でも認識対象の特徴情報を適切に選別することができる。すなわち、認識対象から算出される特徴情報に関しては外乱により突発的に算出不能となることがあっても、時間軸上で見れば互いに類似するものが相当数得られているはずであるという性質に着目して、記憶部5に記憶された現時点tまでの特徴情報及び判定情報を参照して、類似するものが相当数得られている特徴情報を選別することができる。同様に、認識対象に起因しないテカリ等の外乱から算出される特徴情報は、時間軸上で見れば突発的にしか現れず、互いに類似するものは見つからない、あるいはきわめて少ないという性質に着目して、当該外乱起因の特徴情報を選別対象から除外することができる。
このように、当該時刻tでは外乱によって十分な数の特徴情報を取得できない場合(図3の撮像画像P(t)では図4のF1〜F7の7個の特徴情報のうち4個しか取得できていない)でも、複数の過去t-1,t-2の特徴情報を当該時刻tの特徴情報として追加利用することができるため、外乱に頑健な特徴情報を出力できる。また、外乱によって過剰な数の特徴情報が得られた場合(テカリ等の外乱で認識対象以外の特徴情報が算出された場合)でも、複数の過去の特徴情報との対応関係を評価して不要なものを排除することができるので、外乱に頑健な特徴情報を出力できる。
なお、図3の例では撮像画像に矢印状の認識対象の全体が常に撮像されていたが、時間帯によっては認識対象の一部分のみしか撮像されていないような状況においても同様に、認識対象全体の特徴情報を適切に選別可能である。
図5に、図3,4の例(認識対象が矢印状である例)に対応している例として、当該一部分しか撮像されていない状況の例を示す。図5の例では、ある時間帯は認識対象の左下付近のみが撮像された範囲RA1を撮像し、ある時間単は認識対象の右下付近のみが撮像された範囲RA2を撮像し、ある時間帯は認識対象の上側付近のみが撮像された範囲RA3を撮像し、というように、撮像する範囲が時間帯によっては認識対象の一部分しかとらえていない状況が示されている。このような状況であっても、時間軸上で撮像範囲の移動履歴をまとめて見れば認識対象の全体がとらえられ続けている場合(例えば、撮影範囲が「RA1→RA2→RA3」→「RA1→RA2→RA3」→…のように周期的に変動しているような場合)、図3で説明したのと同様の仕組みによって、選別部6において認識対象全体の特徴情報を選別することができる。
すなわち、図5のように各時間帯では認識対象の一部だけを撮像し十分な数の特徴情報が得られない場合でも、状況としては外乱によって一部の特徴情報が失われているのと同様であるため、複数の過去の特徴情報を統合することで認識が可能になる。図5の例では範囲RA1,RA2,RA3での特徴情報が一連の過去において取得された特徴情報として統合されることで、認識対象の全体の特徴情報が獲得され、認識が可能となる。
図2の説明に戻り、ステップS8では、認識部8が選別部6より受け取った選別された特徴情報に基づき、撮像画像P(t)内に撮像されている認識対象が何であるかを認識する。ステップS8にて認識部8はさらに、認識結果に応じた提示情報を保持部7から読み込んで提示部9へと出力し、提示部9では当該提示情報を提示してから、ステップS9へと進む。当該提示する際、撮像画像P(t)に重畳させて提示することにより、周知の拡張現実表示を実現することもできる。
なお、拡張現実表示を行う際はユーザが撮像部2(すなわちカメラ)を何らかの対象物を撮像すべく、当該対象物にカメラをかざし続けるという状況が発生することが想定される。当該カメラをかざし続ける状況において、前述の図3〜図5で説明したような撮像のなされ方となる場合が多いことが想定されるため、当該状況は本発明を適用するのに好適な一例である。
ステップS9では、現時刻のカウンタtの値を次の時刻t+1の値へと更新してから、次の現時刻に関して以上の処理を継続すべく、ステップS1へと戻る。(なお、図2中、ステップS9に表記した「t++」は、当該現時刻の値の更新を表している。)
以上、図2の各ステップを説明した。なお、図2のフローを開始した直後の最初の時刻t0のステップS1で初めて撮像画像P(t0)を取得した場合、記憶部5では過去の情報を記憶していない。従って、当該最初の時刻t0におけるステップS2で算出された一連の特徴情報F(t0,i)(i=1,2,…)については、ステップS3において対応関係を判定して判定情報を取得する処理は省略し、また、ステップS6では一連の特徴情報F(t0,i)(i=1,2,…)を記憶部5でそのまま記憶するようにすればよい。
また、当該最初の時刻t0ではステップS7の選別と、ステップS8での認識及び提示と、を省略してよい。最初の時刻t0から一定時間が経過した時点で、あるいは、ステップS7で選別される特徴情報が所定個数以上となった時点で、ステップS8における認識及び提示を開始するようにして、当該開始時点まではステップS8の認識及び提示は省略するようにしてもよい。
以下、当該図2のフローチャートのように動作することのできる図1の各部の詳細を説明する。
(撮像部2について)
撮像部2は、撮像対象を撮像して、その撮像画像(各時刻tにおける撮像画像P(t))を算出部3へ出力する。ここで、撮像対象には後段側の認識部8にて認識される対象としての、予め既知の認識対象が含まれるよう、撮像を行うことが想定されている。認識対象は例えば、特徴等が既知の模様を持つマーカーや印刷物、立体物等であってよい。撮像部2としては、携帯端末に標準装備されるデジタルカメラを用いることができる。
(算出部3について)
算出部3はまず、撮像部2で撮像された撮像画像P(t)から、特徴点(認識対象の特徴点が含まれることが想定されている一連の特徴点)を検出する。当該検出する特徴点には、認識対象におけるコーナーなどの特徴的な点を利用できる。検出手法としては、SIFT (Scale-Invariant Feature Transform)やSURF (Speeded Up Robust Features)などの特徴的な点を検出する既存手法が利用できる。
算出部3では次に、検出された特徴点座標(xi(t), yi(t))(i=1,2,…)を中心とした当該特徴点の近傍領域に位置している撮像画像P(t)の画素から、局所画像特徴量fi(t)(i=1,2,…)を算出する。算出部3で算出された複数の特徴点(xi(t), yi(t))および局所画像特徴量fi(t)は特徴情報F(t,i) (i=1,2,…)として記憶部5および判定部4へ出力する。局所画像特徴量の算出手法としては、SIFT (Scale-Invariant Feature Transform)やSURF (Speeded Up Robust Features)などの特徴的な量を算出する既存手法が利用できる。
(判定部4について)
判定部4は、算出部3から特徴情報F(t,i)を入力し、記憶部5に記憶された特徴情報{F(t-k,j)|k=1,2,…,K, j=1,2,…J(k)}の中で、可能な限り直近の過去時刻t-kにおいて対応する特徴情報F(t-k,j)を判定する。当該判定は以下のように実施すればよい。
まず、現時刻tに対して時間的に直近の時刻t-1の一連の特徴情報F(t-1,j)(j=1,2,…)と当該時刻tの特徴情報F(t,i)との類似性を評価し、予め設定された閾値より類似度が高い特徴情報F(t-1,j)があれば当該特徴情報F(t,j)との対応関係を設定する。ここで、一連の特徴情報F(t-1,j)(j=1,2,…)の全てについて類似度を求め、閾値条件を満たすものが複数あった場合には最大類似度のものを採用するようにしてもよいし、一連の特徴情報F(t-1,j)(j=1,2,…)につき順次、類似度を求めて閾値条件を満たすものが見つかった時点で残りの特徴情報の類似度算出は中断するようにしてもよい。閾値よりも類似度が高い特徴情報が無い場合は、次の時間的に近い時刻t-2の一連の特徴情報F(t-2,j)(j=1,2,…)との類似性を同様に評価し、対応関係が設定されるか又は評価対象がなくなるまで、以降の時刻t-3,t-4,…についても同様に繰り返せばよい。
判定部4では以上のようにして、特徴情報F(t,i)に対して可能な限り直近の過去時刻t-kにおいて対応する特徴情報F(t-k,j)を判定し、F(t,i)とF(t-k,j)との対応関係を判定情報として記憶部5に出力する。また、上記の類似性評価を記憶部5に記憶された全ての特徴情報について実施しても1つも類似すると判定されるものが見つからなかった場合は、特徴情報F(t,i)に対応する特徴情報が存在しない旨を判定情報として出力する。
なお、特徴情報F(t,i)に対応する特徴情報が現時刻tで見つからなかった場合であっても、未来時刻t+k(k>0)の特徴情報F(t+k,j)から類似度を評価された際に当該特徴情報F(t,i)が類似しているものとして、特徴情報F(t+k,j)において判定情報が取得される場合はある。
判定部4ではまた、対応関係が判定された特徴情報の多寡を当該特徴情報の優先度として記憶部5に出力する。優先度は、対応関係が判定されている一連の特徴情報につき、共通の値として出力される。このため、新たに現時刻tの特徴情報F(t,i)との間で対応関係が判定された過去時刻の特徴情報は、その優先度の値が特徴情報F(t,i)の優先度と共通の値となるように、記憶部5において更新処理がなされる。また、対応関係が判定されている一連の特徴情報のうち過去の側のものが記憶部5において時間経過判定により削除されたような場合にも、対応する優先度の更新処理が同様になされる。
優先度算出手法としては、対応関係が多いほど優先度が高くなるように算出する手法が利用できる。例えば、対応関係が判定された一連の特徴情報の個数(例えば、1つの対応関係が判定されれば対応する特徴情報は2個)をそのまま優先度として利用する場合、図3の例であれば、3個の相互の対応関係C1,C3,C4を有する特徴情報F(t,1),F(t,3),F(t,4)の優先度は3となる。ここで例えば、対応関係C1にある一連の特徴情報F(t-2,1),F(t-1,1),F(t,1)の各々につき優先度は共通の値3となる。また、2個の相互の対応関係C2,C5,C6を有する特徴情報F(t-1,2),F(t,5),F(t-1,6)の優先度は2となる。
なお、対応関係が判定されていない特徴情報に関しては、その優先度として最低値を記憶部5に出力すればよい。図3の例であれば、対応関係がある場合の優先度の最低値を上記のように2とした場合、対応関係が判定されていない特徴情報F(t,31),F(t,32),F(t,33)等は優先度を例えば、対応関係がある場合の最低値よりさらに低い全体での最低値として、1とすることができる。
判定部4にて対応関係を判断する類似性評価には、KLT(Kanade-Lucas-Tomasi)法などの小領域を追跡する既存手法を利用できる。あるいは、特徴情報がk次元ベクトルで表現されている場合、k次元ベクトルのユークリッド距離やマハラノビス距離など既存の手法を利用できる。また、特徴情報を量子化したVW(ビジュアルワード)として求めたうえで、当該VWの一致/不一致で類似するか否かを評価してもよい。
また、優先度算出手法として、前述のような対応関係の個数に代えて、あるいは当該個数に加えて、判定部4において対応関係を判定する際に上記のように評価した類似度に基づいて優先度を算出するようにしてもよい。例えば、個数及び類似度に基づく算出例として、対応関係が判定されている特徴情報において算出されている類似度の総和を優先度として利用してもよい。例えば、図3の対応関係C1にある一連の特徴情報F(t-2,1),F(t-1,1),F(t,1)の各々の優先度を、「F(t-2,1)とF(t-1,1)の類似度」及び「F(t-1,1)とF(t,1)の類似度」の和として求めるようにしてもよい。また、類似度のみに基づく優先度算出例としては、同例において「F(t-2,1)とF(t-1,1)の類似度」及び「F(t-1,1)とF(t,1)の類似度」の和ではなく平均として、対応関係C1にある一連の特徴情報の優先度を算出するようにしてもよい。また、類似度をk次元ベクトル等の連続値に基づいて算出したうえで、優先度算出においては、量子化したVWの一致/不一致で優先度が高い/低いと評価してもよい。
また、判定部4において対応関係を判定する際に、特徴情報同士の類似度以外も考慮する実施形態として、以下の第一実施形態又は第二実施形態が可能である。
第一実施形態では、時間的に異なる特徴情報F(t,i),F(t-k,j)間の対応関係を評価する際、一連の特徴情報F(t-k,j)(j=1,2,…)のうち類似している旨の判定の評価対象を、特徴情報F(t,i)における特徴点座標(xi(t),yi(t))の周辺にあるものに限定することで、処理負荷を低減させることもできる。当該周辺の範囲は固定的に設定しておくこともできるし、撮像画像P(t),P(t-k)間の動きに応じて、例えば、動きが大きいほど広い範囲を設定させることで動的に設定することもできる。ここで、画像P(t),P(t-k)間の動きはオプティカルフローその他の既存手法で算出すればよい。
特徴点周辺に限定した範囲において対応関係が判定される場合、ユーザが認識対象に撮像部2(カメラ)をかざし続けており、撮像範囲は大きくは変動しておらず、認識対象が継続して撮像され続けているという状況にあることが想定される。逆に、当該限定した一定範囲に対応関係が判定されない場合はユーザが認識対象に撮像部2をかざしていない、あるいは撮像部2が未だ安定していないことが想定される。このような状況における特徴情報に対し、特徴点周辺への限定を加えた判定部4により対応関係を与えないようにすることで、後段の選別部6における選別対象から除外されるようにすることができ、精度を落とさず処理負荷を低減することができる。
第二実施形態では、判定部4では、現時刻tの撮像画像P(t)の各特徴情報F(t,i)(i=1,2,…)につき前述のように特徴量同士の類似度に基づいて対応関係の判定情報を取得したうえで、特徴点座標の整合性をさらに考慮して、当該座標が整合していない特徴情報に関しては誤対応であったものとして判定情報を修正するようにしてもよい。
この場合、以下のようにして、現時刻tの特徴情報F(t,i)の座標(xi(t),yi(t))と、特徴量の類似で対応付けられた特徴情報F(t-k,j)の座標(xj(t-k),yj(t-k))と、に撮像画像P(t),P(t-k)間における動き(当該時刻t,t-k間における撮像画像内の認識対象の動き)を反映した変換関係があるか否かを調べることにより、整合性があるか否かを判断すればよい。
一例では、KLT法その他による小領域の追跡が、撮像画像P(t-k)の座標(xj(t-k),yj(t-k))の周辺領域と、撮像画像P(t)の座標(xi(t),yi(t))の周辺領域と、の間で可能であれば整合性があると判断し、当該追跡が不可能であれば整合性がないと判断することができる。
また、一例では、撮像画像P(t)と撮像画像P(t-k)との間で、判定情報が取得されており対応関係にあるような特徴点同士の座標同士の写像変換係数(平面射影変換など)を計算してもよい。
この際、撮像画像P(t)の一連の特徴情報の座標(xi(t),yi(t))と、撮像画像P(t-k)の一連の特徴情報の座標(xj(t-k),yj(t-k))と、の間で、その特徴量の類似によって対応関係を(暫定的に)求めたうえで、周知のRANSAC(Random Sample Consensus)により当該暫定的に求めた対応関係のうち誤対応のものを除外すると共に、画像P(t),P(t-k)間の平面射影変換等の変換係数H(t,t-k)を求めることができる。そして、画像P(t)の特徴情報F(t,i)が画像P(t-k)の特徴情報F(t-k,j)に類似している判定が得られた場合はさらに、その座標(xi(t),yi(t))を変換係数H(t,t-k)で画像P(t-k)の座標に写像したものが、閾値判定で座標(xj(t-k),yj(t-k))の近傍にあるか否かを確認し、近傍にあれば座標が整合しているとして判定情報を取得し、近傍になければ座標が整合していないものとして判定情報は取得しないようにすればよい。
なお、第二実施形態は、座標が整合している範囲に限定して特徴情報F(t,i)(i=1,2,…)に類似している特徴情報を探索するという形で実施してもよい。この場合、過去時点t-kの特徴情報F(t-k,j)(j=1,2,…)のうち、現時刻tの特徴情報F(t,i)との類似性を評価する対象を、その位置座標(xj(t-k),yj(t-k))が座標(xi(t),yi(t))の移動先であると判定できる範囲内にあるものに限定すればよい。移動先と判定できる範囲については、画像P(t),P(t-k)間の動きを上記のKLT法や平面射影変換の関係として求めたうえで、当該関係で写像することで(xi(t),yi(t))の画像P(t-k)における移動先を求め、当該移動先の近傍所定範囲として設定すればよい。
(記憶部5について)
記憶部5は、算出部3で算出された特徴情報を記憶する。現時刻tまでの一連の異なる時間における特徴情報を一時的に記憶するとともに、判定部4で判定情報として取得された当該特徴情報の対応関係と優先度とを記憶し、更新する。
当該記憶する際に、有限な記憶量に特徴情報を収めるため、優先度及び/又は経過時間に応じて破棄することで、記憶している情報を更新してよい。例えば、優先度が所定値以下となった、且つ/又は、過去時刻t-kにおいて算出されており、現時刻tまでの経過時間kが所定閾値THに到達した、という条件に該当する特徴情報は破棄するようにしてよい。
例えば、図3の例であれば、優先度及び経過時間に応じて破棄する例として、優先度が1(すなわち対応関係がなく優先度が最低値)であり且つ経過時間が2時点に到達したものを破棄する場合、次のようになる。時刻tの時点において、優先度が1であり、且つ、経過時間が時刻t-2〜t間の2時点に到達している特徴情報F(t-2,11),F(t-2,12),F(t-2,13)が破棄される。一方、特徴情報F(t-1,21),F(t-1,22),F(t-1,23)は、時刻tの時点で優先度1だが経過時間が1時点であるので保持されるが、次の時刻t+1において対応関係が判定されなければ、同様の判断によって破棄されることとなる。
記憶部5ではまた、有限な記憶量に特徴情報を収めるため、判定情報により互いに対応関係にある特徴情報F(t,i)における特徴量f(t,i)の値を、当該対応関係内にある全てについて保持する代わりに、代表する値として重みづけ平均で保持してもよい。
図3の例であれば、図4の特徴情報F1に該当し互いに対応関係にある特徴量f(t-2,1),f(t-1,1),f(t,1)(それぞれ特徴情報F(t-2,1),F(t-1,1),F(t,1)の特徴量とする)を記憶するに際して、これらの値をそれぞれ個別の3個の値として保持するのに代えて、例えば次のように重みづけ平均で代表された1つの値として保持するようにしてよい。まず、時刻t-2ではf(t-2,1)の値をそのまま保持する。時刻t-1では、f(t-2,1)及びf(t-1,1)の対応関係が得られるので、2つの別個の値として保持する代わりに、重み係数α(0<α<1)を用いて以下の式(1)の1つの値f(t-2〜t-1,1)として代表させて保持する。
f(t-2〜t-1,1)=αf(t-2,1)+(1-α)f(t-1,1) …(1)
そして、時刻tではf(t,1)との対応付けが上記のf(t-2〜t-1,1)の値を参照して実施され、同様に重み係数αを用いて、時間的に異なるt-2,t-1,tの3時点の特徴量が対応した特徴量の代表値として、以下の式(2)の1つの値f(t-2〜t,1)を保持する。
f(t-2〜t,1)=αf(t-2〜t-1,1)+(1-α)f(t,1) …(2)
なお、重みづけ平均で特徴量を保持する際は、対応関係がありかつ現時点tよりも一定時間以上過去にある特徴量のみに重みづけ平均を行うようにしてもよい。例えば現時点tから過去t-2の時点までは特徴量f(t,i),f(t-1,i),f(t-2,i)をそのまま保持し、過去t-3以前の一連の特徴量f(t-k,i)(k≧3)については重みづけ平均で1つの代表値として保持するようにしてもよい。また、座標(xi(t),yi(t))を含む特徴情報F(t,i)の全部に関しても以上の特徴量f(t,i)と同様の重みづけ平均で保持するようにしてもよい。
(選別部6について)
選別部6は、記憶部5から優先度に応じて特徴情報を選別する。すなわち、優先度が対応関係の個数(対応関係の多寡)に基づいて算出されている場合であれば、判定情報に従って与えられる対応関係が多いと判定される特徴情報を選別する。例えば、記憶部5では現時刻がtである場合に時刻t-m以前の過去の特徴情報は破棄するものとし、保持されている時間が異なるm個の撮像画像P(t),P(t-1),…,P(t-m+1)により算出された特徴情報の中で、閾値n(m≧n)個以上の互いに対応関係を持つ特徴情報を、当該撮像画像P(t)における特徴情報として選別する。
なお、優先度が対応関係の個数のみに基づいて算出されている場合以外(個数及び類似度で算出されている場合又は類似度のみで算出されている場合)であっても同様に、優先度に対する閾値判定等によって選別することができる。以下では上記の例のように、優先度が個数のみで算出され、個数に対する閾値nで選別判定を行った場合を例として説明するが、その他の手法で優先度が算出されている場合も同様に選別が可能である。
前述の図3の例ではm=3,n=2とすることで、特徴情報を適切に選別することができる。すなわちこの場合、特徴情報3個の対応関係C1,C3,C4をそれぞれ持つ一連の特徴情報{F(t-2,1),F(t-1,1),F(t,1)}, {F(t-2,3),F(t-1,3),F(t,3)}, {F(t-2,4),F(t-1,4),F(t,4)}と、特徴情報2個の対応関係C2,C5,C6,C7をそれぞれ持つ{F(t-2,2),F(t-1,2)}, {F(t-2,5),F(t,5)}, {F(t-2,6),F(t-1,6)}, {F(t-2,2),F(t-1,2)}と、が選別されることで、図4の特徴情報F1〜F7に対応するものが適切に選別されている。またこの場合、閾値n=2に満たないn=1個のみの対応関係を持つ特徴情報F(t,31),F(t,32),F(t,33)等は、選別対象から除外されるので、適切な選別が実施されている。
選別部6では以上のように選別してから、認識部8へと特徴情報を出力する際、次のような形で出力することができる。
すなわち、n個以上の互いに対応関係を持ち選別された特徴情報をそのまま、当該撮像画像P(t)における特徴情報(n個以上の特徴情報)として出力するようにしてもよいし、当該n個以上の特徴情報より1つの代表値を求めたうえで当該代表値としての特徴情報(1個の特徴情報)を出力するようにしてもよい。代表値を求める際は、記憶部5で説明した重みづけと同様の手法を利用することができるが、記憶部5において既に1つの代表値として記憶している場合であれば、当該1つの代表値を出力するようにすればよい。
なお、選別部6においてn個以上の互いに対応関係を持ち選別された特徴情報の代表値を重みづけ平均で求めるに際しては、重みは、時間的な距離及び/又は外乱強度に応じて設定することが望ましい。例えば、現時刻tにより近い特徴情報F(t-k,j)(k=0,1,2,…)ほどその重みの値を大きくするよう、重み付けすることができる。また、特徴情報F(t-k,j)(k=0,1,2,…)の算出された撮像画像P(t-k)における外乱強度D(t-k)を所定手法で推定し、外乱強度が大きいほど重みの値を小さくするように重み付けすることができる。
また、選別部6における重みの設定として、常に全ての特徴情報を重み付け平均するのではなく、重みが閾値以下となるものは重み付け対象から除外するようにしてもよい。また、重みが最大となるもののみを選別するようにすることで、特徴情報の中から単一の特徴情報を選択してもよい。例えば、最も時間が現時刻tに近い特徴情報のみを代表値として残すようにしてもよい。
なお、外乱強度D(t-k)の推定に関しては、外乱種類に応じた所定手法で推定することができる。例えばボケ・ブレについては点広がり関数(PSF; Point Spread Function)を推定する既存手法を利用することができ、ホワイトバランスの乱れについてはヒストグラムを推定する既存手法を利用することができる。複数種類の外乱の強度を推定する場合、各強度の重みづけ和を外乱強度D(t-k)とすればよい。
なお、以上説明した選別部6におけるのと同様の重みを、記憶部5で特徴情報を代表値によって記憶する際に用いてもよい。
(保持部7について)
保持部7は、事前に1つ以上の所定の認識対象から特徴情報(算出部3にて算出するものと同種の特徴情報)を算出し提示情報と紐づけて認識対象毎に対象情報として記憶しておく。当該紐付ける提示情報は、後段の提示部9において例えば拡張現実表示を行うためのものとして、認識対象に応じた所定の情報(画像、映像、音声、テキストその他)を紐付けておくことができる。例えば認識対象が特定の商品であれば、対応するクーポン情報を提示情報として紐付けておくことができる。
(認識部8について)
認識部8は、選別部6で選別された特徴情報と保持部7に記憶された特徴情報とを比較することで、撮像部2で得た撮像画像P(t)内における認識対象を認識する。すなわち、保持部7で記憶されている1つ以上の所定の認識対象のいずれに、撮像画像内の対象が該当するのかを特定する。認識部8ではさらに、特定した認識対象に対応する提示情報を保持部7から読み込み、提示部9へと出力する。
ここで、特徴情報同士を比較する際には、各種の周知手法を利用することができ、選別部6の選別した特徴情報に最も近い特徴情報を保持部7に保存されている特徴情報の中から決定し、対応する認識対象を特定することができる。例えば、RANSAC(Random Sample Consensus)等により、特徴情報を構成している各特徴量をそれぞれ個別にマッチングすることを試みながら外れ値を排除することで、全体として最もマッチングしているものを特定する手法を用いてもよい。あるいは、BoVW(バグオブビジュアルワード)のヒストグラム同士の類似度を算出してもよい。
なお、選別部6で前述の閾値n個以上の一連の互いに対応関係にある特徴情報をそのまま出力している場合(1つの代表値とせずに、n個以上の一連の特徴情報として出力している場合)、保持部7の特徴情報と比較する際は、例えば、当該n個以上の複数の特徴情報のうち、保持部7の特徴情報に最も近いものを比較結果として採用してもよいし、n個以上の特徴情報のそれぞれとの類似度の平均を比較結果として採用してもよい。
なお、認識部8は、特徴情報の対応関係から認識対象と撮像部2との相対的位置関係を計算し提示情報の一つとして出力してもよい。この場合、上記の個別のマッチングにより対応関係を求めると共に、保持部7に記憶されている特徴情報における特徴点座標を参照し、撮像画像P(t)における一連の座標との間で周知の平面射影変換の関係を求めることにより、相対的位置関係を計算することができる。
ここで、平面射影変換の関係を求めるための撮像画像P(t)における一連の座標は、選別部6にて選別された特徴情報であって、且つ、当該現時刻tの撮像画像P(t)より算出部3において算出された特徴情報との対応関係が存在するものを利用することが好ましい。また、選別部6において対応関係が判定されている特徴情報に対して重み付け平均等で1つの特徴情報を算出した場合であっても、平面射影変換の関係を求める際は当該現時刻tの撮像画像P(t)より算出部3において算出された特徴情報における特徴点座標を用いるようにしてもよい。
(提示部9について)
提示部9は、認識部8が出力した提示情報をユーザに対して提示する。当該提示の態様は、提示情報の種類に応じた態様で提示すればよい。例えば画像、映像、テキスト等であれば表示し、音声であれば再生すればよく、これらの組み合わせで提示してもよい。具体的にどのように提示するかに関しても、提示情報内に定義しておき、保持部7に予め記憶させておけばよい。
当該提示する際、提示情報が画像、映像等の表示するものであれば、撮像部2で得た撮像画像P(t)に重畳させて提示するようにしてもよい。認識部8において相対的位置関係を計算した場合であれば、周知の拡張現実表示により、撮像画像P(t)内に実在する立体のように提示するようにしてもよい。この場合、当該提示する立体の情報を提示情報に含めておき、予め保持部7に記憶させておけばよい。
以下、本発明における補足的事項(説明の流れの観点からの補足的事項)を、(1)〜(6)として説明する。
(1)判定部4において特徴情報同士の対応関係を判定情報として求める際は、2つの実施形態が可能である。すなわち、既に1つの対応関係が判定されている特徴情報にはそれ以上の対応関係を判定しないようにする、すなわち、対応関係を1対1に制限して求めるような第一実施形態としてもよいし、既に判定されている対応関係の有無によらず、新たな対応関係を判定する第二実施形態としてもよい。
図6は、当該判定情報を求める際の第一、第二実施形態の区別を説明するための図である。前提として、一連の4時点t-3〜tにおける撮像画像P(t-3)〜P(t)において、太線で示すように4つの特徴情報{F(t-3,50),F(t-2,51),F(t-1,52),F(t,53)}が各隣接時刻間で対応づけられることで、判定情報が得られているものとする。
この場合、対応関係が1対1に制限される第一実施形態においては、既に対応関係(未来側の特徴情報F(t-1,52)との対応関係)のある特徴情報F(t-2,51)に対して、細線で示すような別の特徴情報F(t-1,62)が対応付けられることが禁止される。逆に、第二実施形態であれば当該対応付けは禁止されず、太線で示す4つの特徴情報{F(t-3,50),F(t-2,51),F(t-1,52),F(t,53)}の対応関係と、太線及び細線で示す4つの特徴情報{F(t-3,50),F(t-2,51),F(t-1,62),F(t,63)}の対応関係との両方の存在が許容される。
第二実施形態では計算を簡略化することができるのに対し、第一実施形態では対応を1対1に制限する処理を行う代わりにより正確な対応関係を得ることができる。第一実施形態における制限は以下の各例のようにして実施すればよい。
一例では、図2のフローチャートに従ってステップS3で各時刻tの特徴情報F(t,i)の対応関係を判定する都度、当該ステップS3において特徴情報F(t,i)との対応関係が与えられた特徴情報F(t-k,j)に関し、未来の側の特徴情報であるF(t,i)との対応付けを既に与えられている旨の識別情報を付加することで、以降のステップS3の対応関係の判定対象から除外するようにすればよい。
一例では、図2のフローチャートに従ってある時刻tのステップS3で対応関係を判定する際には重複を許容し、重複する対応関係が取得された場合、当該時刻tにおいて継続するステップS6において記憶部5が更新処理を行う際に、重複している対応関係のうち最も確からしいと判定される対応関係のみを残して記憶するようにしてもよい。最も確からしい対応関係の判定には、特徴情報同士の類似度が最大となるものを選択するようにしてもよいし、類似度が異なるもののその差が閾値以内であるような場合には、前述のKLT法等の領域追跡手法により動きが最も整合しているものを選択するようにしてもよい。動きの整合で選択する場合には、時刻t+1以降の対応関係も判定したうえで、1時刻間より多い時刻間で選択するようにしてもよい。
(2)情報端末装置1は、図1に示す各部を全て備える構成の他にも、当該各部の任意の一部分のみを備えるような構成としてもよい。この際、情報端末装置1にて省略された機能部については外部サーバ等で実現してもよい。例えば、撮像部2〜選別部6を備えこれより後段側の保持部7〜提示部9は備えないような構成としてもよい。この場合、情報端末装置1において選別部6により各時刻tの撮像画像P(t)についての外乱耐性を有した特徴情報を出力することが可能となる。
また例えば、情報端末装置1の構成を図1の構成から、提示部9のみが省略された構成とすることもできる。この場合、保持部7における提示情報の保持及び当該提示情報の認識部8における読み込みを省略してよく、情報端末装置1において認識部8により各時刻tの撮像画像P(t)に対する認識結果を、外乱にロバストな形で出力することが可能となる。
(3)本発明において処理を簡素にすることが可能な実施形態として、図1の構成から判定部4及び選別部6を省略した構成により、判定情報を利用しないようにする実施形態も可能である。この場合、算出部3で各時刻tにおいて算出された特徴情報は全て記憶部5に記憶され、当該記憶されている全ての特徴情報が認識部8へと出力され、認識に利用されることとなる。ここで、判定及び選別の処理が省略される分、処理が簡素化されることとなる。
ただし、記憶部5において記憶する際は、記憶容量の制限を考慮して、現在時刻tから一定期間以上経過している特徴情報、すなわち過去時刻t-K(Kは正の所定数)以前の特徴情報は記憶対象から削除するようにすることが好ましい。また、認識部8において保持部7に保持された所定認識対象の特徴情報と、記憶部5から出力された特徴情報を比較評価する際は、記憶部5が出力した特徴情報のうち現在時刻tに近いものから順に評価し、一致していると判定されるものが見つかった時点で残りの特徴情報との比較は行わないようにしてもよい。
当該簡素な実施形態の例として例えば、現時刻tの撮像画像P(t)内の対象を認識するのに、現時刻t及び一連の過去時刻t-1,t-2,…,t-nにおける撮像画像P(t),P(t-1),…,P(t-n)(ここでnは正の所定数)からそれぞれ算出された特徴情報を全て記憶部5から認識部8へと出力して、認識を実施することができる。例えばn=2の場合、図3の例では中段部分に示される画像P(t),P(t-1),P(t-2)から算出された全ての特徴情報が、画像P(t)における対象を認識するために利用される。
なお、当該簡素な実施形態は、以上説明した判定部4及び選別部6を備える構成によって判定情報を利用する実施形態においては形式上、優先度算出処理を、対応関係や類似度に依らず、全ての特徴情報に対して一定値を設定するものと見ることもできる。
また、当該簡素な実施形態は、現在時刻tの撮像画像P(t)における認識のために1つ以上の過去時刻の画像P(t-1),P(t-2),…も利用するという点で、以上説明した実施形態と共通の考え方に基づくものである。
(4)上記のように記憶部5で対応する特徴情報が記憶される対象となる1つ以上の過去時刻の画像P(t-1),P(t-2),…に関して、簡素な実施形態の適用の有無に依らず、本発明において以下のようにすることができる。
すなわち、当該利用する1つ以上の過去時刻の画像 P(t-1),P(t-2),…は、必ずしも全て隣接し連続するものでなくともよい。例えば、記憶部5で対応する特徴情報を記憶する対象として、レートを下げて、P(t-2),P(t-4),P(t-6),…のように2時刻おきに記憶するようにしてもよい。より過去に属する画像ほどレートを下げて記憶するようにしてもよい。
(5)また同様に、本発明の説明においては撮像部2では各時刻tの撮像画像P(t)を取得するものとして説明し、図2のフローの説明において時刻t,t-1,t-2のように、時刻を整数のインデクスによって説明してきた。当該インデクスは時間の前後関係のみを意味しており、対応する実時間が必ずしも均一間隔に取られている必要はない。図2のフローであれば、ステップS1〜S8の処理を実際に実施し、ステップS8が完了した実時刻をステップS9で設定する次の時刻とすることで、ステップS1〜S8の処理を実際に行う時間に応じて時刻間隔が変動するようにしてもよい。また、ユーザがマニュアル指示で撮像部2を用いて撮像を実施した各時点を各時刻tとしてもよい。また、撮像部2にてリアルタイム処理で各時刻tの撮像画像P(t)を取得したのち、算出部3以降の処理をバッチ処理で実施してもよい。
(6)本発明は、コンピュータを情報端末装置1の各部2〜9の全て又はその任意の一部分として機能させるプログラムとしても提供可能である。当該コンピュータには、CPU(中央演算装置)、メモリ及び各種I/Fといった周知のハードウェア構成のものを採用することができ、CPUが情報端末装置1の各部の機能に対応する命令を実行することとなる。