Image Collection Backend for Cameraphones. Introduction Project Goals Design an integrated system to...

17
Image Collection Backend for Cameraphones

Transcript of Image Collection Backend for Cameraphones. Introduction Project Goals Design an integrated system to...

Page 1: Image Collection Backend for Cameraphones. Introduction Project Goals Design an integrated system to upload image from a mobile phone to a remote server.

Image Collection Backend for

Cameraphones

Page 2: Image Collection Backend for Cameraphones. Introduction Project Goals Design an integrated system to upload image from a mobile phone to a remote server.

Introduction

Project Goals

Design an integrated system to upload image from

a mobile phone to a remote server

Sort and categorize the images on the server

Page 3: Image Collection Backend for Cameraphones. Introduction Project Goals Design an integrated system to upload image from a mobile phone to a remote server.

Introduction

Why?

Cameras on mobile phones becoming much better

~5MP

Flash

No simple way to organize and store images taken

Page 4: Image Collection Backend for Cameraphones. Introduction Project Goals Design an integrated system to upload image from a mobile phone to a remote server.

System Components

Page 5: Image Collection Backend for Cameraphones. Introduction Project Goals Design an integrated system to upload image from a mobile phone to a remote server.

System Components

Client Application

Connects to phone

Downloads new images

Uploads images to server

“Remembers” what images have been uploaded

Page 6: Image Collection Backend for Cameraphones. Introduction Project Goals Design an integrated system to upload image from a mobile phone to a remote server.

System Components

Server Application

Receives & saves images from the client

Provides a basic workflow engine

Extracts information from the image

Implements a number of methods of

sorting/searching

Provides a user interface to the system

Page 7: Image Collection Backend for Cameraphones. Introduction Project Goals Design an integrated system to upload image from a mobile phone to a remote server.

Client Application

Python

ObexFTP (“FTP over Bluetooth”)

SQLite (Lightweight database engine)

Mechanize (Browser emulator)

Page 8: Image Collection Backend for Cameraphones. Introduction Project Goals Design an integrated system to upload image from a mobile phone to a remote server.

Client Application

ObexFTP

Lists files on mobile phone

Downloads new images

Page 9: Image Collection Backend for Cameraphones. Introduction Project Goals Design an integrated system to upload image from a mobile phone to a remote server.

Client Application

Uses the database to store

User credentials

Phone information

Image information

Page 10: Image Collection Backend for Cameraphones. Introduction Project Goals Design an integrated system to upload image from a mobile phone to a remote server.

Client Application

Mechanize

Contacts and logs into server

Uploads images

Page 11: Image Collection Backend for Cameraphones. Introduction Project Goals Design an integrated system to upload image from a mobile phone to a remote server.

Implementation

Server Software

Django (MVC Framework)

Each Photo is associated with a Gallery

Each Gallery is associated with a User

Each Photo may be associated with a number of Faces

Each Face will have a Person

Page 12: Image Collection Backend for Cameraphones. Introduction Project Goals Design an integrated system to upload image from a mobile phone to a remote server.

Implementation

Database MySQL/PostgreSQL

SQLite

Page 13: Image Collection Backend for Cameraphones. Introduction Project Goals Design an integrated system to upload image from a mobile phone to a remote server.

Server Application

OpenCV

Open source image processing library from Intel

Very high performance

Aimed towards computer vision

Used to detect faces in images

Page 14: Image Collection Backend for Cameraphones. Introduction Project Goals Design an integrated system to upload image from a mobile phone to a remote server.

Server Application

Face Detection

Determines if the image is a portrait or group-shot

Crops a region of the image around the face

Allows people to be “tagged”

Page 15: Image Collection Backend for Cameraphones. Introduction Project Goals Design an integrated system to upload image from a mobile phone to a remote server.

Server Application

Auto Colour Correlogram “A colour correlogram is a representation expressing the spatial

correlation of colour and distance between pixels in a stored

image.”

Used to search for a person in images

Based on the LIRE implementation

Page 16: Image Collection Backend for Cameraphones. Introduction Project Goals Design an integrated system to upload image from a mobile phone to a remote server.

Server Application

Images are sorted by date uploaded

Exif metadata from images

Can find images taken at the same “event”

Page 17: Image Collection Backend for Cameraphones. Introduction Project Goals Design an integrated system to upload image from a mobile phone to a remote server.

Web Interface

Written entirely in Django

Allows users to log in, view images and leave

comments