·

Sistemas de Informação ·

Estrutura de Dados

Send your question to AI and receive an answer instantly

Ask Question

Preview text

Instituto Federal do Espírito Santo IFES Campus Serra Coordenadoria de Informática Cin Trabalho de Programação 2 TADs Listas encadeadas Recuperação de imagens baseada no conteúdo Valor 35 pontos 5 pontos extra 1 Deadline 20 de Junho de 2023 Prof Thiago M Paixão thiagopaixaoifesedubr 1 Introdução O objetivo deste trabalho é trabalhar o conceito de TADs e listas encadeadas para gerenciar uma base de imagens Em particular queremos possibilitar a busca de imagens baseada no seu conteúdo Contentbased Image Retrieval CBIR2 Diferente da busca baseada em metadados que utiliza descri ções textuais da imagem CBIR envolve a recuperaração de imagens utilizando somente o conteúdo derivado dos pixels da imagem isto é o conteúdo visual inerente à imagem Esse tema é ampla mente estudado e documentado na literatura como pode ser observado na revisão de literatura disponível em httpsgithubcomwillardyuanawesomecbirpapers A realização deste trabalho compreende a captura e organização de imagens por localidade extração dos descritores para indexação e consulta de imagens Os detalhes são apresentados nas próximas seções 2 Organização da Base de Dados Uma sugestão de organização da base de dados está ilustrada nas Figuras 1 2 e 3 As imagens da base serão armazenadas efetivamente em base as imagens de consulta estarão em query e as imagens de resultado de uma consulta serão gravadas em results Figura 1 Organização geral da base de dados A Figura 2 descreve a estrutura de base img contém as imagens estruturadas pela localidade extractor1 extractorn armazenam os arquivos txt com os descritores das ima gens para cada extrator isto é a representação simplificada descritor que servirá de índice para o sistema de busca Por fim a Figura 3 exibe a estrutura de img onde as imagens são organizadas pela localidade 1Pontuação definida com cada grupo de acordo com as funcionalidades extras propostas 2httpsenwikipediaorgwikiContentbasedimageretrieval 1 Figura 2 Organização da base de dados base Figura 3 Organização das imagens por localidade img 3 Extração de Descritores Descritores visuais são representações simplificadas que capturam caracterísiticas essenciais de uma imagem Em um sistema CBIR de localidades o extrator deve ser robusto para que dada uma imagem de consulta sejam recuperadas imagens da mesma localidade capturadas sob diversas condições ângulo iluminação etc Além disso o extrator deve discriminativo o suficiente para diferenciar imagens de localidades diferentes mesmo que se assemelhem à imagem de busca Para tratar disso diversos extratores tem sido desenvolvidos ao longo do tempo Para fins didáticos você pode utilizar extração baseada em histograma de níveis de cinza de uma imagem 3 No entanto é importante ressaltar que o histograma pode não ser a melhor opção para essa tarefa e é recomendado realizar uma pesquisa para compreender as razões por trás disso 4 Funcionamento do Sistema A seguir é descrito o funcionamento do sistema que compreende basicamente dois estágios inde xação das imagens e consulta query 41 Indexação das Imagens A indexação das imagens é realizada offline por um programa específico que itera sobre4 os arqui vos no diretório img extrai as caraterísticas de cada uma delas de acordo com o extrator j e grava os resultados em extractorj Uma sugestão é utilizar argumentos em linha de comando con forme exemplo a seguir para usuários Linux indeximages histogramextractor Esse comando realiza as seguintes ações Varre as imagens do diretório img Armazena as imagens numa lista encadeada Extrai os descritores de cada imagem da lista e os grava no diretório histogramextractor Gera o arquivo indexhistogramextractortxt Tabela 1 que faz a associação entre uma imagem o descritor baseado em histograma dessa imagem e a localidade correspon dente à imagem 3httpsenwikipediaorgwikiImagehistogram 4Verifique em httpswwwgnuorgsoftwarelibcmanualhtmlnodeSimpleDirectoryLister html como listar arquivos de um diretório 2 número de imagens caminhoparaimagem1 caminhoparadescritor1 localidade1 caminhoparaimagem2 caminhoparadescritor2 localidade2 caminhoparaimagemn caminhoparadescritorn localidaden Tabela 1 Arquivo de indíces indexdescritorjtxt 42 Consulta A consulta query pode ser feita com qualquer imagem do diretório query Uma sugestão de uso seria o comando query caminhoparaimagemdeconsulta histogramextractor 5 que realiza as seguintes ações Carrega os descritores associados ao extrator histogramextractor em uma lista encadeada os descritores devem ser implementados como TAD do tipo estrutura com um campo que iden tifica a respectiva localidade Extrai o índice descritor da imagem de consulta Verifica os 5 índices mais similares top5 utilizando distância euclidiana e grava as respectivas imagens em results Exibe na tela as top5 localidades resultantes da busca 5 Critérios de avaliação Os critérios de avaliação são os seguintes 1 Modularização 5 pontos 2 Estilo e organização do código 1 ponto 3 Uso adequado de TADs 10 4 Documentação 4 5 Funcionalidade extras combinadas com o professor até 5 pontos 6 Apresentação fator real α 0 1 7 Correção β 1 se não houve falhas e β 0 caso contrário 8 Dias de atraso d A nota será calculada utilizando a equação nota 1 d5 α β P onde P é a soma dos pontos dos critérios 1 a 5 É importante notar que a nota será zerada após 5 dias de atraso 6 O que entregar 1 Um link para um repositório git com código fonte e a documentação 2 A documentaçãorelatório será feita no próprio arquivo README do repositório e deverá explicar a estrutura de diretórios que você escolheu como executar o programa e descrição das principais estruturas de dados 3 Bom trabalho