[go: up one dir, main page]

JP4948379B2 - パターン識別器生成方法、情報処理装置、プログラム及び記憶媒体 - Google Patents

パターン識別器生成方法、情報処理装置、プログラム及び記憶媒体 Download PDF

Info

Publication number
JP4948379B2
JP4948379B2 JP2007326585A JP2007326585A JP4948379B2 JP 4948379 B2 JP4948379 B2 JP 4948379B2 JP 2007326585 A JP2007326585 A JP 2007326585A JP 2007326585 A JP2007326585 A JP 2007326585A JP 4948379 B2 JP4948379 B2 JP 4948379B2
Authority
JP
Japan
Prior art keywords
branch
weak
discriminator
evaluation
stages
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2007326585A
Other languages
English (en)
Other versions
JP2009151395A5 (ja
JP2009151395A (ja
Inventor
嘉則 伊藤
政美 加藤
貴久 山本
克彦 森
修 野村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2007326585A priority Critical patent/JP4948379B2/ja
Priority to US12/330,514 priority patent/US8472721B2/en
Priority to CN2008101858635A priority patent/CN101464955B/zh
Publication of JP2009151395A publication Critical patent/JP2009151395A/ja
Publication of JP2009151395A5 publication Critical patent/JP2009151395A5/ja
Application granted granted Critical
Publication of JP4948379B2 publication Critical patent/JP4948379B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/774Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/94Hardware or software architectures specially adapted for image or video understanding

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Multimedia (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • General Engineering & Computer Science (AREA)
  • Image Analysis (AREA)

Description

本発明は、画像データや音声データ等に含まれる特定のデータパターンを識別、抽出する技術に関する。
近年、パターン認識の分野において、弱判別器をカスケード接続することにより識別器を構成し、画像中の人の顔などの特定物体を検出する処理を高速に実行する手法が注目を集めている。
例えば、非特許文献1においてViolaとJonesが開示する方法では、まず矩形特徴を抽出する弱判別器を所定数カスケード接続し、ステージと呼ばれる強判別器を構成する。この弱判別器はブースティング学習アルゴリズム(特許文献1等に開示)により生成される。さらに、このステージを複数カスケード接続した構成のパターン識別器が提案されている。強判別器単位で打ち切り判定(画像中のある検出対象位置に対する処理の終了)を行いながら処理を進めることにより、早期に検出対象でないと判断された入力に対する以後の演算が行われなくなるので、全体として高速な処理が可能となる。以下にこのパターン識別法についての詳細を説明する。
非特許文献1のパターン識別器は、図8に示すように、ある特定の大きさの矩形領域(処理ウインドウ801)を処理対象となる画像800内で移動させ、各移動先の処理ウインドウ801内に人物の顔が含まれるか否かを判定する。
図9は、各移動先位置における処理ウインドウ801において、非特許文献1で行われている顔検出処理の流れを示す図である。ある処理ウインドウ内における顔検出処理は、複数のステージによって実行される。各ステージには、異なる組合せの弱判別器が割り当てられており、これらがカスケード接続で処理されることによって、強判別器となっている。各弱判別器はいわゆるHaar-like特徴を検出するもので、矩形フィルタの組合せで構成されている。図9に示すように、各ステージに割り当てられる弱判別器の数も異なっている。また、ステージ単位でもカスケード接続構成となっており、各ステージは接続された順番に従って判定処理を行う。即ち、例えば図9において、第1ステージの次に第2ステージが判定を実施し、その次に第3ステージが判定を実施する。
各ステージでは、割り当てられたパターンの弱判別器を順に用いて、処理ウインドウ内に人物の顔が含まれるか否かを判定する。あるステージにおいて、処理ウインドウ内に人物の顔が含まれないと判定された場合、それ以降のステージでは、この位置における処理ウインドウについての判定処理は実施されない。すなわち、カスケード処理は打ち切られる。そして、最後の順番のステージで人物の顔が含まれると判定された場合に、この位置における処理ウインドウ内に人物の顔が含まれるとの判定が確定する。
次に、図10のフローチャートを用いて、顔検出処理の流れを詳細に説明する。
顔検出処理では、まず処理の対象となる処理ウインドウ801が顔検出対象となる画像800上に配置される(S1001)。基本的には、この処理ウインドウは、図8に示されるように顔検出対象の画像800の端から一定間隔で縦方向及び横方向へスキャンすることによって順に網羅的に移動して選択される。例えば、顔検出対象の画像800をラスタスキャンすることによって処理ウインドウが選択される。
次に、選択された処理ウインドウについて、処理ウインドウに人物の顔が含まれるか否かの判定が実施される。この判定は、上で図9を用いて説明したように、複数のステージを用いて実施される。このため、まず判定を実施するステージが第一のものから順に選択される(S1002)。
次に、選択されたステージによって判定処理が実施される(S1003)。このステージの判定において、累積得点(累積スコア)(説明は後述)がステージごとに予め決められている閾値を超えなかった場合(S1004−NO)、処理ウインドウに人物の顔が含まれないと判定され(S1008)、S1007以降の処理が実行される。S1007以降の処理については後述する。
一方、累積スコアがステージごとにあらかじめ決められている閾値を超えた場合(S1004−YES)、その判定処理(S1003の判定処理)が最終ステージによる処理であったか否かが判断される。最終ステージでなかった場合(S1005−NO)、S1002の処理に戻り次のステージが選択され、新たに選択されたステージによって判定処理が実施される。一方、最終ステージであった場合(S1005−YES)、現在の処理ウインドウに人物の顔が含まれるという最終的な判定がなされる(S1006)。この時点で、この処理ウインドウに人物の顔が含まれると判断したことになる。
次に、判定の対象となっていた処理ウインドウが、顔検出対象画像の中で最後の処理ウインドウであったか否かを判断する。最後の処理ウインドウではなかった場合(S1007−NO)、S1001の処理に戻り、次の処理ウインドウが選択され、S1002以降の処理が実行される。一方、最後の処理ウインドウであった場合、この顔検出対象の入力画像に対する顔検出処理は終了する。
次に、各ステージにおける判定の処理内容について説明する。
各ステージには、1以上のパターンの弱判別器が割り当てられている。この割り当ては学習処理において、AdaBoost等のアンサンブル学習アルゴリズムによって実施される。各ステージは、自身に割り当てられたパターンの弱判別器に基づいて、処理ウインドウ内に顔が含まれるか否かの判定を行う。
各ステージでは、各ステージに割り当てられた各パターンの弱判別器に基づいて、処理ウインドウ内の複数の矩形領域における特徴量がそれぞれ算出される。このとき用いられる特徴量は、各矩形領域内の画素値の合計値やその平均値等、即ち矩形領域内の画素値の総和値(矩形領域内総和値)を用いて算出される値である。この矩形領域内総和値は、入力画像に対する累積画像情報(Summed Area Table(SAT)或いはIntegral Imageと呼ばれる)を用いることにより高速に計算可能である。
図11はSATの一例を説明する図である。図11(a)は元の入力画像1101を示し、左上を原点(0,0)としている。入力画像1101の座標位置(x、y)の画素値をI(x、y)としたとき、SATの同位置(x、y)の成分C(x、y)を(1)式として定義する。
Figure 0004948379
図11(b)に示すように、入力画像1101の原点位置(0,0)と位置(x、y)の画素を対角とする長方形内の画素の総和値が位置(x、y)の値C(x、y)となる。入力画像1101の任意の矩形領域内の画素値I(x, y)の和は、(2)式を用いることにより、例えば、図12に示すような4点を参照することで求めることができる。
Figure 0004948379
次に、算出された特徴量の相対値(例えば比や差分値。ここでは特徴量の差分値が算出されると想定する)としての差分値が算出され、この差分値に基づいて処理ウインドウに人物の顔が含まれるか否かの判定が実施される。具体的には、算出された差分値が、判定に用いられているパターンの弱判別器に設定された閾値よりも大きいか否か又は小さいか否かが判定される。そして、この判定の結果に応じて、処理ウインドウにおける人物の顔の存否が判定される。
ただし、この時点での判定は、各パターンの弱判別器それぞれに基づいた判定であり、ステージによる判定ではない。このように、各ステージでは、割り当てられた全てのパターンの弱判別器それぞれに基づいて個別に判定が実施され、それぞれの判定結果が得られる。
次に、ステージにおける累積スコアを算出する。各パターンの弱判別器にはそれぞれ個別の信頼度重み(スコア)が割り当てられている。この信頼度重みとは、その弱判別器単独での「判断の確からしさ」、すなわち、単独の信頼度を示す固定値である。処理ウインドウに人物の顔が含まれると判定されると、そのとき使用されたパターンの弱判別器に対応するスコアが参照され、ステージの累積スコアに加算される。このようにして、加算された個別のスコアの総計が、ステージにおける累積スコアとして算出される。つまり、この累積スコアとは、そのステージ全体での判断の確からしさ(ステージ全体信頼度)を示す値となる。そして、ステージ全体信頼度が予め定められた閾値(ステージ全体信頼度閾値)を超えた場合に、このステージでは処理ウインドウに人物の顔が含まれる可能性有りと判定し、処理を継続して次のステージに移る。一方、このステージにおけるステージ全体信頼度が閾値を超えない場合、処理ウインドウに人物の顔が含まれないと判定し、以後のカスケード処理を打ち切る。
非特許文献1では、このような手順により、顔検出に代表される高速なパターン識別を実現している。尚、図9、10の検出器は、予め適正な学習を行っておけば、顔以外のパターン識別器として用いることも可能である。
また、特許文献2および3も、非特許文献1の考え方に基づくパターン識別方法や装置に関する発明を開示している。このような弱判別器を一列にカスケード接続した構造を持つパターン識別器は、特に画像中から、良く似たパターン(検出対象パターン)とそれ以外のパターン(非検出対象パターン)を分離する場合には、高速かつ十分な識別性能を発揮する。
しかしながら、検出対象パターンが、例えば、顔画像であるような場合、正面方向を向いたままであっても、左または右に数十度ほど傾ければ(面内回転と呼ぶ)、元の正立した正面顔に対して「良く似た」パターンとは言えなくなる。さらに横顔に近いような軸方向の回転(奥行き回転または横方向奥行き回転と呼ぶ)が加わると、全く異なった二次元画像パターンとなる。このような変動の大きいパターンを、一列のカスケード接続で識別するのにはそもそも無理があり、処理時間の増大や検出精度劣化の要因となっている。弱判別器のカスケード接続構造は、識別すべき検出対象パターンとは似ていない非検出対象パターンを少しずつ除外してゆくためのものであるから、識別すべきパターン同士は互いに良く似ていることが前提となっているのである。
面内回転のみであれば、正立に近い正面顔を検出する識別器に、入力画像を順次少しずつ回転させてから入力すれば、360度どの角度の顔であっても識別することは可能ではある。しかし、この方法では、回転回数に応じて処理時間が増大してしまうし、そもそも奥行き回転が加わる場合には対応することができない。
そこで、非特許文献2においては、Coarse to Fine戦略に基づく階層状のピラミッド構造の識別器を提案している。この識別器においては、まず第1階層では、検出したい全ての顔向き変動を含む学習画像パターンを入力して、一つのステージを学習する。第2階層では、顔向き変動を所定の範囲毎に分割し、それぞれ分割された範囲の変動のみを含む学習画像パターンにより、複数のステージを学習する。次の階層ではさらに狭い範囲の変動毎に分割して、さらに数を増やした複数のステージを学習する。このように、階層を進めるにつれて、徐々にロバスト性を下げた強判別器(ステージ)を、徐々に数を増やしながら、ピラミッドのように構成してゆく。尚、本文献における識別器では、横方向奥行き回転の顔向き変動のみを分割して対応している。±90度の全奥行き回転範囲を、第2階層で3分割、第3階層で9分割しており、面内回転に関しては分割していない。
本識別器の検出処理時は、入力されたサブウィンドウが第1階層のステージをパスしたならば、第2階層の各ステージを順に実行し、どれか一つでもパスしたら次の階層のステージに進む。このように、粗い検出から始めて徐々に精度の高い検出を行っていくことにより、全ての変動の顔パターンを精度よく検出可能な識別器を構成している。
特許文献4でも同様の考え方に基づき、ロバスト性の大きい検出器から徐々に枝分かれしてロバスト性の低い検出器となる、ツリー構造を持った識別器を構成する方法を開示している。この識別器は、ツリーの各枝のノード(ステージ)は、親ノードの受け持つ変動範囲を分割した一部変動範囲を受け持つように学習させている。特許文献4で開示されている実施形態が対応する顔の変動は、横方向奥行き回転だけでなく、顔が正面から上下を向いた方向となる縦方向奥行き回転も含んでいる。また、各ノードの弱判別器段数は、人が経験的に定めて学習させている。
検出処理時には、全ての縦横奥行き回転変動を含む第1ノードの検出処理を行った後、まずは正面顔と左右それぞれの方向の奥行き回転顔の3つの変動に分岐する。そして次の階層で縦方向奥行き回転別にさらに3つに分岐する。正面顔の縦方向回転中央の変動の分岐のみは、さらに次の階層で3分岐する構成となっている。このような分岐構造を予め決めた上で、それぞれの変動に対応するサンプルデータを多数入力して、各分岐を学習させるようにしている。非特許文献2とは異なり、上位層ノードで打ち切られた変動に含まれる下位層ノードの演算を行う必要がなくなるため、高速性が実現できるとしている。尚、特許文献4における弱判別器は、矩形差分ではなくピクセル差分を用いているが、弱判別器のカスケード接続により強判別器を構成するという考え方は同様である。
非特許文献3では、特許文献4と同様のツリー構造の識別器の別の学習方法を提案している。本文献に記載されている識別器が対応する変動は、面内回転と横方向奥行き変動である。全変動を含む第1階層のノードから、横方向奥行き回転を2段階で5分岐させ、然る後に第4階層において回転変動を3分岐させる構造を定めている。この構造に従って、学習を進めるのは、上述の文献と同様である。また、各ノードの弱判別器段数を予め人が経験的に定めて学習させる点も同様である。
但し、最終分岐に到達する前に学習される各ノードの判別器の出力は、上述の文献と異なりスカラー値ではなく、そのノードの次の層の分岐数と一致した要素数のベクトル値である。すなわち分岐前の各ノード検出器は、非顔画像の打ち切りだけでなく、次の層の分岐選択も行う機能を持つ。検出時において、各ノードの出力ベクトルの値が1に近い要素に対応する分岐のみが起動されることにより、不要な演算を行う必要がなくなり、高速性が確保されるとしている。
P. Viola, M. Jones, "Rapid Object Detection using a Boosted Cascade of Simple Features", Proc. IEEE Conf. on Computer Vision and Pattern Recognition, Vol. 1, pp.511-518, December 2001. Z. Zhang, L. Zhu, S. Z. Li, H. Zhang, "Real-Time Multi-View Face Detection", Proceedings of the Fifth IEEE International Conference on Automatic Face and Gesture Recognition (FGR’02) C. Huang, H. Ai, Y. Li, S. Lao, "Vector Boosting for Rotation Invariant Multi-View Face Detection", Tenth IEEE International Conference on Computer Vision (ICCV2005), Volume 1, 17-21 Oct. 2005, pp.446-453 特開平8-329031号公報 特開2004-185611号公報 特開2005-044330号公報 特開2005-284487号公報
非特許文献2、3や特許文献4のような従来技術では、学習に先んじて、Coarse to Fine戦略或いはツリー構造による変動範囲の分割方法(すなわち分岐構造)を決める。そして、分割された各ノード(ステージ)それぞれの弱判別器段数は、機械学習処理を実施する人が経験的(或いは直感的)に定めた所定段数としている。例えば特許文献4では、各分岐の枝ノードの弱判別器の数を100個などするものと定めており、非特許文献2においてはT回の繰り返し処理により一つずつ(すなわちT段の)ベクトル出力を行う弱判別器を生成している。
これらのように、人が経験などから定めた弱判別器段数は、必ずしも最適なものであるとは言えない。分岐構造(あるいはピラミッド型)のパターン識別器においては、後段のノードになるほど、識別対象とするパターンのロバスト性は小さくなる。従って、他の背景等のパターンから対象パターンを分離するために必要な処理段数(すなわち速度)や精度は、後段になるほど向上する。従来技術で経験的に定めている処理段数は、後段のノードの処理に突入するか否かを決定するには十分な段数であると考えられるが、必要最小限な処理段数ではない。後段ほどロバスト性が低くなることから、本来は、できるだけ早く最終分岐後のノードに到達した方が、処理速度の向上を期待できる。しかしながら、上述の従来技術においては、各分岐ノードにおいて最小限必要な処理段数を判別する手段がなかった。
本発明はこのような問題点を解決するためになされたものであり、分岐構造のパターン識別器を学習する上で、各分岐で最小限必要な処理段数を判別可能にする技術の提供を目的とする。
上記課題を解決するために、本発明にかかるパターン識別器生成方法は、複数の弱判別器がカスケード接続された弱判別器列が分岐し、分岐後の各々の枝に弱判別器列が接続する構造のパターン識別器を生成するパターン識別器生成方法であって、
評価手段が、評価データのセットを前記弱判別器列に入力して得られる処理結果に基づいて、分岐後の弱判別器列が接続すべき段数に到達したか否かを評価する評価工程と、
決定手段が、前記評価工程の評価に基づき、前記弱判別器列を非分岐で接続すべき弱判別器の段数を決定する決定工程と
を有することを特徴とする。
あるいは、本発明にかかる情報処理装置は、複数の弱判別器がカスケード接続された弱判別器列が分岐し、分岐後の各々の枝に弱判別器列が接続する構造のパターン識別器を生成するパターン識別器生成方法を実行する情報処理装置であって、
評価データのセットを前記弱判別器列に入力して得られる処理結果に基づいて、分岐後の弱判別器列が接続すべき段数に到達したか否かを評価する評価手段と、
前記評価手段の評価に基づき、前記弱判別器列を非分岐で接続すべき弱判別器の段数を決定する決定手段と
を備えることを特徴とする。
本発明によれば、各分岐で最小限必要な処理段数を判別して、分岐構造のパターン識別器を学習することが可能となる。
以下、図面を参照して、本発明の好適な実施形態を例示的に詳しく説明する。ただし、この実施の形態に記載されている構成要素はあくまで例示であり、本発明の技術的範囲は、特許請求の範囲によって確定されるのであって、以下の個別の実施形態によって限定されるわけではない。
(第1実施形態)
(ブロック図の説明)
図2は本発明の一実施形態にかかる情報処理装置の構成を示すブロック図である。画像入力部201は、パターン識別処理対象となる入力画像データや、学習用サンプル画像データを装置内に取り込む機能を持つ。画像入力部201には、例えば、光学系、CCDセンサー等の光電変換デバイス、ドライバー回路、ADコンバーター、各種画像補正を司る信号処理回路、フレームバッファ等により構成される撮像装置が含まれる。或いは、画像入力部201には、後述の通信I/F206とハードウェアを共用し、I/Fに接続されるネットワーク等の所定の通信経路を介して外部装置から画像データを受信するI/F装置が含まれる。
前処理部202は、検出処理を効果的に行うための各種前処理を実行する。具体的には色変換処理、コントラスト補正処理、SAT(Sammed Area Table)データの生成等、各種画像データ変換をハードウェアで処理する。判別処理部203は前処理部202の出力を参照して所定のオブジェクト・パターンの有無を識別する機能を有する。判別処理部203は学習によって生成したパラメータに基づいてブースティング判別処理を実行する。尚、前処理部202および判別処理部203の機能(または一部機能)は、後述するCPU208で実行されるソフトウェア・プログラムによる処理として実装することも可能である。
DMAC(Direct Memory Access Controller)204は、CPUバス205上の各処理部やRAM210とROM209と間のデータ転送等を司る。
通信インターフェース206は、外部装置から本装置に所定の動作を指令したり、学習のために必要なデータ群を外部の装置から後述の大容量記憶部211に転送することができる。
ユーザ・インターフェース(User I/F)207は、例えば、操作者が装置の動作を指定する為の押しボタン・スイッチやキーボード、操作者に情報を提示するためのディスプレイ・パネル等、入出力デバイスで構成される。
CPU(Central Processing Unit)208は、本発明に係る処理を実行すると共に、CPUバス205を介して接続される本装置全体の各部の動作を制御する。ROM209は、CPU208の動作を規定する命令を格納する。RAM210はCPU208の動作に必要な作業メモリとして使用される。 RAM210は、DRAM(Dynamic RAM)等の比較的容量の大きいメモリで構成される。大容量記憶部211は、ハードディスクやフラッシュメモリ等の大容量データ記憶装置である。例えば、学習のために必要なサンプル画像等の大量データセットは、大容量記憶部211に格納される。
情報処理装置は図2に示すように、CPUバス205に全ての構成要素が接続される構成を取る。この構成の他、例えば、画像入力部201、前処理部202、判別処理部203、DMAC204を別のバス(画像バス)に接続し、画像バスとCPUバスの間をブリッジで接続する構成とすることも可能である。このようにバスを分離することで、ハードウェアによる処理部(画像入力部201、前処理部202、判別処理部203)とCPU208は並列動作が可能となる。
(変動カテゴリ)
本実施形態の情報処理装置では、図5に示す3つの変動カテゴリで分類される顔画像を検出対象パターンとする、分岐構造のパターン識別を学習する。
変動カテゴリ(i)は面内回転変動である。正立状態(図中中央)から時計周り(+とする)/反時計回りにそれぞれ45度回転した顔画像までを検出対象の変動範囲とする。本実施形態では、この±45°の範囲を3分割するものとし、-45°〜-15°の範囲をa、正立を含む-15°〜+15°の範囲をb、+15°〜+45°の範囲をcとラベル付けしている。
変動カテゴリ(ii)は左右方向の奥行き回転変動である。本実施形態では、正面顔から左右向きの横顔までを対象の変動範囲として、この範囲を3分割している。右向きの横顔からほぼ両目の写る直前までの顔(-90°〜-30°)をA、正面顔含む両目の写る顔(-30°〜+30°)をB、左向きの横顔からほぼ両目の写る直前までの顔(+30°〜+90°)をCとラベル付けする。
変動カテゴリ(iii)はサイズ変動である。本実施形態では、面内回転0°のときの両目と口の高さの差の画素数で顔サイズを規定する。最小顔サイズは16、最大顔サイズは22で、この範囲を2分割して小を1、大を2とラベル付けする。尚、この範囲外の顔は、入力画像を拡大・縮小したチャネル処理によって検出される。
本実施形態では、これら3つのカテゴリによる変動が入り混じった顔画像を検出対象としている。これに上下方向の奥行き回転変動を加えても良いし、それぞれの変動の分割数をさらに増やして、検出精度の向上を図ることも可能であるが、説明を簡明にするため割愛する。
また、各変動カテゴリに隣接する分類とのオーバーラップ領域を設けて、どちらの分類にも所属するパターンが存在するようにしてもよい。例えば、変動カテゴリ(i)について、-45°〜-12.5°の範囲をa、正立を含む-17.5°〜+17.5°の範囲をb、+12.5°〜+45°の範囲をcとすることもできる。この場合、オーバーラップ領域に属する例えば+15.0°の回転データは、bだけでなくcとしても分類される。
後述の識別器において、分岐先の一つは上記変動カテゴリのいずれかに対応し、分岐の各枝の弱判別器列は、対応する変動カテゴリの変動範囲を分割した1つの分類を検出すべき担当範囲とする。すなわち、各分岐における枝の数は対応する変動カテゴリの変動範囲の分割数と一致する。
学習する際に分類にオーバーラップ領域を設けるとは、すなわち、分岐の2本の枝どちらでも検出可能な変動範囲を設けるということである。このようにすると、隣接分類の境目に相当するパターンが取りこぼされにくくなり、より検出精度を高める効果が期待できる。
(分岐構造)
本実施形態のパターン識別器は、分岐構造を持っており、各分岐の枝にそれぞれ、弱判別器ノードを複数個カスケード接続した弱判別器列が配置されている。これら弱判別器列の処理は、判別処理部203を用いて実行される。
図3(a)は、分岐構造を持ったパターン識別器の一例である。301、302等の図中の円で示されるノード(弱判別器ノード)は、各々一つの弱判別器を含んでいる。本実施形態の識別器では、非特許文献1のような各ノードが多数の弱判別器を持つステージ構成ではなく、各ノードは一つのみの弱判別器を含む。すなわち弱判別器一つずつで打ち切り判定が行われるようになっているが、各ノードはステージ構成を取っても、本発明の本質には影響しない。
図3(a)は、分岐型パターン識別器の一例を示す図である。1段目の弱判別器301から開始して、所定段非分岐で弱判別器がカスケード接続されている。そして、弱判別器302で2分岐し、弱判別器303および304から始まる弱判別器のカスケード接続列に分かれる。さらに各分岐の枝で所定段弱判別器が連続した後、弱判別器305で各枝がそれぞれ3分岐し、計6本となった分岐の枝それぞれが所定段弱判別器を連続させた後、最終段の弱判別器306に到達する。弱判別器301から306までの各弱判別器では、それぞれ打ち切り判定処理が入っており、打ち切られた場合は以降の弱判別器の処理は行われない。最終段の弱判別器306まで到達した出力は、最終判定部307に入力されて統合処理され、ここで受け入れ判定されて、受け入れられれば対象オブジェクト・パターンであると判断されたことになる。
図3(b)は、本実施形態における分岐型パターン識別器の構造を示す図である。本実施形態では、図5で説明した3つの変動カテゴリに基づく分岐構造をとる。分岐の順序は、予備学習等によって予め決定されており、本実施形態の場合には、カテゴリ(i)の面内回転、カテゴリ(iii)のサイズ変動、カテゴリ(ii)の奥行き回転の順に分岐する。すなわち、図3(b)に示すように、第一分岐は3分岐(a,b,c)、第二分岐は2分岐(1,2)、第三分岐は3分岐(A,B,C)という分岐構造になる。分岐間の弱判別器列の長さの決定の詳細は後述する。
このようなツリー構造識別器において、分岐処理の実行方法はいくつかのバリエーションが考えられる。
第一には全起動であって、全ての分岐を実行する方法である。この場合、途中で打ち切られずに最終段の弱判別器306までたどり着いた分岐の出力は、すべて最終判定部307に入力される。最終判定部307は各分岐の出力座標や判別の信頼度に応じて、所定の統合処理を行った後に閾値処理して、受け入れるかどうか判定する。この方法のメリットは、精度が良いことであり、また、検出と同時に変動カテゴリによる分類を比較的正確に行えることである。デメリットとしては処理時間がかかることである。
第二の方法は全探索起動である。この場合は、例えば、上の分岐(図3(a)の弱判別器303と弱判別器304では弱判別器303側)から順に、打ち切られるまで検出処理を実行する。検出処理が打ち切られた場合には、直前の分岐(例えば弱判別器302)まで戻って、直下のノード(兄弟ノード、304)を実行する。最終段にたどり着いた分岐があれば、そこで最終判定を行い受け入れられれば処理完了とする。受け入れられない場合は直前の分岐に戻って継続する。この方法のメリットは、実装容易でかつある程度速度向上することである。デメリットとしては、分岐の実行順序に依存するため正確な分類は行えないことである。
第三の方法としては、分岐選択起動である。途中のノードの処理結果に基づき、どの分岐を起動するか選択する。メリットは高速性であり、第二の方法よりもさらに高速になることが期待できる。また、選択方法にも依存するが、分類を比較的正確にすることもできる。デメリットは処理が若干複雑になることで、例えば非特許文献3のような分岐選択可能なノードを生成するようにしたり、他の分岐選択方法を実装する必要がある。
本実施形態では、最も高速な処理速度が期待できる第三の方法を採用している。分岐選択の方法は、非特許文献3の分岐前に選択する方式とは異なり、一旦、分岐した後の枝を全て起動し、各枝の処理結果に基づいて残す枝を選択するという方式(分岐後選択方式)を取っている。本実施形態での分岐選択方法の詳細については、後述する。
(基本検出処理)
ここで、本実施形態のパターン識別器における基本的な検出処理について、図4および図7を用いて説明する。図4は弱判別器ノードの内部構造を表すブロック図であり、図7は各弱判別器ノードで行われるノード内判別処理の流れを説明するフローチャートである。
図4において、ノード401、402はそれぞれ1つの弱判別器と、その周辺回路(これらを合わせてノード或いは弱判別器ノードと呼んでいる)を示している。図4では2つのノード間の論理的な接続状態を例示しているが、パターン識別器全体としては、図3に示したように、さらに多くのノードがカスケードに、あるいは途中分岐して接続されている。これらのノードは、物理的には1つの処理回路で構成され、時分割にパラメータを切り替えて使用することにより、論理的に多数のノードを実現している。高速化を目的として、複数個のノードを物理的に独立な回路として実装し、並列に処理を割り振るようにしても良い。
パラメータレジスタ411、412はそれぞれ一つ弱判別器を構成するためのパラメータ情報を格納するレジスタである。これらレジスタに格納されるパラメータ情報は、判別処理部203内のパラメータメモリ451上に、全ての弱判別器ノード分がまとめて保持されている。パラメータメモリ451は判別処理部203外のCPU208やDMAC204からアクセス可能で、検出処理実行前にパラメータ情報が設定されるようになっている。
本実施形態の弱判別器は、非特許文献1と同様の矩形特徴を用いるものであるので、検出時に、矩形数・矩形座標・フィルタ係数・フィルタ閾値・信頼度重み(=スコア)・識別閾値がパラメータとして必要である。図17は、パラメータメモリ451上に格納された各弱判別器ノードのパラメータを例示しており、これらに加えて自身のIDと、前段の弱判別器ノードのIDである前段IDおよび後段にある複数の弱判別器ノードのIDである複数の後段IDを、弱判別器ノード毎に保持できるようになっている。
ここで自身のIDおよび前段ID、後段IDは、一種の双方向リストとなっており、これによってノードの接続構造(=分岐構造)を表すことができるようになっている。図17で先頭のブロック(弱判別器ノード1)は、図3(b)の識別器における最初のノードを示しているので、前段IDは無し、後段IDは一つのみ格納されている状態となる。尚、本実施形態では、後段ID領域は固定サイズであって、すなわち上限数がある。つまり、一つのノードに対するパラメータブロックのサイズは固定である。分岐直前ノードにおいては、後段IDは分岐数に一致する数だけ格納される。実行時には、この双方向リスト部分を辿ることにより、弱判別器の実行順序を特定することが可能である。ノードのIDは一定のルール(後述)に従って付けられており、開始ノードが最も若いIDとなる。パラメータメモリには、若いIDのパラメータブロックから順に格納されるので、先頭ブロックは常に開始ノードであり、また、所望のIDに対応するパラメータを読み出す処理は、アドレス・デコーダにより容易に実現できる。
上記のパラメータの中で、「矩形数」とは検出ウインドウ内における矩形の数を指定する情報であり、例えば、図9に示した第1および第2ステージの弱判別器のようなフィルタの場合、矩形数が2となる。また図9の第nステージ第m弱判別器の場合は、矩形数3となる。同図では、白矩形、黒矩形が一つずつの矩形である。弱判別器421は、それぞれの矩形内総和値(またはその平均値)に矩形毎に設定される「フィルタ係数」を乗じた値の合計を「フィルタ閾値」を用いて閾値処理する。閾値条件((3)式)を満たすとき、弱判別器421は"1"を出力し、満たさない場合"-1"を出力する。
Figure 0004948379
矩形領域の形状・位置や数、またフィルタ係数CI及びフィルタ閾値WTh_tは、学習時に決定するパラメータである。本実施形態の弱判別器では、CIは必ず1または-1のどちらかの値となっている。つまり、式(3)の左辺は複数の矩形領域内の画素総和値Siの差分値を求める処理に相当する。この差分値が所定のフィルタ閾値WTh_tより大であるとは、この弱判別器に限れば入力データは識別対象パターンであると判断されたことに相当する。
矩形領域内総和値Siは先に説明した通り、SATデータを参照することで極めて高速に算出することが可能である。SATメモリ450は、前処理部202により検出処理の開始前に算出した1枚の入力画像データに対するSATデータを格納している。SATメモリ450は、RAM210内に設けても良いが、高速化のためには判別処理部203に内蔵RAMとして持つ構成が望ましい。弱判別器421は、SATメモリ450から検出ウインドウ位置の値を参照してSiを計算し、式(3)の判定を行っている。
「矩形座標」は矩形領域それぞれの位置を表す座標情報である。「フィルタ係数」は、正または負の係数である。「信頼度重み(スコア)」とは、対象とするノードの弱判別器単独での信頼度を表す値である。ブースティング判別は、第tノード以前に処理された各ノード個別のスコアの、符号付き総和値(累積スコアと呼ぶ)をもって判別を行う。すなわち、ここで言う累積スコアは、第1ノードから第tノードまでをカスケード接続した識別器全体の判別の確からしさ、すなわち全体の信頼度を示す値となる。「識別閾値」は、この累積スコア値をもってブースティング判別器で判定を行うための閾値である。
カスケード接続のk段目のノードの弱判別器(421相当)の判定結果をhk(x)(x:入力データ)、信頼度をαk、t段目のノードの識別閾値をTgh_tとした場合、t段目の打切り判定部(461相当)の打切り判定は式(4)のようになる。ここでhk(x)の値は、各弱判別器単独で検出対象オブジェクトと判断した場合(=式(3)のフィルタ閾値条件を満たすとき)1、非検出対象オブジェクトと判断した場合(=フィルタ閾値条件を満たさないとき)-1である。
Figure 0004948379
(4)式を満足しなければ処理を打ち切り、満足するならば処理を継続し、次ノードへ累積スコア(全体信頼度)を出力する。最終ノードでこの判別条件を満たせば、検出対象パターンであると判断する。尚、信頼度αと識別閾値Tgh_tは、t段目のノード学習時に決定されるパラメータである。
信頼度αkは、ノードに対応するパラメータレジスタ(411、412相当)から読み出され、乗算器(431相当)で弱判別器(421相当)の出力hk(x)と乗じられる。そして加算器(441相当)で前段ノードから出力されてくる累積スコアと加算される。打ち切り判定部(461相当)では、弱判別器に対応するパラメータレジスタ(411相当)から読み出した識別閾値Tgh_tを使用して、ここまでの累積スコアに対する(4)式の判定を行う。
累積スコアが識別閾値((4)式の右辺)より大きければ、処理継続となり次段のノードへ累積スコアが出力される。尚、当該ノードが分岐ノードであって、次段のノードが複数存在する場合には、すべての次段のノード(=兄弟ノード)に、同じ累積スコア値を出力する。
以上の各弱判別器ノードにおける処理の流れをフローチャートとして示すと、図7のようになる。同図で、ステップS701は特徴量算出処理であって、式(3)の左辺を計算する処理である。ステップS702はフィルタ閾値による判定処理であり、式(3)の判別処理であって、処理中のノードがt段目としたときの式(4)のh(x)に対応する値を1または-1に設定する。これが弱判別器421の出力である。
ステップS703は、処理中の弱判別器ノード単独のスコア値算出処理であって、式(4)のα(x)に対応する値を計算する。信頼度αは上述したようにパラメータレジスタ411,412から読み出される値である。
そしてステップS704において前段からの出力値にスコア値を加算した累積加算値(累積スコア値)を算出する。累積スコア値の算出には、式(4)の左辺を計算する。前段までの累積スコア値は、前段ノードの処理実行完了時に、前段ノードのIDと関連付けられて内部メモリに保持されている。
前段IDは、実行中のノードのパラメータレジスタに格納されているので、前段IDを用いて、前段までの累積スコア値をメモリから取り出すことができる。従って、ここでの処理はステップS703で計算した値をメモリから取り出した値に加算するだけでよい。
そして、ステップS705において式(4)に相当する判別処理を行う。これは打ち切り判定部461で行われる処理である。ステップS705で打ち切りと判定された場合には、ステップS707にて打ち切り設定(フラグを立てる等)し、以後の段の処理が行われないようにする。打ち切らないと判定された場合には、ステップS706以後の段のノード処理で使用可能なように、累積スコア値をノードIDと関連付けて不図示の内部メモリに保持する。尚、ステップS706において、累積スコア以外の処理結果値、例えば単独のスコア値等も保持するようにすることも可能である。以上が、判別処理部203で実行される弱判別器ノードの処理である。
打ち切られなかった全ての弱判別器ノードの実行が完了すると、それらの累積スコア値は、図3の最終判定部307に入力される。ここで、打ち切られずに残った累積スコア値に対して統合処理を行った後に、最終識別閾値で閾値処理する。後述する分岐選択において同時に複数の枝の選択を許すならば、最終判定部307には同時に複数の累積スコア値の出力が到達する場合が生ずる。このような場合、統合処理として、例えば到達した全ての累積スコア値を加算する処理にしても良いし、最大値や平均値を用いる処理としてもよい。一つの枝の選択しか許さない場合には、最終判定部が行う処理は打ち切り判定部461が行うのと同様の単純な閾値処理であるので、最終段の弱判別器306の打ち切り判定部に処理を代替させるようにしてもよい。
(ノードID)
各弱判別器ノードには、図3(b)に示すようなノードIDがついている。このノードIDは、分岐枝ID部と固有ID部に分かれる。固有ID部は、ノード毎に一意に付けられる番号であって、開始ノードを0番とし、処理段数が進むにつれて一つずつ増加させる。分岐後は、1つの枝について次の分岐に到達するまでを連番とし、到達したら次の枝の先頭ノードにその次の番号を割り当てる、というように与える。つまり固有IDが同じノードは存在せず、固有ID番号にブロックサイズを乗ずることにより、容易にパラメータメモリ上のノードに対応するパラメータ・ブロックのアドレスを算出することができる。
分岐枝ID部は、分岐番号と枝番号の2つの番号より構成される。分岐番号は、開始の非分岐状態のところでは0であり、以後分岐する毎に1つずつ増加する。枝番号は、分岐する毎に0からスタートし、各枝に1つずつインクリメントさせた番号を割り当てている。
以上のルールに従うと、例えば、分岐前の処理段数をn0とすると、開始ノードのIDは00_0であり、第一分岐直前ノードのIDは00_<n0-1>となる。さらに、第一分岐後第二分岐直前までの処理段数をnとすると、第一分岐の第一の枝の先頭ノードのIDは10_<n0>となる。また、同枝の弱判別器列の第二分岐直前のノードのIDは10_<n0 +n-1>となって、第二の枝の先頭ノードのIDは10_<n0 +n>などとなる。
(分岐選択付き検出処理)
次に、サブウィンドウ(図8の画像800相当)単位の画像が投入されたときに、分岐選択しながら実行する場合の検出処理の流れについて、図15を用いて説明する。この処理は図2におけるCPU208の指令により、判別処理部203を含む各部を用いて行う処理である。
まず、ステップS1501において、実行予定キューの初期設定を行う。この処理は、実行する予定のノードのIDを、実行する順序でキューに挿入する処理である。先に説明したIDでは、先頭ノードのIDは00_0に決まっているので、まずはこれが挿入される。そしてパラメータメモリの双方向リスト部分のIDを辿って、ノードの接続構造に従って処理する順にIDを挿入してゆく。ここでは、第一分岐の後、所定段数(m1とする)までを実行するものとして設定する。つまり、まず分岐前のID: 00_0からID: 00_<n0−1>までを挿入後、第一分岐第一枝のID: 10_<n0>からID: 10_<n0+m-1>を挿入する。そして、次に第二枝のID: 11_<n0n0+n1n>からID: 11_<n0+n+m-1>、第二枝のID: 12_<n0+2n>からID: 12_<n0+2n+m-1>まで挿入したところで、処理を打ち切る。
ここで所定段数mとは、後述の学習時に決定される第一分岐で最低限継続すべき非分岐継続段数であって、第一分岐から第二分岐までの継続段数nと一致していても構わない(m≦n)。本判別器は後述するように、第一分岐の全ての枝の弱判別器列をm段まで処理した結果に基づき、処理を継続する枝を決定する。従って、実行予定キューに挿入された上記ID: 12_<n0+2n +m-1>までのノードによる処理は、各枝途中で打ち切りが発生しない限り必ず実行されることになる。つまり、第一分岐m段目のノードとは、第一分岐についての分岐選択ノードである。以後、m、mについても同様にそれぞれ第二分岐、第三分岐についての分岐選択ノードであるものとする。
続いてステップS1502において、実行予定キューに格納されている先頭のIDを一つ取り出す。そして、取り出したIDのノードに関し、ステップS1503のノード内判定処理を実行する。ノード内判定処理の詳細は、上記で図7を用いて説明した通りである。
そしてステップS1504において、ノード内判別処理結果が打ち切り判定であったかどうかをチェックする。このとき打ち切りであった場合は、実行中のノードが第一分岐より前の弱判別器列の中の一つであれば、以後の処理を全く行う必要がなくなる。また、実行中のノードが分岐のいずれかの枝に弱判別器列の中の一つであるならば、以後の段のその枝の判別器と、その枝から分岐する全ての枝の判別器を実行する必要がなくなる。
これらの実行する必要の無くなったノードのIDを全て実行予定キューから取り除く処理が、ステップS1505である。この処理では、まず打ち切り判定されたノードのIDの分岐枝ID部をチェックする。そして実行予定キューを先頭からスキャンし、分岐枝IDが一致するIDを全て取り除く。最後に取り除いたIDに関しては、保持しておき、同一分岐枝のIDが無くなった時点で、最後のIDを用いてパラメータメモリからその後段IDを調べる。そして、再び実行予定キューをスキャンし、調べた後段IDの分岐枝ID部と一致するIDを全て取り除く。これを繰り返すことにより、打ち切り判定されたノードに続く全てのノードのIDを実行予定キューから取り除くことができる。
次にステップS1506において、実行予定キュー内に、その他のノードのIDが残っているかをチェックする。もし打ち切られたのが、第一分岐前のノードであるならば、この時点でキュー内に他のIDは残っていないはずである。第一分岐後のいずれかの枝のノードであるならば、他の枝のIDが残っている可能性があるので、残っている場合にはステップS1502に戻って、再び一つずつIDを取り出して判別処理を実行してゆく。
実行予定キュー内にIDが残っていなければ、ステップS1507に進み、打ち切られた枝とは別の継続中の枝があるかどうかをチェックする。このチェックは、後述の継続中IDが保持されているか否かで判別する。継続中の枝があれば、後述のステップS1511に進む。継続中の枝が無ければ全ての枝が打ち切られたことになり、そのサブウィンドウは顔ではないと判定されて処理終了となる。
ステップS1504の判定で打ち切りでなかった場合、ステップS1508に進み、実行したノードがキュー内に収められている終端ノードであったかどうかを判定する。実行予定キューをスキャンし、キュー内に同一の枝の後続ノードのIDが格納されていなければ、キュー内終端ノードであったと判定される。そして、ステップS1509において今回実行したノードIDを継続中IDとして、メモリの所定領域に保持する。終端ノードでなかった場合は、ステップS1509の処理はスキップされる。
次にステップS1510において、実行予定キュー内に他のIDが残っているかを調べる。残っていれば、S1506と同様それらを実行すべく、ステップS1502に戻って処理を繰り返す。
実行予定キュー内のIDが全て無くなったら、ステップS1511に進み、未実効ノードの有無を調べる。先の処理の結果、継続中のノードIDはステップS1509でメモリの所定領域に保持されているので、このIDを用いてパラメータメモリ451の双方向リスト部分にアクセスし、後段IDがセットされているかどうかを調べてセットされていれば未実行ノード有りと判断される。
未実行ノード有りの場合は、ステップS1512に進み、分岐選択処理を実行する。本実施形態の分岐選択処理は、処理する分岐の全ての枝の、所定段位置の弱判別器の処理結果を用いる。従って、ステップS1512に入る前に、全ての枝で所定段数以上の弱判別器処理が完了している必要がある。先の説明で、実行予定キューに格納するIDは、各枝の所定段数までと述べたが、所定段数以上であればいくつでも構わない。
本実施形態における分岐選択処理は、図16のフローチャートに示す極めてシンプルなものとなっている。まずステップS1601において継続中の分岐選択ノードの累積スコア値を取得する。先に述べたとおり、継続中IDは保持されており、過去のIDは実行予定キューに格納されていた終端ノードであるので、分岐選択段(mまたはmまたはm段目)で処理が打ち切られていないノードのIDとなっている。累積スコアは、図7のステップS706として説明されたとおりIDと関連付けられて保持されているので、継続中IDを用いて値を取得することができる。
そしてステップS1602において、累積スコアが最大となっているノードのIDを、継続するIDとして選択する。つまり選択したIDの分岐枝ID部が、選択された分岐の枝を示すことになる。尚、ここで、新たな閾値を用い、累積スコア値が最大値のものだけでなく、閾値の範囲の複数のIDを残すようにしても良い。このようにすると、以後処理する分岐の枝は増えるが、処理速度とのトレードオフで精度の向上を図ることができる。
説明を図15に戻し、ステップS1513において、実行予定キューの再設定を行う。この処理は、まず分岐選択処理ステップS1512の結果、残った分岐の継続中ノードIDを用い、パラメータメモリ451の双方向リスト部を参照する。そして、継続中ノードが属する分岐枝の残りノード全てと、次の分岐の各枝の所定段の分岐選択ノードまでを、実行予定キューに格納する。先に説明したとおり、ここでの所定段とは、第二分岐についてはm、第三分岐についてはm段までであり、後述の学習時に決定されている。また、ここで、以後の分岐がない場合、双方向リストで継続中ノードIDに続くノードのIDは、終端まで全て実行予定キューに格納される。
そしてステップS1514において、保持していた継続中IDをクリアし、ステップS1502に戻って、再びノード毎の処理を繰り返す。
ステップS1511において、未実行ノードが無いと判断された場合、ステップS1515の統合処理を行う。この統合処理は、継続中ノードとして残ったIDの出力値を統合する処理で、平均値や合計値あるいは最大値を算出して最終的な顔らしさを判別する信頼度スコア値とする。さらにここで、たどり着いた分岐の枝に基づく、顔の変動の推定も行うようにすることもできる。
そしてステップS1516において、算出した信頼度スコア値を最終閾値処理して、顔であるか否かの判別を行う。これは図3(a)の最終判定部307の処理に相当する。
(基本学習処理)
次に図6を用いて、本実施形態に関わるブースティング型のパターン識別器を機械学習処理により生成する基本的な方法について説明する。図6は、非分岐の一列の弱判別器列のみで構成されるパターン識別器を生成するための機械学習処理のフローチャートであるが、分岐の各枝に相当する各弱判別器列を学習する際にも、基本的に同じアルゴリズムが用いられる。但し、各枝に用いられる学習データセットの顔データは、それぞれの枝が担当とすべき変動範囲の分類となるものである。
尚、以下に説明する機械学習処理は、図2におけるCPU208が学習処理プログラムを動作させることにより実行されるものである。
また、ここで説明する学習処理に先立ち、大容量記憶部211には学習に必要なデータ群がカテゴリに従って分類されて格納されている。これらのデータ群は、図8で説明した処理ウィンドウサイズのデータ801に切り出された顔または非顔パターンである。もしくは都度切り出しするようにしてもよい。そして、学習しようとする弱判別器列に対応する変動カテゴリの変動範囲で分類される変動を持つ検出対象データと、背景等の非検出対象データを、それぞれ多数用いることが可能になっている。例えば、図5で説明したラベルaB1の変動範囲を担当する第三分岐後の枝の弱判別器列の学習においては、同ラベルaB1に分類される大容量記憶部211に保持された顔画像データの、全てまたはその1部が検出対象データとして用いられる。非分岐の枝については全カテゴリの変動を含むデータが用いられ、第一分岐の枝の学習時には、カテゴリ(ii)と(iii)は全ての変動を含むデータが、第二分岐の枝の学習時には、カテゴリ(iii)は全ての変動を含むデータが用いられる。
以下、AdaBoostと呼ばれるアンサンブル学習アルゴリズムに従って弱判別器を学習させる。基本的な学習アルゴリズムは非特許文献1に記載の手法と同一である。
まず、ステップS601で、大容量記憶部211に保持する学習データから、今回の学習に使用するデータを選択する。ここでは検出対象パターンである顔データと非検出対象パターンである非顔データを、所定の比率の数となるように取り出す。
予備識別器または本識別器の分岐には、それぞれ担当すべき変動カテゴリの組合せによる分類があるので、当該分類に所属する顔データが検出対象パターンとして選ばれる。非検出対象パターンとしては非顔データが用いられるが、さらに非検出対象パターンとして、担当しない変動カテゴリ組合せで分類される顔パターンを追加して学習することも可能である。このようにすると、各予備識別器或いは分岐は、より選択性の高い検出処理を行うようになることが期待できる。
ステップS602では、取り出した学習データセットに対する重み係数を初期化する。学習データの総数がm個の場合、全ての重み係数wt,j(t:ノード番号、i:学習データ番号)を以下の式(5)で初期化する。
Figure 0004948379
つまり、第1ノード学習時には、全ての学習データに対して共通の重みを与えている。次のステップS603で式(6)に従って重み係数を正規化する処理を行う。
Figure 0004948379
最初にこのステップS603に入ってきたときは、重み係数w1, jはステップS602(式(5))で設定された値になっているので、すでに式(6)を満たす状態となっている。従って、このステップS603は、第2ノード以降の学習時に重み係数wt, jが変更された場合に、その総和が1となるように正規化するための処理である。
続いて、ステップS603〜S610で1つの弱判別器を学習する。
まず、ステップS604で矩形フィルタ群の中から1つの矩形フィルタを選択する。矩形フィルタ群とは、予め定めた形状の基本矩形フィルタに対して、その大きさや検出ウインドウ内の位置に応じた変形を有する複数の矩形フィルタ候補である。例えば、図9の第1弱判別器に例示した上下の隣接矩形領域の差分フィルタの場合であっても、その矩形領域の大きさや縦横比、検出ウインドウ内の位置に応じて複数の変形が考えられる。矩形フィルタ群としては、予め定めたいくつかの基本矩形フィルタを基準にして、その変形も含めた全ての組合せを用意しておく。用意された矩形フィルタ夫々に通し番号を振って、これをフィルタ番号とする。本ステップは用意したこれら矩形フィルタ候補を一つずつ順に選択する処理を行う。
次に、ステップS605で選択した矩形フィルタ候補を用いて、全ての学習データに対するこの矩形フィルタの判別性能評価を行う。まず、全ての学習データ各々に対して、この矩形フィルタ出力値を算出し、検出対象と非検出対象を分離する閾値を決定する。このときフィルタ出力値の算出は判別処理部203を利用してハードウェアで処理する。閾値の決定は矩形フィルタ出力値のヒストグラムを利用して行う。
図13は全学習データに対する検出対象データのヒストグラム1302と非検出対象データのヒストグラム1301を示す。横軸はフィルタ出力置(矩形差分値)で縦軸はその値となった学習データの数を表す。ヒストグラムを使用して検出対象と非検出対象を最も良く分離する閾値FTh_t, j(誤り率最小となるもの、t:学習中のノード番号、j:フィルタ候補番号)を決定する。更に、ステップS605では、決定した閾値FTh_t, jを用いて全ての学習データに対する検出誤り率を算出する。式(7)は全ての学習データに対する重み付き誤り率である。
Figure 0004948379
ここで、ht, j(xi)は矩形フィルタ候補jによる学習データ番号iの判定出力であり、前記閾値FTh_t, jを使用して入力対象データxiが検出対象であると判定した場合1を出力し、検出対象を含まないと判定した場合0を出力する。yiは正解ラベル(教示ラベル)であり入力学習データiが検出対象であるか否かによって、それぞれ1又は0が割り当てられている。ステップS606による繰り返し処理で、以上の処理(ステップS604、S605)を全ての矩形フィルタ候補に対して実施しそれぞれの重み付き誤り率Et, jを求める。
全ての重みつき誤り率Et, jの算出が終了すると(ステップS606)、この中で最も重み付き誤り率Et, jの小さい矩形フィルタ候補j(即ち最も判別性能が高い矩形フィルタ)を探して、これを弱判別器として選択する(ステップS607)。このときの重み付き誤り率をEtとする。また、このフィルタで用いられた閾値FTh_t, jをフィルタ閾値WTh_tとする。
そして、式(8)により弱判別器に対する信頼度αtを算出する(ステップS608)。
Figure 0004948379
算出した信頼度αtやフィルタ閾値WTh_t、矩形フィルタの矩形領域の形状、位置、矩形数、フィルタ係数は、RAM210に学習中のノードtのパラメータとして記録する。
次に、ステップS609において、打ち切り閾値を決定する。ここでも矩形フィルタの判定閾値を決定した手法と同様に、検出対象データに対する累積スコアのヒストグラムと、非検出対象データに対する累積スコアのヒストグラムから閾値を決定することができる。図14は打切り閾値の決定法を説明するための累積ヒストグラムの例を模式的に説明する図である。1401は非検出対象データに対する累積スコアのヒストグラムであり、1402は検出対象データに対する累積スコアのヒストグラムである。打ち切り閾値は、検出対象データに対する打ち切り割合(検出対象データの打切り数/検出対象データ数)が所定以下の許容範囲になるように決定される。検出対象データの打切り数とはすなわち、ヒストグラム1402の累積スコアが、ここで定めた閾値以下になるデータの総数である。非検出対象データに関しては打ち切られる程良いので、ここでは考慮しなくてよい。ここで定めた閾値が、図4の打切り判定部461で用いられる打切り閾値パラメータTgh_tとなる。
更にステップS610では、各学習データに対する重み係数を下記演算式(9)で更新する。
Figure 0004948379
但し、式(9)で更新する重み係数wt, jは正しく検出できた学習データiの係数のみである。即ち、正しく検出された学習データ(検出対象データ、非検出対象データ共)の重みは、小さくなる様に更新される。従って、ステップS610では、検出を誤った学習データに対する重みを、相対的に大きくしていくことになる。
ここまでの処理(ステップS603〜S610)で1つの弱判別器を生成した後、ステップS611では所定の完成条件を満たすブースティング判別器が生成された否かを判定する。ここで所定の条件とは、第一には弱判別器数が予め設定した上限数に到達した際に満たされる。あるいは、式(7)で計算した重み付き誤り率Et, jが所定の値を下回るか、別途設けた性能測定手段により識別器全体の識別性能が学習を開始する際の所望の性能を達成できたと判定された場合に満たされる。条件が満たされない場合は、ステップS603に戻って続く弱判別器の生成処理を継続する。
(学習および評価用データセット)
本実施形態においては、学習に先んじて、サンプルデータの入力と分類処理を行っている。これは学習処理と学習処理中の評価処理に用いる検出対象のオブジェクト画像データ(本実施形態では顔画像データ)を装置に入力する処理であり、対象とするカテゴリの変動を全て含んだ十分な数のデータが必要である。学習用データと評価用データは別々に分けて入力しても良いし、多量の顔画像データ群を入力しておき、学習処理時と評価処理時に、それぞれサンプリングして用いるようにしても良い。
また、検出対象のオブジェクトでない物体や背景等の非検出対象パターンの集合、すなわち本実施形態では非顔データの集合も装置に入力され、学習および評価処理で用いることができる。
これらデータの入力は、図2の画像入力部201によって行われる。画像入力部201が撮像装置で構成される場合には、撮影によって収集された顔画像に、ユーザがUser I/F207を介して必要な付随情報(目や口の位置座標等)を入力することによりデータは蓄積される。あるいは画像入力部201と共用の通信I/F206を介して、外部装置より予め収集された顔画像を付随する情報と共に入力することもできる。入力された学習データ及び評価データは、大容量記憶部211に保持される。
入力・保持された顔画像データは、付随する情報を用いて、識別器が対応しようとする全ての変動カテゴリで分類(ラベル付け)される。例えば、「反時計回りに30°面内回転した左側10°の奥行き回転方向を向いたサイズ18の顔」は、図5に示したラベルで「aB1」と分類される。
本実施形態において、顔データには、両目座標・口座標・奥行き回転角度の3つの情報が付随する。User I/F207でこれらの情報を入力する場合には、ディスプレイ上に表示された顔画像に対し、マウス等のポインティング・デバイスを用いて目や口の座標を入力する。また、キーボードにより(主観的な)奥行き回転角度を入力する。外部装置より学習用および評価用データが送られてくる場合には、すでに入力済みのこれら付随情報も合わせて送られてくる。
本実施形態において、カテゴリ(i)の面内回転角度は、両目を結ぶ線分の角度により算出される。この線分が画像中で水平の場合が面内回転0°であり、これを基準として時計回り方向の回転を+とする。また、カテゴリ(iii)のサイズ変動は、両目を結んだ線分と口位置までの高さの差の画素数により計算する。横顔で片目しか見えていない場合には、別途頭の真上を示す頭頂方向を付随情報として入力し、これによって面内回転とサイズを計算できる。尚、片目の目尻目頭、耳位置、鼻孔位置等、特徴点位置を示す付随情報を増やして、これらから頭頂方向を推定計算するようにしても良い。
この学習および評価用データの入力・分類処理は、学習開始前のどのタイミングで行っても構わない。次に説明する学習と評価で用いるデータが異なる場合には、それぞれの開始前までに完了して、大容量記憶部211に保持されていればよい。
或いは、学習処理中に、通信I/F206を介して外部装置に蓄積された分類済みデータを逐次、取得するように実装することも可能である。
また、以下に説明する分岐の各枝の弱判別器列の検出対象とする顔データは、分岐枝が担当する変動カテゴリの分割された変動範囲の組合せで分類される顔データである。例えば、図5のaB1のラベルで示される分類に対応する第三分岐後の枝の弱判別器列は、同ラベルの付いた顔画像のみを検出対象データとして学習する。最終分岐に到達する前の枝では、到達していない変動カテゴリによる分類は任意であって、全ての変動範囲を各枝が担当する。例えば、第一分岐の担当範囲を示すラベルはa**, b**, c**のいずれかであって、始まっていない分岐が対応すべき変動カテゴリに関しては、アスタリスクでラベルを表すものとする。また、非検出対象の非顔データは、いずれの枝用であっても共通で、特にラベルは無いものとする。
(最小継続段数判定付きの学習フロー)
図1は、本発明の特徴的な処理であるパターン識別器生成方法の一例を示すフローチャートである。この処理では、分岐型パターン識別器における分岐の各枝の非分岐継続段数の決定を行う。尚、同図において、ステップS101、 S103, S107の弱判別器生成処理は、図6で説明した基本的な学習処理方法と同等の処理である。
ステップS101において、分岐前の一列の弱判別器列を生成する。この処理における図6のステップS611に相当する完成条件の判別は、予め経験的に定めた所定段数とする。もしくは、評価用データセットとして多数の非顔データを用い、1段生成するごとに検出処理(図7および15)を実行して、その累積的な打ち切り率を調べ、所定の非顔累積打ち切り率を達成するところまでを所定段数として決定する。1段毎の非顔打ち切り率は、図24に示すように、必ずしも単調に減少するとは限らず、例えば、同図3段目と4段目のように、ほとんど打ち切られなかった次に多く打ち切られたりする現象が見られる場合もある。このような場合、3段目まで継続させるより4段目まで継続させた方が、打ち切り効率が良くなる可能性がある。さらに顔データの打ち切り率を考慮するようにしても良い。例えば、顔データ打ち切り率が所定の容認顔打ち切り率以内であることを継続条件に加えても良い。この考え方は、以下に説明する分岐後の各枝の非分岐継続段数決定にも、用いることができる。
所定段の弱判別器生成が完了したところで、ステップS102において分岐点を設定する。最初のステップS102の処理としては、分岐構造は図3(b)に示した通りであるので、カテゴリ(i)の変動範囲を3分割するa、b、cに対応した3分岐である。
次のステップS103では、各分岐の枝それぞれの弱判別器列を所定段ずつ生成する。ここでの所定段は、分岐後初回の実行時では、明らかに最低限必要な非分岐継続段数(最低継続段数)が予め経験等により分かっている場合は、その段数を設定すればよい。不明である場合や分岐後2回目以降の実行では、所定段は1段ずつとする。また各分岐枝に用いる学習用データは、それぞれカテゴリ(i)のa、b、cの変動を持つデータであり、それぞれカテゴリ(ii)および(iii)の変動に関しては全変動範囲のデータを含むものである。それぞれの分岐枝の弱判別器列は、識別器の先頭の分岐前の弱判別器から継続しているものと見なす。このとき図6のステップS602の重み係数初期化に相当する処理は上述とは少々異なる。本処理では、それぞれの分岐枝用の学習用データセットを生成済みの分岐前の弱判別器列に投入して、各段の処理でフィルタやその他の係数は変更せずに、ステップS603やステップS610の重み係数更新のみ行って得られる重みにする。
ステップS104において、生成された分岐枝の弱判別器列を評価比較し、最低限継続すべき段数に到達したか否かを調べる。本実施形態においては、評価用のパラメータとして、図18に示す累積スコアを用いた評価を行っている。
図18において、まずステップS1801で、今回評価する分岐に対応する変動カテゴリについて、一つの分類(すなわち分割された変動範囲の一つ)を選び、予め用意されている評価データの中から変動範囲に分類される変動を持つデータセットを選択する。
例えば、第一分岐の評価処理としては、カテゴリ(i)のa、b、cいずれかの変動範囲に分類されるデータ群が評価用データセットとして選択される。これらのデータセットは、他のカテゴリ(ii),(iii)については全ての変動範囲のデータを含んでいる。このようなデータの分類ラベルを、便宜上、「a**」「b**」のように、確定している変動カテゴリ以外を表す桁はアスタリスクで記述するものとする。
次にステップS1802で、分岐した枝を一つ選択する。各枝はそれぞれカテゴリ(i)のa, b, cいずれかの変動範囲を担当とする弱判別器列である。
そしてこの選択した枝の弱判別器列に対し、ステップS1801で選択した評価データを投入し、ステップS1803において、検出処理を実行する。この検出処理は、非分岐の先頭の弱判別器から選択した枝の生成済み弱判別器までを一列の弱判別器列と見なして実行する検出処理であって、図15のような分岐選択処理(ステップS1512)は行わない。図7の処理のみを、弱判別器ノード段数分繰り返す処理であって、ステップS707で打ち切られた場合は以後の段の処理は行わない。
ステップS1804においては、全ての分岐枝に関して、選択されている変動の評価データに対する検出処理を実行したかどうかをチェックし、実行していなければステップS1802に戻って、全分岐枝分の処理を実行する。
ステップS1805においては、評価中の分岐に関する全ての分類の評価データで検出処理を行ったかどうかを確認し、行っていなければステップS1801に戻って次の分類を選択する。
このようにして、各弱判別器列に各変動データを投入する全ての組合せの検出処理結果が得られる。例えば第一分岐では、a、b、cの弱判別器列それぞれに、a、b、cのデータを投入した9通りの検出処理結果が得られることになる。
全ての組合せの検出処理が完了したら、ステップS1806において累積スコア差分算出処理を行う。この処理は、まず、ある変動範囲データセットを一つの分岐枝に投入した際の累積スコア値の平均値をそれぞれ求め、その分岐枝間差分値を比較する処理を行う。
図19(a)は、a**変動データセットを第一分岐後の3本の分岐枝に投入した際の、弱判別器1段ずつの累積スコア値の遷移を示す図である。この例では、非分岐の弱判別器は1段のみであり、1段目の出力は同じ値となっている。2段目から3分岐してそれぞれの枝に異なった弱判別器を生成している。処理段数が進むにつれて、徐々に累積スコアの差が開いていくことが分かる。a**変動データセットは、本来a**対応の分岐枝で検出されるべき変動であるので、a**分岐の出力が最も高くなっている。また、a**は図5に示したように左面内回転であるので、a**に比較的近い変動範囲を担当とするb**分岐の出力が次に高くなっており、c**分岐は最も低い累積スコア値となっている。
図19(b)は、同様に、b**変動データセットを3本の分岐枝に投入した際の平均累積スコアと遷移を示す図である。b**変動範囲は、ほぼ正立の面内回転範囲を示しているので、a**にもc**にも同程度近い変動範囲である。従って、本来担当すべきb**分岐が最も高い累積スコア値を示すが、a**分岐とc**分岐は、ほぼ同程度の値となっている。
このように、3以上の分岐枝がある分岐の場合、ステップS1806ではこれらの平均累積スコア値の差分を計算し、それらを統合する処理を行う。統合処理としては、累積スコア差の値の平均を求めてもよいし、最小値を選択するようにしてもよい。最小値を選択するようにすると、分岐の選択性は高まることが期待されるが、その分長い継続段数が必要になる可能性が高くなる。
そして、ステップS1807において、統合した差分値が予め定めてある所定値以上となったところを、最低継続段数として判定する。ここでの所定値は、差分値そのもので定めても良いが、より汎用的に評価しようとしている段の平均累積スコア最大値に対する割合で定義しても良い。
本実施形態の検出時における分岐選択処理は、図16で説明したように、分岐後の各枝の累積スコア値に基づいて、その累積スコア値が最も高いノードの属する枝を選択するものである。従って、投入した評価データセットに対する平均的な累積スコア差が開けば開くほど、正しく担当する分岐の枝が選択される率が高まるものと期待できる。平均累積スコアの差だけでなく、例えば、分散も加味するような非分岐継続段数決定アルゴリズムを用いても構わない。
ステップS1807で各枝の平均累積スコアの差分が所定差(予め定められた差分値)以上になったと判別されたら、ステップS1808において、今回評価した段が、最低継続段数であると決定される。所定差以上でなければ、ステップS1809において、まだ最低継続段数に達していないものと決定される。
説明を図1に戻し、ステップS105で、最低継続段数に到達したかどうかを判断する。実際にはステップS1807と一体化して構わないが、説明しやすさからここにも記述している。ここで最低継続段数に到達したと判定された場合(ステップS105−Yes)、決められたのはあくまで「最低限必要な」非分岐継続段数であるので、実際に継続させる段数は非分岐継続段数以上であればいくつでも構わない。従って、次のステップS106に進む前にさらに追加で所定段の弱判別器を生成するようにすることもできる。
ステップS106では、次の分岐予定が残っているかを確認する。例えば、第一分岐後の最初の処理であれば、次に第二分岐を行うべく、ステップS102に戻って処理を再開する。第三分岐までの処理が完了しており、残りの分岐がないならば、ステップS107に進む。
ステップS107では、生成した各分岐の枝の弱判別器列に対し、残りの弱判別器を所定段あるいは所定条件を満たすまで生成してゆき、全分岐について生成完了したときに処理は完了となる。
以上説明したように、本実施形態のパターン識別器生成方法によれば、特定の変動の評価用データに対する分岐の各枝の累積スコア差を評価することにより、良好な分岐選択を実現するために最低限必要な非分岐継続段数を決定することができる。
(第2実施形態)
第1実施形態では、累積スコアの差分値を用いて、最低限必要な非分岐継続段数を決定する方法について説明したが、第2実施形態では、評価用データを投入した際の分岐の選択誤り率に基づき、最低継続段数を決定する方法について説明する。
本実施形態において、第1実施形態と説明の重複を避けるため、第1実施形態との違いについてのみ説明する。生成した各分岐枝の弱判別器列を評価しながら学習を進める基本的な処理の流れは、図1に示した第1実施形態と同様である。本実施形態では、ステップS104において説明した生成済み弱判別器列評価処理は、図20に示すように行われる。
図20の評価処理では、評価用データセットとして、評価しようとしている分岐に関する、全ての変動カテゴリの分類の組合せの変動を持つ顔データ群が用いられる。これは第一分岐であれば、全てのラベルの顔データ群であり、第一分岐ラベルが「a」である枝の第二分岐を評価しようとしているのであれば、「a**」とのラベルの付いた顔データ群が用いられる。ここで、「**」は、カテゴリ(i)および(iii)の全てのラベルの組合せである。ステップS2001では、これらの評価用データの中から、一つの顔データを選択する。
そして、ステップS2002において、生成されている段までの分岐構造のパターン識別器に対して、選択した顔データを投入し、図15および図16に示した分岐選択付きの検出処理を実行する。この結果、生成中の分岐のいずれかの枝が選択される。各評価用顔データには、先に説明した通りの分類ラベルが付いている。また、各分岐の枝にも、担当すべき分類ラベルがついている。図16の選択処理を行った結果、このラベルが、評価中のカテゴリの桁に関して一致していれば、正しい選択が行われたことになる。ステップS2003において、ステップS2002の検出処理で正しい選択が行われたかどうかを判別する。選択が正しくなかった場合(ステップS2003−Yes)、処理をステップS2004に進める。S2004において、選択誤りカウントをインクリメントする。
一方、ステップS2003の判定処理で、分岐選択が誤りでない場合(ステップS2003−No)、処理はステップS2005に進められる。
ステップS2005において、評価すべきデータに対する検出処理および選択誤り判定処理が完了したかどうかをチェックし、完了していなければ残りのデータを評価すべく、ステップS2001に戻る。
全ての評価データに対する処理が完了したら、ステップS2006において、選択を誤った率(選択誤り率)を算出する。これは選択誤りカウントを評価したデータの総数で除算する処理である。
そしてステップS2007において、この誤り率が所定値以下であるかどうかを判別し、所定値以下であれば、生成済みの段を最低継続段数に到達したと判定し(ステップS2008)、そうでなければ未達として判定(ステップS2009)する。以後の処理は図1で説明した通りである。
選択誤り率は、図21に示すように、処理段数が進むにつれて減少して行くことが期待できる。これは第1実施形態で説明した処理段数が進むにつれて累積スコア差が開いてゆくことと関係する。
本実施形態によれば、検出時に行う分岐選択処理を評価時にも行って、その誤り率で分岐後の枝の最低継続段を決定している。従って第1実施形態に比べて、パターン識別器に対して、より直接的に期待する性能を実現させることが可能になる。尚、処理段数を増加させても、必ずしも選択誤り率が下がらない場合は、継続段数に上限を設ける等、他の手段と併用することも可能である。
(第3実施形態)
第1および第2実施形態では、分岐後の所定段における累積スコア値を用いて、分岐選択を行う場合について説明したが、他の分岐選択方法を用いることも可能である。
図22の2201は、ある分岐における分岐選択判別器を示している。パターン識別器は、分岐選択判別器2201が出力する分岐選択判別結果に基づいて、各分岐で残すべき枝の選択を行う。
分岐選択判別器2201は、分岐選択処理対象の弱判別器列の各ノードが算出する特徴量を入力として、分岐方向の選択を行う。この判別は、線形判別分析やSVM(Support Vector Machine)等の公知の判別処理を用いればよく、それらの識別手法に必要となるパラメータはあらかじめ学習させて、求めておく必要がある。
分岐枝の選択のために分岐選択判別器2201へ入力されるのは、弱判別器ノードの通常の判別処理(図7)で算出される量(ここでは特徴量)であり、分岐選択のために特別に算出するものではない。したがって、選択のために必要となるオーバーヘッドは、弱判別器の処理とは無関係な全く新たな量を算出して、分岐選択判別器2201に入力する場合に比較して、軽微なものですむ。
分岐選択判別器2201への入力として用いる値は、特徴量だけでなく、フィルタ閾値による判定結果や単独スコア、累積スコア等、図7の判別処理で算出される如何なる値をもちいても構わない。使用する値は、ノードIDと関連付けて、メモリ内に保持するようにしておく。
また、図22は2分岐の場合を図示しているが、3分岐以上の場合にも適用可能である。3分岐の場合に、2分岐と同様のSVMのような2クラス判別器を用いる場合には、3分岐中の全ての2分岐の組合せに関して2クラス判別器を接続し、それらのスコアを比較する方法を取っても良い。
この分岐選択判別器2201を用いた分岐選択処理は、図23のようになる。まずステップS2301において、各分岐枝の生成済み最終段のノードIDから、図17のパラメータメモリ上の双方向リスト部を参照し、分岐後のノードからの全てのIDを取得する。
そしてステップS2302において、取得した全てのIDに対応する分岐選択処理で用いる特徴量等の値をメモリから取得し、ステップS2303において分岐選択判別器2201に入力して判別処理を実行する。ステップS2304においては、得られた判別結果に基づき、選択する分岐のIDを決定して処理完了となる。
図23の分岐選択処理を用いて、図20の選択誤り率評価処理を行う場合、評価に先んじて、分岐選択判別器2201の再学習を行っておく必要がある。なぜなら、弱判別器ノードが1段生成される毎に、分岐選択判別器2201へ入力される特徴量の数は増加するため、前回評価時に用いた分岐選択判別器2201とは、入力次元数の異なった判別器が必要となるからである。分岐選択判別器2201の学習時においても、選択時と同様に入力となるノードのIDを双方向リストから取得しておく。そして、分岐選択判別器2201学習用データセットのデータ各々に検出処理を行って、そのときの各分岐の判別器出力を得ると共に、学習データの正解ラベルに基づき、所定のSVMなどの学習処理を実施する。
このような分岐選択判別器2201を用いると、最終段の累積スコア値のみを用いて判定していた場合に比べ、より精度の良い分岐選択が期待できるようになる。また、分岐選択判別器2201を用いても、第2実施形態のような選択誤り率による最低処理段数決定処理に適用することが可能なのは言うまでもなく、より性能の良いパターン識別器が得られることが期待できる。但し、上述したように、段弱判別器を一段生成する毎に、分岐選択判別器2201を学習し直す必要があるため、識別器の学習時間のトータルは長くなる。
(他の実施形態)
以上説明してきた各種処理方法を、組み合わせて適用することも可能である。例えば、第1実施形態で説明した第一分岐前の継続段数決定方法として非顔あるいは顔データの打ち切り率を用いる方法を、分岐後の継続段数決定時の1条件として加えることも可能である。
あるいは、第1実施形態で非分岐継続段数を決定して学習したパターン識別器に対して、第3実施形態で説明した分岐選択判別器を用いる分岐選択方法を適用することも可能である。すなわち学習済みの分岐構造パターン識別器に対し、その構造や弱判別器のパラメータは固定したままで、分岐選択判別器のみの学習を行うことによって、選択精度を高めて性能向上を図ることができる。
また、これまで説明してきた実施形態では、分岐数が2乃至3の場合についてのみ説明を行ったが、本発明の分岐数は、これに限定されるものでないことは言うまでも無い。
上述の実施形態では、累積スコア差による評価や、選択誤り率に基づく評価方法について説明したが、本発明の本質は、これらに限るものではない。生成した弱判別器列に評価用データセットを投入し、その検出処理結果に基づいて継続段数を決定するものに適用可能である。従って、例えば、対象パターンの検出性能(未検出率、誤検出率、検出速度等)に基づき、継続段数を決定するようにすることも可能である。
また上述の実施形態では、検出対象パターンとして画像データ中に含まれる人物の顔を検出するパターン識別器に関して説明したが、本発明の適用範囲はこれに限るわけではない。入力に含まれる個人を特定する個人認識のためのパターン識別器にも適用可能であるし、人以外の特定の物体を検出するパターン識別器にも適用可能である。
2次元の画像データに対する処理に限定するものでもなく、音声データ等の1次元データや、次空間要素を含む3次元以上の多次元データから、特定のパターンを抽出するパターン識別器にも適用可能である。
上述の実施形態では弱判別器として矩形フィルタを用いた方式に適用した場合について説明したが、他の様々な弱判別器に適用可能である。
また、弱判別器の学習手法の例としてAdaBoostを示したが、これに限定されるものではない。また、Boosting手法には他にもいろいろ提案されており、それらを使用して学習した弱判別器によって構成された検出器も本発明に含まれる。
上述の実施形態では判別処理部203をハードウェアにより実現する場合について説明したが、DSP(Digital Signal Processor)等でソフトウェアにより実現する場合にも適用可能である。その場合であっても、本発明を適用して最低限必要な継続段数を算出することが可能である。
上述の実施形態では、本発明に関する学習方法を具備する装置内学習可能なパターン識別装置について説明したが、本発明の実施形態はこれに限るわけではない。例えば、弱判別器を決定するパラメータデータを外部のワークステーション等で学習して生成するパターン識別器生成システムとして適用可能なことは明らかである。さらには、パターン識別器生成プログラム(コンピュータプログラム)、およびコンピュータプログラムを記憶した記憶媒体も適用範囲である。
なお、本発明の目的は、前述した実施形態の機能を実現するコンピュータプログラムを記録したコンピュータ可読の記憶媒体を、システムあるいは装置に供給することによっても、達成されることは言うまでもない。また、システムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたコンピュータプログラムを読出し実行することによっても、達成されることは言うまでもない。
この場合、記憶媒体から読出されたコンピュータプログラム自体が前述した実施形態の機能を実現することになり、そのプログラムを記憶した記憶媒体は本発明を構成することになる。
コンピュータプログラムを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、不揮発性のメモリカード、ROMなどを用いることができる。
また、コンピュータが読出したコンピュータプログラムを実行することにより、前述した実施形態の機能が実現される。また、コンピュータプログラムの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態が実現される場合も含まれることは言うまでもない。
本発明の好適な実施形態にかかるパターン識別器生成方法における学習処理を説明するフローチャートである。 本発明の好適な実施形態にかかるパターン識別器生成方法を実行する装置の構成例を示すブロック図である。 本発明の好適な実施形態にかかるパターン識別器生成方法で生成される分岐構造パターン識別器のノードの接続構造を説明する図である。 本発明の好適な実施形態にかかるパターン識別器の弱判別器ノードの詳細な構造を説明するブロック図である。 本発明の好適な実施形態にかかる分岐構造パターン識別器が対応する検出対象データの変動カテゴリの例を説明する図である。 本発明の好適な実施形態にかかる基本的な学習処理の詳細を説明するフローチャートである。 本発明の好適な実施形態にかかる識別器ノード内における処理の一例を説明するフローチャートである。 本発明の好適な実施形態にかかるパターン認識処理の一例である、顔検出処理を説明する図である。 複数の弱判別器で構成される従来のパターン識別器の構成例を示す図である。 複数の弱判別器で構成される従来のパターン識別器における検出処理のフローチャートである。 SATの一例を説明する図である。 SATによる矩形領域の総和値の計算方法を説明する図である。 フィルタ閾値の決定方法を説明する図である。 打切り閾値の決定方法を説明する図である。 本発明の好適な実施形態にかかるパターン識別器の分岐選択処理付きの検出処理の流れを示すフローチャートである。 第1実施形態における分岐選択処理の詳細を説明するフローチャートである。 本発明の好適な実施形態にかかるパターン識別器のパラメータメモリのメモリマップの一例を示す図である。 第1実施形態における累積スコア評価による非分岐継続段数決定処理の詳細を説明するフローチャートである。 第1実施形態における弱判別器各段毎の累積スコアの変化の様子の一例を示す図である。 第2実施形態における選択誤り率評価による非分岐継続段数決定処理の詳細を説明するフローチャートである。 第2実施形態における弱判別器各段毎の選択誤り率の変化の様子の一例を示す図である。 第3実施形態における分岐選択判別器の一例を示す図である。 第3実施形態における分岐選択処理の詳細を説明するフローチャートである。 非顔データの打ち切り率の弱判別器各段毎の変化の様子の一例を示す図である。
符号の説明
201 画像入力部
202 前処理部
203 判別処理部
204 DMAコントローラ
205 CPUバス
206 通信インターフェース
207 ユーザ・インターフェース
208 CPU
209 ROMメモリ
210 RAMメモリ
211 大容量記憶部

Claims (24)

  1. 複数の弱判別器がカスケード接続された弱判別器列が分岐し、分岐後の各々の枝に弱判別器列が接続する構造のパターン識別器を生成するパターン識別器生成方法であって、
    評価手段が、評価データのセットを前記弱判別器列に入力して得られる処理結果に基づいて、分岐後の弱判別器列が接続すべき段数に到達したか否かを評価する評価工程と、
    決定手段が、前記評価工程の評価に基づき、前記弱判別器列を非分岐で接続すべき弱判別器の段数を決定する決定工程と
    を有することを特徴とするパターン識別器生成方法。
  2. 前記評価データのセットには、検出対象となる画像の変動カテゴリに分類されたデータが含まれ、
    前記カスケード接続の分岐後の各枝は、前記分類された前記変動カテゴリに対応することを特徴とする請求項1に記載のパターン識別器生成方法。
  3. 前記弱判別器の各々は、
    入力された前記評価データのセットに対する判別結果としてスコア値を算出し、前段の弱判別器で出力された出力値に当該スコア値を加算した累積スコア値を後段の弱判別器に出力することを特徴とする請求項1に記載のパターン識別器生成方法。
  4. 前記評価データのセットには、非検出対象パターンの集合で構成されるデータが含まれ、
    前記弱判別器の各々は、前記累積スコア値が予め定められた閾値をこえる場合に処理の打ち切りを決定することを特徴とする請求項3に記載のパターン識別器生成方法。
  5. 前記評価工程では、前記評価データのセットを前記分岐後の各々の前記弱判別器列に入力し、前記弱判別器列を構成する前記弱判別器の各々が出力する前記累積スコア値に基づいて、前記弱判別器列が接続すべき段数に到達したか否かを評価することを特徴とする請求項3に記載のパターン識別器生成方法。
  6. 前記決定工程では、前記評価工程の評価に基づき前記分岐後の各々の前記弱判別器列における前記累積スコア値の差分が予め定められた値以上になる段数を、非分岐で前記弱判別器を接続すべき段数として決定することを特徴とする請求項5に記載のパターン識別器生成方法。
  7. 前記決定工程では、前記評価工程の評価に基づき前記分岐後の前記弱判別器列の数が3以上となる場合には、全ての前記弱判別器列のうち2つの前記弱判別器列の組合せで算出した前記累積スコア値の差分を求め、全ての前記弱判別器列の組合せについて前記差分を統合した値が予め定められた値以上になる段数を、非分岐で前記弱判別器を接続すべき段数として決定することを特徴とする請求項5に記載のパターン識別器生成方法。
  8. 分岐選択手段が、前記累積スコア値に基づき、前記評価データのセットに対して処理を継続すべき分岐枝を選択する分岐選択工程を更に備えることを特徴とする請求項3に記載のパターン識別器生成方法。
  9. 前記分岐選択工程では、前記選択された分岐枝に入力された前記評価データのセットに対して、分類された変動カテゴリが一致するか否かを判定し、当該変動カテゴリの一致しないデータの割合を誤り率として算出することを特徴とする請求項8に記載のパターン識別器生成方法。
  10. 前記評価工程では、前記分岐選択工程により算出された前記誤り率に基づいて、選択された分岐枝における弱判別器列が接続すべき段数に到達したか否かを評価することを特徴とする請求項9に記載のパターン識別器生成方法。
  11. 前記決定工程では、前記評価工程の評価に基づき、前記誤り率が予め定められた値以下になる段数を、非分岐で弱判別器を接続すべき段数として決定することを特徴とする請求項10に記載のパターン識別器生成方法。
  12. 複数の弱判別器がカスケード接続された弱判別器列が分岐し、分岐後の各々の枝に弱判別器列が接続する構造のパターン識別器を生成するパターン識別器生成方法を実行する情報処理装置であって、
    評価データのセットを前記弱判別器列に入力して得られる処理結果に基づいて、分岐後の弱判別器列が接続すべき段数に到達したか否かを評価する評価手段と、
    前記評価手段の評価に基づき、前記弱判別器列を非分岐で接続すべき弱判別器の段数を決定する決定手段と
    を備えることを特徴とする情報処理装置。
  13. 前記評価データのセットには、検出対象となる画像の変動カテゴリに分類されたデータが含まれ、
    前記カスケード接続の分岐後の各枝は、前記分類された前記変動カテゴリに対応することを特徴とする請求項12に記載の情報処理装置。
  14. 前記弱判別器の各々は、
    入力された前記評価データのセットに対する判別結果としてスコア値を算出し、前段の弱判別器で出力された出力値に当該スコア値を加算した累積スコア値を後段の弱判別器に出力することを特徴とする請求項12に記載の情報処理装置。
  15. 前記評価データのセットには、非検出対象パターンの集合で構成されるデータが含まれ、
    前記弱判別器の各々は、前記累積スコア値が予め定められた閾値をこえる場合に処理の打ち切りを決定することを特徴とする請求項14に記載の情報処理装置。
  16. 前記評価手段は、前記評価データのセットを前記分岐後の各々の前記弱判別器列に入力し、前記弱判別器列を構成する前記弱判別器の各々が出力する前記累積スコア値に基づいて、前記弱判別器列が接続すべき段数に到達したか否かを評価することを特徴とする請求項14に記載の情報処理装置。
  17. 前記決定手段は、前記評価手段の評価に基づき前記分岐後の各々の前記弱判別器列における前記累積スコア値の差分が予め定められた値以上になる段数を、非分岐で前記弱判別器を接続すべき段数として決定することを特徴とする請求項16に記載の情報処理装置。
  18. 前記決定手段は、前記評価手段の評価に基づき前記分岐後の前記弱判別器列の数が3以上となる場合には、全ての前記弱判別器列のうち2つの前記弱判別器列の組合せで算出した前記累積スコア値の差分を求め、全ての前記弱判別器列の組合せについて前記差分を統合した値が予め定められた値以上になる段数を、非分岐で前記弱判別器を接続すべき段数として決定することを特徴とする請求項16に記載の情報処理装置。
  19. 前記累積スコア値に基づき、前記評価データのセットに対して処理を継続すべき分岐枝を選択する分岐選択手段を更に備えることを特徴とする請求項14に記載の情報処理装置。
  20. 前記分岐選択手段は、前記選択された分岐枝に入力された前記評価データのセットに対して、分類された変動カテゴリが一致するか否かを判定し、当該変動カテゴリの一致しないデータの割合を誤り率として算出することを特徴とする請求項19に記載の情報処理装置。
  21. 前記評価手段は、前記分岐選択手段により算出された前記誤り率に基づいて、選択された分岐枝における弱判別器列が接続すべき段数に到達したか否かを評価することを特徴とする請求項20に記載の情報処理装置。
  22. 前記決定手段は、前記評価手段の評価に基づき、前記誤り率が予め定められた値以下になる段数を、非分岐で弱判別器を接続すべき段数として決定することを特徴とする請求項21に記載の情報処理装置。
  23. コンピュータを、請求項1乃至1のいずれか1項に記載の情報処理装置の各手段として機能させるためのプログラム。
  24. 請求項23に記載のプログラムを格納したコンピュータ可読の記憶媒体。
JP2007326585A 2007-12-18 2007-12-18 パターン識別器生成方法、情報処理装置、プログラム及び記憶媒体 Expired - Fee Related JP4948379B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2007326585A JP4948379B2 (ja) 2007-12-18 2007-12-18 パターン識別器生成方法、情報処理装置、プログラム及び記憶媒体
US12/330,514 US8472721B2 (en) 2007-12-18 2008-12-09 Pattern identification unit generation method, information processing apparatus, computer program, and storage medium
CN2008101858635A CN101464955B (zh) 2007-12-18 2008-12-18 模式识别单元生成方法及信息处理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007326585A JP4948379B2 (ja) 2007-12-18 2007-12-18 パターン識別器生成方法、情報処理装置、プログラム及び記憶媒体

Publications (3)

Publication Number Publication Date
JP2009151395A JP2009151395A (ja) 2009-07-09
JP2009151395A5 JP2009151395A5 (ja) 2011-02-10
JP4948379B2 true JP4948379B2 (ja) 2012-06-06

Family

ID=40754618

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007326585A Expired - Fee Related JP4948379B2 (ja) 2007-12-18 2007-12-18 パターン識別器生成方法、情報処理装置、プログラム及び記憶媒体

Country Status (3)

Country Link
US (1) US8472721B2 (ja)
JP (1) JP4948379B2 (ja)
CN (1) CN101464955B (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200380291A1 (en) * 2015-12-23 2020-12-03 Fotonation Limited Image processing system

Families Citing this family (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5058681B2 (ja) * 2007-05-31 2012-10-24 キヤノン株式会社 情報処理方法及び装置、プログラム、記憶媒体
JP5101993B2 (ja) * 2007-11-01 2012-12-19 キヤノン株式会社 情報処理装置および情報処理方法
US8331655B2 (en) * 2008-06-30 2012-12-11 Canon Kabushiki Kaisha Learning apparatus for pattern detector, learning method and computer-readable storage medium
JP5444898B2 (ja) * 2009-07-09 2014-03-19 アイシン精機株式会社 状態検出装置、状態検出方法及びプログラム
JP5340088B2 (ja) * 2009-09-07 2013-11-13 キヤノン株式会社 情報処理方法及び装置
JP5451302B2 (ja) * 2009-10-19 2014-03-26 キヤノン株式会社 画像処理装置及び方法、プログラム及び記憶媒体
JP5336995B2 (ja) * 2009-10-19 2013-11-06 キヤノン株式会社 特徴点位置決め装置、画像認識装置、その処理方法及びプログラム
JP5448758B2 (ja) * 2009-11-30 2014-03-19 キヤノン株式会社 情報処理装置、情報処理方法、情報処理システム、プログラム及びデータ構造
JP2011128990A (ja) * 2009-12-18 2011-06-30 Canon Inc 画像処理装置とその方法
JP5554984B2 (ja) * 2009-12-24 2014-07-23 キヤノン株式会社 パターン認識方法およびパターン認識装置
JP5406705B2 (ja) * 2009-12-28 2014-02-05 キヤノン株式会社 データ補正装置及び方法
JP4806101B2 (ja) * 2010-02-01 2011-11-02 株式会社モルフォ 物体検出装置及び物体検出方法
JP5394959B2 (ja) * 2010-03-23 2014-01-22 富士フイルム株式会社 判別器生成装置および方法並びにプログラム
JP5574816B2 (ja) * 2010-05-14 2014-08-20 キヤノン株式会社 データ処理装置及びデータ処理方法
US8655053B1 (en) 2010-05-31 2014-02-18 Andrew S Hansen Body modeling and garment fitting using an electronic device
US8908928B1 (en) 2010-05-31 2014-12-09 Andrew S. Hansen Body modeling and garment fitting using an electronic device
JP2012038106A (ja) 2010-08-06 2012-02-23 Canon Inc 情報処理装置、情報処理方法、およびプログラム
US8768944B2 (en) 2010-08-18 2014-07-01 Canon Kabushiki Kaisha Information processing apparatus, information processing method, and storage medium
JP5675214B2 (ja) 2010-08-18 2015-02-25 キヤノン株式会社 情報処理装置、情報処理方法およびプログラム
CN102136075B (zh) * 2011-03-04 2013-05-15 杭州海康威视数字技术股份有限公司 复杂场景下的多视角人脸检测方法及其装置
US20120328160A1 (en) * 2011-06-27 2012-12-27 Office of Research Cooperation Foundation of Yeungnam University Method for detecting and recognizing objects of an image using haar-like features
US8873112B2 (en) 2011-10-21 2014-10-28 Canon Kabushiki Kaisha Image processing apparatus and determination method
JP5806606B2 (ja) 2011-12-01 2015-11-10 キヤノン株式会社 情報処理装置、情報処理方法
US10728450B2 (en) 2014-09-30 2020-07-28 Qualcomm Incorporated Event based computer vision computation
US9986179B2 (en) 2014-09-30 2018-05-29 Qualcomm Incorporated Sensor architecture using frame-based and event-based hybrid scheme
US10515284B2 (en) 2014-09-30 2019-12-24 Qualcomm Incorporated Single-processor computer vision hardware control and application execution
US9940533B2 (en) 2014-09-30 2018-04-10 Qualcomm Incorporated Scanning window for isolating pixel values in hardware for computer vision operations
US9554100B2 (en) 2014-09-30 2017-01-24 Qualcomm Incorporated Low-power always-on face detection, tracking, recognition and/or analysis using events-based vision sensor
US9923004B2 (en) 2014-09-30 2018-03-20 Qualcomm Incorporated Hardware acceleration of computer vision feature detection
US9838635B2 (en) 2014-09-30 2017-12-05 Qualcomm Incorporated Feature computation in a sensor element array
US9762834B2 (en) 2014-09-30 2017-09-12 Qualcomm Incorporated Configurable hardware for computing computer vision features
US20170132466A1 (en) 2014-09-30 2017-05-11 Qualcomm Incorporated Low-power iris scan initialization
JP2016151805A (ja) * 2015-02-16 2016-08-22 大日本印刷株式会社 オブジェクト検出装置、オブジェクト検出方法、及びプログラム
US9704056B2 (en) 2015-04-02 2017-07-11 Qualcomm Incorporated Computing hierarchical computations for computer vision calculations
KR102574449B1 (ko) * 2016-11-17 2023-09-04 삼성전자 주식회사 데이터 처리 방법 및 장치
US11086918B2 (en) * 2016-12-07 2021-08-10 Mitsubishi Electric Research Laboratories, Inc. Method and system for multi-label classification
US10614332B2 (en) 2016-12-16 2020-04-07 Qualcomm Incorportaed Light source modulation for iris size adjustment
US10984235B2 (en) 2016-12-16 2021-04-20 Qualcomm Incorporated Low power data generation for iris-related detection and authentication
JP7402623B2 (ja) 2019-06-17 2023-12-21 キヤノン株式会社 フィルタ処理装置及びその制御方法
US11170203B2 (en) * 2019-11-27 2021-11-09 National Central University Training data generation method for human facial recognition and data generation apparatus
CN111339749B (zh) * 2020-03-02 2022-05-20 乐山师范学院 无条件文本生成方法、文本生成装置及存储介质
US20230121812A1 (en) * 2021-10-15 2023-04-20 International Business Machines Corporation Data augmentation for training artificial intelligence model

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4661913A (en) * 1984-09-11 1987-04-28 Becton, Dickinson And Company Apparatus and method for the detection and classification of articles using flow cytometry techniques
US5508823A (en) * 1991-08-28 1996-04-16 Canon Kabushiki Kaisha Image processing method and apparatus
US5390259A (en) * 1991-11-19 1995-02-14 Xerox Corporation Methods and apparatus for selecting semantically significant images in a document image without decoding image content
US6463438B1 (en) * 1994-06-03 2002-10-08 Urocor, Inc. Neural network for cell image analysis for identification of abnormal cells
CA2167748A1 (en) 1995-02-09 1996-08-10 Yoav Freund Apparatus and methods for machine learning hypotheses
DE19623033C1 (de) * 1996-06-08 1997-10-16 Aeg Electrocom Gmbh Verfahren und Anordnung zur Mustererkennung auf statistischer Basis
US6021220A (en) * 1997-02-11 2000-02-01 Silicon Biology, Inc. System and method for pattern recognition
US6272479B1 (en) * 1997-07-21 2001-08-07 Kristin Ann Farry Method of evolving classifier programs for signal processing and control
US6882990B1 (en) * 1999-05-01 2005-04-19 Biowulf Technologies, Llc Methods of identifying biological patterns using multiple data sets
US6678548B1 (en) * 2000-10-20 2004-01-13 The Trustees Of The University Of Pennsylvania Unified probabilistic framework for predicting and detecting seizure onsets in the brain and multitherapeutic device
US7197180B2 (en) * 2001-05-30 2007-03-27 Eaton Corporation System or method for selecting classifier attribute types
JP4846924B2 (ja) * 2001-05-31 2011-12-28 キヤノン株式会社 パターン認識装置
US7016885B1 (en) * 2001-08-28 2006-03-21 University Of Central Florida Research Foundation, Inc. Self-designing intelligent signal processing system capable of evolutional learning for classification/recognition of one and multidimensional signals
US7369687B2 (en) 2002-11-21 2008-05-06 Advanced Telecommunications Research Institute International Method for extracting face position, program for causing computer to execute the method for extracting face position and apparatus for extracting face position
JP4166143B2 (ja) 2002-11-21 2008-10-15 株式会社国際電気通信基礎技術研究所 顔位置の抽出方法、およびコンピュータに当該顔位置の抽出方法を実行させるためのプログラムならびに顔位置抽出装置
WO2004055735A1 (ja) * 2002-12-16 2004-07-01 Canon Kabushiki Kaisha パターン識別方法、その装置及びそのプログラム
EP3358501B1 (en) * 2003-07-18 2020-01-01 Canon Kabushiki Kaisha Image processing device, imaging device, image processing method
JP2005044330A (ja) * 2003-07-24 2005-02-17 Univ Of California San Diego 弱仮説生成装置及び方法、学習装置及び方法、検出装置及び方法、表情学習装置及び方法、表情認識装置及び方法、並びにロボット装置
JP2005100121A (ja) * 2003-09-25 2005-04-14 Fuji Photo Film Co Ltd 識別処理に用いる特徴量の種類と識別条件を決定する装置、プログラムならびにプログラムを記録した記録媒体、および特定内容のデータを選別する装置
US7274832B2 (en) * 2003-11-13 2007-09-25 Eastman Kodak Company In-plane rotation invariant object detection in digitized images
CN1894703B (zh) * 2003-12-16 2011-04-20 佳能株式会社 模式识别方法和设备
JP5025893B2 (ja) 2004-03-29 2012-09-12 ソニー株式会社 情報処理装置および方法、記録媒体、並びにプログラム
JP4217664B2 (ja) * 2004-06-28 2009-02-04 キヤノン株式会社 画像処理方法、画像処理装置
JP5008269B2 (ja) * 2005-04-08 2012-08-22 キヤノン株式会社 情報処理装置、情報処理方法
JP2007080160A (ja) * 2005-09-16 2007-03-29 Konica Minolta Holdings Inc 特定物体判別装置、特定物体判別方法、及び特定物体判別装置の作成方法
WO2008004710A1 (fr) * 2006-07-07 2008-01-10 Canon Kabushiki Kaisha Dispositif de traitement d'image, procédé de traitement d'image, et programme de traitement d'image
JP2009086749A (ja) * 2007-09-27 2009-04-23 Canon Inc パターン識別手法、識別用パラメータ学習方法、及び装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200380291A1 (en) * 2015-12-23 2020-12-03 Fotonation Limited Image processing system
US11532148B2 (en) * 2015-12-23 2022-12-20 Fotonation Limited Image processing system

Also Published As

Publication number Publication date
US20090157707A1 (en) 2009-06-18
JP2009151395A (ja) 2009-07-09
US8472721B2 (en) 2013-06-25
CN101464955A (zh) 2009-06-24
CN101464955B (zh) 2012-08-08

Similar Documents

Publication Publication Date Title
JP4948379B2 (ja) パターン識別器生成方法、情報処理装置、プログラム及び記憶媒体
JP5235691B2 (ja) 情報処理装置及び情報処理方法
KR102326256B1 (ko) 고정밀도 이미지를 분석하는 딥러닝 네트워크의 학습에 이용하기 위한 트레이닝 이미지를 오토 라벨링하기 위한 방법 및 이를 이용한 오토 라벨링 장치
Li et al. Floatboost learning and statistical face detection
EP1934941B1 (en) Bi-directional tracking using trajectory segment analysis
CN110084299B (zh) 基于多头融合注意力的目标检测方法和装置
CN110348435B (zh) 一种基于区域候选网络的目标检测方法及系统
JP2009116401A (ja) 画像処理装置および画像処理方法
US20110235901A1 (en) Method, apparatus, and program for generating classifiers
US9147130B2 (en) Information processing method, information processing apparatus, and recording medium for identifying a class of an object by using a plurality of discriminators
CN113888586B (zh) 一种基于相关滤波的目标跟踪方法及装置
JP6128910B2 (ja) 学習装置、学習方法及びプログラム
EP3686841A1 (en) Image segmentation method and device
CN111062438A (zh) 基于相关学习的图传播的弱监督细粒度图像分类算法
CN107153806B (zh) 一种人脸检测方法及装置
CN111783543A (zh) 一种基于多任务学习的面部活动单元检测方法
CN116977935B (zh) 一种融合语义信息行人流量计数方法
Ito et al. Point proposal based instance segmentation with rectangular masks for robot picking task
JP7253872B2 (ja) 情報処理装置、情報処理方法、及びプログラム
Song et al. Efficient and Accurate Co-Visible Region Localization with Matching Key-Points Crop (MKPC): A Two-Stage Pipeline for Enhancing Image Matching Performance
CN111353353A (zh) 跨姿态的人脸识别方法及装置
CN112381076B (zh) 一种视频显著性检测任务中图片预处理的方法
Ebrahimian et al. Bag of Freebies Techniques to Improve Face Detection Accuracy for Small Faces
KR20200065907A (ko) 소나영상에서 사전형상 판별을 통한 표적식별 고속화 방법
CN117630012B (zh) 面向复杂农业场景的高效轻量级荔枝果实炭疽病检测方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101220

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20101220

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120123

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120206

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120306

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150316

Year of fee payment: 3

R151 Written notification of patent or utility model registration

Ref document number: 4948379

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150316

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees