Garagista Bruno Dias Rosa
Garagista e veterinária Tiemi
Unindo os conhecimentos em veterinária da garagista Tiemi com os conhecimentos de programação do garagista Bruno, uma importante ferramenta está surgindo: um software para contagem de leucócitos que virá a acrescentar grande produtividade para os laboratórios veterinários, de pesquisa e, quem sabe, de humanos.
Atualmente, devido ao alto custo e à falta de confiabilidade dos resultados gerados pelos sistemas disponíveis, a maioria dos laboratórios requerem a contagem manual dessas células para inferir valores que auxiliam a determinação do perfil imunológico do indivíduo. Tais células são detectáveis através da visualização microscópica de lâminas com sangue corado.
Exemplo de imagem a ser processada (leucócitos em meio a dezenas de hemácias)
O software que está sendo desenvolvido com o apoio do Laboratório de Garagem, se utilizará de reconhecimento de imagens para encontrar as células de interesse e fornecer a contagem automaticamente, eliminando tempo precioso desperdiçado, além de falhas humanas e tendenciosidade no caso do pesquisador, aumentando produtividade e precisão aos resultados obtidos.
O Lab de Garagem deseja sucesso ao empreendimento!
Comentar
Projeto super interessante!
Afinal, conseguiram algum progresso?
Fabio
A tecnologia já está quase definida junto com a especificação e parte do código para o projeto.
Apenas os algorítimos de reconhecimento precisam ser definidos.
O tempo máximo é recomendado que seja menor do que uma pessoa lendo, mas não é limitante para o projeto.
Tolerância a erro também tem que ser menor do que o erro humano, ainda não definido, mas com certeza menos suscetível a cansaço, dor de cabeça entre outras coisas que atrapalham no caso de leitura manual.
Sobre as classificações e imagens veja na wikipedia.
http://pt.wikipedia.org/wiki/Leuc%C3%B3cito
Abraços
Olá pessoal,
Talvez caiba aqui um comentário para tentar explicar melhor como fazemos a leitura das lâminas, para justificar as necessidades do software em questão, pois li o comentário do Fábio ("O tempo é menor que de uma pessoa preparando as laminas de amostras e colocando no microscopio") e acho que faltou essa informação....
As lâminas são preparadas, obrigatoriamente, "todas de uma vez só"... Fazemos todas as lâminas e depois as lemos, uma a uma, no microscópio. Cada lâmina demora aproximadamente 3 a 5 minutos para ser lida (depende da qualidade da lâmina e do leitor - pesquisador treinado); lemos 100 células de cada lâmina e fazemos o cálculo de porcentagem. A idéia é de diminuir este tempo de leitura, pois, no meu caso, cada experimento gera cerca de 30 lâminas, e no laboratório onde trabalho, temos experimento quase todos os dias.
Não sei se ajuda para novas idéias virem... rsrs
Obrigada a todos os que tiveram idéias...
Abraço!
Hm...não entendi.
O modo automatizado vai ser para uma produção em escala industrial? Não sei qual a necessidade, mas acredito que 5 segundos por frame é algo aplicável...O tempo é menor que de uma pessoa preparando as laminas de amostras e colocando no microscopio, mas se ela não pode esperar, vc pode ir jogando as imagens em filas e ir processando a contagem em offline...
Fora isso, vc pode usar algum método de reconhecimento de padrão, como o viola-jones. Este é o melhor método de detecção de padrões que existe atualmente. Pesquise por filtros haar-like que certamente estes dois caras serão citados. É o modo usado para detectar faces no orkut/facebook, mas é aplicavel a qualquer padrão, desde que treinado para isso. Nesse caso, vc precisará juntar um monte de leucócitos individuais e normalizados.
[]'s
Fabio Martins
Blz Fabio.
Muito legal a idéia, mas 5 a 10 segundos é muito tempo, quem conta as células vai passando no microscópio muito rápido, quase que formando um filme, o método de contagem precisa ser muito otimizado.
Mas acredito que com essas ideias que vc deu e outras mais será possível otimizar bastante.
Obrigado
Abraços.
Opa, blz?
"Tempo" é dificil de determinar. Mas basicamente, vai depender da resolução da imagem e a "quantidade de leucocitos" (na verdade, a quantidade de bordas detectadas)
A transformada de hough é basicamente "criar circulos de raios iquais em todas as bordas detectadas" e depois criar uma valor de corte da soma de onde o perimetro destes circulos coincidiram, ou seja, detectaria o centro aproximado do leucocito.
Então intuitivamente o tempo seria, no PIOR caso (a imagem inteira ser borda, ou criar um circulo em CADA pixel da imagem) assim:
t = n*X*Y*360*N
n = tempo para desenhar UM circulo.
X = largura da imagem
Y = altura da imagem
360 = graus
N = um fator entre os graus.
Isso usando um pc simples de um só núcleo. Mas existem outras estratégias se vc implementar sua propria função de transformada de hough, como pular pixels, ou dividir a imagem e paralelizar seu algoritmo....
Entretanto, acho que pra essa aplicação, vc nem precisa se preocupar com isso. Chuto entre 5 e 10 segundos pra uma imagem de uns 640x480, ou seja, MUITO mais rapido de que contar manualmente.
Uma outro modo bastante simples que pensei é de contar isso simplesmente segmentando a imagem e contando pixels aleatórios da imagem, vc sabendo quanto cabe de "pixels" dentro de cada leococito, vc divide o valor total de pixels de leococitos pela quantidade de pixels aproximado que existem dentro de UM leococito. Sacou?
Vai ter uma margem de erro obvio, assim como qualquer outro modo automatizado, mas acho que pra aplicação deve funcionar perfeitamente. Vale uns testes pra ver qual modo é melhor....
Alias, esta ultima metodologia que falei é uma teoria matematica novi(ssima) pra calculo de áreas geométricas complexas (como territórios geograficos)...só esqueci como que ela se chama... =S
[[]]'s
Eai Fabio
Eu to começando a ver as documentações do OpenCV.
Quanto tempo você acha que leva para aplicar esse processamento em uma imagem ?
Abraços
Oi, acho que posso dar minha contribuição neste assunto:
Acho que isso é facilmente resolvido, e com menos complexidade usando este passos:
-Detecção de bordas com algoritmo de Canny.
-Transformada de Hough para detecção de circulos (ja que o raio parece aproximadamente iquais)
-Segmentação de cores usando limiares para selecionar o tipo de leucócito.
A parte que tem maior custo computacional é a transformada de hough, mas para o tipo de aplicação, completamente viável.
Para facilitar o desenvolvimento avaliem o framework de visão computacional opensource chamado openCV!
Que é uma mão na roda pra Visão computacional. Com 10 linhas de programação faz isso que sugeri!
Abraços...
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por
Você precisa ser um membro de Laboratorio de Garagem (arduino, eletrônica, robotica, hacking) para adicionar comentários!
Entrar em Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)