Xmeans法を利用した自動画像分類プログラムです。
深層学習との連携や各種特徴量を指定できます。
本プログラムはPythonですので実行環境が必要です。
- このgitをクローンする
- クローンしたフォルダ内で
pip install -r req.txtで依存モジュールをインストールする。(初回のみ) - 深層学習との連携機能を使用する場合
Pytorchtimmも導入する。pytorch.org
このプログラムはコマンド上で動作します。 対応する画像は、PNG,JPEG,BMP形式です。
optional arguments:
-h, --help show this help message and exit
-f FOLDER, --folder FOLDER
データのあるフォルダ。
-fe {all_BGR,CLR_all_gray,CLR_H_HLS,CLR_H_HSV,CLR_AB_LAB,CLR_UV_LUV,CLR_UV_YUV,ML_deepL,ML_Laplacian,ML_hog}, --Feature {all_BGR,CLR_all_gray,CLR_H_HLS,CLR_H_HSV,CLR_AB_LAB,CLR_UV_LUV,CLR_UV_YUV,ML_deepL,ML_Laplacian,ML_hog}
特徴量は上記から選んでください。 デフォルト : CLR_UV_YUV
-dr DIMENSION_REDUCTION, --dimension_reduction DIMENSION_REDUCTION
次元削除を行い処理を高速化します。 小さい数値ほど高速になりますが意図しない結果になる場合もあります。 0で無効 デフォルト : 64
-c MAX_CLUSTERS, --max_clusters MAX_CLUSTERS
最大クラスタ数。自動が細かすぎる場合値を小さくすると良いです。デフォルト : -1(自動)
-a, --analyze シルエット分析による分析結果を出します。処理が重くなります。
-m, --move コピーの代わりに移動にする。
-log, --logging 転送ログを保存するpython .\main_class.py -h にも同様の説明があります。
現在10種類の特徴量を選ぶことができます。分類するデータによっていろいろ試してみてください。
| キー | 説明 | 備考 |
|---|---|---|
| all_BGR | BGR色空間のうち全チャンネルを使う | 大まかに分類 |
| CLR_all_gray | グレースケールデータを利用する | 大まかに分類 |
| CLR_H_HLS | HLS色空間のうちHチャンネルを使う | 色で大まかに分類 |
| CLR_H_HSV | HSV色空間のうちHチャンネルを使う | 色で大まかに分類 |
| CLR_UV_LUV | LUV色空間のうちU,Vチャンネルを使う | 色を重視した分類 |
| CLR_UV_YUV | YUV色空間のうちU,Vチャンネルを使う | 色を重視した分類 |
| CLR_AB_LAB | LAB色空間のうちA,Bチャンネルを使う | 色を重視した分類 |
| ML_deepL | 学習済みEfficientNet b0を使う | 画像の内容に合わせた分類 |
| ML_Laplacian | ラプラシアンフィルタを使う | 構造を重視した分類 |
| ML_hog | HOG特徴量を使う | 構造を重視した分類(ベクトル要素あり) |
シルエット分析法による分類の可視化とデータの散布図を出力できます。
計算時間はかかりますが、クラスタリングの指標になります。
