4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

WWDC 2020 TechTalk 「Create MLの物体検出モデルの改善」のポイントを整理する

Posted at

この記事は?

自前の画像を用意しCreateMLを使って物体検出モデルを生成するにあたり、パラメータなど気を付けるべきことは何か?を確認するため、WWDC 2020 TechTalk 「Create MLの物体検出モデルの改善」 を視聴しました。
この記事では、その動画で説明されたポイントを整理して、実際にCreateMLを使ってみて表示内容を確認しました。

WWDC 2020 TechTalk 「Create MLの物体検出モデルの改善」のポイント

トレーニング時のパラメータ

CreateMLでトレーニングする際に、以下のパラメータを指定できる

  • アルゴリズム
  • イテレーション
  • バッチサイズ
  • グリッドサイズ:アルゴリズムがFull netowrkの時のみ

アルゴリズム

Full network Transfer Learning
特徴
  • 2019年に導入
  • YOLOv2アーキテクチャに基づく
  • 16ビット精度で重みを保存
  • Photosが使う訓練済みバックボーンを利用
モデルサイズ(2019年が65MB) 33MB 7MB
利用可能なバージョン iOS 12以上 iOS 14以上
必要なトレーニングデータの目安?(1クラスあたり) 200 80
どういうときに使う? 訓練データが大量にある場合 データが限られ軽いモデルにしたい時

Full networkのトレーニングパラメータ

image-param-full-network.png

Transfer Learningのトレーニングパラメータ

image-param-transfer-learning.png

イテレーション

  • モデルのパラメータが更新される回数
  • デフォルト値はデータセットのサイズにより選択される

バッチサイズ

  • 1回のイテレーションで使われたトレーニング画像の数
  • デフォルト値はハードウェアの制約に基づいて選択される
  • バッチサイズは大きい方がよいが、制約に合わせて調整するのがよい

グリッドサイズ

  • Full networkのみのパラメータ
  • インプット画像のアスペクト比と、モデルがオブジェクトを探す場所を定義する
  • デフォルトは13×13のグリッドを使用
  • 15×8のような長方形も指定可能
  • グリッド数が多くなると検出できるオブジェクトの数が増える一方で、画像当たりの推論の数が増える
    • → 計算コストを考慮することが重要!
  • 正方形でないインプット画像に正方形のグリッドを使えば、情報が失われモデルの精度が悪くなる
    • → グリッドは入力画像のアスペクト比を維持するよう設定するのが良い結果をもたらす

モデルの評価

物体検出モデルの評価指標には以下の2つを使う

  • IoU(=Intersection over Union)
  • mAP(=mean Average Precision)

IoU

  • 推論で描くバウンディングボックスと、注釈でつけたバウンディングボックスの重なり具合
  • 0%は重なりがないことを示し、100%は完全に重なっていることを示す

mAP

  • 推論結果のラベルが正しいこと、IoUがある一定の閾値以上であることを使って導き出す指標
  • mAP算出にIoU使う
  • mAPが高いほど正しい推測
  • ビデオではあまり詳しい説明はなし
  • 【物体検出】mAP ( mean Average Precision ) の算出方法 に詳しく解説されています

CreateMLの画面でIoU, mAPを実際に確認してみる

実際にCreateMLを起動しトレーニングを流して、動画で解説のあったIoU, mAPを確認してみました。

image-iou.png

IoU

  • 実際のCreateMLの画面では、I/U 50%Varied I/Uの2つが表示されています
  • 【IOU】 Object Detection の性能指標【I/U】 の解説によると
  • I/U 50%

    このIOUが50%を越えているもの(50%重なっているもの)を正解とみなして%表示しています。

  • varied I/U

    閾値を50%〜95%まで変化させた時の平均正解率

余談:トレーニングデータがよくなかったのでしょうか、かなり低い値となってしまいました。。。

mAP

画面上、明示的にmAPと書かれた箇所はないのですが、動画では、

The overall mean Average Precision for our data set can be seen at the top right corner.

と言っているので、右上にあるValidationの値がmAPにあたる値なのかと思います。

4
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?