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 de inferência em tempo real, tornando-o uma técnica fundamental em áreas como a robótica, a visão por computador (CV) e os sistemas de navegação.
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:
- Prever: Com base na estimativa do estado anterior e num modelo de como o sistema muda ao longo do tempo (o modelo do processo), o filtro prevê o estado seguinte do sistema. Esta previsão inclui inerentemente alguma incerteza.
- Atualização: O filtro incorpora uma nova medição (que também tem ruído e incerteza) relacionada com o estado atual. Compara a medição com o estado previsto e actualiza a estimativa, dando mais peso à previsão ou à medição com base nas suas respectivas incertezas. O resultado é uma estimativa de estado refinada que é estatisticamente melhor (mais próxima do estado verdadeiro) 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 obter uma explicação mais visual, consulte Como funciona um filtro de Kalman, em imagens. A estrutura matemática subjacente baseia-se na inferência bayesiana.
Caraterísticas principais
- Recursivo: Processa as medições uma de cada vez à medida que chegam, sem necessidade de armazenar todo o histórico.
- Ótimo para sistemas lineares: Fornece a melhor estimativa possível (em termos de erro quadrático médio mínimo) se a dinâmica do sistema e os processos de medição forem lineares e o ruído seguir uma distribuição gaussiana.
- Estimativa de estado: Estima o estado interno de um sistema (por exemplo, posição, velocidade) que não pode ser medido diretamente.
- Lida com o ruído: Modela explicitamente a incerteza tanto na dinâmica do sistema como nas medições.
- Computacionalmente eficiente: Relativamente leve, tornando-o adequado para aplicações em tempo real em sistemas incorporados, como os encontrados em IA de ponta.
Aplicações no mundo real
Os filtros de Kalman são indispensáveis em inúmeras aplicações de IA e ML:
- Seguimento de objectos: Na visão computacional, os KFs são normalmente utilizados para prever a posição de objectos detectados (como peões ou veículos) em fotogramas de vídeo subsequentes, ajudando a manter identidades consistentes mesmo com breves oclusões ou falhas de deteção. Rastreadores como o Simple Online and Realtime Tracking (SORT) dependem fortemente de KFs para a previsão de movimento. Ultralytics YOLO do Ultralytics utilizam esses algoritmos de rastreamento; podes saber mais na documentação do modo de rastreamento. Por exemplo, um sistema de segurança pode utilizar um KF para seguir suavemente uma pessoa que caminha pelo campo de visão da câmara, prevendo o seu percurso entre as detecções fornecidas por um modelo de deteção de objectos como o YOLO11.
- Robótica e navegação: Os KFs são cruciais para combinar dados de vários sensores(fusão de sensores) para estimar a posição e a orientação de um robô (pose). Por exemplo, um veículo autónomo pode fundir leituras GPS ruidosas com dados de unidades de medição inercial (IMUs) e odometria de rodas utilizando um KF para obter uma estimativa fiável da sua localização e velocidade, essencial para uma navegação segura(IA em soluções automóveis).
- Aeroespacial e orientação: O KF foi utilizado de forma famosa no programa Apollo para a navegação de naves espaciais e continua a ser vital nos modernos sistemas de orientação aeroespacial e de posicionamento por satélite.
- Análise de séries temporais: Utilizada em econometria e finanças para modelar e prever dados de séries temporais, filtrando o ruído e estimando as tendências subjacentes. Podes explorar modelos financeiros de séries temporais para obteres mais contexto.
- Processamento de sinais: Aplica-se a várias tarefas de processamento de sinais, como a melhoria do áudio e a análise de sinais biomédicos.
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 apresentam um comportamento não linear (por exemplo, movimentos de braços de robôs, dinâmica complexa de veículos). Para esses casos, são utilizadas variantes como o Filtro de Kalman Alargado (EKF).
A principal diferença é que o EKF lida com sistemas não-lineares aproximando-os. Lineariza as funções não lineares em torno da estimativa do estado atual em cada passo de tempo usando técnicas como expansões de séries de Taylor. 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. Se um sistema é conhecido por ser linear, o KF é geralmente preferido devido à sua otimização e simplicidade computacional. Outras variantes, como o Filtro de Kalman sem Saturação (UKF), oferecem abordagens diferentes para lidar com não-linearidades, muitas vezes fornecendo melhor precisão do que o EKF para sistemas altamente não-lineares, mas normalmente exigindo mais computação. Podes treinar e experimentar modelos que incorporem estes filtros utilizando plataformas como o Ultralytics HUB.