2.3 Design challenges and approaches
2.3.2 Dynamic and physical aperture at injection
bacterianas
Arthur Melo Pinheiro, Kathiani Elisa de Souza
Valguima Victoria Viana Aguiar Odakura, Willian Paraguassu Amorim
Universidade Federal da Grande Dourados Faculdade de Ciˆencias Exatas e Tecnologia
Dourados, Brasil
[email protected], [email protected] [email protected], [email protected]
Resumo—A contagem de colˆonias bacterianas ´e um pro-
cedimento realizado em exames de urocultura utilizado para diagn´ostico de infecc¸˜ao urin´aria. Esse procedimento ´e realizado manualmente por laboratoristas e pode ser considerado complexo devido `a exaust˜ao em realizar a contagem de grande quan- tidade de colˆonias, pela repetic¸˜ao do processo para garantir a confiabilidade dos resultados, e da troca de t´ecnicos para realizar o mesmo procedimento. Para auxiliar o procedimento de contagem, esse trabalho tem como proposta o desenvolvimento de um sistema que realize a contagem automaticamente atrav´es da t´ecnica Template Matching, utilizando a biblioteca OpenCV. O sistema foi desenvolvido para plataforma m´ovel (Android) devido a popularizac¸˜ao dos aparelhos m´oveis e dos recursos cada vez mais avanc¸ados.
Palavras-chave— Urocultura; Processamento de imagem; An-
droid; OpenCV.
Abstract—The counting of bacterial colony is a procedure per- formed on a urine culture tests used for diagnosis of urinary tract infection. This procedure is performed manually by laboratory technicians and can be considered complex due to exhaustion in performing counts large number of colonies, by repeating the process to ensure the reliability of results and exchange of technicians to carry out the same procedure. To assist the counting procedure, this paper aims at developing a system that automatically perform the count through the Template Matching technique, using the OpenCV library. The system was developed for the mobile platform (Android) due to the popularization of mobile devices and increasingly advanced features.
Keywords— Uroculture; Image processing; Android; OpenCV.
I. INTRODUC¸ ˜AO
A infecc¸˜ao do trato urin´ario (ITU) ´e uma das infecc¸˜oes mais comuns em seres humanos, ocasionada muitas vezes pela bact´eria Escherichia Coli. A ITU ocorre com mais frequˆencia em mulheres adultas, tendo 50 vezes mais chances de adquir´ı-la em relac¸˜ao aos homens [1]. Para diagnosticar a
ITU ´e necess´aria a realizac¸˜ao da urocultura quantitativa. Para caracteriz´a-la, o diagn´ostico deve apresentar o excedente de 100.000 unidades formadoras de colˆonias por mL de urina quando coletada por jato m´edio, ou 50.000 colˆonias por mL quando coletada por sondagem vesical [2].
Um dos procedimentos da urocultura quantitativa ´e a realizac¸˜ao da contagem de colˆonias cultivadas em placas de Petri, efetuada manualmente por especialistas. A Figura 1 ilustra a cultura de microrganismos em uma placa de Petri.
Figura 1. Cultura de microrganismos em placa de Petri.
De acordo com Osowsky e Gamba [3], h´a desvantagens ao realizar o procedimento de contagem de colˆonias manual- mente, como:
• O cansac¸o do laboratorista em realizar a contagem, pois exige concentrac¸˜ao e atenc¸˜ao;
• Quando h´a substituic¸˜ao de t´ecnicos pode ocorrer um desvio significativo dos resultados;
• E necess´ario repetir a contagem para validac¸˜ao dos re-´ sultados;
• Limitac¸˜ao das an´alises laboratoriais devido `as dificulda- des de contagem que podem atrasar o t´ermino do processo e a liberac¸˜ao dos resultados.
Uma poss´ıvel soluc¸˜ao ´e o desenvolvimento de um sistema computacional que realize a contagem de colˆonias automa-
ticamente atrav´es de t´ecnicas de processamento de imagens, tornando o processo mais pr´atico, r´apido e confi´avel. Para a problem´atica de contagem de colˆonias em placas de Petri, Alves desenvolveu um sistema computacional capaz de rea- lizar esse procedimento, utilizando Transformada de Hough e o m´etodo de Match para a detecc¸˜ao das colˆonias [4]. Em conjunto, desenvolveu um sistema de iluminac¸˜ao para ser utilizada na etapa de captura da imagem. Uma boa iluminac¸˜ao contribui na boa formac¸˜ao da imagem, evitando que ru´ıdos causados por reflexos da luz sejam detectados no processo de contagem.
Em raz˜ao da popularidade dos dispositivos m´oveis em posse da populac¸˜ao e da disponibilidade da biblioteca OpenCV para o sistema operacional Android1, esse trabalho apresenta o desenvolvimento de um aplicativo para Android, que efetue automaticamente o procedimento de detecc¸˜ao e contagem de colˆonias atrav´es da t´ecnica Template Matching.
O trabalho est´a organizado da seguinte forma: A sec¸˜ao II conceitua a t´ecnica Template Matching. A sec¸˜ao III descreve sobre as ferramentas utilizadas para o desenvolvimento do aplicativo e para a elaborac¸˜ao dos experimentos. A sec¸˜ao IV apresenta a proposta de desenvolvimento, relatando como o aplicativo foi desenvolvido. A sec¸˜ao V descreve os experimen- tos realizados, quais m´etricas foram utilizadas para avaliar o aplicativo e a an´alise dos resultados obtidos. E por fim, a sec¸˜ao VI apresenta as conclus˜oes.
II. TEMPLATEMATCHING
O algoritmo Template Matching, baseado em Correlac¸˜ao Cruzada Normalizada, ´e um algoritmo de reconhecimento de padr˜oes que realiza a detecc¸˜ao de objetos similares em uma imagem. O algoritmo tem como entrada uma imagem de pesquisa e uma imagem template (objeto a ser detectado), e como sa´ıda uma imagem denominada imagem de correlac¸˜ao, em que os pontos mais claros indicam os pontos detectados.
Para a detecc¸˜ao, o algoritmo utiliza como medida de si- milaridade o coeficiente de Correlac¸˜ao Cruzada Normalizada. Esse coeficiente indica o grau de similaridade entre a imagem template e a imagem de pesquisa, e que possui valores entre -1 e 1. O valor 1 indica total correspondˆencia entre a imagem template e a imagem de pesquisa, o valor 0 indica que n˜ao houve correspondˆencia e -1 indica que houve correlac¸˜ao inversa, ou seja, total incorrespondˆencia entre as imagens [5]. O algoritmo Template Matching baseia-se na corres- pondˆencia entre um modelo e uma imagem na qual este modelo seja detectado [6]. Seja I a imagem de pesquisa de dimens˜ao m x n e a imagem T o template de dimens˜ao p x q tal que p < m e q < n, ent˜ao ´e realizado o c´alculo do coeficiente de Correlac¸˜ao Cruzada Normalizada entre cada pixelda imagem I e os pixels da imagem T . A cada pixel na imagem I, o valor do coeficiente ´e calculado e armazenado na estrutura de dados que corresponde a imagem de correlac¸˜ao. Os pixels das bordas da imagem I s˜ao desconsiderados, pois a imagem T tem sua posic¸˜ao inicial definida no centro da
1Dispon´ıvel em: http://www.android.com. Acesso em maio de 2014.
imagem, enquanto a imagem I possui a sua posic¸˜ao inicial definida no canto superior esquerdo. Desta forma, ao posi- cionar o centro da imagem T na posic¸˜ao inicial da imagem I, tem-se uma perda de informac¸˜ao [4]. A Figura 2 ilustra a aplicac¸˜ao do algoritmo Template Matching.
(a) (b) (c)
Figura 2. Template Matching: Detecc¸˜ao de padr˜oes (colˆonias). (a) Imagem de pesquisa; (b) Imagem template; (c) Imagem de correlac¸˜ao.
III. FERRAMENTASAUXILIARES
Para desenvolver o aplicativo, foi necess´ario o uso de alguns softwares e de um dispositivo m´ovel com um processador de 830 MHz, mem´oria RAM de 290 MB e Android 2.3.6 (Gingerbread) para a realizac¸˜ao dos testes e experimentos. Os t´opicos a seguir descrevem os softwares utilizados, indicando sua vers˜ao e o objetivo de cada um para o desenvolvimento desse trabalho.
• ADT Bundle v22.2.1-833290: Pacote contendo os softwa- res necess´arios para o desenvolvimento de aplicac¸˜oes Android, tais como:
– Eclipse IDE: Ambiente de desenvolvimento de softwares. Nessa vers˜ao o Eclipse IDE est´a con- figurado com o plugin ADT (Android Developer Tools), fornecendo suporte ao desenvolvimento de aplicac¸˜oes Android e gerenciamento de vers˜oes do SDK (Software Development Kit) e de emuladores atrav´es do SDK Manager e AVD Manager, res- pectivamente. Utilizado nesse trabalho para escrita, compilac¸˜ao e execuc¸˜ao do c´odigo fonte.
– Android SDK: Kit de desenvolvimento de aplicac¸˜oes Androidque contˆem APIs (Aplication Programming Interface) e ferramentas necess´arias para construir, testar e depurar aplicativos.
• Android NDK r8e: Conjunto de ferramentas que per- mitem implementar partes de um aplicativo utilizando c´odigo nativo como C, C++ e montagem. O uso de suas ferramentas s˜ao ´uteis nos casos em que o desenvolvedor necessita utilizar bibliotecas escritas em outras lingua- gens. Utilizado nesse trabalho para implementar m´etodos utilizando rotinas da biblioteca OpenCV.
• OpenCV: Biblioteca que contˆem rotinas para proces- samento de imagens, escritas nas linguagens C, C++, Pythone Java (Android), com c´odigo aberto, e funcional nos sistemas operacionais Linux, Windows, Mac OS, Android e iOS. Possui mais de 2.500 rotinas otimizadas para que aplicac¸˜oes possam responder em tempo real aos processamentos realizados em imagens digitais.
• ImageJ v1.47: Software desenvolvido em Java, com c´odigo aberto, e que fornece os principais recursos para o processamento de imagens. Utilizado nesse trabalho para gerar imagens adequadas para o procedimento de contagem de colˆonias, substituindo provisoriamente a etapa de pr´e-processamento da aplicac¸˜ao que atualmente est´a em desenvolvimento.
IV. PROPOSTA DEDESENVOLVIMENTO
A primeira vers˜ao do aplicativo de contagem de colˆonias foi desenvolvido utilizando as ferramentas citadas na sec¸˜ao III. Todo o procedimento realizado pelo aplicativo ´e dividido em quatro etapas, ilustrado na Figura 3 e descrito a seguir:
• Aquisic¸˜ao da imagem: Etapa em que o usu´ario utilizar´a a cˆamera do dispositivo para fotografar a placa de Petri. O usu´ario ter´a a opc¸˜ao de confirmar a imagem capturada. Caso negue a confirmac¸˜ao, dever´a fotografar novamente. • Pr´e-processamento: Etapa em que o usu´ario far´a marcac¸˜oes para segmentar a placa de Petri e a linha central que divide a placa (alguns casos). A segmentac¸˜ao ´e necess´aria para se obter a regi˜ao de interesse (ROI), que no caso ´e a regi˜ao em que h´a colˆonias, excluindo o restante da imagem para minimizar a detecc¸˜ao de ru´ıdos na etapa de processamento.
• Processamento: Etapa na qual ´e aplicada a t´ecnica Tem- plate Matchingpara a detecc¸˜ao e contagem das colˆonias. • Gerac¸˜ao do resultado: Exibic¸˜ao do resultado obtido na etapa de processamento e o arquivamento do resultado caso for necess´ario.
A t´ecnica de detecc¸˜ao foi escolhida com base em estudos realizados nos ´ultimos anos para o problema de contagem de colˆonias. As t´ecnicas aplicadas foram Template Matching e Hough Circles [7], [8]. A diferenc¸a entre elas ´e que Tem- plate Matching detecta uma regi˜ao atrav´es do percentual de correlac¸˜ao entre os pixels da imagem de pesquisa e da imagem template, e Hough Circles utiliza c´alculos trigonom´etricos para detecc¸˜ao de circunferˆencia. Para avaliar o desempenho de ambas as t´ecnicas para essa problem´atica, foram utilizadas m´etricas como Recall, Precision e F-Score. A t´ecnica Template Matching apresentou melhores resultados, sendo escolhida para a detecc¸˜ao das colˆonias [9].
V. EXPERIMENTOS EANALISE DOS´ RESULTADOS Para realizar os experimentos, um banco de amostras foi formado atrav´es da aquisic¸˜ao de imagens no laborat´orio de an´alises cl´ınicas do Hospital Universit´ario da cidade de Dourados/MS. Foram selecionadas cinco imagens (o banco possui v´arias imagens do mesmo caso, devido a quantidade reduzida de culturas no dia da aquisic¸˜ao), as quais apresentam iluminac¸˜ao regular e regi˜oes de colˆonias aglomeradas. As mesmas foram recortadas utilizando o ImageJ, resultando em novas imagens contendo somente a regi˜ao de colˆonias bacteria- nas. Esse procedimento substitui a etapa de Pr´e-processamento que est´a em desenvolvimento. A Figura 4 ilustra um exemplo de imagem.
Figura 3. Fluxograma do aplicativo de contagem de colˆonias.
Cada imagem foi avaliada atrav´es de algumas m´etricas, que s˜ao:
• Contagem do especialista (CE): Quantidade de colˆonias contabilizadas pelo especialista;
• Contagem do aplicativo (CA): Quantidade de colˆonias contabilizadas pelo aplicativo;
• Erro de contagem (E): M´odulo da diferenc¸a entre CE e CA;
• Tempo de contagem (TC): Tempo gasto pelo aplicativo para realizar a contagem de colˆonias, medido em segun- dos.
Como mencionado na sec¸˜ao II, a t´ecnica Template Mat- chingcalcula o percentual de correlac¸˜ao entre pixels de duas imagens. Para detectar cada regi˜ao, s˜ao utilizados o valor de correlac¸˜ao e a localizac¸˜ao do pixel na imagem. O conjunto desses valores, ou seja, a correlac¸˜ao e localizac¸˜ao de cada pixel da imagem, s˜ao definidos em uma matriz em ordem decrescente de correlac¸˜ao. Portanto, ´e necess´ario definir um limiar que indique qual o percentual de correlac¸˜ao m´ınimo para as poss´ıveis regi˜oes detectadas. Ao testar e analisar v´arios valores para esse limiar, o especialista decidiu atrav´es da margem de erro de contagem do aplicativo em relac¸˜ao a contagem do especialista, utilizar cinco valores: 0.7, 0.75, 0.8, 0.85, 0.9.
Figura 4. Imagem editada no ImageJ, e que representa a segmentac¸˜ao da regi˜ao de colˆonias bacterianas.
contagem para cada limiar, avaliando-as atrav´es das m´etricas mencionadas. A Figura 5 ilustra a detecc¸˜ao de colˆonias em uma imagem com diferentes limiares (marcac¸˜ao na cor verde). As Tabelas de I `a V apresentam os resultados obtidos utili- zando o dispositivo m´ovel mencionado na sec¸˜ao III.
(a) (b) (c)
(d) (e)
Figura 5. Detecc¸˜ao de colˆonias com limiares: (a) 0.7; (b) 0.75; (c) 0.8; (d) 0.85; (e) 0.9.
De acordo com os resultados apresentados nas Tabelas de I `a V, observa-se que os melhores resultados de contagem para cada imagem foi utilizando o limiar 0.75, no qual apresentou uma margem de erro menor entre a contagem de colˆonias realizada pelo especialista e pelo aplicativo. Portanto, considera-se como satisfat´orios os resultados obtidos, pois a margem de erro foi pequena em imagens que apresen-
Tabela I
RESULTADOS OBTIDOS COM LIMIAR0.7
Imagem CE CA E(%) TC(s) 1 1084 1889 74.26 99 2 1339 3841 186.85 174 3 1322 2898 119.21 130 4 1200 2576 114.66 160 5 1194 2669 123.53 142 Tabela II
RESULTADOS OBTIDOS COM LIMIAR0.75
Imagem CE CA E(%) TC(s) 1 1084 932 14.02 74 2 1339 1112 16.95 129 3 1322 1251 5.37 110 4 1200 1224 2.00 140 5 1194 1059 11.30 105 Tabela III
RESULTADOS OBTIDOS COM LIMIAR0.8
Imagem CE CA E(%) TC(s) 1 1084 477 55.99 62 2 1339 405 69.75 116 3 1322 769 41.83 102 4 1200 759 36.75 115 5 1194 621 47.98 127 Tabela IV
RESULTADOS OBTIDOS COM LIMIAR0.85
Imagem CE CA E(%) TC(s) 1 1084 227 79.05 61 2 1339 191 85.73 115 3 1322 448 66.11 95 4 1200 366 69.5 104 5 1194 301 74.79 117 Tabela V
RESULTADOS OBTIDOS COM LIMIAR0.9
Imagem CE CA E(%) TC(s) 1 1084 99 90.86 63 2 1339 83 93.80 123 3 1322 176 86.68 95 4 1200 166 86.16 102 5 1194 141 88.19 118
tam regi˜oes de colˆonias aglomeradas. Algumas imagens, por apresentar reflexos causados pela iluminac¸˜ao do ambiente, fizeram com que ru´ıdos fossem detectados, influenciando no valor de contagem. Por´em, pode-se observar pela Figura 5(b), que a maioria das colˆonias foram detectadas corretamente, justificando a eficiˆencia da t´ecnica Template Matching para essa problem´atica.
Observando a Figura 5(b), conclui-se que a t´ecnica Template Matching obteve um desempenho satisfat´orio na detecc¸˜ao de colˆonias em regi˜oes aglomeradas, visto que essa era a maior dificuldade para essa problem´atica [9], considerada como um procedimento invi´avel ao especialista que realiza a contagem manual, e que para o aplicativo pode ser poss´ıvel estimar a quantidade de colˆonias nessas regi˜oes.
foram obtidos com o dispositivo m´ovel mencionado na sec¸˜ao 3, com m´edia de 2 minutos e 11 segundos utilizando o limiar 0.75. Utilizando dispositivos com um poder de processamento maior, ser´a poss´ıvel obter melhores resultados.
VI. CONCLUSAO˜
Nesse trabalho foi apresentado o desenvolvimento da pri- meira vers˜ao de um aplicativo Android para a contagem de colˆonias em exames de urocultura, e demostrado que ´e vi´avel o desenvolvimento e a utilizac¸˜ao de aplicac¸˜oes que realize processamento de imagens em dispositivos m´oveis.
Para trabalhos futuros, ser´a necess´ario concluir o procedi- mento de pr´e-processamento, em que inicialmente a proposta era utilizar t´ecnicas como Hough Circles e Hough Line para segmentar automaticamente a ROI. Observado que esse pro- cedimento poderia ser impreciso e com custo computacional significativo, conclui-se que a melhor alternativa ´e fornecer ao usu´ario func¸˜oes para que o mesmo possa segmentar a ROI. Tamb´em ser´a necess´ario desenvolver um ambiente para captura de imagens com o objetivo de fornecer uma iluminac¸˜ao controlada, possibilitando gerar imagens com ´otima qualidade para o procedimento de contagem, assim minimizando a detecc¸˜ao de ru´ıdos. E por fim, realizar testes com outros dispositivos e comparar os resultados.
REFERENCIASˆ
[1] J. S. Roriz-Filho, F. C. Vilar, L. M. Mota, C. L. Leal, and P. C. B. Pisi, “Infecc¸˜ao do trato urin´ario,” Revista da Faculdade de Medicina de Ribeir˜ao Preto e do Hospital das Cl´ınicas da Faculdade de Medicina de Ribeir˜ao Preto, vol. 43, no. 2, Junho 2010.
[2] D. S. Lo, H. H. Shieh, S. L. B. Ragazzi, V. H. K. Koch, M. B. Martinez, and A. E. Gilio, “Infecc¸˜ao urin´aria comunit´aria: etiologia segundo idade e sexo,” Jornal Brasileiro de Nefrologia, vol. 35, no. 2, pp. 93–98, 2013. [3] J. G. Osowsky and H. R. Gamba, “Sistema autom´atico para contagem de colˆonias em placas de petri,” Revista Brasileira de Engenharia Biom´edica, vol. 17, no. 3, pp. 131–139, Dezembro 2001.
[4] G. M. Alves, “M´etodo fundamentado em processamento digital de imagens para contagem autom´atica de unidades formadoras de colˆonias,” Master’s thesis, Universidade Federal de S˜ao Carlos, S˜ao Carlos, SP, 2006.
[5] H. A. Al-Mamun, N. Jahangir, M. S. Islam, and A. M. Islam, “Eye detection in facial image by genetic algorithm driven deformable template matching,” International Journal of Computer Science and Network Security, vol. 9, no. 8, August 2009.
[6] J. a. C. M. Bateira, “Caracterizac¸˜ao e visualizac¸˜ao de movimento para aplicac¸˜oes em biomecˆanica,” Relat´orio do Projeto Final de Curso. Fa- culdade de Engenharia, Universidade do Porto, 2004.
[7] K. E. Souza, A. M. Pinheiro, W. P. Amorim, and V. V. V. A. Odakura, “Contagem autom´atica de unidades formadoras de colˆonias de bact´erias em placas de petri com o uso do algoritmo template matching,” Workshop de Vis˜ao Computacional, 2012.
[8] A. M. Pinheiro, K. E. Souza, V. V. V. A. Odakura, and W. P. Amorim, “Contagem autom´atica de colˆonias usando hough circles,” Workshop de Vis˜ao Computacional, 2012.
[9] ——, “Contagem autom´atica de colˆonias bacterianas com o uso das t´ecnicas template matching e hough circles,” Workshop of Undergradua- ted Works, SIBGRAPI, 2012.