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

Transcript
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