20
By Roland Foster Supervisors: Mr. Mehrdad Ghaziasgar Mr. James Connan Mentor: Mr. Warren Nel

By Roland Foster Supervisors: Mr. Mehrdad Ghaziasgar Mr. James Connan Mentor: Mr. Warren Nel

Embed Size (px)

Citation preview

Page 1: By Roland Foster Supervisors: Mr. Mehrdad Ghaziasgar Mr. James Connan Mentor: Mr. Warren Nel

By Roland Foster

Supervisors: Mr. Mehrdad Ghaziasgar

Mr. James Connan

Mentor: Mr. Warren Nel

Page 2: By Roland Foster Supervisors: Mr. Mehrdad Ghaziasgar Mr. James Connan Mentor: Mr. Warren Nel

Overview

ReminderGUI changes &

additionsImplementationProject PlanReferencesDemo

Page 3: By Roland Foster Supervisors: Mr. Mehrdad Ghaziasgar Mr. James Connan Mentor: Mr. Warren Nel

ReminderOrganize and easily retrieve images and their metadata

Detect images on hard drive

Eliminate duplicates

Ability to tag images Manual Automatic (Object Detection)

Easily retrieve images based on these tags

Page 4: By Roland Foster Supervisors: Mr. Mehrdad Ghaziasgar Mr. James Connan Mentor: Mr. Warren Nel

GUI Changes & AdditionsCo-ordinate based tags

Position of tag on the image is stored

Page 5: By Roland Foster Supervisors: Mr. Mehrdad Ghaziasgar Mr. James Connan Mentor: Mr. Warren Nel

GUI Changes & AdditionsQuick tags ( Non c0-ordinate based tagging )

GUI Changes & AdditionsGUI Changes & AdditionsGUI Changes & Additions

Page 6: By Roland Foster Supervisors: Mr. Mehrdad Ghaziasgar Mr. James Connan Mentor: Mr. Warren Nel

GUI Changes & AdditionsEdit tags

Tags used in other images

Automatic tags

Page 7: By Roland Foster Supervisors: Mr. Mehrdad Ghaziasgar Mr. James Connan Mentor: Mr. Warren Nel

Implementation

Find image files

Page 8: By Roland Foster Supervisors: Mr. Mehrdad Ghaziasgar Mr. James Connan Mentor: Mr. Warren Nel

ImplementationGenerate checksums

Page 9: By Roland Foster Supervisors: Mr. Mehrdad Ghaziasgar Mr. James Connan Mentor: Mr. Warren Nel

Implementation

Remove duplicates

Page 10: By Roland Foster Supervisors: Mr. Mehrdad Ghaziasgar Mr. James Connan Mentor: Mr. Warren Nel

Implementation

Automatic tag detection of images:Detecting Haar-like features

The following haarcascades were used: Face Car Wall Clock

Page 11: By Roland Foster Supervisors: Mr. Mehrdad Ghaziasgar Mr. James Connan Mentor: Mr. Warren Nel

ImplementationUse haarcascade for detecting objects

Page 12: By Roland Foster Supervisors: Mr. Mehrdad Ghaziasgar Mr. James Connan Mentor: Mr. Warren Nel

ImplementationUse haarcascade for detecting objects

Page 13: By Roland Foster Supervisors: Mr. Mehrdad Ghaziasgar Mr. James Connan Mentor: Mr. Warren Nel

ImplementationXML string with detected objects is constructed

<face0 points="(78, 83, 138, 143)">Face</face0><face1 points="(403, 115, 471, 183)">Face</face1><face2 points="(47, 156, 113, 222)">Face</face2><face3 points="(177, 221, 245, 289)">Face</face3><face4 points="(87, 239, 157, 309)">Face</face4><face5 points="(241, 83, 311, 153)">Face</face5><face6 points="(290, 152, 362, 224)">Face</face6><face7 points="(313, 225, 387, 299)">Face</face7><face8 points="(373, 240, 451, 318)">Face</face8>

Page 14: By Roland Foster Supervisors: Mr. Mehrdad Ghaziasgar Mr. James Connan Mentor: Mr. Warren Nel

ImplementationXml string is then embedded within the image

<face0 points="(78, 83, 138, 143)">Face</face0><face1 points="(403, 115, 471, 183)">Face</face1><face2 points="(47, 156, 113, 222)">Face</face2><face3 points="(177, 221, 245, 289)">Face</face3><face4 points="(87, 239, 157, 309)">Face</face4><face5 points="(241, 83, 311, 153)">Face</face5><face6 points="(290, 152, 362, 224)">Face</face6><face7 points="(313, 225, 387, 299)">Face</face7><face8 points="(373, 240, 451, 318)">Face</face8>

Page 15: By Roland Foster Supervisors: Mr. Mehrdad Ghaziasgar Mr. James Connan Mentor: Mr. Warren Nel

Implementation

Tagging an image

Entered Tags

Embed XML

within the

image

XML string constructio

n<tags> <person> Roland Foster </person></tags>

Page 16: By Roland Foster Supervisors: Mr. Mehrdad Ghaziasgar Mr. James Connan Mentor: Mr. Warren Nel

Project PlanTerm 1

Gather Requirements and AnalysisLearn to use:

Image processing tools/techniques in Open CVProgramming in Python

Term 2Design and Development of the Prototype

Develop functions for the prototype:Image tagging and searching functions

Term 3

Coding the Application/ImplementationDetecting objects

New methods for taggingImprovements on the GUI for the application

Term 4 Testing and EvaluationRefactoring code if necessary

Page 17: By Roland Foster Supervisors: Mr. Mehrdad Ghaziasgar Mr. James Connan Mentor: Mr. Warren Nel

Tools used:

Python Programming Language

Wx Python wrapper for wx Widgets GUI toolkit

Pyexiv2-Accessing and embedding image metadata

Open CV libraries (Open Source Computer Vision Library)- Detection of objects

Page 18: By Roland Foster Supervisors: Mr. Mehrdad Ghaziasgar Mr. James Connan Mentor: Mr. Warren Nel

References Olivier Tilloy, 2010. Pyexiv2 Documentation. Available at:

http://tilloy.net/dev/pyexiv2/doc/release-0.2.0/index.html. Last accessed 12 July 2012.

wxPython, 2009. wx.ImageHandler-class. Available at: http://wxpython.org/docs/api/wx.ImageHandler-class.html. Last accessed 8 August 2012.

Willow Garage, 2010. Object Detection. Available at: http://opencv.willowgarage.com/documentation/python/objdetect_cascade_classification.html#haardetectobjects. Last accessed 20 August 2012.

Page 19: By Roland Foster Supervisors: Mr. Mehrdad Ghaziasgar Mr. James Connan Mentor: Mr. Warren Nel

Demo

The tasks to be demoed:

Manual tagging

Searching for images via tags

Automatic tagging

Page 20: By Roland Foster Supervisors: Mr. Mehrdad Ghaziasgar Mr. James Connan Mentor: Mr. Warren Nel

Questions