Information processing device, control method, program, and storage medium

The information processing device accurately identifies and removes water surface reflection data from lidar measurements to enhance self-position estimation accuracy, addressing the challenge of false detection in ships operating in areas with poor GNSS reception.

JP2026110673APending Publication Date: 2026-07-02PIONEER IP +1

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
PIONEER IP
Filing Date
2026-04-20
Publication Date
2026-07-02

AI Technical Summary

Technical Problem

Inaccurate self-position estimation in ships due to false detection data from water surface reflection in lidar measurements, which affects the accuracy of scan matching in coastal and urban waterways where GNSS reception is poor.

Method used

An information processing device that detects and identifies water surface reflection data as false detection data by determining the water surface position and removing it from point cloud data, using methods such as averaging height-direction positions and calculating reliability indices to enhance the accuracy of self-position estimation.

Benefits of technology

Improves the accuracy of self-position estimation by eliminating false detection data, thereby enhancing the precision of automatic ship operations in challenging environments.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026110673000001_ABST
    Figure 2026110673000001_ABST
Patent Text Reader

Abstract

The present invention provides an information processing device capable of accurately identifying falsely detected data contained in point cloud data. [Solution] The controller 13 of the information processing device 1 acquires the water surface position and detects data indicating a position below the water surface position from the point cloud data generated by the lidar 3 installed on the target vessel as water surface reflection data. The controller 13 then determines that the water surface reflection data is falsely detected data.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] This disclosure relates to the processing of data measured on a vessel. [Background technology]

[0002] Conventionally, techniques have been known for estimating the self-position of a moving object by comparing (matching) shape data of surrounding objects measured using measuring devices such as laser scanners with map information in which the shapes of surrounding objects are stored in advance. For example, Patent Document 1 discloses an autonomous mobile system that determines whether a detected object in a voxel, which is divided into a space according to a predetermined rule, is a stationary or moving object, and performs matching between map information and measurement data for voxels in which stationary objects exist. Patent Document 2 also discloses a scan matching method that estimates the self-position by comparing voxel data, which includes the mean vector and covariance matrix of stationary objects for each voxel, with point cloud data output by a lidar. Furthermore, Patent Document 3 describes a method for controlling the attitude of a ship in an automatic docking device that performs automatic docking of ships, so that light emitted from a lidar is reflected by objects around the docking position and received by the lidar. [Prior art documents] [Patent Documents]

[0003] [Patent Document 1] International release WO2013 / 076829 [Patent Document 2] International release WO2018 / 221453 [Patent Document 3] Japanese Patent Publication No. 2020-59403 [Overview of the Initiative] [Problems that the invention aims to solve]

[0004] Recently, not only in the automotive field but also in ships, the study of an automatic ship control system has been underway, and accurate self-position estimation is equally important for safe automatic ship operation. In the open sea, since there are few structures around, the self-position can be measured by GNSS (Global Navigation Satellite System). However, in the coastal areas and rivers in urban areas, due to the adjacent high-rise buildings and other reasons, the reception environment of GNSS radio waves is poor due to the decrease in the number of received satellites and multipath, etc., and accurate positioning is often impossible. Therefore, in the case of ships as well, the above-described high-precision position estimation by scan matching is preferably applied.

[0005] On the other hand, when a lidar is installed on a ship, a part of the beam directed downward from the lidar is reflected by the water surface, and detection data from a place where there is actually no object is obtained. Such data due to water surface reflection is false detection (false alarm) data and affects the accuracy of self-position estimation. However, whether the data due to water surface reflection is inaccurate or accurate cannot be identified from the detection signal of the lidar.

[0006] The present disclosure has been made to solve the above problems, and the main object is to provide an information processing device capable of accurately determining false detection data included in point cloud data.

Means for Solving the Problems

[0007] The invention according to the claims is an acquisition means for acquiring a water surface position, detection means for detecting, as water surface reflection data generated by reflection of light emitted by the measuring device by the water surface, data indicating a position below the water surface position among the point cloud data generated by the measuring device provided on the ship, determination means for determining the water surface reflection data as false detection data, and an information processing device having the above.

[0008] Further, the invention according to the claims is a control method executed by a computer, Obtain the water surface position, Of the point cloud data generated by a measuring device installed on a ship, data indicating a position below the water surface is detected as water surface reflection data generated by the reflection of light emitted by the measuring device from the water surface. The aforementioned water surface reflection data is determined to be false detection data. This is a control method.

[0009] Furthermore, the invention described in the claims is, Obtain the water surface position, Of the point cloud data generated by a measuring device installed on a ship, data indicating a position below the water surface is detected as water surface reflection data generated by the reflection of light emitted by the measuring device from the water surface. This program causes a computer to perform a process to determine that the aforementioned water surface reflection data is falsely detected data. [Brief explanation of the drawing]

[0010] [Figure 1] This is a schematic diagram of the driver assistance system. [Figure 2] This is a block diagram showing the functional configuration of an information processing device. [Figure 3] This figure shows the self-position that the self-position estimation unit should estimate, represented in three-dimensional Cartesian coordinates. [Figure 4] An example of a general data structure for voxel data is shown. [Figure 5] (A) An overhead view of the target vessel showing an example of the arrangement of the riders installed on the vessel. (B) A view of the target vessel from the rear, in close proximity to a structure. [Figure 6] (A) A rear view of the target vessel, clearly indicating the voxels in which voxel data exists. (B) A rear view of the target vessel, clearly indicating the dashed line representing the height position of the lidar and the dashed line representing the water surface position. [Figure 7] This is an example of a functional block for the self-localization unit. [Figure 8] This is an example of a flowchart illustrating the procedure for self-localization. [Figure 9]This shows the vehicle position estimation results for a comparative example where NDT position estimation is performed without removing water surface reflection data. [Figure 10] This shows the vehicle position estimation results for a comparative example where NDT position estimation is performed without removing water surface reflection data. [Figure 11] This shows the vehicle position estimation results in an example where water surface reflection data is removed. [Figure 12] This shows the vehicle position estimation results in an example where water surface reflection data is removed. [Figure 13] This figure shows an overview of the water surface position estimation process in the modified example. [Figure 14] This is an example flowchart showing the procedure for estimating the water level in a modified case. [Modes for carrying out the invention]

[0011] According to a preferred embodiment of the present invention, the information processing device includes an acquisition means for acquiring the water surface position, a detection means for detecting data from point cloud data generated by a measuring device installed on a ship that indicates a position below the water surface position as water surface reflection data generated by the reflection of light emitted by the measuring device on the water surface, and a determination means for determining that the water surface reflection data is falsely detected data. According to this embodiment, the information processing device can suitably detect water surface reflection data generated by the reflection of light emitted by the measuring device on the water surface and accurately determine that the data is falsely detected.

