Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/openvisionapi/ova-server
OpenVisionAPI server
https://github.com/openvisionapi/ova-server
api computer-vision deep-learning flask machine-learning object-detection python tensorflow tensorflow-lite yolov4
Last synced: about 1 month ago
JSON representation
OpenVisionAPI server
- Host: GitHub
- URL: https://github.com/openvisionapi/ova-server
- Owner: openvisionapi
- Created: 2021-05-06T20:56:09.000Z (over 3 years ago)
- Default Branch: master
- Last Pushed: 2023-11-22T19:24:48.000Z (about 1 year ago)
- Last Synced: 2024-08-01T22:48:48.766Z (5 months ago)
- Topics: api, computer-vision, deep-learning, flask, machine-learning, object-detection, python, tensorflow, tensorflow-lite, yolov4
- Language: Python
- Homepage: https://openvisionapi.com
- Size: 451 KB
- Stars: 107
- Watchers: 3
- Forks: 6
- Open Issues: 4
-
Metadata Files:
- Readme: Readme.md
Awesome Lists containing this project
README
![Static Badge](https://img.shields.io/badge/AGPLV3-License?style=for-the-badge&label=LIcense)
## 🌟 Project Description
Open Vision API is an open source computer vision API based on open source models.
## 🚀 Quick Start
The following instructions detail how to set up the ova-server.
For information regarding the official clients and a quick demo of the API functionality head to:
- [ova-client](https://github.com/openvisionapi/ova-client): the official Python client.
- [ova](https://github.com/openvisionapi/ova): the official Rust client.### Installation
Make sure you have:
- [just](https://github.com/casey/just)
- [poetry](https://python-poetry.org/)Set up a local environment using TensorFlow Lite as the backend framework.
```bash
$ just setup-tensorflow-lite
```> See [documentation](https://github.com/openvisionapi/docs) for a list of supported deep learning frameworks.
Download the models.
```bash
$ poetry run ./cli.py download --model=yolov4 --framework=tensorflow_lite --hardware=cpu
```### Usage
Run the ova-server.
```bash
$ just run-with-tensorflow-lite
INFO: Created TensorFlow Lite XNNPACK delegate for CPU.
INFO: Started server process [3588600]
INFO: Waiting for application startup.
INFO: Application startup complete.
INFO: Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)
```Get the official client.
#### Python client:
```bash
$ git clone https://github.com/openvisionapi/ova-client
$ cd ova-client
$ just setup
$ OVA_DETECTION_URL=http://localhost:8000/api/v1/detection poetry run ./ova.py detection images/cat.jpeg
```> For more information about the python client, please visit https://github.com/openvisionapi/ova-client
#### Rust client:
```bash
$ git clone https://github.com/openvisionapi/ova
$ cd ova
$ OVA_DETECTION_URL=http://localhost:8000/api/v1/detection cargo run -- detection -i assets/cat.jpeg
```> For more information about the rust client, please visit https://github.com/openvisionapi/ova
## ⛏️ Built Using
- [FastAPI](https://github.com/tiangolo/fastapi)
- [Pillow](https://github.com/python-pillow/Pillow)
- [Numpy](https://github.com/numpy/numpy)
- [TensorFlow](https://github.com/tensorflow/tensorflow)
- [TensorFlow Lite](https://github.com/tensorflow/tensorflow)
## 🤝 Contributions
All contributions are welcome!
### Setting up the Development Environment
To set up the development environment, simply run the command:
```bash
$ just dev
```### Code Style Checks
ruff and mypy are used to ensure that contributions are stylized in a uniform manner.
- [ruff](https://github.com/astral-sh/ruff) is used as a linter and a code formatter.
- [mypy](https://github.com/python/mypy) is used for static typing.
## 🔧 Tests
To run the tests, simply use the commands:
```bash
$ just dev
$ just test
```
## 📄 Documentation
The complete documentation can be found here [documentation](https://github.com/openvisionapi/docs)
## ⚖️ License
AGPLv3