| | |
| | | ### How to train tiny-yolo (to detect your custom objects): |
| | | |
| | | Do all the same steps as for the full yolo model as described above. With the exception of: |
| | | * Download default weights file for tiny-yolo-voc: http://pjreddie.com/media/files/tiny-yolo-voc.weights |
| | | * Get pre-trained weights tiny-yolo-voc.conv.13 using command: `darknet.exe partial cfg/tiny-yolo-voc.cfg tiny-yolo-voc.weights tiny-yolo-voc.conv.13 13` |
| | | * Make your custom model `tiny-yolo-obj.cfg` based on `tiny-yolo-voc.cfg` instead of `yolo-voc.2.0.cfg` |
| | | * Start training: `darknet.exe detector train data/obj.data tiny-yolo-obj.cfg tiny-yolo-voc.conv.13` |
| | | * Download default weights file for yolov2-tiny-voc: http://pjreddie.com/media/files/yolov2-tiny-voc.weights |
| | | * Get pre-trained weights yolov2-tiny-voc.conv.13 using command: `darknet.exe partial cfg/yolov2-tiny-voc.cfg yolov2-tiny-voc.weights yolov2-tiny-voc.conv.13 13` |
| | | * Make your custom model `yolov2-tiny-obj.cfg` based on `cfg/yolov2-tiny-voc.cfg` instead of `yolov3.cfg` |
| | | * Start training: `darknet.exe detector train data/obj.data yolov2-tiny-obj.cfg yolov2-tiny-voc.conv.13` |
| | | |
| | | For training Yolo based on other models ([DenseNet201-Yolo](https://github.com/AlexeyAB/darknet/blob/master/build/darknet/x64/densenet201_yolo.cfg) or [ResNet50-Yolo](https://github.com/AlexeyAB/darknet/blob/master/build/darknet/x64/resnet50_yolo.cfg)), you can download and get pre-trained weights as showed in this file: https://github.com/AlexeyAB/darknet/blob/master/build/darknet/x64/partial.cmd |
| | | If you made you custom model that isn't based on other models, then you can train it without pre-trained weights, then will be used random initial weights. |
| | |
| | | `darknet.exe detector calc_anchors data/obj.data -num_of_clusters 9 -width 416 -heigh 416` |
| | | then set the same 9 `anchors` in each of 3 `[yolo]`-layers in your cfg-file |
| | | |
| | | * desirable that your training dataset include images with objects at diffrent: scales, rotations, lightings, from different sides |
| | | * desirable that your training dataset include images with objects at diffrent: scales, rotations, lightings, from different sides, on different backgrounds |
| | | |
| | | * desirable that your training dataset include images with objects (without labels) that you do not want to detect - negative samples |
| | | * desirable that your training dataset include images with non-labeled objects that you do not want to detect - negative samples without bounded box |
| | | |
| | | * for training with a large number of objects in each image, add the parameter `max=200` or higher value in the last layer [region] in your cfg-file |
| | | |