KR102309712B1 - 객체의 조건에 따라 모드를 전환할 수 있는 CNN 기반으로 군사 목적, 스마트폰 또는 가상 주행에 사용되는 수도(Pseudo)-3D 바운딩 박스를 검출하는 방법 및 이를 이용한 장치 - Google Patents
객체의 조건에 따라 모드를 전환할 수 있는 CNN 기반으로 군사 목적, 스마트폰 또는 가상 주행에 사용되는 수도(Pseudo)-3D 바운딩 박스를 검출하는 방법 및 이를 이용한 장치 Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 111
- 238000012360 testing method Methods 0.000 claims description 479
- 238000011176 pooling Methods 0.000 claims description 61
- 238000013527 convolutional neural network Methods 0.000 claims description 43
- 238000012549 training Methods 0.000 claims description 43
- 238000013528 artificial neural network Methods 0.000 claims description 41
- 238000006073 displacement reaction Methods 0.000 claims description 29
- 238000010998 test method Methods 0.000 claims description 7
- 238000004891 communication Methods 0.000 description 7
- 238000007796 conventional method Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 101100410043 Caenorhabditis elegans rpn-12 gene Proteins 0.000 description 2
- 241001465754 Metazoa Species 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000007792 addition Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000011888 foil Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000000611 regression analysis Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/11—Region-based segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2413—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
-
- G06K9/00791—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
- G06N5/046—Forward inferencing; Production systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/194—Segmentation; Edge detection involving foreground-background segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/25—Determination of region of interest [ROI] or a volume of interest [VOI]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/255—Detecting or recognising potential candidate objects based on visual cues, e.g. shapes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/50—Context or environment of the image
- G06V20/56—Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/60—Type of objects
- G06V20/64—Three-dimensional objects
-
- G06K2209/23—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V2201/00—Indexing scheme relating to image or video recognition or understanding
- G06V2201/08—Detecting 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 바운딩 박스를 검출하는 방법에 있어서, 보다 상세하게는, 상기 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 바운딩 박스를 검출하는 학습 장치를 개략적으로 도시한 것이고,
도 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: 프로세서
110: 통신부,
120: 프로세서,
130: 데이터베이스,
200: 테스트 장치,
210: 통신부,
220: 프로세서
Claims (30)
- 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 레이어의 파라미터를 학습하는 단계;
를 포함하는 것을 특징으로 하는 학습 방법. - 제 1 항에 있어서,
상기 (a) 단계 이후에,
상기 학습 장치는, 타입 로스 레이어(Type Loss Layer)로 하여금 상기 객체의 이미지가 트렁케이트 되었는지 트렁케이트 되지 않았는지에 대한 정보와 상기 객체의 이미지에 대응되는 객체-타입(Object-Type) GT를 참조하여 적어도 하나의 타입 로스를 생성하도록 함으로써,
상기 타입 로스를 백프로파게이션하여 상기 타입-분류 레이어의 파라미터의 적어도 일부를 조정하는 것을 특징으로 하는 학습 방법. - 제 1 항에 있어서,
상기 (a) 단계에서,
상기 학습 장치는, 상기 타입-분류 레이어로 하여금 상기 객체의 전체를 포함하는 영역 대비 상기 풀링된 특징 맵 상에 나타난 상기 객체의 일부만 포함하는 영역의 비율이 소정의 임계치 이하일 경우에는 상기 객체의 이미지가 트렁케이트 된 것으로 판단하며, 상기 비율이 상기 소정의 임계치를 초과할 경우에는 상기 객체의 이미지가 트렁케이트 되지 않은 것으로 판단하도록 하는 것을 특징으로 하는 학습 방법. - 제 1 항에 있어서,
상기 (c) 단계에서,
상기 학습 장치는, 상기 리그레션 레이어 각각으로 하여금 (i) 상기 2D 바운딩 박스의 꼭지점으로부터 상기 객체의 앞면과 뒷면 각각에 대응되는 각각의 인스턴스 바운딩 박스의 꼭지점까지의 각각의 변위(Displacement) 및 (ii) 상기 2D 바운딩 박스의 중심으로부터 상기 각각의 인스턴스 바운딩 박스의 각각의 중심까지의 각각의 변위 및 상기 2D 바운딩 박스의 너비/높이 비율과 상기 인스턴스 바운딩 박스의 각각의 너비/높이 비율 사이의 각각의 차이 중 적어도 하나를 이용해, 상기 리그레션 정보를 생성하도록 하는 것을 특징으로 하는 학습 방법. - 제 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 리그레션 정보를 생성하도록 하는 것을 특징으로 하는 학습 방법. - 제 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 레이어의 파라미터를 학습하는 것을 특징으로 하는 학습 방법. - 제 1 항에 있어서,
상기 학습 장치는, 선행 CNN(Preceding CNN) 기반의 객체 검출기로부터 상기 특징 맵과 상기 2D 바운딩 박스를 획득하는 것을 특징으로 하는 학습 방법. - 제 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 바운딩 박스를 생성하는 것을 특징으로 하는 학습 방법. - 제 7 항에 있어서,
검출기 학습 장치에 의해 상기 객체 검출기를 학습하는 상태에서, 상기 검출기 학습 장치가, 상기 객체 검출기 내의 타입 로스 레이어로 하여금 상기 객체의 이미지가 트렁케이트 되었는지 트렁케이트 되지 않았는지에 대한 정보와 상기 이미지에 대응되는 객체-타입 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 바운딩 박스의 상기 좌표에 대한 테스트용 리그레션 정보를 생성하도록 하는 단계;
를 포함하는 것을 특징으로 하는 테스트 방법. - 제 10 항에 있어서,
상기 학습 장치는, 타입 로스 레이어(Type Loss Layer)로 하여금 상기 학습용 객체의 이미지가 트렁케이트 되었는지 트렁케이트 되지 않았는지에 대한 정보와 상기 학습용 객체의 이미지에 대응되는 객체-타입(Object-Type) GT를 참조하여 적어도 하나의 타입 로스를 생성하도록 함으로써, 상기 타입 로스를 이용한 백프로파게이션을 통해 상기 타입-분류 레이어의 파라미터의 적어도 일부를 조정하는 것을 특징으로 하는 테스트 방법. - 제 10 항에 있어서,
상기 (a) 단계는,
상기 테스트 장치는, 상기 타입-분류 레이어로 하여금 상기 테스트용 객체의 전체를 포함하는 영역 대비 상기 테스트용 풀링된 특징 맵 상에 나타난 상기 테스트용 객체의 일부만 포함하는 영역의 비율이 소정의 임계치 이하일 경우에는 상기 테스트용 객체의 이미지가 트렁케이트 된 것으로 판단하며, 상기 비율이 상기 소정의 임계치를 초과할 경우에는 상기 테스트용 객체의 이미지가 트렁케이트 되지 않은 것으로 판단하도록 하는 것을 특징으로 하는 테스트 방법. - 제 10 항에 있어서,
상기 (c) 단계에서,
상기 테스트 장치는, 상기 리그레션 레이어 각각으로 하여금 (i) 상기 테스트용 2D 바운딩 박스의 꼭지점으로부터 상기 테스트용 객체의 앞면과 뒷면 각각에 대응되는 각각의 테스트용 인스턴스 바운딩 박스의 꼭지점까지의 각각의 변위(Displacement) 및 (ii) 상기 테스트용 2D 바운딩 박스의 중심으로부터 상기 각각의 테스트용 인스턴스 바운딩 박스의 각각의 중심까지의 각각의 변위 및 상기 테스트용 2D 바운딩 박스의 너비/높이 비율과 상기 테스트용 인스턴스 바운딩 박스의 각각의 너비/높이 비율 사이의 각각의 차이 중 적어도 하나를 이용해, 상기 테스트용 리그레션 정보를 생성하도록 하는 것을 특징으로 하는 테스트 방법. - 제 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 리그레션 정보를 생성하도록 하는 것을 특징으로 하는 테스트 방법. - 제 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 바운딩 박스를 생성하는 것을 특징으로 하는 테스트 방법. - 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 레이어의 파라미터를 학습하는 프로세스를 수행하기 위한 상기 인스트럭션을 실행하도록 구성된 적어도 하나의 프로세서;
를 포함하는 것을 특징으로 하는 학습 장치. - 제 16 항에 있어서,
상기 (I) 프로세스 이후에,
상기 프로세서는, 타입 로스 레이어로 하여금 상기 객체의 이미지가 트렁케이트 되었는지 트렁케이트 되지 않았는지에 대한 정보와 상기 객체의 이미지에 대응되는 객체-타입 GT를 참조하여 적어도 하나의 타입 로스를 생성함으로써, 상기 타입 로스를 백프로파게이션하여 상기 타입-분류 레이어의 파라미터의 적어도 일부를 조정하는 것을 특징으로 하는 학습 장치. - 제 16 항에 있어서,
상기 (I) 프로세스에서,
상기 프로세서는, 상기 타입-분류 레이어로 하여금 상기 객체의 전체를 포함하는 영역 대비 상기 풀링된 특징 맵 상에 나타난 상기 객체의 일부만 포함하는 영역의 비율이 소정의 임계치 이하일 경우에는 상기 객체의 이미지가 트렁케이트 된 것으로 판단하며, 상기 비율이 상기 소정의 임계치를 초과할 경우에는 상기 객체의 이미지가 트렁케이트 되지 않은 것으로 판단하도록 하는 것을 특징으로 하는 학습 장치. - 제 16 항에 있어서,
상기 (III) 프로세스에서,
상기 프로세서는, 상기 리그레션 레이어 각각으로 하여금 (i) 상기 2D 바운딩 박스의 꼭지점으로부터 상기 객체의 앞면과 뒷면 각각에 대응되는 각각의 인스턴스 바운딩 박스의 꼭지점까지의 각각의 변위(Displacement) 및 (ii) 상기 2D 바운딩 박스의 중심으로부터 상기 각각의 인스턴스 바운딩 박스의 각각의 중심까지의 각각의 변위 및 상기 2D 바운딩 박스의 너비/높이 비율과 상기 인스턴스 바운딩 박스의 각각의 너비/높이 비율 사이의 각각의 차이 중 적어도 하나를 이용해, 상기 리그레션 정보를 생성하도록 하는 것을 특징으로 하는 학습 장치. - 제 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 리그레션 정보를 생성하도록 하는 것을 특징으로 하는 학습 장치. - 제 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 레이어의 파라미터를 학습하는 것을 특징으로 하는 학습 장치. - 제 16 항에 있어서,
선행 CNN(Preceding CNN) 기반의 객체 검출기로부터 상기 특징 맵과 상기 2D 바운딩 박스를 획득하는 것을 특징으로 하는 학습 장치. - 제 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 바운딩 박스를 생성하는 것을 특징으로 하는 학습 장치. - 제 22 항에 있어서,
검출기 학습 장치에 의해 상기 객체 검출기를 학습하는 상태에서, 상기 검출기 학습 장치가, 상기 객체 검출기 내의 타입 로스 레이어로 하여금 상기 객체의 이미지가 트렁케이트 되었는지 트렁케이트 되지 않았는지에 대한 정보와 상기 이미지에 대응되는 객체-타입 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 바운딩 박스의 상기 좌표에 대한 테스트용 리그레션 정보를 생성하도록 하는 프로세스를 수행하기 위한 상기 인스트럭션들을 실행하도록 구성된 적어도 하나의 프로세서;
를 포함하는 것을 특징으로 하는 테스트 장치. - 제 25 항에 있어서,
상기 학습 장치는, 타입 로스 레이어(Type Loss Layer)로 하여금 상기 학습용 객체의 이미지가 트렁케이트 되었는지 트렁케이트 되지 않았는지에 대한 정보와 상기 학습용 객체의 이미지에 대응되는 객체-타입(Object-Type) GT를 참조하여 적어도 하나의 타입 로스를 생성하도록 함으로써, 상기 타입 로스를 이용한 백프로파게이션을 통해 상기 타입-분류 레이어의 파라미터의 적어도 일부를 조정하는 것을 특징으로 하는 테스트 장치. - 제 25 항에 있어서,
상기 (I) 프로세스에서,
상기 프로세서는, 상기 타입-분류 레이어로 하여금 상기 테스트용 객체의 전체를 포함하는 영역 대비 상기 테스트용 풀링된 특징 맵 상에 나타난 상기 테스트용 객체의 일부만 포함하는 영역의 비율이 소정의 임계치 이하일 경우에는 상기 테스트용 객체의 이미지가 트렁케이트 된 것으로 판단하며, 상기 비율이 상기 소정의 임계치를 초과할 경우에는 상기 테스트용 객체의 이미지가 트렁케이트 되지 않은 것으로 판단하도록 하는 것을 특징으로 하는 테스트 장치. - 제 27 항에 있어서,
상기 (III) 프로세스에서,
상기 프로세서는, 상기 리그레션 레이어 각각으로 하여금 (i) 상기 테스트용 2D 바운딩 박스의 꼭지점으로부터 상기 테스트용 객체의 앞면과 뒷면 각각에 대응되는 각각의 테스트용 인스턴스 바운딩 박스의 꼭지점까지의 각각의 변위(Displacement) 및 (ii) 상기 테스트용 2D 바운딩 박스의 중심으로부터 상기 각각의 테스트용 인스턴스 바운딩 박스의 각각의 중심까지의 각각의 변위 및 상기 테스트용 2D 바운딩 박스의 너비/높이 비율과 상기 테스트용 인스턴스 바운딩 박스의 각각의 너비/높이 비율 사이의 각각의 차이 중 적어도 하나를 이용해, 상기 테스트용 리그레션 정보를 생성하도록 하는 것을 특징으로 하는 테스트 장치. - 제 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 리그레션 정보를 생성하도록 하는 것을 특징으로 하는 테스트 장치. - 제 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 바운딩 박스를 생성하는 것을 특징으로 하는 테스트 장치.
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)
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)
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 |
-
2019
- 2019-01-25 US US16/258,186 patent/US10445611B1/en active Active
- 2019-09-27 KR KR1020190119511A patent/KR102309712B1/ko active IP Right Grant
- 2019-10-24 CN CN201911016989.4A patent/CN111488783B/zh active Active
- 2019-11-07 EP EP19207615.6A patent/EP3686776B1/en active Active
- 2019-12-27 JP JP2019239147A patent/JP6810432B2/ja active Active
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 |