TW-See: Human Activity Recognition Through the Wall with Commodity Wi-Fi Devices

jswboseok·2023년 4월 9일
0

Introduction

WIFI Channel State Information(CSI)를 활용한 다양한 application들이 있다. 이는 다른 센서나 비전등의 방법과 비교해 비용이 적게 들고 보안 면에서 장점을 가지고 있어 연구가 활발히 진행중이다. 그러나 본 논문에서 기존 CSI 기반 인간 행동 인식 application의 지적한 문제점으로 두 가지가 있다.

  • CSI는 벽을 만나면 신호가 변한다.
  • 일상적인 환경에서는 여러 개의 방이 소수의 AP에 접속하는 환경이다. 즉 CSI는 벽을 지날 수 밖에 없다.

따라서 본 논문에서는 Through the Wall 상황에서 CSI 기반 행동 기법을 제안하였다. Contribution은 다음과 같다.

  • TW-See 는 Through the Wall 상황에서도 작동할 수 있는 human activity recognition 시스템을 제안하였다.
  • OR-PCA로 인간의 행동과 그에 따른 CSI 값의 상관관계를 얻어 분석할 수 있었다.
  • 신호가 콘크리트 벽을 넘는 환경에서도 TW-See system은 commercial Wi-Fi device를 사용하여 약 94.46%의 행동 인식률을 보였다.

Background


위 그림은 Walking과 Falling의 CSI amplitude에 Principal Component Analysis(PCA)를 적용한 모습이다. 왼쪽은 non Through the Wall 상황이고 오른쪽이 Through the Wall 상황이다. Through the Wall 상황에서 기존 CSI 값이 심하게 distorted 되었다. 따라서 저자들은 일반적인 PCA나 신호 전처리 방법을 그대로 적용하면 정보를 추출하기에 무리가 있다고 주장하였다. 따라서 저자들은 Robust PCA 방법을 통해 신호를 전처리하는 방법을 제안하였다.

Robust PCA (RPCA)

기존 데이터가 왜곡되었을 때 일반적인 PCA를 사용하면 올바른 데이터 정보를 얻지 못할 때 RPCA를 이용하면 보다 나은 정보를 얻을 수 있다.
RPCA를 적용할 때 다음과 같은 전제 조건이 있어야 한다.

Given D=A+ED=A+E, where AA and EE are unknown, but AA is known to be low rank and EE is known to be sparse

즉 주어진 noisy 데이터 DD에서 AA가 low-rank이고 EE가 sparse하다면 AA를 얻을 수 있다는 것이다.

논문에서는 다음과 같은 intuition을 가지고 실험을 진행하였다.

  • CSI에서 Background에 대한 정보는 low-rank일 것이다.
  • Humal activity에 의해 나타나는 정보는 sparse하다.

위 그림에서 (a), (b), (c) 그래프를 보자. 그래프는 아무도 없는 환경에서 background에 대한 CSI 데이터의 amplitude를 나타낸 것이다. 안테나마다 나타나는 CSI의 형태는 다 다르지만, 같은 안테나에서 받은, 서로 다른 subcarrier마다 나타나는 CSI의 형태는 비슷하다.

즉 같은 안테나 내에서 받은 CSI데이터에서 subcarrier에 대해서 서로 연관(correlated)되어 있다는 intuition을 얻을 수 있었다. 그래서 (d)와 같이 안테나 2에서 CSI subcarrier에 대해 correlation matrix를 계산하였더니 그 값들이 모두 0.5가 넘는 것을 확인하였다.

위 사실을 통해 background CSI 정보는 low-rank인 것을 알 수 있다. 행렬에서 연관성이 높다는 것은 이를 분해했을 때 rank가 낮을 것이기 때문이다.

위 그림은 falling, walking에 대한 CSI amplitude의 형태이다. 저자들은 전체 CSI에서 인간의 행동은 빠른 시간 안에 이루어진다고 한다. 따라서 전체 CSI에서 행동에 의한 CSI는 sparse하다는 것이다.

이렇게 CSI 데이터에서 background에 의한 정보는 low-rank이고 human activity에 의한 정보는 sparse하다는 것을 알았다. 따라서 저자들은 CSI에 RPCA를 적용하여 background CSI 정보와 human activity CSI 정보를 얻을 수 있다고 주장하였다.

RPCA는 D=A+ED=A+E에서 noise에 의한 데이터 EE를 제외한 AA를 얻는 것이 목적이다. 하지만 CSI는 반대로 background CSI 정보가 low-rank이고 human activity CSI 정보가 sparse 하기 때문에 EE를 얻어야 한다. 저자들은 그래서 자신들의 방법을 Opposite Robust PCA (OR-PCA) 라고 이름을 지었다.

System Flow

Preprocess

CSI에 나타나는 다양한 noise에 의해 [2] Raw CSI 데이터에 Butterworth filter를 적용하였다. (cutoff-frequency: 100Hz)

CSI Stream Seperation