[0012] In one embodiment of the above-described information processing device, the acquisition means determines the water surface position based on the height position represented by a measurement point among the measurement points constituting the point cloud data that is presumed to represent the water surface position. In this embodiment, the information processing device can accurately determine the water surface position used for detecting water surface reflection data.

[0013] In another embodiment of the information processing device described above, the acquisition means determines whether or not it is necessary to update the water surface position used by the detection means based on the variance of the height-direction position represented by the measurement point that is estimated to represent the water surface position. In this embodiment, the information processing device can update the water surface position only when the reliability of the measurement point used to calculate the water surface position is high, thereby enabling highly accurate detection of false detection data.

[0014] In another embodiment of the information processing device described above, the acquisition means updates the water surface position used by the detection means based on the average value of the height-direction position of the measurement point estimated to represent the water surface position if the variance value of the height-direction position of the measurement point is less than a predetermined threshold, and does not update the water surface position used by the detection means if the variance value is equal to or greater than the threshold. As a result, the information processing device can accurately update the water surface position used for detecting water surface reflection data using the average value and variance value of the height-direction position of the measurement point estimated to represent the water surface position.

[0015] In another embodiment of the above-described information processing device, the information processing device further includes a reliability index calculation means for calculating a reliability index for the position estimation of the vessel when the position estimation is performed by comparing voxel data representing the position of an object for each voxel, which is a unit area, with data obtained by removing the water surface reflection data from the point cloud data based on the provisional position of the water surface. The acquisition means estimates the water surface position based on the reliability index for a plurality of provisional positions. According to this embodiment, the validity of the provisional position of the water surface can be determined based on the reliability index, and a provisional position that has a high reliability index can be suitably estimated as the water surface position.

[0016] In another embodiment of the information processing device described above, the acquisition means determines the water surface position as a position offset from the estimated water surface position calculated based on the point cloud data. This embodiment makes it possible to more reliably detect water surface reflection data, taking into account the uncertainty of the estimated water surface position.

[0017] In another embodiment of the above-described information processing device, the device further includes a filtering means that determines the water surface position to be used by the detection means based on a predetermined number of the most recent water surface positions acquired by the acquisition means. In this embodiment, the information processing device can appropriately determine the water surface position to be used for detecting water surface reflection data according to the acquisition status of past water surface positions.

[0018] In another embodiment of the above-described information processing device, the information processing device further includes a position estimation means for estimating the position of the vessel based on a comparison between voxel data representing the position of an object for each voxel, which is a unit area, and data obtained by removing the water surface reflection data from the point cloud data. In this embodiment, the information processing device can perform position estimation using voxel data with high accuracy based on point cloud data from which false detection data has been removed.

[0019] In another embodiment of the above-described information processing device, the position estimation means excludes voxel data of voxels located below the water surface from the comparison target. In this embodiment, the information processing device can suppress unnecessary comparison of voxel data below the water surface that cannot actually be measured, thereby suitably reducing the processing load and decreasing the positional accuracy.

[0020] According to another preferred embodiment of the present invention, a control method performed by a computer acquires the water surface position, detects data from point cloud data generated by a measuring device installed on a ship that indicates a position below the water surface position as water surface reflection data generated by the reflection of light emitted by the measuring device from the water surface, and determines that the water surface reflection data is falsely detected data. By performing this control method, the computer can suitably detect the water surface reflection data generated by the reflection of light emitted by the measuring device from the water surface and accurately determine that the data is falsely detected.

[0021] According to yet another preferred embodiment of the present invention, the program acquires the water surface position, detects data from the point cloud data generated by a measuring device installed on the ship that indicates a position below the water surface position as water surface reflection data generated by the reflection of light emitted by the measuring device from the water surface, and causes the computer to perform a process to determine that the water surface reflection data is falsely detected data. By executing this program, the computer can suitably detect the water surface reflection data generated by the reflection of light emitted by the measuring device from the water surface and accurately determine that the data is falsely detected. Preferably, the program is stored in a storage medium. [Examples]

[0022] Preferred embodiments of the present invention will be described below with reference to the drawings. Note that any character with a "^" or "-" above it will be referred to as "A^" or "A" in this specification for convenience. - This is represented as (where "A" is any letter).

[0023] (1) Overview of the driver assistance system Figure 1 shows a schematic configuration of the driver assistance system according to this embodiment. The driver assistance system comprises an information processing device 1 that moves together with the ship, which is a moving object, and a group of sensors 2 mounted on the ship. Hereafter, the ship that moves together with the information processing device 1 will also be referred to as the "target ship".

[0024] The information processing device 1 is electrically connected to the sensor group 2 and estimates the position of the target vessel (also called "self-position") based on the outputs of the various sensors included in the sensor group 2. Based on the self-position estimation result, the information processing device 1 provides driving support such as automatic driving control of the target vessel. Driving support includes docking support such as automatic docking. Here, "docking" includes not only docking the target vessel at a quay but also docking the target vessel at a structure such as a pier. The information processing device 1 may be a navigation device installed on the target vessel or an electronic control device built into the vessel.

[0025] Furthermore, the information processing device 1 stores a map database (DB:DataBase) 10 containing voxel data "VD". Voxel data VD is data that records position information of stationary structures for each voxel, which represents a cube (normal grid) that is the smallest unit of three-dimensional space. Voxel data VD includes data that represents the measured point cloud data of stationary structures within each voxel using a normal distribution, and is used for scan matching using NDT (Normal Distributions Transform), as described later. The information processing device 1 uses NDT scan matching to estimate, for example, the position on the plane, height position, yaw angle, pitch angle, and roll angle of the target vessel. Unless otherwise specified, the self-position is assumed to include attitude angles such as the yaw angle of the target vessel.

[0026] Sensor group 2 includes various external and internal sensors installed on the target vessel. In this embodiment, sensor group 2 includes a Lidar (Light Detection and Ranging, or Laser Illuminated Detection and Ranging) 3, a speed sensor 4 for detecting the speed of the target vessel, a GPS (Global Positioning Satellite) receiver 5, and an inertial measurement unit (IMU) 6 for measuring the acceleration and angular velocity of the target moving object, the target vessel, in three axial directions.

