3D 객체 탐지를 통해 AI의 공간 인식을 마스터하세요. Ultralytics 실제 환경에서 깊이, 방향 및 3D 경계 상자 추정을 어떻게 구현하는지 알아보세요.
3D 객체 탐지는 기계가 3차원 공간 내에서 객체를 식별하고, 위치를 파악하며, 크기를 결정할 수 있도록 하는 정교한 컴퓨터 비전 작업입니다. 이미지의 항목 주위에 평평한 경계 상자를 그리는 기존의 2D 객체 탐지와 달리, 3D 객체 탐지는 객체를 둘러싸는 직육면체(3D 상자)를 추정합니다. 이를 통해 중요한 깊이 정보, 방향(헤딩), 정확한 공간적 치수를 제공하여 시스템이 객체가 무엇인지뿐만 아니라 실제 세계에서 센서에 대한 정확한 상대적 위치를 이해할 수 있게 합니다. 이 기능은 환경과 물리적으로 상호작용해야 하는 기술에 근본적으로 중요합니다.
깊이와 부피를 인지하기 위해 3D 탐지 모델은 일반적으로 표준 카메라가 제공하는 것보다 풍부한 데이터 입력을 필요로 합니다. 일부 고급 기법은 단안(단일 렌즈) 이미지에서 3D 구조를 추론할 수 있지만, 대부분의 견고한 시스템은 라이더 센서, 레이더 또는 스테레오 카메라의 데이터를 활용합니다. 이러한 센서들은 물체의 외부 표면을 나타내는 방대한 데이터 포인트 집합인 점 구름을생성합니다.
이 과정은 몇 가지 핵심 단계를 포함합니다:
이 두 가지 관련 개념을 구분하는 것이 중요하다.
2D에서 3D 인식으로의 전환은 안전과 공간 인식이 최우선인 산업 분야에서 강력한 활용 사례를 가능케 합니다.
완전한 3D 탐지는 종종 특수한 포인트 클라우드 아키텍처가 필요하지만, YOLO26과 같은 현대적인 2D 탐지기는 의사 3D 워크플로의 구성 요소로 또는 바운딩 박스 스케일링을 통한 깊이 추정에 점점 더 많이 사용됩니다. 자체 데이터셋으로 모델을 훈련하려는 개발자를 위해 Ultralytics 주석 작업 및 훈련을 위한 간소화된 환경을 제공합니다.
Ultralytics Python 사용하여 표준 감지를 실행하는 간단한 예시입니다. 이는 대규모 인식 파이프라인의 첫 번째 단계로 자주 사용됩니다:
import cv2
from ultralytics import YOLO
# Load the YOLO26n model (nano version for speed)
model = YOLO("yolo26n.pt")
# Perform inference on a local image
results = model("path/to/image.jpg")
# Visualize the results
for result in results:
# Plot predictions on the image (returns a numpy array)
im_array = result.plot()
# Display using OpenCV
cv2.imshow("Detections", im_array)
cv2.waitKey(0) # Press any key to close
cv2.destroyAllWindows()
3D 객체 탐지는 유용함에도 불구하고 계산 비용과 센서 비용 측면에서 어려움을 겪고 있습니다. 점 클라우드를 구성하는 수백만 개의 점을 처리하려면 상당한 GPU 필요하여 엣지 디바이스에 배포하기 어렵습니다. 그러나 모델 양자화 및 효율적인 신경망 아키텍처 분야의 혁신으로 이러한 부담이 줄어들고 있습니다.
또한 센서 융합과 같은 기술은 카메라의 풍부한 색상 정보와 LiDAR의 정밀한 깊이 데이터를 결합하여 정확도를 향상시키고 있습니다. 이러한 기술이 성숙해짐에 따라, 증강 현실 안경부터 스마트 가전제품에 이르기까지 더 많은 접근 가능한 기기에 3D 인식 기능이 통합될 것으로 기대할 수 있습니다.