【ZJU-機械学習】AdaBoostを利用したターゲット検出

ターゲットの検出とセグメンテーションにおける 3 つのタイプの問題

セマンティックセグメンテーション

ここに画像の説明を挿入します

ターゲットの位置特定と識別 (分類と位置特定)

ここに画像の説明を挿入します

物体検出

ここに画像の説明を挿入します

基本的な考え方

(1) 白い領域のピクセル値から黒い領域のピクセル値を引いた値。
(2) 各 FEATURE のすべての領域の長さと幅が一致しています。
(3) FEATURE は、(1) と (2) が満たされている限り、画像全体にわたって変換できます。
(4) この 4 つのフォームは取り外し可能です。

24*24 の画像の場合、Haar に似たすべての特徴の数は約 200,000 です。
ここに画像の説明を挿入します
過剰な計算の問題を解決するために、Viola and Jone, Robust Real-Time Face Detection, International Journal of Computer Vision 57(2), 137–154, 2004 は、面積を加算と減算に変換する変換方法を提案しました。ポイント、
ここに画像の説明を挿入します
ここに画像の説明を挿入します

ここに画像の説明を挿入します
画像(D) = 積分(4)+積分(1)-積分(3)-積分(2)

分類子の構築

人間の顔 (約 6,000) と人間以外の顔 (70,000) をトレーニング サンプルとして取得します。
ここに画像の説明を挿入します
ここに画像の説明を挿入します
ここに画像の説明を挿入します

このステップを通じて, 画像, 特徴, 閾値と p がトレーニング用に与えられ, すべての f (200,000 個の特徴) を取得できます. 各特徴 f に対して, h がトレーニングされるように最適な閾値と p が必要です. 認識率はセットの中で一番高い。これから、特徴ごとに弱分類器を作成し、以下の特徴選択に Adaboost を使用します。

AdaBoost アルゴリズムを使用した特徴選択

1. まず、データセット D 内で最も精度の高い特徴 (F1 で表される) を選択します。
2. データセット D を 2 つのカテゴリ、{F1 正しく分類されたデータ} と {F1 誤って分類されたデータ} に分割します。
3. F1 がより高い確率で間違っていると分類されたデータと、より低い確率で F1 によって正しいと分類されたデータを取得して、新しいセット D2 を形成します。
4. D2 で最も精度の高いフィーチャー (F2 で表される) を選択します。
5. D を次のように分割します: {F1 と F2 が両方とも正しく分類されたデータ}、{F1 が正しく分類されたが F2 が誤って分類されたデータ、および F1 が誤って分類され、F2 が正しく分類されたデータ}、{データここでは、F1 と F2 の両方が誤って分類されています。}
6. {F1 と F2 の両方が誤って分類されたデータ} を最大の確率で取得し、{F1 は正しく分類されているが F2 が誤って分類されているデータ、および F1 が誤って分類され、F2 が正しく分類されているデータ} を取得します。次に高い確率、最小の確率で{F1とF2が正しく分類されたデータ}F1とF2をデータの
ペアに分割し、データセットD3を取得します。D3 では F3 で表されます。サイクルなど。
8. 各特徴の線形結合を使用して分類器を構築します。

最後に、人間の顔を特徴付​​けることができる Haar 特徴が取得されます。
ここに画像の説明を挿入します

AdaBoost の顔検出プロセス:

1. 画像内で、24 * 24 グリッドの走査ごとに分類子を使用し、それが顔の場合はそれを出力します。
2. 画像を縮小し、長さと幅を 1.2 で割って、分類器を使用して各 24 * 24 グリッドを走査します。人の顔の場合は位置座標を1.2倍して元の画像に拡大します。
3. 画像の長さまたは幅が 24 ピクセル未満になるまで手順 2 を繰り返します。

ヒント: AdaBoost を使用してトレーニングされたモデルの場合、トレーニングに使用された角度のみが検出時の識別に使用できます。マルチアングル認識の場合、複数のポーズ顔 AdaBoost 分類器を構築でき、ツリー カスケードの後に​​マルチポーズ顔検出器を取得できます。
ここに画像の説明を挿入します

おすすめ

転載: blog.csdn.net/qq_45654306/article/details/113806590
おすすめ