1

ビデオを前景と背景に分割しようとしています。私のビデオには主に顔があると仮定して、顔検出器から始めて、顔検出器内のすべてのピクセルを、おそらく GrabCut の前景シードとして使用します。

問題は、顔が確実に存在するにもかかわらず、(数フレームで) 顔検出器が顔を検出しない場合があることです。特に、ユーザーが画面から目をそらし、顔の横顔が見える場合。

これに対する解決策はありますか?

同様に私の頭に浮かんだ明白な答えは、サイド プロファイルの Haar Classifier を使用することでしたが、どうすれば両方を融合させることができるでしょうか? ある意味で、いつでも顔の正面または側面のプロファイルのいずれかを持っている必要があります (またはまったくない)。

検出された顔に何らかの関連する信頼値があるかどうか疑問に思っていたので、カスケードからの検出を使用して、より信頼性の高い検出を行うことができます。

4

1 に答える 1

0

CascadeClassifier::detectMultiScale() の (文書化されていない) オーバーロードがあります。

virtual void detectMultiScale( InputArray image,
                               CV_OUT std::vector<Rect>& objects,
                               CV_OUT std::vector<int>& rejectLevels,
                               CV_OUT std::vector<double>& levelWeights,
                               double scaleFactor,
                               int minNeighbors, int flags,
                               Size minSize, Size maxSize,
                               bool outputRejectLevels ) = 0;

rejectLevels は、探している信頼値である必要があります

于 2014-07-08T12:05:23.207 に答える