@libs-scripts-mep/mpai
Version:
Inference MPAI client
87 lines (61 loc) • 2.61 kB
Markdown
# MPAI — Métodos e Processos com IA
Ferramenta para captura de imagens, treinamento e inferência com modelos YOLOv8 (Ultralytics) utilizando exclusivamente o Roboflow para gerenciamento de datasets.
## ✨ Funcionalidades
- Captura de imagens com controle de parâmetros da câmera.
- Inferência em imagens e streaming de vídeo.
- Validação em tempo real a partir de uma inferência previa.
## 📦 Instalação
```bash
npm install @libs-scripts-mep/mpai
```
## 🔁 Atualização
```bash
npm update @libs-scripts-mep/mpai
```
## 🧹 Desinstalação
```bash
npm uninstall @libs-scripts-mep/mpai
```
## 🧪 Ambiente Virtual [DEV] (opcional, mas recomendado)
Crie um ambiente virtual para o projeto. O ambiente virtual pode ser ativado manualmente na raiz do projeto.
> ⚠️ Para os comandos de ativação, **não** use o bash. Utilize o CMD ou PowerShell no terminal integrado do VS Code.
```bash
python -m venv .venv
```
### Ativação:
> ⚠️ A ativação deve ser feita sempre que abrir o VS Code. Caso contrário, o ambiente global será usado.
**PowerShell:**
```powershell
.venv\Scripts\Activate.ps1
```
**CMD:**
```bash
.venv\Scripts\activate
```
**Bash/Linux:**
```bash
source .venv/bin/activate
```
### Para Inferência
> 💡 Recomendado: execute `core\compat.py` para instalar dependências compatíveis automaticamente (detecta e usa ambiente virtual, se existir).
Ou instale manualmente se preferir:
```bash
pip install opencv-python pillow numpy ultralytics pyyaml websockets
```
## 🔍 Servidor de Inferência
Use o script `mpai-server.py` para subir um servidor de inferência, disponibilize o modelo treinado via websocket `ws://localhost:8866` e o `mpai-client.js` para enviar imagens (base64) e receber as detecções.
Para testar rapidamente a conexão com o server, utilize a ferramenta [Websocket King](https://websocketking.com/)
Primeiramente conecte ao server passando a URL:
```bash
ws://localhost:8866
```
Depois carregue um modelo já treinado, exemplo de payload:
```json
{"model_path": "C:/Users/lucas.kroth/Desktop/cudumagico/model/v3cubo.pt"}
```
Mande uma imagem para inferência, exemplo de payload:
```json
{"image": "/9j/4AAQSkZJRgABAQAAAQA.......", "tag": "teste", "confidence": "0.8", "reference_path": "C:/Users/lucas.kroth/Desktop/cudumagico/ref/teste.json"}
```
## 🛠️ Ferramenta de Inferência
O script `apps/infer_tool_app.py` pode ser utilizado para fazer inferências em imagens e streaming de vídeo, e validações em tempo real.