以下に本発明の実施の形態を説明するが、本発明の構成要件と、明細書または図面に記載の実施の形態との対応関係を例示すると、次のようになる。この記載は、本発明をサポートする実施の形態が、明細書または図面に記載されていることを確認するためのものである。従って、明細書または図面中には記載されているが、本発明の構成要件に対応する実施の形態として、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その構成要件に対応するものではないことを意味するものではない。逆に、実施の形態が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
本発明の第1の側面の画像処理装置は、認識対象を認識するための認識器を学習処理により予め生成する画像処理装置(例えば、図19の学習装置71、または、画像処理システム51に対応する装置)であって、前記学習処理に用いる学習画像を取得する学習画像取得手段(例えば、図19の学習画像取得部95)と、前記認識対象に対応するモデル画像を取得するモデル画像取得手段(例えば、図19のモデル画像取得部91)と、前記学習画像取得手段により取得された前記学習画像と前記モデル画像取得手段により取得された前記モデル画像とを用いて前記学習処理を実行し、前記認識対象を認識するための認識器を生成する認識器生成手段(例えば、図19のモデル特徴点生成部92、モデル特徴量生成部93、モデル特徴量記憶部94、学習特徴点生成部96、学習特徴量生成部97、学習相関特徴量生成部98、正誤情報取得部99、および、認識器生成部100)とを備え、前記学習画像取得手段または前記モデル画像取得手段のうちの少なくとも一方は、所定の焦点距離に存在する被写体の像に焦点が合致し、それ以外の物体には焦点が合致していない画像データ(例えば、図3のAに示されるようなフォーカスカメラにより撮像された画像データ)を取得する画像取得手段(例えば、図4の画像取得部21)と、前記画像取得手段により取得された前記画像データから、焦点が合致した前記被写体に対応する部分を抽出する画像抽出手段(例えば、図4の背景分離処理部22)とを備え、前記画像抽出手段により抽出された前記被写体に対応する部分を、前記学習画像、または、前記モデル画像として取得する。
前記画像抽出手段は、前記画像取得手段により取得された前記画像データの各画素において、近傍の画素との差分が大きい画素を抽出するための演算処理を実行する第1の演算手段(例えば、図5の近傍画素差分フィルタ計算処理部31)と、前記第1の演算手段により抽出された近傍の画素との差分が大きい画素を注目画素として、前記注目画素とその近傍領域との平均を求める第2の演算手段(例えば、図5の近傍領域和フィルタ計算処理部32)と、前記第2の演算手段の演算結果に基づいて、前記画像データを、検出するべき物体に対応する領域と、背景であると考えられる領域に分割する分割手段(例えば、図5の閾値処理部33)とを含むことができる。
請求項1に記載の画像処理装置。
前記認識器生成手段は、前記モデル画像取得手段により取得された前記モデル画像から複数の特徴点をモデル特徴点として生成するモデル特徴点生成手段(例えば、図19のモデル特徴点生成部92)と、前記モデル特徴点生成手段により生成された前記モデル特徴点のそれぞれにおける特徴量をモデル特徴量として生成するモデル特徴量生成手段(例えば、図19のモデル特徴量生成部93)と、前記学習画像取得手段により取得された前記学習画像から複数の特徴点を学習特徴点として生成する学習特徴点生成手段(例えば、図19の学習特徴点生成部96)と、前記学習特徴点生成手段により生成された前記学習特徴点のそれぞれにおける特徴量を学習特徴量として生成する学習特徴量生成手段(例えば、図19の学習特徴量生成部97)と、前記モデル特徴量生成手段により生成された前記モデル特徴量の各々について、前記学習特徴量生成手段により生成された前記学習特徴量のうち最も相関の高いものを選択して、選択された前記学習特徴量との間の相関の程度を学習相関特徴量として生成する学習相関特徴量生成手段(例えば、図19の学習相関特徴量生成部98)と、前記学習画像が前記認識対象を含むか否かを示す正誤情報を取得する正誤情報取得手段(例えば、図19の正誤情報取得部99)と、前記学習相関特徴量生成手段により生成された前記学習相関特徴量、および、前記正誤情報取得手段により取得された前記正誤情報に基づいて認識器を生成する認識器生成手段とを備えることができる。
前記モデル特徴点生成手段により生成される前記モデル特徴点は、前記モデル特徴点における前記モデル特徴量の種類(例えば、形、色、動き、テクスチャ、素材、歩行パターンなど)に応じて選択され、前記学習特徴点生成手段により生成される前記学習特徴点は、前記学習特徴点における前記学習特徴量の種類(例えば、形、色、動き、テクスチャ、素材、歩行パターンなど)に応じて選択されるものとすることができる。
前記モデル特徴量生成手段により生成される前記モデル特徴量は、前記モデル特徴量の種類(例えば、形、色、動き、テクスチャ、素材、歩行パターンなど)に応じて選択され、前記学習特徴量生成手段により生成される前記学習特徴量は、前記学習特徴量の種類(例えば、形、色、動き、テクスチャ、素材、歩行パターンなど)に応じて選択されるものとすることができる。
前記画像抽出手段は、前記画像取得手段により取得された前記画像データのうちの焦点が合致していない領域を抽出(例えば、Blur Detection for Digital Images Using Wavelet Transform; Hanghang Tong: Mingjing Li, Hongjiang Zhang: Changshiui Zhangに記載されている技術を用いる)することにより、焦点が合致した前記被写体に対応する部分を抽出することができる。
前記認識器生成手段により生成された前記認識器を記憶する認識器記憶手段(例えば、図19の認識器記憶部122)と、前記認識器記憶手段により記憶されている前記認識器のそれぞれに対応する選択特徴量を記憶する選択特徴量記憶手段(例えば、図19の選択特徴量記憶部121)と、認識処理を行うために用いられる認識画像を取得する認識画像取得手段(例えば、図19の認識画像取得部123)と、前記認識画像取得手段により取得された前記認識画像から複数の特徴点を認識特徴点として生成する認識特徴点生成手段(例えば、図19の認識特徴点生成部124)と、前記認識特徴点生成手段により生成された前記認識特徴点のそれぞれにおける特徴量を認識特徴量として生成する認識特徴量生成手段(例えば、図19の認識特徴量生成部125)と、前記選択特徴量記憶手段により記憶される前記選択特徴量のそれぞれについて前記認識特徴量生成手段により生成された前記認識特徴量のうち最も相関の高いものを選択して、選択された前記認識特徴量との間の相関の程度を認識相関特徴量として生成する認識相関特徴量生成手段(例えば、図19の認識相関特徴量生成部126)と、前記認識相関特徴量生成手段により生成された前記認識相関特徴量を、前記認識器生成手段により生成された前記認識器に代入することによって、前記認識画像取得手段により取得された前記認識画像に前記認識対象が含まれているか否かを判断する認識処理手段(例えば、図19の認識処理部127)とを更に備えることができる。
本発明の第1の側面の画像処理方法は、認識対象を認識するための認識器を学習処理により予め生成する画像処理装置(例えば、図19の学習装置71、または、画像処理システム51に対応する装置)の画像処理方法であって、前記学習処理に用いる学習画像を取得し(例えば、図29のステップS16の処理)、前記認識対象に対応するモデル画像を取得し(例えば、図29のステップS11の処理)、取得された学習画像と前記モデル画像とを用いて前記学習処理を実行し、前記認識対象を認識するための認識器を生成する(例えば、図29のステップS20の処理)ステップを含み、前記学習画像を取得するステップ、または、前記モデル画像を取得するステップのうちの少なくとも一方は、所定の焦点距離に存在する被写体の像に焦点が合致し、それ以外の物体には焦点が合致していない画像データ(例えば、図3のAに示されるようなフォーカスカメラにより撮像された画像データ)を取得し(例えば、図30のステップS41の処理)、取得された前記画像データから、焦点が合致した前記被写体に対応する部分を抽出する(例えば、図30のステップS42)ステップを含み、抽出された前記被写体に対応する部分を、前記学習画像、または、前記モデル画像として取得する。
本発明の第1の側面のプログラムは、認識対象を認識するための認識器を学習処理により予め生成する処理をコンピュータに実行させるためのプログラムであって、前記学習処理に用いる学習画像の取得を制御し(例えば、図29のステップS16の処理)、前記認識対象に対応するモデル画像の取得を制御し(例えば、図29のステップS11の処理)、取得された学習画像と前記モデル画像とを用いて前記学習処理を実行し、前記認識対象を認識するための認識器を生成する(例えば、図29のステップS20の処理)ステップを含み、前記学習画像を取得するステップ、または、前記モデル画像を取得するステップのうちの少なくとも一方は、所定の焦点距離に存在する被写体の像に焦点が合致し、それ以外の物体には焦点が合致していない画像データ(例えば、図3のAに示されるようなフォーカスカメラにより撮像された画像データ)の取得を制御し(例えば、図30のステップS41の処理)、取得された前記画像データから、焦点が合致した前記被写体に対応する部分を抽出する(例えば、図30のステップS42)ステップを含み、抽出された前記被写体に対応する部分を、前記学習画像、または、前記モデル画像として取得する処理をコンピュータに実行させる。
本発明の第2の側面の認識装置は、学習処理により生成された認識器を用いて、認識対象が認識画像に含まれているか否かを判断する認識処理を行う認識装置(例えば、図19の認識装置72)であって、認識処理を行うために用いられる前記認識画像を取得する認識画像取得手段(例えば、図19の認識画像取得部123)と、前記認識器を記憶する認識器記憶手段(例えば、図19の認識器記憶部122)と、前記認識器記憶手段により記憶されている前記認識器のそれぞれに対応する選択特徴量を記憶する選択特徴量記憶手段(例えば、図19の選択特徴量記憶部121)と、前記認識器記憶手段により記憶されている前記認識器および前記選択特徴量記憶手段により記憶されている前記選択特徴量を用いて、前記認識画像取得手段により取得された前記認識画像に前記認識対象が含まれているか否かを判断する認識処理手段(例えば、図19の認識特徴点生成部124、認識特徴量生成部125、認識相関特徴量生成部126、認識処理部127)とを備え、前記認識画像取得手段は、所定の焦点距離に存在する被写体の像に焦点が合致し、それ以外の物体には焦点が合致していない画像データ(例えば、図3のAに示されるようなフォーカスカメラにより撮像された画像データ)を取得する画像取得手段(例えば、図4の画像取得部21)と、前記画像取得手段により取得された前記画像データから、焦点が合致した前記被写体に対応する部分を抽出する画像抽出手段(例えば、図4の背景分離処理部22)とを備え、前記画像抽出手段により抽出された前記被写体に対応する部分を、前記認識画像として取得する。
前記画像抽出手段は、前記画像取得手段により取得された前記画像データの各画素において、近傍の画素との差分が大きい画素を抽出するための演算処理を実行する第1の演算手段(例えば、図5の近傍画素差分フィルタ計算処理部31)と、前記第1の演算手段により抽出された近傍の画素との差分が大きい画素を注目画素として、前記注目画素とその近傍領域との平均を求める第2の演算手段(例えば、図5の近傍領域和フィルタ計算処理部32)と、前記第2の演算手段の演算結果に基づいて、前記画像データを、検出するべき物体に対応する領域と、背景であると考えられる領域に分割する分割手段(例えば、図5の閾値処理部33)とを含むことができる。
前記認識処理手段は、前記認識画像取得手段により取得された前記認識画像から複数の特徴点を認識特徴点として生成する認識特徴点生成手段(例えば、図19の認識特徴点生成部124)と、前記認識特徴点生成手段により生成された前記認識特徴点のそれぞれにおける特徴量を認識特徴量として生成する認識特徴量生成手段(例えば、図19の認識特徴量生成部125)と、前記選択特徴量記憶手段に記憶される前記選択特徴量のそれぞれについて前記認識特徴量生成手段により生成された前記認識特徴量のうち最も相関の高いものを選択して、選択された前記認識特徴量との間の相関の程度を認識相関特徴量として生成する認識相関特徴量生成手段(例えば、図19の認識相関特徴量生成部126)と、前記認識相関特徴量生成手段により生成された前記認識相関特徴量を、前記認識器記憶手段により記憶された前記認識器に代入することによって、前記認識画像取得手段により取得された前記認識画像に前記認識対象が含まれているか否かを判断する判断手段(例えば、図19の認識処理部127)とを備えることができる。
本発明の第2の側面の認識方法は、学習処理により生成され、記憶部に記憶された認識器、および、前記記憶部に記憶されている前記認識器のそれぞれに対応する選択特徴量を用いて、認識対象が認識画像に含まれているか否かを判断する認識処理を行う認識装置(例えば、図19の認識装置72)の認識方法であって、認識処理を行うために用いられる前記認識画像を取得し(例えば、図34のステップS181、または、図37のステップS271の処理)、前記認識器および前記選択特徴量を用いて、取得された前記認識画像に前記認識対象が含まれているか否かを判断する(例えば、図34のステップS186、または、図37のステップS278の処理)ステップを含み、前記認識画像を取得するステップの処理では、所定の焦点距離に存在する被写体の像に焦点が合致し、それ以外の物体には焦点が合致していない画像データ(例えば、図3のAに示されるようなフォーカスカメラにより撮像された画像データ)を取得し(例えば、図30のステップS41の処理)、取得された前記画像データから、焦点が合致した前記被写体に対応する部分を抽出する(例えば、図30のステップS42)ステップを含み、抽出された前記被写体に対応する部分を、前記認識画像として取得する。
本発明の第2の側面のプログラムは、学習処理により生成され、記憶部に記憶された認識器、および、前記記憶部に記憶されている前記認識器のそれぞれに対応する選択特徴量を用いて、認識対象が認識画像に含まれているか否かを判断する処理をコンピュータに実行させるプログラムであって、認識処理を行うために用いられる前記認識画像の取得を制御し(例えば、図34のステップS181、または、図37のステップS271の処理)、前記認識器および前記選択特徴量を用いて、取得された前記認識画像に前記認識対象が含まれているか否かを判断する(例えば、図34のステップS186、または、図37のステップS278の処理)ステップを含み、前記認識画像を取得するステップの処理では、所定の焦点距離に存在する被写体の像に焦点が合致し、それ以外の物体には焦点が合致していない画像データ(例えば、図3のAに示されるようなフォーカスカメラにより撮像された画像データ)の取得を制御し(例えば、図30のステップS41の処理)、取得された前記画像データから、焦点が合致した前記被写体に対応する部分を抽出する(例えば、図30のステップS42)ステップを含み、抽出された前記被写体に対応する部分を、前記認識画像として取得する処理をコンピュータに実行させる。
以下、図を参照して、本発明の実施の形態について説明する。
画像認識処理を行うにあたって、学習処理においても、認識処理においても、取得する画像データから、学習対象、または、認識対象となる部分のみを抽出する、換言すれば、学習や認識に利用するべきではない背景部分を除去することが必要である。
例えば、図2に示されるように、画像認識処理は、認識処理のための物体モデルを学習するための学習処理と、学習の結果得られた物体モデルを用いた認識処理とに大きく分かれる。学習処理と認識処理とは、いずれも、背景を除去した画像で行われる。
すなわち、学習処理時は、学習のために取得された入力画像データから、認識するべき物体の切り出し、すなわち、背景の分離が行われて、入力画像データから切り出された認識するべき物体に対応する部分の画像データを用いて、学習処理が実行される。そして、学習処理の結果得られた認識用の物体モデルデータは、物体モデルデータベース(DB)に格納される。そして、認識処理時には、認識のために取得された入力画像データから、認識するべき物体の切り出し、すなわち、背景の分離が行われて、入力画像データから切り出された認識するべき物体に対応する部分の画像データを用いて、物体モデルデータベースに格納されている物体モデルデータを参照して、認識処理、すなわち、認識のために取得された入力画像データに、認識するべき物体が含まれているか否かが判断される。
このとき、学習処理と認識処理とにおいて入力画像から背景を容易に除去するために、入力画像データを、フォーカスカメラにより撮像するものとすると好適である。
フォーカスカメラで撮像された画像データは、所定の焦点距離近傍に存在する物体のみに焦点が合い、その他の物体、すなわち、背景部分においては、焦点が合わず、所謂ピンボケ状態となる。
認識するべき物体を含む画像データを、フォーカスカメラにより撮像した場合と、ある程度背景にも焦点が合致するように撮像した場合について、図3を用いて説明する。
図3のAは、フォーカスカメラにより撮像された、認識するべき物体を含む画像データを示す図である。そして、図3のBは、通常の焦点制御により撮像された、認識するべき物体を含む画像データを示す図である。
図3のBに示される画像データにおいては、認識するべき物体のみならず、背景に見える物体にも、焦点があっており、背景に見える物体も、はっきりと撮像されている。これに対して、図3のAに示される画像データにおいては、認識するべき物体のみに焦点が合致しており、背景に見える物体は、ピンボケ状態である。すなわち、フォーカスカメラにより撮像された画像データにおいては、認識するべき物体だけが浮き出て見える。
図4は、フォーカスカメラにより撮像して得られた画像データから、焦点が合致した部分を抽出する処理を実行する画像処理部11の構成を示すブロック図である。
画像処理部11は、画像取得部21と背景分離処理部22とを含んで構成されている。
画像取得部21は、フォーカスカメラにより撮像して得られた画像データを外部から取得するか、または、内部にフォーカスカメラを備えて撮像処理を実行し、背景分離処理部22に供給する。
背景分離処理部22は、フォーカスカメラにより撮像して得られた画像データから、焦点が合致した部分を抽出し、抽出された部分の画像データを出力する。
フォーカスカメラにより撮像して得られた画像データから、焦点が合致した部分を抽出するためには、一般的に用いられている、画像のボケ検出の技術(例えば、Blur Detection for Digital Images Using Wavelet Transform; Hanghang Tong: Mingjing Li, Hongjiang Zhang: Changshiui Zhangに記載されている技術)を応用することができる。すなわち、画像データのうち、焦点の合致していないボケ部分を検出し、その部分を削除することにより、焦点が合致した部分を抽出することが可能である。
また、フォーカスカメラにより撮像して得られた画像データにFFT(Fast Fourier transform)をかけることによって、撮像された画像データのそれぞれの画像領域の周波数スペクトルを分析し、高周波成分が十分含まれている領域では、焦点があっているとし、一方、周波数が低いところは、ピンボケになっていると判定することにより、認識するべき物体に対応する部分を抽出することも可能である。
更に、フォーカスカメラにより撮像して得られた画像データの各画素において、注目画素とその近傍画素との輝度差フィルタを使うことにより、焦点が合致した部分を抽出することも可能である。
図5は、上述した輝度差フィルタを用いて、フォーカスカメラにより撮像して得られた背景を含む画像データから、認識対象の物質に対応する部分を抽出する場合の背景分離処理部22の更に詳細な構成を示すブロック図である。
フォーカスカメラにより撮像して得られた背景を含む画像データから、認識対象の物質に対応する部分を抽出する場合の背景分離処理部22は、近傍画素差分フィルタ計算処理部31、近傍領域和フィルタ計算処理部32、および、閾値処理部33を含んで構成されている。
近傍画素差分フィルタ計算処理部31は、供給された画像データのピンボケ領域の特徴を出すため、隣り合う画素値との差分を計算する。その画素がピンボケしている場合、隣り合う画素との差分は小さい(0に近い)。そこで、近傍画素差分フィルタ計算処理部31は、8つの近傍画素との差分を考え、今着目している画素点を座標(x,y)とし、その点での画素値をI(x,y)として、次の式(1)を計算する。
(I(x−1,y−1)−I(x,y))+(I(x,y−1)−I(x,y))
+(I(x+1,y−1)−I(x,y))+(I(x−1,y)−I(x,y))
+(I(x+1,y)−I(x,y))+(I(x−1,y+1)−I(x,y))
+(I(x,y+1)−I(x,y))+(I(x+1,y+1)−I(x,y))
=Σ(I(x+Δx,y+Δy)−I(x,y))
・・・(1)
ただし、式(1)の右辺において、Δx=−1,0,1であり、Δy=−1,0,1である。
これを畳み込みフィルタとして考えると、図6に示されるように、3×3のフィルタで、中心、すなわち、注目画素に対する係数が8、近傍8画素の全ての係数が−1というフィルタになる。
図7は、図3のAを入力画像としたときの近傍画素差分フィルタ計算処理部31の出力例を示す図である。図7の計算結果において、黒い領域は近傍画素との差分が0に近い、所謂ピンボケした画素であり、明るい(白い)ところは、パターンがシャープでボケていない画素である。
しかしながら、図7においては、認識するべき対象物に対応する部分であっても、テクスチャのない部分、例えば、図3を用いて説明した画像データにおいて認識するべき対象物である人形の頬やおでこの部分などにおいても、隣接画素の差分値が0に近いため、黒い領域となってしまっている。したがって、近傍画素差分フィルタ計算処理部31の出力に対してそのまま閾値処理を行っても、認識するべき対象物に対応する領域を正しく切り出すことができない。
そこで、近傍領域和フィルタ計算処理部32は、注目画素とその近傍領域との平均を求めるフィルタリング処理を行う。
認識するべき対象物全体を背景から抜き出すためには、「認識するべき対象物らしい領域」を結合し、一つの領域としなければならない。そのために、注目画素と近傍領域との画素値の和を求める計算を行う。これは、ある画素に着目したときに、周辺N×M画素の領域の和を求める計算であり、以下、和フィルタ計算と称するものとする。和フィルタ計算は、フィルタ処理後の画素を、その画素の周辺領域の平均をとった値とするのと同義である。和フィルタ計算の実際の計算処理としては、窓サイズN×Mの要素が全て1の畳み込みフィルタをかけることに対応する。フィルタの窓サイズを3×3とした場合の和フィルタの例を図8に示す。
近傍領域和フィルタ計算処理部32は、図9に示されるように、所定の窓サイズ(図中、画像上の四角の枠に対応する)の和フィルタ演算を、近傍画素差分フィルタ計算処理部31の処理結果の全画素に対して実行し、計算結果を閾値処理部33に供給する。
近傍領域和フィルタ計算処理部32による和フィルタ計算においては、適用する窓サイズにより、結果が変化する。図10乃至図12を用いて、窓サイズと和フィルタ計算の結果について説明する。
図10は、窓サイズが小さい場合の和フィルタ計算の結果の例である。窓サイズが小さすぎると、テクスチャの少ない物体の場合、テクスチャの小さい部分(ここでは、人形の鼻や頬などの部分)に黒い領域が大きく残ってしまうため、認識するべき物体の領域をきれいに切り出すことができない。
図11は、図10と比較して窓サイズが大きい場合の和フィルタ計算の結果の例である。窓サイズが大きくなると、テクスチャの小さい部分の黒い領域が減少してくる。
図12は、図11と比較して更に窓サイズが大きい場合の和フィルタ計算の結果の例である。窓サイズが大きすぎると、認識するべき物体の周辺の部分も白い領域となってしまうため、背景の領域も切り出してしまう可能性がある。
図10乃至図12に示されるように、窓サイズが小さいほど、検出するべき物体のうちのテクスチャの少ない部分を背景であると誤検出してしまう可能性が大きくなり、窓サイズが大きいほど、背景の部分を検出するべき物体に対応する領域であると誤検出してしまう可能性がある。このように、窓サイズと領域の検出の精度とは、トレードオフの関係となっている。したがって、窓サイズは、例えば、抽出するべき物体のテクスチャが小さいか否か、または、画像データの全領域における抽出するべき物体の占める割合などに基づいて、適宜設定変更、または、調節することが可能なようになされていると好適である。
閾値処理部33は、近傍領域和フィルタ計算処理部32による和フィルタ計算結果に基づいて、画像データを、検出するべき物体に対応する領域と、背景であると考えられる領域に分割する。
領域の分割は、和フィルタ計算結果を所定の閾値で分離する、すなわち、2値化処理を行うようにしても良いし、和フィルタ計算結果のうち値が発生している部分(黒い領域ではない部分)をマスクするものとしても良い。なお、閾値処理をして2値化する場合、白い領域のなかに黒い領域が残ってしまうことがあるので、2値化したあとに、膨張・縮小というMorphological処理を行う。この処理により、白い領域の中に黒い穴があった場合でも、その穴を埋めることができ、ノイズの影響を軽減できる。
図13は、2値化処理の後、Morphological処理を行うことにより、領域を分割する処理が行われた場合の図3のAの入力画像に対する閾値処理部33の出力の例である。また、図14は、和フィルタ計算結果のうち値が発生している部分(黒い領域ではない部分)をマスクすることにより領域を分割する処理が行われた場合の図3のAの入力画像に対する閾値処理部33の出力の例である。
このようにして、背景領域と認識するべき物体が撮像されている領域とが分割される。
図15乃至図18に、近傍との輝度差フィルタを用いて、フォーカスカメラにより焦点距離を固定して撮像して得られた背景を含む画像データから、認識対象の物質に対応する部分を抽出する場合の背景分離処理部22の近傍画素差分フィルタ計算処理部31、近傍領域和フィルタ計算処理部32、および、閾値処理部33のそれぞれの出力例を示す。
図15乃至図18のそれぞれは、上から、背景分離処理部22への入力画像、近傍画素差分フィルタ計算処理部31の出力、近傍領域和フィルタ計算処理部32の出力、閾値処理後2値化しMorphological処理を行った場合の閾値処理部33の出力、アナログマスク処理を行った場合の閾値処理部33の出力を示している。
図15乃至図18に示されるように、認識するべき物体に焦点距離を合致させてフォーカスカメラにより撮像された画像データに対して、和フィルタ計算および近傍画素差分フィルタ計算を行い、その結果に対して閾値処理後2値化を行うか、アナログマスク処理を行うことにより、画像データ内の背景と認識するべき物体とを分離することができる。
背景分離処理部22の処理により背景と認識するべき物体とを分離することにより、認識するべき物体に対応する部分を画像データ内から抽出することで、学習処理の効率、および、認識処理の性能の向上を期待することができる。
すなわち、画像処理による物体認識(Object Recognition)においては、その認識処理においても、認識器を生成するために学習処理が行われる場合であっても、従来は、認識するべき物体を画像中から人が切り出し、そのデータを使用していた。これに対して、図2乃至図18を用いて説明したようにして、画像データの背景部分と認識するべき物体に対応する部分を自動的に分離することができれば、人が認識するべき物体を画像中から切り出す処理を行わなくて良く、好適である。
次に、上述した処理により、画像データ内から抽出された認識するべき物体に対応する部分を用いて、実際に物体を認識する場合について説明する。
画像処理による物体認識の手法は、近年様々なものが提案されており、最近10年で飛躍的に向上している。これらの方法は、従来方法に比べても、より柔軟な認識手法を用いることにより、例えば、“ペット”の認識にも適用できる可能性のあるものが多い。ここで、“ペット”とは、例えば、一般家庭で飼われているものを指し、例えば、犬、猫、鳥、魚、カメレオン、ハムスター、モルモット、ねずみ、リス、ウサギ、カメ、ヘビなど、様々な種類の動物のいずれであっても良い。
認識されるペットの種類が異なる場合、異なる特徴量を用いて認識するほうが認識の精度が高くなることが考えられる。例えば、犬であれば、“四本足”、“関節”、“毛”、“しっぽ”などがその特徴量になり得るし、鳥であれば、“羽”のテクスチャを特徴量として認識に用いると好適である。したがって、特徴量として何を採用するかを明示的に与えることなしに、装置が、そのペット特有の特徴量を選択することで識別器を構成することができると、自由度の高い画像認識が可能となる。
そこで、次に、図19乃至図37を参照して、上述した処理により、画像データ内から抽出された認識するべき物体に対応する部分を用いて、実際に物体を認識する認識器を生成するための学習処理や、学習の結果である認識器を利用した認識処理の具体的な例について説明する。以下に説明する方法は、パラメータを変化させることで、上述したようなペットを認識する場合などに、柔軟に対応することが出来る。
図19は、本発明の実施の形態における画像処理システム51の一構成例を示す図である。この画像処理システム51は、学習フェーズに用いられる学習装置71と、認識フェーズに用いられる認識装置72とを備えている。また、画像処理システム51は、ここでは、学習装置71と認識装置72により構成されているものとして図示されているが、同様の機能を有する1つの装置により構成されているものとしても良いことはいうまでもない。
学習装置71は、モデル画像取得部91、モデル特徴点生成部92、モデル特徴量生成部93、モデル特徴量記憶部94、学習画像取得部95、学習特徴点生成部96、学習特徴量生成部97、学習相関特徴量生成部98、正誤情報取得部99、および、認識器生成部100を含んで構成されている。
モデル画像取得部91は、図4を用いて説明した画像処理部11と同様の構成を有しており、フォーカスカメラにより撮像して得られたモデル画像となる画像データを外部から取得するか、または、内部にフォーカスカメラを備えてモデル画像を撮像するとともに、フォーカスカメラにより撮像して得られたモデル画像データから焦点が合致した部分を抽出し、抽出された部分の画像データを、モデル特徴点生成部92およびモデル特徴量生成部93に出力する。
また、モデル画像取得部91を、図4を用いて説明した画像処理部11と同様の構成とはせずに、認識するべき部分のみを示すモデル画像を取得したり、または、ユーザの操作などにより、所定の画像データから、認識するべき部分のみを抽出して、モデル特徴点生成部92に出力するようにしてもよい。モデル画像の数が少ないような場合などにおいては、後者の構成とし、モデル画像として認識に用いる部分をユーザの操作などにより確実に切り出すようにしても良い。
モデル特徴点生成部92は、モデル画像取得部91から供給されたモデル画像からモデル特徴点を生成し、モデル特徴量生成部93に供給する。特徴点については、画像における任意の点を利用することができ、特徴量の種類によってどのような点を用いるかを定義することもできる。具体的には、例えば、特徴点として色を用いる場合には、テクスチャのない平坦な領域内に特徴点が生成されると好適であり、特徴点として形や動きやテクスチャなどを用いる場合には、エッジ部分に特徴点が生成されると好適である。このようにすることにより、特徴量の種類に適した特徴点を適宜利用することが可能となる。
モデル特徴量生成部93は、モデル特徴点生成部92によって生成されたモデル特徴点におけるモデル特徴量を生成し、モデル特徴量記憶部94に供給する。この特徴量は、局所特徴量(local features)および大域特徴量(global features)のいずれでもよく、その種類も、形、色、動き、テクスチャ、素材、歩行パターンなどに関する種々のものを定義することができる。モデル特徴量はその種類に応じて選択することができ、例えば、局所的な形情報として、ガウス導関数の一次微分、二次微分、三次微分や色の分布などが選択されるようにすることができる。これにより、特徴量の種類に適した特徴量が適宜利用される。
そして、モデル特徴量記憶部94は、モデル特徴量生成部93によって生成されたモデル特徴点におけるモデル特徴量を記憶する。
学習画像取得部95は、図4を用いて説明した画像処理部11と同様の構成を有しており、フォーカスカメラにより撮像して得られた学習処理に用いられる学習画像データを外部から取得するか、または、内部にフォーカスカメラを備えて学習画像を撮像するとともに、フォーカスカメラにより撮像して得られた学習画像データから焦点が合致した部分を抽出し、抽出された部分の画像データを、学習特徴点生成部96および学習特徴量生成部97に出力する。
学習特徴点生成部96は、学習画像から学習特徴点を生成し、学習特徴量生成部97に供給する。特徴点については、画像における任意の点を利用することができ、特徴量の種類によってどのような点を用いるかを定義することもできる。具体的には、例えば、特徴点として色を用いる場合には、テクスチャのない平坦な領域内に特徴点が生成されると好適であり、特徴点として形や動きやテクスチャなどを用いる場合には、エッジ部分に特徴点が生成されると好適である。これにより、特徴量の種類に適した特徴点を適宜利用することができる。
学習特徴量生成部97は、学習特徴点生成部96によって生成された学習特徴点における学習特徴量を生成し、学習相関特徴量生成部98に供給する。この特徴量も、局所特徴量および大域特徴量の何れでもよく、その種類も、形、色、動き、テクスチャ、素材、歩行パターンなどに関する種々のものを定義することができる。学習特徴量はその種類に応じて選択することができ、例えば、局所的な形情報として、ガウス導関数の一次微分、二次微分、三次微分や色の分布などが選択されるようにすることができる。これにより、特徴量の種類に適した特徴量を適宜利用することができる。
学習相関特徴量生成部98は、モデル特徴量のそれぞれに対して各学習特徴量との間の相関を求めて、学習相関特徴量を生成する。相関特徴量の生成方法についての詳細は、図25および図26を用いて後述する。
正誤情報取得部99は、学習画像のそれぞれに対して、モデル画像に含まれる認識対象を含む画像であるか否かを示す情報を取得する。正誤情報は、例えば、学習処理のためのモデル画像や学習画像を学習装置に供給する、または、モデル画像や学習画像の撮像を指令する処理を指示するユーザにより入力されるものである。
認識器生成部100は、学習相関特徴量生成部98によって生成された学習相関特徴量および正誤情報に基づいて認識器の統計学習を行い、その過程で選択されたモデル特徴量を、選択特徴量として認識装置72に供給するとともに、学習の結果得られる認識器を認識装置72に供給する。認識器の生成には、例えば、ブースティングアルゴリズムを用いることができる。このブースティングアルゴリズムは、重み付き投票に基づくものであり、例えば、Discrete AdaBoost AlgorithmやGentle AdaBoost Algorithm等を利用することができる。認識器の生成についての詳細は、図27および図28を用いて後述する。
次に、認識装置72は、選択特徴量記憶部121、認識器記憶部122、認識画像取得部123、認識特徴点生成部124、認識特徴量生成部125、認識相関特徴量生成部126、認識処理部127、および、認識結果出力部128を含んで構成されている。
選択特徴量記憶部121は、学習装置71における学習処理の過程で選択されたモデル特徴量、すなわち、認識器記憶部122に記憶されている、認識器生成部100により生成された認識器に対応する特徴量である選択特徴量の供給を受け、記憶する。
認識器記憶部122は、学習装置71における学習処理によって認識器生成部100において生成された認識器を記憶する。
認識画像取得部123は、図4を用いて説明した画像処理部11と同様の構成を有しており、フォーカスカメラにより撮像して得られた認識処理に用いられる学習画像データを外部から取得するか、または、内部にフォーカスカメラを備えて認識画像を撮像するとともに、フォーカスカメラにより撮像して得られた認識画像データから焦点が合致した部分を抽出し、抽出された部分の画像データを、認識特徴点生成部124および認識特徴量生成部125に出力する。
認識特徴点生成部124は、認識画像から特徴点である認識特徴点を生成する。特徴点については、画像における任意の点を利用することができ、特徴量の種類によってどのような点を用いるかを定義することもできる。具体的には、例えば、特徴点として色を用いる場合には、テクスチャのない平坦な領域内に特徴点が生成されると好適であり、特徴点として形や動きやテクスチャなどを用いる場合には、エッジ部分に特徴点が生成されると好適である。これにより、特徴量の種類に適した特徴点を適宜利用することができる。
認識特徴量生成部125は、認識特徴点生成部124によって生成された認識特徴点における特徴量である認識特徴量を生成する。この特徴量も、局所特徴量および大域特徴量の何れでもよく、その種類も、形、色、動き、テクスチャ、素材、歩行パターンなどに関する種々のものを定義することができる。認識特徴量はその種類に応じて選択することができ、例えば、局所的な形情報として、ガウス導関数の一次微分、二次微分、三次微分や色の分布などが選択されるようにすることができる。これにより、特徴量の種類に適した特徴量を適宜利用することができる。
認識相関特徴量生成部126は、選択特徴量記憶部121に記憶された選択特徴量のそれぞれに対して各認識特徴量との間の相関を求めて、認識相関特徴量を生成する。相関特徴量の生成方法についての詳細は、学習処理における場合と同様に、図25および図26を用いて後述する。
認識処理部127は、認識相関特徴量生成部126によって生成された認識相関特徴量を、認識器記憶部122に記憶された認識器へ代入することによって、認識画像データの各々に認識対象が含まれるか否かの認識を行い、認識結果を認識結果出力部128に供給する。
そして、認識結果出力部128は、認識処理部127から供給された認識結果を、例えば、表示部に表示したり、音声データとして出力したり、または、LEDなどを用いてユーザに通知したり、もしくは、所定の伝送路を介したり所定の記録媒体に記録させることなどにより、他の装置に出力する。
ここで、モデル画像取得部91、学習画像取得部95、または、認識画像取得部123のうちの少なくともいずれか1つを、図4を用いて説明した画像処理部11と同様の構成とし、内部にフォーカスカメラを備えて認識画像を撮像するとともに、フォーカスカメラにより撮像して得られた認識画像データから焦点が合致した部分を抽出することができるようにすることにより実現可能となる学習処理や認識処理について説明する。
例えば、学習処理や認識処理において用いられる画像データを取得するにあたって、フォーカスカメラにおいて設定された焦点距離に、ユーザが認識される物体を設置したのち、装置に対して撮像の指示を与えて、撮像処理を行うようにしても良い。しかしながら、そのようにした場合、例えば、ペットなどの動く物体を認識する場合や、認識しようとする物体が多数存在する場合など、ユーザが、フォーカスカメラにおいて設定された焦点距離に認識される物体をいちいち設置するのでは、操作が煩雑となってしまう。
そこで、フォーカスカメラの撮像範囲内に入るように、認識される物体を適当に移動させ、その間、連続的に撮像処理を実行させるようにする。このようにすれば、認識対象に焦点が合致していない場合には、正しく抽出処理が行われないか、または、学習処理において認識するべき物体を含まない画像の入力となるか、もしくは、認識処理において、認識物を含まない画像と判定される画像の入力となる。そして、これに対して、認識される物体がフォーカスカメラにおいて設定された焦点距離にいるときに撮像された画像に基づいて背景の分離処理が行われたとき、認識するべき物体が撮像された領域のみが切り出された画像データを、煩雑な操作を行うことなく容易に得ることが可能となる。
例えば、認識するべき物体がフォーカスカメラの焦点距離から遠いとき、得られる画像データにおいては、全体的にピンボケとなってしまうか、または、全く関係の無いものにピントがあってしまう。このような画像データの背景を分離しても、認識するべき物体の領域が全く存在しないという結果となって、学習処理や認識処理が実行できないか、または、全く関係のないものが写っている部分が認識するべき物体の領域として抽出される。全く関係のないものが写っている部分が認識するべき物体の領域として抽出された場合、学習処理においては、認識するべき物体を含まない画像の入力に対応し、認識処理においては、全く関係のないものが写っている部分から得られる特徴量では記憶されたモデル特徴量に一致しないことから、認識するべき物体を含む画像ではないと言う結果が得られる。そして、認識するべき物体がフォーカスカメラの焦点距離に合致したときに、正しい抽出処理が行われて、有用なモデル画像、学習画像、または、認識画像が得られて、学習処理または認識処理を行うことができる。
このようにすることにより、例えば、ペットを認識したい場合にカメラ前でペットが動いていたとしても、その対象に焦点が合致したときのみ、認識物の抽出処理が正しく行われて、そのとき得られた画像データによって、学習処理や認識処理が正しく実行される。また、ユーザが、例えば、把持することなどにより移動可能なものを認識させたい場合には、フォーカスカメラの焦点位置ぴったりに認識物を設置しなくても、大体、そのあたりを適当に移動させていれば、その位置がフォーカスカメラの焦点距離に合致したときに正しい抽出処理が行われて、有用なモデル画像、学習画像、または、認識画像が得られて、学習処理または認識処理を正しく行うことができる。
特に、認識処理において認識画像を得る際に、フォーカスカメラの撮像範囲内に入るように、認識される物体を適当に移動させ、その間、連続的に撮像処理を実行させるようにすると好適である場合が考えられる。例えば、通路を通行する人物を認識したいとき、その通路を通行する人物がフォーカスカメラの焦点位置に対応する所定の位置を通過するときに自動的に正しい抽出処理が行われるので、人物を所定位置に立たせて、撮像開始を指令することなどを必要とせずに、正しい認識処理が可能となる。
認識結果の出力の方法は、例えば、連続して撮像された認識画像のそれぞれに対して実行される認識処理の全ての認識結果を出力するものとしても良いし、連続して撮像された認識画像のそれぞれに対して実行される認識処理の認識結果を所定回数、または、所定時間だけ保持しておき、その推移を観察して、認識されているらしいピーク値における認識結果を出力するものとしても良い。また、同様に認識結果の推移を観察して、閾値以上の値があれば、認識されたものとしてその結果を出力するものとしても良い。
図20を参照して、学習装置71において実行される学習フェーズの概要について説明する。
ここでは、X個(Xは2以上の整数)のモデル画像(PM1乃至PMX)から生成されたN個(Nは2以上の整数)の特徴点(モデル特徴点)における特徴量(モデル特徴量)がモデル特徴量記憶部94(特徴量プール)に蓄積されているものとする。モデル画像は、全て認識対象を含むものである。すなわち、モデル特徴量記憶部94には、認識対象を含む画像全般の特徴点における特徴量が蓄積されることになる。なお、この例では、ペットの犬が認識対象として含まれている。
一方、M個(Mは2以上の整数)の学習画像(PI1乃至PIM)には、認識対象を含むものと含まないものとが混在する。認識対象を含むか否かは、正誤情報取得部99により取得される正誤情報によって示される。図20の例では、認識対象を含む場合には「+1」を、認識対象を含まない場合には「−1」がそれぞれ付与されている。すなわち、学習装置71においては、学習画像取得部95が認識対象を含む学習画像の供給を受けたとき、学習特徴量生成部97において、認識対象を含む画像全般の特徴点における特徴量が求められるとともに、正誤情報取得部99が、この学習画像には認識対象が含まれているという正誤情報「+1」の供給を受ける。また、学習装置71においては、学習画像取得部95が認識対象を含まない学習画像の供給を受けたとき、学習特徴量生成部97において、認識対象を含まない画像全般の特徴点における特徴量が求められるとともに、正誤情報取得部99が、この学習画像には認識対象が含まれていないという正誤情報「−1」の供給を受ける。
そして、学習相関特徴量生成部98において、M個の学習画像の各々について生成された複数の特徴点(学習特徴点)における特徴量(学習特徴量)と、モデル特徴量記憶部94に記憶されたN個のモデル特徴量との間の相関値が生成され、N個のモデル特徴量のそれぞれに対して最も相関の高い学習特徴量が選択されて、その際に生成されたN個の相関値が相関特徴量となる。この相関特徴量は、M個の学習画像の各々について生成され、M個の学習相関特徴量を構成する。
このようにして得られた学習相関特徴量および正誤情報によって、認識器生成部100において、認識器の学習が行われる。この認識器は、学習フェーズに続く認識フェーズにおいて、入力された認識画像に認識対象が含まれているか否かを判断するためのものである。
この画像処理システム51において利用される特徴量は、局所特徴量(local features)および大域特徴量(global features)のいずれでもよく、その種類も、形、色、動き、テクスチャ、素材、歩行パターンなどに関する種々のものを定義することができる。例えば、形に関する局所特徴量としては、部分領域の輝度情報をそのまま利用してもよく、また、ラプラシアン(二次微分)、ガウシアン微分関数(Gaussian Derivatives)、ステアラブルフィルタ(Steerable Filters)、ガボアフィルタ(Gabor Filters)、SIFT(Scale-Invariant Features Transform)などによる変換を施したものを採用してもよい。また、色に関する局所特徴量としては、部分領域の色情報(RGBやHSV等)をそのまま利用してもよいし、ヒストグラムとしてまとめた情報を採用してもよい。さらに、動きに関する局所特徴量としては、動きベクトル(所謂、optical flow)を利用することができる。
動物は、例えば、足の運び方や移動の仕方など、その種類によって、動きに特徴を有する。このことから、特に、ペットを認識させようとする場合、複数のフレーム画像データにより供給される動画像データを、モデル画像データ、学習画像データ、および、認識画像データとして取得することができれば、認識対象物の動きを特徴量として用いることも有用であると考えられる。
具体的には、例えば、オプティカルフロー(optical flow)に代表される、動きを記述する手法を用いることにより、認識対象物の動きを特徴量として用いることが可能となる。オプティカルフローとは、視覚表現(通常、時間的に連続する画像データ)の中で物体の動きをベクトルで表したものである。
また、特徴点については、画像における任意の点を利用することができるが、一般にはエッジやコーナー点が用いられることが多い。この特徴点は、特徴量の種類によって定義することができる。例えば、形に関する特徴量についてはエッジやコーナー点に特徴が現れ易いため、エッジやコーナー点を特徴点として採用することが望ましい。一方、色に関する特徴量については、物体の領域内に特徴が現れ易いため、特定の点に限定せずにランダムな点を特徴点として採用したり、エッジ部分から遠いテクスチャのない部分から特徴点を採用することが望ましい。
形に関する特徴点としてエッジやコーナー点を求めるためには、ハリス・コーナー点検出器(Harris corner detector)を用いることができる。このハリス・コーナー点検出器では、まず、画像データにおける各画素点I(x,y)において、その輝度勾配を求め、局所領域での2次モーメントマトリックスMを次の式(2)のように算出する。
この2次モーメントマトリックスMの2つの固有値をαおよびβとすると、固有値αおよびβのうち、両者が所定の閾値より大きければコーナー点、片方が所定の閾値より大きければエッジ、両方が所定の閾値より小さければ何もない点となる。そこで、この判定を行うために、この2次モーメントマトリックスMの行列式det(M)およびトレース(対角成分の和)trace(M)を算出して、次の式(3)を用いてコーナー応答関数CRを求める。
CR=det(M)−k(trace(M))2・・・(3)
ここでは、式(2)において、k=0.04であるものとすることができる。
このコーナー応答関数CRが正の数であればコーナー点であることを意味し、負の数であればエッジであることを意味する。但し、コーナー応答関数CRが一定値よりも小さい場合には何もない点となる。このような手順によりコーナー点またはエッジを抽出することができる。
なお、ここではコーナー点またはエッジを判定するために減算によるコーナー応答関数CRを用いたが、次の式(4)のように除算を用いるものとしてもよい。
CR=det(M)/(k(trace(M))2)・・・(4)
また、形に関する特徴量としてSteerableFilters(Gausian Derivatives)を用いる場合、以下の式(5)乃至式(10)で示される、ガウス関数とその微分関数により、基底カーネルの演算を行い、その線形結合で表現される。Gがガウス関数、G1は一次微分、G2は二次微分、G3は三次微分関数である。θは、計算したいフィルタの方向である。例えば、piを4方向に等分したり、8方向に等分することにより、特徴量を求めることができる。
上述した式で計算された、二次元上でのSteerableFilterのカーネルの形状を、図21に示す。
局所特徴量を特徴量として強くするために、近傍のジェットを結合したものを用いても良い。この時、図22に示すように、注目画素から5画素程度離れた場所からジェットを取ってくると好適である。結合に用いるジェットが注目画素からあまり離れすぎていると、局所情報が物体の変形に弱くなる。逆に、結合に用いるジェットが注目画素に近すぎると、多くのジェットを結合している意味が薄くなってしまう。
また、局所特徴量を回転に対して不変にすることもできる。例えば、図23に示されるように、中心の画素点での主方向αを計算し、その方向に対して、特徴量を回転することにより、局所特徴量を回転に対して不変にすることができる。主方向αは、あるガウシアンの幅σの1次微分のx方向とy方向の出力から、次の式(11)で求められる。
このαを使えば、例えば、次の式(12)を用いて、4方向の出力を得ることができる。
一方、色に関する特徴点として色のヒストグラムを利用する場合、色空間を所定の色領域に区切って、各色領域における分布を求める。図24は、HSV空間におけるヒストグラムの例である。なお、このHSV表現では、H(Hue)が色相を表し、S(Saturation)が彩度を表し、V(Value)が明度を表す。
図24のAでは、簡単な例として、HSV各成分について2区間に区分して、合計8つ(=23)の色領域を設けている。ある特徴点についてその近傍(例えば、10ピクセル程度)を含む画像領域における色の分布から、各色領域における出現頻度を求めたものが、図24のBに示されるヒストグラムである。図24のBに示されるヒストグラムの8つの頻度データは、図24のAに示される8つの色領域のうちのいずれかにそれぞれ対応するものである。
このように、学習処理や認識処理に用いられる特徴点や特徴量は、特徴量の種類に応じてそれぞれ適したものを定義することができる。そして、このようにして求められた特徴量は、学習相関特徴量生成部98および認識相関特徴量生成部126において相関特徴量に変換される。学習相関特徴量生成部98では、学習特徴量のそれぞれについてモデル特徴量との相関を求めることにより、様々な特徴量を同じ次元で比較し、その結果を、認識器生成部100における認識器の学習のために供給する。また、認識相関特徴量生成部126では、認識特徴量のそれぞれについて、選択特徴量記憶部121に記憶されているさまざまな特徴量のうちの同じ次元の選択特徴量との相関を求めることにより、様々な特徴量を同じ次元で比較し、その結果を、認識処理に用いるために、認識処理部127に供給する。
一般に、特徴量を表す2つのベクトルv1およびv2の相関値Cは、次の式(13)により算出される。なお、ベクトルの上線は、そのベクトルの平均を表す。
式(13)に示される相関値Cは、0.0から1.0までの範囲の値となり、相関が高いほど1.0に近く、相関が低いほど0.0に近い値を示す。
また、相関値を求める際には、エラスティック・バンチ・グラフ・マッチング(EBGM)法を利用してもよい。学習相関特徴量生成部98は、このEBGM法を用いた場合、学習特徴量のうち、モデル特徴量記憶部94に記憶されたモデル特徴量に対応する特徴点の近傍で最も相関の高い点(相関最大点)を求め、その相関最大点における相関値を学習相関特徴量として利用する。また、認識相関特徴量生成部126は、このEBGM法を用いた場合、認識特徴量のうち、選択特徴量記憶部121に記憶された選択特徴量に対応する特徴点の近傍で最も相関の高い点(相関最大点)を求め、その相関最大点における相関値を認識相関特徴量として利用する。
図25を用いて、EBGM法による相関最大点の探索例について説明する。ここでは、学習装置71における学習処理における場合を例として説明する。
図25に示されるように、モデル画像において特徴点αが生成されると、特徴点αに対応する学習画像上の点α´が定まる。学習相関特徴量生成部98は、学習画像上の点α´の近傍において、特徴点αとの間の相関値を算出して、相関最大点βを求める。この相関最大点βにおける相関値が学習相関特徴量となる。
このように、相関特徴量を求める際にEBGM法を利用することにより、物体の歪みや視点の変化対してロバストになり、これら外乱に対してより柔軟に対応することができるようになる。
なお、ここでは、学習相関特徴量生成部98において学習相関特徴量を求める際にEBGM法を利用する場合について説明したが、認識相関特徴量生成部126において認識相関特徴量を求める際にも同様にEBGM法を適用することができる。
次に、図26を参照して、複数種類の特徴量による相関特徴量算出の例について説明する。ここでは、学習装置71における学習処理における場合を例として説明する。
図26に示されるように、モデル特徴量記憶部94に記憶されたモデル特徴量の種類として、例えば、色に関するモデル特徴量、形に関するモデル特徴量、および、動きに関するモデル特徴量があるものとする。
学習相関特徴量生成部98は、特徴量の種類ごとに相関を算出する。すなわち、図26における場合、学習相関特徴量生成部98は、色に関する相関を算出する相関算出部141、形に関する相関を算出する相関算出部142、および、動きに関する相関を算出する相関算出部143を含む。相関算出部141は、色に関するモデル特徴量について、学習特徴量生成部97により生成された学習特徴量の中から、対応する学習特徴量として色に関する学習特徴量を抽出して、これらの間の相関値を算出し、認識器生成部100に出力する。同様に、相関算出部142は、形に関するモデル特徴量について、学習特徴量生成部97により生成された学習特徴量の中から、対応する学習特徴量として形に関する学習特徴量を抽出して、これらの間の相関値を算出し、認識器生成部100に出力する。また、相関算出部143は、動きに関するモデル特徴量について、学習特徴量生成部97により生成された学習特徴量の中から、対応する学習特徴量として動きに関する学習特徴量を抽出して、これらの間の相関値を算出し、認識器生成部100に出力する。
このように、相関算出部141乃至143は、それぞれ異なる種類の特徴量について相関値を算出する。元々の特徴量自体は、特徴量の種類によってベクトルの次元が異なるため、互いにそのままの形で比較することは難しい。しかし、学習相関特徴量生成部98においては、相関の度合いに応じて一定の範囲の値(0.0から1.0)を示す相関特徴量に正規化するため、異なる種類の特徴量であっても互換性を有する。
そして、認識器生成部100は、このような相関特徴量を用いて認識器の学習を行い、認識を行うことによって、様々な種類の特徴量を用いた統計学習による物体認識を実現することができる。
なお、ここでは、学習相関特徴量生成部98において学習特徴量から学習相関特徴量に変換する際の処理について説明したが、認識相関特徴量生成部126において認識特徴量から認識相関特徴量に変換する場合も、基本的に同様の処理が実行される。また、ここでは、色、形、動きの異なる3種類の特徴量を用いる場合について説明したが、特徴量の種類や種類の数は、これに限らないことはいうまでもない。
次に、図27および図28を参照して、認識器生成部100において実行される学習処理の例について説明する。
図27では、M個の学習画像(PI1乃至PIM)の相関特徴量の各々は、モデル特徴量記憶部94に記憶されたモデル特徴量の特徴点の数Nに対応するN次元のベクトルとして表されている。すなわち、1個目の学習画像PI1の相関特徴量は(A1,A2,・・・,AN)、2個目の学習画像PI2の相関特徴量は(B1,B2,・・・,BN)、3個目の学習画像PI3の相関特徴量は(C1,C2,・・・,CN)と表され、同様の要領でM個目の学習画像PIMの相関特徴量は(M1,M2,・・・,MN)と表される。
このとき、モデル特徴量の特徴点kに対してグループGrkを想定すると、特徴点k=1の相関特徴量はグループGr1によって示される(A1,B1,C1,・・・,M1)であり、同様に、特徴点k=2の相関特徴量はグループGr2によって示される(A2,B2,C2,・・・,M2)であり、同様の要領で、特徴点k=Nの相関特徴量はグループGrNによって示される(AN,BN,CN,・・・,MN)となる。すなわち、各特徴点kについて、M個の学習画像PI1乃至PIMに対応して計M個の相関特徴量のグループGrkが定義されることになる。
なお、左端の「+1」もしくは「−1」の値は、正誤情報取得部99から供給される、対応する学習画像が認識対象を含むか否かを示している学習画像ごとの正誤情報である。
特徴点k毎に、各学習画像(PIi)(iは、1乃至Mのいずれか)に設定された重みwiに応じて、相関特徴量がM個抽選で抽出される。最初の処理においては、いずれの重みwiも等しく、M個が抽選されると確率的には全ての相関特徴量が選択されることになるため、最初の処理では各特徴点kにおいて全ての相関特徴量が選択されたものとする。これ以降の繰り返しにおいては、同一の相関特徴量が重複して選択されることもあり得る。
そして、N個の入力特徴量のそれぞれについてサンプリングされたM個の入力特徴量は、昇べきの順、または、降べきの順に並び替えられる。そして、入力特徴量が抽出された学習用画像に認識しようとする対象物体が含まれている画像であるか否かを示す正誤情報、すなわち、図27における(+1)または(−1)に基づいて、昇べきの順、または、降べきの順に並び替えられたN個の入力特徴量のそれぞれについて、グループGrkにおける特徴量を2つに分けるように設定されるある閾値thjkを設定したとき、その閾値以上と閾値以下で、正誤が正しく分かれるか否か、閾値を変化させながら特徴点k毎のグループGrkの誤り率ejkを、次の式(14)により計算して、この誤り率ejkが最小となるように閾値を設定する。但し、jは特徴点kにおける相関特徴量ベクトルxに対するL個(Lは1以上の整数)の弱認識器fjk(x)の番号をカウントするカウンタであり、1からLの範囲を示す整数である。
ここで、y≠fjkは、エラーとなっている特徴点kの条件を示しており、Ewは、エラーの発生した特徴点kにおける重みが加算されることを示している。
そして、この閾値thjkが、弱認識器として設定される。
図28に示される例では、J=1として、1つ目の特徴点k=1における閾値th11の設定例を示している。具体的には、例えば、特徴点k=1に対応するM個の特徴量が、図28で示されるようにL1,A1,C1,B1,・・・,M1に昇べき、または、降べきの順に並べられ、閾値より小さい範囲では、認識しようとする対象物体がないと認識し、閾値より大きい範囲では、認識しようとする対象物体があると認識する。ここで、教師ラベルy(すなわち、正誤情報)および弱認識器fjk(x)は、認識対象の有無によって「+1」もしくは「−1」の値を示し、両者が一致した場合には予想が的中したことを示す。図28に示されるように、閾値th11が特徴量A1とC1の間に設定されたときには、図中の点線で囲まれた特徴量A1は、認識しようとする対象物体が含まれた学習用画像の特徴量であり、一方、特徴量C1および特徴量M1は、認識しようとする対象物体が含まれない学習用画像の特徴量であるので、エラーであるとみなされる。そして、Ewの値は、予想が外れた場合に、誤りが生じたものとして誤り回数の累算が行われることにより設定される。
このようにして、学習用画像の正誤情報(認識しようとする対象物体が含まれているか否かの情報)に基づいて、エラーであるとみなされた特徴量が抽出された学習用画像の重みWiが加算されて、誤り率ejkが計算される。
このようにして誤り率ejkが計算されると、次に、設定された弱認識器fjk(x)のうち、誤り率ejkが最小となる弱認識器fjk(x)が選択される。そして、その弱認識器fjk(x)の信頼度cjが、誤り率ejkを用いて、次の式(15)によって計算される。
そして、さらにこのようにして得られた信頼度cjによって学習画像の重みwi(iは1からNの範囲を示す整数)が、次の式(16)を用いて演算されて、wiの合計が1となるようにさらに正規化された後、更新される。
これにより、誤りの発生した相関特徴量を含む学習画像の重みが大きくなり、再度学習を要する学習画像が明確に区別されることになる。
このようにして選択された弱認識器fjk(x)が、式(15)に示される信頼度cjによって重み付けされて、相関特徴量ベクトルxに対する認識器R(x)が次の式(17)のように更新される。
すなわち、重み付けされた弱認識器fjkが、既に保持されている認識器R(x)に加算され、新たな認識器R(x)として更新される。すなわち、生成される認識器R(x)は、比較的誤り率の低い複数の弱認識器fjkにより構成される。
認識器生成部100は、このような学習処理を繰り返し、その結果、R(x)が正の数であれば認識対象を含むことを示し、負の数であれば認識対象を含まないことを示す認識器R(x)を生成することができる。すなわち、この認識器は、弱認識器の多数決により、認識しようとする対象物体の有無を出力する関数である。認識器生成部100は、生成された認識器を、認識装置72の認識器記憶部122に供給して記憶させる。
そして、認識器生成部100は、誤り率ejkが最小となるそれぞれの弱認識器fjkで使用されるべき特徴点kのモデル特徴量を選択して、選択特徴量として出力する。出力された選択特徴量は、認識装置72の選択特徴量記憶部121に記憶される。
このように弱認識器を学習処理により重み付けしながら付加することを繰り返して認識器を生成する学習処理は、ブースティング(重み付き投票)アルゴリズムの一種であり、”Discrete AdaBoost Algorithm”と称される。この学習処理においては、誤り率の高い学習特徴量の重みが順次大きくなり、誤り率の低い学習特徴量の重みが小さくなるように、モデル特徴量ごとに認識器と誤り率が計算される処理が繰り返される。したがって、繰り返し処理の中で、認識器を設定する際に選択される学習相関特徴量は、徐々に誤り率の高いものが選択され易くなり、認識し難い学習相関特徴量が繰り返されるほどに選択されて学習が繰り返されることになるため、認識し難い学習画像の相関特徴量がより多く選択されることになり、最終的に高い認識率にすることが可能となる。
また、このブースティングアルゴリズムによれば、N個の誤り率ejkのうち最小となる特徴点kのモデル特徴量が選択されて、選択特徴量記憶部121に記憶されていくため、認識器の学習と特徴量の選択を同時に行うことができ、認識フェーズにおいてモデル特徴量記憶部94に記憶されている全ての特徴量を使用することなく、認識に適した特徴量を効率良く利用することができる。
次に、図29乃至図37のフローチャートを参照して、図19の画像処理システム51が実行する処理について説明する。
まず、図29のフローチャートを参照して、画像処理システム51の学習装置71が実行する学習処理について説明する。
ステップS11において、モデル画像取得部91は、モデル画像の特徴量の抽出に用いるモデル画像を取得し、モデル特徴点生成部92に供給する。
なお、ここでは、モデル画像取得部91は、認識するべき部分のみを示すモデル画像を取得したり、または、ユーザの操作などにより、所定の画像データから、認識するべき部分のみを抽出して、モデル特徴点生成部92に出力するものであってもよいが、図4を用いて説明した画像処理部11と同様の構成を有するものとしても良い。
ステップS12において、モデル特徴点生成部92は、モデル画像取得部91から供給されたモデル画像の特徴点を生成し、モデル特徴量生成部93に供給する。例えば、1つのモデル画像についてN個のモデル特徴点が生成される
ステップS13において、モデル特徴量生成部93は、モデル画像のモデル特徴点における特徴量を生成し、モデル特徴量記憶部94に供給する。例えば、N個のモデル特徴点が生成された場合、N個のモデル特徴点におけるN個のモデル特徴量がモデル特徴量生成部93によって生成される。
ステップS14において、モデル特徴量記憶部94は、モデル特徴量生成部93によって生成されたモデル特徴点におけるモデル特徴量を記憶する。
そして、ステップS15において、全てのモデル画像の特徴量がモデル特徴量記憶部94に記憶されたか否かが判断され、記憶されていないと判断された場合、処理は、ステップS11に戻り、それ以降の処理が繰り返される。
ここでは、1枚のモデル画像の取得に対して、ステップS12乃至ステップ15の処理が実行され、複数のモデル画像が取得されたとき、これらの処理が繰り返されるものとして説明したが、ステップS11において複数のモデル画像を取得し、それ以降の処理が、それぞれのモデル画像ごとに、順次、または、並行して実行されるものであっても良い。
ステップS15において、全てのモデル画像の特徴量がモデル特徴量記憶部94に記憶されたと判断された場合、ステップS16において、図30を用いて後述する学習画像取得処理が実行される。
ステップS17において、学習特徴点生成部96は、ステップS16の処理により取得された学習画像の特徴点を生成し、学習特徴量生成部97に供給する。
ステップS18において、学習特徴量生成部97は、学習特徴点生成部96によって生成された学習特徴点における学習画像の特徴量を生成し、学習相関特徴量生成部98に供給する。
ステップS19において、図32を用いて後述する学習相関特徴量生成処理が実行される。この処理は、モデル特徴量記憶部94に記憶された、例えば、N個のモデル特徴量のそれぞれに対して、学習画像の各々における学習特徴点の学習特徴量との間の相関値が学習相関特徴量生成部98によって生成され、最も相関の高いものが学習相関特徴量とされる処理である。
ステップS20において、図33を用いて後述する認識器生成処理が実行される。この処理において、ステップS19において生成された学習相関特徴量に基づいて認識器生成部100によって統計学習が行われる。
そして、ステップS21において、供給される全ての学習画像に対して処理が終了したか否かが判断される。ステップS21において、供給される全ての学習画像に対する処理が終了していないと判断された場合、処理は、ステップS16に戻り、それ以降の処理が繰り返される。ステップS21において、供給される全ての学習画像に対する処理が終了したと判断された場合、ステップS20の処理により生成された認識器が、認識装置72の認識器記憶部122に供給されて記憶されるとともに、その過程で選択されたモデル特徴量が、認識装置72の選択特徴量記憶部121に供給されて記憶され、処理は終了される。
このような処理により、学習処理が実行されて、画像に含まれる物体を認識可能な認識器が生成される。この処理では、学習特徴量を学習相関特徴量に変換して認識器の学習を行うため、種類の異なる特徴量を同じスケールの下で扱い、統計学習させることを可能とする。
次に、図30のフローチャートを参照して、図29のステップS16において実行される学習画像取得処理について説明する。この学習画像取得処理は、図4を用いて説明した画像処理部11と同様の構成を有しており、内部にフォーカスカメラを備えて学習画像を撮像するとともに、フォーカスカメラにより撮像して得られた学習画像データから焦点が合致した部分を抽出することができる学習画像取得部95によって実行される。したがって、図30のフローチャートにおいては、図4および図5を用いて説明した画像処理部11の構成を学習画像取得部95が有しているものとして説明する。
ステップS41において、学習画像取得部95の画像取得部21は、所定の焦点距離で、撮像処理を実行し、得られた画像を背景分離処理部22に供給する。
ステップS42において、学習画像取得部95の背景分離処理部22は、図31のフローチャートを用いて後述する背景分離処理を実行する。
ステップS43において、学習画像取得部95の背景分離処理部22は、背景が分離された画像には、認識するべき物体が存在するか否かを判断する。ステップS43において、例えば、画像データ全体がピンボケであった場合など、認識するべき物体が存在しないと判断された場合、処理は、ステップS41に戻り、それ以降の処理が繰り返される。
ステップS44において、認識するべき物体が存在したと判断された場合、ステップS43において、学習画像取得部95の背景分離処理部22は、背景が分離された画像データに対して、必要に応じて、アライメントなどの画像処理を施す。
ステップS45において、学習画像取得部95の背景分離処理部22は、背景が分離された認識されるべき物体に対応する画像を、学習特徴点生成部96および学習特徴量生成部97に出力し、処理は、図29のステップS16に戻り、ステップS17に進む。
このような処理により、学習用画像データが取得される。画像データはフォーカスカメラにより撮像されるので、焦点が合致する位置に存在する認識するべき物体を、容易な処理で背景から分離することが可能である。
次に、図31のフローチャートを参照して、図30のステップS42において実行される背景分離処理について説明する。このフローチャートにおいても、図4および図5を用いて説明した画像処理部11の構成を用いて処理を説明する。
ステップS81において、背景分離処理部22の近傍画素差分フィルタ計算処理部31は、式(1)の演算を実行し、図6に示されるような近傍画素差分フィルタによる計算処理を行って、図7を用いて説明したような出力を近傍領域和フィルタ計算処理部32に供給する。
ステップS82において、近傍領域和フィルタ計算処理部32は、図8を用いて説明したような近傍領域和フィルタによる計算処理を行うことにより、注目画素とその近傍領域との平均を求め、閾値処理部33に供給する。近傍領域和フィルタ計算処理部32による和フィルタ計算においては、適用する窓サイズにより、結果が変化するので、認識するべき物体のテクスチャの大小などによって決まる最適な窓サイズを用いることができるようにすると好適である。
ステップS83において、閾値処理部33は、和フィルタ計算結果を所定の閾値で分離する、すなわち、2値化処理を行うことや、和フィルタ計算結果のうち値が発生している部分(黒い領域ではない部分)をマスクする閾値処理を行うことなどにより、背景部分と認識するべき物体に対応する部分とを分離する。
このような処理により、フォーカスカメラにより撮像された画像から、焦点が合致する位置に存在する認識するべき物体を、容易な処理で背景から分離することが可能である。
次に、図32のフローチャートを参照して、図29のステップS19において実行される、学習相関特徴量生成処理について説明する。
ステップS111において、学習相関特徴量生成部98は、処理済の特徴量の数を示す変数kを、k=1とする。
ステップS112において、学習相関特徴量生成部98は、モデル画像のN個の特徴量のうちk番目の特徴量である特徴量kのモデル特徴量について、学習画像の対応する特徴点における学習特徴量との相関値を生成する。
ステップS113において、学習相関特徴量生成部98は、生成された相関値から、最も相関の高い学習特徴量を選択する。
ステップS114において、学習相関特徴量生成部98は、ステップS113で選択された学習特徴量の相関値を、特徴量kの学習相関特徴量とする。
ステップS115において、学習相関特徴量生成部98は、変数kは、1つの画像データに対する特徴量の総数Nであるか否かを判断する。
ステップS115において、変数kはNではない、すなわち、Nに達していないと判断された場合、ステップS116において、学習相関特徴量生成部98は、変数kを1インクリメントして、処理は、ステップS112に戻り、それ以降の処理が繰り返される。
ステップS115において、変数kはNであると判断された場合、処理は、図29のステップS19に戻り、ステップS20に進む。
このような処理により、例えば、図25を用いて説明した手法を用いることなどにより、学習相関特徴量が生成される。また、図26を用いて説明したように、学習相関特徴量は、異なる種類の特徴量(例えば、形、色、動きなど)でも、それぞれの相関を算出することにより求めることが可能である。
次に、図33のフローチャートを参照して、図29のステップS20において実行される、認識器生成処理について説明する。
ステップS141において、認識器生成部100は、例えば、学習用画像毎の重みWiを全て1/Mに初期化すると共に、カウンタQを1に、認識器R(x)を0にそれぞれ初期化する。ここで、iは、複数の学習用入力画像PIiをそれぞれ識別するものであり、1<i<Mである。したがって、ステップS141の処理により、全ての学習用画像PIiは、いずれも正規化された同一の重み(=1/M)に設定されることになる。
ステップS142において、認識器生成部100は、特徴点k(k=1,2,3,・・・N)のそれぞれの局所特徴量の組み合わせごと、すなわち、1枚の学習用画像に対して供給されたN×Pの特徴量ごとに、学習用入力画像PIiの重みWiに応じてM個の特徴量を選択する。
この場合、特徴点k=1の1つ目の局所特徴量の組み合わせにおける特徴量は、グループGr1-1で示される(A1-1,B1-1,C1-1,・・・M1-1)であり、同様に、特徴点k=1の2つ目の局所特徴量の組み合わせにおける特徴量は、グループGr1-2で示される(A1-2,B1-2,C1-2,・・・M1-2)であり、以下、同様に、特徴点k=NのP番目の局所特徴量の組み合わせにおける特徴量は、グループGrN-Pで示される(AN-P,BN-P,CN-P,・・・MN-P)となる。
すなわち、各特徴点kのそれぞれの局所特徴量のP種類の組み合わせについて、学習用画像PIiによるM個の特徴量のグループが設定されることになる。
認識器生成部100は、各特徴点kのそれぞれの局所特徴量のP種類の組み合わせごとに、各学習用画像PIiに設定された重みに応じて特徴量をM個抽選で抽出する。最初の処理においては、いずれの重みWiも等しいため、M個が抽選されると、確率的には全ての特徴量が選択されることになるので、ここでは、最初の処理では各特徴点kのそれぞれの局所特徴量の組み合わせにおいて、全ての特徴量が選択されたものとする。もちろん、実際には、同一の特徴量が重複して選択されることもある。
ステップS143において、認識器生成部100は、N個の特徴点のそれぞれの局所特徴量の組み合わせごとにサンプリングされたM個の特徴量のグループ毎に、特徴量を昇べきの順、または、降べきの順に並び替える。
ステップS144において、認識器生成部100は、入力特徴量が抽出された学習用画像に認識しようとする対象物体が含まれている画像であるか否かを示す情報に基づいて、特徴点kのそれぞれのP種類の局所特徴量の組み合わせごとに、M個の特徴量のそれぞれについて、閾値を変化させながら、上述した式(14)で示すように誤り率ejkを計算させ、誤り率ejkが最小となるように閾値を設定する。ここで、特徴点kのそれぞれの局所特徴量の組み合わせごとの閾値thjkが、1個の弱認識器fjkとなる。すなわち、N個存在する特徴点kのそれぞれのP種類の局所特徴量の組み合わせごとについて、すなわち、N×P個の特徴量に応じて、N×P個の弱認識器fjkが設定され、N×P個のそれぞれについて(弱認識器fjkのそれぞれについて)誤り率ejkが求められることになる。ここで、認識器fjkは、認識しようとする対象物体を含む場合「+1」を出力し、認識しようとする対象物体を含まない場合「−1」を出力する関数である。
すなわち、図28を用いて説明した場合と同様にして、ある特徴点におけるある局所特徴量の組み合わせに対応する特徴量(得られた相関係数)が、昇べき、または、降べきの順に並べられた場合、設定された閾値thjkの位置と、その閾値に対してどちら側に認識しようとする対象物体が含まれた学習用画像に対応する特徴量と認識しようとする対象物体が含まれない学習用画像に対応する特徴量が並べられているかに基づいて、エラーであるか否かが判定される。認識器生成部100は、上述した式(14)で示されるように、学習用入力画像の正誤情報(認識しようとする対象物体が含まれているか否かの情報)に基づいて、エラーであるとみなされた特徴量が抽出された学習用入力画像の重みWiを加算し、誤り率ejkを計算する。
ステップS145において、認識器生成部100は、N個の弱認識器fjkのうち、誤り率ejkが最小となる弱認識器fjkを選択する。
ステップS146において、認識器生成部100は、選択した弱認識器の最小の誤り率ejkに基づいて、上述した式(15)で示されるように信頼度cjkを計算する。
ステップS147において、認識器生成部100は、供給された信頼度cjkに基づいて、上述した式(16)で示されるように各学習用入力画像毎に重みWiを再計算するとともに、全ての重みWiを正規化して更新する。そして、認識器生成部100は、重みの更新結果に基づいて、学習入力画像毎の重みを設定する。
ステップS148において、認識器生成部100は、選択された認識器fjkを基に、Q番目の認識器fQを一時記憶する。換言すれば、認識器生成部100は、(Q−1)番目の認識器認識器fQ-1を、選択された認識器fjkを加えたQ番目の認識器fQに更新させる。
すなわち、認識器生成部100は、上述した式(17)で示されるように、認識器R(x)を更新する。このようにして、重み付けされた弱認識器fjkが認識器R(x)に加算される。
ステップS149において、認識器生成部100は、弱認識器fjkの特徴点kの対応する局所特徴量の組み合わせにおけるモデル特徴量を、選択特徴量として一時記憶する。
ステップS150において、認識器生成部100は、カウンタQの値が、認識器の生成のための繰り返し回数Lより大きいか否かを判断する。
ステップS150において、カウンタQの値がLよりも大きくないと判定された場合、ステップS151において、認識器生成部100は、カウンタQを1インクリメントし、その後、処理は、ステップS142に戻り、それ以降の処理が繰り返される。ステップS150において、カウンタQがLよりも大きいと判断された場合、現在記憶されている認識器R(x)が、認識装置72の認識器記憶部122に供給されるとともに、現在記憶されている選択特徴量が、認識装置72の選択特徴量記憶部121に供給されて、処理は、図29のステップS20に戻り、ステップS21に進む。
以上の処理により、L個の比較的誤り率の低い弱認識器fQ(1<Q<L)からなる認識器R(x)が生成されて、認識装置72の認識器記憶部122に記憶されると共に、それぞれの弱認識器fQで使用されるべき特徴点kのモデル特徴量が選択特徴量として、認識装置72の選択特徴量記憶部121に記憶される。ここで、繰り返し回数Lは、L≦N×Pである。
なお、式(17)の認識器は、L個の弱認識器の多数決により、認識しようとする対象物体の有無を出力する関数であると言える。また、このようにして、弱認識器を学習処理により重み付けしつつ付加することを繰り返し、認識器を生成する学習処理は、Discrete Adaboost Algorithmと称される。
すなわち、以上の認識器生成処理により、誤り率の高い学習用入力画像の学習用入力特徴量の重みが順次大きくなり、誤り率の低い学習用入力特徴量の重みが小さくなるように、モデル特徴量ごとに認識器と誤り率が計算される処理が繰り返されることになる。したがって、繰り返し処理(ステップS142乃至S150の処理)の中で、認識器を設定する際に選択される学習用入力特徴量(ステップS142で選択される学習特徴量)は、徐々に誤り率の高いものが選択されやすくなるので、認識し難い学習用入力特徴量が繰り返されるほどに選択されて学習が繰り返されることになるため、認識し難い学習用入力画像の特徴量がより多く選択されることになり、最終的に高い認識率の認識器を生成することが可能となる。
また、繰り返し処理(ステップS142乃至S150の処理)の中で、認識器生成部100は、常に誤り率の最も低いモデル特徴量に対応する弱認識器を選択することになるので、学習処理の繰り返しにより、常に信頼度の最も高いモデル特徴量についての弱認識器が選択されて認識器に加算されることになり、繰り返されるごとに精度の高い弱認識器が順次加算されることになる。
すなわち、以上の学習処理により、特徴点および組み合わせごとに、特徴量に幾何学的な拘束が付加された特徴量を用いて、誤り率ejkの低いL個の弱認識器fjkからなる認識器R(x)が生成されることになる。その結果として、信頼度の高い弱認識器のみからなる認識器が構成されることになるので、限られた個数の弱認識器で信頼度の高い認識器を構成することが可能となるので、後述する認識処理における演算処理数を低減させつつ、認識精度を向上させることが可能となる。
また、弱認識器の数を多くすれば(上述したLを大きくすれば)、認識器による認識精度を向上させることが可能となる。一方、弱認識器の数を少数にしても(上述したLを小さくしても)、選択される弱認識器は、少数ながらも信頼度の高い弱認識器のみを用いた認識処理を実行することができるので、信頼度を維持しつつ認識処理における演算処理数を低減させることが可能となる。すなわち、必要に応じて、学習処理に手間を掛けて認識器の生成個数を多くすることでより高い精度の認識器を生成することも可能であるし、逆に、学習に手間を掛けず生成する認識器の個数を減らして1発学習に近い学習にしても比較的精度の高い認識器を生成することが可能となる。
また、このように、学習装置71においては、学習相関特徴量生成部98によって生成された学習相関特徴量を用いて認識器の学習を行い、認識相関特徴量生成部126によって生成された認識相関特徴量を用いて認識処理を行うため、種類の異なる特徴量を同じスケールの下で相互に比較して認識対象の存否を判断することができる。すなわち、学習装置71は、物体認識を行うに際して様々な特徴量を適宜用いることができる。そのため、学習装置71においては、予め用意された様々な種類の特徴量の中から認識に適した特徴量の種類を自動的に選択して用いることができ、また、予め用意された様々な特徴量の中から認識に適した特徴量を自動的に選択して用いることができる。さらに、学習装置71においては、認識に適した特徴点を自動的に統計学習することができる。
なお、ここでは、ブースティングアルゴリズムの一例として、Discrete AdaBoost Algorithmの適用例について説明したが、他のブースティングアルゴリズムを適用してもよく、例えば、Gentle AdaBoost Algorithmを用いるようにしてもよい。このGentle AdaBoost Algorithmによれば、弱認識器がそれぞれ信頼度を含んだ連続変量の値を出力することになるため、対応した重み付けがなされて、信頼度の計算を省くことができる。
次に、図34のフローチャートを参照して、認識装置72が実行する認識処理の一例である認識処理1について説明する。
ステップS181において、図35を用いて後述する認識画像取得処理が実行される。
ステップS182において、認識特徴点生成部124は、ステップS181の処理により取得された認識画像の特徴点を生成し、認識特徴量生成部125に供給する。
ステップS183において、認識特徴量生成部125は、認識特徴点生成部124によって生成された認識特徴点における認識画像の特徴量を生成し、認識相関特徴量生成部126に供給する。
ステップS184において、図36を用いて後述する認識相関特徴量生成処理が実行される。この処理は、選択特徴量記憶部121に記憶された選択特徴量のそれぞれに対して各認識特徴量との間の相関を求める処理である。
ステップS185において、認識処理部127は、認識相関特徴量生成部126によって生成された認識相関特徴量を、認識器記憶部122に記憶された認識器へ代入する計算処理を行う。
ステップS186において、認識処理部127は、ステップS185の計算結果に基づいて、認識画像には認識するべき物体が含まれているか否かを判断し、その結果を認識結果出力部128に供給する。
ステップS187において、認識結果出力部128は、認識処理部127から供給された認識結果を、例えば、表示部に表示したり、音声データとして出力したり、または、LEDなどを用いてユーザに通知したり、もしくは、所定の伝送路を介したり所定の記録媒体に記録させることなどにより、他の装置に出力して、処理が終了される。
このような処理により、学習特徴量を学習相関特徴量に変換して学習された認識器を用いて、認識特徴量を認識相関特徴量に変換して認識処理が実行される。このようにすることにより、種類の異なる特徴量を同じスケールの下で相互に比較して認識対象の存否を判断させることが可能となる。
次に、図35のフローチャートを参照して、図34のステップS181において実行される、認識画像取得処理について説明する。この認識画像取得処理は、図4を用いて説明した画像処理部11と同様の構成を有しており、内部にフォーカスカメラを備えて認識画像を撮像するとともに、フォーカスカメラにより撮像して得られた認識画像データから焦点が合致した部分を抽出することができる認識画像取得部123によって実行される。したがって、図35のフローチャートにおいては、図4および図5を用いて説明した画像処理部11の構成を認識画像取得部123が有しているものとして説明する。
ステップS211において、認識画像取得部123の画像取得部21は、所定の焦点距離で、撮像処理を実行し、得られた画像を背景分離処理部22に供給する。
ステップS212において、認識画像取得部123の背景分離処理部22は、図31のフローチャートを用いて説明した背景分離処理を実行する。
ステップS213において、認識画像取得部123の背景分離処理部22は、背景が分離された画像には、認識するべき物体が存在するか否かを判断する。ステップS213において、例えば、画像データ全体がピンボケであった場合など、認識するべき物体が存在しないと判断された場合、処理は、ステップS211に戻り、それ以降の処理が繰り返される。
ステップS213において、認識するべき物体が存在したと判断された場合、ステップS214において、認識画像取得部123の背景分離処理部22は、背景が分離された画像データに対して、必要に応じて、アライメントなどの画像処理を施す。
ステップS215において、認識画像取得部123の背景分離処理部22は、背景が分離された認識されるべき物体に対応する画像を、認識特徴点生成部124および認識特徴量生成部125に出力し、処理は、図34のステップS181に戻り、ステップS182に進む。
このような処理により、認識用画像データが取得される。画像データはフォーカスカメラにより撮像されるので、焦点が合致する位置に存在する認識するべき物体を、容易な処理で背景から分離することが可能である。
次に、図36のフローチャートを参照して、図34のステップS184において実行される、認識相関特徴量生成処理について説明する。
ステップS241において、認識相関特徴量生成部126は、処理済の特徴量の数を示す変数kを、k=1とする。
ステップS242において、認識相関特徴量生成部126は、N個の選択特徴量のうちk番目の特徴量である特徴量kの選択特徴量について、認識画像の対応する特徴点における認識特徴量との相関値を生成する。
ステップS243において、認識相関特徴量生成部126は、生成された相関値から、最も相関の高い認識特徴量を選択する。
ステップS244において、認識相関特徴量生成部126は、ステップS243で選択された認識特徴量の相関値を、特徴量kの認識相関特徴量とする。
ステップS245において、認識相関特徴量生成部126は、変数kは、1つの画像データに対する特徴量の総数Nであるか否かを判断する。
ステップS245において、変数kはNではない、すなわち、Nに達していないと判断された場合、ステップS246において、認識相関特徴量生成部126は、変数kを1インクリメントして、処理は、ステップS242に戻り、それ以降の処理が繰り返される。
ステップS245において、変数kはNであると判断された場合、処理は、図34のステップS184に戻り、ステップS185に進む。
このような処理により、例えば、図25を用いて説明した手法を用いることなどにより、認識相関特徴量が生成される。また、図26を用いて説明したように、認識相関特徴量においても、異なる種類の特徴量(例えば、形、色、動きなど)でも、それぞれの相関を算出することにより求めることが可能である。
次に、図37のフローチャートを参照して、認識装置72が実行する認識処理の異なる処理例である認識処理2について説明する。
図34のフローチャートを用いて説明した認識処理1は、撮像された認識画像のそれぞれに対して実行される認識処理の全ての認識結果を出力するものであった。これは、学習処理や認識処理において用いられる画像データを取得するにあたって、フォーカスカメラにおいて設定された焦点距離に、ユーザが認識される物体を設置したのち、装置に対して撮像の指示を与えて、撮像処理を行うようにした場合であっても良いし、フォーカスカメラの撮像範囲内に入るように認識される物体を適当に移動させ、その間、連続的に撮像処理を実行させるようにした場合であっても、実行可能な処理である。
これに対して、図37のフローチャートを用いて説明する処理は、認識処理において認識画像を得る際に、フォーカスカメラの撮像範囲内に入るように、認識される物体を適当に移動させ、その間、連続的に撮像処理を実行させるようにする場合において、連続して撮像された認識画像のそれぞれに対して実行される認識処理の全ての認識結果を出力するのではなく、連続して撮像された認識画像のそれぞれに対して実行される認識処理の認識結果を所定回数、または、所定時間だけ保持しておき、その推移を観察して、認識されているらしいピーク値における認識結果を出力する処理である。
ステップS271乃至ステップS275において、図34のステップS181乃至ステップS185と同様の処理が実行される。
すなわち、認識画像が取得されて、認識画像の特徴点が生成されて、特徴点における特徴量が生成される。そして、図36を用いて説明した認識相関特徴量生成処理が実行され、得られた認識相関特徴量を、認識器へ代入する計算処理が実行される。
そして、ステップS276において、認識処理部127は、得られた計算結果を一時保持する。保持された計算結果は、計算処理における所定回数、または、所定時間だけ保持される。
ステップS277において、認識処理部127は、連続して撮像された認識画像のそれぞれに対して実行される認識処理の計算結果を所定回数、または、所定時間だけ保持しておき、その推移を観察して、ピーク値が得られたか否か、換言すれば、最も認識されているらしい結果が得られたか否かを判断する。
ステップS277において、ピーク値が得られていないと判断された場合、処理は、ステップS271に戻り、それ以降の処理が繰り返される。
ステップS277において、ピーク値が得られたと判断された場合、ステップS278において、認識処理部127は、ピーク値に基づいて、認識画像には認識するべき物体が含まれているか否かを判断し、その結果を認識結果出力部128に供給する。
ステップS278において、認識結果出力部128は、認識処理部127から供給された認識結果を、例えば、表示部に表示したり、音声データとして出力したり、または、LEDなどを用いてユーザに通知したり、もしくは、所定の伝送路を介したり所定の記録媒体に記録させることなどにより、他の装置に出力して、処理が終了される。
このような処理により、学習特徴量を学習相関特徴量に変換して学習された認識器を用いて、認識特徴量を認識相関特徴量に変換して認識処理を行うため、種類の異なる特徴量を同じスケールの下で相互に比較して認識対象の存否を判断させることが可能となる。
また、さらに、このような処理により、ユーザが、フォーカスカメラにおいて設定された焦点距離ぴったりの位置に、認識される物体をいちいち設置するような煩雑な動作を行う必要がなくなる。例えば、ペットを認識したい場合にカメラ前でペットが動いていたとしても、認識処理を正しく実行させることができる。また、ユーザが、例えば、把持することなどにより移動可能なものを認識させたい場合には、フォーカスカメラの焦点位置ぴったりに認識物を設置しなくても、大体、そのあたりを適当に移動させていれば、その位置がフォーカスカメラの焦点距離に合致したときに正しい抽出処理が行われて、有用な認識画像が得られて、認識処理を行うことができる。更に、例えば、通路を通行する人物を認識したいとき、その通路を通行する人物がフォーカスカメラの焦点位置に対応する所定の位置を通過するときに自動的に正しい抽出処理が行われるので、人物を所定位置に立たせて、撮像開始を指令することなどを必要とせずに、正しい認識処理が可能となる。
以上説明した認識処理のアプローチ方法は、Collage-of-Featと称され、特徴量としてどのようなものを利用することも可能である。そして、local MAX poolingを用いて、ブースティングアルゴリズムにより認識を行うようになされている。
上述した処理により、オンライン実行の学習における、物体モデルの学習、すなわち、学習の結果得られる物体モデルの登録が、背景を分離した画像データを用いて行えるため、学習性能の向上が見込まれる。更に、認識実行時にも、認識画像の取得において、煩雑な処理を行うことなく、背景を削除することができるので、誤認識が減ることが期待でき、性能が向上する。さらに、学習処理および認識処理とも、切り出した領域だけ処理すればよいので、計算時間の削減にもつながる。
なお、これらの処理における画像データの取得および認識物体の領域の抽出は、複眼を利用することなく、単眼カメラのみで行えるので、コストアップを抑制することができる。
また、認識処理および学習処理が、上述した処理と異なる方法であっても、フォーカスカメラを用いて撮像された画像データを、図4を用いて説明した画像処理部11を用いて処理することにより、煩雑な操作などを行わずに認識に必要な部分の抽出ができるという効果を得ることができる。すなわち、例えば、従来技術としてあげたような学習処理または認識処理において、図4を用いて説明した画像処理部11を用いても、煩雑な操作などを行わずに認識に必要な部分の抽出ができるという効果を得ることができる。
なお、ここでは、画像処理システム51は、学習装置71と認識装置72とで構成されるものとして説明したが、学習装置71と認識装置72との両方の機能を有する1つの装置によって、学習処理と認識処理の両方が行われるものであっても良いことは言うまでもない。換言すれば、学習処理システム51が、1つの装置によって構成されていても良い。さらに、学習処理システム51は、学習装置71と認識装置72との両方の機能を有するような2つ以上の装置により構成されていても良い。
また、学習処理と認識処理は連続して行われなくても良く、学習装置71と認識装置72とは、乖離して設置されていても良いことはいうまでもない。換言すれば、学習装置71により生成される選択特徴量および認識器が選択特徴量記憶部121および認識器記憶部122にそれぞれ記憶されている認識装置72は、学習装置71と乖離した場所に設置されても単独で認識処理を行うことができる。
また、モデル画像の取得、学習画像の取得、および、認識画像の取得のうちのいずれの処理においても、画像データから認識するべき物体に対応する領域を自動的に抽出するものとしても良いし、これらの画像取得の処理のうちのいずれか少なくとも1つを、他の方法を用いて取得するようにしても良い。例えば、モデル画像の数が少ないような場合などにおいては、モデル画像取得部91を、図4を用いて説明した画像処理部11と同様の構成とはせずに、認識するべき部分のみを示すモデル画像を取得したり、または、ユーザの操作などにより、所定の画像データから、認識するべき部分のみを抽出して、モデル特徴点生成部92に出力するようにしてもよい。
上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウェアにより実行させることもできる。そのソフトウェアは、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、記録媒体からインストールされる。この場合、上述した処理は、図38に示されるようなパーソナルコンピュータ500により実行される。
図38において、CPU(Central Processing Unit)501は、ROM(Read Only Memory)502に記憶されているプログラム、または、記憶部508からRAM(Random Access Memory)503にロードされたプログラムに従って各種の処理を実行する。RAM503にはまた、CPU501が各種の処理を実行する上において必要なデータなどが適宜記憶される。
CPU501、ROM502、およびRAM503は、内部バス504を介して相互に接続されている。この内部バス504にはまた、入出力インターフェース505も接続されている。
入出力インターフェース505には、キーボード、マウスなどよりなる入力部506、CRT,LCDなどよりなるディスプレイ、スピーカなどよりなる出力部507、ハードディスクなどより構成される記憶部508、並びに、モデム、ターミナルアダプタなどより構成される通信部509が接続されている。通信部509は、電話回線やCATVを含む各種のネットワークを介しての通信処理を行う。
入出力インターフェース505にはまた、必要に応じてドライブ510が接続され、磁気ディスク、光ディスク、光磁気ディスク、あるいは半導体メモリなどによりなるリムーバブルメディア521が適宜装着され、それから読み出されたコンピュータプログラムが、必要に応じて記憶部508にインストールされる。
一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、ネットワークや記録媒体からインストールされる。
この記録媒体は、図38に示されるように、コンピュータとは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されているリムーバブルメディア521よりなるパッケージメディアにより構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに提供される、プログラムが記録されているROM502や記憶部508が含まれるハードディスクなどで構成される。
また、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
なお、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
なお、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
11 画像処理部, 21 画像取得部, 22 背景分離処理部, 31 近傍画素差分フィルタ計算処理部, 32 近傍領域和フィルタ計算処理部, 33 閾値処理部, 51 画像処理システム, 71 学習装置, 72 認識装置, 91 モデル画像取得部, 92 モデル特徴点生成部, 93 モデル特徴量生成部, 94 モデル特徴量記憶部, 95 学習画像取得部, 96 学習特徴点生成部, 97 学習特徴量生成部, 98 学習相関特徴量生成部, 99 正誤情報取得部, 100 認識器生成部, 121 選択特徴量記憶部, 122 認識器記憶部, 123 認識画像取得部, 124 認識特徴点生成部, 125 認識特徴量生成部, 126 認識相関特徴量生成部, 127 認識処理部, 128 認識結果出力部, 141乃至143 相関算出部