Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Industrial Internet of Things >> Integrado

Os fundamentos do reconhecimento facial


Desde tempos imemoriais, o rosto humano tem servido como o padrão mais simples de identificação. Assim, não é surpreendente ver que acabou sendo a técnica de identificação biométrica mais conveniente. Ao contrário de outros métodos biométricos como fala, impressões digitais, geometria da mão, impressão palmar, analisar um rosto não requer cooperação ativa do objeto em questão. O reconhecimento de rosto pode ser feito a partir de uma foto, vídeo ou captura ao vivo.

O reconhecimento de rosto é um termo amplo dado ao processo de identificação ou verificação de pessoas em fotos e vídeos. O método compreende detecção, alinhamento, extração de recursos e reconhecimento.

Apesar de ter vários desafios práticos, o reconhecimento facial encontra ampla utilização em várias áreas, como saúde, aplicação da lei, reserva ferroviária, segurança, automação residencial e escritórios.

Nesta postagem, você descobrirá o seguinte:

O que é reconhecimento facial?

O reconhecimento facial é uma técnica de identificação biométrica em que o software usa algoritmos de aprendizado profundo para analisar as características faciais de um indivíduo e armazenar os dados. O software então compara vários rostos de fotos, vídeos ou capturas ao vivo com os rostos armazenados nos bancos de dados e verifica as identidades. Normalmente, o software identifica aproximadamente 80 pontos nodais distintos no rosto de um indivíduo. Os pontos nodais servem como pontos finais para definir as variáveis ​​do rosto de um indivíduo. As variáveis ​​incluem - formato dos lábios, olhos, comprimento e largura do nariz e profundidade das órbitas oculares.

A popularidade do reconhecimento facial em comparação com outras técnicas biométricas decorre do fato de que geralmente tende a ser mais preciso e menos intrusivo.

Classificação do algoritmo de reconhecimento facial O reconhecimento facial é a técnica de reconhecer uma face já cadastrada no banco de dados. Um sistema de reconhecimento facial está amplamente envolvido em duas tarefas - verificação e Identificação .

A verificação visa responder à pergunta:"Ele é a pessoa que afirma ser?" Quando um indivíduo afirma ser uma pessoa específica, o sistema de verificação encontra seu perfil no banco de dados. Ele compara o rosto da pessoa com o do perfil presente no banco de dados para verificar se eles correspondem. É um sistema de correspondência 1 para 1, pois o sistema deve comparar o rosto do indivíduo com um rosto específico já presente no perfil vinculado. Assim, a verificação é mais rápida do que a identificação e mais precisa.

Na identificação de faces, o sistema tenta comparar a face de entrada com todas as faces presentes em seu banco de dados. Este é um sistema de correspondência 1 para n.

Vários estágios de um sistema de reconhecimento facial

Vamos falar sobre os dois estágios de um sistema de reconhecimento facial: registro e reconhecimento .

No primeiro estágio ou no estágio de registro, um conjunto de faces conhecidas é inscrito. O extrator de recurso então gera um vetor de recurso exclusivo para cada uma das faces registradas. O vetor de recursos é gerado com base nas características faciais exclusivas de cada um dos rostos. O vetor de recursos extraído, que é único para cada face, torna-se parte do banco de dados registrado e pode ser usado para referência futura.

No estágio de reconhecimento, uma imagem de entrada é fornecida ao extrator de recursos para realizar o reconhecimento de rosto. Aqui também, o extrator de recurso gera um vetor de recurso exclusivo para a imagem da face de entrada. Este vetor de características é então comparado aos vetores de características já disponíveis no banco de dados. O bloco de 'classificação baseada em recursos' compara a distância entre as características faciais do rosto de entrada e os rostos registrados no banco de dados. Quando um rosto registrado atende aos critérios de correspondência, a classificação baseada em recursos retorna o ID de rosto correspondente encontrado no banco de dados.

Elementos básicos de um sistema de reconhecimento facial

Os principais componentes de um sistema de reconhecimento facial são:detecção de rosto, detecção de pontos de referência, detecção de vivacidade, módulo de reconhecimento de rosto (reconhecimento de rosto, identificação de rosto / verificação de rosto).

No início, uma imagem ou um quadro de um fluxo de vídeo é enviado para o módulo de detecção de rosto, onde os rostos são detectados a partir da imagem de entrada. Como saída, ele envia as coordenadas da caixa delimitadora para os rostos detectados. O problema aqui é que, embora o detector de rosto localize os rostos da imagem e crie a caixa delimitadora para cada rosto, ele não garante o alinhamento adequado dos rostos e as caixas delimitadas por rosto estão sujeitas a jitter. Assim, um estágio de pré-processamento facial é necessário para obter um vetor facial eficaz. Este estágio ajuda a melhorar a capacidade de detecção de rosto do sistema.

O pré-processamento do rosto é feito no bloco de detecção do ponto de referência, que identifica a localização dos pontos de referência (também chamados de pontos de referência fiduciais) no rosto, como olhos, nariz, lábios, queixo, mandíbula. Esses pontos de referência de rosto detectados são então compensados ​​por mudanças espaciais no rosto. Isso é feito identificando a estrutura geométrica da face e obtendo um alinhamento canônico com base em várias transformações, como a rotação de escala de translação. Isso gera uma caixa delimitadora estreita da face com coordenadas canônicas normalizadas.

Antes de enviarmos o rosto alinhado para o módulo de reconhecimento facial, é essencial verificar se há spoofing de rosto para garantir que o rosto seja obtido de uma alimentação ao vivo de imagem ou vídeo e não seja um spoofing para obter acesso não autorizado. O detector de vivacidade faz essa verificação.

A imagem é então enviada para o próximo bloco, que é o bloco de reconhecimento de rosto. Este bloco realiza uma série de tarefas de processamento antes que o reconhecimento facial seja concluído com sucesso. A primeira etapa é o processamento de face, que é necessário para lidar com variações dentro da classe na face de entrada. Esta é uma etapa essencial porque não queremos que o módulo do reconhecedor de rosto se distraia com variações como diferentes poses, expressões, alterações de iluminação e oclusões presentes na imagem facial de entrada. Depois que as variações intraclasse na face de entrada foram resolvidas, a próxima etapa de processamento importante é a extração de recursos. A função de um extrator de recursos já foi discutida acima.

A etapa final de um módulo de reconhecimento facial é a etapa de correspondência de faces, onde é feita uma comparação entre os vetores de características obtidos na última etapa e os vetores de faces registrados no banco de dados. Nesta etapa, a similaridade é calculada e uma pontuação de similaridade é gerada, a qual é usada posteriormente para a identificação ou verificação facial de acordo com o requisito.

Um exemplo de SDK de reconhecimento facial

Usaremos a solução de software SDK de reconhecimento facial licenciável da PathPartner para mostrar como implementar um sistema preciso de detecção e reconhecimento facial. Composto por aprendizado de máquina e algoritmos de visão computacional, o SDK permite que você execute seis tarefas críticas de reconhecimento facial.

O SDK vem em duas variantes:
  1. Variante de baixa complexidade com um tamanho de modelo tão baixo quanto 10 MB, adequado para dispositivos finais com pouca memória e capacidade de processamento.
  2. Variante de alta complexidade com um tamanho de modelo de 90 MB adequado para dispositivos de borda de serviço completo.

O algoritmo é otimizado em uma variedade de plataformas embarcadas da Texas Instruments, Qualcomm, Intel, Arm, NXP e pode funcionar posteriormente nas plataformas de servidor em nuvem.

Desenvolvendo um sistema de reconhecimento facial baseado na CNN

A abordagem baseada na CNN é preferível à abordagem não baseada na CNN, a fim de reduzir o esforço para combater os desafios como a oclusão e diferentes condições de iluminação. O processo de reconhecimento inclui as seguintes etapas:

Coleta de dados

Os conjuntos de dados disponíveis publicamente não cobrem todos os parâmetros de avaliação que são críticos para o reconhecimento facial. Portanto, isso requer benchmarking detalhado em uma série de conjuntos de dados padrão e internos, cobrindo uma ampla gama de variações que podem ser usadas para a análise de face. As seguintes variações são suportadas neste SDK:pose, iluminação, expressão, oclusão, gênero, plano de fundo, etnia, idade, olhos, aparência.

Projeto de modelo de aprendizado profundo

A complexidade do modelo depende do aplicativo do usuário final. Este SDK é implementado em sistemas de monitoramento de driver (DMS) e sistemas de atendimento inteligente.

Sistema de monitoramento do motorista:a fim de avaliar o estado de alerta do motorista e o foco em tempo real, a computação de ponta é necessária. Assim, é necessário um sistema robusto e de baixa complexidade. Aqui, um modelo de aprendizado de máquina é usado para detecção de rosto e regressão de pontos de referência e um modelo CNN superficial e profundo para estimativas e classificações.

Treinamento e otimização

Os módulos são pré-treinados no conjunto de dados que foi preparado inicialmente. A solução é testada em vários conjuntos de dados de código aberto, como FDDB, LFW e um conjunto de dados desenvolvido internamente.

Superando os vários desafios
  1. Variação de iluminação - para contornar o problema apresentado devido à variação nas condições de iluminação, duas abordagens são adotadas. Uma delas é a conversão de imagens RGB em NIR usando abordagens baseadas em Gantt. Outra é treinar o modelo com dados RGB e ajustá-lo com imagens NIR na entrada.
  2. Variações de pose e expressão - se as imagens de rosto estiverem disponíveis em uma visualização não frontal, a visualização canônica da imagem de rosto precisa ser derivada de uma ou mais das imagens disponíveis. Isso é obtido estimando a mudança na postura em relação aos ângulos da cabeça com base nos pontos de referência e, em seguida, usando inclinação, alongamento, espelhamento e outras operações para obter o curso frontal. Isso permite que o sistema de reconhecimento facial produza representações invariáveis ​​de pose e melhora significativamente a precisão do reconhecimento facial. A fim de combater os efeitos devido à variação na expressão, o alinhamento facial é realizado no estágio de pré-processamento.
  3. Oclusão - atualmente, o SDK está sendo treinado para detectar rostos mascarados. Nesse caso, o modelo está sendo treinado para trabalhar apenas com dados ao redor dos olhos e da testa; no entanto, essa abordagem oferece os melhores resultados em um ambiente não controlado, como configurações de escritório, quando um número limitado de pessoas está registrado no sistema.
  4. Variação de aparência - diferenças nos estilos de cabelo, envelhecimento e uso de cosméticos podem causar grandes diferenças na aparência dos indivíduos. Assim, degradando em grande medida a precisão do reconhecimento facial. Para resolver esse problema, o SDK usa uma representação e um esquema de correspondência robusto para mudanças na aparência.

Conclusão

Hoje, o reconhecimento facial é considerado a mais natural de todas as medidas biométricas. O aprendizado profundo se tornou o componente central da maioria dos algoritmos de reconhecimento de rosto em desenvolvimento. Algoritmos de reconhecimento facial estão vendo um progresso exponencial. De acordo com um relatório recente do NIST, grandes ganhos na precisão do reconhecimento foram feitos nos últimos cinco anos (2013-2018) e excedem as melhorias alcançadas no período 2010-2013.

Apesar de vários desafios práticos, a tecnologia de reconhecimento facial está sendo amplamente usada em vários setores, como varejo, automotivo, bancário, saúde, marketing e muito mais. Além de melhorar a precisão do reconhecimento de uma pessoa, os algoritmos de reconhecimento facial expandem seu escopo na detecção de emoções e comportamentos de rostos.

Integrado

  1. O 555 IC
  2. A Fórmula Quadrática
  3. Windows IoT:Porta de reconhecimento facial
  4. Os Fundamentos da Fabricação de Placas de Circuito Impresso
  5. Os Fundamentos da Aplicação de Válvulas Eletrohidráulicas
  6. Interromper ou morrer? Comece com os fundamentos
  7. Fundamentos de um centro de usinagem vertical (VMC)
  8. Fundamentos da lâmina de cisalhamento:os efeitos da qualidade da lâmina no desempenho de cisalhamento
  9. Os fundamentos da zincagem e seus benefícios associados
  10. Os fundamentos da chanfradura e rebarbação de engrenagens