5

イメージセグメンテーションは初めてですが、マシンラーニングクラシファイアのデータベースを手に入れる必要があります。挑戦的なイメージセグメンテーション:バックグラウンドとオブジェクトが似ている

基本的に私はこのイメージと同じビデオを持っている:

Cow with a rectangle

私の仕事は、フォアグラウンドで牛を識別するか、または少なくともまったく牛です。私は閉塞の問題があることを認識していますが、初心者のために、周囲に赤い矩形が描かれているような、孤独な牛を正しく分割したいと思います。このような少ない困難な問題で

、Iは、背景のオブジェクトまたは(255,255,255)が(0,0,0)のいずれかとなることが、画素毎に閾値を加えることによって区別:

Megasteak

次に、ピクセルを同じ値にラベル付けして、クラスを取得し、十分な大きさの「ブロブ」の矩形を取得します。オブジェクトや背景として機能しません。このアプローチ上の画像の場合

は似ています+などの影、サイド照明がたくさんありますので、私はそれにアプローチするかどうかはわかりません。どんな提案も大歓迎です。

+0

あなたはエッジ検出器を使用することを検討していましたか? –

+1

セマンティックセグメンテーションを調べる必要があります – Shai

+0

非常に難しい問題です。あなたは大きなトレーニングシステムを作り、深い学習をするために多くのイメージを持っていますか? –

答えて

0

私は2枚の写真を撮ろうとします。牛のない「静的な」背景の1枚の写真と、牛のある第2の写真。次に、それら2つの画像を減算することができます。私はあまりにもPythonに精通していませんが、imagemagickは簡単に違い画像(http://www.imagemagick.org/Usage/compare/)することができます。理想的には、「差分」画像は牛を分離する。そこから...助け

希望を空想取得し、など様々なエッジ検出アルゴリズムを試すことができます。

1

私は、これは古いスレッドです実現が、私はこのような問題のためのアプローチを提案したいと思います。

芝生の背景には、牛は異なる質感を持っているとしてあなたは、テクスチャベースのセグメンテーションを試すことができます。

は、画像に対するテクスチャエネルギーの特徴は、法律の手法に従って定義されているthis linkを見てみましょう。

ここでは、Pythonの法律技法の実装について説明します。これは、イメージ内の異なる特徴、例えばエッジ、リップル、ブロブおよびそれらの組み合わせを抽出するために使用される2Dカーネルを定義することによって機能する。以下の関数は9つの画像を返します。そこからテクスチャ特徴を抽出することができます。

def laws(array): 

    # Define the 1D kernels 
    L5 = np.array([1,4,6,4,1]) # level 
    E5 = np.array([-1,-2,0,2,1]) # edge 
    S5 = np.array([-1,0,2,0,-1]) # spot 
    R5 = np.array([1,-4,6,-4,1]) # ripples 

    # Generate 2D kernels 
    L5E5 = np.outer(L5,E5) 
    E5L5 = np.outer(E5,L5) 

    L5R5 = np.outer(L5,R5) 
    R5L5 = np.outer(R5,L5) 

    E5S5 = np.outer(E5,S5) 
    S5E5 = np.outer(S5,E5) 

    S5S5 = np.outer(S5,S5) 

    R5R5 = np.outer(R5,R5) 

    L5S5 = np.outer(L5,S5) 
    S5L5 = np.outer(S5,L5) 

    E5E5 = np.outer(E5,E5) 

    E5R5 = np.outer(E5,R5) 
    R5E5 = np.outer(R5,E5) 

    S5R5 = np.outer(S5,R5) 
    R5S5 = np.outer(R5,S5) 


    return (0.5*(correlate(array, L5E5) + correlate(array, E5L5)), \ 
      0.5*(correlate(array, L5R5) + correlate(array, R5L5)), \ 
      0.5*(correlate(array, E5S5) + correlate(array, S5E5)), \ 
      correlate(array, S5S5), \ 
      correlate(array, R5R5), \ 
      0.5*(correlate(array, L5S5) + correlate(array, S5L5)), \ 
      correlate(array, E5E5), \ 
      0.5*(correlate(array, E5R5) + correlate(array, R5E5)), \ 
      0.5*(correlate(array, R5S5) + correlate(array, S5R5))) 
+0

何年も前に見たことがありません... –

関連する問題