[0027] The lidar 3 discretely measures the distance to an object in the external environment by emitting a pulsed laser within a predetermined angular range in the horizontal and vertical directions, and generates three-dimensional point cloud data indicating the position of the object. In this case, the lidar 3 has an irradiation unit that irradiates laser light while changing the irradiation direction, a light receiving unit that receives reflected light (scattered light) of the irradiated laser light, and an output unit that outputs scan data (points that constitute the point cloud data, hereafter referred to as "measurement points") based on the light receiving signal output by the light receiving unit. The measurement points are generated based on the irradiation direction corresponding to the laser light received by the light receiving unit and the response delay time of the laser light specified based on the light receiving signal described above. Generally, the accuracy of the lidar's distance measurement is higher the closer the distance to the object, and lower the accuracy the farther the distance. The lidar 3 is an example of a "measurement device" in the present invention. The speed sensor 4 may be, for example, a speedometer using Doppler or a speedometer using GNSS.

[0028] Furthermore, the sensor group 2 may have a receiver that generates positioning results from a GNSS other than GPS, instead of the GPS receiver 5.

[0029] (2) Configuration of an information processing device Figure 2 is a block diagram showing an example of the hardware configuration of the information processing device 1. The information processing device 1 mainly consists of an interface 11, a memory 12, and a controller 13. Each of these elements is interconnected via a bus line.

[0030] Interface 11 performs interface operations related to the exchange of data between the information processing device 1 and external devices. In this embodiment, Interface 11 acquires output data from each sensor in the sensor group 2, such as the lidar 3, speed sensor 4, GPS receiver 5, and IMU 6, and supplies it to the controller 13. Interface 11 also supplies signals related to the control of the target vessel, generated by the controller 13, to each component of the target vessel that controls the operation of the target vessel. For example, the target vessel includes a drive source such as an engine or electric motor, a propeller that generates thrust in the direction of travel based on the driving force of the drive source, a thruster that generates thrust in the lateral direction based on the driving force of the drive source, and a rudder, etc., which is a mechanism for freely determining the direction of travel of the vessel. During automatic operation such as automatic docking, Interface 11 supplies control signals generated by the controller 13 to each of these components. If the target vessel is equipped with an electronic control device, Interface 11 supplies control signals generated by the controller 13 to the electronic control device. Interface 11 may be a wireless interface such as a network adapter for wireless communication, or it may be a hardware interface for connecting to external devices via cables, etc. Interface 11 may also perform interface operations with various peripheral devices such as input devices, display devices, and sound output devices.

[0031] Memory 12 is composed of various volatile and non-volatile memories such as RAM (Random Access Memory), ROM (Read Only Memory), hard disk drive, and flash memory. Memory 12 stores programs for the controller 13 to execute predetermined processes. Note that the programs executed by the controller 13 may be stored in storage media other than memory 12.

[0032] Memory 12 also stores map DB 10, which includes voxel data VD. In addition to voxel data VD, map DB 10 includes, for example, information about berthing locations (including shores and piers) and information about waterways to which ships can move. Map DB 10 may also be stored in an external storage device of the information processing device 1, such as a hard disk connected to the information processing device 1 via interface 11. The storage device may be a server device that communicates with the information processing device 1. The storage device may also consist of multiple devices. Map DB 10 may also be updated periodically. In this case, for example, controller 13 receives partial map information about the area to which its own position belongs from the server device that manages map information via interface 11 and reflects it in map DB 10.

[0033] In addition to the map DB 10, the memory 12 also stores information necessary for the processing performed by the information processing device 1 in this embodiment. For example, the memory 12 stores information used to set the downsampling size when downsampling is performed on the point cloud data obtained when the lidar 3 performs one cycle of scanning.

[0034] The controller 13 includes one or more processors such as a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), and a TPU (Tensor Processing Unit), and controls the entire information processing device 1. In this case, the controller 13 performs processing related to self-localization and driving assistance by executing programs stored in memory 12, etc.

[0035] Furthermore, the controller 13 functionally includes a self-position estimation unit 15. The controller 13 functions as an "acquisition means," "detection means," "determination means," "filter means," "position estimation means," and a computer that executes programs.

[0036] The self-position estimation unit 15 estimates its own position by performing NDT-based scan matching (NDT scan matching) based on point cloud data based on the output of the LIDA 3 and voxel data VD corresponding to the voxel to which the point cloud data belongs. Here, the point cloud data to be processed by the self-position estimation unit 15 may be point cloud data generated by the LIDA 3, or it may be point cloud data after downsampling the point cloud data.

[0037] (3) NDT Scan Matching Next, we will explain the position estimation based on NDT scan matching performed by the self-position estimation unit 15.

[0038] Figure 3 shows the self-position to be estimated by the self-position estimation unit 15, represented in three-dimensional Cartesian coordinates. As shown in Figure 3, the self-position on a plane defined on the three-dimensional Cartesian coordinate system (x, y, z) is represented by the coordinates "(x, y, z)", the roll angle "φ", the pitch angle "θ", and the yaw angle (direction) "ψ". Here, the roll angle φ is defined as the rotation angle around the direction of travel of the target vessel, the pitch angle θ is the elevation angle of the direction of travel of the target vessel relative to the xy plane, and the yaw angle ψ is defined as the angle between the direction of travel of the target vessel and the x-axis. The coordinates (x, y, z) are, for example, absolute positions corresponding to a combination of latitude, longitude, and altitude, or world coordinates indicating a position with a predetermined point as the origin. The self-position estimation unit 15 then performs self-position estimation using these x, y, z, φ, θ, and ψ as estimation parameters.

[0039] Next, we will explain the voxel data VD used for NDT scan matching. The voxel data VD includes data representing the measured point cloud data of stationary structures within each voxel according to a normal distribution.

[0040] Figure 4 shows an example of a schematic data structure for voxel data VD. Voxel data VD contains parameter information for representing the point cloud within the voxels using a normal distribution. In this embodiment, as shown in Figure 4, it includes voxel ID, voxel coordinates, mean vector, and covariance matrix.

[0041] "Voxel coordinates" indicate the absolute three-dimensional coordinates of a reference position such as the center position of each voxel. Each voxel is a cube obtained by dividing space into a grid, and since its shape and size are determined in advance, it is possible to specify the space of each voxel using voxel coordinates. Voxel coordinates may be used as a voxel ID.

[0042] "Mean vector" and "covariance matrix" indicate the mean vector and covariance matrix corresponding to the parameters when expressing a point cloud within a target voxel by a normal distribution. Let the coordinates of an arbitrary point "i" within an arbitrary voxel "n" be X n (i)=[x n (i), y n (i), z n (i)] T defined as, and if the number of points in voxel n is "N n ", the mean vector "μ n " and covariance matrix "V n " in voxel n are expressed by the following equations (1) and (2), respectively.

