Date post: | 29-Dec-2015 |
Category: |
Documents |
Upload: | felix-baldwin |
View: | 219 times |
Download: | 1 times |
By Roland Foster
Supervisors: Mr. Mehrdad Ghaziasgar
Mr. James Connan
Mentor: Mr. Warren Nel
Overview
ReminderGUI changes &
additionsImplementationProject PlanReferencesDemo
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
GUI Changes & AdditionsCo-ordinate based tags
Position of tag on the image is stored
GUI Changes & AdditionsQuick tags ( Non c0-ordinate based tagging )
GUI Changes & AdditionsGUI Changes & AdditionsGUI Changes & Additions
GUI Changes & AdditionsEdit tags
Tags used in other images
Automatic tags
Implementation
Find image files
ImplementationGenerate checksums
Implementation
Remove duplicates
Implementation
Automatic tag detection of images:Detecting Haar-like features
The following haarcascades were used: Face Car Wall Clock
ImplementationUse haarcascade for detecting objects
ImplementationUse haarcascade for detecting objects
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>
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>
Implementation
Tagging an image
Entered Tags
Embed XML
within the
image
XML string constructio
n<tags> <person> Roland Foster </person></tags>
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
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
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.
Demo
The tasks to be demoed:
Manual tagging
Searching for images via tags
Automatic tagging
Questions