{"id":24785499,"url":"https://github.com/angelsc75/logo_detector","last_synced_at":"2026-04-12T02:34:27.249Z","repository":{"id":274520973,"uuid":"923178811","full_name":"angelsc75/Logo_Detector","owner":"angelsc75","description":"Detector de logos de marcas deportivas en vídeos.","archived":false,"fork":false,"pushed_at":"2025-01-27T19:35:55.000Z","size":104675,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-27T20:33:52.391Z","etag":null,"topics":["fastapi","opencv","python","streamlit","yolov8"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/angelsc75.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-01-27T19:16:24.000Z","updated_at":"2025-01-27T19:52:10.000Z","dependencies_parsed_at":"2025-01-27T20:46:22.844Z","dependency_job_id":null,"html_url":"https://github.com/angelsc75/Logo_Detector","commit_stats":null,"previous_names":["angelsc75/logo_detector"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angelsc75%2FLogo_Detector","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angelsc75%2FLogo_Detector/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angelsc75%2FLogo_Detector/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angelsc75%2FLogo_Detector/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/angelsc75","download_url":"https://codeload.github.com/angelsc75/Logo_Detector/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245240764,"owners_count":20583099,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["fastapi","opencv","python","streamlit","yolov8"],"created_at":"2025-01-29T14:18:44.402Z","updated_at":"2026-04-12T02:34:27.195Z","avatar_url":"https://github.com/angelsc75.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Detección de Marcas en Videos e Imágenes\nNota: Este proyecto está realizado dentro del bootcamp de IA de Factoría F5, que tuvo lugar entre mayo de 2024 y marzo de 2025. Es un proyecto hecho en pareja que corresponde a la parte de Computer Vision. \n\nEste proyecto implementa un sistema de detección de marcas en videos e imágenes, con conexión a una base de datos y una API desarrollada con FastAPI. Además, incluye una interfaz interactiva basada en Streamlit para gestionar y visualizar los resultados de detección.\n\n## Características Principales\n\n- **Procesamiento de Datos**: Preparación del dataset en formato YOLO a partir de anotaciones XML.\n- **Detección de Logos**: Uso de modelos YOLO para detectar logos de marcas como Adidas, Nike y Puma en videos.\n- **Gestor de Detecciones**: API RESTful para gestionar registros en la base de datos.\n- **Interfaz Gráfica**: Aplicación de Streamlit para visualizar resultados, eliminar detecciones y analizar datos.\n- **Base de Datos**: Almacenamiento de las detecciones en una base de datos SQLite.\n\n## Estructura del Proyecto\n\n```\nbrand_detection_Angel_Leire\n    ├── app\n    │   ├── api.py\n    │   ├── config.py\n    │   ├── core\n    │   │   └── reporting\n    │   ├── __init__.py\n    │   └── streamlit_app.py\n    ├── data\n    │   ├── dataset_yolo\n    │   │   └── data.yaml\n    │   ├── metodos_data\n    │   │   ├── dataset_organaizer.py\n    │   │   ├── __init__.py\n    │   │   ├── labeling.py\n    │   │   ├── nombrado_archivos.py\n    │   │   ├── scrape_logos.py\n    │   │   └── xml_to_yolo.py\n    │   ├── preparar_data_set.py\n    │   ├── raw\n    │   │   ├── images\n    │   │   └── videos\n    │   ├── test\n    │   │   ├── images\n    │   │   └── labels\n    │   ├── train\n    │   │   ├── images\n    │   │   ├── labels\n    │   │   └── labels.cache\n    │   └── val\n    │       ├── images\n    │       ├── labels\n    │       └── labels.cache\n    ├── deployment\n    │   ├── ci_cd\n    │   └── cloud\n    ├── docker-compose.yml\n    ├── Dockerfile\n    ├── frontend\n    ├── models\n    │   ├── best_model.pth\n    │   ├── confusion_matrix.png\n    │   ├── evaluation_report.txt\n    │   ├── __init__.py\n    │   ├── logo_detector.py\n    │   └── plots\n    │       └── training_results.png\n    ├── notebooks\n    ├── README.md\n    ├── requirements.txt\n    ├── scripts\n    ├── src\n    │   ├── api\n    │   │   ├── __init__.py\n    │   │   ├── main.py\n    │   │   ├── routes\n    │   │   ├── schemas\n    │   │   └── services\n    │   ├── config\n    │   ├── db_migration.py\n    │   ├── models\n    │   ├── scraping\n    │   └── utils\n    │       ├── helpers.py\n    │       └── __init__.py\n    ├── test\n    │   ├── conftest.py\n    │   ├── __init__.py\n    │   ├── test_api.py\n    │   ├── test_detection.py\n    │   ├── test_labeling.py\n    │   ├── test_reporting.py\n    │   └── test_video.py\n    ├── venv\n    │   ├── etc\n    │   │   └── jupyter\n    │   ├── lib64 -\u003e lib\n    │   ├── pyvenv.cfg\n    │   └── share\n    │       ├── jupyter\n    │       └── man\n    └── videos\n```\n\n## Requisitos\n\n- **Python 3.8 o superior**\n- Bibliotecas requeridas:\n  - `FastAPI`\n  - `Streamlit`\n  - `SQLite`\n  - `Plotly`\n  - `Pandas`\n  - `Pillow`\n  - `requests`\n\n## Instalación\n\n1. Clona este repositorio:\n   ```bash\n   git clone \u003crepositorio\u003e\n   cd \u003crepositorio\u003e\n   ```\n\n2. Instala las dependencias:\n   ```bash\n   pip install -r requirements.txt\n   ```\n\n3. Asegúrate de que la base de datos esté disponible en `database/detections.db`.\n\n## Uso\n\n### 1. Preparar el Dataset\n\nEjecuta el script `preparar_data_set.py` para generar el dataset en formato YOLO:\n```bash\npython src/preparar_data_set.py\n```\n\n### 2. Ejecutar la API\n\nInicia el servidor FastAPI para gestionar detecciones:\n```bash\nuvicorn src.api:app --reload\n```\n\n### 3. Ejecutar la Aplicación Streamlit\n\nEjecuta la interfaz de usuario para gestionar y analizar las detecciones:\n```bash\nstreamlit run src/streamlit_app.py\n```\n\n### 4. Procesar Videos\n\nDesde la aplicación de Streamlit, selecciona \"Procesar Video\" en el menú lateral. Sube un video y configura las marcas y umbrales de confianza deseados.\n\n### 5. Gestionar Detecciones\n\nUsa la sección \"Gestión de Detecciones\" en Streamlit para buscar, visualizar y eliminar detecciones almacenadas en la base de datos.\n\n## API Endpoints\n\n- **GET /detections/**: Devuelve las detecciones filtradas según los parámetros especificados.\n- **DELETE /detections/{rowid}**: Elimina una detección por su ID.\n\nConsulta la documentación completa de la API en:\n```\nhttp://127.0.0.1:8000/docs\n```\n\n## Personalización\n\n- **Marcas Detectables**: Modifica las marcas en `preparar_data_set.py` y en la configuración del modelo YOLO para añadir o eliminar marcas detectables.\n- **Modelos**: Coloca nuevos modelos entrenados en `runs/detect` y actualiza la configuración si es necesario.\n- **Interfaz**: Personaliza la aplicación Streamlit modificando `streamlit_app.py`.\n\n## Contribución\nSi deseas contribuir al proyecto:\n\n- Fork el repositorio\n- Crea una rama para tu funcionalidad\n- Realiza tus cambios\n- Envía un pull request\n\n## Presentación comercial del proyecto\n\n[Ver presentación del proyecto (PDF)](assets/Proyecto Computer Vision.pdf)\n\n## Contacto\nPara preguntas o sugerencias, por favor abre un issue en el repositorio.\n\n## Autores\n\n- Leire y equipo (Pair Programming).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fangelsc75%2Flogo_detector","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fangelsc75%2Flogo_detector","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fangelsc75%2Flogo_detector/lists"}