Keywords

1 Motivation

The search for a parking space is often very time-consuming and costly for drivers in crowded cities. Van Ommeren et al. (2012) estimate based on a nation-wide survey that 30 % of trips in the Netherlands (excluding residential and employer-provided parking) end with parking search. Considered from a traffic management view, the amount of traffic due to parking search is measured by several studies to be between 8 and 74 % of the total traffic in congested areas (Shoup 2006). This traffic also leads to a huge amount of \(\text {CO}_{2}\) pollution. Shoup (2007) estimates that a small district in Los Angeles with less than 500 on-street parking spaces causes more than 700 tons of \(\text {CO}_{2}\) per year by 950,000 miles of parking search.

Parking search is not only fostered by missing information about parking availability. Visitors also need information about the locations of parking facilities. While traffic signs often exist that guide to large off-street parking facilities, only a few cities provide central information about on-street parking opportunities. Even if maps of on-street parking spaces exist, they need to be updated continuously as parking regulations change from day to day. Such parking maps could be used inside the car in navigation systems that visualize parking opportunities close to the destination. Also looking further into the future, automated valet parking (e.g. Furgale et al. 2013) needs the latest knowledge about parking space locations.

To provide up-to-date information about on-street parking spaces for a large number of cities, automated methods are very beneficial. Once set up, they come with lower costs and effort compared to manual recording. Also, they can easily be extended to additional areas. Modern vehicles, equipped with sensors that detect parked vehicles or empty parking spots (e.g. Park et al. 2008), can be used as data sources. Aggregation of this information can be used to estimate the parking regulations automatically. However, this task is not trivial due to challenges arising from human behaviors. While some legal parking spaces might be used only infrequently, vehicles are parked more often in other spots where parking is not allowed. As such, it is necessary to learn typical characteristics of valid parking spaces.

To the best of our knowledge, there is very few literature about the automated generation of on-street parking maps. Both Ge et al. (2013) and Coric and Gruteser (2013) use parking information from the ParkNet project (Mathur et al. 2010) where ultrasonic sensors are mounted on passengers’ side of the vehicle to record data on specified tracks. Ge et al. (2013) count the vehicles parked at a certain position in different time windows and use an absolute threshold to decide on the position’s legality. Coric and Gruteser (2013) developed an algorithm that decides the legality based on a weighted occupancy average. This value is compared to a threshold followed by a post-processing to smooth the results. Both approaches have the disadvantage that they depend on manually defined parameters and thresholds which may vary a lot for different investigation areas. Furthermore, weak assumptions are presumed for the length of parking prohibitions and for data importance at different occupancy levels.

Our approach turns the identification of legal parking areas into a machine learning problem. This way, we reduce or even avoid the need for manual parameter optimization. Furthermore, we use LiDAR sensors instead of ultrasonic sensors which allow the explicit identification of vehicles. In addition to the occupancy measure used in Coric and Gruteser (2013), we propose several additional features. These features include more details of the sensed parking information in space and time. For example, the average occupancy of a spot is compared to the average occupancies in its vicinity. With the calculation of these features for different length scales, we avoid further assumptions on the parking characteristics.

The features are used to compare a supervised (classification) and an unsupervised (clustering) approach. The random forest algorithm (Breiman 2001) is chosen for classification and the k-means algorithm for clustering as both are established and robust machine learning methods. For the clustering approach, an additional step is necessary, since clustering only assigns data points to groups (clusters). It does not provide information on which cluster corresponds to legal parking spaces. However, a simple decision is possible if the number of clusters is set to two (legal/illegal): the cluster with the higher average occupancy rate of parked vehicles corresponds to the legal parking spaces. This unsupervised approach has the strong benefit that there is no need for a training step with elaborate training data.

Summarized, the contributions of this paper are

  1. (1)

    the description and evaluation of multiple features for distinguishing between legal parking spaces and no-parking zones,

  2. (2)

    the comparison of a method from the literature with the classification method which uses the new features, and

  3. (3)

    the proposal and evaluation of an unsupervised approach that shows a similar performance to the supervised approaches.

The rest of the paper is structured as follows: in Sect. 2, we place our work in relation to further literature. Section 3 contains the description of the methodology including the data preprocessing, the feature definition, and the learning part. In Sect. 4, we present the evaluation of the results of proposed clustering and classification methods and analyze the relevance of the different features. Finally, a conclusion is given in Sect. 5 as well as an outlook on future work.

