Training YOLOv4_tiny model for varying scenarios and better accuracy

This is link to my previous question



Now as suggested in the answer i am trying to train YOLOv4_tiny model but i need some help for following issues.

  • which backbone should i go for as the scenarios in my dataset varies a lot, default suggested in notebook provided by nvidia is cspdarknet_tiny, i am bit confused because i was suggested to increase layers for when i was training for detectnet_v2 with resnet18 as backbone or go for some big backbone, so what should i go for?
  • I get following in output when i run command:-
    tao yolo_v4_tiny kmeans -l $DATA_DOWNLOAD_DIR/training/label_2
    -i $DATA_DOWNLOAD_DIR/training/image_2
    -n 6
    -x 640
    -y 640

output is


Start optimization iteration: 1
Start optimization iteration: 11
Start optimization iteration: 21
Start optimization iteration: 31
Please use following anchor sizes in YOLO config:
(14.00, 17.33)
(25.67, 32.02)
(50.00, 39.33)
(39.09, 66.67)
(89.02, 96.00)
(352.00, 281.31)


Now in config file provided that is named yolo_v4_tiny_train_kitti.txt it gives only only two parameters
big_anchor_shape: “[(260.69, 172.35), (125.91, 81.47), (72.27, 42.42)]”
mid_anchor_shape: “[(30.80, 71.40), (38.97, 26.86), (18.88, 17.11)]”

and in docs it talks about three i.e
big_anchor_shape,
mid_anchor_shape,
and small_anchor_shape

so should i go for three mentioned in docs please not i am just taking order from below to top as i think big numbers represent big anchor shape.
if yes then is this correct
for big_anchor_shape i use-

  1. (89.02, 96.00)
  2. (352.00, 281.31)

for mid_anchor_shape-

  1. (50.00, 39.33)
  2. (39.09, 66.67)

and for small_anchor_shape-

  1. (14.00, 17.33)
  2. (25.67, 32.02)

here is my config file
yolo_v4_tiny_train_kitti.txt (2.3 KB)

for look at my sample dataset look in the link below for new_folder.zip

Please refer to YOLOv4-tiny - NVIDIA Docs

Some useful comments from it:

The backbone for feature extraction. For YOLOv4-tiny, only cspdarknet_tiny and cspdarknet_tiny_3l are supported.

For YOLOv4-tiny, if using cspdarknet_tiny arch, only big_anchor_shape and mid_anchor_shape should be provided; if using cspdarknet_tiny_3l arch, all 3 shapes should be provided.

For YOLOv4-tiny, if using cspdarknet_tiny arch, to align with anchor shapes, only big_grid_xy_extend and mid_grid_xy_extend should be provided; if using cspdarknet_tiny_3l arch, all of them should be provided.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.