FE2E-CPU / infer /dataset /nyu_dataset.py
Nekochu's picture
FE2E depth+normal CPU Space: FP8 dynamic INT8, single denoise
405d2b1
Raw
History Blame Contribute Delete
1.17 kB
# Author: Bingxin Ke
# Last modified: 2024-02-08
import torch
from .base_depth_dataset import BaseDepthDataset, DepthFileNameMode
class NYUDataset(BaseDepthDataset):
def __init__(
self,
eigen_valid_mask: bool,
**kwargs,
) -> None:
super().__init__(
# NYUv2 dataset parameter
min_depth=1e-3,
max_depth=10.0,
has_filled_depth=True,
name_mode=DepthFileNameMode.rgb_id,
**kwargs,
)
self.eigen_valid_mask = eigen_valid_mask
def _read_depth_file(self, rel_path):
depth_in,_ = self._read_image(rel_path)
# Decode NYU depth
depth_decoded = depth_in / 1000.0
return depth_decoded
def _get_valid_mask(self, depth: torch.Tensor):
valid_mask = super()._get_valid_mask(depth)
# Eigen crop for evaluation
if self.eigen_valid_mask:
eval_mask = torch.zeros_like(valid_mask.squeeze()).bool()
eval_mask[45:471, 41:601] = 1
eval_mask.reshape(valid_mask.shape)
valid_mask = torch.logical_and(valid_mask, eval_mask)
return valid_mask