InfraestruturaHabr AI→ original

YOLO e Redis: como fazer cache dos resultados de detecção em vídeo

O YOLO processa vídeo, mas, se a rede ou a câmera falha, tudo recomeça e a GPU trabalha à toa. O cache em Redis guarda os resultados de detecção de cada frame, então a reinicialização continua do ponto em que parou, economizando recursos e tempo. O artigo traz trechos de código em Python prontos para uso, cobrindo o cache, a recuperação após reinicialização e o rastreamento de IDs de objetos entre frames.

Processado por IA de Habr AI; editado por Hamidun News
YOLO e Redis: como fazer cache dos resultados de detecção em vídeo
Fonte: Habr AI. Colagem: Hamidun News.
Ouvir artigo
Ficha técnica e números-chave
ParâmetroDados
Fonte originalHabr AI ↗
Editor-chefe
Dado-chave #1Os resultados de detecção de cada frame (lista de objetos, suas coordenadas e sua classe)
Dado-chave #2Os IDs de rastreamento de cada objeto entre frames (a ligação entre o mesmo objeto em frames vizinhos)
Dado-chave #3Os carimbos de tempo do processamento (quando cada frame foi processado)

Ao processar um fluxo de vídeo com YOLO, você esbarra num problema chato: inicia um vídeo de quarenta minutos e o modelo encontra, direitinho, pessoas, carros e cachorros em cada frame. No minuto vinte, a rede cai, a câmera de vigilância quebra ou a energia simplesmente acaba. Você reinicia o sistema. E aí está o problema: o YOLO começa a processar o vídeo de novo, desde o início. Os vinte minutos de inferência são repetidos, a GPU trabalha à toa e se perdem tempo e energia elétrica.

Por que isso dói

Cada passagem do YOLO por um frame exige poder de processamento. Numa GPU isso é caro: literalmente, pela energia consumida, e no sentido figurado, porque o processamento trava e o cronograma atrasa. Sem cache, o sistema não lembra o que já calculou. É como recalcular do zero: se o processamento estava no frame 1200 e o servidor caiu, ao reiniciar você começa no frame 0 e encontra de novo as pessoas e os carros dos primeiros 1200 frames. Além disso, perde-se a informação de rastreamento, os IDs dos objetos naquele trecho do vídeo. Se for preciso acompanhar uma pessoa específica ao longo de todo o vídeo, a perda de dados significa trajetória interrompida e IDs misturados entre objetos.

A escala agrava o problema: em videovigilância 24 horas, em que se processam mais de 100 horas de material por dia, perder o progresso multiplica os custos.

Cache em Redis

O Redis é um armazenamento em memória que funciona rápido (latência de milissegundos). A ideia é guardar os resultados de detecção de cada frame e se recuperar na reinicialização. O sistema coloca em cache:

  • Os resultados de detecção de cada frame (lista de objetos, suas coordenadas e sua classe)
  • Os IDs de rastreamento de cada objeto entre frames (a ligação entre o mesmo objeto em frames vizinhos)
  • Os carimbos de tempo do processamento (quando cada frame foi processado)
  • O status do processamento (qual foi o último frame concluído)

Na reinicialização, o sistema consulta o Redis, encontra o último frame processado e continua dali. A GPU não gasta tempo repetindo a inferência dos frames antigos, apenas dos novos.

Na prática

O artigo oferece trechos de código em Python prontos, que podem ser copiados e usados na hora. O código resolve três tarefas:

  • Guardar o resultado do YOLO no Redis com uma chave no formato `video:{video_id}:frame:{frame_num}` e um TTL para limpar dados antigos
  • Recuperação na reinicialização: o sistema consulta o Redis, pula os frames já processados e começa pelos novos
  • Rastreamento de IDs de objetos entre frames, guardando as ligações no cache

O autor compartilha a experiência real: o sistema se torna tolerante a falhas, e o vídeo é processado sem perda de dados sobre as trajetórias dos objetos. Na prática, a GPU economiza 30–50% do tempo em vídeos longos ao pular a inferência repetida.

O que isso significa

Para sistemas de videoanálise em produção, isso é crítico. Câmeras de vigilância, análise esportiva, sistemas autônomos: em todos eles, YOLO + Redis economiza tempo e dinheiro com eletricidade e processamento. Basta adicionar o Redis à arquitetura, e as falhas de rede deixam de ser um problema.

História

Perguntas frequentes sobre a notícia

Por que isso dói?

Cada passagem do YOLO por um frame exige poder de processamento. Numa GPU isso é caro: literalmente, pela energia consumida, e no sentido figurado, porque o processamento trava e o cronograma atrasa. Sem cache, o sistema não lembra o que já calculou. É como recalcular do zero: se o processamento estava no frame 1200 e o servidor caiu, ao reiniciar você começa no frame 0 e encontra de novo as pessoas e os carros dos primeiros 1200 frames. Além disso, perde-se a informação de rastreamento, os IDs dos objetos naquele trecho do vídeo. Se for preciso acompanhar uma pessoa especí

O que se sabe sobre Cache em Redis?

O Redis é um armazenamento em memória que funciona rápido (latência de milissegundos). A ideia é guardar os resultados de detecção de cada frame e se recuperar na reinicialização. O sistema coloca em cache: Os resultados de detecção de cada frame (lista de objetos, suas coordenadas e sua classe) Os IDs de rastreamento de cada objeto entre frames (a ligação entre o mesmo objeto em frames vizinhos) Os carimbos de tempo do processamento (quando cada frame foi processado) O status do processamento (qual foi o último frame concluído) Na reinicialização, o sistema consulta o Redi

O que se sabe sobre Na prática?

O artigo oferece trechos de código em Python prontos, que podem ser copiados e usados na hora. O código resolve três tarefas: Guardar o resultado do YOLO no Redis com uma chave no formato `video:{video_id}:frame:{frame_num}` e um TTL para limpar dados antigos Recuperação na reinicialização: o sistema consulta o Redis, pula os frames já processados e começa pelos novos Rastreamento de IDs de objetos entre frames, guardando as ligações no cache O autor compartilha a experiência real: o sistema se torna tolerante a falhas, e o vídeo é processado sem perda de dados sobre as tra

ZK
Zhemal Khamidun — CPO da Alpina Digital, gerente de produto do AlpinaGPT. Cria produtos de IA desde 2019. O Hamidun News é um projeto pessoal que virou um agregador em produção com mais de 6.000 leitores.
✦ Unified AI Workspace · Nomad

Test Frontier LLMs & Autonomous Agents in One Workspace

Run Claude Opus 5.5, GPT-6, Gemini 3.1, and DeepSeek side-by-side in Nomad AI (nomadnet.ai) — unified model routing, deep research, and multimodal workflows under one subscription.

Try Nomad AI →Launch Nomad Agent
O que você acha?
Carregando comentários…