Contents — find the section you need

Se a detecção de características é o processo de decidir "onde na imagem usar como ponto de referência", o rastreamento de características é o processo de encontrar "para onde esse ponto de referência se moveu no próximo quadro". Um rastreamento estável permite estimar o movimento da câmera, a velocidade do objeto ou a autolocalização de um robô. Por outro lado, errar uma única correspondência pode fazer com que a estimativa de pose e o mapa subsequentes entrem em colapso simultaneamente. Este artigo considera a diferença entre detectores e descritores como dada e trata tanto a otimização local do movimento do pixel quanto a correspondência de descritores como um único problema de projeto.

Resumo de 30 segundos

  • Existem duas abordagens para rastreamento: "buscar no próximo quadro a área circundante do quadro anterior" e "detectar e calcular descritores em cada quadro e compará-los".

  • O método de Lucas-Kanade assume constância de brilho, movimento local e velocidade compartilhada entre pixels vizinhos e resolve um sistema de equações normais 2×2. O uso de uma pirâmide o estende para lidar com grandes deslocamentos.

  • A correspondência de descritores pode realizar novas buscas mesmo em grandes intervalos de quadros, mas ao custo de maior poder computacional e mais incompatibilidades. Verifique geometricamente com o teste de razão, vizinhos mais próximos mútuos e RANSAC.

  • A qualidade do rastreamento deve ser avaliada não apenas pela contagem de correspondências, mas também pela distribuição espacial na imagem, erro de reprojeção, consistência frente-trás e taxa de recuperação após oclusão.
  • Os casos mais difíceis são desfoque de movimento, baixa textura, reflexos, objetos dinâmicos, obturador rolante e mudança repentina de escala. Uma pontuação de confiança e um mecanismo de redetecção são essenciais.

1. Por que os pontos na imagem parecem se mover

Diagram 1 · Use the button to switch views
Pontos de referência ligados por setas de movimento entre os quadros anterior e atual

Figura 1 — Uma correspondência é uma hipótese até que seu movimento esteja de acordo com os pontos vizinhos e o modelo da câmera. A cobertura espacial é tão importante quanto a contagem bruta de correspondências.

Um ponto 3D X é projetado em \mathbf{x}=(x,y) na imagem sob movimento da câmera. Com intervalo de quadro \Delta t, o objetivo do rastreamento é encontrar o deslocamento \mathbf{d}_k em

\mathbf{x}_{k+1}=\mathbf{x}_k+\mathbf{d}_k

Quando a câmera se desloca, a velocidade aparente varia com a profundidade; quando ela gira, toda a imagem flui na mesma direção. Simplesmente A subtração de imagens consecutivas é frágil em relação a mudanças de iluminação e ruído de exposição, portanto, a estrutura de patches locais é usada em vez disso.

2. Lucas-Kanade: Resolvendo uma pequena janela de uma só vez

A suposição de constância de brilho é

I(x,y,t)=I(x+u,y+v,t+\Delta t)

Linearizando para pequenos deslocamentos (u,v), obtemos a equação de restrição de fluxo óptico

I_xu+I_yv+I_t=0

Em um único pixel, esta é uma equação para duas incógnitas (o problema da abertura). Assim, os pixels dentro de uma janela W são agrupados e o método dos mínimos quadrados

\begin{bmatrix}u\\v\end{bmatrix} =-\left(\sum_{W}w\begin{bmatrix}I_x^2&I_xI_y\\I_xI_y&I_y^2\end{bmatrix}\right)^{-1} \sum_Ww\begin{bmatrix}I_xI_t\\I_yI_t\end{bmatrix}

é resolvido. O termo entre colchetes é a matriz de estrutura local do ponto de característica — quanto maior o gradiente em duas direções, em um canto, mais estável e invertível ele é. Em uma parede plana ou uma única borda, o movimento não pode ser determinado de forma única.

Para lidar com grandes deslocamentos, o deslocamento é propagado a partir do nível grosseiro. de uma pirâmide reduzida até o nível mais detalhado. Em cada nível, várias iterações são executadas antes de recalcular na próxima posição. Na implementação, você ajusta a profundidade da pirâmide, o tamanho da janela, os critérios de término, o autovalor mínimo e o erro de rastreamento para frente e para trás.

3. Escolhendo entre este método e a correspondência de descritores

Descritores como ORB ou SIFT convertem o patch circundante em um vetor ou cadeia de bits e consideram o candidato de menor distância como a correspondência. Para pequenos movimentos entre quadros consecutivos, o método Lucas-Kanade é rápido, mas a re-correspondência de descritores torna-se valiosa ao recuperar de oclusões, pular quadros ou quando a câmera se move substancialmente.

Método Entrada Pontos fortes Pontos fracos Uso típico
Rastreamento LK Ponto do quadro anterior e imagem do próximo quadro Rápido, precisão subpixel Deslocamento fraco a grande, oclusão, baixa textura VO, rastreamento em tempo real
Correspondência ORB Descritores de 2 imagens Leve, lida com rotação Desajustes por reflexo/desfoque Inicialização/rebusca de SLAM
Correspondência SIFT Descritores de 2 imagens Robusto a escala/rotação Computação, memória SfM, recuperação de imagens
Baseado em aprendizado Pontos, descritores, comparador Potencialmente robusto a grandes mudanças de aparência Dados de treinamento externos, carga da GPU Ambientes difíceis, pesquisa

Considerar apenas o descritor candidato de menor distância permite a entrada de desajustes de padrões semelhantes. Exigir d_1/d_2\lt\tau (o teste de razão) entre a distância mais próxima d_1 e a segunda mais próxima d_2, e verificar ainda os vizinhos mais próximos mútuos de A→B e B→A, ajuda. Finalmente, verifique com RANSAC usando o erro de reprojeção de uma matriz fundamental, homografia ou PnP estimado a partir das correspondências.

4. Quantificando a Confiança do Rastreamento

Na prática, julgar o "rastreamento bem-sucedido" simplesmente como "um ponto foi retornado" não é suficiente. Registrar o seguinte permite isolar a causa de uma falha:

  • Autovalor mínimo e resíduo de LK
  • A diferença entre o rastreamento para frente e para trás (erro para frente-para trás)
  • A distribuição da razão de descritores e distância
  • Proporção de pontos internos do RANSAC e erro de reprojeção
  • A distribuição espacial dos pontos na imagem (eles estão agrupados apenas no centro?)
  • Deslocamento médio entre quadros, métrica de desfoque, exposição/ganho

Mesmo com uma alta proporção de pontos internos do RANSAC, se todos os pontos se agruparem em um canto da imagem, a estimativa de pose se degenera. Limitar a contagem máxima de pontos por célula da grade e espalhar os pontos de características por todo o campo de visão melhora a observabilidade da rotação e translação. Às vezes, manter um pequeno número de correspondências espalhadas por diferentes direções e distâncias é melhor do que simplesmente aumentar a contagem de pontos.

5. Objetos em Movimento e Obturador Rolante

Visual A odometria pressupõe um ambiente estático para estimar o movimento da câmera. Quando muitos pedestres, carros ou um ventilador girando aparecem no quadro, suas correspondências se tornam outliers inconsistentes com o modelo de movimento da câmera. Quando há muitos objetos dinâmicos para que o RANSAC sozinho os remova, combine mascaramento semântico, agrupamento por fluxo óptico, modelagem de fundo e consistência de profundidade.

O obturador rolante de uma câmera CMOS expõe a imagem linha por linha, de cima para baixo, em momentos ligeiramente diferentes. Sob rotação ou vibração rápidas, a pose da câmera muda linha por linha, mesmo dentro de um único quadro, quebrando a suposição de um modelo de projeção único. As mitigações incluem correção de tempo de linha usando a velocidade angular da IMU, obturador global, exposição curta e calibração do tempo de leitura.

6. Fluxo de uma Implementação Mínima

  1. Calibre a câmera juntamente com os parâmetros intrínsecos, distorção e timestamps.

  2. Detecte FAST/ORB ou Shi-Tomasi no quadro inicial e equalize espacialmente por meio de uma grade.

  3. Em cada novo quadro, rastreie com LK piramidal, verificando Erro de avanço-retrocesso e limites da imagem.

  4. Descarte pontos de baixa confiança e detecte novos pontos em células da grade subpopuladas.
  5. Execute a correspondência de descritores no intervalo necessário, removendo outliers com RANSAC.
  6. Passe as correspondências restantes para uma etapa de fusão de Matriz Essencial, PnP ou IMU.
  7. Se os pontos forem perdidos continuamente, reinicialize e registre o estado e a causa do rastreamento.

Decidindo quando retomar o rastreamento

Quando a oclusão ou a mudança de exposição reduz temporariamente o número de pontos, extrapolar cada posição antiga pode transformar uma correspondência incorreta em um rastreamento com aparência estável. Verifique primeiro o número do quadro, os carimbos de data/hora, os limites da imagem e o erro de avanço-retrocesso e, em seguida, remova os candidatos fora do envelope operacional. Mesmo uma contagem suficiente é insegura quando todos os pontos sobreviventes ocupam uma pequena região da imagem; interrompa a estimativa de pose, detecte novamente por célula da grade e separe o fundo estático dos objetos em movimento antes de reajustar o modelo geométrico. Registrar isso como uma máquina de estados com estados de "rastreamento" e "reinicialização" torna os dados ausentes distinguíveis de um Correspondência incorreta.

Na implementação, anexe um número de quadro e um carimbo de data/hora de observação a cada correspondência para que o atraso de processamento não misture um ponto antigo em um quadro mais recente. Quando a câmera se move abruptamente, verifique se o deslocamento ainda se encaixa no nível e na janela da pirâmide mais grosseira. Caso contrário, alternar para uma nova busca de descritores é mais seguro do que ampliar a janela até que ela convirja para outro padrão. Os candidatos pesquisados novamente ainda devem passar pelas verificações de resíduos epipolares ou de homografia e pela consistência direta-inversa. Se objetos em movimento forem rastreados deliberadamente, mantenha os pontos de movimento da câmera e os pontos de rastreamento de objetos em conjuntos separados; não reutilize as decisões de outliers de um conjunto para o outro. Reproduza os registros com mudanças de iluminação, oclusão e atraso de comunicação para testar a recuperação nesses limites.

7. Conclusão

O rastreamento de características é uma tecnologia que trata o detector, a otimização local, a correspondência de descritores e a verificação geométrica como um único problema de projeto de confiança. O LK conecta suavemente quadros consecutivos, os descritores se recuperam de grandes mudanças e o RANSAC filtra as incompatibilidades geometricamente. Em vez de depender de qualquer um dos seguintes métodos: Manter registros que incluam distribuição de pontos, sincronização de tempo, objetos dinâmicos e efeito rolling shutter melhora substancialmente a reprodutibilidade do Visual SLAM e do VIO.

Verifique seu entendimento
Um ponto rastreado com sucesso sempre corresponde corretamente?

O rastreamento pode saltar para um padrão semelhante. Verifique a consistência entre os rastreamentos para frente e para trás, os resíduos e a geometria, em vez de apenas contar os rastreamentos.

Referências

Acompanhe esses pontos entre duas imagens no Lab de fluxo óptico.

What to read next

Review the backgroundLaboratório de correspondências — filtros, inliers e verdade conhecidaContinue the seriesLab de fluxo óptico: acompanhar movimento entre duas imagensExplore another aspect of this fieldLab de brilho e luminância — exposição, gama e recorte