Glossário

Filtro de Kalman (KF)

Descobre como os filtros de Kalman optimizam a estimativa de estado em IA, localização, fusão de sensores, robótica e muito mais, mesmo com dados ruidosos.

Treina os modelos YOLO simplesmente
com Ultralytics HUB

Aprende mais

O Filtro de Kalman (KF) é um algoritmo poderoso e amplamente utilizado no aprendizado de máquina (ML) e em vários campos da engenharia para estimar o estado de um sistema dinâmico a partir de uma série de medições ruidosas e incompletas ao longo do tempo. Imagina tentar identificar a localização exacta e a velocidade de um drone utilizando leituras de GPS ligeiramente imprecisas; o Filtro de Kalman fornece uma forma estatisticamente óptima de combinar o movimento previsto com as medições ruidosas para obter a melhor estimativa possível. É particularmente valorizado pela sua eficiência e eficácia em aplicações em tempo real.

Como funcionam os filtros de Kalman

Na sua essência, o Filtro de Kalman opera recursivamente em fluxos de dados de entrada ruidosos para produzir uma estimativa estatisticamente óptima do estado do sistema subjacente. Trabalha num ciclo de duas etapas:

  1. Prever: O filtro prevê o estado seguinte do sistema com base na estimativa do seu estado atual e num modelo matemático de como o sistema muda ao longo do tempo (por exemplo, com base na física conhecida ou em padrões de movimento). Esta previsão inclui inerentemente alguma incerteza.
  2. Atualização: Quando chega uma nova medição (por exemplo, uma nova coordenada GPS), o filtro utiliza esta medição para corrigir ou atualizar a sua previsão. Pondera de forma inteligente a previsão e a medição com base nas respectivas incertezas - confiando mais no valor mais certo. Este passo de atualização produz uma nova estimativa do estado que é mais precisa do que a previsão ou a medição isoladamente.

Este ciclo de previsão-atualização repete-se para cada nova medição, refinando continuamente a estimativa do estado. O filtro é considerado "ótimo" para sistemas lineares com ruído gaussiano porque minimiza o erro quadrático médio da estimativa do estado. Isso faz dele uma ferramenta fundamental na estimativa de estado e no processamento de sinais. Para uma explicação mais visual, vê Como funciona um filtro de Kalman, em imagens.

Caraterísticas principais

  • Otimização: Fornece estimativas óptimas para sistemas lineares assumindo caraterísticas de ruído Gaussiano.
  • Recursivo: Processa as medições uma de cada vez à medida que chegam, sem necessidade de armazenar todos os dados anteriores, tornando-o adequado para inferência em tempo real.
  • Eficiência computacional: Requisitos computacionais relativamente baixos em comparação com outros métodos de estimativa.
  • Estimativa de estado: Estima os estados internos do sistema que podem não ser diretamente mensuráveis.
  • Manuseamento de ruído: Filtra eficazmente o ruído das medições do sensor.

Aplicações no mundo real

Os filtros de Kalman são indispensáveis em inúmeras aplicações de IA e ML:

Filtro de Kalman vs. Filtro de Kalman alargado

O filtro de Kalman padrão assume que a dinâmica do sistema e os modelos de medição são lineares. No entanto, muitos sistemas do mundo real não são lineares. Para esses casos, são utilizadas variantes como o filtro de Kalman alargado (EKF). O EKF aproxima o sistema não linear linear linearizando-o em torno da estimativa do estado atual em cada passo de tempo. Embora poderosa, essa linearização introduz erros de aproximação, o que significa que o EKF pode não ser tão ótimo ou estável quanto o KF padrão é para problemas puramente lineares. Outras variantes, como o Filtro de Kalman sem Saturação (UKF), oferecem abordagens diferentes para lidar com não-linearidades.

Filtros de Kalman em Ultralytics

Os princípios da filtragem de Kalman estão incorporados nos algoritmos de seguimento suportados pelo Ultralytics, como o BoT-SORT e o ByteTrack, que podem ser utilizados juntamente com os detectores de objectosYOLO Ultralytics . A estrutura do Ultralytics fornece implementações, como a encontrada em reference/trackers/utils/kalman_filter/, permitindo uma rastreio de objectos capacidades. Podes gerir e treinar modelos para essas aplicações utilizando ferramentas como Ultralytics HUB.

Lê tudo