2017-11-28 7 views
-3

SKLearnで画像を分類したいと思います。 Pythonを使用して、私はディスクから画像を読み込み、適応型閾値処理によって背景を「取り除く」。また、オブジェクトからの平均色(背景なし)と全ピクセルと平均色との間の標準偏差を計算します。 閾値処理された画像、平均色および標準偏差は、私の特徴抽出の結果であり、類似の画像を分類するために、それらの特徴を有するすべての画像に対してクラスタアルゴリズムを実行したい。SKLearnのK-Meansによる画像行列の処理

しかし、the KMeans functionは、単一のオブジェクトが画像を表示する、

  • マトリックスを有する代わりに、私のデータのクラスタ化される各オブジェクトの特徴ごとに単一の値を持つ一次元アレイを、受け入れるように思われます(r、g、b、)(r、g、b)) ((r、g、b))平均色のR、G、B)))

  • ベクター: (R、G、B)

  • 各色側面用STDVを有するベクター: (R、G、B)

私は二つのベクトルを持っていた場合、私は6つの機能、など (rにそれらを区切ることになります、 g、b、r2、g2、b2)である。しかし、行列は100x100で、これは私に10.000の追加機能をもたらしますが、それは答えにはなりません。

問題の解決方法や、抽出した機能を使って画像を分類する他の方法のガイドをお聞きしたいと思います。 ありがとうございます!

答えて

0

はい、データを変更する必要があります。そして、100x100x3の画像では30000の特徴が得られます。

KMeansは、次元の呪いのために、このようなデータにうまく機能しない傾向があります。

適切な低次元表現のフィーチャを抽出する必要があります。数年前、その答えは「ビジュアルワードの袋」でした。今では「深い学習」です。分類出力レイヤではなく、最後のレイヤの1つをフィーチャとして使用します。