Featured image of post Memo: Vis - 3D | Popular Computer Vision Datasets

Memo: Vis - 3D | Popular Computer Vision Datasets

Table of contents

Multi-View

DTU

Issues:

  1. Directory Structure
  2. SampleSet
  3. Read Depth Map

Directory Structure

  1. Problems:

    1. The directory structure of the DTU dataset

  1. Supports:

    1. Download page: MVS Data Set - 2014 | DTU Robot Image Data Sets

    2. 124 scans - Rectified.zip (123 GB)

      jsmind {{{

      }}}

      R 1 e 2 c 4 t i s f c i a e n d s s s s s c c c c a a a a n n n n 1 2 x 1 2 3 8 9 2 i m a g e s r r r r r r r r r r r r r e e e e e e e e e e e e e c c c c c c c c c c c c c t t t t t t t t t t t t t _ _ _ _ _ _ _ _ _ _ _ _ _ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ? ? ? 4 1 1 1 1 1 2 2 2 2 ? ? ? 9 _ _ _ _ _ _ _ _ _ _ _ _ _ 0 1 ? 6 m 0 ? 6 m 0 ? 6 m _ _ _ _ a _ _ _ a _ _ _ a r r r r x r r r x r r r x 5 5 5 5 . 5 5 5 . 5 5 5 . 0 0 0 0 p 0 0 0 p 0 0 0 p 0 0 0 0 n 0 0 0 n 0 0 0 n 0 0 0 0 g 0 0 0 g 0 0 0 g . . . . . . . . . . p p p p p p p p p p n n n n n n n n n n g g g g g g g g g g

  1. SampleSet.zip

    • Supports:

      1. Scan1 and scan6
    • Actions:

      Directory tree

      jsmind {{{

      }}}

      S a m p l e S e t 1 C D M M R 8 V a a V e 9 P t t S a 5 R a l d . 2 s a D M m 0 e b a e p 1 t t . 4 4 s e a t b v x i i a t b n l . c u C C O P R S t l a a l b o e u x u t l e s i c r t d i i a M n t f e o b n a t i a d n r e s s f c . a d k i e p c t e s d o i d f d o c f s t e n a u t o m r l l p u a s s s t t t l l l 0 0 0 0 0 0 1 x 6 _ _ _ t t t o o o t t t a a a l l l

  1. Read Depth Map

Subsets

Issues:

  1. mvs_training

Notes:

  1. mvs_training

    • Supports:

      1. The DTU dataset is processed for MVSNet by Yaoyao

      2. Image size (dimension recognized by identify): 640x512

      3. The focal length of the camera matrix inside the train/ folder corresponds to the camera parameters of feature maps. Focal length get scaled alongside only downsampling operations.

        flowchart LR A["Rectified image
        (1600x1200)"] --> B["Downsample
        (800x600)"] --> C["Crop
        (640x512)"] --> D["Feature map
        (160x128)"]

        The principle point (c_x, c_y) get affected by both downsampling and cropping operations.

        flowchart LR A["Princple point
        (823.205, 619.071)"] --> B["Download
        (411.6, 309.54)"] --> C["Crop
        (331.6, 265.54)"] --> D["Feature map
        (82.9, 66.38)"]
        Table {{{

        SampleSet Decupled train
        SampleSet/MVS Data/Calibration/cal18$ cat pos_001.txt
        2607.429996 -3.844898 1498.178098 -533936.661373
        -192.076910 2862.552532 681.798177 23434.686572
        -0.241605 -0.030951 0.969881 22.540121
        mvs_training/dtu/Cameras$ cat 00000000_cam.txt
        extrinsic
        0.970263 0.00747983 0.241939 -191.02
        -0.0147429 0.999493 0.0282234 3.28832
        -0.241605 -0.030951 0.969881 22.5401
        0.0 0.0 0.0 1.0
        

        intrinsic 2892.33 0 823.205 0 2883.18 619.071 0 0 1

        425 2.5

        mvs_training/dtu/Cameras/train$ cat 00000000_cam.txt
        extrinsic
        0.970263 0.00747983 0.241939 -191.02
        -0.0147429 0.999493 0.0282234 3.28832
        -0.241605 -0.030951 0.969881 22.5401
        0.0 0.0 0.0 1.0

        intrinsic 361.54125 0.0 82.900625 0.0 360.3975 66.383875 0.0 0.0 1.0

        425.0 2.5

        }}}
        S c m c m c a a v a v a m t s t s t p _ _ l p t 0 t 0 e o r 0 r 0 S s a 0 a 0 e _ i 0 i 0 t 0 n 0 n 0 / 0 i 0 i 0 M 1 n 0 n 0 V . g 0 g 0 S t / _ / _ x d c d c D t t a t a a u m u m t / . / . a C t C t / a x a x C m t m t a e e l r r i a a b s s r $ / a t t r i a o i n n / $ c a l 1 8 $ 2 - - e 0 - - 0 i 2 0 0 4 e 0 - - 0 i 3 0 0 4 6 1 0 x . 0 0 . n 8 2 x . 0 0 . n 6 . . 2 0 9 . t 9 . . 0 t 9 2 0 5 t 9 . . 0 t 1 0 0 5 7 2 2 r 7 0 2 r 2 8 r 7 0 2 r . . . . 4 i 0 1 4 0 i . 8 1 2 i 0 1 4 0 i 5 3 0 0 4 0 1 n 2 4 1 . n 3 3 . n 2 4 1 . n 4 6 . 2 7 6 s 6 7 6 0 s 3 . 5 s 6 7 6 0 s 1 0 0 2 9 6 0 i 3 4 0 i 1 i 3 4 0 i 2 . . 9 9 5 c 2 5 0 c 0 8 c 2 5 0 c 5 3 1 5 9 1 0 9 . 0 9 . 9 . 6 0 - . - 0 8 6 . - 0 0 7 0 0 0 0 0 2 1 0 0 0 . 5 - 2 . 0 . . 1 3 9 0 . . 1 0 3 8 0 7 9 0 . . . 7 9 0 . 6 . 6 3 4 9 3 0 2 0 4 9 3 0 8 6 8 2 0 7 9 0 0 7 7 9 0 2 . 4 . 9 9 4 9 5 1 9 4 9 . 3 4 5 5 8 9 5 8 9 5 9 8 8 5 1 3 3 1 3 3 1 0 3 9 2 0 8 8 5 0 0 0 0 0 0 0 6 7 3 . . . . . . . 2 5 1 2 9 2 0 9 2 0 9 5 4 6 4 2 6 4 2 6 9 6 9 1 8 9 1 8 9 8 8 8 9 2 8 9 2 8 . 1 8 3 2 8 3 2 8 1 . 1 9 3 1 9 3 1 7 7 4 4 8 9 2 - 2 - 2 0 8 2 1 3 2 1 3 2 9 1 . 9 . . 9 . . 8 7 5 1 2 5 1 2 5 7 4 . 8 4 . 8 4 - 0 0 8 0 0 8 0 5 2 1 2 3 1 2 3 1 3 3 2 2 2 3 4 1 9 3 3 4 6 . . 6 6 8 6 6 1 5 3 7 7 2 3
    • Actions:

      m v s _ t r a i n i n g d t u C D R a e e m p c e t t r h i a f s i e s ( s d c 1 c 0 0 0 p t a 6 a 0 0 0 a r n 0 n 0 0 0 i a 1 1 s 3 ( s 0 0 0 r i _ x 2 c 4 6 c 0 0 0 . n t 8 a 3 4 a 0 0 0 t r 1 _ n 0 n 0 0 6 x a 2 t 1 i 1 0 x 3 t i 8 r _ m x 2 _ _ _ 0 0 0 0 n ) a t a 8 c c c 0 0 0 0 i r g 5 _ a a a 0 0 0 0 n a e 1 t m m m 0 0 0 0 i s 2 r . . . 0 0 0 0 d . d d . d n ) a t t t 0 0 0 0 e . e e . e i x x x 0 0 0 4 p . p p . p n t t t 0 1 x 8 t . t t . t _ _ _ _ h h h h r r r r r r r r r r c c c c _ _ _ _ e e e e e e e e e e a a a a m m v v c c c c c c c c c c m m m m a a i i t t t t t t t t t t . . . . p p s s _ _ _ _ _ _ _ _ _ _ t t t t _ _ u u 0 0 0 0 0 0 0 0 0 0 x x x x 0 0 a a 0 0 0 0 0 0 0 4 4 4 t t t t 0 0 l l 1 1 1 1 2 2 2 9 9 9 0 4 _ _ _ _ _ _ _ _ _ _ _ _ 0 8 0 0 0 1 x 6 0 x 6 0 x 6 . . 0 0 _ _ _ _ _ _ _ _ _ _ p p 0 4 r r r r r r r r r r f f 0 8 5 5 5 5 5 5 5 5 5 5 m m . . 0 0 0 0 0 0 0 0 0 0 p p 0 0 0 0 0 0 0 0 0 0 n n 0 0 0 0 0 0 0 0 0 0 g g . . . . . . . . . . p p p p p p p p p p n n n n n n n n n n g g g g g g g g g g

Convert DTU to PCN

Problems:

  1. Reorgnize the DTU dataset to the format of the PCN dataset

References:

  1. Gemini 2.5P | DTU to PCN Dataset Conversion (May08,25)

Compl. & Acc. (Python)

  1. Problems:

    1. The official evaluation for DTU dataset metrics (completeness and accuracy) is performed using MATLAB scripts. However, I don’t have a Matlab license.

    2. I remember there are alternative methods for measurement, which can be implemented in Python.


  1. Supports:

    1. Python Implementation r1-Fast

    ::: aside


  1. Actions:

    1. Download source code

      1
      2
      
      git clone https://github.com/Gwencong/Fast-DTU-Evaluation.git
      cd Fast-DTU-Evaluation
      
    2. Specify dependencies versions in requirements.txt

      1
      2
      3
      4
      5
      6
      7
      
      --extra-index-url https://download.pytorch.org/whl/cu113
      torch==1.12.1+cu113                                     
      torchvision==0.13.1+cu113                               
      # torchaudio==0.12.1
      # setuptools>=59.6.0,<70.0.0
      setuptools==69.5.1
      numpy<2
      
      • Match torch version with the system CUDA version (11.3) r2-Gemini

      • torch 1.10 doesn’t support Python higher than 3.10 r2-Gemini

      • setuptools==69.5.1 avoids error: r3-SO,r4-Issue,r5-CSDN

        1
        
        ImportError: cannot import name 'packaging' from 'pkg_resources'
        
        Traceback {{{
        1
        2
        3
        4
        5
        6
        7
        
        (Fast-DTU-Evaluation) zichen@zichen-X570-AORUS-PRO-WIFI:~/Projects/Fast-DTU-Evaluation$ python chamfer3D/setup.py install
        Traceback (most recent call last):
          File "/home/zichen/Projects/Fast-DTU-Evaluation/chamfer3D/setup.py", line 2, in <module>
            from torch.utils.cpp_extension import BuildExtension, CUDAExtension
          File "/home/zichen/Projects/Fast-DTU-Evaluation/.venv/lib/python3.10/site-packages/torch/utils/cpp_extension.py", line 25, in <module>
            from pkg_resources import packaging  # type: ignore[attr-defined]
        ImportError: cannot import name 'packaging' from 'pkg_resources' (/home/zichen/Projects/Fast-DTU-Evaluation/.venv/lib/python3.10/site-packages/pkg_resources/init.py)
        

        }}}

      • setuptools < 70.0.0 is not in the “PyTorch package index”, which is looked through by uv. So adding unsafe-best-match to allow uv find the compatible version from all souce.

    3. Create environment

       1
       2
       3
       4
       5
       6
       7
       8
       9
      10
      11
      12
      
      uv venv -p python3.10
      source .venv/bin/activate
      
      # Enable PyPI repository for setuptools
      uv pip install -r requirements.txt --index-strategy unsafe-best-match
      
      # Specify compiler versions for CUDA
      export CC=/usr/bin/gcc-9
      export CXX=/usr/bin/g++-9
      export CUDAHOSTCXX=/usr/bin/g++-9
      
      cd chamfer3D && python setup.py install # build and install chamfer3D package
      
      • CUDA 11.3 requires g++ <= 10.0.0 r6-

        Example error {{{
        1
        
        RuntimeError: The current installed version of x86_64-linux-gnu-g++ (11.4.0) is greater than the maximum required version by CUDA 11.3 (10.0.0). Please make sure to use an adequate version of x86_64-linux-gnu-g++ (>=5.0.0, <=10.0.0).
        

        }}}

      • update-alternative --config g++ alone for specifying g++-9 doesn’t work (still detect g++-10 (10.5.0)); set CXX explicitly.

    4. Run evaluation with directories of predicted and ground-truth point clouds specified:

      1
      2
      3
      
      CUDA_VISIBLE_DEVICES=0 python eval_dtu.py --method scan \
      --pred_dir "/mnt/Seagate4T/04-Projects/CasMVSNet_pl-comments/output/no_densify_250929_2views_iter30K_640x512_noDepthReg/combined_ply" \
      --gt_dir "/mnt/Seagate4T/05-DataBank/SampleSet/MVS Data" --save --num_workers 1
      
      • --method constitutes the .ply filename.
      • Results are saved as result.txt under --pred_dir.

Eval Framework Understand

  1. Problems:

    1. The Matlab code understanding

  1. Supports:

    1. AI explanation r1-

    ::: aside


Real Estate 10K


Tanks and Temples

References:

  1. Tanks and Temples Benchmark | Homepage

Novel View Synthesis

Static

Issues:

  1. NeRF
  2. MipNeRF360

Notes:

  1. NeRF

    • Supports:

      1. Meta info:

        • 8 Feed-forward scenes

Dynamic

Issues:

  1. D-NeRF

Notes:

  1. D-NeRF:

Point Cloud

ShapeNet

PCN

Issues:

  1. Directory Structure
  2. Read As PyTorch Datasets
  3. O3D Visualization Point Cloud

References:

  1. Gemini Deep Research | PCN 点云数据集介绍
  2. 元宝 | Python类结构概览方法
  3. 元宝 | 笔记转写
  4. Visualize point cloud | Open3D 0.19.0 documentation

Notes:

  1. Directory Structure

    • Supports:

      1. Point Completion Network
    • Actions:

      (2025-04-27T22:37)

      1. PCN dataset directory structure (~/Downloads/Datasets_Unpack/ShapeNetCompletion)

         1
         2
         3
         4
         5
         6
         7
         8
         9
        10
        11
        
        ~/Downloads/Datasets_Unpack/ShapeNetCompletion$ tree -L 2
        .
        ├── test
        │   ├── complete
        │   └── partial
        ├── train
        │   ├── complete
        │   └── partial
        └── val
            ├── complete
            └── partial
        
      2. In the partial folder, each “complete” point cloud is split into 8 portions.


(2025-04-28T22:30)

  1. Read the PCN Dataset as a PyTorch Dataset


(2025-05-10T13:49)

  1. Visualize Point Clouds using O3D

    • Supports:

      1. o3d read .pcd datar4-Docs:

         1
         2
         3
         4
         5
         6
         7
         8
         9
        10
        
        import open3d as o3d
        pcd = o3d.io.read_point_cloud("/home/zichen/Downloads/Datasets_Unpack/ShapeNetCompletion/train/complete/02691156/10155655850468db78d106ce0a280f87.pcd")
        
        vis = o3d.visualization.Visualizer()
        vis.create_window(width=400, height=400)
        ctr = vis.get_view_control()
        param = o3d.io.read_pinhole_camera_parameters("PCN_Cam_Parm_save.json")
        vis.add_geometry(pcd)
        ctr.convert_from_pinhole_camera_parameters(param)
        vis.run()
        
    • Actions:

      Complete P0 P1 P2 P3 P4 P5 P6 P7


3D Models

Objverse

Built with Hugo
Theme Stack designed by Jimmy