thank you for your great work, I think this project is really interesting and I like the fact that it can be adapted to different situations.
I'm trying to implement my custom object detector (single class, just one object) by using a small dataset annotated using COCO format.
A couple of questions arised:
In function prepare_train_dataset (dataset.py), I see some transformations are applied. But what about the bounding boxes? In line 50 (dataset.py) transformations are applied but it seems that bounding boxes coordinates don't change. Do they need to be updated too?
In DetectionLayer (layers.py) when calculating 'conf' (objectness loss) we have
loss['conf'] = MSELoss(pred_conf * obj_mask * 5, gt_conf * obj_mask * 5) + \ MSELoss(pred_conf * (1 - obj_mask), pred_conf * (1 - obj_mask))
but shouldn't the last "pred_conf" be "gt_conf" instead?
During the training process, I see that the 'cls' (class loss) value is always 0. I've configured the number of classes correctly (one class) and the other losses seem to be ok, but 'cls' is still always zero. Could it be the fact that I'm using one class only? Have you got any suggestions on how I can solve this issue?
Hello,
thank you for your great work, I think this project is really interesting and I like the fact that it can be adapted to different situations. I'm trying to implement my custom object detector (single class, just one object) by using a small dataset annotated using COCO format.
A couple of questions arised:
In function prepare_train_dataset (dataset.py), I see some transformations are applied. But what about the bounding boxes? In line 50 (dataset.py) transformations are applied but it seems that bounding boxes coordinates don't change. Do they need to be updated too?
In DetectionLayer (layers.py) when calculating 'conf' (objectness loss) we have
loss['conf'] = MSELoss(pred_conf * obj_mask * 5, gt_conf * obj_mask * 5) + \ MSELoss(pred_conf * (1 - obj_mask), pred_conf * (1 - obj_mask))
but shouldn't the last "pred_conf" be "gt_conf" instead?During the training process, I see that the 'cls' (class loss) value is always 0. I've configured the number of classes correctly (one class) and the other losses seem to be ok, but 'cls' is still always zero. Could it be the fact that I'm using one class only? Have you got any suggestions on how I can solve this issue?
Thank you!