2 Related Work

For the observation of parking spaces, there are several approaches for both static and mobile sensors. While static sensors allow for a continuous observation of specific parking spots with high accuracy, they usually come with high costs and little flexibility (used e.g. in SFMTA 2014). Therefore, mobile sensors are favored in many situations. Modern vehicles are often equipped with cameras and ultrasonic sensors that can be used for the detection of parked vehicles or gaps in parking lanes. Ultrasonic sensors are already widely spread for automatic parking assistance systems in series vehicles (Bengler et al. 2014). They also provide information about parking gaps during driving (Mathur et al. 2010; Park et al. 2008). An approach for sensor fusion of ultrasonic sensors and cameras is proposed by Choi et al. (2014). For more precise measurements, laser scanning systems can be used. Combined with a high-precision global navigation satellite system (GNSS) unit, they are able to provide precise positions of parked vehicles with a high detection quality (Thornton et al. 2014; Bock et al. 2015). Furthermore, smart phones can also serve as a sensor when they are carried with the driver. Stenneth et al. (2012) detect the moving patterns of different travel modes of the smart phone owner and concludes parking events for travel mode transitions from driving to walking.

The generation of maps is present in many domains. While maps were created manually in recent times, more and more maps are generated automatically nowadays. In robotics, a main task is the perception of the environment and the generation of obstacle maps both for localization and collision avoidance (e.g. Thrun 2002). In traffic context, a main focus lies on the automatic generation of road networks from GPS trajectories and from further in-vehicle sensors to keep navigation maps up-to-date (e.g. Davies et al. 2006). Compared to that research field, research about parking map generation is very rare. Ge et al. (2013) and Coric and Gruteser (2013) generate on-street parking maps using data from ultrasonic sensors of the ParkNet project (Mathur et al. 2010). Ge et al. (2013) simply count the number of vehicles parked at each position. If the number reaches a certain threshold, this position is assumed to allow parking.

A more sophisticated solution is proposed by Coric and Gruteser (2013). They first divide the road into segments of one meter. Then they calculate a weighted average of occupancy for these road segments. The weights depend on the general occupancy level of the road. They assume that more occupied roads provide more information about parking space legality. While this assumption might be true in many situations, this does not hold for situations with high parking demand. Then, illegal parking grows considerably with increasing occupancy level (White 2007) which disturbs the algorithm. The weighted average is compared to a fixed threshold. In the post-processing, they smooth the result to get rid of small areas of legal or illegal parking up to a fixed length threshold. While it is reasonable that a parking spot shorter than a vehicle length is implausible, parking prohibition also exists for shorter distances in our investigation area. Both thresholds are manually defined and no calibration method is proposed. This weighted occupancy rate thresholding approach (called WORT in the following) is applied to our data set (Sect. 4) to compare the results with our proposed methods.

Fig. 1
figure 1

Overview of the steps for the generation of the on-street parking map from parked vehicle positions

3 Methodology

3.1 Overview

The generation steps for on-street parking maps consist of the assignment of parked vehicle positions to small road segments, the aggregation of information from multiple time instances to features, and the classification based on several features (see Fig. 1). The positions of parked vehicles at different times (described in Sect. 3.2) and a road network from OpenStreetMap are used as inputs. The pre-processing step (Sect. 3.3) contains the separation of the road network into small road segments (called road subsegments in the following) and the assignment of the parked vehicle information to them. This occupancy information of all road subsegments is used to calculate various features based on the occupancy of the road subsegments themselves and the occupancy in the neighborhood. Finally, the decision whether parking is legal is made in the learning step (Sect. 3.4). Here, both supervised and unsupervised approaches are described. This procedure results in a set of road subsegments with parking legality information which can be fused to a complete parking map.

3.2 Description of Required Data

For the generation of on-street parking maps, the main input is the position of parked vehicles at different time instances (e.g. at different times of the day or various days). This information can be generated with several sensors as described in Sect. 2. Our approach is assumed to work properly for all of these sensor types. While laser scanners, cameras, and ultrasonic sensors provide information about the position and the extent of the vehicle directly, GPS trajectories from smart phones or in-vehicle recordings only provide a single position. In the latter case, a typical length for a vehicle can be assumed. Furthermore, each vehicle detection needs to be annotated with a timestamp.

Fig. 2
figure 2

Projection of a detected vehicle on the road subsegments (small strokes). The color represents the occupancy: the occupancy value is 1 for completely occupied road subsegments (red), between 0 and 1 for partially occupied road subsegments (yellow), and 0 for not occupied road subsegments (green)

