YOLO v1 程式深度註解

YOLO v1 主要分為兩個資料夾,使用大陸 Ning 的 YOLO 程式碼。

第一個是 VOCdevkit,用來存放影像、Xml、Label。

第二個是 darknet,用來存放程式、訓練weights、cfg。

第一個訓練影像存放內容,請參考上一份文件「YOLO 藥品辨識訓練」。

第二個涵蓋資料夾有:

  1. cfg/架構設置的檔案

  2. scripts/官方提供的程式碼,包含產生下面data所需要的label,(voc_label.py)

  3. data/labels/偵測目標的標籤名稱,須自行產生

  4. src/存放程式碼位置

  5. model/yolo_final.weights 存放權重位置,當訓練之後此資料夾才會產生

Command line 測試影像

先進入darknet,輸入指令

./darknet yolo test cfg/yolo.cfg model/yolo\_final.weights

指令介紹

./darnket 執行檔

  • yolo 在 src/yolo.c 的檔案名稱

  • test 在yolo.c最下面參數的名稱,可自行增修功能

  • cfg/yolo.cfg 設置檔案路徑

  • model/yolo_final.weights 權重檔案路徑

在 YOLO 中需要調整的部分

  • 在 yolo.c 中第13行根據需要偵測的數目進行調整 #define CLASSNUM 2(原始是偵測兩種路標)

  • 第16行根據需要偵測的名稱以雙括號及逗號區隔。

char \*voc\_names\[\] = {"stopsign", "yieldsign"};
  • 在yolo_kernels.cu第17行,一樣依分類數量進行調整
\#define CLS\_NUM 2\(原始是偵測兩種路標\)
  • 在src/中可根據程式碼部分進行呼叫

  • Activation Function可到 src/activation.c src/activation.h自行定義或查看

  • 關於做NMS、BOX IOU定義部分可以查看 src/box.c

  • Dropout定義可查看 src/dropout_layer.c

  • 關於影像處理部分,存取檔案、顯示影像、OpenCV相關可以到 src/image.c src/image.h自行定義

  • 關於訓練架構中參數部分如有哪些activation function可用,架構相關可找 src/network.c

  • 關於權重存取程式,可以參考 src/parser.c

results matching ""

    No results matching ""