Ⅰ. 서 론
UWB(ultra wide-band) 기술은 통신 기능 외에 UWB 기기 간의 cm급의 거리 측정이 가능하다는 특징으로 인해 최근 관심이 집중되고 있다. 특히, 2020년 등장한 IEEE 802.15.4z-2020 표준으로 암호화 기능이 추가되면서 다양한 분야로 사용이 확대되고 있다. 예를 들어 애플과 삼성의 스마트폰에는 UWB 기능이 기본으로 장착되어 있고, 현대자동차를 비롯한 다양한 자동차회사는 UWB를 이용한 스마트키를 출시하고 있다. 향후에는 모빌리티 응용이 확대되면서 로봇 자율주행 등 새로운 산업 분야에 UWB 기술의 보급이 확대될 예정이다[1]~[3].
이렇게 UWB 기술의 보급이 확대되면서 최근 UWB 기기가 설치된 주변 상황을 인지할 수 있는 다양한 센서로 활용하는 연구가 등장하고 있다. UWB 기기가 센서로 사용될 때는 UWB 통신패킷 교환을 이용한 거리측정 및 UWB 레이다와는 그 원리가 다르다. 기존 UWB 통신을 이용한 거리측정은 UWB 통신 시 주고 받는 패킷의 왕복 시간을 이용하며, UWB 레이다는 광대역 펄스를 송신하고 목표물에 맞고 역산란된 신호와의 시간차를 이용하여 거리를 측정한다. 반면, UWB 센서는 UWB 송신기와 UWB 수신기 사이에 정보를 무선으로 주고받을 때 부수적으로 얻어지는 채널 추정을 위한 채널 임펄스 응답 (channel impulse response: CIR)을 이용한다. 이러한 CIR의 시간적인 변화로부터 UWB 송신기와 수신기 사이의 채널 환경의 변화를 예측함으로써 주변 환경의 변화를 센싱하게 된다. UWB 센서는 초기에 UWB 수동 레이다(passive radar)라고도 불리었으나 저자들은 UWB 센서가 더 정확한 의미라고 생각되어 본 논문에서는 UWB 센서라 정의하도록 한다. UWB 센서는 정보를 주고받는 기본적인 통신 기능을 수행하면서 부가적으로 주변 환경을 센싱할 수 있다는 것이 특징이다[4]. 최근 이러한 UWB 센서의 장점을 이용하여 다양한 분야에서 적용이 활발하게 늘어나고 있다. 예를 들어 실내에 있는 사람의 수를 예측하거나 자동차 창문이나 트렁크의 개폐 여부를 파악하는 수준까지 도달하고 있다[5],[6].
UWB 센서의 자동차 응용 중에서 최근 관심이 집중되고 있는 응용 중의 하나가 그림 1과 같이 자동차 좌석에 사람이 탑승하고 있는 상황을 감지하는 것이다. 자동차 좌석에 사람의 탑승 유무를 탐지하는 것은 차량에 어린이를 남겨두고 운전자가 떠나는 경우 유아가 더위나 산소 부족으로 죽는 사고를 막을 수 있어 매우 중요하다. 또한, 향후 자율 주행 자동차가 등장하게 되면 자동차가 자동차 내의 승객의 탑승 상황을 인지하여 자동차 내 조명, 음악 등을 최적으로 조정하는 인포테인먼트 서비스를 제공할 수 있을 것이다. 과거에는 이러한 응용을 위해서 하중센서, 초음파 센서, 적외선 센서, 레이다 센서, 카메라/적외선 센서 등의 다양한 센서를 이용하였다. 하지만 이 경우, 별도의 센서가 필요하고, 센서마다 성능의 한계가 존재한다는 단점이 존재한다. 예를 들어 카메라 센서는 카메라 설치 및 영상처리를 위한 고성능 컴퓨터가 필요할 뿐만 아니라, 빛에 민감하고 개인 정보 보호 등의 문제가 발생할 소지가 있다. 레이다 기술은 영상기술의 문제가 되는 주위 빛의 변화에 무관하다는 장점이 있지만 고출력, 고가의 레이다가 필요하게 된다[7]. 하지만, UWB 통신기기를 센서로 응용하는 경우 별도의 센서가 필요 없이 현재 자동차에 기본 장착되어 있는 UWB 기기를 응용할 수 있어 레이다와 같이 무선의 장점을 취하면서도 추가적인 센서의 설치가 필요 없게 된다. 또한, UWB 출력은 −41.3 dBm/MHz로 매우 낮으므로 전파의 인체영향문제로부터도 자유롭다.
본 연구에서는 UWB를 실제 자동차 내에 장착하고, 이로부터 자동차 내 사람의 탑승하는 다양한 경우에 따른 CIR 특성 변화를 추출하였고, 추출된 CIR 데이터로부터 기계학습의 하나인 SVM(support vector machine) 알고리즘을 이용하여 사람의 탑승 여부를 파악하는 시스템을 구현하였다. 본 연구결과는 향후 UWB 기술을 이용한 다양한 센서 응용에 사용할 수 있는 기반이 될 것이라 사료된다.
Ⅱ. UWB 자동차 좌석 탑승 감지 센서
그림 2는 본 연구에서 제작한 UWB 기반 자동차 좌석 탑승 감지 시스템의 구성도이다. UWB 기기는 현재 대중적으로 가장 많이 사용하는 Qorvo사의 DWM-1000 모듈을 사용하였다[8]. 각각의 DWM-1000 모듈은 아두이노(Arduino) Uno 보드와 연결되어 아두이노 프로그램을 통해 제어되도록 하였다. 자동차 내에 최대 5개의 UWB 보드를 그림과 같이 설치하였다. 먼저, 송신기 1개를 자동차 실내의 룸미러에 부착하였다. 이는 UWB 수신기가 가시선(LoS: line-of-sight) 환경에서 UWB 메시지를 수신하도록 하기 위함이다. 수신기는 최대 4개로 운전석, 조수석 및 뒷자리 양쪽 천장 손잡이 부분에 부착하였다. 이는 자동차 시트의 머리 받침대와 같이 사람에 의해 조절될 수 있는 위치보다는 고정적인 환경을 유지할 수 있는 위치를 선정하기 위함이다. 운전자 혼자 운전하기보다는 차량에 많은 사람이 타는 SUV 카니발 모델을 실험용 차량으로 선정하였다. 본 연구에서는 수신기가 1개, 2개, 4개인 경우에 대해서 탐지 성능을 분석하기 위하여 4개의 수신기를 부착하고 데이터를 한 번에 추출하였으나 실제 응용에서 수신기의 개수는 1개 이상이면 된다.
UWB 송신기는 주기적으로 Blink 메시지를 송신하도록 하였고, 수신기 4개는 이를 동시에 수신하도록 하였다. 수신 시 발생하는 CIR 신호를 수집하기 위하여 USB 3.0을 지원하고 7개의 포트를 가지고 있는 NEXTU사의 707U3 허브를 사용하여 USB 케이블을 통해 PC로 연결하였다. 아두이노 프로그램을 작성하여 UWB 모듈에서 생성된 CIR 데이터는 SPI 인터페이스를 통해 아두이노로 전달되도록 하였고, 아두이노는 UART Serial 통신으로 PC의 MATLAB 프로그램으로 데이터를 전송하게 된다.
그림 2와 같이 UWB 송수신 시스템을 구성하고, UWB 송신기와 UWB 수신기 사이에 존재하는 사람의 수를 1명에서 4명까지 착석의 위치를 변화시키면서 CIR의 변화를 관찰하였다. UWB 송신기는 수십 usec 단위로 Blink 메시지를 송신할 수 있는데, 좌석의 탑승상황의 변화가 빠를 필요가 없으므로 0.2초에 한 번씩 Blink 메시지를 송신하도록 하였다. UWB 송신주파수는 CH5번(중심주파수 6.4896 GHz)을 사용하였다. 이렇게 송신된 UWB Blink 메시지를 4개의 UWB 수신기를 수신하며, 패킷을 수신할 때 마다 발생하는 CIR 데이터를 0.2초에 한 번씩 PC에 전달하고, PC는 이를 저장하게 된다.
UWB 수신기가 Blink 메시지를 받을 때마다 4,096개의 CIR 데이터가 생성되는데, 모든 CIR 데이터를 저장할 필요는 없으므로 첫 번째 의미 있는 UWB 신호가 수신되는 시점인 FP_INDEX를 기준으로 100개의 데이터만을 저장하였다. 이 때 UWB 수신기의 clock이 동기화되어 있지 않으므로 샘플링 순간의 미세한 차이가 발생하는데, 이를 제거하기 위하여 업샘플링(upsamnpling)을 이용한 정렬과정을 거치게 된다. 정렬 과정을 거치기 전과 후의 CIR 데이터를 비교한 결과는 그림 3에서 볼 수 있다. 정렬과정을 거치게 되면 데이터의 샘플링 오차에 따른 데이터의 좌우 흔들림이 줄어듦을 알 수 있다. 실험결과, 정렬과정을 거치지 않으면 머신러닝에서 더 많은 데이터를 필요로 함을 확인하였다. UWB CIR 데이터를 센서로 활용할 때는 데이터의 경량화를 위한 전처리 과정이 매우 중요하다. 다음으로 이렇게 추출한 CIR 데이터를 인공지능에 학습시키기 위해 정규화(normalization)를 진행하였다. DW1000 모듈로 측정한 CIR data의 크기는 0부터 5,000사이의 값으로 변화를 가지며 사람의 탑승 여부에 따라 그 크기의 변화가 매우 큼을 확인하였다. 이에 인공지능 처리 시 데이터 처리를 용이하게 하기 위하여 0에서 1로 정규화시켜 사용하였다.
본 연구에서는 다양하게 사용한 인공지능 모델은 그 구조가 간단하면서도 경량화 구현이 가능한 SVM(support vector machine) 방식을 사용하였다[9]. SVM은 새로운 데이터에 대해 모든 데이터 포인트를 나누는 최적의 경(hyperplane), 즉 가장 큰 margin을 가지는 hyperplane으로 데이터를 분류하는 것이다. Hyperplane에 가장 가까이에 있는 데이터인 support vector가 hyperplane을 결정하는 요인이 된다. 새로운 데이터가 추가되면 이에 따라 hyperplane이 최적화된 경계조건을 생성하고, 이 경계조건을 이용하여 데이터를 분류할 수 있다. 이러한 SVM은 open source library이기에 활용성과 범용성이 높다는 장점이 있으며, 분류나 예측을 동시에 진행할 수 있다.
Ⅲ. 결과 및 고찰
본 논문에서는 표 1과 같이 빈 공간, 운전석, 조수석, 뒷좌석 2개에 사람이 앉는 모든 경우의 수인 9가지 경우의 시나리오를 설정하고, UWB 센서가 이를 분류할 수 있는지에 대해 실험을 진행하였다. 예를 들어 시나리오 ①의 경우는 차량 내 탑승자가 아무도 없는 경우이고, 시나리오 ②는 운전자만 탐승한 경우, 시나리오 ③은 운전자와, 운전자 옆자리에 사람이 앉아있는 경우이다. 시나리오 ④는 운전자와 운전자 뒷자리에 사람이 앉아 있는 경우, 시나리오 ⑤는 운전자와 운전자 대각선에 사림이 앉아 있는 경우이다. 시나리오 ⑥, ⑦, ⑧은 운전자 포함하여 총 3명의 사람이 앉아있는 경우이고, 시나리오 ⑨는 모든 좌석에 사람이 앉아 있는 경우를 의미한다.
학습을 위해 9가지 경우에 대해 최대 1분(총 300×4개의 CIR 데이터) 동안 취득한 데이터를 학습에 사용하였다. 1분 동안 좌석에 앉은 사람은 조금씩 움직이고 두 명 이상인 경우 서로 대화하도록 하여 실제 탑승환경과 유사하도록 하였다.
9가지 경우에 대해 1분 동안 학습한 결과를 바탕으로 40초(200×4개의 CIR 데이터) 동안의 CIR 데이터를 이용하여 다양한 좌석 탑승 시나리오를 구분할 수 있는지를 검증하였다. 각 시나리오별 좌석 탑승 감지의 정확도는 표 2와 같다. 표 2의 세로축은 수신기의 수와 배치를 위미한다. [1]인 경우 수신기 한 개만 운전석 옆 손잡이에 위치한 경우이고, [1]+[4]인 경우는 운전자 옆에 수신기 한 개와 운전자 대각선 뒷자리에 수신기가 1개가 설치된 경우이다. 마지막 행의 [1]+[2]+[3]+[4]는 수신기 4개를 사용하는 경우이다.
실험 결과, 수신기 한 개만으로도 대부분의 탑승상황을 구분할 수 있었으나, 운전자와 운전자 대각선 뒷자리에 사람이 앉아있는 ⑤번 시나리오를 유독 구별하지 못한 경우가 많았다. 하지만 수신기를 2개 이상 사용하면 분류 정확도가 획기적으로 개선됨을 알 수 있었다. 수신기 2개의 경우에도 조수석과 조수석 뒷자리에 위치한 경우에는 모든 시나리오를 100 % 분류할 수 있었다. 당연히, 수신기를 4개 사용하면 모든 시나리오를 100 % 분류할 수 있음을 확인할 수 있었다. 심지어 수신기를 4개 사용하는 경우는 학습데이터 수를 10개(5초)만 사용해도 100 % 분류해 낼 수 있었다.
본 연구는 하나의 차량에 4명의 사람이 하루 동안 진행한 실험을 바탕으로 한 결과이므로 표 2의 결과를 일반화할 수는 어렵다. 당연히 UWB 센서가 차량에 사용되기 위해서는 다양한 날씨, 차가 주차한 주변 차의 상황의 변화, 다양한 연령대와 몸무게를 가진 탑승자에 대한 추가적인 실험 결과가 따라야 한다. 하지만 본 논문의 결과로부터 UWB 기기가 자동차 탑승 상황을 감지하는 센서로서 충분히 사용 가능하다는 것은 분명히 알 수 있었다. 또한, 차량에 배치한 수신기의 개수가 증가될수록 센서의 분류 정확도가 개선됨을 알 수 있었다.
만약 UWB 탑승 센서가 시나리오 1번(좌석에 아무도 없는 경우)과 나머지(좌석에 1명 이상 있는 경우)를 감지하는 센서로 사용된다면 특별한 인공지능 알고리즘 없이도 CIR의 변화가 크게 발생한다는 것만을 이용하여도 100 %의 탐지 능력을 보임을 알 수 있다. 그림 4는 수신기 [1]번과 수신기 [4]번 수신의 CIR 데이터의 시나리오에 따른 변화를 보여주고 있다. 차량 내에 아무도 없는 상황에서의 CIR 특성보다는 차량 내 사람이 있을 때 CIR 변화가 오히려 비슷함을 알 수 있다. 이는 참고문헌 [5]에서 살펴본 바와 같이 차량에 아무도 없는 경우의 CIR 파형과 어느 한 좌석이라도 사람이 있는 경우의 CIR 파형의 차이가 분명한 차이를 보이기 때문이다.
마지막으로 본 논문은 SVM 기반의 머신러닝 알고리즘을 사용하였으나, CNN(convolutional neural network)이나 DNN(deepl neural network) 등 다양한 인공지능 알고리즘을 사용하는 추가적인 연구를 통해 알고리즘에 따른 센서 정확도의 개선도 가능할 것으로 판단된다.
Ⅳ. 결 론
본 논문에서는 최근 관심이 집중되고 있는 UWB 기술을 센서로 응용하는 사례로 차량 내 승객의 탑승 감지 시스템을 구현하고, 그 성능을 확인하였다. 이는 무선 채널의 환경이 바뀔 때마다 CIR 데이터의 경향이 달라지는 점을 이용하는 것으로, 실제 차량 내에서 1개의 송신기와 최대 4개의 송신기로 구성한 경우, 자동차 내 4개의 좌석에 사람이 앉아 있는 9가지 경우에 대해 수신기가 1개인 경우 93 % 이상, 2개인 경우 97 %, 4개인 경우 100 %의 감지 성능을 보임을 확인하였다. 이를 통하여 UWB 기술을 단거리 측위기술로만 사용하는 것이 아니라, 보다 넓은 분야에 응용될 수 있음을 확인할 수 있었다.