3.3 Data Preprocessing

The road network for the region of interest is obtained from OpenStreetMap. It is processed to obtain road segments with nodes at every intersection. Each road segment is then split into small subsegments to learn the parking legality individually for each of them. We chose a length of 10 cm, but a coarser partition should also be feasible as long as small parking prohibition areas can be represented. The road subsegments are connected to a graph to determine neighborhood relations. Then, the extent of the detected vehicles is projected on the road subsegments (see Fig. 2). In addition, a flag is set whether the vehicle is parked on the left or right side of the road in digitalization direction.

3.4 Feature Set Definitions

Table 1 Overview of all feature sets used in our evaluations

We use eight feature sets for learning. They contain both raw and aggregated data based on the road subsegment itself and its neighboring road subsegments. An overview is given in Table 1. Many of the feature sets contain a distance parameter for the relevant neighborhood. As we want to keep the model generic and avoid parameter optimization, we extend the feature sets for multiple generic values. The distance parameter of the features is set to 0.5 m, 1 m, 3 m, 5 m, 10 m, 20 m, and 40 m to cover the effects in both the short and distant neighborhood.

FS1: Raw occupancy :

This is basically the input data by itself. At each road subsegment, we take the occupancies for each time instance and for each road side as features. Therefore, this feature set contains a feature column for each time instance.

FS2: Occupancy rate :

This feature set, by its name, is the average occupancy of the road subsegment over all time instances.

FS3: Weighted occupancy rate :

Weighted occupancy rate is the concept suggested in Coric and Gruteser (2013). It contains the average occupancy over all time instances for each road subsegment weighted by the average occupancy of the full road segment at each time instance.

FS4: Raw neighbor occupancy :

After having all of the low and high level information about the road subsegment, we include information about its neighbors. This is done by traversing the road subsegment graph, and calculating the average occupancy of all the neighbors at a certain distance for each time instance. Note that there are usually two neighbors of the same distance because there are two directions (to the left and right) where the neighbors can be. In some special cases like at intersections, the number of neighbors, that are at the same distance to the current subsegment, can be even larger than two. To cope with these situations where the number of neighbors can vary, we define that, for each distance, we only have one feature for each time instance which is the average occupancy of all the possible neighbors at that distance for that particular time instance.

FS5: Average neighbor occupancy :

For each time instance, we take the average occupancy of all the neighbors within a predefined range. The identification of neighbors is calculated by traversing the neighborhood graph like in the previous feature set.

FS6: Gaussian average neighbor occupancy :

The weighted average occupancy of neighbors is similar to the ordinary average occupancy of neighbors. The only difference is that when calculating the average, we apply a Gaussian function over the neighbors’ occupancy rates based on their distance to obtain the weighted average occupancy of neighbors. The width of the Gaussian function is chosen such that its value is 10 % of the maximal value at the distance limit. This weighting is applied assuming that closer road subsegments give a stronger hint on the parking legality, but the occupancy of distant road subsegments still provide some valuable information.

FS7: Segment saturation :

The segment saturation describes the occupancy level of a complete road segment. The number of occupied road subsegments of a road segment at one time instance is divided by the maximal number of occupied road subsegments of all time instances on the specific road segment. It is assumed that the maximum value represents the fully occupied road segment. If the value of this feature is low, parking demand is low at this time instance while the parking demand is high if this value is high.

FS8: Road subsegment attractiveness :

The road subsegment attractiveness represents the occupancy rate of the specific road subsegment compared to the road subsegments in the neighborhood. The occupancy rate is divided by the maximum occupancy rate of the neighbors within a certain range. A low value means that this road subsegment is less attractive than others in the neighborhood. This is a clue that parking might be not allowed there. If this value is high, this road subsegment is comparably attractive as the most occupied subsegment. Therefore, it is more likely that parking is allowed there.

3.5 Learning the Parking Legality of Road Subsegments

The decision whether parking at a given road subsegment is legal is a typical classification problem. Each road subsegment belongs to the classes “legal” or “illegal”. Therefore we investigate the use of a classification algorithm. However, classification belongs to the group of supervised learning algorithms. This means a training data set with labeled data is always needed before application to an unknown area. Clustering methods as a subset of unsupervised learning algorithms do not have this requirement. They group objects to clusters based on their similarity. Some of the clustering algorithms provide the possibility to define the number of clusters (two in our case). For the assignment to the correct class, however, a manual or automatic post-processing step is necessary. Nevertheless, it has the strong advantage that it can be applied to different areas without the need to generate representative training data. In the following, both approaches are described.

3.5.1 Unsupervised Learning: K-Means

We used the k-means algorithm (implementation from MATLAB) for unsupervised learning as a basic and established clustering algorithm. This algorithm iteratively improves the assignment of the observations to the clusters based on their distance to the cluster centers. The decision boundaries of the clusters are hyperplanes in the middle between the cluster centers. The k-means algorithm has the advantages of being fast and allowing users to define the number of clusters. The latter is important in our problem setting since we have the two classes “legal” and “illegal”, but we do not know which cluster represents the legal parking spaces. The idea in this paper is the assumption that legal parking spaces have a higher average occupancy rate than parking prohibitions. That means our algorithm assigns the cluster with higher average occupancy rate to the legal parking spaces.

3.5.2 Supervised Learning: Random Forests

For supervised learning, we used a random forest classifier (Breiman 2001, implementation from MATLAB). Since the training data is assigned to the two classes “legal” or “illegal”, the classifier directly estimates the classes for the test data and we do not need to guess the class assignment. The random forest algorithm is based on the generation of a large set of different decision trees. The diversity of these trees results from the random choice of a subset of training data and a random choice of features for each decision step. The benefits of random forests are that they are fast, quite intuitive to interpret, and robust against overfitting.

Fig. 3
figure 3

Example for input data of a one measurement drive and b all nine measurement drives. The black lines represent the extent of the parked vehicles, red (illegal) and green (legal) are the ground truth classes of the road subsegments

4 Evaluation

4.1 Evaluation Approach

4.1.1 Test Scenario

A mobile mapping system equipped with a light detection and ranging (LiDAR) sensor is used to record the streets of a test track nine times during the course of a day. In an offline procedure, the positions of parked vehicles are extracted from sensor data. Two examples of the extracted data are shown in Fig. 3. Precision and recall of the detection were both higher than 95 %. The test track has an effective length of more than 2.5 km in a large city. This means a length of more than 5 km of potential parking space is evaluated, since both sides of the road are observed. As the detection procedure cannot distinguish between parking and stopping vehicles, the test track is chosen to cover single lane roads to reduce the impact of stopping vehicles at intersections. It possesses parking spaces on a total length of 3.1 km for about 500 vehicles parallel to the road. Road subsegments for areas with parking perpendicular to the road as well as parking areas for special groups like taxi parking spaces are excluded from the evaluation.

4.1.2 Ground Truth Recording

The ground truth of the parking space map is obtained by a combination of approaches. For most of the roads, we used a handheld differential GPS device to record the starting and ending positions of the legal parking spaces. The standard deviation of the GPS device measurements ranges from a few centimeters to multiple meters in our measurement. For the streets with low GPS accuracy due to limited sky view, we used Google satellite images for a first estimation, as well as 3D point clouds from our laser scan data for a precise measurement of the ground truth. Measurement accuracy and precision of the laser scanning itself is 10 and 5 mm, respectively. The positioning unit of the mobile mapping system has an accuracy of 20 cm in horizontal directions for urban scenarios. Boundaries of the parking area like curb stones or traffic signs can be clearly identified from the laser scan point clouds.

4.1.3 Uncertainty in Ground Truth

In addition to the measurement inaccuracy of the equipment, the start and end of a parking space often cannot be identified precisely. For example, the curb at the end of a parking lane is often not perpendicular to the road. In order to account for both uncertainties, we do not evaluate the borders of the legal and illegal parking spaces in the output. More precisely, 0.5 m to each side of the borders between the legal and illegal parking spaces is not evaluated and not counted in the quality measures.

4.1.4 Quality Measures

There are four basic types of quality measures, namely the count of true positives (TP), false positives (FP), true negatives (TN), and false negatives (FN). Each road subsegment is assigned to one of these counts. Based on these counts, we calculate the false positive rate \(\text {FPR} = \frac{\text {FP}}{\text {TN}+\text {FP}}\) and the true positive rate \(\text {TPR}= \frac{\text {TP}}{\text {TP}+\text {FN}}\). Also, we can calculate the overall accuracy by the formula:

$$\begin{aligned} \text {acc}= \frac{\text {TP}+\text {TN}}{\text {TP}+\text {TN}+\text {FP}+\text {FN}} \end{aligned}$$
(1)

