Visão computacional com restrições físicas

A física prevalece sobre os pixels.

Sob os refletores, uma cabeça calva brilhante pode obter 98% de confiança como "bola", e uma câmera que segue a maior confiança desvia para fora do campo. O Plumbline é uma camada determinística de portões físicos posicionada após o detector que rejeita a detecção proibida pela física, mantendo-se travada na bola real.

É a camada de verificação entre o seu detector e o seu sistema de ação. Execute-o e leia a justificativa física registrada para cada decisão.

Apresentação narrada do painel do Plumbline em execução (3:58).

97.7%

Tempo no alvo, portão físico

Benchmark sintético, semente 7

82.3σ

Pior impostor, rejeitado além da linha de 5σ

Auditoria bald_linesman, 44 quadros

68.3%

Tempo no alvo, clipe de transmissão real

YOLO11x real, 240 quadros, espaço de imagem

Os dois escopos de benchmark são mantidos separados ao longo desta página. O valor sintético é um máximo controlado em relação ao ground truth conhecido; o valor das filmagens reais é honestamente inferior em vídeos reais complexos.

Um detector não tem memória de onde um objeto real pode estar a seguir

A falha é uma falha da física, não uma falha de detecção.

Um detector de objetos é independente de quadros. Ele pontua cada imagem com base na textura e na forma, sem nenhuma noção de onde um objeto real pode estar fisicamente no quadro seguinte. Sob os refletores do estádio, uma cabeça calva brilha como uma bola, de modo que o detector emite uma "bola" com 98% de confiança sobre a cabeça enquanto a bola real obtém uma pontuação menor, e uma câmera que segue a maior confiança rastreia a cabeça em vez da partida.

Isso está documentado, não é hipotético. Em outubro de 2020, no Inverness Caledonian Thistle, uma câmera automatizada da Pixellot rastreou a cabeça calva de um bandeirinha em vez da bola durante uma partida inteira (página da solução Veriprajna WP43, 2026). Também não se trata de uma falha isolada que modelos melhores eliminem por conta própria: o próprio benchmark de rastreamento do SoccerNet conclui que o rastreamento de múltiplos objetos no futebol está "longe de ser resolvido", sem nenhum rastreamento consciente da física integrado aos métodos de benchmark até o momento, uma lacuna evidente (pesquisa Veriprajna WP43, 2026).

A razão pela qual isso não desaparece com a evolução dos detectores é que uma detecção fisicamente impossível é incorreta em qualquer nível de acurácia do detector. Uma "bola" parada a uma altura constante de 1.7 m e movendo-se a 3 mph não é uma bola, por mais confiante que o modelo esteja. Para uma equipe que assume responsabilidade jurídica por uma decisão visual automatizada, é nos casos extremos que o custo reside: um relato da indústria os avalia em "80% do tempo de engenharia, 90% dos custos de suporte, 100% da exposição a responsabilidades" (pesquisa Veriprajna WP43, 2026).

Três portões determinísticos que o modelo não pode anular

O Plumbline opera a jusante do detector. Ele recebe cada detecção candidata e questiona se a física a permite, roteando então o quadro para accept, review ou coast, e registra a justificativa.

Portão 1: cinemático

Um filtro Kalman/UKF (modelo de processo de projétil mais um modelo não linear de medição pinhole) prevê onde uma bola real pode estar. A inovação de cada candidato torna-se uma distância de Mahalanobis . Os limiares são fornecidos como configuração: aceitar abaixo de 3σ, rejeitar acima de 5σ, sinalizar de 3 a 5σ como REVIEW. No pior quadro da cena do bandeirinha calvo, o impostor obteve 82.3σ.

Portão 2: fluxo óptico

O portão compara a velocidade em pixels prevista pela trajetória com o fluxo óptico local do candidato e rejeita em caso de discrepância de direção ou magnitude (faixa fornecida: razão de fluxo em [0.35, 3.0], cosseno de pelo menos 0.3). Uma "bola" parada quase imóvel em meio ao jogo é reprovada por ele.

Portão 3: geométrico

O modelo pinhole fornece o tamanho em pixels que uma bola de 22 cm pode subtender na profundidade implícita do candidato, e o portão rejeita tamanhos impossíveis (tolerância de razão de tamanho de 1.8x no caminho sintético, 1.5x no caminho de espaço de imagem com filmagem real). Uma cabeça de aproximadamente 50 px não pode ser uma bola de 22 cm a cerca de 12 m, a qual subtenderia cerca de 22 px.

