4 Classifica¸ c˜ ao de Parasitas de
4.1 Aquisi¸ c˜ ao de dados
Atualmente, dispomos de 1651 imagens coloridas com lˆaminas de esfrega¸co sangu´ıneo, contendo fases, esp´ecies e outros elementos como WBCs. As configura¸c˜oes de aquisi¸c˜ao e locais j´a foram definidos no Se¸c˜ao 3.1.1. Ao separar essas imagens em classes n´os temos um total de: 1.401 (P.falciparum Trofozo´ıto), 1 (P.falciparum Esquizonte), 24 (P.falciparum Gamet´ocito), 165 (P.vivax Trofozo´ıto), 0 (P.vivax Esquizonte), 22 (P.vivax Gamet´ocito), 13 (P.malarie Trofozo´ıto), 30 (P.malarie Esquizonte), 2 (P.malarie Gamet´ocito), 29 (P.ovale Trofozo´ıto), 79 (P.ovale Esquizonte), 17 (P.ovale Gamet´ocito).
As CNNs necessitam de uma grande quantidade de dados para obter bons resultados (GOODFELLOW et al., 2016). Para ampliarmos nossa base de dados, propomos aplicar
Figura 4.2: Exemplo de data augmentation nas esp´ecies: (a) P.falciparum, (b)P.vivax.
rota¸c˜oes de 45o, 90o e 180o nas imagens, al´em de varia¸c˜ao na escala das imagens, com valores no intervalo entre 0.5 `a 1.5. Desta forma, para cada imagem, outras 30 ser˜ao geradas no processo proposto de data augmentation (HAYKIN, 2007) (SZEGEDY et al., 2015), ou seja, criar novos dados a partir dessas opera¸c˜oes, podemos visualizar um exemplo dessa opera¸c˜ao na Figura 4.2. Os parasitos de plasmodium spp podem est´a em qualquer posi¸c˜ao e rota¸c˜ao nas c´elulas (CDC, 2016). A Figura 4.3 mostra exemplos do conjunto de dados de imagens.
Figura 4.3: Exemplo de imagens do banco de dados nas esp´ecies: (a) P.falciparum, (b)P.vivax, (c)P.Malarie, (d)P.ovale da esquerda para a direita nas fases trofozo´ıta, esquizonte e gamet´ocito. Negativos para mal´aria: (e) Leuc´ocitos e (f) Artefatos diversos.
Claramente, um grande desafio neste caso ´e a falta de dados de v´arias classes, j´a que ´e bem mais dif´ıcil encontrar parasitas nas fases esquizonte e gamet´ocito do que na fase trofozo´ıta. Uma possibilidade ´e a utiliza¸c˜ao de lˆaminas cultivadas em laborat´orio, e logo com grande controle sobre os est´agios dos parasitas, para a captura de imagens de parasitas nessas duas outras fases. Existe ainda a dificuldade na aquisi¸c˜ao de imagens de parasitas do P. knowlesi, por ser uma esp´ecie que ocorre primariamente no sudeste asi´atico e apesar de eventualmente infectar humanos ´e mais facilmente encontrada em primatas (ORGANIZATION, 2017).
Nas pr´oximas Se¸c˜oes ser˜ao vistos os experimentos com as CNNs pr´e-treinadas na base Imagenet e treinada e/ou adaptadas nas ´ultimas camadas com a base vista nesta Se¸c˜ao, para a classifica¸c˜ao de P.falciparum e P.vixax.
4.2
Experimentos
Nesta se¸c˜ao, ser˜ao apresentados os experimentos utilizando redes neurais convolucionais CNN pr´e-treinadas para a identifica¸c˜ao de parasitos do tipo P.falciparum e P.vivax na fase trofozo´ıto em forma anelar, essa forma pode ser vista na Figura 4.2a e 4.2b, sendo os objetos mais a esquerda. No conjunto de dados visto na Se¸c˜ao 4.1 ´e utilizado a t´ecnica de data augmentation para gerar novos dados sint´eticos, no total ser˜ao 3.534 imagens de treinamento e 837 de valida¸c˜ao, para cada classe. ´E justificado o uso de CNNs pr´e-treinadas pelo fato de dispormos de poucos dados para treinamento e valida¸c˜ao, conforme visto anteriormente na Se¸c˜ao 4.1. Basicamente, as camadas iniciais de uma CNN s˜ao compostas por recursos gen´ericos como, por exemplo, detec¸c˜ao de contornos e linhas. Para tal, ´e utilizado um grande volume de imagens e assim alimentando as camadas iniciais da CNN. O pr´e-treinamento dessas CNNs foi realizado utilizando o conjunto de dados Imagenet .
Para realizar o treinamento das CNNs, foi utilizado um computador com as seguintes configura¸c˜oes: DELL PowerEdge R730, 2 Deca Core Intel Xeon E5-2660, GPU NVI- DIA Tesla K20m, 64GB RAM e Sistema Operacional Ubuntu 16.04. A linguagem de programa¸c˜ao Python 3.6 e as bibliotecas de c´odigo aberto, tensorflow 1.12, numpy 1.17 e opencv 4.0 foram utilizadas para a implementa¸c˜ao dos modelos de CNNs.
4.2.1
M´etricas de Avalia¸c˜ao
Podemos avaliar os modelos de CNNs atrav´es de algumas m´etricas j´a utilizadas pela literatura, tais como: acur´acia, precis˜ao, recall (sensibilidade), f1-score e loss (perda),
definidas nas Equa¸c˜oes 4.2, 4.5, 4.3, 4.4 e 4.6, respectivamente, utilizando as siglas definidas na Tabela 4.1 (GOODFELLOW et al., 2016; SZEGEDY et al., 2015; HAYKIN, 2007; SZELISKI, 2010). Siglas Significado P Positivos N Negativos VP Verdadeiro positivo VN Verdadeiro negativo FN Falso negativo FP Falso positivo
Tabela 4.1: Siglas utilizadas para avalia¸c˜ao.
acur´acia = V P + V N V P + V N + F P + F N (4.2) precis˜ao = V P V P + F P (4.3) recall = V P V P + F N (4.4) f 1 = 2 · precis˜ao · recall precis˜ao + recall (4.5) loss = Hp(q) = − 1 N N X i=1
yi· log(p(yi)) + (1 − yi) · log(1 − p(yi)) (4.6)
A acur´acia faz uma avalia¸c˜ao do modelo todo, ou seja, de todas as classifica¸c˜oes, quantas foram rotuladas como corretas. A m´etrica de f1-score, trata-se da m´edia harmˆonica entre precis˜ao e sensibilidade. A precis˜ao ´e basicamente todas as classifica¸c˜oes positivas que o modelo previu e foram identificadas como corretas. O recall mede a porcentagem das amostras positivas rotuladas corretamente como positivas. A fun¸c˜ao de perda ou loss function mede a distˆancia para a solu¸c˜ao ´otima, no nosso caso ´e utilizado a fun¸c˜ao de entropia cruzada bin´aria ou binary cross-entropy.
4.2.2
Experimento 1 - MobileNetV2
Essa arquitetura utiliza o conceito de Depthwise Separable Convolution, onde sua ideia principal ´e substituir a opera¸c˜ao de convolu¸c˜ao geral por uma vers˜ao fatorada dividindo-as em duas camadas. A primeira camada, tamb´em nomeada por convolu¸c˜ao profunda ou depthwise ´e onde s˜ao aplicados pesos leves ou lightweight para cada canal de entrada da rede. A segunda camada ´e uma convolu¸c˜ao de 1 × 1 chamada de pointwise respons´avel por criar novas caracter´ısticas atrav´es da combina¸c˜ao linear das camadas de entrada, com isso reduzindo a complexidade computacional e o tamanho do modelo, tornando-o acess´ıvel para dispositivos m´oveis(SANDLER et al., 2018).
A t´ecnica de inverted residual structure ´e apresentada e seu funcionamento se d´a por conex˜oes de atalho entre as camadas lightweight do gargalo ou em inglˆes bottleneck. A estrutura da MobileNetV2 pode ser vista na Tabela 4.2.
Entrada Operador t c n s 2242× 3 conv2d - 32 1 2 1122× 32 bottleneck 1 16 1 1 1122× 16 bottleneck 6 24 2 2 562× 24 bottleneck 6 32 3 2 282× 32 bottleneck 6 64 4 2 142× 64 bottleneck 6 96 3 1 142× 96 bottleneck 6 160 3 2 72× 160 bottleneck 6 320 1 1 72× 320 conv2d 1x1 - 1280 1 1 72× 1280 avgpool 7x7 - - 1 - 1 × 1 × 1280 conv2d 1x1 - k - -
Tabela 4.2: MobileNetV2. Para cada linha ´e descrita uma sequˆencia de 1 ou mais camadas de passos repetidas por n vezes. Todas as camadas tem o mesmo n´umero c de sa´ıdas. A primeira camada de cada sequˆencia tem um stride s e todas as outras 1. Em todas as opera¸c˜oes de convolu¸c˜oes espaciais utilizam um kernel de 3 × 3. A expans˜ao ´e o fator t. Toda a arquitetura est´a detalhada em (SANDLER et al., 2018).
Para o problema da classifica¸c˜ao de P.falciparum e P.vivax na fase trofozo´ıta, foi utilizada a abordagem de transfer learning (THRUN; PRATT, 2012). Justifica-se o uso dessa abordagem, pelo simples fato de dispormos de poucas imagens na base de dados. As imagens foram redimensionadas para 224 × 224 utilizando 3 canais e/ou camadas de cores no modelo RGB. O treinamento foi realizado utilizando 30 ´epocas e os resultados podem ser visualizados na Tabela 4.3. Na Figura 4.4 os gr´aficos de acur´acia e entropia cruzada do modelo s˜ao plotados e podem ser visualizados .
0 5 10 15 20 25 30 0.6 0.7 0.8 0.9 1.0 Accuracy