GithubHelp home page GithubHelp logo

jamiurrahman / 6d-pose-project Goto Github PK

View Code? Open in Web Editor NEW

This project forked from anhquancao/6d-pose-project

0.0 1.0 0.0 368.65 MB

License: MIT License

Python 0.72% Shell 0.01% C++ 0.01% C 0.01% Cuda 0.03% MATLAB 0.05% Jupyter Notebook 99.17%

6d-pose-project's Introduction

6D object pose estimation

Code Structure (Code that I implemented)

  • datasets

    • datasets/linemod
      • datasets/linemod/dataset.py: class DepthDataset, slightly modified class PoseDataset
  • lib

    • lib/loss.py: class LossConf and LossNoConf
    • lib/loss_depth.py: All codes in this file
    • lib/network.py: class UpProjBlock, UpProjBlockv2, R, MFF, Decoder, DepthV3, R2, DepthV4, DepthV2, DepthNetPSP, ConfNet, PoseNetRGBOnlyV2, PoseNetRGBOnly
    • lib/utils.py: functions im_convert, depth_to_img, visualize
    • lib/evaluate.py: functions to evaluate the quantitative performance of the depth estimation model.
  • Notebook in the root folder

    • confidence pred.ipynb: Train ConfNet
    • depthv1.ipynb: Train DepthV1 model
    • depthv2.ipynb: Train DepthV2 model
    • depthv3.ipynb: Train DepthV3 model
    • Eval_rgb_only confidence.ipynb: Evaluate PoseNetRGBOnly with modified Confidence estimation: Bandit, ConfNet
    • Eval_rgb_only.ipynb: Evaluate PoseNetRGBOnly model.
    • Eval depth.ipynb: Evaluate the three depth estimation models.
    • Predict depth.ipynb: Predict the depth from RGB images and store results
    • Training_rgb_only.ipynb: Train PoseNetRGBOnly model
    • Training.ipynb: Train Original model from the paper.

Code Structure (From Paper)

  • datasets
    • datasets/ycb
      • datasets/ycb/dataset.py: Data loader for YCB_Video dataset.
      • datasets/ycb/dataset_config
        • datasets/ycb/dataset_config/classes.txt: Object list of YCB_Video dataset.
        • datasets/ycb/dataset_config/train_data_list.txt: Training set of YCB_Video dataset.
        • datasets/ycb/dataset_config/test_data_list.txt: Testing set of YCB_Video dataset.
    • datasets/linemod
      • datasets/linemod/dataset.py: Data loader for LineMOD dataset.
      • datasets/linemod/dataset_config:
        • datasets/linemod/dataset_config/models_info.yml: Object model info of LineMOD dataset.
  • replace_ycb_toolbox: Replacement codes for the evaluation with YCB_Video_toolbox.
  • trained_models
    • trained_models/ycb: Checkpoints of YCB_Video dataset.
    • trained_models/linemod: Checkpoints of LineMOD dataset.
  • lib
    • lib/loss.py: Loss calculation for DenseFusion model.
    • lib/loss_refiner.py: Loss calculation for iterative refinement model.
    • lib/transformations.py: Transformation Function Library.
    • lib/network.py: Network architecture.
    • lib/extractors.py: Encoder network architecture adapted from pspnet-pytorch.
    • lib/pspnet.py: Decoder network architecture.
    • lib/utils.py: Logger code.
    • lib/knn/: CUDA K-nearest neighbours library adapted from pytorch_knn_cuda.
  • tools
    • tools/_init_paths.py: Add local path.
    • tools/eval_ycb.py: Evaluation code for YCB_Video dataset.
    • tools/eval_linemod.py: Evaluation code for LineMOD dataset.
    • tools/train.py: Training code for YCB_Video dataset and LineMOD dataset.
  • experiments
    • experiments/eval_result
      • experiments/eval_result/ycb
        • experiments/eval_result/ycb/Densefusion_wo_refine_result: Evaluation result on YCB_Video dataset without refinement.
        • experiments/eval_result/ycb/Densefusion_iterative_result: Evaluation result on YCB_Video dataset with iterative refinement.
      • experiments/eval_result/linemod: Evaluation results on LineMOD dataset with iterative refinement.
    • experiments/logs/: Training log files.
    • experiments/scripts
      • experiments/scripts/train_ycb.sh: Training script on the YCB_Video dataset.
      • experiments/scripts/train_linemod.sh: Training script on the LineMOD dataset.
      • experiments/scripts/eval_ycb.sh: Evaluation script on the YCB_Video dataset.
      • experiments/scripts/eval_linemod.sh: Evaluation script on the LineMOD dataset.
  • download.sh: Script for downloading YCB_Video Dataset, preprocessed LineMOD dataset and the trained checkpoints.

Datasets

This work is tested on two 6D object pose estimation datasets:

Download YCB_Video Dataset, preprocessed LineMOD dataset and the trained checkpoints (You can modify this script according to your needs.):

./download.sh

6d-pose-project's People

Contributors

anhquancao avatar danfeix avatar huipengly avatar j96w avatar

Watchers

 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.