Extended Kalman Filter (EKF)
Explora o filtro de Kalman estendido (EKF) para a estimativa de estados não lineares. Aprende como melhora o tracking de objetos no Ultralytics YOLO26 e em sistemas autónomos.
O Filtro de Kalman Estendido (EKF) é um algoritmo matemático robusto concebido para estimar o estado de um sistema dinâmico que se comporta de forma não linear. Embora o Filtro de Kalman (KF) padrão forneça uma solução ideal para sistemas que se movem em linhas retas ou seguem equações lineares simples, a física do mundo real raramente é tão previsível. A maioria dos objetos físicos, como um drone a enfrentar a resistência do vento ou um braço robótico a rodar em vários eixos, segue trajetórias curvas ou complexas. O EKF aborda esta complexidade ao criar uma aproximação linear do sistema num ponto específico no tempo, permitindo que engenheiros e cientistas de dados apliquem técnicas de filtragem eficientes a tarefas de modelação preditiva, mesmo quando a mecânica subjacente é complicada.
Mecanismo e linearização#
Para lidar com dinâmicas complexas, o EKF utiliza um processo matemático chamado linearização, que consiste essencialmente em estimar o declive de uma função no ponto de operação atual. Isto envolve frequentemente o cálculo de uma matriz Jacobiana para aproximar a forma como o sistema se altera em intervalos curtos. O algoritmo funciona num ciclo recursivo constituído por duas fases principais: previsão e atualização. Na fase de previsão, o filtro projeta o estado atual para a frente utilizando um modelo físico do movimento. Na fase de atualização, corrige esta projeção utilizando dados novos, frequentemente ruidosos, de sensores como giroscópios ou acelerómetros. Este ciclo contínuo de previsão e correção ajuda a reduzir o ruído dos dados e fornece uma estimativa mais suave e precisa do estado verdadeiro do que qualquer sensor isolado conseguiria fornecer.
Relevância na Visão Computacional#
No domínio da visão computacional (CV), o Filtro de Kalman Estendido desempenha um papel essencial na manutenção da identidade de objetos em movimento. Modelos avançados como o YOLO26 são excecionais na deteção de objetos em fotogramas individuais, mas não compreendem inerentemente a continuidade do movimento ao longo do tempo. Ao integrar um EKF ou uma lógica semelhante, um sistema de rastreamento de objetos pode prever onde uma caixa delimitadora deverá aparecer no fotograma seguinte do vídeo, com base na velocidade e na trajetória anteriores. Isto é particularmente útil para lidar com oclusões, nas quais um objeto fica temporariamente bloqueado; o filtro mantém o "rastreio" ativo ao estimar a posição do objeto até que este volte a ficar visível, uma técnica essencial para um rastreamento robusto de múltiplos objetos (MOT).
Aplicações no mundo real#
A versatilidade do EKF torna-o uma tecnologia fundamental em vários setores de alta tecnologia onde a aprendizagem automática (ML) se cruza com hardware físico:
- Veículos Autónomos: Os carros autónomos dependem da fusão de sensores para navegar em segurança. Um EKF combina fluxos de dados distintos de Sistemas de Posicionamento Global (GPS), LiDAR e radar para calcular a posição e a orientação precisas do veículo na estrada, compensando interrupções do sinal ou ruído ambiental.
- Robótica: Os robôs que operam em ambientes não estruturados utilizam algoritmos de Localização e Mapeamento Simultâneos (SLAM). O EKF ajuda um robô a construir um mapa de uma divisão enquanto determina simultaneamente a sua própria localização nesse mapa, corrigindo o deslizamento das rodas ou a deriva dos sensores para garantir movimentos precisos.
- Estimativa de Pose: Em aplicações como realidade virtual ou análise desportiva, o rastreamento das articulações humanas requer a suavização de pontos-chave instáveis. Os algoritmos EKF refinam a saída de modelos de aprendizagem profunda para criar animações de movimento fluidas e naturais para sistemas de reconhecimento de ações.
Comparação com conceitos relacionados#
É útil distinguir o Filtro de Kalman Estendido de métodos de filtragem relacionados para compreender a sua utilidade específica:
- EKF vs. Filtro de Kalman (KF): O KF padrão é matematicamente ideal e exige menos recursos computacionais, mas falha quando os sistemas são altamente não lineares. O EKF amplia o KF para trabalhar com sistemas não lineares através de uma aproximação.
- EKF vs. Filtro de Partículas: Um Filtro de Partículas lida muito bem com a não linearidade e o ruído não gaussiano ao utilizar muitas amostras aleatórias (partículas) para representar a probabilidade. No entanto, requer significativamente mais capacidade computacional, tornando o EKF uma opção preferida para sistemas embebidos com recursos limitados.
- EKF vs. Filtro de Kalman Unscented (UKF): O Filtro de Kalman Unscented oferece um meio-termo, utilizando pontos de amostragem determinísticos para lidar com a não linearidade sem o cálculo diferencial complexo exigido pelo EKF, embora o EKF continue a ser um padrão do setor para muitos sistemas de controlo.
Exemplo de Implementação#
No pacote ultralytics, os algoritmos de rastreamento utilizam internamente conceitos de filtragem de Kalman para suavizar trajetórias e associar deteções entre fotogramas. Embora não codifiques manualmente a matemática da matriz EKF ao utilizar ferramentas de alto nível, compreender que esta sustenta o rastreador ajuda-te a configurar parâmetros para a Plataforma Ultralytics.
Eis como iniciar um rastreador com um modelo YOLO, que utiliza estas técnicas de filtragem para a estimação do estado:
from ultralytics import YOLO
# Load the latest YOLO26 model (nano version for speed)
model = YOLO("yolo26n.pt")
# Track objects in a video source
# Trackers like BoT-SORT or ByteTrack use Kalman filtering logic internally
results = model.track(source="https://ultralytics.com/images/bus.jpg", tracker="botsort.yaml")
# Print the ID of the tracked objects
for r in results:
if r.boxes.id is not None:
print(f"Track IDs: {r.boxes.id.numpy()}")








