UNIVERSIDADE FEDERAL DO CEARÁ
DEPAR TAMENTO 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
UNIVERSIDADE FEDERAL DO CEARÁ
DEPAR TAMENTO 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.
Resumo
N
esta 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-nproporciona a criação de folds extraindo subtensores no mododesejado, caracterizando um método estratificado e susceptível a repetições da validação cruzada com diferentes particionamentos.
Abstract
I
n this dissertation, the face recognition problem is investigated fromthe 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-ncross-validation provides folds as subtensors extracted of the desired mode, featuring a stratified method and susceptible to repetition of cross-validation with different partitioning.
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.
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
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
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 8rotações. Fonte própria. . . . 30
5.1 O tensor total é particionado no modo-n para formar osfolds. . . 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,
1expressã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ão15, 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ão15, considerando cenários com ruído.. . . 49
6.6 Tempo médio de cada validação cruzada em 8500 repetições do
10-fold VC no modopos-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 modopos-exp de dimensão15. . . 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.10 Resultados da taxa de erro para 1000 repetições do 5-fold VC no modoilum-exp de dimensão9, sem ruído. . . 53
6.11 Resultados da taxa de erro para 100 repetições do 5-fold VC no modoilum-exp de dimensão9, considerando cenários com ruído. 53
6.12 Resultados 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.13 Resultados da taxa de erro para 100 repetições do 10-fold VC no
modo iluminação de dimensão15para a base Extended Yale Face
Image, considerando cenários com ruído. . . 55
6.14 Resultados da taxa de erro para 100 repetições do 5-fold VC no
modo iluminação de dimensão15para a base Extended Yale Face
Image, considerando cenários com ruído. . . 55
Lista de Tabelas
6.1 Número de partições para 5-fold VC estratificado comn amostras 45
6.2 Tempo total em segundos da HOSVD nos modelos TenWav e TensorFaces . . . 51
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
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
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 xe y x◦y Produto externo entre xe y C Conjunto dos valores complexos
CI1 Vetor de dimensãoI com valores complexos CI1×I2 Matriz de dimensãoI
1×I2 com valores complexos
CI1×I2×···×IN Tensor de dimensão I
1×I2× · · · ×IN com valores complexos A∗ Conjugado de A
A⊤ Transposto de A
AH Conjugado transposto deA
A† Pseudo-inversa de Moore-Penrose de A
k·kF Norma de Frobenius da Matriz ou Tensor
IN Matriz identidade de dimensãoN xi1,i2 (i1, i2)-ésimo elemento deX ∈CI1×I2
xi1,i2, . . . , iN (i1, i2, . . . , iN)-ésimo elemento de X ∈CI1×I2 × · · · ×IN Xi1·(X·i2) i1-ésima linha (i2-ésima coluna) de X ∈C
I1×I2
×n Produto modo-n
[X](n) Matriciação modo-n de X
A⊗B Produto de Kronecker entre as matrizes Ae 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 vetorx
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.
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:
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 softwareM AT LABR. 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
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
Capítulo
2
Álgebra Multilinear
2.1 Conceitos Importantes de Álgebra Linear
Nessa dissertaçãoFn denotará o espaçon-dimensional sobre o corpoF=R ou C.
Definição 1 (Produto Externo) Definimos o produto externo de dois vetores u= [u1, u2, . . . , um]⊤ ∈Fm ev = [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 parai= 1,2, . . . , mej = 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:
2.1. Conceitos Importantes de Álgebra Linear 6
A⊗B=
a11B a12B . . . a1nB
a21B a22B . . . a2nB
· · · . .. · · ·
am1B am2B . . . amnB , (2.3)
o termoaijB 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 matrizA∈Fm×n denotado porr(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 considerarU e V como subespaços deW, o que nos leva ao seguinte:
Teorema 1 SejaU e V espaços vetoriais. A dimensão da soma direta deU eV
é a soma de suas dimensões.
Prova 1 A prova pode ser encontrada na pág. 30 de [11].
2.2. Álgebra Multilinear 7
U2 são matrizes ortogonais e S é uma matriz diagonal de valores singulares S =diag(σ21, σ22, . . . , σR2). Assim,Apode ser escrita como,
A=U1SU2⊤ (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 matrizA por outra Aˆ de rank menor.
Teorema 3 (Teorema de Eckart-Young) Seja A ∈ Rm×n com rank r(A) = R
≤
p= min{m, n}, e seja
A=U SV⊤ = R X
i=1
σiuiv⊤i (2.7)
sua decomposição em valores singulares. Defina,
Ak =UkSkVk⊤ = k X
i=1
σiuiv⊤i (2.8)
entãoAˆ=Ak é a aproximação ótima deAcom função custo
min r( ˆA)=kk
A−AˆkF =kA−AkkF (2.9)
Em que kAkF = qP
ija2ij é 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
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 ondex∈U ey∈ V.
Como exemplo, seja o espaço vetorial das matrizes A ∈ Fm×n e B
∈ Fp×q, respectivamente. Então o conjunto de todas asCLdas matrizes do tipoA⊗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 isomorfismoL [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 todoui,v ∈Ui, i= 1, . . . , N e para todoα∈Ftemos
ψ(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 sobreU1×U2×. . .×UN, definida por
(u1◦u2 ◦...◦uN)(x1,x2, . . . ,xN) =hu1,x1i1hu2,x2i2. . .huN,xNiN (2.11) ondehui,xiii é o produto interno de ui com um vetor arbitrárioxi ∈Ui.
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 índicesi,j ek. Incorporado ao conceito
de tensor temos a seguinte definição:
Definição 11 Seja A de ordem N, um subtensor B = Ai
n=α 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,unfoldingou 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 =
2.2. Álgebra Multilinear 10
Figura 2.2: Exemplos de fibras (linhas, colunas e tubos) e fatias de um tensor de ordem 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×Kem queJ = Y
n∈R
In e K = Y
n∈C
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 elementor1 = n e C = {c1,c2, . . . ,cn−1}, então as fibras do modo-n são as colunas deA(R×C) (veja Figura2.3). A forma matriciadaA(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 matrizB ∈CJn×In, denotado por C =A ×
n B é definido como:
[A ×n B]i1i2...jn...i
N = In X
in=1
[A]i1i2...in...i
N[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 SVDpara tensores de ordem superior [6].
Revisitando a SVD
Formulemos a SVD na forma de produto modo-n, a fim de facilitar o
entendimento daHOSVD. Aqui tomaremos F=C, pois é o caso mais geral. Teorema 4 (SVD) Qualquer matrizA∈CI1×I2 pode ser escrita como o produto
A=U1SV2H =S×1U1×2 U2 (2.17) em que
i. U1 = (u(1)1 ,u (1)
2 , . . . ,u (1)
2.2. Álgebra Multilinear 12
ii. U2 = (u(2)1 ,u(2)2 , . . . ,u(2)I2 )(=VH
2 )é uma matriz unitária.
iii. S ∈CI1×I2 é uma matriz com as seguintes propriedades:
1. pseudo-diagonalidade
S = diagσ1, σ2, . . . , σmin{I1,I2}
2. ordenação
σ1 ≥σ2 ≥. . .≥σmin{I1,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 daSVD que ortogonalizaN espaços vetoriaisV1, 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çosVi. 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 Si
n=α obtidos fixando o índice n emα possui as seguintes propriedades:
1. ortogonalidade: dois subtensores Sin=α e Sin=β são ortogonais para todon, αeβ tal que α6=β:
hSin=α,Sin=βi= 0quandoα 6=β
2. ordenação
kSin=1k ≥ kSin=2k ≥ . . . ≥ kSin=Ink
para todos os possíveis valores den.
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
basesUi. A matrizUi é a base do espaço coluna deA(i) [6,28]. O tensor núcleo
Z e as matrizes {Ui}N
i=1 podem ser calculadas de acordo com o Algoritmo2.1. Se considerarmos uma partição A = {a1,a2, . . . ,aP} e B = {b1,b2, . . . ,bQ} do conjuntoN então podemos definir aHOSVDreduzida de A restrita aos modos
de A, ver Algoritmo 2.2:
A =T ×a1 Ua1 ×a2 Ua2 . . . ×aP UaP (2.20) em que
T =Z ×b1 Ub1 ×b2 Ub2 . . . ×bQ UbQ (2.21)
Algoritmo 2.1 Higher Order Singular Value Decomposition 1: procedureHOSVD(A)
2: N ← ordem deD
3: for i= 1,2, . . . , N do
4: Ui ← autovetores a esquerda de A(i) 5: end for
6: Z ← A ×1 UT1 ×2 UT2 . . . ×N UTN
7: returnZ,{Ui}Ni=1 ⊲ Tensor núcleo e matrizes Ui. 8: end procedure
Algoritmo 2.2 HOSVD reduzida 1: procedureREDUCEDHOSVD(A,A)
2: for i∈A do
3: Ui ← autovetores a esquerda de A(i) 4: end for
5: T ← A ×1 UT1 ×2 UT2 . . . ×P UTP 6: returnT,{Ui}Pi=1
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
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 existemCgrupos ou classes, denotadoω1,ω2, . . . ,ωC e associada a cada padrão xexiste uma variável categóricaz que denota a associação de classe ou grupo;
isto é, sez =ientã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
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 imagensm×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 depfaces 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?
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çãooff-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
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 = {xi}mi=1 um conjunto de imagens faciais vetorizadas xi ∈ Rn de vários indivíduos, que é representado ou organizado em forma matricialX
X = [x1x2 . . . xm]∈Rn×m, (3.1)
em quen é 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 amostralx¯ e a matriz X é ¯
X = [(x1−x) (x¯ 2 −x)¯ . . . (xm−x)]¯ (3.2a) = [ ¯x1x2¯ . . . xm]¯ (3.2b) em quex¯ = m1 Pmi=1xi.
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 ortogonaisvique 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ânciaC,
C = 1
m
m X
n=1 ¯ xix¯⊤i =
1
mX¯X¯
⊤. (3.3)
Sem perda de generalidade, podemos ignorar o fator 1
m, resultando em
C = ¯XX¯⊤. (3.4)
Comoné a dimensão do espaço das imagens,n×ngeralmente é 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 associadovi temos
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 matrizC de alta dimensão através da projeção dos autovetores da matrizD 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 comk 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.
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 ordemN = 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 | {z }
modo 1
× posição
| {z }
modo 2
× iluminação
| {z }
modo 3
× expressão
| {z }
modo 4
× pixels
| {z }
3.2. Reconhecimento Facial baseado em subespaços lineares 21
Figura 3.2: Modelo tensorial de ordem4, 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
|{z} U1
×2 Uv |{z}
U2
×3 Ui |{z}
U3
×4 Ue |{z}
U4
×5 Up |{z}
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 tensorD.
É 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 queT =Z ×5 Up é denominado otensor núcleo aumentado [9].
3.2. Reconhecimento Facial baseado em subespaços lineares 22
específica. De maneira mais geral, uma amostra específica de um indivíduoi1 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 ×1u⊤pe,i1 ×2u ⊤
v,i2 ×3u ⊤ i,i3 ×4u
⊤
e,i4, (3.11) em queu⊤n,j é a linha j da matriz fatorUn.
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 ×1u⊤pe,i1 ×2 Uv×3Ui×4Ue.
Existem outras informações desejadas que podem ser recuperadas.
◮ imagens na expressãoi4:
D(:,:,:, i4) =T ×1Upe×2Uv×3Ui×4u⊤e,i4;
◮ imagens na condição de iluminaçãoi3:
D(:,:, i3,:) =T ×1Upe×2Uv×3u⊤i,i3 ×4Ue;
◮ imagens na posição faciali2:
D(:, i2,:,:) =T ×1Upe×2u⊤v,i2 ×3Ui×4Ue;
Na equação (3.11), fomos capazes de recuperar uma amostra específica de um indivíduoi1. O vetor linha Upe,i1 sempre será usado quando for necessário recuperar qualquer imagem facial do indivíduoi1. 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 deZ. Note que:
3.2. Reconhecimento Facial baseado em subespaços lineares 23
em queD(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çãoi3 e expressão i4, ondei1 = 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 Upe⊤, e B(pe)(i2, i3, i4) é uma fatia de B, de dimensõesNpe×Np, obtido pela fixação dos índicesi2, i3, i4.
Dado uma imagem de teste dt utilizaremos as basesB(pe)⊤ (i2, i3, i4) no modo pessoa para projetardt 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 min {i1,i2,i3,i4}k
ˆ
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:
4.1. Wavelets 25
◮ Condição de admissibilidade [43]:
Cψ = Z ∞
−∞
|ψˆ(ω)|
ω dω <∞ (4.1)
em queψˆé a transformada de Fourier deψ.
◮ A funçãoψ deve ter energia unitária [44], isto é, Z ∞
−∞|
ψ(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]
Z ∞
−∞
ψ(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 fators e transladando-a por um fator u:
ψu,s(t) = √1
sψ( t−u
s ) (4.4)
As funções ψu,s também são chamadas de átomos [44], esses átomos são funções normalizadas, satisfazendokψu,sk= 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
W f(u, s) =hf, ψu,si= Z ∞
−∞
f(t)√1
sψ
∗(t−u
s )dt (4.5)
Proposição 1 A transformada wavelet W f(u, s) = hf, ψu,si de f ∈ L2(R) é equivalente a um filtro passa banda.
Prova 4 A prova pode ser encontrada na página 79de [44].
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
−α2x2cos(2πf
xx), (4.6)
ψI(x) =
α
√πe−α2x2sin(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
−α2x2cos(2πf
xx) +j
α
√πe−α2x2sin(2πfxx) (4.8b) = √α
πe
−α2x2[cos(2πf
xx) +jsin(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
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) +jsin(2πfxx+ 2πfyy)) (4.18b) = αβ
π e
−(α2x2+β2y2)
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ênciaf = (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ênciafu mantendo as razõesξ =
fu
α e κ = fu
β constantes. Mantemos a
notaçãofx, fy para evitar abuso no uso dos índices, ficando claro pelo contexto que essas componentes de frequências são referentes à frequênciafu = (fx, fy), ou seja,fx =fucosθ efy =fusinθ ondeθ é o ângulo entre os eixosx′ ex. Assim, substituindo essa restrição na Equação (4.18) temos
ψ(x, y) = f 2 u
πξκe
−
fu2 ξ2x′t2+
fu2 κ2y′t2
ej2πfu(xcosθ+ysinθ). (4.19) Observe que as coordenadas x e y na segunda exponencial complexa são
transformadas para as coordenadasx′ ey′ quando rotacionamos a onda plana
por θ. Essa mesma transformação deve ser feita na gaussiana a fim de
4.3. Wavelets de Gabor imersas em um Modelo Tensorial 29
x′ e y′ podem ser representadas (ver Figura 4.1) em termos dex e y como:
x′ = (xcosθ, ysinθ), (4.20a) y′ = (−xsinθ, ycosθ). (4.20b)
Pelo teorema de Pitágoras,x′ t
2 e y′ t
2 na Equação (4.19) torna-se:
x′t2 = (xcosθ)2+ (ysinθ)2, (4.21a) yt′2 = (−xsinθ)2+ (ycosθ)2. (4.21b)
Como fu2
ξ2 =
fu2
κ2 na Equação (4.19), pois estamos mantendo a forma da gaussiana constante nas múltiplas escalas. Rotacionado a gaussiana por θ
implica
−
fu2 ξ2x
′ t 2 +f 2 u
κ2y ′ t
2 =−
fu2
ξ2((xcosθ)
2+ (ysinθ)2) + fu2
κ2((−xsinθ)
2+ (ycosθ)2) (4.22a) =− f2 u
ξ2((xcosθ)
2+ (ysinθ)2) + fu2
ξ2(2xycosθsinθ)−
−f
2 u
κ2(2xycosθsinθ) +
fu2
κ2((−xsinθ)
2+ (ycosθ)2)
(4.22b)
=−
fu2
ξ2(xcosθ+ysinθ) 2 +fu2
κ2(−xsinθ+ycosθ) 2
(4.22c)
Assim, chegamos à definição comumente usada [53], em que as wavelets de Gabor são filtros autossimilares:
ψ(x, y) = f 2 u πξκe − f2 u
ξ2(xcosθ+ysinθ) 2+f
2 u
κ2(−xsinθ+ycosθ) 2
ej2πfu(xcosθ+ysinθ), (4.23)
ou, de uma forma mais compacta [53–56]:
ψ(x, y) = f 2 u πξκe −
fu2 ξ2λ21+
fu2 κ2λ22
ej2πfuλ1. (4.24a)
λ1 =xcosθ+ysinθ. (4.24b)
λ2 =−xsinθ+ycosθ. (4.24c)
4.3 Wavelets de Gabor imersas em um Modelo Tensorial
4.3. Wavelets de Gabor imersas em um Modelo Tensorial 30
Figura 4.2: Wavelets de Gabor com5escalas e8rotaçõ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 Figura4.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 imagemI com a waveletψu,v é definida como
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 imagemI(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)}=F{I(x, y)}F{ψu,v(x, y)}, (4.27)
implicando em
ϕu,v(x, y) = F−1{F{I(x, y)}F{ψu,v(x, y)}} (4.28) em queFe 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, assimfmax 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= (g0,0⊤ g0,1⊤ . . . g4,7⊤ )⊤. (4.31)
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 vetorg 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 tensorG realizaremos aHOSVD 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 aHOSVD na Equação (4.32) para sua forma reduzida:
G =V ×1 Upe ×2 Uv ×3 Ui ×4 Ue (4.33)
em queV =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
4.3. Wavelets de Gabor imersas em um Modelo Tensorial 33
Algoritmo 4.1 Classificação com o TenWav
1: procedureTENWAV(Imgs,gtest) ⊲Conjunto de imagens.
2: for I ∈Imgs do
3: 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 for
7: Construa G(5) com todos gI
8: RemodelarG(5) para um tensor G 9: A← {5}
10: V,Upe,Up,Ui,Ue ←reducedHOSVD(G,A) 11: W ← V ×2 Up ×3 Ui ×4 Ue
12: gˆpe(i2, i3, i4)←[W⊤(pe)(i2, i3, i4)]†gtest
13: i∗1 ←arg min{i1,i2,i3,i4} kgˆpe(i2, i3, i4)−g(i1)k2 14: returni∗
1 15: 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 min
i1,i2,i3,i4 kgpe(ˆ i2, i3, i4)−g(i1)k
2 (4.36)
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)}n
i=1 um conjunto de dados, um dataset, em que X = {xi}n
i=1 são amostras aleatórias de certos padrões rotulados Y = {yi}n
i=1 de um conjunto finito de classes, ou seja, os rótulos tomam valores de Ω = {ωi}c
i=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
Siem queSi∩Sj =∅para todoi6=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 classey de uma dada parteSi é definida como em [62],
δ[y,η(S\Si,x)] = (
1 y6=η(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 X
i=1 X
(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