dermanostic: um mÉtodo para calcular o...

54
UNIVERSIDADE REGIONAL DE BLUMENAU CENTRO DE CIÊNCIAS EXATAS E NATURAIS CURSO DE SISTEMAS DE INFORMAÇÃO BACHARELADO DERMANOSTIC: UM MÉTODO PARA CALCULAR O DIÂMETRO E EVOLUÇÃO DE LESÕES CUTÂNEAS FELIPE DARUGNA FEY BLUMENAU 2016

Upload: buiduong

Post on 23-Dec-2018

221 views

Category:

Documents


0 download

TRANSCRIPT

UNIVERSIDADE REGIONAL DE BLUMENAU

CENTRO DE CIÊNCIAS EXATAS E NATURAIS

CURSO DE SISTEMAS DE INFORMAÇÃO – BACHARELADO

DERMANOSTIC: UM MÉTODO PARA CALCULAR O

DIÂMETRO E EVOLUÇÃO DE LESÕES CUTÂNEAS

FELIPE DARUGNA FEY

BLUMENAU

2016

FELIPE DARUGNA FEY

DERMANOSTIC: UM MÉTODO PARA CALCULAR O

DIÂMETRO E EVOLUÇÃO DE LESÕES CUTÂNEAS

Trabalho de Conclusão de Curso apresentado

ao curso de graduação em Sistemas de

Informação do Centro de Ciências Exatas e

Naturais da Universidade Regional de

Blumenau como requisito parcial para a

obtenção do grau de Bacharel em Sistemas de

Informação.

Prof. Aurélio Faustino Hoppe - Orientador

BLUMENAU

2016

DERMANOSTIC: UM MÉTODO PARA CALCULAR O

DIÂMETRO E EVOLUÇÃO DE LESÕES CUTÂNEAS

Por

FELIPE DARUGNA FEY

Trabalho de Conclusão de Curso aprovado

para obtenção dos créditos na disciplina de

Trabalho de Conclusão de Curso II pela banca

examinadora formada por:

______________________________________________________

Presidente: Prof. Aurélio Faustino Hoppe, Mestre – Orientador, FURB

______________________________________________________

Membro: Prof. Matheus Luan Krueger, Mestre – FURB

______________________________________________________

Membro: Prof. Dalton Solano dos Reis, Mestre – FURB

Blumenau, 6 de dezembro de 2016

RESUMO

Este trabalho apresenta o desenvolvimento de um aplicativo de dispositivos móveis na

plataforma Android com um algoritmo de processamento de imagem, tendo o intuito de

realizar o cálculo de tamanho e de acompanhar as evoluções de lesões cutâneas de pele ao

longo do tempo. O algoritmo inicialmente localiza o gabarito, segmenta a lesão e

posteriormente, calcula a proporcionalidade de um em relação ao outro, gerando suas medidas

de pixels para milímetros. Em seu desenvolvimento, foram utilizadas técnicas de

processamento de imagens tais como segmentação, limiarização e detecção de contornos. O

aplicativo realiza o cadastro das lesões, podendo acompanhar suas análises e também é

possível gerar um gráfico contendo a variação de tamanho da lesão sobre as análises

efetuadas. Nos resultados de processamento das imagens obteve-se um acerto de 95,8% na

detecção do gabarito e da lesão, 75% para os cálculos do perímetro e de comprimento da lesão

e 42% para a área da mesma.

Palavras-chave: Melanoma. Evolução. Processamento de imagens.

ABSTRACT

This work introduces the development of an mobile application in Android platform with an

algorithm of image processing, having the objective to perform the calculation of size and

following the evolutions of skin moles over the time. The algorithm initially locates the

template, segments the mole and then calculates a proportionality of one against the other,

generating its measurements from pixels to millimeters. In this development was used image

processing techniques such as segmentation, thresholding and contour detection. The

application performs the registry of the lesions, being able to follow the analyzes and also it is

possible to generate a graph that contains a variation of size on the made analyzes. The results

of image processing yield a 95.8% accuracy in template and mole detection, 75% for

perimeter and mole length calculations, and 42% for an area of the mole.

Keywords: Melanoma. Evolution. Image processing.

LISTA DE FIGURAS

Figura 1 - Regra ABCDE (assimetria) ..................................................................................... 14

Figura 2 - Regra ABCDE (borda)............................................................................................. 14

Figura 3 - Regra ABCDE (cor)................................................................................................. 14

Figura 4 - Regra ABCDE (diâmetro) ....................................................................................... 14

Figura 5 - Regra ABCDE (evolução) ....................................................................................... 15

Figura 6 - Exemplo de utilização do filtro de Canny ............................................................... 16

Figura 7 - Exemplo de utilização de erosão ............................................................................. 17

Figura 8 - Exemplo de utilização de dilatação ......................................................................... 18

Figura 9 - Limiarização simples ............................................................................................... 19

Figura 10 - Tela principal do “Mole Mapper” .......................................................................... 20

Figura 11 - Tela principal da aplicação .................................................................................... 21

Figura 12 - Corpus mapping ..................................................................................................... 22

Figura 13 - Diagrama de casos de uso ...................................................................................... 25

Figura 14 - Diagrama de atividade ........................................................................................... 26

Figura 15 - Fluxo geral do processamento de imagem ............................................................. 28

Figura 16 - Corte de imagem .................................................................................................... 28

Figura 17 - Imagem convertida para escala de cinza ................................................................ 29

Figura 18 - Imagem binarizada ................................................................................................. 30

Figura 19 - Técnica de borrão................................................................................................... 30

Figura 20 - Tentativa por Canny e Threshold........................................................................... 31

Figura 21 - Determinando tamanho da linha do gabarito ......................................................... 33

Figura 22 - Imagem binarizada ................................................................................................. 34

Figura 23 - Processo de erosão e dilatação ............................................................................... 35

Figura 24 - Contorno da segmentação da lesão ........................................................................ 36

Figura 25 - Delimitador das extremidades da lesão ................................................................. 37

Figura 26 - Resultado da operação de cálculo .......................................................................... 38

Figura 27 - Tela principal da aplicação .................................................................................... 39

Figura 28 - Criação do gabarito ................................................................................................ 39

Figura 29 - Cadastro de pintas .................................................................................................. 40

Figura 30 - Cadastro da lesão ................................................................................................... 40

Figura 31 - Segmentando a lesão .............................................................................................. 41

LISTA DE QUADROS

Quadro 1 - Comparativo entre os trabalhos correlatos ............................................................. 23

Quadro 2 - Código responsável pela conversão para escala de cinza ...................................... 29

Quadro 3 - Código responsável pela binarização da imagem .................................................. 30

Quadro 4 - Borrar a imagem ..................................................................................................... 30

Quadro 5 - Binarizando a imagem por Threshold .................................................................... 31

Quadro 6 - Encontrando contornos da imagem ........................................................................ 31

Quadro 7 - Procedimento para encontrar o contorno em forma de quadrado .......................... 32

Quadro 8 - Medição do gabarito ............................................................................................... 32

Quadro 9 - Aresta do gabarito .................................................................................................. 33

Quadro 10 - Binarização da imagem ........................................................................................ 34

Quadro 11 - Código de dilatação e erosão ................................................................................ 35

Quadro 12 - Método para encontrar os contornos da lesão ...................................................... 35

Quadro 13 - Encontrar elemento com maior circularidade ...................................................... 36

Quadro 14 - Cálculo do tamanho da lesão ................................................................................ 37

Quadro 15 - Cálculo da lesão ................................................................................................... 37

Quadro 16 - Caso de uso Carregar imagem .............................................................................. 50

Quadro 17 - Caso de uso Segmentar lesão ............................................................................... 50

Quadro 18 - Caso de uso calcular tamanho da lesão ................................................................ 50

Quadro 19 - Caso de uso segmentar gabarito ........................................................................... 51

Quadro 20 - Resultado das análises realizadas ......................................................................... 53

LISTA DE TABELAS

Tabela 1 - Resultado dos dados obtidos no comprimento da lesão .......................................... 42

Tabela 2 - Dados obtidos em relação a área da lesão ............................................................... 43

Tabela 3 - Dados obtidos em relação ao perímetro da lesão .................................................... 43

LISTA DE ABREVIATURAS E SIGLAS

API – Application Programming Interface

EA – Enterprise Architect

PCA – Principal Component Analysis

RF – Requisitos Funcionais

RNF – Requisitos Não Funcionais

UML – Unified Modeling Language

SUMÁRIO

1 INTRODUÇÃO .................................................................................................................. 11

1.1 OBJETIVOS ...................................................................................................................... 12

1.2 ESTRUTURA.................................................................................................................... 12

2 FUNDAMENTAÇÃO TEÓRICA .................................................................................... 13

2.1 MELANOMA.................................................................................................................... 13

2.2 DETECÇÃO DE BORDAS .............................................................................................. 15

2.2.1 Filtro de Canny ................................................................................................................ 15

2.3 OPERADORES MORFOLÓGICOS ................................................................................ 16

2.3.1 Erosão .............................................................................................................................. 16

2.3.2 Dilatação ......................................................................................................................... 17

2.4 SEGMENTAÇÃO DE IMAGENS ................................................................................... 18

2.4.1 Limiarização .................................................................................................................... 18

2.5 TRABALHOS CORRELATOS ........................................................................................ 19

2.5.1 Automated analysis of melanocytic lesions .................................................................... 19

2.5.2 Melanoma Early Detection using Dual Classifier ........................................................... 21

2.5.3 Corpus Mapping: Um aplicativo para o mapeamento corporal de lesões cutâneas ........ 22

2.5.4 Comparativo entre os trabalhos correlatos ...................................................................... 23

3 DESENVOLVIMENTO .................................................................................................... 24

3.1 LEVANTAMENTO DE INFORMAÇÕES ...................................................................... 24

3.2 ESPECIFICAÇÃO ............................................................................................................ 24

3.2.1 Diagrama de casos de uso ............................................................................................... 24

3.2.2 Diagrama de atividades ................................................................................................... 25

3.3 IMPLEMENTAÇÃO ........................................................................................................ 27

3.3.1 Técnicas e ferramentas utilizadas.................................................................................... 27

3.3.2 Operacionalidade da implementação .............................................................................. 38

3.4 RESULTADOS E DISCUSSÕES ..................................................................................... 42

3.4.1 Aplicação dos testes ........................................................................................................ 42

3.4.2 Resultados obtidos nos testes .......................................................................................... 42

4 CONCLUSÕES .................................................................................................................. 45

4.1 EXTENSÕES .................................................................................................................... 45

APÊNDICE A – DESCRIÇÃO DOS CASOS DE USO ...................................................... 50

APÊNDICE B – RESULTADOS OBTIDOS ....................................................................... 51

