PrimoDev/ apps

Anti-Antitrampo

Monitor de atenção pela webcam que toca um vídeo se você se distrair

  • macOS
  • Windows
  • Linux
  • Grátis
  • Open source
Ver no GitHub

O que é o Anti-Antitrampo?

O Anti-Antitrampo (Monitor de Atenção) é um app desktop que usa a webcam pra perceber quando você desvia o olhar da tela ou pega o celular. Nessa hora ele toca um vídeo MP4 que você escolheu e pausa sozinho quando você volta a prestar atenção.

O README diz que a licença é MIT. Não tem instalador nem versão publicada: você clona o repositório, instala as dependências com pip install -r requirements.txt e roda python main.py.

O que ele faz

  1. 01Detecção de olhar com MediaPipe Face Mesh, rastreando a íris
  2. 02Detecção de celular na imagem da câmera com YOLOv8
  3. 03Toca o vídeo MP4 que você escolher quando a atenção cai
  4. 04Pausa o vídeo quando você volta a olhar e continua de onde parou
  5. 05Liga e desliga cada detecção separadamente
  6. 06Ajuste de tolerância do olhar e de confiança na detecção do celular
  7. 07Roda em ~15 FPS, pensado pra CPU
  8. 08Interface em PyQt6 com tema escuro

Perguntas frequentes

O Anti-Antitrampo é grátis?
Sim. O código está no GitHub e o README indica licença MIT.
A imagem da minha webcam vai pra algum lugar?
Não. As detecções de olhar e de celular rodam localmente com MediaPipe e YOLOv8, e o código não envia os quadros da câmera pra nenhum servidor. A única conexão é pra baixar o modelo de detecção se ele não estiver na pasta.
Funciona em quais sistemas?
macOS, Windows e Linux, com Python 3.10 ou mais novo e uma webcam funcionando. No macOS, você precisa dar permissão de câmera pro Terminal ou pro Python.
Como eu instalo?
Clone o repositório, crie um ambiente virtual, rode pip install -r requirements.txt e depois python main.py. Na interface, escolha o vídeo MP4, ajuste as detecções e clique pra iniciar o monitoramento.
A detecção está errando. O que eu faço?
Ajuste os controles de sensibilidade, melhore a iluminação e fique de frente pra câmera. Se estiver lento, feche outros apps que usam a câmera.
Como paro o vídeo?
É só olhar de volta pra tela, que ele pausa sozinho. Se preferir, aperte ESC pra fechar o vídeo.

Documentação

README do repositório lucianodiisouza/anti-antitrampo, atualizado a cada deploy. O texto original é em inglês.

Uma aplicação desktop que monitora sua atenção através da webcam e reproduz um vídeo quando detecta que você não está olhando para a tela ou está usando o celular.

Funcionalidades

  • Detecção de olhar: Usa MediaPipe Face Mesh para rastrear a direção do seu olhar
  • Detecção de celular: Usa YOLOv8 para identificar celulares no campo de visão da câmera
  • Reprodução automática: Toca um vídeo MP4 quando a atenção é perdida
  • Pausa inteligente: Pausa o vídeo quando você volta a prestar atenção (continua de onde parou)
  • Interface moderna: GUI em PyQt6 com tema escuro

Requisitos

  • Python 3.10 ou superior
  • Webcam funcional
  • macOS, Windows ou Linux

Instalação

  1. Clone ou baixe este projeto

  2. Crie um ambiente virtual (recomendado):

python -m venv venv
source venv/bin/activate  # Linux/macOS
# ou
venv\Scripts\activate  # Windows
  1. Instale as dependências:
pip install -r requirements.txt

Nota: Na primeira execução, o YOLOv8 vai baixar automaticamente o modelo (~6MB).

Uso

  1. Execute a aplicação:
python main.py
  1. Na interface:

    • Clique em "Select Video (MP4)" para escolher o vídeo que será reproduzido
    • Ajuste as opções de detecção se necessário
    • Clique em "Start Monitoring" para iniciar
  2. O vídeo será reproduzido automaticamente quando:

    • Você desviar o olhar da tela, OU
    • Um celular for detectado na imagem
  3. Pressione ESC para fechar o vídeo manualmente, ou simplesmente olhe de volta para a tela.

Configurações

Opções de Detecção

  • Detect gaze direction: Ativa/desativa a detecção de olhar
  • Detect phone usage: Ativa/desativa a detecção de celular

Sensibilidade

  • Gaze tolerance: Quanto você pode desviar o olhar antes de ser considerado "não olhando"
  • Phone detection confidence: Nível de confiança mínimo para considerar que há um celular

Estrutura do Projeto

attwhore/
├── main.py              # Ponto de entrada
├── requirements.txt     # Dependências
├── README.md            # Este arquivo
├── src/
│   ├── __init__.py
│   ├── app.py           # Interface principal
│   ├── camera.py        # Worker de câmera
│   ├── player.py        # Player de vídeo
│   └── detectors/
│       ├── __init__.py
│       ├── gaze.py      # Detector de olhar
│       └── phone.py     # Detector de celular
└── videos/              # Coloque seus vídeos aqui

Troubleshooting

Câmera não detectada

  • Verifique se a webcam está conectada e funcionando
  • Em macOS, conceda permissão de câmera para o Terminal/Python

Detecção imprecisa

  • Ajuste os sliders de sensibilidade
  • Certifique-se de ter boa iluminação
  • Posicione-se de frente para a câmera

Performance lenta

  • O app processa ~15 FPS por padrão, otimizado para CPU
  • Feche outros aplicativos que usam a câmera

Tecnologias Utilizadas

  • OpenCV: Captura de vídeo
  • MediaPipe: Detecção facial e rastreamento de íris
  • YOLOv8: Detecção de objetos (celular)
  • PyQt6: Interface gráfica

Licença

MIT License