o olá o reconhecimento parcial é uma das grandes áreas da visão computacional e existem vários métodos atualmente que conseguem realizar este tipo de detecção cada um possui seus prós e contras porém a técnica que nós vamos ver hoje é um dos grandes avanços nessa área Ela utiliza não apenas um me faz um conjunto deles que aplicados a uma imagem consegue identificar uma pessoa com bastante precisão Então vamos agora ver uma introdução sobre o Face recognition e se você quer aprender visão computacional do zero confira nosso curso que vai te ensinar desde os fundamentos até as técnicas mais avançadas para o processamento demais não perca essa chance o link está na descrição do curso é é bom pessoal Antes de nós irmos direto ao código como usar aqui Uma Breve olhada em um artigo publicado pelo lado que é um dos criadores na biblioteca e aquele propõe um desafio que é testar se o método criado por ele né de reconhecimento facial consegue identificar a diferença entre essas duas pessoas Então são duas questões bastante parecidas um deles é o woofer é um famoso ator e o outro é o Keri Smith que é um cantor de rock então eles são bem parecidos né até para um ser humano é um pouco complicado diferenciar os dois porém o artigo ele vai explicar como que funciona a biblioteca Face recognition e também vai provar que um método dele consegue fazer com que o computador possa distinguir essas duas pessoas que são bastante parecidas ó e aqui ele vai explicar o passo a passo de como que foi Oi Teca então primeiro nós temos a detecção de faces dentro da imagem E aí esta detecção vai utilizar o método hog que é o histograma oriental A Gradiente que é uma das técnicas de reconhecimento facial né Assim como por exemplo a Cascade e também consegue fazer a detecção porém o método hog que já é mais novo né além do ano de 2005 Oi e ele possui uma precisão maior ele tá explicando um pouco sobre o método Rogue bom e uma vez que nós temos as peças Ele utiliza um método chamado rappi e consiste em centralizar a imagem do rosto né isso porque nem sempre nós temos um rosto na posição central da imagem né às vezes nós temos uma pessoa que está olhando para o lado então neste segundo passo computador vai tentar pegar essa imagem e não está centralizada e ele vai capturar alguns pontos dessa imagem é que nós chamamos de Leandro Marques aos peixes lendo Marques e então ele vai tentar centralizar a imagem sem perder Claro os detalhes que vão determinar quem é aquela pessoa é bom terceiro passo é o encoding fez e aqui que a Biblioteca começa a ficar interessante porque esse método diferente de alguns outros nós temos de reconhecimento facial ele não precisa de um extenso treinamento de imagens de uma pessoa em sua maioria dos métodos que nós temos em reconhecimento às precisamos tirar várias fotos de uma pessoa e treinar o modelo baseado nas imagens para reconhecer aquela pessoa dado uma nova imagem porém neste método é aplicado uma técnica The Deep Lane bom então eles treinaram uma rede neural para conseguir identificar Quais são os pontos da face e melhor identificam um indivíduo bom então quanto mais passamos uma imagem de um rosto para essa rede neural ela vai extrair 128 pontos que são medidas que melhor identificam um ser humano bom então uma vez nós temos essas medidas mas não precisamos de nenhuma base de dados de imagens para fazer o reconhecimento dessa pessoa em uma nova foto só Nós só precisamos ter essas medidas e então fazer a comparação é então que ele explica como método foi utilizado para diferenciar aquelas duas pessoas eu falei no início bom e que nós temos o processo de in Cold na gerando que a 128 medidas deste rosto a imagem de input Oi e o processo quatro encontrar a pessoa baseado no incolde ou seja nessa 128 medidas ó e aqui nós vemos que o programa Conseguiu reconhecer perfeitamente quem é quem na imagem Então apesar do fato de eles serem extremamente parecido com o computador conseguiu identificá-lo é muito bem tendo essa introdução vamos para aula é bom pessoal para prosseguir com projeto nós precisamos baixar o visual Studio é um editor de código da Microsoft e para rodar este método de reconhecimento facial nós vamos precisar de algumas funcionalidades dele então vou baixar aqui a versão community a versão gratuita é uma vez que o download está feito e ao abrir o arquivo você vai chegar até esta página de instalação e aqui nós vamos selecionar esta opção que ao desenvolvimento ser mais mais para desktop e quem não vamos manter essas configurações habilitados por padrão e fazer o download e instalação e esse processo pode demorar um pouco é normal e após concluído Nós já vamos direto para o código Python é muito bem pois sou aqui na pasta do nosso projeto e que eu tenho três imagens uma do illumask uma dor e romance para nós fazermos um teste é uma imagem diferente né no ângulo diferente tem uma imagem do Tony E ai temos também a pasta pessoas nós vamos utilizar mais tarde é um projeto e ela possui três imagens uma do William mansque mandou Obama e o mundo o Tony Vamos deixar esses arquivos disponíveis no anexo da aula bom então nós vamos precisar de algumas bibliotecas para rodar esse método de reconhecimento facial a primeira biblioteca que nós vamos precisar e o abrir aqui o Python interpreter em Minas vamos precisar da biblioteca se make E você vai fazer o download e instalação das bibliotecas I make em seguida a biblioteca de Lipe e a biblioteca a Face recognition e também vamos precisar do opencv traço Python é muito bem tendo essas bibliotecas ou criar aqui um arquivo que será tô testando FR de Face recognition bom então vamos testar a biblioteca importante primeiramente opencv Oh e vamos importar também biblioteca Face recognition as fr é bom pessoal então vamos ver aqui com a imagem eu vou começar para a imagem do Elon musk Então vou criar aqui MG long e nós vamos carregar essa primeira imagem é dela que nós vamos extrair os pontos faciais para então comparar com a imagem de teste e ver se o algoritmo vai conseguir reconhecer eu tô nós temos uma função no Face recognition que faz a leitura da imagem como editar fr. im net E aí nós passamos o caminho da imagem e qual será pylon. Jpg e como nós podemos exibir a imagem como você vê: e m show e colocar aqui long o e variável e MG e long E aí e em seguida você vê 2.
8 aqui há um delay de zero E aí a mãe percebem que essa imagem teve uma mudança na escala de cor E isso se deve ao fato de que internamente a biblioteca Face recognition trabalha com padrão RGB em algumas imagens nós utilizamos tem um padrão bgr é então que nós vamos fazer aqui e é mudar a escala de cor vou utilizar aqui a mesma variável MG longe será igual cv2. cv ter Color tô passando imagem long e eu vou procurar o código CV dois. Color o bgr to RGB bom então agora quando nós exibimos a imagem e ela vai estar no padrão original oi oi conforme nós vimos da introdução e essa biblioteca ela faz um processamento de várias etapas na imagem Então a primeira etapa que ela faz é reconhecer o rosto dentro da imagem né fazer a localização do rosto então obviamente ela faz isso internamente mas nós temos uma função que retorna para nós as coordenadas do rosto só vou criar que fez Locke e localização o que será igual FR.
Fez Locations passando a imagem é isso nós darmos um print aqui na variável Face lock E aí e nós vamos ver que ele retornou quatro coordenadas né Quatro valores de coordenadas esses valores eles funcionam semelhante ao x y w h que nós sempre utilizamos porém eles têm uma variação bom então se eu quiser por exemplo colocar um retângulo ao redor dessa Face vamos colocar aqui cê vê: tangle passando a imagem e as coordenadas iniciais serão fez lock e na posição 3 do Rei representando X o e representando o y nós temos Facebook na posição 0 e depois nós já temos calculado as coordenadas finais do retângulo só nós vamos utilizar o Face Lopes na posição é um e é a posição 2 é só trocar aqui é a imagem e longo né não MG Tá bom então em seguida vamos colocar a cor e colocar aqui um verde com 2 pixels de espessura E como está Então antes de executar aqui vamos extrair dessa função Face Locations que ele retorna ao Rei vamos extrair a primeira posição isso porque nós podemos ter mais de uma Face dentro da imagem é nós sabemos aqui na imagem nós possui apenas uma fácil então eu vou estar apenas a primeira posição de dentro dessa lei se não vai levar retornar um erro aqui dentro do código o cão executando bom Então esse foi o resultado ele conseguiu colocar aqui perfeitamente o retângulo ao redor da face e este método é feito utilizando o algoritmo Rogue e após localizar o rosto localizar a faça nós temos fazer o em could we could é o processo que vai extrair a 128 medidas de dentro do rosto da imagem nós vamos colocar aqui em code o Elon quem será igual FR. Fez encodings tá passando a imagem o Willow musk e novamente pegando a primeira posição do array é só agora vamos pintar essa variável eu vou excluir aqui essa linha E aí bom Então veja aqui ele retornou ao Rei com uma série de valores né esses valores são as medidas do rosto do Elon musk bom então Quando nós formos comparar com uma nova imagem nós vamos utilizar essas medidas e verificar qual a similaridade com as medidas da próxima imagem há como voltar aqui acima um carregar também a imagem de teste com será MG e long Test a ser hfr. Cloth Myth tá passando a imagem de teste e vou repetir esse mesmo processo aqui também converter a imagem em RGB O porém passando a variável Elon teste Tá bom então já vou pular aqui para parte do iCloud eu vou criar o em could be long Test a chegar o FR.