OCRFLOW est une plateforme polyvalente conçue pour le benchmarking des pipelines OCR (Optical Character Recognition) et des plateformes de detection d'objets. Elle offre une solution complète on-premise, installable sur un serveur, conçue pour évaluer les performances et la précision des systèmes de reconnaissance de caractères ainsi que des systèmes de détection d'objets, le tout à l'aide d'une architecture flexible et évolutive.
OCRFLOW est un assemblage de solutions agencées pour gérer le benchmark, l'inférence, l'entrainement de modéles de computervision. A terme la porte d'entrée de la plateforme sera l'API.
Pour le moment l'inférence temps-réel n'est pas prévue, le scénario d'inférence est asynchrone et fonctionne par passage d'url de l'image à l'API, en choisissant le modéle adapté, stocké au préalable dans la solution de stockage objet MINIO. L'image est processée par un consumer inscrit sur une queue rabbitmq dédiée.
Le benchmark peut être réalisé par passage d'url ou par passage de bucket MINIO. Les métriques sont déclarées dans l'API (Accuracy, Recall, FPS, Mémoire, etc ...), ainsi que le modéle, le consumer doit renvoyer ses spécifications pour une analyse équitable.
Le training se fait par déclaration de bucket, avec déclaration des métriques triggers accuracy, nombre d'épochs etc ... Le modéle issu de l'entrainement est ensuite stocké dans MINIO.
To deploy this project run
git clone --branch dev https://github.com/hackolite/ocrflow.git
cd ./ocrflow/infrastructure/apiQ
docker-compose up --build apiQ
Add badges from somewhere like: shields.io
Color | Hex |
---|---|
Example Color | #0a192f |
Example Color | #f8f8f8 |
Example Color | #00b48a |
Example Color | #00d1a0 |
Contributions are always welcome!
See contributing.md
for ways to get started.
Please adhere to this project's code of conduct
.
Insert gif or link to demo
## License
[MIT](https://choosealicense.com/licenses/mit/)
## Roadmap
- Endpoints design and implementation
- Develop relevants queues from start
- Scenario Development
- Micropython and rust consumer implementation
## Tech Stack
**Client:** mlflow, pytorch, pika
**Server:** flask, rabbitmq, minio, mlflow
## Used By
This project is used by the following companies:
- Xretail