As 8 principais ferramentas e algoritmos open source de acompanhamento de objetos
Explora 8 das principais ferramentas open source de acompanhamento de objetos para análise de vídeo em tempo real. Vê como cada uma funciona e como escolher a mais adequada para o teu projeto.

Quando um carro passa num sinal vermelho e uma multa automática é enviada ao condutor, ou quando um jogador de futebol conduz a bola pelo campo e a câmara acompanha a jogada suavemente, a IA trabalha discretamente em segundo plano. Em particular, estes sistemas dependem da visão computacional, um subcampo da IA que permite às máquinas ver, interpretar e compreender informações visuais do mundo.
Na visão computacional, uma das principais tarefas por trás destas aplicações é o rastreamento de objetos. Ele é usado para identificar objetos em cada fotograma de um vídeo e, em seguida, acompanhá-los à medida que se movem, se sobrepõem a outros ou mudam de direção.
Atualmente, existem muitas ferramentas de rastreamento de objetos e algoritmos disponíveis, cada um concebido para diferentes casos de uso, necessidades de desempenho e níveis de complexidade. Alguns privilegiam a velocidade e conseguem rastrear dezenas de objetos em tempo real, enquanto outros priorizam a precisão ou a estabilidade a longo prazo em condições desafiantes, como oclusões, movimentos rápidos ou pouca iluminação.
Especificamente, os projetos de código aberto desempenharam um papel importante no avanço desta área. Como o código está acessível publicamente, desenvolvedores e pesquisadores podem estudar o seu funcionamento, melhorar os métodos existentes e adaptá-los a novas aplicações. Esta abertura ajudou o rastreamento de objetos a evoluir rapidamente e tornou mais fácil integrá-lo em sistemas do mundo real.
Neste artigo, vamos explorar oito ferramentas e algoritmos populares de código aberto para rastreamento de objetos. Vamos começar!
O que é o rastreamento de objetos?#
Imagina um cenário em que um segurança está a assistir às imagens de CCTV de um estacionamento. Ele decide ficar de olho num carro vermelho. À medida que o vídeo é reproduzido, identifica mentalmente esse carro e continua a acompanhá-lo para onde quer que vá, mesmo quando outros carros passam ou pessoas caminham à sua frente.
O rastreamento de objetos com IA é semelhante, mas funciona automaticamente e em grande escala. Em outras palavras, o rastreamento de objetos é o processo de acompanhar um objeto enquanto ele se move pelos fotogramas de um vídeo e manter a sua identidade consistente de um fotograma para o seguinte.
Em muitos sistemas, isto começa com a detecção de objetos, que encontra e rotula objetos como pessoas, veículos ou sinais de trânsito em cada fotograma. Depois, à medida que estes objetos se movem, aparecem, desaparecem ou se sobrepõem, o sistema de rastreamento liga as detecções entre os fotogramas para saber qual objeto é qual e para onde cada um vai ao longo do tempo.

