PSMNet debug(六)

SPP模块通过结合不同级别的特征有助于立体匹配。为了在视差维度和空间维度上聚合特征信息,我们提出两种类型的3D CNN结构来调整匹配代价卷:基础结构和堆叠的沙漏结构。在基础结构中,网络由简单的残差块构成。基础结构包括12个3*3*3的卷积层。然后我们通过双线性插值的上采样将匹配代价卷的尺寸恢复到H*W*D。最终,我们利用回归的方式来计算尺寸为H*W的视差图

1.basic.py

class PSMNet(nn.Module):
    def __init__(self, maxdisp):
        print('123')
        super(PSMNet, self).__init__()
        self.maxdisp = maxdisp
        self.feature_extraction = feature_extraction()
        print('PSMNet feature_extraction() 123')
########
        self.dres0 = nn.Sequential(convbn_3d(64, 32, 3, 1, 1),
                                     nn.ReLU(inplace=True),
                                     convbn_3d(32, 32, 3, 1, 1),
                                     nn.ReLU(inplace=True))

        self.dres1 = nn.Sequential(convbn_3d(32, 32, 3, 1, 1),
                                   nn.ReLU(inplace=True),
                                   convbn_3d(32, 32, 3, 1, 1)) 

        self.dres2 = nn.Sequential(convbn_3d(32, 32, 3, 1, 1),
                                   nn.ReLU(inplace=True),
                                   convbn_3d(32, 32, 3, 1, 1))
 
        self.dres3 = nn.Sequential(convbn_3d(32, 32, 3, 1, 1),
                                   nn.ReLU(inplace=True),
                                   convbn_3d(32, 32, 3, 1, 1)) 

        self.dres4 = nn.Sequential(convbn_3d(32, 32, 3, 1, 1),
                                   nn.ReLU(inplace=True),
                                   convbn_3d(32, 32, 3, 1, 1)) 
 
        self.classify = nn.Sequential(convbn_3d(32, 32, 3, 1, 1),
                                      nn.ReLU(inplace=True),
                                      nn.Conv3d(32, 1, kernel_size=3, padding=1, stride=1,bias=False))

#dres0,dres1,dres2,dres3,dres4,classify每个都有2个3*3*3的卷积层。总共12个。

2.

       网络由简单的残差块构成:

        cost0 = self.dres0(cost) # 64维度变为32维度
        cost0 = self.dres1(cost0) + cost0
        cost0 = self.dres2(cost0) + cost0 
        cost0 = self.dres3(cost0) + cost0 
        cost0 = self.dres4(cost0) + cost0

        cost = self.classify(cost0) # 32维度的变为1维度。得到视差值的概率。

猜你喜欢

转载自blog.csdn.net/lzglzj20100700/article/details/84999928