Um portão de política determinístico decide em seguida, usando o mesmo gates.py inalterado em ambos os caminhos de entrada. Ele aceita apenas quando todos os portões são aprovados. Marca um candidato limítrofe (3 a 5σ sem falha estrita) como REVIEW, e a trajetória mantém a inércia na predição, escalonando em vez de blefar certeza. Ele entra em COAST (apenas predição) quando todos os candidatos são rejeitados, por exemplo durante uma breve oclusão, e readquire o alvo quando a bola reaparece. Os limiares são parâmetros de configuração, não definidos por nenhum modelo.

Cada decisão é gravada em um registro de auditoria individual por decisão. O cabeçalho inclui a semente, o cenário, o id do detector e os limiares dos portões. Cada quadro lista todos os candidatos com sua classe e confiança, o veredito numérico de cada portão e a justificativa em linguagem clara, a ação final e a trajetória travada. Um narrador de auditoria opcional converte essa telemetria em um resumo de incidentes em linguagem clara para exportação, mas é puramente consultivo, nunca atuando no caminho de aceitação ou rejeição, e degrada para um resumo determinístico baseado em modelo quando não há chave de modelo ou ponte presente, para que a demonstração funcione totalmente offline.

A mesma política de três portões roda em dois tipos de entrada, o que é o ponto principal. Nas cenas sintéticas, utiliza o Unscented Kalman Filter no espaço de mundo. No clipe de transmissão real, roda no plano da imagem com um filtro de Kalman 2D (kf2d), porque um único clipe não calibrado não fornece profundidade métrica e simular um filtro 3D seria desonesto. Os portões são reutilizados sem alterações; apenas o filtro muda honestamente. É isso que torna a camada agnóstica em relação ao detector: o valor reside nos portões, não no detector.

O que os portões fazem, quadro a quadro

As capturas de tela abaixo são do painel real do Plumbline em execução. O impostor da cabeça calva é uma reprodução inserida pelo autor do incidente documentado de 2020, declarado claramente no aplicativo.

Tela dividida do Plumbline: à esquerda, a caixa do rastreador ingênuo posiciona-se sobre a cabeça calva do bandeirinha; à direita, o rastreador com portões físicos permanece sobre a bola real enquanto a transmissão ao vivo dos portões mostra o candidato da cabeça rejeitado a 82.3 sigma.

A rejeição do bandeirinha calvo (sintético)

Ao longo da cena de 44 quadros, o detector simulado emite 18 detecções falsas de "bola" com alta confiança sobre a cabeça do bandeirinha, com até 98% de confiança. Os três portões rejeitam todas as 18. O pior impostor individual pontua 82.3σ no portão cinemático, muito além da linha de rejeição de 5σ, enquanto a bola real, com cerca de 87% de confiança e 0.4σ, é aprovada em todos os três e permanece travada. Neste cenário individual, a camada física manteve 97.7% de tempo no alvo com 1 troca de ID, contra 59.1% para seguir a maior confiança e 20.5% para o limiar elevado (o agregado sintético dos três cenários está na tabela de comparação mais abaixo).

O Plumbline no cenário de oclusão: um jogador cruza na frente da bola, o rastreador ingênuo salta para o jogador e o rastreador de física mantém uma posição prevista marcada como COAST até que a bola reapareça.

Manutenção de inércia durante oclusão (sintético)

Quando um jogador cruza brevemente com a bola, o rastreador ingênuo a perde ou se fixa no jogador. O rastreador de física entra em COAST e sustenta a predição através do intervalo, readquirindo a bola quando ela reaparece. Ele nunca inventa uma detecção para preencher o silêncio; ele prevê, marca o estado e aguarda.

O Plumbline executando em um clipe de transmissão real com detecções reais de YOLO11x no espaço de imagem, exibindo o placar com 68.3% de tempo no alvo para a física contra 43.8% e 30.0% para as duas linhas de base.

Os mesmos portões em filmagens reais

Em um clipe de transmissão real de 240 quadros, detecções reais de YOLO11x alimentam os mesmos três portões executando no espaço de imagem. Os portões mantiveram a bola em 68.3% dos quadros, contra 43.8% do rastreador ingênuo e 30.0% do rastreador com limiar elevado, com 4 trocas de ID versus 7 e um erro médio de 26.2 px versus 193.0 px. É honestamente inferior ao teto sintético porque filmagens reais são mais difíceis. A conclusão — a física supera ambas as linhas de base — se sustenta em detecções reais, não apenas em simulações.

