PedroM2626's picture
Fix: add stable Camera (Snapshot) mode as fallback for WebRTC connection issues
e78d7b4
---
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:**
```bash
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:**
```bash
git lfs install
git lfs pull
```
3. **Crie um ambiente virtual e instale as dependências:**
```bash
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.
```bash
cp .env.example .env
```
## 💻 Uso
Para rodar a aplicação localmente:
```bash
streamlit run streamlit_app.py
```
## 🧪 Testes
O projeto inclui testes unitários, de integração e de aceitação.
Para executar os testes:
```bash
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](LICENSE) para mais detalhes.