KR20210041856A - 딥 러닝 기반으로 애니메이션 캐릭터를 학습하는 데 필요한 학습 데이터 생성 방법 및 장치 - Google Patents
딥 러닝 기반으로 애니메이션 캐릭터를 학습하는 데 필요한 학습 데이터 생성 방법 및 장치 Download PDFInfo
- Publication number
- KR20210041856A KR20210041856A KR1020190124592A KR20190124592A KR20210041856A KR 20210041856 A KR20210041856 A KR 20210041856A KR 1020190124592 A KR1020190124592 A KR 1020190124592A KR 20190124592 A KR20190124592 A KR 20190124592A KR 20210041856 A KR20210041856 A KR 20210041856A
- Authority
- KR
- South Korea
- Prior art keywords
- character
- image
- learning
- clustering
- detection model
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 37
- 238000013135 deep learning Methods 0.000 title claims abstract description 34
- 238000001514 detection method Methods 0.000 claims abstract description 76
- 238000013528 artificial neural network Methods 0.000 claims abstract description 15
- 238000004891 communication Methods 0.000 claims abstract description 14
- 238000012549 training Methods 0.000 claims description 26
- 239000013598 vector Substances 0.000 claims description 21
- 238000007781 pre-processing Methods 0.000 claims description 11
- 239000013078 crystal Substances 0.000 claims description 9
- 238000002372 labelling Methods 0.000 claims description 8
- 238000013527 convolutional neural network Methods 0.000 claims description 7
- 230000008569 process Effects 0.000 description 17
- 238000010586 diagram Methods 0.000 description 12
- 238000005516 engineering process Methods 0.000 description 5
- 230000014509 gene expression Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000007418 data mining Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 201000011243 gastrointestinal stromal tumor Diseases 0.000 description 1
- 238000003064 k means clustering Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
- G06T13/20—3D [Three Dimensional] animation
- G06T13/40—3D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
- G06F18/2148—Generating training patterns; Bootstrap methods, e.g. bagging or boosting characterised by the process organisation or structure, e.g. boosting cascade
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
- G06F18/2155—Generating training patterns; Bootstrap methods, e.g. bagging or boosting characterised by the incorporation of unlabelled data, e.g. multiple instance learning [MIL], semi-supervised techniques using expectation-maximisation [EM] or naïve labelling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/40—Software arrangements specially adapted for pattern recognition, e.g. user interfaces or toolboxes therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/11—Region-based segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/44—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
- G06V10/443—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
- G06V10/449—Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters
- G06V10/451—Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters with interaction between the filter responses, e.g. cortical complex cells
- G06V10/454—Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/762—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using clustering, e.g. of similar faces in social networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/30—Scenes; Scene-specific elements in albums, collections or shared content, e.g. social network photos or video
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/40—Scenes; Scene-specific elements in video content
- G06V20/41—Higher-level, semantic clustering, classification or understanding of video scenes, e.g. detection, labelling or Markovian modelling of sport events or news items
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/40—Scenes; Scene-specific elements in video content
- G06V20/46—Extracting features or characteristics from the video content, e.g. video fingerprints, representative shots or key frames
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2210/00—Indexing scheme for image generation or computer graphics
- G06T2210/12—Bounding box
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Multimedia (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Mathematical Physics (AREA)
- Molecular Biology (AREA)
- Biomedical Technology (AREA)
- Computational Linguistics (AREA)
- Biodiversity & Conservation Biology (AREA)
- Human Computer Interaction (AREA)
- Biophysics (AREA)
- Image Analysis (AREA)
Abstract
딥 러닝 기반으로 애니메이션 캐릭터를 학습하는 데 필요한 학습 데이터 생성 방법 및 장치가 개시된다. 딥 러닝 기반으로 애니메이션 캐릭터를 학습하는 데 필요한 학습 데이터 생성 방법은, 유무선 통신을 이용하여 외부에서 각종 이미지를 수집하는 단계, 캐릭터 검출 모델을 이용하여 수집된 이미지에서 캐릭터 이미지를 획득하는 단계, 획득된 캐릭터 이미지에 대한 클러스터링(clustering)을 수행하는 단계, 클러스터링된 이미지 중에서 학습 데이터를 선정하는 단계 및 선정된 학습 데이터를 캐릭터 인식을 위한 인공 신경망에 입력하는 단계를 포함할 수 있다.
Description
본 발명은 딥 러닝 기반으로 애니메이션 캐릭터를 학습하는 데 필요한 학습 데이터 생성 방법 및 장치에 관한 것으로, 더욱 상세하게는 사용자 딥러닝 기반의 인공 신경망을 통해 학습시키고자 하는 애니메이션 케릭터에 대한 학습 데이터를 를 정확하게 선별하여 생성함으로써, 용도에 따른 학습 데이터를 제공하고, 제공된 학습 데이터를 통해 캐릭터 인식율을 향상시키는 기술에 관한 것이다.
객체 검출(Object Detection) 기술은 로봇, 비디오 감시, 자동차 안전 등과 같은 여러 응용 분야에서 널리 사용되고 있는 핵심 기술이다. 최근에는, 객체 검출 기술에 인공 신경망(Artificial Neural Network) 또는 합성 곱 신경망(convolutional neural network, CNN)을 사용하는 딥러닝 기반 객체 검출 방식이 알려짐에 따라, 객체 검출 성능이 비약적으로 향상되고 있다.
딥러닝에서 사용되는 일반적인 인공 신경망은 입력층과 출력층 사이에 다수의 은닉층(hidden layer)이 있는 다중 퍼셉트론(multilayer perceptron)이다. 인공 신경망은 하드웨어로 구현될 수도 있으나, 주로 소프트웨어를 이용하여 구현되며, 기초 컴퓨팅 단위인 뉴런 여러 개가 가중치를 갖는 링크(weighted link)로 연결된 형태이다. 따라서, 가중치는 주어진 학습 데이터에 따라 조정된다.
한편, 이 같은 인공 신경망을 사용하는 딥러닝 기반 객체 검출은 만족할만한 검출 성능을 보장하기 위해 다량의 학습 데이터가 필요하다. 현재는 사람이 수동으로 각종 이미지 데이터를 수집하고 분류하여 학습 데이터로 입력하고 있어, 학습 데이터 수집에 어려움이 많고 비용도 많이 든다.
특히, 애니메이션 캐릭터와 같이 다양성이 높아 상황에 따라 객체 검출을 수행하는 대상이 달라지는 경우, 매번 사용자가 학습에 적합한 이미지를 수집하고 정제해야 하는 문제가 있다.
상기와 같은 문제점을 해결하기 위한 본 발명의 목적은, 딥 러닝 기반으로 애니메이션 캐릭터를 학습하는 데 필요한 학습 데이터 생성 방법을 제공하는 데 있다.
상기와 같은 문제점을 해결하기 위한 본 발명의 다른 목적은, 딥 러닝 기반으로 애니메이션 캐릭터를 학습하는 데 필요한 학습 데이터 생성 장치를 제공하는 데 있다.
상기 목적을 달성하기 위한 본 발명은, 딥 러닝 기반으로 애니메이션 캐릭터를 학습하는 데 필요한 학습 데이터 생성 방법을 제공한다.
딥 러닝 기반으로 애니메이션 캐릭터를 학습하는 데 필요한 학습 데이터 생성 방법은, 유무선 통신을 이용하여 외부에서 각종 이미지를 수집하는 단계, 캐릭터 검출 모델을 이용하여 수집된 이미지에서 캐릭터 이미지를 획득하는 단계, 획득된 캐릭터 이미지에 대한 클러스터링(clustering)을 수행하는 단계, 클러스터링된 이미지 중에서 학습 데이터를 선정하는 단계 및 선정된 학습 데이터를 캐릭터 인식을 위한 인공 신경망에 입력하는 단계를 포함할 수 있다.
상기 각종 이미지를 수집하는 단계는, 상기 유무선 통신을 이용하여 외부에서 동영상을 수집하는 단계 및 상기 수집된 동영상에서 미리 설정된 시간 간격으로 프레임들을 추출하는 단계를 포함할 수 있다.
상기 각종 이미지를 수집하는 단계 이후에, 수집된 이미지를 이용하여 상기 캐릭터 검출 모델을 학습하는 단계를 더 포함할 수 있다.
상기 캐릭터 검출 모델을 학습하는 단계는, 상기 수집된 이미지 각각에 대하여 라벨링하여 개별 이미지에 따른 라벨을 생성하는 단계 및 생성된 라벨 및 상기 수집된 이미지를 미리 설정된 캐릭터 검출 모델에 입력하여 상기 캐릭터 검출 모델을 학습하는 단계를 포함할 수 있다.
상기 라벨은, DarkNet 포맷에 따른 라벨로서, 클래스 번호, 바운딩 박스의 시작점 좌표 비율 및 상기 바운딩 박스의 가로와 세로의 크기 비율을 포함할 수 있다.
상기 캐릭터 이미지를 획득하는 단계는, 상기 캐릭터 검출 모델을 이용하여 상기 수집된 이미지에서 바운딩 박스 형태의 캐릭터 영역을 검출하는 단계 및 검출된 캐릭터 영역을 전처리하여 상기 캐릭터 이미지를 획득하는 단계를 포함할 수 있다.
상기 전처리는, 상기 수집된 이미지에서 상기 캐릭터 영역을 잘라내고, 잘라낸 캐릭터 영역의 크기에 대하여 정규화를 수행하는 과정을 포함할 수 있다.
상기 클러스터링을 수행하는 단계는, 상기 캐릭터 이미지에서 특징 벡터를 추출하는 단계 및 추출된 특징 벡터를 이용하여 상기 캐릭터 이미지를 클러스터링하는 단계를 포함할 수 있다.
상기 추출된 특징 벡터를 이용하여 캐릭터 이미지를 클러스터링하는 단계는, 상기 캐릭터 이미지를 클러스터링하는 단계, 상기 클러스터링에 의해 생성된 클러스터의 개수에 따라 클러스터의 결정 세기 값을 조절하는 단계 및 상기 캐릭터 이미지의 클러스터링을 재수행하는 단계를 포함할 수 있다.
상기 클러스터의 결정 세기 값을 조절하는 단계는, 상기 클러스터의 개수가 사전 설정된 한계 범위 중 최대 한계 값을 초과할 경우, 클러스터의 결정 세기 값을 증가시키는 단계 및 상기 클러스터의 개수가 상기 한계 범위 중 최초 한계 값보다 미만일 경우, 클러스터의 결정 세기 값을 감소시키는 단계를 포함할 수 있다.
상기 목적을 달성하기 위한 본 발명의 다른 측면은, 딥 러닝 기반으로 애니메이션 캐릭터를 학습하는 데 필요한 학습 데이터 생성 장치를 제공한다.
딥 러닝 기반으로 애니메이션 캐릭터를 학습하는 데 필요한 학습 데이터 생성 장치는, 적어도 하나의 프로세서(processor) 및 상기 적어도 하나의 프로세서가 적어도 하나의 단계를 수행하도록 지시하는 명령어들(instructions)을 저장하는 메모리(memory)를 포함할 수 있다.
상기 적어도 하나의 단계는, 유무선 통신을 이용하여 외부에서 각종 이미지를 수집하는 단계, 캐릭터 검출 모델을 이용하여 수집된 이미지에서 캐릭터 이미지를 획득하는 단계, 획득된 캐릭터 이미지에 대한 클러스터링(clustering)을 수행하는 단계, 클러스터링된 이미지 중에서 학습 데이터를 선정하는 단계 및 선정된 학습 데이터를 캐릭터 인식을 위한 인공 신경망에 입력하는 단계를 포함할 수 있다.
상기 각종 이미지를 수집하는 단계는, 상기 유무선 통신을 이용하여 외부에서 동영상을 수집하는 단계 및 상기 수집된 동영상에서 미리 설정된 시간 간격으로 프레임들을 추출하는 단계를 포함할 수 있다.
상기 각종 이미지를 수집하는 단계 이후에, 수집된 이미지를 이용하여 상기 캐릭터 검출 모델을 학습하는 단계를 더 포함할 수 있다.
상기 캐릭터 검출 모델을 학습하는 단계는, 상기 수집된 이미지 각각에 대하여 라벨링하여 개별 이미지에 따른 라벨을 생성하는 단계 및 생성된 라벨 및 상기 수집된 이미지를 미리 설정된 캐릭터 검출 모델에 입력하여 상기 캐릭터 검출 모델을 학습하는 단계를 포함할 수 있다.
상기 캐릭터 검출 모델은, YOLO(you only look once), SSD(Single shot Detector), Faster R-CNN 중 하나일 수 있다.
상기 라벨은, DarkNet 포맷에 따른 라벨로서, 클래스 번호, 바운딩 박스의 시작점 좌표 비율 및 상기 바운딩 박스의 가로와 세로의 크기 비율을 포함할 수 있다.
상기 캐릭터 이미지를 획득하는 단계는, 상기 캐릭터 검출 모델을 이용하여 상기 수집된 이미지에서 바운딩 박스 형태의 캐릭터 영역을 검출하는 단계 및 검출된 캐릭터 영역을 전처리하여 상기 캐릭터 이미지를 획득하는 단계를 포함할 수 있다.
상기 전처리는, 상기 수집된 이미지에서 상기 캐릭터 영역을 잘라내고, 잘라낸 캐릭터 영역의 크기에 대하여 정규화를 수행하는 과정을 포함할 수 있다.
상기 클러스터링을 수행하는 단계는, 상기 캐릭터 이미지에서 특징 벡터를 추출하는 단계 및 추출된 특징 벡터를 이용하여 상기 캐릭터 이미지를 클러스터링하는 단계를 포함할 수 있다.
상기 학습 데이터를 선정하는 단계는, 상기 클러스터링된 이미지가 속하는 복수의 클러스터 각각에 대한 대표 이미지들을 사용자에게 표시하는 단계 및 표시된 대표 이미지들 중에서 상기 사용자에 의해 선택된 이미지에 상응하는 클러스터에 속하는 캐릭터 이미지를 상기 학습 데이터로 선정하는 단계를 포함할 수 있다.
상기와 같은 본 발명에 따른 딥 러닝 기반으로 애니메이션 캐릭터를 학습하는 데 필요한 학습 데이터 생성 방법 및 장치를 이용할 경우에는 캐릭터 인식을 위한 인공 신경망을 학습하는데 적절한 학습데이터를 자동으로 생성할 수 있다.
또한, 캐릭터 인식에 가장 적합한 학습 데이터를 생성하므로 인식율이 향상되는 장점이 있다.
도 1은 본 발명의 일 실시예에 따른 딥 러닝 기반으로 애니메이션 캐릭터를 학습하는 데 필요한 학습 데이터 생성 장치를 기능적으로 도시한 블록도이다.
도 2는 본 발명의 일 실시예에 따른 캐릭터 검출 모델을 학습하기 위한 과정을 설명하기 위한 개념도이다.
도 3은 본 발명의 일 실시예에 따른 캐릭터 검출 모델을 이용하여 캐릭터 이미지를 추출한 결과를 나타낸 예시도이다.
도 4는 본 발명의 일 실시예에 따라 추출된 캐릭터 이미지를 이용하여 클러스터링을 수행하는 과정을 나타낸 흐름도이다.
도 5는 종래의 AP알고리즘을 이용한 클러스터링 시 발생하는 노이즈 클러스터링의 결과를 나타낸 예시도이다.
도 6은 종래의 AP 알고리즘을 이용한 클러스터링 시 발생하는 오버 클러스터링의 결과를 나타낸 예시도이다.
도 7은 본 발명의 일 실시예에 따라 클러스터의 결정 세기값을 조절하는 과정을 나타낸 흐름도이다.
도 8은 본 발명의 일 실시예에 따른 캐릭터 이미지를 클러스터링한 결과를 나타낸 예시도이다.
도 9는 본 발명의 일 실시예에 따른 사용자 인터페이스 기반의 클러스터 활용을 설명하기 위한 예시도이다.
도 10은 본 발명의 일 실시예에 따른 딥 러닝 기반으로 애니메이션 캐릭터를 학습하는 데 필요한 학습 데이터 생성 방법에 대한 흐름도이다.
도 11은 본 발명의 일 실시예에 따른 딥 러닝 기반으로 애니메이션 캐릭터를 학습하는 데 필요한 학습 데이터 생성 장치에 대한 하드웨어 구성도이다.
도 2는 본 발명의 일 실시예에 따른 캐릭터 검출 모델을 학습하기 위한 과정을 설명하기 위한 개념도이다.
도 3은 본 발명의 일 실시예에 따른 캐릭터 검출 모델을 이용하여 캐릭터 이미지를 추출한 결과를 나타낸 예시도이다.
도 4는 본 발명의 일 실시예에 따라 추출된 캐릭터 이미지를 이용하여 클러스터링을 수행하는 과정을 나타낸 흐름도이다.
도 5는 종래의 AP알고리즘을 이용한 클러스터링 시 발생하는 노이즈 클러스터링의 결과를 나타낸 예시도이다.
도 6은 종래의 AP 알고리즘을 이용한 클러스터링 시 발생하는 오버 클러스터링의 결과를 나타낸 예시도이다.
도 7은 본 발명의 일 실시예에 따라 클러스터의 결정 세기값을 조절하는 과정을 나타낸 흐름도이다.
도 8은 본 발명의 일 실시예에 따른 캐릭터 이미지를 클러스터링한 결과를 나타낸 예시도이다.
도 9는 본 발명의 일 실시예에 따른 사용자 인터페이스 기반의 클러스터 활용을 설명하기 위한 예시도이다.
도 10은 본 발명의 일 실시예에 따른 딥 러닝 기반으로 애니메이션 캐릭터를 학습하는 데 필요한 학습 데이터 생성 방법에 대한 흐름도이다.
도 11은 본 발명의 일 실시예에 따른 딥 러닝 기반으로 애니메이션 캐릭터를 학습하는 데 필요한 학습 데이터 생성 장치에 대한 하드웨어 구성도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.
제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
도 1은 본 발명의 일 실시예에 따른 딥 러닝 기반으로 애니메이션 캐릭터를 학습하는 데 필요한 학습 데이터 생성 장치를 기능적으로 도시한 블록도이다.
도 1을 참조하면, 딥 러닝 기반으로 애니메이션 캐릭터를 학습하는 데 필요한 학습 데이터 생성 장치(100)는, 이미지 수집부(101), 캐릭터 검출 모델 학습부(102), 캐릭터 검출부(103) 및/또는 유사 이미지 클러스터링부(104)를 포함할 수 있다.
이미지 수집부(101)는, 웹사이트 등을 통하여 사용자로부터 입력된 캐릭터 이름에 따른 이미지를 검색하고, 검색된 이미지를 저장할 수 있다. 이때, 수집되는 이미지는 2D, 3D 이미지뿐만 아니라 각종 동영상을 포함할 수 있다.
캐릭터 검출 모델 학습부(102)는, 이미지 수집부(101)에서 저장한 이미지와 이미지 내의 캐릭터 위치 정보를 포함하는 라벨(label)을 캐릭터 검출 모델에 입력하여 캐릭터 검출 모델을 학습할 수 있다. 이때, 캐릭터 검출 모델은 미리 결정된 딥러닝 기반의 객체 검출 모델(또는 인공신경망을 갖는 객체 검출 알고리즘으로 지칭될 수도 있음)이 사용될 수 있는데, 예를 들어, YOLO(you only look once), SSD(Single shot Detector), Faster R-CNN 등이 사용될 수 있다.
캐릭터 검출부(103)는 캐릭터 검출 모델 학습부(102)에서 학습된 캐릭터 검출 모델을 이용하여 이미지 수집부를 통해 저장한 이미지에서 캐릭터가 포함된 영역(이하에서 캐릭터 이미지로 지칭할 수 있음)을 추출하여 저장할 수 있다.
유사 이미지 클러스터링부(104)는 클러스터링 알고리즘을 이용하여 캐릭터 이미지에서 비슷한 캐릭터끼리 분류할 수 있다. 여기서 분류된 캐릭터 이미지가 딥러닝 기반의 캐릭터 학습 데이터로 사용될 수 있다.
도 2는 본 발명의 일 실시예에 따른 캐릭터 검출 모델을 학습하기 위한 과정을 설명하기 위한 개념도이다.
도 2를 참조하면, 도 1에 따른 캐릭터 검출 모델을 학습시키기 위해서는 다양하게 수집된 이미지에서 캐릭터 검출 모델에 따른 입력 데이터를 생성할 필요가 있다. 이때, 도 1에 따른 이미지 수집부(101)에서 웹사이트 등을 통해 수집된 데이터가 동영상인 경우, 동영상의 각 프레임을 미리 설정된 시간 간격으로 추출하거나, 동영상을 일정한 시간 간격으로 캡쳐함으로써 이미지(또는 정지 영상)를 획득할 수 있다.
수집된 이미지는 라벨링 과정을 통해 이미지에 해당하는 라벨(label)을 부여할 수 있다. 여기서 라벨은 수집된 이미지에 대한 메타 정보로서, 클래스 번호(class number), 바운딩 박스(bounding box)의 크기를 포함할 수 있다. 이때 부여되는 라벨은 각종 주석 포맷에 따라 달리 설정될 수 있는데, 예를 들어 주석 포맷에는 PASCAL VOC 포맷, DarkNet 포맷 등이 있을 수 있다. 이때, 캐릭터 검출 모델로 YOLO가 사용될 경우, DarkNet 포맷이 사용될 수 있다. 여기서 DarkNet 포맷에 따른 라벨은 클래스 번호, 바운딩 박스의 시작점 좌표 비율, 가로와 세로의 크기 비율을 포함할 수 있다.
라벨링 과정 시, 해당 라벨이 캐릭터 검출 모델과 호환되지 않을 경우, 캐릭터 검출 모델에 따른 라벨로 주석 포맷을 변환하는 과정이 추가로 수행될 수 있다. 예를 들어, 캐릭터 검출 모델이 YOLO이고, 수집된 이미지에 대한 라벨이 VOC 포맷인 경우, 라벨을 DarkNet 포맷으로 변환할 수 있다.
정리하면, 앞선 과정들을 통해 수집된 이미지 및 이미지에 따른 라벨을 미리 결정된 캐릭터 검출 모델에 입력하여 캐릭터 검출 모델을 학습할 수 있다. 이렇게 학습된 캐릭터 검출 모델은 입력된 각종 이미지에서 캐릭터 영역을 추출할 수 있다.
도 3은 본 발명의 일 실시예에 따른 캐릭터 검출 모델을 이용하여 캐릭터 이미지를 추출한 결과를 나타낸 예시도이다.
도 3을 참조하면, 각종 다양한 방식으로 이미지를 수집할 경우 이미지에는 캐릭터뿐만 아니라, 배경, 사물 등이 포함될 수 있다. 따라서, 캐릭터 검출 모델을 이용하여 학습에 필요한 캐릭터 영역만을 도 1 내지 도 2에 따른 설명을 참조하여 추출할 수 있다.
도 4는 본 발명의 일 실시예에 따라 추출된 캐릭터 이미지를 이용하여 클러스터링을 수행하는 과정을 나타낸 흐름도이다.
도 4를 참조하면, 캐릭터 검출 모델은 이미지에서 캐릭터 영역을 검출(바운딩 박스 형태로)할 수 있다. 이에 따라, 검출된 캐릭터 영역을 전처리하여 캐릭터 이미지를 획득(S200)할 수 있다. 여기서 전처리는, 수집된 이미지에서 캐릭터 검출 모델을 통해 검출된 캐릭터 영역을 잘라내고, 잘라낸 캐릭터 영역의 크기에 대하여 정규화(또는 노멀라이즈, normalize)를 수행하는 과정을 포함할 수 있다.
구체적인 예시로서, 도 3을 참조하면, 다양한 방식으로 수집한 이미지에서 애니메이션 캐릭터가 있는 영역만을 추출함으로써 획득한 캐릭터 이미지들을 확인할 수 있다.
캐릭터 이미지가 획득되면, 획득된 캐릭터 이미지에서 특징 벡터를 추출(S220)할 수 있다. 여기서 이미지에 대한 특징 벡터를 추출하는 알고리즘은 GIST descriptor가 있을 수 있고, 그 밖에도 딥러닝 기반의 인공 신경망을 이용할 수도 있다. 예를 들어, AlexNet, ResNet, DenseNet 등을 이용하여 특징 벡터를 추출할 수 있다. 실험적으로 특징 벡터를 추출하는 성능을 도출한 결과, DenseNet(162 layers), ResNet(152 layers), AlexNet(18 layers) 순으로 더 다양한 장면에서 같은 캐릭터를 잘 군집화 해내는 것을 확인할 수 있었다. 따라서, 가장 바람직하게는 DenseNet을 이용하여 특징 벡터를 추출할 수 있다.
다음으로, 추출된 특징 벡터를 이용하여 캐릭터 이미지를 클러스터링할 수 있다(S240). 수집한 이미지에서 검출되는 캐릭터의 세부 클래스(또는 클러스터, cluster) 개수는 예측할 수 없으므로, 클러스터링 알고리즘들 중에서 클러스터의 갯수를 미리 설정할 필요가 있는 알고리즘은 사용하지 않는 것이 바람직할 수 있다. 다시 말하면, 또한, 특징 벡터는 캐릭터마다 다르므로 캐릭터에 대한 세부 클래스의 개수를 예측할 수 없다. 따라서, 클러스터 숫자에 제한이 없는 클러스터링 알고리즘을 적용하는 것이 바람직하다.
또한, 클러스터링이 완료된 후 작업자가 특정 클러스터에 포함된 캐릭터 이미지들을 학습 데이터로 사용할지 여부를 쉽게 판단할 수 있도록 클러스터 각각에 대한 대표 이미지를 제공하는 알고리즘이 바람직할 수 있다.
따라서, 기존의 통계 및 데이터 마이닝에서 사용되는 클러스터링 알고리즘들 중에서도 대표적인 K-means 클러스터링 알고리즘은 클러스터의 개수를 미리 설정할 필요가 있으므로 부적합할 수 있다.
본 발명의 일 실시예에 따른 클러스터링 알고리즘으로는 Affinity Propagation(AP)이 사용될 수 있다. AP를 이용한 클리스터링은 입력되는 데이터의 유사성에 따라서 다양한 범위를 생성하고, 생성된 범위 내에서 대표 데이터를 선출하는 방식으로 수행될 수 있다. 구체적으로 AP를 이용한 클러스터링은, 미리 설정된 기준에 의해 클러스터링이 종료할 때까지, 모든 데이터에 대해 신뢰도(responsibility, r)와 이용가능성(availability, a)을 지속적으로 계산하고, 계산 결과를 업데이트한다. 여기서 신뢰도(r)와 이용가능성(a)는 다음의 [수학식 1]을 통해 반복적으로 계산될 수 있다.
상기 [수학식 1]에서, s(i,k)는 i번째 데이터와 k번째 데이터 사이의 유사도를 의미할 수 있고, r(i,k)은 k번째 데이터가 i번째 데이터에 대한 대표 데이터가 될 경우에 대한 신뢰도이며, a(i,k)는 i번째 데이터가 k번째 데이터를 대표 데이터로 선택하는 경우에 대한 이용가능성이다. 이때, [수학식 1]에 따른 유사도는 다음의 [수학식 2]와 같이 정의될 수 있다.
상기 [수학식 2]를 참조하면, 유사도(s(i,k))는 i번째 데이터(xi)와 k번째 데이터(xk)에 대한 노름(norm) 연산(또는 유클리드 노름 연산, Euclidean norm)의 제곱에 마이너스 부호를 취한 값일 수 있다.
상기 [수학식 1]에 따라 계산되는 신뢰도와 이용가능성이 더 이상 변화되지 않고 특정한 값으로 수렴하면 클러스터링을 위한 연산과정이 종료되고, 종료되는 시점에서 다음의 [수학식 3]에 따른 대표 데이터()를 클러스터링 결과 데이터로서 출력할 수 있다.
상기 [수학식 3]을 참조하면, 신뢰도(r)와 이용가능성(a)의 합이 최대가 되는 데이터를 대표 데이터로 출력할 수 있다. 다시 말하면, 대표 이미지를 출력할 수 있다.
한편, 종래의 AP 알고리즘을 이용한 클러스터링의 경우, 노이즈 클러스터링(Noise Clustering) 또는 오버 클러스터링(Over Clustering)의 오류가 발생할 수 있다. 노이즈 클러스터링 및 오버 클러스터링에 대해서는 도 5 및 도 6을 참조하여 보다 자세히 설명하겠다.
도 5는 종래의 AP알고리즘을 이용한 클러스터링 시 발생하는 노이즈 클러스터링의 결과를 나타낸 예시도이다.
도 5를 참조하면, 노이즈 클러스터링은 클러스터링의 수행 후, 서로 다른 캐릭터 이미지가 동일한 클러스터로 분류되는 오류일 수 있다.
종래의 AP알고리즘을 이용한 클러스터링의 경우, 클러스터링의 수행 결과로, 특정 캐릭터 이미지가 분류된 클러스터에, A와 같이 다른 종류의 캐릭터 이미지가 함께 분류되는 노이즈 클러스터링의 오류가 발생하였다.
도 6은 AP 알고리즘을 이용한 종래 클러스터링 시 발생하는 오버 클러스터링의 결과를 나타낸 예시도이다.
도 6을 참조하면, 오버 클러스터링은 클러스터링 수행 시 클러스터를 과하게 세분화하여 발생되는 오류로써, 동일한 캐릭터임에도 불구하고, 외부 요인에 의해 C1및 C2와 같이 서로 다른 클러스터로 분류될 수 있다. 여기서, 외부 요인은 자세, 조명 등 적어도 하나일 수 있다.
종래의 AP알고리즘을 이용한 클러스터링은 동일 캐릭터 이미지가 서로 다른 클러스터에 분류되는 오버 클러스터링의 오류가 발생하여 정밀도가 낮은 단점이 있었다.
이에, 본 발명의 실시예에 따른 학습 데이터 생성 장치는, AP 알고리즘을 이용한 클러스터링 수행 시, 클러스터의 결정 세기 값을 조절하여 노이즈 클러스터링 및 오버 클러스터링 등의 오류 발생을 방지할 수 있다. 클러스터의 결정 세기값을 조절하는 방법은 도 7을 참조하여 보다 자세히 설명하겠다.
도 7은 본 발명의 일 실시예에 따라 클러스터의 결정 세기 값을 조절하는 과정을 나타낸 흐름도이다.
도 7을 참조하면, 클러스터의 결정 세기 값은 캐릭터 이미지를 적어도 하나의 클러스터로 클러스터링 하기 위한 기준값일 수 있다. 다시 말하면, 클러스터의 결정 세기 값은 캐릭터 이미지들 간에 산출된 유사도를 바탕으로, 동일 클러스터에 해당되는지를 판단하는 기준일 수 있다. 예를 들어, 복수의 캐릭터 이미지들 간의 유사도가 클러스터의 결정 세기 값 대비 높을 경우, 상기 캐릭터 이미지들은 동일한 클러스터로 분류할 수 있다.
실시예에 따르면, 클러스터의 결정 세기 값은 도 4에서의 클러스터링(S240)에 따라 생성되는 클러스터의 개수를 사전 설정된 한계 범위 이내로 조절할 수 있다.
보다 구체적으로 설명하면, 클러스터의 결정 세기 값은 초기 클러스터링에 의해 생성된 클러스터의 개수를 사전 설정된 한계 범위와 비교할 수 있다. 여기서, 한계 범위는 고정밀의 클러스터링을 위해, 생성될 클러스터의 개수를 한정한 범위로, 최초 한계값으로부터 최대 한계값 사이의 범위로 정의될 수 있다.
일 실시예에 따라, 캐릭터 이미지의 클러스터링에 의해 생성된 클러스터의 개수가 최소 한계값 미만(S241)일 경우, 학습 데이터 생성 장치는 클러스터의 결정 세기 값을 증가시킬 수 있다(S243). 이후, 학습 데이터 생성 장치는 클러스터링을 재수행할 수 있다(S240). 따라서, 학습 데이터 생성 장치는 이전 단계 대비 유사도가 높은 캐릭터 이미지만을 동일한 클러스터에 결합시킴으로써 최종 클러스터의 개수가 증가할 수 있다. 따라서, 캐릭터 이미지의 클러스터링에 의해 생성된 클러스터의 개수가 한계 범위 내에 속할 때까지 상기 단계들을 반복적으로 수행할 수 있다.
다른 실시예에 따르면, 캐릭터 이미지의 클러스터링에 의해 생성된 클러스터의 개수가 한계 범위 내 최대값을 초과(S245)할 경우, 학습 데이터 생성 장치는 클러스터의 결정 세기 값을 감소시킬 수 있다(S247). 이후, 학습 데이터 생성 장치는 클러스터링을 재수행할 수 있다(S240). 이때, 클러스터링의 재수행은 도 4에서 설명된 클러스터링(S240)의 방법과 동일하게 진행될 수 있다.
클러스터링의 재수행(S240) 과정에서는 유사도가 낮은 캐릭터 이미지만을 동일한 클러스터에 결합시킴으로써 최종 클러스터의 개수를 감소시킬 수 있다. 이후, 캐릭터 이미지의 클러스터링에 의해 생성된 클러스터의 개수가 한계 범위 내에 속할 때까지 상기 단계들을 반복적으로 수행할 수 있다.
본 발명의 실시예에 따른 학습 데이터 생성 장치는, 클러스터의 결정 세기 값에 의해, 클러스터링에 따라 생성된 캐릭터 이미지의 클러스터 개수가 사전 설정된 한계 범위에 속하도록 조절함으로써, 고정밀의 클러스터링이 가능할 수 있다.
도 8은 본 발명의 일 실시예에 따른 캐릭터 이미지를 클러스터링한 결과를 나타낸 예시도이다.
도 8를 참조하면, 본 발명의 일 실시예에 따른 학습 데이터 생성 장치는 이미지 배경이나 캐릭터 자세에 영향을 받지 않고, 동일한 캐릭터 이미지를 동일 클러스터로 분류했음을 확인할 수 있다.
도 9는 본 발명의 일 실시예에 따른 사용자 인터페이스 기반의 클러스터 활용을 설명하기 위한 예시도이다.
도 8 및 도 9를 참조하면, 본 발명의 일 실시예에 따른 학습 데이터 생성 장치는 사용자 인터페이스(User Interface, UI)를 제공할 수 있다. 이에 따라, 사용자는 클러스터링이 완료된 후, 클러스터의 대표 이미지를 선택 및 조작하여 학습 데이터 셋을 생성할 수 있다.
실시예에 따라 보다 구체적으로 설명하면, 사용자는 도 8에서와 같이, 클러스터의 대표 이미지 중 어느 하나를 선택하므로써, 상기 대표 이미지가 속하는 클러스터 내 복수의 이미지들을 딥 러닝 기반의 애니메이션 캐릭터 학습을 위한 학습 데이터 셋으로 설정할 수 있다.
또한, 학습 데이터 생성 장치는 클러스터의 대표 이미지를 선택 및 조작하여 복수의 클러스터를 하나의 클러스터로 통합시킬 수 있다.
실시예에 따르면, 동일한 캐릭터 이미지가 복수의 클러스터들로 분류된 경우, 사용자는 도 9에서와 같이, 분류된 하나의 클러스터 대표 이미지를 선택하여 다른 클러스터의 대표 이미지 쪽으로 이동(drag & drop)시킬 수 있다. 이에 따라, 서로 다른 클러스터로 분류된 동일 캐릭터 이미지들이 하나의 클러스터로 통합시킬 수 있다.
도 10은 본 발명의 일 실시예에 따른 딥 러닝 기반으로 애니메이션 캐릭터를 학습하는 데 필요한 학습 데이터 생성 방법에 대한 흐름도이다.
도 10을 참조하면, 딥 러닝 기반으로 애니메이션 캐릭터를 학습하는 데 필요한 학습 데이터 생성 방법은, 유무선 통신을 이용하여 외부에서 각종 이미지를 수집하는 단계(S100), 캐릭터 검출 모델을 이용하여 수집된 이미지에서 캐릭터 이미지를 획득하는 단계(S110), 획득된 캐릭터 이미지에 대한 클러스터링(clustering)을 수행하는 단계(S120), 클러스터링된 이미지 중에서 학습 데이터를 선정하는 단계(S130) 및 선정된 학습 데이터를 캐릭터 인식을 위한 인공 신경망에 입력하는 단계(S140)를 포함할 수 있다.
상기 각종 이미지를 수집하는 단계(S100)는, 상기 유무선 통신을 이용하여 외부에서 동영상을 수집하는 단계 및 상기 수집된 동영상에서 미리 설정된 시간 간격으로 프레임들을 추출하는 단계를 포함할 수 있다.
상기 각종 이미지를 수집하는 단계(S100) 이후에, 수집된 이미지를 이용하여 상기 캐릭터 검출 모델을 학습하는 단계를 더 포함할 수 있다.
상기 캐릭터 검출 모델을 학습하는 단계는, 상기 수집된 이미지 각각에 대하여 라벨링하여 개별 이미지에 따른 라벨을 생성하는 단계 및 생성된 라벨 및 상기 수집된 이미지를 미리 설정된 캐릭터 검출 모델에 입력하여 상기 캐릭터 검출 모델을 학습하는 단계를 포함할 수 있다.
상기 캐릭터 검출 모델은, YOLO(you only look once), SSD(Single shot Detector), Faster R-CNN 중 하나일 수 있다.
상기 라벨은, DarkNet 포맷에 따른 라벨로서, 클래스 번호, 바운딩 박스의 시작점 좌표 비율 및 상기 바운딩 박스의 가로와 세로의 크기 비율을 포함할 수 있다.
상기 캐릭터 이미지를 획득하는 단계(S110)는, 상기 캐릭터 검출 모델을 이용하여 상기 수집된 이미지에서 바운딩 박스 형태의 캐릭터 영역을 검출하는 단계 및 검출된 캐릭터 영역을 전처리하여 상기 캐릭터 이미지를 획득하는 단계를 포함할 수 있다.
상기 전처리는, 상기 수집된 이미지에서 상기 캐릭터 영역을 잘라내고, 잘라낸 캐릭터 영역의 크기에 대하여 정규화를 수행하는 과정을 포함할 수 있다.
상기 클러스터링을 수행하는 단계(S120)는, 상기 캐릭터 이미지에서 특징 벡터를 추출하는 단계(S121) 및 추출된 특징 벡터를 이용하여 상기 캐릭터 이미지를 클러스터링하는 단계(S125)를 포함할 수 있다.
보다 구체적으로 설명하면, 상기 캐릭터 이미지를 클러스터링하는 단계(S125)는 클러스터의 결정 세기 값에 의해 클러스터의 수를 조절하는 단계를 포함할 수 있다. 클러스터의 수를 조절하는 방법은 앞서 도 7에서 설명한 내용과 중복되므로, 여기서는 생략토록 하겠다.
상기 학습 데이터를 선정하는 단계(S130)는, 상기 클러스터링된 이미지가 속하는 복수의 클러스터 각각에 대한 대표 이미지들을 사용자에게 표시하는 단계 및 표시된 대표 이미지들 중에서 상기 사용자에 의해 선택된 이미지에 상응하는 클러스터에 속하는 캐릭터 이미지를 상기 학습 데이터로 선정하는 단계를 포함할 수 있다.
도 11은 본 발명의 일 실시예에 따른 딥 러닝 기반으로 애니메이션 캐릭터를 학습하는 데 필요한 학습 데이터 생성 장치에 대한 하드웨어 구성도이다.
도 11을 참조하면, 딥 러닝 기반으로 애니메이션 캐릭터를 학습하는 데 필요한 학습 데이터 생성 장치(100)는, 적어도 하나의 프로세서(processor, 110) 및 상기 적어도 하나의 프로세서(110)가 적어도 하나의 단계를 수행하도록 지시하는 명령어들(instructions)을 저장하는 메모리(memory, 120)를 포함할 수 있다.
또한, 딥 러닝 기반으로 애니메이션 캐릭터를 학습하는 데 필요한 학습 데이터 생성 장치(100)는, 유무선 네트워크를 통해 기지국과 통신을 수행하는 송수신 장치(transceiver, 130)를 포함할 수 있다. 또한, 딥 러닝 기반으로 애니메이션 캐릭터를 학습하는 데 필요한 학습 데이터 생성 장치(100)는 입력 인터페이스 장치(140), 출력 인터페이스 장치(150), 저장 장치(160) 등을 더 포함할 수 있다. 딥 러닝 기반으로 애니메이션 캐릭터를 학습하는 데 필요한 학습 데이터 생성 장치(100)에 포함된 각각의 구성 요소들은 버스(bus, 170)에 의해 연결되어 서로 통신을 수행할 수 있다.
여기서 프로세서(110)는 중앙 처리 장치(central processing unit, CPU), 그래픽 처리 장치(graphics processing unit, GPU), 또는 본 발명의 실시예들에 따른 방법들이 수행되는 전용의 프로세서를 의미할 수 있다. 메모리(120) 및 저장 장치(160) 각각은 휘발성 저장 매체 및 비휘발성 저장 매체 중에서 적어도 하나로 구성될 수 있다. 예를 들어, 메모리(120)는 읽기 전용 메모리(read only memory, ROM) 및 랜덤 액세스 메모리(random access memory, RAM) 중에서 적어도 하나로 구성될 수 있다.
상기 적어도 하나의 단계는, 유무선 통신을 이용하여 외부에서 각종 이미지를 수집하는 단계, 캐릭터 검출 모델을 이용하여 수집된 이미지에서 캐릭터 이미지를 획득하는 단계, 획득된 캐릭터 이미지에 대한 클러스터링(clustering)을 수행하는 단계, 클러스터링된 이미지 중에서 학습 데이터를 선정하는 단계 및 선정된 학습 데이터를 캐릭터 인식을 위한 인공 신경망에 입력하는 단계를 포함할 수 있다.
상기 각종 이미지를 수집하는 단계는, 상기 유무선 통신을 이용하여 외부에서 동영상을 수집하는 단계 및 상기 수집된 동영상에서 미리 설정된 시간 간격으로 프레임들을 추출하는 단계를 포함할 수 있다.
상기 각종 이미지를 수집하는 단계 이후에, 수집된 이미지를 이용하여 상기 캐릭터 검출 모델을 학습하는 단계를 더 포함할 수 있다.
상기 캐릭터 검출 모델을 학습하는 단계는, 상기 수집된 이미지 각각에 대하여 라벨링하여 개별 이미지에 따른 라벨을 생성하는 단계 및 생성된 라벨 및 상기 수집된 이미지를 미리 설정된 캐릭터 검출 모델에 입력하여 상기 캐릭터 검출 모델을 학습하는 단계를 포함할 수 있다.
상기 캐릭터 검출 모델은, YOLO(you only look once), SSD(Single shot Detector), Faster R-CNN 중 하나일 수 있다.
상기 라벨은, DarkNet 포맷에 따른 라벨로서, 클래스 번호, 바운딩 박스의 시작점 좌표 비율 및 상기 바운딩 박스의 가로와 세로의 크기 비율을 포함할 수 있다.
상기 캐릭터 이미지를 획득하는 단계는, 상기 캐릭터 검출 모델을 이용하여 상기 수집된 이미지에서 바운딩 박스 형태의 캐릭터 영역을 검출하는 단계 및 검출된 캐릭터 영역을 전처리하여 상기 캐릭터 이미지를 획득하는 단계를 포함할 수 있다.
상기 전처리는, 상기 수집된 이미지에서 상기 캐릭터 영역을 잘라내고, 잘라낸 캐릭터 영역의 크기에 대하여 정규화를 수행하는 과정을 포함할 수 있다.
상기 클러스터링을 수행하는 단계는, 상기 캐릭터 이미지에서 특징 벡터를 추출하는 단계 및 추출된 특징 벡터를 이용하여 상기 캐릭터 이미지를 클러스터링하는 단계를 포함할 수 있다.
상기 학습 데이터를 선정하는 단계는, 상기 클러스터링된 이미지가 속하는 복수의 클러스터 각각에 대한 대표 이미지들을 사용자에게 표시하는 단계 및 표시된 대표 이미지들 중에서 상기 사용자에 의해 선택된 이미지에 상응하는 클러스터에 속하는 캐릭터 이미지를 상기 학습 데이터로 선정하는 단계를 포함할 수 있다.
딥 러닝 기반으로 애니메이션 캐릭터를 학습하는 데 필요한 학습 데이터 생성 장치의 예를 들면, 통신 가능한 데스크탑 컴퓨터(desktop computer), 랩탑 컴퓨터(laptop computer), 노트북(notebook), 스마트폰(smart phone), 태블릿 PC(tablet PC), 모바일폰(mobile phone), 스마트 워치(smart watch), 스마트 글래스(smart glass), e-book 리더기, PMP(portable multimedia player), 휴대용 게임기, 네비게이션(navigation) 장치, 디지털 카메라(digital camera), DMB(digital multimedia broadcasting) 재생기, 디지털 음성 녹음기(digital audio recorder), 디지털 음성 재생기(digital audio player), 디지털 동영상 녹화기(digital video recorder), 디지털 동영상 재생기(digital video player), PDA(Personal Digital Assistant) 등일 수 있다.
본 발명에 따른 방법들은 다양한 컴퓨터 수단을 통해 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 컴퓨터 판독 가능 매체에 기록되는 프로그램 명령은 본 발명을 위해 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다.
컴퓨터 판독 가능 매체의 예에는 롬(ROM), 램(RAM), 플래시 메모리(flash memory) 등과 같이 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함될 수 있다. 프로그램 명령의 예에는 컴파일러(compiler)에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터(interpreter) 등을 사용해서 컴퓨터에 의해 실행될 수 있는 고급 언어 코드를 포함할 수 있다. 상술한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 적어도 하나의 소프트웨어 모듈로 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
또한, 상술한 방법 또는 장치는 그 구성이나 기능의 전부 또는 일부가 결합되어 구현되거나, 분리되어 구현될 수 있다.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
100: 학습 데이터 생성 장치
101: 이미지 수집부
102: 캐릭터 검출 모델 학습부 103: 캐릭터 검출부
104: 유사 이미지 클러스터링부
102: 캐릭터 검출 모델 학습부 103: 캐릭터 검출부
104: 유사 이미지 클러스터링부
Claims (20)
- 딥 러닝 기반으로 애니메이션 캐릭터를 학습하는 데 필요한 학습 데이터 생성 방법으로,
유무선 통신을 이용하여 외부에서 각종 이미지를 수집하는 단계;
캐릭터 검출 모델을 이용하여 수집된 이미지에서 캐릭터 이미지를 획득하는 단계;
획득된 캐릭터 이미지에 대한 클러스터링(clustering)을 수행하는 단계;
클러스터링된 이미지 중에서 학습 데이터를 선정하는 단계; 및
선정된 학습 데이터를 캐릭터 인식을 위한 인공 신경망에 입력하는 단계를 포함하는, 학습 데이터 생성 방법. - 청구항 1에서,
상기 각종 이미지를 수집하는 단계는,
상기 유무선 통신을 이용하여 외부에서 동영상을 수집하는 단계; 및
상기 수집된 동영상에서 미리 설정된 시간 간격으로 프레임들을 추출하는 단계를 포함하는, 학습 데이터 생성 방법. - 청구항 1에서,
상기 각종 이미지를 수집하는 단계 이후에,
수집된 이미지를 이용하여 상기 캐릭터 검출 모델을 학습하는 단계를 더 포함하는, 학습 데이터 생성 방법. - 청구항 3에서,
상기 캐릭터 검출 모델을 학습하는 단계는,
상기 수집된 이미지 각각에 대하여 라벨링하여 개별 이미지에 따른 라벨을 생성하는 단계; 및
생성된 라벨 및 상기 수집된 이미지를 미리 설정된 캐릭터 검출 모델에 입력하여 상기 캐릭터 검출 모델을 학습하는 단계를 포함하는, 학습 데이터 생성 방법. - 청구항 4에서,
상기 라벨은,
DarkNet 포맷에 따른 라벨로서, 클래스 번호, 바운딩 박스의 시작점 좌표 비율 및 상기 바운딩 박스의 가로와 세로의 크기 비율을 포함하는, 학습 데이터 생성 방법. - 청구항 1에서,
상기 캐릭터 이미지를 획득하는 단계는,
상기 캐릭터 검출 모델을 이용하여 상기 수집된 이미지에서 바운딩 박스 형태의 캐릭터 영역을 검출하는 단계; 및
검출된 캐릭터 영역을 전처리하여 상기 캐릭터 이미지를 획득하는 단계를 포함하는, 학습 데이터 생성 방법. - 청구항 6에서,
상기 전처리는,
상기 수집된 이미지에서 상기 캐릭터 영역을 잘라내고, 잘라낸 캐릭터 영역의 크기에 대하여 정규화(또는 노멀라이즈, normalize)를 수행하는 과정을 포함하는, 학습 데이터 생성 방법. - 청구항 1에서,
상기 클러스터링을 수행하는 단계는,
상기 캐릭터 이미지에서 특징 벡터를 추출하는 단계; 및
추출된 특징 벡터를 이용하여 상기 캐릭터 이미지를 클러스터링하는 단계를 포함하는, 학습 데이터 생성 방법. - 청구항 8에서,
상기 추출된 특징 벡터를 이용하여 캐릭터 이미지를 클러스터링하는 단계는,
상기 캐릭터 이미지를 클러스터링하는 단계;
상기 클러스터링에 의해 생성된 클러스터의 개수에 따라 클러스터의 결정 세기 값을 조절하는 단계; 및
상기 캐릭터 이미지의 클러스터링을 재수행하는 단계를 포함하는, 학습 데이터 생성 방법. - 청구항 9에서,
상기 클러스터의 결정 세기 값을 조절하는 단계는,
상기 클러스터의 개수가 사전 설정된 한계 범위 중 최대 한계 값을 초과할 경우, 클러스터의 결정 세기 값을 증가시키는 단계; 및
상기 클러스터의 개수가 상기 한계 범위 중 최초 한계 값보다 미만일 경우, 클러스터의 결정 세기 값을 감소시키는 단계를 포함하는, 학습 데이터 생성 방법. - 딥 러닝 기반으로 애니메이션 캐릭터를 학습하는 데 필요한 학습 데이터 생성 장치로,
적어도 하나의 프로세서(processor); 및
상기 적어도 하나의 프로세서가 적어도 하나의 단계를 수행하도록 지시하는 명령어들(instructions)을 저장하는 메모리(memory)를 포함하고,
상기 적어도 하나의 단계는,
유무선 통신을 이용하여 외부에서 각종 이미지를 수집하는 단계;
캐릭터 검출 모델을 이용하여 수집된 이미지에서 캐릭터 이미지를 획득하는 단계;
획득된 캐릭터 이미지에 대한 클러스터링(clustering)을 수행하는 단계;
클러스터링된 이미지 중에서 학습 데이터를 선정하는 단계; 및
선정된 학습 데이터를 캐릭터 인식을 위한 인공 신경망에 입력하는 단계를 포함하는, 학습 데이터 생성 장치. - 청구항 11에서,
상기 각종 이미지를 수집하는 단계는,
상기 유무선 통신을 이용하여 외부에서 동영상을 수집하는 단계; 및
상기 수집된 동영상에서 미리 설정된 시간 간격으로 프레임들을 추출하는 단계를 포함하는, 학습 데이터 생성 장치. - 청구항 11에서,
상기 각종 이미지를 수집하는 단계 이후에,
수집된 이미지를 이용하여 상기 캐릭터 검출 모델을 학습하는 단계를 더 포함하는, 학습 데이터 생성 장치. - 청구항 13에서,
상기 캐릭터 검출 모델을 학습하는 단계는,
상기 수집된 이미지 각각에 대하여 라벨링하여 개별 이미지에 따른 라벨을 생성하는 단계; 및
생성된 라벨 및 상기 수집된 이미지를 미리 설정된 캐릭터 검출 모델에 입력하여 상기 캐릭터 검출 모델을 학습하는 단계를 포함하는, 학습 데이터 생성 장치. - 청구항 11에서,
상기 캐릭터 검출 모델은,
YOLO(you only look once), SSD(Single shot Detector), Faster R-CNN 중 하나인, 학습 데이터 생성 장치. - 청구항 14에서,
상기 라벨은,
DarkNet 포맷에 따른 라벨로서, 클래스 번호, 바운딩 박스의 시작점 좌표 비율 및 상기 바운딩 박스의 가로와 세로의 크기 비율을 포함하는, 학습 데이터 생성 장치. - 청구항 11에서,
상기 캐릭터 이미지를 획득하는 단계는,
상기 캐릭터 검출 모델을 이용하여 상기 수집된 이미지에서 바운딩 박스 형태의 캐릭터 영역을 검출하는 단계; 및
검출된 캐릭터 영역을 전처리하여 상기 캐릭터 이미지를 획득하는 단계를 포함하는, 학습 데이터 생성 장치. - 청구항 17에서,
상기 전처리는,
상기 수집된 이미지에서 상기 캐릭터 영역을 잘라내고, 잘라낸 캐릭터 영역의 크기에 대하여 정규화(또는 노멀라이즈, normalize)를 수행하는 과정을 포함하는, 학습 데이터 생성 장치. - 청구항 11에서,
상기 클러스터링을 수행하는 단계는,
상기 캐릭터 이미지에서 특징 벡터를 추출하는 단계; 및
추출된 특징 벡터를 이용하여 상기 캐릭터 이미지를 클러스터링하는 단계를 포함하는, 학습 데이터 생성 장치. - 청구항 11에서,
상기 학습 데이터를 선정하는 단계는,
상기 클러스터링된 이미지가 속하는 복수의 클러스터 각각에 대한 대표 이미지들을 사용자에게 표시하는 단계; 및
표시된 대표 이미지들 중에서 상기 사용자에 의해 선택된 이미지에 상응하는 클러스터에 속하는 캐릭터 이미지를 상기 학습 데이터로 선정하는 단계를 포함하는, 학습 데이터 생성 장치.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190124592A KR20210041856A (ko) | 2019-10-08 | 2019-10-08 | 딥 러닝 기반으로 애니메이션 캐릭터를 학습하는 데 필요한 학습 데이터 생성 방법 및 장치 |
US16/696,354 US11106942B2 (en) | 2019-10-08 | 2019-11-26 | Method and apparatus for generating learning data required to learn animation characters based on deep learning |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190124592A KR20210041856A (ko) | 2019-10-08 | 2019-10-08 | 딥 러닝 기반으로 애니메이션 캐릭터를 학습하는 데 필요한 학습 데이터 생성 방법 및 장치 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20210041856A true KR20210041856A (ko) | 2021-04-16 |
Family
ID=75274255
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020190124592A KR20210041856A (ko) | 2019-10-08 | 2019-10-08 | 딥 러닝 기반으로 애니메이션 캐릭터를 학습하는 데 필요한 학습 데이터 생성 방법 및 장치 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11106942B2 (ko) |
KR (1) | KR20210041856A (ko) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023214826A1 (ko) * | 2022-05-05 | 2023-11-09 | 유한회사 닥터다비드 | 집단 지성을 이용한 정보 처리 시스템 및 그 방법 |
KR102676291B1 (ko) | 2023-06-28 | 2024-06-19 | 주식회사 카비 | 딥 러닝 학습 데이터 구축을 위하여 영상데이터에서 이미지프레임 자동 추출 및 레이블링 방법 및 장치 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113486201A (zh) * | 2021-06-21 | 2021-10-08 | 上海同温层智能科技有限公司 | 一种卡通人物图像分类处理方法与系统 |
CN114282057B (zh) * | 2021-08-05 | 2024-10-15 | 腾讯科技(深圳)有限公司 | 影视角色分类方法、装置、计算机设备和存储介质 |
CN114333022B (zh) * | 2021-12-30 | 2024-05-31 | 北京爱奇艺科技有限公司 | 角色特征提取模型的训练方法、角色识别方法及相关设备 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060170769A1 (en) * | 2005-01-31 | 2006-08-03 | Jianpeng Zhou | Human and object recognition in digital video |
EP2630474A4 (en) * | 2010-10-19 | 2017-04-19 | 3M Innovative Properties Company | Computer-aided assignment of ratings to digital samples of a manufactured web product |
US9430718B1 (en) * | 2015-02-09 | 2016-08-30 | Sony Corporation | Efficient local feature descriptor filtering |
US10536357B2 (en) * | 2015-06-05 | 2020-01-14 | Cisco Technology, Inc. | Late data detection in data center |
KR102588524B1 (ko) * | 2016-08-01 | 2023-10-13 | 삼성전자주식회사 | 전자 장치 및 그의 동작 방법 |
KR102587254B1 (ko) | 2016-10-31 | 2023-10-13 | 한국전자통신연구원 | Cnn과 rnn을 이용한 얼굴인식 기반 키 생성 방법 및 장치 |
WO2018143486A1 (ko) | 2017-01-31 | 2018-08-09 | (주)한국플랫폼서비스기술 | 딥러닝 분석을 위한 모듈화시스템을 이용한 컨텐츠 제공 방법 |
KR20180092494A (ko) | 2017-02-09 | 2018-08-20 | 한국전자통신연구원 | 학습 이미지 데이터 정제 시스템 및 그 방법 |
KR20180092778A (ko) | 2017-02-10 | 2018-08-20 | 한국전자통신연구원 | 실감정보 제공 장치, 영상분석 서버 및 실감정보 제공 방법 |
US11176382B2 (en) * | 2017-03-06 | 2021-11-16 | Conduent Business Services, Llc | System and method for person re-identification using overhead view images |
CN107545241B (zh) | 2017-07-19 | 2022-05-27 | 百度在线网络技术(北京)有限公司 | 神经网络模型训练及活体检测方法、装置及存储介质 |
US10733507B2 (en) | 2017-07-25 | 2020-08-04 | Microsoft Technology Licensing, Llc | Semantic clustering based retrieval for candidate set expansion |
US11270121B2 (en) * | 2019-08-20 | 2022-03-08 | Microsoft Technology Licensing, Llc | Semi supervised animated character recognition in video |
-
2019
- 2019-10-08 KR KR1020190124592A patent/KR20210041856A/ko active IP Right Grant
- 2019-11-26 US US16/696,354 patent/US11106942B2/en active Active
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023214826A1 (ko) * | 2022-05-05 | 2023-11-09 | 유한회사 닥터다비드 | 집단 지성을 이용한 정보 처리 시스템 및 그 방법 |
KR102676291B1 (ko) | 2023-06-28 | 2024-06-19 | 주식회사 카비 | 딥 러닝 학습 데이터 구축을 위하여 영상데이터에서 이미지프레임 자동 추출 및 레이블링 방법 및 장치 |
Also Published As
Publication number | Publication date |
---|---|
US20210103721A1 (en) | 2021-04-08 |
US11106942B2 (en) | 2021-08-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021203863A1 (zh) | 基于人工智能的物体检测方法、装置、设备及存储介质 | |
US10242289B2 (en) | Method for analysing media content | |
KR20210041856A (ko) | 딥 러닝 기반으로 애니메이션 캐릭터를 학습하는 데 필요한 학습 데이터 생성 방법 및 장치 | |
US8750573B2 (en) | Hand gesture detection | |
US8792722B2 (en) | Hand gesture detection | |
CN109344793B (zh) | 用于识别空中手写的方法、装置、设备以及计算机可读存储介质 | |
US20180114071A1 (en) | Method for analysing media content | |
CN111488791A (zh) | 将指尖运动模式实时地设备上分类为手势 | |
US11132575B2 (en) | Combinatorial shape regression for face alignment in images | |
KR101896357B1 (ko) | 객체를 검출하는 방법, 디바이스 및 프로그램 | |
CN111368636B (zh) | 目标分类方法、装置、计算机设备和存储介质 | |
CN113255630B (zh) | 一种运动目标识别训练方法、运动目标识别方法及装置 | |
KR101802500B1 (ko) | 영상 인식을 위한 학습 장치 및 그 학습 방법 | |
Raut | Facial emotion recognition using machine learning | |
CN113487610B (zh) | 疱疹图像识别方法、装置、计算机设备和存储介质 | |
CN114519877A (zh) | 人脸识别方法、人脸识别装置、计算机设备及存储介质 | |
US11989943B2 (en) | Image frame extraction apparatus and image frame extraction method | |
KR20200106104A (ko) | 인공 신경망을 이용한 고속 객체 검출 방법 및 장치 | |
CN114937285B (zh) | 动态手势识别方法、装置、设备及存储介质 | |
KR101961462B1 (ko) | 객체 인식 방법 및 장치 | |
Lahiani et al. | Hand pose estimation system based on Viola-Jones algorithm for android devices | |
CN113095199B (zh) | 一种高速行人识别方法及装置 | |
CN113255752A (zh) | 基于特征聚类的固体材料一致性分选方法 | |
JP2011170890A (ja) | 顔検出方法および装置並びにプログラム | |
CN116994049A (zh) | 全自动针织横机及其方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right |