Pattern Maker
服のデザイン画像(平絵)を読み込んで、アイテム分類を行うプロトタイプを作成しました。
Flaskアプリで画像をアップロードすると、CNNモデルが「ジャケット」「ワンピース」などのラベルを返します。
💻 GitHubリポジトリはこちら: pattern-maker-prototype-image-input
※『パターンを作成』は構想段階です。現在はトップページに戻る仕様になっています。
実行方法(参考)
※本プロジェクトのコードは教材部分を削除しており、現状では実行できません。
実行するには、教材コードを補完し、学習済みモデルを用意する必要があります。
- 仮想環境を作成してライブラリをインストール
-
python _app.py
を実行 - ブラウザで http://127.0.0.1:5000 にアクセス
- 画像をアップロードして分類を確認
- 学習済みモデルや大きなデータファイルは含まれていません。
ローカル環境で実行するには、
画像ダウンロードとモデルトレーニングをコマンドで実行する必要があります。 - 本プロジェクトはプロトタイプです。
必要環境
- Python 3.x
- TensorFlow / Keras
- Flask
- PIL, numpy
学習教材
Teckpit教材「TensorFlow・Keras・Python・Flaskで作る機械学習アプリ開発入門」
- 教材で学習後、発展版として平絵のアイテム分類を行うプログラムを作成
- 教材からの流用部分は著作権保護のため削除しており、このコードをダウンロードして動かすことはできません。
制作背景
- 最終系としてデザイン画からトワルパターンを作成するプログラムを目指し、まずは平絵のアイテム分類を行うためのプログラムを作成
- アイテムにより付けるべきゆとりが変わるため、アイテムを推定する必要がある
- 今後は、アイテム分類の精度を上げ、Blender連携でパターンを作成できるようにしていく
今後に向けて
問題点
- デザイン画を読み込んで分類させたかったが、学習用画像を十分に用意できなかった
- 洋服の写真や着用画像を必要部分のみ切り抜いたため、デザイン画を読み込ませると分類結果が不安定になる
- 写真には色があるため、平絵に色を付けるだけで分類結果が大きく変動する
- ブラウスとワンピースは着丈以外の差がほとんどなく、機械学習で正確に分けるのは難しい
- コートとジャケットをまとめて推定させているが、実際のパターンメーキングではゆとり分が異なるため、分類を分ける必要がある
※どちらも同じブラウスの平絵ですが、色の違いだけで分類結果が変わっています
※ブラウスの平絵にワンピースと判定される例もあり、色や丈の差による誤判定が発生しています
改善策
- 学習は白黒のデザイン画で行い、ブラウスとワンピースは1カテゴリに統一する
- ジャケットとコートは分類を分ける
- もしくは、アイテム推定を諦めて、利用者がプルダウンで選択できる方式に変更する
☆アイテム推定自体は今後も可能性として残しつつ、主題であるトワルパターン作成をスムーズに行えるよう、こだわりすぎず使いやすいシステムを目指しています。