Discover millions of ebooks, audiobooks, and so much more with a free trial

Only $11.99/month after trial. Cancel anytime.

고유면: 고유면 를 통한 시각적 인식의 깊이 탐색
고유면: 고유면 를 통한 시각적 인식의 깊이 탐색
고유면: 고유면 를 통한 시각적 인식의 깊이 탐색
Ebook191 pages1 hour

고유면: 고유면 를 통한 시각적 인식의 깊이 탐색

Rating: 0 out of 5 stars

()

Read preview

About this ebook

고유얼굴이란 무엇인가


고유얼굴은 인간 얼굴 인식의 컴퓨터 비전 문제에 사용될 때 고유벡터 집합에 부여되는 이름입니다. 인식을 위해 고유 얼굴을 사용하는 접근 방식은시로비치 와 커비 가 개발했으며 매튜 터크와 알렉스 펜틀랜드가 얼굴 분류에 사용했습니다. 고유벡터는 얼굴 이미지의 고차원 벡터 공간에 대한 확률 분포의 공분산 행렬에서 파생됩니다. 고유면 자체는 공분산 행렬을 구성하는 데 사용되는 모든 이미지의 기본 세트를 형성합니다. 이는 더 작은 기본 이미지 세트가 원본 훈련 이미지를 나타낼 수 있도록 하여 차원 감소를 생성합니다. 분류는 기본 세트로 얼굴이 표현되는 방식을 비교하여 달성할 수 있습니다.


당신이 얻을 수 있는 혜택


(I) 다음 주제에 대한 통찰력 및 검증:


1장: 고유면


2장: 주성분 분석


3장: 특이값 분해


4장: 고유값과 고유벡터


5장: 행렬의 고유분해


6장: 커널 주성분 분석


7장: 매트릭스 분석


8장: 선형 동적 시스템


9장: 다변량 정규분포


10장: 변이의 모드


(II) 고유면에 관한 대중의 주요 질문에 답합니다.


(III) 다양한 분야에서 고유면 사용에 대한 실제 사례.


이 책은 누구를 위한 책인가


전문가, 학부 및 대학원생, 매니아, 취미생활자, 그리고 모든 종류의 고유페이스에 대한 기본 지식이나 정보를 넘어서고 싶은 사람들.

Language한국어
Release dateMay 14, 2024
고유면: 고유면 를 통한 시각적 인식의 깊이 탐색

Read more from Fouad Sabry

Related to 고유면

Titles in the series (100)

View More

Related ebooks

Reviews for 고유면

Rating: 0 out of 5 stars
0 ratings

0 ratings0 reviews

What did you think?

Tap to rate

Review must be at least 10 words

    Book preview

    고유면 - Fouad Sabry

    챕터 1: 고유면

    고유 얼굴 (/ ˈaɪɡənˌfeɪs /)은 인간 얼굴 인식의 컴퓨터 비전 문제에 사용될 때 고유 벡터 집합에 부여되는 이름입니다.

    고차원 얼굴 이미지 벡터 공간에는 공분산 행렬이 고유 벡터를 제공하는 확률 분포가 있습니다.

    고유면 자체는 공분산 행렬이 만들어지는 기저 집합입니다.

    그 결과 원본 훈련 영상이 더 간결한 기저 영상 세트로 표현될 수 있으므로 차원이 축소됩니다.

    면은 기저 세트에서 해당 표현을 비교하여 정렬할 수 있습니다.

    얼굴 특징을 표현하는 간결한 방법을 찾는 것이 고유면 방법의 출발점이었습니다.

    Sirovich와 Kirby는 주성분 분석을 사용하여 얼굴 사진 그룹에서 특징의 기초 세트를 만드는 방법을 시연했습니다.

    원래 훈련 세트의 기본 그림인 고유 그림은 그림을 생성하기 위해 선형으로 병합될 수 있습니다.

    M-이미지 훈련 세트가 주어졌을 때, N이 M인 경우 N장의 사진을 주성분 분석의 시작점으로 사용할 수 >.

    더 많은 고유 사진을 사용하면 재구성 오류가 감소합니다. 그러나 필요한 숫자는 M보다 작습니다.

    예를 들어, 주어진 M 훈련 얼굴 이미지 세트의 경우 N 고유 얼굴을 생성해야하며, 각 얼굴 이미지는 모든 K 특징또는 고유 얼굴의 비율로 구성 될 수 있다고 말할 수 있습니다 : 얼굴 이미지 1 = (E1의 23 %) + (E2의 2 %) + (E3의 51 %) + ..

    + (1% EN)입니다.

    1991년 M. Turk와 A. Pentland는 초기 업적을 기반으로 한 얼굴 인식의 고유면 방법을 발표했습니다. 그들은 공분산 행렬의 고유 벡터를 계산하는 방법을 시연했으며, 이를 통해 당시 컴퓨터의 많은 얼굴 사진에서 고유 분해를 수행할 수 있었습니다. 기존의 주성분 분석은 고차원 얼굴 사진 데이터 세트에 적용하기 어려운 것으로 판명되었습니다. Turk와 Pentland는 픽셀 수가 아닌 영상 개수에 비례하는 행렬을 사용하여 고유 벡터를 추출하는 방법을 보여주었습니다.

    초기 성공 이후, 고유면 방법은 정밀도 향상을 위한 전처리 기술을 통합하기 위해 추가로 개발되었습니다.

    주성분 분석(PCA)은 일련의 고유 얼굴을 생성하기 위해 대규모 얼굴 사진 모음에 적용할 수 있는 수학적 절차입니다. 고유 얼굴은 다양한 얼굴 이미지의 통계 분석을 통해 생성되며 비공식적으로 표준화된 얼굴 구성 요소의 집합으로 생각할 수 있습니다. 모든 사람의 얼굴은 이러한 기본 구성 요소로 나눌 수 있습니다. 얼굴은 평균적인 얼굴에 10%를 더한 고정점 1, 55%의 고유면 2, 3%의 고유면으로 구성될 수 있습니다. 놀랍게도, 소수의 고유면만 함께 결합하면 대부분의 면에 대한 좋은 근사치를 얻을 수 있습니다. 또한 각 사람의 얼굴은 디지털 사진으로 저장되지 않고 값 목록(사용된 데이터베이스의 각 고유 얼굴에 대해 하나의 값)으로 저장되기 때문에 훨씬 적은 공간을 차지합니다.

    결과 고유면은 밝은 부분과 어두운 부분이 대비되는 패턴을 갖게 됩니다. 이러한 방식으로 자세한 분석 및 채점을 위해 개별 얼굴 특성을 분리할 수 있습니다. 대칭은 수염의 존재, 헤어라인의 위치, 코와 입술의 비율과 마찬가지로 평가됩니다. 일부 고유면은 감지하기 어려운 패턴을 가지며 그 결과 이미지는 사람의 얼굴과 거의 유사하지 않을 수 있습니다.

    얼굴 인식 외에도 고유 얼굴을 만들고 인식에 사용하는 데 사용되는 방법의 다른 응용 프로그램에는 필기 인식, 입술 읽기, 음성 인식, 수화 및 손 제스처 해석, 의료 이미지 분석이 포함됩니다. 이러한 이유로 eigenface 대신 eigenimage라는 용어를 사용하는 것을 선호하는 사람들이 있습니다.

    고유면 모음을 생성하려면 다음이 포함됩니다.

    학습에 사용할 얼굴 샘플을 수집합니다.

    학습 세트에 사용된 모든 사진은 정확히 동일한 조명에서 촬영되어야 하며, 모든 사진의 눈과 입이 올바르게 정렬되도록 정규화가 필요합니다.

    또한 모두 공통 픽셀 해상도(r × c)로 리샘플링해야 합니다.

    하나의 벡터는 소스 이미지의 픽셀 열을 결합해야만 하나의 이미지로 간주되어 r × c 요소가 있는 단일 열이 됩니다.

    이 특정 구현에서, 훈련 세트 영상들은 모두 단일 행렬 T 내에 포함되어 있고, 각 행렬 열은 서로 다른 그림을 나타낸다고 가정한다.

    평균을 제거합니다. T의 각 영상은 평균 영상 a에서 평균 영상 a를 뺀 값을 가져야 합니다.

    공분산 행렬 S의 고유벡터와 고유값을 결정합니다. 각 고유 벡터는 원본 사진과 동일한 수의 구성 요소(차원)를 가지므로 다른 이미지로 처리할 수 있습니다. 이 공분산 행렬의 고유벡터를 고유면이라고 합니다. 그들은 사진이 평균에서 가장 많이 벗어난 방향을 가리킵니다. S를 명시적으로 계산하지 않고도 S의 고유벡터를 효율적으로 계산할 수 있기 때문에, 고유면은 잠재적으로 금지될 수 있는 계산 단계에도 불구하고 실용적으로 응용할 수 있습니다.

    주요인을 선택합니다.

    고유값과 고유벡터를 크기를 내림차순으로 정렬합니다.

    주성분 k의 수는 총 분산에 대한 임계값 ε 설정하여 임의로 결정됩니다.

    총 분산 {\displaystyle v=(\lambda _{1}+\lambda _{2}+...+\lambda _{n})} , n = 성분 수.

    k는 다음을 충족하는 가장 작은 수입니다. {\displaystyle {\frac {(\lambda _{1}+\lambda _{2}+...+\lambda _{k})}{v}}>\epsilon }

    이러한 고유 얼굴은 이제 새로 투영된(평균 빼기) 이미지가 고유 얼굴의 모양을 변경하는 방법을 기록하여 이전에 본 얼굴과 보이지 않은 얼굴을 모두 나타내는 데 사용할 수 있습니다.

    훈련 세트에서 평균에서 벗어난 영상의 양은 대응하는 고유면의 고유값으로 표현됩니다.

    고유 벡터 중 일부만 이미지를 투영하는 데 사용되는 경우 일부 세부 정보가 손실되지만 고유값이 가장 높은 고유 면을 유지하여 손실이 줄어듭니다.

    예를 들어, 100 × 100 이미지로 작업하면 10,000개의 고유 벡터가 생성됩니다.

    중요한 상황에서는 100개에서 150개 사이의 고유 면에 대한 투영이 일반적으로 대부분의 면을 인식하기에 충분하므로 10,000개의 고유 벡터를 비교적 쉽게 제거할 수 있습니다.

    Extended Yale Face Database B를 사용하여 고유면 계산의 예를 볼 수 있습니다.

    처리 능력이나 데이터 저장 장치의 부족을 피하기 위해 얼굴 이미지는 4×4=16의 계수로 샘플링됩니다.

    모두 지우기; 모두 닫기; Yalefaces로드

    h, w, n = 크기(예일페이스); d = h * w; % 이미지 벡터화

    x = reshape(yalefaces, d n]); x = 더블(x); % 평균 빼기

    mean_matrix = 평균(x, 2); x = bsxfun(@빼기, x, mean_matrix); % 공분산 계산

    s = cov(x'); % 고유값 및 고유벡터 획득

    V, D = eig(들); eigval = 대각선(D); % 고유값을 내림차순으로 정렬

    eigval = eigval(끝: - 1:1); V = 플립(V); %는 평균과 1번째부터 15번째까지의 주 고유벡터를 표시합니다.

    그림, 서브 플롯 (4, 4, 1)

    imagesc(모양 변경(mean_matrix, h, w]))

    컬러맵 회색

    i = 1:15인 경우

    서브 플롯 (4, 4, i + 1)

    imagesc(모양 변경(V(:, i), h, w))

    공분산 행렬 S에 의해 많은 고유면이 생성되지만, 실제로 대부분의 면을 나타내는 데는 고유면의 일부만 필요합니다. 예를 들어, 처음 43개의 고유 얼굴은 모든 얼굴 사진에서 발견되는 다양성의 95%를 설명할 수 있습니다. 계산에 다음 공식을 적용합니다.

    %는 95%의 전체 분산을 나타내는 데 필요한 주성분의 수를 평가합니다.

    eigsum = 합계 (eigval); csum = 0; i = 1:d인 경우

    csum = csum + eigval(i);  텔레비젼 = csum / eigsum;  TV  가 0.95> 경우

    케이95 = 나;  휴식

    끝; 끝; 영상의 공분산 행렬에 대해 직접 PCA를 수행하는 것은 계산적으로 불가능한 경우가 많습니다.

    썸네일을 사용하는 경우(예: 100픽셀 × 100픽셀) 각 이미지는 10,000차원 공간의 점이고 공분산 행렬 S 는 10,000개 × 10,000개 = 108개 요소로 구성된 행렬입니다.

    그러나 N개의 학습 예제가 있는 경우 공분산 행렬의 순위는 최대 N-1이 될 수밖에 없으며 고유값이 0이 아닌 고유벡터는 N1개 이하입니다.

    이미지 크기보다 학습 인스턴스가 적으면 모델이 어려움을 겪을 수 있습니다. 기본 구성 요소를 계산하는 더 간단한 방법은 다음과 같습니다.

    훈련 예제 행렬 T는 전처리되었으며, 여기서 각 열은 평균을 뺀 후 단일 이미지를 나타냅니다.

    그런 다음 공분산 행렬은 S = TTT 로 계산할 수 있으며 S의 고유 벡터 분해는 다음과 같이 계산됩니다.

    \mathbf {Sv} _{i}=\mathbf {T} \mathbf {T} ^{T}\mathbf {v} _{i}=\lambda _{i}\mathbf {v} _{i}

    그러나 TTT 는 대조적으로 고유값 분해를 보면 큰 행렬입니다.

    \mathbf {T} ^{T}\mathbf {T} \mathbf {u} _{i}=\lambda _{i}\mathbf {u} _{i}

    그런 다음 방정식의 양쪽에 T를 미리 곱하면 다음을 알 수 있습니다.

    \mathbf {T} \mathbf {T} ^{T}\mathbf {T} \mathbf {u} _{i}=\lambda _{i}\mathbf {T} \mathbf {u} _{i}

    즉, ui  가 TTT의 고유벡터인 경우 vi = Tui는 S의 고유벡터입니다.

    100 × 100픽셀의 300개 이미지로 구성된 훈련 세트가 있는 경우 행렬 TTT 는 300 × 300 행렬로, 10,000 × 10,000 공분산 행렬보다 훨씬 관리하기 쉽습니다.

    그러나 결과 벡터 vi 는 정규화되지 않습니다. 필요한 경우 추가 프로세스로 정규화를 사용할 수 있습니다.

    X가 column을 d\times n 이미지 벡터로 하고 평균을 뺀 데이터 행렬을 나타낸다고 x_{i} 하겠습니다.

    그러면 {\displaystyle \mathrm {covariance} (X)={\frac {XX^{T}}{n}}}

    X에 SVD가 있다고 가정하면 다음과 같이 작성할 수 있습니다.

    X=U{\Sigma }V^{T}

    그러면 고유값 분해는 XX^{T} 다음과 같습니다.

    XX^{T}=U{\Sigma }{{\Sigma }^{T}}U^{T}=U{\Lambda }U^{T}

    , 여기서 Λ=diag( XX^{T} 고유값 )

    결과적으로, 다음과 같은 사실이 분명합니다.

    고유면 = k 0이 아닌 특이값과 연결된 k\leq n 첫 번째( U ) 열 입니다.

    의 i번째 특이값 XX^{T}={\frac {1}{n}}( 의 i번째 고유값 X)^{2}

    데이터 행렬 X에 대해 SVD를 수행할 때 고유면을 얻기 위해 실제 공분산 행렬이 필요하지 않습니다.

    고유 얼굴의 개발은 향상된 얼굴 식별의 필요성에 의해 촉진되었습니다. 다른 방법과 비교할 때 고유면은 시스템의 속도와 효율성 때문에 더 나은 성능을 발휘합니다. eigenface는 차원 축소에 중점을 두기 때문에 적은 양의 정보를 사용하여 많은 수의 피사체를 표현할 수 있습니다. 또한 사진이 크게 축소될 때 얼굴 인식 시스템으로도 매우 강력합니다. 그럼에도 불구하고 관찰된 이미지와 프로브 이미지 사이에 큰 차이가 있을 때 극적으로 실패하기 시작합니다.

    얼굴 인식, 시스템 갤러리의 이미지는 해당 이미지를 구성하는 데 있어 각 고유 얼굴의 상대적 중요성을 특성화하는 가중치 집합으로 표시됩니다.

    분석을 위해 데이터베이스인 시스템에 새 면이 추가되면 이미지가 고유면 세트에 투영되어 자체 고유값을 결정합니다.

    이것은 프로브의 전면을 특징짓는 값 모음을 제공합니다.

    갤러리 세트 가중치를 이러한 가중치와 비교하여 가장 가까운 일치를 결정합니다.

    두 벡터 사이의

    Enjoying the preview?
    Page 1 of 1