Target recognition method, device, equipment and medium based on point cloud data clustering

By performing row clustering and column clustering of point cloud data sets, the problem of large amount and low efficiency of point cloud data clustering in the existing technology is solved, and more efficient target recognition is achieved.

CN114898135BActive Publication Date: 2025-03-25AUTOMOTIVE INTELLIGENCE & CONTROL OF CHINA CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202210543166.2
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-05-18
Publication Date
2025-03-25
Estimated Expiration
2042-05-18

AI Technical Summary

Technical Problem

The existing point cloud data clustering method based on the scan line runs algorithm needs to traverse all point cloud data in the column clustering step, with large calculation amounts and low clustering efficiency, which affects the target recognition efficiency.

Method used

By performing row clustering of the point cloud data set, we obtain the point cloud array of point cloud data of each row, and judge whether the same column of point cloud data exists in the point cloud array of different rows. If it exists and meets the preset point cloud clustering conditions, column clustering is performed to obtain the clustering results of the point cloud data set.

Benefits of technology

It effectively reduces the amount of computing, improves the clustering efficiency of point cloud data, and thus improves the efficiency of target recognition.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114898135B_ABST
    Figure CN114898135B_ABST
Patent Text Reader

Abstract

The present application provides a method, device, equipment and medium for target recognition based on point cloud data clustering. The method includes: obtaining a point cloud data set within a preset acquisition range, performing row clustering on the point cloud data set to obtain a point cloud array of each row of point cloud data in the point cloud data set; determining the column number of each point cloud data in the point cloud array, if there is an intersection between the column numbers of each point cloud data in different rows of the point cloud array, then determining an array to be clustered with an intersection between the column numbers of the point cloud data; if point cloud data with the same number of columns in arrays to be clustered in different rows meet the preset point cloud clustering conditions, then performing column clustering on the arrays to be clustered in different rows to obtain a point cloud clustering result of the point cloud data set; according to the point cloud clustering result, determining the target within the preset acquisition range. The present application simplifies the clustering process and improves the efficiency of target recognition by determining that there is an intersection between the column numbers of point cloud data in point cloud arrays of different rows.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to data processing technology, and in particular to a target recognition method, device, equipment and medium based on point cloud data clustering. Background Art

[0002] When driving, the car can identify objects in the surrounding environment in real time or at regular intervals, for example, vehicles, pedestrians, and trees. The point cloud data of the surrounding environment can be obtained through LiDAR for target recognition, thus improving the safety of vehicle driving.

[0003] In the prior art, based on the scan line runs algorithm, the entire point cloud data set is clustered in rows and columns. In the row clustering step, the adjacent points in each row are clustered into a point cloud array, and in the column clustering step, the point cloud data in each point cloud array after row clustering is scanned and merged to complete the clustering process.

[0004] However, when this algorithm performs column clustering scanning on two point cloud arrays in adjacent rows, it needs to traverse all the point cloud data in the two point cloud arrays, which results in a large amount of calculation and low clustering efficiency, thus affecting the recognition efficiency of the target. Summary of the invention

[0005] The present application provides a target recognition method, device, equipment and medium based on point cloud data clustering to improve the clustering efficiency of point cloud data and the target recognition efficiency.

[0006] On the one hand, the present application provides a target recognition method based on point cloud data clustering, comprising:

[0007] Acquire a point cloud data set within a preset acquisition range, perform row clustering on the point cloud data set, and obtain a point cloud array of each row of point cloud data in the point cloud data set; wherein the point cloud data set includes at least two rows of point cloud data and at least two columns of point cloud data, and the point cloud array includes at least one point cloud data;

[0008] Determine the column number of each point cloud data in the point cloud array, and if there is an intersection between the column numbers of each point cloud data in different rows of the point cloud array, determine the array to be clustered that has the intersection between the column numbers of the point cloud data;

[0009] If point cloud data with the same number of columns in arrays to be clustered in different rows meet the preset point cloud clustering condition, the arrays to be clustered in different rows are clustered by columns to obtain a point cloud clustering result of the point cloud data set;

[0010] According to the point cloud clustering result, a target within the preset acquisition range is determined.

[0011] On the other hand, the present application provides a target recognition device based on point cloud data clustering, comprising:

[0012] A point cloud array acquisition module, used to acquire a point cloud data set within a preset acquisition range, perform row clustering on the point cloud data set, and obtain a point cloud array of each row of point cloud data in the point cloud data set; wherein the point cloud data set includes at least two rows of point cloud data and at least two columns of point cloud data, and the point cloud array includes at least one point cloud data;

[0013] The module for determining the array to be clustered is used to determine the column number of each point cloud data in the point cloud array, and if there is an intersection between the column numbers of each point cloud data in different rows of the point cloud array, then determine the array to be clustered with the intersection between the column numbers of the point cloud data;

[0014] The to-be-clustered array clustering module is used for, if point cloud data with the same number of columns in different rows of the to-be-clustered arrays meet the preset point cloud clustering conditions, then performing column clustering on the to-be-clustered arrays in different rows to obtain a point cloud clustering result of the point cloud data set;

[0015] The target determination module is used to determine the target within the preset acquisition range according to the point cloud clustering result.

[0016] On the other hand, the present application provides an electronic device, comprising: a processor, and a memory communicatively connected to the processor;

[0017] The memory stores computer-executable instructions;

[0018] The processor executes the computer-executable instructions stored in the memory to implement the target recognition method based on point cloud data clustering as described in any embodiment of the present application.

[0019] On the other hand, the present application provides a computer-readable storage medium, which stores computer execution instructions. When the computer execution instructions are executed by a processor, they are used to implement the target recognition method based on point cloud data clustering as described in any embodiment of the present application.

[0020] On the other hand, the present application provides a computer program product, including a computer program, which, when executed by a processor, implements the target recognition method based on point cloud data clustering as described in any embodiment of the present application.

[0021] The present application provides a method, device, equipment and medium for target recognition based on point cloud data clustering. By performing row clustering on the point cloud data of each row in the point cloud data set, a point cloud array of each row of point cloud data is obtained; determining whether point cloud data of the same column exists in point cloud arrays of different rows. If so, determining whether the point cloud data of the same column in the point cloud array meets the preset point cloud clustering conditions. If so, performing column clustering on the point cloud array corresponding to the point cloud data of the same column. According to the point cloud clustering results after column clustering, each target within the preset acquisition range can be determined to complete target recognition. By determining whether there is point cloud data of the same column that meets the point cloud clustering conditions, the process of traversing point cloud data of different rows in the prior art is avoided, and there is no need to determine point cloud data of different columns in the point cloud array. The amount of calculation is effectively reduced, the clustering efficiency of point cloud data is improved, and the efficiency of target recognition is thereby improved. BRIEF DESCRIPTION OF THE DRAWINGS

[0022] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present application and, together with the description, serve to explain the principles of the present application.

[0023] Figure 1 A schematic diagram of a process of a target recognition method based on point cloud data clustering provided in an embodiment of the present application;

[0024] Figure 2 A schematic diagram of a flow chart of a target recognition method based on point cloud data clustering provided in an embodiment of the present application;

[0025] Figure 3 A schematic diagram of a process of a target recognition method based on point cloud data clustering provided in an embodiment of the present application;

[0026] Figure 4 A structural block diagram of a target recognition device based on point cloud data clustering provided in an embodiment of the present application;

[0027] Figure 5 A structural block diagram of an electronic device provided in an embodiment of the present application.

[0028] The above drawings have shown clear embodiments of the present application, which will be described in more detail later. These drawings and text descriptions are not intended to limit the scope of the present application in any way, but to illustrate the concept of the present application to those skilled in the art by referring to specific embodiments. DETAILED DESCRIPTION

[0029] In order to make the objectives, technical solutions and advantages of the present application more clear, the embodiments of the present application will be further described in detail below with reference to the accompanying drawings.

[0030] It should be clear that the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in the field without creative work are within the scope of protection of the present application.

[0031] When the following description refers to the drawings, unless otherwise indicated, the same numbers in different drawings represent the same or similar elements. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with the present application. Instead, they are only examples of devices and methods consistent with some aspects of the present application as detailed in the attached claims.

