WO2023234384A1 - 地図生成装置、地図生成方法、及びコンピュータ読み取り可能な記録媒体 - Google Patents
地図生成装置、地図生成方法、及びコンピュータ読み取り可能な記録媒体 Download PDFInfo
- Publication number
- WO2023234384A1 WO2023234384A1 PCT/JP2023/020402 JP2023020402W WO2023234384A1 WO 2023234384 A1 WO2023234384 A1 WO 2023234384A1 JP 2023020402 W JP2023020402 W JP 2023020402W WO 2023234384 A1 WO2023234384 A1 WO 2023234384A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- frame
- feature points
- moving object
- map generation
- determined
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 14
- 238000001914 filtration Methods 0.000 claims abstract description 47
- 238000000605 extraction Methods 0.000 claims abstract description 21
- 238000004364 calculation method Methods 0.000 claims abstract description 13
- 239000000284 extract Substances 0.000 claims abstract description 9
- 230000007613 environmental effect Effects 0.000 claims description 61
- 230000002776 aggregation Effects 0.000 abstract 1
- 238000004220 aggregation Methods 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 14
- 239000011159 matrix material Substances 0.000 description 8
- 230000008859 change Effects 0.000 description 6
- 230000007246 mechanism Effects 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 238000003384 imaging method Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000001514 detection method Methods 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/05—Geographic models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
- G06T7/55—Depth or shape recovery from multiple images
- G06T7/579—Depth or shape recovery from multiple images from motion
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09B—EDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
- G09B29/00—Maps; Plans; Charts; Diagrams, e.g. route diagram
Definitions
- the present disclosure relates to a map generation device and a map generation method for generating an environmental map constructed from point cloud data, and further relates to a program for realizing these.
- SLAM Simultaneous Localization and Mapping
- SLAM is a technology in which a mobile body equipped with a sensor simultaneously estimates its own position and creates an environmental map (for example, see Patent Document 1).
- a mobile object such as an autonomously traveling robot does not need to move randomly and can move along an autonomously traveling map obtained from an environmental map, thereby improving its movement efficiency.
- the moving object acquires image data output from a camera frame by frame, searches for feature points in the latest frame that correspond to feature points extracted from past frames, and searches for the corresponding feature points in the latest frame. Extract a set of feature points made up of the same feature points. Then, the moving object calculates the camera matrix in the latest frame using the set of feature points, and calculates the feature point for each set of feature points using the camera matrix and the two-dimensional coordinates of the feature point in the frame. Calculate the three-dimensional coordinates of
- the moving object calculates the position of the camera from the camera matrix and performs self-position estimation. Further, the mobile object uses the feature points whose three-dimensional coordinates have been calculated to generate or update an environmental map (hereinafter referred to as a "three-dimensional environmental map") made up of a three-dimensional point group. Thereafter, the mobile object generates an autonomous driving map by converting the three-dimensional environmental map into a two-dimensional one, and performs autonomous driving using the autonomous driving map.
- an environmental map hereinafter referred to as a "three-dimensional environmental map”
- the sensor used is a depth sensor that can measure the distance (depth) to an object for each pixel of image data.
- depth sensor By using a depth sensor, the density of the point cloud that makes up the environmental map can be made higher than when using a camera, and highly accurate autonomous driving becomes possible.
- a specific example of the depth sensor is a LiDAR (light detection and ranging) sensor (for example, see Patent Document 2).
- Patent Document 2 discloses a three-dimensional LiDAR sensor.
- the three-dimensional LiDAR sensor disclosed in Patent Document 2 includes a light source, a light receiver, a mirror, and a control device.
- Laser light emitted from a light source is reflected by a mirror and then irradiated onto an object.
- the laser beam reflected by the object then enters the light receiver.
- the control device calculates the depth to the object from the time from when the laser light is emitted from the light source until it enters the light receiver.
- the three-dimensional LiDAR sensor disclosed in Patent Document 2 is a rotating three-dimensional LiDAR sensor, and also includes a rotation mechanism that rotates a mirror. Therefore, by using the three-dimensional LiDAR sensor disclosed in Patent Document 2, scanning (search for feature points) is possible in a 360-degree range or a range close to it.
- a three-dimensional LiDAR with a fixed angle of view (hereinafter referred to as "fixed angle of view three-dimensional LiDAR”) has also been proposed, which does not include a rotation mechanism.
- An example of the purpose of the present disclosure is to improve the accuracy of an environmental map when a depth sensor with a fixed angle of view is used.
- a map generation device includes: a data acquisition unit that acquires image data output from a depth sensor with a fixed angle of view in frame units; a feature point extraction unit that extracts feature points from the image data for each frame; For each frame, it is determined whether or not there is a part of the frame that does not overlap with another frame other than the relevant frame, and as a result of the determination, if there is a part that is extracted from the non-overlapping part. a filtering unit that excludes the feature points; A set of corresponding feature points is identified between frames, further, the three-dimensional coordinates of the feature points identified as a set are calculated, and the calculation results are used to create a set of feature points identified as a set.
- an environmental map generation unit that generates an environmental map; It is equipped with It is characterized by
- a map generation method includes: a data acquisition step of acquiring image data output from a depth sensor with a fixed angle of view in frame units; a feature point extraction step of extracting feature points from the image data for each frame; For each frame, it is determined whether or not there is a part of the frame that does not overlap with another frame other than the relevant frame, and as a result of the determination, if there is a part that is extracted from the non-overlapping part. a filtering step of excluding the feature points; A set of corresponding feature points is identified between frames, further, the three-dimensional coordinates of the feature points identified as a set are calculated, and the calculation results are used to create a set of feature points identified as a set. an environmental map generation step of generating an environmental map based on the has, It is characterized by
- a program includes: to the computer, a data acquisition step of acquiring image data output from a depth sensor with a fixed angle of view in frame units; a feature point extraction step of extracting feature points from the image data for each frame; For each frame, it is determined whether or not there is a part of the frame that does not overlap with another frame other than the relevant frame, and as a result of the determination, if there is a part that is extracted from the non-overlapping part.
- an environmental map generation step of generating an environmental map based on the It is characterized by causing the execution of.
- the accuracy of the environmental map can be improved.
- FIG. 1 is a configuration diagram showing a schematic configuration of a map generation device.
- FIG. 2 is a configuration diagram specifically showing the configuration of the map generation device.
- FIG. 3 is an explanatory diagram for explaining the angle of view of the depth sensor.
- FIG. 4 is a diagram showing determination processing in the filtering section of the map generation device.
- FIG. 5 is a diagram showing an example of a three-dimensional environmental map.
- FIG. 6 is a flow diagram showing the operation of the map generation device.
- FIG. 7 is a block diagram showing an example of a computer that implements the map generation device.
- FIG. 1 is a configuration diagram showing a schematic configuration of a map generation device.
- a map generation device 10 shown in FIG. 1 is a device for generating an environmental map constructed from point cloud data. As shown in FIG. 1, the map generation device 10 includes a data acquisition section 11, a feature point extraction section 12, a filtering section 13, and an environmental map generation section 14.
- the data acquisition unit 11 acquires image data output from a depth sensor with a fixed angle of view in units of frames.
- the feature point extraction unit 12 extracts feature points from the image data acquired by the data acquisition unit 11 for each frame.
- the filtering unit 13 determines for each frame whether there is a portion in each frame that does not overlap with another frame other than that frame. Then, as a result of the determination, if the feature points exist, the filtering unit 13 excludes the feature points extracted from the non-overlapping portion.
- the environmental map generation unit 14 identifies sets of corresponding feature points between frames, and further calculates three-dimensional coordinates of the feature points identified as the set. Then, the environmental map generation unit 14 uses the calculation results to generate an environmental map made up of a set of feature points identified as a set.
- the map generation device 10 excludes extracted feature points in the portion of each frame that does not overlap with another frame. Therefore, extraction of a wrong set of feature points, which occurs when the angle of view of the depth sensor is fixed, is avoided. That is, according to the embodiment, when a depth sensor with a fixed angle of view is used, the accuracy of the environmental map can be improved.
- FIG. 2 is a configuration diagram specifically showing the configuration of the map generation device.
- FIG. 3 is an explanatory diagram for explaining the angle of view of the depth sensor.
- the map generation device 10 is mounted on a mobile object 100 that can autonomously travel, such as a robot.
- the mobile body 100 includes a depth sensor 20, a control device 30, a steering device 40, and a power train 50.
- the depth sensor 20 is attached to the moving body 100 so that the moving direction side of the moving body 100 is photographed. Further, the depth sensor 20 is a sensor capable of capturing images with depth, and outputs image data with depth at a set frame rate. In the example of FIG. 2, a three-dimensional LiDAR with a fixed angle of view is used as the depth sensor 20.
- the angle of view of the depth sensor 20 is fixed, and its imaging area 21 changes depending on the orientation of the moving body 100.
- changes in the imaging area 21 from time (t-2) to time (t) are shown.
- the control device 30 is constructed by a computer mounted on the mobile object 100.
- the control device 30 controls the traveling direction and moving speed of the mobile object 100 using the environmental map generated by the map generation device 10. For example, the control device 30 uses an environmental map to set a route from the current location to a destination, and determines the traveling direction and speed of the moving object 100 so that the moving object 100 moves on the set route. to control the power train 50 and the steering device 40.
- the power train 50 is composed of an electric motor for driving, a power transmission mechanism, and the like. Tires, caterpillars, etc. are connected to the power train 50. The power train 50 rotates tires, caterpillars, etc. according to instructions from the control device 30.
- the steering device 40 includes a mechanism for controlling the direction of the steering wheels of the moving body 100.
- the steering device 40 determines the direction of the steered wheels in response to instructions from the control device 30. Further, the steering device 40 may include a mechanism that controls the direction of movement by controlling the torque of the left and right drive wheels.
- the map generation device 10 is constructed on a computer installed in the mobile object 100 using a program in the embodiment described later. Furthermore, the map generation device 10 may be constructed by a device (for example, an electronic circuit, etc.) that is different from the computer installed in the mobile object 100.
- the data acquisition unit 11 acquires image data with depth from the depth sensor 20 in units of frames.
- the data acquisition unit 11 sequentially inputs the acquired image data (frames) to the feature point extraction unit 12.
- the feature point extraction unit 12 when a frame is input, extracts feature points of the object for each frame using, for example, a general FAST algorithm. Then, the feature point extraction unit 12 inputs information specifying the feature points extracted for each frame to the filtering unit 13.
- the filtering unit 13 when the feature points for each frame are input, the filtering unit 13 first determines the moving direction and position of the moving object for each input frame based on the information about the moving object 100. Specifically, the filtering unit 13 obtains the position of the moving object 100 for each frame based on information about the moving object 100 at the time the frame was output, and further obtains the absolute orientation as the traveling direction.
- the absolute posture is represented by a translation vector T (x, y, z) and a rotational component R (roll, pitch, yaw) of the moving body 100.
- the information on the moving body 100 includes information indicating the position and direction of movement of the moving body 100.
- the position information may be obtained from a GPS (Global Positioning System) receiver mounted on the mobile object 100, or may be obtained by self-position estimation, which will be described later. Further, information indicating the traveling direction can be obtained from an angular velocity sensor mounted on the moving body 100, for example.
- GPS Global Positioning System
- the filtering unit 13 uses the traveling direction and position of the moving object 100 to determine for each frame whether or not there is a portion in that frame that does not overlap with another frame.
- the filtering unit 13 uses the traveling direction and position of the moving body 100 for each frame to determine whether another frame exists around the frame. Then, if there is no other frame around the frame, the filtering unit 13 determines that the frame has a portion that does not overlap with another frame.
- the filtering unit 13 identifies the frame located at the end on the right side, left side, upper side, or lower side of the moving body.
- the frame output at time t is the frame located at the edge.
- a frame located at the edge may have a portion that does not overlap with another frame.
- the filtering unit 13 calculates the amount of change in the posture of the moving body 100 between the frame located at the end and the frame output before that frame. Specifically, let the time when the frame located at the edge is output be t, the time when the previous frame is output be t-1, and the rotational components at the respective times be R t and R t-1 . In this case, the amount of change ⁇ in the posture of the moving body is calculated by the following equation 1.
- the filtering unit 13 determines whether or not there is a portion in the frame located at the end that does not overlap with another frame, based on the calculated amount of change in posture ⁇ , and as a result of the determination, it is determined that there is a portion that does not overlap with another frame. If so, remove feature points extracted from non-overlapping areas.
- FIG. 4 is a diagram showing determination processing in the filtering section of the map generation device.
- 21 indicates the photographing area when the frame located at the end is photographed (time t).
- the depth direction is the z-axis direction
- the horizontal direction of the image is the x-axis direction
- the vertical direction of the image is the y-direction.
- the angle of view of the depth sensor 20 is H
- the extracted feature point is P(x, y, z)
- the normal line passing through the center of the imaging surface of the depth sensor 20 is a line extending from the feature point P passing through the center.
- ⁇ be the angle in the zx plane.
- the feature point P exists in an area where the frames do not overlap.
- the filtering unit 13 determines whether Equation 2 below is satisfied for each feature point extracted from the frame at time t. If there is a feature point that satisfies Equation 2 below, the filtering unit 13 determines that there is a portion of the frame located at the edge that does not overlap with another frame.
- the filtering unit 13 eliminates feature points present in the corresponding portion of the frame that is determined not to overlap with another frame. Specifically, the filtering unit 13 excludes feature points (feature points that satisfy Equation 2 above) that exist in a portion of the frame located at the end that does not overlap with another frame.
- the environmental map generation unit 14 first uses the feature points of each frame that were not excluded by the filtering unit 13 to associate the feature points extracted from each frame with the feature points extracted from past frames. , identify a set of feature points.
- the environmental map generation unit 14 calculates the camera matrix for each frame using the set of feature points identified in that frame.
- the environmental map generation unit 14 then calculates the three-dimensional coordinates of the feature point using the calculated camera matrix and the two-dimensional coordinates of the feature point in the frame.
- the environmental map generation unit 14 calculates the position of the camera from the camera matrix and performs self-position estimation. Further, the mobile object uses the feature points whose three-dimensional coordinates have been calculated to generate or update an environmental map (hereinafter referred to as a "three-dimensional environmental map") made up of a three-dimensional point group.
- FIG. 5 is a diagram showing an example of a three-dimensional environmental map.
- the environmental map generation unit 14 inputs the generated three-dimensional environmental map to the control device 30. Furthermore, the environmental map generation unit 14 can also generate a two-dimensional environmental map by converting a three-dimensional environmental map into a two-dimensional one. In this case, the environmental map generation unit 14 passes the generated two-dimensional environmental map to the control device 30. Thereafter, the control device 30 uses the obtained environmental map to control the moving direction and moving speed of the moving object.
- the depth sensor 20 is not limited to this.
- the depth sensor 20 may also include a two-dimensional LiDAR with a fixed angle of view and a TOF (Time Of Flight) camera that measures depth on a specific plane.
- TOF Time Of Flight
- FIG. 6 is a flow diagram showing the operation of the map generation device.
- the map generation method is implemented by operating the map generation device 10. Therefore, the explanation of the map generation method in the embodiment will be replaced with the following explanation of the operation of the map generation device 10.
- the data acquisition unit 11 acquires the output image data (step A1). Further, after acquiring image data for the set number of frames, the data acquisition unit 11 inputs the acquired image data to the feature point extraction unit 12.
- the feature point extraction unit 12 extracts feature points for each frame (step A2). Further, the feature point extraction unit 12 outputs the extracted feature points to the filtering unit 13 for each frame.
- step A2 when the feature points for each frame are input, the filtering unit 13 calculates the moving direction and position of the moving object based on the information about the moving object 100 for each input frame ( Step A3).
- the filtering unit 13 uses the moving direction and position of the moving object 100 to determine for each frame whether or not there is a portion in that frame that does not overlap with another frame (step A4).
- the filtering unit 13 identifies a frame located at the end on the right side, left side, upper side, or lower side of the moving object. Further, the filtering unit 13 uses Equation 1 above to calculate the amount of change in the posture of the moving body 100 between the frame located at the end and the frame output before that frame.
- the filtering unit 13 uses the calculated posture change amount ⁇ to determine whether Equation 2 above is satisfied for each feature point extracted from the frame located at the end. If there is a feature point that satisfies Equation 2 above, the filtering unit 13 determines that there is a portion of the frame located at the edge that does not overlap with another frame.
- the filtering unit 13 excludes feature points in the relevant portion of the frame in which there is a portion that does not overlap with another frame (step A5). Specifically, in A5, the filtering unit 13 excludes feature points that satisfy the above number 2 of the frame located at the edge.
- the environmental map generation unit 14 associates the feature points extracted from the feature points extracted from the feature points extracted from the past frames with the feature points extracted from the past frames for each frame, and (Step A6).
- the environmental map generation unit 14 calculates the three-dimensional coordinates of the feature points identified as a set in step A6, and uses the calculation results to create an environmental map composed of a set of feature points identified as a set. Generate (step A7).
- the environmental map generation unit 14 inputs the environmental map generated in step A7 to the control device 30.
- the control device 30 uses the obtained environmental map to control the moving direction and moving speed of the moving body.
- the embodiment even if the angle of view of the depth sensor 20 is fixed, feature points are excluded in the portion of the frame located at the edge that does not overlap with another frame, so incorrect feature points may be detected. Extraction of tuples is avoided. Therefore, according to the embodiment, when a depth sensor with a fixed angle of view is used, the accuracy of the environmental map can be improved.
- the program in the embodiment may be any program that causes a computer to execute steps A1 to A7 shown in FIG. By installing and executing this program on a computer, the map generation device 10 and map generation method in the embodiment can be realized.
- the processor of the computer functions as a data acquisition unit 11, a feature point extraction unit 12, a filtering unit 13, and an environmental map generation unit 14 to perform processing.
- examples of the computer include a computer mounted on the mobile object 100.
- Other examples of computers include general-purpose PCs, smartphones, and tablet terminal devices.
- each computer may function as one of the data acquisition section 11, the feature point extraction section 12, the filtering section 13, and the environmental map generation section 14, respectively.
- FIG. 7 is a block diagram showing an example of a computer that implements the map generation device.
- the computer 110 includes a CPU (Central Processing Unit) 111, a main memory 112, a storage device 113, an input interface 114, a display controller 115, a data reader/writer 116, and a communication interface 117. Equipped with. These units are connected to each other via a bus 121 so that they can communicate data.
- CPU Central Processing Unit
- the computer 110 may include a GPU (Graphics Processing Unit) or an FPGA (Field-Programmable Gate Array) in addition to or in place of the CPU 111.
- the GPU or FPGA can execute the program in the embodiment.
- the CPU 111 loads the program in the embodiment, which is stored in the storage device 113 and is composed of a group of codes, into the main memory 112, and executes each code in a predetermined order to perform various calculations.
- Main memory 112 is typically a volatile storage device such as DRAM (Dynamic Random Access Memory).
- the program in the embodiment is provided stored in a computer-readable recording medium 120.
- the program in this embodiment may be distributed on the Internet connected via the communication interface 117.
- the storage device 113 includes semiconductor storage devices such as flash memory in addition to hard disk drives.
- Input interface 114 mediates data transmission between CPU 111 and input devices 118 such as a keyboard and mouse.
- the display controller 115 is connected to the display device 119 and controls the display on the display device 119.
- the data reader/writer 116 mediates data transmission between the CPU 111 and the recording medium 120, reads programs from the recording medium 120, and writes processing results in the computer 110 to the recording medium 120.
- Communication interface 117 mediates data transmission between CPU 111 and other computers.
- the recording medium 120 include general-purpose semiconductor storage devices such as CF (Compact Flash (registered trademark)) and SD (Secure Digital), magnetic recording media such as flexible disks, or CD-ROMs. Examples include optical recording media such as ROM (Compact Disk Read Only Memory).
- map generation device 10 in the embodiment can also be realized by using hardware corresponding to each part, for example, an electronic circuit, instead of a computer with a program installed. Furthermore, a part of the map generation device 10 may be realized by a program, and the remaining part may be realized by hardware.
- the computer is not limited to the computer shown in FIG.
- a data acquisition unit that acquires image data output from a depth sensor with a fixed angle of view in frame units; a feature point extraction unit that extracts feature points from the image data for each frame; For each frame, it is determined whether or not there is a part of the frame that does not overlap with another frame other than the relevant frame, and as a result of the determination, if there is a part that is extracted from the non-overlapping part.
- a filtering unit that excludes the feature points; A set of corresponding feature points is identified between frames, further, the three-dimensional coordinates of the feature points identified as a set are calculated, and the calculation results are used to create a set of feature points identified as a set.
- an environmental map generation unit that generates an environmental map; It is equipped with A map generation device characterized by:
- the depth sensor is mounted on a moving object
- the filtering unit obtains the moving direction and position of the moving object for each frame based on the information of the moving object, and uses the obtained moving direction and position of the moving object for each frame to apply the following information to the frame: Determine whether there is a part that does not overlap with another frame other than the relevant frame,
- the map generation device according to Supplementary Note 1.
- the filtering unit determines for each frame whether another frame exists around the frame using the determined orientation and position of the moving object for each frame, and determines whether another frame exists around the frame. If the frame does not exist, determining that the frame has a portion that does not overlap with another frame other than the frame; Map generation device according to appendix 2.
- an environmental map generation step of generating an environmental map based on the has A map generation method characterized by:
- the depth sensor is mounted on a moving object, In the filtering step, the moving direction and position of the moving body are determined for each frame based on the information on the moving body, and using the determined moving direction and position of the moving body for each frame, Determine whether there is a part that does not overlap with another frame other than the relevant frame, Map generation method described in Appendix 4.
- the depth sensor is mounted on a moving object, In the filtering step, the moving direction and position of the moving body are determined for each frame based on the information on the moving body, and using the determined moving direction and position of the moving body for each frame, Determine whether there is a part that does not overlap with another frame other than the relevant frame, The program described in Appendix 7.
- the present disclosure when a depth sensor with a fixed angle of view is used, the accuracy of the environmental map can be improved.
- the present disclosure is useful in fields where SLAM is used.
- Map generation device 11 Data acquisition section 12 Feature point extraction section 13 Filtering section 14 Environmental map generation section 20 Depth sensor 30 Control device 40 Steering device 50 Power train 100 Mobile object 110 Computer 111 CPU 112 Main memory 113 Storage device 114 Input interface 115 Display controller 116 Data reader/writer 117 Communication interface 118 Input device 119 Display device 120 Recording medium 121 Bus
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Remote Sensing (AREA)
- Geometry (AREA)
- Automation & Control Theory (AREA)
- Radar, Positioning & Navigation (AREA)
- Computer Graphics (AREA)
- Aviation & Aerospace Engineering (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Mathematical Physics (AREA)
- Business, Economics & Management (AREA)
- Educational Administration (AREA)
- Educational Technology (AREA)
- Image Analysis (AREA)
Abstract
地図生成装置10は、画角が固定された深度センサから出力された画像データをフレーム単位で取得する、データ取得部11と、フレーム毎に、画像データから特徴点を抽出する、特徴点抽出部12と、フレーム毎に、当該フレームに、当該フレーム以外の別のフレームと重なっていない部分が存在しているかどうかを判定し、判定の結果、存在している場合は、重なっていない部分から抽出された特徴点を排除する、フィルタリング部13と、フレーム間で対応する特徴点の組を特定し、更に、組として特定された特徴点の3次元座標を算出し、算出結果を用いて、組として特定された特徴点の集合で構成された環境地図を生成する、環境地図生成部14と、を備えている。
Description
本開示は、点群データで構築された環境地図を生成するための、地図生成装置及び地図生成方法に関し、更には、これらを実現するためのプログラムに関する。
近年、センシング技術の向上により、SLAM(Simultaneous Localization and Mapping)が注目されている。SLAMは、センサを搭載した移動体によって、自己位置の推定と環境地図の作成とを同時に実行する技術である(例えば、特許文献1参照)。SLAMによれば、自律走行するロボット等の移動体は、ランダムに移動する必要がなく、環境地図から得られる自律走行用地図に沿って移動できるため、その移動効率は向上することになる。
具体的には、移動体は、カメラから出力される画像データをフレーム毎に取得し、最新のフレームにおいて、過去のフレームから抽出された特徴点に対応する特徴点を探索し、対応する特徴点同士で構成された特徴点の組を抽出する。そして、移動体は、特徴点の組を用いて、最新のフレームにおけるカメラ行列を算出し、特徴点の組毎に、カメラ行列と、特徴点のフレームにおける2次元座標とを用いて、特徴点の3次元座標を算出する。
また、移動体は、カメラ行列を算出すると、カメラ行列からカメラの位置を算出し、自己位置推定を行う。更に、移動体は、3次元座標が算出された特徴点を用いて、3次元の点群で構成された環境地図(以下「3次元環境地図」と表記する。)を生成又は更新する。その後、移動体は、3次元環境地図を2次元に変換することによって、自律走行用地図を生成し、自律走行用地図を用いて自律走行を行う。
また、センサとしては、カメラ以外に、画像データの画素毎に物体までの距離(深度)を測定できる深度センサが用いられる。深度センサを用いれば、カメラを用いる場合に比べて、環境地図を構成する点群の密度を高くでき、精度の高い自律走行が可能となる。深度センサの具体例としては、LiDAR(light detection and ranging)センサが挙げられる(例えば、特許文献2参照)。
特許文献2は、3次元LiDARセンサを開示している。特許文献2に開示された3次元LiDARセンサは、光源、受光器、ミラー、及び制御装置を備えている。光源から出射されたレーザ光は、ミラーで反射されてから、物体へと照射される。そして、物体で反射されたレーザ光は、受光器に入射する。制御装置は、レーザ光が光源から出射されてから受光器に入射するまでの時間から、物体までの深度を算出する。
また、特許文献2に開示された3次元LiDARセンサは、回転型の3次元LiDARセンサであり、ミラーを回転させる回転機構も備えている。このため、特許文献2に開示された3次元LiDARセンサを用いれば、360度の範囲、又はそれに近い範囲において、走査(特徴点の探索)が可能となっている。
ところで、上述した回転型の3次元LiDARセンサには、広範囲での走査が可能となる反面、回転機構が必要となるため、製造コストが高いという問題がある。このため、SLAMにおいては、回転機構を備えていない、画角が固定された3次元LiDAR(以下「画角固定型の3次元LiDAR」と表記する。)も提案されている。
しかしながら、画角固定型の3次元LiDARでは、画角が固定されているため、SLAMにおいて、最新のフレームの一部が過去のフレームと重ならない事態が生じることがある。このような事態が生じると、間違った特徴点の組が抽出され、精度の低い環境地図が生成されてしまう。この結果、自律走行の精度は大きく低下してしまう。
本開示の目的の一例は、画角が固定された深度センサを用いた場合において、環境地図の精度を向上させることにある。
上記目的を達成するため、本開示の一側面における地図生成装置は、
画角が固定された深度センサから出力された画像データをフレーム単位で取得する、データ取得部と、
フレーム毎に、前記画像データから特徴点を抽出する、特徴点抽出部と、
フレーム毎に、当該フレームに、当該フレーム以外の別のフレームと重なっていない部分が存在しているかどうかを判定し、判定の結果、存在している場合は、前記重なっていない部分から抽出された前記特徴点を排除する、フィルタリング部と、
フレーム間で対応する特徴点の組を特定し、更に、組として特定された前記特徴点の3次元座標を算出し、算出結果を用いて、組として特定された前記特徴点の集合で構成された環境地図を生成する、環境地図生成部と、
を備えている、
ことを特徴とする。
画角が固定された深度センサから出力された画像データをフレーム単位で取得する、データ取得部と、
フレーム毎に、前記画像データから特徴点を抽出する、特徴点抽出部と、
フレーム毎に、当該フレームに、当該フレーム以外の別のフレームと重なっていない部分が存在しているかどうかを判定し、判定の結果、存在している場合は、前記重なっていない部分から抽出された前記特徴点を排除する、フィルタリング部と、
フレーム間で対応する特徴点の組を特定し、更に、組として特定された前記特徴点の3次元座標を算出し、算出結果を用いて、組として特定された前記特徴点の集合で構成された環境地図を生成する、環境地図生成部と、
を備えている、
ことを特徴とする。
また、上記目的を達成するため、本開示の一側面における地図生成方法は、
画角が固定された深度センサから出力された画像データをフレーム単位で取得する、データ取得ステップと、
フレーム毎に、前記画像データから特徴点を抽出する、特徴点抽出ステップと、
フレーム毎に、当該フレームに、当該フレーム以外の別のフレームと重なっていない部分が存在しているかどうかを判定し、判定の結果、存在している場合は、前記重なっていない部分から抽出された前記特徴点を排除する、フィルタリングステップと、
フレーム間で対応する特徴点の組を特定し、更に、組として特定された前記特徴点の3次元座標を算出し、算出結果を用いて、組として特定された前記特徴点の集合で構成された環境地図を生成する、環境地図生成ステップと、
を有する、
ことを特徴とする。
画角が固定された深度センサから出力された画像データをフレーム単位で取得する、データ取得ステップと、
フレーム毎に、前記画像データから特徴点を抽出する、特徴点抽出ステップと、
フレーム毎に、当該フレームに、当該フレーム以外の別のフレームと重なっていない部分が存在しているかどうかを判定し、判定の結果、存在している場合は、前記重なっていない部分から抽出された前記特徴点を排除する、フィルタリングステップと、
フレーム間で対応する特徴点の組を特定し、更に、組として特定された前記特徴点の3次元座標を算出し、算出結果を用いて、組として特定された前記特徴点の集合で構成された環境地図を生成する、環境地図生成ステップと、
を有する、
ことを特徴とする。
更に、上記目的を達成するため、本開示の一側面におけるプログラムは、
コンピュータに、
画角が固定された深度センサから出力された画像データをフレーム単位で取得する、データ取得ステップと、
フレーム毎に、前記画像データから特徴点を抽出する、特徴点抽出ステップと、
フレーム毎に、当該フレームに、当該フレーム以外の別のフレームと重なっていない部分が存在しているかどうかを判定し、判定の結果、存在している場合は、前記重なっていない部分から抽出された前記特徴点を排除する、フィルタリングステップと、
フレーム間で対応する特徴点の組を特定し、更に、組として特定された前記特徴点の3次元座標を算出し、算出結果を用いて、組として特定された前記特徴点の集合で構成された環境地図を生成する、環境地図生成ステップと、
を実行させる、ことを特徴とする。
コンピュータに、
画角が固定された深度センサから出力された画像データをフレーム単位で取得する、データ取得ステップと、
フレーム毎に、前記画像データから特徴点を抽出する、特徴点抽出ステップと、
フレーム毎に、当該フレームに、当該フレーム以外の別のフレームと重なっていない部分が存在しているかどうかを判定し、判定の結果、存在している場合は、前記重なっていない部分から抽出された前記特徴点を排除する、フィルタリングステップと、
フレーム間で対応する特徴点の組を特定し、更に、組として特定された前記特徴点の3次元座標を算出し、算出結果を用いて、組として特定された前記特徴点の集合で構成された環境地図を生成する、環境地図生成ステップと、
を実行させる、ことを特徴とする。
以上のように本開示によれば、画角が固定された深度センサを用いた場合において、環境地図の精度を向上させることができる。
(実施の形態)
以下、実施の形態における、地図生成装置、地図生成方法、及びプログラムについて、図1~図7を参照しながら説明する。
以下、実施の形態における、地図生成装置、地図生成方法、及びプログラムについて、図1~図7を参照しながら説明する。
[装置構成]
最初に、地図生成装置の概略構成について図1を用いて説明する。図1は、地図生成装置の概略構成を示す構成図である。
最初に、地図生成装置の概略構成について図1を用いて説明する。図1は、地図生成装置の概略構成を示す構成図である。
図1に示す、地図生成装置10は、点群データで構築された環境地図を生成するための装置である。図1に示すように、地図生成装置10は、データ取得部11と、特徴点抽出部12と、フィルタリング部13と、環境地図生成部14と、を備えている。
データ取得部11は、画角が固定された深度センサから出力された画像データをフレーム単位で取得する。特徴点抽出部12は、フレーム毎に、データ取得部11が取得した画像データから特徴点を抽出する。
フィルタリング部13は、フレーム毎に、各フレームに、そのフレーム以外の別のフレームと重なっていない部分が存在しているかどうかを判定する。そして、フィルタリング部13は、判定の結果、存在している場合は、重なっていない部分から抽出された特徴点を排除する。
環境地図生成部14は、フレーム間で対応する特徴点の組を特定し、更に、組として特定された特徴点の3次元座標を算出する。そして、環境地図生成部14は、算出結果を用いて、組として特定された特徴点の集合で構成された環境地図を生成する。
このように、実施の形態では、地図生成装置10は、各フレームの別のフレームと重なっていない部分においては、抽出された特徴点を排除する。このため、深度センサの画角が固定されている場合に生じる、間違った特徴点の組の抽出が回避される。つまり、実施の形態によれば、画角が固定された深度センサを用いた場合において、環境地図の精度を向上させることができる。
続いて、図2及び図3を用いて、実施の形態における地図生成装置の構成及び機能について具体的に説明する。図2は、地図生成装置の構成を具体的に示す構成図である。図3は、深度センサの画角を説明するための説明図である。
図2に示すように、実施の形態では、地図生成装置10は、ロボット等の自律走行可能な移動体100に搭載されている。移動体100は、地図生成装置10に加えて、深度センサ20と、制御装置30と、操舵装置40と、パワートレイン50とを備えている。
深度センサ20は、実施の形態では、移動体100において、その進行方向側が撮影されるように取り付けられている。また、深度センサ20は、深度付の画像を撮影可能なセンサであり、深度付の画像データを、設定されたフレームレートで出力する。図2の例では、深度センサ20としては、画角固定型の3次元LiDARが用いられている。
図3に示すように、深度センサ20の画角は固定されており、その撮影領域21は、移動体100の向きによって変化する。図3の例では、時間(t-2)から時間(t)までの撮影領域21の変化が示されている。
制御装置30は、移動体100に搭載されたコンピュータによって構築されている。制御装置30は、地図生成装置10によって生成された環境地図を用いて、移動体100の進行方向及び移動速度を制御する。例えば、制御装置30は、環境地図を用いて、現在から目的地までのルートを設定し、移動体100が設定したルート上を移動するように、移動体100の進行方向及び移動速度を決定して、パワートレイン50と操舵装置40とを制御する。
パワートレイン50は、走行用の電動モータ、動力伝達機構等で構成されている。パワートレイン50には、タイヤ、キャタピラ等が接続されている。パワートレイン50は、制御装置30から指示に応じて、タイヤ、キャタピラ等を回転させる。
操舵装置40は、移動体100の操舵輪の方向を制御するための機構を備えている。操舵装置40は、制御装置30からの指示に応じて、操舵輪の方向を決定する。また、操舵装置40は、左右の駆動輪のトルクを制御することで移動方向を制御する機構を備えていても良い。
実施の形態では、地図生成装置10は、移動体100に搭載されたコンピュータ上に、後述する実施の形態におけるプログラムによって構築されている。また、地図生成装置10は、移動体100に搭載されたコンピュータとは別の装置(例えば、電子回路等)によって構築されていても良い。
データ取得部11は、実施の形態では、深度センサ20から、深度付の画像データを、フレーム単位で取得する。データ取得部11は、取得した画像データ(フレーム)を、順次、特徴点抽出部12に入力する。
特徴点抽出部12は、実施の形態では、フレームが入力されると、フレーム毎に、例えば、一般的なFASTアルゴリズムを用いて、物体の特徴点を抽出する。そして、特徴点抽出部12は、フレーム毎に抽出した特徴点を特定する情報を、フィルタリング部13に入力する。
フィルタリング部13は、実施の形態では、フレーム毎の特徴点が入力されると、まず、入力されたフレームそれぞれ毎に、移動体100の情報に基づいて、移動体の進行方向及び位置を求める。具体的には、フィルタリング部13は、フレーム毎に、フレームが出力された時の移動体100の情報に基づいて、移動体100の位置を求め、更に、進行方向として、絶対姿勢を求める。絶対姿勢は、移動体100の並進ベクトルT(x, y, z)と回転成分R(roll, pitch, yaw)とで表される。
移動体100の情報としては、移動体100の位置情報及び進行方向を示す情報が挙げられる。位置情報は、移動体100に搭載されたGPS(Global Positioning System)受信機から得られていても良いし、後述する自己位置推定によって得られていても良い。また、進行方向を示す情報は、例えば、移動体100に搭載された角速度センサから得ることができる。
次に、フィルタリング部13は、移動体100の進行方向及び位置を用いて、フレーム毎に、そのフレームに、それ以外の別のフレームと重なっていない部分が存在しているかどうかを判定する。実施の形態では、フィルタリング部13は、フレーム毎に、移動体100の進行方向及び位置を用いて、そのフレームの周辺に別のフレームが存在しているかどうかを判定する。そして、フィルタリング部13は、そのフレームの周辺に別のフレームが存在していない場合に、そのフレームに別のフレームと重なっていない部分が存在していると判定する。
具体的には、フィルタリング部13は、移動体の右側、左側、上側、又は下側において、端に位置するフレームを特定する。図3の例では、時間tのときに出力されたフレームが、端に位置するフレームとなる。端に位置するフレームには、別のフレームと重なっていない部分が存在している可能性がある。
次に、フィルタリング部13は、端に位置するフレームとその前に出力されたフレームとの間における、移動体100の姿勢の変化量を算出する。具体的には、端に位置するフレームが出力された時刻をt、その前のフレームが出力された時刻をt-1とし、それぞれの時刻における回転成分をRt、Rt-1とする。この場合、移動体の姿勢の変化量γは、以下の数1によって算出される。
(数1)
γ=Rt-Rt-1
γ=Rt-Rt-1
次に、フィルタリング部13は、算出した姿勢の変化量γに基づいて、端に位置するフレームに、別のフレームと重なっていない部分が存在しているかどうかを判定し、判定の結果、存在している場合は、重なっていない部分から抽出された特徴点を排除する。ここで、図4を用いて、フレームが重なっているかどうかの判定処理について説明する。図4は、地図生成装置のフィルタリング部における判定処理を示す図である。
図4において、21は、端に位置するフレームを撮影したとき(時刻t)の撮影領域を示している。また、図4においては、深度方向をz軸方向、画像の水平方向をx軸方向、画像の垂直方向をy方向とする。更に、深度センサ20の画角をH、抽出された特徴点をP(x,y,z)、深度センサ20の撮像面の中心を通る法線と同じく中心を通る特徴点Pから伸びる線とのzx平面における角度をθとする。
この場合において、特徴点Pの角度θが、画角Hの半分の値から姿勢の変化量γを減算して得られた角度((H/2)-abs(γ))よりも大きい場合は、特徴点Pは、フレームが重ならない領域に存在している。
従って、フィルタリング部13は、時刻tにおけるフレームから抽出された特徴点それぞれについて、下記の数2を満たすかどうかを判定する。そして、フィルタリング部13は、下記の数2を満たす特徴点が存在する場合は、端に位置するフレームに、別のフレームと重なっていない部分が存在していると判定する。
(数2)
(H/2)-abs(γ)>θ
(H/2)-abs(γ)>θ
その後、フィルタリング部13は、別のフレームと重なっていないと判定されたフレームの該当部分に存在する特徴点を排除する。具体的には、フィルタリング部13は、端に位置するフレームの別のフレームと重なっていない部分に存在する特徴点(上記数2を満たす特徴点)を排除する。
環境地図生成部14は、まず、フィルタリング部13によって排除されなかった各フレームの特徴点を用いて、フレーム毎に、それから抽出された特徴点と過去のフレームから抽出された特徴点とを対応付け、特徴点の組を特定する。
次に、環境地図生成部14は、フレーム毎に、そのフレームで特定された特徴点の組を用いて、そのフレームにおけるカメラ行列を算出する。そして、環境地図生成部14は、算出したカメラ行列と、特徴点のフレームにおける2次元座標とを用いて、特徴点の3次元座標を算出する。
続いて、環境地図生成部14は、カメラ行列を算出すると、カメラ行列からカメラの位置を算出し、自己位置推定を行う。更に、移動体は、3次元座標が算出された特徴点を用いて、3次元の点群で構成された環境地図(以下「3次元環境地図」と表記する。)を生成又は更新する。図5は、3次元環境地図の一例を示す図である。
また、環境地図生成部14は、生成した3次元環境地図を制御装置30に入力する。更に、環境地図生成部14は、3次元環境地図を2次元に変換することによって、2次元の環境地図を生成することもできる。この場合は、環境地図生成部14は、生成した2次元の環境地図を、制御装置30に渡す。その後、制御装置30は、得られた環境地図を用いて、移動体の進行方向及び移動速度を制御する。
なお、上述した例では、深度センサ20として、3次元空間での深度を測定可能な3次元LiDARが用いられているが、実施の形態では、深度センサ20は、これに限定されることはない。実施の形態では、深度センサ20としては、その他に、特定の平面での深度を測定する画角固定型の2次元LiDAR、TOF(Time Of Flight)カメラも挙げられる。
[装置動作]
次に、地図生成装置10の動作について図6を用いて説明する。図6は、地図生成装置の動作を示すフロー図である。以下の説明においては、適宜図1~図5を参照する。また、実施の形態では、地図生成装置10を動作させることによって、地図生成方法が実施される。よって、実施の形態における地図生成方法の説明は、以下の地図生成装置10の動作説明に代える。
次に、地図生成装置10の動作について図6を用いて説明する。図6は、地図生成装置の動作を示すフロー図である。以下の説明においては、適宜図1~図5を参照する。また、実施の形態では、地図生成装置10を動作させることによって、地図生成方法が実施される。よって、実施の形態における地図生成方法の説明は、以下の地図生成装置10の動作説明に代える。
図6に示すように、最初に、データ取得部11は、深度センサ20から、フレーム単位で、深度付の画像データが出力されると、出力された画像データを取得する(ステップA1)。また、データ取得部11は、設定されたフレーム数分の画像データを取得すると、取得した画像データを、特徴点抽出部12に入力する。
次に、特徴点抽出部12は、ステップA1で取得された画像データが入力されると、フレーム毎に、特徴点を抽出する(ステップA2)。また、特徴点抽出部12は、フレーム毎に、抽出した特徴点を、フィルタリング部13に出力する。
次に、フィルタリング部13は、ステップA2によって、フレーム毎の特徴点が入力されると、入力されたフレームそれぞれ毎に、移動体100の情報に基づいて、移動体の進行方向及び位置を求める(ステップA3)。
次に、フィルタリング部13は、移動体100の進行方向及び位置を用いて、フレーム毎に、そのフレームに、それ以外の別のフレームと重なっていない部分が存在しているかどうかを判定する(ステップA4)。
具体的には、ステップA4では、フィルタリング部13は、移動体の右側、左側、上側、又は下側において、端に位置するフレームを特定する。更に、フィルタリング部13は、上記数1を用いて、端に位置するフレームとその前に出力されたフレームとの間における、移動体100の姿勢の変化量を算出する。
そして、フィルタリング部13は、算出した姿勢の変化量γを用いて、端に位置するフレームから抽出された特徴点それぞれについて、上記数2を満たすかどうかを判定する。フィルタリング部13は、上記数2を満たす特徴点が存在する場合は、端に位置するフレームに、別のフレームと重なっていない部分が存在していると判定する。
次に、フィルタリング部13は、別のフレームと重なっていない部分が存在するフレームにおいて、その該当部分にある特徴点を排除する(ステップA5)。具体的には、A5では、フィルタリング部13は、端に位置するフレームの上記数2を満たす特徴点を排除する。
次に、環境地図生成部14は、ステップA5で排除されなかった特徴点を用いて、フレーム毎に、それから抽出された特徴点と過去のフレームから抽出された特徴点とを対応付け、特徴点の組を特定する(ステップA6)。
次に、環境地図生成部14は、ステップA6で組として特定された特徴点の3次元座標を算出し、算出結果を用いて、組として特定された特徴点の集合で構成された環境地図を生成する(ステップA7)。
その後、環境地図生成部14は、ステップA7で生成された環境地図を、制御装置30に入力する。これにより、制御装置30は、得られた環境地図を用いて、移動体の進行方向及び移動速度を制御する。
以上のように実施の形態では、深度センサ20の画角が固定されていても、端に位置するフレームの別のフレームと重なっていない部分において特徴点が排除されるため、間違った特徴点の組の抽出が回避される。従って、実施の形態によれば、画角が固定された深度センサを用いた場合において、環境地図の精度を向上させることができる。
[プログラム]
実施の形態におけるプログラムは、コンピュータに、図6に示すステップA1~A7を実行させるプログラムであれば良い。このプログラムをコンピュータにインストールし、実行することによって、実施の形態における地図生成装置10と地図生成方法とを実現することができる。この場合、コンピュータのプロセッサは、データ取得部11、特徴点抽出部12、フィルタリング部13、及び環境地図生成部14として機能し、処理を行なう。
実施の形態におけるプログラムは、コンピュータに、図6に示すステップA1~A7を実行させるプログラムであれば良い。このプログラムをコンピュータにインストールし、実行することによって、実施の形態における地図生成装置10と地図生成方法とを実現することができる。この場合、コンピュータのプロセッサは、データ取得部11、特徴点抽出部12、フィルタリング部13、及び環境地図生成部14として機能し、処理を行なう。
また、コンピュータとしては、移動体100に搭載されたコンピュータが挙げられる。その他、コンピュータとしては、汎用のPC、スマートフォン、タブレット型端末装置も挙げられる。
また、実施の形態におけるプログラムは、複数のコンピュータによって構築されたコンピュータシステムによって実行されても良い。この場合は、例えば、各コンピュータが、それぞれ、データ取得部11、特徴点抽出部12、フィルタリング部13、及び環境地図生成部14のいずれかとして機能しても良い。
[物理構成]
ここで、実施の形態におけるプログラムを実行することによって、地図生成装置10を実現するコンピュータについて図7を用いて説明する。図7は、地図生成装置を実現するコンピュータの一例を示すブロック図である。
ここで、実施の形態におけるプログラムを実行することによって、地図生成装置10を実現するコンピュータについて図7を用いて説明する。図7は、地図生成装置を実現するコンピュータの一例を示すブロック図である。
図7に示すように、コンピュータ110は、CPU(Central Processing Unit)111と、メインメモリ112と、記憶装置113と、入力インターフェイス114と、表示コントローラ115と、データリーダ/ライタ116と、通信インターフェイス117とを備える。これらの各部は、バス121を介して、互いにデータ通信可能に接続される。
また、コンピュータ110は、CPU111に加えて、又はCPU111に代えて、GPU(Graphics Processing Unit)、又はFPGA(Field-Programmable Gate Array)を備えていても良い。この態様では、GPU又はFPGAが、実施の形態におけるプログラムを実行することができる。
CPU111は、記憶装置113に格納された、コード群で構成された実施の形態におけるプログラムをメインメモリ112に展開し、各コードを所定順序で実行することにより、各種の演算を実施する。メインメモリ112は、典型的には、DRAM(Dynamic Random Access Memory)等の揮発性の記憶装置である。
また、実施の形態におけるプログラムは、コンピュータ読み取り可能な記録媒体120に格納された状態で提供される。なお、本実施の形態におけるプログラムは、通信インターフェイス117を介して接続されたインターネット上で流通するものであっても良い。
また、記憶装置113の具体例としては、ハードディスクドライブの他、フラッシュメモリ等の半導体記憶装置が挙げられる。入力インターフェイス114は、CPU111と、キーボード及びマウスといった入力機器118との間のデータ伝送を仲介する。表示コントローラ115は、ディスプレイ装置119と接続され、ディスプレイ装置119での表示を制御する。
データリーダ/ライタ116は、CPU111と記録媒体120との間のデータ伝送を仲介し、記録媒体120からのプログラムの読み出し、及びコンピュータ110における処理結果の記録媒体120への書き込みを実行する。通信インターフェイス117は、CPU111と、他のコンピュータとの間のデータ伝送を仲介する。
また、記録媒体120の具体例としては、CF(Compact Flash(登録商標))及びSD(Secure Digital)等の汎用的な半導体記憶デバイス、フレキシブルディスク(Flexible Disk)等の磁気記録媒体、又はCD-ROM(Compact Disk Read Only Memory)などの光学記録媒体が挙げられる。
なお、実施の形態における地図生成装置10は、プログラムがインストールされたコンピュータではなく、各部に対応したハードウェア、例えば、電子回路を用いることによっても実現可能である。更に、地図生成装置10は、一部がプログラムで実現され、残りの部分がハードウェアで実現されていてもよい。実施の形態において、コンピュータは、図7に示すコンピュータに限定されることはない。
上述した実施の形態の一部又は全部は、以下に記載する(付記1)~(付記9)によって表現することができるが、以下の記載に限定されるものではない。
(付記1)
画角が固定された深度センサから出力された画像データをフレーム単位で取得する、データ取得部と、
フレーム毎に、前記画像データから特徴点を抽出する、特徴点抽出部と、
フレーム毎に、当該フレームに、当該フレーム以外の別のフレームと重なっていない部分が存在しているかどうかを判定し、判定の結果、存在している場合は、前記重なっていない部分から抽出された前記特徴点を排除する、フィルタリング部と、
フレーム間で対応する特徴点の組を特定し、更に、組として特定された前記特徴点の3次元座標を算出し、算出結果を用いて、組として特定された前記特徴点の集合で構成された環境地図を生成する、環境地図生成部と、
を備えている、
ことを特徴とする地図生成装置。
画角が固定された深度センサから出力された画像データをフレーム単位で取得する、データ取得部と、
フレーム毎に、前記画像データから特徴点を抽出する、特徴点抽出部と、
フレーム毎に、当該フレームに、当該フレーム以外の別のフレームと重なっていない部分が存在しているかどうかを判定し、判定の結果、存在している場合は、前記重なっていない部分から抽出された前記特徴点を排除する、フィルタリング部と、
フレーム間で対応する特徴点の組を特定し、更に、組として特定された前記特徴点の3次元座標を算出し、算出結果を用いて、組として特定された前記特徴点の集合で構成された環境地図を生成する、環境地図生成部と、
を備えている、
ことを特徴とする地図生成装置。
(付記2)
前記深度センサが移動体に搭載されており、
前記フィルタリング部が、前記移動体の情報に基づいて、フレーム毎に、前記移動体の進行方向及び位置を求め、求めたフレーム毎の前記移動体の進行方向及び位置を用いて、当該フレームに、当該フレーム以外の別のフレームと重なっていない部分が存在しているかどうかを判定する、
付記1に記載の地図生成装置。
前記深度センサが移動体に搭載されており、
前記フィルタリング部が、前記移動体の情報に基づいて、フレーム毎に、前記移動体の進行方向及び位置を求め、求めたフレーム毎の前記移動体の進行方向及び位置を用いて、当該フレームに、当該フレーム以外の別のフレームと重なっていない部分が存在しているかどうかを判定する、
付記1に記載の地図生成装置。
(付記3)
前記フィルタリング部が、フレーム毎に、求めたフレーム毎の前記移動体の向き及び位置を用いて、当該フレームの周辺に別のフレームが存在しているかどうかを判定し、当該フレームの周辺に別のフレームが存在していない場合に、当該フレームに、当該フレーム以外の別のフレームと重なっていない部分が存在していると判定する、
付記2に記載の地図生成装置。
前記フィルタリング部が、フレーム毎に、求めたフレーム毎の前記移動体の向き及び位置を用いて、当該フレームの周辺に別のフレームが存在しているかどうかを判定し、当該フレームの周辺に別のフレームが存在していない場合に、当該フレームに、当該フレーム以外の別のフレームと重なっていない部分が存在していると判定する、
付記2に記載の地図生成装置。
(付記4)
画角が固定された深度センサから出力された画像データをフレーム単位で取得する、データ取得ステップと、
フレーム毎に、前記画像データから特徴点を抽出する、特徴点抽出ステップと、
フレーム毎に、当該フレームに、当該フレーム以外の別のフレームと重なっていない部分が存在しているかどうかを判定し、判定の結果、存在している場合は、前記重なっていない部分から抽出された前記特徴点を排除する、フィルタリングステップと、
フレーム間で対応する特徴点の組を特定し、更に、組として特定された前記特徴点の3次元座標を算出し、算出結果を用いて、組として特定された前記特徴点の集合で構成された環境地図を生成する、環境地図生成ステップと、
を有する、
ことを特徴とする地図生成方法。
画角が固定された深度センサから出力された画像データをフレーム単位で取得する、データ取得ステップと、
フレーム毎に、前記画像データから特徴点を抽出する、特徴点抽出ステップと、
フレーム毎に、当該フレームに、当該フレーム以外の別のフレームと重なっていない部分が存在しているかどうかを判定し、判定の結果、存在している場合は、前記重なっていない部分から抽出された前記特徴点を排除する、フィルタリングステップと、
フレーム間で対応する特徴点の組を特定し、更に、組として特定された前記特徴点の3次元座標を算出し、算出結果を用いて、組として特定された前記特徴点の集合で構成された環境地図を生成する、環境地図生成ステップと、
を有する、
ことを特徴とする地図生成方法。
(付記5)
前記深度センサが移動体に搭載されており、
前記フィルタリングステップにおいて、前記移動体の情報に基づいて、フレーム毎に、前記移動体の進行方向及び位置を求め、求めたフレーム毎の前記移動体の進行方向及び位置を用いて、当該フレームに、当該フレーム以外の別のフレームと重なっていない部分が存在しているかどうかを判定する、
付記4に記載の地図生成方法。
前記深度センサが移動体に搭載されており、
前記フィルタリングステップにおいて、前記移動体の情報に基づいて、フレーム毎に、前記移動体の進行方向及び位置を求め、求めたフレーム毎の前記移動体の進行方向及び位置を用いて、当該フレームに、当該フレーム以外の別のフレームと重なっていない部分が存在しているかどうかを判定する、
付記4に記載の地図生成方法。
(付記6)
前記フィルタリングステップにおいて、フレーム毎に、求めたフレーム毎の前記移動体の向き及び位置を用いて、当該フレームの周辺に別のフレームが存在しているかどうかを判定し、当該フレームの周辺に別のフレームが存在していない場合に、当該フレームに、当該フレーム以外の別のフレームと重なっていない部分が存在していると判定する、
付記5に記載の地図生成方法。
前記フィルタリングステップにおいて、フレーム毎に、求めたフレーム毎の前記移動体の向き及び位置を用いて、当該フレームの周辺に別のフレームが存在しているかどうかを判定し、当該フレームの周辺に別のフレームが存在していない場合に、当該フレームに、当該フレーム以外の別のフレームと重なっていない部分が存在していると判定する、
付記5に記載の地図生成方法。
(付記7)
コンピュータに、
画角が固定された深度センサから出力された画像データをフレーム単位で取得する、データ取得ステップと、
フレーム毎に、前記画像データから特徴点を抽出する、特徴点抽出ステップと、
フレーム毎に、当該フレームに、当該フレーム以外の別のフレームと重なっていない部分が存在しているかどうかを判定し、判定の結果、存在している場合は、前記重なっていない部分から抽出された前記特徴点を排除する、フィルタリングステップと、
フレーム間で対応する特徴点の組を特定し、更に、組として特定された前記特徴点の3次元座標を算出し、算出結果を用いて、組として特定された前記特徴点の集合で構成された環境地図を生成する、環境地図生成ステップと、
を実行させる、プログラム。
コンピュータに、
画角が固定された深度センサから出力された画像データをフレーム単位で取得する、データ取得ステップと、
フレーム毎に、前記画像データから特徴点を抽出する、特徴点抽出ステップと、
フレーム毎に、当該フレームに、当該フレーム以外の別のフレームと重なっていない部分が存在しているかどうかを判定し、判定の結果、存在している場合は、前記重なっていない部分から抽出された前記特徴点を排除する、フィルタリングステップと、
フレーム間で対応する特徴点の組を特定し、更に、組として特定された前記特徴点の3次元座標を算出し、算出結果を用いて、組として特定された前記特徴点の集合で構成された環境地図を生成する、環境地図生成ステップと、
を実行させる、プログラム。
(付記8)
前記深度センサが移動体に搭載されており、
前記フィルタリングステップにおいて、前記移動体の情報に基づいて、フレーム毎に、前記移動体の進行方向及び位置を求め、求めたフレーム毎の前記移動体の進行方向及び位置を用いて、当該フレームに、当該フレーム以外の別のフレームと重なっていない部分が存在しているかどうかを判定する、
付記7に記載のプログラム。
前記深度センサが移動体に搭載されており、
前記フィルタリングステップにおいて、前記移動体の情報に基づいて、フレーム毎に、前記移動体の進行方向及び位置を求め、求めたフレーム毎の前記移動体の進行方向及び位置を用いて、当該フレームに、当該フレーム以外の別のフレームと重なっていない部分が存在しているかどうかを判定する、
付記7に記載のプログラム。
(付記9)
前記フィルタリングステップにおいて、フレーム毎に、求めたフレーム毎の前記移動体の向き及び位置を用いて、当該フレームの周辺に別のフレームが存在しているかどうかを判定し、当該フレームの周辺に別のフレームが存在していない場合に、当該フレームに、当該フレーム以外の別のフレームと重なっていない部分が存在していると判定する、
付記8に記載のプログラム。
前記フィルタリングステップにおいて、フレーム毎に、求めたフレーム毎の前記移動体の向き及び位置を用いて、当該フレームの周辺に別のフレームが存在しているかどうかを判定し、当該フレームの周辺に別のフレームが存在していない場合に、当該フレームに、当該フレーム以外の別のフレームと重なっていない部分が存在していると判定する、
付記8に記載のプログラム。
以上、実施の形態を参照して本願発明を説明したが、本願発明は上記実施の形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
この出願は、2022年6月3日に出願された日本出願特願2022-91128を基礎とする優先権を主張し、その開示の全てをここに取り込む。
以上のように本開示によれば、画角が固定された深度センサを用いた場合において、環境地図の精度を向上させることができる。本開示は、SLAMが用いられる分野において有用である。
10 地図生成装置
11 データ取得部
12 特徴点抽出部
13 フィルタリング部
14 環境地図生成部
20 深度センサ
30 制御装置
40 操舵装置
50 パワートレイン
100 移動体
110 コンピュータ
111 CPU
112 メインメモリ
113 記憶装置
114 入力インターフェイス
115 表示コントローラ
116 データリーダ/ライタ
117 通信インターフェイス
118 入力機器
119 ディスプレイ装置
120 記録媒体
121 バス
11 データ取得部
12 特徴点抽出部
13 フィルタリング部
14 環境地図生成部
20 深度センサ
30 制御装置
40 操舵装置
50 パワートレイン
100 移動体
110 コンピュータ
111 CPU
112 メインメモリ
113 記憶装置
114 入力インターフェイス
115 表示コントローラ
116 データリーダ/ライタ
117 通信インターフェイス
118 入力機器
119 ディスプレイ装置
120 記録媒体
121 バス
Claims (9)
- 画角が固定された深度センサから出力された画像データをフレーム単位で取得する、データ取得手段と、
フレーム毎に、前記画像データから特徴点を抽出する、特徴点抽出手段と、
フレーム毎に、当該フレームに、当該フレーム以外の別のフレームと重なっていない部分が存在しているかどうかを判定し、判定の結果、存在している場合は、前記重なっていない部分から抽出された前記特徴点を排除する、フィルタリング手段と、
フレーム間で対応する特徴点の組を特定し、更に、組として特定された前記特徴点の3次元座標を算出し、算出結果を用いて、組として特定された前記特徴点の集合で構成された環境地図を生成する、環境地図生成手段と、
を備えている、
ことを特徴とする地図生成装置。 - 前記深度センサが移動体に搭載されており、
前記フィルタリング手段が、前記移動体の情報に基づいて、フレーム毎に、前記移動体の進行方向及び位置を求め、求めたフレーム毎の前記移動体の進行方向及び位置を用いて、当該フレームに、当該フレーム以外の別のフレームと重なっていない部分が存在しているかどうかを判定する、
請求項1に記載の地図生成装置。 - 前記フィルタリング手段が、フレーム毎に、求めたフレーム毎の前記移動体の向き及び位置を用いて、当該フレームの周辺に別のフレームが存在しているかどうかを判定し、当該フレームの周辺に別のフレームが存在していない場合に、当該フレームに、当該フレーム以外の別のフレームと重なっていない部分が存在していると判定する、
請求項2に記載の地図生成装置。 - 画角が固定された深度センサから出力された画像データをフレーム単位で取得し、
フレーム毎に、前記画像データから特徴点を抽出し、
フレーム毎に、当該フレームに、当該フレーム以外の別のフレームと重なっていない部分が存在しているかどうかを判定し、判定の結果、存在している場合は、前記重なっていない部分から抽出された前記特徴点を排除し、
フレーム間で対応する特徴点の組を特定し、更に、組として特定された前記特徴点の3次元座標を算出し、算出結果を用いて、組として特定された前記特徴点の集合で構成された環境地図を生成する、
ことを特徴とする地図生成方法。 - 前記深度センサが移動体に搭載されており、
前記判定において、前記移動体の情報に基づいて、フレーム毎に、前記移動体の進行方向及び位置を求め、求めたフレーム毎の前記移動体の進行方向及び位置を用いて、当該フレームに、当該フレーム以外の別のフレームと重なっていない部分が存在しているかどうかを判定する、
請求項4に記載の地図生成方法。 - 前記判定において、フレーム毎に、求めたフレーム毎の前記移動体の向き及び位置を用いて、当該フレームの周辺に別のフレームが存在しているかどうかを判定し、当該フレームの周辺に別のフレームが存在していない場合に、当該フレームに、当該フレーム以外の別のフレームと重なっていない部分が存在していると判定する、
請求項5に記載の地図生成方法。 - コンピュータに、
画角が固定された深度センサから出力された画像データをフレーム単位で取得させ、
フレーム毎に、前記画像データから特徴点を抽出させ、
フレーム毎に、当該フレームに、当該フレーム以外の別のフレームと重なっていない部分が存在しているかどうかを判定させ、判定の結果、存在している場合は、前記重なっていない部分から抽出された前記特徴点を排除させ、
フレーム間で対応する特徴点の組を特定させ、更に、組として特定された前記特徴点の3次元座標を算出させ、算出結果を用いて、組として特定された前記特徴点の集合で構成された環境地図を生成させる、
命令を含むプログラムを記録している、コンピュータ読み取り可能な記録媒体。 - 前記深度センサが移動体に搭載されており、
前記判定において、前記移動体の情報に基づいて、フレーム毎に、前記移動体の進行方向及び位置を求め、求めたフレーム毎の前記移動体の進行方向及び位置を用いて、当該フレームに、当該フレーム以外の別のフレームと重なっていない部分が存在しているかどうかを判定させる、
請求項7に記載のコンピュータ読み取り可能な記録媒体。 - 前記判定において、フレーム毎に、求めたフレーム毎の前記移動体の向き及び位置を用いて、当該フレームの周辺に別のフレームが存在しているかどうかを判定させ、当該フレームの周辺に別のフレームが存在していない場合に、当該フレームに、当該フレーム以外の別のフレームと重なっていない部分が存在していると判定させる、
請求項8に記載のコンピュータ読み取り可能な記録媒体。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022-091128 | 2022-06-03 | ||
JP2022091128 | 2022-06-03 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2023234384A1 true WO2023234384A1 (ja) | 2023-12-07 |
Family
ID=89024971
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2023/020402 WO2023234384A1 (ja) | 2022-06-03 | 2023-06-01 | 地図生成装置、地図生成方法、及びコンピュータ読み取り可能な記録媒体 |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2023234384A1 (ja) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019086419A (ja) * | 2017-11-08 | 2019-06-06 | 川崎重工業株式会社 | 環境取得システム |
JP2022022715A (ja) * | 2020-07-02 | 2022-02-07 | 三菱ロジスネクスト株式会社 | 位置推定装置、車両、位置推定方法およびプログラム |
-
2023
- 2023-06-01 WO PCT/JP2023/020402 patent/WO2023234384A1/ja unknown
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019086419A (ja) * | 2017-11-08 | 2019-06-06 | 川崎重工業株式会社 | 環境取得システム |
JP2022022715A (ja) * | 2020-07-02 | 2022-02-07 | 三菱ロジスネクスト株式会社 | 位置推定装置、車両、位置推定方法およびプログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109084746B (zh) | 用于具有辅助传感器的自主平台引导***的单目模式 | |
CN111108342B (zh) | 用于高清地图创建的视觉测程法和成对对准 | |
US10437252B1 (en) | High-precision multi-layer visual and semantic map for autonomous driving | |
US10794710B1 (en) | High-precision multi-layer visual and semantic map by autonomous units | |
US10275649B2 (en) | Apparatus of recognizing position of mobile robot using direct tracking and method thereof | |
KR101784183B1 (ko) | ADoG 기반 특징점을 이용한 이동 로봇의 위치를 인식하기 위한 장치 및 그 방법 | |
US9330472B2 (en) | System and method for distorted camera image correction | |
US20170151675A1 (en) | Apparatus for recognizing position of mobile robot using edge based refinement and method thereof | |
JP2019518222A (ja) | リアルタイムオンラインエゴモーション推定を有するレーザスキャナ | |
US11227395B2 (en) | Method and apparatus for determining motion vector field, device, storage medium and vehicle | |
KR20150144729A (ko) | 그래디언트 기반 특징점을 이용한 이동 로봇의 위치를 인식하기 위한 장치 및 그 방법 | |
KR102056147B1 (ko) | 자율주행차량을 위한 거리 데이터와 3차원 스캔 데이터의 정합 방법 및 그 장치 | |
KR102547274B1 (ko) | 이동 로봇 및 이의 위치 인식 방법 | |
US11189042B2 (en) | Information processing device, information processing method, and computer program | |
JP6827642B2 (ja) | 車輪付き車両用自己較正センサシステム | |
JP2016157197A (ja) | 自己位置推定装置、自己位置推定方法およびプログラム | |
KR20210090384A (ko) | 카메라 및 라이다 센서를 이용한 3d 객체 검출방법 및 장치 | |
CN111105695B (zh) | 地图制作方法、装置、电子设备及计算机可读存储介质 | |
JP6014484B2 (ja) | 自律移動ロボット | |
CN114509079A (zh) | 用于自主驾驶的地面投影的方法和*** | |
WO2023234384A1 (ja) | 地図生成装置、地図生成方法、及びコンピュータ読み取り可能な記録媒体 | |
JP2020064029A (ja) | 移動体制御装置 | |
US11514588B1 (en) | Object localization for mapping applications using geometric computer vision techniques | |
WO2023234385A1 (ja) | 地図生成装置、地図生成方法、及びコンピュータ読み取り可能な記録媒体 | |
WO2023139793A1 (ja) | Slam装置、slam攻撃対策プログラムおよび自律型モビリティ |
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: 23816141 Country of ref document: EP Kind code of ref document: A1 |