Skip to content

teatime77/auto-img-tag

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

61 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

auto-img-tag

物体検出の学習データを自動生成します。

Google Colabで学習データの自動生成からYOLOv5による物体検出までできるのでお試しください。

Open In Colab

目次

インストールの方法

pipをアップグレードしておきます。

python -m pip install --upgrade pip

必要なパッケージをインストールします。

pip install -U numpy opencv-python Pillow tqdm pysimplegui albumentations

適当なフォルダでソースをクローンします。

git clone https://github.com/teatime77/auto-img-tag.git

学習データの作成の手順

  1. カメラ アプリで動画ファイルを作成する。
  2. クラス別に動画ファイルをフォルダに入れる。
  3. 背景画像ファイルを準備する。
  4. 学習データ作成アプリを実行する。

1. カメラ アプリで動画ファイルを作成する。

camera

起動方法

camera.pyを実行します。

python camera.py

操作方法

  • 左の画面は明度で二値化する場合です。
    明度の閾値 を変えると二値画像の白の領域が変化します。
    物体が背景から分離されるように調整します。

  • 右の画面は色相で二値化する場合です。

    1. 物体を置かずに 色相を指定 ボタンをクリックして、画像の中心の色を背景色として登録します。

    2. 物体を置いてから 色相の範囲 を変えると二値画像の白の領域が変化します。
      物体が背景から分離されるように調整します。

  • 動画撮影 ボタンをクリックすると録画が始まり、 停止 ボタンで録画を終了します。
    動画ファイルはカレントフォルダの直下の capture フォルダに保存されます。

  • 写真撮影 ボタンをクリックすると原画の静止画が capture フォルダに保存されます。


2. クラス別に動画ファイルをフォルダに入れる。

以下は動画ファイルのフォルダ構成の例です。

foler

vegetable-videoフォルダの下に onion, potato, tomato のフォルダがあり、それぞれのフォルダの中に動画ファイルが入っています。

この例ではonionには3個の動画ファイル、potatoとtomatoには2個の動画ファイルが入っています。

学習データを作成するとき、onion, potato, tomatoがクラス名(カテゴリー名)になります。 動画ファイルのファイル名は何でも構いません。

ただしOpenCVは日本語のファイル名に対応していないので、フォルダ名やファイル名には日本語を含めないでください。


3. 背景画像ファイルを準備する。

背景画像ファイルとして何でも良いのですが、COCOデータセットの 2017 Val images を使っています。

https://cocodataset.org/

COCOの2017 Val imagesは5000枚あります。


4. 学習データ作成アプリを実行する。

main.pyを実行します。

python main.py -i 動画ファイルのフォルダ -bg 背景画像のフォルダ -o 出力先のフォルダ -dtsz 1クラス当たりの学習データの数 -imsz 出力画像のサイズ

実行すると出力先のフォルダに train.jsonimg フォルダができます。

┳ train.json
┗ img
    ┣ 画像ファイル
    ⋮
    ┗ 画像ファイル

train.jsonはCOCO形式でアノテーションの情報が書かれています。

imgフォルダの下に学習用の画像ファイルが作成されます。

main.pyのコマンドライン引数の一覧

-i
動画ファイルのフォルダ
-bg
背景画像ファイルのフォルダ
-o
学習データの出力先のフォルダ
-dtsz
1クラスあたりの学習データの数。デフォルトは1000。
-imsz
出力画像のサイズ。 デフォルトは720。
-v
明度の閾値。デフォルトは250。

GUIアプリ

foler

GUIアプリはデータ拡張などのデバッグに使っています。

起動の引数はmain.pyと同じです。

python gui.py -i 動画ファイルのフォルダ -bg 背景画像のフォルダ -o 出力先のフォルダ

About

automatic image tagging by chroma key

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published