11

1 INTRODUÇÃO

Em 2012 foi estimado que cerca de um milhão de pessoas estivessem vivendo com

melanoma nos Estados Unidos (SURVEILLANCE, EPIDEMIOLOGY AND RESULT

PROGRAM, 2015). A estimativa de novos casos de melanoma nos Estados Unidos para o ano

de 2016 é de 76 mil e o número de mortes de 10 mil (SKIN CANCER FOUNDATION,

2016).

Já no Brasil, segundo o Instituto Nacional do Câncer (2016), a estimativa para 2016 é

de 5.670 novos casos, dos quais 1.547 representam o número de mortes.

Conforme Peruch (2015, p. 3, tradução nossa):

Melanoma representa menos de 2% de todos os casos de câncer de pele do mundo,

mas causa a grande maioria das mortes, além disso, sua incidência está crescendo

rapidamente em todo o mundo. O diagnóstico precoce é essencial para aumentar à

taxa de sobrevivência, uma vez que a excisão do melanoma for precoce, oferece

possibilidade de redução da chance de mortalidade.

Para a detecção do melanoma, normalmente é utilizada uma regra chamada de

ABCDE: alterações como assimetria (A), bordas irregulares (B), cor variável da mesma lesão

(C), diâmetro maior que 6 mm (D), evolução com aumento da lesão ou alteração das

características descritas (E) (MEIRA et al., 2015). No que se refere à realização do

diagnóstico, a evolução (E) da lesão é um dos principais fatores. Onde, em uma lesão que teve

sua coloração ou tamanho alterado, deve-se obter muita atenção a mesma (MELANOMA

RESEARCH FOUNDATION, 2015).

Conforme Araujo (2010), o alto índice de lesões de pele é adquirido de várias formas,

e as consequências que elas trazem para o paciente podem vir a se tornar um câncer de pele,

tornando sua detecção precoce de extrema importância para definição do tratamento mais

adequado. O fato de acompanhar o tamanho de lesões cutâneas benignas a fim de identificar a

evolução é um trabalho de devida importância.

Para que a lesão seja medida, geralmente é necessário um equipamento especifico, e,

como a lesão muitas vezes é curva, essa medição pode não ser totalmente correta, tornando

muito complicado comparar sua evolução, bem como verificar o tamanho da mesma,

principalmente se esse procedimento for feito por pessoas sem experiência.

O processamento digital de imagens é uma forma confiável de análise, que possibilita

analisar, comparar e interpretar os dados através de métodos automatizados. O

acompanhamento de lesões de pele via processamento digital de imagens permite avaliar o

que num primeiro momento era uma lesão avaliada como lesão benigna possa evoluir

rapidamente para melanoma (PAROLIN; HERZER; JUNG, 2010).

12

Com base nesse cenário, este trabalho apresenta a implementação de um método para

calcular o diâmetro (D) e a evolução (E) de lesões cutâneas.

1.1 OBJETIVOS

O objetivo geral deste trabalho é criar um método para calcular o tamanho e

acompanhar a evolução de lesões cutâneas utilizando técnicas de processamento de imagens.

Os objetivos específicos do trabalho proposto são:

a) identificar a lesão cutânea e o gabarito a partir de imagens capturadas por um

dispositivo móvel;

b) estabelecer a proporcionalidade entre o gabarito e a lesão cutânea;

c) apontar se houve crescimento da lesão ao longo do tempo.

1.2 ESTRUTURA

O trabalho está dividido em quatro capítulos. O primeiro capítulo apresenta os

objetivos e a motivação para o desenvolvimento do trabalho. O segundo trata da

fundamentação teórica, explicando sobre conceitos e técnicas desenvolvidas para o trabalho.

No terceiro capítulo é descrita a arquitetura do trabalho através dos diagramas, o

detalhamento da implementação e os resultados obtidos. No quarto e último capítulo são

apresentadas as conclusões e limitações do trabalho, além de sugestões para trabalhos futuros.

13

2 FUNDAMENTAÇÃO TEÓRICA

Essa seção demonstra algum dos principais conceitos que foram utilizados no trabalho.

A seção 2.1 apresenta o conceito de melanoma e demonstra alguns dados a respeito de câncer

de pele. A seção 2.2 descreve técnicas de detecção de bordas em processamento de imagens.

A seção 2.3 explica sobre operadores morfológicos e sua utilização prática. A seção 2.4

aborda segmentação de imagens, como reconhecer objetos de interesse em uma imagem. Por

fim, a seção 2.5 demonstra os trabalhos correlatos ao aplicativo desenvolvido.

2.1 MELANOMA

Segundo o Instituto Nacional do Câncer (2016), o melanoma cutâneo é um tipo de

câncer de pele que tem origem nos melanócitos (células produtoras de melanina, substância

que determina a cor da pele) e tem predominância em adultos brancos. A doença se manifesta

através do surgimento de uma pinta escura de bordas irregulares, na maioria dos casos não

apresenta sintomas, mas o tumor pode vir acompanhado de coceira e descamação. Em caso de

lesão pigmentada pré-existente, o tumor irá evoluir apresentando mudanças de cores que

podem variar do marrom claro ao preto, aumento da superfície e das bordas da lesão

(SOARES, 2008).

Uma técnica utilizada pelos dermatologistas para diagnosticar o câncer de pele, e

consequentemente o melanoma, é a dermatoscopia. Trata-se de um exame não invasivo,

realizado in vivo, que analisa superfícies pigmentadas na pele humana. O aparelho mais

utilizado pelos médicos é o dermatoscópio, que consiste em um aparelho portátil ótico que

permite ampliar a lesão de 10 a 100 vezes (ALENCAR, 2015). Na análise de lesões, além da

dermastocopia, se destaca a utilização da regra ABCDE.

A regra ABCDE é um guia para diagnostico visual das lesões a fim de detectar um

possível melanoma. Essa regra foi introduzida em 1985 como acrônimo ABCD e em 2004

expandida para ABCDE (JENSEN; ELEWSKI, 2015).

Ela classifica a lesão por:

a) assimetria: se uma linha for traçada no meio da lesão, significa que ela é simétrica,

ou seja, os dois lados vão corresponder. A assimetria significa que ambos os lados

não correspondem ao traçar essa linha. Um exemplo de assimetria pode ser visto

na Figura 1;

14

Figura 1 - Regra ABCDE (assimetria)

Fonte: Skin Cancer Foundation (2015).

b) borda: as bordas da lesão tendem a ser irregulares, conforme mostra a Figura 2;

Figura 2 - Regra ABCDE (borda)

Fonte: Skin Cancer Foundation (2015).

c) cor: a maiorias das lesões benignas são de uma cor só. Quando tendo uma

variedade de cores tende a ser um fator de alerta. Um número de diferentes tons de

marrom, bege ou preto pode aparecer. O melanoma pode também tornar-se

vermelho, branco ou azul, como representa a Figura 3;

Figura 3 - Regra ABCDE (cor)

Fonte: Skin Cancer Foundation (2015).

d) diâmetro: lesões benignas tendem a ter um diâmetro menor que as malignas.

Melanomas geralmente possuem um diâmetro maior que 6 mm, mas podem ser

menores quando detectados pela primeira vez, conforme demonstra a Figura 4;

Figura 4 - Regra ABCDE (diâmetro)

Fonte: Skin Cancer Foundation (2015).

e) evolução: lesões benignas tem a mesma aparência ao longo do tempo. Quando

uma lesão muda sua forma, tamanho ou cor pode ser sinal de melanoma, como

mostra a Figura 5.

15

Figura 5 - Regra ABCDE (evolução)

Fonte: Skin Cancer Foundation (2015).

Segundo Melanoma Research Foundation (2015), a evolução (E) da lesão se tornou o

fator mais importante a se considerar em um diagnóstico. Thomas et al. (1998) concluíram

que a evolução é o critério mais específico entre as características da regra ABCDEs. Em um

estudo de características dermatoscópicas realizado com 169 lesões pigmentadas descobriu-se

que lesões observadas por dermatologistas para serem ao mesmo tempo não uniforme (isto é,

a partilha de alguns dos critérios ABC), e que tiveram alterações, tinham pelo menos quatro

vezes mais chance de ser melanoma do que as lesões que não apresentavam estas

características (ABASSI, 2004).

2.2 DETECÇÃO DE BORDAS

Segundo Boaventura (2010, p. 76), bordas e contornos são características úteis, uma

vez que representam uma imagem pelo limite dos objetos e separação das regiões não

similares em termos de intensidade de pixels, além disso, apresentam informação essencial de

um objeto de interesse na imagem.

Conforme Nunes e Conci (2007, p. 185), o processo de detecção de bordas consiste na

verificação da variação dos valores de luminosidade de uma imagem visando localizar e

realçar os pixels de borda, por meio da ampliação do contraste entre esta e o fundo. A seção

2.2.1 descreve sobre o método Canny utilizado para a detecção de bordas.

2.2.1 Filtro de Canny

O filtro de Canny é um detector de bordas otimizado e foi criado por John Canny em

1983 e publicado em 1986, com o objetivo inicial de resolver o problema de sensibilidade a

ruídos/texturas na detecção de bordas (PIRES, 2008).

Ainda conforme Pires (2008, p. 15):

O filtro de Canny deve satisfazer três critérios básicos de desempenho: boa detecção,

boa localização e boa resposta. Em outras palavras, um detector de bordas deve ser

capaz de: minimizar o numero de falsos positivos (pixels detectados, mas que não

são bordas) e falsos negativos (pixels de bordas que não são detectados); minimizar

a distancia entre a borda detectada e a borda verdadeira e; minimizar a probabilidade

de múltipla detecção de uma borda (isto é, o algoritmo deve fornecer uma resposta

única para cada pixel de borda na imagem).

16

Para processar as bordas são seguidos os seguintes passos: suavização de uma imagem

por um filtro gaussiano, processar o gradiente da matriz suavizada, a magnitude e orientação

do gradiente são computadas por fórmulas de conversão de coordenadas retangulares e

utilizada à técnica de supressão não máxima (VALE; POZ, 2002).

Um exemplo de utilização pratica do filtro de Canny pode ser visto na Figura 6.

Figura 6 - Exemplo de utilização do filtro de Canny

(a) imagem original (b) utilização de detecção

de bordas

(c) utilização do filtro de

Canny Fonte: elaborado pelo autor.

No exemplo demonstrado acima, a Figura 6a representa a imagem original, onde então

é realizado um filtro de detecção de bordas padrão, resultando na Figura 6b. Já a Figura 6c

demonstra a utilização do filtro de Canny sobre a imagem original, podendo verificar os

detalhes obtidos visivelmente na detecção.

2.3 OPERADORES MORFOLÓGICOS

