Method, computing device, and computer program for improved object recognition in autonomous vehicle control
The enhanced object recognition method addresses the challenge of low traffic cone recognition in autonomous vehicles by training with augmented data and improving obstacle detection algorithms, resulting in improved accuracy for traffic cone identification and obstacle detection.
Patent Information
- Application Number
- KR1020250206275
- Authority / Receiving Office
- KR · KR
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2025-12-22
- Publication Date
- 2026-10-30
- Estimated Expiration
- 2045-12-22
AI Technical Summary
Autonomous driving systems face challenges in accurately recognizing sparse objects like traffic cones due to low recognition rates and training imbalance, with existing segmentation models misclassifying these objects as ground or lanes, and obstacle detection algorithms failing to reliably identify small obstacles or incorrectly identifying non-tangible elements as obstacles.
An enhanced object recognition method that includes training a segmentation model using augmented data generated by adding traffic cones to a point cloud, and improving algorithms for acquiring obstacle points and generating a dynamic occupancy grid map during the object recognition process.
Improves traffic cone recognition performance by enhancing the training of segmentation models and obstacle detection algorithms, leading to more accurate object classification and reliable obstacle identification in autonomous vehicles.
Smart Images

Figure 112025145052918-PAT00019_ABST
Abstract
Description
Technology Field
[0001] Various embodiments of the present disclosure relate to an enhanced object recognition method, a computing device, and a computer program for controlling an autonomous vehicle. Background Technology
[0002] To enhance the convenience of vehicle users, there is a growing trend of equipping vehicles with various sensors and electronic devices, such as Advanced Driver Assistance Systems (ADAS); in particular, active technological development is underway for autonomous driving systems that recognize the surrounding environment without driver intervention and automatically drive to a given destination based on that environment.
[0003] An autonomous vehicle refers to a vehicle equipped with an autonomous driving system that perceives the surrounding environment without driver intervention and drives automatically to a given destination based on the perceived environment; the autonomous driving system function refers to performing positioning, perception, prediction, planning, and control for autonomous driving.
[0004] The autonomous driving system detects objects located around the autonomous vehicle by processing point cloud data acquired through sensors (e.g., LiDAR sensors) through a perception process, and establishes a driving plan, such as the route and speed of the autonomous vehicle, by receiving perception results (e.g., information on the location, attitude, and speed of objects) derived from performing the perception process through a planning process.
[0005] The aforementioned background technology is one that the inventor possessed or acquired in the process of deriving the content of the present disclosure, and it cannot be considered as prior art disclosed to the general public prior to the filing of this application. The problem to be solved
[0006] Typically, autonomous driving systems utilize segmentation models that perform object classification based on LiDAR point clouds. While these models generally demonstrate high recognition rates for objects such as vehicles, lanes, and roads, they have a problem with low recognition rates for sparse objects that are small and appear infrequently, such as traffic cones.
[0007] In addition, efficiency was ensured by using an auto-labeling method for the labels of the training data to train the segmentation model, but training imbalance occurred due to the insufficient number of data points for traffic cones, and as a result, most of the points on the traffic cones were misclassified as ground or lanes.
[0008] Furthermore, existing obstacle point and Dynamic Occupancy Grid Map (DOGM) generation algorithms have problems such as failing to reliably detect small obstacles like traffic cones, or conversely, incorrectly identifying non-tangible elements like exhaust gases as obstacles.
[0009] Accordingly, the problem that the present disclosure aims to solve is to provide an enhanced object recognition method for controlling an autonomous vehicle that can improve traffic cone recognition performance by training a segmentation model using augmented data generated by adding traffic cones to a point cloud, and by improving the algorithms for acquiring obstacle points and generating a dynamic occupancy grid map during the object recognition process, with the purpose of resolving the aforementioned conventional problems.
[0010] The problems that this disclosure aims to solve are not limited to those mentioned above, and other unmentioned problems will be clearly understood by a person skilled in the art from the description below. means of solving the problem
[0011] The present disclosure may be implemented in various ways, including a method, an apparatus (system), or a computer program stored on a readable storage medium.
[0012] An enhanced object recognition method for controlling an autonomous vehicle according to one embodiment of the present disclosure for solving the above-described problem may include, in a method performed by a computing device, a step of performing object classification for an object existing within a predetermined space based on a distance image corresponding to a predetermined space, a step of obtaining an obstacle point from a point cloud corresponding to the distance image based on the result of the performed object classification, and a step of performing object recognition for the object based on the obtained obstacle point.
[0013] In various embodiments, the distance image may be generated by processing a point cloud acquired through a LiDAR sensor mounted on an autonomous vehicle driving in a predetermined space.
[0014] In various embodiments, the step of performing object classification includes the step of training a segmentation model and the step of deriving an object classification result by inputting the street image into the trained segmentation model, and the derived object classification result may be the result of classifying each of a plurality of pixels included in the street image or a plurality of points included in a point cloud corresponding to the street image into one of a plurality of predefined classes.
[0015] In various embodiments, the step of training the segmentation model may include the step of generating training data in which a training street image generated using a training point cloud is used as input data and the result of classifying each of a plurality of pixels included in the training street image into one of the plurality of classes is used as ground truth data, and the step of training the segmentation model using the training data.
[0016] In various embodiments, the step of generating the training data includes the step of generating a training augmented point cloud by adding object points corresponding to one or more objects within the training point cloud, and the step of generating augmented training data in which the result of classifying each of a plurality of pixels included in a training augmented distance image generated using the generated training augmented point cloud into one of the plurality of classes is used as the correct answer data, and the step of training the segmentation model using the training data may include the step of training the trained segmentation model using the generated augmented training data.
[0017] In various embodiments, the one or more objects include a traffic cone having a cone shape, and the step of generating the augmented point cloud for training may include: identifying a ground pixel corresponding to the ground among a plurality of pixels included in the training street image; setting a cone region corresponding to the traffic cone within the training point cloud based on the identified ground pixel; and generating the augmented point cloud for training by adding at least one traffic cone point within the set cone region based on the direction vector of the pixel corresponding to the set cone region.
[0018] In various embodiments, the step of identifying the ground pixel may include identifying the specific pixel as a ground pixel when the height of a first point corresponding to a specific pixel among a plurality of pixels included in the training distance image is less than or equal to a reference height, the height difference between the first point and a second point corresponding to a pixel placed at the bottom of the specific pixel or at the closest position to the specific pixel is less than or equal to a reference height difference, and based on the result of the object classification performed, the specific pixel is classified into at least one class related to an object existing on the ground among the plurality of classes.
[0019] In various embodiments, the step of setting the cone region may include setting a random internal division point between a point corresponding to the identified ground pixel and a point corresponding to a pixel placed at the bottom of the identified ground pixel as the bottom center point, and setting the cone region by arbitrarily setting a radius, height, and axial unit vector within a predefined range.
[0020] In various embodiments, the step of generating a learning augmented point cloud by adding at least one traffic cone point within the set cone region may include the step of calculating an intersection point between the direction vector of a pixel corresponding to the set cone region and the set cone region, and the step of adding a traffic cone point on the coordinates corresponding to the calculated intersection point within the learning point cloud.
[0021] In various embodiments, the step of generating a learning augmented point cloud by adding at least one traffic cone point within the set cone area may include adjusting the intensity of the at least one added traffic cone point such that the distribution of the intensity of the at least one added traffic cone point is inversely proportional to the square of the distance and proportional to the cosine value of the surface reflection angle of the set cone, and the intensity of the traffic cone point added to the top of the set cone area has a greater intensity than the intensity of the traffic cone point added to the bottom of the set cone area.
[0022] In various embodiments, the step of generating a learning augmented point cloud by adding at least one traffic cone point within the set cone area may include the step of removing a point existing within the set cone area among a plurality of points already included in the learning point cloud from the generated learning augmented point cloud.
[0023] In various embodiments, the step of acquiring the obstacle points may include: removing ground points corresponding to the ground from the point cloud as the point cloud is processed; storing points corresponding to obstacles among a plurality of points included in the processed point cloud as obstacle seeds based on the result of the object classification performed; generating a plurality of clusters as the points stored as obstacle seeds by clustering; and selecting a cluster corresponding to an obstacle among the generated plurality of clusters and acquiring points included in the selected cluster as obstacle points.
[0024] In various embodiments, the step of removing the ground point may include removing at least one point classified as a class related to an object existing on the ground among a plurality of points included in the point cloud as a ground point, wherein if the plurality of points included in the point cloud are points obtained through different plurality of channels, the step of removing the ground point only from among the points obtained through channels lower than or equal to a reference channel among the plurality of channels.
[0025] In various embodiments, the processed point cloud includes a first section in which ground points are removed and a second section in which ground points are not removed, and the step of storing as an obstacle seed may include storing at least one first point classified into at least one class related to an obstacle among a plurality of first points included in the first section based on the result of the performed object classification, calculating the slope of a point included in a pixel placed at the bottom of a pixel corresponding to each of the plurality of second points included in the second section, and storing at least one second point among the plurality of second points in which the calculated slope is greater than or equal to a reference slope as an obstacle seed.
[0026] In various embodiments, the step of storing as obstacle seeds may include, when a specific point stored as an obstacle seed is a point obtained through channels greater than or equal to a reference channel among a plurality of channels included in the point cloud, additionally storing points included in a predetermined number of columns to the left and right of the column containing the specific point as obstacle seeds.
[0027] In various embodiments, the step of acquiring points included in the selected cluster as obstacle points may include selecting, among the generated plurality of clusters, a cluster in which the average height of the points is greater than or equal to a reference height and the maximum intensity is greater than or equal to a first value, or a cluster in which the maximum intensity is greater than or equal to a second value greater than or equal to a first value, as the cluster corresponding to the obstacle.
[0028] In various embodiments, the method may further include the step of generating a plurality of cells by dividing the predetermined space into cell units, and generating a Dynamic Occupancy Grid Map (DOGM) by calculating the occupancy probability of each of the generated plurality of cells based on the performed object recognition result.
[0029] In various embodiments, the step of generating the dynamic occupancy grid map may include: a step of determining whether an obstacle corresponding to the acquired obstacle point is a static obstacle or a dynamic obstacle by comparing the number of points classified as a class corresponding to a static object among the acquired obstacle points with the number of points classified as a class corresponding to a dynamic object; and a step of assigning a weight to the acquired obstacle point based on the result of determining whether it is a static obstacle or a dynamic obstacle, and calculating the occupancy probability of each of the generated plurality of cells using the obstacle point to which the weight is assigned.
[0030] A computing device according to another embodiment of the present disclosure for solving the above-described problem comprises a processor, a network interface, a memory, and a computer program loaded into the memory and executed by the processor, wherein the processor can perform an enhanced object recognition method for controlling an autonomous vehicle by executing one or more instructions included in the computer program.
[0031] A computer program according to another embodiment of the present disclosure for solving the above-described problem may be combined with a computing device and stored on a non-transient recording medium readable by the computing device to execute an enhanced object recognition method for controlling an autonomous vehicle.
[0032] Other specific details of the present disclosure are included in the detailed description and drawings. Effects of the invention
[0033] According to various embodiments of the present disclosure, there is an advantage in that traffic cone recognition performance can be improved by training a segmentation model using augmented data generated by adding traffic cones to a point cloud, and by improving the algorithms for acquiring obstacle points and generating a dynamic occupancy grid map in the object recognition process.
[0034] The effects of the present disclosure are not limited to those mentioned above, and other unmentioned effects will be clearly understood by a person skilled in the art from the description below. Brief explanation of the drawing
[0035] The following drawings attached to this specification illustrate preferred embodiments of the present disclosure and serve to further enhance understanding of the technical concept of the present disclosure together with the detailed description of the invention; therefore, the present disclosure should not be interpreted as being limited only to the matters described in such drawings. FIG. 1 is a drawing illustrating an autonomous driving system according to one embodiment of the present disclosure. FIG. 2 is a diagram illustrating the functional module configuration of a computing device according to various embodiments of the present disclosure. FIG. 3 is a diagram illustrating the hardware configuration of a computing device according to various embodiments of the present disclosure. FIG. 4 is a flowchart of an enhanced object recognition method for controlling an autonomous vehicle according to various embodiments of the present disclosure. FIG. 5 is a flowchart of an object classification method according to various embodiments of the present disclosure. FIG. 6 is a flowchart of a segmentation model learning method using augmented learning data according to various embodiments of the present disclosure. FIG. 7 is a diagram illustrating the result of setting a cone region within a point cloud according to various embodiments of the present disclosure. FIGS. 8 and 9 are drawings illustrating the result of adding traffic cone points within a cone region in a point cloud according to various embodiments of the present disclosure. FIG. 10 is a drawing illustrating an original learning point cloud and an augmented learning point cloud according to various embodiments of the present disclosure. FIG. 11 is a flowchart of a method for acquiring obstacle points through an improved algorithm according to various embodiments of the present disclosure. FIGS. 12 and 13 are drawings illustrating object recognition results according to various embodiments of the present disclosure and object recognition results according to the prior art. Specific details for implementing the invention
[0036] The advantages and features of the present disclosure and the methods for achieving them will become clear by referring to the embodiments described below in detail together with the accompanying drawings. However, the present disclosure is not limited to the embodiments disclosed below but may be implemented in various different forms. These embodiments are provided merely to ensure that the disclosure is complete and to fully inform those skilled in the art of the scope of the present disclosure, and the present disclosure is defined only by the scope of the claims.
[0037] The terms used herein are for describing the embodiments and are not intended to limit the disclosure. In this specification, the singular form includes the plural form unless specifically stated otherwise in the text. As used herein, "comprises" and / or "comprising" do not exclude the presence or addition of one or more other components in addition to the components mentioned.
[0038] Throughout this specification, the same reference numerals refer to the same components, and "and / or" includes each of the mentioned components and all combinations of one or more thereof. Although terms such as "first," "second," etc., are used to describe various components, they are not limited by these terms. These terms are used merely to distinguish one component from another. Accordingly, the first component mentioned below may be the second component within the technical scope of this disclosure.
[0039] As used herein, the terms “part” or “module” refer to hardware components such as software, FPGAs, or ASICs, and the “part” or “module” performs certain roles. However, the “part” or “module” is not limited to software or hardware. The “part” or “module” may be configured to reside in an addressable storage medium or configured to run on one or more processors. Thus, by example, the “part” or “module” includes components such as software components, object-oriented software components, class components, and task components, as well as processes, functions, attributes, procedures, subroutines, segments of program code, drivers, firmware, microcode, circuits, data, databases, data structures, tables, arrays, and variables. The functions provided within the components and “parts” or “modules” may be combined into a smaller number of components and “parts” or “modules,” or further separated into additional components and “parts” or “modules.”
[0040] Spatially relative terms such as "below," "beneath," "lower," "above," and "upper" may be used to facilitate the description of the relationship between one component and other components as illustrated in the drawings. Spatially relative terms should be understood as encompassing different orientations of components during use or operation, in addition to the orientations depicted in the drawings. For example, if a component depicted in a drawing is inverted, a component described as "below" or "beneath" of another component may be placed "above" of that component. Therefore, the exemplary term "below" may encompass both the lower and upper directions. Components may also be oriented in other directions, and accordingly, spatially relative terms may be interpreted according to the orientation.
[0041] Expressions such as "first," "second," or "first," "second" as used in this specification are used to distinguish one object from another when referring to a plurality of objects of the same kind, unless otherwise indicated in the context, and do not limit the order or importance of said objects.
[0042] Expressions used herein such as “A, B, and C,” “A, B, or C,” “A, B, and / or C,” or “at least one of A, B, and C,” “at least one of A, B, or C,” “at least one of A, B, and / or C,” “at least one selected from A, B, and C,” “at least one selected from A, B, or C,” “at least one selected from A, B, and / or C,” etc., may mean each of the listed items or all possible combinations of the listed items. For example, “at least one selected from A and B” may refer to (1) A, (2) at least one of A, (3) B, (4) at least one of B, (5) at least one of A and at least one of B, (6) at least one of A and B, (7) at least one of B and A, and (8) all of A and B.
[0043] As used herein, the expression “based on” is used to describe one or more factors affecting an act or action of a decision or judgment described in the phrase or sentence containing such expression, and such expression does not exclude additional factors affecting said act or action of a decision or judgment.
[0044] As used in this specification, the expression that a certain component (e.g., a first component) is "connected" or "connected" to another component (e.g., a second component) may mean that the said certain component is not only directly connected or connected to the said other component, but is also connected or connected through a new other component (e.g., a third component).
[0045] As used herein, the expression "configured to" may have meanings such as "set to," "capable of," "modified to," "made to," or "capable of." Such expression is not limited to the meaning of "specifically designed in hardware," and, for example, a processor configured to perform a specific operation may mean a generic-purpose processor capable of performing that specific operation by executing software.
[0046] Unless otherwise defined, all terms used herein (including technical and scientific terms) may be used in a meaning commonly understood by those skilled in the art to which this disclosure pertains. Additionally, terms defined in commonly used dictionaries are not to be interpreted ideally or excessively unless explicitly and specifically defined otherwise.
[0047] In this specification, the term "computer" refers to any type of hardware device comprising at least one processor, and may be understood to include software configurations operating on said hardware device according to the embodiments. For example, the term "computer" may be understood to include smartphones, tablet PCs, desktops, laptops, and user clients and applications running on each of these devices, but is not limited thereto.
[0048] Hereinafter, embodiments of the present disclosure will be described in detail with reference to the attached drawings.
[0049] Each step described in this specification is described as being performed by a computer, but the subject of each step is not limited thereto, and depending on the embodiment, at least some of each step may be performed on different devices.
[0051] Referring to FIG. 1, an autonomous driving system according to one embodiment of the present invention may include a computing device (100), a user terminal (200), a server (300), and a network (400).
[0052] Here, the autonomous driving system illustrated in FIG. 1 is according to one embodiment, and its components are not limited to the embodiment illustrated in FIG. 1 and may be added, changed, or deleted as needed.
[0053] In one embodiment, the computing device (100) may support an autonomous driving mode that performs autonomous driving control for an autonomous vehicle (10). To this end, the computing device (100) may perform positioning operations, perception operations, planning operations, and control operations for autonomous driving control of the autonomous vehicle (10).
[0054] More specifically, referring to FIG. 2, the computing device (100) may include a positioning module (110), a perception module (120), a planning module (130), and a control module (140).
[0055] First, the positioning module (110) can perform a positioning operation. Here, the positioning operation may refer to an operation of measuring the position and attitude of the autonomous vehicle (10). For example, the positioning module (110) can collect sensor data (e.g., point cloud data, image data, etc.) by scanning the surrounding environment of the autonomous vehicle (10) using a sensor (e.g., LiDAR, RADAR, Camera, GNSS / INS, IMU, etc.) provided in the autonomous vehicle (10), and can derive positioning information including a positioning value corresponding to the position and attitude of the autonomous vehicle (10) by utilizing the collected sensor data.
[0056] Next, the perception module (120) can perform a perception operation. Here, the perception operation may refer to an operation of detecting and tracking an object located around the autonomous vehicle (10). For example, the perception module (120) can recognize an object existing around the autonomous vehicle (10) by analyzing sensor data (e.g., point cloud data) collected as it scans the area around the autonomous vehicle (10), and can derive perception information including information about the recognized object.
[0057] In various embodiments, the computing device (100) can perform an enhanced object recognition method for controlling an autonomous vehicle. For example, the computing device (100) can train a segmentation model using a training street image and a training augmented street image, and then perform object classification using the segmentation model.
[0058] Additionally, the computing device (100) can obtain obstacle points from a point cloud corresponding to a street image based on the result of object classification through an improved algorithm, and perform object recognition for said object based on the obtained obstacle points.
[0059] Next, the planning module (130) can perform a planning operation. Here, the planning operation may mean an operation to generate a driving trajectory including a path and a speed profile for controlling the autonomous vehicle (10), based on positioning information derived through the positioning module (110) and perception information derived through the perception module (120).
[0060] Finally, the control module (140) can perform a control operation. Here, the control operation can determine and generate control commands for lateral control (direction control) and longitudinal control (speed control) of the autonomous vehicle (10) based on information regarding the driving trajectory derived by the planning operation, and may mean an operation to control the operation of the autonomous vehicle (10) according to the determined and generated control commands.
[0061] In various embodiments, the computing device (100) can be connected to a user terminal (200) through a network (400) and can provide various information related to autonomous driving to the user terminal (200).
[0062] Here, the user terminal (200) may refer to any form of entity(s) in a system having a mechanism for communicating with a computing device (100). For example, such a user terminal (200) may include a PC (personal computer), a notebook, a mobile terminal, a smartphone, a tablet PC, and a wearable device, and may include any type of terminal capable of connecting to a wired or wireless network. Additionally, the user terminal (200) may include any computing device implemented by at least one of an agent, an API (Application Programming Interface), and a plug-in. Additionally, the user terminal (200) may include an application source and / or a client application.
[0063] Additionally, the network (400) may refer to a connection structure capable of exchanging information between each node, such as multiple terminals and servers. For example, the network (400) may include a Local Area Network (LAN), a Wide Area Network (WAN), the World Wide Web (WWW), a wired / wireless data network, a telephone network, a wired / wireless television network, a Controller Area Network (CAN), and Ethernet.
[0064] Wireless data communication networks may include, but are not limited to, 3G, 4G, 5G, 3GPP (3rd Generation Partnership Project), 5GPP (5th Generation Partnership Project), LTE (Long Term Evolution), WIMAX (World Interoperability for Microwave Access), Wi-Fi, Internet, LAN (Local Area Network), Wireless LAN (Wireless Local Area Network), WAN (Wide Area Network), PAN (Personal Area Network), RF (Radio Frequency), Bluetooth network, NFC (Near-Field Communication) network, satellite broadcasting network, analog broadcasting network, DMB (Digital Multimedia Broadcasting) network, etc.
[0065] In one embodiment, an external server (300) may be connected to a computing device (100) via a network (400) and may store and manage various information and data necessary to perform an enhanced object recognition method for controlling an autonomous vehicle through the computing device (100), or may collect, store, and manage various information and data derived as the computing device (100) performs an enhanced object recognition method for controlling an autonomous vehicle. For example, the external server (300) may be a storage server provided in a separate space outside the computing device (100), but is not limited thereto. Hereinafter, with reference to FIG. 3, the hardware configuration of a computing device for performing an enhanced object recognition method for controlling an autonomous vehicle will be described.
[0067] FIG. 3 is a diagram illustrating the hardware configuration of a computing device according to various embodiments of the present disclosure.
[0068] Referring to FIG. 3, a computing device (100) according to another embodiment of the present disclosure may include one or more processors (101), a memory (102) for loading a computer program (105A) executed by the processor (101), a bus (103), a communication interface (104), and a storage (105) for storing the computer program (105A). Here, FIG. 3 illustrates only the components related to the embodiments of the present disclosure. Accordingly, a person skilled in the art to which the present disclosure pertains will understand that other general-purpose components may be included in addition to the components illustrated in FIG. 3.
[0069] The processor (101) controls the overall operation of each component of the computing device (100). The processor (101) may be configured to include a CPU (Central Processing Unit), an MPU (Micro Processor Unit), an MCU (Micro Controller Unit), a GPU (Graphic Processing Unit), or any form of processor well known in the art of the present disclosure.
[0070] Additionally, the processor (101) may perform operations for at least one application or program for executing the method according to the embodiments of the present disclosure, and the computing device (100) may have one or more processors.
[0071] In various embodiments, the processor (101) may further include Random Access Memory (RAM) (not shown) and Read-Only Memory (ROM) (not shown) for temporarily and / or permanently storing signals (or data) processed within the processor (101). Additionally, the processor (101) may be implemented in the form of a System on Chip (SoC) comprising at least one of a graphics processing unit, RAM, and ROM.
[0072] Memory (102) stores various data, instructions and / or information. Memory (102) may load a computer program (105A) from storage (105) to execute a method / operation according to various embodiments of the present disclosure. When the computer program (105A) is loaded into memory (102), the processor (101) may perform the method / operation by executing one or more instructions constituting the computer program (105A). Memory (102) may be implemented as a volatile memory such as RAM, but the technical scope of the present disclosure is not limited thereto.
[0073] The bus (103) provides communication functions between components of the computing device (100). The bus (103) can be implemented as various types of buses, such as an address bus, a data bus, and a control bus.
[0074] The communication interface (104) supports wired and wireless internet communication of the computing device (100). Additionally, the communication interface (104) may support various communication methods other than internet communication. To this end, the communication interface (104) may be configured to include a communication module well known in the art of the present disclosure. In some embodiments, the communication interface (104) may be omitted.
[0075] Storage (105) can store a computer program (105A) non-temporarily. When performing an enhanced object recognition process for controlling an autonomous vehicle through a computing device (100), storage (105) can store various information necessary to provide an enhanced object recognition process for controlling an autonomous vehicle.
[0076] Storage (105) may be configured to include non-volatile memory such as ROM (Read Only Memory), EPROM (Erasable Programmable ROM), EEPROM (Electrically Erasable Programmable ROM), flash memory, a hard disk, a removable disk, or any form of computer-readable recording medium well known in the art to which this disclosure belongs.
[0077] A computer program (105A) may include one or more instructions that cause a processor (101) to perform a method / operation according to various embodiments of the present disclosure when loaded into memory (102). That is, the processor (101) may perform the method / operation according to various embodiments of the present disclosure by executing the one or more instructions.
[0078] In one embodiment, a computer program (105A) may include one or more instructions for performing an enhanced object recognition method for controlling an autonomous vehicle, comprising the steps of: performing object classification for an object existing within a predetermined space based on a distance image corresponding to a predetermined space; obtaining an obstacle point from a point cloud corresponding to the distance image based on the result of the performed object classification; and performing object recognition for the object based on the obtained obstacle point. Hereinafter, with reference to FIGS. 4 to 12, an enhanced object recognition method for controlling an autonomous vehicle performed by a computing device (100) will be described.
[0080] FIG. 4 is a flowchart of an enhanced object recognition method for controlling an autonomous vehicle according to various embodiments of the present disclosure.
[0081] Referring to FIG. 4, in step S110, the computing device (100) can perform object classification for objects existing within a predetermined space based on a distance image corresponding to a predetermined space.
[0082] Here, a predetermined space is a space in which an autonomous vehicle (10) is driving, and may include, for example, a road, a lane, a road boundary, a lane, a stop line, a building, a sidewalk, a median strip, a guardrail, a traffic sign, a traffic cone, a pedestrian, a bicycle, and other obstacles.
[0083] Additionally, the range image corresponding to a predetermined space may be generated by processing a point cloud obtained through a LiDAR sensor mounted on an autonomous vehicle (10) driving in a predetermined space, but is not limited thereto.
[0084] In various embodiments, the computing device (100) can perform object classification for objects existing within a predetermined space by analyzing a distance image using a segmentation model.
[0085] Here, the segmentation model may be composed of one or more network functions, and said network functions may be implemented as a set of interconnected computational units that may generally be referred to as nodes or neurons.
[0086] The aforementioned nodes may be interconnected by links, which serve as mediating elements forming input-output relationships between two nodes, and each link may be assigned a weight. These weights are adjusted during the learning process to determine the output accuracy of the segmentation model, that is, the performance of generating pixel-level object classification results or pixel-level class probabilities. For example, if a single output node is connected to multiple input nodes, the output node can calculate which class a specific pixel belongs to—such as an obstacle, pedestrian, vehicle, or road—or the probability of belonging to each class, based on each input value and the weight of the link.
[0087] In addition, the structure of the segmentation model can be defined by the number of nodes and links, weight settings, connection patterns between nodes, etc., and various segmentation models with different object recognition performance can be implemented depending on the above structure.
[0088] The segmentation model may be a deep learning model comprising an input layer, a plurality of hidden layers, and an output layer, wherein the input layer may be composed of a node into which pixel values or depth information of a distance image are input, and the output layer may be composed of a node into which a class or class probability for each of the pixels is calculated.
[0089] In various embodiments, the segmentation model may be a convolutional neural network (CNN), a U-network, a decoder-based network, or a deep learning model that produces a pixel-level probability distribution, but is not limited thereto.
[0090] In addition, the above segmentation model may be defined as a specific class that is one of the object classes required for an autonomous vehicle to recognize the surrounding environment, such as ground, lanes, road markings, traffic cones, vehicles, pedestrians, bicycles, guardrails, etc. Hereinafter, with reference to FIG. 5, it will be explained in more detail.
[0092] FIG. 5 is a flowchart of an object classification method according to various embodiments of the present disclosure.
[0093] Referring to FIG. 5, in step S210, the computing device (100) can generate training data based on a distance image for training.
[0094] More specifically, first, the computing device (100) can generate a learning distance image using a learning point cloud.
[0095] Subsequently, the computing device (100) can configure training data by using a training street image as input data and setting the result of classifying each of the multiple pixels included in the training street image into one of a plurality of predefined object classes as correct answer data.
[0096] Here, the correct answer data may be the result obtained by inputting the training distance image, which is the input data, into a pre-trained segmentation model. That is, the computing device (100) may generate training data using an auto-labeling method, but is not limited thereto.
[0097] In step S220, the computing device (100) can train a segmentation model using the training data generated through step S210.
[0098] More specifically, the computing device (100) can perform training on one or more network functions that constitute a segmentation model using a labeled training data set that includes a training distance image and correct data corresponding to each of a plurality of pixels included in the training distance image as input and output data pairs.
[0099] For example, a computing device (100) can provide a training distance image to the input layer of a segmentation model and calculate an error by comparing the difference between the output derived by the segmentation model (pixel-unit class or class probability distribution) and the correct data (label). The computing device (100) can gradually adjust the output of the segmentation model to be closer to the correct data by transmitting the calculated error in a backpropagation manner and updating the weights corresponding to the links of the network function constituting the segmentation model.
[0100] Additionally, the computing device (100) can determine whether to stop the training or whether overfitting occurs using validation data when training is performed for more than a preset number of epochs. For example, the computing device (100) can determine the generalization performance of the model based on evaluation indicators such as output variation, loss reduction trend, or accuracy, precision, and recall for the validation data. If the results of such evaluation satisfy the preset criteria, the computing device (100) can determine that the segmentation model has been sufficiently trained and terminate the training.
[0101] In step S230, the computing device (100) can derive an object classification result by inputting it into the segmentation model learned through step S220.
[0102] Here, the object classification result derived through the segmentation model may be the result of classifying each of multiple pixels included in the street image or each of multiple points included in the point cloud corresponding to the street image into one of multiple predefined classes, or the probability of being classified into each of the multiple classes, but is not limited thereto.
[0103] In various embodiments, the computing device (100) can generate augmented learning data by augmenting the training data of a segmentation model for the purpose of increasing the recognition rate of small-sized objects such as traffic cones, and can train the segmentation model using the generated augmented learning data. The following description will be explained with reference to FIGS. 6 to 10.
[0105] FIG. 6 is a flowchart of a segmentation model learning method using augmented learning data according to various embodiments of the present disclosure.
[0106] Here, the augmented learning data generated according to the method described with reference to FIG. 6 may be for improving the recognition rate of a traffic cone having a cone shape, but is not limited thereto, and may be applied not only to traffic cones but also to various objects on the road.
[0107] Referring to FIG. 6, in step S310, the computing device (100) can identify a ground pixel corresponding to the ground among a plurality of pixels included in a distance image for learning.
[0108] In various embodiments, the computing device (100) can identify a ground pixel corresponding to the ground among a plurality of pixels depending on whether a predefined condition is satisfied.
[0109] Here, the predefined conditions are as follows.
[0110] (1) The height of the point must be sufficiently low, below the standard height.
[0111] (2) The height difference between the point height and the point of the pixel below will be sufficiently small to be less than or equal to the reference height difference.
[0112] (3) It must be classified into at least one of the multiple predefined classes related to an object existing on the ground (e.g., ground, lane and / or road marker, etc.).
[0113] That is, the computing device (100) can identify a specific pixel as a ground pixel if the height of a first point corresponding to a specific pixel included in a learning street image is less than or equal to a reference height, the height difference between a second point corresponding to the bottom of the specific pixel (or a pixel placed at the closest position to the specific pixel (if no pixel exists at the bottom of the specific pixel)) and the first point is less than or equal to a reference height difference, and based on the result of object classification, the specific pixel is classified as a ground, lane, or road marker among a plurality of classes.
[0114] In step S320, the computing device (100) can set a cone area corresponding to a traffic cone within a training point cloud based on the ground pixels identified through step S310.
[0115] In various embodiments, the computing device (100) may set a random internal division point between a point corresponding to a ground pixel and a point corresponding to a pixel placed at the bottom of the ground pixel as a bottom center point, as shown in FIG. 7, and set a cone area by arbitrarily setting a radius, height, and axial unit vector within a predefined range.
[0116] For example, the computing device (100) can set a cone region using the following mathematical formula 1.
[0117] <Mathematical Formula 1>
[0118]
[0119] Here, is an arbitrary point on the cone surface, is the position of the cone's vertex, is the position of the center of the base of the cone, is the unit vector in the direction of the cone's axis, is the height of the cone, is the radius of the base of the cone, is a proportionality constant related to the slope of the cone and can be the angle between the side of the cone and the axis.
[0120] In step S330, the computing device (100) can generate an augmented point cloud for learning by adding at least one traffic cone point within the cone area set through step S320.
[0121] In various embodiments, the computing device (100) can generate an augmented point cloud for learning by adding at least one traffic cone point within the cone region based on the direction vector of a pixel corresponding to the cone region.
[0122] Here, each of the multiple pixels included in the distance image has an azimuth and an altitude determined, and the computing device (100) can calculate the direction vector of the pixel corresponding to the cone region using these azimuth and altitude.
[0123] In various embodiments, the computing device (100) can calculate the intersection point between the direction vector of a pixel corresponding to a cone region and the cone region, as shown in FIG. 8, and can add a traffic cone point on the coordinates corresponding to the calculated intersection point in the learning point cloud.
[0124] For example, the computing device (100) has a direction vector corresponding to each pixel included in the distance image for learning. Calculate and direction vector and the unit vector along the axis of the cone region Distance in the pixel direction to calculate the intersection point between A relational expression including can be applied. At this time, the computing device (100) can calculate the intersection point with the cone region according to the following mathematical formula 2.
[0125] <Mathematical Formula 2>
[0126]
[0127] Here, is the azimuth direction vector for the conical surface, and Equation 2 By rearranging for this, we can obtain a quadratic equation as shown in mathematical equation 3 below.
[0128] <Mathematical Formula 3>
[0129]
[0130] The computing device (100) [indicates] when real roots of the quadratic equation exist, the corresponding The intersection point between the pixel's direction vector w and the cone region can be determined by selecting a small value among the values that meets a predetermined criterion.
[0131] In various embodiments, the computing device (100) can adjust the intensity of at least one traffic cone point by taking into account the characteristics of the LiDAR sensor and the characteristics of the traffic cone. For example, the computing device (100) can adjust the intensity of at least one traffic cone point such that the distribution of the intensity of at least one traffic cone point is inversely proportional to the square of the distance and proportional to the cosine value of the surface reflection angle of the cone. Additionally, the computing device (100) can adjust the intensity of the traffic cone point added to the top of the cone area so that it has a greater intensity than the traffic cone point added to the bottom of the cone area. However, it is not limited thereto.
[0132] In various embodiments, the computing device (100) can remove points existing within a cone area among a plurality of points already included in the training point cloud from the training augmented point cloud. Since a problem may occur where a traffic cone appears stuck in the ground or an object due to any point included in the training point cloud being closer than the cone area, the computing device (100) can delete existing points existing within the cone area as shown in FIG. 9.
[0133] The augmented point cloud data for learning generated according to the method described above is as shown in FIG. 10.
[0134] In step S340, the computing device (100) can generate augmented learning data using the augmented point cloud for learning generated through step S330.
[0135] First, the computing device (100) can generate an augmented distance image for learning using an augmented point cloud for learning.
[0136] Subsequently, the computing device (100) can construct augmented learning data by using an augmented distance image for learning as input data and setting the result of classifying each of the multiple pixels included in the augmented distance image for learning into one of a plurality of predefined object classes as correct answer data.
[0137] Here, the ground truth data may be the result obtained by inputting the training augmented distance images, which are the input data, into a pre-trained segmentation model.
[0138] In step S350, the computing device (100) can train a segmentation model using the augmented learning data generated through step S340. Here, the method of training the segmentation model may be implemented in the same or similar form as step S230 of FIG. 5, but is not limited thereto.
[0140] Again, referring to FIG. 4, in step S120, the computing device (100) can obtain obstacle points from the point cloud based on the result of object classification derived through step S110.
[0141] Here, obstacle points may refer to points that are highly likely to be obstacles, that is, points identified as obstacle candidates based on probability, and / or sets of such points, but are not limited thereto. Below, with reference to FIG. 11, this will be explained in more detail.
[0143] FIG. 11 is a flowchart of a method for acquiring obstacle points through an improved algorithm according to various embodiments of the present disclosure.
[0144] Referring to FIG. 11, in step S410, the computing device (100) can remove ground points corresponding to the ground from the point cloud as it processes the point cloud.
[0145] In various embodiments, the computing device (100) can remove at least one point classified as a class related to an object existing on the ground from among a plurality of points included in a point cloud as a ground point.
[0146] At this time, when multiple points included in the point cloud are acquired through multiple channels, the computing device (100) may remove ground points only from among the points acquired through channels below the reference channel among the multiple channels. For example, when the point cloud includes points corresponding to 64 channels, the computing device (100) may remove ground points only from among the points up to channel 52, which have relatively high accuracy, as the reliability of the result may decrease from channel 53 onwards, and may not remove ground points for the section from channel 53 onwards.
[0147] In step S420, the computing device (100) can store points corresponding to obstacles among the points included in the point cloud processed through step S410 as obstacle seeds.
[0148] In various embodiments, the computing device (100) may store obstacle seeds using different methods for each section when the processed point cloud includes a first section where ground points are removed (e.g., a section within 52 channels) and a second section where ground points are not removed (e.g., a section from 53 channels onwards).
[0149] For example, the computing device (100) can store at least one first point classified into at least one class related to an obstacle among a plurality of first points included in the first section as an obstacle seed, based on the result of object classification, for a first section in which ground points are removed and relatively accurate information is included.
[0150] Meanwhile, the computing device (100) can calculate the slope of a point included in a pixel placed at the bottom of a pixel corresponding to each of the multiple second points and a plurality of second points for a second section that contains relatively inaccurate information because the ground point is not removed, and can store at least one second point among the multiple second points whose calculated slope is greater than or equal to a reference slope (e.g., 0.5) as an obstacle seed.
[0151] At this time, the computing device (100) can additionally store points included in a predetermined number (e.g., 2) of columns to the left and right of the column containing the specific point as obstacle seeds, taking into account that in the case of a high channel, the number of points corresponding to small obstacles such as traffic cones is small.
[0152] Here, additionally, if the points stored in the obstacle seed are classified into at least one of the predefined classes related to objects existing on the ground (e.g., ground, lane and / or road marker, etc.), the classification result can be changed to a class other than ground (e.g., nonground).
[0153] In step S430, the computing device (100) can generate multiple clusters by clustering points stored as obstacle seeds through step S420.
[0154] In step S440, the computing device (100) selects a cluster corresponding to an obstacle among the plurality of clusters generated through step S430, and can acquire points included in the selected cluster as obstacle points.
[0155] For example, the computing device (100) may select a cluster in which the average height of points among a plurality of clusters is greater than or equal to a reference height and the maximum strength is greater than or equal to a first value (e.g., 5) or a cluster in which the maximum strength is greater than or equal to a second value (e.g., 50) than the first value as a cluster corresponding to an obstacle, but is not limited thereto.
[0157] Referring again to FIG. 4, in step S130, the computing device (100) can perform object recognition using the obstacle point obtained through step S120. For example, the computing device (100) can determine whether there is an object corresponding to the obstacle point and the spatial area occupied by the object by analyzing the obstacle point based on spatial location information and class classification results. This object recognition result can serve as basic information for driving control of the autonomous vehicle (10).
[0158] In various embodiments, the computing device (100) can generate a dynamic occupancy grid map (DOGM) using the object recognition results. For example, the computing device (100) can generate a dynamic occupancy grid map (DOGM) by dividing the space where object recognition was performed into cell units and calculating the probability of occupancy of the cell based on the number, distribution, intensity, or reliability of obstacle points included in or affecting each cell using the object recognition results.
[0159] At this time, the computing device (100) can assign different weights to obstacle points by considering the static or dynamic characteristics of the object included in the object recognition result.
[0160] For example, the computing device (100) can determine whether the obstacle corresponding to the acquired obstacle point is a static obstacle or a dynamic obstacle by comparing the number of points classified as a class corresponding to a static object among the obstacle points with the number of points classified as a class corresponding to a dynamic object, and based on the result of determining whether it is a static obstacle or a dynamic obstacle, it can assign a weight to the obstacle point and calculate the occupancy probability of each of the multiple cells using the weighted obstacle point.
[0161] For example, the computing device (100) may assign a high occupancy weight so that the obstacle is determined to be a static obstacle when more than half of the points are classified as immovable objects such as buildings, guardrails, or road curbs. On the other hand, when more than half of the points are classified as movable objects such as vehicles, pedestrians, or bicycles, a relatively low weight (e.g., in the range of 0.3 to 0.7) may be assigned so that the occupancy probability can be adjusted according to the change in time so that the obstacle is determined to be a dynamic obstacle.
[0162] Additionally, the computing device (100) can generate a dynamic occupancy grid map (DOGM) by calculating the occupancy probability for each cell unit, reflecting the contribution of the weighted obstacle points as described above. In this case, a cell determined to be a static obstacle may maintain a relatively stable high occupancy probability, while a cell determined to be a dynamic obstacle may have its occupancy probability change over time depending on the object's movement direction and speed changes.
[0164] FIGS. 12 and 13 are drawings illustrating object recognition results according to various embodiments of the present disclosure and object recognition results according to the prior art.
[0165] Referring to FIGS. 12 and 13, an enhanced object recognition method for controlling an autonomous vehicle according to various embodiments of the present disclosure can more reliably recognize small obstacles, such as traffic cones, by training a segmentation model based on training data. Specifically, in the prior art shown in FIG. 12 (A), traffic cone points are rarely detected, making it difficult to determine the traffic cone as an obstacle; however, in the method according to the present disclosure shown in FIG. 12 (B), a plurality of points corresponding to the traffic cone are reliably detected as obstacle points, thereby confirming that traffic cone recognition is performed accurately.
[0166] Additionally, with reference to FIG. 13, an object recognition method according to various embodiments of the present disclosure can effectively suppress obstacle points that are incorrectly generated due to temporary and insubstantial objects such as exhaust gas. For example, in the prior art illustrated in FIG. 13 (A), many obstacle points are generated within the exhaust gas area, which may be mistaken for actual obstacles; however, according to the present disclosure illustrated in FIG. 13 (B), obstacle points within the exhaust gas area are significantly reduced or eliminated, thereby preventing unnecessary obstacle judgment and DOGM generation.
[0168] The aforementioned enhanced object recognition method for controlling an autonomous vehicle has been described with reference to the flowchart illustrated in the drawings. For the sake of simplicity, the enhanced object recognition method for controlling an autonomous vehicle has been illustrated and described using a series of blocks; however, the present disclosure is not limited to the order of said blocks, and some blocks may be executed in a different order than that illustrated and described in this specification or simultaneously. Additionally, new blocks not described in this specification and drawings may be added, or some blocks may be deleted or modified.
[0170] The method described above may be provided as a computer program stored on a computer-readable recording medium for execution on a computer. The medium may continuously store a program executable by a computer, or temporarily store it for execution or download. Additionally, the medium may be various recording or storage means in the form of a single or multiple hardware components combined, and may not be limited to a medium directly connected to a computer system but may exist distributed over a network. Examples of media may include magnetic media such as hard disks, floppy disks, and magnetic tapes; optical recording media such as CD-ROMs and DVDs; magneto-optical media such as floptical disks; and media configured to store program instructions, including ROM, RAM, and flash memory. Furthermore, other examples of media may include recording or storage media managed by app stores that distribute applications or sites and servers that supply or distribute various other software.
[0171] The methods, operations, or techniques of the present disclosure may be implemented by various means. For example, these techniques may be implemented in hardware, firmware, software, or a combination thereof. Those skilled in the art will understand that the various exemplary logical blocks, modules, circuits, and algorithmic steps described in connection with the disclosure herein may be implemented in electronic hardware, computer software, or a combination of both. To clearly illustrate such interchangeability between hardware and software, various exemplary components, blocks, modules, circuits, and steps have been generally described above in terms of their functional aspects. Whether such functions are implemented in hardware or in software depends on the design requirements imposed on the specific application and the overall system. Those skilled in the art may implement the functions described in various ways for each specific application, but such implementations should not be construed as departing from the scope of the present disclosure.
[0172] In a hardware implementation, the processing units used to perform the techniques may be implemented in one or more ASICs, DSPs, digital signal processing devices (DSPDs), programmable logic devices (PLDs), field programmable gate arrays (FPGAs), processors, controllers, microcontrollers, microprocessors, electronic devices, other electronic units designed to perform the functions described in this disclosure, computers, or a combination thereof.
[0173] Accordingly, the various exemplary logic blocks, modules, and circuits described in connection with the present disclosure may be implemented or performed by any combination of general-purpose processors, DSPs, ASICs, FPGAs or other programmable logic devices, discrete gate or transistor logic, discrete hardware components, or those designed to perform the functions described herein. A general-purpose processor may be a microprocessor, but alternatively, the processor may be any conventional processor, controller, microcontroller, or state machine. The processor may also be implemented as a combination of computing devices, for example, a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors coupled with a DSP core, or any other combination of configurations.
[0174] In firmware and / or software implementations, techniques may be implemented as instructions stored on a computer-readable medium such as random access memory (RAM), read-only memory (ROM), non-volatile random access memory (NVRAM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable PROM (EEPROM), flash memory, compact disc (CD), magnetic or optical data storage devices, etc. The instructions may be executable by one or more processors, and the processor(s) may be enabled to perform specific aspects of the functions described in this disclosure.
[0175] When implemented in software, the techniques described above may be stored on a computer-readable medium as one or more instructions or code, or transmitted through a computer-readable medium. Computer-readable media include both computer storage media and communication media, including any medium that facilitates the transmission of a computer program from one place to another. Storage media may be any available media accessible by a computer. As a non-limiting example, such computer-readable media may include RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium accessible by a computer that can be used to transfer or store desired program code in the form of instructions or data structures. Additionally, any connection is appropriately referred to as a computer-readable medium.
[0176] For example, if software is transmitted from a website, server, or other remote source using coaxial cable, fiber optic cable, twisted pair cable, digital subscriber line (DSL), or wireless technologies such as infrared, radio, and microwave, coaxial cable, fiber optic cable, twisted pair cable, digital subscriber line, or wireless technologies such as infrared, radio, and microwave are included within the definition of a medium. As used herein, disk and disc include CD, laser disc, optical disc, DVD (digital versatile disc), floppy disk, and Blu-ray disc, wherein disks usually play data magnetically, whereas discs play data optically using a laser. The above combinations should also be included within the scope of computer-readable media.
[0177] The software module may reside in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, a hard disk, a removable disk, a CD-ROM, or any other known form of storage medium. An exemplary storage medium may be connected to a processor so that the processor can read information from the storage medium or write information to the storage medium. Alternatively, the storage medium may be integrated into the processor. The processor and the storage medium may exist within an ASIC. The ASIC may exist within a user terminal. Alternatively, the processor and the storage medium may exist as separate components within the user terminal.
[0178] Although the embodiments described above have been described as utilizing aspects of the subject matter disclosed herein in one or more standalone computer systems, the present disclosure is not limited thereto and may be implemented in conjunction with any computing environment, such as a network or a distributed computing environment. Furthermore, aspects of the subject matter in the present disclosure may be implemented in a plurality of processing chips or devices, and storage may be similarly affected across a plurality of devices. Such devices may include PCs, network servers, and portable devices.
[0179] Although the present disclosure has been described in relation to some embodiments, various modifications and changes may be made without departing from the scope of the present disclosure as understood by a person skilled in the art to which the invention of the present disclosure pertains. Furthermore, such modifications and changes should be considered to fall within the scope of the claims appended to this specification. Explanation of the symbols
[0180] 100: Computing device 200 : User terminal 300 : External server 400 : Network
Claims
Claim 1 A method performed by a computing device comprises: a step of performing object classification for an object existing within a predetermined space based on a street image corresponding to a predetermined space; a step of obtaining obstacle points from a point cloud corresponding to the street image based on the result of the performed object classification; and a step of performing object recognition for the object based on the obtained obstacle points, wherein the step of performing object classification includes: a step of training a segmentation model; and a step of deriving an object classification result by inputting the street image into the trained segmentation model, wherein the derived object classification result is a result of classifying each of a plurality of pixels included in the street image or each of a plurality of points included in the point cloud corresponding to the street image into one of a plurality of predefined classes, and the step of training the segmentation model includes a step of generating training data in which a training street image generated using a training point cloud is used as input data, and the result of classifying each of a plurality of pixels included in the training street image into one of the plurality of classes is used as correct data. The method includes the step of training the segmentation model using the training data, wherein the step of generating the training data includes the step of generating a training augmented point cloud by adding object points corresponding to one or more objects within the training point cloud;An enhanced object recognition method for controlling an autonomous vehicle, comprising the step of generating augmented learning data in which the result of classifying each of a plurality of pixels included in a training augmented street image generated using the generated training augmented point cloud into one of the plurality of classes is used as ground truth data; the step of training the segmentation model using the training data includes the step of training the trained segmentation model using the generated augmented learning data; the one or more objects include a traffic cone having a cone shape; and the step of generating the training augmented point cloud includes the step of identifying a ground pixel corresponding to the ground among a plurality of pixels included in the training street image; the step of setting a cone region corresponding to the traffic cone within the training point cloud based on the identified ground pixel; and the step of generating the training augmented point cloud by adding at least one traffic cone point within the set cone region based on the direction vector of a pixel corresponding to the set cone region. Claim 2 An enhanced object recognition method for controlling an autonomous vehicle, wherein, in claim 1, the distance image is generated by processing a point cloud obtained through a LiDAR sensor mounted on an autonomous vehicle driving in a predetermined space. Claim 3 delete Claim 4 delete Claim 5 delete Claim 6 delete Claim 7 An enhanced object recognition method for controlling an autonomous vehicle, wherein the step of identifying the ground pixel comprises identifying the specific pixel as a ground pixel when the height of a first point corresponding to a specific pixel among a plurality of pixels included in the training distance image is less than or equal to a reference height, the height difference between the first point and a second point corresponding to a pixel placed at the bottom of the specific pixel or at the closest position to the specific pixel is less than or equal to a reference height difference, and based on the result of the object classification performed, the specific pixel is classified into at least one class related to an object existing on the ground among the plurality of classes. Claim 8 An enhanced object recognition method for controlling an autonomous vehicle, wherein the step of setting the cone region comprises setting a random internal division point between a point corresponding to the identified ground pixel and a point corresponding to a pixel placed at the bottom of the identified ground pixel as the bottom center point, and setting the cone region by arbitrarily setting a radius, height, and axial unit vector within a predefined range. Claim 9 An enhanced object recognition method for controlling an autonomous vehicle, wherein, in claim 1, the step of generating a learning augmented point cloud by adding at least one traffic cone point within the set cone region comprises: a step of calculating an intersection point between a direction vector of a pixel corresponding to the set cone region and the set cone region; and a step of adding a traffic cone point on a coordinate corresponding to the calculated intersection point within the learning point cloud. Claim 10 An enhanced object recognition method for controlling an autonomous vehicle, wherein, in claim 1, the step of generating a learning augmented point cloud by adding at least one traffic cone point within the set cone area comprises adjusting the intensity of the at least one added traffic cone point such that the distribution of the intensity of the at least one added traffic cone point is inversely proportional to the square of the distance and proportional to the cosine value of the surface reflection angle of the set cone, and the intensity of the traffic cone point added to the top of the set cone area has a greater intensity than that of the traffic cone point added to the bottom of the set cone area. Claim 11 An enhanced object recognition method for controlling an autonomous vehicle, wherein, in claim 1, the step of generating a learning augmented point cloud by adding at least one traffic cone point within the set cone area comprises the step of removing a point existing within the set cone area among a plurality of points already included in the learning point cloud from the generated learning augmented point cloud. Claim 12 An enhanced object recognition method for controlling an autonomous vehicle, wherein the step of acquiring obstacle points comprises: removing ground points corresponding to the ground from the point cloud by processing the point cloud; storing points corresponding to obstacles among a plurality of points included in the processed point cloud as obstacle seeds based on the result of the object classification performed; generating a plurality of clusters by clustering the points stored as obstacle seeds; and selecting a cluster corresponding to an obstacle among the generated plurality of clusters and acquiring points included in the selected cluster as obstacle points. Claim 13 An enhanced object recognition method for controlling an autonomous vehicle, wherein, in claim 12, the step of removing ground points comprises removing at least one point classified as a class related to an object existing on the ground among a plurality of points included in the point cloud as ground points, and if the plurality of points included in the point cloud are points obtained through different plurality of channels, the step of removing ground points only from among the points obtained through channels lower than or equal to a reference channel among the plurality of channels. Claim 14 An enhanced object recognition method for controlling an autonomous vehicle, wherein, in claim 12, the processed point cloud includes a first section in which ground points are removed and a second section in which ground points are not removed, and the step of storing as an obstacle seed comprises storing as an obstacle seed at least one first point classified into at least one class related to an obstacle among a plurality of first points included in the first section based on the result of the object classification performed, calculating the slope of a point included in a pixel placed at the bottom of a pixel corresponding to each of the plurality of second points included in the second section, and storing as an obstacle seed at least one second point among the plurality of second points in which the calculated slope is greater than or equal to a reference slope. Claim 15 An enhanced object recognition method for controlling an autonomous vehicle, wherein, in claim 12, the step of storing as an obstacle seed comprises, when a specific point stored as an obstacle seed is a point obtained through channels greater than or equal to a reference channel among a plurality of channels included in the point cloud, additionally storing points included in a predetermined number of columns to the left and right of a column containing the specific point as obstacle seeds. Claim 16 An enhanced object recognition method for controlling an autonomous vehicle, wherein the step of acquiring points included in the selected cluster as obstacle points comprises selecting, among the generated plurality of clusters, a cluster in which the average height of the points is greater than or equal to a reference height and the maximum intensity is greater than or equal to a first value, or a cluster in which the maximum intensity is greater than or equal to a second value greater than or equal to a first value. Claim 17 An enhanced object recognition method for controlling an autonomous vehicle, wherein the method further comprises the step of generating a plurality of cells by dividing the predetermined space into cell units, and generating a Dynamic Occupancy Grid Map (DOGM) by calculating the occupancy probability of each of the generated plurality of cells based on the object recognition results performed. Claim 18 An enhanced object recognition method for controlling an autonomous vehicle, wherein the step of generating the dynamic occupancy grid map comprises: a step of determining whether an obstacle corresponding to the acquired obstacle point is a static obstacle or a dynamic obstacle by comparing the number of points classified as a class corresponding to a static object among the acquired obstacle points with the number of points classified as a class corresponding to a dynamic object; and a step of assigning weights to the acquired obstacle points based on the result of determining whether it is a static obstacle or a dynamic obstacle, and calculating the occupancy probability of each of the generated plurality of cells using the obstacle points to which the weights are assigned. Claim 19 A computing device comprising: a processor; a network interface; a memory; and a computer program loaded into the memory and executed by the processor, wherein the processor performs the method of claim 1 by executing one or more instructions included in the computer program. Claim 20 A computer program that is combined with a computing device and stored on a non-transient recording medium readable by the computing device to execute the method of claim 1.
Citation Information
Patent Citations
Processing method of a 3D point cloud
US20190086546A1
System and method for three-dimensional (3D) object detection
US20200082180A1
Three-dimensional object detection with ground removal intelligence
US20220404503A1
