Occupancy Grid Mapping(점유 격자 지도): 3D 공간을 격자화하여 장애물 점유 확률을 계산하는 방식

자율주행 자동차가 안전하게 이동하려면 주변에 어떤 물체가 있는지 인식하는 것뿐만 아니라, 차량이 지나갈 수 있는 공간과 장애물이 존재할 가능성이 높은 공간을 구분해야 합니다. 도로 위 차량과 보행자, 가로수, 건물, 도로 경계 등 다양한 요소를 실시간으로 파악해야 하기 때문입니다. 이때 활용되는 대표적인 기술 중 하나가 **Occupancy Grid Mapping(점유 격자 지도)**입니다.

점유 격자 지도는 주변 공간을 작은 격자 단위로 나누고, 각 격자에 장애물이 존재할 확률을 기록하는 지도 표현 방식입니다. 라이다(LiDAR), 카메라, 레이더 등의 센서에서 얻은 데이터를 바탕으로 각 공간의 상태를 추정할 수 있습니다. 특히 자율주행 차량과 모바일 로봇에서는 장애물 회피, 주행 가능 영역 분석, 경로 계획을 위한 기초 정보로 활용됩니다.

이번 글에서는 점유 격자 지도가 작동하는 원리와 확률 계산 방식, 2차원 지도와 3차원 지도의 차이, 실제 자율주행 시스템에서의 활용 방법을 살펴보겠습니다.

1. Occupancy Grid Mapping이란 무엇인가?

Occupancy Grid Mapping은 주변 환경을 일정한 크기의 격자로 분할한 다음, 각각의 격자가 장애물에 의해 점유되어 있을 가능성을 추정하는 기술입니다.

일반적인 지도에서는 도로나 건물의 위치를 선이나 면으로 표현할 수 있습니다. 반면 점유 격자 지도에서는 공간을 작은 셀(Cell)로 나누고 각 셀에 점유 확률을 부여합니다.

예를 들어 자율주행 차량 앞쪽의 특정 격자에서 라이다 반사점이 반복적으로 관측된다면 해당 공간에 장애물이 있을 가능성이 높아질 수 있습니다. 반대로 센서가 장애물이 없는 공간을 통과해 먼 거리의 물체를 측정했다면, 그 경로에 있는 일부 격자는 비어 있을 가능성이 높다고 판단할 수 있습니다.

일반적으로 각 격자의 점유 확률은 0과 1 사이의 값으로 표현합니다.

  • 0에 가까운 값: 장애물이 없을 가능성이 높음
  • 0.5에 가까운 값: 점유 여부가 불확실함
  • 1에 가까운 값: 장애물이 존재할 가능성이 높음

다만 실제 시스템에서는 특정 확률을 기준으로 점유·비점유·미관측 상태를 구분하는 방식이 사용될 수 있습니다. 중요한 점은 센서가 아직 관측하지 않은 공간을 장애물이 없는 공간으로 단정해서는 안 된다는 것입니다.

이러한 확률 기반 표현은 센서의 측정 오차와 불완전한 관측을 처리하는 데 도움이 됩니다.

2. 점유 격자 지도는 어떻게 공간을 표현할까?

점유 격자 지도의 핵심은 연속적인 실제 공간을 컴퓨터가 처리할 수 있는 이산적인 격자 구조로 바꾸는 것입니다.

2차원 지도에서는 바닥면을 일정한 크기의 정사각형 셀로 나눕니다. 예를 들어 한 셀의 크기를 10cm로 설정하면 차량 주변 공간을 10cm 단위로 표현할 수 있습니다.

셀의 크기가 작으면 장애물의 경계와 좁은 공간을 세밀하게 표현할 수 있지만, 저장해야 하는 셀의 수가 많아집니다. 반대로 셀의 크기가 크면 계산량과 메모리 사용량을 줄일 수 있지만 작은 장애물이나 세부적인 형태를 구분하기 어려워질 수 있습니다.

