🎸/딥러닝

데이터 별 CNN 최적화 모델-NATOPS database 3 Sensor

컴공생 C 2020. 11. 25. 16:49
반응형

 동작 데이터는 오른쪽과 왼쪽의 엄지, 손목,  팔꿈치, 손에 3D센서를 부착해 6가지 행동을 구분하는 것을 목적으로 한다. 오른쪽 손목의 센서만을 이용한 모델과 오른쪽 엄지 센서만을 이용한 모델과 둘을 같이 이용한 모델을 각각 최적화하고 성능과 이유를 분석하고자 한다.

 

  주어진 데이터 셋은 각 위치당 x, y, z의 데이터가 주어졌고 traintest셋이 나누어진 채로 제시되었다. 각 행동은 시계열 데이터로 기록되었고 한 채널당 51개의 데이터 열과 52번째 열의 라벨링으로 행동을 구분하였다. 해당 실험에서 분류하고자 하는 6가지 행동은 ‘I have command’, ‘All clear’, ‘Not clear’, ‘Spread wings’, ‘Fold wings’, ‘Lock wings’이다. 6가지 수신호의 양상을 살펴본 결과 왼쪽 손, 팔은 가만히 있는 행동이 3가지 이므로 오른쪽 손목과 엄지의 움직임 데이터를 바탕으로 모델을 구성하였다. 또한 데이터 자체적으로 train, test셋이 나누어져 있어 이를 바탕으로 실험을 진행하였고 추가적으로 validation set을 구성해 모델의 성능을 평가하고 학습하는데 이용하였다.

 

1) 오른쪽 손목 x축 데이터

오른쪽 손목 xclass(실험 초기)

 

 

 

 

 

 

 

 

오른쪽 손목 xclass

그래프의 행동별 양상은 일관된 편이나 행동1,2의 경우 다른 양상을 보였다. 또한 행동 간의 양상이 유사한 경우가 있음을 확인할 수 있었다.

 

 

 

 

 

 

2) 오른쪽 손목 y축 데이터

오른쪽 손목 y축 데이터

 

 

 

 

 

 

 

 

 

 

3)오른쪽 손목 z축 데이터

 

오른쪽 손목 zclass

 

 

 

 

 

 

 

 

4) 오른쪽 엄지 x축 데이터

[오른쪽 엄지손가락 xclass

오른쪽 손목 데이터보다 행동간 데이터가 특정 위치에 집중되어 보인다

 

 

 

 

 

 

 

 

5) 오른쪽 엄지 y축 데이터

 

오른쪽 엄지손가락 yclass

오른쪽 손목 데이터와 비슷한 양상으로 보인다.

 

 

 

 

 

 

 

6) 오른쪽 엄지손가락 z축 데이터

[오른쪽 엄지손가락 zclass

오른쪽 손목 z축 데이터와 유사함을 확인할 수 있다.

 

 

 

 

 

 

 

 

 

 

x축 데이터는 손목과 엄지 데이터에서 약간의 차이를 보였고 y축과 z축의 데이터는 거의 유사함

x,y,z의 데이터는 모두 각 행동유형 양상이 차이를 나타내는 구간 즉, 시작하는 구간과 끝나는 구간이 유사하다는 사실을 확인하였다. 행동 클래스별 차이를 보이는 부분은 데이터가 증가하거나 감소하는 부분인데 이 또한 증가하는 정도나 구간이 유사한 행동들이 존재함을 파악할 수 있었다.

손목 센서와 엄지 손가락 센서가 차이를 보이는 부분은 x축센서 데이터인데 이때 오른쪽 손목의 데이터가 x축에서 보다 상이한 행동 분포 및 유형을 보였으므로 엄지손가락 센서를 통한 classification이 손목 센서만을 이용한 classification보다 높은 정확도를 보일 것이라 예상했다. 또한, 두 센서의 데이터를 모두 이용하면 성능이 어느정도 좋아질 것으로 예측하였으나 y,z센서의 비슷한 양상을 고려하면 아주 유의미한 성능 향상은 다소 어려울 것으로 생각하였다.

 

 

3. 제안하는 신경망 모델

1)오른쪽 손목 센서의 데이터만을 이용

오른쪽 손목 센서만을 이용한 모델의 실험결과 78.999% 의 정확도를 보이고 학습시간은 평균 2.1072초 소요되었다. 이 때 사용한 필터는 256, 커널 사이즈 8, relu함수를 이용하였고 class의 개수인 6dense층으로 사용, epoch 15batch사이즈 5의 모델을 이용하였다. 실험 시 변화를 준 요인 외의 요소는 통제하고 실험을 진행하였고, 필터사이즈는 64보다는 128의 모델이, 128인 경우 보다 256인 모델이, 512보다는 256인 모델이 더 좋은 성능을 보였다. 아무래도 데이터의 수가 많은 편은 아니다 보니 512 이상의 필터는 학습에 방해가 되는 것으로 보인다. 커널 사이즈는 초기 임의의 보편적인 값으로 설정하였으나 데이터 양상을 확인한 이후 x축 데이터를 고려해 클래스 별 차이가 드러나는 7, 8, 10, 12, 15, 17, 20, 25 로 설정해 실험해 보았다. 커널 사이즈를 3에서 증가시켜 10까지는 정확도 78퍼센트 정도를 보였지만 15를 넘어가면서 76 퍼센트 이하로 떨어졌다. 해당 데이터는 층수가 증가하면 정확도가 떨어졌고, 풀링층 또한 추가하지 않았을 때 더 좋은 성능을 보였다. 다만 정확도만을 고려했을 때 79.552%의 정확도를 보인 모델이 있는데 이는 바로 현재 모델에 dense 512, dense 256을 추가한 모델이다. 하지만 이 모델의 경우 기존 학습시간이 2.1072 인데 반해 학습시간이 24.163 초로 약 10배 이상의 학습시간이 소요되며 소요시간에 비해 정확도 차이가 유의미하지 않다고 판단, 최적화 모델로 선택하지 않았다.