[0043]

Equation

[0047] Also, the coordinates of the point cloud data output by the LIDA3 are X L (j) = [x n (j), y n (j), z n (j)] T Therefore, X L (j) Average value "L' n This can be expressed by the following equation (3).

[0048]

number

[0049] Then, the self-position estimation unit 15 searches for voxel data VD that corresponds to the point cloud data converted to an absolute coordinate system (also called the "world coordinate system") which is the same coordinate system as the map DB10, and the mean vector μ contained in that voxel data VD. n and the covariance matrix V n Using this, the evaluation function value of voxel n (also called the "individual evaluation function value") "E n The self-position estimation unit 15 calculates the individual evaluation function value E of voxel n based on the following equation (4). n Calculate.

[0050]

number

[0051] The self-localization unit 15 then calculates an overall evaluation function value (also called a "score value") "E(k)" for all voxels subject to matching, as shown by the following equation (5). The score value E serves as an indicator of the goodness of fit of the matching.

[0052]

number

[0053]

number

[0054] (4) Water surface reflection data removal process The self-position estimation unit 15 performs a water surface reflection data removal process to remove data generated by the reception of light emitted by the lidar 3 reflected from the water surface (also called "water surface reflection data") from the point cloud data used to calculate the NDT position. As a result, the self-position estimation unit 15 considers the water surface reflection data, which represents an inaccurate location different from the actual location, as noise data (also called false detection data or false alarm data), and removes it appropriately from the point cloud data used for position estimation, thereby improving the accuracy of processing such as position estimation.

[0055] (4-1) Explanation of water surface reflection data First, we will explain how water surface reflection data can be misdetected, referring to Figures 5(A) and 5(B).

[0056] Figure 5(A) is an overhead view of a target vessel showing an example of the arrangement of the lidars 3 installed on the vessel. In Figure 5(A), four lidars 3 are installed on the target vessel as an example, and each lidar 3 emits pulsed light within a predetermined angular range while changing its angle. Note that the number and arrangement of lidars 3 are not limited to the example shown in Figure 5(A).

[0057] Figure 5(B) is a view of the target vessel in close proximity to structure 50, observed from the rear. Of the emitted light, the downward-facing portion hardly returns to the lidar 3 if there are no objects on the water surface, but some of the light returns to the lidar 3 and is detected as data. In Figure 5(B), the measurement positions "P1" to "P10" represented by each measurement point that constitutes the trajectory of the light emitted by the lidar 3 and the point cloud data generated by the lidar 3 are clearly indicated. Furthermore, positions "Pa8" to "Pa10" represent the positions where the light from the lidar 3 used for measurement positions P8 to P10 was reflected off the water surface and irradiated onto structure 50.

[0058] As mentioned above, some of the light emitted from the downward-facing Rider 3 may reflect off the water surface and return to the Rider 3. In this case, (a) A pattern in which light reflected from the water surface returns directly to the RIDA3 and is received by the RIDA3. (b) A pattern in which light reflected from the water surface hits a structure, some of the scattered light is reflected again from the water surface, and is received by the LIDA3. There are two patterns. The point cloud data generated by these patterns using LIDA3 becomes the water surface reflection data.

[0059] The measurement positions P1 to P3 in Figure 5(B) correspond to the positions measured based on pattern (a). In this case, the lidar 3 generates water surface reflection data that makes it appear as if an object is present at the water surface positions corresponding to the measurement positions P1 to P3.

[0060] Furthermore, measurement positions P8 to P10 are positions measured by the reflection of light from LiDAR 3 at positions Pa8 to Pa10 of structure 50 and returning to LiDAR 3, respectively, and correspond to positions measured based on pattern (b). In this case, LiDAR 3 cannot recognize that the light is reflected from the water surface, so LiDAR 3 generates inaccurate water surface reflection data that makes it appear as if there is an object below the water surface.

[0061] On the other hand, measurement positions P5 to P7 are positions measured by the lidar 3 receiving a portion of the scattered light that was directly shone on the structure 50 without being reflected by the water surface, and correspond to the surface position of the structure 50. Therefore, the point cloud data representing measurement positions P5 to P7 is not false detection data, but rather data that accurately represents the actual position of the object being measured.

[0062] Next, the correspondence between water surface reflection data and voxel data will be explained with reference to Figure 6(A). Figure 6(A) is a diagram that clearly indicates the voxels in Figure 5(B) where voxel data exists.

[0063] Here, the water surface reflection data corresponding to measurement positions P1 to P3 generated by pattern (a) is not originally intended for NDT scan matching. However, since there is no voxel data at these positions, the target voxels cannot be found during the mapping process, and the data is not used to calculate the NDT position. Thus, although the water surface reflection data based on pattern (a) does not affect the performance of NDT scan matching, it results in unnecessary processing during the mapping process in NDT scan matching.

[0064] On the other hand, the water surface reflection data based on pattern (b) corresponding to measurement positions P8 to P10 may be associated with voxels that have voxel data nearby, and may be used in the calculation of the NDT position. Therefore, the water surface reflection data based on pattern (b) can cause a deterioration in NDT matching performance. Specifically, while it would be sufficient to calculate the NDT position based on the point cloud data corresponding to measurement positions P4 to P7, using the water surface reflection data corresponding to measurement positions P8 to P10 means that it will be associated with nearby voxels and used in the calculation, which will be a source of error in the NDT position.

[0065] Furthermore, voxel data corresponding to the coast is generally created at low tide. This is done to create voxels as close to the seawall as possible. As a result, regardless of the tide level during operation, there will always be voxel data that corresponds to the point cloud data.

[0066] (4-2) Overview of the water surface reflection data removal process Next, an overview of the water surface reflection data removal process will be explained with reference to Figure 6(B). Figure 6(B) is a diagram in which the dashed line 51 representing the height position of the lidar 3 and the dashed line 52 representing the water surface position are clearly indicated in Figure 6(A).

[0067] The self-position estimation unit 15 acquires multiple water surface reflection data based on pattern (a) (data corresponding to measurement positions P1 to P3 in Figure 6(B)) and calculates the height from the lidar 3 to the water surface (also called "water surface height Hw") by averaging its z component. The self-position estimation unit 15 then considers the point cloud data near the coast that is located below the water surface height Hw calculated above (data corresponding to measurement positions P8 to P10 in Figure 6(B)) as water surface reflection data (specifically, water surface reflection data based on pattern (b)). The self-position estimation unit 15 then determines that the point cloud data considered as water surface reflection data is falsely detected data and excludes it from NDT scan matching. In this case, the self-position estimation unit 15 also determines that the water surface reflection data based on pattern (a) used to calculate the water surface height Hw is falsely detected data and excludes it from NDT scan matching.

[0068] As a result, the self-position estimation unit 15 can avoid using inaccurate data for matching during NDT position calculation, and can perform NDT position calculation using only correct data. Furthermore, since the ship floats on the water surface, the amount it sinks into the water changes depending on the number of passengers and the amount of cargo, and even if the water surface height Hw changes, the self-position estimation unit 15 can accurately calculate the water surface height Hw.

[0069] (4-3) Functional Blocks Figure 7 shows an example of the functional blocks of the self-position estimation unit 15. As shown in Figure 7, the self-position estimation unit 15 includes a dead reckoning block 21, a coordinate transformation block 22, a water surface position data extraction block 23, a height direction processing block 24, a water surface position calculation block 25, a filter block 26, a water surface reflection data removal block 27, and an NDT position calculation block 28.

[0070] The dead reckoning block 21 calculates the DR position based on the signals output by the sensor group 2. Specifically, the dead reckoning block 21 uses the movement speed and angular velocity of the target vessel, based on the outputs of the speed sensor 4 and IMU 6, etc., to determine the distance traveled and the change in direction from the previous time. Then, the dead reckoning block 21 calculates the estimated self-position X for time k-1, which is the previous processing time relative to the current processing time k. ^ For (k-1), the DR position X at time k is obtained by adding the distance traveled and the change in direction from the previous time. DR Calculate (k). This DR position X DR (k) is the self-position at time k based on dead reckoning, and the predicted self-position X - This corresponds to (k). Note that this is immediately after the start of self-localization, and the estimated self-localization X at time k-1. ^ If (k-1) does not exist, the dead reckoning block 21, for example, based on the signal output by the GPS receiver 5, determines the DR position X DR Determine (k).

[0071] The coordinate transformation block 22 transforms the point cloud data based on the output of the lidar 3 into the world coordinate system, which is the same coordinate system as the map DB 10. In this case, the coordinate transformation block 22 performs the coordinate transformation of the point cloud data at time k, for example, based on the predicted self-position output by the dead reckoning block 21 at time k. Processes for transforming point cloud data in a coordinate system based on a lidar installed on a moving object (a ship in this embodiment) into the coordinate system of the moving object, and processes for transforming from the coordinate system of the moving object into the world coordinate system, are disclosed, for example, in International Publication WO2019 / 188745.

[0072] The water surface position data extraction block 23 extracts data representing sample water surface positions (also called "water surface position data") used to calculate the water surface height Hw from the point cloud data output by the coordinate transformation block 22. In this case, the water surface position data extraction block 23 obtains information on the height of the water surface position from a server device that provides information on the absolute height (elevation) of the water surface position, and extracts measurement points representing heights within a predetermined range from the absolute height of the water surface position identified based on the obtained information, as the water surface position data. For example, the water surface position can be determined by obtaining tidal level information provided by the Japan Meteorological Agency, etc.

[0073] The height direction processing block 24 calculates the average and variance values ​​of the z-coordinate values ​​of the positions in the z-direction represented by each measurement point extracted by the water surface position data extraction block 23. Then, the water surface position calculation block 25 calculates the current water surface position based on the average and variance values ​​calculated by the height direction processing block 24.

[0074] Specifically, the water surface position calculation block 25 updates the water surface position using the average value calculated by the height direction processing block 24 if the variance value calculated by the height direction processing block 24 is smaller than a predetermined threshold. On the other hand, if the variance value calculated by the height direction processing block 24 is greater than or equal to a predetermined threshold, the water surface position calculation block 25 determines that the reliability of the average value calculated by the height direction processing block 24 is low and does not update the water surface position, instead using the previously calculated water surface position.

[0075] Here, we will provide a supplementary explanation regarding the processing of the height direction processing block 24 and the water surface position calculation block 25. Generally, when the variance of the z-coordinate values ​​represented by each measurement point extracted by the water surface position data extraction block 23 is large, it is highly likely that the waves have become larger due to the passage of other ships or that floating objects are present. Taking the above into consideration, the water surface position calculation block 25 determines whether or not it is necessary to update the water surface position based on the variance value calculated by the height direction processing block 24.

[0076] The filter block 26 determines the current water surface position by averaging or filtering the water surface position calculated by the water surface position calculation block 25 with previously calculated water surface positions. In this case, for example, the filter block 26 calculates the current water surface position as the average value (which may be a weighted average considering proximity to the current time) of the most recent predetermined water surface position calculated by the water surface position calculation block 25 in the past and the water surface position calculated by the water surface position calculation block 25 at the current processing time. In another example, the filter block 26 determines that the reliability of the water surface position calculated by the water surface position calculation block 25 at the current processing time is low if the difference between the average of the most recent predetermined water surface positions calculated by the water surface position calculation block 25 in the past and the water surface position calculated by the water surface position calculation block 25 at the current processing time is greater than or equal to a predetermined value. In this case, the filter block 26 does not adopt the water surface position calculated by the water surface position calculation block 25 at the current processing time and considers the water surface position from the previous time as the current water surface position. In this way, the filter block 26 can determine an appropriate water surface position based on the latest predetermined number of water surface positions calculated by the water surface position calculation block 25.

[0077] Furthermore, the water surface position calculation block 25 or the filter block 26 may be set to an offset that is a predetermined distance above the set water surface position in order to reliably remove false detection data. This offset is stored in advance in, for example, memory 12. In this case, the water surface position calculation block 25 or the filter block 26 determines the water surface position to be output to the next processing block by adding the offset stored in advance in memory 12 to the water surface position determined by the above calculation.

[0078] Note that the presence of filter block 26 is not mandatory and it does not need to be provided.

[0079] The water surface reflection data removal block 27 determines each measurement point in the point cloud data representing a position below the water surface position supplied by the filter block 26 (including the same height, the same applies hereinafter) (i.e., a position with the same or lower z-coordinate value) to be water surface reflection data, and removes the determined water surface reflection data from the point cloud data. Furthermore, the water surface reflection data removal block 27 may also consider the water surface position data extracted by the water surface position data extraction block 23 as water surface reflection data and exclude it from the point cloud data to be supplied to the NDT position calculation block 28. This allows the water surface reflection data removal block 27 to accurately identify the water surface reflection data corresponding to pattern (a) and pattern (b), respectively, and exclude it from the data used by the NDT position calculation block 28.

