X Workshop de Teses e Dissertações em Banco de Dados
Análise comparativa de técnicas para armazenagem de dados
passı́veis de consultas por similaridade ∗
Pedro Lopes de Souza1 ,
Prof. Dr. Caetano Traina Júnior1
1
Pós-Graduação em Ciências de Computação e Matemática Computacional
Instituto de Ciências Matemáticas e de Computação (ICMC)
Universidade de São Paulo (USP)
São Carlos, SP, Brasil
{desouza, caetano}@icmc.usp.br
Nı́vel: Mestrado
Ano de ingresso no programa: 2010
Exame de qualificação: Março de 2011
Época esperada de conclusão: Março de 2012
Resumo. A complexidade dos dados armazenados em grandes bases de dados
aumenta cada vez mais, criando a necessidade de novas operações de consulta. Uma classe de operações que tem apresentado interesse crescente são
as chamadas Consultas por Similaridade, sendo as mais conhecidas e utilizadas as consultas por abrangência (Range query – Rq) e aos k-vizinhos mais
próximos (k-Nearest Neighbors – k-NN). Até recentemente, essas consultas não
dispunham de algoritmos suficientemente robustos e eficientes para que elas
pudessem ser incorporadas aos Sistemas de Gerenciamento de Bases de Dados (SGBD). Essa situação esta mudando, e já é possı́vel conceber cenários
onde consultas por similaridade sejam integradas ao SGBD. O GBdI-ICMCUSP vem desenvolvendo um protótipo inicial de um interpretador para uma
extensão da Linguagem SQL que incorpora comandos para expressar e executar condições de consulta por similaridade associadas às demais condições
tradicionais. No entanto, esse protótipo tem indicado que diferentes maneiras
de armazenar os dados a serem pesquisados por similaridade pode levar a velocidades de resposta muito diferentes. Este projeto visa dar continuidade ao
desenvolvimento desse protótipo, investigando técnicas e algoritmos de armazenagem de dados, especialmente imagens, visando aumentar o escopo do suporte
que pode ser dado em ambientes práticos reais a consultas por similaridade sobre esses dados em SGBD Relacionais.
Palavras-chave: Base de dados relacionais, sistema de arquivos, estruturas de
armazenamento, imagens médicas, consultas por similaridade.
∗
Os autores agradecem o apoio financeiro das seguintes agências de fomento à pesquisa do Brasil:
CNPq, CAPES e FAPESP.
69
X Workshop de Teses e Dissertações em Banco de Dados
1. Introdução
Inicialmente, os Sistemas de Gerenciamento de Bases de Dados Relacionais (SGBDRs)
foram desenvolvidos para suportar o armazenamento e a recuperação apenas de dados
numéricos ou textuais curtos, os chamados dados tradicionais ou simples. Entretanto,
a informação moderna não é, na maioria dos casos, representada por um dado tradicional. Ela pode ser representada por novos tipos de estruturas, tais como as informações
de natureza multimı́dia ou conjuntos de dados tradicionais, as séries temporais e dados
geográficos por exemplo. Os SGBDRs modernos precisaram incorporar tais dados complexos (como são chamados) e por isso surgiu a necessidade de desenvolver novas técnicas
para permitir o armazenamento e a recuperação desses objetos de forma eficiente.
Uma técnica empregada é a busca baseada nas consultas por similaridade. Estas
procuram, em um conjunto de dados, os elementos que, segundo algum critério de similaridade, sejam os mais “parecidos” a um determinado elemento. Uma área de vasta
aplicação é a saúde, onde um conjunto diverso de imagens e metadados é produzido por
diferentes equipamentos médicos, sendo necessário atender a diversos profissionais da
saúde [Azevedo Marques e Salomão 2009] em que se compara por similaridade séries de
sinais e imagens digitais de exames.
Neste contexto, questiona-se a relevância de utilizar o sistema de arquivos ou o
SGBDR para armazenar os dados complexos, mais precisamente as imagens médicas.
Este projeto de mestrado tem como objetivo desenvolver um conjunto finito de protótipos
envolvendo o armazenamento de imagens e metadados em sistemas de arquivos e bancos
de dados, avaliando o impacto que essas arquiteturas causam nas consultas por similaridade em imagens médicas. Para isso, será realizado um estudo de casos no protótipo
SImilarity Retrievel ENgine (SIREN) [Barioni 2006], modificando sua estrutura de armazenagem para trabalhar em diversas arquiteturas de armazenamento.
O restante deste artigo está estruturado em mais cinco seções. A Seção 2 descreve
o SIREN. A Seção 3 sintetiza os fundamentos e trabalhos correlatos. A Seção 4 e 5
descrevem a proposta e as atividades em andamento respectivamente. O artigo é concluı́do
na Seção 6 com as considerações finais e trabalhos futuros.
2. SIREN
O SIREN foi implementado para validar a adequação da proposta de extensão da linguagem SQL padrão para permitir a realização de consultas por similaridade. O protótipo
implementa um serviço entre um SGBDR convencional e os programas de aplicação. Este
serviço intercepta todo comando SQL enviado por uma aplicação, tratando as construções
sintáticas relacionadas às operações por similaridade [Barioni 2006].
O SIREN implementa um tipo de dado adicional aos tradicionais denominado
StillImage. Esse novo tipo de dado permite armazenar imagens e associá-las com diversos extratores e funções de distância. As consultas são agilizadas através da indexação
em métodos de acesso métricos. O SIREN suporta consultas por abrangência (Rq) e kvizinhos mais próximos (k-NN). O Rq retorna os elementos dentro de um certo limiar e o
k-NN retorna os k elemetos mais próximos do elemento de consulta. Uma consulta que
retorna as 5 imagens mais próximas utilizando uma métrica de textura na extensão de
SQL implementada pelo SIREN é a seguinte:
70
X Workshop de Teses e Dissertações em Banco de Dados
SELECT E.Id, E.Imagem
FROM Exame E
WHERE E.Foto NEAR ’C:\exemplo.jpq’
BY Textura STOP AFTER 5
Após identificar o tipo de consulta por similaridade e seus parâmetros, o interpretador informa ao indexador os extratores de caracterı́sticas da métrica especificada, a
função de distância e a estrutura de ı́ndice a serem utilizados na execução do comando. O
indexador retorna os identificadores das imagens que compõe o resultado final. O interpretador reescreve a consulta para SQL padrão que será interpretado pelo SGBDR.
3. Fundamentação e trabalhos correlatos
Em todo o mundo, os centros médicos organizam seus sistemas de informação para
que o fluxo de dados ocorra de forma consistente [Azevedo Marques e Salomão 2009]
[Petra Welter e Günther 2009]. No setor radiológico, os Sistemas de Informações Hospitalares (Hospital Information System – HIS) correspondem ao sistema de informação
mais geral e são responsáveis por auxiliar computacionalmente os procedimentos operacionais de um hospital, processando informações administrativas e relativas a pacientes
(exames e procedimentos médicos realizados). O sistema de informação intermediário
corresponde aos Sistemas de Informações Radiológicas (Radiology Information System
– RIS) e são responsáveis por controlar os processos básicos e de rotina do ambiente radiológico, manutenção da base de dados dos pacientes, geração de laudos e relatórios,
agendamento e geração de procedimentos. O sistema de informação mais especı́fico corresponde aos Sistemas de Comunicação e Arquivamento de Imagens (Picture Archiving
and Communication System – PACS), responsáveis pelo armazenamento, gerenciamento
e disponibilização das imagens médicas.
Atualmente existem vários sistemas disponı́veis para a manipulação de imagens
em geral que poderiam ser especializados para imagens médicas. Dentre os mais populares pode-se citar o QBIC, Virage, Photobook, Chabot, VisualSeek, SurfImage e Netra
[Rui et al. 1999]. Esses sistemas utilizam caracterı́sticas intrı́nsecas da imagem e metadados associados a ela para a extração de caracterı́sticas utilizadas nos cálculos de similaridade. Contudo esses sistemas precisam ser adaptados para se adequar a área médica, pois
suas métricas precisam garantir resultados precisos quando especializados em as imagens
médicas [Bhagat e Atique 2011].
Os sistemas voltados para consultas por similaridade em imagens médicas
utilizam o PACS como repositório de imagens e aplicam as extrações de caracterı́sticas no padrão DICOM (Digital Imaging and Communications in Medicine)
[Azevedo Marques e Salomão 2009]. Este padrão trata de diversos aspectos além da
imagem, incluindo o formato das imagens e o protocolo para a criação, acesso e principalmente a transmissão das imagens entre equipamentos e instituições. Em geral as
aplicações se apóiam em frameworks que suportam a manipulação de dados complexos,
tais como o Oracle Multimı́dia e PANDA [Bhagat e Atique 2011].
4. Proposta
Devido a complexidade de recursos e formas de armazenamento, nem toda a funcionalidade do PACS pode ser substituı́da pelo SGBD. Além disso, sendo um sistema proprietário, um PACS somente trabalha com as imagens que estão na estrutura de arquivos
71
X Workshop de Teses e Dissertações em Banco de Dados
que ele controla. Assim, não é possı́vel prescindir de um PACS em uma ambiente de
informatização hospitalar. Por outro lado, as imagens são mantidas num PACS independentemente uma das outras, de maneira que elas são requisitadas diretamente por seu
identificador unı́voco, registrado na realização do exame para que possam ser recuperadas posteriormente. Portanto mantê-las apenas no PACS dificulta e degrada muito as
consultas por conteúdo, seja sobre as imagens, seja sobre os dados de seus cabeçalhos.
A solução que vem sendo adotada é extrair o cabeçalho DICOM e replicálo na base de dados, guardando somente o endereço do arquivo contendo a imagem
no sistema de arquivos do PACS para recuperá-la [Guld et al. 2007, Stoian et al. 2008,
Kobayashi et al. 2009]. Estender essa abordagem ao SIREN implica em guardar o
cabeçalho também na base de dados. No entanto, essa abordagem torna o sistema muito
frágil quanto à consistência entre o que é mantido na base e os arquivos de imagens, uma
vez que uma imagem pode ser processada e/ou modificada no sistema de arquivos sem
que seja feita a atualização correspondente na base de dados. A Figura 1 ilustra como
ocorre atualmente o fluxo de dados entre os sistemas.
Figura 1. Uma consulta por similaridade requer uma base com os vetores de
caracterı́sticas e demais dados extraı́dos do DICOM. Os sistemas processam a
consulta com os dados do SGBD, acessando as imagens escolhidas no PACS.
A abordagem atual adotada pelo SIREN é manter todo o conjunto de dados, inclusive as imagens, dentro do SGBD. As tabelas definidas pelo usuário que contenham
objetos do tipo StillImage são modificadas pelos interpretador de comandos quando instanciadas. Cada atributo StillImage é substituı́do por uma referência a uma tabela controlada pelo SIREN. Cada referência possui um identificador, o atributo BLOB que armazena
a imagem e o conjunto de atributos que armazenam as caracterı́sticas extraı́das pelos extratores utilizados em cada métrica associada ao tipo StillImage. Esta reorganização de
tabelas é transparente ao usuário, pois as consultas são realizadas sobre as tabelas originalmente definidas pelo usuário como ilustra o exemplo na Seção 2.
Neste projeto, pretende-se avaliar mais precisamente o impacto das duas abordagens, e buscar medidas que possam ser adotadas para aliviar os problemas de cada uma.
Espera-se que este estudo permita identificar a influência da arquitetura do SGBDR, seus
mecanismos de otimização e consistência, sobre a eficiência nas consultas por similaridade. As atividades estão concentradas na definição das arquiteturas de armazenamento;
72
X Workshop de Teses e Dissertações em Banco de Dados
realização de consultas por similaridade e avaliação e comparação dos desempenhos. Os
métodos de avaliação das propostas irão comparar o tempo, consistência e escalabilidade
das consultas realizadas em cada arquitetura, utilizando o conjunto de dados fornecidos
pelo Hospital das Clı́nicas da Faculdade de Medicina de Ribeirão Preto (HCFMRP).
5. Atividades em andamento
As atividades em andamento estão concentradas no estudo, definição e implementação
das arquiteturas de armazenamento.
Foram propostas três arquiteturas para armazenar os dados no SIREN. Todos os
cenários dividem os dados em três grupos: o grupo das tabelas definidas pelo usuário, o
grupo das tabelas com os vetores de caracterı́sticas extraı́das da imagem, e o grupo de
repositório de imagens. A tabela de usuário possui todos os atributos tradicionais associados à imagem e para cada tipo StillImage existe referências para os outros dois grupos
de dados. A tabela com os vetores de caracterı́sticas possui a referência ao StillImage e
o vetor de caracterı́stica extraı́dos da imagem pela métrica definida na tabela de usuário.
O repositório possui a referência ao StillImage e armazena as imagens. O grupo de repositório de imagens é detalhado a seguir para cada cenário de arquitetura (Figura 2).
Figura 2. Arquiteturas propostas. (a) Imagens por atributo e (b) Imagens globais,
ambos dentro do SGBDR; (c) Imagens globais dentro do sistema de arquivos.
O primeiro cenário, Figura 2(a), armazena as imagens dentro do SGBDR por atributo StillImage. Para cada StillImage instanciado, a imagem correspondente é armazenada no banco. Isso permite que uma mesma imagem seja armazenada mais de uma vez.
Isto ocorre, por exemplo, quando se aplica diferentes métricas para a mesma imagem.
O segundo cenário, Figura 2(b), busca reduzir o volume de imagens armazenadas
causado pelo primeiro cenário. Logo, diferentes instâncias do StillImage podem referenciar a mesma imagem. No entanto, é necessário um número maior de referências com as
tabelas de atributo e usuário, fortalecendo a correlação entre os atributos.
Já o terceiro cenário, Figura 2(c) busca simular a situação atual dos sistemas de
consultas por similaridades que utilizam o PACS. Todas as imagens estão no sistema de
arquivos e são referênciadas conforme os vetores de caracterı́sticas relacionados a cada
imagem.
73
X Workshop de Teses e Dissertações em Banco de Dados
O SGBDR utilizado para implementar as arquiteturas é o Oracle Database 11g e
as imagens inseridas no formato BLOB. Os sistema de arquivos é o NTFS e o conjunto de
imagens é formado por 800 imagens de exames de tomografia computadorizada, divididas
em quatro classes com 200 imagens cada: crânio axial, crânio coronal, crânio sagital e
espinha sagital. As imagens foram fornecidas pelo setor radiológico do HCFMRP.
6. Considerações finais e próximas atividades
Os sistemas de apoio a área médica tem atraı́do bastante interesse devido ao grande volume de dados produzidos, processados e armazenados nos setores hospitalares. Contudo
o sistema PACS utilizado para o armazenamento dos dados não viabiliza consultas por
similaridade. Desta forna, os centros de pesquisa o utilizam para acessar as imagens
mas processam grande parte da consulta em aplicativos especı́ficos que usam repositórios
próprios. Este projeto de mestrado concentra-se em responder o questionamento que diz
respeito a avaliar técnicas de armazenagem das imagens internamente a base de dados,
por meio de um estudo de casos envolvendo diferentes cenários na plataforma SIREN.
As próximas atividades a serem realizadas envolvem o término da implementação
dos cenários e aplicação de consultas por similaridade, utilizando uma mesma base de
dados real obtida em pesquisa colaborativa com o HCFMRP. As consultas irão emular as
consultas reais realizadas pelos profissionais de saúde. Isso implica em consultas mais
elaboradas, pois envolvem atributos tradicionais e complexos. A complexidade das consultas afetam diretamente os acessos a disco, podendo apresentar comportamentos diferentes dependendo do repositório de imagens. Por fim, a validação será realizada conforme o tempo, consistência e escalabilidade das consultas realizadas em cada cenário.
Referências
Azevedo Marques, P. M. D. e Salomão, S. C. (2009). PACS : Sistemas de Arquivamento
e Distribuição de Imagens. Rev Bras Fis Med, 3(1):131–139.
Barioni, M. C. N. (2006). SIREN : A Similarity Retrieval Engine for Complex Data.
InterMedia, pages 1155–1158.
Bhagat, A. P. e Atique, M. (2011). Medical image retrieval, indexing and enhancement
techniques: a survey. In ICCCS’11, pages 387–390. ACM.
Guld, M. O., Thies, C., Fischer, B., e Lehmann, T. M. (2007). A generic concept for the
implementation of medical image retrieval systems. IJMI, 76:252–259.
Kobayashi, L. O. M., Furuie, S. S., e Barreto, P. S. L. M. (2009). Providing integrity and
authenticity in DICOM images: a novel approach. IEEE TITB, 13:582–589.
Petra Welter, Thomas M. Deserno, B. F. B. B. W. B. O. e Günther, R. W. (2009). Integration of cbir in radiological routine in accordance with ihe. 7264(1):726404.
Rui, Y., Huang, T. S., e Chang, S.-F. (1999). Image retrieval: Current techniques, promising directions, and open issues. JVCIR, 10(1):39–62.
Stoian, A., Ivan, R., Stoian, I., e Marichescu, A. (2008). Current trends in medical imaging acquisition and communication. In AQTR ’08, pages 94–99. IEEE.
74
Download

WTD-SBBD-2011-Um middleware para Gestão e Execução de