Fig. 1. Uma visão geral do rastreamento de objetos (Fonte)
Existem dois tipos comuns de rastreamento: rastreamento de um único objeto (SOT), que se concentra num objeto principal (como rastrear apenas a bola num vídeo desportivo), e rastreamento de múltiplos objetos (MOT), que acompanha vários objetos simultaneamente e atribui a cada um um ID exclusivo (como rastrear todos os carros num cruzamento movimentado).
Independentemente do tipo de rastreamento, a maioria dos sistemas depende de três componentes principais: um detetor para encontrar objetos em cada fotograma, um modelo de movimento para prever como esses objetos provavelmente se vão mover e uma etapa de correspondência para ligar novas detecções aos objetos rastreados anteriormente. Estas partes transformam vídeo bruto em informações úteis sobre como os objetos se movem e interagem ao longo do tempo.
A necessidade de ferramentas de código aberto para rastreamento de objetos#
Antes de entrarmos nos detalhes, talvez te perguntes: o que torna tão especiais as ferramentas e os algoritmos de código aberto para rastreamento de objetos?
As ferramentas de código aberto desempenharam um papel importante em tornar o rastreamento de objetos mais fácil de usar e mais amplamente disponível. Como o código é aberto, desenvolvedores e pesquisadores podem ver exatamente como um rastreador funciona, aprender com ele e adaptá-lo aos seus próprios projetos, em vez de o tratarem como uma caixa-preta.
Também beneficiam de comunidades fortes. Muitas ferramentas de rastreamento de código aberto são mantidas por colaboradores ativos que adicionam novas funcionalidades, melhoram a velocidade e a precisão, corrigem erros e mantêm as ferramentas alinhadas com as pesquisas mais recentes. Esta colaboração contínua ajuda-as a permanecer fiáveis e úteis em diferentes aplicações.
O custo é outra razão importante para a sua relevância. Como as ferramentas de código aberto são gratuitas, estudantes, startups e pequenas equipes podem experimentar, criar protótipos e desenvolver sistemas reais sem se preocuparem com taxas de licença ou custos de subscrição.
As 8 principais ferramentas e algoritmos open source de acompanhamento de objetos#
Atualmente, existe uma grande variedade de opções de código aberto para criar sistemas de rastreamento. Algumas são algoritmos ou modelos de rastreamento que podes integrar diretamente no teu pipeline, enquanto outras são bibliotecas e frameworks que facilitam a execução, a gestão e a integração desses modelos. Juntas, abrangem tudo, desde a lógica central de rastreamento até às ferramentas complementares necessárias num projeto real.
Em seguida, vamos conhecer oito ferramentas e algoritmos populares de código aberto para rastreamento de objetos.
1. Modelos Ultralytics YOLO e o pacote Ultralytics Python#
Uma das opções mais fáceis e práticas para o rastreamento de objetos é usar os modelos Ultralytics YOLO em conjunto com o pacote Ultralytics Python. Modelos Ultralytics YOLO como o Ultralytics YOLO11 e o futuro Ultralytics YOLO26 são modelos de visão computacional que suportam várias tarefas de visão, incluindo detecção de objetos, segmentação de instâncias, estimativa de pose e rastreamento de objetos.

Fig. 2. Um exemplo de utilização do YOLO11 para detetar e rastrear objetos. (Fonte)
Curiosamente, os próprios modelos não rastreiam objetos entre fotogramas. Em vez disso, o pacote Ultralytics Python, uma biblioteca que simplifica a execução e a implementação dos modelos Ultralytics YOLO, torna o rastreamento possível ao combinar as detecções fotograma a fotograma do YOLO com algoritmos dedicados de rastreamento de múltiplos objetos, como BoT-SORT e ByteTrack.
Com a sua capacidade de rastreamento integrada, o pacote Ultralytics e os modelos Ultralytics YOLO podem ser usados para detetar objetos em cada fotograma e, em seguida, atribuir IDs consistentes para que possam ser acompanhados enquanto se movem, se sobrepõem, saem do fotograma e voltam a entrar mais tarde. Esta abordagem está a ser cada vez mais adotada em setores como a indústria transformadora e o comércio a retalho, permitindo aplicações como fluxos de trabalho de inspeção de defeitos, rastreamento do fluxo de inventário e rastreamento de clientes em lojas.
2. Rastreadores do OpenCV#
O OpenCV é uma extensa biblioteca de visão computacional que inclui uma coleção de algoritmos de rastreamento de objetos. Esta biblioteca é desenvolvida e mantida pela comunidade OpenCV desde 1999.
Em vez de dependerem de deep learning, a maioria destes rastreadores usa métodos tradicionais de visão computacional, como filtros de correlação e técnicas baseadas em kernels (que acompanham um objeto ao comparar a sua aparência visual, como cor e textura, de um fotograma para o seguinte, em vez de aprenderem características com redes neurais).
Ao usar estes algoritmos, normalmente podes selecionar primeiro o objeto que queres rastrear, e o rastreador procura continuamente a região visual mais semelhante nos fotogramas seguintes à medida que o objeto se move.

Fig. 3. Rastreamento de objetos com OpenCV (Fonte)
Embora estes métodos possam não ser tão robustos quanto os sistemas modernos de rastreamento baseados em deep learning em cenas complexas ou com muita gente, continuam a ser amplamente usados porque são leves, rápidos e fáceis de executar. Além disso, como estes rastreadores funcionam de forma eficiente em CPUs e normalmente não precisam de uma GPU, são adequados para experiências rápidas, aprendizagem em sala de aula e projetos pessoais.
3. ByteTrack#
ByteTrack é um dos algoritmos de código aberto mais populares para rastreamento de múltiplos objetos. Em vez de associar apenas as detecções sobre as quais o modelo tem muita certeza, também utiliza detecções de menor confiança que muitos sistemas normalmente ignoram.
Isto ajuda-o a manter o rastreamento de objetos que ficam temporariamente difíceis de ver, por exemplo, quando estão parcialmente bloqueados, distantes ou se movem rapidamente. Como é rápido e fiável, o ByteTrack é normalmente usado em aplicações como análise de tráfego, rastreamento de pedestres e monitorização do comércio a retalho, onde o desempenho em tempo real e os IDs consistentes são importantes.
Como mencionado anteriormente, se estiveres a usar modelos Ultralytics YOLO para detecção, é fácil ativar o ByteTrack através do pacote Ultralytics Python. Mas ele também pode ser usado de forma independente em pipelines personalizados, sendo adequado para tudo, desde protótipos de pesquisa até sistemas de produção escritos em C++.
4. DeepSORT#
Outro algoritmo amplamente usado para rastreamento de múltiplos objetos é o DeepSORT, abreviatura de Rastreamento Simples Online e em Tempo Real. É uma versão avançada do SORT, abreviatura de Rastreamento Simples Online e em Tempo Real.
Tal como o ByteTrack, o SORT segue uma abordagem de rastreamento por detecção. No entanto, o SORT depende de um filtro de Kalman, um modelo matemático que estima a posição futura de um objeto com base no seu movimento anterior, para prever para onde cada objeto provavelmente se moverá em seguida.
Depois, associa novas detecções a rastreamentos existentes, baseando-se principalmente na posição e na sobreposição da caixa delimitadora. Isto torna o SORT rápido e leve, mas ele pode ter dificuldades quando os objetos se sobrepõem, cruzam trajetórias ou desaparecem temporariamente da imagem.
O DeepSORT melhora o SORT ao adicionar informações de aparência ao processo de rastreamento. Além do movimento e da posição, utiliza um modelo de reidentificação, ou re-id, baseado em deep learning, que aprende o aspeto dos objetos. Isto permite ao rastreador reconhecer o mesmo objeto entre fotogramas, mesmo quando o movimento não é suficiente para o distinguir dos outros.
Por isso, o DeepSORT é normalmente usado em aplicações como vigilância e monitorização de multidões, onde as pessoas se sobrepõem frequentemente ou ficam temporariamente ocluídas. No entanto, atualmente é considerado uma referência clássica, e os métodos de rastreamento mais recentes alcançam frequentemente um desempenho superior em cenas mais desafiantes.
5. Norfair#
Norfair é uma biblioteca de rastreamento leve, concebida para ser flexível em vez de te prender a um pipeline de rastreamento fixo. Ela pode adicionar rastreamento a praticamente qualquer detetor, desde que as saídas do detetor possam ser representadas como um conjunto de pontos, como centros de caixas delimitadoras, pontos-chave ou dados de coordenadas personalizados.

Fig. 4. Rastreamento de objetos no mundo real com Norfair (Fonte)
Esta flexibilidade torna-a especialmente relevante para projetos que envolvem entradas incomuns ou padrões de movimento dinâmicos, nos quais as ferramentas padrão de rastreamento de múltiplos objetos podem não ser suficientes. A biblioteca também disponibiliza funções de distância integradas para controlar como as detecções são associadas entre fotogramas.
Estas funções de distância medem o grau de semelhança entre dois pontos ou objetos, dando-te controlo total sobre a lógica de rastreamento. Norfair é frequentemente usado em robótica, análise de movimentos desportivos, navegação de drones e aplicações que dependem bastante do rastreamento de pontos de referência de pose ou pontos-chave.
6. MMTracking#
MMTracking é uma toolbox de código aberto para rastreamento da equipe OpenMMLab, que também está por trás de bibliotecas de visão computacional amplamente utilizadas, como o MMDetection. Construído sobre o MMDetection, fornece um framework flexível para desenvolver e experimentar sistemas de rastreamento.
Um dos seus maiores pontos fortes é o design modular. Em vez de te prender a um único pipeline, o MMTracking permite configurar e trocar diferentes componentes, como detetores, módulos de rastreamento e, em algumas configurações, modelos de reidentificação. Graças a esta flexibilidade, é especialmente popular em pesquisas e projetos avançados nos quais as equipes querem comparar métodos, testar novas ideias ou ajustar pipelines de rastreamento.
7. FairMOT#
FairMOT é um framework de rastreamento de múltiplos objetos concebido para rastrear muitos objetos ao mesmo tempo. Ao contrário dos pipelines tradicionais de rastreamento por detecção, que executam primeiro a detecção e depois associam os objetos entre fotogramas numa etapa separada, o FairMOT aprende a detecção e a reidentificação em conjunto numa única rede.

