metadata
title: Weapon Detection App
emoji: 🚨
colorFrom: red
colorTo: yellow
sdk: gradio
sdk_version: 5.15.0
app_file: app.py
pinned: false
license: mit
hardware: true
resources:
accelerator: T4
gpu: true
Sistema de Detecção de Riscos em Vídeo
Este projeto implementa um sistema de detecção de riscos em vídeo utilizando YOLOv8 e Clean Architecture.
Pré-requisitos
- Python 3.9 ou superior
- pip (gerenciador de pacotes Python)
- Ambiente virtual Python (recomendado)
Configuração do Ambiente
- Clone o repositório:
git clone [URL_DO_REPOSITORIO]
cd [NOME_DO_DIRETORIO]
- Crie e ative um ambiente virtual:
python -m venv .venv
source .venv/bin/activate # Linux/Mac
# OU
.venv\Scripts\activate # Windows
- Instale as dependências:
pip install -r requirements.txt
- Configure as variáveis de ambiente:
Crie um arquivo
.env
na raiz do projeto com as seguintes variáveis:
NOTIFICATION_API_KEY=sua_chave_api
Executando o Projeto
Ative o ambiente virtual (se ainda não estiver ativo)
Execute o aplicativo:
python src/main.py
- Acesse a interface web através do navegador no endereço mostrado no terminal (geralmente http://localhost:7860)
Funcionalidades
- Upload de vídeos para análise
- Detecção de objetos em tempo real
- Configuração de parâmetros de detecção
- Sistema de notificações
- Monitoramento de recursos do sistema
Estrutura do Projeto
O projeto segue os princípios da Clean Architecture:
domain/
: Regras de negócio e entidadesapplication/
: Casos de uso e interfacesinfrastructure/
: Implementações concretaspresentation/
: Interface com usuário (Gradio)
Contribuindo
- Fork o projeto
- Crie uma branch para sua feature (
git checkout -b feature/AmazingFeature
) - Commit suas mudanças (
git commit -m 'Add some AmazingFeature'
) - Push para a branch (
git push origin feature/AmazingFeature
) - Abra um Pull Request
Tecnologias
- Python 3.8+
- PyTorch com CUDA
- OWL-ViT
- Gradio
- FFmpeg
Requisitos de Hardware
- GPU NVIDIA T4 (fornecida pelo Hugging Face)
- 16GB de RAM
- Armazenamento para cache de modelos
Limitações
- Processamento pode ser lento em CPUs menos potentes
- Requer GPU para melhor performance
- Alguns falsos positivos em condições de baixa luz
Desenvolvido com ❤️ para o Hackathon FIAP