• Nenhum resultado encontrado

Captura de movimento facial em tempo real para realidade aumentada

N/A
N/A
Protected

Academic year: 2021

Share "Captura de movimento facial em tempo real para realidade aumentada"

Copied!
111
0
0

Texto

(1)

Captura de Movimento Facial em Tempo Real para Realidade Aumentada

Universidade Federal de Pernambuco posgraduacao@cin.ufpe.br http://cin.ufpe.br/~posgraduacao

Recife 2019

(2)

Captura de Movimento Facial em Tempo Real para Realidade Aumentada

Dissertação apresentada ao Programa de Pós-Graduação em Ciência da Computação do Centro de Informática da Universidade Federal de Per-nambuco como requisito parcial para obtenção do grau de Mestre em Ciência da Computação.

Área de Concentração: Mídia e Interação Orientador: Veronica Teichrieb Coorientador: João Paulo Silva do Monte Lima

Recife 2019

(3)

UFPE-MEI 2019-143 CDD (23. ed.)

006.6

L935c Lucena, João Otávio Brandão Antunes de.

Captura de movimento facial em tempo real para realidade aumentada / João Otávio Brandão Antunes de Lucena. – 2019.

110 f.: il., fig., tab. Orientador: Veronica Teichrieb.

Dissertação (Mestrado) – Universidade Federal de Pernambuco. CIn, Ciência da Computação, Recife, 2019.

Inclui referências e apêndice.

1. Mídia. 2. Imagem. 3. Modelagem facial 4. Rastreamento facial.. I. Teichrieb, Veronica (orientador). II. Título.

(4)

à Pós-Graduação em Ciência da Computação do Centro de Informática da Universidade Federal de Pernambuco, sob o título “Captura de Movimento Facial em Tempo Real para Realidade Aumentada” Orientador: Veronica Teichrieb e aprovada pela Banca Examinadora formada pelos professores:

Prof. Silvio de Barros Melo Centro de Informática/ UFPE

Prof. Valmir Macário Filho

Departamento de Computação / UFRPE

Prof. Coorientador: João Paulo Silva do Monte Lima Departamento de Computação / UFRPE

Visto e permitida a impressão. Recife, 19 de Agosto de 2019.

Prof. Ricardo B C Prudêncio

Coordenador da Pós-Graduação em Ciência da Computação do Centro de Informática da Universidade Federal de Pernambuco.

(5)
(6)

Primeiramente, agradeço a minha mãe, Ligya, por ter me proporcionado uma vida digna, confortável e repleta de ensinamentos, sendo a principal responsável por me fazer chegar até este momento. Ela sempre foi meu porto seguro e minha fortaleza e, sem ela, eu não teria forças para enfrentar as batalhas diárias que a vida nos submete.

Em segundo lugar, agradeço a minha esposa, Juliana. Ela foi fundamental nos mo-mentos mais difíceis desta jornada, me fornecendo amor, carinho, companheirismo e cum-plicidade quando eu mais precisei.

Agradeço também a minha avó, Laurenita, a quem considero minha segunda mãe. Ela foi essencial no meu crescimento e desenvolvimento educacional no decorrer da vida. Na ausência de minha mãe, ela me proveu tudo que precisei para ter uma vida digna.

Ao meu tio, Luciano, também deixo meus sinceros agradecimentos, por sempre ter sido como um pai para mim, me apoiando e me fazendo sorrir nos momentos mais complicados. Por fim, agradeço à instituição Universidade Federal de Pernambuco, à toda equipe do Voxar e principalmente aos professores João Paulo e Veronica, pela ajuda e incentivo constante, pela paciência, confiança e acima de tudo pelos ensinamentos que me fizeram evoluir como homem e adquirir sabedoria e conhecimento os quais levarei para o resto da vida.

(7)

A Realidade Aumentada permite a adição de informações virtuais no mundo real por meio de sensores (como câmeras de vídeo). Uma possível maneira de se realizar o sensoriamento do mundo é através do reconhecimento de marcadores (como códigos 2D). Em contrapartida, algoritmos de detecção e rastreamento de características naturais – em tempo real – tornaram-se, há algum tempo, técnicas amplamente utilizadas e eficientes. O rastreamento de faces é um exemplo. Rastrear pontos de interesse da face, a pose da cabeça e expressões faciais permite o desenvolvimento de aplicações robustas em áreas como animação, jogos, entretenimento, vestuário, cosméticos, entre outras, sem a necessi-dade de rastrear qualquer elemento artificial. Nesse contexto, as abordagens mais recentes buscam realizar detecção e rastreamento facial 3D por meio de técnicas de aprendizagem de máquina, como redes neurais convolucionais. Tais técnicas são combinadas com algo-ritmos de reconstrução facial baseados em modelos ou malhas 3D com o objetivo de se obter uma modelagem simultânea da cabeça e captura de expressões faciais, em tempo real, possibilitando o aumento de faces. Contudo, algoritmos existentes na literatura ainda apresentam algumas falhas em certos cenários com movimento complexo e oclusões, devido a problemas em algumas etapas do processo, tanto no rastreamento quanto na recons-trução facial. Sendo assim, esta dissertação apresenta uma avaliação de técnicas recentes de rastreamento e modelagem facial 3D com a finalidade de propor melhorias e refina-mentos. Para tal, foram desenvolvidas algumas abordagens utilizando imagens RGB e reconhecimento facial e, por fim, foi adotada uma técnica baseada em imagens de câme-ras RGB-D e malha 3D genérica, desprovida de treinamento e/ou pré escaneamento da face. Posteriormente, foram desenvolvidas melhorias nas etapas de rastreamento e filtra-gem dos detalhes faciais, visando incrementar a qualidade nas etapas de cálculo da pose e modelagem facial, sem afetar significativamente o tempo de execução do algoritmo. Por fim, foram criados vários cenários para avaliação dos resultados, com movimentos de ro-tação vertical, inclinação lateral, extensão e flexão da cabeça, abruptos e não abruptos. Nestes cenários, os métodos propostos resultaram em claras melhorias na qualidade do alinhamento da malha 3D da face com as imagens de entrada, na captura das expressões faciais e na eliminação de deformações indesejadas no modelo das faces reconstruídos. A abordagem proposta também se mostrou mais robusta a falhas de rastreamento da face.

Palavras-chaves: Realidade Aumentada. Captura de movimento facial. Rastreamento facial. Modelagem facial.

(8)

Augmented reality allows the addition of virtual information to the real world through sensors (such as video cameras). One possible way of sensing the world is through the recognition of markers (such as 2D codes). In contrast, natural feature detection and tracking algorithms – in real-time – have long become widely applied and efficient tech-niques. Face tracking is an example. Tracking points of interest on the face, head pose and facial expressions allows the development of robust applications in areas such as anima-tion, games, entertainment, clothing, cosmetics, etc., without need to track any artificial element. In this context, most recent approaches perform 3D facial detection and track-ing through machine learntrack-ing techniques, such as convolutional neural networks. These techniques are combined with facial reconstruction algorithms based on 3D models, or meshes, in order to obtain simultaneous head modeling and real-time facial motion cap-ture, allowing face augmentation. However, existing approaches in the literature still fail in certain scenarios with complex movement and occlusions, due to problems in some stages of the process, in both facial tracking and reconstruction. Thus, this work aims to perform an evaluation of recent 3D facial tracking and modeling techniques in order to propose improvements and refinements. For such purpose, some approaches were developed using RGB images and facial recognition, and finally, a technique based on RGB-D cameras and generic 3D mesh, without need of training and/or pre-scanning, was adopted. After, improvements were developed in the tracking and facial detail filtering stages, aiming to increase the quality in the pose calculation and facial modeling steps, without significantly affecting the algorithm execution time. Finally, several scenarios were created to evaluate the results, with movements such as vertical rotation, lateral inclination, extension and flexion of the head, abrupt and non-abrupt. In these scenarios, the proposed methods resulted in clear improvements in the 2D-3D face alignment, in the facial motion capture and in the elimination of undesirable deformations on reconstructed face models. The proposed approach also proved to be more robust to face tracking failures.

(9)

Figura 1 – Óculos virtual 3D sobreposto à face do usuário pela aplicação XZIMG (LIVET; YANG, c2019). . . 19

Figura 2 – Maquiagem e acessórios sobrepostos à face do usuário pelo aplicativo YouCam Makeup (PERFECT CORP, c2019). . . 20

Figura 3 – Animação 3D sobreposta à face do usuário pelo aplicativo Snapchat (SNAP INC., c2019). . . 20

Figura 4 – Projeções virtuais na face do usuário geradas usando a abordagem Fa-ceForge. . . 21 Figura 5 – Ilustração de uma região retangular, ou bounding box, em vermelho,

localizada pela tarefa de detecção facial. . . 24 Figura 6 – Ilustração de imagens com 68 pontos de referência faciais localizados. . 25 Figura 7 – Movimentos de orientação da cabeça: rotação vertical (yaw),

flexão/ex-tensão (pitch) e inclinação lateral (roll). . . 27 Figura 8 – Ilustração de rastreamento facial usando o OpenFace (BALTRUSAITIS

et al., 2018). F representa o índice do respectivo quadro do vídeo. . . . 27

Figura 9 – Ilustração de exemplos de reconstrução facial 3D. . . 29 Figura 10 – Características selecionadas pelo AdaBoost. As duas características são

exibidas na linha acima e sobrepostas numa imagem de treino típica na linha abaixo. A primeira característica mede a diferença de intensidade entre as regiões dos olhos e uma região transversal das bochechas. A segunda característica compara a intensidade nas regiões dos olhos com a intensidade através da ponte do nariz. . . 32 Figura 11 – Resultados qualitativos do detector de Cha e Zhengyou na base de

dados FDDB. . . 34 Figura 12 – Resultados gerados pelo SDM para a detecção de 64 pontos de

referên-cia da face em imagens da base de dados Youtube Celebrity. . . 36 Figura 13 – Resultados gerados pelo CE-CLM para a detecção de 84 pontos de

referência da face em imagens da base de dados Menpo3D. . . 37 Figura 14 – Resultados gerados pelo OpenFace para o rastreamento de pontos de

referência da face, estimativa de direção do olhar e estimativa de pose. 39 Figura 15 – Comparação entre os resultados gerados pela técnica de Tran et al.

com outros métodos: a) um modelo genérico, b) regressão da forma e textura usando a perda 𝑙2 regular e c) método de Tran et al. usando

(10)

mais à esquerda foram obtidos usando um Kinect para XBOX 360, equanto que os quarto modelos mais à direita foram obtidos usando um Kinect V2. . . 43 Figura 17 – Resultados gerados pelo FaceNet para o reconhecimento facial em

con-dições de variação de iluminação e pose. A figura mostra as distâncias calculadas entre os pares de faces, tanto da mesma pessoa como de pessoas distintas. Uma distância de valor 0.0 significa que as faces são idênticas, enquanto que o valor 4.0 indica faces distintas. Usando um limiar de valor 1.1 a classificação dos pares estaria correta. . . 45 Figura 18 – Esquema da arquitetura da rede VIPLFaceNet. . . 48 Figura 19 – Etapas de reconhecimento facial de ambos SeetaFace SDK e FaceNet. . 49 Figura 20 – Ilustração de casos com detecção de faces incorretas (regiões

verme-lhas) e as mesmas imagens com a detecção das faces corretas usando a distância para o centro da imagem (regiões azuis). . . 50 Figura 21 – Esquema da arquitetura da rede Inception-ResNet-v1 . . . 52 Figura 22 – Curva ROC baseada na pontuação discreta. . . 53 Figura 23 – Malha 3D gerada por uma câmera Intel RealSense F200. À esquerda

tem-se um modelo facial renderizado usando OpenSceneGraph e MA-TLAB. À direita o modelo exibido foi renderizado usando o Paint3D. . 54 Figura 24 – Características faciais detectadas pelos descritores do OpenCV: a) AKAZE,

b) BRISK, c) KAZE e d)ORB. Em cada par de imagens, a figura à esquerda representa a face 2D de entrada. As imagens à direita repre-sentam a projeção do modelo 3D da face. . . 55 Figura 25 – Casamento de características para cada descritor usando BFM e OpenCV:

a) AKAZE, b) BRISK e c) ORB. . . 56 Figura 26 – Casamento de características para cada descritor usando FLANN e

OpenCV: a) AKAZE, b) BRISK e c) ORB. . . 56 Figura 27 – Refinamento do casamento de características para cada descritor usando

BFM e OpenCV: a) AKAZE, b) BRISK e c) ORB. . . 57 Figura 28 – Refinamento do casamento de características para cada descritor usando

FLANN e OpenCV: a) AKAZE, b) BRISK e c) ORB. . . 57 Figura 29 – Projeção da orientação de alguns pontos característicos da face usando

o PnP. As duas imagens da esquerda mostram os erros de estimativa da pose usando casamento de descritores contendo outliers. Já nas imagens a direita, são exibidos os ground truths em relação ao cálculo das poses dos pontos 3D projetados. . . 59 Figura 30 – Visão global da arquitetura da CNN usada pelo 3DDFA. . . 60

(11)

64×64 no modelo facial 3D. b) As âncoras de características V(p)𝑎𝑛𝑐ℎ𝑜𝑟

projetadas (o azul e vermelhos indicam âncoras visíveis e invisíveis, respectivamente). c) O mapa de características concatenado pelos

frag-mentos recortados em V(p)𝑎𝑛𝑐ℎ𝑜𝑟. d) Pose Adaptive Feature (PAF). . . 61

Figura 32 – Componentes do 3DDFA: a) Código de Coordenadas Normalizado (NCC) e b) Código de Coordenadas Normalizado Projetado (PNCC). . . 61

Figura 33 – Predição dos 68 pontos de referência pelo 3DDFA. As malhas 3D das faces foram geradas usando MATLAB, a partir das informações provi-das pela saída do modelo de classificação. . . 63

Figura 34 – Ilustração da sobreposição da malha facial 3D à face 2D usando como base o algoritmo 3DDFA. . . 63

Figura 35 – Imagens de uma face específica utilizadas como base para treinamento do 3DDFA. . . 65

Figura 36 – Aumento da base de dados de faces pelo HPEN. . . 65

Figura 37 – Resultados dos modelos pré-treinados usando o 3DDFA e Configuração 9 da Tabela 4. Nos topos de (a) e (b) são ilustrados alguns resultados do alinhamento usando a abordagem proposta baseada em faces espe-cíficas. Abaixo de cada ilustração, encontram-se as mesmas imagens com o alinhamento aplicado usando o modelo treinado com algumas imagens da base de dados da técnica original. . . 66

Figura 38 – As malhas de blendshape representam a forma da cabeça e expressões faciais, enquanto que a imagem de bump representa os mínimos detalhes do rosto. . . 67

Figura 39 – Metodologia do FaceCap. . . 68

Figura 40 – Etapa de fusão de dados do FaceCap. . . 70

Figura 41 – Ilustração da captura de movimento facial usando o FaceCap. . . 71

Figura 42 – Deformações indesejadas geradas pelo FaceCap nos blendshapes. Os círculos vermelhos destacam elementos estranhos nas regiões do olho direito das imagens. . . 71

Figura 43 – Falhas do FaceCap para detectar e gerar corretamente o contorno dos lábios. As duas comparações do topo exibem o desenho do contorno dos pontos faciais detectados pelo SDM. Já a última imagem comparativa exibe a imagem de bump com a textura. Nas imagens da coluna mais a direita, é possível ver o erro com maior precisão. . . 72

Figura 44 – Falhas apresentadas pelo FaceCap nos movimentos da cabeça: (a) ex-tensão, (b) rotação para direita, (c) flexão e (d) rotação para esquerda. 73 Figura 45 – Falhas apresentadas pelo FaceCap na reconstrução facial incluindo aces-sórios. . . 73

(12)

Figura 47 – Arquitetura do MTCNN. . . 75 Figura 48 – Algoritmo de busca do CLM. . . 76 Figura 49 – Integração de mapas de resposta de detectores locais a partir de

ima-gens de textura e profundidade. . . 76 Figura 50 – Estrutura do CLNF: (a) Exemplos de mapas de resposta de detectores

locais de quatro características (a cor vermelha representa a localiza-ção de maior probabilidade). (b) Ilustralocaliza-ção global do modelo de patch experts do CLNF. . . 77 Figura 51 – Visão global de uma CEN. . . 78 Figura 52 – Comparação entre os mapas de resposta do detector local CEN e o LNF. 78 Figura 53 – Comparação entre as técnicas de rastreamento facial do OpenFace 2.0.

O alinhamento computado pelo CE-CLM se mostra notavelmente mais preciso em cenários de poses oblíquas em relação ao CLNF e CLM. . . 79 Figura 54 – Pipeline proposto de reconstrução facial em tempo real. Os

retângu-los verdes representam os passos modificados no FaceCap. Da mesma forma, o retângulo amarelo representa a melhoria adicionada na filtra-gem da imafiltra-gem de bump. Para o estágio de detecção da face neutra foi aplicado o MTCNN. Para a detecção e rastreamento de pontos de refe-rência da face foi usado o CE-CLM. Os retângulos em azul representam as etapas originais do FaceCap. . . 80 Figura 55 – Pipeline da rede neural convolucional multitarefas do MTCNN formado

pelos estágio P-Net, R-Net e O-Net. . . 81 Figura 56 – Casamento dos pontos de referência faciais entre a imagem de entrada

RGB-D e a malha 3D de expressão neutra. Os pontos em verde do CE-CLM são descartados. . . 82 Figura 57 – Curvas de erro acumulativo dos erros de distâncias interoculares (IOD)

normalizadas na detecção de 49 pontos de referência facial na base de dados 300-W - Helen, LFPW e iBUG. . . 83 Figura 58 – Exemplo de uma imagem de bump (esquerda) e sua máscara (direita). . 84 Figura 59 – Movimentos da cabeça: a) flexão, b) extensão, c) rotação e d) inclinação

lateral. . . 86 Figura 60 – Os 28 modelos de blendshape com diferentes expressões faciais. . . 87 Figura 61 – Máscaras das imagens de bump. . . 87 Figura 62 – Resultados comparativos em relação a cenários com variação de poses.

O método proposto supera o FaceCap original, alcançando um melhor alinhamento e captura de movimentos faciais. . . 90

(13)

da face. O método proposto supera o FaceCap original, alcançando uma melhor resconstrução do contorno dos lábios. . . 91 Figura 64 – Resultados comparativos em relação a cenários de oclusão parcial. A

abordagem proposta supera o FaceCap original, alcançando melhores resultados na reconstrução da face quando o usuário usa acessórios. . . 92 Figura 65 – Resultados comparativos em relação a cenários de outliers no modelo

