An open source pytorch library for spatial mapping based on 2D representations
Project description
Spatial Mapping (SMap)
| Testing | |
| Package |
What is it?
An open source pytorch library for spatial mapping based on 2D representations, a concept in 3D inference that first appeared in the paper "A Solution to the Fundamental Problem of 3D Inference Based on 2D Representations" uploaded to arXiv. This project is the foundation of the "Dynamic 3D Inference" vision with three main pillars:
- Dynamic gradient flows.
- Platonic-representation based 3D inference.
- Countable vision.
Dynamic gradient flows: A concept appears in backprobagation programming for neural network optimization when considering the differentiable rendering problem as a multi-objective optimization problem where each point corresponds to an objective. Thus, for each objective, the gradient flow will be controlled in a way that helps to translate an existing point to its corresponding screen position instead of “bubbling" a point at a certain screen position, what is a common process found in solutions based on image loss optimization. For more details, please read the paper.
Platonic-representation based 3D inference: The projection of an object on an image is an 2D instance of the Platonic representation of that object. This project aims to perform 3D inference on these Platonic representations built during the training process. Unlike other approaches, the inverse rendering solution implemented in this project does not separate the 3D inference process from the training process but rather the training process is built on top of the inference. Accordingly, even if the target images are changed by a change in the 3D parameters such as increasing or decreasing the rotation angles of the object or translating the entire object, the training process will not have to restart from the beginning but will be similar to moving the object to the new position.
Countable vision: This concept will be revealed in the second phase of the project.
Current Plans: Trello board
Table of Contents
Installation
Install from PyPI
You can install smap directly from PyPI using pip:
pip install smap-torch
Development Installation
Follow these steps to install and set up SMap for development:
-
Clone the repository:
git clone https://github.com/thienannguyen-cv/SMap.git cd SMap
-
(Optional) Create and activate a virtual environment:
# On Linux or macOS: python -m venv venv source venv/bin/activate # On Windows: python -m venv venv venv\Scripts\activate
-
Install dependencies:
Upgrade pip and setuptools, then install all required packages:
pip install --upgrade pip setuptools pip install -r requirements.txt
-
Install SMap in editable mode:
This allows you to develop SMap and have changes reflected immediately without reinstalling the package:
pip install -e .
After installation, you can import the package in your python project, for example:
from smap import SMap, SMap3x3
Integrated Applications
- Camera Calibration as a PnI solver.
Next Release Features
- Depth Estimation for unique-shape objects.
License
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file smap_torch-1.0.0.tar.gz.
File metadata
- Download URL: smap_torch-1.0.0.tar.gz
- Upload date:
- Size: 19.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ad6774b60f7e759285b451ab3762bfb152f9094082f8c15b54ef022c271d6864
|
|
| MD5 |
009f4a055068f6121bc640714935e239
|
|
| BLAKE2b-256 |
ccba1b50492f47b99f63113f68dc466c7ca8c0f6cadb6b53f386bead01455c1a
|
Provenance
The following attestation bundles were made for smap_torch-1.0.0.tar.gz:
Publisher:
cd.yml on thienannguyen-cv/SMap
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
smap_torch-1.0.0.tar.gz -
Subject digest:
ad6774b60f7e759285b451ab3762bfb152f9094082f8c15b54ef022c271d6864 - Sigstore transparency entry: 194803947
- Sigstore integration time:
-
Permalink:
thienannguyen-cv/SMap@00611618107e47efb665c2242fef91bbeadb45da -
Branch / Tag:
refs/tags/v1.0.0 - Owner: https://github.com/thienannguyen-cv
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
cd.yml@00611618107e47efb665c2242fef91bbeadb45da -
Trigger Event:
release
-
Statement type:
File details
Details for the file smap_torch-1.0.0-py3-none-any.whl.
File metadata
- Download URL: smap_torch-1.0.0-py3-none-any.whl
- Upload date:
- Size: 19.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a2a3dd7dcde2931948e491afa5286641bc6dc927667dea89ae3e4284552c7145
|
|
| MD5 |
82343dbe15eb5b272d7cae18edf1e1ea
|
|
| BLAKE2b-256 |
d8544fc8a5a976f44744941c0cd01c56e2c301cef5c4100d5d2303ded91693b3
|
Provenance
The following attestation bundles were made for smap_torch-1.0.0-py3-none-any.whl:
Publisher:
cd.yml on thienannguyen-cv/SMap
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
smap_torch-1.0.0-py3-none-any.whl -
Subject digest:
a2a3dd7dcde2931948e491afa5286641bc6dc927667dea89ae3e4284552c7145 - Sigstore transparency entry: 194803951
- Sigstore integration time:
-
Permalink:
thienannguyen-cv/SMap@00611618107e47efb665c2242fef91bbeadb45da -
Branch / Tag:
refs/tags/v1.0.0 - Owner: https://github.com/thienannguyen-cv
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
cd.yml@00611618107e47efb665c2242fef91bbeadb45da -
Trigger Event:
release
-
Statement type: