|
Zach Davis MAT 259, Winter 2006 |
|||
| ||||
| ||||
Overview
|
This project attempts to use the SOM-PAK self organizing map software package to draw out some of the correlations between digital images and the exif data captured along with those images. Exif data is automatically embedded into images by most digital cameras, and includes such parameters as timestamp, camera model, f-stop, and shutter speed. For this project I chose to focus on five exif parameters which I felt would be most directly linked to image content. These five are: aperture, f-stop, flash, focal length, and shutter speed. The Kohonen self organizing map (SOM) was applied to a database of images on each of the five parameters individually, as well as together as a group. Then an animation was created from the various steps in the SOM process to show the images actually be sorted. The final product is a C++ program. | |||
| ||||
Obtaining the Images and Metadata |
The images used and their corresponding metadata were obtained from another project I am working on, a web application that allows users to upload images and annotate them (fotofiti.com). When photos are uploaded to the site, the exif data is automatically parsed and stored in a database along with the corresponding image and any user-provided metadata. At the start of this project, roughly four hundred images were in the fotofiti database. However, for the purposes of this project, any images which were not in JPEG format were excluded, along with any images which lacked information on all five of the exif parameters in question. Images were not selected in any way based on visual content. The final database of images used for this project included 239 images, all of which had information for at least one of the pertinent exif parameters. Each image has several sizes in the database, but for the purposes of this project only the 100 by 100 pixel version of each image were used. The exif data was obtained along with the images, but required some normalization before being input to the SOM-PAK software. |
The fotofiti home page |
||
| ||||
In The Beginning
|
My original concept for this project was to have a grid of images, which would rearrange themselves automatically based on the analysis of some metadata by a SOM or some other classification technique. The presentation was to be interactive and online, as my original goal was to provide a method by which to discover patterns in images based on metadata, potentially usable by any fotofiti user. However, it became clear that due to time constraints it would be necessary to scale down the scope of the project. With this in mind I chose to drop the interactivity and select only a few metadata items to work with. This is how I came to concentrate on the five exif parameters perviously mentioned. The concept shifted to producing static images which portrayed the results of running the SOM-PAK software on the five different parameters in a manner which facilitated comparison of each parameter's correlation with image content. |
Early online visualization attempt |
||
| ||||
Concept Reworked |
I would put the motivation for my reworked concept like this: In the past, traditional (analog) photography was very reliant on an in depth knowledge (from the photographer) of how such settings as f-stop, ISO speed, and shutter speed ultimately effect what is captured on film. In today's digitally-dominated world of photography, many cameras don't even allow the user access to these settings, and even on those that do, many people simply use the automatic setting anyways. Thus this project aims to see if, in the digital world, there is still a visually recognizable correlation between camera settings and image content. However, as I began to familiarize myself with the exif data and particularly with how the SOM-PAK worked, I got the feeling that the actual process of organizing the images was more informational than simply displaying the output of the process in its own right. This led to the final concept, which was similar in motivation to the one discussed at the beginning of this section, but replaced the static image output with an animation of the SOM process on each exif parameter. | |||
| ||||
Breaking Down The Code |
As previously mentioned, the final form of this project was written in C++, using the OpenGL and GLUT libraries for windowing and graphical output. In addition, Matthew Kennedy's OpenGL Image Loader library was used for decoding the JPEG images and loading them into OpenGL as textures. The project can be broken down into four main tasks: loading the images into OpenGL; running the SOM-PAK software on a given dataset; parsing the .map file created by SOM-PAK; and creating a visual output based on the content of the .map file.
|
|
||
| ||||
Analyzing the Results |
After studying the results of the project, both the static images and the animations, it was clear that for the methods and dataset used that no patterns or correlations were emerging from running the SOM on the five chosen exif parameters. The static results showed most of the images to be on the same plane, indicating that there was widespread similarity throughout the images and no distinct grouping was found. This finding was backed by the animations. In the animations for all of the parameters, during the "rough" organization (where the radius was 10 nodes), the maps did not seem to reach any sort of stable point, with images freely moving from one side of the map to the other. The "landscape" of the maps were also very telling, as the images quickly converged from a variety of different heights to a single plane, again indicating widespread homogeneity within the data. |
Focal length final map |
||
| ||||
Download |
259.exe - For Windows XP and 2000 Source Code - C++ and Visual Studio .NET project files | |||
| ||||
Resources |