Giter Club home page Giter Club logo

cdpn-pytorch's Introduction

News

CDPNv2 for BOP20

CDPNv2 for BOP20 challenge (mainly based on "CDPN: Coordinates-Based Disentangled Pose Network for Real-Time RGB-Based 6-DoF Object Pose Estimation" on ICCV 2019).

The trained CDPNv2 weights for BOP20 Challenge have been provided!

Our test environments (the same as CDPN in bop19)

  • Ubuntu 16.04 (64bit)
  • Python 3.6.7
  • Pytorch 0.4.1
  • CUDA 9.0
  • Bop_toolkit
  • numpy, cv2, plyfile, tqdm, scipy, progress, etc.

Detection

Pose Estimation

The difference between our CDPNv2 and the BOP19-version CDPN mainly including:

  • Domain Randomization: We used stronger domain randomization operations than BOP19. The details will be provided after the deadline.

  • Network Architecture: Considering the organizer provides high-quality PBR synthetic training data in BOP20, we adopt a deeper 34-layer Resnet as the backbone instead of the 18-layer Resnet used in BOP19-version CDPN. Also, the fancy concat structures in BOP19-version CDPN are removed. The input and output resolutions are 256×256 and 64×64 respectively.

  • Training During training, the initial learning rate was 1 × 10−4 and the batch size was 6. We used RMSProp with alpha 0.99 and epsilon 1× 10−8 to optimize the network. The model was trained for 160 epochs in total and the learning rate was divided by 10 every 50 epochs

  • Other implementations, such as the coordinates labels were computed by back-projection from the rendered depth, instead of forward-projection with z-buffer.

Data Preparation

  1. Download the 7 core datasets from the BOP website

  2. Download our trained models(code: 3jfn) and detection results.

  3. Prepare the data as follows:

    Note:

    • models_eval: downloaded official models;
    • test/test_primesense: downloaded official BOP19 test set;
    • val:optionally, downloaded official val set;
    • trained_models: our provided trained models;
    • bbox_retinanet: our provided detection results;
    • exp: save the test result files
Root
├── dataset
│   ├── lmo_bop19
│   │   ├── models_eval 
│   │   └── test 
│   ├── tudl_bop19
│   │   ├── models_eval 
│   │   └── test 
│   ├── hb_bop19
│   │   ├── models_eval
│   │   ├── val 
│   │   └── test
│   ├── icbin_bop19
│   │   ├── models_eval
│   │   └── test 
│   ├── itodd_bop19
│   │   ├── models_eval 
│   │   ├── val
│   │   └── test
│   ├── tless_bop19
│   │   ├── models_eval
│   │   └── test_primesense 
│   └── ycbv_bop19
│       ├── models_eval 
│       └── test
├── trained_models
│   ├── lmo
│   │   ├── obj_ape.checkpoint
│   │   └── ...
│   └── ...
├── bbox
│   ├── lmo
│   │   ├── lmo_test_bop19_000002.json
│   │   └── ... 
│   └── ...
├── lib
├── tools
└── exp

Run

  1. In 'tools' directory, run
  sh run.sh

It will first generate a .csv file to record the result of each object for each dataset. The final result files can be found in 'exp/final_result/CDPN_xxxx-test.csv'

  1. Use the Bop_toolkit for evaluation.

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.