Caffe: Min/max ratios in ssd_pascal.py

Created on 19 Jul 2016  路  2Comments  路  Source: weiliu89/caffe

I'm currently tweaking various hyperparameters to get better results from my data.

examples/ssd/ssd_pascal.py

# Minimum scale of 0.2
min_ratio = 20
max_ratio = 95
step = int(math.floor((max_ratio - min_ratio) / (len(mbox_source_layers) - 2)))
min_sizes = []
max_sizes = []
for ratio in xrange(min_ratio, max_ratio + 1, step):
  min_sizes.append(min_dim * ratio / 100.)
  max_sizes.append(min_dim * (ratio + step) / 100.)
# A box with scale 0.1 is added nonetheless. Why?
min_sizes = [min_dim * 10 / 100.] + min_sizes
max_sizes = [[]] + max_sizes

Magic Number Alert:
I do not understand why a box with ratio 10 is being added to the list of box sizes.
If I were to set min_ratio = 4, would it still make sense to add the min_dim * 10 / 100 box, or should I rather add a min_dim * 2 / 100 box?

In your SSD paper, you write

[sic 3.4 MS COCO] but
now our smallest default box has a scale of 0.1 instead of 0.2, and the scale of the default
box on conv4 3 is 0.07 (e.g. corresponding to 21 pixels for a 300 脳 300 image).

Is this cite relevant to this?

I would be happy if you could shed some light on this subject, please.

Most helpful comment

The extra min_sizes is for conv4_3.

I think how to determine the optimal scale of default boxes at each layer is an open question. I believe it will be helpful to look at the specific dataset and design specific tiling strategy to cover the ground truth bbox space better. The ones I used in the paper is by no means the optimal.

All 2 comments

The extra min_sizes is for conv4_3.

I think how to determine the optimal scale of default boxes at each layer is an open question. I believe it will be helpful to look at the specific dataset and design specific tiling strategy to cover the ground truth bbox space better. The ones I used in the paper is by no means the optimal.

Thank you for your feedback.

Was this page helpful?
0 / 5 - 0 ratings