3D reconstruído. O método proposto supera o FaceCap original, remo-vendo deformações indesejadas, especialmente na região dos olhos. . . . 93 Figura 66 – Resultados comparativos em relação a perdas de rastreamento. O

mé-todo proposto usando CE-CLM supera o FaceCap original pela inclusão de uma etapa de recuperação de rastreamento em casos de falha. . . . 94

(14)

Tabela 1 – Resultado dos experimentos de reconhecimento facial usando o Seeta-Face SDK na base de dados LFW. . . 51 Tabela 2 – Resultado dos experimentos de reconhecimento facial usando o FaceNet

na base de dados LFW. . . 53 Tabela 3 – Comparação de custo computacional dos descritores avaliados. . . 55 Tabela 4 – Configurações dos treinamento realizados usando a CNN do 3DDFA

para geração de modelos baseados em treinamento de rostos específicos. 66 Tabela 5 – Erro de referência mediano de tamanho normalizado na base de dados

Menpo. O CE-CLM supera as outras abordagens para detecção de 49 pontos faciais em imagens de faces frontais e de perfis variados. . . 83 Tabela 6 – Erro mediano da distância interocular (IOD) normalizada para a

detec-ção de 49 pontos de referência facial na base de dados 300-W. Divisão: Comm.- Helen e LFPW, Diff.- iBUG. . . 83

(15)

2D Two Dimensions

3D Three Dimensions

3DDFA 3D Dense Face Alignment

3DMM Three Dimension Morphable Model

6-DoF Six Degree-of-Freedom

AAM Active Appearance Model

AR Augmented Reality

ASM Active Shape Model

BFM Brute-Force Matcher

BRISK Binary Robust Invariant Scalable Keypoints CCR Cascaded Continuous Regression

CCRF Continuous Conditional Random Fields

CE-CLM Convolutional Experts Constrained Local Model CEN Convolutional Experts Network

CFAN Coarse-to-Fine Auto-encoder Network CGM Constrained Generative Model

CLM Constrained Local Model

CLM-Z 3D Constrained Local Model CLNF Constrained Local Neural Field CNC Convolutional Normalizing Constrast CNF Conditional Neural Fields

CNHF Convolutional Network with Hashing Forest CNN Convolutional Neural Networks

CPU Central Processing Unit

DDFD Deep Dense Face Detector DPM Deformable Parts-based Model

DRRF Discriminative Random Regression Forest

(16)

GAVAM Generalised Adaptive View-based Appearance Model GN-DPM Gauss-Newton Deformable Part Model

GPU Graphics Processing Unit

HOG Histogram of Gradients

ICP Iterative Closest Point

IOD Interocular Distance

k-NN K-Nearest Neighbors

KPCA Kernel Principal Component Analysis

LAB Locally Assembled Binary

LBF Local Binary Feature

LBP Local Binary Pattern

LFW Labeled Faces in the Wild LMNN Large Margin Nearest Neighbor

LNF Local Neural Field

MTCNN Multi-task Cascaded Convolutional Neural Network

NCC Normalized Coordinate Code

NLS Non-linear Least Squares

NMS Non-Maximum Suppression

NU-RLMS Non-Uniform Regularized Landmark Mean-Shift ORB Oriented FAST and Rotated BRIEF

PAC Pose Adaptive Convolution

PAF Pose Adaptative Feature

PCA Principal Component Analysis PDM Point Distribution Model

PNCC Projected Normalized Coordinate Code PRN Position Map Regression Network

RA Realidade Aumentada

RAM Random Access Memory

RBM Restricted Boltzman Machines ReLU Rectified Linear Units

(17)

RGBA Red, Green, Blue, Alpha RGB-D Red, Green, Blue, Depth

RLMS Regularized Landmark Mean-Shift ROC Receiver Operating Characteristic

ROI Region of Interest

SAN Stacked Auto-encoder Networks

SDK Software Development Kit

SDM Supervised Descent Method

SGD Stochastic Gradient Descent

SSD Solid-State Drive

SVM Support Vector Machine

SVR Support Vector Regressor

TC-ASM Texture-Constrained Active Shape Model

(18)

1 INTRODUÇÃO . . . 19 1.1 OBJETIVOS . . . 22 1.1.1 Objetivo principal . . . 22 1.1.2 Objetivos específicos . . . 22 1.2 ESTRUTURA DO TRABALHO . . . 23 2 FUNDAMENTAÇÃO TEÓRICA . . . 24 2.1 DETECÇÃO DE FACES . . . 24 2.2 ALINHAMENTO DE FACES . . . 25 2.3 RASTREAMENTO DE FACES . . . 27 2.4 RECONSTRUÇÃO DE FACES . . . 28 3 REVISÃO DA LITERATURA . . . 31

3.1 TÉCNICAS DE DETECÇÃO DE FACES . . . 31

3.2 TÉCNICAS DE ALINHAMENTO DE FACES . . . 34

3.3 TÉCNICAS DE RASTREAMENTO DE FACES . . . 38

3.4 TÉCNICAS DE RECONSTRUÇÃO FACIAL . . . 39

3.5 TÉCNICAS DE RECONHECIMENTO DE FACES . . . 43

4 RASTREAMENTO FACIAL 3D PARA REALIDADE AUMENTADA 46 4.1 EXPERIMENTOS PRELIMINARES . . . 47

4.1.1 Reconhecimento Facial Utilizando VIPLFaceNet e FaceNet . . . 47

4.1.2 Rastreamento Facial Utilizando Descritores . . . 53

4.1.3 Rastreamento Facial Utilizando a Técnica 3DDFA . . . 59

4.2 CAPTURA DE MOVIMENTO FACIAL EM TEMPO REAL . . . 67

4.2.1 FaceCap . . . 67

4.2.2 OpenFace . . . 73

4.2.3 Métodos de Refinamento para o FaceCap . . . 79

4.2.3.1 Integração com o OpenFace . . . 79

4.2.3.2 Melhoria na Filtragem da Imagem de Bump . . . 83

4.3 IMPLEMENTAÇÃO . . . 84

4.3.1 Dispositivos e configuração . . . 84

4.3.2 Geração da base de dados para avaliação . . . 85

4.3.3 Modelos de entrada para o FaceCap. . . 86

4.3.4 Implementação dos métodos de refinamento do FaceCap . . . 87

(19)

4.4.1.1 Mudanças Grandes de Pose. . . 89

4.4.1.2 Alinhamento Frontal da Face . . . 89

4.4.1.3 Oclusões Parciais . . . 91

4.4.1.4 Outliers do Modelo 3D . . . 91

4.4.2 Robustez à Perda de Rastreamento . . . 92

4.4.3 Análise de custo computacional . . . 93

5 CONCLUSÕES . . . 95

5.1 CONTRIBUIÇÕES . . . 96

5.2 TRABALHOS FUTUROS . . . 97

REFERÊNCIAS . . . 98

APÊNDICE A – LISTA DE BIBLIOTECAS UTILIZADAS PARA DESENVOLVIMENTO . . . 110

(20)

1 INTRODUÇÃO

Define-se Realidade Aumentada ou RA (Augmented Reality - AR) como a inserção de elementos virtuais – em tempo real – no ambiente real, dando a impressão de que eles pareçam fazer parte do mesmo (AZUMA, 1997). Atualmente, pesquisas e aplicações de RA

utilizam-se massivamente de sensores, como câmeras de vídeo, para processar imagens do mundo real digitalmente e “aumentá-las”, pela adição de objetos virtuais modelados por um computador. Deste modo, aplicações de RA rastreiam o mundo real de forma a inserir corretamente tais objetos – chamados de registros – nos cenários do mundo real.

Uma maneira comumente adotada para realizar esta tarefa é detectando objetos es-pecíficos ou marcadores fiduciais planares, por meio de câmeras de vídeo (KATO; BIL-LINGHURST, 1999) (MARTÍN-GUTIÉRREZ et al., 2015) (YILMAZ, 2016). Contudo, muitas

aplicações de RA encontram limitações no uso desses marcadores, sobretudo em ambientes não controlados.

Uma solução seria o sensoriamento do mundo real por meio da detecção e rastreamento de objetos reais, usando características naturais da cena. Em alguns cenários de aplicação, sistemas de RA precisam sobrepor conteúdo virtual na face do usuário (ALMEIDA et al.,

2015). Para realizar este procedimento, tais aplicações necessitam detectar (FARFADE; SA-BERIAN; LI, 2015) (ZHANG et al., 2016) e rastrear (BALTRUSAITIS; ROBINSON; MORENCY,

2013) (ZADEH et al., 2017) faces em tempo real.

Um exemplo interessante de aplicação neste contexto é o XZIMG (LIVET; YANG,

c2019), em que a face do usuário é rastreada, em tempo real, permitindo a adição de elementos virtuais na mesma, como animações e acessórios (Figura 1).

Figura 1 – Óculos virtual 3D sobreposto à face do usuário pela aplicação XZIMG (LIVET; YANG, c2019).

Fonte: Elaborado pelo autor, 2016.

No âmbito de maquiagem e estética, o aplicativo YouCam Makeup (PERFECT CORP,

c2019) permite ao usuário inserir maquiagens e acessórios faciais personalizados por meio de câmeras de dispositivos móveis (Figura 2).

(21)

Figura 2 – Maquiagem e acessórios sobrepostos à face do usuário pelo aplicativo YouCam Makeup (PERFECT CORP, c2019).

Fonte: Adaptado de (PERFECT CORP, c2019).

Outra aplicação interessante e bem consolidada é o Snapchat (SNAP INC., c2019), o

qual provê ao usuário a possibilidade de criar animações faciais com objetos 3D e, assim como os exemplos citados previamente, em tempo real (Figura 3).

Figura 3 – Animação 3D sobreposta à face do usuário pelo aplicativo Snapchat (SNAP INC., c2019).

Fonte: https://pyntax.net/index.php/2016/01/27/how-to-add-emoji-filters-lenses-text-and-sketches-in-snapchat.

O FaceForge (SIEGL et al., 2017) também é capaz de inserir animações na face do

usuário, através de um sistema de multi-projeção não-rígido, funcionando em tempo real, com baixo custo computacional, por meio do uso de câmeras RGB-D (Figura 4).

(22)

Figura 4 – Projeções virtuais na face do usuário geradas usando a abordagem FaceForge.

Fonte: (SIEGL et al., 2017).

Para que seja possível alcançar resultados satisfatórios e robustos no aumento de faces, tais aplicações podem se utilizar de técnicas de rastreamento e reconstrução facial 3D capazes de detectar faces e seus pontos de referência, a pose da cabeça e expressões faciais, além de outros detalhes do rosto. Todavia, mesmo que muitas aplicações do contexto de aumento de faces estejam se consolidando, os algoritmos ainda apresentam falhas ao realizar suas tarefas em cenários mais complexos.

Por meio da utilização de métodos de Visão Computacional, como estimação de pose (MURPHY-CHUTORIAN; TRIVEDI, 2008) (FANELLI; GALL; GOOL, 2011), filtragem de

ima-gens (HE; SUN; TANG, 2010), casamento de características e transformações geométricas

(GARG et al., 2016), combinados à técnicas de aprendizagem de máquina para detecção

(KING, 2009) (SHI et al., 2018), alinhamento (CHANG et al., 2017), rastreamento ( BAL-TRUŠAITIS; ROBINSON; MORENCY, 2016) (BALTRUSAITIS et al., 2018) (ZHU et al., 2019) e

reconstrução facial (THOMAS; TANIGUCHI, 2016) (TRAN et al., 2018), é possível

implemen-tar e/ou incremenimplemen-tar os algoritmos existentes como forma de se obter melhor qualidade na inserção de elementos virtuais casados à face do usuário.

Para produzir este trabalho, primeiramente, foi realizada uma pesquisa de trabalhos existentes para a tarefa de reconhecimento facial para implementação de uma solução de rastreamento 3D para RA baseada num reconhecimento prévio de faces. Em seguida, foram desenvolvidos dois experimentos preliminares usando reconhecimento facial: o pri-meiro experimento foi construído usando técnicas de extração e descrição de características e modelos faciais 3D de faces específicas para realizar o casamento de características e, posteriormente, alinhar faces em tempo real; o segundo foi desenvolvido por meio de trei-namentos de uma rede neural de predição de pontos de interesse para geração de modelos pré-treinados de faces específicas. Após avaliações e validações dos experimentos houve a necessidade de encontrar outros algoritmos para o propósito de aumento de faces, visto que os experimentos prévios não geraram bons resultados. Sendo assim, foi realizada uma revisão de algoritmos do estado da arte nos contextos de detecção, alinhamento, ras-treamento e reconstrução facial, com o propósito de encontrar solução consolidadas que apresentassem problemas em algumas etapas do seu processo. Então, selecionou-se um

(23)

algoritmo de reconstrução facial 3D, em tempo real, baseado em sensores de profundi-dade. Posteriormente, foi feita uma validação e identificação de erros gerados pela técnica em alguns cenários, além de uma análise para identificar as etapas responsáveis por ge-rar os problemas localizados. Depois, foram desenvolvidas duas soluções para sanar os erros encontrados: a primeira consiste em integrar ao algoritmo original outras técnicas mais eficientes para as etapas de detecção e rastreamento facial 3D; e a última consiste em refinamentos na etapa de processamento da imagens do modelo 3D gerado. Por fim, as melhorias implementadas foram validadas em diversos cenários de testes e avaliadas através de comparações qualitativas da técnicas original com a solução proposta.

1.1 OBJETIVOS

Partindo do contexto descrito anteriormente, a definição do problema de pesquisa deste trabalho pode ser enumerado da seguinte forma: como melhorar a inserção de objetos virtuais 3D sobre a face do usuário em tempo real? Para resolver esse problema, este trabalho visa uma avaliação das recentes técnicas de rastreamento e modelagem facial 3D, em tempo real, com a finalidade de propôr melhorias e refinamentos, visando suprimir falhas em aplicações de aumento de faces para cenários inconstantes.

1.1.1 Objetivo principal

O principal objetivo desta dissertação é o desenvolvimento de técnicas para melhorar as etapas do processo de captura de movimento facial, especialmente as etapas de detecção, alinhamento e reconstrução facial, bem como avaliar as melhorias e limitações da solução proposta.

1.1.2 Objetivos específicos

A seguintes hipóteses são investigadas no restante da dissertação:

• H1: Métodos baseados em reconhecimento de faces específicas combinados com modelos faciais 3D podem ser usados para melhorar o rastreamento 3D. Pelos ex-perimentos demonstrados na Seção 4.1 esta hipótese é devidamente refutada; • H2: Abordagens de reconstrução facial baseadas em imagens RGB-D e

blendsha-pes podem apresentar resultados mais precisos na captura de expressões faciais e alinhamento 2D-3D pela implementação de melhorias nas etapas de detecção e ras-treamento das faces. A Seção 4.2 confirma tal hipótese;

• H3: Abordagens de reconstrução facial baseadas em imagens RGB-D e blendshapes podem apresentar resultados mais precisos na modelagem facial pelo refinamento nas etapas de processamento de imagens. Tal hipótese também é confirmada na Seção 4.2.

(24)

Como objetivos específicos temos:

• Selecionar e validar um algoritmo para rastreamento e reconstrução facial 3D, in-cluindo rastreamento de expressões faciais, a partir de uma revisão da literatura; • Avaliar as etapas da técnica escolhida, identificando possíveis pontos de melhoria e

limitações, por meio de diversos cenários e casos de teste;

• Desenvolver técnicas para atender os pontos de melhoria previamente identificados; • Realizar avaliação comparativa quanto a qualidade e desempenho das técnicas de-senvolvidas em relação a técnicas existentes, visando explicitar os resultados alcan-çados.

1.2 ESTRUTURA DO TRABALHO

O Capítulo 2 descreve os fundamentos conceituais acerca das etapas da captura de movimento facial, desde a detecção até o rastreamento em si, além de conceitos sobre mo-delagem e reconstrução facial 3D. São descritos os propósitos, tipos de técnicas, limitações e as relações entre os conceitos.

O Capítulo 3 disserta acerca dos trabalhos relacionados utilizados para o desenvol-vimento desta dissertação. São descritos os trabalhados do estado da arte nas áreas de detecção, alinhamento, rastreamento, reconstrução e reconhecimento facial, visando uma comparação entre os algoritmos. Foram selecionados trabalhos da literatura que dispõem de técnicas que utilizam tanto câmeras RGB como RGB-D, levando em conta também o desempenho do algoritmo e a utilização de recursos computacionais (CPU ou GPU).

O Capítulo 4 explana sobre o desenvolvimento dos métodos de refinamento propos-tos neste trabalho, baseado em três abordagens (THOMAS; TANIGUCHI, 2016) (ZHANG et al., 2016) (ZADEH et al., 2017), as quais resultaram em importantes melhorias nas

tare-fas de rastreamento e modelagem facial 3D, bem como uma melhoria na reconstrução de detalhes do modelo facial 3D gerado. A primeira Seção descreve as abordagens pre-liminares desenvolvidas, usando métodos de reconhecimento facial. Na Seção seguinte é apresentado o método de reconstrução facial selecionado (THOMAS; TANIGUCHI, 2016) e

as melhorias e refinamentos propostos. Na Seção 4.3 são descritas informações adicionais acerca dos recursos utilizados na implementação da soluções e os parâmetros usados. No fim do capítulo são exibidos os resultados obtidos e as avaliações realizadas.

Por fim, no Capítulo 5 este trabalho é concluído descrevendo as principais contribuições e trabalhos futuros.

(25)

2 FUNDAMENTAÇÃO TEÓRICA

Neste capítulo são apresentados os fundamentos relativos às tarefas de detecção, ali-nhamento, rastreamento e reconstrução de faces.

2.1 DETECÇÃO DE FACES

A detecção facial é uma importante tarefa utilizada em algumas aplicações de RA. O intuito dessa tarefa é encontrar a localização das faces presentes em uma imagem. Ou seja, dada uma imagem 2D, um algoritmo de detecção facial deve retornar as coordenadas p1 = (𝑥1, 𝑦1) e p2 = (𝑥2, 𝑦2) da caixa limitante (bounding box) que contém a face (Figura

5), onde p1 é o canto superior esquerdo da caixa e p2 é o canto inferior direito da caixa.

Para isso é necessário analisar e processar o cenário que contém ou pode conter faces. Existem basicamente duas abordagens de detecção facial: baseada em modelos rígidos e baseada em modelos de partes deformáveis (ZAFEIRIOU; ZHANG; ZHANG, 2015).

Figura 5 – Ilustração de uma região retangular, ou bounding box, em vermelho, localizada pela tarefa de detecção facial.

Fonte: Elaborado pelo autor, 2019.

