2012-01-05 4 views
1

私は人間の画像をキャプチャし、別の服を選択してその服を着て瞬時に自分の虚像を見ることを許可する仮想衣服というアプリケーションを構築しようとしています。エッジ検出に関する資料はどこにあり、バーチャルワードローブアプリケーションに適していますか?

私はこのアイデアの仕方について多くの知識がありません。私はいくつかの資料を読んで、いくつかのエッジ検出アルゴリズムを見つけました。

ソーベルは速いが非常に効率的ではないようだが、キャニーはより良いが遅い。 グラデーションベース、ラプラシアンなどの他のアルゴリズムがいくつかありますが、それらについてはあまり考えていません。

これらのアルゴリズムを詳細に理解するのに適したコース教材はありますか? また、このアプリケーションには、より高速ではあるが効率が低かったり、速度は遅く、効率的なアルゴリズムを使用する方が良いでしょうか?

私はこれについて多くの知識を持っていないので、どんな助けもありがとうございます。

ありがとうございます。

+0

通常、Cannyは非常に高速であるとみなされます。あなたはどんなスピードですか?また、ソーベルは、通常コーナー検出器として使用されます。それに関して、あなたは大丈夫? – Oli

+0

私が構築しようとしているアプリケーションは、速度よりも正確さが必要です。私は人間の体を投影しようとしており、さまざまな服を実際に試してみることができます(特定のタイプの服装と色を選択すると、その服装で自分の虚像が見えます)。 –

+1

その人の写真から、写真のどの部分が人であるのかを特定し、その部分に衣服をつけたいのですか?私はあなたがエッジ検出以上のものを必要とすると思います。まず、人物が背景と十分に違って見える場合は、「イメージセグメンテーション」が機能します。しかし、それらがより複雑な部屋で撮影された場合は、より洗練されたものが必要になるかもしれません。たぶんこれ:http://stackoverflow.com/questions/2188646/how-can-i-detect-and-track-people-using-opencv – dranxo

答えて

0

他のすべてのコンポーネントがあるかどうかはわかりませんが、エッジ検出のみを使用すると多くの場合うまく機能しない可能性があります。ここでは、それらを有用見つけるかもしれない可能な方向/技術である:

  • foreground detection:検出画像の一部は、あなたの背景が単純ではない場合、これは純粋なエッジ検出よりも良い仕事かもしれません、ユーザーです。
  • face detection:画像のどの部分がユーザーの顔であるかを検出します。これは、布、特に、ユーザーにフィットすることができます。サングラスや帽子用。
  • skin color model:顔検出の基本的な代替手段として使用できます。
  • object tracking:入力がビデオの場合は、オブジェクト追跡技術を利用して他の検出プロセスを高速化することもできます。

また、人の姿勢認識や視線追跡などの他の手法も考えられますが、これらは上記の項目より複雑です。

0

私はあなたに1つの解決策を提案できます。いろいろな服装の画像がある場合、それらをターゲット画像とみなし、ターゲット画像の顔をソース画像の顔、つまりユーザーと置き換えます。そのためには顔の置換アプリを作成する必要があります。ソース画像内で顔を検出したい場合は、まず顔検出を行ってから、ソース画像から顔の境界を取得します。このためには、さまざまなアルゴリズムを使用することができます。そのうちのいくつかを提案しています。

  • Canny Edge Detectionとそれに続く最も長いエッジ検出。
  • スキンカラースレッシュホールド、続いて縮小アルゴリズムおよび拡張アルゴリズム。
  • 適応動的輪郭モデル(スネークアルゴリズム)

あなたは結果が速い肌の色の閾値化のために行くかどうキャニーは、少し遅いです。 正確な結果を得るには、Snake Algorithmを使用できます。スネークアルゴリズムは、顔に影が入っていても顔の境界を検出するのに便利です。

Read detecting face boundary using Canny Edge Detection

関連する問題