Shane Kinsella 05491193 4 th year Electronic Engineering 4BN1 NUI Galway Supervisor: Peter Corcoran March 2009.

Slides:



Advertisements
Similar presentations
Internationalization of HTML client-server applications Andrea Vine iPlanet Internationalization Architect.
Advertisements

The Robert Gordon University School of Engineering Dr. Mohamed Amish
Department of Electronic Engineering NUIG Direct Evolution of Patterns using Genetic Algorithms By: John Brennan Supervisor: John Maher.
BIOS & CMOS To Navigation page.
EPOCH 1000 Series Software Update New Features - March 2010.
Ignas Budvytis*, Tae-Kyun Kim*, Roberto Cipolla * - indicates equal contribution Making a Shallow Network Deep: Growing a Tree from Decision Regions of.
Detecting Faces in Images: A Survey
Face Recognition Method of OpenCV
Chapter 15 Application of Computer Simulation and Modeling.
Modeling Pixel Process with Scale Invariant Local Patterns for Background Subtraction in Complex Scenes (CVPR’10) Shengcai Liao, Guoying Zhao, Vili Kellokumpu,
Operating Systems Simulator Jessica Craddock Kelvin Whyms CPSC 410.
Video Mining Learning Patterns of Behaviour via an Intelligent Image Analysis System.
Generic Simulator for Users' Movements and Behavior in Collaborative Systems.
- TECHLEAD SOFTWARE ENGINEERING PVT. LTD. Video Analytics.
Keyboard shortcuts in the 2007 Office system Introducing the Ribbon Based on extensive research into how people use Microsoft Office and how they wish.
Vision-Based Biometric Authentication System by Padraic o hIarnain Final Year Project Presentation.
Virtual painting project By: Leetal Gruper Tsafrir Kamelo Supervisor: Michael Kolomenkin Advisor from 3DV systems: Sagi Katz.
Teach.NET Workshop Series Track 4: AP Computer Science with.NET and J#
Penetration Testing Security Analysis and Advanced Tools: Snort.
ELECTRONIC CONDUCTING SYSTEM Kenzo Abrahams Supervisor: Mehrdad Ghaziasgar Co-supervisor: James Connan Assisted by: Diego Mushfieldt.
Associative Pattern Memory (APM) Larry Werth July 14, 2007
Copyright © 2012 Pearson Education, Inc. Chapter 1: Introduction to Computers and Programming 1.
Pattern Matching in DAME using AURA technology Jim Austin, Robert Davis, Bojian Liang, Andy Pasley University of York.
1 Decrease-and-Conquer Approach Lecture 06 ITS033 – Programming & Algorithms Asst. Prof. Dr. Bunyarit Uyyanonvara IT Program, Image and Vision Computing.
Raspdrones Using pattern recognition to make homes a little safer.
*** CONFIDENTIAL *** © Toshiba Corporation 2008 Confidential Creating Report Templates.
Chapter One An Introduction to Visual Basic 2010 Programming with Microsoft Visual Basic th Edition.
OCC Network Drives  H:\  P:\ 
Lecture 29: Face Detection Revisited CS4670 / 5670: Computer Vision Noah Snavely.
DIEGO AGUIRRE COMPUTER VISION INTRODUCTION 1. QUESTION What is Computer Vision? 2.
Python Programming Using Variables and input. Objectives We’re learning to build functions and to use inputs and outputs. Outcomes Build a function Use.
CMPF124:Basics Skills for Knowledge Workers Basic Windows Administration.
REAL TIME FACE DETECTION
ENTERFACE 08 Project 1 “MultiParty Communication with a Tour Guide ECA” Mid-term presentation August 19th, 2008.
Reference: The Game Loop Animation / Game loop 1. Update variables 2. [Get input from the user] (GameLoop only) 3. Draw (using variables)
Guide to Programming with Python Chapter Twelve Sound, Animation, and Program Development: The Astrocrash Game.
1 Research Question  Can a vision-based mobile robot  with limited computation and memory,  and rapidly varying camera positions,  operate autonomously.
Visual Basic Programming Introduction VB is one of the High level language VB has evolved from the BASIC language. BASIC stands for Beginners All-purpose.
Guide to Programming with Python Week 15 Chapter Twelve Sound, Animation, and Program Development: The Astrocrash Game.
By: David Gelbendorf, Hila Ben-Moshe Supervisor : Alon Zvirin
Team Members Ming-Chun Chang Lungisa Matshoba Steven Preston Supervisors Dr James Gain Dr Patrick Marais.
David Wild Supervisor: James Connan Rhodes University Computer Science Department Eye Tracking Using A Simple Webcamera.
Ghislain Fouodji Tasse Supervisor: Dr. Karen Bradshaw Computer Science Department Rhodes University 24 March 2009.
Software Quality Assurance and Testing Fazal Rehman Shamil.
Application of Facial Recognition in Biometric Security Kyle Ferris.
Inheritance and Class Hierarchies Chapter 3. Chapter 3: Inheritance and Class Hierarchies2 Chapter Objectives To understand inheritance and how it facilitates.
IBM - CVUT Student Research Projects IBM Presence detection Milan Stezka
Introduction to A+CAD. Objectives Understand fundamental CAD concepts Start A+CAD Tour the A+CAD interface Explore the different A+CAD data input methods.
IBM - CVUT Student Research Projects IBM Presence detection Milan Stezka
Visual Basic.NET Comprehensive Concepts and Techniques Chapter 2 The Visual Basic.NET Integrated Development Environment.
Hand Detection with a Cascade of Boosted Classifiers Using Haar-like Features Qing Chen Discover Lab, SITE, University of Ottawa May 2, 2006.
OCR A Level F453: The function and purpose of translators Translators a. describe the need for, and use of, translators to convert source code.
Horizon Photo-mote. ability to access photographs and images stored online, with the aid of a wireless remote remote enables the user to identify and.
Chapter 1: Introduction to Computers and Programming.
(More) Event handling. Input and Windowed-OS’s Windowed OS’s (Windows, OSX, GUI-linux’s) send messages (events) when the user does something “on” the.
Optical Flow walk through Aidean Sharghi Spring 14.
Lecture Transforming Data: Using Apache Xalan to apply XSLT transformations Marc Dumontier Blueprint Initiative Samuel Lunenfeld Research Institute.
The PLA Model: On the Combination of Product-Line Analyses 강태준.
Contents Introduction Requirements Design Technology Working Interaction.
Computer Science: A Structured Programming Approach Using C1 Objectives ❏ To understand the structure of a C-language program. ❏ To write your first C.
Reference: What is it? A multimedia python library – Window Management – Graphics geometric shapes bitmaps (sprites) – Input Mouse Keyboard.
FINGERSPELLING THE SIGN LANGUAGE TOOL
Introduction to the C Language
Decrease-and-Conquer Approach
Submitted by: Ala Berawi Sujod Makhlof Samah Hanani Supervisor:
GasTurb 13 – Tutorial 4 Optimizing a Cycle Copyright © GasTurb GmbH.
Datalogging with video
Introduction to the C Language
Video Processing Steps Face Detection Activity Recognition
AHED Automatic Human Emotion Detection
Presentation transcript:

Shane Kinsella th year Electronic Engineering 4BN1 NUI Galway Supervisor: Peter Corcoran March 2009

Concept To investigate facial detection with reference to OpenCV and the Viola Jones technique Explore parameters which effect the detection time Optimise facial detection using knowledge about video streams and the movement of objects

Applications Any detection system that is required to run in real- time or at very high frame rates System does not have to detect faces, this system may be extended to work while detecting any object (given detect rules for that object) Knowledge of the movement patterns of that object needs to be either known or learned on the fly This system may be combined with other optimisation techniques to form a basis for real- time object tracking used in AI

Work Carried Out Researched OpenCV (API) and Python (programming language) Researched the Viola and Jones method of facial detection Found example code of facial detection using OpenCV Tested the detection time of facial detection when varying the parameters involved Investigated movement patterns of faces on a webcam Used this knowledge to define limits for optimised code

Optimisations which were applied Scan area limited to a region around a previously detected face Minimum face size is limited to a value which is proportional to the size of the previously detected face

Issues Encountered Project Specific Coding issues Introduction of new faces Elimination of duplicate faces The velocity question Setup of Python and OpenCV Applying facial detection to sub regions of an image Keyboard handling Visibility of variables Memory usage runaway

Reason for Discarding Velocity A high frame rate is essential to the operation of a system which uses the previous position and the previous velocity This is so that the system may pick up changes in velocity ex. A moving object suddenly stops A higher frame rate means that objects will travel less from one frame to another As the distance travelled by an object gets less and less, any advantage gained by introducing velocity also gets reduced

Reason for Discarding Velocity (Summary) High frame rate is essential to proper operation Becomes less effective (ineffective) the higher the frame rate

Results Frame rates have been noted to improve by a factor of 5+ (typical 4 FPS to 20+ FPS) Adapting the minimum face size accounts for the greatest improvement FPS improvement without adaptable min face size approx 2 times faster

Features of Solution Code Polled based keyboard input Refreshes new faces when: Spacebar pressed No faces were found previously Many display features for displaying data Can vary the tracking parameters used Can swap between un-optimised detection and optimised detection (key 6) Can toggle the use of adaptable minimum face size (for comparison purposes)

Display Options Key 1: toggle display faces detected (on by default) Key 2: toggle display scan area used per face Key 3: toggle display min face size used per face Key 4: toggle print FPS to the console window

Configuration Options Key 5: toggle un-optimised/optimised detection Key 6: toggle use of adaptable min face size Key w or s: select the variable you wish to vary (2 supported) Scan area size Minimum face size Key a or d: vary the selected variable Key 0: restore all of the default settings