[0032] In the description of the present application, it should be understood that the terms "first", "second", "third", etc. are only used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence, nor can they be understood as indicating or implying relative importance. For those of ordinary skill in the art, the specific meanings of the above terms in the present application can be understood according to the specific circumstances. In addition, in the description of the present application, unless otherwise specified, "multiple" refers to two or more. "And / or" describes the association relationship of associated objects, indicating that three relationships may exist. For example, A and / or B can represent: A exists alone, A and B exist at the same time, and B exists alone. The character " / " generally indicates that the objects associated before and after are in an "or" relationship.

[0033] It should be noted that due to space limitations, this application specification does not list all optional implementation methods. After reading this application specification, those skilled in the art should be able to think that as long as the technical features do not contradict each other, any combination of technical features can constitute an optional implementation method. Each embodiment is described in detail below.

[0034] Figure 1 is a flow chart of a target recognition method based on point cloud data clustering provided in an embodiment of the present application. The method provided in this embodiment is executed by a target recognition device based on point cloud data clustering. Figure 1 As shown, the method comprises the following steps:

[0035] S101. Acquire a point cloud data set within a preset acquisition range, perform row clustering on the point cloud data set, and obtain a point cloud array of each row of point cloud data in the point cloud data set; wherein the point cloud data set includes at least two rows of point cloud data and at least two columns of point cloud data, and the point cloud array includes at least one point cloud data.

[0036] Among them, the laser radar can collect point cloud data within a preset collection range, and the preset collection range can be determined by the configuration of the laser radar, or by the staff according to actual needs. For example, the range within a preset radius with the laser radar as the center can be used as the preset collection range. The point cloud data set collected by the laser radar is acquired in real time or at a fixed time. The laser radar can be installed on a vehicle. For example, the vehicle can acquire a point cloud data set of the surrounding environment collected during driving, so as to facilitate the identification of targets in the surrounding environment based on the point cloud data set. Targets in the surrounding environment can be vehicles, pedestrians, trees, etc. The point cloud data set is a set composed of multiple point cloud data, and the point cloud data set can include at least two rows of point cloud data and at least two columns of point cloud data, that is, the number of rows in the point cloud data set can be multiple rows, and the number of columns can be multiple columns.

[0037] Perform row clustering on the point cloud data set, that is, cluster each row of point cloud data in the point cloud data set separately. Clustering each row of point cloud data can be to divide the point cloud data of each row into arrays to obtain a point cloud array of each row of point cloud data. For example, there are seven point cloud data in the first row. When performing row clustering on the first row, the first and second point cloud data can be divided into one point cloud array, the third to fifth point cloud data can be divided into one point cloud array, and the sixth and seventh point cloud data can be divided into one point cloud array. A point cloud array can include one or more point cloud data, and the number of point cloud arrays in each row can be the same or different. For example, there are three rows of point cloud data in the point cloud data set, the first row of point cloud data can be divided into three point cloud arrays, the second row of point cloud data can be divided into two point cloud arrays, and the third row of point cloud data can be divided into four point cloud arrays.

[0038] When performing row clustering on a point cloud data set, clustering can be performed based on the distance between point cloud data in each row. For example, point cloud data with a close distance can be divided into a point cloud array. It is also possible to randomly select multiple points from a row of point cloud data as the center point of the point cloud array, calculate the distance between each point cloud data and each center point, and cluster it into the point cloud array of the center point based on the principle of the smallest distance value.

[0039] In this embodiment, performing row clustering on the point cloud data set includes: determining a first data distance between any row of point cloud data in the point cloud data set; if the first data distance is less than or equal to a preset first data distance threshold, performing row clustering on any row of point cloud data.

[0040] Specifically, the first data distance threshold can be set in advance. Determine the distance between each point cloud data in each row, and determine the distance between every two adjacent point cloud data as the first data distance. Compare the first data distance with the first data distance threshold. If the first data distance is less than or equal to the first data distance threshold, the two point cloud data corresponding to the first data distance need to be clustered in rows. If the first data distance is greater than the first data distance threshold, the two point cloud data corresponding to the first data distance do not need to be clustered in rows. For example, for the first row of point cloud data, there are three point cloud data, the first data distance between the first point cloud data and the second point cloud data is less than the first data distance threshold, and the first data distance between the second point cloud data and the third point cloud data is greater than the first data distance threshold, then the first point cloud data and the second point cloud data are clustered, and the row clustering result of the first row of point cloud data is that the first point cloud data and the second point cloud data form a point cloud array, and the third point cloud data is a point cloud array.

[0041] The beneficial effect of this setting is that row clustering is performed by the distance between point cloud data, with small amount of calculation and fast judgment process, which effectively improves the clustering efficiency of point cloud data and thus improves the efficiency of target recognition.

[0042] S102, determining the column number of each point cloud data in the point cloud array, and if there is an intersection between the column numbers of each point cloud data in different rows of the point cloud array, determining an array to be clustered that has an intersection between the column numbers of the point cloud data.

[0043] Each row of point cloud data includes multiple columns, and the number of columns of each row of point cloud data can be the same or different. After obtaining the point cloud array of each row of point cloud data, determine the column number of the point cloud data in each point cloud array. For example, for the point cloud array of the first row of point cloud data, there are three point cloud arrays in the first row, and the number of columns of the point cloud data in the first point cloud array is the first column and the second column; the number of columns of the point cloud data in the second point cloud array is the third column, the fourth column, and the fifth column; the number of columns of the point cloud data in the third point cloud array is the sixth column and the seventh column.

[0044] Determine the number of columns where each point cloud data in each row of the point cloud array is located, and determine whether there is an intersection of the number of columns between point cloud arrays in different rows, that is, determine whether there is the same number of columns in point cloud arrays in different rows. For example, the number of columns of point cloud data in the first point cloud array of the first row is the first column and the second column, and the number of columns of point cloud data in the first point cloud array of the second row is the first column, the second column, and the third column. If there are the same first and second columns between the first point cloud array of the first row and the first point cloud array of the second row, and the first row and the second row are different rows, it can be determined that there is an intersection of the number of columns between the first point cloud array of the first row and the first point cloud array of the second row.

[0045] To judge whether there is an intersection between the number of columns of each point cloud data in different rows of point cloud arrays, the intersection of the number of columns of each point cloud array between different rows is judged in turn, that is, for different rows, each point cloud array in each row and each point cloud array in other rows are judged. The judgment can be made for every two rows of point cloud arrays. For example, if there are three point cloud arrays in the first row and two point cloud data in the second row, the number of columns of the point cloud data in the first point cloud array of the first row is compared with the number of columns of the point cloud data in the first point cloud array of the second row, and then the number of columns of the point cloud data in the first point cloud array of the first row is compared with the number of columns of the point cloud data in the second point cloud array of the second row, until the number of columns of each point cloud array in the first row and each point cloud array in the second row are compared. After judging the first and second rows, the first and third rows can be judged to realize the intersection judgment between the number of columns of each point cloud data in the point cloud arrays of different rows.

[0046] If there is an intersection between the number of columns where each point cloud data in different rows of the point cloud arrays are located, then the point cloud arrays with the intersection between the number of columns where the point cloud data are located are arrays to be clustered. For example, if the first point cloud array in the first row and the first point cloud array in the second row have an intersection in the number of columns, then the first point cloud array in the first row and the first point cloud array in the second row are arrays to be clustered. If there is no intersection in the number of columns between the first point cloud array in the first row and the second point cloud array in the second row, then the first point cloud array in the first row and the second point cloud array in the second row are not arrays to be clustered. In other words, the arrays to be clustered are point cloud arrays in different rows that are mutually arrays to be clustered. After determining that the first point cloud array in the first row and the first point cloud array in the second row are arrays to be clustered, it does not mean that the first point cloud array in the first row is an array to be clustered for each row of the point cloud arrays.

[0047] S103: If point cloud data with the same number of columns in arrays to be clustered in different rows meet a preset point cloud clustering condition, the arrays to be clustered in different rows are clustered by columns to obtain a point cloud clustering result of the point cloud data set.

[0048] Among them, if the intersection of the number of columns is judged for every two rows, the arrays to be clustered can be determined in pairs, that is, the two point cloud arrays are mutually arrays to be clustered. If multiple rows are judged, it can be determined that multiple point cloud arrays are mutually arrays to be clustered. There must be point cloud data with the same number of columns in the arrays to be clustered. After determining the arrays to be clustered between different rows, determine the point cloud data with the same number of columns between the arrays to be clustered. Determine whether the point cloud data in the same number of columns in the arrays to be clustered meet the preset point cloud clustering conditions. If so, cluster the two arrays to be clustered. In the arrays to be clustered, column clustering can be performed after each column of point cloud data in the same column meets the point cloud clustering conditions, or column clustering can be performed on the arrays to be clustered as long as there is a column of point cloud data that meets the preset point cloud clustering conditions. That is, it can be determined whether there are point cloud data with the same number of columns in the array to be clustered that meet the preset point cloud clustering conditions. If so, the array to be clustered where the point cloud data with the same number of columns is located is clustered by columns. Column clustering refers to clustering in the column direction, that is, clustering the array to be clustered.

[0049] For example, the first point cloud array in the first row and the second point cloud array in the second row are arrays to be clustered, and the point cloud data in the same column number in the two arrays to be clustered are the point cloud data in the first column and the point cloud data in the second column. It is possible to first determine whether the point cloud data in the two first columns meet the point cloud clustering conditions. If so, it is not necessary to determine whether the point cloud data in the second column meets the point cloud clustering conditions, and the first point cloud array in the first row and the second point cloud array in the second row can be directly clustered by columns.

[0050] After determining that the point cloud data in the two first columns meet the point cloud clustering condition, it is also possible to determine whether the point cloud data in the two second columns meet the point cloud clustering condition. If so, the first point cloud array in the first row and the second point cloud array in the second row are clustered in columns. If the point cloud data in one column does not meet the point cloud clustering condition, the two arrays to be clustered are not clustered in columns.

[0051] Point cloud clustering conditions can be set in advance. For example, the point cloud clustering condition can be that if the distance between two point cloud data is within a preset distance, then the two point cloud data meet the preset point cloud clustering conditions. After row clustering and column clustering, the point cloud clustering result of the point cloud data set can be obtained, and the clustering process of the point cloud data set is completed. For example, the point cloud data set has three rows and three columns. After row clustering, six point cloud arrays are obtained, with two point cloud arrays in each row. After column clustering, the first point cloud array in each row is merged, and the second point cloud array in each row is merged, and finally two point cloud clusters are obtained as the point cloud clustering results.

[0052] In this embodiment, if point cloud data with the same number of columns in arrays to be clustered in different rows meet the preset point cloud clustering conditions, the arrays to be clustered in different rows are clustered by columns, including: determining the second data distance between point cloud data with the same number of columns in arrays to be clustered in different rows; if the second data distance is less than or equal to the preset second data distance threshold, the arrays to be clustered in different rows are clustered by columns.

[0053] Specifically, a second data distance threshold can be pre-set, and the second data distance threshold can be the same as or different from the first data distance threshold. Determine the distance between the point cloud data with the same number of columns in the array to be clustered as the second data distance. Compare the second data distance with the second data distance threshold. If the second data distance is less than or equal to the second data distance threshold, the point cloud data corresponding to the second data distance meets the preset point cloud clustering condition, and the array to be clustered can be column clustered. If the second data distance is greater than the second data distance threshold, the two point cloud data corresponding to the second data distance do not meet the preset point cloud clustering condition. For example, the point cloud data in the first row has three point cloud arrays, and the point cloud data in the second row has two point cloud arrays. Among them, the first point cloud array in the first row and the first point cloud array in the second row are the arrays to be clustered, and the first column is the same number of columns. If the second data distance between the first column of point cloud data in the first point cloud array in the first row and the first column of point cloud data in the first point cloud array in the second row is less than the second data distance threshold, the first point cloud array in the first row and the first point cloud array in the second row are clustered, and the two point cloud arrays are clustered into one cluster.

[0054] The beneficial effect of this setting is that column clustering is performed by the distance between point cloud data, the amount of calculation is small, the judgment process is simple and fast, and it is not easy to make mistakes, which effectively improves the clustering efficiency of point cloud data and thus improves the efficiency of target recognition.

[0055] S104: Determine the target within the preset acquisition range according to the point cloud clustering result.

[0056] Among them, after determining the point cloud clustering result, the target of the preset acquisition range can be determined according to the point cloud clustering result, and the target recognition within the preset acquisition range can be realized. For example, if the point cloud clustering result is to divide the point cloud data set into two point cloud clusters, it can be determined that there are two targets in the preset acquisition range. According to the preset target recognition algorithm, the two targets can be identified. For example, the target recognition can be performed according to the shape and three-dimensional coordinates of the point cloud cluster. In this embodiment, the target recognition algorithm is not specifically limited.

[0057] The embodiment of the present application provides a target recognition method based on point cloud data clustering, by performing row clustering on the point cloud data of each row in the point cloud data set to obtain a point cloud array of each row of point cloud data; determine whether there is point cloud data in the same column in the point cloud arrays of different rows, if so, determine whether the point cloud data in the same column in the point cloud array meets the preset point cloud clustering conditions, if so, perform column clustering on the point cloud array corresponding to the point cloud data in the same column. According to the point cloud clustering results after column clustering, each target within the preset acquisition range can be determined to complete target recognition. By judging whether there is point cloud data in the same column that meets the point cloud clustering conditions, the process of traversing point cloud data in point cloud arrays of different rows in the prior art is avoided, and there is no need to judge the point cloud data in other columns of the point cloud array. The amount of calculation is effectively reduced, the clustering efficiency of point cloud data is improved, and the efficiency of target recognition is thereby improved.

[0058] Figure 2 A flow chart of a target recognition method based on point cloud data clustering provided in an embodiment of the present application is an optional embodiment based on the above embodiment.

[0059] In this embodiment, determining the column number of the point cloud data in the point cloud array can be further refined as follows: determining the starting point cloud data and the ending point cloud data in the point cloud array; and determining the column number of each point cloud data in the point cloud array according to the column number of the starting point cloud data and the column number of the ending point cloud data.

[0060] like Figure 2 As shown, the method comprises the following steps:

[0061] S201. Acquire a point cloud data set within a preset acquisition range, perform row clustering on the point cloud data set, and obtain a point cloud array of each row of point cloud data in the point cloud data set; wherein the point cloud data set includes at least two rows of point cloud data and at least two columns of point cloud data, and the point cloud array includes at least one point cloud data.

[0062] S202, determining the starting point cloud data and the ending point cloud data in the point cloud array; determining the column number of each point cloud data in the point cloud array according to the column number of the starting point cloud data and the column number of the ending point cloud data.

[0063] Among them, after obtaining the point cloud array of each row, determine the column number of each point cloud data in the point cloud array. The starting point cloud data and the ending point cloud data in each point cloud array can be determined. The starting point cloud data is the first point cloud data in the point cloud array, and the ending point cloud data is the last point cloud data in the point cloud array. Determine the column number of the starting point cloud data and the column number of the ending point cloud data in each point cloud array. The number of columns of the point cloud data in each row is arranged in sequence. Therefore, the number of columns of each point cloud data in the point cloud array can be determined according to the number of columns of the starting point cloud data and the number of columns of the ending point cloud data.

[0064] For example, in a point cloud array, the column number of the starting point cloud data is the second column, and the column number of the ending point cloud data is the fourth column. Then, it can be determined that the column numbers of each point cloud data in the point cloud array are the second column, the third column, and the fourth column respectively.

[0065] By determining the column number of the starting point cloud data and the column number of the ending point cloud data of each point cloud array, the column number of each point cloud in the point cloud array can be quickly obtained. There is no need to count the column number of each point cloud in turn, which improves the efficiency of determining the column number of the point cloud data and further improves the clustering efficiency of the point cloud data.

[0066] S203 . If there is an intersection between the columns where the point cloud data in different rows of the point cloud array are located, determine an array to be clustered where there is an intersection between the columns where the point cloud data are located.

[0067] It is determined whether there is an intersection between point cloud arrays in different rows in terms of the number of columns where the point cloud data is located. If so, the point cloud arrays in different rows are determined as arrays to be clustered.

