Distributed Face Detection

brasscoffeeAI and Robotics

Nov 17, 2013 (3 years and 4 months ago)

55 views

Face Detection in
Distributed Camera
Sensor Networks

Rajapaksage Jayampathi

DM Rasanjalee Himali

OUTLINE



Introduction


Face Detection


Distributed Camera Sensor Networks (DCS)



Current Work


Viola
-
Jones object detection framework



Current Limitations:



Proposed Work


Distributed Face Detection Framework


Implementation


Future Plan

1.INTRODUCTION

Face Detection


A

computer technology

that
determines the locations and sizes of
human faces in arbitrary (digital)
images.



It detects facial features and ignores
anything else, such as buildings,
trees and bodies.



Is a specific case of
object
-
class
detection




Many algorithms implement the face
-
detection task as a binary
pattern
-
classification task

Face Detection [Contd.]


In our work we focus specially on the problem of face
detection in
still images
.



The most straightforward variety of this problem is the
detection of a single face at a known
scale and orientation
.



Even this, is a
nontrivial

problem.



The most immediate application that comes to mind for face
detection is as the
first step in an automated face
recognizer

Distributed Smart Cameras (DSCs)


Are
real
-
time embedded systems

that achieve
computer
vision

using
multiple cameras
.



One of the basic and most important problems of smart camera
networks is
face detection




A smart camera consists of sensing, processing, and
communication units which deliver some abstracted data of the
observed scene.



They perform a verity of
image processing algorithms


Ex : motion detection, segmentation, tracking, and object
recognition and delivers color and geometric features,
segmented objects or high level decisions as output

Distributed Smart Cameras (DSCs)
[Contd.]


The main goal for the cameras is to provide
sufficient
processing power

and
fast memory

for processing the images
in
real time

while keeping power consumption low



DSCs introduce
distribution and collaboration

to smart
cameras.



These cameras use
distributed algorithms

to perform camera
operations.



Multiple threads

of processing may take place on different
processing nodes in parallel.



These camera sensors generate more data and make analysis
difficult in many applications.

Distributed Smart Cameras (DSCs)
[Contd.]


Distributed smart cameras
distribute not only
sensing but also processing




On the one hand, smart cameras can serve as
processing nodes that perform some
fixed
preprocessing

but still deliver data to a central
server.



On the other hand, processing may be organized in
a completely decentralized fashion where the smart
cameras organize themselves and
collaborate
dynamically
.

Smart Cameras in Sensor Networks


2. Current Work

Current Work


There are various solutions to this problem



Most of which deal with faces at
arbitrary
scales
, and assume an
upright face




Most methods use a learning algorithm on a
training set

to begin the detection process.

Robust Real
-
Time Face Detection
[Viola & Jones ,2004]


capable of processing images extremely
rapidly while achieving
high detection
rates



Integral Image
:


Introduces a new image representation
called an
integral image
that
allows for
very fast feature evaluation


The integral image can be computed from
an image using a few operations per pixel.


Once computed, any one of these Haar
-
like
features can be computed at any scale or
location in
constant
time.

Robust Real
-
Time Face Detection
[Viola & Jones ,2004]


The integral image at location
x, y
contains the sum of the pixels
above and to the left of
x, y
, inclusive:





where
ii
(
x, y
) is the integral image and
i
(
x, y
) is the original image



Using the following pair of recurrences:





(where
s
(
x, y
) is the cumulative row sum,
s
(
x,
−1) = 0, and
ii
(−1
, y
) =
0) the integral image can be computed in one pass over the original
image.

Robust Real
-
Time Face Detection
[Viola & Jones ,2004] [Contd.]


Uses a
simple and efficient classifier

that is built by selecting a
small
number of important features

from
a huge library of potential features
using AdaBoost



Combine successively more complex
classifiers in a
cascade structure

which
dramatically increases the
speed of the detector

by focusing
attention on promising regions of the
image



The
final detector is scanned
across the image at multiple
scales and locations
. Scaling is
achieved by scaling the detector
itself, rather than scaling the image.

Features

Disadvantages of Current Work


many algorithms are centralized algorithms and are not designed for
distributed or resource constrained environments.



There are only a handful of parallel architectures for face detection
have been proposed in the literature so far.



None of these take into consideration the multiple views different
cameras may have due to its relative position in a global 3
-
D coordinate
system.



Many current approaches assume up
-
right faces although few
algorithms have been devised to address multi
-
view face problem.



Viola & Jones[2] approach limits itself to a limited set of features and
classifiers to reduce computation.

3. Our Approach

Problem Statement


Our work is an extension of the face detection
algorithm proposed by Viola
-
Jones.



The major distribution of load is contributed by two
factors:


Computation of integral image and the


Face detection.



The objective of this distributed face detection
framework is to achieve higher detection rates at low
false positive rates by using the power of distributed
computing in a DSC network.

Our Approach


The advantage of distributed computing is
achieved at three stages:

1.
Integral Image Computation


2.
Integral Image Distribution and


3.
Cascade and Feature Distribution

