KR20210048187A - 객체 분류 및 검출을 위한 모델 학습 방법 및 장치 - Google Patents

객체 분류 및 검출을 위한 모델 학습 방법 및 장치 Download PDF

Info

Publication number
KR20210048187A
KR20210048187A KR1020190132151A KR20190132151A KR20210048187A KR 20210048187 A KR20210048187 A KR 20210048187A KR 1020190132151 A KR1020190132151 A KR 1020190132151A KR 20190132151 A KR20190132151 A KR 20190132151A KR 20210048187 A KR20210048187 A KR 20210048187A
Authority
KR
South Korea
Prior art keywords
image
model
classification
classification model
training
Prior art date
Application number
KR1020190132151A
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 KR1020190132151A priority Critical patent/KR20210048187A/ko
Priority to US16/666,051 priority patent/US10990852B1/en
Publication of KR20210048187A publication Critical patent/KR20210048187A/ko

Links

Images

Classifications

    • 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
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • 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/211Selection of the most significant subset of features
    • G06F18/2115Selection of the most significant subset of features by evaluating different subsets according to an optimisation criterion, e.g. class separability, forward selection or backward elimination
    • 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/24Classification techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/25Fusion techniques
    • G06F18/254Fusion techniques of classification results, e.g. of results related to same input data
    • G06K9/6267
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • G06T7/0004Industrial image inspection
    • G06T7/001Industrial image inspection using an image reference approach
    • 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/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/774Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
    • G06V10/7747Organisation of the process, e.g. bagging or boosting
    • 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/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/80Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level
    • G06V10/809Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level of classification results, e.g. where the classifiers operate on the same input data
    • 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
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V2201/00Indexing scheme relating to image or video recognition or understanding
    • G06V2201/07Target detection

Landscapes

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

Abstract

객체 분류 및 검출을 위한 모델 학습 방법 및 장치가 개시된다. 일 실시예에 따른 객체 분류 및 검출을 위한 모델 학습 방법은, 클래스가 할당된 이미지를 포함하는 제1 학습 이미지 세트를 이용하여, 복수의 분류 모델에서 공유되는 공유 특징 추출부 및 상기 공유 특징 추출부에 의해 추출된 제1 입력 이미지의 특징 값에 기초하여 상기 제1 입력 이미지에 포함된 객체에 대한 분류 결과를 출력하는 제1 분류부를 포함하는 제1 분류 모델을 학습시키는 단계, 가짜 이미지(fake image)와 실제 이미지(real image)를 포함하는 제2 학습 이미지 세트를 이용하여, 상기 공유 특징 추출부 및 상기 공유 특징 추출부에 의해 추출된 제2 입력 이미지의 특징 값에 기초하여 상기 제2 입력 이미지의 진위 여부에 대한 분류 결과를 출력하는 제2 분류부를 포함하는 제2 분류 모델을 학습시키는 단계, 및 하나 이상의 각도로 회전된 이미지들을 포함하는 제3 학습 이미지 세트를 이용하여, 상기 공유 특징 추출부 및 상기 공유 특징 추출부에 의해 추출된 제3 입력 이미지의 특징 값에 기초하여 상기 제3 입력 이미지의 회전 각도에 대한 분류 결과를 출력하는 제3 분류부를 포함하는 제3 분류 모델을 학습시키는 단계를 포함한다.

Description

객체 분류 및 검출을 위한 모델 학습 방법 및 장치{METHOD AND APPARATUS FOR TRAINING MODEL FOR OBJECT CLASSIFICATION AND DETECTION}
개시되는 실시예들은 객체 분류 및 검출을 위한 모델 학습 기술과 관련된다.
일반적으로 객체 검출 모델(Object Detection Model)을 학습시키기 위해서는 각 이미지에 존재하는 객체들의 경계 박스(Bounding Box) 및 클래스(Class)가 레이블링된 학습 데이터(labeled training data)가 필요하다. 특히, 경계 박스를 이미지에 표시하기 위해서는 많은 노력이 필요하기 때문에, 경계 박스가 표시된 학습 데이터를 대규모로 얻기가 어렵다.
이러한 문제를 해결하기 위해, 최근 경계 박스 없이 모델을 학습시킬 수 있는 약 지도 객체 검출(weakly-supervised object detection, WSOD)이 제안되었다. 하지만, 약 지도 객체 검출은 클래스가 레이블링된 이미지가 많이 필요하다는 문제가 있다. 따라서, 경계 박스가 없는 상황에서 클래스가 레이블링된 이미지가 적은 경우에도 객체 분류 모델을 학습시킬 수 있는 방법이 필요하다.
한국등록특허 제10-1738825호 (2017.05.23. 공고)
개시되는 실시예들은 객체 분류 및 검출을 위한 모델을 효과적으로 학습시키는 방법 및 장치를 제공하기 위한 것이다.
일 실시예에 따른 객체 분류 및 검출을 위한 모델 학습 방법은, 클래스가 할당된 이미지를 포함하는 제1 학습 이미지 세트를 이용하여, 복수의 분류 모델에서 공유되는 공유 특징 추출부 및 상기 공유 특징 추출부에 의해 추출된 제1 입력 이미지의 특징 값에 기초하여 상기 제1 입력 이미지에 포함된 객체에 대한 분류 결과를 출력하는 제1 분류부를 포함하는 제1 분류 모델을 학습시키는 단계, 가짜 이미지(fake image)와 실제 이미지(real image)를 포함하는 제2 학습 이미지 세트를 이용하여, 상기 공유 특징 추출부 및 상기 공유 특징 추출부에 의해 추출된 제2 입력 이미지의 특징 값에 기초하여 상기 제2 입력 이미지의 진위 여부에 대한 분류 결과를 출력하는 제2 분류부를 포함하는 제2 분류 모델을 학습시키는 단계, 및 하나 이상의 각도로 회전된 이미지들을 포함하는 제3 학습 이미지 세트를 이용하여, 상기 공유 특징 추출부 및 상기 공유 특징 추출부에 의해 추출된 제3 입력 이미지의 특징 값에 기초하여 상기 제3 입력 이미지의 회전 각도에 대한 분류 결과를 출력하는 제3 분류부를 포함하는 제3 분류 모델을 학습시키는 단계를 포함한다.
상기 제1 분류 모델을 학습시키는 단계는, 상기 클래스가 할당된 이미지를 상기 제1 분류 모델의 입력 데이터로 이용하고, 상기 클래스를 상기 제1 분류 모델의 타겟 데이터로 이용하여 상기 제1 분류 모델을 학습시킬 수 있다.
상기 제1 분류 모델은, 상기 제1 입력 이미지의 특징 값에 기초하여 상기 제1 입력 이미지 내 상기 객체의 위치를 출력하기 위한 글로벌 평균 값 풀링(GAP: Global Average Pooling) 층을 더 포함할 수 있다.
상기 제1 학습 이미지 세트는, 위치 정보가 할당된 이미지를 더 포함하고, 상기 제1 분류 모델을 학습시키는 단계는, 상기 클래스가 할당된 이미지 및 상기 위치 정보가 할당된 이미지를 상기 제1 분류 모델의 입력 데이터로 이용하고, 상기 클래스 및 상기 위치 정보를 상기 제1 분류 모델의 타겟 데이터로 이용하여 상기 제1 분류 모델을 학습시킬 수 있다.
상기 제2 분류 모델을 학습시키는 단계는, 생성 적대 신경망(GAN: Generative Network) 기반 생성 모델을 이용하여 상기 가짜 이미지를 생성할 수 있다.
상기 제2 분류 모델을 학습시키는 단계는, 상기 가짜 이미지와 실제 이미지를 상기 제2 분류 모델의 입력 데이터로 이용하고, 상기 가짜 이미지와 실제 이미지 각각에 대응되는 진위 여부를 상기 제2 분류 모델의 타겟 데이터로 이용하여 상기 제2 분류 모델을 학습시키고, 상기 진짜 이미지와 동일한 이미지를 생성하도록 상기 생성 모델을 학습시킬 수 있다.
상기 제3 분류 모델은, 레이블이 할당되지 않은 이미지를 상기 하나 이상의 각도로 회전시켜 상기 제3 학습 이미지 세트를 생성하는 이미지 회전부를 포함할 수 있다.
상기 제3 분류 모델을 학습시키는 단계는, 상기 회전된 이미지들을 상기 제3 모델의 입력 데이터로 이용하고, 상기 회전된 이미지들 각각의 회전 각도를 상기 제3 모델의 타겟 데이터로 이용하여 상기 제3 분류 모델을 학습시킬 수 있다.
상기 제1 분류 모델, 상기 제2 분류 모델 및 상기 제3 분류 모델은, 각각 상기 제1 분류 모델에 설정된 손실 함수, 상기 제2 분류 모델에 설정된 손실 함수 및 상기 제3 분류 모델에 설정된 손실 함수의 가중치 합이 최소가 되도록 학습될 수 있다.
일 실시예에 따른, 객체 분류 및 검출을 위한 모델 학습 장치는, 하나 이상의 명령어를 저장하는 메모리, 상기 하나 이상의 명령어를 실행하기 위한 하나 이상의 프로세서를 포함하고, 상기 하나 이상의 프로세서는, 클래스가 할당된 이미지를 포함하는 제1 학습 이미지 세트를 이용하여, 복수의 분류 모델에서 공유되는 공유 특징 추출부 및 상기 공유 특징 추출부에 의해 추출된 제1 입력 이미지의 특징 값에 기초하여 상기 제1 입력 이미지에 포함된 객체에 대한 분류 결과를 출력하는 제1 분류부를 포함하는 제1 분류 모델을 학습시키고, 가짜 이미지(fake image)와 실제 이미지(real image)를 포함하는 제2 학습 이미지 세트를 이용하여, 상기 공유 특징 추출부 및 상기 공유 특징 추출부에 의해 추출된 제2 입력 이미지의 특징 값에 기초하여 상기 제2 입력 이미지의 진위 여부에 대한 분류 결과를 출력하는 제2 분류부를 포함하는 제2 분류 모델을 학습시키고, 하나 이상의 각도로 회전된 이미지들을 포함하는 제3 학습 이미지 세트를 이용하여, 상기 공유 특징 추출부 및 상기 공유 특징 추출부에 의해 추출된 제3 입력 이미지의 특징 값에 기초하여 제3 입력 이미지의 회전 각도에 대한 분류 결과를 출력하는 제3 분류부를 포함하는 제3 분류 모델을 학습시킨다.
상기 하나 이상의 프로세서는, 상기 클래스가 할당된 이미지를 상기 제1 분류 모델의 입력 데이터로 이용하고, 상기 클래스를 상기 제1 분류 모델의 타겟 데이터로 이용하여 상기 제1 분류 모델을 학습시킬 수 있다.
상기 제1 분류 모델은, 상기 제1 입력 이미지의 특징 값에 기초하여 상기 제1 입력 이미지 내 상기 객체의 위치를 출력하기 위한 글로벌 평균 값 풀링(GAP: Global Average Pooling) 층을 더 포함할 수 있다.
상기 제1 학습 이미지 세트는, 위치 정보가 할당된 이미지를 더 포함하고, 상기 하나 이상의 프로세서는, 상기 클래스가 할당된 이미지 및 상기 위치 정보가 할당된 이미지를 상기 제1 분류 모델의 입력 데이터로 이용하고, 상기 클래스 및 상기 위치 정보를 상기 제1 분류 모델의 타겟 데이터로 이용하여 상기 제1 분류 모델을 학습시킬 수 있다.
상기 하나 이상의 프로세서는, 생성 적대 신경망(GAN: Generative Network) 기반 생성 모델을 이용하여 상기 가짜 이미지를 생성할 수 있다.
상기 하나 이상의 프로세서는, 상기 가짜 이미지와 실제 이미지를 상기 제2 분류 모델의 입력 데이터로 이용하고, 상기 가짜 이미지와 실제 이미지 각각에 대응되는 진위 여부를 상기 제2 분류 모델의 타겟 데이터로 이용하여 상기 제2 분류 모델을 학습시키고, 상기 실제 이미지와 동일한 이미지를 생성하도록 상기 생성 모델을 학습시킬 수 있다.
상기 제3 분류 모델은, 레이블이 할당되지 않은 이미지를 상기 하나 이상의 각도로 회전시켜 상기 제3 학습 이미지 세트를 생성하는 이미지 회전부를 포함할 수 있다.
상기 하나 이상의 프로세서는, 상기 회전된 이미지들을 상기 제3 모델의 입력 데이터로 이용하고, 상기 회전된 이미지들 각각의 회전 각도를 상기 제3 모델의 타겟 데이터로 이용하여 상기 제3 분류 모델을 학습시킬 수 있다.
상기 제1 분류 모델, 상기 제2 분류 모델 및 상기 제3 분류 모델은, 각각 상기 제1 분류 모델에 설정된 손실 함수, 상기 제2 분류 모델에 설정된 손실 함수 및 상기 제3 분류 모델에 설정된 손실 함수의 가중치 합이 최소가 되도록 학습될 수 있다.
개시되는 실시예들에 따르면, 동일한 공유 특징 추출부를 공유하는 복수의 분류 모델을 각각 학습시킴으로써, 공유 특징 추출부를 여러 번 충분하게 학습시킬 수 있다. 이에 따라, 레이블링된 학습 데이터(labeled training data)를 이용한 지도 학습 기반의 객체 분류(object classification) 모델, 객체 탐지(object detection) 모델 등에 이용되는 특징 추출부가 충분하게 학습되기 때문에 모델의 성능을 높일 수 있다. 또한, 레이블링된 학습 데이터 구축에 소요되는 노력, 시간 및 비용을 줄일 수 있다.
도 1은 예시적인 실시예들에서 사용되기에 적합한 컴퓨팅 장치를 포함하는 컴퓨팅 환경을 예시하여 설명하기 위한 블록도
도 2는 일 실시예에 따른 객체 분류 및 검출을 위한 모델 학습 방법의 순서도
도 3은 일 실시예에 따른 제1 분류 모델의 개략적인 구성도
도 4는 일 실시예에 따른 생성 모델 및 제2 분류 모델의 개략적인 구성도
도 5는 일 실시예에 따른 제3 분류 모델의 개략적인 구성도
도 6은 일 실시예에 따른 제1 분류 모델, 제2 분류 모델 및 제3 분류 모델의 전체 구성도
이하, 도면을 참조하여 구체적인 실시형태를 설명하기로 한다. 이하의 상세한 설명은 본 명세서에서 기술된 방법, 장치 및/또는 시스템에 대한 포괄적인 이해를 돕기 위해 제공된다. 그러나 이는 예시에 불과하며 이에 제한되지 않는다.
실시예들을 설명함에 있어서, 관련된 공지기술에 대한 구체적인 설명이 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하기로 한다. 그리고, 후술되는 용어들은 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다. 상세한 설명에서 사용되는 용어는 단지 실시예들을 기술하기 위한 것이며, 결코 제한적이어서는 안 된다. 명확하게 달리 사용되지 않는 한, 단수 형태의 표현은 복수 형태의 의미를 포함한다. 또한, "포함" 또는 "구비"와 같은 표현은 어떤 특성들, 숫자들, 단계들, 동작들, 요소들, 이들의 일부 또는 조합을 가리키기 위한 것이며, 기술된 것 이외에 하나 또는 그 이상의 다른 특성, 숫자, 단계, 동작, 요소, 이들의 일부 또는 조합의 존재 또는 가능성을 배제하도록 해석되어서는 안 된다.
신경망(neural network)은 생물학적인 뉴런의 기능을 단순화시킨 인공 뉴런들이 이용되고, 인공 뉴런들은 연결 가중치(connection weight)를 가지는 연결선을 통해 상호 연결될 수 있다. 신경망의 파라미터(parameter)인 연결 가중치는 연결선이 갖는 특정한 값으로서 연결 강도라고 나타낼 수 있다. 신경망은 인공 뉴런들을 통해 인간의 인지 작용이나 학습 과정을 수행할 수 있다. 인공 뉴런은 노드(node)라고도 지칭할 수 있다.
신경망은 복수의 층들(layers)을 포함할 수 있다. 예를 들어, 신경망은 입력 층(input layer), 은닉 층(hidden layer), 출력 층(output layer)를 포함할 수 있다. 입력 층은 학습을 수행하기 위한 입력을 수신하여 은닉 층에 전달할 수 있고, 출력 층은 은닉 층의 노드들로부터 수신한 신호에 기초하여 신경망의 출력을 생성할 수 있다. 은닉 층은 입력 층과 출력 층 사이에 위치하고, 입력 층을 통해 전달된 학습 데이터를 예측하기 쉬운 값으로 변화시킬 수 있다. 입력 층과 은닉 층에 포함된 노드들은 연결 가중치를 가지는 연결선을 통해 서로 연결되고, 은닉 층과 출력 층에 포함된 노드들에서도 연결 가중치를 가지는 연결선을 통해 서로 연결될 수 있다. 입력 층, 은닉 층 및 출력 층은 복수의 노드들을 포함할 수 있다.
신경망은 복수의 은닉 층들을 포함할 수 있다. 복수의 은닉 층들을 포함하는 신경망을 심층 신경망(Deep Neural Network)이라고 하고, 심층 신경망을 학습시키는 것을 딥러닝(Deep Learning)이라고 한다. 은닉 층에 포함된 노드를 은닉 노드(hidden node)라고 한다. 이하, 신경망을 학습시킨다는 것은 신경망의 파라미터를 학습시킨다는 것으로 이해될 수 있다. 또한, 학습된 신경망은 학습된 파라미터가 적용된 신경망으로 이해될 수 있다.
이때, 신경망은 기 설정된 손실 함수(loss function)를 지표로 삼아 학습될 수 있다. 손실 함수는 신경망이 학습을 통해 최적의 가중치 매개변수를 결정하기 위한 지표일 수 있다. 신경망은 설정된 손실 함수의 결과 값을 가장 작게 만드는 것을 목표로 학습될 수 있다.
신경망은 지도 학습(supervised learning) 또는 비지도 학습(unsupervised learning) 방식을 통해 학습될 수 있다. 지도 학습이란 입력 데이터 및 입력 데이터에 대응되는 타겟 데이터를 포함하는 학습 데이터를 신경망에 입력하고, 입력 데이터에 대응되는 타겟 데이터가 출력되도록 연결선들의 연결 가중치를 업데이트하는 방법이다. 비지도 학습이란 입력 데이터에 대응되는 타겟 데이터 없이 입력 데이터만을 학습 데이터로 이용하여 신경망에 입력하고, 입력 데이터의 특징 또는 구조를 알아내도록 연결선들의 연결 가중치를 업데이트하는 방법이다.
도 1은 예시적인 실시예들에서 사용되기에 적합한 컴퓨팅 장치를 포함하는 컴퓨팅 환경을 예시하여 설명하기 위한 블록도이다. 도시된 실시예에서, 각 컴포넌트들은 이하에 기술된 것 이외에 상이한 기능 및 능력을 가질 수 있고, 이하에 기술된 것 이외에도 추가적인 컴포넌트를 포함할 수 있다.
도시된 컴퓨팅 환경(10)은 컴퓨팅 장치(12)를 포함한다. 일 실시예에서, 컴퓨팅 장치(12)는 객체 분류 및 검출을 위한 모델 학습 장치일 수 있다.
컴퓨팅 장치(12)는 적어도 하나의 프로세서(14), 컴퓨터 판독 가능 저장 매체(16) 및 통신 버스(18)를 포함한다. 프로세서(14)는 컴퓨팅 장치(12)로 하여금 앞서 언급된 예시적인 실시예에 따라 동작하도록 할 수 있다. 예컨대, 프로세서(14)는 컴퓨터 판독 가능 저장 매체(16)에 저장된 하나 이상의 프로그램들을 실행할 수 있다. 상기 하나 이상의 프로그램들은 하나 이상의 컴퓨터 실행 가능 명령어를 포함할 수 있으며, 상기 컴퓨터 실행 가능 명령어는 프로세서(14)에 의해 실행되는 경우 컴퓨팅 장치(12)로 하여금 예시적인 실시예에 따른 동작들을 수행하도록 구성될 수 있다.
컴퓨터 판독 가능 저장 매체(16)는 컴퓨터 실행 가능 명령어 내지 프로그램 코드, 프로그램 데이터 및/또는 다른 적합한 형태의 정보를 저장하도록 구성된다. 컴퓨터 판독 가능 저장 매체(16)에 저장된 프로그램(20)은 프로세서(14)에 의해 실행 가능한 명령어의 집합을 포함한다. 일 실시예에서, 컴퓨터 판독 가능 저장 매체(16)는 메모리(랜덤 액세스 메모리와 같은 휘발성 메모리, 비휘발성 메모리, 또는 이들의 적절한 조합), 하나 이상의 자기 디스크 저장 디바이스들, 광학 디스크 저장 디바이스들, 플래시 메모리 디바이스들, 그 밖에 컴퓨팅 장치(12)에 의해 액세스되고 원하는 정보를 저장할 수 있는 다른 형태의 저장 매체, 또는 이들의 적합한 조합일 수 있다.
통신 버스(18)는 프로세서(14), 컴퓨터 판독 가능 저장 매체(16)를 포함하여 컴퓨팅 장치(12)의 다른 다양한 컴포넌트들을 상호 연결한다.
컴퓨팅 장치(12)는 또한 하나 이상의 입출력 장치(24)를 위한 인터페이스를 제공하는 하나 이상의 입출력 인터페이스(22) 및 하나 이상의 네트워크 통신 인터페이스(26)를 포함할 수 있다. 입출력 인터페이스(22) 및 네트워크 통신 인터페이스(26)는 통신 버스(18)에 연결된다. 입출력 장치(24)는 입출력 인터페이스(22)를 통해 컴퓨팅 장치(12)의 다른 컴포넌트들에 연결될 수 있다. 예시적인 입출력 장치(24)는 포인팅 장치(마우스 또는 트랙패드 등), 키보드, 터치 입력 장치(터치패드 또는 터치스크린 등), 음성 또는 소리 입력 장치, 다양한 종류의 센서 장치 및/또는 촬영 장치와 같은 입력 장치, 및/또는 디스플레이 장치, 프린터, 스피커 및/또는 네트워크 카드와 같은 출력 장치를 포함할 수 있다. 예시적인 입출력 장치(24)는 컴퓨팅 장치(12)를 구성하는 일 컴포넌트로서 컴퓨팅 장치(12)의 내부에 포함될 수도 있고, 컴퓨팅 장치(12)와는 구별되는 별개의 장치로 컴퓨팅 장치(12)와 연결될 수도 있다.
도 2는 일 실시예에 따른 객체 분류 및 검출을 위한 모델 학습 방법의 순서도이다.
도 2에 도시된 방법은, 예를 들어, 하나 이상의 프로세서, 및 상기 하나 이상의 프로세서에 의해 실행되는 하나 이상의 프로그램을 저장하는 메모리를 구비한 컴퓨팅 장치(12)에 의해 수행될 수 있다. 도시된 흐름도에서는 상기 방법을 복수 개의 동작으로 나누어 기재하였으나, 적어도 일부의 동작들은 순서를 바꾸어 수행되거나, 다른 동작과 결합되어 함께 수행되거나, 생략되거나, 세부 동작들로 나뉘어 수행되거나, 또는 도시되지 않은 하나 이상의 동작이 부가되어 수행될 수 있다.
도 2를 참조하면, 단계 210에서, 컴퓨팅 장치(12)는 클래스가 할당된 이미지를 포함하는 제1 학습 이미지 세트를 이용하여, 복수의 분류 모델에서 공유되는 공유 특징 추출부 및 공유 특징 추출부에 의해 추출된 제1 입력 이미지의 특징 값에 기초하여 제1 입력 이미지에 포함된 객체에 대한 분류 결과를 출력하는 제1 분류부를 포함하는 제1 분류 모델을 학습시킨다.
이때, 제1 학습 이미지 세트에 포함된 클래스는 사용자에 의해 할당된 것일 수 있다.
공유 특징 추출부는 입력 이미지의 특징 값을 추출하기 위한 하나 이상의 층으로 구성될 수 있다. 일 실시예에서, 공유 특징 추출부는 합성곱 층(convolution layer), 풀링 층(pooling layer), 완전 결합 층(fully connected layer) 등을 포함할 수 있으나, 반드시 이에 한정되는 것은 아니고, 실시예에 따라 다양한 형태로 구성될 수 있다.
구체적으로, 공유 특징 추출부는 입력 이미지에 대한 하나 이상의 특징 값을 포함하는 특징 벡터를 추출할 수 있다.
또한, 공유 특징 추출부는 제1 분류 모델, 제2 분류 모델 및 제3 분류 모델 사이에 공유되는 것으로, 제1 분류 모델, 제2 분류 모델 및 제3 분류 모델 각각에서 입력 이미지의 특징 값을 추출하기 위해 이용될 수 있다.
제1 분류부는 입력 이미지에 포함된 객체에 대한 분류 결과를 출력하기 위한 하나 이상의 층으로 구성될 수 있다.
구체적으로, 제1 분류부는 입력 이미지의 특징 값에 기초하여 입력 이미지에 포함된 객체에 대해 기 설정된 복수의 클래스 중 특정 클래스로 분류될 확률을 출력할 수 있다.
일 실시예에서, 컴퓨팅 장치(12)는 제1 학습 데이터 세트를 이용한 지도 학습 기법을 이용하여 제1 분류 모델을 학습시킬 수 있다.
구체적으로, 컴퓨팅 장치(12)는 클래스가 할당된 이미지를 제1 분류 모델의 입력 데이터로 이용하고, 이미지에 할당된 클래스를 제1 분류 모델의 타겟 데이터로 이용하여 제1 분류 모델을 학습시킬 수 있다.
예를 들어, 컴퓨팅 장치(12)는 제1 분류 모델을 이용하여 입력 이미지로부터 객체에 대한 분류 결과를 출력하고, 객체에 대한 분류 결과 및 입력 이미지에 할당된 클래스에 기초하여 제1 분류 모델을 학습시킬 수 있다. 이때, 컴퓨팅 장치(12)는 공유 특징 추출부 및 제1 분류부 각각의 파라미터를 업데이트할 수 있다.
또한, 일 실시예에서, 제1 분류 모델은 제1 입력 이미지의 특징 값에 기초하여 제1 입력 이미지 내 객체의 위치를 출력하기 위한 글로벌 평균 값 풀링(GAP: Global Average Pooling) 층을 더 포함할 수 있다.
글로벌 평균 값 풀링 층은 객체의 위치 정보가 포함되도록 입력 이미지의 특징 값을 필터링할 수 있다.
이때, 제1 분류 모델는 예를 들어, 종류 활성화 지도(CAM: Class Activation Map) 기법을 이용하여 객체의 위치 정보를 출력할 수 있다.
한편, 상술한 예에서는 종류 활성화 지도 기법을 이용하여 객체의 위치 정보를 출력하는 것으로 예시하였으나, 반드시 이에 한정되는 것은 아니고, 객체의 위치 정보를 출력하는 방식은 실시예에 따라 다양할 수 있다.
예를 들어, 컴퓨팅 장치(12)는 클래스가 할당된 이미지 및 위치 정보가 할당된 이미지를 제1 분류 모델의 입력 데이터로 이용하고, 이미지에 할당된 클래스 및 위치 정보를 제1 분류 모델의 타겟 데이터로 이용하여 제1 분류 모델을 학습시킬 수 있다. 이때, 이미지에 할당된 위치 정보는 상술한 종류 활성화 지도 기법을 통해 출력된 위치 정보가 이용되거나, 다양한 방식에 의해 할당될 수 있다.
구체적으로, 컴퓨팅 장치(12)는 타겟 데이터에 포함된 위치 정보와 동일한 위치 정보가 출력되도록 학습될 수 있다. 컴퓨팅 장치(12)는 클래스가 할당된 이미지 및 위치 정보가 할당된 이미지를 포함하는 제1 학습 데이터 세트를 이용하여 공유 특징 추출부, 제1 분류부 및 글로벌 평균 값 풀링 층 각각의 파라미터를 업데이트할 수 있다.
단계 220에서, 컴퓨팅 장치(12)는 가짜 이미지(fake image)와 실제 이미지(real image)를 포함하는 제2 학습 이미지 세트를 이용하여, 공유 특징 추출부 및 공유 특징 추출부에 의해 추출된 제2 입력 이미지의 특징 값에 기초하여 제2 입력 이미지의 진위 여부에 대한 분류 결과를 출력하는 제2 분류부를 포함하는 제2 분류 모델을 학습시킨다.
일 실시예에서, 컴퓨팅 장치(12)는 생성 적대 신경망(GAN: Generative Network) 기반 생성 모델을 이용하여 가짜 이미지를 생성할 수 있다.
이때, 생성 모델은 랜덤한 잠재 변수(random latent variable)의 확률 분포(distribution)에 기초하여 가짜 이미지를 생성하는 신경망일 수 있다.
구체적으로, 컴퓨팅 장치(12)는 생성 모델을 이용하여 가짜 이미지를 생성하고, 가짜 이미지 및 실제 이미지에 각각 fake 및 real 이라는 레이블을 할당하여 제2 학습 이미지 세트를 생성할 수 있다.
제2 분류부는 입력 이미지의 진위 여부에 대한 분류 결과를 출력하기 위한 하나 이상의 층으로 구성될 수 있다.
구체적으로, 제2 분류부는 입력 이미지의 특징 값에 기초하여 입력 이미지가 가짜 이미지에 해당하는지 또는 실제 이미지에 해당하는지에 대한 확률을 출력할 수 있다.
일 실시예에서, 컴퓨팅 장치(12)는 가짜 이미지와 실제 이미지를 제2 분류 모델의 입력 데이터로 이용하고, 가짜 이미지와 실제 이미지 각각에 대응되는 진위 여부를 제2 분류 모델의 타겟 데이터로 이용하여 제2 분류 모델을 학습시킬 수 있다.
예를 들어, 컴퓨팅 장치(12)는 제2 분류 모델에 가짜 이미지와 실제 이미지를 입력하여 가짜 이미지 및 실제 이미지 각각의 진위 여부에 대한 분류 결과를 출력할 수 있다. 이때, 컴퓨팅 장치(12)는 출력된 분류 결과와 가짜 이미지 및 실제 이미지 각각에 대응되는 진위 여부를 비교하고, 비교 결과를 통해 공유 특징 추출부 및 제2 분류부 각각의 파라미터를 업데이트할 수 있다.
일 실시예에서, 컴퓨팅 장치(12)는 비 지도 학습 기법을 이용하여 생성 모델을 학습시킬 수 있다. 구체적으로, 컴퓨팅 장치(12)는 진짜 이미지와 동일한 이미지를 생성하도록 생성 모델을 학습시킬 수 있다. 이때 컴퓨팅 장치(12)는 제2 분류 모델에서 출력된 분류 결과에 기초하여 생성 모델의 파라미터를 업데이트할 수 있다.
단계 230에서, 컴퓨팅 장치(12)는 하나 이상의 각도로 회전된 이미지들을 포함하는 제3 학습 이미지 세트를 이용하여, 공유 특징 추출부 및 공유 특징 추출부에 의해 추출된 제3 입력 이미지의 특징 값에 기초하여 제3 입력 이미지의 회전 각도에 대한 분류 결과를 출력하는 제3 분류부를 포함하는 제3 분류 모델을 학습시킨다.
제3 분류부는 입력 이미지의 회전 각도에 대한 분류 결과를 출력하기 위한 하나 이상의 층으로 구성될 수 있다.
구체적으로, 제3 분류부는 입력 이미지의 특징 값에 기초하여 입력 이미지가 복수의 회전 각도 중 특정 회전 각도로 회전했을 확률을 출력할 수 있다.
일 실시예에서, 제3 분류 모델은 레이블이 할당되지 않은 이미지를 하나 이상의 각도로 회전시켜 제3 학습 이미지 세트를 생성하는 이미지 회전부를 더 포함할 수 있다.
이미지 회전부는 레이블이 할당되지 않은 이미지를 입력받아 하나 이상의 각도로 회전 시킬 수 있다. 또한, 이미지 회전부는 회전된 이미지들 각각에 회전 각도를 레이블로 할당할 수 있다.
일 실시예에서, 컴퓨팅 장치(12)는 자기 지도 학습(Self-Supervised Learning) 기법을 이용하여 제3 분류 모델을 학습시킬 수 있다.
구체적으로, 컴퓨팅 장치(12)는 제3 분류 모델을 이용하여 하나 이상의 각도로 회전된 이미지들을 생성한 후, 회전된 이미지들을 제3 모델의 입력 데이터로 이용하고, 회전된 이미지들 각각의 회전 각도를 제3 모델의 타겟 데이터로 이용하여 제3 분류 모델을 학습시킬 수 있다.
예를 들어, 컴퓨팅 장치(12)는 제3 분류 모델에 회전된 이미지들을 입력하여 회전된 이미지들 각각의 회전 각도에 대한 분류 결과를 출력할 수 있다. 이때, 컴퓨팅 장치(12)는 출력된 분류 결과와 회전된 이미지들 각각의 회전 각도를 비교하고, 비교 결과를 통해 공유 특징 추출부 및 제3 분류부 각각의 파라미터를 업데이트할 수 있다.
한편, 도 2에 도시된 순서도에서는 상기 방법을 복수 개의 단계로 나누어 기재하였으나, 적어도 일부의 단계들은 순서를 바꾸어 수행되거나, 다른 단계와 결합되어 함께 수행되거나, 생략되거나, 세부 단계들로 나뉘어 수행되거나, 또는 도시되지 않은 하나 이상의 단계가 부가되어 수행될 수 있다.
도 3은 일 실시예에 따른 제1 분류 모델의 개략적인 구성도이다.
도 3을 참조하면, 제1 분류 모델(300)은 공유 특징 추출부(310), 주 분류부(320) 및 글로벌 평균 값 풀링 층(330)을 포함할 수 있다.
구체적으로, 제1 심층 신경망 모델(300)에 클래스 및 위치 정보가 할당된 이미지를 포함하는 제1 학습 이미지 세트가 입력된 것으로 가정한다.
공유 특징 추출부(310)는 입력된 이미지에 대한 특징 값을 추출할 수 있다.
제1 분류부(320)는 이미지의 특징 값에 기초하여 이미지에 포함된 객체에 대한 분류 결과를 출력할 수 있다.
글로벌 평균 값 풀링 층(330)은 이미지의 특징 값을 필터링하여 객체의 위치 정보를 출력할 수 있다.
이때, 컴퓨팅 장치(12)는 제1 분류부(320) 및 글로벌 평균 값 풀링 층을 통해 출력된 결과와 입력된 이미지에 할당된 클래스 및 위치 정보를 이용하여 제1 분류 모델(300)에 설정된 손실 함수를 산출할 수 있다.
일 실시예에서, 제1 분류 모델에 설정된 손실 함수는 크로스 엔트로피(cross entropy) 기반 손실 함수일 수 있다.
예를 들어, 제1 분류 모델에 설정된 손실 함수
Figure pat00001
는 아래의 수학식 1과 같이 나타낼 수 있다.
[수학식 1]
Figure pat00002
수학식 1에서, y는 이미지에 할당된 클래스, i는 클래스에 대한 인덱스, p(y)는 객체에 대한 분류 결과가 y로 출력될 확률을 의미한다.
한편, 상술한 예에서는 제1 심층 신경망 모델에 크로스 엔트로피 기반 손실 함수가 설정된 것으로 예시하였으나, 반드시 이에 한정되는 것은 아니고, 제1 심층 신경망에 설정된 손실 함수는 실시예에 따라 다양할 수 있다.
도 4는 일 실시예에 따른 생성 모델 및 제2 분류 모델의 개략적인 구성도이다.
도 4에 도시된 바와 같이 제2 분류 모델(420)은 생성 모델(410)과 함께 학습될 수 있다.
도 4를 참조하면, 제2 분류 모델(420)은 공유 특징 추출부(310) 및 제2 분류부(421)를 포함할 수 있다.
구체적으로, 생성 모델(410)은 가짜 이미지를 생성하고, 레이블이 할당되지 않은 이미지를 실제 이미지로 결정할 수 있다.
이후, 분류 모델(420)은 가짜 이미지 및 실제 이미지를 포함하는 제2 학습 데이터 세트를 입력받알 수 있다.
공유 특징 추출부(310)는 가짜 이미지 및 실제 이미지 각각의 특징 값을 추출할 수 있다.
제2 분류부(421)는 가짜 이미지 및 실제 이미지 각각의 특징 값에 기초하여 가짜 이미지 및 실제 이미지 각각의 진위 여부에 대한 분류 결과를 출력할 수 있다.
이때, 컴퓨팅 장치(12)는 제2 분류부(421)를 통해 출력된 결과와 가짜 이미지 및 실제 이미지 각각에 대응되는 진위 여부를 이용하여 제2 분류 모델(420)에 설정된 손실 함수를 산출할 수 있다.
예를 들어, 제2 분류 모델(420)에 설정된 손실 함수
Figure pat00003
는 아래의 수학식 2와 같이 나타낼 수 있다.
[수학식 2]
Figure pat00004
수학식 2에서, H는 엔트로피 함수, E는 함수의 기대 값, p(y)는 제2 분류부(512)에서 가짜 이미지 및 실제 이미지 각각의 진위 여부에 대한 분류 결과가 y로 출력될 확률, p(y|F(x))는 제2 분류부(512)에서 실제 이미지의 진위 여부에 대한 분류 결과가 y로 출력될 확률, p(y|G(z))는 가짜 이미지의 진위 여부에 대한 분류 결과가 y로 출력될 확률, x~X는 실제 이미지에 대한 확률 분포에서 샘플링된 데이터, z~p(z)는 가우시안 분포를 사용하는 잠재 공간(latent space)에서 샘플링된 데이터를 의미한다.
또한, 생성 모델(410)에 설정된 손실 함수
Figure pat00005
는 아래의 수학식 3과 같이 나타낼 수 있다.
[수학식 3]
Figure pat00006
도 5는 일 실시예에 따른 제3 분류 모델의 개략적인 구성도이다.
도 5를 참조하면, 제3 분류 모델(500)은 이미지 회전부(510), 공유 특징 추출부(310) 및 제3 분류부(520)를 포함할 수 있다.
레이블이 할당되지 않은 이미지가 입력되는 경우, 이미지 회전부(510)는 레이블이 할당되지 않은 이미지를 이용하여 제3 학습 데이터 세트를 생성할 수 있다. 이때, 제3 학습 데이터 세트는 회전된 이미지들 및 회전된 이미지들 각각의 회전 각도를 포함할 수 있다.
공유 특징 추출부(310)는 회전된 이미지의 특징 값을 추출할 수 있다.
제3 분류부(520)는 회전된 이미지의 특징 값에 기초하여 회전된 이미지의 회전 각도에 대한 분류 결과를 분류 결과를 출력할 수 있다.
이때, 컴퓨팅 장치(12)는 제3 분류부(520)를 통해 출력된 결과와 이미지 회전부(510)에 의해 회전된 이미지의 회전 각도를 이용하여 제3 분류 모델(500)에 설정된 손실 함수를 산출할 수 있다.
예를 들어, 제3 분류 모델(500)에 설정된 손실 함수
Figure pat00007
는 아래의 수학식 4와 같이 나타낼 수 있다.
[수학식 4]
Figure pat00008
수학식 4에서, r은 이미지 회전부(510)에 의해 회전된 이미지의 회전 각도, p(r)은 제3 분류부(520)에서 회전된 이미지의 회전 각도에 대한 분류 결과가 r로 출력될 확률을 의미한다.
도 6은 일 실시예에 따른 제1 분류 모델, 제2 분류 모델 및 제3 분류 모델의 전체 구성도이다.
도 6을 참조하면, 컴퓨팅 장치(12)은 제1 분류 모델(300), 생성 모델(410), 제2 분류 모델(420) 및 제3 분류 모델(500)을 동시에 학습시킴으로써, 레이블이 할당된 이미지의 양이 적더라도 공유 특징 추출부(310)를 여러 번 학습시킬 수 있다.
이때, 컴퓨팅 장치(12)는 라운드 로빈(round robin) 방식을 이용하여 제1 분류 모델(300), 생성 모델(410), 제2 분류 모델(420) 및 제3 분류 모델(500)을 학습시킬 수 있으나, 실시예에 따라 각 심층 신경망 모델을 학습시키는 방식은 다양할 수 있다.
구체적으로, 컴퓨팅 장치(12)는 제1 학습 데이터 세트를 이용하여 제1 분류 모델(300)에 포함된 공유 특징 추출부(310), 제1 분류부(320) 및 글로벌 평균 값 풀링 층(330)를 각각 학습시킬 수 있다.
제1 분류 모델의 학습 이후에, 컴퓨팅 장치(12)는 제2 학습 데이터 세트를 이용하여 생성 모델(410), 및 제2 분류 모델(420)에 포함된 공유 특징 추출부(310) 및 제2 분류부(421) 를 각각 학습시킬 수 있다.
또한, 제2 분류 모델의 학습 이후에, 컴퓨팅 장치(12)는 제3 학습 데이터 세트를 이용하여 제3 분류 모델(500)에 포함된 공유 특징 추출부(310) 및 제3 분류부(520) 를 각각 학습시킬 수 있다.
상술한 바와, 컴퓨팅 장치(12)는 제1 분류 모델(300), 생성 모델(410), 제2 분류 모델(420) 및 제3 분류 모델(500)을 순차적으로 학습시킬 수 있다.
한편, 컴퓨팅 장치(12)는 확률적 경사 하강(SGD: Stochastic Gradient Decent) 기법을 이용하여 제1 분류 모델(300), 생성 모델(410), 제2 분류 모델(420) 및 제3 분류 모델(500)을 학습시킬 수 있으나, 반드시 이에 한정되는 것은 아니고, 학습시키는 방식은 실시예에 따라 다양할 수 있다.
또한, 일 실시예에서, 제1 분류 모델(300), 생성 모델(410), 제2 분류 모델(420) 및 제3 분류 모델(500)은 각각 제1 분류 모델(300)에 설정된 손실 함수, 생성 모델(410)에 설정된 손실 함수, 제2 분류 모델(420)에 설정된 손실 함수 및 제3 분류 모델(500)에 설정된 손실 함수의 가중치 합이 최소가 되도록 학습될 수 있다.
이때, 상술한 제1 분류 모델(300)에 설정된 손실 함수, 생성 모델(410)에 설정된 손실 함수, 제2 분류 모델(420)에 설정된 손실 함수 및 제3 분류 모델(500)에 설정된 손실 함수의 가중치 합은 아래의 수학식 5와 같이 나타낼 수 있다.
[수학식 5]
Figure pat00009
이때, 수학식 5에서,
Figure pat00010
는 가중치를 의미한다.
이후, 사용자는 학습된 공유 특징 추출부(310), 제1 분류부(320) 및 글로벌 평균 값 풀링 층(330)을 포함하는 제1 분류 모델을 객체 탐지 모델로 결정할 수 있다.
이에 따라, 공유 특징 추출부(310)를 공유하는 복수의 분류 모델이 각각 학습됨으로써, 공유 특징 추출부(310)를 여러 번 충분하게 학습시킬 수 있다. 또한, 레이블이 할당되지 않은 이미지를 이용하여 학습을 수행할 수 있는 제2 분류 모델(420) 및 제3 분류 모델(400)에서 학습을 수행함으로써, 레이블이 할당된 이미지의 양이 적더라도 공유 특징 추출부(310)의 특징 추출 성능을 높일 수 있다.
한편, 상술한 도 6에서 제1 분류 모델, 제2 분류 모델 및 제3 분류 모델로 구성된 신경망을 이용하여 각 분류 모델을 학습시키는 것으로 예시하였으나, 반드시 이에 한정되는 것은 아니다.
예를 들어, 제1 분류 모델, 제2 분류 모델 및 제3 분류 모델 이외에 레이블이 할당되지 않은 이미지를 이용하여 학습을 수행할 수 있는 분류 모델을 더 포함할 수 있다. 예를 들어, 약 지도 학습(Weakly-Supervised Learning), 준 지도 학습(Semi-Supervised Learning), 자기 지도 학습(Self-Supervised Learning), 비지도 학습 등을 이용하여 학습을 수행하는 분류 모델을 예시할 수 있다.
한편, 일 실시예에 따르면, 본 명세서에서 기술한 방법들을 컴퓨터상에서 수행하기 위한 프로그램, 및 상기 프로그램을 포함하는 컴퓨터 판독 가능 기록매체를 포함할 수 있다. 상기 컴퓨터 판독 가능 기록매체는 프로그램 명령, 로컬 데이터 파일, 로컬 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체는 특별히 설계되고 구성된 것들이거나, 또는 컴퓨터 소프트웨어 분야에서 통상적으로 사용 가능한 것일 수 있다. 컴퓨터 판독 가능 기록매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광 기록 매체, 및 롬, 램, 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 상기 프로그램의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다.
이상에서는 실시예들을 중심으로 기술적 특징들을 설명하였다. 하지만, 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한고, 권리 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 권리범위에 포함된 것으로 해석되어야 할 것이다.
10: 컴퓨팅 환경
12: 컴퓨팅 장치
14: 프로세서
16: 컴퓨터 판독 가능 저장 매체
18: 통신 버스
20: 프로그램
22: 입출력 인터페이스
24: 입출력 장치
26: 네트워크 통신 인터페이스
300: 제1 분류 모델
310: 공유 특징 추출부
320: 제1 분류부
330: 글로벌 평균 값 풀링 층
410: 생성 모델
420: 제2 분류 모델
421: 제2 분류부
500: 제3 분류 모델
510: 이미지 회전부
520: 제3 분류부

