DOI QR코드

DOI QR Code

Implementation of a Personal Exercise System for Growing Children using Kinect

키넥트를 이용한 성장기 아동을 위한 개인 운동 시스템 구현

  • 김연준 (한국산업기술대학교 컴퓨터공학부) ;
  • 김효빈 (한국산업기술대학교 컴퓨터공학부) ;
  • 염유진 (한국산업기술대학교 컴퓨터공학부) ;
  • 최예진 (한국산업기술대학교 컴퓨터공학부) ;
  • 이상호 (한국산업기술대학교 컴퓨터공학부)
  • Received : 2019.09.29
  • Accepted : 2019.12.06
  • Published : 2019.12.31

Abstract

Exercising and stretching are essential for the growth of children, but recently, children's outdoor activities are limited due to social risks such as fine dust and child crime. It has increased the need for children's programs that can be safely and easily followed indoors. In this paper, we developed a system to induce and manage children's voluntary stretching to support growth. The system developed in this paper recognizes the child's stretching motions in real-time using Kinect to evaluate the match rate with the standard motions. The system gives users the results with a calendar and check stamp to provide voluntary motivation for the child and to provide parents with systematic management of the child's progress.

아동의 성장을 위해 운동과 스트레칭은 필수적이지만, 최근 미세먼지, 아동범죄 등 사회적 위험으로 인해 아동들의 자유로운 외부활동이 제한적이다. 이로 인해 실내에서 안전하고 쉽게 따라 할 수 있는 아동을 위한 프로그램에 대한 필요성이 증가하였다. 본 논문에서는 성장에 도움이 되는 스트레칭을 아동들이 자발적으로 하도록 유도하고 관리하는 시스템을 개발하였다. 본 논문에서 개발한 시스템은 키넥트를 활용하여 실시간으로 아동의 스트레칭 동작을 인식하여 표준 동작과의 일치율을 평가한다. 이 시스템은 그 결과를 사용자에게 달력과 확인스탬프로 제공함으로써 아동에게는 자발적 동기 부여를 제공하고 부모에게는 아동의 진행상황에 대한 체계적인 관리를 제공한다.

Keywords

Ⅰ. 서론

현대인들은 운동의 중요성은 누구보다 잘 알지만 현실적으로 헬스장이나 전문적인 PT(Personal Training)를 받기 어렵고, 아동들은 더 많은 요인으로 더 어렵다.

성장기 아동에게 스트레칭과 운동은 성장에 필수적이다[1]. 하지만 최근 미세먼지, 사회적인 위험 등 다양한 요인으로 인해 외부활동이 제한적이다. 또한 성장기 아동(7-10세)의 집중력, 운동신경 등을 고려한 맞춤형 실내 스트레칭 프로그램은 찾기 어렵다. 때문에 실내에서 비교적 간단하고 체계적인 운동 프로그램의 필요성이 대두되고 있다[2]. 본 논문에서는 이러한 문제점을 해결하기 위해 키넥트를 활용한 성장기 아동을 위한 스트레칭 교육 시스템을 개발한다.

기존 동작인식 스트레칭 프로그램들은 아동(7-10세)의 특수성을 고려하지 않았다. 그래서 본 논문에서는 7~10세의 아동이라는 특수성을 고려하여 흥미를 유발하고 자발적인 참여가 가능하며 일정시간 이상 집중이 어려운 아동의 특성을 고려한 시스템을 개발한다.

본 논문에서는 키넥트의 짧은 인식범위와 낮은 인식률을 고려하여 가장 높은 동작 인식률을 보이는 SURF(Speeded Up Robust Feature) 알고리즘[3]를 이용하여 객체를 인식하도록 개발한다[4]. 개발한 프로그램은 스트레칭 동작과 체계적인 관리를 위한 일정표 기능을 제공하고, 아동의 눈높이를 고려한 화면 구성을 통해 자발적인 참여와 흥미를 유발하도록 한다.

본 논문의 구성은 다음과 같다. 2장에서는 키넥트를 활용한 기존 운동 프로그램과 키넥트에 관해서 기술하고, 3장에서는 개발한 프로그램의 구성과 설계에 대해 논한다. 4장에서는 개발한 프로그램의 구현에 관련된 핵심기술에 대해 기술하고, 마지막으로 5장에서 결론을 맺는다.

Ⅱ. 관련 연구

본 장에서는 기존의 키넥트를 활용한 운동 프로그램과 키넥트에 관해서 논한다.

1. 기존 키넥트 운동 프로그램