Fig. 5. Como funciona o framework FairMOT (Fonte)
Esta configuração conjunta ajuda-o a manter identidades mais consistentes, especialmente em cenas com muita gente, nas quais as pessoas se sobrepõem ou se movem rapidamente. O FairMOT é normalmente usado em cenários como rastreamento de pedestres e monitorização de multidões, além de ser aplicado em contextos como análise do comércio a retalho e monitorização de tráfego, onde é importante rastrear muitos alvos em tempo real.
8. SiamMask#
SiamMask é um método de rastreamento de um único objeto que vai além de muitos rastreadores ao produzir uma máscara de segmentação juntamente com uma caixa delimitadora. Em termos simples, ele não desenha apenas um retângulo à volta do alvo. Também delimita a forma do objeto ao nível dos píxeis, o que pode ser útil quando o alvo muda de forma, roda ou fica parcialmente oculto.

Fig. 6. Rastreamento e segmentação de um objeto com SiamMask (Fonte)
Esta abordagem usa um design de rastreamento siamês, no qual o rastreador começa por obter uma pequena imagem de referência do alvo no primeiro fotograma, frequentemente chamada de template. Depois, em cada novo fotograma, procura numa região maior e encontra o ponto com a maior semelhança em relação a esse template.
O SiamMask baseia-se nesta ideia de correspondência. Também prevê uma máscara do alvo ao nível dos píxeis, para que obtenhas tanto a localização do objeto como um contorno mais preciso à medida que o vídeo é reproduzido.
Principais fatores para escolher uma ferramenta de rastreamento de objetos#
Com as várias opções de ferramentas de código aberto para rastreamento de objetos atualmente disponíveis na área da IA, a melhor opção para o teu projeto de visão computacional depende das necessidades específicas do teu caso de uso. Eis alguns fatores a considerar:
- Precisão: Este fator é mais importante em cenas cheias ou visualmente complexas, nas quais o sistema de visão precisa de manter IDs estáveis mesmo durante sobreposições, oclusões ou movimentos rápidos.
- Velocidade: Para aplicações em tempo real, como robótica, monitorização de tráfego e análise desportiva, a capacidade de resposta pode ser mais importante do que uma precisão perfeita.
- Facilidade de integração: Algumas ferramentas de rastreamento de objetos são fáceis de integrar e funcionam com apenas algumas linhas de código, enquanto outras exigem mais configuração, preparação ou trabalho personalizado no pipeline.
- Restrições de implementação: O ambiente de destino, como servidores com GPU, dispositivos de edge ou hardware móvel, pode determinar qual abordagem de rastreamento é viável.
- Escalabilidade: Se o teu sistema precisar de rastrear muitos objetos simultaneamente ou processar vários streams de vídeo, o rastreador deverá escalar de forma eficiente sem uma grande queda de desempenho.
Cada ferramenta ou algoritmo de rastreamento de objetos serve um propósito diferente. Em última análise, a escolha certa depende dos teus requisitos específicos, das restrições de execução, das métricas de desempenho e do nível de personalização de que o teu projeto precisa na abordagem de rastreamento.
Principais conclusões#
O rastreamento de objetos evoluiu desde as primeiras técnicas desenvolvidas manualmente até aos atuais sistemas de deep learning de última geração, que interpretam movimento, identidade e comportamento com uma precisão impressionante. As ferramentas de código aberto foram uma força motriz por trás deste progresso. Elas democratizam o acesso a algoritmos poderosos, incentivam a experimentação e permitem que pesquisadores criem pipelines de rastreamento sofisticados sem licenças restritivas ou uma infraestrutura pesada.
Visita a nossa comunidade e o nosso repositório do GitHub para saberes mais sobre IA. Explora as nossas páginas de soluções sobre IA na agricultura e visão computacional na indústria transformadora. Descobre as nossas opções de licenciamento e começa a criar o teu próprio modelo de visão.









