CN111310511A - Method and device for identifying objects - Google Patents

Method and device for identifying objects Download PDF

Info

Publication number
CN111310511A
CN111310511A CN201811508954.8A CN201811508954A CN111310511A CN 111310511 A CN111310511 A CN 111310511A CN 201811508954 A CN201811508954 A CN 201811508954A CN 111310511 A CN111310511 A CN 111310511A
Authority
CN
China
Prior art keywords
laser
sample
laser point
preset
neural network
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201811508954.8A
Other languages
Chinese (zh)
Inventor
王鹏翔
黄玉玺
王鹏飞
沈伯玮
董秋伟
哈融厚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke Information Technology Co Ltd
Original Assignee
Beijing Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Jingdong Century Trading Co Ltd, Beijing Jingdong Shangke Information Technology Co Ltd filed Critical Beijing Jingdong Century Trading Co Ltd
Priority to CN201811508954.8A priority Critical patent/CN111310511A/en
Publication of CN111310511A publication Critical patent/CN111310511A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/10Terrestrial scenes
    • G06V20/13Satellite images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Astronomy & Astrophysics (AREA)
  • Remote Sensing (AREA)
  • Multimedia (AREA)
  • Traffic Control Systems (AREA)

Abstract

The embodiment of the application discloses a method and a device for identifying an object. One embodiment of the system comprises: preprocessing the acquired laser point cloud of the object to be identified to generate a laser point array; adopting a pre-trained neural network to identify the laser point array to obtain probability values of the objects to be identified belonging to various categories; and selecting the category with the probability value larger than or equal to a preset threshold value as the category of the object to be identified. This embodiment increases the speed of identifying objects from the acquired laser point cloud.

Description

