모바일센서기반사용자행위인지 mobilesensorbaseduseractivity...

72
저작자표시-비영리-변경금지 2.0 대한민국 이용자는 아래의 조건을 따르는 경우에 한하여 자유롭게 l 이 저작물을 복제, 배포, 전송, 전시, 공연 및 방송할 수 있습니다. 다음과 같은 조건을 따라야 합니다: l 귀하는, 이 저작물의 재이용이나 배포의 경우, 이 저작물에 적용된 이용허락조건 을 명확하게 나타내어야 합니다. l 저작권자로부터 별도의 허가를 받으면 이러한 조건들은 적용되지 않습니다. 저작권법에 따른 이용자의 권리는 위의 내용에 의하여 영향을 받지 않습니다. 이것은 이용허락규약 ( Legal Code) 을 이해하기 쉽게 요약한 것입니다. Disclaimer 저작자표시. 귀하는 원저작자를 표시하여야 합니다. 비영리. 귀하는 이 저작물을 영리 목적으로 이용할 수 없습니다. 변경금지. 귀하는 이 저작물을 개작, 변형 또는 가공할 수 없습니다.

Upload: others

Post on 08-Jan-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 모바일센서기반사용자행위인지 MobileSensorbasedUserActivity …ailab.ssu.ac.kr/rb/files/download/2013_Master_Thesis... · 2014-05-19 · 트폰에는가속도센서가부착되어있다.가속도센서는[그림2-2]와같

저 시-비 리- 경 지 2.0 한민

는 아래 조건 르는 경 에 한하여 게

l 저 물 복제, 포, 전송, 전시, 공연 송할 수 습니다.

다 과 같 조건 라야 합니다:

l 하는, 저 물 나 포 경 , 저 물에 적 된 허락조건 명확하게 나타내어야 합니다.

l 저 터 허가를 면 러한 조건들 적 되지 않습니다.

저 에 른 리는 내 에 하여 향 지 않습니다.

것 허락규약(Legal Code) 해하 쉽게 약한 것 니다.

Disclaimer

저 시. 하는 원저 를 시하여야 합니다.

비 리. 하는 저 물 리 목적 할 수 없습니다.

경 지. 하는 저 물 개 , 형 또는 가공할 수 없습니다.

Page 2: 모바일센서기반사용자행위인지 MobileSensorbasedUserActivity …ailab.ssu.ac.kr/rb/files/download/2013_Master_Thesis... · 2014-05-19 · 트폰에는가속도센서가부착되어있다.가속도센서는[그림2-2]와같

석(박)사학 논문

모바일 센서 기반 사용자 행 인지

MobileSensorbasedUserActivity

Recognition

2013년 6월

숭실 학교 학원

컴퓨터학과

Page 3: 모바일센서기반사용자행위인지 MobileSensorbasedUserActivity …ailab.ssu.ac.kr/rb/files/download/2013_Master_Thesis... · 2014-05-19 · 트폰에는가속도센서가부착되어있다.가속도센서는[그림2-2]와같
Page 4: 모바일센서기반사용자행위인지 MobileSensorbasedUserActivity …ailab.ssu.ac.kr/rb/files/download/2013_Master_Thesis... · 2014-05-19 · 트폰에는가속도센서가부착되어있다.가속도센서는[그림2-2]와같

석(박)사학 논문

모바일 센서 기반 사용자 행 인지

MobileSensorbasedUserActivity

Recognition

2013년 6월

숭실 학교 학원

컴퓨터학과

Page 5: 모바일센서기반사용자행위인지 MobileSensorbasedUserActivity …ailab.ssu.ac.kr/rb/files/download/2013_Master_Thesis... · 2014-05-19 · 트폰에는가속도센서가부착되어있다.가속도센서는[그림2-2]와같

- iv -

석(박)사학 논문

모바일 센서 기반 사용자 행 인지

지도교수 박 택

이 논문을 석(박)사학 논문으로 제출함

2013년 6월

숭실 학교 학원

컴퓨터학과

Page 6: 모바일센서기반사용자행위인지 MobileSensorbasedUserActivity …ailab.ssu.ac.kr/rb/files/download/2013_Master_Thesis... · 2014-05-19 · 트폰에는가속도센서가부착되어있다.가속도센서는[그림2-2]와같

명 의 석사학 논문을 인 함

심 사 원 장 이 수 원 인

심 사 원 김 계 인

심 사 원 박 택 인

2013년 6월

숭실 학교 학원

Page 7: 모바일센서기반사용자행위인지 MobileSensorbasedUserActivity …ailab.ssu.ac.kr/rb/files/download/2013_Master_Thesis... · 2014-05-19 · 트폰에는가속도센서가부착되어있다.가속도센서는[그림2-2]와같
Page 8: 모바일센서기반사용자행위인지 MobileSensorbasedUserActivity …ailab.ssu.ac.kr/rb/files/download/2013_Master_Thesis... · 2014-05-19 · 트폰에는가속도센서가부착되어있다.가속도센서는[그림2-2]와같

- i -

목 차

국문 록 ··············································································································ⅵ

문 록 ··············································································································ⅷ

제 1장 서론 ··································································································1

1.1연구 배경 목 ···················································································1

1.2연구의 필요성·····························································································3

1.3논문의 구성·································································································3

제 2장 련연구 ························································································4

2.1기본 개념·····································································································4

2.1.1모바일 디바이스··················································································4

2.1.2가속도 센서··························································································6

2.1.3의사결정 트리······················································································8

2.2 련 논문·····································································································9

2.2.1특징 추출······························································································9

2.2.2구분자 알고리즘 선택······································································10

2.2.3실험 결과····························································································11

제 3장 가속도 기반 사용자 행 인지 시스템 ···················12

3.1실시간 사용자 행 인지 시스템·························································13

3.2행 인지 모델 학습 과정·····································································15

3.2.1데이터 수집 방식··············································································16

Page 9: 모바일센서기반사용자행위인지 MobileSensorbasedUserActivity …ailab.ssu.ac.kr/rb/files/download/2013_Master_Thesis... · 2014-05-19 · 트폰에는가속도센서가부착되어있다.가속도센서는[그림2-2]와같

- ii -

3.2.2특징 추출 과정··················································································19

3.2.3Vertical,HorizontalComponent·······················································19

3.2.4정 ······································································································25

3.2.5특징 추출····························································································27

3.2.6의사결정 트리 모델 생성································································32

3.3행 인지 모델 인지 과정·····································································33

3.3.1의사결정 트리 모델 분석································································33

3.3.2상태 이도························································································35

3.3.3실시간 사용자 행 인지································································36

제 4장 실험 결과 ············································································37

4.1실험 환경 실험 데이터·····································································37

4.2구 방법···································································································38

4.3실험 결과···································································································43

4.3.1행 인지 모델의 정확도································································43

4.3.2행 인지 모델 특징 값 기여도····················································44

4.3.3의사결정 트리 행 인지 모델 분석············································45

4.3.4다양한 구분자 비교 분석································································49

4.3.5상태 이도 사용 여부에 따른 정확도········································50

4.3.6StressTest·························································································51

제 5장 결론 향후 연구 ································································54

참고문헌 ··············································································································55

Page 10: 모바일센서기반사용자행위인지 MobileSensorbasedUserActivity …ailab.ssu.ac.kr/rb/files/download/2013_Master_Thesis... · 2014-05-19 · 트폰에는가속도센서가부착되어있다.가속도센서는[그림2-2]와같

- iii -

표 목 차

[표 2-1]정보 이득 계산식 ···············································································8

[표 2-2]ConfusionMatrix················································································10

[표 3-1]스마트폰 별 SampleRate································································16

[표 3-2]가속도 데이터의 단 벡터 표 식·················································21

[표 3-3]VerticalComponent표 식·······························································22

[표 3-4]HorizontalComponent표 식···························································23

[표 3-5]샘 링 치 계산식···········································································28

[표 3-6]사분 수 범 계산식·······································································29

[표 3-7]Cross-Correlation계산식···································································30

[표 4-1]실험 데이터·························································································37

[표 4-2]의사결정 트리 모델의 정확도·························································43

[표 4-3]의사결정 트리 모델의 ConfusionMatrix········································43

[표 4-4]특징 값의 기여도···············································································44

[표 4-5]행 인지 모델의 표 노드 알고리즘·········································47

[표 4-6]SupportVectorMachine의 모델 정확도·········································48

[표 4-7]BayesNet의 모델 정확도···································································48

[표 4-8]NeuralNetwork의 모델 정확도························································48

[표 4-9]LogisticRegression의 모델 정확도·················································49

[표 4-10]StressTest항목 #1·········································································51

[표 4-11]StressTest항목 #2·········································································52

Page 11: 모바일센서기반사용자행위인지 MobileSensorbasedUserActivity …ailab.ssu.ac.kr/rb/files/download/2013_Master_Thesis... · 2014-05-19 · 트폰에는가속도센서가부착되어있다.가속도센서는[그림2-2]와같

- iv -

그 림 목 차

[그림 2-1]안드로이드 임워크 ·································································5

[그림 2-2]가속도 센서의 3축 표 ·································································5

[그림 2-3] 력 값을 포함한 가속도 데이터·················································6

[그림 2-4]의사결정 트리의 노드 분기···························································8

[그림 3-1]실시간 사용자 행 인지 시스템 구조도·································13

[그림 3-2]행 인지 모델 학습 과정···························································15

[그림 3-3]WindowOverlap수집 방식··························································17

[그림 3-4]특징 추출 과정···············································································18

[그림 3-5]스마트폰 기울기에 따른 V/H축의 변화···································20

[그림 3-6]가속도 데이터의 표 벡터···················································21

[그림 3-7]VerticalComponent벡터·······························································22

[그림 3-8]HorizontalComponent벡터···························································23

[그림 3-9]Matlab을 이용한 Component표 ··············································24

[그림 3-10]행 별 Component형태 비교····················································25

[그림 3-11]정 ·································································································26

[그림 3-12]정 용한 실험 데이터 비교·················································26

[그림 3-13] 통과율·························································································27

[그림 3-14]사분 수 범 ···············································································29

[그림 3-15]Cross-Correlation설명 제·······················································31

[그림 3-16]의사결정 트리 모델·····································································32

[그림 3-17]의사결정 트리 단말 노드 분석·················································34

[그림 3-18]상태 이도 구조·········································································35

[그림 3-19]실시간 사용자 행 인지 과정·················································36

Page 12: 모바일센서기반사용자행위인지 MobileSensorbasedUserActivity …ailab.ssu.ac.kr/rb/files/download/2013_Master_Thesis... · 2014-05-19 · 트폰에는가속도센서가부착되어있다.가속도센서는[그림2-2]와같

- v -

[그림 4-1]가속도 데이터 수집 응용 로그램·············································38

[그림 4-2]Weka포맷 형태··············································································39

[그림 4-3]Weka메인 화면··············································································40

[그림 4-4]Weka옵션 설정 화면····································································41

[그림 4-5]Java형태의 의사결정 트리 모델···············································42

[그림 4-6]의사결정 트리 행 인지 모델 분석 #1···································45

[그림 4-7]의사결정 트리 행 인지 모델 분석 #2···································46

[그림 4-8]상태 이도를 용한 화면·························································50

[그림 4-9]사용자 행 인지 응용 로그램 UI구성··································53

Page 13: 모바일센서기반사용자행위인지 MobileSensorbasedUserActivity …ailab.ssu.ac.kr/rb/files/download/2013_Master_Thesis... · 2014-05-19 · 트폰에는가속도센서가부착되어있다.가속도센서는[그림2-2]와같

- vi -

국문 록

모바일 센서 기반 사용자 행 인지

컴퓨터 학과

숭실 학교 학원

최근 몇 년 동안 스마트폰의 등장으로 인들의 생활에 많은 변화

를 가져왔다.특히 스마트폰의 센서 정보를 활용하여 사용자의 상황에

맞는 서비스를 제공해주는 응용 로그램들이 많이 등장하고 있다.스마

트폰의 센서 정보는 사용자의 습 이나 행동과 하게 련되어 있기

때문에 사용자의 상황을 인지하기에 좋은 데이터이다.

재 모바일 센서 GPS센서는 사용자의 기본 인 행 인지에 많

이 활용되고 있다.하지만 GPS센서는 사용자의 상황에 따라 수신이 불

가능할 수도 있으며 수신된 데이터 역시 부정확할 수 있기 때문에 활용

도가 떨어진다.

본 연구에서는 이러한 문제 을 해결하기 해 모바일 디바이스에 탑

재된 가속도 센서 데이터를 심으로 한 사용자 행 인지 방법을 제안

한다.가속도 센서는 데이터 수신이 안정 이며,사용자의 행 에 민감하

게 반응하기 때문에 행 인지에 합하다.마지막으로 상태 이도를 활

Page 14: 모바일센서기반사용자행위인지 MobileSensorbasedUserActivity …ailab.ssu.ac.kr/rb/files/download/2013_Master_Thesis... · 2014-05-19 · 트폰에는가속도센서가부착되어있다.가속도센서는[그림2-2]와같

- vii -

용하여 합리 인 행 변화의 흐름을 용함으로서 행 인지의 정확도를

높인다.

Page 15: 모바일센서기반사용자행위인지 MobileSensorbasedUserActivity …ailab.ssu.ac.kr/rb/files/download/2013_Master_Thesis... · 2014-05-19 · 트폰에는가속도센서가부착되어있다.가속도센서는[그림2-2]와같

- viii -

ABSTRACT

MobileSensorbasedUserActivity

Recognition

JEON,MYUNG-JOONG

DepartmentofComputer

GraduateSchoolofSoongsilUniversity

In recently,with theadventofSmartPhones,Itbroughtmany

changesinlivesofmodernpeople.Especially,Applicationutilizingthe

sensor information of Smart Phone ,which provides the service

adaptedbytheusersituation,hasbeing emerged.SensorDataof

SmartPhoneisgoodforrecognizingtheusersituation,Becauseitis

closelyrelatedtothebehaviorandhabitsoftheuser.

Currently,GPSsensoroneofmobilesensorhasbeingutilizedalot

to recognizethe basicuseractivity.but,Depending on theuser

situation,itcouldnotbereceivedtheGPSsignal,andalsonotcollect

receiveddata.soUtilizationisreduced.

Inthispaper,Forsolvingthisproblem,Itsuggeststhemethodof

UserActivityRecognitionthatfocusedontheAccelerometerSensor

Page 16: 모바일센서기반사용자행위인지 MobileSensorbasedUserActivity …ailab.ssu.ac.kr/rb/files/download/2013_Master_Thesis... · 2014-05-19 · 트폰에는가속도센서가부착되어있다.가속도센서는[그림2-2]와같

- ix -

data attached atSmartPhone.AccelerometerSensoris stable to

collectthedataandIt’ssensitivetouserbehavior.FinallyThispaper

usedStateTransitionDiagram whichappliedthenaturalflow ofUser

Activity changes for enhancing the accuracy of User Activity

Recognition.

Page 17: 모바일센서기반사용자행위인지 MobileSensorbasedUserActivity …ailab.ssu.ac.kr/rb/files/download/2013_Master_Thesis... · 2014-05-19 · 트폰에는가속도센서가부착되어있다.가속도센서는[그림2-2]와같

- 1 -

제 1장 서 론

1.1연구 배경 목

최근 스마트폰의 보 으로 인들의 생활에 많은 변화를 가져왔다.

그 변화 하나는 개인 맞춤형 서비스이다.기존의 수동 이고 일률

인 서비스 제공방식을 벗어나 사용자의 상황에 맞는 유용한 정보가 선별

으로 제공된다.이러한 개인 맞춤형 서비스를 제공하기 해서는 우선

사용자 재 상황을 정확하게 인지하는 기술이 필요하다.

사용자의 상황(Context)은 물리 상황,시간 상황 등 여러 가지로

나 수 있지만 본 논문에서는 물리 상황으로 규정한다.

스마트폰이 보 되기 에는 각 신체부 별로 센서 장비를 부착하여

데이터를 수집하고 분석하 다.하지만 비용 문제와 착용의 불편함으로

인해 화 되지 못하 다.최근에 와서 스마트폰의 화를 통해 사

용자의 행 를 인지하기에 아주 좋은 환경이 갖추어 졌다.스마트폰은

사용자가 항상 지니고 다니기 때문에 사용자의 습 이나 행동과 한

련이 있다.특히 스마트폰의 센서 데이터를 활용하면 좀 더 정확한 상

황을 인지하는데 도움이 된다.

스마트폰에는 다양한 센서 장비가 부착되어 있다.특히 GPS센서를

활용하면 사용자의 치뿐만 아니라 이동속도까지 알아낼 수 있다.이를

통해 사용자의 치정보,기본행 를 인지할 수 있고 최종 으로 사용자

에게 맞는 서비스를 제공할 수 있다.

Page 18: 모바일센서기반사용자행위인지 MobileSensorbasedUserActivity …ailab.ssu.ac.kr/rb/files/download/2013_Master_Thesis... · 2014-05-19 · 트폰에는가속도센서가부착되어있다.가속도센서는[그림2-2]와같

- 2 -

하지만 GPS센서는 기본 으로 성장비로부터 치정보를 받기 때

문에 실내에서는 신호 방해로 인해 사용이 불가능하다. 한 흐린 날씨

상황이나 주변에 고층빌딩이 많은 경우 GPS데이터 수신이 불안정 하

다.그리고 유사한 상황에서 사용자의 행 를 구분하기에 어려움이 있다.

를 들어 사용자가 서 있는 경우와 사용자가 차를 탄 상태에서 신호등

으로 인해 정차해 있을 경우,두 상황 모두 속도가 0으로 같다.이러한

경우는 사용자의 행 를 구분하기에 어려움이 있다.마지막으로 GPS센

서는 배터리 소모가 심하다.이러한 요인들로 인해 실생활에 용하기에

는 문제 이 있다.

본 논문에서는 이러한 문제 을 해결하기 해 가속도 센서 심의 상

황인지 방식을 제안한다.가속도 센서는 실외뿐만 아니라 실내에서도 잘

동작하며,데이터 한 손실 없이 안정 으로 수집이 가능하다.그리고

사용자의 행 에 민감하게 반응하기 때문에 유사한 행 를 인지하는데

유리하다.뿐만 아니라 배터리 소모도 다.[9]에서 확인할 수 있듯이

가속도 센서를 사용했을 경우와 GPS센서를 사용했을 경우를 비교해보

면 확연한 차이 을 보인다.

Page 19: 모바일센서기반사용자행위인지 MobileSensorbasedUserActivity …ailab.ssu.ac.kr/rb/files/download/2013_Master_Thesis... · 2014-05-19 · 트폰에는가속도센서가부착되어있다.가속도센서는[그림2-2]와같

- 3 -

1.2연구의 필요성

기존의 모바일 센서 기반 사용자 상황인지는 많은 문제 을 안고 있

다.배터리 문제뿐만 아니라 인지 정확도에도 문제가 많았다.사용자가

다른 상황에 놓여 있지만 센서 데이터가 비슷하여 생기는 인지오류

문제가 있다.그리고 실내에서의 상황인지에도 문제가 있다.

본 연구는 이러한 단 을 극복하기 해 가속도 센서 데이터 심의

상황인지를 한다. 한 인지과정 속에 생길 수 있는 인지오류에 해서

도 상태 이도를 활용하여 최 한 오류를 인다.그래서 기존 모바일

기반 사용자 행 인지 시스템의 성능을 향상 시켜 실생활에서 무리 없이

사용할 수 있어야 한다.

1.3논문의 구성

본 논문은 다음과 같은 순서로 구성된다.2장에서는 본 연구를 이해하

기 한 기본 개념에 해 설명을 하고 기존의 가속도 기반 사용자 행

인지 연구에 한 문제 을 알아본다.3장에서는 가속도 센서의 데이터

를 수집하는 방법과 함께 특징들(features)을 추출하는 방법에 해 설명

한다.그리고 추출된 특징들을 의사결정 트리를 사용하여 모델링하고 만

들어진 모델을 분석한다.마지막으로 분석된 모델을 통해 상태 이도를

만들어 스마트폰에 탑재하고 실시간으로 사용자 행 를 인지하는 방법에

해 설명한다.4장에서는 제안한 방법의 타당성과 함께 의사결정 트리

모델의 정확도를 다른 구분자 모델과 비교해본다.마지막으로 5장에서는

본 논문의 결론과 함께 앞으로 진행하고자 하는 연구 방향에 해 설명

한다.

Page 20: 모바일센서기반사용자행위인지 MobileSensorbasedUserActivity …ailab.ssu.ac.kr/rb/files/download/2013_Master_Thesis... · 2014-05-19 · 트폰에는가속도센서가부착되어있다.가속도센서는[그림2-2]와같

- 4 -

제 2장 련연구

본 장에서는 사용자 행 인지를 하기 한 모바일 디바이스 종류

하나인 안드로이드의 임워크 센서에 설명하고 가속도 센서 데이

터의 기본 개념을 알아본다.그리고 사용자 인지 모델을 학습하기 해

사용한 의사결정 트리의 기본 개념에 해 알아본다.마지막으로 본 연

구와 련된 연구로서 가속도 센서 데이터를 사용하여 사용자의 행 를

인지하는 연구에 해 자세히 설명한다.

2.1기본 개념

2.1.1모바일 디바이스

2007년 의 Apple㈜ 스마트폰인 iPhone의 출시로 인해 세계의 스마

트폰 보 률은 격하게 증가했다.그 이후 2008년 Google㈜ 에서도 안

드로이드가 공개되었다.아 치 라이선스를 통해 모든 련 소스가 공개

되었다.이로 인해 인들의 생활 패러다임이 격하게 변화되었다.언

제 어디서나 사용자가 필요한 정보를 크기가 작은 휴 폰에서 근할 수

있게 되었으며,기존의 서비스 산업 역시 모바일 단말기에서 쉽게 근

할 수 있도록 변화되었다.특히 안드로이드 OS는 오 소스라는 장 으

로 인해 타 OS보다 빠른 성장을 보 다. 한 Java기반의 언어로서 기

존에 개발된 모듈과도 호환성이 뛰어나 여러 방면으로 활용되고 있다.

안드로이드 OS를 사용한 SAMSUNG,HTC,LG,MOTOROLA 등의 스

마트폰 역시 오 소스의 장 을 살려 다양한 기능을 추가한 제품을 선보

여 시장 경쟁력을 키워가고 있다.

Page 21: 모바일센서기반사용자행위인지 MobileSensorbasedUserActivity …ailab.ssu.ac.kr/rb/files/download/2013_Master_Thesis... · 2014-05-19 · 트폰에는가속도센서가부착되어있다.가속도센서는[그림2-2]와같

- 5 -

[그림 2-1]안드로이드 임워크

특히 안드로이드에는 다양한 센서 정보를 활용할 수 있다.디바이스에

따라 차이가 날 수 있지만 기본 으로 센서에는 Wi-Fi,Bluetooth,GPS,

Accelerometer,Geo-Magnetic,Orientation,Light,Proximity,Gyro,

Temperature가 있다.[그림 2-1]은 안드로이드 임워크의 체 인

구조이다.센서에 한 정보는 응용 로그램 임워크 단계에서 구할

수 있다.이러한 센서 정보는 많은 부분에서 유용하게 활용되고 있다.특

히 사용자의 상황인지에 많이 활용되어 새로운 경험을 제공하고 있다.

를 들면 GPS센서 정보는 재 사용자가 치한 장소에 맞는 서비스

를 제공해 수 있으며,Bluetooth센서는 재 치와 근 한 지인과의

정보교환에 활용할 수 있다.

Page 22: 모바일센서기반사용자행위인지 MobileSensorbasedUserActivity …ailab.ssu.ac.kr/rb/files/download/2013_Master_Thesis... · 2014-05-19 · 트폰에는가속도센서가부착되어있다.가속도센서는[그림2-2]와같

- 6 -

[그림 2-2]가속도 센서의 3축 표

2.1.2가속도 센서

가속도 센서는 단 시간당 속도의 변화를 검출할 수 있는 센서로서 가

속도,진동,충격 등을 감지할 수 있다.최근에 출시되는 부분의 스마

트폰에는 가속도 센서가 부착되어 있다.가속도 센서는 [그림 2-2]와 같

이 기본 으로 x,y,z의 3축 데이터로 구성되어 있다.

x,y축은 좌,우,앞,뒤로 움직 을 경우의 가속도를 측정할 수 있으

