i have 433 image dataset which consists of class (multiple class can be inside one image):
‘a’: 634,
‘b’: 501,
‘c’: 590,
‘d’: 293,
‘e’: 524,
‘f’: 262
i know my data is too small so i added several image augmentation technique and i get 2598 images without original image:
‘a’: 3804,
‘b’: 3006,
‘c’: 3540,
‘d’: 1757,
‘e’: 3142,
‘f’: 1569
i’m using SSD as detector and mobilenet v1 as backbone based on this repo:

  
      
      GitHub
  
  
    

qfgaohao/pytorch-ssd 2

MobileNetV1, MobileNetV2, VGG based SSD/SSD-lite implementation in Pytorch 1.0 / Pytorch 0.4. Out-of-box support for retraining on Open Images dataset. ONNX and Caffe2 support. Experiment Ideas lik...


  
  
    
    
  
  


in ssd there are 2 loss function , regression with smoothL1 and classification with  cross entropy,
i trained with my dataset with 80% training and 20% testing, i forgot to plot the training and validation loss but i’m sure i don’t overfit my model, i stopped training when the loss function increase, i get around 0.5 for regression loss and 1.5 for classification loss, i trained without pretrained model because that repo only provide voc pretrained model.
when i try to test my model with live cam the accuracy of detection is not good but can detect object with probability below 0.5, and cannot detect with little oclussion like when i grab the object with my hand
here mAP i get with confidence 0.5
mAP 33.68%:
'a': 0.38, 
'b': 0.45, 
'c': 0.27, 
'd': 0.65, 
'e': 0.16, 
'f': 0.11

i want to ask what should i do to improve my model, did i wrong with handling the dataset? thank you