[0080] The NDT position calculation block 28 calculates the NDT position based on the point cloud data after water surface reflection data removal supplied from the water surface reflection data removal block 27. In this case, the NDT position calculation block 28 matches the point cloud data in the world coordinate system supplied from the water surface reflection data removal block 27 with the voxel data VD represented in the same world coordinate system to establish a correspondence between the point cloud data and the voxels. Then, for each voxel that has been matched with the point cloud data, the NDT position calculation block 28 calculates an individual evaluation function value based on equation (4) and calculates the estimated parameter P that maximizes the score value E(k) based on equation (5). Then, based on equation (6), the NDT position calculation block 28 calculates the DR position X output by the dead reckoning block 21. DR The NDT position X at time k is determined by applying the estimated parameter P obtained at time k to (k). NDT (k) is calculated. The NDT position calculation block 28 calculates the NDT position X NDT (k) is output as the estimated self-position X^(k) at time k. In this case, the NDT position calculation block 28 calculates the NDT position X based on the point cloud data from which the water surface reflection data, which is false detection data, has been removed. NDT (k) can be calculated with high accuracy. In addition, in the correspondence between point cloud data and voxels, water surface reflection data, which is falsely detected data, is excluded from the correspondence, thus reducing the processing load.

[0081] Generally, ships experience motion, and fluctuations in height and attitude can cause errors when calculating the water surface position. Therefore, in Figure 7, the point cloud data generated by LIDA 3 is converted to the world coordinate system using the coordinate transformation block 22, and then the water surface position data is extracted using the water surface position data extraction block 23. Alternatively, the water surface reflection data can be removed from the point cloud data generated by LIDA 3 without performing a coordinate transformation to the world coordinate system. In that case, the point cloud data generated by LIDA 3 is input to the water surface position data extraction block 23 without going through the coordinate transformation block 22. After that, the water surface reflection data is removed via the height direction processing block 24, water surface position calculation block 25, filter block 26, and water surface reflection data removal block 27, and then input to the coordinate transformation block 22 to convert to the world coordinate system. In this case, the effect of ship motion can be reduced by making the filter time constant of filter block 26 longer.

[0082] (5) Processing flow Figure 8 is an example flowchart showing the procedure for the self-position estimation process performed by the self-position estimation unit 15 of the information processing device 1. The self-position estimation unit 15 starts the process shown in the flowchart of Figure 8 when it becomes necessary to perform self-position estimation, such as when the power is turned on.

[0083] First, immediately after the start of the self-position estimation process, the self-position estimation unit 15 calculates a predicted self-position from the GPS positioning result based on the data output by the GPS receiver 5 (step S11).

[0084] Next, the self-position estimation unit 15 performs dead reckoning based on the movement speed and angular velocity of the target vessel detected by the speed sensor 4 and IMU 6, etc., and the previously estimated self-position, to determine the predicted self-position, DR position X DR The calculation is performed (step S12). Next, the self-localization unit 15 converts the point cloud data based on the output of the lidar 3 into point cloud data in the world coordinate system (step S13).

[0085] Next, the self-position estimation unit 15 extracts water surface position data from the point cloud data converted to the world coordinate system in step S13 (step S14). The self-position estimation unit 15 then collects water surface position data for multiple frames (i.e., water surface position data obtained by scanning over multiple recent cycles of the Rider 3), and when the number of water surface position data (number of measurement points) reaches a predetermined number of data, it calculates the mean and variance in the z direction (step S15). If the number of water surface position data does not reach a predetermined number of data, for example, the self-position estimation unit 15 considers the water surface position determined in step S17 immediately before as the current water surface position and proceeds to step S18.

[0086] Next, the self-position estimation unit 15 determines whether the variance value calculated in step S15 is less than a predetermined threshold (step S16). If the variance value calculated in step S15 is less than the predetermined threshold (step S16; Yes), the self-position estimation unit 15 updates the water surface position using the average value calculated in step S15 (step S17). On the other hand, if the variance value calculated in step S15 is greater than or equal to the predetermined threshold (step S16; No), the self-position estimation unit 15 proceeds to step S18 without updating the water surface position. The self-position estimation unit 15 may further perform averaging or filtering processing as performed by the filter block 26 in Figure 7 to determine the final water surface position.

[0087] The self-position estimation unit 15 then determines that data located below the determined water surface position is water surface reflection data (step S18). In this case, the self-position estimation unit 15 preferably also determines that the water surface position data extracted in step S14 is water surface reflection data. The self-position estimation unit 15 then excludes the data determined to be water surface reflection data from the point cloud data to be processed by NDT (step S19).

[0088] Then, the self-position estimation unit 15 uses the DR position X calculated in step S12. DR Using this as the initial value, the NDT matching process is performed after the water surface reflection data is excluded in step S19, thereby determining the NDT position X which will be the estimated self-position X^.NDT The self-position estimation unit 15 may also perform downsampling on the point cloud data after the water surface reflection data has been excluded, immediately before step S20.

[0089] Next, the self-position estimation unit 15 determines whether or not to terminate the self-position estimation process (step S21). If the self-position estimation unit 15 determines that the self-position estimation process should be terminated (step S21; Yes), it terminates the process in the flowchart. On the other hand, if the self-position estimation unit 15 decides to continue the self-position estimation process (step S21; No), it returns to step S12 and uses the estimated self-position X^ calculated in step S20 to estimate the self-position at the next processing time.

[0090] (6) Discussion based on experimental results Next, we will discuss the experimental results related to the above-mentioned examples.

[0091] The applicant performed NDT (Near-Distance Terminal) position estimation by matching pre-created coastal voxel data (ND map) for a given waterway with point cloud data obtained from a lidar installed on a vessel in transit. In this experiment, a long-range (100m) 360-degree horizontal lidar with an operating frequency of 10Hz (period of 100ms) was used. Furthermore, for accuracy evaluation, RTK-GPS positioning results were used as the ground truth position data.

[0092] In this experiment, downsampling is performed on point cloud data obtained by the lidar. In this case, the downsampling size is adaptively changed at each processing time so that the number of measurement points associated with the voxel data VD in the downsampled point cloud data (also called the "corresponding measurement points") falls within a predetermined target range during NDT scan matching. For example, at each processing time, if the number of corresponding measurement points is greater than the upper limit of the target range, the self-position estimation unit 15 increases the downsampling size at the next processing time by a predetermined rate (e.g., 1.1 times) or a predetermined value, and if the number of corresponding measurement points is less than the lower limit of the target range, it decreases the downsampling size at the next processing time by a predetermined rate or a predetermined value. On the other hand, at each processing time, if the number of corresponding measurement points is within the target range, the self-position estimation unit 15 maintains the downsampling size. With such adaptive setting of the downsampling size, the downsampling size increases as the number of corresponding measurement points increases, so it can be inferred that the reliability of the NDT process increases as the downsampling size increases.