며,z축은 상하의 움직임( 력 값 포함)을 측정하여 값을 구할 수 있다.

[그림 2-3] 력 값을 포함한 가속도 데이터

[그림 2-2]와 같이 스마트폰 뒷면을 바닥에 놓았을 경우 [그림 2-3]과

같은 결과를 얻을 수 있다.샘 과 의 가속도 x,y,z축 합을 구

해보면 거의 력 값과 같음을 알 수 있다.스마트폰의 방향을 변경하여

가속도 값을 구해보면 x,y,z의 값이 달라지지만 각 축의 합은 여 히

력 값과 같다.

Page 23: 모바일센서기반사용자행위인지 MobileSensorbasedUserActivity …ailab.ssu.ac.kr/rb/files/download/2013_Master_Thesis... · 2014-05-19 · 트폰에는가속도센서가부착되어있다.가속도센서는[그림2-2]와같

- 7 -

가속도 센서는 사용자의 움직임에 민감하게 반응하기 때문에 사용자의

움직임을 감지하기에 유용하다. 를 들어 사용자가 스마트폰을 들고 뛰

었을 경우,발이 바닥에 닿는 순간 그 충격이 스마트폰으로 해져 가속

도 센서의 x,y,z축에 해진다.이러한 행 가 반복될 경우 가속도 센

서의 데이터로부터 특정한 패턴을 추출할 수 있다.사용자의 행 에 따

라 반복되는 패턴을 기억해놓으면 비슷한 데이터가 수집되었을 경우 기

억해놓은 패턴과 비교하여 사용자의 행 를 인지할 수 있다.

와 같은 특성 때문에 스마트폰의 가속도 센서를 활용한 많은 연구가

활발히 진행 이다. 부분의 연구는 걷기,뛰기,정지,자 거 타는 ,

버스 탑승 ,지하철 탑승 ,계단 오르기,앉아 있기 와 같이 사용자

의 기본 행 를 인지하는 것이 목표이다.하지만 데이터 수집 방법, 처

리 방법,특징 추출 방법,스마트폰의 방향성 고려여부 그리고 Classifier

선택에는 차이 이 존재한다.[1]과 같은 경우,방향성을 고려하지 않으

며 AR(AutoRegressive),SMA(SignalMagnitudeArea)를 사용하여 가

속도 데이터로부터 특징을 추출하고 LDA(Linear Discriminant

Analysis),KDA(KernelDiscriminantAnalysis)를 사용하여 특징 값들을

조정하 으며 마지막으로 ANN(ArtificialNeuralNets)를 사용하여 사용

자 행 를 구분하 다.[2][3]와 같은 경우는 가속도 데이터로부터

FFT(FastFourierTransform)을 주로 사용하여 특징 값을 추출하 고

DT(DecisionTree)를 사용하여 사용자의 행 를 인지하 다.[5]과 같은

경우는 스마트폰이 바지에 있을 경우만을 고려하여 실험을 하 다.방법

론은 차이가 있지만 행 인지를 한 체 인 과정은 유사하다.

Page 24: 모바일센서기반사용자행위인지 MobileSensorbasedUserActivity …ailab.ssu.ac.kr/rb/files/download/2013_Master_Thesis... · 2014-05-19 · 트폰에는가속도센서가부착되어있다.가속도센서는[그림2-2]와같

- 8 -

[그림 2-4]의사결정 트리의 노드 분기

2.1.3의사결정 트리

의사결정 트리는 최 의 분류 성능을 갖는 트리 형태의 구조로 되어있

다.트리를 학습하는 과정은 루트 노드로부터 정보 이득(∆)의 값

이 가장 큰 특징 값부터 트리가 생성된다.[표 2-1]에서 정보 이득의 값

이 커야 하는 이유를 설명할 수 있다. 는 불순도(impurity)를 측

정하는 단 로서 동질성을 지닌 샘 이 얼마나 모여 있는지를 나타낸다.

그래서 [표 2-1]을 보면 왼쪽 노드인 와 오른쪽 노드인

의 값이 작을수록 불순도가 낮다고 할 수 있다.결국 불순도의

값이 작을수록 정보 이득의 값이 커짐을 알 수 있다.그리고 트리가 생

성이 되면 가지치기(pruning)을 사용하여 단말 노드를 합치는 방법을 사

용하여 트리의 크기를 이기도 한다.

의 방법 이외에도 트리를 만들 수 있는 여러 가지 시스템이 존재한다.

불순도 측정 방식,가지치기 방식 등에 따라 CART,ID3,C4.5와 같은 시

스템 개발되었다.하지만 기본 으로 트리를 생성하는 과정은 모두 같다.

[표 2-1]정보 이득 계산식

Page 25: 모바일센서기반사용자행위인지 MobileSensorbasedUserActivity …ailab.ssu.ac.kr/rb/files/download/2013_Master_Thesis... · 2014-05-19 · 트폰에는가속도센서가부착되어있다.가속도센서는[그림2-2]와같

- 9 -

2.2 련 논문

2011년 미국 MIT에 SENSEableCityLab에서 이동수단을 인지하는

방법에 한 연구를 하 다.사용자 행 의 종류는 Bus,Metro,Walk,

Bicycle,Train,Car,Still,Motorcycle이다.25Hz단 로 샘 링을 하

으며 Car와 Motorcycle은 한명이 수집하 다.그리고 나머지 행 는

4명(남자 2,여자 2)이 수집하 다.

2.2.1특징 추출

가속도 데이터는 기본 으로 x,y,z축의 값으로 이루어져 있으며 방

향에 따라 축의 값이 변한다.즉,같은 상황일지라도 스마트폰의 방향에

따라 3축의 값이 달라질 수 있다.그래서 보통 (1)과 같이 각 축의 제곱

값의 합에 루트를 워 방향성을 제거한다.(여기서 방향성이라 함은 스

마트폰의 tilting을 의미)즉,가속도의 크기만을 사용하여 행 를 구분한

다는 것이다.하지만 이 방법에는 단 이 있다.사용자의 행 가 다

른 상황에서 가속도의 크기가 비슷한 경우에 문제가 발생한다. 를 들

면,걷는 경우의 스마트폰 가속도 데이터는 상,하로 뿐만 아니라 좌,우,

앞,뒤의 움직임이 반 되어 나타난다.하지만 의 (1)식을 용하면 이

러한 방향성은 제거되기 때문에 가만히 서있는 상태에서 스마트폰을 아

래, 로만 움직여도 가속도의 크기가 비슷하다면 걷는 행 로 인식할

수 있다.그래서 본 연구에는 (1)과 다른 방식을 사용하 다.스마트폰의

방향성은 고려하지 않지만 상,하,좌,우의 가속도 변화를 특징 값으로

정하여 사용자의 행 인지에 사용한다.

(1)

Page 26: 모바일센서기반사용자행위인지 MobileSensorbasedUserActivity …ailab.ssu.ac.kr/rb/files/download/2013_Master_Thesis... · 2014-05-19 · 트폰에는가속도센서가부착되어있다.가속도센서는[그림2-2]와같

- 10 -

2.2.2구분자 알고리즘 선택

련 연구에서는 의사결정 트리를 사용하여 사용자 행 인지 모델을

구축하 다.그 이유는 크게 3가지이다.먼 구분 할 행 의 개수가 작

기 때문에 의사결정 트리를 사용하기에 합하다.

두 번째로 행 인지를 한 특징을 사용했을 경우 체로 의사결정

트리의 정확도가 높다[2][3].기본 으로 계량 데이터를 해 많이 사용

되지만 비계량 데이터에도 뛰어난 성능을 보인다.

마지막으로 의사결정 트리는 분석이 가능하기 때문에 데이터의 흐름을

악하기가 쉽다.그래서 분석된 트리를 통해 행 인지의 정확도를 높

이는데 유리하다.본 연구에서도 생성된 의사결정 트리 모델의 분석을

통하여 상태 이도 에 반 하 다.

[표 2-2]ConfusionMatrix

Page 27: 모바일센서기반사용자행위인지 MobileSensorbasedUserActivity …ailab.ssu.ac.kr/rb/files/download/2013_Master_Thesis... · 2014-05-19 · 트폰에는가속도센서가부착되어있다.가속도센서는[그림2-2]와같

- 11 -

2.2.3실험 결과

의사결정 트리 모델의 정확도는 [표 2-2] 과 같다.[표 2-2]는

Confusionmatrix를 나타내는 것으로 Walk,Car의 경우는 체 으로

정확도가 높다.하지만 Still과 Metro의 정확도는 낮게 나타나는데 이

는 두 행 의 가속도의 데이터가 아주 비슷하기 때문이다.본 연구 과정

서도 이와 같은 문제 을 겪었으며 이를 극복하기 해 의사결정 트리

모델의 분석을 통해 상태 이도를 사용하 다.

Page 28: 모바일센서기반사용자행위인지 MobileSensorbasedUserActivity …ailab.ssu.ac.kr/rb/files/download/2013_Master_Thesis... · 2014-05-19 · 트폰에는가속도센서가부착되어있다.가속도센서는[그림2-2]와같

- 12 -

제 3장 가속도 기반 사용자 행 인지 시스템

본 장에서는 크게 3가지의 해결방안을 통해 기존 연구의 단 을 극복

한다.먼 가속도 센서의 Vertical,HorizontalComponent정보를 통해

사용자 행 의 상,하,좌,우 움직임 정보를 이용한다.이는 사용자의 행

를 좀 더 정확하게 인지하는데 도움이 된다.

두 번째로 의사결정 트리 기반의 구분자를 사용한다.앞에서도 언 했

듯이 의사결정 트리는 은 수의 목표를 구분하기에 성능이 좋으며,모

델이 단순한 구조로 이루어져 있어 모델 분석이 쉽다. 한 다른 구분자

에 비해 성능이 우수하고 인지과정에서 빠른 속도로 인지가 가능하다.

마지막으로 상태 이도를 사용하여 최종 으로 행 를 결정한다.행

는 다르지만 유사한 형태의 가속도 센서 데이터가 나타날 경우,

의사결정 트리 모델만으로 구분하기에는 한계가 있다.그래서 합리 인

행 의 흐름을 결정해 놓음으로써 잘못된 행 인지를 바로잡을 수 있

다.

의 3가지 해결방안을 기반으로 실시간 행 인지 시스템을 구축한

다.먼 행 인지 시스템에서 모델을 학습하는 방법과 인지과정에

한 구조를 살펴본다.그리고 모델을 학습하기 한 가속도 데이터 수집

방법에 해 살펴보고 수집된 데이터를 통해 Vertical,Horizontal

Component를 구하는 방법에 해 알아본다.그리고 간단한 처리를 거

친 후 9가지의 특징들을 추출하고 모델을 학습한다.그리고 상태 이도

를 만들기 해 만들어진 의사결정 트리 모델을 분석한다.마지막으로

Page 29: 모바일센서기반사용자행위인지 MobileSensorbasedUserActivity …ailab.ssu.ac.kr/rb/files/download/2013_Master_Thesis... · 2014-05-19 · 트폰에는가속도센서가부착되어있다.가속도센서는[그림2-2]와같

- 13 -

의사결정 트리 모델과 상태 이도를 스마트폰에 탑재한다.지 까지의

과정이 실시간 행 인지 시스템의 학습 과정이다.인지 과정에서는 학

습과정의 특징 추출 과정과 동일한 차로 진행된다.마지막으로 의사결

정 트리 모델과 상태 이도를 활용하여 최종 사용자 행 인지를 결정

한다.

3.1실시간 사용자 행 인지 시스템

의 [그림 3-1]은 실시간 사용자 행 인지 시스템의 구조도 이다.

행 인지 시스템은 크게 행 인지 모델 학습 과정과 행 인지 과정

으로 나 수 있다.본 연구에서는 Stay,Walk,Jog,Bus,Subway총 5

가지의 사용자 행 를 인지하는 것을 목표로 한다.

[그림 3-1]실시간 사용자 행 인지 시스템 구조도

Page 30: 모바일센서기반사용자행위인지 MobileSensorbasedUserActivity …ailab.ssu.ac.kr/rb/files/download/2013_Master_Thesis... · 2014-05-19 · 트폰에는가속도센서가부착되어있다.가속도센서는[그림2-2]와같

- 14 -

먼 행 모델 학습 과정을 살펴보면 크게 3가지 단계를 거친다.안

