Download presentation
Presentation is loading. Please wait.
1
SDTW Formal Xuehan Ye
2
Background
3
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
4
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.
5
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
6
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.
7
Offline Train
8
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]
9
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 ,[ ],-49,-50 -80? -84? polynomial fitting in row a weighted interpolation based on the APs' similarity in column
10
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
11
Construct Trace-graph
3 path segment 1 2 split point 4
12
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
13
Online Locating
14
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)
15
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.
16
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
17
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
18
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).
19
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||)].
20
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:
21
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')
22
Online RSS Sequence Collection
reverse predicted path predicted pos forward predicted path
23
Experiment
24
Experiment
25
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
26
Experiment
27
Thank you! Xuehan Ye
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.