Skip to content

Code for "PVNet: Pixel-wise Voting Network for 6DoF Pose Estimation" CVPR 2019 oral

License

Notifications You must be signed in to change notification settings

cm107/clean-pvnet

 
 

Repository files navigation

PVNet: Pixel-wise Voting Network for 6DoF Pose Estimation - cm107 Fork

Navigation

Requirements

  • CUDA 10.X
  • Python 3.7+
  • Pip
  • virtualenv
  • Recommended OS: Linux (tested)

Installation

Before installation, please install the following apt packages.

sudo apt-get install libglfw3-dev libglfw3

If you have not already done so, activate the virtual environment that you want to install this package to. If you haven't created a virtual environment yet, please do so now.

virtualenv venv
source venv/bin/activate

After your virtual environment is activated, you can install this package.

git clone https://github.com/cm107/clean-pvnet.git
cd clean-pvnet
pip install -e .

Training

Training-related code has not been refactored yet, and thus is highly dependent on relative paths, softlinks, and settings that are hard-coded in the original config. For now, please refer to clean-pvnet's original README.md. This document will be updated once the training portion of this repository is refactored.

Inference

As of right now, the inference code has been completely refactored and re-organized into the clean_pvnet package.

The important inference-related classes and methods are listed below:

  • PnpDrawSettings - Drawing settings for PVNet model inference
  • PnpPrediction - Contains Pnp prediction data for a single detection (i.e. a single bbox)
  • PnpPredictionList - A list of Pnp prediction data
  • PVNetFrameResult - A collection of all pnp data and metadata in a single frame
    • draw - Draws pvnet prediction on input image given settings defined in PnpDrawSettings
  • PVNetFrameResultList - All pnp predictions and metadata in all frames
    • save_to_path - Saves all prediction data to a dump file
    • load_from_path - Loads all prediction data from a dump file
  • PVNetInferer - Worker class that handles all pvnet inference
    • predict - Gets PVNetFrameResult from an input image
    • infer_coco_dataset - Runs inference systematically on a COCO dataset

For details on what parameters can be used in the above classes and methods, refer to clean_pvnet/infer/pvnet_inferer.py. For a simple example of how to use all of these classes together in an inference script, refer to test/example_inference.py

About

Code for "PVNet: Pixel-wise Voting Network for 6DoF Pose Estimation" CVPR 2019 oral

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 81.6%
  • Python 15.0%
  • C 2.2%
  • Cuda 1.1%
  • GLSL 0.1%