드로이드 스마트폰의 GPS센서와 가속도 센서로부터 데이터를 수집한

다.수집하는 방식은 50% Window Overlap을 사용하여 수집을 하며,각

각의 행 별로 약 4,000개의 데이터를 수집한다.수집된 데이터는

Vertical,HorizontalComponent를 구하는 과정을 거쳐 이로부터 총 9개

의 특징 값을 추출한다.즉 각각의 행 별로 4000by9의 Matrix가 생

성되는 것이다.이 게 생성된 특징 값들은 의사결정 트리를 사용하여

모델을 생성한다.경험 인 튜닝을 통해 최 의 성능을 나타내는 모델을

생성하면 사용자 행 인지 모델의 학습 과정이 끝나게 된다.

다음은 행 인지 과정이다.행 인지 과정에서 특징 값 추출하는 단

계까지는 사용자 행 인지 모델 학습과정의 특징 값 추출하는 과정과

동일하다.다만 상태 이도를 추가하여 용하는 부분이 다르다.상태

이도는 합리 인 사용자의 행 변화흐름을 반 하여 만들어진다.

한 앞서 만들어진 의사결정 트리를 분석하여 Subway와 Bus의 인식

정확도를 향상시켜 상태 이도 에 반 한다.이제 실시간으로 데이터가

들어오면 9개의 특징을 추출하고 스마트폰에 탑재된 모델을 용하여 사

용자 행 를 결정한다.그리고 상태 이도를 용하여 앞에서 결정된

행 의 인식 오류를 단하여 최종 으로 사용자 행 를 결정한다.

략 인 행 인지 모델의 학습 과정과 인지과정에 해 살펴보았다.

다음은 좀 더 구체 인 행 인지 모델의 학습과정과 인지과정에 해

알아보고 실제 데이터를 어떠한 형태로 표 되고 가공되는지를 설명한

다.

Page 31: 모바일센서기반사용자행위인지 MobileSensorbasedUserActivity …ailab.ssu.ac.kr/rb/files/download/2013_Master_Thesis... · 2014-05-19 · 트폰에는가속도센서가부착되어있다.가속도센서는[그림2-2]와같

- 15 -

[그림 3-2]행 인지 모델 학습 과정

3.2행 인지 모델 학습 과정

[그림 3-2]는 행 인지 모델의 학습과정을 자세히 나타낸 그림이다.

먼 수집된 가속도 데이터는 [그림 3-2]와 같이 안드로이드 스마트폰으

로부터 3축 가속도 데이터 값을 일로 기록한다.그리고 추후 행 인

지의 보정을 해 GPS값과 Speed값도 함께 기록한다.수집된 데이터

는 Vertical,HorizontalComponent를 구하고 정 에 한 보정을 한 후

이 값을 통해 9개의 특징 값을 추출한다.이 게 만들어진 특징 값은

Wekatool의 의사결정 트리(J48)를 이용하여 모델을 생성한다.생성된

모델은 Wekatool에서 Java의 Class형태로 추출할 수 있다.이 게 추

출된 모델은 안드로이드 스마트폰에 탑재하여 추후 실시간으로 사용자

행 인지 시 용하게 된다.

Page 32: 모바일센서기반사용자행위인지 MobileSensorbasedUserActivity …ailab.ssu.ac.kr/rb/files/download/2013_Master_Thesis... · 2014-05-19 · 트폰에는가속도센서가부착되어있다.가속도센서는[그림2-2]와같

- 16 -

[표 3-1]스마트폰 별 SampleRate

3.2.1데이터 수집 방식

제조사에 따른 스마트폰의 종류마다 센서 장비 성능에 차이가 있다.

[표 3-1]은 [10]에서 발췌한 내용으로 SampleRate를 살펴보면 4가지 모

델의 가속도 센서에 한 샘 링 주기를 나타낸다.NexusOne의 모델

경우 가장 빠른 속도로 가속도 데이터 수집이 가능하며 G2의 경우 가

장 느린 샘 주기를 보인다.1)아래의 참고 링크를 확인해보면 더 많은

디바이스 모델의 샘 링 주기를 확인할 수 있다.본 연구에서 사용한

GalaxyS3같은 경우는 약 100Hz로서 당 100개의 가속도 데이터를

수집할 수 있다.이 게 스마트폰 별로 샘 링 주기가 다르기 때문에 주

기를 통일시킬 필요가 있다.빠른 샘 링 주기는 일부 스마트폰에서 동

작하지 않을 수도 있으며 배터리 수명에도 향이 있다.본 연구에서는

재 많이 보 된 스마트폰의 성능을 고려하여 샘 링 주기를 50Hz로

설정하 다.

본 연구와 련된 연구에서는 하나의 임( 는 도우)단 로 가

속도 데이터를 분리하여 행 를 인지한다.보통 3 부터 20 까지를

임 단 로 설정한다.하나의 임을 구성하는 시간이 길수록 수집된

1) http://ilessendata.blogspot.kr/2012/11/android-accelerometer-sampling-rates.html

Page 33: 모바일센서기반사용자행위인지 MobileSensorbasedUserActivity …ailab.ssu.ac.kr/rb/files/download/2013_Master_Thesis... · 2014-05-19 · 트폰에는가속도센서가부착되어있다.가속도센서는[그림2-2]와같

- 17 -

[그림 3-3]Window Overlap수집 방식

데이터는 많아져 행 인지의 성능이 좋아진다.하지만 행 인지 시간

이 길어진다.반 로 하나의 임을 구성하는 시간이 짧을수록 인지

속도가 빨라져 사용자 입장에서는 좋지만 은 가속도 데이터를 활용해

야 하므로 인지 성능이 하된다.[3]에서도 이와 같은 상충 계를 고려

하여 결정하 다. 의 [그림 3-3]은 Window Overlap을 사용하여 샘

링 하는 과정을 나타내는 그림이다.가속도 데이터는 신호 데이터의 한

종류로서 연속 인 데이터이며 사용자의 행 에 한 특정한 패턴을 담

Page 34: 모바일센서기반사용자행위인지 MobileSensorbasedUserActivity …ailab.ssu.ac.kr/rb/files/download/2013_Master_Thesis... · 2014-05-19 · 트폰에는가속도센서가부착되어있다.가속도센서는[그림2-2]와같

- 18 -

고 있다.그래서 단순한 임의 구성은 가속도 데이터의 주기 인 패

턴을 담을 수 없다.그래서 [그림 3-3]과 같이 가속도 데이터를 수집할

때, 임을 Overlap하여 수집하게 되면 사용자의 행 에 한 패턴을

살릴 수 있다.[3][7]에서도 같은 방법을 사용하 다.이 방법의 단 은

임이 바뀔 때,새로운 가속도 데이터로 부 교체되지 않기 때문에

인지 속도에서 손해를 본다.하지만 실제로 사용자가 불편을 느낄 정도

로 인지 속도가 느리지 않으며 오히려 모델의 정확도 측면에서 더 큰 장

을 가진다.

본 연구에서는 50% Window Overlap을 사용하 다.[그림 3-3]에서와

같이 첫 임은 300개(50Hz에서 6 )의 가속도 데이터를 수집하며,

두 번째 임부터는 3 동안 150개의 새로운 데이터로 교체하여 총

300개의 가속도 데이터를 행 인지에 사용한다.즉,3 간격으로 사용

자의 행 를 인지한다.

[그림 3-4]특징 추출 과정

Page 35: 모바일센서기반사용자행위인지 MobileSensorbasedUserActivity …ailab.ssu.ac.kr/rb/files/download/2013_Master_Thesis... · 2014-05-19 · 트폰에는가속도센서가부착되어있다.가속도센서는[그림2-2]와같

- 19 -

3.2.2특징 추출 과정

[그림 3-4]는 특징 추출을 한 체 인 과정을 보여 다.가장 먼

해야 할 일은 VerticalComponent와 HorizontalComponent를 구하는

일이다.하나의 임에 300개의 가속도 데이터가 있기 때문에 Vertical

Component와 HorizontalComponent역시 300개씩 구할 수 있다.두

Component의 크기만을 구해서 그래 로 그려보면 [그림 3-4]의 2번 그

래 와 같이 신호 형태의 모양이 나온다.[그림 3-4]의 2번 그래 는

Jogging의 그래 로서 VerticalComponent와 HorizontalComponent

의 크기 변화가 크다는 것을 알 수 있다.이 값을 통해서 9개의 특징 값

을 추출하는 과정이 [그림 3-4]의 3번 그림이다.기존의 련 연구에서

는 2장의 2.2.1 (1)번 식을 통해 구해진 Amplitude 값을 사용하여

FFT(Fast Fourier Transform) 하여 특징 값으로 많이 사용한다

[2][3][6][7].가속도 데이터에서의 FFT 는 TimeDomain을 Frequency

Domain으로 나타냄을 의미한다.변환된 값을 살펴보면 특정 행 에 나

타나는 주 수가 있으며 그 주 수의 값을 구할 수 있다.이 값들을 통

해 특정 행 의 특징 값으로 사용할 수 있다.하지만 본 연구에서는

FFT를 용한 특징 값이 Subway,Stay,Bus의 구분에 큰 향을 주

지 못한다는 것을 실험으로 확인하 다.그래서 이 부분은 특징 값으로

사용하지 않았다.

3.2.3Vertical,HorizontalComponent

2장의 2.2.1(1)번 식은 스마트폰의 방향성을 고려하지 않는 방법이다.

같은 행 에서도 스마트폰의 방향은 달라질 수 있기 때문에 이와 같은

방법은 좋은 선택이라고 할 수 있다.하지만 소실되는 정보도 존재한다.

를 들면 걷기와 같은 행 를 할 때,스마트폰의 가속도 센서 에서는

Page 36: 모바일센서기반사용자행위인지 MobileSensorbasedUserActivity …ailab.ssu.ac.kr/rb/files/download/2013_Master_Thesis... · 2014-05-19 · 트폰에는가속도센서가부착되어있다.가속도센서는[그림2-2]와같

- 20 -

아래 로의 움직임뿐만 아니라 앞,뒤로의 움직임도 복합 으로 존재한

다.자동차에 탑승했을 경우는 아래 로의 움직임보다는 앞,뒤로의 움

직임이 더 클 수 있다.2장의 2.2.1(1)번 식에서는 이러한 정보는 소실되

며 단순히 가속도의 크기만을 특징 값에 반 된다.그래서 본 연구에서

는 이러한 정보를 반 하기 해 VerticalComponent,Horizontal

Component를 사용한다.VerticalComponent는 스마트폰의 방향과 계

없이 력방향인 아래, 로의 움직임에 한 가속도 크기의 변화를 나

타낸다.그리고 HorizontalComponent는 스마트폰의 앞,뒤로의 움직임

에 한 가속도 크기의 변화를 나타낸다.

[그림 3-5]의 (1)번 그림은 스마트폰을 평평한 곳에 두었을 경우,스마

트폰의 VerticalComponent()는 력 방향과 축 z와 방향이 같

다.그리고 (2)번의 그림처럼 스마트폰의 방향이 바 어도 Vertical

Component()방향은 여 히 력 방향이다.즉,스마트폰의 방향에

계없이 력방향의 VerticalComponent와 앞,뒤 방향의 Horizontal

Component를 구할 수 있다.결론 으로 스마트폰의 방향을 고려하지 않

지만 체 인 움직임의 방향은 반 할 수 있게 된다.

(1) (2)

[그림 3-5]스마트폰 기울기에 따른 V/H축의 변화

Page 37: 모바일센서기반사용자행위인지 MobileSensorbasedUserActivity …ailab.ssu.ac.kr/rb/files/download/2013_Master_Thesis... · 2014-05-19 · 트폰에는가속도센서가부착되어있다.가속도센서는[그림2-2]와같

- 21 -

(1) (2)

[그림 3-6]가속도 데이터의 표 벡터

VerticalComponent와 HorizontalComponent를 구하는 방법은 다음

과 같다.가장 먼 하나의 임에 담겨 있는 300개의 가속도 데이터

에 한 평균을 구한다.x,y,z의 3축으로 이루어진 가속도 데이터는

[그림 3-6]의 (1)과 같이 벡터로 표 이 가능하다.본 연구에서는 총 300

개의 데이터가 있으며 그 번째 x,y,z축의 데이터를 라고 정한

다.그리고 [그림 3-6]의 (2)에서 AccX,AccY,AccZ각 축의 평균을 구

