KR102309712B1 - 객체의 조건에 따라 모드를 전환할 수 있는 CNN 기반으로 군사 목적, 스마트폰 또는 가상 주행에 사용되는 수도(Pseudo)-3D 바운딩 박스를 검출하는 방법 및 이를 이용한 장치 - Google Patents

객체의 조건에 따라 모드를 전환할 수 있는 CNN 기반으로 군사 목적, 스마트폰 또는 가상 주행에 사용되는 수도(Pseudo)-3D 바운딩 박스를 검출하는 방법 및 이를 이용한 장치 Download PDF

Info

Publication number
KR102309712B1
KR102309712B1 KR1020190119511A KR20190119511A KR102309712B1 KR 102309712 B1 KR102309712 B1 KR 102309712B1 KR 1020190119511 A KR1020190119511 A KR 1020190119511A KR 20190119511 A KR20190119511 A KR 20190119511A KR 102309712 B1 KR102309712 B1 KR 102309712B1
Authority
KR
South Korea
Prior art keywords
layer
test
learning
bounding box
type
Prior art date
Application number
KR1020190119511A
Other languages
English (en)
Other versions
KR20200092846A (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 KR20200092846A publication Critical patent/KR20200092846A/ko
Application granted granted Critical
Publication of KR102309712B1 publication Critical patent/KR102309712B1/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
    • 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
    • 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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
    • G06K9/00791
    • 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
    • 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
    • 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/194Segmentation; Edge detection involving foreground-background segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/25Determination of region of interest [ROI] or a volume of interest [VOI]
    • 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/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/64Three-dimensional objects
    • G06K2209/23
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V2201/00Indexing scheme relating to image or video recognition or understanding
    • G06V2201/08Detecting or categorising vehicles

Landscapes

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

Abstract

본 발명은 이미지 내의 객체 상태에 따라 모드를 전환할 수 있는 CNN 기반으로 수도(Pseudo)-3D 바운딩 박스를 적어도 하나 검출하는 방법에 있어서, (a) 풀링 레이어로 하여금 2D 바운딩 박스에 대응되는 풀링된 특징 맵을 생성하도록 하고, 타입-분류 레이어로 하여금 풀링된 특징 맵 상의 객체가 트렁케이트 되었는지 트렁케이트 되지 않았는지 판별하도록 하는 단계; (b) FC 레이어로 하여금 수도-3D 바운딩 박스에 대응되는 박스 패턴 정보를 생성하도록 하는 단계; (c) 분류 레이어로 하여금 객체에 대한 방향 클래스 정보를 생성하도록 하며, 리그레션 레이어로 하여금 수도-3D 바운딩 박스의 좌표에 대한 리그레션 정보를 생성하도록 하는 단계; 및 (d) FC 로스 레이어로부터 생성된 클래스 로스 및 리그레션 로스를 백프로파게이션하는 단계;를 포함하는 방법을 제공하되, 상기 방법을 통해 가상 주행 중 트렁케이트된 객체를 렌더링(Rendering)할 수 있고 모바일 장치 및 군사 목적으로 사용될 수 있다.

Description

객체의 조건에 따라 모드를 전환할 수 있는 CNN 기반으로 군사 목적, 스마트폰 또는 가상 주행에 사용되는 수도(Pseudo)-3D 바운딩 박스를 검출하는 방법 및 이를 이용한 장치{METHOD FOR DETECTING PSEUDO-3D BOUNDING BOX TO BE USED FOR MILITARY PURPOSE, SMART PHONE OR VIRTUAL DRIVING BASED-ON CNN CAPABLE OF CONVERTING MODES ACCORDING TO CONDITIONS OF OBJECTS AND DEVICE USING THE SAME}
본 발명은 객체의 조건에 따라 모드를 전환할 수 있는 CNN 기반으로 군사 목적, 스마트폰 또는 가상 주행에 사용되는 수도(Pseudo)-3D 바운딩 박스를 검출하는 방법에 있어서, 보다 상세하게는, 상기 CNN 기반의 상기 수도(Pseudo)-3D 바운딩 박스를 적어도 하나 검출하는 방법에 있어서, (a) 적어도 하나의 트레이닝 이미지에 대하여 컨벌루션 연산을 적어도 한 번 적용해 생성되는 적어도 하나의 특징 맵과 상기 트레이닝 이미지에서 적어도 하나의 객체를 포함하는 적어도 하나의 2D 바운딩 박스가 획득되면, 학습 장치가, 풀링 레이어(Pooling Layer)로 하여금 상기 특징 맵 상에서 상기 2D 바운딩 박스에 대응되는 적어도 하나의 영역에 대하여 풀링 연산을 적어도 한 번 적용하도록 하여 적어도 하나의 풀링된 특징 맵을 생성하도록 하고, 타입-분류 레이어(Type-Classifying Layer)로 하여금 상기 풀링된 특징 맵을 참조하여 상기 풀링된 특징 맵 내의 상기 객체의 이미지가 트렁케이트(Truncate) 되었는지 트렁케이트 되지 않았는지를 판별하도록 하는 단계; (b) 상기 객체의 이미지가 트렁케이트 된 상태이면 상기 객체를 제1 타입(First Type)이라고 하고 상기 객체의 이미지가 트렁케이트 되지 않은 상태이면 상기 객체를 제2 타입(Second Type)이라고 하면, 상기 학습 장치가, 상기 풀링된 특징 맵 내의 상기 객체의 이미지가 트렁케이트 되었는지 트렁케이트 되지 않았는지에 대한 정보를 참조하여 상기 제1 타입과 상기 제2 타입 각각에 대응되는 각각의 FC 레이어 중 하나로 하여금 상기 풀링된 특징 맵에 대하여 신경망 연산을 적어도 한 번 적용하도록 하여 상기 수도-3D 바운딩 박스에 대응되는 박스 패턴(Box Pattern) 정보를 생성하도록 하는 단계; (c) 상기 학습 장치가, (i) 상기 FC 레이어 각각에 대응하는 분류 레이어 각각으로 하여금 상기 박스 패턴 정보를 참조하여 상기 객체의 방향에 대한 방향 클래스 정보를 출력하도록 하며, (ii) 상기 FC 레이어 각각에 대응하는 리그레션 레이어 각각으로 하여금 상기 박스 패턴 정보를 참조하여 상기 2D 바운딩 박스의 좌표에 대응하는 상기 수도-3D 바운딩 박스의 좌표에 대한 리그레션 정보를 생성하도록 하는 단계; 및 (d) 상기 학습 장치가, 적어도 하나의 FC 로스 레이어로 하여금 상기 방향 클래스 정보 및 상기 리그레션 정보와 이에 대응되는 적어도 하나의 GT를 참조하여 적어도 하나의 클래스 로스 및 적어도 하나의 리그레션 로스를 생성함으로써, 상기 클래스 로스 및 상기 리그레션 로스를 백프로파게이션하여 상기 FC 레이어의 파라미터를 학습하는 단계;를 포함하는 것을 특징으로 하는 학습 방법 및 장치, 이를 이용한 테스트 방법 및 장치에 관한 것이다.
자율주행 자동차는 사람이 입력한 내용 없이 주변 환경을 감지하고 주행할 수 있는 차량이다. 자율주행 자동차는 둘러싸인 환경을 검출하기 위해 레이더, 레이저 광선, GPS, 주행측정기, 컴퓨터 비전(Computer Vision)과 같은 다양한 기술을 사용한다.
컴퓨터 비전을 사용하여 2차원 단안 영상(2D Monocular Image)로부터 3차원 정보를 추정하는 것은 자율주행 및 개인 로봇과 같은 응용분야에서 매우 중요한 작업이다. 일반적으로 이미지 내의 객체를 바운딩(Bounding)하기 위한 2D 박스를 생성한 다음, 2D 박스로부터 3D 모델을 구성한다.
객체를 바운딩하기 위해 2D 박스를 찾는 종래의 기술은 일반적으로 템플릿 기반 방법을 사용했다. 2D 박스를 생성하기 위한 종래의 기술 중 하나인 슬라이딩 윈도우 방법(Sliding Windows Method)이다. 이 방법은 다양한 스케일을 갖는 전체 이미지에 대해 윈도우 같은 박스를 반복적으로 슬라이딩 시켜 윈도우 같은 박스 내의 각각의 개체를 검출하는 방법이다. 즉, 이미지 내의 객체가 서로 다른 크기나 스케일을 가질 수 있기 때문에, 이미지를 여러 번 축소하고 윈도우 같은 박스를 이미지 위로 다시 슬라이딩 시켜 크기가 다른 객체를 찾는다.
다른 종래의 방법 중 하나는 앵커 박스 방법이다. 이 방법에서는 다양한 앵커 박스를 소정의 위치에 중심을 맞추고 다양한 앵커 박스 중 확률이 가장 높은 앵커 박스(예를 들어, GT 객체와 중첩되는 영역이 가장 많은 앵커 박스)를 리그레션 분석로 결정한다.
그리고, 3D 바운딩 박스(3D Bounding Box)가 앞서 결정된 앵커 박스로부터 구성되지만, 이에 제한되지는 않는다. 먼저, 3D 바운딩 박스는 6개의 표면을 가질 수 있고 6개의 표면 중 3개는 철저히 검색할 필요가 있을 수 있다. 두 번째, 단일 템플릿을 3D 바운딩 박스의 표면 중 3개를 결정하기 위해 사용하는 경우, 객체의 3D 방향이 변하면 리그레션의 경계선 조건이 달라지기 때문에 정확도가 낮을 수 있다. 세 번째, 3D 바운딩 박스를 획득하는 종래의 방법은 컴퓨팅 리소스가 많이 필요하다. 예를 들면, 3D 바운딩 박스를 찾기 위해 직육면체 템플릿이나 복셀(Voxel)을 매칭시키는데 연산 시간이 오래 걸리는 것과 같다.
그러므로 본 발명은 이러한 불필요한 연산을 제거하고 검출 정확도를 향상시키기 위한 새로운 방법을 제시한다.
본 발명은 상술한 문제점을 모두 해결하는 것을 그 목적으로 한다.
본 발명은 수도-3D 박스(Pseudo-3D Box)를 이용해 3D 객체에 외접하는 박스를 설정하기 위한 3D 바운딩 박스(3D Bounding Box)를 단순화하는 것을 다른 목적으로 한다.
본 발명은 수도-3D 박스의 꼭지점의 2D 좌표를 이용하여 연산 시간과 컴퓨팅 리소스를 줄이는 것을 또 다른 목적으로 한다.
상기한 바와 같은 본 발명의 목적을 달성하고, 후술하는 본 발명의 특징적인 효과를 실현하기 위한, 본 발명의 특징적인 구성은 하기와 같다.
본 발명의 일 태양에 따르면, CNN 기반의 수도(Pseudo)-3D 바운딩 박스를 적어도 하나 검출하는 방법에 있어서, (a) 적어도 하나의 트레이닝 이미지에 대하여 컨벌루션 연산을 적어도 한 번 적용해 생성되는 적어도 하나의 특징 맵과 상기 트레이닝 이미지에서 적어도 하나의 객체를 포함하는 적어도 하나의 2D 바운딩 박스가 획득되면, 학습 장치가, 풀링 레이어(Pooling Layer)로 하여금 상기 특징 맵 상에서 상기 2D 바운딩 박스에 대응되는 적어도 하나의 영역에 대하여 풀링 연산을 적어도 한 번 적용하도록 하여 적어도 하나의 풀링된 특징 맵을 생성하도록 하고, 타입-분류 레이어(Type-Classifying Layer)로 하여금 상기 풀링된 특징 맵을 참조하여 상기 풀링된 특징 맵 내의 상기 객체의 이미지가 트렁케이트(Truncate) 되었는지 트렁케이트 되지 않았는지를 판별하도록 하는 단계; (b) 상기 객체의 이미지가 트렁케이트 된 상태이면 상기 객체를 제1 타입(First Type)이라고 하고 상기 객체의 이미지가 트렁케이트 되지 않은 상태이면 상기 객체를 제2 타입(Second Type)이라고 하면, 상기 학습 장치가, 상기 풀링된 특징 맵 내의 상기 객체의 이미지가 트렁케이트 되었는지 트렁케이트 되지 않았는지에 대한 정보를 참조하여 상기 제1 타입과 상기 제2 타입 각각에 대응되는 각각의 FC 레이어 중 하나로 하여금 상기 풀링된 특징 맵에 대하여 신경망 연산을 적어도 한 번 적용하도록 하여 상기 수도-3D 바운딩 박스에 대응되는 박스 패턴(Box Pattern) 정보를 생성하도록 하는 단계; (c) 상기 학습 장치가, (i) 상기 FC 레이어 각각에 대응하는 분류 레이어 각각으로 하여금 상기 박스 패턴 정보를 참조하여 상기 객체의 방향에 대한 방향 클래스 정보를 출력하도록 하며, (ii) 상기 FC 레이어 각각에 대응하는 리그레션 레이어 각각으로 하여금 상기 박스 패턴 정보를 참조하여 상기 2D 바운딩 박스의 좌표에 대응하는 상기 수도-3D 바운딩 박스의 좌표에 대한 리그레션 정보를 생성하도록 하는 단계; 및 (d) 상기 학습 장치가, 적어도 하나의 FC 로스 레이어로 하여금 상기 방향 클래스 정보 및 상기 리그레션 정보와 이에 대응되는 적어도 하나의 GT를 참조하여 적어도 하나의 클래스 로스 및 적어도 하나의 리그레션 로스를 생성함으로써, 상기 클래스 로스 및 상기 리그레션 로스를 백프로파게이션하여 상기 FC 레이어의 파라미터를 학습하는 단계;를 포함하는 것을 특징으로 한다.
일 실시예에서, 상기 (a) 단계 이후에, 상기 학습 장치는, 타입 로스 레이어(Type Loss Layer)로 하여금 상기 객체의 이미지가 트렁케이트 되었는지 트렁케이트 되지 않았는지에 대한 정보와 상기 이미지에 대응되는 객체-타입(Object-Type) GT를 참조하여 적어도 하나의 타입 로스를 생성하도록 함으로써, 상기 타입 로스를 백프로파게이션하여 상기 타입-분류 레이어의 파라미터의 적어도 일부를 조정하는 것을 특징으로 한다.
일 실시예에서, 상기 (a) 단계에서, 상기 학습 장치는, 상기 타입-분류 레이어로 하여금 상기 객체의 전체를 포함하는 영역 대비 상기 풀링된 특징 맵 상에 나타난 상기 객체의 일부만 포함하는 영역의 비율이 소정의 임계치 이하일 경우에는 상기 객체의 이미지가 트렁케이트 된 것으로 판단하며, 상기 비율이 상기 소정의 임계치를 초과할 경우에는 상기 객체의 이미지가 트렁케이트 되지 않은 것으로 판단하도록 하는 것을 특징으로 한다.
일 실시예에서, 상기 (c) 단계에서, 상기 학습 장치는, 상기 리그레션 레이어 각각으로 하여금 (i) 상기 2D 바운딩 박스의 꼭지점으로부터 상기 객체의 앞면과 뒷면 각각에 대응되는 각각의 인스턴스 바운딩 박스의 꼭지점까지의 각각의 변위(Displacement) 및 (ii) 상기 2D 바운딩 박스의 중심으로부터 상기 각각의 인스턴스 바운딩 박스의 각각의 중심까지의 각각의 변위 및 상기 2D 바운딩 박스의 너비/높이 비율과 상기 인스턴스 바운딩 박스의 각각의 너비/높이 비율 사이의 각각의 차이 중 적어도 하나를 이용해, 상기 리그레션 정보를 생성하도록 하는 것을 특징으로 한다.
일 실시예에서, 상기 (b) 단계에서, 상기 학습 장치는, 상기 객체가 상기 제1 타입인 경우, 상기 제1 타입에 대응되는 제1 FC 레이어로 하여금 상기 풀링된 특징 맵에 대하여 신경망 연산을 적용하도록 하여 상기 수도-3D 바운딩 박스에 대응하는 제1 박스 패턴 정보를 생성하며, 상기 객체가 상기 제2 타입인 경우, 상기 제2 타입에 대응하는 제2 FC 레이어로 하여금 상기 풀링된 특징 맵에 대하여 신경망 연산을 적용하도록 하여 상기 수도-3D 바운딩 박스에 대응하는 제2 박스 패턴 정보를 생성하고, 상기 (c) 단계에서, 상기 학습 장치는, (i) 상기 제1 FC 레이어에 대응되는 제1 분류 레이어로 하여금 상기 제1 박스 패턴 정보를 참조하여 상기 제1 타입을 갖는 상기 객체의 방향에 대응되는 제1 방향 클래스 정보를 생성하도록 하며, 상기 제1 FC 레이어에 대응되는 제1 리그레션 레이어로 하여금 상기 제1 박스 패턴 정보를 참조하여 상기 2D 바운딩 박스의 상기 좌표에 대응하는 상기 수도-3D 바운딩 박스의 상기 좌표에 대한 제1 리그레션 정보를 생성하도록 하고, (ii) 상기 제2 FC 레이어에 대응되는 제2 분류 레이어로 하여금 상기 제2 박스 패턴 정보를 참조하여 상기 제2 타입을 갖는 상기 객체의 방향에 대응되는 제2 방향 클래스 정보를 생성하도록 하며, 상기 제2 FC 레이어에 대응되는 제2 리그레션 레이어로 하여금 상기 제2 박스 패턴 정보를 참조하여 상기 2D 바운딩 박스의 상기 좌표에 대응하는 상기 수도-3D 바운딩 박스의 상기 좌표에 대한 제2 리그레션 정보를 생성하도록 하는 것을 특징으로 한다.
일 실시예에서, 상기 (d) 단계에서, 상기 학습 장치는, (i) 상기 제1 FC 레이어에 대응되는 제1 FC 로스 레이어로 하여금 상기 제1 방향 클래스 정보, 상기 제1 리그레션 정보 및 이에 대응하는 적어도 하나의 제1 GT를 참조하여 적어도 하나의 제1 방향 클래스 로스 및 적어도 하나의 제1 박스 리그레션 로스를 생성하도록 함으로써, 상기 제1 방향 클래스 로스 및 상기 제1 박스 리그레션 로스를 백프로파게이션하여 상기 제1 FC 레이어의 파라미터를 학습하며, (ii) 상기 제2 FC 레이어에 대응되는 제2 FC 로스 레이어로 하여금 상기 제2 방향 클래스 정보, 상기 제2 리그레션 정보 및 이에 대응하는 적어도 하나의 제2 GT를 참조하여 적어도 하나의 제2 방향 클래스 로스 및 적어도 하나의 제2 박스 리그레션 로스를 생성하도록 함으로써, 상기 제2 방향 클래스 로스 및 상기 제2 박스 리그레션 로스를 백프로파게이션하여 상기 제2 FC 레이어의 파라미터를 학습하는 것을 특징으로 한다.
일 실시예에서, 상기 학습 장치는, 선행 CNN(Preceding CNN) 기반의 객체 검출기로부터 상기 특징 맵과 상기 2D 바운딩 박스를 획득하는 것을 특징으로 한다.
일 실시예에서, 상기 학습 장치는, 상기 트레이닝 이미지를 상기 객체 검출기로 입력하여, 상기 객체 검출기가 (i) 선행 컨볼루션 레이어(Preceding Convolutional Layer)로 하여금 상기 트레이닝 이미지에 대하여 컨볼루션 연산을 수행하여 상기 특징 맵을 생성하도록 하며, (ii) RPN으로 하여금 상기 특징 맵으로부터 상기 트레이닝 이미지 내의 상기 객체에 대응하는 적어도 하나의 프로포잘 박스를 생성하도록 하고, (iii) 선행 풀링 레이어(Preceding Pooling Layer)로 하여금 상기 특징 맵 상에서 상기 프로포잘 박스에 대응하는 적어도 하나의 영역에 대하여 풀링 연산을 적용하도록 하여 선행 풀링된 특징 맵을 생성하도록 하며, (iv) 선행 FC 레이어(Preceding FC Layer)로 하여금 상기 객체에 대응되는 객체 패턴 정보를 생성하도록 하고, (v) 선행 분류 레이어(Preceding Classification Layer)로 하여금 상기 객체 패턴 정보를 참조하여 상기 객체의 클래스에 대응하는 객체 클래스 정보를 생성하도록 하며, (vi) 선행 리그레션 레이어(Preceding Regression Layer)로 하여금 상기 객체 패턴 정보를 참조하여 상기 객체에 대응하는 상기 2D 바운딩 박스에 대한 선행 리그레션 정보를 생성하도록 함으로써, 상기 특징 맵과 상기 2D 바운딩 박스를 생성하는 것을 특징으로 한다.
일 실시예에서, 검출기 학습 장치에 의해 상기 객체 검출기를 학습하는 상태에서, 상기 검출기 학습 장치가, 상기 객체 검출기 내의 타입 로스 레이어로 하여금 상기 객체의 이미지가 트렁케이트 되었는지 트렁케이트 되지 않았는지에 대한 정보와 상기 이미지에 대응되는 객체-타입 GT를 참조하여 적어도 하나의 타입 로스를 생성함으로써, 상기 타입 로스를 백프로파게이션하여 상기 객체 검출기 내의 타입-분류 레이어의 파라미터의 적어도 일부를 조정하는 것을 특징으로 한다.
본 발명의 다른 태양에 따르면, CNN 기반의 수도(Pseudo)-3D 바운딩 박스를 적어도 하나 검출하는 방법에 있어서, (a) 학습 장치가, 적어도 하나의 트레이닝 이미지에 대하여 컨벌루션 연산을 적어도 한 번 적용해 생성되는 적어도 하나의 학습용 특징 맵과 상기 트레이닝 이미지에서 적어도 하나의 학습용 객체를 포함하는 적어도 하나의 학습용 2D 바운딩 박스가 획득하면, (i) 풀링 레이어(Pooling Layer)로 하여금 상기 학습용 특징 맵 상에서 상기 학습용 2D 바운딩 박스에 대응되는 적어도 하나의 영역에 대하여 풀링 연산을 적어도 한 번 적용하도록 하여 적어도 하나의 학습용 풀링된 특징 맵을 생성하도록 하고, 타입-분류 레이어(Type-Classifying Layer)로 하여금 상기 학습용 풀링된 특징 맵을 참조하여 상기 학습용 풀링된 특징 맵 내의 상기 학습용 객체의 이미지가 트렁케이트(Truncate) 되었는지 트렁케이트 되지 않았는지를 판별하도록 하는 프로세스, (ii) 상기 학습용 객체의 이미지가 트렁케이트 된 상태이면 상기 학습용 객체를 제1 타입(First Type)이라고 하고 상기 학습용 객체의 이미지가 트렁케이트 되지 않은 상태이면 상기 학습용 객체를 제2 타입(Second Type)이라고 하면, 상기 학습용 풀링된 특징 맵 내의 상기 학습용 객체의 이미지가 트렁케이트 되었는지 트렁케이트 되지 않았는지에 대한 정보를 참조하여 상기 제1 타입과 상기 제2 타입 각각에 대응되는 각각의 FC 레이어 중 하나로 하여금 상기 학습용 풀링된 특징 맵에 대하여 신경망 연산을 적어도 한 번 적용하도록 하여 상기 학습용 수도-3D 바운딩 박스에 대응되는 학습용 박스 패턴(Box Pattern) 정보를 생성하도록 하는 프로세스, (iii) 상기 FC 레이어 각각에 대응하는 적어도 하나의 분류 레이어 각각으로 하여금 상기 학습용 박스 패턴 정보를 참조하여 상기 학습용 객체의 방향에 대한 학습용 방향 클래스 정보를 출력하도록 하며, 상기 FC 레이어 각각에 대응하는 적어도 하나의 리그레션 레이어 각각으로 하여금 상기 학습용 박스 패턴 정보를 참조하여 상기 학습용 2D 바운딩 박스의 좌표에 대응하는 상기 학습용 수도-3D 바운딩 박스의 좌표에 대한 학습용 리그레션 정보를 생성하도록 하는 프로세스 및 (iv) 적어도 하나의 FC 로스 레이어로 하여금 상기 학습용 방향 클래스 정보, 상기 학습용 리그레션 정보 및 이에 대응되는 적어도 하나의 GT를 참조하여 적어도 하나의 클래스 로스 및 적어도 하나의 리그레션 로스를 생성함으로써, 상기 클래스 로스 및 상기 리그레션 로스를 백프로파게이션하여 상기 FC 레이어의 파라미터를 학습하는 프로세스를 수행한 상태에서, 적어도 하나의 테스트 이미지에 대하여 컨벌루션 연산을 적어도 한 번 적용해 생성되는 적어도 하나의 테스트용 특징 맵과 상기 테스트 이미지에서 적어도 하나의 테스트용 객체를 포함하는 적어도 하나의 테스트용 2D 바운딩 박스가 획득되면, 테스트 장치가, 상기 풀링 레이어(Pooling Layer)로 하여금 상기 테스트용 특징 맵 상에서 상기 테스트용 2D 바운딩 박스에 대응되는 적어도 하나의 영역에 대하여 풀링 연산을 적어도 한 번 적용하도록 하여 적어도 하나의 테스트용 풀링된 특징 맵을 생성하도록 하고, 상기 타입-분류 레이어(Type-Classifying Layer)로 하여금 상기 테스트용 풀링된 특징 맵을 참조하여 상기 테스트용 풀링된 특징 맵 내의 상기 테스트용 객체의 이미지가 트렁케이트(Truncate) 되었는지 트렁케이트 되지 않았는지를 판별하도록 하는 단계; (b) 상기 테스트용 객체의 이미지가 트렁케이트 된 상태이면 상기 테스트용 객체를 제1 타입(First Type)이라고 하고 상기 테스트용 객체의 이미지가 트렁케이트 되지 않은 상태이면 상기 테스트용 객체를 제2 타입(Second Type)이라고 하면, 상기 테스트 장치가, 상기 테스트용 풀링된 특징 맵 내의 상기 테스트용 객체의 이미지가 트렁케이트 되었는지 트렁케이트 되지 않았는지에 대한 정보를 참조하여 상기 제1 타입과 상기 제2 타입 각각에 대응되는 각각의 상기 FC 레이어 중 하나로 하여금 상기 테스트용 풀링된 특징 맵에 대하여 신경망 연산을 적어도 한 번 적용하도록 하여 상기 테스트용 수도-3D 바운딩 박스에 대응되는 테스트용 박스 패턴(Box Pattern) 정보를 생성하도록 하는 단계; 및 (c) 상기 테스트 장치가, (i) 상기 FC 레이어 각각에 대응하는 분류 레이어 각각으로 하여금 상기 테스트용 박스 패턴 정보를 참조하여 상기 테스트용 객체의 방향에 대한 테스트용 방향 클래스 정보를 출력하도록 하며, (ii) 상기 FC 레이어 각각에 대응하는 리그레션 레이어 각각으로 하여금 상기 테스트용 박스 패턴 정보를 참조하여 상기 테스트용 2D 바운딩 박스의 상기 좌표에 대응하는 상기 테스트용 수도-3D 바운딩 박스의 상기 좌표에 대한 테스트용 리그레션 정보를 생성하도록 하는 단계;를 포함하는 것을 특징으로 한다.
일 실시예에서, 상기 학습 장치는, 타입 로스 레이어(Type Loss Layer)로 하여금 상기 학습용 객체의 이미지가 트렁케이트 되었는지 트렁케이트 되지 않았는지에 대한 정보와 상기 학습용 객체의 이미지에 대응되는 객체-타입(Object-Type) GT를 참조하여 적어도 하나의 타입 로스를 생성하도록 함으로써, 상기 타입 로스를 이용한 백프로파게이션을 통해 상기 타입-분류 레이어의 파라미터의 적어도 일부를 조정하는 것을 특징으로 한다.
일 실시예에서, 상기 (a) 단계는, 상기 테스트 장치는, 상기 타입-분류 레이어로 하여금 상기 테스트용 객체의 전체를 포함하는 영역 대비 상기 테스트용 풀링된 특징 맵 상에 나타난 상기 테스트용 객체의 일부만 포함하는 영역의 비율이 소정의 임계치 이하일 경우에는 상기 테스트용 객체의 이미지가 트렁케이트 된 것으로 판단하며, 상기 비율이 상기 소정의 임계치를 초과할 경우에는 상기 테스트용 객체의 이미지가 트렁케이트 되지 않은 것으로 판단하도록 하는 것을 특징으로 한다.
일 실시예에서, 상기 (c) 단계에서, 상기 테스트 장치는, 상기 리그레션 레이어 각각으로 하여금 (i) 상기 테스트용 2D 바운딩 박스의 꼭지점으로부터 상기 테스트용 객체의 앞면과 뒷면 각각에 대응되는 각각의 테스트용 인스턴스 바운딩 박스의 꼭지점까지의 각각의 변위(Displacement) 및 (ii) 상기 테스트용 2D 바운딩 박스의 중심으로부터 상기 각각의 테스트용 인스턴스 바운딩 박스의 각각의 중심까지의 각각의 변위 및 상기 테스트용 2D 바운딩 박스의 너비/높이 비율과 상기 테스트용 인스턴스 바운딩 박스의 각각의 너비/높이 비율 사이의 각각의 차이 중 적어도 하나를 이용해, 상기 테스트용 리그레션 정보를 생성하도록 하는 것을 특징으로 한다.
일 실시예에서, 상기 (b) 단계에서, 상기 테스트 장치는, 상기 테스트용 객체가 상기 제1 타입인 경우, 상기 제1 타입에 대응되는 제1 FC 레이어로 하여금 상기 테스트용 풀링된 특징 맵에 대하여 신경망 연산을 적용하도록 하여 상기 테스트용 수도-3D 바운딩 박스에 대응하는 테스트용 제1 박스 패턴 정보를 생성하며, 상기 테스트용 객체가 상기 제2 타입인 경우, 상기 제2 타입에 대응하는 제2 FC 레이어로 하여금 상기 테스트용 풀링된 특징 맵에 대하여 신경망 연산을 적용하도록 하여 상기 테스트용 수도-3D 바운딩 박스에 대응하는 테스트용 제2 박스 패턴 정보를 생성하고, 상기 (c) 단계에서, 상기 테스트 장치는, (i) 상기 제1 FC 레이어에 대응되는 제1 분류 레이어로 하여금 상기 테스트용 제1 박스 패턴 정보를 참조하여 상기 제1 타입을 갖는 상기 테스트용 객체의 방향에 대응되는 테스트용 제1 방향 클래스 정보를 생성하도록 하며, 상기 제1 FC 레이어에 대응되는 제1 리그레션 레이어로 하여금 상기 테스트용 제1 박스 패턴 정보를 참조하여 상기 테스트용 2D 바운딩 박스의 상기 좌표에 대응하는 상기 테스트용 수도-3D 바운딩 박스의 상기 좌표에 대한 테스트용 제1 리그레션 정보를 생성하도록 하고, (ii) 상기 제2 FC 레이어에 대응되는 제2 분류 레이어로 하여금 상기 테스트용 제2 박스 패턴 정보를 참조하여 상기 제2 타입을 갖는 상기 테스트용 객체의 방향에 대응되는 테스트용 제2 방향 클래스 정보를 생성하도록 하며, 상기 제2 FC 레이어에 대응되는 제2 리그레션 레이어로 하여금 상기 테스트용 제2 박스 패턴 정보를 참조하여 상기 테스트용 2D 바운딩 박스의 상기 좌표에 대응하는 상기 테스트용 수도-3D 바운딩 박스의 상기 좌표에 대한 테스트용 제2 리그레션 정보를 생성하도록 하는 것을 특징으로 한다.
일 실시예에서, 상기 테스트 장치는, 상기 테스트 이미지를 선행 CNN 기반의 객체 검출기로 입력하여, 상기 객체 검출기가 (i) 선행 컨볼루션 레이어(Preceding Convolutional Layer)로 하여금 상기 테스트 이미지에 대하여 컨볼루션 연산을 수행하여 상기 테스트용 특징 맵을 생성하도록 하며, (ii) RPN으로 하여금 상기 테스트용 특징 맵으로부터 상기 테스트 이미지 내의 상기 테스트용 객체에 대응하는 적어도 하나의 테스트용 프로포잘 박스를 생성하도록 하고, (iii) 선행 풀링 레이어(Preceding Pooling Layer)로 하여금 상기 테스트용 특징 맵 상에서 상기 테스트용 프로포잘 박스에 대응하는 적어도 하나의 영역에 대하여 풀링 연산을 적용하도록 하여 테스트용 선행 풀링된 특징 맵을 생성하도록 하며, (iv) 선행 FC 레이어(Preceding FC Layer)로 하여금 상기 테스트용 객체에 대응되는 테스트용 객체 패턴 정보를 생성하도록 하고, (v) 선행 분류 레이어(Preceding Classification Layer)로 하여금 상기 테스트용 객체 패턴 정보를 참조하여 상기 테스트용 객체의 클래스에 대응하는 테스트용 객체 클래스 정보를 생성하도록 하며, (vi) 선행 리그레션 레이어(Preceding Regression Layer)로 하여금 상기 테스트용 객체 패턴 정보를 참조하여 상기 테스트용 객체에 대응하는 상기 테스트용 2D 바운딩 박스에 대한 테스트용 선행 리그레션 정보를 생성하도록 함으로써, 상기 테스트용 특징 맵과 상기 테스트용 2D 바운딩 박스를 생성하는 것을 특징으로 한다.
본 발명의 또 다른 태양에 따르면, CNN 기반의 수도(Pseudo)-3D 바운딩 박스를 적어도 하나 검출하는 학습 장치에 있어서, 인스트럭션을 저장하는 적어도 하나의 메모리; 및 (I) 적어도 하나의 트레이닝 이미지에 대하여 컨벌루션 연산을 적어도 한 번 적용해 특징 맵이 생성되고 2D 바운딩 박스가 상기 트레이닝 이미지에서 적어도 하나의 객체를 포함하면, 풀링 레이어(Pooling Layer)로 하여금 상기 특징 맵 상에서 상기 2D 바운딩 박스에 대응되는 적어도 하나의 영역에 대하여 풀링 연산을 적어도 한 번 적용하도록 하여 적어도 하나의 풀링된 특징 맵을 생성하도록 하고, 타입-분류 레이어(Type-Classifying Layer)로 하여금 상기 풀링된 특징 맵을 참조하여 상기 풀링된 특징 맵 내의 상기 객체의 이미지가 트렁케이트(Truncate) 되었는지 트렁케이트 되지 않았는지를 판별하도록 하는 프로세스와, (II) 상기 객체의 이미지가 트렁케이트 된 상태이면 상기 객체를 제1 타입(First Type)이라고 하고 상기 객체의 이미지가 트렁케이트 되지 않은 상태이면 상기 객체를 제2 타입(Second Type)이라고 하면, 상기 풀링된 특징 맵 내의 상기 객체의 이미지가 트렁케이트 되었는지 트렁케이트 되지 않았는지에 대한 정보를 참조하여 상기 제1 타입과 상기 제2 타입 각각에 대응되는 각각의 FC 레이어 중 하나로 하여금 상기 풀링된 특징 맵에 대하여 신경망 연산을 적어도 한 번 적용하도록 하여 상기 수도-3D 바운딩 박스에 대응되는 박스 패턴(Box Pattern) 정보를 생성하도록 하는 프로세스와, (III) (i) 상기 FC 레이어 각각에 대응하는 분류 레이어 각각으로 하여금 상기 박스 패턴 정보를 참조하여 상기 객체의 방향에 대한 방향 클래스 정보를 출력하도록 하며, (ii) 상기 FC 레이어 각각에 대응하는 리그레션 레이어 각각으로 하여금 상기 박스 패턴 정보를 참조하여 상기 2D 바운딩 박스의 좌표에 대응하는 상기 수도-3D 바운딩 박스의 좌표에 대한 리그레션 정보를 생성하도록 하는 프로세스 및 (IV) 적어도 하나의 FC 로스 레이어로 하여금 상기 방향 클래스 정보, 상기 리그레션 정보 및 이에 대응되는 적어도 하나의 GT를 참조하여 적어도 하나의 클래스 로스 및 적어도 하나의 리그레션 로스를 생성함으로써, 상기 클래스 로스 및 상기 리그레션 로스를 백프로파게이션하여 상기 FC 레이어의 파라미터를 학습하는 프로세스를 수행하기 위한 상기 인스트럭션을 실행하도록 구성된 적어도 하나의 프로세서;를 포함하는 것을 특징으로 한다.
일 실시예에서, 상기 (I) 프로세스 이후에, 상기 프로세서는, 타입 로스 레이어로 하여금 상기 객체의 이미지가 트렁케이트 되었는지 트렁케이트 되지 않았는지에 대한 정보와 상기 객체의 이미지에 대응되는 객체-타입 GT를 참조하여 적어도 하나의 타입 로스를 생성함으로써, 상기 타입 로스를 백프로파게이션하여 상기 타입-분류 레이어의 파라미터의 적어도 일부를 조정하는 것을 특징으로 한다.
일 실시예에서, 상기 (I) 프로세스에서, 상기 프로세서는, 상기 타입-분류 레이어로 하여금 상기 객체의 전체를 포함하는 영역 대비 상기 풀링된 특징 맵 상에 나타난 상기 객체의 일부만 포함하는 영역의 비율이 소정의 임계치 이하일 경우에는 상기 객체의 이미지가 트렁케이트 된 것으로 판단하며, 상기 비율이 상기 소정의 임계치를 초과할 경우에는 상기 객체의 이미지가 트렁케이트 되지 않은 것으로 판단하도록 하는 것을 특징으로 한다.
일 실시예에서, 상기 (III) 프로세스에서, 상기 프로세서는, 상기 리그레션 레이어 각각으로 하여금 (i) 상기 2D 바운딩 박스의 꼭지점으로부터 상기 객체의 앞면과 뒷면 각각에 대응되는 각각의 인스턴스 바운딩 박스의 꼭지점까지의 각각의 변위(Displacement) 및 (ii) 상기 2D 바운딩 박스의 중심으로부터 상기 각각의 인스턴스 바운딩 박스의 각각의 중심까지의 각각의 변위 및 상기 2D 바운딩 박스의 너비/높이 비율과 상기 인스턴스 바운딩 박스의 각각의 너비/높이 비율 사이의 각각의 차이 중 적어도 하나를 이용해, 상기 리그레션 정보를 생성하도록 하는 것을 특징으로 한다.
일 실시예에서, 상기 (II) 프로세스에서, 상기 프로세서는, 상기 객체가 상기 제1 타입인 경우, 상기 제1 타입에 대응되는 제1 FC 레이어로 하여금 상기 풀링된 특징 맵에 대하여 신경망 연산을 적용하도록 하여 상기 수도-3D 바운딩 박스에 대응하는 제1 박스 패턴 정보를 생성하며, 상기 객체가 상기 제2 타입인 경우, 상기 제2 타입에 대응하는 제2 FC 레이어로 하여금 상기 풀링된 특징 맵에 대하여 신경망 연산을 적용하도록 하여 상기 수도-3D 바운딩 박스에 대응하는 제2 박스 패턴 정보를 생성하고, 상기 (III) 프로세스에서, 상기 프로세서는 (i) 상기 제1 FC 레이어에 대응되는 제1 분류 레이어로 하여금 상기 제1 박스 패턴 정보를 참조하여 상기 제1 타입을 갖는 상기 객체의 방향에 대응되는 제1 방향 클래스 정보를 생성하도록 하며, 상기 제1 FC 레이어에 대응되는 제1 리그레션 레이어로 하여금 상기 제1 박스 패턴 정보를 참조하여 상기 2D 바운딩 박스의 상기 좌표에 대응하는 상기 수도-3D 바운딩 박스의 상기 좌표에 대한 제1 리그레션 정보를 생성하도록 하고, (ii) 상기 제2 FC 레이어에 대응되는 제2 분류 레이어로 하여금 상기 제2 박스 패턴 정보를 참조하여 상기 제2 타입을 갖는 상기 객체의 방향에 대응되는 제2 방향 클래스 정보를 생성하도록 하며, 상기 제2 FC 레이어에 대응되는 제2 리그레션 레이어로 하여금 상기 제2 박스 패턴 정보를 참조하여 상기 2D 바운딩 박스의 상기 좌표에 대응하는 상기 수도-3D 바운딩 박스의 상기 좌표에 대한 제2 리그레션 정보를 생성하도록 하는 것을 특징으로 한다.
일 실시예에서, 상기 (IV) 프로세스에서, 상기 프로세서는, (i) 상기 제1 FC 레이어에 대응되는 제1 FC 로스 레이어로 하여금 상기 제1 방향 클래스 정보, 상기 제1 리그레션 정보 및 이에 대응하는 적어도 하나의 제1 GT를 참조하여 적어도 하나의 제1 방향 클래스 로스 및 적어도 하나의 제1 박스 리그레션 로스를 생성하도록 함으로써, 상기 제1 방향 클래스 로스 및 상기 제1 박스 리그레션 로스를 백프로파게이션하여 상기 제1 FC 레이어의 파라미터를 학습하며, (ii) 상기 제2 FC 레이어에 대응되는 제2 FC 로스 레이어로 하여금 상기 제2 방향 클래스 정보, 상기 제2 리그레션 정보 및 이에 대응하는 적어도 하나의 제2 GT를 참조하여 적어도 하나의 제2 방향 클래스 로스 및 적어도 하나의 제2 박스 리그레션 로스를 생성하도록 함으로써, 상기 제2 방향 클래스 로스 및 상기 제2 박스 리그레션 로스를 백프로파게이션하여 상기 제2 FC 레이어의 파라미터를 학습하는 것을 특징으로 한다.
일 실시예에서, 선행 CNN(Preceding CNN) 기반의 객체 검출기로부터 상기 특징 맵과 상기 2D 바운딩 박스를 획득하는 것을 특징으로 한다.
일 실시예에서, 상기 트레이닝 이미지를 상기 객체 검출기로 입력하여, 상기 객체 검출기가 (i) 선행 컨볼루션 레이어(Preceding Convolutional Layer)로 하여금 상기 트레이닝 이미지에 대하여 컨볼루션 연산을 수행하여 상기 특징 맵을 생성하도록 하며, (ii) RPN으로 하여금 상기 특징 맵으로부터 상기 트레이닝 이미지 내의 상기 객체에 대응하는 적어도 하나의 프로포잘 박스를 생성하도록 하고, (iii) 선행 풀링 레이어(Preceding Pooling Layer)로 하여금 상기 특징 맵 상에서 상기 프로포잘 박스에 대응하는 적어도 하나의 영역에 대하여 풀링 연산을 적용하도록 하여 선행 풀링된 특징 맵을 생성하도록 하며, (iv) 선행 FC 레이어(Preceding FC Layer)로 하여금 상기 객체에 대응되는 객체 패턴 정보를 생성하도록 하고, (v) 선행 분류 레이어(Preceding Classification Layer)로 하여금 상기 객체 패턴 정보를 참조하여 상기 객체의 클래스에 대응하는 객체 클래스 정보를 생성하도록 하며, (vi) 선행 리그레션 레이어(Preceding Regression Layer)로 하여금 상기 객체 패턴 정보를 참조하여 상기 객체에 대응하는 상기 2D 바운딩 박스에 대한 선행 리그레션 정보를 생성하도록 함으로써, 상기 특징 맵과 상기 2D 바운딩 박스를 생성하는 것을 특징으로 한다.
일 실시예에서, 검출기 학습 장치에 의해 상기 객체 검출기를 학습하는 상태에서, 상기 검출기 학습 장치가, 상기 객체 검출기 내의 타입 로스 레이어로 하여금 상기 객체의 이미지가 트렁케이트 되었는지 트렁케이트 되지 않았는지에 대한 정보와 상기 이미지에 대응되는 객체-타입 GT를 참조하여 적어도 하나의 타입 로스를 생성함으로써, 상기 타입 로스를 백프로파게이션하여 상기 객체 검출기 내의 타입-분류 레이어의 파라미터의 적어도 일부를 조정하는 것을 특징으로 한다.
본 발명의 또 다른 태양에 따르면, CNN 기반의 수도(Pseudo)-3D 바운딩 박스를 적어도 하나 검출하는 테스트 장치에 있어서, 인스트럭션을 저장하는 적어도 하나의 메모리; 및 학습 장치가, 적어도 하나의 트레이닝 이미지에 대하여 컨벌루션 연산을 적어도 한 번 적용해 생성되는 적어도 하나의 학습용 특징 맵과 상기 트레이닝 이미지에서 적어도 하나의 학습용 객체를 포함하는 적어도 하나의 학습용 2D 바운딩 박스가 획득하면, (i) 풀링 레이어(Pooling Layer)로 하여금 상기 학습용 특징 맵 상에서 상기 학습용 2D 바운딩 박스에 대응되는 적어도 하나의 영역에 대하여 풀링 연산을 적어도 한 번 적용하도록 하여 적어도 하나의 학습용 풀링된 특징 맵을 생성하도록 하고, 타입-분류 레이어(Type-Classifying Layer)로 하여금 상기 학습용 풀링된 특징 맵을 참조하여 상기 학습용 풀링된 특징 맵 내의 상기 학습용 객체의 이미지가 트렁케이트(Truncate) 되었는지 트렁케이트 되지 않았는지를 판별하도록 하는 프로세스, (ii) 상기 학습용 객체의 이미지가 트렁케이트 된 상태이면 상기 학습용 객체를 제1 타입(First Type)이라고 하고 상기 학습용 객체의 이미지가 트렁케이트 되지 않은 상태이면 상기 학습용 객체를 제2 타입(Second Type)이라고 하면, 상기 학습용 풀링된 특징 맵 내의 상기 학습용 객체의 이미지가 트렁케이트 되었는지 트렁케이트 되지 않았는지에 대한 정보를 참조하여 상기 제1 타입과 상기 제2 타입 각각에 대응되는 각각의 FC 레이어 중 하나로 하여금 상기 학습용 풀링된 특징 맵에 대하여 신경망 연산을 적어도 한 번 적용하도록 하여 상기 학습용 수도-3D 바운딩 박스에 대응되는 학습용 박스 패턴(Box Pattern) 정보를 생성하도록 하는 프로세스, (iii) 상기 FC 레이어 각각에 대응하는 적어도 하나의 분류 레이어 각각으로 하여금 상기 학습용 박스 패턴 정보를 참조하여 상기 학습용 객체의 방향에 대한 학습용 방향 클래스 정보를 출력하도록 하며, 상기 FC 레이어 각각에 대응하는 적어도 하나의 리그레션 레이어 각각으로 하여금 상기 학습용 박스 패턴 정보를 참조하여 상기 학습용 2D 바운딩 박스의 좌표 정보에 대응하는 상기 학습용 수도-3D 바운딩 박스의 좌표에 대한 학습용 리그레션 정보를 생성하도록 하는 프로세스, (iv) 적어도 하나의 FC 로스 레이어로 하여금 상기 학습용 방향 클래스 정보, 상기 학습용 리그레션 정보 및 이에 대응되는 적어도 하나의 GT를 참조하여 적어도 하나의 클래스 로스 및 적어도 하나의 리그레션 로스를 생성함으로써, 상기 클래스 로스 및 상기 리그레션 로스를 백프로파게이션하여 상기 FC 레이어의 파라미터를 학습하는 프로세스를 수행한 상태에서, (I) 적어도 하나의 테스트 이미지에 대하여 컨벌루션 연산을 적어도 한 번 적용해 테스트용 특징 맵이 생성되고 테스트용 2D 바운딩 박스가 상기 테스트 이미지에서 적어도 하나의 테스트용 객체를 포함하면, 상기 풀링 레이어(Pooling Layer)로 하여금 적어도 하나의 상기 테스트용 특징 맵 상에서 적어도 하나의 상기 테스트용 2D 바운딩 박스에 대응되는 적어도 하나의 영역에 대하여 풀링 연산을 적어도 한 번 적용하도록 하여 적어도 하나의 테스트용 풀링된 특징 맵을 생성하도록 하고, 상기 타입-분류 레이어(Type-Classifying Layer)로 하여금 상기 테스트용 풀링된 특징 맵을 참조하여 상기 테스트용 풀링된 특징 맵 내의 상기 테스트용 객체의 이미지가 트렁케이트(Truncate) 되었는지 트렁케이트 되지 않았는지를 판별하도록 하는 프로세스, (II) 상기 테스트용 객체의 이미지가 트렁케이트 된 상태이면 상기 테스트용 객체를 상기 제1 타입(First Type)이라고 하고 상기 테스트용 객체의 이미지가 트렁케이트 되지 않은 상태이면 상기 테스트용 객체를 상기 제2 타입(Second Type)이라고 하면, 상기 테스트용 풀링된 특징 맵 내의 상기 테스트용 객체의 이미지가 트렁케이트 되었는지 트렁케이트 되지 않았는지에 대한 정보를 참조하여 상기 제1 타입과 상기 제2 타입 각각에 대응되는 각각의 상기 FC 레이어 중 하나로 하여금 상기 테스트용 풀링된 특징 맵에 대하여 신경망 연산을 적용하도록 하여 상기 테스트용 수도-3D 바운딩 박스에 대응되는 테스트용 박스 패턴(Box Pattern) 정보를 생성하도록 하는 프로세스, (III) (i) 상기 FC 레이어 각각에 대응하는 상기 분류 레이어 각각으로 하여금 상기 테스트용 박스 패턴 정보를 참조하여 상기 테스트용 객체의 방향에 대한 테스트용 방향 클래스 정보를 생성하도록 하며, (ii) 상기 FC 레이어 각각에 대응하는 상기 리그레션 레이어 각각으로 하여금 상기 테스트용 박스 패턴 정보를 참조하여 상기 테스트용 2D 바운딩 박스의 상기 좌표에 대응하는 상기 테스트용 수도-3D 바운딩 박스의 상기 좌표에 대한 테스트용 리그레션 정보를 생성하도록 하는 프로세스를 수행하기 위한 상기 인스트럭션들을 실행하도록 구성된 적어도 하나의 프로세서;를 포함하는 것을 특징으로 한다.
일 실시예에서, 상기 학습 장치는, 타입 로스 레이어(Type Loss Layer)로 하여금 상기 학습용 객체의 이미지가 트렁케이트 되었는지 트렁케이트 되지 않았는지에 대한 정보와 상기 학습용 객체의 이미지에 대응되는 객체-타입(Object-Type) GT를 참조하여 적어도 하나의 타입 로스를 생성하도록 함으로써, 상기 타입 로스를 이용한 백프로파게이션을 통해 상기 타입-분류 레이어의 파라미터의 적어도 일부를 조정하는 것을 특징으로 한다.
일 실시예에서, 상기 (I) 프로세스에서, 상기 프로세서는, 상기 타입-분류 레이어로 하여금 상기 테스트용 객체의 전체를 포함하는 영역 대비 상기 테스트용 풀링된 특징 맵 상에 나타난 상기 테스트용 객체의 일부만 포함하는 영역의 비율이 소정의 임계치 이하일 경우에는 상기 테스트용 객체의 이미지가 트렁케이트 된 것으로 판단하며, 상기 비율이 상기 소정의 임계치를 초과할 경우에는 상기 테스트용 객체의 이미지가 트렁케이트 되지 않은 것으로 판단하도록 하는 것을 특징으로 한다.
일 실시예에서, 상기 (III) 프로세스에서, 상기 프로세서는, 상기 리그레션 레이어 각각으로 하여금 (i) 상기 테스트용 2D 바운딩 박스의 꼭지점으로부터 상기 테스트용 객체의 앞면과 뒷면 각각에 대응되는 각각의 테스트용 인스턴스 바운딩 박스의 꼭지점까지의 각각의 변위(Displacement) 및 (ii) 상기 테스트용 2D 바운딩 박스의 중심으로부터 상기 각각의 테스트용 인스턴스 바운딩 박스의 각각의 중심까지의 각각의 변위 및 상기 테스트용 2D 바운딩 박스의 너비/높이 비율과 상기 테스트용 인스턴스 바운딩 박스의 각각의 너비/높이 비율 사이의 각각의 차이 중 적어도 하나를 이용해, 상기 테스트용 리그레션 정보를 생성하도록 하는 것을 특징으로 한다.
일 실시예에서, 상기 (II) 프로세스에서, 상기 프로세서는, 상기 테스트용 객체가 상기 제1 타입인 경우, 상기 제1 타입에 대응되는 제1 FC 레이어로 하여금 상기 테스트용 풀링된 특징 맵에 대하여 신경망 연산을 적용하도록 하여 상기 테스트용 수도-3D 바운딩 박스에 대응하는 테스트용 제1 박스 패턴 정보를 생성하며, 상기 테스트용 객체가 상기 제2 타입인 경우, 상기 제2 타입에 대응하는 제2 FC 레이어로 하여금 상기 테스트용 풀링된 특징 맵에 대하여 신경망 연산을 적용하도록 하여 상기 테스트용 수도-3D 바운딩 박스에 대응하는 테스트용 제2 박스 패턴 정보를 생성하고, 상기 (III) 프로세스에서, 상기 프로세서는 (i) 상기 제1 FC 레이어에 대응되는 제1 분류 레이어로 하여금 상기 테스트용 제1 박스 패턴 정보를 참조하여 상기 제1 타입을 갖는 상기 테스트용 객체의 방향에 대응되는 테스트용 제1 방향 클래스 정보를 생성하도록 하며, 상기 제1 FC 레이어에 대응되는 제1 리그레션 레이어로 하여금 상기 테스트용 제1 박스 패턴 정보를 참조하여 상기 테스트용 2D 바운딩 박스의 상기 좌표에 대응하는 상기 테스트용 수도-3D 바운딩 박스의 상기 좌표에 대한 테스트용 제1 리그레션 정보를 생성하도록 하고, (ii) 상기 제2 FC 레이어에 대응되는 제2 분류 레이어로 하여금 상기 테스트용 제2 박스 패턴 정보를 참조하여 상기 제2 타입을 갖는 상기 테스트용 객체의 방향에 대응되는 테스트용 제2 방향 클래스 정보를 생성하도록 하며, 상기 제2 FC 레이어에 대응되는 제2 리그레션 레이어로 하여금 상기 테스트용 제2 박스 패턴 정보를 참조하여 상기 테스트용 2D 바운딩 박스의 상기 좌표에 대응하는 상기 테스트용 수도-3D 바운딩 박스의 상기 좌표에 대한 테스트용 제2 리그레션 정보를 생성하도록 하는 것을 특징으로 한다.
일 실시예에서, 상기 테스트 이미지를 선행 CNN 기반의 객체 검출기로 입력하여, 상기 객체 검출기가 (i) 선행 컨볼루션 레이어(Preceding Convolutional Layer)로 하여금 상기 테스트 이미지에 대하여 컨볼루션 연산을 수행하여 상기 테스트용 특징 맵을 생성하도록 하며, (ii) RPN으로 하여금 상기 테스트용 특징 맵으로부터 상기 테스트 이미지 내의 상기 테스트용 객체에 대응하는 적어도 하나의 테스트용 프로포잘 박스를 생성하도록 하고, (iii) 선행 풀링 레이어(Preceding Pooling Layer)로 하여금 상기 테스트용 특징 맵 상에서 상기 테스트용 프로포잘 박스에 대응하는 적어도 하나의 영역에 대하여 풀링 연산을 적용하도록 하여 테스트용 선행 풀링된 특징 맵을 생성하도록 하며, (iv) 선행 FC 레이어(Preceding FC Layer)로 하여금 상기 테스트용 객체에 대응되는 테스트용 객체 패턴 정보를 생성하도록 하고, (v) 선행 분류 레이어(Preceding Classification Layer)로 하여금 상기 테스트용 객체 패턴 정보를 참조하여 상기 테스트용 객체의 클래스에 대응하는 테스트용 객체 클래스 정보를 생성하도록 하며, (vi) 선행 리그레션 레이어(Preceding Regression Layer)로 하여금 상기 테스트용 객체 패턴 정보를 참조하여 상기 테스트용 객체에 대응하는 상기 테스트용 2D 바운딩 박스에 대한 테스트용 선행 리그레션 정보를 생성하도록 함으로써, 상기 테스트용 특징 맵과 상기 테스트용 2D 바운딩 박스를 생성하는 것을 특징으로 한다.
이 외에도, 본 발명의 방법을 실행하기 위한 컴퓨터 프로그램을 기록하기 위한 컴퓨터 판독 가능한 기록 매체가 더 제공된다.
본 발명은 3D 좌표 생성을 위한 불필요한 컴퓨팅 연산없이 객체의 3D 바운딩 박스를 생성할 수 있으며, 객체 검출의 정확성을 향상시킬 수 있는 효과가 있다.
또한, 본 발명은 수도-3D 바운딩 박스(Pseudo-3D Box)를 이용함으로써 3D 객체에 외접하는 3D 바운딩 박스(Bounding Box)를 단순화할 수 있는 다른 효과가 있다.
또한, 본 발명은 수도-3D 박스의 위치 정보에 대한 2D 좌표를 이용함으로써 컴퓨팅 리소스와 연산 시간을 감소시킬 수 있는 또 다른 효과가 있다.
본 발명의 실시예의 설명에 이용되기 위하여 첨부된 아래 도면들은 본 발명의 실시예들 중 단지 일부일 뿐이며, 본 발명이 속한 기술분야에서 통상의 지식을 가진 자(이하 "통상의 기술자")에게 있어서는 발명적 작업이 이루어짐 없이 이 도면들에 기초하여 다른 도면들이 얻어질 수 있다.
도 1은 본 발명의 일 실시예에 따른 CNN 기반의 수도-3D 바운딩 박스를 검출하는 학습 장치를 개략적으로 도시한 것이고,
도 2는 본 발명의 일 실시예에 CNN 기반의 수도-3D 바운딩 박스를 검출하는 학습 방법을 개략적으로 도시한 것이고,
도 3은 본 발명의 일 실시예에 따른 CNN 기반의 수도-3D 바운딩 박스를 검출하는 학습 방법에서 고려해야 하는 객체의 트렁케이트(Truncate) 된 이미지와 트렁케이트 되지 않은 이미지의 예시를 개략적으로 도시한 것이고,
도 4는 본 발명의 일 실시예에 따른 CNN 기반의 수도-3D 바운딩 박스를 검출하는 학습 방법에서 고려해야 하는 객체 방향의 클래스를 개략적으로 도시한 것이고,
도 5는 본 발명의 일 실시예에 따른 CNN 기반의 수도-3D 바운딩 박스를 검출하는 학습 방법에서 수도-3D 바운딩 박스 상의 위치 정보를 생성하는 프로세스를 개략적으로 도시한 것이고,
도 6은 본 발명의 일 실시예에 따른 CNN 기반의 수도-3D 바운딩 박스를 검출하는 학습 방법에서 수도-3D 바운딩 박스 상의 위치 정보를 생성하는 다른 프로세스를 개략적으로 도시한 것이고,
도 7은 본 발명의 일 실시예에 따른 CNN 기반의 수도-3D 바운딩 박스를 검출하는 테스트 장치를 개략적으로 도시한 것이고,
도 8은 본 발명의 일 실시예에 따른 CNN 기반의 수도-3D 바운딩 박스를 검출하는 테스트 방법을 개략적으로 도시한 것이다.
후술하는 본 발명에 대한 상세한 설명은, 본 발명의 목적들, 기술적 해법들 및 장점들을 분명하게 하기 위하여 본 발명이 실시될 수 있는 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시예는 통상의 기술자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다.
또한, 본 발명의 상세한 설명 및 청구항들에 걸쳐, "포함하다"라는 단어 및 그것의 변형은 다른 기술적 특징들, 부가물들, 구성요소들 또는 단계들을 제외하는 것으로 의도된 것이 아니다. 통상의 기술자에게 본 발명의 다른 목적들, 장점들 및 특성들이 일부는 본 설명서로부터, 그리고 일부는 본 발명의 실시로부터 드러날 것이다. 아래의 예시 및 도면은 실례로서 제공되며, 본 발명을 한정하는 것으로 의도된 것이 아니다.
본 발명에서 언급하는 각종 이미지는 포장 또는 비포장 도로 관련 이미지를 포함할 수 있으며, 이 경우 도로 환경에서 등장할 수 있는 물체(가령, 자동차, 사람, 동물, 식물, 물건, 건물, 비행기나 드론과 같은 비행체, 기타 장애물)를 상정할 수 있을 것이나, 반드시 이에 한정되는 것은 아니며, 본 발명에서 언급하는 각종 이미지는 도로와 상관 없는 이미지(가령, 비포장도로, 골목길, 공터, 바다, 호수, 강, 산, 숲, 사막, 하늘, 실내와 관련된 이미지)일 수도 있으며, 이 경우, 비포장도로, 골목길, 공터, 바다, 호수, 강, 산, 숲, 사막, 하늘, 실내 환경에서 등장할 수 있는 물체(가령, 자동차, 사람, 동물, 식물, 물건, 건물, 비행기나 드론과 같은 비행체, 기타 장애물)를 상정할 수 있을 것이나, 반드시 이에 한정되는 것은 아니다.
이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있도록 하기 위하여, 본 발명의 바람직한 실시예들에 관하여 첨부된 도면을 참조하여 상세히 설명하기로 한다.
도 1은 본 발명의 일 실시예에 따른 CNN 기반의 수도-3D 바운딩 박스를 적어도 하나 검출하는 학습 장치를 개략적으로 도시한 것으로, 도 1을 참조하면, 학습 장치(100)는 통신부(110)와 프로세서(120)를 포함할 수 있다. 또한, 학습 장치는 다음의 프로세스를 수행하기 위한 컴퓨터 판독 가능한 인스트럭션(Instruction)을 저장할 수 있는 메모리(115)를 더 포함할 수 있다. 일 실시예에 따르면, 프로세서, 메모리, 매체 등은 통합 프로세서(Integrated Processor)로 통합될 수 있다.
먼저, 통신부(110)는 적어도 하나의 입력 특징 맵과 적어도 하나의 2D 바운딩 박스를 획득하거나 타 장치로 하여금 획득하도록 지원할 수 있다. 여기서 입력 특징 맵은 적어도 하나의 트레이닝 이미지에 대하여 컨벌루션 연산을 적어도 한 번 적용하여 생성되고 2D 바운딩 박스는 트레이닝 이미지에서 적어도 하나의 객체에 외접하는 박스를 설정한다.
이때, 통신부(100)는, 데이터베이스(130)에 저장된 트레이닝 이미지를 객체 검출기에 입력함으로써 데이터베이스(130) 또는 CNN 기반의 객체 검출기로부터 입력 특징 맵 상의 정보와 2D 바운딩 박스를 획득하거나 타 장치로 하여금 획득하도록 지원할 수 있다. 객체 검출기를 이용하여 입력 특징 맵과 2D 바운딩 박스를 생성하는 프로세스는 다음에서 자세히 설명하기로 한다. 그리고, 데이터베이스(130)에는 2D 바운딩 박스에 대응되는 객체의 방향에 대한 클래스 정보 및 수도-3D 바운딩 박스의 위치 정보에 대한 적어도 하나의 GT(Ground Truth)가 저장되어 있을 수 있다. 이에 더하여, 데이터베이스(130)에는 트레이닝 이미지 내의 객체의 2D 바운딩 박스에 대한 위치 정보에 대응하는 적어도 하나의 GT 및 객체 클래스에 대응하는 적어도 하나의 GT가 저장되어 있을 수 있다.
다음으로, 프로세서(120)는 풀링 레이어(Pooling Layer)로 하여금 입력 특징 맵 상에서 2D 바운딩 박스에 대응되는 적어도 하나의 영역에 대해 풀링 연산을 적어도 한 번 적용하도록 하여 적어도 하나의 풀링된 특징 맵을 생성하도록 하고, 타입-분류 레이어(Type-Classifying Layer)로 하여금 풀링된 특징 맵을 참조하여 풀링된 특징 맵 내의 객체 이미지가 트렁케이트 되었는지 트렁케이트 되지 않았는지 판단하도록 한다. 객체의 이미지가 트렁케이트 된 상태이면 객체를 제1 타입(First Type)이라고 하고 객체의 이미지가 트렁케이트 되지 않은 상태이면 객체를 제2 타입(Second Type)이라고 하면, 프로세서(120)는 풀링된 특징 맵 내의 객체의 이미지가 트렁케이트 되었는지 트렁케이트 되지 않았는지에 대한 정보를 참조하여 제1 타입과 제2 타입 각각에 대응되는 각각의 FC 레이어 중 하나로 하여금 풀링된 특징 맵에 대하여 신경망 연산을 적어도 한 번 적용하도록 하여 수도-3D 바운딩 박스에 대응되는 박스 패턴(Box Pattern) 정보를 생성하도록 할 수 있다. 그리고, 프로세서(120)는 (i) 적어도 하나의 분류 레이어로 하여금 박스 패턴 정보를 참조하여 객체의 방향(Orientation)에 대응되는 방향 클래스 정보를 생성하도록 하며, (ii) 각각의 FC 레이어에 대응되는 각각의 리그레션 레이어로 하여금 박스 패턴 정보를 참조하여 2D 바운딩 박스의 좌표에 대응하는 수도-3D 바운딩 박스의 좌표에 대한 리그레션 정보를 생성하도록 한다. 이후, 프로세서(120)는 적어도 하나의 FC 로스 레이어로 하여금 방향 클래스 정보, 리그레션 정보 및 이에 대응되는 GT를 참조하여 적어도 하나의 클래스 로스 및 적어도 하나의 리그레션 로스를 생성함으로써, 클래스 로스 및 리그레션 로스를 이용한 백프로파게이션을 통해 FC 레이어의 파라미터를 학습할 수 있다.
다음으로, 프로세서(120)는 타입 로스 레이어로 하여금 객체의 이미지가 트렁케이트 되었는지 트렁케이트 되지 않았는지에 대한 정보와 이에 대응하는 객체-타입 GT를 참조하여 적어도 하나의 타입 로스를 생성하도록 하여 타입 로스를 백프로파게이션하여 타입-분류 레이어의 파라미터의 적어도 일부를 조정할 수 있다.
다른 예를 들면, (도 2와 달리) 객체 검출기(10)가 검출기-학습 장치(미도시)에 의해 학습된 상태에서, 검출기-학습 장치는 객체 검출기(10) 내의 타입 로스로 하여금 객체의 이미지가 트렁케이트 되었는지 트렁케이트 되지 않았는지에 대한 정보와 이에 대응하는 객체-타입 GT를 참조하여 타입 로스를 생성하도록 하여 타입 로스를 백프로파게이션하여 객체 검출기(10) 내의 타입-분류 레이어의 파라미터의 적어도 일부를 조정할 수 있다. 즉, 선행 CNN(Preceding CNN)이라 불리는 CNN 기반의 객체 검출기(10)가 학습되면, 타입-분류 레이어도 함께 학습된다. 이때, "선행(Preceding)"이란 용어는 학습 장치(100)에서의 혼란을 막기 위해 객체 검출기(10) 내의 레이어, 입력 및 출력에 대해 사용될 수 있으며 자세한 내용은 나중에 설명할 것이다.
이때, 본 발명의 일 실시예에 따른 학습 장치(100)는 컴퓨팅 장치로서, 프로세서를 탑재하여 연산 능력을 갖춘 장치라면 얼마든지 본 발명에 따른 학습 장치(100)로서 채택될 수 있다. 또한, 도 1에서는 하나의 학습 장치(100)만을 나타내었으나, 이에 한정되지 않으며, 학습 장치(100)는 복수 개로 나뉘어 역할을 수행할 수도 있다.
이와 같이 구성된 본 발명의 일 실시예에 따른 학습 장치(100)를 이용하여 CNN 기반의 수도-3D 바운딩 박스를 검출하는 학습 방법을 도 2를 참조하여 설명하면 다음과 같다.
먼저, 학습 장치(100)는, 트레이닝 이미지에 대하여 컨볼루션 연산을 수행하여 생성된 특징 맵과 트레이닝 이미지 내의 객체를 포함하는 2D 바운딩 박스를 획득할 수 있다.
이때, 학습 장치(100)는, 트레이닝 이미지가 선행 CNN을 기반으로 한 객체 검출기(10)에 입력되도록 지원할 수 있으며, 이를 통해 학습 장치(100)는, 특징 맵과 2D 바운딩 박스를 객체 검출기(10)로부터 또는 데이터베이스(미도시)로부터 획득하거나 타 장치로 하여금 획득하도록 지원할 수 있다.
그리고, 객체 검출기(10)로부터 입력 특징 맵과 2D 바운딩 박스를 획득하는 프로세스를 간략히 설명하면 다음과 같다. 이때, "선행(Preceding)"이란 용어는 학습 장치(100)에서의 혼란을 막기 위해 본 발명에서 가장 중요한 장치인 학습 장치(100)의 입력단 바로 전에 배치될 수 있는 객체 검출기(10) 내의 레이어, 입력 및 출력에 대해 사용될 수 있다. 이하, 객체 검출기(10) 내의 각각의 레이어에 대한 연산은 객체 검출기(10)에 의해 제어되지만, 경우에 따라 학습 장치(100)에 의해 제어될 수도 있다.
객체 검출기(10)가 데이터베이스로부터 트레이닝 이미지를 획득한 후, 객체 검출기(10)가 학습된 적어도 하나의 컨볼루션 레이어(11)로 하여금 트레이닝 이미지에 대하여 컨볼루션 연산을 적용하도록 하여 적어도 하나의 선행 특징 맵을 출력하도록 한다. 그리고, 객체 검출기(10)가 학습된 선행 RPN(12)으로 하여금 선행 특징 맵으로부터 트레이닝 이미지 내에 위치하는 객체에 대응하는 선행 프로포잘 박스를 생성하도록 하며, 적어도 하나의 선행 풀링 레이어(13)로 하여금 각각의 선행 프로포잘 박스에 대응하는 선행 특징 맵 상의 각각의 영역에 대하여 풀링 연산을 적용하도록 하여 적어도 하나의 선행 풀링된 특징 맵을 생성하도록 한다. 이후, 객체 검출기(10)는 학습된 적어도 하나의 선행 FC 레이어(14)로 하여금 선행 풀링된 특징 맵에 대하여 신경망 연산을 적용하도록 하여 객체에 대응되는 선행 객체 패턴 정보를 생성하도록 한다. 이때, 특징에 대응되는 선행 객체 패턴 정보는 검출하고자 하는 객체 클래스 중 예측되는 객체 클래스에 대한 정보와, 바운딩 박스에 대한 예상 위치 정보를 포함할 수 있다. 그리고, 객체 검출기(10)는 적어도 하나의 선행 분류 레이어(15)로 하여금 선행 객체 패턴 정보를 참조하여 객체에 대한 선행 클래스 정보(예를 들어, 검출하고자 하는 각각의 클래스의 확률 정보)를 생성하도록 하며, 적어도 하나의 선행 리그레션 레이어(16)로 하여금 선행 객체 패턴 정보를 참조하여 객체에 대응하는 선행 리그레션 정보를 생성하도록 할 수 있다. 이때, 2D 바운딩 박스는 선행 프로포잘 박스와 선행 리그레션 정보를 참조하여 생성될 수 있다. 이를 통해, 학습 장치(100)는, CNN 기반의 객체 검출기(10)의 선행 컨볼루션 레이어(11)로부터 생성되는 선행 특징 맵과 선행 리그레션 레이어(16)로부터 생성되는 선행 리그레션 정보를 이용해 특징 맵과 트레이닝 이미지 내의 객체에 대한 2D 바운딩 박스를 획득할 수 있다.
다음으로, 특징 맵과 2D 바운딩 박스가 획득되면, 학습 장치(100)는, 풀링 레이어(121)로 하여금 특징 맵 상에서 2D 바운딩 박스에 대응되는 영역에 대하여 풀링 연산을 적용하도록 하여 풀링된 특징 맵을 생성하도록 한다.
그리고 학습 장치(100)는, 타입-분류 레이어(122)로 하여금 풀링된 특징 맵을 참조하여 풀링된 특징 맵 내의 객체의 이미지가 트렁케이트 되었는지 트렁케이트 되지 않았는지를 판단하도록 한다.
일 예로, 도 3을 참조하면, 타입-분류 레이어(122)로 하여금 객체의 전체를 포함하는 영역 대비 풀링된 특징 맵 상에 나타난 객체의 일부만 포함하는 영역의 비율이 (a)에 나타난 바와 같이 소정의 임계치 이하일 경우에는 객체의 이미지가 트렁케이트 된 것으로 판단하도록 하며, 비율이 소정의 임계치를 초과할 경우에는 객체의 이미지가 트렁케이트 되지 않은 것으로 판단하도록 할 수 있다.
이때, 타입-분류 레이어(122)는 풀링된 특징 맵에 대하여 신경망 연산을 적용하는 FC 레이어를 포함하거나, FCN(Fully Convolution Network)를 포함할 수 있다.
다음으로, 객체의 이미지가 트렁케이트 된 상태이면 객체를 제1 타입(First Type)이라고 하고 객체의 이미지가 트렁케이트 되지 않은 상태이면 객체를 제2 타입(Second Type)이라고 하면, 학습 장치(100)는, 풀링된 특징 맵 내의 객체의 이미지가 트렁케이트 되었는지 트렁케이트 되지 않았는지에 대한 정보를 참조하여 제1 타입과 제2 타입 각각에 대응되는 각각의 FC 레이어(123-1, 123-2) 중 하나로 하여금 풀링된 특징 맵에 대하여 신경망 연산을 적용하도록 하여 수도-3D 바운딩 박스에 대응되는 박스 패턴(Box Pattern) 정보를 생성하도록 할 수 있다. 이때, 특징에 대응되는 박스 패턴 정보는 검출하고자 하는 객체의 방향 클래스 중 예측되는 방향 클래스에 대한 정보와, 예측되는 수도-3D 바운딩 박스의 위치에 대한 정보일 수 있다.
일 예로, 타입-분류 레이어(122)의 판별 결과를 참조하여 객체가 제1 타입이면, 학습 장치(100)는, FC 레이어 중 제1 타입에 대응되는 제1 FC 레이어(123-1)로 하여금 풀링된 특징 맵에 대하여 신경망 연산을 적용하도록 하여 수도-3D 바운딩 박스에 대응되는 제1 박스 패턴 정보를 생성하도록 한다. 그리고, 타입-분류 레이어(122)의 판별 결과를 참조하여 객체가 제2 타입이면, 학습 장치(100)는, FC 레이어 중 제2 FC 레이어(123-2)로 하여금 풀링된 특징 맵에 대하여 신경망 연산을 적용하도록 하여 수도-3D 바운딩 박스에 대응되는 제2 박스 패턴 정보를 생성하도록 한다.
다음으로, 학습 장치(100)는 (i) 수도-3D 바운딩 박스 생성용 FC 레이어(123-1, 123-2) 각각에 대응하는 각각의 분류 레이어(124-11, 124-21)로 하여금 박스 패턴 정보를 참조하여 객체의 방향에 대응되는 방향 클래스 정보를 생성하도록 할 수 있고, (ii) FC 레이어(123-1, 123-2) 각각에 대응하는 리그레션 레이어(124-12, 124-22) 각각으로 하여금 박스 패턴 정보를 참조하여 2D 바운딩 박스의 좌표에 대응하는 수도-3D 바운딩 박스의 좌표에 대한 리그레션 정보를 생성하도록 할 수 있다.
일 예로, 제1 FC 레이어(123-1)에 대응되는 분류 레이어(124-11)로 하여금 제1 박스 패턴 정보를 참고로 하여 제1 타입을 갖는 객체의 방향에 대응하는 제1 방향 클래스 정보를 생성하도록 할 수 있다. 예를 들어, 학습 장치(100)는, 제1 박스 패턴 정보를 참조하여 각각의 방향 클래스에 대한 확률 정보를 생성할 수 있으며, 확률이 가장 높은 특정 방향 클래스를 해당 객체의 방향 클래스로 판별할 수 있다. 학습 장치(100)는, 제1 FC 레이어(123-1)에 대응되는 제1 리그레션 레이어(124-12)로 하여금 제1 박스 패턴 정보를 참조하여 2D 바운딩 박스의 좌표에 대응하는 수도-3D 바운딩 박스의 좌표에 대한 제1 리그레션 정보를 생성하도록 할 수 있다. 학습 장치(100)는, 제2 FC 레이어에 대응되는 제2 분류 레이어(124-21)로 하여금 제2 박스 패턴 정보를 참조하여 제2 타입을 갖는 객체의 방향에 대응되는 제2 방향 클래스 정보를 생성하도록 할 수 있다. 예를 들어, 학습 장치(100)는, 제2 박스 패턴 정보를 참조하여 각각의 방향 클래스에 대한 확률 정보를 생성하도록 할 수 있으며, 확률이 가장 높은 특정 방향 클래스를 해당 객체의 방향 클래스로 판별할 수 있다. 학습 장치(100)는, 제2 FC 레이어에 대응되는 제2 리그레션 레이어(124-22)로 하여금 제2 박스 패턴 정보를 참조하여 2D 바운딩 박스의 좌표에 대응하는 수도-3D 바운딩 박스의 좌표에 대한 제2 리그레션 정보를 생성하도록 할 수 있다.
이때, 도 4를 참조하면, 방향 클래스는 객체의 방향을 판별하기 위한 것으로, 자동차를 예를 들면, 방향 클래스 각각은 (a)의 경우 객체의 뒷면을, (b)의 경우 객체의 우측 뒷면을, (c)의 경우 객체의 우측면을, (d)의 경우 객체의 우측 앞면을, (e)의 경우 객체의 앞면을, (f)의 경우 객체의 좌측 앞면, (g)의 경우 객체의 좌측면을, (h)의 경우 객체의 좌측 뒷면을 나타낸다.
또한, 학습 장치(100)는 리그레션 레이어(124-12, 124-22)로 하여금, (i) 2D 바운딩 박스의 꼭지점으로부터 객체의 앞면과 뒷면 각각에 대응되는 각각의 인스턴스 바운딩 박스의 꼭지점까지의 각각의 변위(Displacement) 및 (ii) 2D 바운딩 박스의 중심으로부터 각각의 인스턴스 바운딩 박스의 각각의 중심까지의 각각의 변위 및 2D 바운딩 박스의 너비/높이 비율과 인스턴스 바운딩 박스의 각각의 너비/높이 비율 사이의 각각의 차이 중 적어도 하나를 이용해, 리그레션 정보를 생성하도록 한다. 이때, 각각의 인스턴스 바운딩 박스의 적어도 하나의 꼭지점 각각이, 대각선을 이루는 2D 바운딩 박스의 각각의 꼭지점에 각각 대응할 수 있다.
일 예로, 도 5를 참조하면, (i) 객체의 앞면과 뒷면 중 어느 한 면에 대응되는 인스턴스 바운딩 박스(P1, P2, P3, P4)와 (ii) 2D 바운딩 박스(B1, B2, B3, B4)의 꼭지점 사이의 변위, (i) 객체의 앞면과 뒷면 중 다른 한 면에 대응되는 인스턴스 바운딩 박스(P5, P6, P7, P8)와 (ii) 2D 바운딩 박스(B1, B2, B3, B4)의 꼭지점 사이의 변위를 리그레션 정보로 생성할 수 있다. 이때, 하나의 인스턴스 바운딩 박스의 꼭지점 P1은 2D 바운딩 박스의 꼭지점 B1과 매칭될 수 있으며, 다른 인스턴스 바운딩 박스의 꼭지점 P8는 2D 바운딩 박스의 꼭지점 B4와 매칭될 수 있다. 또한, 객체의 앞면과 뒷면에 대한 판별은 분류 레이어(123)로부터의 클래스 정보를 통해 확인할 수 있다.
그리고, 리그레션 정보는 하나의 인스턴스 바운딩 박스 내의 좌측 상단에 있는 꼭지점 P1와 P5 사이의 변위 및 다른 인스턴스 박스 내의 우측 하단에 있는 꼭지점 P4와 P8 사이의 변위 각각 포함할 수 있으며, 이 경우, 하나의 인스턴스 바운딩 박스의 좌측 상단에 있는 꼭지점인 P1은 2D 바운딩 박스의 좌측 상단에 있는 꼭지점인 B1에 매칭되며 다른 인스턴스 바운딩 박스의 우측 하단에 있는 꼭지점인 P8은 2D 바운딩 박스의 우측 하단에 있는 꼭지점인 B4에 매칭되므로, 리그레션 정보는 꼭지점 B4와 꼭지점 P4 사이의 변위, 및 꼭지점 B1과 꼭지점 P5 사이의 변위를 포함할 수 있다. 한편, 이와는 달리, 리그레션 정보는 하나의 인스턴스 바운딩 박스의 꼭지점(P1, P2, P3, P4)로부터 다른 인스턴스 바운딩 박스의 꼭지점(P5, P6, P7, P8)까지의 각각의 변위를 포함하도록 할 수도 있다.
다른 예로, 도 6을 참조하면, 리그레션 정보는 (i) 객체의 앞면과 뒷면 중 어느 한 면에 대응되는 하나의 인스턴스 바운딩 박스의 꼭지점(P1, P2, P3, P4)의 중심인 C1과 2D 바운딩 박스의 꼭지점(B1, B2, B3, B4)의 중심인 C0 사이의 변위, (ii) 객체의 앞면과 뒷면 중 다른 한 면에 대응되는 다른 인스턴스 바운딩 박스의 꼭지점(P5, P6, P7, P8)의 중심인 C2와 중심인 C0 사이의 변위 및 (iii) 하나의 인스턴스 바운딩 박스의 꼭지점(P1, P2, P3, P4)의 너비인 W1와 높이인 H1로부터 2D 바운딩 박스의 너비인 W0와 높이인 H0 까지의 각각의 변위, 및 다른 인스턴스 바운딩 박스의 너비인 W2와 높이인 H2로부터 2D 바운딩 박스의 너비인 W0와 높이인 H0 까지의 각각의 변위를 포함할 수 있으며, 이를 통해 리그레션 정보를 참조로 하여 하나의 인스턴스 바운딩 박스 및 다른 인스턴스 바운딩 박스의 각각의 꼭지점에 대한 좌표를 확인할 수 있게 된다.
한편, 대각선을 이루는 2D 바운딩 박스의 각각의 꼭지점(예를 들어, B1과 B4)을 제1 꼭지점과 제2 꼭지점으로 하며, 제1 꼭지점에 적어도 하나의 꼭지점이 매칭되는 인스턴스 바운딩 박스를 제1 인스턴스 바운딩 박스라 하고, 제2 꼭지점에 적어도 하나의 꼭지점이 매칭되는 인스턴스 바운딩 박스를 제2 인스턴스 바운딩 박스라 할 경우, 학습 장치(100)는 (i) 제1 및 제2 인스턴스 바운딩 박스의 꼭지점들을 연결하되 상기 꼭지점들이 2D 바운딩 박스를 구성하는 두 개의 인접하는 라인의 제1 페어(First Pair) 상에 위치하고, 제1 및 제2 인스턴스 바운딩 박스의 꼭지점들을 연결하되 상기 꼭지점이 2D 바운딩 박스의 다른 두 개의 인접한 라인의 제2 페어(Second Pair) 상에 위치하고, 제1 및 제2 페어 각각에 있는 두 개의 인접한 라인이 대각선을 이루는 꼭지점 각각의 어떤 꼭지점과도 만나지 않고, (ii) 2D 바운딩 박스의 어떤 라인 위에도 존재하지 않는 제2 인스턴스 바운딩 박스의 꼭지점을 제1 꼭지점과 연결한 다음, 2D 바운딩 박스의 어떤 라인 위에도 존재하지 않는 제1 인스턴스 바운딩 박스의 꼭지점을 제2 꼭지점과 연결하여, 클래스 정보를 참조하여 수도-3D 바운딩 박스를 생성할 수 있다.
즉, 도 4 또는 도 5에서와 같이, 꼭지점 B1에서 시작해 꼭지점 B2를 지나 꼭지점 B4까지의 라인 상에 위치하는, 하나의 인스턴스 바운딩 박스의 꼭지점 P2와 다른 인스턴스 바운딩 박스의 꼭지점 P6은 연결될 수 있으며, 꼭지점 B1에서 시작해 꼭지점 B3를 지나 꼭지점 B4까지의 라인 상에 위치하는, 하나의 인스턴스 바운딩 박스의 꼭지점 P3와 다른 인스턴스 바운딩 박스의 꼭지점 P7은 연결될 수 있다. 그리고, 하나의 인스턴스 바운딩 박스의 꼭지점 P1과 다른 인스턴스 바운딩 박스의 꼭지점 P5가 연결되며, 꼭지점 P4가 꼭지점 P8와 연결될 수 있다. 이를 통해 학습 장치(100)는 육면체의 형태로 수도-3D 바운딩 박스를 생성할 수 있으며, 수도-3D 바운딩 박스는 꼭지점 P1, P2, P4, P3에 의해 형성되는 일면, 꼭지점 P5, P6, P8, P7에 의해 형성되는 일면, 꼭지점 P1, P5, P7, P3에 의해 형성되는 일면, 꼭지점 P2, P6, P8, P4에 의해 형성되는 일면, 꼭지점 P1, P2, P6, P5에 의해 형성되는 일면, 꼭지점 P3, P4, P8, P7에 의해 형성되는 일면을 포함하게 된다.
다음으로, 학습 장치(100)는, 적어도 하나의 FC 로스 레이어(125-11, 125-12, 125-21, 125-22)로 하여금 방향 클래스 정보, 리그레션 정보 및 이에 대응하는 적어도 하나의 GT를 참조하여 적어도 하나의 클래스 로스 및 적어도 하나의 리그레션 로스를 생성함으로써, 클래스 로스 및 리그레션 로스를 이용한 백프로파게이션을 통해 FC 레이어(123-1, 123-2)의 파라미터를 학습할 수 있다.
일 예로, 학습 장치(100)는 (i) 제1 FC 레이어(123-1)에 대응되는 제1 FC 로스 레이어들(125-11, 125-12)로 하여금 제1 방향 클래스 정보, 제1 리그레션 정보 및 이에 대응되는 적어도 하나의 GT를 참조하여 적어도 하나의 제1 방향 클래스 로스 및 적어도 하나의 제1 박스 리그레션 로스를 생성하도록 함으로써, 제1 방향 클래스 로스 및 제1 박스 리그레션 로스를 이용한 백프로파게이션을 통해 제1 FC 레이어(123-1)의 파라미터를 학습하도록 하며, (ii) 제2 FC 레이어(123-2)에 대응되는 적어도 하나의 제2 FC 로스 레이어(125-21, 125-22)로 하여금 제2 방향 클래스 정보, 제2 리그레션 정보 및 이에 대응되는 적어도 하나의 GT를 참조하여 적어도 하나의 제2 방향 클래스 로스 및 적어도 하나의 제2 박스 리그레션 로스를 생성하도록 함으로써, 제2 방향 클래스 로스 및 제2 박스 리그레션 로스를 이용한 백프로파게이션을 통해 제2 FC 레이어(123-2)의 파라미터를 학습할 수 있다.
이와는 별도로, 학습 장치(100)는, 타입 로스 레이어(126)로 하여금 객체의 이미지가 트렁케이트 되었는지 트렁케이트 되지 않았는지에 대한 정보와 이에 대응되는 객체 타입 GT를 참조하여 적어도 하나의 타입 로스를 생성함으로써, 타입 로스를 이용한 백프로파게이션을 통해 타입-분류 레이어(122)의 적어도 하나의 파라미터를 조정할 수 있다.
한편, (도 6과 달리) 객체 검출기(10)가 검출기-학습 장치(미도시)에 의해 학습되는 상태에서, 검출기-학습 장치가, 객체 검출기(10) 내의 타입 로스 레이어(미도시)로 하여금 객체의 이미지가 트렁케이트 되었는지 트렁케이트 되지 않았는지에 대한 정보와 이에 대응되는 객체 타입 GT를 참조하여 타입 로스를 생성하도록 함으로써, 타입 로스를 이용한 백프로파게이션을 통해 타입-분류 레이어(122)의 파라미터 중 적어도 일부를 조정할 수도 있다. 즉, 선행 CNN 기반의 객체 검출기(10)를 학습할 시, 타입-분류 레이어(122)도 같이 학습할 수 있다.
도 7은 본 발명의 일 실시예에 따른 CNN 기반의 수도-3D 바운딩 박스를 검출하는 테스트 장치를 개략적으로 도시한 것으로, 도 7을 참조하면, 테스트 장치(200)는 통신부(210)와 프로세서(220)를 포함할 수 있다. 또한, 테스트 장치는 다음의 프로세스를 수행하기 위한 컴퓨터 판독 가능한 인스트럭션(Instruction)을 저장할 수 있는 메모리(115)를 더 포함할 수 있다. 일 실시예에 따르면, 프로세서, 메모리, 매체 등은 통합 프로세서(Integrated Processor)로 통합될 수 있다.
참고로 이하의 설명에서 혼동을 피하기 위해 "학습용"이란 문구는 앞서 설명한 학습 프로세스와 관련된 용어에 대해 추가되고, "테스트용"이란 문구는 테스트 프로세스와 관련된 용어에 대해 추가된다.
먼저, 도 1과 도2를 참조하여 설명한 학습 장치가, (a) 적어도 하나의 트레이닝 이미지에 대하여 컨벌루션 연산을 적어도 한 번 적용해 생성되는 적어도 하나의 학습용 특징 맵과 트레이닝 이미지에서 적어도 하나의 학습용 객체를 포함하는 적어도 하나의 학습용 2D 바운딩 박스가 획득되면, 풀링 레이어(Pooling Layer)로 하여금 학습용 특징 맵 상에서 학습용 2D 바운딩 박스에 대응되는 적어도 하나의 영역에 대하여 풀링 연산을 적어도 한 번 적용하도록 하여 적어도 하나의 학습용 풀링된 특징 맵을 생성하도록 하고, 타입-분류 레이어(Type-Classifying Layer)로 하여금 학습용 풀링된 특징 맵을 참조하여 학습용 풀링된 특징 맵 내의 학습용 객체의 이미지가 트렁케이트(Truncate) 되었는지 트렁케이트 되지 않았는지를 판별하도록 하는 프로세스, (b) 학습용 객체의 이미지가 트렁케이트 된 상태이면 학습용 객체를 제1 타입(First Type)이라고 하고 학습용 객체의 이미지가 트렁케이트 되지 않은 상태이면 학습용 객체를 제2 타입(Second Type)이라고 하면, 학습용 풀링된 특징 맵 내의 학습용 객체의 이미지가 트렁케이트 되었는지 트렁케이트 되지 않았는지에 대한 정보를 참조하여 제1 타입과 제2 타입 각각에 대응되는 각각의 FC 레이어 중 하나로 하여금 학습용 풀링된 특징 맵에 대하여 신경망 연산을 적용하도록 하여 학습용 수도-3D 바운딩 박스에 대응되는 학습용 박스 패턴(Box Pattern) 정보를 생성하도록 하는 프로세스, (c) (i) FC 레이어 각각에 대응하는 적어도 하나의 분류 레이어 각각으로 하여금 학습용 박스 패턴 정보를 참조하여 학습용 객체의 방향에 대한 학습용 방향 클래스 정보를 생성하도록 하며, (ii) FC 레이어 각각에 대응하는 리그레션 레이어 각각으로 하여금 학습용 박스 패턴 정보를 참조하여 학습용 2D 바운딩 박스의 좌표에 대응하는 학습용 수도-3D 바운딩 박스의 좌표에 대한 학습용 리그레션 정보를 생성하도록 하는 프로세스, 및 (d) FC 로스 레이어로 하여금 학습용 방향 클래스 정보, 학습용 리그레션 정보 및 이에 대응되는 적어도 하나의 GT를 참조하여 클래스 로스 및 적어도 하나의 리그레션 로스를 생성함으로써, 클래스 로스 및 리그레션 로스를 백프로파게이션하여 FC 레이어의 파라미터를 학습하는 프로세스를 수행한 상태에서, 통신부(210)는 적어도 하나의 테스트용 특징 맵과 적어도 하나의 테스트용 2D 바운딩 박스를 획득하거나 타 장치로 하여금 획득하도록 지원할 수 있다. 이 때, 테스트용 특징 맵은 테스트 이미지에 대하여 컨벌루션 연산을 수행하여 생성될 수 있고, 테스트용 2D 바운딩 박스는 객체 검출기로부터 나온 테스트 이미지 상에서 적어도 하나의 테스트용 객체를 포함할 수 있다.
다음으로, 프로세서(220)는 (a) 풀링 레이어로 하여금 테스트용 특징 맵 상에서 테스트용 2D 바운딩 박스에 대응되는 적어도 하나의 영역에 대하여 풀링 연산을 적용하도록 하여 적어도 하나의 테스트용 풀링된 특징 맵을 생성하도록 하고, 타입-분류 레이어로 하여금 테스트용 풀링된 특징 맵을 참조하여 테스트용 풀링된 특징 맵 상의 테스트용 객체의 이미지가 트렁케이트(Truncate) 되었는지 트렁케이트 되지 않았는지를 판별하도록 하는 프로세스, (b) 테스트용 객체의 이미지가 트렁케이트 된 상태이면 테스트용 객체를 제1 타입(First Type)이라고 하고 테스트용 객체의 이미지가 트렁케이트 되지 않은 상태이면 테스트용 객체를 제2 타입(Second Type)이라고 하면, 테스트용 풀링된 특징 맵 내의 테스트용 객체의 이미지가 트렁케이트 되었는지 트렁케이트 되지 않았는지에 대한 정보를 참조하여 제1 타입과 제2 타입 각각에 대응되는 각각의 FC 레이어 중 하나로 하여금 테스트용 풀링된 특징 맵에 대하여 신경망 연산을 적용하도록 하여 테스트용 수도-3D 바운딩 박스에 대응되는 테스트용 박스 패턴(Box Pattern) 정보를 생성하도록 하는 프로세스 및 (c) (i) FC 레이어 각각에 대응하는 분류 레이어 각각으로 하여금 테스트용 박스 패턴 정보를 참조하여 테스트용 객체의 방향에 대한 테스트용 방향 클래스 정보를 생성하도록 하며, (ii) FC 레이어 각각에 대응하는 리그레션 레이어 각각으로 하여금 테스트용 박스 패턴 정보를 참조하여 테스트용 2D 바운딩 박스의 좌표에 대응하는 테스트용 수도-3D 바운딩 박스의 좌표에 대한 테스트용 리그레션 정보를 생성하도록 하는 프로세스를 수행하거나 타 장치로 하여금 수행하도록 지원할 수 있다.
이때, 본 발명의 일 실시예에 따른 테스트 장치(200)는 컴퓨팅 장치로서, 프로세서를 탑재하여 연산 능력을 갖춘 장치라면 얼마든지 본 발명에 따른 테스트 장치(200)로서 채택될 수 있다. 또한, 도 7에서는 하나의 테스트 장치(200)만을 나타내었으나, 이에 한정되지 않으며, 테스트 장치는 복수 개로 나뉘어 역할을 수행할 수도 있다.
이와 같이 구성된 본 발명의 일 실시예에 따른 테스트 장치(200)를 이용하여 CNN 기반의 수도-3D 바운딩 박스를 검출하는 테스트 방법을 도 8을 참조하여 설명할 수 있다. 이하의 설명에서, 도 2 내지 도 6을 참조하여 설명한 학습 방법으로부터 용이하게 이해 가능한 부분에 대해서는 상세한 설명을 생략하기로 한다.
먼저, 도 2 내지 도 6을 참조하여 설명한 학습 방법에 의해 FC 레이어(223-1, 223-2)의 파라미터의 적어도 일부 및 타입-분류 레이어(222)가 학습된 상태에서, 테스트 이미지가 CNN 기반의 객체 검출기(10)로 입력되면, 테스트 장치(200)는 객체 검출기로부터 테스트용 특징 맵과 테스트용 2D 바운딩 박스를 획득하거나 타 장치로 하여금 획득하도록 지원한다.
즉, 객체 검출기(10)가 테스트 이미지를 획득하면, 객체 검출기(10)가 학습된 선행 컨볼루션 레이어(11)로 하여금 테스트 이미지에 대하여 컨볼루션 연산을 적용하도록 하여 적어도 하나의 테스트용 선행 특징 맵을 출력하도록 한다. 그리고, 객체 검출기(10)는 선행 RPN(12)으로 하여금 테스트용 특징 맵으로부터 테스트 이미지 내에 위치하는 테스트용 객체에 대응하는 테스트용 선행 프로포잘 박스를 생성하도록 하며, 선행 풀링 레이어(13)로 하여금 테스트용 선행 특징 맵 상에서 테스트용 선행 프로포잘 박스에 대응하는 각각의 영역에 대하여 풀링 연산을 적용하도록 하여 적어도 하나의 테스트용 선행 풀링된 특징 맵을 생성하도록 한다. 이후, 객체 검출기(10)는 선행 FC 레이어(14)로 하여금 테스트용 선행 풀링된 특징 맵에 대하여 신경망 연산을 적용하도록 하여 테스트용 객체에 대응되는 테스트용 선행 객체 패턴 정보를 생성하도록 한다. 그리고, 객체 검출기(10)는 선행 분류 레이어(15)로 하여금 테스트용 선행 객체 패턴 정보를 참조하여 테스트용 객체에 대한 테스트용 선행 클래스 정보를 생성하도록 하며, 선행 리그레션 레이어(16)로 하여금 테스트용 선행 객체 패턴 정보를 참조하여 테스트용 객체에 대응하는 테스트용 선행 리그레션 정보를 생성하도록 할 수 있다. 이를 통해 테스트 장치(200)는 CNN 기반의 객체 검출기(10)의 선행 컨볼루션 레이어(11)로부터 생성되는 테스트용 선행 특징 맵과 선행 리그레션 레이어(16)로부터 생성되는 테스트용 선행 리그레션 정보를 이용해 테스트용 특징 맵과 테스트 이미지 내의 테스트용 객체에 대한 테스트용 2D 바운딩 박스로서 테스트용 선행 특징 맵을 획득하거나 타 장치로 하여금 획득하도록 지원할 수 있다.
다음으로, 테스트 이미지에 대하여 컨볼루션 연산을 적용하여 생성된 테스트용 특징 맵과 테스트 이미지 내의 테스트용 객체를 포함하는 테스트용 2D 바운딩 박스가 획득되면, 테스트 장치(200)는 풀링 레이어(221)로 하여금 테스트용 특징 맵 상에서 테스트용 2D 바운딩 박스에 대응되는 적어도 하나의 영역에 대하여 풀링 연산을 적용하도록 하여 테스트용 풀링된 특징 맵을 생성하도록 한다.
그리고, 테스트 장치(200)는 타입-분류 레이어(222)로 하여금 테스트용 풀링된 특징 맵을 참조하여 테스트용 풀링된 특징 맵 상의 테스트용 객체의 이미지가 트렁케이트 되었는지 트렁케이트 되지 않았는지를 판별하도록 한다. 이때, 타입-분류 레이어(222)는 테스트용 풀링된 특징 맵에 대하여 신경망 연산을 적용하도록 하는 FC 레이어 또는 FCN(Fully Convolution Network)를 포함할 수 있다.
다음으로, 테스트 장치(200)는 제1 객체 타입 및 제2 객체 타입에 각각 대응되는 FC 레이어(223-1, 223-2) 중 하나로 하여금 테스트용 풀링된 특징 맵 내의 테스트용 객체의 이미지가 트렁케이트 되었는지 트렁케이트 되지 않았는지에 대한 정보를 참조하여 테스트용 풀링된 특징 맵에 대하여 신경망 연산을 적용하도록 하여 수도-3D 바운딩 박스에 대응되는 테스트용 박스 패턴 정보를 생성하도록 한다.
일 예로, 타입-분류 레이어(222)의 판별 결과를 참조하여 테스트용 객체가 제1 객체 타입이면, 테스트 장치(200)는, FC 레이어 중 제1 타입에 대응되는 제1 FC 레이어(223-1)로 하여금 테스트용 풀링된 특징 맵에 대하여 신경망 연산을 적용하도록 하여 수도-3D 바운딩 박스에 대응되는 테스트용 제1 박스 패턴 정보를 생성하도록 한다. 그리고, 타입-분류 레이어(222)의 판별 결과를 참조하여 테스트용 객체가 제2 타입이면, FC 레이어 중 제2 타입에 대응되는 제2 FC 레이어(223-2)로 하여금 테스트용 풀링된 특징 맵을 신경망 연산을 적용하도록 하여 수도-3D 바운딩 박스에 대응되는 테스트용 제2 박스 패턴 정보를 생성하도록 한다.
다음으로, 테스트 장치(200)는 (i) FC 레이어(223-1, 223-2) 각각에 대응하는 분류 레이어(224-11, 224-21) 각각으로 하여금 테스트용 박스 패턴 정보를 참조하여 테스트용 객체의 방향에 대한 테스트용 방향 클래스 정보를 생성하도록 하며, (ii) FC 레이어(223-1, 223-2) 각각에 대응하는 리그레션 레이어(224-12, 224-22) 각각으로 하여금 테스트용 박스 패턴 정보를 참조하여 테스트용 2D 바운딩 박스의 좌표에 대응하는 수도-3D 바운딩 박스의 좌표에 대한 테스트용 리그레션 정보를 생성하도록 할 수 있다.
일 예로, 테스트 장치(200)는 제1 FC 레이어(223-1)에 대응되는 제1 분류 레이어(224-11)로 하여금 테스트용 제1 박스 패턴 정보를 참조하여 제1 타입을 갖는 테스트용 객체의 방향에 대응하는 테스트용 제1 방향 클래스 정보를 생성한다.
예를 들어, 테스트 장치(200)는 테스트용 제1 박스 패턴 정보를 참조하여 각각의 방향 클래스에 대한 확률 정보를 생성하도록 할 수 있으며, 확률이 가장 높은 특정 방향 클래스를 해당 테스트용 객체의 방향 클래스로 판별할 수 있도록 할 수 있다. 테스트 장치(200)는 제1 FC 레이어(223-1)에 대응되는 제1 리그레션 레이어(224-12)로 하여금 테스트용 제1 박스 패턴 정보를 참조하여 2D 바운딩 박스의 좌표에 대응하는 수도-3D 바운딩 박스의 좌표에 대한 테스트용 제1 리그레션 정보를 생성하도록 할 수 있다. 테스트 장치(200)는 제2 FC 레이어(223-2)에 대응되는 제2 분류 레이어(224-21)로 하여금 테스트용 제2 박스 패턴 정보를 참조하여 제2 타입을 갖는 테스트용 객체의 방향에 대응되는 테스트용 제2 방향 클래스 정보를 생성하도록 한다. 예를 들어, 테스트 장치(200)는 테스트용 제2 박스 패턴 정보를 참조하여 각각의 방향 클래스에 대한 확률 정보를 생성하도록 할 수 있으며, 확률이 가장 높은 특정 방향 클래스를 해당 테스트용 객체의 방향 클래스로 판별할 수 있다. 테스트 장치(200)는 제2 FC 레이어(223-2)에 대응되는 제2 리그레션 레이어(224-22)로 하여금 테스트용 제2 박스 패턴 정보를 참조하여 2D 바운딩 박스의 좌표에 대응하는 수도-3D 바운딩 박스의 좌표에 대한 테스트용 제2 리그레션 정보를 생성하도록 한다.
학습 방법과 테스트 방법을 통해 CNN은 이미지 내의 객체의 조건에 따라 모드를 전환할 수 있고, 경우에 따라 가상 주행 중 트렁케이트된 객체를 렌더링(Rendering)할 수 있다.
또한, 본 발명에 따른 일시예는 적군에게 속한 객체의 일부가 가려지는 경우가 많기 때문에 모바일 장치 및 군사 목적으로 사용될 수 있다.
이상 설명된 본 발명에 따른 실시예들은 다양한 컴퓨터 구성요소를 통하여 수행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 ROM, RAM, 플래시 메모리 등과 같은 프로그램 명령어를 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령어의 예에는, 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 상기 하드웨어 장치는 본 발명에 따른 처리를 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상에서 본 발명이 구체적인 구성요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나, 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명이 상기 실시예들에 한정되는 것은 아니며, 본 발명이 속하는 기술분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형을 꾀할 수 있다.
따라서, 본 발명의 사상은 상기 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등하게 또는 등가적으로 변형된 모든 것들은 본 발명의 사상의 범주에 속한다고 할 것이다.
100: 학습 장치,
110: 통신부,
120: 프로세서,
130: 데이터베이스,
200: 테스트 장치,
210: 통신부,
220: 프로세서

Claims (30)

  1. CNN 기반의 수도(Pseudo)-3D 바운딩 박스를 적어도 하나 검출하는 학습 방법에 있어서,
    (a) 적어도 하나의 트레이닝 이미지에 대하여 컨벌루션 연산을 적어도 한 번 적용해 생성되는 적어도 하나의 특징 맵과 상기 트레이닝 이미지에서 적어도 하나의 객체를 포함하는 적어도 하나의 2D 바운딩 박스가 획득되면, 학습 장치가, 풀링 레이어(Pooling Layer)로 하여금 상기 특징 맵 상에서 상기 2D 바운딩 박스에 대응되는 적어도 하나의 영역에 대하여 풀링 연산을 적어도 한 번 적용하도록 하여 적어도 하나의 풀링된 특징 맵을 생성하도록 하고, 타입-분류 레이어(Type-Classifying Layer)로 하여금 상기 풀링된 특징 맵을 참조하여 상기 풀링된 특징 맵 내의 상기 객체의 이미지가 트렁케이트(Truncate) 되었는지 트렁케이트 되지 않았는지를 판별하도록 하는 단계;
    (b) 상기 객체의 이미지가 트렁케이트 된 상태이면 상기 객체를 제1 타입(First Type)이라고 하고 상기 객체의 이미지가 트렁케이트 되지 않은 상태이면 상기 객체를 제2 타입(Second Type)이라고 하면, 상기 학습 장치가, 상기 풀링된 특징 맵 내의 상기 객체의 이미지가 트렁케이트 되었는지 트렁케이트 되지 않았는지에 대한 정보를 참조하여 상기 제1 타입과 상기 제2 타입 각각에 대응되는 각각의 FC 레이어 중 하나로 하여금 상기 풀링된 특징 맵에 대하여 신경망 연산을 적어도 한 번 적용하도록 하여 상기 수도-3D 바운딩 박스에 대응되는 박스 패턴(Box Pattern) 정보를 생성하도록 하는 단계;
    (c) 상기 학습 장치가, (i) 상기 FC 레이어 각각에 대응하는 분류 레이어 각각으로 하여금 상기 박스 패턴 정보를 참조하여 상기 객체의 방향에 대한 방향 클래스 정보를 출력하도록 하며, (ii) 상기 FC 레이어 각각에 대응하는 리그레션 레이어 각각으로 하여금 상기 박스 패턴 정보를 참조하여 상기 2D 바운딩 박스의 좌표에 대응하는 상기 수도-3D 바운딩 박스의 좌표에 대한 리그레션 정보를 생성하도록 하는 단계; 및
    (d) 상기 학습 장치가, 적어도 하나의 FC 로스 레이어로 하여금 상기 방향 클래스 정보 및 상기 리그레션 정보와 이에 대응되는 적어도 하나의 GT를 참조하여 적어도 하나의 클래스 로스 및 적어도 하나의 리그레션 로스를 생성함으로써, 상기 클래스 로스 및 상기 리그레션 로스를 백프로파게이션하여 상기 FC 레이어의 파라미터를 학습하는 단계;
    를 포함하는 것을 특징으로 하는 학습 방법.
  2. 제 1 항에 있어서,
    상기 (a) 단계 이후에,
    상기 학습 장치는, 타입 로스 레이어(Type Loss Layer)로 하여금 상기 객체의 이미지가 트렁케이트 되었는지 트렁케이트 되지 않았는지에 대한 정보와 상기 객체의 이미지에 대응되는 객체-타입(Object-Type) GT를 참조하여 적어도 하나의 타입 로스를 생성하도록 함으로써,
    상기 타입 로스를 백프로파게이션하여 상기 타입-분류 레이어의 파라미터의 적어도 일부를 조정하는 것을 특징으로 하는 학습 방법.
  3. 제 1 항에 있어서,
    상기 (a) 단계에서,
    상기 학습 장치는, 상기 타입-분류 레이어로 하여금 상기 객체의 전체를 포함하는 영역 대비 상기 풀링된 특징 맵 상에 나타난 상기 객체의 일부만 포함하는 영역의 비율이 소정의 임계치 이하일 경우에는 상기 객체의 이미지가 트렁케이트 된 것으로 판단하며, 상기 비율이 상기 소정의 임계치를 초과할 경우에는 상기 객체의 이미지가 트렁케이트 되지 않은 것으로 판단하도록 하는 것을 특징으로 하는 학습 방법.
  4. 제 1 항에 있어서,
    상기 (c) 단계에서,
    상기 학습 장치는, 상기 리그레션 레이어 각각으로 하여금 (i) 상기 2D 바운딩 박스의 꼭지점으로부터 상기 객체의 앞면과 뒷면 각각에 대응되는 각각의 인스턴스 바운딩 박스의 꼭지점까지의 각각의 변위(Displacement) 및 (ii) 상기 2D 바운딩 박스의 중심으로부터 상기 각각의 인스턴스 바운딩 박스의 각각의 중심까지의 각각의 변위 및 상기 2D 바운딩 박스의 너비/높이 비율과 상기 인스턴스 바운딩 박스의 각각의 너비/높이 비율 사이의 각각의 차이 중 적어도 하나를 이용해, 상기 리그레션 정보를 생성하도록 하는 것을 특징으로 하는 학습 방법.
  5. 제 1 항에 있어서,
    상기 (b) 단계에서,
    상기 학습 장치는, 상기 객체가 상기 제1 타입인 경우, 상기 제1 타입에 대응되는 제1 FC 레이어로 하여금 상기 풀링된 특징 맵에 대하여 신경망 연산을 적용하도록 하여 상기 수도-3D 바운딩 박스에 대응하는 제1 박스 패턴 정보를 생성하며, 상기 객체가 상기 제2 타입인 경우, 상기 제2 타입에 대응하는 제2 FC 레이어로 하여금 상기 풀링된 특징 맵에 대하여 신경망 연산을 적용하도록 하여 상기 수도-3D 바운딩 박스에 대응하는 제2 박스 패턴 정보를 생성하고,
    상기 (c) 단계에서,
    상기 학습 장치는, (i) 상기 제1 FC 레이어에 대응되는 제1 분류 레이어로 하여금 상기 제1 박스 패턴 정보를 참조하여 상기 제1 타입을 갖는 상기 객체의 방향에 대응되는 제1 방향 클래스 정보를 생성하도록 하며, 상기 제1 FC 레이어에 대응되는 제1 리그레션 레이어로 하여금 상기 제1 박스 패턴 정보를 참조하여 상기 2D 바운딩 박스의 상기 좌표에 대응하는 상기 수도-3D 바운딩 박스의 상기 좌표에 대한 제1 리그레션 정보를 생성하도록 하고, (ii) 상기 제2 FC 레이어에 대응되는 제2 분류 레이어로 하여금 상기 제2 박스 패턴 정보를 참조하여 상기 제2 타입을 갖는 상기 객체의 방향에 대응되는 제2 방향 클래스 정보를 생성하도록 하며, 상기 제2 FC 레이어에 대응되는 제2 리그레션 레이어로 하여금 상기 제2 박스 패턴 정보를 참조하여 상기 2D 바운딩 박스의 상기 좌표에 대응하는 상기 수도-3D 바운딩 박스의 상기 좌표에 대한 제2 리그레션 정보를 생성하도록 하는 것을 특징으로 하는 학습 방법.
  6. 제 5 항에 있어서,
    상기 (d) 단계에서,
    상기 학습 장치는, (i) 상기 제1 FC 레이어에 대응되는 제1 FC 로스 레이어로 하여금 상기 제1 방향 클래스 정보, 상기 제1 리그레션 정보 및 이에 대응하는 적어도 하나의 제1 GT를 참조하여 적어도 하나의 제1 방향 클래스 로스 및 적어도 하나의 제1 박스 리그레션 로스를 생성하도록 함으로써, 상기 제1 방향 클래스 로스 및 상기 제1 박스 리그레션 로스를 백프로파게이션하여 상기 제1 FC 레이어의 파라미터를 학습하며, (ii) 상기 제2 FC 레이어에 대응되는 제2 FC 로스 레이어로 하여금 상기 제2 방향 클래스 정보, 상기 제2 리그레션 정보 및 이에 대응하는 적어도 하나의 제2 GT를 참조하여 적어도 하나의 제2 방향 클래스 로스 및 적어도 하나의 제2 박스 리그레션 로스를 생성하도록 함으로써, 상기 제2 방향 클래스 로스 및 상기 제2 박스 리그레션 로스를 백프로파게이션하여 상기 제2 FC 레이어의 파라미터를 학습하는 것을 특징으로 하는 학습 방법.
  7. 제 1 항에 있어서,
    상기 학습 장치는, 선행 CNN(Preceding CNN) 기반의 객체 검출기로부터 상기 특징 맵과 상기 2D 바운딩 박스를 획득하는 것을 특징으로 하는 학습 방법.
  8. 제 7 항에 있어서,
    상기 학습 장치는, 상기 트레이닝 이미지를 상기 객체 검출기로 입력하여, 상기 객체 검출기가 (i) 선행 컨볼루션 레이어(Preceding Convolutional Layer)로 하여금 상기 트레이닝 이미지에 대하여 컨볼루션 연산을 수행하여 상기 특징 맵을 생성하도록 하며, (ii) RPN으로 하여금 상기 특징 맵으로부터 상기 트레이닝 이미지 내의 상기 객체에 대응하는 적어도 하나의 프로포잘 박스를 생성하도록 하고, (iii) 선행 풀링 레이어(Preceding Pooling Layer)로 하여금 상기 특징 맵 상에서 상기 프로포잘 박스에 대응하는 적어도 하나의 영역에 대하여 풀링 연산을 적용하도록 하여 선행 풀링된 특징 맵을 생성하도록 하며, (iv) 선행 FC 레이어(Preceding FC Layer)로 하여금 상기 객체에 대응되는 객체 패턴 정보를 생성하도록 하고, (v) 선행 분류 레이어(Preceding Classification Layer)로 하여금 상기 객체 패턴 정보를 참조하여 상기 객체의 클래스에 대응하는 객체 클래스 정보를 생성하도록 하며, (vi) 선행 리그레션 레이어(Preceding Regression Layer)로 하여금 상기 객체 패턴 정보를 참조하여 상기 객체에 대응하는 상기 2D 바운딩 박스에 대한 선행 리그레션 정보를 생성하도록 함으로써, 상기 특징 맵과 상기 2D 바운딩 박스를 생성하는 것을 특징으로 하는 학습 방법.
  9. 제 7 항에 있어서,
    검출기 학습 장치에 의해 상기 객체 검출기를 학습하는 상태에서, 상기 검출기 학습 장치가, 상기 객체 검출기 내의 타입 로스 레이어로 하여금 상기 객체의 이미지가 트렁케이트 되었는지 트렁케이트 되지 않았는지에 대한 정보와 상기 이미지에 대응되는 객체-타입 GT를 참조하여 적어도 하나의 타입 로스를 생성함으로써, 상기 타입 로스를 백프로파게이션하여 상기 객체 검출기 내의 타입-분류 레이어의 파라미터의 적어도 일부를 조정하는 것을 특징으로 하는 학습 방법.
  10. CNN 기반의 수도(Pseudo)-3D 바운딩 박스를 적어도 하나 검출하는 테스트 방법에 있어서,
    (a) 학습 장치가, 적어도 하나의 트레이닝 이미지에 대하여 컨벌루션 연산을 적어도 한 번 적용해 생성되는 적어도 하나의 학습용 특징 맵과 상기 트레이닝 이미지에서 적어도 하나의 학습용 객체를 포함하는 적어도 하나의 학습용 2D 바운딩 박스가 획득되면, (i) 풀링 레이어(Pooling Layer)로 하여금 상기 학습용 특징 맵 상에서 상기 학습용 2D 바운딩 박스에 대응되는 적어도 하나의 영역에 대하여 풀링 연산을 적어도 한 번 적용하도록 하여 적어도 하나의 학습용 풀링된 특징 맵을 생성하도록 하고, 타입-분류 레이어(Type-Classifying Layer)로 하여금 상기 학습용 풀링된 특징 맵을 참조하여 상기 학습용 풀링된 특징 맵 내의 상기 학습용 객체의 이미지가 트렁케이트(Truncate) 되었는지 트렁케이트 되지 않았는지를 판별하도록 하는 프로세스, (ii) 상기 학습용 객체의 이미지가 트렁케이트 된 상태이면 상기 학습용 객체를 제1 타입(First Type)이라고 하고 상기 학습용 객체의 이미지가 트렁케이트 되지 않은 상태이면 상기 학습용 객체를 제2 타입(Second Type)이라고 하면, 상기 학습용 풀링된 특징 맵 내의 상기 학습용 객체의 이미지가 트렁케이트 되었는지 트렁케이트 되지 않았는지에 대한 정보를 참조하여 상기 제1 타입과 상기 제2 타입 각각에 대응되는 각각의 FC 레이어 중 하나로 하여금 상기 학습용 풀링된 특징 맵에 대하여 신경망 연산을 적어도 한 번 적용하도록 하여 학습용 수도-3D 바운딩 박스에 대응되는 학습용 박스 패턴(Box Pattern) 정보를 생성하도록 하는 프로세스, (iii) 상기 FC 레이어 각각에 대응하는 적어도 하나의 분류 레이어 각각으로 하여금 상기 학습용 박스 패턴 정보를 참조하여 상기 학습용 객체의 방향에 대한 학습용 방향 클래스 정보를 출력하도록 하며, 상기 FC 레이어 각각에 대응하는 적어도 하나의 리그레션 레이어 각각으로 하여금 상기 학습용 박스 패턴 정보를 참조하여 상기 학습용 2D 바운딩 박스의 좌표에 대응하는 상기 학습용 수도-3D 바운딩 박스의 좌표에 대한 학습용 리그레션 정보를 생성하도록 하는 프로세스 및 (iv) 적어도 하나의 FC 로스 레이어로 하여금 상기 학습용 방향 클래스 정보, 상기 학습용 리그레션 정보 및 이에 대응되는 적어도 하나의 GT를 참조하여 적어도 하나의 클래스 로스 및 적어도 하나의 리그레션 로스를 생성함으로써, 상기 클래스 로스 및 상기 리그레션 로스를 백프로파게이션하여 상기 FC 레이어의 파라미터를 학습하는 프로세스를 수행한 상태에서, 적어도 하나의 테스트 이미지에 대하여 컨벌루션 연산을 적어도 한 번 적용해 생성되는 적어도 하나의 테스트용 특징 맵과 상기 테스트 이미지에서 적어도 하나의 테스트용 객체를 포함하는 적어도 하나의 테스트용 2D 바운딩 박스가 획득되면, 테스트 장치가, 상기 풀링 레이어(Pooling Layer)로 하여금 상기 테스트용 특징 맵 상에서 상기 테스트용 2D 바운딩 박스에 대응되는 적어도 하나의 영역에 대하여 풀링 연산을 적어도 한 번 적용하도록 하여 적어도 하나의 테스트용 풀링된 특징 맵을 생성하도록 하고, 상기 타입-분류 레이어(Type-Classifying Layer)로 하여금 상기 테스트용 풀링된 특징 맵을 참조하여 상기 테스트용 풀링된 특징 맵 내의 상기 테스트용 객체의 이미지가 트렁케이트(Truncate) 되었는지 트렁케이트 되지 않았는지를 판별하도록 하는 단계;
    (b) 상기 테스트용 객체의 이미지가 트렁케이트 된 상태이면 상기 테스트용 객체를 제1 타입(First Type)이라고 하고 상기 테스트용 객체의 이미지가 트렁케이트 되지 않은 상태이면 상기 테스트용 객체를 제2 타입(Second Type)이라고 하면, 상기 테스트 장치가, 상기 테스트용 풀링된 특징 맵 내의 상기 테스트용 객체의 이미지가 트렁케이트 되었는지 트렁케이트 되지 않았는지에 대한 정보를 참조하여 상기 제1 타입과 상기 제2 타입 각각에 대응되는 각각의 상기 FC 레이어 중 하나로 하여금 상기 테스트용 풀링된 특징 맵에 대하여 신경망 연산을 적어도 한 번 적용하도록 하여 테스트용 수도-3D 바운딩 박스에 대응되는 테스트용 박스 패턴(Box Pattern) 정보를 생성하도록 하는 단계; 및
    (c) 상기 테스트 장치가, (i) 상기 FC 레이어 각각에 대응하는 분류 레이어 각각으로 하여금 상기 테스트용 박스 패턴 정보를 참조하여 상기 테스트용 객체의 방향에 대한 테스트용 방향 클래스 정보를 출력하도록 하며, (ii) 상기 FC 레이어 각각에 대응하는 리그레션 레이어 각각으로 하여금 상기 테스트용 박스 패턴 정보를 참조하여 상기 테스트용 2D 바운딩 박스의 상기 좌표에 대응하는 상기 테스트용 수도-3D 바운딩 박스의 상기 좌표에 대한 테스트용 리그레션 정보를 생성하도록 하는 단계;
    를 포함하는 것을 특징으로 하는 테스트 방법.
  11. 제 10 항에 있어서,
    상기 학습 장치는, 타입 로스 레이어(Type Loss Layer)로 하여금 상기 학습용 객체의 이미지가 트렁케이트 되었는지 트렁케이트 되지 않았는지에 대한 정보와 상기 학습용 객체의 이미지에 대응되는 객체-타입(Object-Type) GT를 참조하여 적어도 하나의 타입 로스를 생성하도록 함으로써, 상기 타입 로스를 이용한 백프로파게이션을 통해 상기 타입-분류 레이어의 파라미터의 적어도 일부를 조정하는 것을 특징으로 하는 테스트 방법.
  12. 제 10 항에 있어서,
    상기 (a) 단계는,
    상기 테스트 장치는, 상기 타입-분류 레이어로 하여금 상기 테스트용 객체의 전체를 포함하는 영역 대비 상기 테스트용 풀링된 특징 맵 상에 나타난 상기 테스트용 객체의 일부만 포함하는 영역의 비율이 소정의 임계치 이하일 경우에는 상기 테스트용 객체의 이미지가 트렁케이트 된 것으로 판단하며, 상기 비율이 상기 소정의 임계치를 초과할 경우에는 상기 테스트용 객체의 이미지가 트렁케이트 되지 않은 것으로 판단하도록 하는 것을 특징으로 하는 테스트 방법.
  13. 제 10 항에 있어서,
    상기 (c) 단계에서,
    상기 테스트 장치는, 상기 리그레션 레이어 각각으로 하여금 (i) 상기 테스트용 2D 바운딩 박스의 꼭지점으로부터 상기 테스트용 객체의 앞면과 뒷면 각각에 대응되는 각각의 테스트용 인스턴스 바운딩 박스의 꼭지점까지의 각각의 변위(Displacement) 및 (ii) 상기 테스트용 2D 바운딩 박스의 중심으로부터 상기 각각의 테스트용 인스턴스 바운딩 박스의 각각의 중심까지의 각각의 변위 및 상기 테스트용 2D 바운딩 박스의 너비/높이 비율과 상기 테스트용 인스턴스 바운딩 박스의 각각의 너비/높이 비율 사이의 각각의 차이 중 적어도 하나를 이용해, 상기 테스트용 리그레션 정보를 생성하도록 하는 것을 특징으로 하는 테스트 방법.
  14. 제 10 항에 있어서,
    상기 (b) 단계에서,
    상기 테스트 장치는, 상기 테스트용 객체가 상기 제1 타입인 경우, 상기 제1 타입에 대응되는 제1 FC 레이어로 하여금 상기 테스트용 풀링된 특징 맵에 대하여 신경망 연산을 적용하도록 하여 상기 테스트용 수도-3D 바운딩 박스에 대응하는 테스트용 제1 박스 패턴 정보를 생성하며, 상기 테스트용 객체가 상기 제2 타입인 경우, 상기 제2 타입에 대응하는 제2 FC 레이어로 하여금 상기 테스트용 풀링된 특징 맵에 대하여 신경망 연산을 적용하도록 하여 상기 테스트용 수도-3D 바운딩 박스에 대응하는 테스트용 제2 박스 패턴 정보를 생성하고,
    상기 (c) 단계에서,
    상기 테스트 장치는, (i) 상기 제1 FC 레이어에 대응되는 제1 분류 레이어로 하여금 상기 테스트용 제1 박스 패턴 정보를 참조하여 상기 제1 타입을 갖는 상기 테스트용 객체의 방향에 대응되는 테스트용 제1 방향 클래스 정보를 생성하도록 하며, 상기 제1 FC 레이어에 대응되는 제1 리그레션 레이어로 하여금 상기 테스트용 제1 박스 패턴 정보를 참조하여 상기 테스트용 2D 바운딩 박스의 상기 좌표에 대응하는 상기 테스트용 수도-3D 바운딩 박스의 상기 좌표에 대한 테스트용 제1 리그레션 정보를 생성하도록 하고, (ii) 상기 제2 FC 레이어에 대응되는 제2 분류 레이어로 하여금 상기 테스트용 제2 박스 패턴 정보를 참조하여 상기 제2 타입을 갖는 상기 테스트용 객체의 방향에 대응되는 테스트용 제2 방향 클래스 정보를 생성하도록 하며, 상기 제2 FC 레이어에 대응되는 제2 리그레션 레이어로 하여금 상기 테스트용 제2 박스 패턴 정보를 참조하여 상기 테스트용 2D 바운딩 박스의 상기 좌표에 대응하는 상기 테스트용 수도-3D 바운딩 박스의 상기 좌표에 대한 테스트용 제2 리그레션 정보를 생성하도록 하는 것을 특징으로 하는 테스트 방법.
  15. 제 10 항에 있어서,
    상기 테스트 장치는, 상기 테스트 이미지를 선행 CNN 기반의 객체 검출기로 입력하여, 상기 객체 검출기가 (i) 선행 컨볼루션 레이어(Preceding Convolutional Layer)로 하여금 상기 테스트 이미지에 대하여 컨볼루션 연산을 수행하여 상기 테스트용 특징 맵을 생성하도록 하며, (ii) RPN으로 하여금 상기 테스트용 특징 맵으로부터 상기 테스트 이미지 내의 상기 테스트용 객체에 대응하는 적어도 하나의 테스트용 프로포잘 박스를 생성하도록 하고, (iii) 선행 풀링 레이어(Preceding Pooling Layer)로 하여금 상기 테스트용 특징 맵 상에서 상기 테스트용 프로포잘 박스에 대응하는 적어도 하나의 영역에 대하여 풀링 연산을 적용하도록 하여 테스트용 선행 풀링된 특징 맵을 생성하도록 하며, (iv) 선행 FC 레이어(Preceding FC Layer)로 하여금 상기 테스트용 객체에 대응되는 테스트용 객체 패턴 정보를 생성하도록 하고, (v) 선행 분류 레이어(Preceding Classification Layer)로 하여금 상기 테스트용 객체 패턴 정보를 참조하여 상기 테스트용 객체의 클래스에 대응하는 테스트용 객체 클래스 정보를 생성하도록 하며, (vi) 선행 리그레션 레이어(Preceding Regression Layer)로 하여금 상기 테스트용 객체 패턴 정보를 참조하여 상기 테스트용 객체에 대응하는 상기 테스트용 2D 바운딩 박스에 대한 테스트용 선행 리그레션 정보를 생성하도록 함으로써, 상기 테스트용 특징 맵과 상기 테스트용 2D 바운딩 박스를 생성하는 것을 특징으로 하는 테스트 방법.
  16. CNN 기반의 수도(Pseudo)-3D 바운딩 박스를 적어도 하나 검출하는 학습 장치에 있어서,
    인스트럭션을 저장하는 적어도 하나의 메모리; 및
    (I) 적어도 하나의 트레이닝 이미지에 대하여 컨벌루션 연산을 적어도 한 번 적용해 특징 맵이 생성되고 2D 바운딩 박스가 상기 트레이닝 이미지에서 적어도 하나의 객체를 포함하면, 풀링 레이어(Pooling Layer)로 하여금 상기 특징 맵 상에서 상기 2D 바운딩 박스에 대응되는 적어도 하나의 영역에 대하여 풀링 연산을 적어도 한 번 적용하도록 하여 적어도 하나의 풀링된 특징 맵을 생성하도록 하고, 타입-분류 레이어(Type-Classifying Layer)로 하여금 상기 풀링된 특징 맵을 참조하여 상기 풀링된 특징 맵 내의 상기 객체의 이미지가 트렁케이트(Truncate) 되었는지 트렁케이트 되지 않았는지를 판별하도록 하는 프로세스와, (II) 상기 객체의 이미지가 트렁케이트 된 상태이면 상기 객체를 제1 타입(First Type)이라고 하고 상기 객체의 이미지가 트렁케이트 되지 않은 상태이면 상기 객체를 제2 타입(Second Type)이라고 하면, 상기 풀링된 특징 맵 내의 상기 객체의 이미지가 트렁케이트 되었는지 트렁케이트 되지 않았는지에 대한 정보를 참조하여 상기 제1 타입과 상기 제2 타입 각각에 대응되는 각각의 FC 레이어 중 하나로 하여금 상기 풀링된 특징 맵에 대하여 신경망 연산을 적어도 한 번 적용하도록 하여 상기 수도-3D 바운딩 박스에 대응되는 박스 패턴(Box Pattern) 정보를 생성하도록 하는 프로세스와, (III) (i) 상기 FC 레이어 각각에 대응하는 분류 레이어 각각으로 하여금 상기 박스 패턴 정보를 참조하여 상기 객체의 방향에 대한 방향 클래스 정보를 출력하도록 하며, (ii) 상기 FC 레이어 각각에 대응하는 리그레션 레이어 각각으로 하여금 상기 박스 패턴 정보를 참조하여 상기 2D 바운딩 박스의 좌표에 대응하는 상기 수도-3D 바운딩 박스의 좌표에 대한 리그레션 정보를 생성하도록 하는 프로세스 및 (IV) 적어도 하나의 FC 로스 레이어로 하여금 상기 방향 클래스 정보, 상기 리그레션 정보 및 이에 대응되는 적어도 하나의 GT를 참조하여 적어도 하나의 클래스 로스 및 적어도 하나의 리그레션 로스를 생성함으로써, 상기 클래스 로스 및 상기 리그레션 로스를 백프로파게이션하여 상기 FC 레이어의 파라미터를 학습하는 프로세스를 수행하기 위한 상기 인스트럭션을 실행하도록 구성된 적어도 하나의 프로세서;
    를 포함하는 것을 특징으로 하는 학습 장치.
  17. 제 16 항에 있어서,
    상기 (I) 프로세스 이후에,
    상기 프로세서는, 타입 로스 레이어로 하여금 상기 객체의 이미지가 트렁케이트 되었는지 트렁케이트 되지 않았는지에 대한 정보와 상기 객체의 이미지에 대응되는 객체-타입 GT를 참조하여 적어도 하나의 타입 로스를 생성함으로써, 상기 타입 로스를 백프로파게이션하여 상기 타입-분류 레이어의 파라미터의 적어도 일부를 조정하는 것을 특징으로 하는 학습 장치.
  18. 제 16 항에 있어서,
    상기 (I) 프로세스에서,
    상기 프로세서는, 상기 타입-분류 레이어로 하여금 상기 객체의 전체를 포함하는 영역 대비 상기 풀링된 특징 맵 상에 나타난 상기 객체의 일부만 포함하는 영역의 비율이 소정의 임계치 이하일 경우에는 상기 객체의 이미지가 트렁케이트 된 것으로 판단하며, 상기 비율이 상기 소정의 임계치를 초과할 경우에는 상기 객체의 이미지가 트렁케이트 되지 않은 것으로 판단하도록 하는 것을 특징으로 하는 학습 장치.
  19. 제 16 항에 있어서,
    상기 (III) 프로세스에서,
    상기 프로세서는, 상기 리그레션 레이어 각각으로 하여금 (i) 상기 2D 바운딩 박스의 꼭지점으로부터 상기 객체의 앞면과 뒷면 각각에 대응되는 각각의 인스턴스 바운딩 박스의 꼭지점까지의 각각의 변위(Displacement) 및 (ii) 상기 2D 바운딩 박스의 중심으로부터 상기 각각의 인스턴스 바운딩 박스의 각각의 중심까지의 각각의 변위 및 상기 2D 바운딩 박스의 너비/높이 비율과 상기 인스턴스 바운딩 박스의 각각의 너비/높이 비율 사이의 각각의 차이 중 적어도 하나를 이용해, 상기 리그레션 정보를 생성하도록 하는 것을 특징으로 하는 학습 장치.
  20. 제 16 항에 있어서,
    상기 (II) 프로세스에서,
    상기 프로세서는, 상기 객체가 상기 제1 타입인 경우, 상기 제1 타입에 대응되는 제1 FC 레이어로 하여금 상기 풀링된 특징 맵에 대하여 신경망 연산을 적용하도록 하여 상기 수도-3D 바운딩 박스에 대응하는 제1 박스 패턴 정보를 생성하며, 상기 객체가 상기 제2 타입인 경우, 상기 제2 타입에 대응하는 제2 FC 레이어로 하여금 상기 풀링된 특징 맵에 대하여 신경망 연산을 적용하도록 하여 상기 수도-3D 바운딩 박스에 대응하는 제2 박스 패턴 정보를 생성하고,
    상기 (III) 프로세스에서,
    상기 프로세서는 (i) 상기 제1 FC 레이어에 대응되는 제1 분류 레이어로 하여금 상기 제1 박스 패턴 정보를 참조하여 상기 제1 타입을 갖는 상기 객체의 방향에 대응되는 제1 방향 클래스 정보를 생성하도록 하며, 상기 제1 FC 레이어에 대응되는 제1 리그레션 레이어로 하여금 상기 제1 박스 패턴 정보를 참조하여 상기 2D 바운딩 박스의 상기 좌표에 대응하는 상기 수도-3D 바운딩 박스의 상기 좌표에 대한 제1 리그레션 정보를 생성하도록 하고, (ii) 상기 제2 FC 레이어에 대응되는 제2 분류 레이어로 하여금 상기 제2 박스 패턴 정보를 참조하여 상기 제2 타입을 갖는 상기 객체의 방향에 대응되는 제2 방향 클래스 정보를 생성하도록 하며, 상기 제2 FC 레이어에 대응되는 제2 리그레션 레이어로 하여금 상기 제2 박스 패턴 정보를 참조하여 상기 2D 바운딩 박스의 상기 좌표에 대응하는 상기 수도-3D 바운딩 박스의 상기 좌표에 대한 제2 리그레션 정보를 생성하도록 하는 것을 특징으로 하는 학습 장치.
  21. 제 20 항에 있어서,
    상기 (IV) 프로세스에서,
    상기 프로세서는, (i) 상기 제1 FC 레이어에 대응되는 제1 FC 로스 레이어로 하여금 상기 제1 방향 클래스 정보, 상기 제1 리그레션 정보 및 이에 대응하는 적어도 하나의 제1 GT를 참조하여 적어도 하나의 제1 방향 클래스 로스 및 적어도 하나의 제1 박스 리그레션 로스를 생성하도록 함으로써, 상기 제1 방향 클래스 로스 및 상기 제1 박스 리그레션 로스를 백프로파게이션하여 상기 제1 FC 레이어의 파라미터를 학습하며, (ii) 상기 제2 FC 레이어에 대응되는 제2 FC 로스 레이어로 하여금 상기 제2 방향 클래스 정보, 상기 제2 리그레션 정보 및 이에 대응하는 적어도 하나의 제2 GT를 참조하여 적어도 하나의 제2 방향 클래스 로스 및 적어도 하나의 제2 박스 리그레션 로스를 생성하도록 함으로써, 상기 제2 방향 클래스 로스 및 상기 제2 박스 리그레션 로스를 백프로파게이션하여 상기 제2 FC 레이어의 파라미터를 학습하는 것을 특징으로 하는 학습 장치.
  22. 제 16 항에 있어서,
    선행 CNN(Preceding CNN) 기반의 객체 검출기로부터 상기 특징 맵과 상기 2D 바운딩 박스를 획득하는 것을 특징으로 하는 학습 장치.
  23. 제 22 항에 있어서,
    상기 트레이닝 이미지를 상기 객체 검출기로 입력하여, 상기 객체 검출기가 (i) 선행 컨볼루션 레이어(Preceding Convolutional Layer)로 하여금 상기 트레이닝 이미지에 대하여 컨볼루션 연산을 수행하여 상기 특징 맵을 생성하도록 하며, (ii) RPN으로 하여금 상기 특징 맵으로부터 상기 트레이닝 이미지 내의 상기 객체에 대응하는 적어도 하나의 프로포잘 박스를 생성하도록 하고, (iii) 선행 풀링 레이어(Preceding Pooling Layer)로 하여금 상기 특징 맵 상에서 상기 프로포잘 박스에 대응하는 적어도 하나의 영역에 대하여 풀링 연산을 적용하도록 하여 선행 풀링된 특징 맵을 생성하도록 하며, (iv) 선행 FC 레이어(Preceding FC Layer)로 하여금 상기 객체에 대응되는 객체 패턴 정보를 생성하도록 하고, (v) 선행 분류 레이어(Preceding Classification Layer)로 하여금 상기 객체 패턴 정보를 참조하여 상기 객체의 클래스에 대응하는 객체 클래스 정보를 생성하도록 하며, (vi) 선행 리그레션 레이어(Preceding Regression Layer)로 하여금 상기 객체 패턴 정보를 참조하여 상기 객체에 대응하는 상기 2D 바운딩 박스에 대한 선행 리그레션 정보를 생성하도록 함으로써, 상기 특징 맵과 상기 2D 바운딩 박스를 생성하는 것을 특징으로 하는 학습 장치.
  24. 제 22 항에 있어서,
    검출기 학습 장치에 의해 상기 객체 검출기를 학습하는 상태에서, 상기 검출기 학습 장치가, 상기 객체 검출기 내의 타입 로스 레이어로 하여금 상기 객체의 이미지가 트렁케이트 되었는지 트렁케이트 되지 않았는지에 대한 정보와 상기 이미지에 대응되는 객체-타입 GT를 참조하여 적어도 하나의 타입 로스를 생성함으로써, 상기 타입 로스를 백프로파게이션하여 상기 객체 검출기 내의 타입-분류 레이어의 파라미터의 적어도 일부를 조정하는 것을 특징으로 하는 학습 장치.
  25. CNN 기반의 수도(Pseudo)-3D 바운딩 박스를 적어도 하나 검출하는 테스트 장치에 있어서,
    인스트럭션을 저장하는 적어도 하나의 메모리; 및
    학습 장치가, 적어도 하나의 트레이닝 이미지에 대하여 컨벌루션 연산을 적어도 한 번 적용해 생성되는 적어도 하나의 학습용 특징 맵과 상기 트레이닝 이미지에서 적어도 하나의 학습용 객체를 포함하는 적어도 하나의 학습용 2D 바운딩 박스가 획득하면, (i) 풀링 레이어(Pooling Layer)로 하여금 상기 학습용 특징 맵 상에서 상기 학습용 2D 바운딩 박스에 대응되는 적어도 하나의 영역에 대하여 풀링 연산을 적어도 한 번 적용하도록 하여 적어도 하나의 학습용 풀링된 특징 맵을 생성하도록 하고, 타입-분류 레이어(Type-Classifying Layer)로 하여금 상기 학습용 풀링된 특징 맵을 참조하여 상기 학습용 풀링된 특징 맵 내의 상기 학습용 객체의 이미지가 트렁케이트(Truncate) 되었는지 트렁케이트 되지 않았는지를 판별하도록 하는 프로세스, (ii) 상기 학습용 객체의 이미지가 트렁케이트 된 상태이면 상기 학습용 객체를 제1 타입(First Type)이라고 하고 상기 학습용 객체의 이미지가 트렁케이트 되지 않은 상태이면 상기 학습용 객체를 제2 타입(Second Type)이라고 하면, 상기 학습용 풀링된 특징 맵 내의 상기 학습용 객체의 이미지가 트렁케이트 되었는지 트렁케이트 되지 않았는지에 대한 정보를 참조하여 상기 제1 타입과 상기 제2 타입 각각에 대응되는 각각의 FC 레이어 중 하나로 하여금 상기 학습용 풀링된 특징 맵에 대하여 신경망 연산을 적어도 한 번 적용하도록 하여 학습용 수도-3D 바운딩 박스에 대응되는 학습용 박스 패턴(Box Pattern) 정보를 생성하도록 하는 프로세스, (iii) 상기 FC 레이어 각각에 대응하는 적어도 하나의 분류 레이어 각각으로 하여금 상기 학습용 박스 패턴 정보를 참조하여 상기 학습용 객체의 방향에 대한 학습용 방향 클래스 정보를 출력하도록 하며, 상기 FC 레이어 각각에 대응하는 적어도 하나의 리그레션 레이어 각각으로 하여금 상기 학습용 박스 패턴 정보를 참조하여 상기 학습용 2D 바운딩 박스의 좌표 정보에 대응하는 상기 학습용 수도-3D 바운딩 박스의 좌표에 대한 학습용 리그레션 정보를 생성하도록 하는 프로세스, (iv) 적어도 하나의 FC 로스 레이어로 하여금 상기 학습용 방향 클래스 정보, 상기 학습용 리그레션 정보 및 이에 대응되는 적어도 하나의 GT를 참조하여 적어도 하나의 클래스 로스 및 적어도 하나의 리그레션 로스를 생성함으로써, 상기 클래스 로스 및 상기 리그레션 로스를 백프로파게이션하여 상기 FC 레이어의 파라미터를 학습하는 프로세스를 수행한 상태에서, (I) 적어도 하나의 테스트 이미지에 대하여 컨벌루션 연산을 적어도 한 번 적용해 테스트용 특징 맵이 생성되고 테스트용 2D 바운딩 박스가 상기 테스트 이미지에서 적어도 하나의 테스트용 객체를 포함하면, 상기 풀링 레이어(Pooling Layer)로 하여금 적어도 하나의 상기 테스트용 특징 맵 상에서 적어도 하나의 상기 테스트용 2D 바운딩 박스에 대응되는 적어도 하나의 영역에 대하여 풀링 연산을 적어도 한 번 적용하도록 하여 적어도 하나의 테스트용 풀링된 특징 맵을 생성하도록 하고, 상기 타입-분류 레이어(Type-Classifying Layer)로 하여금 상기 테스트용 풀링된 특징 맵을 참조하여 상기 테스트용 풀링된 특징 맵 내의 상기 테스트용 객체의 이미지가 트렁케이트(Truncate) 되었는지 트렁케이트 되지 않았는지를 판별하도록 하는 프로세스, (II) 상기 테스트용 객체의 이미지가 트렁케이트 된 상태이면 상기 테스트용 객체를 상기 제1 타입(First Type)이라고 하고 상기 테스트용 객체의 이미지가 트렁케이트 되지 않은 상태이면 상기 테스트용 객체를 상기 제2 타입(Second Type)이라고 하면, 상기 테스트용 풀링된 특징 맵 내의 상기 테스트용 객체의 이미지가 트렁케이트 되었는지 트렁케이트 되지 않았는지에 대한 정보를 참조하여 상기 제1 타입과 상기 제2 타입 각각에 대응되는 각각의 상기 FC 레이어 중 하나로 하여금 상기 테스트용 풀링된 특징 맵에 대하여 신경망 연산을 적용하도록 하여 테스트용 수도-3D 바운딩 박스에 대응되는 테스트용 박스 패턴(Box Pattern) 정보를 생성하도록 하는 프로세스, (III) (i) 상기 FC 레이어 각각에 대응하는 상기 분류 레이어 각각으로 하여금 상기 테스트용 박스 패턴 정보를 참조하여 상기 테스트용 객체의 방향에 대한 테스트용 방향 클래스 정보를 생성하도록 하며, (ii) 상기 FC 레이어 각각에 대응하는 상기 리그레션 레이어 각각으로 하여금 상기 테스트용 박스 패턴 정보를 참조하여 상기 테스트용 2D 바운딩 박스의 상기 좌표에 대응하는 상기 테스트용 수도-3D 바운딩 박스의 상기 좌표에 대한 테스트용 리그레션 정보를 생성하도록 하는 프로세스를 수행하기 위한 상기 인스트럭션들을 실행하도록 구성된 적어도 하나의 프로세서;
    를 포함하는 것을 특징으로 하는 테스트 장치.
  26. 제 25 항에 있어서,
    상기 학습 장치는, 타입 로스 레이어(Type Loss Layer)로 하여금 상기 학습용 객체의 이미지가 트렁케이트 되었는지 트렁케이트 되지 않았는지에 대한 정보와 상기 학습용 객체의 이미지에 대응되는 객체-타입(Object-Type) GT를 참조하여 적어도 하나의 타입 로스를 생성하도록 함으로써, 상기 타입 로스를 이용한 백프로파게이션을 통해 상기 타입-분류 레이어의 파라미터의 적어도 일부를 조정하는 것을 특징으로 하는 테스트 장치.
  27. 제 25 항에 있어서,
    상기 (I) 프로세스에서,
    상기 프로세서는, 상기 타입-분류 레이어로 하여금 상기 테스트용 객체의 전체를 포함하는 영역 대비 상기 테스트용 풀링된 특징 맵 상에 나타난 상기 테스트용 객체의 일부만 포함하는 영역의 비율이 소정의 임계치 이하일 경우에는 상기 테스트용 객체의 이미지가 트렁케이트 된 것으로 판단하며, 상기 비율이 상기 소정의 임계치를 초과할 경우에는 상기 테스트용 객체의 이미지가 트렁케이트 되지 않은 것으로 판단하도록 하는 것을 특징으로 하는 테스트 장치.
  28. 제 27 항에 있어서,
    상기 (III) 프로세스에서,
    상기 프로세서는, 상기 리그레션 레이어 각각으로 하여금 (i) 상기 테스트용 2D 바운딩 박스의 꼭지점으로부터 상기 테스트용 객체의 앞면과 뒷면 각각에 대응되는 각각의 테스트용 인스턴스 바운딩 박스의 꼭지점까지의 각각의 변위(Displacement) 및 (ii) 상기 테스트용 2D 바운딩 박스의 중심으로부터 상기 각각의 테스트용 인스턴스 바운딩 박스의 각각의 중심까지의 각각의 변위 및 상기 테스트용 2D 바운딩 박스의 너비/높이 비율과 상기 테스트용 인스턴스 바운딩 박스의 각각의 너비/높이 비율 사이의 각각의 차이 중 적어도 하나를 이용해, 상기 테스트용 리그레션 정보를 생성하도록 하는 것을 특징으로 하는 테스트 장치.
  29. 제 25 항에 있어서,
    상기 (II) 프로세스에서,
    상기 프로세서는, 상기 테스트용 객체가 상기 제1 타입인 경우, 상기 제1 타입에 대응되는 제1 FC 레이어로 하여금 상기 테스트용 풀링된 특징 맵에 대하여 신경망 연산을 적용하도록 하여 상기 테스트용 수도-3D 바운딩 박스에 대응하는 테스트용 제1 박스 패턴 정보를 생성하며, 상기 테스트용 객체가 상기 제2 타입인 경우, 상기 제2 타입에 대응하는 제2 FC 레이어로 하여금 상기 테스트용 풀링된 특징 맵에 대하여 신경망 연산을 적용하도록 하여 상기 테스트용 수도-3D 바운딩 박스에 대응하는 테스트용 제2 박스 패턴 정보를 생성하고,
    상기 (III) 프로세스에서,
    상기 프로세서는 (i) 상기 제1 FC 레이어에 대응되는 제1 분류 레이어로 하여금 상기 테스트용 제1 박스 패턴 정보를 참조하여 상기 제1 타입을 갖는 상기 테스트용 객체의 방향에 대응되는 테스트용 제1 방향 클래스 정보를 생성하도록 하며, 상기 제1 FC 레이어에 대응되는 제1 리그레션 레이어로 하여금 상기 테스트용 제1 박스 패턴 정보를 참조하여 상기 테스트용 2D 바운딩 박스의 상기 좌표에 대응하는 상기 테스트용 수도-3D 바운딩 박스의 상기 좌표에 대한 테스트용 제1 리그레션 정보를 생성하도록 하고, (ii) 상기 제2 FC 레이어에 대응되는 제2 분류 레이어로 하여금 상기 테스트용 제2 박스 패턴 정보를 참조하여 상기 제2 타입을 갖는 상기 테스트용 객체의 방향에 대응되는 테스트용 제2 방향 클래스 정보를 생성하도록 하며, 상기 제2 FC 레이어에 대응되는 제2 리그레션 레이어로 하여금 상기 테스트용 제2 박스 패턴 정보를 참조하여 상기 테스트용 2D 바운딩 박스의 상기 좌표에 대응하는 상기 테스트용 수도-3D 바운딩 박스의 상기 좌표에 대한 테스트용 제2 리그레션 정보를 생성하도록 하는 것을 특징으로 하는 테스트 장치.
  30. 제 25 항에 있어서,
    상기 테스트 이미지를 선행 CNN 기반의 객체 검출기로 입력하여, 상기 객체 검출기가 (i) 선행 컨볼루션 레이어(Preceding Convolutional Layer)로 하여금 상기 테스트 이미지에 대하여 컨볼루션 연산을 수행하여 상기 테스트용 특징 맵을 생성하도록 하며, (ii) RPN으로 하여금 상기 테스트용 특징 맵으로부터 상기 테스트 이미지 내의 상기 테스트용 객체에 대응하는 적어도 하나의 테스트용 프로포잘 박스를 생성하도록 하고, (iii) 선행 풀링 레이어(Preceding Pooling Layer)로 하여금 상기 테스트용 특징 맵 상에서 상기 테스트용 프로포잘 박스에 대응하는 적어도 하나의 영역에 대하여 풀링 연산을 적용하도록 하여 테스트용 선행 풀링된 특징 맵을 생성하도록 하며, (iv) 선행 FC 레이어(Preceding FC Layer)로 하여금 상기 테스트용 객체에 대응되는 테스트용 객체 패턴 정보를 생성하도록 하고, (v) 선행 분류 레이어(Preceding Classification Layer)로 하여금 상기 테스트용 객체 패턴 정보를 참조하여 상기 테스트용 객체의 클래스에 대응하는 테스트용 객체 클래스 정보를 생성하도록 하며, (vi) 선행 리그레션 레이어(Preceding Regression Layer)로 하여금 상기 테스트용 객체 패턴 정보를 참조하여 상기 테스트용 객체에 대응하는 상기 테스트용 2D 바운딩 박스에 대한 테스트용 선행 리그레션 정보를 생성하도록 함으로써, 상기 테스트용 특징 맵과 상기 테스트용 2D 바운딩 박스를 생성하는 것을 특징으로 하는 테스트 장치.
KR1020190119511A 2019-01-25 2019-09-27 객체의 조건에 따라 모드를 전환할 수 있는 CNN 기반으로 군사 목적, 스마트폰 또는 가상 주행에 사용되는 수도(Pseudo)-3D 바운딩 박스를 검출하는 방법 및 이를 이용한 장치 KR102309712B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/258,186 US10445611B1 (en) 2019-01-25 2019-01-25 Method for detecting pseudo-3D bounding box to be used for military purpose, smart phone or virtual driving based-on CNN capable of converting modes according to conditions of objects and device using the same
US16/258,186 2019-01-25

Publications (2)

Publication Number Publication Date
KR20200092846A KR20200092846A (ko) 2020-08-04
KR102309712B1 true KR102309712B1 (ko) 2021-10-08

Family

ID=68165046

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190119511A KR102309712B1 (ko) 2019-01-25 2019-09-27 객체의 조건에 따라 모드를 전환할 수 있는 CNN 기반으로 군사 목적, 스마트폰 또는 가상 주행에 사용되는 수도(Pseudo)-3D 바운딩 박스를 검출하는 방법 및 이를 이용한 장치

Country Status (5)

Country Link
US (1) US10445611B1 (ko)
EP (1) EP3686776B1 (ko)
JP (1) JP6810432B2 (ko)
KR (1) KR102309712B1 (ko)
CN (1) CN111488783B (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10671878B1 (en) 2019-01-11 2020-06-02 Capital One Services, Llc Systems and methods for text localization and recognition in an image of a document
US20220261593A1 (en) * 2021-02-16 2022-08-18 Nvidia Corporation Using neural networks to perform object detection, instance segmentation, and semantic correspondence from bounding box supervision
DE102021118065A1 (de) 2021-07-13 2023-01-19 Connaught Electronics Ltd. Verfahren zum Erzeugen einer dreidimensionalen Information einer dreidimensionalen Umgebung, Computerprogrammprodukt, computerlesbares Speichermedium sowie Assistenzsystem

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016054778A1 (en) * 2014-10-09 2016-04-14 Microsoft Technology Licensing, Llc Generic object detection in images
US10410096B2 (en) * 2015-07-09 2019-09-10 Qualcomm Incorporated Context-based priors for object detection in images
WO2017015649A1 (en) * 2015-07-23 2017-01-26 Mireplica Technology, Llc Performance enhancement for two-dimensional array processor
US9965719B2 (en) * 2015-11-04 2018-05-08 Nec Corporation Subcategory-aware convolutional neural networks for object detection
US9881234B2 (en) * 2015-11-25 2018-01-30 Baidu Usa Llc. Systems and methods for end-to-end object detection
US9858496B2 (en) * 2016-01-20 2018-01-02 Microsoft Technology Licensing, Llc Object detection and classification in images
US10331974B2 (en) * 2016-11-08 2019-06-25 Nec Corporation Action recognition system with landmark localization on objects in images using convolutional neural networks
US10235771B2 (en) * 2016-11-11 2019-03-19 Qualcomm Incorporated Methods and systems of performing object pose estimation
KR20230170119A (ko) * 2016-11-15 2023-12-18 매직 립, 인코포레이티드 큐보이드 검출을 위한 딥 러닝 시스템
US10373369B2 (en) * 2017-03-16 2019-08-06 Qualcomm Technologies, Inc. Three-dimensional pose estimation of symmetrical objects
US10546237B2 (en) * 2017-03-30 2020-01-28 Atomwise Inc. Systems and methods for correcting error in a first classifier by evaluating classifier output in parallel
WO2018187632A1 (en) * 2017-04-05 2018-10-11 Carnegie Mellon University Deep learning methods for estimating density and/or flow of objects, and related methods and software
KR102475826B1 (ko) * 2017-04-21 2022-12-09 삼성메디슨 주식회사 영상 분할 방법 및 그 전자 장치
US10572963B1 (en) * 2017-07-14 2020-02-25 Synapse Technology Corporation Detection of items
US10169679B1 (en) * 2017-10-13 2019-01-01 StradVision, Inc. Learning method and learning device for adjusting parameters of CNN by using loss augmentation and testing method and testing device using the same
US9946960B1 (en) * 2017-10-13 2018-04-17 StradVision, Inc. Method for acquiring bounding box corresponding to an object in an image by using convolutional neural network including tracking network and computing device using the same
US10007865B1 (en) * 2017-10-16 2018-06-26 StradVision, Inc. Learning method and learning device for adjusting parameters of CNN by using multi-scale feature maps and testing method and testing device using the same
US9953437B1 (en) * 2017-10-18 2018-04-24 StradVision, Inc. Method and device for constructing a table including information on a pooling type and testing method and testing device using the same

Also Published As

Publication number Publication date
JP2020119519A (ja) 2020-08-06
EP3686776B1 (en) 2024-03-27
KR20200092846A (ko) 2020-08-04
EP3686776A1 (en) 2020-07-29
US10445611B1 (en) 2019-10-15
EP3686776C0 (en) 2024-03-27
JP6810432B2 (ja) 2021-01-06
CN111488783B (zh) 2023-09-12
CN111488783A (zh) 2020-08-04

Similar Documents

Publication Publication Date Title
KR102264394B1 (ko) 카메라로부터 획득된 이미지와, 이에 대응하는, 레이더 또는 라이더를 통해 획득된 포인트 클라우드 맵을 뉴럴 네트워크의 각각의 컨벌루션 스테이지 별로 통합하는 학습 방법 및 학습 장치, 그리고 이를 이용한 테스트 방법 및 테스트 장치
KR102309708B1 (ko) 인스턴스 세그멘테이션을 이용한 객체의 자세에 따라 모드를 전환할 수 있는 cnn 기반의 수도-3d 바운딩 박스를 검출하는 방법 및 이를 이용한 장치
US10410120B1 (en) Learning method and testing method of object detector to be used for surveillance based on R-CNN capable of converting modes according to aspect ratios or scales of objects, and learning device and testing device using the same
KR102296507B1 (ko) 트래킹 네트워크를 포함한 cnn을 사용하여 객체를 트래킹하는 방법 및 이를 이용한 장치
EP3686779B1 (en) Method and device for attention-based lane detection without post-processing by using lane mask and testing method and testing device using the same
KR102309712B1 (ko) 객체의 조건에 따라 모드를 전환할 수 있는 CNN 기반으로 군사 목적, 스마트폰 또는 가상 주행에 사용되는 수도(Pseudo)-3D 바운딩 박스를 검출하는 방법 및 이를 이용한 장치
US10919543B2 (en) Learning method and learning device for determining whether to switch mode of vehicle from manual driving mode to autonomous driving mode by performing trajectory-based behavior analysis on recent driving route
KR102296509B1 (ko) 자율 주행 자동차의 레벨 4를 충족시키기 위해 영역의 클래스에 따라 모드를 전환하여 그리드 셀 별로 가중 컨벌루션 필터를 이용한 감시용 이미지 세그멘테이션 방법 및 장치, 그리고 이를 이용한 테스트 방법 및 테스트 장치
KR102372703B1 (ko) V2v 통신을 통해 획득된 타 자율 주행 차량의 공간 탐지 결과를 자신의 자율 주행 차량의 공간 탐지 결과와 통합하는 학습 방법 및 학습 장치, 그리고 이를 이용한 테스트 방법 및 테스트 장치
US20230121534A1 (en) Method and electronic device for 3d object detection using neural networks
US10311336B1 (en) Method and device of neural network operations using a grid generator for converting modes according to classes of areas to satisfy level 4 of autonomous vehicles
KR102372687B1 (ko) 비최대값 억제를 학습하는 병합 네트워크를 이용한 이종 센서 융합을 위한 학습 방법 및 학습 장치
US10402686B1 (en) Learning method and learning device for object detector to be used for surveillance based on convolutional neural network capable of converting modes according to scales of objects, and testing method and testing device using the same
US10373004B1 (en) Method and device for detecting lane elements to plan the drive path of autonomous vehicle by using a horizontal filter mask, wherein the lane elements are unit regions including pixels of lanes in an input image
US10339424B1 (en) Method and device of neural network operations using a grid generator for converting modes according to classes of areas to satisfy level 4 of autonomous vehicles
US10460210B1 (en) Method and device of neural network operations using a grid generator for converting modes according to classes of areas to satisfy level 4 of autonomous vehicles

Legal Events

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