KR20220021154A - 원통형 컨볼루션 네트워크 연산 장치와 이를 이용한 객체 인식 및 시점 추정장치 및 방법 - Google Patents

원통형 컨볼루션 네트워크 연산 장치와 이를 이용한 객체 인식 및 시점 추정장치 및 방법 Download PDF

Info

Publication number
KR20220021154A
KR20220021154A KR1020200101612A KR20200101612A KR20220021154A KR 20220021154 A KR20220021154 A KR 20220021154A KR 1020200101612 A KR1020200101612 A KR 1020200101612A KR 20200101612 A KR20200101612 A KR 20200101612A KR 20220021154 A KR20220021154 A KR 20220021154A
Authority
KR
South Korea
Prior art keywords
viewpoint
cylindrical
weight
kernel
class
Prior art date
Application number
KR1020200101612A
Other languages
English (en)
Other versions
KR102517054B1 (ko
Inventor
손광훈
정성훈
Original Assignee
연세대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 연세대학교 산학협력단 filed Critical 연세대학교 산학협력단
Priority to KR1020200101612A priority Critical patent/KR102517054B1/ko
Priority to PCT/KR2020/095103 priority patent/WO2022034999A1/ko
Priority to US17/468,948 priority patent/US20220051433A1/en
Publication of KR20220021154A publication Critical patent/KR20220021154A/ko
Application granted granted Critical
Publication of KR102517054B1 publication Critical patent/KR102517054B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • G06V10/443Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
    • G06V10/449Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters
    • G06V10/451Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters with interaction between the filter responses, e.g. cortical complex cells
    • G06V10/454Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/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/0464Convolutional networks [CNN, ConvNet]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/047Probabilistic or stochastic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • 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/20Analysis of motion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/292Multi-camera tracking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/32Normalisation of the pattern dimensions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/18Eye characteristics, e.g. of the iris

Landscapes

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

Abstract

본 발명은 기지정된 각도 단위 간격에 대응하는 다수의 가중치 열(column)이 360도 단위로 주기적으로 반복되는 구조를 갖는 원통형 커널을 포함하고, 기지정된 크기의 입력 이미지가 인가되면, 상기 입력 이미지와 상기 원통형 커널의 다수의 가중치 열 중 기지정된 크기의 각도 범위에 대응하는 개수의 가중치 열을 컨볼루션 연산을 수행하여, 각 각도 단위 간격에 따른 다수의 시점별 특징 벡터를 추출하는 원통형 컨볼루션 네트워크 연산 장치를 이용하여 이미지의 객체 인식 및 시점을 판별하도록 함으로써, 객체를 정확하게 식별하여 인식할 수 있을 뿐만 아니라 객체가 촬영된 시점을 정확하게 판별할 수 있는 원통형 컨볼루션 네트워크와 이를 이용한 객체 인식 및 시점 추정장치 및 방법을 제공할 수 있다.

Description

원통형 컨볼루션 네트워크 연산 장치와 이를 이용한 객체 인식 및 시점 추정장치 및 방법{Oration apparatus for cylindrical convolutional neural network operation apparatus and object recognition and viewpoint estimation apparatus and method using the same}
본 발명은 인공 네트워크 연산 장치에 관한 것으로, 원통형 컨볼루션 네트워크 연산장치와 이를 이용한 객체 인식 및 시점 추정장치 및 방법에 관한 것이다.
최근 다양한 분야에서 인공 네트워크이 적용되고 있으며, 이중에서 컨볼루션 네트워크(Convolutional Neural Network: CNN) 이미지 분류(image classification), 시맨틱 세그먼테이션(semantic segmentation), 객체 검출(object detection), 인스턴스 세그먼테이션(instance segmentation)과 같은 시각적 인식 분야에서 우수한 성능을 나타내는 것으로 잘 알려져 있다.
컨볼루션 네트워크가 객체의 기하학적 변형에도 객체를 정확하게 분류 또는 인식하기 위해서는 대량의 학습 데이터에 의한 학습이 필요하다. 그러나 컨볼루션 네트워크는 객체에 대해 특정 방향 및 거리에서 획득된 2차원 평면 이미지들을 이용하여 학습이 수행되므로, 객체의 스케일 변화나 관측 시점 변화 및 각 객체별 형상 변화와 같은 다양한 조건들로 인해 객체에 대한 분류 또는 인식 성능이 제한적이다.
이에 이미지에서의 객체의 다양한 기하학적 변형에 대응하기 위해 여러 기법들이 제안된 바 있다. 일 예로 아핀 변환(affine transformation)과 같은 공간 변환 모델을 이용하거나 컨볼루션 연산에서 샘플링 위치의 오프셋을 학습하여 입력 데이터를 변환하는 기법 등이 있다.
그러나 기존의 기법에서는 2D 공간 상에서 기하학적 변형을 처리하므로, 3D 공간 상에서의 다양한 시점에서 획득된 이미지의 객체를 정확하기 분류 또는 인식하기에는 한계가 있다. 또한 경우에 따라서는 객체에 대한 시점이 판별되어야 하는 경우도 있다. 일 예로 최근 자율 주행 차량 등은 전방 카메라뿐만 아니라 후방 카메라 및 측방 카메라 등을 구비하여 차량 주변 전방향에서의 이미지를 획득하고, 획득된 이미지로부터 주변 객체를 인식하도록 한다. 이때 차량과 주변 객체 사이의 상관 관계를 정확하게 판별하기 위해서는 객체가 촬영된 시점을 확인할 수 있어야 한다. 즉 차량 주변에서 동일 거리에 위치한 다른 차량이 인식되더라도 전면이 촬영된 차량의 경우에는 접근 중인 상태로 판단할 수 있는 반면, 후면이 촬영된 차량의 경우에는 멀어지는 상태로 판단할 수 있으므로 더 정확한 상태를 판별할 수 있다. 그러나 상기한 바와 같이 기존의 컨볼루션 네트워크는 객체 인식 성능에 제약이 있을 뿐만 아니라, 객체가 촬영된 시점을 판별하기 어렵다는 한계가 있다.
따라서 객체 인식 성능의 향상과 함께 객체에 대한 이미지가 획득된 방위각을 정확하게 추정할 수 있는 새로운 네트워크에 대한 요구가 증가하고 있다.
한국 등록 특허 제10-2029852호 (2019.10.01 등록)
본 발명의 목적은 객체 인식 성능을 대폭 향상시킬 수 있는 원통형 컨볼루션 네트워크 연산 장치를 제공하는데 있다.
본 발명의 다른 목적은 객체 인식 성능뿐만 아니라 이미지에서 객체가 촬영된 시점을 정확하게 추정할 수 있는 원통형 컨볼루션 네트워크 연산 장치를 제공하는데 있다.
상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른 원통형 컨볼루션 네트워크 연산 장치는 기지정된 각도 단위 간격에 대응하는 다수의 가중치 열(column)이 360도 단위로 주기적으로 반복되는 구조를 갖는 원통형 커널을 포함하고, 기지정된 크기의 입력 이미지가 인가되면, 상기 입력 이미지와 상기 원통형 커널의 다수의 가중치 열 중 기지정된 크기의 각도 범위에 대응하는 개수의 가중치 열을 컨볼루션 연산을 수행하여, 각 각도 단위 간격에 따른 다수의 시점별 특징 벡터를 추출할 수 있다.
상기 원통형 커널은 미리 지정된 객체의 여러 시점별 특징이 추출되도록, 학습 시에 상기 객체에 대해 기지정된 각도 단위 간격 각각 대응하는 시점에서 촬영된 다수의 이미지를 이용하여 상기 다수의 가중치 열의 가중치가 획득될 수 있다.
상기 원통형 커널은 대응하는 각도에 따라 360도 주기로 반복되는 구조의 상기 다수의 가중치 열 중 기지정된 각도에 대응하는 가중치 열이 단절되어 펼쳐진 2차원 구조의 가중치 어레이로 저장될 수 있다.
상기 원통형 커널은 각 각도에 대응하는 가중치 열을 기준으로 인접한 기정된 개수의 가중치 열이 결합된 다수의 가중치 어레이로 저장될 수 있다.
상기 원통형 컨볼루션 네트워크 연산 장치는 상기 원통형 커널에서 기지정된 기준 각도에 대응하는 가중치 열로부터 상기 입력 이미지를 적어도 일측 방향으로 열 단위로 이동시키면서 컨볼루션 연산을 수행하며, 상기 입력 이미지가 2차원 구조로 펼쳐진 원통형 커널의 일측단으로 이동되면, 360도 주기로 반복되는 구조의 가중치 어레이의 타측단과 컨볼루션 연산을 수행할 수 있다.
상기 가중치 어레이는 360도 주기로 반복되는 구조에 따라 양측단에 서로 상대 측단의 인접한 기지정된 개수의 가중치 열이 추가로 배치될 수 있다.
상기 목적을 달성하기 위한 본 발명의 다른 실시예에 따른 객체 인식 및 시점 추정 장치는 적어도 하나의 객체가 포함된 입력 이미지를 인가받아, 상기 입력 이미지 내에서 적어도 하나의 객체 각각의 영역인 객체 영역 특징맵을 추출하는 전처리부; 기지정된 각도 단위 간격에 대응하는 다수의 가중치 열이 360도 단위로 주기적으로 반복되는 구조를 갖는 원통형 커널을 포함하여, 상기 객체 영역 특징맵과 상기 원통형 커널의 다수의 가중치 열 중 기지정된 크기의 각도 범위에 대응하는 개수의 가중치 열을 컨볼루션 연산을 수행하여, 각 각도 단위 간격에 따른 다수의 시점별 특징 벡터를 추출하는 원통형 커널부; 다수의 객체 클래스 및 다수의 객체별 시점의 패턴이 학습된 인공 신경망을 이용하여 상기 다수의 시점별 특징 벡터 각각에 대한 객체 클래스별 신뢰도 스코어를 추출하여 다수의 스코어 맵을 획득하는 스코어 맵 획득부; 및 상기 다수의 시점별 특징 벡터 각각에 대응하여 시점별로 획득된 상기 다수의 스코어 맵을 분석하여 객체 영역에 포함된 객체의 클래스와 시점을 판별하는 객체 및 시점 판별부를 포함한다.
상기 목적을 달성하기 위한 본 발명의 다른 실시예에 따른 객체 인식 및 시점 추정 방법은 적어도 하나의 객체가 포함된 입력 이미지를 인가받아, 상기 입력 이미지 내에서 적어도 하나의 객체 각각의 영역인 객체 영역 특징맵을 추출하는 단계; 기지정된 각도 단위 간격에 대응하는 다수의 가중치 열이 360도 단위로 주기적으로 반복되는 구조를 갖는 원통형 커널을 포함하여, 상기 객체 영역 특징맵과 상기 원통형 커널의 다수의 가중치 열 중 기지정된 크기의 각도 범위에 대응하는 개수의 가중치 열을 컨볼루션 연산을 수행하여, 각 각도 단위 간격에 따른 다수의 시점별 특징 벡터를 추출하는 단계; 다수의 객체 클래스 및 다수의 객체별 시점의 패턴이 학습된 인공 신경망을 이용하여 상기 다수의 시점별 특징 벡터 각각에 대한 객체 클래스별 신뢰도 스코어를 추출하여 다수의 스코어 맵을 획득하는 단계; 및 상기 다수의 시점별 특징 벡터 각각에 대응하여 시점별로 획득된 상기 다수의 스코어 맵을 분석하여 객체 영역에 포함된 객체의 클래스와 시점을 판별하는 단계를 포함한다.
따라서, 본 발명의 실시예에 따른 원통형 컨볼루션 네트워크 연산 장치와 이를 이용한 객체 인식 및 시점 추정장치 및 방법은 기지정된 각도 단위로 전방향에서 획득된 객체 이미지에 따라 원통형 구조로 구성된 컨볼루션 커널을 포함하여 다수의 시점별 특징 벡터를 추출하고, 다수의 시점별 특징 벡터를 기반으로 스코어 맵을 생성함으로써, 객체 클래스와 객체가 촬영된 시점을 정확하게 판별할 수 있다. 또한 스케일 변화에도 강건하며 이미지에서 객체 영역을 정확하게 설정할 수 있다.
도 1은 본 발명의 일 실시예에 따른 원통형 컨볼루션 네트워크 연산 장치를 설명하기 위한 도면이다.
도 2는 도 1의 원통형 컨볼루션 네트워크가 적용된 객체 인식 및 시점 추정장치의 개략적 구성을 나타낸다.
도 3은 원통형 컨볼루션 네트워크에 기반하여 객체 및 시점을 추정하는 개념을 설명하기 위한 도면이다.
도 4는 본 발명의 일 실시예에 따른 객체 인식 및 시점 추정방법을 나타낸다.
도 5 및 도 6은 본 실시예에 따른 객체 인식 및 시점 추정방법을 이용하여 객체 인식 및 시점 추정 결과의 일 예를 나타낸다.
본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 바람직한 실시예를 예시하는 첨부 도면 및 첨부 도면에 기재된 내용을 참조하여야만 한다.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시예를 설명함으로써, 본 발명을 상세히 설명한다. 그러나, 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며, 설명하는 실시예에 한정되는 것이 아니다. 그리고, 본 발명을 명확하게 설명하기 위하여 설명과 관계없는 부분은 생략되며, 도면의 동일한 참조부호는 동일한 부재임을 나타낸다.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라, 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 "...부", "...기", "모듈", "블록" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
도 1은 본 발명의 일 실시예에 따른 원통형 컨볼루션 네트워크 연산 장치를 설명하기 위한 도면이다.
본 실시예에 따른 원통형 컨볼루션 네트워크 연산 장치는 도 1에 나타난 바와 같이, 원통형 커널(CK)을 포함한다. 기존의 컨볼루션 네트워크에서는 커널이 2차원 평면 형태로 구성되어 있는 반면, 본 실시예의 원통형 컨볼루션 네트워크에서는 커널이 2차원 평면이 원통형으로 말려있는 형태로 구성된다. 따라서 기존의 컨볼루션 커널의 경우 2차원 평면 형태로 구성됨에 따라 양측단이 단절된 형태로 구성되지만, 원통형 커널(CK)에서는 360도의 주기로 반복되어 로테이션되는 평면 구조로 고려될 수 있다.
그리고 원통형 커널(CK)에서 특정 열(column)이 기준 각도(0°)로 설정되는 경우, 기준 각도(0°)는 동시에 1회 로테이션된 각도(360°)로 볼 수도 있다. 즉 원통형 커널(CK)에서는 양측단의 개념이 존재하지 않고 360°로테이션되는 구조를 갖게 된다. 여기서는 원통형 커널(CK)의 기준 각도(0°)를 중심으로 일측 방향(예를 들면 시계 방향)이 양의 각도 방향으로 가정하고, 타측 방향(예를 들면 반시계 방향)이 음의 각도 방향 가정하여, 원통형 커널(CK)의 원소, 즉 커널 가중치의 위치를 표시하는 것으로 설정한다. 이 경우, 원통형 커널(CK)에서 기준 각도(0°)에 대향하는 열의 각도는 180° 또는 -180°가 되며, 180° 와 -180°는 원통형 커널(CK)에서 동일한 원소 열, 즉 커널 가중치 열을 나타내게 된다. 이는 원통형 커널(CK)이 360도의 주기로 반복되는 로테이션되 로테이션 가능함을 나타낸다.
그리고 원통형 커널(CK)의 각 원소인 커널 가중치는 원통형 커널(CK) 내에 특정 객체가 위치한 경우, 열 단위로 각 커널 가중치의 위치에서 대응하는 시점에서의 객체 특징을 추출할 수 있도록 미리 학습으로 획득될 수 있다.
원통형 커널(CK)의 학습은 지정된 객체에 대해 미리 지정된 각도 단위(여기서는 일 예로 15°)에서 획득된 다수의 객체 이미지를 학습 데이터로 이용하여 수행될 수 있다. 즉 특정 객체에 대해 전방위 시점에서 각 시점별로 획득된 객체 이미지를 학습 데이터로 이용하여 원통형 커널(CK)의 커널 가중치가 열 단위로 획득될 수 있다.
다만, 특정 시점에서 객체를 촬영하여 획득되더라도 객체 이미지는 일정 각도 범위의 객체 이미지로 획득된다. 따라서 비록 지정된 각도에서 획득된 다수의 객체 이미지일지라도 해당 각도뿐만 아니라 인접한 일정 범위의 각도 영역에 대응하는 다른 열의 가중치를 업데이트하기 위해 함께 이용될 수 있다. 따라서 학습 데이터가 전 방위의 모든 시점에서의 객체 이미지를 포함하지 않더라도, 원통형 커널(CK)의 가중치 열들은 학습 데이터로부터 학습될 수 있다.
기존의 컨볼루션 네트워크에서는 일반적으로 객체의 특징을 객체에 대한 시점에 대한 구분이 없이 전체적인 특징으로 추출하기 위해 이용되었다. 따라서 여러 다양한 시점에서 획득된 객체 이미지의 공통적 특징을 추출할 수 있도록 학습되어야 했다. 이에 컨볼루션 네트워크의 경우, 컨볼루션 커널의 학습 시에도 다양한 시점에서 획득된 객체 이미지를 이미지 획득 시점에 대한 구분없이 학습에 이용하였으며, 이로 인해 컨볼루션 네트워크가 객체 인식 장치 등에 적용되는 경우, 객체의 시점별 상이한 특징에 의해 객체 인식 장치의 객체 인식 성능에 한계를 가져오는 주요 요인으로 작용한다.
일 예로 도 1에 도시된 바와 같이, 차량에 대한 객체 인식을 수행하는 경우, 전면을 기준으로 45°시점에서 촬영된 차량 이미지와 -135°시점에서 촬영된 차량 이미지의 경우, 매우 상이한 패턴을 갖게 된다. 그럼에도 불구하고, 기존의 컨볼루션 네트워크에서는 촬영 시점에 대한 구분없이 모두 동일한 차량이라는 특징을 추출하도록 컨볼루션 커널이 학습된다. 그러므로 45°시점과 -135°시점에서 촬영된 차량 이미지에서 공통되는 특징을 추출하도록 가중치가 설정된다. 이는 컨볼루션 네트워크가 차량의 특징을 정확하게 추출하기 어렵게 하는 요인이 된다. 뿐만 아니라 인가된 이미지에 포함된 차량이 촬영된 시점을 판별할 수 없다는 한계가 있다.
그에 반해, 본 실시예에 따른 원통형 커널(CK)의 경우, 객체에 대해 기지정된 시점별로 촬영된 학습 이미지를 기반으로 학습되어, 각 위치별 가중치가 객체의 대응하는 시점에서의 특징을 추출할 수 있다. 즉 시점을 특정한 시점별 특징을 추출할 수 있으며, 도 1의 경우, 45°시점과 -135°시점에서의 차량 특징을 구분하여 추출할 수 있다. 따라서 객체 인식 장치가 원통형 컨볼루션 네트워크에 기반한 연산 장치를 이용하는 경우, 이미지에 포함된 객체를 매우 정확하게 식별하여 인식할 수 있을 뿐만 아니라 이미지가 촬영된 시점을 정확하게 판별할 수 있다는 장점이 있다.
도 2는 도 1의 원통형 컨볼루션 네트워크가 적용된 객체 인식 및 시점 추정장치의 개략적 구성을 나타내고, 도 3은 원통형 컨볼루션 네트워크에 기반하여 객체 및 시점을 추정하는 개념을 설명하기 위한 도면이다.
도 2를 참조하면, 본 실시예에 따른 객체 인식 및 시점 추정장치는 이미지 획득부(110), 전처리부(120), 원통형 커널부(130), 스코어 맵 획득부(140), 객체 및 시점 판별부(150) 및 객체 위치 회귀부(160)를 포함할 수 있다.
이미지 획득부(110)는 적어도 하나의 객체가 포함된 이미지를 획득한다. 이미지 획득부(110)는 식별되어야 하는 적어도 하나의 객체가 포함된 이미지를 획득하기 위한 구성으로, 객체를 촬영하는 카메라 등의 이미지 획득 수단으로 구현되거나, 이전 획득된 이미지가 저장된 저장 수단 또는 외부 장치가 획득한 이미지를 인가받는 통신 수단 등으로 구현될 수 있다.
전처리부(120)는 이미지 획득부(110)에서 획득된 이미지로부터 객체에 해당하는 관심 영역(Region of Interest: ROI)인 객체 영역을 추출한다. 전처리부(120)는 기지정된 방식에 따라 이미지에서 객체 영역을 추출할 수도 있으나, 여기서는 전처리부(120)가 인공 신경망으로 구현되어 미리 학습된 패턴 추정 방식에 따라 객체 영역에 대한 특징맵을 추출하는 것으로 가정한다.
전처리부(120)는 특징맵 추출부(121), 객체 검출부(122) 및 관심 특징 추출부(123)를 포함할 수 있다. 특징맵 추출부(121)는 이미지 획득부(110)에서 획득된 이미지를 인가받고, 미리 학습된 패턴 추정 방식에 따라 인가된 이미지의 특징을 추출하여 특징맵을 획득한다. 특징맵 추출부(121)는 일 예로 컨볼루션 네트워크(CNN)로 구현될 수 있으며, 인가된 이미지로부터 H × W의 크기로 chi 채널 수를 갖는 특징맵을 획득할 수 있다.
객체 검출부(122)는 특징맵 추출부(121)에서 획득된 특징맵을 인가받고, 미리 학습된 패턴 추정 방식에 따라 특징맵에서 적어도 하나의 객체 후보를 검출한다. 객체 검출부(122)는 일 예로 영역 제안 네트워크(Region Proposal Network: 이하 RPN)로 구현될 수 있다. RPN으로 구현되는 객체 검출부(122)는 인된 특징맵의 패턴으로부터 이미지에 포함된 객체 후보 개수(N)와 경계 박스(Bounding Box) 형태로 설정되는 객체 후보별 객체 위치 정보(t)를 추출할 수 있다. 여기서 객체 위치 정보(t)는 경계 박스의 4개의 모서리 위치에 대한 좌표값의 집합으로 구성될 수 있다.
관심 특징 추출부(123)는 특징맵 추출부(121)에서 획득된 특징맵을 인가받고, 객체 검출부(122)에서 추정된 객체 후보 개수(N) 및 객체 위치 정보(t)를 인가받아, 특징맵에서 각 객체 후보에 대한 관심 영역이 기지정된 크기(여기서는 일 예로 k × k)가 되도록 기지정된 방식으로 관심 영역 풀링(ROI Pooling)하여 객체 영역 특징맵(x)을 추출한다. 여기서 관심 영역 풀링은 특징맵에서 각 객체에대한 관심 영역의 크기를 기지정된 크기로 정규화함으로써, 후술하는 원통형 커널부(130)에서 객체에 대한 특징을 용이하게 추출할 수 있도록 한다. 관심 영역 풀링은 다양한 방식으로 수행될 수 있으며, 일 예로 샘플링 기법에 따라 수행될 수 있다.
이미지를 인가받아 이미지에 포함된 적어도 하나의 객체 각각 대한 객체 영역을 추출하는 전처리부(120)의 구성 및 각 구성의 동작은 기존의 객체 검출 장치에서도 적용되는 방식이므로 여기서는 상세한 설명을 생략한다.
원통형 커널부(130)는 미리 학습되어 커널 가중치가 적용된 원통형 커널(CK)을 포함하는 원통형 컨볼루션 네트워크로 구성된다. 원통형 커널부(130)는 전처리부(120)가 이미지로부터 추출한 적어도 하나의 객체에 대한 관심 영역 이미지인 객체 영역 특징맵(x)을 인가받고, 인가된 객체 영역 특징맵(x)을 원통형 커널(CK)의 기준 위치로부터 열 단위로 슬라이드 이동하며 컨볼루션 연산하여 출력 특징맵을 획득한다.
원통형 커널부(130)의 원통형 커널(CK)은 원통형 커널(CK)의 높이는 기지정된 크기로 ROI 풀링되어 입력되는 객체 영역 특징맵(x)의 높이(k)에 대응하여 k개의 행을 포함할 수 있다. 그리고 원통형 커널(CK)은 상기한 바와 같이, 기지정된 각도 단위로 객체 주변에서의 시점이 변화하면서 객체를 촬영하여 획득된 다수의 시점별 가중치 열을 포함하여 구성된다. 따라서 원통형 커널(CK)은 높이(k)에 대응하는 행 개수와 시점 개수(viewpoint bins)(Nv)에 대응하는 열 개수를 갖는 크기(k × Nv)의 커널로 구성될 수 있다.
상기한 바와 같이, 원통형 커널(CK)이 15°각도 단위로 객체를 촬영한 다수의 학습 데이터로 학습된 경우를 가정하면, 원통형 커널(CK)은 회전 각도 방향으로 1회전하는 동안 24(360 / 15 = 24)개의 시점 개수(Nv)에 대응하는 가중치 열을 포함하도록 구성될 수 있다.
다만, 본 실시예에 따른 원통형 커널(CK)은 도 1에 도시된 바와 같이, 원통형으로 구성되는 것으로 볼 수 있으나, 실제 원통형 컨볼루션 네트워크에서의 연산은 소프트웨어적으로 각종 연산기에 의해 수행되며, 원통형 커널(CK) 또한 메모리에 저장된다. 따라서 원통형 커널(CK)은 개념적으로는 도 1에 도시된 바와 같이, 원통형으로 구성되지만 실제 메모리에는 도 3에 도시된 바와 같이, 원통이 펼쳐진 2차원 평면 형태의 가중치 어레이로 구성되어 저장될 수 있다. 원통형 커널(CK)이 2차원 평면 형태로 펼쳐진 가중치 어레이 형태로 구성되는 경우, 펼쳐진 원통형 커널(CK)의 양측단은 서로 연결되는 것으로 볼 수 있다. 즉 원통형 커널(CK)은 360° 주기로 반복되도록 구성된 가중치 어레이로 볼 수 있다.
따라서 k × k 크기의 객체 영역 특징맵(x)을 원통형 커널(CK)을 따라 이동하며 컨볼루션 연산을 수행하는 경우, 펼쳐진 원통형 커널(CK)의 양측단에서는 k × k 크기의 객체 영역 특징맵(x)의 일부에 대응하는 가중치가 존재하지 않는다. 그러나 원통형 커널(CK)의 개념에 따라 타단의 가중치를 이용하여 컨볼루션 연산을 수행할 수 있다. 일 예로 도 3에 도시된 바와 같이, 5 × 5 크기의 객체 영역 특징맵(x)을 슬라이드하면서 펼쳐진 원통형 커널(CK)과 컨볼루션을 수행하는 경우, 객체 영역 특징맵(x)이 원통형 커널(CK)의 180°방향의 일측단으로 슬라이딩되면, 원통형 커널(CK)에는 5 × 5 크기의 객체 영역 특징맵(x)의 일측 2열과 연산되어야 하는 가중치가 존재하지 않는다. 이 경우, 본 실시예의 원통형 커널부(130)는 객체 영역 특징맵(x)의 일측 2열을 원통형 커널(CK)에서 -180°방향의 타측단의 2열에 배치된 가중치와 연산하여 컨볼루션 연산을 수행할 즉 있다. 즉 180° 일측단 이후, 165°와 150°에 해당하는 가중치를 객체 영역 특징맵(x)의 일측 2열과 연산할 수 있다.
또한 여기서는 원통형 커널(CK)이 단일 커널인 것으로 도시하였으나, 원통형 커널(CK)은 각각 대응하는 각도가 지정되고 객체 영역 특징맵(x)의 열 개수에 대응하는 열 개수를 갖는 다수의 가중치 어레이로 구성될 수도 있다. 일 예로 원통형 커널(CK)의 다수의 가중치 열이 서로 15°각도 단위 간격을 나타내는 경우, 다수의 가중치 어레이 각각은 5개의 열로 구성되는 객체 영역 특징맵(x)에 대응하여 0° ~ 75°범위의 각도에 대응하는 가중치 어레이와 15~ 90위의 각도에 대응하는 가중치 어레이 등과 같이 각도 범위 단위로 5개의 가중치 열을 포함하는 다수의 가중치 어레이로 구성될 수 있다. 이 경우에도, 원통형 커널(CK)의 특징에 따라 각 가중치 어레이의 가중치 열은 360° 주기로 반복되는 가중치를 갖도록 구성될 수 있다. 이와 같이, 원통형 커널(CK)이 각 각도에 대응하는 다수의 가중치 어레이로 구성되는 경우, 객체 영역 특징맵(x)은 다수의 가중치 어레이 각각과 컨볼루션 연산될 수 있다.
그리고 원통형 커널(CK)은 객체 영역 특징맵(x)의 채널 수(chi)와 출력되는 출력 특징맵의 채널 수(cho)에 대응하는 채널 수(chi × cho)를 가질 수 있다.
따라서 원통형 커널(CK)은 객체 영역 특징맵(x)의 높이(k)와 시점 개수(Nv)에 따른 크기(k × Nv) 및 채널 수(chi × cho)를 갖도록 구성될 수 있다.
다만, 경우에 따라서는 펼쳐진 원통형 커널(CK)의 양측단에 각각 타단측의 가중치를 추가로 배치함으로써, 로테이션되는 구조의 원통형 커널(CK)에 대한 연산을 더욱 단순화할 수 있다. 즉 180°방향의 일측단에 추가적으로 -180°방향의 타측단 방향에 배치된 기지정된 개수의 열을 추가 배치하고, -180°방향의 타측단에 180°방향의 일측단 방향에 배치된 기지정된 개수의 열을 추가 배치함으로써, 원통형 커널(CK)에 대해 객체 영역 특징맵(x)이 슬라이딩 이동되어 로테이션되는 연산을 단순화할 수 있다.
상기한 바와 같이 원통형 커널부(130)에서는 객체 영역 특징맵(x)이 원통형 커널(CK)을 따라 슬라이딩하며 이동되어 컨볼루션 연산이 수행된다. 따라서 원통형 커널부(130)의 원통형 커널(CK)은 특정 시점에 따른 시점별 컨볼루션 커널(Wv)의 조합으로 볼 수 있으며, 원통형 커널부(130)에서 수행되는 연산은 도 3에 도시된 바와 같이, 객체 영역 특징맵(x)과 다수의 시점 개수(NV) 중 특정 시점 위치(v)에서의 가중치(Wcyl) 사이의 컨볼루션 연산으로 볼 수 있다. 따라서 객체 영역 특징맵(x)과 원통형 커널(CK) 사이의 컨볼루션 연산에 따라 획득되는 시점별 특징 벡터(Fv)는 수학식 1과 같이 표현될 수 있다.
Figure pat00001
여기서 R은 객체 영역 특징맵(x)의 크기에 대응하는 k × k 크기의 윈도우를 나타내고, p는 윈도우 R 내의 위치를 나타내며, ov는 각 시점(v)에 대한 원통형 커널 가중치(Wclk)의 오프셋을 나타낸다.
원통형 커널부(130)는 시점 개수(NV)에 대응하는 횟수로 이동하며 시점별 특징 벡터(Fv)를 추출하여, 다수의 시점별 특징 벡터(Fv)로 구성되는 출력 특징맵을 획득한다. 상기에서 시점 개수(NV)가 24개인 것으로 가정하였으므로, 출력 특징맵은 24개의 시점별 특징 벡터(Fv)를 포함하여 구성될 수 있다. 그리고 다수의 시점별 특징 벡터(Fv) 각각은 출력 채널 길이(cho)의 벡터로 획득될 수 있다.
스코어 맵 획득부(140)는 원통형 커널부(130)로부터 출력 특징맵을 인가받고, 출력 특징맵의 다수의 시점별 특징 벡터(Fv)가 기지정된 다수의 객체 클래스(c) 및 시점(v) 각각에 대해 대응하는 수준을 추정하여 다수의 스코어 맵(score map)(Sv,c)을 생성한다. 스코어 맵 획득부(140)는 객체 클래스(c)별 가중치가 미리 학습된 인공 신경망으로 구현되어, 출력 특징맵의 다수의 시점별 특징 벡터(Fv)에 대해 기지정된 연산을 수행함으로써, 다수의 시점별 특징 벡터(Fv) 각각이 특정 시점(v)의 객체 클래스(c)에 대응하는 수준, 즉 확률을 나타내는 스코어 맵(Sv,c)을 획득한다. 스코어 맵 획득부(140)는 일 예로 다수의 시점별 특징 벡터(Fv)에 대해 컨볼루션 연산을 수행하는 다수의 컨볼루션 커널로 구현될 수도 있으나, 경우에 따라서는 다수의 완전 연결 레이어(Fully connected layer)로 구성될 수도 있다.
도 3을 참조하면, 다수의 스코어 맵(Sv,c)은 시점 개수(Nv)에 대응하는 시점별 특징 벡터(Fv)의 개수에 따라 시점 개수(Nv)만큼 획득될 수 있으며, 다수의 스코어 맵(Sv,c) 각각에는 기지정된 객체 클래스(c)의 개수(Nc)에 대응하는 개수의 객체 클래스 확률값이 포함될 수 있다. 도 3에서는 일 예로 객체 클래스(c)의 개수(Nc)가 8개인 것으로 가정하여, 다수의 스코어 맵(Sv,c) 각각에 8개의 객체 클래스 확률값이 바 그래프 형태로 표현되었으나, 객체 클래스(c)의 개수(Nc)는 다양하게 조절될 수 있다.
즉 다수의 스코어 맵(Sv,c) 각각은 특정 시점(v)에서 시점별 특징 벡터(Fv)가 기지정된 다수의 객체 클래스(c) 각각에 대응하는 확률을 나타낸다.
객체 및 시점 판별부(150)는 스코어 맵 획득부(140)에서 각 시점(v) 별로 획득된 다수의 스코어 맵(Sv,c)으로부터 이미지에 포함된 객체의 클래스(c)와 객체가 촬영된 시점(v)을 판별한다.
상기한 바와 같이, 다수의 스코어 맵(Sv,c) 각각이 특정 시점(v)에서 시점별 특징 벡터(Fv)가 기지정된 다수의 객체 클래스(c)에 대응하는 확률을 나타내므로, 객체 및 시점 판별부(150)는 다수의 스코어 맵(Sv,c)에서 최대 확률값을 갖는 객체 클래스(c)와 스코어 맵(Sv,c)을 탐색함으로써 이미지에 포함된 객체에 해당하는 객체 클래스(c)로 객체를 인식하고 스코어 맵(Sv,c)으로부터 시점(v)을 판별할 수 있다.
객체 및 시점 판별부(150)는 우선 다수의 스코어 맵(Sv,c)에 대해 소프트 맥스 연산(σ)을 수행하여 스코어 맵(Sv,c)을 정규화함으로써 시점 확률 분포(Pv,c = σ(Sv,c)) 를 획득한다.
그리고 수학식 2에 따라 각 시점별로 획득된 다수의 스코어 맵(Sv,c)으로부터 최종 클래스 스코어(Sc)를 계산하여 획득한다.
Figure pat00002
다만, 다수의 스코어 맵(Sv,c)은 시점 개수(Nv)에 따라 이산된 시점에서의 확률값으로 획득되게 된다. 다수의 스코어 맵(Sv,c)이 이산된 시점에서의 확률값으로 구성되므로, 객체 및 시점 판별부(150)는 기지정된 다스의 시점(v) 사이의 시점에서 촬영된 객체의 시점을 정확하게 예측할 수 없다. 즉 지정된 Nv 개의 시점으로만 판별하게 될 수 있다. 이에 이미지에 포함된 객체의 정확한 시점을 추정하기 위해 객체 및 시점 판별부(150)는 시누소이달 소프트-아규맥스(sinusoidal soft-argmax) 함수를 적용하여 정확한 객체 시점을 추정한다.
객체 및 시점 판별부(150)는 도 3에 도시된 바와 같은 각 시점 각도(iv)에 대한 시누소이달 함수를 적용하여 시점을 추정한다. 여기서는 원통형 커널(CK)이 15°단위로 Nv 개의 시점을 포함하는 것으로 가정하였으므로, 각 시점 각도(iv)는 ({-180°, -165°, …, 0°, 15°, …, 180°}, 여기서 -180°와 180°는 동일)이다. 그리고 수학식 2의 시점 확률 분포(Pv,c = σ(Sv,c))와 시누소이달 함수를 사용하여 연속 시점 구간에서의 객체의 정확한 시점(θc)을 수학식 3에 따라 추정할 수 있다.
Figure pat00003
여기서 객체 및 시점 판별부(150)가 시누소이달 함수를 사용하여 다수의 스코어 맵(Sv,c)의 이산된 시점을 연속 시점 구간으로 변환하여 추정하는 것은 객체의 정확한 시점을 추정할 뿐만 아니라 미분 가능한 구조로 변환하여 객체 인식 및 시점 추정장치의 학습이 가능하도록 하기 위함이다.
객체 위치 회귀부(160)는 판별된 객체 클래스(c)와 시점(θc)에 따라 객체의 더욱 정확한 위치를 추정하기 위해 경계 박스를 회귀시킨다. 객체 위치 회귀부(160) 또한 인공 신경망으로 구현될 수 있으며, 일 예로 컨볼루션 네트워크로 구현될 수 있다. 경계 위치 회귀부(160)는 미리 학습된 패턴 추정 방식에 따라 다수의 시점별 특징 벡터(Fv)로부터 객체 클래스(c) 및 시점(θc)에 대응하는 크기의 경계 상자 오프셋(tv,c)을 생성하여 전처리부(120)의 객체 검출부(122)가 추정한 객체 위치 정보(t)를 인코딩하여 객체 영역을 정확하게 지정하도록 경계 박스를 회귀 시킨다.
학습부(200)는 객체 인식 및 시점 추정장치의 학습 시에 구비되어, 객체 인식 및 시점 추정장치를 학습시킨다. 객체 인식 및 시점 추정장치의 학습 시 객체 클래스(c)와 경계 상자 정보(t) 및 시점(θ)이 미리 지정된 이미지가 학습 데이터로 이용된다.
학습부(200)는 학습 데이터의 이미지를 이미지 획득부(110)로 전달하고, 객체 및 시점 판별부(150)에서 판별된 객체 클래스(
Figure pat00004
)와 시점(
Figure pat00005
) 및 객체 위치 회귀부(160)에서 획득된 경계 상자 정보(
Figure pat00006
)를 인가받아 손실(L)을 수학식 4에 따라 계산하고, 계산된 손실(L)을 역전파하여 객체 인식 및 시점 추정장치를 학습시킨다.
Figure pat00007
수학식 4에서 []는 진실이면 1을 거짓이면 0을 출력하는 아이버슨(Iverson)함수이고, 객체 클래스(
Figure pat00008
)가 0인 경우, 경계 상자 손실(Lreg)과 시점 손실(Lview)은 무시된다. 시점이 포함(
Figure pat00009
≠0)된 학습 데이터를 이용하는 경우, 시점 손실(Lview)이 적용될 수 있으나, 시점이 포함되지 않은 학습 데이터를 이용하는 경우에, 시점 손실(Lview)은 생략될 수 있다. 그리고 클래스 손실(Lcls)은 크로스 엔트로피 기법에 따라 계산될 수 있으며, 경계 상자 손실(Lreg)과 시점 손실(Lview)은 L1 놈 함수로 계산될 수 있다.
추가적으로 학습부(200)는 좌우 대칭인 객체 클래스를 원통형 커널(CK)에 학습시키는 경우, 원통형 커널(CK)의 가중치(Wcyl)에 추가적인 제약 조건을 설정할 수 있다. 좌우 대칭인 객체 클래스를 학습시키는 경우, 원통형 커널(CK)의 가중치(Wcyl)는 전면에 해당하는 기준 각도(0°)에서의 전면 가중치(Wfront)와 후면에 해당하는 각도(180°)에서의 후면 가중치(Wrear)와 좌 각도 범위 및 우 각도 범위에 해당하는 좌 사이드 가중치(Wleft) 및 우 사이드 가중치(Wright)로 구분될 수 있다.
그리고 객체가 좌우 대칭인 경우 좌 사이드 가중치(Wleft)와 우 사이드 가중치(Wright)는 서로 수평 플립된 가중치를 가져야 하므로, 우 사이드 가중치(Wright)는 좌 사이드 가중치(Wleft)에 플립 함수(h)를 적용하여 Wright = h(Wleft)로 획득될 수 있다. 즉 학습부(200)는 학습 대상인 객체가 좌우 대칭인 경우, 좌 사이드 가중치(Wleft)와 우 사이드 가중치(Wright) 중 하나만 학습으로 획득하고 나머지는 플립 함수를 이용하여 획득할 수 있다. 이는 학습부(200)의 메모리 용량을 크게 줄일 수 있을 뿐만 아니라, 연산량을 줄여 효율적으로 객체 인식 및 시점 추정장치를 학습시킬 수 있다.
도 4는 본 발명의 일 실시예에 따른 객체 인식 및 시점 추정방법을 나타낸다.
도 1 내지 도 3을 참조하여, 도 4의 객체 인식 및 시점 추정방법을 설명하면, 우선 인식되어야 하는 적어도 하나의 객체가 포함된 이미지를 획득한다(S11). 그리고 획득된 이미지에 대해 기지정된 전처리를 수행한다(S12). 전처리 단계에서는 우선 컨볼루션 네트워크를 이용하여 획득된 이미지의 패턴으로부터 특징을 추출하여 특징맵을 생성한다. 그리고 영역 제안 네트워크(RPN)등을 이용하여 특징맵에서 객체 후보 개수(N)와 경계 박스 형태로 설정되는 객체 후보별 객체 위치 정보(t)를 추출한다. 또한 객체 후보별 객체 위치 정보(t) 각각을 인공 신경망을 이용하여 ROI 풀링하여 정규화함으로써 객체 영역 특징맵(x)을 추출한다.
이미지를 전처리하여 이미지에 포함된 각 객체에 대한 객체 영역 특징맵(x)이 추출되면, 객체에 대한 가중치가 시점 각도별로 열 단위로 설정되고 360도 단위로 반복되는 원통형 커널에 객체 영역 특징맵(x)을 슬라이드하면서 컨볼루션 연산을 수행하여 수학식 1에 따라 획득되는 다수의 시점별 특징 벡터(Fv)로 구성된 출력 특징맵을 획득한다(S13). 그리고 인공 신경망을 이용하여 다수의 시점별 특징 벡터(Fv) 각각이 각 시점(v)의 다수의 객체 클래스(c)에 대응하는 확률을 나타내는 다수의 스코어 맵(Sv,c)을 획득한다(S14).
다수의 스코어 맵(Sv,c)이 획득되면, 다수의 스코어 맵(Sv,c)에서 대응하는 객체 클래스(c)들에 대한 스코어의 합에 따라 객체 클래스를 판별한다(S15). 이때, 다수의 스코어 맵(Sv,c)에 대해 소프트 맥스 연산(σ)을 수행하여 스코어 맵(Sv,c)을 정규화함으로써 시점 확률 분포(Pv,c)를 획득하고, 획득된 시점 확률 분포(Pv,c)를 계산하고, 계산된 시점 확률 분포(Pv,c)와 스코어 맵(Sv,c)을 이용하여 수학식 2에 따라 최종 클래스 스코어(Sc)를 계산하여 객체의 클래스(c)를 판별할 수 있다.
이후 다수의 스코어 맵(Sv,c)과 판별된 객체의 클래스(c)에 따라 이미지에 포함된 객체가 촬영된 시점(θc)을 판별한다(S16). 이때, 객체 시점(θc)은 시점 확률 분포(Pv,c)와 함께 학습 시에 지정된 시점 각도(iv)에 시누소이달 함수를 적용하여 수학식 3에 따라 계산될 수 있다. 그리고 인공 신경망을 이용하여 판별된 클래스(c)와 객체 시점(θc)에 대응하도록 객체 위치 정보(t)의 객체 경계 박스를 조절한다(S17).
이때, 이미지에 포함된 객체가 다수개인 경우, 이미지에 포함된 모든 객체에 대한 클래스(c)와 시점(θc) 및 객체 경계 박스가 추출될 때까지 원통형 커널 연산 단계(S13)부터 반복하여 수행할 수 있다.
이미지 내의 특정 객체에 대한 클래스(c)와 시점(θc)이 판별되고, 객체 경계 박스가 조절되면, 현재 상태가 학습 상태인지 판별한다(S18). 만일 학습 상태인 것으로 판별되면, 획득된 클래스(c)와 시점(θc) 및 경계 박스를 학습 데이터로 획득된 이미지에 미리 지정된 클래스(c)와 시점(θc) 및 경계 박스와 비교하여 손실(L)을 수학식 4에 따라 계산하고, 계산된 손실을 역전파하여 학습을 수행한다(S19). 이때 학습은 기지정된 횟수로 반복되거나 손실(L)이 기지정된 기준 손실 이하가 될 때까지 반복될 수 있다.
도 5 및 도 6은 본 실시예에 따른 객체 인식 및 시점 추정방법을 이용하여 객체 인식 및 시점 추정 결과의 일 예를 나타낸다.
도 5는 Pascal3D+ 데이터 셋에 대한 객체 인식 및 시점 추정 결과를 나타내고, 도 6은 KITTI 데이터 셋에 대한 객체 인식 및 시점 추정 결과를 나타낸다.
도 5에 도시된 바와 같이, 본 실시예에 따른 객체 인식 및 시점 추정방법의 경우, 다양한 시점에서 촬영된 다양한 객체에 대해 정확하게 검출하여 객체에 대한 경계 박스를 설정할 수 있을 뿐만 아니라, 객체가 촬영된 시점을 정확하게 추정할 수 있다. 또한 도 6을 참조하면, 본 실시예에 따른 객체 인식 및 시점 추정방법은 서로 다른 스케일의 다수의 객체가 포함된 이미지에서도 정확하게 객체를 검출하여 경계 박스를 설정할 수 있을 뿐만 아니라, 각 객체에 대한 시점을 정확하게 추정할 수 있음을 알 수 있다.
본 발명에 따른 방법은 컴퓨터에서 실행시키기 위한 매체에 저장된 컴퓨터 프로그램으로 구현될 수 있다. 여기서 컴퓨터 판독가능 매체는 컴퓨터에 의해 액세스 될 수 있는 임의의 가용 매체일 수 있고, 또한 컴퓨터 저장 매체를 모두 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함하며, ROM(판독 전용 메모리), RAM(랜덤 액세스 메모리), CD(컴팩트 디스크)-ROM, DVD(디지털 비디오 디스크)-ROM, 자기 테이프, 플로피 디스크, 광데이터 저장장치 등을 포함할 수 있다.
본 발명은 도면에 도시된 실시예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다.
따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 청구범위의 기술적 사상에 의해 정해져야 할 것이다.
110: 이미지 획득부 120: 전처리부
121: 특징맵 추출부 122: 객체 검출부
123: 관심 특징 추출부 130: 원통형 커널부
140: 스코어 맵 획득부 150: 객체 및 시점 판별부
160: 객체 위치 회귀부 200: 학습부

Claims (20)

  1. 기지정된 각도 단위 간격에 대응하는 다수의 가중치 열(column)이 360도 단위로 주기적으로 반복되는 구조를 갖는 원통형 커널을 포함하고,
    기지정된 크기의 입력 이미지가 인가되면, 상기 입력 이미지와 상기 원통형 커널의 다수의 가중치 열 중 기지정된 크기의 각도 범위에 대응하는 개수의 가중치 열을 컨볼루션 연산을 수행하여, 각 각도 단위 간격에 따른 다수의 시점별 특징 벡터를 추출하는 원통형 컨볼루션 네트워크 연산 장치.
  2. 제1항에 있어서, 상기 원통형 커널은
    미리 지정된 객체의 여러 시점별 특징이 추출되도록, 학습 시에 상기 객체에 대해 기지정된 각도 단위 간격 각각 대응하는 시점에서 촬영된 다수의 이미지를 이용하여 상기 다수의 가중치 열의 가중치가 획득된 원통형 컨볼루션 네트워크 연산 장치.
  3. 제1항에 있어서, 상기 원통형 커널은
    대응하는 각도에 따라 360도 주기로 반복되는 구조의 상기 다수의 가중치 열 중 기지정된 각도에 대응하는 가중치 열이 단절되어 펼쳐진 2차원 구조의 가중치 어레이로 저장되는 원통형 컨볼루션 네트워크 연산 장치.
  4. 제3항에 있어서, 상기 원통형 커널은
    각 각도에 대응하는 가중치 열을 기준으로 인접한 기정된 개수의 가중치 열이 결합된 다수의 가중치 어레이로 저장되는 원통형 컨볼루션 네트워크 연산 장치.
  5. 제3항에 있어서, 상기 원통형 컨볼루션 네트워크 연산 장치는
    상기 원통형 커널에서 기지정된 기준 각도에 대응하는 가중치 열로부터 상기 입력 이미지를 적어도 일측 방향으로 열 단위로 이동시키면서 컨볼루션 연산을 수행하며, 상기 입력 이미지가 2차원 구조로 펼쳐진 원통형 커널의 일측단으로 이동되면, 360도 주기로 반복되는 구조의 가중치 어레이의 타측단과 컨볼루션 연산을 수행하는 원통형 컨볼루션 네트워크 연산 장치.
  6. 제3항에 있어서, 상기 가중치 어레이는
    360도 주기로 반복되는 구조에 따라 양측단에 서로 상대 측단의 인접한 기지정된 개수의 가중치 열이 추가로 배치되는 원통형 컨볼루션 네트워크 연산 장치.
  7. 적어도 하나의 객체가 포함된 입력 이미지를 인가받아, 상기 입력 이미지 내에서 적어도 하나의 객체 각각의 영역인 객체 영역 특징맵을 추출하는 전처리부;
    기지정된 각도 단위 간격에 대응하는 다수의 가중치 열이 360도 단위로 주기적으로 반복되는 구조를 갖는 원통형 커널을 포함하여, 상기 객체 영역 특징맵과 상기 원통형 커널의 다수의 가중치 열 중 기지정된 크기의 각도 범위에 대응하는 개수의 가중치 열을 컨볼루션 연산을 수행하여, 각 각도 단위 간격에 따른 다수의 시점별 특징 벡터를 추출하는 원통형 커널부;
    다수의 객체 클래스 및 다수의 객체별 시점의 패턴이 학습된 인공 신경망을 이용하여 상기 다수의 시점별 특징 벡터 각각에 대한 객체 클래스별 신뢰도 스코어를 추출하여 다수의 스코어 맵을 획득하는 스코어 맵 획득부; 및
    상기 다수의 시점별 특징 벡터 각각에 대응하여 시점별로 획득된 상기 다수의 스코어 맵을 분석하여 객체 영역에 포함된 객체의 클래스와 시점을 판별하는 객체 및 시점 판별부를 포함하는 객체 인식 및 시점 추정장치.
  8. 제7항에 있어서, 상기 원통형 커널은
    대응하는 각도에 따라 360도 주기로 반복되는 구조의 상기 다수의 가중치 열 중 기지정된 각도에 대응하는 가중치 열이 단절되어 펼쳐진 2차원 구조의 가중치 어레이로 저장되는 객체 인식 및 시점 추정장치.
  9. 제7항에 있어서, 상기 전처리부는
    패턴 추정 방식이 미리 학습된 인공 신경망으로 구현되어 상기 입력 이미지의 특징을 추출하여 특징맵을 획득하는 특징맵 추출부;
    패턴 추정 방식이 미리 학습된 인공 신경망으로 구현되어 상기 특징맵에서 객체를 검출하고, 검출된 객체 각각이 포함된 영역을 경계 박스 형태로 추출하여 객체 위치 정보를 획득하는 객체 검출부; 및
    검출된 객체 각각에 대한 객체 위치 정보를 인가받아 상기 특징맵에서 각 객체별 영역을 기지정된 크기로 정규화하는 관심 특징 추출부를 포함하는 객체 인식 및 시점 추정장치.
  10. 제9항에 있어서, 상기 객체 및 시점 판별부는
    상기 다수의 스코어 맵에 대해 소프트 맥스 연산을 수행하여 상기 다수의 스코어 맵을 정규화함으로써, 각 클래스 및 시점별 시점 확률 분포를 획득하고, 상기 다수의 스코어 맵 각각에 대응하는 시점 확률 분포를 가중 누적하여 최종 클래스 스코어를 획득하여 객체를 인식하는 객체 인식 및 시점 추정장치.
  11. 제10항에 있어서, 상기 객체 및 시점 판별부는
    상기 최종 클래스 스코어(Sc)를 수학식
    Figure pat00010

    (여기서 Nv 는 원통형 커널의 시점 개수로 가중치 열 개수이며, Sv,c 는 스코어 맵이며, P v,c 는 클래스 및 시점별 시점 확률 분포로서 소프트 맥스 함수(σ)를 이용하여 (Pv,c = σ(Sv,c))로 획득된다.)
    에 따라 획득하고,
    상기 시점 확률 분포와 함께 상기 원통형 커널의 다수의 가중치 열 각각에 지정된 시점 각도(iv)에 시누소이달(sinusoidal) 함수를 적용하여 객체의 시점(θc)을 수학식
    Figure pat00011

    에 따라 판별하는 객체 인식 및 시점 추정장치.
  12. 제9항에 있어서, 상기 객체 인식 및 시점 추정장치는
    패턴 추정 방식이 미리 학습된 인공 신경망을 이용하여 판별된 객체 클래스와 시점에 대응하여 상기 전처리부에서 획득된 객체 위치 정보를 조절하여 경계 박스를 회귀시키는 객체 위치 회귀부를 더 포함하는 객체 인식 및 시점 추정장치.
  13. 제12항에 있어서, 상기 객체 인식 및 시점 추정장치는
    학습을 수행하기 위한 학습부를 더 포함하고,
    상기 학습부는
    객체 클래스(c)와 경계 상자 정보(t) 및 시점(θ)이 미리 지정된 이미지를 학습 데이터로 획득하여, 이미지를 상기 입력 이미지로 인가하고, 인가된 입력 이미지로부터 판별된 객체 클래스(
    Figure pat00012
    )와 시점(
    Figure pat00013
    ) 및 경계 상자 정보(
    Figure pat00014
    )를 학습 데이터에 지정된 객체 클래스(c)와 경계 상자 정보(t) 및 시점(θ)과 비교하여 손실을 계산 및 역전파하는 객체 인식 및 시점 추정장치.
  14. 적어도 하나의 객체가 포함된 입력 이미지를 인가받아, 상기 입력 이미지 내에서 적어도 하나의 객체 각각의 영역인 객체 영역 특징맵을 추출하는 단계;
    기지정된 각도 단위 간격에 대응하는 다수의 가중치 열이 360도 단위로 주기적으로 반복되는 구조를 갖는 원통형 커널을 포함하여, 상기 객체 영역 특징맵과 상기 원통형 커널의 다수의 가중치 열 중 기지정된 크기의 각도 범위에 대응하는 개수의 가중치 열을 컨볼루션 연산을 수행하여, 각 각도 단위 간격에 따른 다수의 시점별 특징 벡터를 추출하는 단계;
    다수의 객체 클래스 및 다수의 객체별 시점의 패턴이 학습된 인공 신경망을 이용하여 상기 다수의 시점별 특징 벡터 각각에 대한 객체 클래스별 신뢰도 스코어를 추출하여 다수의 스코어 맵을 획득하는 단계; 및
    상기 다수의 시점별 특징 벡터 각각에 대응하여 시점별로 획득된 상기 다수의 스코어 맵을 분석하여 객체 영역에 포함된 객체의 클래스와 시점을 판별하는 단계를 포함하는 객체 인식 및 시점 추정방법.
  15. 제14항에 있어서, 상기 원통형 커널은
    대응하는 각도에 따라 360도 주기로 반복되는 구조의 상기 다수의 가중치 열 중 기지정된 각도에 대응하는 가중치 열이 단절되어 펼쳐진 2차원 구조의 가중치 어레이로 저장되는 객체 인식 및 시점 추정방법.
  16. 제14항에 있어서, 상기 객체 영역 특징맵을 추출하는 단계는
    패턴 추정 방식이 미리 학습된 인공 신경망으로 구현되어 상기 입력 이미지의 특징을 추출하여 특징맵을 획득하는 단계;
    패턴 추정 방식이 미리 학습된 인공 신경망으로 구현되어 상기 특징맵에서 객체를 검출하고, 검출된 객체 각각이 포함된 영역을 경계 박스 형태로 추출하여 객체 위치 정보를 획득하는 단계; 및
    검출된 객체 각각에 대한 객체 위치 정보를 인가받아 상기 특징맵에서 각 객체별 영역을 기지정된 크기로 정규화하는 단계를 포함하는 객체 인식 및 시점 추정방법.
  17. 제16항에 있어서, 상기 객체의 클래스와 시점을 판별하는 단계는
    상기 다수의 스코어 맵에 대해 소프트 맥스 연산을 수행하여 상기 다수의 스코어 맵을 정규화함으로써, 각 클래스 및 시점별 시점 확률 분포를 획득하는 단계;
    상기 다수의 스코어 맵 각각에 대응하는 시점 확률 분포를 가중 누적하여 최종 클래스 스코어를 획득하여 객체를 인식하는 단계; 및
    상기 시점 확률 분포와 함께 상기 원통형 커널의 다수의 가중치 열 각각에 지정된 시점 각도에 시누소이달(sinusoidal) 함수를 적용하여 객체의 시점을 판별하는 단계를 포함하는 객체 인식 및 시점 추정방법.
  18. 제17항에 있어서, 상기 객체를 인식하는 단계는
    상기 최종 클래스 스코어(Sc)를 수학식
    Figure pat00015

    (여기서 Nv 는 원통형 커널의 시점 개수로 가중치 열 개수이며, Sv,c 는 스코어 맵이며, P v,c 는 클래스 및 시점별 시점 확률 분포로서 소프트 맥스 함수(σ)를 이용하여 (Pv,c = σ(Sv,c))로 획득된다.)
    에 따라 획득하고,
    상기 객체의 시점을 판별하는 단계는
    상기 객체의 시점(θc)을 수학식
    Figure pat00016

    (여기서 iv 는 다수의 가중치 열 각각에 지정된 시점 각도)
    에 따라 판별하는 객체 인식 및 시점 추정방법.
  19. 제16항에 있어서, 상기 객체 인식 및 시점 추정방법은
    패턴 추정 방식이 미리 학습된 인공 신경망을 이용하여 판별된 객체 클래스와 시점에 대응하여 상기 객체 영역 특징맵을 추출하는 단계에서 획득된 객체 위치 정보를 조절하여 경계 박스를 회귀시키는 단계를 더 포함하는 객체 인식 및 시점 추정방법.
  20. 제19항에 있어서, 상기 객체 인식 및 시점 추정방법은
    학습 단계를 더 포함하고,
    상기 학습 단계는
    객체 클래스(c)와 경계 상자 정보(t) 및 시점(θ)이 미리 지정된 이미지를 학습 데이터로 획득하여, 이미지를 상기 입력 이미지로 인가하는 단계; 및
    인가된 입력 이미지로부터 판별된 객체 클래스(
    Figure pat00017
    )와 시점(
    Figure pat00018
    ) 및 경계 상자 정보(
    Figure pat00019
    )를 학습 데이터에 지정된 객체 클래스(c)와 경계 상자 정보(t) 및 시점(θ)과 비교하여 손실을 계산 및 역전파하는 단계를 포함하는 객체 인식 및 시점 추정방법.
KR1020200101612A 2020-08-13 2020-08-13 원통형 컨볼루션 네트워크 연산 장치와 이를 이용한 객체 인식 및 시점 추정장치 및 방법 KR102517054B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020200101612A KR102517054B1 (ko) 2020-08-13 2020-08-13 원통형 컨볼루션 네트워크 연산 장치와 이를 이용한 객체 인식 및 시점 추정장치 및 방법
PCT/KR2020/095103 WO2022034999A1 (ko) 2020-08-13 2020-08-14 원통형 컨볼루션 네트워크 연산 장치와 이를 이용한 객체 인식 및 시점 추정장치 및 방법
US17/468,948 US20220051433A1 (en) 2020-08-13 2021-09-08 Apparatus for performing cylindrical convolutional neural network operation and apparatus and method for object recognition and viewpoint estimation using the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200101612A KR102517054B1 (ko) 2020-08-13 2020-08-13 원통형 컨볼루션 네트워크 연산 장치와 이를 이용한 객체 인식 및 시점 추정장치 및 방법

Publications (2)

Publication Number Publication Date
KR20220021154A true KR20220021154A (ko) 2022-02-22
KR102517054B1 KR102517054B1 (ko) 2023-03-31

Family

ID=80247012

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200101612A KR102517054B1 (ko) 2020-08-13 2020-08-13 원통형 컨볼루션 네트워크 연산 장치와 이를 이용한 객체 인식 및 시점 추정장치 및 방법

Country Status (2)

Country Link
KR (1) KR102517054B1 (ko)
WO (1) WO2022034999A1 (ko)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102029852B1 (ko) 2019-04-09 2019-10-08 세종대학교 산학협력단 환경에 따라 신경망 모델을 선택하는 객체 인식 장치 및 그 방법
KR20200008637A (ko) * 2017-07-04 2020-01-28 엘지전자 주식회사 360도 비디오의 영역 기반 처리 방법 및 장치
KR20200062258A (ko) * 2017-10-23 2020-06-03 엘지전자 주식회사 360도 비디오에 대한 영상 코딩 시스템에서 회전 파라미터를 사용한 영상 디코딩 방법 및 장치
KR20200092510A (ko) * 2019-01-15 2020-08-04 포항공과대학교 산학협력단 동적으로 3d cnn을 이용하는 고속 영상 인식 방법 및 장치

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006075528A1 (ja) * 2005-01-13 2006-07-20 National University Corporation NARA Institute of Science and Technology 3次元オブジェクト計測装置
KR101413393B1 (ko) * 2014-02-25 2014-06-27 송승욱 3차원 모델링을 위한 촬상장치 및 그 제어방법
US10902588B2 (en) * 2018-08-13 2021-01-26 International Business Machines Corporation Anatomical segmentation identifying modes and viewpoints with deep learning across modalities
KR102263017B1 (ko) * 2019-01-15 2021-06-08 포항공과대학교 산학협력단 3d cnn을 이용한 고속 영상 인식 방법 및 장치

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200008637A (ko) * 2017-07-04 2020-01-28 엘지전자 주식회사 360도 비디오의 영역 기반 처리 방법 및 장치
KR20200062258A (ko) * 2017-10-23 2020-06-03 엘지전자 주식회사 360도 비디오에 대한 영상 코딩 시스템에서 회전 파라미터를 사용한 영상 디코딩 방법 및 장치
KR20200092510A (ko) * 2019-01-15 2020-08-04 포항공과대학교 산학협력단 동적으로 3d cnn을 이용하는 고속 영상 인식 방법 및 장치
KR102029852B1 (ko) 2019-04-09 2019-10-08 세종대학교 산학협력단 환경에 따라 신경망 모델을 선택하는 객체 인식 장치 및 그 방법

Also Published As

Publication number Publication date
KR102517054B1 (ko) 2023-03-31
WO2022034999A1 (ko) 2022-02-17

Similar Documents

Publication Publication Date Title
EP3128496B1 (en) Vehicle identification method and system
Kuo et al. How does person identity recognition help multi-person tracking?
Wojek et al. Multi-cue onboard pedestrian detection
US7729512B2 (en) Stereo image processing to detect moving objects
CN107067413B (zh) 一种时空域统计匹配局部特征的运动目标检测方法
US7702019B2 (en) Moving object detection device and moving object detection method
CN104200495B (zh) 一种视频监控中的多目标跟踪方法
Leibe et al. An implicit shape model for combined object categorization and segmentation
CN103699905B (zh) 一种车牌定位方法及装置
EP2273424A1 (en) Automated target detection and recognition system and method
KR102261880B1 (ko) 딥러닝 기반 비대면 안면 인식 서비스 제공 방법, 장치 및 시스템
CN115240130A (zh) 一种行人多目标跟踪方法、装置和计算机可读存储介质
US20220051433A1 (en) Apparatus for performing cylindrical convolutional neural network operation and apparatus and method for object recognition and viewpoint estimation using the same
US20200311488A1 (en) Subject recognizing method and apparatus
US20220366570A1 (en) Object tracking device and object tracking method
CN112668374A (zh) 图像处理方法、装置、重识别网络的训练方法及电子设备
Baltieri et al. 3D Body Model Construction and Matching for Real Time People Re-Identification.
CN113793362B (zh) 基于多镜头视频的行人轨迹提取方法和装置
KR20020057522A (ko) 상관관계를 이용한 유사도 측정의 얼굴 인증 방법
CN116912763A (zh) 一种融合步态人脸模态的多行人重识别方法
Guo et al. Action change detection in video by covariance matching of silhouette tunnels
KR102517054B1 (ko) 원통형 컨볼루션 네트워크 연산 장치와 이를 이용한 객체 인식 및 시점 추정장치 및 방법
CN115767424A (zh) 一种基于rss与csi融合的视频定位方法
Lin et al. Incorporating appearance and edge features for vehicle detection in the blind-spot area
CN111814624B (zh) 视频中行人步态识别训练方法、步态识别方法及存储装置

Legal Events

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