WO2023095345A1 - 障害物検出装置、障害物検出方法、及び非一時的なコンピュータ可読媒体 - Google Patents

障害物検出装置、障害物検出方法、及び非一時的なコンピュータ可読媒体 Download PDF

Info

Publication number
WO2023095345A1
WO2023095345A1 PCT/JP2021/043665 JP2021043665W WO2023095345A1 WO 2023095345 A1 WO2023095345 A1 WO 2023095345A1 JP 2021043665 W JP2021043665 W JP 2021043665W WO 2023095345 A1 WO2023095345 A1 WO 2023095345A1
Authority
WO
WIPO (PCT)
Prior art keywords
obstacle
point data
detected
dimensional map
detection
Prior art date
Application number
PCT/JP2021/043665
Other languages
English (en)
French (fr)
Inventor
聡 辻
Original Assignee
日本電気株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 日本電気株式会社 filed Critical 日本電気株式会社
Priority to PCT/JP2021/043665 priority Critical patent/WO2023095345A1/ja
Publication of WO2023095345A1 publication Critical patent/WO2023095345A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G08SIGNALLING
    • G08BSIGNALLING OR CALLING SYSTEMS; ORDER TELEGRAPHS; ALARM SYSTEMS
    • G08B21/00Alarms responsive to a single specified undesired or abnormal condition and not otherwise provided for
    • G08B21/02Alarms for ensuring the safety of persons