오른쪽 손목 센서 데이터 최적화 모델

2) 오른쪽 엄지 손가락 센서 데이터만 이용한 모델

이 모델은 78.67%의 정확도와 2.62초의 학습시간을 보여주었다. 2개의 층으로 구성하였고 첫번째 층과 두번째 층 모두 필터 사이즈 32, 커널사이즈 12, activation ReLU함수를, dense 6, 풀링층은 첫 번째 층에만 추가하였다. Epoch는 이전 실험에서와 마찬가지로 15로 설정하였는데 이는 epoch2배인 30으로 했을 때 정확도가 그다지 향상되지 않았고, 10으로 줄였을 때는 정확도가 크게 떨어져 15를 유지하였다. Pooling size3으로 조정했을 때는0.33%정도 정확도가 감소했다. 일반적으로 층수를 늘릴 경우 커널사이즈를 줄이기에 두 번째 층의 커널사이즈를 10으로 설정해보았으나 1%정도 정확도가 감소하였다.

오른쪽 엄지 손가락 데이터 최적화 모델

 

 

3) 오른쪽 손목과 엄지 손가락 데이터 모델

이 모델은 정확도 79.44%, 학습시간 1.45초의 성능을 보였다. 위의 두 모델과는 다르게 input size를 조정했다. 이 모델은 한 층의 레이어로 구성하였고 필터 32, 커널 사이즈 10, pooling층을 추가하고 epoch는 역시 15로 유지하였다. 다른 모델을 학습시킬 경우 특정 수행에서 높은 정확도를 보이고 다른 수행에서 굉장히 낮은 정확도를 보여 평균치가 중간치에서 형성되었던 것에 반해 이 모델에서는 다섯 번의 수행에서 모두 비슷하게 높은 정확성을 보여 보다 안정적으로 실험을 진행 할 수 있었다. 특히 해당 모델은 필터사이즈 512, 256, 64일 때 78중 후반 대의 정확도를 보였고 16에서 유독 성능이 저하되었다. 커널 사이즈 또한 5,10,15,20 로 설정해 수행하였고 이후 높은 성능을 보인 1520의 중간값으로서 17을 설정하였으니 성능이 향상되지 않았다. 커널사이즈가 10일 때 가장 좋은 정확성을 보였고 풀링층이 있을 때 학습이 더 잘 되었다. 이후 batch사이즈를 조정해보았는데 초기 설정인 8일 때 가장 정확도가 높았다.

오른쪽 손목과 엄지 손가락 데이터 최적화 모델

 

 

4. 실험 및 결과 분석

 

예상했던 대로 두 가지 데이터를 모두 사용한 모델이 79.44%의 정확도를 보이며 가장 성능이 좋았고, x축 센서의 행동 분류가 조금 더 용이할 것으로 예측한 오른쪽 손목 데이터 최적화 모델이 78.9999%의 정확도, 오른쪽 엄지 손가락 데이터 최적화 모델이78.67%의 정확도를 보였다.

 

실험을 진행하면서 성능이 왜 눈에 띄게 좋아지지 않으며 80% 정확도를 맴도는지에 대해 고민해 보았는데 아무래도 데이터의 수가 아주 충분하다고 보기 어렵고, 손목 센서와 엄지손가락 센서가 대부분 비슷한 위치, 패턴으로 진행되기 때문이 아닐까 라는 결론을 내리게 되었다. 비슷한 양상으로 진행되는 두 센서이기에 다른 센서임에도 절대적인 수치상 데이터가 다르게 분포하더라도 전체적인 흐름에서 보았을 때 구분하기 어려웠던 것이 아닐지 생각해보게 되었다.

 

 

5. 결론

이 실험을 통해 여러 종류의 데이터를 같이 활용하는 모델의 성능이 좋음을 확인하였고, 데이터의 분포 및 양상을 파악하는 것이 중요하다는 것을 알게 됨

 

NATOPS  데이터베이스의  6 가지 행동유형

 

보이는 바와 같이 오른쪽 팔꿈치와 오른쪽 엄지 손가락 센서는 움직임이 상이한 경우가 많다.

추후에 이를 이용한 실험을 진행해보고 싶고 그렇다면 보다 높은 정확성을 기대해 볼 수 있을 것 같다.

반응형