iMagine

Sanaz Ahmadi

Teemu Kinnunen

Jukka Lankinen

Idea

Organize images using only visual information, so that the user can find particular type of images easily. The system will organize images on the 2D map in the way that similar images are close to each other. Advantage of visual information is that user does not need to label all of his/her images to make searches.

Features

User can

Get a list of similar images from the server using visual information and visualize it

Browse image collection (Image map/gallery)

Sync the image collection with the server with many devices

Optional features

Share images with other users directly using mobile devices

Image tagging and automatic learning of labels (image categories)

Implementation Plan and Goals

Server

Image categorization using bag-of-words model (DONE)

Syncing with clients (DONE)

Set up the server in the Internet (DONE)

Client

Syncing with server (DONE)

User interface design (DONE)

Settings page

Image folder (kind of DONE!)

User information (user id, password) (DONE)

Server settings (host address) (DONE)

Image categorization (DONE)

Design

The framework

The overview

The protocol

The protocol

Server

Apache server with PHP responding to queries from user using HTTP. User information is stored in a database so new users can be easily added. We also have a bunch of binaries which do the heavy image processing operations.

Client

For client, we used Qt. We had two views: main view and image view. User interfaces were very simple and dynamic, so we decided the build them by coding them instead of using Qt Creator. The connection between Qt Creator and code was bit confusing thus generating layouts and views manually was easy choice.

Main view uses a scrollable area and a grid layout that is inside the scrollable area. Inside grid nodes, we have added home brew custom widgets. These custom widgets stack multiple images together to illustrate some example images from the virtual directory.

In image view, we use 2×3 (rows x cols) grid layout where left and right buttons are in the top left top right cells and home button is in the bottom left node. The image tooks two columns from the middle.

QT Mobility pack We are using core gui and network packages.

Screen shots

Our Main view stacks groups of similar images into kind of virtual directories. User can go inside the virtual directory by clicking it. Main view

In Image view we show images inside a virtual directory. User can browse these virtual directories using (<) left and right (>) buttons. Image view

Project Artefacts

Presentation slides

Our presentation slides in pdf format can be downloaded from here.

Report document

Source Package

Still WIP, but here: Latest version

How to run software

Download and unzip the package

Compile source and run!

Register new user account at the http://hive.dy.fi/~users/qtcodecamp/qtcodecamp.php

If you get “REGISTER 1”, It means your registration was successful!

Open the application and fill in the user name, password and image directory.

BROWSE image stacks.

open stacks by clicking and browse stack contents.

If you encounter any problems, please send email to Jukka Lankinen or Teemu Kinnunen!

Conclusion