O registro de decisões exportado do Plumbline aberto no navegador, mostrando o cabeçalho com a semente e os limiares dos portões, e linhas por quadro listando cada candidato, os vereditos dos portões e a justificativa física em linguagem clara para cada decisão.

Uma justificativa física registrada para cada decisão

O registro de decisões exportado expõe toda a trilha: semente, cenário, id do detector e limiares no topo, depois um registro por quadro da classe e confiança de cada candidato, o veredito numérico de cada portão com sua justificativa em linguagem clara, a ação final e a trajetória travada, concluindo com o placar. Para uma equipe que assume responsabilidade jurídica por uma decisão visual automatizada, essa é uma trilha auditável e documentada de por que cada detecção foi aceita ou recusada.

A comparação mensurada, com seu escopo exato

Estas são métricas de qualidade de rastreamento, independentes da qualidade do detector. Nunca são uma taxa de erro do modelo e nunca são uma garantia em ambiente aberto. Os dois conjuntos abaixo pertencem a escopos diferentes e não são misturados.

Agregado sintético (semente 7, sobre bald_linesman, occlusion e clean)

Rastreador Tempo no alvo Trocas de ID Erro médio (px) Perda no conjunto limpo
Física da Veriprajna 97.7% 3 2.7 2.3%
B1: seguir a maior confiança 80.3% 4 63.0 0.0%
B2: limiar de confiança elevado 40.2% 29 115.0 43.2%

Filmagens reais de transmissão (YOLO11x real, 240 quadros, portões no espaço de imagem)

Rastreador Tempo no alvo Trocas de ID Erro médio (px)
Física da Veriprajna 68.3% 4 26.2
B1: seguir a maior confiança 43.8% 7 193.0
B2: limiar de confiança elevado 30.0% 1 245.1

O número que sustenta a tese é o resultado de ortogonalidade. No conjunto limpo sintético, elevar o limiar de confiança (B2) descarta 43.2% das bolas reais de baixa confiança, enquanto a física mantém sua perda no conjunto limpo em 2.3%, o que representa uma latência de aquisição de um único quadro e não um falso negativo. Ajustar o botão de confiança troca um erro por outro. A física atua de forma ortogonal a ele. (A única troca de ID de B2 nas filmagens reais é um artefato decorrente de quase não rastrear nada a 30% no alvo, não uma vitória).

O que esta demonstração não faz

  • É uma demonstração executável que comprova o mecanismo de portões, não um pipeline implantado em produção.
  • O impostor da cabeça calva é uma reprodução inserida pelo autor do incidente de 2020, não um ruído orgânico do detector capturado ao vivo.
  • O caminho de filmagens reais opera honestamente no espaço de imagem (um filtro de Kalman 2D), não como um filtro calibrado 3D no espaço de mundo, porque um único clipe não calibrado não possui profundidade métrica.
  • As linhas de base pertencem à classe de modos de falha ingênuos quanto à física (B1 e B2), não a um fornecedor específico. Não reivindicamos superar em rastreamento a Pixellot, Veo, Spiideo ou qualquer produto comercial, e o firmware posterior da Pixellot já corrigiu o caso literal da cabeça calva.
  • O YOLO11x é usado como detector intercambiável no clipe real, offline. Nós não desenvolvemos nem aprimoramos o detector.
  • O portão de paralaxe para semicondutores e o portão de reflectância para manufatura são um caminho de extensão por interface conectável, postergados, não demonstrados aqui.
  • Nenhum cliente, implantação, liga ou emissora está implícito. O incidente de Inverness de 2020 e o SoccerNet são referências públicas citadas, não nossos clientes.
  • O narrador de auditoria é consultivo. Ele explica decisões; nunca as toma.

Perguntas que equipes de engenharia e produto fazem

Isto não é apenas um detector melhor, ou um wrapper em torno do YOLO?

Não. O Plumbline atua a jusante de qualquer detector que você já utilize e decide em quais das suas detecções candidatas confiar. Na demonstração, o mesmo código de portões roda sobre um detector simulado de caixa-preta para as cenas sintéticas e sobre detecções reais de YOLO11x para o clipe de transmissão. Nós não alteramos a qualidade de saída do detector. O produto é a camada determinística de portões ao seu redor, de modo que o valor se mantém mesmo quando o detector subjacente evolui.

Por que não apenas elevar o limiar de confiança para descartar a falsa bola?

