Hi.
I trained two custom datasets with ssd object detection model using mobilenetv1 backbone in tlt with original parameters in the tlt document (I use this tlt image version: tlt-streamanalytics:v2.0_py3).
the mAP results of my training are as below (after 100 epochs):
- first dataset with 2 classes and 7851 images, the mAP result reached to %80.
- second dataset with 1 class and 14500 images, the mAP result reached %83.
for improving the results I did some preprocessing on images :
preprocessing step:
a) I extracted the aspect ratio of boxes to set the aspect_ratios_global property in ssd_config file
b) and among different dimension of my images, I extracted the frequency size of my images
for 1st dataset most of my images are 1070 * 600 so I resized all images
to this size.
for 2nd dataset most of them are 224 * 224 then I resized my images to
this size.
and also changed these following parameters of ssd_config file:
c. learning-rate
d. number of epochs
e. number of batch
f. zoom_min, zoom_max in spatial_augmentation
g. and regularizer type(L1, L2).
(it should be mentioned I don’t want to change the mv1 backbone).
but with these custom parameters, the mAP result decreased instead of improving.
the best results are obtained when I resized my images to the original size mentioned in tlt : 1248 * 384, with original parameters in tlt config file.
-
why the results do not improve by changing the parameters of config file which are more adaptable than original parameter values?
-
why the original config file of ssd caused better results in both datasets?
I trained these 2 datasets with TensorFlow for 1st the mAP is %86 but tlt mAP is %80,
for 2nd dataset mAP of TensorFlow is %89 but tlt mAP is %83.