[0093] Figures 9(A) to 9(E) and 10(A) to 10(F) show the vehicle position estimation results for a comparative example in which NDT position estimation is performed without removing water surface reflection data. Here, Figure 9(A) shows the number of measurement points in the point cloud data before downsampling, Figure 9(B) shows the downsampling size, Figure 9(C) shows the number of measurement points and corresponding measurement points after downsampling, Figure 9(D) shows the correspondence ratio DAR (Data Association Ratio), and Figure 9(E) shows the score value E. Furthermore, Figure 10(A) shows the NDT scan matching confidence value "NRV (NDT Reliability Value)", and Figure 10(B) shows the NDT scan matching confidence index "NRI (NDT Reliability Index)" normalized so that the NRV is in the range of 0 to 1. Furthermore, for the RTK-GPS positioning results, Figure 10(C) shows the error in the direction of travel, Figure 10(D) shows the error in the lateral direction, Figure 10(E) shows the error in the height direction, and Figure 10(F) shows the error in the yaw angle.

[0094] Here, the correspondence ratio DAR is one of the indicators of the reliability of NDT scan matching, and represents the ratio (= number of corresponding measurement points / number of measurement points) of the number of measurement points in the point cloud data used for NDT scan matching to the number of measurement points associated with the voxel data VD (i.e., the number of corresponding measurement points). Generally, the lower the correspondence ratio DAR, the lower the accuracy of position estimation by NDT scan matching tends to be.

[0095] Furthermore, the confidence value NRV and the confidence index NRI are indicators of the confidence level of the NDT location. The confidence value NRV is calculated using the following formula, with the downsampling size being "DSS", and further using the score value E and the correspondence ratio DAR. NRV = DSS × E × DAR Furthermore, the NRI (Non-Reliability Index) is a normalized index of the NRV (Non-Reliability Value) so that it falls within the range of 0 to 1.

[0096] Regarding the experimental results for the comparative example, since NDT scan matching is performed using point cloud data including water surface reflection data, there is a slight difference between the number of measurement points after downsampling and the corresponding number of measurement points, as shown in Figure 9(C). As a result, the correspondence ratio DAR shown in Figure 9(D) is at best around 0.75. On the other hand, the errors shown in Figures 10(C) to 10(F) are not very large and therefore do not pose a problem.

[0097] Figures 11(A) to 11(E) and 12(A) to 12(F) show the vehicle position estimation results for this embodiment in which NDT position estimation is performed by removing water surface reflection data. Here, Figure 11(A) shows the number of measurement points in the point cloud data before downsampling, Figure 11(B) shows the downsampling size, Figure 11(C) shows the number of measurement points and corresponding measurement points after downsampling, Figure 11(D) shows the correspondence ratio DAR, and Figure 11(E) shows the score value E. Also, Figure 12(A) shows the confidence value NRV of the NDT scan matching, and Figure 12(B) shows the confidence index NRI. Furthermore, for the RTK-GPS positioning results, Figure 12(C) shows the error in the direction of travel, Figure 12(D) shows the error in the lateral direction, Figure 12(E) shows the error in the height direction, and Figure 12(F) shows the error in the yaw angle. In this experiment, the information processing device 1 performs downsampling on the point cloud data after removing the water surface reflection data.

[0098] In this experiment, by excluding the water surface reflection data from the NDT scan matching, the number of measurement points before downsampling, as shown in Figure 11(A), is reduced compared to the comparative example. Also, because the water surface reflection data, which is data that cannot be matched, is removed in advance, the number of measurement points after downsampling and the number of matched measurement points become closer, as shown in Figure 11(C), and the matching ratio DAR shown in Figure 11(D) is 0.8 or higher in good cases. Furthermore, the score value shown in Figure 11(E) is also slightly larger (i.e., improved). In addition, although the errors shown in Figures 12(C) to 12(F) do not show a significant improvement compared to the comparative example, the confidence index NRI shown in Figure 12(B) is close to 1. Considering the above, it can be concluded that stability is improved in this embodiment compared to the comparative example.

[0099] (7) Variation The following describes suitable modifications of the above-described embodiments. These modifications may be applied in combination to these embodiments.

[0100] (Variation 1) The method for calculating the water surface height Hw is not limited to a calculation method based on the mean (and variance) of the water surface position data in the z direction.

[0101] For example, the information processing device 1 receives an image of the target vessel from an external device (e.g., a camera installed on the shore), analyzes the image to recognize the relative water surface position to the target vessel, and calculates the water surface height Hw based on the recognized water surface position and the installation position of the lidar 3 on the target vessel. In this case, the information processing device 1 may perform the above-mentioned recognition of the water surface position using an inference model that outputs an inference result regarding the water surface position when an image of the vessel is input. This inference model is, for example, a model that has been pre-trained based on deep learning, and the trained parameters are pre-stored in memory 12, etc. The installation position of the lidar 3 on the target vessel is, for example, pre-stored in memory 12, etc. In another example, if a sensor for detecting the relative water surface position to the target vessel is installed on the target vessel, the information processing device 1 may calculate the water surface height Hw by recognizing the water surface position based on the output of the sensor.

[0102] (Modification 2) In addition to removing water surface reflection data from the point cloud data, the information processing device 1 may also exclude voxel data VD of voxels located below the water surface (in the height direction) from the target of correspondence with the point cloud data in NDT scan matching.

[0103] Here, voxels located below the estimated water surface are submerged and therefore not included in the self-position estimation. Taking the above into consideration, in this modified example, the information processing device 1 calculates the NDT position by excluding (i.e., treating as nonexistent) the voxel data VD of the above voxels from the target of correspondence with point cloud data. As a result, the information processing device 1 can eliminate unnecessary processing when performing correspondence between point cloud data and voxels, and can effectively suppress a decrease in position estimation accuracy caused by errors in correspondence.

[0104] (Variation 3) Voxel data VD is not limited to a data structure that includes a mean vector and a covariance matrix, as shown in Figure 4. For example, voxel data VD may include the point cloud data used to calculate the mean vector and covariance matrix.

[0105] (Modification 4) The use of the point cloud data, from which water surface reflection data has been removed as false detection data, is not limited to position estimation. Instead, the information processing device 1 may be used for various purposes such as detecting docking locations in docking support such as automatic docking, and detecting obstacles. Even in this case, the information processing device 1 can suitably remove false detection data and perform various processes using the point cloud data with high accuracy.

