Uma introdução suave à aprendizagem profunda para o reconhecimento facial

Tweet Share

última atualização em 5 de julho de 2019

reconhecimento facial é o problema de identificar e verificar as pessoas em uma fotografia pelo seu rosto.

é uma tarefa que é trivialmente realizada pelos seres humanos, mesmo sob a luz variável e quando as faces são mudadas pela idade ou obstruídas com acessórios e pelos faciais. No entanto, continua a ser um problema de visão computacional desafiador por décadas até recentemente.métodos de aprendizagem profunda são capazes de alavancar conjuntos de dados muito grandes de faces e aprender representações ricas e compactas de faces, permitindo que modelos modernos executem pela primeira vez também-bem como e mais tarde para superar as capacidades de reconhecimento facial dos seres humanos.

neste post, você vai descobrir o problema do reconhecimento facial e como métodos de aprendizagem profunda pode alcançar desempenho sobre-humano.

Após ler este post, você saberá:

  • reconhecimento facial é um problema amplo de identificar ou verificar pessoas em fotografias e vídeos.o reconhecimento facial é um processo composto de detecção, alinhamento, extração de recursos, e uma tarefa de reconhecimento de modelos de aprendizagem profunda primeiramente abordados e depois excedeu o desempenho humano para tarefas de reconhecimento facial.

kick-start o seu projecto com o meu novo livro Deep Learning for Computer Vision, incluindo tutoriais passo-a-passo e os ficheiros de código-fonte Python para todos os exemplos.vamos começar.

A Gentle Introduction to Deep Learning for Face Recognition

a Gentle Introduction to Deep Learning for Face Recognition
Photo by Susanne Nilsson, some rights reserved.

visão geral

Este tutorial é dividido em cinco partes; eles são:

  1. Rostos em Fotografias
  2. Processo de o Reconhecimento Automático do Rosto
  3. Detecção de Rosto de Tarefas
  4. Reconhecimento de Face Tarefas
  5. uma Aprendizagem mais Profunda para o Reconhecimento facial

Rostos em Fotografias

muitas vezes Há uma necessidade de reconhecer automaticamente as pessoas em uma fotografia.

Existem muitas razões pelas quais podemos querer reconhecer automaticamente uma pessoa em uma fotografia.

Por exemplo:

  • podemos querer restringir o acesso a um recurso para uma pessoa, chamada autenticação facial.
  • podemos querer confirmar que a pessoa corresponde ao seu ID, chamado verificação facial.
  • podemos querer atribuir um nome a uma face, chamada identificação facial.

geralmente, referimo-nos a isto como o problema do “reconhecimento facial” automático e pode aplicar-se a ambas as fotografias fixas ou faces em fluxos de vídeo.os seres humanos podem realizar esta tarefa muito facilmente.

Podemos encontrar os rostos em uma imagem e comentar sobre quem são as pessoas, se elas são conhecidas. Podemos fazer isso muito bem, como quando as pessoas envelheceram, estão usando óculos de sol, têm cabelo colorido diferente, estão olhando em direções diferentes, e assim por diante. Podemos fazer isto tão bem que encontramos rostos onde não existem, como nas nuvens.no entanto, este continua a ser um problema difícil de executar automaticamente com software, mesmo após 60 ou mais anos de pesquisa. Até talvez muito recentemente.

por exemplo, o reconhecimento de imagens de face adquiridas em um ambiente ao ar livre com mudanças de iluminação e / ou pose permanece um problema em grande parte não resolvido. Em outras palavras, os sistemas atuais ainda estão longe da capacidade do sistema de percepção humana.

— Reconhecimento Facial: A Literature Survey, 2003.

Want Results with Deep Learning for Computer Vision?

tome o meu curso livre de estoiro de e-mail de 7 dias agora (com o código de exemplo).

Clique para se inscrever e também obter uma versão ebook PDF livre do curso.

baixe o seu Mini-curso gratuito

processo de reconhecimento facial automático

reconhecimento facial é o problema de identificar ou verificar rostos numa fotografia.

Uma declaração geral de que o problema da máquina de reconhecimento de faces pode ser formulado da seguinte maneira: dado ainda, ou imagens de vídeo de uma cena, identificar ou verificar uma ou mais pessoas na cena usando um banco de dados armazenado de rostos

— o Reconhecimento de rostos: Uma Literatura de Pesquisa, 2003.

reconhecimento facial é muitas vezes descrito como um processo que primeiro envolve quatro passos; eles são: detecção de face, alinhamento de face, extração de recursos, e, finalmente, reconhecimento de face.Detecção Facial. Localize uma ou mais faces na imagem e marque com uma caixa envolvente.alinhamento Facial. Normalizar o rosto para ser consistente com o banco de dados, como geometria e fotometria.extracção de recursos. Extrair recursos do rosto que podem ser usados para a tarefa de reconhecimento.reconhecimento facial. Efectuar a correspondência da face com uma ou mais faces conhecidas numa base de dados preparada.

um dado sistema pode ter um módulo ou programa separado para cada passo, o que era tradicionalmente o caso, ou pode combinar alguns ou todos os passos em um único processo.

Uma útil visão geral do processo é fornecida no livro “Manual de Reconhecimento de rostos,” abaixo:

Visão geral das Etapas de um Processo de Reconhecimento de Rosto

Visão geral das Etapas de um Processo de Reconhecimento de Rosto. Retirado de” Handbook of Face Recognition”, 2011.

a tarefa de detecção da Face

a detecção da Face é o primeiro passo não trivial no reconhecimento da face.

é um problema de reconhecimento de objetos que requer que tanto a localização de cada face em uma fotografia é identificada (por exemplo, a posição) e a extensão da face é localizada (por exemplo, com uma caixa envolvente). O reconhecimento de objetos em si é um problema desafiador, embora neste caso, ele é semelhante, pois há apenas um tipo de objeto, por exemplo rostos, para ser localizado, embora os rostos podem variar loucamente.

a face humana é um objecto dinâmico e tem um elevado grau de variabilidade na sua aparência, o que torna a detecção de face um problema difícil na visão computacional.

— Detecção Facial: A Survey, 2001.

além disso, como é o primeiro passo em um sistema de reconhecimento facial mais amplo, a detecção de face deve ser robusta. Por exemplo, um rosto não pode ser reconhecido se não puder ser detectado primeiro. Isso significa que os rostos devem ser detectados com todo o tipo de orientações, ângulos, níveis de luz, penteados, chapéus, óculos, pêlos faciais, maquiagem, idades, e assim por diante.

Como o visual processador front-end, um sistema de detecção de rosto também deve ser capaz de realizar a tarefa, independentemente de iluminação, orientação e distância da câmera

— Detecção de Rosto: Um Inquérito, 2001.

the 2001 paper titled “Face Detection: a Survey” provides a taxonomy of face detection methods that can be widely divided into two main groups:

  • Feature-Based.
  • imagem.

a detecção de face baseada em recursos usa filtros artesanais que procuram e localizam faces em fotografias baseadas num profundo conhecimento do domínio. Eles podem ser muito rápidos e muito eficazes quando os filtros coincidem, embora possam falhar dramaticamente quando não o fazem, por exemplo, tornando-os um pouco frágeis.

… Faça Uso explícito do conhecimento facial e siga a metodologia de detecção clássica na qual características de baixo nível são derivadas antes da análise baseada no conhecimento. As propriedades aparentes da face, como a cor da pele e a geometria da face, são exploradas em diferentes níveis do sistema.

— Detecção Facial: A Survey, 2001.

alternadamente, a detecção facial baseada em imagens é holística e aprende a localizar e extrair automaticamente rostos de toda a imagem. As redes neurais encaixam nesta classe de métodos.

… address face detection as a general recognition problem. Representações de faces baseadas em imagens, por exemplo em matrizes de intensidade 2D, são diretamente classificadas em um grupo de face usando algoritmos de treinamento sem derivação de recursos e análise. estas técnicas relativamente novas incorporam implicitamente o conhecimento facial no sistema através de esquemas de mapeamento e formação.

— Detecção Facial: A Survey, 2001.

talvez o método dominante para detecção de rosto usado por muitos anos (e foi usado em muitas câmeras) foi descrito no artigo de 2004 intitulado “robusto detecção de objetos em tempo Real”, chamado de cascata detector ou simplesmente “cascata”.”

seu detector, chamado de cascata detector, consiste de uma sequência de classificadores de face simples a complexos e tem atraído extensos esforços de pesquisa. Além disso, o detector cascade foi implantado em muitos produtos comerciais, como smartphones e câmeras digitais. Enquanto Detectores de cascata podem encontrar com precisão faces verticais visíveis, eles muitas vezes não conseguem detectar faces de diferentes ângulos, por exemplo, visão lateral ou faces parcialmente oclusivas.

— Detecção De Face Multi-view usando redes neurais convolucionais profundas, 2015.

Para um tutorial sobre aprendizagem profunda para detecção de face, ver:

  • Como Realizar a Detecção de Rosto com uma Aprendizagem mais Profunda em Keras

Reconhecimento de Face Tarefas

A tarefa de reconhecimento de face é amplo e pode ser adaptado às necessidades específicas de um problema de previsão.

Por exemplo, no artigo de 1995 intitulado “Human and machine recognition of faces: A survey”, os autores descrevem três tarefas de reconhecimento facial:

  • Face Matching: Find the best match for a given face.
  • Face similaridade: encontrar rostos que são mais semelhantes a um dado rosto.
  • transformação da Face: gerar novas faces que sejam semelhantes a uma dada face.

eles resumem estas três tarefas separadas da seguinte forma:

a correspondência requer que a imagem de face correspondente candidato esteja em algum conjunto de imagens de face selecionadas pelo sistema. Semelhança de detecção requer, além da correspondência de que as imagens de rostos que são semelhantes a uma lembrou cara isso requer que a medida de similaridade utilizada pelo sistema de reconhecimento de perto coincidir com as medidas de similaridade usado por seres humanos Transformação aplicativos exigem que novas imagens criadas pelo sistema ser semelhantes aos humanos lembranças de um rosto.

— Human and machine recognition of faces: a survey, 1995.

O livro de 2011 sobre reconhecimento facial intitulado “Handbook of Face Recognition” descreve dois modos principais de reconhecimento facial, como:verificação facial. Um mapeamento um-para-um de uma dada face contra uma identidade conhecida (por exemplo, é esta a pessoa?).identificação facial. Um mapeamento de um para muitos para um dado rosto contra um banco de dados de rostos conhecidos (por exemplo, Quem é essa pessoa?).

espera-se que um sistema de reconhecimento facial identifique as faces presentes em imagens e vídeos automaticamente. Ele pode operar em um ou em ambos os modos: (1) verificação facial (ou autenticação), e (2) identificação facial (ou reconhecimento).

— Page 1, Handbook of Face Recognition. 2011.

podemos descrever o problema do reconhecimento facial como uma tarefa de modelagem preditiva supervisionada treinada em amostras com Entradas e Saídas.

em todas as tarefas, a entrada é uma foto que contém pelo menos uma face, provavelmente uma face detectada que também pode ter sido alinhada.

a saída varia com base no tipo de previsão necessária para a tarefa; por exemplo:

  • Pode então ser um rótulo de classe binária ou probabilidade de classe binária no caso de uma tarefa de verificação facial.
  • Pode ser um rótulo de classe categórica ou um conjunto de probabilidades para uma tarefa de identificação facial.
  • Pode ser uma métrica de semelhança no caso de uma tarefa de tipo de semelhança.

A aprendizagem profunda para o reconhecimento facial

o reconhecimento facial manteve-se uma área activa de investigação na visão computacional.

talvez um dos métodos mais amplamente conhecidos e adotados de ” aprendizagem mecânica “para reconhecimento facial foi descrito no artigo de 1991 intitulado” reconhecimento facial usando Eigenfaces.”Seu método, chamado simplesmente de “Eigenfaces”, foi um marco, pois alcançou resultados impressionantes e demonstrou a capacidade de abordagens holísticas simples.

imagens de Face são projetadas em um espaço de recursos (“espaço de face”) que melhor codifica a variação entre imagens de face conhecidas. O rosto espaço é definido pelo “eigenfaces”, que são os autovetores do conjunto de faces; eles não correspondem necessariamente às isolado características como olhos, ouvidos e narizes

— o Reconhecimento de rostos Usando Eigenfaces, 1991.

o artigo de 2018 intitulado “Deep Face Recognition: a Survey”, fornece um resumo útil da pesquisa de reconhecimento do estado da face ao longo dos últimos 30 anos, destacando a tendência geral dos métodos de aprendizagem holística (tais como Eigenfaces), para detecção de recursos artesanais locais, para métodos de aprendizagem rasos, para, finalmente, métodos de aprendizagem profunda que estão atualmente no estado da arte.

as abordagens holísticas dominaram a comunidade de reconhecimento facial nos anos 90. No início da década de 2000, descritores locais artesanais tornaram-se populares, e a abordagem de aprendizagem de recursos locais foi introduzida no final da década de 2000. o desempenho melhora constantemente de cerca de 60% para acima de 90%, enquanto a aprendizagem profunda aumenta o desempenho para 99.80% em apenas três anos.

— reconhecimento facial profundo: A Survey, 2018.dada a descoberta do AlexNet em 2012 para o problema mais simples da classificação de imagem, houve uma onda de pesquisas e publicações em 2014 e 2015 sobre métodos de aprendizagem profunda para reconhecimento facial. As capacidades rapidamente alcançaram desempenho de nível quase humano, em seguida, excederam o desempenho de nível humano em um conjunto de dados de reconhecimento facial padrão dentro de um período de três anos, o que é uma taxa surpreendente de melhoria dada as décadas anteriores de esforço.

existem talvez quatro sistemas marco na aprendizagem profunda para reconhecimento facial que impulsionaram essas inovações; eles são: DeepFace, a série de de DeepID de sistemas, VGGFace, e FaceNet. Vamos tocar brevemente em cada um.DeepFace é um sistema baseado em redes neurais convolucionais profundas descritas por Yaniv Taigman, et al. do Facebook AI Research e Tel Aviv. Foi descrito no artigo de 2014 intitulado ” DeepFace: Closing the Gap to Human-Level Performance in Face Verification.”Foi talvez o primeiro grande salto em frente usando a aprendizagem profunda para o reconhecimento facial, alcançando um desempenho próximo ao nível humano em um conjunto de dados padrão de referência.

o nosso método atinge uma precisão de 97,35% no conjunto de dados Wild (LFW), reduzindo o erro do estado actual da arte em mais de 27%, aproximando-se de perto do desempenho ao nível humano.

— DeepFace: Closing the Gap to Human-Level Performance in Face Verification, 2014.

O deepid, ou” Deep hidden IDentity features”, é uma série de sistemas (por exemplo, DeepID, DeepID2, etc.), descrito pela primeira vez por Yi Sun, et al. em seu artigo de 2014 intitulado ” Deep Learning Face Representation from Predicting 10,000 Classes.”Seu sistema foi descrito pela primeira vez muito como DeepFace, embora tenha sido expandido em publicações subsequentes para apoiar tanto as tarefas de identificação e verificação por treinamento via perda de contrasivo.

o principal desafio do reconhecimento facial é desenvolver representações de recursos eficazes para reduzir as variações intra-Pessoais ao mesmo tempo que aumenta as diferenças inter-pessoais. A tarefa de identificação da face aumenta as variações inter-pessoais ao desenhar deepid2 características extraídas de diferentes identidades, enquanto a tarefa de verificação da face reduz as variações intra-pessoais, puxando deepid2 características extraídas da mesma identidade juntos, ambos os quais são essenciais para o reconhecimento de face.

— Deep Learning Face Representation by Joint Identification-Verification, 2014.

os sistemas DeepID estavam entre os primeiros modelos de aprendizagem profunda para alcançar um desempenho melhor do que o humano na tarefa, por exemplo, DeepID2 atingiu 99.15% nas Faces rotuladas no conjunto de dados Wild (LFW), que é melhor do que o desempenho humano de 97.53%. Sistemas subsequentes como FaceNet e VGGFace melhoraram estes resultados.a FaceNet foi descrita por Florian Schroff, et al. no Google em seu artigo de 2015 intitulado ” FaceNet: Uma incorporação unificada para reconhecimento facial e agrupamento.”Seu sistema alcançou então resultados de última geração e apresentou uma inovação chamada ‘perda tripleta’ que permitiu que as imagens fossem codificadas de forma eficiente como vetores de recursos que permitiram o cálculo de similaridade rápida e a correspondência através de cálculos de distância.

FaceNet, que aprende diretamente um mapeamento de imagens de face para um espaço euclidiano compacto onde as distâncias correspondem diretamente a uma medida de semelhança de face. Nosso método usa uma rede convolucional profunda treinada para otimizar diretamente a incorporação em si, ao invés de uma camada intermediária de gargalo, como em abordagens de aprendizagem profunda anteriores. Para treinar, usamos trigémeos de remendos de face aproximadamente alinhados / Não-Alinhados gerados usando um novo método de mineração em tripleto online

