Formalmente, denomina-se rastreamento o processo de determinação da posição de determinado(s) objeto(s) ao longo do tempo numa sequência de imagens. Em outras palavras: localizar um objeto em quadros sucessivos de um vídeo é chamado de rastreamento.
Rastreamento vs Detecção: Vantagens e desvantagens
Geralmente os algoritmos de rastreamento são mais rápidos que os de detecção.
O motivo é simples. Ao rastrear um objeto que foi detectado no quadro anterior, sabemos muito sobre a aparência do objeto. Também conhecemos a localização no quadro anterior e a direção e velocidade do seu movimento. Portanto, no próximo quadro, podemos usar todas essas informações para prever a localização do objeto no próximo quadro e fazer uma pequena pesquisa em torno do local esperado do objeto para o localizar com precisão.
Um bom algoritmo de rastreamento utilizará todas as informações que ele tem sobre o objeto até esse ponto, enquanto um algoritmo de detecção sempre começa do zero. A detecção de objetos é executada em todos os n quadros, enquanto que o algoritmo de rastreamento é empregado nos n-1 quadros.
O rastreamento se beneficia das informações extras que ele possui, mas também podemos perder o controle de um objeto quando ele fica atrás de um obstáculo por um longo período de tempo ou se ele se move tão rápido que o algoritmo de rastreamento não consegue alcançá-lo. Também é comum que os algoritmos de rastreamento acumulem erros e a caixa delimitadora que rastreia o objeto se afasta lentamente do objeto que está rastreando.
Para corrigir esses problemas com algoritmos de rastreamento, um algoritmo de detecção pode ser executado de tempos em tempos, localizando a nova posição do objeto e passando estas informações ao rastreador.
Por outro lado, o rastreamento pode ajudar quando a detecção falha. Se você estiver executando um detector de rosto em um vídeo e o rosto da pessoa ficar obstruído por um objeto, é provável que o detector de faces falhe. Um bom algoritmo de rastreamento, por outro lado, lidará com algum nível de oclusão.
No vídeo acima, podemos ver o do Dr. Boris Babenko, autor do rastreador MIL, demonstrando como o rastreador MIL funciona sob oclusão.
O Rastreamento preserva a identidade
A saída da detecção de objetos é uma matriz de retângulos que contêm o objeto. No entanto, não há identidade anexada ao objeto. Por exemplo um detector que detecta pontos vermelhos produzirá retângulos correspondentes a todos os pontos que detectou em um quadro. No próximo quadro, ele produzirá outra matriz de retângulos. No primeiro quadro, um ponto em particular pode ser representado pelo retângulo no local 10 na matriz e no segundo quadro, no local 17. Ao usar a detecção em um quadro, não temos ideia de qual retângulo corresponde a qual objeto. Por outro lado, o rastreamento fornece uma maneira de conectar literalmente os pontos!
Fonte: learnopencv.com
Por que precisamos do rastreamento de objetos? Não podemos simplesmente detectar objetos em todos os quadros?
Em alguns casos, a detecção de objetos pode falhar, mas ainda é possível rastrear o objeto, porque o rastreamento leva em consideração a localização e a aparência do objeto no quadro anterior. Alguns algoritmos de rastreamento são muito rápidos porque fazem uma pesquisa local em vez de uma pesquisa global. Assim, podemos obter uma taxa de quadros muito alta para nosso sistema executando a detecção de objetos a cada enésimo quadro e rastreando o objeto em quadros intermediários.
Às vezes, um algoritmo de rastreamento pode perder o controle do objeto que está rastreando. Por exemplo, quando o movimento do objeto é muito grande, um algoritmo de rastreamento pode não ser capaz de acompanhar. Muitos aplicativos do mundo real usam detecção e rastreamento juntos.
Funcionamento básico de algoritmos de rastreamento de objetos
No rastreamento o objetivo é encontrar o objeto no quadro atual, considerando que o objeto foi rastreado corretamente nos quadros anteriores. Como o objeto foi rastreado até o quadro atual, conhecemos os parâmetros do modelo de movimento. O modelo de movimento é a localização + velocidade (velocidade + direção do movimento) do objeto nos quadros anteriores. Temos também o modelo de aparência, no qual sabemos a aparência do objeto nos quadros anteriores. Esse modelo de aparência pode ser usado para pesquisar em uma pequena posição próxima da localização prevista pelo modelo de movimento para prever com mais precisão a localização do objeto.
Resumindo, o modelo de movimento prevê a localização aproximada do objeto. O modelo de aparência ajusta essa estimativa para fornecer uma estimativa mais precisa com base na aparência.
A tarefa do classificador (algoritmo) é classificar uma região retangular de uma imagem como objeto ou plano de fundo. O classificador recebe um patch de imagem como entrada e retorna uma pontuação entre 0 e 1 para indicar a probabilidade de que o patch de imagem contenha o objeto. A pontuação é 0 quando é absolutamente certo que o patch da imagem é o plano de fundo e 1 quando é absolutamente certo que o patch é o objeto.
Abaixo você pode visualizar um vídeo que utilizar o algoritmo CSRT (Discriminative Correlation Filter with Channel and Spatial Reliability)