Skip to content
/ isp Public

Variant of ICP for matching 2 kinects acquisitions without knowing the extrinsics.

License

Notifications You must be signed in to change notification settings

vtrno/isp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ISP : Iterative Smartest Point

Introduction

This idea came from some recordings I had, without any extrinsic calibration. While I think it's fun to align pointclouds by hand (it isn't), ICP wasn't working so well for some specific cases. Please note that this slightly overengineered alignment method only works with 2 RGBD cameras and only one person in both frames.

The global idea is the following :

  • Segment a person body and retrieve 2D keypoints in a couple of RGB frames
  • Project these into the 3D pointcloud using the depthmaps
  • Create clusters of neighbors for each joint in both keypoints
  • Align one keypoint to the other using each subset of the pointcloud as if they were matching in each pointcloud

Installation

pip install -e .

Usage

Every data structure is in the structures module.
In isp/config.py, add your checkpoints folder path. It should contain checkpoints for YOLO pose and segmentation models.
The rest is pretty straightforward, there's a pipeline already implemented in the pipelines submodule.

About

Variant of ICP for matching 2 kinects acquisitions without knowing the extrinsics.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages