DATA PROCESSING DEVICE AND METHOD FOR CLUSTING DATA OBJECTS

By dividing geographical data into isolated areas and applying DBSCAN separately, followed by merging clusters using a scalable graph algorithm, the method addresses performance limitations of DBSCAN, enabling efficient clustering of large datasets for motor vehicle applications.

DE102023117118A1Pending Publication Date: 2025-01-02BAYERISCHE MOTOREN WERKE AG
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
DE102023117118
Authority / Receiving Office
DE · DE
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-06-29
Publication Date
2025-01-02

AI Technical Summary

Technical Problem

Existing clustering algorithms like DBSCAN face performance limitations when applied to large datasets, particularly in big data applications, due to high time complexity and the need for neighborhood searches, limiting their scalability and applicability to large volumes of data.

Method used

A data processing device and method that divide geographical data into isolated areas, assign data objects to these areas, perform DBSCAN clustering separately for each area, and merge results using a scalable graph algorithm to handle edge cases and reduce computation time.

Benefits of technology

This approach significantly reduces computation time, enabling efficient clustering of large datasets and allows for horizontal scaling, making it suitable for applications like motor vehicle data analysis, where DBSCAN could not be previously used effectively.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

A data processing device (1) is provided for clustering data objects (OA, OB, OC) positioned in a digital map (K), wherein the digital map (K) is divided into geographic areas (A, B, C). The data processing device (1) is configured to assign the data objects (OA, OB, OC) to each area (A, B, C) of the geographic areas (A, B, C), assigning to each area (A, B, C) the data objects (OA, OB, OC) that are positioned in the area (A, B, C) or within a minimum distance adjacent to the area (A, B, C) (S1).The data processing device (1) is designed to group the data objects (OA, OB, OC) into clusters (XA, XB, XC) depending on the assignment made (S2), and to merge the clusters (XA, XB, XC) that each have a common data object (OA, OB, OC) of the data objects (OA, OB, OC) when the common data object (OA, OB, OC) meets a minimum condition (S3).
Need to check novelty before this filing date? Find Prior Art

Description

[0001] The present disclosure relates to a data processing device for clustering data objects and / or a method for clustering data objects. Additionally, or alternatively, a computer program is provided comprising instructions that, when executed by a computer, cause the computer to at least partially execute the method. Additionally, or alternatively, a computer-readable medium is provided comprising instructions that, when executed by a computer, cause the computer to at least partially execute the method.

[0002] For vehicle applications, such as learning road conditions (e.g., detecting potholes), recognizing hazardous situations, or even for electromobility, various sensors on a motor vehicle can be used. One approach is to use data obtained from these sensors that detect the environment, such as cameras, lidar, and / or radar, and process the data on-board the motor vehicle. However, this technique is neither scalable nor applicable to an entire fleet of vehicles due to the limited sensor technology and computing power in the vehicles. Consequently, the more desirable approach, in view of the disadvantages mentioned above, is to send fleet data (i.e., sensor data from a large number of vehicles) to a backend and process it there.

[0003] Therefore, sensor data is used together with geodata collected from a fleet of vehicles and sent to the backend, and extensive calculations are performed in the backend, including preprocessing of the received data, clustering of the preprocessed data, and aggregation of the clustered data.

[0004] In the backend, the data or data objects are clustered, among other things. Since the application contains noisy data and the number of clusters is unknown, density-based clustering can be used. The best-known representative of this technique is the so-called DBSCAN (Density Based Spatial Clustering of Applications with Noise) by Ester et al. (Ester, M., Kriegel, H.-P., Sander, J., & Xu, X. (1996). A Density-Based Algorithm for Discovering Clusters. https: / / doi.org / 10.1016 / B978-044452701-1.00067-3), which is capable of forming clusters of any shape. This is a fundamental difference from, for example, K-means, which can only find circular clusters and uses only a single parameter, the mean. Density-based algorithms were developed not only to identify arbitrarily shaped clusters but also to deal with noise.The goal of the developers of DBSCAN was to develop an algorithm for clustering noisy data of any shape in spatial and non-spatial high-dimensional databases. The basic idea of ​​DBSCAN is the so-called Eps neighborhood. The idea behind it is that each point must have a minimum number of points (MinPts) within a radius (Eps). Furthermore, DBSCAN distinguishes between different types of points: core points, boundary points, and outliers (also called noise). A core point is defined by its Eps neighborhood. More precisely, a point is a core point if its density is greater than or equal to the defined threshold MinPts. However, if this criterion is not met, the point is not necessarily an outlier. If a point that is primarily considered noise has a core point in its Eps neighborhood, the point is relabeled as a boundary point.DBSCAN searches for clusters by iterating over each point in the dataset and examining the Eps neighborhood of the corresponding point. If the neighborhood contains more neighboring points than the predefined threshold MinPts, a new cluster is initialized with the core point p.

