KR102315311B1 - 객체 검출 모델의 학습 방법 및 객체 검출 모델이 실행되는 객체 검출 장치 - Google Patents

객체 검출 모델의 학습 방법 및 객체 검출 모델이 실행되는 객체 검출 장치 Download PDF

Info

Publication number
KR102315311B1
KR102315311B1 KR1020190137353A KR20190137353A KR102315311B1 KR 102315311 B1 KR102315311 B1 KR 102315311B1 KR 1020190137353 A KR1020190137353 A KR 1020190137353A KR 20190137353 A KR20190137353 A KR 20190137353A KR 102315311 B1 KR102315311 B1 KR 102315311B1
Authority
KR
South Korea
Prior art keywords
object detection
cells
detection model
box
feature map
Prior art date
Application number
KR1020190137353A
Other languages
English (en)
Other versions
KR20210051722A (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 KR1020190137353A priority Critical patent/KR102315311B1/ko
Priority to PCT/KR2020/007403 priority patent/WO2021085784A1/ko
Publication of KR20210051722A publication Critical patent/KR20210051722A/ko
Application granted granted Critical
Publication of KR102315311B1 publication Critical patent/KR102315311B1/ko

Links

Images

Classifications

    • 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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
    • G06K9/20
    • G06K9/46
    • 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
    • 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/0455Auto-encoder networks; Encoder-decoder 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/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/10Image acquisition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/30Noise filtering
    • 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
    • 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

Landscapes

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

Abstract

객체 검출 모델의 학습 방법 및 객체 검출 모델이 실행되는 객체 검출 장치가 개시된다. 객체 검출 모델의 학습 방법은 학습하고자 하는 타겟 이미지를 일정한 크기를 가진 복수의 셀들로 분할하는 단계; 상기 객체 검출 모듈에 포함된 복수의 콘볼루션 레이어(Convolution layer)들을 통해 상기 타겟 이미지로부터 상기 복수의 콘볼루션 레이어들 각각에 대응하는 서로 다른 해상도를 가진 인코딩 특징맵을 생성하는 단계; 상기 객체 검출 모듈에 포함된 단일의 디콘볼루션 레이어(Deconvolution layer)를 통해 상기 복수의 콘볼루션 레이어들 중 최후단에 위치한 제1 콘볼루션 레이어에 의해 생성된 저해상도의 인코딩 특징맵과 상기 제1 콘볼루션의 이전단에 위치한 제2 콘볼루션 레이어에 의해 생성된 고해상도의 인코딩 특징맵을 융합함으로써 디코딩 특징맵을 생성하는 단계; 및 상기 객체 검출 모듈에 포함된 객체 검출 레이어를 통해 상기 생성된 디코딩 특징맵을 이용하여 상기 복수의 셀들 각각에서 예측된 객체 정보를 검출하는 단계를 포함하고, 상기 단일의 디콘볼루션 레이어는 수용 영역(Receptive field)을 증가시키기 위한 콘볼루션 레이어가 추가될 수 있다.

Description

객체 검출 모델의 학습 방법 및 객체 검출 모델이 실행되는 객체 검출 장치{DEEP LEARNING BASED OBJECT DETECTION MODEL TRAINING METHOD AND AN OBJECT DETECTION APPARATUS TO EXECUTE THE OBJECT DETECTION MODEL}
본 발명은 객체 검출 모델의 학습 방법 및 객체 검출 모델이 실행되는 객체 검출 장치에 관한 것으로 보다 구체적으로는 디콘볼루션(Deconvolution) 기반의 간소화된 특징 융합을 통한 객체 검출 모델의 효율적인 학습 방법에 관한 것이다.
종래의 객체 검출 방법은 앵커(Anchor) 기반 객체 검출 방법, 셀(Cell) 기반 객체 검출 방법 및 앵커리스(Anchorless) 기반 객체 검출 방법을 제공한다. 먼저, 앵커 기반 객체 검출 방법은 객체 검출 네트워크의 특징맵을 구성하는 각각의 셀에 앵커를 배치하고, 배치된 앵커에 기초하여 객체 유무(Objectness), 클래스 점수(Class score), 객체 위치(Object location) 및 형상(Shape)을 학습할 수 있다. 이러한 앵커 기반 객체 검출 방법은 앵커의 수에 비례하여 객체 분류 및 영역 추정을 수행해야 하므로 연산량이 많아지며, 특히 앵커를 어떻게 설정하느냐에 따라 성능의 차이가 커지는 문제가 발생한다.
셀 기반 객체 검출 방법은 영상을 복수의 셀들로 분할하고, 미리 설정된 바운딩 박스(Bounding box)들을 통해 각각의 셀에 대한 객체 유무 및 클래스 확률을 예측할 수 있다. 이러한 셀 기반 객체 검출 방법은 바운딩 박스들의 형태가 학습에 의존적이어서, 폐색(Occlusion), 크기 변화, 시점(View) 변화 등으로 인한 새로운 형태의 바운딩 박스의 경우 객체 검출의 정확도가 떨어지는 문제가 있다.
마지막으로 앵커리스 기반 객체 검출 방법은 입력 영상 기준의 그라운드 트루스(Ground Truth, 이하 GT) 영역을 객체 검출을 위한 특징맵 크기 기준의 영역으로 변환한 후, 변환된 GT 영역의 중심으로부터 일정 기준 이내의 영역을 학습할 수 있다. 이러한 앵커리스 기반 객체 검출 방법은 객체의 크기에 따라 학습 로스(Loss)를 계산한 영역이 달라지기 때문에 객체 크기에 따른 학습 편차가 생기는 문제가 발생한다.
따라서, 이러한 각각의 객체 검출 방법에서 발생되는 문제를 극복할 수 있는 새로운 형태의 객체 검출 방법이 요구되고 있다.
본 발명은 새로운 유형의 거리 기반 GT-셀 인코딩 방법을 제공함으로써 딥 러닝 특징맵에서 객체의 크기 또는 모양 변화 및 폐색 등에 효율적인 객체 검출 모델의 학습 손실(Loss)을 계산할 수 있는 방법 및 장치를 제공한다.
또한, 본 발명은 객체 검출 모델을 구성하는 복수의 콘볼루션 레이어(Convolution layer)들의 후단에 서로 다른 객체의 특성에 따라 설계된 복수의 디콘볼루션 레이어(Deconvolution layer)들을 병렬로 배치하여 각각의 콘볼루션 레이어들 및 디콘볼루션 레이어들을 순차적으로 반복 학습 시킴으로써 학습 데이터의 주석(Annotation) 및 정제 비용에 대한 효용성을 확보할 수 있는 방법 및 장치를 제공한다.
본 발명의 일실시예에 따른 객체 검출 모델의 학습 방법은 학습하고자 하는 타겟 이미지를 일정한 크기를 가진 복수의 셀들로 분할하는 단계; 상기 객체 검출 모듈에 포함된 복수의 콘볼루션 레이어(Convolution layer)들을 통해 상기 타겟 이미지로부터 상기 복수의 콘볼루션 레이어들 각각에 대응하는 서로 다른 해상도를 가진 인코딩 특징맵을 생성하는 단계; 상기 객체 검출 모듈에 포함된 단일의 디콘볼루션 레이어(Deconvolution layer)를 통해 상기 복수의 콘볼루션 레이어들 중 최후단에 위치한 제1 콘볼루션 레이어에 의해 생성된 저해상도의 인코딩 특징맵과 상기 제1 콘볼루션의 이전단에 위치한 제2 콘볼루션 레이어에 의해 생성된 고해상도의 인코딩 특징맵을 융합함으로써 디코딩 특징맵을 생성하는 단계; 및 상기 객체 검출 모듈에 포함된 객체 검출 레이어를 통해 상기 생성된 디코딩 특징맵을 이용하여 상기 복수의 셀들 각각에서 예측된 객체 정보를 검출하는 단계를 포함하고, 상기 단일의 디콘볼루션 레이어는 수용 영역(Receptive field)을 증가시키기 위한 콘볼루션 레이어가 추가될 수 있다.
상기 복수의 셀들 각각에서 예측된 객체 정보는 상기 복수의 셀들 각각에서 예측된 객체의 유무(Objectness) 정보, 상기 예측된 객체의 클래스(Class) 정보 및 상기 예측된 객체가 존재할 것으로 예상되는 영역에 대응하는 바운딩 박스(bounding box) 정보 중 적어도 하나를 포함할 수 있다.
상기 복수의 셀들 각각에서 예측된 객체 정보 중 중복되는 바운딩 박스의 영역을 제거함으로써 최종적인 객체의 검출 영역을 결정하는 단계를 더 포함할 수 있다.
상기 복수의 셀들 각각과 미리 설정된 그라운드 트루스(Ground Truth, 이하 GT) 박스 간 거리 정보를 이용하여 상기 객체 검출 모델의 학습 손실(Loss)을 계산하는 단계를 더 포함할 수 있다.
상기 객체 검출 모델의 학습 손실을 계산하는 단계는 상기 복수의 셀들 각각과 상기 GT 박스 간 거리에 기초하여 상기 복수의 셀들 각각과 상기 GT 박스 간 매칭을 수행하는 단계; 및 상기 GT 박스와의 매칭이 수행된 셀에서 예측된 객체 정보와 상기 GT 박스에 대응하는 객체 정보를 이용하여 손실 함수(Loss function)를 계산함으로써 상기 객체 검출 모델의 학습 손실을 계산할 수 있다.
상기 복수의 셀들 각각과 상기 GT 박스 간 매칭을 수행하는 단계는 상기 복수의 셀들 각각의 셀 크기 및 상기 GT 박스의 크기에 대한 상대적 거리 기준 비율, 최소 거리 기준 비율 및 최대 거리 기준 비율을 이용하여 상기 복수의 셀들 각각의 중심점과 상기 GT 박스의 중심점 간 거리를 결정하는 단계; 및 상기 결정된 거리가 미리 설정된 기준 이하인 셀들을 상기 GT 박스에 매칭하는 단계를 포함할 수 있다.
상기 계산된 객체 검출 모델의 학습 손실이 최소가 되도록 상기 객체 검출 모델의 매개 변수 값을 조절하는 단계를 더 포함할 수 있다.
본 발명의 일실시예에 따른 객체 검출 모델이 실행되는 객체 검출 장치는 프로세서를 포함하고, 상기 객체 검출 모델은 일정한 크기를 가진 복수의 셀들로 분할된 타겟 이미지에 대해 서로 다른 해상도를 가진 인코딩 특징맵을 생성하는 복수의 콘볼루션 레이어(Convolution layer)들; 상기 복수의 콘볼루션 레이어들 중 최후단에 위치한 제1 콘볼루션 레이어에 의해 생성된 저해상도의 인코딩 특징맵과 상기 제1 콘볼루션 레이어의 이전에 위치한 제2 콘볼루션 레이어에 의해 생성된 고해상도의 인코딩 특징맵을 융합함으로써 디코딩 특징맵을 생성하는 단일의 디콘볼루션 레이어(Deconvolution layer); 및 상기 생성된 디코딩 특징맵을 이용하여 상기 복수의 셀들 각각에서 예측된 객체 정보를 검출하는 객체 검출 레이어를 포함하고, 상기 단일의 디콘볼루션 레이어는 수용 영역(Receptive field)을 증가시키기 위한 콘볼루션 레이어가 추가될 수 있다.
상기 복수의 셀들 각각에서 예측된 객체 정보는 상기 복수의 셀들 각각에서 예측된 객체의 유무(Objectness) 정보, 상기 예측된 객체의 클래스(Class) 정보 및 상기 예측된 객체가 존재할 것으로 예상되는 영역에 대응하는 바운딩 박스(bounding box) 정보 중 적어도 하나를 포함할 수 있다.
상기 프로세서는 상기 객체 검출 레이어를 통해 예측된 상기 복수의 셀들 각각의 객체 정보 중 중복되는 바운딩 박스의 영역을 제거함으로써 최종적인 객체의 검출 영역을 결정할 수 있다.
상기 프로세서는 상기 복수의 셀들 각각과 미리 설정된 그라운드 트루스(Ground Truth, 이하 GT) 박스 간 거리 정보를 이용하여 상기 객체 검출 모델의 학습 손실(Loss)을 계산할 수 있다.
상기 프로세서는 상기 복수의 셀들 각각과 상기 GT 박스 간 거리에 기초하여 상기 복수의 셀들 각각과 상기 GT 박스 간 매칭을 수행하고, 상기 GT 박스와의 매칭이 수행된 셀에서 예측된 객체 정보와 상기 GT 박스에 대응하는 객체 정보를 이용하여 손실 함수(Loss function)를 계산함으로써 상기 객체 검출 모델의 학습 손실을 계산할 수 있다.
상기 프로세서는 상기 복수의 셀들 각각의 셀 크기 및 상기 GT 박스의 크기에 대한 상대적 거리 기준 비율, 최소 거리 기준 비율 및 최대 거리 기준 비율을 이용하여 상기 복수의 셀들 각각의 중심점과 상기 GT 박스의 중심점 간 거리를 결정하고, 상기 결정된 거리가 미리 설정된 기준 이하인 셀들을 상기 GT 박스에 매칭할 수 있다.
상기 프로세서는 상기 계산된 객체 검출 모델의 학습 손실이 최소가 되도록 상기 객체 검출 모델의 매개 변수 값을 조절할 수 있다.
상기 객체 검출 모델은 상기 복수의 콘볼루션 레이어들의 후단에 서로 다른 객체의 특성에 따라 설계된 복수의 디콘볼루션 레이어들이 병렬로 배치될 수 있다.
상기 프로세서는 상기 병렬로 배치된 복수의 디콘볼루션 레이어들 각각에 대응하는 학습 데이터를 이용하여 상기 복수의 콘볼루션 레이어들 및 상기 복수의 디콘볼루션 레이어들을 순차적으로 반복 학습할 수 있다.
본 발명은 새로운 유형의 거리 기반 GT-셀 인코딩 방법을 제공함으로써 딥 러닝 특징맵에서 객체의 크기 또는 모양 변화 및 폐색 등에 효율적인 객체 검출 모델의 학습 손실을 계산할 수 있다.
또한, 본 발명은 객체 검출 모델을 구성하는 복수의 콘볼루션 레이어들의 후단에 서로 다른 객체들의 특성에 따라 설계된 복수의 디콘볼루션 레이어들을 병렬로 배치하여 각각의 콘볼루션 레이어들 및 디콘볼루션 레이어들을 순차적으로 반복 학습 시킴으로써 학습 데이터의 주석(Annotation) 및 정제 비용에 대한 효용성을 확보할 수 있다.
또한, 본 발명은 객체 검출 모델에서 수용 영역(Receptive Field)과 수용력을 증가시킬 수 있는 수정된 디콘볼루션 레이어의 구조를 제공함으로써 객체 검출 모델의 성능을 개선시킬 수 있다.
도 1은 본 발명의 일실시예에 따른 객체 검출 시스템을 도시한 도면이다.
도 2는 본 발명의 일실시예에 따른 디콘볼루션 특징 융합 기반의 객체 검출 모델의 구조도를 도시한 도면이다.
도 3은 본 발명의 일실시예에 따른 멀티 태스크(Multi-Task) 기반의 객체 검출 장치를 도시한 도면이다.
도 4는 본 발명의 일실시예에 따른 객체 검출 모델의 학습 손실(Loss) 계산 방법을 도시한 도면이다.
도 5는 본 발명의 일실시예에 따른 객체 검출 방법을 플로우챠트로 도시한 도면이다.
이하, 본 발명의 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
도 1은 본 발명의 일실시예에 따른 객체 검출 시스템을 도시한 도면이다.
본 발명의 객체 검출 시스템(100)을 구성하는 객체 검출 장치(110)는 타겟 이미지(120)가 수신된 경우, 딥 러닝 기반의 객체 검출 모델(111)을 이용하여 타겟 이미지(120) 내에 존재하는 다양한 객체들을 검출할 수 있다. 그리고, 객체 검출 장치(110)는 검출된 객체들의 위치 정보 및 클래스 정보를 식별한 후 별도의 디스플레이(미도시)를 통해 식별된 객체들의 위치 정보와 클래스 정보가 표시된 결과 이미지(130)를 사용자에게 제공할 수 있다.
일례로, 본 발명의 객체 검출 모델(111)은 Fully Convolutional Network(FCN) 기반으로 구성될 수 있다. FCN 기반의 객체 검출 모델은 픽셀 단위의 조밀한 예측을 위하여 업샘플링(Upsampling)과 여러 개의 후반부 레이어에 대한 콘볼루션 특징(Convolution feature)를 합치는 방식을 사용한다. 이러한 FCN 기반의 객체 검출 모델은 여러 단의 콘볼루션 및 풀링(Pooling)을 거치면서 해상도가 줄어들고, 줄어든 해상도를 다시 업샘플링을 통해 복원하는 방식을 사용하기 때문에 타겟 이미지(120)의 세부(Detail) 정보가 사라지거나 과도한 스무딩(Smoothing) 효과에 의해 객체 검출이 정밀하지 못한 결과를 가질 수 있다.
이러한 문제를 해결하기 위하여 본 발명은 FCN 기반의 객체 검출 모델(111)을 구성하는 콘볼루션 네트워크(Convolution network)에 대칭이 되는 디콘볼루션 네트워크(Deconvolution network)를 추가함으로써 업샘플링된 타겟 이미지(120)의 해상도 문제를 해결할 수 있다. 이하에서는 본 발명의 객체 검출 모델(111)을 디콘볼루션 특징 융합 기반의 객체 검출 모델로 정의하도록 한다.
보다 자세한 객체 검출 모델(111)의 동작은 이후의 도면을 통해 자세히 설명하도록 한다.
도 2는 본 발명의 일실시예에 따른 디콘볼루션 특징 융합 기반의 객체 검출 모델의 구조도를 도시한 도면이다.
종래의 딥러닝 기반의 객체 검출 모델은 다양한 객체들의 모양 변화 및 크기 변화에 강건한 객체 검출을 위해서 앵커와 멀티 스케일(Multi-Scale) 융합 정보를 이용하였다. 그러나 이러한 종래의 딥러닝 기반의 객체 검출 모델은 앵커의 수가 늘어날수록, 멀티 스케일 융합 정보가 많아질수록 복잡도가 증가할 수 있다. 이로 인해 종래의 딥러닝 기반의 객체 검출 모델은 많은 학습 파라미터가 필요하고, 필요한 학습 파라미터가 많아질수록 연산량도 증가하는 문제가 발생한다.
본 발명에서 제공하는 객체 검출 모델(111)은 앵커들이 필요 없으면서도 단순화된 특징 융합 방법을 통해 보다 적은 수의 학습 파라미터를 이용함으로써 연산량을 감소시키는 방법을 제공할 수 있다.
보다 구체적으로 본 발명의 객체 검출 모델(111)은 (1) 일정한 크기를 가진 복수의 셀들로 분할된 타겟 이미지에 대해 서로 다른 해상도를 가진 인코딩 특징맵을 생성하는 복수의 콘볼루션 레이어(Convolution layer)들(210), (2) 복수의 콘볼루션 레이어들 중 최후단에 위치한 제1 콘볼루션 레이어에 의해 생성된 저해상도의 인코딩 특징맵과 제1 콘볼루션 레이어의 이전에 위치한 제2 콘볼루션 레이어에 의해 생성된 고해상도의 인코딩 특징맵을 융합함으로써 디코딩 특징맵을 생성하는 단일의 디콘볼루션 레이어(Deconvolution layer)(220) 및 (3) 생성된 디코딩 특징맵을 이용하여 복수의 셀들 각각에서 예측된 객체 정보를 검출하는 객체 검출 레이어(230)로 구성될 수 있다.
일실시예에 따른 객체 검출 장치(110)에 의해 실행되는 객체 검출 모델(111)의 동작은 다음과 같다. 먼저, 객체 검출 모델(111)은 일정한 크기를 가진 복수의 셀들로 분할된 타겟 이미지(120)가 입력되면, 복수의 콘볼루션 레이어들(210)을 통해 서로 다른 해상도를 가진 인코딩 특징맵을 생성할 수 있다. 도 2를 참고하면, 1248x384x3의 타겟 이미지(120)가 객체 검출 모델(111)에 입력되면, Conv_1 내지 Conv_5에 해당하는 복수의 콘볼루션 레이어들(210)을 통해 서로 다른 해상도를 가진 인코딩 특징맵들(ex, Conv_5 : 2048개, Conv_4 : 1024개)이 생성되는 것을 알 수 있다.
이때, 도 2에서, 객체 검출 모델(111)은 복수의 콘볼루션 레이어들(210)에 대응하는 인코더의 종류로 ReseNet50 모델을 제공하고 있으나 이에 한정되지 않고, VGG, XceptionNet, ResnetXT, SuffleNet 등 다양한 모델이 적용될 수 있다.
이후 객체 검출 모델(111)은 단일의 디콘볼루션 레이어(220)를 통해 복수의 콘볼루션 레이어들(210)에 의해 생성된 인코딩 특징맵들 중 후반부 콘볼루션 레이어들에 의해 생성된 인코딩 특징맵들을 융합함으로써 디코딩 특징맵을 생성할 수 있다. 도 2를 참고하면, 복수의 콘볼루션 레이어들(210) 중 후반부 콘볼루션 레이어에 대응하는 Conv_5와 Conv_4에 의해 생성된 인코딩 특징맵들이 디콘볼루션 레이어(220)에 입력되는 것을 확인할 수 있다. 이때, Conv_5가 Conv_4 보다 후단에 있으므로, Conv_5의 인코딩 특징맵이 Conv_4의 인코딩 특징맵 보다 해상도가 낮을 수 있다.
구체적으로 단일의 디콘볼루션 레이어(220)는 저해상도의 인코딩 특징맵에 대해 순차적으로 1x1 콘볼루션, 업샘플링 및 3x3 콘볼루션을 수행함으로써 저해상도의 인코딩 특징맵을 고해상도를 변환할 수 있다. 여기서 3x3 콘볼루션은 객체 검출을 위한 디코딩 특징맵을 생성할 때, 수용 영역(Receptive field)을 결정하는 요소로 볼 수 있다. 본 발명의 객체 검출 모델(111)은 보다 넓은 수용 영역을 고려하기 위하여 도 2와 같이 디콘볼루션 레이어(220)에 3x3 콘볼루션 레이어(221)를 추가함으로써 수용 영역을 증가시키고, 디콘볼루션 레이어(220)의 깊이를 증가시켜 객체 검출 모델의 표현력과 수용력을 증가시키는 방법을 제공한다.
이후 단일의 디콘볼루션 레이어(220)는 고해상도로 변환된 저해상도의 인코딩 특징맵과 콘볼루션 레이어들(210)에서 입력된 고해상도의 인코딩 특징맵을 결합(Concatenation) 한 후 1x1 콘볼루션을 수행함으로써 최종적으로 고해상도의 융합 특징을 가지는 디코딩 특징맵을 생성할 수 있다. 도 2를 참고하면, 디콘볼루션 레이어(220)에서 Conv_5 및 Conv_4에 대응하는 인코딩 특징맵들을 이용하여 512 채널(Channel)에 대한 78x24x512의 디코딩 특징맵이 생성되는 것을 확인할 수 있다.
이후 객체 검출 레이어(230)는 디코딩 특징맵을 이용하여 타겟 이미지(120)를 구성하는 복수의 셀들 각각에서 예측된 객체 정보를 포함하는 객체 검출 특징맵을 생성할 수 있다. 일례로, 도 2를 참고하면, 객체 검출 레이어(230)에서 디코딩 특징맵에 1x1x8 콘볼루션이 적용됨으로써 74x24x8의 객체 검출 특징맵이 생성되는 것을 확인할 수 있다. 이때, 객체 검출 특징맵은 복수의 셀들 각각에서 예측된 객체의 유무 정보(1 채널), 예측된 객체의 클래스 정보(3 채널) 및 예측된 객체가 존재할 것으로 예상되는 영역에 대응하는 바운딩 박스 정보(4 채널) 중 적어도 하나의 정보를 포함할 수 있다. 이때, 도 2에서 객체의 클래스 정보가 3채널로 한정되어 있으나, 검출 가능한 객체의 종류에 따라 클래스 정보의 채널 수도 변경될 수 있다.
마지막으로 객체 검출 장치(110)는 객체 검출 레이어(230)를 통해 생성된 객체 검출 특징맵에 대해 중복되는 바운딩 박스의 영역을 제거함으로써 최종적인 객체의 검출 영역을 결정할 수 있다. 일례로, 도 2를 참고하면, 객체 검출 장치(110)는 생성된 객체 검출 특징맵에 대해 Non-Maximum Suppression(NMS)을 적용함으로써 타겟 이미지(120)에서 최종적인 객체의 검출 영역을 결정할 수 있다.
도 3은 본 발명의 일실시예에 따른 멀티 태스크(Multi-Task) 기반의 객체 검출 장치를 도시한 도면이다.
멀티 태스크 모델의 기본 구조는 크게 하드 파라미터 쉐어링(Hard Parameter sharing)과 소프트 파라미터 쉐어링(Soft parameter sharing)의 구조로 분류 할 수 있다. 하드 파라미터 쉐어링 구조는 소프트 파라미터 쉐어링 구조와 달리 쉐어링 레이어(Sharing Layer)로부터 공통 특징을 획득하고, 획득된 공통 특징을 각 태스크 도메인의 특징으로 변환한 후 각 태스크 결과를 수행하는 구조이다. 이는 태스크 간의 중복 연산을 최소화 하여 파라미터 수를 줄이고, 이를 통한 연산 복잡성을 감소시킬 수 있다. 또한, 멀티 태스크 모델은 모델 학습 시 여러 태스크의 학습에 따른 다각화된 데이터를 많이 학습 시킬 수 있어 효율적으로 모델의 오버피팅(overffting) 방지 하고, 쉐어링 레이어의 특징 표현력을 증가시켜 학습 모델의 성능을 향상 시킬 수 있다.
본 발명의 객체 검출 장치(110)는 도 3과 같이 멀티 태스크 구조를 객체 검출 모델에 적용하였다. 우선, 객체 검출 모델의 쉐어링 레이어인 백본(Backbone)(310)에 특성/유형/목적에 따라 각각 설계된 디코더들(320~350)이 병렬로 연결될 수 있다. 이때, 백본(310)은 도 2의 객체 검출 모델(111)의 콘볼루션 레이어들(210)에 대응하고, 디코더들(320~350)은 디콘볼루션 레이어(220)에 대응할 수 있다.
여기서, 백본(310)은 VGG, ResNet 등의 인코더로 구성되거나, 또는 이런 인코더를 기반으로 구성된 Feature Pyramid Network, Atrous Spatial Pyramid Pooling과 같은 구조로 구성될 수 있다. 그리고, 백본(310)에 연결되는 디코더들(320~350)은 사용자의 사용 목적에 따라 플러그 앤 플레이(Plug and Play, PnP) 될 수 있는 구조로 구성될 수 있다.
한편, 본 발명의 멀티 태스크 구조를 가지는 객체 검출 장치(110)는 백본(310) + 각각의 디코더들(320~350)에 대응되는 단일 객체 검출 모델의 순차적인 학습 방법을 통해 전체 객체 검출 모델을 학습 할 수 있다. 일례로, 객체 검출 장치(110)는 제1 디코더(320)의 학습 데이터를 이용하여 쉐어 레이어인 백본(310)과 제1 디코더(320)를 학습하고, 제2 디코더(330)의 학습 데이터를 이용하여 쉐어 레이어인 백본(310)와 제2 디코더(330)를 학습할 수 있다. 마찬가지로, 제3 디코더(340)의 학습 데이터와 제4 디코더(350)의 학습 데이터에 대해서도 객체 검출 장치(110)는 상기와 같은 학습 방법을 순차적으로 반복하여 적용할 수 있다.
이러한 학습 방법은 일종에 앙상블 학습 방법과 유사하여, 쉐어 레이어인 백본(310)가 다각화된 많은 데이터를 학습 할 수 있어 오버피팅을 방지 할 수 있다. 뿐만 아니라, 이러한 학습 방법은 다양한 각도의 학습 데이터를 상관관계(Correlation)가 높은 특징 데이터로 표현 할 수 있는 능력을 향상시켜, 각각의 단일 디코더들(320~350)의 성능을 향상 시킬 수 있다.
또한, 본 발명의 멀티 태스크 구조를 가지는 객체 검출 장치(110)는 각각의 특성/유형/목적에 따라 설계된 단일 객체 검출 모델의 학습 데이터 셋이 적더라도, 다른 유사 객체 검출 모델의 학습 데이터를 통해 보충 학습을 할 수 있어 학습 데이터 부족 문제를 해결 할 수 있다. 이에 따라, 본 발명의 멀티 태스크 구조를 가지는 객체 검출 장치(110)는 기존의 특성/유형/목적에 따른 학습 데이터의 주석 및 정제 비용과, 각 학습 데이터의 특성 및 유형에 따른 객체 검출 모델의 설계 비용은 물론 학습 비용을 줄일 수 있는 장점이 있다.
일례로, 도 3을 참고하면, 제1 디코더(320)는 CoCo 데이터 셋을 위한 객체 검출 모델이고, 제2 디코더(330)는 Kitti 데이터 셋을 위한 객체 검출 모델일 수 있다. 여기서, CoCo 데이터 셋은 80가지의 객체를 검출 하는 데이터 셋으로써 여러 상황이 집합된 OpenData 셋이며, 객체의 폐색(Occlusion)된 영역을 예측하지 않고 주석화된 그라운드 트루쓰(Ground Truth, 이하 GT)를 가지고 있다. 반면에, KITTI 데이터 셋은 도로 주행 상황에서 3가지 객체를 검출 하는 데이터 셋으로써, 객체의 폐색된 영역을 예측하고, 주석화된 GT를 가지고 있다. 이에 따라, 두 가지 데이터 셋의 특성 및 유형과 이에 대한 객체 검출 목적이 달라, 디코더에 대응하는 객체 검출 모델을 별도로 구성해야 한다.
본 발명의 멀티 태스크 구조를 가지는 객체 검출 장치(110)는 데이터 셋의 특성/유형/목적에 따라 별도로 구성된 객체 검출 모델들의 순차적인 반복 학습 방법을 통해 학습 데이터의 주석 및 정제 비용과, 각 학습 데이터의 특성 및 유형에 따른 객체 검출 모델의 설계 비용은 물론 학습 비용을 줄일 수 있다.
도 4는 본 발명의 일실시예에 따른 객체 검출 모델의 학습 손실(Loss) 계산 방법을 도시한 도면이다.
종래의 객체 검출 방법은 하나의 셀에 복수의 앵커를 두어 크기 및 모양 별로 나누어 학습을 수행하고, 수행된 결과에 대한 학습 손실을 계산하였다. 이와는 달리 본 발명의 객체 검출 장치(110)는 거리 기반의 GT-Cell 인코딩 방법을 제공하며, 별도의 앵커 없이 하나의 셀에서 예측된 객체의 유무(Objectness) 정보, 예측된 객체의 클래스(Class) 정보 및 예측된 객체가 존재할 것으로 예상되는 영역에 대응하는 바운딩 박스(bounding box) 정보를 동시에 학습하는 방법을 제공할 수 있다.
먼저, 객체 검출 장치(110)는 셀과 GT 박스 사이의 거리를 기준으로 셀과 GT 박스 간 매칭을 수행할 수 있다. 도 4를 참고하면,
Figure 112019111590179-pat00001
,
Figure 112019111590179-pat00002
는 셀과 GT 박스 사이의 거리를 나타낸다. 여기서
Figure 112019111590179-pat00003
,
Figure 112019111590179-pat00004
는 복수의 셀들 각각의 중심점과 GT 박스의 중심점 간 거리에 관한 것으로 아래의 식 1과 같이 표현할 수 있다.
<식 1>
Figure 112019111590179-pat00005
,
Figure 112019111590179-pat00006
= box_center - cell_center (image plane)
그리고, S는 해당 특징맵의 스트라이드(stride) 크기(cell 크기)를 나타내고, wh는 GT 박스의 폭과 높이를 나타낸다.
Figure 112019111590179-pat00007
는 상대적 거리 기준 비율, b는 최소 거리 기준 비율, c는 최대 거리 기준 비율을 각각 나타낸다.
이때, 객체 검출 장치(110)는
Figure 112019111590179-pat00008
,
Figure 112019111590179-pat00009
가 각각 최대 거리 기준 cS보다 작으면서 aw, ah 보다 작거나, 최소 거리 기준 bS보다 작으면 해당 셀과 GT 박스를 매칭할 수 있다. 즉, 객체 검출 장치(110)는 아래의 식 2를 만족하는 경우, 셀과 GT 박스 간 매칭을 수행할 수 있다.
<식 2>
Figure 112019111590179-pat00010
객체 검출 장치(110)는 최대 거리 기준을 통해 GT 박스와 셀 간의 거리가 일정 이상 멀어질 경우 매칭하지 않음으로써 객체의 크기에 따른 셀 선택의 편차를 줄일 수 있다. 이와 같이 객체 검출 장치(110)는 검출하고자 하는 객체의 모양 변화에 대한 학습 정도의 편차의 줄임으로써 일반화된 학습이 가능하게 할 수 있다.
그리고, 객체 검출 장치(110)는 매칭된 셀에 대해서만 GT의 클래스 및 바운딩 박스에 대한 정보와, 해당 매칭된 셀에서 예측된 클래스 및 바운딩 박스 정보를 이용하여 학습 손실을 계산할 수 있다. 이와 같은 거리기반 GT-Cell 인코딩 기법은 k개의 앵커가 아닌 1개의 셀에 대해 모든 GT를 학습하기 때문에 출력 채널은 C+4개가 된다. 여기서, C는 클래스 수를 의미하고, 4는 예측된 객체의 영역 정보를 의미한다.
도 5는 본 발명의 일실시예에 따른 객체 검출 방법을 플로우챠트로 도시한 도면이다.
단계(510)에서, 객체 검출 장치(100)는 학습하고자 하는 타겟 이미지를 일정한 크기를 가진 복수의 셀들로 분할할 수 있다.
단계(520)에서, 객체 검출 장치(100)는 객체 검출 모듈에 포함된 복수의 콘볼루션 레이어(Convolution layer)들을 통해 타겟 이미지로부터 복수의 콘볼루션 레이어들 각각에 대응하는 서로 다른 해상도를 가진 인코딩 특징맵을 생성할 수 있다. 이때, 복수의 콘볼루션 레이어에 대응하는 인코더는 ReseNet50, VGG, XceptionNet, ResnetXT, SuffleNet 등 다양한 모델이 적용될 수 있다.
단계(530)에서, 객체 검출 장치(100)는 객체 검출 모듈에 포함된 단일의 디콘볼루션 레이어(Deconvolution layer)를 통해 복수의 콘볼루션 레이어들 중 최후단에 위치한 제1 콘볼루션 레이어에 의해 생성된 저해상도의 인코딩 특징맵과 제1 콘볼루션의 이전단에 위치한 제2 콘볼루션 레이어에 의해 생성된 고해상도의 인코딩 특징맵을 융합함으로써 디코딩 특징맵을 생성할 수 있다.
구체적으로 단일의 디콘볼루션 레이어는 저해상도의 인코딩 특징맵에 대해 순차적으로 1x1 콘볼루션, 업샘플링 및 3x3 콘볼루션을 수행함으로써 저해상도의 인코딩 특징맵을 고해상도를 변환할 수 있다. 본 발명의 객체 검출 장치(110)는 보다 넓은 수용 영역을 고려하기 위하여 단일의 디콘볼루션 레이어에 3x3 콘볼루션 레이어를 추가함으로써 수용 영역을 증가시키고, 디콘볼루션 레이어의 깊이를 증가시켜 객체 검출 모델의 표현력과 수용력을 증가시키는 방법을 제공한다.
이후 객체 검출 장치(110)은 단일의 디콘볼루션 레이어를 통해 고해상도로 변환된 저해상도의 인코딩 특징맵과 콘볼루션 레이어들에서 입력된 고해상도의 인코딩 특징맵을 결합(Concatenation) 한 후 1x1 콘볼루션을 수행함으로써 최종적으로 고해상도의 융합 특징을 가지는 디코딩 특징맵을 생성할 수 있다.
단계(540)에서, 객체 검출 장치(100)는 객체 검출 모듈에 포함된 객체 검출 레이어를 통해 디코딩 특징맵을 이용하여 복수의 셀들 각각에서 예측된 객체 정보를 검출할 수 있다. 복수의 셀들 각각에서 예측된 객체 정보는 복수의 셀들 각각에서 예측된 객체의 유무(Objectness) 정보, 예측된 객체의 클래스(Class) 정보 및 예측된 객체가 존재할 것으로 예상되는 영역에 대응하는 바운딩 박스(bounding box) 정보 중 적어도 하나를 포함할 수 있다.
단계(550)에서, 객체 검출 장치(100)는 복수의 셀들 각각에서 예측된 객체 정보 중 중복되는 바운딩 박스의 영역을 제거함으로써 최종적인 객체의 검출 영역을 결정할 수 있다.
단계(560)에서, 객체 검출 장치(100)는 복수의 셀들 각각과 미리 설정된 GT 박스 간 거리 정보를 이용하여 객체 검출 모델의 학습 손실(Loss)을 계산할 수 있다. 보다 구체적으로 객체 검출 장치(100)는 복수의 셀들 각각과 GT 박스 간 거리에 기초하여 복수의 셀들 각각과 GT 박스 간 매칭을 수행하고, GT 박스와의 매칭이 수행된 셀에서 예측된 객체 정보와 GT 박스에 대응하는 객체 정보를 이용하여 손실 함수(Loss function)를 계산함으로써 객체 검출 모델의 학습 손실을 계산할 수 있다.
이때, 객체 검출 장치(100)는 복수의 셀들 각각의 셀 크기 및 GT 박스의 크기에 대한 상대적 거리 기준 비율, 최소 거리 기준 비율 및 최대 거리 기준 비율을 이용하여 복수의 셀들 각각의 중심점과 GT 박스의 중심점 간 거리를 결정하고, 결정된 거리가 미리 설정된 기준 이하인 셀들을 GT 박스에 매칭할 수 있다.
마지막으로 단계(570)에서, 객체 검출 장치(110)는 계산된 객체 검출 모델의 학습 손실이 최소가 되도록 객체 검출 모델의 매개 변수 값을 조절함으로써 객체 검출 모델의 성능을 최적화할 수 있다.
한편, 본 발명에 따른 방법은 컴퓨터에서 실행될 수 있는 프로그램으로 작성되어 마그네틱 저장매체, 광학적 판독매체, 디지털 저장매체 등 다양한 기록 매체로도 구현될 수 있다.
본 명세서에 설명된 각종 기술들의 구현들은 디지털 전자 회로조직으로, 또는 컴퓨터 하드웨어, 펌웨어, 소프트웨어로, 또는 그들의 조합들로 구현될 수 있다. 구현들은 데이터 처리 장치, 예를 들어 프로그램가능 프로세서, 컴퓨터, 또는 다수의 컴퓨터들의 동작에 의한 처리를 위해, 또는 이 동작을 제어하기 위해, 컴퓨터 프로그램 제품, 즉 정보 캐리어, 예를 들어 기계 판독가능 저장 장치(컴퓨터 판독가능 매체) 또는 전파 신호에서 유형적으로 구체화된 컴퓨터 프로그램으로서 구현될 수 있다. 상술한 컴퓨터 프로그램(들)과 같은 컴퓨터 프로그램은 컴파일된 또는 인터프리트된 언어들을 포함하는 임의의 형태의 프로그래밍 언어로 기록될 수 있고, 독립형 프로그램으로서 또는 모듈, 구성요소, 서브루틴, 또는 컴퓨팅 환경에서의 사용에 적절한 다른 유닛으로서 포함하는 임의의 형태로 전개될 수 있다. 컴퓨터 프로그램은 하나의 사이트에서 하나의 컴퓨터 또는 다수의 컴퓨터들 상에서 처리되도록 또는 다수의 사이트들에 걸쳐 분배되고 통신 네트워크에 의해 상호 연결되도록 전개될 수 있다.
컴퓨터 프로그램의 처리에 적절한 프로세서들은 예로서, 범용 및 특수 목적 마이크로프로세서들 둘 다, 및 임의의 종류의 디지털 컴퓨터의 임의의 하나 이상의 프로세서들을 포함한다. 일반적으로, 프로세서는 판독 전용 메모리 또는 랜덤 액세스 메모리 또는 둘 다로부터 명령어들 및 데이터를 수신할 것이다. 컴퓨터의 요소들은 명령어들을 실행하는 적어도 하나의 프로세서 및 명령어들 및 데이터를 저장하는 하나 이상의 메모리 장치들을 포함할 수 있다. 일반적으로, 컴퓨터는 데이터를 저장하는 하나 이상의 대량 저장 장치들, 예를 들어 자기, 자기-광 디스크들, 또는 광 디스크들을 포함할 수 있거나, 이것들로부터 데이터를 수신하거나 이것들에 데이터를 송신하거나 또는 양쪽으로 되도록 결합될 수도 있다. 컴퓨터 프로그램 명령어들 및 데이터를 구체화하는데 적절한 정보 캐리어들은 예로서 반도체 메모리 장치들, 예를 들어, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(Magnetic Media), CD-ROM(Compact Disk Read Only Memory), DVD(Digital Video Disk)와 같은 광 기록 매체(Optical Media), 플롭티컬 디스크(Floptical Disk)와 같은 자기-광 매체(Magneto-Optical Media), 롬(ROM, Read Only Memory), 램(RAM, Random Access Memory), 플래시 메모리, EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM) 등을 포함한다. 프로세서 및 메모리는 특수 목적 논리 회로조직에 의해 보충되거나, 이에 포함될 수 있다.
또한, 컴퓨터 판독가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용매체일 수 있고, 컴퓨터 저장매체 및 전송매체를 모두 포함할 수 있다.
본 명세서는 다수의 특정한 구현물의 세부사항들을 포함하지만, 이들은 어떠한 발명이나 청구 가능한 것의 범위에 대해서도 제한적인 것으로서 이해되어서는 안되며, 오히려 특정한 발명의 특정한 실시형태에 특유할 수 있는 특징들에 대한 설명으로서 이해되어야 한다. 개별적인 실시형태의 문맥에서 본 명세서에 기술된 특정한 특징들은 단일 실시형태에서 조합하여 구현될 수도 있다. 반대로, 단일 실시형태의 문맥에서 기술한 다양한 특징들 역시 개별적으로 혹은 어떠한 적절한 하위 조합으로도 복수의 실시형태에서 구현 가능하다. 나아가, 특징들이 특정한 조합으로 동작하고 초기에 그와 같이 청구된 바와 같이 묘사될 수 있지만, 청구된 조합으로부터의 하나 이상의 특징들은 일부 경우에 그 조합으로부터 배제될 수 있으며, 그 청구된 조합은 하위 조합이나 하위 조합의 변형물로 변경될 수 있다.
마찬가지로, 특정한 순서로 도면에서 동작들을 묘사하고 있지만, 이는 바람직한 결과를 얻기 위하여 도시된 그 특정한 순서나 순차적인 순서대로 그러한 동작들을 수행하여야 한다거나 모든 도시된 동작들이 수행되어야 하는 것으로 이해되어서는 안 된다. 특정한 경우, 멀티태스킹과 병렬 프로세싱이 유리할 수 있다. 또한, 상술한 실시형태의 다양한 장치 컴포넌트의 분리는 그러한 분리를 모든 실시형태에서 요구하는 것으로 이해되어서는 안되며, 설명한 프로그램 컴포넌트와 장치들은 일반적으로 단일의 소프트웨어 제품으로 함께 통합되거나 다중 소프트웨어 제품에 패키징 될 수 있다는 점을 이해하여야 한다.
한편, 본 명세서와 도면에 개시된 본 발명의 실시 예들은 이해를 돕기 위해 특정 예를 제시한 것에 지나지 않으며, 본 발명의 범위를 한정하고자 하는 것은 아니다. 여기에 개시된 실시 예들 이외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 자명한 것이다.
100 : 객체 검출 시스템
110 : 객체 검출 장치
111 : 객체 검출 모델
120 : 타겟 이미지
130 : 결과 이미지

Claims (17)

  1. 객체 검출 장치에 의해 구현되는 객체 검출 모델의 학습 방법에 있어서,
    상기 객체 검출 장치에서, 학습하고자 하는 타겟 이미지를 일정한 크기를 가진 복수의 셀들로 분할하는 단계;
    상기 객체 검출 장치에서, 상기 객체 검출 모델에 포함된 복수의 콘볼루션 레이어(Convolution layer)들을 상기 타겟 이미지에 순차적으로 적용하여, 서로 다른 해상도를 가진 인코딩 특징맵들을 생성하되, 상기 타겟 이미지에 최선단에 위치한 첫번째 콘볼루션 레이어가 적용됨에 따라 첫번째 인코딩 특징맵을 생성하고, 상기 첫번째 인코딩 특징맵에 상기 첫번째 콘볼루션 레이어 다음에 위치하는 두번째 콘볼루션 레이어가 적용됨에 따라 상기 첫번째 인코딩 특징맵과 해상도가 다른 두번째 인코딩 특징맵을 생성하는 단계;
    상기 객체 검출 장치에서, 상기 객체 검출 모델에 포함된 단일의 디콘볼루션 레이어(Deconvolution layer)를 통해 상기 복수의 콘볼루션 레이어들 중 최후단에 위치한 제1 콘볼루션 레이어에 의해 생성된 저해상도의 인코딩 특징맵과 상기 제1 콘볼루션의 이전단에 위치한 제2 콘볼루션 레이어에 의해 생성된 고해상도의 인코딩 특징맵을 융합함으로써 디코딩 특징맵을 생성하는 단계; 및
    상기 객체 검출 장치에서, 상기 객체 검출 모델에 포함된 객체 검출 레이어를 통해 상기 생성된 디코딩 특징맵을 이용하여 상기 복수의 셀들 각각에서 예측된 객체 정보를 검출하는 단계
    를 포함하고,
    상기 단일의 디콘볼루션 레이어는,
    1×1 콘볼루션, 업샘플링 및 3×3 콘볼루션을 순차적으로 수행하도록 구성되는, 객체 검출 모델의 학습 방법.
  2. 제1항에 있어서,
    상기 복수의 셀들 각각에서 예측된 객체 정보는,
    상기 복수의 셀들 각각에서 예측된 객체의 유무(Objectness) 정보, 상기 예측된 객체의 클래스(Class) 정보 및 상기 예측된 객체가 존재할 것으로 예상되는 영역에 대응하는 바운딩 박스(bounding box) 정보 중 적어도 하나를 포함하는 객체 검출 모델의 학습 방법.
  3. 제1항에 있어서,
    상기 객체 검출 장치에서, 상기 복수의 셀들 각각에서 예측된 객체 정보 중 중복되는 바운딩 박스의 영역을 제거함으로써 최종적인 객체의 검출 영역을 결정하는 단계
    를 더 포함하는 객체 검출 모델의 학습 방법.
  4. 제1항에 있어서,
    상기 객체 검출 장치에서, 상기 복수의 셀들 각각과 미리 설정된 그라운드 트루스(Ground Truth, 이하 GT) 박스 간 거리 정보를 이용하여 상기 객체 검출 모델의 학습 손실(Loss)을 계산하는 단계
    를 더 포함하는 객체 검출 모델의 학습 방법.
  5. 제4항에 있어서,
    상기 객체 검출 모델의 학습 손실을 계산하는 단계는,
    상기 복수의 셀들 각각과 상기 GT 박스 간 거리에 기초하여 상기 복수의 셀들 각각과 상기 GT 박스 간 매칭을 수행하는 단계; 및
    상기 GT 박스와의 매칭이 수행된 셀에서 예측된 객체 정보와 상기 GT 박스에 대응하는 객체 정보를 이용하여 손실 함수(Loss function)를 계산함으로써 상기 객체 검출 모델의 학습 손실을 계산하는 단계
    를 포함하는 객체 검출 모델의 학습 방법.
  6. 제5항에 있어서,
    상기 복수의 셀들 각각과 상기 GT 박스 간 매칭을 수행하는 단계는,
    상기 복수의 셀들 각각의 셀 크기 및 상기 GT 박스의 크기에 대한 상대적 거리 기준 비율, 최소 거리 기준 비율 및 최대 거리 기준 비율을 이용하여 상기 복수의 셀들 각각의 중심점과 상기 GT 박스의 중심점 간 거리를 결정하는 단계; 및
    상기 결정된 거리가 미리 설정된 기준 이하인 셀들을 상기 GT 박스에 매칭하는 단계
    를 포함하는 객체 검출 모델의 학습 방법.
  7. 제4항에 있어서,
    상기 객체 검출 장치에서, 상기 계산된 객체 검출 모델의 학습 손실이 최소가 되도록 상기 객체 검출 모델의 매개 변수 값을 조절하는 단계
    를 더 포함하는 객체 검출 모델의 학습 방법.
  8. 적어도 하나의 프로세서에 의해 실행될 때, 상기 적어도 하나의 프로세서로 하여금, 제1항 내지 제7항 중 어느 한 항의 방법을 실행하게 하기 위한 프로그램이 기록된 컴퓨터에서 판독 가능한 기록 매체.
  9. 객체 검출 모델이 실행되는 객체 검출 장치에 있어서,
    프로세서;
    를 포함하고,
    상기 객체 검출 모델은,
    일정한 크기를 가진 복수의 셀들로 분할된 타겟 이미지에 순차적으로 적용되어, 서로 다른 해상도를 가진 인코딩 특징맵을 생성하는 복수의 콘볼루션 레이어(Convolution layer)들―상기 복수의 콘볼루션 레이어들은 상기 타겟 이미지에 적용됨에 따라 첫번째 인코딩 특징맵을 생성하는, 최선단에 위치한 첫번째 콘볼루션 레이어, 상기 첫번째 인코딩 특징맵에 적용됨에 따라 상기 첫번째 인코딩 특징맵과 해상도가 다른 두번째 인코딩 특징맵을 생성하는, 상기 첫번째 콘볼루션 레이어 다음에 위치한 두번째 콘볼루션 레이어를 포함함―;
    상기 복수의 콘볼루션 레이어들 중 최후단에 위치한 제1 콘볼루션 레이어에 의해 생성된 저해상도의 인코딩 특징맵과 상기 제1 콘볼루션 레이어의 이전에 위치한 제2 콘볼루션 레이어에 의해 생성된 고해상도의 인코딩 특징맵을 융합함으로써 디코딩 특징맵을 생성하는 단일의 디콘볼루션 레이어(Deconvolution layer); 및
    상기 생성된 디코딩 특징맵을 이용하여 상기 복수의 셀들 각각에서 예측된 객체 정보를 검출하는 객체 검출 레이어
    를 포함하고,
    상기 단일의 디콘볼루션 레이어는,
    1×1 콘볼루션, 업샘플링 및 3×3 콘볼루션을 순차적으로 수행하도록 구성되는, 객체 검출 장치.
  10. 제9항에 있어서,
    상기 복수의 셀들 각각에서 예측된 객체 정보는,
    상기 복수의 셀들 각각에서 예측된 객체의 유무(Objectness) 정보, 상기 예측된 객체의 클래스(Class) 정보 및 상기 예측된 객체가 존재할 것으로 예상되는 영역에 대응하는 바운딩 박스(bounding box) 정보 중 적어도 하나를 포함하는 객체 검출 장치.
  11. 제9항에 있어서,
    상기 프로세서는,
    상기 객체 검출 레이어를 통해 예측된 상기 복수의 셀들 각각의 객체 정보 중 중복되는 바운딩 박스의 영역을 제거함으로써 최종적인 객체의 검출 영역을 결정하는 객체 검출 장치.
  12. 제9항에 있어서,
    상기 프로세서는,
    상기 복수의 셀들 각각과 미리 설정된 그라운드 트루스(Ground Truth, 이하 GT) 박스 간 거리 정보를 이용하여 상기 객체 검출 모델의 학습 손실(Loss)을 계산하는 객체 검출 장치.
  13. 제12항에 있어서,
    상기 프로세서는,
    상기 복수의 셀들 각각과 상기 GT 박스 간 거리에 기초하여 상기 복수의 셀들 각각과 상기 GT 박스 간 매칭을 수행하고, 상기 GT 박스와의 매칭이 수행된 셀에서 예측된 객체 정보와 상기 GT 박스에 대응하는 객체 정보를 이용하여 손실 함수(Loss function)를 계산함으로써 상기 객체 검출 모델의 학습 손실을 계산하는 객체 검출 장치.
  14. 제13항에 있어서,
    상기 프로세서는,
    상기 복수의 셀들 각각의 셀 크기 및 상기 GT 박스의 크기에 대한 상대적 거리 기준 비율, 최소 거리 기준 비율 및 최대 거리 기준 비율을 이용하여 상기 복수의 셀들 각각의 중심점과 상기 GT 박스의 중심점 간 거리를 결정하고, 상기 결정된 거리가 미리 설정된 기준 이하인 셀들을 상기 GT 박스에 매칭하는 객체 검출 장치.
  15. 제12항에 있어서,
    상기 프로세서는,
    상기 계산된 객체 검출 모델의 학습 손실이 최소가 되도록 상기 객체 검출 모델의 매개 변수 값을 조절하는 객체 검출 장치.
  16. 제9항에 있어서,
    상기 객체 검출 모델은,
    상기 복수의 콘볼루션 레이어들의 후단에 서로 다른 객체의 특성에 따라 설계된 복수의 디콘볼루션 레이어들이 병렬로 배치되는 객체 검출 장치.
  17. 제16항에 있어서,
    상기 프로세서는,
    상기 병렬로 배치된 복수의 디콘볼루션 레이어들 각각에 대응하는 학습 데이터를 이용하여 상기 복수의 콘볼루션 레이어들 및 상기 복수의 디콘볼루션 레이어들을 순차적으로 반복 학습하는 객체 검출 장치.
KR1020190137353A 2019-10-31 2019-10-31 객체 검출 모델의 학습 방법 및 객체 검출 모델이 실행되는 객체 검출 장치 KR102315311B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020190137353A KR102315311B1 (ko) 2019-10-31 2019-10-31 객체 검출 모델의 학습 방법 및 객체 검출 모델이 실행되는 객체 검출 장치
PCT/KR2020/007403 WO2021085784A1 (ko) 2019-10-31 2020-06-08 객체 검출 모델의 학습 방법 및 객체 검출 모델이 실행되는 객체 검출 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190137353A KR102315311B1 (ko) 2019-10-31 2019-10-31 객체 검출 모델의 학습 방법 및 객체 검출 모델이 실행되는 객체 검출 장치

Publications (2)

Publication Number Publication Date
KR20210051722A KR20210051722A (ko) 2021-05-10
KR102315311B1 true KR102315311B1 (ko) 2021-10-19

Family

ID=75715263

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190137353A KR102315311B1 (ko) 2019-10-31 2019-10-31 객체 검출 모델의 학습 방법 및 객체 검출 모델이 실행되는 객체 검출 장치

Country Status (2)

Country Link
KR (1) KR102315311B1 (ko)
WO (1) WO2021085784A1 (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113269747B (zh) * 2021-05-24 2023-06-13 浙江大学医学院附属第一医院 一种基于深度学习的病理图片肝癌扩散检测方法及系统
WO2023282703A1 (ko) * 2021-07-09 2023-01-12 삼성전자 주식회사 영상 처리 장치 및 그 동작 방법
KR102589986B1 (ko) * 2021-10-05 2023-10-17 인하대학교 산학협력단 적대적 초해상도 다중 스케일 특징맵 학습 및 객체 검출기
CN114332638B (zh) * 2021-11-03 2023-04-25 中科弘云科技(北京)有限公司 遥感图像目标检测方法、装置、电子设备及介质
WO2023128323A1 (ko) * 2021-12-28 2023-07-06 삼성전자 주식회사 목표 객체를 검출하는 전자 장치 및 방법
WO2023127995A1 (ko) * 2021-12-29 2023-07-06 한국전자기술연구원 회전형 바운딩박스 기반 객체 검출 딥러닝 네트워크
WO2023221013A1 (zh) * 2022-05-19 2023-11-23 中国科学院深圳先进技术研究院 基于特征融合的小目标检测方法、装置、设备及存储介质
KR102589551B1 (ko) * 2022-10-12 2023-10-13 중앙대학교 산학협력단 다중 스케일 객체 검출 방법 및 그 장치
KR102539680B1 (ko) * 2023-01-27 2023-06-02 주식회사 컴패니언즈 인공지능 모델을 이용하여 이미지로부터 객체를 인식하는 방법

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102400017B1 (ko) * 2017-05-17 2022-05-19 삼성전자주식회사 객체를 식별하는 방법 및 디바이스
KR101932009B1 (ko) * 2017-12-29 2018-12-24 (주)제이엘케이인스펙션 다중 객체 검출을 위한 영상 처리 장치 및 방법

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
PANQU WANG et al., Understanding Convolution for Semantic Segmentation. 2018 IEEE Winter Conference on Applications of Computer Vision (WACV), 1-10pages (2018.06.01)

Also Published As

Publication number Publication date
WO2021085784A1 (ko) 2021-05-06
KR20210051722A (ko) 2021-05-10

Similar Documents

Publication Publication Date Title
KR102315311B1 (ko) 객체 검출 모델의 학습 방법 및 객체 검출 모델이 실행되는 객체 검출 장치
Yang et al. Superpixel segmentation with fully convolutional networks
CN109754064B (zh) 执行解卷积的神经网络的方法和装置
US11521039B2 (en) Method and apparatus with neural network performing convolution
KR102245220B1 (ko) 딥러닝 기반으로 2차원 이미지로부터 3차원 모델을 복원하는 장치 및 그 방법
TW201447776A (zh) 透過圖形處理單元執行物件偵測運算
US10003783B2 (en) Apparatus for generating a three-dimensional color image and a method for producing a three-dimensional color image
US8345064B2 (en) Method and system for tile binning using half-plane edge function
KR102165273B1 (ko) 소형 뉴럴 네트워크의 채널 프루닝(pruning) 방법 및 시스템
US20140035905A1 (en) Method for converting 2-dimensional images into 3-dimensional images and display apparatus thereof
JP2022550730A (ja) 高速なスパースニューラルネットワーク
EP3789928A2 (en) Neural network method and apparatus
EP3855357A1 (en) Image processing method and apparatus using neural network
KR20210024126A (ko) 특징 맵 확대 방법, 장치, 디바이스 및 컴퓨터 판독 가능 기록 매체
CN114241388A (zh) 基于时空记忆信息的视频实例分割方法和分割装置
CN110610184B (zh) 图像的显著目标的检测方法、装置及设备
CN109961061A (zh) 一种边缘计算视频数据结构化方法及系统
CN113807472B (zh) 分级目标检测方法及装置
CN116051850A (zh) 神经网络目标检测方法、装置、介质和嵌入式电子设备
CN113807354B (zh) 图像语义分割方法、装置、设备和存储介质
KR20220063331A (ko) 딥러닝 기반 이미지 재구성 장치 및 그 방법
CN117441169A (zh) 用于密集预测任务的多分辨率神经网络架构搜索空间
KR102400316B1 (ko) 컨텍스트 정보 추출 방법 및 장치
CN114419693A (zh) 一种用于人脸深伪检测的方法和装置
KR20220048300A (ko) 수중 영상 데이터를 생성하는 장치 및 방법

Legal Events

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