Korea Digital Contents Society
[ Article ]
Journal of Digital Contents Society - Vol. 24, No. 6, pp.1295-1304
ISSN: 1598-2009 (Print) 2287-738X (Online)
Print publication date 30 Jun 2023
Received 21 Dec 2022 Revised 18 Jan 2023 Accepted 31 Jan 2023
DOI: https://doi.org/10.9728/dcs.2023.24.6.1295

머신러닝을 이용한 뇌체조 인식

임소미1 ; 김예은1 ; 김영찬1 ; 최승호2, 3, *
1광운대학교 컴퓨터정보공학과 학사과정
2몰팩바이오 기업부설연구소 CTO
3광운대학교 소프트웨어사업단 초빙교수
Brain Gymnastics Recognition using Machine Learning
Somi Lim1 ; Yeeun Kim1 ; Youngchan Kim1 ; Seoung-Ho Choi2, 3, *
1Bachelor’s Course, Department of Computer Information Engineering, Kwangwoon University, Seoul 01897, Korea
2CTO, Corporate affiliated research institute, Molpaxbio, Seoul, Korea
3Visting Professor, National Program for Excellence in Software, Kwangwoon University, Seoul 01897, Korea

Correspondence to: *Seoung-Ho Choi E-mail: jcn99250@naver.com

Copyright ⓒ 2023 The Digital Contents Society
This is an Open Access article distributed under the terms of the Creative Commons Attribution Non-CommercialLicense(http://creativecommons.org/licenses/by-nc/3.0/) which permits unrestricted non-commercial use, distribution, and reproduction in any medium, provided the original work is properly cited.

초록

치매를 예방하기 위한 다양한 솔루션이 보급되고 있지만 장소나 이용 등에 관한 불편한 점들이 있다. 또한 운동하는데 있어 올바르게 하는지를 스스로 체크하기가 힘들다. 이를 개선하고자 다양한 환경에서도 치매예방을 할 수 있는 뇌체조 인식 프로그램을 제안한다. 제안한 방법은 뇌체조 손동작을 녹화한 동영상에서 이미지 프레임을 추출한다. Object detection을 통해 뇌체조 손동작을 학습시킨 모델에 의해 사용자 손의 좌표를 검출했다. 그리고 Mediapipe 라이브러리를 이용하여 skeleton extraction을 실행했다. 직접 수집한 데이터를 바탕으로 각 동작에 따른 데이터 세트를 구축하고 레이블링했다. 6가지 머신러닝 분류기를 통해 2가지 뇌체조 동작을 Precision, Recall, 그리고 AUC score 등의 성능 지표를 통해 분석했다. 이를 통해서 제안 방법이 뇌체조 동작을 인식할 수 있음을 확인했다.

Abstract

Various solutions are being distributed for the prevention of dementia, but there are some inconveniences regarding the location and use. Additionally, it is difficult to check whether the exercise is being correctly done. To address this issue, we propose a brain gymnastic awareness program that can prevent dementia in various environments. The proposed method extracts image frames from video recordings of brain gymnastic hand movements. The coordinates of the user's hand are detected by a model that learned brain gymnastic hand movements through object detection. Then, skeleton extraction was performed using the Mediapipe library. Collecting data directly, we built and labeled a dataset for each behavior. Two brain gymnastic movements were analyzed using six machine learning classifiers. Through performance indicators such as precision, recall, and AUC score, it was confirmed that the proposed method can recognize brain gymnastic movements.

Keywords:

Dementia Prevention Exercise, Object Detection, Skeleton Extraction, Deep Learning, Machine Learning

키워드:

치매 예방 운동, 물체검출, 스켈레톤 추출, 딥러닝, 머신러닝

Ⅰ. 서 론

대한민국은 경제협력개발기구, OECD 회원국 가운데 고령화가 가장 빠르게 진행 중인 곳으로, 2041년에는 3명 중 1명이 노인이고, 2048년에는 전 세계에서 가장 나이 든 나라가 될 전망이다[1]. 또한, 유엔에서는 65세 이상 인구가 전체 인구에서 차지하는 비율이 20%를 넘으면 초고령사회로 구분하는데, 한국은 2025년 초고령사회에 이를 예정이다[2].

이러한 초고령사회에서 제시되는 중요한 부분이 바로 노인의 건강이다. 노인의 건강 문제 중 가장 큰 요소는 근육의 감소나 인지기능의 저하이며, 인지기능 저하의 경우 정상적인 일상생활에 어려움을 느끼게 되고, 심각한 노인성 정신장애를 갖기도 한다. 이에 노인들의 근력 강화 운동이나 인지기능 유지 및 집중력 향상과 관련된 운동의 중요성이 부각 되지만, 다른 연령대에 비해 운동으로 인한 부상의 위험성이 상대적으로 높은 노인들의 운동은 제한이 될 수밖에 없다.

뇌 체조는 교육 근운동 이론에 기초하여 발전된 것으로 학습과 사고 및 창조 등 뇌 기능을 강화시키기 위한 방법이다. 간단한 신체 동작만으로도 두뇌를 활성화시켜 학습 효과를 높일 수 있는 신체활동 방법이며 뇌 기능과 신체기능을 통합하기 위한 간단한 몸동작이다[3].

이에 노인들이 집에서 쉽게 할 수 있는 뇌 체조가 널리 사용될 수 있도록 하는 것이 중요하며, 익숙해지면 쉽겠지만 처음에는 혼자서 어떤 것이 틀렸는지 파악하기 힘들다는 어려움이 있다. 본 논문에서는 처음으로 이를 도움을 주고자 본 논문에서는 뇌체조의 동작 두 가지를 택하여 이에 대한 프로그램을 만들고자 한다. 사용자는 카메라 앞에서 해당 뇌체조를 동작하면 그 영상을 자동 저장 후 영상에 대한 분석 및 동작 예측을 통해 해당 동작이 틀렸는지 맞았는지를 판단해주어 사용자에게 맞은 동작 개수를 제시한다.


Ⅱ. 관련 연구

2-1 자세 추정

자세 추정 연구는 2차원 범주와 3차원 범주로 구분이 된다. 2차원 범주에서는 사람의 인원수에 따라 단일 사람 추정 문제 그리고 다수 사람 추정 문제로 분류가 된다. 여기서 DeepPose[4]는 CNN을 이용하여 단일 사람을 대상으로 하는 회귀 방식이다. 이는 CNN을 통과하여 위치를 예측하는 Initial stage와 이전 Stage에서 나온 예측값 주변으로 Bounding box를 그린다. 그리고 CNN 모델에 다시 통과시키는 N개의 Stage로 구성이 되어 있다.

2-2 Open Pose

관절의 위치를 정확하게 예측하는 연구에서는 Open pose를 사용한다. Open pose[5]의 구조는 여러 개의 Stage로 구성되어 있다. CNN을 통과하여 추출한 특징 맵을 입력으로 사용한다. 그리고 Confidence map과 Part affinity field를 추정하는 두 가지 단계로 구성되어 있다. 두 단계를 결합해서 새로운 특징을 생성하고 다음 단계로 입력하는 과정을 반복하는 네트워크 구조이다.

2-3 Simple Pose

관절의 위치를 예측하기 위해서 Simple pose 연구가 있다. 이는 모델의 복잡성을 간소화하여 성능을 향상시킨 방법이다[6]. Deconvolution layer를 추가하여 High resolution feature map을 얻을 수 있다. scaded Pyramid Network 또는 Hourglass 같은 기존의 network들이 High resolution feature map을 얻기 위해 여러 단계에서 추출한 Feature map을 합치는 복잡한 구조를 갖는 것에 비해 Simple pose는 간단한 구조로 비슷한 성능을 보여준다.


Ⅲ. 제안 방법

그림 1은 뇌체조 인식 프로그램의 시스템 구성도를 설명한다. 첫 번째로 웹캠 이미지를 전달받는다. 그리고 물체 검출을 통해 손을 검출한다. 그리고 손에 대한 스켈레톤을 검출한다. 검출한 스켈레톤 포인트를 이용하여 손 동작을 분류한다. 분류한 벙보를 가지고 사용자에게 카운팅 정보를 전달한다. 사용자는 자신이 원하는 뇌체조동작을 선택할 수 있다. 뇌체조 동작에는 PP 동작, CNV 동작이 있다. PP 동작의 경우 오른손 새끼손가락 펴기 그리고 왼손 엄지손가락 펴기이다. 그리고 CNV 동작의 경우 오른손 보자기 엄지를 접고, 왼손 주먹 새끼손가락을 핀다. 그림 2는 본 연구에서 다룬 2가지 뇌체조 동작이다. 그림 2. a)는 PP 동작 그리고 그림 2. b)는 CNV 동작이다. 동작을 선택하면 웹캠을 통해 사용자의 뇌체조를 녹화하게 되는데 녹화한 동영상에서 이미지 프레임을 추출하게 된다. 추출한 이미지 프레임은 미리 생성된 뇌체조 동작을 검출할 수 있는 YOLOv5[9] 객체 감지 모델에 의해 사용자 손의 x_center, y_center, width, height 그리고 class type을 얻을 수 있다. PP 동작은 l_fg, l_fist, l_tb, r_fg, r_fist, r_tb으로 총 6가지의 동작이 있다. CNV 동작은 l_1, l_2, l_3, l_4, l_5, l_fist, r_1, r_2, r_3, r_4, r_5, r_fist으로 총 12가지의 동작이 있다. 객체 감지 모델 YOLOv5에 의해 객체의 좌표값이 나오게 되면 좌표값에 따라 이미지 프레임을 자른다. 여기서 객체 좌표에 따라 이미지를 자르는 이유는 Skeleton extraction을 더 정확하게 하기 위해서이다. 자른 이미지는 라이브러리 Mediapipe[7]에 의해 Skeleton extraction을 실행한다. 추출한 Skeleton 좌표값을 분류기에 넣어준다. 분류기를 통해 예측된 동작이 실행해야 할 동작과 일치하는지 확인하게 되고 뇌체조 순서에 맞게 동작한 횟수를 카운트해서 사용자에게 제시해준다. 사용자는 자신이 뇌체조를 얼마나 정확하게 하는지 알 수 있어 치매예방, 학습과 사고 및 창조 등 뇌 기능을 강화에 효과적이다.

