KR20210041856A - 딥 러닝 기반으로 애니메이션 캐릭터를 학습하는 데 필요한 학습 데이터 생성 방법 및 장치 - Google Patents

딥 러닝 기반으로 애니메이션 캐릭터를 학습하는 데 필요한 학습 데이터 생성 방법 및 장치 Download PDF

Info

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
Application number
KR1020190124592A
Other languages
English (en)
Inventor
임동혁
김정현
김혜미
박지현
서용석
유원영
Original Assignee
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자통신연구원 filed Critical 한국전자통신연구원
Priority to KR1020190124592A priority Critical patent/KR20210041856A/ko
Priority to US16/696,354 priority patent/US11106942B2/en
Publication of KR20210041856A publication Critical patent/KR20210041856A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • G06T13/403D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • G06F18/2148Generating training patterns; Bootstrap methods, e.g. bagging or boosting characterised by the process organisation or structure, e.g. boosting cascade
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • G06F18/2155Generating 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/40Software arrangements specially adapted for pattern recognition, e.g. user interfaces or toolboxes therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local 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/443Local 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/449Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters
    • G06V10/451Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters with interaction between the filter responses, e.g. cortical complex cells
    • G06V10/454Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/762Arrangements for image or video recognition or understanding using pattern recognition or machine learning using clustering, e.g. of similar faces in social networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/30Scenes; Scene-specific elements in albums, collections or shared content, e.g. social network photos or video
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • G06V20/41Higher-level, semantic clustering, classification or understanding of video scenes, e.g. detection, labelling or Markovian modelling of sport events or news items
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • G06V20/46Extracting features or characteristics from the video content, e.g. video fingerprints, representative shots or key frames
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • 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
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/12Bounding 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