한 를 구한다.마지막으로 의 단 벡터(NormalizeVector)를 [표 3-2]

의 ③ 식을 통해 구한다.

[표 3-2]가속도 데이터의 단 벡터 표 식

① 번째 x,y,z축의 벡터

② x,y,z축의 평균

③ 의 단 벡터

Page 38: 모바일센서기반사용자행위인지 MobileSensorbasedUserActivity …ailab.ssu.ac.kr/rb/files/download/2013_Master_Thesis... · 2014-05-19 · 트폰에는가속도센서가부착되어있다.가속도센서는[그림2-2]와같

- 22 -

[그림 3-7]VerticalComponent벡터

먼 VerticalComponent를 구하는 방법은 다음과 같다.[그림 3-7]에

서 VerticalComponent는 벡터이다.300개의 가속도 데이터

데이터가 있다고 가정하면, 데이터를 에 Projection한 벡터가

VerticalComponent인 가 된다.Projection하는 방법은 [표 3-3]에

있다.여기서 는 HorizontalComponent를 구하기 해 필요하며 실제

로는 값을 사용하여 특징 값을 구한다.

[표 3-3]VerticalComponent표 식

① 정사 (Projection)

② 내 (InnerProduct)

③ VerticalComponent

Page 39: 모바일센서기반사용자행위인지 MobileSensorbasedUserActivity …ailab.ssu.ac.kr/rb/files/download/2013_Master_Thesis... · 2014-05-19 · 트폰에는가속도센서가부착되어있다.가속도센서는[그림2-2]와같

- 23 -

[표 3-4]HorizontalComponent표 식

① HorizontalComponent

HorizontalComponent를 구하는 방법은 다음과 같다.[표 3-4]와 같이

를 앞에서 구한 VerticalComponent 로 빼주면 Horizontal

Component인 값을 구할 수 있다.

최종 으로 구한 VerticalComponent인 와 HorizontalComponent

인 값을 [그림 3-8]에서 확인할 수 있다.하나의 임에 총 300개의

데이터가 있으므로 VerticalComponent와 HorizontalComponent역시

300개의 데이터를 생성할 수 있다.

[그림 3-8]HorizontalComponent벡터

Page 40: 모바일센서기반사용자행위인지 MobileSensorbasedUserActivity …ailab.ssu.ac.kr/rb/files/download/2013_Master_Thesis... · 2014-05-19 · 트폰에는가속도센서가부착되어있다.가속도센서는[그림2-2]와같

- 24 -

[그림 3-9]Matlab을 이용한 Component표

실제로 수집한 가속도 데이터 하나( )를 추출 하여 Matlab을 사

용해 그려보면 [그림 3-9]과 같음을 확인할 수 있다.여기서 Vertical,

HorizontalComponent는 크기와 방향을 가진 벡터 형태이다.하지만 방

향의 요소는 필요가 없다.왜냐하면 300개의 모든 가 로 Projection

되어 방향이 동일하기 때문이다. 그래서 본 연구에서는 Vertical

Component와 HorizontalComponent의 크기만을 사용한다. (Vertical

Component의 크기 :,HorizontalComponent의 크기 :)앞장의

[그림 3-4]에서도 ①에서 ②으로 넘어가는 단계에 Component들의 크기

만을 사용한다는 것을 확인할 수 있다.

Page 41: 모바일센서기반사용자행위인지 MobileSensorbasedUserActivity …ailab.ssu.ac.kr/rb/files/download/2013_Master_Thesis... · 2014-05-19 · 트폰에는가속도센서가부착되어있다.가속도센서는[그림2-2]와같

- 25 -

[그림 3-10]행 별 Component형태 비교

[그림 3-10]는 가속도 데이터에 한 두 Component의 크기를 사용하

여 그래 로 그린 그림이다.그래 의 상단에 치한 선은 Vertical

Component이며 하단의 선은 HorizontalComponent이다.5가지의 그

래 를 살펴보면 사용자의 행 별로 그래 의 형태가 차이나는 것을 알

수 있다.Jog같은 경우는 큰 움직임으로 인해 가속도의 변화가 크며,

Car(Bus)의 경우는 상,하의 움직임(VerticalComponent)보다 좌,우의

움직임(HorizontalComponent)이 더 크다는 것을 알 수 있다.그리고

Stay의 경우는 거의 움직임이 없으므로 가속도 변화가 미비하며

Subway의 경우는 일 에서 움직이기 때문에 가속도의 변화가 작다.

3.2.4정

[그림 3-10]에서 Stay의 그래 와 Subway의 그래 를 비교해보면

상당히 유사하다.행 인지 모델에서도 두 행 의 구분은 쉽지 않다.이

러한 문제 을 해결하기 해 정 부분을 부각시키는 방법을 사용하

다.

Page 42: 모바일센서기반사용자행위인지 MobileSensorbasedUserActivity …ailab.ssu.ac.kr/rb/files/download/2013_Master_Thesis... · 2014-05-19 · 트폰에는가속도센서가부착되어있다.가속도센서는[그림2-2]와같

- 26 -

[그림 3-11]정

정 부분을 부각시키는 방법은 다음과 같다.기울기가 변하는 지

(정 )에 이 의 정 로부터 재 정 까지의 크기 값을 더하여 재

정 의 크기를 변형시킨다.[그림 3-11]에서 완만한 곡선의 데이터는

VerticalComponent(originaldata)로서 정 을 부각하여 가 른 곡선의

VerticalComponent를 만들어졌다.

[그림 3-12]정 용한 실험 데이터 비교

Page 43: 모바일센서기반사용자행위인지 MobileSensorbasedUserActivity …ailab.ssu.ac.kr/rb/files/download/2013_Master_Thesis... · 2014-05-19 · 트폰에는가속도센서가부착되어있다.가속도센서는[그림2-2]와같

- 27 -

[그림 3-12]은 Walk의 VerticalComponent그래 를 나타낸 그림으

로 오른쪽 그래 가 정 을 사용한 그래 이다. 체 인 형태는 변화되

지 않지만 정 의 Amplitude가 증가하거나 감소하 음을 알 수 있다.

3.2.5특징 추출

Vertical,HorizontalComponent를 통해 추출할 특징은 총 9개 이다.

각 Component별로 4개의 특징이 있으며 두 Component의 계에

한 특징 1개가 있다.

(1)표 편차(StandardDeviation)

사용자 행 인지뿐만 아니라 부분의 구분자 알고리즘 의 특징으로

많이 사용한다.모집단에서 이질 인 성질을 가진 데이터들이 얼마나 분

포하느냐를 보기 한 특징 값이다.본 연구에서는 가속도 데이터의 분

포가 평균값으로부터 얼마나 분포되어 있는지를 볼 수 있다.Jog 나

Walk같은 경우는 가속도 데이터의 변화가 커 표 편차 값이 크며 Stay

나 Subway경우는 가속도의 변화가 작기 때문에 표 편차의 값이 작다.

(2) 통과율(Zero-CrossingRate)

(1)

(2)

[그림 3-13] 통과율

Page 44: 모바일센서기반사용자행위인지 MobileSensorbasedUserActivity …ailab.ssu.ac.kr/rb/files/download/2013_Master_Thesis... · 2014-05-19 · 트폰에는가속도센서가부착되어있다.가속도센서는[그림2-2]와같

- 28 -

통과율은 기 인 0을 지나는 신호의 비율을 의미한다.기본 으로

PitchDetectionAlgorithm으로도 많이 사용되어 왔다.[그림 3-13]의 (1)

식을 살펴보면 재 샘 의 값인 와 이 샘 의 신호 값인 을

곱했을 경우 이 값이 음인지 단한다.결과가 음의 값이면 부호가 바

었다는 뜻이며 호안의 식은 true가 되어 1을 반환한다.반 로 곱

한 값이 0보다 크거나 같으면 0을 반환한다.모든 신호의 길이만큼 그

연산을 하여 합산을 하면 결과 으로 0을 교차한 횟수를 구할 수 있다.

그리고 신호의 길이만큼 교차횟수를 나 어주면 신호가 0을 교차하는 비

율이 된다.

가속도 데이터를 용하 을 경우,각 행 별로 교차율의 비율이

나타날 것이다.이를 특징 값으로 사용하여 행 인지에 활용한다.

(3)75분 수(75Percentile)

Percentile은 특정 집단의 분포에서 하나의 샘 의 상 치를 나

타내는 방법이다.75Percentile는 체 데이터에서 75% 치에 있는 데

이터를 말한다.

[표 3-5]샘 링 치 계산식

×

≤ ≤

[표 3-5]에서 P는 퍼센트의 값으로 75Percentile의 P값은 75가 될 것

이다.그리고 N 은 총 데이터의 개수이다.본 연구에서는 300개의 데이

터이므로 N =300이다. 의 데이터를 기반으로 계산을 하면 225.5가

Page 45: 모바일센서기반사용자행위인지 MobileSensorbasedUserActivity …ailab.ssu.ac.kr/rb/files/download/2013_Master_Thesis... · 2014-05-19 · 트폰에는가속도센서가부착되어있다.가속도센서는[그림2-2]와같

- 29 -

나온다.소수 이 나올 경우,올림을 하면 이 된다.즉,226번째

값이 75% 치의 데이터 값이 된다.300개의 가속도 데이터를 오름차순

으로 정렬하여 226번째 값을 찾아내면 그 치의 값이 75Percentile특징

값이다.

(4)사분 수 범 (InterQuartileRange)

사분 수 범 는 [그림 3-14]과 같이 평균을 으로 좌,우 50%의

범 에 해당하는 데이터를 의미한다.

[표 3-6]사분 수 범 계산식

[그림 3-14]사분 수 범

Page 46: 모바일센서기반사용자행위인지 MobileSensorbasedUserActivity …ailab.ssu.ac.kr/rb/files/download/2013_Master_Thesis... · 2014-05-19 · 트폰에는가속도센서가부착되어있다.가속도센서는[그림2-2]와같

- 30 -

이 [표 3-6]에서 은 하 25%의 범 를 의미하여 는 75%의 범

를 이야기한다. (3)의 75Percentile에서 P의 값이 25이면 이 되

며 P의 값이 75이면 가 된다.그래서 에서 의 값을 빼면 평균

으로부터의 50% 범 인 사분 수 범 가 된다.[그림 3-14]에서 간의

50% 구간이 사분 수 범 이다.

(3)과 (4)와 같이 사분 수를 사용하는 이유는 [그림 3-14]처럼 데이터

의 분포가 항상 칭의 형태로 이루어져 있지 않기 때문이다.데이터가

칭의 형태로 분포한다면 평균과 표 편차를 이용하여 데이터를 설명할

수 있지만 비 칭일 경우는 게 사분 수를 사용하여 설명한다.그 기

때문에 본 연구에서도 데이터가 비 칭일 경우를 고려하여 사분 수를

이용한 특징 값을 사용하 다.

Vertical,HorizontalComponent를 사용하여 의 4가지 특징 값을 구

하는 방법에 해 설명하 다.이제 각 Component마다 4개의 특징을

추출할 수 있으므로 총 8개의 특징 값을 생성할 수 있다.마지막으로

Cross-Correlation을 특징 값으로 사용한다.

(5)Cross-Correlation

[표 3-7]Cross-Correlation계산식

Page 47: 모바일센서기반사용자행위인지 MobileSensorbasedUserActivity …ailab.ssu.ac.kr/rb/files/download/2013_Master_Thesis... · 2014-05-19 · 트폰에는가속도센서가부착되어있다.가속도센서는[그림2-2]와같

- 31 -

[그림 3-15]Cross-Correlation설명 제

신호 분석에서 의(non-identical) 형 형태에 한 유사도를 측정하

는 방법 하나가 Cross-Correlation이다.[그림 3-15]에서 SignalA

와 SignalB2는 유사한 형을 가지고 있어 correlation의 성질을 가지

고 있다고 할 수 있다.반 로 SignalA 와 SignalB1은 다른 형

태의 형을 가지고 있어 correlation이 없다.계산식은 간단하다.[표

3-7]의 식을 보면 두 신호 과 가 있다.같은 치의 샘 을 곱하

여 모두를 더한 후 총 개수로 나눠주면 Cross-Correlation값을 구할 수

있다.값이 비슷한 형 형태의 두 신호 데이터가 있다고 가정하면,같

