Code Monkey home page Code Monkey logo

os-mn40-example's Introduction

Introduction

This is an example code for track "Open-Set 3D Object Retrieval using Multi-Modal Representation" in SHREC22. The complete dataset OS-MN40 is adopted for input. Dataset can be download as follows:

More details about the dataset and the track can be found in here.

Models

We implement the baseline via combining multi-modal backbone, as follows:

Setup

Install Related Packages

This example code is developed in Python 3.8.12 and pytorch1.8.1+cu102. You can install the required packages as follows.

pip install -r requirements.txt
conda install pytorch==1.8.1 torchvision==0.9.1 torchaudio==0.8.1 -c pytorch

Configure Path

By default, the datasets are placed under the "data" folder in the root directory. This code will create a new folder (name depends on the current time) to restore the checkpoint files under "cache/ckpts" folder for each run.

├── cache
│   └── ckpts
│       ├── OS-MN40_2022-01-12-20-57-46
│       │   ├── cdist.txt
│       │   ├── ckpt.meta
│       │   └── ckpt.pth
│       └── OS-MN40_2022-01-15-13-58-50
│           ├── cdist.txt
│           ├── ckpt.meta
│           └── ckpt.pth
└── data
    ├── OS-MN40/
    └── OS-MN40-Miss/

You can also place the datasets anywhere you want. Don't forget change the related path in "line 19 in train.py" and "line 19 in get_mat.py".

Train and Validation

Run "train.py". By default, 80% data in the train folder is used for training and the rest is used for validation.

python train.py

Submission

Generate Distance Matrix

Modify the data_root and ckpt_path in "line 17-18 in get_mat.py". Then run:

python get_mat.py

The generated cdist.txt can be found in the same folder of the specified checkpoints.

Online Evaluation

You can submit the cdist.txt file with your team key on the track website. The submission with invalid team key will not appear on the leaderboard except for "Test Team". The online evaluation will use mAP, NN, NDCG@100, and ANMRR. The computation details of those scores can be found in "utils.py". The defination of those scores refer to the book View-Based 3-d Object Retrieval.

os-mn40-example's People

Contributors

yifanfeng97 avatar

Stargazers

 avatar  avatar  avatar Flipped avatar Haoxuan You avatar persistence avatar Qingmei Tang avatar Minh-Khoi Pham avatar huacong avatar SUN Changsheng avatar Tong Zekun avatar  avatar danerli(李润) avatar  avatar Zhang Xinwei avatar

Watchers

James Cloos avatar  avatar

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.