Auto-generation of a centerline graph from a geometrically complex roadmap of real-world traffic systems using a hierarchical quadtree for cellular automata simulations
AAuto-generation of a centerline graph from a geometrically complex roadmap ofreal-world tra ffi c systems using a hierarchical quadtree for cellular automatasimulations Satori Tsuzuki a , Daichi Yanagisawa a , Katsuhiro Nishinari a a Research Center for Advanced Science and Technology, The University of Tokyo, 4-6-1, Komaba, Meguro-ku, Tokyo 153-8904, Japan
Abstract
This paper proposes a method of auto-generation of a centerline graph from a geometrically complex roadmap of real-world tra ffi c systems by using a hierarchical quadtree for cellular automata simulations. Our method is summarizedas follows. First, we store the binary values of the monochrome image of target roadmap (one and zero represent theroad and the other areas, respectively) in the two-dimensional square map. Second, we recursively divide the squaremap into sub-leafs by a quadtree until the summed-up value of pixels included inside the leaf becomes equal to orless than one. Third, we gradually remove the distal leaves that are adjacent to the leaves whose depths are shallowerthan the distal leaf. After that, we trace the remaining distal leaves of the tree using Morton’s space-filling curve,while selecting the leaves that keep a certain distance among the previously selected leaves as the nodes of the graph.Finally, each selected node searches the neighboring nodes and stores them as the edges of the graph. We demonstrateour method by generating a centerline graph from a complex roadmap of a real-world airport and by carrying out atypical network analysis using Dijkstra’s method. Keywords:
Methodology Study, Topological Thinning, Hierarchical Tree Structure, Space-Filling Curves, CellularAutomata
1. INTRODUCTION
Cellular automaton (CA), which was established by Neumann [1], has attracted scientists and researchers for years.Notably, after Wolfram found the Elementary CA Rule 184 [2], the various families of CA have been acknowledgedin the field of tra ffi c flow problems. In recent vehicular tra ffi c simulations, cellular automata have taken advantage offine-grained background cells to represent the complex geometries of real-world systems. As depicted in Fig.1, thesystem selects representative cells from the background cells as the checkpoints and constructs a graph by connectingthem. Because the vehicles move on the centerlines of the routes of the graph during simulations [3–7], it is necessaryto extract a centerline graph from a roadmap for pre-processing in realistic vehicular tra ffi c simulations.This study aims to conduct a preliminary research as the first step toward the auto-generation of the networkgraph used in practical tra ffi c CA simulations. Promising approaches for centerline extraction from twisted pathscan be found in computed tomography [8, 9], environmental and urban engineering [10–15], distance-measurementbased learning algorithms[16–23], and topological thinning [24–32]. Here, focusing our interest on the problems ofvehicular tra ffi c simulations restricts the geographic shape of the target graphs, which are summarized as follows: (1)A two-dimensional graph is su ffi cient. (2) The graph passes around the centerline of the original road map when it ison straight roads. (3) The graph has multiple lanes at intersections in order to represent various movements of vehiclesaround corners in realistic cases. Figure 2 illustrates the characteristics of (1) to (3) for reference. By considering theserestrictions in this study, we can develop new techniques that comprises both straightforwardness and computationale ffi ciency compared to the aforementioned related studies. Email addresses: [email protected] (Satori Tsuzuki), [email protected] (DaichiYanagisawa), [email protected] (Katsuhiro Nishinari)
Preprint submitted to Information Sciences June 25, 2019 a r X i v : . [ n li n . C G ] J un n this paper, we propose a method to generate a centerline network graph from geometrically complex roadmapsof real-world systems by dynamically changing the structure of a hierarchical tree, by taking advantage of the char-acteristics of solid images. Our proposed method can be summarized as follows. First, we store the binary values ofthe monochrome image of target roadmap (one and zero represent the road and the other areas, respectively) in thetwo-dimensional square map. Second, we recursively divide the square map into sub-leafs by a quadtree until thesummed-up value of pixels included inside the leaf becomes equal to or less than one. Third, we gradually remove thedistal leaves that are adjacent to the leaves whose depths are shallower than that of the distal leaf, during the shrinkingprocess. After that, we trace the remaining distal leaves of the tree using Morton’s space-filling curve [33–36], whileselecting the leaves that keep a certain distance from among the previously selected leaves as the nodes of the graph.Finally, each selected node searches the neighboring nodes and stores them as the edges of the graph. In short, weattempt to generate a centerline graph just by releasing the distal leaves.Our method significantly improves computational e ffi ciency compared to the existing algorithms. For example, agrid search technique associated with the distance functions requires a computational time of O ( N ), where N indicatesthe number of pixels in one direction of the square map. If a graph generation algorithm includes the travelingsalesman problem (TSP), it requires a computational time of O ( N !) to get the exact solutions, and O ( N N ) to getapproximations using a dynamic programming algorithm in typical cases[37], where N indicates the number of nodes.Meanwhile, the topological thinning-based algorithm reported in [32], which is the closest to our approach, requiresa computational time of O ( N ), where N indicates the number of leaves. The reason for the high computational costsis because the algorithm in [32] carries out the reconstruction of a quadtree in every iterative step of the shrinkingprocess. In contrast, our method requires a one-time recursive tree construction. Substantially, our algorithm requiresa computational time of O ( k log N ) to O ( kN ) for a shrinking process, where k indicates a scalar constant value. In thismanner, our method not only has significant straightforwardness but also shows computational e ffi ciency equal to thatof the fastest state-of-the-art algorithms such as the one in [22]. Note that, based on these advantages, we determinethe value corresponding to the parameter k experimentally, as discussed in Section 2.4.The remainder of this paper is structured as follows. Section 2, which is divided into four parts, describes ourmethod. In Section 3, we analyze the shortest path search using Dijkstra’s algorithm. Section 4 summarizes ourresults and concludes this paper.
2. METHOD
Figure 3 shows the target roadmap, which we abstracted from a real-world airport, namely the Tokyo InternationalAirport in Japan. We can divide our method into four processes: the construction process of a recursive tree on theroadmap, the release of distal leaves, the selection of nodes, and the connection of nodes by tracing the distal leavesusing a space-filling curve. Figure 4 shows a flowchart of our proposed method.
We store each element of the monochrome image of the roadmap depicted in Fig. 3 in a corresponding cell of thetwo-dimensional N r × N r array. Here, the value of one or zero in each cell represents the road and the other areas,respectively. The parameter N r denotes the number of cells in either of the vertical or horizontal directions in theoriginal roadmap, whichever is larger. After that, we recursively divide the square map into 2 × Table. 1: An example of the leaf structure.
Class Leaf {Vector L min ; // Minimum coordinates.Vector L max ; // Maximum coordinates.int D ; // Depth of the leaf.int R ; // Ordering by parent leaf.bool F end ; // Distal leaf or not.bool F del ; // To delete (release) or not.int S del ; // Sum of F del .bool F chk ; // Checkpoint or not. eaf** child; // Pointer to child leaves.Leaf** parent; // Pointer to parent leaf.} Here, the vectors L min and L max indicate the minimum and maximum coordinates of the leaf and correspond to (0 , N r , N r ) at a depth of zero, respectively. The parameter D represents the depth of the leaf. The parameter R indicates the ordering index designated by their parent leaf, which determines the geometric location of the leafamong the bundle of sub-leafs. A space-filling curve is a recursive curve that fills a space or area with a single strokeof a brush [33, 34]; by making the ordering indices of sub-leafs correspond to the space-filling curve, we can traceall the distal leaves using a sequential single curve. Here, the ordering pattern R is individually determined by thetype of space-filling curve. There exist several types of space-filling curves[38]. In this paper, we use Morton’s curve(Z-curve) because of its simplicity. The Morton’s curve gives indices between 0 and 4 to the sub-leafs; therefore, thetrajectory of traversing the sub-leafs produces a “Z” shape. Hence, the parameter R is always a number from 0 to 4.The binary parameter F end represents whether the leaf is a distal leaf or not. We determine the F end of each leaf inAlgorithm 1, which is shown later. Meanwhile, we use the binary parameter F del and parameter S del to judge whetherwe can release the distal leaf or not in Algorithm 5. In addition, the parameter F chk indicates whether we can selectthe leaf as a node of the graph or not, and we obtain F chk of each leaf using Algorithm 6. Algorithm 1 describes the procedure of the recursive quadtree construction. Lines2-9 show the process of initial-ization of all the parameters of each leaf. In the process after line9, we recursively divide the N r × N r map into 2 × B p indicates the state of a cell, which becomes one when the leaf is inside theroad and zero in other cases. In line10, we define B sp as the summed up value of B p inside the leaf. We keep performingrecursive division of the tree until the value of B sp in each leaf becomes equal to or less than one. As a result, eachof the deepest distal leaves corresponds to a single cell on the road. Figure 5 shows a hierarchically structured meshconstructed on the roadmap of the airport depicted in Fig. 3. Here, two important observations are made. First, thedistal leaves covering the cells on the inner edges of the roads always have the maximum depth of the tree. Second,each cell on the inner edges of the roads are always adjacent to the other leaves that have a shallower depth than thecell. By utilizing these characteristics, we retain only the leaves located around the centerline by releasing leavesthrough the processes in Algorithms 3 to 5.Figure 6 shows the process of tracing all the distal leaves by “a single stroke of a brush” using Morton’s curve.Here, for easy access to the distal leaf of the tree, we introduce a conventional technique of a pointer table as shown inAlgorithm 2. We can set a sequential number for all the distal leaves by incrementing the number every time Morton’scurve traverses two di ff erent distal leaves. We can create one more N r × N r array and fill the area paved by a distalleaf with the index of the leaf. Similarly, it is possible to store the pointer of each distal leaf in an N r × N r array, asshown in line8. This pointer table not only makes it easier to access all the distal leaves but also simplifies all thealgorithms. Additionally, we store a pointer of the parent leaf in line 2, which we use in the process of releasing theleaves in Algorithm 5. Figure 7 illustrates a schematic of releasing the distal leaves. Here, we consider a one-dimensional case using abinary tree for easy explanation. The parameter D mesmax indicates the maximum depth of the tree measured by tracing allthe distal leaves using Morton’s curve. First, we find out the leaves that are adjacent to the leaves having a shallowerdepth by one level compared to the deepest leaf. We flag them as the candidates and change their F del from false totrue. In this case, we flag the leaf d and leaf f as the candidates because leaf e has a shallower depth. We need toprevent the tree from over-releasing leaves because the tree releases them by units of a bundle of sub-leafs. We countthe number of F del whose state is true in every bundle of sub-leafs and store it in the S del of their parent leaf. Whenthe S del of a leaf is zero, the leaf has no candidate sub-leaf to be released. Hereinafter, we refer to such a leaf as “astable leaf.” Next, leaf B searches the state of neighboring leaves (A and C). Because leaf B is connected with a stableleaf A, we keep the distal leaf d as a candidate sub-leaf to be released. On the other hand, we have to exclude leaf f from the list of candidates regardless of the state of leaf D because leaf f connects with a vacant leaf g , which islocated outside the roads. In the end, leaf B, a bundle comprising leaf c and leaf d , is released.3 lgorithm 1 Recursive Tree Construction function T ree ( L min , L max , D , R ) Leaf . L min ← L min Leaf . L max ← L max Leaf . D ← D Leaf . R ← R Leaf . F end ← false Leaf . F del ← false Leaf . S del ← Leaf . F chk ← false Define B sp as the sum of B p ∈ [ L min , L max ] if B sp ≤ then Leaf . F end ← true for k = N child − do Leaf . child[k] ← NULL end for else for k = N child − do Set [ L kmin , L kmax ] and R k by R Leaf . child[k] ← T ree ( L kmin , L kmax , D + R k ) end for end if return Leaf end function
Algorithm 3 shows the procedure of selecting the candidates to be released. First, we detect one of the distal leavesby the process in lines 2-6. After finding a distal leaf, we examine the depth of the four neighboring leaves existingin the vertical or horizontal direction of the distal leaf as described in lines12-26. If we find that at least one of thefour neighboring leaves has a shallower depth than D mesmax , we change the F del of the leaf from false to true as shown inlines27-29. After that, in Algorithm 4, we count the number of F del whose state is true in every bundle of sub-leafsand store it in the S del of their parent leaf as described in lines 9-14. As aforementioned, when the value of S del of aleaf becomes zero, the leaf has no candidate sub-leaf to be released (the leaf can be considered a “stable leaf”).Finally, we remove leaves according to the procedure in Algorithm 5. We detect one of the parents of the distalleaves through the process in lines2-7. After finding a parent of a distal leaf, we descend to each of the four childleaves of the leaf as described in line10. We then examine the value of S del of each parent of the leaves neighboringeach child leaf as described in lines13-24. When the value of S del becomes zero, a bundle of the leaves including theneighboring leaf of the child leaf remains; we conclude that the child leaf is connected to “a stable leaf”. In this case,we change the F nbr from false to true. On the other hand, we check the value of F del of each child leaf. If at least oneof F del of child leaves is true, we change F cnd from false to true in lines27-32. As long as both F nbr and F cnd are true,we release all the child leaves as described in lines33-39.We set the parameter F stop to be false at the root of the tree. By examining the value of F stop after performingAlgorithm 5, we can judge whether the release of leaves occurs at least once or not. We repeat the procedures inAlgorithms 3 to 5 to shrink the area around the centerline. It should be noted that it is necessary to update the pointertable Table(i , j) and D mesmax at every step after executing the processes in Algorithms 3 to 5.Let us define N rep as the number of times the shrinking process is repeated and N maxrep as the number of times it isrepeated until F stop changes from false to true. Practically, repeating the shrinking process N maxrep times often causesover-release of the leaves. In the example shown in Fig. 8, the parameter N maxrep becomes eighteen while it is adequateto set N rep to six for generating a centerline graph. Hence, it is reasonable to regard the parameter N maxrep as a limit ofiteration; at present, the actual number of N rep needs to be adjusted for individual cases in the range from zero to N maxrep .The shrinking process by using Algorithms 2 to 5 requires less computational time compared to the case ofreconstructing quadtrees in every step of the N rep iterations. Figure 9 shows a comparison of the computational time4 lgorithm 2 Generation of Table function gen T able (Leaf, parent) Leaf . parent ← parent if Leaf . F end = false then for k = N child − do gen T able (Leaf . child[k], Leaf) end for else for all j s.t. Leaf . L min . y ≤ j ≤ Leaf . L max . y do for all i s.t. Leaf . L min . x ≤ i ≤ Leaf . L max . x do Table[i][j] ← Leaf end for end for end if end function consumed for the shrinking process between the repetitive reconstruction of quadtree and the proposed method, on asingle core of an Intel Core i7-8650U CPU (1.90GHz). The result shows that our approach reduces the computationaltime by about 2.95 times compared to the repetitive tree reconstruction-based method.
After shrinking the road areas using Algorithm 5, we trace all the remaining distal leaves of the tree by Morton’scurve to choose the nodes from these distal leaves, which keep a certain distance, from among the previously selectednodes as described in Algorithm 6. To begin with, we detect one of the distal leaves by using the procedure in lines2-6.After finding a distal leaf, we check the distance between the leaf and all the already registered nodes in lines8-14.Here, the parameter N crrchk represents the number of registered nodes. If all the distances between the leaf and eachnode registered at that time become larger than a certain distance η , we change the F chk of the leaf from false to trueand add the leaf to the list of registered nodes. After that, we increment the parameter N crrchk by one as shown in line18.Algorithm 7 describes the procedure of connection of nodes, and Figure 10 shows its schematic view. First, wedefine a cut-o ff radius (cid:15) . Each node searches the other nodes located within the range (cid:15) as in lines5-6 of Algorithm 7.When the node j finds that another node i satisfies this condition, the node j checks whether the relative vector fromnode j to node i only traverses the cells on the roads as shown in lines7-18. If it is true, the node j adds the node i toits connectivity list as shown in lines19-21.The cut-o ff radius (cid:15) is the parameter that controls the degree of connectivity among the nodes; we experimentallydetermine it within a few times as large as the parameter η in typical cases to strengthen the connectivity at intersec-tions while keeping the geometry of the original roadmap. To summarize, we have two deterministic parameters andtwo experimental parameters: the number of cells in one direction N r , the distance among nodes η , the number oftimes of repeating the shrinking process N rep , and the cut-o ff radius (cid:15) .Figure 11 shows a graph generated from the roadmap of Fig. 1 by using the procedures in Algorithms 1 to 7, andFigure 12 shows an enlarged view of Fig. 11. The white-colored rectangle lines indicate the hierarchically structuredleaves at a depth of zero, for reference. We set the pair of ( N r , η, N rep , (cid:15) ) to be (2048 , , ,
28) to generate the graph.It was confirmed that the paths were constructed near the centerlines for the straight roads and multiple lanes wereconnected around each intersection.
3. GRAPH NETWORK ANALYSIS
As a case study, we carry out a shortest-path finding using Dijkstra’s algorithm for a network generated fromthe Tokyo International Airport in Japan. In one example, we calculate the shortest paths from the entrance of thehigh-speed taxiway in runway B to the departure lane of runway C or that of runway D via a checkpoint in Terminal 1.5 lgorithm 3
Selection of Candidates function select C andidate (Leaf) if Leaf . F end = false then for k = N child − do select C andidate (Leaf . child[k]) end for else if Leaf . D = D mesmax then flag ← false i ← Leaf . L min . x j ← Leaf . L min . y d ← (Table[i + if d < D mesmax then flag ← true end if d ← (Table[i-1][j].D) if d < D mesmax then flag ← true end if d ← (Table[i][j + if d < D mesmax then flag ← true end if d ← (Table[i][j-1].D) if d < D mesmax then flag ← true end if if flag = true then Leaf . F del ← true end if end if end if end function Figure 13 shows the calculated paths from node a to node b or node c via node d by using Dijkstra’s algorithm, andFigure 14 shows an enlarged view of Figure 13. Several reasonable results are observed. First, the calculated pathsshow a characteristic of Euclidean distance rather than Manhattan distance because of the high-resolution image ofthe roadmap. We confirmed that the path connecting node a and node d crosses the runway A as diagonally as pos-sible. This is understandable because of the “triangle inequality” relation among the three edges of a rectangle, thediagonal vertices of which are given as node a and node b . A similar explanation can be made for the fact that thepath connecting node d and node c shows two straight lanes including a single corner. As mentioned in the Introduction, this paper aims to conduct a preliminary study as the first step toward the auto-generation of the network graph used in practical tra ffi c CA simulations. To discuss the applicability of our method totra ffi c CA simulations quantitatively, we examine the node connectivity of the generated graph in Fig.14. Figures 15(a)to (e) show the histograms of the node connections for di ff erent (cid:15) between 12 and 44; the horizontal axis indicates thenumber of connections per node, and the vertical axis shows their distributions in each case. In Fig.15(c), the nodeson the straight roads contribute to the emergence of a peak at the value of six, which indicates that the nodes on thestraight lines connect each other not only between the neighboring nodes but also among three nodes away in the front6 lgorithm 4 Sum of F del over a Bundle of Sub-leafs function check B ranches (Leaf) if Leaf . D (cid:44) D mesmax and Leaf . D (cid:44) D mesmax − then for k = N child − do check B ranches (Leaf . child[k]) end for else if Leaf . D = D mesmax − then Leaf . S del ← for k = N child − do if Leaf . child[k]. F del = true then Leaf . S del ← Leaf . S del + end if end for end if end if end function and back directions. It can be said that this redundant connectivity could enrich the functionality of the applicationssuch as bypass roads or passing phenomena. Furthermore, Fig.15(f) shows the dependence of the positions of thepeaks generated by the nodes of the straight roads on the parameter (cid:15) . Figure 15 clearly shows that the number ofconnections between nodes on straight roads is proportional to the parameter (cid:15) .Meanwhile, the nodes at the intersections contribute to the moderate distribution at the lower part of each case. Thedispersion of each distribution directly correlates to that of the connections at each node; thus, the sharp distributionprovides a high uniformity for the number of selections of paths at intersections. From Fig.15(a), it can be seenthat most of the nodes at the intersections connect with two nodes because of the small (cid:15) , and therefore the secondpeak emerges (here, we several nodes disconnect from each other because the parameter (cid:15) is too small; as for thesetting of the parameter (cid:15) , we must adjust the parameter (cid:15) experimentally as described in Section 2.4). In any case,the histograms in Fig.15 give an objective view of the generated graphs. Further comparisons of these histograms indi ff erent related methods must be conducted in a future work.
4. CONCLUSIONS
In this paper, we proposed an e ff ective method for the auto-generation of a centerline graph from geometricallycomplex roadmaps of real-world tra ffi c systems by using a hierarchically structured tree.Our method is summarized as follows. First, we store the binary values of a solid image of a roadmap in atwo-dimensional square map. Second, we recursively divide the square map into sub-leafs by a quadtree until thesummed-up value of pixels included inside the leaf becomes equal to or less than one. Third, we gradually removethe distal leaves that are adjacent to the leaves whose depths are shallower than the distal leaf during the shrinkingprocess. After that, we trace the remaining distal leaves of the tree using Morton’s curve, while selecting the leavesthat keep a certain distance from among the previously selected leaves as the nodes of the graph. In the end, eachselected node searches the neighboring nodes and stores them as the edges of the graph.The features of our method are as follows: (1) a straightforward method using only a hierarchical tree withoutcombining any other supportive algorithms such as distance function, (2) the direct generation from a solid image,and (3) multiple lanes at each intersection. Besides, our method significantly improves computational e ffi ciencycompared to the existing algorithms; it requires only a one-time recursive tree construction. This is a significant pointcompared to the previous studies.Additionally, we demonstrated the shortest-path findings of the generated graph using Dijkstra’s algorithm. It isquite meaningful that we successfully established a methodology to generate a network graph that is suitable for thestudies of vehicular tra ffi c CA simulations. 7 cknowledgements References [1] J. V. Neumann,
Theory of Self-Reproducing Automata (University of Illinois Press, Champaign, IL, USA, 1966).[2] S. Wolfram, Statistical Mechanics of Cellular Automata, Rev. Mod. Phys. , 601 (1983).[3] K. Yamamoto, S. Kokubo, and K. Nishinari, Simulation for Pedestrian Dynamics by Real-Coded Cellular Automata (rca), Physica A:Statistical Mechanics and its Applications , 654 (2007).[4] F. Mazur and M. Schreckenberg, Simulation and Optimization of Ground Tra ffi c on Airports using Cellular Automata, Collective Dynamics , 1 (2018).[5] S. Tsuzuki, D. Yanagisawa, and K. Nishinari, Throughput reduction on the air-ground transport system by the simultaneous e ff ect of multipletraveling routes equipped with parking sites, 2019, arXiv:1901.10390.[6] R. Mori, Aircraft Ground-Taxiing Model for Congested Airport Using Cellular Automata, IEEE Trans. Intelligent Transport. Sys , 180(2013).[7] C. Feliciani and K. Nishinari, An improved cellular automata model to simulate the behavior of high density crowd and validation byexperimental data, Physica A: Statistical Mechanics and its Applications , 135 (2016).[8] I. Bitter and A. Kaufman, Automatic centerline extraction for virtual colonoscopy, IEEE Transactions on Medical Imaging , 1450 (2002).[9] M. Wei et al. , Centerline extraction of vasculature mesh, IEEE Access , 10257 (2018).[10] J.-H. Haunert and M. Sester, Area collapse and road centerlines based on straight skeletons, GeoInformatica , 169 (2008).[11] P. Yuqing, C. Wenchao, and S. Yehua, The shortest hypotenuse-based centerline generation algorithm, 2009.[12] C. Cao and Y. Sun, Automatic road centerline extraction from imagery using road gps data, Remote Sensing , 9014 (2014).[13] M. McAllister and J. Snoeyink, Medial axis generalization of river networks, Cartography and Geographic Information Science , 129(2000), https: // doi.org / / , 50 (2018).[15] Q. Li, H. Fan, X. Luan, B. Yang, and L. Liu, Polygon-based approach for extracting multilane roads from openstreetmap urban road networks,International Journal of Geographical Information Science , 2200 (2014), https: // doi.org / / , 5659 (2015).[17] Q. Wang and Z. Gong, An application of fuzzy hypergraphs and hypergraphs in granular computing, Information Sciences , 296 (2018).[18] M. Mao, J. Lu, J. Han, and G. Zhang, Multiobjective e-commerce recommendations based on hypergraph ranking, Information Sciences ,269 (2019).[19] A. Noormohammadi-Asl and H. D. Taghirad, Multi-goal motion planning using traveling salesman problem in belief space, InformationSciences , 164 (2019).[20] J. Han, An e ffi cient approach to 3d path planning, Information Sciences , 318 (2019).[21] J. Yu, C. Zhu, J. Zhang, Q. Huang, and D. Tao, Spatial pyramid-enhanced netvlad with weighted triplet loss for place recognition, IEEEtransactions on neural networks and learning systems (2019).[22] J. Yu, D. Tao, J. Li, and J. Cheng, Semantic preserving distance metric learning and applications, Information Sciences , 674 (2014).[23] J. Yu, X. Yang, F. Gao, and D. Tao, Deep multimodal distance metric learning using click constraints for image ranking, IEEE transactionson cybernetics , 4014 (2016).[24] Y. K. Chu and C. Y. Suen, An alternate smoothing and stripping algorithm for thinning digital binary patterns, Signal Processing , 207(1986).[25] C. Ronse, A topological characterization of thinning, Theoretical Computer Science , 31 (1986).[26] C. Ma, On topology preservation in 3d thinning, CVGIP: Image Understanding , 328 (1994).[27] G. N´emeth, P. Kardos, and K. Pal´agyi, 2d parallel thinning and shrinking based on su ffi cient conditions for topology preservation, ActaCybernetica , 125 (2011).[28] N. Passat, M. Couprie, L. Mazo, and G. Bertrand, Topological properties of thinning in 2-d pseudomanifolds, J. Math. Imaging Vis. , 27(2010).[29] G. Nmeth and K. Palgyi, Topology preserving parallel thinning algorithms, International Journal of Imaging Systems and Technology , 37,https: // onlinelibrary.wiley.com / doi / pdf / / ima.20272.[30] K. Palgyi, J. Tschirren, E. A. Ho ff man, and M. Sonka, Quantitative analysis of pulmonary airway tree structures, Computers in Biology andMedicine , 974 (2006).[31] S. S. Abeysinghe and T. Ju, Interactive skeletonization of intensity volumes, The Visual Computer , 627 (2009).[32] W.-T. Wong, F. Y. Shih, and T.-F. Su, Thinning algorithms based on quadtree and octree representations, Information Sciences , 1379(2006).
33] C. Konrad, INRIA Report No. RR-6693, 2008 (unpublished).[34] S. Aluru and F. Sevilgen, Parallel domain decomposition and load balancing using space-filling curves, in
High-Performance Computing,1997. Proceedings. Fourth International Conference on , pp. 230–235, 1997.[35] S. Tsuzuki and T. Aoki, E ff ective dynamic load balance using space-filling curves for large-scale sph simulations on gpu-rich supercomputers,in Proceedings of the 7th Workshop on Latest Advances in Scalable Algorithms for Large-Scale Systems , ScalA ’16, pp. 1–8, Piscataway, NJ,USA, 2016, IEEE Press.[36] C. Muelder and K. Ma, Rapid graph layout using space filling curves, IEEE Transactions on Visualization and Computer Graphics , 1301(2008).[37] K. L. Ho ff man, M. Padberg, and G. Rinaldi, Traveling Salesman Problem (Springer US, Boston, MA, 2013), pp. 1573–1578.[38] M. Bader,
Space-filling curves: an introduction with applications in scientific computing volume 9 (Springer Science & Business Media,2012). lgorithm 5 Release of leaves function release L eaves (Leaf, F stop ) if Leaf . D (cid:44) D mesmax and Leaf . D (cid:44) D mesmax − then for k = N child − do release L eaves (Leaf . child[k], F stop ) end for else if Leaf . D = D mesmax − then F nbr ← false for k = N child − do i ← Leaf . child[k] . L min . x j ← Leaf . child[k] . L min . y for all J s.t. j − ≤ J ≤ j + do for all I s.t. i − ≤ I ≤ i + do if (i,j) (cid:44) (I,J) then d ← Table[I][J].D if d = D mesmax then s ← Table[I][J].parent. S del if s = then F nbr ← true end if end if end if end for end for end for F cnd ← false for k = N child − do if Leaf . child[k] . F del = true then F cnd ← true end if end for if F nbr = true and F cnd = true then Leaf. F end ← true for k = N child − do delete Leaf.child[k] F stop ← true end for end if end if end if end function lgorithm 6 Selection of Nodes function select N odes (Leaf) if Leaf . F end = false then for k = N child − do select N odes (Leaf . child[k]) end for else if Leaf . D = D mesmax then F ← true for j = N crrchk − do d = distance (node[j] . pos, Leaf . pos) if d < η then F ← false end if end for if F = true then Leaf . F chk ← true add Leaf to the list of nodes N crrchk ← N crrchk + end if end if end if end functionAlgorithm 7 Connection of selected nodes for j = N node − do node[j] . list ← null for i = N node − do if i (cid:44) j then d = distance (node[j] . pos, node[i] . pos) if d < (cid:15) then define A as a relative vector from j to i define n as a unit vector of A k ← pos ← node[j] . pos flag ← true while pos (cid:44) node[i] . pos do pos ← pos + k n if B p at pos = then flag ← false end if k ← k + end while if flag = true then add node[i] to node[j] . list end if end if end if end for end for heckpoint background cells Original Roadmap Centerline Graph
Figure 1: A schematic of the generation of a centerline graph from a roadmap for tra ffi c simulations using CA. (1) Two-dimensional graph from a solid image (2) Centerline(3) Multiple lanes at intersections Figure 2: A schematic of the characteristics of the target graph. B C D34 AB C D
Runway A Runway C Runway D Runway B Terminal 2Terminal 1Terminal 3
Figure 3: Targe roadmap abstracted from a real-world airport, Tokyo International Airport in Japan. nitialization Shrinking process 𝑁 𝑟𝑒𝑝 Selection of candidates (Algorithm.3)
Summation of sub leaves (Algorithm.4)Release of sub leaves (Algorithm.5)
Generation of tables (Algorithm.2)repeats Select & connect nodesRecursive quadtree construction (Algorithm.1)finishedPreparing the 𝑁 𝑟 × 𝑁 𝑟 monochrome imageSelection of nodes with 𝜂 (Algorithm.6)Connection of nodes with 𝜀 (Algorithm.7) Figure 4: A flowchart of our method. igure 5: A hierarchically structured mesh constructed for the roadmap in Fig.3. start stop Figure 6: Tracing of all the distal leafs by using Morton’s space-filling curve. max mes 𝐷 max mes − 1 Depth Schematic of Binary tree a b 𝑆 del 𝐹 del 𝐵 p False
False c d False
True f g True FalseFalse False e shallow leaf candidatesreleased remained A B C D Figure 7: A schematic explanation of releasing the distal leaves. rep = 𝑁 rep = 𝑁 rep = Figure 8: Shrinking process of the areas around the centerline for di ff erent values of parameter N rep between 1 and 5. of quadtree Our method (ALGO.3 to ALGO.5) E l ap s ed t i m e [ m s ] Figure 9: Comparison of the computational time between the cases of repetitive tree reconstruction (left part) and our method (right part).
DA E FB C
Figure 10: Schematic view of connecting nodes. igure 11: A generated graph from the roadmap of Fig. 1 by using the procedures in Algorithms 1 to 7.Figure 12: An enlarged view of Fig.11. bc d Figure 13: The shortest paths from node a to node b or node c via node d calculated by using Dijkstra’s algorithm. a d Figure 14: An enlarged view of Fig.13. C oun t s Number of connections C oun t s Number of connections C oun t s Number of connections C oun t s Number of connections C oun t s Number of connections P ea k po s i t i on s 𝜀 By nodes on straight roadsBy nodes at intersections (b) (𝜀 = 20) (c) (𝜀 = 28) (a) (𝜀 = 12) (e) (𝜀 = 44) (d) (𝜀 = 36)
Second peak by nodes at intersections (f)