A morfologia matemática é uma ferramenta que auxilia a extração de componentes

úteis na imagem para a descrição de forma de uma região (GONZALES; WOODS, 2000, p.

369). Conforme Costa e Cesar Jr. (2000, p. 255), pré-processamento de imagens, filtros de

ruídos, detecção de formas e associação de padrões são alguns dos problemas onde a

morfologia matemática vem sendo aplicada.

Segundo Facon (1996, p. 2), o princípio básico da morfologia matemática consiste em

extrair uma informação relativa à geometria e à topologia de um conjunto desconhecido de

uma imagem pela transformação a partir de outro conjunto completamente definido chamado

EE (Elemento estruturante). Ainda conforme Facon (1996), existem dois operadores

morfológicos básicos (dilatação e erosão).

2.3.1 Erosão

Conforme Queiroz e Gomes (2001, p. 22), o objetivo da erosão é remover os pixels

que não atendem a um dado padrão. Matematicamente, pode-se definir a erosão de uma

17

imagem f pelo elemento estruturante B da seguinte maneira: εB(f) = {x ∈ E : Bx ⊂ f }

onde BX representa o elemento estruturante B transladado na posição x.

Facon (2011, p. 64) diz que:

Segundo essa definição deve-se deslizar o elemento estruturante B sobre a imagem

f e para cada pixel x verificar a configuração de sua vizinhança em relação à

estrutura do elemento estruturante B. Por ser binários, a imagem f e o elemento

estruturante B contém dois tipos de informação, o fundo e os pixels relevantes. O

significado dessa definição é que o elemento estruturante Bx, posicionado e

centrado no pixel x de f, tenta aparelhar-se com a vizinhança de x. Entende-se que

cada pixel relevante de Bx deve encontrar-se na mesma posição na vizinhança de x.

Caso seja verificado, o pixel x na imagem erodida será considerado um pixel

relevante e será preservado. Caso contrário, ele será considerado como irrelevante e

será apagado.

Um exemplo de erosão pode ser verificado na Figura 7.

Figura 7 - Exemplo de utilização de erosão

(a) imagem original (b) imagem erodida

Fonte: Facon (2011).

Na Figura 7a pode se verificar que existem ruídos em preto, ao aplicar a técnica de

erosão nos conjuntos de preto da imagem pode ser verificado que na Figura 7b o ruído

desaparece.

2.3.2 Dilatação

Segundo Queiroz e Gomes (2001, p. 22), a dilatação partir da qual uma pequena área

relacionada a um pixel é alterada para um dado padrão. Matematicamente, pode-se definir

dilatação de uma imagem f pelo elemento estruturante B como: δB(f) = {x ∈ f : Bx ∩ f}

onde Bx representa o elemento estruturante B transladado na posição x (FACON, 2011).

Ainda conforme Facon (2011, p. 66):

Segundo essa equação, o elemento estruturante Bx, posicionado e centrado em cada

pixel x de f desliza na imagem f e verifica uma possível interseção com a

vizinhança de x. Caso seja verdadeiro, o ponto central na imagem resultado será

considerado um pixel relevante e será marcado como tal. Caso contrário, ele será

considerado como irrelevante e será apagado.

18

Um exemplo de dilatação pode ser verificado na Figura 8.

Figura 8 - Exemplo de utilização de dilatação

(a) imagem original (b) imagem dilatada

Fonte: Facon (2011).

Na Figura 8a pode ser verificado que existe um conjunto de ruídos branco

internamente nos elementos em preto, após ser aplicado o método de dilatação esses ruídos

desaparecem e os elementos que estão em preto são preenchidos como mostra a Figura 8b.

2.4 SEGMENTAÇÃO DE IMAGENS

A segmentação de imagens é um importante método utilizado em problemas de análise

de imagens. Suas aplicações variam desde o controle de qualidade industrial à medicina,

navegação de robôs, aplicações militares, exploração geofísica, sensoriamento remoto, etc

(CUFÍ et al., 2002).

Segundo Negri e Silva (2012), o objetivo da segmentação é particionar a imagem em

um conjunto de regiões visualmente distintas e uniformes com relação a alguma propriedade,

como o nível de cinza, textura ou cor.

Conforme Faria (2010), os algoritmos clássicos utilizados na segmentação de imagem

são baseados em uma das duas propriedades básicas dos valores de intensidade,

descontinuidade e similaridade. No primeiro caso, a segmentação é baseada em mudanças

bruscas nos valores de intensidade dos pixels da imagem. No segundo caso, a segmentação de

imagem é baseada na sua partição em regiões semelhantes de acordo com um conjunto de

critérios predefinidos.

2.4.1 Limiarização

A limiarização é uma das abordagens mais importantes de segmentação de imagens. O

objetivo dela é separar a imagem entre duas regiões, o fundo e o objeto de interesse, as demais

19

regiões são classificadas como não interessantes. Nesta prática, obtém-se uma imagem com o

objeto preto sobre o fundo branco (ABOUD NETA et al., 2008).

A limiarização utiliza uma imagem de entrada f(x, y) de N níveis de cinza que

produz uma saída uma imagem g(x, y), chamada de imagem limiarizada, cujo número de

níveis de cinza é menor que N. Normalmente, g(x, y) apresenta 2 (dois) níveis de cinza,

conforme ilustrado na Figura 9.

Figura 9 - Limiarização simples

Fonte: Aboud Neta et al. (2008).

Onde, os pixels rotulados com 1 correspondem aos objetos e os pixels rotulados com 0

correspondem ao fundo e T é um valor de tom de cinza predefinido denominado limiar

(FEITOSA, 2015).

A técnica de limiarização de histograma baseia-se nos picos e vales do histograma de

uma imagem para separar os seus objetos do plano de fundo. Em imagens monocromáticas, os

picos e vales podem ser facilmente identificados a partir do histograma de luminosidade da

imagem. No caso de imagens coloridas, é necessária a análise dos histogramas das três

componentes de cores da imagem (MAIA, 2014).

2.5 TRABALHOS CORRELATOS

Foram encontrados alguns trabalhos correlatos, sendo que a maioria geralmente tem

por definição apenas a segmentação e remoção de fatores que atrapalham o resultado final. Na

questão “evolução”, foi encontrado apenas o trabalho de Peruch (2015).

Dentre os trabalhos selecionados estão: Automated analysis of melanocytic lesions

(PERUCH, 2015); Melanoma Early Detection using Dual Classfier (CHAITANYA;

PAVANI, 2015); Corpus Mapping: um aplicativo para o mapeamento corporal de lesões

cutâneas (LIMA, 2015).

2.5.1 Automated analysis of melanocytic lesions

Peruch (2015) criou uma solução chamada de Mole Mapper para ajudar

dermatologistas durante o processo de diagnóstico. Essa solução implementa 3 algoritmos

principais:

a) um algoritmo de segmentação de lesão melanocítica, que permite a extração de

20

informações úteis sobre a forma da mesma;

b) um algoritmo de “barbear virtual”, o que aumenta a precisão e a robustez dos

outros algoritmos e permite ao dermatologista uma lesão sem pelos;

c) um algoritmo de registro da evolução da lesão ao longo do tempo destacando

anomalias e variações inesperadas.

A Figura 10a demonstra a tela principal do aplicativo, onde é possível identificar

também o aplicativo demonstrando a evolução da lesão em questão, na Figura 10b pode-se

observar a lesão sendo medida e na Figura 10c a representação do corpo humano permitindo

selecionar uma parte e poder cadastrar lesões para a mesma.

Figura 10 - Tela principal do “Mole Mapper”

(a) Tela principal (b) Calculo de tamanho (c) Representação do corpo Fonte: elaborado pelo autor.

Para a parte de segmentação têm-se cinco estágios, dentre eles, o pré-processamento

que consta com o barbear virtual, iluminação da imagem e balanceamento de cor. A segunda

fase é o Principal Component Analysis (PCA) que é uma ferramenta padrão para análise

estatística das observações em um espaço multidimensional. Dentro do PCA feito o

agrupamento das cores. Após finalizar a segunda fase, o próximo estágio é a redução de ruído.

A quarta fase é o agrupamento de cor, que associa a cada cor com o número de pixels da

mesma cor, separando cor e, portanto pixels em dois grupos, correspondendo respectivamente

à lesão e a pele não lesionada. Esta fase é a parte principal da técnica e que imita o processo

21

cognitivo de dermatologistas. Por último, o pós-processamento onde ocorre o mapeamento da

segmentação para voltar à cor original e classifica-lo em lesional ou não-lesional.

2.5.2 Melanoma Early Detection using Dual Classifier

O trabalho de Chaitanya e Pavani (2015) teve por objetivo criar um aplicativo que

simula um smartphone e em tempo real faz a detecção do câncer de pele. O aplicativo possui

os seguintes módulos: aquisição da imagem, detecção e remoção de pelos, segmentação da

lesão, extração das características, classificação e análise de performance. A Figura 11

apresenta a tela principal do protótipo.

Figura 11 - Tela principal da aplicação

Fonte: Chaitanya e Pavani (2015).

O sistema usa uma base de dados do hospital Pedro Hispano Hospital de Portugal para

fins de desenvolvimento e testes. O banco de dados contém um total de 200 imagens de

lesões, incluindo benigno, atípico e casos de melanoma.

A segmentação da imagem é uma parte fundamental para o processo, onde ocorre o

particionamento da imagem em vários segmentos (conjunto de pixels). Cada um dos pixels em

uma região é semelhante a alguma característica ou propriedade calculada, como por

exemplo, a intensidade da cor e a textura. Nesta fase, é utilizado o algoritmo de interpolação

como o Marching Cubes, que reconstitui a segmentação para reconstruções em 3D.

O protótipo desenvolvido classifica a lesão como benigno, atípico ou melanoma, e um

alerta é enviado ao usuário para que este seja consultado com um médico. Os resultados

obtidos tiveram uma alta taxa de acertos.

22

2.5.3 Corpus Mapping: Um aplicativo para o mapeamento corporal de lesões cutâneas

Lima (2015) teve como objetivo desenvolver um aplicativo para a plataforma Android

que realizasse o mapeamento corporal de lesões cutâneas, técnica utilizada na detecção

precoce do melanoma. Neste trabalho foi utilizada a linguagem de programação Java e a

ferramenta Android Studio, além da API do Google Drive para efetuar o backup dos dados. A

Figura 12 mostra a tela principal do Corpus mapping.

Figura 12 - Corpus mapping

Fonte: Lima (2015).

Foi utilizado um gabarito para estimar o tamanho da pinta na captura da imagem, o

próprio aplicativo instrui o usuário como criar o gabarito. Após a criação do gabarito é feita a

captura da imagem, onde envolve a seleção da região de interesse por parte do aplicativo. Em

seguida, é necessário vincular a imagem capturada com uma região corporal. Por fim, pode-se

visualizar as imagens, no qual é selecionada a parte do corpo para verificar o histórico das

pintas, inserir anotação e associar uma nova imagem com o local da pinta sendo visualizada.

A aplicação teve um resultado satisfatório, apesar de que alguns usuários que testaram

a aplicação informaram que precisavam de alguém para utilizar a câmera. Esta sugestão foi

23

motivada pela dificuldade do usuário segurar o gabarito e o smartphone para capturar a

imagem. Em comparativo com as outras aplicações o aplicativo consta com backup de dados,

padronização da captura, possibilidade de cadastrar mais de um paciente, visualizar duas

imagens de lesões simultaneamente, podendo ser utilizado pelos próprios pacientes.

2.5.4 Comparativo entre os trabalhos correlatos

O Quadro 1 apresenta um comparativo entre as principais características dos trabalhos

correlatos.

Quadro 1 - Comparativo entre os trabalhos correlatos

Trabalhos

Características

Peruch

(2015)

Chaitanya e

Pavani (2015)

Lima

(2015)

Plataforma IOS Desktop Android

Cálculo de tamanho da lesão Sim Não Não

Segmentação de lesão Sim Sim Não

Mapeamento das lesões Sim Não Sim

Classificação da lesão em lesional ou não lesional Sim Sim Não

Fonte: elaborado pelo autor.

A partir do Quadro 1 pode-se observar que o trabalho realizado por Peruch (2015) é o

mais completo contemplando todas as características da regra ABCDE. Porém, só está

disponível para a plataforma IOS. Lima (2015) tinha por objetivo realizar o mapeamento das

lesões. Enquanto Chaitanya e Pavani (2015) tinham como intuito identificar qual era a

possiblidade da lesão ser um câncer de pele.

Relacionando as características com o trabalho proposto, a questão de cálculo de

tamanho é realizada apenas por Peruch (2015), onde este calcula o comprimento da lesão

utilizando como gabarito uma moeda para realizar proporcionalização.

Em relação à segmentação da lesão, apenas o trabalho de Lima (2015) não realiza este

procedimento devido ao seu objetivo que era apenas fazer o mapeamento das lesões cutânes.

Já nos trabalhos de Peruch (2015) e Chaitanya e Pavani (2015) este procedimento foi

realizado pois é de suma importância para realizar a classificação da lesão em lesional ou não.

24

3 DESENVOLVIMENTO

Neste capítulo são demonstradas as etapas do desenvolvimento do protótipo. Na seção

3.1 são apresentados os requisitos funcionais e não funcionais da aplicação. A seção 3.2

demonstra a especificação do protótipo. A seção 3.3 apresenta de forma explicativa a

implementação do algoritmo de detecção de imagem. Por fim, a seção 3.4 apresenta os

resultados dos testes, sugestões e melhorias.

3.1 LEVANTAMENTO DE INFORMAÇÕES

O aplicativo desenvolvido possui os seguintes Requisitos Funcionais (RF) e Requisitos

Não Funcionais (RNF):

a) permitir a captura de imagens utilizando a câmera do dispositivo Android (RF);

b) permitir o cadastro de lesões a partir de partes do corpo do usuário (RF);

c) realizar a segmentação do gabarito (RF);

d) realizar a segmentação da lesão (RF);

e) proporcionalizar o tamanho da lesão a partir do gabarito (RF);

f) criar um gráfico evolutivo da lesão em questão (RF);

g) ser desenvolvido para a plataforma Android (RNF);

h) utilizar a linguagem de programação C# com o plugin Xamarin (RNF);

i) ser desenvolvido utilizando o wrapper EmguCV para o algoritmo de

processamento de imagem (RNF).

3.2 ESPECIFICAÇÃO

A especificação do protótipo foi representada através da Unified Modeling Language

(UML), utilizando a ferramenta Enterprise Architect (EA). Neste trabalho foram

desenvolvidos os diagramas de casos de uso e de atividades.

3.2.1 Diagrama de casos de uso

Os casos de uso que representam as funcionalidades da aplicação são exibidos na

Figura 13. O detalhamento dos mesmos encontra-se no apêndice A.

25

Figura 13 - Diagrama de casos de uso

Fonte: elaborado pelo autor.

A partir da Figura 13 percebe-se que a aplicação dispõe do ator Usuário como

manipulador do smartphone e o ator Sistema responsável pelo algoritmo de processamento

de imagem. O caso de uso UC04 – Cadastrar pinta permite ao usuário cadastrar uma lesão

em uma parte do corpo. Tendo a lesão cadastrada, o usuário pode realizar a sua análise a partir

do UC09 – Analisar lesão que irá executar indiretamente o UC02 – Carregar imagem ou

UC01 – Capturar imagem. A partir do cadastrado da lesão, o sistema irá executar o UC05 –

Segmentar gabarito e o UC06 – Segmentar lesão a fim de localizar o gabarito e a lesão

dentro da imagem. Identificados tais elementos (gabarito e lesão), o sistema tentará

estabelecer a proporcionalidade entre eles por meio do UC07 – Calcular tamanho da

lesão.

3.2.2 Diagrama de atividades

O diagrama de atividades é responsável por demonstrar o fluxo de execução dos

processos necessários para medir a lesão, a Figura 14 demonstra o processo de medição da

lesão.

26

Figura 14 - Diagrama de atividade

Fonte: elaborado pelo autor.

Na Figura 14 pode-se observar que o processo de cálculo se inicia pelo pré-

processamento, onde a imagem será carregada e recortada pelo usuário a fim de estabelecer

sua área de interesse. A partir disso, a imagem é convertida para a escala de cinza e,

posteriormente, o sistema realizará os procedimentos para identificar a lesão e o gabarito.

Para encontrar as medidas do gabarito, inicialmente aplica-se o filtro de Canny para

encontrar os contornos dos elementos existentes na imagem. A partir disso, é feito uma

27

varredura para identificar os contornos em formato de quadrado. Dentre os identificados, o

elemento que possuir a maior área será considerado o gabarito. Ao qual, terá suas medidas

retornadas em pixels.

Para encontrar a lesão, primeiramente é realizada uma binarização. Posteriormente, são

encontradas todas as componentes conexas da imagem. A partir delas, verifica-se qual possui

a maior circularidade, sendo considerada a lesão. Por fim, destaca-se o contorno

correspondente para facilitar a visualização da lesão encontrada por parte do usuário e, ao

mesmo tempo, calcula-se a sua medida em pixels.

Tendo encontrado as medidas do gabarito e da lesão é possível estabelecer a

proporcionalidade entre eles. Para isso, são levados em consideração a área, o perímetro e o

comprimento de ambos.

3.3 IMPLEMENTAÇÃO

Neste capítulo são mostradas as técnicas, ferramentas e a operacionalidade da

implementação. A seção 3.3.1 apresenta o detalhamento das ferramentas e as técnicas

utilizadas. A seção 3.3.2 demonstra o processo operacional do aplicativo.

3.3.1 Técnicas e ferramentas utilizadas

A aplicação foi desenvolvida utilizando a linguagem de programação C# na IDE

Visual Studio 2015. As tecnologias utilizadas no desenvolvimento estão listadas abaixo:

a) Xamarin: a plataforma Xamarin permite desenvolvimento de aplicativos Android e

iOS utilizando a linguagem C# dentro da IDE Visual Studio;

b) EmguCV: é um chamado wrapper da biblioteca de processamento de imagens

OpenCV utilizando a linguagem C#. O EmguCV pode ser compilado no Visual

Studio e tem compatibilidade com o Xamarin, podendo assim ser utilizado para

desenvolver aplicativos Android;

c) SQLite (Android): o SQLite é um repositório de dados que simula um banco de

dados relacional. A plataforma Android suporta nativamente o SQLite.

Nas próximas seções são detalhados os passos adotados na implementação do

aplicativo para medir a evolução de lesões cutâneas. A Figura 15 é parte referente ao

processamento de imagens e possui as seguintes etapas: pré-processamento, segmentação,

cálculo da proporcionalidade.

28

Figura 15 - Fluxo geral do processamento de imagem

Fonte: elaborado pelo autor.

O detalhamento está dividido em etapas e possui exemplos do código fonte

implementado, assim como os resultados dessas implementações. A seção a seguir, descreve a

etapa de pré-processamento.

3.3.1.1 Pré-processamento

Nesta seção a imagem é carregada a partir do aplicativo, seja da galeria do celular ou

por meio de captura da câmera. Tendo a imagem carregada, o usuário pode recortá-la para

focalizar apenas nos elementos principais da imagem, ou seja, o gabarito e a lesão. Dessa

forma, ele reduzirá a possibilidade de erros no processo de segmentação. A Figura 16 mostra

o processo de corte de imagem realizado pelo usuário do aplicativo.

Figura 16 - Corte de imagem

Fonte: elaborado pelo autor.

29

Depois de realizar o recorte da imagem, ela é convertida para escala de cinza. Para

realizar este procedimento foi utilizado o método CvtColor, conforme mostra o código do

Quadro 2.

Quadro 2 - Código responsável pela conversão para escala de cinza 1. Mat imageGray = new Mat(image.Size, DepthType.Cv8U, 255);

2. CvInvoke.CvtColor(image, imageGray, ColorConversion.Rgba2Gray);

Fonte: elaborado pelo autor.

A Figura 17a demonstra a imagem original e a Figura 17b mostra o resultado da

operação de conversão para escala de cinza.

Figura 17 - Imagem convertida para escala de cinza

(a) imagem original (b) imagem em escala de cinza Fonte: elaborado pelo autor.

O próximo passo é a segmentação da imagem. Esta atividade é realizada para separar o

plano de fundo da imagem das regiões de interesse, no caso, o gabarito e a lesão.

3.3.1.2 Segmentação

Nesta etapa são detalhados os passos para realizar a identificação do gabarito e da

lesão cutânea. A seção 3.3.1.2.1 descreve o processo e a identificação do gabarito. Já a seção

3.3.1.2.2 apresenta como foi feito o isolamento da lesão.

3.3.1.2.1 Identificação do Gabarito

Com a imagem pré-processada, o próximo passo é encontrar as medidas do gabarito.

Para isso, foi utilizado o filtro Canny disponibilizado pela API EmguCV. Ele verifica a

mudança de intensidade dos pixels, destacando os contornos dos objetivos existentes na

imagem. Na utilização desse método foram informados dois parâmetros de threshold, se um

gradiente de pixel é maior que o maior threshold, o pixel é considerado contorno. Se o valor

for abaixo do threshold ele será rejeitado. Se o gradiente de pixel estiver entre os dois

thresholds, então ele será aceito somente se estiver conectado a um pixel que está acima do

maior threshold. O Quadro 3 demonstra essa técnica utilizada.

30

Quadro 3 - Código responsável pela binarização da imagem 1. CvInvoke.Canny(imageGray, binaryImg, 200, 90)

Fonte: elaborado pelo autor.

Os valores 200 e 90 foram os valores inseridos para encontrar os contornos. O

resultado da utilização de Canny pode ser visto na Figura 18.

Figura 18 - Imagem binarizada

Fonte: elaborado pelo autor.

Muitas vezes o método de Canny não é efetivo, pois alguns contornos não são

contínuos. Por causa disso, foram realizados outros procedimentos para encontrar os

contornos e consecutivamente o gabarito. Primeiramente, tentou-se reconstruir as áreas

faltantes, conforme mostra o código do Quadro 4.

Quadro 4 - Borrar a imagem 1. CvInvoke.MedianBlur(imageGray, imageBlurred, 9);

2. CvInvoke.Canny(imageBlurred, imageGrayGray, 200, 90);

Fonte: elaborado pelo autor.

Para realizar a reconstrução, foi utilizado o método MedianBlur que causa um borrão

na imagem e, que no caso em questão, melhorou o alinhamento das linhas que representam o

contorno do gabarito como demonstra Figura 19.

Figura 19 - Técnica de borrão

(a) imagem Filtro Canny (b) imagem Filtro da média

Fonte: elaborado pelo autor.

31

Caso não seja possível estabelecer o contorno do gabarito a partir do método de

detecção de bordas, tentou-se encontrá-lo pela técnica de limiarização, utilizando o método

Threshold e os valores de 180 e 255, conforme pode ser visto no Quadro 5.

Quadro 5 - Binarizando a imagem por Threshold 1. CvInvoke.Threshold(imageGray, imageGrayGray, 180, 255,

ThresholdType.Binary);

Fonte: elaborado pelo autor.

A Figura 20a retrata um caso onde o filtro de Canny foi aplicado e não gerou bons

resultados. Já a Figura 20b demonstra a utilização da técnica de limiarização. A principal

diferença entre limiarização e Canny é que por limiarização o objeto é identificado como um

todo e por Canny apenas seus contornos.

Figura 20 - Tentativa por Canny e Threshold

(a) Imagem filtro de Canny (b) Imagem limiarizada

Fonte: elaborado pelo autor.

A partir da imagem binarizada, pode-se encontrar seus contornos. Para isso, utilizou-se

o método FindContours, que retorna os contornos da imagem binarizada e os armazena num

vetor de vetor de pontos. Este processo é demonstrado no Quadro 6.

Quadro 6 - Encontrando contornos da imagem 1. VectorOfVectorOfPoint contours = new VectorOfVectorOfPoint();

2. CvInvoke.FindContours(binaryImg, contours, null, RetrType.External,

ChainApproxMethod.ChainApproxSimple);

Fonte: elaborado pelo autor.

O parâmetro RetrType.External indica o tipo de contorno que será retornado. No

caso, serão recuperados apenas os contornos mais externos. Ou seja, caso existam contornos

internos a um objeto maior, estes serão ignorados, sendo adicionados no vetor os contornos

apenas os elementos mais externos.

No passo seguinte, os contornos encontrados foram percorridos no intuito de deixar

apenas os que tinham a forma de quadrado. Para isso, foram utilizadas as técnicas para

identificar o quadrado, conforme mostra o Quadro 7.

32

Quadro 7 - Procedimento para encontrar o contorno em forma de quadrado 1. CvInvoke.ApproxPolyDP(contours[i], approx,

CvInvoke.ArcLength(contours[i], true) * 0.02, true);

2. if (approx.Size == 4 && CvInvoke.ContourArea(approx) > 400 &&

CvInvoke.IsContourConvex(approx)) {

3. double maxCosine = 0;

4. for (int j = 2; j < 5; j++)

5. {

6. double cosine = Angle(approx[j%4], approx[j-2], approx[j-1]);

7. maxCosine = Math.Max(maxCosine, cosine);

8. }

9 . if (maxCosine < 0.3)

10. {

11. squares.Push(contours[i]);

12. }

13. }

Fonte: elaborado pelo autor.

O método ApproxPolyDP aproxima uma curva com outra curva com menos vértices

para que a distância entre elas seja menor ou igual a precisão especificada como mostra a

linha 1.

Para ser considerado um quadrado, a aproximação deve ter quatro lados, uma área

maior que quatrocentos e ser convexo. Para verificar se o contorno é convexo ou não, é

utilizado o método IsContourConvex, conforme mostra a linha 2.

Caso o contorno passe por todas as verificações serão percorridas as arestas para

encontrar o maior cosseno, descrito na linha 7. Se todos os ângulos são pequenos,

aproximadamente 90 graus, é um quadrado válido, e este será adicionado no array de retorno.

3.3.1.2.2 Cálculo do tamanho

Ao encontrar o array de contornos do gabarito pode-se realizar o procedimento para

estabelecer o tamanho dele. Foram efetuados os cálculos do perímetro, da área e do

comprimento.

Para encontrar o perímetro do gabarito utilizou-se o método ArcLength, conforme

mostra a linha 2. Já a área foi encontrada através do método ContourArea exemplificado na

linha 3 do Quadro 8.