[0005] Regular DBSCAN has several disadvantages. For example, regular DBSCAN significantly degrades its performance when applied to a large data set. This is because a neighborhood search query must be performed for each data point. Even when a suitable search index structure is used, performance suffers greatly as the data set increases. In the worst-case scenario, the time complexity is O(n 2) with the number of data points n, since a distance between all points must be calculated. However, on average, it is still O(n*log(n)). This limits the use of this algorithm in big data applications.

[0006] Against the background of this prior art, the object of the present disclosure is to provide a device and / or a method which are each suitable for enriching the prior art.

[0007] The problem is solved by the features of the independent claims. The subordinate claims and the dependent claims each contain optional developments of the disclosure.

[0008] According to this, the problem is solved by a data processing device for clustering data objects positioned in a digital map. The digital map is divided into geographical areas (e.g., geo-hashes). The data processing device can be configured to cluster the data objects for automotive applications, e.g., for guiding a motor vehicle.

[0009] In this case, clustering can be understood as the grouping of several data objects into a group or the determination of whether a data object forms a group with other data objects or not.

[0010] The data processing device is configured to assign the data objects for each region of the geographical regions. Each region is assigned (and / or is assigned) the data objects located in the region or within a minimum distance adjacent to the region.

[0011] The data processing device is designed to group the data objects into clusters depending on the assignment made, e.g., by means of a DBSCAN algorithm.

[0012] The data processing device is designed to merge the clusters, each of which has a common data object of the data objects, if the common data object satisfies a minimum condition.

[0013] The data processing device can be configured for electronic data processing, which can, for example, have one or more microprocessors and data memories. The data processing device can contain software for data processing and, for example, for clustering the data objects.

[0014] The data processing apparatus described above offers several advantages. Among other things, it provides an improved technique that overcomes the temporal performance limitations of known clustering algorithms, e.g., the DBSCAN algorithm, particularly in applications to large data sets. Spatial clustering, e.g., using the DBSCAN algorithm, can advantageously be scaled horizontally for individual regions. The workload can then be processed in parallel, for example, by distributing it across a large number of computing units or instances. This allows the computation time to be reduced several times over (e.g., for approximately 18 million clusters, from approximately 80 minutes to approximately 15 minutes).

[0015] This enables various new applications, e.g., for motor vehicles, to gain new insights through the analysis of observed sensor and / or geodata, for which DBSCAN could not previously be used due to the large data volumes and the resulting time complexity.

[0016] Possible further developments of the data processing device described above are explained in detail below.

[0017] The minimum condition may include that the shared data object is a core point. Alternatively, or additionally, the minimum condition may include that the shared data object has a minimum number of neighboring data objects within a specified distance and / or radius.

[0018] The data processing device may be configured to leave the common data object only in one of the clusters if the minimum condition is not met.

[0019] The data processing device can be configured to merge the clusters transitively, or via transitive relations between the clusters. This can be understood to mean, for example, that three clusters are merged if one of the clusters has at least one data object in common with each of the other two clusters, even if the other two clusters do not have a data object in common with each other.

[0020] The data processing device can be configured to identify the mergeable clusters using a scalable graph algorithm. Graphs can be constructed that have clusters as nodes or node points and common data objects that satisfy the minimum conditions as edges between any two nodes.

[0021] Clustering can be done density-based, e.g., using DBSCAN. The explanations for DBSCAN described above can apply analogously to clustering itself.

