KR102180054B1 - 객체 분류기 생성 장치 및 방법 - Google Patents
객체 분류기 생성 장치 및 방법 Download PDFInfo
- Publication number
- KR102180054B1 KR102180054B1 KR1020180158613A KR20180158613A KR102180054B1 KR 102180054 B1 KR102180054 B1 KR 102180054B1 KR 1020180158613 A KR1020180158613 A KR 1020180158613A KR 20180158613 A KR20180158613 A KR 20180158613A KR 102180054 B1 KR102180054 B1 KR 102180054B1
- Authority
- KR
- South Korea
- Prior art keywords
- object classifier
- initial
- images
- classifier
- label
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 47
- 239000013598 vector Substances 0.000 claims abstract description 132
- 238000012512 characterization method Methods 0.000 claims abstract description 118
- 238000012549 training Methods 0.000 claims abstract description 52
- 238000012360 testing method Methods 0.000 claims description 10
- 238000003064 k means clustering Methods 0.000 claims description 5
- 238000013528 artificial neural network Methods 0.000 description 16
- 238000010586 diagram Methods 0.000 description 12
- 238000004891 communication Methods 0.000 description 11
- 230000008569 process Effects 0.000 description 9
- 230000000306 recurrent effect Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 4
- 230000002457 bidirectional effect Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000002787 reinforcement Effects 0.000 description 3
- 238000001514 detection method Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000010365 information processing Effects 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 230000001151 other effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G06K9/627—
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
-
- G06K9/481—
-
- G06K9/6218—
-
- 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/0464—Convolutional networks [CNN, ConvNet]
-
- 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
- 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/0895—Weakly supervised learning, e.g. semi-supervised or self-supervised learning
-
- 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/092—Reinforcement learning
-
- 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/40—Extraction of image or video features
- G06V10/46—Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
- G06V10/469—Contour-based spatial representations, e.g. vector-coding
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Molecular Biology (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Mathematical Physics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Multimedia (AREA)
- Image Analysis (AREA)
Abstract
본 발명의 일 실시예에 따른 객체 분류기 생성 방법은, 복수의 객체 이미지 중 복수의 학습 이미지를 학습하여 생성된 초기 객체 분류기에 상기 복수의 객체 이미지를 입력하는 단계; 상기 초기 객체 분류기를 구성하는 복수의 은닉층(Hidden Layer) 중 어느 하나로부터 상기 입력된 복수의 객체 이미지 각각에 대응되는 복수의 특징화 벡터(Featurized Vector)를 획득하는 단계; 상기 획득된 복수의 특징화 벡터를 클러스터링(Clustering)하여 상기 복수의 객체 이미지 각각에 대응되는 최종 레이블(Label)을 결정하는 단계; 및 상기 최종 레이블이 결정된 상기 복수의 객체 이미지를 학습하여 최종 객체 분류기를 생성하는 단계를 포함한다.
Description
본 발명은 객체에 따라 이미지를 분류하기 위한 객체 분류기를 생성하는 객체 분류기 생성 장치 및 방법에 관한 것이다.
컴퓨터 비전(Computer Vision)은 인간의 오감 중 시각적 인식 능력을 정보 처리 기기에 구현하는 인공 지능 분야이다. 특히, 컴퓨터 비전 분야에서 객체 인식 기술은 정보 처리 장치를 통해 촬영된 이미지에서 객체의 특징을 찾아 객체를 식별할 수 있다는 점에서 가상 현실 기술, 지능형 로봇 또는 보안 기술 등의 다양한 차세대 응용 기술에 적용할 수 있을 것으로 기대된다.
객체 인식 과정은 그 단계에 따라 객체의 검출(Detection) 및 객체의 식별(Identification)로 이루어질 수 있다. 객체의 검출은 특정 객체의 존재 여부 및 위치를 알아내는 것을 지칭하고, 객체의 식별은 검출한 객체를 유일하게 식별할 수 있는 정보를 알아내는 것을 지칭할 수 있다.
이와 같이 이미지 내 객체를 인식하기 위해서는, 이미지 내 객체를 식별하고 객체에 따라 이미지를 분류할 수 있는 분류기가 이용될 수 있다.
본 발명이 해결하고자 하는 과제는, 전체 이미지 중 일부만을 학습하여 생성된 초기 객체 분류기의 은닉층으로부터 출력된 특징화 벡터를 이용하여 객체에 따라 이미지를 분류하는 객체 분류기 생성 장치 및 방법을 제공하는 것이다.
다만, 본 발명이 해결하고자 하는 과제는 이상에서 언급한 바로 제한되지 않으며, 언급되지는 않았으나 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있는 목적을 포함할 수 있다.
본 발명의 일 실시예에 따른 객체 분류기 생성 방법은, 복수의 객체 이미지 중 복수의 학습 이미지를 학습하여 생성된 초기 객체 분류기에 상기 복수의 객체 이미지를 입력하는 단계; 상기 초기 객체 분류기를 구성하는 복수의 은닉층(Hidden Layer) 중 어느 하나로부터 상기 입력된 복수의 객체 이미지 각각에 대응되는 복수의 특징화 벡터(Featurized Vector)를 획득하는 단계; 상기 획득된 복수의 특징화 벡터를 클러스터링(Clustering)하여 상기 복수의 객체 이미지 각각에 대응되는 최종 레이블(Label)을 결정하는 단계; 및 상기 최종 레이블이 결정된 상기 복수의 객체 이미지를 학습하여 최종 객체 분류기를 생성한다.
또한, 상기 복수의 특징화 벡터를 획득하는 단계는, 상기 초기 객체 분류기를 구성하는 상기 복수의 은닉층 중 마지막 은닉층에서 출력되는 복수의 특징화 벡터를 획득할 수 있다.
또한, 상기 최종 레이블을 결정하는 단계는, 상기 최종 레이블의 개수를 입력받는 단계; 상기 입력된 최종 레이블의 개수에 따라 상기 복수의 특징화 벡터를 클러스터링하는 단계; 및 상기 클러스터링에 의해 생성된 복수의 군집 각각에 최종 레이블을 할당하는 단계를 포함할 수 있다.
또한, 상기 최종 레이블을 결정하는 단계는, 미리 정해진 영역의 윈도우(Window)를 설정하는 단계; 상기 윈도우의 위치를 이동하는 단계; 상기 윈도우 내 상기 특징화 벡터의 밀도를 기초로 클러스터링을 수행하는 단계; 및 상기 클러스터링에 의해 생성된 복수의 군집 각각에 최종 레이블을 할당하는 단계를 포함할 수 있다.
또한, 상기 복수의 객체 이미지를 학습하여 테스트 객체 분류기를 생성하는 단계; 상기 테스트 객체 분류기에 대하여 임계값 이상의 성공률을 가지는 초기 레이블을 확인하는 단계; 상기 임계값 이상의 성공률을 가지는 초기 레이블 내 객체 이미지를 상기 학습 이미지로 결정하는 단계; 및 상기 초기 레이블이 결정된 상기 학습 이미지를 학습하여 상기 초기 객체 분류기를 생성하는 단계를 더 포함할 수 있다.
본 발명의 다른 실시예에 따른 객체 분류기 생성 방법은, 복수의 객체 이미지 중 복수의 학습 이미지를 학습하여 생성된 초기 객체 분류기에 상기 복수의 학습 이미지를 입력하는 단계; 상기 초기 객체 분류기를 구성하는 복수의 은닉층(Hidden Layer) 중 어느 하나로부터 상기 입력된 복수의 학습 이미지 각각에 대응되는 복수의 특징화 벡터(Featurized Vector)를 획득하는 단계; 및 상기 획득된 복수의 특징화 벡터 중 동일한 초기 레이블에 속하는 특징화 벡터 사이의 거리 및 서로 다른 초기 레이블에 속하는 특징화 벡터 사이의 거리를 기초로, 동일 레이블 분류를 위한 상기 복수의 객체 이미지의 특징화 벡터 간 거리 임계값을 결정하는 단계를 포함할 수 있다.
또한, 상기 복수의 특징화 벡터를 획득하는 단계는, 상기 초기 객체 분류기를 구성하는 상기 복수의 은닉층 중 마지막 은닉층에서 출력되는 복수의 특징화 벡터를 획득할 수 있다.
또한, 상기 결정된 거리 임계값을 기초로 상기 복수의 객체 이미지 중 적어도 두 개에 대하여 동일 레이블로 분류할지 여부를 결정하는 단계를 더 포함할 수 있다.
또한, 상기 복수의 객체 이미지 중 적어도 두 개에 대하여 동일 레이블로 분류할지 여부를 결정하는 단계는, 상기 복수의 객체 이미지 중 적어도 두 개를 입력받는 단계; 상기 초기 객체 분류기를 구성하는 복수의 은닉층 중 어느 하나로부터 상기 적어도 두 개의 객체 이미지 각각에 대응되는 적어도 두 개의 특징화 벡터를 획득하는 단계; 및 상기 획득된 적어도 두 개의 특징화 벡터 간 거리를 상기 결정된 거리 임계값과 비교하여, 상기 적어도 두 개의 객체 이미지를 동일 레이블로 분류할지 여부를 결정하는 단계를 더 포함할 수 있다.
또한, 상기 복수의 객체 이미지를 학습하여 테스트 객체 분류기를 생성하는 단계; 상기 테스트 객체 분류기에 대하여 임계값 이상의 성공률을 가지는 초기 레이블을 확인하는 단계; 상기 임계값 이상의 성공률을 가지는 초기 레이블 내 객체 이미지를 상기 학습 이미지로 결정하는 단계; 및 상기 초기 레이블이 결정된 상기 학습 이미지를 학습하여 상기 초기 객체 분류기를 생성하는 단계를 더 포함할 수 있다.
본 발명의 일 실시예에 따른 객체 분류기 생성 장치는, 복수의 객체 이미지 중 복수의 학습 이미지를 학습하여 생성된 초기 객체 분류기가 저장되는 저장부; 상기 저장된 초기 객체 분류기에 상기 복수의 객체 이미지를 입력하고, 상기 초기 객체 분류기를 구성하는 복수의 은닉층(Hidden Layer) 중 어느 하나로부터 상기 입력된 복수의 객체 이미지 각각에 대응되는 복수의 특징화 벡터(Featurized Vector)를 획득하는 특징화 벡터 획득부; 상기 획득된 복수의 특징화 벡터를 클러스터링(Clustering)하여 상기 복수의 객체 이미지 각각에 대응되는 최종 레이블(Label)을 결정하는 클러스터링부; 및 상기 최종 레이블이 결정된 상기 복수의 객체 이미지를 학습하여 최종 객체 분류기를 생성하는 최종 객체 분류기 생성부를 포함한다.
본 발명의 다른 실시예에 따른 객체 분류기 생성 장치는 복수의 객체 이미지 중 복수의 학습 이미지를 학습하여 생성된 초기 객체 분류기가 저장되는 저장부; 상기 저장된 초기 객체 분류기에 상기 복수의 학습 이미지를 입력하고, 상기 초기 객체 분류기를 구성하는 복수의 은닉층(Hidden Layer) 중 어느 하나로부터 상기 입력된 복수의 학습 이미지 각각에 대응되는 복수의 특징화 벡터(Featurized Vector)를 획득하는 특징화 벡터 획득부; 상기 획득된 복수의 특징화 벡터 중 동일한 초기 레이블에 속하는 특징화 벡터 사이의 거리 및 서로 다른 초기 레이블에 속하는 특징화 벡터 사이의 거리를 기초로, 동일 레이블 분류를 위한 상기 복수의 객체 이미지의 특징화 벡터 간 거리 임계값을 결정하는 임계값 결정부를 포함한다.
본 발명의 실시예에 의하면, 학습을 통해 생성된 초기 객체 분류기의 출력층 이전의 은닉층으로부터 특징화 벡터를 획득하고, 이를 기초로 최종 객체 분류기를 생성하므로, 입력된 이미지 내 객체 정보를 손실 없이 이용하는 객체 분류기를 생성할 수 있다.
이렇게 생성된 객체 분류기는 보다 정확하게 객체에 따라 이미지를 분류할 수 있다. 특히, 외형 상의 특징은 명확하나 분류 기준을 명확히 정의하기 어려운 객체의 경우라도, 본 발명에 따라 생성된 객체 분류기는 이미지 내 외형 상의 특징을 손실 없이 이용하여 이미지를 정확하게 분류할 수 있다.
본 발명에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 발명의 일 실시예에 따른 객체 분류기 생성 장치의 제어 블록도이다.
도 2는 본 발명의 다른 실시예에 따른 객체 분류기 생성 장치의 제어 블록도이다.
도 3은 본 발명의 일 실시예에 따른 객체 분류기 생성 방법의 흐름도이다.
도 4는 본 발명의 일 실시예에 따른 초기 객체 분류기의 구성을 예시한 도면이다.
도 5는 본 발명의 일 실시예에 따른 특징화 벡터의 클러스터링 방법을 설명하기 위한 도면이다.
도 6은 본 발명의 다른 실시예에 따른 특징화 벡터의 클러스터링 방법을 설명하기 위한 도면이다.
도 7은 본 발명의 다른 실시예에 따른 객체 분류기 생성 방법의 흐름도이다.
도 8은 본 발명의 일 실시예에 따른 특징화 벡터 간 거리의 임계값을 구하는 방법을 설명하기 위한 도면이다.
도 2는 본 발명의 다른 실시예에 따른 객체 분류기 생성 장치의 제어 블록도이다.
도 3은 본 발명의 일 실시예에 따른 객체 분류기 생성 방법의 흐름도이다.
도 4는 본 발명의 일 실시예에 따른 초기 객체 분류기의 구성을 예시한 도면이다.
도 5는 본 발명의 일 실시예에 따른 특징화 벡터의 클러스터링 방법을 설명하기 위한 도면이다.
도 6은 본 발명의 다른 실시예에 따른 특징화 벡터의 클러스터링 방법을 설명하기 위한 도면이다.
도 7은 본 발명의 다른 실시예에 따른 객체 분류기 생성 방법의 흐름도이다.
도 8은 본 발명의 일 실시예에 따른 특징화 벡터 간 거리의 임계값을 구하는 방법을 설명하기 위한 도면이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명의 범주는 청구항에 의해 정의될 뿐이다.
본 발명의 실시예들을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명은 본 발명의 실시예들을 설명함에 있어 실제로 필요한 경우 외에는 생략될 것이다. 그리고 후술되는 용어들은 본 발명의 실시예에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
이하 사용되는 '??부', '??기' 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어, 또는, 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
도 1은 본 발명의 일 실시예에 따른 객체 분류기 생성 장치의 제어 블록도이고, 도 2는 본 발명의 다른 실시예에 따른 객체 분류기 생성 장치의 제어 블록도이다.
본 발명의 객체 분류기 생성 장치는 입력되는 이미지 내 객체의 종류에 따라 이미지를 분류하는 분류기를 생성하는 장치를 의미할 수 있다. 이와 같은 분류기는 다수의 객체 이미지 내 특징을 추출하고, 추출된 특징과 객체의 종류를 매칭하는 학습 과정을 통해 생성될 수 있다.
학습 과정에서, 이미지 내 객체의 종류는 레이블(Label)로서 이미지와 함께 입력될 수 있다. 레이블은 객체 이미지 내 객체의 종류를 분류한 Ground Truth를 의미할 수 있다. 이 경우, 레이블은 사람이 직접 결정(입력)할 수 있다. 객체의 외형 상 특징에 따라 종류가 명확히 구분되는 경우, 레이블을 이용하여 객체 이미지를 학습하는 방법으로도 신뢰할 수 있는 분류기를 생성할 수 있다.
반면, 객체의 외형 상 특징이 분명함에도 종류를 분류하는 기준이 엄밀하지 않다면, 이를 기초로 생성되는 분류기는 정확도가 낮을 수 있다. 예를 들어, 바지와 레깅스의 경우, 사람이 시각적으로 인지한 특징에 기초하여 이를 정확하게 분류하는데에는 한계가 있을 수 있어, 이러한 분류에 따라 결정되는 레이블 역시 부정확할 수 있다.
또한, 이미지로부터 추출된 특징과 레이블과의 매칭 과정에서 이미지 내 객체의 특징이 일부 손실될 가능성이 있다. 레이블은 객체의 다양한 외형 상 특징을 인간이 이해할 수 있는 분류 체계 내에서 객체의 종류를 한정한 것이므로, 매칭 과정에서 객체의 특징 중 일부만이 선택적으로 이용될 수 있기 때문이다.
이를 해결하기 위해, 본 발명의 객체 분류기 생성 장치는 비교적 분류 기준이 명확한 일부 이미지를 학습하여 생성된 초기 객체 분류기를 이용하여 최종 객체 분류기를 생성할 수 있다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 객체 분류기 생성 장치(100)는 저장부(110), 특징화 벡터 획득부(120), 클러스터링부(130), 최종 객체 분류기 생성부(140), 및 임계값 결정부(150)를 포함할 수 있다.
저장부(110)는 초기 객체 분류기를 미리 저장할 수 있다. 여기서, 초기 객체 분류기란 미리 정해진 복수의 학습 이미지를 학습함으로써 생성된 객체 분류기를 의미할 수 있다.
또한, 학습 이미지란 외형 상 특징에 따라 육안으로 명확히 분류될 수 있는 객체에 대한 이미지를 의미할 수 있다. 학습 이미지는 복수의 객체 이미지를 학습함으로써 결정될 수 있다. 구체적으로, 복수의 객체 이미지를 학습하여 초기 레이블에 따라 분류하는 테스트 분류기를 생성하고, 테스트 분류기에 대하여 임계값 이상의 성공률을 가지는 초기 레이블을 확인한 후, 임계값 이상의 성공률을 가지는 초기 레이블 내 객체 이미지를 학습 이미지로 결정할 수 있다.
일 실시예에 따른 초기 객체 분류기는 지도 학습(Supervised Learning)에 의해 생성될 수 있다. 지도 학습이란 입력과 이에 대응되는 레이블로 구성되는 학습 데이터를 학습하는 기계 학습 방법을 의미하며, 레이블은 학습 데이터 중 입력에 대한 정답을 의미할 수 있다.
지도 학습 방법을 따를 때, 초기 객체 분류기는 미리 정해진 복수의 학습 이미지를 입력으로 하고, 해당 학습 이미지 내 객체의 종류를 초기 레이블로 대응시킨 학습 데이터를 학습함으로써 생성될 수 있다. 구체적으로, 초기 객체 분류기는 입력인 학습 이미지와 정답인 객체의 종류 사이의 관계를 학습함으로써, 입력되는 이미지를 객체의 종류에 따라 분류할 수 있다.
이와는 달리, 초기 객체 분류기는 학습 이미지에 객체의 종류가 레이블 된 일부 학습 데이터와 레이블 되지 않은 학습 이미지로 이루어진 나머지 학습 데이터를 함께 이용하여 학습하는 반지도 학습(Semisupervised Learning)에 의해 생성될 수도 있다. 또는, 초기 객체 분류기는 학습 결과가 올바른지에 대한 피드백을 이용하는 강화 학습(Reinforcement Learning)에 의해 생성될 수도 있다.
초기 객체 분류기는 적용 분야, 학습의 목적 또는 장치의 컴퓨터 성능 등을 고려하여 설계될 수 있다. 일 실시예에 따른 초기 객체 분류기는 신경망(Neural Network)을 기반으로 하는 모델일 수 있다. 예를 들어, 초기 객체 분류기는 CNN(Convolution Neural Network), DNN(Deep Neural Network), RNN(Recurrent Neural Network), BRDNN(Bidirectional Recurrent Deep Neural Network)과 같은 모델로 구현될 수 있으나, 이에 한정되지는 않는다.
이를 위해, 저장부는 램(Random Access Memory, RAM), SRAM(Static Random Access Memory), 롬(Read-Only Memory, ROM), PROM(Programmable Read-Only Memory), EEPROM(Electrically Erasable Programmable Read-Only Memory)와 같은 저장매체로 구현될 수 있다.
반면, 도 1과는 달리, 다른 실시예에 따른 객체 분류기 생성 장치(100)는 외부 장치로부터 초기 객체 분류기를 수신할 수도 있다. 도 2를 참조하면, 다른 실시예에 따른 객체 분류기는 통신부(160)를 더 포함할 수 있다.
통신부(160)는 외부 장치로부터 초기 객체 분류기를 수신하도록, 외부 장치와 통신 가능할 수 있다. 이를 위해, 일 실시예에 따른 통신부(160)는 무선랜(Wireless LAN, WLAN), 와이브로(Wireless Broadband, Wibro), 와이파이(Wi-Fi), 와이맥스(World Interoperability for Microwave Access, Wimax) 등과 같은 무선 인터넷 접속을 위한 통신 모듈 또는 블루투스(Bluetooth), 지그비(ZigBee), UWB(Ultra Wideband), RFID(Radio Frequency Identification), 적외선통신(Infrared Data Association, IrDA)와 같은 근거리 통신(Short Range Communication)을 위한 통신 모듈로 구현될 수 있다.
도 2의 경우, 도 1에서 통신부(160)가 부가되는 경우를 예시하고 있으나, 또 다른 실시예에 따른 객체 분류기 생성 장치(100)는 통신부(160)만을 포함할 수도 있다. 이 경우, 객체 분류기 생성 장치(100)는 통신부(160)를 통해 수신된 초기 객체 분류기를 바로 특징화 벡터 획득부(120)에 제공할 수 있다.
또한, 도 1 및 2와 달리, 또 다른 실시예에 따른 객체 분류기 생성 장치(100)는 직접 초기 객체 분류기를 생성할 수도 있다. 이를 위해, 또 다른 실시예에 따른 객체 분류기 생성 장치(100)는 초기 객체 분류기를 생성하기 위한 별도의 구성을 더 포함할 수도 있다.
특징화 벡터 획득부(120)는 초기 객체 분류기에 입력된 이미지에 대한 특징화 벡터(Featurized Vector)를 획득할 수 있다. 여기서 특징화 벡터란 초기 객체 분류기의 은닉층(Hidden Layer)로부터 출력되는 이미지의 속성 정보를 의미할 수 있다. 예를 들어, 특징화 벡터는 초기 객체 분류기에 입력된 이미지 내 점, 선, 및/또는 면에 대한 정보를 벡터 형태로 표현한 값을 의미할 수 있다. 이러한 특징화 벡터는 초기 객체 분류기의 출력층(Output Layer)으로부터 출력된 값과 달리, 이미지 내 객체 특징의 손실이 최소화된 정보일 수 있다.
일 실시예에 따른 특징화 벡터 획득부(120)는 초기 객체 분류기에 복수의 학습 이미지를 포함하는 복수의 객체 이미지를 입력하고, 초기 객체 분류기의 복수의 은닉층 중 어느 하나로부터 복수의 객체 이미지 각각에 대응되는 복수의 특징화 벡터를 획득할 수 있다.
또한, 다른 실시예에 따른 특징화 벡터 획득부(120)는 초기 객체 분류기에 복수의 학습 이미지를 입력하고, 초기 객체 분류기의 복수의 은닉층 중 어느 하나로부터 복수의 학습 이미지 각각에 대응되는 복수의 특징화 벡터를 획득할 수도 있다.
클러스터링부(130)는 복수의 객체 이미지 각각에 대응되는 복수의 특징화 벡터를 클러스터링(Clusterting)하여 복수의 객체 이미지 각각에 대응되는 최종 레이블을 결정할 수 있다.
일 실시예에 따른 클러스터링부(130)는 사용자로부터 입력된 최종 레이블의 개수에 따라 복수의 특징화 벡터를 클러스터링 할 수 있다. 이 경우, 클러스터링부(130)는 K-means 클러스터링 알고리즘, GMM(Gaussian Mixture Models)를 이용한 EM(Expectation Maximization) 클러스터링 알고리즘 등을 채택하여 클러스터링을 수행할 수 있다.
또한, 다른 실시예에 따른 클러스터링부(130)는 사용자로부터 별도의 입력 없이, 자체적으로 복수의 특징화 벡터를 클러스터링 할 수 있다. 이 경우, 클러스터링부(130)는 Mean-Shift 클러스터링 알고리즘, DBSCAN(Density-Based Spatial Clustering of Applications with Nosie) 알고리즘 등을 채택하여 클러스터링을 수행할 수 있다.
임계값 결정부(150)는 복수의 학습 이미지 각각에 대응되는 복수의 특징화 벡터를 이용하여 동일 레이블 분류를 위한 복수의 객체 이미지의 특징화 벡터 간 거리 임계값을 결정할 수 있다. 여기서, 동일 레이블 분류를 위한 복수의 객체 이미지의 특징화 벡터 간 거리 임계값이란, 복수의 객체 이미지를 동일 레이블로 분류하기 위한 특징화 벡터간 거리의 최대값을 의미할 수 있다.
최종 객체 분류기 생성부(140)는 클러스터링부(130)에 의해 결정된 최종 레이블 또는 임계값 결정부(150)에 의해 결정된 거리 임계값을 기초로 최종 객체 분류기를 생성할 수 있다. 구체적으로, 일 실시예에 따른 최종 객체 분류기 생성부(140)는 최종 레이블이 결정된 복수의 객체 이미지를 학습하여 최종 객체 분류기를 생성할 수 있다. 또한, 다른 실시예에 따른 최종 객체 분류기 생성부(140)는 초기 객체 분류기의 어느 하나의 은닉층과 임계값 비교기를 연결함으로써 최종 객체 분류기를 생성할 수 있다.
상술한 실시예에 따른 객체 분류기 생성 장치(100)를 구성하는 특징화 벡터 획득부(120), 클러스터링부(130), 임계값 결정부(150), 및 최종 객체 분류기 생성부(140) 각각은 마이크로프로세서(Microprocessor)를 포함하는 연산 장치로 구현될 수 있고, 예를 들어 중앙 처리 장치(Central Processing Unit, CPU) 및 그래픽 처리 장치(Graphic Processing Unit, GPU) 중 적어도 하나로 구현될 수 있다. 이와는 달리, 객체 분류기 생성 장치(100)의 각각의 구성 중 적어도 두 개가 SOC(System On Chip)으로 구현되는 것도 가능할 수 있다.
지금까지는 객체 분류기 생성 장치(100)의 각 구성에 대해서 설명하였다. 이하에서는 도 1 및 2의 객체 분류기 생성 장치(100)에 의해 수행되는 객체 분류기 생성 방법에 대해서 설명한다.
도 3은 본 발명의 일 실시예에 따른 객체 분류기 생성 방법의 흐름도이다.
먼저, 객체 분류기 생성 장치(100)는 복수의 초기 학습 이미지를 학습하여 초기 객체 분류기를 생성할 수 있다(S100). 여기서, 초기 객체 분류기란 미리 정해진 복수의 학습 이미지를 학습함으로써 생성된 객체 분류기를 의미하고, 학습 이미지는 외형 상 특징에 따라 육안으로 명확히 분류될 수 있는 객체에 대한 이미지를 의미할 수 있음은 상술한 바와 같다.
객체 분류기 생성 장치(100)는 지도 학습, 반지도 학습, 강화 학습 중 적어도 하나의 방법을 채택하여 초기 객체 분류기를 생성할 수 있고, 이렇게 생성된 초기 객체 분류기는 신경망 기반의 모델일 수 있다. 이하에서는 도 4를 참조하여 초기 객체 분류기의 구성을 설명한다.
도 4는 본 발명의 일 실시예에 따른 초기 객체 분류기의 구성을 예시한 도면이다.
신경망 기반의 초기 객체 분류기는 분류기는 CNN(Convolution Neural Network), DNN(Deep Neural Network), RNN(Recurrent Neural Network), BRDNN(Bidirectional Recurrent Deep Neural Network)과 같은 모델로 구현될 수 있다.
도 4를 참조하면, 초기 객체 분류기는 객체 이미지가 입력되는 입력층(Input Layer, LI), 입력된 객체 이미지에 대응되는 초기 레이블이 출력되는 출력층(LO), 및 입력층(L1)과 출력층(LO) 사이에 마련되는 복수의 은닉층(Lh)로 구성될 수 있다. 도 4에서는 복수의 은닉층이 제 1 은닉층(Lh1) 내지 제 n 은닉층(Lhn)으로 구성되는 경우를 예시한다. 출력층(L0)은 복수의 은닉층 중 가장 마지막 은닉층과 완전 연결 네트워크(Fully Connected Network)를 형성할 수 있다.
만약, 초기 객체 분류기가 CNN 모델로 구현되는 경우, 복수의 은닉층(Lh)은 복수의 컨볼루션층(Convolution Layer)과 서브 샘플링층(Subsampling Layer)로 구성될 수 있다. 컨볼루션층은 입력되는 객체 이미지에 다양한 컨볼루션 커널(Convolution Kunnel)을 적용하여, 객체 이미지에 대한 특징화 벡터를 획득할 수 있다. 이처럼, 컨볼루션은 고차원의 입력 이미지에 대해서 특징을 추출하는 일종의 템플릿과 같은 역할을 수행할 수 있다. 서브 샘플링층은 획득된 특징화 벡터의 차원을 축소하는 뉴런층으로서, 컨볼루션 층에 의해 생성된 특징화 벡터에 대한 공간적 해상도를 낮출 수 있다. 이와 같은 과정을 통해, 초기 객체 분류기는 문제의 복잡도를 줄일 수 있다. 은닉층에는 컨볼루션 층과 서브 샘플링 층은 반복하여 배치됨으로써 상술한 과정이 반복 수행될 수 있다.
다시 도 3을 참조하면, 객체 분류기 생성 장치(100)는 초기 객체 분류기에 복수의 객체 이미지를 입력할 수 있다(S110). 그 다음, 객체 분류기 생성 장치(100)는 초기 객체 분류기의 복수의 은닉층 중 어느 하나로부터 복수의 객체 이미지 각각에 대응되는 복수의 특징화 벡터를 획득할 수 있다(S120).
상술한 바와 같이, 출력층(LO)과 은닉층(Lh)가 완전 연결 네트워크를 구성하기 때문에, 출력층(LO)에 의한 출력은 객체 이미지 내 일부 특징 정보가 손실된 결과일 수 있다. 따라서, 객체 분류기 생성 장치(100)는 손실 정보를 최소화 하기 위해, 복수의 은닉층 중 어느 하나로부터 객체 이미지에 대응되는 특징화 벡터를 획득하여 이용할 수 있다.
바람직하게는, 본 발명의 일 실시예에 따른 객체 분류기 생성 장치(100)는 초기 객체 분류기를 구성하는 복수의 은닉층 중 마지막 은닉층에서 출력되는 복수의 특징화 벡터를 획득할 수 있다. 이렇게 획득되는 특징화 벡터는 객체 이미지 내 특징이 가장 명확하면서도 손실이 적을 수 있다.
특징화 벡터가 획득되면, 객체 분류기 생성 장치(100)는 복수의 특징화 벡터를 클러스터링하여 복수의 객체 이미지 각각에 대응되는 최종 레이블을 결정할 수 있다(S130). 이하에서는, 도 5 및 도 6을 참조하여, 특징화 벡터를 클러스터링하는 방법에 대하여 설명한다.
도 5는 본 발명의 일 실시예에 따른 특징화 벡터의 클러스터링 방법을 설명하기 위한 도면이고, 도 6은 본 발명의 다른 실시예에 따른 특징화 벡터의 클러스터링 방법을 설명하기 위한 도면이다.
일 실시예에 따른 객체 분류기 생성 장치(100)는 사용자로부터 입력된 최종 레이블의 개수에 따라 복수의 특징화 벡터를 클러스터링 할 수 있다. 이 경우, 객체 분류기 생성 장치(100)는 K-means 클러스터링 알고리즘, GMM(Gaussian Mixture Models)를 이용한 EM(Expectation Maximization) 클러스터링 알고리즘 등을 채택하여 클러스터링을 수행할 수 있다.
객체 분류기 생성 장치(100)가 K-means 클러스터링 알고리즘을 채택하는 경우, 객체 분류기 생성 장치(100)는 입력된 최종 레이블의 개수에 대응되는 임의의 점 k를 군집의 중심으로서 선택할 수 있다. 그 다음, 객체 분류기 생성 장치(100)는 선택된 임의의 점 k개의 군집 중심과 개별 특징화 벡터 사이의 거리를 구하고, 가장 인접한 군집 중심으로 해당 특징화 벡터를 할당할 수 있다. 이 후, 객체 분류기 생성 장치(100)는 군집에 속하게 된 특징화 벡터들의 평균 값을 새로운 군집의 중심으로 설정하고, 군집 중심의 변화가 없을 때까지 상술한 과정을 반복할 수 있다.
또한, 도 5와 같이, 객체 분류기 생성 장치(100)가 GMM를 이용한 EM 클러스터링 알고리즘을 채택하는 경우, 객체 분류기 생성 장치(100)는 특징화 벡터가 가우시안 분포를 따른다는 전제하에, 특징화 벡터의 평균 및 표준 편차를 이용하여 클러스터링을 수행할 수 있다.
반면, 다른 실시예에 따른 객체 분류기 생성 장치(100)는 사용자로부터 별도의 입력 없이, 자체적으로 복수의 특징화 벡터를 클러스터링 할 수도 있다. 이 경우, 객체 분류기 생성 장치(100)는 Mean-Shift 클러스터링 알고리즘, DBSCAN(Density-Based Spatial Clustering of Applications with Noise) 알고리즘 등을 채택하여 클러스터링을 수행할 수 있다.
도 6과 같이, 상술한 방법에 따라 클러스터링을 수행하는 경우, 객체 분류기 생성 장치(100)는 미리 정해진 영역의 윈도우(Window)를 설정할 수 있다. 객체 분류기 생성 장치(100)는 윈도우의 위치를 이동하면서, 해당 윈도우 내 특징화 벡터의 밀도를 기초로 클러스터링을 수행할 수 있다. 마지막으로, 객체 분류기 생성 장치(100)는 클러스터링된 군집 각각에 최종 레이블을 할당할 수 있다.
다시 도 3을 참조하면, 객체 분류기 생성 장치(100)는 최종 레이블이 결정된 복수의 객체 이미지를 학습하여 최종 객체 분류기를 생성할 수 있다(S140). 구체적으로, 일 실시예에 따른 객체 분류기 생성 장치(100)는 지도 학습(Supervised Learning)에 따라, 최종 객체 분류기를 생성할 수 있다. 이 때, 객체 분류기 생성 장치(100)는 초기 객체 분류기의 가중치 및 바이어스 등을 최종 객체 분류기의 학습 시에도 동일하게 이용할 수 있다. 이를 통해, 학습 시간의 효율화를 달성할 수 있다.
지도 학습 방법을 따를 때, 객체 분류기 생성 장치(100)는 미리 정해진 복수의 학습 이미지를 포함하는 복수의 객체 이미지를 입력으로 하고, 해당 객체 이미지 내 객체의 종류를 최종 레이블로 대응시킨 학습 데이터를 학습할 수 있다. 구체적으로, 객체 분류기 생성 장치(100)는 입력인 객체 이미지와 정답인 객체의 종류 사이의 관계를 학습함으로써, 입력되는 객체 이미지를 객체의 종류에 따라 분류할 수 있는 최종 객체 분류기를 생성할 수 있다.
이와는 달리, 객체 분류기 생성 장치(100)는 객체 이미지에 객체의 종류가 레이블 된 일부 학습 데이터와 레이블 되지 않은 객체 이미지로 이루어진 나머지 학습 데이터를 함께 이용하여 학습하는 반지도 학습(Semisupervised Learning)에 의해 생성될 수도 있다. 또는, 초기 객체 분류기는 학습 결과가 올바른지에 대한 피드백을 이용하는 강화 학습(Reinforcement Learning)에 의해 생성될 수도 있다.
최종 객체 분류기는 적용 분야, 학습의 목적 또는 장치의 컴퓨터 성능 등을 고려하여 설계될 수 있다. 일 실시예에 따른 초기 객체 분류기는 신경망(Neural Network)을 기반으로 하는 모델일 수 있다. 예를 들어, 초기 객체 분류기는 CNN(Convolution Neural Network), DNN(Deep Neural Network), RNN(Recurrent Neural Network), BRDNN(Bidirectional Recurrent Deep Neural Network)과 같은 모델로 구현될 수 있으나, 이에 한정되지는 않는다.
이렇게 생성된 최종 객체 분류기에 객체 이미지가 입력되면, 학습을 통해 결정된 복수의 최종 레이블 중 어느 하나를 출력할 수 있다.
지금까지는 객체 이미지의 특징화 벡터를 이용하여 최종 객체 분류기를 생성하는 방법을 설명하였다. 이하에서는 학습 이미지의 특징화 벡터를 기초로 최종 객체 분류기를 생성하는 방법을 설명한다.
도 7은 본 발명의 다른 실시예에 따른 객체 분류기 생성 방법의 흐름도이다.
먼저, 객체 분류기 생성 장치(100)는 복수의 초기 학습 이미지를 학습하여 초기 객체 분류기를 생성할 수 있다(S200). 여기서 생성되는 초기 객체 분류기는 도 3의 단계 S100에서 생성되는 것과 동일하므로, 중복 설명은 생략한다.
그 다음, 객체 분류기 생성 장치(100)는 초기 객체 분류기에 복수의 학습 이미지를 입력할 수 있다(S210). 학습 이미지 입력 후, 객체 분류기 생성 장치(100)는 초기 객체 분류기의 복수의 은닉층 중 어느 하나로부터 복수의 학습 이미지 각각에 대응되는 복수의 특징화 벡터를 획득할 수 있다(S220).
도 3의 경우와 마찬가지로, 객체 분류기 생성 장치(100)는 손실 정보를 최소화 하기 위해, 복수의 은닉층 중 어느 하나로부터 학습 이미지에 대응되는 특징화 벡터를 획득하여 이용할 수 있다. 바람직하게는, 본 발명의 다른 실시예에 따른 객체 분류기 생성 장치(100)는 초기 객체 분류기를 구성하는 복수의 은닉층 중 마지막 은닉층에서 출력되는 복수의 특징화 벡터를 획득할 수 있다. 이렇게 획득되는 특징화 벡터는 학습 이미지 내 특징이 가장 명확하면서도 손실이 적을 수 있다.
특징화 벡터가 획득되면, 객체 분류기 생성 장치(100)는 획득된 복수의 특징화 벡터를 기초로, 동일 레이블 분류를 위한 복수의 객체 이미지의 특징화 벡터간 거리 임계값을 결정할 수 있다(S230). 여기서, 동일 레이블 분류를 위한 복수의 객체 이미지의 특징화 벡터 간 거리 임계값이란, 복수의 객체 이미지를 동일 레이블로 분류하기 위한 특징화 벡터 간 거리의 최대값을 의미할 수 있다.
이하에서는, 도 8을 참조하여, 거리 임계값을 구하는 방법을 설명한다.
도 8은 본 발명의 일 실시예에 따른 특징화 벡터 간 거리의 임계값을 구하는 방법을 설명하기 위한 도면이다.
객체 분류기 생성 장치(100)는 공지된 다양한 방법에 따라 복수의 특징화 벡터 간 거리를 구할 수 있다. 예를 들어, 객체 분류기 생성 장치(100)는 복수의 특징화 벡터 사이의 유클리드 거리(Euclidean Distance), 맨하탄 거리(Mangattan Distance), 코사인 거리(Cosine Distance), 및 자카드 거리(Jaccard Distance) 중 적어도 하나를 구할 수 있다.
도 8에서는 제 1 학습 이미지로부터 추출된 제 1 특징화 벡터 A와 제 2 학습 이미지로부터 추출된 제 2 특징화 벡터 B가 예시된다. 이 때, 제 1 특징화 벡터 A와 제 2 특징화 벡터 B의 맨하탄 거리 d1은 5이고, 유클리드 거리 d2는 3.6이고, 코사인 거리 α는 41.6°임을 확인할 수 있다.
거리 임계값을 결정하기 위해, 객체 분류기 생성 장치(100)는 획득된 복수의 특징화 벡터 중 동일한 초기 레이블에 속하는 특징화 벡터 사이의 제 1 거리와 서로 다른 초기 레이블에 속하는 특징화 벡터 사이의 제 2 거리의 차이를 구할 수 있다. 구체적으로, 객체 분류기 생성 장치(100)는 제 1 초기 레이블로 분류된 복수의 학습 이미지의 특징화 벡터 간 최대 거리인 제 1 거리와, 제 1 초기 레이블로 분류된 복수의 학습 이미지의 특징화 벡터와 제 2 초기 레이블로 분류된 복수의 학습 이미지의 특징화 벡터간 최단 거리인 제 2 거리의 차이를 구할 수 있다. 그 다음, 객체 분류기 생성 장치(100)는 획득된 제 1 거리와 제 2 거리의 차이의 절반을 거리 임계값으로 결정할 수 있다.
다시 도 7을 참조하면, 객체 분류기 생성 장치(100)는 결정된 거리 임계값을 기초로 최종 객체 분류기를 생성할 수 있다(S240). 다른 실시예에 따른 객체 분류기 생성 장치(100)는 초기 객체 분류기의 어느 하나의 은닉층과 임계값 비교기를 연결함으로써 최종 객체 분류기를 생성할 수 있다. 여기서, 임계값 비교기는 입력된 두 개의 객체 이미지로부터 획득된 특징화 벡터 간 거리를 상술한 거리 임계값과 비교하는 구성을 의미할 수 있다.
이렇게 생성된 최종 객체 분류기에 복수의 객체 이미지 중 적어도 두 개가 입력되면, 결과로서 입력된 적어도 두 개의 객체 이미지를 동일 레이블 또는 상이한 레이블로 출력될 수 있다. 구체적으로, 적어도 두 개의 객체 이미지가 입력되면, 최종 객체 분류기는 각각의 객체 이미지로부터 특징화 벡터를 획득하고, 획득된 특징화 벡터 간 거리를 거리 임계값과 비교할 수 있다. 그 결과, 특징화 벡터 간 거리가 거리 임계값 이하이면, 최종 객체 분류기는 적어도 두 개의 객체 이미지를 동일 레이블로 분류할 수 있다. 반면, 특징화 벡터 간 거리가 거리 임계값을 초과하면, 최종 객체 분류기는 적어도 두 개의 객체 이미지를 서로 다른 레이블로 분류할 수 있다.
상술한 객체 분류기 생성 장치 및 방법은, 학습을 통해 생성된 초기 객체 분류기의 출력층 이전의 은닉층으로부터 특징화 벡터를 획득하고, 이를 기초로 최종 객체 분류기를 생성하므로, 입력된 이미지 내 객체 정보를 손실 없이 이용하는 객체 분류기를 생성할 수 있다. 이렇게 생성된 객체 분류기는 보다 정확하게 객체에 따라 이미지를 분류할 수 있다. 특히, 외형 상의 특징은 명확하나 분류 기준을 명확히 정의하기 어려운 객체의 경우라도, 본 발명에 따라 생성된 객체 분류기는 이미지 내 외형 상의 특징을 손실 없이 이용하여 이미지를 정확하게 분류할 수 있다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 품질에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 명세서에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 균등한 범위 내에 있는 모든 기술사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
100: 객체 분류기 생성 장치
110: 저장부
120: 특징화 벡터 획득부
130: 클러스터링부
140: 최종 객체 분류기 생성부
150: 임계값 결정부
160: 통신부
110: 저장부
120: 특징화 벡터 획득부
130: 클러스터링부
140: 최종 객체 분류기 생성부
150: 임계값 결정부
160: 통신부
Claims (14)
- 복수의 객체 이미지 중 복수의 학습 이미지를 학습하여 생성된 초기 객체 분류기에 상기 복수의 객체 이미지를 입력하는 단계;
상기 초기 객체 분류기를 구성하는 복수의 은닉층(Hidden Layer) 중 어느 하나로부터 상기 입력된 복수의 객체 이미지 각각에 대응되는 복수의 특징화 벡터(Featurized Vector)를 획득하는 단계;
상기 획득된 복수의 특징화 벡터를 클러스터링(Clustering)하여 상기 복수의 객체 이미지 각각에 대응되는 최종 레이블(Label)을 결정하는 단계; 및
상기 최종 레이블이 결정된 상기 복수의 객체 이미지를 학습하여 최종 객체 분류기를 생성하는 단계를 포함하고,
상기 최종 레이블(Label)을 결정하는 단계에서, k-means 클러스터링 알고리즘 및 GMM을 이용한 EM 클러스팅 알고리즘 중 어느 하나를 이용하여 상기 복수의 특징화 벡터를 클러스터링하는
객체 분류기 생성 방법. - 제 1 항에 있어서,
상기 복수의 특징화 벡터를 획득하는 단계는,
상기 초기 객체 분류기를 구성하는 상기 복수의 은닉층 중 마지막 은닉층에서 출력되는 복수의 특징화 벡터를 획득하는
객체 분류기 생성 방법. - 제 1 항에 있어서,
상기 최종 레이블을 결정하는 단계는,
상기 최종 레이블의 개수를 입력받는 단계;
상기 입력된 최종 레이블의 개수에 따라 상기 복수의 특징화 벡터를 클러스터링하는 단계; 및
상기 클러스터링에 의해 생성된 복수의 군집 각각에 최종 레이블을 할당하는 단계를 포함하는
객체 분류기 생성 방법. - 제 1 항에 있어서,
상기 최종 레이블을 결정하는 단계는,
미리 정해진 영역의 윈도우(Window)를 설정하는 단계;
상기 윈도우의 위치를 이동하는 단계;
상기 윈도우 내 상기 특징화 벡터의 밀도를 기초로 클러스터링을 수행하는 단계; 및
상기 클러스터링에 의해 생성된 복수의 군집 각각에 최종 레이블을 할당하는 단계를 포함하는
객체 분류기 생성 방법. - 제 1 항에 있어서,
상기 복수의 객체 이미지를 학습하여 테스트 객체 분류기를 생성하는 단계;
상기 테스트 객체 분류기에 대하여 임계값 이상의 성공률을 가지는 초기 레이블을 확인하는 단계;
상기 임계값 이상의 성공률을 가지는 초기 레이블 내 객체 이미지를 상기 학습 이미지로 결정하는 단계; 및
상기 초기 레이블이 결정된 상기 학습 이미지를 학습하여 상기 초기 객체 분류기를 생성하는 단계를 더 포함하는
객체 분류기 생성 방법. - 복수의 객체 이미지 중 복수의 학습 이미지를 학습하여 생성된 초기 객체 분류기에 상기 복수의 학습 이미지를 입력하는 단계;
상기 초기 객체 분류기를 구성하는 복수의 은닉층(Hidden Layer) 중 어느 하나로부터 상기 입력된 복수의 학습 이미지 각각에 대응되는 복수의 특징화 벡터(Featurized Vector)를 획득하는 단계; 및
상기 획득된 복수의 특징화 벡터 중 동일한 초기 레이블에 속하는 특징화 벡터 사이의 제1 거리 및 서로 다른 초기 레이블에 속하는 특징화 벡터 사이의 제2 거리를 기초로, 동일 레이블 분류를 위한 상기 복수의 객체 이미지의 특징화 벡터 간 거리 임계값을 결정하는 단계를 포함하고,
상기 임계값을 결정하는 단계에서, 상기 거리 임계값은 상기 제1 거리 및 상기 제2 거리의 차이의 1/2인값으로 결정하는
객체 분류기 생성 방법. - 제 6 항에 있어서,
상기 복수의 특징화 벡터를 획득하는 단계는,
상기 초기 객체 분류기를 구성하는 상기 복수의 은닉층 중 마지막 은닉층에서 출력되는 복수의 특징화 벡터를 획득하는
객체 분류기 생성 방법. - 제 1 항에 있어서,
상기 결정된 거리 임계값을 기초로 상기 복수의 객체 이미지 중 적어도 두 개에 대하여 동일 레이블로 분류할지 여부를 결정하는 단계를 더 포함하는
객체 분류기 생성 방법. - 제 8 항에 있어서,
상기 복수의 객체 이미지 중 적어도 두 개에 대하여 동일 레이블로 분류할지 여부를 결정하는 단계는,
상기 복수의 객체 이미지 중 적어도 두 개를 입력받는 단계;
상기 초기 객체 분류기를 구성하는 복수의 은닉층 중 어느 하나로부터 상기 적어도 두 개의 객체 이미지 각각에 대응되는 적어도 두 개의 특징화 벡터를 획득하는 단계; 및
상기 획득된 적어도 두 개의 특징화 벡터 간 거리를 상기 결정된 거리 임계값과 비교하여, 상기 적어도 두 개의 객체 이미지를 동일 레이블로 분류할지 여부를 결정하는 단계를 더 포함하는
객체 분류기 생성 방법. - 제 6 항에 있어서,
상기 복수의 객체 이미지를 학습하여 테스트 객체 분류기를 생성하는 단계;
상기 테스트 객체 분류기에 대하여 임계값 이상의 성공률을 가지는 초기 레이블을 확인하는 단계;
상기 임계값 이상의 성공률을 가지는 초기 레이블 내 객체 이미지를 상기 학습 이미지로 결정하는 단계; 및
상기 초기 레이블이 결정된 상기 학습 이미지를 학습하여 상기 초기 객체 분류기를 생성하는 단계를 더 포함하는
객체 분류기 생성 방법. - 복수의 객체 이미지 중 복수의 학습 이미지를 학습하여 생성된 초기 객체 분류기가 저장되는 저장부;
상기 저장된 초기 객체 분류기에 상기 복수의 객체 이미지를 입력하고, 상기 초기 객체 분류기를 구성하는 복수의 은닉층(Hidden Layer) 중 어느 하나로부터 상기 입력된 복수의 객체 이미지 각각에 대응되는 복수의 특징화 벡터(Featurized Vector)를 획득하는 특징화 벡터 획득부;
상기 획득된 복수의 특징화 벡터를 클러스터링(Clustering)하여 상기 복수의 객체 이미지 각각에 대응되는 최종 레이블(Label)을 결정하는 클러스터링부; 및
상기 최종 레이블이 결정된 상기 복수의 객체 이미지를 학습하여 최종 객체 분류기를 생성하는 최종 객체 분류기 생성부를 포함하고,
상기 클러스터링부는 k-means 클러스터링 알고리즘 및 GMM을 이용한 EM 클러스팅 알고리즘 중 어느 하나를 이용하여 상기 복수의 특징화 벡터를 클러스터링하는
객체 분류기 생성 장치. - 복수의 객체 이미지 중 복수의 학습 이미지를 학습하여 생성된 초기 객체 분류기가 저장되는 저장부;
상기 저장된 초기 객체 분류기에 상기 복수의 학습 이미지를 입력하고, 상기 초기 객체 분류기를 구성하는 복수의 은닉층(Hidden Layer) 중 어느 하나로부터 상기 입력된 복수의 학습 이미지 각각에 대응되는 복수의 특징화 벡터(Featurized Vector)를 획득하는 특징화 벡터 획득부;
상기 획득된 복수의 특징화 벡터 중 동일한 초기 레이블에 속하는 특징화 벡터 사이의 제1 거리 및 서로 다른 초기 레이블에 속하는 특징화 벡터 사이의 제2 거리를 기초로, 동일 레이블 분류를 위한 상기 복수의 객체 이미지의 특징화 벡터 간 거리 임계값을 결정하는 임계값 결정부를 포함하고,
상기 임계값 결정부는 상기 제1 거리 및 상기 제2 거리의 차이의 1/2인값을 거리 임계값으로 결정하는
객체 분류기 생성 장치. - 제 1 항 내지 제 10 항 중 어느 한 항에 기재된 방법에 따른 각각의 단계를 수행하는 명령어를 포함하는 프로그램이 기록된 컴퓨터 판독 가능 기록매체.
- 제 1 항 내지 제 10 항 중 어느 한 항에 기재된 방법에 따른 각각의 단계를 수행하는, 컴퓨터 판독 가능 기록매체에 저장된 프로그램.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180158613A KR102180054B1 (ko) | 2018-12-10 | 2018-12-10 | 객체 분류기 생성 장치 및 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180158613A KR102180054B1 (ko) | 2018-12-10 | 2018-12-10 | 객체 분류기 생성 장치 및 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20200075094A KR20200075094A (ko) | 2020-06-26 |
KR102180054B1 true KR102180054B1 (ko) | 2020-11-17 |
Family
ID=71136790
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020180158613A KR102180054B1 (ko) | 2018-12-10 | 2018-12-10 | 객체 분류기 생성 장치 및 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102180054B1 (ko) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102375579B1 (ko) * | 2021-11-16 | 2022-03-17 | 주식회사 테스트웍스 | 사용자 디바이스 기반의 신경망 학습 데이터 가공 방법, 시스템 및 컴퓨터 프로그램 |
KR20240109389A (ko) * | 2023-01-04 | 2024-07-11 | 라인플러스 주식회사 | 얼굴 인식을 위한 이미지의 임베딩을 등록하는 방법 및 시스템 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008084076A (ja) * | 2006-09-28 | 2008-04-10 | Toshiba Corp | 画像処理装置、方法およびプログラム |
JP2013250868A (ja) | 2012-06-01 | 2013-12-12 | Honda Elesys Co Ltd | 画像認識装置、画像認識方法および画像認識プログラム |
KR101442042B1 (ko) * | 2013-06-21 | 2014-09-23 | 한국과학기술원 | 보완적 특징점 기반 기술자를 이용한 3차원 객체인식방법 및 장치 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102232797B1 (ko) | 2014-03-03 | 2021-03-26 | 에스케이플래닛 주식회사 | 객체 식별 장치, 그 방법 및 컴퓨터 프로그램이 기록된 기록매체 |
KR20180069452A (ko) * | 2016-12-15 | 2018-06-25 | 삼성전자주식회사 | 뉴럴 네트워크의 학습 방법 및 뉴럴 네트워크를 이용한 인식 방법, 및 그 장치 |
KR102400017B1 (ko) * | 2017-05-17 | 2022-05-19 | 삼성전자주식회사 | 객체를 식별하는 방법 및 디바이스 |
-
2018
- 2018-12-10 KR KR1020180158613A patent/KR102180054B1/ko active IP Right Grant
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008084076A (ja) * | 2006-09-28 | 2008-04-10 | Toshiba Corp | 画像処理装置、方法およびプログラム |
JP2013250868A (ja) | 2012-06-01 | 2013-12-12 | Honda Elesys Co Ltd | 画像認識装置、画像認識方法および画像認識プログラム |
KR101442042B1 (ko) * | 2013-06-21 | 2014-09-23 | 한국과학기술원 | 보완적 특징점 기반 기술자를 이용한 3차원 객체인식방법 및 장치 |
Also Published As
Publication number | Publication date |
---|---|
KR20200075094A (ko) | 2020-06-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10417526B2 (en) | Object recognition method and device | |
CN111523621B (zh) | 图像识别方法、装置、计算机设备和存储介质 | |
EP3754548A1 (en) | A method for recognizing an object in an image using features vectors of an encoding neural network | |
US10706267B2 (en) | Compact models for object recognition | |
Mahdavi et al. | A survey on open set recognition | |
Weinrich et al. | Estimation of human upper body orientation for mobile robotics using an SVM decision tree on monocular images | |
EP2091021A1 (en) | Face authentication device | |
CN109002755B (zh) | 基于人脸图像的年龄估计模型构建方法及估计方法 | |
KR20170026222A (ko) | 이미지의 객체를 분류하기 위한 방법 및 디바이스, 및 대응하는 컴퓨터 프로그램 제품 및 컴퓨터 판독가능한 매체 | |
CN116250020A (zh) | 使用潜在邻域图检测对抗性示例 | |
KR102180054B1 (ko) | 객체 분류기 생성 장치 및 방법 | |
CN111291773A (zh) | 特征识别的方法及装置 | |
Robert et al. | Mouth features extraction for emotion classification | |
Chidananda et al. | Entropy-cum-Hough-transform-based ear detection using ellipsoid particle swarm optimization | |
CN112101087B (zh) | 一种面部图像身份去识别方法、装置及电子设备 | |
Schliebs et al. | Integrated feature and parameter optimization for an evolving spiking neural network | |
Mahammed et al. | Fake profiles identification on social networks with bio inspired algorithm | |
Kapoor et al. | Mixture of gaussian processes for combining multiple modalities | |
Pham et al. | Face detection by aggregated bayesian network classifiers | |
Tsuchiya et al. | Transfer forest based on covariate shift | |
Kakarwal et al. | Hybrid feature extraction technique for face recognition | |
KR101567686B1 (ko) | 인증 방법 및 이를 이용한 인증 장치 | |
CN111191675B (zh) | 行人属性识别模型实现方法及相关装置 | |
Saxena et al. | A comparative study on adversarial noise generation for single image classification | |
Mueller et al. | Visual object categorization based on hierarchical shape motifs learned from noisy point cloud decompositions |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |