以下、本発明に係るマーカ生成装置、マーカ生成検出システム、マーカ生成検出装置、マーカ、マーカ生成方法及びマーカ生成プログラムの好ましい実施形態について、図面を参照して説明する。
[マーカ生成装置及びマーカ生成方法の第一実施形態]
まず、本発明のマーカ生成装置及びマーカ生成方法の第一実施形態について、図1を参照して説明する。同図は、本実施形態のマーカ生成装置の構成を示すブロック図である。
(I)マーカ生成装置
図1に示すように、マーカ生成装置1aは、特徴比較手段10と、マーカパターン生成手段20とを備えている。
特徴比較手段10は、図2に示すように、特徴比較部11と、比較情報記憶部12とを有している。
特徴比較部11は、外部から「特異特徴情報テーブル」を入力する。また、特徴比較部11は、外部又はマーカパターン生成手段20から「識別子特徴情報テーブル」を入力する。これら「特異特徴情報テーブル」と「識別子特徴情報テーブル」は、比較情報記憶部12に記憶される。
「特異特徴情報テーブル」は、所定の空間に配置された特異特徴に関するデータをまとめたテーブルである。この「特異特徴情報テーブル」は、図3に示すように、「テーブルのシリアル番号」(ア)と、「特異特徴のシリアル番号」(イ)と、「特異特徴のx座標」(ウ)と、「特異特徴のy座標」(エ)とを項目として構成することができる。
「テーブルのシリアル番号」は、特異特徴情報テーブルが一又は二以上ある場合に、それら特異特徴情報テーブルのそれぞれに付された番号を示す。映像入力手段30(後述)で入力される映像が複数のフレーム画像で構成される場合は、各フレーム画像ごとに付された番号に相当する。
「特異特徴のシリアル番号」は、複数の特異特徴の一つ一つに付された番号を示す。
「特異特徴のx座標」は、所定の空間における、その特異特徴のx座標を示す。
「特異特徴のy座標」は、所定の空間における、その特異特徴のy座標を示す。
なお、所定の空間には、例えば、特徴空間、不変量特徴空間、特異特徴空間などが含まれる。
また、特徴空間、不変量特徴空間、特異特徴空間については、第二実施形態で詳細に説明する。さらに、特異特徴の抽出方法などについても、第二実施形態で詳細に説明する。
「識別子特徴情報テーブル」は、図4に示すように、「識別子のシリアル番号」(ア)と、「特徴点のシリアル番号」(イ)と、「特徴点のx座標」(ウ)と、「特徴点のy座標」(エ)とを項目として構成することができる。
「識別子のシリアル番号」は、一又は二以上の識別子のそれぞれに付された番号を示す。また、「識別子のシリアル番号」は、変換前の識別子と変換後の識別子とを区別して付された番号を示すことができる。
「特徴点のシリアル番号」は、識別子にもとづく一又は二以上の特徴点の一つ一つに付された番号を示す。
「特徴点のx座標」は、所定の空間における、その特徴点のx座標を示す。
「特徴点のy座標」は、所定の空間における、その特徴点のy座標を示す。
この「識別子特徴情報テーブル」は、比較情報記憶部12に一又は二以上記憶させることができる。
なお、「所定の空間」には、例えば、特徴空間、不変量特徴空間などが含まれる。
また、「特徴点」には、識別子から抽出された特徴点、特徴空間に配置された特徴点、不変量特徴空間に配置された不変特徴などが含まれる。
それら特徴空間、不変量特徴空間については、第三実施形態で詳細に説明する。さらに、不変特徴の抽出方法などについても、第三実施形態で詳細に説明する。
また、特徴比較部12は、比較情報記憶部12から「特異特徴情報テーブル」と「識別子特徴情報テーブル」を取り出す。
次いで、特徴比較部11は、「識別子特徴情報テーブル」を参照し、識別子の特徴点を所定の空間(例えば、特徴空間)に配置する。この特徴点が配置された所定の空間を、図5、図6に示す。図5は、識別子であるQRコードから抽出された特徴点を特徴空間に配置した様子を示す図である。図6は、特徴点が配置された区画を黒色で塗り潰した様子を示す図である。
続いて、特徴比較部11は、「特異特徴情報テーブル」から特異特徴の座標を取り出す。そして、特徴比較部11は、その座標にしたがって、特異特徴を所定の空間(例えば、特徴空間)に配置する。この特異特徴を配置した所定の空間を、図7に示す。同図において、白色の区画が特異特徴である。
そして、特徴比較部11は、特異特徴と一致する識別子の特徴点を選択し、その数をカウントする。
この処理は、図7に示す特異特徴の配置と、図6に示す特徴点の配置とを重ね合わせて一致するか否かを判断することで行うことができる。また、その判断は、識別子の特徴点の座標と特異特徴の座標とを比較照合して一致しているか否かを判断することで行うことができる。
すなわち、特徴比較部11は、特異特徴が配置された所定の空間に識別子の特徴点を配置し、特異特徴と同じ区画に配置された識別子の特徴点の数をカウントする。
この重ね合わせた結果を、図8に示す。図8中、二重四角で示した区画が、特異特徴と一致する特徴点が配置された区画を示している。この同図に示す場合では、識別子の特徴点247個のうち26個が特異特徴と一致している。このカウント数(図8においては、26個)は、比較情報記憶部12に記憶される。
次いで、特徴比較部11は、まだ特異特徴との一致処理を実行していない「識別子特徴情報テーブル」が特徴比較部12に記憶されているか否かを判断する。
判断の結果、その「識別子特徴情報テーブル」があるときは、その「識別子特徴情報テーブル」を比較情報記憶部12から取り出す。
そして、特徴比較部11は、その「識別子特徴情報テーブル」について、上述した内容の一致処理を実行する。さらに、特徴比較部11は、特異特徴と一致する識別子の特徴点の配置された区画の数をカウントし、このカウント値を比較情報記憶部12に記憶させる。
比較情報記憶部12は、特徴比較部11で実行される一致処理(所定の空間において、特異特徴と一致する特徴点の数をカウントする処理)に関するデータやプログラムを記憶する。
また、比較情報記憶部12は、「特異特徴情報テーブル」、「識別子特徴情報テーブル」、一致処理で得られたカウント値などを記憶する。
カウント値は、変換前又は変換後の識別子に付された番号に関連付けて記憶される。このカウント値は、マーカパターン記憶部22にも記憶される。
マーカパターン生成手段20は、図2に示すように、マーカパターン生成部21と、マーカパターン記憶部22とを有している。
マーカパターン生成部21は、識別子に関するデータを外部から入力する。この識別子に関するデータには、識別子のデータ領域に表されたデータを含む。識別子に関するデータは、マーカパターン記憶部22に記憶される。
また、マーカパターン生成部21は、所定の規則にしたがって、識別子の変換処理を実行する。識別子の変換処理とは、識別子のデータ領域に表されたデータについて、そのデータ自体は同じ値を維持しつつ、配列パターンを変換する処理をいう。
具体的には、次の方法で行うことができる。
識別子の例を図9(i)に示す。本実施形態において、識別子は、QRコードを用いるものとする。ただし、識別子は、QRコードに限るものではなく、バーコードや二次元コードなど、種々のコードを含むことができる。
ここで、識別子であるQRコードは、位置決め用シンボルと、データ領域とを有している。
位置決め用シンボルは、データ領域に示されたデータの読み取り方向を決めるために、QRコードの角部に配置された記号である。この位置決め用シンボルを検出することで、QRコードの角や端を特定でき、データ領域の読み取り範囲や読み取り方向を特定できる。
データ領域は、データが表された領域である。QRコードでは、位置決め用シンボル以外のほとんどの部分がデータ領域に該当する。このデータ領域では、データが通常白セル又は黒セルの2値で表される。
マーカパターン生成部21は、外部から入力した識別子に関するデータにより、当該識別子が、例えば図9(i)に示すデータの配置パターンを有していることを認識できる。
また、マーカパターン生成部21は、マーカパターン記憶部22から変換用マトリックスパターンを取り出す。
変換用マトリックスパターンは、識別子のデータ配置パターンを変換する際に用いられるもので、例えば、同図(ii)に示すようなパターンとなっている。
この変換用マトリックスパターンが示す白セル又は黒セルの表示パターンは、任意に決めることができ、あるいは、所定の規則にしたがって決めることもできる。後者の場合の例として、例えば、白セルを二つ、黒セルを一つの順で繰り返し配置した場合などがある(例えば、図13参照)。
マーカパターン生成部21は、変換用マトリックスパターンを用いて、識別子のデータ領域の各セルごとに、データを変換する。つまり、変換用マトリックスウパターンのセルの色(データ)が何色かによって、このセルに対応する識別子のデータ領域の一のセルの変換の仕方が決まる。
このデータ変換は、所定の規則にしたがって行われる。所定の規則には、例えば、排他的論理和(Exclusive-OR)などの論理式を用いることができる(図9(iii))。
具体的には、例えば、変換用マトリックスパターンの一のセルの色(データ)が白の場合、対応する識別子のセルのデータは、そのままで変換しない。つまり、白セルは白セルのまま、黒セルは黒セルのままとなる。
一方、変換用マトリックスパターンの一のセルの色(データ)が黒の場合、対応する識別子のセルのデータは、反転させる。つまり、白セルは黒セルに変換され、黒セルは白セルに変換される。
この規則にしたがって、図9(i)に示した識別子の各セルのデータを変換した結果を図9(iv)に示す。
次いで、マーカパターン生成部21は、変換後の識別子から特徴点を抽出する。この抽出した特徴点を図10に示す。
続いて、マーカパターン生成部21は、図11に示すように、抽出した特徴点を特徴空間に配置する。また、マーカパターン生成部21は、その特徴空間を複数の区画で区切り、各区画ごとに、配置された特徴点の数を求める。さらに、マーカパターン生成部21は、特徴点の数が所定数以上の区画を選択する。図11においては、特徴点の数が「1」以上の区画を、黒色で表示してある。
そして、マーカパターン生成部21は、この特徴点が所定数配置された区画の座標を含む「識別子特徴情報テーブル」を生成する。マーカパターン生成部21は、生成した「識別子特徴情報テーブル」を比較情報記憶部12及びマーカパターン記憶部22に記憶させる。
この「識別子特徴情報テーブル」が比較情報記憶部12に記憶されることで、特徴比較部11は、その「識別子特徴情報テーブル」を参照して、一致処理を実行する。つまり、図7に示した特徴空間に、変換後の識別子から抽出された特徴点を含む区画を配置する。この配置した様子を図12に示す。そして、特徴比較部11は、特異特徴と一致する特徴点の数をカウントし、このカウント値を比較情報記憶部12に記憶させる。なお、図12においては、カウント値が「20」である。
同様に、マーカパターン生成部21は、さらに他の変換用マトリックスパターン(図13)がマーカパターン記憶部22に記憶されているときは、これを取り出して、識別子のデータを変換する。この変換結果を図14に示す。
次いで、マーカパターン生成部21は、変換後の識別子について、特徴点を抽出する。この抽出した特徴点を図15に示す。
続いて、マーカパターン生成部21は、抽出した特徴点を特徴空間に配置し、この特徴空間を複数の区画で区切り、各区画ごとに、配置された特徴点の数を求める。そして、マーカパターン生成部21は、特徴点の数が所定数以上の区画を選択する。この選択した様子を図16に示す。同図は、特徴点の数が「1」以上の区画においては、黒色で表示してある。
そして、マーカパターン生成部21は、この特徴点が所定数配置された区画の座標を含む「識別子特徴情報テーブル」を生成する。マーカパターン生成部21は、生成した「識別子特徴情報テーブル」を比較情報記憶部12及びマーカパターン記憶部22に記憶させる。
この「識別子特徴情報テーブル」が比較情報記憶部12に記憶されることで、特徴比較部11は、その「識別子特徴情報テーブル」を参照して、一致処理を実行する。つまり、図7に示した特徴空間に、変換後の識別子から抽出された特徴点を含む区画を配置する。この配置した様子を図17に示す。そして、特徴比較部11は、特異特徴と一致する特徴点の数をカウントし、このカウント値を比較情報記憶部12に記憶させる。なお、図17においては、カウント値が「17」である。
さらに、マーカパターン生成部21は、変換前の識別子と変換後の一又は二以上の識別子のうち、カウント値が最も大きい識別子を選択する。
ここで、変換前の識別子のカウント値は、「26」である(図8参照)。また、図9(ii)の変換用マトリックスパターンで変換された識別子のカウント値は、「20」である(図12参照)。そして、図13の変換用マトリックスパターンで変換された識別子のカウント値は、「17」である(図17参照)。これらのうちカウント値が最も大きいのは、変換前の識別子である。マーカパターン生成部21は、この変換前の識別子を、検出用マーカとして選択する。
なお、識別子であるQRコードをデコードする場合は、単一のマトリックスパターンのみで処理している場合は、直ちにデコードできるが、複数のマトリックスパターンから選択されて変換処理されている場合は、どのセル特徴の変換用マトリックスパターンを使用したかを判別する必要がある。よって、QRコードの変換処理に使用したセル特徴の変換用マトリックスパターンの種別情報をデータとしてQRコード内に入れておくとよい。これにより、デコード処理は、QRコード内から変換処理に使用したマトリックスパターン情報を読み取り、これに対応したセル特徴の変換用マトリックスパターンとExclusive-ORをとるだけで簡単に元のデータセルに変換できる。
(II)マーカ生成方法
次に、本実施形態のマーカ生成装置の動作(マーカ生成方法)について、図18を参照して説明する。
同図は、本実施形態のマーカ生成方法の所定手順を示すフローチャートである。
特徴比較手段10の特徴比較部11は、「特異特徴情報テーブル」を外部から入力する。比較情報記憶部12は、その「特異特徴情報テーブル」を記憶する(ステップ10)。
また、特徴比較部11は、「識別子特徴情報テーブル」を外部又はマーカパターン生成手段20から入力する。比較情報記憶部12は、その「識別子特徴情報テーブル」を記憶する(ステップ11)。
特徴比較部11は、比較情報記憶部12から「特異特徴情報テーブル」を取り出す(ステップ12)。また、特徴比較部11は、比較情報記憶部12から「識別子特徴情報テーブル」を取り出す(ステップ13)。
さらに、特徴比較部11は、「特異特徴情報テーブル」から特異特徴の座標を取り出す。そして、特徴比較部11は、その座標にしたがって、特異特徴を所定の空間に配置する。
また、特徴比較部11は、「識別子特徴情報テーブル」の「特徴点のシリアル番号」に示された特徴点のそれぞれを、「特徴点のx座標」に示されたx座標と、「特徴点のy座標」に示されたy座標にしたがって所定の空間に配置する(ステップ14)。
次いで、特徴比較部11は、特異特徴と一致している識別子の特徴点を含む区画を選択する(ステップ15)。
すなわち、特徴比較部11は、所定の空間に特異特徴を配置するとともに識別子の特徴点を含む区画を配置し、これら特徴点を含む区画のうち特異特徴と一致したものを選択する。
そして、特徴比較部11は、特異特徴と一致する識別子の特徴点を含む区画の数をカウントする(ステップ16)。比較情報記憶部12は、そのカウント数を記憶する。
比較情報記憶部12にカウント値が記憶されると、マーカパターン生成手段20のマーカパターン生成部21は、マーカパターン記憶部22に変換用マトリックスパターンが記憶されているか否かを判断する(ステップ17)。
判断の結果、記憶されているときは、マーカパターン生成部21は、その変換用マトリックスパターンをマーカパターン記憶部22から取り出し、この変換用マトリックスパターンを用いて、識別子のデータ領域に表されたデータの配置パターンを変換する(識別子の変換処理、ステップ18)。
一方、記憶されていないときは、マーカパターン生成部21は、識別子の変換処理を実行しない。このときは、ステップ21へ進む。
マーカパターン生成部21は、識別子の変換処理を実行すると、変換後の識別子から特徴点を抽出し、この特徴点に関する「識別子特徴情報テーブル」を生成し、これを比較情報記憶部12と、マーカパターン記憶部22に記憶させる(ステップ19)。
続いて、特徴比較部11は、ステップ14〜ステップ16の処理をまだ行っていない「識別子特徴情報テーブル」が比較情報記憶部12に記憶されているか否か、すなわち、マーカパターン生成部21により新たに生成された「識別子特徴情報テーブル」が比較情報記憶部12に記憶されているか否かを判断する(ステップ20)。
判断の結果、記憶されているときは、その「識別子特徴情報テーブル」を比較情報記憶部12から取り出してステップ14〜ステップ16の処理を実行する。
一方、記憶されていないときは、特異特徴と一致する識別子の特徴点の数が最も多いパターンの識別子を検出用マーカとして選択する(ステップ21)。
このような方法により、検出用マーカとして使用するのに最適な識別子のパターンを選択することができる。
以上説明したように、本実施形態のマーカ生成装置及びマーカ生成方法によれば、識別子のデータ配置パターンごとに、それぞれ特徴点を抽出し、この特徴点を所定の空間に配置し、特異特徴と一致する特徴点の数が最も多いデータ配置パターンの識別子を検出用マーカとすることとした。これにより、検出用マーカとして最適な識別子を選択できる。
なお、図4に示す識別子特徴情報テーブルと、図5、図6、図8に示す特徴空間は、識別子単体にもとづく特徴点について表したが、識別子単体に限るものではなく、例えば、識別子を含む背景から特徴点を抽出し、この特徴点について識別子特徴情報テーブルを作成し、特徴空間に配置し、特異特徴と比較することもできる。
また、本実施形態においては、識別子の例としてQRコードを挙げたが、識別子はQRコードに限るものではなく、所定の規則(プログラム)によりデータを記号化した識別子であればよい。
[第二実施形態]
次に、本発明のマーカ生成装置及びマーカ生成方法の第二の実施形態について、図19を参照して説明する。
同図は、本実施形態のマーカ生成装置の構成を示すブロック図である。
本実施形態は、第一実施形態と比較して、映像入力手段、特徴抽出手段を新たに備えた点が相違する。他の構成要素は第一実施形態と同様である。
したがって、図19において、図1と同様の構成部分については同一の符号を付して、その詳細な説明を省略する。
(I)マーカ生成装置
図19に示すように、マーカ生成装置1bは、特徴比較手段10と、マーカパターン生成手段20と、映像入力手段30と、特徴抽出手段40とを備えている。
ここで、映像入力手段30は、図20に示すように、映像入力部31と、映像記憶部32とを有している。
映像入力部31は、背景映像を撮影又は入力する。
背景映像は、判断対象である識別子(検出用マーカとして使用するデータ配置パターンを選択しようとする識別子)が存在しない環境を撮影したものである。例えば、物体を搬送するベルトコンベアがある場合に、その判断対象である識別子が付されていない物体を搬送している状態のベルトコンベア及びその周辺を撮影した映像などが該当する。
この背景映像は、動画像(映像)であってもよく、また、所定時間間隔で撮影した複数枚の静止画像であってもよい。
さらに、背景映像には、ライブ映像、録画映像、配信映像などを含むことができる。
また、映像入力部31は、判断対象である識別子を単体で(ブルーバックなどを用いて)撮影することができる。この撮影された映像は、識別子単体映像とする。
さらに、映像入力部31は、判断対象である識別子が存在する環境を撮影することもできる。この撮影された映像は、識別子環境映像とする。
また、映像入力部31は、自身が撮像デバイスを有することができる。この場合、映像入力部31は、当該マーカ生成装置1bが設置された場所の周囲の様子を背景映像として撮影することができる。
さらに、映像入力部31は、当該マーカ生成装置1b以外の装置で取り込まれた背景映像を、通信ネットワークや通信ケーブルなどを介して入力することもできる。
この映像入力部31が入力した背景映像の例を、図21に示す。
映像記憶部32は、背景映像を構成する静止画フレームを、ディジタイズされたフレーム画像として記憶する。背景映像を構成する静止画フレームとは、例えば、図21に示すような画像が複数枚ある場合に、それら画像の一枚一枚をいう。
また、映像記憶部32は、複数のフレーム画像のそれぞれに付された番号(例えば、シリアル番号)を記憶する。
さらに、映像記憶部32は、フレーム画像が撮影された時刻、フレーム画像を撮影した装置を特定する情報(フレーム画像が外部入力されたものである場合)などを記憶することもできる。
特徴抽出手段40は、図20に示すように、背景特徴抽出部41と、識別子特徴抽出部42と、特徴記憶部43とを有している。
背景特徴抽出部41は、映像記憶部32からフレーム画像を取り出す。そして、背景特徴抽出部41は、取り出したフレーム画像中の特徴的なパターンを含む画像特徴を抽出する。
画像特徴は、例えば、図形的に特徴的な特性を数値化したものを用いることができる。
これには、例えば、1998年IEEEコンピュータビジョン・パターン認識会議予稿集に掲載されているTommasiniらによる「Making good features track better」に記載されている方法を使用することができる。この方法は、画像中の物体形状に頂点、線状の物体の交差点、端点などを抽出することができる。そして、それらの点の画像上での位置座標情報の系列を図形的特徴とすることができる。例えば、図21のフレーム画像に対して、この方法で特徴点を抽出すると、図22に示すように、特徴点が複数配置される。特徴点の一つ一つは、座標により管理することができる。
なお、特徴点が配置された空間を特徴空間という。この特徴空間は、二次元空間であってもよく、また、三次元空間であってもよい。本実施形態の特徴空間は、二次元空間とする。
また、他の方法としては、例えば、Montanariによる1971年Communications of ACM、14巻に掲載されている「On the option detection of curves in noisy pictures」に記載の方法がある。これは、基準点からの距離、相対角度を記憶するRテーブルの内容を特徴として使用することができる。この際、基準点をすべての特徴位置に対して設定し、網羅的に特徴を抽出しておくことで、部分的な特徴の欠損に対してマーカの検出が頑健となる。
さらに、他の特徴抽出方法としては、例えば、画像上の各画素の輝度値、あるいは色差値を特徴とする方法がある。
次いで、背景特徴抽出部41は、図23に示すように、特徴点のそれぞれにシリアル番号を付与する。このシリアル番号は、例えば、最も上に位置するものから順番にt1、t2、t3、t4、・・・のように付与することができる。
続いて、背景特徴抽出部41は、特徴点のそれぞれの座標を求める。座標は、図23に示すように、特徴空間にX軸とY軸を設定し、Y軸からの距離をX座標、X軸からの距離をY座標とすることができる。
そして、背景特徴抽出部41は、それら特徴点のシリアル番号や座標を特徴記憶部43に記憶させる。特徴記憶部43は、それらシリアル番号等を、図24に示すように、「特徴点情報テーブル」として記憶することができる。
「特徴点情報テーブル」は、同図に示すように、「フレーム画像のシリアル番号」(ア)と、「特徴点のシリアル番号」(イ)と、「特徴点のx座標」(ウ)と、「特徴点のy座標」(エ)とを項目として構成することができる。
「フレーム画像のシリアル番号」は、特徴点を抽出したフレーム画像に付された番号を示す。
「特徴点のシリアル番号」は、複数の特徴点のそれぞれに付された番号を示す。具体的には、図23の「t1」や「t15」などが該当する。
「特徴点のx座標」は、特徴空間における、その特徴点のx座標を示す。
「特徴点のy座標」は、特徴空間における、その特徴点のy座標を示す。
次いで、背景特徴抽出部41は、図25に示すように、特徴空間に格子状のメッシュを付して、複数の区画に分ける。
このとき、背景特徴抽出部41は、各区画の座標を算出する。この各区画の座標は、各区画を仕切る線(区画線)の座標で表すことができる。
例えば、図26に示すように、仕切り線の座標を、x1,x2,x3,・・・、y1,y2,y3,・・・とする。
また、各区画の名称を、区画(1,1)、区画(1,2)、区画(1,3)、・・・、区画(2,1)、区画(2,2)、区画(2,3)、・・・とする。このうち、区画(1,1)は、座標(0,0)-(x1,0)-(x1,y1)-(0,y1)-(0,0)で囲まれた範囲となる。
ここで、x1は、X方向の第一本目の区画線のx座標である。また、y1は、Y方向の第一本目の区画線のy座標である。これにより、区画(1,1)の座標は、図27に示すように、(x1,y1)として表すことができる。
同様に、区画(2,1)の座標は、(x2,y1)、区画(3,1)の座標は、(x3,y1)、区画(1,2)の座標は、(x1,y2)、区画(2,2)の座標は、(x2,y2)として表すことができる。
これら各区画の名称と座標との関係を、図27に示す。それら各区画の名称と座標は、区画座標テーブルとして、特徴記憶部43に記憶させることができる。
また、一つの区画の大きさは、任意に設定できる。ただし、一つの区画の大きさは、特徴点が存在しない区画が特徴空間の中で少なくとも2〜3個以上存在するように定めるのが望ましい。
続いて、背景特徴抽出部41は、各区画ごとに特徴点の数を求める。
この各区画ごとの特徴点の数の算出は、各区画の座標と、各特徴点の座標とを用いて行うことができる。
算出された各区画ごとの特徴点の数は、図28に示すように、特徴点数分布図(頻度分布)として表すことができる。この特徴点数分布図は、特徴記憶部43に記憶される。
なお、図28においては、わかりやすいように、特徴点が1つ以上存在した区画にグレーの網掛けを付して表示してある。
また、背景特徴抽出部41は、特徴点の数が0又は所定数以下の区画を、特異特徴として選択する。例えば、図28に示す特徴点数分布図においては、(x1,y1)、(x2,y1)、(x3,y1)等が特異特徴として選択される。
そして、特徴抽出部21は、選択した特異特徴の座標を示す「特異特徴情報テーブル」を作成する(図3参照)。この特異特徴情報テーブルは、特徴記憶部12に記憶させる。
識別子特徴抽出部42は、映像入力部31で撮影又は入力された識別子の映像にもとづいて特徴点を抽出する。
例えば、その入力された識別子が図9(i)に示すようなデータの配置であったとする。識別子特徴抽出部42は、その識別子から特徴点を抽出する。この抽出の方法は、背景特徴抽出部41が実行する抽出方法と同じである。
識別子特徴抽出部42が図20に示す識別子から抽出した特徴点は、図29に示すように表わされる。
また、識別子特徴抽出部42は、抽出した特徴点を特徴空間に配置する。この特徴点が配置された特徴空間を、図30に示す。
そして、識別子特徴抽出部42は、特徴空間における各特徴点の座標を算出する。識別子特徴抽出部42は、この算出した特徴点の座標を「識別子特徴情報テーブル」としてまとめる(図4参照)。この「識別子特徴情報テーブル」は、特徴記憶部12に記憶される。
特徴記憶部43は、「特徴点情報テーブル」、「区画座標テーブル」、「特徴点数分布図」を記憶する。
特徴比較手段10は、図20に示すように、特徴比較部11と、比較情報記憶部12とを有している。
特徴比較部11は、「識別子特徴情報テーブル」に示された特徴点を特徴空間に配置する。また、特徴比較部11は、識別子の特徴点が配置された特徴空間に区画線を付して複数の区画に分ける。さらに、特徴比較部11は、特徴点が所定数(本実施形態においては、「1」)以上ある区画を特定する。この特定された区画を、図6に示した。同図においては、黒く塗り潰された区画が、特徴点が所定数以上ある区画である。
また、特徴比較部11は、「特異特徴情報テーブル」に示された特異特徴を特徴空間に配置する。さらに、特徴比較部11は、その特徴空間に、識別子の特徴点を含む区画を配置する。これら配置した様子を図8に示す。
同図においては、白色の区画が特異特徴の配置された区画、グレーが特異特徴の配置されなかった区画、黒色が識別子の特徴点の配置された区画、二重四角が特徴点を含む区画と特異特徴とが重なった区画を示す。
さらに、特徴比較部11は、特異特徴と一致した識別子の特徴点を選択する。
同図においては、二重四角で示した区画が該当する。そして、特徴比較部11は、その区画の数をカウントする。同図においては、26個である。
比較情報記憶部12は、カウント数を記憶する。
マーカパターン生成手段20は、第一実施形態のマーカパターン生成手段20と同様の処理を実行する。
(II)マーカ生成方法
次に、マーカ生成装置の動作手順(マーカ生成方法)について、図31を参照して説明する。
図31は、マーカ生成方法の処理手順を示すフローチャートである。
マーカ生成装置1bにおいて、映像入力手段30の映像入力部31は、背景映像を撮影(又は入力)する(ステップ30)。この背景映像は、複数枚のフレーム画像で構成することができる。映像入力手段30の映像記憶部32は、映像入力部31で入力された背景映像をフレーム画像として記憶する。
また、映像入力部31は、判断対象である識別子を映像として撮影(又は入力)する(ステップ31)。映像記憶部32は、映像入力部31で入力された識別子の映像を記憶する。
特徴抽出手段40の背景特徴抽出部41は、映像記憶部32からフレーム画像を取り出し、このフレーム画像から特徴点を抽出する(ステップ32)。
また、背景特徴抽出部41は、それら特徴点を特徴空間に配置する。そして、背景特徴抽出部41は、特徴空間における特徴点の座標を算出する。この算出した座標は、「特徴点情報テーブル」としてまとめられ、特徴記憶部43に記憶される。
次いで、背景特徴抽出部41は、特徴空間に格子状のメッシュを付して、複数の区画に分ける。続いて、背景特徴抽出部41は、各区画ごとに特徴点の数を求め、特徴点が0又は所定数以下の区画を特異特徴として選択する(ステップ33)。
そして、背景特徴抽出部41は、選択した特異特徴の座標を示す「特異特徴情報テーブル」を作成する。特徴比較手段10の比較情報記憶部12は、「特異特徴情報テーブル」を記憶する(ステップ34)。
特徴抽出手段40の識別子特徴抽出部42は、映像記憶部32から識別子の画像を取り出し、この識別子の画像から特徴点を抽出する(ステップ35)。
また、識別子特徴抽出部42は、それら特徴点を特徴空間に配置する。そして、識別子特徴抽出部42は、特徴空間における特徴点の座標を算出する。この算出した座標は、「識別子特徴情報テーブル」としてまとめられ、特徴比較手段10の比較情報記憶部12に記憶される。
以降の処理は、図18のステップ12〜ステップ21と同様である。
以上、説明したように、本実施形態のマーカ生成装置及びマーカ生成方法によれば、判断対象である識別子から特徴点を抽出し、この特徴点を特徴空間に配置し、特異特徴と一致する特徴点の数をカウントし、識別子のデータ配置パターンを変換し、この変換を行うごとに特異特徴と一致する特徴点の数をカウントし、カウント値が最も大きい識別子を検出用マーカとして選択することとした。これにより、検出用マーカとして最適な識別子を選択できる。
なお、図29は、識別子から抽出した特徴点を示し、図30は、その特徴点が配置された特徴空間を示したが、特徴点の抽出は、識別子単体に限るものではなく、例えば、識別子を含む背景から特徴点を抽出することもできる。この場合、それら識別子及び背景から抽出した特徴点について識別子特徴情報テーブルを作成し、それら特徴点を特徴空間に配置し、特異特徴と一致するか否かを判断する。判断の結果、特異特徴と一致する特徴点の数が所定数以上であるときは、その識別子を検出用マーカとして使用できるものと判断できる。
また、本実施形態においては、識別子の例としてQRコードを挙げたが、識別子はQRコードに限るものではなく、所定の規則(プログラム)によりデータを記号化した識別子であればよい。
[第三実施形態]
次に、本発明のマーカ生成装置及びマーカ生成方法の第三の実施形態について、図32を参照して説明する。
同図は、本実施形態のマーカ生成装置の構成を示すブロック図である。
本実施形態は、第一実施形態と比較して、映像入力手段、特徴抽出手段、不変特徴変換手段を新たに設けた点が相違する。他の構成要素は第一実施形態と同様である。
したがって、図32において、図1と同様の構成部分については同一の符号を付して、その詳細な説明を省略する。
(I)マーカ生成装置
図32に示すように、マーカ生成装置1cは、特徴比較手段10と、マーカパターン生成手段20と、映像入力手段30と、特徴抽出手段40と、不変特徴変換手段50とを備えている。
ここで、特徴抽出手段40は、図33に示すように、背景特徴抽出部41と、識別子特徴抽出部42と、特徴記憶部43とを有している。
背景特徴抽出部41は、映像記憶部32からフレーム画像を取り出し、このフレーム画像中の特徴的なパターンを含む画像特徴を抽出する。
次いで、背景特徴抽出部41は、図23に示すように、特徴点のそれぞれにシリアル番号を付与する。続いて、背景特徴抽出部41は、特徴点のそれぞれの座標を求める。
そして、背景特徴抽出部41は、それら特徴点のシリアル番号や座標を、「特徴点情報テーブル」にまとめて特徴記憶部43に記憶させる。
識別子特徴抽出部42は、映像入力部31で入力された識別子の映像にもとづいて特徴点を抽出する。また、識別子特徴抽出部42は、抽出した特徴点を特徴空間に配置する。
この特徴点が配置された特徴空間は、例えば図5に示したようになる。
さらに、識別子特徴抽出部42は、特徴空間における各特徴点の座標を算出する。識別子特徴抽出部42は、この算出した特徴点の座標を「識別子特徴情報テーブル」としてまとめる(図4参照)。この「識別子特徴情報テーブル」は、特徴比較手段10の比較情報記憶部12に記憶される。
特徴記憶部43は、「特徴点情報テーブル」を記憶する。
不変特徴変換手段50は、図33に示すように、第一不変特徴変換部51と、第二不変特徴変換部52と、不変特徴記憶部53と、特異特徴選択部54とを有している。
第一不変特徴変換部51は、特徴点を不変特徴に変換する。この第一不変特徴変換部51は、特徴抽出手段40の特徴記憶部43から「特徴点情報テーブル」を取り出し、その特徴点を不変特徴に変換し、不変特徴記憶部53に記憶させる。
画像の特徴的な部位を抽出しその画像上での位置座標情報の系列を図形的特徴とする場合(例えば、図21に示す背景映像から図22に示す特徴点を抽出する処理の場合)、それらの不変特徴への変換は、例えば、次のように行なうことができる。便宜的に、ここでは、位置座標情報の系列を特徴点群と呼ぶこととする。ここで、簡単のため、背景が遠方にある場合の幾何学的な不変特徴について説明する。ただし、光学歪みの影響で、画像が剪断変形歪みを被る場合も特徴量が不変となるように配慮する。なお、背景が遠方にない場合などより自由度の高い不変特徴に拡張することは容易である。幾何学的不変特徴すなわちカメラと撮影対象のシーンが相対的に回転、平行移動し、剪断変形歪みを被る場合に、その相対的な位置関係変化によらず、不変な特徴量を、特徴点群の位置関係から、生成する方法の一例を説明する。
特徴点群から任意の3点の特徴点を選択する。他方で不変量特徴空間を直交する2軸の張る2次元平面として定義する。特徴点群から選択した特徴点のうちの一点を不変量特徴空間での原点に対応付ける。その他の2点を不変量特徴空間での、位置座標(1,0)及び(0,1)にそれぞれ対応付ける。これら3点を基底と呼ぶことにする。このとき、原画像空間から、不変量特徴空間への1対1線形写像がアフィン変換として定義できる。基底を除くすべての特徴点群を、基底により特徴付けられた同一のアフィン変換を用いて不変特徴空間へ写像すると、これら特徴点群はカメラとシーンの相対的位置関係によらず不変となる。ただし、実際には、シーンから常に同じ基底を選択できるとは限らないため、特徴点群のすべての3点の順列組み合わせから基底選択を行い、各基底に対する非基底特徴点を不変量特徴空間に写像する必要がある。
こうして作られた全基底と、不変量特徴空間への全特徴点の写像は、不変特徴として、不変特徴記憶部53に記憶される。これら特徴点群が幾何変形に対して不変である理由は、他の物体を含む映像中で、マーカから選択される基底により、得られる不変特徴は、常に一致するためである。
ここまで説明した手法は、基底を3点とした場合であるが、基底は3点に限るものではなく、1点、2点あるいは4点以上とすることができる。次に、基底を1点にした場合について説明する。
あるフレーム画像から抽出した特徴点は、図22に示すように、特徴空間に配置されているものとする。また、各特徴点には、図23に示すように、シリアル番号が付されているものとする。
第一不変特徴変換部51は、一つの特徴点を基底として定め、この基底が不変量特徴空間の座標(0,0)のところにくるように移動し、この移動量を求め、他のすべての特徴点についても、その移動量で不変量特徴空間に移動する。
例えば、図34に示すように、シリアル番号5番の特徴点を基底とし、この5番の特徴点が不変量特徴空間で座標(0,0)のところにくるように、すべての特徴点を平行移動する。これにより、不変量特徴空間には、同図右に示すように特徴点が配置される。なお、不変量特徴空間に配置された特徴点を不変特徴という。
また、図35に示すように、シリアル番号15番の特徴点を基底とし、この15番の特徴点が不変量特徴空間で座標(0,0)のところにくるように、すべての特徴点を平行移動すると、同図右の不変量特徴空間に示すように、不変特徴群が配置される。
さらに、図36に示すように、シリアル番号89番の特徴点を基底とし、この89番の特徴点が不変量特徴空間で座標(0,0)のところにくるように、すべての特徴点を平行移動すると、同図右の不変量特徴空間に示すように、不変特徴群が配置される。
そして、図37に示すように、シリアル番号91番の特徴点を基底とし、この91番の特徴点が不変量特徴空間で座標(0,0)のところにくるように、すべての特徴点を平行移動すると、同図右の不変量特徴空間に示すように、不変特徴群が配置される。
このように、一つの特徴点を基底として定め、この基底を不変量特徴空間の原点に移動するのに伴って、その移動量と同じ移動量ですべての特徴点を移動させる処理を、各特徴点を順次基底として定めるごとに行い、これら移動後の特徴点を重ね合わせることで、特徴点を不変量特徴空間に写像する。
図22に示す特徴点を不変量特徴空間に写像した結果は、図38に示すようになる。これが、不変量特徴空間における不変特徴の配置された状態である。
なお、本実施形態において、特徴点を不変量特徴空間へ写像する方法は、図34〜図38に示す方法とするが、写像方法は、この方法に限るものではなく、種々の方法を用いることができる。
例えば、複数の特徴点のうちの一つを第一基底、他の一つを第二基底として定め、第一基底を不変量特徴空間の座標(0,0)に移動し、第二基底を(0,1)に移動することにともない、この移動規則と同一の変換規則にしたがって、すべての特徴点を移動させ、不変量特徴空間における移動後の各特徴点(不変特徴)の座標を記憶する。続いて、他の二つの特徴点を第一基底及び第二基底として定め、これら第一及び第二基底の移動にともない同一変換規則にしたがってすべての特徴点を移動させ、不変量特徴空間における不変特徴の座標を記憶する。そして、すべての特徴点が第一及び第二基底として定められ、不変量特徴空間における不変特徴の座標の蓄積が完了すると、不変量特徴空間への写像が終了する。
また、上述の説明は、幾何学的不変量に関するものであるが、幾何学的不変量のほかに種々の不変量を使用してもよい。
例えば、物体色を不変量として用いることができる。
物体の色は、同一物体であっても撮影環境に存在する光源色に依存して、異なった色で撮影されてしまう。画像上から光源色変動の影響を分離して取り除くことができれば、実際の物体色を得ることができる。得られる実際の物体色を物体色不変量として使用してもよい。鏡面反射している箇所は光源色の影響が支配的で、輝度値が光源色成分において飽和しやすいため、これを光源色とみなして、飽和箇所に対応する色成分を不変特徴として選択しないようにしてもよい。
他にも、画像から物体色を推定する方法には、Robby T. Tan and Katsushi Ikeuchiによる、IEEE TRANSACTIONS ON PATTERN ANALYSIS AND MACHINE INTELLIGENCE、VOL. 27、NO. 2、FEBRUARY 2005、pp.178-193に記載の「Separating Reflection Components of Textured Surfaces Using a Single Image」や、Graham D. Finlayson、Steven D. Hordley、Cheng Lu、and Mark S. Drewによる、IEEE TRANSACTIONS ON PATTERN ANALYSIS AND MACHINE INTELLIGENT、 VOL.28、NO.1、JANUARY 2006、pp.59-68、に記載の「On the Removal of Shadows from Images」などを使用してもよい。
さらに、テクスチャを不変量として用いることができる。
画像の部分領域の輝度分布に対して数値演算を施し得られた数値またはベクトルを特徴量とする。図形的不変量と同様にテクスチャ不変量はカメラと撮影対象との相対位置関係に影響を受けやすいため、この影響を受けにくい特徴量を算出し、テクスチャ不変量とする。例えば、カメラと対象の距離やズームに不変な特徴量は、注目している部分画像を極座標変換し、動径方向にパワースペクトルをとることで実装可能である。さらに、上記パワースペクトルに対して方位角方向に再度パワースペクトルを求めるとカメラの光軸周りの回転に対して不変な特徴量となる。その他、Chi-Man Pun and Moon-Chuen LeeによるIEEE TRANSACTIONS ON PATTERN ANALYSIS AND MACHINE INTELLIGENCE、VOL. 25、NO. 5、MAY 2003記載の「Log-Polar Wavelet Energy Signatures for Rotation and Scale Invariant Texture Classification」などの方法を用いてもよい。
また、幾何学的不変量についても、Richard Hartley and Andrew Zissermanによる「Multiple View Geometry in Computer Vision」などに記載されているような他の幾何学的不変量を使用してもよい。同一シーンを複数のカメラで観測する場合には、同文献に記載の方法により、距離もしくは深さ方向の相対位置関係の情報を得ることが可能となるが、この場合、同一平面にない4点を基底に選択し、不変量特徴空間を3次元とすると、3次元の幾何学的不変量を作ることができる。この際には、特徴点群から選択した基底4点のうち1点を不変量空間の原点、その他の基底の特徴点を不変量空間における位置座標(1,0,0)および(0,1,0)、(0,0,1)に対応付ける変換写像を求め、その他特徴をこの変換写像を使用して不変量空間に写像するようにする。
特徴点を不変量特徴空間に写像した第一不変特徴変換部51は、図39に示すように、不変量特徴空間に格子状のメッシュを付して、複数の区画に分ける。
続いて、第一不変特徴変換部51は、各区画ごとに不変特徴の数を求める。この算出結果を、図40に示す。図40は、不変量特徴空間において、不変特徴の数が1以上の区画にグレーを付した図である。
第二不変特徴変換部52は、識別子の特徴点を不変量特徴空間に写像する。
この写像の方法は、第一不変特徴変換部51が背景映像の特徴点を不変量特徴空間に写像する方法と同じである。
例えば、図10に示す特徴点を不変量特徴空間に写像した場合は、不変特徴が図41に示す配置となる。
また、第二不変特徴変換部52は、不変量特徴空間における不変特徴について、「識別子特徴情報テーブル」(図4参照)を作成する。この作成された「識別子特徴情報テーブル」は、特徴比較手段10の比較情報記憶部12に記憶される。
不変特徴記憶部53は、所定のメモリ領域を保持している。この不変特徴記憶部53は、第一不変特徴変換部51で求められた各種データを記憶する。各種データには、例えば、不変量特徴空間に配置された各不変特徴の座標、各区画の座標(範囲)、各区画ごとの不変特徴数などが含まれる。
特異特徴選択部54は、図42に示すように、不変量特徴空間の中で、マーカパターンの生成を行う範囲(判定対象の識別子が検出用マーカとして使用できるか否かを判定する範囲)を、マーカパターン生成範囲として決定する。このマーカパターン生成範囲は、静止画フレームの大きさと同じ大きさとすることができる。
次いで、特異特徴選択部54は、そのマーカパターン生成範囲における各区画ごとの不変特徴数を、不変特徴記憶部53から取り出す。この取り出した各区画ごとの不変特徴数を図43に示す。
なお、図43は、マーカパターン生成範囲において、不変特徴の数が1以上の区画にグレーを付した図である。
続いて、特異特徴選択部54は、マーカパターン生成範囲における各区画ごとの不変特徴数のうち、0又は所定値以下のものを特異特徴として選択する。
そして、特異特徴選択部54は、選択された特異特徴について、「特異特徴情報テーブル」(図3参照)を作成し、比較情報記憶部12に記憶させる。
(II)マーカ生成方法
次に、本実施形態のマーカ生成装置の動作(マーカ生成方法)について、図44を参照して説明する。
同図は、本実施形態のマーカ生成方法の処理手順を示すフローチャートである。
マーカ生成装置1cにおいて、映像入力手段30の映像入力部31は、背景映像を撮影(又は入力)する(ステップ40)。この背景映像は、複数枚のフレーム画像で構成することができる。映像入力手段30の映像記憶部32は、映像入力部31で入力された背景映像をフレーム画像として記憶する。
また、映像入力部31は、判断対象である識別子の映像を撮影(又は入力)する(ステップ41)。映像記憶部32は、映像入力部31で入力された識別子の映像を記憶する。
特徴抽出手段40の背景特徴抽出部41は、映像記憶部32からフレーム画像を取り出し、このフレーム画像から特徴点を抽出する(ステップ42)。
また、背景特徴抽出部41は、それら特徴点を特徴空間に配置する。そして、背景特徴抽出部41は、特徴空間における特徴点の座標を算出する。この算出した座標は、「特徴点情報テーブル」としてまとめられ、特徴記憶部43に記憶される。
次いで、不変特徴変換手段50の第一不変特徴変換部51は、背景映像の特徴点を不変量特徴空間へ写像する(ステップ43)。
続いて、第一不変特徴変換部51は、不変量特徴空間に格子状のメッシュを付して、複数の区画に分ける。さらに、第一不変特徴変換部51は、各区画ごとに不変特徴の数を求め、不変特徴が0又は所定数以下の区画を特異特徴として選択する(ステップ44)。
そして、第一不変特徴変換部51は、選択した特異特徴の座標を示す「特異特徴情報テーブル」を作成する。特徴比較手段10の比較情報記憶部12は、「特異特徴情報テーブル」を記憶する(ステップ45)。
特徴抽出手段40の識別子特徴抽出部42は、映像記憶部32から識別子の画像を取り出し、この識別子の画像から特徴点を抽出する(ステップ46)。
また、識別子特徴抽出部42は、それら特徴点を特徴空間に配置する。
次いで、第二不変特徴変換部52は、識別子の特徴点を不変量特徴空間に写像する(ステップ47)。
そして、第二不変特徴変換部52は、不変量特徴空間における識別子の不変特徴の座標を算出する。この算出した座標は、「識別子特徴情報テーブル」としてまとめられ、特徴比較手段10の比較情報記憶部12に記憶される(ステップ48)。
以降、ステップ12〜ステップ21と同様の処理が実行される。
以上、説明したように、本願発明のマーカ生成装置及びマーカ生成方法によれば、判断対象である識別子から特徴点を抽出し、この特徴点を不変量特徴空間に写像し、この不変量特徴空間において、特異特徴と一致する特徴点(不変特徴)を含む区画の数をカウントし、識別子のデータ配置パターンを変換するたびに、それらの処理を実行して特異特徴と一致する不変特徴を含む区画の数をカウントし、カウント数が最も大きいデータ配置パターンの識別子を検出用マーカとして選択することとした。これにより、検出用マーカとして最適な識別子を選択できる。
なお、図41は、識別子の特徴点が写像された不変量特徴空間を示したが、この不変量特徴空間に写像される特徴点は、識別子単体から抽出された特徴点に限るものではなく、例えば、識別子を含む背景から抽出された特徴点を写像することもできる。この場合、識別子及び背景から特徴点を抽出し、これら特徴点を不変量特徴空間に写像し、特異特徴と一致するか否かを判断する。判断の結果、特異特徴と一致する特徴点の数が所定数以上であるときは、その識別子を検出用マーカとして使用できるものと判断できる。
また、本実施形態においては、識別子の例としてQRコードを挙げたが、識別子はQRコードに限るものではなく、所定の規則(プログラム)によりデータを記号化した識別子であればよい。
[マーカ検出装置及びマーカ検出方法]
(マーカ検出装置)
次に、マーカ検出装置について、図45、図46を参照して説明する。
図45は、マーカ検出装置の構成を示すブロック図である。図46は、マーカ検出装置の詳細構成を示すブロック図である。
図45に示すように、マーカ検出装置100は、映像入力手段110と、特徴抽出手段120と、マーカ記憶手段130と、照合手段140と、報知手段150とを備えている。
ここで、映像入力手段110は、図46に示すように、映像入力部111と、映像記憶部112とを有している。
映像入力部111は、マーカが存在する可能性のある環境を検出対象映像として撮影(入力)する。例えば、映像入力部111は、図47に示すように、マーカを含む検出対象映像を入力することができる。
映像記憶部112は、検出対象映像を構成する静止画フレームを、ディジタイズされたフレーム画像として記憶する。
特徴抽出手段120は、図46に示すように、特徴抽出部121と、特徴記憶部122とを有している。
特徴抽出部121は、映像記憶部112からフレーム画像を取り出す。そして、特徴抽出部121は、取り出したフレーム画像中の特徴的なパターンを含む画像特徴を抽出する。
例えば、検出対象映像が図47に示すような画像の場合、特徴抽出部121は、その検出対象映像から図48に示すような特徴点を抽出する。
特徴記憶部122は、特徴抽出部121で抽出された特徴点の各座標を記憶する。
マーカ記憶手段130は、マーカ生成装置1で判定されたマーカパターンに関するデータを記憶する。このマーカ記憶手段130は、例えば、マーカパターンにもとづく特徴点を記憶することもできる。
照合手段140は、図46に示すように、照合部141と、照合結果記憶部142とを有している。
照合部141は、検出対象映像にもとづく特徴点の各座標を特徴記憶部122から取り出すとともに、マーカパターンにもとづく特徴点の各座標をマーカ記憶手段130から取り出し、それらを照合する。そして、照合部141は、マーカパターンにもとづく特徴点と一致する特徴点が、検出対象映像にもとづく特徴点の中にあるか否かを判断する。
例えば、マーカパターンの特徴の一つと検出対象映像から生成された特徴の一つとを比較して、特徴空間でのユークリッド距離が既定値以下である場合には、それら特徴が一致したとして、一致した特徴の数をスコアとして累積し、スコアが閾値に達すると、マーカの検出を受諾するようにしても良い。また、前述のユークリッド距離の累積値が既定値以下である条件を付加しても良い。
また、例えば、マーカ生成装置1aの特徴抽出部21が、特異特徴の決定を量子化した特徴空間で実行した場合、マーカ記憶手段130は、その特異特徴の座標を記憶しておく。そして、照合部141は、マーカ設計時に頻度が0であったメッシュに、検出対象映像からの特徴が1回でも投影されたときには、マーカパターンからの寄与であるとして検出を確定することができる。これによれば、マーカ検出は、高速に行える。
ノイズや特徴抽出計算の誤差による誤対応を避けるために、受諾する投影の頻度を1回以上の既定値に設定してもよい。または、量子化した特徴空間をマーカパターンから生成可能である場合には、これを利用しても良い。この場合、検出対象映像から得た特異特徴が、マーカパターンの投影される特徴空間メッシュに1回、又は既定回数一致した場合に、マーカパターン検出を受諾するようにしても良い。
これら照合の結果、マーカパターンにもとづく特徴点と一致する特徴点が、検出対象映像にもとづく特徴点の中にあるときは、照合部141は、検出対象映像における当該特徴点の座標を検出し、これを照合結果記憶部142に記憶させる。また、照合部141は、報知手段150へ報知信号を送る。
一方、マーカパターンにもとづく特徴点と一致する特徴点が、検出対象映像にもとづく特徴点の中にないときは、照合部141は、特徴点の座標の検出及び報知信号の送出を行わない。
具体的には、照合部141は、図48に示す特徴点群の中から、マーカ記憶手段130から取り出したマーカパターンにもとづく特徴点と一致する特徴点を探し出す。このとき、照合部141は、マーカパターンにもとづく特徴点群を拡大又は縮小して、特徴空間における特徴点群と照合する。
その結果、図48に示す特徴点群の中から、マーカ記憶手段130から取り出したマーカパターンにもとづく特徴点と一致する特徴点が見つかると、照合部141は、図48に示す特徴空間における当該特徴点の座標を検出し、これを照合結果記憶部142に記憶させる。
照合結果記憶部142は、照合部141で行われた照合に関するデータを記憶する。
例えば、照合結果記憶部142は、検出対象映像にもとづく特徴点のうち、マーカパターンにもとづく特徴点と一致する特徴点(図48においては、左方の楕円で囲まれた特徴点)の各座標を記憶する。
報知手段150は、照合部141から報知信号を受けると、マーカパターンにもとづく特徴点と一致する特徴点が、検出対象映像にもとづく特徴点の中にあったことを外部に報知する。この報知の方法には、例えば、音声出力や、画面表示などがある。
(マーカ検出方法)
次に、本実施形態のマーカ検出方法について、図49を参照して説明する。
マーカ記憶手段130は、マーカ生成装置1で判定対象とされたマーカに関するデータを予め記憶している(ステップ50)。このマーカ記憶手段130は、例えば、マーカパターンにもとづく特徴点を記憶することもできる。
映像入力手段110の映像入力部111は、マーカが存在する可能性のある環境を検出対象映像として入力する(ステップ51)。
映像記憶部112は、検出対象映像を構成する静止画フレームを、ディジタイズされたフレーム画像として記憶する。
特徴抽出手段120の特徴抽出部121は、映像記憶部112からフレーム画像を取り出す。そして、特徴抽出部121は、取り出したフレーム画像中の特徴的なパターンを含む画像特徴を抽出する(ステップ52)。
また、特徴抽出部121は、抽出した特徴点の座標を算出する(ステップ53)。
特徴記憶部122は、特徴抽出部121で算出された特徴点の各座標を記憶する。
照合手段140の照合部141は、検出対象映像にもとづく特徴点の各座標を特徴記憶部122から取り出すとともに、マーカパターンにもとづく特徴点の各座標をマーカ記憶手段130から取り出し、それらを照合する(ステップ54)。そして、照合部141は、マーカパターンにもとづく特徴点と一致する特徴点が、検出対象映像にもとづく特徴点の中にあるか否かを判断する。
判断の結果、マーカパターンにもとづく特徴点と一致する特徴点が、検出対象映像にもとづく特徴点の中にあるときは、照合部141は、検出対象映像における当該特徴点の座標を検出し、これを照合結果記憶部142に記憶させる。また、照合部141は、報知手段150へ報知信号を送る。
一方、マーカパターンにもとづく特徴点と一致する特徴点が、検出対象映像にもとづく特徴点の中にないときは、照合部141は、特徴点の座標の検出及び報知信号の送出を行わない。
報知手段150は、照合部141から報知信号を受けると、マーカパターンにもとづく特徴点と一致する特徴点が、検出対象映像にもとづく特徴点の中にあったことを外部に報知する(ステップ55)。
その後は、終了するか否かが判断され(ステップ56)、終了しないときは、ステップ51〜ステップ56の処理が繰り返される。
以上説明したように、本実施形態のマーカ検出装置及びマーカ検出方法によれば、マーカ生成装置で検出用マーカとして使用できると判定された識別子を用いて、検出対象映像に映し出されたマーカを確実に検出することができる。
また、本実施形態においては、マーカの検出を特徴空間において行なうこととしたが、マーカの検出は、特徴空間に限るものではなく、例えば、不変量特徴空間において行なうこともできる。この場合、マーカ判定段階で、特異特徴を選択した特異特徴配置図を記憶しておき、マーカ検出段階で、検出対象映像から特徴点を抽出し、この特徴点を不変量特徴空間に写像して不変特徴し、この不変量特徴空間と前述の特異特徴配置図とを重ね合わせ、特異特徴配置図に示された特異特徴に不変量特徴空間に示された不変特徴が現れたときは、この不変特徴をマーカにもとづく不変特徴として検出することができる。
さらに、検出用マーカの判定において、物体色不変量やテクスチャ不変量を用いた場合には、マーカ検出において、それら物体色不変量やテクスチャ不変量を用いてマーカ検出を行なう。この場合、マーカ判定段階で、背景映像から物体色不変量やテクスチャ不変量を抽出し、これらにもとづく特異特徴を選択して記憶しておき、マーカ検出段階において、検出対象映像から物体色不変量やテクスチャ不変量を抽出し、これら物体色不変量やテクスチャ不変量が特異特徴と一致したときは、それら物体色不変量やテクスチャ不変量をマーカとして検出することができる。
[マーカ生成検出装置及びマーカ生成検出システム]
(マーカ生成検出装置)
次に、マーカ生成検出装置について、図50を参照して説明する。
図50は、マーカ生成検出装置の構成を示すブロック図である。
図50に示すように、マーカ生成検出装置1000は、マーカ生成装置1と、マーカ検出装置100とを備えている。
ここで、マーカ生成装置1は、前述した第一実施形態〜第三実施形態のいずれかにおけるマーカ生成装置1を用いることができる。
マーカ検出装置100は、前述した図45に示すマーカ検出装置100を用いることができる。
このように、マーカ生成検出装置1000は、マーカ生成装置1とマーカ検出装置100とを一体化した構成とすることができる。
また、マーカ生成装置1とマーカ検出装置100とは、共有化できる機能があるため、図51に示すような構成とすることもできる。
例えば、マーカ生成検出装置1000は、映像入力手段30と、特徴抽出手段40と、不変特徴変換手段50と、特徴比較手段10と、マーカパターン生成手段20と、マーカ記憶部60と、照合手段140と、報知手段150とを有している。
これらのうち、映像入力手段30と、特徴抽出手段40と、不変特徴変換手段50と、特徴比較手段10と、マーカパターン生成手段20と、マーカ記憶部60が、マーカ生成装置としての機能を有している。
一方、映像入力手段30と、特徴抽出手段40と、マーカ記憶部60と、照合手段140と、報知手段150が、マーカ検出装置としての機能を有している。
そして、映像入力手段30と、特徴抽出手段40と、マーカ記憶部60が、マーカ生成装置とマーカ検出装置に共通している部分である。
マーカ生成装置におけるマーカ生成方法は、前述した第一〜第三実施形態におけるマーカ生成方法と同様である。
また、マーカ検出装置におけるマーカ検出方法は、前述した実施形態におけるマーカ検出方法と同様である。
(マーカ生成検出システム)
次に、本実施形態のマーカ生成検出システムについて、図52を参照して説明する。
同図に示すように、マーカ生成検出システム2000は、マーカ生成装置1と、マーカ検出装置100とを備えている。これらマーカ生成装置1とマーカ検出装置100は、通信ネットワーク又は通信ケーブル300などで接続することができる。
マーカ生成装置1は、映像入力手段30と、特徴抽出手段40と、不変特徴変換手段50と、特徴比較手段10と、マーカパターン生成手段20と、マーカ記憶部60と、通信手段70とを有している。
通信手段70は、マーカ記憶部60に記憶されているマーカに関するデータを取り出し、これをマーカ検出装置100へ送信する。
マーカ検出装置100は、映像入力手段110と、特徴抽出手段120と、マーカ記憶部130と、照合手段140と、報知手段150と、通信手段160とを有している。
通信手段160は、マーカ生成装置1から送信されてきたマーカに関するデータを受信する。また、通信手段160は、その受信したマーカに関するデータをマーカ記憶部130に記憶させる。
以上説明したように、マーカ生成検出装置及びマーカ生成検出システムによれば、既存の識別子やデザインが決められた識別子がマーカ検出装置の検出対象として耐え得るか否かを判定することができる。
[マーカ生成プログラム及びマーカ検出プログラム]
次に、マーカ生成プログラム及びマーカ検出プログラムについて説明する。
上記の各実施形態におけるコンピュータ(マーカ生成装置、マーカ検出装置、マーカ生成検出装置、マーカ生成検出システム)のマーカ判定機能(マーカ生成方法を実行するための機能)やマーカ検出機能(マーカ検出方法を実行するための機能)は、記憶手段(例えば、ROM(Read only memory)やハードディスクなど)に記憶されたマーカ生成プログラム又はマーカ検出プログラムにより実現される。
マーカ生成プログラム及びマーカ検出プログラムは、コンピュータの制御手段(CPU(Central Processing Unit)など)に読み込まれることにより、コンピュータの構成各部に指令を送り、所定の処理、たとえば、マーカ生成装置の映像入力処理、特徴抽出処理、特異特徴選択処理、一致判断処理、マーカ判定処理、不変特徴変換処理、マーカ検出装置の映像入力処理、特徴抽出処理、照合処理、報知処理などを行わせる。
これによって、マーカ判定機能又はマーカ検出機能は、ソフトウエアであるマーカ生成プログラムとハードウエア資源であるコンピュータ(マーカ生成装置、マーカ検出装置、マーカ生成検出装置、マーカ生成検出システム)の各構成手段とが協働することにより実現される。
なお、マーカ判定機能又はマーカ検出機能を実現するためのマーカ生成プログラムは、コンピュータのROMやハードディスクなどに記憶される他、コンピュータ読み取り可能な記録媒体、たとえば、外部記憶装置及び可搬記録媒体等に格納することができる。
外部記憶装置とは、CD−ROM(Compact disk−Read only memory)等の記憶媒体を内蔵し、マーカ生成装置に外部接続されるメモリ増設装置をいう。一方、可搬記録媒体とは、記録媒体駆動装置(ドライブ装置)に装着でき、かつ、持ち運び可能な記録媒体であって、たとえば、フレキシブルディスク,メモリカード,光磁気ディスク等をいう。
そして、記録媒体に記録されたプログラムは、コンピュータのRAM(Random access memory)等にロードされて、CPU(制御手段)により実行される。この実行により、上述した各実施形態のマーカ生成装置の機能が実現される。
さらに、コンピュータでマーカ生成プログラムをロードする場合、他のコンピュータで保有されたマーカ生成プログラムを、通信回線を利用して自己の有するRAMや外部記憶装置にダウンロードすることもできる。このダウンロードされたマーカ生成プログラムも、CPUにより実行され、上記各実施形態のマーカ生成装置のマーカ判定機能を実現する。
以上説明したように、本実施形態のマーカ生成装置、マーカ生成検出システム、マーカ生成検出装置、マーカ、マーカ生成方法及びマーカ生成プログラムによれば、検出用マーカとして最適なデータ配置パターンの識別子を選択できる。
以上、本発明のマーカ生成装置、マーカ生成検出システム、マーカ生成検出装置、マーカ、マーカ生成方法及びマーカ生成プログラムの好ましい実施形態について説明したが、本発明に係るマーカ生成装置、マーカ生成検出システム、マーカ生成検出装置、マーカ、マーカ生成方法及びマーカ生成プログラムは上述した実施形態にのみ限定されるものではなく、本発明の範囲で種々の変更実施が可能であることは言うまでもない。
例えば、上述した実施形態では、一つの識別子を判定対象の識別子として判定する手法について説明したが、一つの識別子に限るものではなく、複数の識別子を一度に判定することもできる。
また、マーカ生成装置には、報知手段を備えることができる。報知手段は、特徴比較部から報知信号を受けると、判定対象の識別子が検出用マーカとして使用できるか否かの判定結果を外部に報知する。この報知の方法には、例えば、音声出力や、画面表示などがある。
さらに、背景映像が時間的に変化する場合、特徴比較部は、特徴空間又は不変量特徴空間において、識別子の特徴点と特異特徴とが時間的に重ならないときに、その識別子を検出用マーカとして使用できるものと判断することができる。
なお、本発明のマーカ生成装置、マーカ生成検出システム、マーカ生成検出装置、及びマーカ生成方法は、第一実施形態,第二実施形態及び第三実施形態のそれぞれにおけるマーカ生成装置又はマーカ生成方法を任意に組み合わせたものであってもよい。
また、上記の実施の形態の内容は、以下のようにも表現されうる。
(付記1) 画像から抽出された特徴点が所定の空間に配置され、この所定の空間における前記特徴点が所定数以下の部分が特異特徴とされ、識別子から抽出された特徴点を所定の空間に配置し、前記特異特徴と一致する特徴点の数をカウントする特徴比較手段と、
前記識別子の構成を変換し、この変換後の識別子から前記特徴点を抽出するマーカパターン生成手段とを有し、
前記特徴比較手段が、前記変換後の識別子から抽出された特徴点を前記所定の空間に配置して、前記特異特徴と一致する特徴点の数をカウントし、変換前の識別子及び変換後の一又は二以上の識別子のうち前記カウント数が最も多い識別子を検出用マーカとして選択する
マーカ生成装置。
(付記2) 前記画像を撮影する映像入力手段と、
前記画像から特徴点を抽出する特徴抽出手段と、
前記特徴点を特徴空間に配置し、この特徴空間における前記特徴点が所定数以下の部分を前記特異特徴として選択する特異特徴選択手段とを有し、
前記特徴比較手段が、識別子から抽出された特徴点を所定の空間に配置し、前記特異特徴と一致する特徴点の数をカウントし、
前記マーカパターン生成手段が、前記識別子の構成を変換し、この変換後の識別子から前記特徴点を抽出し、
前記特徴比較手段が、前記変換後の識別子から抽出された特徴点を前記所定の空間に配置して、前記特異特徴と一致する特徴点の数をカウントし、変換前の識別子及び変換後の一又は二以上の識別子のうち前記カウント数が最も多い識別子を検出用マーカとして選択する
付記1に記載のマーカ生成装置。
(付記3) 前記画像を撮影する映像入力手段と、
前記画像から特徴点を抽出する特徴抽出手段と、
前記画像から抽出された特徴点を不変量特徴空間に写像し、この不変量特徴空間における前記特徴点が所定数以下の部分を前記特異特徴として選択する不変特徴変換手段とを有し、
前記特徴比較手段が、識別子から抽出された特徴点を所定の空間に配置し、前記特異特徴と一致する特徴点の数をカウントし、
前記マーカパターン生成手段が、前記識別子の構成を変換し、この変換後の識別子から前記特徴点を抽出し、
前記特徴比較手段が、前記変換後の識別子から抽出された特徴点を前記所定の空間に配置して、前記特異特徴と一致する特徴点の数をカウントし、変換前の識別子及び変換後の一又は二以上の識別子のうち前記カウント数が最も多い識別子を検出用マーカとして選択する
付記1に記載のマーカ生成装置。
(付記4) 前記特徴比較手段での判断の結果を外部に報知する報知手段を有する
付記1から付記3のいずれかに記載のマーカ生成装置。
(付記5) マーカ生成装置とマーカ検出装置とを有し、
前記マーカ生成装置が、
画像を入力する第一映像入力手段と、
この第一映像入力手段で入力された前記画像から特徴点を抽出し、この抽出した特徴点を所定の空間に表す第一配置手段と、
前記空間における前記特徴点が所定数以下の部分を特異特徴として選択する特異特徴選択手段と、
識別子から抽出された特徴点を所定の空間に配置し、前記特異特徴と一致する特徴点の数をカウントする特徴比較手段と、
前記識別子の構成を変換し、この変換後の識別子から前記特徴点を抽出するマーカパターン生成手段とを有し、
前記特徴比較手段が、前記変換後の識別子から抽出された特徴点を前記所定の空間に配置して、前記特異特徴と一致する特徴点の数をカウントし、変換前の識別子及び変換後の一又は二以上の識別子のうち前記カウント数が最も多い識別子を検出用マーカとして選択し、
前記マーカ検出装置が、
画像を入力する第二映像入力手段と、
この第二映像入力手段で入力された前記画像にもとづいて特徴点を抽出し、この抽出した特徴点を所定の空間に表す第二配置手段と、
前記所定の空間に表された特徴点群の配置の中に、前記検出用マーカにもとづく特徴点の配置があるか否かを判断する照合手段とを有する
マーカ生成検出システム。
(付記6) 前記第一配置手段が、前記抽出した特徴点を特徴空間に配置し、
前記特異特徴選択手段が、前記特徴空間における前記特徴点が所定数以下の部分を特異特徴として選択する
付記5に記載のマーカ生成検出システム。
(付記7) 前記第一配置手段が、前記抽出した特徴点を不変量特徴空間に写像し、
前記特異特徴選択手段が、前記不変量特徴空間における前記特徴点が所定数以下の部分を特異特徴として選択する
付記5に記載のマーカ生成検出システム。
(付記8) 画像を入力する第一映像入力手段と、
この第一映像入力手段で入力された前記画像から特徴点を抽出し、この抽出した特徴点を所定の空間に表す第一配置手段と、
前記空間における前記特徴点が所定数以下の部分を特異特徴として選択する特異特徴選択手段と、
識別子から抽出された特徴点を所定の空間に配置し、前記特異特徴と一致する特徴点の数をカウントする特徴比較手段と、
前記識別子の構成を変換し、この変換後の識別子から前記特徴点を抽出するマーカパターン生成手段と、
前記マーカを記憶するマーカ記憶手段と、
画像を入力する第二映像入力手段と、
この第二映像入力手段で入力された前記画像にもとづいて特徴点を抽出し、この抽出した特徴点を所定の空間に表す第二配置手段と、
前記所定の空間に表された特徴点群の配置の中に、前記マーカに対応する特徴点の配置があるか否かを判断する照合手段とを有し、
前記特徴比較手段が、前記変換後の識別子から抽出された特徴点を前記所定の空間に配置して、前記特異特徴と一致する特徴点の数をカウントし、変換前の識別子及び変換後の一又は二以上の識別子のうち前記カウント数が最も多い識別子を検出用マーカとして選択する
マーカ生成検出装置。
(付記9) 前記第一配置手段が、前記抽出した特徴点を特徴空間に配置し、
前記特異特徴選択手段が、前記特徴空間における前記特徴点が所定数以下の部分を特異特徴として選択する
付記8に記載のマーカ生成検出装置。
(付記10) 前記第一配置手段が、前記抽出した特徴点を不変量特徴空間に写像し、
前記特異特徴選択手段が、前記不変量特徴空間における前記特徴点が所定数以下の部分を特異特徴として選択する
付記8に記載のマーカ生成検出装置。
(付記11) 画像から特徴点が抽出され、この抽出された特徴点が所定の空間に表され、前記所定の空間において前記特徴点が所定数以下の部分を特異特徴として選択され、識別子から特徴点が抽出され、この特徴点が前記所定の空間に配置され、前記特異特徴と一致する特徴点の数がカウントされ、前記識別子の構成が変換され、変換後の識別子から特徴点が抽出され、この特徴点が所定の空間に配置され、前記特異特徴と一致する特徴点の数がカウントされ、変換前及び変換後の識別子の各カウント数のうち最も大きいカウント数の識別子が検出用のマーカとして選択されたときの当該選択された識別子である
マーカ。
(付記12) 前記抽出された特徴点が特徴空間に配置され、この特徴空間における前記特徴点が所定数以下の部分を特異特徴として選択された
付記11に記載のマーカ。
(付記13) 前記抽出された特徴点が不変量特徴空間に写像され、前記不変量特徴空間における前記特徴点が所定数以下の部分を特異特徴として選択された
付記11に記載のマーカ。
(付記14) 画像を入力する工程と、
前記画像から特徴点を抽出し、この抽出した特徴点を所定の空間に表す工程と、
前記空間における前記特徴点が所定数以下の部分を特異特徴として選択する工程と、
識別子から抽出された特徴点を所定の空間に配置し、前記特異特徴と一致する特徴点の数をカウントする工程と、
前記識別子の構成を変換し、この変換後の識別子から前記特徴点を抽出する工程と、
前記変換後の識別子から抽出された特徴点を前記所定の空間に配置して、前記特異特徴と一致する特徴点の数をカウントし、変換前の識別子及び変換後の一又は二以上の識別子のうち前記カウント数が最も多い識別子を検出用マーカとして選択する工程と
を有するマーカ生成方法。
(付記15) 前記識別子から抽出された特徴点を前記特徴空間に配置し、前記特異特徴と一致した特徴点の数が所定数以上であるときに、前記既存の識別子を、前記画像から検出可能なマーカとして使用できるものと判断する工程を有する
付記14に記載のマーカ生成方法。
(付記16) 前記識別子から抽出された特徴点を前記不変量特徴空間に配置し、前記特異特徴と一致した特徴点の数が所定数以上であるときに、前記既存の識別子を、前記画像から検出可能なマーカとして使用できるものと判断する工程を有する
付記14に記載のマーカ生成方法。
(付記17) 画像を入力する処理と、
前記画像から特徴点を抽出し、この抽出した特徴点を所定の空間に表す処理と、
前記空間における前記特徴点が所定数以下の部分を特異特徴として選択する処理と、
識別子から抽出された特徴点を所定の空間に配置し、前記特異特徴と一致する特徴点の数をカウントする処理と、
前記識別子の構成を変換し、この変換後の識別子から前記特徴点を抽出する処理と、
前記特徴比較手段が、前記変換後の識別子から抽出された特徴点を前記所定の空間に配置して、前記特異特徴と一致する特徴点の数をカウントし、変換前の識別子及び変換後の一又は二以上の識別子のうち前記カウント数が最も多い識別子を検出用マーカとして選択する処理と
を情報処理装置に実行させるマーカ生成プログラム。
(付記18) 前記識別子から抽出された特徴点を前記特徴空間に配置し、前記特異特徴と一致した特徴点の数が所定数以上であるときに、前記既存の識別子を、前記画像から検出可能なマーカとして使用できるものと判断する処理を情報処理装置に実行させる
付記17に記載のマーカ生成プログラム。
(付記19) 前記識別子から抽出された特徴点を前記不変量特徴空間に配置し、前記特異特徴と一致した特徴点の数が所定数以上であるときに、前記既存の識別子を、前記画像から検出可能なマーカとして使用できるものと判断する処理を情報処理装置に実行させる
付記17に記載のマーカ生成プログラム。
本出願は、2009年7月23日に出願された日本出願特願2009−171841号を基礎とする優先権を主張し、その開示の全てをここに取り込む。