본 논문에서 개발하려고 하는 아동을 위한 스트레칭 프로그램과 유사 프로그램으로는 XBOX 유어 쉐이프와 핑크퐁 키크기 체조 영상[5]이 있다. XBOX 유어 쉐이프 경우 키넥트를 활용한 피트니스 게임을 제공하지만 성인을 위한 운동 프로그램이다. 성장기 아동이 하기 어려운 동작이 대부분이며 고난이도 동작이 포함 되어있다. 핑크퐁 키크기 체조 영상인 경우 성장기 아동을 위한 스트레칭 동작이 제공되지만 영상만 제공되기 때문에 실시간으로 자신의 동작에 대한 정확도를 판단 할 수 없다.

기존 프로그램의 특징들을 반영하여 본 논문에서 개발할 시스템은 키넥트를 활용하여 성장을 위한 스트레칭 동작을 실시간으로 인식하고 동작의 정확성을 판단해 줄 것이다. 또한 진행정도를 알려주는 달력을 구성하여 체계적인 관리가 가능하도록 할 것이다.

2. 키넥트(Kinect)

키넥트는 MS사에서 만든 동작인식 개발 프레임워크로서[6,11], 카메라로 객체의 깊이 정보를 추출하여 카메라의 중심점을 원점으로 하여 객체를 3차원으로 표시하고 이를 데이터화 및 분석하는 기능을 제공한다[7]. 키넥트의 핵심기능은 탑재된 RGB 카메라로 촬영한 이미지를 처리하여 그림1과 같은 골격정보(Skeleton View)를 추출한다[8]. 키넥트에 탑제된 2개의 카메라로 사람의 47개 신체 부위를 초당 30번씩 감지하고, 카메라를 구성하는 틸트 모터(Tilt Motor)의 상, 하 움직임을 통해 사람의 자세를 실시간으로 인식할 수 있도록 한다.

OTNBBE_2019_v19n6_127_f0001.png 이미지

그림 1. 키넥트 Body tracking 모델

Fig. 1. Kinect Body tracking model

키넥트의 동작인식은 표준 동작을 Visual Gesture Builder[9]를 사용하여 미리 촬영한 골격정보를 데이터화 하고 이를 실시간으로 촬영 및 분석한 사용자 동작의 골격정보와 비교하여 동작의 일치율을 계산한다.

키넥트는 그림2에서 보는 바와 같이 인식 수평 수직 각도는 57도, 43도이고 인물의 감지 범위는 2.7m – 13.1m이다[10].

OTNBBE_2019_v19n6_127_f0002.png 이미지

그림 2. Kinect의 Depth의 취득 범위와 인물의 감지 범위

Fig. 2. Kinect Depth acquisition range and Character's detection range

Ⅲ. 키넥트를 이용한 성장기 아동을 위한 스트레칭 교육 시스템 설계

본장은 본 논문에서 구현할 스트레칭 교육 시스템의 구성과 아동의 동작 일치율 판단 메커니즘 및 데이터베이스 연동에 관해 기술한다.

1. 스트레칭 교육 시스템 구성

본 논문에서 구현할 시스템은 그림3과 같이 입력모듈, 출력모듈, 통신모듈로 구성되며, MS사의 앱 개발 플랫폼인 UWP(Universal Windows Platform)[9]상에서 개발하였다.

OTNBBE_2019_v19n6_127_f0003.png 이미지

그림 3. 시스템 구성도

Fig. 3. System Architecture

입력모듈의 동작인식 기능은 사용자의 동작을 키넥트를 통해 실시간으로 인식한 골격정보를 저장하여 출력모듈에서 일치율을 판단할 수 있도록 전달한다. 표준동작의 골격정보는 키넥트의 내부 데이터 형식인 gdb 파일형식으로 생성 및 저장하여 출력모듈에서 일치율 판단의 기준으로 활용하도록 한다. 골격정보 생성은 그림4과 같이 Visual Gesture Builder을 활용하여 생성한다.

OTNBBE_2019_v19n6_127_f0004.png 이미지

그림 4. Visual Gesture Builder 실행 화면

Fig. 4. Visual Gesture Builder run screen

출력모듈은 UWP(Universal Windows Platfo rm)[9]상에서 사용자의 동작을 화면에 출력하여 사용자가 자신의 동작을 실시간으로 확인하고 그 동작과 표준동작의 일치율을 확인할 수 있는 화면을 제공한다. 또한 시스템에서 제공하는 캐릭터를 통해 표준동작으로 표시하며, 아동의 스트레칭 수행정보를 달력화면으로 제공한다.