Definitions

  • the present disclosure relates to technology for detecting obstacles.
  • Patent Literature 1 discloses a technique of moving a self-propelled traveling device in a dwelling to identify the walking impediment locations in the dwelling, thereby allowing a manager or the like to grasp each walking impediment location in the dwelling.
  • Patent Document 1 it is determined whether or not the object is an obstacle based on the position and size of the object.
  • the present invention has been made in view of such problems, and one of its purposes is to provide a new technology for detecting obstacles.
  • An obstacle detection device includes an acquisition unit that acquires a 3D map representing the 3D positions of each of a plurality of locations in a facility, and an obstacle area determination target based on the 3D map.
  • a surface detection unit that detects a target surface that is a surface, and an obstacle detection unit that detects, from among the detected target surfaces, the target surface that satisfies a predetermined obstacle condition as the obstacle area.
  • the obstacle condition includes an essential condition that is satisfied when the angle formed by the target plane and the horizontal plane is greater than or equal to a first threshold.
  • the obstacle detection method of the present disclosure is executed by a computer.
  • the obstacle detection method includes an acquisition step of acquiring a three-dimensional map representing three-dimensional positions of each of a plurality of locations in a facility, and a surface to be determined whether or not it is an obstacle area from the three-dimensional map. a surface detection step of detecting a certain target surface; and an obstacle detection step of detecting, among the detected target surfaces, the target surface that satisfies a predetermined obstacle condition as the obstacle area.
  • the obstacle condition includes an essential condition that is satisfied when the angle formed by the target plane and the horizontal plane is greater than or equal to a first threshold.
  • the computer-readable medium of the present disclosure stores a program that causes a computer to execute the obstacle detection method of the present disclosure.
  • a new technology for detecting obstacles is provided.
  • FIG. 4 is a diagram illustrating an overview of the operation of the obstacle detection device of Embodiment 1;
  • FIG. 2 is a block diagram illustrating the functional configuration of the obstacle detection device of Embodiment 1;
  • FIG. It is a block diagram which illustrates the hardware constitutions of the computer which implement
  • 4 is a flowchart illustrating the flow of processing executed by the obstacle detection device of Embodiment 1;
  • 1 is a block diagram illustrating the functional configuration of an obstacle detection device according to Embodiment 1 having an output unit;
  • FIG. 10 is a diagram illustrating an overview of the operation of the obstacle detection device of Embodiment 2;
  • FIG. 11 is a block diagram illustrating the functional configuration of an obstacle detection device according to Embodiment 2; 9 is a flowchart illustrating the flow of processing executed by the obstacle detection device of Embodiment 2; FIG. 4 is a first diagram illustrating a detection range; FIG. 11 is a second diagram illustrating detection ranges; FIG. 11 is a third diagram illustrating detection ranges; FIG. 7 is a block diagram illustrating the functional configuration of an obstacle detection device according to Embodiment 2 having an output unit; FIG. 4 is a first diagram illustrating output information; FIG. 11 is a second diagram illustrating output information;
  • the obstacle detection device 2000 detects a target plane that satisfies a predetermined obstacle condition among the target planes detected from the three-dimensional map 40 as an obstacle area.
  • the obstacle condition is a condition that is satisfied when the target plane is an area representing part or all of the obstacle 30 (that is, an obstacle area).
  • the obstacle condition includes at least a condition (hereinafter referred to as essential condition) that is satisfied when the size of the angle formed by the target plane and the horizontal plane is equal to or greater than a predetermined threshold. It is preferable that this threshold be a value close to 90 degrees (for example, a value between 60 degrees and 90 degrees).
  • the obstacle detection device 2000 detects a target plane from the three-dimensional map 40, and detects an obstacle area, which is a plane that satisfies the obstacle conditions, from among the detected target planes.
  • the obstacle condition includes at least the essential condition that is satisfied when the size of the angle formed by the target plane and the horizontal plane is greater than or equal to the threshold.
  • the obstacle detection device 2000 of this embodiment will be described in more detail below.
  • the processor 504 is various processors such as a CPU (Central Processing Unit), GPU (Graphics Processing Unit), or FPGA (Field-Programmable Gate Array).
  • the memory 506 is a main memory implemented using a RAM (Random Access Memory) or the like.
  • the storage device 508 is an auxiliary storage device implemented using a hard disk, SSD (Solid State Drive), memory card, ROM (Read Only Memory), or the like.
  • the input/output interface 510 is an interface for connecting the computer 500 and input/output devices.
  • the input/output interface 510 is connected to an input device such as a keyboard and an output device such as a display device.
  • a network interface 512 is an interface for connecting the computer 500 to a network.
  • This network may be a LAN (Local Area Network) or a WAN (Wide Area Network).
  • the storage device 508 stores a program (a program that implements the application described above) that implements each functional component of the obstacle detection device 2000 .
  • the processor 504 reads this program into the memory 506 and executes it, thereby realizing each functional component of the obstacle detection device 2000 .
  • the obstacle detection device 2000 may be realized by one computer 500 or may be realized by a plurality of computers 500. In the latter case, the configuration of each computer 500 need not be the same, and can be different.
  • the acquisition unit 2020 acquires the 3D map 40 (S102).
  • the plane detection unit 2040 detects the target plane from the three-dimensional map 40 (S104).
  • S106 to S112 constitute loop processing L1.
  • the loop processing L1 is executed for each target surface.
  • the obstacle detection device 2000 determines whether the loop process L1 has been executed for all target surfaces. If the loop process L1 has already been executed for all target surfaces, the process of FIG. 4 ends. On the other hand, if there are target surfaces that have not yet been subjected to the loop processing L1, the obstacle detection device 2000 selects one of them. The target plane selected here is called the target plane i. After the target surface i is selected, S108 is executed.
  • the obstacle detection unit 2060 determines whether or not the target plane i satisfies the obstacle condition (S108). If the target plane i satisfies the obstacle condition (S108: YES), the obstacle detection unit 2060 detects the target plane i as an obstacle area (S110). Since S112 is the end of loop processing L1, S106 is executed next.
  • the sensor is not limited to a rangefinder.
  • a camera that generates a two-dimensional captured image may be used as the sensor.
  • SFM Structure from Motion
  • the three-dimensional coordinates of each of the plurality of locations of the facility 10 are specified, and the specified three-dimensional coordinates
  • a three-dimensional map 40 consisting of a set of point data indicating is generated.
  • the plurality of captured images are obtained by capturing images of the facility 10 from different directions.
  • Existing technology can be used as the technology for generating 3D data of an imaged object using SFM.
  • the three-dimensional map 40 only needs to have data (point data) representing the three-dimensional position of each of a plurality of locations of the facility 10, and is not limited to the point cloud data described above.
  • the three-dimensional map 40 may be composed of mesh data, surface data, and the like.
  • the sensor may be used while fixed at a specific position, or may be used while moving from that position. In the former case, for example, measurement is performed using a sensor that is fixed using a tripod or the like. Alternatively, for example, the operator may hold or wear the sensor and stay at a specific position to perform measurement using the sensor. After that, when it is desired to perform measurement at another position, the same is performed at the other position. Thereby, measurement can be performed at each of a plurality of positions within the facility 10 .
  • the three-dimensional map 40 may be data representing the measurement result of the distance measuring device or the result of SFM as it is, or may be data obtained by subjecting these data to predetermined processing.
  • the predetermined processing includes, for example, a process of applying coordinate transformation to each point data so that the position of a specific location on the physical space becomes the origin of the coordinate space of the three-dimensional map 40, and a process of converting the point data to a predetermined distance. It is a down-sampling process that thins out at intervals to reduce weight.
  • the three-dimensional map 40 may reflect the results of measurements performed in real time (when the obstacle detection device 2000 is used). For example, it is assumed that the user 20 of the obstacle detection device 2000 is moving through the facility 10 while performing measurements with sensors. In this case, the result of this measurement is reflected on the three-dimensional map 40 as needed.
  • a device that updates the three-dimensional map 40 is hereinafter referred to as a map update device.
  • the map update device is realized by the obstacle detection device 2000, a user terminal possessed by the user 20 of the obstacle detection device 2000, or an arbitrary server device.
  • the acquisition unit 2020 acquires the 3D map 40 (S102). There are various methods for the acquisition unit 2020 to acquire the 3D map 40 .
  • the three-dimensional map 40 is pre-stored in a storage accessible from the obstacle detection device 2000 .
  • the acquisition unit 2020 acquires the three-dimensional map 40 by accessing this storage unit.
  • the plane detection unit 2040 detects the target plane from the three-dimensional map 40 (S104). A method for detecting the target plane will be described below.
  • the plane detection unit 2040 calculates the normal vector of each point data included in the 3D map 40 .
  • the normal vector of point data can be calculated, for example, as the normal vector of a triangular surface composed of the point data and two other point data adjacent to the point data.
  • the normal vector of the point data can be calculated as the normal vector of any one plane including the point data.
  • the plane detection unit 2040 may use both a method of clustering point data based on normal vectors and a method of using cylinder fitting.
  • the surface detection unit 2040 first identifies a region to be subjected to cylindrical fitting, and performs cylindrical fitting on that region to detect the side surface of the cylindrical region as the target surface. After that, the surface detection unit 2040 performs clustering using the normal vector on each point data that is not included in the cylindrical region among the point data included in the three-dimensional map 40, thereby obtaining the remaining target data. Detect faces.
  • the size of the angle formed by the target plane and the horizontal plane can be grasped, for example, by using the normal vector of the target plane. Specifically, the closer the direction of the normal vector of the target plane is to the horizontal direction, the larger the angle formed between the target plane and the horizontal plane.
  • an additional condition is defined so that a target surface with a relatively low height from the floor surface is detected as an obstacle area. Objects with a low height from the floor are difficult to enter the field of view of the user 20, and are likely to cause a fall.
  • the condition that "the height of the target surface from the floor surface is equal to or less than a threshold” is defined as an additional condition.
  • the obstacle detection unit 2060 sets the essential condition that ⁇ the angle between the target surface and the horizontal plane is equal to or greater than the threshold value'' and the condition that ⁇ the height of the target surface from the floor surface is equal to or lower than the threshold value. ” is satisfied. Then, for a target surface that satisfies both of these conditions, it is determined that the obstacle condition is satisfied. On the other hand, it is determined that the obstacle condition is not satisfied for a target surface that does not satisfy either one or both of the essential condition and the additional condition.
  • the floor surface here means the floor surface on which the object including the target surface is located. It is conceivable that the facility 10 may have multiple floors or have scaffolding in various places. In such a case, the "height of the target plane from the floor” is the height from the floor of the floor or scaffold on which the object including the target plane is placed.
  • the obstacle detection unit 2060 first uses the 3D map 40 to identify the floor surface on which the object including the target surface is located. Then, the obstacle detection unit 2060 calculates the value obtained by subtracting the z coordinate of the floor surface from the maximum z coordinate among the z coordinates of each point included in the target surface as the height of the target surface from the floor surface. do.
  • the method of calculating the height of the target surface from the floor surface is not limited to this method.
  • a condition such as "located in a place where the height from the floor is equal to or less than a threshold" can be used. For example, it is considered unlikely that the user 20 will collide with an object installed at a position 2 m or more above the floor surface. Therefore, in this way, a target surface existing at a high position where the user 20 does not collide is not treated as an obstacle area.
  • An obstacle condition may include multiple additional conditions.
  • a target surface that satisfies the essential condition and all additional conditions is detected as an obstacle area.
  • the obstacle detection device 2000 When an obstacle area is detected, the obstacle detection device 2000 preferably outputs information about the detected obstacle area.
  • the information output here is called output information.
  • output information a functional configuration unit that outputs output information will be referred to as an output unit.
  • FIG. 5 is a block diagram illustrating the functional configuration of the obstacle detection device 2000 having an output section.
  • the output unit 2080 outputs the output information 80.
  • FIG. The output destination of the output information 80 is, for example, a user terminal used by the user 20 . By outputting the output information 80 to the user terminal, the user 20 can easily grasp the existence of the obstacle 30 . Therefore, for example, when the user 20 moves between the facilities 10, the safety of the user 20 when using the facility 10 is improved.
  • the output destination of the output information 80 is arbitrary and is not limited to the user terminal.
  • the information indicated by the output information 80 is various.
  • the output information 80 indicates the type (step, equipment, desk, cable, etc.), size, position, etc. of the obstacle 30 represented by the obstacle area.
  • the output information 80 indicates whether each obstacle area is detected from the three-dimensional map 40 or the temporary three-dimensional data. You may indicate whether
  • the output unit 2080 transmits the output information 80 to any device such as a user terminal.
  • the output unit 2080 may store the output information 80 in any storage unit.
  • the output unit 2080 may display the output information 80 on any display device.
  • FIG. 6 is a diagram illustrating an overview of the operation of the obstacle detection device 2000 according to the second embodiment.
  • FIG. 6 is a diagram for facilitating understanding of the outline of obstacle detection device 2000, and the operation of obstacle detection device 2000 is not limited to that shown in FIG.
  • the obstacle detection device 2000 of Embodiment 2 detects an obstacle area from a predetermined range around the user 20 while the user 20 is moving through the facility 10 .
  • a predetermined range to be detected as an obstacle area is called a detection range.
  • the obstacle detection device 2000 acquires position information 50 representing the position of the user 20 .
  • the location information 50 represents the location of the user terminal possessed by the user 20 .
  • the user terminal is, for example, a smart phone, a tablet terminal, or a wearable terminal (such as a glasses-type terminal or a watch-type terminal).
  • the location represented by the location information 50 is not limited to the location of the user terminal.
  • the obstacle detection device 2000 determines the detection range based on the position of the user 20 represented by the position information 50. Furthermore, the obstacle detection device 2000 detects the target surface from the detection range. Obstacle detection device 2000 then detects a target surface that satisfies the obstacle condition as an obstacle area.
  • the obstacle detection device 2000 of the second embodiment uses the three-dimensional map 40 and the position information 50 to detect an obstacle area existing within the detection range around the user 20 (such as a worker working in the facility 10). to detect By doing so, the user 20 can easily grasp the obstacles 30 existing around him/herself. Therefore, it is possible to prevent injuries caused by the obstacles 30 in the facility 10 .
  • the obstacle detection device 2000 of this embodiment will be described in more detail below.
  • FIG. 7 is a block diagram illustrating the functional configuration of the obstacle detection device 2000 of the second embodiment.
  • the acquisition unit 2020 of the second embodiment further acquires the position information 50.
  • the obstacle detection device 2000 of Embodiment 2 further has a detection range determination section 2100 .
  • the detection range determination unit 2100 determines the detection range using the 3D map 40 and the position information 50 .
  • the surface detection unit 2040 of the second embodiment detects the target surface from the detection range.
  • the hardware configuration of the obstacle detection device 2000 of the second embodiment is the same as that of the obstacle detection device 2000 of the first embodiment, and is shown in FIG. 3, for example.
  • the storage device 508 of the second embodiment stores a program for realizing each function of the obstacle detection device 2000 of the second embodiment.
  • the acquisition unit 2020 acquires the 3D map 40 (S202).
  • S204 to S220 constitute loop processing L2.
  • the loop process L2 is repeatedly executed until a predetermined termination condition is satisfied.
  • the acquisition unit 2020 acquires the position information 50 (S206).
  • the detection range determination unit 2100 determines the detection range using the 3D map 40 and the position information 50 (S208).
  • the surface detection unit 2040 detects the target surface from within the detection range (S210).
  • the robot can be moved according to the movement of the user 20. It can be grasped whether the obstacle 30 does not exist around the user 20 behind.
  • captured images obtained by imaging at that position and imaging direction are prepared in advance as reference images. Then, by specifying the reference image that matches the captured image obtained from the user terminal, the position corresponding to the reference image that matches the captured image can be specified as the position of the user 20.
  • the acquisition unit 2020 acquires the position information 50 (S206). Any method can be used to acquire the position information 50 .
  • the acquisition unit 2020 acquires the position information 50 by receiving the position information 50 transmitted from the device that generated the position information 50 .
  • the acquisition unit 2020 may acquire the position information 50 by accessing a storage unit in which the position information 50 is stored.
  • the detection range determination unit 2100 determines the detection range using the 3D map 40 and the position information 50 (S208). For this purpose, the detection range determination unit 2100 first identifies the position of the user 20 on the three-dimensional map 40 (the position on the three-dimensional map 40 corresponding to the position of the user 20 represented by the position information 50). Here, it is assumed that the coordinate system of the three-dimensional map 40 and the coordinate system of the coordinates of the user 20 indicated by the position information 50 are different from each other.
  • the detection range determination unit 2100 converts the coordinates of the user 20 represented by the position information 50 into coordinates on the coordinate system of the three-dimensional map 40, thereby determining the position of the user 20 on the three-dimensional map 40. Identify. Note that the relationship between the coordinate system of the three-dimensional map 40 and the coordinate system of the coordinates of the user 20 represented by the position information 50 is determined in advance.
  • an existing method can be used as a method for converting coordinates on one coordinate system to coordinates on another coordinate system.
  • a transformation matrix for performing coordinate transformation from the coordinate system of the coordinates of the user 20 represented by the position information 50 to the coordinate system of the three-dimensional map 40 is determined in advance.
  • the detection range determination unit 2100 applies this conversion matrix to the coordinates of the user 20 indicated in the position information 50 to calculate the coordinates representing the position of the user 20 on the three-dimensional map 40 .
  • the detection range determination unit 2100 can use the position of the user 20 indicated in the position information 50 as it is as the position of the user 20 on the three-dimensional map 40 .
  • the detection range determination unit 2100 determines the detection range on the 3D map 40 based on the position of the user 20 on the 3D map 40 .
  • the detection range is a range around the user 20 and is a range to be detected as an obstacle area.
  • the surface detection unit 2040 detects the target surface from the detection range 60 (S210). Specifically, the plane detection unit 2040 detects the target plane using the point data included in the detection range 60 among the point data shown on the three-dimensional map 40 . Note that the method of detecting the target surface using point data is as described in the first embodiment.
  • the obstacle detection unit 2060 determines whether or not each target surface detected in S210 satisfies the obstacle condition, and detects the target surface that satisfies the obstacle condition as an obstacle area (S214, S216).
  • the method of detecting a target surface that satisfies an obstacle condition as an obstacle area is as described in the first embodiment.
  • the output information 80 may represent a warning for informing the user 20 of the presence of the obstacle 30.
  • output information 80 preferably includes a message representing the warning.
  • FIG. 13 is a first diagram illustrating output information 80.
  • FIG. FIG. 13 shows a message 90 representing the contents of the output information 80. As shown in FIG.
  • the message 90 indicates the position of the obstacle (diagonally forward left), the size of the obstacle (approximately 20 cm in height), and the type of obstacle (step).
  • the message 90 is displayed, for example, on the display device of the user terminal possessed by the user 20 .
  • the user 20 wears a spectacle-type device, and the spectacle-type device displays arbitrary information on transmissive lenses that function as a display device, so that the information is displayed on the actual scenery seen through the lenses. Assume that it is configured so that it can be superimposed.
  • the output unit 2080 superimposes information about the obstacle 30 on the surrounding scenery viewed by the user 20 through the glasses-type device. Specifically, the output unit 2080 identifies an area corresponding to the obstacle area in the area of the lens, and creates an image representing the area as the obstacle area (for example, an image covering the obstacle area). to display an image of a specific color, etc.). Also, the output unit 2080 causes the lens to display the message 110 and the arrow 120 .
  • the output information 80 is not limited to visual information.
  • output information 80 may be auditory information. That is, output unit 2080 may output a message representing a warning or a message representing the position of an obstacle as a voice message. In this case, the user 20 can grasp the obstacle by listening to the voice message output from the user terminal or the speaker provided in the facility 10 .
  • the program includes instructions (or software code) that, when read into a computer, cause the computer to perform one or more functions described in the embodiments.
  • the program may be stored in a non-transitory computer-readable medium or tangible storage medium.
  • computer readable media or tangible storage media may include random-access memory (RAM), read-only memory (ROM), flash memory, solid-state drives (SSD) or other memory technology, CDs - ROM, digital versatile disc (DVD), Blu-ray disc or other optical disc storage, magnetic cassette, magnetic tape, magnetic disc storage or other magnetic storage device.
  • the program may be transmitted on a transitory computer-readable medium or communication medium.
  • transitory computer readable media or communication media include electrical, optical, acoustic, or other forms of propagated signals.
  • the obstacle detection device according to appendix 1, wherein the obstacle condition further includes a condition that the height of the target surface from the floor surface is equal to or less than a second threshold.
  • the three-dimensional map has point data indicating the three-dimensional position of each of a plurality of locations of the facility, 3.
  • the aspect 1 or 2 wherein the surface detection unit clusters the point data to generate a plurality of clusters, and detects, for each cluster, the target surface configured by the point data included in the cluster. obstacle detection device.
  • the obstacle detection method further includes a condition that the height of the target surface from the floor surface is equal to or less than a second threshold.
  • the three-dimensional map has point data indicating the three-dimensional position of each of a plurality of locations of the facility, 13.
  • a normal direction is calculated for each of the plurality of point data, and a difference between the normal directions is equal to or less than a threshold value, and a distance between the plurality of point data is equal to or less than a third threshold value. are classified into the same cluster.
  • Appendix 15 In the surface detection step, by applying cylindrical fitting to the point data included in the three-dimensional map, a plurality of the point data representing a cylindrical region are detected, and the cylindrical shape represented by the region is detected. 15. The obstacle detection method according to appendix 13 or 14, wherein a side surface is detected as the target surface.
  • a normal direction is calculated for each of the plurality of point data, and a difference between the normal directions is equal to or less than a threshold value, and a distance between the plurality of point data is equal to or less than a third threshold value. into the same cluster.
  • Appendix 25 In the surface detection step, by applying cylindrical fitting to the point data included in the three-dimensional map, a plurality of the point data representing a cylindrical region are detected, and the cylindrical shape represented by the region is detected. 25.

