Skip to content
 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

YoloAPIProject

API REST desarrollada con FastAPI que permite enviar una imagen a un modelo YOLOv8 preentrenado y obtener las predicciones en formato JSON. El modelo se ejecuta en backend y el resultado puede ser consultado por cualquier frontend o sistema externo.


📦 Requisitos

  • Python 3.8 o superior
  • pip (gestor de paquetes)
  • Entorno virtual recomendado (venv)
  • Conexión a internet (para descargar el modelo YOLO si no está en local)

⚙️ Instalación

  1. Clonar el repositorio:
git clone https://github.com/federicostragliati/YoloAPIProject.git
cd YoloAPIProject
  1. Crear entorno virtual:
python -m venv venv
source venv/bin/activate       # Linux/macOS
venv\Scripts\activate        # Windows
  1. Instalar dependencias:
pip install -r requirements.txt
sudo apt install -y libgl1 # En Linux

Esto incluye: fastapi, uvicorn, ultralytics

  1. (Opcional) Descargar manualmente el modelo:

Si querés tener el archivo .pt en el proyecto:

  • Descargar desde: YOLOv8n.pt
  • Guardarlo en la carpeta: modelos/yolov8n.pt

🚀 Cómo correr la API

Desde la raíz del proyecto:

uvicorn app.main:app --reload
  • Acceder a la documentación automática de Swagger:
    http://localhost:8000/docs
    

🔁 Cómo probar

1. Subir una imagen (POST)

Usar Swagger UI:

  • Ir a /imagen
  • Cargar un archivo (campo file)
  • Hacer clic en "Execute"

Esto procesa la imagen con el modelo YOLO.

2. Consultar el resultado (GET)

Ir a /resultado y hacer clic en "Execute"
Se devuelve un JSON con todas las detecciones:

{
  "predictions": [
    {
      "x1": 123.4,
      "y1": 45.6,
      "x2": 200.8,
      "y2": 300.9,
      "confidence": 0.87,
      "class_id": 16,
      "class_name": "dog"
    }
  ]
}

📁 Estructura del proyecto

YoloAPIProject/
├── app/
│   ├── main.py          # API FastAPI
│   ├── model.py         # Procesamiento YOLO
│   └── __init__.py
├── modelos/             # Modelo YOLO (.pt)
├── static/              # Imágenes temporales
├── requirements.txt     # Dependencias

📌 Notas

  • Se actualizo al modelo "yolo11m-seg.pt" con el cual el equipo de IA realizo las pruebas.
  • No se guarda el historial. Cada nueva imagen sobreescribe el resultado anterior.
  • No se realiza validación de tipo de archivo aún.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages