GBi-Net理解

1. Introduction

1.1 Problem

由于预测空间大得多,密集搜索不一定能保证更高的精度,并且显著增加了模型的复杂性,导致模型训练中的优化难度更高。

1.2 Contribution

1.从搜索策略的角度,提出了一种针对MVS的离散二值搜索方法(Bi-Net),该方法可以极大地减少代价体的内存使用。它在每个阶段执行比较并消除一半的搜索空间(见下图),并且可以在对数阶段内快速收敛到细粒度。在设计中,与基于回归的方法(直接从深度范围中采样深度值)不同,将深度范围划分为两个箱子,使用两个箱子的中心点的深度来表示它们,并构建代价体,通过二值分类来确定哪个箱子包含真正的深度值。二值搜索提供了更高的效率,同时也带来了网络分类错误的问题,每个搜索阶段都可能累积误差,导致不稳定的梯度优化和相对较低的精度。

在这里插入图片描述

2.进一步提出了一个高效的广义二值搜索网络(GBi-Net),设计三种机制(容错箱填充、梯度掩膜和高效梯度更新)来分别处理分类错误、超出范围的箱子和减少训练内存。第一种机制:在两侧垫上容错箱,以减少箱外预测误差。第二种机制关于训练:如果网络在搜索阶段产生像素的错误深度预测,在下一阶段停止该像素的前向传递,并且该阶段的梯度不用于更新网络。第三是有效的梯度更新:它会在每个搜索阶段立即更新网络参数,而不会像大多数工作那样在不同阶段累积。它可以在保持性能的同时大大减少训练内存。

2. The Proposed Approach

在这里插入图片描述

它主要由两部分组成,即用于学习视觉图像表达的2D CNN网络和用于迭代深度估计的广义二进制搜索网络。GBi-Net包含K个搜索阶段,在每个搜索阶段,首先通过参考特征图和源特征图在特定对应比例下的可微扭曲来计算3D代价体。然后利用3D CNN对代价体进行正则化,以进行深度标签预测。广义二进制搜索能够根据预测的标签迭代地初始化和更新深度假设。在每两个阶段中,网络处理相同比例的特征地图,并共享网络参数。最后,根据深度图GT计算出一个训练整个网络的One-hot标签。

2.1 Image Encoding

1.FPN结构(元素级相加,上采样),4层
2.最后的输出层使用可变形卷积
3.共享权重
4.输出:(1/8,1/8,32),(1/4,1/4,32),(1/2,1/2,16),(1,1,8)

2.2 Cost Volume Regularization

1.根据深度使用可微的单应性变换和插值构建各视角特征体,对每个源视角特征体与参考视角特征体计算分组内积得到各视角代价体

2.将各视角代价体作为视角权重网络输入计算各视角权重:用3D CNN,逐渐将分组数G维度降为1,取max

# estimate pixel-wise view weight
class PixelwiseNet(nn.Module):
    def __init__(self, in_channels):
        super(PixelwiseNet, self).__init__()
        self.conv0 = Conv3dUnit(in_channels, 16, kernel_size=1, stride=1, padding=0, norm="batchnorm")
        self.conv1 = Conv3dUnit(16, 8, kernel_size=1, stride=1, padding=0, norm="batchnorm")
        self.conv2 = nn.Conv3d(8, 1, kernel_size=1, stride=1, padding=0)
        self.output = nn.Sigmoid()

    def forward(self, x1):
        # x1: [B, G, Ndepth, H, W]
        # [B, Ndepth, H, W]
        x1 =self.conv2(self.conv1(self.conv0(x1))).squeeze(1)
        
        output = self.output(x1)
        del x1
        # [B,H,W]
        output = torch.max(output, dim=1)[0]
        
        return output.unsqueeze(1) # [B,1,H,W]

3.计算代价体的加权平均

4.通过3D UNet正则化代价体,最后沿D维执行Softmax(·)函数,以生成用于计算训练损失和标签的概率体P。

2.3 Binary Search for MVS

二值搜索方法:将当前深度范围划分为多个箱子,而不是直接在给定深度范围R进行采样。这时,代价的深度维度显著减少,内存使用大大降低。整个MVS网络的内存开销由2D图像编码器控制,而不再由3D代价体控制。然而,网络分类错误的问题可能会导致优化不稳定和精度下降。

1.对于第k个搜索阶段,将深度范围划分为两个相等的箱子Bk,j(j=1,2),从左到右的三个边(分隔位置)ek,m(m=1,2,3)。由于不能直接使用离散箱来扭曲特征图,对这两个箱的中心点(即相邻两条边的中点)进行采样,以表示箱的深度假设,然后构建代价体并对这两个箱进行标签预测:

在这里插入图片描述

2.深度假设的预测标签指示真实深度值是否在相应的箱子中。在第k个搜索阶段,在网络输出概率体积P后,沿P的D维应用argmax(·)操作,返回标签j,表明真实深度值在箱子Bk,j中。通过将Bk,j划分为两个等宽的箱子Bk+1,1和Bk+1,2,可以进一步生成第(k+1)搜索阶段的新2个箱子,该阶段对应的三条边可以定义为(上一阶段搜索到箱子的两边及中点为新的三个边):

在这里插入图片描述

3.然后,从第(k+1)阶段的箱子Bk+1,1和Bk+1,2的中心点取样新的深度假设。在所提出的二进制搜索中,初始深度区间宽度为R/2,在第k阶段,深度区间宽度为R/(2**k)。

2.4 Generalized Binary Search for MVS

为解决MVS二值搜索中的错误积累和训练问题,将其扩展为MVS的广义二进制搜索。具体而言,进一步设计了三种有效的机制,即容错箱、梯度掩膜优化和高效梯度更新机制,对二进制搜索方法进行了实质性改进。

2.4.1 Error Tolerance Bins

为了使网络具有一定的容忍预测误差的能力,在Bk+1,1的左侧和Bk+1,2的右侧分别添加一个小箱子,此过程称为容错箱(ETB)(下图虚线部分,相当于多了两个深度假设,算法类似,找中心点)。

在这里插入图片描述

在实验中,观察到深度预测精度显著提高,但值得注意的是,内存消耗可以与原始二值搜索相同,因为内存仍然由2D图像编码器控制(2D CNN特征提取内存峰值仍大于3D UNet正则化)。

2.4.2 Gradient-Masked Optimization

问题:有监督训练中,在第k个搜索阶段获得箱子后,将真实深度图GT转换为具有一个One-hot编码的体素G,计算哪个箱子被深度值GT占据。迭代搜索中的一个问题是,某些像素的深度值GT可能超出了预测箱子。在这种情况下,不存在有效标签,无法计算损失。

方法:根据预测箱和深度图GT计算每个阶段的掩码图。如果某个像素的深度GT在当前箱子中,则认为该像素有效。
在这里插入图片描述
仅使用有效像素的损失来梯度更新网络中的参数,所有无效像素的梯度不会累积。通过此过程,可以成功地训练Bi-Net和GBi-Net。
梯度掩膜优化类似于流行的自步学习(self-paced learning),在自步学习中,一开始,网络训练只涉及简单样本(即简单像素),随着优化的进行,网络可以预测更精确的困难像素标签,大多数像素最终将参与学习过程。

2.4.3 Memory-efficient Training

通常多阶段MVS方法累加各阶段损失,一起反向传播。然而,由于梯度在不同阶段累积,这种训练策略消耗了大量的内存。

在GBi-Net中,以一种更高效的方式训练网络。具体来说,计算损失,并在每个阶段之后立即反向传播梯度。梯度不会在各个阶段之间累积,因此最大内存开销不会超过具有最大分辨率的阶段。

2.5 Loss Function

损失函数是一个标准的交叉熵损失(分类损失,收敛快),适用于概率体P和GT体。有效像素Ω首先通过有效掩模获得,然后计算所有有效像素的平均损失:

在这里插入图片描述

3. Implementation Details

3.1 Training Details

1.在DTU数据集训练及评估;在BlendedMVS数据集上进行训练,在tanksandtemples数据集评估
2.提出了一种在线随机裁剪数据增强。首先将图像从1200x1600裁剪到1024x1280,再从1024×1280的图像中随机裁剪512×640的图像。理由是,从较大的图像中裁剪较小的图像有助于学习较大图像比例的其他特征,而不会增加训练开销。
3.在BlendedMVS数据集上进行训练时,使用原始分辨率576×768。
4.对于所有序列:N=5,即1个参考图像和4个源图像。
5.采用Patchmatchnet中提出的鲁棒训练策略,以更好地学习像素权重。
6.最大阶段编号设置为8。对于每两个阶段,共享相同的特征图比例和3D-CNN网络参数。
7.用Adam 优化器对整个网络进行了16个阶段的优化,初始学习率为0.0001,在10、12和14个阶段后,将其缩小了2倍。
8.在两块NVIDIA RTX 3090 GPU上训练,batch size=4。

3.2 Testing Details

