圖片是自己拍攝的,標注數據也是自己標的,但是卻出現了混合物種的圖片標注數據正常,單物種圖片標注數據異常的情況,這就讓人很迷惑!
如下訓練的train_batch 圖 混合物種圖的框都很正常,但是到單物種圖中框就全跑偏了
問題探索
1、猜測是不是標注數據有問題
於是把單物種的圖將標注數據在圖片中把框畫出來,唉,都是正常的呀,框標的很棒呢。
2、會不會是因為單物種的圖和混合物種的圖分辨率不一樣大導致的
yolov5是自帶 resize 的的,不同大小的圖片一起訓練完全沒問題的。最后單獨只跑單物種圖的時候發現還是偏移了。那問題肯定還是出在標注數據上。
3、用 pycharm 打開單物種圖片時發現圖片逆時針旋轉了90°。因為圖片拍完后有進行裁決,導致單物種的圖片 高 > 寬,豎着的長方形在 pycharm 里面變成了橫着的長方形。會不會是因為圖片在訓練的時候默認旋轉90°了,導致圖片和標注數據不匹配了。
於是我把圖片旋轉 90°,再根據規律變換,把標注數據也旋轉90°,發現,哦吼,怎么標注數據變成負的了
不對勁,有問題。
4、於是繼續嘗試,只把圖旋轉,標注數據不變。扔進服務器上去跑一下yolo,唉,可算正常了。
解決了解決了,趕緊把單物種和混合物種的圖擱一塊一起跑模型
總結:標注工具我是用的 labelImg,原圖分辨率是 4344x5792 ,但是標注的數據卻是按照 5792x4344 來生成的,圖片用pycharm來使用沒問題,但是放到linux下問題就暴露出來了。