1. Integral Image Computation


The Integral image calculation can be distributed among cameras by
formulating the problem as a parallel
prefix sum calculation

problem



Given the original image at a sensor s, it can partition the image at
subwindows to its neighbors. The most intuitive way will be to do a
row
-
wise partitioning.



The neighbors will calculate the partial
-
integral image for the given
subwindow and send back to s. s calculates the global integral
image

Si

Sj

Sk

(a)

(b)

(c)

1.
Receive
Image

Original Image

Image Sub Window

SENSOR A

Partial Integral image

Partial Integral image

Partial Integral image

Partial Integral image

2.

Distribute image
sub windows to
Nodes

SENSOR B

SENSOR C

SENSOR D

SENSOR E

3. Calculate Partial integral Image

4.Gather Partial
Integral Images

Combined Partial Integral Image

Image Sub Window

5.Calculate global Integral
Image

Global Integral Image

PARALLEL PREFIX SUM

2.

Integral Image Distribution


A better approach however is to
incrementally calculate integral image at
sensor which received the original image
while distributing it to different nodes for face
detection.



Each incremental version of integral image
corresponds to a different scale and

Integral Image

A

B

A

SENSOR A

SENSOR B

SENSOR C

SENSOR D

Detect Faces

Distribute integral Image

The detection process
for different scales are
completed by
neighborhood sensor
nodes concurrently.

Detect Faces

Detect Faces

3. Cascade and Feature Distribution


The Viola Jones algorithm limits itself to a limited set
of features for faster results.



However, in a distributed environment like DSC
network, larger number of feature set can be used
without compromising the faster face detection.



Also, the pipeline architecture of cascades can be
implemented in a distributed environment by
assigning set of adjacent classifiers in the cascade
to sensors.

1

SENSOR B

SENSOR C

SENSOR D

2

3

SENSOR X

SENSOR Y

SENSOR Z

T

T

T

F

F

F

Attentional Cascade

Detect Faces

Detect Faces

Detect Faces

Received Image?

Original Image

Row
-
wise partition image

Unused Neighbor?

Yes

Image Sub
-
window

Yes

No

Received ALL partial


Integral Images?

No

Partial Integral Image

Calculate Global Integral Image

Row
-
wise partition Integral image

Unused Neighbor

Yes

Integral Image Sub
-
window

Received ALL Face

Detected Sub
-
Window

No

Yes

No

Face Detected Sub
-
window

Yes

Wait For Image reception

MASTER NODE PROCESS

Received Partial Image

Sub Window?

Partial Image Sub
-
Window

Wait For Image reception

Calculate Partial Integral Image

Yes

Send Partial ii to MASTER

No

Received Partial ii?

Detect Faces

Yes

Send Face detected ii to MASTER

SLAVE NODE PROCESS

4. Future Work

Future Work


It is possible to devise a distributed face
detection algorithm in DSC networks
incorporates multi
-
view face detection in DSC
networks.



Use Value of Information theory to detect
faces reliably.


References


Multi
-
Camera Networks: Principles and Applications
, Hamid Aghajan, Andrea Cavallaro,
2009


Robust Real
-
time Object Detection
, Paul Viola , Michael Jones, 2001


Parallelized architecture of multiple classifiers for face detection
, Bridget B. Jung Uk Cho
,IEEE International Conference on Application
-
specific Systems, Architectures and
Processors (ASAP) , 2009


CMUcam3: An Open Programmable Embedded Vision Sensor
, Anthony Rowe, Adam
Goode, Dhiraj Goel, Illah Nourbakhsh, , Carnegie Mellon Robotics Institute Technical
Report, RI
-
TR
-
07
-
13 May 2007


Fast Multi
-
View Face Detection
, M. Jones, P. Viola, MERL, TR2003
-
96, July 2003


Robust Multi
-
View Multi
-
Camera Face Detection inside Smart Rooms Using Spatio
-
Temporal Dynamic Programming
, Z. Zhang, G. Potamianos, M. Liu, T. Huang, In
Proceedings of the International Conference on Automatic Face and Gesture
Recognition, pp.407
-
412, 2006


Robust Real
-
Time Face Detection
, P. Viola and M. Jones, International Journal of
Computer Vision, vol. 57, no. 2, pp. 137
-
154, 2004.


Towards a Real
-
time and Distributed System for Face Detection, Pose Estimation and
Face
-
related Features
, J. Nesvadba, A. Hanjalic, P. M. Fonseca1, B. Kroon, H. Celik, E.
Hendriks, Int. Conf. on Methods and Techniques in Behavioral Research, 2005


A statistical method for 3D object detection applied to faces and cars
, Schneiderman, H.
and Kanade, T, In International Conference on Computer Vision, 2000


Neural network
-
based face detection,

Rowley, H., Baluja, S, and Kanade, T, IEEE Patt.
Anal. Mach. Intell, 1998



Dual camera system for face detection in unconstrained environments

Marchesotti,
L.


Marcenaro, L.


Regazzoni, C.


DIBE, Genoa Univ., Italy, ICIP, 2003