本教程是作者自己參考了一系列資料,以及踩坑之後總結下來的。和大家分享一下。
這次使用的模型是YOLOv3 的keras版本。
連結如下:
https://github.com/qqwweee/keras-yolo3
具體的使用細節,github上都寫明了。
我這裡是為了檢測圖像,所示使用,記得下載下傳yolo的權重。
python yolo_video.py --image
就行了
要使用VOC的資料集。我們需要做的是在目前項目的目錄下建立VOCdevkit檔案夾。
檔案的目錄如下:
VOCdevkit
--VOC2007
--Annotations 用于存檔xml檔案
--ImageSets
--Main 存放訓練集和測試集需要用要的檔案編号
--JPEGImages2 存放需要檢測的圖檔
我們需要在Main目錄下,建立兩個檔案。test.txt和train.txt
這兩個檔案是給voc_annotation.py調用的,目的是用來生成符合keras-yolo3的資料格式。
如何生成test.txt和train.txt
這兩個檔案時需要我們自己編寫的,我利用的是python腳本将Annotations裡面的檔案,讀取出來随機打亂,然後按照八二開的原則,将檔案名字放入train和test檔案中,需要注意的是,不要包含字尾名。
然後調用voc_annotation.py腳本
這裡需要注意的是,sets要生成的檔案名,他會分别讀取Main路徑下的,train和val還有test。如果我們不需要其中的某一項,則将其從list中去掉。
在classes中把自己資料源中的需要識别的類加進去。我需要的隻是car和train。
調用之後會在根目錄生成
三個檔案。接着打開
k-mean.py檔案,把filename改成自己需要訓練的資料集。該腳本會生成一個yolo_anchors.txt檔案,把這個檔案放入到model_data檔案中去。
打開train.py檔案
把檔案對應的檔案名字修改成為你自己的檔案。并修改好input_shape.
把自己下載下傳的權重的路徑修改好。修改對應的trian和fine-tune對應的參數,我修改的是batch_size和epochs。
使用 python train.py我們就可以跑起來了。
這樣我們就可以跑起來了。