[0022] The data processing device can be configured to store the clusters in the digital map and to provide the digital map with the clusters stored therein to at least one motor vehicle and / or a motor vehicle fleet. The motor vehicle fleet can comprise multiple motor vehicles.

[0023] It is conceivable that the motor vehicle uses the provided digital map, e.g., a road map, to issue a warning to the driver of the motor vehicle and / or to adjust the lateral and / or longitudinal guidance of the motor vehicle, particularly automatically, depending on the current position of the motor vehicle and the clustered data objects stored in the road map. This also allows parameters relating to the chassis to be adjusted.

[0024] The motor vehicle (and / or any motor vehicle in the motor vehicle fleet) may be a passenger car, in particular a car, or a commercial vehicle, such as a lorry.

[0025] Furthermore, it is conceivable that the data processing device comprises the motor vehicle and / or a control unit of the motor vehicle. In other words, the motor vehicle and / or the control unit of the motor vehicle can be configured to perform at least individual tasks of the data processing device.

[0026] The motor vehicle may be automated. The motor vehicle may be configured to at least partially and / or at least temporarily assume longitudinal and / or lateral guidance during automated driving of the motor vehicle. Automated driving may be implemented in such a way that the motor vehicle's movement is (largely) autonomous.

[0027] The motor vehicle may be a motor vehicle with autonomy level 0, i.e. the driver assumes the dynamic driving task, even if supporting systems (e.g. ABS or ESP) are present.

[0028] The motor vehicle may be a Level 1 autonomy motor vehicle, i.e. it may have certain driver assistance systems that support the driver in operating the vehicle, such as adaptive cruise control (ACC).

[0029] The motor vehicle may be a motor vehicle of autonomy level 2, i.e. be so partially automated that functions such as automatic parking, lane keeping or lateral guidance, general longitudinal guidance, acceleration and / or braking are taken over by driver assistance systems.

[0030] The motor vehicle can be a Level 3 autonomy vehicle, meaning it is so conditionally automated that the driver does not need to continuously monitor the vehicle system. The vehicle performs functions such as activating the turn signal, changing lanes, and / or keeping in lane independently. The driver can attend to other matters but will be prompted by the system to take over control within a pre-warning period if necessary.

[0031] The motor vehicle can be a Level 4 autonomy vehicle, meaning it is so highly automated that the vehicle system permanently assumes control of the vehicle. If the system can no longer handle the driving tasks, the driver can be requested to take over.

[0032] The motor vehicle can be a Level 5 autonomy vehicle, meaning it is so fully automated that the driver is not required to perform the driving task. Other than setting the destination and starting the system, no human intervention is required. The motor vehicle can operate without a steering wheel or pedals.

[0033] The motor vehicle control unit can be part of a driver assistance system or represent this. The control unit can be an electronic control unit (ECU), for example. The electronic control unit can be an intelligent processor-controlled unit that can communicate with other modules, for example via a central gateway (CGW), and which can optionally form the vehicle's on-board network via field buses such as the CAN bus, LIN bus, MOST bus and FlexRay or via automotive Ethernet, for example together with telematics control units. It is conceivable that the control unit controls functions that are relevant to the vehicle's driving behavior, such as the engine management, the power transmission, the braking system and / or the tire pressure monitoring system. In addition, driver assistance systems, such as a parking assistant, adaptive cruise control (ACC) or adaptive cruise control (ADC) can be implemented.Adaptive cruise control), a lane keeping assistant, a lane change assistant, traffic sign recognition, light signal recognition, a start-off assistant, a night vision assistant and / or an intersection assistant are controlled by the control unit.

[0034] The data processing device may comprise a backend and / or be implemented as part of a backend.

[0035] The backend can be any data processing device external to the vehicle, e.g., a cloud component. The backend can be configured to communicate wirelessly, e.g., via Car2X, with the vehicle's control unit.

[0036] The data objects can each include sensor data, e.g. regarding a road condition, and / or geodata.

[0037] The data objects can include locations where the sensor data and / or geodata were collected. The data objects can be positioned according to the positions in the digital map.