[0068] In this embodiment, if there is an intersection between the column numbers of each point cloud data in different rows of the point cloud array, then an array to be clustered in which there is an intersection between the column numbers of the point cloud data is determined, including: if it is determined that there are point cloud data located in the same column number in the point cloud array of different rows according to the column numbers of the starting point cloud data and the column numbers of the ending point cloud data in the point cloud array of different rows, then it is determined that there is an intersection between the column numbers of each point cloud data in the point cloud array of different rows; the point cloud array in which there is an intersection between the column numbers of each point cloud data is determined as the array to be clustered.

[0069] Specifically, according to the column number of the starting point cloud data and the column number of the ending point cloud data in the point cloud arrays of different rows, determine whether there are point cloud data in the same column number in the point cloud arrays of different rows. For example, in two point cloud arrays of different rows, the starting point cloud data of one point cloud array is located in the first column, and the ending point cloud data is located in the fifth column; the starting point cloud data of the other point cloud array is located in the second column, and the ending point cloud data is located in the fourth column. In other words, the column numbers of each point cloud data in one point cloud array are {1,2,3,4,5}, and the column numbers of each point cloud data in the other point cloud array are {2,3,4}. It can be determined that there is an intersection {2,3,4} between the column numbers of the point cloud data in the two point cloud arrays, that is, there are point cloud data with the same number of columns.

[0070] If it is determined that there is an intersection between the column numbers of each point cloud data in different rows of the point cloud arrays, then it is determined that the point cloud arrays in different rows are arrays to be clustered.

[0071] The beneficial effect of such a setting is that, by using the column number of the starting point cloud data and the column number of the ending point cloud data, it is determined whether there is an intersection between the column numbers of the point cloud data in different rows of the point cloud array, thereby avoiding the process of sequentially comparing the column numbers of the point cloud data in different rows of the point cloud array, reducing the amount of calculation and improving the efficiency of judging the intersection of the column numbers.

[0072] In this embodiment, if there is an intersection between the column numbers of each point cloud data in different rows of point cloud arrays, then an array to be clustered in which the column numbers of the point cloud data are intersected is determined, including: if it is determined that there is an intersection between the column numbers of the point cloud data in each point cloud array in the target row and the column numbers of the point cloud data in each point cloud array in the adjacent row, then the point cloud array in which the column numbers of the point cloud data in the target row and the adjacent row have an intersection is determined as the array to be clustered; wherein the target row is any row of the point cloud data set, and the adjacent row is the next row of the target row in the point cloud data set.

[0073] Specifically, the target row can be any row of the point cloud data set, and the adjacent row can be the next row of the target row in the point cloud data set. For example, the target row is the first row, and the adjacent row is the second row. Any row can be selected from the point cloud data set as the target row, or each row can be determined as the target row in sequence starting from the first row according to the order of the rows in the point cloud data set. The number of columns where the point cloud data in each point cloud array in the target row is located is determined, and the number of columns where the point cloud data in each point cloud array in the adjacent rows is determined.

[0074] Compare the number of columns where the point cloud data is located in each point cloud array in the target row with that in each point cloud array in the adjacent row. For example, the point cloud array in the target row and the point cloud array in the adjacent row can be arranged and combined, and the number of columns can be determined in pairs. If the number of columns where the point cloud data is located in the first point cloud array of the target row and the number of columns where the point cloud data is located in the second point cloud array of the adjacent row have an intersection, then the first point cloud array of the target row and the second point cloud array of the adjacent row are arrays to be clustered. For example, if the first point cloud array of the target row and the first point cloud array of the adjacent row have the same number of columns of point cloud data, then the first point cloud array of the target row and the first point cloud array of the adjacent row are arrays to be clustered; if the first point cloud array of the target row and the second point cloud array of the adjacent row also have the same number of columns of point cloud data, then the first point cloud array of the target row and the second point cloud array of the adjacent row are also arrays to be clustered.

[0075] The adjacent row can be the next row of the target row or any row other than the target row. In the case of the same target row, the adjacent row can change. For example, the first row is the target row, the adjacent row can be the second row first, and after the point cloud arrays of the first and second rows are judged, the adjacent row can be changed to the third row to realize the judgment of the point cloud arrays of the first and third rows.

[0076] The beneficial effect of this setting is that judgment can be made every two rows, ensuring that each row in the point cloud data set compares the number of columns of point cloud data with other rows, avoiding data omissions, improving the clustering accuracy of point cloud data, and thus improving the accuracy of target recognition.

[0077] In this embodiment, if it is determined that there is an intersection between the number of columns where the point cloud data in each point cloud array in the target row and the number of columns where the point cloud data in each point cloud array in the adjacent row are located, then the point cloud array in which the number of columns where the point cloud data in the target row and the adjacent row are located is determined to be the array to be clustered, including: sorting the point cloud arrays of each row to determine the first point cloud array ranked first in the target row; if there is no intersection between the number of columns where the point cloud data in the first point cloud array of the target row and the number of columns where the point cloud data in any point cloud array in the adjacent row are located, then determining the second point cloud array ranked second in the target row; if there is an intersection between the number of columns where the point cloud data in the second point cloud array of the target row and the number of columns where the point cloud data in any point cloud array in the adjacent row are located, then determining the second point cloud array in the target row and any point cloud array in the adjacent row as the arrays to be clustered.

[0078] Specifically, after obtaining the point cloud arrays of each row, the point cloud arrays of each row are sorted. The point cloud arrays can be sorted from small to large according to the size of the column number where the starting point cloud data in each point cloud array is located. The point cloud array ranked first in each row is determined as the first point cloud array of the row. The first point cloud array of the target row is determined.

[0079] Determine the column number of each point cloud data in the first point cloud array of the target row, and the column number of the point cloud data in each point cloud array in the adjacent row. Compare the column number of each point cloud data in the first point cloud array in the target row with the column number of each point cloud data in any group of point cloud arrays in the adjacent rows, and determine whether there is at least one group of point cloud arrays in the point cloud arrays in the adjacent rows, and the column number of the point cloud data in the point cloud array has an intersection with the column number of the point cloud data in the first point cloud array in the target row. If so, the point cloud array in the adjacent row and the first point cloud array in the target row are arrays to be clustered. If not, determine the second point cloud array in the target row as the second point cloud array. Continue to determine whether there is an intersection between the column number of each point cloud data in the second point cloud array of the target row and the column number of each point cloud data in any group of point cloud arrays in the adjacent rows. It is worth noting that after determining whether there is an intersection between the number of columns where each point cloud data in the first point cloud array of the target row and the number of columns where each point cloud data in any group of point cloud arrays in the adjacent rows is located, it is also necessary to determine the second point cloud array of the target row and determine whether there is an intersection between the number of columns where each point cloud data in the second point cloud array of the target row and the number of columns where each point cloud data in any group of point cloud arrays in the adjacent rows is located. This ensures that each group of point cloud arrays in the target row and each group of point cloud arrays in the adjacent rows have been judged to have an intersection in terms of the number of columns.

[0080] The beneficial effect of this setting is that each time a judgment is made, a point cloud array of the target row is used as a fixed array to be judged together with each point cloud array of the adjacent row. After all the point cloud arrays of the adjacent rows have been judged together with the fixed array, the fixed array of the target row is changed to be judged again until all the point cloud arrays of the target row have been judged together with each point cloud data of the adjacent rows, thereby avoiding data omissions and improving the clustering accuracy of the point cloud data.

[0081] S204: If point cloud data with the same number of columns in arrays to be clustered in different rows meet a preset point cloud clustering condition, the arrays to be clustered in different rows are clustered by columns to obtain a point cloud clustering result of the point cloud data set.

[0082] S205: Determine the target within the preset acquisition range according to the point cloud clustering result.

[0083] The embodiment of the present application provides a target recognition method based on point cloud data clustering, by performing row clustering on the point cloud data of each row in the point cloud data set to obtain a point cloud array of each row of point cloud data; determine whether there is point cloud data in the same column in the point cloud arrays of different rows, if so, determine whether the point cloud data in the same column in the point cloud array meets the preset point cloud clustering conditions, if so, perform column clustering on the point cloud array corresponding to the point cloud data in the same column. According to the point cloud clustering results after column clustering, each target within the preset acquisition range can be determined to complete target recognition. By judging whether there is point cloud data in the same column that meets the point cloud clustering conditions, the process of traversing point cloud data in point cloud arrays of different rows in the prior art is avoided, and there is no need to judge the point cloud data in other columns of the point cloud array. The amount of calculation is effectively reduced, the clustering efficiency of point cloud data is improved, and the efficiency of target recognition is thereby improved.

[0084] Figure 3 A flow chart of a target recognition method based on point cloud data clustering provided in an embodiment of the present application is an optional embodiment based on the above embodiment.

[0085] In this embodiment, if point cloud data with the same number of columns in arrays to be clustered in different rows meet the preset point cloud clustering conditions, the arrays to be clustered in different rows are clustered by columns, which can be further broken down into: determining the point cloud data to be clustered in arrays to be clustered in different rows; wherein the point cloud data to be clustered are located in the same number of columns; if the point cloud data to be clustered on the same number of columns meet the preset point cloud clustering conditions, the arrays to be clustered in different rows are clustered by columns.

[0086] like Figure 3 As shown, the method comprises the following steps:

[0087] S301. Acquire a point cloud data set within a preset acquisition range, perform row clustering on the point cloud data set, and obtain a point cloud array of each row of point cloud data in the point cloud data set; wherein the point cloud data set includes at least two rows of point cloud data and at least two columns of point cloud data, and the point cloud array includes at least one point cloud data.

[0088] S302, determining the column number of each point cloud data in the point cloud array, and if there is an intersection between the column numbers of each point cloud data in different rows of the point cloud array, determining an array to be clustered that has an intersection between the column numbers of the point cloud data.

[0089] S303, determining the point cloud data to be clustered in the array to be clustered in different rows; wherein the point cloud data to be clustered are located in the same column number.

[0090] Among them, the arrays to be clustered can be multiple point cloud arrays that are mutually arrays to be clustered, for example, two point cloud arrays can be mutually arrays to be clustered. If multiple point cloud arrays are mutually arrays to be clustered, then the point cloud data located on the same column number in these point cloud arrays are determined, and the point cloud data located on the same column number in the arrays to be clustered are determined as the point cloud data to be clustered. For example, the first point cloud array in the first row and the first point cloud array in the second row are arrays to be clustered. The first point cloud array in the first row includes the point cloud data in the first column, the point cloud data in the second column, and the point cloud data in the third column, and the first point cloud array in the second row includes the point cloud data in the first column and the point cloud data in the second column. Then, it can be determined that in the first point cloud array in the first row, the point cloud data to be clustered are the point cloud data located in the first column and the second column; in the first point cloud array in the second row, the point cloud data to be clustered are also the point cloud data located in the first column and the second column.

[0091] By determining the point cloud data to be clustered, only the point cloud data to be clustered can be judged for point cloud clustering conditions, avoiding the judgment of other point cloud data in the clustering array, reducing the amount of calculation, greatly reducing the retrieval range of point cloud data in the array to be clustered, and improving the clustering efficiency of point cloud data.

[0092] S304: If the point cloud data to be clustered on the same number of columns meet the preset point cloud clustering condition, the arrays to be clustered in different rows are clustered by columns to obtain a point cloud clustering result of the point cloud data set.

[0093] Among them, the point cloud data to be clustered on the same column number is determined, and it is judged whether any column of the point cloud data to be clustered on the same column number meets the preset point cloud clustering condition. If there is at least one column of the point cloud data to be clustered on the same column number that meets the point cloud clustering condition, it can be determined that the array to be clustered where the point cloud data to be clustered is located can be clustered by column. The array to be clustered where the point cloud data to be clustered is located is clustered by column, and the point cloud clustering result of the point cloud data set is obtained.

[0094] In this embodiment, if the point cloud data to be clustered on the same column number meet the preset point cloud clustering conditions, the arrays to be clustered in different rows are clustered by columns, including: sorting the point cloud data to be clustered according to the column number of the point cloud data to be clustered; determining the first point cloud data to be clustered that ranks first in the arrays to be clustered in different rows according to the sorting of the point cloud data to be clustered; if the first point cloud data to be clustered in the arrays to be clustered in different rows meet the preset point cloud clustering conditions, the arrays to be clustered in different rows are clustered by columns.

[0095] Specifically, the column number of each point cloud data to be clustered in the array to be clustered is determined, and the point cloud data to be clustered is sorted according to the column number. The point cloud data to be clustered in the array to be clustered are located in the same column number, so the order of the point cloud data to be clustered in the array to be clustered is consistent. For example, array 1 and array 2 are arrays to be clustered, and the point cloud data to be clustered in array 1 are sorted in the second column and the third column, and the point cloud data to be clustered in array 2 are also sorted in the second column and the third column.

[0096] According to the order of the point cloud data to be clustered, the point cloud data to be clustered that ranks first in the array to be clustered is determined, wherein the arrays to be clustered are located in different rows. The point cloud data to be clustered that ranks first is determined as the first point cloud data to be clustered. The arrays to be clustered are at least two point cloud arrays, and it is determined whether each first point cloud data to be clustered in the arrays to be clustered meets the preset point cloud clustering condition. For example, the data to be clustered is the first point cloud array in the first row and the first point cloud array in the second row, and the point cloud data to be clustered is the point cloud data in the first column, and it is determined whether the point cloud data to be clustered in the first column of the first row and the point cloud data to be clustered in the first column of the second row meet the point cloud clustering condition.

[0097] If the first point cloud data to be clustered in different rows of arrays to be clustered meets the preset point cloud clustering condition, the arrays to be clustered in different rows are clustered by columns. For example, if the first column of point cloud data to be clustered in the first row and the first column of point cloud data to be clustered in the second row meet the point cloud clustering condition, the first array to be clustered in the first row and the first array to be clustered in the second row can be clustered by columns. After determining that the point cloud data to be clustered ranked first in the arrays to be clustered in different rows meet the point cloud clustering condition, it is no longer necessary to determine whether the point cloud data to be clustered ranked second meet the point cloud clustering condition.

[0098] The beneficial effect of such a setting is that the first point cloud data to be clustered in the array to be clustered is determined to judge the point cloud clustering conditions, avoiding judging the point cloud data in different columns. And after the first point cloud data to be clustered meets the point cloud clustering conditions, column clustering can be performed directly without searching and judging other point cloud data to be clustered in the array to be clustered, reducing the amount of calculation, improving the clustering efficiency of point cloud data, and thus improving the efficiency of target recognition.

[0099] In this embodiment, if the first point cloud data to be clustered in arrays to be clustered in different rows meet the preset point cloud clustering conditions, the arrays to be clustered in different rows are clustered in columns, including: if the first point cloud data to be clustered in arrays to be clustered in different rows do not meet the preset point cloud clustering conditions, then according to the sorting of the point cloud data to be clustered, the second point cloud data to be clustered that ranks second in the arrays to be clustered in different rows are determined; if the second point cloud data to be clustered in arrays to be clustered in different rows meet the preset point cloud clustering conditions, then the arrays to be clustered in different rows are clustered in columns.

[0100] Specifically, if in the arrays to be clustered in different rows, each first point cloud data to be clustered does not meet the preset point cloud clustering conditions, then the point cloud clustering conditions of the point cloud data to be clustered in the arrays to be clustered will continue to be judged. According to the sorting of the point cloud data to be clustered, the second point cloud data to be clustered in the arrays to be clustered in different rows can be determined, and the second point cloud data to be clustered can be determined as the second point cloud data to be clustered. Determine whether the preset point cloud clustering conditions are met between each second point cloud data to be clustered in the arrays to be clustered. If so, the arrays to be clustered in different rows are clustered by columns; if not, continue to determine the third point cloud data to be clustered ranked in the third place, until all the point cloud data to be clustered in the arrays to be clustered are judged. If the point cloud data to be clustered with the same number of columns in the arrays to be clustered do not meet the point cloud clustering conditions, it is determined that the arrays to be clustered cannot be clustered by columns.

