Skip to content

AIDL-IPAL/SurgicalKinematics

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Kinematics Reconstruction

Github Structure

Our repository is organized into multiple directories for different aspects of robotic surgery research:

Scene Reconstruction & Pose Analytics Pipeline

Our scene reconstruction and pose analytics pipeline follows these key stages:

  1. YOLO-pose Finetuning: Initial model training using the SurgPose dataset to establish foundational pose recognition capabilities. Further refinement of the pretrained model using SurgVU dataset pose annotations (Northwell Physicians Group, Encord. Contact liam.mchugh@columbia.edu) for domain-specific adaptation.

  2. Monocular Depth Finetuning*: Using calibrated Stereo-Vision inference as annotations, Metric3D can be finetuned for laparoscopic surgery, improving the performance of depth-integrated kinematics reconstruction on monocular video datasets. Code for finetuning & depth inference (both monocular using Metric3D and stereo using NVLabs FoundationStereo) can be found in the depth_recon subdirectory.

  3. Kinematic Inference:

    • Core Pose Detection: Extraction of key instrument positions and orientations
    • Optional Enhancements:
    • Stereo/monocular depth inference for enhanced spatial awareness
    • SAM instrument masking for constraining x/y & especially depth projections
  4. Kinematic Clustering: Analysis of movement patterns to identify surgical gestures and techniques

Inference Diagram

Pose Annotation Datasets:

Kinematic Inferece Setup Guide

This guide will help you set up the environment and run kinematic inference for this project.

1. Clone Submodules

git submodule update --init --recursive

2. Create and Activate Environment

# Create environment from the provided YAML file

# LOCAL MACHINES (flexible torch/cuda)
conda env create -f kinematics/kinematics_env_flexmachine.yml

# CLOUD ENVIRONMENTS:
conda env create -f kinematics/kinematics_env.yml

# Activate the environment
conda activate kinematics

4. Download Model Weights

Pose Models (see XX for complete pose analytics report):

Extract and put file in kinematics/models/

5. Run Kinematic Inference

python kinematics/kinematic_inference.py --input <input video> --save-video 

For further questions, please refer to the project documentation or contact the maintainer.

About

No description, website, or topics provided.

Resources

License

Stars

3 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors