KR101942173B1 - 랜덤한 트리 cnn에 기반한 영상 분석 방법 및 포레스트 cnn에 기반한 영상 분석 방법 - Google Patents

랜덤한 트리 cnn에 기반한 영상 분석 방법 및 포레스트 cnn에 기반한 영상 분석 방법 Download PDF

Info

Publication number
KR101942173B1
KR101942173B1 KR1020170009869A KR20170009869A KR101942173B1 KR 101942173 B1 KR101942173 B1 KR 101942173B1 KR 1020170009869 A KR1020170009869 A KR 1020170009869A KR 20170009869 A KR20170009869 A KR 20170009869A KR 101942173 B1 KR101942173 B1 KR 101942173B1
Authority
KR
South Korea
Prior art keywords
cnn
node
tree
child
subset
Prior art date
Application number
KR1020170009869A
Other languages
English (en)
Other versions
KR20180086021A (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 KR1020170009869A priority Critical patent/KR101942173B1/ko
Publication of KR20180086021A publication Critical patent/KR20180086021A/ko
Application granted granted Critical
Publication of KR101942173B1 publication Critical patent/KR101942173B1/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/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • 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
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • G06V10/443Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
    • G06V10/449Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters
    • G06V10/451Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters with interaction between the filter responses, e.g. cortical complex cells
    • G06V10/454Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]

Landscapes

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

Abstract

랜덤한 트리 CNN에 기반한 영상 분석 방법은 컴퓨터 장치가 하나의 노드가 CNN(Convolutional Neural Network)에 해당하는 트리의 루트 노드에 소스 영상을 입력하는 단계, 상기 컴퓨터 장치가 상기 트리의 어느 하나의 노드의 CNN에서 상기 소스 영상을 분류하여 상기 어느 하나의 노드의 자식 노드로 상기 소스 영상을 전달하는 단계 및 상기 컴퓨터 장치가 상기 소스 영상이 최종적으로 전달되는 말단 노드의 CNN을 이용하여 상기 소스 영상을 분류하는 단계를 포함한다. 상기 트리는 상기 루트 노드에 속한 CNN을 시작으로 샘플 영상을 사전에 학습하면서 랜덤하게 분기되고, 상기 트리에서 자식 노드의 CNN은 상기 자식 노드의 부모 노드의 CNN이 학습한 샘플 영상 집합의 부분 집합을 이용하여 학습한다. 나아가 복수의 트리 CNN를 포함하는 포레스트 CNN를 사용하여 다수결의 원칙에 따라 영상 분석을 할 수도 있다.

Description

랜덤한 트리 CNN에 기반한 영상 분석 방법 및 포레스트 CNN에 기반한 영상 분석 방법{IMAGE ANALYZING METHOD BASED ON RANDOM TREE CNN AND IMAGE ANALYZING METHOD BASED ON FOREST CNN}
이하 설명하는 기술은 CNN에 기반한 영상 분석 기법에 관한 것이다.
최근 기계학습기법을 이용한 다양한 분석 기법이 등장하고 있다. 특히 영상 분야에서는 CNN(Convolutional Neural Network)을 이용한 영상 인식에 대한 연구가 활발하다. 영상분류 문제에서 서로 다른 클래스에 속한 비슷한 영상이 다수 존재하며 그에 따라 단일모델만을 사용하는 경우 영상분류 성능의 저하가 발생할 수 있다. 따라서 혼동률이 높은 클래스의 인식 성능을 개선하는 프레임워크를 제안하는 연구가 진행되고 있다.
Geoffrey Hinton, Oriol Vinyals, Jeff Dean, "Distilling the knowledge in a neural network," arXiv preprint arXiv:1503.02531, 2015.
이하 설명하는 기술은 샘플 영상을 학습하여 랜덤한 구조를 갖는 트리 CNN을 이용하여 영상을 분석하는 기법을 제공하고자 한다.
랜덤한 트리 CNN에 기반한 영상 분석 방법은 컴퓨터 장치가 하나의 노드가 CNN(Convolutional Neural Network)에 해당하는 트리의 루트 노드에 소스 영상을 입력하는 단계, 상기 컴퓨터 장치가 상기 트리의 어느 하나의 노드의 CNN에서 상기 소스 영상을 분류하여 상기 어느 하나의 노드의 자식 노드로 상기 소스 영상을 전달하는 단계 및 상기 컴퓨터 장치가 상기 소스 영상이 최종적으로 전달되는 말단 노드의 CNN을 이용하여 상기 소스 영상을 분석하는 단계를 포함한다. 상기 트리는 상기 루트 노드에 속한 CNN을 시작으로 샘플 영상을 사전에 학습하면서 랜덤하게 분기되고, 상기 트리에서 자식 노드의 CNN은 상기 자식 노드의 부모 노드의 CNN이 학습한 샘플 영상 집합의 부분 집합을 이용하여 학습한다.
포레스트 CNN에 기반한 영상 분석 방법은 컴퓨터 장치가 하나의 노드가 CNN(Convolutional Neural Network)에 해당하는 복수의 트리의 루트 노드 각각에 소스 영상을 입력하는 단계, 상기 컴퓨터 장치가 상기 복수의 트리 각각에서 어느 하나의 노드의 CNN에서 상기 소스 영상을 분류하여 상기 어느 하나의 노드의 자식 노드로 상기 소스 영상을 전달하는 단계, 상기 컴퓨터 장치가 상기 복수의 트리 각각에서 상기 소스 영상이 최종적으로 전달되는 말단 노드의 CNN을 이용하여 상기 소스 영상을 분석하는 단계 및 상기 컴퓨터 장치가 상기 복수의 트리에서 상기 소스 영상을 분석한 결과값 중 가장 많은 분석 결과값을 선택하는 단계를 포함한다.
이하 설명하는 기술은 트리 CNN에서 분류 정확도에 따라 노드를 분기하여 보다 정확한 영상 분석이 가능하다. 나아가 이하 설명하는 기술은 포레스트 CNN을 이용하여 보다 개선된 성능을 제공할 수 있다.
도 1은 트리 CNN 구조를 도시한 예이다.
도 2는 혼동 매트릭스에 대한 예이다.
도 3은 CNN 구조에 대한 예이다.
도 4는 랜덤한 트리 CNN에 기반한 영상 분석 방법에 대한 순서도의 예이다.
도 5는 포레스트 CNN 구조를 도시한 예이다.
이하 설명하는 기술은 다양한 변경을 가할 수 있고 여러 가지 실시례를 가질 수 있는 바, 특정 실시례들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나, 이는 이하 설명하는 기술을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 이하 설명하는 기술의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 해당 구성요소들은 상기 용어들에 의해 한정되지는 않으며, 단지 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 이하 설명하는 기술의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
본 명세서에서 사용되는 용어에서 단수의 표현은 문맥상 명백하게 다르게 해석되지 않는 한 복수의 표현을 포함하는 것으로 이해되어야 하고, "포함한다" 등의 용어는 설시된 특징, 개수, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 의미하는 것이지, 하나 또는 그 이상의 다른 특징들이나 개수, 단계 동작 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 배제하지 않는 것으로 이해되어야 한다.
도면에 대한 상세한 설명을 하기에 앞서, 본 명세서에서의 구성부들에 대한 구분은 각 구성부가 담당하는 주기능 별로 구분한 것에 불과함을 명확히 하고자 한다. 즉, 이하에서 설명할 2개 이상의 구성부가 하나의 구성부로 합쳐지거나 또는 하나의 구성부가 보다 세분화된 기능별로 2개 이상으로 분화되어 구비될 수도 있다. 그리고 이하에서 설명할 구성부 각각은 자신이 담당하는 주기능 이외에도 다른 구성부가 담당하는 기능 중 일부 또는 전부의 기능을 추가적으로 수행할 수도 있으며, 구성부 각각이 담당하는 주기능 중 일부 기능이 다른 구성부에 의해 전담되어 수행될 수도 있음은 물론이다.
또, 방법 또는 동작 방법을 수행함에 있어서, 상기 방법을 이루는 각 과정들은 문맥상 명백하게 특정 순서를 기재하지 않은 이상 명기된 순서와 다르게 일어날 수 있다. 즉, 각 과정들은 명기된 순서와 동일하게 일어날 수도 있고 실질적으로 동시에 수행될 수도 있으며 반대의 순서대로 수행될 수도 있다.
CNN은 컴퓨터 비전에서 영상 인식 문제를 해결하는 데 널리 사용되고 있는 기법 중 하나이다. CNN은 다 배열 형태의 데이터를 처리하기 위해 고안되었다. 예를 들어, 컬러 이미지와 같은 3개의 2차원 배열로 구성된 데이터를 처리하는데 적합하다. 영상분류 문제에서 서로 다른 클래스에 속한 비슷한 영상이 다수 존재하며 그에 따라 단일모델만을 사용하는 경우 영상분류 성능의 저하가 발생할 수 있다. 따라서 혼동률이 높은 클래스의 인식 성능을 개선하는 프레임워크를 제안하는 연구가 진행되고 있다. 이하 설명하는 기술은 영상 분류 성능을 높이기 위하여 트리 CNN을 이용한다. 이하 컴퓨터 장치가 트리 CNN을 사전에 구성하고, 트리 CNN을 이용하여 영상을 분류한다고 설명한다. 컴퓨터 장치는 스마트 기기, 영상 처리를 위한 PC, 네트워크에 연결되는 서버 등을 포함한다.
트리 CNN은 하나의 노드가 CNN을 포함하는 트리 구조를 말한다. 도 1은 트리 CNN 구조를 도시한 예이다. 도 1은 하나의 노드가 2개의 자식 노드로 분기하는 이진 트리 구조를 도시한 예이다. 이하 기본적으로 이진 트리 구조를 기준으로 설명한다. 트리 CNN은 하나의 루트 노드 Nroot에서 분기되는 두 개의 자식 노드(SL root, SR root)를 포함한다. 또 트리 CNN은 복수의 말단 노드 Nleaf를 포함한다.
트리 CNN에서 각 노드는 CNN 모델 h와 영상분류의 예측 모델인 혼동 매트릭스 M를 포함한다. 도 1에서 루트 노트 Nroot는 CNN 모델 hroot 및 혼동 매트릭스 Mroot를 포함한다. CNN 모델 hroot는 data vi를 입력받아 예측값 cpred,i를 출력한다. 혼동 매트릭스 Mroot는 ctarget, cpred를 값으로 갖는 2차원 행렬이다. ctarget은 영상에 대한 정확한 분류값(정답)이고, cpred는 CNN 모델로 예측한 값이다. 매트릭스 Mroot는 CNN 학습 과정에 사용되는 샘플 영상을 이용하여 마련될 수 있다. 트리 CNN에서 노드 N은 아래의 수학식 1로 정의할 수 있다.
Figure 112017007268027-pat00001
한편 혼동 매트릭스 Mroot는 트리의 분기를 위해 사용하므로 말단 노드 Nleaf는 CNN 모델 h만 포함할 수 있다. 혼동 매트릭스 M의 원소 mij는 ci를 cj로 추정할 확률이다. 혼동 매트릭스 M의 원소 mij는 CNN h의 예측성능을 나타낸다.
영상분류문제는 컴퓨터 장치가 영상샘플의 전체 클래스 집합 C에서 입력된 영상샘플 v가 속한 클래스 c ∈ C를 예측하는 문제이다. 결국 CNN 모델 h는 아래의 수학식 2와 같이 영상분류를 수행하는 분류라고 할 수 있다.
Figure 112017007268027-pat00002
수학식 2에서 w는 h의 학습 파라메터이고, c'는 c의 추정 값이다.
트리 CNN은 루트 노드를 시작으로 부모 노드와 자식 노드들로 계층적으로 구성된다. 루트 노드 Nroot는 전체 클래스 집합 Croot = {c1, c2,...,cd}을 포함하는 샘플 집합을 이용하여 학습한다. 따라서 Mroot는 d×d의 행렬이다.
어떤 노드 N의 분류기 h가 C = {c1, c2,...,cd'}에서 d'(d'≤d)의 클래스를 분류하고, 노드 N의 자식 노드가 NL 및 NR이라고 가정한다. NL의 분류기 hL 및 NR의 분류기 hR은 C의 부분 집합만을 포함하는 샘플 집합을 이용하여 학습을 수행한다. 2개의 자식 노드 NL 및 NR가 각각 학습에 사용하는 C의 부분 집합 CL와 CR은 아래의 수학식 3과 수학식 4와 같은 관계를 만족한다.
Figure 112017007268027-pat00003
Figure 112017007268027-pat00004
|CL|과 |CR|은 각각 집합의 원소 개수를 나타낸다. 이 경우 NL의 혼동 행렬 ML은 |CL|×|CL| 크기의 행렬이다. NR의 혼동 행렬 MR은 |CR|×|CR| 크기의 행렬이다.
이와 같은 방식으로 트리 CNN은 루트 노드에서 말단 노드에 도달할 때까지 부모 노드가 수행하는 영상 분류를 부모 노드의 자식 노드가 세분화하여 분류한다. 최종적으로 말단 노드의 CNN 모델 hleaf는 입력된 영상에 대한 최종적인 분류를 수행한다. 도 1에서는 말단 노드 중 하나가 ypred,i라는 최종 결과값을 출력한 예를 도시한다.
컴퓨터 장치는 사전에 샘플 영상 집합을 이용하여 학습을 수행하면서 트리 CNN을 생성한다. 트리 CNN이 생성되는 과정에 대해 설명한다. 하나의 노드에서 자식 노드로 분기하는 과정을 설명한다. 트리 CNN은 아래 설명하는 방식에 따라 분기하기 때문에 랜덤한 모양(내지 크기)의 트리를 구성한다.
트리 CNN에서 임의의 노드 N은 입력 영상을 C = {c1, c2,...,cd'}의 부분 집합인 CL과 CR로 분류한다. 이를 위해 컴퓨터 장치는 사전에 임의의 노드 N을 자식 노드 NL과 NR로 분기해야 한다.
CL과 CR은 전술한 수학식 3과 수학식 4를 만족하도록 구성한다. 다만 이 조건을 만족하는 많은 원소의 조합이 있다. 따라서 컴퓨터 장치는 임의의 노드에서 샘플 집합을 자식 노드로 분기하기 위한 부분 집합으로 결정해야 한다. 분기 알고리즘은 분류 성능을 최대화하기 위한 최적의 조합을 결정하는 과정이다.
컴퓨터 장치는 루트 노드부터 시작하여 각 노드의 분기를 결정한다. 컴퓨터 장치는 어느 하나의 노드에서 혼동 매트릭스 M을 이용하여 현재 분류하는 샘플 영상 집합의 원소 중 서로 혼동하는 정도가 높은 원소들끼리 하나의 부분집합으로 묶는다. 동시에 컴퓨터 장치는 서로 다른 부분 집합 내 속하는 원소끼리는 혼동률이 낮도록 구성한다.
이를 계산하기 위하여 어느 노드 N에서 혼동 매트릭스 M의 원소 mij로부터 CL 과 CR의 클래스 내 정답률 함수 F를 아래의 수학식 5 및 수학식 6과 같이 정의한다. 정답률 함수 F는 노드 N에서 입력 영상을 정확하게 분류하여 CL 내지 CR로 결정할 가능성을 의미한다. 다른 말로하면 입력 영상이 CL 내지 CR에서 적절하게 분류될 가능성이기도 한다.
또한 어느 노드 N에서 혼동 매트릭스 M의 원소 mij로부터 CL 과 CR의 클래스 간 혼동률 함수 G를 아래의 수학식 7과 같이 정의한다. 혼동률 함수 G는 어떤 입력 영상을 정확하게 분류하지 못하여 잘못된 노드로 전달하는 가능성을 의미한다.
Figure 112017007268027-pat00005
Figure 112017007268027-pat00006
Figure 112017007268027-pat00007
임의 노드 N에서 최적의 CL 과 CR를 찾기 위해 아래의 수학식 8과 같은 목적함수 J를 정의한다.
Figure 112017007268027-pat00008
컴퓨터 장치는 아래 수학식 9와 같이 목적함수 J를 최소화하는 최적 조합을 찾는다.
Figure 112017007268027-pat00009
도 2는 혼동 매트릭스에 대한 예이다. 도 2는 노드 N의 혼동 매트릭스 M에서 혼동률이 높은 클래스 CL과 CR을 선택하는 방법을 보여준다. 도 2에서 위쪽 행렬은 혼동 매트릭스 M을 도시하고, 아래쪽 행렬은 혼동률에 따라 원소를 분류한 예를 도시한다. 도 2는 루트 노드에서 샘플 영상 집합을 부분 집합으로 분류하는 예에 해당한다. 컴퓨터 장치는 다른 어느 어떤 노드에서도 동일한 방식으로 부분 집합을 결정한다.
도 2의 혼동 매트릭스에서 주황색과 회색은 각각 CL과 CR에 속하는 클래스들을 나타낸다. 예컨대 주황색에 해당하는 클래스들이 CL에 속하고, 회색에 해당하는 클래스들이 CR에 속한다고 할 때, 주황색 매트릭스 요소들은 CNN 모델 h의 CL에 대한 성능을 보여주고, 회색 매트릭스 요소들은 CR에 대한 성능을 나타낸다.
컴퓨터 장치는 도 2의 아래쪽 행렬과 같이 재정렬된 혼동 매트릭스에서 CL과 CR 내부의 혼동률은 높으면서, CL과 CR 간 발생하는 혼동률은 낮은 부분집합을 설정한다. 이와 같이 CL과 CR 나눈 후 각 자식 노드에서 분류를 수행하면 혼동률이 높은 클래스들을 보다 잘 구별할 수 있는 특징들을 학습할 수 있다. 나아가 계층 구조에서 부모 노드가 클래스를 분기함으로써 발생하는 회복 불가능한 오류가 발생하는 것을 줄인다.
한편 도 2는 이진 트리를 전제로 설명하였지만, 보다 세분화된 기준을 부과하여 3개 이상의 자식 노드를 갖는 트리를 구성할 수도 있다. 예컨대, 도 2에서 흰색(내지 베이지색)으로 표시된 원소를 부분 집합으로 설정하여 4개의 노드로 분기할 수도 있다.
트리 CNN은 루트 노드 Nroot의 hroot의 학습을 시작으로 계층적으로 구성된 노드들의 CNN 모델 h를 학습하며, 최종적으로 말단 노드의 hleaf를 학습한다. 루트 노드 Nroot은 전체 클래스 C의 영상 데이터(영상 샘플 집합)를 학습한다. 이때 hroot는 기존의 CNN 모델을 이용하여 학습을 별도로 수행하지 않을 수도 있다. 즉, 트리 CNN에서 CNN은 사전학습모델을 사용할 수도 있다.
루트 노드 Nroot가 자식 노드 NL과 NR를 분기하면 자식 노드가 분류하는 클래스도 CL과 CR로 나뉜다. 자식 노드 NL과 NR은 CL과 CR에 해당하는 학습샘플을 사용해 |CL|과 |CR|개의 클래스를 분류하기 위한 hL과 hR를 학습한다.
트리 CNN은 각 단계에서 학습데이터 중 랜덤하게 선택된 일부 영상만을 사용하는 Bagging 기법을 이용할 수 있다. 이 경우 트리 CNN은 랜덤하게 선택된 영상샘플 v를 학습하기 때문에, 각 트리 CNN은 서로 다른 hroot를 학습하고, 그 결과에 따른 Mroot를 가진다. 따라서 루트 노드로부터 분기되는 부분집합 CL과 CR은 트리마다 다른 임의의 구성을 가진다.
도 3은 CNN 구조에 대한 예이다. CNN 모델은 일반적으로 다수의 콘볼루션 계층(Convolution layer)과 풀링 계층(Polling layer)으로 구성되며 최종 계층에는 네트워크에 입력되는 영상샘플 v가 영상샘플이 속한 해당 클래스 c를 예측하도록 완전연결 (fully connected)이 된다.
자식 노드는 부모 노드의 low-level 특징을 공유할 수 있다. 예컨대, 자식 노드의 CNN은 부모 노드가 학습하여 결정한 콘볼루션 계층(Convolution layer)과 풀링 계층(Polling layer)를 그대로 사용할 수 있다. 이 경우 자식 노드의 CNN은 완전연결 계층(fully connected layer)만을 부분 집합으로 학습한다.
경우에 따라서 자식 노드는 자신에게 할당된 샘플의 부분 집합을 이용하여 CNN 전체를 구성할 수도 있다.
도 4는 랜덤한 트리 CNN에 기반한 영상 분석 방법(100)에 대한 순서도의 예이다. 컴퓨터 장치는 전술한 방법을 사용하여 트리 CNN을 구성한다(110). 컴퓨터 장치는 트리 CNN의 각 노드에서 분기를 결정하고, 각 노드의 CNN에 대한 학습을 수행한다. 컴퓨터 장치는 학습이 완료된 트리 CNN의 루트 노드에 소스 영상을 입력한다(120). 소스 영상은 트리 CNN을 이용하여 분류하기 위한 입력 영상이다. 컴퓨터 장치는 루트 노드에서 말단 노드까지 진행하면서 소스 영상에 대한 세부 분류를 수행한다(130). 즉, 루트 노드에서 말단 노드로 진행하면서 각 노드의 CNN을 이용하여 점차 세부적인 분류를 수행한다. 최종적으로 컴퓨터 장치는 트리 CNN의 말단 노드의 CNN을 이용하여 소스 영상을 분류한다(140).
도 5는 포레스트 CNN 구조를 도시한 예이다. 포레스트 CNN은 복수의 트리 CNN을 포함한다. 하나의 트리 CNN은 도 1에서 설명한 바와 같다. 도 5는 n개의 트리 CNN을 포함하는 예를 도시한다. 각 트리 CNN은 전술한 과정을 통해 구성된다. 컴퓨터 장치는 각 트리 CNN에 동일한 소스 영상을 입력하여 최종적은 출력 결과(분류 결과)를 산출한다. 그리고 컴퓨터 장치는 다수결의 원칙에 따라 소스 영상을 가장 많은 결과값을 갖는 분류로 클래스를 결정한다. 예컨대, 복수의 트리 중 소스 영상을 A로 분류한 결과가 가장 많았다면, 컴퓨터 장치는 최종적으로 소스 영상의 클래스를 A로 분류한다.
한편 트리 CNN을 구성하는 과정에서 트리 CNN은 각 단계에서 학습데이터 중 랜덤하게 선택된 일부 영상만을 사용하는 Bagging 기법을 이용할 수 있다. 이 경우 하나의 트리에서 임의의 노드 N은 랜덤하게 선택된 클래스 부분집합들 CL과 CR 중 목적함수 J를 최소화 하는 최적의 CL과 CR를 찾기 때문에, 각 트리 CNN은 서로 다른 구성을 갖는다.
트리 CNN 및 포레스트 CNN은 기본적으로 영상을 분석하는 기법에 사용될 수 있습니다. 예컨대, 영상 분류, 영상 검색, 영상에 포함된 객체 추적, 영상 내의 객체 인식, 영상 분할 등 다양한 분야에 사용될 수 있습니다. 전술한 기술에 대한 설명에서 CNN이 영상을 분류한다고 표현한 것은 영상 자체를 분류한다는 의미뿐만 아니라, 영상의 특징을 찾거나, 영상 내의 객체를 찾는 과정에서 영상을 분류하고 분석한다는 의미입니다.
본 실시례 및 본 명세서에 첨부된 도면은 전술한 기술에 포함되는 기술적 사상의 일부를 명확하게 나타내고 있는 것에 불과하며, 전술한 기술의 명세서 및 도면에 포함된 기술적 사상의 범위 내에서 당업자가 용이하게 유추할 수 있는 변형 예와 구체적인 실시례는 모두 전술한 기술의 권리범위에 포함되는 것이 자명하다고 할 것이다.

Claims (12)

  1. 컴퓨터 장치가 하나의 노드가 CNN(Convolutional Neural Network)에 해당하는 트리의 루트 노드에 소스 영상을 입력하는 단계;
    상기 컴퓨터 장치가 상기 트리의 어느 하나의 노드의 CNN에서 상기 소스 영상을 분류하여 상기 어느 하나의 노드의 자식 노드로 상기 소스 영상을 전달하는 단계; 및
    상기 컴퓨터 장치가 상기 소스 영상이 최종적으로 전달되는 말단 노드의 CNN을 이용하여 상기 소스 영상을 분석하는 단계를 포함하되,
    상기 트리는 상기 루트 노드에 속한 CNN을 시작으로 샘플 영상을 사전에 학습하면서 랜덤하게 분기되고, 상기 트리에서 자식 노드의 CNN은 상기 자식 노드의 부모 노드의 CNN이 학습한 샘플 영상 집합의 부분 집합을 이용하여 학습하되,
    상기 자식 노드는 상기 부모 노드의 샘플 영상 집합 중 혼동률이 서로 기준값 이상인 원소를 포함하는 상기 부분 집합으로 학습하고,
    상기 부모 노드의 자식 노드들이 학습에 이용하는 학습 데이터의 부분 집합들은 서로 다르고, 상기 부분 집합들은 서로 혼동률이 기준값 미만인 원소로 구성되는 랜덤한 트리 CNN에 기반한 영상 분석 방법.
  2. 제1항에 있어서,
    상기 트리의 각 노드는 CNN 모델과 혼동 매트릭스를 포함하고, 상기 혼동 매트릭스를 이용하여 노드가 분기하는 랜덤한 트리 CNN에 기반한 영상 분석 방법.
  3. 제1항에 있어서,
    상기 트리는 어느 하나의 부모 노드에서 학습한 상기 샘플 영상 집합에 대한 분류 예측도를 기반으로 상기 샘플 영상 집합에 속한 원소들 중 분류 예측의 정확도가 기준 범위에 속하는 원소들을 상기 부분 집합으로 분류하고, 상기 부모 노드의 자식 노드는 상기 부분 집합의 개수만큼 분기하는 랜덤한 트리 CNN에 기반한 영상 분석 방법.
  4. 제3항에 있어서,
    상기 트리는 말단 노드를 제외하고 어느 하나의 노드가 적어도 2개의 자식 노드를 갖는 랜덤한 트리 CNN에 기반한 영상 분석 방법.
  5. 삭제
  6. 제1항에 있어서,
    상기 트리는 아래 수식으로 표현되는 정답률 함수를 이용하여 상기 샘플 영상 집합에 속한 원소들 중 어느 하나의 자식 노드에서의 분류 정확도가 기준값 이상인 요소를 포함하는 부분 집합을 결정하고, 해당 부분 집합에 속한 샘플 영상을 상기 어느 하나의 자식 노드에 할당하여 학습하는 랜덤한 트리 CNN에 기반한 영상 분석 방법.
    Figure 112017007268027-pat00010

    (F(CL)은 상기 어느 하나의 자식 노드에 대한 정답률 함수, CL은 상기 샘플 영상 집합의 원소 중 상기 어느 하나의 자식 노드에서 예측한 원소들, mii 및 mij는 혼동 매트릭스의 원소이고, 상기 혼동 매트릭스는 샘플 영상에 대한 예측 정확도를 포함함)
  7. 제1항에 있어서,
    상기 자식 노드의 CNN는 상기 부모 노드의 CNN의 구조 중 복수의 콘볼류션 계층 및 풀링 계층을 공유하는 랜덤한 트리 CNN에 기반한 영상 분석 방법.
  8. 컴퓨터 장치가 하나의 노드가 CNN(Convolutional Neural Network)에 해당하는 복수의 트리의 루트 노드 각각에 소스 영상을 입력하는 단계;
    상기 컴퓨터 장치가 상기 복수의 트리 각각에서 어느 하나의 노드의 CNN에서 상기 소스 영상을 분류하여 상기 어느 하나의 노드의 자식 노드로 상기 소스 영상을 전달하는 단계;
    상기 컴퓨터 장치가 상기 복수의 트리 각각에서 상기 소스 영상이 최종적으로 전달되는 말단 노드의 CNN을 이용하여 상기 소스 영상을 분석하는 단계; 및
    상기 컴퓨터 장치가 상기 복수의 트리에서 상기 소스 영상을 분석한 결과값 중 가장 많은 분석 결과값을 선택하는 단계를 포함하되,
    상기 트리는 상기 루트 노드에 속한 CNN을 시작으로 샘플 영상을 사전에 학습하면서 랜덤하게 분기되고, 상기 트리에서 자식 노드의 CNN은 상기 자식 노드의 부모 노드의 CNN이 학습한 샘플 영상 집합의 부분 집합을 이용하여 학습하는 랜덤한 트리 구조를 갖고,
    상기 자식 노드는 상기 부모 노드의 샘플 영상 집합 중 혼동률이 서로 기준값 이상인 원소를 포함하는 상기 부분 집합으로 학습하고, 상기 부모 노드의 자식 노드들이 학습에 이용하는 학습 데이터의 부분 집합들은 서로 다르고, 상기 부분 집합들은 서로 혼동률이 기준값 미만인 원소로 구성되고,
    상기 복수의 트리 각각은 동일 학습 데이터 중 랜덤하게 선택한 일부 영상으로 학습되는 포레스트 CNN에 기반한 영상 분석 방법.
  9. 제8항에 있어서,
    상기 트리는 어느 하나의 부모 노드에서 학습한 상기 샘플 영상 집합에 대한 분류 예측도를 기반으로 상기 샘플 영상 집합에 속한 원소들 중 분류 예측의 정확도가 기준 범위에 속하는 원소들을 상기 부분 집합으로 분류하고, 상기 부모 노드의 자식 노드는 상기 부분 집합의 개수만큼 분기하는 포레스트 CNN에 기반한 영상 분석 방법.
  10. 제8항에 있어서,
    상기 자식 노드의 CNN는 상기 부모 노드의 CNN의 구조 중 복수의 콘볼류션 계층 및 풀링 계층을 공유하는 포레스트 CNN에 기반한 영상 분석 방법.
  11. 삭제
  12. 제8항에 있어서,
    상기 트리는 아래 수식으로 표현되는 정답률 함수를 이용하여 상기 샘플 영상 집합에 속한 원소들 중 어느 하나의 자식 노드에서의 분류 정확도가 기준값 이상인 요소를 포함하는 부분 집합을 결정하고, 해당 부분 집합에 속한 샘플 영상을 상기 어느 하나의 자식 노드에 할당하여 학습하는 포레스트 CNN에 기반한 영상 분석 방법.
    Figure 112017007268027-pat00011

    (F(CL)은 상기 어느 하나의 자식 노드에 대한 정답률 함수, CL은 상기 샘플 영상 집합의 원소 중 상기 어느 하나의 자식 노드에서 예측한 원소들, mii 및 mij는 혼동 매트릭스의 원소이고, 상기 혼동 매트릭스는 샘플 영상에 대한 예측 정확도를 포함함)
KR1020170009869A 2017-01-20 2017-01-20 랜덤한 트리 cnn에 기반한 영상 분석 방법 및 포레스트 cnn에 기반한 영상 분석 방법 KR101942173B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170009869A KR101942173B1 (ko) 2017-01-20 2017-01-20 랜덤한 트리 cnn에 기반한 영상 분석 방법 및 포레스트 cnn에 기반한 영상 분석 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170009869A KR101942173B1 (ko) 2017-01-20 2017-01-20 랜덤한 트리 cnn에 기반한 영상 분석 방법 및 포레스트 cnn에 기반한 영상 분석 방법

Publications (2)

Publication Number Publication Date
KR20180086021A KR20180086021A (ko) 2018-07-30
KR101942173B1 true KR101942173B1 (ko) 2019-04-11

Family

ID=63048571

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170009869A KR101942173B1 (ko) 2017-01-20 2017-01-20 랜덤한 트리 cnn에 기반한 영상 분석 방법 및 포레스트 cnn에 기반한 영상 분석 방법

Country Status (1)

Country Link
KR (1) KR101942173B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11010658B2 (en) * 2017-12-22 2021-05-18 Intel Corporation System and method for learning the structure of deep convolutional neural networks

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111125727B (zh) * 2019-12-03 2021-05-14 支付宝(杭州)信息技术有限公司 混淆电路生成方法、预测结果确定方法、装置和电子设备
KR102291164B1 (ko) * 2019-12-31 2021-08-18 전남대학교산학협력단 최대화 또는 최소화 파라미터 수 딥러닝 구조가 적용된 잡초 판별 방법
WO2023008672A1 (ko) * 2021-07-30 2023-02-02 한국 한의학 연구원 유사 이미지 분류를 위한 딥 러닝 성능 향상 방법 및 장치
CN113837834B (zh) * 2021-09-22 2023-09-01 东北大学 一种基于深度学习的购物篮推荐方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10438112B2 (en) * 2015-05-26 2019-10-08 Samsung Electronics Co., Ltd. Method and apparatus of learning neural network via hierarchical ensemble learning

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Wang, Zhenhua, Xingxing Wang, and Gang Wang. "Learning fine-grained features via a CNN tree for large-scale classification." arXiv preprint arXiv:1511.04534v1, 2015.11.14.

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11010658B2 (en) * 2017-12-22 2021-05-18 Intel Corporation System and method for learning the structure of deep convolutional neural networks

Also Published As

Publication number Publication date
KR20180086021A (ko) 2018-07-30

Similar Documents

Publication Publication Date Title
KR101942173B1 (ko) 랜덤한 트리 cnn에 기반한 영상 분석 방법 및 포레스트 cnn에 기반한 영상 분석 방법
WO2022083536A1 (zh) 一种神经网络构建方法以及装置
KR102252081B1 (ko) 이미지 특성의 획득
CN109685110B (zh) 图像分类网络的训练方法、图像分类方法及装置、服务器
CN111507378A (zh) 训练图像处理模型的方法和装置
CN111523621A (zh) 图像识别方法、装置、计算机设备和存储介质
US11468266B2 (en) Target identification in large image data
CN110472090A (zh) 基于语义标签的图像检索方法以及相关装置、存储介质
US20230267381A1 (en) Neural trees
Beikmohammadi et al. SWP-LeafNET: A novel multistage approach for plant leaf identification based on deep CNN
CN113570029A (zh) 获取神经网络模型的方法、图像处理方法及装置
CN113807399A (zh) 一种神经网络训练方法、检测方法以及装置
CN114298122B (zh) 数据分类方法、装置、设备、存储介质及计算机程序产品
US20220051103A1 (en) System and method for compressing convolutional neural networks
US20220083843A1 (en) System and method for balancing sparsity in weights for accelerating deep neural networks
Song et al. Automated machine learning in action
KR20210148095A (ko) 데이터 분류 방법 및 시스템, 그리고 분류기 트레이닝 방법 및 시스템
CN115018039A (zh) 一种神经网络蒸馏方法、目标检测方法以及装置
CN110110628B (zh) 一种频率综合器劣化的检测方法及检测设备
CN110019827A (zh) 一种语料库生成方法、装置、设备和计算机存储介质
EP4361963A1 (en) Processing videos based on temporal stages
US20230410465A1 (en) Real time salient object detection in images and videos
US20160063372A1 (en) Systems and methods for enhancing computer assisted high throughput screening processes
Maheswari et al. Kernelized Spectral Clustering based Conditional MapReduce function with big data
CN114898184A (zh) 模型训练方法、数据处理方法、装置及电子设备

Legal Events

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