j96w/DenseFusion

All confidence scores of "foam_brick" are always 1.

oorrppp2 opened this issue · 0 comments

I checked all confidence scores like below.

I added 2 lines in "tools/eval_ycb.py" 192ln,

        indices = torch.LongTensor([range(21)])
        indices = Variable(indices).cuda()

and I changed the estimator function as below.

        pred_r, pred_t, pred_c, emb = estimator(img_masked, cloud, choose, index, indices)

I changed the function in "lib/network.py" 95ln to below. (PoseNet::forward)

def forward(self, img, x, choose, obj, objs):

I added 3 lines in "lib/network.py" 122ln. (PoseNet::forward)

    all_cx = torch.index_select(cx[0], 0, objs[0])
    all_cx = all_cx.contiguous().transpose(2, 1).contiguous()

And I printed mean of all_c[20] (i.e. mean confidence value of "foam_brick") like below.

    print(torch.mean(all_cx[20]))

Finally, it always printed

    tensor(1.0000, device='cuda:0', grad_fn=<MeanBackward0>)

But the other mean confidence almost uniformly spread.
Is it possible? or Did I make any mistakes?
(Tested with trained checkpoint
"pose_model_26_0.012863246640872631.pth",
"pose_refine_model_69_0.009449292959118935.pth"
downloaded from https://drive.google.com/drive/folders/19ivHpaKm9dOrr12fzC8IDFczWRPFxho7 )