Method for matching point clouds related to three-dimensional space and server therefor
By using regression models to align point clouds from multiple sensing devices, the method addresses alignment inaccuracies, ensuring precise and consistent monitoring of large three-dimensional spaces.
Patent Information
- Application Number
- JP2024512022
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2021-08-26
- Filing Date
- 2022-08-18
- Publication Date
- 2025-09-25
- Estimated Expiration
- 2042-08-18
AI Technical Summary
Existing methods struggle to accurately align point clouds from multiple sensing devices in a three-dimensional space, leading to inaccuracies in monitoring large areas.
A method involving the acquisition of reference points from overlapping portions of point clouds using regression models to minimize alignment errors, allowing for precise alignment of point clouds from adjacent sensing devices.
Ensures accurate alignment of point clouds, providing high-quality services by ensuring consistency across the three-dimensional space monitored by multiple sensing devices.
Smart Images

Figure 0007744062000001 
Figure 0007744062000002 
Figure 0007744062000003
Abstract
Description
[Technical Field]
[0001] The present invention relates to a method for matching point clouds in a three-dimensional space and a server therefor. [Background technology]
[0002] LiDAR (light detection and ranging) is a technology that emits light to an object in a three-dimensional space, receives the reflected light, and obtains information about the three-dimensional space from it. With the technological advancement of sensing devices such as LiDAR, advanced control functions that incorporate sensing device technology have recently been utilized in various industrial technology fields.
[0003] Since there is a physical limit to the sensing area that one sensing device can sense, multiple sensing devices must be appropriately arranged for a large space. Based on the data received from the multiple sensing devices, information related to a large space can be obtained. Summary of the Invention [Problem to be solved by the invention]
[0004] The present invention relates to a method and server for accurately matching point clouds related to a three-dimensional space acquired from multiple sensing devices. [Means for solving the problem]
[0005] According to a first aspect, a method for matching point clouds relating to a three-dimensional space includes the steps of: acquiring a point cloud relating to a three-dimensional space from a plurality of sensing devices; acquiring first reference points belonging to the first point cloud from an overlapping portion of a first point cloud and a second point cloud corresponding to a predetermined reference plane, the first point cloud and the second point cloud being acquired from adjacent sensing devices among the plurality of sensing devices; acquiring second reference points corresponding to the acquired first reference points from the second point cloud adjacent to the first point cloud; and matching the first point cloud and the second point cloud so that an error between a first regression model formed on the acquired first reference points and a second regression model formed on the acquired second reference points is minimized.
[0006] A computer-readable recording medium according to a second aspect stores a program to be executed by a computer, the program including: an instruction to acquire a point cloud relating to a three-dimensional space from a plurality of sensing devices; an instruction to acquire first reference points belonging to the first point cloud from an overlapping portion of a first point cloud and a second point cloud corresponding to a predetermined reference plane, the first point cloud and the second point cloud being acquired from adjacent sensing devices among the plurality of sensing devices; an instruction to acquire second reference points corresponding to the acquired first reference points from the second point cloud adjacent to the first point cloud; and an instruction to align the first point cloud and the second point cloud so that an error between a first regression model formed at the acquired first reference points and a second regression model formed at the acquired second reference points is minimized.
[0007] According to a third aspect, a server for matching point clouds related to a three-dimensional space includes a communication interface for acquiring point clouds related to a three-dimensional space from a plurality of sensing devices, a memory for storing one or more commands, and a processor for executing the one or more commands to acquire first reference points belonging to the first point cloud from an overlapping portion of a first point cloud and a second point cloud corresponding to a predetermined reference plane acquired from each of adjacent sensing devices among the plurality of sensing devices, acquire second reference points corresponding to the acquired first reference points from the second point cloud adjacent to the first point cloud, and match the first point cloud and the second point cloud so that an error between a first regression model formed at the acquired first reference points and a second regression model formed at the acquired second reference points is minimized. [Brief explanation of the drawings]
[0008] [Figure 1] FIG. 10 is a diagram illustrating a server connected to a plurality of sensing devices. [Figure 2] 1A and 1B are diagrams for explaining the configuration and operation of a sensing device. [Figure 3] FIG. 2 is a diagram illustrating the configuration and operation of a server. [Figure 4] 10A and 10B are diagrams illustrating sensing areas and overlapping areas of adjacent sensing devices; [Figure 5] 10 is a diagram illustrating an overlapping portion of a first point cloud and a second point cloud corresponding to a predetermined reference plane, which are acquired from adjacent sensing devices, respectively. FIG. [Figure 6] 10 is a diagram for explaining an error that occurs in a portion where the first point group and the second point group are superimposed. FIG. [Figure 7] FIG. 10 is a diagram showing a state in which a first point group and a second point group corresponding to a predetermined reference plane are aligned based on a predetermined viewpoint. [Figure 8] FIG. 10 is a diagram for explaining a process of acquiring a first reference point belonging to the first point cloud from an overlapping portion of the first point cloud and the second point cloud. [Figure 9]FIG. 10 is a diagram for explaining a process of acquiring a second reference point corresponding to a first reference point. [Figure 10] 10A and 10B are diagrams for explaining an example of a process for aligning a first plane formed at a first reference point with a second plane formed at a second reference point. [Figure 11] FIG. 10 is a diagram for explaining the result of minimizing errors occurring in the overlapping portion of the first point group and the second point group. [Figure 12] 1 is a flowchart illustrating a method for matching point clouds related to a three-dimensional space according to an embodiment. DETAILED DESCRIPTION OF THE INVENTION
[0009] In the following, various embodiments will be described in detail with reference to the drawings. In order to more clearly describe the features of the present embodiments, detailed descriptions of matters that are well known to those skilled in the art to which the present embodiments pertain will be omitted.
[0010] In this specification, when a certain component is "connected" to another component, this includes not only the case where the component is "directly connected" but also the case where the component is "connected via another component in between." Furthermore, when a certain component is described as "including" another component, this does not mean that the other component is excluded, but that the component may further include the other component, unless otherwise specified.
[0011] Additionally, terms including ordinal numbers, such as "first" or "second," may be used in this specification to describe various components, but the components are not limited by the terms. The terms are used only to distinguish one component from another.
[0012] This embodiment relates to a method for matching point clouds related to a three-dimensional space and a server therefor, and detailed description of matters that are widely known to those skilled in the art to which the following embodiments belong will be omitted.
[0013] FIG. 1 is a diagram illustrating a server 200 connected to a plurality of sensing devices 100. As shown in FIG.
[0014] The sensing device 100 is a device capable of acquiring point cloud data as spatial information related to a three-dimensional space and may include at least one sensor. The sensing device 100 may emit light into a three-dimensional space and acquire the point cloud related to the three-dimensional space based on light received in response thereto.
[0015] The sensing device 100 may be installed indoors or outdoors where it can sense a three-dimensional space. To monitor a wide area, a plurality of sensing devices 100 may be installed in consideration of a sensing area that is determined by the range that the sensors of the sensing device 100 can sense. For example, the plurality of sensing devices 100 may be installed at regular intervals.
[0016] The sensing device 100 may include a LiDAR (light detection and ranging) sensor as a 3D sensor that senses a three-dimensional space and acquire volumetric point cloud data. The sensing device 100 may further include various types of sensors, such as a radar sensor, an infrared image sensor, and a camera, as needed. The sensing device 100 may use multiple sensors of the same type or a combination of different types of sensors, taking into consideration the sensing range of each sensor and the type of data that can be acquired.
[0017] The server 200 may be connected to a plurality of sensing devices 100. The server 200 may acquire a point cloud relating to a three-dimensional space from the plurality of sensing devices 100. The server 200 may provide a predetermined service by utilizing the acquired point cloud relating to the three-dimensional space. A user may connect to the server 200 using a user terminal 300 and receive a predetermined service provided by the server 200.
[0018] For this reason, it is important for the server 200 to create a single, consistent sensing result for the entire three-dimensional space from the point clouds relating to the three-dimensional space received from each of the multiple sensing devices 100. For example, when one person passes through an area sensed simultaneously by multiple sensing devices 100, if the point clouds relating to the three-dimensional space received from the multiple sensing devices 100 are not accurately aligned, a problem may occur in which one person may be recognized as several people. A method for accurately aligning point clouds relating to the three-dimensional space acquired from the multiple sensing devices 100 will now be described.
[0019] FIG. 2 is a diagram for explaining the configuration and operation of the sensing device 100. As shown in FIG.
[0020] 2, the sensing device 100 according to an embodiment may include a memory 110, a processor 120, a sensor unit 130, and a communication interface 140. A person skilled in the art will recognize that the sensing device 100 may further include other general components in addition to the components shown in FIG.
[0021] The memory 110 may store software and / or programs, and may store instructions that are executable by the processor 120.
[0022] The processor 120 may access and use data stored in the memory 110 or store new data in the memory 110. The processor 120 may execute instructions stored in the memory 110. The processor 120 may execute computer programs installed in the sensing device 100. The processor 120 may also store and execute computer programs or applications received from the outside in the memory 110. The processor 120 may execute at least one processing module to perform a predetermined operation. For example, the processor 120 may execute or control a processing module that executes a program that senses three-dimensional space. The processor 120 may control other components included in the sensing device 100 to perform an operation corresponding to a result of execution of instructions or computer programs, etc.
[0023] The sensor unit 130 may include at least one sensor for sensing a three-dimensional space. The sensor unit 130 may include a light-emitting unit that emits light into the three-dimensional space and a light-receiving unit that receives the light, and may further include a dedicated processor that acquires a point cloud related to the three-dimensional space based on the intensity of the light received by the light-receiving unit. The sensor unit 130 may acquire a time-dependent point cloud related to the three-dimensional space to track an object located in the three-dimensional space within the sensing area. The sensor unit 130 may be a LiDAR sensor, or may include a three-dimensional LiDAR sensor to acquire data related to a predetermined range of space. The sensor unit 130 may further include various types of sensors, such as a radar sensor, an infrared imaging sensor, an ultrasonic sensor, or an image sensor, depending on the environment.
[0024] The communication interface 140 may perform wired or wireless communication with other devices or networks. To this end, the communication interface 140 may include a communication module supporting at least one of various wired or wireless communication methods. For example, the communication interface 140 may include a communication module for short-range communication such as radio frequency identification (RFID), near-field communication (NFC), or Bluetooth®; various types of wireless communication; or wired communication using a coaxial cable or an optical cable. The communication interface 140 may be connected to a device located outside the sensing device 100 and transmit or receive signals or data. The sensing device 100 may communicate with a server 200 via the communication interface 140. For example, the sensing device 100 may be connected to an external server 200 that provides a predetermined service using a point cloud related to a three-dimensional space via the communication interface 140.
[0025] In addition to the above-mentioned configuration, the sensing device 100 may further include a location sensor such as a global positioning system (GPS), and may further include configurations for improving sensing performance depending on the installation environment of the sensing device 100.
[0026] The processor 120 according to the above-described configuration, for example, executes one or more commands stored in the memory 110 to operate the sensor unit 130, acquire a point cloud relating to a three-dimensional space, and transmit the point cloud relating to the three-dimensional space to the server 200 via the communication interface 140. The sensing device 100 may transmit information capable of identifying the sensing device 100 together with the point cloud relating to the three-dimensional space.
[0027] FIG. 3 is a diagram for explaining the configuration and operation of the server 200. As shown in FIG.
[0028] The server 200 may detect an object in a three-dimensional space based on a point cloud related to the three-dimensional space and perform a series of processes for monitoring the three-dimensional space. To this end, the server 200 may receive point clouds related to the three-dimensional space acquired by each of the sensing devices 100 from the plurality of sensing devices 100 and perform a process for aligning the point clouds related to the three-dimensional space according to the present disclosure. The server 200 may be implemented using technology such as cloud computing. The server 200 may perform high-speed data communication with the sensing devices 100. The server 200 is not limited to the name and may be substituted by a computer device, an operator, a console device, etc.
[0029] 3, the server 200 may include a memory 210, a processor 220, a communication interface 230, and a user interface device 240. A person skilled in the art will recognize that the server 200 may further include other general components in addition to the components shown in FIG.
[0030] 3 may be separated, added, or omitted depending on the implementation of server 200. That is, depending on the implementation, one component may be divided into two or more components, or two or more components may be combined into one component, and some components may be added or removed. Server 200 may be configured as multiple physically separated devices or may be integrated into one.
[0031] The memory 210 may store instructions that are executable by the processor 220. The memory 210 may store software or programs.
[0032] The processor 220 may execute commands stored in the memory 210. The processor 220 may perform overall control of the server 200. The processor 220 may acquire information and requests received via the communication interface 230 and store the received information in a storage (not shown). The processor 220 may also process the received information. For example, the processor 220 may acquire information used to provide a predetermined service by utilizing point cloud information related to a three-dimensional space received from the sensing device 100.
[0033] In addition, the processor 220 can use data or information stored in a storage (not shown) in response to a request obtained from the administrator's terminal and transmit information corresponding to the request to the administrator's terminal via the communication interface 230.
[0034] The communication interface 230 may perform wired or wireless communication with other devices or a network. The communication interface 230 may be connected to a device located outside the server 200 to transmit and receive signals or data. The server 200 may communicate with the sensing device 100 via the communication interface 230 or may be connected to another server connected to a network.
[0035] The user interface device 240 may include an input unit that receives input from a user and an output unit that provides information. The input unit may receive various types of input from a user. The output unit may include a display panel and a controller that controls the display panel, and may be implemented in various ways, such as a liquid crystal display (LCD), an organic light-emitting diode (OLED) display, an active-matrix organic light-emitting diode (AM-OLED), or a plasma display panel (PDP).
[0036] 3, the user interface device 240 may be included in the server 200, but is not limited thereto. A service provider or administrator providing a service through the server 200 may connect to the server 200 using a separate terminal and transmit input to the server 200 or receive output from the server 200 via the terminal.
[0037] The storage (not shown) may store various software and information required for the server 200 to control devices and provide predetermined services. For example, the storage (not shown) may store programs, applications, and various data or information used for predetermined services executed by the server 200.
[0038] With the above configuration, the server 200 may acquire a point cloud relating to a three-dimensional space from the sensing device 100 via the communication interface 230. The server 200 may acquire point clouds relating to a three-dimensional space from a plurality of sensing devices 100. The server 200 may receive identification information from each sensing device 100 or generate identification information corresponding to each sensing device 100 to distinguish the point clouds relating to the three-dimensional space acquired from each sensing device 100, and may associate the acquired point clouds relating to the three-dimensional space and store them within the server 200. The server 200 may also have a lookup table that stores the identification information of the sensing devices 100 in association with the positions of the sensing devices 100. The server 200 may identify adjacent sensing devices using the identification information of the sensing devices 100.
[0039] FIG. 4 is a diagram illustrating the sensing areas and overlapping areas of adjacent sensing devices.
[0040] As shown in FIG. 4, the first sensing device 100-A may acquire a point cloud related to a three-dimensional space within a first sensing area, and the second sensing device 100-B may acquire a point cloud related to a three-dimensional space within a second sensing area. The first sensing device 100-A and the second sensing device 100-B may have a predetermined field of view angle and a detection limit distance depending on the type of sensor, thereby defining a sensing area in which an object in the three-dimensional space can be detected. The first sensing device 100-A and the second sensing device 100-B may be used to monitor objects within the first sensing area and the second sensing area, respectively.
[0041] When the first sensing device 100-A and the second sensing device 100-B are located adjacent to each other, an overlapping area may exist between the first sensing area corresponding to the first sensing device 100-A and the second sensing area corresponding to the second sensing device 100-B. In order to monitor the entire space to be monitored without omissions, adjacent sensing devices 100 must be installed at positions that create an overlapping area between their sensing areas.
[0042] The first sensing device 100-A may transmit a point cloud relating to a three-dimensional space within a first sensing area to the server 200. The second sensing device 100-B may transmit a point cloud relating to a three-dimensional space within a second sensing area to the server 200. The server 200 may acquire a point cloud relating to a three-dimensional space from each of the first sensing device 100-A and the second sensing device 100-B, which are adjacent to each other.
[0043] FIG. 5 is a diagram illustrating an overlapping portion of a first point cloud and a second point cloud corresponding to a predetermined reference plane, which are acquired from adjacent sensing devices.
[0044] The server 200 can align point clouds related to a three-dimensional space acquired from adjacent sensing devices based on the positions of the sensing devices 100 and the general shapes of the point clouds. Referring to Figure 5, the server 200 shows alignment of a first point cloud and a second point cloud corresponding to a predetermined reference plane acquired through adjacent sensing devices. When the aligned two point clouds are viewed from a viewpoint perpendicular to the predetermined reference plane, overlapping portions between the two point clouds can be confirmed in the overlapping region, and there appears to be no problem with the alignment between the two point clouds.
[0045] FIG. 6 is a diagram for explaining an error that occurs in the overlapping portion of the first point group and the second point group.
[0046] Referring to Figure 6, the two aligned point clouds confirmed in Figure 5 are viewed from a side view of a predetermined reference plane. When the two aligned point clouds are viewed from a side view of a predetermined reference plane, it is clear that there is an error between the two aligned point clouds. When the overlapping portion of the first point cloud and the second point cloud is viewed, the corresponding point clouds should show consistency. However, as shown in Figure 6, it can be seen that the two corresponding point clouds are not precisely aligned between the first point cloud and the second point cloud, and a gap exists between the two point clouds.
[0047] If a separation between point clouds corresponding to a predetermined reference plane is found to be greater than a predetermined standard in an overlapping portion of two point clouds acquired from adjacent sensing devices, the matching of point clouds in a three-dimensional space will be inaccurate. If the matching of point clouds in a three-dimensional space is inaccurate, services utilizing the matching will also be inaccurate and cannot be provided to users. Below, a method for matching point clouds in a three-dimensional space to solve this problem will be described in detail.
[0048] 3, the processor 220 according to the above-described embodiment may execute one or more commands stored in the memory 210 to acquire a first point cloud and a second point cloud corresponding to a predetermined reference plane from adjacent sensing devices among the plurality of sensing devices 100. For example, the processor 220 may acquire the first point cloud and the second point cloud corresponding to the predetermined reference plane by extracting point clouds corresponding to the predetermined reference plane from point clouds relating to a three-dimensional space received from the adjacent sensing devices. As another example, the processor 220 may receive the first point cloud and the second point cloud corresponding to the predetermined reference plane from the adjacent sensing devices.
[0049] The predetermined reference plane may be the ground, but is not limited to this. In the case of an indoor space, the predetermined reference plane may be the floor of the space in which the sensing device 100 is installed. The predetermined reference plane may be a plane, but does not necessarily have to be a plane. For convenience of explanation, the following description will be given assuming that the predetermined reference plane is the ground.
[0050] The processor 220 may classify points corresponding to the ground by applying an object classification model to the point cloud related to the 3D space or by clustering the point cloud related to the 3D space. The processor 220 may first classify points corresponding to the ground from the point cloud related to the 3D space and classify the remaining point clouds into point clouds corresponding to at least one object. The processor 220 may apply fitting based on a stochastic model to obtain a ground estimation model. The processor 220 may learn the ground shape in real time and classify the point cloud related to the 3D space as whether it corresponds to the ground.
[0051] The processor 220 may align the first and second point clouds corresponding to a predetermined reference plane based on a predetermined viewpoint and confirm the overlapping portions of the aligned first and second point clouds.
[0052] FIG. 7 is a diagram showing a state in which a first point group and a second point group corresponding to a predetermined reference plane are aligned based on a predetermined viewpoint.
[0053] The processor 220 may fix one of the two matching point clouds and appropriately position the remaining point clouds to align the two point clouds. For example, the processor 220 may fix the first point cloud and translate or rotate the second point cloud from a top view point, thereby positioning the second point cloud in alignment with the fixed first point cloud until the overlapping portion reaches a predetermined standard or greater.
[0054] Such operations may be performed automatically by the processor 220 or by user input. For example, a service provider or administrator may execute a computer program or application for matching point clouds related to a three-dimensional space, and display a first point cloud and a second point cloud corresponding to a predetermined reference plane on a user interface screen, as shown in FIG. 7. Matching point clouds may be added to or deleted from the point cloud list via a menu in the user interface screen. The service provider or administrator may fix one of the point clouds and move or rotate the remaining point clouds from a top-view perspective to align the remaining point clouds with the fixed point cloud.
[0055] However, if two point clouds are aligned based on a predetermined viewpoint, the two point clouds will not be correctly aligned when viewed from another viewpoint, as previously described with reference to Figure 6. To solve this, the following process can be added to accurately align point clouds in a three-dimensional space by generating a regression model formed at a predetermined reference point for each point cloud and performing fine adjustment to align the regression models.
[0056] 3, the processor 220 may obtain first reference points belonging to the first point cloud from an overlapping portion of the first point cloud and the second point cloud corresponding to a predetermined reference plane, in order to generate a first regression model including the first reference points in the first point cloud.
[0057] FIG. 8 is a diagram for explaining a process of acquiring a first reference point belonging to the first point cloud from the overlapping portion of the first point cloud and the second point cloud.
[0058] Processor 220 may select first reference points belonging to the first point cloud from among several points in the overlapping portion of the aligned first and second point clouds. For example, processor 220 may select at least three points belonging to the first point cloud from among several points in the overlapping portion as first reference points.
[0059] Such an operation may be performed automatically by the processor 220 or may be performed by user input. For example, a service provider or administrator may select at least three points belonging to the first point cloud as first reference points Point A, Point B, and Point C from among several points in the overlapping portion of the first point cloud and the second point cloud, as shown in FIG. 8, through a computer program or application that aligns point clouds in a three-dimensional space.
[0060] Once the first reference point is determined, the processor 220 may determine a first regression model formed at the first reference point. The regression model is generated through regression using the reference point and may be expressed by a predetermined equation or metafunction form. For example, the first regression model may be a plane formed at the first reference point and may be expressed by an equation of the plane. That is, the processor 220 may identify the first regression model and generate a mathematical formula that defines the first regression model.
[0061] Referring again to FIG. 3, processor 220 may acquire second reference points corresponding to the acquired first reference points from a second point cloud adjacent to the first point cloud, in order to generate a second regression model including the second reference points in the second point cloud.
[0062] FIG. 9 is a diagram for explaining a process of obtaining a second reference point corresponding to a first reference point.
[0063] The processor 220 may select second reference points belonging to the second point cloud from among several points in an overlapping portion of the aligned first point cloud and second point cloud. For example, as shown in FIG. 9 , the processor 220 may acquire several points in the overlapping portion that are closest to the already acquired first reference points as second reference points Point 1, Point 2, and Point 3. The processor 220 may provide the results of selecting the second reference points Point 1, Point 2, and Point 3 from the second point cloud to a service provider or administrator via a user interface screen.
[0064] Such an operation may be performed automatically by processor 220 or by user input. For example, a service provider or administrator may select, as second reference points, at least three points belonging to the second point cloud from among several points in the overlapping portion of the first point cloud and the second point cloud via a computer program or application that aligns point clouds in three-dimensional space. To help the service provider or administrator select the second reference points appropriately, processor 220 may recommend to the service provider or administrator, via a user interface screen, several points in the second point cloud that are suitable as second reference points.
[0065] Once the second reference point is determined, the processor 220 may determine a second regression model formed at the second reference point. For example, the second regression model may be a plane formed at the second reference point and may be expressed by an equation of the plane. That is, the processor 220 may identify the second regression model and generate a mathematical formula that defines the second regression model.
[0066] The regression model is not limited to a planar form, and for the sake of convenience, the following description will be given taking the planar case as an example.
[0067] 3, processor 220 may align the first and second point clouds so as to minimize an error between a first regression model formed at the acquired first reference points and a second regression model formed at the acquired second reference points. To this end, processor 220 may move the second regression model toward the first regression model to find a position where the error between the first and second regression models is minimized.
[0068] For example, processor 220 may align the first and second point clouds based on a transformation matrix used to move the second plane to a position where a loss function corresponding to the sum of the distances between the points included in the first plane, which is the first regression model, and the corresponding points included in the second plane, which is the second regression model, is minimized.
[0069] In another example, the processor 220 may align the first and second point clouds based on a transformation matrix that moves a normal vector at at least one coordinate of the second plane, which is the second regression model, to a position that coincides with the normal vector at the corresponding coordinate of the first plane, which is the first regression model.
[0070] FIG. 10 is a diagram for explaining an example of a process for aligning a first plane formed at a first reference point with a second plane formed at a second reference point.
[0071] The processor 220 may calculate predetermined coordinates and normal vectors at the coordinates for a first plane, which is a first regression model formed on a first reference point belonging to a first point group, and a second plane, which is a second regression model formed on a second reference point belonging to a second point group. The predetermined coordinates may be coordinates of the center of gravity and may be greater than or equal to 1.
[0072] The processor 220 may align the first and second clouds of points based on a transformation matrix used to move a normal vector at a given coordinate in the second plane to a position that coincides with the normal vector at the corresponding coordinate in the first plane.
[0073] FIG. 11 is a diagram for explaining the result of minimizing the error occurring in the overlapping portion of the first point group and the second point group.
[0074] By aligning the first plane formed on the first reference points belonging to the first point cloud and the second plane formed on the second reference points belonging to the second point cloud in the above-described manner, the first point cloud and the second point cloud can be accurately aligned. By accurately aligning the first point cloud and the second point cloud corresponding to a predetermined reference plane, the entire point clouds related to the three-dimensional space acquired from adjacent sensing devices can be accurately aligned.
[0075] As shown in Figure 11, when the first and second point clouds corresponding to a predetermined reference plane on which the first and second planes are aligned are viewed from a side view of the predetermined reference plane, it can be seen that the error between the first and second point clouds is minimized. When the overlapping portion of the first and second point clouds is viewed, it can be seen that there is consistency between the corresponding point clouds. If the alignment of point clouds related to three-dimensional space is accurate, services utilizing the alignment will be accurate, and high-quality services can be provided to users.
[0076] 12 is a flowchart illustrating a method for matching point clouds related to a three-dimensional space according to an embodiment. Although omitted below, the above description of the server 200 may be applied to the method for matching point clouds related to a three-dimensional space.
[0077] In step 1210, the server 200 acquires point clouds relating to a three-dimensional space from a plurality of sensing devices 100.
[0078] In step 1220, the server 200 acquires a first reference point belonging to the first point group from an overlapping portion of the first point group and the second point group corresponding to a predetermined reference plane acquired from each of the adjacent sensing devices among the plurality of sensing devices 100.
[0079] First, the server 200 can align the first point cloud and the second point cloud based on a predetermined viewpoint. The server 200 fixes the first point cloud and moves or rotates the second point cloud from a predetermined viewpoint, for example, a top-view viewpoint, thereby aligning the second point cloud with the fixed first point cloud until the overlapping portion reaches a predetermined standard or greater.
[0080] Next, the server 200 may select first reference points belonging to the first point group from among several points in the overlapping portion of the aligned first point group and second point group. In this case, the server 200 may select at least three points belonging to the first point group from among several points in the overlapping portion as the first reference points.
[0081] In operation 1230, the server 200 acquires second reference points corresponding to the previously acquired first reference points from a second point group adjacent to the first point group. The server 200 may acquire, as the second reference points, some points closest to each of the acquired first reference points from some points in the overlapping portion.
[0082] In step 1240, the server 200 aligns the first point group and the second point group so that an error between a first regression model formed on the acquired first reference points and a second regression model formed on the acquired second reference points is minimized.
[0083] For example, the server 200 may align the first and second point clouds based on a transformation matrix used to move the second regression model to a position where a loss function corresponding to the sum of the distances between the points included in the first regression model and the corresponding points included in the second regression model is minimized.
[0084] In another example, the server 200 may align the first and second point clouds based on a transformation matrix used to move a normal vector at a given coordinate of the second regression model to a position that matches the normal vector at the corresponding coordinate of the first regression model.
[0085] By accurately matching the first and second point clouds corresponding to a predetermined reference plane, the entire point clouds relating to the three-dimensional space acquired from adjacent sensing devices can be accurately matched.
[0086] Each of the above-described embodiments may be provided in the form of a computer program or application stored on a medium for causing at least one processor of the server 200 to execute predetermined steps of the method for matching point clouds in a three-dimensional space. In other words, each of the above-described embodiments may be provided in the form of a computer program or application stored on a medium for causing at least one processor of the server 200 to execute predetermined steps of the method for matching point clouds in a three-dimensional space.
[0087] The above-described embodiments may be implemented in the form of a computer-readable recording medium storing instructions and data executable by a computer or processor, where at least one of the instructions and data may be stored in the form of program code, which, when executed by a processor, may generate a predetermined program module and perform a predetermined operation. Such computer-readable recording media may be read-only memory (ROM), random access memory (RAM), flash memory, CD-ROMs, CD-Rs, CD+Rs, CD-RWs, CD+RWs, DVD-ROMs, DVD-Rs, DVD+Rs, DVD-RWs, DVD+RWs, DVD-RAMs, BD-ROMs, BD-Rs, BD-RLTHs, BD-REs, magnetic tape, floppy disks, magneto-optical data storage devices, optical data storage devices, hard disks, solid state drives (SSDs), and any device that can store instructions or software, associated data, data files, and data structures and provide instructions or software, associated data, data files, and data structures to a processor or computer so that the processor or computer can execute the instructions.
[0088] The above description has focused on the present embodiment. Those skilled in the art will understand that the disclosed embodiment may be embodied in modified forms without departing from its essential characteristics. Therefore, the disclosed embodiment should be considered from an illustrative rather than a restrictive perspective. The scope of the invention is defined by the claims, not the above description of the embodiments, and all differences within the range of equivalents thereof should be construed as being within the scope of the invention.
Claims
1. A method of detecting a point cloud in a three-dimensional space from a plurality of sensing devices disposed at positions that cause overlapping areas between sensing areas; Identifying neighboring sensing devices based on a lookup table in which the identification information and the location of each sensing device are stored in correspondence with each other; acquiring first reference points belonging to the first point cloud from an overlapping portion of a first point cloud and a second point cloud corresponding to a predetermined reference plane, the first point cloud and the second point cloud being acquired from adjacent sensing devices among the plurality of sensing devices; obtaining a second reference point corresponding to the obtained first reference point from the second point group adjacent to the first point group; aligning the first point cloud and the second point cloud so that an error between a first regression model formed on the acquired first reference points and a second regression model formed on the acquired second reference points is minimized, The regression model is a model expressed by an equation of a plane generated through regression using a reference point, The matching step comprises: aligning the first and second point clouds based on a transformation matrix used to move the second regression model to a position that minimizes a loss function corresponding to the sum of distances between points included in the first regression model and corresponding points included in the second regression model; or aligning the first and second point clouds based on a transformation matrix used to move a normal vector at a given coordinate of the second regression model to a position that coincides with a normal vector at a corresponding coordinate of the first regression model; A method for matching point clouds in three-dimensional space.
2. The step of acquiring the first reference point comprises: aligning the first point cloud and the second point cloud based on a predetermined viewpoint; and selecting the first reference point belonging to the first point cloud from among points in the overlapping portion of the aligned first and second point clouds.
3. The aligning step includes:
3. The method of claim 2, further comprising fixing the first point cloud and aligning the second point cloud with the fixed first point cloud by moving or rotating the second point cloud from a top-view perspective.
4. The step of selecting the first reference point comprises: The method according to claim 2 , wherein at least three points belonging to the first point group are selected as the first reference points from among several points in the overlapped portion.
5. The step of acquiring the second reference point comprises: The method according to claim 1 , further comprising acquiring, as second reference points, some points in the overlapped portion that are closest to each of the acquired first reference points.
6. A command to acquire a point cloud relating to a three-dimensional space from a plurality of sensing devices provided at positions that generate overlapping areas between sensing areas; a command for identifying adjacent sensing devices based on a lookup table in which the identification information and the location of each sensing device are stored in correspondence with each other; a command to acquire a first reference point belonging to the first point cloud from an overlapping portion of a first point cloud and a second point cloud corresponding to a predetermined reference plane, the first point cloud and the second point cloud being acquired from adjacent sensing devices among the plurality of sensing devices; a command to acquire a second reference point corresponding to the acquired first reference point from the second point group adjacent to the first point group; a computer-readable recording medium storing a program to be executed by a computer, the program including instructions for aligning the first point cloud and the second point cloud so that an error between a first regression model formed on the acquired first reference points and a second regression model formed on the acquired second reference points is minimized; The regression model is a model expressed by an equation of a plane generated through regression using a reference point, Furthermore, by executing one or more instructions, aligning the first and second point clouds based on a transformation matrix used to move the second regression model to a position that minimizes a loss function corresponding to the sum of distances between points included in the first regression model and corresponding points included in the second regression model; or aligning the first and second point clouds based on a transformation matrix used to move a normal vector at a given coordinate of the second regression model to a position that coincides with a normal vector at a corresponding coordinate of the first regression model; A computer-readable recording medium.
7. A communication interface that acquires a point cloud relating to a three-dimensional space from a plurality of sensing devices installed at positions that generate overlapping areas between sensing areas; a memory for storing one or more instruction words; a processor that executes the one or more commands to identify adjacent sensing devices based on a lookup table in which identification information and positions of each sensing device are stored in correspondence with each other, acquire first reference points belonging to the first point cloud from an overlapping portion of a first point cloud and a second point cloud corresponding to a predetermined reference plane acquired from each of the adjacent sensing devices among the plurality of sensing devices, acquire second reference points corresponding to the acquired first reference points from the second point cloud adjacent to the first point cloud, and align the first point cloud and the second point cloud so that an error between a first regression model formed at the acquired first reference points and a second regression model formed at the acquired second reference points is minimized, The regression model is a model expressed by an equation of a plane generated through regression using a reference point, The processor executes the one or more instructions to: aligning the first and second point clouds based on a transformation matrix used to move the second regression model to a position that minimizes a loss function corresponding to the sum of distances between points included in the first regression model and corresponding points included in the second regression model; or a server for aligning point clouds in a three-dimensional space, aligning the first point cloud with the second point cloud based on a transformation matrix used to move a normal vector at a predetermined coordinate of the second regression model to a position that coincides with a normal vector at a corresponding coordinate of the first regression model.
8. The processor executes the one or more instructions to: The server according to claim 7, further comprising: aligning the first point cloud and the second point cloud based on a predetermined viewpoint; and selecting the first reference point belonging to the first point cloud from among several points in the overlapping portion of the aligned first point cloud and second point cloud.
9. The processor executes the one or more instructions to:
9. The server according to claim 8, wherein the second point cloud is aligned with the fixed first point cloud by fixing the first point cloud and moving or rotating the second point cloud from a top view viewpoint.
10. The processor executes the one or more instructions to: The server according to claim 8 , wherein among several points in the overlapped portion, several points nearest to each of the acquired first reference points are acquired as second reference points.
11. The processor executes the one or more instructions to: The server according to claim 7 , wherein among several points in the overlapped portion, several points nearest to each of the acquired first reference points are acquired as second reference points.
12. The server according to claim 7 , wherein the predetermined reference plane is the ground surface of the three-dimensional space.
Citation Information
Patent Citations
Three-dimensional data processing apparatus, three-dimensional data processing system, three-dimensional data processing method, and program
JP2016186488A
Image processing method based on iterative closest point (ICP) technique
KR1020190073244A
Multi-Task Multi-Sensor Fusion for Three-Dimensional Object Detection
US20200160559A1
Three-dimensional shape data aligning method and device
WO2007069724A1