(57)【特許請求の範囲】
【請求項１】
撮像画像から予め登録されている登録画像に対応する物体を認識する画像処理装置において、
前記撮像画像を取得する取得手段と、
前記撮像画像から、前記登録画像に対応する物体を認識する認識手段と、
前記撮像画像と、その撮像画像から認識された物体に対応する登録画像とに基づいて、その登録画像に対応する物体において他の物体が重なっている領域を検出する検出手段と、
前記重なっている領域に対応するコマンドを発行する発行手段と、
前記撮像画像を表示させる表示制御手段と
を備え、
前記表示制御手段は、前記撮像画像中の前記登録画像に対応する物体の、その物体が最初に認識された撮像画像の重なっている領域以外の領域に、前記コマンドに対応するアイコンを表示させ、
前記発行手段は、前記重なっている領域に表示されているアイコンに対応するコマンドを発行する
画像処理装置。
【請求項２】
前記検出手段はまた、前記撮像画像中の前記登録画像に対応する物体の領域から、前記他の物体の輝度に近似する輝度の領域である輝度近似領域を検出し、
前記表示制御手段は、前記登録画像に対応する物体の、その物体が最初に認識された撮像画像の重なっている領域と前記輝度近似領域以外の領域に前記アイコンを表示させる
請求項１に記載の画像処理装置。
【請求項３】
前記撮像画像中の前記物体の輝度と、その物体に対応する登録画像の輝度が同一となるように、前記撮像画像中の前記物体の輝度と前記登録画像の少なくとも一方の輝度を補正する補正手段
をさらに備え、
前記検出手段は、前記補正手段により少なくとも一方が補正された撮像画像中の物体の輝度と登録画像の輝度の差分に基づいて、前記重なっている領域を検出する
請求項１に記載の画像処理装置。
【請求項４】
前記撮像画像において、前記認識手段による認識の結果に基づいて指定される第１の指定領域をトラッキングする第１の指定領域トラッキング処理を行う第１の指定領域トラッキング手段と、
前記撮像画像において、前記第１の指定領域トラッキング処理の結果に基づいて指定される第２の指定領域をトラッキングする第２の指定領域トラッキング処理を行う第２の指定領域トラッキング手段
をさらに備え、
前記検出手段は、前記撮像画像中の前記第２の指定領域トラッキング処理の結果に基づく領域の画像と、その撮像画像から認識された物体に対応する登録画像とに基づいて、前記重なっている領域を検出する
請求項１に記載の画像処理装置。
【請求項５】
撮像画像から予め登録されている登録画像に対応する物体を認識する画像処理装置の画像処理方法において、
前記撮像画像を取得し、
前記撮像画像から、前記登録画像に対応する物体を認識し、
前記撮像画像と、その撮像画像から認識された物体に対応する登録画像とに基づいて、その登録画像に対応する物体において他の物体が重なっている領域を検出し、
前記撮像画像を表示させるとともに、前記撮像画像中の前記登録画像に対応する物体の、その物体が最初に認識された撮像画像の重なっている領域以外の領域に、前記コマンドに対応するアイコンを表示させ、
前記重なっている領域に表示されているアイコンに対応するコマンドを発行する
ステップを含む画像処理方法。
【請求項６】
撮像画像から予め登録されている登録画像に対応する物体を認識する認識処理を、コンピュータに行わせるプログラムにおいて、
前記撮像画像を取得し、
前記撮像画像から、前記登録画像に対応する物体を認識し、
前記撮像画像と、その撮像画像から認識された物体に対応する登録画像とに基づいて、その登録画像に対応する物体において他の物体が重なっている領域を検出し、
前記撮像画像を表示させるとともに、前記撮像画像中の前記登録画像に対応する物体の、その物体が最初に認識された撮像画像の重なっている領域以外の領域に、前記コマンドに対応するアイコンを表示させ、
前記重なっている領域に表示されているアイコンに対応するコマンドを発行する
ステップを含む認識処理をコンピュータに行わせるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置および画像処理方法、並びにプログラムに関し、特に、撮像画像から認識された物体の任意の位置における他の物体の重なりを検出することができるようにした画像処理装置および画像処理方法、並びにプログラムに関する。
【背景技術】
【０００２】
従来、撮像画像に含まれるカードに印刷されたガイド部分を認識し、その位置を基準として、値が可変的な可変領域コードが形成される可変領域の位置を特定し、その可変領域コードのどの部分が隠蔽されたかを求め、その部分に基づいてコマンドを実行する情報処理装置がある（例えば、特許文献１参照）。
【０００３】
【特許文献１】特開２００６−１７１９５８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上述した情報処理装置では、撮像画像からカードを認識するためのガイド部分と、隠蔽が検出される可変領域がカード上に別々に設けられ、可変領域においてのみ隠蔽が検出されるため、カード上の任意の位置の隠蔽を検出することができない。その結果、多様なユーザインターフェースをユーザに提供することは困難であった。
【０００５】
本発明は、このような状況に鑑みてなされたものであり、撮像画像から認識された物体の任意の位置における他の物体の重なりを検出することができるようにするものである。
【課題を解決するための手段】
【０００６】
本発明の一側面の画像処理装置は、撮像画像から予め登録されている登録画像に対応する物体を認識する画像処理装置において、前記撮像画像を取得する取得手段と、前記撮像画像から、前記登録画像に対応する物体を認識する認識手段と、前記撮像画像と、その撮像画像から認識された物体に対応する登録画像とに基づいて、その登録画像に対応する物体において他の物体が重なっている領域を検出する検出手段と、前記重なっている領域に対応するコマンドを発行する発行手段と、前記撮像画像を表示させる表示制御手段とを備え、前記表示制御手段は、前記撮像画像中の前記登録画像に対応する物体の、その物体が最初に認識された撮像画像の重なっている領域以外の領域に、前記コマンドに対応するアイコンを表示させ、前記発行手段は、前記重なっている領域に表示されているアイコンに対応するコマンドを発行する。
【００１０】
本発明の一側面の画像処理装置においては、前記検出手段はまた、前記撮像画像中の前記登録画像に対応する物体の領域から、前記他の物体の輝度に近似する輝度の領域である輝度近似領域を検出し、前記表示制御手段は、前記登録画像に対応する物体の、その物体が最初に認識された撮像画像の重なっている領域と前記輝度近似領域以外の領域に前記アイコンを表示させることができる。
【００１２】
本発明の一側面の画像処理装置は、前記撮像画像中の前記物体の輝度と、その物体に対応する登録画像の輝度が同一となるように、前記撮像画像中の前記物体の輝度と前記登録画像の少なくとも一方の輝度を補正する補正手段をさらに設け、前記検出手段は、前記補正手段により少なくとも一方が補正された撮像画像中の物体の輝度と登録画像の輝度の差分に基づいて、前記重なっている領域を検出することができる。
【００１３】
本発明の一側面の画像処理装置は、前記撮像画像において、前記認識手段による認識の結果に基づいて指定される第１の指定領域をトラッキングする第１の指定領域トラッキング処理を行う第１の指定領域トラッキング手段と、前記撮像画像において、前記第１の指定領域トラッキング処理の結果に基づいて指定される第２の指定領域をトラッキングする第２の指定領域トラッキング処理を行う第２の指定領域トラッキング手段をさらに設け、前記検出手段は、前記撮像画像中の前記第２の指定領域トラッキング処理の結果に基づく領域の画像と、その撮像画像から認識された物体に対応する登録画像とに基づいて、前記重なっている領域を検出することができる。
【００１４】
本発明の一側面の画像処理方法は、撮像画像から予め登録されている登録画像に対応する物体を認識する画像処理装置の画像処理方法において、前記撮像画像を取得し、前記撮像画像から、前記登録画像に対応する物体を認識し、前記撮像画像と、その撮像画像から認識された物体に対応する登録画像とに基づいて、その登録画像に対応する物体において他の物体が重なっている領域を検出し、前記撮像画像を表示させるとともに、前記撮像画像中の前記登録画像に対応する物体の、その物体が最初に認識された撮像画像の重なっている領域以外の領域に、前記コマンドに対応するアイコンを表示させ、前記重なっている領域に表示されているアイコンに対応するコマンドを発行するステップを含む。
【００１５】
本発明の一側面のプログラムは、撮像画像から予め登録されている登録画像に対応する物体を認識する認識処理を、コンピュータに行わせるプログラムにおいて、前記撮像画像を取得し、前記撮像画像から、前記登録画像に対応する物体を認識し、前記撮像画像と、その撮像画像から認識された物体に対応する登録画像とに基づいて、その登録画像に対応する物体において他の物体が重なっている領域を検出し、前記撮像画像を表示させるとともに、前記撮像画像中の前記登録画像に対応する物体の、その物体が最初に認識された撮像画像の重なっている領域以外の領域に、前記コマンドに対応するアイコンを表示させ、前記重なっている領域に表示されているアイコンに対応するコマンドを発行するステップを含む認識処理をコンピュータに行わせる。
【００１６】
本発明の一側面においては、撮像画像が取得され、撮像画像から、登録画像に対応する物体が認識され、前記撮像画像と、その撮像画像から認識された物体に対応する登録画像とに基づいて、その登録画像に対応する物体において他の物体が重なっている領域が検出され、前記撮像画像が表示されるとともに、前記撮像画像中の前記登録画像に対応する物体の、その物体が最初に認識された撮像画像の重なっている領域以外の領域に、前記コマンドに対応するアイコンが表示され、前記重なっている領域に表示されているアイコンに対応するコマンドが発行される。
【発明の効果】
【００１７】
以上のように、本発明の一側面によれば、撮像画像から認識された物体の任意の位置における他の物体の重なりを検出することができる。
【発明を実施するための最良の形態】
【００１８】
以下に本発明の実施の形態を説明するが、本発明の構成要件と、明細書又は図面に記載の実施の形態との対応関係を例示すると、次のようになる。この記載は、本発明をサポートする実施の形態が、明細書又は図面に記載されていることを確認するためのものである。従って、明細書又は図面中には記載されているが、本発明の構成要件に対応する実施の形態として、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その構成要件に対応するものではないことを意味するものではない。逆に、実施の形態が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
【００１９】
本発明の一側面の画像処理装置は、
撮像画像から予め登録されている登録画像に対応する物体を認識する画像処理装置(例えば、図２の画像処理装置１１)において、
前記撮像画像を取得する取得手段(例えば、図２の画像取得部２１)と、
前記撮像画像から、前記登録画像に対応する物体を認識する認識手段(例えば、図２の認識部２３)と、
前記撮像画像と、その撮像画像から認識された物体に対応する登録画像とに基づいて、その登録画像に対応する物体において他の物体が重なっている領域を検出する検出手段(例えば、図２の画像比較部２８)と、
前記重なっている領域に対応するコマンドを発行する発行手段(例えば、図２のコマンド発行部３０)と、
前記撮像画像を表示させる表示制御手段(例えば、図２の画像合成部３２)と
を備え、
前記表示制御手段は、前記撮像画像中の前記登録画像に対応する物体の、その物体が最初に認識された撮像画像の重なっている領域以外の領域に、前記コマンドに対応するアイコンを表示させ、
前記発行手段は、前記重なっている領域に表示されているアイコンに対応するコマンドを発行する。
【００２２】
本発明の一側面の画像処理装置は、
前記撮像画像中の前記物体の輝度と、その物体に対応する登録画像の輝度が同一となるように、前記撮像画像中の前記物体の輝度と前記登録画像の少なくとも一方の輝度を補正する補正手段(例えば、図２の画像補正部２７)
をさらに備え、
前記検出手段は、前記補正手段により少なくとも一方が補正された撮像画像中の物体の輝度と登録画像の輝度の差分に基づいて、前記重なっている領域を検出する。
【００２３】
本発明の一側面の画像処理装置は、
前記撮像画像において、前記認識手段による認識の結果に基づいて指定される第１の指定領域をトラッキングする第１の指定領域トラッキング処理を行う第１の指定領域トラッキング手段(例えば、図３１の指定領域トラッキング部２３１)と、
前記撮像画像において、前記第１の指定領域トラッキング処理の結果に基づいて指定される第２の指定領域をトラッキングする第２の指定領域トラッキング処理を行う第２の指定領域トラッキング手段(例えば、図３１の指定領域トラッキング部２３２)
をさらに備え、
前記検出手段は、前記撮像画像中の前記第２の指定領域トラッキング処理の結果に基づく領域の画像と、その撮像画像から認識された物体に対応する登録画像とに基づいて、前記重なっている領域を検出する。
【００２４】
本発明の一側面の画像処理方法は、
撮像画像から予め登録されている登録画像に対応する物体を認識する画像処理装置(例えば、図２の画像処理装置１１)の画像処理方法において、
前記撮像画像を取得し(例えば、図１７のステップＳ１１２)、
前記撮像画像から、前記登録画像に対応する物体を認識し（例えば、図１７のステップＳ１１３）、
前記撮像画像と、その撮像画像から認識された物体に対応する登録画像とに基づいて、その登録画像に対応する物体において他の物体が重なっている領域を検出し(例えば、図１８のステップＳ１２１)、
前記撮像画像を表示させるとともに、前記撮像画像中の前記登録画像に対応する物体の、その物体が最初に認識された撮像画像の重なっている領域以外の領域に、前記コマンドに対応するアイコンを表示させ、
前記重なっている領域に表示されているアイコンに対応するコマンドを発行する
ステップを含む。
【００２５】
以下、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。
【００２６】
図１は、本発明を適用した画像処理装置の概要を示している。
【００２７】
図１の画像処理装置１１に設けられた撮像部１２は、被写体Ａを撮像する。画像処理装置１１は、その結果得られる被写体Ａの撮像画像を、画像処理装置１１に設けられたディスプレイなどの画像表示部３３の画面全体に表示させる。
【００２８】
ここで、図１に示すように、被写体Ａが、予め登録されている静止画像や動画像の印刷物など（以下、予め登録されている静止画像や動画像などを、適宜、登録画像という）を手に所持している場合、画像処理装置１１は、撮像部１２により撮像された被写体Ａの撮像画像と登録画像に基づいて、撮像画像中の登録画像に対応する物体（ここでは、登録画像の画像）の位置と姿勢を認識する。そして、画像処理装置１１は、認識した位置と姿勢に基づいて、画像表示部３３に表示されている撮像画像中の登録画像に対応する物体(以下、適宜対象物体という)の任意の位置に、ユーザインターフェース用のアイコン１３を表示させる。
【００２９】
その後、被写体Ａが、画像表示部３３に表示されるアイコン１３の位置に対応する登録画像の印刷物の位置に、指などを移動させると、画像処理装置１１は、撮像画像中の対象物体と指の重なりを検出し、その重なっている領域の位置に基づいて、その位置に表示されているアイコン１３に対応するコマンドを発行する。
【００３０】
以上のように、画像処理装置１１は、撮像画像と登録画像に基づいて対象物体を認識するので、対象物体に、その対象物体を認識させるための領域を設ける必要がない。また、画像処理装置１１は、撮像画像中の対象物体と指の重なりを検出するので、対象物体の任意の位置にユーザインターフェース用のアイコンを設けることができる。その結果、多様なユーザインターフェースをユーザに提供することができる。
【００３１】
図２は、図１の画像処理装置１１の構成例を示すブロック図である。
【００３２】
図２の画像処理装置１１は、撮像部１２、画像取得部２１、スレッド作成部２２、認識部２３、登録画像辞書登録部２４、終了判定部２５、幾何変換部２６、画像補正部２７、画像比較部２８、コマンド判定部２９、コマンド発行部３０、アイコン生成部３１、画像合成部３２、および画像表示部３３により構成される。
【００３３】
撮像部１２は、例えばCCD（Charge Coupled Device），CMOS（Coplementary Metal-Oxide Semiconductor）センサなどの光学的な画像を電気信号に変換する光電変換素子を有するビデオカメラなどからなり、被写体を撮像する。撮像部１２は、その結果得られるフレーム単位の撮像画像を、入力画像として画像取得部２１に供給する。
【００３４】
画像取得部２１は、撮像部１２から供給される入力画像をスレッド作成部２２とアイコン生成部３１に供給する。スレッド作成部２２は、画像取得部２１から供給される入力画像に応じて、その入力画像を認識部２３に供給するとともに、入力画像中の対象物体を認識する一般物体認識処理のスレッドである一般物体認識スレッドを作成する。具体的には、スレッド作成部２２は、画像取得部２１から供給される入力画像を認識部２３に供給するとともに、一般物体認識処理を実行する認識部２３に一般物体認識処理の開始を指令する。
【００３５】
また、スレッド作成部２２は、終了判定部２５から供給される、画像処理装置１１による画像処理の終了を表す終了情報に応じて、一般物体認識スレッドを削除する。具体的には、スレッド作成部２２は、認識部２３に一般物体認識処理の終了を指令する。
【００３６】
認識部２３は、スレッド作成部２２から供給される入力画像と、登録画像辞書登録部２４に登録されている登録画像に基づいて、一般物体認識処理を行う。なお、この一般物体認識処理は、スレッド作成部２２から一般物体認識処理の開始が指令された場合開始され、一般物体認識処理の終了が指令されるまで繰り返される。
【００３７】
また、認識部２３は、一般物体認識処理の結果得られる入力画像中に含まれる対象物体に対応する、登録画像辞書登録部２４に登録されている登録画像のＩＤ（以下、登録ＩＤという）、および、その対象物体の入力画像上の位置と姿勢を表す物体パラメータを、幾何変換部２６と画像合成部３２に供給する。
【００３８】
さらに、認識部２３は、登録ＩＤに基づいて、登録画像辞書登録部２４に登録ＩＤに対応付けて登録されている、その登録ＩＤに対応する対象物体に配置させるアイコンのＩＤであるアイコンＩＤを、アイコン生成部３１に供給する。また、認識部２３は、一般物体認識処理の結果に基づいて、対象物体を一度認識した後に、その対象物体を認識することができなくなった場合、入力画像中の対象物体の消失を表す消失情報を終了判定部２５に供給する。
【００３９】
登録画像辞書登録部２４は、登録画像の登録ＩＤに対応付けて、登録画像をグレースケールに変換し、サイズを縮小してぼかし処理を行ったもの（以下、処理済登録画像という）、登録画像、登録画像の特徴量群、アイコンＩＤなどが登録されている。
【００４０】
終了判定部２５は、認識部２３から供給される消失情報、または、コマンド発行部３０から供給されるコマンドに応じて、画像処理を終了するかどうかを判定する。終了判定部２５は、判定の結果に応じて終了情報をスレッド作成部２２に供給する。
【００４１】
幾何変換部２６は、認識部２３から供給される物体パラメータにしたがって、入力画像中の対象物体の存在する領域である物体領域を決定し、その物体領域の画像である物体領域画像に対して幾何変換を行う。これにより、物体領域の画像の姿勢は、登録画像と同一の姿勢となる。幾何変換部２６は、認識部２３から供給される登録ＩＤと、幾何変換後の物体領域画像とを画像補正部２７に供給する。
【００４２】
画像補正部２７は、幾何変換部２６から供給される登録ＩＤに基づいて、その登録ＩＤに対応付けて登録画像辞書登録部２４に登録されている処理済登録画像を取得する。また、画像補正部２７は、幾何変換部２６から供給される物体領域画像をグレースケールに変換し、変換後の物体領域画像のサイズを、処理済登録画像のサイズと同一のサイズに変更する。
【００４３】
さらに、画像補正部２７は、処理済登録画像の輝度値(以下、適宜、登録輝度値という)と、グレースケール変換およびサイズ変換後の物体領域画像の輝度値（以下、適宜、物体輝度値という）とを用いて、登録輝度値と物体輝度値が同一となるように登録輝度値を補正する。画像補正部２７は、登録輝度値の補正後の処理済登録画像と、グレースケール変換およびサイズ変換後の物体領域画像とを画像比較部２８に供給する。
【００４４】
画像比較部２８は、画像補正部２７から供給される処理済登録画像の登録輝度値と、物体領域画像の物体輝度値との差分に基づいて、対象物体が他の物体と重なっているかどうかを判定する。また、画像比較部２８は、対象物体が他の物体と重なっている領域である重なり領域の位置を検出し、その位置を表す情報である重なり位置情報を、コマンド判定部２９とアイコン生成部３１に供給する。
【００４５】
さらに、画像比較部２８は、物体領域画像を用いて輝度マップを作成し、その輝度マップに基づいて、物体領域画像から輝度近似領域を抽出する。なお、輝度近似領域とは、対象物体との重なりが検出される他の物体（ターゲット）として予め想定されている物体（例えば、アイコンを操作する指）の輝度に近似する輝度の領域である。画像比較部２８は、抽出した輝度近似領域をアイコン生成部３１に供給する。
【００４６】
コマンド判定部２９は、画像比較部２８から供給される重なり位置情報と、アイコン生成部３１から供給されるアイコンの位置を表すアイコン位置情報とに基づいて、重なり領域のアイコンを検出する。コマンド判定部２９は、検出したアイコンに対応するコマンドを表すコマンド情報をコマンド発行部３０に供給する。
【００４７】
コマンド発行部３０は、コマンド判定部２９から供給されるコマンド情報に基づいて、そのコマンド情報が表すコマンドを発行する。例えば、コマンド発行部３０は、対象物体に対応する登録画像を再生するためのコマンドを画像合成部３２に発行したり、画像処理を終了させるためのコマンドを終了判定部２５に発行する。
【００４８】
アイコン生成部３１は、認識部２３から供給されるアイコンＩＤと、画像比較部２８から供給される重なり位置情報および輝度近似領域とに基づいて、対象物体に配置するアイコンの位置を決定する。アイコン生成部３１は、決定したアイコンの位置を表すアイコン位置情報をコマンド判定部２９に供給する。また、アイコン生成部３１は、アイコン位置情報、アイコンＩＤ、および、画像取得部２１から供給される入力画像を画像合成部３２に供給する。
【００４９】
画像合成部３２は、アイコンＩＤに対応付けて、アイコンの画像を記憶している。画像合成部３２は、アイコンＩＤに基づいて、記憶しているアイコンの画像を読み出す。また、画像合成部３２は、アイコン生成部３１から供給されるアイコン位置情報に基づいて、アイコン生成部３１から供給される入力画像に、読み出されたアイコンの画像を合成（重畳）し、入力画像中の対象物体上にアイコンが配置された合成画像を生成する。
【００５０】
また、画像合成部３２は、コマンド発行部３０から供給されるコマンドと認識部２３から供給される登録ＩＤに基づいて、その登録ＩＤに対応する登録画像としての動画像を登録画像辞書登録部２４から読み出す。画像合成部３２は、読み出した動画像、アイコン生成部３１から供給される入力画像、および認識部２３から供給される物体パラメータに基づいて、入力画像と動画像を合成し、入力画像中の対象物体が、登録画像としての動画像に変更された合成画像を生成する。
【００５１】
さらに、画像合成部３２は、合成画像を画像表示部３３に供給する。画像表示部３３は、画像合成部３２から供給される合成画像を表示する。
【００５２】
図３は、図２の認識部２３の詳細構成例を示すブロック図である。この認識部２３は、登録画像の学習処理を行う学習部１１１と、入力画像中の対象物体を認識する認識部１１２の２つの部分から構成される。
【００５３】
学習部１１１は、多重解像度生成部１２１、特徴点抽出部１２２、および特徴量抽出部１２３により構成されている。
【００５４】
多重解像度生成部１２１は、登録画像辞書登録部２４に登録されている登録画像から多重解像度の画像を生成する。特徴点抽出部１２２は、多重解像度生成部１２１により生成された多重解像度の各画像から特徴点を抽出する。特徴量抽出部１２３は、特徴点抽出部１２２により抽出された各特徴点の特徴量を抽出して、その特徴量群を登録画像辞書登録部２４に供給し、登録画像ＩＤに対応付けて登録する。
【００５５】
認識部１１２は、多重解像度生成部１３１、特徴点抽出部１３２、特徴量抽出部１３３、kdツリー構築部１３４、特徴量比較部１３５、および推定部１３６により構成される。
【００５６】
多重解像度生成部１３１は、スレッド作成部２２から入力された入力画像から、多重解像度の画像を生成する。特徴点抽出部１３２は、多重解像度生成部１３１により生成された多重解像度の各画像から特徴点を抽出する。特徴量抽出部１３３は、特徴点抽出部１３２により抽出された各特徴点の特徴量を抽出する。これらの多重解像度生成部１３１、特徴点抽出部１３２、および特徴量抽出部１３３により行われる処理は、学習部１１１における多重解像度生成部１２１、特徴点抽出部１２２、および特徴量抽出部１２３において行われる処理と同様の処理である。
【００５７】
kdツリー構築部１３４は、登録画像辞書登録部２４に登録されている特徴量群からkdツリーを構築する。特徴量比較部１３５は、特徴量抽出部１３３により抽出された特徴量群と、kdツリー構築部１３４により構築されたkdツリーとして表現された認識対象となる全対象物体に対応する全登録画像（または対象物体毎処理を行う場合には各対象物体に対応する各登録画像）の特徴量群を比較する。推定部１３６は、特徴量比較部１３５による比較結果に基づいて、入力画像に含まれる対象物体の有無と、その位置と姿勢を推定し、その位置と姿勢を表す物体パラメータと、対象物体に対応する登録ＩＤとを出力する。
【００５８】
なお、学習部１１１と認識部１１２は、常に両方が同時に存在する必要はない。学習部１１１により予め学習された結果、必要な情報が登録された登録画像辞書登録部２４を画像処理装置１１に搭載するようにしてもよい。
【００５９】
次に、図４と図５のフローチャートを参照して、学習部１１１における学習処理について説明する。この処理は、ユーザが学習処理の開始を指令したとき開始される。なお、認識部１１２における一般物体認識処理については、図２３乃至図２５を参照して後述する。
【００６０】
多重解像度生成部１２１は、後述するステップＳ２８において、全登録画像を処理したと判定するまで、ステップＳ１１乃至Ｓ２７の処理を繰り返す。そこで、ステップＳ１１において、多重解像度生成部１２１は、１つの未処理登録画像を選択する。ステップＳ１２において、多重解像度生成部１２１は、多重解像度群を生成する。具体的には、多重解像度生成部１２１は、学習対象の登録画像を所定の倍率に従って縮小し、多重解像度画像群を生成する。例えば、最低解像度の画像である原画像からの縮小率をα、出力する多重解像度画像の数をＮ（原画像を含む）とするとき、ｋ番目（原画像をｋ＝０とする）の多重解像度の解像度画像Ｉ[k]は、原画像Ｉ[0]を縮小率α×（Ｎ−ｋ）で、線形補間縮小することで生成される。
【００６１】
あるいは他の方法としては、解像度の一段階低い画像を生成するための縮小率をγ（固定値）とする、つまりＩ[0]を縮小率γkで、線形補間縮小することでＩ[k]を生成する方法も考えられる。
【００６２】
図６は、パラメータＮ＝１０，α＝0.1とした場合に生成される多重解像度画像群を示す。図６の例においては、原画像Ｉ[0]を縮小率0.9で縮小した画像Ｉ[1]、縮小率0.8で縮小した画像Ｉ[2]、・・・、縮小率0.1で縮小した画像Ｉ[9]の合計１０段階の多重解像度画像が生成されている。縮小率を規定する係数ｋの値が大きくなるほど画像がより小さい大きさに縮小される結果、各フレームの画枠自体も、係数ｋの値が大きい程小さくなる。
【００６３】
次に、特徴点抽出部１２２は、後述するステップＳ２７において、全解像度画像を処理したと判定するまで、ステップＳ１３乃至Ｓ２６の処理を繰り返し、多重解像度生成部１２１により生成された各解像度画像Ｉ[k]（ｋ＝０，・・・，Ｎ−１）から、画像の拡大縮小変換（スケール変換）があってもロバストに抽出されるような特徴点（スケール不変特徴点）を抽出するのであるが、スケール不変特徴点の抽出法としては、画像のスケールスペースを構築し、各スケール画像のDifference of Gaussian（DoG）フィルタ出力の局所極大点（局所的な所定の範囲の最大点）及び局所極小点（局所的な所定の範囲の最小点）のうち、スケール方向の変化によっても位置が変化しない点をスケール特徴点として抽出する方法（D. Lowe, “Object recognition from local scale-invariant features,” in Proc. International Conference on Computer Vision, Vol. 2, pp. 1150-1157, September 20-25, 1999, Corfu, Greece.）や、画像のスケールスペースを構築し、各スケール画像からHarrisコーナー検出器により抽出されたコーナー点のうち、スケールスペース画像のLaplacian of Gaussian（LoG）フィルタ出力の局所極大を与える点を特徴点として抽出する方法（K. Mikolajczyk, C. Schmid, “Indexing based on scale invariant interest points,” International Conference on Computer Vision, 525-531, July 2001.）などがある。スケール不変特徴点が抽出できる手法であれば、どのような抽出法でも特徴点抽出部１２２に適用が可能である。
【００６４】
ここでは発明の一実施の形態として、スケール不変特徴点の抽出法として、D.ロー（D. Lowe）が提案する方法（“Distinctive image features from scale-invariant keypoints,” accepted for publication in the International Journal of Computer Vision, 2004.）を基礎とした方法を説明する。この手法では、スケール不変特徴点抽出対象画像のスケールスペース表現（T. Lindeberg, “Scale-space: A framework for handling image structures at multiple scales.”, Journal of Applied Statistics, vol. 21, no. 2, pp. 224-270, 1994”）を介して、当該画像のDoGフィルタ出力から、スケール方向も考慮に入れた局所極大点及び局所極小点が特徴点として抽出される。
【００６５】
そこで、ステップＳ１３において、特徴点抽出部１２２は、各解像度画像のうちの未処理解像度画像を選択する。そして、ステップＳ１４において、特徴点抽出部１２２は、スケールスペースの解像度画像を生成する。すなわち、スケール不変特徴点抽出対象画像Ｉ（多重解像度生成部１２１で生成された各解像度画像（ｋ＝０，１，２，・・・，９の各解像度画像）のうちの１つの解像度画像がスケール不変特徴点抽出対象画像となる）のスケールスペースが生成される。スケールスペースのｓ番目（ｓ＝０,・・・，Ｓ−１）の解像度画像Ｌsは、スケール不変特徴点抽出対象画像Ｉを式（１）に示される２次元ガウス関数を用いて、σ＝ｋs σ0で畳み込み積分（ガウスフィルタリング）することで生成される。
【００６６】
【数１】
0004636064.tif 000002
【００６７】
ここでσ0は、スケール不変特徴点抽出対象画像Ｉのノイズ除去を目的としたぼかし度を決めるパラメータであり、ｋはスケールスペースの各解像度間で共通のぼかし度に関するコンスタントファクタであり、解像度画像Ｉ[k]のｋとは別のファクタである。なお、画像の水平方向をＸ軸、垂直方向をＹ軸としている。
【００６８】
図７は、このようにして生成されたスケールスペースの例を表している。この例においては、画像Ｉにそれぞれ以下の５個の２次元ガウス関数を用いて生成された解像度画像Ｌ0乃至Ｌ4を表している。
【００６９】
【数２】
0004636064.tif 000003
【００７０】
なお、式（２）乃至式（６）の右辺の畳み込み積分の記号の右辺の項は、次式を表す。すなわち、実質的に式（１）と同一である。
【００７１】
【数３】
0004636064.tif 000004
【００７２】
図７では、解像度レベル数Ｓ＝５とされている。
【００７３】
次に、ステップＳ１５で、特徴点抽出部１２２は、DoGフィルタ出力画像を演算する。すなわち、このように得られた特徴点抽出対象画像Iのスケールスペースの各解像度画像ＬsのDoGフィルタ出力画像が求められる。このDoGフィルタは、画像の輪郭強調のために用いられる２次微分フィルタの一種であり、人間の視覚系で網膜から外側膝状体で中継されるまでに行われている処理の近似モデルとして、LoGフィルタと共によく用いられるものである。DoGフィルタの出力は、２つのガウスフィルタ出力画像の差分を取ることで効率よく得られる。すなわち、図７の中央の列に示されるように、ｓ番目（ｓ＝０,・・・，Ｓ−２）の解像度のDoGフィルタ出力画像Ｄsは、解像度画像Ｌsを、その１段上の階層の解像度画像Ｌs+1から減算する（Ｌs+1−Ｌsを演算する）ことで得られる。
【００７４】
次に、ステップＳ１６で、特徴点抽出部１２２は、スケール不変特徴点を抽出する。具体的には、DoGフィルタ出力画像Ｄs（ｓ＝１,・・・，Ｓ−３）上のピクセルのうち、DoGフィルタ出力画像Ｄsの直接近傍領域（本実施の形態の場合、所定の位置の３×３個の画素の領域）、それより１段下位のDoGフィルタ出力画像Ｄs-1、並びにそれより１段上位のDoGフィルタ出力画像Ｄs+1上の同位置（対応する位置）の直接近傍領域の合わせて２７ピクセルにおいて、局所極大（２７ピクセルのうちの最大値）、局所極小（２７ピクセルのうちの最小値）となるピクセルがスケール不変特徴点として抽出され、特徴点群Ｋs（ｓ＝１,・・・，Ｓ−３）として保持される。図７の右側の列に、この特徴点群Ｋsが示されている。こうして抽出された特徴点はファクタがｋ2の解像度変化（つまりスケール変化）に対して、位置の不変性を持つスケール不変特徴点である。
【００７５】
特徴点抽出部１２２は、後述するステップＳ２７で、全解像度画像を処理したと判定するまで、ステップＳ１３乃至Ｓ１６の処理を繰り返し、多重解像度生成部１２１により生成された多重解像度レベル画像Ｉ[k]のそれぞれに対し、スケール不変特徴点群を抽出する。
【００７６】
次に、特徴量抽出部１２３は、ステップＳ１７乃至Ｓ２５の処理を、ステップＳ２６で全特徴点を処理したと判定するまで繰り返し、各多重解像度レベル画像Ｉ[k]から抽出された各特徴点における特徴量を抽出する。以下においては、特徴点における特徴量を、文脈に応じて、特徴点特徴量または単に特徴量と呼ぶ。
【００７７】
特徴点特徴量としては、画像の回転変換、明度変化に対して不変な特徴量が用いられる。１つの特徴点に対して、複数の特徴量をあててもかまわない。その場合には、後段の特徴量比較部１３５において、異なる特徴量での比較結果を統合する処理が必要となる。この実施の形態の場合、特徴量として、当該特徴点が抽出された画像の特徴点近傍領域の濃度勾配情報（各点における濃度勾配強度及び濃度勾配方向）から導出される２つの特徴量が用いられる。１つは、当該特徴点近傍領域における支配的な濃度勾配方向（以下、カノニカル方向と呼ぶ）で補正された方向ヒストグラムであり、他の１つは、カノニカル方向で補正された低次元縮退された濃度勾配ベクトルである。
【００７８】
第１の特徴量（タイプ１の特徴量）は、特徴点近傍の濃度勾配方向に関するヒストグラム（方向ヒストグラム）を、その支配的方向でゼロ補正したものである。この第１の特徴量を抽出するために、特徴量抽出部１２３は、ステップＳ１７において、１つの未処理特徴点を選択する。そして、ステップＳ１８で、特徴量抽出部１２３は、濃度勾配強度Ｍx,yと方向Ｒx,yを求める。すなわち、図８に示されるように、特徴点近傍（本実施の形態では、当該特徴点Ｐを中心として直径７ピクセル（半径3.5ピクセル）の範囲に入るピクセル群）の濃度勾配強度Ｍx,y、及び方向Ｒx,yが、それぞれ式（８）と式（９）により求められる。同式中のｘ，ｙは、濃度勾配を求めるピクセルの画像上の座標であり、Ｉx,yは、その画素値である。
【００７９】
【数４】
0004636064.tif 000005
【００８０】
次に、ステップＳ１９で、特徴量抽出部１２３は方向ヒストグラムを生成する。具体的には、特徴点近傍中の各ピクセルの方向Ｒx,yに基づいて、階級幅Δθ、階級数360°／Δθの方向ヒストグラム（本実施の形態では、Δθ＝１０°）の該当する階級に、各ピクセルの度数が累積される。このとき、図９に示されるように階級の量子化誤差の影響を小さくするため、度数（図９における縦軸）としては、階級（図９における横軸）の中心値から方向Ｒx,yへの距離の近さに比例した値が累積される。つまり、方向Ｒx,yから最も近い２つの階級をｇ，ｇ＋１とし、それぞれの中心値と方向Ｒx,yとの距離をｄ1，ｄ2とすると、階級ｇ，ｇ＋１に加算する度数値は、それぞれｄ2／（ｄ1＋ｄ2），ｄ1／（ｄ1＋ｄ2）となる。これにより、量子化誤差が少なくなる。
【００８１】
次に、ステップＳ２０で、特徴量抽出部１２３は度数を正規化する。すなわち、得られた方向ヒストグラムの度数が、特徴点近傍ピクセル数（直径７ピクセルの範囲に入るピクセル数）で割算することにより正規化される。このように、勾配方向のみを累積することで、明度変化に対して強い特徴量を得ることができる。
【００８２】
さらに、特徴量抽出部１２３は、ステップＳ２１でカノニカル方向を抽出し、ステップＳ２２で角度をカノニカル方向で正規化する。具体的には、回転変換に不変な特徴量とするために、得られた方向ヒストグラムの強いピークを与える角度としてのカノニカル方向が抽出され、そのカノニカル方向としての角度が０度になるようにヒストグラムをシフトすることで、角度の正規化が行われる。コーナー付近に抽出された特徴点に関するヒストグラムでは、そのエッジに垂直な方向に複数の強いピークが現れるため、このような場合は、強いピークごとにその角度が０度になるように補正した（正規化した）方向ヒストグラムが生成される。つまり、カノニカル方向の数だけ、別々に特徴量が生成される。ピークがカノニカル方向であるための基準は、例えば、最大累積値の８０％以上の累積値を与えるピーク方向とされる。
【００８３】
例えば、図１０に示される方向ヒストグラムにおいては、角度80度の度数Ｖ80と角度200度の度数Ｖ200の２つのピークが存在する。すなわち、角度80度と角度200度が、カノニカル方向となる。この場合、図１１に示されるように、カノニカル方向としての角度80度が０度となるように正規化されたヒストグラムと、図１２に示されるように、カノニカル方向としての角度200度が０度になるように正規化されたヒストグラムが生成される。
【００８４】
以上の処理で得られるタイプ１の特徴量は、方向ヒストグラムの階級数と同じ次元の特徴ベクトル（本実施の形態では、３６（＝360°／10°）次元ベクトル、すなわち、３６個の階級の度数を表わす数字からなるベクトル）となる。
【００８５】
次に、第２の特徴量（タイプ２の特徴量）として、低次元縮退濃度勾配ベクトルが求められる。タイプ１の特徴量が、特徴点近傍内ピクセルの空間的配置を無視し、特徴点近傍局所領域での濃度勾配ベクトルの方向の傾向（頻度）のみに注目しているのに対し、タイプ２の特徴量は、特徴点近傍の各濃度勾配ベクトルの空間的配置に注目する。この２種類の特徴量を後述する手法で特徴量比較に用いることで、視点変化、明度変化に強い認識を実現する。
【００８６】
タイプ２の特徴量の抽出のために、まず、ステップＳ２３で、特徴量抽出部１２３は、特徴点近傍画像を回転補正する。すなわち、上述の処理で得られた特徴点近傍のカノニカル方向が０度になるように特徴点近傍画像が回転補正される。さらに、ステップＳ２４で、特徴量抽出部１２３は、濃度勾配ベクトル群を演算する。例えば、図１３の上段に示されている特徴点近傍のピクセルの濃度勾配が、図１０に示されるように分布している場合、上述したように、カノニカル方向は、80度と200度の方向となる。そこで、図１３の中段の左側の図に示されるように、上段の画像をカノニカル方向80度が０度になるように、特徴点近傍画像が、この例の場合時計方向に回転される。そして、その濃度勾配ベクトル群が演算される。このことは、結局、図１０の角度80度のカノニカル方向を０度として正規化して得られた図１１の方向ヒストグラムの濃度勾配ベクトル群を得ることに等しい。
【００８７】
また、同様に、図１３の中段の右側に示されるように、特徴点近傍画像が、200度のカノニカル方向が０度になるように回転補正される。そして、その画像の濃度勾配ベクトル群が演算される。このことは、図１０の角度200度のカノニカル方向を０度として正規化することで得られた図１２の方向ヒストグラムの濃度勾配ベクトル群を得ることに等しい。
【００８８】
次に、ステップＳ２５において、特徴量抽出部１２３は、濃度勾配ベクトル群を次元縮退する。すなわち、数ピクセル程度の特徴点抽出位置のずれを吸収できるようにするために、この濃度勾配ベクトル群が、図１３の下段の左右に示されているように、例えば、直径７ピクセルの円の内側にほぼ内接する四角形内の５×５ピクセルのベクトル群から、３×３個のベクトル群に線形補間リサンプルすることで次元縮退される。
【００８９】
線形補間リサンプルは、具体的には、図１４に示されるように、リサンプル画像のピクセル値を、その近傍４個の元画像ピクセルからの距離の比率で以下の式により演算することで行われる。
【００９０】
f(X,Y)=(1-q)・{(1-p)・f(x,y)+p・f(x+1,y)}+q・{(1-p)・f(x,y+1)+p・f（x+1,y+1）｝
・・・（１０）
【００９１】
上記式において、（Ｘ，Ｙ）はリサンプル画像のピクセル、（ｘ，ｙ），（ｘ＋１，ｙ），（ｘ，ｙ＋１），（ｘ＋１，ｙ＋１）は、リサンプル画像（Ｘ，Ｙ）近傍の元画像ピクセル、ｆ（ａ，ｂ）は座標（ａ，ｂ）のピクセル値、ｐ，ｑは、図１４に示されるように、近傍ピクセルからリサンプル画像（Ｘ，Ｙ）へのｘ座標方向とｙ座標方向の距離比である。
【００９２】
こうして、次元縮退されたベクトルのｘ，ｙ各成分を特徴ベクトルの各次元にあてることで、タイプ２の特徴量が得られる。線形補間リサンプルにより、３×３ベクトル群にリサンプルした場合には、１８（＝３×３×２）次元の特徴量となる。
【００９３】
なお、リサンプル後の目標の画像サイズが元画像サイズの半分以下の場合には、元画像を0.5倍ずつ縮小していき、目標サイズより大きい最小の0.5倍乗数サイズの画像が得られたら、その画像から式（１０）のリサンプリングを行うことでリサンプリング時の誤差を小さくすることが可能である。例えば元画像の0.2倍サイズの画像を線形補間リサンプリングで作る場合には、0.5倍リサンプルを２回かけて得られる元画像の0.25倍サイズ画像に式（１０）の線形補間リサンプリングを行う。
【００９４】
ステップＳ２６において、特徴量抽出部１２３は、全特徴点を処理したかを判定し、まだ処理していない特徴点が存在する場合には、処理をステップＳ１７に戻し、それ以降の処理を繰り返し実行する。ステップＳ２６において、全特徴点を処理したと判定された場合（ステップＳ１７乃至ステップＳ２５の処理が、全ての特徴点について行われた場合）、ステップＳ２７において、特徴点抽出部１２２は、全解像度画像を処理したかを判定する。まだ処理していない解像度画像が存在する場合には、処理はステップＳ１３に戻り、それ以降の処理が繰り返し実行される。ステップＳ１３乃至ステップＳ２５の処理が、全ての解像度画像について行われたと判定された場合、ステップＳ２８において、多重解像度生成部１２１は、全登録画像を処理したかを判定する。まだ処理していない登録画像が存在する場合には、処理はステップＳ１１に戻り、それ以降の処理が繰り返し実行される。ステップＳ１１乃至ステップＳ２５の処理が、全ての登録画像について実行されたと判定された場合、処理はステップＳ２９に進む。
【００９５】
登録画像辞書登録部２４は、ステップＳ２９において、以上のように抽出された特徴点特徴量をラベル付けし、その特徴点特徴量が抽出された登録画像の登録ＩＤに対応付けて登録する。この場合、各登録ＩＤの登録画像の多重解像度画像群の、どの画像の、どのスケールから抽出された、どの特徴点の特徴量なのか、が参照できるようにラベル付けされ、登録画像辞書登録部２４に登録される。
【００９６】
以上のようにして、登録画像辞書登録部２４には、認識させたい対象物体に対応する登録画像の特徴量群が予め登録される。
【００９７】
学習部１１１と認識部１１２の両方を認識部２３が有する場合には、認識部１１２は、この登録画像辞書登録部２４をそのまま利用することが可能である。学習部１１１と認識部１１２が別の画像処理装置として構成される場合には、以上のようにして必要な情報が登録された登録画像辞書登録部２４が、画像処理装置１１に搭載される。なお、画像処理装置１１は、登録画像辞書登録部２４を搭載せず、有線または無線通信により外部に設けられた登録画像辞書登録部２４を利用するようにしてもよい。
【００９８】
次に、図１５を参照して、認識部２３による一般物体認識処理と、画像比較部２８による重なり領域の位置を検出する重なり検出処理の概要について説明する。
【００９９】
図１５において、左側は、認識部２３による入力画像中の対象物体を認識する一般物体認識処理の概要を示し、右側は、画像比較部２８による重なり検出処理の概要を示している。
【０１００】
図１５の左側に示すように、一般物体認識処理では、入力画像１５１から抽出された各特徴点の特徴量と、登録画像１５２から抽出された各特徴点の特徴量が比較され、その比較結果に基づいて対象物体１５１Ａが認識される。なお、図１５において、十字は、入力画像１５１と登録画像１５２の間でマッチした特徴点を表している。また、白丸は、登録画像１５２の特徴点とマッチしない入力画像１５１の特徴点を表し、黒丸は、入力画像１５１の特徴点とマッチしない登録画像１５２の特徴点を表している。
【０１０１】
この一般物体認識処理の詳細については、後述する図２３乃至図２５を参照して説明するが、一般物体認識処理では、入力画像１５１との間で所定の数（例えば、３つ）以上の特徴点がマッチした登録画像１５２に対応する対象物体１５１Ａが認識される。従って、指などが重なることによって対象物体１５１Ａの一部が他の物体により隠蔽されていても、登録画像１５２とマッチする所定の数以上の特徴点が入力画像１５１に存在すれば、対象物体１５１Ａを認識することができる。
【０１０２】
従って、重なり検出処理では、図１５の右側に示すように、一般物体認識処理によって認識された対象物体１５１Ａに対応する、輝度補正後の処理済登録画像１５４の登録輝度値と、一般物体認識処理によって対象物体が認識された入力画像１５１の、グレースケール変換およびサイズ変換後の物体領域画像１５３の物体輝度値との差分に基づいて、重なり領域の位置を検出することができる。
【０１０３】
具体的には、重なり検出処理では、処理済登録画像１５４の登録輝度値と、物体領域画像１５３の物体輝度値の差分を輝度値として表す輝度差分画像１５５から、その輝度差分画像１５５の輝度値が所定の閾値より大きい領域、即ち物体輝度値と登録輝度値が一致していない領域１５５Ａの位置が、重なり領域の位置として検出される。
【０１０４】
以上のように、重なり検出処理では、入力画像のフレーム間の差分ではなく、物体領域画像１５３と処理済登録画像１５４の差分により重なり領域を検出するので、対象物体を隠蔽する他の物体が動いていない場合であっても、他の物体により隠蔽された領域、即ち重なり領域の位置を検出することができる。
【０１０５】
次に、図１６を参照して、画像処理装置１１における、入力画像を取得してから重なり領域の位置を検出するまでの処理の概要について説明する。
【０１０６】
図１６に示すように、画像処理装置１１では、入力画像から対象物体が認識され、その結果得られる物体パラメータにしたがって、入力画像中の物体領域が決定される。そして、画像処理装置１１では、その物体領域画像に対して幾何変換が行われ、幾何変換後の物体領域画像がグレースケールに変換される。また、幾何変換後の物体領域画像のサイズが、処理済登録画像のサイズと同一のサイズとなるように変更される。
【０１０７】
一方、登録画像は、グレースケールに変換されて所定のサイズに縮小され、ガウシアンフィルタなどによりぼかし処理が行われる。その結果得られる処理済登録画像は、登録画像辞書登録部２４に登録される。そして、処理済登録画像と、グレースケール変換およびサイズ変換後の物体領域画像との間で、他の物体により隠蔽されていないことが明らかな、認識処理によりマッチした特徴点周辺の輝度値どうしの差分を用いて、他の物体により隠蔽されていない領域の物体領域画像の物体輝度値と登録輝度値が同一となるように、処理済登録画像の登録輝度値が補正される。
【０１０８】
その後、グレースケール変換およびサイズ変換後の物体領域画像の物体輝度値と、補正後の処理済登録画像の登録輝度値との差分を輝度値として表す輝度差分画像が生成され、その輝度差分画像の輝度値が所定の閾値より大きい領域の位置が、重なり領域の位置として検出される。
【０１０９】
以上のように、画像処理装置１１では、他の物体により隠蔽されていない領域の物体領域画像の物体輝度値と登録輝度値が同一となるように、登録輝度値が補正され、補正後の登録輝度値と物体輝度値との差分により重なり領域の位置が検出されるので、重なり検出処理において照明環境に対するロバスト性を高めることができる。
【０１１０】
次に、図１７と図１８のフローチャートを参照して、画像処理装置１１による画像処理について説明する。この画像処理は、例えば、ユーザにより画像処理の開始が指令されたとき開始される。
【０１１１】
ステップＳ１１１において、スレッド作成部２２は、一般物体認識スレッドを作成する。ステップＳ１１２において、画像取得部２１は、撮像部１２により撮像された撮像画像を、入力画像として取得する。そして、画像取得部２１は、入力画像をスレッド作成部２２とアイコン生成部３１に供給する。
【０１１２】
ステップＳ１１３において、認識部２３は、一般物体認識処理を行う。この一般物体認識処理の詳細については、図２３乃至図２５を参照して後述するが、一般物体認識処理により、入力画像の中から登録画像に対応する対象物体が認識された場合、その登録画像の登録ＩＤと物体パラメータが認識部２３から出力される。
【０１１３】
ステップＳ１１４において、幾何変換部２６は、一般物体認識処理により物体を認識したか、即ち認識部２３から登録ＩＤと物体パラメータが供給されたかを判定する。ステップＳ１１４で、一般物体認識処理により物体を認識したと判定されない場合、処理は図１８のステップＳ１２９に進む。
【０１１４】
一方、ステップＳ１１４で、一般物体認識処理により物体を認識したと判定された場合、ステップＳ１１５において、幾何変換部２６は、一般物体認識処理の結果認識部２３から供給される登録ＩＤを取得する。この登録ＩＤは、画像合成部３２にも供給される。また、幾何変換部２６は、登録ＩＤに基づいて、その登録ＩＤに対応するアイコンＩＤを、対象物体に対応するアイコンＩＤとして、登録画像辞書登録部２４から読み出し、アイコン生成部３１に供給する。
【０１１５】
ステップＳ１１６において、幾何変換部２６は、一般物体認識処理の結果認識部２３から供給される物体パラメータを取得する。この物体パラメータは、画像合成部３２にも供給される。
【０１１６】
ステップＳ１１７において、幾何変換部２６は、認識部２３から供給される物体パラメータにしたがって、入力画像中の物体領域を決定し、物体領域画像に対して幾何変換を行う。そして、幾何変換部２６は、認識部２３から供給される登録ＩＤと、幾何変換後の物体領域画像とを画像補正部２７に供給する。
【０１１７】
ステップＳ１１８において、画像補正部２７は、幾何変換部２６から供給される登録ＩＤに基づいて、その登録ＩＤに対応する処理済登録画像を登録画像辞書登録部２４から読み出し、取得する。
【０１１８】
ステップＳ１１９において、画像補正部２７は、幾何変換部２６から供給される物体領域画像をグレースケールに変換し、変換後の物体領域画像のサイズを、処理済登録画像のサイズと同一のサイズに変更する。
【０１１９】
図１８のステップＳ１２０において、画像補正部２７は、認識部２３による一般物体認識処理においてマッチした特徴点周辺の登録輝度値と物体輝度値を用いて、その特徴点周辺の登録輝度値と物体輝度値が同一となるように、登録輝度値を補正する。そして、画像補正部２７は、登録輝度値の補正後の処理済登録画像と、グレースケール変換およびサイズ変換後の物体領域画像とを画像比較部２８に供給する。
【０１２０】
ステップＳ１２１において、画像比較部２８は、画像補正部２７から供給される処理済登録画像の登録輝度値と物体領域画像の物体輝度値に対して、差分を求める差分処理を行い、その差分を輝度値として表す輝度差分画像の輝度値が所定の閾値より大きい領域の位置を、重なり領域の位置として検出する。そして、画像比較部２８は、重なり位置情報を、コマンド判定部２９とアイコン生成部３１に供給する。
【０１２１】
ステップＳ１２２において、画像比較部２８は、画像処理を開始してから初めて対象物体が認識されたか、即ち画像処理を開始してから初めて処理済登録画像と物体領域画像が画像補正部２７から入力されたかを判定する。
【０１２２】
ステップＳ１２２で画像処理を開始してから初めて対象物体が認識されたと判定された場合、ステップＳ１２３において、画像比較部２８は、物体領域画像を用いて、その物体領域画像中の、対象物体との重なりが検出される他の物体として予め想定されている物体の輝度に近似する輝度の領域である輝度近似領域を抽出し、アイコン生成部３１に供給する。
【０１２３】
ステップＳ１２４において、アイコン生成部３１は、認識部２３から供給されるアイコンＩＤと、画像比較部２８から供給される重なり位置情報および輝度近似領域とに基づいて、物体領域のうちの重なり位置情報が表す重なり領域と輝度近似領域以外の領域にアイコンを配置する。
【０１２４】
具体的には、アイコン生成部３１は、アイコンＩＤと重なり位置情報および輝度近似領域とに基づいて、物体領域のうちの重なり領域と輝度近似領域以外の領域の位置を、対象物体に配置するアイコンの位置として決定する。例えば、図１９に示すように、撮像部１２により洋服を着た子供の写真１６０を手に所持した様子が撮像された場合、例えば、一般物体認識処理により、その写真１６０が対象物体として認識されると、初めて対象物体が認識されたときに検出された重なり領域である、写真を所持した手の領域１６１、並びに、指での操作を想定した場合の輝度近似領域である子供の顔の領域１６２および露出した肌の領域１６３以外の領域の位置が、アイコン１６４の位置として決定される。
【０１２５】
そして、アイコン生成部３１は、アイコン位置情報をコマンド判定部２９に供給するとともに、アイコン位置情報、アイコンＩＤ、および入力画像を画像合成部３２に供給する。
【０１２６】
以上のように、画像処理装置１１では、初めて対象物体が認識されたときに既に他の物体が重なっている重なり領域と、対象物体との重なりが検出される他の物体として予め想定されている物体の輝度に近似する輝度の領域である輝度近似領域には、アイコンが配置されないので、重なり検出処理のロバスト性を高めることができる。
【０１２７】
ステップＳ１２５において、画像合成部３２は、アイコン生成部３１から供給されるアイコン位置情報とアイコンＩＤに基づいて、アイコン生成部３１から供給される入力画像にアイコンの画像を合成し、入力画像中の対象物体上にアイコンが配置された合成画像を生成する。そして、画像合成部３２は、合成画像を画像表示部３３に供給する。
【０１２８】
ステップＳ１２６において、画像表示部３３は、画像合成部３２から供給される合成画像を表示し、処理はステップＳ１２９に進む。
【０１２９】
一方、ステップＳ１２２で画像処理を開始してから初めて対象物体が認識されたと判定されない場合、即ち、画像処理を開始してから対象物体の認識が２回以上行われた場合、ステップＳ１２７において、コマンド判定部２９は、画像比較部２８から供給される重なり位置情報と、アイコン生成部３１から供給されるアイコン位置情報とに基づいて、アイコンにおいて重なりが検出されたかどうかを判定する。
【０１３０】
具体的には、コマンド判定部２９は、重なり位置情報とアイコン位置情報に基づいて、重なり領域にアイコンが配置されているかどうかを判定する。そして、重なり領域にアイコンが配置されている場合、コマンド判定部２９は、アイコンにおいて重なりが検出されたと判定し、重なり領域にアイコンが配置されていない場合、コマンド判定部２９は、アイコンにおいて重なりが検出されていないと判定する。
【０１３１】
ステップＳ１２７で、アイコンにおいて重なりが検出されていないと判定された場合、処理はステップＳ１２９に進む。
【０１３２】
また、ステップＳ１２７で、アイコンにおいて重なりが検出されたと判定された場合、コマンド判定部２９は、重なりが検出されたアイコンのコマンド情報をコマンド発行部３０に供給する。そして、ステップＳ１２８において、コマンド発行部３０は、コマンド判定部２９から供給されるコマンド情報に基づいて、そのコマンド情報が表すコマンドを発行する。
【０１３３】
例えば、図１９において、写真１６０に対応する登録画像が動画像であり、アイコン１６４が、写真１６０に対応する動画を再生するためのアイコンである場合、コマンド発行部３０は、写真１６０に対応する登録画像としての動画像を再生するためのコマンドと、アイコン１６４を写真１６０に対応する動画の再生を停止するためのアイコンに変更するコマンドを、画像合成部３２に発行する。そして、処理はステップＳ１２９に進む。
【０１３４】
ステップＳ１２９において、終了判定部２５は、認識部２３から供給される消失情報、または、コマンド発行部３０から供給されるコマンドに応じて、画像処理を終了するかを判定する。ステップＳ１２９で、画像処理を終了すると判定されない場合、即ち、消失情報と画像処理を終了させるためのコマンドが終了判定部２５に供給されなかった場合、処理は図１７のステップＳ１１２に戻り、以降の処理が繰り返される。
【０１３５】
一方、ステップＳ１２９で、画像処理を終了すると判定された場合、即ち、消失情報または画像処理を終了させるためのコマンドが終了判定部２５に供給された場合、終了判定部２５は、終了情報をスレッド作成部２２に供給する。そして、ステップＳ１３０において、スレッド作成部２２は、終了判定部２５から供給される終了情報に応じて、一般物体認識スレッドを削除し、処理は終了する。
【０１３６】
なお、上述した説明では、入力画像そのものにアイコンが合成されたが、入力画像中の対象物体を登録画像に差し替え、差し替え後の入力画像にアイコンが合成されるようにしてもよい。この場合、入力画像そのものにアイコンが合成される場合に比べて、ユーザは対象物体をより鮮明な画像として見ることができる。
【０１３７】
また、対象物体と差し替える画像は、登録画像ではなく、登録画像に対応して予め記憶されている所定の画像であってもよい。この場合、所定の画像として、既にアイコンが配置された画像を予め記憶しておき、対象物体を所定の画像と差し替えた画像をそのまま、アイコンが配置された合成画像として表示させるようにしてもよい。
【０１３８】
次に、図２０乃至図２２を参照して、画像処理装置１１により提供可能な知育システムについて説明する。
【０１３９】
図２０乃至図２２の知育システムでは、登録画像に対応する絵柄が印刷された知育用のカード１７１がユーザに提供されている。ユーザは、図２０の左側に示すように、カード１７１を手に所持して撮像部１２にかざし、画像処理の開始を指令する。画像処理装置１１は、カード１７１を対象物体として認識し、図２０の右側に示すように、入力画像１８１中のカード１７１を、カード１７１に対応して予め記憶されている所定の画像１８２に差し替える。そして、画像処理装置１１は、図２０の右側に示すように、画像１８２上に、乗用車の形状のアイコン１８３、飛行機の形状のアイコン１８４、および自転車の形状のアイコン１８５を表示させる。
【０１４０】
なお、画像処理装置１１は、登録画像に対応して、「自動車はどれですか」という音声も登録しており、その音声をアイコン１８３乃至１８５の表示とともに、図示せぬスピーカから出力する。
【０１４１】
その後、ユーザは、アイコン１８３乃至１８５のうち、形状が自動車の形状であると思うアイコンの表示位置に対応するカード１７１上の位置に指を置く。画像処理装置１１は、入力画像１８１、登録画像、およびアイコン位置情報に基づいて、アイコン１８３乃至１８５における重なりを検出し、自動車の形状のアイコン１８３における重なりが検出された場合、正解を表す音声を出力するコマンドを出力し、図示せぬスピーカに正解を表す音声を出力させる。
【０１４２】
また、ユーザが別の知育用のカード（図示せず）を手に所持して撮像部１２にかざし、画像処理の開始を指令すると、図２１に示すように、図２０の場合と同様に、画像処理装置１１は、入力画像１９１中のカードを、そのカードに対応して予め記憶されている画像１９２に差し替え、その画像１９２上に、チューリップの形状のアイコン１９３と向日葵の形状のアイコン１９４を表示させる。
【０１４３】
このとき、画像処理装置１１は、登録画像に対応して登録されている、「チューリップはどれですか」という音声を、図示せぬスピーカから出力する。その後、ユーザは、アイコン１９３および１９４のうち、形状がチューリップの形状であると思うアイコンの表示位置に対応するカード上の位置に指を置く。
【０１４４】
画像処理装置１１は、図２０の場合と同様に、チューリップの形状のアイコン１９３における重なりを検出した場合、正解を表す音声を出力するコマンドを出力し、図示せぬスピーカに正解を表す音声を出力させる。
【０１４５】
さらに、ユーザが別の知育用のカード（図示せず）を手に所持してかざし、画像処理の開始を指令すると、図２２に示すように、画像処理装置１１は、入力画像２０１中のカードを、カードに対応して予め記憶されている、動きのある、てんとう虫の形状のアイコン２０３が配置された動画像２０２に差し替える。
【０１４６】
このとき、画像処理装置１１は、登録画像に対応して登録されている、「動いているてんとう虫を捕まえてください」という音声を、図示せぬスピーカから出力する。その後、ユーザは、てんとう虫の形状のアイコン２０３の表示位置に対応する位置であると思うカード上の位置に指を置く。
【０１４７】
画像処理装置１１は、入力画像２０１、登録画像、および予め記憶されているアイコン２０３の動きに基づいて、アイコン２０３における重なりを検出し、重なりを検出した場合、正解を表す音声を出力するコマンドを出力し、図示せぬスピーカに正解を表す音声を出力させる。
【０１４８】
また、図示は省略するが、以下の知育システムを画像処理装置１１により提供することもできる。この知育システムでは、ユーザが、カードに自転車と自動車の絵を描いて、そのカードを撮像部１２で撮像させ、その撮像画像を登録画像として、登録画像辞書登録部２４に登録させる。
【０１４９】
このとき、ユーザは、カード上の自転車の位置および自転車に対応する音声としての自転車のベル音、並びに、カード上の自動車の位置および自動車に対応する音声としてのクラクション音を、登録画像に対応付けて登録させる。
【０１５０】
その後、ユーザは、自転車と自動車の絵が描かれたカードを手に所持して撮像部１２にかざし、画像処理の開始を指令する。画像処理装置１１は、そのカードの画像、登録画像、および、自転車と自動車のカード上の位置に基づいて、自転車または自動車における重なりを検出し、自転車における重なりが検出された場合、自転車のベル音を図示せぬスピーカから出力する。また、画像処理装置１１は、自動車における重なりが検出された場合、クラクション音を図示せぬスピーカから出力させる。
【０１５１】
次に、図２３乃至図２５のフローチャートを参照して、図２の認識部２３における一般物体認識処理について説明する。
【０１５２】
多重解像度生成部１３１、特徴点抽出部１３２、および特徴量抽出部１３３は、ステップＳ３３１乃至Ｓ３４７において、このとき入力された入力画像を、処理の対象とする入力画像（以下、対象入力画像という）として、その対象入力画像に対して、図４と図５のステップＳ１１乃至Ｓ２７における学習部１１１の多重解像度生成部１２１、特徴点抽出部１２２、および特徴量抽出部１２３と同様の処理を行う。その説明は繰り返しになるので省略する。但し、パラメータＮとαで決まる多重解像度画像の構成が、認識時では学習時と異なっている。
【０１５３】
多重解像度生成部１２１は、学習時の多重解像度画像を広い倍率レンジで細かい精度で生成するのに対し、多重解像度生成部１３１は、認識時において、粗い精度で多重解像度画像を生成する。具体的に、本実施の形態で適用しているパラメータは、ステップＳ１２の学習時がＮ＝１０，α＝0.1であるのに対し、ステップＳ３３２の認識時はＮ＝２，α＝0.5である。その理由は、次の通りである。
【０１５４】
１）認識精度を上げるには、より多くの特徴点特徴量情報を用いて特徴量比較を行うのが望ましい。つまり、より多くの多重解像度画像から特徴点抽出するのが望ましい。
２）スケール変化のロバスト性を得るために、多重解像度画像の構成はなるべくスケールレンジを広くするのが望ましい。
３）登録画像学習時にはリアルタイム性をそれほど重視しなくても良いので、登録画像の多重解像度画像数を多くし、スケールレンジを広くして特徴点特徴量を抽出し、保持することが可能である。
４）本実施の形態では、対象入力画像から抽出された各特徴点特徴量を、全登録画像の全特徴点特徴量から構築されるkdツリーの k-Nearest Neighbor（k-NN）探索（後述する）を用いて特徴量の比較を行っているため、特徴量比較にかかる計算コストは、対象入力画像から抽出された特徴点数に対して比例して増加するが、登録画像特徴点数に対しては、全登録画像からkdツリーを構築した場合には全登録画像特徴点をｎとすると、計算コストをlognのオーダー（つまりＯ(logn)）に抑えることができる。
５）また一方で、認識時はリアルタイム性が重視されるため、多重解像度画像数をなるべく減らすことで計算コストを小さくする必要が有る。
６）かといって、対象入力画像から多重解像度画像を生成せず、対象入力原画像のみを用いてしまうと、原登録画像のサイズよりも対象入力画像中の登録画像のサイズが大きい場合には、その対象物体の認識が不可能となってしまう。
【０１５５】
以上の理由から、図２６に示されるように、学習時の登録画像からは、より多くの（ｋ＝０乃至９の）多重解像度画像群をより広いレンジで生成し（Ｎ＝１０，α＝0.1）、より多くの特徴点を抽出する一方、認識時には、対象入力画像から、認識に最小限必要な（ｋ＝０，１の）多重解像度画像群を生成し（Ｎ＝２，α＝0.5）、それから特徴点を抽出し、特徴量比較をkdツリー上でk-NN探索を適用することで行い、計算コストを少なくかつ精度の良い認識を実現することを可能とする。図２６には、原登録画像は大き過ぎて対応する大きさのスケールの階層の対象物体は存在しないが、原登録画像（ｋ＝０）を0.5倍に縮小する（ｋ＝１）ことで、対応する大きさのスケールの階層の対象物体が見い出されるようになることが示されている。
【０１５６】
ステップＳ３３１乃至ステップＳ３４５の処理が、全特徴点並びに全解像度画像について行われた場合、処理はステップＳ３４８に進む。
【０１５７】
後述するように、対象入力画像から抽出された各特徴点特徴量（次元縮退された濃度勾配ベクトル群）は、登録されている登録画像の各特徴点特徴量と比較され、類似する登録画像特徴点特徴量と候補対応特徴点組として組み合わされる。最も単純な特徴量比較方法は全探索である。つまり、対象入力画像の各特徴点特徴量に対して、全登録画像の全特徴点特徴量との特徴量間類似度の計算を行い、その類似度により対応特徴点組を選択するのが最も単純な方法である。しかし、全探索による方法は、計算コスト的に実用的でない。そこで本発明の実施の形態では、大量のデータ群からデータを高速に探索するために、kdツリーというデータ構造を用いたツリー探索手法（J. H. Friedman, J. L. Bentley, R. A. Finkel, “An algorithm for finding best matches in logarithmic expected time,” ACM Transactions on Mathematical Software, Vol. 3, No. 3, pp. 209-226, September 1977.）が用いられる。Kdツリーは、ｋ次元の木構造の意味である。
【０１５８】
kdツリー構築部１３４は、これまでの学習過程で登録画像辞書登録部２４に登録された登録画像のうち一部の登録画像に関して認識させれば良い場合には、ステップＳ３４８において、認識対象となる登録画像についてのみ、その全特徴点特徴量からkdツリーを構築する。本実施の形態の場合は、タイプ１の特徴量の36ｄツリー（ｋ＝３６）とタイプ２の特徴量の18ｄツリー（ｋ＝１８）が、それぞれ構築される。ツリーの各リーフ（終端ノード）には、１つの特徴点特徴量が、その特徴量がどの登録ＩＤの登録画像の多重解像度画像群の、どの画像の、どのスケールから抽出された、どの特徴点の特徴量なのか、が参照できるようなラベルとともに保持される。
【０１５９】
一方、登録画像辞書登録部２４に登録された全登録画像を認識させる場合には、登録画像の追加学習の度にツリーを構築し直し、ツリー自体が登録画像辞書登録部２４に登録される。この場合には、ステップＳ３４８におけるkdツリーの構築処理は省略される。
【０１６０】
特徴量比較部１３５は、ステップＳ３４９で、対象入力画像の未処理特徴点を選択する。そして、ステップＳ３５０において、特徴量比較部１３５は、対象入力画像のタイプ１の特徴点特徴量と、類似するｋ個の登録画像の特徴点特徴量をペア組みする。同様に、ステップＳ３５１で、特徴量比較部１３５は、対象入力画像のタイプ２の特徴点特徴量と、類似するｋ個の登録画像の特徴点特徴量をペア組みする。
【０１６１】
すなわち、特徴点抽出部１３２と特徴量抽出部１３３により抽出された対象入力画像の各特徴点特徴量は、特徴量比較部１３５により、k-NN探索により特徴量が類似するｋ個（図２７の例の場合、４個）の登録画像特徴点特徴量とペア組みされる（k-NN探索のｋの値と、kdツリーのｋの値は、同じｋの文字を使用してはいるが、任意の別の値とし得る（もちろん、同じ値としてもよい））。本実施の形態では、タイプ１の特徴量のk-NN探索に用いる非類似度として、式（１２）のユークリッド距離（その値が大きい程、類似していないことを表す）が、タイプ２の特徴量の類似度として、式（１３）に示すコサイン相関値（その値が大きい程、類似していることを表す）が、それぞれ用いられる。
【０１６２】
【数６】
0004636064.tif 000006
【０１６３】
但し、式（１２）において、ｕV，ｖVは非類似度を計算する対象の特徴量ベクトル、ｕn，ｖnはそれぞれｕV，ｖVのｎ次元における値、ＮはｕV，ｖVベクトルの次元数を、それぞれ表わす。
【０１６４】
式（１３）において、ｕV，ｖVは類似度を計算する対象の特徴量ベクトルであり、ｕV・ｖVはベクトルの内積を表す。特徴量が類似するｋ個のペア（組）を抽出する際に、非類似度（タイプ１特徴量に対して）、類似度（タイプ２特徴量に対して）に対する閾値判定を入れてもよい。タイプ２の特徴量に対する類似度計算尺度にコサイン相関値を用いる理由は、明度変化による局所濃度勾配ベクトルの強度の変化に特徴量が影響されないようにするためである。また、コサイン相関値による類似度のかわりに、ｕV，ｖVをベクトル長を１で正規化し、それらのユークリッド距離を非類似度としてタイプ２の特徴量としてもよい。この場合も明度変化による局所濃度勾配ベクトルの強度の変化に特徴量が影響されないようになる。
【０１６５】
特徴量比較部１３５は、ステップＳ３４９乃至ステップＳ３５１の処理を、各対象入力画像の特徴点に対して実行する。そして、ステップＳ３５２において、特徴量比較部１３５は、全特徴点を処理したかを判定し、まだ処理していない特徴点が存在する場合には、処理をステップＳ３４９に戻し、それ以降の処理を繰り返し実行する。ステップＳ３５２において、全特徴点を処理したと判定された場合には、処理はステップＳ３５３に進む。
【０１６６】
タイプ１とタイプ２の２つのタイプの特徴量を用いるので、特徴量比較部１３５は、入力された対象入力画像の特徴点に対する特徴点ペアを特徴量タイプごとに上述の方法で求めた後、ステップＳ３５３で、タイプ１とタイプ２の両方で共通して抽出された特徴点ペアのみを候補対応特徴点組として選択し、登録画像毎に分類する。そして、この候補対応特徴点組は、後段の推定部１３６に供給される。推定部１３６では、登録画像ごとの処理を行うため、抽出された候補対応特徴点組を登録画像ごとに分類して渡すことで、処理の効率化を図ることができる。
【０１６７】
図２７は、以上の処理を模式的に表している。kdツリー構築部１３４により、タイプ１の特徴量の36ｄツリー構造と、タイプ２の特徴量の18ｄツリー構造が生成される。対象入力画像の特徴量群から、k-NN探索（いまの場合、ｋ＝４）によりタイプ１の特徴量の36ｄツリー構造からタイプ１の特徴量の４個の類似ペア群が探索される。この例においては、対象入力画像の四角形で表されている特徴点特徴量（図中の四角形、五角形、三角形、円、または十字の図形は特徴点特徴量を表す）が、タイプ１の特徴量の36ｄツリー構造の五角形、三角形、円、または十字と類似するとして探索される。また、タイプ２の特徴量の18ｄツリー構造からk-NN探索によりタイプ２の特徴量の４個の類似ペア群が探索される。この例では、対象入力画像の四角形が、タイプ２の特徴量の18dツリー構造の平行四辺形、十字、円、またはひし形と類似するとして探索されている。
【０１６８】
タイプ１の特徴量の４個の類似ペア群と、タイプ２の特徴量の４個の類似ペア群の中から、共通する類似ペア群が選択される。この例の場合、タイプ１の特徴量の類似ペア群は、四角形と五角形、四角形と三角形、四角形と円、四角形と十字の４個である。これに対して、タイプ２の特徴量の類似ペア群は、四角形と平行四辺形、四角形と十字、四角形と円、四角形とひし形の４個である。したがって、四角形と円、並びに四角形と十字の類似ペア群が、２つのタイプに共通する特徴点ペアであるので、それが候補対応特徴点ペア（組）として、選択される。
【０１６９】
なお、以上に説明したように、特徴量タイプ毎、認識対象の全登録画像の全特徴点特徴量から１つのkdツリーを構築し、対象入力画像の各特徴点特徴量のk-NNを探索するのではなく、特徴量タイプ毎、登録画像毎にkdツリーを構築し、登録画像毎に対象入力画像各特徴点特徴量のk-NNを探索するようにしてもよい。いずれの場合でも、出力は登録画像毎に分類された候補対応特徴点組群であり、後述する後段の処理は共通となる。
【０１７０】
以上の処理により、特徴点近傍の局所的な濃度勾配情報が類似するペア群（登録画像特徴点と対象入力画像特徴点のペア群）を抽出することができるが、巨視的に見ると、このように得られたペア群は、対応特徴点間の空間的位置関係が登録画像に対応する対象物体の対象入力画像上での位置姿勢（対象物体位置姿勢）と矛盾しない「真の特徴点ペア（インライヤ）」だけでなく、矛盾するような「偽の特徴点ペア（アウトライヤ）」を含んでいる。
【０１７１】
図２８は、インライヤとアウトライヤを模式的に表している。同図に示されるように、図中左側に示される三角形の登録画像と、図中右側に示される対象入力画像の三角形の検出対象物体が対応するとすると、登録画像の三角形の頂点近傍の特徴点Ｐ１乃至Ｐ４は、検出対象物体の特徴点Ｐ11乃至Ｐ14とそれぞれ対応する。すなわち、特徴点Ｐ１が特徴点Ｐ11と、特徴点Ｐ２が特徴点Ｐ12と、特徴点Ｐ３が特徴点Ｐ13と、特徴点Ｐ４が特徴点Ｐ14とそれぞれ対応する。したがって、これらの候補対応特徴点組はインライヤを構成する。なお、図２８において、インライヤは実線で示されている。
【０１７２】
これに対して、登録画像の特徴点Ｐ５は三角形の内部のほぼ中央に位置し、特徴点Ｐ６は三角形の周辺の近傍の外部に位置する。これに対して、特徴点Ｐ５とペア組された対象入力画像の特徴点Ｐ15と、特徴点Ｐ６とペア組された対象入力画像の特徴点Ｐ16は、それぞれ、検出対象物体とは遠く離れた点である。すなわち、特徴点Ｐ５と特徴点Ｐ15の候補対応特徴点組、並びに特徴点Ｐ６と特徴点Ｐ16の候補対応特徴点組はアウトライヤである。なお、図２８において、アウトライヤは破線で示されている。
【０１７３】
候補対応特徴点組群から対象物体の対象入力画像中の位置と姿勢を決める物体パラメータを導出する方法として、最小自乗推定により推定画像変換パラメータを求める手法が考えられる。結果の推定対象物体位置姿勢と空間的位置関係の矛盾する対応ペアを排除し、残ったペアで再び最小自乗推定による推定画像変換パラメータ導出を行うという処理を繰り返すことで、より精度の良い対象物体位置姿勢を求めることができる。
【０１７４】
しかしながら、候補対応特徴点組群中のアウトライヤの数が多い場合や、真の画像変換パラメータから極端に逸脱したアウトライヤが存在する場合には、上記最小自乗推定による推定結果は一般的に満足のいくものではないことが知られている（Hartley R., Zisserman A.,“Multiple View Geometry in Computer Vision.”, Chapter 3, pp.69-116, Cambridge University Press, 2000）。そこで、本実施の形態における推定部１３６は、ある画像変換の拘束の下、候補対応特徴点組群の空間的位置関係から「真の特徴点ペア（インライヤ）」を抽出し、抽出されたインライヤを用いて対象物体の位置姿勢を決める画像変換パラメータを推定する。
【０１７５】
この推定部１３６による推定処理は、認識対象とする登録画像ごとに行われ、登録画像ごとに対応する対象物体の有無、有る場合には位置姿勢の推定が行われる。以下の説明で出てくる候補対応特徴点組は、特徴量比較部１３５の出力である候補対応特徴点組のうち、当該登録画像に関するペアのみをまとめたペア群を意味する。
【０１７６】
画像変換としてはユークリッド変換、相似変換、アフィン変換、射影変換などが挙げられるが、本実施の形態においては、アフィン変換の拘束の下、位置姿勢推定を行う場合について詳細説明を行う。上述したように、特徴点の組が３組以上なければ、アフィン変換パラメータを演算できないので、推定部１３６は、ステップＳ３５４で１つの未処理登録画像を選択した後、ステップＳ３５５で候補対応特徴点ペア（組）が３組以上あるかを判定する。
【０１７７】
候補対応特徴点組が２組以下の場合、推定部１３６は、ステップＳ３５６で、対象入力画像中に対象物体が存在しない、又は対象物体位置姿勢検出に失敗したとして、「認識不可」を出力する。このとき、幾何変換部２６は、図１７のステップＳ１１４において、推定部１３６から出力される「認識不可」に対応して物体を認識していないと判定する。
【０１７８】
一方、候補対応特徴点組が３組以上ある場合、推定部１３６は、対象物体位置姿勢を検出可能であるので、アフィン変換パラメータの推定を行う。このため、推定部１３６は、ステップＳ３５７で座標変換を行う。すなわち、候補対応特徴点組の登録画像特徴点位置座標が、原登録画像上の位置座標に変換されるとともに、対象入力画像特徴点位置座標が、入力原画像の位置座標に変換される。そして、ステップＳ３５８で、推定部１３６は、推定処理を行う。
【０１７９】
３組の候補対応特徴点組で構成されるペア群Ｐを、（[ｘ1  ｙ1]T，[ｕ1  ｖ1]T），（[ｘ2  ｙ2]T，[ｕ2  ｖ2]T），（[ｘ3  ｙ3]T，[ｕ3  ｖ3]T）とすると、ペア群Ｐとアフィン変換パラメータとの関係は、以下の式（１４）に示す線形システムで表現することができる。
【０１８０】
【数７】
0004636064.tif 000007
【０１８１】
この式（１４）を、ＡｘV＝ｂVのように書き直すと（下付のＶは、添えられている文字（例えばｘVのｘ）がベクトルであることを表わす。以下、同様である）、アフィン変換パラメータｘVの最小自乗解は、以下の式（１５）で与えられる。
【０１８２】
ｘV＝Ａ-1ｂV                           ・・・（１５）
【０１８３】
候補対応特徴点組群から、アウトライヤが１つ以上混入するように、ランダムにペア群Ｐを繰り返し選択した場合、そのアフィン変換パラメータは、パラメータ空間上に散らばって投射される。一方、インライヤのみから構成されるペア群Ｐをランダムに繰り返し選択した場合、そのアフィン変換パラメータは、何れも対象物体位置姿勢の真のアフィン変換パラメータに極めて類似した、すなわちパラメータ空間上で距離の近いものとなる。したがって、候補対応特徴点組群から、ランダムにペア群Ｐを選択し、そのアフィン変換パラメータをパラメータ空間上に投射していく処理を繰り返すと、インライヤはパラメータ空間上で密度の高い（メンバ数の多い）クラスタを形成し、アウトライヤは散らばって出現することになる。すなわち、パラメータ空間上でクラスタリングを行えば、最多メンバ数を持つクラスタの要素がインライヤとなる。
【０１８４】
推定部１３６における推定処理の詳細を図２９のフローチャートを用いて説明する。なお、この推定部１３６におけるクラスタリング手法としては、NN（Nearest Neighbor）法が用いられる。この際、上述したパラメータｂ1，ｂ2は、登録画像により様々な値を取り得るため、ｘ空間でもクラスタリングにおいてクラスタリング閾値の選択が登録画像に依存してしまう。そこで、推定部１３６では、「真のパラメータとａ1，…，ａ4は類似するが、ｂ1，ｂ2が異なるようなアフィン変換パラメータを与えるペア群Ｐは、殆ど存在しない」という仮定の下、パラメータａ1，…，ａ4（以下、ａVと表記する）で規定されるパラメータ空間上のみでクラスタリングを行う。なお、上記仮定が成り立たない状況が生じたとしても、ａV空間とは独立に、パラメータｂ1，ｂ2で規定されるパラメータ空間でクラスタリングを行い、その結果を考慮することで、容易に問題を回避することができる。
【０１８５】
先ず、ステップＳ４０１において、推定部１３６は初期化を行う。具体的には、繰り返し数を表す変数としてのカウント値cntがcnt＝１とされ、候補対応特徴点組群からランダムに３組のペアをペア群Ｐ1として選択し、アフィン変換パラメータａV1が求められる。また、推定部１３６は、クラスタ数を表す変数ＮをＮ＝１とし、アフィン変換パラメータ空間ａV上でａV1を中心とするクラスタＺ1を作る。推定部１３６は、このクラスタＺ1のセントロイドｃV1をｃV1＝ａV1とし、クラスタのメンバ数を表す変数ｎz1をｎz1＝１とし、カウンタ値cntをcnt＝２に更新する。
【０１８６】
次に、ステップＳ４０２において、推定部１３６は、候補対応特徴点組群からランダムに３組のペアをペア群Ｐcntとして選択し、アフィン変換パラメータａVcntを計算する。そして、推定部１３６は、計算されたアフィン変換パラメータａVcntをパラメータ空間に投射する。
【０１８７】
次に、ステップＳ４０３において、推定部１３６は、NN法によりアフィン変換パラメータ空間をクラスタリングする。具体的には、推定部１３６は、先ず以下の式（１６）に従って、アフィン変換パラメータａVcntと各クラスタＺiのセントロイドｃVi（ｉ＝１，…，Ｎ）との距離ｄ（ａVcnt, ｃVi）のうち、最小の距離ｄminを求める。
【０１８８】
ｄmin  =   ｍｉｎ 1≦i≦N ｛  ｄ(ａVcnt,  ｃVi)  ｝    ・・・（１６）
【０１８９】
そして、推定部１３６は、所定の閾値τ（例えばτ＝0.1）に対してｄmin＜τであればｄminを与えるクラスタＺiにａVcntを属させ、ａVcntを含めた全メンバでクラスタＺiのセントロイドｃiを更新する。また、クラスタＺiのメンバ数ｎziはｎzi＝ｎzi＋１とされる。一方、ｄmin≧τであれば、推定部１３６は、アフィン変換パラメータ空間ａV上でａVcntをセントロイドｃVN+1とする新しいクラスタＺN+1を作り、そのクラスタのメンバ数ｎzN+1をｎzN+1＝１とし、クラスタ数ＮをＮ＝Ｎ＋１とする。
【０１９０】
続いて、ステップＳ４０４で、推定部１３６は、繰り返し終了条件を満たすか否かを判別する。繰り返し終了条件は、例えば最多メンバ数が所定の閾値（例えば１５）を超え、且つ最多メンバ数と２番目に多いメンバ数との差が所定の閾値（例えば３）を超える場合、或いは繰り返し数カウンタのカウント値cntが、所定の閾値（例えば5000回）を超える場合のように設定することができる。ステップＳ４０４において、繰り返し終了条件が満たされないと判定された場合（Noと判定された場合）には、推定部１３６は、ステップＳ４０５で繰り返し数のカウント値cntをcnt＝cnt＋１とした後、処理をステップＳ４０２に戻し、それ以降の処理を繰り返す。
【０１９１】
一方、ステップＳ４０４で、繰り返し終了条件を満たすと判定された場合（Yesと判定された場合）には、ステップＳ４０６において、推定部１３６は、以上の処理で得られたインライヤが３ペアに満たない場合には、アフィン変換パラメータが決定できないため、認識結果を「対象物体非検出」と出力し、インライヤが３ペア以上抽出された場合には、インライヤに基づいて、最小自乗法により対象物体位置姿勢を決定するアフィン変換パラメータを推定し、認識結果として出力する。
【０１９２】
インライヤを（[ｘIN1  ｙIN1]T，[ｕIN1  ｖIN1]T），（[ｘIN2  ｙIN2]T，[ｕIN2  ｖIN2]T），…とすると、インライヤとアフィン変換パラメータとの関係は、以下の式（１７）に示す線形システムで表現することができる。
【０１９３】
【数８】
0004636064.tif 000008
【０１９４】
この式（１７）を、ＡINｘVIN＝ｂVINのように書き直すと、アフィン変換パラメータｘVINの最小自乗解は以下の式（１８）で与えられる。
【０１９５】
ｘVIN ＝ (ＡINT ＡIN) 1 ＡINTｂVIN          ・・・（１８）
【０１９６】
ステップＳ４０６で、推定部１３６は、このアフィン変換パラメータｘVINを物体パラメータとして推定する。推定部１３６は、この物体パラメータと、直前のステップＳ３５４で選択された登録画像に対応する登録ＩＤを対応付けて保持する。
【０１９７】
図２５に戻り、ステップＳ３５８またはステップＳ３５６の処理の後、ステップＳ３５９において、推定部１３６は、全登録画像を処理したかを判定する。まだ処理していない登録画像が存在する場合には、処理はステップＳ３５４に戻り、それ以降の処理が繰り返し実行される。ステップＳ３５９において、全ての登録画像について処理したと判定された場合、ステップＳ３６０において、推定部１３６は、ステップＳ４０６で保持された登録ＩＤと物体パラメータを、指定領域トラッキング部２３１に出力する。そして、処理は終了する。
【０１９８】
以上の図２５のステップＳ３５４乃至Ｓ３５９の処理は、認識対象とする登録画像ごとに行なわれる。この処理が、図３０に模式的に示されている。この例においては、候補対応特徴点組群ｐ１乃至ｐ６から最初にランダムに３個の候補対応特徴点組群ｐ１,ｐ３,ｐ４が選択され、それに基づき計算されたアフィン変換パラメータがパラメータ空間に投射される。次に、ランダムに３個の候補対応特徴点組群ｐ３,ｐ４,ｐ６が選択され、それらに基づき、計算されたアフィン変換パラメータがパラメータ空間に投射される。同様の処理がさらに繰り返され、この例においては、３個の候補対応特徴点組群ｐ５,ｐ４,ｐ１が選択され、それに基づきアフィン変換パラメータが計算され、パラメータ空間に投射される。そして、パラメータ空間上において、近接するアフィン変換パラメータが、クラスタリングされ、そのクラスタリングされたアフィン変換パラメータに最小自乗法を適用することで、物体パラメータが決定される。
【０１９９】
上記の手法を用いることにより、アウトライヤが候補対応特徴点組群中に多数含まれてしまっている場合でも、アウトライヤを排除し、高精度に位置姿勢推定（物体パラメータ導出）が可能となる。
【０２００】
以上の実施の形態では、アフィン変換拘束の下での位置姿勢推定の詳細を述べた。アフィン変換拘束の下では、平面領域が支配的な、例えば箱や本などの３次元物体であれば、その支配平面についての視点変化に対してロバストな位置姿勢推定が可能となる。しかし、曲面や凹凸が支配的な３次元物体のロバストな位置姿勢推定を行うには、アフィン変換拘束を投影変換拘束に拡張する必要がある。ただし、この場合においても、推定すべき変換パラメータの次元が増えるだけで、上記手法を簡単に拡張することが可能である。
【０２０１】
このようにして、決定された対象物体の位置姿勢は、例えば、図２６や図２８において破線で示されている。これらの図に示されるように、本実施の形態においては、単に登録画像に対応する対象物体の存在の有無が検出されるだけでなく、その対象物体が存在する場合には、その位置姿勢までも推定され、出力される。
【０２０２】
なお、推定部１３６が推定するこの対象物体の位置姿勢は、対象入力画像の対象物体に対する相対的な位置姿勢を意味するから、対象物体の位置姿勢を基準の位置姿勢として考えた場合には、推定部１３６は、登録画像に対する対象物体の位置姿勢を推定することを意味する。
【０２０３】
なお、以上の説明では、閾値τが定数値であるものとしたが、ステップＳ４０２乃至ステップＳ４０５の繰り返し処理を行う際に、始めは比較的大きな閾値τを用いて大雑把なインライヤ抽出を行い、繰り返し回数が増える毎に次第に小さい閾値τを用いる、いわゆる「焼きなまし法」のような手法を適用してもよい。これにより、精度よくインライヤを抽出することができる。
【０２０４】
また、以上の説明では、候補対応特徴点組群からランダムにペア群Ｐを選択し、そのアフィン変換パラメータをパラメータ空間上に投射していく処理を繰り返し、パラメータ空間上で最多メンバ数を持つクラスタの要素をインライヤとして、最小自乗法により物体パラメータを推定したが、これに限定されるものではなく、例えば最多メンバ数を持つクラスタのセントロイドを、物体パラメータとしても構わない。さらに、組は３個以上の特徴点で構成してもよい。
【０２０５】
以上、登録画像毎に特徴量比較部１３５により抽出された特徴点ペアは、登録画像毎に分類され、推定部１３６において登録画像毎に位置姿勢推定が行われるので、対象入力画像中に複数の登録画像が含まれているような画像でも対象物体登録画像の認識が可能となる。
【０２０６】
なお、上述したように、一般物体認識処理では、多重解像度画像が生成され、全解像度の画像において特徴量の比較が行われるので、処理負荷が比較的大きい。また、登録画像辞書登録部２４に登録される多数の登録画像の特徴量との比較が行われるため、登録画像辞書登録部２４に登録されている登録画像の量が増加するほど、処理負荷が大きくなる。
【０２０７】
そこで、一般物体認識処理の負荷が大きく、撮像画像の各フレームに対してリアルタイムでトラッキングすることが困難である場合、図３１に示すように、画像処理装置は、一般物体認識処理を数フレームごとに行い、それ以外のフレームにおいては、負荷の小さいトラッキング処理を行うことにより、物体パラメータなどを得る。
【０２０８】
即ち、図３１の画像処理装置２１１は、撮像部１２、登録画像辞書登録部２４、終了判定部２５、画像補正部２７、画像比較部２８、コマンド判定部２９、コマンド発行部３０、アイコン生成部３１、画像合成部３２、画像表示部３３、画像取得部２２１、スレッド作成部２２２、認識部２２３、トラッキング部２２４、幾何変換部２２５、および画像データ保存部２２６により構成される。なお、図２と同一のものには同一の符号を付してあり、説明は繰り返しになるので省略する。
【０２０９】
画像取得部２２１は、撮像部１２から供給される撮像画像を、アイコン生成部３１、スレッド作成部２２２、トラッキング部２２４、および画像データ保存部２２６に供給する。
【０２１０】
スレッド作成部２２２は、画像取得部２２１から供給される入力画像に応じて、その入力画像を認識部２２３に供給するとともに、一般物体認識スレッドと、第１および第２のトラッキングスレッドを作成する。なお、第１および第２のトラッキングスレッドは、トラッキング部２２４によるトラッキング処理が区分されたものである。
【０２１１】
具体的には、スレッド作成部２２２は、画像取得部２２１から供給される入力画像を認識部２２３に供給するとともに、一般物体認識スレッドを実行する認識部２２３と、第１および第２のトラッキングスレッドを実行するトラッキング部２２４に処理の開始を指令する。
【０２１２】
また、スレッド作成部２２２は、終了判定部２５から供給される終了情報に応じて、一般物体認識スレッドと第１および第２のトラッキングスレッドを削除する。具体的には、スレッド作成部２２２は、認識部２３とトラッキング部２２４に処理の終了を指令する。
【０２１３】
認識部２２３は、図２の認識部２３と略同様に構成されるが、認識の結果得られる登録ＩＤと物体パラメータだけでなく、対象物体が認識された入力画像のフレーム番号も出力する。
【０２１４】
即ち、認識部２２３は、認識部２３と同様に、スレッド作成部２２２から供給される入力画像と、登録画像辞書登録部２４に登録されている登録画像に基づいて、一般物体認識処理を行う。そして、認識部２２３は、一般物体認識処理の結果得られる入力画像中に含まれる対象物体に対応する登録ＩＤ、物体パラメータ、および、その入力画像のフレーム番号を、トラッキング部２２４に供給する。
【０２１５】
また、認識部２２３は、認識部２３と同様に、対象物体に対応するアイコンＩＤを、アイコン生成部３１に供給する。さらに、認識部２２３は、認識部２３と同様に、一般物体認識処理の結果に基づいて、消失情報を終了判定部２５に供給する。
【０２１６】
上述したように、トラッキング処理は、第１のトラッキングスレッドと第２のトラッキングスレッドの２つのスレッドに区分されるので、トラッキング部２２４は、第１のトラッキングスレッドを実行する指定領域トラッキング部２３１と、第２のトラッキングスレッドを実行する指定領域トラッキング部２３２により構成される。
【０２１７】
指定領域トラッキング部２３１は、認識部２２３から供給されるフレーム番号に基づいて、画像データ保存部２２６に保存されている所定のフレーム数の入力画像を読み出す。指定領域トラッキング部２３１は、認識部２２３から供給される物体パラメータに基づいて、トラッキング対象とする領域を指定領域として指定する。
【０２１８】
また、指定領域トラッキング部２３１は、画像データ保存部２２６から読み出された所定のフレーム数の入力画像において指定領域をトラッキングする。指定領域トラッキング部２３１は、認識部２２３から供給される登録ＩＤと、トラッキングの結果得られる物体パラメータを指定領域トラッキング部２３２に供給する。この指定領域トラッキング部２３１の詳細は、図３４を参照して後述する。
【０２１９】
指定領域トラッキング部２３２は、指定領域トラッキング部２３１から供給される物体パラメータに基づいて、トラッキング対象とする領域を指定領域として指定する。指定領域トラッキング部２３２は、画像取得部２２１から供給される、いま撮像された入力画像を読み出す。指定領域トラッキング部２３２は、読み出した入力画像において指定領域をトラッキングする。
【０２２０】
また、指定領域トラッキング部２３２は、指定領域トラッキング部２３１から供給される登録ＩＤ、トラッキングの結果得られる物体パラメータ、および、画像取得部２２１から供給された入力画像のフレーム番号を、幾何変換部２２５に供給する。さらに、指定領域トラッキング部２３２は、登録ＩＤと物体パラメータを画像合成部３２に供給する。
【０２２１】
幾何変換部２２５は、トラッキング部２２４の指定領域トラッキング部２３２から供給されるフレーム番号に基づいて、そのフレーム番号の入力画像を画像データ保存部２２６から読み出す。
【０２２２】
また、幾何変換部２２５は、指定領域トラッキング部２３２から供給される物体パラメータにしたがって、画像データ保存部２２６から読み出された入力画像中の物体領域を決定し、物体領域画像に対して幾何変換を行う。幾何変換部２２５は、指定領域トラッキング部２３２から供給される登録ＩＤと、幾何変換後の物体領域画像とを画像補正部２７に供給する。画像データ保存部２２６は、画像取得部２２１から供給される入力画像を保存する。
【０２２３】
次に、図３２と図３３のフローチャートを参照して、画像処理装置２１１による画像処理について説明する。この画像処理は、例えば、ユーザにより画像処理の開始が指令されたとき開始される。
【０２２４】
ステップＳ５０１において、スレッド作成部２２２は、一般物体認識スレッド、第１のトラッキングスレッド、および第２のトラッキングスレッドを作成する。
【０２２５】
ステップＳ５０２において、画像取得部２２１は、撮像部１２により撮像された撮像画像を、入力画像として取得する。そして、画像取得部２２１は、入力画像を、アイコン生成部３１、スレッド作成部２２２、トラッキング部２２４、および画像データ保存部２２６に供給する。
【０２２６】
ステップＳ５０３において、認識部２２３は、現在、一般物体認識処理中であるかを判定する。ステップＳ５０３で一般物体認識処理中ではないと判定された場合、即ち、まだ最初の一般物体認識処理が行われていない場合、または、１回の一般物体認識処理が終了した場合、処理はステップＳ５０４に進む。
【０２２７】
ステップＳ５０４において、認識部２２３は、図２３乃至図２５に示した一般物体認識処理を開始する。但し、認識部２２３による一般物体認識処理では、図２５のステップＳ３６０において、登録ＩＤおよび物体パラメータとともに、対象物体が認識された入力画像のフレーム番号が出力される。
【０２２８】
ステップＳ５０５において、指定領域トラッキング部２３１は、前回の一般物体認識処理で物体が認識されたかを判定する。
【０２２９】
ステップＳ５０５で前回の一般物体認識処理で物体が認識されたと判定されない場合、即ち、前回の一般物体認識処理のステップＳ３５６（図２５）において「認識不可」が出力された場合、処理は図３３のステップＳ５２６に進む。
【０２３０】
ステップＳ５０５で前回の一般物体認識処理で物体が認識されたと判定された場合、即ち、前回の一般物体認識処理のステップＳ３６０（図２５）において登録ＩＤ、物体パラメータ、およびフレーム番号が出力されたか、または、直前のステップＳ５０４で開始される一般物体認識処理が最初の一般物体認識処理である場合、処理はステップＳ５０６に進む。
【０２３１】
ステップＳ５０６において、トラッキング部２２４の指定領域トラッキング部２３１は、前回の一般物体認識処理で認識部２２３から出力された登録ＩＤを取得する。この登録ＩＤは、画像合成部３２にも供給される。
【０２３２】
ステップＳ５０７において、指定領域トラッキング部２３１は、前回の一般物体認識処理で認識部２２３から出力された物体パラメータを取得する。ステップＳ５０８において、指定領域トラッキング部２３１は、前回の一般物体認識処理で認識部２２３から出力された物体パラメータを取得する。
【０２３３】
ステップＳ５０９において、指定領域トラッキング部２３１は、所定のフレーム数の入力画像において指定領域をトラッキングする第１の指定領域トラッキング処理を開始する。また、指定領域トラッキング部２３２は、いま撮像された入力画像において指定領域をトラッキングする第２の指定領域トラッキング処理を行う。
【０２３４】
この第１の指定領域トラッキング処理の詳細は、後述する図３５を参照して説明する。また、第２の指定領域トラッキング処理の詳細は、後述する図４０を参照して説明する。
【０２３５】
一方、ステップＳ５０３で一般物体認識処理中であると判定されない場合、ステップＳ５１０において、指定領域トラッキング部２３２は、前回の第２の指定領域トラッキング処理において対象物体をトラッキングできているか、即ち、後述する図３５の第１の指定領域トラッキング処理または図４０の第２の指定領域トラッキング処理で「トラッキング不可」が出力されたかを判定する。
【０２３６】
ステップＳ５１０で前回の第２の指定領域トラッキング処理において対象物体をトラッキングできていると判定されない場合、処理はステップＳ５０２に戻り、上述した処理が繰り返される。
【０２３７】
一方、ステップＳ５１０で前回の第２の指定領域トラッキング処理において対象物体をトラッキングできていると判定された場合、ステップＳ５１１において、指定領域トラッキング部２３２は、第２の指定領域トラッキング処理を行う。
【０２３８】
ステップＳ５０９またはＳ５１１の処理後、処理はステップＳ５１２に進む。ステップＳ５１２において、幾何変換部２２５は、第２の指定領域トラッキング処理の結果指定領域トラッキング部２３２から供給される物体パラメータを取得する。この物体パラメータは、画像合成部３２にも供給される。
【０２３９】
ステップＳ５１３乃至Ｓ５１５の処理は、図１７のステップＳ１７乃至Ｓ１９の処理と同様であるので、説明は省略する。
【０２４０】
図３３のステップＳ５１６において、画像比較部２８は、第１の指定領域トラッキング処理における指定領域が更新されたかを判定する。ステップＳ５１６で、第１の指定領域トラッキング処理における指定領域が更新されたと判定された場合、ステップＳ５１７において、画像補正部２７は、図１８のステップＳ１２０の処理と同様に、認識部２２３による一般物体認識処理においてマッチした特徴点周辺の登録輝度値と物体輝度値を用いて、その特徴点周辺の登録輝度値と物体輝度値が同一となるように、登録輝度値を補正する。
【０２４１】
そして、画像補正部２７は、登録輝度値の補正後の処理済登録画像と、グレースケール変換およびサイズ変換後の物体領域画像とを画像比較部２８に供給し、処理はステップＳ５１８に進む。
【０２４２】
一方、ステップＳ５１６で、第１の指定領域トラッキング処理における指定領域が更新されていないと判定された場合、処理はステップＳ５１７をスキップする。即ち、この場合、画像補正部２７は、前回のステップＳ５１７で登録輝度値が補正された処理済登録画像を、グレースケール変換およびサイズ変換後の物体領域画像とともに画像比較部２８に供給する。つまり、登録輝度値の補正は、１回の一般物体認識処理に１回の割合で行われる。そして、処理はステップＳ５１８に進む。
【０２４３】
ステップＳ５１８において、画像比較部２８は、図１８のステップＳ１２１の処理と同様に、画像補正部２７から供給される処理済登録画像の登録輝度値と物体領域画像の物体輝度値に対して、差分を求める差分処理を行い、その差分を輝度値として表す輝度差分画像の輝度値が所定の閾値より大きい領域の位置を、重なり領域の位置として検出する。そして、画像比較部２８は、重なり位置情報を、コマンド判定部２９とアイコン生成部３１に供給する。
【０２４４】
ステップＳ５１９において、画像比較部２８は、各一般物体認識処理が開始されてから初めて第１および第２のトラッキング処理が行われたか、即ち、各一般物体認識処理が開始されてから初めて処理済登録画像と物体領域画像が画像補正部２７から入力されたかを判定する。ステップＳ５１９で、各一般物体認識処理が開始されてから初めて第１および第２のトラッキング処理が行われたと判定された場合、処理はステップＳ５２０に進む。
【０２４５】
一方、ステップＳ５１９で、各一般物体認識処理が開始されてから初めて第１および第２のトラッキング処理が行われたと判定されない場合、即ち、各一般物体認識処理が開始されてから第１および第２のトラッキング処理が２回以上行われた場合、処理はステップＳ５２４に進む。
【０２４６】
ステップＳ５２０乃至Ｓ５２６の処理は、図１８のステップＳ１２３乃至Ｓ１２９の処理と同様であるので、説明は省略する。
【０２４７】
ステップＳ５２７において、スレッド作成部２２２は、終了判定部２５から供給される終了情報に応じて、一般物体認識スレッド、第１のトラッキングスレッド、および第２のトラッキングスレッドを削除し、処理は終了する。
【０２４８】
図３４は、図３１の指定領域トラッキング部２３１は、第１の指定領域トラッキング処理を実行するために、図３４に示すような構成を有している。
【０２４９】
図３４の指定領域トラッキング部２３１は、領域指定部２４１、特徴点抽出部２４２、オプティカルフロー演算部２４３、アフィン行列演算部２４４、誤差演算部２４５、およびスコア演算部２４６により構成される。
【０２５０】
領域指定部２４１には、認識部２２３またはスコア演算部２４６から物体パラメータが供給される。領域指定部２４１は、その物体パラメータに基づいて指定領域を指定し、その指定領域を特徴点抽出部２４２に供給する。
【０２５１】
特徴点抽出部２４２には、認識部２２３からフレーム番号が供給され、特徴点抽出部２４２は、フレーム番号に基づいて、入力画像を対象入力画像として、画像データ保存部２２６から読み出す。
【０２５２】
特徴点抽出部２４２は、対象入力画像から、例えば図３の特徴点抽出部１２２と同様に特徴点を抽出する。特徴点抽出部２４２は、領域指定部２４１から供給される指定領域に基づいて、抽出した特徴点のうち、指定領域外に位置する特徴点を削除し、指定領域内の特徴点の位置を表す特徴点情報を一時的に保持する。また、特徴点抽出部２４２は、対象入力画像の指定領域内の特徴点の特徴点情報(以下、対象フレーム特徴点情報という)、対象入力画像の１フレーム前の入力画像(以下、前入力画像という)の指定領域内の特徴点の特徴点情報（以下、前フレーム特徴点情報という）、および対象入力画像を、オプティカルフロー演算部２４３に供給する。また、特徴点抽出部２４２は、対象フレーム特徴点情報と前フレーム特徴点情報を、誤差演算部２４５に供給する。
【０２５３】
オプティカルフロー演算部２４３は、特徴点抽出部２４２から供給される対象フレーム特徴点情報、前フレーム特徴点情報、および対象入力画像に基づいて、各特徴点の動き情報としてオプティカルフローを演算し、そのオプティカルフローをアフィン行列演算部２４４に供給する。
【０２５４】
アフィン行列演算部２４４は、オプティカルフロー演算部２４３から供給される各特長点のオプティカルフローのうちの、３個の特徴点のオプティカルフローから、アフィン変換を行うためのアフィン行列を演算する。アフィン行列演算部２４４は、そのアフィン行列を誤差演算部２４５に供給する。
【０２５５】
誤差演算部２４５は、特徴点抽出部２４２から供給される前フレーム特徴点情報が表す各特徴点の位置と、アフィン行列演算部２４４から供給されるアフィン行列を乗算する。そして、誤算演算部２４５は、その乗算の結果得られる各特徴点の位置と、特徴点抽出部２４２から供給される対象フレーム特徴点情報が表す各特徴点の位置との誤差を演算し、各特徴点における誤差とアフィン行列をスコア演算部２４６に供給する。
【０２５６】
スコア演算部２４６は、誤差演算部２４５から供給される誤差のうち、予め設定された閾値Ｔより小さい誤差があるかを判定する。スコア演算部２４６は、その判定の結果に応じて、その誤差に対応するアフィン行列のスコアを決定する。なお、ここでは、誤差が閾値Ｔより小さい特徴点の数が多いほど、スコアが大きくなるように、スコアが決定されるものとする。
【０２５７】
スコア演算部２４６は、対象入力画像におけるアフィン行列のうち、スコアの最も大きいアフィン行列を、指定領域の代表アフィン行列として選択する。スコア演算部２４６は、代表アフィン行列のパラメータを物体パラメータとして領域指定部２４１に供給する。また、スコア演算部２４６には、認識部２２３から登録ＩＤが供給され、スコア演算部２４６は、所定のタイミングで、その登録ＩＤとともに、代表アフィン行列のパラメータを物体パラメータとして、指定領域トラッキング部２３２に供給する。
【０２５８】
次に、図３５のフローチャートを参照して、指定領域トラッキング部２３１による第１の指定領域トラッキング処理について説明する。
【０２５９】
ステップＳ５５１において、領域指定部２４１は、認識部２２３による一般物体認識処理の結果得られた物体パラメータに基づいて指定領域を指定する。すなわち、物体パラメータの位置情報（座標データ）に基づいて、トラッキングすべき指定領域が指定され、その指定領域が特徴点抽出部２４２に供給される。ステップＳ５５２において、特徴点抽出部２４２は、認識部２２３から供給される、認識された対象物体を含むフレームのフレーム番号に基づいて、画像データ保存部２２６に記憶されている入力画像の中から、そのフレーム番号の入力画像を対象入力画像として読み出す。ステップＳ５５３において、特徴点抽出部２４２は、対象入力画像から特徴点を抽出する。この特徴点は、上述した図４のステップＳ１６における場合と同様の特徴点とすることができる。
【０２６０】
ステップＳ５５４において、特徴点抽出部２４２は、ステップＳ５５３で抽出した特徴点から、領域指定部２４１から供給された指定領域の外に位置する特徴点を削除し、指定領域内の特徴点の位置を表す特徴点情報を一時的に保持する。また、特徴点抽出部２４２は、対象フレーム特徴点情報、前フレーム特徴点情報、および対象画像を、オプティカルフロー演算部２４３に供給し、対象フレーム特徴点情報と前フレーム特徴点情報を誤差演算部２４５に供給する。
【０２６１】
ステップＳ５５５において、オプティカルフロー演算部２４３は、特徴点抽出部２４２から供給される対象フレーム特徴点情報、前フレーム特徴点情報、および対象画像に基づいて、例えばＬＫ(Lucas Kanade)法により、各特徴点のオプティカルフローを演算する。
【０２６２】
図３６を参照して、この演算について説明する。なお、図３６では、ＬＫ法により、光軸と直交する方向への特徴点Ｐのオプティカルフローを演算する場合について説明する。
【０２６３】
オプティカルフローの演算では、対象フレーム特徴点情報が位置を表す特徴点と、前フレーム特徴点情報が位置を表す特徴点の移動を解析するが、より具体的には、入力画像から、解像度を段階的に低下させた画像を複数形成し、先ず解像度を低下させた画像同士で比較が行われる。これにより、特徴点の移動を解析する際の演算処理量を最小限に抑えることができる。
【０２６４】
図３６Ａと図３６Ｂに示すように、撮像部１２で時刻ｔ−１に撮像された前入力画像２５１Ａと、時刻ｔに撮像された対象入力画像２５１Ｂの画素数を320×240ピクセルとすると、オプティカルフロー演算部２４３は、図３６Ａに示すように、前入力画像２５１Ａに基づいて、その解像度を1/4に低下させた２６０×120ピクセルの画像２５２Ａ、更に解像度を1/4に低下させた80×60ピクセルの画像２５３Ｂの２種類の画像を生成する。また、同様に、オプティカルフロー演算部２４３は、対象入力画像２５１Ｂに基づいて、その解像度を1/4に低下させた２６０×120ピクセルの画像２５２Ｂ、更に解像度を1/4に低下させた80×60ピクセルの画像２５３Ｂの２種類の画像を生成する。
【０２６５】
なお、画像２５２Ａ（２５２Ｂ）と画像２５３Ａ（２５３Ｂ）は、元の320×240ピクセルの前入力画像２５１Ａ（対象入力画像２５１Ｂ）と同じ画面領域の画像であるが、画素数を少なくすることで解像度が低下されている。また、対象入力画像２５１Ｂ、画像２５２Ｂ、および画像２５３Ｂは、オプティカルフロー演算部２４３に保持され、次の対象入力画像の特徴点のオプティカルフローの演算に用いられる。すなわち、前入力画像２５１Ａ、画像２５２Ａ、および画像２５３Ａは、前回の演算時に保持されたものである。
【０２６６】
最初に、オプティカルフロー演算部２４３は、最も解像度の低い画像２５３Ａと画像２５３Ｂを比較し、特徴点Ｐの大まかな移動を解析する。画像２５３Ａと画像２５３Ｂは、画素数が少なく、探索範囲が少ないため、オプティカルフローを演算する演算処理を少ない負荷で行うことができる。オプティカルフロー演算部２４３は、画像２５３Ａと２５３Ｂを比較することにより、時刻ｔにおける特徴点Ｐ（ｔ−１）から、時刻ｔにおける特徴点Ｐ（ｔ）に向かうベクトルを、特徴点Ｐ（ｔ）のオプティカルフローとして簡易的に求める。
【０２６７】
次に、オプティカルフロー演算部２４３は、画像２５３Ａと画像２５３Ｂで特徴点Ｐのオプティカルフローが検出された範囲を中心として、画像２５２Ａと画像２５２Ｂを比較し、特徴点Ｐの移動をより詳細に解析する。画像２５３Ａと画像２５３Ｂに比べて画像２５２Ａと２５２Ｂの画素数は多いが、画像２５３Ａと画像２５３Ｂの解析により探索範囲を絞り込むことで、演算処理の負荷を軽減することができる。
【０２６８】
次に、オプティカルフロー演算部２４３は、画像２５２Ａと画像２５２Ｂで特徴点Ｐのオプティカルフローが検出された範囲を中心として、撮像部１２で撮像された320×240ピクセルの前入力画像２５１Ａと対象入力画像２５１Ｂを比較し、特徴点Ｐの移動をより詳細に解析する。ここでは、画像２５２Ａと画像２５２Ｂの解析により探索範囲がさらに絞り込まれるため、画素数の最も多い前入力画像２５１Ａと対象入力画像２５１Ｂを用いて、特徴点Ｐ（ｔ）のオプティカルフローを、少ない負荷で精度良く演算することができる。
【０２６９】
図３６に示したように、ＬＫ法によれば、時系列のフレーム毎に特徴点の移動を解析する際に、処理量を抑えることができ、時間遅れを最小限に抑えた状態で、時系列の画像の動きを解析することができる。このようなＬＫ法によるオプティカルフローの画像処理については、例えばホームページ(http://robots.stanford.edu/cs223b04/algo_tracking.pdf)に掲載された論文「Pyramidal Implementation of the Lucas Kanade Feature Tracker Description of the algorithm; Jean-Yves Bouguet, Intel Corporation, Microprocessor Research Labs」に記載された手法により行うことができる。このように、オプティカルフローの演算に強い特徴点に対してＬＫ法を適用し、解像度を段階的に可変した画像を用いて特徴点の動きを解析することで、短時間で高精度に特徴点のオプティカルフローを演算することができる。
【０２７０】
また、オプティカルフローの演算は、ＬＫ法以外の他の方法で行っても良く、例えば公知のブロックマッチング(Block Matching)法、勾配法などの方法で行ってもよい。
【０２７１】
以上のようにして演算された各特長点のオプティカルフローは、アフィン行列演算部２４４に供給される。次に、ステップＳ５５６において、アフィン行列演算部２４４は、オプティカルフロー演算部２４３から供給されるオプティカルフローに対応する各特長点から、特徴点を３個選択する。
【０２７２】
ステップＳ５５７において、アフィン行列演算部２４４は、ステップＳ５５６で選択された３個の特徴点のオプティカルフローから、３個の特徴点の、アフィン変換を行うためのアフィン行列を演算する。ここで、アフィン変換は、平行移動及び回転変換（ユークリッド変換）に拡大縮小変換を加えた相似変換に、せん断変形を許すような変換で、元の図形で直線上に並ぶ点は変換後も直線上に並び、平行線は変換後も平行線であるなど、幾何学的性質が保たれる変換である。
【０２７３】
アフィン変換を行うためのアフィン行列について説明すると、前画像の特徴点のオプティカルフロー［ｘ  ｙ］Tの対象入力画像の特徴点のオプティカルフロー［ｕ  ｖ］Tへのアフィン変換は、以下の式（１１）で与えられる。
【０２７４】
【数５】
0004636064.tif 000009
【０２７５】
この式（１１）において、ａi（ｉ＝１，…，４）は回転、拡大縮小、せん断変形を決定するパラメータを表し、［ｂ1  ｂ2］Tは、平行移動パラメータを表す。演算すべきアフィン行列のパラメータ(アフィン変換パラメータ)はａ1，…，ａ4及びｂ1，ｂ2の６つであるため、特徴点の組が３組あれば、アフィン行列を決定することができる。即ち、アフィン変換を行うためのアフィン行列（アフィン変換パラメータ）を演算するためには特徴点の組が３組以上必要となる。そこで、ステップＳ５５６では、特徴点が３個選択され、ステップＳ５５７において、その３個の特徴点のオプティカルフローからアフィン行列が演算される。アフィン行列演算部２４４は、演算の結果得られるアフィン行列を誤差演算部２４５に供給する。
【０２７６】
ステップＳ５５８において、誤差演算部２４５は、アフィン行列演算部２４４から供給されるアフィン行列を、特徴点抽出部２４２から供給される前フレーム特徴点情報が表す各特徴点の位置に乗算する。ステップＳ５５９において、誤算演算部２４５は、その乗算の結果得られる各特徴点の位置と、特徴点抽出部２４２から供給される対象フレーム特徴点情報が表す各特徴点の位置との誤差を演算し、各特徴点における誤差とアフィン行列をスコア演算部２４６に供給する。
【０２７７】
ステップＳ５６０において、スコア演算部２４６は、誤差演算部２４５から供給される各特徴点における誤差のうち、予め設定された閾値Ｔより小さい誤差があるかを判定する。ステップＳ５６０で、閾値Ｔより小さい誤差があると判定された場合、ステップＳ５６１において、スコア演算部２４６は、誤差が閾値Ｔより小さい特徴点の数だけ、誤差と同時に供給されるアフィン行列のスコアをインクリメントする。なお、インクリメントされる値は、予め決められた所定の値であってもよいし、誤差に応じた値であってもよい。
【０２７８】
一方、ステップＳ５６０で、閾値Ｔより小さい誤差がない、すなわち全ての特徴点の誤差が閾値Ｔ以上であると判定された場合、処理はステップＳ５６１をスキップする。すなわち、スコア演算部２４６は、スコアをインクリメントしない。
【０２７９】
ステップＳ５６２において、スコア演算部２４６は、対象入力画像におけるアフィン行列の演算が所定回数繰り返されたかを判定する。ここでは所定の数のアフィン行列が供給されたかを判定してもよい。ステップＳ５６２で、まだ所定回数繰り返されていないと判定された場合、処理はステップＳ５５６に戻り、アフィン行列演算部２４４が新たに３個の特徴点を選択し、上述した処理が繰り返し実行される。
【０２８０】
一方、ステップＳ５６２で、対象入力画像におけるアフィン行列の演算が所定回数繰り返されたと判定された場合、ステップＳ５６３において、スコア演算部２４６は、対象入力画像におけるアフィン行列のスコアのうち、最も大きいスコアがゼロであるかを判定する。
【０２８１】
ステップＳ５６３で、対象入力画像におけるアフィン行列のスコアのうち、最も大きいスコアがゼロであると判定された場合、即ち、誤差が閾値Ｔより小さい特徴点がない場合、処理はステップＳ５６４に進む。ステップＳ５６４において、スコア演算部２４６は、トラッキングに失敗したとして、「トラッキング不可」を出力し、処理を終了する。
【０２８２】
また、ステップＳ５６３で、対象入力画像におけるアフィン行列のスコアのうち、最も大きいスコアがゼロではないと判定された場合、ステップＳ５６５において、スコア演算部２４６は、対象入力画像におけるアフィン行列のうち、スコアの最も大きいアフィン行列を、指定領域の代表アフィン行列として選択する。
【０２８３】
図３７と図３８を参照して、このようにして選択された代表アフィン行列について説明する。図３７と図３８の例では、ユーザ（例えば、図１のＡさん）が手に所持した登録画像である写真２６１の印刷物を、手首に位置する点２６２を中心に回転させたときに、写真２６１の印刷物を持った手が被写体として撮像された入力画像２６０を対象入力画像としている。
【０２８４】
なお、図３７において、丸印、三角印、およびバツ印は、入力画像２６０において抽出される特徴点を表しており、指定領域２６３としては、入力画像２６０中の写真２６１の画像の領域が指定されている。
【０２８５】
また、図３７の丸印で表される特徴点は、入力画像２６０中の指定領域２６３内の写真２６１に位置する特徴点であり、三角印で表される特徴点は、指定領域２６３内の写真２６１と手の境界に位置する特徴点である。バツ印で表される特徴点は、入力画像２６０中の指定領域２６３外に位置する特徴点である。従って、入力画像２６０において抽出される特徴点のうち、バツ印で表される特徴点は、特徴点抽出部２４２によりステップＳ５５４の処理で削除される。
【０２８６】
指定領域トラッキング部２３１は、指定領域２６３内の丸印と三角印で表される各特長点のうち、３個の特徴点のオプティカルフローからアフィン行列を演算する。例えば、図３８に示すように、写真２６１の印刷物が点２６２を中心に図中右上方向に移動されて、入力画像２６０が撮影された場合、入力画像２６０における３個の特徴点ｎ１乃至ｎ３のそれぞれのオプティカルフローは、前入力画像における３個の特徴点ｍ１乃至ｍ３の位置から、特徴点ｎ１乃至ｎ３へのベクトルｖ１乃至ｖ３であり、そのベクトルｖ１乃至ｖ３から、アフィン行列が演算される。
【０２８７】
そのアフィン行列を用いて演算された特徴点の位置の誤差が閾値Ｔより小さい場合、その特徴点の数だけスコアがインクリメントされ、最もスコアの大きいアフィン行列が、代表アフィン行列として選択されるので、指定領域２６３内における誤差の最も少ないアフィン行列が、代表アフィン行列として選択される。従って、指定領域２６３内の局部にある手の境界に位置する三角印で表される特徴点に対応するアフィン行列ではなく、指定領域２６３内の全体に位置する写真２６１に位置する丸印で表される特徴点に対応するアフィン行列が、代表アフィン行列として選択される。すなわち、ノイズ的な動きの影響の少ないアフィン行列を、代表アフィン行列として選択することができる。
【０２８８】
ステップＳ５６６において、スコア演算部２４６は、所定のフレーム数の入力画像を対象入力画像として処理をしたか、すなわち所定のフレーム数分の代表アフィン行列を選択したかを判定する。この所定のフレーム数は、図４１を参照して後述するように、一般物体認識処理において用いられた入力画像が撮像されてから、その一般物体認識処理により入力された物体パラメータに基づく指定領域の第１の指定領域トラッキング処理が終了するまでに撮像される入力画像のフレーム数である。
【０２８９】
ステップＳ５６６で、まだ所定のフレーム数の入力画像を対象入力画像として処理していないと判定された場合、スコア演算部２４６は、代表アフィン行列のパラメータを物体パラメータとして、領域指定部２４１に供給し、ステップＳ５６７において、領域指定部２４１は、その物体パラメータに基づいて指定領域を遷移させる。なお、指定領域の遷移とは、指定領域の移動および姿勢の変更を指す。領域指定部２４１は、遷移後の指定領域を特徴点抽出部２４２に供給する。
【０２９０】
ステップＳ５６８において、特徴点抽出部２４２は、直前に対象入力画像として読み出した入力画像のフレーム番号の次のフレーム番号の入力画像を、対象入力画像として読み出す。そして、処理はステップＳ５５３に戻り、上述した処理が繰り返し実行される。
【０２９１】
一方、ステップＳ５６６において、所定のフレーム数の入力画像を対象入力画像として処理したと判定された場合、ステップＳ５６９において、スコア演算部２４６は、代表アフィン行列のパラメータを、指定領域のトラッキングの結果としての物体パラメータとして、認識部２２３から供給される登録ＩＤとともに、指定領域トラッキング部２３２に出力する。
【０２９２】
以上のようにして、第１の指定領域トラッキング処理は高速に行うことができるので、リアルタイムのトラッキングが可能となる。
【０２９３】
また、図３１の指定領域トラッキング部２３２は、第２の指定領域トラッキング処理を実行するために、図３９に示すような構成を有する。
【０２９４】
図３９の指定領域トラッキング部２３２は、領域指定部３１１、特徴点抽出部３１２、オプティカルフロー演算部３１３、アフィン行列演算部３１４、誤差演算部３１５、およびスコア演算部３１６により構成される。
【０２９５】
領域指定部３１１には、指定領域トラッキング部２３１のスコア演算部２４６またはスコア演算部３１６から物体パラメータが供給される。領域指定部３１１は、図３４の領域指定部２４１と同様に、その物体パラメータに基づいて指定領域を指定し、その指定領域を特徴点抽出部３１２に供給する。
【０２９６】
特徴点抽出部３１２には、撮像部１２から入力画像が供給される。特徴点抽出部３１２は、供給された入力画像を対象入力画像として、その対象入力画像から、特徴点抽出部１２２（図３）や特徴点抽出部２４２（図１７）と同様に特徴点を抽出する。特徴点抽出部３１２は、特徴点抽出部２４２と同様に、領域指定部３１１から供給される指定領域に基づいて、抽出した特徴点のうち、指定領域外に位置する特徴点を削除し、特徴点情報を一時的に保持する。また、特徴点抽出部３１２は、対象フレーム特徴点情報、前フレーム特徴点情報、および対象入力画像を、オプティカルフロー演算部３１３に供給する。特徴点抽出部３１２は、対象フレーム特徴点情報と前フレーム特徴点情報を、誤差演算部３１５に供給する。
【０２９７】
オプティカルフロー演算部３１３、アフィン行列演算部３１４、および誤差演算部３１５の機能は、図３４のオプティカルフロー演算部２４３、アフィン行列演算部２４４、および誤差演算部２４５と同様であるので、その説明は繰り返しになるので省略する。
【０２９８】
スコア演算部３１６は、図３４のスコア演算部２４６と同様に、誤差演算部３１５から供給される誤差のうち、予め設定された閾値Ｔより小さい誤差があるかを判定する。スコア演算部３１６は、スコア演算部２４６と同様に、その判定の結果に応じて、その誤差に対応するアフィン行列のスコアを決定する。
【０２９９】
スコア演算部３１６は、スコア演算部２４６と同様に、対象入力画像におけるアフィン行列のうち、スコアの最も大きいアフィン行列を、指定領域の代表アフィン行列として選択する。スコア演算部３１６は、スコア演算部２４６と同様に、代表アフィン行列のパラメータを物体パラメータとして領域指定部３１１に供給する。
【０３００】
また、スコア演算部３１６には、スコア演算部２４６から登録ＩＤが供給される。スコア演算部３１６は、所定のタイミングで、その登録ＩＤ、対象入力画像のフレーム番号、および物体パラメータを幾何変換部２２５に供給するとともに、登録ＩＤと物体パラメータを画像合成部３２に供給する。
【０３０１】
このように、指定領域トラッキング部２３２の構成は、指定領域トラッキング部２３１の構成と基本的に同様である。
【０３０２】
次に、図４０のフローチャートを参照して、図３９の指定領域トラッキング部２３２による第２の指定領域トラッキング処理の詳細について説明する。
【０３０３】
ステップＳ６０１において、領域指定部３１１は、物体パラメータが指定領域トラッキング部２３１から入力されたかを判定する。ステップＳ６０１で、物体パラメータが指定領域トラッキング部２３１から入力されたと判定された場合、ステップＳ６０２において、領域指定部３１１は、指定領域トラッキング部２３１から供給される物体パラメータに基づいて指定領域を指定し、その指定領域を特徴点抽出部３１２に供給する。
【０３０４】
一方、ステップＳ６０１で、物体パラメータが指定領域トラッキング部２３１から入力されていないと判定された場合、ステップＳ６０３において、領域指定部３１１は、後述するステップＳ６１８でスコア演算部３１６から供給される物体パラメータに基づいて、指定領域を遷移させ、その指定領域を特徴点抽出部３１２に供給する。
【０３０５】
ステップＳ６０２またはステップＳ６０３の処理後、処理はステップＳ６０４に進み、特徴点抽出部３１２は、撮像部１２から供給される入力画像を対象入力画像として取得する。ステップＳ６０５乃至Ｓ６１７の処理は、図３５のステップＳ５５３乃至Ｓ５６５の処理と同様であるので、その説明は繰り返しになるので省略する。
【０３０６】
ステップＳ６１７で代表アフィン行列が選択された後、ステップＳ６１８において、スコア演算部３１６は、代表アフィン行列のパラメータを、指定領域のトラッキングの結果としての物体パラメータとして、指定領域トラッキング部２３１のスコア演算部２４６から供給される登録ＩＤと対象入力画像のフレーム番号とともに、幾何変換部２２５に出力する。また、スコア演算部３１６は、物体パラメータと登録ＩＤを画像合成部３２に出力し、物体パラメータを領域指定部３１１に出力する。
【０３０７】
このように、指定領域トラッキング部２３２の第２の指定領域トラッキング処理は、指定領域トラッキング部２３１の第１の指定領域トラッキング処理と基本的に同様であり、高速の処理ができ、リアルタイムのトラッキングを可能にするのであるが、トラッキング対象の初期値が、後者では認識部２２３からの情報により設定されるのに対して、前者では指定領域トラッキング部２３１からの情報により設定される。また、処理対象画像が、後者では画像データ保存部２２６に記憶された入力画像であるのに対して、前者では画像取得部２２１からリアルタイムで供給される入力画像である。
【０３０８】
次に、図４１を参照して、図３１の画像処理装置２１１における処理のタイミングについて説明する。
【０３０９】
なお、図４１において、横方向は時刻を表している。また、図４１において、四角は、横方向の位置に対応する時刻に処理されるフレームを表しており、四角の中または上に記載されている数字は、そのフレームのフレーム番号を表している。
【０３１０】
図４１Ａに示すように、撮像部１２による撮像処理では、被写体が撮像され、フレーム単位の撮像画像が入力画像として取得される。図４１の例では、初めて登録画像が撮像された入力画像のフレーム番号が「２」となっている。
【０３１１】
また、図４１の例では、図４１Ｂに示すように、図２３乃至図２５に示した一般物体認識処理が開始されてから終了するまでの間に、５フレーム分の入力画像が撮像され、記憶される。従って、図４１Ｂに示すように、一般物体認識処理では、開始時に撮像部１２から入力される５フレームおきの入力画像が、対象入力画像とされる。具体的には、図４１の例では、フレーム番号が「２」、「７」、「１２」、「１７」・・・の入力画像が順に対象入力画像とされる。
【０３１２】
図４１Ｃに示すように、図３５の第１の指定領域トラッキング処理は、一般物体認識処理により認識部２２３から物体パラメータが入力されたとき開始される。この第１の指定領域トラッキング処理では、処理の開始時に入力された物体パラメータを求めるときに用いられた入力画像、すなわち、認識部２２３から供給されるフレーム番号の入力画像から順に、最後に記憶された入力画像を対象入力画像とするまでの間、入力画像が対象入力画像とされる。すなわち、認識部２２３から供給されるフレーム番号の入力画像が撮像されてから、第１の指定領域トラッキング処理の終了時までに撮像された入力画像が、順に対象入力画像とされる。
【０３１３】
なお、図４１の例では、認識部２２３から供給されるフレーム番号の入力画像が撮像されてから、第１の指定領域トラッキング処理の終了時までに、７フレーム分の入力画像が撮像されて、記憶される。従って、第１の指定領域トラッキング処理において、７フレーム分の入力画像が対象入力画像とされる。
【０３１４】
以上のように、第１の指定領域トラッキング処理では、一般物体認識処理において用いられた入力画像が撮像されてから、第１の指定領域トラッキング処理の終了時までの間に撮像された入力画像において、指定領域がトラッキングされる。従って、第１の指定領域トラッキング処理において出力される物体パラメータは、第２の指定領域トラッキング処理の開始時の直前に撮像された入力画像における指定領域のトラッキングの結果となる。
【０３１５】
図４１Ｄに示すように、図４０の第２の指定領域トラッキング処理は、第１の指定領域トラッキング処理により指定領域トラッキング部２３１から物体パラメータが入力されたとき、または、物体パラメータが入力された後に入力画像が入力されたとき開始される。この第２の指定領域トラッキング処理では、処理の開始時に撮像された入力画像を対象画像として処理が行われる。
【０３１６】
上述したように、第１の指定領域トラッキング処理において出力される物体パラメータは、第２の指定領域トラッキング処理の開始時の直前に撮像された入力画像における指定領域のトラッキングの結果であるので、第２の指定領域トラッキング処理では、この物体パラメータに基づく指定領域をトラッキングすることにより、処理の開始時に撮像された入力画像においてリアルタイムでトラッキングを行うことができる。これにより、図３１の画像処理装置２１１では、高精度であるが、処理に長い時間を要する一般物体認識処理を行いつつ、その一般物体認識処理の結果に基づいてリアルタイムでトラッキングを行うことができるので、リアルタイムで高精度のトラッキングを行うことができる。
【０３１７】
図４１に示すように、この実施の形態の場合、第２フレーム乃至第８フレームに基づく第１の指定領域トラッキング処理が行われ、画像処理装置２１１における処理が第２の指定領域トラッキング処理に移行した後、そのまま第２の指定領域トラッキングが継続されるのではなく、５フレームごとに一般物体認識処理と第１の指定領域トラッキング処理が実行され、第２の指定領域トラッキング処理は、その都度リスタートされる。これにより、リスタートしない場合に比べて、より正確なトラッキングが可能となる。
【０３１８】
なお、上述した説明では、画像補正部２７は、登録輝度値を補正したが、物体輝度値を補正するようにしてもよい。また、上述した説明では、画像比較部２８が、物体領域画像を用いて輝度マップを作成したが、登録画像に対応付けて登録画像の輝度マップを予め登録画像辞書登録部２４に登録させておき、画像比較部２８は、その輝度マップと物体パラメータに基づいて、物体領域画像中の輝度近似領域を抽出するようにしてもよい。
【０３１９】
また、上述した画像処理装置１１（２１１）には、画像表示部３３が設けられ、画像表示部３３にアイコンが配置された合成画像が表示されたが、対象物体に、ユーザインターフェース用の目印が印刷されていれば、撮像部１２で撮像した撮像画像をフィードバックする画像表示部３３は設けられなくてもよい。この場合、画像処理装置１１（２１１）は、予め目印の位置を記憶しておき、重なり領域に存在する目印に対応するコマンドを発行する。
【０３２０】
なお、本明細書において、プログラム記録媒体に格納されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【０３２１】
また、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【図面の簡単な説明】
【０３２２】
【図１】本発明を適用した画像処理装置の概要を示す図である。
【図２】図１の画像処理装置の構成例を示すブロック図である。
【図３】図２の認識部の一実施の形態の構成を示すブロック図である。
【図４】図３の学習部の学習処理を説明するフローチャートである。
【図５】図３の学習部の学習処理を説明するフローチャートである。
【図６】解像度画像を説明する図である。
【図７】DoGフィルタのスケールスペースを説明する図である。
【図８】特徴点近傍の濃度勾配方向を説明する図である。
【図９】ヒストグラムの度数の演算方法を説明する図である。
【図１０】方向ヒストグラムの例を示す図である。
【図１１】方向ヒストグラムの例を示す図である。
【図１２】方向ヒストグラムの例を示す図である。
【図１３】特徴量抽出の処理を説明する図である。
【図１４】リサンプリングの例を示す図である。
【図１５】一般物体認識処理と重なり検出処理の概要について説明する図である。
【図１６】画像処理装置における処理の概要について説明する図である。
【図１７】図２の画像処理装置の画像処理を説明するフローチャートである。
【図１８】図２の画像処理装置の画像処理を説明するフローチャートである。
【図１９】アイコンの配置について説明する図である。
【図２０】画像処理装置により提供可能な知育システムについて説明する図である。
【図２１】画像処理装置により提供可能な知育システムについて説明する図である。
【図２２】画像処理装置により提供可能な知育システムについて説明する図である。
【図２３】図２の認識部の一般物体認識処理を説明するフローチャートである。
【図２４】図２の認識部の一般物体認識処理を説明するフローチャートである。
【図２５】図２の認識部の一般物体認識処理を説明するフローチャートである。
【図２６】学習時と認識時の多重解像度を説明する図である。
【図２７】特徴量の比較処理を説明する図である。
【図２８】インライヤとアウトライヤを説明する図である。
【図２９】推定処理の詳細を説明するフローチャートである。
【図３０】推定処理を説明する図である。
【図３１】本発明を適用した画像処理装置の他の実施の形態の構成を示すブロック図である。
【図３２】図３１の画像処理装置の画像処理を説明するフローチャートである。
【図３３】図３１の画像処理装置の画像処理を説明するフローチャートである。
【図３４】図３１の指定領域トラッキング部の構成例を示すブロック図である。
【図３５】図３１の指定領域トラッキング部の第１の指定領域トラッキング処理を説明するフローチャートである。
【図３６】オプティカルフローの演算について説明する図である。
【図３７】代表アフィン行列について説明する図である。
【図３８】代表アフィン行列について説明する図である。
【図３９】図３１の指定領域トラッキング部の構成例を示すブロック図である。
【図４０】図３１の指定領域トラッキング部の第２の指定領域トラッキング処理を説明するフローチャートである。
【図４１】図３１の画像処理装置における処理のタイミングについて説明する図である。
【符号の説明】
【０３２３】
１１  画像処理装置，  ２１  画像取得部，  ２３  認識部，  ２７  画像補正部，  ２８  画像比較部，  ３０  コマンド発行部，  ３２  画像合成部，  ２１１  画像処理装置，  ２２１  画像取得部，  ２２３  認識部，  ２３１，２３２  指定領域トラッキング部
【図１】
0004636064.tif 000010
【図２】
0004636064.tif 000011
【図３】
0004636064.tif 000012
【図４】
0004636064.tif 000013
【図５】
0004636064.tif 000014
【図６】
0004636064.tif 000015
【図７】
0004636064.tif 000016
【図８】
0004636064.tif 000017
【図９】
0004636064.tif 000018
【図１０】
0004636064.tif 000019
【図１１】
0004636064.tif 000020
【図１２】
0004636064.tif 000021
【図１３】
0004636064.tif 000022
【図１４】
0004636064.tif 000023
【図１５】
0004636064.tif 000024
【図１６】
0004636064.tif 000025
【図１７】
0004636064.tif 000026
【図１８】
0004636064.tif 000027
【図１９】
0004636064.tif 000028
【図２０】
0004636064.tif 000029
【図２１】
0004636064.tif 000030
【図２２】
0004636064.tif 000031
【図２３】
0004636064.tif 000032
【図２４】
0004636064.tif 000033
【図２５】
0004636064.tif 000034
【図２６】
0004636064.tif 000035
【図２７】
0004636064.tif 000036
【図２８】
0004636064.tif 000037
【図２９】
0004636064.tif 000038
【図３０】
0004636064.tif 000039
【図３１】
0004636064.tif 000040
【図３２】
0004636064.tif 000041
【図３３】
0004636064.tif 000042
【図３４】
0004636064.tif 000043
【図３５】
0004636064.tif 000044
【図３６】
0004636064.tif 000045
【図３７】
0004636064.tif 000046
【図３８】
0004636064.tif 000047
【図３９】
0004636064.tif 000048
【図４０】
0004636064.tif 000049
【図４１】
0004636064.tif 000050