은 치의 신호 곱은 러스(+)가 될 것이다.즉,값이 클수록 두 신호

데이터가 비슷하다는 이야기가 된다. 본 연구에서는 두 Vertical,

HorizontalComponent의 Cross-Correlation값을 구하여 9번째의 특징

값으로 사용하 다.

Page 48: 모바일센서기반사용자행위인지 MobileSensorbasedUserActivity …ailab.ssu.ac.kr/rb/files/download/2013_Master_Thesis... · 2014-05-19 · 트폰에는가속도센서가부착되어있다.가속도센서는[그림2-2]와같

- 32 -

3.2.6의사결정 트리 모델 생성

의사결정 트리 모델은 정보 이득이 가장 낮은 항목부터 노드를 생성하

여 트리를 생성한다.본 연구에서는 WekatoolKit(v3.6)을 사용하여 행

인지 모델을 생성하 다.의사결정 트리 에서도 J48을 사용하 다.

J48은 C4.5알고리즘을 Java형태로 구 한 것으로 wekadatamining

tool로 개발 되었다.

의사결정 트리로 생성된 행 인지 모델의 튜닝은 WekatoolKit의

옵션에서 조정하 다.자세한 사항은 뒤쪽에서 언 하도록 한다.[그림

3-16]는 실제 WekatoolKit에서 생성된 행 인지 모델을 나타낸 그림

이다.각 노드들은 분기를 한 특징 값들의 조건 범 를 가지고 있다.

[그림 3-16]의사결정 트리 모델

Page 49: 모바일센서기반사용자행위인지 MobileSensorbasedUserActivity …ailab.ssu.ac.kr/rb/files/download/2013_Master_Thesis... · 2014-05-19 · 트폰에는가속도센서가부착되어있다.가속도센서는[그림2-2]와같

- 33 -

3.3행 인지 모델 인지 과정

본 장에서는 행 인지 모델을 스마트폰에 탑재하는 과정과 함께 인지

모델의 정확도를 보정하기 해 의사결정 트리의 단말 노드를 분석하여

모델의 정확도를 높이는 방법에 해 설명한다.그리고 상태 이도 에

서 Subway,Bus노드에 용하여 실시간으로 사용자 행 를 인지하는

과정에 해 설명한다.

3.3.1의사결정 트리 모델 분석

의사결정 트리의 장 하나는 모델 분석이 가능하다는 것이다.본

연구에서도 이러한 장 을 살려 모델을 분석하 다.Weka에서 생성한

의사결정 트리는 여러 개의 같은 행 에 한 단말 노드를 가진다.실제

가속도 데이터의 특징 값들이 도달하는 단말 노드를 분석해보면 같은 행

의 이름을 가진 여러 개의 단말 노드를 확인할 수 있다.[그림 3-17]

을 보면 단말 노드에 7개의 Car단말 노드가 존재함을 알 수 있다.

여기서 요한 은 모든 Car단말 노드가 유효한 노드가 아니라는

이다.[그림3-17]에서 분석한 내용을 보면 쪽 박스안의 Car단말 노

드는 91% 의 정확도를 보이며 아래쪽 박스안의 Car단말 노드는 99%의

정확도를 보인다. 한 훈련 샘 의 부분이 아래쪽 박스의 Car단말

노드에 도달함을 알 수 있다.나머지 Car단말 노드를 살펴보면 50%

의 정확도를 가지는 단말 노드도 존재한다.즉,높은 정확도를 가지는 단

말노드와 정확도가 낮은 단말노드가 공존한다는 뜻이다.그래서 높은 정

확도를 보이는 단말 노드를 으로 사용함으로서 의사결정 트리의

정확도를 높일 수 있다.

Page 50: 모바일센서기반사용자행위인지 MobileSensorbasedUserActivity …ailab.ssu.ac.kr/rb/files/download/2013_Master_Thesis... · 2014-05-19 · 트폰에는가속도센서가부착되어있다.가속도센서는[그림2-2]와같

- 34 -

실제로 사용자가 Car를 탑승했을 때와 Car와 련 없는 상황에서

Car로 인지되는 경우를 실험해 보았다.Car를 탑승 했을 경우 하나 는

두개의 Car단말 노드에 집 되었다.그리고 Car와 련 없는 상황에서

Car로 인지되었을 경우,정확도가 낮은 Car단말 노드로 많이 움직

다.본 연구에서는 정확도가 낮은 단말 노드를 통해 행 가 인지된 경우,

재 행 를 무시하고 바로 단계의 행 를 이어가는 정책으로 시스템

을 구성하 다.

[그림 3-17]의사결정 트리 단말 노드 분석

Page 51: 모바일센서기반사용자행위인지 MobileSensorbasedUserActivity …ailab.ssu.ac.kr/rb/files/download/2013_Master_Thesis... · 2014-05-19 · 트폰에는가속도센서가부착되어있다.가속도센서는[그림2-2]와같

- 35 -

하지만 Stay,Walk,Jog,Bus,Subway의 5가지 모든 행 에 해

의 정책을 용 하지는 않았다. 의 정책은 행 인지의 속도가 느리기

때문이다.의사결정 트리에서 정확한 특징 값들로 구성이 되지 않으면

높은 정확도를 가지는 단말 노드에 도달하지 못한다.그래서 본 연구에

서는 행 인지 모델에서 정확도가 떨어지는 Bus와 Subway의 경우에

의 정책을 사용하 다.

3.3.2상태 이도

[그림 3-18]은 상태 이도를 나타낸 그림이다.상태 이도의 특징은

3가지로 나 수 있다.먼 Stay에서 Subway와 Bus로의 환은 높은

확률을 고려하여 행 환을 한다.오각형 모양의 Subway와 Bus는

3.3.1에서 행 인지 모델을 분석하여 만든 정책을 따른다.두 번째로

Subway와 Bus에서 Stay로의 환은 Walk이나 Jog를 거쳐야 환할

수 있도록 했다.운송수단에서 벗어났을 경우, 부분 Walk이나 Jog를

거친다.마지막으로 Subway와 Bus의 직 인 상호 환은 불가능하

도록 하 다.이 특징 역시 Subway와 Bus간의 직 인 환은 상식

으로 불가능하기 때문이다.

[그림 3-18]상태 이도 구조

Page 52: 모바일센서기반사용자행위인지 MobileSensorbasedUserActivity …ailab.ssu.ac.kr/rb/files/download/2013_Master_Thesis... · 2014-05-19 · 트폰에는가속도센서가부착되어있다.가속도센서는[그림2-2]와같

- 36 -

[그림 3-19]실시간 사용자 행 인지 과정

3.3.3실시간 사용자 행 인지

실시간 사용자 행 인지는 [그림 3-19]의 과정으로 진행된다.특징

추출 과정까지는 사용자 행 인지 모델 학습과정과 같다.이식된 모델을

용하려면 완벽하게 행 인지 모델 학습과정의 특징 값과 같아야 한다.

추출된 특징 값은 학습과정에서 이식된 모델을 통하여 행 를 결정한다.

정해진 행 는 GPS데이터의 수신여부를 체크하여 수신 될 경우,인지

된 행 와 부합하는지 체크한다.실내인 경우는 GPS데이터를 무시한다.

다음 단계로 상태 이도를 용한다. 재 인지된 행 가 이 의 행

에서 바 었다면 상태 이도의 흐름에 부합하는지를 본다.불가능한 행

환이라면 재 인지된 행 는 무시되고 이 의 행 로 계속 이어간

다.최종 인 행 가 결정되었다면 스마트폰 화면에 인지된 행 를 출력

해 다.이와 같은 과정은 3 를 주기로 계속 반복된다.

Page 53: 모바일센서기반사용자행위인지 MobileSensorbasedUserActivity …ailab.ssu.ac.kr/rb/files/download/2013_Master_Thesis... · 2014-05-19 · 트폰에는가속도센서가부착되어있다.가속도센서는[그림2-2]와같

- 37 -

제 4장 실험 결과

본 장은 다음과 같이 구성되어 있다.4.1 에서는 실험 환경과 행 인

지 모델의 학습을 한 실험 데이터 모델 평가 방법에 해 언 하

며,4.2 에서는 구체 인 시스템 구 방법에 해 설명한다.4.3 에서

는 실험 모델의 정확도와 함께 다른 구분자를 같은 조건에서 비교 분석

해본다.

4.1실험 환경 실험 데이터

본 연구에 사용한 스마트폰은 안드로이드가 탑재된 삼성 Galaxy

3(3G)를 사용했다.실험과정에서 Galaxy3의 가속도 데이터를 기반으로

만든 의사결정 트리 모델을 다른 제조사(HTC)스마트폰에 탑재해서 실

험을 해본 결과,행 인지의 정확도에서 차이를 보 다.제조사 마다 측

정되는 가속도 센서의 데이터 미세하게 차이나기 때문이다.그래서 본

연구에서는 하나의 기종으로 실험을 진행하 다.

[표 4-1]실험 데이터

Galaxy3Total 비고

Pocket Hand

Walking 2,132 2,033 4,165

Jogging 2,214 2,114 4,328

Bus 2,133 2,124 4,257 Bus,Car데이터

Stay 1,812 2,121 3,933

Subway 2,056 2,050 4,016 Line7,Line2,Line4

Total 10,347 10,442 20,699

Page 54: 모바일센서기반사용자행위인지 MobileSensorbasedUserActivity …ailab.ssu.ac.kr/rb/files/download/2013_Master_Thesis... · 2014-05-19 · 트폰에는가속도센서가부착되어있다.가속도센서는[그림2-2]와같

- 38 -

모델을 학습하기 해 약 2만개 정도의 가속도 데이터 샘 을 수집하

다.[표 4-1]에서 수집한 데이터의 종류를 알 수 있다.각 행 별로 약 4

천개의 데이터를 수집하 으며,수집 시 Pocket과 Hand의 두 종류로

나 어 수집하 다.Bus의 가속도 데이터는 Car의 데이터와 병합하여

수집하 고 Subway의 가속도 데이터는 7호선,2호선,4호선의 데이터

를 병합 수집하 다.

행 인지 모델의 평가는 10FoldsCross-validation방식을 사용하

다.테스트 집합 과 훈련 집합의 분포가 1:9로서 약 2만개의 데이터를

사용한다면 2,000개 가 테스트 집합으로 쓰이며 18,000개가 훈련 집합으

로 쓰인다.

4.2구 방법

먼 행 인지 모델을 구축하기 해서는 데이터를 수집해야 한다.

[그림 4-1]가속도 데이터 수집 응용 로그램

Page 55: 모바일센서기반사용자행위인지 MobileSensorbasedUserActivity …ailab.ssu.ac.kr/rb/files/download/2013_Master_Thesis... · 2014-05-19 · 트폰에는가속도센서가부착되어있다.가속도센서는[그림2-2]와같

- 39 -

[그림 4-1]은 가속도 데이터를 수집하기 한 용도로 만든 응용 로그

램이다.상단에 일이름을 설정할 수 있으며 가장 하단에 Start/Stop버

튼을 르면 가속도 데이터 수집이 시작된다. 간 화면에서는 가속도

데이터의 값과 함께 GPS값이 출력 되며 바로 아래 에는 재 총 가

속도 데이터의 수집 개수가 출력된다.수집된 데이터는 스마트폰의

SD-Card에 장이 된다.

이 게 수집된 데이터는 Matlab 로그램에서 읽어온다.Matlab 로

그램에서는 수집된 가속도 데이터를 사용하여 9개의 특징 값을 추출한

다.3.2 의 특징 추출과정을 Matlab코드로 작성하여 특징을 추출하고

엑셀 확장자 종류 하나인 CSV 포맷으로 장한다.[그림 4-2]는 실

제로 Matlab을 사용하여 가속도 데이터의 특징 값을 추출한 그림이다.

행 인지 모델을 만들기 한 Weka 로그램에서 필요로 하는 포맷은

[그림 4-2]와 같다.첫 Row를 순차 인 자연수로 입력하고 마지막

Column을 행 이름으로 둔다.Row 는 하나의 샘 을 의미하며

Column은 샘 의 특징 값이다.최종 으로 추출된 Column의 총 개수

는 10개가 되며 Row 의 개수는 수집한 데이터의 총 개수가 된다.(약 2

만개)

[그림 4-2]Weka포맷 형태

