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: Inspirados na visão binocular humana, os sistemas de visão estéreo utilizam duas câmaras posicionadas ligeiramente afastadas uma da outra. 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 da correspondência fiável de características entre os 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 ativos (LiDAR e ToF): Ao contrário dos sistemas de câmaras passivos, os sensores ativos emitem sinais para medir a distância. O LiDAR (Light Detection and Ranging) usa pulsos de laser para criar nuvens de pontos 3D precisas, enquanto as câmaras Time-of-Flight (ToF) medem o tempo que a luz leva para retornar ao sensor. Essas tecnologias fornecem dados de referência de alta precisão, frequentemente usados para treinar modelos de aprendizado de máquina (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 que as experiências de realidade aumentada sejam imersivas, os objetos virtuais devem interagir de forma realista com o mundo físico. A estimativa de profundidade permite que os dispositivos móveis compreendam a geometria de uma sala, permitindo que móveis ou personagens virtuais sejam colocados no chão ou escondidos atrás de objetos do mundo real (oclusão), melhorando significativamente 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 fundamentais estão a diminuir ainda mais a distância entre o 2D e o 3D. Técnicas como Neural Radiance Fields (NeRF) utilizam imagens 2D esparsas para reconstruir cenas 3D complexas, dependendo fortemente de princípios de profundidade subjacentes. À medida que a otimização do modelo melhora, a estimativa de profundidade altamente precisa está a tornar-se viável em dispositivos de IA de ponta, impulsionando 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