【YOLO】簡易アノテーションについて【物体検知】

物体検知AIの精度を向上させるにはアノテーションデータ量を増やす必要があります。

必要なアノテーションデータは場合によっては数千枚必要な場合も珍しくありません。

簡易アノテーションとはある程度精度が出るようになった段階で、学習したAIを基にアノテーションデータを自動的に作成するツールです。

この記事では簡易アノテーションの作成方法について詳しく解説していきます。

画像認識AIの導入手順


画像認識AIの開発手順を確認しておきましょう。

AI構想段階→AI設計段階→AI検証段階→AI運用段階

経産省HPの「中小企業がAIを導入する際に必要となる体制整備や準備・実証手法等について」によれば、AIの開発手順は大きく4つの段階に分かれています。

中小企業がAIを導入する際に必要となる体制整備や準備・実証手法等について

AIの精度が課題になってくるのは3.AI検証段階の段階であり、ここに非常にコストが大きくかかります。

精度を上げるには1500枚以上必要!必ず時短ツールが必要になってくる

物体検知AIの精度を上げることは簡単ではありません。

ガイドラインによると、推奨されている枚数はクラスごとに1500枚以上と言われています。

Best practice when YOLOv5 training performance is only mediocre

1500枚以上の画像データを自力でアノテーションするとなるとどれくらいの時間がかかるのか、考えたくもないですね。

【事前準備】自分で作成したデータを学習させる

簡易アノテーションを実装するにはまずは自分で用意したデータを学習させる必要があります。

学習の手順を確認しておきましょう。

アノテーションして学習データを作る

今回は100枚の画像データを用意しました。

Google Driveに接続

アノテーションした画像ファイルとtxtファイルの準備

アノテーションした画像ファイルとtxtファイルを準備します。

trainデータとvalデータの準備

trainデータとvalデータの場所とクラスの数およびその内容をyamlファイルに保存します。

YOLOv5の用意

学習させる

これで学習ができました。

mAPはなんとなくですが、頭打ちになっていて良さそうに思えます。

簡易アノテーションの作成方法

簡易アノテーションでは上記の学習したモデルを基にある一定の確信度以上のものをアノテーションに利用します。

実際の作り方を見ていきましょう。

追加する写真を読み込む

今回は6枚だけ画像を用意します。

確信度が一定以上のものをアノテーションに再利用する

読み込んだ画像に対して確信度が一定以上出ている物体をアノテーションするようにします。

今回は確信度を0.5以上としました。

数は少ないですが、きちんとアノテーションできていることが確認できました。

まとめ

AI検証段階ではAIの精度が大きな課題になります。

物体検知AIの場合は精度を向上させるためには1500枚以上の画像データをアノテーションする必要があり、これは中小企業には非常に大変なコストのかかる作業です。

簡易アノテーションツールを実装することができれば、コストを削減することができるので参考にしてください。