Page 56: 모바일센서기반사용자행위인지 MobileSensorbasedUserActivity …ailab.ssu.ac.kr/rb/files/download/2013_Master_Thesis... · 2014-05-19 · 트폰에는가속도센서가부착되어있다.가속도센서는[그림2-2]와같

- 40 -

[그림 4-3]Weka메인 화면

[그림 4-3]은 Weka 로그램에서 Matlab을 이용해 생성된 CSV 일

을 불러온 화면이다.상단의 Classify탭을 클릭하면 구분자를 선택할 수

있다.그리고 하단의 Choose버튼을 르면 새로운 창이 나타나는데 여

기서 trees에 J48을 선택한다.마지막으로 Start버튼을 르면 의사결정

트리의 모델 학습이 시작된다.학습 결과는 [그림 4-3]의 오른쪽 화면에

서 보는 것과 같이 의사결정 트리가 생성되며 마지막 부분에는

ConfusionMatrix를 포함한 각종 정보가 나타난다. 의 방법을 통한 모

델 학습은 Weka에서 기본으로 제공하는 설정으로 모델을 학습하 다.

그래서 Overfitting문제나 모델의 정확도 향상을 해서는 튜닝을 하여

모델의 정확도를 높일 필요가 있다.

Page 57: 모바일센서기반사용자행위인지 MobileSensorbasedUserActivity …ailab.ssu.ac.kr/rb/files/download/2013_Master_Thesis... · 2014-05-19 · 트폰에는가속도센서가부착되어있다.가속도센서는[그림2-2]와같

- 41 -

[그림 4-4]Weka옵션 설정 화면

다음의 [그림 4-4]화면은 J48 의 기본 설정이다.본 연구에서는

minNumObj값을 증가시켜 노이즈 데이터를 감소시켰다.나머지 옵션은

모델의 정확도 향상에 큰 향이 없거나 오히려 감소되는 결과를 보여

minNumObj를 제외한 옵션은 기본설정으로 사용하 다.

이 게 생성된 행 인지 모델은 Java의 Class형태로 추출할 수 있

다.[그림 4-3]화면에서 Moreoptions...을 클릭하게 되면 가장 하단에

Outputsourcecode부분을 볼 수 있다.이 부분을 체크표시 해주게 되

면 결과 화면과 함께 Java코드도 출력됨을 볼 수 있다.

Page 58: 모바일센서기반사용자행위인지 MobileSensorbasedUserActivity …ailab.ssu.ac.kr/rb/files/download/2013_Master_Thesis... · 2014-05-19 · 트폰에는가속도센서가부착되어있다.가속도센서는[그림2-2]와같

- 42 -

[그림 4-5]Java형태의 의사결정 트리 모델

[그림 4-5]는 의사결정 트리의 행 인지 모델의 일부분이다.각 노

드는 함수 형태로 구 되어 있으며 if/else형태로 함수를 호출하거나

단말 노드를 리턴 한다는 것을 볼 수 있다.

이 게 만들어진 Java형태의 모델은 안드로이드 랫폼에서 그 로

옮겨 쓸 수 있다.

Page 59: 모바일센서기반사용자행위인지 MobileSensorbasedUserActivity …ailab.ssu.ac.kr/rb/files/download/2013_Master_Thesis... · 2014-05-19 · 트폰에는가속도센서가부착되어있다.가속도센서는[그림2-2]와같

- 43 -

4.3실험 결과

본 연구의 실험은 생성된 행 인지 모델의 정확도를 측정해 본다.그

리고 행 인지 구분에 기여도가 높은 특징들을 찾아 그 이유에 해 설

명한다.그리고 같은 환경에서 다른 구분자와 정확도를 비교 평가 해본

다. 한 상태 이도 사용 /후 의 행 인지 정확도를 측정해보고 마

지막으로 StressTest를 통하여 실생활에서 제 로 동작하는지를 알아본

다.

[표 4-2]의사결정 트리 모델의 정확도

Precision Recall F-Measure Class

0.874 0.857 0.865 stay

0.741 0.944 0.942 walk

0.994 0.998 0.996 jog

0.972 0.907 0.917 bus

0.782 0.809 0.795 subway

0.905 0.904 0.905

[표 4-3]의사결정 트리 모델의 ConfusionMatrix

stay walk jog bus subway

3370 9 0 70 484 stay

28 3931 19 24 163 walk

0 9 4318 0 1 jog

81 36 2 3862 276 bus

377 194 3 212 3320 subway

4.3.1행 인지 모델의 정확도

의 [표 4-2]와 [표 4-3]은 행 인지 모델의 정확도를 보여 다.

체 으로 90% 정도의 정확도를 보인다.하지만 subway같은 경우는 정

Page 60: 모바일센서기반사용자행위인지 MobileSensorbasedUserActivity …ailab.ssu.ac.kr/rb/files/download/2013_Master_Thesis... · 2014-05-19 · 트폰에는가속도센서가부착되어있다.가속도센서는[그림2-2]와같

- 44 -

확도가 80% 정도밖에 안 된다.[표 4-3]에서 보면 subway데이터 인 경

우 주로 stay,walk,bus로 잘못 인지되는 경우가 많다.

[표 4-4]특징 값의 기여도

Ranked attributeNumber Component feature

1.669 3 Vertical 75Percentile

1.664 4 Vertical InterQuartile

1.553 1 Vertical Standarddeviation

1.405 5 Horizontal Standarddeviation

1.392 8 Horizontal InterQuartile

1.364 2 Vertical Zero-CrossingRate

1.344 7 Horizontal 75Percentile

1.301 9 Cross-Correlation

0.65 6 Horizontal Zero-CrossingRate

4.3.2행 인지 모델 특징 값 기여도

의 [표 4-4]는 특징 값들의 기여도를 볼 수 있는 표이다. 의 결과

는 Weka에서 특징을 평가할 때 많이 쓰이는 방법을 사용하 다.

Attribute Evaluator “InfoGainAttributeEval”을 사용하 으며 Search

Method는 “Ranker”을 사용하 다.본 연구에서 사용하고 있는 9개의

특징은 모델의 정확도가 가장 높게 나오는 조합으로 구성되어 있다.[표

4-4]를 분석해 보면 VerticalComponent가 모델의 정확도에 많은 기여

를 하고 있음을 알 수 있다. 한 표 편차와 InterQuartile이 사용자의

행 를 구분하는데 유용한 특징임을 알 수 있다.

Page 61: 모바일센서기반사용자행위인지 MobileSensorbasedUserActivity …ailab.ssu.ac.kr/rb/files/download/2013_Master_Thesis... · 2014-05-19 · 트폰에는가속도센서가부착되어있다.가속도센서는[그림2-2]와같

- 45 -

4.3.3의사결정 트리 행 인지 모델 분석

의사결정 트리의 모델을 분석함으로서 모델 생성에 사용된 특징 값들

의 요도를 알아볼 수 있다.아래 [그림 4-6]과 [그림 4-7]은 의사결정

트리 기반의 행 인지 모델을 나타낸 그림이다.각 행 별로 표 인

단말 노드를 찾아 가속도 데이터가 어떠한 특징 값을 거쳐 단말 노드에

도달하는지를 분석하 다.

[그림 4-6]의사결정 트리 행 인지 모델 분석 #1

Page 62: 모바일센서기반사용자행위인지 MobileSensorbasedUserActivity …ailab.ssu.ac.kr/rb/files/download/2013_Master_Thesis... · 2014-05-19 · 트폰에는가속도센서가부착되어있다.가속도센서는[그림2-2]와같

- 46 -

[그림 4-7]의사결정 트리 행 인지 모델 분석 #2

의 [그림 4-6][그림 4-7]에서 의사결정 트리의 상 노드를 구성하

는 특징 값은 사분 수 범 (IQR)과 통과율(ZCR)이다.그리고 표

인 단말 노드는 부분 VerticalComponent가 비 있게 사용되었음

을 확인할 수 있다.결국 상,하의 움직임이 사용자의 행 를 구분하는데

유용함을 알 수 있다.[표 4-5]는 각 행 에 한 표노드를 구성하고

있는 트리의 구체 인 특징 값 조건을 나타낸다.

Page 63: 모바일센서기반사용자행위인지 MobileSensorbasedUserActivity …ailab.ssu.ac.kr/rb/files/download/2013_Master_Thesis... · 2014-05-19 · 트폰에는가속도센서가부착되어있다.가속도센서는[그림2-2]와같

- 47 -

[표 4-5]행 인지 모델의 표 노드 알고리즘

표 단말 노드의 트리 구조

1.StayActivity

IFIQR_V<=1.7477THENIFIQR_V<=0.047925THENIF75Percentile_H<=1.0229THENreturnStay

2.SubwayActivity

IFIQR_V>0.047925THENIFIQR_V<=0.047925THENIFCrossCor<=10.1491THENIFZCR_V<=0.39THENIF75Percentile_H<=1.1743THENIF75Percentile_V<=9.8797THENreturnSubway

3.CarActivity

IFIQR_V>0.047925THENIFIQR_V<=0.047925THENIFCrossCor>10.1491THENIFSTD_H>0.62533THENIFCrossCor>10.4278THENreturnCar

4.JogActivity

IFIQR_V>1.7477THENIFZCR_V<=0.073333THENIF75Percentile>13.7222THENreturnJog

5.WalkActivity

IFIQR_V>1.7477THENIFZCR_V>0.07333THENIFZCR_V<=0.14667THENreturnWalk

Page 64: 모바일센서기반사용자행위인지 MobileSensorbasedUserActivity …ailab.ssu.ac.kr/rb/files/download/2013_Master_Thesis... · 2014-05-19 · 트폰에는가속도센서가부착되어있다.가속도센서는[그림2-2]와같

- 48 -

[표 4-6]SupportVectorMachine의 모델 정확도

Precision Recall F-Measure Class

0.818 0.864 0.841 stay

0.948 0.94 0.944 walk

0.999 1 0.999 jog

0.935 0.893 0.913 bus

0.773 0.773 0.773 subway

0.897 0.896 0.896

[표 4-7]BayesNet의 모델 정확도

Precision Recall F-Measure Class

0.858 0.81 0.833 stay

0.891 0.957 0.923 walk

0.999 0.995 0.997 jog

0.853 0.827 0.84 bus

0.7 0.71 0.705 subway

0.862 0.862 0.861

[표 4-8]NeuralNetwork의 모델 정확도

Precision Recall F-Measure Class

0.813 0.834 0.824 stay

0.945 0.929 0.937 walk

0.997 0.999 0.998 jog

0.925 0.871 0.897 bus

0.753 0.791 0.771 subway

0.889 0.887 0.887

Page 65: 모바일센서기반사용자행위인지 MobileSensorbasedUserActivity …ailab.ssu.ac.kr/rb/files/download/2013_Master_Thesis... · 2014-05-19 · 트폰에는가속도센서가부착되어있다.가속도센서는[그림2-2]와같

- 49 -

[표 4-9]LogisticRegression의 모델 정확도

Precision Recall F-Measure Class

0.749 0.888 0.813 stay

0.914 0.926 0.92 walk

0.998 0.998 0.998 jog

0.877 0.725 0.793 bus

0.653 0.646 0.649 subway

0.841 0.837 0.837

4.3.4다양한 구분자 비교 분석

[표 4-6]부터 [표 4-9]까지 5개의 서로 다른 구분자를 사용하여 정확

도를 평가해보았다.입력되는 특징 값은 본 연구에서 의사결정 트리 모

델을 생성하기 해 사용하는 특징 값과 동일한 값이다.

모든 구분자에서 체로 80% 후반의 정확도를 보 다.그리고

Subway의 경우, 부분의 구분자에서 상 으로 정확도가 낮았다.반

로 Walk,Jog의 경우는 데이터의 특징이 뚜렷하기 때문에 높은 정확

도를 보 다.

구분자 마다 합한 특징의 종류가 존재하겠지만 기본 으로 모델의

정확도에 향을 미치는 것은 충분한 양의 데이터와 노이즈가 은 데이

터를 사용하는 것이다.본 연구에서도 충분한 데이터를 사용하여 부분

의 구분자를 통한 모델에서 높은 정확도를 보 다.

Page 66: 모바일센서기반사용자행위인지 MobileSensorbasedUserActivity …ailab.ssu.ac.kr/rb/files/download/2013_Master_Thesis... · 2014-05-19 · 트폰에는가속도센서가부착되어있다.가속도센서는[그림2-2]와같

