/dot-vision

Open Source Backend Services for Computer Vision in Python

Primary LanguagePython

Dot Vision

Dot Vision is on a mission to create an open-source, robust backend that tackles various computer vision tasks. Initially starting as an art project focused on performing homographic transformations from video cameras to a 2D plane, Dot Vision has grown into a more ambitious and impactful project. Our journey has been full of joy and thrilling challenges, and we’ve decided not to stop here. We aim to expand this project into a comprehensive platform that can serve diverse computer vision needs.

dot-vision-homography.mov

If you are passionate about computer vision and want to contribute to a growing, innovative project, we invite you to join us on this mission. Below, you’ll find our roadmap and current tasks that are in progress.

How to Contribute

We welcome contributions from developers, researchers, and enthusiasts. Whether you’re interested in coding, testing, documentation, or simply spreading the word, your help is valuable to us. Check the roadmap below along with the associated to-do list.

Roadmap

This is the roadmap for the next major dot vision release

  1. MVP Development ✅
  • Our Minimum Viable Product is complete, showcasing the core functionality of homographic transformations.
  1. Deployment 👨‍🍳 (v0.1.0-beta)
  • We are working on deploying the MVP, ensuring that the project can be easily accessed and utilized by the community.
  1. Expand Capabilities (v0.2.0-beta)
  • We plan to add additional computer vision tasks, making Dot Vision a versatile tool for various applications.
  1. Client-Side Demos
  • Develop mobile and web demos that interact with Dot Vision’s backend to demonstrate its capabilities in real-world scenarios.

To-Do List for Deployment (v0.1.0-beta) :

  1. Identify Improvements ✅
  • Ensure the project can be deployed with minimal human intervention.
  1. List Components and Services ✅
  • Document all the components and services involved in the project.
  1. Write Dockerfiles ✅
  • Create Dockerfiles for each application component to facilitate easy deployment.
  1. Generate Docker Compose
  • Develop a Docker Compose file to start and halt the entire application with a single command.
  1. Fix Issues During Containerization (Optional)
  • Address any issues that arise during the containerization process.
  1. Upload to Docker Repository (Optional)
  • Publish the Docker Compose setup to a repository like Docker Hub for easy access.

Get Started

Using Docker

To facilitate setup and reproducibility, some docker images are made available via docker compose:

git clone https://github.com/alvinwatner/dot-vision
docker compose up

Run locally

Clone the project

git clone https://github.com/alvinwatner/dot-vision

Install requirements

pip install -r requirements.py

Run the app

python3 dot_vision.py

Run on Raspberry PI

Running the project on Raspberry Pi can be done either using the "Run Locally" steps or the "Using Docker" option. ...

Documentation

Code documentation lives at https://dot-vision/docs

Acknowledgements

Dot Vision is run as a collaborative open-source project. The project was incubated by ConsultNTA.

Current maintainers:

Social Media

  • Join Our Discord: Click here to join to discuss ideas, share feedback, and collaborate with the team.
  • Follow Us on Social Media:
    • LinkedIn: Coming soon
    • X (formerly Twitter): Coming soon

Citation

Research article coming soon.