Landscapes

  • Business, Economics & Management (AREA)
  • Emergency Management (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Image Analysis (AREA)

Abstract

障害物検出装置(2000)は、施設(10)の複数の箇所それぞれの3次元位置を表す3次元地図(40)を取得する。障害物検出装置(2000)は、3次元地図(40)から、障害物領域であるか否かの判定対象とする面である対象面を検出する。障害物検出装置(2000)は、検出された対象面のうち、所定の障害物条件を満たす対象面を、障害物領域として検出する。障害物条件は、対象面と水平面との成す角の大きさが第1閾値以上である場合に満たされる必須条件を含む。

Description

障害物検出装置、障害物検出方法、及び非一時的なコンピュータ可読媒体
 本開示は、障害物を検出する技術に関する。
 障害物を検出する技術が開発されている。例えば特許文献1は、住居内で自走型走行装置を移動させて、その住居内の歩行障害箇所を洗い出すことにより、管理者等に住居内の各歩行障害箇所を把握させる技術を開示している。
特開2016-192040号公報
 特許文献1の発明では、物体の位置と大きさに基づいて、その物体が障害物であるか否かが判断されている。本発明はこのような課題に鑑みてなされたものであり、その目的の一つは、障害物を検出する新たな技術を提供することである。
 本開示の障害物検出装置は、施設の複数の箇所それぞれの3次元位置を表す3次元地図を取得する取得部と、前記3次元地図から、障害物領域であるか否かの判定対象とする面である対象面を検出する面検出部と、前記検出された対象面のうち、所定の障害物条件を満たす前記対象面を、前記障害物領域として検出する障害物検出部と、を有する。前記障害物条件は、前記対象面と水平面との成す角の大きさが第1閾値以上である場合に満たされる必須条件を含む。
 本開示の障害物検出方法は、コンピュータによって実行される。当該障害物検出方法は、施設の複数の箇所それぞれの3次元位置を表す3次元地図を取得する取得ステップと、前記3次元地図から、障害物領域であるか否かの判定対象とする面である対象面を検出する面検出ステップと、前記検出された対象面のうち、所定の障害物条件を満たす前記対象面を、前記障害物領域として検出する障害物検出ステップと、を有する。前記障害物条件は、前記対象面と水平面との成す角の大きさが第1閾値以上である場合に満たされる必須条件を含む。
 本開示のコンピュータ可読媒体は、本開示の障害物検出方法をコンピュータに実行させるプログラムを格納している。
 本開示によれば、障害物を検出する新たな技術が提供される。
実施形態1の障害物検出装置の動作の概要を例示する図である。 実施形態1の障害物検出装置の機能構成を例示するブロック図である。 障害物検出装置を実現するコンピュータのハードウエア構成を例示するブロック図である。 実施形態1の障害物検出装置によって実行される処理の流れを例示するフローチャートである。 出力部を有する実施形態1の障害物検出装置の機能構成を例示するブロック図である。 実施形態2の障害物検出装置の動作の概要を例示する図である。 実施形態2の障害物検出装置の機能構成を例示するブロック図である。 実施形態2の障害物検出装置によって実行される処理の流れを例示するフローチャートである。 検出範囲を例示する第1の図である。 検出範囲を例示する第2の図である。 検出範囲を例示する第3の図である。 出力部を有する実施形態2の障害物検出装置の機能構成を例示するブロック図である。 出力情報を例示する第1の図である。 出力情報を例示する第2の図である。
 以下では、本開示の実施形態について、図面を参照しながら詳細に説明する。各図面において、同一又は対応する要素には同一の符号が付されており、説明の明確化のため、必要に応じて重複説明は省略される。また、特に説明しない限り、所定値や閾値などといった予め定められている値は、その値を利用する装置からアクセス可能な記憶装置などに予め格納されている。さらに、特に説明しない限り、記憶部は、1つ以上の任意の数の記憶装置によって構成される。
[実施形態1]
<概要>
 図1は、実施形態1の障害物検出装置2000の動作の概要を例示する図である。ここで、図1は、障害物検出装置2000の概要の理解を容易にするための図であり、障害物検出装置2000の動作は、図1に示したものに限定されない。
 障害物検出装置2000は、施設10について、ユーザ20の移動の障害となる障害物30を検出する。施設10は、屋外の施設であってもよいし、屋内の施設であってもよい。屋外の施設10は、例えば変電所などである。屋内の施設10は、例えば工場の中などである。ユーザ20は、施設10において障害物検出装置2000を利用する人物であり、例えば施設10で作業を行う作業者などである。
 障害物30を検出するために、障害物検出装置2000は、施設10の3次元地図を表すデータである3次元地図40を利用する。3次元地図40は、施設10の複数の箇所それぞれの3次元位置(3次元座標)を表す。3次元地図40は、例えば、施設10の複数の箇所の3次元位置を表す点群データで実現される。点群データは、複数の箇所それぞれについての点データを有する。点データは、対応する箇所の3次元座標を示す。点群データは、例えば、施設10の複数の箇所を LiDAR(light detection and ranging)やデプスカメラなどを利用してスキャンすることによって得られる。ただし後述するように、3次元地図40は点群データに限定されない。
 障害物検出装置2000は、3次元地図40から、障害物領域を表すか否かの判定対象とする面である対象面を1つ以上検出する。障害物領域は、障害物30の一部又は全部を表す領域である。さらに障害物検出装置2000は、検出された対象面の中から、障害物領域を表す対象面を検出する。
 ここで障害物検出装置2000は、3次元地図40から検出された対象面のうち、所定の障害物条件を満たす対象面を、障害物領域として検出する。障害物条件は、対象面が障害物30の一部又は全てを表す領域(すなわち、障害物領域)である場合に満たされる条件である。障害物条件は、少なくとも、対象面と水平面との成す角の大きさが所定の閾値以上である場合に満たされる条件(以下、必須条件)を含む。この閾値は90度に近い値(例えば60度から90度の間の値など)とすることが好適である。
<作用効果の例>
 変電所や工場などといった施設において、障害物に躓いて転倒したり、障害物にぶつかったりなどして、作業者等がけがをすることは好ましくない。例えばこのようなけがの件数は、業務の安全性に関する企業の評価指標としても扱われうる。また、けがによって作業者がしばらく働けなくなってしまう場合には、人的資源が減少してしまう。そのため、障害物によるけがの発生を防ぐことが重要である。
 そこで障害物検出装置2000は、3次元地図40から対象面を検出し、検出した対象面の中から、障害物条件を満たす面である障害物領域を検出する。前述したように、障害物条件は、少なくとも、対象面と水平面との成す角の大きさが閾値以上である場合に満たされる必須条件を含む。
 概念的に言えば、この必須条件は、対象面が寝ている面ではなく、ある程度立っている面である場合に満たされる。このような立っている面は、寝ている面と比較し、ユーザ20がその面に躓いて転んでしまったり、ユーザ20がその面にぶつかってけがを負ってしまったりする蓋然性が高い。例えば、ユーザ20の移動先に段差があると、ユーザ20がその段差に躓いて転倒してしまうかもしれない。一方で、ユーザ20の移動先になだらかなスロープがある場合に、ユーザ20がそのスロープでけがをする蓋然性は低いと言える。
 障害物検出装置2000によれば、このように立っている面を障害物領域として検出するという、障害物を検出するための新たな技術が提供される。また、これにより、ユーザ20が、注意すべき障害物30の存在を容易に把握することができるようになる。よって、施設10において障害物30によるけがが発生することを防ぐことができる。
 以下、本実施形態の障害物検出装置2000について、より詳細に説明する。
<機能構成の例>
 図2は、実施形態1の障害物検出装置2000の機能構成を例示するブロック図である。障害物検出装置2000は、取得部2020、面検出部2040、及び障害物検出部2060を有する。取得部2020は3次元地図40を取得する。面検出部2040は3次元地図40から対象面を検出する。障害物検出部2060は、障害物条件を満たす対象面を障害物領域として検出する。
<ハードウエア構成の例>
 障害物検出装置2000の各機能構成部は、各機能構成部を実現するハードウエア(例:ハードワイヤードされた電子回路など)で実現されてもよいし、ハードウエアとソフトウエアとの組み合わせ(例:電子回路とそれを制御するプログラムの組み合わせなど)で実現されてもよい。以下、障害物検出装置2000の各機能構成部がハードウエアとソフトウエアとの組み合わせで実現される場合について、さらに説明する。
 図3は、障害物検出装置2000を実現するコンピュータ500のハードウエア構成を例示するブロック図である。コンピュータ500は、任意のコンピュータである。例えばコンピュータ500は、PC(Personal Computer)やサーバマシンなどといった、据え置き型のコンピュータである。その他にも例えば、コンピュータ500は、スマートフォンやタブレット端末などといった可搬型のコンピュータである。当該可搬型のコンピュータは、例えば、ユーザ20が所持するユーザ端末である。コンピュータ500は、障害物検出装置2000を実現するために設計された専用のコンピュータであってもよいし、汎用のコンピュータであってもよい。
 例えば、コンピュータ500に対して所定のアプリケーションをインストールすることにより、コンピュータ500で、障害物検出装置2000の各機能が実現される。上記アプリケーションは、障害物検出装置2000の各機能構成部を実現するためのプログラムで構成される。なお、上記プログラムの取得方法は任意である。例えば、当該プログラムが格納されている記憶媒体(DVD ディスクや USB メモリなど)から、当該プログラムを取得することができる。その他にも例えば、当該プログラムが格納されている記憶装置を管理しているサーバ装置から、当該プログラムをダウンロードすることにより、当該プログラムを取得することができる。
 コンピュータ500は、バス502、プロセッサ504、メモリ506、ストレージデバイス508、入出力インタフェース510、及びネットワークインタフェース512を有する。バス502は、プロセッサ504、メモリ506、ストレージデバイス508、入出力インタフェース510、及びネットワークインタフェース512が、相互にデータを送受信するためのデータ伝送路である。ただし、プロセッサ504などを互いに接続する方法は、バス接続に限定されない。
 プロセッサ504は、CPU(Central Processing Unit)、GPU(Graphics Processing Unit)、又は FPGA(Field-Programmable Gate Array)などの種々のプロセッサである。メモリ506は、RAM(Random Access Memory)などを用いて実現される主記憶装置である。ストレージデバイス508は、ハードディスク、SSD(Solid State Drive)、メモリカード、又は ROM(Read Only Memory)などを用いて実現される補助記憶装置である。
 入出力インタフェース510は、コンピュータ500と入出力デバイスとを接続するためのインタフェースである。例えば入出力インタフェース510には、キーボードなどの入力装置や、ディスプレイ装置などの出力装置が接続される。
 ネットワークインタフェース512は、コンピュータ500をネットワークに接続するためのインタフェースである。このネットワークは、LAN(Local Area Network)であってもよいし、WAN(Wide Area Network)であってもよい。
 ストレージデバイス508は、障害物検出装置2000の各機能構成部を実現するプログラム(前述したアプリケーションを実現するプログラム)を記憶している。プロセッサ504は、このプログラムをメモリ506に読み出して実行することで、障害物検出装置2000の各機能構成部を実現する。
 障害物検出装置2000は、1つのコンピュータ500で実現されてもよいし、複数のコンピュータ500で実現されてもよい。後者の場合において、各コンピュータ500の構成は同一である必要はなく、それぞれ異なるものとすることができる。
<処理の流れ>
 図4は、実施形態1の障害物検出装置2000によって実行される処理の流れを例示するフローチャートである。なお、図4に示す処理の流れは一例であり、障害物検出装置2000によって実行される処理の流れは図4に示されているものに限定されない。
 取得部2020は3次元地図40を取得する(S102)。面検出部2040は、3次元地図40から対象面を検出する(S104)。S106からS112はループ処理L1を構成する。ループ処理L1は各対象面を対象として実行される。
 S106において、障害物検出装置2000は、全ての対象面を対象としてループ処理L1が実行されたか否かを判定する。既に全ての対象面についてループ処理L1が実行されている場合、図4の処理は終了する。一方、まだループ処理L1の対象としていない対象面が存在する場合、障害物検出装置2000はそのうちの1つを選択する。ここで選択される対象面を、対象面iと呼ぶ。対象面iが選択された後、S108が実行される。
 障害物検出部2060は、対象面iが障害物条件を満たしているか否かを判定する(S108)。対象面iが障害物条件を満たしている場合(S108:YES)、障害物検出部2060は対象面iを障害物領域として検出する(S110)。S112はループ処理L1の終端であるため、S106が次に実行される。
<3次元地図40について>
 3次元地図40は、種々のセンサを利用して施設10の複数の箇所それぞれの3次元位置を計測することによって生成される。3次元地図40の生成に利用されるセンサは、例えば、センサと計測対象との距離を計測することができる測距装置である。測距装置は、例えば、レーザ光などの電磁波を利用して、現実空間上の複数の箇所それぞれの3次元位置を計測する。具体的には、測距装置は、それぞれ異なる複数の方向へ電磁波を出射し、各電磁波について、その電磁波が物体によって反射されたものである反射波を受信する。そして、測距装置は、出射された電磁波とその反射波との関係から、その電磁波を反射した箇所の3次元位置を表す点データを生成する。施設10の複数の箇所それぞれについて得られた点データの集合として、点群データが生成される。このような測距装置の例としては、LiDAR(light detection and ranging)やデプスカメラなどが挙げられる。
 センサは、測距装置には限定されない。例えばセンサとして、2次元の撮像画像を生成するカメラが利用されてもよい。この場合、例えば、施設10が含まれる複数の撮像画像に対して SFM(Structure from Motion)を適用することにより、施設10の複数の箇所それぞれの3次元座標が特定され、特定された3次元座標を示す点データの集合から成る3次元地図40が生成される。この場合、複数の撮像画像は、施設10をそれぞれ異なる方向から撮像することで得られたものである。なお、撮像された物体の3次元データを SFM を利用して生成する技術には、既存の技術を利用することができる。
 3次元地図40は、施設10の複数の箇所それぞれについてその3次元位置を表すデータ(点データ)を有していればよく、前述した点群データに限定されない。例えば3次元地図40は、メッシュデータやサーフェスデータなどで構成されてもよい。
 センサは、特定の位置に固定した状態で利用されてもよいし、その位置を移動しながら利用されてもよい。前者の場合、例えば、三脚などを利用して固定された状態のセンサを利用して、計測が行われる。その他にも例えば、作業者がセンサを保持した状態や身につけた状態で特定の位置に留まり、センサによる計測を実行してもよい。その後、さらに別の位置で計測を行いたい場合には、当該別の位置で同様のことが行われる。これにより、施設10内の複数の位置それぞれで計測を行うことができる。
 移動しながらセンサが利用される場合、例えば、センサを保持した状態又は身につけた状態の作業者が施設10の中を移動することにより、施設10の計測が行われる。この場合、センサは、作業者が保持するスマートフォンや、作業者が身につけているウェアラブルデバイスなどに設けられている。その他にも例えば、センサが取り付けられた移動体(例えば、飛行型又は走行型のロボット)が施設10の中を移動することにより、施設10の計測が行われてもよい。このように移動している状態でセンサに繰り返し計測を行わせることにより、施設10内の複数の位置それぞれで計測を行うことができる。
 なお、センサの位置を変えるだけでなく、同一の位置で計測方向を変えることにより、複数の計測が行われてもよい。
 複数の位置や計測方向で計測が行われた場合、各計測で得られた計測結果を統合することで、3次元地図40が生成される。なお、複数の位置や計測方向で行われた計測結果を統合して1つの3次元データを生成する技術には、既存の技術を利用することができる。
 ここで、3次元地図40は、測距装置の計測結果や SFM の結果をそのまま表すデータであってもよいし、これらのデータに対して所定の加工処理が施されたデータであってもよい。所定の加工処理は、例えば、現実空間上の特定の箇所の位置が3次元地図40の座標空間の原点となるように各点データに対して座標変換を加える処理や、点データを所定の距離間隔で間引いて軽量化するダウンサンプリング処理などである。
 ここで、3次元地図40には、リアルタイム(障害物検出装置2000が利用されているタイミング)で行われる計測の結果が反映されてもよい。例えば障害物検出装置2000のユーザ20が、センサで計測を行いながら施設10の中を移動しているとする。この場合、この計測の結果が随時3次元地図40に反映されるようにする。以下、3次元地図40の更新を行う装置を、地図更新装置と呼ぶ。例えば地図更新装置は、障害物検出装置2000、障害物検出装置2000のユーザ20が所持するユーザ端末、又は任意のサーバ装置などで実現される。
 地図更新装置は、リアルタイムで行われる計測によって得られる3次元データと3次元地図40とを比較することで、3次元地図40に含まれていない3次元データを検出する。例えば、施設10に一時的に置かれている物や、3次元地図40を生成した後に新たに施設10に設置された物を表す3次元データが、3次元地図40に含まれていない3次元データとして検出される。地図更新装置は、このようにして検出された3次元データを含めるように、3次元地図40を更新する。
<3次元地図40の取得:S102>
 取得部2020は、3次元地図40を取得する(S102)。取得部2020が3次元地図40を取得する方法は様々である。例えば3次元地図40は、障害物検出装置2000からアクセス可能な記憶部に予め格納されている。取得部2020は、この記憶部にアクセスすることで、3次元地図40を取得する。
 その他にも例えば、3次元地図40は、ユーザ操作に応じて障害物検出装置2000に入力されてもよい。例えばユーザ20は、3次元地図40が格納されている可搬型の記憶部(メモリカードなど)を障害物検出装置2000に接続し、当該記憶部から障害物検出装置2000に対して3次元地図40を入力する。
 その他にも例えば、取得部2020は、他の装置から送信される3次元地図40を受信することで、3次元地図40を取得してもよい。例えば当該他の装置は、3次元地図40を生成する装置である。
<対象面の検出:S104>
 面検出部2040は、3次元地図40から対象面を検出する(S104)。以下、対象面の検出方法について説明する。
 例えば面検出部2040は、3次元地図40に示されている各点データを、同一の面を表す点データごとにクラスタリングする。そして、面検出部2040は、各クラスタによって表される面を、対象面として扱う。すなわち、1つのクラスタに含まれる複数の点データが、1つの対象面を構成する点データのグループとして扱われる。
 点データを同一の面ごとにクラスタリングする方法は様々である。例えば面検出部2040は、3次元地図40に含まれる各点データの法線ベクトルを算出する。ここで、点データの法線ベクトルは例えば、その点データと、その点データに近接する他の2つの点データとで構成される三角形の面の法線ベクトルとして算出することができる。なお、3次元地図40がメッシュデータである場合、点データの法線ベクトルは、その点データを含むいずれか1つの面の法線ベクトルとして算出することができる。
 面検出部2040は、法線ベクトルの向きに基づいて、点データをクラスタリングする。具体的には、面検出部2040は、ある点データの法線ベクトルの向きと、その点データに近接する(例えば、距離が所定の閾値以下である)他の点データの法線ベクトルの向きとの差異が小さい(例えば、差異が所定の閾値以下である)場合、これらの点データを同一のクラスタに入れる。この処理により、向きが近い複数の近接する小さな面を、1つの大きな面として捉えることができる。
 ここで、3次元地図40の中には、配管やタンクなどのように、曲面を持つ物体も存在しうる。そこで例えば、面検出部2040は、円筒フィッティングを行うことによって円筒形状の領域を検出し、円筒形状の領域についてはその側面を対象面として扱うようにしてもよい。ここで、円筒フィッティングは、RANSAC 等のアルゴリズムを用いて実現することができる。
 円筒フィッティングを行う場合、面検出部2040は、3次元地図40の中から円筒の形状を持つ蓋然性が高い領域を検出し、その領域に対して円筒フィッティングを行う。これは例えば、セマンティックセグメンテーションを利用することが実現することができる。具体的には、面検出部2040は、3次元地図40に含まれる点データに対してセマンティックセグメンテーションを行うことにより、これらの点データを、同一の物体を表す点データごとにクラスタリングする。これにより、点データが、同一の物体を表す点データごとにクラスタに分けられる。また、各クラスタによって表される物体の種類(壁、タンク、パイプ、又は鉄構など)が特定される。
 さらに面検出部2040は、円筒フィッティングの対象となる種類(タンクやパイプなど)のクラスタごとに、そのクラスタに含まれる点データに対して円筒フィッティングを行うことで、そのクラスタに対応する対象面を特定する。なお、円筒フィッティングの対象とする種類は、予め定めておく。
 面検出部2040は、法線ベクトルに基づいて点データをクラスタリングする手法と、円筒フィッティングを利用する手法とを併用してもよい。この場合、例えば面検出部2040は、まず円筒フィッティングの対象とする領域を特定し、その領域に対して円筒フィッティングを行うことにより、円筒形状の領域の側面を対象面として検出する。その後、面検出部2040は、3次元地図40に含まれる点データのうち、円筒形状の領域に含まれない各点データに対して、法線ベクトルを利用したクラスタリングを行うことで、残りの対象面を検出する。
 その他にも例えば、面検出部2040は、セマンティックセグメンテーションによって点データを同一の物体ごとのクラスタに分けた後、各物体ごとに対象面の検出を行ってもよい。この場合、まず面検出部2040は、3次元地図40に含まれる点データに対してセマンティックセグメンテーションを適用することにより、同一の物体を表す点データごとにクラスタに分ける。次に面検出部2040は、円筒フィッティングの対象となる種類の物体のクラスタについて、円筒フィッティングを利用した対象面の検出を行う。さらに面検出部2040は、それ以外の種類の物体の各クラスタについて、同一のクラスタに含まれる複数の点データに対して、前述した法線ベクトルを用いたクラスタリングを行う。これにより、同一の物体のクラスタから複数の対象面が検出される。
 その他にも例えば、3次元地図40が点群データで構成されている場合、面検出部2040は、点群データをメッシュデータに変換することで、対象面を検出してもよい。これにより、点群データから、複数の面を表すデータが得られる。そこで例えば面検出部2040は、メッシュ化によって得られた各面を対象面として扱う。ただし、ある程度の大きさの面を対象面として扱うようにするために、面検出部2040は、点群データをダウンサンプリングしてから、メッシュデータに変換してもよい。
 なお、上述の説明では、3次元地図40の中に含まれる各点データを利用して、対象面が検出されている。すなわち、3次元地図40によって表される領域全体について、対象面の検出が行われている。しかしながら、面検出部2040は、3次元地図40の中の一部の領域を対象として(言い換えれば、3次元地図40に含まれる一部の点データを利用して)、対象面の検出を行ってもよい。当該一部の領域は、ユーザ20によって指定されてもよいし、障害物検出装置2000によって決定されてもよい。対象面の検出範囲が障害物検出装置2000によって決定されるケースの例は、後述する実施形態2に記載されている。
 また、施設10についてリアルタイムで計測が行われる場合、前述したように、3次元地図40に含まれていない3次元データが得られることがある。面検出部2040は、このようにして得られた3次元データからさらに対象面を検出してもよい。
 例えば面検出部2040は、リアルタイムで行われる計測によって得られた3次元データと、3次元地図40との差分を取ることにより、3次元地図40の中には示されていない物体を表す3次元データを特定する。このように、リアルタイムの計測によって得られた3次元データのうち、3次元地図40の中には示されていない物体を表す3次元データのことを、テンポラリ3次元データと呼ぶ。テンポラリ3次元データは、例えば、施設10に一時的に置かれた機材やケーブルなどの物体を表す3次元データである。面検出部2040は、前述した3次元地図40から対象面を検出する方法と同様の方法で、テンポラリ3次元データから対象面を検出する。
 なお、3次元地図40から検出される障害物領域と、テンポラリ3次元データから検出される障害物領域とは、互いに識別できるようにすることが好適である。そこで例えば、後述するように、障害物領域についての情報を出力する場合、各障害物領域が3次元地図40とテンポラリ3次元データのどちらから検出されたものであるのかが分かるようにする。
<障害物領域の検出:S108、S110>
 障害物検出部2060は、障害物条件を満たす対象面を、障害物領域として検出する(S108、S110)。前述したように、障害物条件は少なくとも、対象面と水平面との成す角が閾値以上である場合に満たされる必須条件を含む。
 対象面と水平面との成す角の大きさは、例えば、対象面の法線ベクトルを利用して把握することができる。具体的には、対象面の法線ベクトルの方向が水平方向に近いほど、対象面と水平面との成す角が大きくなる。
 そこで例えば、障害物検出部2060は、具体的な必須条件として、「対象面の法線方向と水平方向との成す角が閾値以下である」という条件を用いてもよい。この閾値は、0度に近い値(例えば、0度から30度の間の値など)に設定されることが好適である。この場合、障害物検出部2060は、対象面の法線ベクトルを算出し、算出した法線ベクトルと水平方向との成す角を算出する。障害物検出部2060は、算出した角の大きさが閾値以下である場合か否かを判定する。算出した角の大きさが閾値以下である対象面は、必須条件を満たす対象面である。ここで、面の法線ベクトルを算出する手法には、既存の手法を利用することができる。
 なお、円筒形状の領域の側面を対象面とする場合のように、対象面が曲面である場合がある。この場合、必須条件が満たされているか否かの判定には、例えば、対象面の法線のうち、水平方向に最も近い方向の法線が利用される。すなわち、水平方向に最も近い方向の法線について、その法線方向と水平方向との成す角の大きさが閾値以下であれば、必須条件が満たされていると判定される。
 障害物条件は、前述した必須条件以外の条件をさらに含んでいてもよい。以下、障害物条件に含まれる条件のうち、必須条件以外の条件を付加条件と呼ぶ。
 例えば、床面からの高さがある程度低い対象面が障害物領域として検出されるように、付加条件が定められる。床面からの高さが低い物体はユーザ20の視界に入りにくいため、転倒の原因になりやすいと考えられる。
 そこで例えば、「対象面の床面からの高さが閾値以下である」という条件が、付加条件として定められる。この場合、障害物検出部2060は、各対象面について、「対象面と水平面との成す角が閾値以上である」という必須条件と、「対象面の床面からの高さが閾値以下である」という付加条件の双方が満たされているか否かを判定する。そして、これらの双方を満たす対象面については、障害物条件が満たされていると判定される。一方、必須条件と付加条件のいずれか1つ又は双方が満たされていない対象面については、障害物条件が満たされていないと判定される。
 なお、ここでいう床面とは対象面を含む物体が位置する床面を意味する。施設10では、複数のフロアが存在したり、様々な場所に足場が設けられていたりすることも考えられる。このような場合、「対象面の床面からの高さ」は、対象面を含む物体が置かれているフロアや足場の床面からの高さとなる。
 そこで例えば、障害物検出部2060はまず、3次元地図40を用いて、対象面を含む物体が位置する床面を特定する。そして障害物検出部2060は、対象面に含まれる各点の z 座標のうち、最大の z 座標から、その床面の z 座標を引いた値を、対象面の床面からの高さとして算出する。ただし、対象面の床面からの高さを算出する方法は、この方法に限定されない。
 付加条件としては、他にも例えば、「床面からの高さが閾値以下の場所に位置する」といった条件を用いることができる。例えば、床面から2m以上高い位置に設置されている物体にユーザ20が衝突する蓋然性は低いと考えられる。そこでこのように、ユーザ20が衝突しないような高い位置に存在する対象面は、障害物領域として扱わないようにする。
 障害物条件は複数の付加条件を含んでもよい。この場合、必須条件及び全ての付加条件を満たす対象面が、障害物領域として検出される。
<検出結果の出力>
 障害物領域が検出された場合、障害物検出装置2000は、検出された障害物領域に関する情報を出力することが好適である。ここで出力される情報を、出力情報と呼ぶ。以下、出力情報の出力を行う機能構成部を、出力部と呼ぶ。
 図5は、出力部を有する障害物検出装置2000の機能構成を例示するブロック図である。出力部2080は出力情報80を出力する。出力情報80の出力先は、例えば、ユーザ20が利用するユーザ端末である。ユーザ端末へ出力情報80を出力することにより、ユーザ20は、障害物30の存在を容易に把握することができる。そのため例えば、ユーザ20が施設10を移動する場合、ユーザ20にとって施設10を利用する際の安全性が向上する。なお、出力情報80の出力先は任意であり、ユーザ端末には限定されない。
 出力情報80によって示される情報は様々である。例えば出力情報80は、障害物領域が表す障害物30の種類(段差、機器、机、又はケーブルなど)、サイズ、又は位置などを示す。また、前述したようにテンポラリ3次元データからも障害物領域が検出される場合、出力情報80は、各障害物領域について、3次元地図40とテンポラリ3次元データのどちらから検出されたものであるのかを示してもよい。
 出力情報80の出力の態様は様々である。例えば出力部2080は、出力情報80をユーザ端末など、任意の装置へ送信する。その他にも例えば、出力部2080は、任意の記憶部に出力情報80を格納してもよい。その他にも例えば、出力部2080は、任意のディスプレイ装置に出力情報80を表示させてもよい。
[実施形態2]
<概要>
 図6は、実施形態2の障害物検出装置2000の動作の概要を例示する図である。ここで、図6は、障害物検出装置2000の概要の理解を容易にするための図であり、障害物検出装置2000の動作は、図6に示したものに限定されない。
 実施形態2の障害物検出装置2000は、ユーザ20が施設10の中を移動する状況において、ユーザ20の周辺の所定の範囲から障害物領域を検出する。障害物領域の検出対象とする所定の範囲を、検出範囲と呼ぶ。
 より具体的には、障害物検出装置2000は、ユーザ20の位置を表す位置情報50を取得する。例えば位置情報50は、ユーザ20が所持しているユーザ端末の位置を表す。ユーザ端末は、例えば、スマートフォン、タブレット端末、又はウェアラブル端末(眼鏡型の端末や時計型の端末など)などである。ただし後述するように、位置情報50によって表される位置は、ユーザ端末の位置に限定されない。
 障害物検出装置2000は、位置情報50によって表されるユーザ20の位置に基づいて検出範囲を決定する。さらに障害物検出装置2000は、検出範囲から対象面を検出する。そして障害物検出装置2000は、障害物条件を満たす対象面を、障害物領域として検出する。
<作用効果の例>
 実施形態2の障害物検出装置2000は、3次元地図40及び位置情報50を利用して、ユーザ20(施設10で作業を行う作業者など)の周辺の検出範囲の中に存在する障害物領域を検出する。こうすることで、ユーザ20は、自身の周辺に存在する障害物30を容易に把握することができる。よって、施設10において障害物30によるけがが発生することを防ぐことができる。
 以下、本実施形態の障害物検出装置2000について、より詳細に説明する。
<機能構成の例>
 図7は、実施形態2の障害物検出装置2000の機能構成を例示するブロック図である。実施形態2の取得部2020は、位置情報50をさらに取得する。また、実施形態2の障害物検出装置2000は、検出範囲決定部2100をさらに有する。検出範囲決定部2100は、3次元地図40及び位置情報50を用いて検出範囲を決定する。実施形態2の面検出部2040は、検出範囲から対象面を検出する。
<ハードウエア構成の例>
 実施形態2の障害物検出装置2000のハードウエア構成は、実施形態1の障害物検出装置2000のハードウエア構成と同様であり、例えば図3で表される。ただし、実施形態2のストレージデバイス508には、実施形態2の障害物検出装置2000の各機能を実現するためのプログラムが格納されている。
<処理の流れ>
 図8は、実施形態2の障害物検出装置2000によって実行される処理の流れを例示するフローチャートである。なお、図8に示す処理の流れは一例であり、障害物検出装置2000によって実行される処理の流れは図8に示されているものに限定されない。
 取得部2020は、3次元地図40を取得する(S202)。S204からS220はループ処理L2を構成する。ループ処理L2は、所定の終了条件が満たされるまで繰り返し実行される。
 S204において、障害物検出装置2000は、終了条件が満たされているか否かを判定する。終了条件が満たされている場合、図8の処理は終了する。一方、終了条件が満たされていない場合、次にS206が実行される。
 取得部2020は、位置情報50を取得する(S206)。検出範囲決定部2100は、3次元地図40及び位置情報50を用いて、検出範囲を決定する(S208)。面検出部2040は、検出範囲の中から対象面を検出する(S210)。
 S212からS218はループ処理L3を構成する。ループ処理L3は各対象面を対象として実行される。S212において、障害物検出装置2000は、全ての対象面を対象としてループ処理L3が実行されたか否かを判定する。既に全ての対象面についてループ処理L3が実行されている場合、S220が次に実行される。S220はループ処理L2の終端であるため、S204が次に実行される。
 一方、まだループ処理L3の対象としていない対象面が存在する場合、障害物検出装置2000はそのうちの1つを選択する。ここで選択される対象面を、対象面iと呼ぶ。対象面iが選択された後、S214が実行される。
 障害物検出部2060は、対象面iが障害物条件を満たしているか否かを判定する(S214)。対象面iが障害物条件を満たしている場合(S214:YES)、障害物検出部2060は対象面iを障害物領域として検出する(S216)。S218はループ処理L3の終端であるため、S212が次に実行される。
 このように、「位置情報50を取得し、取得した位置情報50に基づいて決定される検出範囲から障害物領域を検出する」という処理を繰り返し行うことにより、ユーザ20の移動に応じて、移動後のユーザ20の周辺に障害物30が存在しないかどうかを把握することができる。
 ここで、ループ処理L2の終了条件には、様々な条件を採用できる。例えば終了条件は、「所定の入力操作が行われる」という条件である。その他にも例えば、終了条件は、「ユーザ20が3次元地図40に示されている範囲の外に出る」という条件である。例えば3次元地図40が施設10の全体を表している場合、ユーザ20が施設10の外に出るとこの終了条件が満たされる。
<位置情報50について>
 位置情報50は、ユーザ20の位置を表す情報である。ここで、ユーザ20の位置を表す情報としては、種々のものを採用することができる。例えば位置情報50は、ユーザ20のユーザ端末の位置を表す。ここで、特定の場所の中(ここでは施設10の中)において特定の端末の位置を特定する技術には、既存の種々の技術を利用することができる。例えば、ユーザ端末に設けられている GPS(Global Positioning System)センサなどの位置センサの位置を検出することにより、ユーザ端末の位置を特定することができる。その他にも例えば、施設10に設けられているビーコンや RFID センサとユーザ端末との通信に基づいて、ユーザ端末の位置が特定されてもよい。
 その他にも例えば、ユーザ端末に設けられているセンサから得られる計測データを利用して、ユーザ端末の位置が特定されてもよい。ユーザ端末の位置の特定に利用される計測データは、例えば、2次元カメラから得られる2次元の撮像画像や、デプスカメラや LiDAR などから得られる3次元データである。なお、これらの計測データから、その計測が行われた位置を特定する技術には、既存の技術を利用することができる。
 計測データとして撮像画像を利用する場合、例えば、施設10の位置及び撮像方向の様々な組み合わせごとに、その位置及び撮像方向の撮像で得られる撮像画像を、リファレンス画像として予め用意しておく。そして、リファレンス画像の中から、ユーザ端末から得られた撮像画像とマッチするものを特定することにより、撮像画像とマッチするリファレンス画像に対応する位置を、ユーザ20の位置として特定することができる。
 計測データとして3次元データを利用する場合、例えば、ユーザ端末から得られた3次元データとマッチする3次元データを3次元地図40の中から検出する。このようにして検出された3次元データは、センサによって計測された3次元領域を表す。また、計測データに基づいて、計測方向を特定することができる。そして、計測された3次元領域と計測方向に基づいて、センサの位置(すなわち、ユーザ端末の位置)を特定することができる。
 その他にも例えば、自立移動型のロボットに採用されているような自己位置推定の機能をユーザ端末に設け、この自己位置推定により、ユーザ端末の位置が特定されてもよい。
 ユーザ20の位置の特定には、ユーザ端末が利用されなくてもよい。例えば、施設10に設けられている監視用のセンサ(カメラなど)を利用してユーザ20を検出することにより、ユーザ20の位置が特定されてもよい。
 位置情報50の生成は、障害物検出装置2000によって行われてもよいし、障害物検出装置2000以外の装置(ユーザ端末やサーバ装置など)によって行われてもよい。位置情報50の生成を行う装置は、ユーザ20の位置を特定するために必要な情報(例えば計測データ)を取得し、取得した情報を用いてユーザ20の位置を特定することで、位置情報50を生成する。
<位置情報50の取得:S206>
 取得部2020は位置情報50を取得する(S206)。位置情報50を取得する方法は任意である。例えば取得部2020は、位置情報50を生成した装置から送信された位置情報50を受信することで、位置情報50を取得する。その他にも例えば、取得部2020は、位置情報50が格納されている記憶部にアクセスすることで、位置情報50を取得してもよい。
<検出範囲の決定:S208>
 検出範囲決定部2100は3次元地図40及び位置情報50を利用して検出範囲を決定する(S208)。そのためにまず、検出範囲決定部2100は、3次元地図40上のユーザ20の位置(位置情報50によって表されるユーザ20の位置に対応する、3次元地図40上の位置)を特定する。ここで、3次元地図40の座標系と、位置情報50によって示されるユーザ20の座標の座標系とが互いに異なるものであるとする。この場合、検出範囲決定部2100は、位置情報50によって表されるユーザ20の座標を、3次元地図40の座標系上の座標に変換することにより、3次元地図40上のユーザ20の位置を特定する。なお、3次元地図40の座標系と、位置情報50によって表されるユーザ20の座標の座標系との関係は、予め定めておく。
 ここで、或る座標系上の座標を別の座標系上の座標に変換する手法には、既存の手法を利用することができる。例えば、位置情報50によって表されるユーザ20の座標の座標系から、3次元地図40の座標系への座標変換を行うための変換行列を、予め定めておく。この場合、検出範囲決定部2100は、位置情報50に示されているユーザ20の座標にこの変換行列を適用することで、3次元地図40上のユーザ20の位置を表す座標を算出する。
 一方、3次元地図40の座標系と、位置情報50によって示されるユーザ20の座標の座標系とが互いに同一のものであるとする。この場合、位置情報50によって表されるユーザ20の座標そのものにより、3次元地図40におけるユーザ20の位置が表されている。そのため、検出範囲決定部2100は、位置情報50に示されているユーザ20の位置をそのまま、3次元地図40上のユーザ20の位置として利用することができる。
 3次元地図40におけるユーザ20の位置が特定された後、検出範囲決定部2100は、3次元地図40におけるユーザ20の位置に基づいて、3次元地図40における検出範囲を決定する。検出範囲は、ユーザ20の周辺の範囲であって、障害物領域の検出対象となる範囲である。
 検出範囲を定める方法は様々である。例えば検出範囲決定部2100は、ユーザ20の位置を中心とする所定の形状かつ所定の大きさの範囲を、検出範囲として決定する。検出範囲は、例えば、3次元地図40を平面視した2次元平面上の範囲として定められる。なお、ここでいう平面視は、3次元地図40を鉛直方向下向きに見たものであってもよいし、ユーザ20が位置している床面をその法線ベクトルと逆向きに見たものであってもよい。なお、ここでいう床面には、地面も含まれる。すなわち、施設10が屋外の施設である場合、ユーザ20が位置している床面は、ユーザ20が位置している地面を意味する。
 検出範囲の形状は、円形や矩形などといった任意の形状とすることができる。検出範囲の形状は、予め固定で定められていてもよいし、入力操作によって変更可能であってもよい。検出範囲の大きさも同様に、予め固定で定められていてもよいし、入力操作によって変更可能であってもよい。
 図9は、検出範囲を例示する第1の図である。検出範囲60は、平面視において、ユーザ20の位置25を中心とする半径 d の範囲である。
 検出範囲は、ユーザ20の方向(視線方向や移動方向)に基づいて決定されてもよい。例えば検出範囲は、ユーザ20の方向を基準の方向とした所定の角度の範囲で定められる。図10は、検出範囲を例示する第2の図である。図10において、ユーザ20の方向は矢印70で表されている。そして、検出範囲60は、平面視において、半径が d であり、かつ、ユーザ20の方向を基準とする±θ°の範囲の扇形の範囲として定められている。
 このように、障害物30を検出する範囲をユーザ20の方向を基準として絞ることにより、ユーザ20の移動の障害となる確率が高い物体を検出しつつ、その検出に要する時間や計算機リソースを削減することができる。
 ここで、ユーザ20の視線方向や移動方向を検出する技術には、種々の技術を利用することができる。例えば、ユーザ20が利用しているユーザ端末に設けられているセンサの計測方向を特定し、その計測方向をユーザの視線方向や移動方向として扱うことができる。ここで、センサから得られる計測データに基づいてその計測方向を特定する技術には、既存の技術を利用することができる。その他にも例えば、ユーザ20の移動方向は、これまで取得した複数の位置情報50それぞれによって示されるユーザ20の位置の時間変化から特定されてもよい。
 検出範囲は、ユーザ20の方向に近い方向の領域ほど広くなるように定められてもよい。図11は、検出範囲を例示する第3の図である。図11の例では、ユーザ20から検出範囲の境界までの距離が、ユーザ20の方向に近い方向ほど長くなっている。このようにすることで、ユーザ20が移動する確率が高い方向の範囲ほど、より広い範囲で障害物30の検出が行われるようにすることができる。
 検出範囲は、水平方向だけでなく、垂直方向についても定められてもよい。その他にも例えば、検出範囲決定部2100は、ユーザ20の位置から上方、下方、又はその双方について、ユーザ20の位置からの距離が所定値以下の範囲を、検出範囲に決定してもよい。この所定値は、上方と下方とで同じであってもよいし、異なっていてもよい。その他にも例えば、施設10に複数のフロアが存在する場合、検出範囲決定部2100は、ユーザ20が位置するフロアを特定し、検出範囲をそのフロアだけに限定することが好適である。
<対象面の検出:S210>
 面検出部2040は、検出範囲60から対象面を検出する(S210)。具体的には、面検出部2040は、3次元地図40に示されている点データのうち、検出範囲60に含まれている点データを利用して、対象面を検出する。なお、点データを利用して対象面を検出する方法については、実施形態1で説明した通りである。
<障害物領域の検出:S214、S216>
 障害物検出部2060は、S210で検出された各対象面について、障害物条件を満たすか否かを判定し、障害物条件を満たす対象面を、障害物領域として検出する(S214、S216)。障害物条件を満たす対象面を障害物領域として検出する方法は、実施形態1で説明した通りである。
<検出結果の出力>
 障害物領域が検出された場合、実施形態2の障害物検出装置2000は、実施形態1の障害物検出装置2000と同様に、出力情報80を出力してもよい。この場合、実施形態2の障害物検出装置2000は、実施形態1で説明した出力部2080を有する。図12は、出力情報80を有する実施形態2の障害物検出装置2000の機能構成を例示する図である。
 実施形態2の出力情報80によって示される情報は様々である。例えば実施形態2の出力情報80は、実施形態1の出力情報80と同様に、障害物領域が表す障害物30の種類(段差、機器、机、又はケーブルなど)、サイズ、又は位置などを示す。
 その他にも例えば、出力情報80は、障害物30の存在をユーザ20に知らせるための警告を表してもよい。この場合、出力情報80は、警告を表すメッセージを含むことが好適である。図13は、出力情報80を例示する第1の図である。図13には、出力情報80の内容を表すメッセージ90が示されている。メッセージ90は、障害物の位置(左斜め前方)、障害物のサイズ(高さ約 20cm)、及び障害物の種類(段差)を示している。メッセージ90は、例えば、ユーザ20が所持するユーザ端末のディスプレイ装置に表示される。
 出力情報80には、障害物領域の周辺の3次元地図がさらに含まれていてもよい。図14は、出力情報80を例示する第2の図である。図14には、出力情報80の内容を表す画面100が示されている。画面100には、3次元地図40のうち、ユーザ20の視界に含まれる部分が表示されている。また、画面100において、障害物領域130が強調表示されている。具体的には、障害物領域130が斜線で塗られている。さらに、画面100には、障害物30としてケーブルが存在していることを知らせるためのメッセージ110、及び障害物30が位置する方向を示す矢印120が表示されている。なお、画面100に表示される3次元地図40の範囲は、ユーザ20の視界の変化(ユーザ20の位置や方向の変化)に合わせて応じて変更されることが好適である。
 3次元地図40のうち、ユーザ20の視界に含まれる部分を決定する方法は様々である。例えば出力部2080は、3次元地図40のうち、ユーザ20の位置からユーザ20の移動方向を見た場合に視界を表す所定の範囲に含まれる部分を、ユーザ20の視界に含まれる部分として扱う。その他にも例えば、ユーザ20がユーザ端末に設けられているカメラ(以下、ユーザカメラ)を利用している場合、出力部2080は、3次元地図40のうち、ユーザカメラの撮像範囲やそのうちの所定の範囲に含まれる部分を、ユーザ20の視界に含まれる3次元地図40の部分として扱ってもよい。
 ここで、ユーザカメラを用いて、ユーザ20の視界方向の景色が撮像されているとする。この場合、画面100には、3次元地図40の代わりに、ユーザカメラから得られる映像が表示されてもよい。この場合、出力部2080は、図14に示した種々の表示を、ユーザカメラから得られる映像に重畳する。具体的には、出力部2080は、当該映像の中から、検出範囲から検出された障害物領域に相当する領域を特定し、当該領域を強調表示する。また、出力部2080は、メッセージ110や、障害物領域に相当する領域の方向を示す矢印120を、ユーザカメラの映像に重畳する。
 また、ユーザ20が眼鏡型デバイスを身につけており、その眼鏡型デバイスが、ディスプレイ装置として機能する透過型のレンズに任意の情報を表示させることで、当該レンズを通して見える実際の景色にその情報を重畳させることができるように構成されているとする。この場合、出力部2080は、ユーザ20が眼鏡型デバイスを介して見る周囲の景色に対して、障害物30に関する情報を重畳させる。具体的には、出力部2080は、レンズの領域のうち、障害物領域に相当する領域を特定し、当該領域に対して、障害物領域であることを表す画像(例えば、障害物領域を覆う特定の色の画像など)を表示させる。また、出力部2080は、当該レンズに対して、メッセージ110や矢印120を表示させる。
 出力情報80は視覚情報には限定されない。例えば出力情報80は、聴覚情報であってもよい。すなわち、出力部2080は、警告を表すメッセージや障害物の位置を表すメッセージを、音声メッセージとして出力してもよい。この場合、ユーザ20は、ユーザ端末や施設10に設けられたスピーカから出力されるこの音声メッセージを聞くことで、障害物を把握することができる。
 出力情報80の出力の態様は様々である。例えば出力部2080は、出力情報80をユーザ端末へ送信する。その他にも例えば、出力部2080は、ユーザ端末からアクセス可能な記憶部に出力情報80を出力してもよい。この場合、ユーザ端末は、この記憶部にアクセスすることで出力情報80を取得する。その他にも例えば、出力情報80が音声メッセージである場合、施設10に設けられているスピーカに対して出力情報80を出力することで、当該スピーカに音声メッセージを出力させてもよい。ここで、施設10に複数のスピーカが設けられている場合、例えば出力部2080は、ユーザ20の位置に最も近いスピーカを特定し、そのスピーカに対して出力情報80を出力することが好適である。
 以上、実施の形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
 なお、上述の例において、プログラムは、コンピュータに読み込まれた場合に、実施形態で説明された1又はそれ以上の機能をコンピュータに行わせるための命令群(又はソフトウェアコード)を含む。プログラムは、非一時的なコンピュータ可読媒体又は実体のある記憶媒体に格納されてもよい。限定ではなく例として、コンピュータ可読媒体又は実体のある記憶媒体は、random-access memory(RAM)、read-only memory(ROM)、フラッシュメモリ、solid-state drive(SSD)又はその他のメモリ技術、CD-ROM、digital versatile disc(DVD)、Blu-ray(登録商標)ディスク又はその他の光ディスクストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ又はその他の磁気ストレージデバイスを含む。プログラムは、一時的なコンピュータ可読媒体又は通信媒体上で送信されてもよい。限定ではなく例として、一時的なコンピュータ可読媒体又は通信媒体は、電気的、光学的、音響的、またはその他の形式の伝搬信号を含む。
 上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
 (付記1)
 施設の複数の箇所それぞれの3次元位置を表す3次元地図を取得する取得部と、
 前記3次元地図から、障害物領域であるか否かの判定対象とする面である対象面を検出する面検出部と、
 前記検出された対象面のうち、所定の障害物条件を満たす前記対象面を、前記障害物領域として検出する障害物検出部と、を有し、
 前記障害物条件は、前記対象面と水平面との成す角の大きさが第1閾値以上である場合に満たされる必須条件を含む、障害物検出装置。
 (付記2)
 前記障害物条件は、前記対象面の床面からの高さが第2閾値以下であるという条件をさらに含む、付記1に記載の障害物検出装置。
 (付記3)
 前記3次元地図は、前記施設の複数の箇所それぞれについて、その箇所の3次元位置を示す点データを有しており、
 前記面検出部は、前記点データをクラスタリングすることで複数のクラスタを生成し、前記クラスタごとに、そのクラスタに含まれる点データによって構成される前記対象面を検出する、付記1又は2に記載の障害物検出装置。
 (付記4)
 前記面検出部は、複数の前記点データそれぞれについて法線方向を算出し、法線方向の差異が閾値以下であり、かつ、互いの間の距離が第3閾値以下である複数の前記点データを、同一の前記クラスタに分類する、付記3に記載の障害物検出装置。
 (付記5)
 前記面検出部は、前記3次元地図に含まれる前記点データに対して円筒フィッティングを適用することにより、円筒形状の領域を表す複数の前記点データを検出し、その領域によって表される円筒の側面を前記対象面として検出する、付記3又は4に記載の障害物検出装置。
 (付記6)
 前記面検出部は、
  前記3次元地図に含まれる複数の前記点データに対してセマンティックセグメンテーションを適用することにより、同一の物体を表す前記点データごとに前記クラスタに分け、
  同一の物体を表す前記クラスタごとに、そのクラスタから1つ以上の対象面を検出する、付記3から5いずれか一項に記載の障害物検出装置。
 (付記7)
  円筒形状の物体の前記クラスタに分類された複数の前記点データに対して円筒フィッティングを行うことで、そのクラスタに含まれる複数の前記点データによって構成される円筒形状の領域を検出し、その領域によって表される円筒の側面を前記対象面として検出する、付記6に記載の障害物検出装置。
 (付記8)
 前記取得部は、ユーザの位置を表す位置情報を取得し、
 前記3次元地図及び前記位置情報を用いて、前記3次元地図における前記ユーザの位置の周辺の領域から、前記障害物領域の検出対象とする検出範囲を決定する検出範囲決定部を有し、
 前記面検出部は、前記検出範囲から前記対象面を検出する、付記1から7いずれか一項に記載の障害物検出装置。
 (付記9)
 前記検出された障害物領域に関する情報を示す出力情報を出力する出力部を有する、付記1から8いずれか一項に記載の障害物検出装置。
 (付記10)
 前記出力情報は、前記障害物領域を強調する表示、前記障害物領域の位置若しくは方向を表す表示、前記障害物領域によって表される障害物の種類を表す表示、又はこれらのうちの2つ以上が含まれる画面を含む、付記9に記載の障害物検出装置。
 (付記11)
 コンピュータによって実行される障害物検出方法であって、
 施設の複数の箇所それぞれの3次元位置を表す3次元地図を取得する取得ステップと、
 前記3次元地図から、障害物領域であるか否かの判定対象とする面である対象面を検出する面検出ステップと、
 前記検出された対象面のうち、所定の障害物条件を満たす前記対象面を、前記障害物領域として検出する障害物検出ステップと、を有し、
 前記障害物条件は、前記対象面と水平面との成す角の大きさが第1閾値以上である場合に満たされる必須条件を含む、障害物検出方法。
 (付記12)
 前記障害物条件は、前記対象面の床面からの高さが第2閾値以下であるという条件をさらに含む、付記11に記載の障害物検出方法。
 (付記13)
 前記3次元地図は、前記施設の複数の箇所それぞれについて、その箇所の3次元位置を示す点データを有しており、
 前記面検出ステップにおいて、前記点データをクラスタリングすることで複数のクラスタを生成し、前記クラスタごとに、そのクラスタに含まれる点データによって構成される前記対象面を検出する、付記11又は12に記載の障害物検出方法。
 (付記14)
 前記面検出ステップにおいて、複数の前記点データそれぞれについて法線方向を算出し、法線方向の差異が閾値以下であり、かつ、互いの間の距離が第3閾値以下である複数の前記点データを、同一の前記クラスタに分類する、付記13に記載の障害物検出方法。
 (付記15)
 前記面検出ステップにおいて、前記3次元地図に含まれる前記点データに対して円筒フィッティングを適用することにより、円筒形状の領域を表す複数の前記点データを検出し、その領域によって表される円筒の側面を前記対象面として検出する、付記13又は14に記載の障害物検出方法。
 (付記16)
 前記面検出ステップにおいて、
  前記3次元地図に含まれる複数の前記点データに対してセマンティックセグメンテーションを適用することにより、同一の物体を表す前記点データごとに前記クラスタに分け、
  同一の物体を表す前記クラスタごとに、そのクラスタから1つ以上の対象面を検出する、付記13から15いずれか一項に記載の障害物検出方法。
 (付記17)
  円筒形状の物体の前記クラスタに分類された複数の前記点データに対して円筒フィッティングを行うことで、そのクラスタに含まれる複数の前記点データによって構成される円筒形状の領域を検出し、その領域によって表される円筒の側面を前記対象面として検出する、付記16に記載の障害物検出方法。
 (付記18)
 前記取得ステップにおいて、ユーザの位置を表す位置情報を取得し、
 前記3次元地図及び前記位置情報を用いて、前記3次元地図における前記ユーザの位置の周辺の領域から、前記障害物領域の検出対象とする検出範囲を決定する検出範囲決定ステップを有し、
 前記面検出ステップにおいて、前記検出範囲から前記対象面を検出する、付記11から17いずれか一項に記載の障害物検出方法。
 (付記19)
 前記検出された障害物領域に関する情報を示す出力情報を出力する出力ステップを有する、付記11から18いずれか一項に記載の障害物検出方法。
 (付記20)
 前記出力情報は、前記障害物領域を強調する表示、前記障害物領域の位置若しくは方向を表す表示、前記障害物領域によって表される障害物の種類を表す表示、又はこれらのうちの2つ以上が含まれる画面を含む、付記19に記載の障害物検出方法。
 (付記21)
 コンピュータに、
 施設の複数の箇所それぞれの3次元位置を表す3次元地図を取得する取得ステップと、
 前記3次元地図から、障害物領域であるか否かの判定対象とする面である対象面を検出する面検出ステップと、
 前記検出された対象面のうち、所定の障害物条件を満たす前記対象面を、前記障害物領域として検出する障害物検出ステップと、を実行させるプログラムが格納されており、
 前記障害物条件は、前記対象面と水平面との成す角の大きさが第1閾値以上である場合に満たされる必須条件を含む、非一時的なコンピュータ可読媒体。
 (付記22)
 前記障害物条件は、前記対象面の床面からの高さが第2閾値以下であるという条件をさらに含む、付記21に記載のコンピュータ可読媒体。
 (付記23)
 前記3次元地図は、前記施設の複数の箇所それぞれについて、その箇所の3次元位置を示す点データを有しており、
 前記面検出ステップにおいて、前記点データをクラスタリングすることで複数のクラスタを生成し、前記クラスタごとに、そのクラスタに含まれる点データによって構成される前記対象面を検出する、付記21又は22に記載のコンピュータ可読媒体。
 (付記24)
 前記面検出ステップにおいて、複数の前記点データそれぞれについて法線方向を算出し、法線方向の差異が閾値以下であり、かつ、互いの間の距離が第3閾値以下である複数の前記点データを、同一の前記クラスタに分類する、付記23に記載のコンピュータ可読媒体。
 (付記25)
 前記面検出ステップにおいて、前記3次元地図に含まれる前記点データに対して円筒フィッティングを適用することにより、円筒形状の領域を表す複数の前記点データを検出し、その領域によって表される円筒の側面を前記対象面として検出する、付記23又は24に記載のコンピュータ可読媒体。
 (付記26)
 前記面検出ステップにおいて、
  前記3次元地図に含まれる複数の前記点データに対してセマンティックセグメンテーションを適用することにより、同一の物体を表す前記点データごとに前記クラスタに分け、
  同一の物体を表す前記クラスタごとに、そのクラスタから1つ以上の対象面を検出する、付記23から25いずれか一項に記載のコンピュータ可読媒体。
 (付記27)
  円筒形状の物体の前記クラスタに分類された複数の前記点データに対して円筒フィッティングを行うことで、そのクラスタに含まれる複数の前記点データによって構成される円筒形状の領域を検出し、その領域によって表される円筒の側面を前記対象面として検出する、付記26に記載のコンピュータ可読媒体。
 (付記28)
 前記取得ステップにおいて、ユーザの位置を表す位置情報を取得し、
 前記3次元地図及び前記位置情報を用いて、前記3次元地図における前記ユーザの位置の周辺の領域から、前記障害物領域の検出対象とする検出範囲を決定する検出範囲決定ステップを有し、
 前記面検出ステップにおいて、前記検出範囲から前記対象面を検出する、付記21から27いずれか一項に記載のコンピュータ可読媒体。
 (付記29)
 前記検出された障害物領域に関する情報を示す出力情報を出力する出力ステップを有する、付記21から28いずれか一項に記載のコンピュータ可読媒体。
 (付記30)
 前記出力情報は、前記障害物領域を強調する表示、前記障害物領域の位置若しくは方向を表す表示、前記障害物領域によって表される障害物の種類を表す表示、又はこれらのうちの2つ以上が含まれる画面を含む、付記29に記載のコンピュータ可読媒体。
10      施設
20      ユーザ
25      位置
30      障害物
40      3次元地図
50      位置情報
60      検出範囲
70      矢印
80      出力情報
90      メッセージ
100      画面
110      メッセージ
120      矢印
130      障害物領域
500      コンピュータ
502      バス
504      プロセッサ
506      メモリ
508      ストレージデバイス
510      入出力インタフェース
512      ネットワークインタフェース
2000     障害物検出装置
2020     取得部
2040     面検出部
2060     障害物検出部
2080     出力部
2100     検出範囲決定部

Claims (30)

  1.  施設の複数の箇所それぞれの3次元位置を表す3次元地図を取得する取得部と、
     前記3次元地図から、障害物領域であるか否かの判定対象とする面である対象面を検出する面検出部と、
     前記検出された対象面のうち、所定の障害物条件を満たす前記対象面を、前記障害物領域として検出する障害物検出部と、を有し、
     前記障害物条件は、前記対象面と水平面との成す角の大きさが第1閾値以上である場合に満たされる必須条件を含む、障害物検出装置。
  2.  前記障害物条件は、前記対象面の床面からの高さが第2閾値以下であるという条件をさらに含む、請求項1に記載の障害物検出装置。
  3.  前記3次元地図は、前記施設の複数の箇所それぞれについて、その箇所の3次元位置を示す点データを有しており、
     前記面検出部は、前記点データをクラスタリングすることで複数のクラスタを生成し、前記クラスタごとに、そのクラスタに含まれる点データによって構成される前記対象面を検出する、請求項1又は2に記載の障害物検出装置。
  4.  前記面検出部は、複数の前記点データそれぞれについて法線方向を算出し、法線方向の差異が閾値以下であり、かつ、互いの間の距離が第3閾値以下である複数の前記点データを、同一の前記クラスタに分類する、請求項3に記載の障害物検出装置。
  5.  前記面検出部は、前記3次元地図に含まれる前記点データに対して円筒フィッティングを適用することにより、円筒形状の領域を表す複数の前記点データを検出し、その領域によって表される円筒の側面を前記対象面として検出する、請求項3又は4に記載の障害物検出装置。
  6.  前記面検出部は、
      前記3次元地図に含まれる複数の前記点データに対してセマンティックセグメンテーションを適用することにより、同一の物体を表す前記点データごとに前記クラスタに分け、
      同一の物体を表す前記クラスタごとに、そのクラスタから1つ以上の対象面を検出する、請求項3から5いずれか一項に記載の障害物検出装置。
  7.   円筒形状の物体の前記クラスタに分類された複数の前記点データに対して円筒フィッティングを行うことで、そのクラスタに含まれる複数の前記点データによって構成される円筒形状の領域を検出し、その領域によって表される円筒の側面を前記対象面として検出する、請求項6に記載の障害物検出装置。
  8.  前記取得部は、ユーザの位置を表す位置情報を取得し、
     前記3次元地図及び前記位置情報を用いて、前記3次元地図における前記ユーザの位置の周辺の領域から、前記障害物領域の検出対象とする検出範囲を決定する検出範囲決定部を有し、
     前記面検出部は、前記検出範囲から前記対象面を検出する、請求項1から7いずれか一項に記載の障害物検出装置。
  9.  前記検出された障害物領域に関する情報を示す出力情報を出力する出力部を有する、請求項1から8いずれか一項に記載の障害物検出装置。
  10.  前記出力情報は、前記障害物領域を強調する表示、前記障害物領域の位置若しくは方向を表す表示、前記障害物領域によって表される障害物の種類を表す表示、又はこれらのうちの2つ以上が含まれる画面を含む、請求項9に記載の障害物検出装置。
  11.  コンピュータによって実行される障害物検出方法であって、
     施設の複数の箇所それぞれの3次元位置を表す3次元地図を取得する取得ステップと、
     前記3次元地図から、障害物領域であるか否かの判定対象とする面である対象面を検出する面検出ステップと、
     前記検出された対象面のうち、所定の障害物条件を満たす前記対象面を、前記障害物領域として検出する障害物検出ステップと、を有し、
     前記障害物条件は、前記対象面と水平面との成す角の大きさが第1閾値以上である場合に満たされる必須条件を含む、障害物検出方法。
  12.  前記障害物条件は、前記対象面の床面からの高さが第2閾値以下であるという条件をさらに含む、請求項11に記載の障害物検出方法。
  13.  前記3次元地図は、前記施設の複数の箇所それぞれについて、その箇所の3次元位置を示す点データを有しており、
     前記面検出ステップにおいて、前記点データをクラスタリングすることで複数のクラスタを生成し、前記クラスタごとに、そのクラスタに含まれる点データによって構成される前記対象面を検出する、請求項11又は12に記載の障害物検出方法。
  14.  前記面検出ステップにおいて、複数の前記点データそれぞれについて法線方向を算出し、法線方向の差異が閾値以下であり、かつ、互いの間の距離が第3閾値以下である複数の前記点データを、同一の前記クラスタに分類する、請求項13に記載の障害物検出方法。
  15.  前記面検出ステップにおいて、前記3次元地図に含まれる前記点データに対して円筒フィッティングを適用することにより、円筒形状の領域を表す複数の前記点データを検出し、その領域によって表される円筒の側面を前記対象面として検出する、請求項13又は14に記載の障害物検出方法。
  16.  前記面検出ステップにおいて、
      前記3次元地図に含まれる複数の前記点データに対してセマンティックセグメンテーションを適用することにより、同一の物体を表す前記点データごとに前記クラスタに分け、
      同一の物体を表す前記クラスタごとに、そのクラスタから1つ以上の対象面を検出する、請求項13から15いずれか一項に記載の障害物検出方法。
  17.   円筒形状の物体の前記クラスタに分類された複数の前記点データに対して円筒フィッティングを行うことで、そのクラスタに含まれる複数の前記点データによって構成される円筒形状の領域を検出し、その領域によって表される円筒の側面を前記対象面として検出する、請求項16に記載の障害物検出方法。
  18.  前記取得ステップにおいて、ユーザの位置を表す位置情報を取得し、
     前記3次元地図及び前記位置情報を用いて、前記3次元地図における前記ユーザの位置の周辺の領域から、前記障害物領域の検出対象とする検出範囲を決定する検出範囲決定ステップを有し、
     前記面検出ステップにおいて、前記検出範囲から前記対象面を検出する、請求項11から17いずれか一項に記載の障害物検出方法。
  19.  前記検出された障害物領域に関する情報を示す出力情報を出力する出力ステップを有する、請求項11から18いずれか一項に記載の障害物検出方法。
  20.  前記出力情報は、前記障害物領域を強調する表示、前記障害物領域の位置若しくは方向を表す表示、前記障害物領域によって表される障害物の種類を表す表示、又はこれらのうちの2つ以上が含まれる画面を含む、請求項19に記載の障害物検出方法。
  21.  コンピュータに、
     施設の複数の箇所それぞれの3次元位置を表す3次元地図を取得する取得ステップと、
     前記3次元地図から、障害物領域であるか否かの判定対象とする面である対象面を検出する面検出ステップと、
     前記検出された対象面のうち、所定の障害物条件を満たす前記対象面を、前記障害物領域として検出する障害物検出ステップと、を実行させるプログラムが格納されており、
     前記障害物条件は、前記対象面と水平面との成す角の大きさが第1閾値以上である場合に満たされる必須条件を含む、非一時的なコンピュータ可読媒体。
  22.  前記障害物条件は、前記対象面の床面からの高さが第2閾値以下であるという条件をさらに含む、請求項21に記載のコンピュータ可読媒体。
  23.  前記3次元地図は、前記施設の複数の箇所それぞれについて、その箇所の3次元位置を示す点データを有しており、
     前記面検出ステップにおいて、前記点データをクラスタリングすることで複数のクラスタを生成し、前記クラスタごとに、そのクラスタに含まれる点データによって構成される前記対象面を検出する、請求項21又は22に記載のコンピュータ可読媒体。
  24.  前記面検出ステップにおいて、複数の前記点データそれぞれについて法線方向を算出し、法線方向の差異が閾値以下であり、かつ、互いの間の距離が第3閾値以下である複数の前記点データを、同一の前記クラスタに分類する、請求項23に記載のコンピュータ可読媒体。
  25.  前記面検出ステップにおいて、前記3次元地図に含まれる前記点データに対して円筒フィッティングを適用することにより、円筒形状の領域を表す複数の前記点データを検出し、その領域によって表される円筒の側面を前記対象面として検出する、請求項23又は24に記載のコンピュータ可読媒体。
  26.  前記面検出ステップにおいて、
      前記3次元地図に含まれる複数の前記点データに対してセマンティックセグメンテーションを適用することにより、同一の物体を表す前記点データごとに前記クラスタに分け、
      同一の物体を表す前記クラスタごとに、そのクラスタから1つ以上の対象面を検出する、請求項23から25いずれか一項に記載のコンピュータ可読媒体。
  27.   円筒形状の物体の前記クラスタに分類された複数の前記点データに対して円筒フィッティングを行うことで、そのクラスタに含まれる複数の前記点データによって構成される円筒形状の領域を検出し、その領域によって表される円筒の側面を前記対象面として検出する、請求項26に記載のコンピュータ可読媒体。
  28.  前記取得ステップにおいて、ユーザの位置を表す位置情報を取得し、
     前記3次元地図及び前記位置情報を用いて、前記3次元地図における前記ユーザの位置の周辺の領域から、前記障害物領域の検出対象とする検出範囲を決定する検出範囲決定ステップを有し、
     前記面検出ステップにおいて、前記検出範囲から前記対象面を検出する、請求項21から27いずれか一項に記載のコンピュータ可読媒体。
  29.  前記検出された障害物領域に関する情報を示す出力情報を出力する出力ステップを有する、請求項21から28いずれか一項に記載のコンピュータ可読媒体。
  30.  前記出力情報は、前記障害物領域を強調する表示、前記障害物領域の位置若しくは方向を表す表示、前記障害物領域によって表される障害物の種類を表す表示、又はこれらのうちの2つ以上が含まれる画面を含む、請求項29に記載のコンピュータ可読媒体。
PCT/JP2021/043665 2021-11-29 2021-11-29 障害物検出装置、障害物検出方法、及び非一時的なコンピュータ可読媒体 WO2023095345A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2021/043665 WO2023095345A1 (ja) 2021-11-29 2021-11-29 障害物検出装置、障害物検出方法、及び非一時的なコンピュータ可読媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2021/043665 WO2023095345A1 (ja) 2021-11-29 2021-11-29 障害物検出装置、障害物検出方法、及び非一時的なコンピュータ可読媒体

Publications (1)

Publication Number Publication Date
WO2023095345A1 true WO2023095345A1 (ja) 2023-06-01

Family

ID=86539286

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/043665 WO2023095345A1 (ja) 2021-11-29 2021-11-29 障害物検出装置、障害物検出方法、及び非一時的なコンピュータ可読媒体

Country Status (1)

Country Link
WO (1) WO2023095345A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010134499A (ja) * 2008-12-02 2010-06-17 Mitsubishi Electric Corp 遠隔地画像表示装置、遠隔操縦装置、車両制御装置、遠隔操縦システム、遠隔操縦方法、遠隔操縦プログラム、車両制御プログラム、遠隔地画像表示方法、遠隔地画像表示プログラム
JP2018097487A (ja) * 2016-12-09 2018-06-21 富士ゼロックス株式会社 監視装置及びプログラム
JP2021077003A (ja) * 2019-11-07 2021-05-20 本田技研工業株式会社 走破可否判定装置及び移動体の制御装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010134499A (ja) * 2008-12-02 2010-06-17 Mitsubishi Electric Corp 遠隔地画像表示装置、遠隔操縦装置、車両制御装置、遠隔操縦システム、遠隔操縦方法、遠隔操縦プログラム、車両制御プログラム、遠隔地画像表示方法、遠隔地画像表示プログラム
JP2018097487A (ja) * 2016-12-09 2018-06-21 富士ゼロックス株式会社 監視装置及びプログラム
JP2021077003A (ja) * 2019-11-07 2021-05-20 本田技研工業株式会社 走破可否判定装置及び移動体の制御装置

Similar Documents

Publication Publication Date Title
CN109737974B (zh) 一种3d导航语义地图更新方法、装置及设备
CN113345019B (zh) 一种输电线路通道隐患目标测距方法、设备及介质
KR20170007098A (ko) 투영 이미지 생성 방법 및 그 장치, 이미지 픽셀과 깊이값간의 매핑 방법
CN115597659B (zh) 一种变电站智能安全管控方法
KR102097416B1 (ko) 표고차를 고려한 지하관로의 관리를 위한 증강 현실 표현 방법 및 이를 기록한 기록매체
CN115615344B (zh) 一种地表形变监测方法、装置、电子设备及存储介质
JP6712778B2 (ja) 物体検知装置、物体検知システムおよび物体検知方法
KR102334177B1 (ko) 실내대피를 위한 3차원 실내지도 구축 방법 및 시스템
JP2017522621A (ja) モバイルプラットフォームの動作モードを選択する方法、システム、コンピュータプログラム製品及び装置
CN115825067A (zh) 一种基于无人机的地质信息采集方法、系统及电子设备
CN114363161B (zh) 异常设备的定位方法、装置、设备及介质
CN107831493A (zh) 暴雨预测方法、暴雨预测装置、应用暴雨预测装置的系统以及暴雨预测程序
JP7160257B2 (ja) 情報処理装置、情報処理方法、およびプログラム
WO2023095345A1 (ja) 障害物検出装置、障害物検出方法、及び非一時的なコンピュータ可読媒体
WO2023095344A1 (ja) 障害物検出装置、障害物検出方法、及び非一時的なコンピュータ可読媒体
CN116692690A (zh) 一种吊车防撞预警方法、装置、设备及介质
US20220180592A1 (en) Collaborative Augmented Reality Measurement Systems and Methods
US20220261713A1 (en) Computer Vision Systems and Methods for Detecting Power Line Hazards from Imagery
CN112344966B (zh) 一种定位失效检测方法、装置、存储介质及电子设备
KR101621858B1 (ko) 정점과 구조물이 위치하는 지점 간의 수평거리를 산출하는 장치 및 방법
JP6546898B2 (ja) 3次元空間特定装置、方法、及びプログラム
JP2021021671A (ja) 距離計測装置、システム、方法、及びプログラム
JP7436024B2 (ja) 離隔距離計測装置、方法、及びプログラム
US20230243976A1 (en) Systems and methods for utility pole loading and/or clearance analyses
KR102489649B1 (ko) 센서를 구비한 크레인 충돌 방지 시스템 및 그 센서 데이터의 분석 방법

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: 21965712

Country of ref document: EP

Kind code of ref document: A1