Explore a deteção de objectos 3D: como o LiDAR, as nuvens de pontos e a aprendizagem profunda criam caixas delimitadoras 3D precisas para veículos autónomos, robótica e RA.
A deteção de objectos 3D é uma técnica sofisticada de técnica de visão por computador (CV) que identifica, classifica e classifica e localiza objectos num espaço tridimensional. Ao contrário da tradicional deteção de objectos 2D deteção de objectos 2D tradicional, que desenha uma retangular plana à volta de um objeto no plano da imagem, a a deteção de objectos 3D estima uma caixa delimitadora 3D orientada - um cuboide definido pelas suas coordenadas centrais (x, y, z), dimensões (comprimento, largura, altura) e orientação (ângulo de direção). Esta capacidade permite aos sistemas de sistemas de inteligência artificial (IA) para perceber o tamanho, a distância e a pose dos objectos no mundo real, o que é essencial para a interação física e a navegação.
Para perceber a profundidade e o volume, os modelos de deteção de objectos 3D baseiam-se em fontes de dados que captam a geometria espacial. Enquanto os métodos 2D dependem apenas da intensidade dos pixéis, os métodos 3D processam dados de sensores avançados:
Arquitecturas especializadas processam estes dados. Por exemplo, PointNet processa diretamente nuvens de pontos em bruto, enquanto a VoxelNet divide o espaço 3D em grelhas volumétricas (voxels) para aplicar operações convolucionais. Estes modelos produzem as coordenadas 3D precisas e a orientação dos objectos, permitindo às máquinas compreender não só o que é um objeto, mas também onde se encontra exatamente no mundo físico.
A principal distinção reside na dimensionalidade espacial e na informação fornecida:
Para aplicações que requerem uma perceção espacial parcial sem uma sobrecarga total de 3D, caixa delimitadora orientada (OBB) serve como serve como meio-termo, prevendo caixas delimitadoras rodadas em 2D para melhor se adaptarem a objectos como navios ou veículos em vistas aéreas.
A deteção de objectos 3D é o motor de perceção para as indústrias que interagem com o mundo físico:
Enquanto YOLO11 seja principalmente um detetor 2D, ele desempenha um papel fundamental em muitos pipelines de deteção 3D. Uma abordagem comum, conhecida como "deteção baseada em frustum" utiliza um modelo 2D de alta velocidade para identificar a região de interesse numa imagem. Esta caixa 2D é depois extrudida para o espaço 3D para cortar a nuvem de pontos, reduzindo significativamente o espaço de pesquisa para o modelo 3D.
O exemplo seguinte demonstra como efetuar a etapa inicial de deteção 2D utilizando Ultralytics YOLO11, que que serviria de proposta para um módulo de levantamento 3D:
from ultralytics import YOLO
# Load the YOLO11 model (optimized for 2D detection)
model = YOLO("yolo11n.pt")
# Run inference on an image (e.g., from a vehicle camera)
results = model("path/to/driving_scene.jpg")
# In a 3D pipeline, these 2D boxes (x, y, w, h) are used to
# isolate the corresponding region in the LiDAR point cloud.
for result in results:
for box in result.boxes:
print(f"Class: {int(box.cls)}, 2D Box: {box.xywh.numpy()}")