PedroM2626's picture
Fix: add stable Camera (Snapshot) mode as fallback for WebRTC connection issues
e78d7b4
metadata
title: YOLO-Detection-Transfer Learning
emoji: 🚀
colorFrom: red
colorTo: red
sdk: docker
app_port: 8501
tags:
  - streamlit
pinned: false
short_description: Streamlit template space
license: mit

YOLO Detection & Transfer Learning

Este projeto é uma aplicação Streamlit para detecção de objetos utilizando o modelo YOLOv3-Tiny com OpenCV DNN. O projeto está configurado para ser executado localmente ou no Hugging Face Spaces via Docker.

🚀 Funcionalidades

  • Detecção de objetos em tempo real via Webcam usando WebRTC (vídeo) ou Snapshot (foto).
  • Modo Snapshot: Alta estabilidade para uso em nuvem e redes com restrições.
  • Suporte a 80 classes do dataset COCO.
  • Interface amigável com Streamlit.
  • Configuração via variáveis de ambiente.
  • Suporte a Git LFS para arquivos de pesos do modelo.

🛠️ Instalação

Pré-requisitos

  • Python 3.9+
  • Git LFS

Passo a Passo

  1. Clone o repositório:

    git clone https://huggingface.co/spaces/PedroM2626/YOLO-Detection-Transfer_Learning
    cd YOLO-Detection-Transfer_Learning
    
  2. Instale o Git LFS e puxe os arquivos grandes:

    git lfs install
    git lfs pull
    
  3. Crie um ambiente virtual e instale as dependências:

    python -m venv venv
    source venv/bin/activate  # No Windows: venv\Scripts\activate
    pip install -r requirements.txt
    
  4. Configure as variáveis de ambiente: Copie o arquivo .env.example para .env e ajuste se necessário.

    cp .env.example .env
    

💻 Uso

Para rodar a aplicação localmente:

streamlit run streamlit_app.py

🧪 Testes

O projeto inclui testes unitários, de integração e de aceitação.

Para executar os testes:

pytest

📁 Estrutura do Projeto

  • models/: Contém os arquivos de configuração, pesos e nomes das classes do YOLO.
  • tests/: Testes automatizados.
  • streamlit_app.py: Interface principal da aplicação.
  • yolo_inference.py: Lógica de inferência do modelo.
  • Dockerfile: Configuração para deploy no Hugging Face Spaces.
  • .env.example: Modelo de variáveis de ambiente.
  • .gitattributes: Configuração do Git LFS.

📄 Licença

Este projeto está sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.