カテゴリー
未分類

11/24(木) 進捗報告

今週やったこと

  • 評価実験計画
  1. 実験内容
    1. 現金・硬貨の各データセットをYOLOv7で再学習、テスト画像を入力し、推論させる
    2. 紙幣は変形に3つのレベル(1:折れなし, 2:二つ折り, 3:三つ折り)を設定し、各レベルごとにテスト画像を分けて推論を行う
  2. 分量・人数
    1. 分量
    2. 画像数 … 紙幣800枚(学習700枚,テスト100枚), 硬貨900(学習800枚,テスト100枚)
    3. クラス数
      1. 紙幣データセット3クラス(1000円,5000円,10000円)
      1. 硬貨データセット6クラス(1円,5円,10円,50円,100円,500円)
  3. 人数 … 1人
  4. 実験スケジュール
    1. 11月下旬〜12月下旬(限界は12月いっぱいまで)
  5. 評価項目・評価指標
    1. 混同行列
    2. 正解率
    3. 再現率
    4. 適合率
    5. IoU(領域が正しく検出されているか)
  6. 比較対象
    1. データセットの構成(例えば切り抜き画像を使用するなど)を少しずつ変更して精度を比較する。
      1. 元の画像のみ
      2. 元画像+切り抜き画像
    2. 単一モデルで全て検出する場合と二つのモデルで検出する場合の精度・速度を比較する。

  • 先週の硬貨の検出精度低下原因の調査

先週の結果から、硬貨のデータセットで一部アノテーションの座標が本来の場合とズレている画像や、領域が正しく囲えていない画像があったため、これらを修正しました。

  • 丸い模様への対策

先週の進捗にあった丸い模様の誤検出への対策は、丸い模様を背景にした画像をデータセットに入れて再学習を行なってみようと考えています。

来週やること

  • 学習画像の追加
  • 丸い模様を背景にした硬貨の画像の撮影
  • データセット構成の考案
カテゴリー
未分類

11/17(木) 進捗報告

今週やったこと

  • 学習用画像の撮影(紙幣)

 紙幣と似ている色の文字入りの紙袋を背景とし、平面や折った状態で撮影を行い、各画像に寒色・暖色のフィルタをかけて画像数を3倍にしました。(合計700枚程度)

  • YOLOv7再学習

 YOLOv7で硬貨と紙幣の各モデルをGoogle Colab ProのGPU環境で学習しました。

  • 学習回数 … 200
  • バッチサイズ … 16
  • 学習データセット … 硬貨:500枚, 紙幣:700枚
橙:硬貨, 青:紙幣

 硬貨のobj_lossが途中から大きくなっているので、過学習の可能性があり、再度条件を変更しつつ撮影を行う必要がありそうです。
紙幣はいい感じに収束していると思われます。

  • 紙幣と硬貨のモデル別物体検出の検証

 まず紙幣のモデルで物体検出を行った後、硬貨のモデルで検出を行ないました。

  • 紙幣のみ

 中間発表の課題であった、縦・斜めの紙幣の検出ができるようになりました。背景や折りに関係なく正解率もかなり高いので、精度は充分だと思います。

  • 紙幣と硬貨

現在までの課題であった、紙幣と硬貨の同時検出ができました。

 問題点として、紙幣などの円の形を硬貨として検出をしてしまう場合があり、これの対策として、学習データに紙幣を背景とした画像を用いることが有効だと考えました。

  • おまけ

Google Colab Proにアップグレードしたので、学習時間が30時間から7時間に短縮された。また、Drive内から実行すると一回の学習で10GBほど持っていかれる。
物体検出にかかる時間は平均25ms。

来週やること

  • 評価実験の計画を立てる
  • 学習画像の追加
カテゴリー
未分類

11/10(木) 進捗報告

今週やったこと

照明条件を変更して硬貨の撮影を行いました。

  • 背景色 : 黒(布)
  • 照明 : 通常,寒色,暖色
  • (5円玉, 10円玉など、酸化によって色の違いが大きいものは2倍の撮影数とする)
  • 合計192枚

 また、これまでに使用していた(上で撮影した画像は含まない)データセットでYOLOv7の再学習を行いました。

  • モデル : yolov7x.pt(2番目に軽量なモデル)
  • 学習回数 : 200回
  • バッチサイズ : 16

5円玉と10円玉以外の正解率がかなり高いので、今後はYOLOv7を採用しようと考えています。

今後はAlbumentationなどでのデータ拡張も考えていますが、YOLOv7で実装できない場合は、引き続きYOLOv5を使用します。

来週やること

  • 学習画像の追加
  • YOLOv7で再学習
  • 紙幣と硬貨の平行検出を試す