關於yolov5的一些簡單說明(txt文件、訓練結果分析等)
一、yolo中txt文件的說明:
二、yolo跑視頻、圖片文件的格式:
三、yolov5訓練結果不好的原因:
1. 欠擬合:
在訓練集上表現很差,測試集上表現也很差的現象可能是欠擬合導致的,是因為泛化能力太強,誤識別率較高解決辦法:
1)增加數據集的正樣本數, 增加主要特征的樣本數量
2)增加訓練次數
3)減小正則化參數
2. 過擬合:
在訓練集上表現很好,在測試集上表現很差(模型太復雜)解決辦法:
1)增加其他的特征的樣本數, 重新訓練網絡.
2)訓練數據占總數據的比例過小,增加數據的訓練量
3. loss值不再變小就說明訓練好瞭
四、yolov5訓練結果(train文件)分析
1. confusion_matrix.png(混淆矩陣)
混淆矩陣能對分類問題的預測結果進行總結,顯示瞭分類模型的在進行預測時會對哪一部分產生混淆。
2. F1_curve:
F1分數與置信度之間的關系。F1分數(F1-score)是分類問題的一個衡量指標,是精確率precision和召回率recall的調和平均數,最大為1,最小為0, 1是最好,0是最差
3. labels.jpg
第一個圖 classes:每個類別的數據量
第二個圖 labels:標簽
第三個圖 center xy
第四個圖 labels 標簽的長和寬
4. labels_corrrelogram.jpg 目前不知道
5. P_curve.png :
準確率precision和置信度confidence的關系圖
6. PR_curve.png:
PR曲線中的P代表的是precision(精準率),R代表的是recall(召回率),其代表的是精準率與召回率的關系,一般情況下,將recall設置為橫坐標,precision設置為縱坐標。PR曲線下圍成的面積即AP,所有類別AP平均值即Map.
如果PR圖的其中的一個曲線A完全包住另一個學習器的曲線B,則可斷言A的性能優於B,當A和B發生交叉時,可以根據曲線下方的面積大小來進行比較。一般訓練結果主要觀察精度和召回率波動情況(波動不是很大則訓練效果較好)
- Precision和Recall往往是一對矛盾的性能度量指標;
- 提高Precision == 提高二分類器預測正例門檻 == 使得二分類器預測的正例盡可能是真實正例;
- 提高Recall == 降低二分類器預測正例門檻 == 使得二分類器盡可能將真實的正例挑選
7. R_curve.png :召回率和置信度之間的關系
8. results.png:
- Box_loss:YOLO V5使用 GIOU Loss作為bounding box的損失,Box推測為GIoU損失函數均值,越小方框越準;
- Objectness_loss:推測為目標檢測loss均值,越小目標檢測越準;
- Classification_loss:推測為分類loss均值,越小分類越準;
- Precision:精度(找對的正類/所有找到的正類);
- Recall:真實為positive的準確率,即正樣本有多少被找出來瞭(召回瞭多少).Recall從真實結果角度出發,描述瞭測試集中的真實正例有多少被二分類器挑選瞭出來,即真實的正例有多少被該二分類器召回。
- val Box_loss: 驗證集bounding box損失;
- val Objectness_loss:驗證集目標檢測loss均值;
- val classification_loss:驗證集分類loss均值;
- [email protected]:.95(mAP@[.5:.95]): 表示在不同IoU閾值(從0.5到0.95,步長0.05)(0.5、0.55、0.6、0.65、0.7、0.75、0.8、0.85、0.9、0.95)上的平均mAP。[email protected]:表示閾值大於0.5的平均mAP。然後觀察[email protected] & [email protected]:0.95 評價訓練結果。mAP是用Precision和Recall作為兩軸作圖後圍成的面積,m表示平均,@後面的數表示判定iou為正負樣本的閾值,@0.5:0.95表示閾值取0.5:0.05:0.95後取均值
註:以上資料、圖片來自於YOLOV5官網,CSDN優秀作者以及自己訓練的數據集,侵權刪除。
本人正在學習事件相機檢測等內容(小白),希望能與學習事件相機的眾多大佬一起學習,共同交流!
總結
到此這篇關於關於yolov5的一些簡單說明的文章就介紹到這瞭,更多相關yolov5 txt文件、訓練結果分析內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- 使用Python處理KNN分類算法的實現代碼
- Python利用Seaborn繪制多標簽的混淆矩陣
- Python機器學習應用之基於BP神經網絡的預測篇詳解
- opencv調用yolov3模型深度學習目標檢測實例詳解
- Python實現機器學習算法的分類