Method and device for identifying objects
Technical Field
The embodiment of the application relates to the technical field of computers, in particular to a method and a device for identifying an object.
Background
With the development of network technology, object identification technology has also been widely used. Existing object recognition techniques generally include point cloud recognition techniques that utilize a laser emitting device (e.g., a laser radar, etc.) to transmit a laser line to acquire point cloud data, thereby recognizing an outline of an object represented by the point cloud data and thus recognizing the object; image recognition techniques are also included that recognize objects represented by images by capturing images of the objects.
In the existing identification technology based on point cloud data, objects are generally identified by combining the point cloud data with the acquired digital image.
Disclosure of Invention
The embodiment of the application provides a method and a device for identifying an object.
In a first aspect, an embodiment of the present application provides a method for identifying an object, including: preprocessing the acquired laser point cloud of the object to be identified to generate a laser point array; adopting a pre-trained neural network to identify the laser point array to obtain probability values of the objects to be identified belonging to various categories; and selecting the category with the probability value larger than or equal to a preset threshold value as the category of the object to be identified.
In some embodiments, the laser point cloud is scanned by at least two laser lines emitted by a laser radar; and preprocessing the acquired laser point cloud of the object to be recognized to generate a laser point array, comprising: selecting a preset number of laser points from the laser points obtained by scanning the laser lines for the laser lines in the at least two laser lines; and generating a laser point array based on the number of the laser lines and the number of the laser points of the preset number obtained by scanning each laser line.
In some embodiments, selecting a predetermined number of laser points from the laser points obtained by scanning the laser line includes: and in response to the fact that the number of the laser points obtained by the laser line scanning is larger than the preset number, deleting the laser points obtained by the laser line scanning according to a preset condition so that the number of the laser points obtained by the laser line scanning is the preset number.
In some embodiments, selecting a predetermined number of laser points from the laser points obtained by scanning the laser line includes: and inserting laser points among the laser points obtained by the laser line scanning in response to the fact that the number of the laser points obtained by the laser line scanning is smaller than the preset number, so that the number of the laser points obtained by the laser line scanning is the preset number.
In some embodiments, the neural network is trained by: acquiring a sample set, wherein samples in the sample set comprise a sample laser point array and marking information of the sample laser point array, and the marking information is used for indicating the distance information between a laser point in the sample laser point array and a laser radar and the object category corresponding to the reflectivity information of the laser point; selecting samples from the sample set, and executing the following training steps: inputting the selected sample laser point array into an initial neural network to obtain a prediction result of the object class corresponding to the sample laser point array; determining whether the value of the preset loss function meets a preset convergence condition or not based on the preset loss function; determining that the neural network training is completed in response to the fact that the value of the preset loss function meets the preset convergence condition, wherein the value of the preset loss function is used for representing the error between the prediction result of the initial neural network and the labeling information; and in response to the fact that the value of the preset loss function does not meet the preset convergence condition, adjusting parameters of the neural network to be trained by adopting a gradient descent algorithm, reselecting a sample from the sample set, and continuing to execute the training step by using the adjusted initial neural network as the initial neural network.
In some embodiments, the samples in the set of samples are obtained by: carrying out voxel filtering on the obtained sample laser point cloud; carrying out point cloud segmentation and class labeling on the voxel-filtered sample laser point cloud to generate a processed sample laser point cloud; and constructing a sample laser point array based on the processed sample laser point cloud, and determining the constructed sample laser point array as a sample in the sample set.
In a second aspect, an embodiment of the present application provides an apparatus for identifying an object, the apparatus including: the acquisition unit is configured to preprocess the acquired laser point cloud of the object to be identified and generate a laser point array; the recognition unit is configured to recognize the laser point array by adopting a pre-trained neural network to obtain probability values of the objects to be recognized belonging to various categories; and the selecting unit is configured to select the category with the probability value larger than or equal to a preset threshold value as the category of the object to be identified.
In some embodiments, the laser point cloud is scanned by at least two laser lines emitted by a laser radar; and the acquisition unit includes: the selecting module is configured to select a preset number of laser points from laser points obtained by scanning the laser lines for the laser lines in the at least two laser lines; and the generation module is configured to generate a laser point array based on the number of the laser lines and the number of the preset number of laser points obtained by scanning each laser line.
In some embodiments, the selection module is further configured to: and in response to the fact that the number of the laser points obtained by the laser line scanning is larger than the preset number, deleting the laser points obtained by the laser line scanning according to a preset condition so that the number of the laser points obtained by the laser line scanning is the preset number.
In some embodiments, the selection module is further configured to: and inserting laser points among the laser points obtained by the laser line scanning in response to the fact that the number of the laser points obtained by the laser line scanning is smaller than the preset number, so that the number of the laser points obtained by the laser line scanning is the preset number.
In some embodiments, the neural network is trained by: acquiring a sample set, wherein samples in the sample set comprise a sample laser point array and marking information of the sample laser point array, and the marking information is used for indicating the distance information between a laser point in the sample laser point array and a laser radar and the object category corresponding to the reflectivity information of the laser point; selecting samples from the sample set, and executing the following training steps: inputting the selected sample laser point array into an initial neural network to obtain a prediction result of the object class corresponding to the sample laser point array; determining whether the value of the preset loss function meets a preset convergence condition or not based on the preset loss function; determining that the neural network training is completed in response to the fact that the value of the preset loss function meets the preset convergence condition, wherein the value of the preset loss function is used for representing the error between the prediction result of the initial neural network and the labeling information; and in response to the fact that the value of the preset loss function does not meet the preset convergence condition, adjusting parameters of the neural network to be trained by adopting a gradient descent algorithm, reselecting a sample from the sample set, and continuing to execute the training step by using the adjusted initial neural network as the initial neural network.
In some embodiments, the samples in the set of samples are obtained by: carrying out voxel filtering on the obtained sample laser point cloud; carrying out point cloud segmentation and class labeling on the voxel-filtered sample laser point cloud to generate a processed sample laser point cloud; and constructing a sample laser point array based on the processed sample laser point cloud, and determining the constructed sample laser point array as a sample in the sample set.
In a third aspect, an embodiment of the present application provides an electronic device, including: one or more processors; a storage device having one or more programs stored thereon which, when executed by one or more processors, cause the one or more processors to implement a method as in any embodiment of the control method.
In a fourth aspect, embodiments of the present application provide a computer-readable storage medium on which a computer program is stored, which when executed by a processor implements a method as in any embodiment of the control method.
According to the method and the device for identifying the object, the laser point array is generated by preprocessing the obtained laser points of the object to be identified, then the laser point array is identified by adopting the pre-trained neural network, so that the probability values of the object to be identified belonging to all categories are obtained, finally the category with the probability value being larger than or equal to the preset threshold value is selected as the analogy of the object to be identified, the obtained laser point cloud is directly input to the pre-trained convolutional neural network as the format of the neural network for data identification and processing, and the speed of identifying the object from the obtained laser point cloud is improved.
Drawings
Other features, objects and advantages of the present application will become more apparent upon reading of the following detailed description of non-limiting embodiments thereof, made with reference to the accompanying drawings in which:
FIG. 1 is an exemplary system architecture diagram in which one embodiment of the present application may be applied;
FIG. 2 is a flow diagram of one embodiment of a method for identifying an object according to the present application;
FIG. 3 is a schematic illustration of an application scenario of a method for identifying objects according to the present application;
FIG. 4 is a flow chart of yet another embodiment of a method for identifying an object according to the present application;
FIG. 5 is a schematic diagram of an embodiment of an apparatus for identifying objects according to the present application;
FIG. 6 is a schematic block diagram of a computer system suitable for use in implementing a server according to embodiments of the present application.
Detailed Description
The present application will be described in further detail with reference to the following drawings and examples. It is to be understood that the specific embodiments described herein are merely illustrative of the relevant invention and not restrictive of the invention. It should be noted that, for convenience of description, only the portions related to the related invention are shown in the drawings.
It should be noted that the embodiments and features of the embodiments in the present application may be combined with each other without conflict. The present application will be described in detail below with reference to the embodiments with reference to the attached drawings.
Fig. 1 shows an exemplary system architecture 100 to which embodiments of the present method for identifying an object or apparatus for identifying an object may be applied.
As shown in fig. 1, the system architecture 100 may include a laser emitting device 101, a network 102, and a server 103. The network 102 serves as a medium for providing a communication link between the laser emitting device 101 and the server 103.
The server 103 may interact with the laser emitting device 101 through the network 102 to receive the laser point cloud transmitted by the laser emitting device 101. The laser emitting device 101 may be, for example, a lidar. The laser radar can be arranged on a vehicle (such as an automatic driving vehicle and an unmanned vehicle) and the like, and can detect parameters such as the position, the shape, the posture and the like of an object (such as a pedestrian, a vehicle, a tree, an animal and the like) by emitting laser lines.
The server 103 may be a server that provides various services, for example, a background server that may provide support for laser emitting devices. The background server can perform various processing and analysis on the received laser point cloud sent by the laser emission equipment, so that the object type corresponding to the laser point cloud returned by the laser emission equipment is identified.
It should be noted that the method for identifying an object provided in the embodiment of the present application is generally performed by the server 103, and accordingly, the apparatus for identifying an object is generally disposed in the server 103.
The server may be hardware or software. When the server is hardware, it may be implemented as a distributed server cluster formed by multiple servers, or may be implemented as a single server. When the server is software, it may be implemented as multiple pieces of software or software modules (e.g., to provide distributed services), or as a single piece of software or software module. And is not particularly limited herein.
It is to be understood that the number of laser emitting devices, networks and servers in fig. 1 is merely illustrative. There may be any number of laser emitting devices, networks, and servers, as desired for the reality.
With continued reference to FIG. 2, a flow 200 of one embodiment of a method for identifying an object according to the present application is shown. The method for identifying an object comprises the following steps:
step 201, preprocessing the acquired laser point cloud of the object to be recognized to generate a laser point array.
In the present embodiment, an execution subject (for example, a server shown in fig. 1) of the method for identifying an object may receive the laser point cloud from the laser emitting apparatus by a wired connection manner or a wireless connection manner. Here, the laser point cloud is obtained by the above-mentioned laser emitting apparatus by emitting a laser line to obtain each laser point on the surface of the object. Generally, a laser point in a laser point cloud carries some information, and the information carried by the laser point may include a distance between the laser point and a laser emitting device, laser reflection intensity, color information, and the like. The executing body can directly receive the laser point cloud from the laser emitting device and also can receive the laser point cloud from other addresses. For example, when a terminal device or a server for controlling the laser emitting device to set a laser line receives a laser point cloud returned by the laser emitting device, data storage may be performed. The executing body can acquire the laser point cloud from the terminal or the server which stores the laser point cloud of the object to be identified.
In this embodiment, after the executing body acquires the laser point cloud of the object to be recognized, the executing body may perform preprocessing on the acquired laser point cloud to generate a laser point array. Here, the number of laser spots may be increased or decreased to reach the total number of laser spots used to form the laser spot array. Then, the laser points are sequentially arranged according to the number of the laser points in each row and each column in the preset laser point array, so that the laser point array is formed.
In some alternative implementations, the laser point cloud is scanned by at least two laser lines emitted by the lidar. Preprocessing the acquired laser point cloud of the object to be identified to generate a laser point array, comprising: and for the laser line in the at least two laser lines, selecting a preset number of laser points from the laser points obtained by scanning the laser line. And generating a laser point array based on the number of the laser lines and the number of the laser points of the preset number obtained by scanning each laser line.
Specifically, the laser emitting device may emit a plurality of laser lines (e.g., 16, 32, etc.) to construct a laser point cloud of the object surface. Due to the fact that the shape of the object is irregular, materials of different positions are different, and therefore when the laser line is projected to different positions on the surface of the object, the number of the laser points acquired by the laser line is usually different. Therefore, the execution body can select a preset number of laser points from the number of laser points obtained by scanning each laser line. Therefore, the number of the laser points obtained by scanning each laser line can be set to be the same, and then the laser point array is generated according to the number of the laser lines and the number of the laser points obtained by scanning the laser lines in the preset number. The number of rows of the laser point array is the same as the number of laser lines for scanning a frame of laser point cloud, and the number of columns of the laser point array is a preset number of laser points for each laser line. Each laser point in the laser point array is the nth laser point obtained by scanning the object to be identified by the mth laser line. Here, m is a positive integer greater than 0 and equal to or less than the number of laser lines; n is a positive integer greater than 0 and less than or equal to the number of preset laser points.
In some embodiments, when it is determined that the number of laser points obtained by scanning each laser line is greater than the preset number, the execution main body may delete the laser points obtained by scanning the laser lines according to a preset condition, so that the number of the laser points obtained by scanning the laser lines is the preset number. Here, the preset condition may be, for example, deleting the laser spot by a preset number of laser spots.
In some embodiments, the executing body may insert laser points between the laser points scanned by the laser lines in response to determining that the number of the laser points scanned by each laser line is less than a preset number, so that the number of the laser points scanned by the laser lines is the preset number. Here, one laser point may be inserted between a preset number of laser points, so that after the laser point is inserted, the laser points on the object surface of the object to be recognized, which are collected by the laser line, are uniformly distributed.
Step 202, recognizing the laser point array by adopting a pre-trained neural network to obtain probability values of the objects to be recognized belonging to various categories.
In this embodiment, after the execution subject generates the laser spot array, the execution subject may identify the laser spots by using a pre-trained neural network. Here, the pre-trained neural network may be a convolutional neural network, a cyclic neural network, or the like. After the neural network to be trained is trained, the neural network can identify probability values of all categories to which the objects corresponding to the collected laser point arrays of the objects to be identified belong.
In this embodiment, different neural networks may identify different types of objects according to the size of the convolution kernel and the number of convolution layers. As an example, a convolutional neural network to be trained comprising 4 convolutional layers, 3 pooling layers, 2 fully-connected layers, and one output layer may be trained to obtain a convolutional neural network that can identify 4 categories (e.g., people, vehicles, trees, and street lamps).
Step 203, selecting the category with the probability value larger than or equal to a preset threshold value as the category of the object to be identified.
In this embodiment, after the executing entity identifies the laser spot array through a pre-trained neural network to obtain probability values of the to-be-identified object belonging to each category, the category of which the obtained probability value is greater than or equal to a preset threshold value may be used as the category of the to-be-identified object. So that the recognized object can be made more accurate.
In this embodiment, a frame of laser point cloud obtained by scanning by the laser emitting device may be a laser point cloud of one object or a laser point cloud of a plurality of objects. When one frame of laser point cloud obtained by scanning of the laser emitting device is the laser voltage of a plurality of objects, and the plurality of objects are in different categories, the pre-trained neural network can also classify the plurality of identified objects, and can also indicate the laser point corresponding to the object in each category.
With continued reference to FIG. 3, FIG. 3 is a block diagram of a system for generating a data streamAn illustration of an application scenario of the method for identifying an object according to the present embodiment. In the application scenario of fig. 3, the server 301 may obtain a laser point cloud of an object to be identified from a laser radar. Then, the server 301 performs preprocessing on the acquired object to be recognized, thereby generating a laser spot array 302. Here, p in the laser spot array 302 denotes a laser spot, plnThe nth laser point obtained by scanning the first laser line is represented, and l is a positive integer which is greater than 0 and less than or equal to the number of the laser lines; n is a positive integer greater than 0 and less than or equal to the number of preset laser points. Next, the server 301 inputs the generated laser spot array 302 into a convolutional neural network 303 trained in advance, and recognizes the laser spot array using the convolutional neural network 303 trained in advance to obtain a recognition result 304. The recognition result 304 includes that the probability value that the object to be recognized is a dog is 0.2, the probability value that the object to be recognized is a cat is 0.72, the probability value that the object to be recognized is a tree is 0.01, and the probability value that the object to be recognized is a person is 0.07. Therefore, when the preset threshold value is 0.6, the execution main body selects the category cat with the probability value larger than the preset threshold value as the category of the object to be identified.
According to the method and the device for identifying the object, the laser point array is generated by preprocessing the obtained laser points of the object to be identified, then the laser point array is identified by adopting the pre-trained neural network, so that the probability values of the object to be identified belonging to all categories are obtained, finally the category with the probability value being larger than or equal to the preset threshold value is selected as the analogy of the object to be identified, the obtained laser point cloud is directly input to the pre-trained convolutional neural network as the format of the neural network for data identification and processing, and the speed of identifying the object from the obtained laser point cloud is improved.
With further reference to FIG. 4, a flow 400 of one embodiment of a method of training a neural network in accordance with the present application is illustrated. The process 400 includes the following steps:
step 401, a sample set is obtained.
In this embodiment, the performing subject (e.g., the server shown in fig. 1) of the method for identifying an object may acquire the sample set by a wired connection or a wireless connection. Here, the sample set may be acquired from the laser radar within a preset time period, or may be acquired locally. The samples in the sample set comprise marking information of each sample laser point array of the sample laser point arrays. Here, the labeling information may be used to indicate that the object contour formed by the laser points in the sample laser point array follows the corresponding object class.
Specifically, the laser point cloud is the spatial coordinates of each laser point used for sampling on the surface of the object under the same spatial reference system obtained by scanning the object with laser. Each laser point can also comprise characteristic information such as the distance between the laser point and the laser radar, the reflection intensity of the laser point on the surface of the object, the color of the surface of the object and the like. Here, the contour of the object can be determined by the spatial coordinates of the laser spot and the distance between the laser spot and the lidar as a characteristic component. The reflectivity to laser light is different for different classes of objects due to their different surface textures. The information such as the surface texture and the surface material of the object can be determined by determining the reflection intensity of the laser spot on the surface of the object, so that the reflection intensity of the laser spot on the surface of the object can be used as another characteristic component to determine the surface texture of the object. Thus, the execution subject may label object categories corresponding to different feature information based on the distance between the laser point and the laser radar as one feature information and the reflection intensity of the laser point on the surface of the object as another feature information.
Step 402, based on the samples in the sample set, performing the following training steps: inputting the sample laser point arrays in the sample set into an initial neural network to obtain a prediction result of the object class corresponding to the sample laser point arrays; determining whether the value of the preset loss function meets a preset convergence condition or not based on the preset loss function; and determining that the neural network training is completed in response to determining that the value of the preset loss function satisfies the preset convergence condition.
In this embodiment, the executing entity may input the sample laser spot array after information labeling to the initial neural network. Here, the initial neural network may be an initial convolutional neural network, may be an initial cyclic neural network, or the like. The number of convolutional layers of the convolutional neural network and the size of the convolutional kernel can be set according to the number of object classes to be identified. Here, the initial convolutional neural network may extract the features of the laser spot array using a convolution kernel according to the labeling information of each laser spot in the laser spot array. Thereby obtaining a prediction result of the object class corresponding to the sample laser point array input to the initial convolutional neural network from the extracted features. Here, the prediction result is used to predict a probability value that the object corresponding to the laser spot array belongs to each category.
In this embodiment, the execution body may set a preset loss function, and the preset loss function may be, for example, a cross entropy function, a logarithmic loss function, or the like. Here, the value of the predetermined loss function is used to characterize the error between the prediction result of the neural network to be trained and the labeling information. The execution body may determine whether a value of the preset penalty function satisfies a preset convergence condition. The preset convergence condition may include, for example, a value of the loss function converging to a preset value.
In this embodiment, when the executing entity determines that the value of the preset loss function satisfies the preset convergence condition, it may be determined that the neural network training is completed.
And 403, in response to the fact that the value of the preset loss function does not meet the preset convergence condition, adjusting parameters of the neural network to be trained by adopting a gradient descent algorithm, reselecting a sample from the sample set, and continuing to execute the training step by using the adjusted initial neural network as the initial neural network.
In this embodiment, when the executing entity adjusts the parameters of the neural network to be trained using a gradient descent algorithm in response to determining that the value of the preset loss function does not satisfy the preset convergence condition. Here, the parameters may include, for example, the size of the convolution kernel, the number of convolution layers, the number of pooling layers, etc., and then reselect and select a sample from the sample set, and continue to perform the training step shown in step 402 using the adjusted initial neural network as the initial neural network.
In some optional implementations, the samples in the sample set are obtained by: and carrying out voxel filtering on the obtained sample laser point cloud. And performing point cloud segmentation and category marking on the voxel-filtered sample laser point cloud to generate a processed sample laser point cloud. And constructing a sample laser point array based on the processed sample laser point cloud, and determining the constructed sample laser point array as a sample in the sample set.
Specifically, first, the executing entity may perform downsampling on the acquired sample laser point cloud by using a voxel filter, so as to reduce the number of laser points in the sample laser point cloud. And the number of the laser points collected by each laser line is the same. Secondly, point cloud segmentation is carried out on the sample laser point cloud, so that the segmented laser point cloud represents the same object respectively. And then, carrying out category marking on each laser point cloud in the divided laser point clouds so as to generate the processed sample laser point cloud. Finally, the execution main body can take the laser points collected by the same laser line in sequence as the same row, set the laser points collected by different laser lines as different rows, and construct a laser point array with the same number of laser points in each row. And determining the constructed sample laser dot matrix column as a sample in the sample set.
As can be seen from fig. 4, unlike the embodiment shown in fig. 2, the present embodiment highlights the step of training the neural network. Therefore, the class of the object identified by the neural network from the laser point array can be more accurate, and the identification efficiency can be improved.
With further reference to fig. 5, as an implementation of the method shown in fig. 4, the present application provides an embodiment of an apparatus for identifying an object, which corresponds to the embodiment of the method shown in fig. 2, and which is particularly applicable to various electronic devices.
As shown in fig. 5, the apparatus 500 for identifying an object of the present embodiment includes: an acquisition unit 501, a recognition unit 502 and a selection unit 503. The acquiring unit 501 is configured to pre-process the acquired laser point cloud of the object to be identified, and generate a laser point array. The identifying unit 502 is configured to identify the laser spot array by using a pre-trained neural network, and obtain probability values of the object to be identified belonging to each category. The selecting unit 503 is configured to select a category with a probability value greater than or equal to a preset threshold as the category of the object to be recognized.
In the present embodiment, in the apparatus 500 for identifying an object: for specific processing of the obtaining unit 501, the identifying unit 502, and the selecting unit 503 and beneficial effects brought by the processing, reference may be made to related descriptions of implementation manners of step 201, step 202, and step 203 in the corresponding embodiment of fig. 2, and details are not described herein again.
In some optional implementations of this embodiment, the laser point cloud is obtained by scanning at least two laser lines emitted by a laser radar; and the acquisition unit 501 includes: a selecting module (not shown) configured to select a preset number of laser points from the laser points scanned by the laser lines for the laser lines of the at least two laser lines. A generation module (not shown) configured to generate an array of laser spots based on the number of laser lines and the number of laser spots scanned by each laser line by a preset number.
In some optional implementations of the present embodiment, the selecting module (not shown) is further configured to: and in response to the fact that the number of the laser points obtained by the laser line scanning is larger than the preset number, deleting the laser points obtained by the laser line scanning according to a preset condition so that the number of the laser points obtained by the laser line scanning is the preset number.
In some optional implementations of the present embodiment, the selecting module (not shown) is further configured to: and inserting laser points among the laser points obtained by the laser line scanning in response to the fact that the number of the laser points obtained by the laser line scanning is smaller than the preset number, so that the number of the laser points obtained by the laser line scanning is the preset number.
In some optional implementations of this embodiment, the neural network is trained by: acquiring a sample set, wherein samples in the sample set comprise a sample laser point array and marking information of the sample laser point array, and the marking information is used for indicating the distance information between a laser point in the sample laser point array and a laser radar and the object category corresponding to the reflectivity information of the laser point; selecting samples from the sample set, and executing the following training steps: inputting the selected sample laser point array into an initial neural network to obtain a prediction result of the object class corresponding to the sample laser point array; determining whether the value of the preset loss function meets a preset convergence condition or not based on the preset loss function; determining that the neural network training is completed in response to the fact that the value of the preset loss function meets the preset convergence condition, wherein the value of the preset loss function is used for representing the error between the prediction result of the initial neural network and the labeling information; and in response to the fact that the value of the preset loss function does not meet the preset convergence condition, adjusting parameters of the neural network to be trained by adopting a gradient descent algorithm, reselecting a sample from the sample set, and continuing to execute the training step by using the adjusted initial neural network as the initial neural network.
In some optional implementations of this embodiment, the samples in the sample set are obtained by: carrying out voxel filtering on the obtained sample laser point cloud; carrying out point cloud segmentation and class labeling on the voxel-filtered sample laser point cloud to generate a processed sample laser point cloud; and constructing a sample laser point array based on the processed sample laser point cloud, and determining the constructed sample laser point array as a sample in the sample set.
Referring now to FIG. 6, a block diagram of a computer system 600 suitable for use in implementing an electronic device (e.g., the control device shown in FIG. 1) of an embodiment of the present application is shown. The electronic device shown in fig. 6 is only an example, and should not bring any limitation to the functions and the scope of use of the embodiments of the present application.
As shown in fig. 6, the computer system 600 includes a Central Processing Unit (CPU)601 that can perform various appropriate actions and processes according to a program stored in a Read Only Memory (ROM)602 or a program loaded from a storage section 608 into a Random Access Memory (RAM) 603. In the RAM 603, various programs and data necessary for the operation of the system 600 are also stored. The CPU 601, ROM 602, and RAM 603 are connected to each other via a bus 604. An input/output (I/O) interface 605 is also connected to bus 604.
The following components are connected to the I/O interface 605: an input portion 606 including a keyboard, a mouse, and the like; an output portion 607 including a display such as a Cathode Ray Tube (CRT), a Liquid Crystal Display (LCD), and the like, and a speaker; a storage section 608 including a hard disk and the like; and a communication section 609 including a network interface card such as a LAN card, a modem, or the like. The communication section 609 performs communication processing via a network such as the internet. The driver 610 is also connected to the I/O interface 605 as needed. A removable medium 611 such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, or the like is mounted on the drive 610 as necessary, so that a computer program read out therefrom is mounted in the storage section 608 as necessary.
In particular, according to an embodiment of the present disclosure, the processes described above with reference to the flowcharts may be implemented as computer software programs. For example, embodiments of the present disclosure include a computer program product comprising a computer program embodied on a computer readable medium, the computer program comprising program code for performing the method illustrated in the flow chart. In such an embodiment, the computer program may be downloaded and installed from a network through the communication section 609, and/or installed from the removable medium 611. The computer program performs the above-described functions defined in the method of the present application when executed by a Central Processing Unit (CPU) 601. It should be noted that the computer readable medium of the present application may be a computer readable signal medium or a computer readable storage medium or any combination of the two. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination of the foregoing. More specific examples of the computer readable storage medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer diskette, 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 disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the present application, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device. In this application, however, a computer readable signal medium may include a propagated data signal with computer readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated data signal may take many forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A computer readable signal medium may also be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device. Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to: wireless, wire, fiber optic cable, RF, etc., or any suitable combination of the foregoing.
Computer program code for carrying out operations for aspects of the present application may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Smalltalk, C + + or the like and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer through any type of network, including a Local Area Network (LAN) or a Wide Area Network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet service provider).
The flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present application. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
The units described in the embodiments of the present application may be implemented by software or hardware. The described units may also be provided in a processor, and may be described as: a processor includes an acquisition unit, a recognition unit, and a selection unit. The names of the units do not form a limitation to the units themselves in some cases, and for example, the acquisition unit may also be described as a "unit that preprocesses the acquired laser point cloud of the object to be recognized".
As another aspect, the present application also provides a computer-readable medium, which may be contained in the electronic device described in the above embodiments; or may exist separately without being assembled into the electronic device. The computer readable medium carries one or more programs which, when executed by the electronic device, cause the electronic device to: preprocessing the acquired laser point cloud of the object to be identified to generate a laser point array; adopting a pre-trained neural network to identify the laser point array to obtain probability values of the objects to be identified belonging to various categories; and selecting the category with the probability value larger than or equal to a preset threshold value as the category of the object to be identified.
The above description is only a preferred embodiment of the application and is illustrative of the principles of the technology employed. It will be appreciated by those skilled in the art that the scope of the invention herein disclosed is not limited to the particular combination of features described above, but also encompasses other arrangements formed by any combination of the above features or their equivalents without departing from the spirit of the invention. For example, the above features may be replaced with (but not limited to) features having similar functions disclosed in the present application.

