3

次のアルゴリズムを使用して肌の色を検出していますが、さまざまな照明条件では実際にはうまく機能していません。誰かがそれを改善する方法やより良いアプローチを提案する方法をアドバイスできますか

R > 95 AND G > 40 AND B > 20 AND
max{R, G, B} – min{R, G, B} >15 AND
|R – G| > 15 AND
R > G AND R > B
OR
R > 220 AND G > 210 AND B > 170 AND
|R – G| <= 15 AND
R > B AND G > B

http://softexpert.wordpress.com/2007/10/17/skin-color-detection/

乾杯

4

5 に答える 5

6

与えられたアルゴリズムは、単純な色ベースのしきい値処理です。これは、非常に基本的な条件のセットに対してのみ機能します。いくつかの写真では、それは本当に良い結果をもたらすかもしれませんが、一般的な検出器としては悪い結果をもたらします。

最初の攻撃ラインは、照明に対して不変の別のカラーモデルに切り替えることです。実際、あなたが与えるリンクはこれを明示的に言っています!たとえば、HSI。個人的には、L * a * b *で何かをしたいのですが、RGBからの変換の実装はもっと難しいでしょう。

たとえば、孤立したピクセルをスキンにすることはできません。

于 2010-12-18T13:51:07.420 に答える
4

肌の色のモデリングには多くの方法があり、それぞれに長所と短所があります。

目的に応じて選択してください。これらの調査を見てください:

V. Vezhnevets、V。Sazonov、A。Andreeva ピクセルベースの肌の色の検出技術に関する調査。Proc。グラフィックオン、2003年

P. Kakumanu、S。Makrogiannis、N.Bourbakis。肌の色のモデリングと検出方法の調査。パターン認識、2007年

于 2010-12-16T08:02:00.567 に答える
3

クロミナンスコンポーネントを使用して、画像の肌の色調の領域をすばやく取得しました。

完璧ではありませんが、迅速で汚いアプローチが必要な場合は問題ありません。

この論文は、ダグラス・チャイによって「テレビ電話アプリケーションで肌の色の地図を使用した顔のセグメンテーション」と呼ばれています。これはかなり古いアプローチです(1999)。残念ながら、紙自体はペイウォールの背後にありますが、アプローチはかなり単純です。

  • CbとCrの範囲を使用して、肌の色が変化する可能性のある領域を検出します
  • 画像をクリーンアップするためのモルフォロジー操作
  • 標準偏差を使用して、背景(低)と前景(高)をさらに分離
  • 画像をさらにクリーンアップするためのいくつかの形態学的操作
  • 結果を生成するための輪郭再構成(滑らかな曲線)
于 2010-12-23T09:28:49.353 に答える
3

RGBを使用している場合、照明(輝度)に問題が発生します。肌の色の検出に対処する最良の方法は、YCbCr組成です。輝度Cbの場合はY、クロミナンスの場合はCr。それぞれがRGBカラーの加重表現として表現されます。ただし、肌の色を識別するために使用するのはCbとCrのみです。分析に明るさを必要としないため、Yは破棄されます。したがって、RGBの代わりにYCbCrを使用してください。私が助けてくれたことを願っています!

于 2013-03-26T08:14:20.737 に答える
2

顔の追跡に関するGaryBradski(OpenCVの作成者)の論文からの画像の色相と彩度チャネルのみを使用して構築された色ヒストグラムを使用する方法を推奨した、堅牢な手の検出に対する私の回答を参照してください。メソッドの概要と、皮膚領域を検出する方法に関するサンプルコードへのリンクが含まれています。

この方法はシンプルですが、ノイズや照明の変化に対してかなり堅牢であり、さまざまな肌の色を検出することができます。機械学習は必要ありません:)。

于 2011-12-22T05:52:18.187 に答える