앞서 설명한 RPCA를 Augmented Lagrangian Multiplier (ALM) Method를 적용하여 background CSI CSIbgCSI_{bg}와 human activity CSI CSIactCSI_{act}로 분리한다.

minCSIbg+λCSIact1s.t.  CSIraw=CSIbg+CSIact\min ||CSI_{bg}||_∗ + λ||CSI_{act}||_{1} \quad \quad s.t. \ \ CSI_{raw} = CSI_{bg} + CSI_{act}

||\cdot||_* : nuclear norm
1||\cdot||_1 : L1 norm
λ\lambda : weight factor

위 그림이 Raw CSI 데이터를 CSIbgCSI_{bg}CSIactCSI_{act}로 분리한 결과이다. 여기서 필요한 것은 CSIactCSI_{act}이다. Subcarrier index가 90인 것으로 보아 그냥 안테나 3개에서 받은 CSI를 그래프상에서 한 번에 나타낸 모양이다.

Activity Segmentation

앞서 얻은 CSIactCSI_{act}에서 human activity가 나타나는 구간을 추출하는 과정이다.


Activity마다 variance의 크기가 다르기 때문에 CSI stream에서 activity의 시작과 끝을 찾기 어렵다. 따라서 variance를 계산한 후 regularization을 거쳐 서로 다른 활동 간에 동일한 threshold를 설정하도록 한다.

위는 적절한 시작점과 끝점을 구하는 알고리즘의 수도코드이다.

Feature Extraction

앞서 CSI 정보를 바탕으로 시작점과 끝점을 통해 구간을 추출하였다. 이 구간에서 다음 8가지 feature를 이용한다.

  • The normalized standard deviation of CSI
  • The median absolute deviation
  • The velocity of signals change
  • The mean value of PCA amplitude
  • The minimum value of PCA amplitude
  • Duration of activity
  • The maximum value of PCA amplitude
  • Interquartile Range

Classification

논문에서는 BP-Neural Network라고 나와있는데, 그냥 Dense layer가 3개인 딥러닝 모델을 사용한 것으로 보인다. 마지막 layer에 neuron이 7개이므로 각 유닛이 7가지 행동을 나타내도록 학습시킨다.

Evaluation

Experiment Set-up

  • Tx : Tenda W15E Router
  • Rx : mini PC with Intel 5300 WI-FI NIC
  • Carrier frequency : 5GHz
  • Channel bandwidth : 20MHz
  • Sampling rate : 1000 Hz

Data Collection Environment

다음 3 가지 환경에서 데이터를 수집하였다.

Data Collection

  • 6 volunteers : 남자 4명 여자 2명
  • 7 kinds of human activity : Walking, Sitting down, Standing up, Falling, Hand Swing, Boxing and No activity

    Training 데이터는 environment 1에서 수집되었다.
    Environment 1에서 얻은 test 데이터는 일반적인 accuracy를 평가했고, environment 2 와 3 에서 수집된 데이터는 환경의 robustness를 평가하였다

Evaluation


위 그래프는 Environment 1에 대한 성능 평가이다. 하나의 행동 당 320개의 데이터가 모아져 그 중 240개를 모델 학습, 80개를 테스트로 사용하였다.
4-fold cross validation을 사용하여 나온 average accuracy는 94.46%이다.


Environment 1 데이터로 학습하였고 environment 2에서 모은 데이터로 테스트한 결과이다. Average accuracy는 92.68%이다.


Environment 1 데이터로 학습하였고 environment 2에서 모은 데이터로 테스트한 결과이다. Average accuracy는 95%이다.


다음은 OR-PCA에서 λ\lambda값에 따른 성능을 비교하였다. 평균 정확도는 λ값이 0.1일 때 가장 높다 (94.46%).
저자들에 의하면 human activity와 그에 따른 CSI 사이의 상관 관계는 앞서 seperate한 CSI 매트릭스에서만 얻으므로 λ\lambda는 인간 활동의 인식 정확도에 직접 영향을 끼친다고 한다.

Conclusion

  • Through the Wall 시나리오에서도 높은 human activity recognition 성능을 보였다.
  • OR-PCA기법을 사용하여 Through the Wall 상황에서도 적절한 human activity 정보를 추출할 수 있었다.
  • Evaluation 부분이 매우 빈약하다. 데이터를 정확히 어떻게 나누고 어떻게 평가했는지 정확한 설명이 없었다.

Reference

[1] X. Wu, Z. Chu, P. Yang, C. Xiang, X. Zheng and W. Huang, "TW-See: Human Activity Recognition Through the Wall With Commodity Wi-Fi Devices," in IEEE Transactions on Vehicular Technology, vol. 68, no. 1, pp. 306-319, Jan. 2019, doi: 10.1109/TVT.2018.2878754.
[2] W. Wang, A. X. Liu, and M. Shahzad, “Gait recognition using wifi signals,” in Proc. ACM Int. Joint Conf. Pervasive Ubiquitous Comput., 2016, pp. 363–373.

profile
냠냠

0개의 댓글