[0101] The beneficial effect of such a setting is that the point cloud clustering conditions are judged according to the sorting of the point cloud data to be clustered, so as to avoid judging point cloud data in different columns, reduce the judgment process of all point cloud data to be clustered, and improve the clustering efficiency of point cloud data.

[0102] In this embodiment, after determining that the point cloud data to be clustered in the same column in the array to be clustered all meet the point cloud clustering condition, the array to be clustered can be clustered by column. If there are point cloud data to be clustered in the same column that do not meet the point cloud clustering condition, the array to be clustered will not be clustered by column, thereby improving the accuracy of column clustering and avoiding the judgment of point cloud clustering conditions between point cloud data in different columns, thereby improving the efficiency of column clustering.

[0103] S305: Determine the target within the preset acquisition range according to the point cloud clustering result.

[0104] Among them, after determining the point cloud clustering results, the targets in the preset collection range can be determined according to the point cloud clustering results, and the target recognition within the preset collection range can be realized. In this embodiment, point cloud data collection of the surrounding environment can be performed for the self-driving car. For example, surrounding vehicles, pedestrians or trees and other targets can be collected. The point cloud clustering results can represent the targets in the surrounding environment. For example, if the point cloud clustering result divides the point cloud data set into two point cloud clusters, it can be determined that there are two targets in the preset collection range. According to the preset target recognition algorithm, these two targets can be identified. For example, target recognition can be performed based on information such as the shape and three-dimensional coordinates of the point cloud cluster to determine that there is a car and a pedestrian in the surrounding environment. The distance between the target in the surrounding environment and the vehicle itself can also be determined based on the depth of the point cloud data, which facilitates the automatic driving of the vehicle and improves the safety of vehicle driving.

[0105] The embodiment of the present application provides a target recognition method based on point cloud data clustering, by performing row clustering on the point cloud data of each row in the point cloud data set, a point cloud array of each row of point cloud data is obtained; it is determined whether there is point cloud data in the same column in the point cloud array of different rows, if so, it is determined whether the point cloud data in the same column in the point cloud array meets the preset point cloud clustering conditions, if so, the point cloud array corresponding to the point cloud data in the same column is clustered by column. According to the point cloud clustering results after column clustering, each target within the preset acquisition range can be determined to complete target recognition. By judging whether there is point cloud data in the same column that meets the point cloud clustering conditions, the process of traversing point cloud data in point cloud arrays of different rows in the prior art is avoided, and the process of judging the point cloud clustering conditions after judging whether the point cloud data is in the same column is also avoided, and there is no need to judge the point cloud data in other columns in the point cloud array. The amount of calculation is effectively reduced, the clustering efficiency of point cloud data is improved, and the efficiency of target recognition is thereby improved.

[0106] Figure 4 The structure block diagram of a target recognition device based on point cloud data clustering provided by the embodiment of the present disclosure. For the convenience of explanation, only the part related to the embodiment of the present disclosure is shown. Figure 4 The device includes: a point cloud array acquisition module 401, a to-be-clustered array determination module 402, a to-be-clustered array clustering module 403 and a target determination module 404.

[0107] The point cloud array acquisition module 401 is used to acquire a point cloud data set within a preset acquisition range, perform row clustering on the point cloud data set, and obtain a point cloud array of each row of point cloud data in the point cloud data set; wherein the point cloud data set includes at least two rows of point cloud data and at least two columns of point cloud data, and the point cloud array includes at least one point cloud data;

[0108] The module 402 for determining the array to be clustered is used to determine the column number of each point cloud data in the point cloud array, and if there is an intersection between the column numbers of each point cloud data in different rows of the point cloud array, then determine the array to be clustered with the intersection between the column numbers of the point cloud data;

[0109] The to-be-clustered array clustering module 403 is used for, if point cloud data with the same number of columns in different rows of the to-be-clustered arrays meet the preset point cloud clustering condition, then performing column clustering on the to-be-clustered arrays in different rows to obtain a point cloud clustering result of the point cloud data set;

[0110] The target determination module 404 is used to determine the target within the preset acquisition range according to the point cloud clustering result.

[0111] Optionally, the module 402 for determining the array to be clustered includes:

[0112] A point cloud determination unit, used to determine the starting point cloud data and the ending point cloud data in the point cloud array;

[0113] The column number determining unit is used to determine the column number of each point cloud data in the point cloud array according to the column number of the starting point cloud data and the column number of the ending point cloud data.

[0114] Optionally, the module 402 for determining the array to be clustered further includes:

[0115] an intersection determination unit, for determining that there is an intersection between the column numbers of the point cloud data in the point cloud arrays of different rows, if it is determined that there are point cloud data located in the same column number in the point cloud arrays of different rows according to the column numbers of the starting point cloud data and the column numbers of the ending point cloud data in the point cloud arrays of different rows;

[0116] The array determination unit is used to determine the point cloud arrays with intersections between the columns of the point cloud data as the arrays to be clustered.

[0117] Optionally, the module 402 for determining the array to be clustered includes:

[0118] The array to be clustered judgment unit is used to determine that if there is an intersection between the number of columns where the point cloud data in each point cloud array in the target row and the number of columns where the point cloud data in each point cloud array in the adjacent row are located, then the point cloud array in which the number of columns where the point cloud data in the target row and the adjacent row have an intersection is the array to be clustered; wherein the target row is any row of the point cloud data set, and the adjacent row is the next row of the target row in the point cloud data set.

[0119] Optionally, the to-be-clustered array judgment unit is specifically used for:

[0120] Sort the point cloud arrays of each row to determine the first point cloud array that ranks first in the target row;

[0121] If there is no intersection between the number of columns where each point cloud data in the first point cloud array of the target row is located and the number of columns where each point cloud data in any point cloud array in the adjacent row is located, then determining the second point cloud array ranked second in the target row;

[0122] If there is an intersection between the number of columns where each point cloud data in the second point cloud array of the target row is located and the number of columns where each point cloud data in any point cloud array in the adjacent row is located, then the second point cloud array in the target row and the any point cloud array in the adjacent row are determined to be arrays to be clustered.

[0123] Optionally, the to-be-clustered array clustering module 403 includes:

[0124] The point cloud data to be clustered determining unit is used to determine the point cloud data to be clustered in different rows of the array to be clustered; wherein the point cloud data to be clustered are located in the same column number;

[0125] The column clustering unit is used to perform column clustering on the arrays to be clustered in different rows if the point cloud data to be clustered on the same column number meet the preset point cloud clustering condition.

[0126] Optional, column clustering unit, specifically used for:

[0127] Sorting the point cloud data to be clustered according to the number of columns where the point cloud data to be clustered is located;

[0128] According to the order of the point cloud data to be clustered, determining the first point cloud data to be clustered that is ranked first in the arrays to be clustered of different rows;

[0129] If the first point cloud data to be clustered in the arrays to be clustered in different rows meet the preset point cloud clustering condition, the arrays to be clustered in different rows are clustered by columns.

[0130] Optionally, the column clustering unit is also specifically used for:

[0131] If the first point cloud data to be clustered in the array to be clustered in different rows does not meet the preset point cloud clustering condition, then according to the sorting of the point cloud data to be clustered, determine the second point cloud data to be clustered that ranks second in the array to be clustered in different rows;

[0132] If the second point cloud data to be clustered in the arrays to be clustered in different rows meet the preset point cloud clustering condition, the arrays to be clustered in different rows are clustered by columns.

[0133] Optionally, the point cloud array obtaining module 401 is specifically used for:

[0134] Determine a first data distance between any rows of point cloud data in the point cloud data set;

[0135] If the first data distance is less than or equal to a preset first data distance threshold, row clustering is performed on any row of point cloud data.

[0136] Optionally, the to-be-clustered array clustering module 403 is specifically used for:

[0137] Determine a second data distance between point cloud data in different rows of the array to be clustered and located in the same column number;

[0138] If the second data distance is less than or equal to a preset second data distance threshold, column clustering is performed on the to-be-clustered arrays of different rows.