Fig. 1.

System configuration of brain gymnastics recognition program

Fig. 2.

Brain gymnastics motion, (a) PP motion, (b) CNV motion

다음으로 데이터 세트 수집에 대해 고려한다. 뇌체조 동작은 제시된 동작을 크롤링하기 어렵기 때문에 2가지 뇌체조 영상을 직접 수집하고 Roboflow[8]를 이용하여 레이블링하여 데이터 세트를 구축했다.

데이터를 모을 때 뇌체조 동작 반복 기준이 필요하기 때문에 뇌체조를 먼저 시작할 방향을 정하여 영상을 획득했다. 반복 횟수는 2번으로 진행했다. 시작하는 방향은 PP 동작의 경우 오른손 새끼손가락 펴기 그리고 왼손 엄지손가락 펴기이다. 그리고 CNV 동작의 경우 오른손 보자기 엄지를 접고, 왼손 주먹 새끼손가락을 핀다. 각 동작을 6가지 그리고 12가지의 동작으로 나누어 레이블링했다. PP 동작은 l_fg, l_fist, l_tb, r_fg, r_fist, r_tb으로 레이블링했으며 CNV 동작은 l_1, l_2, l_3, l_4, l_5, l_fist, r_1, r_2, r_3, r_4, r_5, r_fist으로 레이블링하였다.

이를 통해 그림 3은 본 논문에서 모은 데이터의 수집 현황 분포를 보여주고 있다. PP 동작의 경우 남녀 각각 21명씩 획득했고 CNV 동작의 경우 남녀 각각 19명씩 획득했다. 획득한 데이터를 기반으로 본 논문에서는 그림 4. a)에서 보이듯이 영상에서 프레임 추출 후 그림 4. b)처럼 Roboflow을 이용해 라벨링을 진행했다.

Fig. 3.

Distribution of data collection status

Fig. 4.

Data annotation process, a) Frame extraction from video, b) Labeling using Roboflow

직접 모은 데이터 수가 부족하여 추가적으로 데이터 증강 방법인 FFlip: Horizontal, Vertical, 90° Rotate: Clockwise, Counter-Clockwise, Upside Down, Crop: 0% Minimum Zoom, 20% Maximum Zoom, Rotation: Between -15° and +15°, Shear: ±15° Horizontal, ±15° Vertical, Grayscale: Apply to 25% of images, Hue: Between -25° and +25°, Saturation Exposure: Between -25% and +25%를 적용했다.

그림 5에서 보이듯이 라이브러리 Mediapipe를 이용해 객체감지 모델 YOLOv5에서 나온 결과에서 객체 좌표에 따라 자른 이미지를 통해 Skeleton을 추출한다. 추출한 Skeleton의 좌표 값을 분류기에 넣어서 학습한다. 분류 모델의 성능 검증 과정에는 총 6가지 분류기를 사용하여 실험했다.

Fig. 5.

Skeleton coordinate extraction through Mediapipe application

분류기의 종류에는 Random Forest Classifier, XGB Classifier, Gradient Boosting Classifier, Ada Gradient Boosting Classifier, Bagging Classifier 그리고 Extra Trees Classifier[10]-[15]를 이용했다.


Ⅳ. 실험 결과

그림 6에서는 YOLOv5[9] 모델을 이용해서 PP 동작, CNV 동작, Hand 검출의 3가지 task으로 나누어서 물체 검출 성능 분석을 했다. PP, CNV 동작은 성능 지표가 대부분 0.5에 머물러 있지만 Hand는 1에 가까운 수치를 띄는 것을 알 수 있다. 성능 분석 결과 단순히 Hand로만 찾은 결과가 각각의 동작을 구분해서 적용한 모델보다 물체 검출 성능이 향상된다. 이를 통해 복잡한 task를 하는 것보다 단순한 task를 적용하는 것이 물체 검출의 성능을 향상시키는 데 도움이 되는 것을 확인했다.

Fig. 6.

Performance comparison of object detection models, a) PP motion, b) CNV motion, c) Hand

그림 7 그리고 그림 8에서 6가지 분류 모델을 이용해서 뇌체조 동작인 PP 동작과 CNV 동작에 대해서 분류할 수 있음을 확인했다. 각 분류기에 따라서 성능이 다르게 나옴을 보임에 따라 두 가지 행동을 높은 정확도를 통해 분류할 수 있는 모델을 찾아야 됨을 확인했다. 이를 추가적으로 분석하기 위해서 6가지 모델의 수렴 속도를 비교하기 위해서 ROC Curve를 이용해서 비교를 해보았다. ROC Curve 분석 시 왼쪽 상단으로 가야지 분류 모델이 좋은 수렴 속도를 보인다.

Fig. 7.

Confusion matrix for 6 Classification Models according to PP motion, a) XGB Classifier, b) RandomForest Classifier, c) Gradient Boosting Classifier, d) AdaGradient Boosting Classifier, e) Bagging Classifier, f) Extra Trees Classifier

Fig. 8.

Confusion matrix for 6 Classification Models according to CNV motion, a) XGB Classifier, b) RandomForest Classifier, c) Gradient Boosting Classifier, d) AdaGradient Boosting Classifier, e) Bagging Classifier, f) Extra Trees Classifier

그림 9는 Receiver Operating Characteristic Curve를 나타낸다. 6가지 모델의 경향성을 확인할 때 PP 동작, CNV 동작 모두 Ada Gradient Boosting 모델의 성능이 가장 높았다.

Fig. 9.

Classifier performance analysis using Receiver Operating Characteristic Curve a) PP motion, b) CNV motion

그림 10은 Precison-Recall Curve를 통해 가시적으로 어떤 분류기가 분류 성능이 좋은지를 확인할 수 있다. PP 동작에서는 Extra trees 모델 그리고 CNV 동작에서는 XGB 모델이 가장 높게 나왔다. 다만 6가지 모델의 Precision을 확인할 때 오른쪽 아래로 떨어지는 경우를 확인할 수 있다. 이는 모델이 학습하는 과정에 올바르게 학습을 하지 못해서 수렴이 되지 않고 이상한 방향으로 가는 것을 확인할 수 있다. 따라서 Precision – Recall Curve 분석을 통해 모델이 학습시 올바르게 학습이 되는지를 확인할 수 있었다.

Fig. 10.

Classifier performance analysis using Precision Recall curve, a) PP motion, b) CNV motion