Técnicas baseadas em modelos rígidos lidam com a tarefa de detecção de objetos pela aprendizagem de tais modelos, geralmente usando modelos em cascata impulsionada de classificadores. Entram nesta categoria os algoritmos com variação de boosting, como o detector de Viola-Jones (VIOLA; JONES et al., 2001), as técnicas baseadas em redes

neurais convolucionais (CNN), e sua extensão, as redes neurais convolucionais profundas (DCNN) (GARCIA; DELAKIS, 2004) (OSADCHY; CUN; MILLER, 2007) (LIU et al., 2017),

e outras abordagens, como os algoritmos baseados na recuperação da imagem e/ou na transformação generalizada de Hough (SHEN et al., 2013) (BALLARD, 1981).

Por outro lado, técnicas baseadas em modelos de partes deformáveis (DPMs – Defor-mable Parts-based Models) lidam com potenciais deformações em regiões da face ( FEL-ZENSZWALB et al., 2009). Também conhecidas como técnicas de modelagem de estruturas

(26)

pictóricas (FISCHLER; ELSCHLAGER, 1973), DPMs são capazes de descrever uma face

usando pequenas partes da mesma, funcionando bem para detectar objetos genéricos, al-cançando resultados no estado da arte (FELZENSZWALB; GIRSHICK; MCALLESTER, 2010)

(RAMANAN; ZHU, 2012) (YAN et al., 2013).

A detecção facial é comumente o primeiro passo de um pipeline de aumento de faces no contexto de RA. A próxima Subseção descreve conceitos de detecção de pontos de refe-rência facial, importante para realizar outras etapas deste processo. A detecção de pontos característicos da face normalmente só é possível obtendo-se primeiramente a região da face, como visto nos conceitos discutidos nesta Seção.

2.2 ALINHAMENTO DE FACES

O alinhamento de faces, comumente chamado de detecção de pontos de referência fa-cial (ou detecção de pontos fiduciais), é um método extremamente importante na área de Visão Computacional, principalmente para as tarefas de estimação de pose da cabeça, reconhecimento de faces e expressão, animação, rastreamento e reconstrução facial 3D. Basicamente, alinhar uma face consiste em — dada a região de uma face em uma ima-gem 2D provida pela detecção facial — encontrar a localização de pontos de interesse 𝐿 = {(𝑥1, 𝑦1), (𝑥2, 𝑦2), ..., (𝑥𝑛, 𝑦𝑛)}, sendo 𝑛 a quantidade de pontos de referência faciais

detectados. Desta forma, é possível obter as coordenadas dos pontos de contorno do rosto, sobrancelhas, olhos, nariz e lábios em imagens 2D (Figura 6). Alguns estudos categorizam esta técnica de diferentes formas, como em (JIN; TAN, 2017) (WANG et al., 2018). Usando

como base o estudo de Jin et al. (JIN; TAN, 2017), algoritmos de detecção de pontos

fi-duciais da face podem ser divididos em duas categorias: métodos generativos e métodos discriminativos.

Figura 6 – Ilustração de imagens com 68 pontos de referência faciais localizados.

Fonte: (JIN; TAN, 2017).

Nos métodos generativos, considera-se que as faces são objetos deformáveis, podendo variar tanto no formato quanto na aparência. Tais métodos modelam a aparência ou textura de todos os pixels que descrevem a face, sintetizando a aparência esperada. Ou seja, são criadas versões temporárias/sintéticas da face alvo (SAUER; COOTES; TAYLOR,

2011) (MARTINS; CASEIRO; BATISTA, 2013) (TZIMIROPOULOS; PANTIC, 2014).

Todavia, os métodos discriminativos modelam correlações locais entre os valores dos pixels. Essas abordagens utilizam conjuntos de detectores locais de características,

(27)

relaci-onados por um modelo de regularização geométrica. Incluem-se nessa categoria as CNNs. Normalmente, as abordagens generativas permitem obter uma maior precisão de ajuste do modelo, enquanto que os métodos discriminativos são mais assertivos em imagens nunca vistas antes (XIONG; TORRE, 2013) (BALTRUSAITIS; ROBINSON; MORENCY, 2013) (ZHANG et al., 2014) (WU; JI, 2015).

Adicionalmente, o alinhamento de faces 3D refere-se também à técnica de ajuste (fit-ting) de um modelo facial 3D sobre uma face 2D. Sendo assim, dado um ponto de referência do modelo de uma face genérica 3D p3𝐷 = (𝑥, 𝑦, 𝑧), em coordenadas do mundo real, e

o seu ponto 2D p2𝐷 = (𝑥

, 𝑦′) correspondente na face de entrada, em coordenadas de imagem, e assumindo que a matriz de parâmetros intrínsecos da câmera é K, é possível obter a matriz de parâmetros extrínsecos [R|t], representando a transformação que leva de coordenadas de mundo para coordenadas de câmera, formada por uma matriz de rotação R juntamente com um vetor de translação t:

K= ⎡ ⎢ ⎢ ⎢ ⎢ ⎣ 𝑓𝑥 0 𝑢0 0 𝑓𝑦 𝑣0 0 0 1 ⎤ ⎥ ⎥ ⎥ ⎥ ⎦ , (2.1)

onde 𝑓𝑥 e 𝑓𝑦 representam a distância focal em termos de pixels, e 𝑢0 e 𝑣0 representam o

ponto principal, idealmente localizado no centro da imagem,

t= [𝑡𝑥, 𝑡𝑦, 𝑡𝑧], (2.2) R= R𝑥(𝛼)R𝑦(𝛽)R𝑧(𝛾) = ⎡ ⎢ ⎢ ⎢ ⎢ ⎣ 𝑟11 𝑟12 𝑟13 𝑟21 𝑟22 𝑟23 𝑟31 𝑟32 𝑟33 ⎤ ⎥ ⎥ ⎥ ⎥ ⎦ , (2.3) [R|t] = ⎡ ⎢ ⎢ ⎢ ⎢ ⎣ 𝑟11 𝑟12 𝑟13 𝑡𝑥 𝑟21 𝑟22 𝑟23 𝑡𝑦 𝑟31 𝑟32 𝑟33 𝑡𝑧 ⎤ ⎥ ⎥ ⎥ ⎥ ⎦ , (2.4)

onde R𝑥, R𝑦 e R𝑧 representam as matrizes de rotação para cada eixo do plano

tridimensi-onal, e 𝛼, 𝛽 e 𝛾 representam os valores dos movimentos de rotação vertical (yaw), flexão/ extensão (pitch) e inclinação lateral (roll) da cabeça, ou ângulos de Euler (DIEBEL, 2006)

(Figura 7).

Logo, com as matrizes de parâmetros intrínsecos e extrínsecos K e [R|t], e o fator de escala da face s, a matriz de projeção P pode ser obtida, permitindo a sobreposição do modelo 3D na face 2D (MURPHY-CHUTORIAN; TRIVEDI, 2008):

(28)

Atualmente, técnicas de alinhamento facial estão se tornando cada vez mais robustas em relação a fatores de influência, como a pose da cabeça, oclusão, escala da face, expres-sões da face e iluminação do ambiente. Pela análise e seleção dessas técnicas, integradas com abordagens de rastreamento facial, alcançar resultados satisfatórios de aumento de faces em RA torna-se uma tarefa mais viável.

Figura 7 – Movimentos de orientação da cabeça: rotação vertical (yaw), flexão/extensão (pitch) e inclinação lateral (roll).

Fonte: (NETO et al., 2014).

2.3 RASTREAMENTO DE FACES

Rastrear faces significa acompanhar o movimento de faces humanas em sequências de imagens providas por câmeras de vídeo. Sistemas de rastreamento facial precisam processar cada quadro (frame) de um vídeo, buscando detectar as características faciais mais importantes para definir a localização do rosto (Figura 8). Técnicas de rastreamento facial são geralmente aplicadas em vídeos e transmissões em tempo real, o que requer menos tempo de processamento para cada quadro com o intuito de alcançar uma melhor experiência do usuário.

Figura 8 – Ilustração de rastreamento facial usando o OpenFace (BALTRUSAITIS et al.,

2018). F representa o índice do respectivo quadro do vídeo.

(29)

O rastreamento 2D visa acompanhar a trajetória da projeção do objeto, ou partes dele, cujo deslocamento 3D resulta em um movimento que pode ser modelado como uma transformação 2D. Tal técnica não consegue estimar a posição real do objeto nas cenas. Em contrapartida, o rastreamento 3D é capaz de estimar a trajetória da posição do objeto em coordenadas do mundo real.

As coordenadas de um ponto 3D M3𝐷 = (𝑥, 𝑦, 𝑧)𝑇 expressas no sistema Euclidiano de

coordenadas de mundo e o seu ponto 2D M2𝐷 = (𝑥𝑖, 𝑦𝑖)𝑇 correspondente na imagem pela

equação

𝑠 ˜m2𝐷 = P ˜M3𝐷, (2.6)

onde 𝑠 é o fator de escala do objeto, ˜m2𝐷 = (𝑢, 𝑣, 1)𝑇 e ˜M3𝐷 = (𝑥, 𝑦, 𝑧, 1)𝑇 são as

coordenadas homogêneas dos pontos M2𝐷 e M3𝐷, respectivamente, e P (Equação 2.5) é

a matriz de projeção (LEPETIT; FUA et al., 2005).

Algoritmos de rastreamento facial podem ser divididos em rígidos e não-rígidos. Al-goritmos rígidos tentam estimar a posição e orientação da cabeça (pose), enquanto que algoritmos não-rígidos localizam pontos de interesse numa imagem contendo faces, como por exemplo a ponta do nariz, cantos dos olhos e o contorno dos lábios (BALTRUŠAITIS; ROBINSON; MORENCY, 2012) (SHEN et al., 2015). Quando o rastreamento consegue estimar