[0139] The embodiment of the present application provides a target recognition device based on point cloud data clustering, which performs row clustering on the point cloud data of each row in the point cloud data set to obtain a point cloud array of each row of point cloud data; determines whether there is point cloud data in the same column in the point cloud arrays of different rows, and if so, determines whether the point cloud data in the same column in the point cloud array meets the preset point cloud clustering conditions, and if so, performs column clustering on the point cloud array corresponding to the point cloud data in the same column. According to the point cloud clustering results after column clustering, each target within the preset acquisition range can be determined to complete target recognition. By determining whether there is point cloud data in the same column that meets the point cloud clustering conditions, the process of traversing point cloud data in point cloud arrays of different rows in the prior art is avoided, and there is no need to determine the point cloud data in other columns of the point cloud array. The amount of calculation is effectively reduced, the clustering efficiency of point cloud data is improved, and the efficiency of target recognition is thereby improved.

[0140] Figure 5 It is a structural block diagram of an electronic device according to an exemplary embodiment. The device may be a mobile phone, a computer, a digital broadcast terminal, a message transceiver, a game console, a tablet device, a medical device, a fitness device, a personal digital assistant, etc.

[0141] Device 500 may include one or more of the following components: a processing component 502 , a memory 504 , a power component 506 , a multimedia component 508 , an audio component 510 , an input / output (I / O) interface 512 , a sensor component 514 , and a communication component 516 .

[0142] The processing component 502 generally controls the overall operation of the device 500, such as operations associated with display, phone calls, data communications, camera operations, and recording operations. The processing component 502 may include one or more processors 520 to execute instructions to complete all or part of the steps of the above-mentioned method. In addition, the processing component 502 may include one or more modules to facilitate the interaction between the processing component 502 and other components. For example, the processing component 502 may include a multimedia module to facilitate the interaction between the multimedia component 508 and the processing component 502.

[0143] The memory 504 is configured to store various types of data to support operations on the device 500. Examples of such data include instructions for any application or method operating on the device 500, contact data, phone book data, messages, pictures, videos, etc. The memory 504 can be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as static random access memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic memory, flash memory, magnetic disk or optical disk.

[0144] Power supply component 506 provides power to various components of device 500. Power supply component 506 may include a power management system, one or more power supplies, and other components associated with generating, managing, and distributing power to device 500.

[0145] The multimedia component 508 includes a screen that provides an output interface between the device 500 and the user. In some embodiments, the screen may include a liquid crystal display (LCD) and a touch panel (TP). If the screen includes a touch panel, the screen may be implemented as a touch screen to receive input signals from the user. The touch panel includes one or more touch sensors to sense touch, slide, and gestures on the touch panel. The touch sensor may not only sense the boundaries of the touch or slide action, but also detect the duration and pressure associated with the touch or slide operation. In some embodiments, the multimedia component 508 includes a front camera and / or a rear camera. When the device 500 is in an operating mode, such as a shooting mode or a video mode, the front camera and / or the rear camera may receive external multimedia data. Each front camera and the rear camera may be a fixed optical lens system or have a focal length and optical zoom capability.

[0146] The audio component 510 is configured to output and / or input audio signals. For example, the audio component 510 includes a microphone (MIC), and when the device 500 is in an operating mode, such as a call mode, a recording mode, and a speech recognition mode, the microphone is configured to receive an external audio signal. The received audio signal can be further stored in the memory 504 or sent via the communication component 516. In some embodiments, the audio component 510 also includes a speaker for outputting audio signals.

[0147] I / O interface 512 provides an interface between processing component 502 and peripheral interface modules, such as keyboards, click wheels, buttons, etc. These buttons may include but are not limited to: a home button, a volume button, a start button, and a lock button.

[0148] The sensor assembly 514 includes one or more sensors for providing various aspects of status assessment for the device 500. For example, the sensor assembly 514 can detect the open / closed state of the device 500, the relative positioning of components, such as the display and keypad of the device 500, and the sensor assembly 514 can also detect the position change of the device 500 or a component of the device 500, the presence or absence of user contact with the device 500, the orientation or acceleration / deceleration of the device 500, and the temperature change of the device 500. The sensor assembly 514 may include a proximity sensor configured to detect the presence of nearby objects without any physical contact. The sensor assembly 514 may also include an optical sensor, such as a CMOS or CCD image sensor, for use in imaging applications. In some embodiments, the sensor assembly 514 may also include an acceleration sensor, a gyroscope sensor, a magnetic sensor, a pressure sensor, or a temperature sensor.

[0149] The communication component 516 is configured to facilitate wired or wireless communication between the device 500 and other devices. The device 500 can access a wireless network based on a communication standard, such as WiFi, 2G or 3G, or a combination thereof. In an exemplary embodiment, the communication component 516 receives a broadcast signal or broadcast-related information from an external broadcast management system via a broadcast channel. In an exemplary embodiment, the communication component 516 also includes a near field communication (NFC) module to facilitate short-range communication. For example, the NFC module can be implemented based on radio frequency identification (RFID) technology, infrared data association (IrDA) technology, ultra-wideband (UWB) technology, Bluetooth (BT) technology and other technologies.

[0150] In an exemplary embodiment, the device 500 may be implemented by one or more application-specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field programmable gate arrays (FPGAs), controllers, microcontrollers, microprocessors, or other electronic components to perform the above methods.

[0151] In an exemplary embodiment, a non-transitory computer-readable storage medium including instructions is also provided, such as a memory 504 including instructions, which can be executed by a processor 520 of the device 500 to perform the above method. For example, the non-transitory computer-readable storage medium can be a ROM, a random access memory (RAM), a CD-ROM, a magnetic tape, a floppy disk, an optical data storage device, etc.

[0152] A non-temporary computer-readable storage medium, when the instructions in the storage medium are executed by a processor of a terminal device, enables the terminal device to execute the above-mentioned terminal device's target recognition method based on point cloud data clustering.

[0153] The present application also discloses a computer program product, including a computer program, which, when executed by a processor, implements the target recognition method based on point cloud data clustering as described in this embodiment.

[0154] Various embodiments of the systems and techniques described above in the present application can be implemented in digital electronic circuit systems, integrated circuit systems, field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on chips (SOCs), load programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various embodiments may include: being implemented in one or more computer programs, which can be executed and / or interpreted on a programmable system including at least one programmable processor, which can be a special purpose or general purpose programmable processor, which can receive data and instructions from a storage system, at least one input device, and at least one output device, and transmit data and instructions to the storage system, the at least one input device, and the at least one output device.

[0155] The program code for implementing the method of the present application can be written in any combination of one or more programming languages. These program codes can be provided to a processor or controller of a general-purpose computer, a special-purpose computer, or other programmable data processing device, so that the program code, when executed by the processor or controller, enables the functions / operations specified in the flow chart and / or block diagram to be implemented. The program code can be executed entirely on the machine, partially on the machine, partially on the machine as a stand-alone software package and partially on a remote machine, or entirely on a remote machine or electronic device.

[0156] In the context of the present application, a machine-readable medium may be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, device, or equipment. A machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, device, or equipment, or any suitable combination of the foregoing. A more specific example of a machine-readable storage medium may include an electrical connection based on one or more lines, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.

[0157] To provide interaction with a user, the systems and techniques described herein can be implemented on a computer having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user; and a keyboard and pointing device (e.g., a mouse or trackball) through which the user can provide input to the computer. Other types of devices can also be used to provide interaction with the user; for example, the feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including acoustic input, voice input, or tactile input).

[0158] The systems and techniques described herein can be implemented in a computing system that includes back-end components (e.g., as a data electronic device), or a computing system that includes middleware components (e.g., an application electronic device), or a computing system that includes front-end components (e.g., a user computer with a graphical user interface or a web browser through which a user can interact with implementations of the systems and techniques described herein), or a computing system that includes any combination of such back-end components, middleware components, or front-end components. The components of the system can be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include: a local area network (LAN), a wide area network (WAN), and the Internet.

[0159] The computer system may include a client and an electronic device. The client and the electronic device are generally far away from each other and usually interact through a communication network. The relationship between the client and the electronic device is generated by computer programs running on corresponding computers and having a client-electronic device relationship with each other. The electronic device may be a cloud electronic device, also known as a cloud computing electronic device or a cloud host, which is a host product in a cloud computing service system to solve the defects of difficult management and weak business scalability in traditional physical hosts and VPS services ("Virtual Private Server", or "VPS" for short). The electronic device may also be an electronic device of a distributed system, or an electronic device combined with a blockchain. It should be understood that the various forms of processes shown above can be used to reorder, add or delete steps. For example, the steps recorded in this application may be executed in parallel, sequentially, or in different orders, as long as the desired results of the technical solution disclosed in this application can be achieved, and this document is not limited here.

