Ⅰ. 서 론
기존의 모션 인식 기술은 카메라를 이용한 시각적 영상을 통해 사용자의 움직임을 포착하여 수행됐다. 그러나 최근 Google의 ‘솔리’의 경우, 레이다칩을 통해 모션을 인식하면서 소형화된 레이다칩 기술을 이용하여 IoT(Internet of Things)와 웨어러블 기기 등 다양한 분야에 응용 가능한 차세대 모션 인식 기술로 급부상하고 있다[1]. 레이다를 적용한 모션 인식은 여러 가지 장점이 있으나, 무엇보다도 자연 환경 및 비가시적 상황에서도 모션을 인식할 수 있다는 장점이 있다.
레이다 기술 중에서도 IR-UWB(Impulse Radio-Ultra Wide Band) 레이다는 기술적 강점으로 인해 여러 분야에 걸쳐 사용되며, 모션 인식 기술에도 고성능을 낼 수 있다. IR-UWB 기술은 IR(Impulse Radio)를 사용하여 광대역 방식으로 시간 축에서 순간적인 펄스 신호를 사용하여 저전력 구조의 소형화한 송수신기 구현이 가능하다. 또한, 고속의 송수신이 가능하고 다중 경로 같은 외부 환경에도 강인한 특성을 지니며 전파의 투과성도 우수하다[2],[3]. 그리고 무엇보다도 시간과 거리의 분해 능력과 정밀도가 우수하며[4], FMCW(Frequency-Modulated Continuous Wave) 같은 타 광대역 방식 대비 속도가 빠르기 때문에 응답속도가 빠르다는 강점이 있다. IR-UWB 레이다는 IR 기술과 UWB 기술의 특성을 레이다에 적용하여 다양한 분야에 활용되고 있다. 특히, 근거리 내의 인체(심박, 호흡)의 탐지[5], 모션 인식 등이 있다. IR-UWB 레이다를 적용한 모션 인식 분야에서는 저출력의 짧은 임펄스 신호를 방사하기에 근거리 내에 있는 사람의 움직임을 정밀하게 탐지할 수 있다. 인식 성능을 높이기 위해 다양한 신호처리 기법과 학습 기법이 적용된다.
따라서 위에 언급한 기술적 강점으로 인해 IR-UWB 레이다 기술을 통한 모션 인식 기술은 고성능의 모션 인식을 가능하게 한다. 본 논문에서는 IR-UWB 레이다를 사용한 모션 인식에 관한 연구를 진행하였다. 모션에 대한 데이터를 획득하기 위한 개발 환경을 구축하고, 성능 향상을 위한 신호처리 알고리즘을 구현하였다. 그리고 신호처리 결과를 바탕으로 모션의 특징 추출과 학습을 통해 성능을 검증하였다.
Ⅱ. 모션 인식 방식
모션 인식을 위해서는 인식하고자 하는 움직임의 데이터에서 특징을 추출한 후 이를 통한 학습이 필요하다. 모션 인식을 위한 특징 추출 방식과 학습 알고리즘은 여러 가지가 있으나, 본 논문에서는 신호처리 이후에 데이터의 특징 추출 및 학습 방식으로 local gradient를 이용하는 HOG (Histogram of Oriented Gradient) 특징 추출 방식과 SVM (Support Vector Machine) 학습 방식을 적용했다[6].
HOG 특징 추출은 이미지 데이터의 local gradient 방법을 사용하여 해당 이미지의 특징으로 사용하는 기법이다[7]. HOG의 프로세스는 그림 1과 같다.
이미지의 Gradient를 계산하고, 이를 이용하여 지역적 히스토그램을 생성한다. 그리고 이 지역적 히스토그램을 통해 1-D vector를 생성한다.
이렇게 추출된 특징 데이터는 효과적인 분류 알고리즘인 SVM의 학습 데이터로 사용하여 모션 인식을 위한 모델 학습을 수행한다. SVM은 margin을 극대화하는 결정면을 구하는 기계학습 알고리즘이다. 그리고 특징과 레이블(Label) 데이터로 모델을 학습시켜 classifier를 생성하고, 이를 통해 임의의 모션에 대한 모션 인식을 수행한다.
Ⅲ. 효과적인 모션 인식을 위한 신호처리 알고리즘
모션 인식 성능 향상을 위해 그림 2와 같이 수신한 펄스 신호에 대해 비동기 펄스 누적(non-coherent pulse integration: NCPI)를 수행하여 신호처리를 수행한다.
그림 2처럼 누적 횟수인 I만큼 수신한 펄스 신호를 누적하여 동일한 시점의 샘플의 크기를 더한다. 비동기 펄스 누적은 수신 신호의 레벨을 증폭시키고 잡음과 클러터의 편차를 줄여주어 이후의 신호처리를 원활히 수행할 수 있다. 수신한 비동기 누적 처리를 수행한 신호는 다음의 수식들로 표현할 수 있다.
여기서 P는 송신한 펄스 프레임의 개수이고, K는 단일 펄스의 샘플 개수이며, I는 비동기 누적 횟수이다. 상위 첨자 T는 행렬의 transpose 기호이다.
비동기 펄스 누적 후 최종적으로 식 (1)과 같이 2차원 데이터를 만들어 모션 인식을 위한 신호처리를 수행한다. 세부 프로세스는 그림 3과 같다.
우선, 수신한 2차원 데이터의 평균을 취해 원 신호에서 DC를 제거한다.
클러터 제거 처리는 펄스 프레임 축으로 이동 평균 필터링(moving average filtering)를 통해 부가적인 클러터의 영향을 제거하고, 모션의 미세한 움직임에 대한 신호만을 획득한다. 구현된 클러터 제거 처리는 다음의 식과 같다.
식 (4)를 보면, 윈도우 길이인 M만큼 인접한 펄스 간의 데이터의 평균을 취해 해당 데이터 값의 차를 구한다. 클러터의 경우, 인접한 펄스 사이 간의 평균값과 해당 데이터의 값의 차이가 적어 해당 필터를 통해 제거될 것이다.
이러한 개념으로 클러터 제거는 사물과 같은 고정 환경 클러터 영향을 제거할 수 있어 필수적으로 처리를 해야 한다. 또한, 본 실험에서 사용한 레이다 센서는 송수신기가 같이 붙어있는 구조로서, 송신모드 시 송신 신호가 수신기로 누설된다. 그래서 이 신호를 제거하기 위해서도 클러터 신호 제거 부분은 매우 중요하다. 식 (6)은 클러터 제거 이후의 2차원 데이터 출력을 나타낸다.
Horizontal / vertical 처리는 사용자의 모션에 따른 데이터를 부각시키기 위해 신호를 처리하는 단계이다. Horizontal 처리는 펄스 프레임 단위, Vertical 처리는 단일 펄스의 샘플 단위의 각각의 이동 평균 필터 처리를 의미한다. 두 처리에 대한 자세한 수식은 다음의 식과 같다.
이는 수신한 데이터에서 사용자의 모션 부분을 더욱 두텁게하여, 이후의 모션 인식 성능을 향상시킨다.
그리고 2차원의 신호처리 출력 데이터를 |․|2으로 스케일링을 수행하고, 정규화를 위한 요소별 처리를 다음의 식 (9)와 같이 수행한다.
데이터를 Unsigned int 데이터형의 8 bit인 Q=255에 맞추어 정규화를 수행하고, 모션 인식을 위한 신호처리 데이터를 최종 출력한다.
Ⅳ. 개발 및 구현
IR-UWB 레이다를 이용하여 속도가 다른 두 가지 모션에 대한 데이터를 획득하고 신호처리와 학습을 통해 모션을 인식하도록 하였다. 모션에 대한 구체적인 내용은 그림 4와 같다.
본 실험은 IR-UWB 레이다 센서의 정면에서 측정하였다. 모션의 종류는 두 가지이며, 속도가 다른 Fast/slow 모드로 데이터를 측정하였다. 확대 모션의 경우 두 팔을 오므렸다가 펼쳤고, 축소 모션은 확대 모션과 반대방향으로 실험하였다.
IR-UWB 레이다를 이용한 모션 인식 실험을 위해 구축한 레이다의 세부 사항은 표 1과 같다.
Parameter | Value |
---|---|
Central frequency | 2 GHz |
Bandwidth | 2 GHz |
PRF | 100 MHz |
Pulse width | 500ps |
NCPI | 40 |
Beamwidth | ±60˚ |
Sampling rate | 30 G/s |
IR-UWB의 광대역 신호를 구현하기 위해 중심 주파수와 대역폭은 각각 2 GHz, PRF(Pulse Repetition Frequency)는 100 MHz, 펄스폭은 500 ps, NCPI는 수신 신호를 누적하는 파라미터로 40, 빔폭은 ±60˚, 샘플링율은 30 G/s로 설정하였다. 그리고 레이다와 사용자의 거리는 약 1.0 m로 설정하였다. 위의 파라미터들로 설계된 IR-UWB 신호는 그림 5와 같다.
설계된 샘플링 주파수를 보면, 샘플별 거리 해상도는 0.005 m로 매우 정밀한 것을 볼 수 있으며, 이는 미세한 모션에도 높은 분해 능력을 갖는다.
실험 및 검증을 위한 IR-UWB 개발 프로세스는 다음의 그림 6과 같다.
IR-UWB 레이다 센서를 통해 사람의 2가지 모션에 대 해 속도를 가변하여 측정하였다. 그리고 획득한 원시데이터는 Ethernet을 통해 분석컴퓨터로 송신 후 MATLAB 기반으로 단계별 신호처리를 수행하고, HOG/SVM 방식을 이용한 모션 인식을 수행한다.
Ⅴ. 실험 결과
모션에 대한 원시데이터를 획득하기 위해 앞서 보인 그림 4와 같이 실험하였다. 원시데이터는 2가지 모션에 대해 속도를 달리하여 각각 50개씩 training 데이터를 unsigned integer 32 bit로 획득하였다. 그림 7은 획득한 원시데이터를 영상으로 전시하였다.
그림 7에서 x축은 수신 신호의 펄스 프레임 수, y축은 수신 신호의 샘플 수를 나타낸다. x축의 개수가 다른 이 유는 데이터를 측정한 시간이 각각 다르기 때문이다. 그림에서 빨간색 원 안의 이미지를 보면, 모션에 대한 신호가 변화하고 있는 것을 미세하게 볼 수 있다. 이는 모션이 시간과 거리에 사용자의 움직임이 바뀜에 따른 데이터의 변화를 나타낸다. 또한, 그래프의 노란색/파란색 선의 일정한 신호의 경우, 수신기로 누설된 송신 신호로 현 단계에서는 신호의 세기가 강하나, 신호처리 수행을 통해 제거될 것이다.
신호처리는 3절의 그림 3에서 언급한 4단계로 모션 인식을 위한 처리를 수행할 것이다. 그림 8은 원시데이터의 DC 제거 이후 클러터 제거 처리 결과를 보여준다.
그림 8에서 x축은 펄스 프레임이며, y축은 데이터 샘플이다. M = 2일 때 클러터를 제거한 데이터에서 모션에 대한 부분만을 전시한 것이다. 그림 8의 좌측 (a)의 경우 클러터성분으로 인해 모션에 대한 데이터가 잘 보이지 않으나, 우측 (b)의 클러터 제거 이후의 결과를 보면 클러터 성분이 제거되고 모션 부분이 드러남을 볼 수 있다.
클러터 제거 처리 이후에, Horizontal/Vertical 처리를 수행한다. 처리 결과에 대한 그래프는 그림 9와 같다.
그림 9의 x축은 펄스 프레임이며, y축은 데이터 샘플이다. Mhor, Mver=5일 때, Horizontal/vertical 처리를 수행한 데이터에서 모션에 대한 부분만을 전시한 것이다. 그림 9(a)와 그림 9(b)를 비교해 보면, 처리 전 대비 처리 후의 모션에 대한 데이터가 더욱 확대되고 두꺼워지는 것을 볼 수 있다. 해당 처리를 통해 미세한 모션에 대해서도 인식 성능을 높일 수 있다.
최종적으로 속도가 다른 모션 별로 신호처리한 데이터 에 대해서 정규화한 결과를 그림 10에서 보여준다.
그림 10의 x축은 펄스 프레임이며, y축은 데이터 샘플이다. 정규화한 데이터에서 모션에 대한 부분만을 전시한 것이다. 위 그림을 보면 원시데이터의 결과와 달리 신호처리 이후의 모션에 대한 결과가 뚜렷함을 볼 수 있다. 신호처리 수행을 통해 잡음과 클러터가 제거되고 모션에 대한 데이터만을 얻었다. 또한, 같은 모션일지라도 속도에 따라서 결과 이미지가 다름을 볼 수 있다. 특히 앞선 그림 6의 나타난 선의 누설 신호와 클러터가 제거됨을 볼 수 있다.
신호처리 이후에 모션에 대한 특징을 추출하기 위해서 HOG 특징 추출 방식을 적용했다. 그림 11은 모션에 대한 HOG 특징 추출 결과이다.
그림 11의 x축은 펄스 프레임이며, y축은 데이터 샘플이다. 모션 부근의 특징 추출만을 전시한 것이다. 그림 11은 HOG 특징 추출 방식인 이미지의 셀 사이즈 16×16 gradient를 보여준다. 속도가 다른 모션의 움직임에 따라 신호가 변화하고, 이를 gradient를 통해 특징을 추출하는 것을 보여준다. 그림 12에서는 동일한 모션 데이터에 대한 셀 사이즈별 특징 추출을 비교한 결과이다.
그림 12에서 보면 셀 사이즈에 따라 모션에 따른 데이 터의 변화를 추출하는 정도를 볼 수 있다. 모션의 목적, 동작 정밀도 등에 따라 최적의 셀 사이즈를 적용해야 한다.
본 IR-UWB 레이다를 이용한 모션 인식 실험에서는 모션의 training 데이터를 분석하여, 16×16 셀 사이즈의 HOG 방식과 SVM 기계학습 방식을 사용했다. 실험의 통계적 신뢰도를 높이기 위해 교차검증(K-fold cross validation) 방식을 적용하여 성능을 측정하였다. 본 실험의 모션 인식 학습 결과는 표 2와 같다.
Motion recognition | Experiment result | ||
---|---|---|---|
ZI | ZO | ||
Actual result | ZI | 1.00 | 0.00 |
ZO | 0.06 | 0.94 |
모션 인식 실험 검증결과, 확대(ZI) 모션은 학습 결과가 실제 결과와 동일한 100 % 인식율을 가졌고, 축소(ZO) 모션에 대한 학습 결과는 실제 결과와 동일한 94 % 인식율과 실제 결과와 다른 6 % 인식율을 보였다.
Ⅵ. 결론 및 향후 연구 방향
본 논문에서는 IR-UWB 레이다를 이용하여 사람의 모션 인식에 대한 신호처리 알고리즘을 구현하고 학습을 통해 실험을 검증하였다. 실험에서 볼 수 있듯이 IR-UWB 레이다 기술을 적용한 모션 인식은 고정밀도, 고분해능 등 여러 강점으로 인해 성능이 우수하여 활용 가능성이 높다. 다만, 본 논문에서는 모션의 종류가 적고, 레이다 센서의 정면에서만 측정하여 실험하였다. 레이다의 측면에서 측정하게 되면 영상의 왜곡이 발생할 수 있어 모션 인식에 대한 추가적인 연구가 필요할 것으로 사료된다.
그리고 모션 인식 성능 향상을 위해 수많은 데이터 획득과 사용자의 신체적 특징, 환경 등을 고려하는 것은 매우 중요하다. 인식하고자 하는 모션에 따라 최적의 특징 추출과 학습 알고리즘, 파라미터 등을 분석하여 시스템에 적용한다면 성능을 향상을 시킬 수 있다. 이를 고려하여, 추후에는 영상처리 알고리즘 기법을 적용한 정밀하고 정확도 높은 모션 인식 연구를 진행해야 한다.