はじめに
画像を「写っているもの」ではなく、「色」という特徴でどれほど正確なクラスタリングができるか複数の条件下で試行しました。
データセット
以下のデータセットからそれぞれ300枚ずつ、無作為に選び使用しました。
- Deep Fashion
- 17 Category Flower Dataset
- Banana image dataset
- laboro_tomato
手法
階層型クラスタリングであるWard法と、非階層型クラスタリングであるK-means法により画像をクラスタリングし、結果を比較しました。
服と花の画像のクラスタリングでは、クラスタ数を3, 4, 5 と変化させ実験しました。
バナナとトマトの画像では、「熟している」「熟していない」でクラスタリングするため、クラスタ数を2としました。また、トマトの画像には背景に緑色の領域が多かったため、色を白・黒・赤の3色に変換した画像でのクラスタリングも試しました。
また、どのデータセットでも「背景を処理した画像」を用意し、背景の有無で結果が変化するか比較しました。
結果
背景未処理の画像
- K-means法
- Deep Fashion
K = 5の場合のみ、赤と青の服をクラスタリングできた - 17 Category Flower Dataset
K=4の場合のみ、オレンジ色の花だけがクラスタリングできた - Banana image dataset
熟したバナナと未熟なバナナにクラスタリングできた - laboro_tomato
背景に緑色(葉)が多く、うまくクラスタリングできなかった
- Deep Fashion
- Ward法
- Deep Fashion, 17 Category Flower Dataset
Kがどの場合もうまくクラスタリングできなかった - Banana image dataset, laboro_tomato
K-means法と同様の結果となった
- Deep Fashion, 17 Category Flower Dataset
背景を処理した画像
画像から背景を取り除きクラスタリング しました。なお、Banana image dataset では画像にバナナしか写っていなかったため、この条件下でのクラスタリングは行いませんでした。
- K-means法
- Deep Fashion
K = 3, 5:赤い服
K = 4:赤い服と青い服
をクラスタリングすることができた - 17 Category Flower Dataset
K = 3:紫の花と黄色の花
K = 4:紫の花
K = 5:紫の花、黄色の花、オレンジの花
をクラスタリングすることができた - laboro_tomato
熟したトマトと未熟なトマトにクラスタリングできた
- Deep Fashion
- Ward法
- Deep Fashion
K = 3:赤い服
K = 5:赤い服と青い服
をクラスタリングすることができた - 17 Category Flower Dataset
K = 4:紫の花、黄色の花、白の花
K = 5:紫の花とオレンジの花
をクラスタリングすることができた - laboro_tomato
K-means法と同様に、熟したトマトと未熟なトマトにクラスタリングできた
- Deep Fashion
「色」を加工したトマト写真のクラスタリング
背景は削除せず画像の色空間をHSVに変換し、白・黒・赤の画像に加工してクラスタリングを行いました。
※ HSV色空間:「色相(Hue)」「彩度(Saturation)」「明度(Value)」の3つの組み合わせで色を表現する手法
- 加工後の画像
この方法では、色を完全に変換することができず、クラスタリングはうまくいきませんでした。
考察
本研究では、教師なし学習を用いて色によるクラスタリングを行いました。その結果、K-meansやWard法によるクラスタリングは、「分類したい対象物のみ」が画像の中にあれば、画像を分類できることがわかりました。
服や花の画像のクラスタリングがうまくいかなかった原因として、以下のことが挙げられます。
- 肌色や髪色の影響を受ける
- パンジーのように複数の色を持つ花により、分類が複雑になっている
また、精度についてはK-means法やWard法によるクラスタリングの精度をどのようにして求めればよいのかが分からなかったため、主観的なものとなっています。