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 Problema ................................................................................................................... 4 2 Solução ...................................................................................................................... 5 2.1 3 Qual é a tarefa de mineração? .......................................................................... 6 Processo de Mineração ............................................................................................. 8 3.1 Preparação de Dados ........................................................................................ 8 3.2 Transformação de Dados .................................................................................. 9 3.3 Garimpagem ...................................................................................................... 9 3.3.1 K-Means........................................................................................................ 9 3.3.2 DBSCAN ...................................................................................................... 15 3.4 Análise e Assimilação ...................................................................................... 16 3.4.1 K-means ...................................................................................................... 16 3.4.2 DBSCAN ...................................................................................................... 21 4 O Organizador de Fotos........................................................................................... 22 5 Conclusões............................................................................................................... 22 6 Referências Bibliográficas ....................................................................................... 22 Apêndice A...................................................................................................................... 22 A.1. Os Dados.............................................................................................................. 22 A.2. “Logs” das Execuções .......................................................................................... 23 A.3. Código fonte do GISMedia .................................................................................. 23 A.4. Instalador do GISMedia ....................................................................................... 23 A.5. Conjunto de previsão .......................................................................................... 23 1 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, podendo-se utilizar uma biblioteca digital multimídia como provedor destas funcionalidades. 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 existem três possibilidades, a inserção automática, semi-automá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. Um evento é caracterizado pela situação contextual do usuário no momento da captura da foto. Algumas informações contextuais podem ser capturadas do usuário podem ser capturadas pela própria câmera no momento da captura, como o horário e a localização geográfica e algumas outras informações podem ser obtidas a partir de fontes externas a foto, como a agenda do usuário no momento da foto. 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 Solução 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. No âmbito do sistema a ser desenvolvido somente as informações de posição geográfica e temporais da foto serão utilizadas para caracterizar um evento, não sendo utilizadas outras informações contextuais de fontes externas aos metadados das fotos. 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. Além da possibilidade destes ajustes manuais que o PhotoCompas não permite, serão analisadas outras formas de classificação de fotos, que poderão obter resultado melhores do que a proposta pelo PhotoCompas. 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. Para a execução destas tarefas são utilizados dois algoritmos, o primeiro de agrupamento – para a classificação espacial – e o segundo de segmentação – para a classificação temporal. Como resultado final, será obtida uma classificação espaço-temporal das fotos, caracterizando o conceito de evento levantado neste relatório. 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. Dessa forma, no final das duas etapas será obtida uma hierarquia de eventos com as fotos como elementos folhas (ver Figura 2.2). Figura 2.2 – Hierarquia de eventos. 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 Processo de Mineração 3.1 Preparação de Dados O arquivo utilizado para o processo de mineração de dados foi gerado a partir de fotos pessoais, sendo carregados os metadados destas e armazenados em um arquivo do tipo CSV que é facilmente transformado para o formato arff, que é o utilizado pelo Weka para executar os algoritmos de classificação. O arquivo no formato arff gerado (Apêndice A.1) possui os dados organizados da seguinte forma: Pasta Nome Latitude Longitude Timestamp O atributo “pasta” é a localização da foto atualmente, sendo este utilizado para uma comparação posterior com os grupos obtidos da classificação não supervisionada. Este atributo não é utilizado na tarefa de mineração de dados, somente é utilizado para posterior comparação. O atributo “nome” é o nome da foto, sendo este utilizado para identificar unicamente a foto e para conseguir referenciá-la posteriormente. Este atributo também não é utilizado no processo de mineração, somente é utilizado posteriormente pelo programa a ser gerado para referenciar a foto. Os atributos “latitude” e “longitude“ identificam a posição geográfica das fotos, sendo estes atributos utilizados no processo de mineração para a classificação não supervisionada das fotos. O atributo “timestamp” é a representação temporal da foto, sendo este atributo em algumas execuções utilizado para analisar os efeitos de agrupamento com e sem o atributo temporal participando. 3.2 Transformação de Dados Não houve a necessidade de transformação dos dados, pois todas as fotos adicionadas para o processo de mineração já estavam de acordo com todas as especificações necessárias pelo sistema, que são a existência de uma localização geográfica associada à foto e o horário da captura da imagem. 3.3 Garimpagem 3.3.1 K-Means Inicialmente, foi realizado o agrupamento utilizando o K-means para os dados de teste utilizados para este experimento. A escolha do valor de K (número de grupos a ser gerado) é um problema identificado para este algoritmo, com isso, foi realizado o experimento com diversos valores de K, sendo observado o comportamento com cada valor selecionado. Como era de se esperar, quanto menor o valor de K maiores as áreas selecionadas para os grupos, com isso, os resultados obtidos com os valores de K maiores se saíram melhores, sendo que em determinado momento fotos muito próximas são colocadas em grupos diferentes devido à grande quantidade de grupos selecionados. Com isso, para a análise deste algoritmo foi escolhido o valor vinte para o número de grupos retornados pelo K-means, pois este valor é a quantidade de pastas existentes nos dados de testes utilizados para este experimento. Dessa forma, é esperado que os resultados se aproximem mais do esperado, que é cada grupo possuir apenas uma pasta e as fotos de uma pasta estarem incluídas somente em um grupo. O K-means foi executado no Weka com três valores de sementes diferentes: três, sete e dez. Para cada valor de semente escolhido, o k-means retornou um resultado diferente, como pode ser observado nos valores das somas dos erros ao quadrado. Com a semente igual a três, o algoritmo retornou o valor 2.625214746496043E-4, já com a semente igual a sete, foi retornado o valor 9.127879725546387E-4 e para dez o valor 7.386551856803799E-4. O modelo induzido para o conjunto de dados utilizado neste experimento na execução do algoritmo K-means no Weka para cada valor de semente foi: Para semente igual a três: o o o o o o o o Cluster 0 Mean/Mode: -7.1815 -36.0017 Std Devs: 0 0 Cluster 1 Mean/Mode: -7.2802 -39.44 Std Devs: 0 0 Cluster 2 Mean/Mode: -7.2192 -35.9094 Std Devs: 0 0 Cluster 3 Mean/Mode: -7.2222 -35.8822 Std Devs: 0.0027 0.0011 Cluster 4 Mean/Mode: -7.2423 -39.3264 Std Devs: 0.0001 0.0002 Cluster 5 Mean/Mode: -7.2498 -39.4468 Std Devs: 0 0 Cluster 6 Mean/Mode: -7.2016 -39.3196 Std Devs: 0 Cluster 7 0 o o o o o o o o o o o Mean/Mode: -9.6584 -35.6982 Std Devs: 0 0 Cluster 8 Mean/Mode: -7.2406 -39.4179 Std Devs: 0 0 Cluster 9 Mean/Mode: -7.181 -36.0016 Std Devs: 0 0 Cluster 10 Mean/Mode: -7.2398 -39.4142 Std Devs: 0.0001 0.0001 Cluster 11 Mean/Mode: -7.0352 -34.855 Std Devs: 0 0 Cluster 12 Mean/Mode: -7.2384 -39.4176 Std Devs: 0 0 Cluster 13 Mean/Mode: -7.2407 -39.4178 Std Devs: 0 0 Cluster 14 Mean/Mode: -7.1119 -34.8235 Std Devs: 0 0 Cluster 15 Mean/Mode: -7.2391 -39.4141 Std Devs: 0 0.0005 Cluster 16 Mean/Mode: -7.0652 -34.8422 Std Devs: 0.0106 0.0008 Cluster 17 Mean/Mode: -7.1117 -34.8228 Std Devs: 0 0 Cluster 18 Mean/Mode: -7.2318 -39.4 Std Devs: 0 0 o Cluster 19 Mean/Mode: -7.247 -35.8725 Std Devs: 0.0035 0.0036 Para semente igual a sete: o o o o o o o o o o o Cluster 0 Mean/Mode: -7.2423 -39.3264 Std Devs: 0.0001 0.0002 Cluster 1 Mean/Mode: -7.2318 -39.4 Std Devs: 0 0 Cluster 2 Mean/Mode: -7.2498 -39.4468 Std Devs: 0 0 Cluster 3 Mean/Mode: -7.247 -35.8725 Std Devs: 0.0035 0.0036 Cluster 4 Mean/Mode: -7.2282 -35.8819 Std Devs: 0.0001 0.0029 Cluster 5 Mean/Mode: -7.2408 -39.4178 Std Devs: 0 0 Cluster 6 Mean/Mode: -7.181 -36.0016 Std Devs: 0 0 Cluster 7 Mean/Mode: -9.6584 -35.6982 Std Devs: 0 0 Cluster 8 Mean/Mode: -7.1815 -36.0017 Std Devs: 0 0 Cluster 9 Mean/Mode: -7.2192 -35.9094 Std Devs: 0 Cluster 10 0 o o o o o o o o o Mean/Mode: -7.221 -35.8823 Std Devs: 0 0 Cluster 11 Mean/Mode: -7.2802 -39.44 Std Devs: 0 0 Cluster 12 Mean/Mode: -7.0375 -34.8539 Std Devs: 0.0071 0.0035 Cluster 13 Mean/Mode: -7.2016 -39.3196 Std Devs: 0 0 Cluster 14 Mean/Mode: -7.2406 -39.4179 Std Devs: 0 0 Cluster 15 Mean/Mode: -7.2384 -39.4176 Std Devs: 0 0 Cluster 16 Mean/Mode: -7.1097 -34.8246 Std Devs: 0.0075 0.0047 Cluster 17 Mean/Mode: -7.2393 -39.4141 Std Devs: 0.0004 0.0004 Cluster 18 Mean/Mode: -7.2407 -39.4178 Std Devs: 0 0 Cluster 19 Mean/Mode: -7.2407 -39.4178 Std Devs: 0 0 Para semente igual a dez: o o Cluster 0 Mean/Mode: -7.2222 -35.8822 Std Devs: 0.0027 0.0011 Cluster 1 Mean/Mode: -9.6584 -35.6982 o o o o o o o o o o o o Std Devs: 0 0 Cluster 2 Mean/Mode: -7.2802 -39.44 Std Devs: 0 0 Cluster 3 Mean/Mode: -7.2423 -39.3263 Std Devs: 0 0 Cluster 4 Mean/Mode: -7.2407 -39.4178 Std Devs: 0 0 Cluster 5 Mean/Mode: -7.2016 -39.3196 Std Devs: 0 0 Cluster 6 Mean/Mode: -7.2384 -39.4176 Std Devs: 0 0 Cluster 7 Mean/Mode: -7.2192 -35.9094 Std Devs: 0 0 Cluster 8 Mean/Mode: -7.0375 -34.8539 Std Devs: 0.0071 0.0035 Cluster 9 Mean/Mode: -7.1118 -34.8233 Std Devs: 0.0001 0.0003 Cluster 10 Mean/Mode: -7.1815 -36.0017 Std Devs: 0 0 Cluster 11 Mean/Mode: -7.247 -35.8725 Std Devs: 0.0035 0.0036 Cluster 12 Mean/Mode: -7.2498 -39.4468 Std Devs: 0 Cluster 13 0 o o o o o o Mean/Mode: -7.181 -36.0016 Std Devs: 0 0 Cluster 14 Mean/Mode: -7.2393 -39.4141 Std Devs: 0.0004 0.0004 Cluster 15 Mean/Mode: -7.2408 -39.4178 Std Devs: 0 0 Cluster 16 Mean/Mode: -7.2422 -39.3271 Std Devs: 0 0 Cluster 17 Mean/Mode: -7.2406 -39.4179 Std Devs: 0 0 Cluster 18 Mean/Mode: -7.0839 -34.8408 Std Devs: 0 0 Cluster 19 Mean/Mode: -7.2318 -39.4 Std Devs: 0 0 3.3.2 DBSCAN A segunda abordagem a ser escolhida foi a de agrupamento baseado em densidade, sendo utilizado o algoritmo DBSCAN para a realização deste experimento. O DBSCAN possui dois parâmetros de entrada, sendo o primeiro o número mínimo de elementos que um grupo possui e o segundo o valor de epsilon. Como a detecção de pontos fora da curva não é de interesse do sistema, pois todas as fotos devem ser armazenadas em alguma pasta de evento, então o valor do número mínimo de elementos que um grupo pode possuir é um. Em relação ao segundo parâmetro epsilon, o valor padrão que o Weka fornece não retornou bons resultados, pois ele não separa os eventos que estão em localizações próximas em relação a outros, com isso, foi escolhido valores menores para o epsilon para a coleta de resultados do DBSCAN. O epsilon corresponde à distância máxima que um elemento vai ter do próximo elemento do grupo. Dessa forma, foi escolhido o valor para epsilon de 1Km, mas como os dados estão em graus, então deve ser adicionado como valor de epsilon o valor correspondente a 1Km em graus. Para ser feita esta transformação foi assumido que a Terra é redonda e que as fotos estão localizadas no equador. Dessa forma, considerando que a circunferência da Terra no equador mede 40.075 Km, então cada grau de longitude representa 111,32 Km (40.075/360), então 1Km equivale a 0,00898 (regra de três simples). Dessa forma o valor de epsilon utilizado para este experimento foi de 0,00898. Como pode ser observado na Figura 3.1, foram obtidos 11 grupos com a execução do DBSCAN, sendo os parâmetros de entrada epsilon e minPoints, com os valores 0,00898 e 1, respectivamente. Figura 3.1 – Resultado obtido pelo DBSCAN (Longitude x Latitude). 3.4 Análise e Assimilação 3.4.1 K-means Os resultados obtidos com as execuções do algoritmo k-means, com os dados de teste utilizados para este experimento, são apresentados graficamente neste tópico. No eixo X dos gráficos estão os grupos criados e no eixo Y estão as pasta nas quais as fotos estão armazenadas. Cada retângulo no gráfico representa pastas diferentes cujas fotos foram classificadas no mesmo grupo, podendo este problema ser resolvido na próxima etapa que é a de segmentação temporal. Já as elipses representam pastas que tiveram suas fotos divididas em mais de um grupo, sendo que este problema só poderá ser resolvido de forma manual pelo usuário posteriormente. Figura 3.2 – Resultado do k-means sem o timestamp com semente 10 (Cluster X Pasta). Pastas divididas em mais de um grupo na Figura 3.2 (representadas por elipses), de cima para baixo: 2007_-_10_-_19_-_SBBD_-_João_Pessoa; 2007_-_07_-_12_-_Casamento_de_Leo_e_Andréia; 2006_-_12_-_24_-_Natal__Crato; 2006_-_09_-_07_-_Feriado_de_7_de_Setembro. Pastas adicionadas num mesmo grupo na Figura 3.2 (representadas por retângulos), da esquerda para a direita: Pastas unidas no grupo 0: o 2006_-_08_-_11_-_Magia_do_Verde; o 2006_-_08_-_22_-_Aniversario_de_Juliana; o Dia_16_-_Missa. Pastas unidas no grupo 4: o 2006_-_09_-_07_-_Feriado_de_7_de_Setembro; o 2007_-_09_-_15_-_Aniversário_Mainha. Pastas unidas no grupo 7: o 2006_-_08_-_26_-_Aquecimento_para_Calourada; o 2007_-_03_-_21_-_Grade_de_Romulo. Pastas unidas no grupo 9: o 2007_-_03_-_Passeio_a_João_Pessoa; o 2007_-_10_-_19_-_SBBD_-_João_Pessoa. Pastas unidas no grupo 17: o 2007_-_08_-_Dia_das_mães; o 2007_-_01_-_20_-_Renovação. Figura 3.3 - Resultado do k-means sem o timestamp com semente 3 (Cluster X Pasta). Pastas divididas em mais de um grupo na Figura 3.3 (representadas por elipses), de cima para baixo: 2007_-_10_-_19_-_SBBD_-_João_Pessoa 2007_-_07_-_Expocrato 2007_-_07_-_12_-_Casamento_de_Leo_e_Andréia 2007_-_03_-_Passeio_a_João_Pessoa 2006_-_12_-_24_-_Natal__Crato 2006_-_09_-_07_-_Feriado_de_7_de_Setembro Pastas adicionadas num mesmo grupo na Figura 3.3 (representadas por retângulos), da esquerda para a direita: Retângulo 1: o 2007_-_03_-_21_-_Grade_de_Romulo o 2006_-_08_-_26_-_Aquecimento_para_Calourada Retângulo 2: o Dia_16_-_Missa o 2006_-_08_-_22_-_Aniversario_de_Juliana o 2006_-_08_-_11_-_Magia_do_Verde Retângulo 3: o 2007_-_07_-_12_-_Casamento_de_Leo_e_Andréia o 2006_-_12_-_24_-_Natal__Crato Retângulo 4: o 2007_-_08_-_Dia_das_mães o 2007_-_01_-_20_-_Renovação Retângulo 5: o 2007_-_09_-_15_-_Aniversário_Mainha o 2006_-_09_-_07_-_Feriado_de_7_de_Setembro o 2006_-_07_-_22_-_Noivado_-_Melina_e_Marcos Retângulo 6: o 2007_-_10_-_19_-_SBBD_-_João_Pessoa o 2007_-_03_-_Passeio_a_João_Pessoa Figura 3.4 - Resultado do k-means sem o timestamp com semente 7 (Cluster X Pasta). Pastas divididas em mais de um grupo na Figura 3.4 (representadas por elipses), de cima para baixo: 2007_-_07_-_12_-_Casamento_de_Leo_e_Andréia 2007_-_03_-_Passeio_a_João_Pessoa 2006_-_12_-_24_-_Natal__Crato 2006_-_09_-_07_-_Feriado_de_7_de_Setembro Pastas adicionadas num mesmo grupo na Figura 3.4 (representadas por retângulos), da esquerda para a direita: Retângulo 1: o 2007_-_07_-_12_-_Casamento_de_Leo_e_Andréia o 2006_-_12_-_24_-_Natal__Crato Retângulo 2: o 2006_-_08_-_22_-_Aniversario_de_Juliana o 2006_-_08_-_11_-_Magia_do_Verde Retângulo 3: o 2007_-_03_-_21_-_Grade_de_Romulo o 2006_-_08_-_26_-_Aquecimento_para_Calourada Retângulo 4: o 2007_-_08_-_Dia_das_mães o 2007_-_01_-_20_-_Renovação Retângulo 5: o 2007_-_10_-_19_-_SBBD_-_João_Pessoa o 2007_-_03_-_Passeio_a_João_Pessoa 3.4.2 DBSCAN Com o DBSCAN foi obtido um resultado próximo do obtido com o K-means, quando se é utilizado o número de elipses criadas como medida de acurácia do algoritmo. Mas com o DBSCAN, não foi necessário passar como parâmetro de entrada o número de grupos a ser gerado, sendo necessário apenas o valor de epsilon e o número mínimo de elementos em um grupo. Dessa forma, os parâmetros necessários para a execução do DBCAN são mais fáceis de estimar do que os valores de parâmetro do K-means. Com isso, o DBSCAN foi selecionado como o algoritmo a ser utilizado no sistema de organização automática de fotos (GISMedia). Numa próxima etapa serão avaliados alguns algoritmos de classificação não supervisionada para segunda tarefa do organizador de fotos, que é a etapa de segmentação temporal das fotos de cada grupo obtido na tarefa de agrupamento espacial. Figura 3.5 - - Resultado do DBSCAN sem o timestamp(Cluster X Pasta). 4 O Organizador de Fotos 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êndice A A.1. Os Dados Os dados utilizados para o experimento estão localizados nos arquivos “/dados/fotos.csv” e “/dados/fotos.arff”. Os arquivos com os dados possuem a referência para 793 fotos, sendo estas distribuídas em vinte eventos distintos, sendo cada evento caracterizado nos dados pela pasta onde está contida a foto. A.2. “Logs” das Execuções Os logs das execuções estão separados por algoritmos executados, sendo os logs de execuções do algoritmo k-means estão na pasta “/k-means/” e os das execuções do algoritmo DBSCAN estão na pasta “/DBSCAN/”. A.3. Código fonte do GISMedia A.4. Instalador do GISMedia A.5. Conjunto de previsão