JP5235691B2 - 情報処理装置及び情報処理方法 - Google Patents

情報処理装置及び情報処理方法 Download PDF

Info

Publication number
JP5235691B2
JP5235691B2 JP2009004975A JP2009004975A JP5235691B2 JP 5235691 B2 JP5235691 B2 JP 5235691B2 JP 2009004975 A JP2009004975 A JP 2009004975A JP 2009004975 A JP2009004975 A JP 2009004975A JP 5235691 B2 JP5235691 B2 JP 5235691B2
Authority
JP
Japan
Prior art keywords
discriminator
learning
preliminary
data
branch
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.)
Active
Application number
JP2009004975A
Other languages
English (en)
Other versions
JP2010165046A (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 JP2009004975A priority Critical patent/JP5235691B2/ja
Priority to US12/683,982 priority patent/US9256835B2/en
Publication of JP2010165046A publication Critical patent/JP2010165046A/ja
Application granted granted Critical
Publication of JP5235691B2 publication Critical patent/JP5235691B2/ja
Active 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
    • G06V10/7747Organisation of the process, 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
    • G06F18/2148Generating training patterns; Bootstrap methods, e.g. bagging or boosting characterised by the process organisation or structure, e.g. boosting cascade
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • 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
    • G06V10/955Hardware or software architectures specially adapted for image or video understanding using specific electronic processors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/161Detection; Localisation; Normalisation
    • G06V40/165Detection; Localisation; Normalisation using facial parts and geometric relationships

Description

本発明は、情報処理装置及び情報処理方法に関する。
近年、パターン認識の分野において、弱判別器をカスケード接続することにより識別器を構成し、画像中の人の顔などの物体検出処理を高速に実行する手法が注目を集めている。
例えば非特許文献1においてViolaとJonesとが提案する方法では、まず矩形特徴を抽出する弱判別器を所定数カスケード接続し、ステージと呼ばれる強判別器を構成する。この弱判別器はブースティング学習アルゴリズム(特許文献1等参照)により生成される。そしてViolaとJonesとが提案する方法では、更に、このステージを複数カスケード接続した構成のパターン識別器を提案している。ステージ、即ち強判別器単位で打切り判定(画像中の検出対象位置に対する処理の終了)を行いながら処理を進めることにより、早期に検出対象でないと判断された入力に対する以後の演算が行われなくなるので、全体として高速な処理が可能となる。以下にこのパターン識別法についての詳細を説明する。
非特許文献1のパターン識別器は、図1に示すように、ある特定の大きさの矩形領域801(以下「処理ウインドウ」という)を処理対象となる顔検出対象画像800内で移動させ、各移動先の処理ウィンドウ801内に人物の顔が含まれるか否かを判定する。
図2は、各移動先位置における処理ウィンドウ801において、非特許文献1で行われている顔検出処理の流れを示す図である。ある処理ウィンドウ内における顔検出処理は、複数のステージによって実行される。各ステージには、異なる組合せの弱判別器が割り当てられており、これらがカスケード接続で処理されることによって、強判別器となっている。各弱判別器は所謂Haar−like特徴を検出するもので、矩形フィルタの組合せで構成されている。図2に示すように、各ステージに割り当てられる弱判別器の数も異なっている。また、ステージ単位でもカスケード接続構成となっており、各ステージは接続された順番に従って判定処理を行う。即ち、例えば図2において、第1ステージの次に第2ステージが判定を実施し、その次に第3ステージが判定を実施する。
各ステージは、自身に割り当てられた順番に、自身に割り当てられたパターンの弱判別器を順に用いて、処理ウィンドウ内に人物の顔が含まれるか否かを判定する。あるステージにおいて、処理ウィンドウ内に人物の顔が含まれないと判定された場合、それ以降の順番のステージでは、この位置における処理ウィンドウについての判定は実施されない(カスケード処理は打ち切られる)。そして、最後の順番のステージによる判定で、処理ウィンドウ内に人物の顔が含まれると判定した場合に、この移動先における処理ウィンドウ内に人物の顔が含まれると判定する。
図3は、顔検出処理の一例を示すフローチャートである。次に、図3を用いて、顔検出処理のより具体的な流れについて説明する。
顔検出処理では、まず処理の対象となる処理ウィンドウ801が顔検出対象画像800上に配置される(S1001)。基本的には、この処理ウィンドウは、図1に示されるように顔検出対象画像800の端から一定間隔で縦方向及び横方向へスキャンすることによって順に網羅的に移動して選択される。例えば、顔検出対象画像800をラスタスキャンすることによって処理ウィンドウが選択される。
次に、選択された処理ウィンドウについて、処理ウィンドウに人物の顔が含まれるか否かの判定が実施される。この判定は、図2を用いて説明したように、複数のステージを用いて実施される。このため、まず判定を実施するステージが第一のものから順に選択される(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と呼ばれる)を用いることにより高速に計算される。
図4は、SATの一例を説明する図である。図4(a)は元の入力画像を示し、左上を原点(0,0)としている。入力画像(a)の座標位置(x,y)の画素値をI(x,y)としたとき、SATの同位置(x,y)の成分C(x,y)を
Figure 0005235691
として定義する。
即ち図4(b)に示すように、入力画像(a)の原点位置(0,0)と位置(x,y)の画素を対角とする長方形内の画素の総和値がSAT(b)の位置(x,y)の値C(x,y)となる。入力画像(a)の任意の矩形領域内の画素値I(x,y)の和は、このSAT(b)上の4点を参照するのみで求めることができる。例えば、図5に示すように(x0,y0)と(x1,y1)とを対角とする矩形領域内の画素値の総和C(x0,y0:x1,y1)を求めるには、
Figure 0005235691
とすればよい。
次に、算出された特徴量の相対値(例えば比や差分値。ここでは特徴量の差分値が算出されると想定する)としての差分値が算出され、この差分値に基づいて処理ウィンドウに人物の顔が含まれるか否かの判定が実施される。より具体的に説明すると、算出された差分値が、判定に用いられているパターンの弱判別器に設定された閾値よりも大きいか否か又は小さいか否かが判定される。そして、この判定の結果に応じて、処理ウィンドウにおける人物の顔の存否が判定される。
但し、この時点での判定は、各パターンの弱判別器それぞれに基づいた判定であり、ステージによる判定ではない。このように、各ステージでは、割り当てられた全てのパターンの弱判別器それぞれに基づいて個別に判定が実施され、それぞれの判定結果が得られる。
次に、ステージにおける累積得点を算出する。各パターンの弱判別器にはそれぞれ個別の信頼度重み(スコア)が割り当てられている。この信頼度重みとは、その弱判別器単独での「判断の確からしさ」即ち単独の信頼度を示す固定値である。処理ウィンドウに人物の顔が含まれると判定されると、そのとき使用されたパターンの弱判別器に対応するスコアが参照され、ステージの累積スコアに加算される。このようにして、加算された個別のスコアの総計が、ステージにおける累積スコアとして算出される。つまり、この累積スコアとは、そのステージ全体での判断の確からしさ(ステージ全体信頼度)を示す値となる。そして、ステージ全体信頼度が所定の閾値(ステージ全体信頼度閾値)を越えた場合に、このステージでは処理ウィンドウに人物の顔が含まれる可能性有りと判定し、処理を継続して次のステージに移る。一方、このステージにおけるステージ全体信頼度が閾値を越えない場合、処理ウィンドウに人物の顔が含まれないと判定し、以後のカスケード処理を打ち切る。
非特許文献1では、このような手順により、顔検出に代表される高速なパターン識別を実現している。なお、図2、3の検出器は、予め適正な学習を行っておけば、顔以外のパターン識別器として用いることももちろん可能である。
また特許文献2及び3も、非特許文献1の考え方に基づくパターン識別方法や装置に関する技術を開示している。このような弱判別器を一列にカスケード接続した構造を持つパターン識別器は、特に画像中から、良く似たパターン(検出対象パターン)とそれ以外のパターン(非検出対象パターン)とを分離する場合には、高速、かつ、十分な識別性能を発揮する。
しかしながら、検出対象パターンが例えば顔画像であるような場合、正面方向を向いたままであっても、左右に数十度ずつも傾ければ(面内回転という)、元の正立した正面顔に対して「良く似た」パターンとは言えなくなる。更に横顔に近いような軸方向の回転(奥行き回転又は横方向奥行き回転という)が加わると、異なった二次元画像パターンとなる。このような変動の大きいパターンを、一列のカスケード接続で識別するのにはそもそも無理がある。弱判別器のカスケード接続構造は、識別すべき検出対象パターンとは似ていない非検出対象パターンを少しずつ除外して行くためのものであるから、識別すべきパターン同士は互いに良く似ていることが前提となっているのである。
もちろん面内回転のみであれば、正立に近い正面顔を検出する識別器に、入力画像を順次回転させてから入力すれば、360度どの角度の顔であっても識別することは可能ではある。しかし、この方法では、回転回数に応じて処理時間が増大してしまうし、そもそも奥行き回転が加わる場合には対応できない。
そこで、非特許文献2においては、Coarse to Fine戦略に基づく階層状のピラミッド構造の識別器を提案している。この識別器においては、まず第1階層では、検出したい全ての顔向き変動を含む学習画像パターンを入力してステージを学習する。第2階層では、顔向き変動を所定の範囲毎に分割し、それぞれ分割された変動のみを含む学習画像パターンにより、複数のステージを学習する。次の階層では更に狭い範囲の変動毎に分割して学習、というように、階層を進めるにつれて、徐々にロバスト性を下げた強判別器(ステージ)をピラミッドのように構成して行く。なお、この識別器は、横方向奥行き回転の顔向き変動のみを分割して対応している。±90度の全奥行き回転範囲を、第2階層で3分割、第3階層で9分割しており、面内回転に関しては分割していない。
検出処理時は、入力されたサブウィンドウが第1階層のステージをパスしたならば、第2階層のステージを順に実行し、どれか一つでもパスしたら次のステージに進む。このように、粗い検出から始めて徐々に精度の高い検出を行っていくことにより、全ての変動の顔パターンを検出可能な識別器を構成している。
特許文献4でも同様の考え方に基づき、ロバスト性の大きい検出器から徐々に枝分かれして、ロバスト性の低い検出器にサブウィンドウ画像を入力して行く、ツリー構造を持った識別器を構成する方法を開示している。この識別器は、ツリーの枝ノードは、親ノードの受け持つ変動範囲を分割した一部変動を受け持つように学習させる。この方法の一実施形態が対応する顔の変動は、横方向奥行き回転だけでなく、顔が正面から上下を向いた方向となる縦方向奥行き回転も含む。全ての縦横奥行き回転変動を含む第1ノードの検出処理を行った後、まずは正面顔と左右それぞれの方向の奥行き回転顔の3つの変動に分岐する。そして次の階層で縦方向奥行き回転別に更に3つに分岐する。正面顔の縦方向回転中央の変動の分岐のみは、更に次の階層で3分岐する構成となっている。このような分岐構造を予め決めた上で、それぞれの変動に対応するサンプルデータを多数入力して、各分岐を学習させるようにしている。
特許文献4の方法は、非特許文献2とは異なり、上位層で打ち切られた変動に含まれる下位層の演算を行う必要がなくなるため、高速性が実現できるとしている。なお、特許文献4における弱判別器は、矩形差分ではなくピクセル差分を用いているが、弱判別器のカスケード接続により強判別器を構成するという考え方は同様である。
非特許文献3では、特許文献4と同様のツリー構造の識別器の別の学習方法を提案している。本文献に記載されている識別器が対応する変動は、面内回転と横方向奥行き変動である。全変動を含む第1階層のノードから、横方向奥行き回転を2段階で5分岐させ、然る後に第4階層において回転変動を3分岐させる構造を定めている。この構造に従って、学習を進めるのは、上述の文献と同様である。
最終分岐に到達する前に学習される各ノードの検出器の出力は、上述の文献と異なりスカラー値ではなく、そのノードの次の層の分岐数と一致した要素数のベクトル値である。即ち分岐前の各ノード検出器は、非顔画像の打切りだけでなく、次の層の分岐選択も行う機能を持つ。検出時において、各ノードの出力ベクトルの値が1に近い要素に対応する分岐のみが起動されることにより、不要な演算を行う必要がなくなり、高速性が確保されるとしている。
特開平8−329031号公報 特開2004−185611号公報 特開2005−44330号公報 特開2005−284487号公報 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
非特許文献2、3や特許文献4のような従来技術では、Coarse to Fine或いはツリー構造による変動範囲の分割方法(即ち分岐構造)を、学習に先んじて決めている。例えば、非特許文献2においては、横方向奥行き回転変動のみを分割により対応しており、面内回転に関しては分割していない。特許文献3は、横方向と縦方向との両方の奥行き回転変動に対応しているが、上位層で横方向変動の分岐を行った後に、下位層で縦方向変動の分岐を行うように、構成を決めている。非特許文献3では、横方向奥行き回転変動の分岐を行った後に、面内回転変動の分岐を行っている。
これらの分岐構造は、機械学習処理を実施させる人間が、経験的(或いは直感的)に決めているものであるから、対象とする変動を含むパターンを識別する上で、最適な分岐構造となっているとは限らない。例えば上述の非特許文献3においては、奥行き回転変動分岐を、面内回転変動の分岐よりも後に行った方が、識別性能が良くなるかもしれないし、入力したパターンが属さない分岐の早期打切り率が上がって処理速度が向上する可能性もある。
もちろん、最も好適な分岐構造を選択するには、考えられるあらゆる分岐構造についてそれぞれ学習を行ってみて、結果的に最も良好な検出性能を発揮する構造を採用する、という方法もある。しかしながら、一般的に機械学習処理には非常に長い時間がかかるため、このような総当り的な処理を実行するのは現実的でない。
本発明はこのような問題点に鑑みなされたもので、分岐構造の識別器を学習する上で、処理時間を大きく増大させずに好適な分岐構造を構築することを目的とする。
そこで、本発明の情報処理装置は、複数の変動カテゴリの組み合わせで分類された複数の識別対象パターンのサンプルを評価用データとしてそれぞれ個別の予備識別器に入力して、各予備識別器を学習させる予備学習手段と、前記予備識別器で識別処理を実行し、該識別処理の結果の変動カテゴリ毎の変動に基づいて分岐構造を決定する分岐構造決定手段と、前記分岐構造に基づき、分岐型パターン識別器を学習させる本学習手段と、を有することを特徴とする。
かかる構成とすることにより、分岐構造の識別器を学習する上で、処理時間を大きく増大させずに好適な分岐構造を構築することができる。
また、本発明は、情報処理方法、プログラム及び記憶媒体としてもよい。
本発明によれば、分岐構造の識別器を学習する上で、処理時間を大きく増大させずに好適な分岐構造を構築するができる。
以下、本発明の実施形態について図面に基づいて説明する。
<実施形態1>
(ブロック図解説)
図6は、情報処理装置の構成を示すブロック図である。
画像入力部201は、パターン識別処理対象となる入力画像データや、学習用サンプル画像データを装置内に取り込む機能を持つ。画像入力部201は、光学系、CCD(Charge−Coupled Devices)センサー等の光電変換デバイス/ドライバー回路/ADコンバーター/各種画像補正を司る信号処理回路/フレームバッファ等により構成するカメラ装置である。或いは、画像入力部201は、後述の通信インターフェース部(通信I/F)206とハードウェアを共用し、I/Fに接続されるネットワーク等の所定の通信経路を介して外部装置から画像データを受信するI/F装置であってもよい。
前処理部202は、検出処理を効果的に行うための各種前処理を実行する。より具体的に説明すると、前処理部202は、色変換処理/コントラスト補正処理/SAT(Sammed Area Table)データの生成等、各種画像データ変換をハードウェアで処理する。判別処理部203は、前処理部202の出力を参照して所定のオブジェクトを判別する機能を有する。判別処理部203は、学習によって生成したパラメータに基づいてブースティング判別処理を実行する。なお、前処理部202及び判別処理部203の機能(又は一部機能)は、後述するCPU208で実行されるソフトウェア・プログラムによる処理として実装するようにしてもよい。
DMAC(Direct Memory Access Controller)204は、CPUバス205上の各処理部やRAM210/ROM209間のデータ転送等を司る。
通信インターフェース部206は、処理部を介して外部装置から本装置に所定の動作を指令したり、学習のために必要なデータ群を外部の装置から後述の大容量記憶部211に転送したりする事ができる。
ユーザー・インターフェース部(UserI/F)207は、例えば、操作者が装置の動作を指定する為の押しボタン・スイッチや、操作者に情報を提示するためのディスプレイ・パネルのような、入出力デバイスである。
CPU(Central Processing Unit)208は、実施形態に係る処理を実行すると共に、バス205を介して接続される本装置全体の各部の動作を制御する。ROM209は、CPU208の動作を規定する命令を格納する。RAM210は、CPU208の動作に必要な作業メモリとして使用される。RAM210は、DRAM(Dynamic RAM)等の比較的容量の大きいメモリで構成する。大容量記憶部211は、ハードディスクやフラッシュメモリ等の大容量データ記憶装置である。例えば学習のために必要なサンプル画像等の大量データセットは、大容量記憶部211に格納する。
なお、本装置はCPUバス205に全ての装置が接続される構成を取る。しかしながら、例えば画像入力部201、前処理部202、判別処理部203、DMAC204を別のバス(画像バス)に接続し、画像バスとCPUバスとの間をブリッジで接続する構成とするようにしてもよい。このようにバスを分離する事で、ハードウェアによる処理部201〜203とCPU208とは並列に動作可能とすることもできる。
(変動カテゴリ)
本実施形態の情報処理装置では、図7に示す3つの変動カテゴリで分類される変動を組合せた変動を含む顔画像を検出対象パターンとする、分岐構造のパターン識別器(分岐型パターン識別器)を学習する例を用いて説明を行う。
変動カテゴリ(i)は、面内回転変動である。正立状態(図中中央)から時計周り(+とする)/反時計回りにそれぞれ45度回転した顔までを対象の変動範囲とする。本実施形態では、この±45°の範囲を3分割するものとし、−45°〜−15°の範囲をa、正立を含む−15°〜+15°の範囲をb、−45°〜−15°の範囲をcとラベル付けしている。
変動カテゴリ(ii)は、左右方向の奥行き回転変動である。本実施形態では、正面顔から左右向きの横顔までを対象の変動範囲として、この範囲を3分割している。右向きの横顔からほぼ両目の写る直前までの顔(−90°〜−30°)をA、正面顔含む両目の写る顔(−30°〜+30°)をB、左向きの横顔からほぼ両目の写る直前までの顔(+90°〜+30°)をCとラベル付けしている。
変動カテゴリ(iii)は、サイズ変動である。本実施形態では、面内回転0°のときの両目と口の高さの差の画素数で顔サイズを規定する。最小顔サイズは16、最大顔サイズは22で、この範囲を2分割して小を1、大を2とラベル付けしている。なお、この範囲外の顔は、入力画像を拡大・縮小したチャネル処理によって検出される。
本実施形態では、これら3つのカテゴリによる変動が入り混じった顔画像を検出対象としている。もちろんこれに上下方向の奥行き回転変動を加えてもよいし、それぞれの変動の分割数を更に増やして、検出精度の向上を図ることも可能であるが、説明が分かりにくくなるので割愛する。
また、各変動カテゴリの隣接する分類にオーバーラップ領域を設けて、どちらの分類にも所属するパターンが存在するようにしてもよい。例えば、変動カテゴリ(i)について、−45°〜−12.5°の範囲をa、正立を含む−17.5°〜+17.5°の範囲をb、−45°〜−12.5°の範囲をcとすることもできる。この場合、オーバーラップ領域に属する例えば+15.0 °の回転データは、bだけでなくcとしても分類する(必要ならデータをコピーする。)。
後述の予備識別器や本識別器の分岐の各枝は、上記変動カテゴリ各々の1分類を検出すべき担当範囲とする。これらの識別器を学習する際、このようなオーバーラップ領域を設けた分類のデータを用いることにより、隣接分類の境目の相当するパターンが取りこぼされにくくなり、よりロバスト性を高める効果が見込める。
(検出処理)
ここで、本実施形態の情報処理装置の識別器における検出処理について説明する。
本実施形態のパターン識別器には、予備学習処理(後述)により生成される予備識別器と、その後の本学習(後述)により生成される分岐構造を持った本識別器と、がある。何れの検出処理も判別処理部203を用いて実行される。
図8(a)は、分岐構造を持たない予備識別器1つの構成を示す図である。予備学習処理では、この構成の識別器を、全ての変動カテゴリの組合せ毎に一つずつ生成する。301等の図中の円で示されるノードは、一つの弱判別器を示す。本実施形態の識別器では、非特許文献1のようなステージ構成ではなく、弱判別器一つずつに打切り判定がなされるようにしているが、ステージ構成を取ってもどちらでもよい。所定数のカスケード接続された弱判別器を最後まで通過した入力は、最後に最終判定閾値による閾値処理(最終判定)302が行われて、受け入れられた場合は対象オブジェクトであると判断される。
図8(b)は、本識別器の一例を示す図である。この本識別器はツリー状の分岐構造をもっていて、1段目の弱判別器303から処理を開始し、3段目304、305で2分岐している。5段目においては2分岐それぞれが更に3分岐する構成となっている。最終段306まで打ち切られなかった入力は、307において最終判定され、ここで受け入れられれば対象オブジェクトであると判断される。
このようなツリー構造識別器において、分岐処理の実行方法はいくつかのバリエーションが考えられる。
第一の方法は全起動であって、全ての分岐を実行する方法である。この場合、途中で打ち切られずに最終段306までたどり着いた分岐の出力は、全て最終判定部307に入力される。最終判定部307は、各分岐の出力座標や判別の信頼度に応じて、所定の統合処理を行った後に閾値処理して、受け入れるかどうか判定する。この方法のメリットは、検出と同時に変動カテゴリによる分類を正確に行えることである。デメリットとしては処理時間がかかることである。
第二の方法は全探索起動である。この場合、図中で例えば上の分岐から順に、打ち切られるまで検出処理を実行する。打ち切られた場合には、直前の分岐まで戻って直下のノード(兄弟ノード)を実行する。最終段にたどり着いた分岐があれば、そこで最終判定を行い受け入れられれば処理完了とする。受け入れられない場合は直前の分岐に戻って継続する。この方法のメリットは、実装が容易な割には速度が向上することである。デメリットとしては、分岐の実行順序に依存するため正確な分類は行えないことである。
第三の方法は分岐選択起動である。この場合、途中のノードの処理結果に基づき、どの分岐を起動するか選択する。メリットは高速性である。分類の正確度は選択方法に依存する。デメリットは処理が複雑になることで、例えば非特許文献3のような分岐選択可能なノードを生成するようにしたり、他の分岐選択方法を実装したりする必要がある。
これらの起動方法は何れを用いてもよく、実施形態の本質には関わらないので詳細な説明は割愛する。
図9は、判別処理部203に搭載される弱判別器の詳細を示す図である。401、402はそれぞれ1つの弱判別器とその周辺回路(合わせてノードという)とを示すブロック図である。図9は論理的な接続状態を示しており、不図示の更に多くのノードがカスケードに、或いは途中分岐して接続されている。ノードは、物理的には1つの処理回路で構成され、時分割にパラメータを切り替えて使用することにより、論理的に多数のノードを実現している。もちろん高速化を目的として、いくつか或いは全てのノードを物理的な回路として実装し、並列処理を行えるようにしてもよい。
パラメータメモリ411は、弱判別器を構成するためのパラメータ情報を格納するメモリである。本実施形態の弱判別器は、非特許文献1と同様の矩形特徴を用いるものである。従ってパラメータメモリ411のより具体的な内容は、矩形数・矩形座標・フィルタ係数・フィルタ閾値・信頼度重み(=スコア)・識別閾値となっている。これらのパラメータは、実際には判別処理部203内のメモリ・ブロック領域に格納されており、アドレス・デコーダによって所望の弱判別器に対応するパラメータが読み出される。411は弱判別器1に対応するパラメータ・セット1を読み出したことを示し、412は弱判別器2に対応するパラメータ・セット2を読み出したことを示している。
ここで、「矩形数」とは検出ウィンドウ内における矩形の数を指定する情報であり、例えば、図2に示した第1及び第2ステージの弱判別器のようなフィルタの場合、矩形数が2となる。また図2の第nステージ第m弱判別器の場合は、矩形数3となる。同図では、白矩形、黒矩形が一つずつの矩形である。弱判別器421は、それぞれの矩形内総和値(又はその平均値)に矩形毎に設定される「フィルタ係数」を乗じた値の合計を「フィルタ閾値」を用いて閾値処理する。閾値条件(即ち式(3))を満たすとき、弱判別器421は1を出力し、満たさない場合−1を出力する。
Figure 0005235691
ここで、pは、矩形領域の数である。また、Siは、矩形領域内の画数値の総和である。また、Ciは、矩形領域に対するフィルタ係数である。また、WTh_tは、ノートtの弱判別器のフィルタ閾値(判別閾値)である。
矩形領域の形状・位置や数、またフィルタ係数Ci及びフィルタ閾値WTh_tは、学習時に決定するパラメータである。本実施形態の弱判別器では、Ciは必ず1又は−1のどちらかの値となっている。つまり、式(3)の左辺は複数の矩形領域内の画素総和値Siの差分値を求める処理に相当する。この差分値が所定のフィルタ閾値(判別閾値)WTh_tより大であるとは、弱判別器に限れば入力データは識別対象パターンであると判断されたことに相当する。
矩形領域内総和値 は先に説明した通り、SATデータを参照することで極めて高速に算出する事が可能である。450はSATメモリであって、前処理部202により検出処理の開始前に算出した1枚の入力画像データに対するSATデータを格納している。弱判別器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 0005235691
式(4)を満足するならば処理を継続し、次ノードへ累積スコア(全体信頼度)を出力する。最終ノードでこの判別条件を満たせば、検出対象パターンであると判断する。この最終判別処理は、分岐構造のない予備識別器の場合、図8の302の処理に対応する。なお、信頼度αkと識別閾値Tgh_tは、t段目のノード学習時に決定するパラメータである。
信頼度αkは、ノードに対応するパラメータメモリ(411、412相当)から読み出され、乗算器(431相当)で弱判別器(421相当)の出力hk(x)と乗じられる。そして加算器(441相当)で前段ノードから出力されてくる累積スコアと加算される。打切り判定部(461相当)では、弱判別器に対応するパラメータメモリ(411相当)から読み出した識別閾値Tgh_tを使用して、ここまでの累積スコア
Figure 0005235691
に対する式(4)の判定を行う。
累積スコアが識別閾値Tgh_t以上であれば、処理継続となり次段のノードへ累積スコアが出力される。なお、分岐構造の場合には、分岐する全ての兄弟ノードに同じ累積スコア値が出力されるようになっている。
図8の302及び307は最終判定処理部であり、累積スコアに対して(分岐構造の場合は必要な統合処理等行った後に)、最終識別閾値で閾値処理する。特に非分岐構造の最終ノードである303では、図9の461に相当する打切り判定は不要となり、加算器341から出力される累積スコアが最終判定部302にそのまま入力され判定に用いられる。このとき打切り判定部461の判定閾値を十分に小さい負値としている。或いは、不図示のセレクタにより打切り判定部461を介さず累積スコアを出力するパスを設けてもよい。分岐構造の場合は同様にしてもよいが、最終段306で打切り処理した後に残ったものだけを用いて統合及び最終判定処理するようにしてもよい。何れにせよ、共通のノード処理回路を用いることが可能である。以上の処理により、ブースティング判定処理を実行している。
(基本学習処理)
次に図10を用いて、情報処理装置の学習処理について説明する。
図10は、複数の弱判別器から構成する1つのブースティング判別器を機械学習処理する場合の一例を示すフローチャートである。なお、以下に示す処理は、図6におけるCPU208が実行する。ここで1つのブースティング判別器とは、先に説明した予備識別器の中の1つのことであり、また分岐構造の本識別器においては分岐の1本に相当するものである。なお、上述したように、予備識別器は、識別処理を段階的に実行し、識別対象パターンでないと判断した段階で以降の段階の処理の打ち切りを実施する識別器である。
また、後程、図11のステップS101の処理として説明するが、学習処理に先立ち、大容量記憶部211には学習に必要なデータ群がカテゴリに従って分類されて格納されている。そして、学習しようとするブースティング判別器の担当すべき分類範囲に属する検出対象データと、背景等の非検出対象データと、がそれぞれ多数、学習処理に用いられる。例えば、図7で説明したラベルaB1を担当する予備識別器或いは本識別器の分岐の1本の学習においては、同ラベルaB1に分類される大容量記憶部211に保持された顔画像データの、全て又はその1部が検出対象データとして用いられる。
以下、AdaBoostアルゴリズムに従って弱判別器を学習する。基本的な学習アルゴリズムは非特許文献1に記載の手法と同一である。
まずステップS601で、CPU208は、大容量記憶部211に保持する学習データから、今回の学習に使用するデータを選択する。ここではCPU208は、検出対象パターンである顔データと非検出対象パターンである非顔データとを、所定の比率の数となるように取り出す。
予備識別器又は本識別器の分岐には、それぞれ担当すべき変動カテゴリの組合せによる分類があるので、分類に所属する顔データが検出対象パターンとして選ばれる。非検出対象パターンとしては非顔データが用いられるが、更に非検出対象パターンとして担当しない変動カテゴリ組合せで分類される顔パターンを追加して学習することも可能である。このようにすると、各予備識別器或いは分岐は、より選択性の高い検出処理を行うようになることが期待できる。
ステップS602では、CPU208は、取り出した学習データセットに対する重み係数を初期化する。学習データの総数がm個の場合、全ての重み係数wt,i(t:ノード番号、i:学習データ番号)を以下の式(5)で初期化する。
Figure 0005235691
つまり、第1ノード学習時には、全ての学習データに対して共通の重みを与えている。
続いて、ステップS603〜S610でCPU208は、1つの弱判別器を学習する。
ステップS603でCPU208は、式(6)に従って重み係数を正規化する処理を行う。
Figure 0005235691
もちろん最初にこのステップS603に入ってきたときは、重み係数w1,iはS602(式(5))で設定された値になっているので、既に式(6)を満たす状態となっている。従って、このステップS603は、第2ノード以降の学習時に重み係数wt,iが変更された場合に、その総和が1となるように正規化するための処理である。
まず、ステップS604でCPU208は、矩形フィルタ群の中から1つの矩形フィルタを選択する。矩形フィルタ群とは、予め定めた形状の基本矩形フィルタに対して、その大きさや検出ウィンドウ内の位置に応じた変形を有する複数の矩形フィルタ候補である。例えば、図2の第1弱判別器に例示した上下の隣接矩形領域の差分フィルタの場合であっても、その矩形領域の大きさや縦横比、検出ウィンドウ内の位置に応じて複数の変形が考えられる。矩形フィルタ群としては、予め定めたいくつかの基本矩形フィルタを基準にして、その変形も含めた全ての組合せを用意しておく。用意された矩形フィルタ夫々に通し番号を振って、これをフィルタ番号とする。本ステップでCPU208は、用意したこれら矩形フィルタ候補を一つずつ順に選択する処理を行う。
次に、ステップS605でCPU208は、選択した矩形フィルタ候補を用いて、全ての学習データに対するこの矩形フィルタの判別性能評価を行う。まず、CPU208は、全ての学習データに各々に対して、この矩形フィルタ出力値を算出し、検出対象と非検出対象とを分離する閾値を決定する。このときCPU208は、フィルタ出力値の算出を、判別処理部203を利用してハードウェアで処理する。また、CPU208は、閾値の決定を矩形フィルタ出力値のヒストグラムを利用して行う。図12は、全学習データに対する検出対象データのヒストグラム1302と非検出対象データのヒストグラム1301とを示す図である。横軸はフィルタ出力置(矩形差分値)で縦軸はその値となった学習データの数を表す。CPU208は、このヒストグラムを使用して検出対象と非検出対象とを最もよく分離する閾値FTh_t,j(誤り率最小となるもの。t:学習中のノード番号、j:フィルタ候補番号)を決定する。
更に、ステップS605では、CPU208は、決定した閾値FTh_t,jを用いて全ての学習データに対する検出誤り率を算出する。式(7)は全ての学習データに対する重み付き誤り率である。
Figure 0005235691
ここで、tは、学習中のノード番号である。jは、フィルタ候補番号である。iは、学習データ番号である。
ここで、ht,j(xi)は矩形フィルタ候補jによる学習データiの判定出力であり、前記閾値FTh_t,jを使用して入力対象データxiが検出対象であると判定した場合1を出力し、検出対象を含まないと判定した場合0を出力する。yiは正解ラベル(教示ラベル)であり入力学習データiが検出対象であるか否かによって、それぞれ1又は0が割り当てられている。ステップS606による繰り返し処理で、CPU208は、以上の処理(ステップS604、S605)を全ての矩形フィルタ候補に対して実施しそれぞれの重み付き誤り率Et,jを求める。
全ての重みつき誤り率Et,jの算出が終了すると(ステップS606)CPU208はこの中で最も重み付き誤り率Et,jの小さい矩形フィルタ候補j(即ち最も判別性能が高い矩形フィルタ)を探して、これを弱判別器として選択する(ステップS607)。このときの重み付き誤り率をFTh_t,jとする。また、このフィルタで用いられた閾値FTh_t,jをフィルタ閾値WTh_tとする。
そして、CPU208は、式(8)により弱判別器に対する信頼度αtを算出する(ステップS608)。
Figure 0005235691
CPU208は、算出した信頼度αtやフィルタ閾値WTh_t、矩形フィルタの矩形領域の形状・位置・数・フィルタ係数を、RAM210に学習中のノードtのパラメータとして記録する。
次にステップS609において、CPU208は、打切り閾値を決定する。ここでもCPU208は、矩形フィルタの判定閾値を決定した手法と同様に、検出対象データに対する累積スコアのヒストグラムと、非検出対象データに対する累積スコアのヒストグラムと、から閾値を決定する事ができる。図13は、打切り閾値の決定法を説明するための累積ヒストグラムの例を模式的に説明するための図である。1401は非検出対象データに対する累積スコアのヒストグラム、1402は検出対象データに対する累積スコアのヒストグラムである。CPU208は、検出対象データに対する打切り割合(検出対象データの打切り数/検出対象データ数)が所定以下の許容範囲になる様に打切り閾値を決定する。検出対象データの打切り数とは即ち、1402の累積スコアが、ここで定めた閾値以下になるデータの総数である。非検出対象データに関しては打ち切られる程良いので、ここでは考慮しなくてよい。ここで定めた閾値が、図9の打切り判定部461で用いられる打切り閾値パラメータTgh_tとなる。
更にステップS610では、CPU208は、各学習データに対する重み係数を下記演算式(9)で更新する。
Figure 0005235691
但し、式(9)で更新する重み係数Wt,iは正しく検出できた学習データiの係数のみである。即ち、正しく検出された学習データ(検出対象データ、非検出対象データ共)の重みは、小さくなる様に更新される。従って、ステップS610では、検出を誤った学習データに対する重みを、相対的に大きくしていくことになる。
ここまでの処理(ステップS603〜ステップS610)で1つの弱判別器を生成した後、ステップS611ではCPU208は、所定の完成条件を満たすブースティング判別器が生成された否かを判定する。ここで所定の条件とは、弱判別器数が予め設定した上限数に到達したか、式(7)で計算した重み付き誤り率Ejが所定の値を下回り、学習を開始する際の所望の性能を達成できた場合に満たされる。条件を満たさない場合、CPU208は、ステップS603に戻って、続く弱判別器の生成処理を継続する。
(学習全体フロー)
本実施形態の情報処理装置における学習処理の全体の流れは、図11のようになる。図11は、学習処理全体の流れを示すフローチャートである。
まずステップS101において、サンプルデータの入力と分類処理とを行う。これは学習に用いる検出対象オブジェクト画像データ(本実施形態では顔画像データ)と、後述の予備識別器の評価に用いる同データと、を装置に入力するステップであり、それぞれ対象とするカテゴリの変動を全て含んだ十分な数のデータが必要である。なお、学習用データと評価用データとは別々に分けて入力してもよいし、ここで多量の顔画像データ群を入力しておき、学習と評価時とにそれぞれサンプリングして用いるようにしてもよい。
また、検出対象オブジェクトでない物体や背景等の非検出対象オブジェクト画像データ(本実施形態では非顔データ)も、このステップで装置に入力され、後のステップにおける学習・評価に用いることが可能となる。
これらデータの入力は、図6の画像入力部201によって行われる。画像入力部201がカメラ装置で構成される場合には、撮影によって収集された顔画像に、ユーザがUser I/F207を介して必要な付随情報(目口の位置座標等)を入力することによりデータが蓄積される。或いは画像入力部201と共用の通信I/F206とを介して、外部装置より予め収集された顔画像を付随する情報と共にデータを入力することもできる。入力された学習データ及び評価データは、大容量記憶部211に保持される。
入力・保持された顔画像データは、付随する情報を用いて、識別器が対応しようとする全ての変動カテゴリで分類(ラベル付け)する。例えば、「反時計回りに30°面内回転した左側10°の奥行き回転方向を向いたサイズ18の顔」は、図7に示したラベルで「aB1」と分類される。
本実施形態において、顔データには、両目座標・口座標・奥行き回転角度の3つの情報が付随する。User I/F部207でこれらの情報を入力する場合には、ディスプレイ上に表示された顔画像に対し、マウス等のポインティング・デバイスを用いて目口の座標を示す。また、キーボードにより(主観的な)奥行き回転角度を入力する。外部装置より学習用及び評価用データが送られてくる場合には、既に入力済みのこれら付随情報も合わせて送られてくる。
本実施形態において、カテゴリ(i)の面内回転角度は、両目を結ぶ線分の角度により算出される。この線分が画像中で水平の場合が面内回転0°であり、これを基準として時計回り方向の回転を+とする。また、カテゴリ(iii)のサイズ変動は、両目を結んだ線分と口位置までの高さとの差の画素数により計算する。横顔で片目しか見えていない場合には、別途頭の真上を示す頭頂方向を付随情報として入力しており、これによって面内回転とサイズとを計算することができる。なお、片目の目尻目頭、耳位置、鼻孔位置等、特徴点位置を示す付随情報を増やして、これらから頭頂方向を推定計算するようにしてもよい。
なお、ステップS101の入力・分類処理は、学習開始前の何時のタイミングで行ってもよい。続く学習や評価ステップで用いるデータが異なる場合には、それぞれの開始前までに完了して、大容量記憶部211に保持されていればよい。或いは、続く学習や評価ステップにおいて、通信I/F206を介して外部装置に蓄積された分類済みデータを逐次取りに行くように実装してもよい。
続いてステップS102において、予備識別器の予備学習を行う。予備識別器は、図8(a)に示した分岐無しのカスケード接続型識別器で、全ての変動カテゴリの組合せ対して、それぞれ1つずつ生成する。本実施形態の対応する面内回転(i)3分割、奥行き回転(ii)3分割、サイズ変動(iii)2分割の場合、3×3×2=18本の予備識別器が生成される。
予備学習処理は先に説明した学習処理アルゴリズムに従って、CPU208の動作として実行される。各々の予備識別器に対する検出対象データは、識別器が担当する変動カテゴリの組合せで分類される顔データである。例えば、図7のaB1のラベルで示される分類に対応する予備識別器は、同ラベルの付いた顔画像のみを検出対象データとして入力する。また、非検出対象の非顔データは、何れの予備識別器であっても共通である。なお、学習しようとする予備識別器の担当外の変動カテゴリに属する顔データを、非検出対象データに加えて学習させることも可能である。このようにすると検出対象に対する選択性が高まることが期待できる反面、ロバスト性が低下する可能性もあるため、実施する際には見極めが必要である。
ここで生成する予備識別器の長さ(弱判別器の接続段数)は、数百段以上になる本識別器に比べて、非常に短くてよい。予め十段〜数十段程度の所定段数を定めて学習を開始するか、若しくは後述の評価処理が可能となるような条件を満たすことを学習完了の判別条件とすることができる。
次のステップS103では、CPU208は、生成した予備識別器を評価し、分岐させるカテゴリの順序を決定する。この処理では、予備識別器に対し、あるカテゴリ変動の組合せに属する評価用データを投入し、その検出処理結果(識別処理結果)に基づきカテゴリの優先順位を決定する。本実施形態では、検出処理結果に基づく優先順位の決定方法の一例として、評価用データの打切り率を用いる方法を開示している。
図14は、本実施形態におけるステップS103の予備識別器評価処理を説明するための図である。以下、図14に従って処理の詳細を説明する。
最初にステップS701において、CPU208は、大容量記憶部211に記憶されているデータから、今回の評価で用いる検出対象データ(顔画像データ)を選択する。これらの顔画像データは、先に述べたようにカテゴリ変動の組合せで分類されており、CPU208は、全ての組合せの分類について一定数となるように選択する。なお、本評価処理においては、非検出対象データ(非顔データ)は使用しない。
次にステップS702からS711までのループ処理において、CPU208は、投入する評価データの分類ラベル毎の処理を行う。まずS702において、CPU208は、例えば図7の分類での「aA1」のような、データ分類ラベルを一つ選ぶ。
続くステップS703からS710までのループ処理では、CPU208は、予備識別器の分類ラベル毎の処理を行う。ここで、「aA1」のラベルの識別器は、「aA1」のラベルのデータを検出対象とするように学習された識別器である。S703でCPU208は、識別器ラベルを一つ選ぶ。識別器ラベル1つにつき対応する1つの予備識別器が存在するので、これは予備識別器を一つ選ぶことと等価である。
次のステップS704で、CPU208は、S701で選択された評価用データの中から、S702で選択したデータ分類ラベルの示す分類に属するデータを一つ選択する。そしてステップS705において、CPU208は、選択したデータをS703で選択したラベルの予備識別器に投入し、検出処理を実行する。
予備識別器は、先に述べた通りそれぞれ所定段数まで生成されている。CPU208は、S706において投入したデータが所定段数まで打ち切られずに残っていたか否かを判別し、打ち切られていた場合には、ステップS707においてその識別器における打切り数をカウントアップする。なお、ループの先頭(S703)で、打切り数は0に初期化されている。
ステップS708において、CPU208は、S702で選択したデータ分類に属する評価用データが、一通り最後まで評価されたかどうかを判別する。最後まで処理されていなかった場合、CPU208は、S704に戻って次のデータを選択する。
データ分類のデータが一通り処理し終わった場合、ステップS709において、CPU208は、打切り率を計算し、計算した値をRAM210に保持する。
そしてステップS710において、CPU208は、全予備識別器に対するループ処理が完了したかどうかを確認する。完了していなければCPU208は、S703に戻って次の予備識別器を選択する。
CPU208は、次のステップS711では、同様に投入データ分類ラベルの最後まで処理し終わったかどうかを確認し、処理し終わっていなければS702に戻って次のデータ分類ラベルを選択する。以上の処理により、RAM210上には図15に示すように、投入したデータの分類ラベルと検出処理した識別器ラベルの組合せでの、それぞれの打切り率の一覧表が構築される。
ところで、あるカテゴリ変動の組合せに属する検出対象データ群を、全ての予備識別器に投入した場合、処理段数が進むにつれて各識別器における打切り率は、例えば図16のように推移して行く。図16は、分類ラベル「aA1」のデータ群を投入した一例を示す図である。図16は分類ラベル「aA1」のデータ群を投入した一例であるので、変動を検出対象とするaA1予備識別きにおける打切り率が最も低くなっている。他の識別器はaA1より打切り率は高いが、異なったカテゴリ(即ちラベルの桁位置)によって、その差は異なった傾向となっているのが分かる。例えば、カテゴリ(ii)(iii)をA1に固定し、カテゴリ(i)のみ異なった識別器の打切り率を見ると、cのときに非常に高い値となっており、bでもその中間値になっている。対してカテゴリ(i)(ii)をaAに固定してみると、カテゴリ(iii)のラベルが1のときと2のときとの打切り率の差はそれほど大きくない。
打切り率の変動が大きくなるカテゴリは、識別器にとっては分類間の変動が大きく区別しやすい(よって他の分類のとき早期に打切りしやすい)と考えられる。従って、本学習で構築する分岐構造の本識別器においては、打切り率の変動が大きくなるカテゴリ程早期に分岐させるようにすることにより、処理速度と検出精度の向上が見込める。本実施形態では、この考え方に基づき、分岐の優先順位を決定する。なお、図16に示したように、ある程度の処理段数以上では、各識別器の打切り率の大小関係はそれほど変化しなくなるため、所定段における打切り率(即ち図15の表)の分散を調べることで、CPU208は、この優先順位を決定することができる。
ステップS712〜S719のループにおいて、CPU208は、それぞれの投入データ分類ラベル(図15の表の縦1列ずつ)に関し、各変動カテゴリそれぞれについての打切り率の分散の平均値を計算する。まずステップS712において、CPU208は、分類ラベル(表の1列)を一つ選択する。次にステップS713でCPU208は、注目するカテゴリ(即ち3桁のラベルの桁)を選択する。以下には、例としてカテゴリ(i)を注目カテゴリとする場合に関して説明する。
次のステップS714では、CPU208は、注目しているカテゴリでない他のカテゴリのラベルの組合せを一つ選択する。カテゴリ(i)に注目している場合には、他のカテゴリは(ii)と(iii)となので、このラベル組合せとは、例えば「A1」というようになる。
そしてS715において、CPU208は、この他カテゴリラベルを固定して、注目カテゴリのみを変化させたときの打切り率の分散を式(10)により計算する。
Figure 0005235691
ここで、Kとは注目カテゴリであってlはそのラベルの1つである。nkは注目カテゴリの分類数、L'L''は2つの他カテゴリを選択したラベルに固定したことを示し、xlL'L''はラベルの打切り率、
Figure 0005235691
はその平均を示す。説明中の例で
は、図15におけるデータ分類ラベル「aA1」の列で、予備識別器ラベル「aA1」「bA1」「cA1」の3つの値の分散を計算する処理に相当する。
CPU208は、全ての他カテゴリラベルの組合せL'L''に関して同様に分散を計算すべく、S716からS714へ戻る。ステップS716で、CPU208は、最後の他カテゴリラベルまで計算したかを判別する。
注目カテゴリにおける分散値が一通り計算できた場合、次のステップS717でCPU208は、その平均値を計算する。このようにして、注目カテゴリにおける平均打切り率分散値が求められる。
ステップS718では、CPU208は、選択中のデータ分類ラベルに関し、全てのカテゴリにおいてS713からのループ処理が行われたかどうかを判別する。
そして次のステップS719で、CPU208は、全てのデータ分類ラベルに関する同様の処理が完了したかどうかを判別し、完了していなければS712に戻る。
ステップS720に到達すると、データ分類ラベル毎に、カテゴリ別の分散値が求まっている状態となっている。ステップS720では、CPU208は、全データ分類ラベルに対するこれらの分散値を統合し、カテゴリ毎に一つずつ対応する統合値を計算する。なお、この統合処理は単純な加算でもよいし、データ分類数で除算した平均値でもよい。
ステップS721では、CPU208は、このカテゴリ毎の統合値を比較し、カテゴリ優先度を決定する。ここではCPU208は、統合値の大きなカテゴリほど、優先度高と判断する。
以上の処理により、CPU208は、優先度高のカテゴリから分類数に一致する分岐を順に行っていく分岐構造を決定する(分岐構造決定)。図17は、図15の打切り率一覧により決定された分岐構造の一例を示す図である。図中、各分岐後1段目のノード内に示すラベルが、その分岐が担当する検出対象データの変動の分類を表している。例えば、図17の一番上の枝となるパスは、「aA1」分類データを検出するための分岐である。なお、分岐前までの処理ノード数は本実施形態では経験的に定めた数としているが、ここでは数は固定せず、次に説明する本学習で累積スコアや重み付き誤り率の推移等で定めるようにしてもよい。
図11の説明に戻り、CPU208は、以上、ステップS103で定めた分岐構造に基づき、次のステップS104にて分岐構造をもった本識別器を学習する。この本学習処理は、基本的に先に述べた予備学習と同様であるが、各分岐位置において識別器のコピーと検出対象データの分割とが行われるところが異なる。
例えば図17において、第I分岐位置1801の前までのノードは、本識別器が対象と
する変動を全て含んだデータを検出対象とするので、CPU208は、選択した学習用データを全て用いて学習を行う。つまり全カテゴリ変動のデータが正解データとされる。
第I分岐位置1801後、まずはカテゴリ(i)について3分岐される。ここではCP
U208は、1801の前までのノードの処理状態(重み付き誤り率等)を3つコピーし、更に学習用の検出対象データをカテゴリ(i)のみで分類して3分割して、それぞれの分岐の学習用の検出対象データとする。例えば、「a**」のラベル(*は任意)の顔画像は、aのラベルの付いた一番上の分岐の学習にのみ使用される。ちなみにCPU208は、非検出対象データとして全分岐共通のデータを利用する。
同様に第II分岐1802以降のノードは、CPU208は、全ノードの処理結果を2つコピーすると共に、それぞれ前段が使用していた検出対象データの内「*1*」「*2*」のラベルを持つデータのみを検出対象データとして使用する。第III分岐1803も同様である。
第III分岐1803以降はこれ以上分岐せず、各分岐の1本ずつについて、CPU208は、十分な検出性能を得ることのできる数百段のノードを学習して処理完了となる。
以上の処理により、分岐構造を持った本識別器の生成することができる。この本識別器は、各分岐で担当としない検出対象データの打切りが早期に行われるため処理が早く、かつ、担当とする検出対象データのロバスト性は低くなっているため、短いノード段数で精度よい検出が可能となっている。
なお、学習時間は一般的に投入する学習用データの数に応じて増大する。分岐1本1本が十分な性能を発揮するためには、それぞれに十分な数の検出対象データを投入する必要があるので、分岐前にこれら全てを含むデータで学習しようとすると、長大な学習時間が必要となる。従って、分岐前はこれらのサブセットで学習を行い、分岐するにつれてそれぞれの分岐のフルセットに近づくように、学習データを追加して行くようにしてもよい。この場合、学習処理で説明した各学習データに付けられる重みは、投入するたびに更新し、正規化し直す必要がある。
<実施形態2>
実施形態1では、打切り率の分散を用いてカテゴリ優先度を決める方法について説明したが、本実施形態では累積スコア(全体信頼度)の差を用いて決定する方法について説明する。
なお、本実施形態では実施形態1との違いについてのみ説明する。本識別器生成までの学習全体の処理の流れは、図11に示した実施形態1と同様である。本実施形態では、ステップS103の予備識別器の評価処理が、図18に示すように行われる。
図18において、ステップS1601〜S1605までの処理は、それぞれ図14のステップS701〜S705までの下2桁が一致するステップと同じ処理を行う。
本実施形態では、ステップS706及びS707の変わりに、ステップS1606の処理が行われる。この処理は、選択されたデータに関し、所定段数まで検出処理を行ったときの内部の累積スコア値(全体信頼度)をRAM210上の所定記憶領域に加算して保持する処理である。なお、この記憶領域はループの先頭S1603で初期化されている。但し、所定段数までたどり着かずに打ち切られてしまっていた場合、累積スコア値は最小値(例えば0)とする。
次のステップS1607はS708と同じ処理である。
ステップS1608に到達すると、CPU208は、選択中の予備識別器に関し、選択中のデータ分類ラベルのデータそれぞれに関する累積スコア値(全体信頼度)の総和値が分かる。よって、CPU208は、総和値をデータ数で除算することにより、その平均値を計算し、RAM210上の所定領域に記憶する。
S1609とS1610とはそれぞれS710とS711と同じ処理であって、S1610の処理を抜けると、結果として図15に示した打切り率一覧表に相当する、累積スコア値一覧表がRAM210上の所定領域に完成する。
ところで、検出対象データを投入したとき、累積スコアは処理段数が進むにつれて蓄積されて行くが、検出対象データのカテゴリ変動に合致する識別器ほど、その値は高くなる。例えば、図19の(a)は、カテゴリ(i)の変動がラベルaであるデータ群を、「a**」「b**」「c**」の予備識別器群(「**」は他カテゴリ全ての組合せ)に投入した際の、平均累積スコアの推移を示す図である。この図で分かる通り、データ群のカテゴリ変動に合致する「a**」に属する予備識別器が、他の識別器に比べて高い累積スコアを出力している。
同様に、カテゴリ(ii)の変動がラベルAであるデータ群を各予備識別器群に投入したときの平均累積スコアの推移を、同図(b)に示す。この図で、「*A*」に属する予備識別器が他の識別器よりも高い累積スコア値を出力しているのは、(a)と同様である。しかし、このときの他の識別器との累積スコアの差は、(a)のときよりも小さい値となっている。あるカテゴリにおいて、累積スコア差が大きいということは、そのカテゴリの分類間での相違が大きいことに他ならない。差が大きければ、誤った判別をする可能性が低くなるので、累積スコアの低い分岐を早めに打ち切ることもできる。従って、CPU208は、カテゴリ毎の平均累積スコアの差を用いても、カテゴリの分岐優先度を決定することができる。
ステップS1611〜S1622のループ処理において、CPU208は、このカテゴリ別の平均累積スコアの差を計算する。
まずステップS1611においては、CPU208は、注目するカテゴリ(例えば(i))を決める。そしてステップS1612において、CPU208は、この注目カテゴリに関し今回処理するデータのラベル(例えば「a」)を選択する。同様にS1613においてCPU208は、予備識別器のラベル(例えば「b」)を選択する。
そしてステップS1614において、CPU208は、注目カテゴリでない他のカテゴリのデータラベル及び識別器ラベルを選択する。次にステップS1615で、CPU208は、ステップS1608で保持していたRAM210上の表領域から、選択したデータ及び識別器ラベルの組に対応する累積スコア平均値を取得して加算する。なお、この加算値保持領域はS1613で初期化されている。
CPU208は、ステップS1616において、全ての他カテゴリに関するデータと識別器の組合せの処理が完了したか確認し、完了していなければS1614に戻って次のラベル組合せに関して同様に処理を行う。このようにして、ステップS1617に到達すると、注目カテゴリにおけるある一つのデータラベルと識別器ラベルとの組合せ(例えばデータ「a**」&識別器「b**」)に関する、平均累積スコア合計が得られる。よって、CPU208は、これを他カテゴリのラベル組合せ数で割った注目カテゴリ組合せ別平均累積スコア値を得る。
ステップS1618においては、CPU208は、注目カテゴリの識別器ラベルに関し最後まで処理を行ったか確認し、完了していなければS1613から繰り返す。
ステップS1619では、既に注目カテゴリのあるデータラベルに関し、全ての識別器ラベルの組合せに対応する注目カテゴリ組合せ別平均累積スコア値が算出されている。よって、CPU208は、これら夫々における累積スコア差を計算し、更にその平均値を計算する。例えば図19の(a)において、所定段における「a**」「b**」「c**」それぞれの累積スコア値をSa,Sb,Scとしたとき、CPU208は、
Figure 0005235691
をデータラベル「a**」に対応する累積スコア差値とする。
S1620までのループにより、同様に注目カテゴリの他のデータラベル(この例では「b**」「c**」に関する累積スコア差値が計算される。
ステップS1621では、CPU208は、更にこれらの平均値を計算する。得られる値は、カテゴリ別累積スコア差平均値となる。
ステップS1622までのループを完了すると、カテゴリ((i),(ii),(iii))それぞれに対して一つずつ、累積スコア差平均値が計算された状態となる。ステップS1623では、CPU208は、この値に基づき、カテゴリの分岐優先度を決定する。もちろんスコア差大のカテゴリ程、分岐優先度高とする。本処理によっても、図17と同等の分岐構造が決定される。
以後の本識別器の学習処理は、実施形態1と同様である。
このように本実施形態によれば、所定段数の予備識別器に評価データを投入したときの、累積スコア値を用いて分岐優先順位を決定することが可能となる。また、実施形態1の打切り率による評価と実施形態の累積スコア差による評価とを併用することももちろん可能で、より精度のよい分岐構造の決定方法となる可能性がある。
<その他の実施形態>
実施形態1及び2では、分岐順序を上述の評価方法により決めた上で、分岐するまでの処理ノード段数を予め定めた所定数として本学習処理を行っていたが、この分岐前処理ノード段数は本学習処理を行いながら決定することも可能である。
例えば図17の分岐構造において、CPU208は、第I分岐位置1801の前の非分
岐状態での処理ノード段数を、非検出対象データの打切り率により定めてもよい。分岐前の処理は1本の識別器しか動作しないので特に高速であることから、第I分岐前までに6
0%以上の非顔を、打切り処理データを減らしてから分岐したいとする。このとき、CPU208は、1段ずつ学習を行いながら非顔打切り率を計算し、60%以上になったところで第I分岐とするように学習すればよい。
同様に、CPU208は、累積スコアやその差に注目しつつ、処理段数を決定してもよい。
更には、上述の実施形態では、予備学習を1回のみしか実施していないが、これを分岐学習しながら実施するようにしてもよい。図17で説明すると、この場合、CPU208は、上述で優先度が最も高くなったカテゴリを第I分岐位置1801とし、次の第II分岐
1802をどのカテゴリにするかは、ここで再度予備学習を行って決定する。このとき第I分岐の3本の識別器に対し、それぞれ6つずつの他カテゴリ(ii)(iii)組合せ
の予備識別器が学習され、実施形態1や2と同様に次の分岐を決定できる。
また上述の実施形態は、画像データに対して処理する場合について説明したが、音声データ等の1次元データや多次元データから特定のパターンを抽出する場合等にも適用可能である。
また上述の実施形態では弱判別器として矩形フィルタを用いた方式に適用した場合について説明したが、もちろん他の様々な弱判別器に適用可能である。
また上述の実施形態ではブースティングアルゴリズムによる識別器に対して適用した場合について説明したが、分岐構造を持つ他の識別器に対して、分岐構造を決定する方法として適用してもよい。
また実施形態では判別処理部203をハードウェアにより実現する場合について説明したが、DSP(Digital Signal Processor)等でソフトウェアにより実現する場合にも適用可能である。その場合であっても、好適な分岐構造を選択することにより、処理速度と検出精度との向上見込まれる。
また、上述した実施形態で説明した機能は、学習専用の装置や汎用コンピュータのソフトウェアとしても適用することができる。
また、本発明の目的は、以下のようにすることによって達成される。即ち、上述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体(又は記録媒体)を、システム或いは装置に供給する。そして、そのシステム或いは装置の中央演算処理手段(CPUやMPU)が記憶媒体に格納されたプログラムコードを読み出し実行する。この場合、記憶媒体から読み出されたプログラムコード自体が上述した実施形態の機能を実現することになり、そのプログラムコードを記録した記憶媒体は本発明を構成することになる。
また、システム或いは装置の前記中央演算処理手段が読み出したプログラムコードを実行することにより、そのプログラムコードの指示に基づき、システム或いは装置上で稼働しているオペレーティングシステム(OS)等が実際の処理の一部又は全部を行う。その処理によって上述した実施形態の機能が実現される場合も含まれる。
更に、記憶媒体から読み出されたプログラムコードが、前記システム或いは装置に挿入された機能拡張カードや、接続された機能拡張ユニットに備わるメモリに書込まれたとする。その後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPU等が実際の処理の一部又は全部を行い、その処理によって上述した実施形態の機能が実現される場合も含まれる。
本発明を前記記憶媒体に適用する場合、その記憶媒体(コンピュータ読み取り可能な記憶媒体)には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。
以上、上述した各実施形態によれば、分岐構造の識別器を学習する上で、処理時間を大きく増大させずに好適な分岐構造を構築することができる。
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
例えば、予備学習処理及び本学習処理では、複数の変動カテゴリの組合せで分類された複数の識別対象パターンのサンプルを正解又は不正解教示用データとして用い、複数の非識別対象パターンのサンプルを不正解教示用データとして用いるようにしてもよい。
また、予備学習処理では、予備識別器各々に対応する複数の変動カテゴリの組合せで分類された複数の識別対象パターンのサンプルのみを正解教示用データとして用いるようにしてもよい。
また、予備学習処理では、予備識別器各々に対応する複数の変動カテゴリの組合せで分類された複数の識別対象パターンのサンプルを不正解教示用データの一部として用いるようにしてもよい。
顔検出処理の一例を示す図である。 各移動先位置における処理ウィンドウ801において、非特許文献1で行われている顔検出処理の流れを示す図である。 顔検出処理の一例を示すフローチャートである。 SATの一例を説明する図である。 SATによる矩形領域の総和値の計算方法を説明するための図である。 情報処理装置の構成を示すブロック図である。 識別器が対応する検出対象データの変動カテゴリの一例を示す図である。 情報処理装置によって生成される識別器のノードの接続構造の一例を示す図である。 判別処理部203に搭載される弱判別器の詳細を示す図である。 複数の弱判別器から構成する1つのブースティング判別器を機械学習する場合の処理の一例を示すフローチャートである。 学習処理全体の流れを示すフローチャートである。 全学習データに対する検出対象データのヒストグラム1302と非検出対象データのヒストグラム1301とを示す図である。 打切り閾値の決定法を説明するための累積ヒストグラムの例を模式的に説明するための図である。 実施形態1におけるステップS103の予備識別器評価処理を説明するための図である。 データ分類ラベルと予備識別ラベルの組合せに対応する打切り率の一例を示す図である。 特定の変動データを投入した際の各予備識別器の打切り率の推移を示す図である。 図15の打切り率一覧により決定された分岐構造の一例を示す図である。 実施形態2におけるステップS103の予備識別器評価処理を説明するための図である。 カテゴリのラベル別の識別器群における累積スコアの遷移の一例を示す図である。
201 画像入力部
202 前処理部
203 判別処理部
208 CPU

Claims (10)

  1. 複数の変動カテゴリの組み合わせで分類された複数の識別対象パターンのサンプルを評価用データとしてそれぞれ個別の予備識別器に入力して、各予備識別器を学習させる予備学習手段と、
    前記予備識別器識別処理を実行し、該識別処理の結果の変動カテゴリ毎の変動に基づいて分岐構造を決定する分岐構造決定手段と、
    前記分岐構造に基づき、分岐型パターン識別器を学習させる本学習手段と、
    を有することを特徴とする情報処理装置。
  2. 前記予備識別器は、識別処理を段階的に実行し、識別対象パターンでないと判断した段階で以後の段階の処理の打切りを実施する識別器であって、
    前記分岐構造決定手段は、前記評価用データを、前記予備識別器の各々に入力したときの段階での打切り率に基づき、前記分岐構造を決定することを特徴とする請求項に記載の情報処理装置。
  3. 前記予備識別器は、前記識別対象パターンに関する信頼度を出力する識別器であって、
    前記分岐構造決定手段は、前記評価用データを、前記予備識別器の各々に入力したときの信頼度に基づき、前記分岐構造を決定することを特徴とする請求項に記載の情報処理装置。
  4. 記分岐構造決定手段は、前記評価用データを投入した際の前記信頼度の差が最も大きくなる変動カテゴリの優先度を高くし、前記優先度に応じて分岐の順序を決定することを特徴とする請求項に記載の情報処理装置。
  5. 複数の変動カテゴリの組み合わせで分類された複数の識別対象パターンのサンプルを評価用データとしてそれぞれ個別の予備識別器に入力して、各予備識別器を学習させる予備学習ステップと、
    前記予備識別器で識別処理を実行し、該識別処理の結果の変動カテゴリ毎の変動に基づいて分岐構造を決定する分岐構造決定ステップと、
    前記分岐構造に基づき、分岐型パターン識別器を学習させる本学習ステップと、
    を含むことを特徴とする情報処理方法。
  6. 前記予備識別器は、識別処理を段階的に実行し、識別対象パターンでないと判断した段階で以後の段階の処理の打切りを実施する識別器であって、
    前記分岐構造決定ステップでは、前記評価用データを、前記予備識別器の各々に入力したときの段階での打切り率に基づき、前記分岐構造を決定することを特徴とする請求項5に記載の情報処理方法。
  7. 前記予備識別器は、前記識別対象パターンに関する信頼度を出力する識別器であって、
    前記分岐構造決定ステップでは、前記評価用データを、前記予備識別器の各々に入力したときの信頼度に基づき、前記分岐構造を決定することを特徴とする請求項5に記載の情報処理方法。
  8. 前記分岐構造決定ステップでは、前記評価用データを投入した際の前記信頼度の差が最も大きくなる変動カテゴリの優先度を高くし、前記優先度に応じて分岐の順序を決定することを特徴とする請求項7に記載の情報処理方法。
  9. コンピュータを、
    複数の変動カテゴリの組み合わせで分類された複数の識別対象パターンのサンプルを評価用データとしてそれぞれ個別の予備識別器に入力して、各予備識別器を学習させる予備学習手段と、
    前記予備識別器で識別処理を実行し、該識別処理の結果の変動カテゴリ毎の変動に基づいて分岐構造を決定する分岐構造決定手段と、
    前記分岐構造に基づき、分岐型パターン識別器を学習させる本学習手段と、
    して機能させることを特徴とするプログラム。
  10. 請求項9に記載のプログラムを記憶したコンピュータにより読み取り可能な記憶媒体。
JP2009004975A 2009-01-13 2009-01-13 情報処理装置及び情報処理方法 Active JP5235691B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2009004975A JP5235691B2 (ja) 2009-01-13 2009-01-13 情報処理装置及び情報処理方法
US12/683,982 US9256835B2 (en) 2009-01-13 2010-01-07 Information processing apparatus enabling discriminator to learn and method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009004975A JP5235691B2 (ja) 2009-01-13 2009-01-13 情報処理装置及び情報処理方法

Publications (2)

Publication Number Publication Date
JP2010165046A JP2010165046A (ja) 2010-07-29
JP5235691B2 true JP5235691B2 (ja) 2013-07-10

Family

ID=42581174

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009004975A Active JP5235691B2 (ja) 2009-01-13 2009-01-13 情報処理装置及び情報処理方法

Country Status (2)

Country Link
US (1) US9256835B2 (ja)
JP (1) JP5235691B2 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5320443B2 (ja) * 2011-07-19 2013-10-23 富士フイルム株式会社 高速判別装置および高速判別装置を高速化する方法、並びに高速判別装置プログラム
JP5751067B2 (ja) * 2011-07-27 2015-07-22 大日本印刷株式会社 個体識別装置、個体識別方法、及びプログラム
JP5565869B2 (ja) * 2011-08-01 2014-08-06 株式会社ユニバーサルエンターテインメント 識別装置及び識別プログラム
US8989455B2 (en) * 2012-02-05 2015-03-24 Apple Inc. Enhanced face detection using depth information
JP6000602B2 (ja) * 2012-03-30 2016-09-28 キヤノン株式会社 体検出方法及び物体検出装置
US9207760B1 (en) * 2012-09-28 2015-12-08 Google Inc. Input detection
JP6161266B2 (ja) 2012-11-27 2017-07-12 キヤノン株式会社 情報処理装置及びその制御方法及び電子デバイス及びプログラム及び記憶媒体
JP5742873B2 (ja) 2013-05-08 2015-07-01 株式会社デンソー 物体識別装置
GB2534903A (en) * 2015-02-05 2016-08-10 Nokia Technologies Oy Method and apparatus for processing signal data
DK201870583A1 (en) * 2016-02-16 2018-11-08 Gx Technology Canada Ltd. RIBBON FOIL DEPRESSOR
JP6768620B2 (ja) * 2017-09-27 2020-10-14 富士フイルム株式会社 学習支援装置、学習支援装置の作動方法、学習支援プログラム、学習支援システム、端末装置及びプログラム
WO2020194378A1 (ja) * 2019-03-22 2020-10-01 日本電気株式会社 画像処理システム、画像処理装置、画像処理方法、及びコンピュータ可読媒体

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2167748A1 (en) 1995-02-09 1996-08-10 Yoav Freund Apparatus and methods for machine learning hypotheses
JP4166143B2 (ja) 2002-11-21 2008-10-15 株式会社国際電気通信基礎技術研究所 顔位置の抽出方法、およびコンピュータに当該顔位置の抽出方法を実行させるためのプログラムならびに顔位置抽出装置
JP2005044330A (ja) 2003-07-24 2005-02-17 Univ Of California San Diego 弱仮説生成装置及び方法、学習装置及び方法、検出装置及び方法、表情学習装置及び方法、表情認識装置及び方法、並びにロボット装置
JP5025893B2 (ja) 2004-03-29 2012-09-12 ソニー株式会社 情報処理装置および方法、記録媒体、並びにプログラム
CN100472556C (zh) * 2005-10-09 2009-03-25 欧姆龙株式会社 特定被摄体检测装置及方法

Also Published As

Publication number Publication date
US9256835B2 (en) 2016-02-09
JP2010165046A (ja) 2010-07-29
US20110010317A1 (en) 2011-01-13

Similar Documents

Publication Publication Date Title
JP5235691B2 (ja) 情報処理装置及び情報処理方法
JP4948379B2 (ja) パターン識別器生成方法、情報処理装置、プログラム及び記憶媒体
JP5335536B2 (ja) 情報処理装置及び情報処理方法
CN107851192B (zh) 用于检测人脸部分及人脸的设备和方法
EP2151801A1 (en) Image processing apparatus, method, and storage medium
JP4710979B2 (ja) 対象物検出装置、学習装置、対象物検出方法およびプログラム
KR20130018763A (ko) 얼굴 식별 방법 및 그 장치
JP5361524B2 (ja) パターン認識システム及びパターン認識方法
CN111327949B (zh) 一种视频的时序动作检测方法、装置、设备及存储介质
US9911204B2 (en) Image processing method, image processing apparatus, and recording medium
JP6997369B2 (ja) プログラム、測距方法、及び測距装置
CN108596079B (zh) 手势识别方法、装置及电子设备
CN110807767A (zh) 目标图像筛选方法及目标图像筛选装置
US20200380359A1 (en) Device and method of digital image content recognition, training of the same
US20160048977A1 (en) Method and Device for Detecting Face, and Non-Transitory Computer-Readable Recording Medium for Executing the Method
CN113487610B (zh) 疱疹图像识别方法、装置、计算机设备和存储介质
JP2010146395A (ja) 画像処理装置、画像処理方法、画像処理プログラム、及び、電子機器
JP2006285959A (ja) 顔判別装置の学習方法、顔判別方法および装置並びにプログラム
JP5241687B2 (ja) 物体検出装置及び物体検出プログラム
JP4387889B2 (ja) テンプレート照合装置および方法
US20140169688A1 (en) Crosstalk cascades for use in object detection
JP7370759B2 (ja) 画像処理装置、画像処理方法およびプログラム
JP2006244385A (ja) 顔判別装置およびプログラム並びに顔判別装置の学習方法
JP2004199200A (ja) パターン認識装置、撮像装置、情報処理システム、パターン認識方法、記録媒体、及びプログラム
CN111353353A (zh) 跨姿态的人脸识别方法及装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120113

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121009

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121016

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121217

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: 20130226

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130326

R151 Written notification of patent or utility model registration

Ref document number: 5235691

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: 20160405

Year of fee payment: 3