ICBV Course Final Project Arik Krol Aviad Pinkovezky
Motivation: Current MMI is based mainly on “Point & Click” devices Video Capturing as a new Approach for MMI Hardware is available - Web Cameras and powerful processors Potential Usages – Working with laptops, users with “hands on keyboards”, etc
Goals: Exploring the field of motion detection Exploring the field of skin colors distinction A working Demo that can detect palm movements: No Real Time, yet… Minimal rate of False detections Determine Direction of movement
Motion Detection: First approach: Segmentation by Clustering (K-Means) Motion Detection by tracking the centers of gravity of clusters over the frames The Problem – Complexity of Calculation, doesn’t fit into real time scenario!
Motion Detection (cont.): Second approach: Subtracting consecutive frames Motion Detection by tracking the difference in pixels values Note - Assumptions are: Relatively static background and stationary camera
Motion Detection implementation: For each two consecutive frames: Convert from RGB to Grayscale Subtraction Gaussian Smoothing
Skin Color Detection: H.S.V – Hue, Saturation, Value An alternative representation of color pixels Enables us to isolate Hue levels, regardless of Saturation and Value levels
Skin Color Detection (cont.): The human skin is characterized by different levels of red hue to 25 degrees Value level is greater than 40
Skin Motion Detection: { Motion Pixels } { Skin Pixels} = {Skin Motion Pixels} Direction of movement – Determined by the differences of X axis value averages between consecutive frames Setting adequate thresholds – by trial and error
Skin Motion Detection: Now, let’s try to detect a moving piece of paper: Skin Motion detection results finally in no detection at all.
Problems we encountered: Face – Can create false detection of skin movement (head movements & non skin movement) – Solved by tracking the 1/3 bottom part of the image. Complexity of calculation – better than clustering, yet not real time like – unsolved Skin like objects – may cause false detection
A Few Results:
Future Improvements: Improving run time performances to support real time motion detection, can be achieved by: Using different programming languages Using hardware acceleration (parallel computing, GPGPU, etc.) Setting thresholds dynamically by calibrating the system. Identifying a larger variety of movements, and adding new features accordingly
References: Francesca Gasparini, Raimondo Schettini, Skin segmentation using multiple thresholdings University of Sussex, UK. Web page of David Young, “Static Camera and moving objects”: And of course, Wikipedia – H.S.V