SDTW Formal Xuehan Ye 2016.04.20.

Slides:



Advertisements
Similar presentations
Complex Networks for Representation and Characterization of Images For CS790g Project Bingdong Li 9/23/2009.
Advertisements

An Interactive-Voting Based Map Matching Algorithm
Learning Trajectory Patterns by Clustering: Comparative Evaluation Group D.
Word Spotting DTW.
Dynamic Programming Nithya Tarek. Dynamic Programming Dynamic programming solves problems by combining the solutions to sub problems. Paradigms: Divide.
One-Shot Learning Gesture Recognition Students:Itay Hubara Amit Nishry Supervisor:Maayan Harel Gal-On.
Author: Jie chen and Yousef Saad IEEE transactions of knowledge and data engineering.
Tracking Fine-grain Vehicular Speed Variations by Warping Mobile Phone Signal Strengths Presented by Tam Vu Gayathri Chandrasekaran*, Tam Vu*, Alexander.
Region Segmentation. Find sets of pixels, such that All pixels in region i satisfy some constraint of similarity.
Contents Description of the big picture Theoretical background on this work The Algorithm Examples.
Video summarization by video structure analysis and graph optimization M. Phil 2 nd Term Presentation Lu Shi Dec 5, 2003.
Distance Functions for Sequence Data and Time Series
Graphs & Graph Algorithms 2 Nelson Padua-Perez Bill Pugh Department of Computer Science University of Maryland, College Park.
Face Processing System Presented by: Harvest Jang Group meeting Fall 2002.
Graphs & Graph Algorithms 2 Fawzi Emad Chau-Wen Tseng Department of Computer Science University of Maryland, College Park.
Self-organizing Learning Array based Value System — SOLAR-V Yinyin Liu EE690 Ohio University Spring 2005.
RADAR: An In-Building RF-Based User Location and Tracking system Paramvir Bahl and Venkata N. Padmanabhan Microsoft Research Presented by: Ritu Kothari.
Graphs and Sets Dr. Andrew Wallace PhD BEng(hons) EurIng
Space-Efficient Sequence Alignment Space-Efficient Sequence Alignment Bioinformatics 202 University of California, San Diego Lecture Notes No. 7 Dr. Pavel.
Zero Resource Spoken Term Detection on STD 06 dataset Justin Chiu Carnegie Mellon University 07/24/2012, JHU.
Week -7-8 Topic - Graph Algorithms CSE – 5311 Prepared by:- Sushruth Puttaswamy Lekhendro Lisham.
Data Processing Functions CSC508 Techniques in Signal/Data Processing.
Prakash Chockalingam Clemson University Non-Rigid Multi-Modal Object Tracking Using Gaussian Mixture Models Committee Members Dr Stan Birchfield (chair)
Dynamic Time Warping Algorithm for Gene Expression Time Series
Nyhoff, ADTs, Data Structures and Problem Solving with C++, Second Edition, © 2005 Pearson Education, Inc. All rights reserved Graphs.
K. Selçuk Candan, Maria Luisa Sapino Xiaolan Wang, Rosaria Rossini
Lecture 6. Pairwise Local Alignment and Database Search Csc 487/687 Computing for bioinformatics.
Similarity Matrix Processing for Music Structure Analysis Yu Shiu, Hong Jeng C.-C. Jay Kuo ACM Multimedia 2006.
BING: Binarized Normed Gradients for Objectness Estimation at 300fps
ISOMAP TRACKING WITH PARTICLE FILTER Presented by Nikhil Rane.
Graphs A graphs is an abstract representation of a set of objects, called vertices or nodes, where some pairs of the objects are connected by links, called.
Course14 Dynamic Vision. Biological vision can cope with changing world Moving and changing objects Change illumination Change View-point.
A Framework for Reliable Routing in Mobile Ad Hoc Networks Zhenqiang Ye Srikanth V. Krishnamurthy Satish K. Tripathi.
Graphs Upon completion you will be able to:
Graph Theory. undirected graph node: a, b, c, d, e, f edge: (a, b), (a, c), (b, c), (b, e), (c, d), (c, f), (d, e), (d, f), (e, f) subgraph.
A global approach Finding correspondence between a pair of epipolar lines for all pixels simultaneously Local method: no guarantee we will have one to.
Instructor: Mircea Nicolescu Lecture 5 CS 485 / 685 Computer Vision.
Hybrid Indoor Positioning with Wi-Fi and Bluetooth: Architecture and Performance IEEE Mobile Data Management 2013 Artur Baniukevic†, Christian S. Jensen‡,
Shortest Path -Prim’s -Djikstra’s. PRIM’s - Minimum Spanning Tree -A spanning tree of a graph is a tree that has all the vertices of the graph connected.
Dynamic Programming Typically applied to optimization problems
Bitmap Image Vectorization using Potrace Algorithm
IAY 0600 Digital Systems Design
DM-Group Meeting Liangzhe Chen, Nov
Tracking Objects with Dynamics
smallest number of inserts/deletes to turn arg#1 into arg#2
Dejavu:An accurate Energy-Efficient Outdoor Localization System
Intelligent Information System Lab
Subway Station Real-time Indoor Positioning System for Cell Phones
Distance Functions for Sequence Data and Time Series
Data Structures and Algorithms
School of Computer Science & Engineering
A New Approach to Track Multiple Vehicles With the Combination of Robust Detection and Two Classifiers Weidong Min , Mengdan Fan, Xiaoguang Guo, and Qing.
Mitchell Kossoris, Catelyn Scholl, Zhi Zheng
The connected word recognition problem Problem definition: Given a fluently spoken sequence of words, how can we determine the optimum match in terms.
Graph Cut Weizhen Jing
Graphs & Graph Algorithms 2
Radio Propagation Simulation Based on Automatic 3D Environment Reconstruction D. He A novel method to simulate radio propagation is presented. The method.
Cos 429: Face Detection (Part 2) Viola-Jones and AdaBoost Guest Instructor: Andras Ferencz (Your Regular Instructor: Fei-Fei Li) Thanks to Fei-Fei.
Graphs Chapter 11 Objectives Upon completion you will be able to:
Dynamic Time Warping and training methods
Shortest path algorithm
Cluster Validity For supervised classification we have a variety of measures to evaluate how good our model is Accuracy, precision, recall For cluster.
IAS 0600 Digital Systems Design
SDTW Xuehan Ye
Connected Word Recognition
Xuehan Ye, Yongcai Wang, Wei Hu, Lei Song, Zhaoquan Gu, Deying Li
Topological Signatures For Fast Mobility Analysis
Important Problem Types and Fundamental Data Structures
Fragment Assembly 7/30/2019.
Understanding Sun-NP Data
Presentation transcript:

SDTW Formal Xuehan Ye 2016.04.20

Background

Point Radio-map pos signal feature (x1,y1) AP1:r1 (mean RSS strength of [point1,AP1] in 2 mins) AP2:r2 ... APn:rn (x2,y2) (xm,ym) pos signal feature (x1,y1) AP1:r1 (mean RSS strength of [point1,AP1] in 2 mins) AP2:r2 ... APn:rn (x2,y2) pos signal feature (x1,y1) AP1:r1 (mean RSS strength of [point1,AP1] in 2 mins) AP2:r2 ... APn:rn wait about 2 mins collect RSS signals

Point Radio-map pos signal feature (x1,y1) AP1:r1 (mean RSS strength of [point1,AP1] in 2 mins) AP2:r2 ... APn:rn (x2,y2) (xm,ym) predicted pos ground truth The difference between the online vector and this offline vector is smallest.

Point Radio-map Disadvantages: 1) laborious efforts to calibrate a fine-grained radio-map 2) the locating result inaccuracy and not robust problems due to random signal strength (RSS) noises. collect RSS signatures along indoor paths utilize sequence matching to enhance the location robustness

Sequence Radio-map Problems: 1) indoor path combinational explosion 2) random RSS loss during movement 3) moving speed and direction disparity during online and offline phases An undirected graph model (Trace-graph) for efficiently calibrating and storing sequence-type radio-map. Collaborative filter for data clean An efficient sub-sequence dynamic time warping (SDTW) algorithm.

Offline Train

RSS Sequence Collection pos signal feature [x1,x2; y1,y2] AP1:[r11,r12,r13,r14,r15] (r11 is not the mean value) AP2:[r21,r22,r23,r24,r25] ... APn:[rn1,rn2,rn3,rn4,rn5] pos:[x1+(x2-x1)/5*0,...,x1+(x2-x1)/5*4; y1+(y2-y1)/5*0,...,y1+(y2-y1)/5*4] [x3,x4; y3,y4] AP1:[r11,r12,r13,r14,r15,r16] AP2:[r21,r22,r23,r24,r25,r26] APn:[rn1,rn2,rn3,rn4,rn5,rn6] pos:[x1+(x2-x1)/6*0,...,x1+(x2-x1)/6*5; y1+(y2-y1)/6*0,...,y1+(y2-y1)/6*5] pos signal feature [x1,x2; y1,y2] AP1:[r11,r12,r13,r14,r15] (r11 is not the mean value) AP2:[r21,r22,r23,r24,r25] ... APn:[rn1,rn2,rn3,rn4,rn5] pos:[x1+(x2-x1)/5*0,...,x1+(x2-x1)/5*4; y1+(y2-y1)/5*0,...,y1+(y2-y1)/5*4]

Collaborative Filtering 1st fill fixed time's fill 2nd fill T1 T2 T3 T4 T5 AP1 -85 -82 -83 -81 AP2 -70 -72 -74 -77 -78 ... APn -50 -48 -49 pos signal feature [x1,x2; y1,y2] AP1:[r11,r12,r13,r14,r15] (r11 is not the mean value) AP2:[r21,r22,r23,r24,r25] ... APn:[rn1,rn2,rn3,rn4,rn5] pos:[x1+(x2-x1)/5*0,...,x1+(x2-x1)/5*4; y1+(y2-y1)/5*0,...,y1+(y2-y1)/5*4] [x3,x4; y3,y4] AP1:[r11,r12,r13,r14,r15,r16] AP2:[r21,r22,r23,r24,r25,r26] APn:[rn1,rn2,rn3,rn4,rn5,rn6] pos:[x1+(x2-x1)/6*0,...,x1+(x2-x1)/6*5; y1+(y2-y1)/6*0,...,y1+(y2-y1)/6*5] T1 T2 T3 T4 T5 AP1 -85 -82 -83 -81 AP2 -70 -72 -74 empty -78 ... APn -50 -48 -49 T1 T2 T3 T4 T5 AP1 -85 -83 -82 -81 AP2 -70 -72 -74 -78 ... APn -50 -49 if |-84-(-80)|>=T empty if |-84-(-80)|<T Avg -82 T1 T2 T3 T4 T5 AP1 -85,[ ],-83,-82,-81 AP2 -70,-72,-74,[ ],-78 ... APn -50 -50,[ ],-49,-50 -80? -84? polynomial fitting in row a weighted interpolation based on the APs' similarity in column

Collaborative Filtering a weighted interpolation based on the APs' similarity in column T1 T2 T3 T4 T5 AP1 -85 wait to be filled -83 -82 -81 AP2 -70 -72 -74 -78 ... APn -50 -49 T1 T2 T3 T4 T5 AP1 -85 -83 -82 -81 AP2 -70 -72 -74 -78 ... APn -50 -49 -80 top-K most similar APs AP1(2)=(S(AP1,AP2)*(-72)+S(AP1,APn)*(-50)+...) /(S(AP1,AP2)+S(AP1,APn)+...) S(AP1,APn)=(AP1*APn)/(||AP1||*||APn||) S(AP1,AP2)=(AP1*AP2)/(||AP1||*||AP2||) top-K most similar rows of AP1

Construct Trace-graph 3 path segment 1 2 split point 4

Construct Trace-graph vertex signal feature connected vertex 1 AP1:[r11,...,r1m1] (r11 is not the mean value) AP2:[r21,...,r2m1] ... APn:[rn1,...,rnm1] pos:[x1+(x2-x1)/m1*0,...,x1+(x2-x1)/m1*(m1-1); y1+(y2-y1)/m1*0,...,y1+(y2-y1)/m1*(m1-1)] {2,3,4} e1 represents adjacency of path segment 3 v2 path segment 1 2 4

Online Locating

Online RSS Sequence Collection moving window length T1 T2 T3 T4 T5 AP1 -88 -86 -87 AP2 -61 -62 -68 -64 -65 ... APn -70 -73 -69 -72 T1 T2 T3 T4 T5 T6 AP1 -88 -86 -87 AP2 -61 -62 -68 -64 -65 -66 ... APn -70 -73 -69 -72 maintain moving window e.g. l=5 (time points)

Candidate Vertex Set Extraction AP1 -88 -86 -87 AP2 -61 -62 -68 -64 -65 ... APn -70 -73 -69 -72 vertex signal feature connected vertex 1 AP1:[r11,...,r1m1] (r11 is not the mean value) AP2:[r21,...,r2m1] ... APn:[rn1,...,rnm1] pos:[x1+(x2-x1)/m1*0,...,x1+(x2-x1)/m1*(m1-1); y1+(y2-y1)/m1*0,...,y1+(y2-y1)/m1*(m1-1)] {2,3,4} 2 3 4 vertex signal feature connected vertex efficient AP list 1 AP1:[r11,...,r1m1] (r11 is not the mean value) AP2:[r21,...,r2m1] ... APn:[rn1,...,rnm1] pos:[x1+(x2-x1)/m1*0,...,x1+(x2-x1)/m1*(m1-1); y1+(y2-y1)/m1*0,...,y1+(y2-y1)/m1*(m1-1)] {2,3,4} EAL1 2 3 EAL2 4 EAL3 e.g.efficient AP list(EAL0):{AP1,AP2,AP4,AP8...} if J>T, vertex is added into cadidate vertex set(CVS). To evaluate AP list similarity, Jaccard similarity score is used. J(EAL0,EAL1)=||EAL0∩EAL1||/|||EAL0| If APi can be detected, it is a efficient AP.

