(self, ndepths, depth_interval_ratio, cr_base_chs=None, fea_mode="fpn", agg_mode="variance", depth_mode="regression",winner_take_all_to_generate_depth=True,inverse_depth=False)
| 155 | |
| 156 | class MVSNet(nn.Module): |
| 157 | def __init__(self, ndepths, depth_interval_ratio, cr_base_chs=None, fea_mode="fpn", agg_mode="variance", depth_mode="regression",winner_take_all_to_generate_depth=True,inverse_depth=False): |
| 158 | super(MVSNet, self).__init__() |
| 159 | |
| 160 | if cr_base_chs is None: |
| 161 | cr_base_chs = [8] * len(ndepths) |
| 162 | self.ndepths = ndepths |
| 163 | self.depth_interval_ratio = depth_interval_ratio |
| 164 | self.fea_mode = fea_mode |
| 165 | self.cr_base_chs = cr_base_chs |
| 166 | self.num_stage = len(ndepths) |
| 167 | self.inverse_depth=inverse_depth |
| 168 | |
| 169 | print("netphs:", ndepths) |
| 170 | print("depth_intervals_ratio:", depth_interval_ratio) |
| 171 | print("cr_base_chs:", cr_base_chs) |
| 172 | print("fea_mode:", fea_mode) |
| 173 | print("agg_mode:", agg_mode) |
| 174 | print("depth_mode:", depth_mode) |
| 175 | |
| 176 | assert len(ndepths) == len(depth_interval_ratio) |
| 177 | |
| 178 | self.feature = FeatureNet(base_channels=8, stride=4, num_stage=self.num_stage, mode=self.fea_mode) |
| 179 | self.cost_aggregation = CostAgg(agg_mode, self.feature.out_channels) |
| 180 | |
| 181 | self.cost_regularization = nn.ModuleList( |
| 182 | [CostRegNet(in_channels=2, base_channels=self.cr_base_chs[i],stage=i) for i in range(self.num_stage)]) |
| 183 | self.cost_regularization_refine = nn.ModuleList( |
| 184 | [CostRegNet_refine(in_channels=2, base_channels=self.cr_base_chs[i],stage=i) for i in range(self.num_stage)]) |
| 185 | |
| 186 | self.DepthNet = DepthNet(depth_mode) |
| 187 | |
| 188 | def forward(self, imgs, proj_matrices, depth_values): |
| 189 | """ |
no test coverage detected