KR102049331B1 - 이미지 분류 장치와 방법 및 이미지 분류를 위한 이미지 학습 장치 - Google Patents
이미지 분류 장치와 방법 및 이미지 분류를 위한 이미지 학습 장치 Download PDFInfo
- Publication number
- KR102049331B1 KR102049331B1 KR1020170106244A KR20170106244A KR102049331B1 KR 102049331 B1 KR102049331 B1 KR 102049331B1 KR 1020170106244 A KR1020170106244 A KR 1020170106244A KR 20170106244 A KR20170106244 A KR 20170106244A KR 102049331 B1 KR102049331 B1 KR 102049331B1
- Authority
- KR
- South Korea
- Prior art keywords
- features
- image
- error
- learning
- value
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2413—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
-
- G06K9/627—
-
- G06K9/46—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (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)
- Multimedia (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Image Analysis (AREA)
Abstract
본 발명은 이미지에 포함된 특징들에 대한 정보와 이미지 내 클래스에 포함된 특징들에 대한 정보를 기초로 생성된 오차 함수를 이용하여 이미지들을 학습시키고, 그 결과를 바탕으로 이미지들을 분류하는 이미지 분류 장치 및 방법을 제안한다. 본 발명에 따른 장치는 기준 이미지에 포함된 제1 특징들에 대한 정보 및 기준 이미지에서 객체 단위로 형성된 클래스 내에 위치하는 제2 특징들에 대한 정보를 기초로 오차 함수를 생성하며, 오차 함수를 기초로 입력된 이미지들을 학습시키는 이미지 학습부; 이미지들을 학습시켜 얻은 결과를 기초로 임계값을 설정하는 임계값 설정부; 및 임계값을 기초로 이미지들을 분류하는 이미지 분류부를 포함한다.
Description
본 발명은 이미지 분류를 위해 신경망을 학습시키는 이미지 학습 장치에 관한 것이다. 또한 본 발명은 이미지 학습 결과를 바탕으로 이미지를 분류하는 이미지 분류 장치 및 방법에 관한 것이다.
일반적으로 합성곱 신경망(CNN; Convolutional Neural Network)은 소프트맥스(softmax) 오차를 최소화하는 방식을 활용하여 학습한다. 하지만 얼굴 인식 문제에서는 소프트맥스 오차만을 이용하여 학습한 모델이 어려움을 겪고 있다. 이는 모델이 도출한 특징이 서로 밀집되어 있어 각 클래스 간의 구분이 어려워지기 때문이다.
얼굴과 같이 유사도가 높은 이미지 분류를 위해서는 학습되는 특징이 서로 분류(classification)되어야 할 뿐만 아니라, 특징이 더 많이 구분되고 차별적 구분 즉, 식별(discrimination)되는 모델이 필요하다.
본 발명은 상기한 문제점을 해결하기 위해 안출된 것으로서, 이미지에 포함된 특징들에 대한 정보와 이미지 내 클래스에 포함된 특징들에 대한 정보를 기초로 생성된 오차 함수를 이용하여 이미지들을 학습시키고, 그 결과를 바탕으로 이미지들을 분류하는 이미지 분류 장치 및 방법을 제안하는 것을 목적으로 한다.
또한 본 발명은 이미지에 포함된 특징들에 대한 정보와 이미지 내 클래스에 포함된 특징들에 대한 정보를 기초로 생성된 오차 함수를 이용하여 이미지들을 학습시키는 이미지 학습 장치를 제안하는 것을 목적으로 한다.
그러나 본 발명의 목적은 상기에 언급된 사항으로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
본 발명은 상기한 목적을 달성하기 위해 안출된 것으로서, 기준 이미지에 포함된 제1 특징들에 대한 정보 및 기준 이미지에서 객체(object) 단위로 형성된 클래스(class) 내에 위치하는 제2 특징들에 대한 정보를 기초로 오차 함수를 생성하며, 상기 오차 함수를 기초로 입력된 이미지들을 학습시키는 이미지 학습부; 상기 이미지들을 학습시켜 얻은 결과를 기초로 임계값을 설정하는 임계값 설정부; 및 상기 임계값을 기초로 상기 이미지들을 분류하는 이미지 분류부를 포함하는 것을 특징으로 하는 이미지 분류 장치를 제안한다.
바람직하게는, 상기 이미지 학습부는 합성곱 신경망(Convolutional Neural Network)을 이용하여 상기 이미지들을 학습시킨다.
바람직하게는, 상기 이미지 학습부는 상기 제1 특징들의 평균값을 기초로 생성된 제1 오차, 상기 제2 특징들의 평균값을 기초로 생성된 제2 오차 및 크로스 엔트로피(cross-entropy)와 관련된 제3 오차를 기초로 상기 오차 함수를 생성한다.
바람직하게는, 상기 이미지 학습부는 상기 제1 특징들의 평균값과 상기 기준 이미지에 포함된 각 특징 사이의 제1 차이값들, 및 제1 가중치를 기초로 상기 제1 오차를 산출한다. 더욱 바람직하게는, 상기 이미지 학습부는 상기 제1 차이값들 중에서 선택된 최대값을 L2-norm에 적용하여 제1 값을 산출하고, 각각의 제1 차이값을 L2-norm에 적용하여 제2 값들을 산출하며, 상기 제1 값에 상기 제1 가중치를 더한 후 각각의 제2 값을 빼서 얻은 제3 값들과 0을 비교하여 얻은 결과들을 기초로 상기 제1 오차를 산출한다.
바람직하게는, 상기 이미지 학습부는 상기 제2 특징들의 평균값과 상기 기준 이미지에 포함된 각 특징 사이의 제2 차이값들, 및 상기 기준 이미지에 포함된 상기 클래스의 개수를 기초로 상기 제2 오차를 산출한다. 더욱 바람직하게는, 상기 이미지 학습부는 각 클래스를 대상으로 제2 차이값들을 산출하고, 클래스마다 산출된 제2 차이값들을 L2-norm에 적용하여 클래스마다 제4 값들을 산출하며, 클래스마다 산출된 제4 값들을 합산하여 얻은 결과를 기초로 상기 제2 오차를 산출한다.
바람직하게는, 상기 이미지 학습부는 상기 제1 오차에 제2 가중치를 곱하여 제5 값을 산출하고, 상기 제2 오차에 제3 가중치를 곱하여 제6 값을 산출하며, 상기 제5 값과 상기 제6 값 및 상기 제3 오차를 합산하여 얻은 결과를 기초로 상기 오차 함수를 생성한다.
바람직하게는, 상기 이미지 분류부는 상기 이미지들에 포함된 특징들이 상기 임계값 이하인지 여부를 기초로 상기 이미지들을 분류한다.
바람직하게는, 상기 이미지 분류부는 비교 대상 이미지에 포함된 특징들이 상기 임계값 이하인 것으로 판단되면 상기 비교 대상 이미지에 포함된 객체를 상기 기준 이미지에 포함된 객체와 동일인으로 분류하며, 상기 비교 대상 이미지에 포함된 특징들이 상기 임계값 초과인 것으로 판단되면 상기 비교 대상 이미지에 포함된 객체를 상기 기준 이미지에 포함된 객체와 타인으로 분류한다.
바람직하게는, 상기 이미지 분류 장치는 상기 이미지들이 입력되면 상기 제1 특징들이 밀집되어 있을 것으로 예측되는 지점을 기준으로 미리 정해진 크기를 가지도록 각 이미지를 편집하는 이미지 조정부를 더 포함하며, 상기 이미지 학습부는 편집된 상기 이미지들을 학습시킨다.
또한 본 발명은 기준 이미지에 포함된 제1 특징들에 대한 정보 및 상기 기준 이미지에서 객체(object) 단위로 형성된 클래스(class) 내에 위치하는 제2 특징들에 대한 정보를 기초로 오차 함수를 생성하며, 상기 오차 함수를 기초로 입력된 이미지들을 학습시키는 단계; 상기 이미지들을 학습시켜 얻은 결과를 기초로 임계값을 설정하는 단계; 및 상기 임계값을 기초로 상기 이미지들을 분류하는 단계를 포함하는 것을 특징으로 하는 이미지 분류 방법을 제안한다.
바람직하게는, 상기 학습시키는 단계는 합성곱 신경망(Convolutional Neural Network)을 이용하여 상기 이미지들을 학습시킨다.
바람직하게는, 상기 학습시키는 단계는 상기 제1 특징들의 평균값을 기초로 생성된 제1 오차, 상기 제2 특징들의 평균값을 기초로 생성된 제2 오차 및 크로스 엔트로피(cross-entropy)와 관련된 제3 오차를 기초로 상기 오차 함수를 생성한다.
바람직하게는, 상기 학습시키는 단계는 상기 제1 특징들의 평균값과 상기 기준 이미지에 포함된 각 특징 사이의 제1 차이값들, 및 제1 가중치를 기초로 상기 제1 오차를 산출한다. 더욱 바람직하게는, 상기 학습시키는 단계는 상기 제1 차이값들 중에서 선택된 최대값을 L2-norm에 적용하여 제1 값을 산출하고, 각각의 제1 차이값을 L2-norm에 적용하여 제2 값들을 산출하며, 상기 제1 값에 상기 제1 가중치를 더한 후 각각의 제2 값을 빼서 얻은 제3 값들과 0을 비교하여 얻은 결과들을 기초로 상기 제1 오차를 산출한다.
바람직하게는, 상기 학습시키는 단계는 상기 제2 특징들의 평균값과 상기 기준 이미지에 포함된 각 특징 사이의 제2 차이값들, 및 상기 기준 이미지에 포함된 상기 클래스의 개수를 기초로 상기 제2 오차를 산출한다. 더욱 바람직하게는, 상기 학습시키는 단계는 각 클래스를 대상으로 제2 차이값들을 산출하고, 클래스마다 산출된 제2 차이값들을 L2-norm에 적용하여 클래스마다 제4 값들을 산출하며, 클래스마다 산출된 제4 값들을 합산하여 얻은 결과를 기초로 상기 제2 오차를 산출한다.
바람직하게는, 상기 학습시키는 단계는 상기 제1 오차에 제2 가중치를 곱하여 제5 값을 산출하고, 상기 제2 오차에 제3 가중치를 곱하여 제6 값을 산출하며, 상기 제5 값과 상기 제6 값 및 상기 제3 오차를 합산하여 얻은 결과를 기초로 상기 오차 함수를 생성한다.
바람직하게는, 상기 분류하는 단계는 상기 이미지들에 포함된 특징들이 상기 임계값 이하인지 여부를 기초로 상기 이미지들을 분류한다.
바람직하게는, 상기 분류하는 단계는 비교 대상 이미지에 포함된 특징들이 상기 임계값 이하인 것으로 판단되면 상기 비교 대상 이미지에 포함된 객체를 상기 기준 이미지에 포함된 객체와 동일인으로 분류하며, 상기 비교 대상 이미지에 포함된 특징들이 상기 임계값 초과인 것으로 판단되면 상기 비교 대상 이미지에 포함된 객체를 상기 기준 이미지에 포함된 객체와 타인으로 분류한다.
바람직하게는, 상기 학습시키는 단계 이전에, 상기 이미지들이 입력되면 상기 제1 특징들이 밀집되어 있을 것으로 예측되는 지점을 기준으로 미리 정해진 크기를 가지도록 각 이미지를 편집하는 단계를 더 포함하며, 상기 학습시키는 단계는 편집된 상기 이미지들을 학습시킨다.
또한 본 발명은 기준 이미지에 포함된 제1 특징들의 평균값 및 상기 기준 이미지에서 객체(object) 단위로 형성된 클래스(class) 내에 위치하는 제2 특징들의 평균값을 기초로 오차 함수를 생성하며, 상기 오차 함수를 기초로 입력된 이미지들을 학습시키는 것을 특징으로 하는 이미지 학습 장치를 제안한다.
본 발명은 상기한 목적 달성을 위한 구성들을 통하여 다음 효과를 얻을 수 있다.
첫째, 신경망 학습을 통해 얼굴에 대한 이미지도 분류하는 것이 가능해진다.
둘째, 신규 이미지가 입력될 때마다 신경망 학습을 반복할 필요가 없으며, 이에 따라 이미지 분류의 효율성을 향상시킬 수 있다.
도 1은 본 발명의 일실시예에 따른 이미지 분류 시스템의 내부 구성을 개략적으로 도시한 개념도이다.
도 2는 심화 학습된 특징들의 분포도이다.
도 3은 본 발명에서 제안하는 글로벌 중심 오차가 반영된 오차 함수의 성능을 보여주는 예시도이다.
도 4는 본 발명에서 제안하는 오차 함수들의 성능을 보여주는 참고도이다.
도 5는 본 발명의 바람직한 실시예에 따른 이미지 분류 장치를 개략적으로 도시한 개념도이다.
도 6은 본 발명의 바람직한 실시예에 따른 이미지 분류 방법을 개략적으로 도시한 흐름도이다.
도 2는 심화 학습된 특징들의 분포도이다.
도 3은 본 발명에서 제안하는 글로벌 중심 오차가 반영된 오차 함수의 성능을 보여주는 예시도이다.
도 4는 본 발명에서 제안하는 오차 함수들의 성능을 보여주는 참고도이다.
도 5는 본 발명의 바람직한 실시예에 따른 이미지 분류 장치를 개략적으로 도시한 개념도이다.
도 6은 본 발명의 바람직한 실시예에 따른 이미지 분류 방법을 개략적으로 도시한 흐름도이다.
이하, 본 발명의 바람직한 실시예를 첨부된 도면들을 참조하여 상세히 설명한다. 우선 각 도면의 구성요소들에 참조 부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다. 또한, 이하에서 본 발명의 바람직한 실시예를 설명할 것이나, 본 발명의 기술적 사상은 이에 한정하거나 제한되지 않고 당업자에 의해 변형되어 다양하게 실시될 수 있음은 물론이다.
도 1은 본 발명의 일실시예에 따른 이미지 분류 시스템의 내부 구성을 개략적으로 도시한 개념도이다.
도 1에 따르면, 이미지 분류 시스템(100)은 입력 모듈(110), 조정 모듈(120), 학습 모듈(130), 설정 모듈(140) 및 분류 모듈(150)를 포함한다.
입력 모듈(110)은 분류 대상 이미지들을 입력받아 저장하는 기능을 수행한다.
조정 모듈(120)은 입력 모듈(110)로 분류 대상 이미지들이 입력되면 미리 정해진 기준에 따라 이 이미지들을 편집하는 기능을 수행한다. 일례로, 조정 모듈(120)은 각 이미지를 효율적으로 분류시키기 위해 특징들이 밀집되어 있을 것으로 예측되는 중심부를 기준으로 미리 정해진 크기를 가지도록 각 이미지를 편집할 수 있다. 본 발명에서는 이렇게 편집된 이미지를 미니 배치(mini-batch)로 이용할 수 있다.
학습 모듈(130)은 조정 모듈(120)에 의해 편집된 각 이미지를 학습시켜 각 이미지로부터 특징들을 추출하는 기능을 수행한다. 학습 모듈(130)은 이미지 학습을 위해 일례로 합성곱 신경망(CNN; Convolutional Neural Network)을 이용할 수 있다.
본 발명에서는 얼굴에 대한 이미지도 분류하는 것이 가능하도록 특징들이 특정 부분에 밀집되지 않게 글로벌 중심 오차(global center loss)와 로컬 중심 오차(local center loss)가 추가된 오차 함수를 이용하여 각 이미지를 학습시킨다. 이하 이에 대해 자세하게 설명한다.
얼굴과 같이 유사한 이미지를 분류하기 위해서는 신경망이 좀더 구분되는 특징을 도출해야 한다. 본 발명에서는 얼굴과 같이 유사한 이미지를 분류하기 위해 오차 함수에 글로벌 중심 오차(global center loss)와 로컬 중심 오차(local center loss)를 추가한다.
글로벌 중심 오차(global center loss)와 로컬 중심 오차(local center loss)는 이미지로부터 추출된 특징들이 밀집되어 클래스를 분류하는 매니폴드를 구하기 어려워져 이미지 분류 성능이 저하되는 문제점을 해결하기 위해 제안된 것으로서, 특징들이 소정의 지점에 밀집되지 않도록 강제하는 방식을 말한다.
이미지 분류 학습시 활용하는 오차에는 소프트맥스 크로스 엔트로피(softmax cross-entropy) 오차, 각 클래스의 분산을 줄이는 오차 등이 있다. 본 발명에서는 이러한 오차들과 상기에서 제안하는 오차들을 조합하여 이미지 분류 학습에 활용하기로 한다.
이하에서는 오차 함수에 본 발명에서 제안하는 오차들이 추가된 알고리즘에 따라 식별적 특징 학습을 거친 얼굴 인식 향상 기법에 대하여 설명한다.
합성곱 신경망은 신경망으로 구성된 딥 러닝(deep learning) 유형이다. 일반적인 신경망은 이미지 데이터 그대로 처리하지만, 합성곱 신경망은 이미지에서 특징들을 추출한 후 이 특징들을 기초로 이미지를 처리한다.
그런데 ILSVRC(ImageNet Large-Scale Visual Recognition Challenge)를 통해 많고 다양한 이미지 분류 학습을 경험하게 되면서 기존보다 깊이가 더 깊어진 합성곱 신경망을 구축하는 것이 가능해졌다. 이에 따라 합성곱 신경망은 이미지로부터 고차원의 특징들까지 추출하는 것이 가능해졌으며, 이미지 인식 성능도 향상시킬 수 있게 되었다.
깊이가 깊은 합성곱 신경망이 깊이가 얕은 합성곱 신경망보다 더 좋은 특징 표현을 가진다는 전제 하에, 더 깊은 신경망을 설계하기 위해 많은 다양한 기법들이 제안되었지만, 분류하고 싶은 대상이 일반적인 이미지와 다른 성격을 갖고 있으면 신경망의 깊이와 함께 추가적으로 고려해야 할 사항이 있다.
본 발명에서는 합성곱 신경망이 더 구분되는 특징들을 도출하여 얼굴과 같이 유사한 이미지도 분류할 수 있도록 이미지로부터 추출된 특징들이 각 클래스의 중심과의 거리를 줄임과 동시에 모든 특징들의 중심으로부터 멀어지도록 하는 모델을 제안한다. 본 발명에서는 이와 같이 클래스 간에 거리를 멀어지도록 하면서 학습하는 방식을 글로벌 중심 오차(global center loss)로 정의한다.
본 발명에서 조인트 중심 오차(joint center loss)는 글로벌 중심 오차(global center loss) 및 로컬 중심 오차(local center loss)를 포함하는 오차 함수의 개념이다.
조인트 중심 오차(joint center loss)를 기반으로 한 오차 함수가 적용된 모델은 이미지를 분류하는 방법에도 차이가 있다. 일반적인 모델을 이용하는 경우 소프트맥스(softmax)를 활용하여 학습 후 도출된 라벨을 통해 이미지를 분류하지만, 조인트 중심 오차를 기반으로 한 오차 함수가 적용된 모델을 이용하는 경우 이미지로부터 추출된 특징들과 각 클래스의 중심 사이의 거리를 비교하여 가장 가까운 중심을 같은 클래스로 선택하여 이미지를 분류한다.
합성곱 신경망은 소프트맥스(softmax)한 값을 정답 레이블의 크로스 엔트로피(cross-entropy)를 최소화하는 방식을 활용하여 학습한다. 하지만 얼굴 인식 문제에서는 소프트맥스(softmax) 오차만을 이용하여 학습한 모델이 어려움을 겪고 있다. 이는 모델로부터 추출된 특징들이 서로 밀집되어 있어 각 클래스 간의 구분이 어려워지기 때문이다.
얼굴과 같이 유사도가 높은 이미지를 분류하기 위해서는 학습되는 특징들이 서로 분류(classification)되어야 할 뿐만 아니라, 특징들이 더 많이 구분되고 차별적 구분 즉, 식별(discrimination)되는 모델이 필요하다.
도 2는 심화 학습된 특징들(deeply learned features)의 분포도이다. 도 2의 (a)는 구별적 특징(separable feature)의 분포도를 나타낸 것이며, 도 2의 (b)는 식별적 특징(discriminative feature)의 분포도를 나타낸 것이다.
모델이 식별적 특징들을 가지도록 강제하면서 학습시키면 얼굴 인식 분야에서 높은 수준의 인식률을 얻을 수 있다. 추가적으로 식별적 특징들을 가지도록 강제한 모델은 분류시 다음과 같은 장점도 갖게 된다.
첫째, 모델로부터 추출된 특징들은 이전의 소프트맥스(softmax)에 비해 더 구분되기 때문에 특징들 간의 유클리드 거리를 측정하여 분류가 더욱 적합해진다. 또한 추출된 특징들과 각 클래스의 중심을 비교하여 가장 가까운 중심을 찾아 분류를 하는 것도 가능해진다.
둘째, 여러 이미지들을 활용하여 특징들을 도출하고 각 특징의 유클리드 거리를 비교하여 자신과 가장 유사한 이미지 순으로 분류할 수 있다. 특히 클래스 결과를 받지 않고 특징들을 추출하여 분류하는 것은 실용적으로 매우 큰 장점을 갖는다. 그 이유는 모델이 새로운 분류의 이미지가 추가될 때마다 다시 학습을 시켜 결과를 도출하지 않고 새로 추가된 분류의 이미지의 특징과 비교하여 분류하기 때문이다.
본 발명에서는 각 클래스의 중심과 거리를 최소화하는 오차 함수와 모든 특징들의 중심과 거리를 멀어지도록 하는 오차 함수를 이용하여 모델이 더 좋은 식별적 특징을 갖도록 강제한다. 더 좋은 식별적 특징을 갖도록 학습을 강제한 모델은 각 특징 간의 거리를 늘려 최종 분류 성능을 향상시킬 수 있다.
모델로부터 식별적 특징들을 추출하기 위해서는 식별적 특징들이 추출되도록 강제하는 오차 함수가 있어야 한다. 본 발명에서는 이러한 오차 함수로 조인트 중심 오차(joint center loss)를 기반으로 하는 오차 함수를 제안한다. 조인트 중심 오차(joint center loss)는 글로벌 중심 오차(global center loss)와 로컬 중심 오차(local center loss)를 포함하는 개념이다.
먼저 글로벌 중심 오차에 대해 설명하고, 이후 조인트 중심 오차를 기반으로 하는 오차 함수에 대해 설명하기로 한다.
식별적 특징들을 가지도록 학습하는 이유는 특징들이 너무 밀집되지 않도록 하는 것이다. 특징들이 밀집되면 모든 값을 만족시키기 위해 함수가 고차가 되어 오버 피팅(over fitting)이 발생하거나, 모든 값을 만족시키지 못해 함수가 저차가 되어 언더 피팅(under fitting)이 발생한다. 이것은 결과적으로 모델의 분류 성능을 저하시키는 문제점을 초래한다.
지도 학습을 통해 모델을 학습시키는 것은 각 클래스의 매니폴드를 구하는 것과 같다. 그런데 밀집 문제와 더불어 분류해야 할 클래스의 개수가 많아지면 적합한 매니폴드를 구하는 것이 상대적으로 적은 클래스에 비해 힘들어진다. 따라서 밀집될 가능성이 높고 매니폴드를 구하기 어려운 공간일수록 특징들이 추출되지 않도록 강제함으로써 적합한 매니폴드를 용이하게 구할 수 있게 할 필요가 있다.
일반적으로 가장 밀집될 가능성이 높은 공간은 모든 특징들의 중심이므로, 본 발명에서는 모든 특징들의 중심에 각 특징이 가까워질수록 높은 오차를 주기로 한다.
추출된 특징들이 중심으로 밀집되지 않도록 강제하는 글로벌 중심 오차는 다음 수학식 1과 같다.
상기에서 cg는 모든 특징들의 중심, 즉 모든 특징들의 평균을 의미하며, 본 발명에서는 이를 글로벌 중심(global center)으로 정의한다.
글로벌 중심(global center)은 모든 특징들의 좌표값들을 평균하여 산출할 수 있다. 글로벌 중심(global center)은 매시간 모든 학습 데이터들과 비교하여 도출하는 것이 가장 이상적이겠지만, 본 발명에서는 성능상의 이유로 미니 배치(mini-batch) 내에서 각 클래스의 중심을 이용하여 구하기로 한다.
학습은 신경망의 오차 함수에 의한 백프로퍼게이션(backpropagation)을 하는 과정을 말한다. 하지만 가지고 있는 모든 데이터들을 활용하여 학습하는 것(full batch)은 현실적으로 불가능하다. 그래서 가지고 있는 일부 데이터들(ex. 100개)을 활용하여 학습한 후 다시 다음 일부 데이터들(ex. 100개)을 활용하여 신경망을 학습하는 방법이 제안되고 있다. 미니 배치(mini-batch)는 신경망 학습시 데이터의 일부만을 활용하여 학습하는 방법을 의미한다.
γ는 오차(margin)를 의미한다. γ는 하이퍼 파라미터(hyper-parameter)로 학습되어지는 변수가 아닌, 사용자가 임의로 지정하는 값이다.
xi는 이미지로부터 추출된 i번째 특징을 의미한다. 그리고 m은 클래스(class)의 개수를 의미한다. 본 발명에서 클래스는 지도 학습에 활용되는 라벨로서, 예를 들어 고양이와 개를 구분하는 신경망이면 개와 고양이가 라벨이 된다.
r은 글로벌 중심(global center)과 이 글로벌 중심으로부터 가장 먼 곳에 위치하는 특징 사이의 거리(largest distance)를 의미한다. r은 다음 수학식 2를 통하여 구할 수 있다.
본 발명에서는 수학식 2에 도시된 바와 같이 미니 배치(mini-batch) 내에서 글로벌 중심(global center)과 이미지 내의 특정 특징 사이의 차이값이 최대값인 것을 찾아 이것을 r로 산출한다.
한편 xi는 입력 이미지 혹은 이전 레이어(layer)에서 도출된 값 전체를 의미할 수도 있다.
한편 max(A, B)는 A와 B 중 큰 값을 도출하는 함수로, 수학식 1에서는 0보다 큰 값이 항상 도출되도록 max(0, B) 방식을 활용하였다.
한편 || ||는 L2 norm을 의미한다.
글로벌 중심 오차 Lg는 미니 배치(mini-batch) 내에서 제1 제곱값(즉, r의 제곱값)과 제2 제곱값(즉, xi와 cg 사이의 차이값의 제곱값) 사이의 차이값이 γ보다 커지도록 오차를 주어 강제하는 것이다. 글로벌 중심 오차 Lg를 최소화하면 특징이 γ보다 커지도록 강제하면서 더불어 특징이 중심으로부터 멀어지게 학습할 수 있다. 글로벌 중심 오차 Lg는 이를 통해 이미지로부터 추출된 특징들이 중심으로 밀집되지 않도록 강제할 수 있다.
한편 본 발명에서는 모든 데이터들을 기초로 학습을 반복할 때 초래되는 비효율성을 피하기 위해 수학식 3, 수학식 4 등을 이용하여 글로벌 중심(global center) cg, 최대 거리(largest distance) r 등을 업데이트한다.
수학식 3은 xi에 의한 Lg의 그래디언트(gradient)를 나타낸 것으로서, 자세하게는 다음과 같다.
수학식 3에서 ∂Lg/∂xi의 결과값이 -(xi-cg) 또는 0이 되는 것은 수학식 1의 max(0, ||r||2 - ||xi - cg||2 + γ)와 관련된다.
xi가 cg로부터 멀리 떨어져 있는 경우 ||xi - cg||2이 ||r||2보다 큰 값을 가지는 경우가 발생하며, 이 경우 ||r||2 - ||xi - cg||2 + γ의 값이 0보다 작아지는 현상이 발생할 수 있다. 이때에는 그래디언트(gradient)가 음수값을 가져 정상적으로 학습이 되지 않는 문제점이 생긴다. 수학식 1 및 3은 이러한 문제점을 고려하여 결과값이 음수가 되지 않도록 설정한다.
수학식 4는 cg의 업데이트 공식(update equation)을 나타낸 것으로서, 자세하게는 다음과 같다.
도 3은 본 발명에서 제안하는 글로벌 중심 오차가 반영된 오차 함수의 성능을 보여주는 예시도이다.
얼굴에 대한 이미지의 경우, 일반적으로 도 3의 (a)에 도시된 바와 같이 중앙에 특징들이 밀집되어 있다. 이러한 이미지에 글로벌 중심 오차가 반영된 오차 함수를 기초로 한 중심 확장(center expansion) 기법을 적용하여 식별적 심화 학습(discriminative deep learning)을 수행하면, 도 3의 (b)에 도시된 바와 같이 특징들의 분포가 중앙에 밀집되지 않도록 이미지를 변화시킬 수 있다.
다음으로 조인트 중심 오차(joint center loss)를 기반으로 하는 오차 함수에 대하여 설명한다.
이미지에서 가장 쉽게 식별적 특징들을 추출하는 방법은 각 클래스 내 분산을 작아지게 학습하는 것이다. 클래스 내 분산이 작아지면 추출된 특징들이 다른 클래스와 겹칠 수 있는 가능성이 줄어들어 결과적으로 식별적 특징들이 도출되는 효과를 얻을 수 있다.
클래스 내 분산을 최소화하기 위해 본 발명에서는 각 클래스의 중심과 소속된 클래스의 특징 간의 거리를 최소화하는 오차 함수를 이용한다. 이러한 오차 함수는 다음 수학식 5와 같이 정의된다.
상기에서 cyi는 y 클래스의 중심 즉, y 클래스 특징의 평균을 의미한다. cyi는 매시간 모든 학습 데이터와 비교하여 도출하는 것이 가장 이상적이지만 성능상 효율이 없으므로, 본 발명에서는 미니 배치(mini-batch) 내에서 각각의 클래스의 중심을 구한다.
신경망 학습의 특성상 전체 데이터 세트를 만족하기 위해 변량으로 갱신한다. cyi와 cg는 초반에 랜덤값 혹은 0으로 초기화된 후 지속적으로 적합한 값(모든 데이터들을 만족하는 값)으로 갱신된다.
한편 Lg에 대해서는 전술하였으므로, 여기서는 그 자세한 설명을 생략한다.
글로벌 중심 오차의 경우와 마찬가지로 조인트 중심 오차의 경우도 모든 데이터들을 기초로 학습을 반복할 때 초래되는 비효율성을 피하기 위해 수학식 6, 수학식 7 등을 이용하여 글로벌 중심(global center) cg, 최대 거리(largest distance) r 등을 업데이트한다.
수학식 6은 xi에 의한 Lc의 그래디언트(gradient)를 나타낸 것으로서, 자세하게는 다음과 같다.
수학식 7은 cj의 업데이트 공식(update equation)을 나타낸 것으로서, 자세하게는 다음과 같다.
상기에서, δ(yi = j)는 디렉 함수로 0 혹은 1의 값만 도출할 수 있는 함수이다. 즉 δ는 내부 조건을 만족하면 1이고 내부 조건을 만족하지 못하면 0이다. 본 발명에서 δ는 () 내의 연산이 참일 경우 1을 도출하고 () 내의 연산이 거짓일 경우 0을 도출한다. 이것은 자신이 속한 클래스의 중심이 오로지 자신 클래스의 특징에게만 영향을 미칠 수 있도록 하기 위해서이다.
cj는 각 클래스의 중심을 의미한다. △cj는 이미지로부터 추출된 특징들과 그 특징들이 속하는 클래스의 중심 사이의 차이값을 이용하여 각 클래스에 해당하는 cj를 수정한다. 실제로 △cj를 활용하여 cj를 갱신할 때는 하이퍼 파라미터 α를 활용하여 균형을 맞춘다.
하이퍼 파라미터 α는 클래스의 중심이 학습 데이터에 의해 너무 쉽게 변경되지 않도록 임의 설정한 것으로서, 학습시 생기는 불균형을 제어하기 위한 값이다. 본 발명에서 α는 0보다 큰 값을 가질 수 있으며, 학습에 활용되는 옵티마이저(optimizer)에 의해 가변될 수 있다.
하지만 Lc와 Lg만을 이용하여 모델을 학습할 수는 없다.
최종적인 제2 오차 함수는 Lc, Lg, 소프트맥스 크로스 엔트로피(softmax cross-entropy) 오차를 합산한 것이며, 자세하게는 다음 수학식 8과 같다.
상기에서 W와 b는 학습되는 인자를 의미한다. W의 우측 상단의 T는 행렬 곱을 위해 트랜스포즈(transpose)하는 것을 의미하며, 우측 하단의 j 또는 yi는 몇번째 학습 인자인지를 설명하는 것이다. 특히 j는 해당 특징의 컬럼(column)의 인덱스를 의미하며, yi는 i번째가 몇번째 클래스인지를 의미한다.
Ls에 해당하는 식은 일반적으로 신경망을 학습할 때 활용되는 식이며, 소프트맥스 오차(softmax loss) 또는 크로스 엔트로피(cross-entropy), 네거티브 라이크후드(negative likelihood)라고 불린다. e는 exponential을 의미한다.
본 발명에서 조인트 중심 오차를 기반으로 하는 오차 함수를 산출할 때 통상 학습 과정에서 활용되고 있는 경사 하강 기법을 이용할 수 있다.
Lc에 의한 오차는 cyi에 가까워질수록 지수적으로 작아지고, Lg에 의한 오차는 cg로부터 멀어질수록 지수적으로 작아진다. 따라서 모델의 특징이 각 특징의 중심과 너무 가까워지거나 혹은 특징이 비정상적으로 특징의 중심과 멀어지는 것을 완화시킬 수 있다. 즉 수학식 8을 이용하면, 학습될 특징이 각 클래스의 중심과 멀어질수록 오차를 키워 식별적 특징이 되도록 함과 더불어 접점이 생길 가능성이 높은 부분인 cg 주변의 특징은 오차를 키워 다른 클래스 간의 밀집을 피하도록 학습을 강제할 수 있다.
λc와 λg는 하이퍼 파라미터(hyper-parameter)로 학습되어지는 변수가 아닌, 사용자가 임의로 지정하는 값이다. 본 발명에서 λc와 λg는 0보다 큰 값을 가질 수 있으며, 두 개의 오차 함수의 영향을 조정하는 데에 활용한다. 즉 λc와 λg 값이 커질수록 특징의 분포는 자신의 클래스의 중심에 가까워지며, 0일 경우에는 소프트맥스(softmax)만을 활용하여 학습한 모델과 그 결과가 같아지게 된다.
본 발명에서는 수학식 8에 기재되어 있는 바와 같이 cg와 특징의 차, cyi와 특징의 차 등 두 개를 오차 함수로 추가함으로써 각 특징은 자신의 클래스 내의 분산을 줄임과 동시에 아닌 모든 특징의 중심과 멀어지게 학습한다.
한편 n은 클래스의 개수를 의미한다.
도 4는 본 발명에서 제안하는 오차 함수들의 성능을 보여주는 참고도이다. 도 4의 (a) 내지 (d)에서 각 점은 학습된 신경망에서 도출된 특징을 의미하며, 서로 다른 색상의 점들은 서로 다른 클래스에 속하는 특징들임을 의미한다.
도 4의 (a)는 글로벌 중심 오차(global center loss)가 고려된 오차 함수 즉, 제1 오차 함수를 이용하여 학습한 결과로 추출된 특징들의 분포를 보여준다. 이때의 제1 오차 함수는 소프트맥스 크로스 엔트로피(softmax cross-entropy) 오차와 글로벌 중심 오차(global center loss)가 반영된 오차 함수이다.
도 4의 (a)에 도시된 바와 같이 본 발명에서 제안하는 제1 오차 함수를 이용하는 경우, 이미지로부터 추출된 특징들을 중앙에 밀집되지 않도록 분포시킬 수 있어 얼굴에 대한 이미지도 분류하는 것이 가능해진다.
도 4의 (b) 내지 (d)는 조인트 중심 오차(joint center loss)가 고려된 오차 함수 즉, 제2 오차 함수를 이용하여 학습한 결과로 추출된 특징들의 분포를 보여준다. 이때의 제2 오차 함수는 소프트맥스 크로스 엔트로피 오차, 글로벌 중심 오차 및 조인트 중심 오차(joint center loss)가 반영된 오차 함수이다.
자세하게는, 도 4의 (b)는 λc와 λg의 비율을 1:1로 설정하여 얻은 특징들의 분포를 나타내며, 도 4의 (c)는 λc와 λg의 비율을 0.1:1로 설정하여 얻은 특징들의 분포를 나타낸다. 또한 도 4의 (d)는 λc와 λg의 비율을 0.01:1로 설정하여 얻은 특징들의 분포를 나타낸다.
본 발명에서 제안하는 제2 오차 함수를 이용하는 경우, 제1 오차 함수를 이용하는 경우와 마찬가지로 이미지로부터 추출된 특징들을 중앙에 밀집되지 않도록 분포시킬 수 있어 얼굴에 대한 이미지도 분류하는 것이 가능해진다.
다시 도 1을 참조하여 설명한다.
학습 모듈(130)에 의한 신경망 학습이 끝나면, 설정 모듈(140)은 각 이미지로부터 추출된 특징들을 기초로 임계값(threshold value)을 설정하는 기능을 수행한다.
일례로 설정 모듈(140)은 다음 순서에 따라 임계값을 설정할 수 있다.
먼저 설정 모듈(140)은 학습된 신경망에 테스트 데이터 세트(test dataset)를 활용하여 특징들을 도출한다.
이후 설정 모듈(140)은 임의의 값을 임계값으로 임시 설정한다.
이후 설정 모듈(140)은 얼굴 인식 정확도를 측정한다. 설정 모듈(140)의 이 기능은 여러 차례 반복될 수 있다.
이후 설정 모듈(140)은 얼굴 인식의 반복 측정을 통해 가장 적합한 임계값을 결정한다.
분류 모듈(150)은 설정 모듈(140)에 의해 설정된 임계값을 기초로 각 이미지를 분류하는 기능을 수행한다. 일례로, 분류 모듈(150)은 다음 순서에 따라 각 이미지를 분류할 수 있다.
먼저 분류 모듈(150)은 이미지의 특징이 임계값 이하인지 여부를 판단한다. 분류 모듈(150)의 이러한 기능을 수식으로 나타내면 다음과 같다.
D(xi, xj) ≤ d
상기에서 D(xi, xj)는 이미지로부터 추출된 특징을 의미한다. 그리고 D는 임계값(threshold value)을 의미한다.
이미지의 특징이 임계값 이하인 것으로 판단되면, 이후 분류 모듈(150)은 해당 이미지를 임계값과 관련된 이미지와 동일인인 것으로 분류한다. 반면 이미지의 특징이 임계값 초과인 것으로 판단되면, 이후 분류 모듈(150)은 해당 이미지를 임계값과 관련된 이미지와 동일인이 아닌 것으로(즉, 타인인 것으로) 분류한다.
이상 도 1 내지 도 4를 참조하여 본 발명의 일실시 형태에 대하여 설명하였다. 이하에서는 이러한 일실시 형태로부터 추론 가능한 본 발명의 바람직한 형태에 대하여 설명한다.
도 5는 본 발명의 바람직한 실시예에 따른 이미지 분류 장치를 개략적으로 도시한 개념도이다.
도 5에 따르면, 이미지 분류 장치(200)는 이미지 학습부(210), 임계값 설정부(220), 이미지 분류부(230), 전원부(240) 및 주제어부(250)를 포함한다.
전원부(240)는 이미지 분류 장치(200)를 구성하는 각 구성에 전원을 공급하는 기능을 수행한다. 주제어부(250)는 이미지 분류 장치(200)를 구성하는 각 구성의 전체 작동을 제어하는 기능을 수행한다. 이미지 분류 장치(200)는 이미지를 처리하는 장치에 구비되어 이미지를 분류할 수 있다. 이미지를 처리하는 장치에도 전원부와 주제어부가 존재하므로, 이 점을 참작할 때 본 실시예에서 전원부(240)와 주제어부(250)는 구비되지 않아도 무방하다.
이미지 학습부(210)는 기준 이미지에 포함된 제1 특징들에 대한 정보 및 기준 이미지에서 객체(object) 단위로 형성된 클래스(class) 내에 위치하는 제2 특징들에 대한 정보를 기초로 오차 함수를 생성하는 기능을 수행한다. 또한 이미지 학습부(210)는 생성된 오차 함수를 기초로 입력된 이미지들을 학습시키는 기능을 수행한다. 이미지 학습부(210)는 도 1의 학습 모듈(130)에 대응하는 개념이다.
이미지 학습부(210)는 이미지들을 학습시킬 때에 합성곱 신경망(Convolutional Neural Network)을 이용할 수 있다.
이미지 학습부(210)는 제1 특징들의 평균값을 기초로 생성된 제1 오차, 제2 특징들의 평균값을 기초로 생성된 제2 오차 및 크로스 엔트로피(cross-entropy)와 관련된 제3 오차를 기초로 오차 함수를 생성할 수 있다. 자세하게 설명하면, 이미지 학습부(210)는 제1 오차에 제2 가중치를 곱하여 제5 값을 산출하고, 제2 오차에 제3 가중치를 곱하여 제6 값을 산출하며, 제5 값과 제6 값 및 제3 오차를 합산하여 얻은 결과를 기초로 오차 함수를 생성할 수 있다. 상기에서 제1 오차는 Lg에 대응하는 개념이고, 제2 오차는 Lc에 대응하는 개념이며, 제3 오차는 Ls에 대응하는 개념이다.
제1 오차를 산출하는 경우, 이미지 학습부(210)는 제1 특징들의 평균값과 기준 이미지에 포함된 각 특징 사이의 제1 차이값들, 및 제1 가중치를 기초로 제1 오차를 산출할 수 있다. 자세하게 설명하면, 이미지 학습부(210)는 제1 차이값들 중에서 선택된 최대값을 L2-norm에 적용하여 제1 값을 산출하고, 각각의 제1 차이값을 L2-norm에 적용하여 제2 값들을 산출하며, 제1 값에 제1 가중치를 더한 후 각각의 제2 값을 빼서 얻은 제3 값들과 0을 비교하여 얻은 결과들을 기초로 제1 오차를 산출할 수 있다.
제2 오차를 산출하는 경우, 이미지 학습부(210)는 제2 특징들의 평균값과 기준 이미지에 포함된 각 특징 사이의 제2 차이값들, 및 기준 이미지에 포함된 클래스의 개수를 기초로 제2 오차를 산출할 수 있다. 자세하게 설명하면, 이미지 학습부(210)는 각 클래스를 대상으로 제2 차이값들을 산출하고, 클래스마다 산출된 제2 차이값들을 L2-norm에 적용하여 클래스마다 제4 값들을 산출하며, 클래스마다 산출된 제4 값들을 합산하여 얻은 결과를 기초로 제2 오차를 산출할 수 있다.
임계값 설정부(220)는 이미지 학습부(210)를 통해 이미지들을 학습시켜 얻은 결과를 기초로 임계값을 설정하는 기능을 수행한다. 임계값 설정부(220)는 도 1의 설정 모듈(140)에 대응하는 개념이다.
이미지 분류부(230)는 임계값 설정부(220)에 의해 설정된 임계값을 기초로 이미지들을 분류하는 기능을 수행한다. 이미지 분류부(230)는 도 1의 분류 모듈(150)에 대응하는 개념이다.
이미지 분류부(230)는 이미지들에 포함된 특징들이 임계값 이하인지 여부를 기초로 이미지들을 분류할 수 있다. 자세하게 설명하면, 비교 대상 이미지에 포함된 특징들이 임계값 이하인 것으로 판단되면, 이미지 분류부(230)는 비교 대상 이미지에 포함된 객체를 기준 이미지에 포함된 객체와 동일인으로 분류한다. 반면 비교 대상 이미지에 포함된 특징들이 임계값 초과인 것으로 판단되면, 이미지 분류부(230)는 비교 대상 이미지에 포함된 객체를 기준 이미지에 포함된 객체와 타인으로 분류한다.
이미지 분류 장치(200)는 이미지 조정부(260)를 더 포함할 수 있다.
이미지 조정부(260)는 이미지들이 입력되면 제1 특징들이 밀집되어 있을 것으로 예측되는 지점을 기준으로 미리 정해진 크기를 가지도록 각 이미지를 편집하는 기능을 수행한다. 이 경우 이미지 학습부(210)는 이미지 조정부(260)에 의해 편집된 이미지들을 학습시킬 수 있다. 이미지 조정부(260)는 도 1의 조정 모듈(120)에 대응하는 개념이다.
한편 본 실시예에서는 이미지 학습부(210)가 이미지 분류 장치(200)로부터 독립적으로 구성되어 이미지 학습 장치로 구현되는 것도 가능하다.
다음으로 이미지 분류 장치(200)의 작동 방법에 대하여 설명한다.
도 6은 본 발명의 바람직한 실시예에 따른 이미지 분류 방법을 개략적으로 도시한 흐름도이다.
먼저 이미지 학습부(210)는 기준 이미지에 포함된 제1 특징들에 대한 정보 및 기준 이미지에서 객체(object) 단위로 형성된 클래스(class) 내에 위치하는 제2 특징들에 대한 정보를 기초로 오차 함수를 생성하며, 이 오차 함수를 기초로 입력된 이미지들을 학습시킨다(S310).
이후 임계값 설정부(220)는 이미지들을 학습시켜 얻은 결과를 기초로 임계값을 설정한다(S320).
이후 이미지 분류부(230)는 임계값을 기초로 이미지들을 분류한다(S330).
한편 S310 단계 이전에, 이미지 조정부(260)는 이미지들이 입력되면 제1 특징들이 밀집되어 있을 것으로 예측되는 지점을 기준으로 미리 정해진 크기를 가지도록 각 이미지를 편집할 수 있다.
이상에서 설명한 본 발명의 실시예를 구성하는 모든 구성요소들이 하나로 결합하거나 결합하여 동작하는 것으로 기재되어 있다고 해서, 본 발명이 반드시 이러한 실시예에 한정되는 것은 아니다. 즉, 본 발명의 목적 범위 안에서라면, 그 모든 구성요소들이 하나 이상으로 선택적으로 결합하여 동작할 수도 있다. 또한, 그 모든 구성요소들이 각각 하나의 독립적인 하드웨어로 구현될 수 있지만, 각 구성요소들의 그 일부 또는 전부가 선택적으로 조합되어 하나 또는 복수개의 하드웨어에서 조합된 일부 또는 전부의 기능을 수행하는 프로그램 모듈을 갖는 컴퓨터 프로그램으로서 구현될 수도 있다. 또한, 이와 같은 컴퓨터 프로그램은 USB 메모리, CD 디스크, 플래쉬 메모리 등과 같은 컴퓨터가 읽을 수 있는 기록매체(Computer Readable Media)에 저장되어 컴퓨터에 의하여 읽혀지고 실행됨으로써, 본 발명의 실시예를 구현할 수 있다. 컴퓨터 프로그램의 기록매체로서는 자기 기록매체, 광 기록매체 등이 포함될 수 있다.
또한, 기술적이거나 과학적인 용어를 포함한 모든 용어들은, 상세한 설명에서 다르게 정의되지 않는 한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 갖는다. 사전에 정의된 용어와 같이 일반적으로 사용되는 용어들은 관련 기술의 문맥상의 의미와 일치하는 것으로 해석되어야 하며, 본 발명에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위 내에서 다양한 수정, 변경 및 치환이 가능할 것이다. 따라서, 본 발명에 개시된 실시예 및 첨부된 도면들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예 및 첨부된 도면에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구 범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리 범위에 포함되는 것으로 해석되어야 할 것이다.
Claims (18)
- 기준 이미지에 포함된 제1 특징들에 대한 정보 및 상기 기준 이미지에서 객체(object) 단위로 형성된 클래스(class)들 중 대응하는 클래스 내에 위치하는 제2 특징들에 대한 정보를 기초로 오차 함수를 생성하며, 상기 오차 함수를 기초로 입력된 이미지들을 학습시키는 이미지 학습부;
상기 입력된 이미지들을 학습시켜 얻은 결과를 기초로 임계값을 설정하는 임계값 설정부; 및
상기 임계값을 기초로 상기 입력된 이미지들을 분류하는 이미지 분류부;를 포함하고,
상기 이미지 학습부는, 상기 클래스들 간의 거리를 멀어지도록 하기 위해 상기 제1 특징들의 평균값을 기초로 산출하는 제1 오차, 상기 제2 특징들의 평균값을 기초로 산출하는 제2 오차 및 크로스 엔트로피(cross-entropy)와 관련된 제3 오차를 기초로 상기 오차 함수를 산출하되,
상기 이미지 학습부는, 미리 정해진 분류하고자 하는 클래스의 개수; 및 상기 제1 특징들의 평균값으로부터 상기 기준 이미지에 포함된 제1 특징들 중 상기 제1 특징들의 평균값과 가장 거리가 먼 특징까지의 거리;를 더욱 이용하여 상기 제1 오차를 산출하고, 상기 생성된 오차 함수를 이용하여 상기 입력된 이미지들을 학습시킴으로써 상기 기준 이미지에 포함된 특징들과 관련된 학습 모델이 식별적 특징을 갖도록 하는 것을 특징으로 하는 이미지 분류 장치. - 제 1 항에 있어서,
상기 이미지 학습부는 합성곱 신경망(Convolutional Neural Network)을 이용하여 상기 입력된 이미지들을 학습시키는 것을 특징으로 하는 이미지 분류 장치. - 삭제
- 제 1 항에 있어서,
상기 이미지 학습부는 상기 제1 특징들의 평균값과 상기 기준 이미지에 포함된 각 특징 사이의 제1 차이값들, 및 제1 가중치를 기초로 상기 제1 오차를 산출하는 것을 특징으로 하는 이미지 분류 장치. - 제 4 항에 있어서,
상기 이미지 학습부는 상기 제1 차이값들 중에서 선택된 최대값을 유클리드 노름(Euclidean norm)에 적용하여 제1 값을 산출하고, 각각의 제1 차이값을 유클리드 노름에 적용하여 제2 값들을 산출하며, 상기 제1 값에 상기 제1 가중치를 더한 후 각각의 상기 제2 값을 빼서 얻은 제3 값들과 0을 비교하여 얻은 결과들을 기초로 상기 제1 오차를 산출하는 것을 특징으로 하는 이미지 분류 장치. - 제 1 항에 있어서,
상기 이미지 학습부는 상기 제2 특징들의 평균값과 상기 기준 이미지에 포함된 각 특징 사이의 제2 차이값들, 및 상기 기준 이미지에 포함된 상기 클래스의 개수를 기초로 상기 제2 오차를 산출하는 것을 특징으로 하는 이미지 분류 장치. - 제 6 항에 있어서,
상기 이미지 학습부는 각 클래스를 대상으로 상기 제2 차이값들을 산출하고, 클래스마다 산출된 제2 차이값들을 유클리드 노름에 적용하여 클래스마다 제4 값들을 산출하며, 클래스마다 산출된 제4 값들을 합산하여 얻은 결과를 기초로 상기 제2 오차를 산출하는 것을 특징으로 하는 이미지 분류 장치. - 제 1 항에 있어서,
상기 이미지 학습부는 상기 제1 오차에 제2 가중치를 곱하여 제5 값을 산출하고, 상기 제2 오차에 제3 가중치를 곱하여 제6 값을 산출하며, 상기 제5 값과 상기 제6 값 및 상기 제3 오차를 합산하여 얻은 결과를 기초로 상기 오차 함수를 생성하는 것을 특징으로 하는 이미지 분류 장치. - 제 1 항에 있어서,
상기 이미지 분류부는 상기 입력된 이미지들에 포함된 특징들이 상기 임계값 이하인지 여부를 기초로 상기 입력된 이미지들을 분류하는 것을 특징으로 하는 이미지 분류 장치. - 제 9 항에 있어서,
상기 이미지 분류부는 비교 대상 이미지에 포함된 특징들이 상기 임계값 이하인 것으로 판단되면 상기 비교 대상 이미지에 포함된 객체를 상기 기준 이미지에 포함된 객체와 동일인으로 분류하며, 상기 비교 대상 이미지에 포함된 특징들이 상기 임계값 초과인 것으로 판단되면 상기 비교 대상 이미지에 포함된 객체를 상기 기준 이미지에 포함된 객체와 타인으로 분류하는 것을 특징으로 하는 이미지 분류 장치. - 제 1 항에 있어서,
상기 이미지들이 입력되면 상기 제1 특징들이 밀집되어 있을 것으로 예측되는 지점을 기준으로 미리 정해진 크기를 가지도록 각 입력된 이미지를 편집하는 이미지 조정부를 더 포함하며,
상기 이미지 학습부는 편집된 상기 입력된 이미지들을 학습시키는 것을 특징으로 하는 이미지 분류 장치. - 기준 이미지에 포함된 제1 특징들에 대한 정보 및 상기 기준 이미지에서 객체(object) 단위로 형성된 클래스(class)들 중 대응하는 클래스 내에 위치하는 제2 특징들에 대한 정보를 기초로 오차 함수를 생성하며, 상기 오차 함수를 기초로 입력된 이미지들을 학습시키는 단계;
상기 입력된 이미지들을 학습시켜 얻은 결과를 기초로 임계값을 설정하는 단계; 및
상기 임계값을 기초로 상기 입력된 이미지들을 분류하는 단계;를 포함하고,
상기 입력된 이미지들을 학습시키는 단계는, 상기 클래스들 간의 거리를 멀어지도록 하기 위해 상기 제1 특징들의 평균값을 기초로 산출하는 제1 오차, 상기 제2 특징들의 평균값을 기초로 산출하는 제2 오차 및 크로스 엔트로피(cross-entropy)와 관련된 제3 오차를 기초로 상기 오차 함수를 산출하되, 미리 정해진 분류하고자 하는 클래스의 개수; 및 상기 제1 특징들의 평균값으로부터 상기 기준 이미지에 포함된 제1 특징들 중 상기 제1 특징들의 평균값과 가장 거리가 먼 특징까지의 거리;를 더욱 이용하여 상기 제1 오차를 산출하고, 상기 생성된 오차 함수를 이용하여 상기 입력된 이미지들을 학습시킴으로써 상기 기준 이미지에 포함된 특징들과 관련된 학습 모델이 식별적 특징을 갖도록 하는 것을 특징으로 하는 이미지 분류 방법. - 삭제
- 제 12 항에 있어서,
상기 학습시키는 단계는 상기 제1 특징들의 평균값과 상기 기준 이미지에 포함된 각 특징 사이의 제1 차이값들, 및 제1 가중치를 기초로 상기 제1 오차를 산출하는 것을 특징으로 하는 이미지 분류 방법. - 제 12 항에 있어서,
상기 학습시키는 단계는 상기 제2 특징들의 평균값과 상기 기준 이미지에 포함된 각 특징 사이의 제2 차이값들, 및 상기 기준 이미지에 포함된 상기 클래스의 개수를 기초로 상기 제2 오차를 산출하는 것을 특징으로 하는 이미지 분류 방법. - 제 12 항에 있어서,
상기 분류하는 단계는 상기 입력된 이미지들에 포함된 특징들이 상기 임계값 이하인지 여부를 기초로 상기 입력된 이미지들을 분류하는 것을 특징으로 하는 이미지 분류 방법. - 제 12 항에 있어서,
상기 이미지들이 입력되면 상기 제1 특징들이 밀집되어 있을 것으로 예측되는 지점을 기준으로 미리 정해진 크기를 가지도록 각 입력된 이미지를 편집하는 단계를 더 포함하며,
상기 학습시키는 단계는 편집된 상기 입력된 이미지들을 학습시키는 것을 특징으로 하는 이미지 분류 방법. - 기준 이미지에 포함된 제1 특징들의 평균값 및 상기 기준 이미지에서 객체(object) 단위로 형성된 클래스(class)들 중 대응하는 클래스 내에 위치하는 제2 특징들의 평균값을 기초로 오차 함수를 생성하며, 상기 오차 함수를 기초로 입력된 이미지들을 학습시키되,
상기 클래스들 간의 거리를 멀어지도록 하기 위해 상기 제1 특징들의 평균값을 기초로 산출하는 제1 오차, 상기 제2 특징들의 평균값을 기초로 산출하는 제2 오차 및 크로스 엔트로피(cross-entropy)와 관련된 제3 오차를 기초로 상기 오차 함수를 산출하고, 미리 정해진 분류하고자 하는 클래스의 개수; 및 상기 제1 특징들의 평균값으로부터 상기 기준 이미지에 포함된 제1 특징들 중 상기 제1 특징들의 평균값과 가장 거리가 먼 특징까지의 거리;를 더욱 이용하여 상기 제1 오차를 산출하고, 상기 생성된 오차 함수를 이용하여 상기 입력된 이미지들을 학습시킴으로써 상기 기준 이미지에 포함된 특징들과 관련된 학습 모델이 식별적 특징을 갖도록 하는 것을 특징으로 하는 이미지 학습 장치.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170106244A KR102049331B1 (ko) | 2017-08-22 | 2017-08-22 | 이미지 분류 장치와 방법 및 이미지 분류를 위한 이미지 학습 장치 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170106244A KR102049331B1 (ko) | 2017-08-22 | 2017-08-22 | 이미지 분류 장치와 방법 및 이미지 분류를 위한 이미지 학습 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20190021095A KR20190021095A (ko) | 2019-03-05 |
KR102049331B1 true KR102049331B1 (ko) | 2019-11-27 |
Family
ID=65760520
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020170106244A KR102049331B1 (ko) | 2017-08-22 | 2017-08-22 | 이미지 분류 장치와 방법 및 이미지 분류를 위한 이미지 학습 장치 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102049331B1 (ko) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102073873B1 (ko) * | 2019-03-22 | 2020-02-05 | 주식회사 루닛 | 시맨틱 세그먼테이션 방법 및 그 장치 |
KR102282087B1 (ko) | 2019-10-28 | 2021-07-27 | 주식회사 뷰온 | 딥러닝 모델에 적용하기 위한 학습 데이터 확장방법, 딥러닝을 이용한 이미지 분류장치 및 그 방법 |
KR102204956B1 (ko) * | 2020-01-30 | 2021-01-19 | 주식회사 루닛 | 시맨틱 세그먼테이션 방법 및 그 장치 |
KR102485688B1 (ko) * | 2020-09-10 | 2023-01-06 | 남윤덕 | 실시간 보안이미지 생성 프로그램을 이용한 언택트 출입 보안시스템 및 그의 제어 방법 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20140096595A (ko) | 2013-01-28 | 2014-08-06 | 경북대학교 산학협력단 | 이미지 분류 방법 |
KR102445468B1 (ko) * | 2014-09-26 | 2022-09-19 | 삼성전자주식회사 | 부스트 풀링 뉴럴 네트워크 기반의 데이터 분류 장치 및 그 데이터 분류 장치를 위한 뉴럴 네트워크 학습 방법 |
KR102315574B1 (ko) * | 2014-12-03 | 2021-10-20 | 삼성전자주식회사 | 데이터 분류 방법 및 장치와 관심영역 세그멘테이션 방법 및 장치 |
KR20160096460A (ko) * | 2015-02-05 | 2016-08-16 | 삼성전자주식회사 | 복수의 분류기를 포함하는 딥 러닝 기반 인식 시스템 및 그 제어 방법 |
-
2017
- 2017-08-22 KR KR1020170106244A patent/KR102049331B1/ko active IP Right Grant
Non-Patent Citations (1)
Title |
---|
강우영, 장병탁, 한국정보과학회, 구별적 특징에 기반하여 학습된 컨볼루션 신경망을 통한 이미지 분류, 한국정보과학회 학술발표논문집, 2016.12, 645-647 (3 pages), 1부.* |
Also Published As
Publication number | Publication date |
---|---|
KR20190021095A (ko) | 2019-03-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102049331B1 (ko) | 이미지 분류 장치와 방법 및 이미지 분류를 위한 이미지 학습 장치 | |
US11195051B2 (en) | Method for person re-identification based on deep model with multi-loss fusion training strategy | |
CN111814871B (zh) | 一种基于可靠权重最优传输的图像分类方法 | |
JP6781415B2 (ja) | ニューラルネットワーク学習装置、方法、プログラム、およびパターン認識装置 | |
CN108664924A (zh) | 一种基于卷积神经网络的多标签物体识别方法 | |
CN101097564B (zh) | 参数学习方法及设备、模式识别方法及设备 | |
Swersky et al. | On the evaluation of outlier detection and one-class classification methods | |
CN111523422B (zh) | 一种关键点检测模型训练方法、关键点检测方法和装置 | |
Chen et al. | Adaptive feature selection-based AdaBoost-KNN with direct optimization for dynamic emotion recognition in human–robot interaction | |
KR20190140824A (ko) | 트리플릿 기반의 손실함수를 활용한 순서가 있는 분류문제를 위한 딥러닝 모델 학습 방법 및 장치 | |
JP7047498B2 (ja) | 学習プログラム、学習方法および学習装置 | |
Cai et al. | Classification complexity assessment for hyper-parameter optimization | |
US20200210685A1 (en) | Apparatus and method with user verification | |
Maktabdar Oghaz et al. | A hybrid color space for skin detection using genetic algorithm heuristic search and principal component analysis technique | |
US20220129708A1 (en) | Segmenting an image using a neural network | |
CN113139664A (zh) | 一种跨模态的迁移学习方法 | |
CN110598759A (zh) | 一种基于多模态融合的生成对抗网络的零样本分类方法 | |
CN114842343A (zh) | 一种基于ViT的航空图像识别方法 | |
Noroozi et al. | Seven: deep semi-supervised verification networks | |
Sun et al. | Optimized light-weight convolutional neural networks for histopathologic cancer detection | |
CN110942463B (zh) | 一种基于生成对抗网络的视频目标分割方法 | |
Tang et al. | Learning Hough regression models via bridge partial least squares for object detection | |
Santoso et al. | Learning-based human detection applied to RGB-D images | |
Sengottuvelan et al. | Object classification using substance based neural network | |
KR102531758B1 (ko) | 공정한 영상 분류를 위한 학습 방법 및 영상을 공정하게 분류하는 장치 |
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 | ||
GRNT | Written decision to grant |