JP5235691B2 - 情報処理装置及び情報処理方法 - Google Patents
情報処理装置及び情報処理方法 Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing 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/774—Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
- G06V10/7747—Organisation of the process, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
- G06F18/2148—Generating training patterns; Bootstrap methods, e.g. bagging or boosting characterised by the process organisation or structure, e.g. boosting cascade
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/94—Hardware or software architectures specially adapted for image or video understanding
- G06V10/955—Hardware or software architectures specially adapted for image or video understanding using specific electronic processors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/16—Human faces, e.g. facial parts, sketches or expressions
- G06V40/161—Detection; Localisation; Normalisation
- G06V40/165—Detection; Localisation; Normalisation using facial parts and geometric relationships
Description
例えば非特許文献1においてViolaとJonesとが提案する方法では、まず矩形特徴を抽出する弱判別器を所定数カスケード接続し、ステージと呼ばれる強判別器を構成する。この弱判別器はブースティング学習アルゴリズム(特許文献1等参照)により生成される。そしてViolaとJonesとが提案する方法では、更に、このステージを複数カスケード接続した構成のパターン識別器を提案している。ステージ、即ち強判別器単位で打切り判定(画像中の検出対象位置に対する処理の終了)を行いながら処理を進めることにより、早期に検出対象でないと判断された入力に対する以後の演算が行われなくなるので、全体として高速な処理が可能となる。以下にこのパターン識別法についての詳細を説明する。
図2は、各移動先位置における処理ウィンドウ801において、非特許文献1で行われている顔検出処理の流れを示す図である。ある処理ウィンドウ内における顔検出処理は、複数のステージによって実行される。各ステージには、異なる組合せの弱判別器が割り当てられており、これらがカスケード接続で処理されることによって、強判別器となっている。各弱判別器は所謂Haar−like特徴を検出するもので、矩形フィルタの組合せで構成されている。図2に示すように、各ステージに割り当てられる弱判別器の数も異なっている。また、ステージ単位でもカスケード接続構成となっており、各ステージは接続された順番に従って判定処理を行う。即ち、例えば図2において、第1ステージの次に第2ステージが判定を実施し、その次に第3ステージが判定を実施する。
顔検出処理では、まず処理の対象となる処理ウィンドウ801が顔検出対象画像800上に配置される(S1001)。基本的には、この処理ウィンドウは、図1に示されるように顔検出対象画像800の端から一定間隔で縦方向及び横方向へスキャンすることによって順に網羅的に移動して選択される。例えば、顔検出対象画像800をラスタスキャンすることによって処理ウィンドウが選択される。
次に、選択された処理ウィンドウについて、処理ウィンドウに人物の顔が含まれるか否かの判定が実施される。この判定は、図2を用いて説明したように、複数のステージを用いて実施される。このため、まず判定を実施するステージが第一のものから順に選択される(S1002)。
次に、判定の対象となっていた処理ウィンドウが、顔検出対象画像の中で最後の処理ウィンドウであったか否かを判断する。最後の処理ウィンドウではなかった場合(S1007−NO)、S1001の処理に戻り、次の処理ウィンドウが選択され、S1002以降の処理が実行される。一方、最後の処理ウィンドウであった場合、この顔検出対象の入力画像に対する顔検出処理は終了する。
各ステージには、1以上のパターンの弱判別器が割り当てられている。この割り当ては学習処理において、AdaBoost等のブースティング学習アルゴリズムによって実施される。各ステージは、自身に割り当てられたパターンの弱判別器に基づいて、処理ウィンドウ内に顔が含まれるか否かの判定を行う。
各ステージでは、各ステージに割り当てられた各パターンの弱判別器に基づいて、処理ウィンドウ内の複数の矩形領域における特徴量がそれぞれ算出される。このとき用いられる特徴量は、各矩形領域内の画素値の合計値やその平均値等、即ち矩形領域内の画素値の総和値を用いて算出される値である。この矩形領域内総和値は、入力画像に対する累積画像情報(Summed Area Table(SAT)或いはIntegral Imageと呼ばれる)を用いることにより高速に計算される。
但し、この時点での判定は、各パターンの弱判別器それぞれに基づいた判定であり、ステージによる判定ではない。このように、各ステージでは、割り当てられた全てのパターンの弱判別器それぞれに基づいて個別に判定が実施され、それぞれの判定結果が得られる。
また特許文献2及び3も、非特許文献1の考え方に基づくパターン識別方法や装置に関する技術を開示している。このような弱判別器を一列にカスケード接続した構造を持つパターン識別器は、特に画像中から、良く似たパターン(検出対象パターン)とそれ以外のパターン(非検出対象パターン)とを分離する場合には、高速、かつ、十分な識別性能を発揮する。
もちろん面内回転のみであれば、正立に近い正面顔を検出する識別器に、入力画像を順次回転させてから入力すれば、360度どの角度の顔であっても識別することは可能ではある。しかし、この方法では、回転回数に応じて処理時間が増大してしまうし、そもそも奥行き回転が加わる場合には対応できない。
検出処理時は、入力されたサブウィンドウが第1階層のステージをパスしたならば、第2階層のステージを順に実行し、どれか一つでもパスしたら次のステージに進む。このように、粗い検出から始めて徐々に精度の高い検出を行っていくことにより、全ての変動の顔パターンを検出可能な識別器を構成している。
特許文献4の方法は、非特許文献2とは異なり、上位層で打ち切られた変動に含まれる下位層の演算を行う必要がなくなるため、高速性が実現できるとしている。なお、特許文献4における弱判別器は、矩形差分ではなくピクセル差分を用いているが、弱判別器のカスケード接続により強判別器を構成するという考え方は同様である。
最終分岐に到達する前に学習される各ノードの検出器の出力は、上述の文献と異なりスカラー値ではなく、そのノードの次の層の分岐数と一致した要素数のベクトル値である。即ち分岐前の各ノード検出器は、非顔画像の打切りだけでなく、次の層の分岐選択も行う機能を持つ。検出時において、各ノードの出力ベクトルの値が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で実行されるソフトウェア・プログラムによる処理として実装するようにしてもよい。
通信インターフェース部206は、処理部を介して外部装置から本装置に所定の動作を指令したり、学習のために必要なデータ群を外部の装置から後述の大容量記憶部211に転送したりする事ができる。
ユーザー・インターフェース部(UserI/F)207は、例えば、操作者が装置の動作を指定する為の押しボタン・スイッチや、操作者に情報を提示するためのディスプレイ・パネルのような、入出力デバイスである。
CPU(Central Processing Unit)208は、実施形態に係る処理を実行すると共に、バス205を介して接続される本装置全体の各部の動作を制御する。ROM209は、CPU208の動作を規定する命令を格納する。RAM210は、CPU208の動作に必要な作業メモリとして使用される。RAM210は、DRAM(Dynamic RAM)等の比較的容量の大きいメモリで構成する。大容量記憶部211は、ハードディスクやフラッシュメモリ等の大容量データ記憶装置である。例えば学習のために必要なサンプル画像等の大量データセットは、大容量記憶部211に格納する。
本実施形態の情報処理装置では、図7に示す3つの変動カテゴリで分類される変動を組合せた変動を含む顔画像を検出対象パターンとする、分岐構造のパターン識別器(分岐型パターン識別器)を学習する例を用いて説明を行う。
変動カテゴリ(i)は、面内回転変動である。正立状態(図中中央)から時計周り(+とする)/反時計回りにそれぞれ45度回転した顔までを対象の変動範囲とする。本実施形態では、この±45°の範囲を3分割するものとし、−45°〜−15°の範囲をa、正立を含む−15°〜+15°の範囲をb、−45°〜−15°の範囲をcとラベル付けしている。
変動カテゴリ(iii)は、サイズ変動である。本実施形態では、面内回転0°のときの両目と口の高さの差の画素数で顔サイズを規定する。最小顔サイズは16、最大顔サイズは22で、この範囲を2分割して小を1、大を2とラベル付けしている。なお、この範囲外の顔は、入力画像を拡大・縮小したチャネル処理によって検出される。
本実施形態では、これら3つのカテゴリによる変動が入り混じった顔画像を検出対象としている。もちろんこれに上下方向の奥行き回転変動を加えてもよいし、それぞれの変動の分割数を更に増やして、検出精度の向上を図ることも可能であるが、説明が分かりにくくなるので割愛する。
後述の予備識別器や本識別器の分岐の各枝は、上記変動カテゴリ各々の1分類を検出すべき担当範囲とする。これらの識別器を学習する際、このようなオーバーラップ領域を設けた分類のデータを用いることにより、隣接分類の境目の相当するパターンが取りこぼされにくくなり、よりロバスト性を高める効果が見込める。
ここで、本実施形態の情報処理装置の識別器における検出処理について説明する。
本実施形態のパターン識別器には、予備学習処理(後述)により生成される予備識別器と、その後の本学習(後述)により生成される分岐構造を持った本識別器と、がある。何れの検出処理も判別処理部203を用いて実行される。
図8(a)は、分岐構造を持たない予備識別器1つの構成を示す図である。予備学習処理では、この構成の識別器を、全ての変動カテゴリの組合せ毎に一つずつ生成する。301等の図中の円で示されるノードは、一つの弱判別器を示す。本実施形態の識別器では、非特許文献1のようなステージ構成ではなく、弱判別器一つずつに打切り判定がなされるようにしているが、ステージ構成を取ってもどちらでもよい。所定数のカスケード接続された弱判別器を最後まで通過した入力は、最後に最終判定閾値による閾値処理(最終判定)302が行われて、受け入れられた場合は対象オブジェクトであると判断される。
このようなツリー構造識別器において、分岐処理の実行方法はいくつかのバリエーションが考えられる。
第二の方法は全探索起動である。この場合、図中で例えば上の分岐から順に、打ち切られるまで検出処理を実行する。打ち切られた場合には、直前の分岐まで戻って直下のノード(兄弟ノード)を実行する。最終段にたどり着いた分岐があれば、そこで最終判定を行い受け入れられれば処理完了とする。受け入れられない場合は直前の分岐に戻って継続する。この方法のメリットは、実装が容易な割には速度が向上することである。デメリットとしては、分岐の実行順序に依存するため正確な分類は行えないことである。
第三の方法は分岐選択起動である。この場合、途中のノードの処理結果に基づき、どの分岐を起動するか選択する。メリットは高速性である。分類の正確度は選択方法に依存する。デメリットは処理が複雑になることで、例えば非特許文献3のような分岐選択可能なノードを生成するようにしたり、他の分岐選択方法を実装したりする必要がある。
これらの起動方法は何れを用いてもよく、実施形態の本質には関わらないので詳細な説明は割愛する。
パラメータメモリ411は、弱判別器を構成するためのパラメータ情報を格納するメモリである。本実施形態の弱判別器は、非特許文献1と同様の矩形特徴を用いるものである。従ってパラメータメモリ411のより具体的な内容は、矩形数・矩形座標・フィルタ係数・フィルタ閾値・信頼度重み(=スコア)・識別閾値となっている。これらのパラメータは、実際には判別処理部203内のメモリ・ブロック領域に格納されており、アドレス・デコーダによって所望の弱判別器に対応するパラメータが読み出される。411は弱判別器1に対応するパラメータ・セット1を読み出したことを示し、412は弱判別器2に対応するパラメータ・セット2を読み出したことを示している。
図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部が検出対象データとして用いられる。
まずステップS601で、CPU208は、大容量記憶部211に保持する学習データから、今回の学習に使用するデータを選択する。ここではCPU208は、検出対象パターンである顔データと非検出対象パターンである非顔データとを、所定の比率の数となるように取り出す。
予備識別器又は本識別器の分岐には、それぞれ担当すべき変動カテゴリの組合せによる分類があるので、分類に所属する顔データが検出対象パターンとして選ばれる。非検出対象パターンとしては非顔データが用いられるが、更に非検出対象パターンとして担当しない変動カテゴリ組合せで分類される顔パターンを追加して学習することも可能である。このようにすると、各予備識別器或いは分岐は、より選択性の高い検出処理を行うようになることが期待できる。
続いて、ステップS603〜S610でCPU208は、1つの弱判別器を学習する。
ステップS603でCPU208は、式(6)に従って重み係数を正規化する処理を行う。
次に、ステップS605でCPU208は、選択した矩形フィルタ候補を用いて、全ての学習データに対するこの矩形フィルタの判別性能評価を行う。まず、CPU208は、全ての学習データに各々に対して、この矩形フィルタ出力値を算出し、検出対象と非検出対象とを分離する閾値を決定する。このときCPU208は、フィルタ出力値の算出を、判別処理部203を利用してハードウェアで処理する。また、CPU208は、閾値の決定を矩形フィルタ出力値のヒストグラムを利用して行う。図12は、全学習データに対する検出対象データのヒストグラム1302と非検出対象データのヒストグラム1301とを示す図である。横軸はフィルタ出力置(矩形差分値)で縦軸はその値となった学習データの数を表す。CPU208は、このヒストグラムを使用して検出対象と非検出対象とを最もよく分離する閾値FTh_t,j(誤り率最小となるもの。t:学習中のノード番号、j:フィルタ候補番号)を決定する。
そして、CPU208は、式(8)により弱判別器に対する信頼度αtを算出する(ステップS608)。
本実施形態の情報処理装置における学習処理の全体の流れは、図11のようになる。図11は、学習処理全体の流れを示すフローチャートである。
まずステップS101において、サンプルデータの入力と分類処理とを行う。これは学習に用いる検出対象オブジェクト画像データ(本実施形態では顔画像データ)と、後述の予備識別器の評価に用いる同データと、を装置に入力するステップであり、それぞれ対象とするカテゴリの変動を全て含んだ十分な数のデータが必要である。なお、学習用データと評価用データとは別々に分けて入力してもよいし、ここで多量の顔画像データ群を入力しておき、学習と評価時とにそれぞれサンプリングして用いるようにしてもよい。
また、検出対象オブジェクトでない物体や背景等の非検出対象オブジェクト画像データ(本実施形態では非顔データ)も、このステップで装置に入力され、後のステップにおける学習・評価に用いることが可能となる。
入力・保持された顔画像データは、付随する情報を用いて、識別器が対応しようとする全ての変動カテゴリで分類(ラベル付け)する。例えば、「反時計回りに30°面内回転した左側10°の奥行き回転方向を向いたサイズ18の顔」は、図7に示したラベルで「aB1」と分類される。
本実施形態において、顔データには、両目座標・口座標・奥行き回転角度の3つの情報が付随する。User I/F部207でこれらの情報を入力する場合には、ディスプレイ上に表示された顔画像に対し、マウス等のポインティング・デバイスを用いて目口の座標を示す。また、キーボードにより(主観的な)奥行き回転角度を入力する。外部装置より学習用及び評価用データが送られてくる場合には、既に入力済みのこれら付随情報も合わせて送られてくる。
なお、ステップS101の入力・分類処理は、学習開始前の何時のタイミングで行ってもよい。続く学習や評価ステップで用いるデータが異なる場合には、それぞれの開始前までに完了して、大容量記憶部211に保持されていればよい。或いは、続く学習や評価ステップにおいて、通信I/F206を介して外部装置に蓄積された分類済みデータを逐次取りに行くように実装してもよい。
予備学習処理は先に説明した学習処理アルゴリズムに従って、CPU208の動作として実行される。各々の予備識別器に対する検出対象データは、識別器が担当する変動カテゴリの組合せで分類される顔データである。例えば、図7のaB1のラベルで示される分類に対応する予備識別器は、同ラベルの付いた顔画像のみを検出対象データとして入力する。また、非検出対象の非顔データは、何れの予備識別器であっても共通である。なお、学習しようとする予備識別器の担当外の変動カテゴリに属する顔データを、非検出対象データに加えて学習させることも可能である。このようにすると検出対象に対する選択性が高まることが期待できる反面、ロバスト性が低下する可能性もあるため、実施する際には見極めが必要である。
次のステップS103では、CPU208は、生成した予備識別器を評価し、分岐させるカテゴリの順序を決定する。この処理では、予備識別器に対し、あるカテゴリ変動の組合せに属する評価用データを投入し、その検出処理結果(識別処理結果)に基づきカテゴリの優先順位を決定する。本実施形態では、検出処理結果に基づく優先順位の決定方法の一例として、評価用データの打切り率を用いる方法を開示している。
最初にステップS701において、CPU208は、大容量記憶部211に記憶されているデータから、今回の評価で用いる検出対象データ(顔画像データ)を選択する。これらの顔画像データは、先に述べたようにカテゴリ変動の組合せで分類されており、CPU208は、全ての組合せの分類について一定数となるように選択する。なお、本評価処理においては、非検出対象データ(非顔データ)は使用しない。
次にステップS702からS711までのループ処理において、CPU208は、投入する評価データの分類ラベル毎の処理を行う。まずS702において、CPU208は、例えば図7の分類での「aA1」のような、データ分類ラベルを一つ選ぶ。
次のステップS704で、CPU208は、S701で選択された評価用データの中から、S702で選択したデータ分類ラベルの示す分類に属するデータを一つ選択する。そしてステップS705において、CPU208は、選択したデータをS703で選択したラベルの予備識別器に投入し、検出処理を実行する。
ステップS708において、CPU208は、S702で選択したデータ分類に属する評価用データが、一通り最後まで評価されたかどうかを判別する。最後まで処理されていなかった場合、CPU208は、S704に戻って次のデータを選択する。
そしてステップS710において、CPU208は、全予備識別器に対するループ処理が完了したかどうかを確認する。完了していなければCPU208は、S703に戻って次の予備識別器を選択する。
CPU208は、次のステップS711では、同様に投入データ分類ラベルの最後まで処理し終わったかどうかを確認し、処理し終わっていなければS702に戻って次のデータ分類ラベルを選択する。以上の処理により、RAM210上には図15に示すように、投入したデータの分類ラベルと検出処理した識別器ラベルの組合せでの、それぞれの打切り率の一覧表が構築される。
打切り率の変動が大きくなるカテゴリは、識別器にとっては分類間の変動が大きく区別しやすい(よって他の分類のとき早期に打切りしやすい)と考えられる。従って、本学習で構築する分岐構造の本識別器においては、打切り率の変動が大きくなるカテゴリ程早期に分岐させるようにすることにより、処理速度と検出精度の向上が見込める。本実施形態では、この考え方に基づき、分岐の優先順位を決定する。なお、図16に示したように、ある程度の処理段数以上では、各識別器の打切り率の大小関係はそれほど変化しなくなるため、所定段における打切り率(即ち図15の表)の分散を調べることで、CPU208は、この優先順位を決定することができる。
次のステップS714では、CPU208は、注目しているカテゴリでない他のカテゴリのラベルの組合せを一つ選択する。カテゴリ(i)に注目している場合には、他のカテゴリは(ii)と(iii)となので、このラベル組合せとは、例えば「A1」というようになる。
は、図15におけるデータ分類ラベル「aA1」の列で、予備識別器ラベル「aA1」「bA1」「cA1」の3つの値の分散を計算する処理に相当する。
注目カテゴリにおける分散値が一通り計算できた場合、次のステップS717でCPU208は、その平均値を計算する。このようにして、注目カテゴリにおける平均打切り率分散値が求められる。
ステップS718では、CPU208は、選択中のデータ分類ラベルに関し、全てのカテゴリにおいてS713からのループ処理が行われたかどうかを判別する。
そして次のステップS719で、CPU208は、全てのデータ分類ラベルに関する同様の処理が完了したかどうかを判別し、完了していなければS712に戻る。
ステップS720に到達すると、データ分類ラベル毎に、カテゴリ別の分散値が求まっている状態となっている。ステップS720では、CPU208は、全データ分類ラベルに対するこれらの分散値を統合し、カテゴリ毎に一つずつ対応する統合値を計算する。なお、この統合処理は単純な加算でもよいし、データ分類数で除算した平均値でもよい。
ステップS721では、CPU208は、このカテゴリ毎の統合値を比較し、カテゴリ優先度を決定する。ここではCPU208は、統合値の大きなカテゴリほど、優先度高と判断する。
例えば図17において、第I分岐位置1801の前までのノードは、本識別器が対象と
する変動を全て含んだデータを検出対象とするので、CPU208は、選択した学習用データを全て用いて学習を行う。つまり全カテゴリ変動のデータが正解データとされる。
第I分岐位置1801後、まずはカテゴリ(i)について3分岐される。ここではCP
U208は、1801の前までのノードの処理状態(重み付き誤り率等)を3つコピーし、更に学習用の検出対象データをカテゴリ(i)のみで分類して3分割して、それぞれの分岐の学習用の検出対象データとする。例えば、「a**」のラベル(*は任意)の顔画像は、aのラベルの付いた一番上の分岐の学習にのみ使用される。ちなみにCPU208は、非検出対象データとして全分岐共通のデータを利用する。
第III分岐1803以降はこれ以上分岐せず、各分岐の1本ずつについて、CPU208は、十分な検出性能を得ることのできる数百段のノードを学習して処理完了となる。
以上の処理により、分岐構造を持った本識別器の生成することができる。この本識別器は、各分岐で担当としない検出対象データの打切りが早期に行われるため処理が早く、かつ、担当とする検出対象データのロバスト性は低くなっているため、短いノード段数で精度よい検出が可能となっている。
実施形態1では、打切り率の分散を用いてカテゴリ優先度を決める方法について説明したが、本実施形態では累積スコア(全体信頼度)の差を用いて決定する方法について説明する。
なお、本実施形態では実施形態1との違いについてのみ説明する。本識別器生成までの学習全体の処理の流れは、図11に示した実施形態1と同様である。本実施形態では、ステップS103の予備識別器の評価処理が、図18に示すように行われる。
図18において、ステップS1601〜S1605までの処理は、それぞれ図14のステップS701〜S705までの下2桁が一致するステップと同じ処理を行う。
本実施形態では、ステップS706及びS707の変わりに、ステップS1606の処理が行われる。この処理は、選択されたデータに関し、所定段数まで検出処理を行ったときの内部の累積スコア値(全体信頼度)をRAM210上の所定記憶領域に加算して保持する処理である。なお、この記憶領域はループの先頭S1603で初期化されている。但し、所定段数までたどり着かずに打ち切られてしまっていた場合、累積スコア値は最小値(例えば0)とする。
ステップS1608に到達すると、CPU208は、選択中の予備識別器に関し、選択中のデータ分類ラベルのデータそれぞれに関する累積スコア値(全体信頼度)の総和値が分かる。よって、CPU208は、総和値をデータ数で除算することにより、その平均値を計算し、RAM210上の所定領域に記憶する。
S1609とS1610とはそれぞれS710とS711と同じ処理であって、S1610の処理を抜けると、結果として図15に示した打切り率一覧表に相当する、累積スコア値一覧表がRAM210上の所定領域に完成する。
同様に、カテゴリ(ii)の変動がラベルAであるデータ群を各予備識別器群に投入したときの平均累積スコアの推移を、同図(b)に示す。この図で、「*A*」に属する予備識別器が他の識別器よりも高い累積スコア値を出力しているのは、(a)と同様である。しかし、このときの他の識別器との累積スコアの差は、(a)のときよりも小さい値となっている。あるカテゴリにおいて、累積スコア差が大きいということは、そのカテゴリの分類間での相違が大きいことに他ならない。差が大きければ、誤った判別をする可能性が低くなるので、累積スコアの低い分岐を早めに打ち切ることもできる。従って、CPU208は、カテゴリ毎の平均累積スコアの差を用いても、カテゴリの分岐優先度を決定することができる。
まずステップS1611においては、CPU208は、注目するカテゴリ(例えば(i))を決める。そしてステップS1612において、CPU208は、この注目カテゴリに関し今回処理するデータのラベル(例えば「a」)を選択する。同様にS1613においてCPU208は、予備識別器のラベル(例えば「b」)を選択する。
そしてステップS1614において、CPU208は、注目カテゴリでない他のカテゴリのデータラベル及び識別器ラベルを選択する。次にステップS1615で、CPU208は、ステップS1608で保持していたRAM210上の表領域から、選択したデータ及び識別器ラベルの組に対応する累積スコア平均値を取得して加算する。なお、この加算値保持領域はS1613で初期化されている。
ステップS1618においては、CPU208は、注目カテゴリの識別器ラベルに関し最後まで処理を行ったか確認し、完了していなければS1613から繰り返す。
ステップ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は、累積スコアやその差に注目しつつ、処理段数を決定してもよい。
1802をどのカテゴリにするかは、ここで再度予備学習を行って決定する。このとき第I分岐の3本の識別器に対し、それぞれ6つずつの他カテゴリ(ii)(iii)組合せ
の予備識別器が学習され、実施形態1や2と同様に次の分岐を決定できる。
また上述の実施形態は、画像データに対して処理する場合について説明したが、音声データ等の1次元データや多次元データから特定のパターンを抽出する場合等にも適用可能である。
また上述の実施形態ではブースティングアルゴリズムによる識別器に対して適用した場合について説明したが、分岐構造を持つ他の識別器に対して、分岐構造を決定する方法として適用してもよい。
また実施形態では判別処理部203をハードウェアにより実現する場合について説明したが、DSP(Digital Signal Processor)等でソフトウェアにより実現する場合にも適用可能である。その場合であっても、好適な分岐構造を選択することにより、処理速度と検出精度との向上見込まれる。
また、上述した実施形態で説明した機能は、学習専用の装置や汎用コンピュータのソフトウェアとしても適用することができる。
例えば、予備学習処理及び本学習処理では、複数の変動カテゴリの組合せで分類された複数の識別対象パターンのサンプルを正解又は不正解教示用データとして用い、複数の非識別対象パターンのサンプルを不正解教示用データとして用いるようにしてもよい。
また、予備学習処理では、予備識別器各々に対応する複数の変動カテゴリの組合せで分類された複数の識別対象パターンのサンプルのみを正解教示用データとして用いるようにしてもよい。
また、予備学習処理では、予備識別器各々に対応する複数の変動カテゴリの組合せで分類された複数の識別対象パターンのサンプルを不正解教示用データの一部として用いるようにしてもよい。
202 前処理部
203 判別処理部
208 CPU
Claims (10)
- 複数の変動カテゴリの組み合わせで分類された複数の識別対象パターンのサンプルを評価用データとしてそれぞれ個別の予備識別器に入力して、各予備識別器を学習させる予備学習手段と、
前記予備識別器で識別処理を実行し、該識別処理の結果の変動カテゴリ毎の変動に基づいて分岐構造を決定する分岐構造決定手段と、
前記分岐構造に基づき、分岐型パターン識別器を学習させる本学習手段と、
を有することを特徴とする情報処理装置。 - 前記予備識別器は、識別処理を段階的に実行し、識別対象パターンでないと判断した段階で以後の段階の処理の打切りを実施する識別器であって、
前記分岐構造決定手段は、前記評価用データを、前記予備識別器の各々に入力したときの段階での打切り率に基づき、前記分岐構造を決定することを特徴とする請求項1に記載の情報処理装置。 - 前記予備識別器は、前記識別対象パターンに関する信頼度を出力する識別器であって、
前記分岐構造決定手段は、前記評価用データを、前記予備識別器の各々に入力したときの信頼度に基づき、前記分岐構造を決定することを特徴とする請求項1に記載の情報処理装置。 - 前記分岐構造決定手段は、前記評価用データを投入した際の前記信頼度の差が最も大きくなる変動カテゴリの優先度を高くし、前記優先度に応じて分岐の順序を決定することを特徴とする請求項3に記載の情報処理装置。
- 複数の変動カテゴリの組み合わせで分類された複数の識別対象パターンのサンプルを評価用データとしてそれぞれ個別の予備識別器に入力して、各予備識別器を学習させる予備学習ステップと、
前記予備識別器で識別処理を実行し、該識別処理の結果の変動カテゴリ毎の変動に基づいて分岐構造を決定する分岐構造決定ステップと、
前記分岐構造に基づき、分岐型パターン識別器を学習させる本学習ステップと、
を含むことを特徴とする情報処理方法。 - 前記予備識別器は、識別処理を段階的に実行し、識別対象パターンでないと判断した段階で以後の段階の処理の打切りを実施する識別器であって、
前記分岐構造決定ステップでは、前記評価用データを、前記予備識別器の各々に入力したときの段階での打切り率に基づき、前記分岐構造を決定することを特徴とする請求項5に記載の情報処理方法。 - 前記予備識別器は、前記識別対象パターンに関する信頼度を出力する識別器であって、
前記分岐構造決定ステップでは、前記評価用データを、前記予備識別器の各々に入力したときの信頼度に基づき、前記分岐構造を決定することを特徴とする請求項5に記載の情報処理方法。 - 前記分岐構造決定ステップでは、前記評価用データを投入した際の前記信頼度の差が最も大きくなる変動カテゴリの優先度を高くし、前記優先度に応じて分岐の順序を決定することを特徴とする請求項7に記載の情報処理方法。
- コンピュータを、
複数の変動カテゴリの組み合わせで分類された複数の識別対象パターンのサンプルを評価用データとしてそれぞれ個別の予備識別器に入力して、各予備識別器を学習させる予備学習手段と、
前記予備識別器で識別処理を実行し、該識別処理の結果の変動カテゴリ毎の変動に基づいて分岐構造を決定する分岐構造決定手段と、
前記分岐構造に基づき、分岐型パターン識別器を学習させる本学習手段と、
して機能させることを特徴とするプログラム。 - 請求項9に記載のプログラムを記憶したコンピュータにより読み取り可能な記憶媒体。
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)
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)
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 | 欧姆龙株式会社 | 特定被摄体检测装置及方法 |
-
2009
- 2009-01-13 JP JP2009004975A patent/JP5235691B2/ja active Active
-
2010
- 2010-01-07 US US12/683,982 patent/US9256835B2/en active Active
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 |