통신 모듈은 UWP와 MySQL 연동을 통해 사용자 정보 및 스트레칭 데이터를 저장한다. 데이터의 변경이 있을 경우에 데이터를 즉시 갱신하여 웹의 달력화면 상에서 즉시 확인이 가능하도록 하였다.

2. 실시간 동작의 일치율 판단

아동의 스트레칭 동작과 표준동작의 스트레칭 동작이 얼마나 일치하는가에 따라서 성공여부와 일치율을 UI에 표현한다. 동작의 일치율 계산을 위해 키넥트의 API인 MultiSourceFrameReader를 사용하여 아동의 실시간 동작 골격정보을 추출하며 ContinuousGestureResults API를 사용하여 표준동작과의 일치율을 계산한다. 계산된 일치율은 출력모듈을 통해서 사용자에게 제공된다.

3. 데이터베이스 연동

데이터베이스는 MySQL Community Server 5.7.22 버전을 사용하여 회원정보와 날짜 별로 아동의 스트레칭 수행 횟수, 완료한 스트레칭 개수를 관리한다.

데이터베이스와 UWP와의 연동은 ODBC를 사용하며, 웹과의 연동은 JDBC를 활용하였다.

Ⅳ. 시스템 구현

본 장에서는 표준동작 골결정보 추출과정과 구현한 화면 구성에 관해 논한다.

1. Visual Gesture Builder를 활용한 표준동작 골격정보 추출

Kinect SDK 2.0이 제공하는 Kinect Studio를 사용하여 스트레칭 표준동작을 녹화하고, 녹화된 동작은 Visual Gesture Builder을 통해 관절을 인식하여 관절의 위치정보를 추출한다. 추출된 표준동작의 골격정보는 아동의 실시간 스트레칭 동작 일치율 계산에 활용한다.

2. 프로그램 실행 화면

프로그램은 그림5와 같이 5가지의 스트레칭과 날짜별 수행도를 확인할 수 있는 캘린더 버튼으로 구성되어있다. 스트레칭을 선택하면 캐릭터로 변환된 표준동작과 아동의 실시간 동작을 화면에 출력한다. 아동의 동작과 표준동작과의 일치율을 실시간으로 사용자에게 제공하여 좀 더 정확한 스크레칭 동작을 하도록 유도한다. 또한 아동의 진행정도를 달력으로 화면에 출력하여 현재 스트레칭 진행정도를 확인할 수 있다.

OTNBBE_2019_v19n6_127_f0005.png 이미지

그림 5. 메인 메뉴 화면

Fig. 5. Main menu screen

사용자가 스트레칭 중 하나를 선택하면 그림6과 같이 왼쪽에는 캐릭터를 이용한 스트레칭 안내, 횟수, 정확도, 수행도를 표시하고, 상단에는 수행도에 따른 멘트와 저장버튼을 배치하였다. 횟수는 동작의 일치율(0.17 이상)을 기반으로 정확한 동작을 일정 시간(2초이상) 유지했을 때 올라간다. 정확도와 수행도는 일치율을 사용자가 보기 편하도록 수치와 그래프로 표현하였다.

OTNBBE_2019_v19n6_127_f0006.png 이미지

그림 6. 프로그램 실행 화면

Fig. 6. Program run screen

화면 상단의 문구는 아동의 동작 수행도가 90% 이상이 되면 ‘잘 하고 있어요’라는 문장이 되고, 그렇지 않은 경우에는 ‘좀 더 힘내세요“라는 문장이 된다. 스트레칭을 마무리하여 저장 버튼을 누르면 스트레칭의 수행 기록이 데이터베이스에 저장된다. 저장된 수행 기록에 따라 달력 화면에 도장이 찍히도록 하여 아동과 보호자는 아동이 어떤 스트레칭을 얼마나 수행했는지 여부를 확인할 수 있다.

그림5의 캘린더 버튼을 선택하면 그림7과 같은 달력화면이 제공된다. 달력에는 아동이 당일에 수행한 스트레칭의 개수에 따라 4가지 종류의 도장이 찍히도록 하여 아동의 스트레칭 동기를 유발하도록 하였다.

OTNBBE_2019_v19n6_127_f0007.png 이미지

그림 7. 웹 달력 화면

Fig. 7. Web calendar screen

