(57)【要約】【課題】  検出精度を維持しつつ、より低コストに被写体検出処理を行えるようにすること。【解決手段】  画像入力部（１２）と、画像入力部から入力された画像から所定の認識対象を検出する被写体検出部（１３）とからなる画像処理装置であって、被写体検出部は、基準データを保持する基準データ保持部（２２）と、学習済みデータを保持する学習済みデータ保持部（２４）と、検出する特徴の種類と変換量とに基づいて、基準データ保持部と学習済みデータ保持部のいずれかを選択する選択部（２１）と、前記変換量に基づいて、基準データ保持部に保持された基準データを変換する基準データ変換部（２３）とを有し、選択部が基準データ保持部を選択した場合は、基準データ変換部が変換したデータを用いて、また、選択部が学習済みデータ保持部を選択した場合は、学習済みデータを用いて前記特徴を検出し、該検出した特徴に基づいて前記認識対象を検出する。【選択図】  図２
2007072530.tif 000002
【特許請求の範囲】
【請求項１】
画像入力手段と、前記画像入力手段から入力された画像から所定の認識対象を検出する検出手段とからなる画像処理装置であって、
前記検出手段は、
基準データを保持する第１の保持手段と
学習済みデータを保持する第２の保持手段と、
検出する特徴の種類と変換量とに基づいて、前記第１の保持手段と前記第２の保持手段のいずれかを選択する選択手段と、
前記変換量に基づいて、前記第１の保持手段に保持された基準データを変換する変換手段と
を有し、前記選択手段が前記第１の保持手段を選択した場合は、前記変換手段が変換したデータを用いて、また、前記選択手段が前記第２の保持手段を選択した場合は、前記学習済みデータを用いて前記特徴を検出し、該検出した特徴に基づいて前記認識対象を検出することを特徴とする画像処理装置。
【請求項２】
前記検出手段は、所定の階層的処理により前記認識対象を検出し、前記選択手段は前記所定の階層的処理で検出する特徴毎に、前記第１の保持手段または前記第２の保持手段のいずれかを選択することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記選択手段は、前記所定の階層的処理で検出する各特徴の種類と変換量とに基づいて、前記第１の保持手段と前記第２の保持手段のいずれかを選択することを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記選択手段は、前記所定の階層的処理で検出する各特徴毎に、各特徴の種類と変換量を用いて予め検出した結果から決定した選択基準に基づいて、前記第１の保持手段と前記第２の保持手段のいずれかを選択することを特徴とする請求項２に記載の画像処理装置。
【請求項５】
前記変換手段は複数の異なる変換方法により変換を行うことが可能であり、前記変換量に基づいて前記変換方法のいずれかを選択し、選択した前記変換方法により、前記第１の保持手段に保持された基準データを変換することを特徴とする請求項１乃至４のいずれかに記載の画像処理装置。
【請求項６】
撮像装置であって、請求項１乃至５のいずれかに記載の画像処理装置を有し、前記検出手段により検出された被写体に基づいて撮像パラメータを求め、当該撮像パラメータを用いて画像を撮影することを特徴とする撮像装置。
【請求項７】
基準データを保持する第１の保持手段と、学習済みデータを保持する第２の保持手段とを有する画像処理装置における画像処理方法であって、
画像入力工程と、
検出する特徴の種類と変換量とに基づいて、前記第１の保持手段と前記第２の保持手段のいずれかを選択する選択工程と、
前記選択工程で前記第１の保持手段が選択された場合に、前記変換量に基づいて、前記第１の保持手段に保持された基準データを変換する変換工程と、
前記選択工程で前記第１の保持手段を選択した場合は、前記変換工程で変換したデータを用いて、また、前記選択工程で前記第２の保持手段を選択した場合は、前記学習済みデータを用いて、前記画像入力工程で入力された画像から前記特徴を検出し、該検出した特徴に基づいて前記認識対象を検出する検出工程と
を有することを特徴とする画像処理方法。
【請求項８】
前記検出工程では、所定の階層的処理により前記認識対象を検出し、前記選択工程では前記所定の階層的処理で検出する特徴毎に、前記第１の保持手段または前記第２の保持手段のいずれかを選択することを特徴とする請求項７に記載の画像処理方法。
【請求項９】
前記選択工程では、前記所定の階層的処理で検出する各特徴の種類と変換量とに基づいて、前記第１の保持手段と前記第２の保持手段のいずれかを選択することを特徴とする請求項８に記載の画像処理方法。
【請求項１０】
前記選択工程では、前記所定の階層的処理で検出する各特徴毎に、各特徴の種類と変換量を用いて予め検出した結果から決定した選択基準に基づいて、前記第１の保持手段と前記第２の保持手段のいずれかを選択することを特徴とする請求項８に記載の画像処理方法。
【請求項１１】
前記変換工程では複数の異なる変換方法により変換を行うことが可能であり、前記変換量に基づいて前記変換方法のいずれかを選択し、選択した前記変換方法により、前記第１の保持手段に保持された基準データを変換することを特徴とする請求項７乃至１０のいずれかに記載の画像処理方法。
【請求項１２】
請求項７乃至１１のいずれかに記載の画像処理方法を実現するためのプログラムコードを有することを特徴とする情報処理装置が実行可能なプログラム。
【請求項１３】
請求項１２に記載のプログラムを記憶したことを特徴とする情報処理装置が読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力画像中の被写体を検出する画像処理装置及び方法、及び撮像装置に関し、特に、被写体の回転やサイズ変動に対応して被写体を検出する画像処理装置及び方法、及び撮像装置に関するものである。
【背景技術】
【０００２】
従来より、画像認識や音声認識の分野においては、特定の認識対象に特化した認識処理アルゴリズムをコンピュータソフト、或いは専用並列画像処理プロセッサを用いたハードウェアにより実行するものが知られている。そして実行される認識処理アルゴリズムは、認識対象及び背景を含む画像から、認識対象を検出する。
【０００３】
特に、顔を特定の認識対象として検出するものとしては、例えば、特許文献１〜５に開示されているものがある。
【０００４】
特許文献１では、入力画像に対して、標準顔と呼ばれるテンプレートを使って顔領域を探索し、その後、眼、鼻孔、口といった特徴点候補に対して、部分テンプレートを使用して、人物を認証する。
【０００５】
特許文献２では、顔画像から眼と口候補群を求め、それらを組み合わせた顔候補群と予め記憶してある顔構造とを照合し、眼と口に対応する領域を発見する。この技術においては、入力画像中の顔の数は１つもしくは少数であり、また顔の大きさもある程度大きなサイズであることを想定している。つまり、ほとんどの領域が顔であって、背景が少ない画像が入力画像として想定されている。
【０００６】
特許文献３では、眼、鼻、口候補をそれぞれ複数求め、予め用意されている特徴点間の位置関係から、顔を検出する。
【０００７】
特許文献４では、顔の各部品の形状データと入力画像との一致度を調べる際に形状データを変更させ、また、各顔部品の探索領域は、以前に求めた部品の位置関係を基に決定する。この技術では、虹彩、口、鼻等の形状データを保持しておき、まず２つの虹彩を求め、続いて口、鼻等を求める際に、その虹彩の位置に基づいて、口、鼻等の顔部品の探索領域を限定する。つまり、このアルゴリズムでは、虹彩（眼）、口、鼻といった顔を構成する顔部品を並列的に検出するのではなく、虹彩（眼）を最初に見つけ、その結果を使用して、順に口、鼻という顔部品を検出している。
【０００８】
特許文献５では、複数の判定要素取得領域を設定した領域モデルを入力画像中で移動させ、各移動先の位置で、それら判定要素取得領域内で判定要素の有無を判定し、顔を認識する。
【０００９】
また、デジタルカメラやセキュリティカメラへの応用を考えた場合、画像中の顔の位置やサイズ、回転に依存しない検出方法が望まれており、そのため、いくつかの手法が提案されている。例えば、非特許文献１では、次のような神経回路網が開示されている。まず、サイズ変動に対応するために、入力画像を離散的に解像度変換した画像から特定の大きさの領域を切り出す。さらに、面内回転に対応するために、検出器の前半にRouter Networkと呼ばれる回転角度を検出する神経回路網を使用して、切り出された画像の回転角度を求める。神経回路網は、更に、その検出された角度に基づいて切り出された画像を変換した後、基準角度の時の顔を検出する。
【００１０】
この他にも、以下のような方法で検出することが可能である。まず、顔のサイズや面内回転に対応するために、基準のサイズかつ基準の角度の検出が可能な基準検出器に対して、入力画像の解像度を変換する。さらに、様々な回転角度で変換した画像を複数用意し、それら複数の画像に対して基準検出器を用いて検出する。また反対に、特定のサイズかつ特定の回転量の顔が検出できる検出器を複数種類用意し、それら複数の検出器を用いて、入力画像に対して検出を行うことも可能である。
【００１１】
【特許文献１】特開平９−２５１５３４号公報
【特許文献２】特許２７６７８１４号公報
【特許文献３】特開平９−４４６７６号公報
【特許文献４】特許２９７３６７６号公報
【特許文献５】特開平１１−２８３０３６号公報
【非特許文献１】“Rotation Invariant Neural Network-Based Face Detection”, H.A.Rowley, S.Baluja, T.Kanade, 1998, Computer Vision and Pattern Recognition (CVPR ’98)
【発明の開示】
【発明が解決しようとする課題】
【００１２】
しかしながら、特許文献１〜５に記載の従来例に示す方法では、回転に対応するには入力画像を回転させるか、各特徴を検出する際に使用するテンプレートやモデルを回転に応じて用意する、または回転させて使用することになる。入力画像を回転させると、画像サイズが大きな場合は、回転処理に時間がかかることになる。また、各特徴を検出する際に使用するテンプレートやモデルを回転に応じて用意すると、回転の間隔によっては膨大な数のテンプレートやモデルを用意する必要がある。また、各特徴を検出する際に使用するテンプレートやモデルを回転させて利用すると、回転角度によっては検出精度が劣化することがある。
【００１３】
また、非特許文献１に示す方法では、Router Networkで検出した回転量が誤っている場合は、切り出された画像中の顔の角度が基準角度と異なることになってしまう。
【００１４】
また、複数の検出器を用いる構成では、多くのメモリを必要とし、装置構成が複雑化し、装置のコストが大きくなってしまうという問題があった。
【００１５】
本発明は上記問題点を鑑みてなされたものであり、検出精度を維持しつつ、より低コストに被写体検出処理を行えるようにすることを目的とする。
【課題を解決するための手段】
【００１６】
上記目的を達成するために、画像入力手段と、前記画像入力手段から入力された画像から所定の認識対象を検出する検出手段とからなる本発明の画像処理装置は、前記検出手段は、基準データを保持する第１の保持手段と学習済みデータを保持する第２の保持手段と、検出する特徴の種類と変換量とに基づいて、前記第１の保持手段と前記第２の保持手段のいずれかを選択する選択手段と、前記変換量に基づいて、前記第１の保持手段に保持された基準データを変換する変換手段とを有し、前記選択手段が前記第１の保持手段を選択した場合は、前記変換手段が変換したデータを用いて、また、前記選択手段が前記第２の保持手段を選択した場合は、前記学習済みデータを用いて前記特徴を検出し、該検出した特徴に基づいて前記認識対象を検出する。
【００１７】
また、基準データを保持する第１の保持手段と、学習済みデータを保持する第２の保持手段とを有する画像処理装置における本発明の画像処理方法は、画像入力工程と、検出する特徴の種類と変換量とに基づいて、前記第１の保持手段と前記第２の保持手段のいずれかを選択する選択工程と、前記選択工程で前記第１の保持手段が選択された場合に、前記変換量に基づいて、前記第１の保持手段に保持された基準データを変換する変換工程と、前記選択工程で前記第１の保持手段を選択した場合は、前記変換工程で変換したデータを用いて、また、前記選択工程で前記第２の保持手段を選択した場合は、前記学習済みデータを用いて、前記画像入力工程で入力された画像から前記特徴を検出し、該検出した特徴に基づいて前記認識対象を検出する検出工程とを有する。
【発明の効果】
【００１８】
本発明によれば、検出精度を維持しつつ、より低コストに被写体検出処理を行うことが可能になる。
【発明を実施するための最良の形態】
【００１９】
以下、添付図面を参照して本発明を実施するための最良の形態を詳細に説明する。
【００２０】
＜第１の実施形態＞
図１は本発明の第１の実施形態における画像処理装置の機能構成を示す図である。図１中、１１は制御部、１２は画像入力部、１３は被写体検出部、１４は被写体検出結果保持部、１５は結果統合部を示す。
【００２１】
制御部１１は、このシステム全体の制御を行う手段であり、画像入力部１２、被写体検出部１３、被写体検出結果保持部１４、結果統合部１５と接続されており、各部が適切なタイミングで動作するように制御する。画像入力部１２は、制御部１１からの制御信号に基づいて画像を入力し、入力した画像を被写体検出部１３に出力する。
【００２２】
被写体検出部１３は、画像入力部１２から入力された画像に対して、制御部１１から入力される変換量に基づいて、検出すべき特徴を順に検出し、当該検出した特徴に基づいて、最終的に入力された変換量に対応した被写体（認識対象）を検出する処理を行う。なお変換量は、サイズ変動の割合及び回転角度を含み、検出処理に使用するデータを選択及び変換する際に使用する値である。例えば回転であれば、45度、90度等の値が相当する。被写体検出部１３は検出処理を行って、画像中の被写体の有無を検出し、そして、被写体が存在する場合には、その数、位置、大きさ、回転量を検出する。そして、その検出結果を被写体検出結果保持部１４へ出力する。なお、被写体検出部１３の詳細構成及び処理は、詳細に後述する。
【００２３】
被写体検出結果保持部１４は、被写体検出部１３の検出結果を一時的に保持し、制御部１１の制御信号に基づいて、その保持された結果を結果統合部１５へ出力する。
【００２４】
結果統合部１５は、被写体検出部１３で検出された複数の被写体検出結果を統合して、最終的な検出結果として出力する。この統合処理としては様々な処理の方法が考えられる。その、一例として、全ての検出結果の内、所定の閾値以上のものを被写体と設定する。
【００２５】
図２は、被写体検出部１３の構成を示す図である。図２において、２１は選択部、２２は基準データ保持部、２３は基準データ変換部、２４は学習済みデータ保持部、２５は検出処理部、２６は中間結果保持部である。
【００２６】
選択部２１は、制御部１１から入力される変換量を示すデータ（変換量データ）と検出する特徴の種類を指示するデータ（特徴データ）とから、変換量と検出する特徴の種類を判断する。そして、この判断結果に基づいて、基準データ保持部２２（即ち、基準データ保持部２２に保持されている基準データ）と、学習済みデータ保持部２４（即ち、学習済みデータ保持部２４に保持されている学習済みデータ）のいずれかを選択する。
【００２７】
基準データ保持部２２と学習済みデータ保持部２４は共に、検出処理部２５で検出処理を行う際に使用するデータを保持している。基準データ保持部２２は基準となるデータを保持しており、基本的に、基準データ変換部２３において、基準データ保持部２２が保持するデータを、制御部１１から入力される変換量に基づいて変換して、検出処理部２５で使用する。一方、学習済みデータ保持部２４が保持するデータは変換せずに、そのまま検出処理部２５で使用する。
【００２８】
検出処理部２５は、基準データ変換部２３で変換されたデータまたは学習済みデータ保持部２４が保持するデータを使用して、画像入力部１から入力された画像から、制御部１１から特徴データによって指示された種類の特徴を検出する。そして、特徴の検出結果は、中間結果保持部２６に保持される。
【００２９】
この検出処理部２５で行う処理について図３を用いて説明する。ここでは、検出する被写体を顔として説明するが、本発明は被写体が顔である場合に限定されるものではない。
【００３０】
図３は、局所特徴を階層的に検出し、その検出結果を統合し、次の階層の局所特徴を検出する、という処理を繰り返して、最終的に被写体である顔を検出する動作を、模式的に示すものである。最初にプリミティブな特徴である１次特徴を検出し、その１次特徴の検出結果（検出レベルと位置関係）を用いて２次特徴を検出する。そして、２次特徴の検出結果を用いて３次特徴を検出し、最後にその３次特徴の検出結果を用いて４次特徴である顔を検出する。
【００３１】
図３（ａ）に検出すべき１次特徴の例を示す。最初に、縦特徴１０１、横特徴１０２、右上がり斜め特徴１０３、右下がり斜め特徴１０４といった特徴を検出する。なお、縦特徴１０１は縦方向の、横特徴１０２は横方向の、また、右上がり斜め特徴１０３は右上がり斜め方向の、右下がり斜め特徴１０４は右下がり斜め方向のエッジセグメントを表す。この１次特徴の検出結果は、各特徴毎に、入力画像と同等の大きさの検出結果画像という形で出力される。つまり、この例であれば４種類の検出結果画像が得られ、各特徴の検出結果画像の各位置の値から、入力画像の任意の位置に各特徴が存在するか否かを判断することができる。この検出結果は、中間結果保持部２６に一時保存される。
【００３２】
図３（ｂ）は２次特徴の例を示す。２次特徴の検出では、右空きＶ字特徴２０１、左空きＶ字特徴２０２、水平平行線特徴２０３、垂直平行線特徴２０４を検出する。この際に、右空きＶ字特徴２０１の検出は、中間結果保持部２６に一時保存された右上がり斜め特徴１０３と右下がり斜め特徴１０４の検出結果を利用して行われる。また、左空きＶ字特徴２０２の検出は、右下がり斜め特徴１０４と右上がり斜め特徴１０３の検出結果を利用して行われる。また、水平平行線特徴２０３の検出は横特徴１０２の検出結果を、垂直平行線特徴２０４の検出は縦特徴１０１の検出結果をそれぞれ利用して行われる。１次特徴の検出結果と同様に、この２次特徴の検出結果は各特徴毎に入力画像と同等の大きさの検出結果画像という形で出力され、中間結果保持部２６に一時保存される。つまり、この例であれば４種類の検出結果画像が得られる。
【００３３】
図３（ｃ）は３次特徴の例を示す。３次特徴の検出では、眼特徴３０１、口特徴３０２を検出する。この際に、眼特徴３０１の検出は、中間結果保持部２６に一時保存された右空きＶ字特徴２０１と左空きＶ字特徴２０２と水平平行線特徴２０３と垂直平行線特徴２０４の検出結果を利用して行われる。また、口特徴３０２の検出は、右空きＶ字特徴２０１と左空きＶ字特徴２０２と水平平行線特徴２０３の検出結果を利用して行われる。ここでも、３次特徴の検出結果は各特徴毎に入力画像と同等の大きさの検出結果画像という形で出力され、中間結果保持部２６に一時保存される。つまり、この例であれば２種類の検出結果画像が得られる。
【００３４】
図３（ｄ）は４次特徴の例を示す。４次特徴の検出では、顔特徴４０１を検出する。この際に、中間結果保持部２６に一時保存された眼特徴３０１と口特徴３０２の検出結果を利用して検出を行う。
【００３５】
上記のように、検出処理部２５では、まずプリミティブな局所特徴を検出し、さらにその検出結果を用いることで、階層的に局所特徴を検出し、最終的に被写体である顔を検出する。
【００３６】
上記の検出手法を並列階層処理により画像認識を行う神経回路網を用いて実現することも可能である。例えば、“Convolutional Spiking Neural Network Model for Robust Face Detection”, M.Matsugu,K.Mori,et.al, 2002,Internatinal Conference On Neural Information Processing (ICONIP02)に記述がされている。ここで、図４を参照して神経回路網の処理内容を簡単に説明する。この神経回路網は、入力データ中の局所領域において、対象または幾何学的特徴などの認識（検出）に関与する情報を階層的に扱うものである。その基本構造はいわゆるConvolutionalネットワーク構造(“Convolutional Networks for Images Speech, and Time Series” in Handbook of Brain Theory and Neural Networks LeCun, Y. and Bengio, Y., 1995, (M. Arbib, Ed.), MIT Press, pp.255-258)である。最終層（最上位層）では検出したい被写体の有無と、被写体が存在すればその入力データ上の位置情報が得られる。
【００３７】
データ入力層８０１は、画像データを入力する層である。最初の特徴検出層８０２(１,０)では、データ入力層８０１より入力された画像パターンの局所的な低次の特徴を、全画面の各位置を中心とした局所領域において、同一箇所で複数のスケールレベル又は解像度で複数の特徴カテゴリの数だけ検出する。なお、全画面の各位置を中心とした局所領域は、全画面にわたる所定のサンプリング点の各点を中心とする局所領域であってもよい。また、局所的な低次の特徴は、特定方向成分、特定空間周波数成分などの幾何学的特徴の他、色成分特徴を含んでもよい。
【００３８】
特徴統合層８０３(２,０)は、所定の受容野構造を有し、特徴検出層８０２(１,０)からの同一受容野内にある複数のニューロン素子出力の統合（局所平均化、最大出力検出等によるサブサンプリングなどの演算）を行う。なお、受容野とは直前の層の出力素子との結合範囲を意味し、受容野構造とはその結合荷重の分布を意味する。この統合処理は、特徴検出層８０２(１,０)からの出力を空間的にぼかすことで、位置ずれや変形などを許容する役割を有する。また、特徴統合層内のニューロンの各受容野は同一層内のニューロン間で共通の構造を有している。
【００３９】
上述した各層と同様に、後続の層である各特徴検出層８０２（（１,１）、(１,２)、…、(１,Ｎ)）は、各特徴検出モジュールにおいて複数の異なる特徴の検出を行う。また、同じく後続の層である各特徴統合層８０３（(２,１)、(２,２)、…、(２,N)）は、前段の特徴検出層からの複数特徴に関する検出結果の統合を行う。但し、前者の特徴検出層は同一チャネルに属する前段の特徴統合層の細胞素子出力を受けるように結合（配線）されている。特徴統合層で行う処理であるサブサンプリングは、同一特徴カテゴリの特徴検出細胞集団からの局所的な領域（当該特徴統合層ニューロンの局所受容野）からの出力についての平均化などを行うものである。
【００４０】
図３に示した各特徴を検出するために、図４の各特徴検出層の検出に使用する受容野構造をその特徴を検出するためのものにすることで、各特徴の検出可能となる。
【００４１】
また、最終層の顔検出層における顔の検出用として、各サイズや各回転量に適した受容野構造を用意してもよい。その場合、顔特徴の検出において、顔が存在するという結果を得たときにどの受容野構造を用いて検出したかによって、その顔の大きさや向き等の顔データを得ることができる。
【００４２】
検出処理部２５が上記の神経回路網で構成されている場合、図２に示す各構成は、以下の機能を有することになる。
【００４３】
基準データ保持部２２及び学習済みデータ保持部２４に保持されているデータは、図４の各特徴検出層の検出に使用する受容野構造に相当し、図３に示す各特徴を検出するために使用される。
【００４４】
また、図３、図４を参照して説明したように、検出処理部２５では、後段の階層の各特徴を検出するために、前段の階層の検出結果を使用する。そのため、中間結果保持部２６には、各階層の各局所特徴の検出結果が保持され、さらに後段の階層の各特徴の検出を行う際に使用される。
【００４５】
本発明では、被写体の回転やサイズに対応した検出のために、上記各特徴を検出する際に使用するデータを大きく２つに分類している。１つは基準の受容野構造であって、回転やサイズの変動に対応する際には、その基準の受容野構造を変換して対応する。もう一つは、既定の回転やサイズの変動に対応する受容野構造である。この分類は、検出する各特徴に依存するだけではなく、回転やサイズの変換量にも依存する。例えば、同じ基準データに対しても、回転量が数度と小さければ、基準データを変換して作成した受容野構造を使用しても検出精度の劣化を抑えて検出ができるかもしれないが、数十度になると、検出精度が大きく劣化する可能性がある。また、同じ回転量でも、検出する特徴によっては、低周波が多く、回転の影響を受けにくく、検出精度の劣化が抑えられることもある。また、アプリケーションによって、必要な検出精度が異なるということもあり、この設定は基本的には、予め検証用の画像を使って、検出精度が所望の値になるように設定しておくのが望ましい。
【００４６】
そこで、本実施の形態では、図５に示すようなテーブルT100を予め作成し、選択部２１は、このテーブルT100を使用する。テーブルT100は、変換量と検出する特徴の種類に対して、検出に使用するデータを示している。図５に示すテーブルT100の例では、例えば、特徴の種類を示す特徴番号が０番で、変換量がサイズ0.5倍、回転0.0度の時は、選択部２１は基準データ保持部２２に保持されているデータを選択する。また、特徴番号が０番で、変換量がサイズ0.7倍、回転45.0度の時は、選択部２１は学習済みデータ保持部２４に保持されているデータを選択する。このように、選択部２１は、制御部１１から入力される変換量と検出する特徴の種類と、このテーブルT100を使用して、基準データ保持部２２に保持されているデータと学習済みデータ保持部２４に保持されているデータのいずれかから、検出に使用するデータを選択する。
【００４７】
ここで、図６を使用して、このテーブルの作成方法について説明する。
【００４８】
図６は、特徴の種類及び変換量に応じて選択するデータを決めるために用いられる、図５に示すようなテーブルを作成するためのフローチャートである。なお、予め、検出する特徴を含む画像の、変換前の画像と変換後の画像の両方を含む評価画像データベースが作成されているものとする。ここでは一例として、図３（ｂ）に示す２次特徴である右空きＶ字特徴２０１を検出する特徴とし、変換量は、基準データに対して、相対的にサイズ1.0倍、回転＋30.0度とする。
【００４９】
ステップＳ３０１で、検出する特徴用の基準データを設定する。この基準データは、サイズ1.0倍、回転0.0度の変換量の時のデータとする。
【００５０】
ステップＳ３０２で、基準データを変換する。変換は、例えばアフィン変換を使用する。受容野構造の重み係数値を小画像の輝度値（負も含む）とみなして計算する。受容野の水平方向の軸をＸ軸、垂直方向の軸をＹ軸、受容野に垂直な方向をＺ軸とし、Ｘ軸、Ｙ軸、Ｚ軸それぞれの軸回りの回転角を（ψ、φ、θ）とする。アフィン変換後の対応する座標を（Xa, Ya）、アフィン変換前の座標を（Xb, Yb）とすると、前の画像に対して、後の画像が、θ回転、（dx, dy）平行移動、ｍ倍拡大したとすると、
Xa=(cosθ・Xb＋sinθ・Yb−dx)・ｍ＝A・Xb＋B・Yb＋C      …（１）
Ya=（−sinθ・Xb＋cosθ・Yb−dy）・ｍ＝−B・Xb＋A・Yb＋D  …（２）
【００５１】
（ただし、A=ｍ・cosθ、B=ｍ・sinθ、C＝−ｍ・dx、D=−ｍ・dy）
となる。
このとき、Xa、Yaは実数値になり、周囲４点の重み係数値から、その点の重み係数値を作成する。例えば、線形補間により作成することができる。このように、ステップＳ３０２では、変換した受容野構造をアフィン変換を利用して作成する。なお、今回の変換量は、基準データに対して相対的にサイズ1.0倍、回転＋30.0度で、サイズの変更は不要なので、回転のみの変換となる。
【００５２】
次に、ステップＳ３０３で評価画像データベースから１枚画像を入力する。
【００５３】
ステップＳ３０４において、入力された評価画像について、変換前画像に対しては基準データを用いて、変換後画像に対してはステップＳ３０２で変換された変換データを用いて、それぞれ検出を行う。
【００５４】
ステップＳ３０５で、基準データと変換データを用いて検出した検出値の比較を行う。具体的には、次式を使用して比較を行う。
Ei  =  ‖Out_T  ー  Out_B‖      …（３）
【００５５】
（Ei：ある評価画像での検出結果値の差の絶対値、Out_B：基準データを使用したときの検出結果値、Out_T：変換データを使用したときの検出結果値）
ステップＳ３０６では、評価画像データベース中の既定枚数の画像に対して、評価が終了したか判定し、終了していなければステップＳ３０３に戻って上記処理を繰り返し、終了していれば、次のステップＳ３０７に進む。
【００５６】
ステップＳ３０７では、既定枚数の評価画像に対する、基準データと変換データの評価を行う。具体的には、以下の式を用いて、既定枚数の評価画像に対する、基準データと変換データの評価を行う。
E  =  ΣEi      …（４）
【００５７】
（E：既定枚数の評価画像に対する検出結果値の差の絶対値和）
そして、
E  ＜  Eth        …（５）
（Eth：判定しきい値）
であれば、基準データを変換処理すると判定し、
E  ≧  Eth      …（６）
であれば、評価画像データベースの画像を使用して、受容野構造を学習すると判定する。
この設定方法は、基準データを用いた場合と変換データを用いた場合とで、検出結果が大きく異なる場合は、変換ではなくその変換量に対応した学習が必要であり、反対にほぼ同じ検出結果になれば、変換しても良いということを示している。
【００５８】
なお、検出処理部２５は、階層的に特徴を検出していくため、このテーブルの作成においても、低次特徴から高次特徴へ順に設定していくのが望ましい。
【００５９】
受容野構造の学習は、１層ずつ学習するのであれば、デルタルールで学習可能であり、また複数層を一度に学習するのであれば、バックプロパゲーションが使用できる。学習方法が説明してある論文の一例として、以下の文献がある。「選択的モジュール起動を用いた Convolutional Neural Networkによる変動にロバストな顔検出システム」、御手洗、森、真継、FIT2003。
【００６０】
続いて、図１及び図２に示す構成の動作を、図７及び図８のフローチャートを用いて説明する。
【００６１】
まず、検出する全特徴の種類の数、変換する全変換量の数、及び、図６を参照して説明した図５に示すテーブルの設定を行う（ステップＳ１０１）。そしてステップＳ１０２では、制御部１１からの制御信号に基づいて画像入力部１２が画像を入力する。入力された画像は被写体検出部１３に入力される。
【００６２】
ステップＳ１０３では、実際の変換量に対応付けられたIndexを０に初期化し、ステップＳ１０４では、特徴の種類に対応付けられた特徴番号を０に初期化する。そして、ステップＳ１０５では、入力された画像に対して、被写体検出部１３で、被写体を検出する処理を行う。
【００６３】
ここで、ステップＳ１０５で行われる特徴検出処理を図８のフローチャートを用いて説明する。
【００６４】
ステップＳ２０１において、選択部２１は変換量Indexから変換量を求め、その変換量と特徴番号に基づいて、図５に示すようなテーブルT100から、選択すべきデータを決定する。
【００６５】
その選択すべきデータが、基準データ保持部２２に保持されているデータの場合は、ステップＳ２０２で、特徴番号が示す特徴を検出するための基準データを読み出す。そして、ステップＳ２０３で、変換Indexが示す変換量に従って、基準データ変換部２３は読み出した基準データを変換する。
【００６６】
一方、ステップＳ２０１で、選択すべきデータが、学習済みデータ保持部２４に保持されているデータと判断されると、ステップＳ２０４で、変換量Indexが示す変換量の時に、特徴番号が示す特徴を検出するためのデータを読み出す。
【００６７】
ステップＳ２０５では、ステップＳ２０３で基準データ変換部２３により変換されたデータまたは、ステップＳ２０４で学習済みデータ保持部２４から読み出されたデータを使用して、変換Indexが示す変換量の時に、特徴番号が示す特徴を検出する。
【００６８】
上述したようにしてステップＳ１０５の特徴検出処理が終了すると、ステップＳ１０６で、現在の変換量Indexにおいて全種類の特徴の検出が終了したかを判定する。終了していなければ、制御部１１はステップＳ１０９で特徴番号を＋１して、次の特徴番号に対応する特徴を検出する。
【００６９】
ステップＳ１０６で現在の変換量Indexにおいて全種類の特徴の検出が終了したと判断するとステップＳ１０７に進み、変換すべき全変換量が終了したか判定する。終了していなければ、制御部１１はステップＳ１１０で変換量Indexを＋１して、次の変換量Indexに対応する変換量で検出を行う。
【００７０】
ステップＳ１０７で変換すべき全変換量での検出が終了していると判断されるとステップＳ１０８に進み最終特徴である被写体を検出するべく、ステップＳ１０５の検出結果を統合する。例えば、ステップＳ１０５で検出された全ての検出結果の内、所定のしきい値以上のものを検出された被写体とする。
【００７１】
上記のように、予め検出結果に基づいて設定されたテーブルに基づいて、階層的に行う被写体の検出処理に、基準データを変換量に基づいて変換したデータを用いるか、または、当該変換量の時に特徴番号が示す特徴学習済みデータを用いるかを決定する。これにより、変換量と検出する特徴の種類に適したデータを用いて被写体の検出処理を行うことが可能になり、全変換量に対応する検出器を用意する場合と比較して、使用メモリを削減することができると共に、検出精度を維持することができる。また、画像をアフィン変換する場合と比較して、処理コストを削減することができる。
【００７２】
続いて、上記画像処理装置を撮像装置に搭載し、検出された被写体に合わせて撮影を行う場合について、図９を参照して説明する。図９は本第１の実施形態に係る画像処理装置を撮像装置に用いた場合の構成を示すブロック図である。
【００７３】
図９中の撮像装置５１は、撮影レンズおよびズーム撮影用駆動制御機構を含む結像光学系５２、ＣＣＤ又はＣＭＯＳイメージセンサー５３、撮像パラメータの計測部５４、映像信号処理回路５５、記憶部５６、撮像動作の制御、撮像条件の制御などの制御用信号を発生する制御信号発生部５７、ＥＶＦなどファインダーを兼ねた表示ディスプレイ５８、ストロボ発光部５９、記録媒体６０などを具備し、更に上述した画像処理装置を被写体検出装置６１として備える。
【００７４】
この撮像装置５１は、例えば撮像した画像中から人物の顔画像の検出（存在位置、サイズ、回転角度の検出）を被写体検出装置６１により行う。そして、その人物の位置情報等が被写体検出装置６１から制御信号発生部５７に入力されると、制御信号発生部５７は、撮像パラメータの計測部５４からの出力に基づき、その人物の画像を最適に撮影する制御信号を発生する。
【００７５】
上述した画像処理装置を、このように撮像装置に用いることで、顔検出結果に基づく画質の良い撮影を行うことができるようになる。なお、上記説明では、上述した処理装置を被写体検出装置６１として備える場合について説明したが、上述したアルゴリズムをプログラムとして実装し、ＣＰＵで動作させる処理手段として、撮像装置５１に搭載することも可能である。
【００７６】
＜第２の実施形態＞
次に、本発明の第２の実施形態について説明する。
【００７７】
第２の実施形態は、第１の実施形態で示した基準データ変換部２３で行われる変換処理を変換量に応じて変更することにより、システム全体のパフォーマンスを向上させることを目的とする。なお、本第２の実施形態で用いる画像処理装置の概略構成は図１に示すものと同様であるため、ここでは説明を省略する。ただし、被写体検出部１３の構成が図２に示すものと異なるため、以下、被写体検出部１３について説明する。
【００７８】
図１０は本第２の実施形態における被写体検出部１３の構成を示すブロック図である。図２に示した第１の実施形態の被写体検出部１３の構成と比較して、選択部３１と基準データ変換部３３が異なっている。その他は図２の構成と同様であるため、同じ参照番号を付して説明を省略する。また、本題２の実施形態では、選択部３１で参照するテーブルも図５に示すテーブルではなく、図１１に示すテーブルを使用する。図１１のテーブルは、図５のテーブルと比較して、基準データを使用する場合に、変換方法を更に指定してあるところが異なる。
【００７９】
続いて、図１０に示す被写体検出部１３の動作を、図１２のフローチャートを参照して説明する。なお、図１２に示す処理は、図７のステップＳ１０５で図８の処理の代わりに実行される。
【００８０】
ステップＳ４０１において、選択部３１は変換量Indexから変換量を求め、その変換量と特徴番号に基づいて、図１１に示すようなテーブルT400から、選択すべきデータ等を決定する。
【００８１】
その選択すべきデータが、基準データ保持部２２に保持されているデータの場合は、ステップＳ４０２で、特徴番号が示す特徴を検出するための基準データ及び変換方法を読み出す。
【００８２】
第１の実施形態では、変換処理方法としてアフィン変換を用いるものとして説明した。これに対し、本第２の実施形態では変換方法を複数用意し、その中から、各変換量においていずれの方法を用いるかを予め設定しておく。具体的には、変換量が回転90度の場合は、水平アドレスと垂直アドレスを変更して読み出すことで、実質的に受容野構造を90度回転させることができる。このように、アドレス読み出しだけでアフィン変換が実現できる場合は、図１１に示すように、アドレスの読み出しを変換方法として用いるようにする。なお、本発明で使用可能な変換方法はこれらに限るものではなく、検出する特徴の種類及び変換量に適した変換方法を適宜利用すればよい。
【００８３】
次に、ステップＳ４０３で、変換Indexが示す変換量及び変換方法に従って、基準データ変換部３３は読み出した基準データを変換する。例えば、図１１に示したテーブルにおいて、変換量がサイズ1.0倍、回転90.0度の時は、基準データとアドレス変換とが指定されているため、選択部３１は、基準データ変換部３３に、変換方法がアドレス変換という情報を送付する。すると、基準データ変換部３３は、その時の変換量を使用して、アドレス変換を行う。
【００８４】
一方、ステップＳ４０１で、選択すべきデータが、学習済みデータ保持部２４に保持されているデータと判断されると、ステップＳ４０４で、変換Indexが示す変換量の時に、特徴番号が示す特徴を検出するためのデータを読み出す。
【００８５】
ステップＳ４０５では、ステップＳ４０３で基準データ変換部３３により変換されたデータまたは、ステップＳ４０４で学習済みデータ保持部２４から読み出されたデータを使用して、変換Indexが示す変換量の時に、特徴番号が示す特徴を検出する。
【００８６】
上記の通り本第２の実施形態によれば、変換量に応じて使用するデータ及び変換方法を選択することで、より効率的に被写体の検出処理を行うことができる。
【００８７】
＜他の実施形態＞
本発明の目的は、以下の様にして達成することも可能である。まず、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体（または記録媒体）を、システムあるいは装置に供給する。そして、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行する。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００８８】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、以下のようにして達成することも可能である。即ち、読み出したプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合である。ここでプログラムコードを記憶する記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、ＲＯＭ、ＲＡＭ、磁気テープ、不揮発性のメモリカード、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＤＶＤ、光ディスク、光磁気ディスク、ＭＯなどが考えられる。また、ＬＡＮ（ローカル・エリア・ネットワーク）やＷＡＮ（ワイド・エリア・ネットワーク）などのコンピュータネットワークを、プログラムコードを供給するために用いることができる。
【図面の簡単な説明】
【００８９】
【図１】本発明の第１の実施形態における画像処理装置の構成を示すブロック図である。
【図２】本発明の第１の実施形態における被写体検出部の構成を示すブロック図である。
【図３】階層的被写体検出方法を示す模式図である。
【図４】階層的神経回路網を示す図である。
【図５】本発明の第１の実施形態における選択テーブルである。
【図６】本発明の第１の実施形態のテーブル作成処理を示すフローチャートである。
【図７】本発明の第１の実施形態における被写体検出処理を示すフローチャートである。
【図８】本発明の第１の実施形態における特徴検出処理を示すフローチャートである。
【図９】本発明の画像処理装置を備える撮像装置の構成を示すブロック図である。
【図１０】本発明の第２の実施形態における被写体検出部の構成を示すブロック図である。
【図１１】本発明の第２の実施形態における選択テーブルである。
【図１２】本発明の第２の実施形態における特徴検出処理を示すフローチャートである。
【符号の説明】
【００９０】
１１  制御部
１２  画像入力部
１３  被写体検出部
１４  被写体検出結果保持部
１５  結果統合部
２１、３１  選択部
２２  基準データ保持部
２３、３３  基準データ変換部
２４  学習済みデータ保持部
２５  検出処理部
２６  中間結果保持部
【図１】
2007072530.tif 000003
【図２】
2007072530.tif 000004
【図３】
2007072530.tif 000005
【図４】
2007072530.tif 000006
【図５】
2007072530.tif 000007
【図６】
2007072530.tif 000008
【図７】
2007072530.tif 000009
【図８】
2007072530.tif 000010
【図９】
2007072530.tif 000011
【図１０】
2007072530.tif 000012
【図１１】
2007072530.tif 000013
【図１２】
2007072530.tif 000014