차선 단위 경로 탐색, 자율주행 가능 도로만 제시 기능 탑재
경치 좋은 길, 어린이보호구역 적은 길도 추천
카카오택시 데이터 통합, 24시간 운전 경로 확보

카카오내비 엔진을 담당하는 김수진 개발자
카카오내비 엔진을 담당하는 김수진 개발자

3월 자율주행 임시허가를 받은 카카오모빌리티가 자율주행 맞춤형 내비게이션을 개발 중이다. 자율주행차가 주행 가능한 도로만 포함하는 길 탐색, 차선 단위 기준 경로 탐색과 같이 기존 내비게이션에 없는 기능을 탑재한다.

18일부터 20일까지 진행한 카카오 대규모 컨퍼런스 ‘if (카카오) 2020’에서 김수진 카카오모빌리티 내비 엔진 개발자는 카카오내비 알고리즘과 향후 출시 서비스를 공개했다. 개발 중인 카카오내비 서비스로는 자율주행 내비게이션, 테마가 있는 내비게이션, 다양한 사용자 니즈를 반영한 내비게이션을 언급했다.

김수진 개발자는 “지난 3월부터 카카오모빌리티는 자율주행 임시허가를 받아 판교일대에서 테스트를 진행하고 있다. 자율주행차 서비스를 실제로 진행하게 되면 필요한 것이 자율주행차에 맞는 길탐색”이라고 말했다.

자율주행차 전용 내비게이션이 기존 시스템과 가장 다른 점은 차선 단위로 경로를 재탐색하는 기능이 있다는 것이다. 김 개발자는 “현재 차선 단위 길탐색이 가능해지도록 개발에 노력하고 있다. 자율주행차가 주행 가능한 도로만 포함하는 기능도 개발 중”이라고 밝혔다.

테마가 있는 내비게이션은 일반적인 속도 위주 길 안내와 달리, 경치 좋은 길이 많이 포함된 경로와 같은 길을 안내하는 기능이다. 김수진 개발자는 “기분전환이 필요하거나 여행을 하는 하는 사용자들에게 이와 같은 니즈가 있는 것을 확인했다. 예를 들면 제주도에서 해안도로 위주로 드라이브 하기 좋은 경로를 제공할 예정이다. 새로운 이동경험을 사용자에게 제시할 수 있을 것”이라고 설명했다.

속도 이외에 다양한 사용자 선호에 따라 최적 경로를 제시하는 내비게이션도 출시할 예정이다. 김수진 개발자는 “시간, 요금, 어린이보호구역이 적은 도로, 좁지만 빠른 길, 느리지만 넓은 길 등 사용자마다 중요시하는 부분이 다르다는 것을 반영했다. 단순히 빠른 길 추천이 아니라 나에게 꼭 맞는 내비게이션을 제공하고자 한다”고 말했다.
 

◆카카오택시로 수집한 24시간 운전 데이터가 강점

기존 카카오내비가 다른 내비게이션과 차별화되는 부분으로는 데이터를 꼽았다. 카카오 택시로 모은 택시, 대리기사 데이터와 카카오맵, 카카오내비를 통한 일반인 데이터로 다양한 운전 경험 데이터를 활용하는 것이 강점이다.

김수진 개발자는 “최적 경로 계산 서비스에서 특히 중요한 것 중 하나가 데이터다. 가능한한 많은 도로에 대한 속도 데이터를 가지고 있어야 최적 경로를 제공할 수 있다. 카카오내비가 매일 실시간으로 수집하는 길탐색 건수는 600만건에 이른다”고 강조했다.

이어 “카카오내비와 카카오택시를 통해 일반 운전자와 택시, 대리운전사의 시간별 사용량을 비교해보니 뚜렷한 차이를 보였다. 일반 운전자는 출퇴근시간과 낮시간에, 택시기사와 대리운전사는 새벽에 이용량이 많았다. 결과적으로 모든 시간 데이터를 골고루 사용할 수 있었다”고 전했다.

