WO2024150322A1 - Point group processing device, point group processing method, and point group processing program - Google Patents
Point group processing device, point group processing method, and point group processing program Download PDFInfo
- Publication number
- WO2024150322A1 WO2024150322A1 PCT/JP2023/000446 JP2023000446W WO2024150322A1 WO 2024150322 A1 WO2024150322 A1 WO 2024150322A1 JP 2023000446 W JP2023000446 W JP 2023000446W WO 2024150322 A1 WO2024150322 A1 WO 2024150322A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- point cloud
- foreground
- unit
- dimensional
- measured
- Prior art date
Links
- 238000012545 processing Methods 0.000 title claims abstract description 106
- 238000003672 processing method Methods 0.000 title description 5
- 230000010354 integration Effects 0.000 claims abstract description 49
- 238000000605 extraction Methods 0.000 claims abstract description 35
- 239000000284 extract Substances 0.000 claims abstract description 19
- 238000005259 measurement Methods 0.000 claims description 63
- 238000004040 coloring Methods 0.000 claims description 31
- 238000003384 imaging method Methods 0.000 claims description 12
- 238000000034 method Methods 0.000 description 18
- 238000003860 storage Methods 0.000 description 16
- 238000010586 diagram Methods 0.000 description 15
- 230000008569 process Effects 0.000 description 12
- 238000005516 engineering process Methods 0.000 description 9
- 238000000280 densification Methods 0.000 description 6
- 238000006243 chemical reaction Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 5
- 239000011159 matrix material Substances 0.000 description 5
- 238000013519 translation Methods 0.000 description 5
- 230000009471 action Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000001514 detection method Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 206010052143 Ocular discomfort Diseases 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C15/00—Surveying instruments or accessories not provided for in groups G01C1/00 - G01C13/00
Definitions
- the disclosed technology relates to a point cloud processing device, a point cloud processing method, and a point cloud processing program.
- a measuring device called LiDAR (Light Detection and Ranging, Laser Imaging Detection and Ranging) uses the reflection of light such as lasers to measure the distance to objects in space, and by combining this with location information obtained from GPS (Global Positioning System) etc., it obtains point cloud data, which is a collection of points with three-dimensional coordinates.
- GPS Global Positioning System
- LIDAR which measures one point at a time
- the number of points that can be measured per unit time is smaller than with camera images, and long periods of measurement are necessary to obtain a high-density point cloud.
- the measurement when measuring the point cloud of a moving object, the measurement must be completed in a short period of time, making it difficult to measure a high-density point cloud with LIDAR.
- Patent Document 1 As a method for increasing the density of a low-density point cloud, for example, the technology shown in Patent Document 1 can be used. By converting the point cloud into a depth image from the camera's viewpoint and then converting the densified depth image back into a point cloud, it is possible to increase the density of the point cloud in the range captured by the camera image.
- the disclosed technology has been made in consideration of the above points, and aims to provide a point cloud processing device, a point cloud processing method, and a point cloud processing program that can measure a three-dimensional point cloud over a wide area, including moving objects, in a short period of time.
- a first aspect of the present disclosure is a point cloud processing device that includes an input unit that accepts a combination of a three-dimensional point cloud on a measured surface of an object and a measurement orientation in which the three-dimensional point cloud was measured, a foreground extraction unit that extracts a foreground point cloud, which is a point cloud of the foreground portion, from the three-dimensional point cloud based on the measurement orientation, and a point cloud integration unit that integrates the foreground point cloud with a background point cloud, which is a point cloud of the background portion that has been determined in advance.
- a second aspect of the present disclosure is a point cloud processing method in which a computer receives a combination of a three-dimensional point cloud on the measured surface of an object and a measurement orientation in which the three-dimensional point cloud was measured, extracts a foreground point cloud, which is a point cloud of the foreground part, from the three-dimensional point cloud based on the measurement orientation, and integrates the foreground point cloud with a background point cloud, which is a point cloud of the background part that has been determined in advance.
- the third aspect of the present disclosure is a point cloud processing program that causes a computer to function as the point cloud processing device of the first aspect.
- the disclosed technology makes it possible to measure 3D point clouds over a wide area, including moving objects, in a short period of time.
- FIG. 1 is a schematic block diagram of an example of a computer that functions as a point cloud processing device according to a first, second, third, and fourth embodiments.
- 1 is a block diagram showing a configuration of a point cloud processing device according to a first embodiment
- 11A and 11B are diagrams for explaining a method of extracting a foreground point cloud.
- 4 is a flowchart showing a point cloud processing routine of the point cloud processing device of the first embodiment.
- 4 is a flowchart showing a point cloud processing routine of the point cloud processing device of the first embodiment.
- FIG. 11 is a block diagram showing a configuration of a point cloud processing device according to a second embodiment.
- FIG. 10 is a flowchart showing a point cloud processing routine of the point cloud processing device of the second embodiment.
- FIG. 13 is a block diagram showing a configuration of a point cloud processing device according to a third embodiment. 13 is a flowchart showing a point cloud processing routine of the point cloud processing device of the third embodiment.
- FIG. 13 is a block diagram showing a configuration of a point cloud processing device according to a fourth embodiment.
- a foreground point cloud representing an object including a moving body is extracted from a three-dimensional point cloud measured by a lidar, and the foreground point cloud is integrated with a background point cloud representing a stationary background that has been measured separately over a long period of time.
- a high-density three-dimensional point cloud can be measured over a long period of time by measuring the background point cloud representing a stationary background in advance.
- the amount of data to be transmitted and processed can be reduced, and measurement with high real-time performance can be realized. Therefore, point cloud data with high measurement accuracy can be output at a higher speed than before.
- point cloud data can be measured at high speed in a short period of time, it is possible to measure a three-dimensional space including a moving body in a short period of time or to measure it in a moving image in real time.
- FIG. 1 is a block diagram showing the hardware configuration of a point cloud processing device 10 according to the present embodiment.
- the point cloud processing device 10 has a CPU (Central Processing Unit) 11, a ROM (Read Only Memory) 12, a RAM (Random Access Memory) 13, a storage 14, an input unit 15, a display unit 16, and a communication interface (I/F) 17.
- CPU Central Processing Unit
- ROM Read Only Memory
- RAM Random Access Memory
- storage 14 an input unit 15, a display unit 16, and a communication interface (I/F) 17.
- I/F communication interface
- the CPU 11 is a central processing unit that executes various programs and controls each part. That is, the CPU 11 reads the programs from the ROM 12 or storage 14, and executes the programs using the RAM 13 as a working area. The CPU 11 controls each of the above components and performs various calculation processes according to the programs stored in the ROM 12 or storage 14.
- the ROM 12 or storage 14 stores a point cloud processing program for measuring a three-dimensional point cloud.
- the point cloud processing program may be a single program, or may be a group of programs consisting of multiple programs or modules.
- ROM 12 stores various programs and data.
- RAM 13 temporarily stores programs or data as a working area.
- Storage 14 is composed of a HDD (Hard Disk Drive) or SSD (Solid State Drive) and stores various programs including the operating system and various data.
- the input unit 15 includes a pointing device such as a mouse, and a keyboard, and is used to perform various inputs including a combination of a three-dimensional point cloud on the surface of an object and the measurement attitude at which the three-dimensional point cloud was measured, and a combination of a camera image capturing an area corresponding to the three-dimensional point cloud and the shooting attitude at which the camera image was captured.
- a lidar, depth camera, stereo camera, or sonar can be used to measure the three-dimensional point cloud, and for example, a three-dimensional point cloud measured by a lidar and a camera image capturing an area corresponding to the three-dimensional point cloud are input.
- the measurement direction of the three-dimensional point cloud and the shooting direction of the camera image do not need to be the same, but the closer they are, the more likely it is that blind spots and coloring errors during correspondence can be suppressed.
- the input camera image is captured by a camera, and each pixel has either or both of brightness and color information, for example, a pixel value represented by RGB.
- the measurement attitude of the three-dimensional point cloud can be expressed, for example, as a combination of a rotation matrix, a scaling matrix, and a translation matrix for converting the three-dimensional point cloud into the same absolute coordinate system as the background point cloud.
- the shooting attitude of the camera image can be expressed, for example, as a combination of the internal parameters, external parameters, and distortion coefficients of the camera.
- the external parameters of the camera may be expressed as a combination of a rotation matrix and a translation vector with respect to the absolute coordinate system, or may be expressed as a combination of a rotation matrix and a translation vector with respect to the lidar coordinate system.
- the three-dimensional point cloud may be expressed in the form of a depth map recorded as an image having a pixel-by-pixel depth value from a certain viewpoint.
- the display unit 16 is, for example, a liquid crystal display, and displays various information including the measured three-dimensional point cloud.
- the display unit 16 may be a touch panel type and function as the input unit 15.
- the communication interface 17 is an interface for communicating with other devices, and uses standards such as Ethernet (registered trademark), FDDI, and Wi-Fi (registered trademark).
- Figure 2 is a block diagram showing an example of the functional configuration of the point cloud processing device 10.
- the point cloud processing device 10 functionally comprises a correspondence unit 101, a coloring unit 102, a foreground extraction unit 103, a point cloud integration unit 104, and an output unit 105.
- the correspondence unit 101 uses the 3D point cloud, the camera image, and either or both of the measurement attitude and the shooting attitude to determine the correspondence between each point of the 3D point cloud and each pixel of the camera image. Note that there may be pixels with no corresponding points or points with no corresponding pixels.
- the coloring unit 102 assigns color information of each pixel in the camera image to the corresponding points in the three-dimensional point cloud based on the correspondence relationship identified by the correspondence unit 101, and outputs the colored three-dimensional point cloud.
- the three-dimensional coordinates corresponding to each pixel may be estimated using the camera image and the shooting posture, and a three-dimensional point cloud to which color information has been assigned may be created and output based on the color information of each pixel and the estimated three-dimensional coordinates.
- the foreground extraction unit 103 extracts a foreground point cloud, which is a point cloud of the foreground part, from the three-dimensional point cloud.
- the foreground extraction unit 103 receives a three-dimensional point cloud as input, extracts only points that correspond to the object being photographed, and outputs them as a foreground point cloud.
- a three-dimensional coordinate range occupied by the object may be determined in advance, and only points within that range may be extracted.
- a reference point cloud that does not include the foreground may be measured in advance, and only points in the input point cloud that do not have any reference point in the vicinity may be regarded as foreground points (see Figure 3).
- Figure 3 shows an example in which the reference point cloud is converted into a depth map from the camera's viewpoint, the input 3D point cloud is converted into a depth map from the camera's viewpoint, and the foreground is extracted by thresholding the difference between each pixel to obtain the foreground point cloud.
- image processing such as image recognition may be applied to the camera image to determine the two-dimensional region of the target object, and corresponding points may be extracted based on the correspondence between the pixels and points identified by the correspondence unit 101.
- the point cloud integration unit 104 integrates the foreground point cloud with a background point cloud, which is a point cloud of the background portion that has been calculated in advance.
- the point cloud integration unit 104 receives the background point cloud, the foreground point cloud, and the positional information of the foreground point cloud, and outputs a three-dimensional point cloud in which all point clouds are superimposed. If the positional information of the foreground point cloud is not input, the foreground point cloud may be displayed at a predetermined position, or separately calculated positional information may be used as the positional information of the foreground point cloud. Note that if the background point cloud and the foreground point cloud are expressed in the same absolute coordinate system, it is not necessary to input the positional information of the foreground point cloud.
- the output unit 105 outputs the three-dimensional point cloud output from the point cloud integration unit 104 as data.
- the integrated three-dimensional point cloud may be output as a file.
- the three-dimensional point cloud may also be output in the form of an image or video from a certain viewpoint.
- the output method may include saving to a file, transmitting to another system, or displaying directly on a screen.
- FIGS 4 and 5 are flowcharts showing the flow of point cloud processing by the point cloud processing device 10.
- Point cloud processing is performed by the CPU 11 reading out a point cloud processing program from the ROM 12 or storage 14, expanding it into the RAM 13 and executing it.
- the data input to the point cloud processing device 10 is acquired by an equipment configuration including a camera and a LIDAR, and the camera and the LIDAR are installed so that the object to be measured is within the shooting range of the camera and the measurement range of the LIDAR.
- a background point cloud obtained in advance has been input to the point cloud processing device 10.
- the point cloud processing is an example of a point cloud processing method.
- the installation positions of the camera and the LIDAR can be fixed, it is possible to omit the process of calculating the coordinate conversion formula each time by performing calibration in advance and determining the measurement attitude of the three-dimensional point cloud and the shooting attitude of the camera.
- step S101 the CPU 11 acquires a reference point cloud, which is a three-dimensional point cloud measured by the lidar when there is no object to be photographed, and a measured attitude.
- step S102 the CPU 11 obtains a combination of the 3D point cloud measured by the rider and the measurement attitude at which the 3D point cloud was measured, and a combination of the camera image captured by the camera and the shooting attitude at which the camera image was captured.
- step S103 the CPU 11, as the correspondence unit 101, uses the 3D point cloud, the camera image, and either or both of the measurement attitude and the shooting attitude to derive a transformation formula for the coordinates between the 3D point cloud and the camera image as a correspondence relationship between the 3D point cloud and the camera image.
- steps S104 and S105 are repeatedly executed for each pixel in the camera image.
- step S104 the CPU 11, as the coloring unit 102, estimates the depth value of the pixel in the camera image based on the conversion formula derived in step S103, estimates the three-dimensional coordinates, and generates a corresponding three-dimensional point, thereby densifying the point cloud.
- a densified depth map is obtained using the method described in Patent Document 1. Specifically, the three-dimensional point cloud is converted into a depth map, pixels without depth values are complemented with the depth values of surrounding pixels, the depth map is corrected so as to be as consistent as possible with the camera image, and the corrected depth map is converted back into a three-dimensional point cloud, thereby obtaining a densified three-dimensional point cloud.
- step S105 the CPU 11, functioning as the coloring unit 102, assigns color information of the pixel to the three-dimensional point generated in step S104.
- step S106 the CPU 11, as the foreground extraction unit 103, converts the reference point group into a depth map viewed from the same viewpoint as the camera image based on the conversion formula derived in step S103, and also converts the densified 3D point group into a depth map viewed from the same viewpoint as the camera image. Note that if a camera image from a camera viewpoint corresponding to the reference point group can be acquired, densification may also be performed on the depth map of the reference point group. If a camera image corresponding to the reference point group cannot be acquired, the depth values of pixels with no corresponding points may be interpolated using nearest neighbor interpolation or the like.
- step S107 is executed for each pixel in the depth map.
- step S107 the CPU 11, functioning as the foreground extraction unit 103, deletes the depth value of the pixel in question in accordance with the difference in the depth value of the pixel in the depth map. Specifically, when the depth value of the pixel in the depth map of the reference point group is D b and the depth value of the same pixel in the depth map of the input 3D point group is Di , the CPU 11 deletes the depth value of the pixel that satisfies the following formula:
- D is a positive value proportional to the distance from the camera, and is expressed so that the farther away it is, the larger the value becomes.
- d is a parameter that represents the threshold value.
- step S108 the CPU 11, functioning as the foreground extraction unit 103, converts the depth map after the processing of step S107 back into a point cloud to obtain a foreground point cloud.
- the depth map is converted back into a three-dimensional point cloud by converting each pixel into three-dimensional coordinates using a conversion equation derived using camera internal parameters including the focal length of the camera lens.
- the foreground extraction unit 103 instead of the coloring unit 102, may color the point cloud by adding color information of the pixel of the camera image corresponding to the pixel of the depth map to the corresponding point.
- step S109 the CPU 11, functioning as the point cloud integration unit 104, acquires point cloud position information of the foreground point cloud in order to integrate the foreground point cloud with the background point cloud. Specifically, in order to display the foreground point cloud at an arbitrary position, it is sufficient to acquire predetermined position information or point cloud position information input from an external system.
- step S109 the CPU 11, as the point cloud integration unit 104, integrates the foreground point cloud and the background point cloud based on the point cloud position information of the foreground point cloud and the point cloud position information of the background point cloud that has been determined in advance.
- the point cloud position information of the foreground point cloud and the point cloud position information of the background point cloud are position information in the same coordinate system.
- step S110 the CPU 11, functioning as the output unit 105, outputs the three-dimensional point cloud output from the point cloud integration unit 104 as data. Specifically, it outputs the integrated point cloud to a file or another system, or displays it on the display unit 16.
- step S111 the CPU 11 determines whether or not to continue measuring the three-dimensional point cloud. If the measurement of the three-dimensional point cloud is to be continued, the process returns to step S102, and a new combination of the three-dimensional point cloud measured by the lidar and the measurement attitude at which the three-dimensional point cloud was measured, and a new combination of the camera image taken by the camera and the shooting attitude at which the camera image was taken, is obtained. On the other hand, if the measurement of the three-dimensional point cloud is not to be continued, the point cloud processing routine is terminated.
- the point cloud processing device accepts a combination of a 3D point cloud on the measured surface of an object and the measurement orientation in which the 3D point cloud was measured, extracts a foreground point cloud, which is a point cloud of the foreground portion, from the 3D point cloud, and combines the foreground point cloud with a background point cloud, which is a point cloud of the background portion that has been determined in advance.
- a foreground point cloud which is a point cloud of the foreground portion
- a background point cloud which is a point cloud of the background portion that has been determined in advance.
- the input 3D point cloud is converted into a depth map from the camera's viewpoint, and compared with a reference depth map created from a reference point cloud measured in advance. Only points corresponding to pixels whose difference with the reference depth map is equal to or exceeds a threshold are extracted as foreground point clouds, allowing for high-speed extraction of only points corresponding to moving objects.
- a background point cloud that does not contain a moving object is measured in advance, and a sparse point cloud is measured in a short time for the area representing the moving object, and then densified using high-resolution technology, thereby achieving measurement in a short time.
- the second embodiment differs from the first embodiment in that two or more combinations of lidar and cameras are used to measure and integrate the foreground point cloud.
- FIG. 1 is a block diagram showing the hardware configuration of a point cloud processing device 210 according to this embodiment.
- the point cloud processing device 210 has a CPU 11, a ROM 12, a RAM 13, a storage 14, an input unit 15, a display unit 16, and a communication interface 17.
- the input unit 15 is used to perform various inputs, including two or more sets, where one set is a combination of a measured three-dimensional point cloud and the measurement attitude at which the three-dimensional point cloud was measured, and another set is a combination of a camera image of an area corresponding to the three-dimensional point cloud and the shooting attitude at which the camera image was taken.
- the following describes the process of performing two sets of input.
- the data input to the input unit 15 can be acquired by an equipment configuration with two cameras 20A, 20B and two LIDARs 30A, 30B as shown in FIG. 6.
- Multiple cameras 20A, 20B and LIDARs 30A, 30B are installed so that the object to be measured falls within the shooting range of the cameras 20A, 20B and the measurement range of the LIDARs 30A, 30B.
- the input unit 15 accepts a combination of a three-dimensional point cloud measured by a rider 30A and the measured attitude of the rider 30A who measured the three-dimensional point cloud, and a combination of a camera image of an area corresponding to the three-dimensional point cloud taken by a camera 20A and the shooting attitude of the camera 20A who took the camera image.
- the input unit 15 also accepts a combination of a three-dimensional point cloud measured by a rider 30B and the measured attitude of the rider 30B who measured the three-dimensional point cloud, and a combination of a camera image of an area corresponding to the three-dimensional point cloud taken by a camera 20B and the shooting attitude of the camera 20B who took the camera image.
- Figure 7 is a block diagram showing an example of the functional configuration of the point cloud processing device 210.
- the point cloud processing device 210 functionally comprises correspondence units 201A and 201B, coloring units 202A and 202B, foreground extraction units 203A and 203B, a foreground point cloud integration unit 204, a point cloud integration unit 205, and an output unit 206.
- the correspondence unit 201A uses the three-dimensional point cloud measured by the rider 30A, the camera image captured by the camera 20A, and either or both of the measurement attitude of the rider 30A and the shooting attitude of the camera 20A to determine the correspondence between each point of the three-dimensional point cloud measured by the rider 30A and each pixel of the camera image captured by the camera 20A.
- correspondence unit 201B uses the three-dimensional point cloud measured by rider 30B, the camera image captured by camera 20B, and either or both of the measurement attitude of rider 30B and the shooting attitude of camera 20B to determine the correspondence between each point of the three-dimensional point cloud measured by rider 30B and each pixel of the camera image captured by camera 20B.
- the coloring unit 202A assigns color information of each pixel of the camera image captured by the camera 20A to the corresponding points of the three-dimensional point cloud measured by the LIDAR 30A based on the correspondence relationship identified by the correspondence unit 201A, and outputs the colored three-dimensional point cloud.
- coloring unit 202B assigns color information of each pixel of the camera image captured by camera 20B to the corresponding points of the three-dimensional point cloud measured by LIDAR 30B based on the correspondence relationship identified by correspondence unit 201B, and outputs the colored three-dimensional point cloud.
- the foreground extraction unit 203A extracts a foreground point cloud, which is a point cloud of the foreground portion, from the three-dimensional point cloud colored by the coloring unit 202A.
- foreground extraction unit 203B extracts a foreground point cloud, which is a point cloud of the foreground portion, from the three-dimensional point cloud colored by coloring unit 202B.
- the foreground point cloud integration unit 204 converts the foreground point clouds extracted by each of the foreground extraction units 203A and 203B into the same coordinate system and outputs a foreground point cloud in which multiple foreground point clouds are superimposed. For example, each foreground point cloud may be converted into the same absolute coordinate system based on the measured orientation corresponding to each foreground point cloud, and then superimposed.
- the foreground point cloud integration unit 204 may also integrate the foreground point clouds extracted by each of the foreground extraction units 203A and 203B, and align them so that the misalignment of the joints is minimized.
- the foreground point cloud integration unit 204 corrects the position of the foreground point clouds so that the difference in the area common to the two foreground point clouds extracted by each of the foreground extraction units 203A and 203B is minimized, and then integrates the foreground point clouds.
- the point cloud integration unit 205 integrates the integrated foreground point cloud and background point cloud, similar to the point cloud integration unit 104 described in the first embodiment above.
- the output unit 206 outputs the three-dimensional point cloud output from the point cloud integration unit 205 as data, similar to the output unit 105 described in the first embodiment above.
- FIG. 8 is a flowchart showing the flow of point cloud processing by the point cloud processing device 210.
- Point cloud processing is performed by the CPU 11 reading out a point cloud processing program from the ROM 12 or storage 14, expanding it into the RAM 13 and executing it.
- the data input to the point cloud processing device 210 is acquired by an equipment configuration of cameras 20A, 20B and LIDARs 30A, 30B, and that the cameras 20A, 20B and LIDARs 30A, 30B are each installed so that the object to be photographed that is to be measured falls within the photographing range and measurement range. It is assumed that a previously determined background point cloud has been input to the point cloud processing device 210.
- step S201 the CPU 11 acquires a reference point cloud, which is a three-dimensional point cloud measured by the lidar 30A in the absence of an object to be photographed, and a measured attitude.
- step S203 the CPU 11 acquires a reference point cloud, which is a three-dimensional point cloud measured by the lidar 30B in the absence of an object to be photographed, and a measured attitude.
- step S202 the CPU 11 extracts a foreground point cloud from the three-dimensional point cloud measured by the LIDAR 30A.
- This step S202 is realized by the same processing as steps S102 to S108 described in the first embodiment above, and involves obtaining a 3D point cloud, densifying it, coloring the point cloud, and extracting the foreground point cloud.
- step S204 the CPU 11 extracts a foreground point cloud from the three-dimensional point cloud measured by the LIDAR 30B.
- This step S204 is realized by the same processing as steps S102 to S108 described in the first embodiment above, and involves obtaining a 3D point cloud, densifying it, coloring the point cloud, and extracting the foreground point cloud.
- step S205 the CPU 11, functioning as the foreground point cloud integration unit 204, integrates the foreground point clouds extracted by each of the foreground extraction units 203A and 203B, and aligns them so that the misalignment of the joints is minimized.
- the foreground point clouds can be integrated into a single point cloud by aligning their positions by rotating and translating the foreground point clouds based on their respective measured orientations.
- the technology described in Non-Patent Document 1 can be used to calculate rotation and translation so that areas common to multiple point clouds overlap as much as possible.
- Non-patent document 1 RUSINKIEWICZ, Szymon; LEVOY, Marc. Efficient variants of the ICP algorithm. In: Proceedings third international conference on 3-D digital imaging and modeling. IEEE, 2001. p. 145-152.
- step S206 the CPU 11, functioning as the point cloud integration unit 205, acquires point cloud position information for integrating the foreground point cloud with the background point cloud.
- the CPU 11 functioning as the point cloud integration unit 205, acquires point cloud position information for integrating the foreground point cloud with the background point cloud.
- the foreground point clouds if one of the foreground point clouds is used as a reference and the other foreground point clouds are integrated by calculating rotation and translation for aligning them with the reference foreground point cloud, the measured orientation of the reference foreground point cloud may be used as the point cloud position information.
- the foreground point cloud position information may be determined so that the center of gravity does not change before and after the integration.
- predetermined position information or point cloud position information input from an external system may be used.
- step S207 the CPU 11, functioning as the point cloud integration unit 205, integrates the foreground point cloud and the background point cloud based on the point cloud position information of the foreground point cloud and the point cloud position information of the background point cloud.
- step S208 the CPU 11, as the output unit 206, outputs the three-dimensional point cloud output from the point cloud integration unit 205 as data.
- step S209 the CPU 11 determines whether or not to continue measuring the three-dimensional point cloud. If the measurement of the three-dimensional point cloud is to be continued, the process returns to steps S202 and S204, and a new combination of the three-dimensional point cloud measured by the riders 30A and 30B and the measurement attitude at which the three-dimensional point cloud was measured, and a new combination of the camera images taken by the cameras 20A and 20B and the shooting attitude at which the camera images were taken, is obtained. On the other hand, if the measurement of the three-dimensional point cloud is not to be continued, the point cloud processing routine is terminated.
- the point cloud processing device of the second embodiment can measure multiple moving objects and perform measurements with fewer blind spots by measuring and integrating foreground point clouds using multiple combinations of lidar and cameras.
- the foreground point cloud is extracted based on the difference with the reference point cloud measured initially. This makes it possible to handle cases where there are slopes, walls, obstacles, etc.
- the third embodiment differs from the second embodiment in that coloring is performed after integrating multiple foreground point groups.
- FIG. 1 is a block diagram showing the hardware configuration of a point cloud processing device 310 according to this embodiment.
- the point cloud processing device 310 has a CPU 11, a ROM 12, a RAM 13, a storage 14, an input unit 15, a display unit 16, and a communication interface 17.
- the input unit 15 is used to perform various inputs, including two or more sets, with one set being a combination of a measured three-dimensional point cloud and the measurement attitude at which the three-dimensional point cloud was measured, and another being a combination of a camera image capturing an area corresponding to the three-dimensional point cloud and the shooting attitude at which the camera image was captured.
- the following describes the process of performing two sets of input.
- the data input to the input unit 15 can be acquired using the equipment configuration shown in FIG. 6 above, which includes two cameras 20A and 20B and two riders 30A and 30B.
- Figure 9 is a block diagram showing an example of the functional configuration of the point cloud processing device 310.
- the point cloud processing device 310 functionally comprises correspondence units 301A and 301B, foreground extraction units 302A and 302B, a foreground point cloud integration unit 303, a coloring unit 304, a point cloud integration unit 305, and an output unit 306.
- the correspondence unit 301A uses the three-dimensional point cloud measured by the rider 30A, the camera image captured by the camera 20A, and either or both of the measurement attitude of the rider 30A and the shooting attitude of the camera 20A to determine the correspondence between each point of the three-dimensional point cloud measured by the rider 30A and each pixel of the camera image captured by the camera 20A.
- the correspondence unit 301B uses the three-dimensional point cloud measured by the rider 30B, the camera image captured by the camera 20B, and either or both of the measurement attitude of the rider 30B and the shooting attitude of the camera 20B to determine the correspondence between each point of the three-dimensional point cloud measured by the rider 30B and each pixel of the camera image captured by the camera 20B.
- the foreground extraction unit 302A extracts a foreground point cloud, which is a point cloud of the foreground portion, from the three-dimensional point cloud measured by the LIDAR 30A.
- the foreground extraction unit 302A receives the three-dimensional point cloud measured by the LIDAR 30A as input, extracts only the points that correspond to the object being photographed, and outputs them as a foreground point cloud.
- foreground extraction unit 302B extracts a foreground point cloud, which is a point cloud of the foreground portion, from the three-dimensional point cloud measured by LIDAR 30B.
- the foreground point cloud integration unit 303 converts the foreground point clouds extracted by each of the foreground extraction units 302A and 302B into the same coordinate system and outputs a foreground point cloud in which multiple foreground point clouds are superimposed.
- the foreground point cloud integration unit 303 may integrate the foreground point clouds extracted by each of the foreground extraction units 302A and 302B, and align them so that the misalignment of the joints is minimized.
- the coloring unit 304 assigns a color to each point of the integrated foreground point group based on the correspondence relationship identified by the correspondence units 301A and 301B, determined based on the color information of the corresponding pixel in the camera image captured by the cameras 20A and 20B.
- the color to be assigned may be, for example, the median value for each dimension of RGB, or a representative value of the largest cluster may be used after clustering.
- color information of each pixel of the camera image captured by camera 20A is assigned to the corresponding point of the integrated foreground point cloud
- color information of each pixel of the camera image captured by camera 20B is assigned to the corresponding point of the integrated foreground point cloud. Then, the color information to be assigned to each point of the integrated foreground point cloud is determined by majority vote, and the colored 3D point cloud is output.
- the point cloud integration unit 305 integrates the integrated foreground point cloud and background point cloud, similar to the point cloud integration unit 205 described in the second embodiment above.
- the output unit 306 outputs the three-dimensional point cloud output from the point cloud integration unit 305 as data, similar to the output unit 206 described in the second embodiment above.
- FIG. 10 is a flowchart showing the flow of point cloud processing by the point cloud processing device 310.
- Point cloud processing is performed by the CPU 11 reading out a point cloud processing program from the ROM 12 or storage 14, expanding it into the RAM 13 and executing it.
- the data input to the point cloud processing device 310 is acquired by an equipment configuration of cameras 20A, 20B and LIDARs 30A, 30B, and that the cameras 20A, 20B and LIDARs 30A, 30B are each installed so that the object to be photographed that is to be measured falls within the photographing range and measurement range. It is assumed that a previously determined background point cloud has been input to the point cloud processing device 310.
- step S301 the CPU 11 acquires a reference point cloud, which is a three-dimensional point cloud measured by the lidar 30A in the absence of an object to be photographed, and a measured attitude.
- step S303 the CPU 11 acquires a reference point cloud, which is a three-dimensional point cloud measured by the lidar 30B in the absence of an object to be photographed, and a measured attitude.
- step S302 the CPU 11 extracts a foreground point cloud from the three-dimensional point cloud measured by the LIDAR 30A.
- This step S302 is realized by the same processing as steps S102, S103, and S106 to S108 described in the first embodiment above, and involves obtaining a 3D point cloud and extracting a foreground point cloud.
- step S304 the CPU 11 extracts a foreground point cloud from the three-dimensional point cloud measured by the LIDAR 30B.
- This step S304 is realized by the same processing as steps S102, S103, and S106 to S108 described in the first embodiment above, and involves obtaining a 3D point cloud and extracting a foreground point cloud.
- step S305 the CPU 11, functioning as the foreground point cloud integration unit 303, integrates the foreground point clouds extracted by each of the foreground extraction units 302A and 302B, and aligns them so that the misalignment of the joints is minimized.
- step S306 the CPU 11, as the coloring unit 304, assigns a color determined from the color information of the pixels in the camera image to each point of the integrated foreground point cloud based on the correspondence relationship identified by the correspondence units 301A and 301B.
- the CPU 11 may densify the point cloud by estimating the depth value of each pixel in the camera image based on a conversion formula, estimating the three-dimensional coordinates, and generating corresponding three-dimensional points.
- step S307 the CPU 11, functioning as the point cloud integration unit 305, acquires point cloud position information for integrating the foreground point cloud with the background point cloud.
- step S308 the CPU 11, functioning as the point cloud integration unit 305, integrates the foreground point cloud and the background point cloud based on the point cloud position information of the foreground point cloud and the point cloud position information of the background point cloud.
- step S309 the CPU 11, as the output unit 306, outputs the three-dimensional point cloud output from the point cloud integration unit 205 as data.
- step S310 the CPU 11 determines whether or not to continue measuring the three-dimensional point cloud. If the measurement of the three-dimensional point cloud is to be continued, the process returns to steps S302 and S304, and a new combination of the three-dimensional point cloud measured by the riders 30A and 30B and the measurement attitude at which the three-dimensional point cloud was measured, and a new combination of the camera images taken by the cameras 20A and 20B and the shooting attitude at which the camera images were taken, is obtained. On the other hand, if the measurement of the three-dimensional point cloud is not to be continued, the point cloud processing routine is terminated.
- the point cloud processing device of the third embodiment colors the point cloud after integrating the foreground point cloud, and can determine the color to be used based on multiple camera images, thereby reducing color unevenness at the boundary positions of multiple point clouds.
- the color of each pixel in the camera images taken by the camera is referenced for the 3D point cloud measured by the LIDAR, and the color of each point is determined. If the LIDAR and the camera are separate devices, parallax will inevitably occur, and calibration errors will also occur. In this embodiment, by determining the color of each point based on multiple camera images, it is possible to compensate for blind spots caused by parallax and reduce coloring errors caused by errors by majority vote.
- the fourth embodiment differs from the first embodiment in that the timing of measuring the 3D point cloud and taking camera images is controlled so that they are performed simultaneously, and the measured and captured data is input continuously.
- FIG. 1 is a block diagram showing the hardware configuration of a point cloud processing device 410 according to this embodiment.
- the point cloud processing device 410 has a CPU 11, a ROM 12, a RAM 13, a storage 14, an input unit 15, a display unit 16, and a communication interface 17.
- Figure 11 is a block diagram showing an example of the functional configuration of the point cloud processing device 410.
- the point cloud processing device 410 functionally comprises an imaging control unit 400, a correspondence unit 101, a coloring unit 102, a foreground extraction unit 103, a point cloud integration unit 104, and an output unit 105.
- the imaging control unit 400 repeatedly controls the timing of the lidar's measurement of the 3D point cloud and the timing of the camera's image capture to correspond to each other, and inputs the results to the correspondence unit 101.
- the imaging control unit 400 minimizes the time lag between the 3D point cloud measured by the LIDAR and the camera images taken by the camera, and controls so that measurements and imaging are performed simultaneously.
- the time may be set in advance to perform measurements and imaging periodically, or an external system may send measurement and imaging signals to multiple measuring devices simultaneously.
- measurements are performed continuously by the LIDAR and imaging is performed by the camera, and the measured 3D point cloud and captured camera images are input sequentially to the corresponding unit 101.
- the point cloud processing device of the fourth embodiment controls the measurement of a three-dimensional point cloud and the capture of camera images, thereby making it possible to suppress coloring of the point cloud caused by a difference in the timing of measurement and capture, and to prevent deviations in alignment when integrating foreground point clouds, and by capturing images continuously, it is possible to capture a time series of a scene including moving objects as three-dimensional information.
- the imaging control unit 400 may be configured with multiple PCs that are time-synchronized in advance, or multiple PCs that are connected via a network and operate in cooperation with each other.
- the control by the imaging control unit 400 may also be applied to the point cloud processing device of the second and third embodiments.
- the number of lidars and cameras is the same, but this is not limited to the above. As long as the measurement range of the lidar is covered by the shooting range of any of the cameras, the number of lidars and cameras does not have to be the same.
- the present invention is not limited to this. Even if there are multiple background point groups calculated in advance, they can be integrated in advance.
- the present invention is not limited to this. There may be a case where no camera image is input. In this case, color information is not added to the 3D point cloud.
- a depth map may be obtained from a previously determined background point cloud and used as the depth map for the reference point cloud.
- the reference point cloud may also be measured by a different LIDAR from the 3D point cloud used to extract the foreground point cloud.
- the reference point cloud measured by the different LIDAR can be converted into a depth map viewed from the same viewpoint as the camera image.
- processors examples include PLDs (Programmable Logic Devices) such as FPGAs (Field-Programmable Gate Arrays) whose circuit configuration can be changed after manufacture, and dedicated electrical circuits such as ASICs (Application Specific Integrated Circuits), which are processors with circuit configurations designed specifically to execute specific processes.
- PLDs Programmable Logic Devices
- FPGAs Field-Programmable Gate Arrays
- ASICs Application Specific Integrated Circuits
- point cloud processing may be executed by one of these various processors, or may be executed by a combination of two or more processors of the same or different types (for example, multiple FPGAs, and a combination of a CPU and an FPGA, etc.).
- the hardware structure of these various processors is, more specifically, an electrical circuit that combines circuit elements such as semiconductor elements.
- the point cloud processing program is described as being pre-stored (installed) in the storage 14, but this is not limiting.
- the program may be provided in a form stored in a non-transitory storage medium such as a CD-ROM (Compact Disk Read Only Memory), a DVD-ROM (Digital Versatile Disk Read Only Memory), or a USB (Universal Serial Bus) memory.
- the program may also be downloaded from an external device via a network.
- a point cloud processing device Memory, at least one processor coupled to the memory; Including, The processor, receiving a combination of a measured 3D point cloud on a surface of an object and a measurement orientation at which the 3D point cloud was measured; extracting a foreground point cloud, which is a point cloud of a foreground portion, from the three-dimensional point cloud based on the measured orientation;
- a point cloud processing device configured to integrate the foreground point cloud with a background point cloud, which is a point cloud of a background portion that has been obtained in advance.
- a non-transitory storage medium storing a program executable by a computer to perform point cloud processing,
- the point cloud processing includes: receiving a combination of a measured 3D point cloud on a surface of an object and a measurement orientation at which the 3D point cloud was measured; extracting a foreground point cloud, which is a point cloud of a foreground portion, from the three-dimensional point cloud based on the measured orientation;
- a non-transitory storage medium that integrates the foreground point cloud with a background point cloud that is a point cloud of a background portion that has been obtained in advance.
- Point cloud processing device 11 CPU 14 Storage 15 Input unit 16 Display unit 20A, 20B Camera 30A, 30B LIDAR 101 Correspondence unit 102, 304 Coloring unit 103 Foreground extraction unit 104, 205, 305 Point cloud integration unit 105, 206, 306 Output unit 201A, 201B, 301A, 301B Correspondence unit 202A, 202B Coloring unit 203A, 203B, 302A, 302B Foreground extraction unit 204, 303 Foreground point cloud integration unit 400
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
Abstract
This point group processing device includes: an input unit that receives a combination of a 3D point group which is on the surface of an object that was measured, and a measured posture in which the 3D point group was measured; a foreground extraction unit that extracts, on the basis of the measured posture, a foreground point group which is the point group of a foreground portion, from the 3D point group; and a point group integration unit that integrates the foreground point group and a background point group which is the point group of a background portion and which was found in advance.
Description
開示の技術は、点群処理装置、点群処理方法、及び点群処理プログラムに関する。
The disclosed technology relates to a point cloud processing device, a point cloud processing method, and a point cloud processing program.
ライダー(LiDAR:Light Detection and Ranging、Laser Imaging Detection and Ranging)と呼ばれる計測装置は、レーザー等の光の反射を利用して空間内に存在する物体までの距離を計測し、GPS(Global Positioning System)等により取得した位置情報と組み合わせることにより、三次元座標を持つ点の集合である点群データを取得する。
A measuring device called LiDAR (Light Detection and Ranging, Laser Imaging Detection and Ranging) uses the reflection of light such as lasers to measure the distance to objects in space, and by combining this with location information obtained from GPS (Global Positioning System) etc., it obtains point cloud data, which is a collection of points with three-dimensional coordinates.
1点ずつ計測するライダーの特性上、単位時間あたりに計測できる点数はカメラ画像に比べて少なく、高密度な点群を取得するためには長時間の計測を行う必要がある。しかし、動く物体の点群を計測したい場合には短時間で計測を終える必要があり、ライダーで高密度な点群を計測することは困難である。
Due to the nature of LIDAR, which measures one point at a time, the number of points that can be measured per unit time is smaller than with camera images, and long periods of measurement are necessary to obtain a high-density point cloud. However, when measuring the point cloud of a moving object, the measurement must be completed in a short period of time, making it difficult to measure a high-density point cloud with LIDAR.
密度の低い点群を高密度化する手法として、例えば特許文献1に示す技術を利用することができる。点群をカメラ視点のデプス画像に変換し、高密度化したデプス画像を再度点群に戻すことでカメラ画像に写った範囲の点群を高密度化することができる。
As a method for increasing the density of a low-density point cloud, for example, the technology shown in Patent Document 1 can be used. By converting the point cloud into a depth image from the camera's viewpoint and then converting the densified depth image back into a point cloud, it is possible to increase the density of the point cloud in the range captured by the camera image.
一般的なライダーは水平方向に360度全方位の点群を計測できるのに対し、特許文献1に示す技術で利用するカメラ画像の画角は限られており、広い範囲の点群を高密度化するためには大量のカメラを用意してあらゆる方向を撮影する必要がある。また、その場合すべてのカメラ画像に対して高密度化の処理を適用するためには時間を要し、リアルタイム性を要する用途に利用することができない。
While a typical LiDAR can measure a point cloud in all directions, 360 degrees horizontally, the angle of view of the camera images used in the technology shown in Patent Document 1 is limited, and in order to densify a point cloud over a wide area, it is necessary to prepare a large number of cameras and take images in all directions. In that case, it takes time to apply densification processing to all camera images, making it unusable for applications that require real-time performance.
開示の技術は、上記の点に鑑みてなされたものであり、動物体を含む広範囲の三次元点群を短時間で計測することができる点群処理装置、点群処理方法、及び点群処理プログラムを提供することを目的とする。
The disclosed technology has been made in consideration of the above points, and aims to provide a point cloud processing device, a point cloud processing method, and a point cloud processing program that can measure a three-dimensional point cloud over a wide area, including moving objects, in a short period of time.
本開示の第1態様は、点群処理装置であって、計測された物体の表面上の三次元点群と、前記三次元点群を計測した計測姿勢との組み合わせを受け付ける入力部と、前記計測姿勢に基づいて、前記三次元点群から、前景部分の点群である前景点群を抽出する前景抽出部と、前記前景点群と、予め求められた、背景部分の点群である背景点群とを統合する点群統合部と、を含む。
A first aspect of the present disclosure is a point cloud processing device that includes an input unit that accepts a combination of a three-dimensional point cloud on a measured surface of an object and a measurement orientation in which the three-dimensional point cloud was measured, a foreground extraction unit that extracts a foreground point cloud, which is a point cloud of the foreground portion, from the three-dimensional point cloud based on the measurement orientation, and a point cloud integration unit that integrates the foreground point cloud with a background point cloud, which is a point cloud of the background portion that has been determined in advance.
本開示の第2態様は、点群処理方法であって、コンピュータが、計測された物体の表面上の三次元点群と、前記三次元点群を計測した計測姿勢との組み合わせを受け付け、前記計測姿勢に基づいて、前記三次元点群から、前景部分の点群である前景点群を抽出し、前記前景点群と、予め求められた、背景部分の点群である背景点群とを統合する。
A second aspect of the present disclosure is a point cloud processing method in which a computer receives a combination of a three-dimensional point cloud on the measured surface of an object and a measurement orientation in which the three-dimensional point cloud was measured, extracts a foreground point cloud, which is a point cloud of the foreground part, from the three-dimensional point cloud based on the measurement orientation, and integrates the foreground point cloud with a background point cloud, which is a point cloud of the background part that has been determined in advance.
本開示の第3態様は、点群処理プログラムであって、コンピュータを、上記第1態様の点群処理装置として機能させるためのプログラムである。
The third aspect of the present disclosure is a point cloud processing program that causes a computer to function as the point cloud processing device of the first aspect.
開示の技術によれば、動物体を含む広範囲の三次元点群を短時間で計測することができる。
The disclosed technology makes it possible to measure 3D point clouds over a wide area, including moving objects, in a short period of time.
以下、開示の技術の実施形態の一例を、図面を参照しつつ説明する。なお、各図面において同一又は等価な構成要素及び部分には同一の参照符号を付与している。また、図面の寸法比率は、説明の都合上誇張されており、実際の比率とは異なる場合がある。
Below, an example of an embodiment of the disclosed technology will be described with reference to the drawings. Note that the same reference symbols are used for identical or equivalent components and parts in each drawing. Also, the dimensional ratios in the drawings have been exaggerated for the convenience of explanation and may differ from the actual ratios.
<本実施形態の概要>
本実施形態では、ライダーで計測される三次元点群から動物体を含む物体を表す前景点群を抽出し、別途時間をかけて計測しておいた動きのない背景を表す背景点群と前景点群を統合する。このように、動きのない背景を表す背景点群については、事前の計測とすることにより時間をかけて高密度な三次元点群を計測することができる。また、動物体を表す領域だけに範囲を絞って三次元点群を計測することで、伝送や処理を行うデータ量を削減し、リアルタイム性の高い計測を実現することができる。従って、従来よりも高速に計測精度の高い点群データを出力できる。また、点群データを高速に短時間で計測できるため、動物体を含む三次元空間を短時間で計測することや、リアルタイムに動画的に計測することが可能となる。 <Outline of this embodiment>
In this embodiment, a foreground point cloud representing an object including a moving body is extracted from a three-dimensional point cloud measured by a lidar, and the foreground point cloud is integrated with a background point cloud representing a stationary background that has been measured separately over a long period of time. In this way, a high-density three-dimensional point cloud can be measured over a long period of time by measuring the background point cloud representing a stationary background in advance. In addition, by narrowing the range to only the area representing the moving body and measuring the three-dimensional point cloud, the amount of data to be transmitted and processed can be reduced, and measurement with high real-time performance can be realized. Therefore, point cloud data with high measurement accuracy can be output at a higher speed than before. In addition, since point cloud data can be measured at high speed in a short period of time, it is possible to measure a three-dimensional space including a moving body in a short period of time or to measure it in a moving image in real time.
本実施形態では、ライダーで計測される三次元点群から動物体を含む物体を表す前景点群を抽出し、別途時間をかけて計測しておいた動きのない背景を表す背景点群と前景点群を統合する。このように、動きのない背景を表す背景点群については、事前の計測とすることにより時間をかけて高密度な三次元点群を計測することができる。また、動物体を表す領域だけに範囲を絞って三次元点群を計測することで、伝送や処理を行うデータ量を削減し、リアルタイム性の高い計測を実現することができる。従って、従来よりも高速に計測精度の高い点群データを出力できる。また、点群データを高速に短時間で計測できるため、動物体を含む三次元空間を短時間で計測することや、リアルタイムに動画的に計測することが可能となる。 <Outline of this embodiment>
In this embodiment, a foreground point cloud representing an object including a moving body is extracted from a three-dimensional point cloud measured by a lidar, and the foreground point cloud is integrated with a background point cloud representing a stationary background that has been measured separately over a long period of time. In this way, a high-density three-dimensional point cloud can be measured over a long period of time by measuring the background point cloud representing a stationary background in advance. In addition, by narrowing the range to only the area representing the moving body and measuring the three-dimensional point cloud, the amount of data to be transmitted and processed can be reduced, and measurement with high real-time performance can be realized. Therefore, point cloud data with high measurement accuracy can be output at a higher speed than before. In addition, since point cloud data can be measured at high speed in a short period of time, it is possible to measure a three-dimensional space including a moving body in a short period of time or to measure it in a moving image in real time.
[第1実施形態]
<本実施形態に係る点群処理装置の構成>
図1は、本実施形態の点群処理装置10のハードウェア構成を示すブロック図である。 [First embodiment]
<Configuration of the point cloud processing device according to this embodiment>
FIG. 1 is a block diagram showing the hardware configuration of a point cloud processing device 10 according to the present embodiment.
<本実施形態に係る点群処理装置の構成>
図1は、本実施形態の点群処理装置10のハードウェア構成を示すブロック図である。 [First embodiment]
<Configuration of the point cloud processing device according to this embodiment>
FIG. 1 is a block diagram showing the hardware configuration of a point cloud processing device 10 according to the present embodiment.
図1に示すように、点群処理装置10は、CPU(Central Processing Unit)11、ROM(Read Only Memory)12、RAM(Random Access Memory)13、ストレージ14、入力部15、表示部16及び通信インタフェース(I/F)17を有する。各構成は、バス19を介して相互に通信可能に接続されている。
As shown in FIG. 1, the point cloud processing device 10 has a CPU (Central Processing Unit) 11, a ROM (Read Only Memory) 12, a RAM (Random Access Memory) 13, a storage 14, an input unit 15, a display unit 16, and a communication interface (I/F) 17. Each component is connected to each other so that they can communicate with each other via a bus 19.
CPU11は、中央演算処理ユニットであり、各種プログラムを実行したり、各部を制御したりする。すなわち、CPU11は、ROM12又はストレージ14からプログラムを読み出し、RAM13を作業領域としてプログラムを実行する。CPU11は、ROM12又はストレージ14に記憶されているプログラムに従って、上記各構成の制御及び各種の演算処理を行う。本実施形態では、ROM12又はストレージ14には、三次元点群を計測するための点群処理プログラムが格納されている。点群処理プログラムは、1つのプログラムであっても良いし、複数のプログラム又はモジュールで構成されるプログラム群であっても良い。
The CPU 11 is a central processing unit that executes various programs and controls each part. That is, the CPU 11 reads the programs from the ROM 12 or storage 14, and executes the programs using the RAM 13 as a working area. The CPU 11 controls each of the above components and performs various calculation processes according to the programs stored in the ROM 12 or storage 14. In this embodiment, the ROM 12 or storage 14 stores a point cloud processing program for measuring a three-dimensional point cloud. The point cloud processing program may be a single program, or may be a group of programs consisting of multiple programs or modules.
ROM12は、各種プログラム及び各種データを格納する。RAM13は、作業領域として一時的にプログラム又はデータを記憶する。ストレージ14は、HDD(Hard Disk Drive)又はSSD(Solid State Drive)により構成され、オペレーティングシステムを含む各種プログラム、及び各種データを格納する。
ROM 12 stores various programs and data. RAM 13 temporarily stores programs or data as a working area. Storage 14 is composed of a HDD (Hard Disk Drive) or SSD (Solid State Drive) and stores various programs including the operating system and various data.
入力部15は、マウス等のポインティングデバイス、及びキーボードを含み、物体の表面上の三次元点群及び当該三次元点群を計測した計測姿勢との組み合わせと、当該三次元点群と対応する領域を撮影したカメラ画像及び当該カメラ画像を撮影した撮影姿勢との組み合わせとを含む各種の入力を行うために使用される。三次元点群の計測にはライダーやデプスカメラ、ステレオカメラ、ソナーなど任意の機器を利用でき、例えば、ライダーによって計測された三次元点群と、当該三次元点群と対応する領域をカメラによって撮影したカメラ画像とが入力される。三次元点群の計測方向とカメラ画像の撮影方向は一致していなくても良いが、両者が近いほど死角や対応時の着色の誤りを抑制することができる。入力されたカメラ画像は、カメラにより撮影され、各画素が明るさや色の情報のいずれかまたは両方、例えばRGBで表される画素値を有する。
The input unit 15 includes a pointing device such as a mouse, and a keyboard, and is used to perform various inputs including a combination of a three-dimensional point cloud on the surface of an object and the measurement attitude at which the three-dimensional point cloud was measured, and a combination of a camera image capturing an area corresponding to the three-dimensional point cloud and the shooting attitude at which the camera image was captured. Any device such as a lidar, depth camera, stereo camera, or sonar can be used to measure the three-dimensional point cloud, and for example, a three-dimensional point cloud measured by a lidar and a camera image capturing an area corresponding to the three-dimensional point cloud are input. The measurement direction of the three-dimensional point cloud and the shooting direction of the camera image do not need to be the same, but the closer they are, the more likely it is that blind spots and coloring errors during correspondence can be suppressed. The input camera image is captured by a camera, and each pixel has either or both of brightness and color information, for example, a pixel value represented by RGB.
ここで、三次元点群を計測した計測姿勢は、例えば、三次元点群を背景点群と同一の絶対座標系に変換するための回転行列、拡大縮小行列、及び平行移動行列の組み合わせで表現することができる。なお、入力される三次元点群と背景点群が同一の絶対座標系で表現されている場合、後述する前景点群統合部204で計測姿勢を推定する場合、点群統合部104で計測姿勢を推定する場合のいずれかの場合には、三次元点群の計測姿勢の入力は不要である。また、カメラ画像の撮影姿勢は、例えば、カメラの内部パラメータ、外部パラメータ、及び歪み係数の組み合わせで表現することができる。なお、カメラの外部パラメータは絶対座標系に対する回転行列と並進ベクトルの組み合わせで表現しても良く、また、ライダーの座標系に対する回転行列と並進ベクトルの組み合わせで表現しても良い。また、三次元点群は、ある視点からの画素単位の奥行き値を持つ画像として記録したデプスマップの形式で表現されていても良い。
Here, the measurement attitude of the three-dimensional point cloud can be expressed, for example, as a combination of a rotation matrix, a scaling matrix, and a translation matrix for converting the three-dimensional point cloud into the same absolute coordinate system as the background point cloud. Note that when the input three-dimensional point cloud and the background point cloud are expressed in the same absolute coordinate system, when the measurement attitude is estimated by the foreground point cloud integration unit 204 described later, or when the measurement attitude is estimated by the point cloud integration unit 104, it is not necessary to input the measurement attitude of the three-dimensional point cloud. Also, the shooting attitude of the camera image can be expressed, for example, as a combination of the internal parameters, external parameters, and distortion coefficients of the camera. Note that the external parameters of the camera may be expressed as a combination of a rotation matrix and a translation vector with respect to the absolute coordinate system, or may be expressed as a combination of a rotation matrix and a translation vector with respect to the lidar coordinate system. Also, the three-dimensional point cloud may be expressed in the form of a depth map recorded as an image having a pixel-by-pixel depth value from a certain viewpoint.
表示部16は、例えば、液晶ディスプレイであり、計測された三次元点群を含む各種の情報を表示する。表示部16は、タッチパネル方式を採用して、入力部15として機能しても良い。
The display unit 16 is, for example, a liquid crystal display, and displays various information including the measured three-dimensional point cloud. The display unit 16 may be a touch panel type and function as the input unit 15.
通信インタフェース17は、他の機器と通信するためのインタフェースであり、例えば、イーサネット(登録商標)、FDDI、Wi-Fi(登録商標)等の規格が用いられる。
The communication interface 17 is an interface for communicating with other devices, and uses standards such as Ethernet (registered trademark), FDDI, and Wi-Fi (registered trademark).
次に、点群処理装置10の機能構成について説明する。図2は、点群処理装置10の機能構成の例を示すブロック図である。
Next, the functional configuration of the point cloud processing device 10 will be described. Figure 2 is a block diagram showing an example of the functional configuration of the point cloud processing device 10.
点群処理装置10は、機能的には、図2に示すように、対応部101と、着色部102と、前景抽出部103と、点群統合部104と、出力部105と、を備えている。
As shown in FIG. 2, the point cloud processing device 10 functionally comprises a correspondence unit 101, a coloring unit 102, a foreground extraction unit 103, a point cloud integration unit 104, and an output unit 105.
対応部101は、三次元点群と、カメラ画像と、計測姿勢及び撮影姿勢のいずれかまたは両方を用いて、三次元点群の各点とカメラ画像の各画素との対応関係を特定する。なお、対応点の存在しない画素や対応画素の存在しない点があっても良い。
The correspondence unit 101 uses the 3D point cloud, the camera image, and either or both of the measurement attitude and the shooting attitude to determine the correspondence between each point of the 3D point cloud and each pixel of the camera image. Note that there may be pixels with no corresponding points or points with no corresponding pixels.
着色部102は、対応部101によって特定された対応関係に基づいて、カメラ画像の各画素の色情報を、三次元点群の対応する点に付与し、着色後の三次元点群を出力する。このとき、カメラ画像と撮影姿勢を用いて各画素に対応する三次元座標を推定し、各画素の色情報と推定した三次元座標に基づいて色情報が付与された三次元点群を作成し、出力しても良い。
The coloring unit 102 assigns color information of each pixel in the camera image to the corresponding points in the three-dimensional point cloud based on the correspondence relationship identified by the correspondence unit 101, and outputs the colored three-dimensional point cloud. At this time, the three-dimensional coordinates corresponding to each pixel may be estimated using the camera image and the shooting posture, and a three-dimensional point cloud to which color information has been assigned may be created and output based on the color information of each pixel and the estimated three-dimensional coordinates.
前景抽出部103は、三次元点群から、前景部分の点群である前景点群を抽出する。
The foreground extraction unit 103 extracts a foreground point cloud, which is a point cloud of the foreground part, from the three-dimensional point cloud.
具体的には、前景抽出部103は、三次元点群を入力とし、撮影対象となる物体に対応する点のみを抽出し、前景点群として出力する。前景の抽出には、対象物体が占める三次元座標の範囲を予め決めておき、その範囲内の点のみを抽出しても良い。また、前景を含まない基準点群を予め計測しておき、入力された点群のうち基準点群が近傍に存在しない点のみを前景点群とみなしても良い(図3参照)。
Specifically, the foreground extraction unit 103 receives a three-dimensional point cloud as input, extracts only points that correspond to the object being photographed, and outputs them as a foreground point cloud. To extract the foreground, a three-dimensional coordinate range occupied by the object may be determined in advance, and only points within that range may be extracted. Alternatively, a reference point cloud that does not include the foreground may be measured in advance, and only points in the input point cloud that do not have any reference point in the vicinity may be regarded as foreground points (see Figure 3).
図3では、基準点群を、カメラ視点のデプスマップに変換し、入力された三次元点群を、カメラ視点のデプスマップに変換し、画素毎の差分に対する閾値処理により、前景を抽出し、前景点群を得る例を示している。
Figure 3 shows an example in which the reference point cloud is converted into a depth map from the camera's viewpoint, the input 3D point cloud is converted into a depth map from the camera's viewpoint, and the foreground is extracted by thresholding the difference between each pixel to obtain the foreground point cloud.
また、カメラ画像に対して画像認識等の画像処理を適用し、対象物体の二次元領域を決定し、対応部101で特定した画素と点の対応関係に基づいて対応する点を抽出しても良い。
In addition, image processing such as image recognition may be applied to the camera image to determine the two-dimensional region of the target object, and corresponding points may be extracted based on the correspondence between the pixels and points identified by the correspondence unit 101.
点群統合部104は、前景点群と、予め求められた、背景部分の点群である背景点群とを統合する。
The point cloud integration unit 104 integrates the foreground point cloud with a background point cloud, which is a point cloud of the background portion that has been calculated in advance.
具体的には、点群統合部104は、背景点群と、前景点群及び前景点群の位置情報とを入力とし、すべての点群を重畳した三次元点群として出力する。前景点群の位置情報が入力されない場合、予め決められた位置に表示しても良く、また、別途計算された位置情報を前景点群の位置情報としても良い。なお、背景点群と前景点群が同一の絶対座標系で表現されている場合、前景点群の位置情報の入力は不要である。
Specifically, the point cloud integration unit 104 receives the background point cloud, the foreground point cloud, and the positional information of the foreground point cloud, and outputs a three-dimensional point cloud in which all point clouds are superimposed. If the positional information of the foreground point cloud is not input, the foreground point cloud may be displayed at a predetermined position, or separately calculated positional information may be used as the positional information of the foreground point cloud. Note that if the background point cloud and the foreground point cloud are expressed in the same absolute coordinate system, it is not necessary to input the positional information of the foreground point cloud.
出力部105は、点群統合部104から出力された三次元点群をデータとして出力する。例えば、統合した三次元点群をファイルとして出力しても良い。また、三次元点群をある視点からの画像や動画の形式として出力しても良い。出力方法はファイルへの保存の他、他システムへの伝送や、直接画面上への表示を行っても良い。
The output unit 105 outputs the three-dimensional point cloud output from the point cloud integration unit 104 as data. For example, the integrated three-dimensional point cloud may be output as a file. The three-dimensional point cloud may also be output in the form of an image or video from a certain viewpoint. The output method may include saving to a file, transmitting to another system, or displaying directly on a screen.
<本実施形態に係る点群処理装置の作用>
次に、点群処理装置10の作用について説明する。 <Action of the point cloud processing device according to this embodiment>
Next, the operation of the point cloud processing device 10 will be described.
次に、点群処理装置10の作用について説明する。 <Action of the point cloud processing device according to this embodiment>
Next, the operation of the point cloud processing device 10 will be described.
図4、図5は、点群処理装置10による点群処理の流れを示すフローチャートである。CPU11がROM12又はストレージ14から点群処理プログラムを読み出して、RAM13に展開して実行することにより、点群処理が行なわれる。また、点群処理装置10に入力するデータは、カメラとライダーによる機器構成で取得されるものとし、計測したい撮影対象の物体がカメラの撮影範囲及びライダーの計測範囲に入るようカメラとライダーをそれぞれ設置する。点群処理装置10に、予め求められた背景点群が入力されているものとする。なお、点群処理が、点群処理方法の一例である。また、カメラとライダーの設置位置を固定可能な場合は、予めキャリブレーションを実施し、三次元点群の計測姿勢とカメラの撮影姿勢を求めておくことで、座標の変換式を毎回算出する処理を省略できる。
Figures 4 and 5 are flowcharts showing the flow of point cloud processing by the point cloud processing device 10. Point cloud processing is performed by the CPU 11 reading out a point cloud processing program from the ROM 12 or storage 14, expanding it into the RAM 13 and executing it. In addition, it is assumed that the data input to the point cloud processing device 10 is acquired by an equipment configuration including a camera and a LIDAR, and the camera and the LIDAR are installed so that the object to be measured is within the shooting range of the camera and the measurement range of the LIDAR. It is assumed that a background point cloud obtained in advance has been input to the point cloud processing device 10. Note that the point cloud processing is an example of a point cloud processing method. In addition, if the installation positions of the camera and the LIDAR can be fixed, it is possible to omit the process of calculating the coordinate conversion formula each time by performing calibration in advance and determining the measurement attitude of the three-dimensional point cloud and the shooting attitude of the camera.
最初に、ステップS101で、CPU11は、撮影対象の物体がいない状態でライダーによって計測された三次元点群である基準点群及び計測姿勢を取得する。
First, in step S101, the CPU 11 acquires a reference point cloud, which is a three-dimensional point cloud measured by the lidar when there is no object to be photographed, and a measured attitude.
ステップS102で、CPU11は、ライダーによって計測された三次元点群及び当該三次元点群を計測した計測姿勢との組み合わせと、カメラによって撮影したカメラ画像及び当該カメラ画像を撮影した撮影姿勢との組み合わせとを取得する。
In step S102, the CPU 11 obtains a combination of the 3D point cloud measured by the rider and the measurement attitude at which the 3D point cloud was measured, and a combination of the camera image captured by the camera and the shooting attitude at which the camera image was captured.
ステップS103で、CPU11は、対応部101として、三次元点群と、カメラ画像と、計測姿勢及び撮影姿勢のいずれかまたは両方を用いて、三次元点群とカメラ画像の間の対応関係として、三次元点群とカメラ画像の間の座標の変換式を導出する。
In step S103, the CPU 11, as the correspondence unit 101, uses the 3D point cloud, the camera image, and either or both of the measurement attitude and the shooting attitude to derive a transformation formula for the coordinates between the 3D point cloud and the camera image as a correspondence relationship between the 3D point cloud and the camera image.
次に、カメラ画像の各画素について、ステップS104、S105を繰り返し実行する。
Next, steps S104 and S105 are repeatedly executed for each pixel in the camera image.
ステップS104で、CPU11は、着色部102として、上記ステップS103で導出された変換式に基づいて、カメラ画像の当該画素の奥行き値を推定して、三次元座標を推定し、対応する三次元点を生成することにより、点群の高密度化を行う。一例として、特許文献1に記載の手法を用いて、高密度化されたデプスマップを取得する。具体的には、3次元点群をデプスマップに変換し、奥行き値のない画素を、周辺画素の奥行き値で補完し、カメラ画像となるべく矛盾しないようにデプスマップを補正し、補正後のデプスマップを、3次元点群に戻すことにより、高密度化された三次元点群を得る。
In step S104, the CPU 11, as the coloring unit 102, estimates the depth value of the pixel in the camera image based on the conversion formula derived in step S103, estimates the three-dimensional coordinates, and generates a corresponding three-dimensional point, thereby densifying the point cloud. As an example, a densified depth map is obtained using the method described in Patent Document 1. Specifically, the three-dimensional point cloud is converted into a depth map, pixels without depth values are complemented with the depth values of surrounding pixels, the depth map is corrected so as to be as consistent as possible with the camera image, and the corrected depth map is converted back into a three-dimensional point cloud, thereby obtaining a densified three-dimensional point cloud.
ステップS105で、CPU11は、着色部102として、上記ステップS104で生成した三次元点に、当該画素の色情報を付与する。
In step S105, the CPU 11, functioning as the coloring unit 102, assigns color information of the pixel to the three-dimensional point generated in step S104.
ステップS106で、CPU11は、前景抽出部103として、上記ステップS103で導出された変換式に基づいて、基準点群を、カメラ画像と同じ視点から見たデプスマップに変換すると共に、高密度化された3次元点群を、カメラ画像と同じ視点から見たデプスマップに変換する。なお、基準点群に対応するカメラ視点のカメラ画像を取得可能な場合は基準点群のデプスマップについても高密度化を実施してもよい。基準点群に対応するカメラ画像を取得できない場合は最近傍補間法などにより対応する点の存在しない画素の奥行き値を補間してもよい。
In step S106, the CPU 11, as the foreground extraction unit 103, converts the reference point group into a depth map viewed from the same viewpoint as the camera image based on the conversion formula derived in step S103, and also converts the densified 3D point group into a depth map viewed from the same viewpoint as the camera image. Note that if a camera image from a camera viewpoint corresponding to the reference point group can be acquired, densification may also be performed on the depth map of the reference point group. If a camera image corresponding to the reference point group cannot be acquired, the depth values of pixels with no corresponding points may be interpolated using nearest neighbor interpolation or the like.
そして、デプスマップの各画素について、ステップS107の処理を実行する。
Then, the process of step S107 is executed for each pixel in the depth map.
ステップS107で、CPU11は、前景抽出部103として、デプスマップの当該画素の奥行き値の差に応じて、当該画素の奥行き値を削除する。具体的には、基準点群のデプスマップにおける当該画素の奥行き値をDb、入力された三次元点群のデプスマップにおける同一画素の奥行き値をDiとしたとき、下記の式を満たす画素の奥行き値を削除する。
In step S107, the CPU 11, functioning as the foreground extraction unit 103, deletes the depth value of the pixel in question in accordance with the difference in the depth value of the pixel in the depth map. Specifically, when the depth value of the pixel in the depth map of the reference point group is D b and the depth value of the same pixel in the depth map of the input 3D point group is Di , the CPU 11 deletes the depth value of the pixel that satisfies the following formula:
Db-Di<d
D b −D i <d
なお、Dはカメラからの距離に比例する正の値であり、遠いほど大きい値を取るように表現されているものとする。dは閾値を表すパラメータである。
Note that D is a positive value proportional to the distance from the camera, and is expressed so that the farther away it is, the larger the value becomes. d is a parameter that represents the threshold value.
ステップS108で、CPU11は、前景抽出部103として、上記ステップS107の処理後のデプスマップを再度点群に戻すことにより前景点群を取得する。具体的には、カメラのレンズの焦点距離を含むカメラ内部パラメータを用いて導出される変換式を用いて、デプスマップの各画素について、3次元座標に変換することにより、三次元点群に戻す。なお、着色部102ではなく、前景抽出部103が、デプスマップの画素と対応するカメラ画像の画素の色情報を、対応する点に付与することで、点群への着色を実施するようにしてもよい。
In step S108, the CPU 11, functioning as the foreground extraction unit 103, converts the depth map after the processing of step S107 back into a point cloud to obtain a foreground point cloud. Specifically, the depth map is converted back into a three-dimensional point cloud by converting each pixel into three-dimensional coordinates using a conversion equation derived using camera internal parameters including the focal length of the camera lens. Note that the foreground extraction unit 103, instead of the coloring unit 102, may color the point cloud by adding color information of the pixel of the camera image corresponding to the pixel of the depth map to the corresponding point.
続いて、ステップS109において、CPU11は、点群統合部104として、前景点群を背景点群と統合するための、前景点群の点群位置情報を取得する。具体的には、前景点群を任意の位置に表示させるため、予め決められた位置情報を取得したり、外部のシステムから入力された点群位置情報を取得すればよい。
Next, in step S109, the CPU 11, functioning as the point cloud integration unit 104, acquires point cloud position information of the foreground point cloud in order to integrate the foreground point cloud with the background point cloud. Specifically, in order to display the foreground point cloud at an arbitrary position, it is sufficient to acquire predetermined position information or point cloud position information input from an external system.
ステップS109において、CPU11は、点群統合部104として、前景点群の点群位置情報と、予め求められた背景点群の点群位置情報とに基づいて、前景点群と背景点群とを統合する。ここで、前景点群の点群位置情報と、背景点群の点群位置情報とは、同じ座標系の位置情報である。
In step S109, the CPU 11, as the point cloud integration unit 104, integrates the foreground point cloud and the background point cloud based on the point cloud position information of the foreground point cloud and the point cloud position information of the background point cloud that has been determined in advance. Here, the point cloud position information of the foreground point cloud and the point cloud position information of the background point cloud are position information in the same coordinate system.
ステップS110において、CPU11は、出力部105として、点群統合部104から出力された三次元点群をデータとして出力する。具体的には、統合した点群をファイルや他システムに出力したり、表示部16により表示する。
In step S110, the CPU 11, functioning as the output unit 105, outputs the three-dimensional point cloud output from the point cloud integration unit 104 as data. Specifically, it outputs the integrated point cloud to a file or another system, or displays it on the display unit 16.
ステップS111において、CPU11は、三次元点群の計測を継続するか否かを判定する。三次元点群の計測を継続する場合には、上記ステップS102へ戻り、新たに、ライダーによって計測された三次元点群及び当該三次元点群を計測した計測姿勢との組み合わせと、カメラによって撮影したカメラ画像及び当該カメラ画像を撮影した撮影姿勢との組み合わせとを取得する。一方、三次元点群の計測を継続しない場合には、点群処理ルーチンを終了する。
In step S111, the CPU 11 determines whether or not to continue measuring the three-dimensional point cloud. If the measurement of the three-dimensional point cloud is to be continued, the process returns to step S102, and a new combination of the three-dimensional point cloud measured by the lidar and the measurement attitude at which the three-dimensional point cloud was measured, and a new combination of the camera image taken by the camera and the shooting attitude at which the camera image was taken, is obtained. On the other hand, if the measurement of the three-dimensional point cloud is not to be continued, the point cloud processing routine is terminated.
以上説明したように、本実施形態に係る点群処理装置は、計測された物体の表面上の三次元点群と、三次元点群を計測した計測姿勢との組み合わせを受け付け、三次元点群から、前景部分の点群である前景点群を抽出し、前景点群と、予め求められた、背景部分の点群である背景点群とを統合する。これにより、動物体を含む広範囲の三次元点群を短時間で計測することができる。
As described above, the point cloud processing device according to this embodiment accepts a combination of a 3D point cloud on the measured surface of an object and the measurement orientation in which the 3D point cloud was measured, extracts a foreground point cloud, which is a point cloud of the foreground portion, from the 3D point cloud, and combines the foreground point cloud with a background point cloud, which is a point cloud of the background portion that has been determined in advance. This makes it possible to measure a 3D point cloud of a wide range, including moving objects, in a short period of time.
また、点群への色情報付加に加えて点密度の高密度化を行うことで、短い計測時間でもより高密度な点群を取得できる。
In addition to adding color information to the point cloud, by increasing the point density, a higher density point cloud can be obtained even in a short measurement time.
また、入力された三次元点群を、カメラ視点からのデプスマップに変換し、事前に計測した基準点群から作成した基準デプスマップと比較し、基準デプスマップとの差分が閾値以上となる画素に対応する点のみを前景点群として抽出することで、動物体に対応する点のみを高速に抽出できる。
In addition, the input 3D point cloud is converted into a depth map from the camera's viewpoint, and compared with a reference depth map created from a reference point cloud measured in advance. Only points corresponding to pixels whose difference with the reference depth map is equal to or exceeds a threshold are extracted as foreground point clouds, allowing for high-speed extraction of only points corresponding to moving objects.
また、従来技術では、動物体を含む広い空間を表す三次元点群を高解像度に計測する場合には、1フレームの計測中に動物体の状態が変わってしまうため、計測が困難だった。一方、本実施形態では、動物体がいない背景点群を事前に計測しておき、動物体を表す領域については、短時間で疎点群を計測し、高解像度化技術を用いて高密度化することで、短時間での計測を実現する。
Furthermore, in conventional technology, when measuring a three-dimensional point cloud that represents a large space including a moving object at high resolution, the state of the moving object changes during measurement of one frame, making measurement difficult. On the other hand, in this embodiment, a background point cloud that does not contain a moving object is measured in advance, and a sparse point cloud is measured in a short time for the area representing the moving object, and then densified using high-resolution technology, thereby achieving measurement in a short time.
[第2実施形態]
次に第2実施形態に係る点群処理装置について説明する。なお、第1実施形態と同様の構成となる部分については、同一符号を付して説明を省略する。 [Second embodiment]
Next, a point cloud processing apparatus according to a second embodiment will be described. Note that parts having the same configuration as those in the first embodiment will be given the same reference numerals and the description thereof will be omitted.
次に第2実施形態に係る点群処理装置について説明する。なお、第1実施形態と同様の構成となる部分については、同一符号を付して説明を省略する。 [Second embodiment]
Next, a point cloud processing apparatus according to a second embodiment will be described. Note that parts having the same configuration as those in the first embodiment will be given the same reference numerals and the description thereof will be omitted.
第2実施形態では、ライダーとカメラの組み合わせを2組以上用いて前景点群を計測し統合する点が、第1実施形態と異なっている。
The second embodiment differs from the first embodiment in that two or more combinations of lidar and cameras are used to measure and integrate the foreground point cloud.
<本実施形態に係る点群処理装置の構成>
上記図1は、本実施形態の点群処理装置210のハードウェア構成を示すブロック図である。 <Configuration of the point cloud processing device according to this embodiment>
FIG. 1 is a block diagram showing the hardware configuration of a point cloud processing device 210 according to this embodiment.
上記図1は、本実施形態の点群処理装置210のハードウェア構成を示すブロック図である。 <Configuration of the point cloud processing device according to this embodiment>
FIG. 1 is a block diagram showing the hardware configuration of a point cloud processing device 210 according to this embodiment.
上記図1に示すように、点群処理装置210は、CPU11、ROM12、RAM13、ストレージ14、入力部15、表示部16及び通信インタフェース17を有する。
As shown in FIG. 1, the point cloud processing device 210 has a CPU 11, a ROM 12, a RAM 13, a storage 14, an input unit 15, a display unit 16, and a communication interface 17.
入力部15は、計測された三次元点群及び当該三次元点群を計測した計測姿勢との組み合わせと、当該三次元点群と対応する領域を撮影したカメラ画像及び当該カメラ画像を撮影した撮影姿勢との組み合わせと、を1セットとし、2セット以上を含む各種の入力を行うために使用される。以下では、2セットの入力を行う場合の処理を示す。
The input unit 15 is used to perform various inputs, including two or more sets, where one set is a combination of a measured three-dimensional point cloud and the measurement attitude at which the three-dimensional point cloud was measured, and another set is a combination of a camera image of an area corresponding to the three-dimensional point cloud and the shooting attitude at which the camera image was taken. The following describes the process of performing two sets of input.
具体的には、入力部15に入力するデータは、図6に示す2台のカメラ20A、20Bと2台のライダー30A、30Bによる機器構成で取得することができる。計測したい撮影対象の物体が、カメラ20A、20Bの撮影範囲及びライダー30A、30Bの計測範囲に入るようカメラ20A、20Bとライダー30A、30Bをそれぞれ複数台設置する。
Specifically, the data input to the input unit 15 can be acquired by an equipment configuration with two cameras 20A, 20B and two LIDARs 30A, 30B as shown in FIG. 6. Multiple cameras 20A, 20B and LIDARs 30A, 30B are installed so that the object to be measured falls within the shooting range of the cameras 20A, 20B and the measurement range of the LIDARs 30A, 30B.
例えば、入力部15は、ライダー30Aによって計測された三次元点群及び当該三次元点群を計測したライダー30Aの計測姿勢との組み合わせと、当該三次元点群と対応する領域をカメラ20Aによって撮影したカメラ画像及び当該カメラ画像を撮影したカメラ20Aの撮影姿勢との組み合わせと、を受け付ける。また、入力部15は、ライダー30Bによって計測された三次元点群及び当該三次元点群を計測したライダー30Bの計測姿勢との組み合わせと、当該三次元点群と対応する領域をカメラ20Bによって撮影したカメラ画像及び当該カメラ画像を撮影したカメラ20Bの撮影姿勢との組み合わせと、を受け付ける。
For example, the input unit 15 accepts a combination of a three-dimensional point cloud measured by a rider 30A and the measured attitude of the rider 30A who measured the three-dimensional point cloud, and a combination of a camera image of an area corresponding to the three-dimensional point cloud taken by a camera 20A and the shooting attitude of the camera 20A who took the camera image. The input unit 15 also accepts a combination of a three-dimensional point cloud measured by a rider 30B and the measured attitude of the rider 30B who measured the three-dimensional point cloud, and a combination of a camera image of an area corresponding to the three-dimensional point cloud taken by a camera 20B and the shooting attitude of the camera 20B who took the camera image.
次に、点群処理装置210の機能構成について説明する。図7は、点群処理装置210の機能構成の例を示すブロック図である。
Next, the functional configuration of the point cloud processing device 210 will be described. Figure 7 is a block diagram showing an example of the functional configuration of the point cloud processing device 210.
点群処理装置210は、機能的には、図7に示すように、対応部201A、201Bと、着色部202A、202Bと、前景抽出部203A、203Bと、前景点群統合部204、点群統合部205と、出力部206と、を備えている。
As shown in FIG. 7, the point cloud processing device 210 functionally comprises correspondence units 201A and 201B, coloring units 202A and 202B, foreground extraction units 203A and 203B, a foreground point cloud integration unit 204, a point cloud integration unit 205, and an output unit 206.
対応部201Aは、上記第1実施形態で説明した対応部101と同様に、ライダー30Aによって計測された三次元点群と、カメラ20Aによって撮影されたカメラ画像と、ライダー30Aの計測姿勢及びカメラ20Aの撮影姿勢のいずれかまたは両方を用いて、ライダー30Aによって計測された三次元点群の各点とカメラ20Aによって撮影されたカメラ画像の各画素との対応関係を特定する。
Similar to the correspondence unit 101 described in the first embodiment above, the correspondence unit 201A uses the three-dimensional point cloud measured by the rider 30A, the camera image captured by the camera 20A, and either or both of the measurement attitude of the rider 30A and the shooting attitude of the camera 20A to determine the correspondence between each point of the three-dimensional point cloud measured by the rider 30A and each pixel of the camera image captured by the camera 20A.
また、対応部201Bは、対応部201Aと同様に、ライダー30Bによって計測された三次元点群と、カメラ20Bによって撮影されたカメラ画像と、ライダー30Bの計測姿勢及びカメラ20Bの撮影姿勢のいずれかまたは両方を用いて、ライダー30Bによって計測された三次元点群の各点とカメラ20Bによって撮影されたカメラ画像の各画素との対応関係を特定する。
In addition, similar to correspondence unit 201A, correspondence unit 201B uses the three-dimensional point cloud measured by rider 30B, the camera image captured by camera 20B, and either or both of the measurement attitude of rider 30B and the shooting attitude of camera 20B to determine the correspondence between each point of the three-dimensional point cloud measured by rider 30B and each pixel of the camera image captured by camera 20B.
着色部202Aは、上記第1実施形態で説明した着色部102と同様に、対応部201Aによって特定された対応関係に基づいて、カメラ20Aによって撮影されたカメラ画像の各画素の色情報を、ライダー30Aによって計測された三次元点群の対応する点に付与し、着色後の三次元点群を出力する。
Similar to the coloring unit 102 described in the first embodiment above, the coloring unit 202A assigns color information of each pixel of the camera image captured by the camera 20A to the corresponding points of the three-dimensional point cloud measured by the LIDAR 30A based on the correspondence relationship identified by the correspondence unit 201A, and outputs the colored three-dimensional point cloud.
着色部202Bは、着色部202Aと同様に、対応部201Bによって特定された対応関係に基づいて、カメラ20Bによって撮影されたカメラ画像の各画素の色情報を、ライダー30Bによって計測された三次元点群の対応する点に付与し、着色後の三次元点群を出力する。
Similar to coloring unit 202A, coloring unit 202B assigns color information of each pixel of the camera image captured by camera 20B to the corresponding points of the three-dimensional point cloud measured by LIDAR 30B based on the correspondence relationship identified by correspondence unit 201B, and outputs the colored three-dimensional point cloud.
前景抽出部203Aは、上記第1実施形態で説明した前景抽出部103と同様に、着色部202Aによる着色後の三次元点群から、前景部分の点群である前景点群を抽出する。
Similar to the foreground extraction unit 103 described in the first embodiment above, the foreground extraction unit 203A extracts a foreground point cloud, which is a point cloud of the foreground portion, from the three-dimensional point cloud colored by the coloring unit 202A.
前景抽出部203Bは、前景抽出部203Aと同様に、着色部202Bによる着色後の三次元点群から、前景部分の点群である前景点群を抽出する。
Similar to foreground extraction unit 203A, foreground extraction unit 203B extracts a foreground point cloud, which is a point cloud of the foreground portion, from the three-dimensional point cloud colored by coloring unit 202B.
前景点群統合部204は、前景抽出部203A、203Bの各々で抽出された前景点群を、同一の座標系に変換し、複数の前景点群を重畳した前景点群として出力する。例えば、各前景点群に対応する計測姿勢に基づき、各前景点群を同一の絶対座標系に変換し、重畳させても良い。また、前景点群統合部204は、前景抽出部203A、203Bの各々で抽出された前景点群を統合し、接合部のずれが最小になるように位置合わせをしてもよい。すわなち、前景点群統合部204は、前景抽出部203A、203Bの各々で抽出された2つの前景点群に共通する領域の差分が最小となるよう前景点群の位置を補正した上で、前景点群を統合する。
The foreground point cloud integration unit 204 converts the foreground point clouds extracted by each of the foreground extraction units 203A and 203B into the same coordinate system and outputs a foreground point cloud in which multiple foreground point clouds are superimposed. For example, each foreground point cloud may be converted into the same absolute coordinate system based on the measured orientation corresponding to each foreground point cloud, and then superimposed. The foreground point cloud integration unit 204 may also integrate the foreground point clouds extracted by each of the foreground extraction units 203A and 203B, and align them so that the misalignment of the joints is minimized. In other words, the foreground point cloud integration unit 204 corrects the position of the foreground point clouds so that the difference in the area common to the two foreground point clouds extracted by each of the foreground extraction units 203A and 203B is minimized, and then integrates the foreground point clouds.
点群統合部205は、上記第1実施形態で説明した点群統合部104と同様に、統合された前景点群と、背景点群とを統合する。
The point cloud integration unit 205 integrates the integrated foreground point cloud and background point cloud, similar to the point cloud integration unit 104 described in the first embodiment above.
出力部206は、上記第1実施形態で説明した出力部105と同様に、点群統合部205から出力された三次元点群をデータとして出力する。
The output unit 206 outputs the three-dimensional point cloud output from the point cloud integration unit 205 as data, similar to the output unit 105 described in the first embodiment above.
<本実施形態に係る点群処理装置の作用>
次に、点群処理装置210の作用について説明する。 <Action of the point cloud processing device according to this embodiment>
Next, the operation of the point cloud processing device 210 will be described.
次に、点群処理装置210の作用について説明する。 <Action of the point cloud processing device according to this embodiment>
Next, the operation of the point cloud processing device 210 will be described.
図8は、点群処理装置210による点群処理の流れを示すフローチャートである。CPU11がROM12又はストレージ14から点群処理プログラムを読み出して、RAM13に展開して実行することにより、点群処理が行なわれる。また、点群処理装置210に入力するデータは、カメラ20A、20Bとライダー30A、30Bによる機器構成で取得されるものとし、計測したい撮影対象の物体が撮影範囲及び計測範囲に入るようカメラ20A、20Bとライダー30A、30Bをそれぞれ設置する。点群処理装置210に、予め求められた背景点群が入力されているものとする。
FIG. 8 is a flowchart showing the flow of point cloud processing by the point cloud processing device 210. Point cloud processing is performed by the CPU 11 reading out a point cloud processing program from the ROM 12 or storage 14, expanding it into the RAM 13 and executing it. Furthermore, it is assumed that the data input to the point cloud processing device 210 is acquired by an equipment configuration of cameras 20A, 20B and LIDARs 30A, 30B, and that the cameras 20A, 20B and LIDARs 30A, 30B are each installed so that the object to be photographed that is to be measured falls within the photographing range and measurement range. It is assumed that a previously determined background point cloud has been input to the point cloud processing device 210.
最初に、ステップS201で、CPU11は、撮影対象の物体がいない状態でライダー30Aによって計測された三次元点群である基準点群及び計測姿勢を取得する。
First, in step S201, the CPU 11 acquires a reference point cloud, which is a three-dimensional point cloud measured by the lidar 30A in the absence of an object to be photographed, and a measured attitude.
また、ステップS201と並列に、ステップS203で、CPU11は、撮影対象の物体がいない状態でライダー30Bによって計測された三次元点群である基準点群及び計測姿勢を取得する。
In parallel with step S201, in step S203, the CPU 11 acquires a reference point cloud, which is a three-dimensional point cloud measured by the lidar 30B in the absence of an object to be photographed, and a measured attitude.
そして、ステップS202で、CPU11は、ライダー30Aによって計測された三次元点群から、前景点群を抽出する。
Then, in step S202, the CPU 11 extracts a foreground point cloud from the three-dimensional point cloud measured by the LIDAR 30A.
このステップS202は、上記第1実施形態で説明したステップS102~S108と同様の処理により実現され、3次元点群の取得、高密度化、点群への着色、及び前景点群の抽出が実施される。
This step S202 is realized by the same processing as steps S102 to S108 described in the first embodiment above, and involves obtaining a 3D point cloud, densifying it, coloring the point cloud, and extracting the foreground point cloud.
また、ステップS202と並列に、ステップS204で、CPU11は、ライダー30Bによって計測された三次元点群から、前景点群を抽出する。
In parallel with step S202, in step S204, the CPU 11 extracts a foreground point cloud from the three-dimensional point cloud measured by the LIDAR 30B.
このステップS204は、上記第1実施形態で説明したステップS102~S108と同様の処理により実現され、3次元点群の取得、高密度化、点群への着色、及び前景点群の抽出が実施される。
This step S204 is realized by the same processing as steps S102 to S108 described in the first embodiment above, and involves obtaining a 3D point cloud, densifying it, coloring the point cloud, and extracting the foreground point cloud.
そして、ステップS205で、CPU11は、前景点群統合部204として、前景抽出部203A、203Bの各々で抽出された前景点群を統合し、接合部のずれが最小になるように位置合わせをする。
Then, in step S205, the CPU 11, functioning as the foreground point cloud integration unit 204, integrates the foreground point clouds extracted by each of the foreground extraction units 203A and 203B, and aligns them so that the misalignment of the joints is minimized.
このとき、前景点群の統合は、それぞれの計測姿勢に基づいて前景点群に対して回転と平行移動をすることで位置を合わせて1つの点群として統合することができる。しかし、各点群を計測した時刻のずれなどにより完全に位置合わせができない場合がある。そこで、例えば非特許文献1に記載の技術を用いることで、複数の点群に共通している領域ができるだけ重なるような回転と平行移動を算出しても良い。
In this case, the foreground point clouds can be integrated into a single point cloud by aligning their positions by rotating and translating the foreground point clouds based on their respective measured orientations. However, there are cases where perfect alignment cannot be achieved due to differences in the time at which each point cloud is measured. In this regard, for example, the technology described in Non-Patent Document 1 can be used to calculate rotation and translation so that areas common to multiple point clouds overlap as much as possible.
[非特許文献1]:RUSINKIEWICZ, Szymon; LEVOY, Marc. Efficient variants of the ICP algorithm. In: Proceedings third international conference on 3-D digital imaging and modeling. IEEE, 2001. p. 145-152.
[Non-patent document 1]: RUSINKIEWICZ, Szymon; LEVOY, Marc. Efficient variants of the ICP algorithm. In: Proceedings third international conference on 3-D digital imaging and modeling. IEEE, 2001. p. 145-152.
続いて、ステップS206において、CPU11は、点群統合部205として、前景点群を背景点群と統合するための点群位置情報を取得する。具体的には、前景点群の統合時に、いずれかの前景点群を基準とし、その他の前景点群を、基準となる前景点群に位置合わせするための回転と平行移動を算出して統合した場合は、基準となる前景点群の計測姿勢を点群位置情報としてもよい。また、複数の前景点群の統合前後での位置ずれを小さくするため、統合の前後で重心位置が変わらないように前景点群位置情報を決定しても良い。また、前景点群を任意の位置に表示させるため、予め決められた位置情報を使用したり、外部のシステムから入力された点群位置情報を使用しても良い。
Next, in step S206, the CPU 11, functioning as the point cloud integration unit 205, acquires point cloud position information for integrating the foreground point cloud with the background point cloud. Specifically, when integrating the foreground point clouds, if one of the foreground point clouds is used as a reference and the other foreground point clouds are integrated by calculating rotation and translation for aligning them with the reference foreground point cloud, the measured orientation of the reference foreground point cloud may be used as the point cloud position information. Furthermore, in order to reduce the positional deviation before and after integrating multiple foreground point clouds, the foreground point cloud position information may be determined so that the center of gravity does not change before and after the integration. Furthermore, in order to display the foreground point cloud at an arbitrary position, predetermined position information or point cloud position information input from an external system may be used.
ステップS207において、CPU11は、点群統合部205として、前景点群の点群位置情報と、背景点群の点群位置情報とに基づいて、前景点群と背景点群とを統合する。
In step S207, the CPU 11, functioning as the point cloud integration unit 205, integrates the foreground point cloud and the background point cloud based on the point cloud position information of the foreground point cloud and the point cloud position information of the background point cloud.
ステップS208において、CPU11は、出力部206として、点群統合部205から出力された三次元点群をデータとして出力する。
In step S208, the CPU 11, as the output unit 206, outputs the three-dimensional point cloud output from the point cloud integration unit 205 as data.
ステップS209において、CPU11は、三次元点群の計測を継続するか否かを判定する。三次元点群の計測を継続する場合には、上記ステップS202、S204へ戻り、新たに、ライダー30A、30Bによって計測された三次元点群及び当該三次元点群を計測した計測姿勢との組み合わせと、カメラ20A、20Bによって撮影したカメラ画像及び当該カメラ画像を撮影した撮影姿勢との組み合わせとを取得する。一方、三次元点群の計測を継続しない場合には、点群処理ルーチンを終了する。
In step S209, the CPU 11 determines whether or not to continue measuring the three-dimensional point cloud. If the measurement of the three-dimensional point cloud is to be continued, the process returns to steps S202 and S204, and a new combination of the three-dimensional point cloud measured by the riders 30A and 30B and the measurement attitude at which the three-dimensional point cloud was measured, and a new combination of the camera images taken by the cameras 20A and 20B and the shooting attitude at which the camera images were taken, is obtained. On the other hand, if the measurement of the three-dimensional point cloud is not to be continued, the point cloud processing routine is terminated.
以上説明したように、第2実施形態の点群処理装置は、ライダーとカメラの組み合わせを複数組用いて前景点群を計測し統合することで、複数の動物体の計測や死角の少ない計測をすることができる。
As described above, the point cloud processing device of the second embodiment can measure multiple moving objects and perform measurements with fewer blind spots by measuring and integrating foreground point clouds using multiple combinations of lidar and cameras.
また、2つ以上の前景点群に共通する領域の差分が最小となるよう前景点群の位置を補正して統合することで、計測機器間での計測時刻に差があり単純に統合するとずれが生じてしまう場合でも、見た目の違和感を軽減することができる。
In addition, by correcting the positions of the foreground point clouds and integrating them so that the difference in areas common to two or more foreground point clouds is minimized, it is possible to reduce the visual discomfort even when there is a difference in the measurement time between measuring instruments and simple integration would result in misalignment.
また、ライダーが水平に三次元点群を計測した場合、扇形状に地面が写りこみ、着色部から出力される点群にも地面の点が残る。このまま前景点群の統合を実施した場合、扇形部分が一致してしまい位置合わせに失敗するため、前景以外の部分の点群を事前に削除する必要がある。点群の高さ方向の座標に基づいて閾値処理することも考えられるが、本実施形態では、最初に計測した基準点群との差分により前景点群を抽出する。これにより、斜面や壁、障害物などがある場合にも対応することができる。
In addition, when a lidar measures a 3D point cloud horizontally, the ground is captured in a fan shape, and ground points remain in the point cloud output from the coloring section. If the foreground point cloud is integrated in this state, the fan-shaped parts will coincide and alignment will fail, so it is necessary to delete the point cloud in parts other than the foreground in advance. Although it is possible to perform threshold processing based on the height coordinates of the point cloud, in this embodiment, the foreground point cloud is extracted based on the difference with the reference point cloud measured initially. This makes it possible to handle cases where there are slopes, walls, obstacles, etc.
[第3実施形態]
次に第3実施形態に係る点群処理装置について説明する。なお、第1実施形態、第2実施形態と同様の構成となる部分については、同一符号を付して説明を省略する。 [Third embodiment]
Next, a point cloud processing apparatus according to a third embodiment will be described. Note that parts having the same configuration as those in the first and second embodiments will be given the same reference numerals and descriptions thereof will be omitted.
次に第3実施形態に係る点群処理装置について説明する。なお、第1実施形態、第2実施形態と同様の構成となる部分については、同一符号を付して説明を省略する。 [Third embodiment]
Next, a point cloud processing apparatus according to a third embodiment will be described. Note that parts having the same configuration as those in the first and second embodiments will be given the same reference numerals and descriptions thereof will be omitted.
第3実施形態では、複数の前景点群を統合した後に、着色を実施する点が、第2実施形態と異なっている。
The third embodiment differs from the second embodiment in that coloring is performed after integrating multiple foreground point groups.
<本実施形態に係る点群処理装置の構成>
上記図1は、本実施形態の点群処理装置310のハードウェア構成を示すブロック図である。 <Configuration of the point cloud processing device according to this embodiment>
FIG. 1 is a block diagram showing the hardware configuration of a point cloud processing device 310 according to this embodiment.
上記図1は、本実施形態の点群処理装置310のハードウェア構成を示すブロック図である。 <Configuration of the point cloud processing device according to this embodiment>
FIG. 1 is a block diagram showing the hardware configuration of a point cloud processing device 310 according to this embodiment.
上記図1に示すように、点群処理装置310は、CPU11、ROM12、RAM13、ストレージ14、入力部15、表示部16及び通信インタフェース17を有する。
As shown in FIG. 1, the point cloud processing device 310 has a CPU 11, a ROM 12, a RAM 13, a storage 14, an input unit 15, a display unit 16, and a communication interface 17.
入力部15は、第2実施形態と同様に、計測された三次元点群及び当該三次元点群を計測した計測姿勢との組み合わせと、当該三次元点群と対応する領域を撮影したカメラ画像及び当該カメラ画像を撮影した撮影姿勢との組み合わせと、を1セットとし、2セット以上を含む各種の入力を行うために使用される。以下では、2セットの入力を行う場合の処理を示す。
As in the second embodiment, the input unit 15 is used to perform various inputs, including two or more sets, with one set being a combination of a measured three-dimensional point cloud and the measurement attitude at which the three-dimensional point cloud was measured, and another being a combination of a camera image capturing an area corresponding to the three-dimensional point cloud and the shooting attitude at which the camera image was captured. The following describes the process of performing two sets of input.
具体的には、入力部15に入力するデータは、上記図6に示す2台のカメラ20A、20Bと2台のライダー30A、30Bによる機器構成で取得することができる。
Specifically, the data input to the input unit 15 can be acquired using the equipment configuration shown in FIG. 6 above, which includes two cameras 20A and 20B and two riders 30A and 30B.
次に、点群処理装置310の機能構成について説明する。図9は、点群処理装置310の機能構成の例を示すブロック図である。
Next, the functional configuration of the point cloud processing device 310 will be described. Figure 9 is a block diagram showing an example of the functional configuration of the point cloud processing device 310.
点群処理装置310は、機能的には、図9に示すように、対応部301A、301Bと、前景抽出部302A、302Bと、前景点群統合部303、着色部304と、点群統合部305と、出力部306と、を備えている。
As shown in FIG. 9, the point cloud processing device 310 functionally comprises correspondence units 301A and 301B, foreground extraction units 302A and 302B, a foreground point cloud integration unit 303, a coloring unit 304, a point cloud integration unit 305, and an output unit 306.
対応部301Aは、上記第2実施形態で説明した対応部201Aと同様に、ライダー30Aによって計測された三次元点群と、カメラ20Aによって撮影されたカメラ画像と、ライダー30Aの計測姿勢及びカメラ20Aの撮影姿勢のいずれかまたは両方を用いて、ライダー30Aによって計測された三次元点群の各点とカメラ20Aによって撮影されたカメラ画像の各画素との対応関係を特定する。
Similar to the correspondence unit 201A described in the second embodiment above, the correspondence unit 301A uses the three-dimensional point cloud measured by the rider 30A, the camera image captured by the camera 20A, and either or both of the measurement attitude of the rider 30A and the shooting attitude of the camera 20A to determine the correspondence between each point of the three-dimensional point cloud measured by the rider 30A and each pixel of the camera image captured by the camera 20A.
また、対応部301Bは、上記第2実施形態で説明した対応部201Bと同様に、ライダー30Bによって計測された三次元点群と、カメラ20Bによって撮影されたカメラ画像と、ライダー30Bの計測姿勢及びカメラ20Bの撮影姿勢のいずれかまたは両方を用いて、ライダー30Bによって計測された三次元点群の各点とカメラ20Bによって撮影されたカメラ画像の各画素との対応関係を特定する。
In addition, similar to the correspondence unit 201B described in the second embodiment above, the correspondence unit 301B uses the three-dimensional point cloud measured by the rider 30B, the camera image captured by the camera 20B, and either or both of the measurement attitude of the rider 30B and the shooting attitude of the camera 20B to determine the correspondence between each point of the three-dimensional point cloud measured by the rider 30B and each pixel of the camera image captured by the camera 20B.
前景抽出部302Aは、ライダー30Aによって計測された三次元点群から、前景部分の点群である前景点群を抽出する。
The foreground extraction unit 302A extracts a foreground point cloud, which is a point cloud of the foreground portion, from the three-dimensional point cloud measured by the LIDAR 30A.
具体的には、前景抽出部302Aは、上記第1実施形態で説明した前景抽出部103と同様に、ライダー30Aによって計測された三次元点群を入力とし、撮影対象となる物体に対応する点のみを抽出し、前景点群として出力する。
Specifically, like the foreground extraction unit 103 described in the first embodiment above, the foreground extraction unit 302A receives the three-dimensional point cloud measured by the LIDAR 30A as input, extracts only the points that correspond to the object being photographed, and outputs them as a foreground point cloud.
前景抽出部302Bは、前景抽出部302Aと同様に、ライダー30Bによって計測された三次元点群から、前景部分の点群である前景点群を抽出する。
Similar to foreground extraction unit 302A, foreground extraction unit 302B extracts a foreground point cloud, which is a point cloud of the foreground portion, from the three-dimensional point cloud measured by LIDAR 30B.
前景点群統合部303は、上記第2実施形態で説明した前景点群統合部204と同様に、前景抽出部302A、302Bの各々で抽出された前景点群を、同一の座標系に変換し、複数の前景点群を重畳した前景点群として出力する。また、前景点群統合部303は、前景抽出部302A、302Bの各々で抽出された前景点群を統合し、接合部のずれが最小になるように位置合わせをしてもよい。
Similar to the foreground point cloud integration unit 204 described in the second embodiment above, the foreground point cloud integration unit 303 converts the foreground point clouds extracted by each of the foreground extraction units 302A and 302B into the same coordinate system and outputs a foreground point cloud in which multiple foreground point clouds are superimposed. In addition, the foreground point cloud integration unit 303 may integrate the foreground point clouds extracted by each of the foreground extraction units 302A and 302B, and align them so that the misalignment of the joints is minimized.
着色部304は、対応部301A、301Bによって特定された対応関係に基づいて、統合された前景点群の各点に、カメラ20A、20Bによって撮影されたカメラ画像の対応する画素の色情報に基づいて決定した色を付与する。付与する色は例えばRGBの各次元について中央値を採用しても良く、クラスタリングを行い最も大きいクラスタの代表値を採用してもよい。
The coloring unit 304 assigns a color to each point of the integrated foreground point group based on the correspondence relationship identified by the correspondence units 301A and 301B, determined based on the color information of the corresponding pixel in the camera image captured by the cameras 20A and 20B. The color to be assigned may be, for example, the median value for each dimension of RGB, or a representative value of the largest cluster may be used after clustering.
具体的には、対応部301Aによって特定された対応関係に基づいて、カメラ20Aによって撮影されたカメラ画像の各画素の色情報を、統合された前景点群の対応する点に付与し、対応部301Bによって特定された対応関係に基づいて、カメラ20Bによって撮影されたカメラ画像の各画素の色情報を、統合された前景点群の対応する点に付与する。そして、多数決により、統合された前景点群の各点に付与する色情報を決定し、着色後の三次元点群を出力する。
Specifically, based on the correspondence relationship specified by correspondence unit 301A, color information of each pixel of the camera image captured by camera 20A is assigned to the corresponding point of the integrated foreground point cloud, and based on the correspondence relationship specified by correspondence unit 301B, color information of each pixel of the camera image captured by camera 20B is assigned to the corresponding point of the integrated foreground point cloud. Then, the color information to be assigned to each point of the integrated foreground point cloud is determined by majority vote, and the colored 3D point cloud is output.
点群統合部305は、上記第2実施形態で説明した点群統合部205と同様に、統合された前景点群と、背景点群とを統合する。
The point cloud integration unit 305 integrates the integrated foreground point cloud and background point cloud, similar to the point cloud integration unit 205 described in the second embodiment above.
出力部306は、上記第2実施形態で説明した出力部206と同様に、点群統合部305から出力された三次元点群をデータとして出力する。
The output unit 306 outputs the three-dimensional point cloud output from the point cloud integration unit 305 as data, similar to the output unit 206 described in the second embodiment above.
<本実施形態に係る点群処理装置の作用>
次に、点群処理装置310の作用について説明する。 <Action of the point cloud processing device according to this embodiment>
Next, the operation of the point cloud processing device 310 will be described.
次に、点群処理装置310の作用について説明する。 <Action of the point cloud processing device according to this embodiment>
Next, the operation of the point cloud processing device 310 will be described.
図10は、点群処理装置310による点群処理の流れを示すフローチャートである。CPU11がROM12又はストレージ14から点群処理プログラムを読み出して、RAM13に展開して実行することにより、点群処理が行なわれる。また、点群処理装置310に入力するデータは、カメラ20A、20Bとライダー30A、30Bによる機器構成で取得されるものとし、計測したい撮影対象の物体が撮影範囲及び計測範囲に入るようカメラ20A、20Bとライダー30A、30Bをそれぞれ設置する。点群処理装置310に、予め求められた背景点群が入力されているものとする。
FIG. 10 is a flowchart showing the flow of point cloud processing by the point cloud processing device 310. Point cloud processing is performed by the CPU 11 reading out a point cloud processing program from the ROM 12 or storage 14, expanding it into the RAM 13 and executing it. Furthermore, it is assumed that the data input to the point cloud processing device 310 is acquired by an equipment configuration of cameras 20A, 20B and LIDARs 30A, 30B, and that the cameras 20A, 20B and LIDARs 30A, 30B are each installed so that the object to be photographed that is to be measured falls within the photographing range and measurement range. It is assumed that a previously determined background point cloud has been input to the point cloud processing device 310.
最初に、ステップS301で、CPU11は、撮影対象の物体がいない状態でライダー30Aによって計測された三次元点群である基準点群及び計測姿勢を取得する。
First, in step S301, the CPU 11 acquires a reference point cloud, which is a three-dimensional point cloud measured by the lidar 30A in the absence of an object to be photographed, and a measured attitude.
また、ステップS301と並列に、ステップS303で、CPU11は、撮影対象の物体がいない状態でライダー30Bによって計測された三次元点群である基準点群及び計測姿勢を取得する。
In parallel with step S301, in step S303, the CPU 11 acquires a reference point cloud, which is a three-dimensional point cloud measured by the lidar 30B in the absence of an object to be photographed, and a measured attitude.
そして、ステップS302で、CPU11は、ライダー30Aによって計測された三次元点群から、前景点群を抽出する。
Then, in step S302, the CPU 11 extracts a foreground point cloud from the three-dimensional point cloud measured by the LIDAR 30A.
このステップS302は、上記第1実施形態で説明したステップS102、S103、S106~S108と同様の処理により実現され、3次元点群の取得、及び前景点群の抽出が実施される。
This step S302 is realized by the same processing as steps S102, S103, and S106 to S108 described in the first embodiment above, and involves obtaining a 3D point cloud and extracting a foreground point cloud.
また、ステップS302と並列に、ステップS304で、CPU11は、ライダー30Bによって計測された三次元点群から、前景点群を抽出する。
In parallel with step S302, in step S304, the CPU 11 extracts a foreground point cloud from the three-dimensional point cloud measured by the LIDAR 30B.
このステップS304は、上記第1実施形態で説明したステップS102、S103、S106~S108と同様の処理により実現され、3次元点群の取得、及び前景点群の抽出が実施される。
This step S304 is realized by the same processing as steps S102, S103, and S106 to S108 described in the first embodiment above, and involves obtaining a 3D point cloud and extracting a foreground point cloud.
そして、ステップS305で、CPU11は、前景点群統合部303として、前景抽出部302A、302Bの各々で抽出された前景点群を統合し、接合部のずれが最小になるように位置合わせをする。
Then, in step S305, the CPU 11, functioning as the foreground point cloud integration unit 303, integrates the foreground point clouds extracted by each of the foreground extraction units 302A and 302B, and aligns them so that the misalignment of the joints is minimized.
ステップS306で、CPU11は、着色部304として、対応部301A、301Bによって特定された対応関係に基づいて、統合された前景点群の各点に、カメラ画像の画素の色情報から決定した色を付与する。また、変換式に基づいて、カメラ画像の各画素の奥行き値を推定して、三次元座標を推定し、対応する三次元点を生成することにより、点群の高密度化を行ってもよい。
In step S306, the CPU 11, as the coloring unit 304, assigns a color determined from the color information of the pixels in the camera image to each point of the integrated foreground point cloud based on the correspondence relationship identified by the correspondence units 301A and 301B. In addition, the CPU 11 may densify the point cloud by estimating the depth value of each pixel in the camera image based on a conversion formula, estimating the three-dimensional coordinates, and generating corresponding three-dimensional points.
続いて、ステップS307において、CPU11は、点群統合部305として、前景点群を背景点群と統合するための点群位置情報を取得する。
Next, in step S307, the CPU 11, functioning as the point cloud integration unit 305, acquires point cloud position information for integrating the foreground point cloud with the background point cloud.
ステップS308において、CPU11は、点群統合部305として、前景点群の点群位置情報と、背景点群の点群位置情報とに基づいて、前景点群と背景点群とを統合する。
In step S308, the CPU 11, functioning as the point cloud integration unit 305, integrates the foreground point cloud and the background point cloud based on the point cloud position information of the foreground point cloud and the point cloud position information of the background point cloud.
ステップS309において、CPU11は、出力部306として、点群統合部205から出力された三次元点群をデータとして出力する。
In step S309, the CPU 11, as the output unit 306, outputs the three-dimensional point cloud output from the point cloud integration unit 205 as data.
ステップS310において、CPU11は、三次元点群の計測を継続するか否かを判定する。三次元点群の計測を継続する場合には、上記ステップS302、S304へ戻り、新たに、ライダー30A、30Bによって計測された三次元点群及び当該三次元点群を計測した計測姿勢との組み合わせと、カメラ20A、20Bによって撮影したカメラ画像及び当該カメラ画像を撮影した撮影姿勢との組み合わせとを取得する。一方、三次元点群の計測を継続しない場合には、点群処理ルーチンを終了する。
In step S310, the CPU 11 determines whether or not to continue measuring the three-dimensional point cloud. If the measurement of the three-dimensional point cloud is to be continued, the process returns to steps S302 and S304, and a new combination of the three-dimensional point cloud measured by the riders 30A and 30B and the measurement attitude at which the three-dimensional point cloud was measured, and a new combination of the camera images taken by the cameras 20A and 20B and the shooting attitude at which the camera images were taken, is obtained. On the other hand, if the measurement of the three-dimensional point cloud is not to be continued, the point cloud processing routine is terminated.
以上説明したように、第3実施形態の点群処理装置は、前景点群の統合後に点群の着色を行うことで、複数のカメラ画像に基づいて着色する色を決定でき、複数の点群の境界位置での色のムラを軽減できる。
As described above, the point cloud processing device of the third embodiment colors the point cloud after integrating the foreground point cloud, and can determine the color to be used based on multiple camera images, thereby reducing color unevenness at the boundary positions of multiple point clouds.
三次元点群への着色では、ライダーで計測した三次元点群に対して、カメラで撮影したカメラ画像の各画素の色を参照し、点ごとの色を決定する。ライダーとカメラが別装置である場合は、必ず視差が発生し、キャリブレーションの誤差も発生する。本実施形態では、複数のカメラ画像に基づいて点ごとの色を決定することで、視差による死角の補完や誤差による色付けの間違いを多数決により軽減することができる。
When coloring a 3D point cloud, the color of each pixel in the camera images taken by the camera is referenced for the 3D point cloud measured by the LIDAR, and the color of each point is determined. If the LIDAR and the camera are separate devices, parallax will inevitably occur, and calibration errors will also occur. In this embodiment, by determining the color of each point based on multiple camera images, it is possible to compensate for blind spots caused by parallax and reduce coloring errors caused by errors by majority vote.
また、着色部で三次元点群の高密度化を行う場合、元の点群には存在しなかった点を増やすため、実際とは異なる位置に点が生成されてしまい、前景点群の統合がうまくいかなくなることが考えられる。本実施形態では、点群の高密度化の前に前景点群の統合を行うことで、より正確な位置合わせを実施することができる。
In addition, when densifying a three-dimensional point cloud in the coloring section, points that did not exist in the original point cloud are added, which may result in points being generated in positions different from the actual positions, which may result in poor integration of the foreground point cloud. In this embodiment, by integrating the foreground point cloud before densifying the point cloud, more accurate alignment can be achieved.
[第4実施形態]
次に第4実施形態に係る点群処理装置について説明する。なお、第1実施形態と同様の構成となる部分については、同一符号を付して説明を省略する。 [Fourth embodiment]
Next, a point cloud processing apparatus according to a fourth embodiment will be described. Note that parts having the same configuration as those in the first embodiment will be denoted by the same reference numerals and the description thereof will be omitted.
次に第4実施形態に係る点群処理装置について説明する。なお、第1実施形態と同様の構成となる部分については、同一符号を付して説明を省略する。 [Fourth embodiment]
Next, a point cloud processing apparatus according to a fourth embodiment will be described. Note that parts having the same configuration as those in the first embodiment will be denoted by the same reference numerals and the description thereof will be omitted.
第4実施形態では、三次元点群の計測とカメラ画像の撮影が同時に行われるようタイミングを制御し、連続的に計測及び撮影したデータを入力する点が、第1実施形態と異なっている。
The fourth embodiment differs from the first embodiment in that the timing of measuring the 3D point cloud and taking camera images is controlled so that they are performed simultaneously, and the measured and captured data is input continuously.
<本実施形態に係る点群処理装置の構成>
上記図1は、本実施形態の点群処理装置410のハードウェア構成を示すブロック図である。 <Configuration of the point cloud processing device according to this embodiment>
FIG. 1 is a block diagram showing the hardware configuration of a point cloud processing device 410 according to this embodiment.
上記図1は、本実施形態の点群処理装置410のハードウェア構成を示すブロック図である。 <Configuration of the point cloud processing device according to this embodiment>
FIG. 1 is a block diagram showing the hardware configuration of a point cloud processing device 410 according to this embodiment.
上記図1に示すように、点群処理装置410は、CPU11、ROM12、RAM13、ストレージ14、入力部15、表示部16及び通信インタフェース17を有する。
As shown in FIG. 1, the point cloud processing device 410 has a CPU 11, a ROM 12, a RAM 13, a storage 14, an input unit 15, a display unit 16, and a communication interface 17.
次に、点群処理装置410の機能構成について説明する。図11は、点群処理装置410の機能構成の例を示すブロック図である。
Next, the functional configuration of the point cloud processing device 410 will be described. Figure 11 is a block diagram showing an example of the functional configuration of the point cloud processing device 410.
点群処理装置410は、機能的には、図11に示すように、撮影制御部400、対応部101と、着色部102と、前景抽出部103と、点群統合部104と、出力部105と、を備えている。
As shown in FIG. 11, the point cloud processing device 410 functionally comprises an imaging control unit 400, a correspondence unit 101, a coloring unit 102, a foreground extraction unit 103, a point cloud integration unit 104, and an output unit 105.
撮影制御部400は、ライダーによる三次元点群の計測タイミングとカメラによるカメラ画像の撮影タイミングとが対応するように制御することを繰り返し行い、対応部101に入力する。
The imaging control unit 400 repeatedly controls the timing of the lidar's measurement of the 3D point cloud and the timing of the camera's image capture to correspond to each other, and inputs the results to the correspondence unit 101.
具体的には、撮影制御部400は、ライダーによって計測される三次元点群及びカメラによって撮影されるカメラ画像の時間のずれを最小限にし、同時に計測及び撮影が行われるよう制御する。例えば、時刻設定を事前に合わせておき定期的に計測及び撮影を行ってもよく、外部のシステムから複数の計測機器に同時に計測及び撮影の信号を送信してもよい。また、連続的にライダーによる計測及びカメラによる撮影を行い、計測した三次元点群及び撮影したカメラ画像を対応部101に順次入力する。
Specifically, the imaging control unit 400 minimizes the time lag between the 3D point cloud measured by the LIDAR and the camera images taken by the camera, and controls so that measurements and imaging are performed simultaneously. For example, the time may be set in advance to perform measurements and imaging periodically, or an external system may send measurement and imaging signals to multiple measuring devices simultaneously. In addition, measurements are performed continuously by the LIDAR and imaging is performed by the camera, and the measured 3D point cloud and captured camera images are input sequentially to the corresponding unit 101.
なお、第4実施形態に係る点群処理装置410の他の構成及び作用については、第1実施形態と同様であるため、説明を省略する。
Note that other configurations and operations of the point cloud processing device 410 according to the fourth embodiment are similar to those of the first embodiment, and therefore will not be described.
以上説明したように、第4実施形態の点群処理装置は、三次元点群の計測とカメラ画像の撮影が行われるよう制御することで、計測及び撮影のタイミングのずれによる点群への着色や前景点群の統合時の位置合わせのずれを抑制することができ、連続的に撮影することで動物体を含むシーンの時系列を三次元情報として撮影することができる。
As described above, the point cloud processing device of the fourth embodiment controls the measurement of a three-dimensional point cloud and the capture of camera images, thereby making it possible to suppress coloring of the point cloud caused by a difference in the timing of measurement and capture, and to prevent deviations in alignment when integrating foreground point clouds, and by capturing images continuously, it is possible to capture a time series of a scene including moving objects as three-dimensional information.
リアルタイムに動物体を含む物体を表す三次元点群を計測するとき、固定フレームレートで、点群の計測及び画像の撮影を行うと、後段の処理(高密度化、点群の統合)が間に合わなくなる場合がある。一方、すべての処理が終わるのを待って次のフレームを処理すると、各処理を並列化できる場合でも逐次的に処理したのと同様の時間がかかってしまう。そこで、本実施形態では、各処理が終了するタイミングを見計らい、先行して点群の計測指示及び画像の撮影指示をライダー及びカメラに出すことで、可能な限り高いフレームレートでの計測を実現することができる。
When measuring a 3D point cloud that represents an object, including a moving object, in real time, if the point cloud is measured and images are taken at a fixed frame rate, the subsequent processing (densification, point cloud integration) may not be able to keep up. On the other hand, if the next frame is processed after all processing is completed, it will take the same amount of time as sequential processing, even if each process can be parallelized. Therefore, in this embodiment, by timing each process to finish and issuing instructions to measure the point cloud and take images in advance to the lidar and camera, it is possible to achieve measurement at the highest possible frame rate.
なお、撮影制御部400は、予め時刻を合わせた複数台のPCまたはネットワークにより接続され連携して動作する複数台のPCによって構成されても良い。
The imaging control unit 400 may be configured with multiple PCs that are time-synchronized in advance, or multiple PCs that are connected via a network and operate in cooperation with each other.
また、撮影制御部400による制御を、第2、第3実施形態の点群処理装置に適用してもよい。
The control by the imaging control unit 400 may also be applied to the point cloud processing device of the second and third embodiments.
<変形例>
なお、本発明は、上述した実施形態に限定されるものではなく、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。 <Modification>
The present invention is not limited to the above-described embodiment, and various modifications and applications are possible without departing from the spirit and scope of the present invention.
なお、本発明は、上述した実施形態に限定されるものではなく、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。 <Modification>
The present invention is not limited to the above-described embodiment, and various modifications and applications are possible without departing from the spirit and scope of the present invention.
例えば、上記の実施形態では、ライダーとカメラの台数が同数である場合を例に説明したが、これに限定されるものではない。いずれかのカメラの撮影範囲で、ライダーの計測範囲がカバーされていれば、ライダーとカメラが同数でなくてもよい。
For example, in the above embodiment, the number of lidars and cameras is the same, but this is not limited to the above. As long as the measurement range of the lidar is covered by the shooting range of any of the cameras, the number of lidars and cameras does not have to be the same.
また、予め求められた背景点群が1つである場合を例に説明したが、これに限定されるものではない。予め求められた背景点群が複数あった場合でも事前に統合しておけばよい。
In addition, although the example has been described with respect to a case where there is one background point group calculated in advance, the present invention is not limited to this. Even if there are multiple background point groups calculated in advance, they can be integrated in advance.
カメラ画像が入力される場合を例に説明したが、これに限定されるものではない。カメラ画像の入力がない場合であってもよい。この場合、三次元点群への色情報の付与は行われない。
Although the example has been described with a case where a camera image is input, the present invention is not limited to this. There may be a case where no camera image is input. In this case, color information is not added to the 3D point cloud.
上記特許文献1に記載の手法を用いて、三次元点群の高密度化を行う場合を例に説明したが、これに限定されるものではない。他の高密度化の手法を用いて、三次元点群の高密度化を行ってもよい。
Although the above description has been given of an example in which the densification of a three-dimensional point cloud is performed using the method described in Patent Document 1, the present invention is not limited to this. The densification of a three-dimensional point cloud may be performed using other densification methods.
また、点群処理の最初に基準点群を計測する場合を例に説明したが、これに限定されるものではない。予め求められた背景点群からデプスマップを取得して、基準点群のデプスマップとして用いてもよい。
In addition, although the example described above is a case where the reference point cloud is measured at the beginning of point cloud processing, the present invention is not limited to this. A depth map may be obtained from a previously determined background point cloud and used as the depth map for the reference point cloud.
また、基準点群を、前景点群を抽出するための三次元点群とは別のライダーによって計測してもよい。この場合には、別のライダーによって計測された基準点群を、カメラ画像と同じ視点から見たデプスマップに変換すればよい。
The reference point cloud may also be measured by a different LIDAR from the 3D point cloud used to extract the foreground point cloud. In this case, the reference point cloud measured by the different LIDAR can be converted into a depth map viewed from the same viewpoint as the camera image.
また、上記各実施形態でCPUがソフトウェア(プログラム)を読み込んで実行した各種処理を、CPU以外の各種のプロセッサが実行してもよい。この場合のプロセッサとしては、FPGA(Field-Programmable Gate Array)等の製造後に回路構成を変更可能なPLD(Programmable Logic Device)、及びASIC(Application Specific Integrated Circuit)等の特定の処理を実行させるために専用に設計された回路構成を有するプロセッサである専用電気回路等が例示される。また、点群処理を、これらの各種のプロセッサのうちの1つで実行してもよいし、同種又は異種の2つ以上のプロセッサの組み合わせ(例えば、複数のFPGA、及びCPUとFPGAとの組み合わせ等)で実行してもよい。また、これらの各種のプロセッサのハードウェア的な構造は、より具体的には、半導体素子等の回路素子を組み合わせた電気回路である。
Furthermore, various processes that the CPU reads and executes software (programs) in each of the above embodiments may be executed by various processors other than the CPU. Examples of processors in this case include PLDs (Programmable Logic Devices) such as FPGAs (Field-Programmable Gate Arrays) whose circuit configuration can be changed after manufacture, and dedicated electrical circuits such as ASICs (Application Specific Integrated Circuits), which are processors with circuit configurations designed specifically to execute specific processes. Furthermore, point cloud processing may be executed by one of these various processors, or may be executed by a combination of two or more processors of the same or different types (for example, multiple FPGAs, and a combination of a CPU and an FPGA, etc.). Moreover, the hardware structure of these various processors is, more specifically, an electrical circuit that combines circuit elements such as semiconductor elements.
また、上記各実施形態では、点群処理プログラムがストレージ14に予め記憶(インストール)されている態様を説明したが、これに限定されない。プログラムは、CD-ROM(Compact Disk Read Only Memory)、DVD-ROM(Digital Versatile Disk Read Only Memory)、及びUSB(Universal Serial Bus)メモリ等の非一時的(non-transitory)記憶媒体に記憶された形態で提供されてもよい。また、プログラムは、ネットワークを介して外部装置からダウンロードされる形態としてもよい。
In addition, in each of the above embodiments, the point cloud processing program is described as being pre-stored (installed) in the storage 14, but this is not limiting. The program may be provided in a form stored in a non-transitory storage medium such as a CD-ROM (Compact Disk Read Only Memory), a DVD-ROM (Digital Versatile Disk Read Only Memory), or a USB (Universal Serial Bus) memory. The program may also be downloaded from an external device via a network.
以上の実施形態に関し、更に以下の付記を開示する。
The following notes are further provided with respect to the above embodiment.
(付記項1)
点群処理装置であって、
メモリと、
前記メモリに接続された少なくとも1つのプロセッサと、
を含み、
前記プロセッサは、
計測された物体の表面上の三次元点群と、前記三次元点群を計測した計測姿勢との組み合わせを受け付け、
前記計測姿勢に基づいて、前記三次元点群から、前景部分の点群である前景点群を抽出し、
前記前景点群と、予め求められた、背景部分の点群である背景点群とを統合する
ように構成される点群処理装置。 (Additional Note 1)
A point cloud processing device,
Memory,
at least one processor coupled to the memory;
Including,
The processor,
receiving a combination of a measured 3D point cloud on a surface of an object and a measurement orientation at which the 3D point cloud was measured;
extracting a foreground point cloud, which is a point cloud of a foreground portion, from the three-dimensional point cloud based on the measured orientation;
A point cloud processing device configured to integrate the foreground point cloud with a background point cloud, which is a point cloud of a background portion that has been obtained in advance.
点群処理装置であって、
メモリと、
前記メモリに接続された少なくとも1つのプロセッサと、
を含み、
前記プロセッサは、
計測された物体の表面上の三次元点群と、前記三次元点群を計測した計測姿勢との組み合わせを受け付け、
前記計測姿勢に基づいて、前記三次元点群から、前景部分の点群である前景点群を抽出し、
前記前景点群と、予め求められた、背景部分の点群である背景点群とを統合する
ように構成される点群処理装置。 (Additional Note 1)
A point cloud processing device,
Memory,
at least one processor coupled to the memory;
Including,
The processor,
receiving a combination of a measured 3D point cloud on a surface of an object and a measurement orientation at which the 3D point cloud was measured;
extracting a foreground point cloud, which is a point cloud of a foreground portion, from the three-dimensional point cloud based on the measured orientation;
A point cloud processing device configured to integrate the foreground point cloud with a background point cloud, which is a point cloud of a background portion that has been obtained in advance.
(付記項2)
点群処理を実行するようにコンピュータによって実行可能なプログラムを記憶した非一時的記憶媒体であって、
前記点群処理は、
計測された物体の表面上の三次元点群と、前記三次元点群を計測した計測姿勢との組み合わせを受け付け、
前記計測姿勢に基づいて、前記三次元点群から、前景部分の点群である前景点群を抽出し、
前記前景点群と、予め求められた、背景部分の点群である背景点群とを統合する
非一時的記憶媒体。 (Additional Note 2)
A non-transitory storage medium storing a program executable by a computer to perform point cloud processing,
The point cloud processing includes:
receiving a combination of a measured 3D point cloud on a surface of an object and a measurement orientation at which the 3D point cloud was measured;
extracting a foreground point cloud, which is a point cloud of a foreground portion, from the three-dimensional point cloud based on the measured orientation;
A non-transitory storage medium that integrates the foreground point cloud with a background point cloud that is a point cloud of a background portion that has been obtained in advance.
点群処理を実行するようにコンピュータによって実行可能なプログラムを記憶した非一時的記憶媒体であって、
前記点群処理は、
計測された物体の表面上の三次元点群と、前記三次元点群を計測した計測姿勢との組み合わせを受け付け、
前記計測姿勢に基づいて、前記三次元点群から、前景部分の点群である前景点群を抽出し、
前記前景点群と、予め求められた、背景部分の点群である背景点群とを統合する
非一時的記憶媒体。 (Additional Note 2)
A non-transitory storage medium storing a program executable by a computer to perform point cloud processing,
The point cloud processing includes:
receiving a combination of a measured 3D point cloud on a surface of an object and a measurement orientation at which the 3D point cloud was measured;
extracting a foreground point cloud, which is a point cloud of a foreground portion, from the three-dimensional point cloud based on the measured orientation;
A non-transitory storage medium that integrates the foreground point cloud with a background point cloud that is a point cloud of a background portion that has been obtained in advance.
10、210、310、410 点群処理装置
11 CPU
14 ストレージ
15 入力部
16 表示部
20A、20B カメラ
30A、30B ライダー
101 対応部
102、304 着色部
103 前景抽出部
104、205、305 点群統合部
105、206、306 出力部
201A、201B、301A、301B 対応部
202A、202B 着色部
203A、203B、302A、302B 前景抽出部
204、303 前景点群統合部
400 撮影制御部 10, 210, 310, 410 Point cloud processing device 11 CPU
14 Storage 15 Input unit 16 Display unit 20A, 20B Camera 30A, 30B LIDAR 101 Correspondence unit 102, 304 Coloring unit 103 Foreground extraction unit 104, 205, 305 Point cloud integration unit 105, 206, 306 Output unit 201A, 201B, 301A, 301B Correspondence unit 202A, 202B Coloring unit 203A, 203B, 302A, 302B Foreground extraction unit 204, 303 Foreground point cloud integration unit 400 Shooting control unit
11 CPU
14 ストレージ
15 入力部
16 表示部
20A、20B カメラ
30A、30B ライダー
101 対応部
102、304 着色部
103 前景抽出部
104、205、305 点群統合部
105、206、306 出力部
201A、201B、301A、301B 対応部
202A、202B 着色部
203A、203B、302A、302B 前景抽出部
204、303 前景点群統合部
400 撮影制御部 10, 210, 310, 410 Point cloud processing device 11 CPU
14 Storage 15 Input unit 16 Display unit 20A, 20B Camera 30A, 30B LIDAR 101 Correspondence unit 102, 304 Coloring unit 103 Foreground extraction unit 104, 205, 305 Point cloud integration unit 105, 206, 306 Output unit 201A, 201B, 301A, 301B Correspondence unit 202A, 202B Coloring unit 203A, 203B, 302A, 302B Foreground extraction unit 204, 303 Foreground point cloud integration unit 400 Shooting control unit
Claims (10)
- 計測された物体の表面上の三次元点群と、前記三次元点群を計測した計測姿勢との組み合わせを受け付ける入力部と、
前記計測姿勢に基づいて、前記三次元点群から、前景部分の点群である前景点群を抽出する前景抽出部と、
前記前景点群と、予め求められた、背景部分の点群である背景点群とを統合する点群統合部と、
を含む点群処理装置。 an input unit that receives a combination of a three-dimensional point cloud on a surface of a measured object and a measurement orientation at which the three-dimensional point cloud was measured;
a foreground extraction unit that extracts a foreground point cloud, which is a point cloud of a foreground portion, from the three-dimensional point cloud based on the measured orientation;
a point cloud integration unit that integrates the foreground point cloud with a background point cloud that is a point cloud of a background portion that is obtained in advance;
A point cloud processing device comprising: - 前景点群統合部を更に含み、
前記入力部は、前記三次元点群と前記計測姿勢との組み合わせを2組以上受け付け、
前記前景抽出部は、各組の前記三次元点群から前記前景点群を抽出し、
前記前景点群統合部は、各組の前記三次元点群から抽出された前記前景点群を統合し、
前記点群統合部は、前記統合された前記前景点群と、前記背景点群とを統合する請求項1記載の点群処理装置。 Further comprising a foreground point cloud integration unit;
the input unit receives two or more combinations of the three-dimensional point cloud and the measurement orientation;
The foreground extraction unit extracts the foreground points from each set of the three-dimensional point clouds;
The foreground point cloud integration unit integrates the foreground point clouds extracted from each set of the three-dimensional point clouds,
The point cloud processing device according to claim 1 , wherein the point cloud integration unit integrates the integrated foreground point cloud and the background point cloud. - 対応部と、
着色部と、を更に含み、
前記入力部は、更に、前記三次元点群と前記計測姿勢との組み合わせに対応する、カメラ画像と前記カメラ画像を撮影した撮影姿勢との組み合わせを受け付け、
前記対応部は、前記計測姿勢及び前記撮影姿勢の少なくとも一方に基づいて、前記三次元点群の各点と前記カメラ画像の各画素との対応関係を特定し、
前記着色部は、前記対応関係に基づいて、前記カメラ画像の各画素の色情報を、前記三次元点群の対応する点に付与する請求項1記載の点群処理装置。 The corresponding part,
A coloring portion,
The input unit further receives a combination of a camera image and a shooting attitude at which the camera image was captured, the combination corresponding to the combination of the three-dimensional point cloud and the measurement attitude;
the correspondence unit specifies a correspondence relationship between each point of the three-dimensional point cloud and each pixel of the camera image based on at least one of the measurement attitude and the shooting attitude;
The point cloud processing apparatus according to claim 1 , wherein the coloring unit assigns color information of each pixel of the camera image to a corresponding point in the three-dimensional point cloud based on the correspondence relationship. - 前景点群統合部を更に含み、
前記入力部は、前記三次元点群と前記計測姿勢との組み合わせを2組以上受け付け、カメラ画像と前記カメラ画像を撮影した撮影姿勢との組み合わせを2組以上受け付け、
前記前景抽出部は、各組の前記三次元点群から前記前景点群を抽出し、
前記前景点群統合部は、各組の前記三次元点群から抽出された前記前景点群を統合し、
前記対応部は、各組について、前記計測姿勢と前記撮影姿勢とに基づいて、前記三次元点群の各点と前記カメラ画像の各画素との対応関係を特定し、
前記着色部は、各組について特定された前記対応関係に基づいて、統合された前記前景点群の各点に、前記カメラ画像の対応する画素の色情報を付与する請求項3記載の点群処理装置。 Further comprising a foreground point cloud integration unit;
the input unit receives two or more combinations of the three-dimensional point cloud and the measurement attitude, and receives two or more combinations of a camera image and a shooting attitude at which the camera image was captured;
The foreground extraction unit extracts the foreground points from each set of the three-dimensional point clouds;
The foreground point cloud integration unit integrates the foreground point clouds extracted from each set of the three-dimensional point clouds,
the correspondence unit specifies, for each pair, a correspondence relationship between each point of the three-dimensional point cloud and each pixel of the camera image based on the measurement attitude and the shooting attitude;
The point cloud processing device according to claim 3 , wherein the coloring unit assigns color information of a corresponding pixel in the camera image to each point in the integrated foreground point cloud based on the correspondence relationship identified for each pair. - 前記着色部は、更に、前記三次元点群の高密度化を行う請求項3に記載の点群処理装置。 The point cloud processing device according to claim 3, wherein the coloring unit further densifies the three-dimensional point cloud.
- 前記前景抽出部は、受け付けた三次元点群を、各画素が、物体の奥行き値に応じた画素値を持つ、特定の視点からのデプスマップに変換し、前記変換した前記デプスマップと、予め求められた基準デプスマップとを比較し、前記基準デプスマップの対応する画素の奥行き値との差分が閾値以上となる画素に対応する点からなる点群を、前記前景点群をして抽出する請求項1に記載の点群処理装置。 The point cloud processing device according to claim 1, wherein the foreground extraction unit converts the received three-dimensional point cloud into a depth map from a specific viewpoint in which each pixel has a pixel value corresponding to the depth value of the object, compares the converted depth map with a reference depth map obtained in advance, and extracts, as the foreground point cloud, a point cloud consisting of points corresponding to pixels whose difference from the depth value of the corresponding pixel in the reference depth map is equal to or greater than a threshold value.
- 前記前景点群統合部は、2つ以上の前景点群に共通する領域の差分が最小となるよう前景点群の位置を補正して統合する請求項2に記載の点群処理装置。 The point cloud processing device according to claim 2, wherein the foreground point cloud integration unit corrects the positions of the foreground point clouds and integrates them so that the difference between areas common to two or more foreground point clouds is minimized.
- 前記三次元点群の計測タイミングと前記カメラ画像の撮影タイミングとが対応するように制御することを繰り返し行い、前記三次元点群と前記カメラ画像とを繰り返し前記対応部に入力する撮影制御部を更に含む請求項3に記載の点群処理装置。 The point cloud processing device according to claim 3, further comprising an imaging control unit that repeatedly controls the measurement timing of the three-dimensional point cloud and the capture timing of the camera images to correspond to each other, and repeatedly inputs the three-dimensional point cloud and the camera images to the correspondence unit.
- コンピュータが、
計測された物体の表面上の三次元点群と、前記三次元点群を計測した計測姿勢との組み合わせを受け付け、
前記計測姿勢に基づいて、前記三次元点群から、前景部分の点群である前景点群を抽出し、
前記前景点群と、予め求められた、背景部分の点群である背景点群とを統合する
点群処理方法。 The computer
receiving a combination of a measured 3D point cloud on a surface of an object and a measurement orientation at which the 3D point cloud was measured;
extracting a foreground point cloud, which is a point cloud of a foreground portion, from the three-dimensional point cloud based on the measured orientation;
The foreground point cloud is integrated with a background point cloud, which is a point cloud of a background portion that has been obtained in advance. - コンピュータを、請求項1~請求項8の何れか1項に記載の点群処理装置として機能させるための点群処理プログラム。 A point cloud processing program for causing a computer to function as a point cloud processing device according to any one of claims 1 to 8.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2023/000446 WO2024150322A1 (en) | 2023-01-11 | 2023-01-11 | Point group processing device, point group processing method, and point group processing program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2023/000446 WO2024150322A1 (en) | 2023-01-11 | 2023-01-11 | Point group processing device, point group processing method, and point group processing program |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2024150322A1 true WO2024150322A1 (en) | 2024-07-18 |
Family
ID=91896628
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2023/000446 WO2024150322A1 (en) | 2023-01-11 | 2023-01-11 | Point group processing device, point group processing method, and point group processing program |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2024150322A1 (en) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019066238A (en) * | 2017-09-29 | 2019-04-25 | 株式会社日立製作所 | Attitude estimating system, attitude estimating device, and distance image camera |
JP2019215622A (en) * | 2018-06-11 | 2019-12-19 | キヤノン株式会社 | Data generation device, image processing device, method and program |
WO2020105527A1 (en) * | 2018-11-20 | 2020-05-28 | コニカミノルタ株式会社 | Image analysis device, image analysis system, and control program |
-
2023
- 2023-01-11 WO PCT/JP2023/000446 patent/WO2024150322A1/en unknown
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019066238A (en) * | 2017-09-29 | 2019-04-25 | 株式会社日立製作所 | Attitude estimating system, attitude estimating device, and distance image camera |
JP2019215622A (en) * | 2018-06-11 | 2019-12-19 | キヤノン株式会社 | Data generation device, image processing device, method and program |
WO2020105527A1 (en) * | 2018-11-20 | 2020-05-28 | コニカミノルタ株式会社 | Image analysis device, image analysis system, and control program |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106780618B (en) | Three-dimensional information acquisition method and device based on heterogeneous depth camera | |
US9972067B2 (en) | System and method for upsampling of sparse point cloud for 3D registration | |
CN112634374B (en) | Stereoscopic calibration method, device and system for binocular camera and binocular camera | |
WO2019100933A1 (en) | Method, device and system for three-dimensional measurement | |
KR100776649B1 (en) | A depth information-based Stereo/Multi-view Stereo Image Matching Apparatus and Method | |
WO2023164845A1 (en) | Three-dimensional reconstruction method, device, system, and storage medium | |
JP6883608B2 (en) | Depth data processing system that can optimize depth data by aligning images with respect to depth maps | |
CN108648225B (en) | Target image acquisition system and method | |
EP3135033B1 (en) | Structured stereo | |
CN108629756B (en) | Kinectv2 depth image invalid point repairing method | |
CN107545586B (en) | Depth obtaining method and system based on light field polar line plane image local part | |
CN111107337B (en) | Depth information complementing method and device, monitoring system and storage medium | |
WO2017033422A1 (en) | Image processing device and image processing method | |
CN113724303A (en) | Point cloud and image matching method and device, electronic equipment and storage medium | |
Wenzel et al. | High-resolution surface reconstruction from imagery for close range cultural Heritage applications | |
US8340399B2 (en) | Method for determining a depth map from images, device for determining a depth map | |
Valsaraj et al. | Stereo vision system implemented on FPGA | |
EP3832600A1 (en) | Image processing device and three-dimensional measuring system | |
CN113348489A (en) | Image processing method and device | |
TWI571099B (en) | Device and method for depth estimation | |
KR20240028081A (en) | Smart Quality Control System of Construction Sites using Augmented Reality | |
JP2005250994A (en) | Stereo image processor | |
WO2024150322A1 (en) | Point group processing device, point group processing method, and point group processing program | |
KR101809558B1 (en) | System and method for 3D modeling | |
Isakova et al. | FPGA design and implementation of a real-time stereo vision system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 23915946 Country of ref document: EP Kind code of ref document: A1 |