Lucas Alvim@alvim_aiferramentas de IA, testadas
Guia grátis em português

Transforme o vídeo da câmera num vigia de mesas e filas

O Supervision é de código aberto (licença MIT). Você desenha áreas na imagem da câmera, como cada mesa ou a fila da entrada, e ele marca as pessoas que estão dentro de cada área e mede quanto tempo cada uma fica ali. Tudo roda no seu computador, em cima de um vídeo gravado ou da câmera ao vivo.

Capa do reel: Transforme o vídeo da câmera num vigia de mesas e filas
Veio deste reelAssista o vídeo em que eu mostro isso funcionandoAssistir o reel no Instagram

01Pra que serve

02O que você precisa

03Passo a passo

  1. Abra o terminal (no Windows, o PowerShell) e baixe o código do projeto:
    git clone --depth 1 -b develop https://github.com/roboflow/supervision.git
  2. Entre na pasta do exemplo e crie um espaço separado pro projeto com o uv. O uv mostra na tela o comando pra ligar esse espaço. No Mac e no Linux é o segundo comando abaixo.
    cd supervision/examples/time_in_zone
    uv venv
    source .venv/bin/activate
  3. Instale tudo o que o exemplo precisa com um único comando:
    uv pip install -r requirements.txt
  4. Quer testar antes de usar a sua câmera? Baixe o vídeo de exemplo, que mostra o caixa de uma loja:
    python scripts/download_from_youtube.py --url "https://www.youtube.com/watch?v=-8zyEwAa50Q" --output_path "data/checkout" --file_name "video.mp4"
  5. Desenhe as áreas em cima do vídeo. Clique nos cantos de cada área (uma mesa, a fila). Enter fecha a área, Esc cancela, s salva e q sai. As áreas ficam salvas num arquivo config.json.
    python scripts/draw_zones.py --source_path "data/checkout/video.mp4" --zone_configuration_path "data/checkout/config.json"
  6. Rode a análise. O [0] faz contar só pessoas, como no exemplo oficial. Em device fica "cpu" (vale pra qualquer computador), "mps" (Mac com chip Apple) ou "cuda" (placa de vídeo NVIDIA).
    python ultralytics_file_example.py --zone_configuration_path "data/checkout/config.json" --source_video_path "data/checkout/video.mp4" --weights "yolov8x.pt" --device "cpu" --classes "[0]" --confidence_threshold 0.3 --iou_threshold 0.7

04Exemplos de uso: troque o que está entre [COLCHETES]

Mapear as mesas do seu salãoCom um vídeo gravado pela câmera do teto. Desenhe uma área por mesa
python scripts/draw_zones.py --source_path "[PASTA DO SEU VÍDEO]/[NOME DO VÍDEO].mp4" --zone_configuration_path "[PASTA DO SEU VÍDEO]/mesas.json"
Ver quais mesas estão ocupadasDepois de salvar as áreas das mesas
python ultralytics_file_example.py --zone_configuration_path "[PASTA DO SEU VÍDEO]/mesas.json" --source_video_path "[PASTA DO SEU VÍDEO]/[NOME DO VÍDEO].mp4" --weights "yolov8s.pt" --device "cpu" --classes "[0]"
Medir a fila da entradaDesenhe uma única área cobrindo onde o pessoal espera
python ultralytics_file_example.py --zone_configuration_path "[PASTA DO SEU VÍDEO]/fila.json" --source_video_path "[PASTA DO SEU VÍDEO]/[NOME DO VÍDEO].mp4" --weights "yolov8s.pt" --device "cpu" --classes "[0]"
Câmera ao vivoUse o arquivo com stream no nome e o endereço de vídeo ao vivo da sua câmera (começa com rtsp://). Antes, instale o opencv-python, como o guia oficial pede
python ultralytics_stream_example.py --zone_configuration_path "[PASTA]/mesas.json" --rtsp_url "[ENDEREÇO RTSP DA SUA CÂMERA]" --weights "yolov8s.pt" --device "cpu" --classes "[0]"

05Antes de usar

Resumindo: baixa o código, instala com um comando, desenha as mesas em cima do vídeo e roda. Cada área mostra quem está dentro e por quanto tempo.

Todos os guias e prompts do Alvim