KR102416709B1 - 클라우드 서버 기반의 기계학습 관절정보 추출 시스템 및 그 방법 - Google Patents

클라우드 서버 기반의 기계학습 관절정보 추출 시스템 및 그 방법 Download PDF

Info

Publication number
KR102416709B1
KR102416709B1 KR1020200032308A KR20200032308A KR102416709B1 KR 102416709 B1 KR102416709 B1 KR 102416709B1 KR 1020200032308 A KR1020200032308 A KR 1020200032308A KR 20200032308 A KR20200032308 A KR 20200032308A KR 102416709 B1 KR102416709 B1 KR 102416709B1
Authority
KR
South Korea
Prior art keywords
joint
cloud server
data
machine learning
information
Prior art date
Application number
KR1020200032308A
Other languages
English (en)
Other versions
KR20200110257A (ko
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 주식회사 앨리스헬스케어
Publication of KR20200110257A publication Critical patent/KR20200110257A/ko
Application granted granted Critical
Publication of KR102416709B1 publication Critical patent/KR102416709B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/143Segmentation; Edge detection involving probabilistic approaches, e.g. Markov random field [MRF] modelling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/632Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing using a connection between clients on a wide area network, e.g. setting up a peer-to-peer communication via Internet for retrieving video segments from the hard-disk of other client devices
    • 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]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30196Human being; Person
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2211/00Image generation
    • G06T2211/40Computed tomography
    • G06T2211/428Real-time

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Artificial Intelligence (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Multimedia (AREA)
  • Probability & Statistics with Applications (AREA)
  • Image Analysis (AREA)

Abstract

본 발명의 일 실시예에 따른 클라우드 서버 기반의 기계학습 관절정보 추출 시스템은, 사용자의 영상을 획득하고, 상기 획득된 영상을 클라이언트 단말의 성능에 따라 상기 영상의 각 이미지 프레임을 미리 설정된 간격으로 송신하는, 영상 처리 송출부를 포함하는, 클라이언트 단말과 기계 학습에 의해 생성된, 사람의 관절부위 정보 및 관절 연결정보를 포함하는 미리 학습된 데이터를 저장하는 데이터 모델부를 포함하는, 스토리지와 상기 클라이언트 단말로부터 수신된 이미지 프레임을 기초로, 상기 사용자의 관절부위에 대한 2차원의 벡터 정보를 생성하는 데이터 판단부를 포함하는, 클라우드 서버를 포함할 수 있다.

Description

클라우드 서버 기반의 기계학습 관절정보 추출 시스템 및 그 방법{METHOD FOR EXTRACTING JOINT INFORMATION USING MACHINE LEARNING BASED ON CLOUD SERVER AND APPARATUS THEREOF}
본 발명은 클라우드 서버 기반의 기계학습 관절정보 추출 시스템 및 그 방법에 관한 것이다. 보다 자세하게는, 기계학습에 의해 기식별된 데이터를 기초로 실시간 영상에서 관절정보를 추출하는 시스템 및 방법에 관한 것이다.
최근, 운동 자세, 춤 동작, 재활 자세 등 사용자의 모션을 영상 분석하고, 사용자에게 자세에 대한 피드백을 제공하는 서비스가 제공되고 있다. 이와 같은 서비스는, 3차원 카메라로 촬영하여 사용자의 신체 관절을 움직임을 검출하거나, 사용자의 신체에 센서를 부착하여 움직임을 추출함으로써, 사용자의 자세를 분석한다. 또한, 사용자의 자세에 대한 분석 결과를, 미리 저장된 기준 자세와 비교하여 피드백을 제공한다.
이와 같은 서비스들을, 사용자가 시간 및 공간의 제약없이 이용할 수 있는 장점이 있지만, 서비스 이용을 위해서는, 3차원 카메라 또는 센서와 같이 고가의 하드웨어 장비를 구매해야 한다. 또한, 구매한 장비를 사용자가 스스로 적절한 위치에 설치해야 하거나, 신체에 직접 센서 장비를 착용해야 하는 불편함이 발생한다.
이에 최근, 기존의 하드웨어를 이용을 최소화하고, 기계학습 기반의 이미지 프로세싱을 활용한 사용자 자세 분석 기술이 도입되고 있다. 이러한 기계학습 기반의 사용자 자세 분석 기술은, 2D RGB 카메라 정보만 요구되기 때문에 별도의 자세 감지를 위한 센서를 필요로 하지 않는 장점이 있다.
다만, 이 같은 기계학습 기반의 사용자 자세 분석 기술을 이용하더라도, 사용자의 자세의 실시간 분석이 요구되는 경우에는, 기계학습 기반으로 관절과 골격을 식별하는데 고사양의 컴퓨터 자원이 요구되어, 전체 시스템 구축을 위해 많은 비용이 소모된다. 그럼에도, 클라우드 환경에서, 송출된 영상으로부터 기계학습 기반으로 이미지 상의 골격정보를 실시간 추출하는 솔루션은 제공되지 않고 있다.
한국공개특허 제 10-2013-0083677 호
본 발명이 해결하고자 하는 기술적 과제는, 본 발명은 특별한 센서와 같은 하드웨어 장비를 필요로 하지 않고 클라우드 서버 기반의 RGB 카메라 장비나 2D 비디오를 활용하여 사람의 관절을 추정하는 방법 및 그 장치를 제공하는 것이다.
본 발명이 해결하고자 하는 기술적 과제는, 클라우드 서버 기반의 실시간 RGB영상 기계학습 관절 정보 추출 방법으로서 다중연결시 쉬운 확장성을 가지도록 설계된 구조의 서버를 제공하는 것이다.
구체적으로, 본 발명이 해결하고자 하는 기술적 과제는, 기존의 클라이언트 단말 기반의 기계학습 방법과는 달리, 네트워크 지연을 고려한 Peer to Peer을 통한 클라우드 서버와 연결을 제공하는 것이다.
보다 구체적으로, 본 발명이 해결하고자 하는 기술적 과제는, 다량의 데이터를 처리하기 위한 자동화된 자원관리 프로세스를 통해 확장성이 고려된 클라우드 서버 기반의 실시간 RGB영상 기계학습 관절 정보 추출 방법을 제공하는 것이다.
본 발명이 해결하고자 하는 다른 기술적 과제는, 기계 학습된 데이터 모델을 기초로, 인메모리(In-memory) 방식으로 이미지 상의 사람의 관절을 식별할 수 있는 클라우드 서버 기반의 실시간 기계학습 관절 정보 추출 방법을 제공하는 것이다.
구체적으로, 사람의 관절을 식별하기 위한 기식별된 데이터 모델을 활용하여 이미지 프레임 상의 식별된 관절의 좌표를 추출하고, 이를 기초로 사람의 골격 정보를 추출하는 방법을 제공하는 것이다.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명의 기술분야에서의 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
상기 기술적 과제를 해결하기 위한 클라우드 서버 기반의 기계학습 관절정보 추출 시스템은, 사용자의 영상을 획득하고, 상기 획득된 영상을 클라이언트 단말의 성능에 따라 상기 영상의 각 이미지 프레임을 미리 설정된 간격으로 송신하는, 영상 처리 송출부를 포함하는, 클라이언트 단말과 기계 학습에 의해 생성된, 사람의 관절부위 정보 및 관절 연결정보를 포함하는 미리 학습된 데이터를 저장하는 데이터 모델부를 포함하는, 스토리지와 상기 클라이언트 단말로부터 수신된 이미지 프레임을 기초로, 상기 사용자의 관절부위에 대한 2차원의 벡터 정보를 생성하는 데이터 판단부를 포함하는, 클라우드 서버를 포함할 수 있다.
일 실시예서, 상기 클라우드 서버는, 상기 데이터 모델부로부터 제공된 상기 미리 학습된 데이터를 기초로, 상기 수신된 이미지 프레임 상에서 상기 사용자의 관절부위에 대한 확률 기반 연산을 수행함으로써, 상기 2차원의 벡터 정보를 생성하는 데이터 판단부를 포함할 수 있다.
일 실시예서, 상기 데이터 판단부는, 상기 연산의 수행 결과, 상기 이미지 프레임에서 미리 설정된 값 이상의 확률 값을 갖는 영역 상에 상기 사용자의 관절부위에 대한 히트맵을 생성할 수 있다.
일 실시예서, 상기 데이터 판단부는, 상기 히트맵을 기초로, 상기 사용자의 관절부위에 대한 x축과 y축의 벡터 값을 각각 연산할 수 있다.
일 실시예서, 상기 데이터 판단부는, 상기 각각 연산된 x축과 y축의 벡터 값과 상기 미리 학습된 데이터 상의 관절부위 정보 및 관절 연결정보를 기초로, 상기 히트맵 상의 상기 사용자의 관절부위 내부의 각 관절의 연결정보를 결정할 수 있다.
일 실시예서, 상기 클라우드 서버는, 상기 영상 처리 송출부와 peer to peer 연결을 유지하며, 수신된 이미지 프레임을 데이터 판단부에 제공하는 영상 수신부를 포함할 수 있다.
일 실시예서, 상기 클라우드 서버는, 상기 영상 수신부, 상기 데이터 판단부 및 메모리부를 포함하는 컨테이너를 생성하는 자원 관리부를 더 포함할 수 있다.
일 실시예서, 상기 메모리부는, 상기 컨테이너의 생성 시에, 인메모리(In-memory) 방식으로 상기 데이터 모델부에 저장된 상기 미리 학습된 데이터를 로드할 수 있다.
일 실시예서, 상기 자원 관리부는, 상기 영상 송출부로부터 송신되는 상기 이미지 프레임의 데이터 크기를 기초로 상기 클라우드 서버의 자원 할당량을 결정하고, 상기 결정된 자원 할당량을 기초로 상기 컨테이너를 추가 생성하거나 기생성된 컨테이너를 제거할 수 있다.
일 실시예서, 상기 데이터 모델부는, 상기 데이터 판단부로부터 상기 생성된 2차원의 벡터 정보를 제공받고, 상기 미리 학습된 데이터를 상기 제공된 2차원의 벡터 정보를 기초로 재학습을 수행할 수 있다.
상기 기술적 과제를 해결하기 위한 클라우드 서버 기반의 기계학습 관절정보 추출 방법은, 클라우드 서버 기반의 기계학습 관절정보 추출 시스템에 의해 수행된다. 일 실시예에서, 상기 추출 방법은, 클라이언트 단말의 성능에 따라 사용자의 영상의 각 이미지 프레임을 미리 설정된 간격으로 수신하는 단계와 기계 학습에 의해 생성된, 사람의 관절부위 정보 및 관절 연결정보를 포함하는 미리 학습된 데이터를 로드하는 단계와 상기 미리 학습된 데이터를 기초로, 상기 수신된 이미지 프레임 상에서 상기 사용자의 관절부위에 대한 확률 기반 연산을 수행하는 단계와 상기 확률 기반 연산을 수행한 결과, 상기 이미지 프레임에서 미리 설정된 값 이상의 확률 값을 갖는 영역 상에 상기 사용자의 관절부위에 대한 히트맵을 생성하는 단계와 상기 히트맵을 기초로, 상기 사용자의 관절부위에 대한 2차원의 벡터 정보를 생성하는 단계를 포함할 수 있다.
일 실시예에서, 상기 2차원의 벡터 정보를 생성하는 단계는, 상기 히트맵을 기초로, 상기 사용자의 관절부위에 대한 x축과 y축의 벡터 값을 각각 연산하는 단계와 상기 사용자의 관절부위에 대하여 각각 연산된 x축과 y축의 벡터 값과 상기 미리 학습된 데이터 상의 관절부위 정보 및 관절 연결정보를 기초로, 상기 히트맵 상의 상기 사용자의 관절부위 내부의 각 관절의 연결정보를 결정하는 단계를 포함할 수 있다.
본 발명의 일 실시예에 따르면, 클라우드 서버 기반의 실시간 RGB 영상 기계학습 관절 정보 추출 방법으로서, 온라인 연결이 가능한 모든 기기에서 실시간 영상의 송신의 네트워크 지연 문제를 방지할 수 있는 효과가 있다.
본 발명의 다른 실시예에 따르면, 기존의 기계학습에 요구되던 고사양의 컴퓨터 자원 대신 클라우드 서버 기반으로서 서버 자원의 소요를 절약할 수 있는 효과가 있다.
본 발명의 또 다른 실시예에 따르면, 미리 학습된 관절 정보를 기초로, 인메모리(In-memory) 방식의 실시간 관절정보를 추출하고, 추출된 관절정보를 기초로 골격정보를 확률적으로 예측함으로써, 최소한의 하드웨어 자원으로 이미지 상의 관절 및 골격을 실시간으로 식별할 수 있는 효과가 있다.
본 발명의 효과들은 이상에서 언급한 효과들로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 본 발명의 기술분야에서의 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 발명의 일 실시예에 따른 클라우드 서버 기반의 기계학습 관절정보 추출 시스템의 개념도이다.
도 2는, 도 1의 시스템의 클라우드 서버 구성을 설명하기 위한 예시이다.
도 3는 본 발명의 몇몇 실시예에서 참조되는 미리 학습된 데이터의 예시이다.
도 4는 본 발명의 몇몇 실시예에서 참조되는 따른 확률 기반으로 선정된 관절부위의 히트맵을 설명하기 위한 예시도이다.
도 5은 본 발명의 또 다른 실시예에 따른 클라우드 서버 기반의 기계학습 관절정보 추출 방법의 순서도이다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명한다. 본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시 예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 게시되는 실시 예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 게시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다. 본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다.
도 1은 본 발명의 일 실시예에 따른 클라우드 서버 기반의 기계학습 관절정보 추출 시스템의 개념도이다. 이하, 설명의 편의를 위해, 클라우드 서버 기반의 기계학습 관절정보 추출 시스템은, 관절정보 추출 시스템으로 약칭하기로 한다.
도 1을 참조하면, 관절정보 추출 시스템은, 클라이언트 단말(50), 클라우드 서버(100) 및 스토리지(200)를 포함할 수 있다. 클라이언트 단말(50), 클라우드 서버(100) 및 스토리지(200)는 본 발명이 속한 기술 분야에서 널리 알려진 네트워크를 통해 상호 연결된 컴퓨팅 장치일 수 있다.
클라이언트 단말(50)과 클라우드 서버(100)는 본 발명의 실시예에 따른 관절정보 추출 방법을 실행하기 위한 클라이언트와 서버의 관계이다. 이를 위해, 클라이언트 단말(50)과 클라우드 서버(100)는 각각 클라이언트 프로그램 및 서버 프로그램을 저장하고 실행할 수 있다.
클라이언트 단말(50)은, 데스크톱, 랩톱, 태블릿 및 모바일 단말 중 적어도 하나일 수 있으며, 본 발명의 실시예에 따르면, 사용자의 영상을 촬영하기 위한 2차원의 RGB 카메라를 포함할 수 있다. 클라이언트 단말(50)은 카메라를 통해 사용자의 영상(10)을 획득하고, 클라우드 서버(100)에 획득된 영상의 프레임을 제공할 수 있다. 이를 위해, 일 실시예에 따르면, 클라이언트 단말(50)의 클라이언트 프로그램은, 영상 송출부를 포함할 수 있다.
클라우드 서버(100)는 소정의 저장공간을 할당하고, 상기 저장공간 내에 본 발명의 실시예에 따른 관절정보 추출 방법을 실행하는 가상 머신을 생성하기 위한 컴퓨팅 자원을 할당할 수 있다. 클라우드 서버(100)는 클라이언트 단말(50)로부터 사용자의 영상을 수신하여, 사용자의 관절정보를 추출할 수 있다.
스토리지(200)는 클라우드 서버(100)에 본 발명의 실시예에 따른 관절정보 추출 방법을 실행하기 위해 미리 학습된 데이터를 제공할 수 있다. 스토리지(200)와 클라우드 서버(100)의 관계는, 클라이언트와 서버의 관계일 수 있다. 즉, 스토리즈(200)는 본 발명의 실시예에 따른 관절정보 추출 방법을 수행하기 위하여, 클라우드 서버(100)의 서버 프로그램과 인터액션하는 클라이언트 프로그램을 저장할 수 있다.
도 1에서, 클라우드 서버(100)와 스토리지(200)는 별도의 구성으로 도시되었으나, 이는 일 실시예일뿐, 본 발명은 이에 한정되지 않는다. 스토리지(200)는 클라우드 서버(100)와 같이, 가상의 공간에 할당된 저장공간일 수 있으며, 클라우드 서버(100)와 통합된 하나의 가상 머신의 일 구성요소로 생성될 수도 있다.
다음으로 클라우드 서버(100)의 구성에 대하여는 도 2를 참조하여 자세히 설명하기로 한다.
이하, 영상 처리 송출부(51)는 클라이언트 단말(50)의 클라이언트 프로그램의 적어도 일부 기능을 수행하는 소프트웨어 모듈일 수 있다.
클라이언트 서버(100)의 서버 프로그램은, 가상머신(110, 120) 및 자원 관리부(115)를 포함할 수 있다. 도 2에서 특히, 가상머신(110, 120)의 예로써, 컨테이너(110, 112)가 도시되었으나, 본 발명의 실시예는 이에 한정되지 않고, 가상머신은 하이퍼바이저 기반의 가상머신을 포함할 수도 있다. 가상머신(110, 120)는 및 자원 관리부(115) 각각은, 서버 프로그램의 적어도 일부 기능을 수행하는 소프트웨어 모듈일 수 있다.
또한, 데이터 모델부(210)는 스토리지(200)의 클라이언트 프로그램의 적어도 일부 기능을 수행하는 소프트웨어 모듈일 수 있다.
상기 각각의 소프트웨어 모듈은, 각각 하드웨어와 결합하여 하드웨어를 구동시키거나, 가상 머신 상에서 가상의 컴퓨팅 파워를 구동시키는 소프트웨어일 수 있다.
자원 관리부(115)는 영상 처리 송출부(51), 가상머신(110, 120) 및 데이터 모델부(210)의 전반적인 동작을 제어할 수 있다.
도 2를 참조하면, 영상 처리 송출부(51)는 클라이언트 단말(50)에서 획득된 사용자의 영상(10) 프레임을 클라이언트 단말(50)의 성능에 따라 최대 프레임을 고려하여 각 프레임을 연속 송신하지 않고 미리 설정된 간격으로 이미지를 송신할 수 있다. 예를 들어, 영상 처리 송출부(51)는, 클라이언트 단말(50)의 처리 가능 초당 프레임수가 60 FPS일 경우, 미리 설정된 5 FPS 단위로 영상의 이미지를 송신할 수 있다.
이 같이 적절한 간격으로 프레임을 송신함으로써, 영상의 전체 프레임을 송신할 경우 클라이언트 단말(50)의 성능이나 네트워크 환경에 따른 지연이 발생하는 것을 방지할 수 있다. 이로써, 클라우드 서버(100) 단에서는 처리해야할 프로세싱 이미지가 줄어 들고 운용환경에 따른 비용이 절감되는 효과도 있다.
자원 관리부(115)는 클라이언트 단말(50)로 부터, 본 발명의 실시예에 따른 관절정보 추출 방법의 개시 요청이 수신되면, 클라이언트 단말(50)의 클라이언트 프로그램을 활성화 시킬 수 있다. 또한, 자원 관리부(115)는 영상 처리 송출부(51)로부터 미리 설정된 송출 간격으로 이미지를 수신하기 위해, 영상 처리 송출부(51)와 peer to peer 연결을 유지하는, 영상 수신부(111)를 생성할 수 있다.
일 실시예에서, 자원 관리부(115)는 상기 개시 요청이 수신되고, 영상 처리 송출부(51)로부터 수신되도록 예정된 이미지의 데이터 크기가 식별되면, 이를 고려하여 가상 머신을 생성할 수 있다.
또한, 자원 관리부(115)는 가상머신(110)의 구성요소인 프로세서(112), 메모리(113), 영상 수신부(111)와 데이터 송신부를 생성할 수 있다.
영상 수신부(111)는 수신된 이미지 프레임을 프로세서(112)인 데이터 판단부(112)에 제공할 수 있다. 데이터 판단부(112)는, 수신된 이미지 프레임을 기초로, 사용자의 관절부위에 대한 2차원의 벡터 정보를 생성할 수 있다.
구체적으로, 데이터 판단부(112)는, 사람의 관절정보를 추출하기 위해서 데이터 모델부(210)의 미리 학습된 데이터를 참조하여 수신된 이미지의 관절부위를 판단한다. 데이터 판단부(112)는, 데이터 모델부(210)의 미리 학습된 데이터 중 수신된 이미지와 유사한 데이터를 식별하고, 이를 이용하여 수신된 이미지 상에서 가장 확률이 높은 관절 부위의 히트맵(heatmap)을 생성할 수 있다.
이때, 데이터 판단부(112)는, 이미지 프레임 상에서 상기 사용자의 관절부위에 대한 확률 기반 연산을 수행하고, 연산의 수행 결과, 미리 설정된 값 이상의 확률 값을 갖는 영역 상에 사용자의 관절부위에 해당하는 히트맵을 생성할 수 있다. 일 실시예에서, 미리 설정된 값 이상의 확률 값은 가장 높은 확률 값일 수 있으며, 이 경우, 히트맵에 해당하는 영역은, 라인 형태로 형성될 수 있다.
일 실시예에서, 데이터 판단부(112)는, X축과 Y축의 벡터맵(Vector Map)을 각각 그릴 수 있다. 즉, 데이터 판단부(112)는 벡터맵의 X축과 Y축을 나누어 연산함으로써, 연산 속도를 높일 수 있다. 또한, 데이터 판단부(112)는 데이터 모델부(210)의 관절 연결정보를 및 연산된 X-Vector와 Y-Vector의 값을 고려하여 히트맵 상의 관절 및/또는 관절 연결정보를 정의할 수 있다.
다른 실시예에서, 벡터맵 상의 추출된 각 X축과 Y축의 벡터에, 하기 선적분 방정식(수학식1)에 의한 가중치가 적용됨으로써, 사용자의 이미지 상의 관절부위에 포함된, 각 관절의 연결정보가 정의될 수 있다.
Figure 112020027780684-pat00001
도 3는 본 발명의 몇몇 실시예에서 참조되는 미리 학습된 데이터의 예시이다. 도 2 및 도 3을 참조하면, 데이터 모델부(210)는, 미리 학습된 데이터를 저장할 수 있다. 미리 학습된 데이터는, 사용자의 영상의 이미지 프레임 상의 관절에 대한 정보에 대한 기계 학습이 수행됨에 따라 생성될 수 있다.
데이터 모델부(210)는 이미지(301, 302)에 대한 가공된 원본 데이터세트를 가지고 있으며 각 이미지의 사람의 주요 부위에 대해 미리 학습된 데이터(311, 312)를 가지고 있다. 미리 학습된 데이터는 데이터 판단부(112)에 의한 사람의 관절부 추출 의사결정의 기준이 된다.
자원 관리부(115)는, 데이터 모델부(210)로부터 인메모리(In-memory) 방식으로 기존 스토리지(200)에 존재하는 데이터 모델을 컨테이너(110)가 생성될 때, 미리 메모리부(113)에 로드되도록 메모리부(113)를 생성할 수 있다.
미리 로드된 데이터 모델은, 데이터 판단부(112)의 의사결정 기준이 되며 이미지 프로세싱 즉, 이미지 상의 관절부위 추출 속도를 높이는 역할을 한다. 또한 데이터 판단부(112)에서 기 처리된 이미지의 라벨링 데이터(Labeling Data)들을 따로 데이터 모델부(210)가 따로 저장해둠으로써, 관절정보 추출 시스템의 유휴 동작시 데이터 모델부(210)는 이 데이터를 활용한 로 데이터(Raw-data) 트레이닝을 추가적으로 할 수 있다. 이에 따라, 데이터(311, 312)를 기초로, 데이터(321, 322)가 학습될 수도 있다.
데이터 모델부(210)의 기계 학습을 지원하는 기계 학습 모델은, 인공 신경망을 포함할 수 있으며, 컨볼루션 신경망(convolution neural network: CNN), 오토 인코더(auto encoder), 피드포워드 신경망(feedforward neural network), 방사 신경망(radial basis function network), 코헨 자기조직 신경망(kohonen self-organizing network), 순환 신경망(RNN:recurrent neural network) 중 적어도 하나를 포함하여 구성될 수 있다.
예를 들어, 기계 학습 모델이 컨볼루션 신경망에 의한 것일 경우, 관절정보 추출 장치에 의해 기계 학습 모델이 구동됨에 따라, 사용자 이미지의 특징 값이 필터링되고, 컨볼루션 계산을 통해 여러 이미지 픽셀 중 특정한 값만 새롭게 취해진다. 이를 반복 학습함으로써, 원하는 특징점이 추출될 수 있다.
상기 특징점은, 사용자 신체의 관절 부위인 신체의 일부일 수 있다. 상기 특징점은 관절정보 추출 장치가 파악할 수 있는 신체의 일부로서, 예를 들어, 사람의 신체의 일부인 눈, 코, 입, 어깨, 팔꿈치, 손목, 가슴, 골반, 무릎, 발목 등에 대응되는 점, 또는 상기 신체의 일부에 대응되는 선을 구성하는 점일 수 있다.
미리 학습된 데이터는 이와 같은 기계 학습을 통해 축적된 특징점 추출 결과 데이터일 수 있다. 또는, 미리 학습된 데이터는 기계 학습 모델링을 위한 특징점 데이터일로서 피드(Feed) 데이터일 수도 있다.
예를 들어, 관절정보 추출 장치는 컨피던스 맵을 이용하여 특징점을 인식할 수 있다. 또한, 관절정보 추출 장치는 예를 들어, PAF(Part Affinity Fields)를 이용하여 특징점을 기준으로 방향성 및 유사성을 분석함으로써, 각각의 특징점을 연관 지을 수 있다. 즉, 관절정보 추출 장치는 각 특징점을 연관 짓고 연결함으로써 라인을 생성할 수 있으며, 생성된 라인은 사용자 신체의 뼈에 대응된다. 예를 들어, 손목의 특징점과 팔꿈치의 특징점을 연결한 라인은, 사람의 팔꿈치 이하 팔 뼈에 대응된다.
또한, 관절정보 추출 장치는 예를 들어, Greedy 알고리즘을 이용하여 특징점의 움직임을 분석할 수 있다. 라인을 지속적으로 트래킹(Tracking)함으로써, 관절정보 추출 장치는 사용자의 자세에 대응되는 라인의 움직임을 식별할 수 있다.
여기에서, 컨피던스 맵은 조직의 탄성도 데이터를 신뢰도에 따라 구분해 표시하는 기능을 말한다. 또한, PAF(Part Affinity Fields)는 비 매개 변수를 사용하여 신체 부위를 이미지의 개인과 연관시키는 방법을 말한다. 또한, Greedy 알고리즘은 전체 문제를 해결해 나갈 때 매순간 탐욕적인 선택을 해 나가면서 전체 문제를 해결하는 알고리즘을 말한다.
한편, 자원 관리부(115)는, 영상 처리 송출부(51)로부터 수신된 이미지 프레임의 데이터 크기를 기초로 클라우드 서버(100)의 자원 할당량을 결정하고, 상기 결정된 자원 할당량을 기초로 가상머신(120)을 추가 생성하거나 기생성된 가상머신(120)을 제거할 수도 있다.
이를 통해, 자원 관리부(115)는 가상머신(110)이 생성될 때 하드웨어 자원의 추가적으로 로드하여 사용 할 수 있으며, 연산을 하기위한 프로세서와 메모리가 묶여 생성되어 효율적인 클라우드 서버(100)의 자원 관리가 가능해진다. 또한, 자원 관리부(115)으 가상머신(120) 제거로, 클라우드 서버(100)의 사용 비용을 줄일 수 있다. 자원 관리부(115)는 다량의 클라이언트 단말 다중 접속 시 클라우드 서버(100) 부하를 관리하는 역할도 수행될 수 있다.
도 4는 본 발명의 몇몇 실시예에서 참조되는 따른 확률 기반으로 선정된 관절부위의 히트맵을 설명하기 위한 예시도이다.
도 4를 참조하면, 사용자의 영상(10)이 소정의 간격으로 수신됨에 따라, 가상머신(110)이 제1 히트맵(401) 및 제2 히트맵(402)을 생성할 수 있다.
이때, 데이터 관리부(112)는 확률 연산을 수행하고, 확률 연산의 결과 제1 및 제2 히트맵(401, 402)이 생성될 수 있다.
일 실시예에 따르면, 데이터 관리부(112)는, 제1 히트맵(401) 및 제2 히트맵(402)을 기초로, 사용자 영상(10)의 이미지 프레임에 대한 2차원 벡터정보(410)를 생성할 수 있다.
다른 실시예에 따르면, 데이터 관리부(112)는 이미지 프레임의 X축 벡터를 연산한 제1 히트맵(401) 및 Y축 벡터를 연산한 제2 히트맵(402)을 기초로, 사용자 영상(10)의 이미지 프레임에 대한 2차원 벡터정보(410)를 생성할 수 있다.
또 다른 실시예에 따르면, 데이터 관리부(112)는 상기 X축 벡터를 연산한 제1 히트맵(401) 및 상기 Y축 벡터를 연산한 제2 히트맵(402)과, 데이터 모델부(2 10)에서 인메모리(In-memory) 방식으로 미리 로드된 미리 학습된 데이터(400)를 기초로, 사용자 영상(10)의 이미지 프레임에 대한 2차원의 벡터정보(410)를 생성할 수도 있다.
이때, 미리 로드된 미리 학습된 데이터(400) 상의 관절부위 정보 및 관절 연결정보에 의한 가중치가 부여되어, 상기 X축 벡터 및 상기 Y축 벡터의 관절의 연결정보가 결정될 수 있다.
도 5은 본 발명의 또 다른 실시예에 따른 클라우드 서버 기반의 기계학습 관절정보 추출 방법의 순서도이다.
도 5의 관절정보 추출 방법은, 클라우드 서버 기반의 기계학습 관절정보 추출 시스템에 의해 수행된다. 구체적으로, 각 단계는, 클라우드 서버(100)에 의해 수행되되, 클라우드 서버(100)가 가상머신을 생성하는 자원 관리부(115) 및 가상머신의 데이터 관리부(112) 중 적어도 하나에 의해 제어됨으로써 수행될 수 있다.
도 5를 참조하면, 클라우드 서버(100)는, 클라이언트 단말(50)의 성능에 따라 사용자의 영상의 각 이미지 프레임을 미리 설정된 간격으로 수신할 수 있다(S10). 구체적으로, 클라이언트 단말(50)로부터 상기 관절정보 추출 방법의 개시가 요청되면, 자원 관리부(115)는 사용자 영상(10)의 이미지 프레임의 데이터 크기를 기초로, 영상 수신부(111), 데이터 판단부(112) 및 메모리부(113)를 포함하는 가상머신을 생성할 수 있다. 단계(S10)의 이미지 프레임의 수신은, 영상 처리 송출부(51) 및 영상 수신부(111)의 인터액션에 의해 수행된다.
클라우드 서버(100)는, 스토리지(200)에 저장된, 데이터 모델부(210)에서 미리 학습된 데이터를 인메모리 방식으로 가상머신의 메모리부(113)에 미리 로드해둘 수 있다(S20). 이때, 미리 학습된 데이터는, 데이터 모델부(210)의 기계 학습에 의해 생성된 것으로, 기식별된 사람의 관절부위 정보 및 관절 연결정보를 포함할 수 있다.
클라우드 서버(100)는, 미리 학습된 데이터를 기초로, 수신된 이미지 프레임 상에서 사용자의 관절부위에 대한 확률 기반 연산을 수행하라 수 있다(S30). 또한, 클라우드 서버(100)는 확률 기반 연산을 수행한 결과, 이미지 프레임에서 미리 설정된 값 이상의 확률 값을 갖는 영역 상에 상기 사용자의 관절부위에 대한 히트맵을 생성할 수도 있다(S40).
클라우드 서버(100)는 생성된 히트맵을 기초로, 사용자의 관절부위에 대한 2차원의 벡터 정보를 생성할 수 있다(S50).
이에 따라, 사용자 영상(10)의 이미지 프레임 상의 사용자 관절 및 각 관절의 연결정보가 시각적으로 추출될 수 있다.
지금까지 첨부된 도면을 참조하여 설명된 본 발명의 실시예에 따른 방법들은 컴퓨터가 읽을 수 있는 코드로 구현된 컴퓨터프로그램의 실행에 의하여 수행될 수 있다. 상기 컴퓨터프로그램은 인터넷 등의 네트워크를 통하여 제1 컴퓨팅 장치로부터 제2 컴퓨팅 장치에 송신되어 상기 제2 컴퓨팅 장치에 설치될 수 있고, 이로써 상기 제2 컴퓨팅 장치에서 사용될 수 있다. 상기 제1 컴퓨팅 장치 및 상기 제2 컴퓨팅 장치는, 서버 장치, 데스크탑 PC와 같은 고정식 컴퓨팅 장치, 노트북, 스마트폰, 태블릿 피씨와 같은 모바일 컴퓨팅 장치를 모두 포함한다.
이상 첨부된 도면을 참조하여 본 발명의 실시예들을 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로 이해해야만 한다.

Claims (10)

  1. 클라우드 서버 기반의 기계학습 관절정보 추출 시스템으로서,
    사용자의 영상을 획득하고, 상기 획득된 영상을 클라이언트 단말의 성능에 따라 상기 영상의 각 이미지 프레임을 미리 설정된 간격으로 송신하는, 영상 처리 송출부를 포함하는, 클라이언트 단말;
    기계 학습에 의해 생성된, 사람의 관절부위 정보 및 관절 연결정보를 포함하는 미리 학습된 데이터를 저장하는 데이터 모델부를 포함하는, 스토리지; 및
    상기 클라이언트 단말로부터 수신된 이미지 프레임에 대한 X축 벡터에 대한 연산 및 Y축 벡터에 대한 연산을 각각 수행하고, 상기 X축 벡터 연산을 통해 제1 히트맵을 생성하고, 상기 Y축 벡터 연산을 통해 제2 히트맵을 생성하고, 상기 제1 히트맵 및 상기 제2 히트맵을 기초로 상기 사용자의 관절부위에 대한 2차원의 벡터 정보를 생성하는 데이터 판단부를 포함하는, 클라우드 서버를 포함하되,
    상기 데이터 판단부는,
    상기 제1 히트맵과 상기 제2 히트맵 및 상기 데이터 모델부에서 인메모리(In-memory) 방식으로 제공된 미리 학습된 데이터를 기초로, 상기 수신된 이미지 프레임 상에서 상기 사용자의 관절부위에 대한 확률 기반 연산을 수행함으로써, 상기 2차원의 벡터 정보를 생성하고,
    상기 미리 학습된 데이터 상의 관절부위 정보 및 관절 연결정보에 가중치를 부여하여, 상기 사용자의 관절부위 내부의 각 관절의 연결정보를 결정하는,
    클라우드 서버 기반의 기계학습 관절정보 추출 시스템.
  2. 삭제
  3. 삭제
  4. 삭제
  5. 제 1 항에 있어서, 상기 클라우드 서버는,
    상기 영상 처리 송출부와 peer to peer 연결을 유지하며, 수신된 이미지 프레임을 데이터 판단부에 제공하는 영상 수신부를 포함하는,
    클라우드 서버 기반의 기계학습 관절정보 추출 시스템.
  6. 제 5 항에 있어서, 상기 클라우드 서버는,
    상기 영상 수신부, 상기 데이터 판단부 및 메모리부를 포함하는 가상머신을 생성하는 자원 관리부를 더 포함하되,
    상기 메모리부는, 상기 가상머신의 생성 시에, 상기 인메모리 방식으로 상기 데이터 모델부에 저장된 상기 미리 학습된 데이터를 로드하는,
    클라우드 서버 기반의 기계학습 관절정보 추출 시스템.
  7. 제 6 항에 있어서, 상기 자원 관리부는,
    상기 영상 처리 송출부로부터 송신되는 상기 이미지 프레임의 데이터 크기를 기초로 상기 클라우드 서버의 자원 할당량을 결정하고, 상기 결정된 자원 할당량을 기초로 상기 가상머신을 추가 생성하거나 기생성된 가상머신을 제거하는,
    클라우드 서버 기반의 기계학습 관절정보 추출 시스템.
  8. 제 1 항에 있어서, 상기 데이터 모델부는,
    상기 데이터 판단부로부터 상기 생성된 2차원의 벡터 정보를 제공받고, 상기 미리 학습된 데이터를 상기 제공된 2차원의 벡터 정보를 기초로 재학습을 수행하는,
    클라우드 서버 기반의 기계학습 관절정보 추출 시스템.
  9. 클라우드 서버 기반의 기계학습 관절정보 추출 시스템에 의해 수행되는, 클라우드 서버 기반의 기계학습 관절정보 추출 방법은,
    클라이언트 단말의 성능에 따라 사용자의 영상의 각 이미지 프레임을 미리 설정된 간격으로 수신하는 단계;
    기계 학습에 의해 생성된, 사람의 관절부위 정보 및 관절 연결정보를 포함하는 미리 학습된 데이터를 로드하는 단계;
    상기 미리 학습된 데이터를 기초로, 상기 수신된 이미지 프레임에 대한 X축 벡터에대한 연산 및 Y축 벡터에 대한 연산을 각각 수행하는 단계;
    상기 X축 벡터 연산을 통해 제1 히트맵을 생성하고, 상기 Y축 벡터 연산을 통해 제2 히트맵을 생성하는 단계; 및
    상기 제1 히트맵 및 상기 제2 히트맵을 기초로 상기 사용자의 관절부위에 대한 2차원의 벡터 정보를 생성하는 단계를 포함하되,
    상기 제1 히트맵과 상기 제2 히트맵 및 상기 클라우드 서버 기반의 기계학습 관절정보 추출 시스템의 스토리지 상의 데이터 모델부에서 인메모리(In-memory) 방식으로 제공된 미리 학습된 데이터를 기초로, 상기 수신된 이미지 프레임 상에서 상기 사용자의 관절부위에 대한 확률 기반 연산이 수행됨으로써, 상기 2차원의 벡터 정보가 생성되고,
    상기 미리 학습된 데이터 상의 관절부위 정보 및 관절 연결정보에 가중치가 부여되어, 상기 사용자의 관절부위 내부의 각 관절의 연결정보가 결정되는,
    클라우드 서버 기반의 기계학습 관절정보 추출 방법.





  10. 삭제
KR1020200032308A 2019-03-15 2020-03-16 클라우드 서버 기반의 기계학습 관절정보 추출 시스템 및 그 방법 KR102416709B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20190030202 2019-03-15
KR1020190030202 2019-03-15

Publications (2)

Publication Number Publication Date
KR20200110257A KR20200110257A (ko) 2020-09-23
KR102416709B1 true KR102416709B1 (ko) 2022-07-05

Family

ID=72708417

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200032308A KR102416709B1 (ko) 2019-03-15 2020-03-16 클라우드 서버 기반의 기계학습 관절정보 추출 시스템 및 그 방법

Country Status (1)

Country Link
KR (1) KR102416709B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102416987B1 (ko) * 2020-11-18 2022-07-06 재단법인대구경북과학기술원 얼굴인식과 동작인식을 활용한 지능형 버추얼 피트니스 시스템 및 그 동작 방법
CN112650583A (zh) * 2020-12-23 2021-04-13 新智数字科技有限公司 一种资源分配方法、装置、可读介质及电子设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101473317B1 (ko) * 2010-12-23 2014-12-17 주식회사 케이티 클라우드 컴퓨팅 시스템 및 클라우드 컴퓨팅 시스템에서의 트래픽 분산 방법 및 제어 방법
KR101848356B1 (ko) * 2017-07-07 2018-05-28 (주)한위드정보기술 인메모리 기반 가상화 서비스 제공 시스템
JP2019016106A (ja) * 2017-07-05 2019-01-31 富士通株式会社 情報処理プログラム、情報処理装置、情報処理方法、及び情報処理システム

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101908284B1 (ko) 2012-01-13 2018-10-16 삼성전자주식회사 신체 연결 관계 분석 장치 및 방법
KR102173107B1 (ko) * 2013-12-11 2020-11-02 삼성전자주식회사 클라우드 서버 기반 영상 처리 방법, 단말 및 시스템

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101473317B1 (ko) * 2010-12-23 2014-12-17 주식회사 케이티 클라우드 컴퓨팅 시스템 및 클라우드 컴퓨팅 시스템에서의 트래픽 분산 방법 및 제어 방법
JP2019016106A (ja) * 2017-07-05 2019-01-31 富士通株式会社 情報処理プログラム、情報処理装置、情報処理方法、及び情報処理システム
KR101848356B1 (ko) * 2017-07-07 2018-05-28 (주)한위드정보기술 인메모리 기반 가상화 서비스 제공 시스템

Also Published As

Publication number Publication date
KR20200110257A (ko) 2020-09-23

Similar Documents

Publication Publication Date Title
US11343532B2 (en) System and method for vision-based joint action and pose motion forecasting
CN108919958B (zh) 一种图像传输方法、装置、终端设备及存储介质
KR100776805B1 (ko) 스테레오 비전 처리를 통해 지능형 서비스 로봇 시스템에서효율적인 영상 정보의 전송을 위한 장치 및 그 방법
CN109492536B (zh) 一种基于5g架构的人脸识别方法及系统
US8463025B2 (en) Distributed artificial intelligence services on a cell phone
US11605221B2 (en) Multi-angle object recognition
KR20190128686A (ko) 이미지 내의 객체 자세를 결정하는 방법 및 장치, 장비, 및 저장 매체
CN108255605A (zh) 一种基于神经网络的图像识别协同计算方法及系统
KR102416709B1 (ko) 클라우드 서버 기반의 기계학습 관절정보 추출 시스템 및 그 방법
CN112492297B (zh) 一种对视频的处理方法以及相关设备
CN111062263A (zh) 手部姿态估计的方法、设备、计算机设备和存储介质
US11625838B1 (en) End-to-end multi-person articulated three dimensional pose tracking
WO2020069976A1 (en) Concepts for improved head motion prediction and efficient encoding of immersive video
KR102094953B1 (ko) 시선 추적 방법 및 이를 수행하기 위한 단말
CN109598250A (zh) 特征提取方法、装置、电子设备和计算机可读介质
CN112749655A (zh) 视线追踪方法、装置、计算机设备和存储介质
CN114397958A (zh) 屏幕控制方法、装置、非触控屏系统和电子装置
CN116823905A (zh) 图像配准方法、电子设备以及计算机可读存储介质
KR102465437B1 (ko) 인공지능 기반 객체 추적 장치 및 방법
Lu et al. Dynamic offloading on a hybrid edge–cloud architecture for multiobject tracking
US9361540B2 (en) Fast image processing for recognition objectives system
CN113887319A (zh) 三维姿态的确定方法、装置、电子设备及存储介质
CN113723168A (zh) 一种基于人工智能的主体识别方法、相关装置及存储介质
KR20210084118A (ko) 심층신경망 가속기의 동적 전원 제어 장치 및 방법
CN110245722A (zh) 一种基于生物特征的图像识别方法及装置

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant