Git Product home page Git Product logo

3dmv's Introduction

3DMV

3DMV jointly combines RGB color and geometric information to perform 3D semantic segmentation of RGB-D scans. This work is based on our ECCV'18 paper, 3DMV: Joint 3D-Multi-View Prediction for 3D Semantic Scene Segmentation.

Code

Installation:

Training is implemented with PyTorch. This code was developed under PyTorch 0.2 and recently upgraded to PyTorch 0.4.

Training:

  • See python train.py --help for all train options. Example train call:
python train.py --gpu 0 --train_data_list [path to list of train files] --data_path_2d [path to 2d image data] --class_weight_file [path to txt file of train histogram] --num_nearest_images 5 --model2d_path [path to pretrained 2d model]

Testing

  • See python test.py --help for all test options. Example test call:
python test.py --gpu 0 --scene_list test_scenes.txt --model_path models/scannetv2/scannet5_model.pth --data_path_2d [path to 2d image data] --data_path_3d [path to test scene data] --num_nearest_images 5 --model2d_orig_path models/scannetv2/scannet5_model2d.pth

Data:

This data has been precomputed from the ScanNet (v2) dataset.

  • Train data for ScanNet v2: 3dmv_scannet_v2_train.zip (6.2G)
    • 2D train images can be processed from the ScanNet dataset using the 2d data preparation script in prepare_data
    • Expected file structure for 2D data:
    scene0000_00/
    |--color/
       |--[framenum].jpg
           ⋮
    |--depth/
       |--[framenum].png   (16-bit pngs)
           ⋮
    |--pose/
       |--[framenum].txt   (4x4 rigid transform as txt file)
           ⋮
    |--label/    (if applicable)
       |--[framenum].png   (8-bit pngs)
           ⋮
    scene0000_01/
    ⋮
    
  • Test scenes for ScanNet v2: 3dmv_scannet_v2_test_scenes.zip (110M)

Citation:

If you find our work useful in your research, please consider citing:

@inproceedings{dai20183dmv,
 author = {Dai, Angela and Nie{\ss}ner, Matthias},
 booktitle = {Proceedings of the European Conference on Computer Vision ({ECCV})},
 title = {3DMV: Joint 3D-Multi-View Prediction for 3D Semantic Scene Segmentation},
 year = {2018}
}

Contact:

If you have any questions, please email Angela Dai at [email protected].

3dmv's People

Contributors

angeladai avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

3dmv's Issues

Issue with testing model on custom data

Hello,

I have been playing around with your code and was successfully able to test the model on the provided test data.

However, I would like to test this on custom rgbd data which is following the same structure as scannet.

How do I create the .sdf.ann and .image files for a scene? The test set has them generated but I could not find anywhere the method to generate those files

I did try to rename my rgb images and depth images to match one of the scene(scene0779_00) 0.jpg,20.jpg .. for rgb 0.png,20.png ... for depth and 0.txt, 20.txt ... . Doing so resulted in predictions being made on toilet,sink etc., which were part of the original scene and not my custom scene as, I believe, the 3d data is being loaded for .image file.

VoxelSize of the dataset - 4.8 cm or 5 cm

Hi, In the default params of train.py, the voxel size is set to 0.05m and I think the name of your models are similarly set to scannet5.pth.
But, the 3dMV paper mentions voxel size of 0.048 m
Could you clarify what is the voxel size used in the h5 files?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.