2019年2月22日13:52:37
https://zhuanlan.zhihu.com/p/29968267
这里有个tensorlfow代码的阅读博客:
https://zhuanlan.zhihu.com/p/29664269
跑的是这个版本: https://github.com/ClubAI/MonoDepth-PyTorch
输入的图片先resize到 256x512 大小
model部分生成了4个不同尺度的视差图:
print("self disp1 size:", self.disp1.size() ) # torch.Size([1, 2, 256, 512]) print("self disp2 size:", self.disp2.size() ) # torch.Size([1, 2, 128, 256]) print("self disp3 size:", self.disp3.size() ) # torch.Size([1, 2, 64, 128]) print("self disp4 size:", self.disp4.size() ) # torch.Size([1, 2, 32, 64]) return self.disp1, self.disp2, self.disp3, self.disp4 # 输出各个尺度的左右视差图
然后 loss 部分 loss = loss_function(disps, [left, right])
因为双目相机视差公式 x_left = x_right + disparity 是假设两个相机的光轴平行,
然后代码中真的就是直接加。
所以输入到网络中的 左-右图像对都要先做 立体校正 !
参考 cv2.stereoRectify 的相关知识。
https://www.cnblogs.com/zyly/p/9373991.html
另外,kitti的左右图像对重叠率在90%以上,如果自己用双目相机拍视频
的话应该尽量贴近kitti数据集的状态。