Quadro 8 - Medição do gabarito 1. private void MeasureQuadrangle(VectorOfVectorOfPoint contours,

VectorOfPoint quadrangle){

2. var quadranglePerimeter = CvInvoke.ArcLength(quadrangle, true);

3. var quadrangleArea = CvInvoke.ContourArea(quadrangle, false);

Fonte: elaborado pelo autor.

Muitas vezes os contornos não são quatro linhas exatamente retas e sim vários pontos

uniformes. Para encontrar o tamanho do comprimento do gabarito foi necessário utilizar o

método MinAreaRect, que desenha um retângulo nos pontos extremos do contorno, assim

como mostra o Quadro 9.

33

Quadro 9 - Aresta do gabarito 1. var rotatedRect = CvInvoke.MinAreaRect(quadrangle); 2. var rect_points = rotatedRect.GetVertices(); 3. List<LineSegment2D> lines = new List<LineSegment2D>(); 4. for (int i = 0;i < rect_points.Length;i++) 5. { 6. lines.Add(new LineSegment2D(new Point((int)rect_points[i].X,

(int)rect_points[i].Y), new Point((int)rect_points[(i + 1) % 4].X,

(int)rect_points[(i + 1) % 4].Y)));

7. }

8. var quadrangleLength = (float)lines.Max(t => t.Length);

Fonte: elaborado pelo autor.

Como resultado, obtém-se os quatro vértices do quadrado no retorno do método

GetVertices. A partir deles, é possível realizar uma ligação entre os pontos e instanciar um

objeto LineSegment2D para criar uma linha reta ao qual será possível medi-la. A Figura 21

demonstra a criação do retângulo e os vértices encontrados.

Figura 21 - Determinando tamanho da linha do gabarito

Fonte: elaborado pelo autor.

Com as linhas encontradas, é realizado o procedimento para pegar a maior linha reta.

Este procedimento é realizado pois, às vezes, o usuário não consegue recortar um quadrado

com todos os seus lados iguais, assim nas próximas analises o lado sempre será o maior.

3.3.1.3 Segmentação da lesão

Nesta etapa, após ser encontradas as medidas do gabarito, é realizada a segmentação da

lesão, para que posteriormente seja calculado a sua proporcionalidade.

O primeiro passo a ser realizado é a binarização da imagem. Para isso, utiliza-se o

processo de limiarização, que separa o objeto que será analisado do fundo da imagem. O valor

inicial do threshold é definido da seguinte maneira, caso não exista nenhuma analise anterior

à realização do exame atual, seu valor é 70, se não, ele utilizará a última amostragem como

34

valor definido. O valor 70 foi utilizado baseado nos testes realizados. Depois de estabelecido

o valor do threshold, utilizou-se o método Threshold para realizar a binarização, conforme

demonstra o Quadro 10.

Quadro 10 - Binarização da imagem 1. CvInvoke.Threshold(imgDest, imgDest, _threshold, 255,

Emgu.CV.CvEnum.ThresholdType.BinaryInv);

Fonte: elaborado pelo autor.

O método utiliza o valor encontrado no parâmetro _threshold até o valor de branco

(255) para encontrar as áreas de interesse na imagem. O parâmetro

ThresholdType.BinaryInv informa ao método o tipo de binarização. Neste caso, os pixels

maiores que o parâmetro _threshold serão convertidos para branco (255), conforme mostra a

Figura 22.

Figura 22 - Imagem binarizada

Fonte: elaborado pelo autor.

A partir da Figura 22, pode-se verificar que a imagem contém alguns ruídos, pois

existem pixels fora do limiar estabelecido no método Threshold. Para minimizar este

problema, foram aplicados os operadores morfológicos de dilatação e erosão para preencher

os ruídos existentes na imagem. O Quadro 11 demonstra o código utilizado para realizar este

procedimento.

35

Quadro 11 - Código de dilatação e erosão 1. var se = CvInvoke.GetStructuringElement(ElementShape.Rectangle, new

Size(3, 3), new System.Drawing.Point(-1, -1));

2. CvInvoke.Erode(imgDest, imgDest, se, new System.Drawing.Point(-1, -

1), 1, Emgu.CV.CvEnum.BorderType.Default, new MCvScalar(1));

3. se = CvInvoke.GetStructuringElement(ElementShape.Rectangle, new

Size(12, 12), new System.Drawing.Point(-1, -1));

4. CvInvoke.Dilate(imgDest, imgDest, se, new System.Drawing.Point(-1, -

1), 1, Emgu.CV.CvEnum.BorderType.Default, new MCvScalar(1));

5. se = CvInvoke.GetStructuringElement(ElementShape.Rectangle, new

Size(12, 12), new System.Drawing.Point(-1, -1));

6. CvInvoke.Erode(imgDest, imgDest, se, new System.Drawing.Point(-1, -

1), 1, Emgu.CV.CvEnum.BorderType.Default, new MCvScalar(1));

7. se = CvInvoke.GetStructuringElement(ElementShape.Rectangle, new

Size(3, 3), new System.Drawing.Point(-1, -1));

8. CvInvoke.Dilate(imgDest, imgDest, se, new System.Drawing.Point(-1, -

1), 1, Emgu.CV.CvEnum.BorderType.Default, new MCvScalar(1));

Fonte: elaborado pelo autor.

A técnica de erosão tem o objetivo de eliminar pixels dispersos e a dilatação de

preencher os espaços vazios aumentando o tamanho das regiões brancas. Na aplicação dessas

técnicas foram utilizadas duas máscaras de tamanho 3x3 e 12x12 pixels. Os valores foram

baseados em diversos testes realizados, onde a imagem não altera seu tamanho. O resultado

deste processo é apresentado na Figura 23.

Figura 23 - Processo de erosão e dilatação

Fonte: elaborado pelo autor.

Tendo a imagem sem ruídos, pode-se encontrar o contorno dela. Para isso, foi utilizado

o método FindContours, conforme demonstra o Quadro 12.

Quadro 12 - Método para encontrar os contornos da lesão 1. CvInvoke.FindContours(imgDest, contours, hirarchy,

Emgu.CV.CvEnum.RetrType.External,

Emgu.CV.CvEnum.ChainApproxMethod.ChainApproxSimple);

Fonte: elaborado pelo autor.

36

Os contornos serão armazenados no vetor contours, o parâmetro

RetrType.External indica que só serão considerados os contornos mais externos. O

resultado pode ser verificado na Figura 24.

Figura 24 - Contorno da segmentação da lesão

Fonte: elaborado pelo autor.

Em certos casos, alguns contornos não pertinentes à lesão podem ser encontrados. Para

desconsidera-los, foi verificado a sua circularidade, conforme mostra o Quadro 13.

Quadro 13 - Encontrar elemento com maior circularidade 1. double biggerCircularity = 0.00;

2. int contournIdx = -1;

3. for (int i = 0; i < contours.Size; i++)

4. {

5. var perimeter = CvInvoke.ArcLength(contours[i], false);

6. var area = CvInvoke.ContourArea(contours[i], false);

7. var circularity = 4 * Math.PI * (area / Math.Pow(perimeter, 2));

8. circ.Add(circularity);

9. circ2.Add(perimeter / quadradoPerimeter);

10. if(circularity <= 1.00)

11. {

12. if(circularity > biggerCircularity && area > 50)

13. {

14. biggerCircularity = circularity;

15. contournIdx = i;

16. }

17. }

18. }

Fonte: elaborado pelo autor.

A fórmula do cálculo da circularidade se da por R = (4*PI*A) / P², onde A

corresponde à área do elemento e P o perímetro do mesmo, quanto mais próximo de 1, mais

próximo de um círculo é o elemento. Também é feita a verificação do tamanho da área, pois

caso seja um contorno muito pequeno a circularidade do mesmo tende a ser alta, porém, o

mesmo não corresponde a uma lesão. Tendo encontrado o contorno que representa a lesão,

pode-se realizar o cálculo da proporção.

37

3.3.1.3.1 Cálculo do tamanho da lesão

Após ter a lesão devidamente segmentada o próximo passo é encontrar a área, o

perímetro e a altura e largura da mesma. Este procedimento é realizado a partir do trecho de

código descrito no Quadro 14.

Quadro 14 - Cálculo do tamanho da lesão 1. var rectMole = CvInvoke.BoundingRectangle(contours[contournIdx]);

2. float moleW = rectMole.Width;

3. float moleH = rectMole.Height;

4. var moleArea = CvInvoke.ContourArea(contours[contournIdx]);

5. var molePerimeter = CvInvoke.ArcLength(contours[contournIdx],

false);

Fonte: elaborado pelo autor.

Para encontrar a área da lesão foi utilizado o método ContourArea e para o perímetro

o método ArcLength. Para realizar o cálculo da altura e largura da lesão foi necessário

utilizar o método BoudingRectangle que desenha um retângulo ao redor do contorno da

lesão possibilitando pegar o valor de suas extremidades, conforme mostram as linhas 1, 2 e 3

do Quadro 14. O resultado pode ser visualizado na Figura 25.

Figura 25 - Delimitador das extremidades da lesão

Fonte: elaborado pelo autor.

Tendo a medidas do gabarito e da lesão, pode-se realizar o cálculo da

proporcionalidade do tamanho em pixels para medidas reais (centímetros). O Quadro 15

mostra o cálculo realizado para proporcionalizar as medidas dos objetos.

Quadro 15 - Cálculo da lesão 1. float real_w_patch = 10; float real_h_patch = 10;

2. float quadrangleWH = quadrangleLenght;

3. var real_w_mole = moleW / quadrangleWH * real_w_patch;

4. var real_h_mole = moleH / quadrangleWH * real_h_patch;

5. var real_moleArea = (moleArea / quadrangleArea) * real_w_patch;

6. var real_molePerimeter = (molePerimeter / quadranglePerimeter) *

real_w_patch;

Fonte: elaborado pelo autor.

38

Na linha 1, é informado o valor real da altura e largura do gabarito, no caso 10

milímetros, este que será usado como base da proporcionalização.

A linha 2 refere-se a altura e largura do gabarito, este valor foi obtido em sua

segmentação. Nas linhas 3 e 4 realiza-se o cálculo de altura e largura em medidas reais da

lesão. Onde, a altura/largura da lesão foi dívida pela altura/largura do gabarito e depois

multiplicada pelo seu valor real.

O cálculo para o valor real da área da pinta é feito pela divisão da área da pinta pela

área do gabarito, multiplicado pelo valor real do gabarito, conforme mostra a linha 5.

E, por fim, o perímetro é calculado pela divisão do perímetro da pinta pelo perímetro

do gabarito, sendo multiplicado pelo valor real do gabarito, como mostra a linha 6.

A Figura 26 demonstra o resultado dessa operação. Ao qual, pode-se verificar que a

lesão possuí um comprimento de 4 milímetros, uma área de 1,1 centímetros e um perímetro de

2,9 centímetros.

Figura 26 - Resultado da operação de cálculo

Fonte: elaborado pelo autor.

3.3.2 Operacionalidade da implementação

Esta seção é destinada a mostrar o funcionamento da aplicação. A tela inicial mostra

uma representação do corpo humano e os botões para Criar gabarito e o botão que indica a

localização da pinta (frente ou costas). Ao acionar o botão Frente o corpo será

rotacionado para frente, conforme por ser visualizado na Figura 27.

39

Figura 27 - Tela principal da aplicação

(a) Parte da frente do corpo (b) Parte das costas do corpo

Fonte: elaborado pelo autor.

O botão Criar gabarito demonstra ao usuário como realizar a criação do gabarito.

Ao qual, será utilizado para medir a lesão. Este procedimento pode ser visto na Figura 28.

Figura 28 - Criação do gabarito

Fonte: elaborado pelo autor.

Ao selecionar uma parte do corpo será aberta a visualização das lesões cadastradas

para aquele usuário, conforme mostra a Figura 29.

40

Figura 29 - Cadastro de pintas

Fonte: elaborado pelo autor.

Ao clicar no botão Adicionar, o usuário pode vincular uma nova lesão na parte do

corpo escolhido. Ele também pode verificar informações detalhadas da pinta. Ao selecionar

uma lesão, uma nova tela é aberta contendo a última amostragem realizada, o tamanho desta

análise e a imagem da lesão, assim como, o gráfico evolutivo da lesão como mostra a Figura

30.

Figura 30 - Cadastro da lesão

(a) Primeira lesão cadastrada (b) Última lesão cadastrada

Fonte: elaborado pelo autor.

41

Ao selecionar uma análise anterior, é realizado o carregamento das informações da

análise em questão. Clicando sobre o menu lateral, têm-se as opções Nova análise e

Gráfico evolutivo, conforme apresentado na Figura 30b.

A opção Nova análise cria uma nova análise para a lesão. Ao selecioná-la, o

aplicativo pede para o usuário de onde ele quer obter a imagem, podendo ser da câmera ou

galeria do próprio dispositivo móvel. Selecionada a imagem, o usuário poderá delimitar a

região de interesse e, a partir disso, o sistema apresentará o que ele conheceu pinta e gabarito.

Caso seja necessário, o usuário poderá ajustar manualmente o valor que melhor isole a lesão.

Esta funcionalidade é disponibilizada a partir da tela representada na Figura 31a.

Figura 31 - Segmentando a lesão

(a) Segmentação da lesão (b) Gráfico evolutivo da lesão

Fonte: elaborado pelo autor.

Por fim, o usuário pode salvar a análise através do botão de salvar e ao clicar na

opção Gráfico evolutivo ele poderá ver o histórico de crescimento da lesão na forma de

gráfico, conforme mostra a Figura 31b.

42

3.4 RESULTADOS E DISCUSSÕES

Nesta seção são apresentados experimentos realizados com o aplicativo e os resultados

obtidos. Na seção 3.4.1 é apresentado à forma que os testes foram aplicados. Por fim, a seção

3.4.2 demonstra os resultados obtidos a partir da proporcionalização das lesões.

3.4.1 Aplicação dos testes

Após ter as imagens carregadas no emulador de dispositivo móvel contendo a

aplicação, o teste foi realizado por um usuário. Ele realizou o cadastro das pintas e a análise

das mesmas sem precisar de algum tipo de tutorial ou ajuda, apenas sendo informado que a

câmera deveria estar reta com a pinta e o gabarito na hora da captura das imagens. Para

cadastro dentro do aplicativo o usuário conseguiu realizar o processo totalmente sozinho de

forma intuitiva.

Os testes realizados consistem em calcular a área, o perímetro e o comprimento da

lesão, com imagens de 10, 20 e 30 centímetros de distância da lesão e do gabarito para

verificar se a medição está correta mesmo em distâncias diferentes.

3.4.2 Resultados obtidos nos testes

Na Tabela 1 são apresentados os resultados obtidos a partir do comprimento da lesão.

O cabeçalho indica a parte do corpo e ao lado dele o nome da pinta cadastrada no aplicativo

juntamente com a medida capturada manualmente.

Tabela 1 - Resultado dos dados obtidos no comprimento da lesão

Distância

da

captura

Braço

direito/

Pinta 1

Coxa

direita/

Pinta 1

Coxa

direita/

Pinta 2

Ombro

esquerdo /

Nuca

Ombro

esquerdo /

Abaixo da

nuca

Ombro

esquerdo

/ Parte

esquerda

Peito /

Pinta

1

Torso/

Meio

Tamanho

real 4mm 6mm 5mm 6mm 5mm 6mm 6mm 5mm

10cm - 5mm 5mm 6mm 5mm 6mm 6mm 4mm

20cm 4mm 6mm 6mm 6mm 5mm 6mm 5mm 4mm

30cm 5mm 6mm 5mm 6mm 5mm 6mm 6mm 5mm

40cm ERRO - - - - - - -

Fonte: elaborado pelo autor.

A partir da Tabela 1 pode-se observar que o protótipo obteve 75% de acertos nas

medições. As medições erradas foram de no máximo 1 milímetro de diferença. Ao tentar

realizar uma captura numa distância de aproximadamente 40 centímetros o aplicativo não

conseguiu identificar o gabarito corretamente, resultando em erro para o usuário.

43

A Tabela 2 indica o resultado obtido para a o cálculo da área da lesão. Não foi possível

obter-se o tamanho da área exato de todas as lesões manualmente. Por isso, os acertos

comparados foram baseados na semelhança dos resultados obtidos pela distância da imagem

capturada. Apenas a lesão da Coxa direita/Pinta2 foi possível calcular, pois é uma lesão

circular e por meio da fórmula da área de um circulo π x R² conseguiu-se chegar ao resultado

aproximado como indica o cabeçalho.

Tabela 2 - Dados obtidos em relação a área da lesão

Distância

da

captura

Braço

direito/

Pinta 1

Coxa

direita/

Pinta 1

Coxa

direita/

Pinta 2

Ombro

esquerdo /

Nuca

Ombro

esquerdo /

Abaixo da

nuca

Ombro

esquerdo /

Parte

esquerda

Peito /

Pinta 1

Torso

/Meio

Tamanho

real

1,98cm

10cm - 1,8cm 2cm 3,1cm 2,2cm 2,1cm 3,2cm 1,4cm

20cm 1,6cm 2,5cm 2,3cm 3,2cm 2,2cm 2,2cm 3cm 1,3cm

30cm 2,1cm 2,4cm 2,3cm 3,1cm 2,2cm 2,6cm 2,9cm 1,4cm

40cm ERRO - - - - - - -

Fonte: elaborado pelo autor.

Para a validação da área estabeleceu-se um limite de 2 milímetros com base na outra

medição para verificar se ela estava correta. Chegou-se a uma taxa de acerto de 42%. Ao

tentar identificar o gabarito na imagem com uma distância de 40 centímetros ocorreu erro e

não foi possível realizar a medição.

Os resultados dos cálculos de perímetro obtidos podem ser observados na Tabela 3,

onde para verificar se está correto ou não, se utilizou os limites com o valor de 4 centímetros

baseado nas outras medições.

Tabela 3 - Dados obtidos em relação ao perímetro da lesão

Distância

da

captura

Braço

direito/

Pinta 1

Coxa

direita/

Pinta 1

Coxa

direita/

Pinta 2

Ombro

esquerdo /

Nuca

Ombro

esquerdo /

Abaixo da

nuca

Ombro

esquerdo /

Parte

esquerda

Peito /

Pinta 1

Torso/

Meio

10cm - 4cm 4,2cm 5,5cm 4,5cm 5cm 4,8cm 3,6cm

20cm 3,8cm 4,6cm 4,5cm 5,1cm 4,4cm 5cm 4,5cm 3,4cm

30cm 4,1cm 4,7cm 4,7cm 5,1cm 4,2cm 5,1cm 4,6cm 3,5cm

40cm ERRO - - - - - - -

Fonte: elaborado pelo autor.

Ao verificar os valores com a tolerância de 4 milímetros, constatou-se um acerto nas

medidas do perímetro de 75%.

44

As imagens foram capturadas em uma distância de 10, 20 e 30 centímetros, o resultado

da captura das imagens juntamente com a segmentação da lesão e gabarito pode ser vistos no

Apêndice B.

45

4 CONCLUSÕES

Este trabalho propôs criar um aplicativo para calcular o tamanho e acompanhar a

evolução de lesões de peles, tendo uma imagem carregada pelo próprio usuário, a fim de

detectar um possível câncer de pele.

Entre os objetivos do trabalho estão à segmentação da lesão e gabarito,

proporcionalização da lesão com gabarito resultando no tamanho em medidas reais, e

acompanhamento do crescimento das lesões cutâneas.

O desenvolvimento do projeto foi realizado na IDE Visual Studio 2015 utilizando a

linguagem C#. Para o desenvolvimento do aplicativo foi utilizado o framework Xamarin e a

biblioteca EmguCV para Android para o reconhecimento de imagens.

Os resultados do projeto se mostraram satisfatórios. Na detecção do gabarito e lesão o

aplicativo obteve um resultado de 95,8%, apenas em uma imagem capturada numa distância

de 40 centímetros, não foi possível encontrar o gabarito e a lesão.

Para o objetivo da proporcionalização se obteve um resultado de 75% no cálculo de

comprimento da lesão, os outros 25% dos testes tiveram os cálculos errados por diferença de

apenas 1 milímetro. O perímetro da lesão também teve um acerto de 75% das lesões, com

uma tolerância de 4 milímetros (10% da mediana dos resultados). E o cálculo da área teve um

acerto de apenas 42% com tolerância de 2 milímetros (10% da mediana dos resultados).

Conclui-se que caso a segmentação da lesão e do gabarito sejam totalmente corretas

(sem a iteração do usuário), e também a captura da imagem seja reta em relação à lesão é

possível identificar o tamanho real da lesão. Não pode ser usado como diagnostico médico,

pois muitos valores não são exatos, mas para o acompanhamento pessoal é possível utilizar o

aplicativo.

4.1 EXTENSÕES

Como sugestões para trabalhos futuros propõem-se:

a) aprimorar a segmentação da lesão;

