私は、YCrCb空間で定義済みのスキンモデルを使用して、スキンピクセルのセグメンテーションを使ってfacedetectionアプリケーションを開発しています。 私はこの報告書のアルゴリズムを大まかに基盤にしています。 http://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=767122&tag=1、Douglas ChaiおよびKing N.Nganによる。ノイズリダクションOpenCVスキン検出サンプル
まず、すべてのスキンピクセルをセグメント化します(左を参照)。 その後、ノイズを減らすためにいくつかの計算を実行します(下記の手順を参照)。元のサイズの8分の1のフィルタリングされたビットマップになります。理想的には、これは顔と背景の両方の領域でノイズのないものですが、そうではありません。私はすでに密度マップを使ってそれを減らそうとしていて、近隣の3x3エリアのピクセルをチェックし、隣人に応じてピクセル値を侵食/膨張させることでそれを減らそうとしました。次に、このビットマップのサイズを変更し、その結果を元のイメージのマスクとして適用します(結果の右のイメージを参照してください、私の検閲を無視してください)。
私の質問、どのような方法であなたがノイズを取り除くためにお勧めしませんか? また、より滑らかな輪郭を得る良い方法はありますか?理想的には、私は "最も大きい輪郭と洪水の詰め物を見つける"、より好ましくはもっと洗練されたものを使用するのは嫌です。
リサイズされたマスクが少しずれているようにも見えます(顔の右側に少し切れていて、左側に多すぎます)。これを引き起こす原因は何ですか?
はい、私はすでに異なる補間方法でresize()とpyrUp()を使用しています。これは、画像に示された結果を得るためです(INTER_CUBICはこれまで最高の結果を得ているようです)。私はドキュメンテーションを見ていましたが、これまでのところもっと良い選択肢は見つけられませんでした。とにかく、ありがとう。 – Hopploppa