NPDI Find Porn: Uma Ferramenta para Detecç ˜ao de Conte ´udo
Transcrição
NPDI Find Porn: Uma Ferramenta para Detecç ˜ao de Conte ´udo
NPDI Find Porn: Uma Ferramenta para Detecção de Conteúdo Pornográfico Ramon F. Pessoa1 , Edemir Ferreira de A. Junior1 , Carlos A. Caetano Junior1 , Silvio Jamil F. Guimarães2 , Jefersson A. dos Santos1 , Arnaldo de A. Araújo1 1 Departamento de Ciência da Computação – Universidade Federal de Minas Gerais (UFMG) Av. Antônio Carlos 6627 - Prédio do ICEx - Pampulha 31270-010 - Belo Horizonte - MG - Brasil 2 Pontifı́cia Universidade Católica de Minas Gerais, VIPLAB - ICEI/PUC Minas, Minas Gerais, Brasil {ramon.pessoa,edemirm,carlos.caetano,jefersson,arnaldo}@dcc.ufmg.br [email protected] Abstract. With the growing amount of content deemed inappropriate on the Internet, such as pornography, the need for this type of material filter came up. The reason for this is given by the fact that such content is often banned in certain environments (e.g., workplaces and schools), and especially when dealing with child pornography, considered one of the most reported virtual crimes in Brazil according to the site Safernet1 . In recent years, many works of literature have been mainly focused on the detection of pornographic images and videos. This work presents a tool to detect pornographic content created from recent academic work developed by NPDI2 research group. Resumo. Com o crescimento da quantidade de conteúdos considerados inapropriados na Internet, como pornografia, surgiu a necessidade de filtros para tal tipo de material. O motivo é dado pelo fato de que esse tipo de conteúdo é frequentemente proibido em certos ambientes (como, locais de trabalho e escolas), e principalmente se tratando de pornografia infantil, considerado um dos crimes virtuais mais denunciados no Brasil de acordo com o site Safernet1 . Nos últimos anos, diversos trabalhos da literatura têm tido como foco principal a detecção de imagens e vı́deos pornográficos. Neste trabalho, é apresentada uma ferramenta de detecção de conteúdos pornográficos, criada a partir dos recentes trabalhos acadêmicos desenvolvidos pelo grupo de pesquisa NPDI2 . 1. Introdução Com o advento da tecnologia, em especial o aumento do acesso à Internet, originou-se nos últimos anos uma grande quantidade de informação disponı́vel ao público, como vı́deos e imagens. Nesse contexto, algumas situações exigem que haja um controle em relação ao conteúdo destes materiais. Em especial, apresenta-se a detecção de pornografia como uns dos grandes desafios atuais. Detectar e filtrar conteúdo visual pornográfico é uma preocupação em vários ambientes como, escolas, empresas, igrejas e outros locais públicos. Uma maneira para se 1 2 Safernet - www.safernet.org.br (03/Set/2014). Núcleo de Processamento Digital de Imagens (NPDI) - www.npdi.dcc.ufmg.br. realizar tal tarefa é a utilização de palavras chaves textuais vinculadas a informações multimı́dia, porém [Lopes 2009] mostrou que tal abordagem não é suficiente para detecção deste tipo de conteúdo . Nos últimos anos, diversos trabalhos da literatura têm tido como foco principal a detecção de imagens e vı́deos pornográficos baseados em conteúdo visual como alternativa ao uso exclusivo de informações textuais [Steel 2012], [Avila et al. 2013], [Yu and Han 2014], [Caetano et al. 2014a], [Caetano et al. 2014b]. Abordagens baseadas em caracterı́sticas locais, em conjunto com modelos Bagof-Words (BoW), têm sido aplicadas com sucesso em tarefas de classificação para reconhecimento de padrões visuais [Agarwal et al. 2004], [Yang et al. 2007]. Neste tipo de abordagem, a maior vantagem é a não necessidade de um modelo explı́cito do objeto, dado que a diversidade de caracterı́sticas da imagem (como forma, escala ou iluminação) é tratada por um conjunto de treinamento que representa essa variabilidade. Portanto, a utilização do modelo BoW se torna uma abordagem interessante no contexto de detecção de pornografia. Nesse artigo, apresenta-se uma nova ferramenta para detecção de conteúdo pornográfico em imagens, chamada NPDI Find Porn. Foram utilizadas metodologias recentes para o desenvolvimento de uma ferramenta prática e intuitiva para detecção de imagens com conteúdo pornográfico. O objetivo é fornecer suporte a usuários que não possuem conhecimento suficiente de técnicas computacionais para reconhecimento visual. A ferramenta é baseada no método proposto por [Caetano et al. 2014a] que utiliza descritores binários em conjunto com uma extensão do modelo BoW, proposto por [Avila et al. 2013], se diferenciando na etapa de classificação onde foi utilizado o classificador Gradient Tree Boosting [Friedman 2002] para predizer se uma imagem é pornográfica ou não. Indivı́duos e profissionais que podem precisar deste sistema de detecção de pornografia, são listados abaixo: 1. Pais: Os pais podem usar o NPDI Find Porn para reduzir as chances das crianças se depararem com pornografia presente no computador em que elas estejam usando. 2. Empregados: As empresas podem usar o NPDI Find Porn para remover conteúdo pornográfico em computadores que expõe a empresa a riscos legais. 3. Escolas e igrejas: Escolas e igrejas podem evitar imagens pornográficas indesejadas de seus computadores usando esta ferramenta. Apesar dos filtros disponı́veis na Internet, conteúdos pornográficos podem facilmente contaminar os computadores de uma organização. Estes conteúdos são copiados de pen drives ou outras mı́dias, baixados a partir de e-mail, ou simplesmente perdidos por seu filtro. 4. Profissionais de perı́cias, profissionais da lei, policiais, entre outros: Profissionais envolvidos na aplicação da lei sabem que se perde muito tempo ao se procurar evidências digitais em laboratórios judiciais. O NPDI Find Porn é uma ferramenta de análise para determinar se imagens pornográficas estão presentes em um computador sem treinar e envolver examinadores judiciais. Essa ferramenta pode ser incorporada em dispositivo móvel não precisando de dependências instaladas no sistema operacional. O restante desse artigo está organizado em quatro seções. A Seção 2 apresenta um breve resumo dos conceitos necessários para o entendimento do processo de reconhecimento de padrões visuais. A Seção 3 descreve o funcionamento do método implementado no software. A Seção 4 discute brevemente como utilizar o software proposto. E, finalmente, a Seção 5 conclui esse artigo direcionando trabalhos futuros. 2. Conceitos Segundo [Chatfield et al. 2011], a abordagem de reconhecimento de padrões visuais mais utilizada na literatura pode ser dividida em três etapas distintas: (i) extração de caracterı́sticas locais da imagem; (ii) codificação das caracterı́sticas locais em uma representação intermediária (mid-level); e (iii) classificação da representação intermediária, geralmente, baseada em técnicas de aprendizado de máquina. O software implementado utiliza uma abordagem baseada nessas três etapas. Cada uma delas é detalhada a seguir. 2.1. Extração de Caracterı́sticas Locais Segundo [Tuytelaars and Mikolajczyk 2008], caracterı́sticas locais consistem em padrões de imagem que se diferem de sua vizinhança, geralmente, associados às mudanças nas propriedades da imagem (textura e contraste por exemplo). A extração de caracterı́sticas locais é a primeira etapa a ser feita em um processo que envolva reconhecimento de padrões visuais. Uma maneira de se realizar tal etapa consiste em selecionar patches da imagem que contenham informações relevantes, e então descrevê-los com o uso de algum descritor de caracterı́sticas. De acordo com [Tuytelaars 2010], a seleção dos patches pode ser feita com base em dois tipos de abordagens: (i) utilizando pontos de interesse, neste caso é aplicado um algoritmo para encontrar tal região a ser descrita; ou (ii) amostragem densa, onde regiões de tamanho fixo são alocadas em uma grade de tamanho regular. A Figura 1 ilustra um exemplo de extração de caracterı́sticas locais com cada abordagem. Figure 1. Exemplo de caracterı́sticas locais extraı́das pelas abordagens de pontos de interesses e amostragem densa. Cada cı́rculo vermelho representa uma caracterı́stica local a ser extraı́da. Um descritor de caracterı́sticas pode ser considerado como uma função aplicada em uma região de uma imagem com o objetivo de descrevê-la. Uma maneira bem simples de se descrever uma região seria representar todos os pixels desta região em um único vetor. No entanto, dependendo do tamanho da região a ser descrita, isso resultaria em um vetor de alta dimensionalidade, levando também a uma alta complexidade computacional para um futuro reconhecimento desta região [Mikolajczyk and Schmid 2005]. Os vetores gerados pelos descritores de caracterı́sticas mais comuns na literatura são compostos por valores reais, que são calculados utilizando uma técnica baseada na contagem das ocorrências de orientações de gradiente nas regiões de uma imagem, como: SIFT (Scale-Invariant Feature Transform) [Lowe 2004], HOG (Histograms of Oriented Gradients) [Dalal and Triggs 2005] e SURF (Speeded Up Robust Features) [Bay et al. 2006]. Como uma alternativa de baixa complexidade, os descritores binários têm emergido recentemente [Canclini et al. 2013]. Este tipo de descritor tem recebido uma atenção considerável por gerar resultados similares, em alguns casos melhores, quando comparados a descritores não-binários do estado da arte. A ideia básica por trás dos descritores binários é poder codificar a maioria das informações de um patch em uma sequência binária, usando apenas simples testes binários comparando a intensidade entre os pixels. Isso pode ser feito de maneira bem rápida, já que apenas comparações de intensidade precisam ser calculadas. 2.2. Representação Intermediária Com as caracterı́sticas locais já extraı́das, torna-se necessário codificá-las para que se tenha uma representação global da imagem. Uma maneira de se fazer isso é realizar uma quantização dessas caracterı́sticas utilizando o modelo Bag-of-Words (BoW). Segundo [Boureau et al. 2010], o modelo BoW pode ser compreendido como a aplicação de duas etapas crı́ticas: codificação e pooling. A etapa de codificação quantifica as caracterı́sticas locais extraı́das da imagem de acordo com um dicionário visual, conhecido como codebook, associando os descritores locais extraı́dos da imagem com o elemento mais próximo deste vocabulário visual. O dicionário visual, normalmente, é construı́do aplicando um algoritmo de clusterização, geralmente k-means [Lloyd 1982], em um conjunto de amostras dos descritores locais extraı́dos, onde cada palavra visual (codewords) corresponde ao centroide obtido de cada cluster. A etapa de pooling resume as palavras visuais obtidas em um único vetor de caracterı́sticas com o objetivo de representar toda a imagem. A Figura 2 ilustra o processo de codificação e pooling descrito anteriormente. Como uma extensão do modelo BoW, a representação intermediária BossaNova [Avila et al. 2013] oferece um aprimoramento na etapa de pooling, a fim de preservar de uma maneira mais rica a informação obtida durante a etapa de codificação. Desta maneira, em vez de compactar toda a informação relacionada a uma palavra visual em um único valor escalar, a etapa de pooling resulta em uma distribuição de distâncias. Para isto, [Avila et al. 2013] usaram uma estimação não-paramétrica da distribuição dos descritores, calculando um histograma de distâncias entre os descritores encontrados na imagem e cada palavra visual presente no dicionário visual. [Avila et al. 2013] aplicaram a representação BossaNova no contexto de reconhecimento de objetos e detecção de pornografia. Em comparação ao modelo BoW, BossaNova se sobressai de maneira significante [Avila et al. 2011, Avila et al. 2012, Avila et al. 2013], apenas usando um simples histograma de distâncias para capturar as informações relevantes. BossaNova mostra ser um método muito flexı́vel, mantendo uma representação final bem compacta. Figure 2. Processo de classificação usado pelo modelo Bag-of-Words. Primeiro, os descritores locais são extraı́dos da imagem. Na fase de codificação, uma função f ativa a palavra visual mais próxima ao descritor local, atribuindo peso zero a todas as outras. Em seguida, na etapa de pooling, a função g resume as palavras visuais obtidas em uma único vetor de caracterı́stica z. Por fim, um algoritmo de classificação (por exemplo, Support Vector Machine [Cortes and Vapnik 1995]) é treinado com base nos vetores BoW obtidos. Imagem adaptada de [Chatfield et al. 2011]. 2.3. Classificação Supervisionada Segundo [Ghahramani 2004], aprendizado de máquina é o campo de pesquisa dedicado ao estudo formal de sistemas de aprendizagem. Pode ser considerado como um campo altamente interdisciplinar por se basear em ideias de diversas áreas, como estatı́stica, ciência da computação, engenharia, ciência cognitiva, teoria de otimização, entre outras. De acordo com [Dietterich 1997], o objetivo do aprendizado de máquina é construir modelos computacionais que podem adaptar-se e aprender a partir da experiência. Os algoritmos de aprendizado de máquina têm como objetivo descobrir o relacionamento entre as variáveis de um sistema (entrada/saı́da) a partir de dados amostrados anteriormente. As técnicas de aprendizado de máquina podem ser separadas em várias categorias (supervisionado, não-supervisionado, semi-supervisionado, ativo, meta aprendizado), porém, de uma forma geral, a distinção mais fundamental é entre algoritmos de aprendizado supervisionado e não-supervisionado. No aprendizado supervisionado, o algoritmo recebe como entrada uma quantidade de amostras com os seus respectivos rótulos, que serão utilizadas para que o algoritmo aprenda a distribuição de probabilidades daquela tarefa em especı́fico (conjunto de treinamento). Logo depois, é oferecida uma quantidade de amostras sem os seus rótulos para que o algoritmo tente inferir os rótulos em função do que foi aprendido anteriormente (conjunto de teste). Existem diversas estratégias direcionadas à tarefa de classificação. Dentre elas, são destacados os métodos ensembles, que podem ser divididos em dois conjuntos: averaging e boosting. Os métodos averaging utilizam do princı́pio da construção de vários classificadores para, então, efetuar o cálculo da média de suas predições. Usualmente, essa abordagem apresenta resultados melhores do que a estimativa com apenas um classificador, devido à redução da variância do classificador final. Em contraste, os métodos boosting utilizam classificadores simples, para construir de forma iterativa um classificador final mais robusto, com baixo bias. Exemplos de métodos baseados em averaging seriam Random Forest [Breiman 2001], Bootstrap Aggregating [Breiman 1996] e Extra-Trees [Geurts et al. 2006]; enquanto boosting, tem-se AdaBoost [Freund and Schapire 1995], Gradient Tree Boosting [Friedman 2002], etc. 3. Metodologia A Figura 3 ilustra o fluxograma da abordagem de Detecção de Imagens Pornográficas utilizado pelo sistema NPDI Find Porn. Esta abordagem é uma adaptação do método utilizado em [Caetano et al. 2014a] para imagens. Figure 3. Fluxograma da abordagem de Detecção de Imagens Pornográficas [Caetano et al. 2014b] (Adaptado). Primeiramente, são extraı́das as caracterı́sticas de cada imagem utilizando os descritores binários usando uma abordagem de amostragem densa. Em seguida, na fase de treinamento, é gerado o dicionário visual utilizando uma amostragem das caracterı́sticas extraı́das anteriormente. Gerado o dicionário visual, as caracterı́sticas das imagens são codificadas para uma representação intermediária, que é transferida para a etapa de treinamento do classificador. Na etapa de classificação, o classificador recebe a representação intermediária da imagem requisitada e retorna um rótulo. Cada um dos passos citados são detalhados a seguir. 3.1. Extração de Caracterı́sticas Locais utilizando Descritores Binários O alto custo computacional dos descritores locais [Caetano et al. 2014a] inviabiliza a utilização dos mesmos na ferramenta desenvolvida. Segundo [Caetano et al. 2014b], a utilização de descritores binários para a detecção de conteúdo pornográfico apresenta resultados comparáveis a descritores não binários do estado da arte, além de apresentar custo computacional reduzido. No estudo, foram utilizados os descritores binários mais comuns na literatura: 1. 2. 3. 4. 5. BRIEF (Binary Robust Independent Elementary Features) [Calonder et al. 2010]; ORB (Oriented Fast and Rotated Brief ) [Rublee et al. 2011]; BRISK (Binary Robust Invariant Scalable Keypoints) [Leutenegger et al. 2011]; FREAK (Fast REtinA Keypoint) [Alahi et al. 2012]; BinBoost [Trzcinski et al. 2013]. 3.2. Dicionário Visual Para a construção do dicionário visual, foi utilizado o método de agrupamento k-medians [Jain and Dubes 1988], que de acordo com [Caetano et al. 2014b], produz resultados melhores quando utilizados com descritores binários para a extração de caracterı́sticas. 3.3. Mid Level Representation Dado os resultados apresentados na literatura e nos recentes trabalhos ([Caetano et al. 2014a], [Avila et al. 2013]), foi utilizada a representação intermediária BossaNova combinada com descritores binários para uma codificação com maior representação das caracterı́sticas extraı́das. 3.4. Classificação Para a etapa de classificação, foi utilizado um método chamado Gradient Tree Boosting (GTB) proposto por [Friedman 2002]. Assim como outros métodos de boosting, o GTB utiliza a combinação de classificadores fracos de maneira iterativa, para criar um classificador mais robusto. Na fase de treinamento, é fornecido para o GTB um conjunto de amostras com as suas respectivas classes para que o método possa aprender a distribuição de probabilidade do cenário. Na fase de teste, é fornecida uma imagem ao classificador que gerará como saı́da uma premeditação para a imagem (pornográfica ou não pornográfica). 4. Utilização da Ferramenta O desenvolvimento da ferramenta NPDI Find Porn é resultado das pesquisas recentes na área de detecção de pornografia do Laboratório NPDI. O objetivo era a criação de uma ferramenta prática e intuitiva, principalmente para usuários que não possuem o conhecimento teórico do procedimento de reconhecimento de padrões visuais. Assim, a ferramenta foi desenvolvida para funcionar em um dispositivo de armazenamento móvel (como pen drive) que irá realizar uma pesquisa em todo o computador alvo procurando por imagens que serão avaliadas, utilizando o framework descrito anteriormente, como sendo imagens de conteúdo pornográfico ou não. Uma das caracterı́sticas principais do sistema é a não necessidade de qualquer tipo de instalação no sistema operacional, pois todas as dependências já se encontram dentro do pen drive contendo a ferramenta NPDI Find Porn, deixando assim a facilidade para que o usuário possa levá-lo a qualquer lugar e usá-lo em qualquer computador que possua. Para a utilização da ferramenta, é necessário seguir os seguintes passos: 1. Logar em um computador; 2. Inserir o Pen Drive NPDI Find Porn no computador; 3. Executar o sistema NPDI Find Porn; 4. Selecionar o diretório do computador onde deseja fazer a pesquisa e iniciar a pesquisa; 5. Visualizar os resultados da pesquisa. Estes passos são detalhados na Figura 4. A Figura 5 exibe a tela inicial da ferramenta NPDI Find Porn (Passo 1, 2 e 3) e Figura 6 mostra a ferramenta em execução (Passos 4 e 5). Uma apresentação do funcionamento da ferramenta desenvolvida pode ser encontrada no vı́deo de demonstração do NPDI Find Porn 3 . 5. Conclusão e Trabalhos Futuros Neste trabalho, apresentou-se uma ferramenta de detecção de conteúdos pornográficos criada a partir dos recentes trabalhos acadêmicos desenvolvidos no laboratório NPDI da Universidade Federal de Minas Gerais (UFMG), com participação do VIPLab (AudioVisual Information Processing Lab)4 da Pontifı́cia Universidade Católica de Minas Gerais (PUC Minas). O NPDI Find Porn é um sistema que irá vasculhar por todas as imagens em seu computador, procurando por conteúdo pornográfico, onde no final da pesquisa o sistema criará um relatório de imagens pornográficas suspeitas. O software de detecção de pornografia pode ser incorporado em um dispositivo móvel, sendo assim facilmente levado a qualquer lugar e ser usado em qualquer computador. Entre as vantagens da ferramenta de detecção de conteúdo pornográfico, tem-se que o sistema permite proteger seu computador de pornografia indesejada. Muitos sites pornográficos contêm vı́rus que podem fazer muitos danos ao computador. Nestes casos, o NPDI Find Porn varre o computador oferecendo a segurança de que o seu computador esteja livre de imagens indesejadas ou mesmo ilegais. Outra vantagem, é que o sistema NPDI Find Porn evita que uma pessoa precise manualmente vasculhar um computador procurando por imagens pornográficas. Dentre os trabalhos futuros, tem-se a adaptação do sistema NPDI Find Porn para detectar vı́deos com conteúdos pornográficos, onde um algoritmo de extração de frames relevantes será desenvolvido, a extensão do sistema para outras plataformas (Linux e Mac), e será executado um protocolo de testes exaustivos para a ferramenta NPDI Find Porn. 6. Agradecimentos Os autores gostariam de agradecer ao CNPq, à CAPES e à FAPEMIG pelo suporte financeiro recebido. References [Agarwal et al. 2004] Agarwal, S., Awan, A., and Roth, D. (2004). Learning to detect objects in images via a sparse, part-based representation. Pattern Analysis and Machine Intelligence, IEEE Transactions on, 26(11):1475–1490. 3 Vı́deo de demonstração da ferramenta NPDI Find Porn (Acessado em 03/Set/2014): https://www.youtube.com/watch?v=ZNDfsxGHRDE&feature=youtu.be 4 Audio-Visual Information Processing Lab (VIPLab) - www.icei.pucminas.br/projetos/viplab [Alahi et al. 2012] Alahi, A., Ortiz, R., and Vandergheynst, P. (2012). Freak: Fast retina keypoint. In Computer Vision and Pattern Recognition (CVPR), 2012 IEEE Conference on, pages 510–517. Ieee. [Avila et al. 2012] Avila, S., Thome, N., Cord, M., Valle, E., and Araújo, A. d. A. (2012). Bossanova at imageclef 2012 flickr photo annotation task. Working Notes of the CLEF. [Avila et al. 2011] Avila, S., Thome, N., Cord, M., Valle, E., and de A Araujo, A. (2011). Bossa: Extended bow formalism for image classification. In Image Processing (ICIP), 2011 18th IEEE International Conference on, pages 2909–2912. IEEE. [Avila et al. 2013] Avila, S., Thome, N., Cord, M., Valle, E., and De A AraúJo, A. (2013). Pooling in image representation: The visual codeword point of view. Computer Vision and Image Understanding, 117(5):453–465. [Bay et al. 2006] Bay, H., Tuytelaars, T., and Van Gool, L. (2006). Surf: Speeded up robust features. In Computer Vision–ECCV 2006, pages 404–417. Springer. [Boureau et al. 2010] Boureau, Y.-L., Bach, F., LeCun, Y., and Ponce, J. (2010). Learning mid-level features for recognition. In Computer Vision and Pattern Recognition (CVPR), 2010 IEEE Conference on, pages 2559–2566. IEEE. [Breiman 1996] Breiman, L. (1996). Bias, variance, and arcing classifiers. [Breiman 2001] Breiman, L. (2001). Random forests. Machine learning, 45(1):5–32. [Caetano et al. 2014a] Caetano, C., Avila, S., Guimarães, S., and Araújo, A. d. A. (2014a). Representing local binary descriptors with bossanova for visual recognition. In Proceedings of the 29th Annual ACM Symposium on Applied Computing, SAC ’14, pages 49–54, New York, NY, USA. ACM. [Caetano et al. 2014b] Caetano, C., Avila, S., Guimaraes, S., and Araújo, A. d. A. (2014b). Pornography detection using bossanova video descriptor. In European Signal Processing Conference (EUSIPCO 2014), Lisbon, Portugal. [Calonder et al. 2010] Calonder, M., Lepetit, V., Strecha, C., and Fua, P. (2010). Brief: Binary robust independent elementary features. In Computer Vision–ECCV 2010, pages 778–792. Springer. [Canclini et al. 2013] Canclini, A., Cesana, M., Redondi, A., Tagliasacchi, M., Ascenso, J., and Cilla, R. (2013). Evaluation of low-complexity visual feature detectors and descriptors. In Digital Signal Processing (DSP), 2013 18th International Conference on, pages 1–7. IEEE. [Chatfield et al. 2011] Chatfield, K., Lempitsky, V., Vedaldi, A., and Zisserman, A. (2011). The devil is in the details: an evaluation of recent feature encoding methods. [Cortes and Vapnik 1995] Cortes, C. and Vapnik, V. (1995). Support-vector networks. Machine learning, 20(3):273–297. [Dalal and Triggs 2005] Dalal, N. and Triggs, B. (2005). Histograms of oriented gradients for human detection. In Computer Vision and Pattern Recognition, 2005. CVPR 2005. IEEE Computer Society Conference on, volume 1, pages 886–893. IEEE. [Dietterich 1997] Dietterich, T. G. (1997). 18(4):97. Machine-learning research. AI magazine, [Freund and Schapire 1995] Freund, Y. and Schapire, R. E. (1995). A desicion-theoretic generalization of on-line learning and an application to boosting. In Computational learning theory, pages 23–37. Springer. [Friedman 2002] Friedman, J. H. (2002). Stochastic gradient boosting. Computational Statistics & Data Analysis, 38(4):367–378. [Geurts et al. 2006] Geurts, P., Ernst, D., and Wehenkel, L. (2006). Extremely randomized trees. Machine learning, 63(1):3–42. [Ghahramani 2004] Ghahramani, Z. (2004). Unsupervised learning. In Advanced Lectures on Machine Learning, pages 72–112. Springer. [Jain and Dubes 1988] Jain, A. K. and Dubes, R. C. (1988). Algorithms for clustering data. Prentice-Hall, Inc. [Leutenegger et al. 2011] Leutenegger, S., Chli, M., and Siegwart, R. Y. (2011). Brisk: Binary robust invariant scalable keypoints. In Computer Vision (ICCV), 2011 IEEE International Conference on, pages 2548–2555. IEEE. [Lloyd 1982] Lloyd, S. (1982). Least squares quantization in pcm. Information Theory, IEEE Transactions on, 28(2):129–137. [Lopes 2009] Lopes, A.; Avila, S. P. A. O. R. . A. A. (2009). A bag-of-features approach based on hue-sift descriptor for nude detection. In Proceedings of the XVII European Signal Processing Conference (EUSIPCO), Glasgow, Scotland. [Lowe 2004] Lowe, D. G. (2004). Distinctive image features from scale-invariant keypoints. International journal of computer vision, 60(2):91–110. [Mikolajczyk and Schmid 2005] Mikolajczyk, K. and Schmid, C. (2005). A performance evaluation of local descriptors. Pattern Analysis and Machine Intelligence, IEEE Transactions on, 27(10):1615–1630. [Rublee et al. 2011] Rublee, E., Rabaud, V., Konolige, K., and Bradski, G. (2011). Orb: an efficient alternative to sift or surf. In Computer Vision (ICCV), 2011 IEEE International Conference on, pages 2564–2571. IEEE. [Steel 2012] Steel, C. M. (2012). The mask-sift cascading classifier for pornography detection. In Internet Security (WorldCIS), 2012 World Congress on, pages 139–142. IEEE. [Trzcinski et al. 2013] Trzcinski, T., Christoudias, M., Fua, P., and Lepetit, V. (2013). Boosting binary keypoint descriptors. In Computer Vision and Pattern Recognition (CVPR), 2013 IEEE Conference on, pages 2874–2881. Ieee. [Tuytelaars 2010] Tuytelaars, T. (2010). Dense interest points. In Computer Vision and Pattern Recognition (CVPR), 2010 IEEE Conference on, pages 2281–2288. IEEE. [Tuytelaars and Mikolajczyk 2008] Tuytelaars, T. and Mikolajczyk, K. (2008). Local inR in Computer Graphics variant feature detectors: a survey. Foundations and Trends and Vision, 3(3):177–280. [Yang et al. 2007] Yang, J., Jiang, Y.-G., Hauptmann, A. G., and Ngo, C.-W. (2007). Evaluating bag-of-visual-words representations in scene classification. In Proceedings of the international workshop on Workshop on multimedia information retrieval, pages 197–206. ACM. [Yu and Han 2014] Yu, J.-J. and Han, S.-W. (2014). Skin detection for adult image identification. In Advanced Communication Technology (ICACT), 2014 16th International Conference on, pages 645–648. IEEE. Figure 4. Funcionamento da Ferramenta NPDI Find Porn. Figure 5. Tela inicial da ferramenta de detecção de conteúdo pornográfico NPDI Find Porn. Figure 6. A ferramenta NPDI Find Porn em uso. Após selecionar um diretório a ser pesquisado, o sistema NPDI Find Porn busca por conteúdos pornográficos neste diretório e ao final da pesquisa exibe um relatório com um lista de imagens consideradas pornográficas, bem como o diretório no computador onde a imagem está armazenada (canto inferior da janela que exibe as imagens).