Skip to content

[RAL2024] Person Re-Identification for Robot Person Following with Online Continual Learning.

Notifications You must be signed in to change notification settings

MedlarTea/OCL-RPF

Repository files navigation

OCL-RPF

Person Re-Identification for Robot Person Following with Online Continual Learning
Hanjing Ye, Jieting Zhao, Yu Zhan, Weinan Chen, Li He and Hong Zhang
2024 IEEE Robotics and Automation Letters (RAL)
site, paper, video

Description

TODO

  • Release codes of part-based OCLReID, global-based OCLReID and part-based OCL-RPF with Reservoir-based memory manager
  • Release other replay-based memory managers
  • Update code with multi-threads
  • Optimize code running efficiency

Install

For Video Running Only

Create a conda environment and install OCLReID (based on mmtrack), worked on RTX3090 and RTX2060

git clone https://github.com/MedlarTea/OCLReID
cd OCLReID
conda create -n oclreid python=3.7
conda activate oclreid
conda install pytorch=1.11 cudatoolkit=11.3 torchvision=0.12.0 -c pytorch
pip install mmcv-full==1.5.3 -f https://download.openmmlab.com/mmcv/dist/cu113/torch1.11.0/index.html
pip install mmdet==2.26.0
pip install -r requirements.txt
pip install -r requirements/build.txt
pip install -v -e .

# install orientation estimation method
cd mmtrack/models/orientation
pip install -r requirements.txt
pip install -v -e .

Download pre-trained weights for OCLReID

  • Download 2d joint detection models: Google drive and put the checkpoints to OCLReID/mmtrack/models/pose/Models/sppe.

For Robot/Rosbag Running (optionally)

For running a complete RPF system, besides the above installation, some packages need to be installed:

  • ROS, verified in melodic and noetic
  • OpenCV == 3.4.12 (tested)
  • Eigen == 3.4.0 (tested)
  • Ceres == 2.1.0 (tested)

Download pre-trained weights for OCL-RPF:

  • Download bounding-box detection models: yolox-s and yolox-m from Google Drive, then make directory mono_tracking/scripts/AlphaPose/YOLOX/weights and put the checkpoints to it.
  • Put the 2d joint detection checkpoints to mono_tracking/scripts/AlphaPose/Models/sppe.

Create and build ROS workspace:

mkdir oclrpf_ws && cd oclrpf_ws
git clone https://github.com/MedlarTea/OCL-RPF src
rosdep install --from-paths src --ignore-src -r -y
catkin_make -DPYTHON_EXECUTABLE=/usr/bin/python3

Run It!

Video Running

cd OCLReID
conda activate oclreid
python run_video.py --show_result

This would run the ./demo.mp4.

Rosbag Running

cd oclrpf_ws
source devel/setup.bash # or devel/setup.zsh
conda activate oclreid
roslaunch mono_tracking all_mono_tracking.launch sim:=true oclreid_dir:=$YOUR_OCLReID_Path$
# if encountered: ImportError: /lib/libgdal.so.26: undefined symbol: TIFFReadRGBATileExt, version LIBTIFF_4.0. Solution: export LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libtiff.so.5
rosbag play -r 0.5 --clock demo_compressed.bag

Citation

@article{ye2024oclrpf,
  title={Person re-identification for robot person following with online continual learning},
  author={Ye, Hanjing and Zhao, Jieting and Zhan, Yu and Chen, Weinan and He, Li and Zhang, Hong},
  journal={IEEE Robotics and Automation Letters},
  year={2024},
  publisher={IEEE}
}

Acknowledgement

About

[RAL2024] Person Re-Identification for Robot Person Following with Online Continual Learning.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published