と 【物体検出】vol.2 :YOLOv3をNVIDIA Jetson Nanoで動かす, 【物体検出】vol.1 :Windowsでディープラーニング!Darknet YOLOv3(AlexeyAB Darknet), 【物体検出】vol.17 :Darknet YOLOv4でRTX2080Superのベンチマーク(GTX1070の1.7倍!), 【物体検出】vol.16 :Darknet YOLOv4の新機能 -save_labelsで"検出結果を学習データに活用する", 【物体検出】vol.15 :Darknet YOLOv3→YOLOv4の変更点(私家版), 【物体検出】vol.14 :YOLOv4 vs YOLOv3 ~ 同じデータセットを使った独自モデルの性能比較, MAP = Mean Average Precision、平均適合率の平均。複数のカテゴリのAPの平均。1イテレーションor1エポック単位で各カテゴリのAPの平均を出して、学習が収束しているかどうかの目安にする, 学習データに最適化しすぎて、それ以外のデータではそれほどではない状態(専門バカ、教えたことしかできない子), 推奨:1カテゴリ5000、10000枚(高い精度と検出率、差異が少ない対象を扱っている場合、汎化性能を求める場合), 1つの物体に対して、2つの区分を回答してしまっていた部分が、正しく一つだけ検出するようになった, 640*480ドットの荒い動画でも十分に認識できます。(所詮416ドットで切り出している。これより小さいとダメかもしれませんね), 2物体重なっていても正確に検出します。(3物体以上重なっている場合はダメのようです), WindowsゲーミングPC(GeForce GTX1070)で640x480ドット@30fpsの動画を、40-50fpsで認識できました。4K動画の場合で15fps程度です。, 720pのUSBカメラでリアルタイムに物体検出させた場合、34.2fps出ました。. イテレーション:(カテゴリ数*2000)以上 正直しんどいのでやめたいけど、自分で作った物が(といっても人のモデルですけど)ゴリゴリに人間をはるかに超えるスピードでやってのける快感はやばい。 ニューラルネットワークの学習フェーズでは、的確な推論を行うために最適な各パラメータ(重みやバイアス)を決定します。 このとき、最適なパラメータに近づくための指標となるのが「損失関数(loss function)」になります。 これは、「目標」と「実際」の出力の誤差を表すものです。

