보행자 행동 예측(Pedestrian Trajectory Prediction): LSTM 및 GNN 기반 방향 추정 모델

자율주행 자동차가 도심 도로를 안전하게 주행하려면 현재 보행자의 위치를 정확하게 파악하는 것만으로는 충분하지 않습니다. 보행자가 앞으로 어느 방향으로 이동할지, 도로를 건널 가능성이 있는지, 주변 사람의 움직임에 따라 경로를 바꿀 수 있는지도 예측해야 합니다. 이러한 문제를 해결하기 위해 연구되는 기술이 바로 **보행자 행동 예측(Pedestrian Trajectory Prediction)**입니다.

보행자는 자동차와 달리 이동 방향을 갑자기 바꾸거나, 다른 사람을 피하거나, 신호등과 주변 교통 상황에 반응할 수 있습니다. 따라서 현재 위치와 속도만으로 미래의 이동 경로를 정확하게 계산하기는 어렵습니다. 특히 횡단보도 주변이나 차량이 밀집한 도심에서는 보행자와 차량의 상호작용을 함께 고려해야 합니다.

이러한 복잡한 움직임을 분석하기 위해 인공지능 기반 예측 모델이 활용됩니다. 대표적인 접근법으로는 시간에 따른 움직임을 학습하는 LSTM(Long Short-Term Memory)과 여러 보행자 사이의 관계를 분석하는 GNN(Graph Neural Network)이 있습니다.

이 글에서는 보행자 이동 경로 예측의 기본 원리부터 LSTM과 GNN의 작동 방식, 두 기술의 결합 방법, 실제 자율주행 환경에서의 활용 사례와 기술적 한계까지 살펴보겠습니다.

1. 보행자 행동 예측이란 무엇인가?

보행자 행동 예측은 과거와 현재의 위치, 이동 속도, 진행 방향 및 주변 환경 정보를 이용해 보행자의 미래 움직임을 추정하는 기술입니다.

예를 들어 인도 가장자리에 서 있던 사람이 도로 쪽으로 이동하기 시작했다고 가정해 보겠습니다. 단순한 객체 인식 시스템은 해당 사람의 위치와 형태를 감지할 수 있습니다. 하지만 행동 예측 시스템은 이전의 이동 방향과 속도, 도로와의 거리, 주변 차량의 움직임 등을 분석해 앞으로 어떤 경로를 따라갈 가능성이 있는지 추정합니다.

이 기술은 자율주행 자동차가 위험 상황에 미리 대응하도록 돕는 데 활용될 수 있습니다. 차량이 보행자가 실제로 도로에 진입한 뒤에야 반응하는 것보다, 진입 가능성을 사전에 분석하면 감속이나 정지 여부를 판단할 시간을 확보할 수 있기 때문입니다.

다만 보행자의 의도를 완벽하게 알아내는 것은 불가능합니다. 같은 위치에 서 있는 사람이라도 길을 건너려는 사람일 수 있고, 단순히 휴대전화를 확인하거나 일행을 기다리는 사람일 수도 있습니다.

따라서 실제 예측 시스템은 하나의 미래 경로를 확정하기보다 여러 가능한 경로와 각각의 불확실성을 고려하는 방식이 중요합니다.

2. 보행자 이동 경로 예측에 필요한 데이터

예측 모델의 성능은 알고리즘뿐 아니라 입력 데이터의 품질과 구성에도 영향을 받습니다. 일반적으로 다음과 같은 정보를 활용할 수 있습니다.

첫째, 보행자의 과거 위치입니다. 카메라나 라이다로 보행자를 추적하면 시간에 따른 좌표 변화를 기록할 수 있습니다. 이 데이터를 이용해 이동 속도와 방향의 변화를 계산할 수 있습니다.

둘째, 주변 환경 정보입니다. 도로 경계, 인도, 횡단보도, 건물 출입구와 같은 공간 정보는 보행자가 이동할 수 있는 경로를 추정하는 데 도움이 됩니다.

셋째, 주변 객체의 움직임입니다. 보행자는 다른 사람이나 자전거, 자동차와의 충돌을 피하기 위해 경로를 바꿀 수 있습니다. 따라서 주변 객체의 위치와 이동 방향도 예측에 중요한 정보가 됩니다.

넷째, 시간 정보입니다. 동일한 위치에 있더라도 보행자가 일정 시간 동안 계속 정지했는지, 갑자기 속도를 높였는지에 따라 미래 행동에 대한 추정이 달라질 수 있습니다.