3차원 점유 격자 지도에서는 공간을 가로·세로·높이 방향으로 분할합니다. 이때 각 단위 공간을 일반적으로 복셀(Voxel)이라고 부릅니다.

예를 들어 도로 위의 낮은 장애물과 차량 위쪽으로 돌출된 구조물을 구분하려면 높이 정보가 필요합니다. 3차원 복셀 구조는 이러한 공간적 차이를 표현할 수 있다는 장점이 있습니다.

그러나 3차원 지도는 동일한 영역을 표현할 때 2차원 지도보다 훨씬 많은 셀을 필요로 할 수 있습니다. 따라서 실제 시스템에서는 필요한 해상도와 탐색 범위, 연산 성능을 고려해 격자 구조를 설계해야 합니다.

3. 점유 확률은 어떤 원리로 계산할까?

점유 격자 지도는 센서가 한 번 측정한 결과만으로 공간의 상태를 확정하지 않습니다. 일반적으로 새로운 관측값이 들어올 때마다 기존 추정값을 갱신하는 확률적 접근법을 사용합니다.

대표적인 방법은 베이즈 정리(Bayes’ Theorem)에 기반한 확률 갱신입니다.

베이즈 정리는 기존에 가지고 있던 정보와 새롭게 관측한 정보를 결합해 어떤 사건이 발생했을 가능성을 다시 계산하는 원리입니다.

예를 들어 특정 격자에 장애물이 존재할 가능성을 50%로 추정했다고 가정해 보겠습니다. 이후 라이다가 해당 위치에서 장애물의 반사점을 여러 차례 관측하면 점유 확률은 점차 높아질 수 있습니다. 반대로 장애물이 없는 공간을 통과하는 센서 관측이 반복되면 점유 확률은 낮아질 수 있습니다.

실제 구현에서는 확률을 직접 반복 계산하는 대신 로그 오즈(Log-Odds)를 사용하는 방법이 널리 알려져 있습니다.

점유 확률을 (p)라고 하면 로그 오즈는 다음과 같이 표현할 수 있습니다.

[
L=\log\left(\frac{p}{1-p}\right)
]

이 표현을 사용하면 새로운 관측 정보를 더하는 형태로 확률을 갱신할 수 있습니다.

[
L_t=L_{t-1}+L(z_t)-L_0
]

여기서 (L_t)는 현재 시점의 로그 오즈, (L_{t-1})은 이전 추정값, (L(z_t))는 새로운 센서 관측에 따른 로그 오즈, (L_0)는 사전 확률의 로그 오즈입니다.

이 식은 관측값이 서로 조건부 독립이라는 가정 등을 사용하는 전형적인 점유 격자 갱신 모델을 단순화해 나타낸 것입니다. 실제 구현에서는 센서의 관측 모델과 환경 특성에 맞춰 계산 방식을 조정해야 합니다.

이러한 갱신 방식은 불확실한 센서 데이터를 누적해 공간의 상태를 점진적으로 추정할 수 있게 합니다.

4. 라이다 센서는 점유 격자 지도를 어떻게 만드는가?

라이다는 레이저를 발사하고 반사되어 돌아오는 신호를 측정해 주변 물체까지의 거리를 계산합니다. 여러 방향에서 얻은 거리 측정값을 모으면 3차원 포인트 클라우드(Point Cloud)를 생성할 수 있습니다.

점유 격자 지도는 이 데이터를 이용해 장애물이 존재할 가능성이 높은 공간과 비어 있을 가능성이 높은 공간을 추정합니다.

예를 들어 라이다가 전방 15m 지점에 있는 차량을 측정했다면 해당 위치 주변의 격자는 점유된 공간으로 업데이트할 수 있습니다. 센서에서 측정 지점까지의 광선 경로는 장애물이 없는 공간을 관측했다는 근거로 활용될 수 있습니다.

다만 모든 경로의 격자를 무조건 비어 있다고 처리하는 것은 아닙니다. 측정값의 불확실성, 반사 특성, 가려진 영역 등을 고려해 관측 가능한 범위 안에서 업데이트해야 합니다.