a pose 3D da cabeça ele é chamado de rastreamento 3D ou rastreamento em seis graus de liberdade (Six Degree-of-Freedom - 6-DoF) (MCNEELY; PUTERBAUGH; TROY, 2005).

Técnicas de rastreamento facial estão fortemente associadas às técnicas de detecção e alinhamento facial: em primeiro lugar, é necessário obter a região inicial da face usando um método de detecção; em seguida, os pontos característicos da face na região são localizados por um método de alinhamento facial; por fim, um método de rastreamento dos pontos localizados pode ser aplicado para cada novo quadro em uma sequência de imagens, evitando que os dois primeiros métodos sejam utilizados novamente. A justificativa para a aplicação de abordagens de rastreamento é justamente o fato de evitar o uso de algoritmos de detecção e alinhamento facial para cada quadro, pois os mesmos podem ser mais custosos computacionalmente, buscando alcançar um desempenho de tempo real.

2.4 RECONSTRUÇÃO DE FACES

No contexto desta dissertação, reconstrução de faces ou reconstrução facial 3D (ou ainda modelagem 3D de faces) se refere ao problema de estimar e modelar a geometria de uma face 3D a partir de imagens 2D da mesma face, providas por câmeras monoculares RGB ou RGB-D (Figura 9). Esta é uma abordagem amplamente utilizada em diversas áreas, como animação, aplicações forenses, aplicações de segurança e controle de acesso, interação humano-computador, medicina cirúrgica, entre outras.

(30)

Figura 9 – Ilustração de exemplos de reconstrução facial 3D.

Fonte: (TRAN et al., 2018).

Técnicas de reconstrução utilizam como base o modelo de parametrização de superfície. Este método é baseado em uma função que mapeia o plano 2D (R2) para o plano 3D (R3),

onde

x(u) = (x(u), y(u), z(u)), x(u) ⊂ R3 (2.7) é a imagem da função e

u= (u, v) ⊂ R2 (2.8)

é o domínio da função, chamado espaço UV (STYLIANOU; LANITIS, 2009). Os modelos 3D

são representados por malhas de triângulos ou nuvem de pontos. Uma malha de triângulos M é um grafo composto por um conjuntos de pontos V, representando os vértices dos triângulos, os quais contém os valores das coordenadas de cada vértice, e pelo conjunto de triângulos T:

M= (V, T), (2.9)

V= {p𝑖 = (𝑥𝑖, 𝑦𝑖, 𝑧𝑖) ∈ R2| 𝑖 ∈ {1, ..., 𝑁}}, (2.10)

T= {(𝑝𝑖, 𝑝𝑗, 𝑝𝑘)}, 𝑝𝑖, 𝑝𝑗, 𝑝𝑘 ∈ V. (2.11)

A imagem de profundidade S = (𝑥, 𝑦, 𝑓(𝑥, 𝑦)) é composta por pixels que expressam a distância entre um quadro de referência e um ponto visível da cena (STYLIANOU; LANITIS,

2009). Com essa informação é possível calcular a distância da face em relação à câmera. Para mapear a textura da face, ou seja, recuperar a informação de intensidade de cor em cada pixel da face 2D e atualizar a textura do triângulo correspondente no modelo 3D, existem diversos métodos diferentes, cada qual aplicado a contextos específicos (THOMAS; TANIGUCHI, 2016) (FENG et al., 2018).

Modelos 3D comuns, também chamados de modelos 3D rígidos, conseguem descrever com precisão a geometria e textura de objetos. Em contrapartida, modelos 3D morfáveis, ou 3DMMs (3D Morphable Models), podem ser deformados para se ajustar ao formato,

(31)

textura e expressão da face. Já os blendshapes (em tradução livre, formas de mistura), são modelos lineares os quais os vetores base individuais representam as expressões da face, sendo estes não-ortogonais, diferente dos 3DMMs, os quais contém bases ortogonais e não-semânticas (LEWIS et al., 2014).

Tendo conhecimento das técnicas descritas neste capítulo, aplicações e arcabouços, em geral, seguem as seguintes etapas para alcançar resultados em RA facial: detectar a face do usuário na imagem; localizar os pontos de referência da face detectada; realizar um rastreamento 3D dos pontos detectados; e, por meio de um padrão prévio de um blendshape, reconstruir a face e/ou casar o modelo deformável à face do usuário. Apesar das técnicas nas etapas descritas estarem bastante evoluídas, muitos problemas ainda persistem ao longo deste processo, tais como deformações indesejadas na reconstrução facial, geração de expressões faciais estranhas e perdas de rastreamento, principalmente em cenas mais complexas.

(32)

3 REVISÃO DA LITERATURA

Para encontrar trabalhos relacionados foi realizada uma revisão sobre o tema proposto. Primeiramente, a pergunta-chave foi elaborada para nortear a pesquisa. Sendo uma pes-quisa que envolve várias áreas e técnicas correlacionadas, foi feita uma filtragem para categorizar os trabalhos encontrados de acordo com o contexto (detecção, alinhamento, rastreamento e reconstrução facial). Também foram feitos levantamentos acerca de es-tudos em reconhecimento facial, visando o desenvolvimento de abordagens usando como base o reconhecimento prévio da face. Posteriormente, foi realizada uma seleção dos me-lhores artigos, usando como filtro a disponibilidade de código, linguagem de programação, utilização de recursos e ferramentas, acurácia, desempenho, robustez, limitações e falhas. Usando os mesmos critérios citados anteriormente, selecionaram-se as citações mais relevantes dos trabalhos encontrados. As buscas foram restritas apenas para artigos com-pletos. Em seguida, foram extraídos os dados mais relevantes da literatura selecionada, os quais ajudaram a responder à pergunta de pesquisa, bem como foi realizada uma avalia-ção da qualidade metodológica dos artigos, visando compreender melhor a relevância dos estudos e suas limitações.

A partir dos estudos selecionados foi possível identificar os métodos mais relevantes do estado da arte em rastreamento facial 3D para RA, e compreender suas abordagens, pela análise e comparação dos resultados envolvendo os principais indicadores.

3.1 TÉCNICAS DE DETECÇÃO DE FACES

Em seus primórdios, as abordagens de detecção de faces eram baseadas principalmente em operadores de processamento de imagem simples (YANG; HUANG, 1994) (JESORSKY; KIRCHBERG; FRISCHHOLZ, 2001). Yang e Huang (YANG; HUANG, 1994) segmentam a

ima-gem baseando-se nas suas arestas para obter as regiões candidatas a face. Em (JESORSKY; KIRCHBERG; FRISCHHOLZ, 2001), os autores usam a distância de Hausdorff como medida

de similaridade entre um modelo facial genérico e possíveis instâncias de faces. Simi-larmente, Hsu et al. (HSU; ABDEL-MOTTALEB; JAIN, 2002) propõem a detecção de faces

candidatas usando a informação de tons de pele. Contudo, tais métodos são extrema-mente sensíveis à influência de iluminação e variação de cor, além de oclusões e variações de poses.

Em contrapartida, métodos baseados em aprendizagem de máquina apresentam atu-almente alguns dos melhores resultados (FARFADE; SABERIAN; LI, 2015) (ZHANG et al.,

2016) (VIOLA; JONES et al., 2001) (ZHANG; ZHANG, 2014). Em (OSUNA et al., 1997) é

im-plementado um classificador baseado em máquina de vetores de suporte (Support Vector Machine - SVM) para o problema de detecção facial frontal e com diferentes escalas. Em

(33)

outra técnica, a SVM é treinada com imagens de modelos 3D de faces, alcançando me-lhores resultados quanto à variação de rotação (HEISELET et al., 2001). Alguns métodos

usam como base a análise de componentes principais (Principal Component Analysis -PCA) (WOLD; ESBENSEN; GELADI, 1987), uma técnica robusta para redução de dados e

extração de características. O método PCA pode ser usado tanto em técnicas que se ba-seiam apenas nas características da imagem (LEE et al., 1999) quanto combinado a técnicas

de aprendizado, como as abordagens de Kernel Principal Component Analysis (KPCA) (SCHÖLKOPF; SMOLA; MÜLLER, 1997), uma extensão do PCA (YANG; AHUJA; KRIEGMAN,

2000) (LI et al., 2001). Todavia, as técnicas baseadas em SVM e PCA ainda apresentam

certo grau de sensibilidade em imagens com cenários inconstantes.

Viola e Jones propõem a combinação de três etapas para endereçar o problema de falsos positivos e desempenho na tarefa de detecção facial: primeiro, eles fazem uso de uma estrutura de dados chamada imagem integral, que diminui o tempo de detecção da face; em seguida, é implementado um classificador baseado no AdaBoost (FREUND; SCHAPIRE,

1997), o qual consegue selecionar as características de Haar mais críticas para identificar possíveis regiões com face (Figura 10); e por fim, eles combinam vários classificadores em cascata para descartar as regiões de plano de fundo da imagem, enquanto que o algoritmo aloca mais recurso para detectar candidatos a face (VIOLA; JONES et al., 2001) (VIOLA; JONES, 2004).

Figura 10 – Características selecionadas pelo AdaBoost. As duas características são exi-bidas na linha acima e sobrepostas numa imagem de treino típica na linha abaixo. A primeira característica mede a diferença de intensidade entre as regiões dos olhos e uma região transversal das bochechas. A segunda caracte-rística compara a intensidade nas regiões dos olhos com a intensidade através da ponte do nariz.