이러한 데이터를 적절하게 정리하면 모델은 과거 움직임의 패턴과 주변 환경의 관계를 학습할 수 있습니다. 그러나 센서가 보행자를 놓치거나 다른 사람과 잘못 연결하는 추적 오류가 발생하면 예측 결과도 영향을 받으므로, 입력 데이터의 신뢰성을 함께 관리해야 합니다.

3. LSTM 모델은 보행자의 시간적 움직임을 어떻게 학습할까?

LSTM은 순환 신경망(RNN)의 한 종류로, 시간 순서에 따라 들어오는 데이터의 관계를 학습하도록 설계된 모델입니다.

일반적인 신경망은 입력된 데이터를 독립적으로 처리할 수 있지만, 보행자 행동 예측에서는 이전 순간의 움직임이 현재의 행동을 이해하는 데 중요한 역할을 합니다. LSTM은 이러한 시간적 관계를 학습하기 위해 내부 상태와 게이트 구조를 사용합니다.

LSTM의 주요 구성 요소는 입력 게이트, 망각 게이트, 출력 게이트입니다.

입력 게이트는 새롭게 들어온 정보 중 내부 상태에 반영할 부분을 조절합니다. 망각 게이트는 기존에 기억하고 있던 정보 중 유지하거나 줄일 부분을 결정합니다. 출력 게이트는 내부 상태를 바탕으로 다음 단계에 전달할 정보를 조절합니다.

이러한 구조를 통해 LSTM은 일정 시간 동안 이어지는 보행자의 움직임을 분석할 수 있습니다.

예를 들어 보행자의 위치가 일정한 방향으로 계속 이동하다가 조금씩 왼쪽으로 바뀌었다고 가정해 보겠습니다. LSTM은 과거 위치의 연속적인 변화를 학습해 방향 전환의 패턴을 추정할 수 있습니다.

일반적인 처리 과정은 과거의 좌표 시퀀스를 입력으로 받아 시간적 특징을 추출하고, 그 특징을 이용해 미래의 좌표를 예측하는 방식으로 구성됩니다.

하지만 LSTM만으로 주변 사람과의 복잡한 상호작용을 충분히 표현하기 어려울 수 있습니다. 여러 보행자가 서로를 피하거나 무리를 이루어 움직이는 상황에서는 시간적 정보뿐 아니라 객체 사이의 관계를 분석하는 방법이 필요합니다.

4. GNN은 주변 보행자와의 관계를 어떻게 분석할까?

GNN(Graph Neural Network)은 그래프 구조로 표현된 데이터의 관계를 학습하는 신경망입니다. 그래프는 노드(Node)와 엣지(Edge)로 구성됩니다.

보행자 예측 문제에서는 각 보행자를 하나의 노드로 표현하고, 보행자 사이의 거리나 상호작용 가능성을 엣지로 나타낼 수 있습니다. 필요에 따라 차량이나 자전거와 같은 주변 객체도 그래프에 포함할 수 있습니다.

예를 들어 횡단보도 앞에 세 명의 보행자가 있다고 가정해 보겠습니다. 한 사람은 앞으로 이동하고 있고, 다른 사람은 반대 방향으로 걷고 있으며, 나머지 한 사람은 앞사람을 피해 방향을 바꾸고 있습니다.

개별 보행자의 위치만 분석하면 이러한 움직임이 왜 발생했는지 이해하기 어려울 수 있습니다. 그러나 객체 사이의 관계를 그래프로 표현하면 주변 사람의 위치와 움직임이 특정 보행자의 이동에 어떤 영향을 주는지 학습할 수 있습니다.

GNN은 각 노드가 주변 노드의 정보를 전달받고 결합하는 메시지 전달(Message Passing) 과정을 통해 관계적 특징을 추출합니다.

이렇게 추출된 정보는 보행자가 다른 사람과 충돌하지 않기 위해 이동 경로를 변경할 가능성이나, 군중 속에서 어떤 방향으로 이동할지를 추정하는 데 활용될 수 있습니다.

다만 GNN이 주변 사람의 의도를 직접 읽는 것은 아닙니다. 모델은 학습 데이터에서 관찰한 움직임과 객체 간 관계를 바탕으로 통계적인 패턴을 학습합니다.

5. LSTM과 GNN을 결합하면 어떤 장점이 있을까?

LSTM과 GNN은 서로 다른 종류의 정보를 처리하는 데 강점이 있습니다.

LSTM은 시간에 따른 움직임의 변화를 분석하는 데 적합합니다. 반면 GNN은 여러 객체 사이의 관계를 표현하는 데 활용할 수 있습니다.

두 모델을 결합하면 보행자의 과거 움직임과 주변 사람의 상호작용을 동시에 고려하는 예측 구조를 설계할 수 있습니다.

