カテゴリー
未分類

7/20(水) 進捗報告

今週やったこと

YOLOの精度向上について調べていて出てきた、以下の記事を読んでいました。

【albumentations】データ拡張による精度向上を検証する – Qiita

記事内では、すでに用意されているデータセットの画像に
・左右反転
・回転
・切り抜き
・モザイク
の処理を施した画像を追加し、そのデータセットを学習させて精度がどのように変化するかという検証を行なっていました。

結果から言えば、反転・回転を施した画像のみを追加したデータセットが一番精度が高かったようです。

この記事では単体クラス(小麦のデータセット)に対してデータ拡張を行なっているため、多クラスの場合どうなるかは不明です。

各データセットの画像枚数
学習結果

自分の研究ではなるべく多くの画像を用意するようにはしていますが、画像数が足りない場合は、こういったデータの増やし方も検討しようと考えています。

来週やること

  • 学習画像の撮影
  • アノテーションデータの作成
カテゴリー
未分類

7/13(水) 進捗報告

今週やったこと

 YOLOv5を使用している研究として、以下の論文を読んでどのような研究がされているのかを確認していました。


YOLO5Face: Why Reinventing a Face Detector(2022.1.27)
Evaluation of YOLO Models with Sliced Inference for Small Object Detection(2022.3.9)

後者の研究では、YOLOv5とSlicing Aided Hyper Inference (SAHI)を組み合わせて推論を行なっていました。(SAHIは小さい物体を検出するのに強いらしい)
学習時には元の画像を分割し、分割した画像をそれぞれ学習させる手法を取っていました。

やはり精度を高めるために複数の物体検出手法を組み合わせている研究が多いようなので、自分の研究でも精度を確認しつつ、場合によっては検討すべきと考えています。

来週やること

  • 学習画像の撮影
  • YOLO研究の論文を読む
カテゴリー
未分類

7/6(水) 進捗報告

今週やったこと

前回のエラーがどうしても直らず、アノテーションデータを再作成しても画像を変えても解決できなかったので、YOLOv5側でdogの画像を学習させて、とりあえず精度と速度を比較することにしました。

<YOLOv5>

  • 画像数: train: 95枚, val: 28枚, test: 13枚
  • 学習クラス: ‘dog’
  • 学習回数: 200回
  • モデル: yolov5s.pt(最軽量モデル)
  • 学習環境: Google Colaboratory(GPU)
  • 学習時間: 約17分39秒
  • 推論時間(テスト用画像5枚): 約12秒

<SSD>

  • 画像数: 136枚
  • 学習クラス: ‘dog’
  • 学習回数: 200回
  • モデル: vgg16_reducedfc.pth
  • 学習環境: Google Colaboratory(GPU)
  • 学習時間: 約32分39秒
  • 推論時間(テスト用画像5枚): 約14秒
YOLOv5(yolov5s)
SSD
YOLOv5(yolov5s)
SSD
YOLOv5(yolov5s)
SSD
YOLOv5(yolov5s)
SSD
YOLOv5(yolov5s)
SSD

精度自体はSSDの方が良い数値を出しており、単体の検出精度は良いですが、複数検出はできていませんでした。
YOLOv5(yolov5s)はあまり良い数値は出ていませんが、複数検出がしっかりできていて、推論速度もSSDより高速でした。

また、YOLOv5の精度に関して、学習過程をグラフで確認すると60回前後で収束していると思われるので、過学習により精度が悪くなっているのではないかと考えています。

YOLOv5の学習過程

今回の結果から、これからYOLOv5(最軽量のyolov5sモデル)を使って物体検出をやっていくことに決定しました。

来週やること

  • YOLO関連の論文を読む
  • 精度向上方法を探す