圖像標註、訓練、識別

環境

環境:windows10 + anaconda3(conda4.8.2)+ labelImg1.8.1 + VSCode

版本:python3.6.0 + opencv4.1.0 + yolo3 +keras 2.3.1 +tensorflow-gpu2.1.0

運行過程

1.下載

下載項目框架 git clone https://gitee.com/cungudafa/keras-yolo3.git下載權重 單獨下載yolov3.weights 權重,放在項目根目錄下將 DarkNet 的.weights文件轉換成 Keras 的.h5文件 python convert.py -w yolov3.cfg yolov3.weights model_data/yolo_weights.h5 可以查看到我們的模型結構: docs/model_summary.txt

2.標籤分類

下載數據集:(我這裡用hand進行試驗,你可以用你自己的標註數據集)

本次使用的數據集來自:牛津大學Arpit Mittal, Andrew Zisserman和 Phil Torr

資料下載:

我們用到的數據集為VOC格式:我們僅下載evaluation_code.tar.gz(13.8M)即可。

將下載的數據集複製到項目路徑下:(事實是數據集有400+圖片,我訓練起來太累了,容易過擬合,這裡只用了009985-010028共40+張圖片進行訓練)

運行script目錄下獲取標籤:

voc標籤格式:voc_annotation.pyyolo標籤格式:yolo_annotation.py

3.訓練

修改train.py中訓練輪速、路徑(可選步驟)訓練 train.py(50輪和100輪,各保存一次)保存在logs目錄下

神經網絡可視化,在根目錄下運行:tensorboard --logdir=logs\

會將運行記錄打印到瀏覽器中 打開瀏覽器查看:http://localhost:6006/

可視化查看神經網絡loss:

項目目錄下運行: tensorboard --logdir=logs\瀏覽器查看:http://localhost:6006/

4.測試

參考tf2-keras-yolo3,可以直接對圖片和視頻進行檢測。

我另外封裝了一下檢測部分的代碼:識別部分keras-yolo3-recognize

運行predict.py或者:

<code># 圖片檢測 python yolo_video.py --image 再輸入圖片路徑 # 視頻檢測 python yolo_video.py --input img\test.mp4/<code>

項目:

git:https://gitee.com/cungudafa/keras-yolo3