예를 들어 시스템은 먼저 각 보행자의 과거 좌표를 LSTM에 입력해 시간적 특징을 추출합니다. 이후 GNN을 이용해 주변 보행자와 차량의 위치 및 관계를 반영합니다. 마지막으로 두 종류의 특징을 결합해 미래의 이동 경로를 예측합니다.

이러한 구조를 개념적으로 정리하면 다음과 같습니다.

과거 위치 데이터 → LSTM 시간적 특징 추출 → GNN 객체 간 관계 분석 → 미래 이동 경로 예측

실제 구현에서는 GNN을 먼저 사용해 주변 객체의 관계를 분석한 뒤 LSTM에 전달하거나, 두 모델의 출력을 결합하는 방식도 가능합니다. 모델의 구성 순서는 데이터 특성과 학습 목표에 따라 달라집니다.

이러한 결합 방식은 여러 사람이 밀집한 장소나 보행자와 차량이 동시에 움직이는 환경에서 유용할 가능성이 있습니다. 그러나 모델을 결합했다고 해서 항상 정확도가 높아지는 것은 아닙니다. 추가 연산으로 인해 처리 시간이 늘어날 수 있고, 데이터가 충분하지 않으면 오히려 성능이 떨어질 수도 있습니다.

6. 미래의 이동 경로를 예측하는 실제 과정

보행자 행동 예측 시스템을 구현하려면 데이터 수집부터 결과 검증까지 여러 단계를 거쳐야 합니다.

첫 번째 단계는 보행자 검출과 추적입니다. 카메라 영상에서 사람을 감지한 다음, 연속된 프레임에서 동일한 사람을 연결해 위치 기록을 만듭니다.

두 번째 단계는 데이터 전처리입니다. 측정 좌표의 노이즈를 줄이고 시간 간격을 정리하며, 보행자가 가려져 위치가 누락된 경우를 처리합니다.

세 번째 단계는 특징 추출입니다. 과거 위치와 이동 속도, 진행 방향, 주변 객체와의 거리 등을 모델의 입력으로 구성합니다.

네 번째 단계는 미래 경로 예측입니다. LSTM이나 GNN 또는 두 모델을 결합한 네트워크가 입력 특징을 분석해 이후의 위치 시퀀스를 추정합니다.

다섯 번째 단계는 결과 평가입니다. 예측된 경로와 실제 이동 경로를 비교해 오차를 계산하고, 다양한 환경에서 모델이 얼마나 안정적으로 작동하는지 확인합니다.

예를 들어 과거 2초 동안의 움직임을 입력해 다음 3초의 경로를 예측하도록 모델을 학습할 수 있습니다. 이 시간 범위는 설명을 위한 예시이며, 실제 설정은 센서의 프레임 속도와 적용 목적에 따라 달라집니다.

예측 시간이 길어질수록 보행자의 행동이 바뀔 가능성이 커지므로, 짧은 미래를 예측하는 경우와 긴 미래를 예측하는 경우를 구분해 평가하는 것이 좋습니다.

7. 보행자 경로 예측의 정확도는 어떻게 평가할까?

예측 모델을 비교하려면 일관된 평가 기준이 필요합니다. 대표적인 지표로는 ADE(Average Displacement Error)와 FDE(Final Displacement Error)가 있습니다.

ADE는 예측 시간 구간에서 모델이 추정한 위치와 실제 위치 사이의 거리를 평균한 값입니다. 전체 경로에서 얼마나 큰 위치 오차가 발생했는지 파악하는 데 활용할 수 있습니다.

FDE는 예측 구간의 마지막 시점에서 예측 위치와 실제 위치 사이의 거리를 측정합니다. 예측 종료 시점의 위치 정확도를 비교할 때 유용합니다.

두 지표는 일반적으로 값이 작을수록 위치 예측 오차가 작다는 의미입니다. 다만 데이터셋의 구성과 측정 단위, 예측 시간에 따라 수치의 의미가 달라지므로 동일한 조건에서 비교해야 합니다.

또한 보행자 예측에서는 평균적인 위치 오차만으로 안전성을 판단하기 어렵습니다. 예측 경로가 실제 경로와 조금 다르더라도 차량과의 충돌 위험을 제대로 포착할 수 있고, 반대로 평균 오차가 작더라도 특정 위험 상황을 놓칠 수 있기 때문입니다.

따라서 횡단보도 진입, 갑작스러운 방향 전환, 보행자 가림, 군중 속 이동 등 다양한 상황을 별도로 평가해야 합니다. 예측 결과가 실제 주행 판단에 어떤 영향을 미치는지도 함께 분석할 필요가 있습니다.

8. 자율주행 시스템에서의 활용 사례

보행자 경로 예측은 여러 자율주행 기능을 지원할 수 있습니다.

첫째, 횡단보도 주변의 위험 예측입니다. 보행자의 위치와 이동 방향을 분석해 도로에 진입할 가능성을 추정하고, 차량의 감속이나 정지 판단에 필요한 정보를 제공할 수 있습니다.

둘째, 복잡한 도심 교차로에서의 주행입니다. 여러 보행자가 서로 다른 방향으로 이동하는 상황에서는 개별 객체의 위치뿐 아니라 주변 사람과의 관계를 분석하는 것이 중요합니다. GNN 기반 관계 분석은 이러한 환경을 모델링하는 데 활용될 수 있습니다.

셋째, 저속 주행과 주차 상황입니다. 주차장이나 좁은 골목에서는 보행자가 차량 가까이에서 이동할 수 있습니다. 미래 경로에 대한 예측은 차량이 이동 속도를 조절하거나 정지 여부를 판단하는 데 참고 정보가 될 수 있습니다.

넷째, 이동 로봇과 물류 자동화입니다. 사람과 같은 공간에서 움직이는 배송 로봇이나 실내 운반 로봇도 주변 사람의 이동 경로를 추정해야 합니다. 이 경우에도 시간적 움직임과 객체 간 관계를 결합하는 모델이 활용될 수 있습니다.

다만 보행자 예측 모델은 주행 안전 시스템의 일부일 뿐입니다. 실제 차량의 감속과 제동은 차량의 동역학, 센서 신뢰도, 안전 규칙, 주변 객체의 위치 등을 함께 고려해 결정해야 합니다.

9. 보행자 행동 예측 기술의 한계와 개선 방향

보행자의 미래 행동에는 본질적인 불확실성이 존재합니다. 갑자기 전화가 오거나, 주변 사람을 발견하거나, 신호등의 변화에 반응하면 직전까지의 이동 패턴과 다른 행동을 보일 수 있습니다.

또한 카메라 시야에서 보행자가 가려지거나 조명이 부족하면 정확한 위치를 측정하기 어렵습니다. 잘못된 추적 결과가 모델에 입력되면 미래 경로 예측에도 오차가 발생할 수 있습니다.

학습 데이터의 편향도 고려해야 합니다. 특정 지역이나 날씨, 보행자 유형에 집중된 데이터로 학습한 모델은 다른 환경에서 성능이 저하될 수 있습니다.

이러한 한계를 줄이려면 다양한 환경에서 수집한 데이터를 사용하고, 여러 가능한 미래 경로를 함께 추정하는 접근법을 고려할 수 있습니다. 예를 들어 보행자가 직진할 가능성과 방향을 바꿀 가능성을 모두 반영하면 하나의 경로만 출력하는 모델보다 행동의 불확실성을 표현하기 쉬워집니다.

LSTM과 GNN 외에도 어텐션 기반 모델과 트랜스포머 등 다양한 구조가 연구되고 있습니다. 어느 모델이 가장 적합한지는 데이터의 특성, 계산 자원, 예측 시간, 필요한 안전 수준에 따라 달라집니다.

궁극적으로 중요한 것은 평균적인 예측 정확도뿐 아니라 드물지만 위험한 상황에서도 모델이 얼마나 신뢰할 수 있는 결과를 제공하는지 검증하는 것입니다.

결론

보행자 행동 예측은 자율주행 자동차가 주변 사람의 현재 위치를 파악하는 단계를 넘어 미래의 이동 가능성을 추정하도록 돕는 기술입니다. LSTM은 시간에 따른 움직임의 변화를 학습하고, GNN은 주변 보행자와 차량 사이의 관계를 표현하는 데 활용됩니다.

두 모델을 결합하면 보행자의 과거 이동 패턴과 주변 환경의 상호작용을 함께 고려하는 예측 시스템을 구성할 수 있습니다. 그러나 보행자의 행동은 상황에 따라 급격히 달라질 수 있으므로 예측 결과를 확정적인 미래로 받아들여서는 안 됩니다.

실제 자율주행 시스템에서는 ADE와 FDE 같은 위치 오차 지표뿐 아니라 위험 상황별 성능, 센서 오류에 대한 강건성, 실시간 처리 능력까지 종합적으로 평가해야 합니다.

결국 보행자 경로 예측의 핵심은 미래의 움직임을 완벽하게 맞히는 것이 아니라, 가능한 행동과 그 불확실성을 합리적으로 추정해 자율주행 시스템이 더 일찍 위험에 대응하도록 돕는 것입니다.

댓글 남기기