KR102018788B1 - 이미지 분류 시스템 및 방법 - Google Patents

이미지 분류 시스템 및 방법 Download PDF

Info

Publication number
KR102018788B1
KR102018788B1 KR1020170173228A KR20170173228A KR102018788B1 KR 102018788 B1 KR102018788 B1 KR 102018788B1 KR 1020170173228 A KR1020170173228 A KR 1020170173228A KR 20170173228 A KR20170173228 A KR 20170173228A KR 102018788 B1 KR102018788 B1 KR 102018788B1
Authority
KR
South Korea
Prior art keywords
class
class data
model
counterfeit
classification
Prior art date
Application number
KR1020170173228A
Other languages
English (en)
Other versions
KR20190078710A (ko
Inventor
김한준
김소현
Original Assignee
서울시립대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 서울시립대학교 산학협력단 filed Critical 서울시립대학교 산학협력단
Priority to KR1020170173228A priority Critical patent/KR102018788B1/ko
Publication of KR20190078710A publication Critical patent/KR20190078710A/ko
Application granted granted Critical
Publication of KR102018788B1 publication Critical patent/KR102018788B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/55Clustering; Classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/58Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/583Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0464Convolutional networks [CNN, ConvNet]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0475Generative networks
    • 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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/094Adversarial learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Biophysics (AREA)
  • Evolutionary Computation (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Library & Information Science (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Image Analysis (AREA)

Abstract

실시 예에 따른 이미지 분류 시스템은, 입력 이미지가 관심 대상인 포지티브 클래스인지 분류하는 단일 클래스 모델, 및 상기 포지티브 클래스에 속하는 포지티브 클래스 데이터에 과적합되지 않고 비관심 대상인 네거티브 클래스 데이터인 위조 클래스 데이터를 생성하는 지원 모델을 포함하고, 상기 단일 클래스 모델은 상기 포지티브 클래스와 데이터와 상기 위조 클래스 데이터를 분류 학습을 수행한다.

Description

이미지 분류 시스템 및 방법{IMAGE CLASSFICATION SYSTEM AND MEHTOD}
본 개시는 이미지 분류 시스템 및 방법에 관한 것이다.
방대한 양의 데이터를 고속으로 수집하는 빅데이터 시대에는 기계 학습 기술을 이용하여 크고 작은 문제를 해결하기 위한 많은 연구가 이루어지고 있다. 그 중 요소가 속한 카테고리를 예측하는 기술을 분류(classification)라고 한다. 분류는 범주 수에 따라 다중 클래스 분류(multiclass classification)와 2 진 분류(binary classification)로 구분된다.
멀티 클래스 분류는 3 개 이상의 범주를 포함하며, 2 진 분류는 2 개의 범주로 포지티브(positive) 및 네거티브(negative)만을 포함한다. 일반적으로 포지티브 클래스 및 네거티브 클래스 데이터 각각은 일반적인 이진 분류에 필요하다. 그러나 상황에 따라 포지티브 클래스 데이터만 훈련 세트로 얻을 수 있다. 이진 클래스 상황에서, 포지티브 클래스 데이터만을 트레이닝 세트로 사용하여 미지의 데이터 항목이 속하는 카테고리를 예측하는 것을 단일 분류(one-class classification)라고 한다.
단일 분류 기법은 개인화된 이미지 검색 시스템을 개발하는 데 유용하다. 예를 들어 사용자가 관심을 가질 이미지를 예측하고 사용자에게 추천 할 수 있다. 이러한 상황에서 우리는 사용자가 관심을 갖고 있는 이미지가 포함된 사용자 활동의 여러 로그를 수집 할 수 있다. 사용자가 관심을 보였던 이미지는 포지티브 클래스 데이터로 고려하고, 사용자가 관심이 없는 이미지는 네거티브 클래스 데이터로 고려하여, 사용자가 특정 이미지에 관심이 있는지 여부를 예측하는 것이 2진 클래스 분류로 구현될 수 있다. 이와 같은 2진 클래스 분류는 훈련 세트로 포지티브 클래스 데이터만 사용하기 때문에 단일 분류일 수 있다.
이미지 검색 시스템을 위한 몇 가지 단일 분류 연구가 이미 수행되고 있고, 단일 분류 기법을 사용하여 안전 및 보안 문제, 제품 품질 등을 예측할 수 있다.
그러나 기존의 단일 분류 기법은 포지티브 클래스 데이터의 분포만을 학습하고, 입력 데이터를 포지티브 클래스 데이터 및 네거티브 클래스 데이터 중 하나로 분류한다. 이 경우, 포지티브 클래스 데이터가 과적합(over-fit)되어, 그 경계가 지나치게 좁아지는 문제가 발생한다.
대한민국 등록번호 10-0889026 (공고일자: 2009년 3월 17일)
이미지 검색 시스템을 위한 단일 클래스 모델로, 과적합(over-fit)에 의해 포지티브 클래스의 경계가 지나치게 좁아지는 것을 해결할 수 있는 이미지 분류 시스템 및 방법을 제공하고자 한다.
발명의 한 특징에 따른 이미지 분류 시스템은, 입력 이미지가 관심 대상인 포지티브 클래스인지 분류하는 단일 클래스 모델, 및 상기 포지티브 클래스에 속하는 포지티브 클래스 데이터에 과적합되지 않고 비관심 대상인 네거티브 클래스 데이터인 위조 클래스 데이터를 생성하는 지원 모델을 포함하고, 상기 단일 클래스 모델은 상기 포지티브 클래스와 데이터와 상기 위조 클래스 데이터를 분류 학습을 수행한다.
상기 지원 모델은, 상기 단일 클래스 모델로부터 분류 결과를 획득하고, 획득된 분류 결과에 기초한 훈련을 통해 상기 위조 클래스 데이터를 업데이트할 수 있다.
상기 단일 클래스 모델의 분류 학습 및 상기 지원 모델의 상기 분류 결과에 기초한 업데이트 동작이 소정의 k 에폭스(epochs)까지 반복되어, 상기 위조 클래스 데이터는 상기 포지티브 클래스 샘플의 분포와 일치하지 않으나 근접한 분포를 가지는 네거티브 데이터 샘플이 될 수 있다.
상기 단일 클래스 모델은, 상기 k 에폭스 동안 생성된 상기 위조 클래스 데이터 및 포지티브 클래스 데이터를 포함하는 유효성 검증 세트를 이용하여 분류 학습을 수행할 수 있다.
상기 단일 클래스 모델은, 입력에 컨볼루션 커넬을 적용하는 컨볼루션 레이어, 상기 컨볼루션 레이에를 통해 볼륨이 변환된 입력에 맥스 풀링 커넬을 적용하는 제1 풀링 레이어, 입력에 대해 평균 풀링 커넬을 적용하는 제2 풀링 레이어, 및 상기 평균 풀링 커넬이 적용된 입력의 모든 구성 요소와 연결되어, 각 요소를 계산하여 단일 클래스 모델의 결과값을 생성하는 FC(fully-connected) 레이어를 포함할 수 있다.
상기 지원 모델은, 입력되는 노이즈 벡터의 모든 요소에 연결되어, 각 요소를 계산하여 소정 볼륨의 입력을 생성하는 FC(fully-connected) 레이어, 입력에 컨볼루션 커넬을 적용하는 컨볼루션 레이어, 및 입력에 업샘플링 커넬을 적용하는 레이어를 포함할 수 있다.
상기 위조 데이터는 GAN(generative adversarial net) 프레임 워크에 의해 생성될 수 있다.
발명의 다른 특징에 따른 이미지 분류 방법은, 단일 클래스 모델이 위조 클래스 데이터와 관심 대상인 포지티브 클래스에 속하는 포지티브 클래스 데이터를 분류하는 학습을 수행하는 단계, 지원 모델이 상기 포지티브 클래스 데이터에 과적합되지 않고 비관심 대상인 네거티브 클래스 데이터인 위조 클래스 데이터를 생성하는 단계, 및 입력 이미지가 관심 대상인 상기 포지티브 클래스인지 분류하는 단계를 포함한다.
상기 위조 클래스 데이터를 생성하는 단계는, 상기 지원 모델이 상기 분류 학습 단계에서의 분류 결과를 획득하는 단계, 및 상기 획득된 분류 결과에 기초한 훈련을 통해 상기 위조 클래스 데이터를 업데이트하는 단계를 포함할 수 있다.
상기 단일 클래스 모델의 분류 학습 단계 및 상기 지원 모델의 상기 분류 결과에 기초한 업데이트 단계가 소정의 k 에폭스(epochs)까지 반복될 수 있다.
상기 분류 학습을 수행하는 단계는, 상기 k 에폭스 동안 생성된 상기 위조 클래스 데이터 및 포지티브 클래스 데이터를 포함하는 유효성 검증 세트를 이용할 수 있다.
상기 위조 데이터를 생성하는 단계는, GAN(generative adversarial net) 프레임 워크에 의해 수행될 수 있다.
실시 예는 이미지 검색 시스템을 위한 단일 클래스 모델로, GAN 프레임 워크를 사용하여 지원 모델에서 생성된 위조 클래스 데이터를 사용하여 일반화 오류를 줄이고, 단일 클래스 모델이 포지티브 클래스의 특징을 정확하게 학습할 수 있다.
도 1A는 기존의 단일 분류 기법에 있어서 과적합 상황을 보여주는 개념도이다.
도 1B는 무작위로 네거티브 클래스 데이터를 이용한 단일 분류 결과를 보여주는 개념도이고, 도 1C는 적절한 네거티브 클래스 데이터를 이용한 단일 분류 결과를 보여주는 개념도이다.
도 2는 실시 예에 따른 이미지 분류 시스템을 나타낸 도면이다.
도 3은 실시 예에 따른 단일 클래스 모델의 네트워크 아키텍쳐(architecture)를 나타낸 도면이다.
도 4는 실시 예에 따른 지원 모델의 네트워크 아키텍쳐(architecture)를 나타낸 도면이다.
아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
기술적 과제를 해결하기 위해서, 실시 예에 따른 이미지 분류 시스템은 네거티브 클래스 데이터를 생성하고 이를 사용하여 포지티브 클래스 데이터를 과도하게 초과하지 않는 판별 함수를 작성한다. 결과적으로 GAN(generative adversarial net) 프레임 워크에 의해 생성된 위조 데이터를 네거티브 클래스 데이터로 사용하는 새로운 단일 분류 기법이 적용된 이미지 분류 시스템이 제공될 수 있다.
기존의 단일 분류 기법은 포지티브 클래스 데이터에 있어서 과적합 문제를 가지고 있다.
도 1A는 기존의 단일 분류 기법에 있어서 과적합 상황을 보여주는 개념도이다.
원형 점은 포지티브 클래스 데이터를 나타내고 닫힌 곡선은 결정 경계를 나타낸다. 학습 머신이 포지티브 클래스 데이터의 분포만 학습하므로 결정 경계가 포지티브 클래스 데이터에 너무 가깝다. 따라서, 적절한 네거티브 클래스 데이터를 생성하는 것은 포지티브 클래스 데이터에 과적합되지 않은 판별 함수를 생성하는데 도움이 된다. 이 때, 네거티브 클래스 데이터를 무작위로 형성하지 않고, 양수 클래스 데이터에 근접하게 적절히 생성해야 한다.
도 1B는 무작위로 네거티브 클래스 데이터를 이용한 단일 분류 결과를 보여주는 개념도이고, 도 1C는 적절한 네거티브 클래스 데이터를 이용한 단일 분류 결과를 보여주는 개념도이다. 도 1B 및 도 1C에서, 삼각형 점은 네거티브 클래스 데이터를 나타낸다.
도 1B에 도시된 바와 같이, 네거티브 클래스 데이터가 무작위로 생성되기 때문에, 학습 결과 결정된 경계는 포지티브 클래스 데이터로부터 부적절하게 너무 멀리 떨어져있다.
도 1C에 도시된 바와 같이, 적절한 네거티브 클래스 데이터를 사용한 학습의 경우, 네거티브 클래스 데이터가 포지티브 클래스 데이터 근처에 적절하게 생성되어, 학습 결과 결정된 경계가 포지티브 클래스 데이터에 과적합되지 않고 지나치게 넓지 않음을 알 수 있다.
GAN 프레임 워크에서, 생성 모델은 학습이 진행됨에 따라 포지티브 클래스 데이터에 유사한 위조 데이터를 생성한다. 실시 예에서는, 기존의 단일 분류 기법의 문제를 해결하기 위해서, GAN 프레임 워크를 사용하여 포지티브 클래스 데이터에 과적합되지 않은 네거티브 클래스 데이터를 생성할 수 있다. 이하, '포지티브 클래스 데이터에 과적합되지 않은 네거티브 클래스 데이터'를 위조 클래스 데이터라 한다. 실시 예는 포지티브 클래스 데이터에 가까운 위조 클래스 데이터를 생성하고, 이를 포지티브 클래스 데이터의 특징을 학습하는데 이용할 수 있다.
도 2는 실시 예에 따른 이미지 분류 시스템을 나타낸 도면이다.
도 2에 도시된 바와 같이, 이미지 분류 시스템(1)은 지원모델(support model)(10) 및 단일 클래스 모델(one-class classification model)(20)을 포함한다.
지원모델(10)은 입력 데이터(2)에서 위조 클래스 데이터(3)를 생성하여 단일 클래스 모델(20)의 학습을 지원한다. 입력 데이터(2)는 가우시안 노이즈 벡터일 수 있다. 단일 클래스 모델(20)은 단일 분류 학습에 있어서, 포지티브 클래스 데이터(4)와 위조 클래스 데이터(3)를 분류할 수 있다.
지원 모델(10)은 유효성 검증 세트(validation set)를 위한 위조 클래스 데이터(3)를 생성한다. 다음으로 단일 클래스 모델(20)은 위조 클래스 데이터(3)와 포지티브 클래스 데이터(4)를 분류하는 훈련을 수행한다. 지원 모델(10)은 단일 클래스 모델(20)로부터 분류 결과를 획득하고, 획득된 분류 결과에 기초한 훈련을 통해 위조 클래스 데이터(3)를 업데이트한다. 단일 클래스 모델(2)은 지원 모델(10)로부터 업데이트된 위조 클래스 데이터(3)와 포지티브 클래스 데이터(4)를 분류하는 훈련을 수행한다.
이와 같이, 단일 클래스 모델(20)은 지원 모델(10)에서 생성되는 위조 클래스 데이터(3)와 포지티브 클래스 데이터(4)를 분류하고, 분류 결과에 기초하여 지원 모델(10)이 위조 클래스 데이터(3)를 업데이트 하는 동작이 k 에폭스(epochs)까지 반복된다. 그러면, 위조 클래스 데이터(3)는 포지티브 클래스 샘플의 분포와 일치하지 않으나 근접한 분포를 가지는 네거티브 데이터 샘플이 될 수 있다. 이렇게 생성된 유효성 검증 세트는 k 에폭스(epochs) 동안 생성된 위조 클래스 데이터(3)와 포지티브 클래스 데이터(4)를 포함할 수 있다.
단일 클래스 모델(20)은 유효성 검증 세트를 이용하여 학습을 수행하여 최적화될 수 있다. 이렇게 최적화된 단일 클래스 모델(20)은 이미지 분류 시스템에 입력되는 이미지를 변환하여 포지티브 클래스인지 분류한다.
먼저, 단일 클래스 모델(20)은 유효성 검증 세트를 이용하여, 위조 클래스 데이터(3)와 포지티브 클래스 데이터(4)를 분류하는 훈련을 수행한다. 다음으로, 지원 모델(10)은 단일 클래스 모델(20)의 분류 결과를 획득하고, 위조 클래스 데이터(3)를 생성한다. 위와 같은 동작은 유효성 검증 세트의 F1이 가장 높은 값을 가질 때가지 반복되고, F1 값이 가장 높을 때의 단일 클래스 모델(20)이 최종적인 단일 클래스 모델로 결정된다.
이와 같은 학습 과정을 통해, 단일 클래스 모델(20)은 포지티브 클래스 데이터(4)의 특징을 적절하게 학습하게 되는데, 지원 모델(10)에 의해 생성된위조클래스 데이터(3)에 의해 단일 클래스 모델(20)이 포지티브 클래스데이터(4)를 과적합하지 않도록 최적화된다. 실시 예를 통해서, GAN 프레임 워크에서 학습한 후의 단일 클래스 모델은 포지티브 클래스 데이터와 실제 네거티브 클래스 데이터를 매우 잘 분류하게 된다.
도 3은 실시 예에 따른 단일 클래스 모델의 네트워크 아키텍쳐(architecture)를 나타낸 도면이다.
도 3에 도시된 바와 같이, 단일 클래스 모델(20)에 입력되는 데이터에 따른 입력 영상은 32×32×3인 것으로 설명한다. '32×32'는 영상을 구성하는 화소들의 가로×세로를 의미하고, '3'은 영상의 채널로 RGB를 의미할 수 있다. 입력 영상의 볼륨은 설명을 위한 일 예로 발명이 이에 한정되는 것은 아니다.
도 3에 도시된 바와 같이, 실시 예에 따른 컨볼루션 레이어의 가중치인 커넬(convolution kernel)은 5×5 커넬이고, 액티베이션 함수(activation function)로 LeakyReLu가 사용될 수 있다.
먼저, 단일 클래스 모델(20)의 입력 영상에 대한 컨볼루션 레이에서는, 입력 영상에 대해서 컨볼루션 커넬(5,5)이 적용되어 입력 영상이 32×32×64의 볼륨으로 변환되고, 다음의 풀링 레이어에서는, 맥스 풀링 커넬(max pooling kernel)(2,2)이 적용된다. 다음 컨볼루션 레이에서는 32×32×64의 볼륨의 입력 영상에 대해서 컨볼루션 커넬(5,5)이 적용되어 입력 영상이 16×16×128의 볼륨으로 변환되고, 그 다음의 풀링 레이어에서는, 맥스 풀링 커넬(2,2)이 적용된다. 다음 컨볼루션 레이에서는 16×16×128의 볼륨의 입력 영상에 대해서 컨볼루션 커넬(5,5)이 적용되어 입력 영상이 8×8×256의 볼륨으로 변환되고, 그 다음의 풀링 레이어에서는, 맥스 풀링 커넬(2,2)이 적용된다. 마지막으로 컨볼루션 레이에서는 8×8×256의 볼륨의 입력 영상에 대해서 컨볼루션 커넬(5,5)이 적용되어 입력 영상이 4×4×1의 볼륨으로 변환되고, 풀링 레이어에서는, 평균 풀링 커넬(average pooling kernel)(5,5)이 적용된다. FC(fully-connected) 레이어에서, 평균 풀링 커넬이 적용된 4×4×1의 모든 요소와 연결되고, 각 요소를 계산하여 단일 클래스 모델의 결과값(embedding)을 생성한다.
도 4는 실시 예에 따른 지원 모델의 네트워크 아키텍쳐(architecture)를 나타낸 도면이다.
도 4에 도시된 바와 같이, 지원 모델(10)에 입력되는 입력 데이터(2)는 노이즈 벡터일 수 있다. FC 레이어에서, 노이즈 벡터의 모든 요소에 연결되고, 각 요소를 계산하여 4×4×256 볼륨의 입력을 생성한다. 컨볼루션 레이어에서, 4×4×256 볼륨의 입력에 대해서 컨볼루션 커넬(5,5)이 적용되어 입력이 4×4×128의 볼륨으로 변환된다. 다음의 레이어에서, 업샘플링 커넬(upsampling kernel)(2,2)이 적용되고, 컨볼루션 레이어에서, 컨볼루션 커넬(5,5)이 적용되어 입력이 8×8×128의 볼륨으로 변환된다. 다음의 레이어에서, 업샘플링 커넬(2,2)이 적용되고, 컨볼루션 레이어에서, 컨볼루션 커넬(5,5)이 적용되어 입력이 16×16×64의 볼륨으로 변환된다. 그 다음의 레이어에서, 업샘플링 커넬(2,2)이 적용되고, 컨볼루션 레이어에서, 컨볼루션 커넬(5,5)이 적용되어 입력이 32×32×3의 볼륨으로 변환되어 출력된다. 이는 단일 클래스 모델(20)의 입력 영상과 동일한 볼륨이다. 입력 영상 볼륨에 따라 지원 모델(10)의 출력의 볼륨이 결정될 수 있다.
도 3 및 4를 참조하여, 실시 예에 따른 지원 모델(10) 및 단일 클래스 모델(20)의 네트워크 아키텍쳐를 설명하였으나, 발명이 이에 한정되는 것은 아니다. 컨볼루션 커넬, 맥스 풀링 커넬, 업샘플링 커넬등은 변형될 수 있고, 네트워크 아키텍쳐를 구성하는 레이어도 변형될 수 있다.
CIFAR-10, CIFAR-100를 적용하여 실시 예를 통해 분류 결과를 테스트할 수 있다. 참고로, CIFAR-10은 10 개의 클래스로 32×32 컬러 이미지로 구성되는데, 실시 예를 위한 테스트에서는 5 개의 클래스(비행기, 자동차, 새, 자동차, 사슴) 만을 사용하였고, CIFAR-100은 100 개의 클래스로 구성된 32×32 컬러 이미지로 구성되는데, 실시 예를 위한 테스트에서는 5 개의 클래스(비버, 돌고래, 수달, 물개, 고래)만을 사용했다. 각 클래스의 영상 데이터는 포지티브 클래스 데이터로 간주된다. 실시 예를 위한 테스트에서, CIFAR-10, CIFAR-100에서 선택된 포지티브 클래스를 제외한 9개의 클래스에서 무작위로 네거티브 클래스 데이터를 추출할 수 있다.
예를 들어, CIFAR-10에서, 단일 클래스 모델(20)의 훈련 세트로 4,500 개의 포지티브 클래스 데이터를 사용하고, 테스트 세트로 1,000 개의 포지티브 클래스 데이터와 1,000 개의 네거티브 클래스 데이터를 사용하며, 유효성 검증 세트로 500 개의 포지티브 클래스 데이터와 500 개의 위조 클래스 데이터를 사용한다.
CIFAR-100에서, 단일 클래스 모델(20)의 훈련 세트로 450 개의 포지티브 클래스 데이터를 사용하고, 테스트 세트로 100 개의 포지티브 클래스 데이터와 100 개의 네거티브 클래스 데이터를 사용하며, 유효성 검증 세트로 50 개의 포지티브 클래스 데이터와 50 개의 위조 클래스 데이터를 사용한다.
먼저, 단일 클래스 모델(20)은CIFAR-10, CIFAR-100 훈련 세트를 사용하여 유효성 검증을 위한 위조 클래스 데이터를 생성하는 프로세스를 수행한다. 유효성 검증을 위한 위조 클래스 데이터를 생성하기 위해 적절한 수의 에폭스(10, 100, 200)까지 프로세스가 반복될 수 있다. 다음으로, CIFAR-10, CIFAR-100의 훈련 세트 및 유효성 검증 세트를 사용하여 최적의 단일 클래스 모델을 찾기 위한 프로세스를 수행한다. F1을 확인하면서 최적의 단일 클래스 모델을 찾는 프로세스가 100 에폭스까지 반복될 수 있다. 결과적으로 최종 단일 클래스 모델은 유효성 검증 세트의 F1이 가장 높을 때의 학습한 모델로 결정될 수 있다. F1은 범용적으로 분류 결과의 정확도를 나타내는 인자인F1 스코어로서, 정확도(Precision)과 재현율(recall)을 이용해 산출될 수 있다. F1 = 2*(정확도*재현율)/(정확도+재현율))의 수식을 통해 산출될 수 있다.
실시 예에 따른 GAN 기반의 단일 클래스 모델의 분류 성능과 기존의 신경망 기반의 단일 클래스 모델의 분류 성능과 비교할 수 있다.
표 1은 CIFAR-10과 유효성 검증을 위해 10 에폭스를 통해 생성된 위조 클래스 데이터를 이용한 단일 클래스 모델에 대한 테스트 결과를 나타낸 표이다.
표 2는 CIFAR-10과 유효성 검증을 위해 100 에폭스를 통해 생성된 위조 클래스 데이터를 이용한 단일 클래스 모델에 대한 테스트 결과를 나타낸 표이다.
표 3은 CIFAR-10과 유효성 검증을 위해 200 에폭스를 통해 생성된 위조 클래스 데이터를 이용한 단일 클래스 모델에 대한 테스트 결과를 나타낸 표이다.
표 4는 CIFAR-10을 사용한 종래 단일 클래스 모델의 테스트 결과를 나타낸 표이다.
Figure 112017125266015-pat00001
Figure 112017125266015-pat00002
Figure 112017125266015-pat00003
Figure 112017125266015-pat00004
표 1 내지 표 4에 도시된 바와 같이, 실시 예에 따른 F1 값이 종래 단일 클래스 모델보다 높게 나오는 것을 알 수 있다. 특히 표 3에 도시된 바와 같이, CIFAR-10와 유효성 검증을 위해 200 에폭스를 통해 생성된 위조 클래스 데이터를 이용한 단일 클래스 모델의 테스트 결과는 종래에 비해 0.087 더 높다.
표 5는 CIFAR-100과 유효성 검증을 위해 10 에폭스를 통해 생성된 위조 클래스 데이터를 이용한 단일 클래스 모델에 대한 테스트 결과를 나타낸 표이다.
표 6은 CIFAR-100과 유효성 검증을 위해 100 에폭스를 통해 생성된 위조 클래스 데이터를 이용한 단일 클래스 모델에 대한 테스트 결과를 나타낸 표이다.
표 7은 CIFAR-100과 유효성 검증을 위해 200 에폭스를 통해 생성된 위조 클래스 데이터를 이용한 단일 클래스 모델에 대한 테스트 결과를 나타낸 표이다.
표 8은 CIFAR-100을 사용한 종래 단일 클래스 모델의 테스트 결과를 나타낸 표이다.
Figure 112017125266015-pat00005
Figure 112017125266015-pat00006
Figure 112017125266015-pat00007
Figure 112017125266015-pat00008
표 5 내지 표 8에 도시된 바와 같이, 실시 예에 따른 F1 값이 종래 단일 클래스 모델보다 높게 나오는 것을 알 수 있다. 특히 표 3에 도시된 바와 같이, CIFAR-100와 유효성 검증을 위해 100 에폭스를 통해 생성된 위조 클래스 데이터를 이용한 단일 클래스 모델의 테스트 결과는 종래에 비해 0.084 더 높다.
실시 예는 이미지 검색 시스템을 위한 단일 클래스 모델로, GAN 프레임 워크를 사용하여 지원 모델에서 생성된 위조 클래스 데이터를 사용하여 일반화 오류를 줄이고, 단일 클래스 모델이 포지티브 클래스의 특징을 정확하게 학습할 수 있다.
이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.
1: 이미지 분류 시스템
10: 지원모델
20: 단일 클래스 모델

Claims (12)

  1. 입력 이미지가 사용자의 관심 대상인 포지티브 클래스인지 분류하는 단일 클래스 모델, 및
    상기 포지티브 클래스에 속하는 포지티브 클래스 데이터에 과적합되지 않고, 상기 사용자가 관심이 없는 비관심 대상인 네거티브 클래스 데이터인 위조 클래스 데이터를 생성하는 지원 모델을 포함하고,
    상기 단일 클래스 모델은 상기 포지티브 클래스와 데이터와 상기 위조 클래스 데이터를 분류 학습을 수행하고,
    상기 지원 모델은, 상기 단일 클래스 모델로부터 분류 결과를 획득하고, 획득된 분류 결과에 기초한 훈련을 통해 상기 위조 클래스 데이터를 업데이트하며,
    상기 단일 클래스 모델의 분류 학습 및 상기 지원 모델의 상기 분류 결과에 기초한 업데이트 동작이 소정의 k 에폭스(epochs)까지 반복되고, 상기 반복 동작은 유효성 검증 세트의 F1이 가장 높은 값을 가질 때까지 반복되며, 상기 F1 값은 정확도(Precision)와 재현율(recall)을 이용해 산출되고,
    상기 유효성 검증 세트는,
    상기 k 에폭스 동안 생성된 상기 위조 클래스 데이터 및 포지티브 클래스 데이터를 포함하는 이미지 분류 시스템.
  2. 삭제
  3. 삭제
  4. 제1항에 있어서,
    상기 단일 클래스 모델은,
    상기 k 에폭스 동안 생성된 상기 위조 클래스 데이터 및 포지티브 클래스 데이터를 포함하는 유효성 검증 세트를 이용하여 분류 학습을 수행하는 이미지 분류 시스템.
  5. 제1항에 있어서,
    상기 단일 클래스 모델은,
    입력에 컨볼루션 커넬을 적용하는 컨볼루션 레이어,
    상기 컨볼루션 레이에를 통해 볼륨이 변환된 입력에 맥스 풀링 커넬을 적용하는 제1 풀링 레이어,
    입력에 대해 평균 풀링 커넬을 적용하는 제2 풀링 레이어, 및
    상기 평균 풀링 커넬이 적용된 입력의 모든 구성 요소와 연결되어, 각 요소를 계산하여 단일 클래스 모델의 결과값을 생성하는 FC(fully-connected) 레이어를 포함하는 이미지 분류 시스템.
  6. 제1항에 있어서,
    상기 지원 모델은,
    입력되는 노이즈 벡터의 모든 요소에 연결되어, 각 요소를 계산하여 소정 볼륨의 입력을 생성하는FC(fully-connected) 레이어,
    입력에 컨볼루션 커넬을 적용하는 컨볼루션 레이어, 및
    입력에 업샘플링 커넬을 적용하는 레이어를 포함하는 이미지 분류 시스템.
  7. 제1항에 있어서,
    상기 위조 클래스 데이터는 GAN(generative adversarial net) 프레임 워크에 의해 생성되는 이미지 분류 시스템.
  8. 단일 클래스 모델이 위조 클래스 데이터와 사용자의 관심 대상인 포지티브 클래스에 속하는 포지티브 클래스 데이터를 분류하는 학습을 수행하는 단계;
    지원 모델이 상기 포지티브 클래스 데이터에 과적합되지 않고, 상기 사용자가 관심이 없는 비관심 대상인 네거티브 클래스 데이터인 위조 클래스 데이터를 생성하는 단계; 및
    입력 이미지가 관심 대상인 상기 포지티브 클래스인지 분류하는 단계를 포함하고,
    상기 위조 클래스 데이터를 생성하는 단계는,
    상기 지원 모델이 상기 분류 학습 단계에서의 분류 결과를 획득하는 단계; 및
    상기 획득된 분류 결과에 기초한 훈련을 통해 상기 위조 클래스 데이터를 업데이트하는 단계를 포함하며,
    상기 단일 클래스 모델의 분류 학습 및 상기 지원 모델의 상기 분류 결과에 기초한 업데이트 동작이 소정의 k 에폭스(epochs)까지 반복되고, 상기 반복 동작은 유효성 검증 세트의 F1이 가장 높은 값을 가질 때까지 반복되며, 상기 F1 값은 정확도(Precision)와 재현율(recall)을 이용해 산출되고,
    상기 유효성 검증 세트는,
    상기 k 에폭스 동안 생성된 상기 위조 클래스 데이터 및 포지티브 클래스 데이터를 포함하는 이미지 분류 방법.
  9. 삭제
  10. 삭제
  11. 제8항에 있어서,
    상기 분류 학습을 수행하는 단계는,
    상기k 에폭스 동안 생성된 상기 위조 클래스 데이터 및 포지티브 클래스 데이터를 포함하는 유효성 검증 세트를 이용하여 분류 학습을 수행하는 이미지 분류 방법.
  12. 제8항에 있어서,
    상기 위조 클래스 데이터를 생성하는 단계는,
    GAN(generative adversarial net) 프레임 워크에 의해 수행되는 이미지 분류 방법.
KR1020170173228A 2017-12-15 2017-12-15 이미지 분류 시스템 및 방법 KR102018788B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170173228A KR102018788B1 (ko) 2017-12-15 2017-12-15 이미지 분류 시스템 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170173228A KR102018788B1 (ko) 2017-12-15 2017-12-15 이미지 분류 시스템 및 방법

Publications (2)

Publication Number Publication Date
KR20190078710A KR20190078710A (ko) 2019-07-05
KR102018788B1 true KR102018788B1 (ko) 2019-11-04

Family

ID=67225405

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170173228A KR102018788B1 (ko) 2017-12-15 2017-12-15 이미지 분류 시스템 및 방법

Country Status (1)

Country Link
KR (1) KR102018788B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210030063A (ko) 2019-09-09 2021-03-17 서강대학교산학협력단 준지도 학습을 기반으로 한 이미지 분류를 위한 적대적 이미지 생성 모델 구축 시스템 및 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017023551A2 (en) * 2015-08-04 2017-02-09 Qualcomm Incorporated Detection of unknown classes and initialization of classifiers for unknown classes

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100889026B1 (ko) 2008-07-22 2009-03-17 김정태 이미지를 이용한 검색 시스템

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017023551A2 (en) * 2015-08-04 2017-02-09 Qualcomm Incorporated Detection of unknown classes and initialization of classifiers for unknown classes

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
GOODFELLOW Ian J. 등, "Generative Adversarial Networks" (2014.06), https://arxiv.org/abs/1406.2661 1부.*

Also Published As

Publication number Publication date
KR20190078710A (ko) 2019-07-05

Similar Documents

Publication Publication Date Title
CN109190665B (zh) 一种基于半监督生成对抗网络的通用图像分类方法和装置
KR102582194B1 (ko) 선택적 역전파
US11816183B2 (en) Methods and systems for mining minority-class data samples for training a neural network
JP6781415B2 (ja) ニューラルネットワーク学習装置、方法、プログラム、およびパターン認識装置
US20210295089A1 (en) Neural network for automatically tagging input image, computer-implemented method for automatically tagging input image, apparatus for automatically tagging input image, and computer-program product
CN110197205B (zh) 一种多特征来源残差网络的图像识别方法
Yamashita et al. To be Bernoulli or to be Gaussian, for a restricted Boltzmann machine
CN111079639A (zh) 垃圾图像分类模型构建的方法、装置、设备及存储介质
JP2019028839A (ja) 分類器、分類器の学習方法、分類器における分類方法
JP6965206B2 (ja) クラスタリング装置、クラスタリング方法およびプログラム
US11461650B2 (en) Validation of deep neural network (DNN) prediction based on pre-trained classifier
KR20180036709A (ko) 미디어 분류
CN104834940A (zh) 一种基于支持向量机的医疗影像检查疾病分类方法
US11983917B2 (en) Boosting AI identification learning
Khaw et al. High‐density impulse noise detection and removal using deep convolutional neural network with particle swarm optimisation
CN112465226B (zh) 一种基于特征交互和图神经网络的用户行为预测方法
WO2020023760A1 (en) System and method for clustering products by combining attribute data with image recognition
JP7214863B2 (ja) 人工画像生成用コンピュータアーキテクチャ
EP3973501A1 (en) Dynamic image resolution assessment
KR102018788B1 (ko) 이미지 분류 시스템 및 방법
WO2019180868A1 (ja) 画像生成装置、画像生成方法および画像生成プログラム
Liu et al. AutoDC: Automated data-centric processing
CN112597997A (zh) 感兴趣区域确定方法、图像内容识别方法及装置
US20160217386A1 (en) Computer implemented classification system and method
CN115935257A (zh) 分类识别方法、计算机设备和存储介质

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right