Closed hjxwhy closed 3 months ago
Same question.
This may be caused by a very large depth range of your data. You can simply clip the inverse depth range with >0 or shift the whole range to make sure the minimum one is larger than 0.
Now we update the code for schedule_inverse_range
in with a new parameter shift
.
https://github.com/maybeLx/MVSFormerPlusPlus/blob/97097d92cc633e8c507838e6521a6f0270af2f83/models/module.py#L707
You could set shift=True
and manually set 1/max_depth (which is set as 0.002 in default, meaning max depth is 500) to prevent negative depth estimation.
The reason to manually set this 1/max_depth is that max_depth is influenced by the extrinsic translation, which may be very different according to various datasets (DTU is 935, while Tanks and Temple is 50).
@ewrfcas is this only relevant during training?
thanks for your code, i an using your code for training my own data, but i found the schedule_inverse_range will return negative depth hypo, i read the code carefully and found that split_itv is great than 1, if the depth_pred is closed to max_depth or min_depth, inverse_max_depth will be negative. Do you have some suggestions? Best wishes