単一クラス物体検出 (One-class Object Detection) [古典的][顔検出・歩行者検出]

1. 単一クラス物体検出(One-class Object Detection) とは [概要]

単一クラス物体検出(One-class Object Detection)とは,1つのクラスだけに検出対象を絞って学習する,古典的な物体検出モデルである.より具体的には,初期の機械学習ベース物体検出手法である「Viola-Jonesの顔検出(3.1節)」と「Dalal-Triggsの歩行者検出 [Dalal and Triggs, 2005] (3.2節)」のような,固定サイズ窓領域内から計算した手作り画像特徴量ベクトルを,機械学習モデルで2クラス識別(物体 or 背景)を行う手法のことを,このサイトでは単一クラス物体検出と呼びたい.

この記事では,単一クラス物体検出の定義・概要を述べ(2節),その代表例「顔検出」,「歩行者検出」の概略を紹介する(3節).最後に,次の世代の「複数クラス検出問題(Pascal VOC 2007以降の時代)」へ向かう上で,「単一クラス物体検出モデル」にあった課題や限界点について述べる(4節)

各節の内容はやや古典的であるので,画像認識(機械学習プロフェッショナルシリーズ)ディジタル画像処理などの,既刊の定番テキストで詳しく学べる.よって,この記では,単一クラス物体検出という独自のカテゴライズ方法を通して,物体検出の歴史の見通しが良くなってもらうことを主目的とする(そもそも古い技術であるので,各手法の詳細までは述べない).

より長い時間範囲からみた,単一クラス物体検出世代の位置づけについては,以下の親記事(2節)を参照のこと.

1.1 記事の構成

  • 2節: 古典的なテンプレートマッチング
  • 3節: 単一クラス物体検出
    • 3.1 節: 初期の顔検出モデル(Viola-Jones)
    • 3.2節: 初期の歩行者検出モデル(Dalal-Triggs)
    • 3.3節: Boostingによる歩行者検出モデルの発展
  • 4節 単一クラス検出モデルの課題と限界

物体のバウンディングボックスの窓全体に対して,グローバルな1モデルのみ学習する

もっと言えば,Deformable Part Models(DPM) [Felzenszwalb et al., 2008] 登場以前の手法を紹介する(3節,4節).DPM登場後にパーツモデル化されて発展した顔検出や歩行者検出については述べない(※).

※ その後,DPMを提案したRamananらの研究室は,その後DPMを応用して,顔パーツ検出モデルや人物姿勢推定モデル(かつ人物検出モデル)も登場させた.それらまで取り上げると,記事を短くおさめづらくなるため,この記事では取り上げない.

2. 古典的なテンプレートマッチング

古典的なマシンビジョンでは,剛体を検出対象としたテンプレートマッチング(Template Matching)と呼ばれる,物体検出方式だけが,まず実現して実用的に使われていた.テンプレートマッチングでは,検出対象物体に対してテンプレート画像を用意し,画像内の探索範囲内中でテンプレートと対象のあいだで相関マッチングを各候補位置で行う『スライディングウィンドウ処理』をおこない,その結果,テンプレート画像と類似度の高かった領域を物体検出結果として出力する方式である.テンプレートマッチングは, 畳み込みを用いた空間フィルタリングと似た技術である.また,スライディングウィンドウを用いた処理手順同士である点も,両者は共通している.ただ,テンプレートマッチングでは,各ウィンドウ位置で,主に相互相関を用いて,テンプレートとの類似度合いのピークを探すのが,畳み込みとは裏返しの

テンプレートマッチング方式は「外観検査」のように,画像の背景が単純な単色で,検出対象も「剛体的」であり,検出対象の物体以外の背景領域に,外乱やノイズが少ない条件設定において,威力を発揮しやすい.その一方で,日常の風景画像や,動画に映る数多くの一般物体を検出対象にしようとしても,人や物の周囲には背景も撮影されていてその背景変化も複雑である.検出したい対象物体も,視点・照明などによって外見(Appearance)の変化も大きい.よって,テンプレートを複数用意した程度では,日常画像からの物体検出が実現できなかった.

特に「人 / 顔 / 猫」クラスなどの『関節自由度(articulation)=姿勢の変化』によって画像上の外見が変化する「動物系のクラス」を,テンプレートマッチング技術だけでうまく検出することは困難であった(逆に言うと剛体形状のクラスは,古い技術だけでも,ある程度のレベルで検出できるといえる).

3. 単一クラス物体検出

2節で述べたようにテンプレートマッチングでルールベース的に物体検出は解いていたが,そこに2000年頃,機械学習・パターン認識を初めて応用した単一物体クラス検出モデルが登場し,顔検出の初期モデル「Viola-Jonesの手法(3.1節)」と歩行者検出の初期モデル「Dalal-Triggsの手法(3.2節)」が,それぞれ誕生した.

限定的なクラスや姿勢・視点(特に,「正面から見た外見」「正面顔など,画像上で3D的に変化しづらいパーツ」)に対しては,実画像で物体検出できるようになり始める.ただ,昨今の物体検出ネットワークのように,多数の物体なんでも検出できたりはしない.

単一物体クラス検出モデルでは,意味的な1クラスのみを検出物体の対象とする.画像上にアノテーションした,固定サイズのバウンディンボックス(BBox)領域内の局所画像が,「物体(クラス1) or 背景(クラス0)」のどちらなのかについて,HOGなどの手作り特徴を入力とした2クラス識別器(SVM,Adaboostなど)を学習する.そして,テスト時にはスライディングウィンドウの各位置で密に,毎回クラス識別を行う.

3.1 顔検出器:Viola-Jones の顔検出モデル

