[ieee 2007 international conference on intelligent and advanced systems (icias) - kuala lumpur...

5
International Conference on Intelligent and Advanced Systems 2007 A Novel Map-matching Algorithm to Improve Vehicle Tracking System Accuracy Agung Dewandaru, Abas M. Said, Abdul Nasir Matori dewandaru @gmail.com,{abass,nasrat}@petronas.com.my Universiti Teknologi Petronas Abstract-The satellite-based Vehicle Tracking System accu- racy can be improved by augmenting the positional information using road network data, in a process known as map-matching. Map-matching algorithms attempt to pinpoint the vehicle in a particular road map segment (or any restricting track such as rails, etc), in spite of the digital map errors and navigation system inaccuracies. Point-to-curve matching algorithm is not suitable to the problem since it ignores any historical data and often gave unstable, jumping results. The better curve-to-curve matching algorithms considers the road connectivity and measure the similarity between track and the possible road path (hypotheses), but mostly does not have any way to manage multiple track hypotheses which have varying degree of similarity over time. The paper presents a new similarity metric for curve-to-curve map- matching technique, combined with the ability to maintain many possible road hypotheses and picks the most likely hypothesis at a time, enabling future corrections if necessary, therefore providing intelligent guesses with considerable accuracy. Index Terms-Vehicle Tracking System, Global Positioning System, Map Matching, Multiple Hypotheses Technique, Auto- matic Vehicle Location (AVL), Intelligent System. I. INTRODUCTION A broad range of applications of the Vehicle Tracking System, such as in-car navigation systems, dynamic route guidance systems, fleet management and collision avoidance systems, require continuous and accurate positioning informa- tion on the vehicle traveling on the road network [1]. The commonly used configuration for the land vehicle navigation are satellite based radio navigation systems, such as Global Positioning System (GPS), as the initial data source. It may be combined with other sensors such as gyrocompass, vehicle odometer or other dead reckoning (DR) techniques, typically employing Kalman Filter as the integrator. The use of these multiple data sources helps to correct the error on the GPS (or other satellite navigation system) position output [2]. It is common nowadays to use map-matching as an attempt to improve the accuracy [3], as well as a goal to be achieved in a navigation system. Map-matching is a computing process to integrate locational data of the vehicle with the digital map road data, usually assuming that the vehicle always take place on one link of the road network. But even with the great improvement on these satellite navigation system, added with the DR techniques and its sophisticated integration, map-matching inaccuracies are still inevitable. The challenge of map-matching algorithms lies in that it has to reconcile inaccurate locational data with 1-4244-1355-9/07/$25.00 @2007 IEEE inaccurate digital road network (map) data. If both digital maps and vehicle location are perfectly accurate, the algorithm would be a straightforward projection of a point in the map road system [4]. Unfortunately, this is almost always not the case. GPS readings varies over time, and it may degrade, especially when the environment is rather inconducive, such as in urban canyons, roads with dense tree cover, or a tunnel [1]. Moreover, the map is also subject to many error factors, complicated with the fact that the true location of the vehicle is not always lie in the one dimensional road center-lines, but can be anywhere "inside" the two dimensional road surface. Therefore, our objective is to develop an algorithm which is able to give improvement on the accuracy of map-matching process. The accuracy will be measured by a proportion of correct road matching and the number of matching made. A matching is correct if the vehicle is indeed located on the matched road. In other words, the algorithm must be able to present estimate location which coincides the road system (or subway system etc) [4]. The algorithm must also able to present unambiguous, meaningful travel route [5]. The algorithm shall aim at real-time usage, effectively enabling application of in-vehicle navigation. II. MAP-MATCHING ALGORITHMS Map-matching procedures have many approaches, varying from simple point-to-point search to the use of more complex mathematical techniques such as integration using Kalman Filters as in [6]. It is noted that the map-matching problem is complex and fairly difficult task [7], since the simple point- to-point and point-to-curve unlikely to work very well. Hence, a more complex algorithm must be used. Before further elaboration on the various algorithm, the formal problem statement adapted from [4] is included: The concern is about a vehicle (or, abstracted to any agent), moving along a finite system (or set) of roads (or, a more general concept, tracks, such as railways), N. At each T E No, the system provide the estimate of the vehicle's location. The actual location is denoted by P and the estimate is denoted by pt. The goal of map matching is to determine the road in N which contain pt The road system, N is rather unknown exactly, instead, there is network representation, N, consisting a set of curves in each of which is called an arc. Each arc is assumed to be piece-wise linear, and arc A E N can be characterized as a finite sequence of points (A°,A I , ... , AnA), each point An E The AO and AnA are called the nodes, ,..., 177

Upload: abdul-nasir

Post on 10-Mar-2017

212 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: [IEEE 2007 International Conference on Intelligent and Advanced Systems (ICIAS) - Kuala Lumpur (2007.11.25-2007.11.28)] 2007 International Conference on Intelligent and Advanced Systems

International Conference on Intelligent and Advanced Systems 2007

A Novel Map-matching Algorithm to ImproveVehicle Tracking System Accuracy

Agung Dewandaru, Abas M. Said, Abdul Nasir [email protected],{abass,nasrat}@petronas.com.my

Universiti Teknologi Petronas

Abstract-The satellite-based Vehicle Tracking System accu­racy can be improved by augmenting the positional informationusing road network data, in a process known as map-matching.Map-matching algorithms attempt to pinpoint the vehicle in aparticular road map segment (or any restricting track such asrails, etc), in spite of the digital map errors and navigation systeminaccuracies. Point-to-curve matching algorithm is not suitable tothe problem since it ignores any historical data and often gaveunstable, jumping results. The better curve-to-curve matchingalgorithms considers the road connectivity and measure thesimilarity between track and the possible road path (hypotheses),but mostly does not have any way to manage multiple trackhypotheses which have varying degree of similarity over time. Thepaper presents a new similarity metric for curve-to-curve map­matching technique, combined with the ability to maintain manypossible road hypotheses and picks the most likely hypothesis at atime, enabling future corrections if necessary, therefore providingintelligent guesses with considerable accuracy.

Index Terms-Vehicle Tracking System, Global PositioningSystem, Map Matching, Multiple Hypotheses Technique, Auto­matic Vehicle Location (AVL), Intelligent System.

I. INTRODUCTION

A broad range of applications of the Vehicle TrackingSystem, such as in-car navigation systems, dynamic routeguidance systems, fleet management and collision avoidancesystems, require continuous and accurate positioning informa­tion on the vehicle traveling on the road network [1].

The commonly used configuration for the land vehiclenavigation are satellite based radio navigation systems, suchas Global Positioning System (GPS), as the initial data source.It may be combined with other sensors such as gyrocompass,vehicle odometer or other dead reckoning (DR) techniques,typically employing Kalman Filter as the integrator. The useof these multiple data sources helps to correct the error on theGPS (or other satellite navigation system) position output [2].

It is common nowadays to use map-matching as an attemptto improve the accuracy [3], as well as a goal to be achievedin a navigation system. Map-matching is a computing processto integrate locational data of the vehicle with the digital maproad data, usually assuming that the vehicle always take placeon one link of the road network.

But even with the great improvement on these satellitenavigation system, added with the DR techniques and itssophisticated integration, map-matching inaccuracies are stillinevitable. The challenge of map-matching algorithms liesin that it has to reconcile inaccurate locational data with

1-4244-1355-9/07/$25.00 @2007 IEEE

inaccurate digital road network (map) data. If both digitalmaps and vehicle location are perfectly accurate, the algorithmwould be a straightforward projection of a point in the maproad system [4]. Unfortunately, this is almost always not thecase. GPS readings varies over time, and it may degrade,especially when the environment is rather inconducive, such asin urban canyons, roads with dense tree cover, or a tunnel [1].Moreover, the map is also subject to many error factors,complicated with the fact that the true location of the vehicleis not always lie in the one dimensional road center-lines, butcan be anywhere "inside" the two dimensional road surface.

Therefore, our objective is to develop an algorithm whichis able to give improvement on the accuracy of map-matchingprocess. The accuracy will be measured by a proportion ofcorrect road matching and the number of matching made.A matching is correct if the vehicle is indeed located onthe matched road. In other words, the algorithm must beable to present estimate location which coincides the roadsystem (or subway system etc) [4]. The algorithm must alsoable to present unambiguous, meaningful travel route [5]. Thealgorithm shall aim at real-time usage, effectively enablingapplication of in-vehicle navigation.

II. MAP-MATCHING ALGORITHMS

Map-matching procedures have many approaches, varyingfrom simple point-to-point search to the use of more complexmathematical techniques such as integration using KalmanFilters as in [6]. It is noted that the map-matching problemis complex and fairly difficult task [7], since the simple point­to-point and point-to-curve unlikely to work very well. Hence,a more complex algorithm must be used.

Before further elaboration on the various algorithm, theformal problem statement adapted from [4] is included: Theconcern is about a vehicle (or, abstracted to any agent), movingalong a finite system (or set) of roads (or, a more generalconcept, tracks, such as railways), N. At each T E No, thesystem provide the estimate of the vehicle's location. Theactual location is denoted by P and the estimate is denotedby pt. The goal of map matching is to determine the road inN which contain pt ~ The road system, N is rather unknownexactly, instead, there is network representation, N, consistinga set of curves in ~2, each of which is called an arc. Eacharc is assumed to be piece-wise linear, and arc A E N can becharacterized as a finite sequence of points (A°,A I , ... , AnA),each point An E ~2. The AO and AnA are called the nodes,

,..., 177

Page 2: [IEEE 2007 International Conference on Intelligent and Advanced Systems (ICIAS) - Kuala Lumpur (2007.11.25-2007.11.28)] 2007 International Conference on Intelligent and Advanced Systems

International Conference on Intelligent and Advanced Systems 2007

where it may represents a connection to other arc. Also, therest of the points An in the set are referred as shape points.The problem is called map-matching problem because the firstgoal is to match the estimated location pt, with an arc A E N,and then determine the road, A E N, which correspond to theperson's actual location pt. The secondary goal is to inferon which spot of the road arc the vehicle is located. That is,a point on A that best corresponds to pt. The third goal ofmap-matching is delivering a set of road arcs that forms aunambiguous, meaningful travel route of the vehicle. That is,providing a connected sequence of (Ao,AI,A... ,Ak ) whichresulted from set of A resulting from the first goal.

A. The point-to-point and point-to-curve matching

Simplest point-to-point algorithm will snap the estimatedlocation pt to the closest node or shape point in the network.The notion of"closest" or "nearest" will depends on the metricused, such as euclidean distance. This technique is fast andeasy to implement but suffers from too much dependency onthe resolution of the arc. If there are two similar roads inparallel, and pt lies in between those roads, then the road arcwith more shape points are more likely to be matched to [4].

The point-to-curve algorithm will select the piece-wise arc(or curve) nearest to the estimated point pt, and find theprojection of the estimated point on the curve. This is morenatural, but may still having the "unstable" property [3], justlike the previous algorithm. It is because these algorithm doesnot care for the continuity and connectivity of the route. Asnapped point may be at one time on arc A and suddenlyjumps to arc B, then being snapped again on arc A, accordingto the "nearest" metric discussed above.

B. The curve-to-curve matching

A better, albeit more complex, method is to compare thesimilarity between two curves: the algorithm considers asequence of estimated positions and matches this to the closestarc. Assuming there are m positions, the algorithm is to findthe arc most similar to the piecewise linear arc P, defined byestimated points (pO, pI , .. , pm). Hausdorff distance worksto measure the curve similarity, and are easy to calculate butdoes not consider the course of the curves. This is relativelyunattractive compared to, say, Frechet distance, which is hardto compute but does the curve comparison well, since themovement of the vehicle does create a course in its track curve.More discussion could be found in [8].

There are offline algorithms which use Frechet distance, butas a consequence from the real-time constraint, it is decided toimplement a faster way to compute distance between curves.One way is by using parameterized (unidirectional) curve. Thedistance between two curves P and C, assuming that the curvesare parameterized in p : [0, 1] ~ P, can be written as IIP­Gil = Jolllp(t) -c(t)lIdt. The problem with this metric is thatit will not operate very well on curves with quite differentlength or size [9]. We will modify this metric so that it maywell-handle the curves with different size.

178 ---

The first modification is done by picking the shorter curve ofthe two as Q = min(P, G), and the longer R = max(P, G),and Rinit denotes the initial portion curve of R with the samelength of Q, then

liP - ell =1111q(t) - rinit(t)lldt + Dr

where Dr is the residual distance, which is

Dr = 111Iq(1) - rres(t)11

where Rres is the last portion of R which follows the equationR = Rinit + Rres . This way, the metric will emphazise moreon the initial portion of the curves rather than full curvecomparison of two differing sized curves.

The second modification is by translating one of the curvesso that the initial points of those curve coincides. Let R' isthe translated curve of R, such that

r'(t) = r(t) - T

where T is the translation delta, obtained from the initial pointsdifference.

T = r(O) - q(O)

This R' is to replace R in our previous metric. Themotivation behind this aligning is to focus on the curvatureof the curves, and not the euclidean distance between thecurves. The motivation behind this is to supress the weaknessof the original metric. It could be shown that using theoriginal metric, a very different curve may be reported moresimilar than two identical curve, provided that some specialarrangement on the curve position are made.

We may note that the last modification will discard theeuclidean distance factor, Le. two curves have the samesimilarity, even if we separate those curves away to a veryfar distance. This is not suitable for map-matching whichprefer closer road arcs as the better matching hypothesis,provided both have identical curvature. So the last modi­fication is to account the maximum distance between twocurve M, as a multiplier of the metric. This variable iscalculated from the larger value between M init and M res ,Le. M = max(Minit , Mres ), where:

M init = max IIq(t) - rinit(t) IItE[O,I]

M res = max Ilq(l) - rres(t) IItE[O,I]

Note that M init is the maximum distance between theshorter curve to the initial portion of the longer curve. Simi­larly M res is the maximum distance between the end point ofthe shorter curve Q to the last portion of the longer curve R.Thus the final modification should read as:

liP - Gil = M 111Iq(t) - r~nit(t) Iidt + Dr,

This distance metric will be further referred as arc similarity,

Page 3: [IEEE 2007 International Conference on Intelligent and Advanced Systems (ICIAS) - Kuala Lumpur (2007.11.25-2007.11.28)] 2007 International Conference on Intelligent and Advanced Systems

International Conference on Intelligent and Advanced Systems 2007

(b) Hypotheses Tree Structure

Fig. 1: Hypotheses Tree Generation and Choosing the Winner

nodes and path generated at TalGen(Ta)m - - - - - -

nodes and path generated at Tb/Gen(Tb)m

Gen(Tb)

startpoin~

Gena~(T . 8 Gen(Tb)1 orstart POint xO~ Choice(Tb)=1-2-3-7-8

3 ***** Gen(Ta)1

),* .. ;"1....14\, , '!..IGen(Ta)2

Choice(To) 2

1....~

[email protected]®Gen(Tb)2

Gen(Ta}3 orChoice(Ta)=1-2-6

Nodes createdby first guessingprocess

I:jl The system generates theL!J hypotheses at Ta, Gen(fa).

Using arc similarity, it picks themost probable hypotheses at thattime, Choice(fa). This time it(temporarily) incorrectly infers thevehicle route as (1-2-6).

~ At Tb, the system will produce~ Gen(Tb), by growing the

previous hypotheses set by thegrowth length 0 (the estimatedlast travelled distance calculated fromthe last update is used to "advance" the vehicle hypotheses)

rJl Among the new hypotheses is that (1,2,3,7,8) and (1,2.6,5). The hypotheses (1,2,6,5), represented~ by Gen(Tb)2 is the result of growing Gen(fa)l. Notice that Gen(Tb)2 is exactly D distance from

Gen(fa)1. All hypotheses will be compared with last travelled vehicle track L for the similarity.It is clear at Tb, that the more probable route is (1,2,3,7,8) since there is a sharp right tum which isonly possible on that route. Indeed, the system use arc similarity metric and picks Gen(Tb)l asthe winner for epoch Tb/Choice(Tb).

(a) The Map and Vehicle Track

Let (To, T I , ... , T (X)) indicates a sequence of timestampwithin a fixed time interval (e.g. 5 seconds). Each Tn is calledan "update", and it holds that T j happens earlier than Tk ifj < k . Each update is the time for the system to updatethe hypotheses and do map-matching based on the retrievedinformation from navigation system.

The figures shows that at Ta , the system must find onwhat road the vehicle is on, based on the previous estimatedpositions P (a) = (pTa, pTl , pT... , pTa) and also the previoushypotheses set H. In the figure, H = {(1,2)} (to simplify theillustration, assume that is the only hypothesis at Ta beforeit was grown). This is where the curve-to-curve algorithmperforms. It must find all possible, adjacent curves (roads)from all previous hypotheses, to compare it with the lastvehicle track for some distance C. In order to do that, itmust grow the hypotheses tree H for some growth-distanceD, which is estimated from IIpTa - pTa-lll. Usually thesetting is that C > D. The algorithm then pick the mostsimilar hypothesis (the one with minimum sums of all arcsimilarity distance performed for that hypothesis) tentativelyand the system will present that as the road where the vehicleis located. Back to the figure, at Ta , there are at least threenew hypotheses: the vehicle went through the route (1,2,6), orthe road (1,2,3,7), or (1,2,3,4). The hypothesis (1,2) is notincluded because it is the old hypotheses upon which the

J{

III. MANAGING MULTIPLE HYPOTHESES

A pioneering work of Reid, later popular as MultipleHypotheses Technique (MHT), spawns many researches andapplications. It is based on Bayesian probability, to generatea set of data-association hypotheses to account for all pos­sible origins of every measurement. It can be used to trackmultiple targets in a cluttered environment, by associatingmeasurements with the appropriate tracks of the targets move­ment [10].

The hypotheses can be shown as a tree (represented as a ma­trix in computer), which lists measurement-oriented hypothe­ses, Le. every possible target is listed for each measurement.A measurement represented as a level of that tree. Each nodeson a particular level is a possible target for a measurement.This technique is formulated for multiple targets, and a VehicleTracking System brilliant research by reformulating MultipleHypotheses Technique to a single target problem can be foundin [6].

This paper took the similar direction, by reformulatingMultiple Hypotheses Technique as a single target problem, andgenerating pseudo measurement using adjacent road networks.Each hypothesis H inside H consist of sequence of points(HO, HI , ... , HnH) and a corresponding road segment for eachHn. It means that each hypothesis is a possible vehicle route.It also uses the tree representation, consisting of a root nodeand a number of hypotheses tree H as its children (n-ary tree).A hypotheses is a full path of that tree, from root to the leaves,where Hn is a direct parent of Hn+ I. It is easy to see that thenew hypotheses "grow" on the previous hypotheses. The treeof hypotheses is illustrated in Figure 1b. The map-matchingprocess, however, does not use any probability calculation ofeach hypotheses. Instead, the arc similarity metric will be usedto evaluate each of the hypotheses to pick the best road thevehicle is on.

The advantage on maintaining multiple hypotheses is thatthe system may correct the previous wrong choices of road(s).Road Reduction Filter [2] employs similar idea but limiteduntil the vehicle founds a junction. The central concept is toevaluate the last C distance route (can be composed of manyconnected roads) of the estimated vehicle track, and findingthe route on the map that is similar to that previous track. Inthe Figure 1a, the real road taken by the vehicle is throughthe node (1,2,3,7,8). The bold dotted arrow at the centerrepresents sequence of GPS-reported estimated positions (Le.the estimated vehicle track). The corresponding hypothesestree for the scenario can be seen in Figure lb. For explanationpurpose, the hypothesis point H n information will omitted,and the discussion would use the road segment informationinstead. Therefore a hypothesis will be represented as sequenceof node such as (1,2,3,7,8), which has the meaning thatthe vehicle went trough nodes 1,2,3,7 and is currently liessomewhere between node 7 and node 8.

and will be used as the primary method on matching thevehicle tracks to the correct road arcs.

--- 179

Page 4: [IEEE 2007 International Conference on Intelligent and Advanced Systems (ICIAS) - Kuala Lumpur (2007.11.25-2007.11.28)] 2007 International Conference on Intelligent and Advanced Systems

International Conference on Intelligent and Advanced Systems 2007

new hypotheses must grow. Hypothesis which has very lowsimilarity like (4,3,2,1) is considered "bad" and will not be partof the generated hypotheses. It would not be possible to have"jumping points" hypothesis like (1,2,7,8).Let us say that thearc similarity distance choose the sequence (1,2,6) and makesit the winner for this update, but because (1,2,3,7) and (1,2,3,4)is quite "good", then these two hypotheses will remain forsome time, making them to become future candidates.

To see more detail of the process, the content of thehypotheses tree is displayed in Figure 1b. Before Ta , there isonly one hypothesis available in the tree, H = {(I, 2)}. This isthe result of the first guess performed at To using simple point­to-curve matching, since there are no sufficent informationavailable (i.e no hypotheses yet) at the first time. Note thatthe nodes 3,7,4, and 6 is generated on the grow phase of Ta

(noted by Gen(Ta )). After the growth of the tree (hypothesesgeneration) ofTa , H = {(I, 2, 3, 7), (1,2,3,4), (1,2, 6)}. Thisgenerated hypotheses Gen(Ta ) is drawn using dotted line onthe Figure 1b and is "grown" over the previous hypothesesH={(1,2)}.

The next update, Tb, the system will again grow the tree (thegeneration process noted by Gen(Tb)), this time the growthdistance D can be seen in Figure la, step 3. This will grow twoleaves to the hypotheses tree, that is the two new hypotheses:(1,2,3,7) added with the node 8, becomes (1,2,3,7,8) and theaddition of node 5 to (1,2,6), which will becomes (1,2,6,5).Notice that there are no growth on the (1,2,3,4) branch becauseit is too dissimilar to the last vehicle track. Whenever the arcsimilarity distance of a branch yield D > D max , it will bediscarded immediately and will not added to the hypothesestree. Also, it is clear now that (1,2,3,7,8) is much more similarcompared to (1,2,6,5). Hence, the algorithm picks this as thewinner for Tb, as noted by Choice(Tb) on the diagram.

To see the overall picture of the algorithm, it is important tonote that the map-matching algorithm is executed per update,which is illustrated by the flow chart figure 2. The first step isto get estimated location update from the navigation system.It will then check whether the hypotheses set is empty or not.An empty hypotheses set indicates either the system does itfirst update or the system fail to match the reported locationto any road segment for some times. The latter is because thealgorithm prunes all "dead" (i.e. too unprobable) hypothesesand will left the system with no hypotheses at all.

An empty hypotheses set needs initial hypotheses generationby other map-matching methods, which is point-to-curvein thisconfiguration. It will select the nearest road segment within acircular area around the reported vehicle location.

If the hypotheses set H is not empty, the system will justgrow it for a D distance. It does the growing by tracing theadjacent road network for the length of D, and to incorporate"good" candidates into the hypotheses set. After the growing,the system will compare all hypotheses with the last vehicletrack for some distance C. The comparison is done using arcsimilarity metric. The details of this growing process is alreadydiscussed previously, leaving only the hypotheses pruning tobe explained.

180 ---

Fig. 2: Flowchart of the algorithm

The reason behind the pruning is because the algorithmpresents an ever-growing hypotheses tree problem. The im­plemented pruning algorithm is to assign Time-To-Live (TTL)counter to each node of the tree. The TTL counter is reducedfor all "bad", non-growing hypotheses. On the other hand, theTTL counter remain intact for a "good", growing hypothesesbranch. When a particular branch has zero TTL, it will bepruned up to non-dead nodes.

IV. THE EXPERIMENT

~\

Fig. 3: The Experiment Data and Map Matching Result

The experiment was done in Batu Gajah town in Perak,situated around 40 28' 6.39" N, 101 0 2' 33.68" E. It is a smalltown of without high-risers, but has considerable GPS signalobstacle along the route such as fly-over, and many two-threestories building siding the roads. The road network is digitizedusing our simulator (ViTracker), which is estimated to haveworst accuracy of 29.6 m. There are 173 nodes involved

Page 5: [IEEE 2007 International Conference on Intelligent and Advanced Systems (ICIAS) - Kuala Lumpur (2007.11.25-2007.11.28)] 2007 International Conference on Intelligent and Advanced Systems

International Conference on Intelligent and Advanced Systems 2007

in 66 roads. The sky was bright, the weather was fine, andthe GARMIN (e-Trex Legend) handheld GPS that we usedreported varying accuracy, with the mode of 7 meters. It canbe said that this is an easy scenario but will be enough as aproof of concept of the new Algorithm.

We drove trough predetermined roads path for 563 seconds,upon which we learned the GPS estimated reports of thatjourney for each seconds (one GPS epoch is set to a second).Total route length is 3.51 km, and the average speed is 22.43kph. We used MapSource to convert the data into text formatand later on imported that data to ViTracker.

The simulator is then fed with the data, coupled with thenew algorithm and also the basic map-matching algorithm(point-to-curve map-matching) as the benchmark. Out of the140 system update (each four GPS ticks/seconds), the basicmap-matching incorrectly matched 19 times (which is 86.43%accuracy) while the new algorithm presents no error but with10 corrections. On the near real-time gross error it can besaid that the algorithm performs better (92.86%), and on thefinal result the new algorithm presents perfect (100% accuracy)for road inferences. While this result cannot be overgener­alized due to the limited experiment but it proved that thealgorithm works on a (quite typical) case with a considerableimprovement of accuracy. The performance summary is shownin Table I.

Category Naive Proposed AlgorithmTotal Errors 19 10Total Prediction 140 140Gross Accuracy 86.430/0 92.86%Corrected Err. nla 10Net Accuracy 86.43% 100%

TABLE I: Performance of the Algorithm

The digitized road network and the recorded vehicle route(obtained from GPS) are displayed in dots of Figure IV. Thealgorithm is fed with the recorded route and it gave the map­mathed outcome in connected dots that lies exactly in the road­center lines. It can be seen that there is varying estimatedvehicle track error, which is gradually changing over time.This is a direct effect of GPS and map inaccuracies.

V. CONCLUSION

The arc similarity distance and the new map-matchingalgorithm have been implemented. Both code relies heavilyon recursion, which makes it somewhat limited by the stackand reduce its speed. The other consideration is about theexplosion of hypotheses data, if the system allows two-waysinternodes hypotheses generation at each update. It would be agood ability to handle assumption that the vehicle able to takea 1800 at each update. Currently the algorithm only allowed tobranch the hypotheses tree only at the road junction, and thebranches cannot refer to the previous road. The solution forthis hypotheses explosion problem is to implement a simpledetector of the vehicle's 1800 turn, which will effectively

limiting the number of hypotheses. It might be a fuzzy logicrule, neural networks, or even a simple algorithm based onvehicle's heading.

Setting the weaknesses aside, the simulation result showeda remarkable accuracy improvement due to the algorithm'sability to pick a better interpretation upon the vehicle track.On the second objective, it can be seen that the algorithm caninfer the spot that the vehicle is located within the correctarc, albeit the several seconds latency given by the effect ofthe near real-time constraint. The algorithm is also able toform the meaningful travel route, as a consequence of thehypotheses generation that is always based on the real roadnetwork connectivity. This indicate the compliance to the thirdobjective. Overall, while there are plenty of opportunities toimprove the algorithm, it is observed that this model works andcapable of giving a considerable improvement of accuracy.

REFERENCES

[1] WY Ochieng, M. Quddus, and RB Noland. MAP-MATCHING INCOMPLEX URBAN ROAD NETWORKS. Brazilian Journal of Car­tography (Revista Brasileira de Cartografia), 55(2):1-18, 2003.

[2] G. Taylor, G. Blewitt, D. Steup, S. Corbett, and A. Car. Research ArticleRoad Reduction Filtering for GPS-GIS Navigation. Transactions in GIS,5(3):193-207,2001.

[3] D. Andersson and J. Fjiillstrom. Vehicle Positioning with Map MatchingUsing Integration of a Dead Reckoning System and GPS. PhD thesis,Master Thesis, Linkoping University, Sweden, 2004.

[4] CE White, D. Bernstein, and AL Kornhauser. Some map matchingalgorithms for personal navigation assistants. Transportation ResearchPart C: Emerging Technologies, 8(1):91-108, 2000.

[5] Jianyu (Jack) Zhou. A three-step general map matching method in the gisenvironment: Travel/transportation study perspective. In UCGIS SummerAssembly 2005,2005.

[6] J.S. Pyo, D.H. Shin, and T.K. Sung. Development of a map matchingmethod using the multiple hypothesistechnique. Intelligent Transporta­tion Systems, 2001. Proceedings. 2001 IEEE, pages 23-27, 2001.

[7] M.A. Quddus, W.Y. Ochieng, L. Zhao, and R.B. Noland. A general mapmatching algorithm for transport telematics applications. GPS Solutions,7(3):157-167,2003.

[8] H. Alt, C. Knauer, and C. Wenke Comparison of Distance Measures forPlanar Curves. Algorithmica, 38(1):45-58, 2003.

[9] G. Taylor and G. Blewitt. Virtual differential GPS & road reductionfiltering by map matching. Proceedings of ION, 99:1675-1684, 1999.

[10] D. Reid. An algorithm for tracking multiple targets. Automatic Control,IEEE Transactions on, 24(6):843-854, 1979.

--- 181