KR102010378B1 - 객체를 포함하는 영상의 특징을 추출하는 방법 및 장치 - Google Patents
객체를 포함하는 영상의 특징을 추출하는 방법 및 장치 Download PDFInfo
- Publication number
- KR102010378B1 KR102010378B1 KR1020140127389A KR20140127389A KR102010378B1 KR 102010378 B1 KR102010378 B1 KR 102010378B1 KR 1020140127389 A KR1020140127389 A KR 1020140127389A KR 20140127389 A KR20140127389 A KR 20140127389A KR 102010378 B1 KR102010378 B1 KR 102010378B1
- Authority
- KR
- South Korea
- Prior art keywords
- vector data
- input image
- projection matrix
- matrix
- learning
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/16—Human faces, e.g. facial parts, sketches or expressions
- G06V40/172—Classification, e.g. identification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/213—Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods
- G06F18/2135—Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods based on approximation criteria, e.g. principal component analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/7715—Feature extraction, e.g. by transforming the feature space, e.g. multi-dimensional scaling [MDS]; Mappings, e.g. subspace methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Multimedia (AREA)
- General Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Medical Informatics (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Oral & Maxillofacial Surgery (AREA)
- Human Computer Interaction (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- General Engineering & Computer Science (AREA)
- Image Analysis (AREA)
Abstract
이하, 영상으로부터 특징을 추출하는 장치 및 방법이 제공된다. 예를 들어, 입력 영상의 특징을 결정하는 장치는 입력 영상과 연관된 벡터 데이터로부터, 학습 벡터 데이터에 대응하는 공분산 행렬에 기초하여 생성된, 로우 랭크(low rank)를 가지는 프로젝션 행렬을 이용하여 입력 영상의 특징을 추출할 수 있다.
Description
이하, 영상으로부터 객체의 특징을 추출하는 방법 및 장치가 제공된다.
영상 처리와 해석에 있어서, 인간의 얼굴은 시각적인 판별과 신원확인에 대한 중요한 요소이다. 1990년대 초부터 얼굴인식과 얼굴 표정 해석에 대한 분석이 광범위하게 개발되어왔다.
최근에 영상의 흐름 속에서 얼굴검색과 신원확인을 위하여, 엠펙 세븐(MPEG-7) 얼굴 서술자(face descriptor)들이 제안되어 왔다. 종래의 얼굴인식 알고리즘에 반하여 상기 얼굴 서술자의 주요한 기능은 가능한 한 신속하고 효과적으로 조회 이미지와 똑같은 얼굴 이미지들을 검색하는 것이다.
얼굴인식기술이란 정지영상이나 동영상에 존재하는 한 사람 이상의 얼굴에 대하여 주어진 얼굴 데이터베이스를 이용하여 그 신원을 확인하는 기술을 나타낼 수 있다.
이러한 얼굴 인식 기술은 다른 생체인식기술인 지문인식 등과 다르게 자신의 신체 일부를 인식장치에 직접 접촉시키지 않아도 되고 생체정보의 획득방법에서 강제성이 적지만, 얼굴은 조명 및 포즈(자세)의 변화에 따라 자체의 변화가 심하고 주변환경에 매우 민감하기 때문에 인식률이 타 생체인식 기술에 비해 낮은 단점이 있다.
일 실시예에 따르면, 입력 영상에 대응하는 벡터(vector)를 변환하는 방법은, 객체(object)를 포함하는 입력 영상과 연관된 제1 차원 벡터 데이터(first dimensional vector data)를 수신하는 단계, 및 수신된 제1 차원 벡터 데이터를 로우 랭크(low rank)를 가지는 프로젝션 행렬(projection matrix)에 기초하여 제2 차원 벡터 데이터(second dimensional vector data)로 변환하는 단계를 포함하고, 제1 차원 벡터 데이터의 제1 차원은 제2 차원 벡터 데이터의 제2 차원보다 높을 수 있다.
프로젝션 행렬은, 프로젝션 행렬의 랭크가 미리 정한 랭크 임계(predetermined rank threshold)보다 작도록 미리 생성될 수 있다.
프로젝션 행렬은, 학습 벡터 데이터에 대응하는 공분산 행렬(covariance matrix)에 기초하여 미리 생성될 수 있다.
프로젝션 행렬은, 프로젝션 행렬이 반영된 입력 영상에 대응하는 제2 차원 벡터 데이터가 미리 학습된 기저 벡터 데이터(basis vector data) 및 계수 행렬의 곱에 스파스 에러 행렬(sparse error matrix)가 포함된 벡터 데이터와 동일하도록 생성될 수 있다.
프로젝션 행렬은, 공분산 행렬을 이용한 메트릭 계산, 계수 행렬의 랭크, 및 프로젝션 행렬의 랭크에 기초하여 생성될 수 있다.
미리 학습된 기저 벡터 데이터는, 학습 벡터 데이터에 대응하는 공분산 행렬에 기초하여 입력 영상으로부터 생성될 수 있다.
제1 차원 벡터 데이터를 수신하는 단계는, 제1 영상과 연관된 제1 영상 벡터 데이터 및 적어도 하나의 제2 영상과 연관된 제2 영상 벡터 데이터를 수신하는 단계를 포함하고, 제2 차원 벡터 데이터로 변환하는 단계는, 프로젝션 행렬에 기초하여 제1 영상 벡터 데이터 및 적어도 하나의 제2 영상 벡터 데이터를 제2 차원으로 변환하는 단계를 포함하며, 제2 차원으로 변환된 제1 영상 벡터 데이터 및 적어도 하나의 제2 영상 벡터 데이터에 기초하여 제1 영상 및 적어도 하나의 제2 영상의 각각을 비교하는 단계를 더 포함할 수 있다.
일 실시예에 따르면, 입력 영상과 연관된 벡터 데이터의 차원을 변환하기 위한 프로젝션 행렬을 학습하는 방법은, 복수의 학습 영상들의 각각에 대응하는 학습 벡터 데이터를 수신하는 단계, 및 학습 벡터 데이터로부터 로우 랭크를 가지는 프로젝션 행렬을 학습하는 단계를 포함할 수 있다.
프로젝션 행렬을 학습하는 단계는, 프로젝션 행렬의 랭크가 미리 정한 랭크 임계(predetermined rank threshold)보다 작도록 프로젝션 행렬을 결정하는 단계를 포함할 수 있다.
프로젝션 행렬을 학습하는 단계는, 학습 벡터 데이터에 대응하는 공분산 행렬에 기초하여 프로젝션 행렬을 미리 생성하는 단계를 포함할 수 있다.
프로젝션 행렬을 학습하는 단계는, 학습 벡터 데이터에서 동일한 객체에 대응하는 원소들 간의 차이는 최소화되고, 상이한 객체에 대응하는 원소들 간의 차이는 최대화되도록 프로젝션 행렬을 결정하는 단계를 포함할 수 있다.
프로젝션 행렬을 학습하는 단계는, 프로젝션 행렬이 반영된 입력 영상에 대응하는 벡터 데이터가, 미리 학습된 기저 벡터 데이터 및 계수 행렬의 곱에 스파스 에러 행렬이 포함된 벡터 데이터와 동일하도록, 프로젝션 행렬을 결정하는 단계를 포함할 수 있다.
프로젝션 행렬을 학습하는 단계는, 공분산 행렬을 이용한 메트릭 계산, 계수 행렬의 랭크, 및 프로젝션 행렬의 랭크에 기초하여 프로젝션 행렬을 결정하는 단계를 포함할 수 있다.
프로젝션 행렬을 학습하는 단계는, 학습 벡터 데이터에 대응하는 공분산 행렬에 기초하여 입력 영상으로부터 미리 학습된 기저 벡터 데이터를 생성하는 단계를 포함할 수 있다.
일 실시예에 따르면, 객체를 포함하는 입력 영상을 분별력 있는 특징 데이터(discriminative feature data)로 변환하는 방법은 입력 영상으로부터 입력 영상과 연관된 벡터 데이터를 추출하는 단계, 및 학습 벡터 데이터의 공분산 행렬에 기초하여 생성된, 로우 랭크(low rank)를 가지는 프로젝션 행렬을 이용하여, 입력 영상과 연관된 벡터 데이터를 분별력 있는 특징 데이터로 변환하는 단계를 포함할 수 있다.
입력 영상과 연관된 벡터 데이터를 추출하는 단계는, 입력 영상을 수신하는 단계, 입력 영상으로부터 객체가 포함된 객체 영역을 검출하는 단계, 및 객체 영역에 기초하여 입력 영상을 정규화하는 단계를 포함할 수 있다.
객체를 포함하는 입력 영상을 분별력 있는 특징 데이터로 변환하는 방법은 변환된 특징 데이터를 다른 영상으로부터 추출되어 변환된 특징 데이터와 비교하여 유사도를 산출하는 단계, 및 유사도가 미리 정한 임계 유사도보다 크면 입력 영상에 포함된 객체 및 다른 영상에 포함된 객체가 동일하다고 판단하는 단계를 더 포함할 수 있다.
객체를 포함하는 입력 영상을 분별력 있는 특징 데이터로 변환하는 방법은 변환된 특징 데이터를 복수의 객체들에 대응하는 미리 저장된 특징 데이터들과 비교하여 유사도를 산출하는 단계, 및 미리 저장된 특징 데이터들 중 유사도가 미리 정한 임계 유사도보다 큰 특징 데이터에 대응하는 객체 및 입력 영상에 포함된 객체가 동일하다고 판단하는 단계를 더 포함할 수 있다.
일 실시예에 따르면, 입력 영상에 대응하는 벡터를 변환하는 장치는 객체를 포함하는 입력 영상과 연관된 제1 차원 벡터 데이터를 수신하는 벡터 수신부(vector receiver), 및 수신된 제1 차원 벡터 데이터를 프로젝션 행렬에 기초하여 제2 차원 벡터 데이터로 변환하는 벡터 변환부(vector converter)를 포함할 수 있다.
일 실시예에 따르면, 입력 영상과 연관된 벡터 데이터의 차원을 변환하기 위한 프로젝션 행렬을 학습하는 장치는 복수의 학습 영상들의 각각에 대응하는 학습 벡터 데이터를 수신하는 학습 벡터 수신부(learning vector receiver) 및 학습 벡터 데이터로부터 로우 랭크를 가지는 프로젝션 행렬을 학습하는 프로젝션 행렬 학습부(projection matrix learner)를 포함할 수 있다.
일 실시예에 따르면, 객체를 포함하는 입력 영상을 분별력 있는 특징 데이터로 변환하는 장치는 입력 영상으로부터 입력 영상과 연관된 벡터 데이터를 추출하는 벡터 추출부(vector extractor), 및 학습 벡터 데이터에 대응하는 공분산 행렬에 기초하여 생성된, 로우 랭크(low rank)를 가지는 프로젝션 행렬을 이용하여, 입력 영상과 연관된 벡터 데이터를 분별력 있는 특징 데이터로 변환하는 특징 변환부(feature converter)를 포함할 수 있다.
도 1은 일실시예에 따라 클래스 별로 분류된 영상에 대응하는 벡터 데이터를 도시한 도면이다.
도 2는 일실시예에 따라 영상에 대응하는 벡터 데이터로부터 에러가 분리된 벡터 데이터를 도시한 도면이다.
도 3 및 도 4는 일 실시예에 따른 객체를 포함하는 입력 영상을 분별력 있는 특징 데이터(discriminative feature data)로 변환하는 장치의 구성을 도시한 블럭도이다.
도 5는 일 실시예에 따른 입력 영상과 연관된 벡터 데이터의 차원을 변환하기 위한 프로젝션 행렬을 학습하는 장치의 구성을 도시한 블럭도이다.
도 6은 일 실시예에 따른 제1 차원 벡터 데이터, 계수 행렬, 및 프로젝션 행렬 각각의 예시를 도시한 도면이다.
도 7은 일 실시예에 따라 프로젝션 행렬이 반영된 벡터 데이터의 위치 변화를 도시한 도면이다.
도 8은 일 실시예에 따라 입력 영상에 대응하는 벡터를 변환하는 장치를 도시한 블럭도이다.
도 9는 일 실시예에 따라 객체를 포함하는 입력 영상을 분별력 있는 특징 데이터로 변환하는 방법을 도시한 흐름도이다.
도 10은 일 실시예에 따라 입력 영상과 연관된 벡터 데이터의 차원을 변환하기 위한 프로젝션 행렬을 학습하는 방법을 도시한 흐름도이다.
도 11은 일 실시예에 따라 입력 영상에 대응하는 벡터를 변환하는 방법을 도시한 흐름도이다.
도 2는 일실시예에 따라 영상에 대응하는 벡터 데이터로부터 에러가 분리된 벡터 데이터를 도시한 도면이다.
도 3 및 도 4는 일 실시예에 따른 객체를 포함하는 입력 영상을 분별력 있는 특징 데이터(discriminative feature data)로 변환하는 장치의 구성을 도시한 블럭도이다.
도 5는 일 실시예에 따른 입력 영상과 연관된 벡터 데이터의 차원을 변환하기 위한 프로젝션 행렬을 학습하는 장치의 구성을 도시한 블럭도이다.
도 6은 일 실시예에 따른 제1 차원 벡터 데이터, 계수 행렬, 및 프로젝션 행렬 각각의 예시를 도시한 도면이다.
도 7은 일 실시예에 따라 프로젝션 행렬이 반영된 벡터 데이터의 위치 변화를 도시한 도면이다.
도 8은 일 실시예에 따라 입력 영상에 대응하는 벡터를 변환하는 장치를 도시한 블럭도이다.
도 9는 일 실시예에 따라 객체를 포함하는 입력 영상을 분별력 있는 특징 데이터로 변환하는 방법을 도시한 흐름도이다.
도 10은 일 실시예에 따라 입력 영상과 연관된 벡터 데이터의 차원을 변환하기 위한 프로젝션 행렬을 학습하는 방법을 도시한 흐름도이다.
도 11은 일 실시예에 따라 입력 영상에 대응하는 벡터를 변환하는 방법을 도시한 흐름도이다.
이하, 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다.
이하, 본 명세서에서 벡터 데이터는 벡터 형태로 된 데이터를 나타낼 수 있다. 예를 들어, 벡터 데이터는 열 벡터(column vector)일 수 있다. 예를 들어, 벡터 데이터의 원소(element)는 실수일 수 있다. 다만, 벡터 데이터의 원소를 이로 한정하는 것은 아니고, 필요에 따라 이진수, 정수 등이 사용될 수도 있다.
또한, 입력 영상은 장치에 입력되는 영상으로서, 벡터 데이터의 형태로 수신될 수 있다. 예를 들어, 입력 영상은 동영상(video) 또는 정지 영상(still image)일 수 있다. 입력 영상이 복수의 프레임으로 구성되는 동영상인 경우, 하나의 벡터 데이터는 하나의 프레임에 대응할 수 있다. 입력 영상이 정지 영상인 경우, 하나의 벡터 데이터는 입력 영상에 대응할 수 있다.
여기서, 입력 영상은 객체를 포함할 수 있다. 예를 들어, 객체는 사람, 사물, 및 동물 등을 포함할 수 있다. 또한, 객체는 사람의 얼굴, 사람의 전신, 사람의 손 등을 포함할 수 있다.
복수의 입력 영상의 각각은 동일한 객체 또는 서로 상이한 객체를 포함하는 영상을 포함할 수 있다. 여기서, 동일한 객체를 포함하는 복수의 입력 영상 중 일부는 동일한 객체에 대한 다른 영상을 포함할 수 있다. 예를 들어, 입력 영상은 동일한 객체가 다른 자세, 다른 각도, 및 다른 위치 등을 가지는 영상을 포함할 수 있다.
복수의 입력 영상은 동일한 객체에 대응하는 클래스로 분류될 수 있다. 예를 들어, 하나의 클래스는 동일한 객체에 대응하는 입력 영상의 집합 및 벡터 데이터의 집합 중 적어도 하나를 포함할 수 있다. 여기서, 클래스는 객체의 갯수만큼 생성될 수 있다.
도 1은 일실시예에 따라 클래스 별로 분류된 영상에 대응하는 벡터 데이터를 도시한 도면이다.
도 1에서 복수의 입력 영상 X은 벡터 데이터의 집합으로서, 입력 영상이 N개인 경우 X=[x1, x2, ... , xN]으로 나타낼 수 있다. (여기서, N은 1 이상의 정수) x1, x2, ... , xN은 각각 하나의 입력 영상에 대응하는 벡터 데이터를 나타낼 수 있다.
딕셔너리(dictionary) D는 데이터 공간(data space)을 선형적으로 표현할 수 있는 벡터들의 집합으로서, 각 클래스에 해당하는 데이터 공간을 표현하기 위한 서브딕셔너리(sub-dictionary)로 구성될 수 있다. 예를 들어, 서브딕셔너리가 M개인 경우, D=[d1, d2, ..., dM]으로 나타낼 수 있다. (여기서, M은 1이상의 정수) d1, d2, ..., dM은 각 클래스를 표현하기 위한 서브딕셔너리로서, 각 클래스에 대해 학습된 것이고, 서브딕셔너리의 개수 M은 전체 데이터 공간을 표현(representation)하기에 최적화된 개수로 결정될 수 있다.
이상적 표현(ideal representation) Q는 상술한 딕셔너리 D로부터 입력 영상 X에 대응하는 벡터 데이터를 나타내기 위한 계수들(coefficients)의 집합을 나타낼 수 있다. 이상적 표현 Q=[q1, q2, q3, ..., qN]으로 나타낼 수 있고, q1, q2, q3, ..., qN의 각각은 딕셔너리 D로부터 입력 영상에 대응하는 벡터 데이터 x1, x2, ... , xN를 표현하기 위한 계수들의 열벡터일 수 있다. 예를 들어, 딕셔너리 D와 이상적 표현 Q의 행렬 곱(matrix multiplication)은 입력 영상 X에 대응하는 벡터 데이터를 나타낼 수 있다.
예를 들어, 도 1에서는 입력 영상 X에 포함된 벡터 데이터의 개수는 10개이고, 클래스 1은 x1, x2, x3를 포함하며, 클래스 2는 x4, x5, x6, x7를 포함하고, 클래스 3은 x8, x9, x10을 포함하는 것으로 가정할 수 있다. 여기서, 클래스 1, 클래스 2, 및 클래스 3은 각각 서로 다른 객체에 대응할 수 있다. 도 1에 도시된 입력 영상 X는 딕셔너리 D 및 이상적 표현 Q의 행렬 곱으로 분해(decomposition)될 수 있다. 다만, 클래스의 개수, 벡터 데이터의 개수를 상술한 바로 한정하는 것은 아니고, 실시예에 따라 달라질 수 있다.
이 때, 딕셔너리 D에 포함된 서브딕셔너리(예를 들어, 열 벡터의 형태)의 개수는 각 클래스 별로 최적화될 수 있는 바, 도 1에서는 각 클래스 별로 크기가 2인 서브딕셔너리에 대응하는 것으로 가정할 수 있다. 예를 들어, 도 1에서는 d1, d2가 클래스 1에 대응하고, d3, d4가 클래스 2에 대응하며, d5, d6가 클래스 3에 대응할 수 있다. 다만, 서브딕셔너리의 개수를 이로 한정하는 것은 아니고, 실시예 또는 필요에 따라 달라질 수 있다.
또한, 임의의 입력 영상이 특정 클래스에 속하는 경우, 이상적 표현 Q 중 해당 입력 영상을 표현하기 위한 열 벡터는, 임의의 입력 영상을 표현하기 위한 계수를 제외한 나머지 계수를 모두 0으로서 포함할 수 있다. 도 1을 참조하면, 사각 박스로 표시된 부분이 임의의 입력 영상을 나타내기 위한 계수로서, 클래스 1을 표현하기 위한 열 벡터 q1, q2 , q3는 1, 2행에 대해 1을 계수로 가지고, 클래스 2를 표현하기 위한 열 벡터 q4, q5, q6, q7은 3, 4행에 대해 1을 계수로 가지며, 클래스 3을 표현하기 위한 열 벡터 q8, q9, q10은 5, 6행에 대해 1을 계수로 가지고, 상술한 원소를 제외한 나머지 원소는 모두 0이 계수로 될 수 있다. 다만, 도 1에서 각 클래스를 표현하기 위한 계수가 1로 도시되었으나, 이로 한정하는 것은 아니고, 실시예에 따라 임의의 실수가 될 수도 있다.
도 2는 일실시예에 따라 영상에 대응하는 벡터 데이터로부터 에러가 분리된 벡터 데이터를 도시한 도면이다.
도 1에서는 에러가 포함되지 않는 이상적인 상황을 가정하였으나, 에러를 포함하게 될 경우의 입력 영상에 대응하는 벡터 데이터의 분해를 하기 수학식 1과 같이 나타낼 수 있다.
상술한 수학식 1에서, X는 입력 영상, D는 딕셔너리, Z는 계수 행렬, E는 에러 행렬에 대응할 수 있다. 입력 영상 X, 딕셔너리 D는 상술한 도 1의 X, D와 동일할 수 있다. 또한, 계수 행렬 Z는 상술한 도 1의 Q와 유사한 방식으로, 딕셔너리 D에 기초하여 입력 영상 X에 포함된 객체를 표현하기 위한 계수들의 집합을 나타낼 수 있다. 에러 행렬 E는 입력 영상 X에서 객체 표현과 관련성이 낮은 에러 성분을 포함할 수 있다.
예를 들어, 도 2에서는 상술한 수학식 1에서 딕셔너리 D로서 입력 영상 X 자체를 사용할 수 있다. (예를 들어, X=XZ+E) 도 2에 도시된 바와 같이 에러(예를 들어, 노이즈)가 포함된 입력 영상 X(210)가 XZ(220) 및 E(230)로 분해(decomposition)될 수 있다. 예를 들어, XZ(220)는 객체(예를 들어, 얼굴)를 포함하는 입력 영상 X(210)로부터 에러 행렬 E(230)가 제거된 표현(representation)일 수 있다.
도 3 및 도 4는 일 실시예에 따른 객체를 포함하는 객체를 포함하는 입력 영상을 분별력 있는 특징 데이터로 변환하는 장치의 구성을 도시한 블럭도이다.
도 3에서 객체를 포함하는 입력 영상을 분별력 있는 특징 데이터로 변환하는 장치(300)는 벡터 추출부(310) 및 특징 변환부(320)를 포함한다.
벡터 추출부(310)는 입력 영상으로부터 입력 영상과 연관된 벡터 데이터를 추출할 수 있다. 예를 들어, 벡터 추출부(310)는 입력 영상의 특징을 벡터 데이터의 형태로 추출할 수 있다. 벡터 추출부(310)는 1차적으로 LBP (Local Binary Patterns), Gabor와 같은 일반적인 특징 추출 방법을 이용하여 특징을 추출함으로써 입력 영상의 특징을 벡터 데이터의 형태로 추출할 수 있다. 다른 예를 들어, 벡터 추출부(310)는 입력 영상 자체를 벡터 데이터의 형태로 추출할 수 있다.
특징 변환부(320)는 학습 벡터 데이터에 대응하는 공분산 행렬에 기초하여 생성된, 로우 랭크(low rank)를 가지는 프로젝션 행렬을 이용하여, 입력 영상과 연관된 벡터 데이터를 분별력 있는 특징 데이터(discriminative feature data)로 변환할 수 있다. 변환된 분별력 있는 특징 데이터는 입력 영상을 복원하는데 사용될 수 있다. 학습 벡터 데이터는 프로젝션 행렬을 학습하기 위한 벡터 데이터일 수 있다. 여기서, 프로젝션 행렬의 학습은 하기 도 5 내지 도 7에서 상세히 설명한다. 또한, 학습 벡터 데이터에 대응하는 공분산 행렬은 하기 수학식 6에서 상세히 설명한다.
예를 들어, 입력 영상의 분별력 있는 특징 데이터(discriminative feature data)은 입력 영상 내에서, 입력 영상이 다른 영상과 비교하여 보다 분별력 있는(more discriminative), 지점(point)과 연관된 값을 나타낼 수 있다. 본 명세서에서 분별력 있는 정보(discriminative information)는 같은 클래스의 데이터 지점(예를 들어, 벡터 데이터)를 더 가깝게 하고 다른 클래스의 데이터 지점은 더 멀게 하는 것을 의미할 수 있다.
일실시예에 따르면, 입력 영상의 특징을 추출하기 위해 메트릭 학습(metric learning)이 사용될 수 있다. 여기서, 메트릭은 하기 도 4에서 설명하는 특징들 간의 거리 계산(distance calculation)을 나타낼 수 있다. 메트릭 학습은 주어진 학습 데이터로부터 보다 잘 구분되는(more discriminative) 거리 계산법을 학습하는 것을 나타낼 수 있다. 메트릭 학습은 시각적 분석 어플리케이션(visual analysis application)에서 좋은 성능을 나타낼 수 있다. 일반적인 감독 메트릭 학습(supervised metric learning )방법은, 서로 다른 클래스를 가지는 데이터 지점(data point)끼리는 거리가 멀어지게 하고, 같은 클래스를 가지는 데이터 지점끼리는 거리가 가까워지도록 학습할 수 있다.
본 명세서에서 사용하는 방법은 분별력 있는 로우 랭크 메트릭 학습(DLML, Discriminative Low-rank Metric Learning) 방법으로서, 프로젝션 행렬 및 계수 행렬이 로우 랭크(low-rank)로 제한(constraint)될 수 있다. 여기서, 로우 랭크는 임의의 행렬의 랭크가 미리 정한 랭크 임계(predetermined rank threshold)보다 작은 경우를 나타내는 바, 예를 들어, 행렬이 최소의 랭크 값을 가지는 상태를 나타낼 수 있다. 여기서, 랭크 임계는 행렬의 최소 랭크로 미리 정해질 수 있다.
예를 들어, DLML은 불필요한 특징(redundant feature)을 제거하고 노이즈를 감소시킴으로써 전역 데이터 구조(global data structure)를 강조할 수 있다. 또한, 입력 영상의 고차원 서브스페이스(high dimensional sub-space)가 아닌, 저차원 서브스페이스(low dimensional sub-space)에서 상술한 로우 랭크 프로젝션 행렬 및 로우 랭크 계수 행렬 등을 학습할 수 있다. 구체적으로는 하기 도 5 내지 도 7에서 상세히 설명한다.
도 4에서 객체를 포함하는 입력 영상을 분별력 있는 특징 데이터로 변환하는 장치(400)는 영상 수신부(410), 객체 검출부(411), 객체 정규화부(412), 벡터 추출부(421), 특징 변환부(422), 및 판단부(430)를 포함할 수 있다.
영상 수신부(410)가 입력 영상을 수신하면, 객체 검출부(411)가 입력 영상으로부터 객체가 포함된 객체 영역을 검출하고, 객체 정규화부(412)가 객체 영역에 기초하여 입력 영상을 정규화할 수 있다. 벡터 추출부(421)는 정규화된 입력 영상으로부터 입력 영상과 연관된 벡터 데이터를 추출할 수 있다. 여기서, 입력 영상과 연관된 벡터 데이터는 입력 영상의 특징을 나타내는 벡터 데이터 또는 입력 영상 자체를 나타내는 벡터 데이터일 수 있다. 특징 변환부(422)는 상술한 프로젝션 행렬을 이용하여 입력 영상과 연관된 벡터 데이터를 분별력 있는 특징 데이터로 변환할 수 있다.
예를 들어, 영상 수신부(410)는 입력 영상을 수신할 수 있다. 여기서, 영상 수신부(410)는 유선 또는 무선 인터페이스를 통해 외부로부터 입력 영상을 수신할 수 있다. 또한, 영상 수신부(410)는 장치 내부의 메모리에 저장된 입력 영상을 수신할 수도 있다.
객체 검출부(411)는 미리 정한 알고리즘에 따라 입력 영상으로부터 객체 영역을 검출할 수 있다. 예를 들어, 객체가 사람의 얼굴일 경우, 객체 검출부(411)는 얼굴 인식 알고리즘에 따라 객체 영역을 검출할 수 있다. 여기서, 미리 정한 알고리즘은 특정 객체를 인식하기 위해 영상을 처리하는 모든 알고리즘을 포함할 수 있다.
객체 정규화부(412)는 입력 영상으로부터 벡터 데이터를 추출하기 위해 검출된 객체 영역에 기초하여 입력 영상을 정규화할 수 있다. 일실시예에 따르면, 객체 정규화부(412)는 입력 영상의 크기, 화소, 밝기, 및 해상도 등이 미리 정한 요건(predetermined requirement)을 충족하도록 정규화할 수 있다. 예를 들어, 객체 정규화부(412)는 입력 영상을 미리 정한 크기의 객체 영역을 포함하는 영상으로 조정할 수 있다. 객체 정규화부(412)는 다양한 크기, 화소, 밝기 및 해상도를 가지는 영상들을 동등한 조건에서 비교하기 위해, 입력 영상을 정규화할 수 있다.
판단부(430)는 특징 간의 거리 계산(distance calculation)에 기초하여 두 영상이 유사한 것인지 판단할 수 있다. 일실시예에 따르면, 두 영상의 특징(예를 들어, 분별력 있는 특징 데이터) 간의 거리의 총합이 작을 수록 두 영상은 유사하고, 거리의 총합이 클 수록 두 영상은 비유사한 것일 수 있다. 두 영상의 특징 간의 거리의 총합이 미리 정한 임계 거리(predetermined threshold distance)보다 작으면, 두 영상은 유사한 것일 수 있다. 예를 들어, 특징은 벡터 데이터 형태(예를 들어, 분별력 있는 특징 데이터)로 추출될 수 있고, 벡터 데이터 간의 거리 계산은 하기 수학식 2와 같이 나타낼 수 있다.
상술한 수학식 2에서 distance(A, B)는 두 벡터 데이터 A 및 B 간의 거리를 나타내는 함수이고, 두 벡터 데이터의 원소는 각각 A=[a1, a2, ..., an], B=[b1, b2, ..., bn]으로 나타낼 수 있다. (여기서, n은 1이상의 정수이고, 도 1의 N과는 무관함) 예를 들어, 벡터 데이터 A 및 벡터 데이터 B는 각각 서로 다른 영상으로부터 추출된 특징에 대응하는 값들을 포함할 수 있다.
또한, 판단부(430)는 입력 영상으로부터 추출된 특징을 다른 영상으로부터 추출된 특징과 비교하여 유사도를 산출할 수 있다. 여기서, 유사도는 하기 수학식 3으로부터 산출될 수 있다.
상술한 수학식 3에서 A 및 B는 각각의 영상으로부터 추출된 특징에 대응하는 벡터 데이터를 나타낼 수 있고, 상술한 수학식 2에서 사용된 두 벡터 데이터 A 및 B와 유사하게 정의될 수 있다.
예를 들어, 판단부(430)는 유사도가 미리 정한 임계 유사도보다 크면 입력 영상에 포함된 객체 및 다른 영상에 포함된 객체가 동일하다고 판단할 수 있다. 판단부(430)는 상술한 바와 같이 일대일 비교를 통해 두 영상 간의 유사도가 미리 정한 임계 유사도보다 큰지를 검증할 수 있다. 예를 들어, 주어진 두 영상이 같은 객체(예를 들어, 얼굴)에 대응하는 것인지가 검증될 수 있다.
다른 예를 들어, 판단부(430)는 추출된 특징을 복수의 객체들에 대응하는 미리 저장된 특징들과 비교하여 유사도를 산출할 수 있다. 여기서, 판단부(430)는 미리 저장된 특징들 중 유사도가 미리 정한 임계 유사도보다 큰 특징에 대응하는 객체 및 입력 영상에 포함된 객체가 동일하다고 판단할 수 있다. 이 때, 복수의 객체들에 대응하는 미리 저장된 특징들은 객체 데이터베이스에 저장될 수 있다. 판단부(430)는 상술한 바와 같이 일대다 비교를 통해 유사도가 가장 큰 ID(identification)를 식별할 수 있다. 예를 들어, 알려지지 않은 객체(예를 들어, 얼굴)에 대해 주어진 영상으로부터, 기저장된 데이터베이스에 기초하여 객체가 식별될 수 있다.
도 5는 일 실시예에 따른 입력 영상과 연관된 벡터 데이터의 차원을 변환하기 위한 프로젝션 행렬을 학습하는 장치의 구성을 도시한 블럭도이다.
입력 영상과 연관된 벡터 데이터의 차원을 변환하기 위한 프로젝션 행렬을 학습하는 장치(500)는 학습 벡터 수신부(learning vector receiver)(510) 및 프로젝션 행렬 학습부(projection matrix learner)(520)를 포함한다. 여기서, 입력 영상과 연관된 벡터 데이터는 제1 차원 벡터 데이터라고 나타낼 수 있고, 제1 차원 벡터 데이터는 고차원 벡터 데이터일 수 있다. 제1 차원 벡터 데이터에 프로젝션 행렬이 곱해지면 제2 차원 벡터 데이터로 변환될 수 있고, 제2 차원 벡터 데이터는 저차원 벡터 데이터일 수 있다.
예를 들어, 입력 영상과 연관된 벡터 데이터는 입력 영상을 벡터 데이터 형태로 나타낸 것일 수 있다. 또한, 입력 영상과 연관된 벡터 데이터는 입력 영상을 나타내는 특징을 벡터 데이터 형태로 나타낸 것일 수 있다.
학습 벡터 수신부(510)는 복수의 학습 영상들의 각각에 대응하는 학습 벡터 데이터를 수신할 수 있다. 여기서, 학습 영상은 프로젝션 행렬의 학습을 위해 미리 결정된 샘플 영상(sample image)를 나타낼 수 있다. 학습 벡터 데이터는 각 학습 영상의 특징에 대응하는 벡터 데이터를 포함할 수 있다.
프로젝션 행렬 학습부(520)는 학습 벡터 데이터로부터 로우 랭크를 가지는 프로젝션 행렬을 학습할 수 있다. 예를 들어, 프로젝션 행렬은 하기에서 설명하는 메트릭 학습을 통해 학습될 수 있다.
종래의 얼굴 인식 기법은 제한된 조건 하에서만 충분한 인식 성능을 발휘할 수 있다. 다만, 제한된 조건을 벗어나는 경우, 예를 들어 얼굴 영상이 넓은 내부 개인 변화(intra-personal variation)가 발생하는 환경에서 캡쳐되는 경우, 성능이 급격하게 감소할 수 있다. 얼굴 인식은 예를 들어 두 가지 종류로 분류될 수 있다.
예를 들어, 얼굴을 포함하는 입력 영상을 미리 저장된 복수의 특징과 비교하여 ID(identity)를 예측함으로써 사람을 인식할 수 있다. 또한, 주어진 영상 쌍(image pair)으로부터, 주어진 영상 쌍에 나타난 사람이 같은 사람인지 판단될 수 있다.
본 명세서에서 사용된 메트릭 학습은 객체를 포함하는 입력 영상이 객체로서 사람의 얼굴을 포함하는 경우, 입력 영상의 다양한 조명(illumination), 표정(expression), 자세(pose), 해상도(resolution) 및 배경(background) 등을 고려할 수 있다.
메트릭 학습은 분별력 있는 거리 메트릭(discriminative metric)을 학습하여, 같은 클래스에 속하는 영상의 특징들 간의 거리가 감소되고, 다른 클래스에 속하는 영사의 특징들 간의 거리가 증가되도록 할 수 있다. 예를 들어, 메트릭 학습은 선형 프로젝션(linear projection)을 찾는 과정에 대응할 수 있다. 메트릭 학습은 샘플 객체를 새로운 특징 공간(feature space)으로 매핑하는 선형 변환(linear transformation)을 학습할 수 있다.
더 나아가, 계수 행렬 및 메트릭 행렬에 로우 랭크 제한(low rank constraint)이 적용되는 로우 랭크 메트릭 학습이 사용될 수 있다. 여기서, 메트릭 행렬은 프로젝션 행렬로 분해(decompose)될 수 있다. 따라서, 로우 랭크 메트릭 학습은 로우 랭크 프로젝션 행렬의 학습으로 변환될 수 있다.
로우 랭크 표현(LRR, Low Rank Representation)이 데이터의 전역 구조를 강조하는데 사용될 수 있다. 데이터의 글로벌 구조는 다양한 서브스페이스로부터 도출될 수 있다. 로우 랭크 표현은 모든 후보(candidate) 중 가장 낮은 랭크 표현(lowest rank representation)이고, 후보는 기저(basis)의 선형 결합(linear combination)을 나타낼 수 있다.
로우 랭크 메트릭 학습에서 학습된 계수 행렬은 데이터의 다양한 서브스페이스 구조를 드러낼 수 있다. 또한, 스파스 에러(sparse error) 텀(term)은 노이즈를 보상할 수 있다. 더 나아가 로우 랭크 제한(low-rank constraint)은 보다 강건한(robust) 서브스페이스가 학습되도록 할 수 있다.
상술한 서브스페이스의 학습에는 예를 들어, SRRS(supervised regularization based robust subspace), LTSL(Low-rank Transfer Subspace Learning) 및 LTSL(Low-rank Transfer Subspace Learning)이 사용될 수 있다. 본 명세서에서는 상술한 로우 랭크 표현 및 서브스페이스 학습이 통합된 프레임워크에서 구현될 수 있다.
일실시예에 따르면, DLML은 프로젝션 행렬, 계수 행렬 및 데이터 표현(예를 들어, 계수 행렬 및 기저 행렬의 곱) 모두를 로우 랭크로 제한할 수 있다. 또한, 프로젝션 행렬을 통해 저차원 공간이 구축되면서, 동일한 클래스에 속하는 특징들 간의 거리는 가까워지고 상이한 클래스에 속하는 특징들 간의 거리는 멀어질 수 있다. 예를 들어, 프로젝션 행렬, 계수 행렬 및 데이터 표현에 대한 로우 랭크 제한은 입력 영상으로부터 비정보적인(non-informative) 특징을 제거할 수 있다.
메트릭 학습 방법에서는 마할라노비스 거리 행렬(Mahalanobis-like distance matrix) M이 사용될 수 있다. 일반적으로 유클리드 공간(Euclidean space)으로의 저차원 프로젝션 P를 이용하여, M=PPT로 인수분해(factorizing)될 수 있다. 이를 통해 M에 대한 PSD(positive semi-definite) 제한(constraint)이 보장되도록 학습될 수 있다.
예를 들어, 메트릭 학습을 위해 비유사한 쌍들 간의 거리의 합이 최대화되고, 유사 쌍들의 제곱 거리(squared distance)의 합이 상한선을 유지하도록 프로젝션 행렬이 학습될 수 있다. 예를 들어, LDA(Linear Discriminant Analysis)의 변형으로서 SILD(side-information based linear discriminant analysis) 접근이 얼굴 검증에 적용될 수 있다.
또한, 새로운 정형화 프레임워크(regularization framework)로서, large 내부 개인 변화(intra-personal variation) 및 신규 유사 메트릭(similar metric)의 분별력(discriminative power)으로 강건함을 통합함으로써 유사성 메트릭(similarity metric)이 학습될 수 있다.
DDML(discriminative deep metric learning)에서는 깊은 신경 망(deep neural network)를 훈련(train)시킴으로써, 얼굴 쌍들에 대해 계층적 비선형 변환의 집합을 같은 특징을 가지는 서브스페이스로 프로젝션하기 위해 학습될 수 있다.
더 나아가, 구조적 텀(structural term)을 메트릭 행렬로 통합함으로써 비정보적 특징이 제거될 수 있다. 예를 들어, 직접적인 로우 랭크 제한(direct low rank constraints)이 프로젝션 행렬 P에 추가될 수 있다. 또한, 특징 공간(feature space) 및 샘플 공간(sample space)으로부터 도출된 로우 랭크 표현을 통해 데이터 전역 구조가 학습되고 불필요한 특징(redundant feature)이 제거될 수 있다.
일실시예에 따른 프로젝션 행렬은 DLML에 따라 하기와 같이 학습될 수 있다.
예를 들어, 를 트레이닝 셋트로 가정한다. 은 i번째 학습 벡터 데이터이고 n은 총 크기(예를 들어, 학습 벡터 데이터의 개수)를 나타낼 수 있다. 동일한 클래스 내의 모든 데이터 지점을 유지하고, 다른 클래스에 속하는 모든 데이터 지점을 분리하기 위한 목적 함수(objection function)는 하기 수학식 4와 같이 나타낼 수 있다.
여기서, 두 벡터 데이터 간의 마할라노비스 거리는 로 나타낼 수 있다. 은 및 가 같은 클래스에 속한 것을 의미하고, 아니면 일 수 있다. 은 및 가 다른 클래스에 속한 것을 의미하고, 아니면 일 수 있다.
예를 들어, 은 M=PPT로 분해(decompose)되고, 이고 일 수 있다. 이로부터 은 로 재작성될 수 있다. 결과적으로 메트릭 학습이 선형 프로젝션 P를 찾는 문제로 변환될 수 있다. 상술한 수학식 4는 하기 수학식 5와 같이 변환될 수 있다.
상술한 수학식 5에서, 은 S의 라플라스 행렬(laplacian matrix)이고, 는 D의 라플라스 행렬을 나타낼 수 있다. tr(K)는 행렬 K의 트레이스(trace)(여기서, trace는 정사각행렬의 대각항 원소들을 전부 더하는 함수)를 나타낼 수 있다. 상술한 수학식 5는 SILD(side-information based linear discriminant analysis)의 변형(variant)된 실시예일 수 있다. 많은 내부 개인 변화를 한정적으로 감소시킬 수 있는 내부 개인 서브스페이스(Intra-personal subspace)로부터, 상술한 수학식 5가 하기 수학식 6의 목적 함수로 표현될 수 있다.
상술한 수학식 6은 공분산 행렬을 이용한 메트릭 계산을 나타낼 수 있다. 본 명세서에서 메트릭 계산은 동일 클래스에 대응하는 벡터 데이터 간의 거리가 가까운 정도(예를 들어, 수학식 6의 분자) 및 상이한 클래스에 대응하는 벡터 데이터 간의 거리가 먼 정도(예를 들어, 수학식 6의 분모)에 연관된 수학적인 표현일 수 있다.
여기서, 는 내부 개인 공분산 행렬(intra personal covariance matrix)을 나타낼 수 있다. 다만, 이로 한정하는 것은 아니고, 다른 설정(예를 들어, 이미지 제한 설정(image restricted setting) 또는 이미지 비제한 설정(unrestricted setting) 등)에 따라 정의될 수 있다. 는 데이터의 총 공분산(covariance)으로서, PCA(Principal Components Analysis) 및 LDA로부터 도출될 수 있다. 총 공분산은 데이터의 글로벌 구조를 보존하고 보다 분별력 있는 정보(more discriminative information)를 도입(introduce)할 수 있다. 예를 들어, 학습 벡터 데이터에 대응하는 공분산 행렬은 상술한 CS 및 CT를 포함할 수 있다.
더 나아가, 로우 랭크 메트릭 학습에서는 M을 로우 랭크로 가정할 수 있다. M=PPT이고, (PPT)의 랭크는 P의 랭크와 동일하므로 rank(M)=rank(P)로 나타낼 수 있다. 상술한 로우 랭크의 제한 및 수학식 6에 따른 제한은 하기 수학식 7의 목적 함수와 같이 설정될 수 있다.
상술한 수학식 7에서, 및 는 트레이드 오프 파라미터일 수 있다. 감독 텀(supervised term)은 프로젝션 행렬 P가 보다 분별력 있는 정보를 보존하도록 할 수 있다. 여기서, rank(P)는 프로젝션 행렬 P의 랭크이고, P는 뉴클리어 놈(nuclear norm)을 이용하여 동등한 컨벡스(convex) 최적화(optimization) 문제로 변환될 수 있다. 로우 랭크를 가지는 프로젝션 행렬 P는 "핵심 특징(salient feature)"을 보존할 수 있다. 로우 메트릭 학습은 상술한 수학식 7에 의해 로우 랭크 서브스페이스 학습으로 변환될 수 있다. 예를 들어, 수학식 7은 프로젝션 행렬의 랭크가 최소화되고 공분산 행렬을 이용한 메트릭 계산이 최적화(예를 들어, 동일 클래스의 데이터 지점이 가까워 지고, 상이한 클래스의 데이터 지점이 멀어지도록 설정)되는 프로젝션 행렬 P를 구하기 위한 함수를 나타낼 수 있다.
로우 랭크 표현(low rank representation)은 데이터의 글로벌 구조를 밝히고 노이즈를 감지하는데 사용될 수 있다. 여기서, 로우 랭크 표현은 입력 영상의 특징에 대응하는 데이터를 나타내는 표현으로서, 예를 들어 로우 랭크를 가지는 행렬 등을 포함할 수 있다. 보다 안정적이고 견고한 모델을 위해, 미리 학습된 저차원 특징을 로우 랭크 제한의 한쪽(one side)에 고정(fix)하면, 하기 수학식 8이 도출될 수 있다.
상술한 수학식 8은 계수 행렬 Z의 랭크, 프로젝션 행렬P의 랭크, 공분산 행렬 CS, CT을 이용한 메트릭 계산 및 계수 행렬 Z, 프로젝션 행렬 P, 및 에러 행렬 E를 구하기 위한 함수를 나타낼 수 있다.
여기서, Y는 미리 학습된 저차원 특징으로서, 예를 들어 미리 학습된 기저 벡터 데이터를 나타낼 수 있다. 예를 들어, 이고, 는 상술한 수학식 6으로부터 미리 계산될 수 있다. Z는 로우 랭크를 가지는 계수 행렬로서 데이터의 글로벌 구조를 암시할 수 있다. YZ는 로우 랭크 표현일 수 있다. E는 스파스 에러 텀(sparse error term)으로서 스파스 에러 행렬(sparse error matrix)을 나타낼 수 있다. 은 뉴클리어 놈(nuclear norm)이고 은 -놈(norm)으로서, 매트릭스의 절대 원소 합(absolute element sum)을 나타낼 수 있다. 는 밸런스 파라미터(balanced parameter)를 나타낼 수 있다.
상술한 수학식 8에 의해 로우 랭크 표현이 프로젝션 행렬 P 및 계수 행렬 Z 양쪽에 도입될 수 있다. 로우 랭크 표현의 적용을 통해 벡터 데이터로부터 불필요한 특징이 제거되고 데이터의 글로벌 구조가 강조될 수 있다. 프로젝션 행렬 P에 대한 감독 텀(supervised term)은 보다 분별력 있는 정보를 보존할 수 있다.
일실시예에 따르면 상술한 수학식 8에서 적용된 제한은 일 수 있다. 미리 학습된 저차원 특징(예를 들어, YZ)의 도입에 의해 종래의 에 비해 훨씬 안정적이고 강건해질 수 있다. 예를 들어, 종래에는 양쪽에 데이터를 최적화하는 것이 지나치게 플렉서블(flexible)하여 안정성이 유지될 수 없다. 다만, 일실시예에서는 미리 학습된 저차원 특징이 수학식 8의 제한의 한쪽을 고정하였고, 미리 학습된 프로젝션이 보다 분별력 있는 구조를 나타낼 수 있다. 또한, Y는 저차원의 분별력 있는 특징으로서 로우 랭크 제한에서 Y에 의해 복원되는 때 프로젝션 행렬 P가 입력 영상 X로부터 보다 분별력 있는 정보를 도출할 수 있다.
상술한 수학식 8의 제한을 충족하는 계수 행렬 Z, 프로젝션 행렬 P 및 에러 행렬 E를 최적화하기 위해, 상술한 수학식 8에 대해 두 개의 릴랙스(relax) 변수 J 및 Q를 도입함으로써, 수학식 8이 하기 수학식 9와 같은 최소화 문제로 변환될 수 있다.
상술한 수학식 9에서, 은 트레이스 비율(trace-ratio)의 트레이스 차이 대체(trace difference replacement)일 수 있다. 직교 제한(Orthogonal constraint)인 은 획득된 프로젝션 행렬 P가 기저 변환 행렬(basis transformation matrix)이라는 것을 보장할 수 있다.
목적 함수에 대해 보다 나은 수렴(convergence)를 달성하기 위해, 증강된 라그랑쥬 곱셈자(Augmented Lagrangian Multiplier)가 적용될 수 있다. 예를 들어, 증강된 라그랑쥬 함수(Augmented Lagrangian function)로 하기 수학식 10이 도출될 수 있다.
상술한 수학식 10에서, Y1, Y2, Y3는 라그랑쥬 곱셈자(lagrange multiplier)이고, 은 페널티 파라미터(penalty parameter)를 나타낼 수 있다. 은 행렬의 내적(inner product)을 나타낼 수 있다. 은 프로베니우스 놈(Frobenius norm)을 나타낼 수 있다. 수학식 10에서는, 반복적 방법(iterative manner)을 통해 ADMM(Alternating Direction Method of Multipliers)를 사용하여 하나씩 최적화될 수 있다.
예를 들어, ADMM의 구체적인 과정은 하기 표 1의 알고리즘으로 나타낼 수 있다. 1번 과정은 SVT(Singular Value Thresholding)에 의해 해결될 수 있다. 3번 과정 및 5번 과정은 쉬링키지 연산자(shrinkage operator)에 의해 해결될 수 있다. 다른 밸런스 파라미터는 실험에서 조정되고, 파라미터 , , , maxIter 및 는 경험적으로(empirically) 설정될 수 있다.
입력: X, , , , , , Y 초기화: Z=J=0, Q=0, E=0, Y1=Y2=Y3=0, t=0, =10-5, =10-4, =1.2, =106, maxIter=103 |
while not converged or t < maxIter do 1. Fix the others and update J by 2. Fix the others and update P by 3. Fix the others and update J by 4. Fix the others and update Z by 5. Fix the others and update E by 6. Update the multipliers Y1, Y2, Y3 7. Update the parameter by = min( , ). 8. Check the convergence conditions 9. t = t + 1. end while |
출력: Z, J, E, P, Q |
상술한 알고리즘에 대한 복잡도(complexity)는 하기와 같을 수 있다. 예를 들어, 입력 영상 X를 n x m 행렬로 가정하면, n은 기존 차원이고 m은 데이터의 크기를 나타낼 수 있다. P는 n x p 행렬로서, 여기서 p는 프로젝션된 공간의 차원을 나타낼 수 있다. 상술한 표 1의 알고리즘에서 시간 소모 요소는, 과정 1 및 과정 3에서 트레이스 놈 산출(Trace norm computation), 과정 2 및 과정 4에서 행렬 곱 및 인버스(inverse)를 포함할 수 있다.
상술한 표 1의 알고리즘의 산출 복잡도(computation complexity)와 관련하여 과정 1에서 SVD 산출은 O(p3)이 소요되고, 과정 3은 O(m3)가 소요될 수 있다. n x m 행렬에 대해 일반적인 곱은 각각 O(n3)을 소요하고 인버스 또한 O(n3)을 소요할 수 있다. k개의 곱셉이 있으므로 과정 2는 (k+1)O(p3)을, 과정 4는 (k+1)O(n3)을 소요할 수 있다.
상술한 표 1의 알고리즘은 종래에 비해 뛰어난 인식 성능을 가지고, 최적화 반복이 증가할 수록 매우 빠르고 안정적인 성능을 나타낼 수 있다.
도 6은 일 실시예에 따른 제1 차원 벡터 데이터, 계수 행렬, 및 프로젝션 행렬 각각의 예시를 도시한 도면이다.
도 6에서 X는 입력 영상과 연관된 제1 차원 벡터 데이터의 예시, P는 로우 랭크를 가지는 프로젝션 행렬의 예시, Z는 계수 행렬의 예시, Y는 미리 학습된 기저 벡터 데이터의 예시를 나타낼 수 있다.
예를 들어, 입력 영상 X에 프로젝션 행렬 P가 반영된 벡터 데이터(예를 들어, PTX)는 미리 학습된 기저 벡터 데이터(basis vector data) Y 및 계수 행렬 Z의 곱에 스파스 에러 행렬(sparse error matrix) E가 포함된 벡터 데이터(예를 들어, YZ+E)와 동일할 수 있다. (상술한 수학식 8의 제한)
여기서, 제1 차원 벡터 데이터 X에 프로젝션 행렬 P가 반영되면, 제2 차원 벡터 데이터 PTX가 생성될 수 있다. 예를 들어, 제1 차원 벡터 데이터의 제1 차원은 제2 차원 벡터 데이터의 제2 차원보다 높을 수 있다. 예를 들어, 제1 차원은 고차원, 제2 차원은 저차원이라고 나타낼 수 있다.
도 7은 일 실시예에 따라 프로젝션 행렬이 반영된 벡터 데이터의 위치 변화를 도시한 도면이다.
예를 들어, 도 7은 벡터 데이터의 임의의 3개의 데이터 지점(710, 720, 730)을 나타내는 공간을 도시할 수 있다. 도 7의 상단부(예를 들어, before)는 제1 차원 벡터 데이터의 3개의 데이터 지점을 나타내고, 하단부(예를 들어, after)는 제1 차원 벡터 데이터에 프로젝션 행렬이 반영된 제2 차원 벡터 데이터의 3개의 데이터 지점을 나타낼 수 있다.
예를 들어, 제1 클래스에 대응하는 데이터 지점들(710, 730)은 원으로 나타낼 수 있고, 제2 클래스에 대응하는 데이터 지점들(720)은 네모로 나타낼 수 있다.
도 7의 상단부에서 제1 차원 벡터 데이터에서는 제1 클래스에 대응하는 데이터 지점(710)이 제2 클래스에 대응하는 데이터 지점(720)과 가깝고, 제1 클래스에 대응하는 데이터 지점들(710, 730)끼리는 거리가 멀게 산출될 수 있다. 도 7의 하단부에서 제1 차원 벡터 데이터가 프로젝션 행렬을 통해 변환된 제2 차원 벡터 데이터에서는 제1 클래스에 대응하는 데이터 지점(710)이 제2 클래스에 대응하는 데이터 지점(720)과 멀어지고, 제1 클래스에 대응하는 지점들(710, 730)끼리는 거리가 가깝게 산출될 수 있다.
도 8은 일 실시예에 따라 입력 영상에 대응하는 벡터를 변환하는 장치를 도시한 블럭도이다.
입력 영상에 대응하는 벡터를 변환하는 장치(820)는 벡터 수신부(821) 및 벡터 변환부(822)를 포함한다.
벡터 수신부(821)는 객체를 포함하는 입력 영상과 연관된 제1 차원 벡터 데이터를 수신할 수 있다. 여기서, 제1 차원 벡터 데이터는 X로 나타낼 수 있다. 예를 들어, 제1 차원 벡터 데이터는 입력 영상의 벡터 데이터 형태이거나 입력 영상의 특징의 벡터 데이터 형태일 수 있다.
벡터 변환부(822)는 수신된 제1 차원 벡터 데이터를 프로젝션 행렬에 기초하여 제2 차원 벡터 데이터로 변환할 수 있다. 여기서, 프로젝션 행렬은 P, 제2 차원 벡터 데이터는 PTX로 나타낼 수 있다.
입력 영상에 대응하는 벡터를 변환하는 장치(820)는 도 3 및 도 4에 도시된 특징 변환부(320, 422)로서 동작할 수도 있다. 예를 들어, 도 3 및 도 4에 도시된 벡터 추출부(310, 421)에 의해 추출된 벡터 데이터를 도 8의 벡터 수신부(821)가 수신할 수 있다.
도 9는 일 실시예에 따라 객체를 포함하는 입력 영상을 분별력 있는 특징 데이터로 변환하는 방법을 도시한 흐름도이다.
우선, 단계(910)에서는 벡터 추출부가 입력 영상으로부터 입력 영상과 연관된 벡터 데이터를 추출할 수 있다. 예를 들어 벡터 추출부는 입력 영상 자체를 벡터 데이터 형태로 추출하거나, 입력 영상의 특징을 벡터 데이터 형태로 추출할 수 있다.
그리고 단계(920)에서는 특징 변환부가 프로젝션 행렬을 이용하여 특징을 추출할 수 있다. 예를 들어, 특징 변환부는 학습 벡터 데이터의 공분산 행렬에 기초하여 생성된, 로우 랭크(low rank)를 가지는 프로젝션 행렬을 이용하여, 입력 영상과 연관된 벡터 데이터를 분별력 있는 특징 데이터로 변환할 수 있다. 예를 들어, 특징 변환부는 입력 영상에 대응하는 제1 차원 벡터 데이터 X (예를 들어, 입력 영상과 연관된 벡터 데이터)에 프로젝션 행렬 P를 적용함으로써 제2 차원 벡터 데이터 PTX (예를 들어, 입력 영상의 분별력 있는 특징 데이터)로 변환할 수 있다. 구체적으로는 상술한 도 3 및 도 4의 과정에 따라 특징을 추출할 수 있다.
이어서 단계(930)에서는 판단부가 특징 데이터를 이용하여 유사도를 산출할 수 있다. 예를 들어, 판단부는 상술한 수학식 2 또는 수학식 3에 따라 영상들의 특징 데이터에 대응하는 벡터 데이터들 간의 거리 또는 유사도를 산출할 수 있다.
도 10은 일 실시예에 따라 입력 영상과 연관된 벡터 데이터의 차원을 변환하기 위한 프로젝션 행렬을 학습하는 방법을 도시한 흐름도이다.
우선, 단계(1010)에서는 학습 벡터 수신부가 학습 벡터 데이터를 수신할 수 있다. 예를 들어, 학습 벡터 수신부는 복수의 학습 영상들의 각각에 대응하는 학습 벡터 데이터를 수신할 수 있다.
그리고 단계(1020)에서는 프로젝션 행렬 학습부가 학습 벡터 데이터에 대응하는 공분산 행렬을 이용하여 프로젝션 행렬을 학습할 수 있다. 또한, 프로젝션 행렬 학습부는 학습 벡터 데이터로부터 로우 랭크를 가지는 프로젝션 행렬을 학습할 수 있다.
예를 들어, 프로젝션 행렬 학습부는 프로젝션 행렬의 랭크가 미리 정한 랭크 임계(predetermined rank threshold)보다 작도록 프로젝션 행렬을 결정할 수 있다.
예를 들어, 프로젝션 행렬 학습부는 상술한 수학식 6에 따라 보다 분별력 있는 정보를 획득하기 위해, 학습 벡터 데이터에서 동일한 객체에 대응하는 원소들 간의 차이는 최소화되고, 상이한 객체에 대응하는 원소들 간의 차이는 최대화되도록 프로젝션 행렬을 결정할 수 있다.
또한, 프로젝션 행렬 학습부는 상술한 수학식 8에 따라 프로젝션 행렬을 학습할 수 있다. 예를 들어, 프로젝션 행렬 학습부는 프로젝션 행렬이 반영된 입력 영상에 대응하는 벡터 데이터가, 미리 학습된 기저 벡터 데이터 및 계수 행렬의 곱에 스파스 에러 행렬이 포함된 벡터 데이터와 동일하도록, 프로젝션 행렬을 결정할 수 있다. 여기서, 프로젝션 행렬 학습부는 공분산 행렬을 이용한 메트릭 계산(예를 들어, 수학식 6 및 수학식 8), 계수 행렬의 랭크, 및 프로젝션 행렬의 랭크에 기초하여 프로젝션 행렬을 결정할 수 있다. 프로젝션 행렬 학습부는 학습 벡터 데이터에 대응하는 공분산 행렬에 기초하여 입력 영상으로부터 미리 학습된 기저 벡터 데이터를 생성할 수 있다.
구체적인 프로젝션 행렬의 학습은 도 5 내지 도 7에서 설명한 바에 따라 진행될 수 있다. 다만, 이로 한정하는 것은 아니고, 프로젝션 행렬 학습부는 상술한 수학식 8의 제한을 달성하기 위한 모든 알고리즘, 및 산출 방법 등을 이용하여 프로젝션 행렬을 학습할 수 있다.
도 11은 일 실시예에 따라 입력 영상에 대응하는 벡터를 변환하는 방법을 도시한 흐름도이다.
우선, 단계(1110)에서는 벡터 수신부가 입력 영상과 연관된 제1 차원 벡터 데이터를 수신할 수 있다. 예를 들어, 벡터 수신부는 객체(object)를 포함하는 입력 영상과 연관된 제1 차원 벡터 데이터(first dimensional vector data)를 수신할 수 있다.
그리고 단계(1120)에서 벡터 변환부는 제1 차원 벡터 데이터를 로우 랭크를 가지는 프로젝션 행렬에 기초하여 제2 차원 벡터 데이터로 변환할 수 있다. 여기서, 제1 차원 벡터 데이터의 제1 차원은 제2 차원 벡터 데이터의 제2 차원보다 높을 수 있다.
상술한 프로젝션 행렬 및 기저 벡터 데이터는 상술한 도 10의 방법에 의해 학습될 수 있다.
일실시예에 따르면, 단계(1110)에서 벡터 수신부가 제1 영상과 연관된 제1 영상 벡터 데이터 및 적어도 하나의 제2 영상과 연관된 제2 영상 벡터 데이터를 수신할 수 있다. 이 때, 단계(1120)에서는 벡터 변환부가 프로젝션 행렬에 기초하여 제1 영상 벡터 데이터 및 적어도 하나의 제2 영상 벡터 데이터를 제2 차원으로 변환할 수 있다. 이후, 판단부가 제2 차원으로 변환된 제1 영상 벡터 데이터 및 적어도 하나의 제2 영상 벡터 데이터에 기초하여 제1 영상 및 적어도 하나의 제2 영상의 각각을 비교할 수 있다.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPA(field programmable array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.
Claims (24)
- 입력 영상에 대응하는 벡터(vector)를 변환하는 방법에 있어서,
객체(object)를 포함하는 입력 영상과 연관된 제1 차원 벡터 데이터(first dimensional vector data)를 수신하는 단계; 및
상기 수신된 제1 차원 벡터 데이터를 로우 랭크(low rank)를 가지는 프로젝션 행렬(projection matrix)에 기초하여 제2 차원 벡터 데이터(second dimensional vector data)로 변환하는 단계
를 포함하고,
상기 제1 차원 벡터 데이터의 제1 차원은 상기 제2 차원 벡터 데이터의 제2 차원보다 높으며,
상기 프로젝션 행렬은,
상기 프로젝션 행렬이 반영된 입력 영상에 대응하는 제2 차원 벡터 데이터가 미리 학습된 기저 벡터 데이터(basis vector data) 및 계수 행렬의 곱에 스파스 에러 행렬(sparse error matrix)이 포함된 벡터 데이터와 동일하도록 생성된,
입력 영상에 대응하는 벡터를 변환하는 방법. - 제1항에 있어서,
상기 프로젝션 행렬은,
상기 프로젝션 행렬의 랭크가 미리 정한 랭크 임계(predetermined rank threshold)보다 작도록 미리 생성된,
입력 영상에 대응하는 벡터를 변환하는 방법. - 제1항에 있어서,
상기 프로젝션 행렬은,
학습 벡터 데이터에 대응하는 공분산 행렬(covariance matrix)에 기초하여 미리 생성된,
입력 영상에 대응하는 벡터를 변환하는 방법. - 삭제
- 제1항에 있어서,
상기 프로젝션 행렬은,
공분산 행렬을 이용한 메트릭 계산, 상기 계수 행렬의 랭크, 및 상기 프로젝션 행렬의 랭크에 기초하여 생성된,
입력 영상에 대응하는 벡터를 변환하는 방법. - 제1항에 있어서,
상기 미리 학습된 기저 벡터 데이터는,
학습 벡터 데이터에 대응하는 공분산 행렬에 기초하여 상기 입력 영상으로부터 생성된,
입력 영상에 대응하는 벡터를 변환하는 방법. - 제1항에 있어서,
상기 제1 차원 벡터 데이터를 수신하는 단계는,
제1 영상과 연관된 제1 영상 벡터 데이터 및 적어도 하나의 제2 영상과 연관된 제2 영상 벡터 데이터를 수신하는 단계
를 포함하고,
상기 제2 차원 벡터 데이터로 변환하는 단계는,
상기 프로젝션 행렬에 기초하여 상기 제1 영상 벡터 데이터 및 상기 적어도 하나의 제2 영상 벡터 데이터를 제2 차원으로 변환하는 단계
를 포함하며,
상기 제2 차원으로 변환된 제1 영상 벡터 데이터 및 상기 적어도 하나의 제2 영상 벡터 데이터에 기초하여 상기 제1 영상 및 상기 적어도 하나의 제2 영상의 각각을 비교하는 단계
를 더 포함하는 입력 영상에 대응하는 벡터를 변환하는 방법. - 제1항 내지 제3항, 및 제5항 내지 제7항 중 어느 한 항의 방법을 수행하도록 하는 명령어들을 포함하는 하나 이상의 프로그램을 저장한 컴퓨터 판독 가능 저장매체.
- 입력 영상과 연관된 벡터 데이터의 차원을 변환하기 위한 프로젝션 행렬을 학습하는 방법에 있어서,
복수의 학습 영상들의 각각에 대응하는 학습 벡터 데이터를 수신하는 단계; 및
상기 학습 벡터 데이터로부터 로우 랭크를 가지는 상기 프로젝션 행렬을 학습하는 단계
를 포함하고,
상기 프로젝션 행렬을 학습하는 단계는,
상기 프로젝션 행렬이 반영된 입력 영상에 대응하는 벡터 데이터가, 미리 학습된 기저 벡터 데이터 및 계수 행렬의 곱에 스파스 에러 행렬이 포함된 벡터 데이터와 동일하도록, 상기 프로젝션 행렬을 결정하는 단계
를 포함하는,
입력 영상과 연관된 벡터 데이터의 차원을 변환하기 위한 프로젝션 행렬을 학습하는 방법. - 제9항에 있어서,
상기 프로젝션 행렬을 학습하는 단계는,
상기 프로젝션 행렬의 랭크가 미리 정한 랭크 임계(predetermined rank threshold)보다 작도록 상기 프로젝션 행렬을 결정하는 단계
를 포함하는 입력 영상과 연관된 벡터 데이터의 차원을 변환하기 위한 프로젝션 행렬을 학습하는 방법. - 제9항에 있어서,
상기 프로젝션 행렬을 학습하는 단계는,
상기 학습 벡터 데이터에 대응하는 공분산 행렬에 기초하여 상기 프로젝션 행렬을 미리 생성하는 단계
를 포함하는 입력 영상과 연관된 벡터 데이터의 차원을 변환하기 위한 프로젝션 행렬을 학습하는 방법 - 제9항에 있어서,
상기 프로젝션 행렬을 학습하는 단계는,
상기 학습 벡터 데이터에서 동일한 객체에 대응하는 원소들 간의 차이는 최소화되고, 상이한 객체에 대응하는 원소들 간의 차이는 최대화되도록 상기 프로젝션 행렬을 결정하는 단계
를 포함하는 입력 영상과 연관된 벡터 데이터의 차원을 변환하기 위한 프로젝션 행렬을 학습하는 방법. - 삭제
- 제9항에 있어서,
상기 프로젝션 행렬을 학습하는 단계는,
공분산 행렬을 이용한 메트릭 계산, 상기 계수 행렬의 랭크, 및 상기 프로젝션 행렬의 랭크에 기초하여 상기 프로젝션 행렬을 결정하는 단계
를 포함하는 입력 영상과 연관된 벡터 데이터의 차원을 변환하기 위한 프로젝션 행렬을 학습하는 방법. - 제9항에 있어서,
상기 프로젝션 행렬을 학습하는 단계는,
상기 학습 벡터 데이터에 대응하는 공분산 행렬에 기초하여 상기 입력 영상으로부터 상기 미리 학습된 기저 벡터 데이터를 생성하는 단계
를 포함하는 입력 영상과 연관된 벡터 데이터의 차원을 변환하기 위한 프로젝션 행렬을 학습하는 방법. - 제9항 내지 제12항, 제14항 및 제15항 중 어느 한 항의 방법을 수행하도록 하는 명령어들을 포함하는 하나 이상의 프로그램을 저장한 컴퓨터 판독 가능 저장매체.
- 객체를 포함하는 입력 영상을 분별력 있는 특징 데이터(discriminative feature data)로 변환하는 방법에 있어서,
상기 입력 영상으로부터 상기 입력 영상과 연관된 벡터 데이터를 추출하는 단계; 및
학습 벡터 데이터의 공분산 행렬에 기초하여 생성된, 로우 랭크(low rank)를 가지는 프로젝션 행렬을 이용하여, 상기 입력 영상과 연관된 벡터 데이터를 상기 분별력 있는 특징 데이터로 변환하는 단계
를 포함하고,
상기 프로젝션 행렬은,
상기 프로젝션 행렬이 반영된 입력 영상에 대응하는 분별력 있는 특징 데이터가 미리 학습된 기저 벡터 데이터(basis vector data) 및 계수 행렬의 곱에 스파스 에러 행렬(sparse error matrix)이 포함된 벡터 데이터와 동일하도록 생성된,
객체를 포함하는 입력 영상을 분별력 있는 특징 데이터로 변환하는 방법. - 제17항에 있어서,
상기 입력 영상과 연관된 벡터 데이터를 추출하는 단계는,
상기 입력 영상을 수신하는 단계;
상기 입력 영상으로부터 상기 객체가 포함된 객체 영역을 검출하는 단계; 및
상기 객체 영역에 기초하여 상기 입력 영상을 정규화하는 단계;
를 포함하는 객체를 포함하는 입력 영상을 분별력 있는 특징 데이터로 변환하는 방법. - 제17항에 있어서,
상기 변환된 특징 데이터를 다른 영상으로부터 추출되어 변환된 특징 데이터와 비교하여 유사도를 산출하는 단계; 및
상기 유사도가 미리 정한 임계 유사도보다 크면 상기 입력 영상에 포함된 객체 및 상기 다른 영상에 포함된 객체가 동일하다고 판단하는 단계
를 더 포함하는 객체를 포함하는 입력 영상을 분별력 있는 특징 데이터로 변환하는 방법. - 제17항에 있어서,
상기 변환된 특징 데이터를 복수의 객체들에 대응하는 미리 저장된 특징 데이터들과 비교하여 유사도를 산출하는 단계; 및
상기 미리 저장된 특징 데이터들 중 상기 유사도가 미리 정한 임계 유사도보다 큰 특징 데이터에 대응하는 객체 및 상기 입력 영상에 포함된 객체가 동일하다고 판단하는 단계
를 더 포함하는 객체를 포함하는 입력 영상을 분별력 있는 특징 데이터로 변환하는 방법. - 제17항 내지 제20항 중 어느 한 항의 방법을 수행하도록 하는 명령어들을 포함하는 하나 이상의 프로그램을 저장한 컴퓨터 판독 가능 저장매체.
- 입력 영상에 대응하는 벡터를 변환하는 장치에 있어서,
객체를 포함하는 입력 영상과 연관된 제1 차원 벡터 데이터를 수신하는 벡터 수신부(vector receiver); 및
상기 수신된 제1 차원 벡터 데이터를 프로젝션 행렬에 기초하여 제2 차원 벡터 데이터로 변환하는 벡터 변환부(vector converter)
를 포함하고,
상기 프로젝션 행렬은,
상기 프로젝션 행렬이 반영된 입력 영상에 대응하는 제2 차원 벡터 데이터가 미리 학습된 기저 벡터 데이터(basis vector data) 및 계수 행렬의 곱에 스파스 에러 행렬(sparse error matrix)이 포함된 벡터 데이터와 동일하도록 생성된,
입력 영상에 대응하는 벡터를 변환하는 장치. - 입력 영상과 연관된 벡터 데이터의 차원을 변환하기 위한 프로젝션 행렬을 학습하는 장치에 있어서,
복수의 학습 영상들의 각각에 대응하는 학습 벡터 데이터를 수신하는 학습 벡터 수신부(learning vector receiver); 및
상기 학습 벡터 데이터로부터 로우 랭크를 가지는 상기 프로젝션 행렬을 학습하는 프로젝션 행렬 학습부(projection matrix learner)
를 포함하고,
상기 프로젝션 행렬 학습부는,
상기 프로젝션 행렬이 반영된 입력 영상에 대응하는 벡터 데이터가, 미리 학습된 기저 벡터 데이터 및 계수 행렬의 곱에 스파스 에러 행렬이 포함된 벡터 데이터와 동일하도록, 상기 프로젝션 행렬을 결정하는,
입력 영상과 연관된 벡터 데이터의 차원을 변환하기 위한 프로젝션 행렬을 학습하는 장치. - 객체를 포함하는 입력 영상을 분별력 있는 특징 데이터로 변환하는 장치에 있어서,
상기 입력 영상으로부터 상기 입력 영상과 연관된 벡터 데이터를 추출하는 벡터 추출부(vector extractor); 및
학습 벡터 데이터에 대응하는 공분산 행렬에 기초하여 생성된, 로우 랭크(low rank)를 가지는 프로젝션 행렬을 이용하여, 상기 입력 영상과 연관된 벡터 데이터를 상기 분별력 있는 특징 데이터로 변환하는 특징 변환부(feature converter)
를 포함하고,
상기 프로젝션 행렬은,
상기 프로젝션 행렬이 반영된 입력 영상에 대응하는 분별력 있는 특징 데이터가, 미리 학습된 기저 벡터 데이터 및 계수 행렬의 곱에 스파스 에러 행렬이 포함된 벡터 데이터와 동일하도록 결정된,
객체를 포함하는 입력 영상을 분별력 있는 특징 데이터로 변환하는 장치.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020140127389A KR102010378B1 (ko) | 2014-09-24 | 2014-09-24 | 객체를 포함하는 영상의 특징을 추출하는 방법 및 장치 |
US14/858,082 US9959457B2 (en) | 2014-09-24 | 2015-09-18 | Apparatus and method for extracting feature of image including object |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020140127389A KR102010378B1 (ko) | 2014-09-24 | 2014-09-24 | 객체를 포함하는 영상의 특징을 추출하는 방법 및 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20160035740A KR20160035740A (ko) | 2016-04-01 |
KR102010378B1 true KR102010378B1 (ko) | 2019-08-13 |
Family
ID=55526032
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020140127389A KR102010378B1 (ko) | 2014-09-24 | 2014-09-24 | 객체를 포함하는 영상의 특징을 추출하는 방법 및 장치 |
Country Status (2)
Country | Link |
---|---|
US (1) | US9959457B2 (ko) |
KR (1) | KR102010378B1 (ko) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106803055B (zh) * | 2015-11-26 | 2019-10-25 | 腾讯科技(深圳)有限公司 | 人脸识别方法和装置 |
KR102221118B1 (ko) | 2016-02-16 | 2021-02-26 | 삼성전자주식회사 | 영상의 특징을 추출하여 객체를 인식하는 방법 |
CN106503143B (zh) * | 2016-10-21 | 2020-02-07 | 广东工业大学 | 一种图像检索方法及装置 |
KR102696652B1 (ko) | 2017-01-26 | 2024-08-21 | 삼성전자주식회사 | 스테레오 매칭 방법 및 영상 처리 장치 |
US11037330B2 (en) * | 2017-04-08 | 2021-06-15 | Intel Corporation | Low rank matrix compression |
KR102400017B1 (ko) * | 2017-05-17 | 2022-05-19 | 삼성전자주식회사 | 객체를 식별하는 방법 및 디바이스 |
CN107886056A (zh) * | 2017-10-27 | 2018-04-06 | 江苏大学 | 一种模糊协方差学习网络的电子鼻鉴别食醋品种方法 |
US10896218B2 (en) * | 2017-12-22 | 2021-01-19 | Oracle International Corporation | Computerized geo-referencing for images |
CN109145801B (zh) | 2018-08-13 | 2021-02-02 | 浙江宇视科技有限公司 | 一种人脸识别方法及人脸识别系统 |
CN109522956B (zh) * | 2018-11-16 | 2022-09-30 | 哈尔滨理工大学 | 一种低秩判别特征子空间学习方法 |
US11216731B2 (en) * | 2019-04-10 | 2022-01-04 | Alexander Fairhart | Apparatus and process for visual recognition |
CN112215034A (zh) * | 2019-07-10 | 2021-01-12 | 重庆邮电大学 | 一种基于矩阵分解和Gabor特征的鲁棒表示与分类的遮挡人脸识别方法 |
CN110786850B (zh) * | 2019-11-11 | 2022-03-15 | 菏泽学院 | 基于多特征稀疏表示的心电信号身份识别方法及系统 |
US10861144B1 (en) * | 2019-11-27 | 2020-12-08 | Panasonic Intellectual Property Management Co., Ltd. | Image-processing method |
CN115797334B (zh) * | 2023-01-30 | 2023-04-28 | 广东工业大学 | 一种大规模光斑质量快速判别方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040017932A1 (en) * | 2001-12-03 | 2004-01-29 | Ming-Hsuan Yang | Face recognition using kernel fisherfaces |
US20080279424A1 (en) * | 2005-03-29 | 2008-11-13 | France Telecom | Method of Identifying Faces from Face Images and Corresponding Device and Computer Program |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8498454B2 (en) | 2009-07-14 | 2013-07-30 | General Electric Company | Optimal subspaces for face recognition |
US8488873B2 (en) | 2009-10-07 | 2013-07-16 | Apple Inc. | Method of computing global-to-local metrics for recognition |
JP5406705B2 (ja) * | 2009-12-28 | 2014-02-05 | キヤノン株式会社 | データ補正装置及び方法 |
JP5524692B2 (ja) * | 2010-04-20 | 2014-06-18 | 富士フイルム株式会社 | 情報処理装置および方法ならびにプログラム |
US8935308B2 (en) | 2012-01-20 | 2015-01-13 | Mitsubishi Electric Research Laboratories, Inc. | Method for recovering low-rank matrices and subspaces from data in high-dimensional matrices |
US8879805B2 (en) | 2012-09-12 | 2014-11-04 | Academia Sinica | Automated image identification method |
-
2014
- 2014-09-24 KR KR1020140127389A patent/KR102010378B1/ko active IP Right Grant
-
2015
- 2015-09-18 US US14/858,082 patent/US9959457B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040017932A1 (en) * | 2001-12-03 | 2004-01-29 | Ming-Hsuan Yang | Face recognition using kernel fisherfaces |
US20080279424A1 (en) * | 2005-03-29 | 2008-11-13 | France Telecom | Method of Identifying Faces from Face Images and Corresponding Device and Computer Program |
Non-Patent Citations (1)
Title |
---|
Zhang and Yang. Low rank representation based discriminative projection for robust feature extraction. Neurocomputing, 2013년, pp. 13-20. 1부.* |
Also Published As
Publication number | Publication date |
---|---|
US9959457B2 (en) | 2018-05-01 |
US20160086047A1 (en) | 2016-03-24 |
KR20160035740A (ko) | 2016-04-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102010378B1 (ko) | 객체를 포함하는 영상의 특징을 추출하는 방법 및 장치 | |
KR102221118B1 (ko) | 영상의 특징을 추출하여 객체를 인식하는 방법 | |
Patel et al. | Kernel sparse subspace clustering | |
Bu et al. | Learning high-level feature by deep belief networks for 3-D model retrieval and recognition | |
Huang et al. | Face recognition on large-scale video in the wild with hybrid Euclidean-and-Riemannian metric learning | |
Sikka et al. | Multiple kernel learning for emotion recognition in the wild | |
KR102486699B1 (ko) | 영상 인식 방법, 영상 검증 방법, 장치, 및 영상 인식 및 검증에 대한 학습 방법 및 장치 | |
US20220414821A1 (en) | Systems and methods for point cloud registration | |
KR101581112B1 (ko) | 계층적 패턴 구조에 기반한 기술자 생성 방법 및 이를 이용한 객체 인식 방법과 장치 | |
US11403878B2 (en) | Apparatus and method with user verification | |
Lin et al. | Depth and skeleton associated action recognition without online accessible rgb-d cameras | |
KR20200083119A (ko) | 사용자 인증 장치 및 방법 | |
Yger et al. | Supervised logeuclidean metric learning for symmetric positive definite matrices | |
Sawat et al. | Unconstrained face detection: a deep learning and machine learning combined approach | |
Xu et al. | Robust PCANet on target recognition via the UUV optical vision system | |
Luevano et al. | A study on the performance of unconstrained very low resolution face recognition: Analyzing current trends and new research directions | |
Zeng et al. | Multi-local model image set matching based on domain description | |
Alavi et al. | Random projections on manifolds of symmetric positive definite matrices for image classification | |
Yang et al. | Subspace learning by ℓ 0-induced sparsity | |
Zhang et al. | Robust ear recognition via nonnegative sparse representation of Gabor orientation information | |
Mantecón et al. | Enhanced gesture-based human-computer interaction through a Compressive Sensing reduction scheme of very large and efficient depth feature descriptors | |
Dong et al. | Robust affine subspace clustering via smoothed ℓ 0-norm | |
Hu et al. | Multi-manifolds discriminative canonical correlation analysis for image set-based face recognition | |
Beleza et al. | Slow feature subspace for action recognition | |
Su et al. | Learning low-dimensional temporal representations with latent alignments |
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 |