Yasha Wang, Jiangtao Wang, Xiaoyu Zhang. School of Electronics Engineering and Computer Science,. Peking University, China. COMPSAC 2013 , 2013-7-25 ...
QTime: A Queuing-Time Notification System Based on Participatory Sensing Data
Yasha Wang, Jiangtao Wang, Xiaoyu Zhang School of Electronics Engineering and Computer Science, Peking University, China COMPSAC 2013 , 2013-7-25
Outline
Motivation System Overview Queuing Mode Recognition Data Aggregation and Queuing Time Estimation Experimental Evaluation
Motivation(1/4)
People living in big cities often feel frustrated while waiting in a long queue to pay for their purchases in the supermarket.
Motivation(2/4)
According to the survey, 30% of customers would give up their shopping plans, for they can’t stand the long waiting time to pay the goods. Crowd density in supermarkets is fluctuated with times.
An investigation conducted by Coodman et al. point out that the number of consumers changes dramatically during a day, especially on the weekends
Motivation(3/4)
So if consumers can make better plans about when and where to go shopping according to the current queuing time information in nearby supermarkets, the crowd condition is expected to be eased, thus bringing: enhanced shopping experience for customers convenience of arranging resources (such as staff and equipment) for supermarket manager.
Motivation(4/4)
Motivated by the background above, we have developed a queuing time notification system, called QTime, which detects the queuing time in supermarkets and sends notifications to users.
Outline
Motivation System Overview Queuing Mode Recognition Data Aggregation and Queuing Time Estimation Experimental Evaluation
System Overview Qtime: Phone Side
Qtime: Server Side
GPS WiFi Mic
Sensing Data Collection
Sensing Data Processing
Accel User Preference Configuration
Queuing Time Estimation
User Notification
Outline
Motivation System Overview Queuing Mode Recognition Data Aggregation and Queuing Time Estimation Experimental Evaluation
Queuing Mode Recognition
We divide the customer’s movement during shopping in supermarkets into two modes, the queuing mode and the non-queuing mode. Queuing Pattern : Scenario Introduction
After finishing his shopping plan, Tom goes for checking out. So Tom walks towards the cashiers, and after taking a quick glance he selects the shortest queue to join. After getting into the queue, Tom stands still for seconds or minutes waiting for the customer at the head of the queue completing the deal and leaving. Then, Tom moves several steps forward along with the queue and stand still waiting again. Tom’s movement in the queue repeats the pattern of standing-walking-standing until he pays his bill and walks away from the queue.
Queuing Mode Recognition
If a customer is in a queuing mode during the time period [ts, te], there are two conditions must be fulfilled:
Condition 1: Before ts and after te, the customer takes a continuous movement. Condition 2: Between ts and te, a customer’s movement consists of interleaved queuewaiting and queue-moving.
Queuing Mode Recognition
However, during the process of scanning and selecting goods, it is still possible for a customer’s movement to fulfill the above two condition, and thus causing the erroneous judgments. In order to solve this problem, we add the third condition. Condition 3: The queuing processes occur nearby the cashiers
Queuing Mode Recognition
How to inspect above 3 conditions to determine the queuing mode?
Condition 1 and 2 are inspected based on the analysis of acceleration data gathered by the phone embedded accelerometers Condition 3 is inspected by analyzing the acoustic data gathered by the phone’s microphones.
Queuing Mode Recognition
Acceleration Data Analysis (1/2)
Queuing Mode Recognition
Acceleration Data Analysis(2/2)
Next, the MIS is processed as the following steps:
Step1: Partition into blocks Step2: Noise Removing. Step3: Block Tagging. Step4: Candidate queuing series recognition.
Queuing Mode Recognition
Step1: Partition into blocks
A block is a fragment of the MIS, which contains a series of continuous 0s or 1s, and is referred to as 0-block or 1-block respectively. The number of 0s or 1s in a block is referred to as the length of the block.
Queuing Mode Recognition
Step2: Noise Removing.
The isolated 0 or 1 in a MIS is very possibly cause by noise in sensing data gathering. Based on the statistical analysis of the training data set, QTime considers the block whose length less than 2 as noise, and the 0/1 value in a noise block will be modified and thus making the block be merged into the adjacent blocks.
Queuing Mode Recognition
Step3: Block Tagging.
As mentioned above, a queue-waiting is less than 180 seconds, and a queue-moving is less than 3 seconds. As adopting a 5Hz sampling rate, the length of the 0-block representing queue-waiting is less than 900, and the length of the 1-block representing queuemoving is less than 15. QTime scans the MIS, and tags the 0-blocks whose length less than 900 as queue-waiting, tags the other 0-blocks as continuously-still, tags the 1blocks whose length less than 15 as queue-moving, and the other 1-blocks as continuously-moving.
Step4: Candidate queuing series recognition.
QTime scans MIS with block tags, all blocks series satisfying the following constraints are found and selected as candidate queuing series.
Constraint 1: the block series are between 2 blocks tagged as continuously-moving. Constraint 2: there is no block tagged as continuously-still in the series.
Queuing Mode Recognition
Acoustic Data Analysis (1/2)
The POS machine makes a beep while scanning the barcode of a good, which is unique and particular in the circumstance of supermarkets, and can only be detected by phones near the cashiers Therefore, for every candidate queuing series, if in its time duration the sound of a POS machine is identified, then it is regarded as queuing series.
Queuing Mode Recognition
Acoustic Data Analysis(2/2)
First, we collect the sound made by POS machines from different supermarkets, from which we extract the MFCC and MP features as sound benchmarks. Then we store these benchmarks in QTime server. Based on a user’s location and preferences, corresponding benchmarks are downloaded into phones. When a customer is in a supermarket, microphone will collect acoustic data. The acoustic data is divided into 2-seconds sound frames, from which the MFCC and MP features are extracted and compared to the benchmarks.
Outline
Motivation System Overview Queuing Mode Recognition Data Aggregation and Queuing Time Estimation Experimental Evaluation
Data Aggregation and Queuing Time Estimation
After measuring a customer’s queuing time, the QTime phone-side sends a measurement (called a queuing time measurement instance, MI) along with current time stamps and supermarket ID to the server. After receiving the data coming from different mobile phones, the server-side will make an aggregation and estimate current queuing time in each supermarket.
QTime will define a time window with a fixed length (which is set to be 20 minutes in the current version). Then QTime will put MIs that belong to the same supermarket and same time window into a group (called MIGroup), and calculate the average value of each MI-Group as the queuing time estimation.
Data Aggregation and Queuing Time Estimation
In the method described above, we assume that each MI is accurate and effective. However, it is not always the case.
Because precision of mobile phone sensors is limited and noise always exists in the environment, error may occur in the queuing mode recognition.
Data Aggregation and Queuing Time Estimation
QTime evaluates MI’s validity on a basis of such an assumption:
customers tend to choose the shortest queue.
So in the same market and within the same time window (assume to be 20 minutes), the queuing time measurement of different customers should be close to each other.
Data Aggregation and Queuing Time Estimation
Based on this assumption, in a MI-Group, the MIs that are obviously distant from other MIs should be detected and eliminated from group.
Outline
Motivation System Overview Queuing Mode Recognition Data Aggregation and Queuing Time Estimation Experimental Evaluation
Experimental Evaluation
In our experiments, there were 12 volunteers to participate in two big supermarkets. Experiments were conducted for 20 times, with 10 times in each supermarket. In each experiment, 12 volunteers got into a supermarket, each carrying a smartphone with the pre-installed QTime phone-side application. All phone-side applications were set to collect data and upload results of measurement.
Experimental Evaluation
For each experiment, volunteers are required to finish their queuing during the same time window. All experiments were conducted on weekends, and five time intervals were selected varying in the crowd density.
Experimental Evaluation
In each experiment, QTime server-side estimated the queuing time of a certain supermarket based on the measurements uploaded by 8 volunteers, while other 4 volunteers’ measurements were set to be test data to evaluate the estimation.
Experimental Evaluation
The condition of queuing time in a supermarket was labeled as one of 4 levels
Experimental Evaluation