The YOLOv4 Tiny algorithm can be applied to factory defect detection, medical image analysis, biological image analysis, industrial safety image analysis, mask image analysis, etc.
[Instructions]
1_annotation_pascal_voc_xml.ipynb
Open the marking software. Prepare a png or jpg image for annotation. It is recommended that the image has the same aspect ratio.
2_prepare_config_file.ipynb
Setting parameters. classes= 4 : The number of detection classes.
Open data/yolov4-tiny.cfg, search for "classes=", under anchors =, there are 2 places where you need to set the number of categories.
Then search for #filters =(classes + 5)x3 #255, modify the filters= below this string, for example : 4 categories, then filters=27, there are 2 places to be set.
To set the category name, please set the category name in data/label.names. The category name must be exactly the same as the category name when labeling.
3_prepare_image_txt.ipynb
The annotated voc xml convert yolo format.
4_prepare_train_txt.ipynb
Prepare a list of training images.
- image_path = "data/train/images": Training image path.
- txt = "data/train.txt": The output training image list.
5_prepare_val_txt.ipynb
To prepare the verification image list.
- image_path = "data /val/images": verification image path.
- txt = "data/val.txt": The output verification image list.
99_calculate_anchors.ipynb
Please remember to execute this ipynb before training. -width 320 -height 320 is the size of the image to be trained (can be modified).
If the image is not in size, it will be scaled. It is recommended that the aspect ratio of the image is the same.
After execution, please copy the
anchors = 32, 57, 40,180, 149, 69, 124,146, 74,294, 148,284
Paste this group of numbers on all anchors in data/yolov4-tiny.cfg, there are 2 places that need to be modified. Next, modify width=320 and height=320 in cfg, which need to be the same as the value set by ipynb.
6_train_CPU.ipynb
6_train_GPU.ipynb
For training, if the device supports GPU accelerated computing, please select 6_train_GPU, otherwise, please select 6_train_CPU.
model/yolov4-tiny_best.weights :Continue training with this model. If you do not continue, please delete this parameter.
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
Inferring a single image.
- model/yolov4-tiny_best.weights : Inferred model.
- data/test/images/inclusion-2.jpg : Inferred image.
- -thresh 0.75 : The threshold of inference.
8_inference_webcam_CPU.ipynb
8_inference_webcam_GPU.ipynb
Use webcam inference. -c 0 is the webcam device id.
9_inference_folder_1_CPU.ipynb
9_inference_folder_1_GPU.ipynb
Infer all images in the folder.
- image_path = "data/test/images" : Inference folder (jpg, png).
- model_path = "model/yolov4-tiny_best.weights" : Inferred model.
10_inference_api_CPU.ipynb
10_inference_api_GPU.ipynb
11_inference_api_browser.ipynb
Inference API, run 10_inference_api_CPU.ipynb to open the server, and then run 11_inference_api_browser.ipynb, jump out of the browser, you can select a picture for inference.
- --port 8801 : The opened port.
- --model_file model/yolov4-tiny_best.weights : Inferred model.
- --threshold 0.7 : Inference threshold, the higher the value, the stricter the similarity.
12_inference_folder_demo_GPU.ipynb
12_inference_folder_demo_CPU.ipynb
Cycle inference to the picture of data/plate/test.
This SDK is built in AppForAI - AI Dev Tools.
Purchase license separately: USD 600, permanent authorization, single APP authorization, single machine authorization, one-year activation, one-year download, one-year update, one-year email technical support.
Contact Us and How to Buy
Welcome to contact us. Please refer to the following link:
https://www.myai168.com/article/index?sn=11059