엣지 컴퓨팅 기술의 스마트 엑스 디텍터(Smart-X Detector)

김태현

‘67조 7631억원’

한 해 동안 도로 정체로 인해 발생하는 손실을 화폐 가치로 환산한 금액이라고 합니다. 대한민국 1년 예산이 약 500조인 것을 감안한다면, 매우 큰 금액이 도로 위에서 낭비되고 있음을 알 수 있습니다. 이를 해결하기 위해 공공 기관과 수많은 기업들이 노력하고 있지만, 여전히 우리는 도로 위에서 많은 시간을 보내며 살고 있습니다. 이렇게 낭비되는 비용을 절감하고 도로 교통을 원활하게 개선하는 것이 시급해 보입니다.  

그렇다면 어떻게 도로 정체를 해결할 수 있을까요?

공간의 제약이 큰 대한민국에서 기존의 도로를 넓히는 것은 어렵습니다. 새롭게 도로를 만들거나 대중교통을 늘리는 일에는 큰 비용이 발생합니다. 그렇다면 기존의 시스템을 개선하는 방법을 고려할 수밖에 없습니다. 시스템을 개선하기 위해서는 원인을 파악하는 것이 가장 중요합니다. 결국 도로 위에서 발생하는 데이터를 수집하고 분석해야만 도로 정체를 개선할 수 있다는 결론에 도달하게 됩니다.

테스트웍스가 개발 중인 Smart-X Detector

한국판 뉴딜 정책이 시작되면서 정부 주도의 도로 정체를 개선하기 위한 사업들이 진행되고 있습니다. 그리고 이와 관련된 사업을 수행하기 위해 기업들의 관심과 참여가 높아지면서, 도로 위의 데이터를 더 정확하고 편리하게 수집하는 방법에 대한 수요가 증가하고 있습니다.

테스트웍스도 더 효율적으로 문제를 해결하기 위해 도로 위 객체의 이동량과 동선을 측정할 수 있는 플랫폼인 Smart-X Detector를 개발 중에 있습니다.

Smart-X Detector는 인공지능을 사용하여 교통량을 측정합니다. 그렇다면, 어떤 인공지능이 사용되고 있을까요? 테스트웍스 연구 개발 팀이 개발 중인 Smart-X Dectector의 개발 과정을 소개해 드립니다.

인공지능으로 정확하게 교통량을 측정하는 방법

교통량을 측정하기 위해서는 정해진 영역에 어떤 객체가 얼마나 지나가는지를 알아야 합니다. 그러므로 객체를 찾는 방법과 객체를 추적하는 방법이 필요합니다.

우선 실시간으로 사거리의 교통량을 측정한다고 가정해 봅시다.

카메라를 통해 수집된 현재 프레임 상에 차량이 얼마나 있는지를 알기 위해서는 Object Detection 모델을 사용해야 합니다. 차량을 찾도록 학습된 Object Detection 모델은 프레임 상의 서로 다른 차량이 얼마나 있는지를 알려줍니다.  

Object Detection을 진행한 결과

다만 여기서 문제는 Object Detection 모델이 프레임마다 객체를 찾는 역할만 수행할 뿐 추적을 해주지 않는다는 것입니다. 따라서 위의 그림처럼 이전 프레임의 영역 안에 들어온 차량을 다음 프레임에서 중복 측정하는 경우가 발생합니다.

그러므로 이전 프레임과 현재 프레임에서 찾은 차량이 동일한 차량임을 알 수 있는 방법인 Multi Object Tracking을 적용해야 합니다.

Multi Object Tracking을 진행한 결과

Multi Object Tracking은 각 차량마다 알고리즘이 예측한 차량 위치와 실제 차량의 위치가 동일한지를 판단합니다. 그리고 동일하다면 ID 값을 부여해 같은 객체로 판단합니다. 따라서 차량이 이전 프레임과 현재 프레임 모두 정해진 영역 안에 위치하더라도 중복으로 수를 측정하지 않게 됩니다.

다음으로 Object Detection과 Multi Object Tracking에 사용되는 인공지능과 알고리즘의 원리를 좀 더 알아볼까요? 테스트웍스가 이를 활용해 어떤 서비스를 만들고 있는지 소개해 드리려고 합니다.

YOLO를 사용해 객체 찾기

“You only look ones”

모델의 이름에 걸 맞게 이미지를 한번만 보고 어떤 객체가 있는지 판단하는 Object Detection 모델입니다.

Yolo가 Object를 찾는 방법

예를 들어 차량을 찾도록 학습한 Yolo 모델에 이미지를 입력값으로 넣어준 경우. Yolo는 이미지 상에서 차량이라고 예측한 부분을 모두 박스 형태로 찾아줍니다.

NMS(Non-maximal suppression) 알고리즘을 이용하여 굵은 경계로 보이는 박스만 남기고 나머지는 모두 제거하여 최종적으로 모델이 차량이라고 가장 확신하는 영역만 남기게 됩니다.

이렇게 Yolo는 빠르고 정확하게 이미지 상에서 객체의 위치와 그 객체가 무엇인지에 대해 찾아줍니다.

객체를 찾아주는 Yolo는 동일한 객체임을 판단할 수 있는 추적을 하지는 못합니다. 따라서 추적을 하기 위해서는 Multi Object Tracking을 적용해 줘야 합니다. 객체를 추적하는 데에는 Deepsort 알고리즘을 사용합니다.

인공지능이 사람처럼 기억을 할 수 있나요?

사람은 움직이는 물체를 볼 때 외형을 기억해 동일한 물체임을 판단하거나, 다음 위치를 예측해서 동일한 물체임을 판단합니다. 인공지능은 사람의 지능을 알고리즘으로 표현한 것입니다. 따라서 알고리즘을 사용해 물체의 움직임을 예측 하거나, 외형을 기억한다면 사람처럼 동일한 물체임을 판단할 수 있을 겁니다.

이를 구현한 것이 바로 Sort와 Deepsort입니다.

Sort는 예측 알고리즘인 Kalman Filter를 사용해 객체의 다음 위치를 예측하고 예측값과 실제 객체의 다음 위치가 일치할 경우 동일한 객체로 판단합니다.

Sort가 객체를 올바르게 Tracking 한 경우

예를 들어 보겠습니다. 위의 그림처럼 두 사람이 서로 마주 보고 걸어가는 경우, Sort는 다음 프레임에서의 사람의 이동 위치를 예측합니다. 그리고 예측과 같이 다음 프레임에서 해당 위치에 사람이 있을 경우 같은 사람으로 인식하고 동일한 사람으로 판단합니다.

그럼 만약 예측한 곳에 객체가 없다면 어떻게 될까요? 두 사람이 겹쳐서 한 사람이 가려졌다가 다시 나타나는 경우를 가정해 보겠습니다.

Sort가 객체를 Tracking 하지 못한 경우

Sort는 두 사람이 겹쳤다가 나왔을 경우 겹쳐진 사람을 새로운 사람으로 인식합니다. Sort는 두 사람이 겹친 경우 겹쳐진 사람에 대한 예측 값은 가지고 있으나, 실제로 겹쳐진 사람이 화면 상에 가려지게 되면 예측한 정보를 지웁니다. 그리고 다음 프레임에서 겹쳐졌던 사람이 나타나면 예측 값을 지웠기 때문에 새로운 사람으로 판단하게 됩니다.

도로 위에서는 수많은 차량과 사람들이 오가기 때문에 가려짐 현상은 필수적으로 발생합니다. 만약 Sort를 교통량을 측정하기 위해 사용한다면, 정확한 데이터를 기대할 수 없을 것입니다.

그래서 이런 Sort의 단점을 보완하기 위해 만들어진 것이 바로 Deepsort입니다.

Deepsort는 예측뿐만 아니라 딥러닝 모델을 사용해서 객체의 특징을 저장하고 이미지상에 존재하는 객체들과 특징을 비교해 동일한 객체임을 판단합니다.

Deepsort가 객체를 Tracking 하는 방법

