técnicas multilineares em reconhecimento...
Post on 03-Dec-2018
213 Views
Preview:
TRANSCRIPT
UNIVERSIDADE FEDERAL DO CEARÁ
DEPARTAMENTO DE ENGENHARIA DE TELEINFORMÁTICA
PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA DE TELEINFORMÁTICA
Técnicas Multilineares em
Reconhecimento Facial
Dissertação de Mestrado
Emanuel Dário Rodrigues Sena
FORTALEZA – CEARÁ
NOVEMBRO 2014
UNIVERSIDADE FEDERAL DO CEARÁ
DEPARTAMENTO DE ENGENHARIA DE TELEINFORMÁTICA
PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA DE TELEINFORMÁTICA
Técnicas Multilineares em
Reconhecimento Facial
Autor
Emanuel Dário Rodrigues Sena
Orientador
Prof. Dr. André Lima Férrer de Almeida
Dissertação apresentada à
Coordenação do Programa de
Pós-graduação em Engenharia de
Teleinformática da Universidade
Federal do Ceará como parte dos
requisitos para obtenção do grau
de Mestre em Engenharia de
Teleinformática.
FORTALEZA – CEARÁ
NOVEMBRO 2014
Resumo
Nesta dissertação o problema de reconhecimento facial é investigado do
ponto de vista da álgebra multilinear, mais especificamente por meio de
decomposições tensoriais fazendo uso das wavelets de Gabor. A extração
de características ocorre em dois estágios: primeiramente as wavelets de
Gabor são aplicadas de maneira holística na seleção de características; em
segundo as imagens faciais são modeladas como um tensor de ordem superior
de acordo com o fatores multimodais presentes. Com isso aplicamos a
decomposição tensorial Higher Order Singular Value Decomposition (HOSVD)
para separar os fatores que influenciam na formação das imagens. O
método de reconhecimento facial proposto possui uma alta taxa de acerto e
estabilidade quando há variação nos diversos fatores multimodais, tais como,
posição facial, condição de iluminação e expressão facial. Propomos ainda
uma maneira sistemática para realização da validação cruzada em modelos
tensoriais para estimação da taxa de erro em sistemas de reconhecimento
facial que exploram a natureza multilinear do conjunto de imagens. Através do
particionamento aleatório dos dados organizado como um tensor, a validação
cruzada modo-n proporciona a criação de folds extraindo subtensores no modo
desejado, caracterizando um método estratificado e susceptível a repetições da
validação cruzada com diferentes particionamentos.
Palavras-Chave: Reconhecimento Facial, Wavelets de Gabor, Álgebra
Multilinear, Decomposições Tensoriais, Validação Cruzada.
Abstract
In this dissertation, the face recognition problem is investigated from
the standpoint of multilinear algebra, more specifically the tensor
decomposition, and by making use of Gabor wavelets. The feature extraction
occurs in two stages: first the Gabor wavelets are applied holistically in
feature selection; Secondly facial images are modeled as a higher-order
tensor according to the multimodal factors present. Then, the HOSVD is
applied to separate the multimodal factors of the images. The proposed facial
recognition approach exhibits higher average success rate and stability when
there is variation in the various multimodal factors such as facial position,
lighting condition and facial expression. We also propose a systematic way
to perform cross-validation on tensor models to estimate the error rate in
face recognition systems that explore the nature of the multimodal ensemble.
Through the random partitioning of data organized as a tensor, the mode-n
cross-validation provides folds as subtensors extracted of the desired mode,
featuring a stratified method and susceptible to repetition of cross-validation
with different partitioning.
Key-words: Face Recognition, Gabor Wavelets, Multilinear Algebra, Tensor
Decomposition, Cross-Validation
...aos meus pais.
Agradecimentos
Primeiro de tudo, gostaria de agradecer a Deus. Aos meus pais, Lídia
Honório e Manoel Sena, pelo suporte, amor, carinho, sem os quais eu nunca
teria chegado aonde cheguei. A minha companheira Aninha pelo amor e
dedicação.
Ao Professor Dr. André Lima Férrer de Almeida, pelos conselhos, por
acreditar no meu potencial e ter me orientado e apoiado durante esses dois
anos de mestrado.
Aos meus amigos e companheiros do Grupo de Telecomunicações Sem Fio
- GTEL, Paulo Gomes, Wilker Lima, Juan Medeiros, Gilderlan Araújo, Jordan
Paiva e Ítalo Victor. Por último, mas não menos importante, meus amigos leais
que me ajudaram com sua amizade: Tiago Bastos, Françoes Pereira e Allan
Torres.
E por fim agradeço a CAPES, pelo apoio financeiro concedido.
Sumário
Lista de Figuras vii
Lista de Tabelas ix
1 Introdução 1
1.1 Contexto do Problema . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3 Contribuições . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.4 Estrutura da Dissertação . . . . . . . . . . . . . . . . . . . . . . . . 3
2 Álgebra Multilinear 5
2.1 Conceitos Importantes de Álgebra Linear . . . . . . . . . . . . . . . 5
2.2 Álgebra Multilinear . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.2.1 Decomposições Tensoriais . . . . . . . . . . . . . . . . . . . 11
3 Reconhecimento Facial 14
3.1 Reconhecimento de Padrões em Estatística . . . . . . . . . . . . . 14
3.1.1 O modelo básico . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.2 Reconhecimento Facial baseado em subespaços lineares . . . . . 16
3.2.1 EigenFaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.2.2 TensorFaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
4 Reconhecimento Facial com Wavelets de Gabor via Álgebra
Multilinear 24
4.1 Wavelets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
4.1.1 Transformada Wavelet . . . . . . . . . . . . . . . . . . . . . . 25
4.2 Wavelets de Gabor . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
4.3 Wavelets de Gabor imersas em um Modelo Tensorial . . . . . . . . 29
4.3.1 Representação de uma imagem nas Wavelets de Gabor . . 30
v
5 Validação Cruzada Modo-n 34
5.1 Validação Cruzada . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
5.2 Validação Cruzada Modo-n . . . . . . . . . . . . . . . . . . . . . . . 35
5.3 Validação cruzada com fusão de modos . . . . . . . . . . . . . . . 41
6 Avaliação de Desempenho 44
6.1 Simulações e Resultados . . . . . . . . . . . . . . . . . . . . . . . . 45
6.1.1 Experimentos no Weizmann Face Image Database . . . . . 46
6.1.2 Experimentos no Extended Yale Face Image Database . . . 54
7 Conclusões e Perspectivas 57
Referências Bibliográficas 58
vi
Lista de Figuras
2.1 Representação ilustrativa de um tensor de ordem 3. . . . . . . . . 9
2.2 Exemplos de fibras (linhas, colunas e tubos) e fatias de um tensor
de ordem 3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.3 Matriciação de um tensor de ordem 3 nos modo-1, modo-2 e
modo-3, respectivamente. . . . . . . . . . . . . . . . . . . . . . . . . 10
3.1 Modelo básico de classificação de um padrão. . . . . . . . . . . . . 15
3.2 Modelo tensorial de ordem 4, onde cada coluna representa um
padrão. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
4.1 Eixos principais da gaussiana. . . . . . . . . . . . . . . . . . . . . . 28
4.2 Wavelets de Gabor com 5 escalas e 8 rotações. Fonte própria. . . . 30
5.1 O tensor total é particionado no modo-n para formar os folds. . . 39
5.2 Fusão do modo-i com o modo-j formando um novo modo-ij. . . . 42
6.1 Imagens de um indivíduo em uma dada condição de iluminação,
expressão facial e nas posições −34o,−17o, 0o,+17o,+34o,
respectivamente. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
6.2 "Autofaces" relativas as múltiplas projeções Uv,Ui e Ue.
Especificamente, 5 posições faciais, 3 condições de iluminação,
1 expressão facial de um único indivíduo. . . . . . . . . . . . . . . 47
6.3 Taxa de erro e estimativa da distribuição do desvio, resultantes
de 8500 repetições do 10-fold VC no modo híbrido pos-ilum de
dimensão 15, sem ruído. . . . . . . . . . . . . . . . . . . . . . . . . 48
6.4 Representação pictográfica da estrutura interna do modelo
tensorial com fusão nos modos posição e iluminação. . . . . . . . 48
6.5 Taxa de erro e estimativa da distribuição do desvio, resultantes
de 100 repetições do 10-fold VC no modo híbrido pos-ilum de
dimensão 15, considerando cenários com ruído. . . . . . . . . . . . 49
vii
6.6 Tempo médio de cada validação cruzada em 8500 repetições do
10-fold VC no modo pos-ilum de dimensão 15 . . . . . . . . . . . . . 50
6.7 Representação pictográfica da mudança da estrutura interna do
modelo tensorial com fusão nos modos posição e expressão. . . . 51
6.8 Resultados da taxa de erro para 100 repetições do 10-fold VC no
modo pos-exp de dimensão 15. . . . . . . . . . . . . . . . . . . . . . 52
6.9 Representação pictográfica da estrutura interna do modelo
tensorial com fusão nos modos iluminação e expressão. . . . . . . 52
6.10Resultados da taxa de erro para 1000 repetições do 5-fold VC no
modo ilum-exp de dimensão 9, sem ruído. . . . . . . . . . . . . . . 53
6.11Resultados da taxa de erro para 100 repetições do 5-fold VC no
modo ilum-exp de dimensão 9, considerando cenários com ruído. 53
6.12Resultados da taxa de erro para 100 repetições do 5-fold VC no
modo posição facial de dimensão 9 para a base Extended Yale
Face Image, considerando cenários com ruído. . . . . . . . . . . . 54
6.13Resultados da taxa de erro para 100 repetições do 10-fold VC no
modo iluminação de dimensão 15 para a base Extended Yale Face
Image, considerando cenários com ruído. . . . . . . . . . . . . . . 55
6.14Resultados da taxa de erro para 100 repetições do 5-fold VC no
modo iluminação de dimensão 15 para a base Extended Yale Face
Image, considerando cenários com ruído. . . . . . . . . . . . . . . 55
viii
Lista de Tabelas
6.1 Número de partições para 5-fold VC estratificado com n amostras 45
6.2 Tempo total em segundos da HOSVD nos modelos TenWav e
TensorFaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
ix
Lista de Acrônimos
LI Linearmente Independentes
CL Combinações Lineares
SVD Decomposição em Valores Singulares
LRA Low Rank Approximation
HOSVD Higher Order Singular Value Decomposition
VC Validação Cruzada
LBO Leave-bar-out
EM Expectation Maximization
PCA Análise de Componentes Principais
FCI Fixed Confidence Interval
TSE Two Step Estimation
CANDECOMP Canonical Decomposition
PARAFAC Parallel Factor Analysis
Lista de Publicações
Congresso
Reconhecimento Facial usando Wavelets de Gabor via Álgebra Multilinear.
Aceito no XXXI Simpósio Brasileiro de Telecomunicações - SBrT2013,
1-4 de Setembro de 2013, Fortaleza, CE
Em preparação, diretamente relacionados a dissertação
About Cross-Validation on Tensor Models Applied to Face Recognition
Em preparação, continuação direta da dissertação
Repeated Holdout on Tensor Models, a TensorVoice perspective
xi
Notação
No decorrer deste trabalho a seguinte notação será utilizada:
x Escalares
x Vetores
X Matrizes
X Tensores
x · y Produto interno entre x e y
x y Produto externo entre x e y
C Conjunto dos valores complexos
CI1 Vetor de dimensão I com valores complexos
CI1×I2 Matriz de dimensão I1 × I2 com valores complexos
CI1×I2×···×IN Tensor de dimensão I1 × I2 × · · · × IN com valores complexos
A∗ Conjugado de A
A⊤ Transposto de A
AH Conjugado transposto de A
A† Pseudo-inversa de Moore-Penrose de A
‖·‖F Norma de Frobenius da Matriz ou Tensor
IN Matriz identidade de dimensão N
xi1,i2 (i1, i2)-ésimo elemento de X ∈ CI1×I2
xi1,i2 , . . . , iN (i1, i2, . . . , iN)-ésimo elemento de X ∈ CI1×I2 × · · · × INXi1· (X·i2) i1-ésima linha (i2-ésima coluna) de X ∈ CI1×I2
×n Produto modo-n
[X](n) Matriciação modo-n de X
A⊗B Produto de Kronecker entre as matrizes A e B
vec (X) Operador vetorização. Converte X em um vetor coluna x
empilhando suas colunas
diag (x) Forma uma matriz diagonal a partir do vetor x
xii
Capítulo 1
Introdução
1.1 Contexto do Problema
Imagens são sinais na qual sua formação depende da junção de múltiplos
fatores relacionados, tais como: estrutura da cena, iluminação, posição
dos objetos e no caso de imagens faciais a expressão facial, caracterizando
assim uma natureza multimodal [1]. Ao longo das últimas décadas, diversos
algoritmos para reconhecimento facial foram produzidos, explorando ao
máximo a riqueza de informação contida nos múltiplos domínios. Devido
a essa natureza multimodal, os fatores constituintes se misturam. Fato
imperceptível aos seres humanos devido a nossa percepção ser tolerante
aos diversos componentes que formam a imagem, tornando-se um sistema
robusto a essas variações. O mesmo não é verdade para sistemas
computacionais de reconhecimento facial. Em reconhecimento facial os
métodos lineares, por exemplo, EigenFaces [2], mostraram-se ferramentas
robustas quando há variação apenas da identidade do indivíduo no conjunto
de imagens e são fixados a posição facial, condições de iluminação e
expressão.
A álgebra multilinear é uma parte da matemática que estende a álgebra
linear, em que os espaços vetoriais são generalizados no conceito de
espaços tensoriais através do produto tensorial [3]. O interesse em álgebra
multilinear tem se expandido para diversas áreas do conhecimento, incluindo
o processamento de imagens para o reconhecimento de padrões e visão
computacional. Um ramo da álgebra multilinear são as decomposições
tensoriais [4, 5], em especial a HOSVD que faz uso da Decomposição em
Valores Singulares (SVD) para seu cálculo [6], oferecendo uma maneira
natural para a análise da estrutura multimodal de um conjunto de imagens,
conceito primeiramente introduzido por M. Alex O. Vasilescu e Demetri
Terzopoulos no método TensorFaces [7,8].
1.2. Objetivos 2
O TensorFaces apresenta uma deficiência no estágio de validação devido
à estrutura interna, onde todas as imagens são justapostas em uma única
entidade, a saber o tensor de dados ou tensor de imagens faciais. Em
geral o modelo TensorFaces apresenta um bom desempenho [9], mas é
necessário uma maneira sistemática a fim de estimarmos a verdadeira
taxa de erro. A validação cruzada é um método eficiente e popular para
estimação da taxa de erro em reconhecimento de padrões. Essa estrutura
interna proporciona uma alta dependência na maneira como as imagens são
organizadas. Ficando inviável a criação de folds da maneira tradicional para
a validação, selecionando amostras aleatórias de uma distribuição uniforme
dos dados.
1.2 Objetivos
Objetivos Gerais
Objetivamos o estudo e aprimoramento de técnicas multilineares aplicadas
ao problema de reconhecimento facial em um conjunto multimodal de imagens
faciais.
Objetivos Específicos
O aperfeiçoamento do algoritmo multilinear TensorFaces, através da
introdução de uma análise multiescala, em específico usando-se wavelets
de Gabor.
A construção de uma maneira sistemática para validação de modelos
tensoriais, para reconhecimento facial e algoritmos multilineares na
classificação de padrões em geral.
1.3 Contribuições
A contribuição geral dessa dissertação é
O enriquecimento da teoria de reconhecimento de padrões em modelos
tensoriais.
Nossas contribuições técnicas principais são as seguintes:
Propomos modificações no método TensorFaces em que as wavelets
de Gabor são utilizadas na extração de características, formando um
novo conjunto de dados a ser explorado pela modelagem tensorial. O
modelo tensorial aqui tratado leva em consideração aspectos relativos à
formação da imagem, ou seja, fatores multimodais. Nesta abordagem,
a HOSVD é aplicada sobre o tensor de dados transformado pelas
1.4. Estrutura da Dissertação 3
wavelets de Gabor, visando a separação dos diversos fatores multimodais.
Através desse método híbrido de extração de características, é possível
extrair a maior quantidade de informação possível do tensor de imagens
multimodais [10], separando-se seus fatores multilineares constituintes
(posição facial, iluminação e expressão facial) através da HOSVD.
Propomos uma solução para o problema de validação em modelos
tensoriais denominada validação cruzada com k folds no modo-n. O
algoritmo é baseado em uma dimensão específica do modelo tensorial. O
método consiste em escolher de uma forma pré-definida uma dimensão
(por exemplo, o espaço vetorial com maior dimensionalidade) e realizar a
criação de folds nesse modo. Em certos modelos essa maior dimensão
pode ter um valor pequeno, causando problemas na repetição da
validação cruzada (poucas partições). Como solução, propomos a fusão
de modos no tensor considerado, que ao mesmo tempo aumenta a
dimensionalidade de um modo e diminui a complexidade do sistema
através do uso de tensores de ordens reduzidas.
1.4 Estrutura da Dissertação
Esta dissertação foi desenvolvida com base em referências bibliográficas,
compostas por livros, artigos publicados em anais de eventos nacionais,
internacionais, em periódicos dedicados a reconhecimento facial, álgebra
multilinear e afins. Os resultados numéricos foram obtidos a partir de
simulações computacionais realizadas com apoio do software MATLAB R©. Os
campos de pesquisa que serão abordados são:
Álgebra Multilinear
• Decomposições Tensoriais
Reconhecimento de Padrões
• Reconhecimento Facial
• Validação
Wavelets
• Wavelets de Gabor
Esta dissertação está organizada de acordo com a seguinte estrutura:
Capítulo 2 - Neste capítulo será apresentada a fundamentação teórica da
álgebra multilinear utilizada no decorrer desse trabalho. São revisados
1.4. Estrutura da Dissertação 4
alguns conceitos de álgebra linear, além de uma revisão sobre álgebra
multilinear e decomposições tensoriais. Serão apresentados conceitos
fundamentais, formalismo matemático, notações e operações envolvendo
tensores.
Capítulo 3 - Neste capítulo é apresentada uma revisão sobre métodos
lineares e multilineares para reconhecimento facial. Os métodos
TensorFaces e EigenFaces são ainda apresentados e discutidos neste
capítulo.
Capítulo 4 - Neste capítulo, são introduzidas as wavelets de Gabor em
conjunto com modelos tensoriais. Derivamos a família de wavelets de
Gabor a partir do filtro de Gabor. Realizamos a imersão das mesmas em
um modelo tensorial.
Capítulo 5 - Neste capítulo introduzimos o método de validação cruzada com
k folds no modo-n de um modelo tensorial. Em seguida, realizamos
a derivação teórica do procedimento e sua melhoria através da fusão
modo-n.
Capítulo 6 - Neste capítulo são apresentadas simulações numéricas com os
métodos propostos e conclusões específicas a respeito de cada método.
Capítulo 7 - Neste capítulo são apresentadas as conclusões gerais. Além
disso, algumas perspectivas de continuidade desta pesquisa são
brevemente discutidas.
Capítulo 2
Álgebra Multilinear
2.1 Conceitos Importantes de Álgebra Linear
Nessa dissertação Fn denotará o espaço n-dimensional sobre o corpo F = R
ou C.
Definição 1 (Produto Externo) Definimos o produto externo de dois vetores
u = [u1, u2, . . . , um]⊤ ∈ Fm e v = [v1, v2, . . . , vn]
⊤ ∈ Fn, como:
u v = uv⊤ =
u1v1 u1v2 . . . u1vn
u2v1 u2v2 . . . u2vn
· · · · · · . . . · · ·umv1 umv2 . . . umvn
, (2.1)
que em forma escalar fica [u v]ij = uivj para i = 1, 2, . . . , m e j = 1, 2, . . . , n.
Definição 2 (Produto de Hadamard) Seja A,B ∈ Fm×n, definimos o produto
de Hadamard como
A ∗B =
a11b11 a12b12 . . . a1nb1n
a21b21 a22b22 . . . a2nb2n
· · · · · · . . . · · ·am1bm1 am2bm2 . . . amnbmn
, (2.2)
que em forma escalar fica [A ∗B]ij = aijbij.
Definição 3 (Produto de Kronecker) O produto de Kronecker de duas
matrizes A ∈ Fm×n e B ∈ Fp×q denotado por A ⊗ B ∈ Fmp×nq é definido como:
5
2.1. Conceitos Importantes de Álgebra Linear 6
A⊗B =
a11B a12B . . . a1nB
a21B a22B . . . a2nB
· · · · · · . . . · · ·am1B am2B . . . amnB
, (2.3)
o termo aijB produz um bloco na matriz A ⊗B bem localizado e que em forma
escalar fica [A⊗B](i−1)p+1:ip, (j−1)q+1:jq = aijB.
Definição 4 (Rank de uma matriz) O rank de uma matriz A ∈ Fm×n denotado
por r(A) é o número máximo de colunas (ou linhas) Linearmente Independentes
(LI).
Definição 5 (Matriz rank-1) Uma matriz A é dita rank-1, i.e., r(A) = 1 se a
mesma for composta pelo produto externo de dois vetores u = [u1, u2, . . . , um]⊤ e
v = [v1, v2, . . . , vn]⊤:
A = u v =
u1v1 u1v2 . . . u1vn
u2v1 u2v2 . . . u2vn
· · · · · · . . . · · ·umv1 umv2 . . . umvn
(2.4)
Definição 6 (Soma Direta) Se U e V são espaços vetoriais (sobre o mesmo
corpo), sua soma direta é o espaço vetorial W , denotado por U ⊕ V , no qual
seus elementos são os pares ordenados [x,y]⊤ com x ∈ U e y ∈ V , com as
operações lineares abaixo bem definidas
α1
[
x1
y1
]
+ α2
[
x2
y2
]
=
[
α1x1 + α2x2
α1y1 + α2y2
]
(2.5)
em que x1,x2 ∈ U , y1,y2 ∈ V e [x1,y1]⊤, [x1,y1]
⊤ ∈ W = U ⊕ V . O espaço dos
vetores [x, 0]⊤ é um subespaço de W isomorfo a U , similarmente y ∈ V pode
ser identificado como os vetores [0,y]⊤ ∈ W . Então, para todos os propósitos
podemos considerar U e V como subespaços de W , o que nos leva ao seguinte:
Teorema 1 Seja U e V espaços vetoriais. A dimensão da soma direta de U e V
é a soma de suas dimensões.
Prova 1 A prova pode ser encontrada na pág. 30 de [11].
Teorema 2 (SVD) Seja A ∈ Fm×n com rank r(A) = R. Então existem matrizes
U1 ∈ Fm×r,U2 ∈ Fn×r e S ∈ Fr×r tal que U1U⊤1 = U2U
⊤2 = Ir, ou seja, U1 e
2.2. Álgebra Multilinear 7
U2 são matrizes ortogonais e S é uma matriz diagonal de valores singulares
S = diag(σ21, σ
22, . . . , σ
2R). Assim, A pode ser escrita como,
A = U1SU⊤2 (2.6)
Prova 2 A prova pode ser encontrada na pág. 19 de [12].
Em matemática aplicada, a aproximação de baixo rank (do inglês, Low
Rank Approximation (LRA)) é um problema de minimização em que a função
custo mede o quanto podemos aproximar uma matriz A por outra A de rank
menor.
Teorema 3 (Teorema de Eckart-Young) Seja A ∈ Rm×n com rank r(A) = R ≤p = minm,n, e seja
A = USV ⊤ =
R∑
i=1
σiuiv⊤i (2.7)
sua decomposição em valores singulares. Defina,
Ak = UkSkV⊤k =
k∑
i=1
σiuiv⊤i (2.8)
então A = Ak é a aproximação ótima de A com função custo
minr(A)=k
‖A− A‖F = ‖A−Ak‖F (2.9)
Em que ‖A‖F =√∑
ij a2ij é a norma de Frobenius.
Prova 3 A prova pode ser encontrada em [13].
2.2 Álgebra Multilinear
Nesta seção será realizada uma revisão sobre álgebra multilinear e
decomposições tensoriais. Serão apresentados conceitos fundamentais,
formalismo matemático, notações e operações envolvendo tensores. Na
maioria das definições focamos no uso de coordenadas devido a natureza
numérica do problema proposto.
Definição 7 (Produto Tensorial de Vetores) Seja u um vetor com m
coordenadas e v um vetor com n coordenadas, a saber ui e vjrespectivamente. O produto tensorial de u e v denotado por u • v, é um
vetor com mn coordenadas dadas por uivj.
2.2. Álgebra Multilinear 8
Observe que o produto externo (1) e o produto de Kronecker (3) são
produtos tensoriais.
Definição 8 (Produto Tensorial de Espaços Vetoriais) Suponha que um
produto tensorial u • v esteja bem definido para u ∈ U ⊂ Fm e v ∈ V ⊂ Fn.
O produto tensorial de U • V é definido como o espaço vetorial de todas as
Combinações Lineares (CL) dos vetores da forma x • y onde x ∈ U e y ∈ V .
Como exemplo, seja o espaço vetorial das matrizes A ∈ Fm×n e B ∈ Fp×q,
respectivamente. Então o conjunto de todas as CL das matrizes do tipo A⊗B ∈Fmp×nq é um espaço vetorial. Dito isso, podemos observar que dados dois
produtos tensoriais entre U e V , a saber, U •1 V e U •2 V , existe um único
isomorfismo L [14–16]. Desse modo, nos restringiremos aos produtos externo
(1) e o de Kronecker (3). A álgebra multilinear também é fundamentada no
conceito de transformação multilinear, que definimos de acordo com [17].
Definição 9 (Transformação Multilinear) Uma transformação
ψ : U1 × U2 × . . .× UN 7−→ U
é multilinear se for linear em cada variável, i.e., para todo ui, v ∈ Ui, i = 1, . . . , N
e para todo α ∈ F temos
ψ(u1,u2, . . . ,ui + v, . . . ,uN ) = ψ(u1,u2, . . . ,ui, . . . ,uN ) + ψ(u1,u2, . . . ,v, . . . ,uN ) (2.10a)
ψ(u1,u2, . . . , αui, . . . ,uN ) = αψ(u1,u2, . . . ,ui, . . . ,uN ) (2.10b)
Iremos definir tensores de ordem superior da mesma forma em que foram
propostos em [3,18–20].
Definição 10 (Tensor de ordem N ) Seja U1, U2, . . . , UN espaços vetoriais de
dimensões I1, I2, . . . , IN respectivamente. Considere N vetores u1 ∈ U1,u2 ∈U2, . . . ,uN ∈ UN . Denotamos por u1 u2 ... uN a transformação multilinear
sobre U1 × U2 × . . .× UN , definida por
(u1 u2 ... uN)(x1,x2, . . . ,xN) = 〈u1,x1〉1〈u2,x2〉2 . . . 〈uN ,xN〉N (2.11)
onde 〈ui,xi〉i é o produto interno de ui com um vetor arbitrário xi ∈ Ui.
O espaço gerado por todos os elementos u1 u2 ... uN é chamado de
espaço tensorial sobre U1 × U2 × . . .× UN . Um elemento desse espaço tensorial
é chamado de tensor de ordem N . Assim, um tensor A ∈ FI1 × I2 × ...× IN pode
ser visto como um array multidimensional associado a um produto tensorial
2.2. Álgebra Multilinear 9
Figura 2.1: Representação ilustrativa de um tensor de ordem 3.
de N espaços vetoriais [3] em que seus componentes ou entradas ai1i2...iN são
acessados através de seus índices.
A ordem do tensor corresponde ao número de dimensões do mesmo, e cada
dimensão está associada a um índice. Pela definição acima, observamos que
escalares, vetores e matrizes também são tensores de ordem zero, um e dois
respectivamente. A Figura 2.1 representa um tensor de terceira ordem. Cada
elemento do tensor é acessado por três índices i, j e k. Incorporado ao conceito
de tensor temos a seguinte definição:
Definição 11 Seja A de ordem N , um subtensor B = Ain=α de ordem N −1 é obtido quando fixamos o índice n em α. De uma maneira mais geral um
subtensor é obtido quando um subconjunto de índices são fixados.
Uma fibra de um tensor é um fragmento unidimensional de um tensor
obtido a partir da fixação de seus índices exceto por um. Uma fatia (slice)
de um tensor é uma seção bidimensional de um tensor, obtida fixando
seus índices exceto dois (ver Figura 2.2). A operação de matriciação ou
desdobramento (do inglês, unfolding ou matricization) de tensores em matrizes
foi proposta por [6,21], de modo que as fibras de uma determinada dimensão
serão as colunas da matriz resultante.
A matriciação de um tensor A ∈ FI1 × I2 × ...× IN é definida como em [22]:
Seja N = 1, 2, . . . , N o conjunto de modos presentes no tensor A e IN =
I1, I2, . . . , IN o conjunto dos tamanhos de cada modo. Considere os dois
conjuntos ordenados R = r1, r2, . . . , rL e C = c1, c2, . . . , cM uma partição
de N, a matriciação (unfolding) de um tensor pode ser definida como um
2.2. Álgebra Multilinear 10
Figura 2.2: Exemplos de fibras (linhas, colunas e tubos) e fatias de um tensor deordem 3.
Figura 2.3: Matriciação de um tensor de ordem 3 nos modo-1, modo-2 e modo-3,respectivamente.
remodelamento (reshape) de A tal que
A(R×C) ∈ FJ×K em que J =∏
n∈R
In e K =∏
n∈C
In (2.12)
2.2. Álgebra Multilinear 11
Dito isso, definimos a matriciação modo-n como:
Definição 12 (matriciação modo-n) Seja R = r1 uma parte de N com um
único elemento r1 = n e C = c1, c2, . . . , cn−1, então as fibras do modo-n são as
colunas de A(R×C) (veja Figura 2.3). A forma matriciada A(n) é definida como
A(n) ≡ A(R×C), R = n e C = 1, . . . , n− 1, n+ 1, . . . , N (2.13)
Definição 13 (produto modo-n) O produto modo-n de um tensor A ∈FI1 × I2 × ...× IN com uma matriz B ∈ CJn × In, denotado por C = A ×n B é definido
como:
[A ×n B]i1i2...jn...iN =In∑
in=1
[A]i1i2...in...iN [B]jnin (2.14)
que pode ser expresso em forma matricial como
C(n) = BA(n) (2.15)
Seja C ∈ RJm × Im, note que as seguintes propriedades seguem diretamente da
definição
A ×n B ×m C = A ×m C ×n B (2.16)
2.2.1 Decomposições Tensoriais
O conceito de decomposição tensorial surgiu em 1927 através dos trabalhos
de Hitchcock [23,24] e Cattell em 1944 [25]. Posteriormente, esses conceitos
tiveram maior desenvolvimento no contexto da Psicometria com o modelo
desenvolvido por Carroll & Chang [26] denominado Canonical Decomposition
(CANDECOMP) e com Harshman [27], que de forma independente propôs um
modelo semelhante, denominado Parallel Factor Analysis (PARAFAC). Mais
recentemente L. De Lathauwer propôs um modelo de decomposição tensorial
que estende o conceito de SVD para tensores de ordem superior [6].
Revisitando a SVD
Formulemos a SVD na forma de produto modo-n, a fim de facilitar o
entendimento da HOSVD. Aqui tomaremos F = C, pois é o caso mais geral.
Teorema 4 (SVD) Qualquer matriz A ∈ CI1×I2 pode ser escrita como o produto
A = U1SVH2 = S ×1 U1 ×2 U2 (2.17)
em que
i. U1 = (u(1)1 ,u
(1)2 , . . . ,u
(1)I1) é uma matriz unitária.
2.2. Álgebra Multilinear 12
ii. U2 = (u(2)1 ,u
(2)2 , . . . ,u
(2)I2)(= V H
2 ) é uma matriz unitária.
iii. S ∈ CI1×I2 é uma matriz com as seguintes propriedades:
1. pseudo-diagonalidade
S = diagσ1, σ2, . . . , σminI1,I2
2. ordenação
σ1 ≥ σ2 ≥ . . . ≥ σminI1,I2 ≥ 0
Os valores σi são os autovalores de A e os vetores u(1)i e u
(2)i são
respectivamente o i-ésimo autovetor a esquerda e o i-ésimo autovetor a
direita.
HOSVD
No contexto das decomposições tensoriais a HOSVD é uma extensão
natural da SVD que ortogonaliza N espaços vetoriais V1, V2, . . . VN relacionados
ao espaço tensorial que A ∈ CI1 × I2 × ...× IN pertence. Com a HOSVD somos
capazes de expressar o tensor A como N produtos modo-n de cada base dos
espaços Vi. Mais precisamente temos o seguinte teorema:
Teorema 5 (HOSVD) Qualquer tensor A ∈ CI1 × I2 × ...× IN pode ser escrito como
o produto
A = Z ×1 U1 ×2 U2 . . . ×N UN (2.18)
em que
i. Un = (u(n)1 ,u
(n)2 , . . . ,u
(n)In
) é uma matriz unitária.
ii. S ∈ CI1 × I2 × ...× IN em que os subtensores Sin=α obtidos fixando o índice n
em α possui as seguintes propriedades:
1. ortogonalidade: dois subtensores Sin=α e Sin=β são ortogonais para
todo n, α e β tal que α 6= β:
〈Sin=α,Sin=β〉 = 0 quando α 6= β
2. ordenação
‖Sin=1‖ ≥ ‖Sin=2‖ ≥ . . . ≥ ‖Sin=In‖
para todos os possíveis valores de n.
A norma de Frobenius σ(n)i = ‖Sin=i‖ são os autovalores singulares do
modo-n de A. Os vetores u(n)i são autovetores modo-n.
2.2. Álgebra Multilinear 13
A representação matricial da HOSVD pode ser obtida da Equação (2.18)
como:
An = UnS(n)(Un+1 ⊗Un+2 ⊗ . . .⊗UN ⊗U1 ⊗U2 ⊗ . . .⊗Un−1)H (2.19)
Na decomposição (2.18) o tensor Z ∈ CI1 × I2 × ...× IN é conhecido como core
tensor ou tensor núcleo, os coeficientes de Z governam as iterações entre as
bases Ui. A matriz Ui é a base do espaço coluna de A(i) [6,28]. O tensor núcleo
Z e as matrizes UiNi=1 podem ser calculadas de acordo com o Algoritmo 2.1.
Se considerarmos uma partição A = a1, a2, . . . , aP e B = b1, b2, . . . , bQ do
conjunto N então podemos definir a HOSVD reduzida de A restrita aos modos
de A, ver Algoritmo 2.2:
A = T ×a1 Ua1 ×a2 Ua2 . . . ×aPUaP
(2.20)
em que
T = Z ×b1 Ub1 ×b2 Ub2 . . . ×bQUbQ
(2.21)
Algoritmo 2.1 Higher Order Singular Value Decomposition1: procedure HOSVD(A)2: N ← ordem de D3: for i = 1, 2, . . . , N do4: Ui ← autovetores a esquerda de A(i)
5: end for6: Z ← A ×1 UT
1 ×2 UT2 . . . ×N UT
N
7: return Z, UiNi=1 ⊲ Tensor núcleo e matrizes Ui.8: end procedure
Algoritmo 2.2 HOSVD reduzida1: procedure REDUCEDHOSVD(A, A)2: for i ∈ A do3: Ui ← autovetores a esquerda de A(i)
4: end for5: T ← A ×1 UT
1 ×2 UT2 . . . ×P UT
P
6: return T , UiPi=1
7: end procedure
Capítulo 3
Reconhecimento Facial
3.1 Reconhecimento de Padrões em Estatística
Essa seção tem por objetivo introduzir alguns dois principais conceitos
relacionados ao Reconhecimento de Padrões em Estatística, e em última
instância a extração de características. Definimos reconhecimento de padrões
de uma maneira informal como:
Área de pesquisa que tem por objetivo a classificação de objetos (padrões)
em um número de categorias ou classes [29].
O ato de observar os dados brutos e tomar uma ação baseada na
categoria de um padrão [30].
Existem diversos tipos de padrões, por exemplo: padrões visuais, padrões
temporais e padrões lógicos, que originam diversas abordagens [31]:
Classificação estatística;
Template Matching ("Casamento de Modelos");
Reconhecimento Sintático ou Estrutural;
Reconhecimento de Padrões via Redes Neurais.
Dado um padrão, sua classificação pode ocorrer de duas formas: supervised
classification (classificação supervisionada) e unsupervised classification
(classificação não supervisionada) ou clusterização.
3.1.1 O modelo básico
Vamos usar o termo padrão para denotar uma entidade, objeto, processo
ou evento, que é representado como um vetor de dados p-dimensional
x = (x1, . . . , xp)⊤ de medições cujos componentes xi são medições das
características dessa entidade ou objeto. A característica ou atributo
14
3.1. Reconhecimento de Padrões em Estatística 15
Figura 3.1: Modelo básico de classificação de um padrão.
por sua vez são dados extraídos de uma amostra por meio de medida
e/ou processamento. Em geral são organizadas na forma de um vetor de
características, a saber x. A classe de um padrão é o conjunto de padrões
que possuem características em comum, na discriminação assumimos que
existem C grupos ou classes, denotado ω1,ω2, . . . ,ωC e associada a cada padrão
x existe uma variável categórica z que denota a associação de classe ou grupo;
isto é, se z = i então o padrão pertence ωi, i ∈ 1, . . . , C [32]. O nosso objetivo é
realizar a classificação, ou seja, atribuir classes para as amostras, baseado
em suas características.
Extração de características
Extração de características é uma transformação dos dados originais
(usando todas as variáveis) para um conjunto de dados com um número
reduzido de variáveis. Todas as variáveis disponíveis são utilizadas e os dados
são transformados (usando uma transformação linear ou não-linear) para um
espaço de dimensão reduzida. Assim, o objetivo é substituir as variáveis
originais por um conjunto menor de variáveis subjacentes [32]. Há várias
razões para a realização de extração de características:
para reduzir a redundância;
para produzir uma representação de baixa dimensão;
para fornecer um conjunto relevante de características para um
classificador.
Classificação
Os classificadores são utilizados para classificar ou descrever padrões ou
objetos a partir de um conjunto de propriedades ou características. Para isso
supomos que temos um conjunto de padrões de classe conhecida (xj, zj), j =1, ..., n, o conjunto de treinamento que usamos para projetar o classificador,
para configurar os parâmetros internos. Aprender, construir um modelo a
partir de um conjunto de treinamento é um processo de indução, enquanto
que aplicar esse modelo em padrões de classe desconhecidas é um processo
de dedução [32].
3.2. Reconhecimento Facial baseado em subespaços lineares 16
3.2 Reconhecimento Facial baseado em subespaços lineares
O reconhecimento facial é uma atividade que os seres humanos realizam
rotineiramente e sem esforço em suas vidas diárias. Em um sistema de
reconhecimento facial é esperado que se identifique faces presentes nas
imagens e vídeos automaticamente.
Imagens faciais estão diretamente relacionadas com sinais visuais
(luz refletindo na superfície da face) que depois de normalizadas são
dimensionadas para um tamanho fixo m × n, onde essa matriz de pixel pode
ser redimensionada e representada como um ponto no espaço de dimensão
mn, o espaço das imagens [33], motivando as seguintes definições:
Definição 14 (Espaço das imagens) Considere uma imagem como uma matriz
A ∈ Rm× n, ao aplicarmos a operação de vetorização na matriz A obtemos
um vetor a ∈ Rmn definido no espaço euclidiano mn-dimensional denominado
espaço das imagens [2].
Definição 15 (Espaço das faces) O espaço das faces m × n é um subespaço
do espaço das imagens m× n, que é definido como o lugar geométrico específico,
formado pelo padrão que as faces possuem (olhos, boca, nariz e etc.).
Definindo assim esses dois espaços, podemos tratar imagens como padrões
em um espaço vetorial, onde cada imagem será um ponto. Se uma imagem
facial é um ponto nesse espaço de imagens, uma coleção de p faces representa
p pontos nesse espaço, que podem ser considerados como amostras em uma
distribuição de probabilidades [34]. Podemos supor que todas as imagens
faciais definem um subespaço dentro do espaço das imagens. O que nos leva
a indagar:
i. Qual o tamanho do espaço de imagens?
ii. Qual será ou deverá ser a dimensão do subespaço formado pelas faces?
Um exemplo proposto por Matthew Turk em [34] deixa claro que mesmo
para uma imagem binária de tamanho 8 × 8, no qual gera um espaço
64-dimensional contém 264 pontos e uma busca exaustiva por uma face
específica necessitaria de séculos mesmo para um computador capaz de
processar um bilhão de imagens por segundo. Dessa forma, técnicas de
análise de subespaços para reconhecimento facial são baseadas no fato de
que uma classe de padrões de interesse, tais como a face, reside em um
subespaço do espaço de imagem de entrada. Diante de todas essas possíveis
combinações e configurações no espaço de imagens, apenas alguns pixels são
3.2. Reconhecimento Facial baseado em subespaços lineares 17
relativos às faces. Desse modo, a representação de uma face pode ter sua
dimensão reduzida quando estamos interessados apenas nas mesmas [35].
3.2.1 EigenFaces
Métodos de reconhecimento de padrões em geral que trabalham
diretamente sobre um espaço de alta dimensão possuem algumas
desvantagens geralmente relacionadas ao alto custo computacional e
principalmente a maldição da dimensionalidade [36]. Abordagens baseadas no
EigenFaces são desenvolvidas com o objetivo de contornar esses problemas,
melhorando tanto performance como eficiência. Em reconhecimento facial
baseado em subespaços lineares é razoável começarmos com alguns
pressupostos [34]:
Imagens de uma face em particular sobre várias transformações ocupam
uma parte pequena, mas distinta do espaço de imagens;
Faces diferentes ocupam diferentes regiões do espaço de imagens;
Todas as classes de faces continuam ocupando relativamente uma
pequena região distinta do espaço de imagens.
O método EigenFaces [2, 37, 38] nos forneceu uma maneira de iniciarmos
a análise desses dois subespaços. É necessário analisarmos a forma e a
dimensão do espaço formado por um único indivíduo, assim como sua melhor
representação para a tarefa de reconhecimento. De importância equivalente
é a forma e a dimensão do espaço formado por todas as faces e como as
mesmas podem ser modeladas para distinguirmos faces de não-faces no
espaço de imagens. Por último, com igual valor devemos formar subespaços
suficientemente separados a fim de formamos classes para cada indivíduo.
Originalmente, o método de reconhecimento facial EigenFaces envolvia
duas partes principais. Criação do autoespaço (eigenspace) e reconhecimento
usando as autofaces (eigenfaces). A primeira parte é um procedimento de
inicialização off-line, ou seja, é apenas realizado no início do processo, sendo
necessário um novo cálculo somente quando o conjunto de dados muda.
Derivando o método EigenFaces
Vamos revisar os passos principais para um sistema de reconhecimento
facial baseado no EigenFaces. O primeiro passo consiste em compreender
como as características de uma imagem facial são representadas. A Análise
de Componentes Principais (PCA) [39, 40] é uma técnica usada na redução
de dimensionalidade, que fornece uma maneira eficiente de representar uma
coleção de pontos em um espaço de alta dimensão. Geometricamente, trata-se
3.2. Reconhecimento Facial baseado em subespaços lineares 18
de projetar vetores de dimensão maior em um subespaço de dimensão menor,
permitindo reexpressar os dados através de cobinações lineares, modificando
os dados originais intercorrelacionados em um novo conjunto de dados não
correlacionados, diminuindo assim a quantidade de informação redundante
de um sinal/imagem em cada dimensão.
Seja X = ximi=1 um conjunto de imagens faciais vetorizadas xi ∈ Rn de
vários indivíduos, que é representado ou organizado em forma matricial X
X = [x1 x2 . . . xm] ∈ Rn×m, (3.1)
em que n é o número de pixels da imagem, ou seja, a dimensão do espaço das
imagens que contém xi. A diferença entre a média amostral x e a matriz X é
X = [(x1 − x) (x2 − x) . . . (xm − x)] (3.2a)
= [x1 x2 . . . xm] (3.2b)
em que x = 1m
∑m
i=1 xi.
Considere que o número de amostras é menor que a dimensão do espaço
das imagens, m ≤ n. A PCA consiste em determinar um conjunto de m − 1
vetores ortogonais vi que melhor descreve a distribuição dos dados de entrada,
de forma a minimizar o erro quadrático médio. Dito de outra forma, o erro
entre a projeção euclideana e o vetor é minimizado. Uma maneira eficiente de
calcular as componentes principais é encontrando os autovetores da matriz
de covariância C,
C =1
m
m∑
n=1
xix⊤i =
1
mXX⊤. (3.3)
Sem perda de generalidade, podemos ignorar o fator 1m
, resultando em
C = XX⊤. (3.4)
Como n é a dimensão do espaço das imagens, n×n geralmente é uma grande
matriz, impossibilitando o cálculo dos seus autovetores. Note que existem
apenas m − 1 autovalores diferentes de zero associados a matriz C, os quais
podem ser obtidos através da matriz
D = X⊤X (3.5)
Pela própria definição de autovetores e autovalores, dado o autovalor λi e seu
autovetor associado vi temos
Cvi = λivi (3.6)
3.2. Reconhecimento Facial baseado em subespaços lineares 19
Esses autovalores/autovetores estão diretamente relacionados aos
autovalores σi e seus autovetores associados wi da matriz D, implicando em
Dwi = σiwi (3.7a)
X⊤Xvi = λivi
XX⊤Xwi = λiXwi
C(Xwi) = σi(Xwi) (3.7b)
Cvi = λivi
em que,
vi = Xwi (3.8a)
λi = σi (3.8b)
Em outras palavras, somos capazes de calcular os autovetores da matriz C
de alta dimensão através da projeção dos autovetores da matriz D pela matriz
de dados X. Os autovalores de C são idênticos aos autovalores de D. Uma
vez que os autovetores desejados tenham sido calculados, são ordenados de
acordo com seus correspondentes autovalores em ordem decrescente. Observe
que um valor alto para o autovalor significa que uma maior variância dos
dados é representada pelo autovetor associado, ou componente principal.
Parte da eficiência do método EigenFaces está associada ao passo seguinte,
que consiste em eliminar m − k autovetores associados aos m − k menores
autovalores. Ao fazermos isso, estamos representando o espaço das faces
com k autovetores (componentes principais) que melhor descrevem o conjunto
de dados. Em resumo, as autofaces são construídas de um conjunto
inicial de faces (conjunto de treinamento) aplicando-se o PCA no conjunto
de faces de média zero. A saída é um conjunto de autofaces e seus
autovalores correspondentes. Somente k autofaces correspondentes aos k
maiores autovalores são mantidas, definindo assim os espaço das faces. Para
cada indivíduo do conjunto de treinamento, a face média é calculada, a qual é
projetada no espaço das faces. Desta forma, cada indivíduo ou classe possui
um "centróide" que o representa nesse espaço.
A segunda parte consiste no procedimento de reconhecimento. Quando há
uma imagem de teste a face média do conjunto de treinamento é subtraída
e o resultado projetado no espaço das faces. Esse procedimento produz um
valor escalar para cada autoface no espaço das faces. Esse novo vetor é então
utilizado na classificação através da métrica euclideana, por exemplo.
3.2. Reconhecimento Facial baseado em subespaços lineares 20
3.2.2 TensorFaces
A álgebra multilinear oferece uma abordagem natural para a análise de
imagens com estrutura multifatores. O método TensorFaces [7, 8] consiste
em realizar uma modelagem tensorial sobre um conjunto de imagens faciais
que são vetorizadas e organizadas como um tensor. Nessa abordagem os
pressupostos acerca do conjunto de imagens, a saber, o espaço das imagens
e o espaço das faces são perfeitamente válidos. De fato, são levados em
consideração os fatores que influenciam a formação das imagens faciais:
posição, iluminação e expressão. O conjunto de fatores multimodais formam
um conjunto de espaços vetoriais. Dados multimodais que são modelados
como tensores de ordem superior devem obedecer um ordenamento, uma lei
de formação para os tensores. Para fins de ilustração, considere um tensor
de dados de ordem 4, a saber A ∈ R3×3×3×3. Se considerarmos o modo-4 como
sendo o espaço de parâmetros, ou seja, as colunas de A(4) são os padrões,
teríamos de organizar os dados conforme ilustrado na Figura (3.2). Essa
organização está diretamente relacionada com a maneira em que matriciamos
um tensor e vice-versa. Esses espaços estão intrinsecamente relacionados
através do produto tensorial entre os mesmos, onde cada elemento do espaço
tensorial é uma instância do conjunto de dados que pode ser decomposto
através da HOSVD. No método tensorial TensorFaces são considerados 5
espaços:
Espaço dos indivíduos;
Espaço relacionado às posições faciais;
Espaço das expressões faciais;
O espaço das condições de iluminação;
Espaço das faces ou pixels.
Dessa forma, através da ordenação dos dados devemos construir o tensor
de ordem N = 5:
D ∈ RNpe ×Nv ×Ni ×Ne ×Np
em que Npe, Nv, Ni, Ne e Np representam o número de pessoas, posições
faciais, condições de iluminação, expressões faciais e pixels respectivamente,
referente a cada fator constituinte na formação da imagem:
pessoa︸ ︷︷ ︸
modo 1
× posição︸ ︷︷ ︸
modo 2
× iluminação︸ ︷︷ ︸
modo 3
× expressão︸ ︷︷ ︸
modo 4
× pixels︸ ︷︷ ︸
modo 5
3.2. Reconhecimento Facial baseado em subespaços lineares 21
Figura 3.2: Modelo tensorial de ordem 4, onde cada coluna representa um padrão.
Dessa maneira, o tensor D pode ser decomposto aplicando-se o HOSVD
conforme Algoritmo 1, obtendo-se:
D = Z ×1 Upe︸︷︷︸
U1
×2 Uv︸︷︷︸
U2
×3 Ui︸︷︷︸
U3
×4 Ue︸︷︷︸
U4
×5 Up︸︷︷︸
U5
(3.9)
onde Z possui as mesmas dimensões e ordem de D, as matrizes fatores
Upe, Uv, Ui, Ue e Up possuem dimensões Npe × Npe, Nv × Nv, Ni × Ni, Ne × Ne
e Np ×Np, respectivamente.
Matematicamente, assumir multilinearidade é assumir linearidade, ou
seja, no contexto de reconhecimento facial, o método EigenFaces [2] baseado
na análise de componentes principais é parte constituinte do TensorFaces,
onde cada coluna de Up é uma autoface, pois os mesmos foram calculados
executando-se o SVD no modo-5 matriciado D(5) = D(p) ∈ RNp ×NeNiNvNpe do
tensor D.
É importante notar que o modo-5 é o modo de medidas dos pixels, o
qual não é relevante para a geração das imagens. Sendo assim, em vez
de calcularmos diretamente o tensor núcleo Z, podemos aplicar a HOSVD
reduzida (veja Alg. 2.2) em relação a esse modo:
D = T ×1 Upe ×2 Uv ×3 Ui ×4 Ue (3.10)
em que T = Z ×5 Up é denominado o tensor núcleo aumentado [9].
No modelo multilinear (3.10), estamos recuperando o tensor de dados a
partir de sua decomposição HOSVD. Podemos ser mais específicos quanto
a informação a ser recuperada, por exemplo, todas as faces de um único
indivíduo, ou todas as faces de uma única pessoa em uma posição facial
3.2. Reconhecimento Facial baseado em subespaços lineares 22
específica. De maneira mais geral, uma amostra específica de um indivíduo i1
na posição i2 em uma dada condição de iluminação i3 na expressão facial i4
pode ser recuperada pela equação
D(i1, i2, i3, i4) = T ×1 u⊤pe,i1×2 u
⊤v,i2×3 u
⊤i,i3×4 u
⊤e,i4, (3.11)
em que u⊤n,j é a linha j da matriz fator Un.
Observe que D′ = D(i1, i2, i3, i4) ∈ R1×1×1×1×Np e que a amostra desejada
d = D′(5). Se quisermos recuperar todas as imagens de um indivíduo i1, temos
D(i1, :, :, :) = T ×1 u⊤pe,i1×2 Uv ×3 Ui ×4 Ue.
Existem outras informações desejadas que podem ser recuperadas.
imagens na expressão i4:
D(:, :, :, i4) = T ×1 Upe ×2 Uv ×3 Ui ×4 u⊤e,i4
;
imagens na condição de iluminação i3:
D(:, :, i3, :) = T ×1 Upe ×2 Uv ×3 u⊤i,i3×4 Ue;
imagens na posição facial i2:
D(:, i2, :, :) = T ×1 Upe ×2 u⊤v,i2×3 Ui ×4 Ue;
Na equação (3.11), fomos capazes de recuperar uma amostra específica de
um indivíduo i1. O vetor linha Upe,i1 sempre será usado quando for necessário
recuperar qualquer imagem facial do indivíduo i1. Assim a matriz Upe é a base
do espaço de parâmetros das pessoas, em que cada pessoa na base de dados
pode ser representada por um único vetor [7], no qual contém os coeficientes
com respeito as bases que serão extraídas do tensor:
B = T ×2 Uv ×3 Ui ×4 Ue (3.12)
com as mesmas dimensões de Z. Note que:
D = B ×1 Upe ⇒D(pe) = UpeB(pe) (3.13)
3.2. Reconhecimento Facial baseado em subespaços lineares 23
em que D(pe) e B(pe) ∈ RNpe ×NpNeNiNv . Ainda mais:
d1 = D(p)(:, 1) = D⊤(pe)( 1, 1 : Np) (3.14)
é a primeira imagem do tensor D. De maneira mais geral temos que
d(i1, i2, i3, i4) é a (i1i2i3i4)-ésima imagem da pessoa i1, na posição facial i2, com
condição de iluminação i3 e expressão i4, onde i1 = 1, 2, . . . , Npe, i2 = 1, 2, . . . , Nv,
i3 = 1, 2, . . . , Ni e i4 = 1, 2, . . . , Ne. A partir da Equação (3.13) obtemos
d(i1, i2, i3, i4) = B⊤(pe)(i2, i3, i4)u(i1) (3.15)
em que u(i1) é a i1-ésima coluna de U⊤pe, e B(pe)(i2, i3, i4) é uma fatia de B, de
dimensões Npe ×Np, obtido pela fixação dos índices i2, i3, i4.
Dado uma imagem de teste dt utilizaremos as bases B⊤(pe)(i2, i3, i4) no modo
pessoa para projetar dt no espaço de parâmetros das pessoas:
upe(i2, i3, i4) = (B⊤(pe)(i2, i3, i4))
†dt (3.16)
O reconhecimento da imagem dt como sendo a pessoa i∗1 consiste em
minimizar:
i∗1 = arg mini1,i2,i3,i4
‖ upe(i2, i3, i4)− u(i1) ‖2 (3.17)
Capítulo 4
Reconhecimento Facial com
Wavelets de Gabor via Álgebra
Multilinear
A transformada de Fourier tem sido a ferramenta predominante para
análise de sinais [41]. Entretanto quando há necessidade de localizarmos
qual instante de tempo uma determinada frequência ocorre, tal ferramenta
se torna problemática. Uma maneira natural de analisarmos esse tipo de
fenômeno é utilizando funções elementares localizadas tanto em frequência
quanto no tempo, ou, no caso de imagens, no domínio do espaço. Mesmo
com o grande progresso em técnicas de reconhecimento facial, ainda existem
grandes problemas a serem resolvidos, dentre os quais destacamos aqueles
advindos de distorções causadas por mudanças na iluminação, expressão
facial e posição facial. É de conhecimento geral que características locais são
mais robustas a essas distorções e uma análise espaço-frequência é de grande
importância para a extração dessas características. Com boas características
de localização no espaço e na frequência, as wavelets são uma escolha certa
para esse propósito [42].
4.1 Wavelets
O fato das wavelets estarem localizadas no tempo (ou espaço) torna-as
ideais para analisar sinais não estacionários (sinais com transitoriedades),
tornado-se uma ferramenta essencial em algumas áreas de processamento de
sinais. Para que uma função ψ ∈ L2(R) seja denominada wavelet, ou wavelet
básica, a mesma deve satisfazer duas condições:
24
4.1. Wavelets 25
Condição de admissibilidade [43]:
Cψ =
∫ ∞
−∞
|ψ(ω)|ω
dω <∞ (4.1)
em que ψ é a transformada de Fourier de ψ.
A função ψ deve ter energia unitária [44], isto é,
∫ ∞
−∞
|ψ(t)|2dt = 1. (4.2)
Se ψ(0) = 0 e ψ é diferenciável, então a condição (4.1) é satisfeita [44].
Adicionalmente, se ambas ψ e ψ satisfazem a condição (4.1), logo [43]
∫ ∞
−∞
ψ(t)dt = 0, (4.3)
garantindo que a função ψ tenha uma forma oscilatória com média zero [45].
A segunda condição garante que a função ψ tenha suporte compacto e um
decaimento rápido de amplitude, garantindo a localização espacial [45].
4.1.1 Transformada Wavelet
Uma família de wavelets é obtida escalonando a wavelet mãe ψ por um
fator s e transladando-a por um fator u:
ψu,s(t) =1√sψ(t− us
) (4.4)
As funções ψu,s também são chamadas de átomos [44], esses átomos são
funções normalizadas, satisfazendo ‖ψu,s‖ = 1.
Definição 16 (Transformada Wavelet) A transformada wavelet de uma
função f ∈ L2(R) em um instante de tempo u numa escala s é definida como
Wf(u, s) = 〈f, ψu,s〉 =∫ ∞
−∞
f(t)1√sψ∗(
t− us
)dt (4.5)
Proposição 1 A transformada wavelet Wf(u, s) = 〈f, ψu,s〉 de f ∈ L2(R) é
equivalente a um filtro passa banda.
Prova 4 A prova pode ser encontrada na página 79 de [44].
A proposição (1) é derivada diretamente da definição (16), a transformada
wavelet Wf(u, s) pode ser escrita como f ∗ ψu,s.
4.2. Wavelets de Gabor 26
4.2 Wavelets de Gabor
As wavelets de Gabor têm-se mostrado ótimos extratores de características
locais em reconhecimento facial, por diversas razões [46]:
Motivação biológica: a forma das wavelets de Gabor são similares aos
campos receptivos de células simples do córtex visual primário [47].
Motivação matemática: as wavelets Gabor são ideais para a medição de
frequências espaciais locais [48].
Motivação empírica: as wavelets Gabor provaram-se tolerantes
a distorções em outras tarefas, tais como segmentação [49] e
reconhecimento de impressões digitais [50].
A teoria das wavelets de Gabor tiveram início em 1946 quando Dennis
Gabor pesquisava funções seno e cosseno janeladas por uma gaussiana [51],
hoje conhecidas como gaussianas moduladas por exponenciais complexas.
Seja as funções,
ψR(x) =α√πe−α
2x2 cos(2πfxx), (4.6)
ψI(x) =α√πe−α
2x2 sin(2πfxx), (4.7)
em que fx é a frequência central, na qual o filtro possui sua maior resposta
em frequência. Sua forma complexa pode ser facilmente obtida como
ψ(x) = ψR(x) + jψI(x) (4.8a)
=α√πe−α
2x2 cos(2πfxx) + jα√πe−α
2x2 sin(2πfxx) (4.8b)
=α√πe−α
2x2[cos(2πfxx) + j sin(2πfxx)] (4.8c)
=α√πe−α
2x2ej2πfxx (4.8d)
Na década de 1980, Daugman estendeu o filtro de Gabor para duas
dimensões [47,52], resultado também obtido através de um produto tensorial
de dois filtros de Gabor 1D:
ψ(x) = ψR(x) + jψI(x) (4.9a)
=α√πe−α
2x2ej2πfxx (4.9b)
4.2. Wavelets de Gabor 27
ψ(y) = ψR(y) + jψI(y) (4.10a)
=α√πe−α
2y2ej2πfyy (4.10b)
Assim, a partir de (4.9) e (4.10) definimos ψ(x, y) como,
ψ(x, y) = ψ(x)ψ(y) (4.11a)
= [ψR(x) + jψI(x)][ψR(y) + jψI(y)] (4.11b)
= ψR(x)ψR(y)− ψI(x)ψI(y) + j[ψR(x)ψI(y) + ψI(x)ψR(y)] (4.11c)
Desenvolveremos cada termo da Equação (4.11) separadamente.
Primeiramente, temos:
ψR(x)ψR(y) = [α√πe−α
2x2 cos(2πfxx)][α√πe−α
2y2 cos(2πfyy)] (4.12a)
=αβ
πe−(α2x2+β2y2)[cos(2πfxx) cos(2πfyy)]. (4.12b)
Como os parâmetros α e β são fixos, e fazendo
φ(x, y) =αβ
πe−(α2x2+β2y2), (4.13)
fica fácil ver pelas Equações (4.12) e (4.13) que,
ψR(x)ψR(y) = φ(x, y)[cos(2πfxx) cos(2πfyy)]. (4.14)
De forma análoga a partir das Equações (4.11) e (4.13), cada termo restante é
escrito como
ψR(x)ψI(y) = φ(x, y)[cos(2πfxx) sin(2πfyy)], (4.15)
ψI(x)ψR(y) = φ(x, y)[sin(2πfxx) cos(2πfyy)], (4.16)
ψI(x)ψI(y) = φ(x, y)[sin(2πfxx) sin(2πfyy)]. (4.17)
A Equação (4.11) pode ser reformulada como
ψ(x, y) = ψ(x)ψ(y) (4.18a)
= φ(x, y)[(cos(2πfxx+ 2πfyy) + j sin(2πfxx+ 2πfyy)) (4.18b)
=αβ
πe−(α2x2+β2y2)ej2π(fxx+fyy). (4.18c)
4.2. Wavelets de Gabor 28
Figura 4.1: Eixos principais da gaussiana.
A forma das wavelets de Gabor é definida pela agudeza da gaussiana e pela
sua invariância à variação da frequência f = (fx, fy) [46] e, consequentemente,
invariante a variações em suas componentes fx e fy. Para que isso ocorra,
uma wavelet de Gabor ψu(x, y) em uma dada escala u deve ser dependente
da frequência fu mantendo as razões ξ =fu
αe κ =
fu
βconstantes. Mantemos a
notação fx, fy para evitar abuso no uso dos índices, ficando claro pelo contexto
que essas componentes de frequências são referentes à frequência fu = (fx, fy),
ou seja, fx = fu cos θ e fy = fu sin θ onde θ é o ângulo entre os eixos x′ e x. Assim,
substituindo essa restrição na Equação (4.18) temos
ψ(x, y) =f 2u
πξκe−
f 2u
ξ2x′t
2+f 2u
κ2y′t
2
ej2πfu(x cos θ+y sin θ). (4.19)
Observe que as coordenadas x e y na segunda exponencial complexa são
transformadas para as coordenadas x′ e y′ quando rotacionamos a onda plana
por θ. Essa mesma transformação deve ser feita na gaussiana a fim de
obtermos versões rotacionadas da wavelet de Gabor [53]. As coordenadas
4.3. Wavelets de Gabor imersas em um Modelo Tensorial 29
x′ e y′ podem ser representadas (ver Figura 4.1) em termos de x e y como:
x′ = (x cos θ, y sin θ), (4.20a)
y′ = (−x sin θ, y cos θ). (4.20b)
Pelo teorema de Pitágoras, x′t2 e y′t
2 na Equação (4.19) torna-se:
x′t2= (x cos θ)2 + (y sin θ)2, (4.21a)
y′t2= (−x sin θ)2 + (y cos θ)2. (4.21b)
Comof 2u
ξ2=
f 2u
κ2na Equação (4.19), pois estamos mantendo a forma da
gaussiana constante nas múltiplas escalas. Rotacionado a gaussiana por θ
implica
−(f 2u
ξ2x′t
2+f 2u
κ2y′t
2
)
= −(f 2u
ξ2((x cos θ)2 + (y sin θ)2) +
f 2u
κ2((−x sin θ)2 + (y cos θ)2)
)
(4.22a)
= −(f 2u
ξ2((x cos θ)2 + (y sin θ)2) +
f 2u
ξ2(2xy cos θ sin θ)−
−f2u
κ2(2xy cos θ sin θ) +
f 2u
κ2((−x sin θ)2 + (y cos θ)2)
)
(4.22b)
= −(f 2u
ξ2(x cos θ + y sin θ)2 +
f 2u
κ2(−x sin θ + y cos θ)2
)
(4.22c)
Assim, chegamos à definição comumente usada [53], em que as wavelets
de Gabor são filtros autossimilares:
ψ(x, y) =f 2u
πξκe−
f 2u
ξ2(x cos θ+y sin θ)2+
f 2u
κ2(−x sin θ+y cos θ)2
ej2πfu(x cos θ+y sin θ), (4.23)
ou, de uma forma mais compacta [53–56]:
ψ(x, y) =f 2u
πξκe−
f 2u
ξ2λ21+
f 2u
κ2λ22
ej2πfuλ1 . (4.24a)
λ1 = x cos θ + y sin θ. (4.24b)
λ2 = −x sin θ + y cos θ. (4.24c)
4.3 Wavelets de Gabor imersas em um Modelo Tensorial
Faremos uso das wavelets de Gabor em uma forma holística, onde
toda a face é usada na extração de características. Iremos extrair um
4.3. Wavelets de Gabor imersas em um Modelo Tensorial 30
Figura 4.2: Wavelets de Gabor com 5 escalas e 8 rotações. Fonte própria.
vetor de características aumentado, a resultante da concatenação de cada
convolução da imagem com a família de wavelets de Gabor. Consistindo
de toda a informação extraída de diferentes frequências, orientações e
localizações, essa representação pode produzir características discriminantes
para reconhecimento. As wavelets de Gabor são autossimilares sendo possível
gerar qualquer filtro ψu,v(x, y) a partir de uma wavelet mãe ψ(x, y). É fato
que a família de wavelets descrita na Equação (4.24) satisfaz a condição de
admissibilidade com energia unitária [53].
Para a extração de características de uma dada imagem é usado um banco
de filtros, a saber, a família de wavelets de Gabor com diferentes frequências
e rotações:
ψu,v(x, y) = ψ(fu,θv)(x, y) tal que fu =fmax√2u, θv =
v
8π (4.25)
em que u = 0, 1, . . . , 4; v = 0, 1, . . . , 7. Ou seja, teremos um conjunto de 40
wavelets divididas em 5 diferentes frequências (escalas) com 8 rotações para
cada escala, como pode ser visto na Figura 4.2.
4.3.1 Representação de uma imagem nas Wavelets de Gabor
A representação das wavelets de Gabor de uma imagem é a convolução da
mesma com a família descrita em (4.24). Seja I (x, y) uma dada imagem, a
convolução da imagem I com a wavelet ψu,v é definida como
ϕu,v(x, y) = I(x, y) ∗ ψu,v(x, y), (4.26)
4.3. Wavelets de Gabor imersas em um Modelo Tensorial 31
em que ∗ é o operador de convolução e ϕu,v(x, y) é o resultado da convolução da
imagem I (x, y) com a wavelet de Gabor ψu,v(x, y) em uma escala u e uma dada
rotação v. Assim o conjunto G = ϕu,v(x, y) : u = 0, 1, . . . , 4; v = 0, 1, . . . , 7 forma
a representação das wavelets de Gabor da imagem I (x, y) [57]. Aplicando o
teorema da convolução [58], podemos obter via transformada de Fourier o
resultado desejado:
Fϕu,v(x, y) = FI(x, y)Fψu,v(x, y), (4.27)
implicando em
ϕu,v(x, y) = F−1FI(x, y)Fψu,v(x, y) (4.28)
em que F e F−1 são a transformada de Fourier e sua inversa, respectivamente.
Note que fmax é a maior frequência que as wavelets de Gabor podem
assumir. Os parâmetros de ψ(fu,θv)(x, y) devem ser escolhidos de forma que
a extração de características forneça a maior quantidade de informação
possível, assim fmax deve assumir valores de baixa frequência, devido imagens
faciais possuírem sua informação concentrada em baixas frequências. Os
valores comumente usados [54] são fmax = 0, 25, ξ = κ =√2, mantendo a razão
entre a frequência e o formato da gaussiana constante.
Com o intuito de agregar todos os resultados das convoluções de uma única
imagem, são realizadas a vetorização e concatenação das respostas, gerando
um vetor de características aumentado. Esse vetor torna-se rapidamente
muito grande. Por exemplo, se tomarmos uma imagem 64 × 64, seu vetor
aumentado teria dimensão 64.64.40 = 163840, o que é computacionalmente
intratável. Assim, antes de realizarmos a vetorização de ϕu,v(x, y) é aplicado
um fator de downsampling para diminuirmos a dimensão gerando ϕu,v(x, y)
como mostrado na Equação (4.29). Em seguida, então normalizamos para
média zero com variância unitária [57].
gu,v = vec(ϕu,v(x, y)) (4.29)
Assim, geramos o conjunto
Gvec = vec[ϕu,v(x, y)] : u = 0, 1, . . . , 4; v = 0, 1, . . . , 7 (4.30)
de vetores intermediários para formar o vetor de características aumentado
g = (g⊤0,0 g
⊤0,1 . . . g
⊤4,7)
⊤. (4.31)
Os modelos tensoriais aqui tratados levam em consideração aspectos
4.3. Wavelets de Gabor imersas em um Modelo Tensorial 32
relativos à formação da imagem, ou seja, fatores multimodais. Um dado
vetor de características aumentado g proveniente do processo de extração de
características descrito acima, ainda tem sua origem em uma dada imagem, à
qual foi afetada, em sua formação, por um conjunto de fatores.
De uma forma mais geral podemos ver o vetor g como g(i1, i2, i3, i4), ou seja,
o resultado da aplicação da família das wavelets de Gabor em uma imagem
facial do individuo i1, na posição facial i2, em uma condição de iluminação
i3 com uma certa expressão facial i4. Dessa maneira, podemos construir um
modelo tensorial fundamentado no fato da natureza multimodal do conjunto
de imagens faciais não ter sido afetada pelas transformações a elas aplicadas,
logo o modelo consiste em
G ∈ RNpe ×Nv ×Ni ×Ne ×Nf
formado pela permutação ou organização de todas as g(i1, i2, i3, i4), em que
i1 = 1, 2, . . . , Npe, i2 = 1, 2, . . . , Nv, i3 = 1, 2, . . . , Ni e i4 = 1, 2, . . . , Ne. Observe que,
Nf = 40(Np)2
2é a dimensão do espaço de características das wavelets. Para
separar os espaços vetoriais relacionados a cada fator multimodal imerso no
tensor G realizaremos a HOSVD deste tensor:
G = Z ×1 Upe ×2 Uv ×3 Ui ×4 Ue ×5 Uf (4.32)
Como Uf é a base do espaço de parâmetros e estamos particularmente
interessados na decomposição nos espaços de fatores, então podemos
modificar a HOSVD na Equação (4.32) para sua forma reduzida:
G = V ×1 Upe ×2 Uv ×3 Ui ×4 Ue (4.33)
em que V = Z ×5 Uf .
Através desse método híbrido de extração de características, estamos
obtendo através das wavelets de Gabor a maior quantidade de informação
possível [10], separando seus fatores multilineares constituintes através da
HOSVD, tais como posição facial, iluminação e expressão facial. Como
no TensorFaces, assumimos uma mistura probabilística do PCA, que é
análogo a métodos de separação de subespaços baseados em posição facial
[59, 60]. Logo, para cada posição no modelo tensorial existe uma gaussiana
multidimensional [7].
4.3. Wavelets de Gabor imersas em um Modelo Tensorial 33
Algoritmo 4.1 Classificação com o TenWav1: procedure TENWAV(Imgs,gtest) ⊲ Conjunto de imagens.2: for I ∈ Imgs do3: Filtrar a imagen I com as wavelets Gabor
4: downsample todos gu,v do fator δ
5: gI ← (g0,0 g0,1 . . . g4,7)⊤
6: end for7: Construa G(5) com todos gI8: Remodelar G(5) para um tensor G9: A← 5
10: V,Upe,Up,Ui,Ue ← reducedHOSVD(G, A)11: W ← V ×2 Up ×3 Ui ×4 Ue
12: gpe(i2, i3, i4)← [W⊤(pe)(i2, i3, i4)]
†gtest13: i∗1 ← argmini1,i2,i3,i4 ‖ gpe(i2, i3, i4)− g(i1) ‖214: return i∗115: end procedure
Múltiplas Projeções Lineares no Espaço das Wavelets de Gabor
Cada indivíduo no conjunto de imagens pode ser representado por um
vetor de coeficientes na matriz de autovetores do espaço de pessoas Upe. Este
vetor de coeficientes é relativo ao espaço gerado pelas projeções das wavelets
de Gabor em cada fator multimodal (posição, iluminação e expressão). Da
mesma forma que podemos pensar em uma assinatura do individuo no modelo
TensorFaces, para o modelo tensorial com wavelets de Gabor podemos pensar
em uma assinatura multiescala da pessoa no modelo tensorial. Ou seja,
W = V ×2 Up ×3 Ui ×4 Ue (4.34)
implica em
gpe(i2, i3, i4) = [W⊤(pe)(i2, i3, i4)]
†gtest (4.35)
em que a operação de classificação é realizada através da distância euclideana
para cada base relativa aos fatores multimodais:
i∗1 = arg mini1,i2,i3,i4
‖ gpe(i2, i3, i4)− g(i1) ‖2 (4.36)
Uma vez que a dimensão do vetor de características tenha sido reduzida
e a habilidade de discriminação tenha sido aumentada por algum método
de análise de subespaços, podemos usar simplesmente o classificador naive
bayes com a distância euclidiana como medida usada na classificação.
Classificadores mais complexos podem ser usados, tais como Support Vector
Machine e Nearest Feature Space. Entretanto o esforço computacional não
valeria o ganho na taxa de acerto [46].
Capítulo 5
Validação Cruzada Modo-n
5.1 Validação Cruzada
A Validação Cruzada (VC) ou estimação rotacionada tornou-se um método
padrão na análise de desempenho de algoritmos e modelos em machine
learning e reconhecimento de padrões. Seja S = (xi,yi)ni=1 um conjunto
de dados, um dataset, em que X = xini=1 são amostras aleatórias de certos
padrões rotulados Y = yini=1 de um conjunto finito de classes, ou seja, os
rótulos tomam valores de Ω = ωici=1. O procedimento na realização da
VC consiste em particionar aleatoriamente o dataset S em k folds (partes)
mutuamente exclusivas de tamanhos aproximadamente iguais, em outras
palavras:
S =k⋃
i=1
Si em que Si ∩ Sj = ∅ para todo i 6= j. (5.1)
Assim um classificador η(., .) baseado em um modelo classificação é
treinado no conjunto S\Si e testado em Si, k vezes [61], também denominada
k-fold VC. Para um dado padrão (x,y), o erro de classificação da amostra x
como sendo da classe y de uma dada parte Si é definida como em [62],
δ[y,η(S\Si,x)] =
1 y 6= η(S\Si,x)0 caso contrário.
(5.2)
Como não sabemos a distribuição da taxa de erro ε do classificador η(., .),
é necessário estimarmos a mesma ε:
ε =1
n
k∑
i=1
∑
(x,y)∈Si
δ[y,η(S\Si,x)] (5.3)
A estimativa ε de ε possui alguns problemas causados devido aos dados
que são usados mais de uma vez em treinamento e/ou pequenas quantidades
34
5.2. Validação Cruzada Modo-n 35
de amostras para treino. É possível ver esse efeito na alta variância da
distribuição de ε. Uma maneira de diminuirmos esse tipo de problema é
através da k-fold VC estratificada, no qual definimos [61],
Definição 17 (VC estratificada) Quando cada fold é construído com a mesma
proporção de padrões para cada classe do conjunto de dados original, dizemos
que a validação cruzada é estratificada.
Outro problema que surge na k-fold VC devido essa alta variância na
taxa de erro é sua baixa replicabilidade, ou seja, se realizarmos dois
experimentos idênticos, isto é, mesmos dados e teste de hipótese, mas com
diferentes particionamentos do conjunto de dados, iremos obter resultados
muito diferentes [63]. Para aumentarmos a replicabilidade e melhorarmos
a estimativa da taxa de erro ε devemos repetir a k-fold VC em diferentes
particionamentos do conjunto de dados. A nova estimativa εr em que a VC
é repetida r vezes é obtida como
εr =1
r
r∑
j=1
εj (5.4)
Para cada repetição da VC é necessário um novo particionamento aleatório
do dataset. Para o conjunto de dados S sua cardinalidade é dada por o(S) = n.
Da mesma forma que o(Si) = ni (i = 1, . . . , k) representa a cardinalidade de cada
parte em um dado particionamento de S. É claro quek∑
i=1
ni = n, de forma que
o número de partições ρ possíveis é
ρ =n!
n1!n2! . . . nk!(5.5)
Cada partição Pi do conjunto de todas as partições Φ = Piρi=1 corresponde
à uma validação cruzada específica com k folds. Observe que a estimativa
da taxa de erro εP resultante da VC na partição Pi é uma estimativa de εr.
Ao realizarmos a repetição para todos os particionamentos no conjunto Φ
teremos uma boa estimativa do erro verdadeiro ε. Mas devido a aspectos
computacionais geralmente repetimos a validação 100 vezes, ou ainda de
uma forma mais sistemática através de algoritmos como Fixed Confidence
Interval (FCI) ou Two Step Estimation (TSE) para avaliarmos a quantidade de
repetições necessárias [64].
5.2 Validação Cruzada Modo-n
Dados multimodais modelados como tensores de ordem superior devem
obedecer um ordenamento, uma lei de formação para os tensores. Modelos
5.2. Validação Cruzada Modo-n 36
como TenWav e TensorFaces não são exceção, os mesmos devem seguir uma
ordem baseada nos fatores multimodais. Neste caso, as imagens vetorizadas
devem ter uma ordem pré-definida em sua forma matriciada no modo em
que os padrões estão localizados. Para fins de ilustração considere um
tensor de dados com ordem 4, a saber A ∈ R3×3×3×3. Se considerarmos o
modo-4 como sendo o espaço de parâmetros, ou seja, as colunas de A(4)
são os padrões, teríamos de organizar os dados conforme é ilustrado na
Figura (3.2). Essa organização está diretamente relacionada com a maneira
utilizada para matriciar o tensor. Assim, vemos que modelos tensoriais
em que os dados são organizados como um único tensor possuem um alto
grau de dependência em sua estrutura interna, não sendo possível dividir os
dados para teste e treinamento de uma forma totalmente aleatória. Faz-se
necessária uma maneira sistemática seguida de um estágio de aleatoriedade
para assegurarmos os resultados da estimação do erro.
No contexto de regressão para algoritmos em modelos Tucker3,
D.J.Louwerse et al. [65] propuseram dois métodos para validação cruzada: VC
EM-Tucker3 e VC Leave-bar-out (LBO) Tucker3. Essas duas abordagens não
são apropriadas para um problema de classificação em que o padrão desejado
está localizado em um modo, também não sendo aplicáveis no contexto de
classificação em modelos baseados em HOSVD. De fato, o primeiro método
combina os algoritmos Tucker3 e EM fazendo uso da natureza iterativa dos
mesmos, impossibilitando seu uso com HOSVD. Com o método LBO, o mesmo
padrão aparece mais de uma vez no conjunto de treinamento, o que induz
dependência entre as estimativas da taxa de erro de cada rodada na validação
cruzada, fazendo com que sua estimação não seja válida [66].
A validação cruzada tradicional toma partições aleatórias do conjunto
de padrões S = (xi,yi)ni=1 com seus respectivos rótulos. Uma maneira
equivalente consiste em tomar partições aleatórias do conjunto de dados
X = xini=1 e depois seus rótulos do conjunto Y = yini=1. Para os modelos
tensoriais considerados, iremos realizar a validação cruzada no conjunto X que
está organizado como as colunas do espaço de medidas (imagens vetorizadas)
D(p), em que o tensor D contém a totalidade dos dados.
Propomos uma nova abordagem para a validação cruzada baseada nessa
nova estrutura do dataset. Para isso, vamos definir alguns conceitos
importantes para o desenvolvimento do trabalho.
Definição 18 (modelo tensorial) Um modelo tensorial D sobre um conjunto
multimodal X é uma permutação dos elementos de X.
Definição 19 (espaço de padrões ou dos parâmetros) O espaço gerado pela
5.2. Validação Cruzada Modo-n 37
matriciação modo-p, onde cada coluna de D(p) é um padrão, é denominado
espaço de padrões.
Definição 20 (espaço das classes) O espaço gerado por D(ω) ou analogamente
Uω onde estão os vetores que discriminam as classes ωi ∈ Ω é denominado
espaço das classes ou categorias do modelo tensorial.
Para o nosso caso, estamos permutando os elementos de X para formar
D(p), a matriz de padrões resultante da matriciação do tensor D no modo-p.
Por sua vez, podemos denotar a matriz Up como sendo análogo ao espaço
D(p), pois a mesma gera o mesmo espaço. Em reconhecimento facial usamos
a notação Upe para Uω, como a referência as classes serem diretamente
relacionadas as pessoas do banco de imagens faciais.
Definição 21 (modo interno) Seja D um modelo tensorial de um conjunto
multimodal X. Os espaços ou modos relacionados aos fatores multimodais
diferentes de D(p) e D(ω) denominamos modos internos ao modelo tensorial D.
Essa definição deixa claro que o posicionamento do espaço de padrões D(p)
e do espaço de classes D(ω) não estão fixados. De fato, D(p) já foi utilizado
no TensorFaces como modo-5 e modo-1 [7, 9]. Essa propriedade é inerente
da álgebra multilinear onde cada espaço linear associado ao espaço tensorial
é independente dos demais. Agora consideramos a concatenação de dois ou
mais tensores em um dado modo-n.
Definição 22 (soma direta modo-n) A soma direta modo-n dos tensores A ∈RI1 × ...× In−1 × J1 × In+1 × ...× IN e B ∈ RI1 × ...× In−1 × J2 × In+1 × ...× IN denotada por A⊕nBé um tensor C ∈ RI1 × ...× In−1 × (J1+J2)× In+1 × ...× IN em que as colunas cj de C(n) são
iguais a soma direta aj ⊕ bj dos vetores colunas aj ∈ A(n) e bj ∈ B(n).
Pelo Teorema (1) a nova dimensão do modo-n é J1 + J2. Estimadores
com resampling, caso em que a validação cruzada se enquadra, sofrem de
um problema: o desempenho do classificador é estimado por classificadores
substitutos que são obtidos a partir dos dados de treinamento S\Si (i = 1, . . . , k)
retirados do conjunto S. Se S\Si for muito diferente de S o classificador η(S\Si, .)pode ser muito diferente de η(S, .) resultando em uma estimativa ε distante de
ε [67]. Esse problema também foi notado em [61] no contexto da estabilidade
dos classificadores η(., .), que propôs a validação cruzada estratificada como
solução. Assim, somos motivados a distribuir as amostras nos folds de
uma forma estratificada, ou seja, além de folds com tamanhos aproximados
estes devem possuir uma mesma proporção de amostras de cada classe ou
indivíduo.
5.2. Validação Cruzada Modo-n 38
O método da validação cruzada com k-folds no modo-n ou simplesmente
k-VC modo-n consiste em selecionar os folds dos modos internos IN\Iω, Ipatravés de uma função escolha
In = π( IN\Iω, Ip), (5.6)
em que π(.) seleciona um determinado modo de acordo com a necessidade, por
exemplo, π(.) = max(.),min(.) dentre outros. O modo-n escolhido tem dimensão
In, assim, existem dois casos que devemos considerar: k | In e k ∤ In.
Caso em que k divide In
Quando k | In dividimos o tensor D em k subtensores Di ∈RI1 × ...× Ii−1 × In
k× Ii+1 × ...× IN , que serão nossos folds no k-VC modo-n. Como
foi dito anteriormente o tensor é o próprio dataset, então o conjunto de
treinamento D\Di ∈ RI1 × ...× In−1 × In(1−1k)× In+1 × ...× IN é construído de acordo com
a Equação (5.7), e testamos em Di ∈ RI1 × ...× In−1 × Ink
× In+1 × ...× IN .
D\Di = D1 ⊕n . . .⊕n Di−1 ⊕n Di+1 ⊕n . . .⊕n Dk, (5.7)
A Figura 5.1 ilustra um particionamento hipotético de um tensor em
um dado modo, cada Di pode ser utilizado para teste e os demais para
treinamento. Observe que com a Equação (5.8) a seguir, podemos reconstruir
o modelo tensorial original a partir dos subtensores.
D = D1 ⊕n . . .⊕n Di−1 ⊕n Di ⊕n Di+1 ⊕n . . .⊕n Dk. (5.8)
O método k-VC modo-n fornece uma validação cruzada estratificada. É bem
verdade que exceto pelo modo-n que agora possui dimensão Ink
, todos os modos
mantiveram a mesma dimensão do tensor original após o particionamento.
Para o cálculo da taxa de erro considere A = D1,D2, . . . ,Dk e seus
respectivos rótulos Y = Y1, Y2, . . . , Yk. Seja Di ∈ A e Wi = (x,y);x ∈ Di,y ∈ Yi,assim a estimativa ε é calculada de forma análoga à Equação (5.3):
ε =1
m
k∑
i=1
∑
(x,y)∈Wi
δ[y,η(D\Di,x)], (5.9)
em que,
m =
N∏
j=1j 6=p
Ij . (5.10)
O método k-VC modo-n forma k subtensores (folds) de D. Observe que
5.2. Validação Cruzada Modo-n 39
D
Di−2 Di−1
Usado para Teste
Di
Di+1 Di+2
Figura 5.1: O tensor total é particionado no modo-n para formar os folds.
cada Di, (i = 1, . . . , k) pode ser visto como a soma direta modo-n de Ink
=
λ ∈ N subtensores E j ∈ RI1 × ...× In−1 × 1× In+1 × ...× IN , (j = 1, . . . , λ) escolhidos do
conjunto E l ∈ RI1 × ...× In−1 × 1× In+1 × ...× IN , (l = 1, . . . , In) dos In subtensores de D
obtidos fixando-se o índice in de 1 até In. Assim,
D = E1 ⊕n E2 ⊕n . . .⊕n E l ⊕n . . .⊕n EIn.
O fato de extrairmos λ elementos do conjunto E = EiIni=1 para formar uma
parte Di de um particionamento P do tensor D induz um conjunto de partições
em que cada uma de suas partes tem exatamente o mesmo tamanho. Dessa
forma o número de partições ρ é
ρ =In!
(λ!)k=In(In − 1) . . . (λ+ 1)
(λ!)k−1. (5.11)
A possibilidade do particionamento do conjunto de dados em um modelo
tensorial proporciona a repetição do k-VC modo-n, possibilitando uma melhor
estimativa ε da taxa de erro ε.
Exemplo 1 Considere um tensor de dados D ∈ R12× 20× 15× 180, no qual iremos
aplicar a validação cruzada com 10 folds. Nesse exemplo o modo-1 e modo-4 são
reservados para o espaço das classes e espaço dos padrões, respectivamente.
Dentre os modos internos 2 e 3 usaremos o modo-2 para a construção dos folds.
Assim,In
k=
20
10= 2, os subtensores Di de mesma ordem que D terá dimensão 2
no modo-2. A formação dos tensores Di é realizada de uma maneira aleatória:
5.2. Validação Cruzada Modo-n 40
dividimos o tensor original D em 20 subtensores E i ∈ R12× 1× 15× 180, então,
escolhemos dois subtensores Er e Es para formar o i-ésimo fold Di = Er ⊕n Es.A cada repetição da validação cruzada o processo é repetido. O Algoritmo 5.1
lista a sequência de passos principais para extração de folds nos dois casos:
k | In e k ∤ In.
Caso em que k não divide In
Quando k ∤ In dividimos o tensor D em k + 1 subtensores, sendo
k tensores Di ∈ RI1 × ...× Ii−1 × ⌊ Ink⌋ × Ii+1 × ...× IN (i = 1, ..., k), e um Dk+1 ∈
RI1 × ...× In−1 × In−⌊ Ink⌋k × In+1 × ...× IN , para manter a simplicidade define-se γ =
In − ⌊ Ink ⌋k, em que 1 ≤ γ ≤ k − 1.
Para formamos folds com tamanhos aproximados e estratificados vamos
dividir o tensor Dk+1 em γ subtensores E i ∈ RI1 × ...× In−1 × 1× In+1 × ...× IN , e
adicioná-los aos tensores Di para i ≤ γ, como mostrado na equação a seguir
F i = E i ⊕n Di (i = 1, . . . , γ), (5.12)
em que F i ∈ RI1 × ...× In−1 × ⌊ Ink⌋+1× In+1 × ...× IN ,.A equação seguir permite a
reconstrução do dataset, i.e.:
D = F 1 ⊕n . . .⊕n Fγ ⊕n Dγ+1 ⊕n . . .⊕n Dk. (5.13)
Para o cálculo da taxa de erro, considere A = F1, . . . ,Fγ,Dγ+1, . . . ,Dk como
sendo o conjunto dos folds extraídos do modelo tensorial D. Para cada fold
Ai ∈ A existe um conjunto de rótulos associados, a saber Yi, de tal forma que
Y =⋃k
i=1 Yi. Ora, seja Ai ∈ A e Wi = (x,y);x ∈ Ai,y ∈ Yi então a nova estimativa
da taxa de erro pode ser calculada como,
ε =1
m
k∑
i=1
∑
(x,y)∈Wi
δ[y,η(D\Ai,x)], (5.14)
em que m é calculado conforme a Equação (5.10).
Da mesma forma que foi possível repetirmos o k-VC modo-n no caso em
que k | In, podemos fazer uma análise similar para o caso k ∤ In. Existem dois
conjuntos de subtensores a serem considerados, F = F iγi=1 onde γ = In−⌊ Ink ⌋ke D = Djk−γj=1 . O tensor F i é formado escolhendo α = ⌊ In
k⌋+1 subtensores de E,
enquanto Dj é formado escolhendo β = ⌊ Ink⌋ subtensores de E. Assim o número
de partições ρ do modelo tensorial D é dado por
ρ =In!
(α!)γ(β!)k−γ=In(In − 1) . . . (α + 1)
(α!)γ−1(β!)k−γ. (5.15)
5.3. Validação cruzada com fusão de modos 41
Algoritmo 5.1 Validação cruzada com k folds no modo-n1: procedure EXTRAIFOLDS(D , k) ⊲ Tensor de dados e número de folds.2: Escolhe o modo n que será realizado a validação
3: Divide D em In subtensores E i no modo-n
4: if k | In then
5: λ← In
k6: for i ∈ 1, 2, . . . , k do7: Escolhe λ tensores dos E i’s aleatoriamente.
8: Di ← E1 ⊕n E2 ⊕n . . .⊕n Eλ9: end for
10: return D1,D2, . . . ,Dk
11: else12: λ← ⌊In
k⌋
13: for i ∈ 1, 2, . . . , k do14: Escolhe λ tensores dos Ei’s aleatoriamente.
15: Di ← E1 ⊕n E2 ⊕n . . .⊕n Eλ16: end for
17: for i ∈ 1, 2, . . . , In − ⌊In
k⌋k do
18: Escolhe um tensor Ei não utilizado, aleatoriamente.
19: F i ← Di ⊕n E i20: end for21: return F1,F2, . . . ,Fλ,Dλ+1,Dλ+2, . . . ,Dk
22: end if23: end procedure
5.3 Validação cruzada com fusão de modos
Já é de conhecimento que a validação cruzada com 5 ou 10 folds nos
fornece uma boa estimativa da taxa de erro e do quanto nosso modelo pode
ser generalizado [61]. Para k-VC modo-n também podemos assumir que os
valores 5 e 10 para k são satisfatórios , pois estamos realizando uma validação
cruzada estratificada. Mas em muitos casos os modos internos relativos aos
fatores multimodais possuem dimensão In < 5, ou seja, no conjunto de dados
o fator multimodal possui baixa variabilidade, assim, a aplicação do método
torna-se inviável. Propomos a seguir uma fusão nos modos internos do modelo
tensorial, mais especificamente nos modos vizinhos internos ao tensor, o que
nos leva às seguintes definições:
Definição 23 (modos aninhados) Seja A ∈ RI1×I2×...×IN , dizemos que o
modo-(n+1) está aninhado ao modo-n no modelo A se A(p) ∈ RIp × Ip−1...InI(n+1)...IN ,
onde Ip × Ip−1 . . . InI(n+1) . . . IN não representa apenas o número de colunas
de A(p), mas também sua organização na matriciação. Quando A(p) ∈RIp × I(p−1)...In...I(n+k)...I(n+l)...IN dizemos que tanto o modo-(n+k) quanto o modo-(n+ l)
estão aninhados ao modo modo-n.
5.3. Validação cruzada com fusão de modos 42
modo-i
modo-j
modo-ij
Fusao
Figura 5.2: Fusão do modo-i com o modo-j formando um novo modo-ij.
Definição 24 (modos vizinhos) Quando o modo-m está aninhado ao modo-n
de um dado tensor A e ao mesmo tempo o modo-m não é aninhado a nenhum
dos modos aninhados do modo-n, então dizemos que modo-m é vizinho do
modo-n, da mesma forma o modo-n é vizinho do modo-m.
Essas duas definições estão diretamente conectadas à maneira em
que os índices do tensor A foram organizados. Por exemplo, se A ∈RI1 ×I2 ...× In × I(n+1) × ...×× I(n+k) ×...× IN , então os modos n+1 e n+k estão aninhados
ao modo-n, mas apenas o modo-(n + 1) é vizinho do modo-n. Agora
denotaremos a fusão do modo-n com o modo-m simplesmente por modo-nm.
Definição 25 (modo-nm) Sejam o modo-n e modo-m vizinhos em um tensor
A ∈ RI1 × I2 × ...× In × Im × ...× IN . A fusão do modo-m no modo-n consiste em uma
soma direta modo-m dos In subtensores Bi ∈ RI1 × I2 × ...× 1× Im × ...× IN obtidos
fixando-se o índice i = in de 1 até In. O novo tensor H é dado por:
H = B1 ⊕m B2 ⊕m . . .⊕m Bi ⊕m . . .⊕m BIn , (5.16)
em que H ∈ RI1 × I2 × ...× 1× InIm × ...× IN .
Observe que o tensor H ∈ RI1 × I2 × ...× 1× InIm × ...× IN realmente não é de
interesse devido o modo-n ter dimensão 1, o que nos conduz à seguinte
proposição:
Proposição 2 O tensor A ∈ RI1 × I2 × ...× I(n−1) × 1× I(n+1) × ...× IN pode ser
identificado como o tensor B ∈ RI1 × I2 × ...× I(n−1) × I(n+1) × ...× IN .
5.3. Validação cruzada com fusão de modos 43
Prova 5 Basta definirmos a bijeção
ϕ : RI1 × I2 × ...× I(n−1) × 1× I(n+1) × ...× IN −→ RI1 × I2 × ...× I(n−1) × I(n+1) × ...× IN
tal que, ϕ(xi1i2...in−11in+1...iN ) = xi1i2...in−1in+1...iN .
Em outras palavras, se o modo-n e modo-m tem dimensões In e Im
respectivamente, o novo modo que substituirá os dois tem dimensão InIm (veja
Figura 5.2). Essa abordagem nos fornece um fator multimodal híbrido em um
dado modelo tensorial e ao mesmo tempo diminui a complexidade do modelo,
no sentido de que a ordem do tensor é decrescida, fazendo com que seja
eliminado o cálculo de uma SVD em um dos estágios da HOSVD. No contexto
de reconhecimento facial em um conjunto de imagens faciais multimodais,
podemos construir novos modos híbridos combinando fatores como condições
de iluminação, posição facial e expressões faciais, por exemplo:
pos-ilum Combinando posição facial com condição de iluminação,
pos-exp Combinando posição facial com expressão facial e
ilum-exp Combinando condição de iluminação com expressão facial.
Capítulo 6
Avaliação de Desempenho
Um dos problemas recorrentes na análise do desempenho de um estimador
é o dilema viés-variância. Existem alguns aspectos a serem considerados
relativos a variância de nossa estimativa. Primeiramente ε é uma função
do conjunto de treinamento (que é escolhido aleatoriamente). Segundo, a
aleatoriedade na escolha dos k folds no particionamento do nosso dataset
usado na validação cruzada é outro fator integrante na formulação de ε como
uma variável aleatória. É desejável que nosso estimador possua bias zero e
uma variância baixa. É um fato conhecido que a estimativa do erro ε na Eq. 5.3
baseado em validação cruzada, é um estimador baseado em contagens de
erros, onde a função erro δ(., .) na Eq. 5.2 conta o número de erros. É contado
o número de erros em n classificações das amostras do conjunto de dados e
dividido por n para estimarmos a taxa de erro para aquele particionamento.
Logo, a estimativa muda em incrementos 1n, caracterizando uma unidade de
variância irredutível [67].
A validação cruzada repetida é menos afetada por essa variação irredutível,
pois realizamos o k-fold VC r vezes. Outro aspecto relativo à variância diz
respeito ao fato de que consideramos ε como uma estimativa da taxa de
erro incondicional, o que pode ser controverso, pois as amostras D\Ai não
são amostras independentes da distribuição conjunta de características e
labels [68]. Essa variância é agravada quando o número k de folds é grande.
Nesta situação, é recomendado o uso de valores moderados para k, a fim
de reduzirmos essa variância, correndo o risco de aumentar o bias [61]. No
trabalho de Kim em [69] foi mostrado que a validação cruzada repetida com
10 folds possui baixa variância, principalmente em modelos que melhor se
adaptam ao conjunto de dados, como é o caso do TensorFaces e TenWav.
Dado o classificador η(S, .) construído sobre um determinado dataset S,
existem ρ k-fold VC estimadores ε(i)ρ (i = 1, . . . , ρ), onde sua média ερ pode ser
considerada uma boa estimativa da taxa de erro ε. Como o número ρ é muito
44
6.1. Simulações e Resultados 45
n Número de partições ρ15 ≈ 1, 68× 108
20 ≈ 3, 06× 1011
25 ≈ 1, 37× 1018
Tabela 6.1: Número de partições para 5-fold VC estratificado com n amostras
grande (ver Tab. 6.1) torna-se computacionalmente inviável executar todos
os k-fold VC para cada amostra do conjunto de todas as partições. Assim,
selecionamos r amostras aleatórias do conjuntos de todas as partições P de S,
segue que a média εr das r amostras do conjunto ε(i)ρ é uma estimativa de
ερ. Observe que quanto maior o número de partições r utilizadas, melhor será
nossa estimativa εr de ερ, e consequentemente de ε.
Seja εn a verdadeira taxa de erro condicional, ou seja a taxa de erro
dado que o classificador η(Sn, .) foi construído com base no conjunto de
treinamento Sn e a estimativa εn foi calculada com amostras independentes
das de treinamento. Foi verificado que para estudarmos o desempenho de um
estimador ε, seja ele resultante da validação cruzada ou da validação cruzada
repetida, é correto examinarmos a distribuição ε − εn em vez da distribuição
de ε, denominada distribuição do desvio [67,69]. Como ε − εn é uma variável
aleatória segue que
E[(ε− εn)2] = V ar(ε− εn) + [E(ε− εn)]2. (6.1)
Como não temos acesso a estimativa εn, pois não temos uma grande
quantidade de amostras independentes do conjunto de treinamento, iremos
analisar o comportamento da distribuição do desvio de ε(i)r − εr, fazendo
transparecer o comportamento de uma única execução ε(i)r em relação a
estimativa εr de ε. Assim
E[(ε(i)r − εr)2] = V ar(ε(i)r − εr) + [E(ε(i)r − εr)]2 (6.2)
nos mostra o quanto ε(i)r pode se afastar de nossa estimativa εr.
6.1 Simulações e Resultados
Em nossos experimentos utilizamos dois bancos de imagens faciais:
Weizmann Face Image Database [70]. Foi utilizado parte do banco
consistindo de 24 indivíduos em 5 posições faciais, 3 condições de
iluminação e 3 expressões faciais, totalizando 1080 imagens, na Figura
6.1 temos exemplo de um individuo que compõe esse banco de faces.
6.1. Simulações e Resultados 46
Extended Yale Face Image Database [71]. Foi utilizado parte do banco
consistindo de 27 indivíduos em 9 posições faciais, 15 condições de
iluminação, totalizando 3645 imagens.
Para teste foram consideradas quatro situações específicas:
Sem ruído;
Com ruído gaussiano de média zero e variância 0, 01;
Com ruído "sal e pimenta" com densidade 0, 01;
Com ruído "speckle" (ruído multiplicativo): M = I + nI, em que n é uma
variável aleatória uniformemente distribuída com média zero e variância
0, 03.
6.1.1 Experimentos no Weizmann Face Image Database
Para os experimentos nesse banco de faces os fatores multimodais
considerados são: posição facial, condição de iluminação e expressão facial.
Ainda são componentes do modelo tensorial o número de indivíduos e a
dimensão de cada imagem facial vetorizada para o modelo TensorFaces
e a dimensão de cada resposta (resultante da filtragem das faces com o
banco de filtros das Wavelets de Gabor) para o TenWav. Dessa forma,
para a construção dos modelos tensoriais TensorFaces e TenWav devemos
organizar nosso dataset como um tensor D ∈ R24× 5× 3× 3×Np de ordem 5 onde
cada modo tem correspondência biunívoca com os fatores multimodais que
compõem o banco de imagens Weizmann. O espaço de medidas ou espaço
dos pixeis tem dimensão Np, que pode assumir valores variáveis conforme a
necessidade, e. g., uma operação de redimensionamento da imagem original,
o fator de downsampling no modelo TenWav, dentre outras operações de
preprocessamento desejado. No modelo TensorFaces é possível visualizarmos
Figura 6.1: Imagens de um indivíduo em uma dada condição de iluminação,expressão facial e nas posições −34o,−17o, 0o,+17o,+34o,respectivamente.
6.1. Simulações e Resultados 47
Figura 6.2: "Autofaces" relativas as múltiplas projeções Uv,Ui e Ue. Especificamente,5 posições faciais, 3 condições de iluminação, 1 expressão facial de umúnico indivíduo.
as múltiplas projeções provenientes da decomposição HOSVD, como pode ser
visto na figura 6.2.
Para o tensor D mencionado acima, temos que o fator multimodal de
maior dimensão é a posição facial com tamanho 5. Experimentos anteriores
com TensorFaces foram realizados com essa configuração [7–9], onde foi
considerado 4 posições para treino e uma para teste. O problema nessa
abordagem é evidente, uma vez que a taxa de acerto e consequentemente a
taxa de erro apresentada não resulta de um experimento fidedigno. Ainda se
fosse utilizada uma abordagem sistemática como 5-fold VC nesse modo, devido
à dimensão ser igual ao número de folds na validação cruzada, teríamos
apenas uma possibilidade para a configuração das partições, sendo possível
apenas uma repetição do 5-fold VC. Uma abordagem mais apropriada a fim de
contornar esses problemas consiste em realizar uma fusão modo-n para dois
fatores multimodais , produzindo um tensor com fator multimodal híbrido de
dimensão elevada.
6.1. Simulações e Resultados 48
012
4
12
15
17
1921
24
Tax
a de
Err
o
TensorFaces TenWav
−4−3−2−1
0123
Métodos
Dis
trib
uiçã
o do
Des
vio
Figura 6.3: Taxa de erro e estimativa da distribuição do desvio, resultantes de 8500repetições do 10-fold VC no modo híbrido pos-ilum de dimensão 15, semruído.
pessoas︸ ︷︷ ︸
modo 1
× posição︸ ︷︷ ︸
modo 2
× iluminação︸ ︷︷ ︸
modo 3
× expressão︸ ︷︷ ︸
modo 4
× pixeis︸ ︷︷ ︸
modo 5
⇓pessoas︸ ︷︷ ︸
modo 1
× pos-ilum︸ ︷︷ ︸
modo 2
× expressão︸ ︷︷ ︸
modo 3
× pixeis︸ ︷︷ ︸
modo 4
Figura 6.4: Representação pictográfica da estrutura interna do modelo tensorial comfusão nos modos posição e iluminação.
Fusão nos modos posição facial e iluminação
No próximo experimento, realizamos a fusão dos modos posição facial e
iluminação, criando um tensor D ∈ R24× 15× 3×Np de ordem 4. Ao fazermos
6.1. Simulações e Resultados 49
TensorFaces TenWav0
2
4
6
8
10
12
14
16
18
Métodos
Tax
a de
Err
o
Sem ruídoRuído gaussianoRuído sal & pimentaRuído multiplicativo
Figura 6.5: Taxa de erro e estimativa da distribuição do desvio, resultantes de 100repetições do 10-fold VC no modo híbrido pos-ilum de dimensão 15,considerando cenários com ruído.
isso, estamos diminuindo a complexidade do modelo, no sentido do número
de parâmetros a ser calculado, ou seja, uma SVD a menos para ser calculada.
Como pode ser visto na representação da Figura 6.4.
O novo modo pos-ilum de dimensão 15 foi escolhido para a realização do
10-fold VC modo-n., tal que, ⌊1510⌋ = 1 e γ = 15 − ⌊15
10⌋10 = 5. Assim, temos cinco
folds Di ∈ R24 × 2× 3×Np e cinco Fi ∈ R24× 1× 3×Np. O número total de partições é
ρ = 15!2!2!2!2!2!
≈ 4, 08×1010, tornando o cálculo de todos ε(i)ρ (i = 1, . . . , ρ) dispendioso.
O objetivo principal nesse primeiro experimento é analisar o desempenho do
10-fold VC modo-n a longo prazo. Escolhemos 8500 amostras aleatórias do
total de ρ partições, ou seja, repetimos o experimento 8500 vezes.
Como podemos ver na Figura 6.3, a distribuição de ε(i)r −εr não sofre de uma
alta variância, i.e., uma estimativa única do 10-fold VC estará próxima de εr,
o que confirma a viabilidade da VC modo-n. Ambos os métodos TensorFaces
e TenWav apresentam baixa variância, principalmente o TenWav.
A Figura 6.3 apresenta ainda a taxa de erro estimada, onde fica evidente
que o TenWav é mais adequado que o TensorFaces quando os fatores
multimodais posição facial e condição de iluminação são variados no conjunto
de faces. Os resultados apresentados relativos à estimação do erro e
6.1. Simulações e Resultados 50
TensorFaces TenWav2
4
6
8
10
12
14
Metodos
Tem
po d
e um
a ex
ecuç
ão d
a V
C 1
0−fo
ld
Figura 6.6: Tempo médio de cada validação cruzada em 8500 repetições do 10-fold VCno modo pos-ilum de dimensão 15 .
distribuição do desvio de ε(i)ρ em relação a ερ, mostra-nos que se tomarmos
amostras de tamanho menor, tais como 10, 50 ou 100, teremos ainda boas
estimativas da taxa de erro.
Na Figura 6.5 temos os resultados das taxas de erro considerando cenários
com ruído (foram realizadas 100 repetições). De uma maneira geral os
métodos TensorFaces e TenWav não foram afetados pela presença do ruído
na imagem de teste (mantendo-se uma menor taxa de erro para o TenWav).
Outros dois experimentos foram realizados a fim de se verificar o
comportamento dos métodos TenWav e TensorFaces. Para o experimento
Fusão nos modos posição facial e expressão foram realizadas 100 repetições
do 10-fold VC modo-n. No segundo experimento Fusão nos modos iluminação
e expressão foram realizadas 1000 repetições do 5-fold VC modo-n.
Análise do tempo de execução
É também de interesse estimarmos o desempenho dos modelos tensoriais
quanto ao tempo de execução, em específico o tempo da HOSVD em cada
modelo. Primeiramente, analisamos o tempo médio de uma execução do
10-fold VC modo-n do experimento pos-ilum. Na Figura 6.6, pode-se concluir
que o tempo médio de execução do TenWav é menor que o TensorFaces.
Isso ocorre devido ao fato do modo pixel possuir dimensão Np reduzida, essa
redução é devido ao fator de downsampling . De fato, para uma imagem
I ∈ Rn×n, temos que vec(I) ∈ Rn2. No modelo TensorFaces temos Np = n2,
6.1. Simulações e Resultados 51
Experimento Número de repetições TensorFaces TenWavpos-ilum 8500 ≈ 7.08× 104 ≈ 3.97× 104
ilum-exp 1000 ≈ 3.41× 103 ≈ 1.89× 103
pos-exp 100 ≈ 1.29× 103 ≈ 7.76× 102
Tabela 6.2: Tempo total em segundos da HOSVD nos modelos TenWav e TensorFaces
enquanto que para o TenWav temos N∗p =
uv
2n2. Segue que
uv
2≤ 1 na maioria
dos casos de aplicações práticas. No nosso caso u = 5, v = 8 e = 8, de forma
que N∗p = 0.625Np. Na Tabela 6.2 vemos o tempo total para cada um dos três
experimentos realizados sobre a base Weizmann.
Fusão nos modos posição facial e expressão
Neste experimento observamos como a variação conjunta dos fatores
posição facial e expressão afetam a taxa de erro dos modelos considerados.
Para isso é necessária fusão dos modos correspondentes a esses fatores.
Primeiramente devemos fazer uma mudança na estrutura interna do tensor
original D ∈ RNpe ×Nv ×Ni ×Ne ×Np para um novo tensor D∗ ∈ RNpe ×Nv ×Ne ×Ni ×Np
de forma que os modos posição facial e expressão tornem-se vizinhos,
possibilitando sua fusão, conforme é representado na Figura 6.7.
Após a fusão, o tensor resultante D ∈ R24× 15× 3×Np com o novo modo
pos-exp de dimensão 15 foi escolhido para a realização do 10-fold VC modo-n.
Realizando a mesma análise quanto aos folds que podem ser construídos,
vemos que temos cinco folds Di ∈ R24 × 2× 3×Np e cinco Fi ∈ R24× 1× 3×Np com
o mesmo número de partições ρ do experimento anterior. Na Figura 6.8,
apresentamos um sumário dos resultados desse experimento, considerando
cenários com ruídos, onde vemos taxas de erros próximas (diferença de 0.1%),
com o TenWav apresentando um melhor desempenho.
pessoas︸ ︷︷ ︸
modo 1
× posição︸ ︷︷ ︸
modo 2
× iluminação︸ ︷︷ ︸
modo 3
× expressão︸ ︷︷ ︸
modo 4
× pixeis︸ ︷︷ ︸
modo 5
⇓pessoas︸ ︷︷ ︸
modo 1
× posição︸ ︷︷ ︸
modo 2
× expressão︸ ︷︷ ︸
modo 3
× iluminação︸ ︷︷ ︸
modo 4
× pixeis︸ ︷︷ ︸
modo 5
⇓pessoas︸ ︷︷ ︸
modo 1
× pos-exp︸ ︷︷ ︸
modo 2
× iluminação︸ ︷︷ ︸
modo 3
× pixeis︸ ︷︷ ︸
modo 4
Figura 6.7: Representação pictográfica da mudança da estrutura interna do modelotensorial com fusão nos modos posição e expressão.
6.1. Simulações e Resultados 52
TensorFaces TenWav
0.7
0.8
0.9
1
1.1
1.2
1.3
1.4
Métodos
Tax
a de
Err
o
Sem ruídoRuído gaussianoRuído sal & pimentaRuído multiplicativo
Figura 6.8: Resultados da taxa de erro para 100 repetições do 10-fold VC no modopos-exp de dimensão 15.
pessoas︸ ︷︷ ︸
modo 1
× posição︸ ︷︷ ︸
modo 2
× iluminação︸ ︷︷ ︸
modo 3
× expressão︸ ︷︷ ︸
modo 4
× pixeis︸ ︷︷ ︸
modo 5
⇓pessoas︸ ︷︷ ︸
modo 1
× posição︸ ︷︷ ︸
modo 2
× ilum-exp︸ ︷︷ ︸
modo 3
× pixeis︸ ︷︷ ︸
modo 4
Figura 6.9: Representação pictográfica da estrutura interna do modelo tensorial comfusão nos modos iluminação e expressão.
Fusão nos modos iluminação e expressão
Nesse experimento analisamos os efeitos causados por mudanças nos
fatores iluminação e expressão. Segue que as dimensões desses modos são
ambas 3, logo o fator híbrido ilum-exp possui dimensão 9 (ver Fig. 6.9),
impossibilitando o uso do 10-fold VC modo-n. Como alternativa viável
consideramos o 5-fold VC modo-n com 1000 repetições para o primeiro
experimento em um cenário sem ruído. Na Figura 6.9 podemos ver a
representação da estrutura interna do modelo tensorial com fusão nos modos
iluminação e expressão. Desse modo é possível criar quatro tensores Di ∈R24× 5× 2×Np e um Fi ∈ R24× 5× 1×Np. Os resultados podem ser visualizados
na Figura 6.10, a qual nos indica que dois modelos possuem taxas de erros
6.1. Simulações e Resultados 53
TensorFaces Tenwav0.4
0.6
0.8
1
1.2
1.4
1.6
Metodos
TaxadeErro
Figura 6.10: Resultados da taxa de erro para 1000 repetições do 5-fold VC no modoilum-exp de dimensão 9, sem ruído.
TensorFaces TenWav0.4
0.6
0.8
1
1.2
1.4
1.6
1.8
2
Métodos
Tax
a de
Err
o
Sem ruídoRuído gaussianoRuído sal & pimentaRuído multiplicativo
Figura 6.11: Resultados da taxa de erro para 100 repetições do 5-fold VC no modoilum-exp de dimensão 9, considerando cenários com ruído.
próximas. Consideramos ainda outro experimento com 100 repetições em um
cenário com ruído. A Figura 6.11 com as taxas de erros correspondentes ao
6.1. Simulações e Resultados 54
TensorFaces TenWav0
0.5
1
1.5
2
2.5
3
3.5
Métodos
Tax
a de
Err
o
Sem ruídoRuído gaussianoRuído sal & pimentaRuído multiplicativo
Figura 6.12: Resultados da taxa de erro para 100 repetições do 5-fold VC no modoposição facial de dimensão 9 para a base Extended Yale Face Image,considerando cenários com ruído.
segundo experimento, comprovam que os fatores multimodais iluminação e
expressão quando variam em conjunto não afetam os modelos TensorFaces e
TenWav.
6.1.2 Experimentos no Extended Yale Face Image Database
A base de dados Extended Yale Face Database B contém 16128 imagens de
28 indivíduos em 9 posições faciais e 64 condições de iluminação. Para os
nossos experimentos foram utilizados 27 indivíduos em 9 posições faciais e 15
condições de iluminação. Foram realizados três experimentos (cenários com
ruído) com 100 repetições do k-fold VC:
O primeiro experimento consiste em realizar 5-fold VC modo-n sobre o
modo posição facial, fazendo-se uso de quatro tensores Di ∈ R27× 2× 15×Np
e um tensor Fi ∈ R27× 1× 15×Np.
O segundo experimento consiste em realizar 5-fold VC modo-n sobre o
modo iluminação, fazendo-se uso de cinco tensores Di ∈ R27× 9× 3×Np.
O terceiro experimento consiste em realizar 10-fold VC modo-n sobre o
modo iluminação, fazendo-se uso de cinco tensores Di ∈ R27× 9× 2×Np e
cinco tensores Fi ∈ R27× 9× 1×Np.
6.1. Simulações e Resultados 55
TensorFaces TenWav0
1
2
3
4
5
6
7
8
9
10
Métodos
Tax
a de
Err
o
Sem ruídoRuído gaussianoRuído sal & pimentaRuído multiplicativo
Figura 6.13: Resultados da taxa de erro para 100 repetições do 10-fold VC no modoiluminação de dimensão 15 para a base Extended Yale Face Image,considerando cenários com ruído.
TensorFaces TenWav0
2
4
6
8
10
12
14
Métodos
Tax
a de
Err
o
Sem ruídoRuído gaussianoRuído sal & pimentaRuído multiplicativo
Figura 6.14: Resultados da taxa de erro para 100 repetições do 5-fold VC no modoiluminação de dimensão 15 para a base Extended Yale Face Image,considerando cenários com ruído.
Os resultados do primeiro experimento podem ser vistos na Figura 6.12,
onde fica evidente que o TensorFaces teve uma aumento na taxa de erro devido
6.1. Simulações e Resultados 56
à variação das posições faciais, efeito também visto no TenWav de forma mais
amena. Da mesma forma que foi observado na base de dados Weizmann, os
resultados não foram afetados com a presença de ruído na imagem de teste.
Nas Figuras 6.13 e 6.14 apresentamos os resultados dos experimentos 2 e 3.
Observe que a iluminação é o fator multimodal que menos afeta o desempenho
dos modelos tensoriais. A diferença entre esses dois experimentos é a
quantidade de folds em cada validação cruzada, possibilitando uma análise
da melhor divisão do dataset na VC. Observa-se que, embora a mesmo a VC
com 5 folds seja "mais estratificada" (tensores do mesmo tamanho) é preferível
utilizar o 10-fold VC, pois a quantidade de outliers é reduzida.
Capítulo 7
Conclusões e Perspectivas
Nessa dissertação, o desempenho de algoritmos para reconhecimento
de padrões, em específico o reconhecimento facial, baseados em álgebra
multilinear foi investigado. Foram investigados também métodos de estimação
da taxa erro para modelos tensoriais baseados em validação cruzada. Foi
proposto um método de reconhecimento facial, TenWav, que explora a
natureza multilinear das imagens faciais fazendo uso das wavelets de Gabor.
A extração de características ocorre em dois estágios. Primeiramente, as
wavelets de Gabor são aplicadas. No segundo estágio, a HOSVD é utilizada
para a separação dos fatores multimodais. O método TenWav obteve uma
menor taxa de erro do que o TensorFaces, mostrando-se mais robusto a
variações na formação da imagem. Foi realizada uma série de experimentos
com duas bases de imagens faciais: Weizmann Face Database e Extended
Yale Face Database. Nos experimentos em que se considerou a fusão nos
modos posição facial e iluminação, os resultados mostram que esses dois
fatores afetam consideravelmente a taxa de acerto do TensorFaces, fato que
não ocorre no TenWav, tornando-o uma escolha óbvia em aplicações práticas.
Propusemos também um método para validação e estimação da taxa de
erro em modelos nos quais os dados são organizados em um tensor. A
validação cruzada com k folds no modo-n de um dado tensor de dados é
baseada na validação cruzada tradicional, fazendo-se uso da estrutura interna
dos tensores. O método k-fold VC modo-n mostrou-se útil na validação do
TensorFaces e TenWav podendo ser utilizado em outras aplicações que fazem
uso de modelos tensoriais.
Como uma primeira perspectiva futura temos a aplicação da validação
cruzada modo-n para validação de outros tipos de modelos tensoriais.
Objetivamos ainda construir um modelo de estimação da taxa de erro
em estruturas tensoriais a partir do holdout com repetição e classes de
equivalência no espaço tensorial considerado.
57
Referências Bibliográficas
[1] L. G. Brown, “A survey of image registration techniques,” ACM Computing
Surveys, vol. 24, no. 4, pp. 325–376, 1992.
[2] M. Turk and A. Pentland, “Eigenfaces for recognition,” Journal of
Cognitive Neuroscience, vol. 3, no. 1, pp. 71–86, 1991.
[3] L. De Lathauwer, “Signal processing based on multilinear algebra,” Ph.D.
dissertation, Katholieke Univ. Leuven, Leuven, Belgium, 1997.
[4] T. Kolda, “Orthogonal tensor decompositions,” SIAM J. Matrix Anal. Appl.,
vol. 23, no. 1, pp. 243–255, July 2001.
[5] P. Comon, X. Luciani, and A. L. F. de Almeida, “Tensor decompositions,
alternating least squares and other tales,” Journal of Chemometrics,
vol. 23, no. 7-8, pp. 393–405, 2009.
[6] L. De Lathauwer, “A multilinear singular value decomposition,” SIAM J.
Matrix Anal. Appl., vol. 21, no. 4, pp. 1253–1278, 2000.
[7] M. Vasilescu and D. Terzopoulos, “Multilinear image analysis for facial
recognition,” vol. 2, 2002, pp. 511–514 vol.2.
[8] ——, “Multilinear subspace analysis of image ensembles,” vol. 2, June
2003, pp. II–93–9 vol.2.
[9] M. A. O. Vasilescu, “A multilinear (tensor) algebraic framework for
computer graphics, computer vision, and machine learning,” Ph.D.
dissertation, University of Toronto, , Belgium, 2009.
[10] K. Okajima, “Two-dimensional gabor-type receptive field as derived by
mutual information maximization,” Neural Networks, vol. 11, no. 3, pp.
441 – 447, 1998.
58
Referências Bibliográficas 59
[11] P. Halmos, Finite-Dimensional Vector Spaces, ser. Undergraduate Texts in
Mathematics. Springer New York, 1974.
[12] J. Magnus and H. Neudecker, Matrix differential calculus with applications
in statistics and econometrics, ser. Wiley series in probability and
statistics. John Wiley, 1999.
[13] C. Eckart and G. Young, “The approximation of one matrix by another of
lower rank,” Psychometrika, vol. 1, no. 3, pp. 211–218, 1936.
[14] A. Knapp, Basic Algebra: Along with a Companion Volume Advanced
Algebra, ser. Cornerstones (Birkhäuser Verlag). Birkhäuser Boston,
2006, no. v. 1.
[15] R. Merris, Multilinear Algebra, ser. Algebra, logic, and applications.
Taylor & Francis, 1997.
[16] M. Artin, Algebra. Pearson Education, 2014.
[17] L. Hogben, Handbook of Linear Algebra, ser. Discrete Mathematics and
Its Applications. Taylor & Francis, 2006.
[18] S. Lang, Algebra, ser. Graduate Texts in Mathematics. Springer New
York, 2002.
[19] D. Leibovici and R. Sabatier, “A singular value decomposition of a k-ways
array for a principal components analysis of multi-way data, the PTA-k,”
Linear Algebra and its Applications, vol. 269, pp. 307–329, 1998.
[20] W. Greub, Multilinear algebra, ser. Universitext - Springer-Verlag.
Springer-Verlag, 1978.
[21] H. A. Kiers, “Towards a standardized notation and terminology in
multiway analysis,” J. Chemometrics, vol. 14, no. 3, pp. 105–122, 2000.
[22] T. G. Kolda, “Multilinear operators for higher-order decompositions,”
Tech. Rep., 2006.
[23] F. L. Hitchcock, “The expression of a tensor or a polyadic as a sum of
products,” J. Math. Phys. Camb., no. 6, pp. 164–189, 1927.
[24] ——, “Multilple invariants and generalized rank of a p-way matrix or
tensor,” J. Math. Phys. Camb., no. 7, pp. 39–70, 1927.
Referências Bibliográficas 60
[25] R. B. Cattell, “Parallel proportional profiles and other principles for
determining the choice of factors by rotation,” Psychometrika, no. 9, pp.
267–283, 1944.
[26] J. D. Carroll and C. J. J., “Analysis of individual differences in
multidimensional scaling via an n-way generalization of “eckart-young”
decomposition,” Psychometrika, no. 35, pp. 283–319, 1970.
[27] R. A. Harshman, “Foundations of the PARAFAC procedure: Model
and conditions for an “explanatory"multi-mode factor analysis,” UCLA
Working Papers in Phonetics, vol. 16, pp. 1–84, Dec. 1970.
[28] T. G. Kolda and B. W. Bader, “Tensor decompositions and applications,”
SIAM Rev., vol. 51, no. 3, pp. 455–500, 2009.
[29] S. Theodoridis and K. Koutroumbas, Pattern Recognition. Elsevier
Science, 2008.
[30] R. Duda, P. Hart, and D. Stork, Pattern classification, ser. Pattern
Classification and Scene Analysis: Pattern Classification. Wiley, 2001.
[31] A. Jain, R. P. W. Duin, and J. Mao, “Statistical pattern recognition: a
review,” IEEE Transactions on Pattern Analysis and Machine Intelligence,
vol. 22, no. 1, pp. 4–37, Jan. 2000, 04860.
[32] A. Webb and K. Copsey, Statistical Pattern Recognition. Wiley, 2011.
[33] L. Sirovich and M. Kirby, “Low-Dimensional Procedure for the
Characterization of Human Faces,” Journal of the Optical Society of
America A, vol. 4, no. 3, pp. 519–524, 1987.
[34] M. Turk, A Random Walk Through Eigenspace, 2001, vol. E84-D, no. 12.
[35] S. Li and A. Jain, Handbook of Face Recognition. Springer, 2011.
[36] D. L. Donoho et al., “High-dimensional data analysis: The curses and
blessings of dimensionality,” AMS Math Challenges Lecture, pp. 1–32,
2000.
[37] M. Turk and A. Pentland, “Face recognition using eigenfaces,” in
Computer Vision and Pattern Recognition, 1991. Proceedings CVPR ’91.,
IEEE Computer Society Conference on, Jun 1991, pp. 586–591.
[38] M. Turk, “Interactive-time vision: Face recognition as visual behavior,”
Ph.D. dissertation, The Media Laboratory, Massachusetts Institute of
Technology, 1991.
Referências Bibliográficas 61
[39] I. Jolliffe, Principal Component Analysis, ser. Springer Series in Statistics.
Springer, 2002.
[40] G. Dunteman, Principal Components Analysis, ser. A Sage Publications.
SAGE Publications, 1989, no. 69.
[41] A. V. Oppenheim and R. Schafer, Digital signal processing, ser.
Prentice-Hall international editions. Prentice-Hall, 1975.
[42] I. Daubechies, “The wavelet transform, time-frequency localization and
signal analysis,” IEEE Transactions on Information Theory, vol. 36, no. 5,
pp. 961–1005, Sep. 1990.
[43] C. Chui, An Introduction to Wavelets, ser. Wavelet analysis and its
applications. Academic Press, 1992.
[44] S. Mallat, A wavelet tour of signal processing. Academic Press, 2a ed,
1999.
[45] J. E. Castilho, M. O. Domingues, A. Pagamisse, and O. M. Junior,
Introdução ao mundo das Wavelets, ser. Notas em Matemática Aplicada.
SBMAC, São Paulo, SP, 2012.
[46] L. Shen and L. Bai, “A review on gabor wavelets for face recognition,”
Pattern Analysis and Applications, vol. 9, 2006.
[47] J. G. Daugman, “Uncertainty relation for resolution in space, spatial
frequency, and orientation optimized by two-dimensional visual cortical
filters,” Journal of the Optical Society of America A, vol. 2, 1985.
[48] G. S. Volker Kruger, “Gabor wavelet networks for efficient head pose
estimation,” Image and Vision Computing, vol. 20, no. 9-10, pp. 665–672,
2002.
[49] F. F. Anil K. Jain, “Unsupervised texture segmentation using gabor
filters,” Pattern Recognition, vol. 24, 1991.
[50] Y. Hamamoto, S. Uchimura, M. Watanabe, T. Yasuda, Y. Mitani, and
S. Tomita, “A gabor filter-based method for recognizing handwritten
numerals,” Pattern Recognition, vol. 31, 1998.
[51] D. Gabor, Theory of communication. Institution of Electrical Engineering,
1946.
[52] J. G. Daugman, “Two-dimensional spectral analysis of cortical receptive
field profiles,” Vision research, vol. 20, no. 10, 1980.
Referências Bibliográficas 62
[53] T. S. Lee, “Image representation using 2d gabor wavelets,” IEEE Trans.
Pattern Analysis and Machine Intelligence, vol. 18, no. 10, pp. 959–971,
1996.
[54] L. Shen, L. Bai, and M. Fairhurst, “Gabor wavelets and general
discriminant analysis for face identification and verification,” IEEE Trans.
Pattern Analysis and Machine Intelligence, vol. 25, no. 5, pp. 553–563,
2007.
[55] V. Štruc and N. Pavešic, “Gabor-based kernel-partial-least-squares
discrimination features for face recognition,” Informatica (Vilnius), vol. 20,
no. 1, pp. 115–138, 2009.
[56] ——, “The complete gabor-fisher classifier for robust face recognition,”
EURASIP Advances in Signal Processing, vol. 2010, p. 26, 2010.
[57] C. Liu and H. Wechsler, “Gabor feature based classification using the
enhanced fisher linear discriminant model for face recognition,” IEEE
Transactions on Image Processing, vol. 11, no. 4, pp. 467–476, Apr. 2002.
[58] A. Oppenheim and R. Schafer, Discrete-Time Signal Processing. Pearson
Education, Limited, 2010.
[59] A. Pentland and L. B. Moghaddam, “View-based and modular eigenspaces
for face recognition,” In Proc. IEEE Conf. on Computer Vision and Pattern
Recognition, pp. 84–91, 1994.
[60] M. E. Tipping and C. M. Bishop, “Mixtures of probabilistics principal
component analysers,” Neural Computation, vol. 11, no. 2, pp. 443–482,
1999.
[61] R. Kohavi, “A study of cross-validation and bootstrap for accuracy
estimation and model selection,” In Proceedings of International Joint
Conference on Artificial Intelligence, pp. 1137–1145, 1995.
[62] B. Efron, “Estimating the error rate of a prediction rule: Improvement on
cross-validation,” Journal of the American Statistical Association, vol. 78,
1983.
[63] R. R. Bouckaert, “Choosing between two learning algorithms based on
calibrated tests,” Proceedings of the Twentieth International Conference on
Machine Learning (ICML-2003), Washington DC, 2003.
Referências Bibliográficas 63
[64] K. Yang, H. Wang, G. Dai, S. Hu, Y. Zhang, and J. Xu, “Determining
the repeat number of cross-validation,” 4th International Conference on
Biomedical Engineering and Informatics (BMEI), 2011.
[65] D. J. Louwerse, A. K. Smilde, and H. A. Kiers, “Cross-validation on
multiway component models,” Journal of Chemometrics, vol. 13, no. 6,
pp. 491–510, 1999.
[66] R. Payam, T. Lei, and L. Huan, “On comparison of feature selection
algorithms,” In AAAI-07 Workshop on Evaluation Methods in Machine
Learning II.
[67] U. M. Braga-Neto and E. R. Dougherty, “Is cross-validation valid for
small-sample microarray classification?” Bioinformatics, vol. 20, no. 3,
pp. 374–380, 2004.
[68] T. Hastie, R. Tibshirani, and J. Friedman, The Elements of Statistical
Learning. Springer, New York, NY, 2008.
[69] J.-H. Kim, “Estimating classification error rate: Repeated
cross-validation, repeated hold-out and bootstrap,” Computational
Statistics and Data Analysis, vol. 33, no. 11, pp. 3735–3745, 2009.
[70] The weizmann facebase. [Online]. Available:
http://www.wisdom.weizmann.ac.il/~vision/FaceBase/
[71] A. Georghiades, P. Belhumeur, and D. Kriegman, “From few to many:
Illumination cone models for face recognition under variable lighting and
pose,” IEEE Trans. Pattern Anal. Mach. Intelligence, vol. 23, no. 6, pp.
643–660, 2001.
top related