https://qiita.com/mokoenator/items/3268ec162658efe82fb6, 物体認識の教師データ作成は2018年7月から初めて、3か月になる。 一般物体認識とは、画像中の物体の位置を検出し、その物体の名前を予測するタスクになります。以前に下記の記事を書きましたが、そこでも扱ったようにYOLOv3は一般物体認識のモデルの中でも有用な手段のひとつです。今回はこのYOLOv3の中身をポイントとなるところに注目して、見ていきたいと思います。 YOLOv3: An Incremental Improvement ・developed State-of-the-Art object detector YOLOv4, ・added State-of-Art models: CSP, PRN, EfficientNet 最新のモデル、    CSP:     PRN:    EfficientNet:, ・added layers: [conv_lstm], [scale_channels] SE/ASFF/BiFPN, [local_avgpool], [sam], [Gaussian_yolo], [reorg3d] (fixed [reorg]), fixed [batchnorm] レイヤの追加    [conv_lstm]    [scale_channels] SE/ASFF/BiFPN,    [local_avgpool],    [sam]    [Gaussian_yolo]    [reorg3d] (fixed [reorg])    fixed [batchnorm], ・added the ability for training recurrent models (with layers conv-lstm[conv_lstm]/conv-rnn[crnn]) for accurate detection on video 動画検出のためのリカレントモデル学習に対応, ・added data augmentation: [net] mixup=1 cutmix=1 mosaic=1 blur=1. 画像数5000枚くらいで100バッチ回した時間(秒)です。, PはPalit YOLOは、より高速なFPS、現在利用可能などの検出器よりも正確な、先進的な認識機能。検出器は、よく使われるGPUでトレーニングできます。 YOLOv4の新機能により、分類器と検出器の精度が向上し、様々な研究プロジェクトに使用できます。, ●富士見事務所 TEL : 052-228-8733 FAX : 052-323-3337 時間があったらユニファイドメモリかどうかソースを確認してみよう。, README.mdのHow to train with multi-GPU:ブロックに書かれている https://groups.google.com/forum/#!msg/darknet/NbJqonJBTSY/Te5PfIpuCAAJ. これで再計算、cfgに設定しろってことらしい。 YOLOv4は、EfficientDet(競合する認識モデル)の2倍の速度で、同等のパフォーマンスを発揮します。さらに、AP(平均精度)およびFPS(1秒あたりのフレーム数)は、YOLOv3と比較して10%および12%増加しました。. HOSTメモリが24Gしかないから?? ちなみにVoTTのフォーマットをyoloに変換するのが超めんどくさいので Loss <0.2 Windows 10上のDarknetでYolo v3をトレーニングしOpenCVから使ってみる. i5-7500の「PCI Express 構成」っぽい。つまり、安いCPU買うからや。(´・ω・`) だからどんなマザボを買ってもGPU4枚刺しとかできないんですよね・・たぶん・・・。, CPUZで見てみたら、どうやらx16で動いてなさそう 読まなくても、サイクル回すと気が付くけど・・・無駄に時間が過ぎてしまう。, 手元に用意した環境 VoTTだけではアノテーションの検証ができないのは結構痛い。 x8,x8,x4で動いとる・・。 めんどくさがらずに全部読もう。 https://github.com/qqwweee/keras-yolo3 自作したほうがいいです。, 2019/09/24追加:VoTT(version1系)のJSON順番がファイル名のソート順なんですが、癖があってASCII順かとおもったら サイズを606にして学習した場合はどうなんだろうか? TdrLevel(REG_DWORD)に3(回復する) 買っちゃったGPUが「Palit GeForce GTX1070Ti Super JetStream 」なもんで3スロットも占有してしまう。 YOLOのメモリっってGPU<>HOSTで同じデータを保持しにかかってるんかな? https://qiita.com/mokoenator/items/4d106d682f1b4bc7d0e3, https://qiita.com/mokoenator/items/3268ec162658efe82fb6, https://github.com/pierluigiferrari/ssd_keras, https://groups.google.com/forum/#!msg/darknet/NbJqonJBTSY/Te5PfIpuCAAJ, you can read useful information later efficiently. Copyright © 2020 NAKASHA CREATIVE CORPORATION All Rights Reserved. 【物体検出】vol.13 :Darknet YOLOv4をWindows(CUDA,CuDNN,OpenCV4.3)で動かす, 【物体検出】vol.1 :Windowsでディープラーニング!Darknet YOLOv3(AlexeyAB Darknet), 【物体検出】vol.17 :Darknet YOLOv4でRTX2080Superのベンチマーク(GTX1070の1.7倍!), 【物体検出】vol.16 :Darknet YOLOv4の新機能 -save_labelsで"検出結果を学習データに活用する", 【物体検出】vol.15 :Darknet YOLOv3→YOLOv4の変更点(私家版), 【物体検出】vol.14 :YOLOv4 vs YOLOv3 ~ 同じデータセットを使った独自モデルの性能比較.

Copyright © 2020 NAKASHA CREATIVE CORPORATION All Rights Reserved.

そもそもcfgのwidth 、height は学習に関係しているのか??README.mdには「関係してる」と解釈できることが書いてあるしなぁ・・・, -width 416 -height 416>>ここはかえなくていいのか不明だ。 detector calc_anchors data/obj.data -num_of_clusters 9 -width 416 -height 416 他に、CUDA Error Out Of memory、カーネル実行タイムアウト・・・エラーまつりや。

YOLOv3の環境構築が終わり、一通り学習済モデルで「おぉぉぉ」と興奮した後は、オリジナルモデルの学習に興味が沸いてきます。, Windows 10上のDarknetでYolo v3をトレーニングしOpenCVから使ってみる, 1カテゴリ当たり100枚で「試しにやってみる」 ⇒ PoC(Proof of Concept:仮説検証), 角度、大きさ、色相、明度の異なる複数のバリエーションを偏りなく集め、1カテゴリ1000枚を達成します。⇒ 精度を向上します。, 誤検知のデータを修正、データの水増しをしながらブラッシュアップを繰り返していくと、結果的に5000枚、10000枚になります。, 1カテゴリ画像100枚、10カテゴリ(1000枚)を集めるためにはおよそ3日のデータ作成時間と、1日の学習、1日の評価時間が必要です。, データ量が10倍になればデータ作成時間は10倍(30人日)ものボリュームに。10000枚ならさらに10倍。どこまで費用をかけられるのか?が制限になります。, https://github.com/AlexeyAB/darknet に書かれていることですが、, バッチサイズ:64で試す→GPUメモリが足りなければ32に変更 (そして実際に、50%を越えなければ、まったく使い物になりません), Precisionも感覚的には、60を超えると、「まぁまぁ分かっているな」。70を超えると「少し間違えるかな」、80を超えると「間違えなくなってきたな」、90を超えると「過学習かな」と疑うレベルです。, イテレーションが進むとLossが減り、mAPが向上します。