Visão computacional com restrições físicas
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.
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).
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.
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σ.
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.
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.
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.
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).
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.
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 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.
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.
| 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% |
| 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).
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.
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.
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.
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.
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.
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.
A pesquisa por trás desta demonstração — a arquitetura, o design de verificação e o modelo empresarial.
Solução completa
Explore a solução de Visão Computacional com Restrições Físicas →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.