YOLOv4 Tiny 演算法可以應用在工廠瑕疵檢測、醫療影像分析、生物影像分析、工安影像分析、口罩影像分析等。
[操作步驟及說明]
1_annotation_pascal_voc_xml.ipynb
開啟標記軟體。準備 png 或 jpg 影像進行標記,影像建議長寬比例一樣。
2_prepare_config_file.ipynb
設定參數。classes= 4 : 偵測類別數。
開啟 data/yolov4-tiny.cfg,搜尋 "classes =",在 anchors = 下面,共有 2 個地方需要設定類別數。
接著搜尋 #filters =(classes + 5)x3 #255,修改此字串下方的 filters=,例如 : 4 類別,則 filters=27,共有 2 個地方需要設定。
設定類別名稱,請在 data/label.names 設定類別名稱,類別名稱需與標註時所用的類別名稱一模一樣。
3_prepare_image_txt.ipynb
將標記好的 voc xml 轉換成 yolo 格式。
4_prepare_train_txt.ipynb
準備訓練影像清單。
- image_path = "data/train/images" : 訓練影像路徑。
- txt = "data/train.txt" : 輸出的訓練影像清單。
5_prepare_val_txt.ipynb
準備驗證影像清單。
- image_path = "data/val/images" : 驗證影像路徑。
- txt = "data/val.txt" : 輸出的驗證影像清單。
99_calculate_anchors.ipynb
訓練之前請記得執行此 ipynb。-width 320 -height 320 為要訓練影像的大小 (可修改),如果實際影像非尺寸會進行縮放,建議影像的長寬要等比例。
執行後,請複製視窗上面的
anchors = 32, 57, 40,180, 149, 69, 124,146, 74,294, 148,284
將此組數字貼在 data/yolov4-tiny.cfg 裡面的所有 anchors,共有 2 個地方需修改。接著,修改cfg 裡面的 width=320、height=320,需要與此 ipynb 設定的值一樣。
6_train_CPU.ipynb
6_train_GPU.ipynb
訓練,如果裝置支援 GPU 加速運算請選擇 6_train_GPU,反之請選擇 6_train_CPU。
model/yolov4-tiny_best.weights :以此模型接續訓練。如果不接續請刪除此參數。
os.system("start src/darknet/build/darknet/x64/darknet_no_gpu.exe detector train data/voc.data data/yolov4-tiny.cfg model/yolov4-tiny_best.weights -map -clear")
7_inference_CPU.ipynb
7_inference_GPU.ipynb
推論單張影像。
- model/yolov4-tiny_best.weights : 推論的模型。
- data/test/images/inclusion-2.jpg : 推論的影像。
8_inference_webcam_CPU.ipynb
8_inference_webcam_GPU.ipynb
使用 webcam 推論。-c 0 為 webcam 裝置 id。
9_inference_folder_1_CPU.ipynb
9_inference_folder_1_GPU.ipynb
推論資料夾內的影像與計算正確率。
偵測出來的類別名 = 圖檔名的類別名稱 => 正確。
圖檔名格式為 : 類別名稱-xxx.png。
- image_path = "data/test/images" : 推論資料夾 (jpg、png)。
- model_path = "model/yolov4-tiny_best.weights" : 推論的模型。
10_inference_api_CPU.ipynb
10_inference_api_GPU.ipynb
11_inference_api_browser.ipynb
推論的 API,運行 10_inference_api_CPU.ipynb 開啟 server,接著運行 11_inference_api_browser.ipynb,跳出瀏覽器,可以選擇圖片進行推論。
- --port 8801 : 開啟的 port。
- --model_file model/yolov4-tiny_best.weights : 推論的模型。
- --threshold 0.7 : 推論閾值,數值越高,要求的相似程度越嚴格。
12_inference_folder_demo_GPU.ipynb
12_inference_folder_demo_CPU.ipynb
循環推論 data/plate/test 資料夾內的圖片。
這個 SDK 內建於 AppForAI 人工智慧開發工具。
單獨購買價格:5,000元,永久授權,單一 SDK 授權,單機授權,一次下載,無更新服務,一年電子郵件範例諮詢服務。如果是軟體客製化問題,請購買我們的客製化顧問服務點數。