또한 센서가 측정하지 못한 영역은 미관측 상태로 남겨둘 수 있습니다. 예를 들어 대형 트럭 뒤쪽은 라이다의 시야에서 가려질 수 있으므로, 그 공간에 장애물이 없다고 단정하기 어렵습니다.

이러한 구분은 자율주행 차량이 불확실한 환경에서 지나치게 낙관적인 판단을 내리지 않도록 하는 데 중요합니다.

5. 2D 점유 격자 지도와 3D 점유 격자 지도의 차이

2D와 3D 점유 격자 지도는 공간을 표현하는 차원과 계산 요구사항에서 차이가 있습니다.

2차원 점유 격자 지도는 주로 차량이 이동하는 바닥면을 기준으로 장애물과 빈 공간을 나타냅니다. 구조가 비교적 단순하고 메모리 사용량이 적어 실시간 경로 계획이나 실내 로봇의 이동에 유리합니다.

반면 3차원 점유 격자 지도는 높이까지 포함해 공간을 표현합니다. 도로 위 장애물의 높이, 천장이나 돌출 구조물, 복잡한 입체 환경 등을 분석하는 데 도움이 됩니다.

예를 들어 지하 주차장에서 차량이 이동한다고 가정해 보겠습니다. 2D 지도만 사용하면 바닥면에서 장애물이 차지하는 위치를 표현하기 쉽지만, 높이가 낮은 구조물이나 차량 위쪽의 공간 제약을 별도로 판단해야 할 수 있습니다. 3D 지도는 이러한 높이 정보를 직접 표현할 수 있습니다.

그렇다고 3D 지도가 모든 상황에서 더 좋은 것은 아닙니다. 저장 공간과 계산량이 증가하므로, 실제 적용에서는 필요한 정보의 종류에 따라 2D, 3D 또는 두 방식을 결합한 구조를 선택할 수 있습니다.

6. 자율주행에서 Occupancy Grid Mapping이 활용되는 사례

점유 격자 지도는 자율주행 차량이 주변 환경을 이해하고 주행 경로를 계획하는 과정에서 활용될 수 있습니다.

첫 번째 활용 분야는 장애물 회피입니다. 차량 주변의 점유 상태를 분석하면 어떤 공간에 장애물이 존재할 가능성이 높은지 파악하고, 충돌 위험이 있는 경로를 피하도록 계획할 수 있습니다.

두 번째는 주행 가능 영역 분석입니다. 도로 경계와 장애물의 위치를 고려해 차량이 이동할 수 있는 공간을 추정할 수 있습니다. 다만 점유 지도만으로 주행 가능 여부가 완전히 결정되는 것은 아니며, 차선과 교통 규칙, 도로 표면 상태 등의 정보도 함께 고려해야 합니다.

세 번째는 로봇과 자율주행 차량의 위치 추정 및 지도 작성입니다. 차량이 이동하면서 관측한 데이터를 지도와 결합하면 주변 환경을 지속적으로 업데이트할 수 있습니다. 이러한 과정은 SLAM(Simultaneous Localization and Mapping)과 같은 기술과 연계될 수 있습니다.

네 번째는 동적 환경의 변화 감지입니다. 차량이나 보행자처럼 움직이는 물체가 있는 환경에서는 시간에 따라 점유 상태가 변합니다. 따라서 오래된 관측값을 계속 유지하면 이미 사라진 장애물이 지도에 남을 수 있습니다. 동적 환경에서는 시간 감쇠나 이동 객체 추적 등의 방법을 함께 고려할 수 있습니다.

7. 점유 격자 지도의 한계와 해결 과제

점유 격자 지도는 불확실한 공간 정보를 표현하는 데 유용하지만 몇 가지 한계가 있습니다.

첫째, 해상도와 계산량 사이의 균형이 필요합니다. 셀의 크기를 지나치게 작게 설정하면 세밀한 지도는 만들 수 있지만 처리해야 하는 데이터가 급격히 증가합니다. 특히 3차원 지도에서는 메모리와 연산 자원의 부담이 커질 수 있습니다.

