  Self-supervised monocular depth estimation methods typically rely on the
reprojection error to capture geometric relationships between successive frames
in static environments. However, this assumption does not hold in dynamic
objects in scenarios, leading to errors during the view synthesis stage, such
as feature mismatch and occlusion, which can significantly reduce the accuracy
of the generated depth maps. To address this problem, we propose a novel
dynamic cost volume that exploits residual optical flow to describe moving
objects, improving incorrectly occluded regions in static cost volumes used in
previous work. Nevertheless, the dynamic cost volume inevitably generates extra
occlusions and noise, thus we alleviate this by designing a fusion module that
makes static and dynamic cost volumes compensate for each other. In other
words, occlusion from the static volume is refined by the dynamic volume, and
incorrect information from the dynamic volume is eliminated by the static
volume. Furthermore, we propose a pyramid distillation loss to reduce
photometric error inaccuracy at low resolutions and an adaptive photometric
error loss to alleviate the flow direction of the large gradient in the
occlusion regions. We conducted extensive experiments on the KITTI and
Cityscapes datasets, and the results demonstrate that our model outperforms
previously published baselines for self-supervised monocular depth estimation.
