Universidade Federal de Campina Grande - UFCG Centro de Engenharia Elétrica e Informática - CEEI Departamento de Sistemas e Computação – DSC Pós-Graduação em Informática – COPIN Disciplina: Mineração de Dados Professor: Marcus Sampaio GISMEDIA: UM ORGANIZADOR SEMI-AUTOMÁTICO DE FOTOS GEOREFERENCIADAS HUGO FEITOSA DE FIGUEIRÊDO Campina Grande, Novembro de 2007 Sumário 1 O Problema................................................................................................................ 3 2 A Proposta de Solução do Problema ......................................................................... 3 2.1 3 Qual é a tarefa de mineração? .......................................................................... 5 O Processo de Mineração.......................................................................................... 7 3.1 Preparação de Dados ........................................................................................ 7 3.2 Transformação de Dados .................................................................................. 7 3.3 Garimpagem ...................................................................................................... 7 3.4 Análise e Assimilação ........................................................................................ 8 4 O Oráculo................................................................................................................... 8 5 Conclusões................................................................................................................. 8 Apêndices ......................................................................................................................... 8 A.1 Os Dados............................................................................................................ 8 A.2 Os Dados Preparados ........................................................................................ 9 A.3 Os Dados Transformados .................................................................................. 9 A.3 “Logs” das Execuções ........................................................................................ 9 A.4 [O código fonte do programa Oráculo] ............................................................. 9 A.5 [O instalador do programa Oráculo] ................................................................. 9 A.6 [O conjunto de previsão] ................................................................................... 9 1 O Problema A proliferação de câmeras digitais e o baixo custo de armazenamento de dados fez aumentar rapidamente a quantidade de arquivos de mídia, sendo que estes necessitam ser armazenados e posteriormente recuperados. Com isso, os usuários destas máquinas cada vez mais possuem dificuldades em organizar a grande quantidade de arquivos, muitas vezes não conseguindo localizar algumas fotos de um determinado evento. O usuário deseja armazenar, localizar, visualizar e compartilhar suas fotos, sendo que uma biblioteca digital multimídia provê estas funções. Sendo uma forma de localizar as fotos facilmente, a realização de anotações nos metadados das fotos, podendo estas anotações ser feitas de diversas formas, como a partir de informações técnicas da câmera digital no momento da captura, ou até informações sobre a semântica da foto. Alguns exemplos de informações que podem ser utilizadas nos metadados das fotos são: horário, localização geográfica, foco da câmera, tempo de exposição, flash, pessoas presentes na foto, entre outras. Para realizar anotações em fotos a três possibilidades, a inserção automática, semiautomática e manual. Mas os usuários não desejam demandar esforços para realizar essas anotações, ou seja, eles desejam que o sistema por si só capture informações semânticas das fotos. Com isso, câmeras digitais mais modernas capturam um conjunto de informações do contexto da foto automaticamente, como: data, hora e localização geográfica. Alguns estudos mostram que o evento e a posição geográfica são as características mais marcantes para os usuários recordarem de uma foto. Então há estudos para realizar a organização de uma coleção de fotos automaticamente baseado nessas informações, como no PhotoCompas [1]. Com isso, o usuário necessita de um sistema que o auxilie a organizar suas fotos baseadas nas informações de contexto contidas nos metadados das fotos, principalmente na informação de localização geográfica e horário da foto. 2 A Proposta de Solução do Problema Neste projeto é proposta a criação de um sistema de organização de fotos com informações geográficas e temporais, a fim de fornecer ao usuário um mecanismo para uma melhor gerência de sua coleção de fotos. O sistema deverá suportar o monitoramento de pastas do sistema de arquivos para assim organizar automaticamente as fotos nelas contidas. A partir deste monitoramento, o sistema deverá organizar as fotos levando em consideração tanto a localização como também a data, separando as fotos em eventos automaticamente. O sistema de organização será baseado em algoritmos de classificação das fotos, sendo possível ocorrer classificações erradas de fotos em determinados eventos ou até a criação de eventos inexistentes. Caso venha a ocorrer alguma destas inconsistências, o sistema deverá permitir que o usuário manualmente corrija esses problemas de maneira simples e intuitiva. Ou seja, o sistema também deverá prover ao usuário a possibilidade de criação de eventos de forma manual. Na Figura 2.1 é apresentada a arquitetura proposta para o sistema, na qual o GISMedia recebe como entrada uma coleção de fotos e retorna como saída as fotos classificadas, sendo a classificação baseada nas informações de localização geográfica e temporal das fotos. Inicialmente as fotos são classificadas espacialmente e posteriormente são segmentadas no tempo. Sendo que para a execução destas tarefas são utilizados dois algoritmos um de agrupamento – para a classificação espacial – e um de segmentação – para a classificação temporal. Figura 2.1 – Arquitetura do GISMedia. 2.1 Qual é a tarefa de mineração? Para realizar a classificação das fotos foram escolhidas duas etapas: a primeira é a de classificação espacial das fotos georeferenciadas e a segunda é de classificação temporal das fotos obtidas da primeira classificação. Tendo como objetivo obter no final das duas classificações uma hierarquia de eventos com as fotos como elementos folhas (ver Figura 2.2). Figura 2.2 – Hierarquia de fotos. Para a realização de uma classificação em mineração de dados existem duas opções, que é a de classificação supervisionada e a de classificação não-supervisionada. A supervisionada é quando se possui um atributo o qual se deseja que os objetos sejam classificados em relação aos valores possíveis deste atributo. Já na não-supervisionada são criados grupos com os objetos mais semelhantes, sem a necessidade da escolha de uma classe para a classificação. Dessa forma, o método que caracteriza o problema descrito anteriormente é o de classificação não-supervisionada, pois não existe uma classe a qual cada objeto deve ser classificado e sim os objetos devem ser agrupados em grupos com maiores semelhanças. Para a realização da classificação não-supervisionada foram escolhidas duas abordagens diferentes para uma comparação a ser feita posteriormente. A primeira abordagem é a de classificação não-supervisionada baseada em particionamento, sendo escolhido o algoritmo K-means como representante desta abordagem. A segunda abordagem a ser experimentada é a baseada em densidade, sendo escolhido o algoritmo DBSCAN para esta tarefa. Para a realização deste experimento foi escolhida uma coleção de fotos georeferenciadas e distribuídas no tempo, havendo algumas fotos consideradas pontos fora da curva, para obter-se maior realismo. A idéia central é que o usuário adicione fotos no sistema e este se encarregue de organizá-las somente na primeira vez que estas forem inseridas, para que posteriormente o usuário possua a opção de alterar a hierarquia de fotos geradas pelo sistema. Além disso, será necessário que os nomes dos eventos sejam descritos de maneira lógica para que o usuário consiga detectar rapidamente que evento foi aquele e possa alterar o nome do evento se desejado. O K-means identifica classes de objetos com características semelhantes, sendo estas o mais próximo de um determinado centróide, que é detectado durante a execução do algoritmo e dependendo dos centróides escolhidos inicialmente, poderão ser obtidos resultados diferentes, além disso, o K-means exige que seja passado como parâmetro o número de clusters que serão detectados durante a execução do algoritmo. Com isso, será necessário que o algoritmo seja executado mais de uma vez para ser realizada uma comparação entre os resultados obtidos nas duas execuções. O DBSCAN utiliza a idéia de densidade de objetos para selecionar as áreas com maior densidade de objetos, podendo-se obter áreas com formatos variados e não somente circulares como é o caso do K-means. Com isso, são esperados resultados mais interessantes com o DBSCAN para este problema, mas isto só poderá ser confirmado após a realização dos experimentos. Para a execução do algoritmo será utilizada a biblioteca Weka de algoritmos de mineração de dados, que possui diversos algoritmos de mineração, entre eles alguns de agrupamento. Para a classificação temporal será realizada uma segmentação do tempo baseado na média e desvio padrão dos horários das fotos, sendo utilizada esta abordagem para simplificação do sistema. Numa próxima etapa serão testadas outras técnicas de classificação temporal das fotos. 3 O Processo de Mineração 3.1 Preparação de Dados O arquivo fornecido estaria preparado para a tarefa? Muito provavelmente, não! 3.2 Transformação de Dados O arquivo, uma vez preparado, estaria em um formato adequado? Muito provavelmente, não! 3.3 Garimpagem Para cada algoritmo adequado à tarefa: 1. Execute o algoritmo para os dados preparados e transformados 2. Salve o modelo induzido 3.4 Análise e Assimilação Avalie cada modelo induzido, segundo os critérios: Relevância Simplicidade Acurácia Escolha o melhor modelo induzido. 4 O Oráculo 5 Conclusões 6 Referências Bibliográficas [1] Mor Naaman, Yee Jiun Song, Andreas Paepcke, Hector Garcia-Molina. Automatic Organization for Digital Photographs with Geographic Coordinates. In proceedings, Fourth ACM/IEEE-CS Joint Conference on Digital Libraries, (JCDL 04), June 2004. Apêndices A.1 Os Dados A.2 Os Dados Preparados A.3 Os Dados Transformados A.3 “Logs” das Execuções A.4 [O código fonte do programa Oráculo] A.5 [O instalador do programa Oráculo] A.6 [O conjunto de previsão]