(57)【要約】【課題】  パターン判別を高速に実行する。【解決手段】  画像処理装置に、画像から特徴データを生成する生成手段と、前記特徴データを参照して所定のパターンを判別する複数の判別手段と、前記複数の判別手段の動作を制御する制御手段とを備え、前記複数の判別手段は、処理結果が相互に依存しない第１及び第２の判別手段と、第３の判別手段とを含み、前記制御手段は、前記第１及び第２の判別手段を並列に動作させ、該第１及び第２の判別手段の何れかが判別条件を満足しないと判断した場合に、前記複数の判別手段の全ての動作を中止し、前記第１及び第２の判別手段が判別条件を満足した場合に、該第１及び第２の判別手段の判別結果を用いて、前記第３の判別手段を動作させる。【選択図】  図１
2017191571.tif 000002
【特許請求の範囲】
【請求項１】
画像から特徴データを生成する生成手段と、
前記特徴データを参照して所定のパターンを判別する複数の判別手段と、
前記複数の判別手段の動作を制御する制御手段とを有し、
前記複数の判別手段は、処理結果が相互に依存しない第１及び第２の判別手段と、第３の判別手段とを含み、
前記制御手段は、前記第１及び第２の判別手段を並列に動作させ、該第１及び第２の判別手段の何れかが判別条件を満足しないと判断した場合に、前記複数の判別手段の全ての動作を中止し、前記第１及び第２の判別手段が判別条件を満足した場合に、該第１及び第２の判別手段の判別結果を用いて、前記第３の判別手段を動作させることを特徴とする画像処理装置。
【請求項２】
前記第３の判別手段は、前記第１または第２の判別手段と共通する特徴データを同一のメモリから参照し、
前記制御手段は、前記共通する特徴データを参照する複数の判別手段を順番に動作させることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記第１及び第２の判別手段の何れかは、前記複数の判別手段における他の判別手段より処理時間が短いことを特徴する請求項１または２に記載の画像処理装置。
【請求項４】
前記制御手段は、前記複数の判別手段の処理時間に基づいて当該複数の判別手段を動作させる順番を決定することを特徴とする請求項１乃至３の何れか１項に記載の画像処理装置。
【請求項５】
前記制御手段は、前記複数の判別手段のそれぞれが判別条件を満たした確率を予め算出しておき、当該確率に基づいて当該判別手段を動作させる順番を決定することを特徴とする請求項１乃至４の何れか１項に記載の画像処理装置。
【請求項６】
前記生成手段が、特性の異なる複数の特徴データを生成することを特徴とする請求項１乃至５の何れか１項に記載の画像処理装置。
【請求項７】
前記生成手段が、画像にそれぞれ異なる種類のフィルタを作用させて前記特性の異なる複数の特徴データを生成することを特徴とする請求項６に記載の画像処理装置。
【請求項８】
前記制御手段は、ある入力画像に対して、前記第１及び第２の判別手段の何れかが判別条件を満足しないと判断した場合に、前記複数の判別手段の全ての動作を中止し、次の入力画像に対して、前記第１及び第２の判別手段の動作を開始させることを特徴とする請求項１乃至７の何れか１項に記載の画像処理装置。
【請求項９】
前記判別手段が、前記特徴データからスコアを算出し、該スコアと閾値とを比較することで前記判別条件を満足するかを判断することを特徴とする請求項１乃至８の何れか１項に記載の画像処理装置。
【請求項１０】
前記特徴データは特徴画像であり、前記判別手段が、当該特徴画像の複数の点のデータからスコアを算出することを特徴とする請求項１乃至８の何れか１項に記載の画像処理装置。
【請求項１１】
前記判別手段が、前記特徴画像の複数の点のデータの総和に基づいて前記スコアを算出することを特徴とする請求項１０に記載の画像処理装置。
【請求項１２】
画像から特徴データを生成する生成工程と、
前記特徴データを参照して所定のパターンを複数の判別手段により判別する判別工程とを有し、
前記複数の判別手段は、処理結果が相互に依存しない第１及び第２の判別手段と、第３の判別手段とを含み、
前記判別工程では、前記第１及び第２の判別手段を並列に動作させ、該第１及び第２の判別手段の何れかが判別条件を満足しないと判断した場合に、前記複数の判別手段の全ての動作を中止し、前記第１及び第２の判別手段が判別条件を満足した場合に、該第１及び第２の判別手段の判別結果を用いて、前記第３の判別手段を動作させることを特徴とする画像処理方法。
【請求項１３】
コンピュータを請求項１乃至１１のいずれか１項に記載の画像処理装置の各手段として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像中のパターンを高速に判別する画像処理装置及びその方法、プログラムに関するものである。
【背景技術】
【０００２】
画像中の人体や顔といった特定のパターンを判別する技術が提案されている。特に、近年、携帯端末や車載機器等の組み込みシステム向けのパターン判別手法が注目されている。
【０００３】
非特許文献１では、パターン検出を高速化させるためのアルゴリズムが提案されている。ブースティング学習によってパラメータを生成し、特徴画像を用いて、カスケード接続された弱判別器を順に処理する。弱判別器の判別結果に基づいて、次の弱判別器を処理するかどうかを判断する。次の弱判別器を処理しない（打切り）と判断する場合、残りの弱判別器の処理を省略する。
【０００４】
特許文献１では、複数の演算装置を用いて判別処理の効率を向上させるための手法が提案されている。具体的には、予め判明している判別処理の通過率と処理時間に基づいて、演算装置の構成を調整することによって、処理効率の向上を図っている。
【０００５】
画像情報に基づく撮像装置の位置及び姿勢の計測は、複合現実感／拡張現実感における現実空間と仮想物体の位置合わせ、ロボットや自動車の自己位置推定、物体や空間の三次元モデリングなど様々な目的で利用される。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特許第５１００５９６号公報
【非特許文献】
【０００７】
【非特許文献１】Ｐ．  Ｖｉｏｌａ，  Ｍ．  Ｊｏｎｅｓ，  “Ｒａｐｉｄ  Ｏｂｊｅｃｔ  Ｄｅｔｅｃｔｉｏｎ  ｕｓｉｎｇ  ａ  Ｂｏｏｓｔｅｄ  Ｃａｓｃａｄｅ  ｏｆ  Ｓｉｍｐｌｅ  Ｆｅａｔｕｒｅｓ”，  Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ＩＥＥＥ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｃｏｍｐｕｔｅｒ  Ｖｉｓｉｏｎ  ａｎｄ  Ｐａｔｔｅｒｎ  Ｒｅｃｏｇｎｉｔｉｏｎ，  Ｖｏｌ．  １，  ｐｐ．  ５１１−５１８，  Ｄｅｃｅｍｂｅｒ  ２００１．
【発明の概要】
【発明が解決しようとする課題】
【０００８】
特許文献１では、弱判別器をパイプラインで並列に処理し、演算装置の並列度を変更することによって、処理効率を向上させているが、打切り処理が生じた場合、演算装置の処理効率が低下することがある。
【課題を解決するための手段】
【０００９】
本発明の１態様によれば、画像処理装置に、画像から特徴データを生成する生成手段と、前記特徴データを参照して所定のパターンを判別する複数の判別手段と、前記複数の判別手段の動作を制御する制御手段とを備え、前記複数の判別手段は、処理結果が相互に依存しない第１及び第２の判別手段と、第３の判別手段とを含み、前記制御手段は、前記第１及び第２の判別手段を並列に動作させ、該第１及び第２の判別手段の何れかが判別条件を満足しないと判断した場合に、前記複数の判別手段の全ての動作を中止し、前記第１及び第２の判別手段が判別条件を満足した場合に、該第１及び第２の判別手段の判別結果を用いて、前記第３の判別手段を動作させることを特徴とする。
【発明の効果】
【００１０】
本発明によれば、カスケード接続された弱判別器を効率的に並列処理し、パターン判別を高速化させることができる。
【図面の簡単な説明】
【００１１】
【図１】第１の実施形態におけるパターン判別処理の手順を示すフローチャートである。
【図２】第１の実施形態におけるパターン判別装置で処理する第１−３判別処理の論理構造の説明図である。
【図３】第１の実施形態におけるパターン判別装置で処理する第１と第２判別処理の例の説明図である。
【図４】第１の実施形態におけるパターン判別装置で処理する第１と第２判別処理の例の説明図である。
【図５】第１の実施形態におけるパターン判別装置のハードウェア構成を示すブロック図である。
【図６】第１の実施形態における判別処理部の構成を示すブロック図である。
【図７】第１の実施形態における並列弱判別器処理部の構成を示すブロック図である。
【図８】他の実施形態におけるパターン判別装置で処理する第１−３判別処理の論理構造の説明図である。
【発明を実施するための形態】
【００１２】
以下、図面を参照しながら本発明の実施形態について詳細に説明する。
【００１３】
（第１の実施形態）
＜判別処理部の構成＞
図５は、本実施形態によるパターン判別を実現可能なパターン判別装置の一構成例を示すブロック図である。パターン判別装置は、入力部５０１、データ保持部５０２、通信部５０３、表示部５０４、ＣＰＵ５０５、ＲＯＭ５０６、ＲＡＭ５０７、判別処理部５０８を備える。詳細は後述する。
【００１４】
図６にパターン判別装置の判別処理部５０８の構成を示す。特徴画像生成部６０１は、２種類のフィルタを入力画像に作用させ、特性が異なる特徴画像（特徴データ列）を２枚生成する。生成された特徴画像を特徴画像保持部６０２に保持する。並列弱判別器処理部６０４は特徴画像保持部６０２に保持された特徴画像と、パラメータ保持部６０５に保持されたパラメータを読出し、複数の弱判別器を時分割に処理し、後述する第１−３判別処理を実行する。判別結果保持部６０６は並列弱判別器処理部６０４で処理した第１−３判別処理の判別結果を保持する。制御部６０３は、並列弱判別器処理部６０４の動作を制御する。
【００１５】
図７と図２はそれぞれ、並列弱判別器処理部６０４の構成と本パターン判別装置で処理する第１−３判別処理の論理構造を示す。第１弱判別器処理部７０１は、制御部６０３の指示に従って図２に示す論理構造に対応する第１と第３判別処理を実行し、それぞれの判別結果を計算する。第２弱判別器処理部７０２は、制御部６０３の指示に従って、特徴画像保持部６０２に保存された第１特徴画像と第２特徴画像にアクセスし、図２に示す論理構造に対応する第２判別処理を実行し、判別結果を計算する。第１及び第２特徴画像を同時にアクセスすることと、第１弱判別器処理部７０１と第２弱判別器処理部７０２が同時に動作することが可能である。処理統合部７０３は第１判別処理の判別結果と第２判別処理の判別結果を統合し、第３判別処理を実行するかどうかを判定する。
【００１６】
＜弱判別器の論理構造に基づく動作＞
図２に示す論理構造に基づいて、図７に示す本パターン判別装置で処理する第１−３判別処理の動作を説明する。
【００１７】
第１判別処理は、１個の弱判別器２０１を処理するための第１パラメータに基づいて判別結果を計算する。第１パラメータは、第１判別処理を実行する際に参照する第１特徴画像の画素（特徴データ）の位置を示す情報と閾値を包含する。
【００１８】
弱判別器２０１では、パラメータ保持部６０５に保持された第１パラメータの情報に従って第１判別処理を実行し、判別結果が成功であるかどうかを判別する。
【００１９】
第２判別処理は、２個の弱判別器２０２−２０３を処理するための第２と第３パラメータに基づいて判別結果を計算する。第２パラメータは第２判別処理を実行する際に参照する第２特徴画像の画素の位置を示す情報と閾値を包含する。第３パラメータは、第２判別処理を実行する際に画素を変換するための情報を包含する。
【００２０】
弱判別器２０２、２０３がカスケード接続され、順番に処理される。弱判別器２０２では、パラメータ保持部６０５に保持された第２と第３パラメータの情報に従って第２判別処理を実行する。弱判別器２０２の出力結果に従って弱判別器２０３を処理するかどうかを判断する。弱判別器２０３を処理しないと判断した場合、第２判別処理の判別結果が不成功である。弱判別器２０３を処理すると判断した場合、弱判別器２０３では、パラメータ保持部６０５に保持された第２と第３パラメータの情報に従って、残りの第２判別処理を完了させ、判別結果が成功であるかどうかを判別する。
【００２１】
第１判別処理の判別結果と第２判別処理の結果によって、第３判別処理を実行するかどうかを判断する。第１判別処理の判別結果と第２判別処理の判別結果が両方とも成功である場合、第３判別処理を実行する。そうでない場合、第３判別処理を実行しない。第１判別処理と第２判別処理とは、参照する特徴画像が異なり、かつ処理結果は相互に依存しない。このため、第１判別処理と第２判別処理とを同時に実行することが可能である。
【００２２】
第３判別処理は、２個の弱判別器２０４−２０５を処理するための第４と第５パラメータに基づいて判別結果を計算する。第４パラメータは第３判別処理を実行する際に参照する第２特徴画像の画素の位置を示す情報と閾値を包含する。第５パラメータは、第３判別処理を実行する際に画素を変換するための情報を包含する。
【００２３】
弱判別器２０４、２０５がカスケード接続され、順番に処理される。弱判別器２０４では、パラメータ保持部６０５に保持された第４と第５パラメータの情報に従って第３判別処理を実行する。弱判別器２０４の出力結果に従って弱判別器２０５を処理するかどうかを判断する。弱判別器２０５を処理しないと判断した場合、第３判別処理の判別結果が不成功である。弱判別器２０５を処理すると判断した場合、弱判別器２０５では、パラメータ保持部６０５に保持された第４と第５パラメータ情報に従って、残りの第３判別処理を完了させ、判別結果が成功であるかどうかを判別する。
【００２４】
第１−３判別処理の判別結果が全て成功である場合には、入力画像に所定パターンが存在すると判別する。それ以外の場合には、入力画像に所定パターンが存在しないと判別する。
【００２５】
＜パターン判別処理の手順＞
図１は、本実施形態におけるパターン判別処理の手順を示すフローチャートである。ステップＳ１０１では、一枚の入力画像から特徴画像を２枚生成し、特徴画像保持部６０２に保持する。
【００２６】
ステップＳ１０２では、第１−第３判別処理のための第１−第５パラメータを設定する。各弱判別器に対応する第１−第５パラメータは学習アルゴリズム（ブースティング学習等）によって予め決定される。
【００２７】
ステップＳ１０３では、特徴画像保持部６０２に保持する２枚の特徴画像の画素を参照して、第１判別処理（ステップＳ１０４−ステップＳ１０８）と第２判別処理（ステップＳ１０９−ステップＳ１１７）を行う。ステップＳ１０４−ステップＳ１０８は第１弱判別器処理部７０１の動作を示す。ステップＳ１０９−ステップＳ１１７は第２弱判別器処理部７０２の動作を示す。ステップＳ１１８は処理結果統合部７０２の動作を示す。
【００２８】
ステップＳ１１９では、第１と第２判別処理の判別結果に基づいて、第３判別処理を実行するかどうかを判断する。第１と第２判別処理の処理結果が両方とも成功である場合、ステップＳ１２０に進む。そうでない場合、ステップＳ１２８に進む。
【００２９】
ステップＳ１２０では、特徴画像保持部６０２に保持する特徴画像の画素を参照して、第３判別処理（ステップＳ１２１−ステップＳ１２７）を実行する。ステップＳ１２１−ステップＳ１２７は第１弱判別器処理部７０２の動作を示す。
【００３０】
ステップＳ１２８では、第１−第３判別処理の判別結果に基づいて、入力画像に所定パターンが存在するかどうかを判断し、パターン判別結果を結果保持部６０６に保持する。制御部６０３は、ステップＳ１０３、ステップＳ１１９、ステップＳ１２０を制御する。
【００３１】
＜第１判別処理＞
ステップＳ１０４では、第１判別処理のための弱判別器２０１に対応する第１パラメータ（Ｄ１，１，ｊ、Ｔ１，１）を読出す。第１パラメータのＤ１，１，ｊは、第１特徴画像における座標であり、第１パラメータのＴ１，１は閾値である。第ｊ番目（ｊ：１〜Ｋ、Ｋ：弱判別器が参照する特徴画像上のデータの数）のパラメータＤ１，１，ｊを式（１）に示す。Ｘ１，１，ｊはＸ座標であり、Ｙ１，１，ｊはＹ座標である。
【００３２】
【数１】
2017191571.tif 000003
ステップＳ１０５では、座標（Ｘ１，１，ｊ，Ｙ１，１，ｊ）に対応するＫ個の特徴データｆ１（Ｘ１，１，ｊ，Ｙ１，１，ｊ）を読み出す。
【００３３】
ステップＳ１０６では、弱判別器のスコアＳ１，１を算出する。説明のため、ここでは簡単な例として、式（２）に示すように、特徴画像の二点（Ｋ＝２）を参照し（ｊ＝１，２）、その値の総和をスコアとする場合を示す。総和に限定される訳でなく、任意の特徴データ変換関数を用いて特徴データをスコアＳ１，１に変換しても良い。
【００３４】
【数２】
2017191571.tif 000004
ステップＳ１０７では、スコアＳ１，１とステップＳ１０４で読み出された閾値Ｔ１，１を比較する。閾値を超えない場合、判別条件は満足されず、判別結果は不成功となり、ステップ１０９に進む。ステップ１０９では、第２判別処理の中止信号を送信することによって第２判別処理を強制的に終了させ、ステップＳ１１８に進む。閾値を超えた場合、判別条件は満足され、判別結果は成功となり、ステップＳ１０８に進む。ステップＳ１０８では、第２判別処理が終了するまで待機する。
【００３５】
＜第２判別処理＞
ステップＳ１１０では、第２判別処理のループを開始する。
【００３６】
ステップＳ１１１では、第２判別処理のための第ｉ番目（ｉ：１〜Ｍ、Ｍ：弱判別器の数）の弱判別器に対応する第２パラメータ（Ｄ２，ｉ，ｊ、Ｔ２，ｉ）を読出す。本実施形態では簡単な例として、２個（Ｍ＝２）の弱判別器２０２−２０３で第２判別処理を実行する場合を示す。第２パラメータのＤ２，ｉ，ｊは第２特徴画像における座標であり、弱判別器によって異なる。第２パラメータのＴ２，ｉは閾値である。第ｊ番目（ｊ：１〜Ｋ、Ｋ：弱判別器が参照する特徴画像上のデータの数）のパラメータＤ２，ｉ，ｊを式（３）に示す。Ｘ２，ｉ，ｊはＸ座標であり、Ｙ２，ｉ，ｊはＹ座標である。
【００３７】
【数３】
2017191571.tif 000005
ステップＳ１１２では、座標（Ｘ２，ｉ，ｊ，Ｙ２，ｉ，ｊ）に対応するＫ個の特徴データｆ２（Ｘ２，ｉ，ｊ，Ｙ２，ｉ，ｊ）を読み出す。
【００３８】
ステップＳ１１３では、第ｉ番目の弱判別器に対応する第３パラメータ（Ｌ２，ｉ）を読出す。第３パラメータは、特徴データ変換関数を示す情報である。第ｉ番目の弱判別器に対応する特徴データ変換関数はＬ２，ｉ（．）であり、ステップＳ１１２で読み出した特徴データを対象とするパターンらしさに相当するスコアに変換する。
【００３９】
ステップＳ１１４では、第ｉ番目の弱判別器のスコアＳ２，ｉを特徴データ変換関数で算出する。説明のため、ここでは簡単な例として、第２特徴画像の二点（Ｋ＝２）を参照し（ｊ＝１，２）、その値を弱判別のための特徴データとする場合を示す。スコアを計算した際に、第１判別処理の処理結果を利用しないため、第２判別処理は第１判別処理の処理結果に依存しない。
【００４０】
【数４】
2017191571.tif 000006
ステップＳ１１５では、第１判別処理からの中止信号を受信したかどうかを判断する。中止信号を受信した場合、第２判別処理を終了させ、ステップＳ１１８に進む。中止信号を受信していない場合、ステップＳ１１６に進む。
【００４１】
ステップＳ１１６では、スコアＳ２，ｉとステップＳ１１１で読み出された閾値Ｔ２，ｉを比較する。スコアが閾値を超えない場合、通過しないと判定し、第２判別処理を終了し、ステップＳ１１８に進む。スコアが閾値を超えた場合、通過すると判定し、ステップＳ１１７に進む。第２判別処理において、最後の弱判別器２０３まで通過した場合には判別結果が成功である。
【００４２】
ステップＳ１１７では、第２判別処理のループの終了を判定する。本実施形態では、第２判別処理より第１判別処理の方が速いので、第２判別処理が終了する際に、第１判別処理は既に完了している。
【００４３】
ステップＳ１１８では、第１判別処理の処理結果と第２判別処理の処理結果を統合し、スコアと判別結果を保持する。統合が完了した後に、ステップＳ１１９に進む。
【００４４】
＜第３判別処理＞
ステップＳ１２１では、第３判別処理のループを開始する。
【００４５】
ステップＳ１２２では、第３判別処理のための第ｉ番目（ｉ：１〜Ｍ、Ｍ：弱判別器の数）の弱判別器に対応する第４パラメータ（Ｄ３，ｉ，ｊ、Ｔ３，ｉ）を読出す。本実施形態では簡単な例として、２個（Ｍ＝２）の弱判別器２０２−２０３で第２判別処理を実行する場合を示す。第４パラメータのＤ３，ｉ，ｊは第１特徴画像における座標であり、弱判別器によって異なる。第１と第３判別処理では、同じ特徴画像（第１特徴画像）から画素が参照されるので、メモリが共通であり、メモリコストを削減することができる。また、第１と第３判別処理を順番に行うため、メモリアクセスによる競合が発生しない。第４パラメータのＴ３，ｉは閾値である。第ｊ番目（ｊ：１〜Ｋ、Ｋ：弱判別器が参照する特徴画像上のデータの数）のパラメータＤ３，ｉ，ｊを式（５）に示す。Ｘ３，ｉ，ｊはＸ座標であり、Ｙ３，ｉ，ｊはＹ座標である。
【００４６】
【数５】
2017191571.tif 000007
ステップＳ１２３では、座標（Ｘ３，ｉ，ｊ，Ｙ３，ｉ，ｊ）に対応するＫ個の特徴データｆ１（Ｘ３，ｉ，ｊ，Ｙ３，ｉ，ｊ）を読み出す。
【００４７】
ステップＳ１２４では、第ｉ番目の弱判別器が対応する第５パラメータ（Ｌ３，ｉ）を読出す。第５パラメータは、特徴データ変換関数を示す情報である。第ｉ番目の弱判別器に対応する特徴データ変換関数はＬ３，ｉ（．）であり、ステップＳ１２３で読み出した特徴データを対象とするパターンらしさに相当するスコアに変換する。
【００４８】
ステップＳ１２５では、式（６）に従って第ｉ番目の弱判別器のスコアＳ３，ｉを特徴データ変換関数とオフセットＳ０で算出する。説明のため、ここでは簡単な例として、第１特徴画像の二点（Ｋ＝２）を参照し（ｊ＝１，２）、その値を弱判別のための特徴データとする場合を示す。第１と第２判別処理の判別結果を利用する場合には、判別処理オフセットＳ０はＳ１１８で保持されたスコアであり、第３判別処理は第１と第２判別処理の処理結果に依存する。第１と第２判別処理の判別結果を利用しない場合には、オフセットＳ０は定数であり、第３判別処理は第１と第２判別処理の処理結果に依存しない。
【００４９】
【数６】
2017191571.tif 000008
ステップＳ１２６では、スコアＳ３，ｉとステップＳ１２２で読み出された閾値Ｔ３，ｉを比較する。閾値を超えない場合、通過しないと判定し、第３判別処理を終了させ、ステップＳ１２８に進む。閾値を超えた場合、通過すると判定し、ステップＳ１２７に進む。第３判別処理において、最後の弱判別器２０５まで通過した場合には、第３判別処理の判別結果が成功であり、入力画像に所定パターンが存在すると判別する。
【００５０】
ステップＳ１２７では、第３判別処理のループの終了を判定する。
【００５１】
＜第１・第２判別処理における処理時間の説明＞
図３に、第１判別処理の判別結果が不成功であり、入力画像に所定パターンが存在しない場合の例を示す。時間軸３０１は処理サイクルを示す。
【００５２】
サイクル１では、第１判別処理と第２判別処理を同時に開始し、第１パラメータ（Ｄ１，１，ｊとＴ１，１）と第２パラメータ（Ｄ２，１，ｊとＴ２，１）を読み出す。サイクル２では、第１判別処理を実行するため、第１パラメータに対応する第１特徴画像の画素を参照する。第２判別処理における弱判別器２０１を処理するため、第２パラメータに対応する第２特徴画像の画素を参照する。サイクル３では、式２に基づいて、第１特徴画像の画素を用いてスコアＳ１，１を計算する。それと同時に、第３パラメータ（Ｌ２，１）を読み出す。サイクル４では、サイクル３で計算されたスコアＳ１，１とサイクル１で読み出された閾値Ｔ１，１を比較する。それと同時に、式４に基づいて、第２特徴画像の画素と第３パラメータを用いてスコアＳ２，１を計算する。サイクル３で計算されたスコアＳ１，１が閾値Ｔ１，１を超えないと判定したため、第１判別処理の判別結果が不成功であり、第１と第２判別処理を中止させる。第１と第２判別処理を４サイクルの時間で完了することができる。
【００５３】
第１判別処理の判別結果が成功である確率が低ければ低いほど、４サイクルの時間で全ての判別処理が完了する可能性が高い。
【００５４】
図４に、第１判別処理の判別結果と第２判別処理の判別結果が両方とも成功である例を示す。時間軸４０１は処理サイクルを示す。
【００５５】
サイクル１からサイクル３までの処理は図３と同じである。サイクル４では、サイクル３で計算されたスコアＳ１，１とサイクル１で読み出された閾値Ｔ１，１を比較する。それと同時に、式４に基づいて、第２特徴画像の画素と第３パラメータを用いてスコアＳ２，１を計算する。サイクル３で計算されたスコアＳ１，１が閾値Ｔ１，１を超えたと判定したため、第１判別処理の判別結果が成功であり、第１判別処理と第２判別処理を中止させない。サイクル５では、サイクル４で計算されたスコアＳ２，１とサイクル１で読み出された閾値Ｔ２，１を比較する。スコアＳ２，１が閾値Ｔ２，１を超えたと判定したため、第２判別処理の弱判別器２０２を処理する。
【００５６】
サイクル６では、第１判別処理は待機状態である。第２判別処理を継続し、第２パラメータ（Ｄ２，２，ｊとＴ２，２）を読み出す。サイクル７では、第２判別処理の弱判別器２０３を処理するために、第２パラメータに対応する第２特徴画像の画素を参照する。サイクル８では、第３パラメータ（Ｌ２，２）を読み出す。サイクル９では、式４に基づいて、第２特徴画像の画素を用いてスコアＳ２，２を計算する。サイクル１０では、サイクル９で計算されたスコアＳ２，２とサイクル６で読み出された閾値Ｔ２，２を比較する。スコアＳ２，２が閾値Ｔ２，２を超えたと判定したため、第２判別処理の判別結果が成功である。第１と第２判別処理を１０サイクルの時間で完了できる。サイクル１１以降は第３判別処理を実行する。
【００５７】
本実施形態では、第１判別処理と第２判別処理を同時に実行することによって処理時間を短縮する。また、第１判別処理が中止した時点で第２判別処理を停止させるため、次の入力画像による判別処理を直ちに開始することができ、演算装置の利用効率が向上する。また、第１と第３判別処理のための第１特徴画像は共通のメモリに保持されているため、メモリコストを削減することができる。
【００５８】
＜パターン判別装置の構成例＞
図５は、本実施形態によるパターン判別を実現可能なパターン判別装置の一構成例を示すブロック図である。
【００５９】
データ保存部５０２は、画像データを保持する部分である。データ保存部５０２は、通常はハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＣＤ−ＲやＤＶＤ、メモリーカード、ＣＦカード、スマートメディア、ＳＤカード、メモリスティック、ｘＤピクチャーカード、ＵＳＢメモリ等で構成される。データ保存部５０２には、画像データの他にも、プログラムやその他のデータを保存することも可能である。あるいは、後述するＲＡＭ５０７の一部をデータ保存部７０２として用いるのであっても良い。またあるいは、後述する通信部５０３により接続した先の機器の記憶装置を、通信部５０３を介して利用するというように仮想的に構成するのであっても良い。
【００６０】
表示部５０４は、画像処理前や画像処理後の画像を表示、あるいはＧＵＩ等の画像を表示する装置で、一般的にはＣＲＴや液晶ディスプレイなどが用いられる。あるいは、ケーブル等で接続された装置外部のディスプレイ装置であっても構わない。
【００６１】
入力部５０１は、ユーザーからの指示やデータを入力する装置で、キーボードやポインティング装置やボタン等を含む。
【００６２】
また、あるいは公知のタッチスクリーン装置のように、表示部５０４と入力部５０１が同一装置であっても良い。その場合に、タッチスクリーンによる入力を入力部５０１の入力として扱う。
【００６３】
ＣＰＵ５０５と判別処理部５０８は、本実施形態に係る主要な処理（ステップＳ１０１−Ｓ１２７）を実行すると共に本装置全体の動作を制御する。ＲＯＭ５０６とＲＡＭ５０７は、その処理に必要なプログラム、データ、作業領域などをＣＰＵ５０５に提供する。後述する処理に必要なプログラムがデータ保存部５０２に格納されている場合や、ＲＯＭ５０６に格納されている場合には、一旦ＲＡＭ５０７に読み込まれてから実行される。またあるいは通信部５０３を経由して装置がプログラムを受信する場合には、一旦データ保存部５０２に記録した後にＲＡＭ５０７に読み込まれるか、直接通信部５０３からＲＡＭ５０７に直接読み込まれてから実行される。
【００６４】
ＣＰＵ５０５で、指令を判別処理部５０８に送る。判別処理部５０８で、ＲＡＭ５０７に書き込まれた画像データを読み出して本実施形態に係るパターン判別を実行し、その判別結果を再びＲＡＭ５０７に書き込む。パターン判別の結果に基づき、画像処理または画像認識をＣＰＵ５０５で行う。ＣＰＵ５０５により処理された画像認識の結果は、ＲＡＭ５０７に保存されるか、通信部５０３を介して外部装置に送信される。
【００６５】
なお、図５においては、ＣＰＵが１つのＣＰＵ５０５だけである構成だが、これを複数設けるような構成にしても良い。判別処理部５０８の構成とその中の並列弱判別器処理部６０４の構成をそれぞれ図６と図７に示す。ＣＰＵ５０５の指令に基づいて、特徴画像生成部６０１、制御部６０３、並列弱判別器処理部６０４が動作する。
【００６６】
通信部５０３は、機器間の通信を行うためのＩ／Ｆである。なお、図５では入力部５０１、データ保存部５０２、表示部５０４が全て１つの装置内に含まれるような図を示しているが、あるいはこれらの部分が公知の通信方式による通信路で接続されており、全体としてこのような構成となっているのであっても構わない。
【００６７】
装置のシステム構成については、上記以外にも様々な構成要素が存在するが、本発明の主眼ではないのでその説明は省略する。
【００６８】
（他の実施形態）
第１の実施形態では、入力画像と特徴画像（２次元データ・２次元配列）に対し、パターン判別を行うという例について説明したが、任意次元の入力データ列と任意次元の特徴データ列でも良い。
【００６９】
第１の実施形態では、第１判別処理において弱判別器が１個ある例について説明したが、１個の弱判別器に限定される訳でなく、任意個の弱判別器であっても良い。ただし、第２判別処理の処理時間より、第１判別処理の処理時間の方が短いことを前提とする。図８にＭ個の弱判別器８０１−８０５がカスケード接続される判別処理の論理構造を示す。
【００７０】
第１の実施形態では、第２判別処理において２個の弱判別器がカスケード接続される例について説明したが、２個の弱判別器に限定される訳でなく、任意個の弱判別器であっても良い。図８にＮ個の弱判別器８０６−８１０がカスケード接続される判別処理の論理構造を示す。
【００７１】
第１の実施形態では、第３判別処理において２個の弱判別器がカスケード接続される例について説明したが、２個の弱判別器に限定される訳でなく、任意個の弱判別器であっても良い。図８にＰ個の弱判別器８１１−８１５がカスケード接続される判別処理の論理構造を示す。
【００７２】
第１の実施形態では、第１判別処理の判別結果に基づいて第２判別処理を強制的に終了させる例について説明した。しかしながら、第１判別処理と第２判別処理の中で、処理時間が一番短い判別処理の判別結果に基づいて第１判別処理と第２判別処理を強制的に終了させても良い。
【００７３】
第１の実施形態では、２種類の判別処理（第１判別処理と第２判別処理）を同時に開始する例について説明したが、２種類に限定される訳でなく、３種類以上であっても良い。
【００７４】
第１の実施形態では、１枚の入力画像を用いて２枚の特徴画像を生成する例について説明したが、１枚の入力画像に限定される訳でなく、複数枚の画像または動画像でも良い。
【００７５】
第１の実施形態では、１枚の入力画像を用いて２枚の特徴画像を生成する例について説明したが、２枚の特徴画像に限定される訳でなく、３枚（第１−３特徴画像）または３枚以上の特徴画像でも良い。また、第３判別処理では、第１特徴画像が参照される例について説明したが、第１特徴画像に限定される訳でなく、第２又は第３特徴画像でも良い。
【００７６】
第１の実施形態では、第１パラメータは式（１）で表されるＸ１，ｉ，ｊ，Ｙ１，ｉ，ｊについて説明したが、１枚の画像の座標に限定される訳でなく、複数枚の画像の座標または動画像を処理する際の時系列空間の複数組の座標であっても良い。
【００７７】
第１の実施形態では、第２パラメータは式（３）で表されるＸ２，ｉ，ｊ，Ｙ２，ｉ，ｊについて説明したが、１枚の画像の座標に限定される訳でなく、複数枚の画像の座標または動画像を処理する際の時系列空間の複数組の座標であっても良い。第４パラメータも同様である。
【００７８】
第１の実施形態では、スコア（Ｓ１，１とＳ２，ｉ）は２組の座標と特徴データ変換関数で算出する例について説明したが、２組の座標に限定される訳でなく、複数組の座標と特徴変換関数で算出しても良い。
【００７９】
第１の実施形態では、２種類のフィルタをそれぞれ入力画像にかけ、２枚の特徴画像を生成する例について説明したが、任意の種類のフィルタを用いて任意枚の特徴画像を生成しても良い。
【００８０】
第１の実施形態では、２種類のフィルタをそれぞれ入力画像にかけ、２枚の特徴画像を生成する例について説明したが、フィルタに限定される訳でなく、任意の線形変換又は非線形変換であっても良い。また、入力画像がカラー画像の場合、各色プレーン或いはその色変換結果を特徴画像としても良い。更に、特徴画像は積分画像等であっても良い。
【００８１】
第１の実施形態では、判別処理部５０８で判別処理を実行する例について説明したが、判別処理部５０８を複数の判別処理を同時にできるマルチスレッドＣＰＵ（または複数個のＣＰＵ）に置き換えても良い。
【００８２】
以上、実施形態を詳述したが、本発明は、例えば、システム、装置、方法、コンピュータ読み取り可能なプログラムもしくは記憶媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【００８３】
更に、本発明は、ソフトウェアのプログラムをシステム或いは装置に直接或いは遠隔から供給し、そのシステム或いは装置のコンピュータが該供給されたプログラムコードを読み出して実行することによって前述した実施形態の機能が達成される場合を含む。この場合、供給されるプログラムは実施形態で図に示したフローチャートに対応したコンピュータプログラムである。
【００８４】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどとの協働で実施形態の機能が実現されてもよい。この場合、ＯＳなどが、実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される。
【符号の説明】
【００８５】
６０１  特徴画像生成部
６０２  特徴画像保持部
６０３  制御部
６０４  並列弱判別器処理部
６０５  パラメータ保持部
６０６  判別結果保持部
【図１】
2017191571.tif 000009
【図２】
2017191571.tif 000010
【図３】
2017191571.tif 000011
【図４】
2017191571.tif 000012
【図５】
2017191571.tif 000013
【図６】
2017191571.tif 000014
【図７】
2017191571.tif 000015
【図８】
2017191571.tif 000016