icbv course final project arik krol aviad pinkovezky
TRANSCRIPT
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 - 335 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
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”:
http://www.cogs.susx.ac.uk/users/davidy/teachvision/vi
sion6.html#heading3
• And of course, Wikipedia – H.S.V