Skip to content

Pyton tool to map multi-camera imagery to a spherical egocentric representaiton

Notifications You must be signed in to change notification settings

Kappibw/sphere_cam

Repository files navigation

Spherical Camera

Python tool that maps images taken from multiple cameras onto an egocentric sphere seen from the origin, with an extra data point per pixel (eg: semantics).

Screenshot from 2024-10-29 22-06-56 Screenshot from 2024-10-29 22-06-39 Screenshot from 2024-10-29 22-06-50

Adapted in part from Magnus Gaertner's Master's Thesis (ETH Zurich).

Stages

  1. Deprojects depth imagery to 3D world coordinates. Screenshot from 2024-10-25 11-25-24

  2. Projects 3D points to cube, warps cube face pixels to "quad sphere". warp

  3. De-dupes points by choosing min-depth point per pixel in output sphere. Screenshot from 2024-10-25 11-26-01

Setup

Clone the repository

git clone https://github.com/Kappibw/sphere_cam.git
cd sphere_cam

Create and activate the Conda environment

conda env create -f environment.yml
conda activate spherecam

Install the Python package in editable mode

pip install -e .

Verify the installation

python -c "import sphere_cam"

Usage

To run on a single test image:

python test_single_image.py

To run with 4 images (front, back, left, right):

python test_omnidirectional_images.py

Note: this codebase assumes that input depth images are in default camera coordinates: y down, z forwards, and that world coordinates are x forward, z up.

About

Pyton tool to map multi-camera imagery to a spherical egocentric representaiton

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages