Ultralytics YOLO27: Entre na lista de espera.
Licenciar o YOLO
Voltar ao glossário da Ultralytics

Scene Flow

O fluxo de cena é o campo de movimento 3D de uma cena: um vetor de deslocamento para cada ponto visível entre fotogramas, estimado a partir de dados estéreo, RGB-D ou LiDAR.

O fluxo de cena é o campo de movimento tridimensional de uma cena: para cada ponto visível da superfície, um vetor 3D indica a posição do ponto num fotograma e a posição no seguinte. Sundar Vedula, Simon Baker e colegas da Carnegie Mellon University introduziram o termo no artigo de 1999 Three-Dimensional Scene Flow, definindo-o como a contraparte 3D do fluxo ótico. O fluxo de cena combina geometria e movimento, indicando a um sistema de visão computacional onde está cada ponto e a que velocidade se move, em metros, incluindo na direção da câmara ou para longe dela. Isso faz dele um sinal essencial para veículos autónomos e para a robótica, onde é necessário reconhecer o movimento de um carro que se atravessa ou de uma pessoa que entra num percurso.

Fluxo de cena vs. fluxo ótico#

O fluxo ótico é a projeção do fluxo de cena no plano da imagem: regista quanto cada píxel se desloca para os lados e para cima ou para baixo, mas não regista nada sobre o movimento ao longo da linha de visão da câmara. Por isso, dois objetos com fluxo ótico idêntico podem mover-se de formas muito diferentes. O fluxo de cena recupera a componente em falta através da estimativa de profundidade em ambos os instantes, projetando cada píxel para trás ao longo do seu raio de visão até à profundidade medida:

import numpy as np

K_inv = np.linalg.inv(np.array([[500.0, 0, 320], [0, 500.0, 240], [0, 0, 1]]))  # inverse camera intrinsics

# Two objects with identical optical flow: each moves from pixel (400, 240) to (410, 240) in 0.1 s
for name, depth_before, depth_after in [("cyclist crossing", 8.0, 8.0), ("car approaching", 8.0, 6.0)]:
    # Back-project each pixel along its viewing ray to the measured depth
    before = depth_before * K_inv @ np.array([400, 240, 1.0])
    after = depth_after * K_inv @ np.array([410, 240, 1.0])

    # Scene flow is the 3D displacement of the same surface point
    flow = after - before
    print(f"{name}: scene flow {flow.round(2)} m, speed {np.linalg.norm(flow) / 0.1:.1f} m/s")

Ambos os objetos se deslocam 10 píxeis para a direita, mas o ciclista move-se 0,16 m para o lado a 1,6 m/s, enquanto o carro se aproxima 2 m num décimo de segundo a 20,1 m/s. A 6 m de distância e a aproximar-se a 20 m/s, o carro chega à câmara em 0,3 segundos.

O fluxo de cena também difere do rastreamento de objetos, que acompanha a identidade dos objetos através de caixas delimitadoras, e do rastreamento de pontos, que acompanha pontos 2D escolhidos ao longo de vários fotogramas. A estimativa de velocidade do Ultralytics YOLO funciona ao nível do rastreamento em 2D: acompanha cada caixa rastreada e converte o seu deslocamento em píxeis em km/h, usando uma única escala de metros por píxel para toda a vista, o que funciona quando a câmara olha para uma estrada de cima e o trânsito se move paralelamente à imagem.

Como se estima o fluxo de cena#

O método depende da entrada. Uma câmara estéreo fornece disparidade em ambos os instantes e fluxo ótico entre fotogramas; esta é a configuração do benchmark de fluxo de cena KITTI, publicado por Moritz Menze e Andreas Geiger em 2015, com 200 cenas rodoviárias de treino e 200 de teste. As câmaras RGB-D e o LiDAR fornecem duas nuvens de pontos, muitas vezes combinadas com imagens da câmara através da fusão de sensores, e redes como a FlowNet3D aprendem a associar diretamente os pontos entre elas. Uma única câmara depende da profundidade monocular aprendida e do fluxo ótico de cada par de fotogramas.

Quando a câmara se move, todos os pontos estáticos também parecem mover-se; por isso, um sistema completo também estima o movimento próprio, geralmente através de SLAM visual ou odometria, e considera que os pontos cujo fluxo não coincide com esse movimento se movem de forma independente. As cenas de condução são constituídas sobretudo por corpos rígidos, pelo que métodos como o fluxo de cena de objetos de Menze e Geiger e o RAFT-3D agrupam os píxeis em alguns objetos com movimento rígido, estabilizando as estimativas em carroçarias sem textura. As oclusões são o caso mais difícil, pois os pontos que aparecem ou desaparecem entre fotogramas não têm correspondências que possam ser medidas.

Os modelos de aprendizagem profunda precisam de dados de referência densos que os sensores reais não conseguem capturar, pelo que o treino depende fortemente de dados sintéticos. Os conjuntos de dados de fluxo de cena de Freiburg, incluindo o FlyingThings3D, renderizam dezenas de milhares de fotogramas estéreo com disparidade, fluxo ótico e alteração da disparidade exatos; a FlowNet3D, treinada apenas com o FlyingThings3D, foi transferida para digitalizações LiDAR reais do KITTI.

Aplicações no mundo real#

  • Robôs móveis: Os robôs que partilham armazéns e passeios com pessoas usam o movimento 3D dos obstáculos próximos para prever onde estarão um segundo depois e voltar a planear o percurso para os evitar.
  • Reconstrução de cenas dinâmicas: O Gaussian splatting 4D e os campos de radiância neural dinâmicos modelam uma cena em movimento aprendendo como cada ponto ou gaussiana se desloca ao longo do tempo. Esse fluxo de cena aprendido permite reproduzir um vídeo gravado de novos pontos de vista.
  • Condução autónoma: O fluxo de cena LiDAR separa os veículos e peões em movimento do mundo estático entre varrimentos consecutivos. O Waymo Open Dataset acrescentou anotações de fluxo de cena em 2021, com cerca de 1.000 vezes mais fotogramas anotados do que os conjuntos de dados de fluxo de cena anteriores do mundo real.

Explore as soluções

Visão computacional no desporto

Visão computacional no desporto

Descubra como o Ultralytics YOLO impulsiona a visão computacional no esporte com rastreamento de jogadores e bolas, análise de desempenho, insights para treinadores e reabilitação de atletas.
Saiba mais
Visão computacional para imagens aéreas

Visão computacional para imagens aéreas

Transforma imagens de drones e aéreas em informações em tempo real para a agricultura, a aquacultura, a conservação e a análise geoespacial com Ultralytics YOLO.
Saiba mais
Visão computacional no setor aeroespacial

Visão computacional no setor aeroespacial

Aplica visão computacional na indústria aeroespacial com Ultralytics YOLO para inspecionar aeronaves, detetar objetos estranhos na pista (FOD), apoiar operações aeroportuárias em terra e detetar defeitos em materiais compósitos.
Saiba mais
Visão computacional na segurança

Visão computacional na segurança

Protege todas as instalações com os modelos Ultralytics YOLO. A IA visual permite monitorizar perímetros, detetar ameaças, reconhecer matrículas e melhorar a segurança no local de trabalho.
Saiba mais
Visão computacional na robótica

Visão computacional na robótica

Potencia máquinas mais inteligentes com os modelos Ultralytics YOLO. A IA visual na robótica permite navegação autónoma, perceção, rastreamento de objetos e controlo em tempo real.
Saiba mais
Visão computacional na logística

Visão computacional na logística

Otimize a logística com os modelos Ultralytics YOLO. A IA de visão permite inspecionar pacotes, fazer triagem, rastrear veículos e monitorar a segurança em tempo real nos armazéns.
Saiba mais
Visão computacional no varejo

Visão computacional no varejo

Reinvente o varejo com os modelos Ultralytics YOLO. A IA de visão permite rastrear o estoque, monitorar prateleiras, gerenciar filas e obter insights mais inteligentes sobre clientes.
Saiba mais
Visão computacional na área da saúde

Visão computacional na área da saúde

Desenvolva soluções de saúde com os modelos Ultralytics YOLO. A IA de visão na área da saúde permite obter imagens médicas mais rapidamente, diagnósticos mais inteligentes e monitoramento de pacientes.
Saiba mais
Visão computacional na manufatura

Visão computacional na manufatura

Otimize a manufatura com modelos Ultralytics YOLO. A IA visual impulsiona o controle de qualidade, a detecção de defeitos, a conformidade com o uso de EPI e a automação da linha de montagem.
Saiba mais
Visão computacional no setor automotivo

Visão computacional no setor automotivo

Aplique visão computacional no setor automotivo com modelos Ultralytics YOLO. A IA visual aumenta a segurança viária, aprimora a assistência ao condutor e viabiliza a automação de veículos para estradas mais inteligentes.
Saiba mais
Visão computacional na agricultura

Visão computacional na agricultura

Leve a IA de visão à agricultura inteligente com os modelos Ultralytics YOLO. Aprimore o monitoramento de plantações, o rastreamento de animais e a agricultura de precisão para obter safras maiores e mais inteligentes.
Saiba mais

Vamos construir juntos o futuro da IA!

Comece sua jornada rumo ao futuro do aprendizado de máquina