2001年に,Viola-Jones [Viloa and Jones, 2001]による高速な顔検出モデルが登場した(Wikipedia: Viola-Jones object deteciton framework – Wikipedia ).スライディングウィンドウにより各窓位置を顔かどうか識別する際に,AdaBoostで学習した「弱識別モデル群のカスケード」で2クラス識別する.この際,学習時にAdaboostで学習中に特徴選択された,窓中のサブ領域内のHaar-Like特徴を用いたラフな弱識別モデル群を,カスケードモデル化したものである.

当時のデジタルカメラの性能でも,実時間での物体検出を初めて可能とした.これにより,リアルタイム性を達成できていなかった当時の物体検出(顔検出だけであるが)に,パラダイムシフトをおこした.

Viola-Jonesの登場や,デジカメなどの実際の製品への実装をきっかけとして,顔検出の産業応用のブームがはじまった.また,これに次ぐ形で,顔以外のクラスを対象とした「単一物体クラス検出」の研究も盛んとなった.

3.2 歩行者検出:Dalal-Triggs の歩行者検出モデル

2005年には,マルチスケールの歩行者検出手法の当時の決定版としてHOG (Histograms of oriented gradients) 特徴ベクトルと,Support Vector Machines (SVM)を用いた,初めての本格的な歩行者検出 手法が HOG+SVM [Dalal and Triggs, 2005] が登場した (Histogram of oriented gradients – Wikipedia  ).

スライディングウィンドウさせた各位置の[縦128×横64]の窓内において,HOG特徴量ベクトルを計算して結合した窓ベクトル表現を用いて,SVMにより「歩行者 or 背景」の2クラス識別を行う.

3.3 Boosting + 積分チャンネル特徴群 による歩行者検出の発展.

[Viloa and Jones, 2001] に代表される,Adaboostなどを応用した『Boostingベースの物体検出器』は,特徴選択により速度向上と精度向上を両立させやすい.よって,顔検出以外に,歩行者検出でもこの路線が有効活用され発展していった.この路線は,ディープラーニングのブーム直前の時期に,積分チャンネル特徴群(Integral Channel Features, ICF) [Dollar et al., 2009] という,高速・高精度な手法まで発展した (Wikipedia: Integral channel feature).

積分チャンネル特徴群 [Dollar et al., 2009]では,「積分画像」による高速計算と,「BoostingによるHarr-Like特徴選択(3.2節)の発想」を組み合わせた手法である.各色チャンネル画像とエッジチャンネル画像から,各弱識別モデルで必要な軽量特徴のみを選択することで,高速でありながら当時最高精度の歩行者検出モデルが提案された.

4. 単一クラス検出モデルの課題と限界

3節の「顔検出」 「歩行者検出」の2問題が,当時の物体検出では活発に研究されていたが,いずれも「固定の縦横アスペクト比の物体検出器しか学習できない」という欠点・課題を持っていた.

Pascal VOC 2007が新たに登場したことで,当時の最先端の研究者は,顔・歩行者以外の物体クラス20種類( 飛行機,電車,犬,自転車,馬,バイクなど)へも物体検出を試みはじめていた.しかし,それらの物体クラスでは,各1クラス内でも,BBoxの縦横アクペスト比が,撮影視点(View)ごとにバラバラになりやすく,また,四肢のパーツ移動が大きいなどの課題もあり,「単一物体クラス検出」の戦略では,あまりうまく物体検出できないでいた.

次の世代には,パーツ検出器を活用したDPMが登場し,初めて「顔・歩行者以外の様々な物体クラス」も検出できるようになりはじめた.DPMは「パーツモデル + Pictorial Structures 」によりクラス内での画像の見えかたのバリエーションを,「各パーツの2D移動のバリエーション」として表現した.

これにより,(※ DPM登場後に改めて見直すと)パーツ移動のモデリングがなかった「単一クラス物体検出」ではうまく解けなかった,「Pascal VOC 2007 の,各クラス物体の豊富な見えかたの変化」に対応できるようになった.

5. まとめ

ディープラーニング登場以前の物体検出手法を,「単一クラス物体検出」という名前でまとめて,全体像を俯瞰した.この世代の代表的手法は,「Viola-Jonesの顔検出(3.1節)」と「Dalal-Triggsの歩行者検出(3.2節)」,「積分チャンネル特徴群(Integral Channel Features)による歩行者検出(3.3節)」などであることを紹介したうえで,これらをまとめて「単一クラス物体検出」と名付けて歴史分類することを提案した.

単一クラス物体検出は,スライディングウィンドウを用いる.各位置の固定窓サイズにおいて「窓内の画像特徴 × 識別モデル(SVMやBoostingなど)」 の組み合わせで,2クラス識別を行う戦略である.当時はDPMのような「パーツ移動のモデリング」がまだなかったので,「顔」や「歩行者」のように,窓内で検出対象がある程度位置合わせされている対象しか,高精度な検出器を学習できなかった.

単一クラス物体検出が登場する以前は,そもそも「機械学習モデルで安定して物体検出できる手法が存在しなかった」時代であったので,顔検出と歩行者検出の初達成(2000年代前半)は,コンピュータビジョンでは画期的なできごとであった.

関連書籍

References

  • [Dalal and Triggs, 2005] N. Dalal and B. Triggs. Histograms of oriented gradients for human detection. In CVPR, 2005.
  • [Dollar et al., 2009] Piotr Dollar, Zhuowen Tu, Pietro Perona, and Serge Belongie. Integral channel features. In BMVC, 2009.
  • [Felzenszwalb et al., 2008] P. Felzenszwalb, D. McAllester, D. Ramanan, A Discriminatively Trained, Multiscale, Deformable Part Model. In CVPR, 2008.