Porque esse é o ajuste errado. No conjunto limpo sintético, elevar o limiar de confiança descarta 43.2% das bolas reais de baixa confiança, enquanto ainda captura o impostor de alta confiança. Os portões de física operam de forma ortogonal à confiança: mantiveram sua perda no conjunto limpo em 2.3%, o que é uma latência de aquisição de um único quadro e não uma bola descartada. Você não pode separar uma bola real de um impostor apenas pela pontuação quando o impostor pontua mais alto.

Ele realmente funciona em filmagens reais ou apenas em simulação?

Ambos, e mantemos os dois claramente separados. Em uma execução sintética controlada com ground truth conhecido (semente 7), a camada de física manteve 97.7% de tempo no alvo contra 80.3% para seguir a maior confiança e 40.2% para o limiar elevado. Em um clipe de transmissão real de 240 quadros com detecções reais de YOLO11x, os mesmos portões mantiveram a bola em 68.3% dos quadros contra 43.8% e 30.0%. O valor em filmagens reais é honestamente inferior porque o vídeo real é mais difícil. Nunca citamos o dado sintético como um resultado do mundo real.

Como sei que os portões decidiram, e não um modelo de linguagem?

Os três portões são código simples em numpy e scipy fora de qualquer modelo: um portão cinemático Kalman/UKF (aceitar abaixo de 3 sigma, rejeitar acima de 5 sigma), um portão de consistência de fluxo óptico e um portão de perspectiva geométrica. A confiança não depende do autorrelato de um modelo. Há um narrador de auditoria opcional que converte a telemetria dos portões em um resumo em linguagem clara, mas ele é puramente consultivo e nunca atua no caminho de aceitação ou rejeição, recorrendo a um resumo determinístico baseado em modelo quando nenhuma chave está presente.

Posso ver por que uma detecção específica foi aceita ou rejeitada?

Sim. Toda decisão traz uma justificativa física registrada. O registro de decisões exportado grava a semente, o cenário, o id do detector e os limiares dos portões no cabeçalho; em seguida, por quadro, lista cada candidato com sua classe e confiança, o veredito numérico de cada portão e a justificativa em linguagem clara (por exemplo, Mahalanobis 82 sigma acima da linha de 5 sigma, cinematicamente impossível), a ação final e a trajetória travada. É exportado como JSON ou HTML.

Isto está pronto para implantação e supera a Pixellot ou a Veo?

Não para ambos. Esta é uma demonstração executável que comprova o mecanismo de portões, não um pipeline implantado em produção. As linhas de base que superamos pertencem à classe de modos de falha ingênuos quanto à física (seguir a maior confiança e elevar o limiar), não a um fornecedor específico. Não reivindicamos superar o rastreamento de um produto comercial, e os fornecedores conhecidos de câmeras já corrigiram o caso específico do bandeirinha calvo de 2020 em versões posteriores de firmware. O impostor da cabeça calva na demonstração é uma reprodução inserida pelo autor daquele incidente documentado, não um ruído orgânico do detector capturado ao vivo.

Pesquisa Técnica

A pesquisa por trás desta demonstração — a arquitetura, o design de verificação e o modelo empresarial.

Redes sociais

Também publicado em

Coloque um portão físico entre o seu detector e o seu sistema de ação

Se uma decisão visual automatizada acarreta responsabilidade jurídica no seu contexto, o modo de falha é a física, não a confiança.

Desenvolvemos o Plumbline para mostrar que uma camada determinística de portões pode rejeitar uma detecção fisicamente impossível e deixar uma justificativa auditável registrada. O mesmo framework comporta um conjunto diferente de regras físicas: um portão de paralaxe para uma fábrica de semicondutores, um portão de reflectância para uma linha de produção. Diga-nos a restrição que o seu detector continua violando e analisaremos se uma camada de portões é adequada.

Revisão de modos de falha em visão

  • ✓ Mapeie onde a confiança do seu detector e a física divergem
  • ✓ Identifique as detecções fisicamente impossíveis sobre as quais você atua hoje
  • ✓ Defina as restrições cinemáticas, de fluxo e geométricas aplicáveis
  • ✓ Delimite a trilha de auditoria necessária para uma decisão exposta a responsabilidades

Construção da camada de portões físicos

  • ✓ Portões determinísticos como código inspecionável fora de qualquer modelo
  • ✓ Agnóstico quanto ao detector: mantenha o detector que você já utiliza
  • ✓ Registro de auditoria por decisão com uma justificativa física documentada
  • ✓ Métricas de qualidade de rastreamento que se mantêm conforme o detector evolui