KR20200107356A - User-customized motion recognition method using a mobile device - Google Patents
User-customized motion recognition method using a mobile device Download PDFInfo
- Publication number
- KR20200107356A KR20200107356A KR1020190026363A KR20190026363A KR20200107356A KR 20200107356 A KR20200107356 A KR 20200107356A KR 1020190026363 A KR1020190026363 A KR 1020190026363A KR 20190026363 A KR20190026363 A KR 20190026363A KR 20200107356 A KR20200107356 A KR 20200107356A
- Authority
- KR
- South Korea
- Prior art keywords
- motion
- data
- sensor
- mobile device
- unit
- Prior art date
- Legal status (The legal status 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 status listed.)
- Ceased
Links
Images
Classifications
-
- H04M1/72569—
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/72—Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
- H04M1/724—User interfaces specially adapted for cordless or mobile telephones
- H04M1/72448—User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions
- H04M1/72454—User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions according to context-related or environment-related conditions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M2201/00—Electronic components, circuits, software, systems or apparatus used in telephone systems
- H04M2201/34—Microprocessors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M2201/00—Electronic components, circuits, software, systems or apparatus used in telephone systems
- H04M2201/36—Memories
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M2250/00—Details of telephonic subscriber devices
- H04M2250/12—Details of telephonic subscriber devices including a sensor for measuring a physical value, e.g. temperature or motion
Landscapes
- Engineering & Computer Science (AREA)
- Environmental & Geological Engineering (AREA)
- Human Computer Interaction (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
센서부를 포함하는 모바일 디바이스를 이용하여 사용자 모션을 인식하는 방법으로서, 센서부를 이용하여 모바일 디바이스의 움직임에 따른 모션 센서 데이터를 획득하는 단계; 획득된 모션 센서 데이터로부터 모바일 디바이스의 모션의 궤적 이미지를 추출하는 단계; 미리 결정된 모델과 추출된 모션의 궤적 이미지의 매칭 여부를 판단하는 단계; 미리 결정된 모델과 추출된 모션의 궤적 데이터가 매칭되는 경우, 소프트웨어 개발 도구(Software Development Kit; SDK)를 다운로드하는 단계; 및 미리 결정된 모델과 추출된 모션의 궤적 데이터가 매칭되지 않는 경우, 모션 궤적 데이터에 대응하는 모션 데이터를 수집하고 수집된 모션 데이터에 대해 머신러닝 알고리즘을 적용하여 학습 결과물을 생성한 후, SDK를 다운로드하여 SDK에 학습 결과물을 반영하는 단계를 포함하는 것을 특징으로 하는 사용자 맞춤형 모션 인식 방법이 개시된다.A method of recognizing user motion using a mobile device including a sensor unit, the method comprising: acquiring motion sensor data according to movement of the mobile device using the sensor unit; Extracting a motion trajectory image of the mobile device from the obtained motion sensor data; Determining whether or not the predetermined model matches the extracted motion trajectory image; Downloading a software development tool (SDK) when the predetermined model and the extracted motion trajectory data match; And if the predetermined model and the extracted motion trajectory data do not match, collect motion data corresponding to the motion trajectory data, apply a machine learning algorithm to the collected motion data to generate a learning result, and then download the SDK. Thus, a user-customized motion recognition method comprising the step of reflecting the learning result in the SDK is disclosed.
Description
본 발명은 사용자 맞춤형 모션 인식 방법 및 사용자 맞춤형 모션 인식을 위한 모바일 디바이스에 관한 것이다.The present invention relates to a user-customized motion recognition method and a mobile device for user-customized motion recognition.
최근 모바일 단말기술의 급격한 발달에 따라 모바일 단말기는 단순히 전화 통화의 목적뿐만 아니라 인터넷 게임, 위성 방송의 시청, 근거리 통신을 이용한 리모컨, 장착된 디지털 카메라에 의한 이미지 촬영 등 그 활용 범위가 갈수록 넓어지고 있다. With the recent rapid development of mobile terminal technology, mobile terminals are increasingly being used not only for the purpose of making phone calls, but also for internet games, watching satellite broadcasts, remote control using short-range communication, and image capture by equipped digital cameras. .
일 예로, 사용자는 모바일 단말기를 이용한 동작 인식을 이용하여 다양한 모바일 단말기의 기능(ex. 메모, 그림 그리기, 애플리케이션 수행 등)을 수행할 수 있다. 또는, 모바일 단말기에 애플리케이션(ex. 게임, SNS, 교육, 음악, 메모 등)을 설치하여 모바일 단말기를 이용한 동작 인식을 통해 애플리케이션을 활용할 수도 있다. For example, a user may perform various functions of a mobile terminal (eg, memo, drawing, application execution, etc.) by using gesture recognition using a mobile terminal. Alternatively, an application (ex. game, SNS, education, music, memo, etc.) may be installed on a mobile terminal to utilize the application through gesture recognition using the mobile terminal.
이러한 모바일 단말기를 이용한 동작 인식 기술과 관련하여, 한국공개특허 제2015-0118639호는 단말기의 센서를 통해 어플리케이션 내에서 이루어지는 동작을 감지하고, 동작과 관련된 모션센서 값을 시계열로 구분하여 특정 모션으로 인식하여 동적 인터페이스를 제공함으로써, 다수의 센싱 디바이스에서 발생하는 모션센서 값을 처리할 수 있는 모션 인식을 위한 센서값 처리 방법 및 장치에 대해 개시하고 있다. Regarding the motion recognition technology using such a mobile terminal, Korean Patent Laid-Open No. 2015-0118639 detects motions made within an application through a sensor of the terminal, and recognizes motion sensor values related to motion as a specific motion by dividing it into time series. Thus, by providing a dynamic interface, a sensor value processing method and apparatus for motion recognition capable of processing motion sensor values generated in a plurality of sensing devices are disclosed.
그러나, 상기와 같은 종래 기술에 따르면, 모바일 디바이스 모션 인식 기능을 사용하는 사용자마다 동일한 모션을 완성하는 방식이 다를 수 있는데, 이러한 점을 반영한 정확한 결과를 도출할 수 없다는 단점이 있다. 예를 들어, 사용자가 모바일 디바이스를 이용하여 동그라미 모션을 수행하는 경우, 어떤 사용자는 왼쪽에서 시작해서 시계 방향으로 동그라미 모션을 수행하는 반면, 어떤 사용자는 오른쪽에서 시작해서 반시계 방향으로 동그라미 모션을 수행할 수 있다. 이러한 경우, 종래 기술에 따라 시계열 데이터를 이용하여 사용자의 모션을 예측하게 되면 동일한 모션 데이터 결과를 추출하기 어려우며, 따라서 모바일 디바이스 사용자의 모션 인식율이 저하되는 문제점이 있다. 뿐만 아니라, 시계열 데이터를 이용하여 사용자의 모션을 예측하게 되면, 모션을 완성하기까지 발생할 수 있는 다양한 사용자 변수(예를 들어, 너무 빠른 입력 또는 너무 느린 입력 등)에 의하여 모션 데이터가 오염될 수 있는 문제도 있다. However, according to the prior art as described above, a method of completing the same motion may be different for each user using the motion recognition function of a mobile device, but there is a disadvantage in that an accurate result reflecting this point cannot be derived. For example, when a user performs a circle motion using a mobile device, some users start from the left and perform a circle motion clockwise, while some users start from the right and perform a circle motion counterclockwise. can do. In this case, if the motion of the user is predicted using time series data according to the prior art, it is difficult to extract the same motion data result, and therefore, there is a problem in that the motion recognition rate of the mobile device user is lowered. In addition, if the user's motion is predicted using time series data, the motion data may be contaminated by various user variables (e.g., too fast input or too slow input, etc.) that may occur until the motion is completed. There is also a problem.
본 발명은 기존의 모바일 디바이스를 이용한 사용자 모션 인식 기술의 단점을 해결하여 모션 인식의 정확도를 향상시킬 수 있는 모션 인식 방법을 제공하고자 한다. An object of the present invention is to provide a motion recognition method capable of improving the accuracy of motion recognition by solving the shortcomings of user motion recognition technology using a conventional mobile device.
이러한 과제를 해결하고자, 본 발명에서 제공하는 모션 인식 방법은, 센서부를 포함하는 모바일 디바이스를 이용하여 사용자 모션을 인식하는 방법으로서, 상기 센서부를 이용하여 상기 모바일 디바이스의 움직임에 따른 모션 센서 데이터를 획득하는 단계; 획득된 상기 모션 센서 데이터로부터 상기 모바일 디바이스의 모션의 궤적 이미지를 추출하는 단계; 미리 결정된 모델과 상기 추출된 모션의 궤적 이미지의 매칭 여부를 판단하는 단계; 상기 미리 결정된 모델과 상기 추출된 모션의 궤적 데이터가 매칭되는 경우, 소프트웨어 개발 도구(Software Development Kit; SDK)를 다운로드하는 단계; 및 상기 미리 결정된 모델과 상기 추출된 모션의 궤적 데이터가 매칭되지 않는 경우, 상기 모션 궤적 데이터에 대응하는 모션 데이터를 수집하고 수집된 모션 데이터에 대해 머신러닝 알고리즘을 적용하여 학습 결과물을 생성한 후, 상기 SDK)를 다운로드하여 상기 SDK에 상기 학습 결과물을 반영하는 단계를 포함하는 것을 특징으로 한다. In order to solve this problem, the motion recognition method provided by the present invention is a method of recognizing user motion using a mobile device including a sensor unit, and obtaining motion sensor data according to the movement of the mobile device using the sensor unit. Step to do; Extracting a motion trajectory image of the mobile device from the obtained motion sensor data; Determining whether a predetermined model matches the extracted motion trajectory image; Downloading a software development tool (SDK) when the predetermined model matches the extracted motion trajectory data; And when the predetermined model and the extracted motion trajectory data do not match, collecting motion data corresponding to the motion trajectory data and applying a machine learning algorithm to the collected motion data to generate a learning result, And downloading the SDK) and reflecting the learning result in the SDK.
일 실시예에 있어서, 상기 센서부는, 가속도 센서(acceleration sensor), 자기 센서(magnetic sensor), 중력 센서(G-sensor), 자이로스코프 센서(gyroscope sensor) 및 모션 센서(motion sensor)를 포함하는 그룹에서 선택되는 적어도 하나의 센서인 것을 특징으로 할 수 있다. In one embodiment, the sensor unit, an acceleration sensor, a magnetic sensor, a gravity sensor (G-sensor), a group including a gyroscope sensor (gyroscope sensor) and a motion sensor (motion sensor) It may be characterized in that at least one sensor selected from.
일 실시예에 있어서, 상기 센서부는 자이로 센서부이고, 획득되는 상기 모션 센서 데이터는 X축, Y축, Z축 방향의 회전각 변이값이며, 상기 획득된 상기 모션 센서 데이터로부터 상기 모바일 디바이스의 모션의 궤적 이미지를 추출하는 단계에서, 상기 X축, Y축, Z축 방향의 회전각 변이값에 기반하여 2차원의 모션 궤적 이미지를 추출하는 것을 특징으로 할 수 있다. In one embodiment, the sensor unit is a gyro sensor unit, the motion sensor data obtained is a rotation angle shift value in the X-axis, Y-axis, and Z-axis directions, and the motion of the mobile device from the obtained motion sensor data In the step of extracting the trajectory image of, it may be characterized in that a two-dimensional motion trajectory image is extracted based on the rotation angle shift values in the X-axis, Y-axis, and Z-axis directions.
일 실시예에 있어서, 상기 모션 센서 데이터를 획득하는 단계와 상기 모션 궤적 이미지를 추출하는 단계 사이에, 획득된 상기 모션 센서 데이터를 전처리하는 단계를 더 포함하고, 상기 미리 결정된 모델과 상기 추출된 모션의 궤적 데이터가 매칭되지 않는 경우, 상기 머신러닝 알고리즘을 적용하기 이전에, 모션 데이터마다 라벨을 부여하는 단계를 더 포함하고, 상기 학습 결과물 생성 이전에, 상기 머신러닝을 위해 수집된 상기 모션 데이터들을 증폭하는 단계를 더 포함하는 것을 특징으로 할 수 있다. In one embodiment, between the step of obtaining the motion sensor data and the step of extracting the motion trajectory image, further comprising pre-processing the obtained motion sensor data, wherein the predetermined model and the extracted motion If the trajectory data of do not match, prior to applying the machine learning algorithm, giving a label for each motion data, and before generating the learning result, the motion data collected for the machine learning It may be characterized in that it further comprises a step of amplifying.
본 발명의 또 다른 실시형태에 따른 사용자 맞춤형 모션 인식을 위한 모바일 디바이스는, 모션인식부와 모션데이터 수집/학습부를 포함하는 프로세서; 상기 모바일 디바이스의 모션 데이터를 획득하는 센서부; 및 상기 프로세서의 동작 및 제어를 위한 프로그램 및 사용자 지정 모션 모델 데이터를 저장하는 메모리를 포함하되, 상기 센서부에 의해 획득되는 모션 데이터는, 좌표 변화 데이터 및 각축별 회전각 데이터 중 적어도 하나를 포함하고, 상기 모션인식부는 상기 센서부가 획득한 모션 데이터를 궤적 이미지로 추출하여 상기 메모리에 미리 저장된 사용자 지정 모션 모델과 비교함으로써 매칭 여부를 판단하며, 데이터들이 매칭되지 않는 것으로 판단되면 상기 모션데이터 수집/학습부로 모션 데이터 수집 요청을 전송하고, 데이터들이 매칭되는 것으로 판단되면 제어부는 소프트웨어 개발 도구를 다운로드하도록 제어하고, 상기 모션데이터 수집/학습부는 상기 모션인식부로부터 모션 데이터 수집 요청을 수신하여, 상기 모션의 궤적 이미지에 대응하는 모션 데이터를 수집하고 수집된 모션 데이터에 대해 머신러닝 알고리즘을 적용하여 학습 결과물을 생성하여, 다운로드한 상기 소프트웨어 개발 도구에 상기 학습 결과물을 반영하는 것을 특징으로 한다.A mobile device for user-customized motion recognition according to another embodiment of the present invention includes: a processor including a motion recognition unit and a motion data collection/learning unit; A sensor unit acquiring motion data of the mobile device; And a memory for storing a program for operation and control of the processor and user-specified motion model data, wherein the motion data obtained by the sensor unit includes at least one of coordinate change data and rotation angle data for each axis, , The motion recognition unit extracts the motion data acquired by the sensor unit as a trajectory image and compares it with a user-designated motion model previously stored in the memory to determine whether the data are matched, and when it is determined that the data are not matched, the motion data collection/learning When it is determined that the data are matched, the control unit controls to download the software development tool, and the motion data collection/learning unit receives the motion data collection request from the motion recognition unit, and A learning result is generated by collecting motion data corresponding to a trajectory image, applying a machine learning algorithm to the collected motion data, and reflecting the learning result on the downloaded software development tool.
본 발명의 모션 인식 방법에 따르면, 모바일 디바이스를 이용한 사용자 모션 인식율의 정확도를 향상시킬 수 있다. According to the motion recognition method of the present invention, it is possible to improve the accuracy of a user's motion recognition rate using a mobile device.
또한, 모바일 디바이스를 이용한 사용자 모션 인식 기술에서 모션 데이터의 오염도를 낮출 수 있으며, 다양한 사용자에 대해 모션 인식 결과를 정확하게 추출할 수 있다. In addition, in the user motion recognition technology using a mobile device, the pollution degree of motion data can be reduced, and motion recognition results can be accurately extracted for various users.
또한, 본 발명에 따르면 미리 정의된 모션 모델에 대응되는 모션만을 인식하는 것이 아니라, 사용자 본인만의 독특한 모션을 생성하여 사용할 수 있으며, 다양한 사용자 그룹도 그룹에 특화된 모션을 생성하여 그 그룹만의 유니크한 모션을 생성하여 사용할 수 있으므로, 모션 인식 서비스의 활용도를 높일 수 있는 이점이 있다. In addition, according to the present invention, not only the motion corresponding to the predefined motion model is recognized, but a user's own unique motion can be created and used, and various user groups can also create a group-specific motion to be unique. Since one motion can be created and used, there is an advantage in that the utilization of the motion recognition service can be increased.
도 1은 본 발명의 일 실시예에 관련된 모바일 디바이스의 구성도이다.
도 2는 본 발명의 일 실시예에 관련된 센서부의 구성도이다.
도 3은 본 발명의 일 실시예에 따른 사용자 맞춤형 모션 인식 방법의 순서도이다.
도 4는 본 발명의 일 실시예에 관련된 자이로 센서를 설명하기 위한 도이다.
도 5 및 도 6은 본 발명의 일 실시예에 따라 획득된 모션 데이터를 이미지로 변환하는 방법을 설명하기 위한 도이다.
도 7 은 본 발명의 일 실시예에 따라 획득된 모션 데이터의 그래프이다.
도 8은 도 7의 데이터에 해당하는 추출된 이미지이다.1 is a block diagram of a mobile device according to an embodiment of the present invention.
2 is a configuration diagram of a sensor unit according to an embodiment of the present invention.
3 is a flow chart of a user-customized motion recognition method according to an embodiment of the present invention.
4 is a diagram illustrating a gyro sensor according to an embodiment of the present invention.
5 and 6 are diagrams for explaining a method of converting acquired motion data into an image according to an embodiment of the present invention.
7 is a graph of motion data acquired according to an embodiment of the present invention.
8 is an extracted image corresponding to the data of FIG. 7.
이하, 첨부되는 도면을 참조하여 본 명세서에 개시된 실시예를 설명한다. Hereinafter, embodiments disclosed in the present specification will be described with reference to the accompanying drawings.
특히, 도면부호가 없는 경우라도 명세서상의 설명에서 유추할 수 있는 구성요소들은 문언적으로 기재된 내용에 따라 해석될 수 있다.In particular, even if there is no reference numeral, elements that can be inferred from the description in the specification may be interpreted according to the content described literally.
당업자의 수준에서 사용되는 단어일지라도, 실제의 기능과 역할을 정확히 반영하지 못하여 자칫 잘못 사용되는 경우가 있을 수 있다. 이 경우 명세서 상에 통일적으로 기재된 내용을 바탕으로 유추하여 실질적으로 발명자가 의도하는 바에 따라 해석되는 것이 원칙이며, 반드시 문언 자체의 한정에만 국한하여 해석될 필요는 없으며, 명칭이나 기능 등의 해석에 따라서는 전체적인 내용을 참조하여 보다 유연하게 판단하여야 한다.Even a word used at the level of a person skilled in the art may not accurately reflect an actual function and role, and thus may be used incorrectly. In this case, it is in principle to be interpreted according to the intention of the inventor by analogy based on the unified contents in the specification, and it is not necessary to be interpreted only limited to the limitation of the text itself, and according to the interpretation of the name or function, etc. Should be judged more flexibly by referring to the overall contents.
첨부된 도면을 참조하여 본 명세서에 개시된 실시 예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. The embodiments disclosed in the present specification will be described in detail with reference to the accompanying drawings, but identical or similar components are denoted by the same reference numerals regardless of the reference numerals, and redundant descriptions thereof will be omitted.
이하의 설명에서 사용되는 구성요소에 대한 접미사 "부", “모듈”은 명세서 작성의 용이함만이 고려되어 부여되거나 혼용되는 것으로서, 그 자체로 서로 구별되는 의미 또는 역할을 갖는 것은 아니다. 또한, 본 명세서에 개시된 실시 예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 명세서에 개시된 실시 예의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 명세서에 개시된 실시 예를 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 명세서에 개시된 기술적 사상이 제한되지 않으며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. The suffixes "unit" and "module" for the constituent elements used in the following description are given or used interchangeably in consideration of only the ease of preparation of the specification, and do not themselves have distinct meanings or roles. In addition, in describing the embodiments disclosed in the present specification, when it is determined that a detailed description of related known technologies may obscure the subject matter of the embodiments disclosed in the present specification, the detailed description thereof will be omitted. In addition, the accompanying drawings are for easy understanding of the embodiments disclosed in the present specification, and the technical idea disclosed in the present specification is not limited by the accompanying drawings, and all modifications included in the spirit and scope of the present invention It should be understood to include equivalents or substitutes.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.When a component is referred to as being "connected" or "connected" to another component, it is understood that it may be directly connected or connected to the other component, but other components may exist in the middle. Should be. On the other hand, when a component is referred to as being "directly connected" or "directly connected" to another component, it should be understood that there is no other component in the middle.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 또한, 본원 명세서 전체에서, 어떤 부분이 어떤 구성요소를 “포함”한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있는 것을 의미한다. Singular expressions include plural expressions unless the context clearly indicates otherwise. In addition, throughout the specification of the present application, when a certain part "includes" a certain component, it means that other components may be further included rather than excluding other components unless otherwise stated.
본 발명에서 모바일 디바이스는 다양한 형태로 구현될 수 있다. 예를 들어, 본 명세서에서 기술되는 모바일 디바이스에는 휴대폰, 스마트 폰(smart phone), 노트북 컴퓨터(notebook computer), 디지털방송용 단말기, PDA (Personal Digital Assistants), PMP(Portable Multimedia Player), 네비게이션 등과 같은 이동 단말기와 스마트 TV 리모컨, 게임 컨트롤러, 모션봉(스틱 형태) 등이 포함된다. In the present invention, the mobile device can be implemented in various forms. For example, mobile devices described herein include mobile phones, smart phones, notebook computers, terminals for digital broadcasting, personal digital assistants (PDAs), portable multimedia players (PMPs), navigation, etc. It includes a terminal, a smart TV remote control, a game controller, and a motion stick (stick type).
본 발명은 본 발명의 및 필수적 특징을 벗어나지 않는 범위에서 다른 특정한 형태로 구체화될 수 있음은 당업자에게 자명하다.It is apparent to those skilled in the art that the present invention may be embodied in other specific forms without departing from the essential features of the present invention.
이하, 도면들을 참조하여 본 발명의 실시 예에 대해 상세히 설명하기로 한다. 도면상에서 동일 부호는 동일한 요소를 지칭한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the drawings. In the drawings, the same reference numerals refer to the same elements.
도 1은 본 발명의 실시예에 따른 사용자 모션을 인식하는 모바일 디바이스(100)의 구성도이다. 도 1을 참조하면 모바일 디바이스(100)는 프로세서(110), 센서부(120), 메모리부(130), 디스플레이부(140), 입력부(150), 및 통신부(160) 을 포함할 수 있다. 그러나 도 1 은 본 발명의 다양한 실시예들 중 하나이며, 도 1 에 도시된 구성요소보다 많은 구성요소에 의해 모바일 디바이스가 구현될 수도 있고, 그보다 적은 구성요소에 의해서도 모바일 디바이스는 구현될 수 있다. 이하 상기 구성요소들에 대해 살펴본다. 1 is a block diagram of a
모바일 디바이스(100)는 적어도 하나의 프로세서(110)를 포함할 수 있으며, 프로세서(110)는 중앙처리전자 장치 (CPU), 어플리케이션 프로세서 (AP), 또는 커뮤니케이션 프로세서 (CP)를 포함할 수 있다. 프로세서(110)는 모션인식부(112)과 모션 데이터 수집/학습부(114)를 포함할 수 있다. 예를 들어, 프로세서(110)는 센서부(120)을 통해 모바일 디바이스(100)의 움직임을 검출하거나, 사용자에 의해 미리 정의된 모션 인식 이벤트가 발생한 경우, 모션인식부(112)를 활성 모드로 전환하도록 제어할 수 있다. 모션인식부(112)는 활성 모드에서 센서부(120)가 획득한 모션 데이터를 수신하여, 메모리(130)에 미리 저장된 사용자 지정 모션 모델과 센서부(120)에서 획득된 모션 데이터를 비교하여 사용자의 모션을 인식할 수 있다. 예를 들어, 모션인식부(112)는 센서부(120)에서 획득된 모션 데이터와 메모리(130)에 저장된 사용자 지정 모션 모델의 궤적 또는 이미지를 비교하여 사용자의 모션을 인식할 수 있다. 여기서, 센서부(120)를 통해 획득되는 모션 데이터는 모바일 디바이스(100)의 좌표 변화(병진 운동)와 회전각 변화(각축별 회전 운동) 중 적어도 하나에 기반한 데이터를 포함할 수 있다. 즉, 모션 데이터는 좌표 변화 데이터 및/또는 각축별 회전각 데이터 등을 포함할 수 있다. 모션인식부(112)는, 센서부(120)를 통해 검출된 모션 데이터와 메모리(130)에 미리 저장된 모션 모델을 비교하여, 데이터 오차(예를 들어, 좌표 변화 또는 각축별 회전각 오차)가 사전에 결정된 소정의 임계값 이하인 경우에 양 모션 데이터가 매칭되는 것으로 판단할 수 있다. 반대로, 비교 결과 데이터 오차가 사전 결정된 소정의 임계값을 초과하는 경우에는 양 모션 데이터가 매칭되지 않는 것으로 판단할 수 있다. 모션인식부(112)에 의해 양 모션 데이터가 매칭하는 것으로 판단되면, 사용자 모션 인식은 성공한 것으로 판단되어 소프트웨어 개발 도구(Software Development Kit; SDK)를 다운로드할 수 있다. 또 다른 실시예로, 모션 인식 성공 여부가 디스플레이부(140)에 출력되거나, 통신부(160)를 통해 외부 기기 또는 네트워크에 모션 인식 성공 결과가 전송될 수 있다. 반면, 모션인식부(112)에 의해 양 모션 데이터가 매칭되지 않는 것으로 판단되면, 프로세서(110)는 데이터를 수집하여 머신러닝 알고리즘을 적용하도록 제어할 수 있다. 즉, 데이터들이 매칭되지 않는 것으로 판단되면, 모션인식부(112)는 모션데이터수집/학습부(114)로 모션 데이터 수집 요청을 전송한다. 모션데이터수집/학습부(114)는 모션인식부(112)로부터 모션 데이터 수집 요청을 수신하여, 모션의 궤적 데이터에 대응하는 모션 데이터를 수집하고 수집된 모션 데이터에 대해 머신러닝 알고리즘을 적용하여 학습 결과물을 생성한다. 모션데이터수집/학습부(114)의 구체적인 동작에 대해서는 이하에서 다시 설명하기로 한다.The
또한, 모바일 디바이스(100)는 적어도 하나의 센서부(120)를 포함할 수 있다. 센서부(120)는 가속도 센서(acceleration sensor), 자기 센서(magnetic sensor), 중력 센서(G-sensor), 자이로스코프 센서(gyroscope sensor) 및 모션 센서(motion sensor)를 포함하는 그룹에서 선택되는 적어도 하나의 센서일 수 있다. 물론, 본 명세서에 개시된 모바일 디바이스는, 이러한 센서들 중 적어도 둘 이상의 센서에서 센싱되는 정보들을 조합하여 활용할 수 있다. 일 실시예에 따르면, 센서부(120)는 모바일 디바이스(100)의 모션을 센싱할 수 있는 모션센서부인 것이 바람직하다. 도 2를 참조하면, 센서부(120)는 물체의 회전각을 센싱하는 자이로 센서(122)를 포함한다. 또 다른 실시예에 따르면, 센서부(120)는 모바일 디바이스의 이동시에 이동 방향을 계산하는 지자기 센서(124) 및/또는 모바일 디바이스를 소지한 사용자의 보폭에 보수(한 걸음)를 곱하여 이동 거리를 계산하는 가속도 센서(126)를 더 포함할 수 있다. 가속도 센서(126)는 잘 알려진 바와 같이, 지표면을 중심으로 가속도를 측정하는 센서로서, 자이로 센서(122)와 가속도 센서(126)를 함께 사용함으로써 물체의 운동을 좀 더 정확하게 측정할 수 있다. 예를 들어, 측정 대상이 되는 물체가 2차원 운동을 한다면 자이로 센서 1개와 가속도 센서 2개를 조합하여 사용할 수 있으며, 측정 대상이 되는 물체가 3차원 운동을 한다면 자이로 센서 3개와 가속도 센서 3개를 조합하여 사용할 수 있다. 일 실시예에 따르면, 6자유도(Degrees of Freedom)를 가지는 6개의 센서들을 조합하여 물체의 3차원 운동을 측정할 수도 있다. 또한, 온도 변화에 따라 특성이 변하는 자이로 센서의 특성에 따라, 센서부(120)는 온도에 따른 오차를 보상하기 위한 온도 센서(미도시)를 더 포함할 수 있다. In addition, the
또한, 모바일 디바이스(100)는 적어도 하나의 메모리부(130)를 포함할 수 있다.메모리부(130)는 프로세서(110)의 동작 및 제어를 위한 프로그램이 저장될 수도 있고, 입/출력되는 데이터들(예를 들어, 메시지, 이미지, 동영상 등)의 저장을 위한 기능을 수행할 수도 있다. 또한, 메모리(130)에는 사용자에 의해 미리 설정된 모션 모델이 저장될 수 있다.In addition, the
또한, 모바일 디바이스(100)는 적어도 하나의 디스플레이부(140)를 포함할 수 있다. 디스플레이부(140)는 모바일 디바이스(100)에서 처리되는 정보를 출력한다. 예를 들어 모바일 디바이스가 통화 모드인 경우 통화와 관련된 UI(User Interface) 또는 GUI(Graphic User Interface)를 표시한다. 그리고 모바일 디바이스(100)가 화상 통화 모드 또는 촬영 모드인 경우 촬영 또는/및 수신된 영상 또는 UI, GUI를 표시한다. 한편, 디스플레이부(140)와 터치패드가 상호 레이어 구조를 이루어 터치 스크린으로 구성될 수도 있다.Further, the
또한, 모바일 디바이스(100)는 적어도 하나의 입력부(150)를 포함할 수 있다. 입력부(150)는 비디오 신호 입력을 위한 카메라부, 오디오 신호 입력을 위한 마이크부, 및/또는 사용자가 단말기의 동작 제어 입력을 위한 사용자 입력부 등을 포함할 수 있다. Further, the
또한, 모바일 디바이스(100)는 적어도 하나의 통신부(160)를 포함할 수 있다. 통신부(160)는 모바일 디바이스(100)와 통신 시스템 간의 무선 통신 또는 모바일 디바이스(100)와 모바일 디바이스(100)가 위치한 네트워크 사이의 무선 통신을 하게 하는 하나 이상의 구성요소를 포함할 수 있다. 예를 들어, 통신부(160)는 이동통신부, 무선 인터넷부, 근거리 통신부, 위치정보부 등을 포함할 수 있다.In addition, the
모션인식부와With motion recognition 모션데이터Motion data 수집/ collection/ 학습부Learning Department
상술한 바와 같이, 모션인식부(112)는 센서부(120)에서 획득된 모션 데이터와 메모리(130)에 저장된 사용자 지정 모션 모델을 비교하여 매칭 여부를 판단할 수 있다. 또한, 모션인식부(112)는 센서 데이터와 메모리에 저장된 모션 모델의 비교 결과, 양 데이터가 매칭되지 않으면, 모션데이터수집/학습부(114)로 하여금 머신러닝 알고리즘을 수행하도록 제어할 수 있다. 또한 일 실시예에 따르면, 모션인식부(412)은 모션 모델에 대응하는 모션 데이터를 저장하도록 메모리(130)를 제어할 수 있다. 여기서, 사용자 모션에 대한 모션 모델은 적어도 하나의 모션 데이터로 구성될 수 있다. 예를 들어, 모션 데이터는 사용자의 특정 모션에 대한 한 주기 동안의 회전각, 가속도, 또는 회전 강도 데이터 중 적어도 하나를 포함할 수 있다. 또한 일 실시예에 따르면, 모션인식부(412)는 사용자의 모션을 인식한 경우, 사용자 모션 정보를 표시하도록 디스플레이부(140)를 제어할 수 있다.As described above, the
또한, 상술한 바와 같이, 모션데이터수집/학습부(114)는 센서부(120)에 의해 검출된 모션 데이터에 대응하는 모션 데이터를 수집하고, 수집된 모션 데이터에 대해 머신러닝 알고리즘을 적용하여 학습시킴으로써 학습 결과물을 생성한다. 모션데이터수집/학습부(114)는, 모션인식부(112)로부터 모션 데이터 수집 요청을 수신한 경우에, 모션 데이터 수집/학습을 개시할 수 있다. 이를 위해, 모션데이터수집/학습부(114)는 데이터 마이닝, 데이터 분석, 머신러닝 알고리즘 기술을 위해 이용되는 정보를 수신, 분류, 저장 및/또는 출력하도록 구성되는 학습메모리부(미도시)를 포함할 수 있다. 학습메모리부는 모바일 디바이스를 통해 수신, 검출, 생성, 미리 정의된 정보 등을 저장하도록 구성될 수 있다. 학습메모리부는 학습, 데이터 마이닝, 예측 분석 또는 다른 머신러닝 기술에서 사용하기 위한 데이터를 식별, 색안화, 분류, 조작, 저장 및/또는 검색하기 위해, 상기 데이터들을 하나 이상의 데이터베이스에 저장하도록 구성될 수 있다. 학습메모리부에 저장된 정보는 서로 다른 유형의 데이터 분석, 기계 학습 알고리즘 및 기계 학습 기술 중 적어도 하나를 사용하는 제어부에 의해 이용될 수 있다. 이러한 알고리즘의 예로는 K 최근접 이웃 시스템(k-Nearest neighbor system), 퍼지 논리(fuzzy logic)(예를 들어, 가능성 이론(possibility theory)), 신경 회로망(neural networks), 볼츠만 머신(Boltzmann machines), 벡터 양자화, 펄스 신경망(pulsed neural nets), 서포트 벡터 머신(support vector machines), 최대-마진 분류기(maximum margin classifiers), 힐 클라이밍(hill-climbing), 유도 논리 시스템(inductive logic systems), 베이지안 네트워크(baysian networks), 페트리 네트(petri nets) (예를 들어, 유한 상태 기계(finite state machines), 밀리 머신(mealy machines), 무어 유한 상태 머신(moore finite state machines)), 분류 트리(classifier trees)(예를 들어, 퍼셉트론 트리(perceptron trees), 서포트 벡터 트리(support vector trees), 마코브 트리(markov trees), 트리-숲 결정(decision tree forests), 랜덤 숲(random forests)), 목마전 모형 및 시스템(pandemonium models and systems), 클러스터링(clustering), 인공 지능 플래닝(artificially intelligent planning), 인공 지능 예측(artificially intelligent forecasting), 데이터 퓨전(data fusion), 센서 퓨전(sensor fusion), 이미지 퓨전(image fusion), 강화 학습(reinforcement learning), 증강 현실(augmented reality), 패턴 인식(pattern recognition), 자동 플래닝(automated planning) 등이 있다.In addition, as described above, the motion data collection/
또 다른 실시예에 따르면, 머신러닝 알고리즘은 앙상블(ensemble) 구조 알고리즘을 포함할 수 있다. 예를 들어, 앙상블 구조를 구성하는 다수의 머신러닝 알고리즘으로는, 예컨대, 결정 트리(DT, Decision Tree) 분류 알고리즘, 랜덤 포레스트(RF, Random Forest) 분류 알고리즘, 및 SVM(Support Vector Machine) 분류 알고리즘을 포함할 수 있다. 결정 트리 분류 알고리즘은 트리 구조로 학습하여 결과를 도출하는 방식으로 결과 해석 및 이해가 용이하고, 데이터 처리 속도가 빠르며 탐색 트리 기반으로 룰 도출이 가능할 수 있다. DT에 추가하여, 결정트리 알고리즘의 낮은 분류 정확도를 개선하기 위한 방안으로 RF를 적용할 수 있다. RF는 다수의 DT를 앙상블로 학습한 결과를 도출하는 방식으로, DT보다 결과 이해가 어려우나 DT보다 결과 정확도가 높을 수 있다는 장점이 있다. 이에 더하여, DT 또는 RF 학습을 통해 발생 가능한 과적합의 개선 방안으로 SVM을 적용할 수 있다. SVM 분류 알고리즘은 서로 다른 분류에 속한 데이터를 평면 기반으로 분류하는 방식으로, 일반적으로 높은 정확도를 갖고, 구조적으로 과적합(overfitting)에 낮은 민감도를 가질 수 있다. 상기 예에서는 3개의 머신러닝 알고리즘을 이용하는 앙상블 구조에 대해 설명하였으나, 머신러닝 알고리즘의 개수 또는 종류가 반드시 이에 한정되는 것은 아니며, 필요에 따라 머신러닝 알고리즘의 개수 및/또는 종류는 변경될 수 있다. 이렇게 구성된 앙상블 구조를 기반으로, 수집된 모션 데이터 샘플 정보를 이용하여 학습함으로써, 학습한 결과를 반영하여 사용자 맞춤형 모션 인식 방법을 제공할 수 있다. According to another embodiment, the machine learning algorithm may include an ensemble structure algorithm. For example, as a plurality of machine learning algorithms constituting the ensemble structure, for example, a decision tree (DT) classification algorithm, a random forest (RF) classification algorithm, and a support vector machine (SVM) classification algorithm It may include. The decision tree classification algorithm is a method of learning in a tree structure to derive results, so that result interpretation and understanding are easy, data processing speed is fast, and rules can be derived based on a search tree. In addition to DT, RF can be applied as a way to improve the low classification accuracy of the decision tree algorithm. RF is a method of deriving the result of learning a plurality of DTs in an ensemble, and has the advantage that it is more difficult to understand the result than DT, but the result accuracy may be higher than DT. In addition, SVM can be applied as a way to improve overfitting that can occur through DT or RF learning. The SVM classification algorithm classifies data belonging to different classifications on a plane basis, and generally has high accuracy and may structurally have low sensitivity to overfitting. In the above example, an ensemble structure using three machine learning algorithms has been described, but the number or type of machine learning algorithms is not necessarily limited thereto, and the number and/or type of machine learning algorithms may be changed as necessary. Based on the ensemble structure configured in this way, by learning using the collected motion data sample information, a user-customized motion recognition method can be provided by reflecting the learning result.
사용자 맞춤형 Customized 모션motion 인식 방법 Recognition method
도 3을 참조하여, 본 발명의 바람직한 실시예에 따른 모바일 디바이스를 이용한 사용자 맞춤형 모션 인식 방법에 대해 설명한다. 우선, 모션센서부를 포함하는 모바일 디바이스를 이용하여 사용자 모션을 센싱하여 모션 센서 데이터를 획득한다(S100). 상술한 바와 같이, 모션센서부는 자이로 센서를 포함하는 것이 바람직하다. 또한, 센서부는 가속도 센서, 자기 센서, 중력 센서, 및 모션 센서(motion sensor)를 포함하는 그룹에서 선택되는 적어도 하나의 센서를 더 포함할 수 있다. 모션센서부는 사용자 모션을 센싱하여 획득된 센서 데이터를 모션인식부로 출력한다. 모션센서부에 의해 획득되는 센서 데이터는 모바일 디바이스의 좌표 변화(병진 운동)와 회전각 변화(각축별 회전 운동) 중 적어도 하나에 기반한 데이터를 포함할 수 있다. 모션인식부는 모션센서부로부터 센서 데이터를 수신하여 전처리(S110)한 후, 센서 데이터에 기반하여 모션 궤적 데이터를 이미지로 추출한다(S120). 모션인식부는 추출된 모션 궤적 데이터와 메모리에 저장된 미리 설정된 모션 모델을 비교하여 매칭 여부를 판단한다(S130). 매칭 여부를 판단하여 양 데이터의 오차가 사전에 결정된 소정의 임계값 이하인 경우에 양 데이터가 매칭되는 것으로 판단할 수 있다. 반대로, 비교 결과 양 데이터의 오차가 사전 결정된 소정의 임계값을 초과하는 경우에는 양 데이터가 매칭되지 않는 것으로 판단할 수 있다. 비교 결과(S130) 데이터들이 매칭되는 것으로 판별되면(YES), SDK(소프트웨어 다운로드 키트; Software Download Kit)를 다운로드(S170)함으로써 절차를 종료할 수 있다. 반면, 비교 결과(S130) 데이터들이 매칭되지 않는 것으로 판별되면(NO), 머신러닝을 이용한 모션 데이터 수집/학습을 수행할 수 있다. 상술한 바와 같이, 비교 결과(S130) 데이터들이 매칭되지 않는 것으로 판별되면(NO), 모션인식부는 모션데이터수집/학습부로 모션 데이터 수집 요청을 전송하며, 모션데이터수집/학습부는, 모션의 궤적 데이터에 대응하는 모션 데이터를 수집하고 수집된 모션 데이터에 대해 머신러닝 알고리즘을 적용한다. 머신러닝 알고리즘 적용을 위해 모션데이터수집/학습부는 우선, 모션 데이터에 라벨을 부여하는 단계를 수행한다(S-140). 사용자는 학습데이터마다 레이블을 지정할 수 있다. 모션 데이터에 대해 라벨을 부여한 후, 모션 궤적 데이터에 대응하는 모션 데이터를 수집한다(S-150). 모션 데이터가 수집되면, 수집된 데이터들에 대해 머신러닝 알고리즘을 적용하여 학습함으로써 학습결과물을 생성한다(S-160). 한편, 모션 데이터 학습 단계(S-160) 이전에, 머신러닝 학습의 정확도 향상을 위해, 수집된 모션 데이터를 증폭시키는 단계를 더 포함할 수 있다. 머신러닝 적용 결과, 학습 결과물이 생성되면, SDK를 다운로드하고 이에 학습 결과물을 적용함으로써 다양한 사용자 맞춤형 모션 인식을 수행할 수 있다.Referring to Figure 3, a description will be given of a user-customized motion recognition method using a mobile device according to an embodiment of the present invention. First, motion sensor data is acquired by sensing a user motion using a mobile device including a motion sensor unit (S100). As described above, it is preferable that the motion sensor unit includes a gyro sensor. In addition, the sensor unit may further include at least one sensor selected from a group including an acceleration sensor, a magnetic sensor, a gravity sensor, and a motion sensor. The motion sensor unit senses the user's motion and outputs the acquired sensor data to the motion recognition unit. The sensor data acquired by the motion sensor unit may include data based on at least one of a coordinate change (translational motion) and a rotation angle change (rotational motion for each axis) of the mobile device. The motion recognition unit receives sensor data from the motion sensor unit and performs pre-processing (S110), and then extracts the motion trajectory data as an image based on the sensor data (S120). The motion recognition unit compares the extracted motion trajectory data with a preset motion model stored in the memory to determine whether to match (S130). It may be determined whether or not the data match, and when the error of both data is less than or equal to a predetermined threshold value determined in advance, it may be determined that both data match. Conversely, when an error of both data exceeds a predetermined threshold as a result of the comparison, it may be determined that both data are not matched. If the comparison result (S130) is determined to match the data (YES), the procedure can be terminated by downloading (S170) an SDK (Software Download Kit). On the other hand, if it is determined that the data are not matched in the comparison result (S130) (NO), motion data collection/learning using machine learning may be performed. As described above, if it is determined that the data are not matched (NO) as a result of the comparison (S130), the motion recognition unit transmits a motion data collection request to the motion data collection/learning unit, and the motion data collection/learning unit, the motion trajectory data. It collects motion data corresponding to and applies a machine learning algorithm to the collected motion data. In order to apply the machine learning algorithm, the motion data collection/learning unit first performs a step of labeling the motion data (S-140). Users can designate a label for each learning data. After labeling the motion data, motion data corresponding to the motion trajectory data is collected (S-150). When motion data is collected, a learning result is generated by learning by applying a machine learning algorithm to the collected data (S-160). Meanwhile, prior to the motion data learning step (S-160), in order to improve accuracy of machine learning learning, the step of amplifying the collected motion data may be further included. When the machine learning application result and the learning result are generated, various user-customized motion recognition can be performed by downloading the SDK and applying the learning result to it.
자이로Gyro 센서를 이용하여 Using a sensor 모션의Motion 궤적 데이터를 이미지로 변환하는 방법 How to convert trajectory data into an image
이하에서는 본 발명의 바람직한 실시예에 따라, 자이로 센서를 이용하여 획득한 모션 데이터를 궤적 이미지로 추출하는 방법에 대해 설명한다. 이에 앞서, 도 4를 참조하면 자이로 센서의 각 축(X축, Y축, Z축)을 도시한다. 자이로 센서는 각속도계라고도 하며, 각속도를 측정하여 얻은 정보에 기초하여 기울기를 측정한다. 본 발명에서의 자이로 센서는 튜닝포크(Tuning Fork) 방식의 MEMS 센서를 포함한다. 도 4를 참조하면, 자이로 센서는 X 축, Y 축, Z 축에 각각 대응되는 롤(Roll), 피치(Pitch), 요(Yaw) 값을 계산함으로써 X 축, Y 축, Z 축 방향에 대한 회전각(각속도)을 각각 감지한다.Hereinafter, a method of extracting motion data acquired using a gyro sensor as a trajectory image according to a preferred embodiment of the present invention will be described. Prior to this, referring to FIG. 4, each axis (X axis, Y axis, Z axis) of the gyro sensor is shown. The gyro sensor, also called an angular velocity meter, measures the inclination based on information obtained by measuring the angular velocity. The gyro sensor in the present invention includes a tuning fork type MEMS sensor. Referring to FIG. 4, the gyro sensor calculates roll, pitch, and yaw values corresponding to the X, Y, and Z axes, respectively, for the X, Y, and Z axis directions. Each detects the rotation angle (angular velocity).
다음으로, 도 5 및 도 6을 참조하여, 모션 데이터를 궤적 이미지로 변환하는 방법에 대해 설명한다. 본 발명의 바람직한 실시예에 따르면, 센서부를 통해 검출된 모션 데이터는 이미지로 추출될 수 있다. 일 실시예에 따르면, 검출된 모션 데이터들 중 지배적인 데이터들을 이용하여 이미지를 추출할 수 있다. 예를 들어, 센서 모듈은 자이로 센서이고, 센서 모듈을 통해 검출된 모션 데이터가 각축(X축, Y축, Z축)별 회전각 데이터인 경우, 3개의 검출 데이터들 중에서 2개의 지배적인 데이터들을 결정하고, 결정된 데이터들을 이용하여 2차원 이미지를 추출할 수 있다. '지배적인 데이터들'의 정의는 사용자에 의해 다양하게 정의될 수 있으며, 일 예로, 3개의 데이터들 중에서 2개의 지배적인 데이터들을 결정한다는 것은, 획득된 복수 개의 데이터들 중에서 변화량이 가장 적은 하나의 데이터를 제외시킨다는 것과 동일한 의미로 기술될 수도 있다. 관련하여, 도 5 를 참조하여 사용자가 모바일 디바이스를 이용하여 한글 자음 'ㄱ' 을 모션으로 수행하는 예를 설명한다. 모바일 디바이스를 이용하여 'ㄱ' 중 첫번째 획을 그릴 때, 사용자는 손목을 회전하는 방식 등으로 모바일 디바이스를 왼쪽에서 오른쪽으로 돌릴 수 있으며, 이를 위에서 내려다 보면 도 5(a)와 같다. 이 때는 자이로 센서의 X축 회전각이 증가하게 된다. 도 5(b)는 사용자가 모바일 디바이스를 이용하여 'ㄱ' 중 첫번째 획을 그리는 것을 완료한 상태를 도시한다. 다음으로, 사용자가 모바일 디바이스를 이용하여 'ㄱ' 중 두번째 획을 그릴 때, 사용자는 모바일 디바이스를 위에서 아래로 내리거나, 손목을 회전하여 모바일 디바이스를 위에서 아래 방향으로 회전시킬 수 있으며, 이를 측면에서 보면 도6(a)와 같다. 이 때는 자이로 센서의 Z축 회전각이 감소하게 된다. 도 6(b)는 사용자가 모바일 디바이스를 이용하여 'ㄱ' 중 두번째 획을 그리는 것을 완료한 상태를 도시한다. 상기 도5와 도 6에 예시된 바와 같이 수행된 'ㄱ' 모션 인식 시 획득된 센서 데이터를 그래프로 도시하면 도 7과 같다. 도7을 참조하면, 녹색 그래프는 X축 회전각 데이터, 청색 그래프는 Y축 회전각 데이터, 적색 그래프는 Z축 회전각 데이터를 각각 표시하며, 이 때 3개의 획득 데이터들 중에서 지배적인 데이터는 X축, Z축 회전각 데이터가 될 수 있다. 상술한 예와 같이, 지배적인 데이터들은, 획득된 데이터들 중에서 변화량이 가장 적은 데이터를 제외시킴으로써 결정될 수 있다. 도 7을 참조하면, (a) 구간은 사용자가 글을 쓰기 전, 모바일 디바이스를 쥐고 있는 사용자의 손목이 오른쪽에서 왼쪽으로 자연스럽게 돌아가는 구간이며, (b) 구간은 사용자가 글을 쓰기 시작하는 지점으로, 왼쪽에서 오른쪽으로 자이로 센서 검출값이 계속 증가 후 멈추는 구간으로, 상기 예에 따르면 'ㄱ'의 첫번째 획을 그리는 구간에 대응된다. (c) 구간은 위쪽에서 아래쪽으로 자이로 센서 검출값이 감소 후 멈추는 구간으로, 상기 예에 따르면 'ㄱ'의 두번째 획을 그리는 구간에 대응된다. (d) 구간은 사용자가 글쓰기를 멈춘 상태에 해당하는 구간이다. 이렇게 획득된 센서 데이터들 중에서 지배적인 데이터들을 결정하고, 결정된 데이터들을 이용하여 2차원 이미지('ㄱ')를 추출할 수 있다. 이렇게 추출된 이미지가 도 8에 도시되어 있다.Next, a method of converting motion data into a trajectory image will be described with reference to FIGS. 5 and 6. According to a preferred embodiment of the present invention, motion data detected through the sensor unit may be extracted as an image. According to an embodiment, an image may be extracted using dominant data among detected motion data. For example, if the sensor module is a gyro sensor, and the motion data detected through the sensor module is rotation angle data for each axis (X-axis, Y-axis, Z-axis), two dominant data among the three detection data are And extracts a 2D image using the determined data. The definition of'dominant data' can be variously defined by the user. For example, determining two dominant data out of three data means that one of the plurality of acquired data It may also be described in the same sense as excluding data. In relation to this, an example in which the user performs the Korean consonant'a' in motion using a mobile device will be described with reference to FIG. 5. When drawing the first stroke of'a' using the mobile device, the user can rotate the mobile device from left to right by rotating the wrist, and looking down from above, as shown in FIG. 5(a). In this case, the rotation angle of the X-axis of the gyro sensor increases. 5(b) shows a state in which the user has completed drawing the first stroke of'A' using the mobile device. Next, when the user draws the second stroke of'a' using the mobile device, the user can rotate the mobile device from the top to the bottom by lowering the mobile device or rotating the wrist. It is the same as Fig. 6(a). In this case, the Z-axis rotation angle of the gyro sensor decreases. 6(b) shows a state in which the user completes drawing the second stroke of'a' using the mobile device. 7 is a graph showing sensor data acquired when the'a' motion is recognized as illustrated in FIGS. 5 and 6. Referring to FIG. 7, a green graph indicates X-axis rotation angle data, a blue graph indicates Y-axis rotation angle data, and a red graph indicates Z-axis rotation angle data. Among the three acquired data, the dominant data is X It can be axis and Z axis rotation angle data. As in the above-described example, the dominant data may be determined by excluding data having the least amount of change among acquired data. Referring to FIG. 7, (a) is a section in which the user's wrist holding the mobile device naturally rotates from right to left before the user writes, and (b) is the point at which the user starts writing. , From left to right, the gyro sensor detection value continues to increase and then stops. According to the above example, it corresponds to the section where the first stroke of'a' is drawn. (c) The section is a section where the gyro sensor detection value decreases from top to bottom and then stops. According to the above example, it corresponds to the section where the second stroke of'a' is drawn. (d) The section corresponds to the state in which the user has stopped writing. Dominant data is determined among the sensor data thus obtained, and a two-dimensional image ('a') may be extracted using the determined data. The extracted image is shown in FIG. 8.
전술한 본 발명은, 프로그램이 기록된 매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 매체는, 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 매체의 예로는, HDD(Hard Disk Drive), SSD(Solid State Disk), SDD(Silicon Disk Drive), ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장 장치 등이 있으며, 또한 캐리어 웨이브(예를 들어, 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한, 상기 컴퓨터는 단말기의 제어부를 포함할 수도 있다. 따라서, 상기의 상세한 설명은 모든 면에서 제한적으로 해석되어서는 아니되고 예시적인 것으로 고려되어야 한다. 본 발명의 범위는 첨부된 청구항의 합리적 해석에 의해 결정되어야 하고, 본 발명의 등가적 범위 내에서의 모든 변경은 본 발명의 범위에 포함된다.The present invention described above can be implemented as a computer-readable code in a medium on which a program is recorded. The computer-readable medium includes all types of recording devices storing data that can be read by a computer system. Examples of computer-readable media include HDD (Hard Disk Drive), SSD (Solid State Disk), SDD (Silicon Disk Drive), ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage device, etc. There is also a carrier wave (eg, transmission over the Internet). In addition, the computer may include a control unit of the terminal. Therefore, the detailed description above should not be construed as restrictive in all respects and should be considered as illustrative. The scope of the present invention should be determined by reasonable interpretation of the appended claims, and all changes within the equivalent scope of the present invention are included in the scope of the present invention.
100: 모바일 디바이스
110: 프로세서
112: 모션 인식부
114: 모션수집/학습부
120: 센서부
122: 자이로 센서
124: 지자기 센서
126: 가속도 센서
130: 메모리부
140: 디스플레이부
150: 입력부
160: 통신부100: mobile device
110: processor
112: motion recognition unit
114: Motion collection/learning department
120: sensor unit
122: gyro sensor
124: geomagnetic sensor
126: acceleration sensor
130: memory unit
140: display unit
150: input
160: communication department
Claims (5)
상기 센서부를 이용하여 상기 모바일 디바이스의 움직임에 따른 모션 센서 데이터를 획득하는 단계;
획득된 상기 모션 센서 데이터로부터 상기 모바일 디바이스의 모션의 궤적 이미지를 추출하는 단계;
미리 결정된 모델과 상기 추출된 모션의 궤적 이미지의 매칭 여부를 판단하는 단계;
상기 미리 결정된 모델과 상기 추출된 모션의 궤적 데이터가 매칭되는 경우, 소프트웨어 개발 도구(Software Development Kit; SDK)를 다운로드하는 단계; 및
상기 미리 결정된 모델과 상기 추출된 모션의 궤적 데이터가 매칭되지 않는 경우, 상기 모션 궤적 데이터에 대응하는 모션 데이터를 수집하고 수집된 모션 데이터에 대해 머신러닝 알고리즘을 적용하여 학습 결과물을 생성한 후, 상기 SDK)를 다운로드하여 상기 SDK에 상기 학습 결과물을 반영하는 단계를 포함하는 것을 특징으로 하는 사용자 맞춤형 모션 인식 방법.
A method of recognizing user motion using a mobile device including a sensor unit,
Acquiring motion sensor data according to the movement of the mobile device using the sensor unit;
Extracting a motion trajectory image of the mobile device from the obtained motion sensor data;
Determining whether a predetermined model matches the extracted motion trajectory image;
Downloading a software development tool (SDK) when the predetermined model matches the extracted motion trajectory data; And
When the predetermined model and the extracted motion trajectory data do not match, the motion data corresponding to the motion trajectory data is collected and a machine learning algorithm is applied to the collected motion data to generate a learning result, and the SDK) downloading and reflecting the learning result in the SDK.
가속도 센서(acceleration sensor), 자기 센서(magnetic sensor), 중력 센서(G-sensor), 자이로스코프 센서(gyroscope sensor) 및 모션 센서(motion sensor)를 포함하는 그룹에서 선택되는 적어도 하나의 센서인 것을 특징으로 하는 사용자 맞춤형 모션 인식 방법.
The method of claim 1, wherein the sensor unit,
Characterized by at least one sensor selected from the group including an acceleration sensor, a magnetic sensor, a gravity sensor (G-sensor), a gyroscope sensor, and a motion sensor. User-customized motion recognition method.
획득되는 상기 모션 센서 데이터는 X축, Y축, Z축 방향의 회전각 변이값이며,
상기 획득된 상기 모션 센서 데이터로부터 상기 모바일 디바이스의 모션의 궤적 이미지를 추출하는 단계에서, 상기 X축, Y축, Z축 방향의 회전각 변이값에 기반하여 2차원의 모션 궤적 이미지를 추출하는 것을 특징으로 하는 사용자 맞춤형 모션 인식 방법.
The method of claim 1, wherein the sensor unit is a gyro sensor unit,
The obtained motion sensor data is a rotation angle shift value in the X-axis, Y-axis, and Z-axis directions,
In the step of extracting a motion trajectory image of the mobile device from the obtained motion sensor data, extracting a two-dimensional motion trajectory image based on rotation angle shift values in the X-axis, Y-axis, and Z-axis directions. User-customized motion recognition method characterized by.
상기 미리 결정된 모델과 상기 추출된 모션의 궤적 데이터가 매칭되지 않는 경우, 상기 머신러닝 알고리즘을 적용하기 이전에, 모션 데이터마다 라벨을 부여하는 단계를 더 포함하고,
상기 학습 결과물 생성 이전에, 상기 머신러닝을 위해 수집된 상기 모션 데이터들을 증폭하는 단계를 더 포함하는 것을 특징으로 하는 사용자 맞춤형 모션 인식 방법.
The method of claim 1, further comprising pre-processing the obtained motion sensor data between the step of obtaining the motion sensor data and the step of extracting the motion trajectory image,
If the predetermined model and the extracted motion trajectory data do not match, prior to applying the machine learning algorithm, further comprising the step of assigning a label for each motion data,
Before generating the learning result, the method further comprising amplifying the motion data collected for the machine learning.
모션인식부와 모션데이터 수집/학습부를 포함하는 프로세서;
상기 모바일 디바이스의 모션 데이터를 획득하는 센서부; 및
상기 프로세서의 동작 및 제어를 위한 프로그램 및 사용자 지정 모션 모델 데이터를 저장하는 메모리를 포함하되,
상기 센서부에 의해 획득되는 모션 데이터는, 좌표 변화 데이터 및 각축별 회전각 데이터 중 적어도 하나를 포함하고,
상기 모션인식부는 상기 센서부가 획득한 모션 데이터를 궤적 이미지로 추출하여 상기 메모리에 미리 저장된 사용자 지정 모션 모델과 비교함으로써 매칭 여부를 판단하며, 데이터들이 매칭되지 않는 것으로 판단되면 상기 모션데이터 수집/학습부로 모션 데이터 수집 요청을 전송하고, 데이터들이 매칭되는 것으로 판단되면 제어부는 소프트웨어 개발 도구를 다운로드하도록 제어하고,
상기 모션데이터 수집/학습부는 상기 모션인식부로부터 모션 데이터 수집 요청을 수신하여, 상기 모션의 궤적 이미지에 대응하는 모션 데이터를 수집하고 수집된 모션 데이터에 대해 머신러닝 알고리즘을 적용하여 학습 결과물을 생성하여, 다운로드한 상기 소프트웨어 개발 도구에 상기 학습 결과물을 반영하는 것을 특징으로 하는 사용자 맞춤형 모션 인식을 위한 모바일 디바이스.
As a mobile device for user-customized motion recognition,
A processor including a motion recognition unit and a motion data collection/learning unit;
A sensor unit acquiring motion data of the mobile device; And
Including a memory for storing a program for operation and control of the processor and user-specified motion model data,
The motion data acquired by the sensor unit includes at least one of coordinate change data and rotation angle data for each axis,
The motion recognition unit extracts the motion data acquired by the sensor unit as a trajectory image and compares it with a user-designated motion model previously stored in the memory to determine whether the data matched. When it is determined that the motion data collection request is transmitted and the data are matched, the control unit controls to download the software development tool,
The motion data collection/learning unit receives a motion data collection request from the motion recognition unit, collects motion data corresponding to the motion trajectory image, and generates a learning result by applying a machine learning algorithm to the collected motion data. , A mobile device for user-customized motion recognition, characterized in that reflecting the learning result on the downloaded software development tool.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020190026363A KR20200107356A (en) | 2019-03-07 | 2019-03-07 | User-customized motion recognition method using a mobile device |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020190026363A KR20200107356A (en) | 2019-03-07 | 2019-03-07 | User-customized motion recognition method using a mobile device |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| KR20200107356A true KR20200107356A (en) | 2020-09-16 |
Family
ID=72670183
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| KR1020190026363A Ceased KR20200107356A (en) | 2019-03-07 | 2019-03-07 | User-customized motion recognition method using a mobile device |
Country Status (1)
| Country | Link |
|---|---|
| KR (1) | KR20200107356A (en) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR102821161B1 (en) * | 2025-02-24 | 2025-06-16 | 주식회사 액트노바 | Animal experimental analysis system consisting of multiple sdk-based modules |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20150118639A (en) | 2014-04-14 | 2015-10-23 | 김현국 | Method for processing sensor value for motion recognition, system and apparatus |
-
2019
- 2019-03-07 KR KR1020190026363A patent/KR20200107356A/en not_active Ceased
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20150118639A (en) | 2014-04-14 | 2015-10-23 | 김현국 | Method for processing sensor value for motion recognition, system and apparatus |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR102821161B1 (en) * | 2025-02-24 | 2025-06-16 | 주식회사 액트노바 | Animal experimental analysis system consisting of multiple sdk-based modules |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US20210326574A1 (en) | Face detection method, apparatus, and device, and storage medium | |
| TWI493385B (en) | Method, computer program product, storage device and system for motion pattern classification and gesture recognition | |
| EP3754542B1 (en) | Method and apparatus for recognizing handwriting in air, and device and computer-readable storage medium | |
| US9811721B2 (en) | Three-dimensional hand tracking using depth sequences | |
| US9235278B1 (en) | Machine-learning based tap detection | |
| US10126825B2 (en) | Method for recognizing handwriting on a physical surface | |
| US20140204013A1 (en) | Part and state detection for gesture recognition | |
| US9858467B2 (en) | Method and apparatus for recognizing fingerprints | |
| CN114882437B (en) | A training method, device, electronic device and storage medium for recognition model | |
| JP2014038527A (en) | Input device, input method and program | |
| CN111798018A (en) | Behavior prediction method, behavior prediction device, storage medium and electronic equipment | |
| KR20190089628A (en) | Method and system for processing Neural network model using a plurality of electronic devices | |
| CN112684887A (en) | Application device and air gesture recognition method thereof | |
| CN107533371A (en) | Controlled using the user interface for influenceing gesture | |
| CN111797302A (en) | Model processing method, device, storage medium and electronic device | |
| US20250039537A1 (en) | Screenshot processing method, electronic device, and computer readable medium | |
| US20170344123A1 (en) | Recognition of Pickup and Glance Gestures on Mobile Devices | |
| KR20250108079A (en) | An artificial intelligence apparatus for recognizing structural formula image and method for the same | |
| KR101995799B1 (en) | Place recognizing device and method for providing context awareness service | |
| CN107111441A (en) | Multi-stage user interface | |
| KR20200107356A (en) | User-customized motion recognition method using a mobile device | |
| CN111796701A (en) | Model training method, operation processing method, device, storage medium and device | |
| CN115131871B (en) | A gesture recognition system, method and computing device | |
| KR102251076B1 (en) | Method to estimate blueprint using indoor image | |
| CN118276669A (en) | Method and device for determining relative position, extended reality system, device and medium |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PA0109 | Patent application |
St.27 status event code: A-0-1-A10-A12-nap-PA0109 |
|
| PA0201 | Request for examination |
St.27 status event code: A-1-2-D10-D11-exm-PA0201 |
|
| PE0902 | Notice of grounds for rejection |
St.27 status event code: A-1-2-D10-D21-exm-PE0902 |
|
| AMND | Amendment | ||
| P11-X000 | Amendment of application requested |
St.27 status event code: A-2-2-P10-P11-nap-X000 |
|
| P13-X000 | Application amended |
St.27 status event code: A-2-2-P10-P13-nap-X000 |
|
| PG1501 | Laying open of application |
St.27 status event code: A-1-1-Q10-Q12-nap-PG1501 |
|
| E601 | Decision to refuse application | ||
| PE0601 | Decision on rejection of patent |
St.27 status event code: N-2-6-B10-B15-exm-PE0601 |
|
| AMND | Amendment | ||
| E13-X000 | Pre-grant limitation requested |
St.27 status event code: A-2-3-E10-E13-lim-X000 |
|
| P11-X000 | Amendment of application requested |
St.27 status event code: A-2-2-P10-P11-nap-X000 |
|
| P13-X000 | Application amended |
St.27 status event code: A-2-2-P10-P13-nap-X000 |
|
| PX0901 | Re-examination |
St.27 status event code: A-2-3-E10-E12-rex-PX0901 |
|
| PX0601 | Decision of rejection after re-examination |
St.27 status event code: N-2-6-B10-B17-rex-PX0601 |
|
| X601 | Decision of rejection after re-examination | ||
| P22-X000 | Classification modified |
St.27 status event code: A-2-2-P10-P22-nap-X000 |
|
| R18-X000 | Changes to party contact information recorded |
St.27 status event code: A-3-3-R10-R18-oth-X000 |
|
| R18-X000 | Changes to party contact information recorded |
St.27 status event code: A-3-3-R10-R18-oth-X000 |
|
| R18-X000 | Changes to party contact information recorded |
St.27 status event code: A-3-3-R10-R18-oth-X000 |
|
| R18-X000 | Changes to party contact information recorded |
St.27 status event code: A-3-3-R10-R18-oth-X000 |