둘째, 센서의 특성에 따라 잘못된 점유 정보가 만들어질 수 있습니다. 유리 표면이나 반사율이 낮은 물체, 강한 햇빛, 비와 눈 등은 측정 품질에 영향을 줄 수 있습니다. 따라서 센서별 관측 모델을 적절하게 설정하고 이상치를 처리해야 합니다.

셋째, 움직이는 물체를 정적인 장애물과 동일하게 취급하면 지도의 신뢰도가 떨어질 수 있습니다. 차량이 지나간 위치가 계속 점유된 상태로 남아 있다면 이후 경로 계획에 불필요한 제약이 생길 수 있습니다.

넷째, 확률이 높다는 사실이 곧바로 장애물이 확실히 존재한다는 뜻은 아닙니다. 점유 확률은 센서 관측과 모델의 가정에 기반한 추정치입니다. 안전이 중요한 시스템에서는 확률값뿐 아니라 관측 신뢰도와 불확실성도 함께 고려해야 합니다.

이러한 문제를 줄이기 위해서는 센서 데이터의 품질 관리, 동적 객체 추적, 효율적인 지도 표현, 실시간 처리 성능 평가 등을 함께 수행해야 합니다.

8. 앞으로의 점유 격자 지도 기술

자율주행 기술이 발전하면서 공간을 단순히 점유 또는 비점유 상태로 나누는 것뿐 아니라, 주변 환경의 의미와 시간에 따른 변화를 함께 분석하려는 접근법도 중요해지고 있습니다.

예를 들어 정적 건물과 움직이는 차량을 구분하거나, 도로의 주행 가능성을 추정하거나, 센서가 관측하지 못한 공간의 불확실성을 관리하는 기능을 점유 지도와 결합할 수 있습니다.

또한 3차원 점유 예측 모델과 딥러닝 기반 환경 인식 기술을 활용하면 카메라 영상이나 여러 센서에서 얻은 정보를 바탕으로 공간의 점유 상태를 추정하는 방법도 연구할 수 있습니다.

다만 이러한 방법은 기존 점유 격자 지도와 동일한 알고리즘은 아닙니다. 전통적인 확률 기반 지도 갱신과 학습 기반 3차원 점유 예측은 사용하는 데이터와 계산 구조, 출력의 의미가 다를 수 있으므로 구분해서 이해해야 합니다.

앞으로도 자율주행 시스템에서는 정확한 공간 표현과 실시간 계산, 불확실성 관리 사이의 균형이 중요한 연구 과제로 남을 것입니다.

결론

Occupancy Grid Mapping은 주변 공간을 작은 격자로 분할하고 각 격자에 장애물이 존재할 가능성을 확률적으로 기록하는 기술입니다. 라이다와 같은 센서에서 얻은 관측값을 누적하면 불완전한 데이터에서도 주변 환경을 점진적으로 추정할 수 있습니다.

2D 점유 격자 지도는 계산 효율성이 중요한 환경에 적합하며, 3D 점유 격자 지도는 높이를 포함한 입체적인 공간 분석에 유리합니다. 그러나 높은 해상도는 계산량을 증가시키고, 센서 오류나 움직이는 물체는 지도에 불확실성을 발생시킬 수 있습니다.

따라서 실제 자율주행 시스템에서는 격자 지도를 생성하는 것뿐 아니라 센서의 관측 특성, 동적 객체의 움직임, 미관측 공간, 처리 성능을 종합적으로 고려해야 합니다.

결국 점유 격자 지도의 핵심은 주변 공간을 단순한 그림으로 표현하는 것이 아니라, 어느 공간에 장애물이 있을 가능성이 높은지, 어디가 비어 있는지, 그리고 어떤 영역을 아직 확실하게 알 수 없는지를 체계적으로 표현하는 데 있습니다. 이러한 공간 정보는 자율주행 차량과 로봇이 보다 합리적으로 이동 경로를 계획하는 데 중요한 기반이 됩니다.

댓글 남기기