Sistema de quantificação automática de células com...
Transcript of Sistema de quantificação automática de células com...
Sistema de quantificação automática de células com estrutura elíptica
Wesley Nunes Gonçalves
Instituto de Física de São Carlos - USP
Av. Trabalhador São-carlense, 400
Cx. Postal 369 - São Carlos - SP - Brasil
Odemir Martinez Bruno
Instituto de Física de São Carlos - USP
Av. Trabalhador São-carlense, 400
Cx. Postal 369 - São Carlos - SP - Brasil
Resumo
Este artigo apresenta um novo método para quantifica-
ção automática de células, um importante e desafiador pro-
blema que tem sido estudado pela comunidade de visão
computacional. Inicialmente, segmentação baseada no al-
goritmo k-means é executada para separação de diferentes
tipos de células. Em seguida, uma estratégia robusta e efi-
ciente é executada no contorno dos blobs para separação
de células em contato. Devido ao processamento do con-
torno, o método alcança excelentes resultados na detecção
quando comparado com a detecção manual realizada por
um especialista.
1. Introdução
Diversas pesquisas em áreas da saúde necessitam quan-
tificar o número de células para a realização e validação
de experimentos, como a estimativa da parasitemia a par-
tir de imagens microscopias do sangue [7]. A quantifica-
ção das células é um passo importante, pois toda a seqüên-
cia da pesquisa depende dos resultados obtidos nessa etapa.
Geralmente, a contagem das células é realizada em um pro-
cesso manual, o que consome horas ou mesmo dias de tra-
balho. Devido a fatores humanos, como a fadiga e distração
do pesquisador, os resultados obtidos através da contagem
manual não são completamente confiáveis ou reprodutíveis.
Com isso, a automatização desse processo tem atraído cada
vez mais a atenção da comunidade de visão computacional,
pois além de prover resultados mais confiáveis e reprodutí-
veis, a automatização provê também estatísticas das células
que um ser humano é incapaz de estimar, como a área e pe-
rímetro.
Diversos métodos para contagem de células foram pro-
postos na literatura. Uma grande parcela dos métodos é ba-
seada no algoritmo watershed [10, 12, 14], cuja idéia bá-
sica é a inundação de relevos topográficos. Embora menos
explorados, os contornos ativos [5, 3] e métodos por cres-
cimento de regiões [11, 1] têm sido utilizados em diversos
outros métodos e obtido resultados interessantes . Existem
ainda métodos que realizam a contagem de células com base
em operações morfológicas [4, 13] e métodos que utilizam
informações a priori da forma das células [15, 9]. Embora
seja um problema bastante estudado na comunidade de vi-
são computacional, a maioria dos métodos não apresenta re-
sultados satisfatórios quando múltiplas células estão em um
contato complexo [2].
Este artigo propõe uma abordagem que combina seg-
mentação com o algoritmo k-means e casamento de elip-
ses para a contagem automática de células. Com a aplica-
ção do k-means, os diferentes tipos de células são segmen-
tados com base na cor dos pixels. Após a segmentação, o
casamento de elipses é aplicado no contorno dos blobs para
separação eficientemente de células que estão em contato.
Experimentos da detecção de células foram realizados em
imagens com alta densidade de bactérias Lactobacillus pa-
racasei. Essas bactérias são encontradas na boca dos seres
humanos e são responsáveis por grande parte das doenças
bocais como a cárie dentária. O método proposto apresen-
tou excelentes resultados quando comparados com a marca-
ção manual realizada por um especialista.
O artigo está descrito como segue. Na seção 2, o mé-
todo proposto para contagem de células é descrito detalha-
damente. Os experimentos e resultados obtidos para ima-
gens de bactérias são apresentados na Seção 3. Por fim, na
Seção 4, as conclusões e trabalhos futuros são discutidos.
2. Método Proposto
O método proposto é sumarizado na Figura 1. Inicial-
mente um pré-processamento é aplicado para melhorar a
qualidade da imagem. Em seguida, as células são segmenta-
das com o algoritmo k-means em k = n+1 classes (n tipos
de células e o fundo). Por fim, as células em contato per-
tencentes ao mesmo blob são separadas. Nesta etapa, o con-
torno das células é segmentado em pontos estratégicos e em
04-07 de Julho - FCT/UNESP - P. Prudente VI Workshop de Visão Computacional
254
Figura 1. Sumarização do método. Primeiropasso é a aplicação de pré-processamento.Segundo, as células são segmentadas utili-zando o K-means. Em seguida, o contornodas células é processado. Por último, umaelipse é encontrada para cada contorno seg-mentado.
seguida uma elipse é identificada para cada segmento. Por
fim, as elipses são processadas para melhorar a identifica-
ção.
2.1. Pré-Processamento
Inicialmente, a imagem é pré-processada com a técnica
de realce por decorrelação [8] com o intuito de melhorar
o contraste. Realce por decorrelação é uma técnica base-
ada em uma transformação de componentes principais com
objetivo de eliminar a correlação entre bandas (e.g. espaço
RGB). Esse processo envolve três passos principais. Pri-
meiro, a transformação de componentes principais é apli-
cada com as linhas e colunas da matriz de auto-vetores da
imagem. Em seguida, equalização de contraste é aplicada
por um filtro Gaussiano. Por fim, a transformação de coor-
denadas é aplicada para que os dados sejam projetados em
seus canais originais. Mais informações podem ser encon-
tradas em [8].
2.2. Segmentação pelo algoritmo K-Means
Após a etapa de pré-processamento, as células são se-
paradas do fundo por meio do bem conhecido algoritmo
k-means. O k-means é um método de clusterização que
tem como objetivo particionar os dados em k grupos de tal
forma que a distância entre elementos do mesmo grupo seja
minimizada.
Em segmentação de imagens, cada pixel é considerado
um elemento xi = [Ri, Gi, Bi] que deve ser atribuído a
um dos grupos. O algoritmo mais comum é iterativo e com
dois passos principais. Dados k centróides dos grupos, pre-
viamente iniciados, cada pixel xi é atribuído ao centróide
mais próximo. Em seguida, os centróides são recalculados
de acordo os pixels pertencentes a cada grupo. Os dois pas-
sos descritos anteriormente são repetidos até que a diferença
entre centróides de duas iterações seja menor que um limiar.
A Figura 2 apresenta um exemplo de imagem segmentada
através do método k-means.
(a) Imagem Original. (b) Imagem Segmentada.
Figura 2. Resultado da aplicação do algo-ritmo k-means em segmentação de imagens.
2.3. Processamento do Contorno
Após a etapa de segmentação, alguns blobs representam
duas ou mais células que estão em contato. Neste traba-
lho, a separação dessas células é baseada no contorno. O
contorno é representado por um conjunto de pontos C ={p1, p2, ..., pn}, onde pi = (x, y) são os pontos do con-
torno e n é o número de pontos. A Figura 4 apresenta uma
ilustração do problema e a separação utilizando o método.
A idéia principal é separar o contorno em segmentos per-
tencentes a células diferentes através de pontos de concavi-
dade.
O contorno original das células possui flutuações e ruí-
dos que dificultam a sua análise. Para contornar esse pro-
blema, uma aproximação poligonal [15] é aplicada no con-
torno original C. A aproximação poligonal constrói um
conjunto de pontos PAC = {p1, p2, ..., pm} | pi ∈ C.
O método de aproximação, utilizado neste trabalho, inicia
com dois pontos pi e pj ∈ C, onde j = i + nStep e
nStep > 1. Em seguida, as distâncias dos pontos entre pi e
pj e a reta pipj são calculadas e comparadas com um limiar
dTh. Caso a distância de um ponto pt seja maior que o li-
miar, esse ponto faz parte da aproximação (pt ∈ PAC), pi é
movido para pt e o procedimento é repetido. Caso contrário,
pj é movido para o ponto seguinte e as distâncias são cal-
culadas novamente até que haja um ponto pt ou pj chegue
ao fim do contorno. O procedimento é encerrado quando pipercorreu todos os pontos do contorno.
04-07 de Julho - FCT/UNESP - P. Prudente VI Workshop de Visão Computacional
255
O contorno aproximado PAC é segmentado em pon-
tos de concavidade para a separação de células em con-
tato. Esses pontos são identificados com base no ângulo
formado por três pontos consecutivos. Dados três pontos
pi−1, pi, pi+1, o ponto pi é considerado um ponto de conca-
vidade se o ângulo θ(i) (calculado de acordo com a Equa-
ção 1) estiver entre os limiares que determinam o ângulo mí-
nimo θmin e máximo θmax (Equação 2). Além disso, para
ser considerado um ponto de concavidade, a reta pi−1pi+1
não deve atravessar o contorno, conforme ilustra a Figura
3(a). Essa segunda regra é necessária para descartar falsos
pontos de concavidade.
θ(i) =
{
di−1,i,i+1 , if di−1,i,i+1 < ππ − di−1,i,i+1 , otherwise
(1)
onde di−1,i,i+1 = |a(pi−1, pi)− a(pi+1, pi)| e a(pi, pj) =tan−1((yi − yj)/(xi − xj)).
θmin < θ(i) < θmax
pi−1pi+1 não deve atravessar o contorno C.(2)
Em alguns casos, o contato entre duas ou mais células
possui apenas um ponto de concavidade pc que pode ser
identificado. Nestes casos, um novo ponto de concavidade
é inserido no lado oposto do contorno. Seguindo o pressu-
posto de que as células possuem tamanhos similares, a po-
sição do novo ponto é o meio do contorno, considerando a
posição c do único ponto de concavidade igual a 0, como
ilustrado na Figura 3(b). Outro caso especial é a inserção
de pontos de concavidade em células incompletas cujo con-
torno está nos extremos da imagem. Nestes casos, os pon-
tos de concavidade são inseridos no início e no fim do con-
torno. Um exemplo pode ser visto na Figura 4(b).
(a) Ilustração do cálculo de pon-tos de concavidade. Um ponto édescartado, pois a reta pi−1pi+1
atravessa o contorno.
(b) Inserção de um ponto de con-cavidade. Ponto de concavidadeencontrado (verde) e ponto deconcavidade inserido (vermelho).
Figura 3. Cálculo dos pontos de concavidadee a inserção de pontos em um caso especial.
Os pontos de concavidade segmentam o contorno. Os
segmentos são representados por ci = {pi1, pi2, ..., pis},
onde s é o número de pontos do segmento ci, pi1 e pis são
pontos de concavidade. Se existem m pontos de concavi-
dade, o contorno é segmentado em m segmentos sendo que
C = c1 ∪ c2 ∪ ...∪ cm. A Figura 4 ilustra os pontos de con-
cavidade e os segmentos do contorno.
(a) Imagem Original. (b) Pontos de concavidadeidentificados nos contornos.
(c) Segmentos do contorno. (d) Elipses encontradas.
Figura 4. Ilustração dos segmentos do con-torno.
2.4. Pré-processamento das Elipses
A maioria das células possui forma que pode ser mo-
delada por uma elipse. Com isso, a proposta dessa etapa é
modelar cada segmento do contorno com uma elipse. Es-
sas elipses são processadas em diversas etapas, sendo elas
combinadas ou divididas de acordo com regras derivadas de
um conhecimento prévio das células. Para cada segmento
ci, uma elipse ei é identificada com um algoritmo de casa-
mento de elipses. Seguindo [2], o método direct least square
[6] foi aplicado por ser computacionalmente eficiente e for-
necer resultados robustos mesmo na presença de ruídos e
pequenas oclusões. Após a identificação de uma elipse para
cada segmento, as etapas abaixo são executadas.
2.4.1. Seleção de Elipses As elipses encontradas de-
vem satisfazer duas condições para serem selecionadas.
Primeiro, a distância algébrica média [6], calculada pelo al-
goritmo de casamento de elipses e que mensura a qualidade
da elipse dado os pontos, deve ser menor que um li-
miar disTh. Segundo, a taxa entre o eixo menor e maior
da elipse deve ser maior que um limiar eTh. Essa se-
gunda condição descarta elipses demasiadamente alon-
gadas. As elipses selecionadas são utilizadas na próxima
etapa de combinação. Enquanto que as elipses não sele-
cionadas são utilizadas na última etapa (Refinamento das
elipses).
04-07 de Julho - FCT/UNESP - P. Prudente VI Workshop de Visão Computacional
256
2.4.2. Combinação de Elipses Nesse ponto, as células já
estão basicamente separadas. Entretanto, podem existir seg-
mentos pertencentes à mesma célula erroneamente separa-
dos por pontos de concavidade mal identificados. Como al-
gumas células não possuem a forma de elipse ou possui um
alto erro da elipse ideal, as regras são derivadas, não so-
mente do erro das elipses encontradas, mas também do co-
nhecimento a priori das células na imagem [2]. Esses pas-
sos são descritos abaixo em dois casos.
Caso 1: O contato simples entre duas células é facilmente
identificado pelas regras do caso 1. Essas regras têm como
objetivo não combinar duas elipses onde o contato é explí-
cito. Como estamos interessados em não combinar as elip-
ses, a distância entre o centro da nova elipse ecnew e o cen-
tro das duas elipses anteriores eci e ecj devem ser maior
que um limiar dMinTh, de acordo com a Equação 3.
dist(eci, ecnew) > dMinThdist(ecj , ecnew) > dMinTh
(3)
onde dist(p, q) é a distância entre os pontos p e q.
O limiar dMinTh é facilmente determinado com as pro-
priedades das células, sendo geralmente próximo do tama-
nho do eixo menor da menor célula [2]. Esta regra indica
que as duas células são realmente células diferentes, então
elas não devem ser combinadas. A outra regra utilizada no
caso 1 diz que as células devem permanecer separadas se
distância entre o centro das duas células anteriores for con-
siderável, de acordo com a Equação 4.
dist(eci, ecj) > [2.5, 4.0]dMinTh (4)
Caso 2: Considere dois segmentos ci e cj e suas elip-
ses ei e ej . Considere ainda, um segmento cij = ci ∪ cj e
sua elipse eij . Se os dois contornos pertencem a mesma cé-
lula, a distância algébrica média da nova elipse eij é pro-
vavelmente menor do que as distâncias obtidas pelas duas
elipses anteriores ei e ej . Caso isso ocorra, os segmentos
devem ser combinados.
O algoritmo para a combinação das elipses é dado em
Algoritmo 1.
2.4.3. Refinamento de Elipses Nessa etapa, os segmentos
que ainda não foram processados são utilizados, como os
segmentos com um número pequeno de pontos e segmentos
cujas suas elipses não foram selecionadas no passo de sele-
ção de elipses. Esses segmentos auxiliam o refinamento das
elipses, pois obviamente eles fazem parte de alguma elipse.
Para isso, a elipse de cada segmento não processada é com-
binada com todas as elipses existentes. Após essa combina-
ção, a distância algébrica média das novas elipses que ob-
tiver a menor distância e ainda ser aceitável de acordo com
as condições da etapa de seleção de elipses é a elipse que o
segmento não processado pertence.
Input : Segmentos ci e suas elipses ei
for i = 1 to M do
for j = i+ 1 to M do
cij = ci ∪ cj ;
Encontre uma elipse eij com cij ;
if não Caso_1 and Caso_2 then
Substituir ei por eij ;
Substituir ci por cij ;
Deletar ej e cj ;
G = G− 1 e i = 1;end
endend
Algorithm 1: Algoritmo para combinação de elipses.
3. Experimentos e Resultados
Experimentos foram realizados em imagens de biofilmes
com Lactobacillus paracasei, bactérias presentes na boca
dos seres humanos. A principal motivação para a utilização
dessas imagens é a necessidade em se quantificar o tama-
nho e a quantidade de bactérias antes e depois da aplicação
de soluções químicas. As soluções têm como objetivo redu-
zir a quantidade de bactérias, pois existe uma formação ir-
restrita de biofilmes na superfície dos dentes, a qual está as-
sociada à ocorrência de doenças bocais como cárie dentá-
ria.
Na etapa de segmentação, o número de grupos no al-
goritmo k-means foi setado em 3 pois as imagens contem,
além do fundo, dois tipos de bactérias. Os parâmetros res-
tantes foram setados empiricamente como a seguir. No pro-
cessamento do contorno, o limiar da aproximação poligo-
nal dTh foi setado em 3.5. Como as bactérias são peque-
nas em relação ao tamanho da imagem, o limiar é setado
com um valor baixo que corresponde ao erro máximo per-
mitido em pixels para a aproximação do contorno. Para o
cálculo de pontos de concavidade, os ângulos mínimo θmin
e máximo θmin foram setados em 35◦ e 155◦, respectiva-
mente.
As elipses encontradas para cada segmento do contorno
devem satisfazer duas restrições para serem selecionadas:
a distância algébrica deve ser menor que um limiar disThe a relação entre o eixo menor e maior da elipse deve ser
maior que um limiar eTh. Os dois parâmetros utilizados
foram disTh = 0.03, para permitir certa robustez no casa-
mento de elipses, e eTh = 0.2, para restringir elipses muito
alongadas. Por fim, na etapa de combinação entre elipses, o
limiar dMinTh foi setado em 4, que corresponde ao eixo
menor da menor bactéria da imagem. Diferentes tipos de cé-
lulas possuem diferentes propriedades, então os parâmetros
utilizados no método devem ser ajustados seguindo um co-
nhecimento a priori do tipo de células.
O método proposto foi executado em 167 imagens com
04-07 de Julho - FCT/UNESP - P. Prudente VI Workshop de Visão Computacional
257
alta concentração de bactérias. Abaixo, alguns resultados
experimentais são apresentados e discutidos. Uma das prin-
cipais dificuldades dos métodos da literatura é a detecção
adequada de células em contato, uma tarefa indispensável
quando existe alta concentração de células. A identificação
correta das células em contato fornece estimativas mais pró-
ximas da realidade e com isso, resultados mais confiáveis
são obtidos. Na Figura 5, resultados obtidos quando múlti-
plas bactérias estão em contato são apresentados. As figu-
ras a esquerda correspondem aos resultados do método pro-
posto, enquanto as figuras a direita foram classificadas por
um especialista para validação do método. Apesar do cons-
tante contato entre as células, o método obteve resultados
próximos aos resultados de um especialista em ambas as
imagens.
(a) Método proposto. (b) Especialista
(c) Método proposto (d) Especialista
Figura 5. Resultado quando múltiplas célulasestão em contato.
Para as mesmas imagens, a contagem das bactérias foi
realizada pelo método e confrontada com a contagem reali-
zada por três especialistas (Tabela 1). Podemos notar que,
mesmo entre especialistas, existem diferenças devido ao
viés de cada especialista. Apesar disso, o resultado obtido
pelo método proposto ficou próximo da média entre os três
especialistas em ambas as imagens.
A Figura 6 apresenta uma comparação entre a área de
células identificada pelo método proposto e a marcação ma-
nual em duas imagens. Para ambas as imagens, as células
foram ordenadas pela área para a criação do gráfico. Como
pode ser visto, o método proposto também obtém bons re-
sultados com relação à área, que pode ser corroborado pelo
Figura 5(a) Figura 5(c)
bact. 1 bact. 2 bact. 1 bact. 2
Espec. 1 23 24 24 29
Espec. 2 22 26 23 31
Espec. 3 21 25 22 30
Média Espec. 22 25 23 30
Método 23 25 24 31
Tabela 1. Contagem de bactérias realizadaspelo método proposto e três especialistas.
erro médio em pixel de 17.13 e 29.52.
(a) e = 17.13.
(b) e = 29.52.
Figura 6. Resultado da detecção em imagenscom alta densidade de ambos os tipos debactérias.
Por fim, a Figura 7 apresenta resultados para alta con-
centração de bactérias. Apesar da grande quantidade de
bactérias, os resultados obtidos são interessantes dado que
o processo é totalmente automatizado. Além dos excelen-
tes resultados na detecção, o método proposto, implemen-
tado em linguagem Java, é consideravelmente eficiente em
tempo de processamento. Em média, para 10 imagens com
1024×1024 pixels, o método foi executado em 553 milisse-
gundos em um computador Intel Quad Core 2.33GHz CPU
e 3 GB RAM.
04-07 de Julho - FCT/UNESP - P. Prudente VI Workshop de Visão Computacional
258
Figura 7. Resultado em uma imagem com altadensidade de dois tipos de bactérias.
4. Conclusão e Trabalhos Futuros
Neste artigo foi apresentado um novo método para a
quantificação automática de células em imagens. O mé-
todo é basicamente composto por uma segmentação base-
ada no algoritmo k-means e um importante passo de pro-
cessamento do contorno para separação de células em con-
tato. Experimentos com imagens de bactérias foram condu-
zidos para encontrar a melhor configuração de parâmetros
para este problema particular. Os resultados obtidos mos-
traram que o método apresenta uma detecção de células efi-
cientemente quando comparado com as marcações de um
especialista. Além disso, o método apresentou um tempo de
processamento relativamente baixo para imagens com alta
concentração de bactérias.
Como trabalhos futuros, é interessante avaliar os parâ-
metros do método para outros tipos de células e determinar
a relação com os encontrados nesse trabalho. Além disso,
seria interessante realizar uma validação do método com
imagens artificiais, por exemplo, imagens com elipses so-
brepostas onde a posição e o tamanho de cada uma são co-
nhecidos.
Agradecimentos
Este trabalho recebeu apoio financeiro do Conselho Na-
cional de Desenvolvimento Científico e Tecnológico -
CNPq.
Referências
[1] D. Anoraganingrum, S. Kröner, and B. Gottfried. Cell seg-
mentation with adaptive region growing. In ICIAP Venedig,
Italy, pages 27–29, 1999.
[2] X. Bai, C. Sun, and F. Zhou. Splitting touching cells based
on concave points and ellipse fitting. Pattern Recognition,
42(11):2434–2446, 2009.
[3] P. Bamford and B. Lovell. Unsupervised cell nucleus
segmentation with active contours. Signal Processing,
71(2):203 – 213, 1998.
[4] C. di Ruberto, A. Dempster, S. Khan, and B. Jarra. Analysis
of infected blood cell images using morphological operators.
20(2):133–146, February 2002.
[5] S. Eom, S. Kim, V. Shin, and B. Ahn. Leukocyte segmen-
tation in blood smear images using region-based active con-
tours. pages 867–876, 2006.
[6] A. W. Fitzgibbon, M. Pilu, and R. B. Fisher. Direct least-
squares fitting of ellipses. IEEE Transactions on Pattern
Analysis and Machine Intelligence, 21(5):476–480, May
1999.
[7] S. Halim, T. R. Bretschneider, Y. K. Li, P. R. Preiser, and
C. Kuss. Estimating malaria parasitaemia from blood smear
images. In ICARCV06, pages 1–6, 2006.
[8] P. S. Karvelis and D. I. Fotiadis. A region based decorrela-
tion stretching method: Application to multispectral chromo-
some image classification. In Image Processing, 2008. ICIP
2008. 15th IEEE International Conference on, pages 1456
–1459, oct. 2008.
[9] S. Kumar, S. H. Ong, S. Ranganath, T. C. Ong, and F. T.
Chew. A rule-based approach for robust clump splitting. Pat-
tern Recognition, 39(6):1088–1098, 2006.
[10] K. Z. Mao, P. Zhao, and P. Tan. Supervised learning-
based cell image segmentation for p53 immunohistochemis-
try. IEEE Trans Biomed Eng, 53(6):1153–63, 2006.
[11] J. Ning, L. Zhang, D. Zhang, and C. Wu. Interactive image
segmentation by maximal similarity based region merging.
Pattern Recognition, 43(2):445 – 456, 2010. Interactive Ima-
ging and Vision.
[12] Z. Peter, V. Bousson, C. Bergot, and F. Peyrin. A constrai-
ned region growing approach based on watershed for the seg-
mentation of low contrast structures in bone micro-ct images.
Pattern Recognition, 41(7):2358–2368, 2008.
[13] J. Rackey and M. Pandit. Automatic generation of morpho-
logical opening-closing sequences for texture segmentation.
pages III:217–221, 1999.
[14] L. Vincent and P. Soille. Watersheds in digital spaces: An
efficient algorithm based on immersion simulations. IEEE
Trans. Pattern Anal. Mach. Intell., 13(6):583–598, 1991.
[15] W. X. Wang. Binary image segmentation of aggregates ba-
sed on polygonal-approximation and classification of con-
cavities. Pattern Recognition, 31(10):1503–1524, October
1998.
04-07 de Julho - FCT/UNESP - P. Prudente VI Workshop de Visão Computacional
259