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
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
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 é
Linearizando para pequenos deslocamentos (u,v), obtemos a equação de restrição de fluxo óptico
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
é 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
-
Calibre a câmera juntamente com os parâmetros intrínsecos, distorção e timestamps.
-
Detecte FAST/ORB ou Shi-Tomasi no quadro inicial e equalize espacialmente por meio de uma grade.
-
Em cada novo quadro, rastreie com LK piramidal, verificando Erro de avanço-retrocesso e limites da imagem.
- Descarte pontos de baixa confiança e detecte novos pontos em células da grade subpopuladas.
- Execute a correspondência de descritores no intervalo necessário, removendo outliers com RANSAC.
- Passe as correspondências restantes para uma etapa de fusão de Matriz Essencial, PnP ou IMU.
- 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.
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
- OpenCV — Fluxo Óptico / Lucas-Kanade
- OpenCV — Correspondência de Características
- Bouguet, Implementação piramidal do rastreador de características Lucas-Kanade afim
- Artigo ORB-SLAM3
- VINS-Papel Mono
Acompanhe esses pontos entre duas imagens no Lab de fluxo óptico.
Comentários
Entre na sua conta para continuar.
Ainda não há dados.