Candidate Vertex Set Extraction signal feature connected vertex 2 AP1:[r11,...,r1m2] (r11 is not the mean value) AP2:[r21,...,r2m2] ... APn:[rn1,...,rnm2] pos:[x1+(x2-x1)/m2*0,...,x1+(x2-x1)/m2*(m2-1); y1+(y2-y1)/m2*0,...,y1+(y2-y1)/m2*(m2-1)] {3,4} 3 SF3 {2,4} 4 SF4 {2,3} 3 3 1 2 2 4 4

Candidate Sequence Set Generation vertex set signal feature [2,3] AP1:[r11,...,r1m2,r11',...,r1m3'] (r11 is not the mean value) AP2:[r21,...,r2m2,r21',...,r2m3'] ... APn:[rn1,...,rnm2,rn1',...,rnm3'] pos:[x1+(x2-x1)/m2*0,...,x1+(x2-x1)/m2*(m2-1), x1'+(x2'-x1')/m3*0,...,x1'+(x2'-x1')/m3*(m3-1); y1+(y2-y1)/m2*0,...,y1+(y2-y1)/m2*(m2-1), y1'+(y2'-y1')/m3*0,...,y1'+(y2'-y1')/m3*(m3-1)] [2,4] [SF2,SF4] [3,4] [SF3,SF4] 3 3 2 2 4 4

A complicated example In implement, length = 3 or 4. 1) often is longer than moving window 2) reduce computational complexity Get trace-graph WarpMap. Green vertexes have AP list similar with that in the moving window are added to candidate vertex set (CVS). Candidate paths of length 3 are generated from CVS to form candidate sequence set (CSS).

Subsequence Dynamic Time Warping X:=(x1,x2...xN) NA*N-matrix Y:=(y1,y2...yM) NA*M-matrix NA is the length of predefinited AP set size d(n,m):=d(xn,ym)=norm(xn-yn) xn is a vector, whose length is NA. Other functions can also be used for cost calculation, such as cos delta=1-[dot(xn,ym)/(||xn||*||ym||)].

Subsequence Dynamic Time Warping Accumulated cost matrix Xt: one sequence in collected online moving window Ys: one sequence in CSS The matched end point between Xt and Ys is determined by Ds: Set the boundary conditions of warping distance matrix:: Then the warping distance matrix is produced as:

Subsequence Dynamic Time Warping Forward SDTW Reverse SDTW if D1<=D1' pos=forward pos else pos=reverse pos vertex set reverse signal featur reverse SDTW distance rb* ra* [3,2] AP1:[r1m3',...,r11',r1m2,...,r11] AP2:[r2m3',...,r21',r2m2,...,r21] ... APn:[rnm3',...,rn1',rnm2,...,rn1'] pos:[x1+(x2-x1)/m3*(m3-1),...,x1+(x2-x1)/m3*0, x1'+(x2'-x1')/m2*(m2-1),...,x1'+(x2'-x1')/m2*0; y1+(y2-y1)/m3*(m3-1),...,y1+(y2-y1)/m3*0, y1'+(y2'-y1')/m2*(m2-1),...,y1'+(y2'-y1')/m2*0] D1' b1' a1' [4,2] [SF2,SF4]' D2' b2' a2' [4,3] [SF3,SF4]' D3' b3' a3' vertex set signal feature SDTW distance b* a* [2,3] AP1:[r11,...,r1m2,r11',...,r1m3'] (r11 is not the mean value) AP2:[r21,...,r2m2,r21',...,r2m3'] ... APn:[rn1,...,rnm2,rn1',...,rnm3'] pos:[x1+(x2-x1)/m2*0,...,x1+(x2-x1)/m2*(m2-1), x1'+(x2'-x1')/m3*0,...,x1'+(x2'-x1')/m3*(m3-1); y1+(y2-y1)/m2*0,...,y1+(y2-y1)/m2*(m2-1), y1'+(y2'-y1')/m3*0,...,y1'+(y2'-y1')/m3*(m3-1)] D1 b1 a1 [2,4] [SF2,SF4] D2 b2 a2 [3,4] [SF3,SF4] D3 b3 a3 CSS [a1...b1] D1=min{D1,D2,D3} forward pos(1:2,b1) reverse pos(1:2,b1')

Online RSS Sequence Collection reverse predicted path predicted pos forward predicted path

Experiment

Experiment

Experiment The number of AP is very important. 1) delete similar AP by MAC address, such as Hulu, DIVI 2) remain a part of APs whose RSS strength is relatively strong

Experiment

Thank you! Xuehan Ye 2016.04.12