Fonte: (VIOLA; JONES, 2004).

Este método consegue alcançar bons resultados no quesito de variação de escala, vari-ação da pose da cabeça e oclusão da boca, além de atingir um nível de desempenho ade-quado para aplicações em tempo real. Uma extensão do trabalho proposta pelos mesmos autores consegue melhorar a detecção facial em relação à invariância quanto a rotações na própria imagem e outras perspectivas de visualização da face, além de melhorar a robustez quanto a mudanças de pose (JONES; VIOLA, 2003) (VIOLA; JONES, 2004).

(34)

Ainda no contexto de algoritmos baseados em aprendizagem de máquina, as redes neurais apresentam abordagens ainda mais eficientes. Rowley et al. descreve a construção de uma rede neural invariante a rotações e movimentos de flexão e extensão, com alto grau de complexidade (ROWLEY; BALUJA; KANADE, 1997). O Modelo Generativo

Res-trito (Constrained Generative Model - CGM) executa a tarefa de detecção de faces para planos de fundo complexos, contendo variação de cores e iluminação (FERAUND et al.,

2001). A técnica funciona combinando vários modelos de rede neural para reduzir a taxa de falsos positivos usando um pequeno conjunto de contraexemplos na base de dados. O custo computacional é reduzido pelo uso de um algoritmo de busca (multilayer percep-tron). Seow et al. apresenta uma rede baseada no tom de pele usando retropropagação (backpropagation) para extrair as regiões de pele do plano e interpolá-las por meio de um valor limite ótimo. A rede é treinada usando uma distribuição de cores RGB de pele em diferentes cenários, com variação de iluminação por exemplo (SEOW; VALAPARLA; ASARI,

2003). Outra abordagem baseia-se na combinação de filtros no espaço de cor YCbCr e redes neurais multicamadas (LIN, 2007).

Abordagens mais recentes tiram proveito de CNNs para melhorar a acurácia na tarefa de detecção facial (NASSE; THURAU; FINK, 2009) (FARFADE; SABERIAN; LI, 2015). No

estudo de (NASSE; THURAU; FINK, 2009) é implementada uma CNN de quatro camadas

para suprir os erros em relação à detecção em poses oblíquas. Usando um processador gráfico (GPU) para executar o classificador gerado, o custo computacional de execução é bastante baixo (entre 200 à 500 milissegundos por quadro) . Já o Deep Dense Face Detector (DDFD) simplifica a complexidade de modelagem de sua rede para o propósito de detecção facial em diferentes perspectivas de visualização (FARFADE; SABERIAN; LI, 2015), usando

como base um refinamento da AlexNet (KRIZHEVSKY; SUTSKEVER; HINTON, 2012). Esse

método não necessita de imagens de faces rotuladas quanto a pose e pontos de referência facial, sendo capaz de detectar faces usando um único modelo baseado em CNN, sem requerer o uso de técnicas de segmentação, regressão ou classificadores SVM.

CNNs podem gerar modelos de classificação que pecam em relação ao tempo de exe-cução. Alguns métodos que apresentam resultados expressivos quanto a acurácia para detecção em cenários de grandes variações visuais, como por exemplo a pose, expressões faciais e iluminação, tendem a ser mais custosos computacionalmente. Existem métodos que buscam amenizar esse compromisso. Li et al. propõe uma CNN em cascata que realiza um rápido descarte das regiões de plano de fundo nas suas primeiras camadas e cuidado-samente avalia um pequeno número de candidatos a face nas suas últimas camadas (LI et al., 2015). Adicionalmente, para reduzir o número de candidatos nas camadas posteriores

e melhorar a eficácia no cálculo de localização, uma etapa de calibração é introduzida após cada etapa de detecção. Tal técnica alcança um desempenho de 14 quadros por segundo em uma simples CPU. O VIPLFaceNet (ou SeetaFace SDK) (LIU et al., 2017)

(35)

baseada em Haar (WILSON; FERNANDEZ, 2006) e padrão binário local (Local Binary Pat-tern - LBP) (OJALA; PIETIKÄINEN; HARWOOD, 1996), chamada Locally Assembled Binary

(LAB). Atualmente, essa técnica consegue atingir um dos melhores resultados em precisão e desempenho, detectando faces em aproximadamente 150 milisegundos usando CPU.

Também existem métodos que exploram aprendizagem multitarefa para realizar a detecção tanto de faces como de pontos de referência (ZHANG; ZHANG, 2014) (ZHANG et al., 2016). Cha e Zhengyou apresentam uma CNN multitarefa baseada em post filters

capaz de aprender simultaneamente e decidir o que é face e não-face, a pose, e pontos de referência da face, alcançado ótimos resultados no estado na arte (ZHANG; ZHANG, 2014)

(Figura 11). A Rede Neural Convolucional em Cascata Multitarefa (Multi-Task Cascaded Convolutional Neural Network - MTCNN) (ZHANG et al., 2016) é composta de três CNNs

pequenas, em que as correlações entre as regiões de faces detectadas e seus pontos de interesse são exploradas para melhorar seu desempenho.

Figura 11 – Resultados qualitativos do detector de Cha e Zhengyou na base de dados FDDB.

Fonte: (ZHANG; ZHANG, 2014).

3.2 TÉCNICAS DE ALINHAMENTO DE FACES

Como descrito no capítulo anterior, as técnicas de detecção de pontos de referência facial são classificadas em técnicas generativas e discriminativas. Os métodos generativos foram as primeiras abordagens a surgir se tratando de detecção de pontos de referência em objetos, sobretudo faces. Os Modelos de Aparência Ativa (Active Appearance Models - AAMs), são um dos métodos generativos mais conhecidos e citados na área (COOTES; EDWARDS; TAYLOR, 2001) (MATTHEWS; BAKER, 2004). Eles são modelos estatísticos

li-neares da forma e aparência de um objeto deformável 2D e são capazes de gerar uma variedade de instâncias usando um baixo número de parâmetros do modelo para localizar objetos em imagens. Vários trabalhos estendem a abordagem AAM com o objetivo de incrementá-lo pontualmente e/ou desenvolver novas técnicas usando-o como base.

Cootes et al. mostram que usando um pequena quantidade de AAMs baseados em vá-rias perspectivas de visualização do rosto, é possível mapear uma ampla gama de ângulos oblíquos de rotação da cabeça no eixo vertical, permitindo localizar pontos da face em ân-gulos de até 90º graus (COOTES et al., 2002). Hu et al. usou a abordagem de

(36)

localizados para modelar a textura facial com maior precisão, apresentando resultados mais robustos em relação a oclusão e influência de iluminação (HU; FERIS; TURK, 2003).

Já Martins et al. propôs um novo modelo baseado em AAMs combinando um mo-delo de distribuição de pontos (Point Distribution Model - PDM) com métricas 3D e um modelo de aparência 2D para solucionar o problema de correspondências entre mo-delos faciais deformáveis 3D para o plano 2D (MARTINS; CASEIRO; BATISTA, 2013). Do

mesmo modo, Fanelli et al. contribuem usando florestas aleatórias (random forests) para regressão entre instâncias de treinamento deformadas e atualizações necessárias dos pa-râmetros, combinadas a AAMs, com experimentos em imagens contendo informações de profundidade, alcançando resultados robustos em tempo real (FANELLI; DANTONE; GOOL,

2013). Assim como Sauer et al., que compara seu trabalho com florestas aleatórias, AAMs e o algoritmo de boosting (FRIEDMAN et al., 2000) para o propósito de análise de faces

(SAUER; COOTES; TAYLOR, 2011).

Os métodos generativos também abrangem os métodos de modelos deformáveis base-ados em partes, o qual introduz o uso de modelos segmentbase-ados de instâncias de partes da face. Os Modelos de Forma Ativa (Active Shape Models - ASMs) são a base de estudo neste contexto. Eles exploram uma fórmula linear de PDMs numa busca interativa capaz de localizar estruturas modeladas rapidamente, especialmente em imagens com alto nível de ruído (COOTES et al., 1995). Em (YAN et al., 2003) é proposto um método que combina

os modelos de aparência local do ASM, para localização de pontos-chave, e a restrição de textura global, provida pelo método AAM, para maior acurácia na estimação de pa-râmetros da forma facial, chamado Modelo de Forma Ativa com Restrição de Textura (Texture-Constrained Active Shape Model - TC-ASM), mostrando ser um método eficaz na localização da forma facial e menos sensível à iluminação. Análogo ao TC-ASM, os Modelos de Partes Deformáveis de GaussNewton (GaussNewton Deformable Part Models -GN-DPMs) constroem modelos generativos para todas as partes que compõem a face de forma simultânea, minimizando a função custo de forma e aparência usando a otimiza-ção de Gauss-Newton, reduzindo significativamente o custo computacional e alcançando bons resultados no alinhamento de faces (TZIMIROPOULOS; PANTIC, 2014). Comparados a

AAMs, modelos deformáveis baseados em partes são mais vantajosos quanto à iluminação global e à oclusão em cenários inconstantes.

Métodos discriminativos abrangem os estudos mais avançados em alinhamento facial. Enquanto que métodos generativos sofrem com o problema de generalização, técnicas dis-criminativas buscam constantemente solucionar tal problema (LIU, 2008). Alguns métodos

apoiam-se em regressão linear em cascata (do inglês, cascaded linear regression). O Mé-todo de Descida Supervisionado (Supervised Descent Method - SDM) é um algoritmo bem eficiente de localização de pontos referenciais da face (XIONG; TORRE, 2013). Todavia, sua

principal vantagem é o baixo custo computacional e tempo de execução. Ele busca por pesos de características não-lineares e aprende uma sequência de direções na “descida”,

(37)

minimizando a diferença entre o objeto/forma estimada e o ground truth, solucionando assim o problema de mínimos quadrados não-lineares (Non-linear Least Squares - NLS) (Figura 12). No mesmo contexto, Ren et al. propõem uma abordagem de regressão de Características Locais Binárias (Local Binary Features - LBFs) (REN et al., 2014), gerando

alinhamentos faciais extremamente rápidos em comparação a outras técnicas.

Figura 12 – Resultados gerados pelo SDM para a detecção de 64 pontos de referência da face em imagens da base de dados Youtube Celebrity.

Fonte: (XIONG; TORRE, 2013).

Outros métodos utilizam Modelos Locais Restritos (Constrained Local Model - CLMs) como estrutura principal. Um CLM é um método não-rígido para modelar classes de objetos utilizando um conjunto distinto de correspondência de características. Tal modelo usa formas comuns e modelos de textura para gerar conjuntos de detectores de regiões padrão (template). O modelo é usado para gerar correspondências com uma face arbitrária de entrada usando um gerador de padrão iterativo e uma técnica de busca de formas restritas (CRISTINACCE; COOTES, 2006), sendo capaz de detectar pontos de interesse da

face. Por demonstrar ser uma técnica simples, eficiente e robusta, e uma alternativa para AAMs, CLMs são usadas por diversas abordagens do estado da arte. Todavia, sendo um método não-rígido, o CLM não provê uma boa acurácia na estimativa de pose por si só.

Contrariamente, outros métodos combinam técnicas rígidas e não-rígidas buscando alcançar resultados precisos nesta tarefa. Baltrusaitis et al. desenvolveu uma extensão do CLM o qual integra informações de profundidade e intensidade para a detecção de pontos de referência da face em poses oblíquas, (BALTRUŠAITIS; ROBINSON; MORENCY,

2012) com seis graus de liberdade (6-DoF). Entretanto a técnica ainda apresenta falhas em relação a oclusão, iluminação do ambiente e dados não vistos. Como alternativa, os mesmo autores desenvolveram outra extensão do CLM: o Campo Neural de Restrição Local (Constrained Local Neural Field - CLNF) (BALTRUSAITIS; ROBINSON; MORENCY,

2013). Essa técnica utiliza patch experts (ou detectores locais) probabilísticos, capazes de aprender relações não-lineares e espaciais entre os pixels de entrada e a probabilidade do ponto-chave a ser alinhado, otimizado pelo método de ajuste Non-Uniform Regularized Landmark Mean-Shift (NU-RLMS), responsável por levar em conta o grau de confiança de cada patch expert, aumentando a acurácia no alinhamento facial para imagens com pouca iluminação e com faces parcialmente ocluídas.

(38)

Atualmente, se tratando de técnicas de detecção de pontos fiduciais da face categori-zados em CLMs, a técnica a qual apresenta os melhores resultados é o CE-CLM (ZADEH et al., 2017). O Modelo Local Restrito de Especialistas Convolucionais (pode-se variar a

palavra “Especialistas” para “Detectores”), ou Convolutional Experts Constrained Local Model, é a combinação de um detector local chamado Rede de Detectores Convolucionais (Convolutional Experts Network - CEN) e CLM. O CEN traz consigo as vantagens de uma arquitetura neural, sendo apto a aprender misturas de detectores locais para capturar di-ferentes modelos de aparência, sem a necessidade de rotulação explícita de atributos. A técnica também é capaz de extrair pontos de referência faciais 3D sem precisar de treina-mento com dados 3D. O CE-CLM apresenta alta robustez para alinhar faces em cenários extremos, como em faces com expressões faciais e poses oblíquas, má iluminação, oclusão por acessórios, pelos faciais e maquiagem, podendo detectar até 84 pontos de referência facial (Figura 13).

Figura 13 – Resultados gerados pelo CE-CLM para a detecção de 84 pontos de referência da face em imagens da base de dados Menpo3D.

Fonte: (ZADEH et al., 2017).

Ainda nos métodos discriminativos, os algoritmos de redes neurais para alinhamento facial também apresentam resultados bem satisfatórios. Zhang et al. propoem o método Coarse-to-Fine Auto-encoder Networks (CFAN), responsável por cascatear pequenas Re-des de Auto-Codificadores Empilhados (Stacked Auto-encoder Networks – SANs), o qual a primeira SAN prediz os pontos-chave da face preliminarmente, focando na rapidez, to-mando como entrada uma versão de baixa resolução do rosto holisticamente detectado, e as SANs subsequentes refinam progressivamente o ponto detectado usando como entrada as características extraídas em torno dos pontos de referência atuais em alta resolução (ZHANG et al., 2014). O CFAN consegue bons resultados quanto a oclusão por uso de

(39)

em tempo real, usando apenas CPU. O SeetaFace de Liu et al. (LIU et al., 2017) utiliza o

CFAN em sua etapa de alinhamento de faces.

Zhang et al. (ZHANG et al., 2016) propõem uma abordagem de alinhamento de faces

baseadas em CNN: o MTCNN. Este atua correlacionando ambas as tarefas de detecção da região e localização dos pontos faciais na região previamente detectada, usando apren-dizagem multitarefa. Tanto o MTCNN de Zhang et al. quanto o SeetaFace de Liu et al. detectam apenas 5 pontos de referência da face, sendo eles: uma ponto para cada olho, a ponta do nariz e os cantos esquerdo e direito da boca. Treinando uma CNN usando apenas o fator de intensidade de imagens RGB, Chang et al. mostra que é possível retratar com precisão e robustez a predição de pontos-chave da face e a pose 3D com seis graus de liberdade (CHANG et al., 2017). Já Zhu et al. apresenta o Alinhamento Facial 3D Denso

(3D Dense Face Alignment - 3DDFA), em que um modelo morfável 3D (3D Morphable Model - 3DMM) é alinhado à imagem facial 2D por meio de uma CNN em cascata (ZHU et al., 2019). O 3DDFA é capaz de predizer a pose da cabeça e localizar pontos da face

mesmo em cenário com poses oblíquas, os quais tornam alguns pontos invisíveis em certos perfis do rosto.

Sendo estritamente relacionada ao tema de alinhamento facial, a Subseção posterior apenas reforça algumas técnicas descritas nesta atual Subseção, as quais podem ser utiliza-das para a tarefa de rastreamento facial. Adicionalmente, também são detalhautiliza-das algumas outras abordagens.

3.3 TÉCNICAS DE RASTREAMENTO DE FACES

Apesar de algumas abordagens de rastreamento facial serem “livres de pontos de inte-resse” (landmark-free), como o Face-TLD (KALAL; MIKOLAJCZYK; MATAS, 2010) e as

flo-restas de regressão aleatórias discriminativas (Discriminative Random Regression Forest - DRRFs) (FANELLI; GALL; GOOL, 2011), os trabalhados levantados sobre rastreamento

facial para esta dissertação focam em métodos que combinam o rastreamento de objetos rígidos e não-rígidos. Logo, pela junção dessas duas técnicas é possível rastrear pontos de interesse da face – incluindo expressões faciais – e a pose da cabeça.

Dornaika e Ahlberg propuseram um novo método de busca de AAMs para o rastrea-mento facial 3D, o qual desassocia a etapa de síntese da camada de otimização iterativa (DORNAIKA; AHLBERG, 2004). Com isso, os resultados da síntese são associados com os

quadros previamente vistos, fazendo com que o custo computacional não dependa das dimensões espaciais da face. Sob outra perspectiva, Wu et al. implementaram um método de rastreamento de pontos da face usando modelos prévios de Máquinas Restritas de Boltzman (Restricted Boltzman Machines - RBMs), em que as variações das formas da face, devido a expressões faciais e mudanças de poses, são mapeadas em um único modelo unificado (WU; WANG; JI, 2013).

Referências

Documentos relacionados

Então, em Belém, há principalmente duas situações que podem provocar eventos extremos: Na estação chuvosa, quando a grande escala (ZCIT) está atuando sobre a região, e

A avaliação dos diferentes métodos de preparação da superfície já impressa para a extrusão de uma nova camada na impressão tridimensional por deposição fundida

Na apresentação dos dados estatísticos, ficou demonstrada à todos os participantes a dimensão da pesquisa, abrangendo o setor produtivo como um todo, enfocando a produção

O estudo múltiplo de casos foi aplicado para identificar as semelhanças e dissemelhanças na forma como as empresas relacionam seus modelos de negócios e suas

Nas leituras de falhas efetuadas, foram obtidos códigos de anomalia por meio de dois diferentes protocolos de comunicação: o ISO 14230 KWP (2000) e o ISO 15765-4 CAN. A seguir, no

Mestrado em: Nutrição Humana ou Nutrição Clínica ou Saúde Coletiva ou Ciências da Saúde ou Ciências ou Saúde ou Alimentos e Nutrição e Desenvolvimento na

v) por conseguinte, desenvolveu-se uma aproximação semi-paramétrica decompondo o problema de estimação em três partes: (1) a transformação das vazões anuais em cada lo-

Silva e Márquez Romero, no prelo), seleccionei apenas os contextos com datas provenientes de amostras recolhidas no interior de fossos (dado que frequentemente não há garantia