JP2005190477A - オブジェクト検出 - Google Patents
オブジェクト検出 Download PDFInfo
- Publication number
- JP2005190477A JP2005190477A JP2004360621A JP2004360621A JP2005190477A JP 2005190477 A JP2005190477 A JP 2005190477A JP 2004360621 A JP2004360621 A JP 2004360621A JP 2004360621 A JP2004360621 A JP 2004360621A JP 2005190477 A JP2005190477 A JP 2005190477A
- Authority
- JP
- Japan
- Prior art keywords
- face
- image
- probability
- block
- detection
- 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.)
- Withdrawn
Links
Images
Classifications
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/28—Determining representative reference patterns, e.g. by averaging or distorting; Generating dictionaries
-
- 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/772—Determining representative reference patterns, e.g. averaging or distorting patterns; Generating dictionaries
-
- 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/167—Detection; Localisation; Normalisation using comparisons between temporally consecutive images
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- General Physics & Mathematics (AREA)
- Oral & Maxillofacial Surgery (AREA)
- Multimedia (AREA)
- General Health & Medical Sciences (AREA)
- Human Computer Interaction (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Geometry (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Bioinformatics & Cheminformatics (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
Abstract
【課題】オブジェクト検出処理におけるデータアクセス処理の効率を向上させる。
【解決手段】検査画像内のオブジェクトを検出するオブジェクト検出装置において、画像の検査ウィンドウのブロックと、オブジェクトの存在を示す参照データとを比較し、あるブロック領域と参照データとの間の類似の度合いを示すインデクス値を生成する比較手段と、インデクス値の可能な値と、ブロック位置とに対応する確率データを保存する保存手段と、現在のブロックに関して、検査ウィンドウ内のブロックの位置と、ブロックに関して生成されたインデクス値とに基づいて、ストレージに格納された確率値にアクセスするアクセス手段と、検査ウィンドウ内のブロックに対応する確率値を結合し、オブジェクトを含む検査ウィンドウの確率を示す結果を生成する結合手段とを備え、ストレージに格納されている確率値は、ブロック位置及びこれに続いてインデクス値によって順序付ける。
【選択図】図16
【解決手段】検査画像内のオブジェクトを検出するオブジェクト検出装置において、画像の検査ウィンドウのブロックと、オブジェクトの存在を示す参照データとを比較し、あるブロック領域と参照データとの間の類似の度合いを示すインデクス値を生成する比較手段と、インデクス値の可能な値と、ブロック位置とに対応する確率データを保存する保存手段と、現在のブロックに関して、検査ウィンドウ内のブロックの位置と、ブロックに関して生成されたインデクス値とに基づいて、ストレージに格納された確率値にアクセスするアクセス手段と、検査ウィンドウ内のブロックに対応する確率値を結合し、オブジェクトを含む検査ウィンドウの確率を示す結果を生成する結合手段とを備え、ストレージに格納されている確率値は、ブロック位置及びこれに続いてインデクス値によって順序付ける。
【選択図】図16
Description
本発明は、オブジェクト検出に関する。
以下の記述は、様々な種類のオブジェクトの検出に存在する問題に関連するが、ここでは、説明のため、特に顔検出について検討する。
人間の顔を検出する顔検出アルゴリズムは、様々な文献で提案されており、これらには、所謂固有顔(eigenfaces)法、顔テンプレートマッチング法、変形可能なテンプレートマッチング(deformable template matching)法又はニューラルネットワーク分類法を使用する手法等がある。これらの何れの手法も完全ではなく、通常、付随した利点及び欠点を有する。何れの手法も、画像が顔を含むことを確実な信頼性を持って示すことはなく、全て確率論的な判断(probabilistic assessment)に基づいており、すなわち画像が少なくとも顔を含むある可能性(likelihood)があるという画像の数学的解析に基づいている。それらの用途に従い、アルゴリズムは、通常、顔の誤検出を避けようとするために極めて高く設定された尤度の閾値(threshold likelihood value)を有する。
可能な顔に関するあらゆる種類のブロックベースの解析、又は可能な顔と顔の存在を示す予め派生されたデータとの比較を包む解析において、おそらく顔らしく見えないが、比較テストをパスするある画像属性を有する画像領域によって、アルゴリズムが間違えるという可能性がある。そして、このような領域は、顔を含む確率(probability)が高いとされ、顔の誤検出が生じる。
誤検出が起こることを減らすことを含むオブジェクト検出の信頼性を向上させることは、この技術分野における不変の目標である。
本発明に係るオブジェクト検出装置は、検査画像内のオブジェクトを検出するオブジェクト検出装置において、画像の検査ウィンドウのブロックと、オブジェクトの存在を示す参照データとを比較し、あるブロック領域と参照データとの間の類似の度合いを示すインデクス値を生成する比較手段と、インデクス値の可能な値と、ブロック位置とに対応する確率データを保存する保存手段と、現在のブロックに関して、検査ウィンドウ内のブロックの位置と、ブロックに関して生成されたインデクス値とに基づいて、ストレージに格納された確率値にアクセスするアクセス手段と、検査ウィンドウ内のブロックに対応する確率値を結合し、オブジェクトを含む検査ウィンドウの確率を示す結果を生成する結合手段とを備え、ストレージに格納されている確率値は、ブロック位置及びこれに続いてインデクス値によって順序付けられている。
本発明は、オブジェクト検出処理において、値が順次アクセスされ、順次アクセスされる値を隣接して又は近接して格納することにより、データアクセス処理の効率が向上するとの認識に基づいている。
本発明の更なる側面及び特徴は、添付の請求の範囲において定義される。
以下、顔検出に関する実施例を説明するが、本発明は、必要なオブジェクトを表すトレーニング画像によるトレーニングによって例えば自動車等、他の如何なるオブジェクトの検出にも同様に適用できる。
図1は、顔検出システム及び/又は非線形編集システムとして用いる汎用コンピュータ装置のブロック図である。コンピュータ装置は、処理ユニット10を備え、処理ユニット10は、中央処理装置(CPU)20と、ランダムアクセスメモリ(RAM)のようなメモリ30と、ディスクドライブ40のような不揮発性記憶装置と、他の通常の構成要素とを備える。コンピュータ装置は、ローカルエリアネットワーク又はインターネット(あるいは両方)のようなネットワーク50に接続している。また、コンピュータシステムは、キーボード60と、マウス又は他のユーザ入力デバイス70と、表示画面80とを備える。当業者には、汎用コンピュータ装置がここで記載していない多くの他の従来の部品を含むことは、明らかである。
図2は、顔検出に用いるビデオカメラレコーダ(カムコーダ)のブロック図である。カムコーダ100は、画像を電荷結合素子(CCD)からなる画像捕捉素子120上に合焦点するレンズ110を備える。電子的な形式で得られる画像は、テープカセットのような記録媒体140に記録するために画像処理回路130によって処理される。また、画像捕捉素子120によって捕捉された画像は、アイピース160を介して見られるユーザ表示画面150上に表示される。
画像と関連している音を捕捉するために、1つ以上のマイクロホンが用いられる。これらのマイクロホンは、フレキシブルケーブルによってカムコーダ100に接続され、あるいはカムコーダ100の本体に搭載されるという意味で、外部マイクロホンであるとも言える。1台以上のマイクロホンからのアナログオーディオ信号は、記録媒体140に記録するための適切なオーディオ信号を生成するために、オーディオ処理回路170によって処理される。
なお、ビデオ及びオーディオ信号は、デジタル形式又はアナログ形式の何れか、あるいは両方の形式で記録媒体140に記録することができる。したがって、画像処理回路130及びオーディオ処理回路170は、アナログ/デジタル変換器を備えていてもよい。 カムコーダ100のユーザは、レンズ110に電気的制御信号200を送るようにレンズ制御回路190に作用するユーザ制御180によって、レンズ110の性能における画角を制御することができる。一般的に、フォーカス及びズームのような属性はこのように制御されるが、レンズの絞り又は他の属性は、ユーザによって操作される。
更に、2個のユーザ操作子を説明する。記録媒体140への記録を開始し、中止するために押しボタン210が設けられている。例えば、押しボタン210を1回押したときに記録を開始し、もう1回押したときに記録を中止することができる。あるいは、押した状態を維持することにより記録を行い、又はある時間、例えば5秒間押すことにより記録を開始するようにしてもよい。これらの如何なる構成においても、始めと終わりがある各「撮影(shot)」(連続した記録期間)に対するカムコーダ100の記録操作の確認は、技術的に非常に簡単である。
なお、ビデオ及びオーディオ信号は、デジタル形式又はアナログ形式の何れか、あるいは両方の形式で記録媒体140に記録することができる。したがって、画像処理回路130及びオーディオ処理回路170は、アナログ/デジタル変換器を備えていてもよい。 カムコーダ100のユーザは、レンズ110に電気的制御信号200を送るようにレンズ制御回路190に作用するユーザ制御180によって、レンズ110の性能における画角を制御することができる。一般的に、フォーカス及びズームのような属性はこのように制御されるが、レンズの絞り又は他の属性は、ユーザによって操作される。
更に、2個のユーザ操作子を説明する。記録媒体140への記録を開始し、中止するために押しボタン210が設けられている。例えば、押しボタン210を1回押したときに記録を開始し、もう1回押したときに記録を中止することができる。あるいは、押した状態を維持することにより記録を行い、又はある時間、例えば5秒間押すことにより記録を開始するようにしてもよい。これらの如何なる構成においても、始めと終わりがある各「撮影(shot)」(連続した記録期間)に対するカムコーダ100の記録操作の確認は、技術的に非常に簡単である。
図2に示す「素晴らしい撮影マーカ(good shot marker:以下、GSMという。)」220は、ユーザによって操作され、これにより、ビデオ及びオーディオマテリアルに関連した「メタデータ」(関連データ)が記録媒体140に格納される。この特別の撮影は、ある観点で「素晴らしい(good)」と操作者によって主観的にみなされたこと(例えば、俳優が特によく演じた、ニュースリポータが各言葉を正しく発音した等)を示している。
メタデータは、記録媒体140上の予備領域(例えば「ユーザデータ」領域)に、用いられている特定のフォーマット及び規格に依存して、記録される。あるいは、メタデータはリムーバブルメモリスティック(登録商標)のメモリ(図示せず)のような別個の記録媒体に格納することができ、あるいはメタデータは、例えば無線リンク(図示せず)によって通信する外部データベース(図示せず)に格納することもできる。メタデータには、GSMの情報だけでなく、撮影条件(shot boundaries)、レンズの属性、ユーザ(例えばキーボード(図示せず))による文字情報入力、全地球測位システム受信機(図示せず)からの地理的位置情報等が含まれてもよい。
以上、メタデータを記録可能なカムコーダについて説明した。次に、このようなカムコーダに顔検出を適用する方法について説明する。勿論、この技術は、例えばインターネットプロトコル(IP)カメラ、ビデオ会議カメラ等のネットワークに接続されたカメラにも適用可能である。
カムコーダ100は、顔検出器構成230を備える。適切な構成のより詳細は、後で説明するが、顔検出器230は、画像処理回路130から画像が供給され、このような画像が1つ以上の顔を含むか否かを検出、又は検出することを試みる。顔検出器230は、顔検出データを、「yes/no」フラグの形式で、あるいは、各検出された顔内の目の位置のような顔の画像座標を含むより詳細な形式で出力することができる。この情報は、メタデータの他の形として処理し、上述したフォーマットとは異なるフォーマットで格納することができる。
後述するように、顔検出は、検出処理における他の種類のメタデータを用いることにより、助けられる。例えば、顔検出器230は、レンズ110の現在のフォーカス及びズーミング設定を示すレンズ制御回路190からの制御信号が供給される。これらは、画像のフォアグラウンドで表示されるあらゆる顔の予想される画像サイズの初期の表示を与えることによって、顔検出器2130を補佐することができる。なお、この観点では、フォーカス及びズーミングの設定は、カムコーダ100と撮影されている個人との予想される距離、更にはレンズ110の倍率を表している。これらの2つの属性からの顔の大きさの平均に基づいて、得られる画像データ内における顔の予想される大きさ(画素)を算出することができる。
従来の(既知の)音声検出器240は、オーディオ処理回路170からオーディオ情報が供給され、このようなオーディオ情報内の音声の存在を検出する。音声の存在は、対応する画像に顔がある可能性を、音声を検出しないときに比して、より高い指標(indicator)で示すことができる。後述する幾つかの実施例では、1組のマイクロホンから最もアクティブなマイクロホンを検出することによって又は複数のマイクロホンの間の三角測量又は同様の技術によって、スピーカの位置を反映するように音声検出器を変更してもよい。
従来の(既知の)音声検出器240は、オーディオ処理回路170からオーディオ情報が供給され、このようなオーディオ情報内の音声の存在を検出する。音声の存在は、対応する画像に顔がある可能性を、音声を検出しないときに比して、より高い指標(indicator)で示すことができる。後述する幾つかの実施例では、1組のマイクロホンから最もアクティブなマイクロホンを検出することによって又は複数のマイクロホンの間の三角測量又は同様の技術によって、スピーカの位置を反映するように音声検出器を変更してもよい。
最終的に、撮影境界(shot boundaries)及びユーザによって最も有益であるとみなされるそれらの撮影を示すGSM情報220及び撮影情報(制御210から)は、顔検出器230に供給される。
勿論、カムコーダがアナログ記録技術に基づく場合、画像及びオーディオ情報を処理するために、更なるアナログ/デジタル変換器(以下、A/D変換器という。)が必要とされる。
この実施例では、2段階の顔検出技術を用いる。図3は、トレーニング段階を具体的に説明する図であり、図4は、検出段階を具体的に説明する図である。
以前に提案された顔検出方法(以下に示す参照4及び5を参照)と異なり、この方法は、全体としてではなく顔の一部のモデリングに基づいている。顔の一部は、顔の特徴(所謂「選択サンプリング(selective sampling)」)の推定位置上の中心のブロック、又は顔の通常間隔でサンプリング(所謂「標準サンプリング(regular sampling)」)されたブロックである。ここでは、主に、経験的検定で良い結果が得られた標準サンプリングについて説明する。
トレーニング段階では、解析処理を、顔を含むことが知られている一組の画像に、及び(オプションとして)顔を含まないことが知られている画像(「顔でない画像(nonface images)」)の別のセットに適用する。解析処理は、検定画像を後で(検出段階で)比較することができる顔及び顔でない特徴の数学的モデルを構築する。
したがって、数学的モデル(図3のトレーニング処理310)を構築するための基本的な手順は次の通りである。
1.同じ目位置を有するように正規化された顔の画像のセット300の各顔を、小さいブロックに一様にサンプリングする。
2.後で説明する各ブロックの属性を算出する。
3.属性を、異なる値の処理しやすい数に量子化する。
4.次に、量子化属性を、そのブロック位置に関して1つの量子化値を生成するために組み合わせる。
5.そして、1つの量子化値を、エントリとしてヒストグラム、例えば図5に示すヒストグラムに記録する。全てのトレーニング画像の全てのブロック位置に関する累積されたヒストグラム情報320は、顔の特徴の数学的モデルの基礎を形成する。
1.同じ目位置を有するように正規化された顔の画像のセット300の各顔を、小さいブロックに一様にサンプリングする。
2.後で説明する各ブロックの属性を算出する。
3.属性を、異なる値の処理しやすい数に量子化する。
4.次に、量子化属性を、そのブロック位置に関して1つの量子化値を生成するために組み合わせる。
5.そして、1つの量子化値を、エントリとしてヒストグラム、例えば図5に示すヒストグラムに記録する。全てのトレーニング画像の全てのブロック位置に関する累積されたヒストグラム情報320は、顔の特徴の数学的モデルの基礎を形成する。
上述のステップを多数の検定顔画像について繰り返すことによって、1つのそのようなヒストグラムを、各可能なブロック位置に対して作成する。テストデータについては、更に後述する付録Aで説明する。そこで、8×8ブロックの配列を用いる方式では、64個のヒストグラムを準備する。処理の後半部において、検定する量子化属性を、ヒストグラムのデータと比較する。データをモデル化するために全部のヒストグラムを用いるという事実は、例えばガウス分布又は他の分布を後でパラメータ化するか否かと仮定する必要はないことを意味する。データ記憶空間(必要ならば)を節約するために、同じヒストグラムが異なるブロック位置に対して再生利用できるように、類似しているヒストグラムを併合することができる。
検出段階で、検定画像350を顔検出器340で処理するために、検定画像340内の連続したウィンドウを、以下のように処理する。
6.ウィンドウを、一連のブロックのように一様にサンプリングし、そして、各ブロックに関する属性を算出して、上述のステップ1〜4のように量子化する。
7.各ブロック位置の量子化属性値の対応する「確率(probability)」を、対応するヒストグラムから調べる。すなわち、各ブロック位置のそれぞれの量子化属性を生成し、そのブロック位置に関して予め生成されたヒストグラムと比較する。ヒストグラムが「確率」データを高める方法については後述する。
8.得られる全ての確率を互いに乗算して、ウィンドウを「顔」又は「顔でない」に分類するために、閾値と比較する最終の確率を形成する。「顔」又は「顔でない」の検出結果は絶対検出よりもむしろ確率ベースの方法であることは、言うまでもない。顔を含んでいない画像を間違って「顔」として検出(所謂誤検出(false positive))してしまうことがある。また、顔を含んでいる画像を間違って「顔でない」として検出(所謂見逃し検出(false negative))してしまうこともある。あらゆる顔検出システムの目標は、誤検出の割合及び見逃し検出の割合を減らすことであるが、現在の技術では、これらの割合をゼロに減らすことは、不可能ではないとしても困難である。
6.ウィンドウを、一連のブロックのように一様にサンプリングし、そして、各ブロックに関する属性を算出して、上述のステップ1〜4のように量子化する。
7.各ブロック位置の量子化属性値の対応する「確率(probability)」を、対応するヒストグラムから調べる。すなわち、各ブロック位置のそれぞれの量子化属性を生成し、そのブロック位置に関して予め生成されたヒストグラムと比較する。ヒストグラムが「確率」データを高める方法については後述する。
8.得られる全ての確率を互いに乗算して、ウィンドウを「顔」又は「顔でない」に分類するために、閾値と比較する最終の確率を形成する。「顔」又は「顔でない」の検出結果は絶対検出よりもむしろ確率ベースの方法であることは、言うまでもない。顔を含んでいない画像を間違って「顔」として検出(所謂誤検出(false positive))してしまうことがある。また、顔を含んでいる画像を間違って「顔でない」として検出(所謂見逃し検出(false negative))してしまうこともある。あらゆる顔検出システムの目標は、誤検出の割合及び見逃し検出の割合を減らすことであるが、現在の技術では、これらの割合をゼロに減らすことは、不可能ではないとしても困難である。
上述のように、トレーニング段階において、一組の「顔でない」画像は、「顔でない」ヒストグラムの対応するセットを生成するために用いることができる。そして、顔の検出を達成するために、顔でないヒストグラムから生成される「確率」を、個々の閾値と比較し、検定ウィンドウが顔を含むためには、確率が閾値以下でなければならない。代わりに、顔でない確率に対する顔確率の比を、閾値と比較することができる。
元のトレーニングセットを例えば位置、方向、大きさ、アスペクト比、背景の風景、照明の明るさ及び周波数成分(frequency content)の変化等の「合成変化(synthetic variations)」330で処理することによって、特別な(extra)トレーニングデータを生成することができる。
ここで、属性及びそれらの量子化の導き方について説明する。従来の技術において、属性は、ウィンドウに表示された画像内に存在する異なる種類のブロックを表すコアブロック(又は固有ベクトル)である所謂固有ブロックに関して評価される。まず、固有ブロックの生成について、図6を参照して説明する。
固有ブロックの生成
この実施例の属性は、所謂固有ブロックに基づいている。固有ブロックを、トレーニングセットのブロックの有効な具象的な才能(good representational ability)を有するように設計した。したがって、固有ブロックは、トレーニングセットからのブロックの大きなセットに対して重要な構成要素の解析を実行することによって生成された。この処理を、図6に示すとともに、付録Bにおいてより詳細に説明する。
この実施例の属性は、所謂固有ブロックに基づいている。固有ブロックを、トレーニングセットのブロックの有効な具象的な才能(good representational ability)を有するように設計した。したがって、固有ブロックは、トレーニングセットからのブロックの大きなセットに対して重要な構成要素の解析を実行することによって生成された。この処理を、図6に示すとともに、付録Bにおいてより詳細に説明する。
システムのトレーニング
実験を、トレーニングブロックの2の異なるセットによって行った。
実験を、トレーニングブロックの2の異なるセットによって行った。
固有ブロックセットI
まず最初に、トレーニングセットの25個の顔画像から得られる一組のブロックを用いた。16×16ブロックを、重ならないように、16画素毎にサンプリングした。このサンプリングを、図6に示す。図6から明らかなように、16×16ブロックは、個々の64×64トレーニング画像から生成される。これにより、全体的に合計400個のトレーニングブロックが生成される。
まず最初に、トレーニングセットの25個の顔画像から得られる一組のブロックを用いた。16×16ブロックを、重ならないように、16画素毎にサンプリングした。このサンプリングを、図6に示す。図6から明らかなように、16×16ブロックは、個々の64×64トレーニング画像から生成される。これにより、全体的に合計400個のトレーニングブロックが生成される。
これらのトレーニングブロックから生成される第1の10個の固有ブロックを、図7に示す。
固有ブロックセットII
固有ブロックの第2セットを、トレーニングブロックのより大きなセットから生成した。これらのブロックは、トレーニングセット内の500個の顔画像から得られた。この場合、16×16ブロックを、8画素が重なるように、8画素毎にサンプリングした。各64×64個のトレーニング画像から、49個のブロックが生成され、これを合計24,500個のトレーニングブロックに適用した。
固有ブロックの第2セットを、トレーニングブロックのより大きなセットから生成した。これらのブロックは、トレーニングセット内の500個の顔画像から得られた。この場合、16×16ブロックを、8画素が重なるように、8画素毎にサンプリングした。各64×64個のトレーニング画像から、49個のブロックが生成され、これを合計24,500個のトレーニングブロックに適用した。
これらのトレーニングブロックから生成される第1の12の固有ブロックを、図8に示す。
実験に基づく結果により、固有ブロックセットIIが固有ブロックセットIより僅かに有効な結果を与えることが分かった。
このことは、固有ブロックセットIIが、顔画像から取られたトレーニングブロックのより大きなセットから算出され、顔の変化をより良く表すと認められるからである。しかしながら、性能の向上は、大きくない。
ヒストグラムの作成
64×64顔画像内の各サンプリングされたブロック位置に対してヒストグラムを作成した。ヒストグラムの数は、ブロック間隔に依存する。例えば、16画素のブロック間隔の場合、16の可能なブロック位置があり、したがって、16個のヒストグラムが用いられる。
64×64顔画像内の各サンプリングされたブロック位置に対してヒストグラムを作成した。ヒストグラムの数は、ブロック間隔に依存する。例えば、16画素のブロック間隔の場合、16の可能なブロック位置があり、したがって、16個のヒストグラムが用いられる。
図9は、単一のブロック位置を表すヒストグラムを作成するための処理を示す。ヒストグラムを、M個の顔画像の大きなトレーニングセット400を用いて作成する。各顔画像に対する処理は、以下の処理を含んでいる。
・顔画像の位置(i,j)から関連したブロックを抽出する処理410。
・ブロックの固有ブロックベースの属性を算出して、これらの属性から関連したビン数420を判定する処理。
・ヒストグラム430内の関連したビン数を増加させる処理。
・顔画像の位置(i,j)から関連したブロックを抽出する処理410。
・ブロックの固有ブロックベースの属性を算出して、これらの属性から関連したビン数420を判定する処理。
・ヒストグラム430内の関連したビン数を増加させる処理。
属性の出現度数の分布の有効な表現を与えるヒストグラムを作成するために、この処理は、トレーニングセット内のM個の画像のそれぞれに対して繰り返される。理想的には、Mの値は、非常に大きく、例えば数千である。この処理は、一組の元の顔と各元の顔の数百個の合成変化とからなるトレーニングセットを用いることにより、容易に達成することができる。
ヒストグラムビン数の生成
ヒストグラムビン数は、図10で示すように、以下の処理を用いて、所定のブロックから生成される。64×64ウィンドウ又は顔画像から16×16ブロック440を抽出する。ブロックは、一組の「固有ブロック重み(eigenblock weight)」を生成するためにA固有ブロックのセット450上で推定される。これらの固有ブロック重みは、この実行で用いられる「属性」である。固有ブロック重みは、−1〜+1の範囲を有する。この処理については、付録Bでより詳細に説明する。各重みを、一組の量子化属性470(wi,i=1,・・・,A)を生成するために、レベルLの固定量に量子化する。量子化重みを、以下のように、単一の値に結合する。
ヒストグラムビン数は、図10で示すように、以下の処理を用いて、所定のブロックから生成される。64×64ウィンドウ又は顔画像から16×16ブロック440を抽出する。ブロックは、一組の「固有ブロック重み(eigenblock weight)」を生成するためにA固有ブロックのセット450上で推定される。これらの固有ブロック重みは、この実行で用いられる「属性」である。固有ブロック重みは、−1〜+1の範囲を有する。この処理については、付録Bでより詳細に説明する。各重みを、一組の量子化属性470(wi,i=1,・・・,A)を生成するために、レベルLの固定量に量子化する。量子化重みを、以下のように、単一の値に結合する。
ここで、生成される値hは、ヒストグラムビン数480である。なお、ヒストグラムのビンの全数は、LAで与えられる。
ビン「成分(contents)」、すなわちそのビン数を増加する属性のセットの出現度数は、トレーニング画像の数Mで割ると、確率値であるとみなすことができる。しかしながら、確率を閾値と比較するので、実際にはMによる除算をする必要がなく、この値を、計算から除外する。したがって、以下の説明では、ビン「成分」は正確な意味では出現度数であるが、ビン「成分」を確率値(probability values)」と称し、確率値であるかのように取り扱う。
上述の処理は、トレーニング段階と検出段階の両方で用いられる。
顔検出段階
顔検出処理は、検定画像を64×64の移動ウィンドウ(moving 64x64 window)によってサンプリングして、各ウィンドウ位置における顔確率を算出する処理を包む。
顔検出処理は、検定画像を64×64の移動ウィンドウ(moving 64x64 window)によってサンプリングして、各ウィンドウ位置における顔確率を算出する処理を包む。
図11に、顔確率の計算を示す。ウィンドウ内の各ブロック位置において、前の章で説明したように、ブロックのビン数490を算出する。ブロックの位置に対する適切なヒストグラム500を用いて、各ビン数を調べ、そのビン数の確率510を決定する。そして、これらの確率の対数(log)の和520を全てのブロックに亘って算出し、顔確率値Pface(あるいは対数尤度値(log likelihood value))を生成する。
この処理は、全体の検定画像のために確率「マップ(map)」を生成する。換言すれば、確率値は、画像の全体に亘る各可能なウィンドウ中心位置に関して導かれる。そして、これらの確率値の全ての長方(あるいは他)形状の配列への結合は、その画像に対応した確率「マップ」であると認められる。
そして、このマップを反転し、これにより、顔を検出する処理は、反転マップ内の最小値を見つけ出すことを含む。所謂距離ベースの技術(distance-based technique)を用いる。この技術は、次のように要約することができる。反転確率マップ内の最も小さい値を有するマップ(画素)位置を選択する。この値が閾値(TD)より大きいときは、それ以上は顔を選択しない。これは、終了基準(termination criterion)である。一方、選択された中心画素位置に対応している顔の大きさのブロックを無効にし(すなわち、後続の計算から除外し)、終了基準に達するまで、候補顔位置検出処理を画像の残りの部分に対して繰り返す。
顔でない方法
顔でないモデルは、顔を含まない画像の属性の確率分布を示すヒストグラムの更なるセットを含む。このヒストグラムは、トレーニング画像が顔の代わりに顔でない画像を含む以外は、顔モデルと正確に同じ方法で生成される。
顔でないモデルは、顔を含まない画像の属性の確率分布を示すヒストグラムの更なるセットを含む。このヒストグラムは、トレーニング画像が顔の代わりに顔でない画像を含む以外は、顔モデルと正確に同じ方法で生成される。
検出を通じて、顔モデルと顔でないモデルを用いた2つの対数確率値を計算する。そして、これらを、単に顔確率から顔でない確率を減算ことによって結合する。
そして、Pcombinedを、(極性反転前の)確率マップを生成するために用いる。
なお、PfaceからPnonfaceを減算する理由は、それらが対数確率値であるからである。 また、顔ヒストグラムと顔ではないヒストグラムとは、以下に示すように、トレーニング処理の後(顔検出の前)に、単にヒストグラムの対数を加算することによって任意に結合できる。
加算されたヒストグラム=log (ヒストグラム(顔))+log (ヒストグラム(顔ではない))
これは、後述するように、各ブロック位置/姿勢/目の間隔の組合せにおいて、1つのヒストグラムだけが必要であるためである。
加算されたヒストグラム=log (ヒストグラム(顔))+log (ヒストグラム(顔ではない))
これは、後述するように、各ブロック位置/姿勢/目の間隔の組合せにおいて、1つのヒストグラムだけが必要であるためである。
ヒストグラムの具体例
図12a〜12fは、上述したトレーニング処理によって生成されるヒストグラムの具体例を示す図である。
図12a〜12fは、上述したトレーニング処理によって生成されるヒストグラムの具体例を示す図である。
図12a、12b、12cは、顔画像のトレーニングセットから導かれ、図12d、12e、12fは、顔を含まない画像のトレーニングセットから導かれたものである。詳しくは、以下の表に示す。
ピークが顔ヒストグラムと顔でないヒストグラムとでは異なる位置にあることが明らかに見られる。
ヒストグラムの保存
上述のように、ヒストグラムは、所定の尺度及び画像内の位置における顔の存在の可能性に関する統計的情報を保存する。ここで、ヒストグラムの順序(ordering)は、意外にもシステム性能にとって重要な要素となる。単純な順序では、アクセスがローカライズされない(すなわち、メモリ内の離れた部分に連続的にアクセスすることになる)。このため、マイクロプロセッサ又は専用のプロセッサを用いて処理を実現した場合、キャッシュ性能が悪化する。この問題を解決するために、データへのアクセスがローカライズされるように、ヒストグラムの順序を変更する。この実施例では、以下の表に示すように、合計で6つのヒストグラムがある。
上述のように、ヒストグラムは、所定の尺度及び画像内の位置における顔の存在の可能性に関する統計的情報を保存する。ここで、ヒストグラムの順序(ordering)は、意外にもシステム性能にとって重要な要素となる。単純な順序では、アクセスがローカライズされない(すなわち、メモリ内の離れた部分に連続的にアクセスすることになる)。このため、マイクロプロセッサ又は専用のプロセッサを用いて処理を実現した場合、キャッシュ性能が悪化する。この問題を解決するために、データへのアクセスがローカライズされるように、ヒストグラムの順序を変更する。この実施例では、以下の表に示すように、合計で6つのヒストグラムがある。
以下で用いる変数について説明する。
cは、所定の尺度における画像の所定の位置についてのビンマップ(binmap:画像内の各位置について、ヒストグラムエントリを与えるマップ)からの値であり、この実施例では、9ビットバイナリ数である。ビンマップは、9つの固有ブロックで画像を畳み込み、これにより得られる9個の固有ブロック重みを量子化し、それらを単一の値に結合することによって予め算出される。
xは、顔ウィンドウ内のx位置である(0〜6の値をとる)。
yは、顔ウィンドウ内のy位置である(0〜6の値をとる)。これは、各ポーズ(例えば、F38)に対するヒストグラムのサイズが512×7×7=25088バイトとなることを意味する。
F38 c,x,yは、所定のc、x、yについてのヒストグラムの値である。
例えば、F38 15,4,5は、ビンマップ値を15として、顔ウィンドウで内の位置(4,5)における38目間隔を有する正面のヒストグラムによって与えられる値である。
メモリにおけるヒストグラムの単純な順序は、c、x、y、ポーズ、目間隔の順である。図13aは、この順序の具体例を示している。
改善された順序は、ポーズ、x、y、c、目間隔の順である。図13bは、この種の順序の具体例を示しいてる。
ヒストグラムを新たな順序で順序付けすることによりキャッシュ性能が改善される理由としては、以下の2つの理由がある。
(1)ポーズにどのようにアクセスするか。
(2)顔探索の間に顔ウィンドウがどのように移動するか。
(1)ポーズにどのようにアクセスするか。
(2)顔探索の間に顔ウィンドウがどのように移動するか。
3つの異なるポーズ(左向き、右向き、正面)は、各位置について、常に同じビン番号及び位置によってアクセスされ、すなわち、F38 329,2,1にアクセスする場合、L38329,2,1及びR38 329,2,1もアクセスされる。これらは新たな手法では隣接しており、したがって、キャッシュ性能が向上する。
また、ヒストグラムを構成する新たな手法は、画像における顔の探索の間に、どのように顔ウィンドウを移動させるかについても、効果を有する。すなわち、顔ウィンドウの移動の仕方のため、同じc値を多くの(x、y)位置で調べることができる。
図14は、ある位置において、顔を探索するために、ビンマップからどの値が使用さるかを示している。例えば、F38 329,2,1は、顔ウィンドウの(2、1)位置における目間隔38の正面のヒストグラムからの値である。
図14から分かるように、顔検出ウィンドウを右に2つ移行させると、強調表示された正方形は、左に1つ移動し、すなわち、同じ値を別の場所で調べることができる。図14の実施例では、顔ウィンドウを2つ右に移動させると、F38 329,2,1は、F38 329,1,1になる。
アルゴリズムが画像において、顔ウィンドウを移動させることによって顔を探索する場合、アルゴリズムは、幾つかの位置で同じビンマップを調べる。これは、これらの値がメモリにおいて、互いに近くに格納されていれば、キャッシュ性能が向上することを意味する。
上述した改善に伴う又は上述した改善から独立した、ヒストグラム構造における他の改善点として、横向きのポーズが正面のポーズより少ないビットで表現されるという点がある。各ヒストグラムビンに保存される値は、それらがどのポーズを表すかに応じて、異なるビット数に量子化される。
6ヒストグラムのそれぞれに用いられるビット数を以下の表に示す。
この利点は、3つのヒストグラム値の各組を3バイトではなく2バイトで保存できるという点である。
このようなデータの削減が可能な理由は、アルゴリズムの総合的な性能に関しては、横向きのポーズが正面のポーズより重要度が低く、精度に大きく影響を与えることなく、これらをより低い解像度で表現できるためである。
多尺度(multiscale)顔検出
検定画像における異なる大きさの顔を検出するために、検定画像を係数の範囲(range of factors)によって拡大縮尺し(scale)、距離(distance、すなわち確率)マップを各尺度(scale)に対して生成する。図15a〜15cに、画像及びこれらの対応する距離マップを、3つの異なる尺度で示す。この手法は、最も小さい尺度(図15a)で大きな(中心の)対象に対して最良の応答(最高の確率又は最小の距離)を示し、大きな尺度でより小さい対象(主人物の左側)に対してより良い応答を示す。(マップ上のより暗い色は、反転マップにおけるより低い値、すなわちそこが顔であるというより高い確率を示す)。全ての尺度に対して最良の応答を示す位置を最初に検出ことによって、候補顔位置を異なる尺度に亘って抽出する。すなわち、最も高い確率(最も短い距離)を、全ての尺度で全ての確率マップ中で確定する。この候補位置は、顔としてラベルが付けられる第1の位置である。そして、その顔位置の中心に置かれるウィンドウは、各尺度の確率マップから削除される。削除されるウィンドウの大きさは、確率マップの尺度に比例する。
検定画像における異なる大きさの顔を検出するために、検定画像を係数の範囲(range of factors)によって拡大縮尺し(scale)、距離(distance、すなわち確率)マップを各尺度(scale)に対して生成する。図15a〜15cに、画像及びこれらの対応する距離マップを、3つの異なる尺度で示す。この手法は、最も小さい尺度(図15a)で大きな(中心の)対象に対して最良の応答(最高の確率又は最小の距離)を示し、大きな尺度でより小さい対象(主人物の左側)に対してより良い応答を示す。(マップ上のより暗い色は、反転マップにおけるより低い値、すなわちそこが顔であるというより高い確率を示す)。全ての尺度に対して最良の応答を示す位置を最初に検出ことによって、候補顔位置を異なる尺度に亘って抽出する。すなわち、最も高い確率(最も短い距離)を、全ての尺度で全ての確率マップ中で確定する。この候補位置は、顔としてラベルが付けられる第1の位置である。そして、その顔位置の中心に置かれるウィンドウは、各尺度の確率マップから削除される。削除されるウィンドウの大きさは、確率マップの尺度に比例する。
この拡大縮小削除処理(scaled blanking out process)の具体例を、図15a〜15cに示す。特に、全てのマップに亘って最高の確率は、最大尺度マップ(図15c)の左側で検出される。図15cにおいて、顔の推定された大きさに対応する領域530を削除する。より小さいマップにおいて、対応する縮小された領域532、534を削除する。
重複検出を避けるために、マップの検定ウィンドウより大きな領域を削除する。特に、そのような重複検出を避けるのに適した領域の大きさは、検定ウィンドウの幅/長さに、それぞれの半分を加えた大きさである。
次に良い応答を探索し、対応するウィンドウを次々に削除にすることによって、新たな顔を検出する。
処理される尺度間で許容される間隔は、大きさの変化に対する処理の感度(sensitivity)に影響される。尺度に対して不変であるという(scale invariance)この予備的な研究において、多くの場合、ある尺度で良い応答を示した顔が同様に隣の尺度で良い応答を示すように、この処理が大きさの変化に極端に敏感でないことが分かった。
上述の説明では、画像における顔の大きさが検出処理の初めでは分かっていないときの顔検出について言及している。多尺度顔検出(multiple scale face detection)の別の態様は、検出処理を確証するために、異なる尺度での2つ以上の並列検出に用いることである。例えば、検出される顔が部分的に覆い隠され、あるいは人が帽子等をかぶっている場合に、この方法は、利点を有する。
図15d〜15gは、この処理を示す図である。トレーニング段階の間、装置を、「フルフェース(full face)」ヒストグラムデータを生成するために、検定顔全体を囲むウィンドウ(図15d、上述したようにそれぞれのブロックに分割されている)上でトレーニングし、更に、「ズームイン(zoomed in)」ヒストグラムデータ生成するために、検定顔の中心領域だけが含まれるように拡大した尺度のウィンドウ(図15e)上でトレーニングする。これにより、2セットのヒストグラムデータを生成する。1つのセットは、図15dの「フルフェース」ウィンドウに関し、他のセットは、図15eの「中心顔領域(central face area)」ウィンドウに関する。
検出段階の間、あらゆる与えられた検定ウィンドウ536において、検定ウィンドウが顔の予想される大きさの全部を囲み(図15f)、また、他の検定ウィンドウがその予想される大きさで顔の主要な領域を含む(図15g)ように、ウィンドウを、検定画像の2の異なる尺度に対して適用する。これらは、それぞれ、上述したように処理し、ウィンドウの種類に適したヒストグラムデータの各セットと比較する。各並列処理からの対数確率を加えた後、閾値と比較する。
これらの多尺度顔検出の態様を一緒にすることにより、特に、格納しなければならないデータ量を著しく節約することができる。
特に、これらの実施例において、図15a〜15cの配置に対する複数の尺度は、等比数列的に配列されている。この具体例においては、等比数列の項として並べられた各尺度における隣り合う尺度は、次項が前項の4√2倍となるように配列されている。そして、図15d〜15gによって説明した並列検出のために、より大きな尺度、中央領域、検出は、この数列において3段階高い尺度、すなわち「フルフェース」尺度よりも23/4倍大きな尺度で、数列において3段階高い尺度に関する属性データを用いて実行する。したがって、複数の尺度範囲の両端は別として、等比数列(geometric progression)は、図15d〜15gの並列検出が、順番で3段階高い他の多尺度に関して生成される属性データを用いて、常に実行できることを意味している。
2つの処理(多尺度検出と並列尺度検出)は、様々な方法で組み合わせることができる。例えば、図15a〜15cの多尺度検出処理を最初に適用し、それから、図15d〜15gの並列尺度検出処理を、多尺度検出処理の間に識別された領域(及び尺度)で適用することができる。しかしながら、属性データの便利で効率的な使用は、以下のようにして達成することができる。
・各尺度で検定ウィンドウに関する属性を導く(図15a〜15cに示すように)。
・それらの属性を「フルフェース」ヒストグラムデータと比較して、「フルフェース」の距離マップのセットを生成する。
・属性を「ズームイン」ヒストグラムデータと比較して、「ズームイン」の距離マップのセットを生成する。
・各尺度nについて、尺度n+3の「ズームイン」距離マップを、尺度nの「フルフェース」距離マップに組み合わせる。
・図15a〜15cによって上述したように、組み合わせた距離マップから顔位置を導く。
・各尺度で検定ウィンドウに関する属性を導く(図15a〜15cに示すように)。
・それらの属性を「フルフェース」ヒストグラムデータと比較して、「フルフェース」の距離マップのセットを生成する。
・属性を「ズームイン」ヒストグラムデータと比較して、「ズームイン」の距離マップのセットを生成する。
・各尺度nについて、尺度n+3の「ズームイン」距離マップを、尺度nの「フルフェース」距離マップに組み合わせる。
・図15a〜15cによって上述したように、組み合わせた距離マップから顔位置を導く。
更に、例えば正面、部分的に上、下、左、右等を見た様々なポーズを検出するために、並列検定を、実行することができる。ここで、ヒストグラムデータのそれぞれのセットが必要とされるとともに、結果が、「最大」関数を用いて好ましくは組み合わせられ、すなわち、最も高い確率を与えるポーズは閾値処理に送られ、他は破棄される。
多尺度の改善された用法
顔検出アルゴリズムは、複数の尺度で複数の確率マップを提供する。ここでは、重複する顔がないことを確実にしながら、確率が所定の閾値を超えている画像における全ての場所を検出することが必要である。
顔検出アルゴリズムは、複数の尺度で複数の確率マップを提供する。ここでは、重複する顔がないことを確実にしながら、確率が所定の閾値を超えている画像における全ての場所を検出することが必要である。
上述した手法の短所は、全ての尺度に対応する確率マップの完全な組を保存する必要があり、したがって、大きなメモリが必要であるという点である。一方、以下に説明する手法では、確率マップの全てを同時に保存する必要はない。
簡潔に言えば、この手法では、候補顔の位置の一時的なリストを維持する。各尺度について、確率マップを計算するにあたり、確率最大値を検出し、これと候補顔の位置のリストとを比較し、重複する顔が存在しないことを確実にする。
詳しくは、この手法では、顔がある可能性がある場合、顔リストを用いて現在の位置のリストを維持する。顔リスト内の各顔は、顔の位置と顔のサイズに関する情報を有する。この閾値は、オブジェクトが顔であると考えられる確率閾値である。尺度係数は、連続した尺度間のサイズ係数(この実施例では、1.189207115又は4√2)である。
以下の説明では、16x16の顔サイズ(face_size)について検討する。
この処理について、図16のフローチャートを用いて説明する。
図16に示すように、処理は、ステップ1400において、1つの尺度(この実施例では、最小の尺度)に関して開始される。ステップ1400を最初に実行したときは、顔リストは、空であるが、次回からは、ステップ1400において、顔リスト内の全ての顔について、各顔のサイズを尺度係数に乗算することによって、各顔のサイズを変更する。これにより、先の尺度に関して検出された顔が現在の尺度における最大値に対する有効な比較のために正しいサイズに変更される。
ステップ1410において、現在のマップにおける最大の確率値(mp)が検出される。
ステップ1420において、最大の確率値mpは、閾値と比較される。mpが閾値より大きい場合、処理は、ステップ1430に進む。一方、mpが閾値より大きくない場合、次のマップ(処理すべき次の尺度係数に対応しているマップ)に対する処理がステップ1440から開始される。
ステップ1430において、最大値mpを示す現在の尺度の確率マップ内の位置が顔リスト内の顔に重なる(一致する)場合(ここでは、ステップ1400において変更されたサイズを考慮している。)、処理はステップ1450に進む。これ以外の場合、処理は、ステップ1460に進む。
ステップ1450において、値mpは、既存の顔について、保存されている確率値と比較される。mpがその確率値より大きい場合、ステップ1470において、既存の顔は、削除され、顔リストにおいて、mpの現在の値と位置に対応する新たなエントリが作成される。そして、ステップ1480において、値mpは、新たなエントリに関連付けて顔リストに保存され、現在の最大確率の画像位置を中心とする16×16画素領域が閾値に設定される。ステップ1490において、最大の確率値を有する現在の位置は、顔サイズを16として、顔リストに加えられる。そして、処理は、ステップ1410に戻る。
また、顔リストの如何なる顔にも重複しない最大の確率位置が検出された場合(ステップ1430)、ステップ1460において、顔リストに新たなエントリが作成される。上述のように、ステップ1460においては、値mpが保存され、現在の最大値を囲む16×16領域が閾値に設定される。ステップ1465において、最大の確率値を有する現在の位置は、顔サイズを16として、顔リストに加えられ、処理は、ステップ1410に戻る。
ステップ1450において、最大の確率値mpが既存の(重複する)顔の確率より低いと判定された場合、処理は、ステップ1455に進み、ここで、既存の顔の領域が閾値に設定され、処理は、ステップ1410に戻る。
これらの各処理段において、制御がステップ1410に戻ると、最大の確率値mpが再び検出されるが、この検出は、ステップ1460、1455、1480における検出された顔の周囲の確率値への変更を反映している。したがって、それらのステップにおいて生成された変更された値は、閾値に等しくなるように設定された値が閾値を超えることはないため、実際には、ステップ1420の検査を通過しない。このため、ステップ1420では、閾値を超える他の位置が正しいマップ内に存在するか否かが判定される。
この手法の利点は、確率マップの各尺度を個別に考慮できる点である。各尺度の処理の間には、顔リストだけを保存すればよい。これには、以下のような利点がある。
・メモリ要求の低減:確率マップの完全な組を保存する必要はない。すなわち、顔リストだけを保存すればよく、消費されるメモリ容量を低減できる。
・時間的なデシメーションを可能にする。このアルゴリズムでは、例えば、1フレームの処理を複数のタイムスロットに分割し、各タイムスロットの間、尺度のサブセットのみを処理する時間的なデシメーション等の手法を用いることができる。ここでは、先に算出された全ての確率マップの組の代わりに、各呼出し間で顔リストを維持することのみが必要であるために、この手法を用いることができる。
・より速い探索を実現する:ここでは、一度に1つの尺度だけが検討される。したがって、最大値が発見される毎に、1組の確率マップにおける全ての尺度に亘って領域を削除する必要はない。
・メモリ要求の低減:確率マップの完全な組を保存する必要はない。すなわち、顔リストだけを保存すればよく、消費されるメモリ容量を低減できる。
・時間的なデシメーションを可能にする。このアルゴリズムでは、例えば、1フレームの処理を複数のタイムスロットに分割し、各タイムスロットの間、尺度のサブセットのみを処理する時間的なデシメーション等の手法を用いることができる。ここでは、先に算出された全ての確率マップの組の代わりに、各呼出し間で顔リストを維持することのみが必要であるために、この手法を用いることができる。
・より速い探索を実現する:ここでは、一度に1つの尺度だけが検討される。したがって、最大値が発見される毎に、1組の確率マップにおける全ての尺度に亘って領域を削除する必要はない。
変化検出
顔検出をリアルタイムで行う必要がある場合、限られた時間内、例えば、映像信号の1フレーム期間内に全ての顔検出処理を実行することが困難であることがある。
顔検出をリアルタイムで行う必要がある場合、限られた時間内、例えば、映像信号の1フレーム期間内に全ての顔検出処理を実行することが困難であることがある。
変化検出処理は、先行するフレームから、画像のどの領域が変化したかを検出するために、又は少なくとも先行するフレームから変化していないと判定された領域を顔検出処理から除外するために行われる。
先行するフレームから変化していない画像の領域については、結果が先行するフレームと同じになる可能性が高いため、それらに対して再び顔検出を実行する必要はない。一方、変化があった画像の領域については、新たに顔検出を実行する必要がある。画像におけるこれらの領域は、変化検出によって、「関心領域(areas of interest)」としてラベルが付される。
この実施例では、変化検出は、例えば、元の画像尺度又は顔検出で用いられる最も大きい尺度等である単一の固定尺度において、実行される。図17は、動き検出器の構成を示している。
現在の及び先行するフレームは、まず、ローパスフィルタ1100、1110によって処理される。そして、2つのフレームは、弁別器1120に供給され、ここで、例えば、フレーム間の1画素(又はブロック)位置毎の1つの差分値による絶対画素(又はブロック)の差分として表現されるフレーム差分画像が生成される。差分画像の絶対値は、閾値比較器1130において閾値Thrdiffと比較され、これによりバイナリ差分画像、すなわち、1画素(又はブロック)位置毎に1つの値を有する1ビット値のアレーが生成される。ここでは、非常に小さい差分は、0(変化なし)に設定され、大きな差分は、1(変化検出)に設定される。そして、バイナリ差分画像に対して、モルフォロジー的オープニング演算(morphological opening operation)1140を行い、検出された変化/動きのより連続した領域を生成する。
実際には、ローパスフィルタ処理は省略してもよい。
モルフォロジー的オープニング演算は、周知の画像処理技術であり、この実施例では、3×3ブロック領域に実行され(すなわち、3×3ブロックをモルフォロジー的構造要素として用いる。)、モルフォロジー的収縮演算(morphological erosion operation)と、これに続くモルフォロジー的膨張演算(morphological dilation operation)とを含む。基本的にラスタベースのシステムにおいてこの処理を実行するために、3ラインを処理する毎に、モルフォロジー的処理を行う。
変化検出は、上述のように、画像の全体に適用でき、これにより、変化が検出された画像の領域に関するマップが作成される。顔検出は、それらの領域に適用される。
これに代えて変化検出を用いて、必ずしも、動きがある又は「動きがない」全ての領域を検出することなく、顔検出から画像のある領域を除外してもよい。この手法により、顔検出自体の処理量を有効に低減する可能性を残しながら、変化検出処理の処理要求を減少させることができる。図18a〜図18eは、この処理の概要を示している。
図18aでは、(画素又はブロックの)水平線の走査1150が画像の左上から右下に向けて行われるラスタ走査構成において変化検出が適用されている。ここでは、(モルフォロジー的処理及び好ましくはローパスフィルタリング処理を行うことなく)図17に示す基本的処理が用いられ、画像は、先行する画像と比較される。各走査点において、検出された絶対的差分は、閾値Thrdiffと比較される。
走査1150は、1つの操作位置1160について検出された絶対的差分が閾値Thrdiffを超えるまで続けられる。この操作位置1160において、走査1150は、終了する。
続いて、3の同様の走査1170、1180、1190が行われる。走査1170は、画像の最後から開始され、走査位置1200において絶対差分値が閾値Thrdiffを超えると終了する水平走査である。走査1180は、画像の左側から開始され、走査位置1210において絶対差分値が閾値Thrdiffを超えると終了する下向の垂直走査である。そして、走査1190は、画像の右側から開始され、走査位置1220において絶対差分値が閾値Thrdiffを超えると終了する下向の垂直走査である。
そして、図18eに示すように、これら4個の点1160、1200、1210、1220によって境界ボックス1230を定義する。具体的には、ポイントnnnnの画像座標を(xnnnn,ynnnn)とすると、境界ボックス1230の4つの頂点は、以下のように定義される。
このように、境界ボックスは、画像における変化が検出された全ての領域を定義するのではなく、変化が検出されていないために顔処理から除外できる領域(境界ボックスの外の)を定義する。境界ボックス内の領域については、潜在的に、領域内の全てが変化している可能性もあるが、より一般的には、領域内の一部が変化し、他の部分は変化していない場合が多い。
勿論、この手法には、次のような幾つかの順列的可能性がある。
(a)4個の探索を行う順序。
(b)各探索を実行する方向(各図面において、アルゴリズムの効果を変えることなく、矢印の向きを逆にすることができる)。
(c)走査を順次行うか(1つの走査が終わると次の走査を行う。)並列的に行うか(同時にの2つ以上の走査を行う)。
(a)4個の探索を行う順序。
(b)各探索を実行する方向(各図面において、アルゴリズムの効果を変えることなく、矢印の向きを逆にすることができる)。
(c)走査を順次行うか(1つの走査が終わると次の走査を行う。)並列的に行うか(同時にの2つ以上の走査を行う)。
図19a〜図19cに図式的に示す変形例では、2つの水平走査1150、1170によってまだ除外されていない列1240のみについて、2つの垂直走査1180’、1190’を行っている。この変形例により、処理要求を減少させることができる。
上述した変化検出法は、以下に説明するように、顔検出処理について良好に機能する。変化検出は、画像の4つの極値(エッジ)から開始され、変化が検出されたところで終了する。したがって、それぞれの変化検出処理の潜在的に最後の画素(又はブロック)又は部分的列/行は別として、変化検出は、顔検出が行われない画像領域についてのみ実行される。同様に、最終的な画素、ブロック又は部分的列/行は別として、顔検出は、変化検出が行われなかった領域についてのみ実行される。なお、変化検出は、顔検出に比べて、プロセッサにおける処理負担が軽く、2つの処理におけるこの比較的小さな重複は、殆どの場合、変化検出を用いることによって画像の総合的な処理要求を減少させることができることを意味する。
例えば、MPEG符号化された信号等、動き符号化された信号又は先にこの形式で符号化され、顔検出のために復号された信号には、異なる変化検出法が適用される。信号に関する動きベクトル又はこれに類する情報は、画像間のどこが変化したかを示す。各動きベクトルの(現在の画像における)デスティネーションのブロック(例えば、MPEGマクロブロック)は、変化がある領域としてフラグを立てることができる。これは、上述した変化検出法に加えて、又はこれに代えて行うことができる。
以下、処理要求を減少させる他の手法について説明する。顔検出アルゴリズムは、複数の尺度に対して繰り返される複数の処理段に分割される。アルゴリズムは、n回のコールの後に完了する。アルゴリズムは、各コールが略々等しい時間を要するように自動的に区切られる。この処理に関する重要な特色は、以下の通りである。
・この処理は、自動処理を用いて、アルゴリズムを処理時間が等しい断片に区切る。
・各処理段にかかる処理時間を推定することにより、アルゴリズムは、ある処理段があまりに長い時間がかかる場合、その処理段を実行する前にリターンすることができる。
・アルゴリズムは、各処理段の最後においてのみリターンすることができ、処理段の途中ではリターンすることはできない。これにより、必要なローカルストレージを制限でき、プログラムフロー制御を簡略化できる。
・なお、この実施例では行っていないが、各処理段にかかる処理時間の推定は、実際に測定したタイミング情報によって自動的に精度を高めてもよい。
・各コールの最後には、顔の追跡を実行でき、これにより新たな顔位置を提供する新たな顔検出を行わなくても、肌色追跡によって顔を追跡することができる。
・これに代えて、n+1番目のコール(n回の顔検出コールの全てが完了した後)においてのみ追跡を実行してもよい。これは、追跡がより低いレートで行われ、したがって、精度が低下することを意味するが、これにより、アルゴリズムは、必要であれば、コール毎の実行時間を短くすることができる。
・この処理は、自動処理を用いて、アルゴリズムを処理時間が等しい断片に区切る。
・各処理段にかかる処理時間を推定することにより、アルゴリズムは、ある処理段があまりに長い時間がかかる場合、その処理段を実行する前にリターンすることができる。
・アルゴリズムは、各処理段の最後においてのみリターンすることができ、処理段の途中ではリターンすることはできない。これにより、必要なローカルストレージを制限でき、プログラムフロー制御を簡略化できる。
・なお、この実施例では行っていないが、各処理段にかかる処理時間の推定は、実際に測定したタイミング情報によって自動的に精度を高めてもよい。
・各コールの最後には、顔の追跡を実行でき、これにより新たな顔位置を提供する新たな顔検出を行わなくても、肌色追跡によって顔を追跡することができる。
・これに代えて、n+1番目のコール(n回の顔検出コールの全てが完了した後)においてのみ追跡を実行してもよい。これは、追跡がより低いレートで行われ、したがって、精度が低下することを意味するが、これにより、アルゴリズムは、必要であれば、コール毎の実行時間を短くすることができる。
以下の表は、6個の尺度に亘って実行される顔検出のための処理段の順序を示している。
以下の表は、4による時間的なデシメーションを用いた場合の処理を示している。アルゴリズムは、処理を等しい時間の「チャンク」に自動的に分割する。この分割は、先の尺度のための処理が、後の尺度のための処理より長い時間を必要とする(先の尺度の方が画像がより大きい)ために、複雑なものとなる。アルゴリズムは、その各処理段を実行する前に、その処理段に必要となる時間を推定する。この推定は、特定の処理と、所定の尺度のために処理される画素数とに基づいて行われる。
例えば、以下のような推定を用いてもよい。
動き 画素毎1
変化 画素毎1
デシメート 画素毎2
畳み込み 画素毎3
ルックアップ 画素毎4
最大値探索 画素毎3
動き 画素毎1
変化 画素毎1
デシメート 画素毎2
畳み込み 画素毎3
ルックアップ 画素毎4
最大値探索 画素毎3
全ての尺度のための処理は、18872個の処理単位を必要とすることを予め算出することができる。これは、処理を4つの等しいチャンクに分割するためには、システムは、1つのコールあたり約4718個の処理単位を実行する必要があることを意味する。
各処理段を実行する前に、システムは、必要とされる累積的な処理単位の個数が何らかの所定のレベル(例えば、5300)を超えるか否かを計算する。処理単位の個数がこの所定のレベルを超える場合、この処理段を実行せず、リターンを実行する。これには、何らかの動作を実行する前に、その動作が割り当てられた時間を超えるか否かを知ることができるというタイミングに関する利点がある。
空間的なデシメーション
空間的なデシメーションは、各画像に関して処理要求を減少させるために用いることができる他の技術である。
空間的なデシメーションは、各画像に関して処理要求を減少させるために用いることができる他の技術である。
ここでは、空間的なデシメーションの2つの実施例を説明する。一方では、横縞に基づいて画像を探索し、他方では、分散的に(sparse manner)画像を探索する。
ここでは、横縞がより効率的である点を考慮して横縞を用いるが、実際には、如何なる種類の分割法(例えば、正方形、縦縞等)を用いてもよい。
また、分散的に空間的なデシメーションを制御することも可能である。これは、縞を用いる手法程効率的ではないがアルゴリズムが呼び出される毎に、画像の全体のどこでも顔を検出できるので、より良好な結果が得られる場合もある。
図20a〜図20cを用いて、縞に基づく手法を説明する。図20aでは、如何なる空間的なデシメーションも使用されておらず、画像1300の全体に対して顔検出が行われる。図20bでは、画像は、2つの部分1310、1320に分割されている。これらの部分に対しては、それぞれ交互の画像において顔検出が行われる。図20cでは、画像は、3つの部分1330、1340、1350に分割され、各部分に対しては、それぞれ3つの画像につき1回ずつ顔検出が行われる。各部分は、別個に仕切られていてもよく、互いに僅かに重なり合っていてもよい。
図21a〜図21dは、所謂分散的な空間的デシメーションを示している。
ここでは、以下のように、3つの変数を定義する。
SparseXは、水平方向におけるデシメーションの度合いを表す。SparseX=1の場合、水平方向には如何なるデシメーションも行わない。SparseX=2の場合、各画像において、交互の画素又はブロックに対して顔検出を行い、これにより、2つの画像毎に、各画素又はブロック位置ついて一回の顔検出が行われる。
SparseYは、垂直方向における同様なデシメーションの度合いを表す。
UseChequerBoardは、デシメーションが連続する列又は行に対して行われる場合0に設定され、デシメーションが連続する列又は行(又は列/行のグループ)の間でオフセットされる場合1に設定される。
図21a〜図21dの実施例における各変数の値を以下の表に示す。
空間的デシメーションと、時間的なデシメーションとを組み合わせて用いてもよい。例えば、画像の離散的な空間的な部分(例えば、画像の3分の1)を複数のフレームに亘って処理してもよい。このように処理される部分(例えば、3の3分の1の部分)は、同じ画像に由来するものであっても、それぞれ異なる画像に由来するものであってもよい。
顔追跡
顔追跡アルゴリズムについて説明する。追跡アルゴリズムは、画像シーケンスにおいて顔検出性能を向上させることを意図している。
顔追跡アルゴリズムについて説明する。追跡アルゴリズムは、画像シーケンスにおいて顔検出性能を向上させることを意図している。
追跡アルゴリズムの初期の目標は、画像シーケンスの全てのフレームにおける全ての顔を検出することである。しかしながら、時々、シーケンス内の顔が検出できないことが認められる。これらの環境で、追跡アルゴリズムは、見逃した顔検出全体で補間するように補佐することができる。
最終的に、顔追跡の目標は、画像シーケンスにおいて同じシーンに属しているフレームの各セットから有効なメタデータを出力できることである。このメタデータには、以下のものが含まれる。
・顔の数。
・各顔の「顔写真(Mugshot)」(個人の顔の画像を表す口語的な言葉、警察にファイルされている写真を照会する用語からきている)。
・各顔が最初に出現するフレーム番号。
・各顔が最後に出現するフレーム番号。
・各顔の識別(前のシーンで見られた顔に一致するか、顔のデータベースに一致したもの)−顔の識別には、顔の認識も必要とされる。
・顔の数。
・各顔の「顔写真(Mugshot)」(個人の顔の画像を表す口語的な言葉、警察にファイルされている写真を照会する用語からきている)。
・各顔が最初に出現するフレーム番号。
・各顔が最後に出現するフレーム番号。
・各顔の識別(前のシーンで見られた顔に一致するか、顔のデータベースに一致したもの)−顔の識別には、顔の認識も必要とされる。
追跡アルゴリズムは、顔検出アルゴリズムの結果を用い、画像シーケンスの各フレーム上で、その開始位置として独立して実行される。顔検出アルゴリズムは時々顔を逃がす(検出しない)こともあるので、見逃した顔を内挿する(interpolating)方法は有効である。このために、顔の次の位置を予測するためにカルマンフィルタ(Kalman filter)を用い、顔追跡を助けるために、肌色マッチングアルゴリズム(skin colour matching algorithm)を用いた。更に、顔検出アルゴリズムが頻繁に誤った採用の原因となるので、また、これらを排除する方法は有効である。
このアルゴリズムを、図22に示す。
このアルゴリズムについては以下に詳細に説明するが、要約すると、入力ビデオデータ545(画像シーケンスを表す)がこの出願で説明される種類の検出器540及び肌色マッチング検出器550に供給される。顔検出器540は、各画像内で1つ以上の顔を検出することを試みる。顔が検出されると、カルマンフィルタ560が起動され、その顔の位置を追跡する。カルマンフィルタ560は、画像シーケンスにおける次の画像内で同じ顔の予測される位置を生成する。目の位置比較器570、580は、顔検出器540が次の画像内のその位置(あるいは、その位置からある閾値距離の範囲内)で顔を検出したかを、検出する。顔が検出された場合、その検出された顔位置は、カルマンフィルタを更新するために用いられ、処理が続けられる。
顔が予測された位置で、あるいは近くで検出されない場合、肌色マッチング回路550を用いる。肌色マッチング回路550は、厳密でない顔検出技術であり、その検出の閾値は顔検出器540よりも低く設定され、顔検出器540がその位置で顔があると検出することができないときでさえ、顔を検出する(顔があるとみなす)ことができる。肌色マッチング回路550によって「顔」が検出されると、その位置がカルマンフィルタ560に更新された位置として供給され、処理が続けられる。
顔検出器450又は肌色マッチング回路550によって一致が検出されないときは、カルマンフィルタを更新するために予測された位置を用いる。
これらの結果の全ては、判定基準(下記参照)に対する対象である。したがって、例えば、1つの正しい検出に基づきシーケンスを通して追跡される顔、及び予測の残り又は肌色検出の残りは、破棄する。
独立したカルマンフィルタは、追跡アルゴリズムにおいて各顔を追跡するために用いられる。
顔を追跡するためにカルマンフィルタを用いるためには、顔を表す状態モデルを、生成しなければならない。状態モデルにおいて、各顔の位置は、左右の目の座標を含む4次元のベクトルによって表し、左右の目の座標は、ウィンドウの中央位置に対する所定の関係によって順番に導かれる。そして、以下の尺度を用いる。
ここで、kはフレーム番号である。
顔の現在の状態は、12次元のベクトルにおける、その位置、速度及び加速度によって表される。
検出された最初の顔
追跡アルゴリズムは、顔の存在を示す顔検出結果とともにフレームが供給されるまで、何もしない。
追跡アルゴリズムは、顔の存在を示す顔検出結果とともにフレームが供給されるまで、何もしない。
そして、カルマンフィルタ560は、このフレームで検出された各顔毎に初期化される。その状態は、顔の位置によって、及び速度及び加速度をゼロとして初期化される。
また、カルマンフィルタ560は、他の属性状態、すなわちモデル誤差共分散(state model error covariance)Qと、観測誤差共分散(observation error covariance)Rとが割り当てられる。また、カルマンフィルタの誤差共分散Pも、初期化される。これらのパラメータについては、後により詳細に説明する。次のフレーム及び全ての後続のフレームの初めに、カルマンフィルタの予測処理が実行される。
カルマンフィルタの予測処理
各既存のカルマンフィルタに対して、顔の次の位置が、以下の標準カルマンフィルタ予測方程式を用いて予測される。カルマンフィルタは、前状態(フレームk−1)、及びフィルタの現状態(フレームk)を推定する他の内部及び外部変数を用いる。
状態予測式:
各既存のカルマンフィルタに対して、顔の次の位置が、以下の標準カルマンフィルタ予測方程式を用いて予測される。カルマンフィルタは、前状態(フレームk−1)、及びフィルタの現状態(フレームk)を推定する他の内部及び外部変数を用いる。
状態予測式:
共分散予測方程式:
ここで、Zb^(k)(「Zb^」は、ハットZbを表すもとのする。以下同様)は、フレームkに対するフィルタを更新する前の状態を示し、Za^(k−1)はフレームk−1に対するフィルタを更新した後の状態(あるいは、それが新規のフィルタであるときは、初期化状態)を示し、φ(k,k−1)は状態推移行列である。様々な状態推移行列を、後述するように試した。同様に、Pb(k)は、フレームkに対するフィルタを更新する前のフィルタの誤差共分散を示し、Pa(k―1)は、前フレームに対するフィルタを更新した後のフィルタの誤差共分散(あるいは、それが新規のフィルタであるときは、初期化された値)を示す。Pb(k)は、その精度をモデル化するフィルタの内部変数として考えることができる。
Q(K)は、状態モデルの誤差共分散である。Q(k)の高い値は、フィルタの状態の予測値(すなわち顔の位置)が高いレベルの誤差を有するとみなされることを意味する。このパラメータを調整することによって、フィルタの動作を変更することができ、顔検出に対して潜在的に向上させることができる。
状態推移行列
状態推移行列φ(k,k―1)は、次の状態の予測をどのようにして行うかを決定する。運動方程式を用い、φ(k,k―1)に対して次の行列を導くことができる。
状態推移行列φ(k,k―1)は、次の状態の予測をどのようにして行うかを決定する。運動方程式を用い、φ(k,k―1)に対して次の行列を導くことができる。
ここで、O4は4×4零行列であり、I4は4×4単位行列である。Δtは、簡単に1(すなわち、tの単位はフレーム周期である)に設定することができる。
この状態推移行列は、位置、速度及び加速度をモデル化する。しかしながら、予測状態を補正するために顔検出が利用できなかったときには、加速度を使用すると、顔の予測が画像の端の方に加速される傾向があることが、分かった。したがって、加速度を用いないより単純な状態推移行列が好ましい。
各カルマンフィルタの予測された目位置Zb^(k)を、現フレームにおける全ての顔検出結果(存在する場合)と比較する。目位置間の距離が所定の閾値以下であるときは、顔検出は、カルマンフィルタによってモデル化される顔と同じ顔に属するとみなすことができる。そして、顔検出結果を、顔の現在の状態の観測y(k)として扱う。
ここで、p(k)は顔検出結果の目の位置である。この観測は、予測を補正するのを助けるために、カルマンフィルタ更新過程の間、用いられる。
肌色マッチング
肌色マッチングは、顔検出結果と良く一致する顔に対しては用いられない。肌色マッチングは、カルマンフィルタによって位置が予測された顔に対して実行されるだけであり、現フレーム内の顔検出結果に一致しない、したがってカルマンフィルタの更新に役立つ観測データがない顔に対しては実行されない。
肌色マッチングは、顔検出結果と良く一致する顔に対しては用いられない。肌色マッチングは、カルマンフィルタによって位置が予測された顔に対して実行されるだけであり、現フレーム内の顔検出結果に一致しない、したがってカルマンフィルタの更新に役立つ観測データがない顔に対しては実行されない。
第1の手法において、各顔に対して、顔の前の位置を中心とした楕円状の領域が前フレームから抽出される。このような領域の具体例は、図24に示すように、顔ウィンドウ610内の領域600である。ガウス分布モデルに基づいて、Cr値及びCb値の平均値及び共分散の推定値を生成するために、この領域の色差データを用いる色モデルを、シードする。
そして、現フレームの予測された顔位置の周辺の領域を探索し、楕円状の領域で再び平均した色モデルと最も一致する位置を選択する。色一致が所定の類似基準を満たすときは、この位置を、前の章で説明した顔検出結果と同様の方法で、顔の現在の状態の観測y(k)として用いる。
図23a及び図23bは、探索領域の生成を具体的に説明する図である。特に、図23aは、次の画像630内の顔の予測された位置620を具体的に説明するための図である。肌色マッチング回路540において、次の画像で予測された位置620を囲んでいる探索領域640が、顔を検出するために探索される。
色の一致が類似基準を満たさないときは、現フレームに対する信頼性が高い観測データは利用できない。代わりに、予測状態Zb^(k)を観測データとして用いる。
上述した肌色マッチング方法は、単純なガウス分布の肌色モデルを用いる。モデルは、前フレームで顔の中央に置かれる楕円状の領域の上でシードされて、現フレームで最も一致している楕円状の領域を検出したものである。しかしながら、潜在的により有効な性能を得るために、更なる2つの方法、すなわち色ヒストグラム法(colour histogram method)及び色マスク法(colour mask method)を開発した。これらを次に説明する。
色ヒストグラム法
この方法においては、追跡された顔で色の分布をモデル化するガウス分布を用いる代わりに、色ヒストグラムを用いる。
この方法においては、追跡された顔で色の分布をモデル化するガウス分布を用いる代わりに、色ヒストグラムを用いる。
前フレームの各追跡された顔に対して、顔の周りの正方形のウィンドウ内のCr値及びCb値のヒストグラムを計算する。ヒストグラムを計算するために、各画素に関するCr値とCb値を、まず、単一の値に組み合わせる。次に、全部のウィンドウ内のこれらの値の出現度数を評価するヒストグラムを計算する。組み合わせるCr値とCb値の数が大きい(256×256の可能な組合せ)ので、ヒストグラムを算出する前に、値を量子化する。
前フレームの追跡された顔に対するヒストグラムを算出し、このヒストグラムを現フレームに対して用いて、最も類似した色分布を有する画像の領域を検出することによって、顔の最も有望な新たな位置を推定することを試みる。図23a、23bに示すように、この推定は、現フレームの探索領域内のウィンドウ位置の範囲に対して正確に同じ方法でヒストグラムを算出することによって、行う。この探索領域は、予測された顔位置の周辺の所定の領域を含む。そして、前フレームの追跡された顔に関する元のヒストグラムと現フレームの各ヒストグラム間の二乗平均誤差(MSE)を算出することによって、これらのヒストグラムを比較する。現フレームの顔の推定される位置は、最小のMSEの位置によって与えられる。
この色ヒストグラム法のアルゴリズムは、様々に変更することができ、以下のものが含まれる。
・2チャンネル(Cr、Cb)の代わりに3チャンネル(Y、Cr、Cb)を用いる。
・量子化レベルの数を変える。
・ウィンドウをブロックに分割して、各ブロックのヒストグラムを算出する。この方法では、色ヒストグラム法は、位置的に依存するようになる。この方法では、ヒストグラムの各対間のMSEを合計する。
・ウィンドウを分割するブロックの数を変える。
・実際に使用するブロックを変える。例えば、単に部分的に顔の画素を含む外側のブロックを省略する。
・2チャンネル(Cr、Cb)の代わりに3チャンネル(Y、Cr、Cb)を用いる。
・量子化レベルの数を変える。
・ウィンドウをブロックに分割して、各ブロックのヒストグラムを算出する。この方法では、色ヒストグラム法は、位置的に依存するようになる。この方法では、ヒストグラムの各対間のMSEを合計する。
・ウィンドウを分割するブロックの数を変える。
・実際に使用するブロックを変える。例えば、単に部分的に顔の画素を含む外側のブロックを省略する。
これらの技術の実証的な試験で用いられる試験データに対して、最良の結果は次の条件を用いて達成された。しかしながら、他の条件により、異なる試験データを用いて、同様に良好な又はより良い結果が得られることもある。
・3チャンネル(Y、Cr及びCb)。
・各チャンネルに対して8つの量子化レベル(すなわち、ヒストグラムは8×8×8=512ビン(bins)を含む)。
ウィンドウを16ブロックに分割する。
16個の全てのブロックを使用する。
・3チャンネル(Y、Cr及びCb)。
・各チャンネルに対して8つの量子化レベル(すなわち、ヒストグラムは8×8×8=512ビン(bins)を含む)。
ウィンドウを16ブロックに分割する。
16個の全てのブロックを使用する。
色マスク法
この方法は、上述した第1の方法に基づいている。色マスク法は、顔の画素分布を記述するのに、ガウス分布肌色モデルを用いる。
この方法は、上述した第1の方法に基づいている。色マスク法は、顔の画素分布を記述するのに、ガウス分布肌色モデルを用いる。
上述した第1の方法における顔の中央に置かれた楕円状の領域を、色一致顔に用いる。この領域は、モデルを劣化する可能性がある背景画素の数を減らし、又は最小にすると認められる。
存在色マスクモデルにおいて、類似した楕円状の領域を、例えばガウス分布モデルのパラメータを設定するためにRGB又はYCrCbの平均値及び共分散を適用することによって、前フレームで元の追跡された顔に色モデルをシードするために、更に用いる(あるいは、代わりに、ガウス分布モデルのようなデフォルトの色モデルを、以下に示すように、用いることができる)。しかしながら、現フレームにおいて最良の一致を探索するときは、それは用いられない。代わりに、マスク領域を、前フレームからの元の顔のウィンドウにおける画素の分布に基づいて算出する。マスクは、最も色モデルと一致するウィンドウ内の50%の画素を検出することによって算出される。具体例を、図25a〜25cに示す。詳細には、図25aは、検定における初期のウィンドウを具体的に示している。図25bは、色モデルをシードするために使用される楕円状のウィンドウを具体的に示している。図25cは、最も色モデルと一致する50%の画素によって定義されるマスクを具体的に示している。
現フレームにおいて顔の位置を推定するために、予測された顔位置の周りの探索領域を探索し(前と同じ)、色モデルからの「距離」を各画素に対して算出する。「距離」は、その次元の分散によって各次元で正規化された平均値からの差を表している。得られる距離画像の具体例を図26に示す。この距離マップの各位置に対して(あるいは、計算時間を減らすためにサンプリングされた位置の少ないセットに対して)、距離画像の画素は、マスクの形をした領域上で平均されている。そして、最低の平均距離を有する位置を、このフレームにおける顔の位置の最良の推定値として、選択する。
したがって、この方法は、楕円状の領域の代わりに、マスクの形をした領域を距離画像において用いるという点で、元の方法と異なる。これにより、色マッチング法は、色と形状の両方の情報を使用することができる。
2つの変形例を提案し、技術の実証的な試験において実行した。
(a) ガウス分布肌色モデルは、前フレームにおいて追跡された顔の中央に置かれた楕円状の領域のCr及びCbの平均値及び共分散を用いてシードされる。
(b)デフォルトのガウス分布肌色モデルは、前フレームのマスクを算出するために、及び現フレームにおいて距離画像を算出するための両方に、用いられる。
(a) ガウス分布肌色モデルは、前フレームにおいて追跡された顔の中央に置かれた楕円状の領域のCr及びCbの平均値及び共分散を用いてシードされる。
(b)デフォルトのガウス分布肌色モデルは、前フレームのマスクを算出するために、及び現フレームにおいて距離画像を算出するための両方に、用いられる。
ここで、ガウス分布肌色モデルの使用について説明する。肌色クラスのガウス分布モデルは、YCbCr色空間の色差成分を用いて作成される。肌色クラスへの検定画素の類似は、そして、評価されることができる。この方法は、したがって各画素(独立して固有顔に拠点を置く方法の)に関する、肌色尤度推定値を提供する。
検定画素のCbCr値のベクトルをwとする。肌色クラスSにwが属している確率は、二次元のガウス分布によってモデル化される:
ここで、分布の平均値μs及び共分散行列ΣSは、肌色値のトレーニングセットから予め推定される。肌色検出は、単独で用いた場合、効果的な顔検出法とはならない。これは、画像内には、肌色に類似する多くの領域が存在する可能性があり、これらの領域は、例えば顔以外の体の一部等、必ずしも顔ではないことが多いからである。しかしながら、この肌色検出を顔追跡システムについて説明した手法と組み合わせて用いることにより、固有顔法の性能を向上させることができる。顔検出された目位置及びカルマンフィルタによる観測として色マッチングした目位置の何れを認めるか、又は何れの観測も認めないかに関する決定を保存する。この決定に関する情報は、各カルマンフィルタによってモデル化された顔に関する継続中の有効性を評価するために後に用いられる。
カラーマスク法の変形例については、図27及び図28を用いて後に説明する。
カルマンフィルタ更新ステップ
更新ステップは、状態予測及び観測データに基づいて、現在のフレームに対するフィルタの出力を適切なものにするために用いられる。更新ステップでは、予測された状態と観測された状態との間の誤差に基づいて、フィルタの内部変数も更新される。
更新ステップは、状態予測及び観測データに基づいて、現在のフレームに対するフィルタの出力を適切なものにするために用いられる。更新ステップでは、予測された状態と観測された状態との間の誤差に基づいて、フィルタの内部変数も更新される。
更新ステップでは、以下の式が用いられる。
カルマン利得式
状態更新式
共分散更新式
ここで、K(k)は、カルマンフィルタの他の内部変数であるカルマン利得を表す。カルマン利得は、観測された状態に基づいて、予測された状態y(k)をどれ程調整するかを決定するために用いられる。
H(k)は、観測行列を表す。これは、状態のどの部分が観測可能であるかを決定する。ここでは、顔の位置のみが観測可能であり、速度又は加速度は観測可能でないため、H(k)として以下の行列を用いる。
R(k)は、観測データの誤差共分散を表す。Q(k)と同様に、R(k)の値が大きいことは、フィルタ状態の観測された値(すなわち、顔検出結果又は色マッチング)の誤差が大きいことを意味する。このパラメータを調整することにより、フィルタの振る舞いを変更し、顔検出の精度を潜在的に向上させることができる。本願発明者らによる実験では、Q(k)に対して大きな値のR(k)は、適当であることが見出された(これは、予測された顔位置が観測より信頼性が高いものとして取り扱われていることを意味する)。なお、これらのパラメータはフレーム毎に変更してもよい。したがって、観測が顔検出結果(より信頼できる)に基づいているか、色マッチング(信頼性が低い)に基づいているかに基づいて、将来検討すべき領域について、R(k)とQ(k)の相対的な値を調整してもよい。
各カルマンフィルタについて、更新状態Za^(k)を顔の位置に関する最終決定として用いる。このデータはファイルに出力し、保存する。
マッチングされた顔検出結果は、新たな顔として取り扱う。これらの新たな顔については、新たなカルマンフィルタを初期化する。以下の顔は削除される。
・ピクチャのエッジから外れた顔及び/又は
・これらの顔をサポートする継続中の証拠がない顔(顔検出結果又は色マッチングより、カルマンフィルタ予測に基づく観測の割合が高い場合)
これらの顔については、関連するカルマンフィルタを除去し、ファイルにはデータを出力しない。
・ピクチャのエッジから外れた顔及び/又は
・これらの顔をサポートする継続中の証拠がない顔(顔検出結果又は色マッチングより、カルマンフィルタ予測に基づく観測の割合が高い場合)
これらの顔については、関連するカルマンフィルタを除去し、ファイルにはデータを出力しない。
この手法からの任意の変形例として、顔がピクチャから外れたことが検出された場合、その顔がピクチャから外れる前のフレームまでの追跡結果を保存し、有効な顔追跡結果として取り扱ってもよい(この結果が追跡結果に適用される他の判断基準に適合していることを前提とする)。これらの結果は、次のような更なる変数を用いることによって定式化及び構築することができる。
prediction_acceptance_ratio_threshold(予測許容率閾値)
所定の顔の追跡の間に、許容されたカルマン予測顔位置の割合が、この閾値を超えた場合、追跡された顔は拒否される。この閾値は、現在0.8に設定している。
所定の顔の追跡の間に、許容されたカルマン予測顔位置の割合が、この閾値を超えた場合、追跡された顔は拒否される。この閾値は、現在0.8に設定している。
detection_acceptance_ratio_threshold(検出許容率閾値)
全てのフレームに亘る最後のパスの間に、所定の顔について、許容された顔検出割合がこの閾値を下回った場合、追跡された顔は拒否される。この閾値は、現在0.08に設定している。
全てのフレームに亘る最後のパスの間に、所定の顔について、許容された顔検出割合がこの閾値を下回った場合、追跡された顔は拒否される。この閾値は、現在0.08に設定している。
min_ frames(最少フレーム)
全てのフレームに亘る最後のパスの間に、所定の顔について、発生回数がmin_ framesより少ない場合、その顔は拒否される。このような場合が生じる可能性があるのは、シーケンスの最後の近くのみである。min_ framesは、現在5に設定している。
全てのフレームに亘る最後のパスの間に、所定の顔について、発生回数がmin_ framesより少ない場合、その顔は拒否される。このような場合が生じる可能性があるのは、シーケンスの最後の近くのみである。min_ framesは、現在5に設定している。
final_prediction_acceptance_ratio_threshold及びmin_frames2(最終予測許容率閾値及び最少フレーム2)
全てのフレームに亘る最後のパスの間に、追跡されている所定の顔の発生回数が min_frames2であり、許容されたカルマン予測顔位置の割合がfinal_prediction_acceptance_ratio_thresholdを超えた場合、その顔は拒否される。このような場合が生じる可能性があるのは、シーケンスの最後の近くのみである。final_prediction_acceptance_ratio_thresholdは、現在0.5に設定してあり、min_frames2は、現在10に設定してある。
全てのフレームに亘る最後のパスの間に、追跡されている所定の顔の発生回数が min_frames2であり、許容されたカルマン予測顔位置の割合がfinal_prediction_acceptance_ratio_thresholdを超えた場合、その顔は拒否される。このような場合が生じる可能性があるのは、シーケンスの最後の近くのみである。final_prediction_acceptance_ratio_thresholdは、現在0.5に設定してあり、min_frames2は、現在10に設定してある。
min_eye_spacing(最小目間隔)
更に、追跡された顔の目の間隔が所定の最小距離を下回る場合、その顔を除外する。このような状況は、カルマンフィルタが目の間隔が狭くなっていると誤って判断し、例えば顔検出結果等、この判断を訂正する他の証拠がない場合に生じる。これを訂正しなければ、目の感覚は最終的に0になってしまう可能性がある。任意の変形例として、目の間隔に関する最小値又は下限を強制的に設定し、検出された目間隔が最小目間隔より小さい場合、検出処理はその目間隔を有する顔の探索を継続し、これより小さい目間隔を有する顔の探索は行わないようにしてもよい。
更に、追跡された顔の目の間隔が所定の最小距離を下回る場合、その顔を除外する。このような状況は、カルマンフィルタが目の間隔が狭くなっていると誤って判断し、例えば顔検出結果等、この判断を訂正する他の証拠がない場合に生じる。これを訂正しなければ、目の感覚は最終的に0になってしまう可能性がある。任意の変形例として、目の間隔に関する最小値又は下限を強制的に設定し、検出された目間隔が最小目間隔より小さい場合、検出処理はその目間隔を有する顔の探索を継続し、これより小さい目間隔を有する顔の探索は行わないようにしてもよい。
なお、追跡処理は、必ずしもビデオシーケンスを時間的に順方向に追跡する必要はない。画像データにアクセス可能であれば(すなわち、処理が実時間ではなく、又は画像データが時間的に継続する用途のためにバッファリングされている場合)、追跡処理を時間的に逆方向に行うこともできる。又は、第1の顔が検出された場合(多くの場合ビデオシーケンスの途中で検出される)、追跡処理は、時間的に順方向及び逆方向の両方について開始してもよい。更なる任意の処理として、追跡処理は、ビデオシーケンス全体に亘って、時間的に順方向及び逆方向の両方について実行し、これらの追跡の結果を組み合わせて(例えば)許容基準に適合する追跡された顔が、追跡が実行された何れの方向についても有効な結果として含ませてもよい。
以下、顔追跡に関して適用できる幾つかの更なる規則について説明する。
顔追跡を開始/継続するための始めるか又は維持するための/追加規則
上述の手法では、既存の追跡では照合できないあらゆる顔検出の度に顔追跡を開始している。これは、既存の規則の1つ(例えば、予測許容率閾値)によって最終的に拒絶するまで、幾つかのフレームを誤って追跡し続けることによる多くの誤検出の原因ともなる。
上述の手法では、既存の追跡では照合できないあらゆる顔検出の度に顔追跡を開始している。これは、既存の規則の1つ(例えば、予測許容率閾値)によって最終的に拒絶するまで、幾つかのフレームを誤って追跡し続けることによる多くの誤検出の原因ともなる。
また、追跡を停止するための規則(例えば、予測許容率閾値(prediction_acceptance_ratio_threshold)、検出許容率閾値(detection_acceptance_ratio_threshold))は、対象となる人が、かなり長い時間、頭を一方に向けるような場合、バイアスされる。実際には、このような動作を行う人に対して、追跡を継続することが有効な場合もある。
第1の解決策は、誤検出により誤った追跡を開始してしまうことを防止するのに役立つ。
この場合も、内部的には、既存の追跡では照合できないあらゆる顔検出の度に顔追跡が開始される。但し、これは、アルゴリズムから出力されない。
この追跡を維持するために、トラックの最初のfフレームは、顔検出(すなわち、タイプD)でなくてはならない。最初のfフレームの全てがタイプDである場合、追跡は、維持され、顔の位置は、前方のフレームfからのアルゴリズムから出力される。最初のnフレームの全てがタイプDではない場合、顔追跡は、終了され、この追跡については、顔位置は出力されない。fは、通常、2、3又は5に設定する。
第2の解決策では、検出許容率(low detection_acceptance_ratio)の低回によって追跡を終了させることなく、プロファイルにおける顔を長時間に亘って追跡することができるようにする。この実施例では、予測許容率閾値(prediction_acceptance_ratio_threshold)と検出許容率閾値(detection_acceptance_ratio_threshold)を有効にしない。これに代えて、顔追跡を維持するために、次のような評価基準を任意に設ける。
すなわち、顔追跡を維持するためは、nフレーム毎にg個の連続した顔検出を必要とする。ここで、gは、多くの場合、fと同様の値、例えば1〜5フレームに設定され、nは、カメラから離れた人の追跡ができることを望むフレームの最大数、例えば10秒間(=フレームレートに応じて、250又は300フレームに相当する。)に対応している。また、この手法は、予測許容率閾値と検出許容率閾値規則に組み合わせてもよい。これに代えて、回転毎に、例えば、追跡の最初からではなく、最後の30のフレームのみについて予測許容率閾値と検出許容率閾値を適用してもよい。
誤色閾値(Bad colour threshold)規則
上述の手法では、肌色追跡の間のみ、顔の皮膚の色を検査している。これは、予測された顔位置を用いた場合、非肌色の誤検出が追跡され、又は顔追跡が非肌色の位置に迷い込む可能性があることを意味している。
上述の手法では、肌色追跡の間のみ、顔の皮膚の色を検査している。これは、予測された顔位置を用いた場合、非肌色の誤検出が追跡され、又は顔追跡が非肌色の位置に迷い込む可能性があることを意味している。
この問題は、顔の認識の種類が如何なるものであっても(顔検出、肌色又はカルマン予測の何れであっても)、肌色を検査するようにすることにより解決される。ここでは、肌色からの距離が誤色閾値(bad_colour_threshold)を超える場合、顔追跡を終了する。
肌色追跡の間に算出された各画素の肌色からの距離を用いることにより、この処理を効率的に実現することができる。顔領域上(どの肌色追跡方式を用いるかに応じて、マスクの形をした領域、楕円状の領域、顔ウィンドウの全体の何れの領域であってもよい。)で平均されたこの測定値が所定の閾値を超える場合、顔追跡を終了する。
関心領域マップによる検証
ここに説明する他の手法では、関心領域プリプロセッサ(area of interest pre-processor)を用いて、画像のどの領域が顔らしくない変化(non-face-like variance)を有するかを確かめる。この処理は、全ての尺度で繰り返され、これらの領域は、顔検出処理から除外される。但し、追跡された肌色又はカルマン予測された顔が(顔らしくない)低い又は高い変化を示す画像の領域に入ることがある。
ここに説明する他の手法では、関心領域プリプロセッサ(area of interest pre-processor)を用いて、画像のどの領域が顔らしくない変化(non-face-like variance)を有するかを確かめる。この処理は、全ての尺度で繰り返され、これらの領域は、顔検出処理から除外される。但し、追跡された肌色又はカルマン予測された顔が(顔らしくない)低い又は高い変化を示す画像の領域に入ることがある。
この問題を回避するために、変化の前処理の間、既存の顔追跡の周りの領域の変化値(又は傾斜値)を保存する。
次の顔の位置に対して、最終的な判断を下す場合(顔検出、肌色又はカルマン予測の何れの認識の種類を用いてもよい)、関心領域マップに保存された変化(又は傾斜)の値を用いて、その位置を検証する。その位置が非常に高い又は非常に低い変化(又は傾斜)を有することが見出された場合、そこは顔らしくないと判定され、顔追跡は、終了される。これにより、顔追跡が変化の度合いが低すぎる(又は高すぎる)背景領域に迷い込むことを回避することができる。これに代えて、新たな顔位置の変化を新たに算出してもよい(変化前処理が行われていない場合、有効である。)。
なお、ここで用いる変化測定値は、従来の変化、隣接する画素の差分の和(傾斜)、又は他の如何なる種類の変化を表す値であってもよい。
図22に示す追跡システムは、3つの更なる特徴を有している。
ショット境界データ(shot boundary data)560(検査中の画像シーケンスに関連するメタデータから抽出され、又は図2に示すカメラ内で生成されたメタデータから抽出される)は、画像シーケンス内の連続する「ショット」の境界を定義する。カルマンフィルタは、ショットの境界においてリセットされ、後続するショットに関する予測は行わない。このような予測は無意味である可能性があるためである。
顔検出器540には、ユーザメタデータ542及びカメラ設定メタデータ544を供給する。これらのデータは、非追跡システム(non-tracking system)においても使用することができる。カメラ設定メタデータ544の具体例については、上述した通りである。ユーザメタデータ542は、以下のような情報を含んでいてもよい。
・番組の種類(ニュース、インタビュー、ドラマ等)
・例えば「遠くからのショット」、「カメラが接近する」(特定の種類のカメラショットに基づいて、顔のサイズのサブレンジが予測される)、各ショットに何人の人が含まれるか(これによっても、顔のサイズのサブレンジが予測される)等、ショットの詳細に関する脚本情報。
・スポーツ関連情報。スポーツは、多くの場合、固定されたカメラ位置から標準的なビュー及びショットを用いて撮影される。これらのメタデータにおいて特定することによって、顔のサイズのサブレンジを導き出すことができる。
・番組の種類(ニュース、インタビュー、ドラマ等)
・例えば「遠くからのショット」、「カメラが接近する」(特定の種類のカメラショットに基づいて、顔のサイズのサブレンジが予測される)、各ショットに何人の人が含まれるか(これによっても、顔のサイズのサブレンジが予測される)等、ショットの詳細に関する脚本情報。
・スポーツ関連情報。スポーツは、多くの場合、固定されたカメラ位置から標準的なビュー及びショットを用いて撮影される。これらのメタデータにおいて特定することによって、顔のサイズのサブレンジを導き出すことができる。
番組の種類は、画像又は画像シーケンス内に存在すると予想される顔の種類に関連する。例えば、ニュース番組では、画像シーケンスの大部分において、画面の(例えば)10%を占める単一の顔が登場することが予想される。尺度が異なる顔の検出は、このデータに応じて、このサイズに近い顔の可能性を高めるように重み付けすることができる。これに代えて、又はこれに加えて、探索範囲を削減し、全ての可能な尺度を探索するのではなく、所定の尺度のサブセットのみを探索するようにしてもよい。これにより、顔検出処理の処理負担を軽減することができる。したがって、ソフトウェアに基づくシステムでは、ソフトウェアをより速やかに実行でき及び/又はよりパワーが小さいプロセッサで実行できる。また、ハードウェアに基づくシステム(例えば、特定用途向け集積回路(application-specific integrated circuit:ASIC)を含む。)では、ハードウェアに対する要求を軽減できる。
上述した他の種類のユーザメタデータを同様に適用してもよい。「予想される顔のサイズ」のサブレンジは、例えば、メモリ30内に格納されたルックアップテーブルに登録してもよい。
例えばレンズ110のフォーカス及びズームに関するカメラメタデータについて、画像の前景に存在する可能性がある任意の顔の予想される画像サイズに関する初期的な指標を与えることにより、顔検出器を補助することができる。これに関して、フォーカス及びズームの間の設定は、カムコーダ100と、撮像されている個人との間の予想される距離、及びレンズ110の拡大率を定義する。これら2つの属性から、平均顔サイズに基づき、結果として得られる画像データにおける顔の予想されるサイズ(画素数)を算出することができ、これに基づいて探索すべきサイズのサブレンジを決定し、又は予想される顔サイズの重み付けを行うことができる。
追跡アルゴリズムの利点
顔追跡法は、以下のような3つの主な利点を有する。
・顔検出結果が得られないフレームにおいて、カルマンフィルタリング及び肌色追跡を用いることにより、見逃された顔を埋める(fill in)ことができる。これにより、画像シーケンス間に亘って、真の許容率を高めることができる。
・顔を連続的に追跡することにより、顔のリンクを提供できる。アルゴリズムは、将来のフレームにおいて検出された顔が同じ個人の顔であるか、他の個人の顔であるかを自動的に知ることができる。したがって、このアルゴリズムから、シーン内の顔の数やこれらの顔が存在するフレームに関する情報を含むシーンメタデータを容易に作成することができ、各顔の代表的な顔写真を作成することもできる。
・顔の誤検出は、画像間で連続することは希であるため、顔の誤検出率を低くすることができる。
顔追跡法は、以下のような3つの主な利点を有する。
・顔検出結果が得られないフレームにおいて、カルマンフィルタリング及び肌色追跡を用いることにより、見逃された顔を埋める(fill in)ことができる。これにより、画像シーケンス間に亘って、真の許容率を高めることができる。
・顔を連続的に追跡することにより、顔のリンクを提供できる。アルゴリズムは、将来のフレームにおいて検出された顔が同じ個人の顔であるか、他の個人の顔であるかを自動的に知ることができる。したがって、このアルゴリズムから、シーン内の顔の数やこれらの顔が存在するフレームに関する情報を含むシーンメタデータを容易に作成することができ、各顔の代表的な顔写真を作成することもできる。
・顔の誤検出は、画像間で連続することは希であるため、顔の誤検出率を低くすることができる。
上述した実施例は、顔検出システム(トレーニングと検出フェーズを含む)及びこのシステムのカメラレコーダ及び編集システムにおける潜在的用途を示している。上述の具体例は、顔検出(トレーニング及び検出段階を含む)、及びカメラレコーダ及び編集装置におけるこの顔検出の可能な用途に関する具体例を説明するものである。なお、この技術は、この他の多数の用途で利用することができ、例えば、以下に限定されるものではないが、安全監視システム、包括的なメディア処理(例えば、ビデオテープレコーダのコントローラ)、ビデオ会議システム等に利用することもできる。
色マスク法に関する変形例
これらの変形例は、個別に適用してもよく、技術的に適切であれば、組合せて用いてもよい。
これらの変形例は、個別に適用してもよく、技術的に適切であれば、組合せて用いてもよい。
変形例1:デフォルトガウス分布肌色モデルを用いて画像内の各画素について、色距離値を算出する(色距離マップを作成する)。顔が検出されると、マスク形の領域において、デフォルト値からの平均距離を算出する。将来の色追跡された顔(又は、検出され又は又はカルマン予測された顔)を検証する際、デフォルト色モデルからの距離が所定の公差を逸脱した場合、顔追跡は、終了される。これは、(a)全ての顔追跡に同じ色距離値を用いることができる(顔の色に関するシーディングを行うのではなく、デフォルト色モデルを用いるために、各顔について異なるモデルが必要ない。)こと、及び(b)追跡が顔から異なる色の背景に逸れた場合、追跡は維持されず終了されることを意味する。
変形例2:デフォルト色モデルの代わりに各顔について、その顔が最初に検出されたときにシーディングされた異なる色モデルを用いる。そして、色距離マップが算出された場合、先行するフレームの各顔の位置に基づいて、画像内の異なる領域で異なる色モデルパラメータを用いる。色距離値は、2つの顔の間の領域の加重和として混合してもよい。これにより、色追跡において、画像内の各画素位置について1つ以上の色距離値を計算することなく、各顔の実際の色をより正確にモデリングすることができる。
変形例3:デフォルト色モデル又は各顔について異なる色モデルを用いる代わりに、先行するフレームから検出された全ての顔の平均した色について、汎用色モデルをシーディングしてもよい。
変形例4:正方形のヘッドサイズのウィンドウによって色距離マップを探索し、肌色から最小平均距離を見出す場合、マスク内の領域は、正の貢献を有し、マスク外の領域は、負の貢献を有する。これは、肌色のみの領域の肌色からの正味距離が0になることを意味する。また、これは、マスク法の形状一致特性が補強されることも意味する。上述の手法では、顔マスク内の領域のみを用いた。
変形例5:まず、色距離マップを各画素を肌色(1)と非肌色(−1)の2つのレベルに量子化する。これにより、色距離値の振幅が肌色からの距離の計算に望ましくない効果を有することが防がれ、すなわち、上述の変形例4と組み合わせた場合、マスク外の非肌色の画素が望ましくない効果を有することが防がれる。
変形例6:肌色マスクをより漸進的に更新する。新たなマスクの算出において、先行するフレームのマスクの重みを90%とし、現在のフレームのマスクの重みは10%のみとする。これにより、例えば、顔の正面を手が横切る場合等、一時的で部分的な遮断によって生じる問題が回避される。また、人が非常にゆっくり動く場合に生じる問題も回避される。
上述した肌色追跡法は、先行するフレーム内の顔の色距離マスクを現在のフレームの色距離マップに照合させることによって機能する。この手法には、少なくとも幾つかの変形例によって改善される3つの側面がある。
(1)部分的な遮断(例えば、顔の前を横切る手)があった場合、顔ではなく、手が追跡されることがある。
(2)顔は、(顔のサイズに基づいて)粗いグリッド上で追跡されるので、顔がゆっくり移動している場合、色距離マップが顔から徐々に「ずれる」ことがある。
(3)肌色に見える領域のみを考慮するため、肌色のみの領域において、最も高い一致が見出される。
(1)部分的な遮断(例えば、顔の前を横切る手)があった場合、顔ではなく、手が追跡されることがある。
(2)顔は、(顔のサイズに基づいて)粗いグリッド上で追跡されるので、顔がゆっくり移動している場合、色距離マップが顔から徐々に「ずれる」ことがある。
(3)肌色に見える領域のみを考慮するため、肌色のみの領域において、最も高い一致が見出される。
顔の色距離マスクを徐々に更新する変形例6は、(1)及び(2)の問題を改善する。変形例5では、顔マスク内の肌色領域の良好な一致のみではなく、顔の色ではない領域も考慮し、(3)の問題を改善する。
詳しくは、各顔について、このフレーム内の顔の位置における先行するフレームの色距離マップからバイナリマスクを算出する。マスクの各要素は、マスク全体の平均色距離値より小さい(すなわち、肌色である)場合「1」とし、それ以外の場合(すなわち、肌色ではない)場合「0」とする。
探索は、バイナリマスクを用いて、探索ウィンドウ上で行われる。探索ウィンドウ内の各点において、マスクが「1」である点では、全ての色距離値を加算し、マスクが「0」である点では、全ての色距離値を減算することにより値を算出する。マスクにおいて加算された色距離値が最小となる位置を最も良好に一致する位置とする。
図28に示すように、画像内の各顔について、(フレームnに関する)現在の色距離マップは、古い顔位置1500における古い色距離マップの90%と、新たな顔位置1510における新たな色距離マップの10%とを加算することにより更新される。
これは、各顔の色距離マスクを徐々に変更する効果がある。したがって、顔が部分的に遮られた場合、顔を遮るオブジェクトは、色距離マスクを僅かに変更するのみであり、照合処理では、顔を遮るオブジェクトではなく、元の顔が照合される可能性が高い。
この手法の更なる利点として、粗いグリッド上で探索を行っている場合であっても、ゆっくり移動する顔を良好に追跡できるという点である。この理由は、例えば、以下のような状況を検討することにより明らかとなる。
例えば、従来の手法を用いて、探索を4×4グリッドの上で行う(すなわち、探索は、4画素以上の精度を有さない。)と仮定する。ここでは、顔が1画素分移動した場合、探索アルゴリズムは、同じ(前)の位置に顔を検出する。色距離マップは、新たな色距離マップに完全に置換されるので、顔が1フレームにつき1画素ずつ移動したとすると、4フレーム経過後には、実際には、顔は、4画素分移動しているが、顔は、元の位置に検出され、換言すれば、マスクは、顔から「ずれる」。
色距離マスクを徐々に更新する変形例6の手法を用いた場合、4フレーム経過後、探索アルゴリズムは、4フレーム前の顔がどこにあったかを幾らか反映している色距離マップを用いる。これは、探索アルゴリズムが顔が実際には、4画素分移動したことを推定できることを意味する。
変形例5のようにバイナリマスクを用いてマップを探索する場合、色距離マップを2つのレベルに量子化することによって性能を更に向上させることができる。マップ内の各画素は、マスクの平均色距離値より低い場合−1に、マスクの平均色距離値より高い場合+1に設定される(「マスクの平均色距離」は、マスクを形成するために「1」及び「0」に量子化される前の顔ウィンドウの平均色距離を示す。)。
そして従来と同様、値は、探索ウィンドウ内の各点において、マスクが「1」である位置では全ての色距離値を加算し、マスクが「0」である位置では全ての色距離値を減算することによって算出される。
要約すると、これは、顔ウィンドウ内の各画素位置は、マスク値と画像色距離値に基づいて、算出される値に以下のような作用を及ぼすことを意味する。
探索ウィンドウの各位置において、これらの値は、顔のサイズのウィンドウ毎に算出され、加算される。従来と同様、値が最小である、すなわち、マスクが画像に最も一致する画素位置を最も良好な位置として選択する。
これにより、色距離値の振幅が肌色からの距離の計算に望ましくない効果を有することが防がれ、マスク外の非肌色の画素が望ましくない効果を有することが防がれる。
顔追跡とデシメーション
上述したデシメーションを用いるシステム、特に時間的なデシメーションを用いるシステムでは、幾つかのフレームについて、そのフレームの処理が終了しても決定的な顔検出結果が得られない可能性がある。この場合、時間的なデシメーションにより如何なる顔検出結果も得られないフレームに関しては、肌色追跡を用いることができる。これにより、必要とされる連続した顔検出の数に関する規則及びこれに類する規則は、適切に緩和される。空間的なデシメーションにより、画像の一部のみに関して結果が利用可能である場合、完全な新たな結果が得られたとき、又は各画像について、その時点で利用可能な画像全体に関して最も良好な情報に基づいて顔追跡を行ってもよい。
上述したデシメーションを用いるシステム、特に時間的なデシメーションを用いるシステムでは、幾つかのフレームについて、そのフレームの処理が終了しても決定的な顔検出結果が得られない可能性がある。この場合、時間的なデシメーションにより如何なる顔検出結果も得られないフレームに関しては、肌色追跡を用いることができる。これにより、必要とされる連続した顔検出の数に関する規則及びこれに類する規則は、適切に緩和される。空間的なデシメーションにより、画像の一部のみに関して結果が利用可能である場合、完全な新たな結果が得られたとき、又は各画像について、その時点で利用可能な画像全体に関して最も良好な情報に基づいて顔追跡を行ってもよい。
傾斜前処理
図29a〜図29cは、傾斜前処理法(gradient pre-processing technique)を図式的に説明する図である。
図29a〜図29cは、傾斜前処理法(gradient pre-processing technique)を図式的に説明する図である。
画素の変化が殆どない画像ウィンドウは、固有顔又は固有ブロックに基づく顔検出構成によって、顔として検出される傾向がある。したがって、前処理ステップにおいて、顔検出処理の対象から、画素の変化が殆どない領域を除外するとよい。多数の尺度を有する方式(上述参照)では、前処理ステップを各尺度において実行してもよい。基本的な処理として、画像全体に亘る可能なウィンドウ位置について、「傾斜検査(gradient test)」を適用する。各ウィンドウ位置について所定の画素位置、例えばウィンドウ位置の中心の又は中心に近い画素に対して、このウィンドウに適用された検査の結果に応じてフラグを立て又はラベルを付す。この検査により、このウィンドウにおいては画素の変化が殆どないと判定された場合、このウィンドウ位置は、顔検出処理から除外する。
第1のステップ図29aに示す。図29aは、画像における任意のウィンドウ位置を示している。上述のように、前処理は、可能な各ウィンドウ位置に対して繰り返し行う。傾斜前処理は、ウィンドウ全体に対して行ってもよいが、本願発明者らは、図29aに示すように、前処理を検査ウィンドウ1010の中心領域1000に適用した方が良好な結果が得られることを見出した。
図29bに示すように、傾斜に基づく測定値は、ウィンドウ(又は図29aに示すようなウィンドウの中心領域)から得られ、この値は、ウィンドウから得られた水平方向及び垂直方向の両方における隣接する画素1011間の絶対距離の平均値である。各ウィンドウの中止領域には、この傾斜に基づく測定値のラベルを付し、これにより画像の傾斜「マップ」を作成する。次に、作成された傾斜マップを傾斜閾値と比較する。そして、傾斜に基づく測定値が傾斜閾値を下回る全てのウィンドウ位置をその画像に関する顔検出処理から除外する。
また、画素の変化又は平均画素値からの画素の絶対平均偏差等の他の傾斜に基づく測定を用いてもよい。
傾斜に基づく測定は、画素の輝度値に関して行うことが好ましいが、カラー画像の他の画像成分について行ってもよいことは言うまでもない。
図29cは、例示的な画像から導出された傾斜マップの具体例を示している。ここで、傾斜が緩い領域1070(ハッチングで示す)は、顔検出から除外し、より傾斜が急峻な領域1080のみを顔検出に用いる。
上述の具体例は、顔検出(トレーニング及び検出段階を含む)、及びカメラレコーダ及び編集装置におけるこの顔検出の可能な用途に関する具体例を説明するものである。なお、この技術は、この他の多数の用途で利用することができ、例えば、以下に限定されるものではないが、安全監視システム、包括的なメディア処理(例えば、ビデオテープレコーダのコントローラ)、ビデオ会議システム、IPカメラ、デジタルスチルカメラ等に利用することもできる。
他の実施例においては、高い画素差分を有するウィンドウ位置にフラグ又はラベルを付してもよく、及び顔検出処理から除外してもよい。「高い」画素差分とは、図29bを用いて上述した測定値が上側の閾値を超えていることを意味する。
したがって、傾斜マップは、上述のように、作成される。傾斜測定値が上述した(第1の)傾斜閾値より低い位置は、傾斜閾値が上側の閾値より高いあらゆる位置と同様に、顔検出処理から除外される。
上述のように、「下側の閾値」処理は、好ましくは検定ウィンドウ1010の中心部分1000に適用される。「上側の閾値」処理も同様に適用できる。これは、各ウィンドウ位置に関して、単一の傾斜測定値のみを導出すればよいことを意味する。これに代えて下側の閾値検査に関して全体のウィンドウが使用されている場合、上側の閾値検査に関しても同様に全体のウィンドウを用いることができる。ここでも、各ウィンドウ位置毎に単一の傾斜測定値だけを導出すればよい。勿論、(例えば)検定ウィンドウ1010の中心部分1000を用いて下側の閾値検査のための傾斜測定値を導出し、上側の閾値検査に関しては、完全な検査ウィンドウを用いる等、2つの異なる構成を用いてもよい。
上述した顔追跡を終了するための更なる基準として、その変化又は傾斜測定値が非常に低く又は非常に高くなった場合に顔追跡を終了してもよい。
この手法では、追跡された顔位置は、関心領域マップからの偏差によって検証される。追跡の次の繰り返しのためには、検出された尺度における顔のサイズの領域のマップのみを各顔毎に保存する。
上述した傾斜前処理を行った場合でも、肌色追跡され色又はカルマン予測された顔が画像内の変化が小さい又は大きい(顔らしくない)領域に移動する可能性はある。したがって、傾斜前処理において、既存の顔追跡の周りの領域に関する変化値(又は、傾斜値)を保存する。
顔の次の位置に関する最終的な決定が下された場合、(顔検出、肌色追跡又はカルマン予測のうちの何れの認識を用いてよい。)その位置は、関心領域マップ内に保存されている変化(又は傾斜)値を用いて検証される。その位置が非常に高い又は非常に低い変化値(又は勾配値)を有すると判定された場合その位置は顔らしくないと判定され、顔追跡は終了する。これにより、顔追跡が画像内の低い(又は高い)変化値を有する背景領域に逸れることが防がれる。
これに代えて傾斜前処理が使用されていない場合であっても、新たな顔位置の変化値を新たに計算してもよい。何れの場合も、用いられる変化測定は、従来の変化値であってもよく、隣接する画素の差分の合計(傾斜値)であってもよく、又は他の如何なる種類の変化値であってもよい。
変化値の前処理と変化検出の結合
上述のように、変化検出法では、1つ以上の長方形の境界ボックスを検出された動きの領域の周囲に配置する(少なくとも、動きが検出されない領域を除外する)。そして、これらのボックスは、顔検出を実行すべき全ての尺度に再スケーリングされる。
上述のように、変化検出法では、1つ以上の長方形の境界ボックスを検出された動きの領域の周囲に配置する(少なくとも、動きが検出されない領域を除外する)。そして、これらのボックスは、顔検出を実行すべき全ての尺度に再スケーリングされる。
どの領域に対して顔検出を行うかに関する判定である関心領域の判定は、変化の前処理及び変化検出処理の結果に基づいて行われる。
顔検出アルゴリズムで処理する必要があるのは、以下の画像領域だけである。(1)変化の前処理によって候補顔領域として、選択された画像領域。(2)変化検出の間、動きが検出された領域としてラベルが付された画像領域。
したがって、関心領域決定ロジックは、変化の前処理及び変化検出モジュールからの関心領域領域を結合し、最終的な関心領域を生成する。これらは関心領域又は非関心領域としてラベルが付された各画素位置とともに、各尺度における1つ以上の長方形の境界ボックスによって制約され又は(境界ボックスによる制約なしで)複数の尺度の「関心領域」マップによって制約される。
また、「変化していないことの検出」に対応して、どの領域が処理されないかを顔検出アルゴリズムに知らせることにより、これらの領域については、先行するフレームからの顔検出結果を繰り返し用いることができる。したがって、この情報は、顔検出にも渡される。
また、上述した本発明の具体例の少なくとも一部は、ソフトウェアにより制御される処理装置によって実現できる。例えば、上述した1又は複数の要素は、ソフトウェアにより制御される汎用データ処理装置、又は特定用途向け集積回路やフィールドプログラマブルゲートアレー等の専用プログラムにより制御されるデータ処理装置によって実現してもよい。このようなソフトウェア又はプログラム制御を提供するコンピュータプログラム、及びこのようなコンピュータプログラムを保存、伝送又は提供する保存、伝送又は伝送媒体も本発明の側面とみなすことができる。
参考文献のリスト及び付録を以下に示す。なお、疑いの余地をなくすために言及すれば、これらのリスト及び付録は、本願の一部を構成する。これらの文献は、引用により本願に援用されるものとする。
参考文献
1.エイチ・シュナイダーマン(H. Schneiderman)及びティー・カナデ(T. Kanade)著、「顔及び車に適用される3Dオブジェクト検出のための統計モデル(A statistical model for 3D object detection applied to faces and cars)」、コンピュータビジョン及びパーターン検出に関するIEEEコンファレンス2000(IEEE Conference on Computer Vision and Pattern Detection, 2000)
2.エイチ・シュナイダーマン(H. Schneiderman)及びティー・カナデ(T. Kanade)著、「オブジェクト検出のための局所的外観及び空間的関係の確率的モデリング(Probabilistic modelling of local appearance and spatial relationships for object detection)」、コンピュータビジョン及びパーターン検出に関するIEEEコンファレンス1998(IEEE Conference on Computer Vision and Pattern Detection, 1998)
3.エイチ・シュナイダーマン(H. Schneiderman)著、「顔及び車に適用される3Dオブジェクト検出のための統計的手法」、カーネギーメロン大学(Carnegie Mellon University)ロボティクス研究科(Robotics Institute)博士論文、2000年
4.イー・ヘルマス(E. Hjelmas)及びビー・ケー・ロウB.K. Low)著、「顔検出:概観(Face Detection: A Survey)」、コンピュータビジョン及び画像理解(Computer Vision and Image Understanding)第83号、pp.236〜274、2001年
5.エム−エイチ・ヤング(M.-H.Yang)、ディー・クレイグマン(D.Kriegman)及びエヌ・アフジャ(N.Ahuja)著、「画像における顔の検出:概観(Detecting Faces in Images: A Survey)」、パターン分析及びマシン知能に関するIEEEトランザクション(IEEE Trans. on Pattern Analysis and Machine Intelligence)、第24巻1号pp.34〜58、2002年1月
付録A:トレーニング顔セット
1個のデータベースは、屋内の背景の前に立つ数千個の題材(subject)の画像を格納している。上述の手法の実験に用いられる他のトレーニングデータベースは、正面から左右までの様々な範囲の角度から見た人間の頭の8ビットのグレースケール画像を一万個以上格納している。当業者にとっては明らかであるが、これらとは異なる様々なトレーニングセットを用いてもよく、任意として、ローカルの母集団の顔の特徴を反映するようプロファイルされたトレーニングセットを用いてもよい。
1.エイチ・シュナイダーマン(H. Schneiderman)及びティー・カナデ(T. Kanade)著、「顔及び車に適用される3Dオブジェクト検出のための統計モデル(A statistical model for 3D object detection applied to faces and cars)」、コンピュータビジョン及びパーターン検出に関するIEEEコンファレンス2000(IEEE Conference on Computer Vision and Pattern Detection, 2000)
2.エイチ・シュナイダーマン(H. Schneiderman)及びティー・カナデ(T. Kanade)著、「オブジェクト検出のための局所的外観及び空間的関係の確率的モデリング(Probabilistic modelling of local appearance and spatial relationships for object detection)」、コンピュータビジョン及びパーターン検出に関するIEEEコンファレンス1998(IEEE Conference on Computer Vision and Pattern Detection, 1998)
3.エイチ・シュナイダーマン(H. Schneiderman)著、「顔及び車に適用される3Dオブジェクト検出のための統計的手法」、カーネギーメロン大学(Carnegie Mellon University)ロボティクス研究科(Robotics Institute)博士論文、2000年
4.イー・ヘルマス(E. Hjelmas)及びビー・ケー・ロウB.K. Low)著、「顔検出:概観(Face Detection: A Survey)」、コンピュータビジョン及び画像理解(Computer Vision and Image Understanding)第83号、pp.236〜274、2001年
5.エム−エイチ・ヤング(M.-H.Yang)、ディー・クレイグマン(D.Kriegman)及びエヌ・アフジャ(N.Ahuja)著、「画像における顔の検出:概観(Detecting Faces in Images: A Survey)」、パターン分析及びマシン知能に関するIEEEトランザクション(IEEE Trans. on Pattern Analysis and Machine Intelligence)、第24巻1号pp.34〜58、2002年1月
付録A:トレーニング顔セット
1個のデータベースは、屋内の背景の前に立つ数千個の題材(subject)の画像を格納している。上述の手法の実験に用いられる他のトレーニングデータベースは、正面から左右までの様々な範囲の角度から見た人間の頭の8ビットのグレースケール画像を一万個以上格納している。当業者にとっては明らかであるが、これらとは異なる様々なトレーニングセットを用いてもよく、任意として、ローカルの母集団の顔の特徴を反映するようプロファイルされたトレーニングセットを用いてもよい。
付録B:固有ブロック
顔検出及び認識のための固有顔法(図4及び図5参照)において、各m×n顔画像は、それぞれ長さmnのベクトルによって表現されるようにが記録される。これにより、各画像は、mn次元空間内の点とみなすことができる。画像の組は、この大きな空間内の点の集合にマッピングされる。
顔検出及び認識のための固有顔法(図4及び図5参照)において、各m×n顔画像は、それぞれ長さmnのベクトルによって表現されるようにが記録される。これにより、各画像は、mn次元空間内の点とみなすことができる。画像の組は、この大きな空間内の点の集合にマッピングされる。
顔画像は、全体的な構成が類似しており、このmn次元画像空間においてランダムには分布せず、すなわち、顔画像は比較的低い次元のサブ空間によって記述できる。主成分分析(principal component analysis:以下、PCAという。)を用いて、画像空間内における顔画像の分布を最もよく説明するベクトルを見出すことができる。PCAでは、元の顔画像に対応する共分散行列の主固有ベクトル(principal eigenvectors)を判定する。これらのベクトルは、多くの場合顔空間とも呼ばれる、顔画像のサブ空間を定義する。各ベクトルは、m×n画像を表し、元の顔画像の一次結合である。これらのベクトルは、元の顔画像に対応する共分散行列の固有ベクトルであるため、及びこれらは顔に似た外観を有するため、これらのベクトルは、固有顔とも呼ばれる[4]。
未知の画像が存在する場合、この画像は顔空間に射影される。これにより、この画像は、固有顔の重み付けされた和として表現される。
この具体例では、近接相関法(closely related approach)を用いて、顔画像のブロックに関連する所謂「固有ブロック(eigenblock)」又は固有ベクトルを生成及び適用する。ブロックのグリッドは、(トレーニングセット内の)顔画像又は(検出段階の間に)検査ウィンドウに適用され、固有顔処理に非常に類似した固有ベクトルに基づく処理を各ブロック位置に適用する(又は、データ処理の負荷を軽減する他の具体例においては、この処理は、まず、ブロック位置のグループに対して行い、全てのブロック位置において使用される固有ブロックの1つの組を生成する)。当業者には明らかであるが、中央のブロック等の幾つかのブロックは、画像の鼻の部分を表している場合が多く、顔が存在するか否かを判定するためのより重要な部分となる。
固有ブロックの算出
固有ブロックは、以下のような手順で算出される。
(1)画像のトレーニングセットを用いる。これらを、それぞれm×nのサイズを有する画像ブロックに分割する。各ブロック位置について、それぞれが各画像におけるそのブロック位置から抽出された、次のような画像ブロックの組が得られる。
固有ブロックは、以下のような手順で算出される。
(1)画像のトレーニングセットを用いる。これらを、それぞれm×nのサイズを有する画像ブロックに分割する。各ブロック位置について、それぞれが各画像におけるそのブロック位置から抽出された、次のような画像ブロックの組が得られる。
(2)正規化されたブロックのトレーニングセット
を以下のようにして算出する。
元のトレーニングセットからの各画像ブロックI0 tを0と、1のL2ノルムとの平均値を有するように正規化し、各正規化された画像ブロックItを生成する。
各画像ブロックI0 t,t=1,・・・,NT:
(すなわち、(I0 t−mean_I0 t)のL2ノルム)
(3)ベクトルのトレーニングセット
(3)ベクトルのトレーニングセット
を各画像ブロックItの画素要素を辞書順に並べ替えることによって生成する。すなわち、各m×n画像ブロックItを長さN=mnのベクトルxtに並べ替える。
(4)偏差ベクトルの組
(4)偏差ベクトルの組
を算出する。Dは、N個の列とNT個の行とを有する。
(5)共分散行列Σを算出する。
(5)共分散行列Σを算出する。
Σは、N×Nのサイズを有する対称行列である。
(7)以下の式を解くことにより、全ての固有ベクトルからなる組P及び共分散行列Σの固有値λi,i=1,・・・,Nを求める。
(7)以下の式を解くことにより、全ての固有ベクトルからなる組P及び共分散行列Σの固有値λi,i=1,・・・,Nを求める。
ここで、Λは、その対角に沿って(大きさの順に)固有値λiを有するN×N対角行列であり、Pは、それぞれ長さNを有するN個の固有ベクトルの組を含むN×N行列である。この分解は、カルーネン・レーベ変換(Karhunen-Loeve Transform:KLT)としても知られている。
固有ベクトルは、顔画像のブロック間の変化を互いに特徴付ける特徴の組であるとみなすことができる。固有ベクトルは直交基底を形成し、これにより画像ブロックを表現することができ、すなわち、原理的には、如何なる画像も固有ベクトルの重み付けされた和によって、誤差を生じることなく表現することができる。
画像空間内のデータ点の数(トレーニング画像の数)が空間の次元より少ない(NT<N)場合、意味がある固有ベクトルの数はNT個のみとなる。残りの固有ベクトルは、0の固有値に関連付けられた値を有する。そこで、多くの場合、NT<Nであるため、i>NTである全ての固有値は0となる。
更に、トレーニングセット内の画像ブロックは、全体の構成において類似する(全てが顔の画像に由来する)ため、残りの固有ベクトルのうちの幾つかのみが、画像ブロック間の相異を強く特徴付ける。これらは、関連する固有値が最も大きい固有ベクトルである。関連する固有値が小さいこの他の固有ベクトルは、このような大きな相異を特徴付けることなく、したがって、顔を検出し、又は顔間の区別を行う目的では有用ではない。
したがって、PCAにおいては、M<NTとして、固有値が大きいM個の主固有ベクトルのみを考慮し、すなわち、部分的KLTを実行する。すなわち、PCAでは、最も大きい固有値に対応するKLT基底の、より低次元のサブ空間を抽出する。
主成分は顔画像間の大きな相異を記述するため、外観上、これらの主成分は顔ブロックの部分に類似し、ここでは、これらを固有ブロックと呼ぶ。なお、固有ベクトルという用語も同様に用いる。
固有ブロックを用いた顔検出
未知の画像の顔への類似性、すなわち顔類似性(faceness)は、その画像が顔空間によってどれ程適切に表現できるかによって測定される。この処理は、トレーニング処理において用いたものと同じブロックのグリッドを用いて、ブロック毎に行う。
未知の画像の顔への類似性、すなわち顔類似性(faceness)は、その画像が顔空間によってどれ程適切に表現できるかによって測定される。この処理は、トレーニング処理において用いたものと同じブロックのグリッドを用いて、ブロック毎に行う。
この処理の第1段階では、画像を顔空間に射影する。
画像の顔空間への射影
画像を顔空間に射影する前に、トレーニングセットに対して行った前処理と略々同様の前処理をこの画像に対して行う。
(1)m×nのサイズの検査画像ブロックI0を得る。
(2)元の検査画像ブロックI0を0と、1のL2ノルムとの平均値を有するように正規化し、正規化された検査画像ブロックIを生成する。
画像を顔空間に射影する前に、トレーニングセットに対して行った前処理と略々同様の前処理をこの画像に対して行う。
(1)m×nのサイズの検査画像ブロックI0を得る。
(2)元の検査画像ブロックI0を0と、1のL2ノルムとの平均値を有するように正規化し、正規化された検査画像ブロックIを生成する。
(すなわち、(I0−mean_I0)のL2ノルム)
(3)画像の画素要素を辞書順に並べ替えることによって、偏差ベクトルを生成する。画像を長さN=mnの偏差ベクトルxに並べ替える。
(3)画像の画素要素を辞書順に並べ替えることによって、偏差ベクトルを生成する。画像を長さN=mnの偏差ベクトルxに並べ替える。
これらの前処理の後、以下のような単純な処理により、偏差ベクトルxを顔空間に射影する。
(4)顔空間への射影は、偏差ベクトルxをその固有ブロック成分に変換する処理を含む。この処理は、M個の主固有ベクトル(固有ブロック)Pi,i=1,・・・,Mによる単純な乗算を含む。各重みyiは、以下のようにして求めることができる。
(4)顔空間への射影は、偏差ベクトルxをその固有ブロック成分に変換する処理を含む。この処理は、M個の主固有ベクトル(固有ブロック)Pi,i=1,・・・,Mによる単純な乗算を含む。各重みyiは、以下のようにして求めることができる。
ここでPiは、i番目の固有ベクトルを表す。
これらの重みyi,i=1,・・・,Mは、入力顔ブロックの表現における各固有ブロックの貢献を表す。
外観が類似するブロックは、類似する重みの組を有し、外観が相異するブロックは、相異する重みの組を有する。すなわち、ここでは、重みは、顔検出において顔ブロックを分類する特徴ベクトルとして用いている。
ここでは、特定の実施例について説明したが、本発明は、これに限定されるわけではなく、本発明の範囲内で多くの変更及び追加を行うことができることは明らかである。例えば、本発明の範囲から逸脱することなく、特許請求の範囲に示す従属請求項の様々な組合せを独立請求項の特徴に加えることができる。
Claims (19)
- 検査画像内のオブジェクトを検出するオブジェクト検出装置において、
上記画像の検査ウィンドウのブロックと、オブジェクトの存在を示す参照データとを比較し、あるブロック領域と上記参照データとの間の類似の度合いを示すインデクス値を生成する比較器と、
上記インデクス値の可能な値と、上記ブロック位置とに対応する確率データを保存するストレージと、
現在のブロックに関して、上記検査ウィンドウ内の該ブロックの位置と、該ブロックに関して生成された上記インデクス値とに基づいて、上記ストレージに格納された確率値にアクセスするアクセスロジックと、
上記検査ウィンドウ内のブロックに対応する確率値を結合し、オブジェクトを含む該検査ウィンドウの確率を示す結果を生成する結合器とを備え、
上記ストレージに格納されている上記確率値は、ブロック位置及びこれに続いてインデクス値によって順序付けられているオブジェクト検出装置。 - 上記アクセスロジックは、現在のブロックの位置とインデクス値とに関して、2以上の確率値にアクセスし、該2以上の確率値は、異なるオブジェクトの向きに関連することを特徴とする請求項1記載のオブジェクト検出装置。
- 上記結合器は、上記個々のオブジェクトの向きに関連する確率値を結合し、各オブジェクトの向きについて、それぞれの結果を生成することを特徴とする請求項2記載のオブジェクト検出装置。
- 上記ストレージに格納されている上記確率値は、オブジェクトの向き、ブロック位置及びこれに続いてインデクス値によって順序付けられていることを特徴とする請求項2記載のオブジェクト検出装置。
- 上記オブジェクトの向きは、少なくとも正面の向きと、該オブジェクトが一方に向けられた向きとを含むことを特徴とする請求項2記載のオブジェクト検出装置。
- 上記オブジェクトの向きは、少なくとも正面の向きと、該オブジェクトが一方に向けられた向きと、該オブジェクトが他方に向けられた向きを含むことを特徴とする請求項5記載のオブジェクト検出装置。
- 上記正面の向きに関連する確率値は、他のオブジェクトの向きに関連する確率値より高い解像度で上記ストレージに保存されることを特徴とする請求項5記載のオブジェクト検出装置。
- 上記正面の向きに関連する確率値は、他のオブジェクトの向きに関連する確率値の2倍の解像度で上記ストレージに保存されることを特徴とする請求項7記載のオブジェクト検出装置。
- 上記比較器は、1つ以上の画像の固有ベクトルに上記ブロックを投影することを特徴とする請求項1記載のオブジェクト検出装置。
- 上記アクセスロジックは、最近にアクセスされた確率値と、格納順において、該最近にアクセスされた確率値に近い確率値とをキャッシングするキャッシュメモリを備えることを特徴とする請求項1記載のオブジェクト検出装置。
- 上記オブジェクトは、顔であることを特徴とする請求項1記載のオブジェクト検出装置。
- 請求項1記載のオブジェクト検出装置を備えるビデオ会議装置。
- 請求項1記載のオブジェクト検出装置を備える監視装置。
- 請求項1記載のオブジェクト検出装置を備えるカメラ装置。
- 検査画像内のオブジェクトを検出するオブジェクト検出方法において、
上記画像の検査ウィンドウのブロックと、オブジェクトの存在を示す参照データとを比較し、あるブロック領域と上記参照データとの間の類似の度合いを示すインデクス値を生成するステップと、
上記インデクス値の可能な値と、上記ブロック位置とに対応する確率データを保存するステップと、
現在のブロックに関して、上記検査ウィンドウ内の該ブロックの位置と、該ブロックに関して生成された上記インデクス値とに基づいて、上記ストレージに格納された確率値にアクセスするステップと、
上記検査ウィンドウ内のブロックに対応する確率値を結合し、オブジェクトを含む該検査ウィンドウの確率を示す結果を生成するステップとを有し、
上記ストレージに格納されている上記確率値は、ブロック位置及びこれに続いてインデクス値によって順序付けられているオブジェクト検出装置。 - 請求項15記載のオブジェクト検出方法を実行するプログラムコードを有するコンピュータソフトウェア。
- 請求項16記載のプログラムコードを提供する提供媒体。
- 当該提供媒体は、記録媒体であることを特徴とする請求項17記載の提供媒体。
- 当該提供媒体は、伝送媒体であることを特徴とする請求項17記載の提供媒体。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB0328736A GB2409028A (en) | 2003-12-11 | 2003-12-11 | Face detection |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005190477A true JP2005190477A (ja) | 2005-07-14 |
Family
ID=30130047
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004360621A Withdrawn JP2005190477A (ja) | 2003-12-11 | 2004-12-13 | オブジェクト検出 |
Country Status (6)
Country | Link |
---|---|
US (1) | US7489803B2 (ja) |
EP (1) | EP1542155B1 (ja) |
JP (1) | JP2005190477A (ja) |
CN (1) | CN100538722C (ja) |
DE (1) | DE602004002180T2 (ja) |
GB (1) | GB2409028A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101484001B1 (ko) | 2013-11-20 | 2015-01-20 | (주)나노인사이드 | 지역 미세 패턴을 이용한 얼굴 영상 분석 방법 |
US9208374B2 (en) | 2012-11-27 | 2015-12-08 | Canon Kabushiki Kaisha | Information processing apparatus, control method therefor, and electronic device |
Families Citing this family (45)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10250197A1 (de) * | 2002-10-28 | 2004-05-13 | Siemens Ag | Bildsystem zur Verarbeitung von Bilddaten |
GB2395852B (en) * | 2002-11-29 | 2006-04-19 | Sony Uk Ltd | Media handling system |
EP1599833B1 (en) * | 2003-02-18 | 2007-03-21 | Philips Intellectual Property & Standards GmbH | Image segmentation by assigning classes to adaptive mesh primitives |
JP2005151282A (ja) * | 2003-11-18 | 2005-06-09 | Fuji Xerox Co Ltd | 画像処理装置、画像処理方法、およびプログラム |
US7983835B2 (en) | 2004-11-03 | 2011-07-19 | Lagassey Paul J | Modular intelligent transportation system |
US20060164682A1 (en) * | 2005-01-25 | 2006-07-27 | Dspv, Ltd. | System and method of improving the legibility and applicability of document pictures using form based image enhancement |
WO2007052100A2 (en) * | 2005-02-15 | 2007-05-10 | Dspv, Ltd. | System and method of user interface and data entry from a video call |
US20060222243A1 (en) * | 2005-04-02 | 2006-10-05 | Newell Martin E | Extraction and scaled display of objects in an image |
JP4624889B2 (ja) * | 2005-08-30 | 2011-02-02 | 富士フイルム株式会社 | 顔検出方法および装置並びにプログラム |
GB2430735A (en) * | 2005-09-30 | 2007-04-04 | Sony Uk Ltd | Object detection |
US8019170B2 (en) * | 2005-10-05 | 2011-09-13 | Qualcomm, Incorporated | Video frame motion-based automatic region-of-interest detection |
US8208758B2 (en) | 2005-10-05 | 2012-06-26 | Qualcomm Incorporated | Video sensor-based automatic region-of-interest detection |
GB2431797B (en) | 2005-10-31 | 2011-02-23 | Sony Uk Ltd | Image processing |
US10614294B1 (en) * | 2006-06-16 | 2020-04-07 | Videomining Corporation | Method and system for measuring viewership of people for displayed object |
EP1879149B1 (en) * | 2006-07-10 | 2016-03-16 | Fondazione Bruno Kessler | method and apparatus for tracking a number of objects or object parts in image sequences |
US20090262139A1 (en) * | 2006-08-02 | 2009-10-22 | Panasonic Corporation | Video image display device and video image display method |
US20080107341A1 (en) * | 2006-11-02 | 2008-05-08 | Juwei Lu | Method And Apparatus For Detecting Faces In Digital Images |
JP2009089174A (ja) * | 2007-10-01 | 2009-04-23 | Fujifilm Corp | デジタルカメラおよびその撮影方法 |
WO2009079644A2 (en) * | 2007-12-18 | 2009-06-25 | Brijot Imaging Systems, Inc. | Software methodology for autonomous concealed object detection and threat assessment |
JP5360052B2 (ja) * | 2008-04-09 | 2013-12-04 | 日本電気株式会社 | 物体検出装置 |
KR100889026B1 (ko) * | 2008-07-22 | 2009-03-17 | 김정태 | 이미지를 이용한 검색 시스템 |
US8134597B2 (en) * | 2008-12-05 | 2012-03-13 | Sony Ericsson Mobile Communications Ab | Camera system with touch focus and method |
JP5573209B2 (ja) * | 2010-02-04 | 2014-08-20 | ソニー株式会社 | 画像処理装置、画像処理方法、プログラム、及び電子機器 |
US8315443B2 (en) * | 2010-04-22 | 2012-11-20 | Qualcomm Incorporated | Viewpoint detector based on skin color area and face area |
CN101980285B (zh) * | 2010-11-09 | 2013-04-17 | 西安电子科技大学 | 结合gmrf先验的非局部图像修复方法 |
US8903167B2 (en) | 2011-05-12 | 2014-12-02 | Microsoft Corporation | Synthesizing training samples for object recognition |
JP5668932B2 (ja) * | 2011-05-23 | 2015-02-12 | 株式会社モルフォ | 画像識別装置、画像識別方法、画像識別プログラム及び記録媒体 |
JP5401695B2 (ja) * | 2011-05-23 | 2014-01-29 | 株式会社モルフォ | 画像識別装置、画像識別方法、画像識別プログラム及び記録媒体 |
JP5726646B2 (ja) * | 2011-06-10 | 2015-06-03 | 株式会社東芝 | 画像処理装置、方法、及びプログラム |
US8929598B2 (en) * | 2011-06-29 | 2015-01-06 | Olympus Imaging Corp. | Tracking apparatus, tracking method, and storage medium to store tracking program |
JP5919665B2 (ja) * | 2011-07-19 | 2016-05-18 | 日本電気株式会社 | 情報処理装置、物体追跡方法および情報処理プログラム |
FR2989198A1 (fr) * | 2012-04-06 | 2013-10-11 | St Microelectronics Grenoble 2 | Procede et dispositif de detection d'un objet dans une image |
EP2669845A3 (en) * | 2012-06-01 | 2014-11-19 | Ricoh Company, Ltd. | Target recognition system, target recognition method executed by the target recognition system, target recognition program executed on the target recognition system, and recording medium storing the target recognition program |
JP6125201B2 (ja) * | 2012-11-05 | 2017-05-10 | 株式会社東芝 | 画像処理装置、方法、及びプログラム、並びに、画像表示装置 |
US9449216B1 (en) * | 2013-04-10 | 2016-09-20 | Amazon Technologies, Inc. | Detection of cast members in video content |
JP2014241473A (ja) * | 2013-06-11 | 2014-12-25 | 株式会社東芝 | 画像処理装置、方法、及びプログラム、並びに、立体画像表示装置 |
CN104298982B (zh) * | 2013-07-16 | 2019-03-08 | 深圳市腾讯计算机系统有限公司 | 一种文字识别方法及装置 |
US10303697B1 (en) * | 2015-06-25 | 2019-05-28 | National Technology & Engineering Solutions Of Sandia, Llc | Temporal data system |
CN105678712B (zh) * | 2016-01-29 | 2018-08-24 | 陕西师范大学 | 结合自适应梯度分块和等距变换的改进Criminisi图像修复方法 |
CN106845383B (zh) * | 2017-01-16 | 2023-06-06 | 腾讯科技(上海)有限公司 | 人头检测方法和装置 |
EP3477594B1 (en) | 2017-10-27 | 2020-12-30 | Vestel Elektronik Sanayi ve Ticaret A.S. | Detecting motion of a moving object and transmitting an image of the moving object |
CN108122001B (zh) * | 2017-12-13 | 2022-03-11 | 北京小米移动软件有限公司 | 图像识别方法及装置 |
US10880735B2 (en) | 2017-12-21 | 2020-12-29 | Disappears.Com Holdings | Method for detecting the possible taking of screenshots |
US10984140B2 (en) | 2017-12-21 | 2021-04-20 | Disappears.Com Holdings (Canada) Ltd. | Method for detecting the possible taking of screenshots |
US10796157B2 (en) * | 2018-03-13 | 2020-10-06 | Mediatek Inc. | Hierarchical object detection and selection |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB9409773D0 (en) * | 1994-05-13 | 1994-07-06 | Atomic Energy Authority Uk | Identification system |
US6292575B1 (en) * | 1998-07-20 | 2001-09-18 | Lau Technologies | Real-time facial recognition and verification system |
US7130454B1 (en) * | 1998-07-20 | 2006-10-31 | Viisage Technology, Inc. | Real-time facial recognition and verification system |
US6496184B1 (en) * | 1998-11-30 | 2002-12-17 | William T. Freeman | Method for inferring scenes from test images and training data using probability propagation in a markov network |
US6611622B1 (en) * | 1999-11-23 | 2003-08-26 | Microsoft Corporation | Object recognition system and process for identifying people and objects in an image of a scene |
US6940545B1 (en) * | 2000-02-28 | 2005-09-06 | Eastman Kodak Company | Face detecting camera and method |
US6829384B2 (en) * | 2001-02-28 | 2004-12-07 | Carnegie Mellon University | Object finder for photographic images |
US7369685B2 (en) * | 2002-04-05 | 2008-05-06 | Identix Corporation | Vision-based operating method and system |
EP1353516A1 (en) * | 2002-04-08 | 2003-10-15 | Mitsubishi Electric Information Technology Centre Europe B.V. | A method and apparatus for detecting and/or tracking one or more colour regions in an image or sequence of images |
US7194114B2 (en) * | 2002-10-07 | 2007-03-20 | Carnegie Mellon University | Object finder for two-dimensional images, and system for determining a set of sub-classifiers composing an object finder |
-
2003
- 2003-12-11 GB GB0328736A patent/GB2409028A/en not_active Withdrawn
-
2004
- 2004-11-05 DE DE602004002180T patent/DE602004002180T2/de not_active Expired - Fee Related
- 2004-11-05 EP EP04256874A patent/EP1542155B1/en not_active Not-in-force
- 2004-12-08 US US11/007,097 patent/US7489803B2/en not_active Expired - Fee Related
- 2004-12-13 JP JP2004360621A patent/JP2005190477A/ja not_active Withdrawn
- 2004-12-13 CN CNB2004101007659A patent/CN100538722C/zh not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9208374B2 (en) | 2012-11-27 | 2015-12-08 | Canon Kabushiki Kaisha | Information processing apparatus, control method therefor, and electronic device |
KR101484001B1 (ko) | 2013-11-20 | 2015-01-20 | (주)나노인사이드 | 지역 미세 패턴을 이용한 얼굴 영상 분석 방법 |
Also Published As
Publication number | Publication date |
---|---|
US7489803B2 (en) | 2009-02-10 |
GB0328736D0 (en) | 2004-01-14 |
GB2409028A (en) | 2005-06-15 |
DE602004002180T2 (de) | 2007-07-12 |
EP1542155B1 (en) | 2006-08-30 |
EP1542155A1 (en) | 2005-06-15 |
CN1627315A (zh) | 2005-06-15 |
CN100538722C (zh) | 2009-09-09 |
US20050129311A1 (en) | 2005-06-16 |
DE602004002180D1 (de) | 2006-10-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2005190477A (ja) | オブジェクト検出 | |
JP4381310B2 (ja) | メディア処理システム | |
JP2005174352A (ja) | オブジェクト検出 | |
US7421149B2 (en) | Object detection | |
JP2004192637A (ja) | 顔検出 | |
JP2004199669A (ja) | 顔検出 | |
JP2005174353A (ja) | オブジェクト検出 | |
JP2006508461A (ja) | 顔検出及び顔追跡 | |
JP2006508463A (ja) | 顔検出 | |
JP2006508601A5 (ja) | ||
JP2006508601A (ja) | ビデオカメラ | |
JP2006508462A (ja) | 顔検出 | |
JP4616702B2 (ja) | 画像処理 | |
US7302004B2 (en) | Content-based characterization of video frame sequences | |
US20080013837A1 (en) | Image Comparison | |
KR100660725B1 (ko) | 얼굴 추적 장치를 가지는 휴대용 단말기 | |
US20050128306A1 (en) | Object detection |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20080304 |