1.在DTU训练集上训练的模型用于在DTU测试集上进行测试。N=5,分辨率为1152×1600。每个视角测试需要0.61秒。
2.在BlendedMVS数据集上训练的模型用于在TanksandTemples数据集上进行测试。分辨率为1024×1920或1024×2048,以使图像可被64整除。N=7。所有测试均在NVIDIA RTX 3090 GPU上进行。

3.3 Depth map Fusion

1.confidence map计算
最终的深度图取值为预测箱的中心值。由于该方法由K个阶段组成,可以得到K个概率体,即{Pk | k=1,…,K}。对于每个像素p,其confidence可计算如下(每个阶段概率体最值的平均):
在这里插入图片描述
实际上,K=8时,K’设为6,只计算前6阶段(应该是阶段数太大时,深度区间太小,概率较分散,对confidence贡献不大)。

2.DTU融合
prob_threshold: 0.8
num_consistent: 3
img_dist_thresh: 0.25/0.5/0.75
depth_thresh: 0.01

3.TanksandTemples融合
prob_threshold: 0.6/0.8/0.85/0.9
num_consistent: 1-8
img_dist_thresh: 2.0/2.5/3.0/4.0
depth_thresh: 0.0025/0.005/0.01/0.02

4. Info

参考文献
[1] Mi Z, Di C, Xu D. Generalized Binary Search Network for Highly-Efficient Multi-View Stereo[C]//Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2022: 12991-13000.

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
### 回答1: SAP S/4HANA GBI 3.3业务流程集成是一套完整的 SAP 业务流程,旨在协助企业有效地管理其核心业务,从而提高生产力和盈利能力。通过此业务流程集成,企业能够实现对供应链、销售、采购、财务等多个领域的一体化管理和协同工作,提高信息共享的效率和准确性,降低成本,提升效益。 GBI 3.3业务流程集成包括多个核心模块,如采购管理、销售管理、库存管理、财务会计等。这些模块间相互关联,能够实现企业核心业务流程的全面管理。同时,G BI 3.3业务流程集成支持了企业数字化转型和智能化升级,通过集成机器学习、物联网、大数据等技术,帮助企业实现业务数据的快速分析和处理,提高企业运营的智能化水平。 总之,SAP S/4HANA GBI 3.3业务流程集成是一套高度集成的企业管理解决方案,旨在提高企业业务流程的效率和准确性,在数字化转型和智能化升级方面给予企业有力的支持,是现代企业经营管理领域不可或缺的重要工具。 ### 回答2: SAP S/4HANA GBI3.3业务流程集成是一项涵盖多个业务流程的系统,它支持企业的生产、物料管理、财务会计等业务流程的整合。该集成系统基于SAP S/4HANA平台,结合了现代企业管理的最佳实践,能够将企业的业务过程和决策支持系统有机地结合起来,实现业务的高效协同。 在SAP S/4HANA GBI3.3业务流程集成中,企业可以通过采用模块化的组件方式搭建自己的业务流程系统,实现多种业务流程的高效整合。例如,企业可以通过采购管理模块来实现采购订单管理、供应商管理、收货管理等业务流程的整合;通过生产计划模块来实现生产计划、物料需求计划、生产订单等业务流程的整合;通过销售管理模块来实现销售订单管理、客户管理、发货管理等业务流程的整合。 SAP S/4HANA GBI3.3业务流程集成的优势在于它能够更好地支持企业的决策制定和业务流程的协同。它能够针对企业的业务特点进行定制化,支持企业建立更加高效的业务流程管理体系,进而提高企业的运营效率和管理水平。同时,SAP S/4HANA GBI3.3业务流程集成还支持企业的数字化转型,能够为企业提供更加智能化的业务决策支持,实现企业从传统业务模式向数字化化业务模式的转型。 ### 回答3: SAP S/4HANA GBI3.3业务流程集成是SAP S/4HANA企业资源计划系统中包含的标准业务流程。该系统由徐声震编辑,旨在帮助企业更好地管理其业务流程,并提高生产效率和业务决策的精度。 该系统中包含了许多标准业务流程,例如需求计划、采购、销售、生产、物料管理等。这些流程都是通过SAP S/4HANA平台运行的,可以在不同部门之间进行无缝集成,帮助企业实现更高效的业务运作模式。 此外,SAP S/4HANA GBI3.3系统还包括高级业务分析工具,如SAP Lumira和SAP Predictive Analytics。这些工具可以帮助企业对业务数据进行深入分析,并提供明确的数据驱动业务决策。 总的来说,SAP S/4HANA GBI3.3业务流程集成系统是一个功能强大但易于使用的平台,可以帮助企业提高生产效率和业务决策的精度。无论是作为中小型企业,还是大企业,都可以受益于这种紧密集成的企业资源计划系统。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值