Como funciona visão computacional: do frame ao indicador
Responsabilidade técnica direta sobre a plataforma de visão computacional da GoDados.cam.
Em algum momento alguém vai colocar um número na sua frente e pedir uma decisão baseada nele. O fluxo caiu. A fila passou de oito pessoas várias vezes ontem. A ocupação da doca 3 ficou abaixo do esperado. Qualquer que seja o número, você vai precisar decidir sem saber de onde ele veio.
O impacto de decidir assim aparece depois, quando o número erra e ninguém sabe explicar por quê. A operação perde a confiança no indicador inteiro, e um painel em que ninguém confia é pior do que painel nenhum, porque custa dinheiro e não muda comportamento.
O resultado que este texto entrega é a capacidade de auditar o número. Você vai terminar sabendo quais são as quatro etapas entre a imagem da câmera e o indicador na tela, o que pode dar errado em cada uma, e como a operação percebe quando deu.
Por que entender o caminho do dado importa
Indicador operacional é uma cadeia de transformações. Cada etapa da cadeia introduz uma forma específica de erro, e as formas de erro não são intercambiáveis: um erro de detecção se comporta de um jeito, um erro de definição de indicador se comporta de outro. Quem conhece a cadeia consegue olhar para um número estranho e perguntar a coisa certa.
Existe também um motivo prático. Em quase toda avaliação técnica de que participei, a pergunta decisiva não foi "qual a precisão do sistema". Foi "o que acontece quando a loja está cheia". A segunda pergunta é a que separa fornecedor que conhece o método de fornecedor que decorou a apresentação.
O caminho tem quatro etapas: vídeo, evento, indicador, decisão.
Do frame ao evento: o que o sistema identifica
Uma câmera produz uma sequência de quadros. Em cada quadro, um modelo de detecção procura objetos de categorias conhecidas e devolve, para cada um, uma caixa delimitadora e um grau de confiança. Em operação física, a categoria que interessa quase sempre é "pessoa"; em pátio de centro de distribuição, também "veículo" e "caminhão".
Esses modelos são treinados e avaliados sobre conjuntos públicos. O mais usado como referência é o COCO, que reúne 80 categorias de objeto e cerca de 1,5 milhão de instâncias rotuladas em mais de 200 mil imagens rotuladas. A categoria "person" é uma dessas 80 e é a mais frequente do conjunto.
Detectar em quadros isolados não basta. Para contar pessoas é preciso saber que a pessoa do quadro 100 é a mesma do quadro 101, senão a mesma pessoa é contada trinta vezes enquanto atravessa a cena. Essa segunda etapa é o rastreamento, e ela tem benchmark próprio: o MOTChallenge mantém conjuntos públicos de avaliação de rastreamento de múltiplos objetos, entre eles o MOT17, formado por 14 sequências de vídeo acompanhadas de três conjuntos públicos de detecção, avaliadas por métricas como MOTA e IDF1. A existência de uma métrica separada para rastreamento não é detalhe acadêmico: ela existe porque detectar bem e rastrear bem são problemas diferentes, e um sistema pode acertar o primeiro e errar o segundo.
Da sequência de posições rastreadas nascem os eventos: cruzou a linha de entrada às 14h07, permaneceu na zona do provador por 3 minutos, entrou na posição de doca 4 e saiu 52 minutos depois. Evento é a menor unidade com significado operacional.
Onde esta etapa erra: oclusão, quando uma pessoa passa atrás de outra e o rastreamento troca as identidades ou perde a trilha; ângulo muito frontal, em que corpos se sobrepõem na projeção; iluminação irregular e contraluz, que reduzem o contraste da silhueta; e densidade de pixels insuficiente na cena. Sobre esta última existe um critério objetivo: a norma IEC 62676-4, de diretrizes de aplicação de videomonitoramento, fixa 25 pixels por metro de cena como densidade mínima para detectar a presença de uma pessoa. Abaixo disso, o erro não é do modelo. É de captura.
Do evento ao indicador: como a contagem vira número de gestão
Eventos são muitos e crus. Indicador é a agregação de eventos dentro de uma janela de tempo, sob uma definição explícita.
Três decisões de projeto determinam o resultado, e nenhuma delas é técnica:
- A janela. Fluxo por minuto, por hora ou por turno produzem leituras diferentes do mesmo dia. Uma fila de oito minutos some numa janela horária.
- A definição. O que exatamente está sendo contado. "Pessoas que entraram" inclui o funcionário que saiu para o almoço e voltou? Inclui o entregador? Inclui a pessoa que abriu a porta, olhou e desistiu?
- A regra de deduplicação. Alguém que entra, sai para atender o telefone e volta é uma visita ou duas?
Aqui está a fonte de erro mais subestimada de toda a cadeia, e ela não é de visão computacional: é de definição ambígua. Duas equipes olhando o mesmo vídeo, com definições diferentes de "visitante", chegam a números diferentes e ambos estão certos dentro da própria definição. Quando um painel de fluxo não bate com a contagem manual de conferência, a causa é definição divergente com muito mais frequência do que falha de detecção.
Onde esta etapa erra: definição não escrita, janela escolhida por hábito, e mudança silenciosa de definição ao longo do tempo. A defesa é documentar a definição de cada indicador em uma linha e revisitá-la quando o número surpreender.
Do indicador à decisão: o que a operação faz com o dado
Um indicador que não tem ação associada é custo. A quarta etapa é a única que produz resultado, e é a única que não é feita por software.
O desenho que funciona liga cada indicador a um limite e a um responsável. Fila acima de oito pessoas por mais de cinco minutos aciona a abertura de um caixa adicional. Ocupação de doca abaixo de um patamar em uma faixa de horário aciona a revisão da janela de agendamento. Fluxo em uma seção abaixo da média das quatro semanas anteriores aciona a conferência do layout.
A regra prática é dura e útil: se você não consegue escrever a ação que o indicador dispara, você não precisa desse indicador ainda.
Onde esta etapa erra: excesso de indicadores sem dono, alarme configurado em limite que dispara o tempo todo, e painel que ninguém abre. Nenhum desses é problema de visão computacional, e todos os três matam projetos de medição.
Onde o método degrada
Esta é a seção que quase nenhum conteúdo de fornecedor escreve, e é a mais útil. As condições abaixo degradam a qualidade do número, em ordem de frequência com que aparecem em campo:
- Mudança de enquadramento. A câmera foi girada durante uma limpeza ou uma reforma. É a causa número um, e a mais traiçoeira, porque o sistema continua produzindo números plausíveis a partir de uma cena que não é mais a mesma. A linha de contagem virtual, que estava sobre a soleira da porta, agora está sobre a vitrine.
- Lente suja ou embaçada. Poeira em ambiente de CD, gordura em ambiente de alimentação, condensação em câmara fria. O contraste cai e as detecções ficam intermitentes.
- Oclusão por aglomeração. Quanto mais cheia a cena, mais corpos se sobrepõem e mais o rastreamento perde e recupera identidades. O efeito é uma subcontagem que aumenta exatamente nos horários de pico, ou seja, no momento em que o dado importaria mais.
- Contraluz e variação forte de luz. Sol batendo de frente em porta de vidro no fim da tarde é a pior condição isolada em varejo de rua. A pessoa vira uma silhueta escura contra fundo estourado.
- Queda de taxa de quadros. Quando a rede congestiona ou o gravador é reconfigurado para economizar disco, a taxa cai, o rastreamento perde continuidade e a contagem cai junto, sem que nada tenha mudado na operação.
- Mudança física da cena. Uma gôndola nova no meio do corredor, um display promocional na frente da entrada, um contêiner estacionado no pátio. A geometria mudou e as zonas configuradas não correspondem mais ao espaço real.
Todas essas condições têm o mesmo padrão perigoso: o sistema não para. Ele continua entregando números. Por isso a verificação de sanidade da medição precisa ser parte do projeto, não um extra: comparar periodicamente o número automático com uma contagem manual de trinta minutos, e monitorar quedas bruscas de detecção que não têm explicação operacional.
Vale ainda dizer de onde vêm os números de precisão que circulam em apresentação comercial. Modelos de detecção de referência publicam sua acurácia sob condição declarada: a documentação da Ultralytics para o YOLOv8 reporta mAP de 37,3 a 53,9 no conjunto COCO val2017, com imagens de entrada de 640 pixels, variando conforme o tamanho do modelo. Duas leituras importam aqui. Primeira: esse número é a média sobre as 80 categorias do COCO, não a acurácia da categoria "pessoa" na sua loja. Segunda: ele foi medido em imagens do COCO, não nas suas câmeras, no seu ângulo, na sua iluminação. Precisão sem a condição de medição é número sem significado, e qualquer fornecedor que cite acurácia sem dizer em que condição foi medida está te entregando um número vazio.
O que o método não faz
Delimitação explícita de escopo, porque escopo mal delimitado é a origem da frustração:
- Não explica causa. O sistema mostra que a fila se formou às 18h40. Por que ela se formou é leitura de contexto, e quem faz isso é a operação.
- Não identifica pessoas para indicador operacional. Contagem, fila e ocupação são medidas agregadas. Identificação é outra operação de tratamento, com outras exigências legais, e o enquadramento correto está em o que a LGPD exige para analisar imagem de câmera.
- Não mede o que está fora do campo de visão. Parece óbvio e é a causa mais comum de expectativa frustrada. Se a área não aparece na imagem, não existe para o sistema.
- Não substitui sistema transacional. Ele não sabe o que foi vendido, quanto custou nem quem atendeu. Ele mede comportamento no espaço físico, e o valor aparece quando esse dado cruza com o transacional.
- Não funciona bem em cena que não foi pensada para ser medida. Câmera apontada para o teto, cena larga demais para a resolução, contraluz permanente. Antes de investir em software, vale verificar se a instalação atual atende os requisitos.
- Não elimina a necessidade de definição. O sistema conta o que você definir que ele conte. Definição ruim produz número inútil com precisão excelente.
Resposta direta: como a câmera vira indicador
A câmera vira indicador em quatro etapas. Um modelo de detecção identifica objetos em cada quadro do vídeo e um rastreador liga essas detecções ao longo do tempo, para saber que se trata da mesma pessoa. As trilhas resultantes produzem eventos discretos, como cruzar uma linha ou permanecer em uma zona. Os eventos são agregados por janela de tempo sob uma definição explícita, e essa agregação é o indicador. A qualidade do resultado depende tanto da captura, com densidade mínima de 25 pixels por metro de cena, quanto da clareza da definição do que está sendo contado.
Três perguntas para fazer a qualquer fornecedor
- Qual é a definição escrita de cada indicador que vocês entregam, incluindo a regra de deduplicação?
- Como o sistema avisa quando a própria medição degradou, e não apenas quando a câmera caiu?
- Em que condição foi medida a acurácia que vocês citam: qual conjunto, qual ângulo, qual iluminação?
Se as três respostas vierem completas, você está diante de alguém que conhece o método. Se você ainda está decidindo entre abordagens de medição, a comparação entre sensor dedicado e visão computacional aplica os critérios antes da conclusão. Para ver o pipeline aplicado às três verticais que atendemos, a página inicial da GoDados.cam resume o escopo.