[0038] The data objects may include acceleration values, in particular related to a vertical acceleration, speed values ​​and / or positions at which the acceleration values ​​or speed values ​​were recorded, of the motor vehicle.

[0039] The control unit of the motor vehicle can be configured to determine the sensor data, the geodata, the acceleration values, the speed values ​​and / or the positions and, for example, to send them to the backend.

[0040] The backend can use this information to create the data objects and insert them into the digital map, for example, to cluster the data objects.

[0041] The above description can be summarized in other words and in a possible more concrete embodiment of the disclosure as described below, whereby the following description is not to be interpreted as limiting the disclosure.

[0042] To compensate for the performance-related disadvantages of DBSCAN, adaptations must drastically reduce computation time. Therefore, the general idea of ​​the present disclosure is to perform clustering, e.g., with DBSCAN, separately for each geometrically isolated region and merge the results to eliminate edge cases near the region boundaries. In this way, a first step—namely, individual DBSCAN runs for each isolated region—can be horizontally parallelized, since different regions in which the algorithm is to be performed have nothing in common if the points near the region boundary are treated accordingly.

[0043] In a first step, all data objects, including sensor measurements, can be assigned to a specific geographical area. The areas can be different districts, different countries, or so-called geo-hashes. In the present disclosure, geo-hashes of different levels can be used to perform such mapping. It should be noted that the optimal level of the geo-hash depends entirely on the number of data objects to be clustered and the data density.

[0044] In a second step, all data objects located near a geo-hash boundary or territory boundary can be instantiated so that they are assigned to every geo-hash or territory in its neighborhood. This allows data objects to be assigned to multiple territories, which may be necessary for correctly handling edge cases.

[0045] In a third step, the clustering or DBSCAN algorithm can be performed separately for each geo-hash or region, according to the mapping performed in the second step. This third step can be performed separately and can therefore be easily scaled horizontally. Note that data objects that were originally located near geo-hash boundaries or region boundaries will be clustered multiple times, once for each mapped region. This can result in the same data object being assigned to different clusters.

[0046] Finally, in a fourth step, clusters where the same data object has been mapped multiple times can be candidates for merging. A range query such as the sphere search algorithm can be used to check whether a common point is a core point. If a core point is found, the corresponding clusters can be merged. If not, the data object can only be assigned to one of the clusters.

[0047] Furthermore, it is possible for multiple clusters to be merged transitively. Transitive in this context can mean that if cluster A shares a core point with cluster B, and cluster B, in turn, shares a core point with cluster C, all three clusters must be merged, even if clusters A and C do not share a core point.

[0048] Therefore, the merging can be performed, for example, by constructing a graph in which the nodes are clusters and the edges are common core points. This makes it possible to apply a scaled graph algorithm that can efficiently identify connected components. The result points of the connected components can be clusters that are merged.

[0049] Furthermore, a method for clustering data objects located in a digital map is provided. The digital map is divided into geographical areas.

[0050] The method comprises performing an assignment of the data objects for each area of ​​the geographical areas, wherein each area is assigned the data objects positioned in the area or within a minimum distance adjacent to the area.

[0051] The procedure involves grouping the data objects into clusters depending on the assignment made.

[0052] The method comprises merging the clusters each having a common data object of the data objects if the common data object satisfies a minimum condition.

[0053] The (control) method may be a computer-implemented method, ie one, several or all steps of the method may be carried out at least partially by a computer or a data processing device, optionally the data processing device.

[0054] What has been described above with reference to the data processing device also applies analogously to the method and vice versa.

[0055] Furthermore, a computer program is provided, comprising instructions which, when the program is executed by a computer, cause the computer to at least partially carry out or carry out the method described above.

[0056] A program code of the computer program may be in any code, in particular in a code suitable for motor vehicle controls.

[0057] What has been described above with reference to the data processing device and the method also applies analogously to the computer program and vice versa.

[0058] Furthermore, a computer-readable medium, in particular a computer-readable storage medium, is provided. The computer-readable medium comprises instructions which, when executed by a computer, cause the computer to at least partially execute or carry out the method described above.

[0059] This means that a computer-readable medium can be provided that contains a computer program as defined above. The computer-readable medium can be any digital data storage device, such as a USB flash drive, a hard disk, a CD-ROM, an SD card, or an SSD card (or SSD drive / SSD hard disk).