딥 러닝 기반으로 애니메이션 캐릭터를 학습하는 데 필요한 학습 데이터 생성 방법 및 장치{METHOD AND APPARATUS FOR GENERATING LEARNING DATA REQUIRED TO LEARN ANIMATION CHARACTERS BASED ON DEEP LEARNING}
본 발명은 딥 러닝 기반으로 애니메이션 캐릭터를 학습하는 데 필요한 학습 데이터 생성 방법 및 장치에 관한 것으로, 더욱 상세하게는 사용자 딥러닝 기반의 인공 신경망을 통해 학습시키고자 하는 애니메이션 케릭터에 대한 학습 데이터를 를 정확하게 선별하여 생성함으로써, 용도에 따른 학습 데이터를 제공하고, 제공된 학습 데이터를 통해 캐릭터 인식율을 향상시키는 기술에 관한 것이다.
객체 검출(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은 본 발명의 일 실시예에 따른 딥 러닝 기반으로 애니메이션 캐릭터를 학습하는 데 필요한 학습 데이터 생성 장치에 대한 하드웨어 구성도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.
제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]을 통해 반복적으로 계산될 수 있다.
Figure pat00001
상기 [수학식 1]에서, s(i,k)는 i번째 데이터와 k번째 데이터 사이의 유사도를 의미할 수 있고, r(i,k)은 k번째 데이터가 i번째 데이터에 대한 대표 데이터가 될 경우에 대한 신뢰도이며, a(i,k)는 i번째 데이터가 k번째 데이터를 대표 데이터로 선택하는 경우에 대한 이용가능성이다. 이때, [수학식 1]에 따른 유사도는 다음의 [수학식 2]와 같이 정의될 수 있다.
Figure pat00002
상기 [수학식 2]를 참조하면, 유사도(s(i,k))는 i번째 데이터(xi)와 k번째 데이터(xk)에 대한 노름(norm) 연산(또는 유클리드 노름 연산, Euclidean norm)의 제곱에 마이너스 부호를 취한 값일 수 있다.
상기 [수학식 1]에 따라 계산되는 신뢰도와 이용가능성이 더 이상 변화되지 않고 특정한 값으로 수렴하면 클러스터링을 위한 연산과정이 종료되고, 종료되는 시점에서 다음의 [수학식 3]에 따른 대표 데이터(
Figure pat00003
)를 클러스터링 결과 데이터로서 출력할 수 있다.
Figure pat00004
상기 [수학식 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: 유사 이미지 클러스터링부

Claims (20)

  1. 딥 러닝 기반으로 애니메이션 캐릭터를 학습하는 데 필요한 학습 데이터 생성 방법으로,
    유무선 통신을 이용하여 외부에서 각종 이미지를 수집하는 단계;
    캐릭터 검출 모델을 이용하여 수집된 이미지에서 캐릭터 이미지를 획득하는 단계;
    획득된 캐릭터 이미지에 대한 클러스터링(clustering)을 수행하는 단계;
    클러스터링된 이미지 중에서 학습 데이터를 선정하는 단계; 및
    선정된 학습 데이터를 캐릭터 인식을 위한 인공 신경망에 입력하는 단계를 포함하는, 학습 데이터 생성 방법.
  2. 청구항 1에서,
    상기 각종 이미지를 수집하는 단계는,
    상기 유무선 통신을 이용하여 외부에서 동영상을 수집하는 단계; 및
    상기 수집된 동영상에서 미리 설정된 시간 간격으로 프레임들을 추출하는 단계를 포함하는, 학습 데이터 생성 방법.
  3. 청구항 1에서,
    상기 각종 이미지를 수집하는 단계 이후에,
    수집된 이미지를 이용하여 상기 캐릭터 검출 모델을 학습하는 단계를 더 포함하는, 학습 데이터 생성 방법.
  4. 청구항 3에서,
    상기 캐릭터 검출 모델을 학습하는 단계는,
    상기 수집된 이미지 각각에 대하여 라벨링하여 개별 이미지에 따른 라벨을 생성하는 단계; 및
    생성된 라벨 및 상기 수집된 이미지를 미리 설정된 캐릭터 검출 모델에 입력하여 상기 캐릭터 검출 모델을 학습하는 단계를 포함하는, 학습 데이터 생성 방법.
  5. 청구항 4에서,
    상기 라벨은,
    DarkNet 포맷에 따른 라벨로서, 클래스 번호, 바운딩 박스의 시작점 좌표 비율 및 상기 바운딩 박스의 가로와 세로의 크기 비율을 포함하는, 학습 데이터 생성 방법.
  6. 청구항 1에서,
    상기 캐릭터 이미지를 획득하는 단계는,
    상기 캐릭터 검출 모델을 이용하여 상기 수집된 이미지에서 바운딩 박스 형태의 캐릭터 영역을 검출하는 단계; 및
    검출된 캐릭터 영역을 전처리하여 상기 캐릭터 이미지를 획득하는 단계를 포함하는, 학습 데이터 생성 방법.
  7. 청구항 6에서,
    상기 전처리는,
    상기 수집된 이미지에서 상기 캐릭터 영역을 잘라내고, 잘라낸 캐릭터 영역의 크기에 대하여 정규화(또는 노멀라이즈, normalize)를 수행하는 과정을 포함하는, 학습 데이터 생성 방법.
  8. 청구항 1에서,
    상기 클러스터링을 수행하는 단계는,
    상기 캐릭터 이미지에서 특징 벡터를 추출하는 단계; 및
    추출된 특징 벡터를 이용하여 상기 캐릭터 이미지를 클러스터링하는 단계를 포함하는, 학습 데이터 생성 방법.
  9. 청구항 8에서,
    상기 추출된 특징 벡터를 이용하여 캐릭터 이미지를 클러스터링하는 단계는,
    상기 캐릭터 이미지를 클러스터링하는 단계;
    상기 클러스터링에 의해 생성된 클러스터의 개수에 따라 클러스터의 결정 세기 값을 조절하는 단계; 및
    상기 캐릭터 이미지의 클러스터링을 재수행하는 단계를 포함하는, 학습 데이터 생성 방법.
  10. 청구항 9에서,
    상기 클러스터의 결정 세기 값을 조절하는 단계는,
    상기 클러스터의 개수가 사전 설정된 한계 범위 중 최대 한계 값을 초과할 경우, 클러스터의 결정 세기 값을 증가시키는 단계; 및
    상기 클러스터의 개수가 상기 한계 범위 중 최초 한계 값보다 미만일 경우, 클러스터의 결정 세기 값을 감소시키는 단계를 포함하는, 학습 데이터 생성 방법.
  11. 딥 러닝 기반으로 애니메이션 캐릭터를 학습하는 데 필요한 학습 데이터 생성 장치로,
    적어도 하나의 프로세서(processor); 및
    상기 적어도 하나의 프로세서가 적어도 하나의 단계를 수행하도록 지시하는 명령어들(instructions)을 저장하는 메모리(memory)를 포함하고,
    상기 적어도 하나의 단계는,
    유무선 통신을 이용하여 외부에서 각종 이미지를 수집하는 단계;
    캐릭터 검출 모델을 이용하여 수집된 이미지에서 캐릭터 이미지를 획득하는 단계;
    획득된 캐릭터 이미지에 대한 클러스터링(clustering)을 수행하는 단계;
    클러스터링된 이미지 중에서 학습 데이터를 선정하는 단계; 및
    선정된 학습 데이터를 캐릭터 인식을 위한 인공 신경망에 입력하는 단계를 포함하는, 학습 데이터 생성 장치.
  12. 청구항 11에서,
    상기 각종 이미지를 수집하는 단계는,
    상기 유무선 통신을 이용하여 외부에서 동영상을 수집하는 단계; 및
    상기 수집된 동영상에서 미리 설정된 시간 간격으로 프레임들을 추출하는 단계를 포함하는, 학습 데이터 생성 장치.
  13. 청구항 11에서,
    상기 각종 이미지를 수집하는 단계 이후에,
    수집된 이미지를 이용하여 상기 캐릭터 검출 모델을 학습하는 단계를 더 포함하는, 학습 데이터 생성 장치.
  14. 청구항 13에서,
    상기 캐릭터 검출 모델을 학습하는 단계는,
    상기 수집된 이미지 각각에 대하여 라벨링하여 개별 이미지에 따른 라벨을 생성하는 단계; 및
    생성된 라벨 및 상기 수집된 이미지를 미리 설정된 캐릭터 검출 모델에 입력하여 상기 캐릭터 검출 모델을 학습하는 단계를 포함하는, 학습 데이터 생성 장치.
  15. 청구항 11에서,
    상기 캐릭터 검출 모델은,
    YOLO(you only look once), SSD(Single shot Detector), Faster R-CNN 중 하나인, 학습 데이터 생성 장치.
  16. 청구항 14에서,
    상기 라벨은,
    DarkNet 포맷에 따른 라벨로서, 클래스 번호, 바운딩 박스의 시작점 좌표 비율 및 상기 바운딩 박스의 가로와 세로의 크기 비율을 포함하는, 학습 데이터 생성 장치.
  17. 청구항 11에서,
    상기 캐릭터 이미지를 획득하는 단계는,
    상기 캐릭터 검출 모델을 이용하여 상기 수집된 이미지에서 바운딩 박스 형태의 캐릭터 영역을 검출하는 단계; 및
    검출된 캐릭터 영역을 전처리하여 상기 캐릭터 이미지를 획득하는 단계를 포함하는, 학습 데이터 생성 장치.
  18. 청구항 17에서,
    상기 전처리는,
    상기 수집된 이미지에서 상기 캐릭터 영역을 잘라내고, 잘라낸 캐릭터 영역의 크기에 대하여 정규화(또는 노멀라이즈, normalize)를 수행하는 과정을 포함하는, 학습 데이터 생성 장치.
  19. 청구항 11에서,
    상기 클러스터링을 수행하는 단계는,
    상기 캐릭터 이미지에서 특징 벡터를 추출하는 단계; 및
    추출된 특징 벡터를 이용하여 상기 캐릭터 이미지를 클러스터링하는 단계를 포함하는, 학습 데이터 생성 장치.
  20. 청구항 11에서,
    상기 학습 데이터를 선정하는 단계는,
    상기 클러스터링된 이미지가 속하는 복수의 클러스터 각각에 대한 대표 이미지들을 사용자에게 표시하는 단계; 및
    표시된 대표 이미지들 중에서 상기 사용자에 의해 선택된 이미지에 상응하는 클러스터에 속하는 캐릭터 이미지를 상기 학습 데이터로 선정하는 단계를 포함하는, 학습 데이터 생성 장치.
KR1020190124592A 2019-10-08 2019-10-08 딥 러닝 기반으로 애니메이션 캐릭터를 학습하는 데 필요한 학습 데이터 생성 방법 및 장치 KR20210041856A (ko)

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 (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023214826A1 (ko) * 2022-05-05 2023-11-09 유한회사 닥터다비드 집단 지성을 이용한 정보 처리 시스템 및 그 방법

Family Cites Families (13)

* Cited by examiner, † Cited by third party
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
JP5898221B2 (ja) * 2010-10-19 2016-04-06 スリーエム イノベイティブ プロパティズ カンパニー 製造されたウェブ製品のデジタルサンプルに対する評価のコンピュータ支援割り当て
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

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023214826A1 (ko) * 2022-05-05 2023-11-09 유한회사 닥터다비드 집단 지성을 이용한 정보 처리 시스템 및 그 방법

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) 基于人工智能的物体检测方法、装置、设备及存储介质
US8750573B2 (en) Hand gesture detection
US8792722B2 (en) Hand gesture detection
CN109344793B (zh) 用于识别空中手写的方法、装置、设备以及计算机可读存储介质
CN111488791A (zh) 将指尖运动模式实时地设备上分类为手势
US11132575B2 (en) Combinatorial shape regression for face alignment in images
KR101896357B1 (ko) 객체를 검출하는 방법, 디바이스 및 프로그램
GB2555136A (en) A method for analysing media content
CN111368636B (zh) 目标分类方法、装置、计算机设备和存储介质
KR101802500B1 (ko) 영상 인식을 위한 학습 장치 및 그 학습 방법
CN113255630B (zh) 一种运动目标识别训练方法、运动目标识别方法及装置
US11989943B2 (en) Image frame extraction apparatus and image frame extraction method
CN114937285B (zh) 动态手势识别方法、装置、设备及存储介质
CN114519877A (zh) 人脸识别方法、人脸识别装置、计算机设备及存储介质
US10891740B2 (en) Moving object tracking apparatus, moving object tracking method, and computer program product
Lahiani et al. Hand pose estimation system based on Viola-Jones algorithm for android devices
CN113487610B (zh) 疱疹图像识别方法、装置、计算机设备和存储介质
CN113095199B (zh) 一种高速行人识别方法及装置
KR20200106104A (ko) 인공 신경망을 이용한 고속 객체 검출 방법 및 장치
CN113255752A (zh) 基于特征聚类的固体材料一致性分选方法
KR20210041856A (ko) 딥 러닝 기반으로 애니메이션 캐릭터를 학습하는 데 필요한 학습 데이터 생성 방법 및 장치
JP2011170890A (ja) 顔検出方法および装置並びにプログラム
CN116994049A (zh) 全自动针织横机及其方法
Neiva et al. A dynamic gesture recognition system to translate between sign languages in complex backgrounds
CN113139540A (zh) 背板检测方法及设备

Legal Events

Date Code Title Description
A201 Request for examination