그리고 본 논문에서는 분류기 모델이 판단하는데 있어 어느 특징을 보고 판단했는지에 대한 중요성을 확인하기 위해서 Feature importance 분석을 추가로 진행했다. 그림 11은 6가지 분류 모델에서 Feature importance가 높은 상위 5가지 특징을 나타낸 것이다.

Fig. 11.

Top 5 features with high feature importance in six classification models, a) PP motion, b) CNV motion

PP 동작을 분류할 때 6가지 모델을 이용해 분석한 결과 가장 영향있는 특징은 XGB와 Gradient Boosting, Bagging은 Pinky tip y, RandomForest와 Extra Trees의 경우 Pinky tip x, AdaGradient Boosting 경우 Pinky mcp x가 나왔다. 이를 통해 Waist에 대한 특징이 실제 PP 동작을 분류할 때 Pinky가 큰 영향을 끼치는 것을 확인했다.

CNV 동작을 분류할 때 6가지 모델을 이용해 분석한 결과 가장 영향을 끼치는 특징은 XGB, Random Forest, Extra Trees는 Waist_z 특징이다. 그리고 Ada Gradient Boosting, Bagging의 경우 Thumb tip Y이고 Gradient Boosting은 Thumb tip x이다. CNV 동작을 구분할 때는 Waist 특징과 Thumb tip의 특징이 분류하는 데 큰 영향을 끼치는 것을 확인했다.

ROC Curve에서 PP와 CNV 동작 모두 성능이 좋았던 AdaGradient Boosting Classifier를 사용하여 데모를 하였다. AdaGradient Boosting Classifer를 통해 예측된 동작이 실행해야 할 동작과 일치하는지 확인하게 된다. 뇌체조 순서에 맞게 동작한 횟수를 카운트해서 그림 11과 같이 카운트 값을 출력해준다.

Fig. 12.

Demo results using AdaGradient Boosting Classifer


Ⅴ. 결 론

치매를 예방하기 위한 다양한 솔루션이 보급되고 있지만 장소나 이용 등에 관한 불편한 점들이 있다. 또한 운동하는데 있어 올바르게 하는지를 스스로 체크하기가 힘들다. 이를 개선하고자 다양한 환경에서도 치매예방을 할 수 있는 뇌체조 인식 프로그램을 제안한다. 이를 해소하기 위해 손동작을 인식하여 동작을 예측하고 뇌체조 순서에 맞는지 확인하여 뇌체조를 정확하게 한 횟수를 알려주는 시스템을 제안했다. 물체 검출 및 스켈레톤 추출을 통해 특징을 추출했다. 추출한 특징을 이용하여 6가지의 분류기의 Precision, Recall, 그리고 Auc, Roc를 비교했다. 이를 통해 본 논문에서 제안한 방법이 다양한 환경에서 적용할 수 있고 올바르게 행동을 하는지 체크할 수 있는지를 검증을 했다.

추후에는 더 다양한 뇌체조 동작을 통해 개선하고자 한다.

References

  • Keri [Internet]. Available: http://www.keri.org/web/www/news_02?p_p_id=EXT_BBS&p_p_lifecycle=0&p_p_state=normal&p_p_mode=view&_EXT_BBS_struts_action=%2Fext%2Fbbs%2Fview_message&_EXT_BBS_messageId=356132
  • Yunhap News [Internet]. Available: https://www.yna.co.kr/view/AKR20220805083700055
  • J. J. Jeong, BrainGym to Improve Brain Function and Learning Ability, Seoul: Hakjisa, 2007.
  • A. Toshev and C. Szegedy, “DeepPose: Human Pose Estimation via Deep Neural Networks,” in Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, Columbus, OH, pp. 1653-1660, June 2014. [https://doi.org/10.1109/CVPR.2014.214]
  • Z. Cao, T. Simon, S. E. Wei, and Y. Sheikh, “Realtime Multi-person 2D Pose Estimation Using Part Affinity Fields,” in Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, Honolulu, pp. 7291-7299, April 2017. [https://doi.org/10.1109/CVPR.2017.143]
  • B. Xiao, H. Wu, and Y. Wei, “Simple Baselines for Human Pose Estimation and Tracking,” in Proceedings of the European Conference on Computer Vision, Munich, pp. 466-481, September 2018. [https://doi.org/10.48550/arXiv.1804.06208]
  • Mediapipe [Internet]. Available: https://google.github.io/mediapipe/
  • Roboflow [Internet]. Available: https://roboflow.com/
  • Yolov5 [Internet]. Available: https://github.com/ultralytics/yolov5
  • L. Breiman, “Random forests,” Machine Learning, Vol. 45, No. 1, pp. 5-32, October 2001. [https://doi.org/10.1023/A:1010933404324]
  • T. Chen and C. Guestrin, “Xgboost: A Scalable Tree Boosting System,” in Proceedings of the 22nd ACM SIGKDD International Conference on Knowledge Discovery and Datamining, New York, pp. 785-794, August 2016. [https://doi.org/10.1145/2939672.2939785]
  • J. H. Friedman, “Greedy Function Approximation: A Gradient Boosting Machine,” The Annals of Statistics, Vol. 29, No. 5, pp. 1189-1232, October 2001. https://www.jstor.org/stable/2699986 [https://doi.org/10.1214/aos/1013203451]
  • Y. Freund and R. E. Schapire, “A Decision-Theoretic Generalization of On-Line Learning and an Application to Boosting,” Journal of Computer and System Sciences, Vol. 55, No. 1, pp. 119-139, August 1997. [https://doi.org/10.1006/jcss.1997.1504]
  • L. Breiman, “Bagging Predictors,” Machine Learning, Vol. 24, No. 2, pp. 123-140, August 1996. [https://doi.org/10.1007/BF00058655]
  • P. Geurts, D. Ernst, and L. Wehenekel, “Extremely Randomized Trees,” Machine Learning, Vol. 63, No. 1, pp. 3-42, March 2006. [https://doi.org/10.1007/s10994-006-6226-1]

저자소개

임소미(Somi Lim)

2022년:광운대학교 학사과정

2021년~현 재: 광운대학교 컴퓨터정보학과 학사과정

※관심분야:딥러닝(Deep Learning)

김예은(Yeeun Kim)

2022년:광운대학교 학사과정

2021년~현 재: 광운대학교 컴퓨터정보학과 학사과정

※관심분야:딥러닝(Deep Learning)

김영찬(Youngchan Kim)

2022년:광운대학교 학사과정

2021년~현 재: 광운대학교 컴퓨터정보학과 학사과정

※관심분야:딥러닝(Deep Learning)

최승호(Seoung-Ho Choi)

2018년:한성대학교 전자정보공학과(공학사)

2020년:한성대학교 전자정보공학과(공학석사)

2021년~현 재: 한성대학교 기초교양학부 시간강사

2022년~현 재: 광운대학교 소프트웨어 사업단 초빙교수

※관심분야:딥러닝(Deep Learning)

Fig. 1.

Fig. 1.
System configuration of brain gymnastics recognition program

Fig. 2.

Fig. 2.
Brain gymnastics motion, (a) PP motion, (b) CNV motion

Fig. 3.

Fig. 3.
Distribution of data collection status

Fig. 4.

Fig. 4.
Data annotation process, a) Frame extraction from video, b) Labeling using Roboflow

Fig. 5.

Fig. 5.
Skeleton coordinate extraction through Mediapipe application

Fig. 6.

Fig. 6.
Performance comparison of object detection models, a) PP motion, b) CNV motion, c) Hand

Fig. 7.

Fig. 7.
Confusion matrix for 6 Classification Models according to PP motion, a) XGB Classifier, b) RandomForest Classifier, c) Gradient Boosting Classifier, d) AdaGradient Boosting Classifier, e) Bagging Classifier, f) Extra Trees Classifier

Fig. 8.

Fig. 8.
Confusion matrix for 6 Classification Models according to CNV motion, a) XGB Classifier, b) RandomForest Classifier, c) Gradient Boosting Classifier, d) AdaGradient Boosting Classifier, e) Bagging Classifier, f) Extra Trees Classifier

Fig. 9.

Fig. 9.
Classifier performance analysis using Receiver Operating Characteristic Curve a) PP motion, b) CNV motion

Fig. 10.

Fig. 10.
Classifier performance analysis using Precision Recall curve, a) PP motion, b) CNV motion

Fig. 11.

Fig. 11.
Top 5 features with high feature importance in six classification models, a) PP motion, b) CNV motion

Fig. 12.

Fig. 12.
Demo results using AdaGradient Boosting Classifer