- 50 -

[그림 4-8]상태 이도를 용한 화면

4.3.5상태 이도 사용 여부에 따른 정확도

상태 이도의 사용여부에 따른 정확도는 정량 으로 분석하기가 쉽지

않다.다만 동일한 행 에 해 오류의 빈도를 찰함으로서 정확도를

가늠할 수 있다.[그림 4-8]은 상태 이도 의 사용여부에 따른 행 인

지의 오류 빈도를 으로 확인할 수 있다.왼쪽 그래 는 상태 이도를

사용하지 않았을 경우의 그래 이며 오른쪽 그래 는 사용했을 경우의

그래 이다.상태 이도를 사용하지 않았을 때,Bus나 Subway같은

행 는 매끄럽지 못한 선을 볼 수 있다.하지만 상태 이도를 용한

그래 를 살펴보면 노이즈가 거의 없는 형태로서 매끄러운 선의 형태로

나타남을 알 수 있다.이는 상태 이도에서 운송수단인 경우,반드시

Walk이나 Jog를 거쳐야하기 때문에 왼쪽의 그래 처럼 Stay상태로

환될 수 없다.

Page 67: 모바일센서기반사용자행위인지 MobileSensorbasedUserActivity …ailab.ssu.ac.kr/rb/files/download/2013_Master_Thesis... · 2014-05-19 · 트폰에는가속도센서가부착되어있다.가속도센서는[그림2-2]와같

- 51 -

4.3.6StressTest

[표 4-10]StressTest항목 #1

No. 테스트 목록횟

수결과

1지하철 내에서 서 있는 경우의

행 인지 결과13

인지 속도에는 차이가 있으나Subway로 인지되면Walking이 나올 때까지Subway로 인지(2번 보다 빠름)

2지하철 내에서 앉아 있는경우의 행 인지 결과

13

인지 속도에는 차이가 있으나Subway로 인지되면Walking이 나올 때까지Subway로 인지

3버스 내에서 서 있는 경우의

행 인지 결과15

빠르게 인지 되며,Bus로인지되면 Walking나올 때까지

Bus로 인지(4번 보다 빠름)

4버스 내에서 앉아 있는 경우의

행 인지 결과15

Bus로 인지가 시작되면 Walking나올 때까지 Bus로 인지(손에 들고 있는 경우 팔을몸에서 떼면 인지속도가 느림(버스의 진동 달 미비))

5

에스컬 이터엘리베이터에서 서 있을경우의 행 인지결과(지하철 는 버스와 혼동되지않는가)

20

엘리베이터의 경우 타기 직 의행 나 Stay로 인지

지하철의 에스컬 이터 경우subway나 stay로 인지(버스로는 혼동되지는 않음)

6지하철 내에서 Action

Logger를 켰을 때의 행 인지결과

13

지하철이 출발해야 Subway로인지가 되며,

한번 Subway로 인지되면 계속Subway로 인지

7

버스 내에서 ActionLogger를켰을 때의 행 인지 결과(GPS신호를 수신하는 동안,다른 행 로 오인지 되지

않는가)

15

버스가 출발해야 Bus로 인지가되며,GPS와 상 없이 버스로 인지 잘됨

8

로거를 4시간 이상 켜 놓았을때의 정상동작 여부

(로거의 종료 는 인지의지연 등..)

20꺼지는 경우는 없었으나

장시간 켜 놓았을 경우 느려지는상

Page 68: 모바일센서기반사용자행위인지 MobileSensorbasedUserActivity …ailab.ssu.ac.kr/rb/files/download/2013_Master_Thesis... · 2014-05-19 · 트폰에는가속도센서가부착되어있다.가속도센서는[그림2-2]와같

- 52 -

[표 4-11]StressTest항목 #2

No. 테스트 목록횟

수결과

1

차에 탄 상태에서 신호등이나버스 정류장에서 2-3분 기다릴

때의행 인지 결과

13 문제없이 Bus로 인지

2

연속 으로 2시간 이상 운 을했을 때의 행 인지 결과(Subway가 종종 발생하지

않는가)

13 문제없이 Bus로 인지

3

버스 정류장,지하철 랫폼등에서 탈것을 장시간 기다릴

때의행 인지 결과

(서 있을 때 몸의 흔들림을지하철이나 버스로 오인지

하지 않는가)

15

버스 정류장에서는 부분 Stay인지

지하철 랫폼에서는 가끔씩Subway로 인지

4

버스 지하철 환승이 포함된일상 생활에 한 행 인지

결과(최소 4시간 이상)

15

버스는 문제없이 제 로 인지지하철의 경우 인지속도에차이는 있으나 체로문제없이 인지

5차에서 내려 2분 이내에건물로 들어가서 stay하는

경우20

Bus-->Walking-->Stay순으로 모두 제 로 인지

6

차를 가지고 지하 주차장에들어가서(GPS안 잡히는

상태)차에서내려서 걸어 가는 경우

13

Bus상태로 주차장 들어와서시동을 꺼도 Bus로 인지그 이후 걸어가면 Walking

으로 인지

7

지하 주차장에서 차를 가지고나와서 운 하는 경우(때에 따라서 GPS가

안잡히는 경우에 계속 Stay로있는 오류 확인)

15

차가 출발 후 GPS없어도 1~2분이내로 Car인지됨

( 쉬보드에 휴 폰 놓았을경우)

(주머니에서 테스트한 경우 인지속도가 느림,

시동만으로는 버스 인지가 잘안됨)

8

러시아워때 버스를 제 로인지하는지

(버스가 장시간 가다 서다반복하는 경우)

20 문제없이 Bus로 인지됨

Page 69: 모바일센서기반사용자행위인지 MobileSensorbasedUserActivity …ailab.ssu.ac.kr/rb/files/download/2013_Master_Thesis... · 2014-05-19 · 트폰에는가속도센서가부착되어있다.가속도센서는[그림2-2]와같

- 53 -

[그림 4-9]사용자 행 인지 응용 로그램 UI구성

[그림 4-9]은 사용자 행 인지 응용 로그램의 체 인 UI이다.왼

쪽의 화면에는 행 인지를 시작 /정지 할 수 있는 화면으로 시작 시

실시간으로 사용자의 행 를 인지하여 화면에 출력해 다.그리고 오른

쪽 의 그림은 과거의 사용자 행 를 기록해둔 일을 리스트 형태로

볼 수 있다.오른쪽 아래의 그림은 과거나 실시간으로 사용자의 행 를

가로막 형태로 보여 다.그리고 하단의 붉은색 선은 GPS의 데이터를

수신할 수 없다는 뜻으로 수신이 가능하면 녹색으로 나타난다.

이와 같은 구성을 통해 사용자의 행 환 과정을 으로 확인할 수

있으며 그리고 수집된 사용자 행 데이터는 다른 상 Context를

추론할 수 있는 기반이 된다.

Page 70: 모바일센서기반사용자행위인지 MobileSensorbasedUserActivity …ailab.ssu.ac.kr/rb/files/download/2013_Master_Thesis... · 2014-05-19 · 트폰에는가속도센서가부착되어있다.가속도센서는[그림2-2]와같

- 54 -

제 5장 결론 향후 연구

본 연구는 가속도 센서 데이터 심의 사용자의 행 를 인지 방법을

제안하 다.뿐만 아니라 기존의 가속도 센서를 사용한 연구의 문제 을

보완하여 행 인지의 정확도를 높이는 방법을 제안하 다.기존의 가속

도 기반 연구는 스마트폰 이동 방향에 한 속성을 사용하지 않고 오로

지 크기만을 사용하 다.하지만 본 연구에서는 VerticalComponent와

HorizontalComponent의 크기를 사용하여 스마트폰의 방향성을 고려한

특징 값을 추출하 다. 한 의사결정 트리의 장 을 살려 모델을 분석

하 고 이를 상태 이도에 용하 다.그리고 상태 이도에서는 합리

인 행 의 변화 흐름을 정의하여 인지 오류를 다.이를 행 인지

과정에 용함으로서 행 인지 정확도를 향상시켰다.

Subway의 행 를 인지하는 경우는 가속도 데이터가 다른 행 의 가

속도 데이터와 유사하여 상 으로 인지 오류가 많았다.이러한 부분은

조 더 개선할 여지가 있다.그리고 스마트폰의 가속도 데이터를 수집

할 때 손과 주머니의 경우만을 수집하 다.향후에는 좀 더 다양한 치

에서 데이터를 수집하여 행 인지의 성능을 올릴 필요가 있다.그리고

다양한 행 를 추가하여 실생활에 활용할 수 있도록 해야 할 것이다.마

지막으로 배터리 성능을 고려한 데이터 수집을 고려하여 실제로 사용했

을 때 불편함이 없도록 해야 할 것이다.

Page 71: 모바일센서기반사용자행위인지 MobileSensorbasedUserActivity …ailab.ssu.ac.kr/rb/files/download/2013_Master_Thesis... · 2014-05-19 · 트폰에는가속도센서가부착되어있다.가속도센서는[그림2-2]와같

- 55 -

참고문헌

[1]A.M.Khan,Y.-K.Lee,S.Y.Lee,T.-S.Kim,“HumanActivity

RecognitionviaAnAccelerometer-Enabled-SmartphoneUsingKernel

DiscriminantAnalysis”,FutureInformationTechnology(FutureTech),

20105thInternationalConferenceon,2010.

[2]Yu-ChiehYang,TatsuoToida,Chin-MingHong,“Transportations

Prediction Using Build-in TriaxialAccelerometer in CellPhone”,

Department of IndustrialEducation of NationalTaiwan Normal

University,2010.

[3]VincenzoManzoni,DiegoManiloff,KristianKloeckl,CarloRatti,

“Transportation mode identification and real-time co2 emission

estimationusingsmartphones”,MassachusettsInstituteofTechnology

(MIT),2011.

[4] Leon Stenneth, Ouri Wolfson, Philip S. Yu, Bo Xu,

“Transportation Mode Detection using Mobile Phones and GIS

Information”,GIS '11Proceedingsofthe19th ACM SIGSPATIAL

InternationalConference on Advances in Geographic Information

Systems,54-63,2011.

[5] Pekka Siirtola,Juha Roning,“Recognizing Human ActivitIes

User-indenpendentlyonSmartphonesBasedonAccelerometerData”,

International Journal of Interactive Multimedia and Artificial

Intelligence38-45,2012.

[6] Arvind Thiagarajan,James Biagioni, Tomas Gerlich, Jakob

Eriksson, “Cooperative Transit Tracking using Smart-phones”,

SenSys'10Proceedingsofthe8thACM ConferenceonEmbedded

Page 72: 모바일센서기반사용자행위인지 MobileSensorbasedUserActivity …ailab.ssu.ac.kr/rb/files/download/2013_Master_Thesis... · 2014-05-19 · 트폰에는가속도센서가부착되어있다.가속도센서는[그림2-2]와같

- 56 -

NetworkedSensorSystems,85-98,2010.

[7]BenNham,KanyaSiangliulue,SerenaYeung,“PredictingModeof

Transport from iPhone Accelerometer Data”,Stanford University

CS229MachineLearning,2008.

[8]JenniferR.Kwapisz,GaryM.Weiss,SamuelA.Moore,“Activity

recognition using cell phone accelerometers”, ACM SIGKDD

ExplorationsNewsletteVolume12,74-82,2010.

[9]FehmiBenAbdesslem,Andrew Philips,TristanHenderson,“Less

isMore:Energy-EfficientMobileSensingwithSenseLess”,MobiHeld

'09Proceedingsofthe1stACM workshoponNetworking,systems,

andapplicationsformobilehandhelds,61-62,2009.

[10]Adam J.Aviv,BenjaminSapp,MattBlaze,JonathanM.Smith,

“Practicality of Accelerometer Side Channels on Smartphones”,

ACSAC '12 Proceedings ofthe 28th AnnualComputer Security

ApplicationsConference,41-50,2012.

[11]Yang,Jun,“Towardphysicalactivitydiary:motionrecognition

usingsimpleaccelerationfeatureswithmobilephones”,Proceedingof

the1stinternationalworkshoponInteractivemultimediaforconsumer

electronics,1-10,2009.

[12] David Mizell, “Using Gravity to Estimate Accelerometer

Orientation”, Proceedings of the Seventh IEEE International

Symposium onWearableComputers(ISWC’03),2005.