4.1.5 Cross Validation

For better evaluation of the limited evaluation data set, a three-fold cross validation is applied to the supervised learning and the weighted occupancy rate thresholding (WORT) with smoothing (Coric and Gruteser 2013). The k-means approach is also evaluated for different subsets of the data set to investigate the impact of the buffer size. To this end, each road segment is assigned to one of three similar sized sets. To investigate the generalization of the models, we generated two kinds of cross validation sets. The first cross validation sets are based on the geographical location of the road segments (called regional road subsets in the following). For the second, the road segments are assigned randomly in such a way that the length of all three sets is about the same. Note that cross validation with a random split of subsegments would lead to an improper evaluation since adjacent subsegments have very similar neighborhood features (features 4–6).

4.2 Results

4.2.1 Overview of Results

Fig. 4
figure 4

Receiver Operating Characteristic (ROC) curve for comparison of random forest, k-means, and WORT with smoothing

Table 2 Results for all methods with different choice of data subsets, parameters, and feature sets

A comparison of results for our supervised and unsupervised learning approaches as well as for the weighted occupancy rate thresholding (WORT) approach (Coric and Gruteser 2013) is shown in Fig. 4 and Table 2. The table contains both the accuracy without variation of cost weights and optimal accuracy values of each approach for different choices of the cross validation sets. Since WORT does not suggest a method to choose proper threshold values, we applied a brute-force search for the best parameters with cross validation and cost function \(c=\text {FP}+\alpha \cdot \text {FN}\) (\(\alpha \) is a weighting parameter). The quality measures in Table 2 reveal the best results for random forest with random road subsets, but also similar results for nearly all other approaches with values larger than 90 %. Only if the suggested parameters of Coric and Gruteser (2013) are used with their approach, the result is significantly worse. We assume that their observation area has very different parking characteristics than ours. Figure 4 compares the Receiver Operating Characteristic (ROC) curves. For random forests, this curve is generated changing the threshold for the estimated class probabilities. Shifting the separation plane between the cluster centers is used for k-means. For WORT, the relative weight of FP and FN is varied with parameter \(\alpha \) in the brute-force search. The plot in Fig. 4 shows that k-means and random forest with random subsets have the best results for nearly the complete curve. Clearly worse are the curves for WORT and random forest with regional subsets. The clear difference between the two random forest results is discussed in Sect. 4.2.2. A qualitative comparison is presented in Sect. 4.2.3. Finally, we discuss details about the feature importance in Sect. 4.2.4 and the necessary number of measurement drives in Sect. 4.2.5.

Fig. 5
figure 5

Comparison of different subsets for cross validation with a random forest, b k-means, and c WORT with smoothing. Only for the random forest calculations, a clear impact of different subset choice is visible

4.2.2 Impact of Subset Choice for Cross Validation

The results show clear differences in the supervised learning approach for different subsets in the cross validation. If the roads are divided into three sets according to their geographical locations, the ROC curve is clearly worse than a random split of roads into three sets as shown in Fig. 5a. The area under the curve is 0.953 compared to 0.966 for the random split of roads. Such clear differences between different subsets in the cross validation do not exist for k-means and WORT (see Fig. 5b, c). We assume that this effect is caused by different parking characteristics for the different regions of our evaluation data subsets. If the roads are chosen randomly for the subsets, all subsets have about the same characteristics and are therefore more representative for the other subsets. Since the random forest classifier is able to learn finer differences than k-means with its linear separation hyperplane in the feature space, the results depend more on the representative choice of training data than the other methods.

Fig. 6
figure 6

Example for the resulting parking map. Blue is the estimated parking space, red (illegal) and green (legal) show the ground truth

4.2.3 Qualitative Evaluation of Methods

Qualitative comparison of the results reveals several similarities. All methods provide a reliable decision for parking legality in most situations. In particular, long parking lanes and highly occupied parking spaces are well identified. However, false positives mainly occur in small areas of parking prohibition like in front of garage entrances if some vehicles are parked there during observation time (e.g. right road in Fig. 6). False negatives are less frequent. They appear at rarely parked places like at the end of parking lanes (e.g. Fig. 7a). Also, at few places, the detection method systematically misses parked vehicles leading to locations without parked vehicles at any time instance. The algorithms differ in determining the beginning of illegal zones. The random forest approach often still classifies a few meters as legal in the illegal zone. In situations with only one vehicle parked illegally for a few hours, k-means and random forest interpret these situations correctly while the WORT approach marks these spots as legal (see Fig. 7b).