b) identificar na representação do corpo o local exato da lesão;

c) utilizar as outras classificações da regra ABCDE para tentar identificar um

possível melanoma;

d) aprimorar a captura da imagem para focalizar na lesão e no gabarito, assim

facilitando o processo de segmentação.

46

REFERÊNCIAS

ABASSI, Naheed R.; SHAW, Helen M.; Rigel Darrell S. Early Diagnosis of Cutaneous

Melanoma: Revisiting the ABCD Criteria. JAMA. v. 1, n. 292, p. 2771-2776, Dez. 2004.

Disponível em: <http://jama.jamanetwork.com/article.aspx?articleid=199929&resultclick=1>.

Acesso em: 04 abr. 2016

ABOUD NETA, S. R.; DUTRA, L. V.; ERTHAL, G. J. Limiarização Automática em

Histogramas Multimodais. In: CONFERÊNCIA BRASILEIRA DE DINÂMICA,

CONTROLE E APLICAÇÕES, 7. (DINCON)., 2008, Presidente Prudente. Anais... 2008.

DVD. Disponível em:

<https://www.researchgate.net/profile/Sumaia_Aboud_Neta/publication/228854150_Limiariz

ao_Automtica_em_Histogramas_Multimodais/links/0912f5133d0c1cc641000000.pdf>.

Acesso em: 02 abr. 2016.

ALENCAR, Francisco Eduardo S. Desenvolvimento de um sistema para classificação

automática de imagens dermatoscópicas para dispositivos móveis. 2015. 76 f. Dissertação

(Programa de PósGraduação em Ciência da Computação) - Universidade do Estado do Rio

Grande do Norte, Mossoró. Disponível em: <http://ppgcc.ufersa.edu.br/wp-

content/uploads/sites/42/2014/09/francisco-eduardo-silva-alencar.pdf>. Acesso em: 02 abr.

2016.

ARAUJO, A. F. Método para extração e caracterização de lesões de pele usando difusão

anisotrópica, crescimento de regiões, watersheds e contornos ativos. 2010. 100 f.

Dissertação (Pós-Graduação em Ciência da Computação) - Pós-Graduação em Ciência da

Computação, Universidade Estadual Paulista “Júlio de Mesquita Filho”, São José do Rio

Preto. Disponível em:

<http://repositorio.unesp.br/bitstream/handle/11449/98659/araujo_af_me_sjrp.pdf?sequence=

1&isAllowed=y> . Acesso em: 02 abr. 2016.

BOAVENTURA, I.A.G. Números Fuzzy em Processamento de Imagens Digitais e Suas

Aplicações na Detecção de Bordas. 2010. 218 f. Tese de doutorado - Universidade de São

Paulo, São Carlos. Disponível em: < http://www.teses.usp.br/teses/disponiveis/18/18152/tde-

06052010-154227/en.php>. Acesso em: 25 nov. 2016.

CHAITANYA, Krishna N.; PAVANI, I. Melanoma Early Detection using Dual Classifier.

Internarional Journal of Scientific Engineenier and Technology Research, v. 1, n. 4, p. 1-

6, Set. 2015. Disponível em: <http://ijsetr.com/uploads/315426IJSETR6795-1311.pdf>.

Acesso em: 02 abr. 2016.

COSTA, Luciano F.; CESAR JR., Roberto M. Shape analysis and classification: theory and

practice. Boca Raton: CRC Press, 2000.

CUFÍ, X.; MUÑOZ, X.; FREIXENET, J.; MARTÍ, J. A Review on image segmentation

techniques integrating region and boundary information. Advances in Imaging and Electron

Physics. Eds. HAWKES, P. W., Academic Press, v.120, p.1-39, 2002.

FACON, J. Morfologia matemática: teoria e exemplos. Curitiba: Champagnat, 1996.

______. A Morfologia Matemática e suas Aplicações em Processamento de Imagens. In:

Workshop de Visao Computacional, 7., 2011, UFPR. Anais do VII workshop de visao

computacional. Curitiba: Hugo Vieira Neto, 2011. 61-128. Disponível em:

<https://www.ppgia.pucpr.br/~facon/Books/2011WVCMinicurso2Morfo.pdf >. Acesso em:

25 nov. 2016.

47

FARIA, Diogo. Análise e Processamento de Imagem. 2010. 44 f. Trabalho prático

(Mestrado integrado em Engenharia Biomédica) – Mestrado integrado em Engenharia

Biomédica, Faculdade de Engenharia da Universidade do Porto, Porto. Disponível em:

<https://web.fe.up.pt/~tavares/downloads/publications/relatorios/MEB_Diogo_Faria_TrabPrat

icos.pdf> . Acesso em: 02 abr. 2016.

FEITOSA, Luziana N. Sistema de contagem automática de ovos do Aedes aegypti a partir

de Processamento de Imagens das palhetas de Ovitrampas. 2015. 41 f. Trabalho de

conclusão de curso (Graduação em Análise e Desenvolvimento de Sistemas) – Instituto

Federal de Educação, Ciência e Tecnologia do Rio Grande do Norte, Pau dos ferros.

Disponível em:

<http://memoria.ifrn.edu.br/bitstream/handle/1044/777/tcc_luziana.pdf?sequence=1&isAllow

ed=y> . Acesso em: 04 abr. 2016.

GONZALES, R. C.; WOODS, R. E. Processamento de imagens digitais. 2ª. ed. São Paulo:

Edgard Blucher, 2000.

INSTITUTO NACIONAL DO CÂNCER. Pele melanoma. [S.l.], 2016. Disponível em:

<http://www2.inca.gov.br/wps/wcm/connect/tiposdecancer/site/home/pele_melanoma/definic

ao+>. Acesso em: 02 abr. 2016.

