DynamicDepth icon indicating copy to clipboard operation
DynamicDepth copied to clipboard

Where is Occlusion-aware Cost Volume implemented?

Open JunjieLiuSWU opened this issue 2 years ago • 8 comments

Hi, Occlusion-aware Cost Volume is proposed in your paper, but I didn't find where it is implemented in the code, could you show me about it?

JunjieLiuSWU avatar Aug 08 '22 02:08 JunjieLiuSWU

Hi JunjieLiu:

It is implemented at: https://github.com/AutoAILab/DynamicDepth/blob/d674b462cd1a5b2b84062de0b645bcd3f177ab82/dynamicdepth/networks/resnet_encoder.py#L205

fengziyue avatar Aug 08 '22 17:08 fengziyue

Hi JunjieLiu:

It is implemented at:

https://github.com/AutoAILab/DynamicDepth/blob/d674b462cd1a5b2b84062de0b645bcd3f177ab82/dynamicdepth/networks/resnet_encoder.py#L205

It sames that dynamic object mask is not used here.

JunjieLiuSWU avatar Aug 09 '22 11:08 JunjieLiuSWU

Thank you for pointing out the confusion. I just updated some variable names and comments.

The dynamic object mask is used in the DOMD module. After it, the occluded areas will be black. So in here we assume pixels of RGB value < 0.15 to be occluded.

Here we project the occlusion mask of the image to each layers of the cost volume.

fengziyue avatar Aug 09 '22 15:08 fengziyue

`

Thank you for pointing out the confusion. I just updated some variable names and comments.

The dynamic object mask is used in the DOMD module. After it, the occluded areas will be black. So in here we assume pixels of RGB value < 0.15 to be occluded.

Here we project the occlusion mask of the image to each layers of the cost volume.

Thank you for your explanation, but I have another question, I noticed that occluded areas will be set to zeros in the training phase (trainer.py), but It not applied in the inference phase(evaluate_depth.py), that means Occlusion-aware Cost Volume is not used in the inference phase? And why is that?

JunjieLiuSWU avatar Aug 10 '22 01:08 JunjieLiuSWU

do you mean here?

fengziyue avatar Aug 10 '22 02:08 fengziyue

do you mean here?

I mean here in the training phase, but there is not the same operation I the inference phase, and dynamic object mask is not used in the inference phase, so how is the DOMD is applied in the inference phase?

JunjieLiuSWU avatar Aug 10 '22 02:08 JunjieLiuSWU

Seems the evaluate_depth.py is not the correct version, I'm investigating it. You can use the val() function in the trainer.py now, it also evaluates on the test set.

fengziyue avatar Aug 10 '22 03:08 fengziyue

Seems the evaluate_depth.py is not the correct version, I'm investigating it. You can use the val() function in the trainer.py now, it also evaluates on the test set.

Thank you!

JunjieLiuSWU avatar Aug 10 '22 12:08 JunjieLiuSWU