ComputerVisionCentre / mcv-m5

Master in Computer Vision - M5 Visual recognition
6 stars 16 forks source link

Adaptation of SSD (object detection) #5

Open Ivancaminal72 opened 6 years ago

Ivancaminal72 commented 6 years ago

Hi,

We have an issue in the implementation/adaptation of SSD Network. To be precise, it appears when trying to assign "boxes[best_iou_idx, 4:]" to "assignment[:, 5:-8][best_iou_mask]" in the assign_boxes method of BBoxUtility class inside tools/ssd_utils.py. The shape[1] of the "assigment" variable is "4 + num_classes + 8" but as the position [:,4] is not included when doing the assignment one position is missing.

The implementation of SSD that we use as reference is this one: https://github.com/rykov8/ssd_keras

The exact error that we get is this one: error

lluisgomez commented 6 years ago

Hi Ivan, I do not know much about this specific implementation of SSD but for what I have seen I guess the problem you are having is related with the variable self.num_classes ... As specified in line 11 of ssd_utils.py this variable corresponds to Number of classes including background. So, I think in your case you are assigning it to the number of classes (without bg) and thus it makes the shapes not match. Hope this helps... Btw, If you want me to take a look to your specific adaptation in the mcv-m5 framework give a link to a github repository (e.g. you can create a branch for this implementation even if it's not fully functional) that I can clone and reproduce your error.