JENSEN, Daniel; ELEWSKI, Boni. The ABCDEF Rule. The Journal of Clinical and

Aesthetic Dermatology, Alamaba, v. 2, n. 15, p. 2-8, Fev. 2015. Disponível em:

<http://www.ncbi.nlm.nih.gov/pmc/articles/PMC4345927/#__ffn_sectitle>. Acesso em: 02

abr. 2016.

LIMA, Janaína C. M. Corpus Mapping: um aplicativo para o mapeamento corporal de lesões

cutâneas. 2015. 93 f. Trabalho de conclusão de curso (Graduação em Ciência da Computação)

– Centro de Ciências Exatas e Naturais - Universidade Regional de Blumenau, Blumenau.

Disponível em: <http://dsc.inf.furb.br/arquivos/tccs/monografias/2015_2_janaina-carraro-

mendonca_monografia.pdf>. Acesso em: 02 abr. 2016.

MAIA, D. S. Detecção e Reconhecimento de Face utilizando o Matlab. 2014. 70f.

Monografia (Graduação em Ciência da Computação) — Universidade Estadual do Sudoeste

da Bahia, Bahia. Diponível em: <http://www2.uesb.br/computacao/wp-

content/uploads/2014/09/DETEC%C3%87%C3%83O-E-RECONHECIMENTO-DE-FACE-

UTILIZANDO-O-MATLAB-deise-santana-maia.pdf>. Acesso em: 04 abr. 2016.

MEIRA JR., José; ABBADE, Luciana; STOLF, Hamilton. As múltiplas faces do melanoma

cutâneo primário: série de casos. Diagn Tratamento, São Paulo, v. 2, n. 20, p. 95-99, Jun.

2015. Disponível em: < http://files.bvs.br/upload/S/1413-9979/2015/v20n3/a4895.pdf>.

Acesso em: 02 abr. 2016.

MELANOMA RESEARCH FOUNDATION. The ABCDEs of Melnoma, 2015. Disponível

em: < http://www.melanoma.org/understand-melanoma/diagnosing-melanoma/detection-

screening/abcdes-melanoma. Acesso em: 02 abr. 2016.

NEGRI, Rogério G.; SILVA, Marcus F. S. Um novo método de segmentação de imagem com

abordagem baseada em bordas e regiões. Revista Brasileira de Cartografia, n. XX/YY, p. 1-

12, 2012. Disponível em:

<https://www.researchgate.net/profile/Rogerio_Negri/publication/255820732_Um_Novo_Mt

odo_de_Segmentao_de_Imagem_com_Abrdagem_Baseada_em_Bordas_e_Regies/links/00b4

9520b8f72a2a23000000.pdf>. Acesso em: 02 abr. 2016.

48

NUNES, E. O.; CONCI, A. Texture Segmentation and Edge Location of Regions in

Multiband Images. IEEE Latin America Transactions, n. 5, p. 184-191, 2007. Disponível

em:

<https://www.researchgate.net/publication/3455057_Texture_Segmentation_and_Edge_Locat

ion_of_Regions_in_Multiband_Images>. Acesso em: 25 nov. 2016.

PAROLIN, Alessandro; HERZER, Eduardo; JUNG, Cláudio. R. Semi-automated diagnosis

of melanoma through the analysis of dermatological images. In: 23rd SIBGRAPI –

Conference on Graphics, Patterns and Images, 23., 2010, Gramado. Anais… Rio Grande do

Sul: CEGRAPI, 2010. p. 32-38. Disponível em:

<http://ieeexplore.ieee.org/xpl/articleDetails.jsp?arnumber=5720349>. Acesso em: 04 abr.

2016.

PERUCH, Francesco. (SEMI)-automated analysis of melanocytic lesions. 2015. 102 f. Tese

de Doutorado (Dipartimento di Ingegneria dell’Informazione) - Universita Degli Studi di

Padova, Padova. Disponível em:

<http://paduaresearch.cab.unipd.it/7820/1/Thesis_Peruch.pdf>. Acesso em: 02 abr. 2016.

PIRES, V. B. Utilização de Equações Diferenciais Parciais para Eliminação de Ruídos e

Detecção de Bordas. 2008. 140 f. Trabalho prático (Mestrado em ciência da computação) –

Universidade Federal de Uberlândia, Uberlândia. Disponível em: <

http://penelope.dr.ufu.br/bitstream/123456789/715/1/UtilizacaoEquacoesDiferenciais.pdf> .

Acesso em: 25 nov. 2016.

QUEIROZ, J.E.R;GOMES, H. M. Introdução ao processamento digital de imagens. Revista

RITA, Campina Grande, v. 8, n. 1, p. 1-31, abr. 2001. Disponível em:

<http://www.academia.edu/download/44642121/Rita-Tutorial-PDI.pdf >. Acesso em: 25 nov.

2016.

SKIN CANCER FOUNDATION. Skin cancer facts & statistics. [S.l.], 2016. Disponível

em: <http://www.skincancer.org/skin-cancer-information/skin-cancer-facts>. Acesso em: 02

abr. 2016.

______. Do you know your ABCDEs, 2015. Disponível em:

<http://www.skincancer.org/skin-cancer-information/melanoma/melanoma-warning-signs-

and-images/do-you-know-your-abcdes>. Acesso em: 02 abr. 2016.

SOARES H. B. Análise e classificação de imagens de lesões da pele por atributos de cor,

forma e textura utilizando máquina de vetor de suporte. 2008. 160f. Tese de Doutorado

em Engenharia Elétrica e de Computação, Universidade Federal do Rio Grande do Norte,

Natal. Disponível em: <http://repositorio.ufrn.br:8080/jspui/handle/123456789/15118>.

Acesso em: 02 abr. 2016.

SURVEILLANCE, EPIDEMIOLOGY AND RESULT PROGRAM (United States). SEER

Stat Fact Sheets: Melanoma of the Skin. 2012. Disponível em:

<http://seer.cancer.gov/statfacts/html/melan.html>. Acesso em: Acesso em 02 abr. 2016.

THOMAS, L.; TRANCHAND, P.; BERARD, F.; SECCHI, T. Semiological value of ABCDE

criteria in the diagnosis of cutaneous pigmented tumors. Dermatology. 1998, v. 197, n. 1, p.

11-17. Disponível em: <http://www.karger.com/Article/Abstract/17969>. Acesso em: 04 abr.

2016.

49

VALE, Giovani M. V;POZ, Aluir P.D. O processo de deteção de bordas de canny. In:

Anais do Simpósio Brasileiro de Geomática, 2., 2002, Presidente Prudente. Anais… São

Paulo: UNESP, 2002. P.292-303. Disponível

em:<http://docs.fct.unesp.br/departamentos/cartografia/eventos/2002_I_SBG/htm/artigos/pdf/

A_048.pdf >Acesso em: 25 nov. 2016.

50

APÊNDICE A – Descrição dos Casos de Uso

Nesta seção são apresentados os detalhamentos dos casos de uso, com descrição, pré-

condições, fluxos principais, alternativos, de exceção e pós-condições.

No Quadro 16 apresenta-se o caso de uso UC02 - Carregar imagem.

Quadro 16 - Caso de uso Carregar imagem

UC02 Carregar imagem

Descrição Este caso de uso tem por objetivo carregar a imagem para analisar

Ator Usuário

Pré-condição Estar na tela de nova análise

Fluxo principal O sistema abre a tela de carregar imagem;

O usuário opta por selecionar uma imagem dentro da galeria do

dispositivo ou de capturar foto.

Cenário – Capturar foto UC01 – Capturar imagem

Cenário – Carregar foto O sistema abre a galeria do dispositivo;

Usuário seleciona a imagem;

Sistema faz validações sobre o arquivo selecionado;

Imagem é carregada.

Cenário – Criação do

gabarito

Usuário seleciona a função Criação do gabarito;

O sistema abre a tela de como montar o gabarito;

Usuário segue instruções.

Pós-condição Aplicativo carrega a imagem e faz a sua análise Fonte: elaborado pelo autor.

No quadro 17 apresenta-se o caso de uso UC06 - Segmentar lesão.

Quadro 17 - Caso de uso Segmentar lesão

UC06 Segmentar lesão

Descrição Este caso de uso tem por objetivo separar a lesão da pele a fim de

análise da mesma.

Ator Sistema

Pré-condição UC02 – Carregar imagem

Fluxo principal Sistema realiza verificações da imagem;

Sistema realiza a segmentação da imagem;

Sistema envia a imagem para análise.

Cenário – Imagem

mal informada

Sistema mostra mensagem ao usuário informando que imagem precisa

ser recarregada;

Sistema abre tela de carregamento de imagem.

Pós-condição UC07 – Calcular tamanho da lesão Fonte: elaborado pelo autor.

No Quadro 18 apresenta-se o caso de uso UC07 - Calcular tamanho da lesão.

Quadro 18 - Caso de uso calcular tamanho da lesão

UC07 Calcular tamanho da lesão

Descrição Este caso de uso tem por objetivo calcular o tamanho da lesão que

segmentada

Ator Sistema

Pré-condição UC06 – Segmentar lesão

UC05 – Segmentar gabarito

Fluxo principal Sistema realiza cálculo do tamanho da lesão.

Pós-condição UC08 – Calcular evolução da lesão Fonte: elaborado pelo autor.

51

No quadro 19 apresenta-se o caso de uso UC06 - Segmentar gabarito.

Quadro 19 - Caso de uso segmentar gabarito

UC05 Segmentar gabarito

Descrição Este caso de uso tem por objetivo separar o gabarito da pele a fim de

análise do mesma.

Ator Sistema

Pré-condição UC02 – Carregar imagem

Fluxo principal Sistema realiza verificações da imagem;

Sistema realiza a segmentação da imagem;

Sistema envia a imagem para análise.

Cenário – Imagem

mal informada

Sistema mostra mensagem ao usuário informando que imagem precisa

ser recarregada;

Sistema abre tela de carregamento de imagem.

Pós-condição UC07 – Calcular tamanho da lesão Fonte: elaborado pelo autor.

52

APÊNDICE B – Resultados obtidos

Nesta seção são apresentadas as imagens obtidas a partir dos testes realizados,

demonstrando a identificação do gabarito e da lesão. Essas imagens podem ser visualizadas

no Quadro 20.

53

Quadro 20 - Resultado das análises realizadas

Parte do corpo / Medida 10 centímetros 20 centímetros 30 centímetros

Ombro esquerdo /

Abaixo da nuca

Ombro esquerdo / Parte

esquerda

Peito / Pinta 1

Torso/Meio

Braço direito/

Pinta 1 -

Coxa direita/

Pinta 1

Coxadireita/

Pinta 2

Ombro esquerdo /

Nuca

Fonte: elaborado pelo autor.