1 / 24

Detector de barba em fotografias

Detector de barba em fotografias. Redes Neurais/Inteligência Artificial Gean Paulo Barros Kláudio Henrique M. Medeiros Laura Dutra de Menezes. Definição do problema. Em bancos de dados com muitas imagens, é importante nos apoiarmos em algumas características para separar os dados.

reece
Download Presentation

Detector de barba em fotografias

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Detector de barba em fotografias Redes Neurais/Inteligência Artificial Gean Paulo Barros Kláudio Henrique M. MedeirosLaura Dutra de Menezes

  2. Definição do problema • Em bancos de dados com muitas imagens, é importante nos apoiarmos em algumas características para separar os dados. • Se a quantidade de dados for muito grande, fica inviável para um humano separar manualmente.

  3. Descrição do projeto • O projeto consiste na construção e treinamento de uma rede neural que classifique as pessoas em imagens passadas para ela como barbadas ou não.

  4. Estratégias para resolução • Para resolver o problema, usamos técnicas de Visão Computacional, Inteligência Artificial e Redes Neurais. • Visão Computacional: detecção de faces, segmentação de imagens e extração de características. • Redes Neurais: uso da abordagem Multi-LayerPerceptron, backpropagation.

  5. Estratégias para resolução • Durante este projeto, duas estratégias foram utilizadas. • Usamos um limiar para binarização da imagem, uma máscara de pesos e treinamos a rede. Uma pessoa seria classificada como barbada se a taxa de pixels pretos após a binarização fosse alto o suficiente. • Usamos a técnica de Local BinaryPatterns (LBP) para calcular o valor de nível de cinza de um pixel em função de seus vizinhos, construímos um histograma de nível de cinza e treinamos a rede. Uma pessoa seria considerada barbada se houvesse uma quantidade suficiente de descontinuidades nas cores.

  6. Estratégia da binarização

  7. Elementos de Visão Computacional • Binarização da imagem, segmentação da barba, cálculo de pontos pretos em cada segmento da imagem.

  8. Elementos de Redes Neurais • A rede neural Multi-LayerPerceptron usa backpropagation e minimização de erro no treinamento. • A quantidade de épocas é critério de parada do treinamento (foi usado 3000). • Usamos fotos de pessoas barbadas e não-barbadas para treinamento e fotos de pessoas barbadas, não-barbadas e fotos “confusas” no teste.

  9. Elementos de Redes Neurais • Rede neural usada para classificação.

  10. Resultados obtidos • Épocas = 2000 • Output: 0.9861940648297871 Expected: 1.0 Output: 0.8499247580569687 Expected: 1.0 • Output: 0.4974562224208351 Expected: 1.0 Output: 0.9655933631094192 Expected: 1.0 • Output: 0.9055234623791313 Expected: 1.0 Output: 0.6433688735570527 Expected: 1.0 • Output: 0.08323963777354385 Expected: 1.0 Output: 0.9690658663292349 Expected: 1.0 • Output: 0.9814613448314898 Expected: 1.0 Output: 0.9766023027282116 Expected: 1.0 • Output: 0.7412806201628845 Expected: 1.0 Output: 0.9884775881275171 Expected: 1.0 • Output: 0.6863341054133643 Expected: 1.0 Output: 0.1307606382428527 Expected: 1.0 • Output: 0.5671966845275148 Expected: 1.0 Output: 0.9889073758230608 Expected: 1.0 • Output: 0.5451663257364684 Expected: 1.0 Output: 0.07119817749191974 Expected: 1.0 • Output: 0.98766946748858 Expected: 1.0 Output: 0.057927497883103404 Expected: 0.0 • Output: 0.9843062543500479 Expected: 0.0 Output: 0.47601732132310626 Expected: 0.0 • Output: 0.05902913101226488 Expected: 0.0 Output: 0.06978186363516721 Expected: 0.0 • Output: 0.8505239279329824 Expected: 0.0 Output: 0.2149094373597048 Expected: 0.0 • Output: 0.3531585424936426 Expected: 0.0 Output: 0.12615414563207858 Expected: 0.0 • Output: 0.05913727882027054 Expected: 0.0 Output: 0.1227239715194805 Expected: 0.0 • Output: 0.0755282671741752 Expected: 0.0 Output: 0.48149579464021913 Expected: 0.0 • Output: 0.12240226503302304 Expected: 0.0 Output: 0.11497987503729333 Expected: 0.0 • Output: 0.3338233316324114 Expected: 0.0 Output: 0.11477105761239936 Expected: 0.0 • Output: 0.4346140797043658 Expected: 0.0 Output: 0.13429158160800791 Expected: 0.0 • Taxa de acerto = 32/38 (84%)

  11. Resultados obtidos • Épocas = 1000000 • Output: 0.9990560600298203 Expected: 1.0 Output: 0.9999995112464399 Expected: 1.0 • Output: 0.9603911266474611 Expected: 1.0 Output: 0.9967099816803642 Expected: 1.0 • Output: 0.9998438550050472 Expected: 1.0 Output: 0.9999996554133375 Expected: 1.0 • Output: 1.8320158219234922E-6 Expected: 1.0 Output: 0.9999990802136012 Expected: • Output: 0.999999599121801 Expected: 1.0 Output: 0.030907532128465892 Expected: 1.0 • Output: 1.3332350512144617E-5 Expected: 1.0 Output: 0.5039459426070423 Expected: 1.0 • Output: 2.3433824405011217E-9 Expected: 1.0 Output: 3.4269322122683765E-5 Expected: 1.0 • Output: 0.9999996259705186 Expected: 1.0 Output: 0.9999987574404331 Expected: 1.0 • Output: 0.9960728802392983 Expected: 1.0 Output: 2.106918322554876E-4 Expected: 1.0 • Output: 0.9999992423825035 Expected: 1.0 Output: 4.332590588857187E-4 Expected: 0.0 • Output: 0.9999995956172157 Expected: 0.0 Output: 5.11768947992957E-7 Expected: 0.0 • Output: 9.158039471360628E-6 Expected: 0.0 Output: 4.46242065990349E-5 Expected: 0.0 • Output: 0.8373958844934365 Expected: 0.0 Output: 0.08437344221589521 Expected: 0.0 • Output: 2.6802413067578826E-6 Expected: 0.0 Output: 3.6490155089645226E-5 Expected: 0.0 • Output: 4.247963336188048E-6 Expected: 0.0 Output: 5.849972942174981E-4 Expected: 0.0 • Output: 3.1890247213250536E-5 Expected: 0.0 Output: 0.9711538974359608 Expected: 0.0 • Output: 4.392869102630845E-6 Expected: 0.0 Output: 2.103780130897108E-6 Expected: 0.0 • Output: 2.553857494999205E-5 Expected: 0.0 Output: 0.0032539739902122853 Expected: 0.0 • Output: 0.025578791156717247 Expected: 0.0 Output: 0.002110720342746829 Expected: 0.0 • Taxa de acerto = 29/38 (76%)

  12. Casos positivos (binarização) • Ótimo para classificar pessoas com barba escura. • Bom para classificar pessoas com barba densa.

  13. Casos negativos (binarização) • Péssimo para classificar pessoas com pele escura ou barba clara. • Não muito bom para pessoas de barba rala. • Não muito bom com pessoas que usam roupas escuras (podem eventualmente aparecer na segmentação).

  14. Estratégia do LBP

  15. Local BinaryPatterns • LBP é uma técnica usada em reconhecimento de faces e detecção de texturas. • O valor de um pixel será substituído pelo código gerado.

  16. Local BinaryPatterns

  17. Local BinaryPatterns • Na implementação mais usual de LBP, são feitas comparações na forma: if (valor do pixel < centro) then ligue o bit correspondente no código • Conseguimos um resultado melhor adaptando estes trechos para: if (Math.abs(valor do pixel – centro) > 20) then ligue o bit correspondente no código

  18. Histograma de Local BinaryPattern • Feito este processo, foi construído um histograma com 256 entradas. Para cada entrada, foi calculado a porcentagem de pixels na imagem naquela classe.

  19. Elementos de Redes Neurais • A rede neural Multi-LayerPerceptron usa backpropagation e minimização de erro no treinamento. • A quantidade de épocas é critério de parada do treinamento (foi usado 150000). • A quantidade de entradas na rede agora é 256 (uma para cada nível de cinza após o LBP), portanto foi necessário uma quantidade (bem) maior de épocas.

  20. Resultados obtidos • Output: 0.9114529741515617 Expected: 1.0 Output: 0.3982417911106177 Expected: 1.0 • Output: 0.9124925910136579 Expected: 1.0 Output: 0.9598221406647397 Expected: 1.0 • Output: 0.843119351791984 Expected: 1.0 Output: 0.9617807778391703 Expected: 1.0 • Output: 0.9857677544485014 Expected: 1.0 Output: 0.6274472184253603 Expected: 1.0 • Output: 0.5626601414147145 Expected: 1.0 Output: 0.9986364404854209 Expected: 1.0 • Output: 0.6603521564570772 Expected: 1.0 Output: 0.9878773636889654 Expected: 1.0 • Output: 0.9954454342329163 Expected: 1.0 Output: 0.9998156875574431 Expected: 1.0 • Output: 0.7333281845245864 Expected: 1.0 Output: 0.4615983938519976 Expected: 1.0 • Output: 3.022780226149874E-4 Expected: 1.0 Output: 0.8848915379119332 Expected: 1.0 • Output: 0.9745685120388294 Expected: 1.0 Output: 0.5785584152548727 Expected: 0.0 • Output: 0.43966680152573373 Expected: 0.0 Output: 0.1844652063782568 Expected: 0.0 • Output: 0.23474918162530425 Expected: 0.0 Output: 0.18706911968938753 Expected: 0.0 • Output: 0.35334640686704694 Expected: 0.0 Output: 0.4609657301114388 Expected: 0.0 • Output: 0.26353455900305706 Expected: 0.0 Output: 0.13096397214102945 Expected: 0.0 • Output: 0.02503435144239927 Expected: 0.0 Output: 0.5860238742037481 Expected: 0.0 • Output: 0.5317327222567582 Expected: 0.0 Output: 0.18513086771119108 Expected: 0.0 • Output: 0.4634602274177311 Expected: 0.0 Output: 0.28937650200895765 Expected: 0.0 • Output: 0.19816276935828137 Expected: 0.0 Output: 0.03936934463117415 Expected: 0.0 • Output: 0.9626539972310897 Expected: 0.0 Output: 0.9749989526056474 Expected: 0.0 • Taxa de acerto: 30/38 (78%)

  21. Casos positivos (LBP) • Muito bom para detectar barba rala ou curta. • Bom com pessoas de barba mais clara (pois o LBP irá tratar barbas claras e escuras da mesma forma).

  22. Casos negativos (LBP) • Mau quando a barba é densa a ponto de não haver textura. • Se a pele for porosa ou os pelos de barba forem muito curtos, a rede pode confundir com textura de barba.

  23. Binarizaçãovs LBP • Binarização funciona bem em alguns casos, mas é uma implementação que funciona mal com barbas claras (não serão barbadas) e pessoas negras (serão barbadas). • Local BinaryPatterns trata textura e não cor, e possui resultados mais coerentes em uma diversidade maior de situações. Porém é bastante sensível a barbas curtas demais (o indivíduo será barbado mesmo que tenha pouca barba). • Concluímos então que LBP é a técnica mais apropriada para esta situação.

  24. Demonstração prática

More Related