KR102309711B1 - 유용한 학습 데이터를 취사 선별하기 위한 cnn 기반 학습 방법 및 학습 장치 그리고 이를 이용한 테스트 방법 및 테스트 장치 - Google Patents

유용한 학습 데이터를 취사 선별하기 위한 cnn 기반 학습 방법 및 학습 장치 그리고 이를 이용한 테스트 방법 및 테스트 장치 Download PDF

Info

Publication number
KR102309711B1
KR102309711B1 KR1020190105486A KR20190105486A KR102309711B1 KR 102309711 B1 KR102309711 B1 KR 102309711B1 KR 1020190105486 A KR1020190105486 A KR 1020190105486A KR 20190105486 A KR20190105486 A KR 20190105486A KR 102309711 B1 KR102309711 B1 KR 102309711B1
Authority
KR
South Korea
Prior art keywords
feature map
learning
cnn module
loss
size
Prior art date
Application number
KR1020190105486A
Other languages
English (en)
Other versions
KR20200047307A (ko
Inventor
김용중
김인수
김학경
남운현
부석훈
성명철
유우주
정경중
제홍모
조호진
Original Assignee
주식회사 스트라드비젼
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 스트라드비젼 filed Critical 주식회사 스트라드비젼
Publication of KR20200047307A publication Critical patent/KR20200047307A/ko
Application granted granted Critical
Publication of KR102309711B1 publication Critical patent/KR102309711B1/ko

Links

Images

Classifications

    • 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/084Backpropagation, e.g. using gradient descent
    • 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
    • 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/045Combinations of networks
    • G06N3/0454
    • 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/08Learning methods
    • G06N3/09Supervised learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • G06N5/046Forward inferencing; Production systems
    • 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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/255Detecting or recognising potential candidate objects based on visual cues, e.g. shapes
    • 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/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/772Determining representative reference patterns, e.g. averaging or distorting patterns; Generating dictionaries
    • 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
    • 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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions
    • 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]

Landscapes

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

Abstract

본 발명은 유용한 학습 데이터를 취사 선별하기 위한 CNN기반 학습 방법에 관한 것으로, 학습 장치가, (a) 제1 CNN 모듈로 하여금 (i) 제1 특징 맵을 생성하도록 하고 제2 CNN 모듈로 하여금 제2 특징 맵을 생성하도록 하고, (ii) 제1 특징 맵을 이용하여 객체의 식별 정보나 위치 정보를 나타내는 제1 출력을 생성하도록 하고, 제1 출력과 이에 해당하는 GT 이미지를 참조하여 제1 로스를 산출하도록 하는 단계; (b) 제2 CNN 모듈로 하여금, (i) 제1 특징 맵의 크기를 변경도록 한 후, 제1 특징 맵과 제2 특징 맵을 통합하여, 제3 특징 맵을 생성하고, (ii) 제4 특징 맵을 생성하고, 제2 로스를 산출하도록 하는 단계; 및 (c) 제1 로스와 제2 로스를 참조하여 자동 선별기 로스(Auto-Screener's Loss)를 산출하는 단계;를 포함하는 방법이 제공한다.

Description

유용한 학습 데이터를 취사 선별하기 위한 CNN 기반 학습 방법 및 학습 장치 그리고 이를 이용한 테스트 방법 및 테스트 장치{CNN-BASED LEARNING METHOD, LEARNING DEVICE FOR SELECTING USEFUL TRAINING DATA AND TEST METHOD, TEST DEVICE USING THE SAME}
본 발명은 유용한 학습 데이터를 취사 선별하기 위한 CNN 기반 학습 방법에 관한 것으로; 보다 상세하게는, 상기 유용한 학습 데이터를 취사 선별하기 위한 상기 CNN 기반 학습 방법에 있어서, (a) 학습 장치가, 적어도 하나의 입력 이미지가 획득되면, (i) 상기 입력 이미지 내의 특정 객체의 식별 정보나 위치 정보를 획득하기 위한 제1 CNN 모듈로 하여금 상기 입력 이미지에 대하여 적어도 한 번 컨벌루션 연산을 적용하도록 하여 제1 특징 맵을 생성하는 프로세스, 및 (ii) 상기 제1 CNN 모듈의 학습 프로세스에 사용될 유용한 학습 데이터를 자동 선별(Auto-Screening) 할 수 있는 제2 CNN 모듈로 하여금 상기 입력 이미지에 대하여 적어도 한 번 컨벌루션 연산을 적용하도록 하여 제2 특징 맵을 생성하는 프로세스를 수행하는 단계; (b) 상기 학습 장치가, 상기 제1 CNN 모듈로 하여금 상기 제1 특징 맵을 이용하여 상기 특정 객체의 상기 식별 정보나 상기 위치 정보를 나타내는 제1 출력을 생성하도록 하고, 상기 제1 출력과 이에 해당하는 GT 이미지를 참조하여 제1 로스를 산출하게 하는 단계; (c) 상기 학습 장치가, 상기 제1 특징 맵을 상기 제2 CNN 모듈에 입력하여, 상기 제2 CNN 모듈로 하여금, 상기 제1 특징 맵과 상기 제2 특징 맵의 크기를 동일하게 변경한 후, 상기 제1 특징 맵과 상기 제2 특징 맵을 통합하여, 제3 특징 맵을 생성하는 단계; (d) 상기 학습 장치가, 상기 제2 CNN 모듈로 하여금, 상기 제3 특징 맵에 적어도 한 번 컨벌루션 연산을 적용하여 제4 특징 맵을 생성하고, 상기 제4 특징 맵을 이용하여 상기 제1 로스의 예측 값에 해당하는 제2 로스를 산출하게 하는 단계; (e) 상기 학습 장치가, 상기 제1 로스와 상기 제2 로스를 참조하여 자동 선별기 로스(Auto-Screener's Loss)를 산출하는 단계; 및 (f) 상기 학습 장치가, 상기 자동 선별기 로스를 이용해 백프로파게이션(Backpropagation)을 수행하여 상기 제2 CNN 모듈의 적어도 하나의 파라미터를 최적화 하는 단계;를 포함하는 것을 특징으로 하는 방법, 학습 장치와 이를 이용한 테스트 방법과 테스트 장치에 관한 것이다.
딥러닝은 사물이나 데이터를 군집화하거나 분류하는 데 사용하는 기술이다. 예를 들어 컴퓨터는 사진만으로 개와 고양이를 구분하지 못한다. 하지만 사람은 아주 쉽게 구분할 수 있다. 이를 위해 '기계학습(Machine Learning)'이라는 방법이 고안됐다. 많은 데이터를 컴퓨터에 입력하고 비슷한 것끼리 분류하도록 하는 기술이다. 저장된 개 사진과 비슷한 사진이 입력되면, 이를 개 사진이라고 컴퓨터가 분류하도록 한 것이다.
데이터를 어떻게 분류할 것인가를 놓고 이미 많은 기계학습 알고리즘이 등장했다. '의사결정나무'나 '베이지안망', '서포트벡터머신(SVM)', '인공신경망' 등이 대표적이다. 이 중 딥러닝은 인공신경망의 후예다.
딥 컨벌루션 뉴럴 네트워크(Deep Convolutional Neural Networks; Deep CNN)는 딥 러닝 분야에서 일어난 놀라운 발전의 핵심이다. CNN은 글자 인식 문제를 풀기 위해 90년대에 이미 사용되었지만, 현재처럼 널리 쓰이게 된 것은 최근의 연구 결과 덕분이다. 이러한 딥 CNN은 2012년 ImageNet 이미지 분류 시합에서 다른 경쟁자들을 이기고 우승을 차지했다. 그리고 나서 컨벌루션 뉴럴 네트워크는 머신러닝(Machine Learning) 분야에서 매우 유용한 툴이 되었다.
도 1은 종래 기술에 따라 딥 CNN을 이용해 사진에서 획득하고자 하는 다양한 출력의 예를 나타낸다.
분류(Classification)는 사진에서 식별하고자 하는 클래스(class)의 종류, 예들 들어, 도 1에 도시된 바와 같이, 획득된 객체가 사람인지, 양인지, 개인지 종류를 식별하는 방법이며, 검출(Detection)은 모든 객체를 찾고, 찾은 객체를 바운딩 박스(Bounding Box)에 둘러싸인 형태로 표시하는 방법이고, 세그멘테이션(segmentation)은 사진에서 특정 객체의 영역을 다른 객체와 구분하는 방법이다. 최근 딥러닝(Deep learning) 기술이 각광을 받으면서 분류, 검출 및 세그멘테이션 기술도 딥러닝을 많이 사용한다.
도 2는 CNN을 이용한 검출 방법을 간략하게 나타낸 도이다.
도 2를 참조하면, 학습 장치는, 입력 이미지를 수신해, 복수의 컨벌루션 필터(또는 컨벌루션 레이어)를 통해 입력 이미지에 컨벌루션 연산을 여러 번 적용하여 적어도 하나의 특징 맵을 생성한다. 그런 다음, 학습 장치는, 특징 맵을 검출 레이어(detection layer)에 통과시켜 적어도 하나의 바운딩 박스를 생성하도록 한 후, 바운딩 박스를 필터링 레이어(filtering layer)에 통과시켜 최종 검출 결과를 생성한다. 그 후, 검출 결과와 이에 대응하는 GT(Ground Truth) 값을 참조해, 획득된 로스 값을 이용하여 백프로파게이션(Backpropagation)을 수행하되, 이에 대응하는 GT 값은 사전에 사람이 주석을 달아놓은 값으로 검출기(학습 장치)에 의한 검출 결과 값이 GT 값에 점점 가까워지도록 학습이 될 것이다.
이때, 학습된 검출기의 성능은 학습용 데이터베이스의 크기에 어느 정도 비례할 수 있다.
한편, 기존의 기술에 따라, 학습용 이미지 데이터베이스를 만들 때에는 도 3에 도시된 바와 같이, 이미지 데이터베이스 내의 트레이닝 이미지 각각에 사람이 일일이 GT 박스를 그리거나, 클래스에 대한 주석을 달아 GT 이미지를 생성한다.
그러나 학습용 이미지 데이터베이스에 포함되는 트레이닝 이미지의 개수가 학습 장치(예를 들어 상기 검출기)의 성능과 정비례하지 않는 문제점이 존재한다. 왜냐하면, 검출기가 정확하게 검출할 확률이 낮은 객체를 적어도 하나 포함하는 트레이닝 이미지가 많을 경우에만 학습 프로세스가 효과적으로 이루어지기 때문이다. 일반적으로 학습 프로세스 중 검출기의 성능이 점점 좋아질수록, 추가적으로 트레이닝 이미지를 이용하여 검출기의 성능을 개선하기 더 어려워진다.
예를 들어, 검출기의 성능이 학습 프로세스를 통해 95%가 되었다면, 학습용 이미지 데이터베이스에 1만 장의 이미지가 있는 경우, 검출기의 성능 개선에 기여하는 유용한 이미지는 겨우 5%로, 1만 장의 이미지 중 500장뿐이다. 이에 학습용 데이터베이스 내의 트레이닝 이미지의 개수를 10배로 늘릴 경우, 9만 장의 이미지에 대해 사람이 일일이 GT 이미지를 수작업으로 생성해야 하기에 데이터베이스 구축 비용이 엄청나게 많이 소요되지만, 검출기의 성능을 향상시키는데 유용한 데이터는 겨우 4,500장 증가할 뿐이다. 또한 유용한 이미지 4,500장을 이용해 학습 프로세스를 통해 검출기의 성능이 98%로 더 올라가면, 검출기의 성능을 올리기 위해 필요한 데이터베이스 구축 비용은 훨씬 더 커진다. 이 경우, 유용한 이미지 4,500장을 추가로 확보하기 위해서는 GT 이미지는 200만장 이상 준비해야 한다.
본 발명은 상술한 문제점을 모두 해결하는 것을 목적으로 한다.
또한 본 발명은, CNN 기반 학습 장치의 취약점을 분석하여, 상기 학습 장치의 성능 향상에 필요한 적합한 학습 데이터를 자동으로 선택할 수 있는 방법을 제공하는 것을 다른 목적으로 한다.
또한 본 발명은, 상기 학습장치의 성능 향상에 사용되는 학습용 데이터베이스 구축 비용을 줄이는 것을 또 다른 목적으로 한다.
본 발명의 일 태양에 따르면, 유용한 학습 데이터를 취사 선별하기 위한 CNN 기반 학습 방법에 있어서, (a) 학습 장치가, 적어도 하나의 입력 이미지가 획득되면, (i) 상기 입력 이미지 내의 특정 객체의 식별 정보나 위치 정보를 획득하기 위한 제1 CNN 모듈로 하여금 상기 입력 이미지에 대하여 적어도 한 번 컨벌루션 연산을 적용하도록 하여 제1 특징 맵을 생성하는 프로세스, 및 (ii) 상기 제1 CNN 모듈의 학습 프로세스에 사용될 유용한 학습 데이터를 자동 선별(Auto-Screening) 할 수 있는 제2 CNN 모듈로 하여금 상기 입력 이미지에 대하여 적어도 한 번 컨벌루션 연산을 적용하도록 하여 제2 특징 맵을 생성하는 프로세스를 수행하는 단계; (b) 상기 학습 장치가, 상기 제1 CNN 모듈로 하여금 상기 제1 특징 맵을 이용하여 상기 특정 객체의 상기 식별 정보나 상기 위치 정보를 나타내는 제1 출력을 생성하도록 하고, 상기 제1 출력과 이에 해당하는 GT 이미지를 참조하여 제1 로스를 산출하게 하는 단계; (c) 상기 학습 장치가, 상기 제1 특징 맵을 상기 제2 CNN 모듈에 입력하여, 상기 제2 CNN 모듈로 하여금, 상기 제1 특징 맵과 상기 제2 특징 맵의 크기를 동일하게 변경한 후, 상기 제1 특징 맵과 상기 제2 특징 맵을 통합하여, 제3 특징 맵을 생성하는 단계; (d) 상기 학습 장치가, 상기 제2 CNN 모듈로 하여금, 상기 제3 특징 맵에 적어도 한 번 컨벌루션 연산을 적용하여 제4 특징 맵을 생성하고, 상기 제4 특징 맵을 이용하여 상기 제1 로스의 예측 값에 해당하는 제2 로스를 산출하게 하는 단계; (e) 상기 학습 장치가, 상기 제1 로스와 상기 제2 로스를 참조하여 자동 선별기 로스(Auto-Screener's Loss)를 산출하는 단계; 및 (f) 상기 학습 장치가, 상기 자동 선별기 로스를 이용해 백프로파게이션(Backpropagation)을 수행하여 상기 제2 CNN 모듈의 적어도 하나의 파라미터를 최적화 하는 단계;를 포함하는 것을 특징으로 한다.
일 실시예에서, 상기 (f) 단계에서, 상기 학습 장치가, 상기 제1 로스를 이용해 백프로파게이션을 수행하여 상기 제1 CNN 모듈의 적어도 하나의 파라미터를 최적화하는 것을 특징으로 한다.
일 실시예에서, 상기 제1 CNN 모듈은 상기 특정 객체의 크기와 위치를 검출하기 위한 객체 검출 시스템(Object Detection System), 상기 특정 객체의 종류를 식별하기 위한 분류 시스템(Classification System) 및 상기 특정 객체의 영역을 다른 영역과 구분하기 위한 세그멘테이션 시스템(Segmentation System) 중 하나에 포함되며, 상기 제2 CNN 모듈은 적어도 하나의 특정 입력 이미지를 자동으로 선별하기 위한 자동 선별 시스템(Auto-Screening System)에 포함되되, 상기 특정 입력 이미지는 상기 제1 CNN 모듈에 입력되는 복수의 입력 이미지 중에 포함되고, 상기 특정 입력 이미지에 대응하며 정확하게 검출될 확률이 낮은 특정 객체 각각을 포함하며, 상기 제1 출력은 상기 객체 검출 시스템의 출력, 상기 분류 시스템의 출력 및 상기 세그멘테이션 시스템의 출력 중 하나를 나타내고, 확률이 소정의 임계치 미만인지 여부에 대한 정보를 참조로 하여 상기 정확하게 검출될 확률이 낮은지 여부가 결정되는 것을 특징으로 한다.
일 실시예에서, 상기 제2 특징 맵의 크기는 상기 제1 특징 맵보다 크고, 상기 (c) 단계에서, 상기 학습 장치는 상기 제2 CNN 모듈로 하여금, 상기 제1 특징 맵의 크기를 상기 제2 특징 맵 크기에 맞도록 키우게 하는 것을 특징으로 한다.
일 실시예에서, 상기 (c) 단계에서, 상기 학습 장치는, 상기 제2 CNN 모듈로 하여금, 상기 제1 특징 맵에 소정 횟수만큼 컨벌루션 연산을 적용하도록 하여, 상기 제1 특징 맵의 크기를 상기 제2 특징 맵의 크기와 같도록 변경하게 하는 것을 특징으로 한다.
일 실시예에서, 상기 (c) 단계에서, 상기 학습 장치는, 상기 제2 CNN 모듈로 하여금, 상기 제1 특징 맵과 상기 제2 특징 맵을 컨캐터네이팅하여, 상기 제3 특징 맵을 생성하도록 하는 것을 특징으로 한다.
일 실시예에서, 상기 (d) 단계에서, 상기 학습 장치는, 상기 제2 CNN 모듈로 하여금, 상기 제4 특징 맵이 풀링 레이어(Pooling Layer) 및 FC 레이어(Fully-Connected Layer) 중 적어도 하나를 통과하게 하여 상기 제2 로스를 산출하는 것을 특징으로 한다.
일 실시예에서, 상기 풀링 레이어는 상기 제4 특징 맵의 높이 및 너비를 1로 만드는 것을 특징으로 한다.
일 실시예에서, 상기 (f) 단계에서, 상기 학습 장치는, 상기 자동 선별기 로스를 최소화하는 방향으로 백프로파게이션을 수행하는 것을 특징으로 한다.
본 발명의 다른 태양에 따르면, CNN을 기반으로 유용한 학습 데이터를 취사 선별하기 위한 방법에 있어서, (a) (I) 학습 장치가, (i) 트레이닝 이미지 내의 특정 객체의 식별 정보나 위치 정보를 획득하기 위한 제1 CNN 모듈로 하여금, 상기 트레이닝 이미지에 대하여 적어도 한 번 컨벌루션 연산을 적용하게 하여 학습용 제1 특징 맵을 생성하고, (ii) 상기 제1 CNN 모듈의 학습 프로세스에 사용될 유용한 학습 데이터를 자동 선별(Auto-Screening)하기 위한 제2 CNN 모듈로 하여금, 상기 트레이닝 이미지에 대하여 적어도 한 번 컨벌루션 연산을 적용하게 하여 학습용 제2 특징 맵을 생성하는 프로세스, (II) 상기 학습 장치가 상기 제1 CNN 모듈로 하여금 상기 학습용 제1 특징 맵을 이용해 상기 특정 객체의 상기 식별 정보나 상기 위치 정보를 나타내는 학습용 제1 출력을 생성하게 한 후, 상기 학습용 제1 출력과 이에 대응하는 GT 이미지를 참조하여 제1 로스를 산출하게 하는 프로세스, (III) 상기 학습 장치가 상기 학습용 제1 특징 맵을 상기 제2 CNN 모듈에 입력하여, 상기 제2 CNN 모듈로 하여금, 상기 학습용 제1 특징 맵과 상기 학습용 제2 특징 맵의 크기를 동일하게 변경한 후, 상기 학습용 제1 특징 맵과 상기 학습용 제2 특징 맵을 통합하여, 학습용 제3 특징 맵을 생성하게 하는 프로세스, (IV) 상기 학습 장치가 상기 제2 CNN 모듈로 하여금, 상기 학습용 제3 특징 맵에 적어도 한 번 컨벌루션 연산을 적용하게 하여 학습용 제4 특징 맵을 생성하고, 상기 학습용 제4 특징 맵을 이용해 상기 제1 로스의 예측 값에 해당하는 제2 로스를 산출하게 하는 프로세스, (V) 상기 학습 장치가 상기 제1 로스와 상기 제2 로스를 참조하여 자동 선별기 로스(Auto-Screener's Loss)를 산출하는 프로세스, 및 (VI) 상기 학습 장치가 상기 자동 선별기 로스를 이용해 백프로파게이션을 수행하여 상기 제2 CNN 모듈의 적어도 하나의 파라미터를 최적화하는 프로세스를 수행한 상태에서, 테스트 장치가, 각각의 이미지 후보를 각각의 테스트 이미지로서 획득하는 단계; (b) 상기 테스트 장치가, (i) 상기 제1 CNN 모듈로 하여금, 상기 테스트 이미지에 대하여 컨벌루션 연산을 적어도 한 번 적용하게 하여 테스트용 제1 특징 맵을 생성하는 프로세스, 및 (ii) 상기 제2 CNN 모듈로 하여금, 상기 테스트 이미지에 대하여 적어도 한 번 컨벌루션 연산을 적용하게 하여 테스트용 제2 특징 맵을 생성하는 프로세스를 수행하는 단계; (c) 상기 테스트 장치가, 상기 테스트용 제1 특징 맵을 상기 제2 CNN 모듈에 입력하여, 상기 제2 CNN 모듈로 하여금, 상기 테스트용 제1 특징 맵과 상기 테스트용 제2 특징 맵의 크기를 동일하게 변경한 후, 상기 테스트용 제1 특징 맵과 상기 테스트용 제2 특징 맵을 통합하여, 테스트용 제3 특징 맵을 생성하게 하는 단계; (d) 상기 테스트 장치가, 상기 제2 CNN 모듈로 하여금, 상기 테스트용 제3 특징 맵에 대하여 적어도 한 번 컨벌루션 연산을 적용하게 하여 테스트용 제4 특징 맵을 생성하고, 상기 테스트용 제4 특징 맵을 이용해 로스 예측 값을 산출하게 하는 단계; 및 (e) 상기 테스트 장치가, 상기 입력 이미지 후보 중에서 상기 로스 예측 값이 소정의 임계치 이상의 값을 갖는 적어도 하나의 이미지를 상기 제1 CNN 모듈의 학습 프로세스에 사용되는 트레이닝 이미지로서 선별하는 단계;를 포함하는 것을 특징으로 한다.
일 실시예에서, 상기 제1 CNN 모듈은 상기 특정 객체의 크기와 위치를 검출하기 위한 객체 검출 시스템, 상기 특정 객체의 종류를 식별하기 위한 분류 시스템 및 상기 특정 객체의 영역을 다른 영역과 구분하기 위한 세그멘테이션 시스템 중 하나에 포함되며, 상기 제2 CNN 모듈은 상기 트레이닝 이미지를 자동으로 선별하기 위한 자동 선별 시스템(Auto-Screening System)에 포함되되, 상기 트레이닝 이미지는 상기 제1 CNN 모듈에 입력되는 복수의 트레이닝 이미지 중에 포함되고, 상기 특정 객체에 대응하며 정확하게 검출될 확률이 낮은 특정 객체 각각을 포함하며, 상기 학습용 제1 출력은 상기 객체 검출 시스템의 출력, 상기 분류 시스템의 출력 및 상기 세그멘테이션 시스템의 출력 중 하나를 나타내고, 확률이 소정의 임계치 미만인지 여부에 대한 정보를 참조로 하여 상기 정확하게 검출될 확률이 낮은지 여부가 결정되는 것을 특징으로 한다.
일 실시예에서, 상기 학습용 제2 특징 맵의 크기는 상기 학습용 제1 특징 맵보다 크고, 상기 (III) 프로세스에서, 상기 학습 장치는 상기 제2 CNN 모듈로 하여금, 상기 학습용 제1 특징 맵의 크기를 상기 학습용 제2 특징 맵 크기에 맞도록 키우게 하며, 상기 테스트용 제2 특징 맵의 크기는 상기 테스트용 제1 특징 맵보다 크고, 상기 (c) 단계에서, 상기 테스트 장치는 상기 제2 CNN 모듈로 하여금, 상기 테스트용 제1 특징 맵의 크기를 상기 테스트용 제2 특징 맵 크기에 맞도록 키우게 하는 것을 특징으로 한다.
일 실시예에서, 상기 (III) 프로세스에서, 상기 학습 장치는, 상기 제2 CNN 모듈로 하여금, 상기 학습용 제1 특징 맵에 소정 횟수만큼 컨벌루션 연산을 적용하도록 하여 상기 학습용 제1 특징 맵의 크기를 상기 학습용 제2 특징 맵의 크기와 같도록 변경하게 하고, 상기 (c) 단계에서, 상기 테스트 장치는, 상기 제2 CNN 모듈로 하여금, 상기 테스트용 제1 특징 맵에 소정 횟수만큼 컨벌루션 연산을 적용하도록 하여 상기 테스트용 제1 특징 맵의 크기를 상기 테스트용 제2 특징 맵의 크기와 같도록 변경하게 하는 것을 특징으로 한다.
일 실시예에서, 상기 (III) 프로세스에서, 상기 학습 장치는, 상기 제2 CNN 모듈로 하여금, 상기 학습용 제1 특징 맵과 상기 학습용 제2 특징 맵을 컨캐터네이팅하도록 하여 상기 학습용 제3 특징 맵을 생성하게 하고, 상기 (c) 단계에서, 상기 테스트 장치는, 상기 제2 CNN 모듈로 하여금, 상기 테스트용 제1 특징 맵과 상기 테스트용 제2 특징 맵을 컨캐터네이팅하도록 하여 상기 테스트용 제3 특징 맵을 생성하게 하는 것을 특징으로 한다.
일 실시예에서, 상기 (IV) 프로세스에서, 상기 학습 장치는, 상기 제2 CNN 모듈로 하여금, 상기 학습용 제4 특징 맵이 풀링 레이어 및 FC 레이어 중 적어도 하나를 통과하게 하여 상기 제2 로스를 산출하고, 상기 (d) 단계에서, 상기 테스트 장치는, 상기 제2 CNN 모듈로 하여금, 상기 테스트용 제4 특징 맵이 풀링 레이어 및 FC 레이어 중 적어도 하나를 통과하게 하여 상기 로스 예측 값을 산출하는 것을 특징으로 한다.
본 발명의 또 다른 태양에 따르면, 유용한 학습 데이터를 취사 선별하기 위한 CNN 기반 학습 장치에 있어서, 적어도 하나의 입력 이미지를 획득하기 위한 통신부; 및 (I) (I-1) 상기 입력 이미지 내의 특정 객체의 식별 정보나 위치 정보를 획득하기 위한 제1 CNN 모듈로 하여금 상기 입력 이미지에 대하여 적어도 한 번 컨벌루션 연산을 적용하도록 하여 제1 특징 맵을 생성하고, (I-2) 상기 제1 CNN 모듈의 학습 프로세스에 사용될 유용한 학습 데이터를 자동 선별(Auto-Screening)하기 위한 제2 CNN 모듈로 하여금 상기 입력 이미지에 대하여 적어도 한 번 컨벌루션 연산을 수행하도록 하여 제2 특징 맵을 생성하는 프로세스, (II) 상기 제1 CNN 모듈로 하여금 상기 제1 특징 맵을 이용해 상기 특정 객체의 상기 식별 정보나 상기 위치 정보를 나타내는 제1 출력을 생성하도록 하고, 상기 제1 출력과 이에 해당하는 GT 이미지를 참조하여 제1 로스를 산출하게 하는 프로세스, (III) 상기 제1 특징 맵을 상기 제2 CNN 모듈에 입력하여, 상기 제2 CNN 모듈로 하여금, 상기 제1 특징 맵과 상기 제2 특징 맵의 크기를 동일하게 변경한 후, 상기 제1 특징 맵과 상기 제2 특징 맵을 통합하여, 제3 특징 맵을 생성하는 프로세스, (IV) 상기 제2 CNN 모듈로 하여금, 상기 제3 특징 맵에 적어도 한 번 컨벌루션 연산을 적용하여 제4 특징 맵을 생성하고, 상기 제4 특징 맵을 이용하여 상기 제1 로스의 예측 값에 해당하는 제2 로스를 산출하게 하는 프로세스, (V) 상기 제1 로스와 상기 제2 로스를 참조하여 자동 선별기 로스(Auto-Screener's Loss)를 산출하는 프로세스, 및 (VI) 상기 자동 선별기 로스를 이용해 백프로파게이션(Backpropagation)을 수행하여 상기 제2 CNN 모듈의 적어도 하나의 파라미터를 최적화 하는 프로세스를 수행하는 프로세서;를 포함하는 것을 특징으로 한다.
일 실시예에서, 상기 (VI) 프로세스에서, 상기 프로세서가, 상기 제1 로스를 이용해 백프로파게이션을 수행하여 상기 제1 CNN 모듈의 적어도 하나의 파라미터를 최적화하는 프로세스를 수행하는 것을 특징으로 한다.
일 실시예에서, 상기 제1 CNN 모듈은 상기 특정 객체의 크기와 위치를 검출하기 위한 객체 검출 시스템(Object Detection System), 상기 특정 객체의 종류를 식별하기 위한 분류 시스템(Classification System) 및 상기 특정 객체의 영역을 다른 영역과 구분하기 위한 세그멘테이션 시스템(Segmentation System) 중 하나에 포함되며, 상기 제2 CNN 모듈은 적어도 하나의 특정 입력 이미지를 자동으로 선별하기 위한 자동 선별 시스템(Auto-Screening System)에 포함되되, 상기 특정 입력 이미지는 상기 제1 CNN 모듈에 입력되는 복수의 입력 이미지 중에 포함되고, 상기 특정 입력 이미지에 대응하며 정확하게 검출될 확률이 낮은 특정 객체 각각을 포함하며, 상기 제1 출력은 상기 객체 검출 시스템의 출력, 상기 분류 시스템의 출력 및 상기 세그멘테이션 시스템의 출력 중 하나를 나타내고, 확률이 소정의 임계치 미만인지 여부에 대한 정보를 참조로 하여 상기 정확하게 검출될 확률이 낮은지 여부가 결정되는 것을 특징으로 한다.
일 실시예에서, 상기 제2 특징 맵의 크기는 상기 제1 특징 맵보다 크고, 상기 (III) 프로세스에서, 상기 프로세서는 상기 제2 CNN 모듈로 하여금, 상기 제1 특징 맵의 크기를 상기 제2 특징 맵 크기에 맞도록 키우게 하는 것을 특징으로 한다.
일 실시예에서, 상기 (III) 프로세스에서, 상기 프로세서는, 상기 제2 CNN 모듈로 하여금, 상기 제1 특징 맵에 소정 횟수만큼 컨벌루션 연산을 적용하도록 하여, 상기 제1 특징 맵의 크기를 상기 제2 특징 맵의 크기와 같도록 변경하게 하는 것을 특징으로 한다.
일 실시예에서, 상기 (III) 프로세스에서, 상기 프로세서는, 상기 제2 CNN 모듈로 하여금, 상기 제1 특징 맵과 상기 제2 특징 맵을 컨캐터네이팅하여, 상기 제3 특징 맵을 생성하도록 하는 것을 특징으로 한다.
일 실시예에서, 상기 (IV) 프로세스에서, 상기 프로세서는, 상기 제2 CNN 모듈로 하여금, 상기 제4 특징 맵이 풀링 레이어(Pooling Layer) 및 FC 레이어(Fully-Connected Layer)를 적어도 하나를 통과하게 하여 상기 제2 로스를 산출하는 것을 특징으로 한다.
일 실시예에서, 상기 풀링 레이어는 상기 제4 특징 맵의 높이 및 너비를 1로 만드는 것을 특징으로 한다.
일 실시예에서, 상기 (VI) 프로세스에서, 상기 프로세서는, 상기 자동 선별기 로스를 최소화하는 방향으로 백프로파게이션을 수행하는 것을 특징으로 한다.
본 발명의 또 다른 태양에 따르면, CNN을 기반으로 유용한 학습 데이터를 취사 선별하기 위한 테스트 장치에 있어서, (i) 학습 장치가, (i-1) 트레이닝 이미지 내의 특정 객체의 식별 정보나 위치 정보를 획득하기 위한 제1 CNN 모듈로 하여금, 상기 트레이닝 이미지에 대하여 적어도 한 번 컨벌루션 연산을 적용하도록 하여 학습용 제1 특징 맵을 생성하고, (i-2) 상기 제1 CNN 모듈의 학습 프로세스에 사용될 유용한 학습 데이터를 자동 선별(Auto-Screening)하기 위한 제2 CNN 모듈로 하여금, 상기 트레이닝 이미지에 대하여 적어도 한 번 컨벌루션 연산을 적용하도록 하여 학습용 제2 특징 맵을 생성하는 프로세스, 및 (ii) 상기 학습 장치가 상기 제1 CNN 모듈로 하여금 상기 학습용 제1 특징 맵을 이용해 상기 특정 객체의 상기 식별 정보나 상기 위치 정보를 나타내는 학습용 제1 출력을 생성하게 한 후, 상기 학습용 제1 출력과 이에 대응하는 GT 이미지를 참조하여 제1 로스를 산출하게 하는 프로세스, (iii) 상기 학습 장치가 상기 학습용 제1 특징 맵을 상기 제2 CNN 모듈에 입력하여, 상기 제2 CNN 모듈로 하여금, 상기 학습용 제1 특징 맵과 상기 학습용 제2 특징 맵의 크기를 동일하게 변경한 후, 상기 학습용 제1 특징 맵과 상기 학습용 제2 특징 맵을 통합하여, 학습용 제3 특징 맵을 생성하게 하는 프로세스, (iv) 상기 학습 장치가 상기 제2 CNN 모듈로 하여금, 상기 학습용 제3 특징 맵에 적어도 한 번 컨벌루션 연산을 적용하도록 하여 학습용 제4 특징 맵을 생성하고, 상기 학습용 제4 특징 맵을 이용해 상기 제1 로스의 예측 값에 해당하는 제2 로스를 산출하게 하는 프로세스, (v) 상기 학습 장치가 상기 제1 로스와 상기 제2 로스를 참조하여 자동 선별기 로스(Auto-Screener's Loss)를 산출하는 프로세스, 및 (vi) 상기 학습 장치가 상기 자동 선별기 로스를 이용해 백프로파게이션을 수행하여 상기 제2 CNN 모듈의 적어도 하나의 파라미터를 최적화 하는 프로세스를 수행한 상태에서, 각각의 이미지 후보를 각각의 테스트 이미지로서 획득하기 위한 통신부; 및 (I) (I-1) 제1 CNN 모듈로 하여금, 상기 테스트 이미지에 대하여 적어도 한 번 컨벌루션 연산을 적용하게 하여 테스트용 제1 특징 맵을 생성하고 (I-2) 상기 제2 CNN 모듈로 하여금, 상기 테스트 이미지에 대하여 적어도 한 번 컨벌루션 연산을 적용하게 하여 테스트용 제2 특징 맵을 생성하는 프로세스; (II) 상기 테스트용 제1 특징 맵을 상기 제2 CNN 모듈에 입력하여, 상기 제2 CNN 모듈로 하여금, 상기 테스트용 제1 특징 맵과 상기 테스트용 제2 특징 맵의 크기를 동일하게 변경한 후, 상기 테스트용 제1 특징 맵과 상기 테스트용 제2 특징 맵을 통합하여, 테스트용 제3 특징 맵을 생성하게 하는 프로세스; (III) 상기 제2 CNN 모듈로 하여금, 상기 테스트용 제3 특징 맵에 적어도 한 번 컨벌루션 연산을 적용하도록 하여 테스트용 제4 특징 맵을 생성하고, 상기 테스트용 제4 특징 맵을 이용해 로스 예측 값을 산출하게 하는 프로세스; 및 (IV) 상기 이미지 후보 중에서 상기 로스 예측 값이 소정의 임계치 이상의 값을 갖는 적어도 하나의 이미지를 상기 제1 CNN 모듈의 학습 프로세스에 사용되는 트레이닝 이미지로 선별하는 프로세스;를 수행하는 프로세서;를 포함하는 것을 특징으로 한다.
일 실시예에서, 상기 제1 CNN 모듈은 상기 특정 객체의 크기와 위치를 검출하기 위한 객체 검출 시스템, 상기 특정 객체의 종류를 식별하기 위한 분류 시스템 및 상기 특정 객체의 영역을 다른 영역과 구분하기 위한 세그멘테이션 시스템 중 하나에 포함되며, 상기 제2 CNN 모듈은 상기 트레이닝 이미지를 자동으로 선별하기 위한 자동 선별 시스템(Auto-Screening System)에 포함되되, 상기 트레이닝 이미지는 상기 제1 CNN 모듈에 입력되는 복수의 트레이닝 이미지 중에 포함되고, 상기 특정 객체에 대응하며 정확하게 검출될 확률이 낮은 특정 객체 각각을 포함하며, 상기 학습용 제1 출력은 상기 객체 검출 시스템의 출력, 상기 분류 시스템의 출력 및 상기 세그멘테이션 시스템의 출력 중 하나를 나타내고, 확률이 소정의 임계치 미만인지 여부에 대한 정보를 참조로 하여 상기 정확하게 검출될 확률이 낮은지 여부가 결정되는 것을 특징으로 한다.
일 실시예에서, 상기 학습용 제2 특징 맵의 크기는 상기 학습용 제1 특징 맵보다 크고, 상기 (iii) 프로세스에서, 상기 학습 장치는 상기 제2 CNN 모듈로 하여금, 상기 학습용 제1 특징 맵의 크기를 상기 학습용 제2 특징 맵 크기에 맞도록 키우게 하며, 상기 테스트용 제2 특징 맵의 크기는 상기 테스트용 제1 특징 맵보다 크고, 상기 (II) 프로세스에서, 상기 프로세서는 상기 제2 CNN 모듈로 하여금, 상기 테스트용 제1 특징 맵의 크기를 상기 테스트용 제2 특징 맵 크기에 맞도록 키우게 하는 것을 특징으로 한다.
일 실시예에서, 상기 (iii) 프로세스에서, 상기 학습 장치는, 상기 제2 CNN 모듈로 하여금, 상기 학습용 제1 특징 맵에 소정 횟수만큼 컨벌루션 연산을 적용하도록 하여 상기 학습용 제1 특징 맵의 크기를 상기 학습용 제2 특징 맵의 크기와 같도록 변경하게 하고, 상기 (II) 단계에서, 상기 프로세서는, 상기 제2 CNN 모듈로 하여금, 상기 테스트용 제1 특징 맵에 소정 횟수만큼 컨벌루션 연산을 적용하도록 하여 상기 테스트용 제1 특징 맵의 크기를 상기 테스트용 제2 특징 맵의 크기와 같도록 변경하게 하는 것을 특징으로 한다.
일 실시예에서, 상기 (iii) 프로세스에서, 상기 학습 장치는, 상기 제2 CNN 모듈로 하여금, 상기 학습용 제1 특징 맵과 상기 학습용 제2 특징 맵을 컨캐터네이팅하도록 하여 상기 학습용 제3 특징 맵을 생성하게 하고, 상기 (II) 프로세스에서, 상기 프로세서는, 상기 제2 CNN 모듈로 하여금, 상기 테스트용 제1 특징 맵과 상기 테스트용 제2 특징 맵을 컨캐터네이팅하도록 하여 상기 테스트용 제3 특징 맵을 생성하게 하는 것을 특징으로 한다.
일 실시예에서, 상기 (iv) 프로세스에서, 상기 학습 장치는, 상기 제2 CNN 모듈로 하여금, 상기 학습용 제4 특징 맵이 풀링 레이어 및 FC 레이어 중 적어도 하나를 통과하게 하여 상기 제2 로스를 산출하고, 상기 (c) 프로세스에서, 상기 프로세서는, 상기 제2 CNN 모듈로 하여금, 상기 테스트용 제4 특징 맵이 풀링 레이어 및 FC 레이어 중 적어도 하나를 통과하게 하여 상기 로스 예측 값을 산출하는 것을 특징으로 한다.
본 발명은 학습 장치의 취약점을 미리 예측하여, 상기 취약점을 보완할 수 있는 유용한 트레이닝 이미지를 선별할 수 있는 효과가 있다.
또한 본 발명은 적은 비용으로 효과적이고 유용한 학습용 이미지 데이터베이스를 구축할 수 있는 다른 효과가 있다.
또한 본 발명은 실제 유용한 학습용 이미지 데이터를 선별하여 상기 학습 장치의 성능을 쉽게 향상시킬 수 있는 또 다른 효과가 있다.
또한 본 발명은 이미 주석이 달린 데이터베이스가 이용될 때 자동 선별 시스템(auto-screening system)이 검출기의 성능 향상에 도움이 되지 않는 95%의 데이터를 배제할 수 있기 때문에, 학습 시간과 학습 비용(전기 요금 등)을 크게 절감할 수 있는 또 다른 효과가 있다.
본 발명의 실시예의 설명에 이용되기 위하여 첨부된 아래 도면들은 본 발명의 실시예들 중 단지 일부일 뿐이며, 본 발명이 속한 기술분야에서 통상의 지식을 가진 자(이하 "통상의 기술자")에게 있어서는 발명적 작업이 이루어짐 없이 이 도면들에 기초하여 다른 도면들이 얻어질 수 있다.
도 1은 기존 기술에 따른 CNN을 통해 이미지에서 획득된 다양한 출력의 예를 나타낸다.
도 2는 기존 기술에 따른 상기 CNN을 이용한 검출 방법을 간략하게 나타낸다.
도 3은 기존 기술에 따른 학습용 이미지 데이터베이스를 구축하는 방법을 간략하게 나타낸다.
도 4는 본 발명에 따른 학습 데이터로 사용될 유용한 이미지를 선별하기 위한 자동 선별 시스템(Auto-Screening System)을 학습하는 방법을 나타낸다.
도 5는 본 발명에 따른 상기 자동 선별 시스템에 의해 수행되는 구체적인 연산 과정을 나타낸다.
도 6은 본 발명에 따른 상기 자동 선별 시스템을 통해 학습용 이미지 데이터베이스를 구축하는 방법을 나타낸다.
후술하는 본 발명에 대한 상세한 설명은, 본 발명이 실시될 수 있는 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시예는 당업자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다. 또한, 본 발명의 상세한 설명 및 청구항들에 걸쳐, "포함하다"라는 단어 및 그것의 변형은 다른 기술적 특징들, 부가물들, 구성요소들 또는 단계들을 제외하는 것으로 의도된 것이 아니다. 통상의 기술자에게 본 발명의 다른 목적들, 장점들 및 특성들이 일부는 본 설명서로부터, 그리고 일부는 본 발명의 실시로부터 드러날 것이다. 아래의 예시 및 도면은 실례로서 제공되며, 본 발명을 한정하는 것으로 의도된 것이 아니다. 본 발명의 다양한 실시예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시예에 관련하여 본 발명의 정신 및 범위를 벗어나지 않으면서 다른 실시예로 구현될 수 있다. 또한, 각각의 개시된 실시예 내의 개별 구성요소의 위치 또는 배치는 본 발명의 정신 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 본 발명의 범위는, 적절하게 설명된다면, 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정된다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다. 본 발명에서 언급하는 각종 이미지는 포장 또는 비포장 도로 관련 이미지를 포함할 수 있으며, 이 경우 도로 환경에서 등장할 수 있는 물체(가령, 자동차, 사람, 동물, 식물, 물건, 건물, 비행기나 드론과 같은 비행체, 기타 장애물)를 상정할 수 있을 것이나, 반드시 이에 한정되는 것은 아니며, 본 발명에서 언급하는 각종 이미지는 도로와 상관 없는 이미지(가령, 비포장도로, 골목길, 공터, 바다, 호수, 강, 산, 숲, 사막, 하늘, 실내와 관련된 이미지)일 수도 있으며, 이 경우, 비포장도로, 골목길, 공터, 바다, 호수, 강, 산, 숲, 사막, 하늘, 실내 환경에서 등장할 수 있는 물체(가령, 자동차, 사람, 동물, 식물, 물건, 건물, 비행기나 드론과 같은 비행체, 기타 장애물)를 상정할 수 있을 것이나, 반드시 이에 한정되는 것은 아니다.
이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있도록 하기 위하여, 본 발명의 바람직한 실시예들에 관하여 첨부된 도면을 참조하여 상세히 설명하기로 한다.
도 4는 본 발명에 따른 유용한 학습용 이미지를 선별하기 위한 자동 선별 시스템 (Auto-Screening System)을 학습하는 방법을 나타낸 도이며, 도 5는 본 발명에 따른 상기 자동 선별 시스템에 의해 수행되는 특정 연산 과정을 나타낸 도이다.
도 4 및 도 5를 참조해, 본 발명에 따른 유용한 학습 데이터를 취사 선별하기 위한 CNN 기반 학습 방법을 설명하면 다음과 같다.
상기 학습 장치(400)는 입력 이미지 내의 특정 객체의 식별 정보나 위치 정보를 획득하기 위한 제1 CNN 모듈(410) 및 상기 제1 CNN 모듈(410)의 학습 프로세스에 사용될 유용한 학습 데이터를 자동 선별(Auto-Screening)하기 위한 제2 CNN 모듈(420)을 포함한다. 여기서, 상기 제1 CNN 모듈(410)은 실제 이미지에서 객체를 검출하는 능력을 향상시키기 위한 실제 학습 대상이 되는 모듈이며, 상기 제2 CNN 모듈(420)은 상기 제1 CNN 모듈(410)을 학습하는데 사용되는 유용한 트레이닝 이미지를 자동으로 선별한다. 상기 제2 CNN 모듈(420)은 자동 선별 시스템(auto-screening system)으로 불릴 수 있다.
본 발명의 일 실시예에서, 상기 제1 CNN 모듈(410)은 특정 객체의 크기와 위치를 검출하기 위한 객체 검출 시스템(Object Detection System), 상기 특정 객체의 종류를 식별하기 위한 분류 시스템(Classification System) 및 상기 특정 객체의 영역을 다른 영역과 구분하기 위한 세그멘테이션 시스템(Segmentation System) 중 하나에 포함된다. 도 4 및 도 5에서는 상기 객체 검출 시스템인 것으로 예를 들었다. 상기 제2 CNN 모듈(420)은 정확하게 검출될 확률이 낮은 적어도 하나의 객체를 포함하는 입력 이미지를 자동으로 선별하기 위한 상기 자동 검출 시스템이다. 확률이 소정의 임계치 미만인지 여부에 대한 정보를 참조로 하여 입력 이미지의 정확하게 검출될 확률이 낮은지 여부가 결정된다.
즉, 본 발명에서는 상기 제1 CNN 모듈(410)의 상기 학습 프로세스를 수행하기 전에 먼저 상기 제2 CNN 모듈(420)의 상기 학습 프로세스를 통해 모든 트레이닝 이미지 후보 중 상기 제1 CNN 모듈(410)의 상기 학습 프로세스에 사용되는 유용한 이미지를 선별할 수 있도록 상기 제2 CNN 모듈(420)의 적어도 하나의 파라미터를 최적화한다. 그런 다음 상기 제2 CNN 모듈(420)의 상기 파라미터가 최적화 되면, 도6의 테스트 장치(600)는 상기 최적화된 제2 CNN 모듈(420)과 상기 제1 CNN 모듈(410)을 이용해 상기 제1 CNN 모듈(410)의 상기 학습 프로세스에 사용되는 유용한 데이터를 선택한다. 이때, 상기 트레이닝 이미지 후보에는 이에 해당하는 GT이미지가 없다. 상기 트레이닝 이미지 후보 중 상기 유용한 이미지를 선택한 후, 상기 제1 CNN 모듈(410)의 상기 학습 프로세스에 사용되는 상기 유용한 이미지에 대해서만 GT이미지가 생성된다. 즉, 상기 유용한 이미지에 대해서만 적어도 한 명의 사람이 직접 상기 GT 이미지를 생성하여, 학습용 이미지 데이터베이스를 구축한다. 그러면 상기 학습용 이미지 데이터베이스 내에 저장된 상기 유용한 이미지를 이용해 상기 제1 CNN 모듈(410), 즉 CNN 검출기의 상기 학습 프로세스가 수행된다.
상기 학습 장치(400)의 상기 학습 프로세스가 수행되는 동안 상기 제2 CNN 모듈(420)만의 상기 학습 프로세스를 수행할 수 있거나, 상기 제2 CNN 모듈(420)과 상기 제1 CNN 모듈(410)의 상기 학습 프로세스를 동시에 진행할 수도 있다. 상기 제2 CNN 모듈(420)의 상기 학습 프로세스가 완료된 후에, (i) 상기 제1 CNN 모듈의 상기 학습 프로세스에 사용되는 유용한 이미지가 선별되고, (ii) 상기 선별된 유용한 이미지로 상기 이미지 데이터베이스가 구축되고, (iii) 상기 구축된 이미지 데이터베이스를 이용하여 상기 제1 CNN 모듈의 상기 학습 프로세스가 수행된다.
상기 제2 CNN 모듈(420)은 현재 상기 학습 프로세스를 수행하는 상기 제1 CNN 모듈의 취약점을 예측하는 기능을 한다. 즉, 상기 제2 CNN 모듈(420)은 상기 GT 이미지 생성 작업을 하지 않은 상기 트레이닝 이미지 후보 중에서 상기 제1 CNN 모듈(410)의 상기 취약점을 보완하는데 적합한 사진을 예측하는 기능을 한다. 가령 상기 검출기(상기 제1 CNN 모듈(410))의 성능이 95%이고, 상기 GT 이미지 생성 작업이 되지 않은 사진이 9만장 있다면, 상기 제2 CNN 모듈(420)의 성능(상기 제2 CNN 모듈(420)이 상기 트레이닝 이미지 후보 각각이 유용한 이미지인지 제대로 판단할 확률)이 50% 정도만 되더라도, 9,000 장에 대하여 주석 작업(GT 이미지 생성 작업)을 하여 상기 학습용 이미지 데이터베이스가 구축된다면, 상기 9,000장의 사진 중 4,500장은 상기 제1 CNN 모듈(410)의 상기 학습 프로세스에 사용되는 상기 유용한 이미지가 된다. 즉, 이 경우, 종래 방법으로 상기 유용한 사진 4,500장을 포함하는 상기 이미지 데이터베이스를 구축하기 위해서는 적어도 한 명의 사람이 9만장의 사진에 상기 주석 작업을 해야 했지만, 본 발명에 따른 상기 제2 CNN 모듈(420)을 이용하면 상기 9,000장만 상기 주석 작업을 해도 상기 4,500개의 유용한 사진을 포함해 상기 이미지 데이터베이스를 구축할 수 있게 된다. 즉, GT 이미지 생성 비용(상기 이미지 데이터베이스 구축 비용)이 1/10로 감소하게 된다. 또한, 이미 주석이 달린 데이터베이스가 제공되는 경우에도 상기 자동 선별 시스템을 이용할 수 있다. 이 경우, 상기 자동 선별 시스템이 상기 검출기의 성능 향상에 도움이 되지 않는 전체 95%의 데이터(상기 모든 트레이닝 이미지 후보의 95%)를 학습에서 배제할 수 있기 때문에 상기 학습 시간과 상기 학습 비용(전기 요금 등)을 크게 절감할 수 있다.
다음으로, 도 4를 참조하여 상기 학습 프로세스에 대해 설명하면, 우선 상기 자동 선별 시스템(auto-screening system; 상기 제2 CNN 모듈(420))을 학습하기 위해서는 적어도 하나의 유용한 이미지에 대하여 GT 이미지가 존재하는 상기 이미지 데이터베이스에서 상기 이미지를 임의로 선택하여 상기 학습 장치(400)에 넣는다. 상세하게는, 입력 이미지(상기 유용한 트레이닝 이미지 중 하나)는 상기 제1 CNN 모듈(410) 및 상기 제2 CNN 모듈(420)로 각각 입력된다. 상기 제1 CNN 모듈(410)이 도 4에 도시된 예와 같이 상기 검출기라면, 상기 제1 CNN 모듈(410)은 상기 입력 이미지에 적어도 한 번 소정의 컨벌루션 연산을 적용하여 제1 특징 맵을 생성한다. 상기 특징 맵은 이미지 검출을 위해 상기 제1 CNN 모듈(410)에서 적어도 한 번의 컨벌루션 연산 또는 적어도 한 번의 ReLU 등의 비선형 연산 등의 과정을 통해 생성된다. 예를 들어, 도 5의 예에서, 상기 학습 장치(400)로 입력된 상기 입력 이미지가 3×h×w (여기서 3은 상기 이미지의 채널 수, h는 상기 이미지의 높이, w는 상기 이미지의 너비를 의미)의 크기를 갖는다면, 상기 제1 특징 맵은 c×(h/16)×(w/16)의 상기 크기로 높이 및 상기 너비가 1/16로 줄어들고 채널 수는 c채널로 늘어날 수 있다.
또한, 상기 제1 CNN 모듈(410)은 상기 제1 특징 맵을 바탕으로 디컨벌루션 연산 또는 FC 연산을 통해 특정 객체의 식별 정보나 위치 정보를 나타내는 제1 출력 값을 산출한다. 이때, 상기 제1 출력 값은 객체 검출 값, 분류 값 및 세그멘테이션 값 중 어느 한 값이 될 수 있으나, 본 발명에서는 상기 객체 검출 값인 것으로 예를 들었다.
그리고, 상기 제1 CNN 모듈(410)은 상기 제1 출력 값과 이에 대응하는 GT 값을 참조하여, 제1 로스(실제 로스 (etrue))를 산출한다. 예를 들어, 상기 제1 로스는 상기 제1 CNN 모듈(410)가 검출한 특정 객체의 상기 결과(상기 제1 출력 값)과 상기 GT 값을 참조로 하여 산출된다.
한편, 상기 제2 CNN 모듈(420)은 상기 제1 CNN 모듈(410)에 입력되는 상기 입력 이미지에 대하여 적어도 한 번 소정의 컨벌루션 연산을 적용하여 제2 특징 맵을 생성한다. 상기 제2 CNN 모듈(420)으로 입력되는 상기 입력 이미지는 상기 제1 CNN 모듈(410)에 입력되는 상기 입력 이미지와 동일한 이미지이다. 상기 제2 CNN 모듈(420)이 수행하는 상기 컨벌루션 연산 과정은 상기 제1 CNN 모듈(410)이 수행하는 상기 컨벌루션 연산 과정과 유사할 수도 있지만, 컨벌루션 레이어 각각이나 기타 다른 연산 레이어의 파라미터는 서로 상이할 수 있다. 도 5의 예에서, 상기 학습 장치(400)로 입력된 상기 입력 이미지가 3×h×w 의 크기를 갖는다면, 상기 제2 특징 맵은 c1×(h/8)×(w/8)의 크기가 되어 상기 높이 및 상기 너비는 1/8로 줄어들고 채널은 c1채널로 늘어날 수 있다.
그런 다음, 상기 제2 CNN 모듈(420)은 상기 제1 CNN 모듈(410)에서 생성된 상기 제1 특징 맵과 상기 제2 CNN 모듈(420)에서 생성된 상기 제2 특징 맵을 통합한다. 도 5의 예에서, 상기 제1 특징 맵의 크기가 c×(h/16)×(w/16)이고, 상기 제2 특징 맵의 크기가 c1×(h/8)×(w/8) 이므로, 상기 제1 특징 맵의 크기를 상기 제2 특징 맵의 크기와 동일하게 변경한 후, 상기 크기 변경된 제1 특징 맵은 상기 제2 특징 맵과 같은 크기로 변환된 후, 상기 크기 변경된 제1 특징 맵은 상기 제2 특징 맵과 통합되어 제3 특징 맵을 생성한다. 이 경우, 상기 제2 특징 맵의 크기가 상기 제1 특징 맵의 크기보다 크기 때문에, 상기 학습 장치(400)는 상기 제2 CNN 모듈(420)로 하여금 상기 제1 특징 맵의 크기((h/16)×(w/16))를 상기 제2 특징 맵의 크기((h/8)×(w/8))로 키우도록 한다. 이때, 상기 학습 장치(400)는 상기 제2 CNN 모듈(420)로 하여금 상기 제1 특징 맵에 소정 횟수의 컨벌루션 연산(또는 디컨벌루션 연산)을 적용하도록 하여 상기 제1 특징 맵의 크기를 변경한다. 도 5 의 예에서, 상기 제2 CNN 모듈(420)에 입력된 c×(h/16)×(w/16) 크기를 갖는 상기 제1 특징 맵이 소정의 컨벌루션 연산을 통해 c2×(h/8)×(w/8)으로 변경된 모습을 도시하였다. 그리고, 상기 제2 CNN 모듈(420)은 상기 크기 변경된 제1 특징 맵과 상기 제2 특징 맵에 대해 컨캐터네이팅을 수행하여 상기 제3 특징 맵을 생성한다. 상기 제3 특징 맵의 채널 개수는 (c1+c2)가 되고 상기 높이는 h/8, 상기 너비는 w/8가 된다.
그런 다음, 상기 제2 CNN 모듈(420)은 상기 제3 특징 맵에 적어도 한 번 소정의 컨벌루션 연산을 적용하여 제4 특징 맵을 생성하고, 상기 제4 특징 맵에 적어도 한 번 연산을 적용하여 상기 제1 로스의 예측 값에 대응되는 제2 로스(검출기의 로스 예측 값(epred))를 생성한다. 예를 들어, 도 5에 도시된 바와 같이, (c1+c2)×(h/8)×(w/8)의 크기를 갖는 상기 제3 특징 맵에 대하여 상기 컨벌루션 연산을 적용해 c3×(h/8)×(w/8)의 크기를 갖는 상기 제4 특징 맵이 생성되고, 여기에 에버리지 풀링 연산(Average Pooling Operation)을 거쳐 c3×1×1 의 크기를 갖는 특정 특징 맵이 생성된 후, 상기 특정 특징 맵이 상기 FC(Fully Connected) 네트워크를 2번 거치게 하여 상기 제2 로스(검출기의 상기 로스 예측 값(epred))가 생성된다.
그리고 나서 도 4를 참조하면, 상기 학습 장치(400)는 상기 제1 로스(상기 실제 로스(etrue))와 상기 제2 로스(검출기의 상기 로스 예측 값(epred))를 비교하여 자동 선별기 로스(Auto-Screener's Loss)를 산출한다. 상기 자동 선별기 로스(Auto-Screener's Loss)는 (etrue- epred)2 으로 구할 수 있다.
상기 학습 장치(400)는 상기 계산된 자동 선별기 로스(Auto-Screener's Loss)를 이용해 백프로파게이션을 수행하여 상기 제2 CNN 모듈(420)의 상기 파라미터를 최적화하게 된다. 이때, 상기 학습 장치(400)는 상기 제1 CNN 모듈(410)에서 산출한 상기 제1 로스를 이용해 백프로파게이션을 수행하여 상기 제1 CNN 모듈(410)의 상기 파라미터를 최적화할 수 있다.
상술한 바와 같이, 상기 자동 선별기 로스(Auto-Screener's Loss)는 (i) 상기 입력 이미지와 상기 GT 값 내의 상기 특정 객체를 검출한 결과를 참조해 산출된 상기 제1 로스와 (ii) 상기 제1 로스에 대응되는 상기 제2 로스 사이의 상기 차이를 참조해 산출되기 때문에, 상기 학습 장치(400)가 상기 자동 선별기 로스를 최소화하는 방향으로 상기 백프로파게이션을 수행하면, 상기 제2 로스가 상기 제1 로스와 유사한 값을 출력하도록 제2 CNN 모듈(420)이 학습된다. 그러면, 상기 제2 CNN 모듈(420)에서 출력된 상기 제2 로스는 상기 제1 로스를 정확히 예측한다고 볼 수 있다. 즉, 특정 이미지가 상기 제2 CNN 모듈에 입력되었을 때 이에 대응하는 제2 로스가 크다면, 상기 특정 이미지가 상기 제1 CNN 모듈(410)에 입력되었을 때, 상기 제1 CNN 모듈(410)이 제대로 상기 특정 이미지 내의 객체를 검출하지 못하고 이에 따라 상기 제1 로스가 크게 나올 것이다. 한편, 다른 특정 이미지가 상기 제2 CNN 모듈(420)에 입력되었을 때 이에 대응하는 제2 로스가 작다면, 상기 다른 특정 이미지가 상기 제1 CNN 모듈(410)에 입력되었을 때, 상기 제1 CNN 모듈(410)이 상기 다른 특정 이미지 내의 객체를 정확하게 검출하였을 가능성이 높고 이에 따라 상기 제1 로스가 작게 나올 것이다. 여기서, 상기 제2 CNN 모듈(420)이 상기 트레이닝 이미지 후보 중 제2 로스가 큰 특정 이미지를 선별한다면, 상기 특정 이미지 내의 객체는 상기 특정 이미지가 상기 제1 CNN 모듈(410)에 입력될 때 정확하게 검출될 가능성이 낮고, 상기 특정 이미지는 상기 제1 CNN 모듈(410)의 상기 학습 프로세스에 제공되는 유용한 이미지로 선별될 수 있게 된다.
즉, 상기 검출기(상기 제1 CNN 모듈(410))은 상기 검출기 그 자체가 출력한 상기 검출 결과와 이에 대응해 사람이 만든 GT 이미지를 비교해 학습 프로세스를 수행하고, 상기 자동 선별 시스템(Auto-Screening System)은 상기 자동 선별 시스템 그 자체가 예측한 상기 데이터가 상기 검출기의 상기 학습 프로세스에 실제로 얼마나 도움이 되었는지에 대한 정보를 이용해 학습한다. 이에 따라 상기 검출기의 상기 검출 결과가 이에 대응하는 GT 이미지와 많이 다를수록 상기 자동 선별 시스템은 잘 예측한 것이다. 즉, 본 발명은 상기 검출기와 상기 자동 선별 시스템이 서로 경쟁하며 상기 학습 프로세스를 수행하는 대립적인 학습 방식(Adversarial Training)을 이용한다.
도 6은 본 발명에 따른 상기 자동 선별 시스템을 통해 학습용 이미지 데이터베이스를 구축하는 방법을 나타낸다.
도 6을 참조하면, 도 4 및 도 5의 상기 학습 프로세스를 통해 상기 제2 CNN 모듈의 상기 학습 프로세스가 완료된 상태에서, 상기 제1 CNN 모듈(410)과 상기 제2 CNN 모듈(420)의 파라미터를 이용하는 테스트 장치(600)가 라벨링 안 된 이미지(테스트용 이미지)를 상기 제1 CNN 모듈(410) 및 상기 제2 CNN 모듈(420)로 입력하면, 상기 학습 장치(400)가 상기 제1 CNN 모듈(410)로 하여금 상기 테스트 이미지에 대하여 적어도 한 번 소정의 컨벌루션 연산을 적용하게 하여 테스트용 제1 특징 맵을 획득하도록 하고, 상기 제2 CNN 모듈(420)로 하여금 상기 테스트 이미지에 대하여 적어도 한 번 소정의 컨벌루션 연산을 적용하게 하여 테스트용 제2 특징 맵을 획득하도록 한다. 그리고 상기 테스트 장치(600)는, 상기 테스트용 제1 특징 맵을 상기 제2 CNN 모듈에 또 다른 입력으로서 전달하여, 상기 제2 CNN 모듈로 하여금, 상기 테스트용 제1 특징 맵과 상기 테스트용 제2 특징 맵의 크기를 동일하게 변경하도록 한 후, 상기 테스트용 제1 특징 맵과 상기 테스트용 제2 특징 맵을 통합하여, 테스트용 제3 특징 맵을 생성한다. 그리고 나서, 상기 테스트 장치(600)는, 상기 제2 CNN 모듈로 하여금, 상기 테스트용 제3 특징 맵에 적어도 한 번 소정의 컨벌루션 연산을 적용하도록 하여 테스트용 제4 특징 맵을 생성하고, 상기 테스트용 제4 특징 맵에 적어도 한 번 소정의 연산을 적용하여 로스 예측 값을 산출한다.
이렇게 많은 테스트용 이미지를 입력 받아 이에 대응하는 로스 예측 값(Predicted loss)이 산출되면, 상기 테스트 장치(600)는, 상기 테스트용 이미지 중에서 상기 로스 예측 값이 소정의 임계치 이상의 값을 갖는 일부 이미지를 상기 유용한 이미지(상기 제1 CNN 모듈의 학습 프로세스를 위한 트레이닝 이미지)로 선별한다. 즉, 로스 예측 값이 상기 소정의 임계치 이상이면, 객체에 대응하는 테스트용 입력 이미지 내의 상기 객체는 상기 테스트용 입력 이미지가 상기 제1 CNN 모듈(410)에 입력되었을 때, 정확하게 검출될 가능성이 낮으며, 이는 상기 제1 CNN 모듈(410)의 상기 학습 프로세스에 사용되는 유용한 데이터로서의 상기 테스트용 입력 이미지를 결정한다.
이렇게 선별된 유용한 이미지에 대해서는 적어도 한 명의 사람이 주석 작업 등을 수행해(상기 이미지에 이미 주석 처리되었다면 단순히 선별을 통해), 상기 제1 CNN 모듈(410)의 상기 학습 프로세스에 사용되는 라벨링된 이미지가 된다.
아울러, 상기 검출기의 상기 학습 프로세스를 통해 상기 검출기의 상기 파라미터가 최적화 되면, 상기 검출기의 상기 최적화된 파라미터를 이용한 상기 테스트 장치 내의 상기 제1 CNN 모듈을 이용하여 실제 입력되는 테스트 이미지로부터 객체를 검출하게 된다. 예를 들어, 도로 주행 이미지에서 적어도 하나의 객체에 대한 분류와 검출이 이루어질 수 있다.
본 발명 기술분야의 통상의 기술자에게 이해될 수 있는 바로서, 위에서 설명된 이미지, 예컨대 상기 트레이닝 이미지, 테스트 이미지 등과 같은 이미지 데이터의 송수신이 학습 장치 및 테스트 장치의 통신부들에 의하여 이루어질 수 있으며, 특징 맵과 연산을 수행하기 위한 데이터가 학습 장치 및 테스트 장치의 프로세서(및/또는 메모리)에 의하여 보유/유지될 수 있고, 컨벌루션 연산, 디컨벌루션 연산, 로스 값 연산 과정이 주로 학습 장치 및 테스트 장치의 프로세서에 의하여 수행될 수 있으나, 본 발명이 이에 한정되지는 않을 것이다.
이상 설명된 본 발명에 따른 실시예들은 다양한 컴퓨터 구성요소를 통하여 수행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 ROM, RAM, 플래시 메모리 등과 같은 프로그램 명령어를 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령어의 예에는, 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 상기 하드웨어 장치는 본 발명에 따른 처리를 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상에서 본 발명이 구체적인 구성요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나, 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명이 상기 실시예들에 한정되는 것은 아니며, 본 발명이 속하는 기술분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형을 꾀할 수 있다.
따라서, 본 발명의 사상은 상기 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등하게 또는 등가적으로 변형된 모든 것들은 본 발명의 사상의 범주에 속한다고 할 것이다.

Claims (30)

  1. 유용한 학습 데이터를 취사 선별하기 위한 CNN 기반 학습 방법에 있어서,
    (a) 학습 장치가, 적어도 하나의 입력 이미지가 획득되면, (i) 상기 입력 이미지 내의 특정 객체의 식별 정보나 위치 정보를 획득하기 위한 제1 CNN 모듈로 하여금 상기 입력 이미지에 대하여 적어도 한 번 컨벌루션 연산을 적용하도록 하여 제1 특징 맵을 생성하는 프로세스, 및 (ii) 상기 제1 CNN 모듈의 학습 프로세스에 사용될 유용한 학습 데이터를 자동 선별(Auto-Screening) 할 수 있는 제2 CNN 모듈로 하여금 상기 입력 이미지에 대하여 적어도 한 번 컨벌루션 연산을 적용하도록 하여 제2 특징 맵을 생성하는 프로세스를 수행하는 단계;
    (b) 상기 학습 장치가, 상기 제1 CNN 모듈로 하여금 상기 제1 특징 맵을 이용하여 상기 특정 객체의 상기 식별 정보나 상기 위치 정보를 나타내는 제1 출력을 생성하도록 하고, 상기 제1 출력과 이에 해당하는 GT 이미지를 참조하여 제1 로스를 산출하게 하는 단계;
    (c) 상기 학습 장치가, 상기 제1 특징 맵을 상기 제2 CNN 모듈에 입력하여, 상기 제2 CNN 모듈로 하여금, 상기 제1 특징 맵과 상기 제2 특징 맵의 크기를 동일하게 변경한 후, 상기 제1 특징 맵과 상기 제2 특징 맵을 통합하여, 제3 특징 맵을 생성하는 단계;
    (d) 상기 학습 장치가, 상기 제2 CNN 모듈로 하여금, 상기 제3 특징 맵에 적어도 한 번 컨벌루션 연산을 적용하여 제4 특징 맵을 생성하고, 상기 제4 특징 맵을 이용하여 상기 제1 로스의 예측 값에 해당하는 제2 로스를 산출하게 하는 단계;
    (e) 상기 학습 장치가, 상기 제1 로스와 상기 제2 로스를 참조하여 자동 선별기 로스(Auto-Screener's Loss)를 산출하는 단계; 및
    (f) 상기 학습 장치가, 상기 자동 선별기 로스를 이용해 백프로파게이션(Backpropagation)을 수행하여 상기 제2 CNN 모듈의 적어도 하나의 파라미터를 최적화 하는 단계;
    를 포함하되,
    상기 제1 CNN 모듈은 상기 특정 객체의 크기와 위치를 검출하기 위한 객체 검출 시스템(Object Detection System), 상기 특정 객체의 종류를 식별하기 위한 분류 시스템(Classification System) 및 상기 특정 객체의 영역을 다른 영역과 구분하기 위한 세그멘테이션 시스템(Segmentation System) 중 하나에 포함되며,
    상기 제2 CNN 모듈은 적어도 하나의 특정 입력 이미지를 자동으로 선별하기 위한 자동 선별 시스템(Auto-Screening System)에 포함되되, 상기 특정 입력 이미지는 상기 제1 CNN 모듈에 입력되는 복수의 입력 이미지 중에 포함되고, 상기 특정 입력 이미지에 대응하며 정확하게 검출될 확률이 낮은 특정 객체 각각을 포함하며,
    상기 제1 출력은 상기 객체 검출 시스템의 출력, 상기 분류 시스템의 출력 및 상기 세그멘테이션 시스템의 출력 중 하나를 나타내고,
    확률이 소정의 임계치 미만인지 여부에 대한 정보를 참조로 하여 상기 정확하게 검출될 확률이 낮은지 여부가 결정되는 것을 특징으로 하는 방법.
  2. 제 1 항에 있어서,
    상기 (f) 단계에서,
    상기 학습 장치가, 상기 제1 로스를 이용해 백프로파게이션을 수행하여 상기 제1 CNN 모듈의 적어도 하나의 파라미터를 최적화하는 것을 특징으로 하는 방법.
  3. 삭제
  4. 제 1 항에 있어서,
    상기 제2 특징 맵의 크기는 상기 제1 특징 맵보다 크고,
    상기 (c) 단계에서,
    상기 학습 장치는 상기 제2 CNN 모듈로 하여금, 상기 제1 특징 맵의 크기를 상기 제2 특징 맵 크기에 맞도록 키우게 하는 것을 특징으로 하는 방법.
  5. 제 4 항에 있어서,
    상기 (c) 단계에서,
    상기 학습 장치는, 상기 제2 CNN 모듈로 하여금, 상기 제1 특징 맵에 소정 횟수만큼 컨벌루션 연산을 적용하도록 하여, 상기 제1 특징 맵의 크기를 상기 제2 특징 맵의 크기와 같도록 변경하게 하는 것을 특징으로 하는 방법.
  6. 제 1 항에 있어서,
    상기 (c) 단계에서,
    상기 학습 장치는, 상기 제2 CNN 모듈로 하여금, 상기 제1 특징 맵과 상기 제2 특징 맵을 컨캐터네이팅하여, 상기 제3 특징 맵을 생성하도록 하는 것을 특징으로 하는 방법.
  7. 제 1 항에 있어서,
    상기 (d) 단계에서,
    상기 학습 장치는, 상기 제2 CNN 모듈로 하여금, 상기 제4 특징 맵이 풀링 레이어(Pooling Layer) 및 FC 레이어(Fully-Connected Layer) 중 적어도 하나를 통과하게 하여 상기 제2 로스를 산출하는 것을 특징으로 하는 방법.
  8. 제 7 항에 있어서,
    상기 풀링 레이어는 상기 제4 특징 맵의 높이 및 너비를 1로 만드는 것을 특징으로 하는 방법.
  9. 제 1 항에 있어서,
    상기 (f) 단계에서,
    상기 학습 장치는, 상기 자동 선별기 로스를 최소화하는 방향으로 백프로파게이션을 수행하는 것을 특징으로 하는 방법.
  10. CNN을 기반으로 유용한 학습 데이터를 취사 선별하기 위한 방법에 있어서,
    (a) (I) 학습 장치가, (i) 트레이닝 이미지 내의 특정 객체의 식별 정보나 위치 정보를 획득하기 위한 제1 CNN 모듈로 하여금, 상기 트레이닝 이미지에 대하여 적어도 한 번 컨벌루션 연산을 적용하게 하여 학습용 제1 특징 맵을 생성하고, (ii) 상기 제1 CNN 모듈의 학습 프로세스에 사용될 유용한 학습 데이터를 자동 선별(Auto-Screening)하기 위한 제2 CNN 모듈로 하여금, 상기 트레이닝 이미지에 대하여 적어도 한 번 컨벌루션 연산을 적용하게 하여 학습용 제2 특징 맵을 생성하는 프로세스, (II) 상기 학습 장치가 상기 제1 CNN 모듈로 하여금 상기 학습용 제1 특징 맵을 이용해 상기 특정 객체의 상기 식별 정보나 상기 위치 정보를 나타내는 학습용 제1 출력을 생성하게 한 후, 상기 학습용 제1 출력과 이에 대응하는 GT 이미지를 참조하여 제1 로스를 산출하게 하는 프로세스, (III) 상기 학습 장치가 상기 학습용 제1 특징 맵을 상기 제2 CNN 모듈에 입력하여, 상기 제2 CNN 모듈로 하여금, 상기 학습용 제1 특징 맵과 상기 학습용 제2 특징 맵의 크기를 동일하게 변경한 후, 상기 학습용 제1 특징 맵과 상기 학습용 제2 특징 맵을 통합하여, 학습용 제3 특징 맵을 생성하게 하는 프로세스, (IV) 상기 학습 장치가 상기 제2 CNN 모듈로 하여금, 상기 학습용 제3 특징 맵에 적어도 한 번 컨벌루션 연산을 적용하게 하여 학습용 제4 특징 맵을 생성하고, 상기 학습용 제4 특징 맵을 이용해 상기 제1 로스의 예측 값에 해당하는 제2 로스를 산출하게 하는 프로세스, (V) 상기 학습 장치가 상기 제1 로스와 상기 제2 로스를 참조하여 자동 선별기 로스(Auto-Screener's Loss)를 산출하는 프로세스, 및 (VI) 상기 학습 장치가 상기 자동 선별기 로스를 이용해 백프로파게이션을 수행하여 상기 제2 CNN 모듈의 적어도 하나의 파라미터를 최적화하는 프로세스를 수행한 상태에서, 테스트 장치가, 각각의 이미지 후보를 각각의 테스트 이미지로서 획득하는 단계;
    (b) 상기 테스트 장치가, (i) 상기 제1 CNN 모듈로 하여금, 상기 테스트 이미지에 대하여 컨벌루션 연산을 적어도 한 번 적용하게 하여 테스트용 제1 특징 맵을 생성하는 프로세스, 및 (ii) 상기 제2 CNN 모듈로 하여금, 상기 테스트 이미지에 대하여 적어도 한 번 컨벌루션 연산을 적용하게 하여 테스트용 제2 특징 맵을 생성하는 프로세스를 수행하는 단계;
    (c) 상기 테스트 장치가, 상기 테스트용 제1 특징 맵을 상기 제2 CNN 모듈에 입력하여, 상기 제2 CNN 모듈로 하여금, 상기 테스트용 제1 특징 맵과 상기 테스트용 제2 특징 맵의 크기를 동일하게 변경한 후, 상기 테스트용 제1 특징 맵과 상기 테스트용 제2 특징 맵을 통합하여, 테스트용 제3 특징 맵을 생성하게 하는 단계;
    (d) 상기 테스트 장치가, 상기 제2 CNN 모듈로 하여금, 상기 테스트용 제3 특징 맵에 대하여 적어도 한 번 컨벌루션 연산을 적용하게 하여 테스트용 제4 특징 맵을 생성하고, 상기 테스트용 제4 특징 맵을 이용해 로스 예측 값을 산출하게 하는 단계; 및
    (e) 상기 테스트 장치가, 입력 이미지 후보 중에서 상기 로스 예측 값이 소정의 임계치 이상의 값을 갖는 적어도 하나의 이미지를 상기 제1 CNN 모듈의 학습 프로세스에 사용되는 트레이닝 이미지로서 선별하는 단계;
    를 포함하되,
    상기 제1 CNN 모듈은 상기 특정 객체의 크기와 위치를 검출하기 위한 객체 검출 시스템, 상기 특정 객체의 종류를 식별하기 위한 분류 시스템 및 상기 특정 객체의 영역을 다른 영역과 구분하기 위한 세그멘테이션 시스템 중 하나에 포함되며,
    상기 제2 CNN 모듈은 상기 트레이닝 이미지를 자동으로 선별하기 위한 자동 선별 시스템(Auto-Screening System)에 포함되되, 상기 트레이닝 이미지는 상기 제1 CNN 모듈에 입력되는 복수의 트레이닝 이미지 중에 포함되고, 상기 특정 객체에 대응하며 정확하게 검출될 확률이 낮은 특정 객체 각각을 포함하며,
    상기 학습용 제1 출력은 상기 객체 검출 시스템의 출력, 상기 분류 시스템의 출력 및 상기 세그멘테이션 시스템의 출력 중 하나를 나타내고,
    확률이 소정의 임계치 미만인지 여부에 대한 정보를 참조로 하여 상기 정확하게 검출될 확률이 낮은지 여부가 결정되는 것을 특징으로 하는 방법.
  11. 삭제
  12. 제 10 항에 있어서,
    상기 학습용 제2 특징 맵의 크기는 상기 학습용 제1 특징 맵보다 크고,
    상기 (III) 프로세스에서, 상기 학습 장치는 상기 제2 CNN 모듈로 하여금, 상기 학습용 제1 특징 맵의 크기를 상기 학습용 제2 특징 맵 크기에 맞도록 키우게 하며,
    상기 테스트용 제2 특징 맵의 크기는 상기 테스트용 제1 특징 맵보다 크고,
    상기 (c) 단계에서, 상기 테스트 장치는 상기 제2 CNN 모듈로 하여금, 상기 테스트용 제1 특징 맵의 크기를 상기 테스트용 제2 특징 맵 크기에 맞도록 키우게 하는 것을 특징으로 하는 방법.
  13. 제 12 항에 있어서,
    상기 (III) 프로세스에서,
    상기 학습 장치는, 상기 제2 CNN 모듈로 하여금, 상기 학습용 제1 특징 맵에 소정 횟수만큼 컨벌루션 연산을 적용하도록 하여 상기 학습용 제1 특징 맵의 크기를 상기 학습용 제2 특징 맵의 크기와 같도록 변경하게 하고,
    상기 (c) 단계에서,
    상기 테스트 장치는, 상기 제2 CNN 모듈로 하여금, 상기 테스트용 제1 특징 맵에 소정 횟수만큼 컨벌루션 연산을 적용하도록 하여 상기 테스트용 제1 특징 맵의 크기를 상기 테스트용 제2 특징 맵의 크기와 같도록 변경하게 하는 것을 특징으로 하는 방법.
  14. 제 10 항에 있어서,
    상기 (III) 프로세스에서,
    상기 학습 장치는, 상기 제2 CNN 모듈로 하여금, 상기 학습용 제1 특징 맵과 상기 학습용 제2 특징 맵을 컨캐터네이팅하도록 하여 상기 학습용 제3 특징 맵을 생성하게 하고,
    상기 (c) 단계에서,
    상기 테스트 장치는, 상기 제2 CNN 모듈로 하여금, 상기 테스트용 제1 특징 맵과 상기 테스트용 제2 특징 맵을 컨캐터네이팅하도록 하여 상기 테스트용 제3 특징 맵을 생성하게 하는 것을 특징으로 하는 방법.
  15. 제 10 항에 있어서,
    상기 (IV) 프로세스에서,
    상기 학습 장치는, 상기 제2 CNN 모듈로 하여금, 상기 학습용 제4 특징 맵이 풀링 레이어 및 FC 레이어 중 적어도 하나를 통과하게 하여 상기 제2 로스를 산출하고,
    상기 (d) 단계에서,
    상기 테스트 장치는, 상기 제2 CNN 모듈로 하여금, 상기 테스트용 제4 특징 맵이 풀링 레이어 및 FC 레이어 중 적어도 하나를 통과하게 하여 상기 로스 예측 값을 산출하는 것을 특징으로 하는 방법.
  16. 유용한 학습 데이터를 취사 선별하기 위한 CNN 기반 학습 장치에 있어서,
    적어도 하나의 입력 이미지를 획득하기 위한 통신부; 및
    (I) (I-1) 상기 입력 이미지 내의 특정 객체의 식별 정보나 위치 정보를 획득하기 위한 제1 CNN 모듈로 하여금 상기 입력 이미지에 대하여 적어도 한 번 컨벌루션 연산을 적용하도록 하여 제1 특징 맵을 생성하고, (I-2) 상기 제1 CNN 모듈의 학습 프로세스에 사용될 유용한 학습 데이터를 자동 선별(Auto-Screening)하기 위한 제2 CNN 모듈로 하여금 상기 입력 이미지에 대하여 적어도 한 번 컨벌루션 연산을 수행하도록 하여 제2 특징 맵을 생성하는 프로세스, (II) 상기 제1 CNN 모듈로 하여금 상기 제1 특징 맵을 이용해 상기 특정 객체의 상기 식별 정보나 상기 위치 정보를 나타내는 제1 출력을 생성하도록 하고, 상기 제1 출력과 이에 해당하는 GT 이미지를 참조하여 제1 로스를 산출하게 하는 프로세스, (III) 상기 제1 특징 맵을 상기 제2 CNN 모듈에 입력하여, 상기 제2 CNN 모듈로 하여금, 상기 제1 특징 맵과 상기 제2 특징 맵의 크기를 동일하게 변경한 후, 상기 제1 특징 맵과 상기 제2 특징 맵을 통합하여, 제3 특징 맵을 생성하는 프로세스, (IV) 상기 제2 CNN 모듈로 하여금, 상기 제3 특징 맵에 적어도 한 번 컨벌루션 연산을 적용하여 제4 특징 맵을 생성하고, 상기 제4 특징 맵을 이용하여 상기 제1 로스의 예측 값에 해당하는 제2 로스를 산출하게 하는 프로세스, (V) 상기 제1 로스와 상기 제2 로스를 참조하여 자동 선별기 로스(Auto-Screener's Loss)를 산출하는 프로세스, 및 (VI) 상기 자동 선별기 로스를 이용해 백프로파게이션(Backpropagation)을 수행하여 상기 제2 CNN 모듈의 적어도 하나의 파라미터를 최적화 하는 프로세스를 수행하는 프로세서;
    를 포함하되,
    상기 제1 CNN 모듈은 상기 특정 객체의 크기와 위치를 검출하기 위한 객체 검출 시스템(Object Detection System), 상기 특정 객체의 종류를 식별하기 위한 분류 시스템(Classification System) 및 상기 특정 객체의 영역을 다른 영역과 구분하기 위한 세그멘테이션 시스템(Segmentation System) 중 하나에 포함되며,
    상기 제2 CNN 모듈은 적어도 하나의 특정 입력 이미지를 자동으로 선별하기 위한 자동 선별 시스템(Auto-Screening System)에 포함되되, 상기 특정 입력 이미지는 상기 제1 CNN 모듈에 입력되는 복수의 입력 이미지 중에 포함되고, 상기 특정 입력 이미지에 대응하며 정확하게 검출될 확률이 낮은 특정 객체 각각을 포함하며,
    상기 제1 출력은 상기 객체 검출 시스템의 출력, 상기 분류 시스템의 출력 및 상기 세그멘테이션 시스템의 출력 중 하나를 나타내고,
    확률이 소정의 임계치 미만인지 여부에 대한 정보를 참조로 하여 상기 정확하게 검출될 확률이 낮은지 여부가 결정되는 것을 특징으로 하는 장치.
  17. 제 16 항에 있어서,
    상기 (VI) 프로세스에서,
    상기 프로세서가, 상기 제1 로스를 이용해 백프로파게이션을 수행하여 상기 제1 CNN 모듈의 적어도 하나의 파라미터를 최적화하는 프로세스를 수행하는 것을 특징으로 하는 장치.
  18. 삭제
  19. 제 16 항에 있어서,
    상기 제2 특징 맵의 크기는 상기 제1 특징 맵보다 크고,
    상기 (III) 프로세스에서, 상기 프로세서는 상기 제2 CNN 모듈로 하여금, 상기 제1 특징 맵의 크기를 상기 제2 특징 맵 크기에 맞도록 키우게 하는 것을 특징으로 하는 장치.
  20. 제 19 항에 있어서,
    상기 (III) 프로세스에서,
    상기 프로세서는, 상기 제2 CNN 모듈로 하여금, 상기 제1 특징 맵에 소정 횟수만큼 컨벌루션 연산을 적용하도록 하여, 상기 제1 특징 맵의 크기를 상기 제2 특징 맵의 크기와 같도록 변경하게 하는 것을 특징으로 하는 장치.
  21. 제 16 항에 있어서,
    상기 (III) 프로세스에서,
    상기 프로세서는, 상기 제2 CNN 모듈로 하여금, 상기 제1 특징 맵과 상기 제2 특징 맵을 컨캐터네이팅하여, 상기 제3 특징 맵을 생성하도록 하는 것을 특징으로 하는 장치.
  22. 제 16 항에 있어서,
    상기 (IV) 프로세스에서,
    상기 프로세서는, 상기 제2 CNN 모듈로 하여금, 상기 제4 특징 맵이 풀링 레이어(Pooling Layer) 및 FC 레이어(Fully-Connected Layer)를 적어도 하나를 통과하게 하여 상기 제2 로스를 산출하는 것을 특징으로 하는 장치.
  23. 제 22 항에 있어서,
    상기 풀링 레이어는 상기 제4 특징 맵의 높이 및 너비를 1로 만드는 것을 특징으로 하는 장치.
  24. 제 16 항에 있어서,
    상기 (VI) 프로세스에서,
    상기 프로세서는, 상기 자동 선별기 로스를 최소화하는 방향으로 백프로파게이션을 수행하는 것을 특징으로 하는 장치.
  25. CNN을 기반으로 유용한 학습 데이터를 취사 선별하기 위한 테스트 장치에 있어서,
    (i) 학습 장치가, (i-1) 트레이닝 이미지 내의 특정 객체의 식별 정보나 위치 정보를 획득하기 위한 제1 CNN 모듈로 하여금, 상기 트레이닝 이미지에 대하여 적어도 한 번 컨벌루션 연산을 적용하도록 하여 학습용 제1 특징 맵을 생성하고, (i-2) 상기 제1 CNN 모듈의 학습 프로세스에 사용될 유용한 학습 데이터를 자동 선별(Auto-Screening)하기 위한 제2 CNN 모듈로 하여금, 상기 트레이닝 이미지에 대하여 적어도 한 번 컨벌루션 연산을 적용하도록 하여 학습용 제2 특징 맵을 생성하는 프로세스, 및 (ii) 상기 학습 장치가 상기 제1 CNN 모듈로 하여금 상기 학습용 제1 특징 맵을 이용해 상기 특정 객체의 상기 식별 정보나 상기 위치 정보를 나타내는 학습용 제1 출력을 생성하게 한 후, 상기 학습용 제1 출력과 이에 대응하는 GT 이미지를 참조하여 제1 로스를 산출하게 하는 프로세스, (iii) 상기 학습 장치가 상기 학습용 제1 특징 맵을 상기 제2 CNN 모듈에 입력하여, 상기 제2 CNN 모듈로 하여금, 상기 학습용 제1 특징 맵과 상기 학습용 제2 특징 맵의 크기를 동일하게 변경한 후, 상기 학습용 제1 특징 맵과 상기 학습용 제2 특징 맵을 통합하여, 학습용 제3 특징 맵을 생성하게 하는 프로세스, (iv) 상기 학습 장치가 상기 제2 CNN 모듈로 하여금, 상기 학습용 제3 특징 맵에 적어도 한 번 컨벌루션 연산을 적용하도록 하여 학습용 제4 특징 맵을 생성하고, 상기 학습용 제4 특징 맵을 이용해 상기 제1 로스의 예측 값에 해당하는 제2 로스를 산출하게 하는 프로세스, (v) 상기 학습 장치가 상기 제1 로스와 상기 제2 로스를 참조하여 자동 선별기 로스(Auto-Screener's Loss)를 산출하는 프로세스, 및 (vi) 상기 학습 장치가 상기 자동 선별기 로스를 이용해 백프로파게이션을 수행하여 상기 제2 CNN 모듈의 적어도 하나의 파라미터를 최적화 하는 프로세스를 수행한 상태에서, 각각의 이미지 후보를 각각의 테스트 이미지로서 획득하기 위한 통신부; 및
    (I) (I-1) 제1 CNN 모듈로 하여금, 상기 테스트 이미지에 대하여 적어도 한 번 컨벌루션 연산을 적용하게 하여 테스트용 제1 특징 맵을 생성하고 (I-2) 상기 제2 CNN 모듈로 하여금, 상기 테스트 이미지에 대하여 적어도 한 번 컨벌루션 연산을 적용하게 하여 테스트용 제2 특징 맵을 생성하는 프로세스; (II) 상기 테스트용 제1 특징 맵을 상기 제2 CNN 모듈에 입력하여, 상기 제2 CNN 모듈로 하여금, 상기 테스트용 제1 특징 맵과 상기 테스트용 제2 특징 맵의 크기를 동일하게 변경한 후, 상기 테스트용 제1 특징 맵과 상기 테스트용 제2 특징 맵을 통합하여, 테스트용 제3 특징 맵을 생성하게 하는 프로세스; (III) 상기 제2 CNN 모듈로 하여금, 상기 테스트용 제3 특징 맵에 적어도 한 번 컨벌루션 연산을 적용하도록 하여 테스트용 제4 특징 맵을 생성하고, 상기 테스트용 제4 특징 맵을 이용해 로스 예측 값을 산출하게 하는 프로세스; 및 (IV) 상기 이미지 후보 중에서 상기 로스 예측 값이 소정의 임계치 이상의 값을 갖는 적어도 하나의 이미지를 상기 제1 CNN 모듈의 학습 프로세스에 사용되는 트레이닝 이미지로 선별하는 프로세스를 수행하는 프로세서;
    를 포함하되,
    상기 제1 CNN 모듈은 상기 특정 객체의 크기와 위치를 검출하기 위한 객체 검출 시스템, 상기 특정 객체의 종류를 식별하기 위한 분류 시스템 및 상기 특정 객체의 영역을 다른 영역과 구분하기 위한 세그멘테이션 시스템 중 하나에 포함되며,
    상기 제2 CNN 모듈은 상기 트레이닝 이미지를 자동으로 선별하기 위한 자동 선별 시스템(Auto-Screening System)에 포함되되, 상기 트레이닝 이미지는 상기 제1 CNN 모듈에 입력되는 복수의 트레이닝 이미지 중에 포함되고, 상기 특정 객체에 대응하며 정확하게 검출될 확률이 낮은 특정 객체 각각을 포함하며,
    상기 학습용 제1 출력은 상기 객체 검출 시스템의 출력, 상기 분류 시스템의 출력 및 상기 세그멘테이션 시스템의 출력 중 하나를 나타내고,
    확률이 소정의 임계치 미만인지 여부에 대한 정보를 참조로 하여 상기 정확하게 검출될 확률이 낮은지 여부가 결정되는 것을 특징으로 하는 장치.
  26. 삭제
  27. 제 25 항에 있어서,
    상기 학습용 제2 특징 맵의 크기는 상기 학습용 제1 특징 맵보다 크고,
    상기 (iii) 프로세스에서, 상기 학습 장치는 상기 제2 CNN 모듈로 하여금, 상기 학습용 제1 특징 맵의 크기를 상기 학습용 제2 특징 맵 크기에 맞도록 키우게 하며,
    상기 테스트용 제2 특징 맵의 크기는 상기 테스트용 제1 특징 맵보다 크고,
    상기 (II) 프로세스에서, 상기 프로세서는 상기 제2 CNN 모듈로 하여금, 상기 테스트용 제1 특징 맵의 크기를 상기 테스트용 제2 특징 맵 크기에 맞도록 키우게 하는 것을 특징으로 하는 장치.
  28. 제 27 항에 있어서,
    상기 (iii) 프로세스에서,
    상기 학습 장치는, 상기 제2 CNN 모듈로 하여금, 상기 학습용 제1 특징 맵에 소정 횟수만큼 컨벌루션 연산을 적용하도록 하여 상기 학습용 제1 특징 맵의 크기를 상기 학습용 제2 특징 맵의 크기와 같도록 변경하게 하고,
    상기 (II) 단계에서,
    상기 프로세서는, 상기 제2 CNN 모듈로 하여금, 상기 테스트용 제1 특징 맵에 소정 횟수만큼 컨벌루션 연산을 적용하도록 하여 상기 테스트용 제1 특징 맵의 크기를 상기 테스트용 제2 특징 맵의 크기와 같도록 변경하게 하는 것을 특징으로 하는 장치.
  29. 제 25 항에 있어서,
    상기 (iii) 프로세스에서,
    상기 학습 장치는, 상기 제2 CNN 모듈로 하여금, 상기 학습용 제1 특징 맵과 상기 학습용 제2 특징 맵을 컨캐터네이팅하도록 하여 상기 학습용 제3 특징 맵을 생성하게 하고,
    상기 (II) 프로세스에서,
    상기 프로세서는, 상기 제2 CNN 모듈로 하여금, 상기 테스트용 제1 특징 맵과 상기 테스트용 제2 특징 맵을 컨캐터네이팅하도록 하여 상기 테스트용 제3 특징 맵을 생성하게 하는 것을 특징으로 하는 장치.
  30. 제 25 항에 있어서,
    상기 (iv) 프로세스에서,
    상기 학습 장치는, 상기 제2 CNN 모듈로 하여금, 상기 학습용 제4 특징 맵이 풀링 레이어 및 FC 레이어 중 적어도 하나를 통과하게 하여 상기 제2 로스를 산출하고,
    상기 (III) 프로세스에서,
    상기 프로세서는, 상기 제2 CNN 모듈로 하여금, 상기 테스트용 제4 특징 맵이 풀링 레이어 및 FC 레이어 중 적어도 하나를 통과하게 하여 상기 로스 예측 값을 산출하는 것을 특징으로 하는 장치.
KR1020190105486A 2018-10-26 2019-08-27 유용한 학습 데이터를 취사 선별하기 위한 cnn 기반 학습 방법 및 학습 장치 그리고 이를 이용한 테스트 방법 및 테스트 장치 KR102309711B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/171,755 2018-10-26
US16/171,755 US10504027B1 (en) 2018-10-26 2018-10-26 CNN-based learning method, learning device for selecting useful training data and test method, test device using the same

Publications (2)

Publication Number Publication Date
KR20200047307A KR20200047307A (ko) 2020-05-07
KR102309711B1 true KR102309711B1 (ko) 2021-10-08

Family

ID=67211567

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190105486A KR102309711B1 (ko) 2018-10-26 2019-08-27 유용한 학습 데이터를 취사 선별하기 위한 cnn 기반 학습 방법 및 학습 장치 그리고 이를 이용한 테스트 방법 및 테스트 장치

Country Status (5)

Country Link
US (1) US10504027B1 (ko)
EP (1) EP3644236B1 (ko)
JP (1) JP6875021B2 (ko)
KR (1) KR102309711B1 (ko)
CN (1) CN111105011B (ko)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180027887A (ko) * 2016-09-07 2018-03-15 삼성전자주식회사 뉴럴 네트워크에 기초한 인식 장치 및 뉴럴 네트워크의 트레이닝 방법
US10799189B2 (en) 2017-11-22 2020-10-13 General Electric Company Systems and methods to deliver point of care alerts for radiological findings
US10783634B2 (en) 2017-11-22 2020-09-22 General Electric Company Systems and methods to deliver point of care alerts for radiological findings
CN113168713A (zh) * 2018-12-14 2021-07-23 富士胶片株式会社 小批量学习装置及其工作程序、工作方法及图像处理装置
CN111666960B (zh) * 2019-03-06 2024-01-19 南京地平线机器人技术有限公司 图像识别方法、装置、电子设备及可读存储介质
KR20190087351A (ko) * 2019-07-05 2019-07-24 엘지전자 주식회사 머신 러닝 시스템, 방법 및 장치
US10943353B1 (en) 2019-09-11 2021-03-09 International Business Machines Corporation Handling untrainable conditions in a network architecture search
US11023783B2 (en) * 2019-09-11 2021-06-01 International Business Machines Corporation Network architecture search with global optimization
US11334987B2 (en) * 2019-10-09 2022-05-17 Siemens Medical Solutions Usa, Inc. Physics-constrained network and training thereof
KR20210061146A (ko) * 2019-11-19 2021-05-27 삼성전자주식회사 전자 장치 및 그 제어 방법
US11157813B1 (en) * 2020-04-24 2021-10-26 StradVision, Inc. Method and device for on-vehicle active learning to be used for training perception network of autonomous vehicle
JP7486349B2 (ja) * 2020-05-28 2024-05-17 キヤノン株式会社 ニューラルネットワーク、ニューラルネットワークの学習方法、プログラム、画像処理装置
KR20230050127A (ko) * 2021-10-07 2023-04-14 삼성전자주식회사 디스플레이 장치 및 그 동작방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108596184A (zh) * 2018-04-25 2018-09-28 清华大学深圳研究生院 图像语义分割模型的训练方法、可读存储介质及电子设备

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9928410B2 (en) * 2014-11-24 2018-03-27 Samsung Electronics Co., Ltd. Method and apparatus for recognizing object, and method and apparatus for training recognizer
WO2017106998A1 (en) * 2015-12-21 2017-06-29 Sensetime Group Limited A method and a system for image processing
US9665799B1 (en) * 2016-01-29 2017-05-30 Fotonation Limited Convolutional neural network
US9471836B1 (en) * 2016-04-01 2016-10-18 Stradvision Korea, Inc. Method for learning rejector by forming classification tree in use of training images and detecting object in test images, and rejector using the same
WO2018035805A1 (en) * 2016-08-25 2018-03-01 Intel Corporation Coupled multi-task fully convolutional networks using multi-scale contextual information and hierarchical hyper-features for semantic image segmentation
US9965863B2 (en) * 2016-08-26 2018-05-08 Elekta, Inc. System and methods for image segmentation using convolutional neural network
MX2019006588A (es) * 2016-12-05 2019-10-09 Avigilon Corp Sistema y metodo de busqueda por apariencia.
JP6567488B2 (ja) * 2016-12-22 2019-08-28 日本電信電話株式会社 学習データ生成装置、開発データ生成装置、モデル学習装置、それらの方法、及びプログラム
CN108460464A (zh) * 2017-02-22 2018-08-28 中兴通讯股份有限公司 深度学习训练方法及装置
US10678846B2 (en) * 2017-03-10 2020-06-09 Xerox Corporation Instance-level image retrieval with a region proposal network
US11068751B2 (en) * 2017-03-21 2021-07-20 Nec Corporation Image processing device, image processing method, and storage medium
US10572963B1 (en) * 2017-07-14 2020-02-25 Synapse Technology Corporation Detection of items
US10796200B2 (en) * 2018-04-27 2020-10-06 Intel Corporation Training image signal processors using intermediate loss functions

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108596184A (zh) * 2018-04-25 2018-09-28 清华大学深圳研究生院 图像语义分割模型的训练方法、可读存储介质及电子设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Lorenz Berger et al., "Boosted Training of Convolutional Neural Networks for Multi-Class Segmentation," arXiv:1806.05974v2 [cs.CV] (2018.07.06.)*

Also Published As

Publication number Publication date
JP2020068028A (ja) 2020-04-30
EP3644236A1 (en) 2020-04-29
CN111105011A (zh) 2020-05-05
US10504027B1 (en) 2019-12-10
JP6875021B2 (ja) 2021-05-19
EP3644236B1 (en) 2024-03-13
EP3644236C0 (en) 2024-03-13
CN111105011B (zh) 2023-10-20
KR20200047307A (ko) 2020-05-07

Similar Documents

Publication Publication Date Title
KR102309711B1 (ko) 유용한 학습 데이터를 취사 선별하기 위한 cnn 기반 학습 방법 및 학습 장치 그리고 이를 이용한 테스트 방법 및 테스트 장치
KR102280395B1 (ko) 차선 후보 픽셀의 분류를 통해 차선을 검출하는 학습 방법 및 학습 장치 그리고 이를 이용한 테스트 방법 및 테스트 장치
KR102373456B1 (ko) 자동 주차 시스템을 제공하기 위해 결정 지점 간의 관계 및 결정 지점에 대한 리그레션 결과를 이용하여 주차 공간을 검출하는 학습 방법 및 학습 장치, 그리고 이를 이용한 테스팅 방법 및 테스팅 장치
KR102296507B1 (ko) 트래킹 네트워크를 포함한 cnn을 사용하여 객체를 트래킹하는 방법 및 이를 이용한 장치
KR102286760B1 (ko) 다른 라벨 세트를 가지는 복수의 라벨링된 데이터베이스를 이용하여 학습하는 방법 및 장치 그리고 이를 이용한 테스트 방법 및 장치
KR102279376B1 (ko) CNN(Convolutional Neural Network)을 사용하여 차선을 검출하기 위한 학습 방법 및 학습 장치 그리고 이를 이용한 테스트 방법 및 테스트 장치
KR102280414B1 (ko) 고 정밀도로 이미지를 분석하기 위한 딥 러닝 네트워크를 사용하기 위해 트레이닝 이미지를 오토 라벨링하는 오토 라벨링 장치의 하이퍼파라미터를 최적화하는 방법 및 이를 이용한 최적화 장치
KR102328734B1 (ko) 이미지를 분석하기 위해, 딥러닝 네트워크에 이용하기 위한 트레이닝 이미지에 대한 라벨링 신뢰도를 자동으로 평가하기 위한 방법 및 이를 이용한 신뢰도 평가 장치
EP3686774B1 (en) Learning method and learning device for improving segmentation performance in road obstacle detection required to satisfy level 4 and level 5 of autonomous vehicles using laplacian pyramid network and testing method and testing device using the same
JP6908944B2 (ja) 多重カメラまたはサラウンドビューモニタリングに利用されるために、ターゲット物体統合ネットワーク及びターゲット物体予測ネットワークを利用して、重要業績評価指標のようなユーザー要求事項に適用可能なcnn基盤の物体検出器を学習する方法及び学習装置、並びにこれを利用したテスティング方法及びテスティング装置
JP6869565B2 (ja) 危険要素検出に利用される学習用イメージデータセットの生成方法及びコンピューティング装置、そしてこれを利用した学習方法及び学習装置{method and computing device for generating image data set to be used for hazard detection and learning method and learning device using the same}
JP6980289B2 (ja) 車線モデルを利用して車線を検出し得る学習方法及び学習装置そしてこれを利用したテスト方法及びテスト装置{learning method, learning device for detecting lane using lane model and test method, test device using the same}
KR102337367B1 (ko) 원거리 검출 또는 군사 목적을 위해, 이미지 컨캐터네이션을 이용한, cnn 기반의 하드웨어 최적화가 가능한 객체 검출기를 학습하는 방법 및 학습 장치, 이를 이용한 테스팅 방법 및 테스팅 장치
KR102301631B1 (ko) 협업 주행을 수행하는 자동차들로부터 획득된 주행 이미지들을 통합하는 방법 및 이를 이용한 주행 이미지 통합 장치
KR102320985B1 (ko) 멀티 카메라 시스템 내의 더블 임베딩 구성을 이용하여 도로 이용자 이벤트를 검출하기 위해 이용될 세그먼테이션 성능 향상을 위한 학습 방법 및 학습 장치 그리고 이를 이용한 테스팅 방법 및 테스팅 장치
US10496899B1 (en) Learning method and learning device for adjusting parameters of CNN in which residual networks are provided for meta learning, and testing method and testing device using the same
JP2020123346A (ja) 各領域において最適化された自律走行を遂行できるように位置基盤アルゴリズムの選択によってシームレスパラメータ変更を遂行する方法及び装置
CN111508252B (zh) 利用v2x信息集成技术更新高清地图的方法和装置
KR102309705B1 (ko) Cnn 기반 차선 검출을 위한 학습 방법 및 학습 장치 그리고 이를 이용한 테스트 방법 및 테스트 장치
JP2020068015A (ja) リグレッションロス(Regression loss)を利用した学習方法及び学習装置、そしてそれを利用したテスト方法及びテスト装置{LEARNING METHOD, LEARNING DEVICE USING REGRESSION LOSS AND TESTING METHOD, TESTING DEVICE USING THE SAME}

Legal Events

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