2024/11/10 Toshio Iwata wrote

●生成AIなどを使ってボール画像を数千枚にする手順

(1)ランタイムの変更
Google ColabでランタイムをT4 GPUに変更して保存

(2)ディレクトリ作成
mkdir genFloor inBalls outBalls
mkdir tmp1 tmp2 tmp3 tmp4
mkdir train_1 val_1
mkdir train_1/0 train_1/1 train_1/2 train_1/3 
mkdir val_1/red val_1/green val_1/blue val_1/yellow

(3)背景生成
!pip install --upgrade diffusers accelerate transformers
generatefloor.txt この内容をコマンドセルにコピペして実行（1回目）
image.save("./genFloor/0.jpg") -> image.save("./genFloor/1.jpg") に変更して実行（2回目）
image.save("./genFloor/1.jpg") -> image.save("./genFloor/2.jpg") に変更して実行（3回目）
以上でgenFloorディレクトリに床画像が3枚生成される。

(4)背景分割
dividefloor.txt この内容をコマンドセルにコピペして実行
以上でtmp1ディレクトリに分割後の床画像が3×12＝36枚

(5)ボール画像の背景切り取り（1回目）
inR/*.jpg これらをinBallsディレクトリにアップロード
!pip install rembg
removebg1.txt この内容をコマンドセルにコピペして実行
以上でtmp2ディレクトリに背景切り取りボール画像が6枚

(6)ボール画像の変形
modifyballs.txt この内容をコマンドセルにコピペして実行
以上でtmp3ディレクトリに拡大縮小回転したボール画像が6×5＝30枚

(7)ボール画像の背景切り取り（2回目）
removebg2.txt この内容をコマンドセルにコピペして実行
以上でtmp4ディレクトリに背景切り取りボール画像が30枚

(8)ボール画像と背景の合成
putballsonbg.txt この内容をコマンドセルにコピペして実行
以上でoutBallsディレクトリに背景と合成された画像が30×36＝1080枚

(9)train, val（学習用、推論用）の振り分け
mv outBalls/*_11.png val_1/red	緑はval_1/green	青はval_1/blue	黄はval_1/yellow
mv outBalls/*.png train_1/0	緑はtrain_1/1	青はtrain_1/2	黄はtrain_1/3
以上でtrain_1/0ディレクトリに学習用画像が990枚
以上でval_1/redディレクトリに推論用画像が90枚

この後(5)に戻る。inG inB inY/*.jpg をアップロード
(9)まで繰り返し。(9)はディレクトリに注意
赤／緑／青／黄色ボール画像生成したら(10)に進む

(10)ボール画像ファイルの圧縮
!zip -r train_1.zip train_1
!zip -r val_1.zip val_1
生成したZIPファイルを右クリックでダウンロードする

なお、床のみの画像が欲しいときはtmp1内の画像を適当に学習用／推論用に振り分ける

Copyright (C) 2024　Toshio Iwata