본문 바로가기
머신러닝/앙상블 기법

앙상블 기법 - HAR 데이터

by 미생22 2024. 5. 8.
728x90

HAR은 Human Activity Recognition이라고 사람의 행동을 예측하는 기법입니다. 이미지는 아니고, 사람의 몸에 어떤 디바이스를 붙여놓았다고 생각하면 됩니다.

오래된 디바이스지만, 이 휴대폰에는 IMU센서가 붙어있습니다. 즉 자이로센서, 가속도센서, 등등이 붙어있다고 합니다. 위 데이터는 사람 몸에 IMU센서를 부착해서 사람의 행동을 인식하는 실험입니다. IMU 센서를 부착하기 힘들어서 핸드폰을 직접 부착한 상태입니다.

 

자이로 센서(Gyroscope)는 회전하는 각속도를 측정하는 센서고 가속도 센서는(Accelerometer)는 가속도 성분을 측정하는 센서입니다. 내가 책상에 가만히 있다면 지구 중력을 측정합니다. -9.8m/s^2... 무튼 자이로센서는 가만히 놔두면 지구 자전을 검출해 냅니다.. 무튼 이런 센서 데이터를 저장합니다. 이 데이터의 공식 경로는 UCI에 있습니다.

그러나 우리는 pinkwink에서 데이터를 가져와보겠습니다.

이 데이터에 대해 소개해보겠습니다.

 

데이터 소개

1. UCI HAR 데이터셋은 19-48세 연령의 30명의 자원봉사자를 실험대상으로 스마트폰을 장착한 사람의 행동을 관찰한 데이터입니다.

2. 허리에 삼성 갤럭시 S2를 착용하여 50Hz의 주파수로 즉 1초에 50개의 데이터를 얻습니다.

- 6가지 활동(walking, walking_upstairs, walking_downstairs, sitting, standing, laying)을 수행합니다.

- 이 센서가 어느정도냐면, HAR 데이터를 이용해서 이제는 스마트워치 혹은 휴대폰을 가지고 있는 사람이 자동차의 운전석에 탑승했는지 혹은 조수석에 탑승했는지 조차도 알아냅니다. 현재 운전중인지, 자전거를 타고 있는지, 졸고 있는지 까지 알아냅니다.

- 내장된 가속도계와 자이로스코프를 사용해 50Hz의 일정한 속도로 3축 선형 가속 및 3축 각속도를 캡처합니다.

3. 실험은 데이터를 수동으로 라벨링 하기위해 비디오로 기록했습니다.

- 획득한 데이터세트는 무작위로 두 세트로 분할했고

- 훈련 데이터 생성을 위해 자원봉사자의 70%가 선택되었고 테스트 데이터는 30%가 선정되었습니다. 7:3으로 나누었네요.

4. 중력 및 신체 운동 성분을 갖는 센서 가속 신호는 버터 워스 저역 통과 필터를 사용하여 신체 가속 및 중력으로 분리함

- 센서의 신호는 엄청난 노이즈나 bias(편향)이 잡혀있습니다. 이런걸 걸러내가 위해 버터 워스 저역 통과 필터를 사용했다는 뜻입니다.

- 폰 자체가 가지는 가속과 중력을 분리했다고 합니다.

- cut-off frequency는 0.3Hz의 차단주파수를 가진 필터를 사용했네요. 높은 값이죠.

 

데이터의 특성

- 가속도계로부터 3축 가속도(총 가속도) 및 추정된 신체 가속도를 가지고 시간 영역에서 데이터를 추려냅니다.

- 자이로스코프의 3축 각속도

- 시간 및 주파수 영역 변수가 포함된 561 기능 벡터(하나의 데이터에서 워낙 많은 특성을 뽑다보니까 feature가 561개가 됨)

- 활동 라벨

- 실험을 수행한 대상의 식별자

 

데이터의 클래스

https://www.youtube.com/watch?v=XOEN9W05_4A&ab_channel=JorgeLuisReyesOrtiz

 

이렇게 얻은 데이터를 얻으면 이렇게 생겼다고 합니다.

이렇게 시간 영역의 데이터를 if문으로 활용할 수 있을 것 같나요?

아니죠. 시간 영역의 데이터를 직접 사용하는 것은 매우 어렵습니다.

이런 과정들을 특징추출이라고 합니다. 이런 것들을 하는 분야를 '특성공학'이라고 부르기도 합니다.

 

딥러닝에서는 이 특성추출을 하긴 해야합니다만. 딥러닝은 머신러닝처럼 특성추출을 많이하지는 않습니다.

728x90