All Projects → ShengyuH → Scene-Recognition-in-3D

ShengyuH / Scene-Recognition-in-3D

Licence: other
[IROS, 2020] Indoor Scene Recognition in 3D

Programming Languages

python
139335 projects - #7 most used programming language
Jupyter Notebook
11667 projects
Cuda
1817 projects
C++
36643 projects - #6 most used programming language
objective c
16641 projects - #2 most used programming language

Projects that are alternatives of or similar to Scene-Recognition-in-3D

Semantic-Aware-Scene-Recognition
Pytorch Implementation of Semantic-Aware Scene Recognition Paper
Stars: ✭ 82 (+67.35%)
Mutual labels:  scene-recognition
SnowflakeNet
(TPAMI 2022) Snowflake Point Deconvolution for Point Cloud Completion and Generation with Skip-Transformer
Stars: ✭ 74 (+51.02%)
Mutual labels:  3dvision
Semantic Segmentation Pytorch
Pytorch implementation for Semantic Segmentation/Scene Parsing on MIT ADE20K dataset
Stars: ✭ 4,151 (+8371.43%)
Mutual labels:  scene-recognition
YAPO-e-plus
YAPO e+ - Yet Another Porn Organizer (extended)
Stars: ✭ 92 (+87.76%)
Mutual labels:  scene-recognition
pyconvsegnet
Semantic Segmentation PyTorch code for our paper: Pyramidal Convolution: Rethinking Convolutional Neural Networks for Visual Recognition (https://arxiv.org/pdf/2006.11538.pdf)
Stars: ✭ 32 (-34.69%)
Mutual labels:  scene-recognition
PlaceInvaders
Multiplayer AR game sample
Stars: ✭ 24 (-51.02%)
Mutual labels:  scene-recognition
SceneClassification
This project is to use deep learning to auto classify the scene images with limited amount of training images.
Stars: ✭ 17 (-65.31%)
Mutual labels:  scene-recognition
NerfingMVS
[ICCV 2021 Oral] NerfingMVS: Guided Optimization of Neural Radiance Fields for Indoor Multi-view Stereo
Stars: ✭ 253 (+416.33%)
Mutual labels:  3dvision
PlaneTR3D
[ICCV'21] PlaneTR: Structure-Guided Transformers for 3D Plane Recovery
Stars: ✭ 58 (+18.37%)
Mutual labels:  3dvision
PoinTr
[ICCV 2021 Oral] PoinTr: Diverse Point Cloud Completion with Geometry-Aware Transformers
Stars: ✭ 260 (+430.61%)
Mutual labels:  3dvision
OverlapPredator
[CVPR 2021, Oral] PREDATOR: Registration of 3D Point Clouds with Low Overlap.
Stars: ✭ 293 (+497.96%)
Mutual labels:  3dvision
ShapeFormer
Official repository for the ShapeFormer Project
Stars: ✭ 97 (+97.96%)
Mutual labels:  3dvision
SynergyNet
3DV 2021: Synergy between 3DMM and 3D Landmarks for Accurate 3D Facial Geometry
Stars: ✭ 179 (+265.31%)
Mutual labels:  3dvision
3D-Object-Reconstrution
A curated list of awesome Single-view 3D Object Reconstruction papers & resources
Stars: ✭ 75 (+53.06%)
Mutual labels:  3dvision
mix3d
Mix3D: Out-of-Context Data Augmentation for 3D Scenes (3DV 2021 Oral)
Stars: ✭ 183 (+273.47%)
Mutual labels:  3dvision

Scene-Recognition-in-3D(IROS'20)

This repository contains the source code and pretrained models from the paper Scene Recognition in 3D.

Indoor Scene Recognition in 3D

Shengyu Huang, Mikhail Usvyatsov, Konrad Schindler

To the best of our knowledge, we are the first to study the task of indoor scene recognition in 3D.

News

  • 2020-11-26 Updates on pretrained weights and a small data pre-processing script
  • 2019-02-28 initial release

Citation

If you find our work useful, please consider citing

@article{huang2020indoor,
  title={Indoor Scene Recognition in 3D},
  author={Huang, Shengyu and Usvyatsov, Mikhail and Schindler, Konrad},
  journal={IROS},
  year={2020}
}

Dependencies

The required libraries can be easily installed by runing

pip3 install -r requirements.txt

We use MinkowskiEngine(v0.4.2) as our 3D sparse convolution framework. If you have problem with compiling it, please refer to MinkowskiEngine for more details.

Data

We evaluate our model on ScanNet benchmark, the dataset is released under the ScanNet Term of Use, please contact ScanNet team for access.

We preprocess the raw data to be pth file for efficient access. We use torch_cluster for GPU-based effficient farthest point sampling, you can find a sample under the folder tmp. The train/val/test split can be found under the folder split.

Pretrained model

You can download the pretrained models for testing from here.

Train and test

DGCNN

Please change base_train, base_val to your data folder. Then run

python3 main.py

PointNet++

Please change base_train, base_val to your data folder. Then run

python3 scene_classification.py --add_color True --num_points 4096

sparseConv

  1. For Resnet14, change path_train and path_val then run
python3 main.py --num_points 4096 --use_color True
  1. Follow the following 3 steps to train the multi-task learner, these three parts only differ slightly in our implementation, please refer to three folders respectively for more details:
  • train the sparse encoder and semantic segmentation decoder
  • freeze the encoder then train the sparse classification decoder
  • finetune both encoder and decoder with small lr

References

Here are some great resources we benefit:

I personally also recommend these three repositories regarding sparse convolution to you:

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].