Claims (14)

1. A method for identifying an object, comprising:
preprocessing the acquired laser point cloud of the object to be identified to generate a laser point array;
adopting a pre-trained neural network to identify the laser point array to obtain probability values of the objects to be identified belonging to various categories;
and selecting the category with the probability value larger than or equal to a preset threshold value as the category of the object to be identified.
2. The method of claim 1, wherein the laser point cloud is scanned by at least two laser lines emitted by a lidar; and
the method for preprocessing the acquired laser point cloud of the object to be identified to generate the laser point array comprises the following steps:
for the laser line in the at least two laser lines, selecting a preset number of laser points from the laser points obtained by scanning the laser line;
and generating a laser point array based on the number of the laser lines and the number of the laser points of the preset number obtained by scanning each laser line.
3. The method of claim 2, wherein selecting a predetermined number of laser points from the laser points scanned from the laser line comprises:
and in response to the fact that the number of the laser points obtained by the laser line scanning is larger than the preset number, deleting the laser points obtained by the laser line scanning according to a preset condition, so that the number of the laser points obtained by the laser line scanning is the preset number.
4. The method of claim 2, wherein selecting a predetermined number of laser points from the laser points scanned from the laser line comprises:
and inserting laser points among the laser points obtained by the laser line scanning in response to the fact that the number of the laser points obtained by the laser line scanning is smaller than the preset number, so that the number of the laser points obtained by the laser line scanning is the preset number.
5. The method according to one of claims 1 to 4, wherein the neural network is trained by:
acquiring a sample set, wherein samples in the sample set comprise a sample laser point array and marking information of the sample laser point array, and the marking information is used for indicating the distance information between a laser point in the sample laser point array and a laser radar and the object category corresponding to the reflectivity information of the laser point;
selecting samples from the sample set, and executing the following training steps: inputting the selected sample laser point array into an initial neural network to obtain a prediction result of the object class corresponding to the sample laser point array; determining whether a value of a preset loss function satisfies a preset convergence condition based on the preset loss function; determining that the neural network training is completed in response to determining that the value of the preset loss function meets a preset convergence condition, wherein the value of the preset loss function is used for representing an error between a prediction result of an initial neural network and the labeling information;
and in response to determining that the value of the preset loss function does not meet the preset convergence condition, adjusting parameters of the neural network to be trained by adopting a gradient descent algorithm, reselecting a sample from the sample set, and continuing to execute the training step by using the adjusted initial neural network as the initial neural network.
6. The method of claim 5, wherein the samples in the set of samples are obtained by:
carrying out voxel filtering on the obtained sample laser point cloud;
carrying out point cloud segmentation and class labeling on the voxel-filtered sample laser point cloud to generate a processed sample laser point cloud;
and constructing a sample laser point array based on the processed sample laser point cloud, and determining the constructed sample laser point array as a sample in the sample set.
7. An apparatus for identifying an object, comprising:
the acquisition unit is configured to preprocess the acquired laser point cloud of the object to be identified and generate a laser point array;
the recognition unit is configured to recognize the laser point array by adopting a pre-trained neural network to obtain probability values of the objects to be recognized belonging to various categories;
and the selecting unit is configured to select the category with the probability value larger than or equal to a preset threshold value as the category of the object to be identified.
8. The apparatus of claim 7, wherein the laser point cloud is scanned by at least two laser lines emitted by a lidar; and
the acquisition unit includes:
the selecting module is configured to select a preset number of laser points from laser points obtained by scanning the laser lines for the laser lines in the at least two laser lines;
and the generation module is configured to generate a laser point array based on the number of the laser lines and the number of the preset number of laser points obtained by scanning each laser line.
9. The apparatus of claim 8, wherein the selection module is further configured to:
and in response to the fact that the number of the laser points obtained by the laser line scanning is larger than the preset number, deleting the laser points obtained by the laser line scanning according to a preset condition, so that the number of the laser points obtained by the laser line scanning is the preset number.
10. The apparatus of claim 8, wherein the selection module is further configured to:
and inserting laser points among the laser points obtained by the laser line scanning in response to the fact that the number of the laser points obtained by the laser line scanning is smaller than the preset number, so that the number of the laser points obtained by the laser line scanning is the preset number.
11. The apparatus of one of claims 7-10, wherein the neural network is trained by:
acquiring a sample set, wherein samples in the sample set comprise a sample laser point array and marking information of the sample laser point array, and the marking information is used for indicating the distance information between a laser point in the sample laser point array and a laser radar and the object category corresponding to the reflectivity information of the laser point;
selecting samples from the sample set, and executing the following training steps: inputting the selected sample laser point array into an initial neural network to obtain a prediction result of the object class corresponding to the sample laser point array; determining whether a value of a preset loss function satisfies a preset convergence condition based on the preset loss function; determining that the neural network training is completed in response to determining that the value of the preset loss function meets a preset convergence condition, wherein the value of the preset loss function is used for representing an error between a prediction result of an initial neural network and the labeling information;
and in response to determining that the value of the preset loss function does not meet the preset convergence condition, adjusting parameters of the neural network to be trained by adopting a gradient descent algorithm, reselecting a sample from the sample set, and continuing to execute the training step by using the adjusted initial neural network as the initial neural network.
12. The apparatus of claim 11, wherein the samples in the set of samples are obtained by:
carrying out voxel filtering on the obtained sample laser point cloud;
carrying out point cloud segmentation and class labeling on the voxel-filtered sample laser point cloud to generate a processed sample laser point cloud;
and constructing a sample laser point array based on the processed sample laser point cloud, and determining the constructed sample laser point array as a sample in the sample set.
13. An electronic device, comprising:
one or more processors;
a storage device having one or more programs stored thereon,
when executed by the one or more processors, cause the one or more processors to implement the method of any one of claims 1-6.
14. A computer-readable storage medium, on which a computer program is stored, which program, when being executed by a processor, carries out the method according to any one of claims 1-6.
CN201811508954.8A 2018-12-11 2018-12-11 Method and device for identifying objects Pending CN111310511A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811508954.8A CN111310511A (en) 2018-12-11 2018-12-11 Method and device for identifying objects

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811508954.8A CN111310511A (en) 2018-12-11 2018-12-11 Method and device for identifying objects

Publications (1)

Publication Number Publication Date
CN111310511A true CN111310511A (en) 2020-06-19

Family

ID=71156278

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811508954.8A Pending CN111310511A (en) 2018-12-11 2018-12-11 Method and device for identifying objects

Country Status (1)

Country Link
CN (1) CN111310511A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022179382A1 (en) * 2021-02-25 2022-09-01 山东英信计算机技术有限公司 Object recognition method and apparatus, and device and medium

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022179382A1 (en) * 2021-02-25 2022-09-01 山东英信计算机技术有限公司 Object recognition method and apparatus, and device and medium

Similar Documents

Publication Publication Date Title
CN112560876B (en) Single-stage small sample target detection method for decoupling measurement
CN109584248B (en) Infrared target instance segmentation method based on feature fusion and dense connection network
CN110379020B (en) Laser point cloud coloring method and device based on generation countermeasure network
CN111784685A (en) Power transmission line defect image identification method based on cloud edge cooperative detection
CN113706480B (en) Point cloud 3D target detection method based on key point multi-scale feature fusion
CN113158909B (en) Behavior recognition light-weight method, system and equipment based on multi-target tracking
CN112232384A (en) Model training method, image feature extraction method, target detection method and device
CN109285181B (en) Method and apparatus for recognizing image
CN108475429B (en) System and method for segmentation of three-dimensional microscope images
CN109389096B (en) Detection method and device
CN113761999A (en) Target detection method and device, electronic equipment and storage medium
CN115170792B (en) Infrared image processing method, device and equipment and storage medium
CN110956137A (en) Point cloud data target detection method, system and medium
CN112949366A (en) Obstacle identification method and device
CN110826581A (en) Animal number identification method, device, medium and electronic equipment
CN111291761B (en) Method and device for recognizing text
CN111563398A (en) Method and device for determining information of target object
CN111310511A (en) Method and device for identifying objects
CN111768007B (en) Method and device for mining data
CN115100469A (en) Target attribute identification method, training method and device based on segmentation algorithm
CN114626982A (en) Scene reconstruction method and device, storage medium and computer equipment
CN109934045B (en) Pedestrian detection method and device
CN114241202A (en) Method and device for training dressing classification model and method and device for dressing classification
CN113569600A (en) Method and device for identifying weight of object, electronic equipment and storage medium
CN112183554B (en) Automatic road boundary contour extraction method

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination