STATERA Library · Series 02 · Volume 03 · Chapter 18 · KR
Source: https://github.com/Statera-Library/02_Vol_03_AMR_Sensors_and_Perception/blob/main/18_3D_Perception/18_3D_Perception_KR.md
Volume 03. AMR Sensors and Perception
Chapter 18. 3D Perception
18.1 3D Perception Overview
3차원 인지(3D Perception)는 자율주행 모바일 로봇(Autonomous Mobile Robot, AMR)의 가장 중요한 핵심 기능 가운데 하나이다. 이는 단순히 2차원(2D) 영상을 해석하는 수준을 넘어 주변 환경의 실제 공간 구조를 이해할 수 있도록 해준다. 기존 영상 처리가 평면 이미지의 픽셀(Pixel)을 분석하는 데 집중했다면, 3차원 인지는 깊이(Depth), 형상(Shape), 방향(Orientation), 그리고 객체 간의 공간적 관계(Spatial Relationship)를 추정하여 환경의 기하학적 구조를 재구성한다. 이러한 공간적 이해는 로봇이 장애물(Obstacle), 자유 공간(Free Space), 지형(Terrain), 이동 가능한 객체(Movable Object), 그리고 복잡한 환경 구조를 사람과 유사한 방식으로 이해하고 판단할 수 있도록 만든다.
현대의 AMR은 물류창고(Warehouse), 공장(Factory), 병원(Hospital), 물류센터(Logistics Center), 건설 현장(Construction Site), 광산(Mine), 항만(Port), 캠퍼스(Campus), 그리고 다양한 실외 환경에서 운용된다. 이러한 환경은 작업자, 차량, 팔레트(Pallet), 장비(Machine), 문(Door), 카트(Cart), 임시 장애물(Temporary Obstacle) 등이 지속적으로 생성되고 사라지기 때문에 정적인 지도(Map)만으로는 현실을 충분히 표현할 수 없다. 3차원 인지는 이러한 변화를 지속적으로 관찰하여 항상 최신의 디지털 환경 모델(Digital Representation)을 생성하며, 이를 통해 내비게이션(Navigation), 위치추정(Localization), 경로 계획(Path Planning), 조작(Manipulation), 검사(Inspection), 안전 모니터링(Safety Monitoring) 등 거의 모든 자율 기능을 지원한다.
3차원 인지의 궁극적인 목적은 단순히 점군(Point Cloud)이나 깊이 영상(Depth Image)을 생성하는 것이 아니라, 원시 센서 데이터(Raw Sensor Data)를 의미 있는 환경 정보(Environmental Understanding)로 변환하는 것이다. 센서에서 직접 생성되는 수백만 개의 측정값은 그 자체만으로는 활용 가치가 거의 없다. 그러나 여러 단계의 처리 과정을 거치면서 이러한 데이터는 표면(Surface), 객체(Object), 의미 정보(Semantic Category), 점유 지도(Occupancy Map), 주행 가능 영역(Traversable Region), 움직임(Motion), 장면(Scene) 등의 형태로 구조화되며, 상위 소프트웨어 모듈이 직접 사용할 수 있는 정보로 변환된다.
3차원 인지는 일반적으로 깊이 정보를 생성하는 하나 이상의 센서(Sensor)로부터 시작된다. 3차원 라이다(3D LiDAR)는 레이저(Laser)를 발사하고 반사 시간을 측정하여 매우 정확한 점군 데이터를 생성하며, 대규모 지도 작성(Mapping)과 실외 자율주행에 적합하다. 스테레오 카메라(Stereo Camera)는 양안 영상의 시차(Disparity)를 이용하여 깊이를 계산하며, 비행시간 카메라(Time-of-Flight Camera, ToF)는 빛의 왕복 시간을 이용하여 거리를 측정한다. 구조광 카메라(Structured Light Camera)는 알려진 패턴을 투사하여 깊이를 계산하며, 레이더(Radar)는 악천후에서도 비교적 안정적으로 거친 수준의 3차원 정보를 제공할 수 있다. 각각의 센서는 고유한 장점과 한계를 가지므로 적용 환경에 맞는 적절한 선택이 필요하다.
어떠한 단일 센서도 모든 환경과 모든 조건에서 안정적인 3차원 인지를 제공할 수는 없다. 카메라(Camera)는 풍부한 색상(Color)과 질감(Texture)을 제공하지만 조명 변화(Lighting Variation)에 민감하다. 라이다는 매우 정확한 거리와 형상 정보를 제공하지만 색상이나 의미 정보를 제공하지 못한다. 레이더는 비(Rain), 안개(Fog), 눈(Snow), 먼지(Dust) 환경에서도 동작하지만 공간 해상도(Spatial Resolution)가 낮다. 초음파 센서(Ultrasonic Sensor)는 근거리 장애물 감지에는 유리하지만 방향 분해능이 제한된다. 따라서 실제 AMR에서는 여러 센서를 동시에 사용하는 센서 융합(Sensor Fusion)이 거의 필수적으로 적용된다.
센서 융합은 서로 다른 센서가 관측하는 정보를 상호 보완함으로써 인지 시스템의 신뢰성을 크게 향상시킨다. 카메라는 객체의 외형, 색상, 문자(Text), 표지판(Sign), 안전 표식(Safety Label), 의미 정보를 제공한다. 라이다는 정확한 거리와 공간 구조를 측정한다. IMU(관성측정장치, Inertial Measurement Unit)는 차량의 급격한 움직임에서도 자세를 안정적으로 추정하도록 지원하며, GNSS(Global Navigation Satellite System)는 실외 절대 위치를 제공한다. 휠 오도메트리(Wheel Odometry)는 짧은 시간 동안의 이동량을 계산한다. 이러한 다양한 정보를 확률 기반 추정 알고리즘과 AI 기반 융합 네트워크가 통합함으로써 단일 센서보다 훨씬 높은 신뢰도의 환경 모델을 생성할 수 있다.
원시 3차원 데이터는 다양한 노이즈(Noise), 결측점(Missing Point), 움직임 왜곡(Motion Distortion), 반사(Reflection), 다중 경로(Multipath), 환경 간섭(Environmental Interference), 센서 오차(Sensor Error)의 영향을 받는다. 따라서 전처리(Preprocessing)는 모든 인지 파이프라인(Perception Pipeline)의 핵심 단계이다. 일반적인 전처리 과정에는 이상치 제거(Outlier Removal), 노이즈 제거(Noise Filtering), 움직임 보정(Motion Compensation), 시간 동기화(Time Synchronization), 좌표 변환(Coordinate Transformation), 다운샘플링(Downsampling), 법선 벡터 계산(Normal Estimation), 데이터 정제(Data Cleaning) 등이 포함된다. 이러한 과정은 이후 단계의 정확성과 계산 효율을 동시에 향상시킨다.
정확한 3차원 인지를 위해서는 보정(Calibration)이 필수적이다. 서로 다른 센서에서 생성된 데이터는 동일한 좌표계(Coordinate System)에서 표현되어야만 정확한 융합이 가능하다. 내부 보정(Intrinsic Calibration)은 카메라와 센서 자체의 특성을 보정하며, 외부 보정(Extrinsic Calibration)은 센서 간의 상대적인 위치와 자세를 추정한다. 아주 작은 보정 오차도 센서 융합 과정에서 큰 위치 오차를 발생시켜 잘못된 객체 위치 추정이나 불안정한 지도 생성으로 이어질 수 있다. 따라서 주기적인 보정 검증과 재보정은 실제 시스템 유지보수의 중요한 작업이다.
시간 동기화(Time Synchronization) 역시 매우 중요한 요소이다. 카메라, 라이다, IMU, 휠 인코더(Wheel Encoder)가 서로 다른 시점에서 데이터를 취득하면 움직이는 객체가 서로 다른 위치에 존재하는 것처럼 보일 수 있다. 이는 잘못된 센서 융합 결과를 초래한다. 이러한 문제를 해결하기 위해 정밀 시간 프로토콜(Precision Time Protocol, PTP), 하드웨어 트리거(Hardware Trigger), 타임스탬프 정렬(Timestamp Alignment), 결정론적 통신 네트워크(Deterministic Communication Network) 등이 사용된다. 특히 고속 주행 로봇이나 동적인 환경에서는 시간 동기화의 중요성이 더욱 커진다.
전처리가 완료되면 3차원 인지는 다양한 공간 표현(Spatial Representation)을 생성한다. 점군(Point Cloud)은 개별 공간 좌표를 표현하며, 복셀 그리드(Voxel Grid)는 공간을 일정한 크기의 입방체로 분할하여 계산 효율을 높인다. 점유 지도(Occupancy Grid)는 특정 공간이 점유되었는지, 비어 있는지, 혹은 미확인 상태인지를 표현한다. 표면 메시(Surface Mesh)는 연속적인 표면을 나타내며, 부호 거리 함수(Signed Distance Field)는 주변 표면과의 거리를 표현한다. 각각의 표현 방식은 메모리 사용량, 계산량, 정확도, 경로 계획 효율 측면에서 서로 다른 장단점을 가진다.
객체 분할(Object Segmentation)은 장면을 개별 물리 객체로 구분하는 과정이다. 수백만 개의 독립된 점을 그대로 처리하는 대신, 공간적 연속성(Spatial Continuity), 표면 특성(Surface Characteristic), 움직임 일관성(Motion Consistency), 의미 정보(Semantic Information), 학습된 특징 벡터(Feature Embedding)를 이용하여 동일 객체에 속하는 점들을 하나의 그룹으로 묶는다. 이후에는 객체의 크기(Size), 자세(Pose), 방향(Orientation), 속도(Velocity), 종류(Class)를 개별적으로 추정할 수 있다.
3차원 객체 검출(3D Object Detection)은 주변 환경 속 객체의 위치와 실제 크기를 추정하는 기술이다. 최신 시스템은 점군(Point Cloud), 복셀(Voxel), 조감도(Bird\'s-Eye View, BEV), 또는 다중 센서 융합 특징(Multi-modal Fusion Feature)을 직접 입력으로 사용하는 심층 신경망(Deep Neural Network)을 활용한다. 이러한 모델은 3차원 경계 상자(3D Bounding Box), 객체 종류(Class Label), 방향(Orientation), 신뢰도(Confidence), 그리고 경우에 따라 속도(Velocity)까지 동시에 예측한다. 이러한 결과는 충돌 회피(Collision Avoidance), 경로 계획(Path Planning), 자동 검사(Inspection), 물체 조작(Manipulation) 등 다양한 기능에서 활용된다.
장면 이해(Scene Understanding)는 개별 객체를 검출하는 수준을 넘어 환경 전체의 의미를 이해하는 과정이다. 시스템은 단순히 장애물만 인식하는 것이 아니라 도로(Road), 보도(Sidewalk), 창고 통로(Aisle), 선반(Shelf), 작업장(Workstation), 충전 스테이션(Charging Station), 출입구(Entrance), 경사로(Ramp), 계단(Stair), 공사 구역(Construction Zone), 작업자 영역(Human Working Area) 등을 구분한다. 이러한 의미 기반 인지는 단순한 기하학적 회피를 넘어 상황(Context)에 적합한 지능적인 의사결정을 가능하게 한다.
자유 공간 추정(Free Space Estimation)은 자율주행에서 가장 중요한 출력 가운데 하나이다. 로봇은 장애물이 어디에 존재하는지만이 아니라 어디를 안전하게 주행할 수 있는지도 알아야 한다. 이를 위해 지면 추정(Ground Plane Estimation), 지형 분석(Terrain Analysis), 장애물 높이 분석(Obstacle Height Filtering), 점유 분석(Occupancy Analysis) 등이 수행되며, 생성된 자유 공간 정보는 지역 경로 계획기(Local Planner)가 안전한 이동 경로를 생성하는 데 활용된다.
지면 추정(Ground Estimation)은 매우 중요한 과정이다. 많은 점들은 실제 장애물이 아니라 단순히 바닥(Floor)이나 도로(Road)에 속한다. 공장 바닥, 보도, 자갈길, 잔디, 경사면, 램프 등은 서로 다른 기하학적 특성을 가진다. 정확한 지면 분리는 바닥을 장애물로 오인하지 않도록 하면서 동시에 턱(Curb), 구덩이(Pothole), 계단(Step), 바위(Rock), 잔해(Debris)와 같은 위험 요소를 정확하게 검출하도록 해준다. 특히 실외 AMR에서는 이러한 지형 분석이 차량 안정성에도 직접적인 영향을 미친다.
동적 객체 인지(Dynamic Object Perception)는 추가적인 어려움을 가진다. 사람(Pedestrian), 지게차(Forklift), 자전거(Bicycle), 자동차(Vehicle), 서비스 로봇(Service Robot), 산업 장비(Industrial Machine)는 지속적으로 움직인다. 따라서 정적인 지도만으로는 현실을 표현할 수 없다. 연속된 프레임(Frame)을 비교하여 객체의 이동 경로(Trajectory), 속도(Velocity), 미래 위치(Future Position)를 추정하는 움직임 분석(Motion Estimation)이 필요하며, 이를 통해 충돌을 사전에 예측하는 능동적인 안전 제어가 가능해진다.
객체 추적(Object Tracking)은 동일한 객체의 정체성(Identity)을 시간에 따라 유지하는 과정이다. 추적 기능이 없으면 시스템은 매 프레임마다 새로운 객체를 발견한 것으로 인식하게 된다. 다중 객체 추적(Multi-Object Tracking)은 움직임 모델(Motion Model), 특징 유사성(Feature Similarity), 공간적 일관성(Spatial Consistency), 확률 필터(Probabilistic Filter)를 이용하여 동일 객체를 지속적으로 연결한다. 이를 통해 미래 움직임 예측, 교통 분석, 사람 행동 분석 등이 가능해진다.
인공지능(AI)은 최근 3차원 인지 기술을 크게 변화시키고 있다. 초기 시스템은 기하학 기반 알고리즘과 수작업 특징 추출(Handcrafted Feature Extraction)에 의존했지만, 현재는 대규모 데이터셋(Dataset)을 학습한 심층 신경망이 복잡한 공간 특징을 직접 학습한다. PointNet, PointNet++, Point Transformer, 희소 합성곱 네트워크(Sparse Convolution Network), BEV 기반 네트워크(BEV-based Network), 멀티모달 트랜스포머(Multimodal Transformer)와 같은 최신 구조들은 어려운 환경에서도 높은 정확도를 제공한다.
최근에는 멀티모달 파운데이션 모델(Multimodal Foundation Model)이 3차원 인지에도 적용되고 있다. 이러한 모델은 단순한 기하학 정보를 넘어 영상(Vision), 언어(Language), 시간 정보(Temporal Information), 공간 기억(Spatial Memory), 상황 지식(Contextual Knowledge)을 통합하여 보다 풍부한 환경 이해를 수행한다. 결과적으로 로봇은 단순한 거리 측정을 넘어 작업 구역, 위험 지역, 검사 대상, 사람의 의도(Intent)까지 이해할 수 있는 방향으로 발전하고 있다.
3차원 인지는 동시 위치추정 및 지도작성(Simultaneous Localization and Mapping, SLAM)에서도 핵심 역할을 수행한다. 점군으로부터 추출한 특징은 스캔 정합(Scan Registration), 루프 클로저(Loop Closure), 지도 갱신(Map Update), 위치 보정(Localization Refinement)에 활용된다. 정확한 인지는 지도 품질을 향상시키며, 향상된 지도는 다시 인지 성능을 높이는 선순환 구조를 형성한다.
내비게이션 시스템은 3차원 인지의 다양한 출력 정보를 직접 활용한다. 장애물 지도(Obstacle Map), 자유 공간(Free Space), 의미 정보(Semantic Information), 객체 이동 경로(Trajectory), 점유 지도(Occupancy Grid), 지형 분류(Terrain Classification)는 전역 경로 계획(Global Planning), 지역 경로 계획(Local Planning), 속도 제어(Velocity Control), 비상 정지(Emergency Braking), 도킹(Docking), 주차(Parking), 복구 동작(Recovery Behavior)에 직접 사용된다. 따라서 인지와 내비게이션은 독립적인 기능이 아니라 긴밀하게 연결된 하나의 시스템으로 동작한다.
산업 검사 로봇(Industrial Inspection Robot)은 정밀한 위치 정합을 위해 3차원 인지를 적극 활용한다. 전역 위치에만 의존하지 않고 고밀도 점군(Dense Point Cloud)이나 표면 모델(Surface Model)을 이용하여 CAD 모델(CAD Model)과 실제 환경을 정밀하게 정렬한다. 이를 통해 6자유도 변환(6-DoF Transformation)을 계산하고 검사 경로를 자동으로 보정하여 반복 가능한 검사(Repeatable Inspection), 로봇 조작(Robotic Manipulation), 결함 위치 추정(Defect Localization)을 수행할 수 있다.
계산 효율성(Computational Efficiency)은 현대 3차원 인지 시스템이 직면한 가장 큰 기술적 과제 가운데 하나이다. 고해상도 라이다는 초당 수백만 개 이상의 점을 생성하며, 여러 대의 고해상도 카메라는 동시에 대용량 영상을 생성한다. 이러한 데이터를 실시간으로 처리하기 위해 GPU 가속(GPU Acceleration), 병렬 처리(Parallel Computing), 메모리 최적화(Memory Optimization), 희소 계산(Sparse Computation), 하드웨어 친화적 소프트웨어 구조(Hardware-aware Software Architecture)가 필수적으로 요구된다.
실제 산업 현장에서는 시스템의 강인성(Robustness)이 매우 중요하다. 비, 안개, 눈, 먼지, 강한 햇빛, 반사면, 진동, 온도 변화, 전자기 간섭(Electromagnetic Interference), 센서 오염은 모두 인지 성능을 저하시킨다. 따라서 시스템은 지속적으로 센서 상태를 모니터링하고, 신뢰도(Confidence)를 평가하며, 센서 고장을 감지하고, 대체 센서를 활성화하며, 일부 센서가 실패하더라도 안전하게 동작을 유지하는 열화 운용(Graceful Degradation)을 지원해야 한다.
3차원 인지 시스템의 평가는 다양한 정량적 성능 지표를 이용하여 수행된다. 검출 정확도(Precision), 재현율(Recall), 위치 오차(Localization Error), 교집합 비율(Intersection over Union, IoU), 평균 정밀도(Mean Average Precision, mAP), 깊이 추정 오차(Depth Error), 점군 정합 정확도(Point Cloud Registration Accuracy), 지연 시간(Latency), 처리량(Throughput), 프레임 속도(Frame Rate), 추적 일관성(Tracking Consistency), 오검출(False Positive), 미검출(False Negative), 그리고 다양한 환경 변화에 대한 강인성이 주요 평가 항목이 된다. 공개 벤치마크(Benchmark)는 객관적인 비교를 가능하게 하지만, 실제 현장 검증(Field Validation)은 반드시 병행되어야 한다.
인지 시스템의 디버깅(Debugging)은 전체 센서 파이프라인을 체계적으로 분석하는 과정이다. 엔지니어는 원시 센서 데이터, 보정 파라미터(Calibration Parameter), 시간 동기화 품질, 전처리 결과, 중간 표현(Intermediate Representation), AI 추론 결과(Inference Result), 센서 융합 상태, 내비게이션 인터페이스, 운영 로그(Operation Log)를 순차적으로 점검한다. ROS2 Bag 재생(Replay), 시각화 도구(Visualization Tool), 시간축 분석(Timeline Analysis), 자동 회귀 시험(Regression Test)은 문제의 원인을 신속하게 찾는 데 매우 효과적이다.
자율주행 로봇이 더욱 복잡하고 비정형적인 환경으로 확대될수록 3차원 인지는 단순한 센서 처리 기술을 넘어 통합적인 세계 모델(World Model) 구축 기술로 발전할 것이다. 미래의 로봇은 기하학적 구조, 의미 정보, 시간적 변화, 물리적 특성, 불확실성(Uncertainty), 미래 예측(Predictive Reasoning)을 모두 포함하는 디지털 환경 모델을 지속적으로 생성하게 된다. 이러한 세계 모델은 인지, 위치추정, 내비게이션, 조작, 검사, 인간과의 상호작용(Human-Robot Interaction), 장기 자율성(Long-term Autonomy)을 동시에 지원하는 핵심 기반이 될 것이며, 결과적으로 3차원 인지는 단순한 센서 기술이 아니라 지능형 자율 로봇이 현실 세계를 이해하고 안전하게 상호작용하기 위한 가장 근본적인 기술로 자리매김하게 될 것이다.
18.2 Point Cloud Preprocessing
점군 전처리(Point Cloud Preprocessing)는 모든 3차원 인지(3D Perception) 파이프라인에서 가장 먼저 수행되는 핵심 계산 단계이다. 원시 센서(Raw Sensor)에서 생성된 측정값은 위치추정(Localization), 지도작성(Mapping), 내비게이션(Navigation), 객체 검출(Object Detection), 장면 이해(Scene Understanding)와 같은 상위 기능에서 직접 사용할 수 없다. 최신 3차원 센서는 매우 높은 밀도와 정확도의 데이터를 생성하지만, 실제 측정값에는 항상 노이즈(Noise), 결측 데이터(Missing Observation), 측정 불확실성(Measurement Uncertainty), 시간 동기화 오차(Synchronization Error), 움직임 왜곡(Motion Distortion), 환경적 간섭(Environmental Artifact) 등이 포함된다. 이러한 오류를 적절히 제거하지 않으면 전체 인지 시스템의 정확도와 안정성이 크게 저하된다. 따라서 점군 전처리는 단순한 데이터 정리가 아니라 원시 측정 데이터를 기하학적으로 일관되고 계산 효율이 높으며 정보가 풍부한 공간 데이터로 변환하는 과정이라고 이해해야 한다.
점군(Point Cloud)은 센서가 관측한 환경의 표면(Surface)을 나타내는 수많은 3차원 좌표들의 집합이다. 일반적으로 각 점(Point)은 X, Y, Z의 직교 좌표(Cartesian Coordinate)를 가지며 센서 좌표계(Sensor Coordinate Frame)를 기준으로 표현된다. 사용하는 센서에 따라 반사 강도(Intensity), 반사율(Reflectivity), 반환 순서(Return Number), 시간 정보(Timestamp), 색상(Color), 의미 정보(Semantic Label), 신뢰도(Confidence), 법선 벡터(Surface Normal), 도플러 속도(Doppler Velocity)와 같은 다양한 속성이 함께 저장될 수도 있다. 일반 영상(Image)이 일정한 픽셀(Pixel) 배열을 갖는 것과 달리 점군은 불규칙하고 희소(Sparse)하며 순서가 없는(Unordered) 데이터 구조를 가지므로 전통적인 영상 처리 기법을 그대로 적용하기 어렵다.
3차원 라이다(3D LiDAR), 스테레오 카메라(Stereo Camera), 구조광 카메라(Structured Light Camera), 비행시간 카메라(Time-of-Flight Camera, ToF) 등에서 생성되는 원시 점군에는 하드웨어의 한계와 주변 환경으로부터 발생하는 다양한 오류가 포함된다. 레이저 확산(Laser Divergence), 센서 감도(Sensor Sensitivity), 전자 노이즈(Electronic Noise), 광학 간섭(Optical Interference), 대기 산란(Atmospheric Scattering), 다중 반사(Multiple Reflection), 비(Rain), 안개(Fog), 먼지(Dust), 눈(Snow), 진동(Vibration), 온도 변화(Temperature Variation) 등은 모두 측정 품질에 영향을 미친다. 이상적인 환경에서도 수백만 개의 측정값에는 작은 오차가 지속적으로 누적되기 때문에 전처리는 반드시 필요한 과정이다.
전처리의 가장 중요한 목적은 후속 알고리즘이 사용할 수 있는 정보의 품질을 최대한 높이면서 계산 부담은 최소화하는 것이다. 단순히 데이터를 삭제하는 것이 아니라 의미 있는 기하학적 구조는 유지하면서 오히려 인지 정확도를 저해하는 데이터만 제거하는 것이 핵심이다. 잘 수행된 전처리는 위치추정(Localization)의 안정성을 향상시키고, 지도의 일관성(Map Consistency)을 높이며, 객체 검출(Object Detection), 객체 분할(Segmentation), 이동 경로 예측(Trajectory Prediction), 자유 공간 추정(Free Space Estimation), 내비게이션 안전성까지 전체 시스템 성능을 향상시킨다. 따라서 전처리는 독립적인 기능이 아니라 자율주행 시스템 전체의 성능을 결정하는 기반 기술이다.
점군 전처리는 일반적으로 센서에서 데이터가 획득되는 즉시 시작된다. 현대의 인지 시스템은 센서 종류에 따라 수 Hz에서 수백 Hz에 이르는 속도로 지속적인 데이터를 입력받는다. 이후 모든 데이터는 다른 센서와 시간 동기화(Time Synchronization)를 수행하고, 공통 좌표계(Common Coordinate System)로 변환되며, 알려진 센서 오차(Systematic Error)를 보정하고, 잘못된 측정값을 제거한 후 상위 단계의 기하학적 분석을 수행할 수 있는 형태로 준비된다. 이러한 일련의 과정은 이후 모든 인지 알고리즘이 동일하고 일관된 공간 정보를 사용할 수 있도록 보장한다.
시간 동기화(Time Synchronization)는 전처리 단계에서 가장 먼저 수행되는 중요한 작업 가운데 하나이다. 점군 내부의 모든 점은 서로 다른 시각(Time)에 측정될 수 있기 때문이다. 회전형 라이다(Mechanical Rotating LiDAR)는 한 바퀴를 회전하는 데 수십 밀리초(Millisecond)가 필요하며, 따라서 하나의 점군도 실제로는 서로 다른 시간에 측정된 점들로 구성된다. 차량이 이동하는 동안 이러한 시간 차이는 공간 왜곡(Motion Distortion)을 발생시킨다. IMU(관성측정장치, Inertial Measurement Unit), 휠 오도메트리(Wheel Odometry), GNSS(Global Navigation Satellite System)와 정확한 시간 정보를 결합하면 이러한 왜곡을 효과적으로 보정할 수 있다.
움직임 보정(Motion Compensation)은 센서 측정 중 차량이 이동하여 발생하는 공간 왜곡을 제거하는 과정이다. 모든 점이 동시에 측정되었다고 가정하는 대신, IMU와 오도메트리 정보를 이용하여 스캔(Scan) 동안의 차량 움직임을 추정한다. 이후 각 점을 동일한 기준 시각으로 변환하여 기하학적으로 일관된 점군을 생성한다. 차량 속도가 높을수록 이러한 보정은 더욱 중요해지며, 보정이 제대로 이루어지지 않으면 스캔 정합(Scan Registration)과 객체 검출(Object Detection)의 정확도가 크게 저하된다.
좌표 변환(Coordinate Transformation)은 모든 센서 데이터를 동일한 기준 좌표계에서 표현하기 위한 필수 과정이다. 각각의 센서는 자신만의 로컬 좌표계(Local Coordinate Frame)를 사용하여 데이터를 측정한다. 외부 보정(Extrinsic Calibration) 결과를 이용하면 라이다, 깊이 카메라(Depth Camera), 스테레오 카메라, 레이더(Radar) 등 다양한 센서의 데이터를 동일한 기준 좌표계로 변환할 수 있다. 정확한 좌표 변환은 다중 센서 융합(Multi-Sensor Fusion)의 기초가 되며 전체 인지 시스템의 공간적 일관성을 확보한다.
보정(Calibration)의 정확도는 전처리 결과의 품질을 결정하는 중요한 요소이다. 센서 간의 회전 오차(Rotation Error)는 먼 거리에서 매우 큰 위치 오차로 확대될 수 있으며, 위치 오차(Translation Error)는 융합된 환경 모델 전체를 왜곡시킨다. 따라서 최신 시스템은 단순히 초기 보정만 수행하는 것이 아니라 운용 중에도 지속적으로 센서 간의 일관성을 확인하는 보정 검증(Calibration Verification)을 수행한다. 최근에는 진동, 열 팽창(Thermal Expansion), 유지보수(Maintenance), 기계적 마모(Mechanical Wear) 등으로 발생하는 센서 위치 변화를 자동으로 보정하는 온라인 보정(Online Calibration) 기술도 활발히 연구되고 있다.
필터링(Filtering)은 점군 전처리에서 가장 대표적인 작업이다. 원시 점군에는 실제 물체와 관계없는 잘못된 측정값이 반드시 포함된다. 이러한 이상 데이터는 대기 입자(Atmospheric Particle), 센서 반사(Reflection), 전기적 간섭(Electronic Interference), 투명 물체(Transparent Material), 금속 표면(Metal Surface), 또는 센서 자체의 노이즈 때문에 발생한다. 효과적인 필터링은 이러한 측정값만 제거하고 실제 환경의 기하학적 구조는 그대로 유지하는 것을 목표로 한다. 지나친 필터링은 중요한 구조를 제거할 수 있으며, 반대로 필터링이 부족하면 노이즈가 이후 알고리즘으로 전달되어 성능을 저하시킨다.
통계적 이상치 제거(Statistical Outlier Removal)는 주변 점들과의 거리 분포를 이용하여 이상치를 제거하는 대표적인 기법이다. 실제 환경의 표면은 일반적으로 주변 점들과 일정한 밀도를 유지하지만, 노이즈는 주변 점과의 거리가 매우 크다. 이러한 특성을 이용하여 평균 거리와 표준편차(Standard Deviation)를 계산하고, 일정 임계값을 초과하는 점들을 제거한다. 이 방법은 환경의 연속성을 유지하면서 드물게 발생하는 노이즈를 효과적으로 제거할 수 있다.
반경 기반 필터(Radius-based Filtering)는 일정한 반경(Radius) 안에 존재하는 이웃 점(Neighbor Point)의 개수를 기준으로 점의 신뢰성을 판단한다. 주변에 충분한 점이 존재하지 않는 경우 해당 점을 이상치로 판단하여 제거한다. 이 방법은 대기 중 먼지나 순간적인 센서 오류에 의해 발생한 고립된 점(Isolated Point)을 제거하는 데 효과적이다. 그러나 반경을 너무 크게 설정하면 전선(Cable), 기둥(Pole), 나뭇가지(Vegetation)와 같은 얇은 구조까지 제거될 수 있으므로 적절한 파라미터 설정(Parameter Selection)이 매우 중요하다.
지면 제거(Ground Removal)는 실외 자율주행 시스템에서 자주 수행되는 전처리 과정이다. 도로(Road), 공장 바닥(Factory Floor), 주차장(Parking Lot), 보도(Sidewalk)는 대부분의 점군을 차지하기 때문에 객체 검출에서는 오히려 불필요한 데이터가 될 수 있다. 평면 추정(Plane Fitting), 형태학적 필터(Morphological Filter), 높이 분석(Elevation Analysis), AI 기반 분류(Learning-based Segmentation) 등을 이용하여 지면을 먼저 분리하면 이후 객체 검출 알고리즘의 계산량을 크게 줄일 수 있다. 동시에 내비게이션에서는 이러한 지면 정보 자체가 주행 가능 영역 판단에 매우 중요한 입력으로 활용된다.
다운샘플링(Downsampling)은 점군의 밀도를 줄여 계산 효율을 향상시키는 대표적인 기법이다. 최신 고해상도 라이다는 초당 수백만 개 이상의 점을 생성하기 때문에 이를 그대로 처리하는 것은 실시간 시스템에서 매우 부담스럽다. 가장 널리 사용되는 방법은 복셀 그리드 필터(Voxel Grid Filter)이다. 공간을 일정 크기의 복셀(Voxel)로 분할한 후 각 복셀 내부의 점들을 하나의 대표점(Centroid)으로 대체하여 전체 점의 개수를 크게 줄인다. 이 방법은 전체적인 기하학적 구조를 유지하면서 메모리 사용량과 계산량을 동시에 감소시킨다.
복셀 크기(Voxel Resolution)의 선택은 정확도와 계산 효율 사이의 균형을 결정한다. 작은 복셀은 세부 구조를 잘 보존하지만 계산량이 많이 남아 있으며, 큰 복셀은 계산량을 크게 줄일 수 있지만 작은 장애물이나 얇은 구조물을 잃어버릴 위험이 있다. 실제 시스템에서는 센서 거리, 환경 복잡도, 사용 가능한 연산 자원, 안전 요구사항 등을 고려하여 적절한 복셀 크기를 선택하며, 경우에 따라 거리별 적응형 복셀(Adaptive Voxel Resolution)을 사용하기도 한다.
패스스루 필터(Pass-through Filter)는 관심 영역(Region of Interest) 밖의 데이터를 제거하여 계산량을 줄이는 방법이다. 자율주행 로봇은 지나치게 먼 거리의 데이터나 지하, 천장과 같은 영역을 항상 처리할 필요는 없다. 따라서 미리 정의된 공간 범위 밖의 데이터를 제거하면 계산 효율을 크게 향상시킬 수 있다. 또한 센서가 차량 자신의 차체(Robot Body)를 관측하는 경우 이러한 데이터도 함께 제거하여 이후 알고리즘이 자기 자신을 장애물로 인식하지 않도록 한다.
관심 영역 추출(Region of Interest Extraction)은 작업 목적에 따라 필요한 공간만 선택적으로 처리하는 기술이다. 창고 로봇은 선반(Shelf) 주변만 집중적으로 분석할 수 있으며, 자율 지게차(Forklift)는 팔레트 높이(Pallet Height)에 해당하는 영역을 우선 처리할 수 있다. 농업 로봇은 작물 줄기(Crop Row)를 중심으로 데이터를 처리하고, 건설 로봇은 굴착 구역(Excavation Area)을 중심으로 분석한다. 이러한 선택적 처리는 계산 자원을 더욱 효율적으로 활용할 수 있게 한다.
노이즈 감소(Noise Reduction)는 단순히 이상치를 제거하는 것보다 더 넓은 개념이다. 실제 표면을 구성하는 점들도 미세한 위치 오차를 포함하고 있기 때문에 표면 평활화(Surface Smoothing)가 필요하다. 이동 최소자승(Moving Least Squares), 양방향 필터(Bilateral Filter), 가우시안 평활화(Gaussian Smoothing), 평균화 필터(Averaging Filter)는 표면을 더욱 연속적으로 만들어 이후 단계의 표면 재구성(Surface Reconstruction)과 객체 인식(Object Recognition)의 정확도를 향상시킨다.
그러나 평활화 과정에서도 모서리(Edge)는 반드시 유지되어야 한다. 건물 모서리(Building Corner), 연석(Curb), 기계 장비의 외곽선, 팔레트 경계 등은 매우 중요한 의미 정보를 포함하고 있기 때문이다. 따라서 최근의 평활화 알고리즘은 평탄한 영역은 부드럽게 만들면서도 기하학적 경계(Geometric Boundary)는 유지하는 에지 보존 필터(Edge-preserving Filter)를 적용하여 환경의 중요한 특징을 유지한다.
표면 법선 벡터(Surface Normal) 계산 역시 전처리의 중요한 단계이다. 법선 벡터는 각 점 주변의 접평면(Tangent Plane)을 추정하여 표면의 방향을 나타낸다. 스캔 정합, 객체 분할, 객체 인식, 표면 재구성 등 다양한 알고리즘은 법선 벡터를 적극적으로 활용한다. 정확한 법선 계산을 위해서는 먼저 노이즈 제거와 안정적인 이웃점 구성이 선행되어야 한다.
이웃점 탐색(Neighborhood Construction)은 대부분의 전처리 알고리즘에서 공통적으로 수행되는 핵심 작업이다. KD-트리(KD-Tree), 옥트리(Octree), 복셀 해싱(Voxel Hashing), 공간 인덱싱(Spatial Indexing)과 같은 자료구조(Data Structure)는 최근접 이웃 탐색(Nearest Neighbor Search)을 매우 빠르게 수행할 수 있도록 지원한다. 실제로 많은 전처리 알고리즘의 계산 시간은 이러한 이웃 탐색 과정에 크게 좌우된다.
점군 정합(Point Cloud Registration)을 위한 준비 역시 전처리의 중요한 목적이다. 정합 알고리즘은 연속된 두 점군 사이의 대응점(Correspondence)을 찾고 센서의 이동량을 계산한다. 이를 위해서는 노이즈가 적고 균일하게 샘플링된 점군이 필요하다. 따라서 전처리 단계에서 필터링, 다운샘플링, 법선 계산, 특징 추출을 수행하면 정합의 정확도와 지도의 일관성을 크게 향상시킬 수 있다.
특징 추출(Feature Extraction)은 원시 점군을 보다 풍부한 기하학적 표현으로 변환하는 과정이다. 곡률(Curvature), 평면성(Planarity), 선형성(Linearity), 거칠기(Roughness), 고유값 분포(Eigenvalue Distribution), 표면 변화(Surface Variation), 공간 구조(Neighborhood Topology)와 같은 특징은 정합, 객체 분할, 객체 분류, 장소 인식(Place Recognition)에 활용된다. 이러한 특징의 품질 역시 전처리에서 생성된 안정적인 점군 품질에 크게 의존한다.
라이다의 반사 강도(Intensity)는 경우에 따라 정규화(Normalization)가 필요하다. 원시 반사 강도는 거리, 입사각(Incidence Angle), 재질(Material), 대기 상태, 센서 특성에 따라 크게 달라질 수 있다. 이를 정규화하면 AI 모델이 보다 안정적으로 재질 분류(Material Classification), 의미 분류(Semantic Classification), 환경 이해(Environment Understanding)를 수행할 수 있다.
다중 반환 라이다(Multi-return LiDAR)는 하나의 레이저가 여러 개의 반사 신호를 생성할 수 있다. 나무, 울타리, 비, 안개와 같은 환경에서는 첫 번째 반환(First Return), 가장 강한 반환(Strongest Return), 마지막 반환(Last Return)이 서로 다른 정보를 제공한다. 전처리 단계에서는 적용 분야에 따라 적절한 반환 정보를 선택하여 이후 알고리즘의 정확도를 높인다.
동적 점 제거(Dynamic Point Removal)는 장기 지도(Long-term Mapping) 구축에서 매우 중요하다. 차량, 사람, 지게차, 이동 로봇, 동물 등 움직이는 객체를 그대로 지도에 저장하면 시간이 지남에 따라 지도의 일관성이 크게 저하된다. 따라서 시간적 일관성 분석(Temporal Consistency), 의미 분할(Semantic Segmentation), 움직임 추정(Motion Estimation), 확률적 점유 모델(Probabilistic Occupancy Model) 등을 이용하여 동적 객체를 제거한 후 정적인 환경만 지도에 반영한다.
의미 기반 전처리(Semantic-aware Preprocessing)는 최근 활발히 연구되고 있는 분야이다. 기존 전처리가 모든 점을 동일하게 처리했다면, AI는 도로, 건물, 식생(Vegetation), 차량, 사람, 산업 장비 등 객체의 의미를 먼저 인식한 후 각각에 적합한 전처리 전략을 적용할 수 있다. 이러한 적응형 전처리(Adaptive Preprocessing)는 계산 효율을 높이면서도 인지 품질을 더욱 향상시킨다.
최근에는 심층학습(Deep Learning) 기반 전처리 기술도 빠르게 발전하고 있다. 신경망(Neural Network)은 노이즈 제거(Denoising), 결측 데이터 보완(Point Completion), 숨겨진 표면 추정(Hidden Surface Estimation), 초해상도(Point Cloud Super-resolution), 움직임 왜곡 제거(Motion Artifact Removal), 신뢰도 예측(Confidence Estimation) 등을 직접 수행할 수 있다. 기존의 규칙 기반(Rule-based) 알고리즘보다 다양한 환경에 적응할 수 있으며, 복잡한 실제 환경에서도 높은 강인성을 제공한다.
실시간 구현(Real-time Implementation)은 전처리 시스템이 반드시 만족해야 하는 중요한 요구사항이다. 자율주행 로봇은 지속적으로 대용량 데이터를 생성하기 때문에 전처리 알고리즘은 매우 짧은 시간 안에 계산을 완료해야 한다. GPU 가속(GPU Acceleration), 병렬 처리(Parallel Computing), SIMD 최적화(SIMD Optimization), 비동기 파이프라인(Asynchronous Pipeline), 희소 계산(Sparse Computation), 메모리 풀(Memory Pool), 하드웨어 최적화(Hardware-aware Architecture) 등이 이러한 요구를 만족시키기 위해 사용된다.
강인한 전처리 시스템은 단순히 데이터를 처리하는 데 그치지 않고 지속적으로 데이터 품질을 평가해야 한다. 신뢰도 추정(Confidence Estimation), 센서 상태 모니터링(Sensor Health Monitoring), 통계적 일관성 분석(Statistical Consistency Analysis), 이상 탐지(Anomaly Detection), 런타임 진단(Runtime Diagnostics)을 통해 센서 이상을 조기에 발견할 수 있다. 이러한 정보는 센서 가중치(Sensor Weight)를 조정하거나, 중복 센서를 활성화하거나, 로봇의 속도를 자동으로 낮추는 등 안전한 자율주행을 유지하는 데 활용된다.
궁극적으로 점군 전처리(Point Cloud Preprocessing)는 모든 3차원 인지 기술의 기하학적 기반(Geometric Foundation)을 구축하는 핵심 기술이다. 객체 검출(Object Detection), 의미 분할(Semantic Segmentation), 장면 이해(Scene Understanding), 위치추정(Localization), 지도작성(Mapping), 움직임 예측(Motion Prediction), 자유 공간 추정(Free Space Estimation), 내비게이션(Navigation), 로봇 조작(Manipulation), 그리고 자율 의사결정(Autonomous Decision Making)은 모두 정확하게 전처리된 점군을 전제로 동작한다. 따라서 점군 전처리는 단순한 데이터 정리 과정이 아니라, 노이즈가 많고 불규칙하며 계산량이 큰 원시 센서 데이터를 구조화되고 신뢰할 수 있으며 정보가 풍부한 공간 데이터로 변환하여 자율주행 모바일 로봇이 복잡한 3차원 환경을 정확하게 인식하고 이해하며 안전하게 상호작용할 수 있도록 만드는 가장 중요한 기반 기술 가운데 하나이다.
18.3 3D Object Clustering
3차원 객체 군집화(3D Object Clustering)는 현대 로봇 인지(Robotic Perception)에서 가장 기본적이면서도 중요한 처리 과정 가운데 하나이다. 이 과정은 수백만 개의 독립적인 공간 측정값을 자율 시스템이 이해하고 추론할 수 있는 의미 있는 물리적 객체(Physical Object)로 변환한다. 원시 점군(Raw Point Cloud)은 단순히 개별 3차원 좌표들의 집합일 뿐이며, 어떤 점들이 동일한 물체에 속하는지에 대한 정보는 포함하지 않는다. 따라서 차량(Vehicle), 보행자(Pedestrian), 산업 장비(Machinery), 팔레트(Pallet), 선반(Shelf), 벽(Wall), 건설 장비(Construction Equipment) 등을 인식하기 위해서는 먼저 동일한 물체를 구성하는 점들을 하나의 그룹으로 묶는 과정이 필요하다. 객체 군집화는 저수준의 기하학적 센싱(Geometric Sensing)과 고수준 의미 이해(Semantic Understanding)를 연결하는 핵심 단계이며, 자율주행 모바일 로봇(Autonomous Mobile Robot, AMR)이 비정형 공간 데이터를 구조화된 객체 정보로 변환하여 내비게이션(Navigation), 경로 계획(Path Planning), 조작(Manipulation), 검사(Inspection), 지능형 의사결정(Intelligent Decision Making)을 수행할 수 있도록 한다.
영상(Image) 기반 분할(Segmentation)에서는 인접한 픽셀(Pixel)이 일정한 2차원 격자(Grid)를 형성하지만, 점군(Point Cloud)은 불규칙하고 희소(Sparse)하며 순서가 없는(Unordered) 3차원 공간 데이터이다. 인접한 점들은 고정된 배열을 가지지 않으며 실제 공간에서의 거리 관계만으로 연결된다. 또한 점의 밀도(Point Density)는 거리, 센서 해상도, 관측 각도(Viewing Angle), 물체의 반사율(Reflectivity), 환경 조건(Environmental Condition)에 따라 크게 달라진다. 따라서 객체 군집화 알고리즘은 단순한 인접 관계가 아니라 실제 기하학적 거리와 공간 구조를 분석해야 하므로, 일반적인 영상 분할보다 훨씬 복잡하지만 동시에 더욱 풍부한 공간 정보를 활용할 수 있다.
객체 군집화의 가장 중요한 목적은 전체 점군을 여러 개의 부분 집합(Subsets)으로 분할하여 각각이 하나의 물리적 객체 또는 의미 있는 환경 구조(Environmental Structure)를 나타내도록 만드는 것이다. 이상적인 군집화는 하나의 객체를 구성하는 모든 점은 동일한 군집(Cluster)에 포함시키고, 서로 다른 객체의 점들은 완전히 분리한다. 정확한 군집화가 이루어지면 객체 검출(Object Detection), 객체 추적(Object Tracking), 의미 분류(Semantic Classification), 자세 추정(Pose Estimation), 이동 경로 예측(Trajectory Prediction), 로봇 조작(Manipulation)과 같은 상위 알고리즘은 수백만 개의 개별 점이 아닌 하나의 객체 단위로 처리할 수 있게 된다. 이는 계산량을 줄이는 동시에 전체 인지 시스템의 이해 가능성과 정확도를 크게 향상시킨다.
일반적으로 3차원 객체 군집화는 점군 전처리(Point Cloud Preprocessing)가 완료된 이후 수행된다. 전처리 과정에서는 노이즈 제거(Noise Removal), 움직임 왜곡 보정(Motion Compensation), 시간 동기화(Time Synchronization), 좌표 변환(Coordinate Transformation), 다운샘플링(Downsampling) 등이 수행되어 기하학적으로 일관된 데이터가 생성된다. 이러한 준비 과정이 제대로 이루어져야 군집화 알고리즘이 안정적으로 동작할 수 있다. 반대로 노이즈가 많거나 왜곡된 점군에서 군집화를 수행하면 하나의 객체가 여러 개의 군집으로 나뉘거나, 서로 다른 객체가 하나의 군집으로 합쳐지는 오류가 발생할 수 있다.
유클리드 군집화(Euclidean Clustering)는 가장 널리 사용되는 객체 군집화 방법 가운데 하나이다. 이 방법은 서로 가까운 거리에 위치한 점들은 동일한 물체에 속할 가능성이 높다는 가정을 기반으로 한다. 하나의 시작점(Seed Point)에서 출발하여 미리 정의된 거리 임계값(Distance Threshold) 안에 존재하는 모든 점들을 같은 군집으로 포함시키고, 새롭게 포함된 점에서도 동일한 과정을 반복한다. 더 이상 추가할 점이 없으면 하나의 군집이 완성되며, 이후 남은 점들에 대해 동일한 과정을 반복한다. 구조가 단순하면서 계산 효율이 높기 때문에 산업용 로봇과 자율주행 차량에서 매우 널리 사용된다.
유클리드 군집화에서는 거리 임계값(Distance Threshold)의 설정이 매우 중요하다. 임계값이 너무 작으면 하나의 큰 물체가 여러 개의 군집으로 분리될 수 있으며, 반대로 너무 크면 서로 가까운 독립 객체들이 하나의 군집으로 합쳐질 수 있다. 실제 자율주행 시스템에서는 센서와의 거리가 멀어질수록 점 밀도가 감소하기 때문에 거리별로 서로 다른 임계값을 사용하는 적응형 군집화(Adaptive Clustering)가 자주 적용된다. 이러한 방식은 다양한 거리에서도 안정적인 군집 성능을 유지할 수 있도록 도와준다.
최근접 이웃 탐색(Nearest Neighbor Search)은 거의 모든 군집화 알고리즘의 계산량을 결정하는 핵심 요소이다. 수백만 개의 점 사이에서 가까운 점들을 빠르게 찾기 위해 KD-트리(KD-Tree), 옥트리(Octree), 복셀 해싱(Voxel Hashing), 계층적 공간 분할(Hierarchical Spatial Grid)과 같은 공간 자료구조(Spatial Data Structure)가 사용된다. 최신 라이다는 초당 수백만 개 이상의 점을 생성하기 때문에 이러한 효율적인 탐색 구조가 없으면 실시간 처리가 사실상 불가능하다. 따라서 실제 시스템에서는 군집화 자체만큼이나 공간 인덱싱(Spatial Indexing)의 최적화가 중요하다.
밀도 기반 군집화(Density-based Clustering)는 객체의 형태가 매우 다양할 때 더욱 유연한 성능을 제공한다. 단순한 거리만 이용하지 않고 일정한 밀도를 유지하는 영역을 하나의 군집으로 인식하며, 밀도가 매우 낮은 점들은 자연스럽게 노이즈로 처리한다. 대표적인 알고리즘인 DBSCAN(Density-Based Spatial Clustering of Applications with Noise)은 군집의 개수를 미리 지정할 필요가 없으며 임의의 형태를 가진 객체도 효과적으로 분리할 수 있기 때문에 로봇 분야에서 매우 널리 활용되고 있다.
DBSCAN은 반경(Radius)과 최소 이웃 개수(Minimum Neighbor Count)라는 두 가지 주요 파라미터를 사용한다. 충분한 수의 이웃점을 가진 점을 중심점(Core Point)으로 정의하고, 이 중심점을 기준으로 주변 점들을 확장하여 하나의 군집을 생성한다. 반대로 충분한 이웃을 갖지 못하는 점은 노이즈로 간주되어 군집에 포함되지 않는다. 이러한 특성 덕분에 비, 먼지, 안개와 같은 환경에서 발생하는 고립된 점들을 효과적으로 제거할 수 있다.
그러나 밀도 기반 군집화 역시 한계를 가진다. 라이다(Point Cloud LiDAR)는 거리가 멀어질수록 점의 밀도가 자연스럽게 감소하기 때문에 가까운 차량은 하나의 군집으로 잘 분리되지만 먼 거리의 차량이나 보행자는 여러 개의 군집으로 나뉘는 문제가 발생할 수 있다. 이를 해결하기 위해 최근에는 거리 적응형 밀도 추정(Adaptive Density Estimation), 다중 해상도 군집화(Multi-resolution Clustering), 계층적 파라미터(Hierarchical Parameter Selection) 등이 활발하게 연구되고 있다.
영역 확장 군집화(Region Growing Clustering)는 단순한 거리뿐 아니라 표면의 기하학적 유사성까지 고려한다. 초기 시작점에서 출발하여 주변 점들의 법선 벡터(Surface Normal), 곡률(Curvature), 거칠기(Roughness), 평면성(Planarity) 등이 유사하면 동일한 군집으로 확장한다. 이러한 방법은 벽, 바닥, 건물 외벽, 기계 패널과 같이 연속적인 표면을 매우 효과적으로 분리할 수 있다. 단순 거리 기반 군집화보다 구조화된 산업 환경에서 더욱 우수한 성능을 보이는 경우가 많다.
표면 법선 벡터(Surface Normal)는 고급 군집화에서 매우 중요한 정보이다. 동일한 물체를 구성하는 점들은 일반적으로 비슷한 방향의 표면을 형성하며, 서로 다른 물체의 경계에서는 법선 방향이 급격히 변한다. 따라서 법선 벡터를 함께 고려하면 단순 거리만으로는 구분하기 어려운 인접 객체도 효과적으로 분리할 수 있다. 특히 서로 맞닿아 있는 물체를 구분하거나 평면 구조를 추출하는 데 매우 유용하다.
모델 기반 군집화(Model-based Clustering)는 사전에 알고 있는 객체의 기하학적 형태를 이용한다. 차량, 팔레트, 원기둥 기둥(Cylindrical Pole), 선반, 컨테이너(Container), 산업 장비 등의 형상을 미리 알고 있는 경우 관측된 점군을 이러한 모델과 비교하여 객체를 분리한다. 예상 가능한 구조를 가진 환경에서는 매우 높은 정확도를 제공하지만, 새로운 형태의 물체에는 적용이 어렵다는 한계가 있다.
최근에는 심층학습 기반 군집화(Learning-based Clustering)가 가장 활발하게 연구되는 분야 가운데 하나이다. 기존의 규칙 기반 기법과 달리 대규모 학습 데이터셋(Dataset)을 이용하여 동일한 객체에 속하는 점들은 특징 공간(Feature Space)에서 서로 가까워지도록 학습한다. 따라서 부분 가림(Occlusion), 복잡한 형상(Complex Shape), 배경 간섭(Background Clutter), 동적 환경(Dynamic Environment)에서도 높은 강인성을 제공할 수 있다.
PointNet, PointNet++, Dynamic Graph CNN, Point Transformer와 같은 점 기반 신경망(Point-based Neural Network)은 점군 자체를 직접 입력으로 사용한다. 이러한 네트워크는 복셀(Voxel) 변환 없이 점 사이의 공간 관계를 직접 학습하며, 동일 객체의 점들은 유사한 특징 벡터(Feature Embedding)를 갖도록 만든다. 이후 군집화는 단순한 공간 거리 대신 이러한 특징 공간에서 수행되므로 노이즈와 부분 가림에도 훨씬 강인한 성능을 제공한다.
복셀 기반 인지(Voxel-based Perception)는 연속적인 점군을 일정한 크기의 입체 격자로 변환한 후 군집화를 수행한다. 복셀화(Voxelization)는 약간의 공간 해상도를 희생하지만 GPU 병렬 처리(GPU Parallel Processing)와 3차원 합성곱 신경망(3D Convolutional Neural Network)을 효율적으로 사용할 수 있도록 해준다. 이러한 방식은 대규모 자율주행 시스템에서 계산 효율과 정확도 사이의 균형을 제공한다.
조감도(Bird\'s-Eye View, BEV) 기반 표현도 최근 매우 널리 사용된다. 대부분의 지상 이동 로봇은 평면 위에서 이동하기 때문에 점군을 위에서 내려다본 형태로 투영하면 군집화가 훨씬 단순해진다. 지면을 제거한 후 객체들을 2차원 이미지처럼 처리할 수 있어 영상 처리 기술을 활용할 수 있으며 계산량도 크게 감소한다. 다만 객체의 높이 정보는 별도로 유지해야 완전한 3차원 객체 표현이 가능하다.
지면 분리(Ground Segmentation)는 객체 군집화 이전에 수행되는 경우가 많다. 도로, 바닥, 창고 통로는 대부분의 점군을 차지하며, 이러한 연속적인 평면은 서로 다른 객체를 하나로 연결하는 원인이 될 수 있다. 따라서 먼저 지면을 제거하면 차량, 사람, 팔레트, 산업 장비 등 개별 객체를 훨씬 쉽게 분리할 수 있다.
가림 현상(Occlusion)은 객체 군집화에서 가장 어려운 문제 가운데 하나이다. 차량 뒤의 보행자, 선반 뒤의 물체, 산업 장비 뒤의 컨테이너처럼 실제 객체가 일부만 보이는 경우 하나의 객체가 여러 개의 군집으로 나뉠 수 있다. 이러한 문제를 해결하기 위해 다중 시점(Multi-view Observation), 시간적 통합(Temporal Integration), 의미 정보(Semantic Information), 예측 모델(Predictive Model) 등을 함께 활용하여 완전한 객체를 복원하는 연구가 활발하게 진행되고 있다.
동적 환경(Dynamic Environment) 역시 군집화를 어렵게 만든다. 사람, 지게차(Forklift), 이동 로봇, 자동차는 지속적으로 움직이기 때문에 서로 가까워졌다가 다시 멀어지는 상황이 반복된다. 군집화 알고리즘은 단순한 거리 변화가 아니라 실제 객체의 독립성을 유지해야 한다. 따라서 객체 추적(Object Tracking)과 시간적 일관성 분석(Temporal Consistency)이 군집화와 긴밀하게 결합되어 안정적인 객체 표현을 유지한다.
군집 검증(Cluster Validation)은 생성된 군집이 실제 물체를 나타내는지 평가하는 과정이다. 최소 점 개수(Minimum Point Count), 최대 점 개수(Maximum Point Count), 크기(Size), 부피(Volume), 종횡비(Aspect Ratio), 밀도(Point Density), 표면 연속성(Surface Continuity), 기하학적 타당성(Geometric Plausibility) 등을 이용하여 잘못 생성된 군집을 제거하거나 병합한다. 최신 시스템에서는 의미 분류 신뢰도(Semantic Confidence), 시간적 지속성(Temporal Persistence), 불확실성(Uncertainty)까지 함께 고려한다.
군집으로부터 특징 추출(Feature Extraction)은 이후 객체 인식(Object Recognition)을 위한 중요한 단계이다. 군집 중심(Centroid), 주성분 분석(Principal Component Analysis, PCA)을 이용한 방향(Orientation), 크기(Dimension), 볼록 껍질(Convex Hull), 표면적(Surface Area), 점 밀도(Point Density), 곡률(Curvature), 반사 강도(Intensity Distribution) 등을 계산하여 객체의 특성을 표현한다. 이러한 특징은 객체 인식, 행동 예측(Behavior Prediction), 로봇 조작 계획(Manipulation Planning)에 활용된다.
객체 추적(Object Tracking)은 안정적인 군집화 결과에 크게 의존한다. 하나의 객체가 프레임마다 여러 개의 군집으로 나뉘거나 서로 다른 객체와 계속 합쳐진다면 추적 성능은 급격히 저하된다. 반대로 안정적인 군집화는 객체의 이동 경로(Trajectory), 속도(Velocity), 가속도(Acceleration), 장기적인 객체 식별(Long-term Identity)을 정확하게 유지할 수 있도록 한다. 따라서 군집화 품질은 자율주행 안전성과 직결된다.
의미 분류(Semantic Classification)는 일반적으로 군집화 이후 수행된다. 수백만 개의 개별 점을 직접 분류하는 것보다 하나의 객체 단위로 분석하는 것이 훨씬 효율적이기 때문이다. 차량, 보행자, 자전거(Bicycle), 지게차, 선반, 교통 콘(Traffic Cone), 공사 차단물(Construction Barrier), 나무(Tree), 산업 장비 등은 각각 고유한 기하학적 특징을 가지며 군집화 이후 이러한 특징을 이용하여 정확하게 인식할 수 있다.
산업용 자율주행 모바일 로봇은 다양한 분야에서 객체 군집화를 활용한다. 창고에서는 팔레트, 선반, 물류 컨테이너, 지게차를 분리하여 물류 운반을 수행한다. 제조 공장에서는 작업 대상물(Workpiece), 생산 설비(Production Equipment), 안전 펜스(Safety Barrier), 작업자를 구분하여 안전한 작업을 수행한다. 실외 물류 차량은 자동차, 사람, 식생(Vegetation), 적재 구역(Loading Dock), 기반 시설(Infrastructure)을 구분하며 이동한다. 건설 로봇은 굴착 장비, 건축 자재, 임시 장애물, 구조물을 인식하여 복잡한 환경에서도 안정적으로 작업을 수행한다. 이처럼 객체 군집화는 다양한 산업 환경에서 공간 정보를 실제 작업 가능한 객체 정보로 변환하는 핵심 기술이다.
계산 효율성(Computational Efficiency)은 객체 군집화 시스템에서 매우 중요한 요소이다. 군집화는 실시간으로 수행되어야 하므로 병렬 최근접 탐색(Parallel Neighbor Search), GPU 가속(GPU Acceleration), 효율적인 메모리 관리(Memory Management), 공간 분할(Spatial Partitioning), 증분 처리(Incremental Processing), 비동기 실행(Asynchronous Execution), 계층적 군집화(Hierarchical Clustering) 등이 널리 사용된다. 최신 자율주행 시스템은 CPU, GPU, AI 가속기(AI Accelerator), 전용 인지 프로세서(Dedicated Perception Processor)를 함께 활용하여 높은 정확도와 짧은 지연 시간을 동시에 달성하고 있다.
미래의 3차원 객체 군집화(3D Object Clustering)는 기하학적 추론(Geometric Reasoning), 의미 이해(Semantic Understanding), 시간적 일관성(Temporal Consistency), 다중 센서 융합(Multi-Sensor Fusion), 파운데이션 모델(Foundation Model) 기반의 지능을 하나의 통합 인지 구조(Unified Perception Architecture)로 발전시킬 것이다. 미래 시스템은 군집화를 단순한 기하학적 분리 과정이 아니라 객체 인식(Object Recognition), 추적(Tracking), 행동 예측(Prediction), 장면 이해(Scene Understanding)를 동시에 수행하는 통합 세계 모델(World Model)의 일부로 처리하게 될 것이다. 이러한 발전은 복잡한 환경에서도 더욱 정확한 객체 인식과 안정적인 장기 자율주행을 가능하게 하며, 객체 군집화는 차세대 지능형 로봇 인지 시스템을 구성하는 핵심 기술로 더욱 중요한 역할을 수행하게 될 것이다.
18.4 3D Bounding Box Detection
3차원 경계 상자 검출(3D Bounding Box Detection)은 자율주행 로봇 인지(Autonomous Robotic Perception)에서 가장 중요한 기술 가운데 하나이다. 이 기술은 객체 군집화(Object Clustering)를 통해 분리된 점군(Point Cloud)을 내비게이션(Navigation), 객체 추적(Tracking), 경로 계획(Planning), 의사결정(Decision Making) 시스템이 직접 활용할 수 있는 구조화된 객체 표현(Structured Object Representation)으로 변환한다. 객체 군집화는 동일한 물리적 객체에 속하는 점들을 구분하지만, 객체의 정확한 공간 범위(Spatial Extent), 방향(Orientation), 크기(Dimensions), 자세(Pose)는 명확하게 표현하지 않는다. 3차원 경계 상자 검출은 이러한 문제를 해결하기 위해 각 객체를 둘러싸는 최소한의 기하학적 상자(Geometric Bounding Box)를 추정한다. 결과적으로 자율주행 모바일 로봇(Autonomous Mobile Robot, AMR)은 수백만 개의 개별 점 대신 소수의 의미 있는 기하학적 파라미터를 이용하여 주변 객체를 이해하고 판단할 수 있게 된다.
기존의 2차원 객체 검출(2D Object Detection)은 영상(Image) 좌표계 안에서 직사각형(Rectangle)을 검출하는 데 목적이 있지만, 3차원 경계 상자 검출은 실제 물리 공간(Physical Space)에서 객체를 표현한다. 하나의 객체는 중심 위치(Center Position), 폭(Width), 길이(Length), 높이(Height), 방향(Orientation), 그리고 신뢰도(Confidence Score)를 포함하는 3차원 경계 상자로 표현된다. 이러한 표현은 객체가 실제 공간에서 차지하는 영역을 정확하게 나타내므로, 자율 시스템은 객체 간 거리 계산, 이동 경로 예측(Motion Prediction), 충돌 위험(Collision Risk) 분석, 안전한 경로 생성(Path Planning)을 수행할 수 있다. 로봇의 의사결정은 영상 좌표가 아닌 실제 공간에서 이루어지므로, 3차원 경계 상자는 기존 2차원 검출보다 훨씬 높은 활용 가치를 가진다.
3차원 경계 상자 검출의 가장 중요한 목적은 복잡한 점군 데이터를 단순하면서도 물리적으로 의미 있는 객체 표현으로 변환하는 것이다. 하나의 차량, 팔레트(Pallet), 보행자(Pedestrian), 지게차(Forklift), 산업 장비(Industrial Machine)는 수천 개 이상의 점으로 구성될 수 있다. 이러한 모든 점을 이후 단계에서 계속 처리하는 것은 계산량이 매우 크며 비효율적이다. 따라서 인지 시스템은 하나의 경계 상자를 이용하여 객체의 위치(Position), 크기(Size), 방향(Orientation), 점유 공간(Spatial Occupancy)을 요약한다. 이후의 알고리즘은 이러한 압축된 표현만을 사용하여 높은 계산 효율을 유지하면서도 충분한 공간 정확도를 확보할 수 있다.
경계 상자(Bounding Box)는 인지(Perception), 위치추정(Localization), 행동 예측(Prediction), 경로 계획(Planning), 객체 추적(Tracking), 지도작성(Mapping), 로봇 제어(Robot Control) 모듈이 공통적으로 사용하는 표준 표현(Standard Representation)이다. 모든 객체가 동일한 형식의 기하학적 모델로 표현되면 각 소프트웨어 모듈은 원시 센서 데이터를 직접 처리하지 않고도 서로 정보를 교환할 수 있다. 내비게이션 알고리즘은 경계 상자를 이용하여 충돌 위험을 계산하고, 객체 추적은 연속 프레임(Frame) 사이에서 동일 객체를 유지하며, 행동 예측은 미래 위치를 추정하고, 로봇 조작 시스템은 객체의 크기를 이용하여 파지(Grasping) 전략을 결정한다. 따라서 경계 상자는 시스템 통합(System Integration)을 단순화하면서 계산 효율도 크게 향상시킨다.
일반적인 3차원 경계 상자는 중심 좌표(Center Coordinate), 폭(Width), 길이(Length), 높이(Height), 그리고 수직축(Yaw Axis)을 기준으로 한 회전 각도(Rotation Angle)를 포함하는 7개의 주요 파라미터로 구성된다. 일부 시스템은 여기에 속도(Velocity), 가속도(Acceleration), 각속도(Angular Velocity), 객체 분류 신뢰도(Classification Confidence), 객체 존재 확률(Object Existence Probability), 불확실성 공분산(Uncertainty Covariance)까지 함께 추정한다. 이러한 정보들은 객체 하나를 매우 간결하면서도 충분히 상세하게 표현할 수 있도록 해주며, 자율주행 시스템 전체에서 일관성 있게 활용된다.
3차원 경계 상자 검출은 일반적으로 센서 획득(Sensor Acquisition), 점군 전처리(Point Cloud Preprocessing), 객체 군집화(Object Clustering), 특징 추출(Feature Extraction) 이후 수행된다. 원시 센서 데이터는 먼저 시간 동기화(Time Synchronization), 필터링(Filtering), 좌표 변환(Coordinate Transformation), 객체 후보(Object Candidate) 생성 과정을 거친다. 이후 검출 알고리즘은 각각의 객체 후보 또는 전체 점군을 분석하여 객체의 정확한 공간 범위를 추정한다. 마지막으로 후처리(Post-processing)를 통해 중복 검출을 제거하고 기하학적 파라미터를 보정한 후 객체 추적 및 의미 분류와 연계된다. 따라서 경계 상자 검출은 독립적인 알고리즘이 아니라 전체 인지 파이프라인의 핵심 구성 요소이다.
전통적인 기하학 기반 접근법(Classical Geometric Approach)은 기계학습(Machine Learning) 없이 점군으로부터 직접 경계 상자를 계산한다. 대표적으로 주성분 분석(Principal Component Analysis, PCA)을 이용하여 객체의 주요 방향을 추정한 후, 이를 기준으로 축 정렬 경계 상자(Axis-aligned Bounding Box) 또는 회전 경계 상자(Oriented Bounding Box)를 생성한다. 이러한 방법은 계산량이 적고 학습 데이터가 필요하지 않으며 비교적 단순한 구조의 객체에서는 좋은 성능을 보인다. 그러나 부분 가림(Occlusion), 복잡한 형상(Complex Shape), 불완전한 관측(Incomplete Observation)이 존재하는 실제 환경에서는 정확도가 크게 저하될 수 있다.
축 정렬 경계 상자(Axis-aligned Bounding Box)는 가장 단순한 형태의 경계 상자이다. 모든 상자의 면은 전역 좌표계(Global Coordinate System)와 평행하게 유지된다. 계산은 매우 빠르지만, 객체가 회전하면 실제 객체보다 훨씬 큰 빈 공간을 포함하게 된다. 교차로를 회전하는 차량이나 창고에서 방향을 바꾸는 지게차처럼 객체가 다양한 방향을 가지는 환경에서는 이러한 표현이 비효율적이다. 따라서 현대의 자율주행 시스템은 대부분 객체의 실제 방향을 반영하는 회전 경계 상자(Oriented Bounding Box)를 사용한다.
회전 경계 상자(Oriented Bounding Box)는 객체의 실제 회전 방향까지 함께 추정하기 때문에 훨씬 정확한 공간 표현을 제공한다. 지상 이동 로봇에서는 대부분 객체가 수직 방향으로 세워져 있으므로 수직축(Yaw)을 중심으로 한 회전만 추정하는 경우가 많다. 차량, 팔레트, 트레일러(Trailer), 컨테이너(Container), 선반(Shelf), 산업 장비처럼 길이가 긴 객체는 방향 정보가 매우 중요하다. 방향이 정확하게 추정될수록 경로 계획기(Path Planner)는 점유 공간을 보다 정확하게 계산할 수 있으며, 결과적으로 더욱 안전하고 효율적인 주행이 가능해진다.
점군의 희소성(Point Cloud Sparsity)은 경계 상자 검출에서 가장 큰 어려움 가운데 하나이다. 센서 가까이에 있는 객체는 매우 많은 점으로 표현되지만, 멀리 있는 객체는 수십 개 또는 그 이하의 점만 포함하는 경우도 많다. 점이 적을수록 크기, 방향, 위치를 정확하게 추정하기 어려워진다. 또한 악천후(Weather), 부분 가림, 센서 해상도 부족, 불리한 관측 각도(Viewing Angle)는 점의 밀도를 더욱 감소시킨다. 따라서 강인한 검출 알고리즘은 적은 점만으로도 전체 객체의 형태를 추정할 수 있어야 하며, 동시에 추정 결과의 불확실성(Uncertainty)도 함께 표현해야 한다.
가림 현상(Occlusion)은 실제 환경에서 매우 빈번하게 발생하는 문제이다. 차량 뒤에 보행자가 가려지거나, 창고 선반이 물체를 일부 가리거나, 산업 장비가 다른 구조물을 가리는 상황에서는 객체의 일부만 관측된다. 이러한 경우 경계 상자 검출은 보이지 않는 부분까지 추정해야 한다. 심층학습(Deep Learning)은 대규모 학습 데이터를 통해 객체의 일반적인 형태를 학습하므로, 부분적으로만 관측된 경우에도 전체 객체를 합리적으로 추정할 수 있다. 이러한 능력은 전통적인 기하학 기반 알고리즘보다 훨씬 뛰어난 성능을 제공한다.
현대의 3차원 경계 상자 검출은 대부분 심층 신경망(Deep Neural Network)을 이용한다. 기존의 명시적인 수학적 규칙 대신, 신경망은 객체 위치(Localization), 객체 분류(Classification), 방향 추정(Orientation Estimation), 크기 예측(Size Prediction)에 필요한 공간 특징(Spatial Feature)을 자동으로 학습한다. 다양한 환경에서 수집된 대규모 데이터셋(Dataset)을 이용하여 학습된 모델은 조명 변화(Lighting Variation), 다양한 관측 각도, 기상 조건, 실제 산업 환경에서도 높은 일반화 성능을 제공한다.
점 기반 신경망(Point-based Neural Network)은 점군 자체를 직접 입력으로 사용한다. PointNet, PointNet++, PointRCNN, 그리고 Transformer 기반 네트워크는 불규칙한 점 집합(Unordered Point Set)을 직접 처리하면서 계층적인 공간 특징(Hierarchical Spatial Feature)을 학습한다. 이러한 특징은 객체 분류와 경계 상자 회귀(Bounding Box Regression)를 동시에 수행하며, 점군을 복셀(Voxel)로 변환하지 않기 때문에 양자화 오차(Quantization Error)가 발생하지 않는다. 따라서 작은 객체나 정밀한 위치 추정이 필요한 환경에서 매우 우수한 성능을 제공한다.
복셀 기반 검출(Voxel-based Detection)은 연속적인 점군을 일정한 크기의 입체 셀(Volumetric Cell)로 변환한 후 3차원 합성곱 신경망(3D Convolutional Neural Network)을 적용한다. 규칙적인 데이터 구조를 가지므로 GPU 병렬 연산(GPU Parallel Computing)에 매우 적합하다. 또한 희소 합성곱(Sparse Convolution)을 이용하면 실제 점이 존재하는 영역만 계산하여 연산량을 크게 줄일 수 있다. 이러한 방식은 계산 속도와 정확도 사이에서 우수한 균형을 제공하여 산업용 자율주행 시스템에서 매우 널리 사용되고 있다.
조감도(Bird\'s-Eye View, BEV) 기반 표현은 최근 가장 영향력 있는 검출 방법 가운데 하나이다. 점군을 위에서 내려다본 형태로 투영하면 객체의 위치와 방향을 보다 단순하게 표현할 수 있다. 대부분의 지상 이동 로봇은 평면 위를 이동하므로 BEV는 공간 구조를 효과적으로 유지하면서도 영상 처리 기술을 그대로 활용할 수 있다. 최신 시스템은 BEV 특징과 점 기반 또는 복셀 기반 특징을 동시에 결합하여 높은 정확도와 계산 효율을 동시에 달성한다.
앵커 기반 검출(Anchor-based Detection)은 미리 정의된 기준 상자(Reference Box)를 사용한다. 차량, 보행자, 자전거(Bicycle), 팔레트, 산업 장비 등 각 객체 종류에 대해 예상 크기의 앵커(Anchor)를 미리 배치하고, 신경망은 이를 실제 객체에 맞게 위치와 크기, 방향을 보정한다. 초기의 대부분의 3차원 객체 검출 알고리즘은 이 방식을 사용하였으며, 적절한 앵커 설계가 전체 성능에 매우 큰 영향을 미친다.
최근에는 앵커 프리 검출(Anchor-free Detection)이 빠르게 확산되고 있다. 앵커를 미리 정의하지 않고 객체 중심(Object Center)과 크기, 방향을 직접 예측하기 때문에 네트워크 구조가 단순하며 다양한 객체에 대한 일반화 성능도 우수하다. 설계가 간단하고 계산 효율이 높아 최근의 많은 최신 모델들이 앵커 프리 방식을 채택하고 있다.
경계 상자 회귀(Bounding Box Regression)는 객체의 위치와 형태를 나타내는 연속적인 수치 값을 예측하는 과정이다. 분류(Classification)가 객체 종류를 예측하는 것이라면, 회귀는 중심 좌표(Center Coordinate), 크기(Size), 회전 각도(Rotation Angle)와 같은 정확한 수치를 계산한다. 이러한 회귀 정확도는 충돌 위험, 자유 공간(Free Space), 로봇 조작 가능성 등을 직접 결정하기 때문에 매우 중요하다. 따라서 최신 신경망은 객체 분류와 회귀를 동시에 최적화하는 다중 작업 학습(Multi-task Learning)을 사용한다.
방향 추정(Orientation Estimation)은 3차원 객체 검출에서 매우 중요한 문제이다. 대칭적인 객체는 여러 방향에서 비슷하게 보일 수 있으며, 점군이 희소할 경우 방향 정보를 얻기 어렵다. 이를 해결하기 위해 방향을 여러 구간으로 나누어 분류하는 방식(Discrete Classification), 연속값으로 회귀하는 방식(Continuous Regression), 두 방식을 결합한 하이브리드(Hybrid Method), 회전 대칭(Rotational Symmetry)을 고려한 표현 방식 등이 사용된다. 방향이 정확할수록 길이가 긴 객체의 점유 공간을 더욱 정확하게 계산할 수 있다.
크기 추정(Dimension Estimation) 역시 학습된 객체 사전 정보(Object Prior)를 적극 활용한다. 차량을 정면에서 보면 길이를 정확히 알기 어렵고, 선반을 비스듬히 보면 깊이를 추정하기 어렵다. 심층 신경망은 다양한 객체의 일반적인 크기와 비율을 학습하므로 일부만 관측된 경우에도 전체 크기를 합리적으로 추정할 수 있다. 이러한 학습 기반 기하학적 사전 정보는 실제 산업 환경에서 매우 높은 강인성을 제공한다.
다중 센서 융합(Multi-sensor Fusion)은 경계 상자 검출의 성능을 크게 향상시킨다. 라이다는 정확한 거리 정보를 제공하고, RGB 카메라는 풍부한 의미 정보를 제공하며, 레이더(Radar)는 악천후에서도 안정적인 속도 정보를 제공하고, 깊이 카메라(Depth Camera)는 근거리 환경에서 높은 정확도를 제공한다. 이러한 센서들은 원시 데이터 수준(Data Level), 특징 수준(Feature Level), 또는 결정 수준(Decision Level)에서 융합될 수 있으며, 단일 센서보다 훨씬 높은 정확도와 강인성을 달성할 수 있다.
시간적 통합(Temporal Integration)은 연속된 여러 프레임의 정보를 함께 사용하여 경계 상자의 안정성을 향상시킨다. 단일 프레임에서는 노이즈, 희소한 점군, 부분 가림 때문에 검출 결과가 흔들릴 수 있다. 여러 프레임을 누적하면 객체의 기하학적 정보가 더욱 풍부해지며, 먼 거리의 객체나 일부만 보이는 객체도 더욱 안정적으로 검출할 수 있다.
후처리(Post-processing)는 신경망의 원시 출력(Raw Output)을 실제 사용 가능한 형태로 정제하는 과정이다. 비최대 억제(Non-Maximum Suppression, NMS)는 동일 객체에 대한 중복 검출을 제거하며, 신뢰도 임계값(Confidence Threshold)을 이용하여 잘못된 검출(False Positive)을 제거한다. 또한 기하학적 일관성 검사(Geometric Consistency Check)와 시간적 평활화(Temporal Filtering)를 수행하여 보다 안정적인 경계 상자를 생성한다.
검출 신뢰도(Detection Confidence)는 단순히 객체 존재 여부를 의미하는 것이 아니라 예측 결과의 신뢰성을 나타낸다. 높은 신뢰도는 충분한 센서 정보에 의해 검출된 객체를 의미하며, 낮은 신뢰도는 부분 가림, 노이즈, 환경 불확실성 때문에 발생하는 경우가 많다. 자율주행 시스템은 이러한 신뢰도를 이용하여 위험도를 평가하고, 주행 속도를 조절하거나, 추가 센서를 활용하는 등 더욱 안전한 의사결정을 수행한다.
성능 평가는 다양한 정량적 지표를 이용하여 수행된다. 3차원 교집합 비율(3D Intersection over Union, IoU)은 예측된 경계 상자와 실제 경계 상자의 겹침 정도를 평가하며, 평균 정밀도(Mean Average Precision, mAP)는 전체 검출 성능을 종합적으로 평가한다. 또한 중심 위치 오차(Center Localization Error), 방향 오차(Orientation Error), 크기 오차(Dimension Error), 위치 정확도(Translation Accuracy), 속도 추정 오차(Velocity Error), 추론 시간(Inference Latency), 프레임 처리 속도(Frame Rate) 등이 함께 평가된다. 실제 환경에서의 강인성을 확보하기 위해서는 다양한 환경에서의 성능 검증이 반드시 필요하다.
산업용 자율주행 모바일 로봇은 다양한 작업에서 3차원 경계 상자 검출을 활용한다. 창고 로봇은 팔레트, 선반, 지게차, 작업자를 검출하여 안전하게 이동한다. 제조 공장에서는 생산 설비, 운반 카트, 안전 펜스, 작업 대상을 인식한다. 실외 물류 차량은 자동차, 보행자, 건설 장비, 적재 구역, 기반 시설을 검출하여 안전한 자율주행을 수행한다. 검사 로봇은 산업 설비의 위치를 정확히 추정한 후 검사 작업을 수행하며, 농업 로봇은 작물, 농기계, 지형 장애물을 검출하여 작업을 수행한다. 이처럼 3차원 경계 상자는 다양한 산업 분야에서 객체를 표준화된 기하학적 형태로 표현하는 핵심 기술이다.
실시간 구현(Real-time Implementation)은 현대 자율주행 시스템에서 반드시 만족해야 하는 핵심 요구사항이다. 최신 센서는 초당 수백만 개의 데이터를 생성하므로 GPU 최적화(GPU Optimization), 희소 계산(Sparse Computation), 메모리 최적화(Memory Optimization), 병렬 처리(Parallel Processing), 하드웨어 가속(Hardware Acceleration), 비동기 파이프라인(Asynchronous Pipeline), 모델 경량화(Model Compression) 등이 적극적으로 활용된다. 계산 효율과 검출 정확도 사이의 균형을 유지하는 것은 실제 시스템 설계에서 가장 중요한 목표 가운데 하나이다.
미래의 3차원 경계 상자 검출(3D Bounding Box Detection)은 단순한 기하학적 객체 검출을 넘어 파운데이션 모델(Foundation Model), 멀티모달 추론(Multimodal Reasoning), 세계 모델(World Model), 장기 환경 기억(Long-term Environmental Memory)을 포함하는 통합 인지 구조(Unified Perception Architecture)로 발전할 것이다. 미래의 시스템은 프레임마다 독립적인 경계 상자를 생성하는 것이 아니라 객체의 정체성(Identity), 물리적 상호작용(Physical Interaction), 시간적 연속성(Temporal Continuity), 의미적 관계(Semantic Relationship), 행동 의도(Behavior Intention), 환경 맥락(Environmental Context)을 동시에 이해하게 된다. 이러한 통합된 공간 표현은 자율주행 로봇이 사람과 유사한 수준의 공간 이해 능력을 갖도록 하며, 3차원 경계 상자 검출은 차세대 지능형 로봇 인지 시스템을 구성하는 핵심 기술로 더욱 중요한 역할을 수행하게 될 것이다.
18.5 Occupancy Grid and Voxel Maps
점유 격자 지도(Occupancy Grid Mapping)와 복셀 지도(Voxel Mapping)는 자율주행 로봇에서 가장 기본적이고 중요한 공간 표현(Spatial Representation) 기술 가운데 하나이다. 이 기술은 원시 센서(Raw Sensor)에서 획득한 데이터를 내비게이션(Navigation), 경로 계획(Planning), 위치추정(Localization), 장애물 회피(Obstacle Avoidance), 의사결정(Decision Making) 알고리즘이 효율적으로 사용할 수 있는 구조화된 환경 모델(Environmental Model)로 변환한다. 점군(Point Cloud)은 매우 상세한 기하학적 정보를 제공하지만 데이터가 불규칙하고 희소(Sparse)하며 계산 비용이 크다는 단점이 있다. 반면 점유 격자와 복셀 지도는 공간을 일정한 셀(Cell)로 분할하여 규칙적인 구조를 만들기 때문에 로봇이 주변 환경을 일관된 수학적 구조(Mathematical Structure)로 이해할 수 있다. 결과적으로 수백만 개의 센서 측정값은 자유 공간(Free Space), 점유 공간(Occupied Space), 미관측 공간(Unknown Space)을 표현하는 간결한 공간 모델로 변환되며 실시간 처리에 적합한 형태를 제공한다.
점유 지도(Occupancy Map)의 가장 중요한 목적은 단순히 환경을 시각화하는 것이 아니라 로봇 주변의 모든 위치에 대해 해당 공간이 실제 물체에 의해 점유되어 있을 확률(Occupancy Probability)을 추정하는 것이다. 결정론적 지도(Deterministic Map)가 공간을 단순히 장애물 또는 빈 공간으로 구분하는 것과 달리, 점유 지도는 센서 노이즈(Sensor Noise), 제한된 관측(Limited Observation), 동적 환경(Dynamic Environment), 불완전한 측정(Incomplete Measurement)으로 인해 발생하는 불확실성(Uncertainty)을 함께 표현한다. 따라서 모든 격자 셀(Grid Cell)은 해당 공간이 점유되었는지, 비어 있는지, 아직 관측되지 않았는지를 확률적으로 저장한다. 이러한 확률 기반 표현은 새로운 센서 정보가 들어올 때마다 환경 모델을 지속적으로 개선하면서 더욱 안전한 자율주행을 가능하게 한다.
점유 격자 지도(Occupancy Grid)는 원래 2차원 이동 로봇(2D Mobile Robot)을 위해 개발되었다. 초기에는 이동 공간을 동일한 크기의 정사각형 셀(Square Cell)로 분할하고, 각 셀에 점유 확률을 저장하는 방식이 사용되었다. 이 방법은 실내 환경에서 2차원 라이다(2D LiDAR)를 이용한 자율주행에 매우 효과적이었다. 이후 이러한 개념은 지속적으로 발전하여 자율주행 자동차(Autonomous Vehicle), 물류 로봇(Warehouse Robot), 산업 검사 로봇(Industrial Inspection Robot), 농업 기계(Agricultural Machine), 건설 로봇(Construction Robot), 실외 자율주행 모바일 로봇(Outdoor Autonomous Mobile Robot) 등 다양한 분야에서 활용되는 3차원 환경 모델링 기술의 기반이 되었다.
복셀 지도(Voxel Map)는 점유 격자의 개념을 3차원 공간으로 확장한 표현 방식이다. 2차원에서는 정사각형 셀을 사용하지만, 3차원에서는 입체 정육면체(Cell)인 복셀(Voxel)을 사용하여 공간을 표현한다. 각각의 복셀은 하나의 부피(Volume)를 나타내며, 건물(Building), 산업 장비(Machinery), 식생(Vegetation), 기반 시설(Infrastructure), 선반(Shelf), 컨테이너(Container), 계단(Stair), 경사로(Ramp), 천장(Ceiling) 등 복잡한 3차원 구조를 표현할 수 있다. 따라서 복셀 지도는 단순히 바닥의 장애물만 표현하는 것이 아니라 공간 전체를 입체적으로 이해할 수 있도록 하며, 자율 검사(Autonomous Inspection), 로봇 조작(Manipulation), 드론(Aerial Robot), 건설 자동화(Construction Automation), 디지털 트윈(Digital Twin) 구축에 필수적인 기술이다.
지도 해상도(Map Resolution)의 선택은 시스템 설계에서 가장 중요한 요소 가운데 하나이다. 복셀 크기(Voxel Size)가 작을수록 환경을 더욱 세밀하게 표현할 수 있지만 메모리 사용량과 계산량이 급격히 증가한다. 반대로 큰 복셀은 계산 효율이 높지만 작은 장애물이나 좁은 통로를 표현하지 못할 수 있다. 따라서 실제 시스템에서는 사용 가능한 컴퓨팅 자원, 센서 성능, 주행 속도, 안전 요구사항 등을 고려하여 적절한 공간 해상도를 선택한다. 산업용 로봇에서는 작업 목적에 따라 서로 다른 해상도의 복셀을 동시에 사용하는 경우도 많다.
점유 지도 생성은 일반적으로 센서 데이터 획득 직후부터 시작된다. 라이다(LiDAR), 스테레오 카메라(Stereo Camera), 깊이 카메라(Depth Camera), 레이더(Radar), 또는 여러 센서를 융합한 데이터는 먼저 공통 좌표계(Common Coordinate Frame)로 변환된 후 지도에 투영된다. 각각의 센서 관측은 특정 셀이 점유되었는지 또는 비어 있는지에 대한 증거(Evidence)를 제공한다. 동일한 위치를 반복적으로 관측할수록 점유 확률은 더욱 높은 신뢰도를 가지게 되며, 새로운 관측이 이전 결과와 다르면 확률은 다시 조정된다. 따라서 점유 지도는 고정된 지도가 아니라 지속적으로 진화하는 동적 환경 모델이다.
확률 기반 점유 추정(Probabilistic Occupancy Estimation)은 일반적으로 베이지안 추론(Bayesian Inference)을 이용한다. 센서 관측은 항상 오차를 포함하기 때문에 모든 측정값을 절대적인 사실로 간주하지 않는다. 대신 이전의 점유 확률(Prior Probability)과 새롭게 획득한 센서 정보를 결합하여 새로운 확률을 계산한다. 반복적으로 장애물이 관측되는 셀은 점유 확률이 점점 증가하며, 반복적으로 빈 공간으로 관측되는 셀은 자유 공간 확률이 높아진다. 충분한 관측이 이루어지지 않은 영역은 계속해서 미관측 공간으로 유지된다. 이러한 확률적 표현은 노이즈에 강하면서도 수학적으로 일관된 불확실성 관리(Uncertainty Management)를 가능하게 한다.
실제 구현에서는 확률 대신 로그 오즈(Log-Odds) 표현이 널리 사용된다. 로그 오즈 값이 양수이면 장애물이 존재할 가능성이 높고, 음수이면 자유 공간일 가능성이 높다는 의미를 가진다. 새로운 센서 정보는 기존 로그 오즈 값에 단순히 더하는 방식으로 반영할 수 있기 때문에 계산이 매우 효율적이며 수치적 안정성(Numerical Stability)도 우수하다. 이러한 이유로 대부분의 최신 자율주행 시스템은 로그 오즈 기반 점유 지도를 사용한다.
센서 모델(Sensor Model)은 점유 추정의 정확도를 결정하는 핵심 요소이다. 라이다는 매우 정확한 거리 정보를 제공하고, 스테레오 카메라는 영상 대응(Image Correspondence)을 이용하여 깊이를 계산하며, 레이더는 악천후에서도 비교적 안정적인 탐지를 수행하지만 공간 해상도는 낮다. 초음파 센서(Ultrasonic Sensor)는 근거리 장애물 탐지에 적합하다. 각각의 센서는 서로 다른 특성을 가지므로 역센서 모델(Inverse Sensor Model)을 이용하여 센서별로 점유 확률을 업데이트한다. 정확한 센서 모델은 각 센서의 장점과 한계를 적절히 반영하여 더욱 신뢰성 높은 지도를 생성한다.
광선 추적(Ray Tracing)은 점유 지도 생성에서 매우 중요한 과정이다. 거리 센서가 장애물을 검출하면 센서에서 장애물까지의 경로에 있는 셀은 자유 공간으로 업데이트되고, 장애물이 위치한 셀은 점유 공간으로 업데이트된다. 이를 통해 단순히 장애물 위치뿐 아니라 실제 주행 가능한 공간까지 동시에 계산할 수 있다. 브레젠험 선 알고리즘(Bresenham Line Algorithm)이나 복셀 순회(Voxel Traversal)와 같은 효율적인 광선 추적 알고리즘은 수천 개의 셀을 매우 빠르게 업데이트하여 실시간 지도 생성을 가능하게 한다.
미관측 공간(Unknown Space)은 점유 지도에서 매우 중요한 의미를 가진다. 로봇은 단순히 빈 공간과 장애물을 구분하는 것뿐 아니라 아직 관측하지 못한 영역도 구분해야 한다. 미관측 공간을 자유 공간으로 간주하면 충돌 위험이 증가하고, 반대로 모두 장애물로 간주하면 이동 가능한 영역이 크게 줄어든다. 따라서 대부분의 자율주행 시스템은 작업 환경과 안전 요구사항에 따라 미관측 공간을 보수적으로 처리한다. 탐사 로봇(Exploration Robot)은 이러한 공간을 적극적으로 탐색하지만, 산업용 로봇은 충분한 센서 정보가 확보되기 전까지 접근하지 않는 경우가 많다.
정적 점유 지도(Static Occupancy Map)는 환경이 거의 변하지 않는다고 가정한다. 이러한 지도는 공장, 창고, 생산 라인과 같이 구조가 일정한 환경에서는 매우 효과적이다. 그러나 실제 환경에는 사람(Pedestrian), 차량(Vehicle), 지게차(Forklift), 이동 로봇(Mobile Robot), 건설 장비(Construction Equipment)와 같은 동적 객체(Dynamic Object)가 지속적으로 이동한다. 동적 점유 지도(Dynamic Occupancy Map)는 단순한 점유 확률뿐 아니라 시간적 지속성(Temporal Persistence)도 함께 관리하여 일시적인 장애물은 시간이 지나면 자동으로 지도에서 제거할 수 있도록 한다.
복셀 지도(Voxel Map)는 단순히 공간이 점유되었는지만 저장하는 것이 아니라 다양한 정보를 함께 저장할 수 있다. 최근의 복셀 지도는 점유 확률뿐 아니라 표면 법선 벡터(Surface Normal), 의미 정보(Semantic Label), 색상(Color), 반사 강도(Reflectivity), 관측 횟수(Observation Count), 신뢰도(Confidence), 시간 정보(Timestamp), 재질(Material Property), 온도(Temperature), 학습된 특징 벡터(Feature Embedding) 등을 저장할 수 있다. 이러한 풍부한 정보는 인지, 위치추정, 의미 이해, 로봇 조작, 디지털 트윈 생성 등을 하나의 통합된 공간 표현에서 수행할 수 있도록 한다.
밀집 복셀 지도(Dense Voxel Grid)는 구현이 단순하지만 대부분의 공간이 비어 있음에도 모든 복셀을 저장해야 하기 때문에 메모리 사용량이 매우 크다. 창고, 공장, 도시, 건설 현장과 같은 대규모 환경에서는 실제 장애물이 차지하는 공간보다 빈 공간이 훨씬 많다. 따라서 실제 시스템에서는 희소 복셀(Sparse Voxel Representation)을 사용하여 관측된 영역만 메모리에 저장한다. 이러한 방식은 높은 공간 해상도를 유지하면서도 메모리 사용량을 크게 줄일 수 있다.
옥트리(Octree)는 가장 널리 사용되는 희소 공간 표현 자료구조(Data Structure)이다. 넓은 빈 공간은 하나의 큰 노드(Node)로 표현하고, 복잡한 구조가 있는 영역만 작은 노드로 계속 분할한다. 이러한 계층적 공간 분할(Hierarchical Spatial Decomposition)은 메모리 사용량을 크게 줄이면서도 장애물 주변은 높은 해상도로 유지할 수 ...
![AMR Sensors and Perception — Ch.18: 3D Perception [KR]](https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fi3kxzzmrzsvfs689e3le.png)



![AMR Sensors and Perception — Ch.24: Industrial Perception Case Studies [KR]](https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F3eo7otf0yw0mo2jejvcp.png)
![AMR Sensors and Perception — Ch.25: Future Robot Perception [KR]](https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fy4fzjnsgx5o5xom1n9ur.png)

![AMR Sensors and Perception — Ch.19: Obstacle Detection [KR]](https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F3lffj7uhnhqf595di3cg.png)
![AMR Sensors and Perception — Ch.20: Free Space Detection [KR]](https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fp0wbiulutk98s8jf56aw.png)