MVSnet 代码详解(pytorch)

大致过一下MVSnet 论文中核心的点对应代码应该怎么写。
在这里插入图片描述
forward 函数需要 照片,映射矩阵,以及深度值。 照片的shape是 (1,5,3,1184,1600)代表着1个batch,5张图片,然后一次是每张图片的channel和大小。projection_matrix是 (1,5,4,4)代表着5个(4*4)的举证。深度shape是(192,1) (这个还不知道为什么是这个shape)。

首先这输入进入self.feature里面去提取特征,self.feature 是一个feature net。他包括了6层 con2d +batchnorm2d
在这里插入图片描述
得到特征之后,就需要构建cost volume。
在这里插入图片描述
homo_warping是一个比较重要的函数,他的主要功能就是去实现differentiable homography。
这个函数需要src_fearture,src projection metrics, reference projection matrix,以及相对应的depth value。我的理解是,这里给到的 src_projection matrix是指,从src的相机坐标系投射到世界坐标系的投影矩阵。同理reference projection matrix 也是从reference image 的相机坐标系投影到世界坐标系。我们想要的是,将src的特征投影到ref的feature plane 上面。通过,src_projection左乘ref_projection的逆得到先将src投射到世界坐标系,然后再讲它们从世界坐标系中投射到ref plane上。
在这里插入图片描述
在这里插入图片描述
首先使用torch.meshfgrid这个函数来初始化点云。这个点之后xy两个方向,我们之后继续将生成的点的Z轴的值初始化成1。 然后初始化,depth volume. 创建一个深度网格。在这里插入图片描述在这里插入图片描述
其实上面三个图片的代码是在实现一下这个公式:
在这里插入图片描述
然后使用src_feature 在这个网格中进行采样。
在这里插入图片描述
采样得到的特征的shape是(1,32,192,296,400),大小和特征图大小一致,只是多了一个用来表示深度范围的维度。因为mvs 它不是要计算精确的depth,而是一个depth probability。这个应该对应的是原图中画圈的地方。
在这里插入图片描述
然后对得到的feature volume 之后, 把 feature volume 合成一个 大的volume
在这里插入图片描述
下一步需要计算cost regularization,它使用的是一个类似于U-net的网络啊
在这里插入图片描述
将得到的cost_volume 做一个 softmax得到 probability volume ,然后用回归深度。
在这里插入图片描述
最后的refinement 网络 就是一个很简单的小网络。
在这里插入图片描述

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
YOLOv3是一种目标检测算法,它在PyTorch框架下实现。你可以在GitHub上找到YOLOv3的PyTorch版本代码,地址是https://github.com/ultralytics/yolov3。这个代码库提供了一些教程和运行结果,但不一定能直接运行成功。你可以在同目录下新建一个.ipynb文件,并在其中运行代码"%run detect.py"来尝试运行。\[1\] 在代码解读方面,首先需要准备数据集和关键文件。然后,代码的大致流程包括数据与标签的读取、模型构造、前向传播和计算损失。具体来说,模型构造部分包括构建convolutional层、rout层和shortcut层,以及构建yolo层。\[2\] 如果你想深入了解YOLOv3的PyTorch版本代码,可以参考官方教程,地址是https://github.com/ultralytics/yolov3/wiki/Train-Custom-Data。这个教程提供了更详细的训练自定义数据集的指导。\[3\] #### 引用[.reference_title] - *1* *3* [YOLOv3 Pytorch代码及原理分析(一):跑通代码](https://blog.csdn.net/weixin_43605641/article/details/107524168)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [YOLOV3 Pytorch版本代码解读](https://blog.csdn.net/Weary_PJ/article/details/128749270)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值