Contents — find the section you need

Ao analisar um vídeo quadro a quadro, não é intuitivamente óbvio qual parte da imagem se moveu e em que medida. O Fluxo Óptico representa, como um vetor, para onde o brilho de cada pixel se deslocou no próximo quadro. Ele se torna uma linguagem comum para qualquer processo que envolva movimento: previsão de colisões em carros autônomos, autolocalização para drones, análise esportiva e interpolação de vídeo.

Resumo de 30 segundos

  • O fluxo não é "a velocidade do objeto em si", mas sim seu movimento aparente na imagem. Movimento da câmera, movimento do objeto e profundidade estão todos misturados nele.

  • A equação de constância de brilho fornece apenas uma equação por pixel, portanto, precisa ser resolvida adicionando-se uma suposição de suavidade da janela local, pontos de referência ou regularização.

  • O método de Lucas-Kanade trata uma pequena janela como uma única velocidade — um método de rastreamento esparso. O método de Horn-Schunck usa a suavidade em toda a imagem — um método de estimativa densa.

  • Grandes deslocamentos exigem uma pirâmide de imagens; Oclusão, reflexos e desfoque exigem medidas de confiança e tratamento de outliers. O efeito rolling shutter também requer correção para a diferença no tempo de resposta das linhas.

  • Métodos baseados em aprendizado, como o RAFT, são altamente precisos, mas devem ser adotados somente após a verificação da memória da GPU, do comportamento fora da distribuição, do desempenho em tempo real e do licenciamento.

  • Métodos baseados em aprendizado, como o RAFT, são altamente precisos, mas devem ser adotados somente após a verificação da memória da GPU, do comportamento fora da distribuição, do desempenho em tempo real e do licenciamento.

1. Da Constância de Brilho à Equação de Restrição de Fluxo

Diagram 1 · Use the button to switch views
Estimativa de Fluxo Óptico de uma pirâmide de imagem para um campo vetorial denso

Figura 1 — Uma pirâmide lida primeiro com grandes deslocamentos e, em seguida, refina um campo vetorial denso em escalas menores. As máscaras de confiança e oclusão devem acompanhar os vetores.

Se um pequeno padrão estacionário se move entre os quadros, podemos idealizá-lo como tendo brilho constante.

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

Uma expansão de Taylor de primeira ordem, juntamente com \Delta t\to0, fornece

I_xu+I_yv+I_t=0

Como existem duas componentes de velocidade desconhecidas (u,v), mas apenas uma equação, esta sozinha não pode ser resolvida. Em uma borda, o movimento Na direção da borda, o gradiente é invisível; em uma região plana, não há gradiente algum. Este é o problema da abertura.

2. Lucas-Kanade e Horn-Schunck

O método de Lucas-Kanade assume que a velocidade é a mesma em toda uma janela local W e minimiza o seguinte erro quadrático.

E(u,v)=\sum_{(x,y)\in W}w(x,y)\{I_xu+I_yv+I_t\}^2

Ele usa apenas os cantos onde a matriz de gradiente está suficientemente bem condicionada e combina isso com a mesma pirâmide e atualização iterativa usada no rastreamento de pontos de referência (veja a seção anterior). O calcOpticalFlowPyrLK do OpenCV é uma implementação dessa família.

O método de Horn-Schunck trata o campo de fluxo em toda a imagem como a incógnita e, simultaneamente, minimiza a restrição de brilho e a suavidade da velocidade.

E(u,v)=\iint (I_xu+I_yv+I_t)^2+\alpha^2(|\nabla u|^2+|\nabla v|^2)\,dxdy

Um \alpha maior resulta em um campo de fluxo mais suave; um menor permite variações locais. Descontinuidades. O suavizamento ao longo da fronteira de um objeto mistura as velocidades de diferentes objetos, portanto, funções de perda robustas ou regularização que preserva as bordas são usadas em vez disso.

3. Fluxo Esparso e Fluxo Denso

Tipo Pontos estimados Métodos representativos Pontos fortes Pontos fracos
Esparso Centenas a milhares de pontos, por exemplo, cantos LK, KLT Leve, alimenta diretamente a estimativa de pose Deixa lacunas em regiões com pouca textura
Semidenso Pixels com gradiente VO direto, métodos baseados em Hessiana Equilibra informações geométricas com o custo computacional Não preenche toda a imagem
Denso Quase todos os pixels Horn-Schunck, TV-L1, RAFT Eficaz para objetos em movimento, fluidos, interpolação Custo computacional, ambiguidade em limites de oclusão

Para Odometria Visual, passar correspondências esparsas A integração com a computação geométrica tende a ser mais estável. Por outro lado, mascarar regiões de pedestres em movimento ou usar movimento por pixel para interpolação de vídeo exige um fluxo denso. Definir a densidade necessária antecipadamente, para o propósito em questão, é mais eficaz do que simplesmente sobrecarregar a GPU.

4. Lidando com Grandes Deslocamentos, Oclusão e Mudanças de Brilho

Uma aproximação diferencial de um pixel falha sob grandes movimentos. Uma pirâmide gaussiana é construída reduzindo a imagem para escalas de 1/2, 1/4 e 1/8; grandes deslocamentos são estimados no nível mais grosseiro, depois ampliados para o nível mais fino e refinados iterativamente. Muitos níveis na pirâmide fazem com que objetos pequenos desapareçam; poucos níveis resultam em um alcance de busca insuficiente.

Quando a iluminação muda, a constância do brilho é comprometida, então a normalização local, a direção do gradiente, a perda robusta de Charbonnier ou a diferença de cor relativa são usadas em seu lugar. Na borda de um objeto em movimento, um pixel visível no quadro anterior pode estar oculto no próximo (oclusão). Em vez de forçar uma trajetória através do fluxo, são utilizadas sinalizações, consistência frente-verso e máscaras de visibilidade.

5. Métodos Baseados em Aprendizado: Como Interpretar o RAFT

O RAFT (Recurrent All-Pairs Field Transforms) é conhecido por calcular a correlação entre todos os pares de pixels entre duas imagens e, em seguida, refinar o fluxo com um operador de atualização iterativo. Como pode utilizar um conjunto muito maior de candidatos a correspondência do que a "janela local" dos métodos clássicos, ele pode ser eficaz em áreas com texturas repetidas ou sob grandes deslocamentos.

Mas um baixo erro médio de ponto final (EPE) em um benchmark não significa que seja seguro usá-lo em um robô real em campo. Se a lente da câmera, a exposição, o obturador eletrônico, a poeira ou a iluminação noturna forem diferentes dos dados de treinamento, a confiança diminui. A avaliação deve incluir tempo de inferência, resolução de entrada, erro de quantização, driver da GPU e a licença do modelo.

6. Separando o Movimento da Câmera de Objetos Dinâmicos

Converter o fluxo em movimento da câmera requer a matriz intrínseca da câmera. K e profundidade Z. Em coordenadas normalizadas de um ponto da imagem \mathbf{x}, o fluxo devido à translação da câmera \mathbf{t} e à velocidade angular \boldsymbol{\omega} pode ser conceitualmente escrito como

\mathbf{u}=\frac{1}{Z}A(\mathbf{x})\mathbf{t}+B(\mathbf{x})\boldsymbol{\omega}

O componente translacional varia com 1/Z — objetos mais próximos se movem mais do que os mais distantes — enquanto o componente rotacional não depende da profundidade. O fluxo consistente com um único modelo de movimento, encontrado via RANSAC, é tratado como fundo; regiões com grandes resíduos tornam-se objetos dinâmicos candidatos. Em cenas com muitos veículos ou pedestres, a detecção de objetos e máscaras semânticas são usadas em conjunto com a estimativa geométrica.

7. Métricas de Avaliação e Medição Reproduzível

Dado o fluxo de referência (u^*,v^*), o erro médio do ponto final é

EPE=\frac{1}{N}\sum_{i=1}^{N}\sqrt{(u_i-u_i^*)^2+(v_i-v_i^*)^2}

Relate não apenas a média, mas também o percentil 95, o erro nos limites de oclusão, o erro em regiões de baixa textura e o erro discriminado por velocidade. Como a verdade fundamental é difícil de obter em hardware real, ela geralmente é combinada a partir de captura de movimento, trajetória conhecida de um braço robótico, imagens sintéticas, consistência frente-verso e erro de reprojeção de VO.

Os registros devem reter os carimbos de data/hora da câmera, exposição, resolução, níveis da pirâmide, tamanho da janela, contagem de iterações, GPU/CPU, temperatura e confiança do fluxo. Mesmo com o mesmo nome de algoritmo, os resultados não são comparáveis se essas condições forem diferentes.

8. Resumo

O Fluxo Óptico restringe o movimento aparente dos pixels com equações e o resolve usando janelas locais, suavidade da imagem inteira, pirâmides de imagem e correlação baseada em aprendizado. O LK esparso é adequado para autolocalização; o fluxo denso é adequado para objetos dinâmicos e processamento de vídeo. Considere o movimento da câmera versus o movimento do objeto, oclusão, iluminação e obturador rolante separadamente e avalie as condições de falha. Em vez de apenas o erro médio, ajuda a evitar a escolha errada de implementação.

Verifique seu entendimento
O movimento da imagem é a velocidade física do objeto?

O movimento da câmera, o movimento do objeto e a profundidade afetam o movimento projetado. Converter pixels por segundo em metros por segundo requer informações geométricas.

Referências

What to read next

Review the backgroundLab de fluxo óptico: acompanhar movimento entre duas imagensContinue the seriesIntrodução à homografia — Descrevendo a correspondência planar com uma única matriz 3x3Explore another aspect of this fieldLab de brilho e luminância — exposição, gama e recorte