用tensorflow实现yolov3
完整YOLOv3流程
原作者 : YunYang1994
論文: YOLOv3
環(huán)境: win7 + anaconda + python3.6 ( 建議用anaconda,方便一些)
下載代碼之前,請先裝好環(huán)境和相關(guān)依賴。
pip install -r docs/requirements.txt
1.github下載YOLOv3的tensorflow實現(xiàn)代碼。
git clone git@github.com:sowei728/tensorflow_for_YOLOv3.git
2.下載YOLOv3的初始權(quán)值放到checkpoint文件夾中。
wget https://pjreddie.com/media/files/yolov3.weights
windows 沒有wget命令就直接找個瀏覽器把URL輸進(jìn)去就好了
3.標(biāo)注自己的VOC格式數(shù)據(jù)。
使用labelImg腳本,下載地址: http://tzutalin.github.io/labelImg/
腳本使用非常簡單,自己看看就會了,最后腳本生成的xml文件放入dataset文件夾的anno文件夾中,原jpg的圖片放入images文件夾中
4. 將xml文件中的標(biāo)注信息匯總到txt中。
自己新建3個txt文件:
labels.txt 存放所有圖片的標(biāo)注信息
train.txt 存放訓(xùn)練圖片的標(biāo)注信息(總圖片的80%)
test.txt 存放測試圖片的標(biāo)注信息(總圖片的20%)
文件內(nèi)容:(以空格隔開)
圖片路徑 x1min y1min x1max y1max cls1_id x2min y2min x2max y2max cls2_id …
運(yùn)行腳本即可:
python scripts/load_xml_into_txt.py
5.將train.txt和test.txt轉(zhuǎn)化為train.tfrecords和test.tfrecords文件。
python convert_tfrecord.py --dataset_txt ./apple_dataset/train.txt --tfrecord_path_prefix ./apple_dataset/apple_train
python convert_tfrecord.py --dataset_txt ./apple_dataset/test.txt --tfrecord_path_prefix ./apple_dataset/apple_test
apple_test.tfrecords 和 apple_train.tfrecords會生成在dataset目錄下
6. 查看文件標(biāo)注有無問題。
python show_input_image.py
如果正常出現(xiàn)圖像及標(biāo)注信息則代表文件標(biāo)注無問題
7.kmeans求出k個anchor box的長寬。
python kmeans.py
會輸出準(zhǔn)確率和k個anchor box的長寬信息,本實驗中確定的k值為9
長寬信息需要填入到data/apple_anchors.txt中
8.轉(zhuǎn)化yolov3.weights為ckpt模型權(quán)值。
python convert_weight.py --convert
9.訓(xùn)練模型,保存模型到checkpoint文件夾中。
python quick_train.py
與50位技術(shù)專家面對面20年技術(shù)見證,附贈技術(shù)全景圖總結(jié)
以上是生活随笔為你收集整理的用tensorflow实现yolov3的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java基础18(类加载、反射和动态代理
- 下一篇: git操作之版本控制