説明

画像情報処理装置、判定方法、及びコンピュータプログラム

【課題】複数の画像間で各画像中に存在する標識の異同を判定できるようにすること。
【解決手段】画像入力部10により画像情報を入力し、マーカ検出部21によりその入力された画像情報の画像中においてマーカ100を抽出し、位置姿勢検出部22により、上記抽出されたマーカの上記画像中における位置を検出し、複数の画像において各々抽出された標識間の異同を判定する。その際、位置姿勢検出部22は、少なくとも選択的に適用される判定条件として、上記検出された当該各マーカの位置に基づく判定条件を備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数の画像間で各画像中に存在する標識の異同を判定する画像情報処理装置、判定方法、及びコンピュータプログラムに関する。
【背景技術】
【0002】
実世界中の対象物及び/又は既定の標識(マーカ)に対し、所定の関連情報を呈示する情報呈示装置としては、バーコードリーダが一般的によく知られている。そのうち、対象物及び/又は既定のマーカの空間情報を利用して、情報を呈示する装置がある。
【0003】
例えば、特許文献1には、名刺上に印刷された2次元コードをカメラで読み込み、コンピュータ内のプログラムでIDを解析し、このIDに相当する人物の顔写真を、あたかも名刺上の2次元コードの横にあるかのごとく、コンピュータ上のディスプレイに表示する技術が開示されている。
【特許文献1】特開2000−82107号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
しかしながら、上記特許文献1に開示されているような技術では、同じデザインの標識(マーカ)が複数枚の画像中に存在すると、同一のマーカと認識してしまう。これは、それぞれのマーカの区別ができないという問題によるものである。
【0005】
本発明は、上記の点に鑑みてなされたもので、複数の画像間で各画像中に存在する標識の異同を判定することが可能な画像情報処理装置、判定方法、及びコンピュータプログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明の画像情報処理装置の一態様は、
画像情報を入力する画像情報入力手段と、
上記画像情報入力手段によって入力された画像情報の画像中において、標識を抽出する抽出手段と、
上記抽出手段で抽出された標識の上記画像中における位置を検出する位置検出手段と、
複数の画像において各々抽出された標識間の異同を判定する手段であり、少なくとも選択的に適用される判定条件として、上記位置検出手段によって検出された当該各標識の位置に基づく判定条件を具備する判定手段と、
を具備することを特徴とする。
【0007】
また、本発明の複数の画像間で各画像中に存在する標識の異同を判定する方法の一態様は、
複数の画像を入力するステップと、
上記入力された各画像中において、標識を抽出するステップと、
上記抽出された標識の画像上の位置を検出するステップと、
少なくとも選択的に上記検出された上記標識の位置に基づく判定条件を適用して、上記入力された複数の画像において各々抽出された画像標識間の異同を判定するステップと、
を具備することを特徴とする。
【0008】
また、本発明のコンピュータプログラムの一態様は、コンピュータに複数の画像間で各画像中に存在する標識の異同を判定させるコンピュータプログラムであり、コンピュータに、
複数の画像を入力させ、
上記入力された各画像中において、標識を抽出させ、
上記抽出された標識の画像上の位置を検出させ、
少なくとも選択的に上記検出された上記標識の位置に基づく判定条件を適用して、上記入力された複数の画像において各々抽出された画像標識間の異同を判定させる、
ことを特徴とする。
【発明の効果】
【0009】
本発明によれば、複数の画像間で各画像中に存在する標識の異同を判定することが可能な画像情報処理装置、判定方法、及びコンピュータプログラムを提供することができる。
【発明を実施するための最良の形態】
【0010】
以下、本発明を実施するための最良の形態を図面を参照して説明する。
【0011】
図1(A)は本発明の一実施形態に係る画像情報処理装置の構成を示す図で、本実施形態に係る画像情報処理装置は、カメラである画像入力部10と、パーソナルコンピュータ等で構成された制御部20と、液晶ディスプレイ等の表示部30とからなる。なお、これら画像入力部10、制御部20及び表示部30を一体化した携帯型の装置として構成しても良いことは勿論である。また、制御部20の機能の一部を、ネットワークを介してアクセス可能なサーバ上に構成することも可能である。
【0012】
上記画像入力部10は、画像情報入力手段として機能するもので、所定のパターンを持った標識であるマーカ100を撮影し、得られた画像情報を制御部20に入力する。ここで、上記マーカ100は、例えば、図1(B)に示すように、予め定められた形状(本実施形態では四角形)の枠部101と、その枠部101の内部に記された文字を含む記号や意匠102とから構成される。
【0013】
上記制御部20は、マーカ検出部21、位置姿勢検出部22、マーカ情報格納部23、関連情報生成部24、関連情報格納部25、及び重畳画像生成部26を含む。ここで、マーカ検出部21は、抽出手段として機能するもので、上記画像入力部10によって入力された画像情報の画像内から、上記枠部101を検出することで上記標識としてのマーカ100を検出し、その検出結果をマーカ情報として位置姿勢検出部22に供給する。位置姿勢検出部22は、位置検出手段、判定手段及び類似度評価手段として機能するもので、上記マーカ検出部21からのマーカ情報を用いて、マーカ情報格納部23に格納されている情報から対応するマーカを同定し、カメラ(画像入力部10)の位置及び姿勢を検出して、関連情報生成部24に供給する。マーカ情報格納部23には、マーカ100のテンプレート画像やマーカ100の配置されている位置姿勢情報等のマーカ100に関する情報が格納されている。関連情報生成部24は、上記位置姿勢検出部22で検出した上記画像入力部10の位置姿勢に応じて関連情報格納部25から予め設定された情報を抽出して関連情報を生成し、重畳画像生成部26に供給する。関連情報格納部25には、モデル空間上に配置されたモデルの位置姿勢情報や形状情報、属性情報等の関連情報が格納されている。重畳画像生成部26は、上記画像入力部10からの画像情報と上記関連情報生成部24で生成した関連情報とを重畳して、上記表示部30に供給する。
【0014】
また、上記表示部30は、上記重畳画像生成部26で生成された重畳画像を表示するものである。
【0015】
以上のような構成の画像情報処理装置の動作を、図2のフローチャートを参照して、詳細に説明する。
【0016】
まず、画像入力部10により画像を撮影し、得られた画像情報を第1の画像情報としてマーカ検出部21に入力する(ステップS10)。マーカ検出部21では、その入力された第1の画像情報の画像内に含まれるマーカ100の検出を行う(ステップS12)。これは、まず、マーカ100の枠部101を検出することで、マーカ候補を検出する。この枠部101の検出は、公知の画像処理手法であるので、その詳細説明は省略する。このとき、検出されるマーカ候補は一つに限られない。次に、その検出各マーカ候補の枠部101の四隅の画像内での座標を検出し、各枠部101の内部を抽出してそれぞれアフィン変換を行う。そして、アフィン変換後の各画像とマーカ情報格納部23に予め登録してあるマーカのテンプレート画像(例えば、「50」等の記号や意匠102を持つマーカの画像)とのパターンマッチングをそれぞれ行う。その結果、マーカのテンプレート画像と一致する画像がなければ、マーカ100が検出されなかったとして(ステップS14)、上記ステップS10の画像入力に戻る。
【0017】
一方、マーカのテンプレート画像と一致する画像があれば、マーカ100が検出されたとして(ステップS14)、位置姿勢検出部22で、上記マーカ検出部21によって検出した当該マーカの枠部101の四隅の座標から、その枠部101の中心座標をそれぞれ求め、各マーカ100の位置情報とする(ステップS16)。そして、検出した各マーカにIDを振り(ステップS18)、各マーカのIDと位置情報とを図示しない内部メモリに記憶する(ステップS20)。
【0018】
その後、再び、画像入力部10により画像を撮影し、得られた画像情報を第2の画像情報としてマーカ検出部21に入力する(ステップS22)。マーカ検出部21では、上記ステップS12と同様にして、その入力された第2の画像情報の画像内に含まれるマーカ100の検出を行う(ステップS24)。ここで、マーカ100が検出されなかったならば(ステップS26)、上記ステップS22の画像入力に戻る。
【0019】
一方、マーカ100が検出された場合には(ステップS26)、位置姿勢検出部22で、上記ステップS16と同様にして、各マーカ100の位置情報を検出し(ステップS28)、そして更に、マーカの同定処理を実行する(ステップS30)。
【0020】
このステップS30の同定処理は、図3に示すように、まず、第1の画像から検出した各マーカ及び第2の画像から検出した各マーカの、画像類似度を比較する(ステップS301)。これは、第1の画像のマーカ、第2の画像のマーカの区別なく、各マーカの類似度を比較するものである。ここで、同じ(類似の)マーカがなければ(ステップS302)、第1の画像から検出し記憶しているマーカのIDを全てクリアする(ステップS303)。そして、第2の画像から検出したマーカ全てに対して、新たにIDを振って(ステップS304)、この同定処理を終了する。
【0021】
これに対して、同じ(類似の)マーカがあるならば(ステップS302)、同じ(類似の)マーカ同士を関連付ける(ステップS305)。この関連付けは、(1)第1の画像のマーカのみの関連付け、(2)第2の画像のマーカのみの関連付け、(3)両方の画像のマーカが含まれる関連付け、の3種類が可能である。次に、各関連付けられたマーカ同士の中で、互いの距離が近い順に、第2の画像から検出したマーカを、第1の画像から検出したマーカに対応付けていく(ステップS306)。これは各関連付け毎に行うものであるが、当然、上記(3)の両方の画像のマーカが含まれる関連付けの場合のみ、対応付けされる。第1画像のマーカと第2画像のマーカとで数が異なれば、多い方から「余り」がでる。また、上記(1)の第1の画像のマーカのみの関連付け及び(2)の第2の画像のマーカのみの関連付けの場合は、全マーカが「余り」となる。
【0022】
次に、各関連付けられたマーカ同士の中で、上記対応付けされた分について、第1の画像から検出したマーカのIDを第2の画像から検出したマーカのIDに転記する(ステップS307)。これは各関連付け毎に行うものであり、上記ステップS307で対応付けられなかった「余り」は転記対象外となる。
【0023】
そして、上記転記されたIDを除き、第1の画像から検出したマーカのIDを全てクリアする(ステップS308)。即ち、第2の画像には無い、第1の画像だけのマーカはIDを全てクリアする。また、上記IDが転記された以外の、第2の画像から検出したマーカ全てに対して、新たにIDを振る(ステップS309)。即ち、第2の画像で新規に発生したマーカは、IDを新規に振る。そして、この同定処理を終了する。
【0024】
ここで、この同定処理までの動作を、具体例を用いて説明する。
【0025】
まず、図4により、画像入力部10で撮影しているマーカが1個から2個に増えた場合を説明する。ここで、マーカCはマーカAと同一のマーカであり、マーカBは新たに見えたマーカと想定する。また、これらマーカA,B,Cは同一デザイン(記号や意匠102が同一)のマーカである。
【0026】
即ち、上記ステップS10乃至ステップS20の処理により、第1の画像41でマーカ(マーカA)が1個検出され、そのマーカは「50」の記号や意匠102を持つマーカであり、(例えば、画像左上を(0,0)とする座標において)その中心座標が(80,80)、IDは「1」と記憶される。また、上記ステップS22乃至ステップS28の処理により、第2の画像42で、マーカが2個検出され、一方のマーカBは「50」の記号や意匠102を持ち、中心座標は(10,10)のマーカ、他方のマーカCは同じく「50」の記号や意匠102を持ち、中心座標は(90,90)のマーカであると検出される。
【0027】
このような場合、同定処理においては、まず、上記ステップS301,S305,S306の処理により、第1の画像41で検出したIDが「1」のマーカAについて、現在の第2の画像42で検出したマーカB、マーカCの中で一番距離が近いマーカを探す。そして、ID「1」のマーカAの中心座標が(80,80)なので、中心座標が(90,90)のマーカCの方が中心座標が(10,10)のマーカBに比べて距離が近いので、上記ステップS306,S307の処理により、中心座標(90,90)のマーカCのIDを「1」にセットする。また、第1の画像41で検出したマーカ数は1個なので、残りの中心座標(10,10)のマーカBは、現第2の画像42で新規に検出したマーカと判断し、上記ステップS309の処理により、IDとして「2」をセットする。
【0028】
以上より、第1の画像41で中心座標(80,80)で検出した「50」の記号や意匠102を持つマーカAは、現第2の画像42で中心座標(90,90)で検出した「50」の記号や意匠102を持つマーカCであると認識することが可能となる。また、現第2の画像42から中心座標(10,10)で検出した同じく「50」の記号や意匠102を持つマーカBは、新規検出マーカとして認識することが可能となる。
【0029】
次に、図5により、画像入力部10で撮影しているマーカが2個から1個に減った場合を説明する。ここで、マーカFはマーカEと同一のマーカ、マーカDは見えなくなったマーカであると想定する。
【0030】
即ち、上記ステップS10乃至ステップS20の処理により、第1の画像51でマーカが2個検出され、一方のマーカDは「50」の記号や意匠102を持ち、中心座標は(10,10)でIDは「1」のマーカ、他方のマーカEは同じく「50」の記号や意匠102を持ち、中心座標は(90,90)でIDは「2」のマーカであると記憶される。また、上記ステップS22乃至ステップS28の処理により、第2の画像52で、マーカ(マーカF)が1個検出され、そのマーカは「50」の記号や意匠102を持ち、その中心座標が(80,80)のマーカであると検出される。
【0031】
このような場合、同定処理においては、まず、上記ステップS301,S305,S306の処理により、第1の画像51で検出したIDが「1」のマーカDについて、現在の第2の画像52で検出したマーカFとの距離を求め、次に第1の画像51で検出したIDが「2」のマーカEについて、現在の第2の画像52で検出したマーカFとの距離を求める。そして、マーカFは中心座標(80,80)なので、中心座標(90,90)のマーカEが一番距離が近いので、上記ステップS306,S307の処理により、マーカFのIDを「2」にセットする。
【0032】
また、第1の画像51で検出したマーカ数は2個なので、残りの中心座標(10,10)のマーカDは、次の第2の画像52で検出できなくなったマーカと判断し、上記ステップS308の処理により、ID「1」をクリアする。
【0033】
以上より、前の第1の画像51で中心座標(90,90)で検出した「50」の記号や意匠102を持つマーカEは、次の第2の画像52で中心座標(80,80)で検出した「50」の記号や意匠102を持つマーカFであると認識することが可能となる。また、第1の画像51で中心座標(10,10)で検出した「50」の記号や意匠102を持つマーカDは、検出できなくなったマーカとして認識することが可能となる。
【0034】
以上のような同定処理を実施して、第2の画像における各マーカにIDを振ったならば、位置姿勢検出部22では、各マーカのIDと、上記ステップS28で検出した各マーカの位置情報とを図示しない内部メモリに記憶する(ステップS32)。
【0035】
そして、位置姿勢検出部22は、更に、マーカ情報格納部23から同定した各マーカの空間定位情報(マーカの配置されている位置姿勢情報)を入手し、画像内での当該マーカの枠部101の四隅の位置からカメラ(画像入力部10)の位置姿勢を検出する(ステップS34)。なお、マーカからカメラの位置姿勢を求める方法は、例えば、「VRインターフェースのための単眼による長方形マーカー位置・姿勢の高精度実時間推定法」(3D Image Conference’96 予稿集 pp.167-172 高橋章、石井郁夫、牧野秀夫、中静真 1996)に開示されているので、その詳細説明は省略する。
【0036】
そして、関連情報生成部24では、その検出したカメラ(画像入力部10)の位置姿勢に応じて関連情報格納部25から予め設定された情報を抽出して関連情報を生成する(ステップS36)。重畳画像生成部26は、上記画像入力部10からの画像とその関連情報生成部24で生成した関連情報とを重畳して、表示部30に重畳画像を表示する(ステップS38)。
【0037】
以上のようにして、同じデザイン(同じ記号や意匠102を持つ)のマーカ100を同時に複数撮影した場合であっても、それぞれのマーカ100を区別可能となる。また、複数の画像間で各画像中に存在するマーカ100の異同を判定することが可能となる。
【0038】
[適用例]
ここで、同一(同じ記号や意匠102を持つ)のマーカ100を複数使用する場合の一例として、本実施形態を神経衰弱ゲームに応用した場合について説明する。
【0039】
この神経衰弱ゲームは、最初に1枚目のカードをめくり、次に2枚目のカードをめくったとき、1枚目と2枚目が同じカードであったならば、1枚目のカードの関連情報として表示していたキャラクタが2枚目のカードの位置に移動するものである。
【0040】
即ち、図6(A)は、マーカ100を印刷したカード200を裏返して置いてある状態を撮影した時の表示部30の画面31を示す図である。この場合、画面31内には、カード200が4枚あるが、マーカ100を認識していない為に何も表示されていない。
【0041】
図6(B)は、カード200を1枚裏返して置いた状態を撮影した時の画面32を示している。このときの画面32では、裏返したカード200に印刷された「50」の記号や意匠102を持つマーカ100が1個検出されるため、その「50」の記号や意匠102に対応した関連情報であるキャラクタ60(この場合は「車」)を、その位置姿勢に応じた位置姿勢で表示している。
【0042】
図6(C)は、もう一枚のカード200を裏返して置いた状態を撮影した時の画面33を示す図である。この画面33では、同一の「50」の記号や意匠102を持つマーカ100を2個検出し、「50」の記号や意匠102に対応したキャラクタ60(この場合は「車」)を、それぞれの位置姿勢に応じて2台表示している。
【0043】
なお、勿論、神経衰弱ゲームであるから、他の記号や意匠102を持つカードが2枚目として裏返して置かれた状態を撮影する場合も多々あり、その場合には、その2枚目のカードに印刷されたマーカの記号や意匠102に対応するキャラクタが表示されることになる。
【0044】
そして、図6(C)のように、マーカの記号や意匠102が合致した場合には、絵合わせが成功であるので、そのことを呈示するために、図6(C)の画面33から、図6(D)乃至(F)に示すような画面34乃至36のように、表示を変遷させる。即ち、図6(D)の画面34は、1枚目に検出した「50」の記号や意匠102を持つマーカ100の位置から、2枚目に検出した「50」の記号や意匠102を持つマーカ100に向かって、キャラクタ60(この場合は「車」)が移動している様子を表示している。図6(E)の画面35は、そのキャラクタ60(この場合は「車」)の移動が完了し、一つの大きなキャラクタ61に表示を変更している。そして、図6(F)の画面36では、そのキャラクタ61に代えて、成功したことを示す文字62を表示している。
【0045】
このように、同一デザインのマーカを複数使用しても、それぞれのマーカを区別できる為に、例えば神経衰弱ゲームへの応用をはじめとして、種々の用途に応用することが可能となる。
【0046】
以上、一実施形態に基づいて本発明を説明したが、本発明は上述した一実施形態に限定されるものではなく、本発明の要旨の範囲内で種々の変形や応用が可能なことは勿論である。
【0047】
例えば、上記一実施形態では、制御部20の各構成をハードウェアとして実現した場合を説明したが、コンピュータプログラムの形態とし、それをコンピュータで実行することで同様の機能を実現するものであっても良い。その場合、コンピュータが備えるプログラムメモリに予めそのコンピュータプログラムを記憶させておいても良いし、CD−ROM等の記録媒体によって提供され、その記録媒体から読み込んでプログラムメモリに記憶させたものでも良い。更には、インターネットやLAN等のネットワークを介して外部の記録媒体に記録されたものをダウンロードして、プログラムメモリに記憶させたものであっても構わない。
【0048】
また、上記実施形態では、第1の画像と第2の画像の2画像を使用する場合についてのみ説明したが、3画像以上を用いても良いし、動きの予測を適用することも可能である。
【図面の簡単な説明】
【0049】
【図1】図1(A)は本発明の一実施形態に係る画像情報処理装置の構成を示す図であり、図1(B)は標識であるマーカの例を説明するための図である。
【図2】図2は画像情報処理装置の動作を説明するためのフローチャートを示す図である。
【図3】図3は図2中の同定処理の詳細を説明するためのフローチャートを示す図である。
【図4】図4は画像入力部で撮影しているマーカが1個から2個に増えた場合を説明するための第1及び第2の画像を示す図である。
【図5】図5は画像入力部で撮影しているマーカが2個から1個に減った場合を説明するための第1及び第2の画像を示す図である。
【図6】図6は同一のマーカを複数使用する場合の一例として神経衰弱ゲームに応用した場合を説明するための画面の遷移を示す図である。
【符号の説明】
【0050】
10…画像入力部、 20…制御部、 21…マーカ検出部、 22…位置姿勢検出部、 23…マーカ情報格納部、 24…関連情報生成部、 25…関連情報格納部、 26…重畳画像生成部、 30…表示部、 31,32,33,34,35,36…画面、 41,51…第1の画像、 42,52…第2の画像、 60,61…キャラクタ、 62…文字、 100…マーカ、 101…枠部、 102…記号や意匠、 200…カード。

【特許請求の範囲】
【請求項1】
画像情報を入力する画像情報入力手段と、
上記画像情報入力手段によって入力された画像情報の画像中において、標識を抽出する抽出手段と、
上記抽出手段で抽出された標識の上記画像中における位置を検出する位置検出手段と、
複数の画像において各々抽出された標識間の異同を判定する手段であり、少なくとも選択的に適用される判定条件として、上記位置検出手段によって検出された当該各標識の位置に基づく判定条件を具備する判定手段と、
を具備することを特徴とする画像情報処理装置。
【請求項2】
上記抽出手段で抽出された標識間の類似度を評価する類似度評価手段をさらに具備し、
上記判定手段は、上記類似度評価手段の評価結果だけでは上記標識間の異同の判定が出来ない場合に、上記位置検出手段によって検出された当該各標識の位置情報に基づいてこの判定を行う、
ことを特徴とする請求項1に記載の画像情報処理装置。
【請求項3】
上記判定手段は、上記位置検出手段によって検出された当該各標識の位置情報から導かれた当該各標識間の距離が、最も近い標識同士を同一と判定することを特徴とする請求項1に記載の画像情報処理装置。
【請求項4】
複数の画像を入力するステップと、
上記入力された各画像中において、標識を抽出するステップと、
上記抽出された標識の画像上の位置を検出するステップと、
少なくとも選択的に上記検出された上記標識の位置に基づく判定条件を適用して、上記入力された複数の画像において各々抽出された画像標識間の異同を判定するステップと、
を具備することを特徴とする、複数の画像間で各画像中に存在する標識の異同を判定する判定方法。
【請求項5】
上記抽出された標識間の類似度を評価するステップをさらに具備し、
上記画像標識間の異同を判定するステップは、上記類似度の評価結果だけでは上記標識間の異同の判定が出来ない場合に、上記位置を検出するステップによって検出された当該各標識の位置情報に基づいてこの判定を行う、
ことを特徴とする請求項4に記載の判定方法。
【請求項6】
上記画像標識間の異同を判定するステップは、上記位置を検出するステップによって検出された当該各標識の位置情報から導かれた当該各標識間の距離が、最も近い標識同士を同一と判定することを特徴とする請求項4に記載の判定方法。
【請求項7】
コンピュータに複数の画像間で各画像中に存在する標識の異同を判定させるコンピュータプログラムであり、コンピュータに、
複数の画像を入力させ、
上記入力された各画像中において、標識を抽出させ、
上記抽出された標識の画像上の位置を検出させ、
少なくとも選択的に上記検出された上記標識の位置に基づく判定条件を適用して、上記入力された複数の画像において各々抽出された画像標識間の異同を判定させる、
ことを特徴とする、コンピュータプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2006−154937(P2006−154937A)
【公開日】平成18年6月15日(2006.6.15)
【国際特許分類】
【出願番号】特願2004−340674(P2004−340674)
【出願日】平成16年11月25日(2004.11.25)
【出願人】(000000376)オリンパス株式会社 (11,466)
【Fターム(参考)】