ガラスなどの半透明材料のセグメンテーション


11

ガラス状のオブジェクトのセグメンテーションに関する問題に完全に行き詰まっています。オブジェクトをできるだけ正確に取得する必要があります。私のアプローチは異なっていました。最初は、背景を削除して、一部の鋭い輪郭だけが残るようにしました。しかし、それは鋭いエッジ/グラデーションを持つオブジェクトに対してのみ機能します。それ以外の場合は、オブジェクト自体も削除されます。2つの異なる画像を投稿しました。

画像1 画像2

グレースケールの膨張やそれに対する分割などの形態学的操作によって背景を削除しようとしました。しかし、それはあまり役に立ちませんでした。その後、変更された背景をガラスの灰色と黒色の値から分離するために、k = 3のk-meansを試しました。それはいくつかのケースでは成功しなかったが、全体的/平均的には成功しなかった。また、全体的にぼかしたフィルターを使用してキャニーエッジ検出を実行しようとしましたが、これにより、輪郭が開いた形やノイズが多くなるなど、結果が低下します。

自動しきい値の結果を持つキャニー:

testimg = imread('http://i.imgur.com/huQVt.png');  
imshow(testimg)
imedges = edge(testimg,'canny');
imshow(imedges);

同じことが2番目の画像にも当てはまります。

キャニー出力#1 キャニー出力#2

ご覧のとおり、内側と外側に多くのノイズがあり、ガラス境界からのエッジが2重になっています。縁にも隙間があります。

したがって、これら2つの画像だけでなく、半透明のマテリアルのこの問題に対処するための一般的なアプローチを得るために、あなたのアドバイスが必要です。

1)オブジェクトを損傷することなく背景を削除するための他のアイデア?

2)オブジェクトを背景から分離するための他のセグメンテーション方法は?

可能であれば、Matlab、IPT、または統計ツールボックスのヒントを使用します。他のヒントも大歓迎です!

よろしくお願いします。心から


背景は常に同じですか?
内部石

ほぼ、少し暗い/明るいに異なります。
mchlfchr

1
まあ、それはより均一になって、スタートになり、すべての画像からバックグラウンドを差し引く:imgur.com/9WhcB
endolith

1
どういう意味ですか?ガラスのない背景の写真はありますか?
内部石

1
@DennisJaheruddinエッジが黒い線ではないことを知っています。エッジは、強度/周波数の変化として定義されます。これは、グレー値が多かれ少なかれ急速に変化することを意味します。それでも、文脈からわかるかもしれませんが、Cannyメソッドは、ここで選択する武器にはなりません。背景があるため、(Cannyを使用して)ノイズが多くなるためです。また、自動しきい値/シグマを予測することはできません。そのため、背景を除去する方法が必要ですが、オブジェクト自体は必要ありません。
mchlfchr

回答:


3

単純な2D FFT(ガシアン)ハイパスファイラーを使用しないのはなぜですか?

私はMATLABを使ってこれを本当に迅速に行いました

ハイパスFFTを使用したシャード#1:

http://i47.tinypic.com/rbjxnd.jpg

同じことが#2でも行われます。

ハイパスFFTを使用したシャード#2:

http://i45.tinypic.com/209kms0.jpg

ご覧のように、背景とガラス領域は消去され、エッジのみがトレースされます。私はそれに時間を費やしませんでしたが、HPフィルタリングされた出力にしきい値を設定して、よりくっきりとしたエッジにするか、HPカットオフを高くすることができます。

これはあなたが得ようとしているより多くの結果ですか?


1

これはすべての質問に答えようとするものではありませんが、「画像のクリーニング」については考えています。

あなたはすでに形態学的操作を試みたと言っていましたが、これはアイデアのバリエーションであり、うまくいけばアップグレードです。

この記事:A. Vichik、R。Keshet、D。Malah:木の半格子とアプリケーションの自己双対モルフォロジーは、より望ましい特性を追加できる方法で、古典的な形態学的演算子を強化する方法を提案します。

この記事では、望ましいプロパティに応じて画像の階層表現選択することを提案し、次に、その表現に対して侵食、膨張、開口部、トップハットなどの演算子定義する方法を提案します。彼ら自身の言葉で:

新しい形態学的演算子を生成するための一般的なフレームワークを提示しました(...)

この回答の 2番目の部分セマンティックアプローチ)で、これらの階層的なツリー型の構造について説明しました。これには、ここでリンクした記事(および繰り返し)で述べた極値-ウォーターシェッドツリーを追加できます。

操作は表現の望ましい特性を維持するため、これは(著者を引用して)「従来のグレースケール数学的形態」へのアップグレードです。あなたの階層表現が自己双対である場合などは、あなたの事業者が本当に自己双対になります(例えばと比較 -self-デュアル開閉ではありません再建によって本当に自己双対。)

リンクされた記事は、ノイズを除去するいくつかの結果示しています -記事(および記事で参照されている論文)の結果を必要なもの(少なくとも視覚的に)と比較し、それが開始する前に機能するかどうかを確認できますコーディングする。

したがって、最も単純な表現(max- / min-)ツリーを選択すると、古典的な操作が正確に得られますが、ニーズに最適な自己双対ツリーを選択すると、十分に堅牢なアプローチが得られる可能性があります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.