Yolo Vision Shenzhen
Shenzhen
Junte-se agora
Glossário

Filtro de Kalman (KF)

Explore como o Filtro de Kalman estima os estados do sistema em condições de incerteza. Aprenda a usá-lo para rastreamento de objetos com Ultralytics para melhorar a precisão da IA.

Um filtro de Kalman (KF) é um algoritmo matemático recursivo utilizado para estimar o estado de um sistema dinâmico ao longo do tempo. Originalmente introduzida por Rudolf E. Kálmán, esta técnica é essencial para processar dados que são incertos, imprecisos ou contêm variações aleatórias, frequentemente referidas como «ruído». Ao combinar uma série de medições observadas ao longo do tempo contendo imprecisões estatísticas, o Filtro de Kalman produz estimativas de variáveis desconhecidas que são mais precisas do que aquelas baseadas em uma única medição. Nos campos de aprendizado de máquina (ML) e inteligência artificial (IA), ele atua como uma ferramenta crítica para modelagem preditiva, suavizando pontos de dados irregulares para revelar a verdadeira tendência subjacente.

Como funciona o filtro de Kalman

O algoritmo opera num ciclo de duas etapas: previsão e atualização (também conhecida como correção). Ele pressupõe que o sistema subjacente é linear e que o ruído segue uma distribuição gaussiana (curva em forma de sino).

  1. Previsão: O filtro usa um modelo físico para projetar o estado atual no tempo. Por exemplo, se um objeto estiver a mover-se a uma velocidade constante, o filtro prevê a sua próxima posição com base em equações cinemáticas padrão . Esta etapa também estima a incerteza associada a essa previsão.
  2. Atualização: Quando uma nova medição chega de um sensor, o filtro compara o estado previsto com os dados observados. Ele calcula uma média ponderada — determinada pelo ganho de Kalman— que confia mais no valor (previsão ou medição) que tem menos incerteza. O resultado é uma estimativa de estado refinada que serve como base para o próximo ciclo.

Aplicações em visão computacional e IA

Embora tenha origem na teoria de controlo e na navegação aeroespacial, o Filtro de Kalman é agora omnipresente nas modernas pipelines de visão computacional (CV).

  • Rastreamento de objetos: este é o caso de uso mais comum. Quando um modelo de detecção como o YOLO26 identifica um objeto em um quadro de vídeo, ele fornece um instantâneo estático. Para entender o movimento, rastreadores como o BoT-SORT utilizam filtros de Kalman para vincular as detecções entre os quadros. Se um objeto estiver temporariamente oculto (bloqueado da vista), o filtro usa a velocidade anterior do objeto para prever a sua localização, evitando que o sistema perca o "track" ou troque de IDs.
  • Fusão de sensores em robótica: Na robótica, as máquinas devem navegar usando vários sensores ruidosos. Um robô de entrega pode usar GPS (que pode desviar), codificadores de roda (que podem escorregar) e IMUs (que são ruidosos). O filtro de Kalman funde essas entradas díspares para fornecer uma coordenada única e confiável para navegação, essencial para a segurança das operações de veículos autónomos.

Distinguir conceitos relacionados

É útil diferenciar o Filtro de Kalman padrão das suas variações e alternativas encontradas na IA estatística:

  • Filtro de Kalman vs. Filtro de Kalman Estendido (EKF): O KF padrão assume que o sistema segue equações lineares (linhas retas). No entanto, o movimento no mundo real — como um drone a fazer uma curva — é frequentemente não linear. O EKF resolve isso linearizando a dinâmica do sistema em cada etapa usando derivadas, tornando-o adequado para trajetórias complexas.
  • Filtro de Kalman vs. Filtro de Partículas: Enquanto os FKs se baseiam em pressupostos gaussianos, os filtros de partículas utilizam um conjunto de amostras aleatórias (partículas) para representar distribuições de probabilidade. Os filtros de partículas são mais flexíveis para ruído não gaussiano, mas requerem significativamente mais poder computacional, afetando potencialmente as velocidades de inferência em tempo real.

Exemplo de implementação

No Ultralytics , os filtros Kalman são integrados diretamente nos algoritmos de rastreamento. Não é necessário escrever as equações manualmente; pode aproveitá-las ativando os modos de rastreamento. A Ultralytics permite gerir conjuntos de dados e treinar modelos que podem ser facilmente implementados com esses recursos de rastreamento.

Aqui está um exemplo conciso usando Python realizar o rastreamento com YOLO26, onde o rastreador subjacente aplica automaticamente a filtragem de Kalman para suavizar os movimentos da caixa delimitadora:

from ultralytics import YOLO

# Load the latest YOLO26 model
model = YOLO("yolo26n.pt")

# Run tracking on a video source
# The 'botsort' tracker uses Kalman Filters internally for state estimation
results = model.track(source="traffic_video.mp4", tracker="botsort.yaml")

# Process results
for result in results:
    # Access the tracked IDs (assigned and maintained via KF logic)
    if result.boxes.id is not None:
        print(f"Tracked IDs in frame: {result.boxes.id.cpu().numpy()}")

Importância para a qualidade dos dados

Na implementação no mundo real, os dados raramente são perfeitos. As câmaras sofrem de desfocagem de movimento e os sensores sofrem ruído de sinal . O Filtro de Kalman atua como um sofisticado mecanismo de limpeza de dados dentro do ciclo de decisão. Ao refinar continuamente as estimativas, ele garante que os agentes de IA operem com base na realidade mais provável , em vez de reagir a cada falha momentânea no fluxo de entrada. Essa confiabilidade é fundamental para aplicações críticas para a segurança, desde o monitoramento das operações aeroportuárias até a automação industrial precisa.

Junte-se à comunidade Ultralytics

Junte-se ao futuro da IA. Conecte-se, colabore e cresça com inovadores globais

Junte-se agora