Yolo Vision Shenzhen
Shenzhen
Junte-se agora
Glossário

Filtro de Kalman (KF)

Descubra como os Filtros de Kalman otimizam a estimativa de estado em IA, rastreamento, fusão de sensores, robótica e muito mais, mesmo com dados ruidosos.

Um filtro de Kalman (KF) é um algoritmo matemático recursivo utilizado para estimar o estado de um sistema dinâmico de um sistema dinâmico a partir de uma série de medições incompletas e ruidosas. Originalmente desenvolvido por Rudolf E. Kálmán em 1960, este algoritmo tornou-se tornou-se uma pedra angular em domínios que vão da navegação aeroespacial à aprendizagem automática (ML). No contexto da inteligência artificial (IA), o filtro de Kalman é valorizado principalmente pela sua capacidade de "suavizar" fluxos de dados, prevendo a localização futura de um objeto de um objeto com base no seu movimento passado, mesmo quando as leituras dos sensores são erráticas ou inexistentes.

Como funciona o filtro de Kalman

O filtro de Kalman funciona num ciclo contínuo de duas etapas que aperfeiçoa as suas estimativas ao longo do tempo:

  1. Previsão (Atualização temporal): O filtro estima o estado atual do sistema (por exemplo, posição e velocidade) com base no estado anterior e num modelo de movimento físico. Também prevê a incerteza (covariância) desta desta estimativa.
  2. Atualização (Atualização da medição): Quando chega uma nova medição (por exemplo, dados de um sensor), o filtro compara-a com a previsão. Calcula uma média ponderada - dando mais peso à fonte com menos incerteza - para produzir uma estimativa de estado corrigida.

Este ciclo "prever-corrigir" permite que o Filtro de Kalman actue como um estimador ótimo, minimizando o erro médio quadrático dos parâmetros erro quadrático médio dos parâmetros que segue.

Relevância na IA e na visão computacional

Na visão computacional (CV) moderna, o filtro de Kalman é um componente padrão dos sistemas de sistemas de localização de objectos. Enquanto modelos de aprendizagem profunda como YOLO11 são excelentes na deteção de objectos em fotogramas individuais, não compreendem inerentemente a continuidade temporal.

Os filtros de Kalman colmatam esta lacuna através do "seguimento por deteção". Quando um objeto é detectado, o filtro cria umtrack" e prevê onde a caixa delimitadora estará no próximo quadro. Isto proporciona duas grandes vantagens:

  • Suavização de trajectórias: Reduz a instabilidade nas coordenadas da caixa delimitadora causada por inconsistentes.
  • Tratamento de oclusão: Se um objeto for brevemente bloqueado (ocluído) e não for detectado, o Filtro de Kalman continua a prever a sua posição, permitindo que o sistema volte a associar o objeto à sua ID quando este reaparecer.

Rastreadores sofisticados como o BoT-SORT e o ByteTrack dependem de filtros Kalman para esta modelação do movimento.

Aplicações no Mundo Real

O filtro de Kalman é omnipresente em tecnologias que requerem estimativas precisas a partir de dados com ruído.

  • Veículos autónomos: Os veículos autónomos utilizam fusão de sensores para combinar dados de GPS, LiDAR e câmaras. Um filtro Kalman funde estes dados para gerar uma estimativa única e altamente precisa da posição do veículo posição do veículo e da trajetória de objectos dinâmicos próximos, garantindo uma navegação segura.
  • Robótica: na robótica, a KF é essencial para a Localização e Mapeamento Simultâneos(SLAM). Os robôs utilizam-no para estimar a sua orientação e localização num mapa enquanto corrigem a derrapagem das rodas e a deriva do sensor. sensores.
  • Análise desportiva: Na análise desportiva com IA, os filtros Kalman track a bola e os jogadores, suavizando as coordenadas 2D/3D para calcular a velocidade, a distância e as formações tácticas. formações tácticas.

Implementação do filtro de Kalman

No ultralytics os filtros Kalman são integrados diretamente nos módulos de rastreio. Os utilizadores podem utilizar este poderoso algoritmo automaticamente, activando modo track.

from ultralytics import YOLO

# Load a YOLO11 model (object detector)
model = YOLO("yolo11n.pt")

# Track objects in a video
# The tracker (e.g., BoT-SORT) uses a Kalman Filter internally to smooth trajectories
results = model.track(source="https://ultralytics.com/images/bus.jpg", tracker="botsort.yaml")

Conceitos Relacionados

É importante distinguir o filtro de Kalman padrão das suas variantes:

  • Filtro de Kalman alargado (EKF): O KF padrão assume uma dinâmica de movimento linear. O EKF é utilizado para sistemas não lineares (por exemplo, um robô que se move numa curva), linearizando o modelo em torno da estimativa atual.
  • Filtro de partículas: Ao contrário do KF, que assume distribuições de ruído gaussianas, Os filtros de partículas usam um conjunto de amostras aleatórias para para representar a probabilidade, tornando-os adequados para problemas altamente não-lineares e não-Gaussianos, embora muitas vezes a um custo computacional mais elevado.
  • Deteção de objectos: A deteção identifica o que está numa imagem; o seguimento (utilizando KF) identifica para onde vai ao longo do tempo.

Junte-se à comunidade Ultralytics

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

Junte-se agora