도로 데이터는 재난으로 인한 도로통제상황을 반영하는 경우에 중요하게 사용돼 신뢰성에 큰 영향을 미친다는 설명이다. 김수진 개발자는 “지난 장마때 폭우로 침수된 잠수교를 예시로 들 수 있다”며 “새롭게 생겨나는 도로통제정보들은 사전에 관련 기관에서 정보를 받아 미리 생성한 후 적용 시점에 맞춰 경로를 계산하는데 쓰인다”고 말했다.

알고리즘으로는 모든 도로를 탐색해 속도가 느린 다익스트라(Dijkstra) 알고리즘 대신 출발지와 목적지로 영역을 한정해 경로를 탐색하는 방식을 사용한다. 출발지 주위 도로를 출발 링크, 도착지 인근 도로를 도착 링크로 설정해 이 영역 내 모든 도로를 탐색하고 경로에 대한 소요시간을 계산한다.

소요시간은 도로통과시간과 회전시간으로 계산한다. 도로통과시간은 실시간 수집된 속도 반영한다. 회전시간은 이전 도로에서 직진 혹은 우회전 여부에 따라, 혹은 신호등 여부 직진차선 여부에 따라 다르게 파악한다.

김수진 개발자는 “실제 도로 상황을 최대한 반영하는 값을 계산한다는 것이 중요하다. 소요시간을 계산하고 가장 시간이 짧게 걸리는 도로를 우선 확장한다. 이후 목적 링크에 도착할 때까지 확장, 소요시간 계산, 확장, 소요시간 계산을 반복한다”고 설명했다.

소요시간 계산에는 머신러닝을 사용하며 모델 학습부로 추론부로 나뉜다. 모델학습부에서 사용할 학습데이터는 장기예측시스템과 전처리서버에서 제공한다. 장기예측시스템에서는 실시간으로 수집되는 속도를 계속 저장하며, 일정 패턴을 갖는 데이터들끼리 묶어 평균을 낸다. 패턴에 김 개발자는 “예를 들어 월욜에는 출퇴근 시간에 속도가 낮아지고 일요일에는 낮시간에 속도가 낮아지는 것을 뜻한다”고 설명했다.

패턴 정의 후에는 실시간 속도 정보를 받아 패턴에 따라 평균 데이터를 생성하고 단기예측모델이 이것을 받아 학습한다. 단기 예측 모델 학습에는 그래디언트 부스팅 트리(Gradient Boosting Tree) 사용한다. 평균 속도에 더해 실제 속도와 얼마만큼 오차가 나는지 학습하는 방식이다.

먼저 전처리 서버에서 도로타입이나 교통량과 같은 데이터에 대해 트리형태로 오차를 학습한다. 이 트리는 하나가 아니라 여러개다. 첫 번째 트리에서 발생한 오차는 그 다음 트리로, 해당 트리 오차는 다시 다음 트리로 전달한다. 이 트리값을 모두 합치면 실제 속도와 비슷하게 예측할 수 있다는 설명이다.

추론부에서는 당일 데이터에 해당하는 패턴 모델을 가져와 실시간 속도 정보를 이용해 예측 속도값을 도출한다. 김수진 개발자는 “이렇게 패턴별 에러가 낮은 모델을 사용하기 때문에 예측 속도 정확도를 높일 수 있다. 현재 더 나아가 CNN, LSTM, GNN과 같은 딥러닝 모델로 테스트를 하면서 정확도를 더욱 높이는 작업을 진행 중이다. 내년 쯤에는 유의미한 결과를 발표할 수 있을 것으로 기대한다”고 전했다.

 

[관련기사]현대차·자율주행 실증 지자체 4곳, 자율주행차 데이터 표준 협약

[관련기사]카카오, 5개 신규 서비스 공개...내일부터 연달아 출시

키워드 관련기사
  • 현대차 합작사 모셔널, 완전자율주행 꿈꾼다...미국 네바다주서 4단계 자율주행 허가
  • LGU+, 자율주행 ‘전기버스’ 사업 나서...KT에 도전장 던진다
  • 산업부, 자율주행차·전기차 전용 부서 만들어...미래자동차산업과 신설