1

私は、ユーザーが顔検出を行ってぼかすことができるようにする MATLAB プロジェクトに取り組んでいます。

使用される組み込み関数:

vision.CascadeObjectDetector

この関数の問題: 正面の顔しか検出しません。

私が試した方法: while ループで imrotate 関数を使用して、次数が 360 未満のときに画像を回転させます。毎回回転を 23 ずつ増やします。

短所: 機能しません。画像の空間解像度が変わります。

4

1 に答える 1

0

過去にいくつかの実験を行ったところvision.CascadeObjectDetector、デフォルトの正面顔モデルを使用すると、約 15 度の面内回転を許容できることがわかりました。したがって、一度に 23 度ではなく、15 度または 10 度ずつ画像を回転させることをお勧めします。

この場合、独自の検出器をトレーニングする際の問題は、基礎となる機能 (Haar、LBP、および HOG) が面内回転に対して不変ではないという事実です。方向ごとに 1 つずつ、15 度程度ごとに、複数の検出器をトレーニングする必要があります。

また、静止画と動画のどちらで顔を検出していますか? ビデオを見ている場合は、顔を追跡してみることをお勧めします。これにより、誰かの頭が傾いているために顔を見逃しても、後でそれを検出する機会が得られます。また、顔を検出すると、傾いていても追跡できます。このを見てください。

于 2014-11-19T16:12:32.437 に答える