Image Collection Backend for Cameraphones
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
Introduction Why? Cameras on mobile phones becoming much better ~5MP Flash No simple way to organize and store images taken
System Components
Client Application Connects to phone Downloads new images Uploads images to server “Remembers” what images have been uploaded
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
Client Application Python ObexFTP (“FTP over Bluetooth”) SQLite (Lightweight database engine) Mechanize (Browser emulator)
Client Application ObexFTP Lists files on mobile phone Downloads new images
Client Application Uses the database to store User credentials Phone information Image information
Client Application Mechanize Contacts and logs into server Uploads images
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
Implementation Database MySQL/PostgreSQL SQLite
Server Application OpenCV Open source image processing library from Intel Very high performance Aimed towards computer vision Used to detect faces in images
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”
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
Server Application Images are sorted by date uploaded Exif metadata from images Can find images taken at the same “event”
Web Interface Written entirely in Django Allows users to log in, view images and leave comments