PC,PDA,GPS,RS,GIS,ドローン,SfM等を活用して森林情報を収集,管理するためのtipsを掲載しています。(自分用の備忘録も兼ねています。>>2023年12月26日fitness値を計算してみたYOLOv5のtrain.pyで算出されるbest.ptのときのepoch番号を知りたいと思いました(過学習の有無との兼ね合いで)。(epoch番号以外の指標値は,コンソール(コマンドライン)にsummaryとして表示される)いろいろググると,fitness値最大時のepochからbest.ptが算出されることがわかりました↓。自宅PCでやってみました。epochs=100)。train.pyの終了画面です↓。best.ptが作成されたときのmAP50は0.84と表示されました。runs/expフォルダに格納されたresult.csvをExcelで開き,右端に"fitness"フィールドを追加し,計算させ,大きいもの順に並べ換えました↓。best.ptのときのepochは87であることがわかりました。Precision(=0.812),Recall(=0.781),mAP50-95(=0.551)の値もsummaryの出力と一致しています。やったぜベイビーというか,どうせならresult.csvでfitnessも出力してほしいですね。この第87エポックの時に過学習が起きているか否かを,runs/expに出力されるグラフ群で判断し,必要ならばepochsの値を変えて再学習させる,とかいうふうになるようです。ひとつYOLOv5について詳しくなってしまいました。今年度から2年間(R5,6),物体検出アルゴリズムのひとつである,YOLOv5を使ってマツ枯れ樹冠を自動検出する,という研究課題に取り組んでいます。大きな流れは以下の3つです。(1)train.pyというPythonプログラムで学習を行い,(2)detect.pyというPythonプログラムで,(1)の学習結果に基づいた検出を行い,(3)val.pyというPythonプログラムで検出結果の精度検証を行う。(1),(2)については,例えば,T.Nukuiさんのサイトhttps://farml1.com/tomato_yolov5/https://farml1.com/yolov5/などに解説があり,おおいに参考にさせてもらっているのですが,(3)について解説しているサイトがなかなか見つけられませんでした。