Yolo Vision Shenzhen
Shenzhen
Junte-se agora
Glossário

Estimativa da profundidade

Descubra como a estimativa de profundidade cria mapas de profundidade a partir de imagens - estéreo, ToF, LiDAR e aprendizagem profunda monocular - para alimentar a robótica, a AR/VR e a perceção 3D.

A estimativa da profundidade é uma tarefa fundamental na visão por computador (CV) que envolve a determinação a distância dos objectos numa cena em relação à câmara. Ao calcular o valor da profundidade para cada pixel numa imagem, Este processo transforma dados bidimensionais padrão numa representação 3D rica, frequentemente designada por mapa de profundidade. Esta capacidade é essencial para as máquinas perceberem as relações espaciais, permitindo-lhes navegar em ambientes, manipular objectos e compreender a geometria do mundo, tal como acontece com o sistema visual humano.

Mecanismos de estimativa de profundidade

A estimativa da profundidade pode ser obtida através de vários métodos, desde a deteção ativa intensiva por hardware até abordagens de aprendizagem profunda (DL) orientadas para o software.

  • Visão estéreo: Inspirado na visão binocular humana, os sistemas de visão estéreo utilizam duas câmaras posicionadas ligeiramente afastadas. Ao analisar a disparidade - a diferença na posição horizontal de um objeto entre as imagens esquerda e direita - os algoritmos podem triangular matematicamente a distância. Este método depende fortemente de uma fiável de correspondência de caraterísticas entre fotogramas.
  • Estimativa de profundidade monocular: Esta técnica estima a profundidade a partir de uma única imagem 2D, uma tarefa uma tarefa difícil porque uma única imagem não possui informação explícita sobre a profundidade. Modernas Redes Neuronais Convolucionais (CNNs) são treinadas em conjuntos de dados maciços para reconhecer pistas monoculares, como o tamanho do objeto, a perspetiva e a oclusão. A investigação sobre a previsão de profundidade monocular avançou significativamente, permitindo às câmaras normais inferir estruturas 3D.
  • Sensores activos (LiDAR e ToF): Ao contrário dos sistemas de câmaras passivas, os sensores activos emitem sinais para medir a distância. O LiDAR (Light Detection and Ranging) utiliza impulsos de laser para criar nuvens de pontos 3D precisas, enquanto as câmaras câmaras Time-of-Flight (ToF) medem o tempo que a luz demora a regressar ao sensor. Estas tecnologias fornecem dados de verdade terrestre de alta precisão de alta precisão, frequentemente utilizados para treinar modelos de aprendizagem automática (ML).

Aplicações no Mundo Real

A capacidade de perceber a terceira dimensão desbloqueia funcionalidades críticas em vários sectores.

Sistemas Autónomos e Robótica

No domínio dos veículos autónomos, a estimativa da profundidade é vital para a segurança e a navegação. Os automóveis autónomos combinam dados da câmara com LiDAR para detect obstáculos, estimar a distância a outros veículos e construir um mapa da estrada em tempo real. Do mesmo modo, na robótica, a perceção de profundidade permite aos braços automatizados realizar operações de "recolha e colocação", avaliando com exatidão a posição e a forma dos artigos em fluxos de trabalho de automatização do fabrico.

Realidade aumentada (AR)

Para realidade aumentada sejam imersivas, os objectos virtuais devem interagir de forma realista com o mundo físico. A estimativa da profundidade permite que os dispositivos móveis compreendam a geometria de uma divisão, permitindo que móveis ou personagens virtuais sejam colocados no no chão ou escondidos atrás de objectos do mundo real (oclusão), melhorando consideravelmente a experiência do utilizador.

Exemplo Python : Aproximação da distância com YOLO11

Embora existam modelos de profundidade dedicados, os programadores utilizam frequentemente modelos 2D deteção de objectos juntamente com os dados de calibração para aproximar a distância. O ultralytics simplifica isto através do seu módulo de soluções, permitindo aos utilizadores estimar a distância dos objectos localizados com base nas posições das suas caixas delimitadoras.

O código a seguir demonstra como usar o YOLO11 para track objectos e calcular a sua distância aproximada distância aproximada da câmara.

import cv2
from ultralytics import YOLO, solutions

# Load the YOLO11 model for object detection
model = YOLO("yolo11n.pt")

# Initialize the DistanceCalculation solution
# This estimates distance based on bounding box centroids
dist_obj = solutions.DistanceCalculation(names=model.names, view_img=True)

# Open a video file or camera stream
cap = cv2.VideoCapture("path/to/video.mp4")

while cap.isOpened():
    success, im0 = cap.read()
    if not success:
        break

    # Track objects and calculate distance
    tracks = model.track(im0, persist=True, show=False)
    im0 = dist_obj.start_process(im0, tracks)

    # Display result (or save/process further)
    cv2.imshow("Distance Estimation", im0)
    if cv2.waitKey(1) == ord("q"):
        break

cap.release()
cv2.destroyAllWindows()

Estimativa de profundidade vs. conceitos relacionados

É importante distinguir a estimativa de profundidade de termos semelhantes no ecossistema da IA:

  • Deteção de objectos 3D: Enquanto a a estimativa de profundidade atribui um valor de distância a cada pixel, a deteção de objectos 3D centra-se na identificação de objectos específicos e na colocação de uma caixa delimitadora 3D (cuboide) à sua volta. A deteção 3D diz-lhe "onde está o carro e o seu tamanho", enquanto a estimativa de profundidade fornece a geometria de toda a cena, incluindo a estrada e o fundo.
  • Cálculo da distância: Este refere-se normalmente à medição do espaço linear entre dois pontos específicos ou da câmara para um objeto distinto (muitas vezes utilizando heurísticas 2D), como mostrado no exemplo de código acima. A estimativa da profundidade é uma tarefa de previsão densa, em termos de píxeis que gera um mapa topográfico completo da vista.
  • Fluxo ótico: mede o movimento movimento aparente dos objectos entre fotogramas. Embora o fluxo ótico possa ser utilizado para inferir a profundidade (estrutura a partir do movimento), o seu principal resultado é um campo de vectores de movimento e não um mapa de distância estático.

Avançar com a IA espacial

Os recentes avanços na IA generativa e nos modelos estão a fazer a ponte entre o 2D e o 3D. Técnicas como Neural Radiance Fields (NeRF) utilizam imagens 2D esparsas para reconstruir reconstruir cenas 3D complexas, baseando-se fortemente em princípios de profundidade subjacentes. À medida que a a otimização dos modelos melhora, a estimativa de profundidade altamente precisa está a tornar-se viável em dispositivos de ponta, alimentando a próxima geração de drones inteligentes, robôs de serviço e dispositivos de computação espacial.

Junte-se à comunidade Ultralytics

Junte-se ao futuro da IA. Conecte-se, colabore e cresça com inovadores globais

Junte-se agora