hbilen / WSDDN

Weakly Supervised Deep Detection Networks (CVPR 2016)
148 stars 53 forks source link

ROIS offset #16

Closed zhaohui-yang closed 5 years ago

zhaohui-yang commented 5 years ago

I'm curious why I should use offset on rois? can't I just rescale rois by 1/16? Thanks~

train.m ss = [16 16] ; if is_vgg16 o0 = 8.5 ; o1 = 9.5 ; else o0 = 18 ; o1 = 9.5 ; end rois = [ rois(1,:); floor((rois(2,:) - o0 + o1) / ss(1) + 0.5) + 1; floor((rois(3,:) - o0 + o1) / ss(2) + 0.5) + 1; ceil((rois(4,:) - o0 - o1) / ss(1) - 0.5) + 1; ceil((rois(5,:) - o0 - o1) / ss(2) - 0.5) + 1];

zhaohui-yang commented 5 years ago

by the way, there is not momentum when optimizing, right?

zhaohui-yang commented 5 years ago

when fetch data, rois, you calculate center, newh, neww? Will there be difference if I use rois = rois * scale_ratio

` h = szIn(1); w = szIn(2);

bxr = 0.5 (boxIn(:,2)+boxIn(:,4)) / w; byr = 0.5 (boxIn(:,1)+boxIn(:,3)) / h;

bwr = (boxIn(:,4)-boxIn(:,2)+1) / w; bhr = (boxIn(:,3)-boxIn(:,1)+1) / h;

% boxIn center in new coord byhat = (szOut(1) byr); bxhat = (szOut(2) bxr);

% relative width, height bhhat = szOut(1) bhr; bwhat = szOut(2) bwr;

% transformed boxIn boxOut = [max(1,round(byhat - 0.5 bhhat)),... max(1,round(bxhat - 0.5 bwhat)), ... min(szOut(1),round(byhat + 0.5 bhhat)),... min(szOut(2),round(bxhat + 0.5 bwhat))];`