Fig. 7
figure 7

Examples for wrong results (estimated parking space in blue, ground truth for legal/illegal parking in green/red): a shows false negative results at the end of a parking zone. b Visualizes two false positive parking spaces for WORT with smoothing. The black lines represent the raw vehicle detections. At the two wrong parking spaces, the same vehicle was detected two and four times, respectively

Fig. 8
figure 8

ROC curve for different feature sets with k-means

4.2.4 Evaluation of Features

To compare the relevance of the feature sets, we evaluate their impact both for unsupervised and supervised learning. For unsupervised learning with k-means clustering, we compare the results for runs with all and with a subset of feature sets (see Fig. 8). If only feature sets 1–3 are used, i.e. the neighborhood features are ignored, the resulting ROC curve is considerably worse than the curve for all features. The main reason for this result stems from marked parking spaces where the gaps between the parked vehicles are always at the same positions and cars rarely cover that space. If only the neighborhood features (feature sets 4–8) are used, the result is very similar to the usage of all features. Most differences are only at the end of parking lanes, where this result is less accurate than using all features.

Fig. 9
figure 9

Feature importance from random forest training. The intervals of the feature index correspond to the feature sets separated and named in red

For supervised learning, the random forest method has the advantage of already providing the feature importance already after the training step because it leaves out a part of the training data for each tree. A plot of the feature importance is given in Fig. 9. The most important feature sets are the average neighbor occupancy (5), weighted neighbor occupancy (6), and segment saturation (7). For the feature sets 4–6, we see an increasing trend for increasing feature index. In these cases, the maximal distance of the neighborhood is chosen increasingly. This means that the first values are for very short distances (in this case 0.5 m) and the last values are for long distances of 40 m. So, the neighborhood features are more important for farther distances, but still relevant for shorter distances.

Fig. 10
figure 10

Boxplot showing the accuracy of different methods for different numbers of measurement drives. Note that for nine drives, there is no variation for different permutations since all drives are used in the calculation

4.2.5 Evaluation of Required Number of Measurement Drives

To investigate the influence of the number of measurement drives on the parking map result, we compare the presented methods for every number of measurement drives using nine random drive subsets. The result is shown in a boxplot in Fig. 10. The plot reveals mostly increasing values with increasing number of measurement drives for all methods. For a low number of measurement drives, the random forest shows significantly better results than the other two methods. If only one measurement drive is used, k-means is also clearly worse than WORT with smoothing. For seven or more measurement drives, only small improvements can be observed for all approaches.

5 Conclusion

This paper presents a novel approach for the generation of on-street parking maps from parked vehicle positions using supervised and unsupervised learning methods. We propose multiple feature sets to describe the occupancy characteristics of small road subsegments and their surroundings. Furthermore, we compare our methods to an implementation of the method from Coric and Gruteser (2013). Parked vehicle detections from repeated LiDAR measurements are used to evaluate the methods on more than 5 km of potential parking space. We have shown that both of our approaches show slightly better results than the method from the literature while keeping the model more generic. Most interestingly, the main advantage of our unsupervised approach is the total avoidance of parameter choice and optimization while still providing results comparable to the supervised learning. Also, it is very robust against the variation of parking characteristics for different areas. The random forest method also provides reliable results in general and the best results for low numbers of measurement drives. However, it reveals a clear dependence on the representative choice of the training data set.

All approaches show weaknesses for untypical input data. If a legal parking space is never occupied in the data set, it can hardly be identified. The same holds for parking prohibition areas which are occupied by parked vehicles most of the time. The latter often leads to wrong results at garage entrances. Since the evaluation is based on data from only one day, the data set is biased for situations where parking spaces are occupied for a long time by the same vehicle.

In the future, we plan to investigate more elaborate clustering algorithms like EM clustering to further improve the result for the unsupervised approach. Furthermore, an extension of the approaches for more parking classes like special parking legislation (e.g. parking for handicapped people) is an interesting challenge. Since the occupancy characteristics are less distinct in this case, the supervised approach is assumed to be superior over the other described approaches. Finally, it would be very interesting to evaluate our approach for low-cost automotive ultrasonic sensor data. Since more and more sensor-equipped vehicles are able to communicate their data to a server, our methods hold high potential to provide up-to-date and inexpensive on-street parking maps in an industrial scale.