[0160] Those skilled in the art will readily appreciate other embodiments of the present application after considering the specification and practicing the invention disclosed herein. The present application is intended to cover any modification, use or adaptation of the present application, which follows the general principles of the present application and includes common knowledge or customary techniques in the art that are not disclosed in the present application. The specification and examples are intended to be exemplary only, and the true scope and spirit of the present application are indicated by the following claims.

[0161] It should be understood that the present application is not limited to the precise structures that have been described above and shown in the drawings, and that various modifications and changes may be made without departing from the scope thereof. The scope of the present application is limited only by the appended claims.

Claims

1. A target recognition method based on point cloud data clustering, characterized in that: include: Acquire a point cloud data set within a preset acquisition range, perform row clustering on the point cloud data set, and obtain a point cloud array of each row of point cloud data in the point cloud data set; wherein the point cloud data set includes at least two rows of point cloud data and at least two columns of point cloud data, and the point cloud array includes at least one point cloud data; Determine the column number of each point cloud data in the point cloud array, and if there is an intersection between the column numbers of each point cloud data in different rows of the point cloud array, determine the array to be clustered that has the intersection between the column numbers of the point cloud data; If point cloud data with the same number of columns in arrays to be clustered in different rows meet the preset point cloud clustering condition, the arrays to be clustered in different rows are clustered by columns to obtain a point cloud clustering result of the point cloud data set; According to the point cloud clustering result, a target within the preset acquisition range is determined.

2. The method according to claim 1, characterized in that: Determining the number of columns where the point cloud data in the point cloud array is located includes: Determine the starting point cloud data and the ending point cloud data in the point cloud array; The column number of each point cloud data in the point cloud array is determined according to the column number of the starting point cloud data and the column number of the ending point cloud data.

3. The method according to claim 2, characterized in that If there is an intersection between the columns of point cloud data in different rows of the point cloud array, then the array to be clustered that has an intersection between the columns of point cloud data is determined, including: If it is determined that point cloud data located at the same column number exist in point cloud arrays of different rows according to the column number of the starting point cloud data and the column number of the ending point cloud data in point cloud arrays of different rows, then it is determined that there is an intersection between the column numbers of the point cloud data in the point cloud arrays of different rows; The point cloud arrays in which the columns of the point cloud data are intersecting are determined as the arrays to be clustered.

4. The method according to claim 1, characterized in that: If there is an intersection between the columns of point cloud data in different rows of the point cloud array, then the array to be clustered that has an intersection between the columns of point cloud data is determined, including: If it is determined that there is an intersection between the number of columns where the point cloud data in each point cloud array in the target row and the number of columns where the point cloud data in each point cloud array in the adjacent row are located, then the point cloud array in which the number of columns where the point cloud data in the target row and the adjacent row have an intersection is determined to be the array to be clustered; wherein the target row is any row of the point cloud data set, and the adjacent row is the next row of the target row in the point cloud data set.

5. The method according to claim 4, characterized in that If it is determined that there is an intersection between the number of columns where the point cloud data in each point cloud array in the target row and the number of columns where the point cloud data in each point cloud array in the adjacent row are located, then the point cloud array in which the number of columns where the point cloud data in the target row and the adjacent row are located and the point cloud array to be clustered is determined, including: Sort the point cloud arrays of each row to determine the first point cloud array ranked first in the target row; If there is no intersection between the number of columns where each point cloud data in the first point cloud array of the target row is located and the number of columns where each point cloud data in any point cloud array in the adjacent row is located, then determining the second point cloud array ranked second in the target row; If there is an intersection between the number of columns where each point cloud data in the second point cloud array of the target row is located and the number of columns where each point cloud data in any point cloud array in the adjacent row is located, then the second point cloud array in the target row and the any point cloud array in the adjacent row are determined to be arrays to be clustered.

6. The method according to claim 1, characterized in that If point cloud data with the same number of columns in different rows of arrays to be clustered meet the preset point cloud clustering condition, the arrays to be clustered in different rows are clustered by columns, including: Determine the point cloud data to be clustered in the array to be clustered in different rows; wherein the point cloud data to be clustered are located in the same column number; If the point cloud data to be clustered on the same number of columns meet the preset point cloud clustering condition, the arrays to be clustered in different rows are clustered by columns.

7. The method according to claim 6, characterized in that If the point cloud data to be clustered on the same number of columns meet the preset point cloud clustering condition, the arrays to be clustered in different rows are clustered by columns, including: Sorting the point cloud data to be clustered according to the number of columns in which the point cloud data to be clustered is located; According to the order of the point cloud data to be clustered, determining the first point cloud data to be clustered that is ranked first in the arrays to be clustered of different rows; If the first point cloud data to be clustered in the arrays to be clustered in different rows meet the preset point cloud clustering condition, the arrays to be clustered in different rows are clustered by columns.

8. The method according to claim 7, characterized in that If the first point cloud data to be clustered in different rows of the arrays to be clustered meet the preset point cloud clustering condition, the arrays to be clustered in different rows are clustered by columns, including: If the first point cloud data to be clustered in the array to be clustered in different rows does not meet the preset point cloud clustering condition, then according to the sorting of the point cloud data to be clustered, determine the second point cloud data to be clustered that ranks second in the array to be clustered in different rows; If the second point cloud data to be clustered in the arrays to be clustered in different rows meet the preset point cloud clustering condition, the arrays to be clustered in different rows are clustered by columns.

9. The method according to claim 1, characterized in that: Performing row clustering on the point cloud data set includes: Determine a first data distance between any rows of point cloud data in the point cloud data set; If the first data distance is less than or equal to a preset first data distance threshold, row clustering is performed on any row of point cloud data.

10. The method according to claim 1, characterized in that If point cloud data with the same number of columns in different rows of arrays to be clustered meet the preset point cloud clustering condition, the arrays to be clustered in different rows are clustered by columns, including: Determine a second data distance between point cloud data in different rows of the array to be clustered and located in the same column number; If the second data distance is less than or equal to a preset second data distance threshold, column clustering is performed on the to-be-clustered arrays of different rows.

11. A target recognition device based on point cloud data clustering, characterized in that: include: A point cloud array acquisition module, used to acquire a point cloud data set within a preset acquisition range, perform row clustering on the point cloud data set, and obtain a point cloud array of each row of point cloud data in the point cloud data set; wherein the point cloud data set includes at least two rows of point cloud data and at least two columns of point cloud data, and the point cloud array includes at least one point cloud data; The module for determining the array to be clustered is used to determine the column number of each point cloud data in the point cloud array, and if there is an intersection between the column numbers of each point cloud data in different rows of the point cloud array, then determine the array to be clustered with the intersection between the column numbers of the point cloud data; The to-be-clustered array clustering module is used for, if point cloud data with the same number of columns in different rows of the to-be-clustered arrays meet the preset point cloud clustering conditions, then performing column clustering on the to-be-clustered arrays in different rows to obtain a point cloud clustering result of the point cloud data set; The target determination module is used to determine the target within the preset acquisition range according to the point cloud clustering result.

12. An electronic device, characterized in that: include: A processor, and a memory communicatively connected to the processor; The memory stores computer-executable instructions; The processor executes the computer-executable instructions stored in the memory to implement the target recognition method based on point cloud data clustering as described in any one of claims 1 to 10.

13. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores computer-executable instructions, which, when executed by a processor, are used to implement the target recognition method based on point cloud data clustering according to any one of claims 1 to 10.

14. A computer program product, characterized in that It comprises a computer program, which, when executed by a processor, implements the target recognition method based on point cloud data clustering as described in any one of claims 1 to 10.

Citation Information

Patent Citations

  • Point cloud clustering method, image processing equipment and device with storage function

    CN109740628A

  • Target object recognition method and device, electronic equipment and storage medium

    CN109993192A