since posting this, I came across this comment regarding anchors - which reminded me that when when running python train.py ...
I got the following warning
Analyzing anchors... Best Possible Recall (BPR) = 0.8737. Attempting to generate improved anchors, please wait..
WARNING: Extremely small objects found. 19703 of 106396 labels are < 3 pixels in width or height.
Running kmeans for 9 anchors on 106164 points...
thr=0.25: 0.9997 best possible recall, 6.98 anchors past thr
n=9, img_size=640, metric_all=0.439/0.794-mean/best, past_thr=0.517-mean: 3,5, 4,9, 6,8, 6,13, 10,11, 8,19, 17,18, 13,28, 26,40
Evolving anchors with Genetic Algorithm: fitness = 0.8067: 100%|██████████████████████████████████████████████████████████████████████████████████████████████████████| 1000/1000 [00:02<00:00, 384.28it/s]
thr=0.25: 0.9997 best possible recall, 7.43 anchors past thr
n=9, img_size=640, metric_all=0.467/0.806-mean/best, past_thr=0.529-mean: 2,4, 3,7, 4,7, 5,11, 7,10, 6,16, 10,14, 11,23, 20,29
New anchors saved to model. Update model *.yaml to use these anchors in the future.
So the 40-50 mAP@50 I was seeing with these retrained yolov5s models were using these anchors. It is no suprise I get such terrible performance when converting to a HAR model, since it is using the anchors suited for the COCO dataset. I’m currently attempting to update the anchors, but not 100% sure how, e.g. should I update the base file, add an anchors:
key to the yolov5.yaml?