【YOLOv5】物体検出の精度と学習結果mAPの読み方について

自分で集めたデータを学習し、YOLOv5というAIモデルを使用して物体検知AIを作成することができます。

AIを実装・運用して実際の業務に導入するにはAIの精度を向上させる必要があります。

この記事では、物体検知のAI精度を向上させるとは具体的にどういうことなのか解説していきます。

AIの学習結果を読み解くには?

物体検出では、AIの精度はmAPを判断材料に使用します。

mAPの概念は初学者には難しいため、この記事では簡単なイメージだけ説明していきます。

mAPとは物体検出の精度を数値化したもの

物体検出においては、四角のバウンディングボックスを用いて検出したい対象を囲います。

機械は正解のバウンディングボックスを学習し、赤色のバウンディングボックスを予測できるようになります。

赤色と青色の重なっている面積が大きければ良い予測ができていることになり、これを数値化したものがmAPです。

ポイント

mAPとは物体検出の精度を数値化したもの

mAPが頭打ちの数値になってきたら学習を止めても良い状態

学習が順調に進んでいくとmAPの値は上昇していきます。

学習したデータに対してmAPの値が上昇しなくなってきたら学習を止めても良い状態です。

実際にgoogle colaboratoryを使用してAIを学習させてみる

物体検知のAIでは、mAPが物体検出の精度を数値化したものと理解することができました。

では、google colaboratoryを使用し、AIを学習させる手順を簡単に見ていきましょう。

最速でpythonを試せるGoogle Colaboratory(Colab)

YOLOv5のインストール

学習済みのAIモデルYOLOv5をインストールして使用します。

【YOLO】学習済みのAIモデルを使ってみる 

自分で用意したデータを用意し、YOLOv5で学習する

自分で用意した画像とアノテーション結果をファイルにまとめます。

ファイルのパスを指定してAIの学習をします。

アノテーション作業について 注意点や工夫点、外注コストを解説

YOLOv5の学習結果を見てみよう

簡易的にEpoch数を4にして学習をしてみます。

この段階ではまだmAPが上昇しそうなので、データを追加して学習を継続することになります。

まとめ

物体検知のAIでは、mAPが精度の指標になっています。

mAPの概念は非常に難しいので、すべてを理解する必要はありません。

大切なのは実際に自分で動かせるようになることであり、物体検知のAIの精度をどのように判断するのか簡単にイメージすることが良いでしょう。

AIによる部資材(鉄筋)の個数カウントについて課題から開発手順まで解説!

【PyTorch】GPUのメモリ不足エラーの対処方法