Toolbox and trackers for object pose-estimation. Based on the work CosyPose and MegaPose. This directory is currently under development. Please refer to the documentation for more details.
This installation procedure will be curated.
git clone --branch dev --recurse-submodules https://github.com/agimus-project/happypose.git
cd happypose
conda env create -f environment.yml
conda activate happypose
cd happypose/pose_estimators/cosypose
pip install .
cd ../../..
pip install -e .
Installation of bop_toolkit :
conda activate happypose
cd happypose/pose_estimators/megapose/deps/bop_toolkit_challenge/
# Remove all versions enforcing on requirements.txt
pip install -r requirements.txt -e .
Create data dir /somewhere/convenient. The dataset to store are quite large.
export HAPPYPOSE_DATA_DIR=/somewhere/convenient
If you plan on evaluating CosyPose and Megapose, you need to modify the following lines in bop_toolkit_lib/config.py, replace
######## Basic ########
# Folder with the BOP datasets.
if 'BOP_PATH' in os.environ:
datasets_path = os.environ['BOP_PATH']
else:
datasets_path = r'/path/to/bop/datasets'
# Folder with pose results to be evaluated.
results_path = r'/path/to/folder/with/results'
# Folder for the calculated pose errors and performance scores.
eval_path = r'/path/to/eval/folder'
with
######## Basic ########
# Folder with the BOP datasets.
datasets_path = str(os.environ['BOP_DATASETS_PATH'])
results_path = str(os.environ['BOP_RESULTS_PATH'])
eval_path = str(os.environ['BOP_EVAL_PATH'])
You will also need to install TEASER++ if you want to use the depth for MegaPose. To do so, please run the following commands to install it :
# Go to HappyPose root directory
apt install -y cmake libeigen3-dev libboost-all-dev
conda activate happypose
mamba install compilers -c conda-forge
pip install open3d
mkdir /build && cd /build && git clone https://github.com/MIT-SPARK/TEASER-plusplus.git
cd TEASER-plusplus && mkdir build && cd build
cmake -DTEASERPP_PYTHON_VERSION=3.9 .. && make teaserpp_python
cd python && pip install .