System and method for rapidly tracking multiple faces
First Claim
1. A system for rapidly tracking multiple faces, comprising:
- a face-like region generator having a skin region extractor, a motion analyzer and a silhouette analyzer, the skin region extractor generating a plurality of skin regions by detecting skin color pixels of an input image, the motion analyzer determining possible face-like regions from the skin regions based on moving information of the input image, and the silhouette analyzer analyzing whether there exists a raised shape in the input image to accordingly separate connected face regions and determining that there exists a face-like region based on the following conditions;
e(i)>
w and e(j)<
−
w, where w=0.5*(p(j))−
p(i));
e(i)=d(p(i));
d(x)=v(x−
1)−
v(x+1);
v(x) denotes a vertical position of the first touched pixel of a connected region when tracking all pixels of an image along the x-th column from top to down;
e( ) denotes the edge response of a vertical edge;
p( ) denotes a position of the vertical edge;
i denotes an ith pixel;
j denotes a jth frame; and
w denotes a weight of the face-like region;
a face recorder for recording tracked faces;
a face status checker for checking the face-like regions and the faces previously tracked and recorded in the face recorder to determine whether the face-like regions are old faces which have been tracked in a previous frame or possible new faces that are newly occurring faces;
a face verification engine for determining whether the possible new faces are new faces; and
a face tracking engine for tracking multiple faces based on the new and old faces, and the skin regions provided by the skin region extractor, wherein, when a tracked face is a new face, the face tracking engine directly adds the new face to the face recorder; and
when a tracked face is an old face, the face tracking engine determines whether there exists more than a predefined percentage of overlapping area between the old face and a skin region;
wherein if there exists more than a predefined percentage of overlapping area between the old face and a skin region, the face tracking engine determines that the old face is still in the current frame and locates in the center of the skin region; and
if there does not exist more than a predefined percentage of overlapping area between the old face and a skin region, the position of the old face is determined by a correlation operation.
1 Assignment
0 Petitions
Accused Products
Abstract
A system and a method for rapidly tracking multiple faces uses a face-like region generator to find a face-like region by skin color, motion, and silhouette information. A face tracking engine tracks faces based on new and old faces, and skin colors provided by the face-like regions. The tracked face is fed into a face status checker for determining whether the face-like regions are old faces tracked in a previous frame or are possible new faces. If the face-like regions are old faces, a face verification engine checks whether there exists a predefined percentage of overlapping area between an old face and a skin region. If yes, the old face is still in the current frame and its position is in the center of the skin region, otherwise, the position of the old face is found by a correlation operation.
267 Citations
17 Claims
-
1. A system for rapidly tracking multiple faces, comprising:
-
a face-like region generator having a skin region extractor, a motion analyzer and a silhouette analyzer, the skin region extractor generating a plurality of skin regions by detecting skin color pixels of an input image, the motion analyzer determining possible face-like regions from the skin regions based on moving information of the input image, and the silhouette analyzer analyzing whether there exists a raised shape in the input image to accordingly separate connected face regions and determining that there exists a face-like region based on the following conditions;
e(i)>
w and e(j)<
−
w, where w=0.5*(p(j))−
p(i));
e(i)=d(p(i));
d(x)=v(x−
1)−
v(x+1);
v(x) denotes a vertical position of the first touched pixel of a connected region when tracking all pixels of an image along the x-th column from top to down;
e( ) denotes the edge response of a vertical edge;
p( ) denotes a position of the vertical edge;
i denotes an ith pixel;
j denotes a jth frame; and
w denotes a weight of the face-like region;a face recorder for recording tracked faces; a face status checker for checking the face-like regions and the faces previously tracked and recorded in the face recorder to determine whether the face-like regions are old faces which have been tracked in a previous frame or possible new faces that are newly occurring faces; a face verification engine for determining whether the possible new faces are new faces; and a face tracking engine for tracking multiple faces based on the new and old faces, and the skin regions provided by the skin region extractor, wherein, when a tracked face is a new face, the face tracking engine directly adds the new face to the face recorder; and
when a tracked face is an old face, the face tracking engine determines whether there exists more than a predefined percentage of overlapping area between the old face and a skin region;
wherein if there exists more than a predefined percentage of overlapping area between the old face and a skin region, the face tracking engine determines that the old face is still in the current frame and locates in the center of the skin region; and
if there does not exist more than a predefined percentage of overlapping area between the old face and a skin region, the position of the old face is determined by a correlation operation. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A system for rapidly tracking multiple faces comprising:
-
a face-like region generator having a skin region extractor, a motion analyzer and a silhouette analyzer, the skin region extractor generating a plurality of skin regions by detecting skin color pixels of an input image;
the motion analyzer determining possible face-like regions from the skin regions based on moving information of the input image, the silhouette analyzer analyzing whether there exists a raised shape in the image to accordingly separate connected regions, and the silhouette analyzer determining that there exists a face-like region based on the following conditions;
e(i)>
w and e(j)<
−
w, where w=0.5*(p(j)−
p(i));
e(i)=d(p(i);
d(x)=v(x−
1)−
v(x+1);
v(x) denotes a vertical position of the first touched pixel of a connected region when tracking all pixels of an image along the x-th column from top to down;
e( ) denotes the edge response of a vertical edge;
p( ) denotes a position of the vertical edge;
i denotes an ith pixel;
j denotes a jth frame; and
w denotes a weight of the face-like region;a face verification engine for determining that possible new faces are new faces which are newly occurring in a current frame; and a face tracking engine for tracking multiple faces based on the old and possible new faces and the skin regions provided by the skin region extractor, wherein the face tracking engine has a filter and a verification processor;
the filter filters out false faces from input possible new faces, and the other possible new faces are fed into the verification processor for finding the new faces by eigen-face analysis;a face recorder for recording faces that have been tracked by the face tracking engine; and a face status checker for checking the face-like regions and the faces previously tracked and recorded in the face recorder to determine whether the face-like regions are old faces which have been tracked in a previous frame or are possible new faces that are newly occurring faces, wherein only the possible new faces determined are fed into the face verification engine, and the old faces are directly fed into the face tracking engine. - View Dependent Claims (9, 10, 11, 12)
-
-
13. A method for rapidly tracking multiple faces comprising the steps of:
-
(A) detecting skin color pixels of an input image for generating a plurality of skin regions; (B) determining possible face-like regions in the skin regions based on moving information of the input image; (B′
) analyzing whether there exists a raised shape in the image to accordingly separate connected face regions, wherein it is determined that there exists a face-like region based on the following condition;
e(i)>
w and e(j)<
−
w, where w=0.5*(p(j)−
p(i));
e(i)=d(p(i));
d(x)=v(x−
1)−
v(x+1);
v(x) denotes a vertical position of the first touched pixel of a connected region when tracking all pixels of an image along the x-th column from top to down;
e( ) denotes the edge response of a vertical edge;
p( ) denotes a position of the vertical edge;
i denotes an ith pixel;
j denotes a jth frame; and
w denotes a weight of the face-like region;(C) checking the face-like regions and tracked faces previously stored to determine whether the face-like regions are old faces that have been tracked in a previous frame or possible new faces that are newly occurring in a current frame, wherein, if the face-like regions are the old faces, it is further determined whether there exists more than a predefined percentage of overlapping area between an old face and a skin region;
wherein if there exists more than a predefined percentage of overlapping area between the old face and a skin region, the face tracking engine determines that the old face is still in the current frame and locates in the center of the skin region; and
if there does not exist more than a predefined percentage of overlapping area between the old face and a skin region, the position of the old face is determined by a correlation operation; and(D) determining whether the possible new faces are new faces;
if yes, recording the new faces. - View Dependent Claims (14, 15, 16, 17)
-
Specification