[0106] (Variation 5) The water surface position data extraction block 23 may estimate the water surface position based on the correspondence ratio DAR, which is a confidence index for position estimation based on NDT scan matching, instead of determining the water surface position based on tidal level information.

[0107] Figures 13(A) to 13(D) show an overview of the water surface position estimation process in this modified example.

[0108] First, as the first step, the water surface position data extraction block 23 extracts the lowest-positioned voxel data VD around the current position, sets its z coordinate as the provisional position, and performs NDT processing by excluding the point cloud data below it to obtain the correspondence ratio DAR (see Figure 13(A)). In Figure 13(A), the water surface position data extraction block 23 sets the z coordinate of the lowest-positioned voxel V1 around the current position as the provisional position, deletes the measurement point P20 below voxel V1, and then performs NDT processing.

[0109] Next, in the second step, the water surface position data extraction block 23 sets a new provisional position slightly above the provisional position set in the first step (for example, by a predetermined number of voxels), excludes the data below that position, performs NDT processing, and calculates the correspondence ratio DAR (see Figure 13(B)). Then, the water surface position data extraction block 23 determines whether the correspondence ratio DAR has improved from the first step. If the water surface position data extraction block 23 determines that the correspondence ratio DAR has improved, it further sets the provisional position slightly higher and performs data removal, NDT processing, and calculation of the correspondence ratio DAR based on the new provisional position (see Figure 13(C)).

[0110] Then, if the water surface position data extraction block 23 does not change the correspondence ratio DAR (for example, if it does not improve, or if the changed ratio is less than a predetermined threshold), it determines that the water surface reflection data has been sufficiently excluded and estimates the previous provisional position as the water surface position. In other words, the water surface position data extraction block 23 estimates the provisional position at which the correspondence ratio DAR no longer changes as the water surface position. For example, suppose the water surface position data extraction block 23 updates the provisional position to the dashed line position shown in Figure 13(D) because the correspondence ratio DAR improved when the dashed line position shown in Figure 13(C) was used as the provisional position. After that, the water surface position data extraction block 23 calculates the correspondence ratio DAR based on the updated provisional position, and since the calculated correspondence ratio DAR is the same as the previous correspondence ratio DAR, it estimates the dashed line position shown in Figure 13(C) as the water surface position.

[0111] According to this method, the water surface position data extraction block 23 can estimate the water surface position without using tidal information. For example, in the case of rivers upstream from the sea, or when there are large changes in atmospheric pressure, there are situations where the actual water surface position differs greatly from the tidal information, but even in such cases, it is possible to accurately estimate the water surface position. Note that this process does not need to be performed all the time; it only needs to be performed at the beginning, at predetermined intervals, or when there is a lot of ship movement.

[0112] Figure 14 is an example of a flowchart showing the procedure for estimating the water surface position in this modified example.

[0113] First, the water surface position data extraction block 23 initializes the correspondence ratio DAR to 0 (step S31). Then, the water surface position data extraction block 23 extracts the lowest data "VD_min" from the voxel data VD around the current position (for example, within a predetermined distance from the current position), and sets its z value "VD_min(z)" as the provisional position "z_tmp" (step S32). That is, the water surface position data extraction block 23 sets "z_tmp = VD_min(z)".

[0114] Next, the water surface position data extraction block 23 performs NDT processing on the point cloud data output by the lidar 3, excluding data below the provisional position z_tmp, and calculates the correspondence ratio DAR (step S33). Then, the water surface position data extraction block 23 determines whether the correspondence ratio DAR calculated in step S33 has improved compared to the previous correspondence ratio DAR (step S34). If the water surface position data extraction block 23 determines that the correspondence ratio DAR calculated in step S33 has improved compared to the previous correspondence ratio DAR (step S34; Yes), it sets the position obtained by raising the provisional position z_tmp by a predetermined amount "h" as the new provisional position z_tmp (step S36). In other words, in this case, the water surface position data extraction block 23 calculates "z_tmp(current) = z_tmp(previous) + h" where "z_tmp(previous)" is the previous provisional position and "z_tmp(current)" is the updated provisional position. Then, it returns to step S33.

[0115] On the other hand, if the water surface position data extraction block 23 determines that the correspondence ratio DAR calculated in step S33 has not improved compared to the previous correspondence ratio DAR (step S34; No), it sets the previous estimated position as the estimated water surface position (step S35). In this case, if the estimated water surface position is "z_est", the water surface position data extraction block 23 sets "z_est = z_tmp (previous)".

[0116] In this way, the water surface position data extraction block 23 determines the validity of each provisional position based on a confidence index calculated by setting multiple provisional positions relative to the water surface position. This makes it possible to suitably set provisional positions that result in a high confidence index as the estimated water surface position.

[0117] As described above, the controller 13 of the information processing device 1 in this embodiment acquires the water surface position and detects data indicating a position below the water surface position from the point cloud data generated by the lidar 3 installed on the target vessel as water surface reflection data generated by the light emitted by the lidar 3 being reflected from the water surface. The controller 13 then determines that the water surface reflection data is false detection data. As a result, the information processing device 1 can suitably exclude the false detection data from the point cloud data generated by the lidar 3 and perform various processes such as position estimation with high accuracy.

[0118] In the embodiments described above, the program can be stored using various types of non-transitory computer-readable media and supplied to a computer, such as a controller. Non-transitory computer-readable media include various types of tangible storage media. Examples of non-transitory computer-readable media include magnetic storage media (e.g., flexible disks, magnetic tapes, hard disk drives), magneto-optical storage media (e.g., magneto-optical disks), CD-ROMs (Read Only Memory), CD-Rs, CD-R / Ws, and semiconductor memory (e.g., mask ROMs, PROMs (Programmable ROMs), EPROMs (Erasable PROMs), flash ROMs, RAMs (Random Access Memory)).

[0119] The present invention has been described above with reference to the examples, but the present invention is not limited to the above examples. Various modifications to the structure and details of the present invention can be made that can be understood by a person skilled in the art within the scope of the present invention. That is, the present invention naturally includes the full disclosure, including the claims, and various modifications and alterations that a person skilled in the art could make in accordance with the technical idea. Furthermore, each disclosure of the above-mentioned patent documents, etc., that has been cited is incorporated herein by reference. [Explanation of symbols]

[0120] 1. Information Processing Device 2 Sensor Groups 3 Riders 4 Speed ​​Sensor 5 GPS receivers 6 IMU 10 Map Database

Claims

[Claim 1] Among the point cloud data generated by measuring devices installed on a ship, A detection means for detecting water surface reflection data that represents an inaccurate location different from the actual location, A determination means for determining that the water surface reflection data is falsely detected data, An information processing device having