https://github.com/marlonvbp/opencv
Projeto de visão computacional com OpenCV e YOLOv3 para detecção de objetos e reconhecimento facial. Inclui scripts para imagens, webcam e identificação de pessoas.
https://github.com/marlonvbp/opencv
compute-vision mit-license opencv yolov3
Last synced: about 2 months ago
JSON representation
Projeto de visão computacional com OpenCV e YOLOv3 para detecção de objetos e reconhecimento facial. Inclui scripts para imagens, webcam e identificação de pessoas.
- Host: GitHub
- URL: https://github.com/marlonvbp/opencv
- Owner: MarlonVBP
- License: mit
- Created: 2025-05-06T20:42:00.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-05-20T20:19:16.000Z (about 1 year ago)
- Last Synced: 2025-08-21T03:33:53.140Z (11 months ago)
- Topics: compute-vision, mit-license, opencv, yolov3
- Language: Python
- Homepage:
- Size: 2.36 MB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# OpenCV Object Detection and Facial Recognition
## 📖 Descrição
Este projeto demonstra o uso do **OpenCV** e **YOLOv3** para detecção de objetos em imagens e vídeos, além de reconhecimento facial com a biblioteca `face_recognition`. Desenvolvido como parte de um seminário de Inteligência Artificial, o projeto explora aplicações práticas de visão computacional, incluindo identificação de objetos (como carros, pessoas e itens do cotidiano), reconhecimento facial personalizado e análise de imagens. O objetivo é fornecer uma base acessível para estudantes, desenvolvedores e entusiastas explorarem o potencial do OpenCV em soluções inovadoras.
Os scripts incluem exemplos para:
- Exibir e detectar objetos em imagens estáticas.
- Processar vídeos em tempo real via webcam.
- Reconhecer pessoas específicas (ex.: "Luiz") a partir de fotos de treinamento.
Os arquivos de *weights* do YOLOv3, devido ao seu tamanho, estão hospedados no Google Drive para facilitar o acesso.
## 🚀 Como Implementar
### Pré-requisitos
- **Python 3.7+** instalado.
- Uma webcam (para scripts de detecção em tempo real).
- Acesso à internet para baixar as bibliotecas e os arquivos de *weights*.
### Bibliotecas Necessárias
Instale as seguintes bibliotecas usando `pip`:
```bash
pip install opencv-python
pip install numpy
pip install face_recognition
```
> **Nota:** Para instalar `face_recognition`, pode ser necessário instalar `cmake` e `dlib` primeiro:
> ```bash
> pip install cmake
> pip install dlib
> ```
### Arquivos de *Weights*
O arquivo de *weights* do YOLOv3 (`yolov3.weights`) é muito grande para o GitHub e está hospedado no Google Drive. Baixe aqui:
🔗 [Download dos Arquivos](https://drive.google.com/file/d/1Va4WjQ4ppNjGFzgJreXU-LxAcbQmhuha/view?usp=sharing)
Após o download, extraia os arquivos e coloque-os na pasta raiz do projeto.
### Estrutura do Projeto
- `detect_image.py`: Detecta objetos em uma imagem estática usando YOLOv3.
- `detect_webcam.py`: Realiza detecção de objetos em tempo real via webcam.
- `face_recognition.py`: Reconhece pessoas específicas (ex.: "Luiz") a partir de fotos de treinamento.
- `fotos_luiz/`: Pasta para armazenar fotos de treinamento para reconhecimento facial (ex.: `luiz1.jpg`, `luiz2.jpg`).
### Passos para Executar
1. **Clone o Repositório**:
```bash
git clone https://github.com/seu_usuario/seu_repositorio.git
cd seu_repositorio
```
2. **Baixe os Arquivos de *Weights***:
- Acesse o [link do Google Drive](https://drive.google.com/file/d/1Va4WjQ4ppNjGFzgJreXU-LxAcbQmhuha/view?usp=sharing).
- Coloque `yolov3.weights`, `yolov3.cfg` e `coco.names` na pasta raiz.
3. **Instale as Dependências**:
```bash
pip install -r requirements.txt
```
> Crie um arquivo `requirements.txt` com:
```
opencv-python
numpy
face_recognition
```
4. **Execute os Scripts**:
- Para detecção em imagem:
```bash
python detect_image.py
```
> Edite o nome da imagem no script (ex.: `"image.png"`).
- Para detecção via webcam:
```bash
python detect_webcam.py
```
- Para reconhecimento facial:
- Coloque 5+ fotos do Luiz na pasta `fotos_luiz/`.
- Execute:
```bash
python face_recognition.py
```
## 📝 Licença
Este projeto é licenciado sob a **Licença MIT**. Você pode usar, copiar, modificar, mesclar, publicar, distribuir, sublicenciar e/ou vender cópias do software, desde que inclua o aviso de copyright e a permissão de uso em todas as cópias ou partes substanciais do software. Veja o arquivo [LICENSE](LICENSE) para mais detalhes.
## 🛠️ Notas Adicionais
- **Performance**: Em CPUs, o FPS pode ser baixo com YOLOv3. Para melhor desempenho, use uma GPU com CUDA.
- **Personalização**: Para reconhecer outras pessoas ou objetos, adicione mais fotos na pasta `fotos_luiz/` ou treine um modelo YOLO customizado.
- **Problemas Comuns**:
- Se a webcam não funcionar, tente mudar o índice em `cv2.VideoCapture(0)` para `1` ou `2`.
- Verifique se os arquivos de *weights* estão no diretório correto.
## 📚 Referências
- [OpenCV Official Documentation](https://docs.opencv.org)
- [YOLO: Real-Time Object Detection](https://pjreddie.com/darknet/yolo/)
- [Face Recognition GitHub](https://github.com/ageitgey/face_recognition)
---