YOLO v3訓練自己的資料(肺結節的二分類)

2021-09-26 04:43:00 字數 2438 閱讀 2088

**參考**:

要熟悉voc2007資料格式,labelimg標註工具。我可能有很多廢步驟。

一、測試原檔案

將yolov3.weights權重檔案放入h:\medical_python\lungcancer\yolov3_tensorflow-master_3\data\darknet_weights資料夾中,命令列進入h:\medical_python\lungcancer\yolov3_tensorflow-master_3並執行

python convert_weight.py
。之後就可以用

python test_single_image.py ./data/demo_data/messi.jpg
測試了。如下

二、影象標註

將voc2007資料集中的vocdevkit2007資料夾放在h:\medical_python\lungcancer\yolov3_tensorflow-master_3\data目錄下,在其中的jpegimages資料夾下放入自己的結節影象。採用labelimg來標註該結節影象,命名為nodule類。刪除原annotations資料夾下的xml檔案,將自己標註的檔案放入其中。修改layout、main、segmentation中的各個txt檔案,txt檔案為你的影象名稱,我這三個資料夾都複製的相同的txt檔案。

三、轉換voc2007標註格式

yolov3_tensorflow-master_3資料夾下新建voc_names.txt檔案,裡面寫入自己的類別名稱(nodule)。開啟yolov3_tensorflow-master_3\misc資料夾下的parse_voc_xml.py檔案。第8行改為絕對路徑,刪除15行,刪除17、18、21行中的voc2012檔案路徑。最後執行該程式,程式執行成功在h:\medical_python\lungcancer\yolov3_tensorflow-master_3\misc檔案中會有train.txt,val.txt兩個檔案.將這兩個檔案複製進./data/my_data/資料夾下,並在該資料夾下將train.txt中的幾行拿出來構造test.txt,再將train.txt,val.txt,test.txt複製進h:\medical_python\lungcancer\yolov3_tensorflow-master_3目錄中。

三、類別名稱修改

將voc_names.txt複製進h:\medical_python\lungcancer\yolov3_tensorflow-master_3\data\my_data資料夾下,修改名稱為data.names。將voc_names.txt複製進h:\medical_python\lungcancer\yolov3_tensorflow-master_3\data資料夾下,修改名稱為coco.names,將原來的檔案覆蓋。將voc_names.txt複製進h:\medical_python\lungcancer\yolov3_tensorflow-master_3\misc\experiments_on_voc中,修改名稱為voc.names,覆蓋原檔案。

四、修改yolo_anchors.txt

命令列h:\medical_python\lungcancer\yolov3_tensorflow-master_3下執行

python get_kmeans.py
用得到的值替換h:\medical_python\lungcancer\yolov3_tensorflow-master_3\data\yolo_anchors.txt的值。

五、訓練

命令列h:\medical_python\lungcancer\yolov3_tensorflow-master_3下執行

python train.py
訓練時候確認類別為二分類,這樣是錯的,

應該為

六、測試模型

將h:\medical_python\lungcancer\yolov3_tensorflow-master_3\checkpoint資料夾下選乙個訓練的模型檔案放進h:\medical_python\lungcancer\yolov3_tensorflow-master_3\data\darknet_weights資料夾中,並重命名為yolov3.ckpt。進入h:\medical_python\lungcancer\yolov3_tensorflow-master_3命令列,測試自己的。

yolov3訓練自己的資料集

6.測試訓練出的網路模型 訓練好後可以在 backup看到權重檔案 嘗試test前要修改cfg檔案,切換到test模式。可以重新建立乙個測試cfg檔案,如yolov3 voc ball test.cfg 測試 darknet detector test cfg voc ball.data cfg y...

ubuntu下訓練自己的yolov3資料集

此方法只適合voc格式的資料集 下面是貼圖 裡面的資料夾和voc是相同的,不同的是lables.該資料夾是是將voc格式的.xml轉換成txt的資料夾.裡面內容如下展示 2.修改配置 修改data voc.names裡面的類別為自己需要的類別名稱 修改cfg voc.data檔案 classes 2...

YOLOv3訓練自己的VOC資料集

yolo 一 安裝darknet並借助預訓練權重進行檢測 1.安裝darknetgit clone https pjreddie.com media files yolov3.weights3.執行檢測.darknet detect cfg yolov3.cfg yolov3.weights dat...