參考:
pytorch實現yolov3訓練自己的資料集
pytorch實現yolov3的原始位址(ultralytics版)
環境:
win10+python3.6
pytorch 1.1.0
opencv
tqdm
matplotlib
原始碼中有requirements.txt,安裝直接:
pip3 install -u -r requirements.txt
這裡我用的ultralytics的舊版,這個版本不需要 pycocotools,我的win10下執行pip install pycocotools報錯:
microsoft visual c++ 14.0 is required.
安裝還挺麻煩的,就用了這個版本
使用精靈標註助手,傻瓜安裝,感覺比labelimge好用。
標註過程簡單,不再贅述。
注意,資料存放目錄不能有中文!!!不然python中匯入時會報錯:'gbk' codec can't decode byte 0xa2 in position 47...
匯出時,選擇voc格式即可,這裡以紅細胞資料集為例,匯出後大概如下:
2、執行maketxt.py,在imagessets下生成如下四個檔案,儲存的名稱
3、執行voc_label.py後,在labels下生成各個的標籤,例如:
0 0.415625 0.8572916666666667 0.15625 0.21875
0 0.19843750000000002 0.7885416666666667 0.15625 0.21875
每行代表乙個目標,各元素分別是:種類+4個座標
同時在data下生成train.txt,test.txt,val.txt,儲存的具體目錄+名稱。
4、在data檔案下新建rbc.names,存放種類的列表(此處只有1類rbc),內容如下:
rbc
在data檔案下新建rbc.data,存放一些配置資訊,內容如下:
classes=
1train=data/train.txt
valid=data/test.txt
names=data/rbc.names
backup=backup/
eval
=coco
遷移學習,修改cfg檔案中網路的結構,主要是yolo層前一層的conv層的卷積核個數。
需要將filters=255改為filters=18,即: anchor個數3x(種類數+bbox4個座標+bbox信度)。注意三個尺度都要改!
將yolo層的class=80改為class=1,即類數。
.
/darknet partial cfg/yolov3-tiny.cfg yolov3-tiny.weights yolov3-tiny.conv.
1515
修改train.py中main函式的parser引數,主要是yolo.cfg檔案位置,rbc.data檔案位置,還有epochs、batch size等超引數,直接執行就好了。
測試test.py,測試位置預設在data\samples,輸出在outputs資料夾
yolov3訓練自己的資料集
6.測試訓練出的網路模型 訓練好後可以在 backup看到權重檔案 嘗試test前要修改cfg檔案,切換到test模式。可以重新建立乙個測試cfg檔案,如yolov3 voc ball test.cfg 測試 darknet detector test cfg voc ball.data cfg y...
YOLOv3訓練自己的VOC資料集
yolo 一 安裝darknet並借助預訓練權重進行檢測 1.安裝darknetgit clone https pjreddie.com media files yolov3.weights3.執行檢測.darknet detect cfg yolov3.cfg yolov3.weights dat...
YOLOv3目標檢測 訓練自己的資料集
yolov3可以實時地進行端到端的目標檢測,以速度快見長。本課程的yolov3使用darknet,在ubuntu上做專案演示。包括 安裝darknet 給自己的資料集打標籤 整理自己的資料集 修改配置檔案 訓練自己的資料集 測試訓練出的網路模型 效能統計 map計算和畫出pr曲線 和先驗框聚類。da...