본 시스템은 스트레칭 동작들을 ‘곰돌이’ 캐릭터로 표현하여 아동들이 좀 더 친숙하게 따라 할 수 있도록 하였다. 본 시스템에서 제공되는 스트레칭 동작들은 그림8과 같다.

OTNBBE_2019_v19n6_127_f0008.png 이미지

그림 8. 캐릭터 화면

Fig. 8. Character screen

Ⅴ. 결론

성장기 아동에게 스트레칭과 운동은 성장에 필수적이고 특히 스트레칭은 짧은 시간에 큰 효과를 얻을 수 있다. 그러나 미세먼지, 아동범죄 등 사회적 위험으로 인해 아동들의 자유로운 외부활동이 제한적이다. 이와 같은 문제를 해결하기 위해, 본 논문에서는 키넥트를 활용하여 성장기 아동들이 실내에서 스트레칭을 주기적이고 자발적으로 할 수 있도록 하는 시스템을 개발하였다.

본 시스템은 사람의 골격을 인식하고 활용 할 수 있는 키넥트를 통해 각 스트레칭의 자세를 인식하고 일치하는 자세를 하였을 때 횟수를 증가시켜 기존에 동영상이나 사진만 보고 스트레칭을 했던 아이들이 정확한 자세로 스트레칭을 하여 더 큰 효과를 가질 것을 기대한다.

이러한 스트레칭 수행 결과는 평범한 리스트가 아닌 한 눈에 볼 수 있는 달력을 통해 부모들은 아이들이 언제, 얼마나, 어떻게 스트레칭을 잘하고 있는지 실시간으로 확인 할 수 있고 아이들은 각 스트레칭의 개수마다 다르게 찍히는 도장을 보며 자발적인 참여를 이끌어 낼 수 있다.

이 시스템을 지속적으로 사용하면 성장기에 있는 아이들은 성장판을 자극하여 키 성장에 도움이 될 것이며 외부에서의 활동에서의 위험 요소를 예방할 수 있을 것이다.

References

  1. Hyun-Jun Cho and Jae-Ok Koh, "The Effect of Stretching and Resistance Exercise Program on Physical Strength and Postural Stability in Juveniles," Journal of Korea Society for Wellness, vol. 6, no. 3, pp. 391-399, 2011.
  2. Kyung-Suk Sung, Young-Mi Yoon, and Eun-Joo Kim, "Meta-analysis of the Effects of Obesity Management Program for Children," Child Health Nurs Res, vol. 19, no. 4, pp. 262-269, 2013. DOI:http://dx.doi.org/10.4094/chnr.2013.19.4.262
  3. Herbert Bay, Tinne Tuytelaars, and Luc Van Gool, "SURF: Speeded Up Robust Features," European Conferneces on Computer Vision, vol. 3951, pp. 404-417, 2006. DOI: https://doi.org/10.1007/11744023_32
  4. Anna Kim, Gun Kyu Yee, Gitae Kang, Yong Bum Kim, and Hyouk Ryeol Choi, "A Method for Improving Accuracy of Object Recognition and Pose Estimation by Using Kinect sensor," Journal of Korea Robotics Society, vol. 10, no. 1, pp. 16-23, 2015. DOI:http://dx.doi.org/10.7746/jkros.2015.10.1.016
  5. Gimnasia Rosa Pong, URL https://www.youtube.com/watch?v=l5s6h3gwNBY
  6. Soo-Young Yoon and Mee-Rhan Kwon, "A Study on the Sports Coaching System for Child Population," The Journal of The Institute of Internet, Broadcasting and Communication(IIBC), vol. 14, no. 6, pp. 125-130, 2014. DOI:https://doi.org/10.7236/jiibc.2014.14.6.125
  7. Wikipedia about Kinect, URL: https://en.wikipedia.org/wiki/Kinect
  8. Comparison between Kinect v1 and Kinect v2, URL: http://eehoeskrap.tistory.com/132
  9. Microsoft Kinect, URL: https://developer.microsoft.com/ko-kr/windows/kinect
  10. Kinect Project: Dive Into Kinect Interaction Example Concepts, URL: https://talkingaboutme.tistory.com/entry/Kinect-Project-Dive-into-KinectInteraction-Example-2-Concepts
  11. Jungsu Shin, Kyeong-Ri Ko, and Sung Bum Pan, "Automation of Human Body Model Data Measurement Using Kinect in Motion Capture System," The Journal of Korean Institute of Information Technology, Vol. 12, No. 9, pp. 173-180, 2014. DOI:https://doi.org/10.14801/kitr.2014.12.9.173