KR20230157814A - 전자 장치 및 그 제어 방법 - Google Patents

전자 장치 및 그 제어 방법 Download PDF

Info

Publication number
KR20230157814A
KR20230157814A KR1020220057477A KR20220057477A KR20230157814A KR 20230157814 A KR20230157814 A KR 20230157814A KR 1020220057477 A KR1020220057477 A KR 1020220057477A KR 20220057477 A KR20220057477 A KR 20220057477A KR 20230157814 A KR20230157814 A KR 20230157814A
Authority
KR
South Korea
Prior art keywords
motion
frame
exercise
movement
video
Prior art date
Application number
KR1020220057477A
Other languages
English (en)
Inventor
김홍윤
김길종
김종원
송석우
조현국
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020220057477A priority Critical patent/KR20230157814A/ko
Priority to EP23803816.0A priority patent/EP4418207A1/en
Priority to PCT/KR2023/006288 priority patent/WO2023219393A1/ko
Priority to US18/328,252 priority patent/US20230364465A1/en
Publication of KR20230157814A publication Critical patent/KR20230157814A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Biophysics (AREA)
  • Data Mining & Analysis (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Multimedia (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Image Analysis (AREA)

Abstract

전자 장치가 개시된다. 본 전자 장치는 적어도 하나의 인스트럭션을 포함하는 메모리, 메모리와 연결되며 전자 장치를 제어하는 프로세서를 포함하고, 프로세서는 적어도 하나의 인스트럭션을 실행함으로써, 동영상을 획득하고, 동영상의 복수의 프레임으로부터 사람 및 사람의 포즈 데이터를 식별하고, 식별된 사람의 포즈 데이터를 이용하여 복수의 프레임에 대응하는 운동 패턴 정보를 획득하고, 적어도 하나의 신경망 모델에 동영상의 적어도 하나의 프레임을 입력하여 식별된 사람의 운동 동작을 인식하고, 인식된 운동 동작에 대응하는 운동 특성 정보를 획득하고, 운동 특성 정보 및 운동 패턴 정보를 바탕으로, 동영상의 복수의 프레임 중 제1 프레임 구간 및 제1 프레임 구간과 상이한 제2 프레임 구간을 식별하고, 제1 프레임 구간과 제2 프레임 구간을 비교하여 제2 프레임에 대응하는 운동 동작에 대한 정보를 제공한다.

Description

전자 장치 및 그 제어 방법 { ELECTRONIC APPARATUS AND CONTROLLING METHOD THEREOF }
본 개시는 전자 장치 및 그 제어 방법에 관한 것으로, 더욱 상세하게는 사용자의 운동 동작을 분석하여 운동 동작에 대한 정보를 제공하는 전자 장치 및 그 제어 방법에 관한 것이다.
종래에는 사전 학습을 통해 사람의 운동 동작 자세에 대응되는 체력 정보를 획득하고, 획득된 체력 정보를 바탕으로 현재 운동 동작에 대한 피드백을 제공할 수 있었다.
이러한, 체력 정보를 획득하기 위해 종래에는 모든 운동 동작 각각에 대응되는 운동 동작 자세를 사전 학습시켜야 되어 사전 학습에 소요되는 비용이 과도한 문제점이 있었다.
본 개시는 상술한 종래의 문제를 해결하기 위해 안출된 것으로, 본 개시의 목적은 운동 동작 자세 각각의 체력 정보에 대한 사전 학습 없이도 실시간으로 사람의 운동 동작에 대한 정보를 제공하는 전자 장치 및 그 제어 방법을 제공함에 있다.
본 개시의 기술적 사상이 해결하고자 하는 과제는, 이상에서 언급한 과제에 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
이상과 같은 목적을 달성하기 위한 본 개시의 일 실시 예에 따른 전자 장치는 적어도 하나의 인스트럭션을 포함하는 메모리, 상기 메모리와 연결되며 상기 전자 장치를 제어하는 프로세서를 포함하고, 상기 프로세서는 상기 적어도 하나의 인스트럭션을 실행함으로써, 동영상을 획득하고, 상기 동영상의 복수의 프레임으로부터 사람 및 상기 사람의 포즈 데이터를 식별하고, 상기 식별된 사람의 포즈 데이터를 이용하여 상기 복수의 프레임에 대응하는 운동 패턴 정보를 획득하고, 적어도 하나의 신경망 모델에 상기 동영상의 적어도 하나의 프레임을 입력하여 상기 식별된 사람의 운동 동작을 인식하고, 상기 인식된 운동 동작에 대응하는 운동 특성 정보를 획득하고, 상기 운동 특성 정보 및 상기 운동 패턴 정보를 바탕으로, 상기 동영상의 복수의 프레임 중 제1 프레임 구간 및 상기 제1 프레임 구간과 상이한 제2 프레임 구간을 식별하고, 상기 제1 프레임 구간과 상기 제2 프레임 구간을 비교하여 상기 제2 프레임에 대응하는 운동 동작에 대한 정보를 제공한다.
상기 프로세서는 사람의 운동 동작이 대칭 동작인지 여부를 식별하기 위한 제1 신경망 모델에 상기 동영상의 적어도 하나의 프레임을 입력하여, 상기 사람의 운동 동작이 대칭 동작인지 여부를 식별하고, 사람의 운동 동작이 유지 동작인지 여부를 식별하기 위한 제2 신경망 모델에 상기 동영상의 적어도 하나의 프레임을 입력하여, 상기 사람의 운동 동작이 유지 동작인지 여부를 식별할 수 있다.
상기 제1 신경망 모델은, 사람의 운동 동작을 촬영한 학습 동영상 및 상기 학습 동영상에 대응하는 사람의 운동 동작이 대칭 동작인지에 대한 정보에 기초하여 학습되며, 상기 제2 신경망 모델은, 사람의 운동 동작을 촬영한 학습 동영상 및 상기 학습 동영상에 대응하는 사람의 운동 동작이 유지 동작인지에 대한 정보에 기초하여 학습될 수 있다.
상기 프로세서는 상기 사람의 운동 동작이 대칭 동작 및 유지 동작이면, 상기 동영상의 복수의 프레임 중 시작 프레임으로부터 제1 시간까지의 구간을 상기 제1 프레임 구간으로 식별할 수 있다.
상기 프로세서는 상기 사람의 운동 동작이 대칭 동작 및 비유지 동작이면, 상기 운동 패턴 정보를 바탕으로 상기 동영상의 복수의 프레임에서 운동 반복 구간을 각각 식별하고, 상기 식별된 운동 반복 구간을 바탕으로, 상기 동영상의 복수의 프레임 중 시작 프레임으로부터 제1 횟수의 운동 반복 구간에 대응하는 프레임까지의 구간을 상기 제1 프레임 구간으로 식별할 수 있다.
상기 프로세서는 상기 사람의 운동 동작이 비대칭 동작 및 유지 동작 운동이면, 상기 운동 패턴 정보를 바탕으로 상기 동영상의 복수의 프레임 중 제1 대칭 운동 동작이 처음 시작되는 프레임으로부터 제2 시간까지의 구간 및 제2 대칭 운동 동작이 처음 시작되는 프레임으로부터 제2 시간까지의 구간에 대응하는 프레임을 상기 제1 프레임 구간으로 식별할 수 있다.
상기 프로세서는 상기 사람의 운동 동작이 비대칭 동작 및 비유지 동작이면, 상기 운동 패턴 정보를 바탕으로 상기 동영상의 복수의 프레임에서 제1 대칭 운동 동작 및 제2 대칭 운동 동작에 대응하는 프레임을 각각 식별하고, 상기 동영상의 복수의 프레임 중 시작 프레임으로부터 제2 횟수의 상기 제1 대칭 운동 동작에 대응하는 프레임 및 제2 횟수의 상기 제2 대칭 운동 동작에 대응하는 프레임을 상기 제1 프레임 구간으로 식별할 수 있다.
상기 프로세서는 상기 동영상이 재생 중인 경우, 상기 재생 중인 프레임으로부터 기 설정 간격 구간의 프레임을 상기 제2 프레임으로 식별할 수 있다.
상기 프로세서는 상기 제1 프레임 구간에 대응되는 운동 패턴 정보와 상기 제2 프레임 구간에 대한 운동 패턴 정보의 차이 값이 기 설정 값 이상인 경우 체력 고갈 상태인 것으로 식별하고, 상기 체력 고갈 상태인 것으로 식별되면, 상기 제2 프레임 구간에 대응되는 상기 사람의 운동 동작에 대한 정보를 제공할 수 있다.
상기 프로세서는 원본 동영상을 획득하고, 복수의 운동 동작을 포함하는 복수의 동영상이 저장된 운동 DB(Data Base)를 바탕으로, 상기 원본 동영상에 포함된 복수의 프레임 중 상기 사람의 운동 동작에 대응되는 프레임을 식별하여 상기 동영상을 획득할 수 있다.
본 개시의 일 실시 예에 따른 전자 장치의 제어 방법은 동영상을 획득하는 단계; 상기 동영상의 복수의 프레임으로부터 사람 및 상기 사람의 포즈 데이터를 식별하는 단계; 상기 식별된 사람의 포즈 데이터를 이용하여 상기 복수의 프레임에 대응하는 운동 패턴 정보를 획득하는 단계; 적어도 하나의 신경망 모델에 상기 동영상의 적어도 하나의 프레임을 입력하여 상기 식별된 사람의 운동 동작을 인식하고, 상기 인식된 운동 동작에 대응하는 운동 특성 정보를 획득하는 단계; 상기 운동 특성 정보 및 상기 운동 패턴 정보를 바탕으로, 상기 동영상의 복수의 프레임 중 제1 프레임 구간 및 상기 제1 프레임 구간과 상이한 제2 프레임 구간을 식별하는 단계; 상기 제1 프레임 구간과 상기 제2 프레임 구간을 비교하여 상기 제2 프레임에 대응하는 운동 동작에 대한 정보를 제공하는 단계;를 포함한다.
상기 운동 특성 정보를 획득하는 단계는, 사람의 운동 동작이 대칭 동작인지 여부를 식별하기 위한 제1 신경망 모델에 상기 동영상의 적어도 하나의 프레임을 입력하여, 상기 사람의 운동 동작이 대칭 동작인지 여부를 식별하는 단계; 및 사람의 운동 동작이 유지 동작인지 여부를 식별하기 위한 제2 신경망 모델에 상기 동영상의 적어도 하나의 프레임을 입력하여, 상기 사람의 운동 동작이 유지 동작인지 여부를 식별하는 단계;를 포함할 수 있다.
상기 제1 신경망 모델은, 사람의 운동 동작을 촬영한 학습 동영상 및 상기 학습 동영상에 대응하는 사람의 운동 동작이 대칭 동작인지에 대한 정보에 기초하여 학습되며, 상기 제2 신경망 모델은, 사람의 운동 동작을 촬영한 학습 동영상 및 상기 학습 동영상에 대응하는 사람의 운동 동작이 유지 동작인지에 대한 정보에 기초하여 학습되는 것을 특징으로 할 수 있다.
상기 제1 프레임 구간 및 상기 제1 프레임 구간과 상이한 제2 프레임 구간을 식별하는 단계는, 상기 사람의 운동 동작이 대칭 동작 및 유지 동작이면, 상기 동영상의 복수의 프레임 중 시작 프레임으로부터 제1 시간까지의 구간을 상기 제1 프레임 구간으로 식별하는 단계; 를 포함할 수 있다.
상기 제1 프레임 구간 및 상기 제1 프레임 구간과 상이한 제2 프레임 구간을 식별하는 단계는, 상기 사람의 운동 동작이 대칭 동작 및 비유지 동작이면, 상기 운동 패턴 정보를 바탕으로 상기 동영상의 복수의 프레임에서 운동 반복 구간을 각각 식별하는 단계; 및 상기 식별된 운동 반복 구간을 바탕으로, 상기 동영상의 복수의 프레임 중 시작 프레임으로부터 제1 횟수의 운동 반복 구간에 대응하는 프레임까지의 구간을 상기 제1 프레임 구간으로 식별하는 단계; 를 포함할 수 있다.
상기 제1 프레임 구간 및 상기 제1 프레임 구간과 상이한 제2 프레임 구간을 식별하는 단계는, 상기 사람의 운동 동작이 비대칭 동작 및 유지 동작 운동이면, 상기 운동 패턴 정보를 바탕으로 상기 동영상의 복수의 프레임 중 제1 대칭 운동 동작이 처음 시작되는 프레임으로부터 제2 시간까지의 구간 및 제2 대칭 운동 동작이 처음 시작되는 프레임으로부터 제2 시간까지의 구간에 대응하는 프레임을 상기 제1 프레임 구간으로 식별하는 단계; 를 포함할 수 있다.
상기 제1 프레임 구간 및 상기 제1 프레임 구간과 상이한 제2 프레임 구간을 식별하는 단계는, 상기 사람의 운동 동작이 비대칭 동작 및 비유지 동작이면, 상기 운동 패턴 정보를 바탕으로 상기 동영상의 복수의 프레임에서 제1 대칭 운동 동작 및 제2 대칭 운동 동작에 대응하는 프레임을 각각 식별하는 단계; 및 상기 동영상의 복수의 프레임 중 시작 프레임으로부터 제2 횟수의 상기 제1 대칭 운동 동작에 대응하는 프레임 및 제2 횟수의 상기 제2 대칭 운동 동작에 대응하는 프레임을 상기 제1 프레임 구간으로 식별하는 단계; 를 포함할 수 있다.
상기 제1 프레임 구간 및 상기 제1 프레임 구간과 상이한 제2 프레임 구간을 식별하는 단계는,
상기 동영상이 재생 중인 경우, 상기 재생 중인 프레임으로부터 기 설정 간격 구간의 프레임을 상기 제2 프레임으로 식별하는 단계;를 포함할 수 있다.
상기 제2 프레임에 대응하는 운동 동작에 대한 정보를 제공하는 단계는,
상기 제1 프레임 구간에 대응되는 운동 패턴 정보와 상기 제2 프레임 구간에 대한 운동 패턴 정보의 차이 값이 기 설정 값 이상인 경우 체력 고갈 상태인 것으로 식별하는 단계;
상기 체력 고갈 상태인 것으로 식별되면, 상기 제2 프레임 구간에 대응되는 상기 사람의 운동 동작에 대한 정보를 제공하는 단계;를 포함할 수 있다.
본 개시의 일 실시 예에 따른 전자 장치의 제어 방법을 실행하는 프로그램을 포함하는 비일시적 컴퓨터 판독 가능 기록매체에 있어서, 상기 전자 장치의 제어 방법은, 동영상을 획득하는 단계; 상기 동영상의 복수의 프레임으로부터 사람 및 상기 사람의 포즈 데이터를 식별하는 단계; 상기 식별된 사람의 포즈 데이터를 이용하여 상기 복수의 프레임에 대응하는 운동 패턴 정보를 획득하는 단계; 적어도 하나의 신경망 모델에 상기 동영상의 적어도 하나의 프레임을 입력하여 상기 식별된 사람의 운동 동작을 인식하고, 상기 인식된 운동 동작에 대응하는 운동 특성 정보를 획득하는 단계; 상기 운동 특성 정보 및 상기 운동 패턴 정보를 바탕으로, 상기 동영상의 복수의 프레임 중 제1 프레임 구간 및 상기 제1 프레임 구간과 상이한 제2 프레임 구간을 식별하는 단계; 상기 제1 프레임 구간과 상기 제2 프레임 구간을 비교하여 상기 제2 프레임에 대응하는 운동 동작에 대한 정보를 제공하는 단계;를 포함한다.
도 1은 본 개시의 일 실시예에 따른 전자 장치의 구성을 설명하기 위한 블록도이다.
도 2a 및 도 2b는 본 개시의 일 실시예에 따른, 동영상 내 사람의 운동 동작에 대한 정보를 제공하기 위한 전자 장치의 동작을 설명하기 위한 흐름도이다.
도 3은 본 개시의 일 실시예에 따른 동영상을 획득하는 방법을 설명하기 위한 흐름도이다.
도 4는 본 개시의 일 실시예에 따른 대칭 동작 운동 및 유지 동작 운동에서 제1 프레임 구간을 식별하는 방법을 설명하기 위한 도면이다.
도 5는 본 개시의 일 실시예에 따른 대칭 동작 운동 및 비유지 동작 운동에서 제1 프레임 구간을 식별하는 방법을 설명하기 위한 도면이다.
도 6은 본 개시의 일 실시예에 따른 비유지 동작 운동에서 운동 매 횟수 사이의 간격이 설정값을 초과하는지 여부를 식별하는 방법을 설명하기 위한 도면이다.
도 7은 본 개시의 일 실시예에 따른 비대칭 동작 운동 및 유지 동작 운동에서 제1 프레임 구간을 식별하는 방법을 설명하기 위한 도면이다.
도 8은 본 개시의 일 실시예에 따른 비대칭 동작 운동 및 비유지 동작 운동에서 제1 프레임 구간을 식별하는 방법을 설명하기 위한 도면이다.
도 9는 본 개시의 일 실시예에 따른 비유지 동작 운동에서 운동 매 횟수 사이의 간격이 설정값을 초과하는지 여부를 식별하는 방법을 설명하기 위한 도면이다.
도 10은 본 개시의 일 실시예에 따른 전자 장치가 운동 동작에 대한 정보를 제공하는 방법을 설명하기 위한 도면이다.
도 11은 본 개시의 일 실시예에 따른 전자 장치가 운동 동작에 대한 정보를 제공하는 방법을 설명하기 위한 도면이다.
도 12는 본 개시의 일 실시예에 따른 전자 장치의 제어 방법을 설명하기 위한 흐름도이다.
본 실시 예들은 다양한 변환을 가할 수 있고 여러 가지 실시 예를 가질 수 있는 바, 특정 실시 예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나 이는 특정한 실시 형태에 대해 범위를 한정하려는 것이 아니며, 본 개시의 실시 예의 다양한 변경(modifications), 균등물(equivalents), 및/또는 대체물(alternatives)을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다.
본 개시를 설명함에 있어서, 관련된 공지 기능 혹은 구성에 대한 구체적인 설명이 본 개시의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그에 대한 상세한 설명은 생략한다.
덧붙여, 하기 실시 예는 여러 가지 다른 형태로 변형될 수 있으며, 본 개시의 기술적 사상의 범위가 하기 실시 예에 한정되는 것은 아니다. 오히려, 이들 실시 예는 본 개시를 더욱 충실하고 완전하게 하고, 당업자에게 본 개시의 기술적 사상을 완전하게 전달하기 위하여 제공되는 것이다.
본 개시에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 권리범위를 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.
본 개시에서, "가진다," "가질 수 있다," "포함한다," 또는 "포함할 수 있다" 등의 표현은 해당 특징(예: 수치, 기능, 동작, 또는 부품 등의 구성요소)의 존재를 가리키며, 추가적인 특징의 존재를 배제하지 않는다.
본 개시에서, "A 또는 B," "A 또는/및 B 중 적어도 하나," 또는 "A 또는/및 B 중 하나 또는 그 이상"등의 표현은 함께 나열된 항목들의 모든 가능한 조합을 포함할 수 있다. 예를 들면, "A 또는 B," "A 및 B 중 적어도 하나," 또는 "A 또는 B 중 적어도 하나"는, (1) 적어도 하나의 A를 포함, (2) 적어도 하나의 B를 포함, 또는 (3) 적어도 하나의 A 및 적어도 하나의 B 모두를 포함하는 경우를 모두 지칭할 수 있다.
본 개시에서 사용된 "제1," "제2," "첫째," 또는 "둘째,"등의 표현들은 다양한 구성요소들을, 순서 및/또는 중요도에 상관없이 수식할 수 있고, 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 뿐 해당 구성요소들을 한정하지 않는다.
어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "(기능적으로 또는 통신적으로) 연결되어((operatively or communicatively) coupled with/to)" 있다거나 "접속되어(connected to)" 있다고 언급된 때에는, 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결되거나, 다른 구성요소(예: 제3 구성요소)를 통하여 연결될 수 있다고 이해되어야 할 것이다.
반면에, 어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 상기 어떤 구성요소와 상기 다른 구성요소 사이에 다른 구성요소(예: 제3 구성요소)가 존재하지 않는 것으로 이해될 수 있다.
본 개시에서 사용된 표현 "~하도록 구성된(또는 설정된)(configured to)"은 상황에 따라, 예를 들면, "~에 적합한(suitable for)," "~하는 능력을 가지는(having the capacity to)," "~하도록 설계된(designed to)," "~하도록 변경된(adapted to)," "~하도록 만들어진(made to)," 또는 "~를 할 수 있는(capable of)"과 바꾸어 사용될 수 있다. 용어 "~하도록 구성된(또는 정된)"은 하드웨어적으로 "특별히 설계된(specifically designed to)"것만을 반드시 의미하지 않을 수 있다.
대신, 어떤 상황에서는, "~하도록 구성된 장치"라는 표현은, 그 장치가 다른 장치 또는 부품들과 함께 "~할 수 있는" 것을 의미할 수 있다. 예를 들면, 문구 "A, B, 및 C를 수행하도록 구성된(또는 설정된) 프로세서"는 해당 동작을 수행하기 위한 전용 프로세서(예: 임베디드 프로세서), 또는 메모리 장치에 저장된 하나 이상의 소프트웨어 프로그램들을 실행함으로써, 해당 동작들을 수행할 수 있는 범용 프로세서(generic-purpose processor)(예: CPU 또는 application processor)를 의미할 수 있다.
실시 예에 있어서 '모듈' 혹은 '부'는 적어도 하나의 기능이나 동작을 수행하며, 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다. 또한, 복수의 '모듈' 혹은 복수의 '부'는 특정한 하드웨어로 구현될 필요가 있는 '모듈' 혹은 '부'를 제외하고는 적어도 하나의 모듈로 일체화되어 적어도 하나의 프로세서로 구현될 수 있다.
한편, 도면에서의 다양한 요소와 영역은 개략적으로 그려진 것이다. 따라서, 본 발명의 기술적 사상은 첨부한 도면에 그려진 상대적인 크기나 간격에 의해 제한되지 않는다.
이하에서는 첨부한 도면을 참고하여 본 개시에 따른 실시 예에 대하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다.
도 1은 본 개시의 일 실시예에 따른 전자 장치의 구성을 설명하기 위한 블록도이다.
도 1을 참조하면, 전자 장치(100)는 메모리(110) 및 프로세서(120)를 포함할 수 있다.
메모리(110)는 전자 장치(100)의 적어도 하나의 다른 구성요소에 관계된 적어도 하나의 인스트럭션(instruction) 또는 데이터를 저장할 수 있다. 특히, 메모리(110)는 비휘발성 메모리, 휘발성 메모리, 플래시 메모리(flash-memory), 하드디스크 드라이브(Hard-Disk Drive, HDD) 또는 솔리드 스테이트 드라이브 (Solid State Drive, SDD) 등으로 구현될 수 있다. 메모리(110)는 프로세서(120)에 의해 액세스(access)되며, 프로세서(120)에 의한 데이터의 독취/기록/수정/삭제/갱신 등이 수행될 수 있다.
본 개시에서 메모리라는 용어는 메모리(110), 프로세서(120) 내의 롬(미도시), 램(미도시) 또는 전자 장치(100)에 장착되는 메모리 카드(미도시)(예를 들어, micro SD 카드, 메모리 스틱)를 포함할 수 있다.
상술한 바와 같이, 메모리(110)는 적어도 하나의 인스트럭션을 저장할 수 있다. 여기에서, 인스트럭션은 전자 장치(100)를 제어하기 위한 것일 수 있다. 가령, 메모리(110)에는 동영상 내 사람의 운동 동작에 대한 정보 제공 기능과 관련된 인스트럭션이 저장될 수 있다. 구체적으로, 메모리(110)는 본 개시에 따른 동영상 내 사람의 운동 동작에 대한 정보를 제공하기 위한 복수의 구성(또는 모듈)을 포함할 수 있으며, 이에 대해서는 후술하도록 한다.
프로세서(120)는 메모리(110)와 전기적으로 연결되어 전자 장치(100)의 전반적인 동작 및 기능을 제어할 수 있다. 프로세서(120)는 메모리(110)와 전기적으로 연결되어 전자 장치(100)의 전반적인 동작 및 기능을 제어할 수 있다. 특히, 프로세서(120)는 동영상에 포함된 사람의 운동 동작에 대한 정보를 제공할 수 있다. 구체적으로, 도 1에 도시된 바와 같이, 프로세서(120)는 동영상 획득 모듈(10), 운동 패턴 정보 획득 모듈(20), 운동 특성 정보 획득 모듈(30), 제1 프레임 구간 식별 모듈(40) 및 정보 제공 모듈(50)을 포함할 수 있으며, 각각의 모듈은 메모리(110)에 저장될 수 있다.
그리고, 동영상 내 사람의 운동 동작에 대한 정보를 제공하기 위해 복수의 모듈(10 내지 50)들이 프로세서(120)에 포함된 메모리(예로, 휘발성 메모리)에 로딩될 수 있다. 즉, 프로세서(120)는 복수의 모듈(10 내지 50)들을 비휘발성 메모리에서 휘발성 메모리로 로딩하여 복수의 모듈(10 내지 50)의 각 가능들을 실행할 수 있다. 로딩(loading)이란, 프로세서(120)가 액세스할 수 있도록 비휘발성 메모리에 저장된 데이터를 휘발성 메모리에 불러들여 저장하는 동작을 의미한다.
본 개시에 따른 일 실시 예로, 도 1에 도시된 바와 같이 메모리(110)에 저장된 복수의 모듈(10 내지 50)을 통해 운동 동작에 대한 정보가 제공될 수 있으나, 이에 한정되지 않고, 전자 장치(100)와 연결된 외부 장치를 통해 구현될 수 있다.
본 개시에 따른 복수의 모듈(10 내지 50)은 각각의 소프트웨어로 구현될 수 있으나, 이에 한정되지 않고 일부 모듈은 하드웨어와 소프트웨어의 결합으로 구현될 수 있다. 또 다른 실시 예로, 복수의 모듈(10 내지 50)은 하나의 소프트웨어로 구현될 수 있다. 또한, 일부 모듈은 전자 장치(100) 내에서 구현되고, 다른 일부 모듈은 외부 장치에서 구현될 수 있다.
동영상 획득 모듈(10)은 사람의 운동 동작을 촬영한 동영상을 획득하기 위한 구성이다.
구체적으로, 동영상 획득 모듈(10)은 원본 동영상을 획득할 수 있다. 여기서, 원본 동영상은 사람의 준비 동작, 운동 동작 및 운동 정리 동작을 포함하는 동영상일 수 있으며, 동영상은 원본 동영상에서 사람의 운동 동작에 대응되는 구간의 프레임만 추출된 동영상일 수 있다.
일 실시 예로, 동영상 획득 모듈(10)은 전자 장치(100)에 포함된 카메라 또는 센서를 통해 원본 동영상을 획득하거나, 외부 장치 또는 외부 서버를 통해 원본 동영상을 획득할 수 있다. 일 예로, 전자 장치(100)가 카메라 또는 센서를 포함하는 장치인 경우, 전자 장치(100)는 카메라 또는 센서를 통해 사람을 촬영하여 원본 동영상을 획득할 수 있다. 일 예로, 전자 장치(100)가 서버로 구현되는 경우, 전자 장치(100)는 카메라 또는 센서를 포함하는 외부 장치로부터 원본 동영상을 수신할 수 있다.
그리고, 동영상 획득 모듈(10)은 복수의 운동 동작을 포함하는 복수의 동영상이 저장된 운동 DB(Data Base)를 바탕으로, 원본 동영상에 포함된 복수의 프레임 중 사람의 운동 동작에 대응되는 프레임을 추출하여 동영상을 획득할 수 있다.
여기서, 운동 DB는 다양한 운동 동작을 포함하는 동영상이 저장된 데이터 베이스일 수 있다. 운동 DB에는 다양한 운동 동작을 수행하는 특정 사람이 다양한 각도에서 촬영된 동영상이 저장될 수 있다. 운동 DB는 운동 동작을 포함하는 동영상이 저장되어 있을 수 있으나, 이에 한정되지 않고, 운동 동작에 대응되는 특정 이미지가 저장될 수도 있다.
즉, 동영상 획득 모듈(10)은 원본 동영상에서 사람의 준비 동작 구간 및 운동 정리 구간을 제외하여 운동 동작 구간만을 포함하는 동영상을 획득할 수 있다. 구체적으로, 동영상 획득 모듈(10)은 운동 DB에 포함된 사람의 운동 동작과 원본 동영상을 비교하여 유사한 프레임만을 남기고, 나머지 프레임(예로, 준비 동작 및 운동 정리 동작에 대응되는 프레임)은 잘라내어 동영상을 획득할 수 있다.
운동 패턴 정보 획득 모듈(20)은 동영상에 포함된 사람의 운동 동작에 대한 패턴 정보를 획득하기 위한 구성이다. 본 개시에 따른, 패턴 정보는 사람의 운동 동작에 대한 속도 정보, 주기 정보, 횟수 정보 등을 포함할 수 있다.
구체적으로, 운동 패턴 정보 획득 모듈(20)은 동영상에 대한 이미지 분석(예로, pose estimation)을 수행하여, 동영상의 복수의 프레임으로부터 사람 및 사람의 포즈 데이터를 식별할 수 있다. 여기서, 포즈 데이터는 동영상에 포함된 사람의 특정 신체부위(예로, 팔꿈치, 어깨, 무릎 등 관절 부위)를 추적하여 사람 관절의 움직임을 식별할 수 있는 데이터이다. 일 예로, 운동 패턴 정보 획득 모듈(20)은 동영상의 사람의 특정 신체 부위 각각을 키포인트로 식별하고, 식별된 키포인트들의 움직임을 식별함으로 포즈 데이터를 획득할 수 있다. 일 예로, 운동 패턴 정보 획득 모듈(20)은 포즈 데이터를 식별할 수 있는 pose estimation 신경망 모델에 동영상을 입력하여 포즈 데이터를 획득할 수 있다. 그리고, 운동 패턴 정보 획득 모듈(20)은 획득된 포즈 데이터를 분석하여, 동영상의 복수의 프레임에 대응하는 운동 패턴 정보(예로, 속도 정보, 주기 정보, 횟수 정보 등)를 획득할 수 있다.
운동 특성 정보 획득 모듈(30)은 동영상에 포함된 사람의 운동 동작을 인식하여 인식된 운동 동작에 대응하는 운동 특성 정보를 획득하기 위한 구성이다. 여기서 운동 특성 정보는 사람의 운동 동작이 대칭 동작 및 유지 동작인지에 대한 정보일 수 있다.
본 개시에 따른, 대칭 동작이란 한 가지 동작을 수행하는 동작으로, 예로, 푸쉬업 운동, 스쿼트 운동, 플랭크 운동이 대칭 동작에 포함될 수 있다. 그리고, 비대칭 동작이란, 두 가지 이상의 동작을 수행하는 동작으로, 예로, 런지 운동, 한손 플랭크 운동이 비대칭 동작에 포함될 수 있다.
그리고, 본 개시에 따른, 유지 동작이란 특정 동작을 특정 시간 동안 유지하는 동작으로, 예로, 플랭크 운동, 한손 플랭크 운동이 유지 동작에 포함될 수 있다. 그리고, 비유지 동작이란 특정 동작을 특정 시간 유지 없이 반복하는 동작으로, 예로, 푸쉬업 운동, 스쿼트 운동이 비유지 동작에 포함될 수 있다.
일 실시 예로, 운동 특성 정보 획득 모듈(30)은 대칭 동작인지 여부를 식별하기 위한 제1 신경망 모델 및 유지 동작인지 여부를 식별하기 위한 제2 신경망 모델을 이용하여, 동영상에 포함된 사람의 운동 동작이 대칭 동작 및 유지 동작인지 여부를 식별할 수 있다.
제1 신경망 모델은 사람의 운동 동작이 대칭 동작인지 여부를 식별하기 위한 구성으로, 구체적으로, 사람의 운동 동작을 촬영한 학습 동영상을 입력 데이터로, 해당 학습 동영상에 대응하는 사람의 운동 동작이 대칭 동작인지 여부(False / True)에 대한 정보를 출력 데이터로 하여 학습이 수행될 수 있다. 그리고, 운동 특성 정보 획득 모듈(30)은 학습이 수행된 제1 신경망 모델에 동영상의 적어도 하나의 프레임을 입력하여, 동영상 내 사람의 운동 동작이 대칭 동작인지 또는 비대칭 동작인지 여부를 식별할 수 있다.
제2 신경망 모델은 사람의 운동 동작이 유지 동작인지 여부를 식별하기 위한 구성으로, 사람의 운동 동작을 포함하는 학습 동영상을 입력 데이터로, 해당 학습 동영상에 대응하는 사람의 운동 동작이 유지 동작인지 여부(False / True)에 대한 정보를 출력 데이터로 하여 학습이 수행될 수 있다. 그리고, 운동 특성 정보 획득 모듈(30)은 학습이 수행된 제2 신경망 모델에 동영상을 입력하여, 동영상 내 사람의 운동 동작이 유지 동작인지 또는 비유지 동작인지 여부를 식별할 수 있다.
일 예로, 동영상 내 사람의 운동 동작이 플랭크 운동 동작인 경우, 운동 특성 정보 획득 모듈(30)은 제1 신경망 모델에 동영상의 적어도 하나의 프레임을 입력하여 동영상 내 사람의 운동 동작이 대칭 동작인 것으로 식별할 수 있으며, 제2 신경망 모델에 동영상의 적어도 하나의 프레임을 입력하여 동영상 내 사람의 운동 동작이 유지 동작인 것으로 식별할 수 있다. 다만, 동영상 내 사람의 운동 동작이 한손 플랭크 운동 동작인 경우, 운동 특성 정보 획득 모듈(30)은 제1 신경망 모델에 동영상의 적어도 하나의 프레임을 입력하여 동영상 내 사람의 운동 동작이 비대칭 동작인 것으로 식별할 수 있으며, 제2 신경망 모델에 동영상의 적어도 하나의 프레임을 입력하여 동영상 내 사람의 운동 동작이 유지 동작인 것으로 식별할 수 있다.
일 예로, 동영상 내 사람의 운동 동작이 런지 운동 동작인 경우, 운동 특성 정보 획득 모듈(30)은 제1 신경망 모델에 동영상의 적어도 하나의 프레임을 입력하여 동영상 내 사람의 운동 동작이 비대칭 동작인 것으로 식별할 수 있으며, 제2 신경망 모델에 동영상의 적어도 하나의 프레임을 입력하여 동영상 내 사람의 운동 동작이 비유지 동작인 것으로 식별할 수 있다.
상술한 실시 예에서는, 두 개의 신경망 모델(제1 신경망 모델 및 제2 신경망 모델)을 통해 운동 특성 정보를 획득하는 것으로 설명하였으나, 본 개시는 이에 한정되지 않고, 하나의 신경망 모델 또는 세 개 이상의 신경망 모델을 통해 운동 특성 정보를 획득 수 있다. 일 예로, 하나의 신경망 모델을 이용하는 경우, 운동 특성 정보 획득 모듈(30)은 동영상의 적어도 하나의 프레임을 신경망 모델에 입력하여, 동영상 내 사람의 운동 동작이 대칭 동작인지 또는 비대칭 동작인지 여부 및 유지 동작인지 또는 비유지 동작인지 여부를 식별할 수 있다.
제1 프레임 구간 식별 모듈(40)은 동영상 내 복수의 프레임 구간 중 기준 상태의 운동 동작에 대응하는 프레임 구간을 식별하기 위한 구성이다. 구체적으로, 제1 프레임 구간 식별 모듈(40)은 동영상에 대한 운동 특성 정보 및 운동 패턴 정보를 바탕으로 동영상에서 기준 상태의 운동 동작에 대응하는 프레임 구간(제1 프레임 구간)을 식별할 수 있다. 즉, 제1 프레임 구간 식별 모듈(40)은 동영상에 대한 운동 특성 정보 및 운동 패턴 정보를 바탕으로, 동영상에 포함된 복수의 프레임 중 사람의 기준 상태의 운동 동작에 대응하는 프레임 구간을 제1 프레임 구간으로 식별할 수 있다.
일 예로, 기준 상태의 운동 동작에 대응하는 프레임 구간은 동영상에 포함된 프레임 중 사람의 초기 운동 동작에 대응하는 프레임 구간일 수 있으나, 동영상 내 사람의 운동 동작이 대칭 동작 또는 비대칭 동작인지 및 유지 동작 또는 비 유지 동작인지에 따라, 각각 상이하게 식별될 수 있다.
동영상내 사람의 운동 동작이 대칭 동작 및 유지 동작이면, 제1 프레임 구간 식별 모듈(40)은 동영상 중 시작 프레임으로부터 제1 시간까지의 구간을 제1 프레임 구간에 대응되는 프레임으로 식별할 수 있다. 여기서, 제1 시간은 초기 설정된 값일 수 있으나, 이에 한정되지 않고 전자 장치(100)의 사용자에 의해 설정된 값일 수 있다. 일 예로, 동영상 내 사람의 운동 동작이 플랭크 운동 동작인 경우, 운동 특성 정보 획득 모듈(30)은 사람의 운동 동작이 대칭 동작 및 유지 동작인 것으로 식별하고, 제1 프레임 구간 식별 모듈(40)은 동영상 중 시작 프레임으로부터 제1 시간(예로, 5초)까지의 구간을 제1 프레임 구간으로 식별할 수 있다.
동영상 내 사람의 운동 동작이 대칭 동작 및 비유지 동작이면, 제1 프레임 구간 식별 모듈(40)은 운동 패턴 정보를 바탕으로 동영상의 복수의 프레임 각각에 대해 운동 반복 구간을 식별할 수 있다. 즉, 제1 프레임 구간 식별 모듈(40)은 동영상 내 사람 운동 동작에 대한 속도 정보, 주기 정보, 횟수 정보 등을 포함하는 운동 패턴 정보를 바탕으로 동영상 내 사람의 운동 동작 중 1회의 운동 동작에 대응하는 운동 반복 구간을 식별할 수 있다. 일 예로, 동영상 내 사람의 운동 동작이 푸쉬업 운동 동작인 경우, 제1 프레임 구간 식별 모듈(40)은 해당 동영상에 대한 운동 패턴 정보를 바탕으로, 동영상의 복수의 프레임 중 푸쉬업 운동 동작을 1회 수행하는 구간에 대응되는 프레임을 각각 식별할 수 있다. 그리고, 운동 동작 식별 모듈(40)은 식별된 운동 반복 구간을 바탕으로, 동영상의 시작 프레임으로부터 제1 횟수(예로, n회)의 운동 반복 구간에 대응하는 프레임까지의 구간을 제1 프레임 구간에 대응되는 프레임으로 식별할 수 있다. 여기서, 제1 횟수는 초기 설정된 횟수일 수 있으나, 이에 한정되지 않고 전자 장치(100)의 사용자에 의해 설정된 횟수일 수 있다. 예로, 동영상 내 사람의 운동 동작이 푸쉬업 운동 동작인 경우, 제1 프레임 구간 식별 모듈(40)은 동영상의 시작 프레임으로부터 제1 횟수(예로, 5회)의 푸쉬업 동작이 수행되는 프레임까지의 구간을 제1 프레임 구간으로 식별할 수 있다.
동영상 내 사람의 운동 동작이 비대칭 동작 및 유지 동작이면, 제1 프레임 구간 식별 모듈(40)은 운동 패턴 정보를 바탕으로 동영상의 프레임 중 처음 제1 대칭 운동 동작이 시작되는 프레임으로부터 제2 시간(예로, m초)까지의 구간 및 처음 제2 대칭 운동 동작이 시작되는 프레임으로부터 제2 시간(예로, m초)까지의 구간에 대응하는 프레임을 제1 프레임 구간으로 식별할 수 있다.
구체적으로, 동영상 내 사람의 운동 동작이 비대칭 동작 및 유지 동작이면, 제1 프레임 구간 식별 모듈(40)은 동영상 내 사람의 운동 동작에 대한 속도 정보, 주기 정보, 횟수 정보 등을 포함하는 운동 패턴 정보를 바탕으로 동영상에 포함된 운동 동작 중 제1 대칭 운동 동작에 대응되는 제1 운동 구간 및 제2 대칭 운동 동작에 대응되는 제2 운동 구간을 각각 식별할 수 있다.
일 예로, 동영상 내 사람의 운동 동작이 한손 플랭크 운동 동작에 대한 동영상인 경우, 제1 프레임 구간 식별 모듈(40)은 운동 패턴 정보를 바탕으로 동영상 내 사람의 운동 동작 중 오른손을 바닥에 지지하며 수행하는 플랭크 운동 동작을 제1 대칭 운동 동작으로 식별하고, 왼손을 바닥에 지지하며 수행하는 플랭크 운동 동작을 제2 대칭 운동 동작으로 식별할 수 있다. 그리고, 운동 동작 식별 모듈(40)은 동영상에서 제1 대칭 운동 동작에 대응되는 제1 운동 구간의 프레임 및 제2 대칭 운동 동작에 대응되는 제2 운동 구간의 프레임을 식별할 수 있다.
그리고, 운동 동작 식별 모듈(40)은 동영상의 복수의 프레임 중 제1 대칭 운동 동작이 처음 시작되는 프레임으로부터 제2 시간(예로, 3초)까지의 구간 및 제2 대칭 운동 동작이 처음 시작되는 프레임으로부터 제2 시간(예로, 3초)까지의 구간에 대응하는 프레임을 제1 프레임 구간으로 식별할 수 있다.
동영상 내 사람의 운동 동작이 비대칭 동작 및 비유지 동작이면, 제1 프레임 구간 식별 모듈(40)은 운동 패턴 정보를 바탕으로 동영상의 복수의 프레임 중 제1 대칭 운동 동작 및 제2 대칭 운동 동작에 대응하는 프레임 구간을 각각 식별할 수 있다. 그리고, 제1 프레임 구간 식별 모듈(40)은 동영상의 복수의 프레임 중 시작 프레임으로부터 제2 횟수의 제1 대칭 운동 동작에 대응하는 프레임 및 제2 횟수의 제2 대칭 운동 동작에 대응하는 프레임을 제1 프레임 구간으로 식별할 수 있다. 여기서, 제2 횟수는 초기 설정된 횟수일 수 있으나, 이에 한정되지 않고 전자 장치(100)의 사용자에 의해 설정된 횟수일 수 있다.
일 예로, 동영상 내 사람의 운동 동작이 런지 운동 동작인 경우, 제1 프레임 구간 식별 모듈(40)은 운동 패턴 정보를 바탕으로 동영상의 복수의 프레임 중 사람의 오른발이 앞으로 구부러지는 제1 대칭 운동 동작에 대응하는 프레임 및 사람의 왼발이 앞으로 구부러지는 제2 운동 대칭 운동 동작에 대응하는 프레임을 각각 식별할 수 있다. 그리고, 제1 프레임 구간 식별 모듈(40)은 동영상 내 복수의 프레임 중 제2 횟수의 제1 대칭 운동 동작이 수행되는 프레임 및 제2 횟수의 제2 대칭 운동 동작이 수행되는 프레임을 제1 프레임 구간으로 식별할 수 있다.
일 예로, 동영상 내 사람이 제1 대칭 운동 동작 및 제2 대칭 운동 동작을 각 1회씩 번갈아가며 수행하는 경우(제1 대칭 운동 동작 먼저 수행), 제1 프레임 구간 식별 모듈(40)은 동영상의 시작 프레임으로부터 제2 대칭 운동 동작이 처음 제2 횟수 수행되는 프레임까지의 구간을 제1 프레임 구간으로 식별할 수 있다.
일 예로, 동영상 내 사람이 제1 대칭 운동 동작을 특정 횟수 수행한 이후, 제2 대칭 운동 동작을 특정 횟수 수행하는 경우, 제1 프레임 구간 식별 모듈(40)은 동영상의 시작 프레임으로부터 제1 대칭 운동 동작이 제2 횟수 수행되는 구간의 프레임 및 제2 대칭 운동 동작이 처음 시작되는 프레임으로부터 제2 대칭 운동 동작이 제2 횟수 수행되는 프레임까지의 구간을 제1 프레임 구간으로 식별할 수 있다.
정보 제공 모듈(50)은 제1 프레임 구간과 동영상 내 현재 구간의 사람이 수행 중인 운동 동작을 비교하여 운동 동작에 대한 정보를 제공하기 위한 구성이다.
구체적으로, 정보 제공 모듈(50)은 제1 프레임 구간 식별 모듈(40)을 통해 식별된 제1 프레임 구간에 대한 운동 패턴 정보와, 현재 프레임인 제2 프레임 구간에 대한 운동 패턴 정보의 차이값을 식별할 수 있다.
본 개시에 따른, 제2 프레임 구간은 동영상이 재생 중인 경우, 현재 재생 중인 프레임으로부터 기 설정 간격의 구간의 프레임일 수 있다.
일 예로, 동영상 내 사람의 운동 동작이 유지 동작인 경우, 제2 프레임 구간은 운동 DB에 저장되어 있는 유지 동작 동영상 내 사람의 1회 유지 구간의 10%의 구간일 수 있다. 즉, 운동 DB에 저장되어 있는 유지 동작 동영상 내 사람의 1회 유지 구간이 1분인 경우, 유지 동작에 대응하는 제2 프레임 구간은 6초일 수 있다.
일 예로, 동영상 내 사람의 운동 동작이 대칭 동작인 경우, 제2 프레임 구간은 운동 DB에 저장되어 있는 대칭 동작 동영상 내 사람이 평균 3회 반복 시 필요한 시간 구간일 수 있으며, 일 예로, 3초일 수 있다.
정보 제공 모듈(50)은 제1 프레임 구간에 대한 운동 패턴 정보와 제2 프레임 구간에 대한 운동 패턴 정보를 비교하기 위한 Distance 알고리즘을 이용하여 두 운동 패턴 정보의 차이 값을 식별할 수 있다. 일 예로, 정보 제공 모듈(50)은 운동 패턴 정보 포함된 복수의 키포인트를 벡터로 변환하고, 변환된 벡터들 간의 가장 가까운 벡터를 식별하여 운동 패턴 정보를 비교하는 Cosine Distance 알고리즘을 이용하여 두 운동 패턴 정보의 차이값을 식별할 수 있다.
그리고, 정보 제공 모듈(50)은 제1 프레임 구간에 대한 운동 패턴 정보와, 제2 프레임 구간에 대한 운동 패턴 정보의 차이값이 기 설정 값 이상인 경우, 체력 고갈 상태인 것으로 식별할 수 있다. 일 예로, 기 설정 값은 동영상 내 사람이 수행 중인 운동 동작에 대응하는 운동 특성 정보에 따라 각각 상이하게 설정될 수 있다.
그리고, 체력 고갈 상태인 것으로 식별되면, 정보 제공 모듈(50)은 제2 프레임 구간에 대한 정보를 제공할 수 있다. 여기서, 제2 프레임 구간에 대한 정보는 제2 프레임 구간 내 사람의 운동 동작을 가이드하기 위한 정보를 포함할 수 있으며, 일 예로, 사람의 운동 동작이 플랭크 운동 동작인 경우 “엉덩이를 더 들어 주세요”와 같은 메시지 정보일 수 있다.
일 예로, 전자 장치(100)가 디스플레이를 포함하는 경우, 정보 제공 모듈(50)은 전자 장치(100)의 디스플레이 상에 제2 프레임 구간에 대한 정보를 포함하는 UI를 표시할 수 있다. 일 예로, 전자 장치(100)가 스피커를 포함하는 경우, 정보 제공 모듈(50)은 스피커를 통해 제2 프레임 구간에 대한 정보를 포함하는 음성을 출력할 수 있다.
다만, 본 개시는 이에 한정되지 않고, 제1 프레임 구간에 대한 운동 패턴 정보와, 제2 프레임 구간에 대한 운동 패턴 정보의 차이값이 기 설정 값 미만인 경우에도, 제2 프레임 구간에 대한 정보를 제공할 수 있다. 이 경우, 정보 제공 모듈(50)은 제2 프레임 구간의 운동 동작이 잘 수행되고 있음을 알리는 메시지 정보를 제공할 수 있다.
종래에는 사전 학습을 통해 사람의 운동 동작 자세에 대응되는 체력 정보를 획득하고, 체력 정보를 바탕으로 현재 운동 동작에 대한 피드백을 제공할 수 있었다. 이러한, 체력 정보를 획득하기 위해 종래에는 모든 운동 동작 각각에 대응되는 운동 동작 자세를 사전 학습시켜야 되어 사전 학습에 소요되는 비용이 과도한 문제점이 있었다. 이에, 본 개시에 따른 전자 장치(100)는 상술한 실시 예들을 바탕으로, 운동 동작 자세 각각의 체력 정보에 대한 사전 학습 없이도 실시간으로 사람의 운동 동작에 대한 정보를 제공할 수 있다.
도 2a 및 도 2b는 본 개시의 일 실시 예에 따른, 동영상 내 사람의 운동 동작에 대한 정보를 제공하기 위한 전자 장치(100)의 동작을 설명하기 위한 흐름도이다.
도 2a를 참조하면, 전자 장치(100)는 동영상을 획득할 수 있다(S201). 구체적으로, 동영상은 전자 장치(100)가 획득하는 원본 동영상의 복수의 프레임 중에서 사람의 운동 동작에 대응되는 구간의 프레임만 추출된 동영상일 수 있다.
이에 대해서는 도 3을 참조하여 자세히 설명하도록 한다.
구체적으로, 전자 장치(100)는 사람의 운동 동작과 관련된 원본 동영상을 획득할 수 있다(S310).
그리고, 전자 장치(100)는 원본 동영상에서 이상치(outlier) 분석을 통해 이상치를 제거하고 운동 동작과 관련된 동영상을 획득할 수 있다. 이 때, 이상치란 주어진 데이터의 일반적 특성에서 벗어난 데이터를 의미할 수 있다. 이 때, 전자 장치(100)는 이상치 분석을 통해 이상치를 식별하고, 이를 원본 동영상에서 제거할 수 있다.
예를 들어, 원본 동영상은 운동 동작 구간, 운동 동작과 관련된 준비 운동 동작 구간 및 운동 정리 구간을 포함할 수 있다. 이 때, 전자 장치(100)는 이상치 분석을 통해 원본 동영상에 포함된 운동 동작 구간 및 운동 정리 구간에 대한 프레임을 제거하고, 운동 동작 구간을 포함하는 동영상을 획득할 수 있다.
즉, 전자 장치(100)는 사람의 운동 동작과 관련된 원본 동영상을 운동 DB에 포함된 운동 동작과 비교하여 운동 DB에 포함된 운동 동작과 유사한 정도를 산출하고, 유사한 정도가 기설정된 값 이상인 프레임만을 포함하는 동영상을 획득할 수 있다(S320). 이 때, 전자 장치(100)는 시계열 데이터의 패턴을 비교할 수 있는 알고리즘(예로, Dynamic Time Warping)을 이용하여 원본 동영상과 운동 DB에 포함된 운동 동작을 비교할 수 있다.그리고, 전자 장치(100)는 동영상을 바탕으로, 운동 패턴 정보를 획득할 수 있다(S202). 구체적으로, 전자 장치(100)는 동영상에 대한 이미지 분석(예로, pose estimation)을 수행하여, 동영상 내 사람의 포즈 데이터를 획득할 수 있다. 그리고, 운동 패턴 정보 획득 모듈(20)은 획득된 포즈 데이터를 분석하여, 사람의 운동 동작에 대한 패턴 정보(예로, 속도 정보, 주기 정보, 횟수 정보 등)를 획득할 수 있다.
이 때, 전자 장치(100)는 포즈 데이터를 분석하기 위한 사용자 입력을 사용자로부터 획득할 수 있다. 예를 들어, 운동 DB에 포함된 운동 동작을 수행하는 사람의 체형과 원본 동영상에 포함된 사용자의 체형은 상이할 수 있다. 이 때, 체형에 대한 차이에 따라 정확한 포즈 데이터를 획득하기 어려운 문제가 발생할 수 있다.
이에 따라, 전자 장치(100)는 운동 DB에 포함된 운동 동작을 수행하는 사람의 신체 체형에 대한 정보를 입력받기 위한 UI를 디스플레이를 통해 제공할 수 있으며, 제공된 UI를 통해 신체 체형에 대한 정보를 사용자로부터 입력받을 수 있다. 또는, 전자 장치(100)는 동영상에 포함된 사람의 체형에 대한 정보를 입력받기 위한 UI를 디스플레이를 통해 제공할 수 있으며, 제공된 UI를 통해 신체 체형에 대한 정보를 사용자로부터 입력받을 수 있다. 이 때, 체형은 키, 체중, 성별 등을 의미할 수 있다.
그리고, 전자 장치(100)는 동영상을 바탕으로, 운동 특성 정보를 획득할 수 있다(S203). 운동 특성 정보는 동영상 내 사람의 운동 동작이 대칭 동작인지 및 유지 동작인지에 대한 정보를 포함할 수 있다. 구체적으로, 전자 장치(100)는 대칭 동작인지 여부를 식별하기 위한 제1 신경망 모델 및 유지 동작인지 여부를 식별하기 위한 제2 신경망 모델을 이용하여, 동영상에 포함된 운동 동작이 대칭 동작 및 유지 동작인지 여부를 식별할 수 있다.
그리고, 전자 장치(100)는 운동 동작이 대칭 동작 운동인지 여부를 식별할 수 있다(S204).
운동 동작이 대칭 동작 운동이면(S204-Y), 전자 장치(100)는 운동 동작이 유지 동작인지 여부를 식별할 수 있다(S205).
운동 동작이 유지 동작 운동이면(S205-Y), 즉, 운동 동작이 대칭 동작 운동이며, 유지 동작 운동이면, 전자 장치(100)는 유지 구간을 식별할 수 있다(S206). 그리고, 전자 장치(100)는 유지 구간 부분의 앞부분 N초를 제1 프레임 구간으로 식별할 수 있다(S207). 구체적으로, 전자 장치(100)는 운동 패턴 정보를 바탕으로, 동영상 중 운동 동작의 유지 구간을 식별하고, 처음 유지 구간의 시작 프레임으로부터 N초(제1 시간)까지의 구간을 제1 프레임 구간으로 식별할 수 있다.
예를 들어, 운동 동작은 '플랭크'와 같은 대칭 동작 운동이며 유지 동작 운동일 수 있다. 이 때, 동영상 내 사용자의 운동 동작에 대한 정보는 도 4에 도시된 바와 같을 수 있다. 여기서, x축은 시간을 나타내고 y축은 사용자의 움직임에 대한 정보를 나타내고 그래프는 사용자의 움직임에 대한 정보를 나타낼 수 있다. 이 때, 식별된 유지 구간은 제1 구간(410)일 수 있다. 즉, 제1 구간은 대칭 동작 운동이며 유지 동작 운동인 플랭크가 수행중인 구간일 수 있다. 이 때, 전자 장치(100)는 제1 구간 중 최초 N초에 해당하는 제2 구간(420)을 제1 프레임 구간으로 식별할 수 있다.
운동 동작이 대칭 동작 운동이나 운동 동작이 유지 동작이 아니면(S205-N), 즉, 운동 동작이 대칭 동작 운동이며 비 유지 동작 운동이면, 전자 장치(100)는 운동 반복 구간을 식별할 수 있다(S208). 그리고, 전자 장치(100)는 운동 반복 구간 사이의 운동 간격을 획득할 수 있다(S209). 그리고, 전자 장치(100)는 앞부분 Y회를 제1 프레임 구간으로 식별할 수 있다(S210). 구체적으로, 전자 장치(100)는 운동 패턴 정보를 바탕으로 운동 반복 구간을 식별할 수 있다. 즉, 전자 장치(100)는 사람의 운동 동작에 대한 속도 정보, 주기 정보, 횟수 정보 등을 포함하는 운동 패턴 정보를 바탕으로 동영상에 포함된 운동 동작 중 1회의 운동 동작에 대응하는 운동 반복 구간을 식별할 수 있다. 그리고, 전자 장치(100)는 1회의 운동 동작 간의 운동 간격을 획득하고, 처음 운동 동작으로부터 Y횟수(제1 횟수)까지의 구간을 제1 프레임 구간으로 식별할 수 있다.
예를 들어, 운동 동작은 '스쿼트'와 같은 대칭 동작 운동이며 비 유지 동작 운동일 수 있다. 이 때, 동영상 내 사용자의 운동 동작에 대한 정보는 도 5에 도시된 바와 같을 수 있다. 여기서, x축은 시간을 나타내고 y축은 사용자의 움직임에 대한 정보를 나타내고 그래프는 사용자의 움직임에 대한 정보를 나타낼 수 있다. 이 때, 식별된 운동 반복 구간은 제1 구간(510), 제2 구간(520), 제3 구간(530) 및 제4 구간(540)일 수 있다. 이 때, 각 구간은 운동 동작이 1회 수행된 구간일 수 있다. 여기서, Y회가 3회인 경우, 전자 장치(100)는 운동 반복 구간의 최초 3회 구간(510, 520, 530)을 제1 프레임 구간(550)으로 식별할 수 있다.
S207 단계 및 S210 단계를 통해 제1 프레임 구간이 식별되면, 전자 장치(100)는 제1 프레임 구간과 같은 운동 동작을 지속하는지 여부를 식별할 수 있다(S211). 구체적으로, 전자 장치(100)는 제1 프레임 구간의 운동 패턴 정보와 현재 수행 중인 운동 동작(제2 프레임 구간)의 운동 패턴 정보를 비교하여, 현재 수행 중인 운동 동작(제2 프레임 구간의 운동 동작)이 제1 프레임 구간과 동일한 운동 동작인지 여부를 식별할 수 있다.
제1 프레임 구간과 같은 운동 동작을 지속하지 않는 것으로 식별되면(S211-N), 전자 장치(100)는 S202 단계로 돌아가 현재 운동 동작에 대한 운동 패턴 정보를 획득하고 이후의 단계를 수행할 수 있다.
제1 프레임 구간과 같은 운동 동작을 지속하는 것으로 식별되면(S211-Y), 전자 장치(100)는 제1 프레임 구간과 현재 프레임 구간(제2 프레임 구간)의 운동 패턴 정보 차이 값이 제1 설정값(Threshold A)을 초과하는지 여부를 식별할 수 있다(S212). 구체적으로, 전자 장치(100)는 제1 프레임 구간에 대한 운동 패턴 정보와, 현재 프레임 구간(제2 프레임 구간)에 대한 운동 패턴 정보의 차이값을 식별할 수 있다.
제1 프레임 구간과 현재 프레임 구간(제2 프레임 구간)의 운동 패턴 정보의 차이 값이 제1 설정값(Threshold A)을 초과하면, 전자 장치(100)는 동영상 내 사람의 체력이 고갈된 것으로 식별할 수 있다(S227).
제1 프레임 구간과 현재 프레임 구간의 운동 패턴 정보 차이 값이 제1 설정값(Threshold A)을 초과하지 않으면(S212-N), 전자 장치(100)는 제1 프레임 구간에 대응하는 운동 동작이 유지 동작 운동인지 여부를 식별할 수 있다(S213).
제1 프레임 구간에 대응하는 운동 동작이 유지 동작 운동이면(S213-Y), 전자 장치(100)는 S211 단계로 돌아가 현재 제1 프레임 구간과 같은 운동 동작을 지속하는지 여부를 식별할 수 있다(S211).
제1 프레임 구간에 대응하는 운동 동작이 유지 동작 운동이 아니면(S213-N), 즉, 제1 프레임 구간에 대응하는 운동 동작이 비 유지 동작이면, 전자 장치(100)는 운동 매 횟수 사이의 간격을 획득할 수 있다(S214). 그리고, 전자 장치(100)는 운동 매 횟수 사이의 간격이 제2 설정값(Threshold B)을 초과하는지 여부를 식별할 수 있다(S215).
즉, 제1 프레임 구간의 사용자의 운동 자세와 제2 프레임 구간의 사용자의 운동 자세가 차이가 많이 나지 않더라도, 전자 장치(100)는 제1 프레임 구간에서 사용자가 동일한 동작을 수행하는데 소요되는 시간과 제2 프레임 구간에서 사용자가 동일한 동작을 수행하는데 소요되는 시간이 기설정된 설정 값을 초과하는지 여부를 식별할 수 있다.
예를 들어, 운동 동작은 '스쿼트'와 같은 대칭 동작이며 비유지 동작 운동일 수 있다. 이 때, 동영상 내 사용자의 운동 동작에 대한 정보는 도 6에 도시된 바와 같을 수 있다. 여기서 제1 구간(610), 제2 구간(620), 제3 구간(630), 제4 구간(640) 및 제5 구간(650)은 각각 운동 동작을 1회 수행하는 구간일 수 있다. 그리고, 제1 프레임 구간(660)은 최초 구간 중 3회의 구간(610, 620, 630)일 수 있고, 제2 프레임 구간은 제5 구간(650)일 수 있다. 이 때, 제1 구간(610), 제2 구간(620), 제3 구간(630), 제4 구간(640) 및 제5 구간(650)에서 각각 운동 동작을 1회 수행하는데 소요된 시간은 5초, 3초, 4초, 7초 및 8초일 수 있다. 그리고, 제2 설정값은 3초일 수 있다.
이 때, 운동 매 횟수 사이의 간격은 각 구간에서 운동 동작을 1회 수행하는데 소요된 시간을 의미할 수 있다. 또는, 운동 매 횟수 사이의 간격은 직전 운동 동작을 1회 수행하는데 소요되는 시간과의 차이를 의미할 수 있다.
예를 들어, 전자 장치(100)는 제1 프레임 구간(660)에서 운동 동작을 1회 수행하는데 소요된 평균 시간을 제2 프레임 구간(650)에서 운동 동작을 1회 수행하는데 소요된 시간을 비교할 수 있다. 그리고, 전자 장치(100)는 제1 프레임 구간(660)에서 운동 동작을 1회 수행하는데 소요된 평균 시간과 제2 프레임 구간(650)에서 운동 동작을 1회 수행하는데 소요된 시간의 차이를 기설정된 제2 설정값과 비교할 수 있다.
이 때, 제1 프레임 구간(660)에서 운동 동작을 1회 수행하는데 소요된 평균 시간은 5초, 3초 및 4초의 평균 시간인 4초일 수 있다. 그리고, 제2 프레임 구간(650)에서 운동 동작을 1회 수행하는데 소요된 시간은 8초일 수 있다. 이 때, 제1 프레임 구간(660)에서 운동 동작을 1회 수행하는데 소요된 평균 시간과 제2 프레임 구간(650)에서 운동 동작을 1회 수행하는데 소요된 시간의 차이는 4초이고, 제2 설정값은 3초이므로, 전자 장치(100)는 운동 매 횟수 사이의 간격이 제2 설정값을 초과하는 것으로 식별할 수 있다.
또는, 전자 장치(100)는 제1 프레임 구간(660)에서 운동 동작을 1회 수행하는데 소요된 시간 중 최소의 시간과 제2 프레임 구간에서 운동 동작을 1회 수행하는데 소요된 시간의 차이를 제2 설정값과 비교할 수 있다.
예를 들어, 제1 프레임 구간(660)에서 운동 동작을 1회 수행하는데 소요된 시간 중 최소 시간은 3초일 수 있다. 그리고, 제2 프레임 구간(650)에서 운동 동작을 1회 수행하는데 소요된 시간은 8초일 수 있다. 그리고, 제2 설정값은 3초일 수 있다. 이 때, 제1 프레임 구간(660)에서 운동 동작을 1회 수행하는데 소요된 시간 중 최소 시간인 3초와 제2 프레임 구간(650)에서 운동 동작을 1회 수행하는데 소요된 시간인 8초의 차이는 5초이므로, 전자 장치(100)는 운동 매 횟수 사이의 간격이 제2 설정값을 초과하는 것으로 식별할 수 있다.
또는, 전자 장치(100)는 제1 프레임 구간(660)에서 운동 동작을 1회 수행하는데 소요된 시간 중 최대의 시간과 제2 프레임 구간에서 운동 동작을 1회 수행하는데 소요된 시간의 차이를 제2 설정값과 비교할 수 있다. 상술한 방법과 마찬가지로, 전자 장치(100)는 운동 매 횟수 사이의 간격이 제2 설정값을 초과하는지 여부를 식별할 수 있다.
운동 매 횟수 사이의 간격이 제2 설정값(Threshold B)을 초과하지 않으면(S215-N), 전자 장치(100)는 S211 단계로 돌아가 제1 프레임 구간에 대응하는 운동 동작과 같은 운동 동작을 지속하는지 여부를 식별할 수 있다(S211).
운동 매 횟수 사이의 간격이 제2 설정값(Threshold B)을 초과하면(S215-Y), 전자 장치(100)는 동영상 내 사람의 체력이 고갈된 것으로 식별할 수 있다(S227).
그리고, S204 단계에서, 도 2b를 참조하면, 운동 동작이 대칭 동작 운동이 아니면(S204-N), 즉, 운동 동작이 비대칭 동작 운동이면, 전자 장치(100)는 운동 동작이 유지 동작인지 여부를 식별할 수 있다(S216).
운동 동작이 유지 동작 운동이면(S216-Y), 즉, 운동 동작이 비대칭 동작 운동이며, 유지 동작 운동이면, 전자 장치(100)는 유지 구간을 식별할 수 있다(S217). 그리고, 전자 장치(100)는 유지 구간 부분의 앞부분 m초 및 반대쪽 부분 m초를 제1 프레임 구간으로 식별할 수 있다(S218). 구체적으로, 전자 장치(100)는 운동 패턴 정보를 바탕으로 동영상 중 처음 제1 대칭 운동 동작이 시작되는 프레임으로부터 m초(제2 시간)까지의 구간 및 처음 제2 대칭 운동 동작이 시작되는 프레임으로부터 m초(제2 시간)까지의 구간에 대응하는 프레임을 제1 프레임 구간으로 식별할 수 있다.
예를 들어, 운동 동작은 '한 손 플랭크'와 같은 비대칭 동작 운동이며, 유지 동작 운동일 수 있다. 이 때, 동영상 내 사용자의 운동 동작에 대한 정보는 도 7에 도시된 바와 같을 수 있다. 여기서, x축은 시간을 나타내고 y축은 사용자의 움직임에 대한 정보를 나타내고, 그래프는 사용자의 움직임에 대한 정보를 나타낼 수 있다. 여기서, 비대칭 동작 운동은 제1 운동 동작 및 제2 운동 동작으로 구성될 수 있다. 이 때, 식별된 유지 구간의 앞부분(제1 운동 동작 구간)은 제1 구간(710)일 수 있고 유지 구간의 뒷부분(제2 운동 동작 구간)은 제2 구간(720)일 수 있다. 즉, 제1 구간에서의 운동(제1 운동 동작)과 제2 구간에서의 운동(제2 운동 동작)은 비대칭 동작 일 수 있다. 그리고, 전자 장치(100)는 유지 구간의 앞부분 중 m초에 해당하는 제3 구간(730) 및 유지 구간의 뒷부분 중 m초에 해당하는 제4 구간(740)을 제1 프레임 구간으로 식별할 수 있다.
운동 동작이 유지 동작 운동이 아니면(S216-N), 즉, 운동 동작이 비대칭 동작 운동이며, 비유지 동작 운동이면, 전자 장치(100)는 운동 반복 구간을 식별할 수 있다(S219). 그리고, 전자 장치(100)는 운동 반복 구간 사이의 운동 간격을 획득할 수 있다(S220). 그리고, 전자 장치(100)는 앞부분 x회 및 반대쪽 x회를 제1 프레임 구간으로 식별할 수 있다(S221). 구체적으로, 전자 장치(100)는 동영상 중 시작 프레임으로부터 x회(제2 횟수)의 제1 대칭 운동 동작에 대응하는 프레임 및 x회(제2 횟수)의 제2 대칭 운동 동작에 대응하는 프레임을 제1 프레임 구간으로 식별할 수 있다.
예를 들어, 운동 동작은 '런지'와 같은 비대칭 동작 운동이며, 비유지 동작 운동일 수 있다. 이 때, 동영상 내 사용자의 운동 동작에 대한 정보는 도 8에 도시된 바와 같을 수 있다. 여기서, x축은 시간을 나타내고 y축은 사용자의 움직임에 대한 정보를 나타내고, 그래프는 사용자의 움직임에 대한 정보를 나타낼 수 있다. 여기서, 비대칭 운동 동작은 제1 운동 동작 및 제2 운동 동작으로 구성될 수 있다. 이 때, 식별된 운동 반복 구간은 제1 구간(810), 제2 구간(820) 제3 구간(830), 제4 구간(840) 및 제5 구간(850)일 수 있다. 이 때, 제1 운동 동작의 반복 구간은 제1 구간(810), 제3 구간(830) 및 제5 구간(850)일 수 있다. 그리고, 제2 운동 동작의 반복 구간은 제2 구간(820) 및 제4 구간(840)일 수 있다. 여기서, x회가 2회이면, 전자 장치(100)는 제1 운동 동작 구간을 2회 포함하고 제2 운동 동작 구간을 2회 포함하는 제6 구간(860)을 제1 프레임 구간으로 식별할 수 있다.
S218 단계 및 S221 단계를 통해 제1 프레임 구간이 식별되면, 전자 장치(100)는 현재 제1 프레임 구간과 같은 운동 동작을 지속하는지 여부를 식별할 수 있다(S222). 구체적으로, 전자 장치(100)는 제1 프레임 구간의 운동 패턴 정보와 현재 프레임 구간(제2 프레임 구간)의 운동 패턴 정보를 비교하여, 현재 프레임 구간의 운동 동작이 제1 프레임 구간과 동일한 운동 동작인지 여부를 식별할 수 있다.
제1 프레임 구간과 같은 운동 동작을 지속하지 않는 것으로 식별되면(S222-N), 전자 장치(100)는 S202 단계로 돌아가 현재 운동 동작에 대한 운동 패턴 정보를 획득하고 이후의 단계를 수행할 수 있다.
제1 프레임 구간과 같은 운동 동작을 지속하는 것으로 식별되면(S222-Y), 전자 장치(100)는 제1 프레임 구간과 현재 프레임 구간의 운동 패턴 정보 차이 값이 제3 설정값(Threshold C)을 초과하는지 여부를 식별할 수 있다(S223). 구체적으로, 전자 장치(100)는 제1 프레임 구간에 대한 운동 패턴 정보와, 현재 프레임 구간 (제2 프레임 구간)에 대한 운동 패턴 정보의 차이값을 식별할 수 있다.
제1 프레임 구간에 대한 운동 패턴 정보와 현재 프레임 구간 (제2 프레임 구간)에 대한 운동 패턴 정보의 차이 값이 제3 설정값(Threshold C)을 초과하면(S223-Y), 전자 장치(100)는 동영상 내 사람의 체력이 고갈된 것으로 식별할 수 있다(S227).
제1 프레임 구간에 대한 운동 패턴 정보와 현재 프레임 구간 (제2 프레임 구간)에 대한 운동 패턴 정보의 차이 값이 제3 설정값(Threshold C)을 초과하지 않으면(S223-N), 전자 장치(100)는 제1 프레임 구간의 운동 동작이 유지 동작 운동인지 여부를 식별할 수 있다(S224).
제1 프레임 구간의 운동 동작이 유지 동작 운동이면(S224-Y), 전자 장치(100)는 S222 단계로 돌아가 제1 프레임 구간과 같은 운동 동작을 지속하는지 여부를 식별할 수 있다(S222).
제1 프레임 구간의 운동 동작이 유지 동작 운동이 아니면(S224-N), 즉, 제1 프레임 구간의 운동 동작이 비 유지 동작이면, 전자 장치(100)는 운동 매 횟수 사이의 간격을 획득할 수 있다(S225). 그리고, 전자 장치(100)는 운동 매 횟수 사이의 간격이 제4 설정값(Threshold D)을 초과하는지 여부를 식별할 수 있다(S226).
예를 들어, 운동 동작은 '런지'와 같은 비대칭 동작이며 비유지 동작 운동일 수 있다. 여기서, 비대칭 동작은 제1 대칭 운동 동작 및 제2 대칭 운동 동작을 포함할 수 있다. 이 때, 동영상 내 사용자의 운동 동작에 대한 정보는 도 9에 도시된 바와 같을 수 있다. 여기서 제1 구간(911), 제2 구간(912), 제3 구간(913), 제4 구간(914), 제5 구간(915), 제6 구간(916), 제7 구간(917) 및 제8 구간(918)은 각각 제1 대칭 운동 동작 또는 제2 대칭 운동 동작을 1회 수행하는 구간일 수 있다. 그리고, 제1 프레임 구간(960)은 비대칭 동작을 최초 2회 수행한 구간(920)일 수 있고, 제2 프레임 구간은 제9 구간(930)일 수 있다. 이 때, 제1 구간(910), 제2 구간(920), 제3 구간(930), 제4 구간(940) 및 제5 구간(950), 제6구간(960), 제7 구간(917) 및 제8 구간(918)에서 각각 제1 대칭 운동 동작 또는 제2 대칭 운동 동작을 1회 수행하는데 소요된 시간은 각각 5초, 4초, 4초, 3초, 5초, 6초, 7초, 6초 및 8초 일 수 있다. 그리고, 제4 설정값은 3초일 수 있다.
이 때, 운동 매 횟수 사이의 간격은 비대칭 운동 동작을 1회(즉, 제1 대칭 운동 동작 1회 및 제2 대칭 운동 동작 1회) 수행하는데 소요된 시간을 의미할 수 있다.
예를 들어, 전자 장치(100)는 제1 프레임 구간(920)에서 비대칭 운동 동작을 1회 수행하는데 소요된 평균 시간을 제2 프레임 구간(930)에서 비대칭 운동 동작을 1회 수행하는데 소요된 시간을 비교할 수 있다. 그리고, 전자 장치(100)는 제1 프레임 구간(760)에서 비대칭 운동 동작을 1회 수행하는데 소요된 평균 시간과 제2 프레임 구간(750)에서 비대칭 운동 동작을 1회 수행하는데 소요된 시간의 차이를 기설정된 제4 설정값과 비교할 수 있다.
이 때, 제1 프레임 구간(760)에서 비대칭 운동 동작을 1회 수행하는데 소요된 평균 시간은 9초, 7초 및 11초의 평균 시간인 9초일 수 있다. 그리고, 제2 프레임 구간(930)에서 비대칭 운동 동작을 1회 수행하는데 소요된 시간은 15초일 수 있다. 이 때, 제1 프레임 구간(760)에서 운동 동작을 1회 수행하는데 소요된 평균 시간과 제2 프레임 구간(750)에서 운동 동작을 1회 수행하는데 소요된 시간의 차이는 6초이고, 제4 설정값은 3초이므로, 전자 장치(100)는 운동 매 횟수 사이의 간격이 제4 설정값을 초과하는 것으로 식별할 수 있다.
또는, 전자 장치(100)는 제1 프레임 구간(760)에서 비대칭 운동 동작을 1회 수행하는데 소요된 시간 중 최소의 시간과 제2 프레임 구간에서 비대칭 운동 동작을 1회 수행하는데 소요된 시간의 차이를 제4 설정값과 비교할 수 있다.
예를 들어, 제1 프레임 구간(760)에서 비대칭 운동 동작을 1회 수행하는데 소요된 시간 중 최소 시간은 7초일 수 있다. 그리고, 제2 프레임 구간(750)에서 비대칭 운동 동작을 1회 수행하는데 소요된 시간은 15초일 수 있다. 이 때, 제1 프레임 구간(760)에서 비대칭 운동 동작을 1회 수행하는데 소요된 시간 중 최소 시간인 7초와 제2 프레임 구간(750)에서 비대칭 운동 동작을 1회 수행하는데 소요된 시간인 15초의 차이는 8초이므로, 전자 장치(100)는 운동 매 횟수 사이의 간격이 제4 설정값을 초과하는 것으로 식별할 수 있다.
또는, 전자 장치(100)는 제1 프레임 구간(760)에서 운동 동작을 1회 수행하는데 소요된 시간 중 최대의 시간과 제2 프레임 구간에서 운동 동작을 1회 수행하는데 소요된 시간의 차이를 제4 설정값과 비교할 수 있다. 상술한 방법과 마찬가지로, 전자 장치(100)는 운동 매 횟수 사이의 간격이 제4 설정값을 초과하는지 여부를 식별할 수 있다.운동 매 횟수 사이의 간격이 제4 설정값(Threshold D)을 초과하지 않으면(S226-N), 전자 장치(100)는 S222 단계로 돌아가 현재 제1 프레임 구간과 같은 운동 동작을 지속하는지 여부를 식별할 수 있다(S222).
운동 매 횟수 사이의 간격이 제4 설정값(Threshold D)을 초과하면(S226-Y), 전자 장치(100)는 동영상 내 사람의 체력이 고갈된 것으로 식별할 수 있다(S227).
그리고, 동영상 내 사람의 체력이 고갈된 것으로 식별되면, 전자 장치(100)는 운동 동작에 대한 정보를 제공할 수 있다. 이 때, 운동 동작에 대한 정보는 제2 프레임 구간에 대한 정보일 수 있다. 이 때, 제2 프레임 구간에 대한 정보는 제2 프레임 구간 내 사람의 운동 동작을 가이드하기 위한 정보를 포함할 수 있다.
구체적으로, 체력이 고갈된 것으로 식별되면, 전자 장치(100)는 제2 프레임 구간 내 사람의 운동 동작을 가이드하기 위한 정보를 제공할 수 있다. 예를 들어, 사람의 운동 동작이 '스쿼트'인 경우, 전자 장치(100)는 전자 장치(100)에 포함된 스피커를 통해 도 10에 도시된 바와 같이, “가슴을 펴주세요.”와 같은 음성을 제공할 수 있다. 또는, 전자 장치(100)는 사용자의 체력이 고갈되어 운동 동작의 자세가 문제가 생겼다는 정보를 제공하기 위해 알람 소리를 제공할 수 있다.
또는, 전자 장치(100)는 사용자의 운동 동영상을 촬영하는 동안, 촬영되고 있는 동영상을 전자 장치(100)에 포함된 디스플레이를 통해 제공할 수 있다. 이 때, 사용자가 운동을 수행하는 동안 체력이 고갈된 것으로 식별되면, 전자 장치(100)는 디스플레이를 통해 제공되는 화면 내에서 운동 동작의 자세를 가이드하는 정보를 제공할 수 있다.
여기서, 운동 동작의 자세를 가이드하는 정보는 사람의 신체 중 특정 지점을 표시하기 위한
예를 들어, 사람의 운동 동작이 '플랭크'인 경우, 도 11에 도시된 바와 같이, 전자 장치(100)는 디스플레이(1110)를 통해 촬영중인 사람의 운동 동작 영상(1111)을 제공할 수 있다. 이 때, 체력이 고갈된 것으로 식별되면, 전자 장치(100)는 디스플레이(1110)상에서 사용자의 운동 동작을 가이드하기 위한 신체 부위를 특정하기 위한 표시(1120)를 함께 제공할 수 있다. 이 때, 전자 장치(100)는 특정된 신체 부위를 가이드하기 위한 메시지(1130)를 디스플레이(1110)상에 함께 제공할 수 있다.
또는, 전자 장치(100)는 사용자의 운동 동작을 가이드하기 위한 신체 부위를 특정하기 위한 표시(1120)를 디스플레이(1110)를 통해 제공하고, 전자 장치(100)에 포함된 스피커를 통해 사용자의 운동 동작을 가이드하는 음성 정보(예로, “엉덩이가 더 올라가야 합니다”)를 함께 제공할 수 있다.
도 12는 본 개시의 일 실시예에 따른 전자 장치의 제어 방법을 설명하기 위한 도면이다.
전자 장치(100)는 동영상을 획득할 수 있다(S1210). 구체적으로, 전자 장치(100)는 원본 동영상을 획득하고 복수의 운동 동작을 포함하는 복수의 동영상이 저장된 운동 DB(Data Base)를 바탕으로, 원본 동영상에 포함된 복수의 프레임 중 사람의 운동 동작에 대응되는 프레임을 식별하여 동영상을 획득할 수 있다.
그리고, 전자 장치(100)는 동영상의 복수의 프레임으로부터 사람 및 사람의 포즈 데이터를 식별할 수 있다(S1220). 구체적으로, 전자 장치(100)는 포즈 데이터를 식별할 수 있는 신경망 모델에 동영상을 입력하여 포즈 데이터를 획득할 수 있다.
그리고, 전자 장치(100)는 식별된 사람의 포즈 데이터를 이용하여 복수의 프레임에 대응하는 운동 패턴 정보를 획득할 수 있다(S1230). 구체적으로, 전자 장치(100)는 동영상에 포함된 사람의 특정 신체 부위 각각을 키포인트로 식별하고, 식별된 키포인트들의 움직임을 식별하여 포즈 데이터를 획득할 수 있다.
그리고, 전자 장치(100)는 적어도 하나의 신경망 모델에 동영상의 적어도 하나의 프레임을 입력하여 식별된 사람의 운동 동작을 인식하고, 인식된 운동 동작에 대응하는 운동 특성 정보를 획득할 수 있다(S1240). 운동 특성 정보는 사람의 운동 동작이 대칭 동작인지 여부 및 유지 동작인지 여부에 대한 정보일 수 있다.
그리고, 전자 장치(100)는 운동 특성 정보 및 운동 패턴 정보를 바탕으로, 동영상의 복수의 프레임 중 제1 프레임 구간 및 제1 프레임 구간과 상이한 제2 프레임 구간을 식별할 수 있다(S1250). 구체적으로, 사람의 운동 동작이 비대칭 동작 및 비유지 동작이면, 운동 패턴 정보를 바탕으로 동영상의 복수의 프레임에서 제1 대칭 운동 동작 및 제2 대칭 운동 동작에 대응하는 프레임을 각각 식별할 수 있다. 그리고, 동영상의 복수의 프레임 중 시작 프레임으로부터 제2 횟수의 제1 대칭 운동 동작에 대응하는 프레임 및 제2 횟수의 제2 대칭 운동 동작에 대응하는 프레임을 제1 프레임 구간으로 식별할 수 있다.
그리고, 전자 장치(100)는 제1 프레임 구간과 제2 프레임 구간을 비교하여 제2 프레임에 대응하는 운동 동작에 대한 정보를 제공할 수 있다(S1260). 이 때, 운동 동작에 대한 정보는 제2 프레임 구간 내 사람의 운동 동작을 가이드하기 위한 정보일 수 있다.
한편, 본 개시에 따른 인공지능과 관련된 기능은 전자 장치(100)의 프로세서(120)와 메모리(110)를 통해 동작될 수 있다.
프로세서(120)는 하나 또는 복수의 프로세서로 구성될 수 있다. 이때, 하나 또는 복수의 프로세서는 CPU(Central Processing Unit), AP(Application Processor) 등과 같은 범용 프로세서, GPU(Graphic Processing Unit). VPU(Vision processing unit) 등과 같은 그래픽 전용 프로세서 또는 NPU(Neural Processing Unit), TPU(Tensor Processing Unit )와 같은 인공지능 전용 프로세서일 수 있다.
본 개시의 일 실시예로, 전자 장치(100)에 포함된 SoC(System on Chip)에 복수의 프로세서가 포함된 경우, 전자 장치(100)는 복수의 프로세서 중 그래픽 전용 프로세서 또는 인공지능 전용 프로세서를 이용하여 인공지능과 관련된 연산(예를 들어, 인공지능 모델의 학습(learning)이나 추론(inference)에 관련된 연산)을 수행하며, 복수의 프로세서 중 범용 프로세서를 이용하여 전자 장치의 일반적인 연산을 수행할 수 있다. 예를 들어, 전자 장치(100)는 복수의 프로세서 중 컨볼루션 연산에 특화된 GPU, VPU, NPU, TPU 중 적어도 하나를 이용하여 인공지능과 관련된 연산을 수행하며, 복수의 프로세서 중 CPU, AP 중 적어도 하나를 이용하여 전자 장치(100)의 일반적인 연산을 수행할 수 있다.
또한, 전자 장치(100)는 하나의 프로세서에 포함된 멀티 코어(예를 들어, 듀얼 코어, 쿼드 코어 등)를 이용하여 인공지능과 관련된 기능에 대한 연산을 수행할 수 있다. 특히, 전자 장치는 프로세서에 포함된 멀티 코어를 이용하여 병렬적으로 컨볼루션 연산을 수행할 수 있다. 하나 또는 복수의 프로세서는, 메모리에 저장된 기정의된 동작 규칙 또는 인공지능 모델에 따라, 입력 데이터를 처리하도록 제어한다. 기정의된 동작 규칙 또는 인공지능 모델은 학습을 통해 만들어진 것을 특징으로 한다.
여기서, 학습을 통해 만들어진다는 것은, 다수의 학습 데이터들에 학습 알고리즘을 적용함으로써, 원하는 특성의 기정의된 동작 규칙 또는 인공지능 모델이 만들어짐을 의미한다. 이러한 학습은 본 개시에 따른 인공지능이 수행되는 기기 자체에서 이루어질 수도 있고, 별도의 서버/시스템을 통해 이루어 질 수도 있다.
인공지능 모델은, 복수의 신경망 레이어들로 구성될 수 있다. 각 레이어는 복수의 가중치(weight values)을 갖고 있으며, 이전(previous) 레이어의 연산 결과와 복수의 가중치의 연산을 통해 레이어의 연산을 수행한다. 신경망의 예로는, CNN (Convolutional Neural Network), DNN (Deep Neural Network), RNN (Recurrent Neural Network), RBM (Restricted Boltzmann Machine), DBN (Deep Belief Network), BRDNN(Bidirectional Recurrent Deep Neural Network) 및 심층 Q-네트워크 (Deep Q-Networks)이 있으며, 본 개시에서의 신경망은 명시한 경우를 제외하고 전술한 예에 한정되지 않는다.
학습 알고리즘은, 다수의 학습 데이터들을 이용하여 소정의 대상 기기(예컨대, 로봇)을 훈련시켜 소정의 대상 기기 스스로 결정을 내리거나 예측을 할 수 있도록 하는 방법이다. 학습 알고리즘의 예로는, 지도형 학습(supervised learning), 비지도형 학습(unsupervised learning), 준지도형 학습(semi-supervised learning) 또는 강화 학습(reinforcement learning)이 있으며, 본 개시에서의 학습 알고리즘은 명시한 경우를 제외하고 전술한 예에 한정되지 않는다.
한편, 본 개시에서 사용된 용어 "부" 또는 "모듈"은 하드웨어, 소프트웨어 또는 펌웨어로 구성된 유닛을 포함하며, 예를 들면, 로직, 논리 블록, 부품, 또는 회로 등의 용어와 상호 호환적으로 사용될 수 있다. "부" 또는 "모듈"은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는 최소 단위 또는 그 일부가 될 수 있다. 예를 들면, 모듈은 ASIC(application-specific integrated circuit)으로 구성될 수 있다.
본 개시의 다양한 실시예들은 기기(machine)(예: 컴퓨터)로 읽을 수 있는 저장 매체(machine-readable storage media에 저장된 명령어를 포함하는 소프트웨어로 구현될 수 있다. 기기는, 저장 매체로부터 저장된 명령어를 호출하고, 호출된 명령어에 따라 동작이 가능한 장치로서, 개시된 실시예들에 따른 전자 장치(100)를 포함할 수 있다. 상기 명령이 프로세서에 의해 실행될 경우, 프로세서가 직접, 또는 상기 프로세서의 제어 하에 다른 구성요소들을 이용하여 상기 명령에 해당하는 기능을 수행할 수 있다. 명령은 컴파일러 또는 인터프리터에 의해 생성 또는 실행되는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, '비일시적'은 저장매체가 신호(signal)를 포함하지 않으며 실재(tangible)한다는 것을 의미할 뿐 데이터가 저장매체에 반영구적 또는 임시적으로 저장됨을 구분하지 않는다.
일시예에 따르면, 본 문서에 개시된 다양한 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 온라인으로 배포될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
다양한 실시예들에 따른 구성 요소(예: 모듈 또는 프로그램) 각각은 단수 또는 복수의 개체로 구성될 수 있으며, 전술한 해당 서브 구성 요소들 중 일부 서브 구성 요소가 생략되거나, 또는 다른 서브 구성 요소가 다양한 실시예에 더 포함될 수 있다. 대체적으로 또는 추가적으로, 일부 구성 요소들(예: 모듈 또는 프로그램)은 하나의 개체로 통합되어, 통합되기 이전의 각각의 해당 구성 요소에 의해 수행되는 기능을 동일 또는 유사하게 수행할 수 있다. 다양한 실시예들에 따른, 모듈, 프로그램 또는 다른 구성 요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱하게 실행되거나, 적어도 일부 동작이 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다.
100: 전자 장치 110: 메모리
120: 프로세서

Claims (20)

  1. 전자 장치에 있어서,
    적어도 하나의 인스트럭션을 포함하는 메모리,
    상기 메모리와 연결되며 상기 전자 장치를 제어하는 프로세서를 포함하고,
    상기 프로세서는 상기 적어도 하나의 인스트럭션을 실행함으로써,
    동영상을 획득하고,
    상기 동영상의 복수의 프레임으로부터 사람 및 상기 사람의 포즈 데이터를 식별하고,
    상기 식별된 사람의 포즈 데이터를 이용하여 상기 복수의 프레임에 대응하는 운동 패턴 정보를 획득하고,
    적어도 하나의 신경망 모델에 상기 동영상의 적어도 하나의 프레임을 입력하여 상기 식별된 사람의 운동 동작을 인식하고, 상기 인식된 운동 동작에 대응하는 운동 특성 정보를 획득하고,
    상기 운동 특성 정보 및 상기 운동 패턴 정보를 바탕으로, 상기 동영상의 복수의 프레임 중 제1 프레임 구간 및 상기 제1 프레임 구간과 상이한 제2 프레임 구간을 식별하고,
    상기 제1 프레임 구간과 상기 제2 프레임 구간을 비교하여 상기 제2 프레임에 대응하는 운동 동작에 대한 정보를 제공하는 전자 장치.
  2. 제1항에 있어서,
    상기 프로세서는,
    사람의 운동 동작이 대칭 동작인지 여부를 식별하기 위한 제1 신경망 모델에 상기 동영상의 적어도 하나의 프레임을 입력하여, 상기 사람의 운동 동작이 대칭 동작인지 여부를 식별하는 단계; 및
    사람의 운동 동작이 유지 동작인지 여부를 식별하기 위한 제2 신경망 모델에 상기 동영상의 적어도 하나의 프레임을 입력하여, 상기 사람의 운동 동작이 유지 동작인지 여부를 식별하는 전자 장치.
  3. 제2항에 있어서,
    상기 제1 신경망 모델은, 사람의 운동 동작을 촬영한 학습 동영상 및 상기 학습 동영상에 대응하는 사람의 운동 동작이 대칭 동작인지에 대한 정보에 기초하여 학습되며,
    상기 제2 신경망 모델은, 사람의 운동 동작을 촬영한 학습 동영상 및 상기 학습 동영상에 대응하는 사람의 운동 동작이 유지 동작인지에 대한 정보에 기초하여 학습되는 것을 특징으로 하는 전자 장치.
  4. 제1항에 있어서,
    상기 프로세서는,
    상기 사람의 운동 동작이 대칭 동작 및 유지 동작이면, 상기 동영상의 복수의 프레임 중 시작 프레임으로부터 제1 시간까지의 구간을 상기 제1 프레임 구간으로 식별
  5. 제1항에 있어서,
    상기 프로세서는,
    상기 사람의 운동 동작이 대칭 동작 및 비유지 동작이면, 상기 운동 패턴 정보를 바탕으로 상기 동영상의 복수의 프레임에서 운동 반복 구간을 각각 식별하는 단계; 및
    상기 식별된 운동 반복 구간을 바탕으로, 상기 동영상의 복수의 프레임 중 시작 프레임으로부터 제1 횟수의 운동 반복 구간에 대응하는 프레임까지의 구간을 상기 제1 프레임 구간으로 식별하는 전자 장치.
  6. 제1항에 있어서,
    상기 프로세서는,
    상기 사람의 운동 동작이 비대칭 동작 및 유지 동작 운동이면, 상기 운동 패턴 정보를 바탕으로 상기 동영상의 복수의 프레임 중 제1 대칭 운동 동작이 처음 시작되는 프레임으로부터 제2 시간까지의 구간 및 제2 대칭 운동 동작이 처음 시작되는 프레임으로부터 제2 시간까지의 구간에 대응하는 프레임을 상기 제1 프레임 구간으로 식별하는 전자 장치.
  7. 제1항에 있어서,
    상기 프로세서는,
    상기 사람의 운동 동작이 비대칭 동작 및 비유지 동작이면, 상기 운동 패턴 정보를 바탕으로 상기 동영상의 복수의 프레임에서 제1 대칭 운동 동작 및 제2 대칭 운동 동작에 대응하는 프레임을 각각 식별하는 단계; 및
    상기 동영상의 복수의 프레임 중 시작 프레임으로부터 제2 횟수의 상기 제1 대칭 운동 동작에 대응하는 프레임 및 제2 횟수의 상기 제2 대칭 운동 동작에 대응하는 프레임을 상기 제1 프레임 구간으로 식별하는 전자 장치.
  8. 제1항에 있어서,
    상기 프로세서는,
    상기 동영상이 재생 중인 경우, 상기 재생 중인 프레임으로부터 기 설정 간격 구간의 프레임을 상기 제2 프레임으로 식별하는 전자 장치.
  9. 제1항에 있어서,
    상기 프로세서는,
    상기 제1 프레임 구간에 대응되는 운동 패턴 정보와 상기 제2 프레임 구간에 대한 운동 패턴 정보의 차이 값이 기 설정 값 이상인 경우 체력 고갈 상태인 것으로 식별하고, 상기 체력 고갈 상태인 것으로 식별되면, 상기 제2 프레임 구간에 대응되는 상기 사람의 운동 동작에 대한 정보를 제공하는 전자 장치.
  10. 제1항에 있어서,
    상기 프로세서는,
    원본 동영상을 획득하고,
    복수의 운동 동작을 포함하는 복수의 동영상이 저장된 운동 DB(Data Base)를 바탕으로, 상기 원본 동영상에 포함된 복수의 프레임 중 상기 사람의 운동 동작에 대응되는 프레임을 식별하여 상기 동영상을 획득하는 전자 장치.
  11. 전자 장치의 제어 방법에 있어서,
    동영상을 획득하는 단계;
    상기 동영상의 복수의 프레임으로부터 사람 및 상기 사람의 포즈 데이터를 식별하는 단계;
    상기 식별된 사람의 포즈 데이터를 이용하여 상기 복수의 프레임에 대응하는 운동 패턴 정보를 획득하는 단계;
    적어도 하나의 신경망 모델에 상기 동영상의 적어도 하나의 프레임을 입력하여 상기 식별된 사람의 운동 동작을 인식하고, 상기 인식된 운동 동작에 대응하는 운동 특성 정보를 획득하는 단계;
    상기 운동 특성 정보 및 상기 운동 패턴 정보를 바탕으로, 상기 동영상의 복수의 프레임 중 제1 프레임 구간 및 상기 제1 프레임 구간과 상이한 제2 프레임 구간을 식별하는 단계; 및
    상기 제1 프레임 구간과 상기 제2 프레임 구간을 비교하여 상기 제2 프레임에 대응하는 운동 동작에 대한 정보를 제공하는 단계;를 포함하는 제어 방법.
  12. 제11항에 있어서,
    상기 운동 특성 정보를 획득하는 단계는,
    사람의 운동 동작이 대칭 동작인지 여부를 식별하기 위한 제1 신경망 모델에 상기 동영상의 적어도 하나의 프레임을 입력하여, 상기 사람의 운동 동작이 대칭 동작인지 여부를 식별하는 단계; 및
    사람의 운동 동작이 유지 동작인지 여부를 식별하기 위한 제2 신경망 모델에 상기 동영상의 적어도 하나의 프레임을 입력하여, 상기 사람의 운동 동작이 유지 동작인지 여부를 식별하는 단계;를 포함하는 제어 방법.
  13. 제12항에 있어서,
    상기 제1 신경망 모델은, 사람의 운동 동작을 촬영한 학습 동영상 및 상기 학습 동영상에 대응하는 사람의 운동 동작이 대칭 동작인지에 대한 정보에 기초하여 학습되며,
    상기 제2 신경망 모델은, 사람의 운동 동작을 촬영한 학습 동영상 및 상기 학습 동영상에 대응하는 사람의 운동 동작이 유지 동작인지에 대한 정보에 기초하여 학습되는 것을 특징으로 하는 제어 방법.
  14. 제11항에 있어서,
    상기 제1 프레임 구간 및 상기 제1 프레임 구간과 상이한 제2 프레임 구간을 식별하는 단계는,
    상기 사람의 운동 동작이 대칭 동작 및 유지 동작이면, 상기 동영상의 복수의 프레임 중 시작 프레임으로부터 제1 시간까지의 구간을 상기 제1 프레임 구간으로 식별하는 단계; 를 포함하는 제어 방법.
  15. 제11항에 있어서,
    상기 제1 프레임 구간 및 상기 제1 프레임 구간과 상이한 제2 프레임 구간을 식별하는 단계는,
    상기 사람의 운동 동작이 대칭 동작 및 비유지 동작이면, 상기 운동 패턴 정보를 바탕으로 상기 동영상의 복수의 프레임에서 운동 반복 구간을 각각 식별하는 단계; 및
    상기 식별된 운동 반복 구간을 바탕으로, 상기 동영상의 복수의 프레임 중 시작 프레임으로부터 제1 횟수의 운동 반복 구간에 대응하는 프레임까지의 구간을 상기 제1 프레임 구간으로 식별하는 단계; 를 포함하는 제어 방법.
  16. 제11항에 있어서,
    상기 제1 프레임 구간 및 상기 제1 프레임 구간과 상이한 제2 프레임 구간을 식별하는 단계는,
    상기 사람의 운동 동작이 비대칭 동작 및 유지 동작 운동이면, 상기 운동 패턴 정보를 바탕으로 상기 동영상의 복수의 프레임 중 제1 대칭 운동 동작이 처음 시작되는 프레임으로부터 제2 시간까지의 구간 및 제2 대칭 운동 동작이 처음 시작되는 프레임으로부터 제2 시간까지의 구간에 대응하는 프레임을 상기 제1 프레임 구간으로 식별하는 단계; 를 포함하는 제어 방법.
  17. 제14항에 있어서,
    상기 제1 프레임 구간 및 상기 제1 프레임 구간과 상이한 제2 프레임 구간을 식별하는 단계는,
    상기 사람의 운동 동작이 비대칭 동작 및 비유지 동작이면, 상기 운동 패턴 정보를 바탕으로 상기 동영상의 복수의 프레임에서 제1 대칭 운동 동작 및 제2 대칭 운동 동작에 대응하는 프레임을 각각 식별하는 단계; 및
    상기 동영상의 복수의 프레임 중 시작 프레임으로부터 제2 횟수의 상기 제1 대칭 운동 동작에 대응하는 프레임 및 제2 횟수의 상기 제2 대칭 운동 동작에 대응하는 프레임을 상기 제1 프레임 구간으로 식별하는 단계; 를 포함하는 제어 방법.
  18. 제11항에 있어서,
    상기 제1 프레임 구간 및 상기 제1 프레임 구간과 상이한 제2 프레임 구간을 식별하는 단계는,
    상기 동영상이 재생 중인 경우, 상기 재생 중인 프레임으로부터 기 설정 간격 구간의 프레임을 상기 제2 프레임으로 식별하는 단계;를 포함하는 제어 방법.
  19. 제11항에 있어서,
    상기 제2 프레임에 대응하는 운동 동작에 대한 정보를 제공하는 단계는,
    상기 제1 프레임 구간에 대응되는 운동 패턴 정보와 상기 제2 프레임 구간에 대한 운동 패턴 정보의 차이 값이 기 설정 값 이상인 경우 체력 고갈 상태인 것으로 식별하는 단계;
    상기 체력 고갈 상태인 것으로 식별되면, 상기 제2 프레임 구간에 대응되는 상기 사람의 운동 동작에 대한 정보를 제공하는 단계;를 포함하는 제어 방법.
  20. 전자 장치의 제어 방법을 실행하는 프로그램을 포함하는 비일시적 컴퓨터 판독 가능 기록매체에 있어서,
    상기 전자 장치의 제어 방법은,
    동영상을 획득하는 단계;
    상기 동영상의 복수의 프레임으로부터 사람 및 상기 사람의 포즈 데이터를 식별하는 단계;
    상기 식별된 사람의 포즈 데이터를 이용하여 상기 복수의 프레임에 대응하는 운동 패턴 정보를 획득하는 단계;
    적어도 하나의 신경망 모델에 상기 동영상의 적어도 하나의 프레임을 입력하여 상기 식별된 사람의 운동 동작을 인식하고, 상기 인식된 운동 동작에 대응하는 운동 특성 정보를 획득하는 단계;
    상기 운동 특성 정보 및 상기 운동 패턴 정보를 바탕으로, 상기 동영상의 복수의 프레임 중 제1 프레임 구간 및 상기 제1 프레임 구간과 상이한 제2 프레임 구간을 식별하는 단계; 및
    상기 제1 프레임 구간과 상기 제2 프레임 구간을 비교하여 상기 제2 프레임에 대응하는 운동 동작에 대한 정보를 제공하는 단계;를 포함하는 컴퓨터 판독 가능 기록 매체.
KR1020220057477A 2022-05-10 2022-05-10 전자 장치 및 그 제어 방법 KR20230157814A (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020220057477A KR20230157814A (ko) 2022-05-10 2022-05-10 전자 장치 및 그 제어 방법
EP23803816.0A EP4418207A1 (en) 2022-05-10 2023-05-09 Electronic device and control method therefor
PCT/KR2023/006288 WO2023219393A1 (ko) 2022-05-10 2023-05-09 전자 장치 및 그 제어 방법
US18/328,252 US20230364465A1 (en) 2022-05-10 2023-06-02 Electronic apparatus and controlling method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220057477A KR20230157814A (ko) 2022-05-10 2022-05-10 전자 장치 및 그 제어 방법

Publications (1)

Publication Number Publication Date
KR20230157814A true KR20230157814A (ko) 2023-11-17

Family

ID=88730710

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220057477A KR20230157814A (ko) 2022-05-10 2022-05-10 전자 장치 및 그 제어 방법

Country Status (2)

Country Link
KR (1) KR20230157814A (ko)
WO (1) WO2023219393A1 (ko)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101826268B1 (ko) * 2017-04-28 2018-02-06 동국대학교 산학협력단 동작 예측 방법 및 시스템
KR20200025290A (ko) * 2018-08-30 2020-03-10 충북대학교 산학협력단 운동 자세 분석 시스템 및 방법
KR20200089934A (ko) * 2019-01-18 2020-07-28 (주)그린콤 실시간 피트니스 모니터링 방법, 장치 및 시스템
KR102594938B1 (ko) * 2020-04-17 2023-10-31 초록소프트 주식회사 인공신경망을 이용한 스포츠 자세를 비교 및 교정하는 장치 및 방법
KR20220039440A (ko) * 2020-09-22 2022-03-29 삼성전자주식회사 디스플레이 장치 및 그의 제어 방법

Also Published As

Publication number Publication date
WO2023219393A1 (ko) 2023-11-16

Similar Documents

Publication Publication Date Title
US11069131B2 (en) Predictive personalized three-dimensional body models
KR102239714B1 (ko) 신경망 학습 방법 및 장치, 데이터 처리 장치
US20180144185A1 (en) Method and apparatus to perform facial expression recognition and training
CN110069985B (zh) 基于图像的目标点位置检测方法、装置、电子设备
CN109376696B (zh) 视频动作分类的方法、装置、计算机设备和存储介质
WO2002099545A1 (en) Man-machine interface unit control method, robot apparatus, and its action control method
KR102138809B1 (ko) 미세한 표정변화 검출을 위한 2차원 랜드마크 기반 특징점 합성 및 표정 세기 검출 방법
CN105095853B (zh) 图像处理装置及图像处理方法
KR20160116311A (ko) 로봇의 표정 기반 연속적 정서 인식 방법, 이를 수행하기 위한 기록 매체 및 장치
CN112241664B (zh) 人脸识别方法、装置、服务器及存储介质
KR20180020123A (ko) 비동기 신호 처리 방법
JP2020135747A (ja) 行動分析装置および行動分析方法
Reyes et al. Face detection and recognition of the seven emotions via facial expression: Integration of machine learning algorithm into the nao robot
Carvalhais et al. Recognition and use of emotions in games
CN108961314A (zh) 运动图像生成方法、装置、电子设备及计算机可读存储介质
Dossso et al. Segmentation of patient images in the neonatal intensive care unit
Abedi et al. Modification of deep learning technique for face expressions and body postures recognitions
KR20230157814A (ko) 전자 장치 및 그 제어 방법
KR101956166B1 (ko) 비주얼 큐를 이용하여 비디오 시퀀스에서 토킹 세그먼트를 검출하는 방법 및 장치
US20230046705A1 (en) Storage medium, determination device, and determination method
KR20210089038A (ko) 전자 장치 및 그 제어 방법
JP2015011664A (ja) 動作評価装置、動作評価方法及び動作評価プログラム
Tivatansakul et al. Healthcare system focusing on emotional aspect using augmented reality: Emotion detection by facial expression
Zhang et al. A posture recognition system for rat cyborg automated navigation
Rathee A novel approach for lip reading based on neural network