BIRAM: Sistema para
BIRAM: Sistema para
Recupera
Recupera
ç
ç
ão de Imagens
ão de Imagens
por Conte
por Conte
ú
ú
do
do
Ram
Ramóón A. Moreno n A. Moreno e S
e Séérgio S. rgio S. FuruieFuruie Instituto do Cora
Introdu
Introdu
ç
ç
ão
ão
Sistemas de Recupera
Sistemas de Recuperaçção de Imagens Baseado em ão de Imagens Baseado em Conte
Conteúúdo (CBIR) oferecem diversas vantagens:do (CBIR) oferecem diversas vantagens:
Permitem pesquisa e recuperaPermitem pesquisa e recuperaçção de imagens ão de imagens
m
méédicas baseadas em caracterdicas baseadas em caracteríísticas da imagem;sticas da imagem;
Vantagem sobre sistemas PACS (ex: presenVantagem sobre sistemas PACS (ex: presençça de a de
marcapasso
marcapasso na imagem);na imagem);
Pode ser utilizado para educaPode ser utilizado para educaçção, pesquisa e ão, pesquisa e
aux
Introdu
Introdu
ç
ç
ão
ão
Problema com sistemas CBIR: Problema com sistemas CBIR:
Ainda não existe um algoritmo capaz de Ainda não existe um algoritmo capaz de
identificar imagens gen
identificar imagens genééricas;ricas;
Existem diversos tipos de indexaExistem diversos tipos de indexaçção;ão;
EscalabilidadeEscalabilidade e desempenho são fatores e desempenho são fatores
importantes (estudo com imagens m
importantes (estudo com imagens méédicas dicas ~100MB);
~100MB);
Pouco utilizado na prPouco utilizado na práática (integratica (integraçção com ão com
PACS, associa
Objetivos
Objetivos
Criar uma arquitetura CBIR que:
Criar uma arquitetura CBIR que:
Permita a utiliza
Permita a utiliza
ç
ç
ão de diversos algoritmos
ão de diversos algoritmos
para caracteriza
para caracteriza
ç
ç
ão da imagem;
ão da imagem;
Possa suportar diversas t
Possa suportar diversas t
é
é
cnicas de indexa
cnicas de indexa
ç
ç
ão;
ão;
Suporte a associa
Suporte a associa
ç
ç
ão de informa
ão de informa
ç
ç
ão textual
ão textual
para auxiliar a indexa
para auxiliar a indexa
ç
ç
ão e recupera
ão e recupera
ç
ç
ão das
ão das
imagens
imagens
Objetivos
Objetivos
Metodologia
Metodologia
O BIRAM (Base de Imagens Relacional de O BIRAM (Base de Imagens Relacional de
Algoritmos e M
Algoritmos e Méétricas) tem as seguintes tricas) tem as seguintes funcionalidades:
funcionalidades:
Armazenamento de imagens (DICOM Armazenamento de imagens (DICOM -- Digital Digital
Imaging
Imaging andand CommunicationsCommunications in in MedicineMedicine););
Armazenamento de algoritmos (Armazenamento de algoritmos (javajava););
IndexaIndexaçção de imagens usando algoritmos;ão de imagens usando algoritmos;
Metodologia
Metodologia
Desenvolvimento de protDesenvolvimento de protóótipo in Java usando tipo in Java usando
banco de dados MS Access 97; banco de dados MS Access 97;
ImplementaImplementaçção atual utiliza caracterão atual utiliza caracteríísticas da sticas da
linguagem Java:
linguagem Java: serializaserializaççãoão, instancia, instanciaçção ão dinâmica e invoca
dinâmica e invocaçção de mão de méétodos remotos todos remotos (RMI);
(RMI);
Modelo de Dados
Modelo de Dados
CONCLUSÃO ALG_X_IMG ALGORITMO ROI_LAUDO SERIES LAUDO ESTUDO DICIONARIO PACIENTE IMAGEM ROI_ALGOR TERMOSMetodologia
Metodologia
AbstraAbstraççãoão dos dos AlgoritmosAlgoritmos
java.rmi.Remote <<Int erface>> java.io.Serializable <<Interface>> Server storeDICOMImage() searchImage() listAlgorithms() storeAlgorithm() applyAlgorithm() saveReport() listDictionaries() listDictionaryCodes() <<Int erface>> Descriptor calculat eDistance() <<Interface>> Algorithm getName() getDescription() getAut hor() getVersion() getBodyPart() getModalit y() getNumberOfBit s() process () <<Int erface>> 1 0..* 1 +contains 0..* +produces
Funcionamento
Funcionamento
1) Envio de algoritmos1) Envio de algoritmos
CLIENTE SERVIDOR 1. Arquivo JAR BANCO 2. Instanciação Algoritmo 4. Processamento IMG 5. Armazenamento Descritores 3. Lista imagens
Funcionamento
Funcionamento
2) Envio de imagens2) Envio de imagens
CLIENTE SERVIDOR
1. Imagem DICOM
BANCO
3. Processamento IMG por Algoritmos
4. Armazenamento 2. Algoritmos
Funcionamento
Funcionamento
3) Recupera3) Recuperaçção de imagensão de imagens
CLIENTE SERVIDOR
1. Buscar similares
BANCO
3. Comparação Descritores com Imagem
2. Descritores 4. Lista similares
Resultados
Resultados
Um laudo pode Um laudo pode
ser associado com ser associado com
as imagens para as imagens para
indexa
Resultados
Resultados
A A conclusãoconclusão utiliza utiliza um um diciondicionááriorio mméédicodico (
(atualmenteatualmente CIDCID- -10)
10) facilitandofacilitando a a indexa
Results
Resultados
Resultados
ExemploExemplo de de
resultado
resultado dada buscabusca utilizando
utilizando histograma
Discussão
Discussão
O prot
O protóótipo ainda pode ser melhorado com:tipo ainda pode ser melhorado com:
Uso de Regiões de interesse (ROI);Uso de Regiões de interesse (ROI);
IndexaIndexaçção dos vetores de caracterão dos vetores de caracteríísticas (XXL sticas (XXL
library
library) ) –– slimslim treetree, , MM--TreeTree, , etcetc;;
IntegraIntegraçção com sistema PACS aberto ão com sistema PACS aberto
(
Discussão
Discussão
O tipo de algoritmo pode ser abstra
O tipo de algoritmo pode ser abstra
í
í
do,
do,
suportando diferentes implementa
suportando diferentes implementa
ç
ç
ões;
ões;
É
É
poss
poss
í
í
vel trabalhar com
vel trabalhar com
meta
meta
-
-
informa
informa
ç
ç
ão
ão
sobre o algoritmo (ex: auto
sobre o algoritmo (ex: auto
-
-
sele
sele
ç
ç
ão do
ão do
melhor algoritmo).
Conclusão
Conclusão
Neste trabalho foi apresentado um protNeste trabalho foi apresentado um protóótipo tipo
parcial da arquitetura BIRAM, o qual permite a parcial da arquitetura BIRAM, o qual permite a
utiliza
utilizaçção de diversos algoritmos de extraão de diversos algoritmos de extraçção de ão de caracter
caracteríísticas, armazenamento de imagens sticas, armazenamento de imagens DICOM, associa
DICOM, associaçção da imagem com laudo e ão da imagem com laudo e recupera
recuperaçção de imagens por similaridade;ão de imagens por similaridade;
O protO protóótipo demonstrou a viabilidade do tipo demonstrou a viabilidade do
modelo. modelo.
Agradecimentos
Agradecimentos
A FAPESP, processos 1997/14206A FAPESP, processos 1997/14206--5, 5,
2001/05987
2001/05987--0 e 2006/045320 e 2006/04532--3;3;
Banco
Store algorithm
Store algorithm
Client BIRAM MyAlgorithm Database
1: storeAlgorithm("MyAlgorithm", myJarFile) 2: save 3: new 4: getInfo() 5: insert "MyAlgorithm" 6: OK
Apply algorithm
Apply algorithm
BIRAM Dat abase MyAlgorithm MyDescriptor
1: get images for "MyAlgorithm"
2: process( image )
3: new 4: store "MyDescriptor"
Search using algorithm
Search using algorithm
Client BIRAM Dat abase
1: searc hIm age(image, " My Algorit hm")
2: list descriptors
3: compare descriptors