Claims (18)

  1. 클래스가 할당된 이미지를 포함하는 제1 학습 이미지 세트를 이용하여, 복수의 분류 모델에서 공유되는 공유 특징 추출부 및 상기 공유 특징 추출부에 의해 추출된 제1 입력 이미지의 특징 값에 기초하여 상기 제1 입력 이미지에 포함된 객체에 대한 분류 결과를 출력하는 제1 분류부를 포함하는 제1 분류 모델을 학습시키는 단계;
    가짜 이미지(fake image)와 실제 이미지(real image)를 포함하는 제2 학습 이미지 세트를 이용하여, 상기 공유 특징 추출부 및 상기 공유 특징 추출부에 의해 추출된 제2 입력 이미지의 특징 값에 기초하여 상기 제2 입력 이미지의 진위 여부에 대한 분류 결과를 출력하는 제2 분류부를 포함하는 제2 분류 모델을 학습시키는 단계; 및
    하나 이상의 각도로 회전된 이미지들을 포함하는 제3 학습 이미지 세트를 이용하여, 상기 공유 특징 추출부 및 상기 공유 특징 추출부에 의해 추출된 제3 입력 이미지의 특징 값에 기초하여 상기 제3 입력 이미지의 회전 각도에 대한 분류 결과를 출력하는 제3 분류부를 포함하는 제3 분류 모델을 학습시키는 단계를 포함하는, 객체 분류 및 검출을 위한 모델 학습 방법.
  2. 청구항 1에 있어서,
    상기 제1 분류 모델을 학습시키는 단계는, 상기 클래스가 할당된 이미지를 상기 제1 분류 모델의 입력 데이터로 이용하고, 상기 클래스를 상기 제1 분류 모델의 타겟 데이터로 이용하여 상기 제1 분류 모델을 학습시키는, 객체 분류 및 검출을 위한 모델 학습 방법.
  3. 청구항 2에 있어서,
    상기 제1 분류 모델은, 상기 제1 입력 이미지의 특징 값에 기초하여 상기 제1 입력 이미지 내 상기 객체의 위치를 출력하기 위한 글로벌 평균 값 풀링(GAP: Global Average Pooling) 층을 더 포함하는, 객체 분류 및 검출을 위한 모델 학습 방법.
  4. 청구항 3에 있어서,
    상기 제1 학습 이미지 세트는, 위치 정보가 할당된 이미지를 더 포함하고,
    상기 제1 분류 모델을 학습시키는 단계는, 상기 클래스가 할당된 이미지 및 상기 위치 정보가 할당된 이미지를 상기 제1 분류 모델의 입력 데이터로 이용하고, 상기 클래스 및 상기 위치 정보를 상기 제1 분류 모델의 타겟 데이터로 이용하여 상기 제1 분류 모델을 학습시키는, 객체 분류 및 검출을 위한 모델 학습 방법.
  5. 청구항 1에 있어서,
    상기 제2 분류 모델을 학습시키는 단계는, 생성 적대 신경망(GAN: Generative Network) 기반 생성 모델을 이용하여 상기 가짜 이미지를 생성하는, 객체 분류 및 검출을 위한 모델 학습 방법.
  6. 청구항 5에 있어서,
    상기 제2 분류 모델을 학습시키는 단계는,
    상기 가짜 이미지와 실제 이미지를 상기 제2 분류 모델의 입력 데이터로 이용하고, 상기 가짜 이미지와 실제 이미지 각각에 대응되는 진위 여부를 상기 제2 분류 모델의 타겟 데이터로 이용하여 상기 제2 분류 모델을 학습시키고,
    상기 진짜 이미지와 동일한 이미지를 생성하도록 상기 생성 모델을 학습시키는, 객체 분류 및 검출을 위한 모델 학습 방법.
  7. 청구항 1에 있어서,
    상기 제3 분류 모델은, 레이블이 할당되지 않은 이미지를 상기 하나 이상의 각도로 회전시켜 상기 제3 학습 이미지 세트를 생성하는 이미지 회전부를 포함하는, 객체 분류 및 검출을 위한 모델 학습 방법.
  8. 청구항 1에 있어서,
    상기 제3 분류 모델을 학습시키는 단계는, 상기 회전된 이미지들을 상기 제3 모델의 입력 데이터로 이용하고, 상기 회전된 이미지들 각각의 회전 각도를 상기 제3 모델의 타겟 데이터로 이용하여 상기 제3 분류 모델을 학습시키는, 객체 분류 및 검출을 위한 모델 학습 방법.
  9. 청구항 1에 있어서,
    상기 제1 분류 모델, 상기 제2 분류 모델 및 상기 제3 분류 모델은, 각각 상기 제1 분류 모델에 설정된 손실 함수, 상기 제2 분류 모델에 설정된 손실 함수 및 상기 제3 분류 모델에 설정된 손실 함수의 가중치 합이 최소가 되도록 학습되는, 객체 분류 및 검출을 위한 모델 학습 방법.
  10. 하나 이상의 명령어를 저장하는 메모리;
    상기 하나 이상의 명령어를 실행하기 위한 하나 이상의 프로세서를 포함하고,
    상기 하나 이상의 프로세서는,
    클래스가 할당된 이미지를 포함하는 제1 학습 이미지 세트를 이용하여, 복수의 분류 모델에서 공유되는 공유 특징 추출부 및 상기 공유 특징 추출부에 의해 추출된 제1 입력 이미지의 특징 값에 기초하여 상기 제1 입력 이미지에 포함된 객체에 대한 분류 결과를 출력하는 제1 분류부를 포함하는 제1 분류 모델을 학습시키고,
    가짜 이미지(fake image)와 실제 이미지(real image)를 포함하는 제2 학습 이미지 세트를 이용하여, 상기 공유 특징 추출부 및 상기 공유 특징 추출부에 의해 추출된 제2 입력 이미지의 특징 값에 기초하여 상기 제2 입력 이미지의 진위 여부에 대한 분류 결과를 출력하는 제2 분류부를 포함하는 제2 분류 모델을 학습시키고,
    하나 이상의 각도로 회전된 이미지들을 포함하는 제3 학습 이미지 세트를 이용하여, 상기 공유 특징 추출부 및 상기 공유 특징 추출부에 의해 추출된 제3 입력 이미지의 특징 값에 기초하여 제3 입력 이미지의 회전 각도에 대한 분류 결과를 출력하는 제3 분류부를 포함하는 제3 분류 모델을 학습시키는, 객체 분류 및 검출을 위한 모델 학습 장치.
  11. 청구항 10에 있어서,
    상기 하나 이상의 프로세서는, 상기 클래스가 할당된 이미지를 상기 제1 분류 모델의 입력 데이터로 이용하고, 상기 클래스를 상기 제1 분류 모델의 타겟 데이터로 이용하여 상기 제1 분류 모델을 학습시키는, 객체 분류 및 검출을 위한 모델 학습 장치.
  12. 청구항 11에 있어서,
    상기 제1 분류 모델은, 상기 제1 입력 이미지의 특징 값에 기초하여 상기 제1 입력 이미지 내 상기 객체의 위치를 출력하기 위한 글로벌 평균 값 풀링(GAP: Global Average Pooling) 층을 더 포함하는, 객체 분류 및 검출을 위한 모델 학습 장치.
  13. 청구항 12에 있어서,
    상기 제1 학습 이미지 세트는, 위치 정보가 할당된 이미지를 더 포함하고,
    상기 하나 이상의 프로세서는, 상기 클래스가 할당된 이미지 및 상기 위치 정보가 할당된 이미지를 상기 제1 분류 모델의 입력 데이터로 이용하고, 상기 클래스 및 상기 위치 정보를 상기 제1 분류 모델의 타겟 데이터로 이용하여 상기 제1 분류 모델을 학습시키는, 객체 분류 및 검출을 위한 모델 학습 장치.
  14. 청구항 10에 있어서,
    상기 하나 이상의 프로세서는, 생성 적대 신경망(GAN: Generative Network) 기반 생성 모델을 이용하여 상기 가짜 이미지를 생성하는, 객체 분류 및 검출을 위한 모델 학습 장치.
  15. 청구항 14에 있어서,
    상기 하나 이상의 프로세서는,
    상기 가짜 이미지와 실제 이미지를 상기 제2 분류 모델의 입력 데이터로 이용하고, 상기 가짜 이미지와 실제 이미지 각각에 대응되는 진위 여부를 상기 제2 분류 모델의 타겟 데이터로 이용하여 상기 제2 분류 모델을 학습시키고,
    상기 실제 이미지와 동일한 이미지를 생성하도록 상기 생성 모델을 학습시키는, 객체 분류 및 검출을 위한 모델 학습 장치.
  16. 청구항 10에 있어서,
    상기 제3 분류 모델은, 레이블이 할당되지 않은 이미지를 상기 하나 이상의 각도로 회전시켜 상기 제3 학습 이미지 세트를 생성하는 이미지 회전부를 포함하는, 객체 분류 및 검출을 위한 모델 학습 장치.
  17. 청구항 10에 있어서,
    상기 하나 이상의 프로세서는, 상기 회전된 이미지들을 상기 제3 모델의 입력 데이터로 이용하고, 상기 회전된 이미지들 각각의 회전 각도를 상기 제3 모델의 타겟 데이터로 이용하여 상기 제3 분류 모델을 학습시키는, 객체 분류 및 검출을 위한 모델 학습 장치.
  18. 청구항 10에 있어서,
    상기 제1 분류 모델, 상기 제2 분류 모델 및 상기 제3 분류 모델은, 각각 상기 제1 분류 모델에 설정된 손실 함수, 상기 제2 분류 모델에 설정된 손실 함수 및 상기 제3 분류 모델에 설정된 손실 함수의 가중치 합이 최소가 되도록 학습되는, 객체 분류 및 검출을 위한 모델 학습 장치.
KR1020190132151A 2019-10-23 2019-10-23 객체 분류 및 검출을 위한 모델 학습 방법 및 장치 KR20210048187A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020190132151A KR20210048187A (ko) 2019-10-23 2019-10-23 객체 분류 및 검출을 위한 모델 학습 방법 및 장치
US16/666,051 US10990852B1 (en) 2019-10-23 2019-10-28 Method and apparatus for training model for object classification and detection

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190132151A KR20210048187A (ko) 2019-10-23 2019-10-23 객체 분류 및 검출을 위한 모델 학습 방법 및 장치

Publications (1)

Publication Number Publication Date
KR20210048187A true KR20210048187A (ko) 2021-05-03

Family

ID=75587129

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190132151A KR20210048187A (ko) 2019-10-23 2019-10-23 객체 분류 및 검출을 위한 모델 학습 방법 및 장치

Country Status (2)

Country Link
US (1) US10990852B1 (ko)
KR (1) KR20210048187A (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114120420A (zh) * 2021-12-01 2022-03-01 北京百度网讯科技有限公司 图像检测方法和装置
KR102507273B1 (ko) * 2022-07-21 2023-03-08 (주)트루엔 객체를 검출 및 분류하기 위한 전자 장치 및 전자 장치의 동작 방법
EP4246377A1 (en) 2022-03-16 2023-09-20 Samsung SDS Co., Ltd. Method and apparatus for training fake image discriminative model

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210149530A (ko) * 2020-06-02 2021-12-09 삼성에스디에스 주식회사 이미지 분류 모델 학습 방법 및 이를 수행하기 위한 장치
US11587249B2 (en) * 2020-09-24 2023-02-21 Eagle Technology, Llc Artificial intelligence (AI) system and methods for generating estimated height maps from electro-optic imagery
US11747468B2 (en) 2020-09-24 2023-09-05 Eagle Technology, Llc System using a priori terrain height data for interferometric synthetic aperture radar (IFSAR) phase disambiguation and related methods
WO2022245191A1 (en) * 2021-05-21 2022-11-24 Endoai Co., Ltd. Method and apparatus for learning image for detecting lesions
CN113807281B (zh) * 2021-09-23 2024-03-29 深圳信息职业技术学院 图像检测模型的生成方法、检测方法、终端及存储介质
CN114283290B (zh) * 2021-09-27 2024-05-03 腾讯科技(深圳)有限公司 图像处理模型的训练、图像处理方法、装置、设备及介质
CN114360008B (zh) * 2021-12-23 2023-06-20 上海清鹤科技股份有限公司 人脸认证模型的生成方法、认证方法、设备及存储介质
CN114937086B (zh) * 2022-07-19 2022-11-01 北京鹰瞳科技发展股份有限公司 多图像目标检测的训练方法、检测方法及相关产品

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101738825B1 (ko) 2016-11-07 2017-05-23 한국과학기술원 비연속적으로 확률 뉴런을 가지는 딥러닝 모델 및 지식 전파에 기반한 학습 방법 및 그 시스템

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9904849B2 (en) * 2015-08-26 2018-02-27 Digitalglobe, Inc. System for simplified generation of systems for broad area geospatial object detection
US10664722B1 (en) * 2016-10-05 2020-05-26 Digimarc Corporation Image processing arrangements
US10185880B2 (en) * 2017-03-31 2019-01-22 Here Global B.V. Method and apparatus for augmenting a training data set

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101738825B1 (ko) 2016-11-07 2017-05-23 한국과학기술원 비연속적으로 확률 뉴런을 가지는 딥러닝 모델 및 지식 전파에 기반한 학습 방법 및 그 시스템

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114120420A (zh) * 2021-12-01 2022-03-01 北京百度网讯科技有限公司 图像检测方法和装置
CN114120420B (zh) * 2021-12-01 2024-02-13 北京百度网讯科技有限公司 图像检测方法和装置
EP4246377A1 (en) 2022-03-16 2023-09-20 Samsung SDS Co., Ltd. Method and apparatus for training fake image discriminative model
KR20230135383A (ko) 2022-03-16 2023-09-25 삼성에스디에스 주식회사 가짜 이미지 판별 모델 학습 방법 및 장치
KR102507273B1 (ko) * 2022-07-21 2023-03-08 (주)트루엔 객체를 검출 및 분류하기 위한 전자 장치 및 전자 장치의 동작 방법

Also Published As

Publication number Publication date
US20210125000A1 (en) 2021-04-29
US10990852B1 (en) 2021-04-27

Similar Documents

Publication Publication Date Title
KR20210048187A (ko) 객체 분류 및 검출을 위한 모델 학습 방법 및 장치
KR102641116B1 (ko) 데이터 증강에 기초한 인식 모델 트레이닝 방법 및 장치, 이미지 인식 방법 및 장치
Jabri et al. Revisiting visual question answering baselines
WO2022073414A1 (zh) 图像识别的方法、装置、计算设备和计算机可读存储介质
CN112889108B (zh) 使用视听数据进行说话分类
US9111375B2 (en) Evaluation of three-dimensional scenes using two-dimensional representations
US11651214B2 (en) Multimodal data learning method and device
US20200134455A1 (en) Apparatus and method for training deep learning model
KR20190056720A (ko) 뉴럴 네트워크 학습 방법 및 디바이스
Bird et al. Cifake: Image classification and explainable identification of ai-generated synthetic images
US11901047B2 (en) Medical visual question answering
KR20200052446A (ko) 딥러닝 모델 학습 장치 및 방법
KR20210050087A (ko) 신뢰도 측정 방법 및 장치
KR20210149530A (ko) 이미지 분류 모델 학습 방법 및 이를 수행하기 위한 장치
KR20210048058A (ko) 심층 신경망 학습 장치 및 방법
US11449715B2 (en) Sequential learning maintaining a learned concept
KR20200074958A (ko) 뉴럴 네트워크 학습 방법 및 디바이스
CN112149117A (zh) 用于分析计算机***攻击机制的方法和装置
KR20220116111A (ko) 인공 신경망의 추론 데이터에 대한 신뢰도를 판단하는 방법
CN110879832A (zh) 目标文本检测方法、模型训练方法、装置及设备
CN111860212B (zh) 人脸图像的超分方法、装置、设备及存储介质
KR20220139590A (ko) 분류 결과 설명이 가능한 반 사실적 맵 생성 방법 및 그 장치
WO2021242585A1 (en) Interpretable imitation learning via prototypical option discovery
KR20210142930A (ko) 퓨 샷 학습 방법 및 이를 수행하기 위한 장치
KR102408186B1 (ko) 구조화된 학습 데이터의 전처리 방법

Legal Events

Date Code Title Description
A201 Request for examination