Not Applicable
Not Applicable
1. Field of the Invention
The present invention relates to the automatic measurement of visually perceptible attributes of the person or people within the range of visual sensor coverage.
2. Background of the Invention
Companies are constantly looking for new ways to improve their product or service. Companies spend millions of dollars each year in an effort to understand their customers and the effect of in store advertisements and product positioning on the buying habits of their customers. Until now, businesses have had to rely on spot surveys and ineffective frequent buyer programs to try to understand who their customers are and what their customers' behaviors are in their establishment.
The conventional approaches for gathering the demographic information, which require the customers' feedback and sales people's input, such as using questionnaires, registration forms or electronic devices, are often found to be cumbersome to both customers and sales people.
U.S. Pat. No. 5,369,571 of Metts disclosed a method and apparatus for obtaining demographic information at the point of sale. In the disclosed prior art, the sales clerk had to input an assessment concerning certain demographic information about the customer to generate the demographic data, using a bar code scanner, a keypad with keys, or buttons. However, this increases the sales clerk's labor load, and the extra activities delay overall processes at the point of sale, which could be costly from the business point of view of the particular businesses facility. Furthermore, the assessment could vary depending on the personal viewpoints of the sales clerks, thus making the accumulated demographic data from different sales clerks over a period of time unreliable.
Thus, these problems in the prior art require an automatic and efficient approach for gathering the demographic information from the customers.
Computer vision algorithms have been shown to be an effective means for detecting people. For example, in Haritaoglu, Ismail and Flickner, Myron, “Attentive Billboards”, 2001 IEEE, pp. 162-167, the authors describe a method for detecting people and determining how long those people looked at a billboard. Also, in U.S. Pat. Application. No. 20020076100, the authors describe a method for detecting human figures in a digital image.
Other computer vision techniques have been shown to be able to extract relevant demographic features of people in an image. For example, in Moghaddam, Baback and Yang, Ming-Hsuan, “Gender Classification with Support Vector Machines”, 2000 Proc. of Int'l Conf. on Automatic Face and Gesture Recognition, the authors describe a technique using Support Vector Machines (SVM) for classifying a face image as a male or female person. In the U.S. Pat. No. 5,781,650, the authors describe a method for discerning the age of a person in an image. In Lyons, Michael J. et al, “Automatic Classification of Single Facial Images”, 1999 IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 21, no. 12, pp. 1357-1362, the authors describe a method for discerning the ethnicity (or race) of a person in an image. Finally, in U.S. Pat. No. 6,188,777, the authors describe a means to extract a person's height, skin color, and clothing color from an image of a person. The combination of computer vision techniques such as the ones mentioned above allows for the possibility of connecting the visual information from a scene with a timestamp and a location marker to derive rich behavioral characteristics of the people in the scene and thus useful information.
The objective of the present invention is to provide a system and framework for associating the automatically extracted demographic and behavior characteristics of people with a timestamp and a location marker to form a feature vector. These feature vectors are then accumulated and aggregated into a data set that can be statistically analyzed, data mined, and/or queried in order to discover trends of the people being viewed.
For example, it may be desirable to determine what the demographic make-up of the people who shop in a store on Mondays is. In this example, the normal way that this is done is to manually collect the demographic data of the people who shop in a store on Mondays. This invention provides a process and framework for collecting such data automatically.
The components of the system are the following: Visual Sensing Device(s) (VSD), Demographic Feature Extractor (DFE), and the Data Repository (DR).
Examples of a VSD are a monocular camera, stereo camera, or infrared camera. Please note that this invention is not limited to the example visual sensing devices.
The DFE is composed of implementations of computer vision algorithms that extract the desired features of the people in the scene. Examples of desired features may include but are not limited to the following: gender, age, race, height, skin color, hair color, time in the field of view, time looking at an advertisement, etc. To facilitate an understanding of the invention, the particular features that will be included in the description are gender, age, race, and time in the field of view (FOV). However, the invention is not limited to these features. Rather, the invention is a framework for combining the visually extractable features and combining them with a timestamp and a location marker in order to form a time and location sensitive feature vector. The accumulation of these feature vectors provides a data set that before this invention required either written surveys or manual spot observations to generate.
In more general aspects, the VSD senses the people in its field of view. The digital images are then sent to the DFE for processing. For each person in an image the DFE forms a feature vector that includes, but is not limited to, the following items: The time the image was captured. The location of the VSD is stored when the VSD is installed. The gender, age, race, and the time in the field of view of each person are extracted from the image sequence. The feature vector is then stored in the data repository.
The
In the exemplary embodiment as shown in
In the exemplary embodiment, a fixture, such as a poster advertisement, or an end-cap, or a digital sign can display an advertisement that the owners of the fixture want to measure the demographics of the people who look at the advertisement. In this embodiment, a Visual Sensing Device is mounted so the viewing angle captures people as they look at the fixture. This embodiment will allow the owner of the fixture to measure the demographic make-up of the people who are looking at the advertisement displayed on the fixture. This information can then be used to, in the case of a digital sign, display targeted advertisements for the demographics that are currently looking at the fixture. This information can also be used to measure how effective an advertisement is with different demographics.
The
The present invention is not limited to a particular visual sensing device nor is it limited to the particular visually extracted features described. Rather this invention provides a framework which any set of visually extractable features are combined with a timestamp and a location marker to form a time sensitive and location sensitive feature vector that describes the person or people in the field of view of the visual sensing device. In addition, this invention describes the accumulation and aggregation of these feature vectors into a data set that can be statistically analyzed, data mined, and/or queried in order to discover trends of the people being viewed. One of the objectives of the invention is to replace the usual manual process of collecting the aforementioned data.
The components of the system are the following: Visual Sensing Device(s) (VSD) 110, Demographic Feature Extractor (DFE) 111, and the Data Repository (DR) 112.
VSD 110: When a person 403 enters the field of view (FOV) 110 of the means for capturing images 100. The means for capturing images 100 captures face images of the person in the FOV and sends them to the behavior measurement method 602 and the demographics classification method 612.
DEF 111: The behavior measurement method 602 detects the time 566 (start time and the end time) and the location 573 of the presence of the person 403, and records them to the behavior and demographics feature vector 652. The gender classifier, age classifier, and ethnicity classifier in demographics classification method 612 process the face image to find the gender, age, and ethnicity labels of the person.
DR 112: The gender, age, and ethnicity information is also recorded to the behavior and demographics feature vector 652. The set of behavior and demographics feature vectors 653 are then accumulated over a period of time and stored in the data repository 597.
The
A preferred embodiment of this invention is a system and framework for combining a timestamp and a location marker with automatically extracted demographic and behavior features of people within the field of view of the visual sensing device. Further is the accumulation and aggregation of these features into a data set that allows for statistical analysis, data mining and/or querying for the purpose of discovering behavior patterns of groups of people and trends of the sensed people.
In an exemplary embodiment, a data set can be generated by the following queries based on a digitized interval (e.g. hour, day, week, month or year) of the collected timestamp. The following list is an exemplary list of queries using a digitized interval of the timestamp.
a) Show the average number of people per hour.
b) Show the standard deviation of people per hour.
c) Show the total number of people per hour.
d) Show the average time people spent in the field of view per hour.
e) Show the standard deviation of time people spent in the field of view per hour.
In an exemplary embodiment, a data set can be generated by the following queries based on the actual location marker or an aggregate of the location. The location marker can be a marker that represents the actual address of the store in question. Aggregation can occur based on such things as zip code, city, state, region, and/or country. The following list is an exemplary list of queries using the location marker:
a) Show the average number of people per store location.
b) Show the standard deviation of people per store location.
c) Show the total number of people per store location.
d) Show the average time people spent in the field of view per store location.
e) Show the standard deviation of time people spent in the field of view per store location.
In an exemplary embodiment, a data set can be generated by the following queries based on the combination of the timestamp and location marker. The following list is an exemplary list of queries combining the timestamp and location marker:
a) Show the average number of people per day per store location.
b) Show the standard deviation of people per day per store location.
c) Show the total number of people per day per store location.
d) Show the average time people spent in the field of view per day per store location.
e) Show the standard deviation of time people spent in the field of view per day per store location.
The
The
Next, a face detection 310 process follows. A machine learning-based approach is employed to detect faces within the skin tone region 357 determined by the previous step. This step operates on an image converted to gray scale to detect faces. The step provides the system with face windows 314 that encode both the locations and sizes of detected faces in the given video frame.
The
The perturbation of the two-dimensional facial pose (x position, y position, size, in-plane orientation) of the detected face from the standard pose (0, 0, standard size, 0 in-plane orientation) is estimated to normalize the face. After these quantities are estimated, the face image is shifted, resized, and rotated to have the standard pose.
The estimation of facial pose (position_x, position_y, scale, orientation) is carried out by employing a parallel array of multiple learning machine regressors. Each machine has an inherent pose parameter (x, y, s, o). This architecture of employing specialized learning machines contributes to highly improved accuracy, because it is well known in the machine learning community that the learning machines do a more efficient estimation when they are given more limited (specialized) tasks.
After each machine is trained, the input face 315 is fed to each of the 2D pose tuned machines 363, and the pose (x*, y*, s*, o*) of the input face 315 is estimated by the cooperative estimation 359: the sum of the inherent parameters (x, y, s, o) of all the learning machines, each weighted by the likelihood L_I, estimated by each of the two-dimensional pose tuned machines 363:
(x*,y*,s*,o*)=SUM{i=1, . . . , N}L—i*(x—i,y—i,s—i,o—i) (1)
This is a method to determine the three-dimensional pose (out-of-plane rotation) of the face detected from the face detection 310, and normalized by the 2D facial pose estimation & correction 360. The estimated 3D facial pose measures the attentiveness of the face, thereby providing useful behavior information. The estimation of the three-dimensional facial pose (yw, pt)=(yaw, pitch) is carried out by employing a parallel array of 3D pose tuned machines 373. Each machine has an inherent pose parameter (yw, pt). Given a corrected face 334, the machine is trained to estimate the likelihood of the face having the inherent pose. If the face has the pose (ywF, ptF), then the target output is the Gaussian likelihood: L=Exp(−(ywF−yw)/ky−(ptF−pt)/kp). ky, kp are constants that are determined empirically. This architecture of employing specialized learning machines contributes to highly improved accuracy, because it is well-known in the machine learning community that the machines do more efficient estimation when they are given more specific tasks.
After each machine is trained, a corrected face 334 is fed to each of the 3D pose tuned machines 373, and the pose (yw*, pt*) of the corrected face 334 is estimated by the cooperative estimation 359: the sum of the inherent parameters (yw*, pt*) of all the learning machines, each weighted by the estimated likelihood L_i of the given i-th pose, estimated by each of the 3D pose tuned machines 373:
(yw*,pt*)=SUM{i=1, . . . , N}L—i*(yw—i,pt—i) (2)
The
The
When new faces are detected in the current video frame, the track management 343 constructs a table of faces and tracks 341. Then it computes the geometric match and appearance match scores of each (face, track) pair that measure the likelihood of the given face belonging to the given track.
The geometric match score is based on difference in the position, size, and the time between the corrected face 334 and the last face in the track.
The appearance match score measures the difference between the average face appearance stored in the track, and the corrected face 334. If the total score is below a predetermined threshold, the pair is excluded from the table. The pair having the highest score gets the assignment: from the face to the track. The procedure is repeated until all the faces are assigned matching tracks.
However, if there is a new person in the scene, the face is not supposed to have a match to existing tracks 341. In that case the threshold should have excluded the face, and the face should remain in the queue. The face then generates a new track 342, and the track is added to the list of tracks 341. For every frame, if a certain track didn't have a new face 332 for more than a pre-specified time period, the track management 343 terminates the track.
The
In the exemplary embodiment, a completed track can provide all the necessary information to assess the entrance time, exit time, and the duration of attention to a fixture. The start time 567 and the end time 568 of the track are recorded, and the difference between the two time stamps represents the total dwell time.
In an exemplary embodiment, the system has an added feature to accurately measure the degree of attention during the person's attention to a fixture by computing the proportion of the time when the person paid attention to the fixture 502 out of the total duration of the person's face. The face detection 310 step detects faces having a near-frontal pose, however, there are no guarantees that a person is actually looking at the fixture at the moment. The system utilizes a novel 3D facial pose estimation 370 to have a very good assessment of the behavior. The system can determine whether the face is truly frontal, based on the estimated facial orientation. Once the track is complete, the ratio of the number of frontal faces out of the number of the detected faces is computed.
The system can store the data as a table of the behavior data 564, where each track has fields of values: time stamps, the start time 567 and the end time 568 of the track for the appearance and disappearance of the face, the number of faces 569, and the number of attentive faces 336. The data is used to collect statistics, such as the histogram 520 of viewing, the number of persons as a function of time, etc. These data are stored as behavior data, as a part of the behavior and demographics feature vector 652.
The
The
The first means for capturing images 101 can be installed anywhere near the fixture 502, and they are connected to the means for video interface 105 through cables. The means for capturing images 100 can comprise an analog camera, USB camera, or Firewire camera. The means for video interface 105, which can comprise a video frame grabber, USB interface, or Firewire interface, are typically included in the same enclosure as the control and processing system 108. The control and processing system 108 can be a general-purpose personal computer, such as a Pentium 4 PC, or a dedicated hardware that can carry out the required computation. The control and processing system 108, as well as the means for video interface 105, can be placed locally or remotely, as long as the connection to the means for capturing images 100 can be established. The internal means for storing data 542, such as internal hard disks, is placed within the same enclosure as the control and processing system 108. The external means for storing data 543, such as network storage driver or internal hard disks contained in a remote computer, can be placed locally or remotely, as long as a means for transferring data is available.
In an exemplary embodiment, a general-purpose USB webcam can serve as the means for capturing images 100. A Pentium 4 2.8 GHz PC having 1 GB memory can serve as a control and processing system 108, where a generic USB interface included in the PC's motherboard can serve as a means for video interface 105. A generic IDE hard disk drive can serve as the internal means for storing data 542 or the external means for storing data 543.
The
The skin tone detection module 211 determines the region in the image frame that is similar to the facial skin tone. The face detection module 212 then runs the face detection window over the regions determined by the skin detection module 211. The detected faces are processed by the 2D facial pose estimation & correction module 220 to normalize the facial pose. The corrected faces are first processed by the geometry/appearance matching module 214 to determine if the faces belong to the existing tracks or if some of the faces are new, so that a new track can be generated. If the face is new, then the new track generation module 215 is activated to generate a new track and put it in the queue of tracks. If the face belongs to an existing track, then the track maintenance module 216 takes the track data, and activates the 3D facial pose estimation module 218. If the geometry/appearance matching module 214 cannot find subsequent faces that belong to some track, then the track termination module 217 is activated to store the track data and remove the track from the memory queue. At the termination, the face is fed to the demographics classification module 221 to find its demographics categories. The data collection module 219 then records the behavior data along with the demographics data.
The processing software component may be written in a high-level computer programming language, such as C++, and a compiler, such as Microsoft Visual C++, may be used for the compilation in the exemplary embodiment.
While the above description contains much specificity, these should not be construed as limitations on the scope of the invention, but as exemplifications of the presently preferred embodiments thereof. Many other ramifications and variations are possible within the teachings of the invention. Thus, the scope of the invention should be determined by the appended claims and their legal equivalents, and not by the examples given.
This patent application is a continuation in part of U.S. patent application Ser. No. 11/495,934, filed Jul. 28, 2006, which is a continuation application of U.S. patent application Ser. No. 10/448,850, filed May 31, 2003, which claims the benefit of U.S. Provisional Application No. 60/399,246, filed Jul. 29, 2002
Number | Date | Country | |
---|---|---|---|
60399246 | Jul 2002 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 10448850 | May 2003 | US |
Child | 11495934 | Jul 2006 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 11495934 | Jul 2006 | US |
Child | 12002398 | Dec 2007 | US |