转载自:[双目测距系列(六)monodepth2的三种训练方式
](https://blog.csdn.net/avideoi...
作者:ltshan139
前言
monodepth2有三种训练方式,其对应的命令如下:
下面分别对这三种训练模式进行较详细解释 :
1)单目训练
monocular是单目的意思,而双目的英文则是binocular。现在基于深度学习方法对单目图像重构出三维世界非常流行。我个人觉得这里面的基础理论是SFM(structure From Motion)。直白讲,它是依靠运动视频的图像帧序列来进行三维重建。其优势很明显,只需要一个摄像头即可,当然前提条件则是,需要摄像头本身动起来,拍一段视频流。
在monodepth2的单目模型训练中,它缺省需要一个参数--frames_ids 0 -1 1。0代表当前输入的样本图片,-1则代表当前帧在这个视频系列中的上一帧,1则代表下一帧。
2)立体训练
stereo字面意思为立体,这里更准确的含意则为双目。有两个重要参数:--frame_ids 0和--use_stereo。前者意味着不需要对当前输入帧来找上下帧了;后者意味要对当前帧来找它的另外一帧,比如当前帧为左摄像头拍摄得到的帧,那么其对应的另外一帧则为右摄像头的。
这种模型比较适合带双目摄像头,且设备固定在某一个位置上。
3)单目+立体训练
这种方法是前面两种的组合,适用于有双目摄像头,且是运动的场景。 由于它是前两种的综合体,所以训练速度会比较慢。
结论
刚接触这个模型的同学可能会好奇到底哪种训练方式得到的模型更准确。其实从paper看,作者并没有做出优劣的比较(他觉得都挺好),反过来着重提供了针对不同场景的三种训练方式,合适的就是最好的。
推荐阅读
更多海思AI芯片方案学习笔记欢迎关注海思AI芯片方案学习。