— FaceNet: uma incorporação unificada para reconhecimento facial e Clustering, 2015.

para um tutorial sobre FaceNet, veja em:

  • How to Develop a Face Recognition System Using FaceNet in Keras

The VGGFace (for lack of a better name) was developed by Omkar Parkhi, et al. do Visual Geometry Group (VGG) em Oxford e foi descrito em seu artigo de 2015 intitulado “Deep Face Recognition.”Além de um modelo melhor sintonizado, o foco de seu trabalho foi em como coletar um conjunto de dados de treinamento muito grande e usá-lo para treinar um modelo CNN muito profundo para reconhecimento facial que lhes permitiu alcançar os resultados mais avançados em conjuntos de dados padrão.

… mostramos como um conjunto de dados em grande escala (imagens de 2,6 m, mais de 2,6 K de pessoas) pode ser montado por uma combinação de automação e humano no loop

— reconhecimento de face profunda, 2015.

Para um tutorial sobre VGGFace, ver:

  • Como Realizar o Reconhecimento de Rosto Com VGGFace2 em Keras

Embora estes podem ser a chave primeiros marcos no campo da aprendizagem profunda de visão por computador, o progresso continuou, com muita inovação focado em perda de funções para efetivamente treinar os modelos.

para um excelente resumo atualizado, consulte o artigo de 2018 “Deep Face Recognition: A Survey.”

Leitura Adicional

Esta secção fornece mais recursos sobre o tópico se você está procurando ir mais fundo.

Books

  • Handbook of Face Recognition, Second Edition, 2011.

trabalhos de reconhecimento facial

  • Reconhecimento Facial: A Literature Survey, 2003.
  • Detecção Facial: A Survey, 2001.reconhecimento humano e das faces por máquina: um inquérito, 1995.
  • Robust Real-time Object Detection, 2004.
  • reconhecimento facial usando Eigenfaces, 1991.

Deep Learning Face Recognition Papers

  • Deep Face Recognition: a Survey, 2018.reconhecimento facial profundo, 2015.FaceNet: a unified Embedding for Face Recognition and Clustering, 2015.DeepFace: Closing the Gap to Human-Level Performance in Face Verification, 2014.representação da Face da aprendizagem profunda através da identificação conjunta-verificação, 2014.representação facial de aprendizagem profunda a partir de previsão de 10 mil Classes, 2014.
  • Multi-view Face Detection Using Deep convolucional Neural Networks, 2015.from Facial Parts Responses to Face Detection: A Deep Learning Approach, 2015.superando o desempenho de verificação facial de nível humano na LFW com a GaussianFace, 2014.

Articles

  • Sistema de reconhecimento Facial, Wikipedia.
  • reconhecimento Facial, Wikipédia.
  • Detecção De Rosto, Wikipédia.
  • Faces marcadas no conjunto de dados Selvagem

resumo

neste post, você descobriu o problema do reconhecimento facial e como métodos de aprendizagem profunda podem alcançar desempenho sobre-humano.

especificamente, você aprendeu:

  • reconhecimento facial é um problema amplo de identificar ou verificar pessoas em fotografias e vídeos.o reconhecimento facial é um processo composto de detecção, alinhamento, extração de recursos, e uma tarefa de reconhecimento de modelos de aprendizagem profunda primeiramente abordados e depois excedeu o desempenho humano para tarefas de reconhecimento facial.tem alguma pergunta?Faça suas perguntas nos comentários abaixo e farei o meu melhor para responder.

    desenvolver modelos de aprendizagem profunda para a visão de hoje!

    Deep Learning for Computer Vision

    desenvolver os seus próprios modelos de visão em minutos

    …com apenas algumas linhas de código python

    descubra como no meu novo Ebook:
    Deep Learning for Computer Vision

    ele fornece tutoriais de auto-estudo sobre tópicos como:
    classification, object detection (yolo and rcnn), face recognition (vggface and facenet), data preparation and much more…

    finalmente trazer a aprendizagem profunda para os seus projetos de visão

    saltar os acadêmicos. Apenas Resultados.

    ver o que está dentro

    Tweet Share

Related Posts

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *