Optimization of a face detection algorithm for real-time mobile phone applications
Autor(a) principal: | |
---|---|
Data de Publicação: | 2009 |
Tipo de documento: | Dissertação |
Idioma: | eng |
Título da fonte: | Repositório Institucional da UFPE |
Texto Completo: | https://repositorio.ufpe.br/handle/123456789/2335 |
Resumo: | Desde equipamentos de vigillância por vídeo a câmeras digitais e telefones celulares, a detecção de rostos e uma funcionalidade que esta rapidamente ganhando peso no projeto de interfaces de usuario mais inteligentes e tornando a interação homem-maquina cada vez mais natural e intuitiva. Com isto em mente, fabricantes de chips estão embarcando esta tecnologia na sua nova geração de processadores de sinal de imagem (ISP) desenvolvidos especificamente para uso em aparelhos celulares. O foco deste trabalho foi analisar um algoritmo para detecção de rostos para suportar a definição da arquitetura mais adequada a ser usada na solução final. Um algoritmo inicial baseado na tecnica de Cascata de Caracteristicas Simples foi usado como base para este trabalho. O algoritmo inicial, como especificado, leva quase quarenta segundos para processar um unico quadro de imagem no processador alvo, tempo este que inviabilizaria o uso desta solução. Focando na implementação de um novo ISP, o algoritmo foi completamente reescrito, otimizado e propriamente mapeado na plataforma alvo, ao ponto onde um fator de aceleração de 167x foi atingido e uma imagem de pior caso agora leva menos de 250 milissegundos para ser processada. Este numero e ainda mais baixo se for considerada a media em um conjunto maior de imagens ou um vídeo, caindo para cerca de 100 milissegundos por quadro de imagem processado. Não obstante, performance não foi o unico alvo, tambem a quantidade de memoria necessaria foi dramaticamente reduzida. Isto tem um impacto direto na area de silicio requerida pelo circuito e conseq uentemente menores custos de producao e consumo de potência, fatores criticos em um sistema para aplicações moveis. E importante ressaltar que a qualidade não foi deixada de lado e em todas as otimizações realizadas, tomou-se o cuidado de verificar que a qualidade de detecção não tinha sido impactada. Este documento apresenta a pesquisa feita e os resultados obtidos. Começa por uma breve introdução ao assunto de Visão Computacional e aos desafios de projetar uma solução de detecção de rostos. Apos esta introdução, o algoritmo que serviu como base para este trabalho e apresentado juntamente com as otimizações mais relevantes ao nivel algoritmico para melhorar a performance. Na sequência, instruções customizadas desenvolvidas para acelerar a execução do algoritmo na solução final são apresentadas e discutidas |
id |
UFPE_32c3dc05c40eed072cb701e9fbd762a0 |
---|---|
oai_identifier_str |
oai:repositorio.ufpe.br:123456789/2335 |
network_acronym_str |
UFPE |
network_name_str |
Repositório Institucional da UFPE |
repository_id_str |
2221 |
spelling |
Schwambach Costa, VítorNatividade da Silva Barros, Edna 2014-06-12T15:56:57Z2014-06-12T15:56:57Z2009-01-31Schwambach Costa, Vítor; Natividade da Silva Barros, Edna. Optimization of a face detection algorithm for real-time mobile phone applications. 2009. Dissertação (Mestrado). Programa de Pós-Graduação em Ciência da Computação, Universidade Federal de Pernambuco, Recife, 2009.https://repositorio.ufpe.br/handle/123456789/2335Desde equipamentos de vigillância por vídeo a câmeras digitais e telefones celulares, a detecção de rostos e uma funcionalidade que esta rapidamente ganhando peso no projeto de interfaces de usuario mais inteligentes e tornando a interação homem-maquina cada vez mais natural e intuitiva. Com isto em mente, fabricantes de chips estão embarcando esta tecnologia na sua nova geração de processadores de sinal de imagem (ISP) desenvolvidos especificamente para uso em aparelhos celulares. O foco deste trabalho foi analisar um algoritmo para detecção de rostos para suportar a definição da arquitetura mais adequada a ser usada na solução final. Um algoritmo inicial baseado na tecnica de Cascata de Caracteristicas Simples foi usado como base para este trabalho. O algoritmo inicial, como especificado, leva quase quarenta segundos para processar um unico quadro de imagem no processador alvo, tempo este que inviabilizaria o uso desta solução. Focando na implementação de um novo ISP, o algoritmo foi completamente reescrito, otimizado e propriamente mapeado na plataforma alvo, ao ponto onde um fator de aceleração de 167x foi atingido e uma imagem de pior caso agora leva menos de 250 milissegundos para ser processada. Este numero e ainda mais baixo se for considerada a media em um conjunto maior de imagens ou um vídeo, caindo para cerca de 100 milissegundos por quadro de imagem processado. Não obstante, performance não foi o unico alvo, tambem a quantidade de memoria necessaria foi dramaticamente reduzida. Isto tem um impacto direto na area de silicio requerida pelo circuito e conseq uentemente menores custos de producao e consumo de potência, fatores criticos em um sistema para aplicações moveis. E importante ressaltar que a qualidade não foi deixada de lado e em todas as otimizações realizadas, tomou-se o cuidado de verificar que a qualidade de detecção não tinha sido impactada. Este documento apresenta a pesquisa feita e os resultados obtidos. Começa por uma breve introdução ao assunto de Visão Computacional e aos desafios de projetar uma solução de detecção de rostos. Apos esta introdução, o algoritmo que serviu como base para este trabalho e apresentado juntamente com as otimizações mais relevantes ao nivel algoritmico para melhorar a performance. Na sequência, instruções customizadas desenvolvidas para acelerar a execução do algoritmo na solução final são apresentadas e discutidasengUniversidade Federal de PernambucoAttribution-NonCommercial-NoDerivs 3.0 Brazilhttp://creativecommons.org/licenses/by-nc-nd/3.0/br/info:eu-repo/semantics/openAccessMobile phonesImage processingFace-detectionOptimization of a face detection algorithm for real-time mobile phone applicationsinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisreponame:Repositório Institucional da UFPEinstname:Universidade Federal de Pernambuco (UFPE)instacron:UFPEORIGINALarquivo3096_1.pdfapplication/pdf4031500https://repositorio.ufpe.br/bitstream/123456789/2335/1/arquivo3096_1.pdf3cfbafa985058f2171a93b3e230c2c35MD51LICENSElicense.txttext/plain1748https://repositorio.ufpe.br/bitstream/123456789/2335/2/license.txt8a4605be74aa9ea9d79846c1fba20a33MD52TEXTarquivo3096_1.pdf.txtarquivo3096_1.pdf.txtExtracted texttext/plain134394https://repositorio.ufpe.br/bitstream/123456789/2335/3/arquivo3096_1.pdf.txt4ee2e80f1ff7b15d788740a16be46fa3MD53THUMBNAILarquivo3096_1.pdf.jpgarquivo3096_1.pdf.jpgGenerated Thumbnailimage/jpeg1399https://repositorio.ufpe.br/bitstream/123456789/2335/4/arquivo3096_1.pdf.jpg9ae5f9c6e7b2519b12eca20dadf1144cMD54123456789/23352019-10-25 02:50:35.283oai:repositorio.ufpe.br:123456789/2335Tk9URTogUExBQ0UgWU9VUiBPV04gTElDRU5TRSBIRVJFClRoaXMgc2FtcGxlIGxpY2Vuc2UgaXMgcHJvdmlkZWQgZm9yIGluZm9ybWF0aW9uYWwgcHVycG9zZXMgb25seS4KCk5PTi1FWENMVVNJVkUgRElTVFJJQlVUSU9OIExJQ0VOU0UKCkJ5IHNpZ25pbmcgYW5kIHN1Ym1pdHRpbmcgdGhpcyBsaWNlbnNlLCB5b3UgKHRoZSBhdXRob3Iocykgb3IgY29weXJpZ2h0Cm93bmVyKSBncmFudHMgdG8gRFNwYWNlIFVuaXZlcnNpdHkgKERTVSkgdGhlIG5vbi1leGNsdXNpdmUgcmlnaHQgdG8gcmVwcm9kdWNlLAp0cmFuc2xhdGUgKGFzIGRlZmluZWQgYmVsb3cpLCBhbmQvb3IgZGlzdHJpYnV0ZSB5b3VyIHN1Ym1pc3Npb24gKGluY2x1ZGluZwp0aGUgYWJzdHJhY3QpIHdvcmxkd2lkZSBpbiBwcmludCBhbmQgZWxlY3Ryb25pYyBmb3JtYXQgYW5kIGluIGFueSBtZWRpdW0sCmluY2x1ZGluZyBidXQgbm90IGxpbWl0ZWQgdG8gYXVkaW8gb3IgdmlkZW8uCgpZb3UgYWdyZWUgdGhhdCBEU1UgbWF5LCB3aXRob3V0IGNoYW5naW5nIHRoZSBjb250ZW50LCB0cmFuc2xhdGUgdGhlCnN1Ym1pc3Npb24gdG8gYW55IG1lZGl1bSBvciBmb3JtYXQgZm9yIHRoZSBwdXJwb3NlIG9mIHByZXNlcnZhdGlvbi4KCllvdSBhbHNvIGFncmVlIHRoYXQgRFNVIG1heSBrZWVwIG1vcmUgdGhhbiBvbmUgY29weSBvZiB0aGlzIHN1Ym1pc3Npb24gZm9yCnB1cnBvc2VzIG9mIHNlY3VyaXR5LCBiYWNrLXVwIGFuZCBwcmVzZXJ2YXRpb24uCgpZb3UgcmVwcmVzZW50IHRoYXQgdGhlIHN1Ym1pc3Npb24gaXMgeW91ciBvcmlnaW5hbCB3b3JrLCBhbmQgdGhhdCB5b3UgaGF2ZQp0aGUgcmlnaHQgdG8gZ3JhbnQgdGhlIHJpZ2h0cyBjb250YWluZWQgaW4gdGhpcyBsaWNlbnNlLiBZb3UgYWxzbyByZXByZXNlbnQKdGhhdCB5b3VyIHN1Ym1pc3Npb24gZG9lcyBub3QsIHRvIHRoZSBiZXN0IG9mIHlvdXIga25vd2xlZGdlLCBpbmZyaW5nZSB1cG9uCmFueW9uZSdzIGNvcHlyaWdodC4KCklmIHRoZSBzdWJtaXNzaW9uIGNvbnRhaW5zIG1hdGVyaWFsIGZvciB3aGljaCB5b3UgZG8gbm90IGhvbGQgY29weXJpZ2h0LAp5b3UgcmVwcmVzZW50IHRoYXQgeW91IGhhdmUgb2J0YWluZWQgdGhlIHVucmVzdHJpY3RlZCBwZXJtaXNzaW9uIG9mIHRoZQpjb3B5cmlnaHQgb3duZXIgdG8gZ3JhbnQgRFNVIHRoZSByaWdodHMgcmVxdWlyZWQgYnkgdGhpcyBsaWNlbnNlLCBhbmQgdGhhdApzdWNoIHRoaXJkLXBhcnR5IG93bmVkIG1hdGVyaWFsIGlzIGNsZWFybHkgaWRlbnRpZmllZCBhbmQgYWNrbm93bGVkZ2VkCndpdGhpbiB0aGUgdGV4dCBvciBjb250ZW50IG9mIHRoZSBzdWJtaXNzaW9uLgoKSUYgVEhFIFNVQk1JU1NJT04gSVMgQkFTRUQgVVBPTiBXT1JLIFRIQVQgSEFTIEJFRU4gU1BPTlNPUkVEIE9SIFNVUFBPUlRFRApCWSBBTiBBR0VOQ1kgT1IgT1JHQU5JWkFUSU9OIE9USEVSIFRIQU4gRFNVLCBZT1UgUkVQUkVTRU5UIFRIQVQgWU9VIEhBVkUKRlVMRklMTEVEIEFOWSBSSUdIVCBPRiBSRVZJRVcgT1IgT1RIRVIgT0JMSUdBVElPTlMgUkVRVUlSRUQgQlkgU1VDSApDT05UUkFDVCBPUiBBR1JFRU1FTlQuCgpEU1Ugd2lsbCBjbGVhcmx5IGlkZW50aWZ5IHlvdXIgbmFtZShzKSBhcyB0aGUgYXV0aG9yKHMpIG9yIG93bmVyKHMpIG9mIHRoZQpzdWJtaXNzaW9uLCBhbmQgd2lsbCBub3QgbWFrZSBhbnkgYWx0ZXJhdGlvbiwgb3RoZXIgdGhhbiBhcyBhbGxvd2VkIGJ5IHRoaXMKbGljZW5zZSwgdG8geW91ciBzdWJtaXNzaW9uLgo=Repositório InstitucionalPUBhttps://repositorio.ufpe.br/oai/requestattena@ufpe.bropendoar:22212019-10-25T05:50:35Repositório Institucional da UFPE - Universidade Federal de Pernambuco (UFPE)false |
dc.title.pt_BR.fl_str_mv |
Optimization of a face detection algorithm for real-time mobile phone applications |
title |
Optimization of a face detection algorithm for real-time mobile phone applications |
spellingShingle |
Optimization of a face detection algorithm for real-time mobile phone applications Schwambach Costa, Vítor Mobile phones Image processing Face-detection |
title_short |
Optimization of a face detection algorithm for real-time mobile phone applications |
title_full |
Optimization of a face detection algorithm for real-time mobile phone applications |
title_fullStr |
Optimization of a face detection algorithm for real-time mobile phone applications |
title_full_unstemmed |
Optimization of a face detection algorithm for real-time mobile phone applications |
title_sort |
Optimization of a face detection algorithm for real-time mobile phone applications |
author |
Schwambach Costa, Vítor |
author_facet |
Schwambach Costa, Vítor |
author_role |
author |
dc.contributor.author.fl_str_mv |
Schwambach Costa, Vítor |
dc.contributor.advisor1.fl_str_mv |
Natividade da Silva Barros, Edna |
contributor_str_mv |
Natividade da Silva Barros, Edna |
dc.subject.por.fl_str_mv |
Mobile phones Image processing Face-detection |
topic |
Mobile phones Image processing Face-detection |
description |
Desde equipamentos de vigillância por vídeo a câmeras digitais e telefones celulares, a detecção de rostos e uma funcionalidade que esta rapidamente ganhando peso no projeto de interfaces de usuario mais inteligentes e tornando a interação homem-maquina cada vez mais natural e intuitiva. Com isto em mente, fabricantes de chips estão embarcando esta tecnologia na sua nova geração de processadores de sinal de imagem (ISP) desenvolvidos especificamente para uso em aparelhos celulares. O foco deste trabalho foi analisar um algoritmo para detecção de rostos para suportar a definição da arquitetura mais adequada a ser usada na solução final. Um algoritmo inicial baseado na tecnica de Cascata de Caracteristicas Simples foi usado como base para este trabalho. O algoritmo inicial, como especificado, leva quase quarenta segundos para processar um unico quadro de imagem no processador alvo, tempo este que inviabilizaria o uso desta solução. Focando na implementação de um novo ISP, o algoritmo foi completamente reescrito, otimizado e propriamente mapeado na plataforma alvo, ao ponto onde um fator de aceleração de 167x foi atingido e uma imagem de pior caso agora leva menos de 250 milissegundos para ser processada. Este numero e ainda mais baixo se for considerada a media em um conjunto maior de imagens ou um vídeo, caindo para cerca de 100 milissegundos por quadro de imagem processado. Não obstante, performance não foi o unico alvo, tambem a quantidade de memoria necessaria foi dramaticamente reduzida. Isto tem um impacto direto na area de silicio requerida pelo circuito e conseq uentemente menores custos de producao e consumo de potência, fatores criticos em um sistema para aplicações moveis. E importante ressaltar que a qualidade não foi deixada de lado e em todas as otimizações realizadas, tomou-se o cuidado de verificar que a qualidade de detecção não tinha sido impactada. Este documento apresenta a pesquisa feita e os resultados obtidos. Começa por uma breve introdução ao assunto de Visão Computacional e aos desafios de projetar uma solução de detecção de rostos. Apos esta introdução, o algoritmo que serviu como base para este trabalho e apresentado juntamente com as otimizações mais relevantes ao nivel algoritmico para melhorar a performance. Na sequência, instruções customizadas desenvolvidas para acelerar a execução do algoritmo na solução final são apresentadas e discutidas |
publishDate |
2009 |
dc.date.issued.fl_str_mv |
2009-01-31 |
dc.date.accessioned.fl_str_mv |
2014-06-12T15:56:57Z |
dc.date.available.fl_str_mv |
2014-06-12T15:56:57Z |
dc.type.status.fl_str_mv |
info:eu-repo/semantics/publishedVersion |
dc.type.driver.fl_str_mv |
info:eu-repo/semantics/masterThesis |
format |
masterThesis |
status_str |
publishedVersion |
dc.identifier.citation.fl_str_mv |
Schwambach Costa, Vítor; Natividade da Silva Barros, Edna. Optimization of a face detection algorithm for real-time mobile phone applications. 2009. Dissertação (Mestrado). Programa de Pós-Graduação em Ciência da Computação, Universidade Federal de Pernambuco, Recife, 2009. |
dc.identifier.uri.fl_str_mv |
https://repositorio.ufpe.br/handle/123456789/2335 |
identifier_str_mv |
Schwambach Costa, Vítor; Natividade da Silva Barros, Edna. Optimization of a face detection algorithm for real-time mobile phone applications. 2009. Dissertação (Mestrado). Programa de Pós-Graduação em Ciência da Computação, Universidade Federal de Pernambuco, Recife, 2009. |
url |
https://repositorio.ufpe.br/handle/123456789/2335 |
dc.language.iso.fl_str_mv |
eng |
language |
eng |
dc.rights.driver.fl_str_mv |
Attribution-NonCommercial-NoDerivs 3.0 Brazil http://creativecommons.org/licenses/by-nc-nd/3.0/br/ info:eu-repo/semantics/openAccess |
rights_invalid_str_mv |
Attribution-NonCommercial-NoDerivs 3.0 Brazil http://creativecommons.org/licenses/by-nc-nd/3.0/br/ |
eu_rights_str_mv |
openAccess |
dc.publisher.none.fl_str_mv |
Universidade Federal de Pernambuco |
publisher.none.fl_str_mv |
Universidade Federal de Pernambuco |
dc.source.none.fl_str_mv |
reponame:Repositório Institucional da UFPE instname:Universidade Federal de Pernambuco (UFPE) instacron:UFPE |
instname_str |
Universidade Federal de Pernambuco (UFPE) |
instacron_str |
UFPE |
institution |
UFPE |
reponame_str |
Repositório Institucional da UFPE |
collection |
Repositório Institucional da UFPE |
bitstream.url.fl_str_mv |
https://repositorio.ufpe.br/bitstream/123456789/2335/1/arquivo3096_1.pdf https://repositorio.ufpe.br/bitstream/123456789/2335/2/license.txt https://repositorio.ufpe.br/bitstream/123456789/2335/3/arquivo3096_1.pdf.txt https://repositorio.ufpe.br/bitstream/123456789/2335/4/arquivo3096_1.pdf.jpg |
bitstream.checksum.fl_str_mv |
3cfbafa985058f2171a93b3e230c2c35 8a4605be74aa9ea9d79846c1fba20a33 4ee2e80f1ff7b15d788740a16be46fa3 9ae5f9c6e7b2519b12eca20dadf1144c |
bitstream.checksumAlgorithm.fl_str_mv |
MD5 MD5 MD5 MD5 |
repository.name.fl_str_mv |
Repositório Institucional da UFPE - Universidade Federal de Pernambuco (UFPE) |
repository.mail.fl_str_mv |
attena@ufpe.br |
_version_ |
1802310765344980992 |