[0060] The computer program does not necessarily have to be stored on such a computer-readable storage medium in order to be made available to the motor vehicle, but can also be obtained via the Internet or otherwise externally.

[0061] What has been described above with reference to the method, the data processing device and the computer program also applies analogously to the computer-readable medium and vice versa.

[0062] Below is an optional embodiment with reference to Fig. 1, Fig. 2 and Fig. 3 described. Fig. 1 schematically shows a data processing device and a motor vehicle that exchange data or information bidirectionally, Fig. 2 shows a schematic flow diagram of a method for clustering data objects, and Fig. Figure 3 shows the procedure schematically using data objects to which the procedure is applied.

[0063] In Fig. Figure 1 shows a data processing device 1 and a motor vehicle 10 that can exchange data or information bidirectionally. The data processing device 1 can be implemented as part of a backend or represent this. The motor vehicle 10 can be part of a vehicle fleet.

[0064] The motor vehicle 10 can send data or data objects, e.g., sensor data, to the data processing device 1 (so-called upstream), and the data processing device 1 can in turn send data or a digital map, e.g., a road map, to the motor vehicle 10 (so-called downstream).

[0065] Furthermore, it is conceivable that the motor vehicle 10 represents a part of the data processing device 1 or is designed to carry out at least individual tasks of the data processing device 1.

[0066] The data processing device 1 is configured to cluster the data objects positioned in a digital map, wherein the digital map is divided into geographical regions. The data objects may, for example, each include sensor data relating to a road condition.

[0067] For clustering the data objects, the data processing device 1 is designed to carry out the following with reference to Fig. 2 to carry out the procedures 100 described in detail.

[0068] In a first method step S1, an assignment of the data objects is carried out for each area of ​​the geographical areas, wherein the data objects that are positioned in the area or within a minimum distance adjacent to the area are or will be assigned to each area.

[0069] In a second process step S2, the data objects are grouped into clusters depending on the assignment made, e.g. density-based.

[0070] In a third process step S3, clusters that each have a common data object are merged if the common data object meets a minimum condition. The merge can be performed transitively, for example.

[0071] The minimum condition may include, for example, that the common data object is a core point and / or has a minimum number of neighboring data objects within a specified distance and / or radius.

[0072] If the minimum condition is not met, it is conceivable to leave the common data object only in one of the clusters and remove it from the other clusters.

[0073] The mergeable clusters can be identified, for example, using a scalable graph algorithm. This can be done by constructing graphs that have clusters as nodes or node points and common data objects that satisfy the minimum conditions as edges between any two nodes.

[0074] In a fourth process step S4, the clusters can be stored in the digital map.

[0075] In a fifth method step S5, the digital map with the clusters stored therein can be provided to the motor vehicle 10 and / or a motor vehicle fleet.

[0076] In Fig. 3 shows exemplary data objects OA, OB, OC in a digital map K for various method steps of the method 100.

[0077] Fig. 3(a) shows a starting point for the method 100, wherein the digital map K is divided into geographical areas A, B, and C. Furthermore, the data objects OA, OB, OC are positioned in the digital map K.

[0078] Data object OA is positioned in area A and furthermore adjacent to the other areas B and C within a specified minimum distance.

[0079] Data object OB is positioned in area B and furthermore adjacent to the other areas A and C within a specified minimum distance.

[0080] Data object OC is positioned in area C and furthermore adjacent to the other areas A and B within a specified minimum distance.

[0081] This results in the first process step S1 all three data objects OA, OB and OC being assigned to each of the areas A, B and C, as shown in Fig. 3(b).

[0082] Depending on the assignment made, the data objects OA, OB, OC are grouped into clusters XA, XB, XC in the second process step S2, as shown in Fig. 3(c). Thus, a cluster is created for each region A, B, and C, with clusters XA, XB, and XC containing the same data objects, namely all three data objects OA, OB, and OC.

[0083] Since all three clusters XA, XB, and XC share common data objects, they are candidates for merging into a single cluster. Assuming that the shared data objects OA, OB, and OC satisfy a specified minimum condition, the three clusters XA, XB, and XC are merged into a single cluster X in the third process step S3, as shown in Fig. 3(d). The minimum condition can be met, for example, if all three data objects OA, OB, OC are core points that have at least two neighboring points or data objects (namely, the other two data points). List of reference symbols 1 data processing device OA, OB, OC data objects K digital map A, B, C geographical areas XA, XB, XC, X Cluster 10 motor vehicle 100 procedures S1-S5 process steps QUOTES CONTAINED IN THE DESCRIPTION

[0000] This list of documents submitted by the applicant was generated automatically and is included solely for the convenience of the reader. This list is not part of the German patent or utility model application. The DPMA assumes no liability for any errors or omissions. Cited non-patent literature

[0000] DBSCAN (Density Based Spatial Clustering of Applications with Noise) by Ester et al. (Ester, M., Kriegel, H.-P., Sander, J., & Xu,

Claims

[1] Data processing device (1) for clustering data objects (OA, OB, OC) positioned in a digital map (K), the digital map (K) being divided into geographical areas (A, B, C), characterized by that the data processing device (1) is designed to: - to carry out an assignment of the data objects (OA, OB, OC) for each area (A, B, C) of the geographical areas (A, B, C), whereby each area (A, B, C) is assigned the data objects (OA, OB, OC) that are positioned in the area (A, B, C) or within a minimum distance adjacent to the area (A, B, C) (S1); - to group the data objects (OA, OB, OC) into clusters (XA, XB, XC) depending on the assignment made (S2); and - to merge the clusters (XA, XB, XC), each of which has a common data object (OA, OB, OC) of the data objects (OA, OB, OC), if the common data object (OA, OB, OC) satisfies a minimum condition (S3). [2] Data processing device (1) according to claim 1, characterized by that the minimum condition includes that the common data object (OA, OB, OC) - is a key point and / or - has a minimum number of neighboring data objects (OA, OB, OC) within a specified distance and / or radius. [3] Data processing device (1) according to claim 1 or 2, characterized by that the data processing device (1) is designed to: - to leave the common data object (OA, OB, OC) only in one of the clusters (XA, XB, XC) if the minimum condition is not met. [4] Data processing device (1) according to one of claims 1 to 3, characterized bythat the data processing device (1) is designed to: - merge the clusters (XA, XB, XC) transitively. [5] Data processing device (1) according to one of claims 1 to 4, characterized by that the data processing device (1) is designed to: - to identify the mergeable clusters (XA, XB, XC) using a scalable graph algorithm. [6] Data processing device (1) according to one of claims 1 to 5, characterized by that the grouping into clusters (XA, XB, XC) is density-based. [7] Data processing device (1) according to one of claims 1 to 6, characterized by that the data processing device (1) is designed to: - to store (S4) the clusters (XA, XB, XC, X) in the digital map (K); and - to provide the digital map (K) with the clusters (XA, XB, XC, X) stored therein to at least one motor vehicle (10) and / or a motor vehicle fleet (S5). [8] Data processing device (1) according to one of claims 1 to 7, characterized by that the data objects (OA, OB, OC) each contain sensor data regarding a road condition. [9] Method (100) for clustering data objects (OA, OB, OC) positioned in a digital map (K), wherein the digital map (K) is divided into geographical areas (A, B, C), characterized by that the procedure includes: - Carrying out (S1) an assignment of the data objects (OA, OB, OC) for each area (A, B, C) of the geographical areas (A, B, C), wherein each area (A, B, C) is assigned the data objects (OA, OB, OC) that are positioned in the area (A, B, C) or within a minimum distance adjacent to the area (A, B, C); - grouping (S2) the data objects (OA, OB, OC) into clusters (XA, XB, XC) depending on the assignment made; and - Merging (S3) the clusters (XA, XB, XC), each having a common data object (OA, OB, OC) of the data objects (OA, OB, OC), if the common data object (OA, OB, OC) satisfies a minimum condition. [10] Computer program and / or computer-readable medium, characterized by that the computer program and / or the computer-readable medium comprises instructions which, when the program is executed by a computer, cause the computer to carry out the method (100) according to claim 9.