Glossário

Fluxo ótico

Descobre o poder do Optical Flow na visão por computador. Aprende como estima o movimento, melhora a análise de vídeo e impulsiona inovações em IA.

Treina os modelos YOLO simplesmente
com Ultralytics HUB

Aprende mais

O fluxo ótico é um conceito fundamental na visão por computador (CV) utilizado para descrever o movimento aparente de objectos, superfícies e arestas numa cena visual causado pelo movimento relativo entre um observador (como uma câmara) e a cena. Calcula um campo de vectores que representam a deslocação de padrões de brilho (pixéis ou elementos) entre quadros consecutivos de uma sequência de vídeo. Isto fornece informações valiosas sobre a dinâmica do movimento dentro do vídeo, formando a base para muitas tarefas de visão de nível superior.

Como funciona o fluxo ótico

O pressuposto central subjacente à maioria dos algoritmos de fluxo ótico é a constância do brilho - a ideia de que a intensidade de um ponto específico de um objeto permanece constante durante curtos intervalos de tempo, mesmo quando se move através do plano da imagem. Os algoritmos seguem estes padrões de brilho constante de um fotograma para o seguinte para estimar os vectores de movimento. As técnicas mais comuns incluem:

  • Fluxo ótico esparso: Rastreia o movimento de um conjunto limitado de pontos de caraterísticas específicas (como cantos) entre quadros. O método Lucas-Kanade é um exemplo popular.
  • Fluxo ótico denso: Calcula um vetor de movimento para cada pixel da imagem. O método Horn-Schunck é um exemplo clássico, embora as abordagens mais modernas utilizem frequentemente a aprendizagem profunda. Podes explorar as comparações entre fluxo denso e esparso para obteres mais detalhes.

Estes métodos fornecem uma compreensão de baixo nível do movimento dos píxeis, que pode depois ser interpretada para várias aplicações.

Aplicações do fluxo ótico

O fluxo ótico tem inúmeras aplicações práticas em diferentes domínios:

  • Compressão de vídeo: Os vectores de movimento ajudam a prever os fotogramas subsequentes, reduzindo a quantidade de dados necessários para armazenamento ou transmissão, como se vê em normas como o MPEG.
  • Sistemas autónomos: Utilizado na robótica e nos veículos autónomos para tarefas como a estimativa do movimento do ego (determinação do movimento da própria câmara), a prevenção de obstáculos e a compreensão do movimento relativo de outros objectos. Por exemplo, a IA em carros autónomos utiliza o fluxo para localizar veículos e peões próximos.
  • Reconhecimento de acções: A análise de padrões de movimento ajuda a identificar acções como andar, correr ou cair em vídeos. Isto é útil em vigilância, análise desportiva e interação homem-computador. Um sistema de alarme de segurança pode utilizar o fluxo ótico para detetar movimentos suspeitos. Descobre mais sobre a investigação em reconhecimento de acções.
  • Imagiologia médica: Rastreia o movimento de órgãos ou tecidos em seqüências como ultrassom ou ressonância magnética, auxiliando no diagnóstico e na análise. Vê mais sobre a análise de imagens médicas.
  • Estabilização de vídeo: Estima o movimento da câmara para remover digitalmente a trepidação e a instabilidade indesejadas, conduzindo a uma saída de vídeo mais suave. Lê sobre as técnicas de estabilização eletrónica de imagem.

Fluxo ótico vs. rastreio de objectos

Embora relacionados, o fluxo ótico e o seguimento de objectos são tarefas distintas. O fluxo ótico fornece vectores de movimento de baixo nível para pixéis ou elementos entre dois fotogramas consecutivos. Não compreende inerentemente a identidade dos objectos nem os segue durante períodos mais longos.

O rastreio de objectos, frequentemente realizado com modelos como Ultralytics YOLOconcentra-se na identificação de instâncias de objectos específicos (normalmente detectados através da deteção de objectos) e na manutenção das suas identidades e trajectórias em vários fotogramas, potencialmente durante longos períodos. Os algoritmos de seguimento utilizam frequentemente o fluxo ótico como uma entrada (juntamente com modelos de aparência, filtros de Kalman, etc.) para prever a localização de objectos em fotogramas subsequentes, mas o seguimento é uma tarefa de nível superior relacionada com a persistência de objectos. Podes explorar modelos como o YOLOv8 para o seguimento.

Bibliotecas como a OpenCV fornecem implementações prontamente disponíveis de vários algoritmos de fluxo ótico.

Lê tudo