즉 위의 그림처럼 화면상에서 두 사람이 겹쳐져 한 사람에 대한 정보가 사라졌을 때도 Deepsort는 가려진 사람에 대한 정보를 기억해뒀다가 다시 등장하면 동일한 사람으로 판단합니다.

따라서 Deepsort를 사용하면 수많은 사람과 차량이 지나가는 도로 위에서도 정확하게 교통량을 측정할 수 있습니다.

언제 어디서나 빠르고 정확하게

위에서 설명한 바와 같이 테스트웍스는 Yolo와 Deepsort를 사용해 Smart-X Detector를 만들었습니다. Smart-X Detector를 통하면 사용자가 가진 영상에서 원하는 객체를 선택하고 영역을 설정 시, 영상을 분석해 얼마나 많은 객체가 영역을 통과 했는지 데이터를 추출해 줍니다.

테스트웍스가 개발 중인 Smart-X Detector

그렇다면 Smart-X Detector가 다른 서비스에 비해 가지는 장점은 무엇일까요?

테스트웍스는 Data Centric AI를 지향하는 기업으로, 수년 간 다양한 산업에서 대규모 데이터 셋 가공 경험과 함께 자체 보유한 양질의 학습 데이터 셋을 활용해 인공지능 모델을 훈련합니다. 따라서 양질의 데이터로 훈련된 테스트웍스의 인공지능 모델은 보다 정확하게 객체를 찾아냅니다.

Deepsort의 성능은 객체 탐지 모델(Yolo)의 정확도가 높을수록 좋아지기에, 자체 보유한 데이터의 모델 훈련으로 정확도가 높아진 Smart-X Detector는 선택한 객체가 어디에서 나와서 어디로 들어가는지, 객체가 많이 등장하는 시간대는 언제인지 등을 빠르고 정확하게 분석할 수 있습니다.

실제 도로 영상의 경우에는 교통공사나 CCTV 업체와 같은 공공기관의 사설 업체에서 주로 관리하기 때문에 접근이 어렵습니다.

그래서, 테스트웍스는 개인이 Edge Device를 통해 데이터를 수집 및 분석 할 수 있도록 경량화된 인공지능 모델 개발을 지원합니다. 무엇보다 데이터를 수집하는 방법과 분석하는 방법 모두를 지원하기 때문에, 사용자는 보다 효율적으로 원하는 데이터를 얻을 수 있습니다.

또한 교통량 측정에 제한되지 않고 움직이는 객체를 모두 추적할 수 있기 때문에 다양한 장소에 적용 및 활용을 기대할 수 있습니다.

제일 앞 차는 무얼 하고 있을까?

어릴 적엔 정체된 도로 위에서 항상 제일 앞 차는 무엇을 하고 있을까 궁금증을 가졌었습니다. 그 당시에는 카카오 네비와 같은 앱이 없었기에 도로가 어디까지 정체하는지 왜 정체하는지 알 수 없어 답답해 했던 기억이 남아 있습니다.

그러나 지금은 수많은 데이터를 선별해서 습득할 수 있으며, 데이터의 가치가 점점 더 높아지는 시대에 살고 있습니다. Smart-X Detector를 활용해 도로 위에서 발생하는 데이터를 쉽고 편하게 분석해 보세요. 이를 활용해 다양한 솔루션이 만들어지면, 도로 위에서 발생하는 소모적인 비용을 수익으로 돌릴 수 있지 않을까요?

테스트웍스는 SMART-X 프로젝트를 통해서 도시 곳곳에서 발생하는 문제들을 해결하기 위해 지속적으로 연구 개발을 하고 있습니다. 위에서 소개해 드린 Smart-X Detector뿐만 아니라 테스트웍스의 다양한 솔루션들이 사람들의 삶을 보다 행복하게 만들어 줄 수 있기를 기대합니다.

김태현

연구원, AI 연구 개발팀

울산과학기술원 컴퓨터공학/산업디자인 학사

기술 창업을 목표로 하고 있으며 아이디어를 구현하는 방법에 대하여 큰 관심을 가지고 있다. 현재 테스트웍스의 AI 연구 개발팀에서 Edge Device 개발, 딥러닝 모델 개발을 담당하여 연구하고 있다.