WO2021095463A1 - 自己位置推定モデル学習方法、自己位置推定モデル学習装置、自己位置推定モデル学習プログラム、自己位置推定方法、自己位置推定装置、自己位置推定プログラム、及びロボット - Google Patents

自己位置推定モデル学習方法、自己位置推定モデル学習装置、自己位置推定モデル学習プログラム、自己位置推定方法、自己位置推定装置、自己位置推定プログラム、及びロボット Download PDF

Info

Publication number
WO2021095463A1
WO2021095463A1 PCT/JP2020/039553 JP2020039553W WO2021095463A1 WO 2021095463 A1 WO2021095463 A1 WO 2021095463A1 JP 2020039553 W JP2020039553 W JP 2020039553W WO 2021095463 A1 WO2021095463 A1 WO 2021095463A1
Authority
WO
WIPO (PCT)
Prior art keywords
self
position estimation
bird
eye view
local image
Prior art date
Application number
PCT/JP2020/039553
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 CN202080076842.9A priority Critical patent/CN114698388A/zh
Priority to EP20886244.1A priority patent/EP4060445A4/en
Priority to US17/774,605 priority patent/US20220397903A1/en
Publication of WO2021095463A1 publication Critical patent/WO2021095463A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0246Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/005Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 with correlation of navigation data from several sources, e.g. map or contour matching
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/0088Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots characterized by the autonomous decision making process, e.g. artificial intelligence, predefined behaviours
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0246Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
    • G05D1/0253Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means extracting relative motion information from a plurality of images taken successively, e.g. visual odometry, optical flow
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/008Artificial life, i.e. computing arrangements simulating life based on physical entities controlled by simulated intelligence so as to replicate intelligent life forms, e.g. based on robots replicating pets or humans in their appearance or behaviour

Definitions

  • the disclosed techniques relate to a self-position estimation model learning method, a self-position estimation model learning device, a self-position estimation model learning program, a self-position estimation method, a self-position estimation device, a self-position estimation program, and a robot.
  • Non-Patent Document 1 "ORB-SLAM2: an Open-Source ⁇ SLAM ⁇ System for Monocular, Stereo and ⁇ RGB-D ⁇ Cameras https: / /128.84.21.199/pdf/1610.06475.pdf ”)
  • movement information such as rotation and translation is calculated by observing static feature points in three-dimensional space from multiple viewpoints.
  • Non-Patent Document 2 "Getting”
  • Robots Unfrozen and Unlost in Dense Pedestrian Crowds https://arxiv.org/pdf/1810.00352.pdf See Robots Unfrozen and Unlost in Dense Pedestrian Crowds https://arxiv.org/pdf/1810.00352.pdf).
  • Other methods for handling animals include a method of explicitly modeling the movement of the animal body and a robust estimation method using an error function that reduces the influence of the part corresponding to the animal body, but both of them are crowded. It cannot be applied in a complex and dense dynamic environment such as.
  • the same scene can be recognized by creating a Visual Vocabulary from the feature points of the scene and saving it in the database.
  • Non-Patent Document 3 ([N.N +, ECCV'16] Localizing and Orienting Street Views Using Overhead Imagery https://lugiavn.github.io/gatech/crossview_eccv2016/nam_eccv2016.pdf)
  • Non-Patent Document 4 ([S .Workman +, ICCV'15] Wide-Area Image Geolocalization with Aerial Reference Imagery https://www.cv-foundation.org/openaccess/content_iccv_2015/papers/Workman_Wide-Area_Image_Geolocalization_ICCV_2015_paper.pdf)
  • a technique for extracting features and making it possible to search which block of a bird's-eye view image each local image corresponds to is disclosed.
  • the disclosed technique was made in view of the above points, and estimates the self-position of the self-position estimation target even in a dynamic environment where it was conventionally difficult to estimate the self-position of the self-position estimation target. It is an object of the present invention to provide a self-position estimation model learning method, a self-position estimation model learning device, a self-position estimation model learning program, a self-position estimation method, a self-position estimation device, a self-position estimation program, and a robot. ..
  • the first aspect of the disclosure is a self-position estimation model learning method, from a local image taken by a computer from a viewpoint from the self-position estimation target in a dynamic environment and a position overlooking the self-position estimation target.
  • the self-position estimation is performed by inputting the acquisition step of acquiring the captured bird's-eye view image and the bird's-eye view image synchronized with the local image in time series, and the local image and the bird's-eye view image acquired in time series as inputs.
  • a process including a learning step of learning a self-position estimation model that outputs a target position is executed.
  • the learning step includes a locus information calculation step of calculating the first locus information based on the local image and calculating the second locus information based on the bird's-eye view image, and the first locus information calculation step.
  • the feature amount calculation step of calculating the first feature amount based on the locus information of the above and calculating the second feature amount based on the second locus information, and the first feature amount and the second feature amount.
  • the distance calculation step of calculating the distance from the feature amount, the estimation step of estimating the position of the self-position estimation target based on the distance, and the similarity between the first feature amount and the second feature amount are It may include an update step of updating the parameters of the self-position estimation model so that the higher the distance, the smaller the distance.
  • the feature amount calculation step is based on the second locus information in a plurality of partial regions selected from the regions in the vicinity of the position of the self-position estimation target previously estimated.
  • the feature amount is calculated, the distance calculation step calculates the distance for each of the plurality of partial regions, and the estimation step calculates the smallest distance among the distances calculated for each of the plurality of partial regions.
  • the predetermined position of the above may be estimated as the position of the self-position estimation target.
  • the second aspect of the disclosure is a self-position estimation model learning device, which is a local image taken from a viewpoint from a self-position estimation target in a dynamic environment and a position taken from a bird's-eye view of the self-position estimation target.
  • the position of the self-position estimation target by inputting the acquisition unit which is a bird's-eye view image and the bird's-eye view image synchronized with the local image in time series and the local image and the bird's-eye view image acquired in time series as inputs.
  • the third aspect of the disclosure is a self-position estimation model learning program, from a local image taken by a computer from a viewpoint from the self-position estimation target in a dynamic environment and a position overlooking the self-position estimation target.
  • the self-position estimation by inputting the acquisition step of acquiring the captured bird's-eye view image and the bird's-eye view image synchronized with the local image in time series, and the local image and the bird's-eye view image acquired in time series as inputs. It is a program for executing a process including a learning process for learning a self-position estimation model that outputs a target position.
  • the fourth aspect of the disclosure is a self-position estimation method, in which a computer captures a local image taken from a viewpoint from a self-position estimation target in a dynamic environment and a position obtained from a bird's-eye view of the self-position estimation target.
  • a process including a self-position estimation model learned by the position estimation model learning method and an estimation step of estimating the self-position of the self-position estimation target based on the self-position estimation model is executed.
  • a fifth aspect of the disclosure is a self-position estimation device, which is a local image taken from a viewpoint from a self-position estimation target in a dynamic environment and a bird's-eye view image taken from a bird's-eye view of the self-position estimation target.
  • the acquisition unit that acquires the bird's-eye view image synchronized with the local image in time series, the local image and the bird's-eye view image acquired in time series, and the self-position estimation model according to the second aspect. It includes a self-position estimation model learned by the learning device, and an estimation unit that estimates the self-position of the self-position estimation target based on the self-position estimation model.
  • the sixth aspect of the disclosure is a self-position estimation program, in which a local image taken by a computer from a viewpoint from the self-position estimation target in a dynamic environment and a position obtained from a bird's-eye view of the self-position estimation target are taken.
  • It is a program for executing a process including the self-position estimation model learned by the position estimation model learning method, and the estimation step of estimating the self-position of the self-position estimation target based on the self-position estimation model.
  • a seventh aspect of the disclosure is a robot, which is a local image taken from a viewpoint from the robot in a dynamic environment and a bird's-eye view image taken from a position where the robot is viewed from a bird's-eye view, and is synchronized with the local image.
  • the robot moves to the destination based on the estimation unit that estimates the self-position of the robot based on the model, the autonomous traveling unit that autonomously travels the robot, and the position estimated by the estimation unit.
  • a control unit that controls the autonomous traveling unit is included.
  • the self-position of the self-position estimation target can be estimated even in a dynamic environment where it has been difficult to estimate the self-position of the self-position estimation target.
  • FIG. 1 is a diagram showing a schematic configuration of the self-position estimation model learning system 1.
  • the self-position estimation model learning system 1 includes a self-position estimation model learning device 10 and a simulator 20.
  • the simulator 20 will be described later.
  • FIG. 2 is a block diagram showing the hardware configuration of the self-position estimation model learning device 10.
  • the self-position estimation model learning device 10 includes a CPU (Central Processing Unit) 11, a ROM (Read Only Memory) 12, a RAM (Random Access Memory) 13, a storage 14, an input unit 15, and a monitor 16. It has an optical disk drive device 17 and a communication interface 18. The configurations are connected to each other via a bus 19 so as to be communicable with each other.
  • a CPU Central Processing Unit
  • ROM Read Only Memory
  • RAM Random Access Memory
  • the self-position estimation model learning program is stored in the storage 14.
  • the CPU 11 is a central arithmetic processing unit that executes various programs and controls each configuration. That is, the CPU 11 reads the program from the storage 14 and executes the program using the RAM 13 as a work area. The CPU 11 controls each of the above configurations and performs various arithmetic processes according to the program recorded in the storage 14.
  • the ROM 12 stores various programs and various data.
  • the RAM 13 temporarily stores a program or data as a work area.
  • the storage 14 is composed of an HDD (Hard Disk Drive) or an SSD (Solid State Drive), and stores various programs including an operating system and various data.
  • the input unit 15 includes a pointing device such as a keyboard 151 and a mouse 152, and is used for performing various inputs.
  • the monitor 16 is, for example, a liquid crystal display and displays various types of information.
  • the monitor 16 may adopt a touch panel method and function as an input unit 15.
  • the optical disc drive device 17 reads data stored in various recording media (CD-ROM, Blu-ray disc, etc.), writes data to the recording medium, and the like.
  • the communication interface 18 is an interface for communicating with other devices such as the simulator 20, and for example, a standard such as Ethernet (registered trademark), FDDI or Wi-Fi (registered trademark) is used.
  • FIG. 3 is a block diagram showing an example of the functional configuration of the self-position estimation model learning device 10.
  • the self-position estimation model learning device 10 has an acquisition unit 30 and a learning unit 32 as functional configurations. Each functional configuration is realized by the CPU 11 reading the self-position estimation program stored in the storage 14 and expanding and executing the self-position estimation program in the RAM 13.
  • the acquisition unit 30 acquires the destination information, the local image, and the bird's-eye view image from the simulator 20.
  • Simulator 20 for example, as shown in FIG. 4, the autonomous running type of robot RB is a local image in the case of moving to a destination p g represented by the destination information, the overhead image that is synchronized with the local image, and Output in chronological order.
  • the robot RB as a human HB like existing around, moving the dynamic environment including a moving object to a destination p g.
  • the moving object is a human HB
  • the present invention is not limited to this.
  • other examples of dynamic environments include environments in which automobiles, autonomous robots, drones, aircraft, ships, and the like exist.
  • the local image is an image taken from the viewpoint of the robot RB as the self-position estimation target in the dynamic environment as shown in FIG.
  • the local image is an image captured by an optical camera
  • the present invention is not limited to this. That is, it suffices if it is possible to acquire motion information indicating how an object existing within the field of view of the robot RB has moved.
  • motion information acquired by an event camera EventBasedCamera
  • Operation information after image processing of a local image by a known method such as optical flow may be used.
  • the bird's-eye view image is an image taken from a bird's-eye view of the robot RB.
  • the bird's-eye view image is, for example, an image obtained by taking a range including the robot RB from above the robot RB, and is an image obtained by taking a wider range than the range represented by the local image.
  • a RAW (Raw image format) image may be used, or a moving image such as a video after image processing may be used.
  • the learning unit 32 learns a self-position estimation model that outputs the position of the robot RB by inputting the local image and the bird's-eye view image acquired by the acquisition unit 30 in time series.
  • the learning unit 32 includes a first locus information calculation unit 33-1, a second locus information calculation unit 33-2, a first feature vector calculation unit 34-1, and a second feature vector. It includes a calculation unit 34-2, a distance calculation unit 35, and a self-position estimation unit 36.
  • a known method such as the above-mentioned optical flow or MOT (Multi Object Tracking) can be used, but the calculation is not limited to this.
  • the first feature vector calculation unit 34-1 calculates the K 1- dimensional first feature vector ⁇ 1 (t 1 ) of the first locus information t 1. Specifically, the first feature vector calculation unit 34-1 inputs the first locus information t 1 to, for example, the first convolutional neural network (CNN), so that the K 1- dimensional first The feature vector ⁇ 1 (t 1 ) of 1 is calculated.
  • the first feature vector ⁇ 1 (t 1 ) is an example of the first feature quantity, and is not limited to the feature vector, and other feature quantities may be calculated.
  • the second feature vector calculation unit 34-2 calculates the K two- dimensional second feature vector ⁇ 2 (t 2 ) of the second locus information t 2.
  • the second feature vector calculation unit 34-2 is the first convolutional neural network used in, for example, the first feature vector calculation unit 34-1 in the same manner as the first feature vector calculation unit 34-1.
  • the K two- dimensional second feature vector ⁇ 2 (t 2 ) is calculated.
  • the second feature vector ⁇ 2 (t 2 ) is an example of the second feature amount, and is not limited to the feature vector, and other feature amounts may be calculated.
  • the second locus information t 2 input to the second convolutional neural network is not the locus information of the entire bird's-eye view image I2, but the position pt-1 of the robot RB detected last time.
  • the second feature vector ⁇ 2 (t 21) ⁇ ⁇ 2 (t 2M) is calculated for each of the partial regions W 1 ⁇ W M.
  • the second locus information t 21 to t 2M when the second locus information t 21 to t 2M is not distinguished, it may be simply referred to as the second locus information t 2 .
  • the second feature vector ⁇ 2 (t 21 ) to ⁇ 2 (t 2M ) is not distinguished, it may be simply referred to as the second feature vector ⁇ 2 (t 2 ).
  • the local area L is set to include a range in which the robot RB can move from the position pt-1 of the robot RB detected last time.
  • the position of the partial regions W 1 ⁇ W M is selected at random from the local region L.
  • the size of the number and the partial regions W 1 ⁇ W M of partial regions W 1 ⁇ W M affects the processing speed and the estimated accuracy of the self-position. Therefore, the size of the number and the partial regions W 1 ⁇ W M of partial regions W 1 ⁇ W M is set to any value depending on the desired process speed and accuracy of estimation of the self-position.
  • partial region W when no particular distinction partial regions W 1 ⁇ W M, sometimes simply referred to as partial region W.
  • partial regions W 1 ⁇ W M there will be described a case where partial areas W 1 ⁇ W M is selected at random from the local area L, but not limited thereto. For example, it may be set a partial region W 1 ⁇ W M evenly divides the local region L.
  • Second feature vector phi 2 (t 21) of the partial regions W 1 ⁇ W M with each of the ⁇ ⁇ 2 (t 2M) Distances g ( ⁇ 1 (t 1 ), ⁇ 2 (t 21 )) to g ( ⁇ 1 (t 1 ), ⁇ 2 (t 2 M )) representing degrees are calculated using, for example, a neural network. Then, in this neural network, the higher the degree of similarity between the first feature vector ⁇ 1 (t 1 ) and the second feature vector ⁇ 2 (t 2 ), the greater the distance g ( ⁇ 1 (t 1 ), ⁇ 2). (T 2 )) is learned to be small.
  • the first feature vector calculation unit 34-1, the second feature vector calculation unit 34-2, and the distance calculation unit 35 use known learning models such as Siamese Network using Control loss and triple loss. Can be used. In this case, the higher the degree of similarity between the first feature vector ⁇ 1 (t 1 ) and the second feature vector ⁇ 2 (t 2 ), the greater the distance g ( ⁇ 1 (t 1 ), ⁇ 2 (t 2 )). ) Is reduced, and the parameters of the neural network used in the first feature vector calculation unit 34-1, the second feature vector calculation unit 34-2, and the distance calculation unit 35 are learned. Further, the distance calculation method is not limited to the case of using a neural network, and Mahalanobis distance learning, which is an example of a distance learning (Metric Learning) method, may be used.
  • the self-position estimation unit 36 has a distance g ( ⁇ 1 (t 1 ), ⁇ 2 (t 21 )) to g ( ⁇ 1 (t 1 ), ⁇ 2 (t 2 M )) calculated by the distance calculation unit 35. among estimates predetermined positions of the partial region W of the second feature vector phi 2 corresponding to the smallest distance (t 2), for example, the center position as a self-position p t.
  • the self-position estimation model learning device 10 can be said to be a device that functionally learns a self-position estimation model that estimates and outputs a self-position based on a local image and a bird's-eye view image.
  • FIG. 7 is a flowchart showing the flow of the self-position estimation model learning process by the self-position estimation model learning device 10.
  • the self-position estimation model learning process is performed by the CPU 11 reading the self-position estimation model learning program from the storage 14, deploying it in the RAM 13, and executing it.
  • step S100 CPU 11 has, as the acquisition unit 30 acquires the position information of the destination p g from the simulator 20.
  • step S106 CPU 11 has, as the first trajectory information calculating section 33-1, based on the local image I1, and calculates the first trajectory information t 1.
  • step S108 CPU 11 has, as the second trajectory information calculating section 33-2, based on the overhead image I2, and calculates the second trajectory information t 2.
  • step S110 the CPU 11 calculates the first feature vector ⁇ 1 (t 1 ) as the first feature vector calculation unit 34-1 based on the first locus information t 1.
  • step S112 CPU 11 has, as a second feature vector calculator 34-2, of the second trajectory information t 2, based on the second trajectory information t 21 ⁇ t 2M partial regions W 1 ⁇ W M second feature vectors phi 2 (t 21) is calculated ⁇ phi 2 the (t 2M).
  • step S114 the CPU 11 acts as the distance calculation unit 35 to resemble each of the first feature vector ⁇ 1 (t 1 ) and the second feature vectors ⁇ 2 (t 21 ) to ⁇ 2 (t 2M).
  • the distances g ( ⁇ 1 (t 1 ), ⁇ 2 (t 21 )) to g ( ⁇ 1 (t 1 ), ⁇ 2 (t 2 M )) representing the degree are calculated. That is, the distance is calculated for each partial region W.
  • step S116 the CPU 11 acts as the self-position estimation unit 36, and the distances g ( ⁇ 1 (t 1 ), ⁇ 2 (t 21 )) to g ( ⁇ 1 (t 1 ), ⁇ 2 ( ⁇ 1 (t 1)) calculated in step S114. t 2M)) among the estimated representative position of the partial region W of the smallest distance a second feature vector corresponding to phi 2 (t 2), for example, the center position as a self-position p t, and outputs to the simulator 20.
  • step S118 the CPU 11 updates the parameters of the self-position estimation model as the learning unit 32. That is, when Siamese Network is used as the learning model included in the self-position estimation model, the parameters of Siamese Network are updated.
  • step S120 CPU 11 has, as a self position estimating unit 36 determines whether or not the robot RB has reached the destination p g. That is, the position p t of the robot RB estimated in step S116 it is determined whether to match the destination p g. Then, when the robot RB is determined to have reached the destination p g, the process proceeds to step S122. On the other hand, when the robot RB is determined not to have reached the destination p g, the process proceeds to step S102, the robot RB repeats the processing at steps S102 ⁇ S120 until it is determined to have reached the destination p g. That is, the learning model is learned.
  • the processing of steps S102 and S104 is an example of the acquisition process. Further, the processes of steps S108 to S118 are an example of the learning process.
  • step S122 the CPU 11 determines whether or not the end condition for ending learning is satisfied as the self-position estimation unit 36. End condition, in the present embodiment, for example, until the robot RB arrives at the destination p g from a starting point as one episode is when the episode of the predetermined number (e.g. 100) is completed. When the CPU 11 determines that the termination condition is satisfied, the CPU 11 terminates this routine. On the other hand, if the end condition is not satisfied , the process proceeds to step S100, the destination pg is changed, and the processes of steps S100 to S122 are repeated until the end condition is satisfied.
  • End condition in the present embodiment, for example, until the robot RB arrives at the destination p g from a starting point as one episode is when the episode of the predetermined number (e.g. 100) is completed.
  • step S116 when the calculated minimum distance is equal to or greater than a predetermined threshold value, it is determined that the self-position cannot be estimated, and the local region near the position pt-1 of the previously detected robot RB is determined. reselect partial regions W 1 ⁇ W M from the L, may be such that the process in step S112 ⁇ S116 again.
  • the self-position estimation may be repeated by executing the processes of steps S112 to S116 again.
  • FIG. 8 shows a schematic configuration of the robot RB.
  • the robot RB includes a self-position estimation device 40, a camera 42, a robot information acquisition unit 44, a notification unit 46, and an autonomous traveling unit 48.
  • the self-position estimation device 40 includes an acquisition unit 50 and a control unit 52.
  • the camera 42 is, during the period from the start point to move to the destination p g, taken at predetermined intervals around the robot RB, and outputs the local image captured in acquisition unit 50 of the self-position estimating device 40.
  • the acquisition unit 50 requests and acquires a bird's-eye view image taken from a bird's-eye view of the robot RB by wireless communication from an external device (not shown).
  • the control unit 52 has a function of the self-position estimation model learned by the self-position estimation model learning device 10. That is, the control unit 52 estimates the position of the robot RB based on the time-series synchronized local image and bird's-eye view image acquired by the acquisition unit 50.
  • the robot information acquisition unit 44 acquires the speed of the robot RB as robot information.
  • the speed of the robot RB is acquired using, for example, a speed sensor.
  • the robot information acquisition unit 44 outputs the acquired speed of the robot RB to the acquisition unit 50.
  • the acquisition unit 50 acquires the state of the human HB based on the local image taken by the camera 42. Specifically, the captured image is analyzed using a known method, and the position and speed of the human HB existing around the robot RB are calculated.
  • Control unit 52 has a function of learned robot control model for controlling to autonomous robot RB to the destination p g.
  • the robot control model inputs actions according to the state of the robot RB, for example, by inputting robot information regarding the state of the robot RB, environmental information regarding the environment around the robot RB, and destination information regarding the destination to be reached by the robot RB. It is a model that is selected and output. For example, a model that has been trained by reinforcement learning is used.
  • the robot information includes information on the position and speed of the robot RB.
  • the environmental information includes information on the dynamic environment, specifically, information on the position and speed of the human HB existing around the robot RB, for example.
  • the control unit 52 selects an action according to the state of the robot RB by inputting the destination information, the position and speed of the robot RB, and the state information of the human HBB, and the notification unit 46 and autonomous traveling based on the selected action. Controls at least one of the units 48.
  • the notification unit 46 has a function of notifying the presence of the robot RB to surrounding human HBs by outputting a voice or a warning sound.
  • the autonomous traveling unit 48 has a function of autonomously traveling a robot RB such as a tire and a motor for driving the tire.
  • control unit 52 controls the autonomous traveling unit 48 so that the robot RB moves in the specified direction and speed. To do.
  • control unit 52 controls the notification unit 46 to output a message such as "please leave the road” by voice or to sound a warning sound.
  • the self-position estimation device 40 has a CPU (Central Processing Unit) 61, a ROM (Read Only Memory) 62, a RAM (Random Access Memory) 63, a storage 64, and a communication interface 65. Each configuration is communicably connected to each other via a bus 66.
  • CPU Central Processing Unit
  • ROM Read Only Memory
  • RAM Random Access Memory
  • the self-position estimation program is stored in the storage 64.
  • the CPU 61 is a central arithmetic processing unit that executes various programs and controls each configuration. That is, the CPU 61 reads the program from the storage 64 and executes the program using the RAM 63 as a work area. The CPU 61 controls each of the above configurations and performs various arithmetic processes according to the program recorded in the storage 64.
  • the ROM 62 stores various programs and various data.
  • the RAM 63 temporarily stores a program or data as a work area.
  • the storage 64 is composed of an HDD (Hard Disk Drive) or an SSD (Solid State Drive), and stores various programs including an operating system and various data.
  • the communication interface 65 is an interface for communicating with other devices, and for example, a standard such as Ethernet (registered trademark), FDDI or Wi-Fi (registered trademark) is used.
  • FIG. 10 is a flowchart showing the flow of the self-position estimation process by the self-position estimation device 40.
  • the self-position estimation process is performed by the CPU 51 reading the self-position estimation program from the storage 64, expanding the self-position estimation program into the RAM 63, and executing the program.
  • step S200 CPU 61 has, as the acquisition unit 50 acquires the radio communication from an external device (not shown) the position information of the destination p g.
  • the robot RB position pt-1 estimated by executing this routine last time is transmitted to the external device, and a bird's-eye view image including the periphery of the robot RB position pt-1 estimated last time is acquired from the external device. ..
  • step S206 the CPU 61, as the control unit 52, calculates the first locus information t1 based on the local image I1.
  • step S208 the CPU 61, as the control unit 52, calculates the second locus information t2 based on the bird's-eye view image I2.
  • step S210 the CPU 61, as the control unit 52, calculates the first feature vector ⁇ 1 (t 1) based on the first locus information t 1.
  • step S212 CPU 61 has, as the control unit 52, of the second trajectory information t 2, based on the second trajectory information t 21 ⁇ t 2M partial regions W 1 ⁇ W M, the second feature vector ⁇ 2 (t 21 ) to ⁇ 2 (t 2M ) are calculated.
  • step S214 the CPU 61 acts as the control unit 52 and has a degree of similarity between the first feature vector ⁇ 1 (t 1 ) and each of the second feature vectors ⁇ 2 (t 21 ) to ⁇ 2 (t 2M).
  • the distances g ( ⁇ 1 (t 1 ), ⁇ 2 (t 21 )) to g ( ⁇ 1 (t 1 ), ⁇ 2 (t 2 M )) representing the above are calculated. That is, the distance is calculated for each partial region W.
  • step S216 the CPU 61 acts as the control unit 52 to perform the distances g ( ⁇ 1 (t 1 ), ⁇ 2 (t 21 )) to g ( ⁇ 1 (t 1 ), ⁇ 2 (t 2M) calculated in step S214. ) of), estimating the representative position of the partial region W of the second feature vector phi 2 corresponding to the smallest distance (t 2), for example, the center position as a self-position p t.
  • step S2108 the CPU 61 acquires the speed of the robot from the robot information acquisition unit 44 as the state of the robot RB as the acquisition unit 50. Further, the local image acquired in step S202 is analyzed by using a known method, and state information regarding the state of the human HB existing around the robot RB, that is, the position and speed of the human HB is calculated.
  • step S220 the CPU 61 acts as the control unit 52 for the destination information acquired in step S200, the position of the robot RB estimated in step S216, the speed of the robot RB acquired in step S218, and the human HB acquired in step S218. Based on the state information, an action corresponding to the state of the robot RB is selected, and at least one of the notification unit 46 and the autonomous traveling unit 48 is controlled based on the selected action.
  • step S222 CPU 61 makes a decision as a control unit 52, whether the robot RB has reached the destination p g. That is, the position p t of the robot RB is, determines whether to match the destination p g. Then, when the robot RB is determined to have reached the destination p g, the routine ends. On the other hand, when the robot RB is determined not to have reached the destination p g, the process proceeds to step S202, the robot RB repeats the processing at steps S202 ⁇ S222 until it is determined to have reached the destination p g.
  • the processing of steps S202 and S204 is an example of the acquisition process. Further, the processes of steps S206 to S216 are an example of the estimation process.
  • the robot RB autonomously travels to the destination while estimating the self-position based on the self-position estimation model learned by the self-position estimation model learning device 10.
  • the function of the self-position estimation device 40 may be provided in the external server.
  • the robot RB transmits the local image taken by the camera 42 to the external server.
  • the external server estimates the position of the robot RB based on the local image transmitted from the robot RB and the bird's-eye view image acquired from the device that provides the bird's-eye view image, and transmits the position to the robot RB. Then, the robot RB selects an action based on the self-position received from the external server and autonomously travels to the destination.
  • the self-position estimation target is the autonomous traveling type robot RB
  • the present invention is not limited to this, and the self-position estimation target may be a mobile terminal device carried by a human.
  • the mobile terminal device is provided with the function of the self-position estimation device 40.
  • processors other than the CPU may execute the robot control process in which the CPU reads the software (program) and executes the software (program) in each of the above embodiments.
  • the processors include PLD (Programmable Logic Device) whose circuit configuration can be changed after manufacturing FPGA (Field-Programmable Gate Array), and ASIC (Application Specific Integrated Circuit) for executing ASIC (Application Special Integrated Circuit).
  • PLD Programmable Logic Device
  • FPGA Field-Programmable Gate Array
  • ASIC Application Specific Integrated Circuit
  • An example is a dedicated electric circuit or the like, which is a processor having a circuit configuration designed exclusively for the purpose.
  • the self-position estimation model learning process and the self-position estimation process may be executed by one of these various processors, or a combination of two or more processors of the same type or different types (for example, a plurality of FPGAs). , And a combination of CPU and FPGA, etc.).
  • the hardware structure of these various processors is, more specifically, an electric circuit in which circuit elements such as semiconductor elements are combined.
  • the mode in which the self-position estimation model learning program is stored in the storage 14 in advance and the self-position estimation program is stored in the storage 64 in advance has been described, but the present invention is not limited to this.
  • the program is provided in a form recorded on a recording medium such as a CD-ROM (Compact Disc Read Only Memory), a DVD-ROM (Digital Versail Disc Read Only Memory), and a USB (Universal Serial Bus) memory. Further, the program may be downloaded from an external device via a network.
  • Self-position estimation model learning system 10 Self-position estimation model learning device 20 Simulator 30 Acquisition unit 32 Learning unit 33 Trajectory information calculation unit 34 Feature vector calculation unit 35 Distance calculation unit 36 Self-position estimation unit 40 Self-position estimation device 42 Camera 44 Robot Information acquisition unit 46 Notification unit 48 Autonomous traveling unit 50 Acquisition unit 52 Control unit HB Human RB Robot

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Automation & Control Theory (AREA)
  • Theoretical Computer Science (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Evolutionary Computation (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Multimedia (AREA)
  • Electromagnetism (AREA)
  • Biophysics (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Game Theory and Decision Science (AREA)
  • Business, Economics & Management (AREA)
  • Medical Informatics (AREA)
  • Image Analysis (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Abstract

自己位置推定モデル学習装置(10)は、動的な環境において自己位置推定対象からの視点で撮影された局所画像と、自己位置推定対象を俯瞰した位置から撮影された俯瞰画像であって、前記局所画像と同期した俯瞰画像と、を時系列で取得する取得部(30)と、時系列で取得された局所画像及び俯瞰画像を入力として、自己位置推定対象の位置を出力する自己位置推定モデルを学習する学習部(32)と、を含む。

Description

自己位置推定モデル学習方法、自己位置推定モデル学習装置、自己位置推定モデル学習プログラム、自己位置推定方法、自己位置推定装置、自己位置推定プログラム、及びロボット
 開示の技術は、自己位置推定モデル学習方法、自己位置推定モデル学習装置、自己位置推定モデル学習プログラム、自己位置推定方法、自己位置推定装置、自己位置推定プログラム、及びロボットに関する。
 従来の特徴点ベースの自己位置推定(Simultaneously Localization and Mapping:SLAM)アルゴリズム(例えば非特許文献1「ORB-SLAM2: an Open-Source {SLAM} System for Monocular, Stereo and {RGB-D} Cameras https://128.84.21.199/pdf/1610.06475.pdf」参照)では、3次元空間における静的な特徴点を複数の視点で観測することにより、回転や並進のような移動情報を算出する。
 しかし、群衆シーンなど動物体及び遮蔽が多く含まれる環境下では幾何制約が破綻し、安定した位置復元ができず、マップ上での自己位置を頻繁に見失ってしまう(例えば非特許文献2「Getting Robots Unfrozen and Unlost in Dense Pedestrian Crowds https://arxiv.org/pdf/1810.00352.pdf」参照)。
 この他に動物体を扱う方法として、動物体の動きを陽にモデル化する方法や、動物体に相当する箇所の影響を低減するような誤差関数を用いるロバスト推定手法があるが、何れも群衆のような複雑かつ密な動的環境では適用することができない。
 また、非特許文献1記載の技術に代表される特徴点ベースのSLAMでは、シーンの特徴点からVisual Vocabraryを作成し、それをデータベースに保存することで同一なシーンを認識することができる。
 また、非特許文献3([N.N+,ECCV’16] Localizing and Orienting Street Views Using Overhead Imagery https://lugiavn.github.io/gatech/crossview_eccv2016/nam_eccv2016.pdf)、非特許文献4([S.Workman+,ICCV’15] Wide-Area Image Geolocalization with Aerial Reference Imagery https://www.cv-foundation.org/openaccess/content_iccv_2015/papers/Workman_Wide-Area_Image_Geolocalization_ICCV_2015_paper.pdf)には、俯瞰画像と局所画像からそれぞれ特徴抽出を行い、局所画像がそれぞれ俯瞰画像のどのブロックに対応するかを検索可能にする技術が開示されている。
 しかしながら、上記非特許文献3、4記載の技術では、何れも静的なシーン間での画像類似度のみをマッチングの手がかりとするため、マッチング精度は低く、候補領域が大量に出てきてしまう。
 開示の技術は、上記の点に鑑みてなされたものであり、自己位置推定対象の自己位置を推定するのが従来困難であった動的な環境においても、自己位置推定対象の自己位置を推定することができる自己位置推定モデル学習方法、自己位置推定モデル学習装置、自己位置推定モデル学習プログラム、自己位置推定方法、自己位置推定装置、自己位置推定プログラム、及びロボットを提供することを目的とする。
 開示の第1態様は、自己位置推定モデル学習方法であって、コンピュータが、動的な環境において自己位置推定対象からの視点で撮影された局所画像と、前記自己位置推定対象を俯瞰した位置から撮影された俯瞰画像であって、前記局所画像と同期した俯瞰画像と、を時系列で取得する取得工程と、時系列で取得された前記局所画像及び前記俯瞰画像を入力として、前記自己位置推定対象の位置を出力する自己位置推定モデルを学習する学習工程と、を含む処理を実行する。
 上記第1態様において、前記学習工程は、前記局所画像に基づいて第1の軌跡情報を算出すると共に、前記俯瞰画像に基づいて第2の軌跡情報を算出する軌跡情報算出工程と、前記第1の軌跡情報に基づいて第1の特徴量を算出すると共に、前記第2の軌跡情報に基づいて第2の特徴量を算出する特徴量算出工程と、前記第1の特徴量と前記第2の特徴量との距離を算出する距離算出工程と、前記距離に基づいて前記自己位置推定対象の位置を推定する推定工程と、前記第1の特徴量と前記第2の特徴量との類似度が高いほど距離が小さくなるように前記自己位置推定モデルのパラメータを更新する更新工程と、を含むようにしてもよい。
 上記第1態様において、前記特徴量算出工程は、前回推定された前記自己位置推定対象の位置の近傍の領域から選択された複数の部分領域における前記第2の軌跡情報に基づいて前記第2の特徴量を算出し、前記距離算出工程は、前記複数の部分領域毎に前記距離を算出し、前記推定工程は、前記複数の部分領域毎に算出した前記距離のうち、最も距離が小さい部分領域の予め定めた位置を前記自己位置推定対象の位置として推定してもよい。
 開示の第2態様は、自己位置推定モデル学習装置であって、動的な環境において自己位置推定対象からの視点で撮影された局所画像と、前記自己位置推定対象を俯瞰した位置から撮影された俯瞰画像であって、前記局所画像と同期した俯瞰画像と、を時系列で取得する取得部と、時系列で取得された前記局所画像及び前記俯瞰画像を入力として、前記自己位置推定対象の位置を出力する自己位置推定モデルを学習する学習部と、を含む。
 開示の第3態様は、自己位置推定モデル学習プログラムであって、コンピュータに、動的な環境において自己位置推定対象からの視点で撮影された局所画像と、前記自己位置推定対象を俯瞰した位置から撮影された俯瞰画像であって、前記局所画像と同期した俯瞰画像と、を時系列で取得する取得工程と、時系列で取得された前記局所画像及び前記俯瞰画像を入力として、前記自己位置推定対象の位置を出力する自己位置推定モデルを学習する学習工程と、を含む処理を実行させるためのプログラムである。
 開示の第4態様は、自己位置推定方法であって、コンピュータが、動的な環境において自己位置推定対象からの視点で撮影された局所画像と、前記自己位置推定対象を俯瞰した位置から撮影された俯瞰画像であって、前記局所画像と同期した俯瞰画像と、を時系列で取得する取得工程と、時系列で取得された前記局所画像及び前記俯瞰画像と、上記第1態様に記載の自己位置推定モデル学習方法により学習された自己位置推定モデルと、に基づいて、前記自己位置推定対象の自己位置を推定する推定工程と、を含む処理を実行する。
 開示の第5態様は、自己位置推定装置であって、動的な環境において自己位置推定対象からの視点で撮影された局所画像と、前記自己位置推定対象を俯瞰した位置から撮影された俯瞰画像であって、前記局所画像と同期した俯瞰画像と、を時系列で取得する取得部と、時系列で取得された前記局所画像及び前記俯瞰画像と、上記第2態様に記載の自己位置推定モデル学習装置により学習された自己位置推定モデルと、に基づいて、前記自己位置推定対象の自己位置を推定する推定部と、を含む。
 開示の第6態様は、自己位置推定プログラムであって、コンピュータに、動的な環境において自己位置推定対象からの視点で撮影された局所画像と、前記自己位置推定対象を俯瞰した位置から撮影された俯瞰画像であって、前記局所画像と同期した俯瞰画像と、を時系列で取得する取得工程と、時系列で取得された前記局所画像及び前記俯瞰画像と、上記第1態様に記載の自己位置推定モデル学習方法により学習された自己位置推定モデルと、に基づいて、前記自己位置推定対象の自己位置を推定する推定工程と、を含む処理を実行させるためのプログラムである。
 開示の第7態様は、ロボットであって、動的な環境においてロボットからの視点で撮影された局所画像と、前記ロボットを俯瞰した位置から撮影された俯瞰画像であって、前記局所画像と同期した俯瞰画像と、を時系列で取得する取得部と、時系列で取得された前記局所画像及び前記俯瞰画像と、上記第2態様に記載の自己位置推定モデル学習装置により学習された自己位置推定モデルと、に基づいて、前記ロボットの自己位置を推定する推定部と、前記ロボットを自律走行させる自律走行部と、前記推定部により推定された位置に基づいて、前記ロボットが目的地に移動するように前記自律走行部を制御する制御部と、を含む。
 開示の技術によれば、自己位置推定対象の自己位置を推定するのが従来困難であった動的な環境においても、自己位置推定対象の自己位置を推定することができる。
自己位置推定モデル学習システムの概略構成を示す図である。 自己位置推定モデル学習装置のハードウェア構成を示すブロック図である。 自己位置推定モデル学習装置の機能構成を示すブロック図である。 ロボットが群衆の中を目的地まで移動する様子を示す図である。 自己位置推定モデル学習装置の学習部の機能構成を示すブロック図である。 部分領域について説明するための図である。 自己位置推定モデル学習装置による自己位置推定モデル学習処理の流れを示すフローチャートである。 自己位置推定装置の機能構成を示すブロック図である。 自己位置推定装置のハードウェア構成を示すブロック図である。 自己位置推定装置によるロボット制御処理の流れを示すフローチャートである。
 以下、開示の技術の実施形態の一例を、図面を参照しつつ説明する。なお、各図面において同一又は等価な構成要素及び部分には同一の参照符号を付与している。また、図面の寸法比率は、説明の都合上誇張されている場合があり、実際の比率とは異なる場合がある。
 図1は、自己位置推定モデル学習システム1の概略構成を示す図である。
 図1に示すように、自己位置推定モデル学習システム1は、自己位置推定モデル学習装置10及びシミュレータ20を備える。シミュレータ20については後述する。
 次に、自己位置推定モデル学習装置10について説明する。
 図2は、自己位置推定モデル学習装置10のハードウェア構成を示すブロック図である。
 図2に示すように、自己位置推定モデル学習装置10は、CPU(Central Processing Unit)11、ROM(Read Only Memory)12、RAM(Random Access Memory)13、ストレージ14、入力部15、モニタ16、光ディスク駆動装置17及び通信インタフェース18を有する。各構成は、バス19を介して相互に通信可能に接続されている。
 本実施形態では、ストレージ14には、自己位置推定モデル学習プログラムが格納されている。CPU11は、中央演算処理ユニットであり、各種プログラムを実行したり、各構成を制御したりする。すなわち、CPU11は、ストレージ14からプログラムを読み出し、RAM13を作業領域としてプログラムを実行する。CPU11は、ストレージ14に記録されているプログラムに従って、上記各構成の制御及び各種の演算処理を行う。
 ROM12は、各種プログラム及び各種データを格納する。RAM13は、作業領域として一時的にプログラム又はデータを記憶する。ストレージ14は、HDD(Hard Disk Drive)又はSSD(Solid State Drive)により構成され、オペレーティングシステムを含む各種プログラム、及び各種データを格納する。
 入力部15は、キーボード151、及びマウス152等のポインティングデバイスを含み、各種の入力を行うために使用される。モニタ16は、例えば、液晶ディスプレイであり、各種の情報を表示する。モニタ16は、タッチパネル方式を採用して、入力部15として機能してもよい。光ディスク駆動装置17は、各種の記録媒体(CD-ROM又はブルーレイディスクなど)に記憶されたデータの読み込みや、記録媒体に対するデータの書き込み等を行う。
 通信インタフェース18は、シミュレータ20等の他の機器と通信するためのインタフェースであり、例えば、イーサネット(登録商標)、FDDI又はWi-Fi(登録商標)等の規格が用いられる。
 次に、自己位置推定モデル学習装置10の機能構成について説明する。
 図3は、自己位置推定モデル学習装置10の機能構成の例を示すブロック図である。
 図3に示すように、自己位置推定モデル学習装置10は、機能構成として、取得部30及び学習部32を有する。各機能構成は、CPU11がストレージ14に記憶された自己位置推定プログラムを読み出し、RAM13に展開して実行することにより実現される。
 取得部30は、シミュレータ20から目的地情報、局所画像、及び俯瞰画像を取得する。シミュレータ20は、例えば図4に示すように、自律走行型のロボットRBが、目的地情報で表される目的地pまで移動する場合における局所画像と、局所画像と同期した俯瞰画像と、を時系列で出力する。
 なお、本実施形態では、図4に示すように、ロボットRBは、周囲に存在する人間HB等のように、移動する物体を含む動的な環境を目的地pまで移動する。本実施形態では、移動する物体が人間HBである場合、すなわち動的な環境が群衆である場合について説明するが、これに限られるものではない。例えば、動的な環境の他の例としては、自動車、自律走行型ロボット、ドローン、航空機、及び艦船等が存在する環境等が挙げられる。
 ここで、局所画像とは、図4に示すような動的な環境において、自己位置推定対象としてのロボットRBからの視点で撮影された画像である。なお、以下では、局所画像が光学カメラで撮像された画像である場合について説明するが、これに限られるものではない。すなわち、ロボットRBの視界の範囲内に存在する物体がどのように動いたのかを表す動作情報を取得できればよく、例えばイベントカメラ(Event Based Camera)で取得された動作情報を用いてもよいし、オプティカルフロー(Optical flow)等の公知の手法により局所画像を画像処理した後の動作情報を用いても良い。
 また、俯瞰画像とは、ロボットRBを俯瞰した位置から撮影された画像である。具体的には、俯瞰画像は、例えばロボットRBを含む範囲をロボットRBの上方から撮影した画 像であり、局所画像で表される範囲よりも広い範囲を撮影した画像である。なお、俯瞰画像は、RAW(Raw image format)画像を用いても良いし、画像処理後の映像等の動画を用いてもよい。
 学習部32は、取得部30により時系列で取得された局所画像及び俯瞰画像を入力として、ロボットRBの位置を出力する自己位置推定モデルを学習する。
 次に、学習部32について詳細に説明する。
 図5に示すように、学習部32は、第1の軌跡情報算出部33-1、第2の軌跡情報算出部33-2、第1の特徴ベクトル算出部34-1、第2の特徴ベクトル算出部34-2、距離算出部35、及び自己位置推定部36を含む。
 第1の軌跡情報算出部33-1は、取得部30から入力された、時間的に連続するN個(Nは複数)の局所画像I1(={I1、I1、・・・、I1})に基づいて、人間HBの第1の軌跡情報tを算出する。第1の軌跡情報tの算出には、例えば前述したオプティカルフローやMOT(Multi Object Tracking)等の公知の手法を用いることができるが、これに限られるものではない。
 第2の軌跡情報算出部33-2は、取得部30から入力された、時間的に連続し、且つ、局所画像I1と同期したN個の俯瞰画像I2(={I2、I2、・・・、I2})に基づいて、人間HBの第2の軌跡情報tを算出する。第2の軌跡情報tの算出には、第1の軌跡情報の算出と同様に、オプティカルフロー等の公知の手法を用いることができるが、これに限られるものではない。
 第1の特徴ベクトル算出部34-1は、第1の軌跡情報tのK次元の第1の特徴ベクトルφ(t)を算出する。具体的には、第1の特徴ベクトル算出部34-1は、例えば第1の畳み込みニューラルネットワーク(CNN:Convolutional neural network)に第1の軌跡情報tを入力することにより、K次元の第1の特徴ベクトルφ(t)を算出する。なお、第1の特徴ベクトルφ(t)は、第1の特徴量の一例であり、特徴ベクトルに限らず、他の特徴量を算出してもよい。
 第2の特徴ベクトル算出部34-2は、第2の軌跡情報tのK次元の第2の特徴ベクトルφ(t)を算出する。具体的には、第2の特徴ベクトル算出部34-2は、第1の特徴ベクトル算出部34-1と同様に、例えば第1の特徴ベクトル算出部34-1で用いる第1の畳み込みニューラルネットワークとは別の第2の畳み込みニューラルネットワークに第2の軌跡情報tを入力することにより、K次元の第2の特徴ベクトルφ(t)を算出する。なお、第2の特徴ベクトルφ(t)は、第2の特徴量の一例であり、特徴ベクトルに限らず、他の特徴量を算出してもよい。
 ここで、第2の畳み込みニューラルネットワークに入力する第2の軌跡情報tは、図6に示すように、俯瞰画像I2全体の軌跡情報ではなく、前回検出されたロボットRBの位置pt-1の近傍のローカル領域Lの中からランダムに選択したM個(Mは複数)の部分領域W~Wにおける第2の軌跡情報t21~t2Mとする。これにより、部分領域W~Wの各々について第2の特徴ベクトルφ(t21)~φ(t2M)が算出される。以下では、第2の軌跡情報t21~t2Mを区別しない場合は、単に第2の軌跡情報tと称する場合がある。同様に、第2の特徴ベクトルφ(t21)~φ(t2M)を区別しない場合は、単に第2の特徴ベクトルφ(t)と称する場合がある。
 なお、ローカル領域Lは、ロボットRBが前回検出されたロボットRBの位置pt-1から移動可能な範囲を含むように設定される。また、部分領域W~Wの位置は、ローカル領域Lの中からランダムに選択される。また、部分領域W~Wの数及び部分領域W~Wのサイズは、処理速度及び自己位置の推定精度に影響を及ぼす。従って、部分領域W~Wの数及び部分領域W~Wのサイズは、所望の処理速度及び自己位置の推定精度に応じて任意の値に設定される。以下では、部分領域W~Wを特に区別しない場合は、単に部分領域Wと称する場合がある。なお、本実施形態では、部分領域W~Wがローカル領域Lの中からランダムに選択される場合について説明するが、これに限られない。例えばローカル領域Lを均等分割して部分領域W~Wを設定してもよい。
 距離算出部35は、第1の特徴ベクトルφ(t)と、部分領域W~Wの第2の特徴ベクトルφ(t21)~φ(t2M)の各々との類似度を表す距離g(φ(t)、φ(t21))~g(φ(t)、φ(t2M))を、例えばニューラルネットワークを用いて算出する。そして、このニューラルネットワークは、第1の特徴ベクトルφ(t)と第2の特徴ベクトルφ(t)との類似度が高いほど、距離g(φ(t)、φ(t))が小さくなるように学習される。
 なお、第1の特徴ベクトル算出部34-1、第2の特徴ベクトル算出部34-2、及び距離算出部35は、例えばContrastive lossを用いたSiamese Networkや、triplet loss等の公知の学習モデルを用いることができる。この場合、第1の特徴ベクトルφ(t)と第2の特徴ベクトルφ(t)との類似度が高いほど、距離g(φ(t)、φ(t))が小さくなるように、第1の特徴ベクトル算出部34-1、第2の特徴ベクトル算出部34-2、及び距離算出部35で用いられるニューラルネットワークのパラメータが学習される。また、距離の算出方法としては、ニューラルネットワークを用いる場合に限らず、距離学習(Metric Learning)手法の一例であるマハラノビス距離学習を用いても良い。
 自己位置推定部36は、距離算出部35により算出された距離g(φ(t)、φ(t21))~g(φ(t)、φ(t2M))のうち、最も小さい距離に対応する第2の特徴ベクトルφ(t)の部分領域Wの予め定めた位置、例えば中心位置を自己位置pとして推定する。
 このように、自己位置推定モデル学習装置10は、機能的には、局所画像と俯瞰画像とに基づいて、自己位置を推定して出力する自己位置推定モデルを学習する装置と言える。
 次に、自己位置推定モデル学習装置10の作用について説明する。
 図7は、自己位置推定モデル学習装置10による自己位置推定モデル学習処理の流れを示すフローチャートである。CPU11がストレージ14から自己位置推定モデル学習プログラムを読み出して、RAM13に展開し実行することにより、自己位置推定モデル学習処理が行なわれる。
 ステップS100では、CPU11が、取得部30として、目的地pの位置情報をシミュレータ20から取得する。
 ステップS102では、CPU11が、取得部30として、時系列のN個の局所画像I1(={I1、I1、・・・、I1})をシミュレータ20から取得する。
 ステップS104では、CPU11が、取得部30として、局所画像I1と同期した時系列のN個の俯瞰画像I2(={I2、I2、・・・、I2})をシミュレータ20から取得する。
 ステップS106では、CPU11が、第1の軌跡情報算出部33-1として、局所画像I1に基づいて、第1の軌跡情報tを算出する。
 ステップS108では、CPU11が、第2の軌跡情報算出部33-2として、俯瞰画像I2に基づいて、第2の軌跡情報tを算出する。
 ステップS110では、CPU11が、第1の特徴ベクトル算出部34-1として、第1の軌跡情報tに基づいて、第1の特徴ベクトルφ(t)を算出する。
 ステップS112では、CPU11が、第2の特徴ベクトル算出部34-2として、第2の軌跡情報tのうち、部分領域W~Wの第2の軌跡情報t21~t2Mに基づいて、第2の特徴ベクトルφ(t21)~φ(t2M)を算出する。
 ステップS114では、CPU11が、距離算出部35として、第1の特徴ベクトルφ(t)と、第2の特徴ベクトルφ(t21)~φ(t2M)の各々と、の類似度を表す距離g(φ(t)、φ(t21))~g(φ(t)、φ(t2M))を算出する。すなわち、部分領域W毎に距離を算出する。
 ステップS116では、CPU11が、自己位置推定部36として、ステップS114で算出された距離g(φ(t)、φ(t21))~g(φ(t)、φ(t2M))のうち、最も小さい距離に対応する第2の特徴ベクトルφ(t)の部分領域Wの代表位置、例えば中心位置を自己位置pとして推定し、シミュレータ20に出力する。
 ステップS118では、CPU11が、学習部32として、自己位置推定モデルのパラメータを更新する。すなわち、自己位置推定モデルに含まれる学習モデルとしてSiamese Networkを用いた場合であれば、Siamese Networkのパラメータを更新する。
 ステップS120では、CPU11が、自己位置推定部36として、ロボットRBが目的地pに到達したか否かを判定する。すなわち、ステップS116で推定したロボットRBの位置pが、目的地pと一致するか否かを判定する。そして、ロボットRBが目的地pに到達したと判定した場合は、ステップS122へ移行する。一方、ロボットRBが目的地pに到達していないと判定した場合は、ステップS102へ移行し、ロボットRBが目的地pに到達したと判定されるまでステップS102~S120の処理を繰り返す。すなわち、学習モデルを学習する。なお、ステップS102、S104の処理は取得工程の一例である。また、ステップS108~S118の処理は、学習工程の一例である。
 ステップS122では、CPU11が、自己位置推定部36として、学習を終了する終了条件を満たすか否かを判定する。終了条件は、本実施形態では、例えばロボットRBがスタート地点から目的地pに到着するまでを1エピソードとして、予め定めた数(例えば100)のエピソードが終了した場合である。CPU11は、終了条件を満たすと判定した場合は本ルーチンを終了する。一方、終了条件を満たさない場合はステップS100へ移行し、目的地pを変えて、ステップS100~S122までの処理を、終了条件を満たすまで繰り返す。
 このように、本実施形態では、動的な環境においてロボットRBからの視点で撮影された局所画像と、ロボットRBを俯瞰した位置から撮影された俯瞰画像であって、局所画像と同期した俯瞰画像と、を時系列で取得し、時系列で取得された局所画像及び俯瞰画像を入力として、ロボットRBの位置を出力する自己位置推定モデルを学習する。これにより、ロボットRBの自己位置を推定するのが従来困難であった動的な環境においても、ロボットRBの位置を推定することができる。
 なお、前述したステップS116において算出した最も小さい距離が大きすぎる場合、すなわち自己位置の推定が不可能となる場合もあり得る。そこで、ステップS116において、算出した最も小さい距離が予め定めた閾値以上の場合は自己位置の推定が不可能であると判断し、前回検出されたロボットRBの位置pt-1の近傍のローカル領域Lの中から部分領域W~Wを選択し直して、再度ステップS112~S116の処理を実行するようにしてもよい。
 また、自己位置の推定が不可能となる場合の他の例として、軌跡情報を算出できない場合がある。例えば、ロボットRBの周囲に人間HBが全く存在せず、完全に静的な環境となっている場合等である。このような場合においても、再度ステップS112~S116の処理を実行することにより自己位置推定をやり直しても良い。
 次に、自己位置推定モデル学習装置10により学習された自己位置推定モデルにより自己位置を推定するロボットRBについて説明する。
 図8には、ロボットRBの概略構成を示した。図8に示すように、ロボットRBは、自己位置推定装置40、カメラ42、ロボット情報取得部44、報知部46、及び自律走行部48を備える。自己位置推定装置40は、取得部50及び制御部52を備える。
 カメラ42は、スタート地点から目的地pに移動するまでの間、ロボットRBの周囲を予め定めた間隔で撮影し、撮影した局所画像を自己位置推定装置40の取得部50に出力する。
 取得部50は、ロボットRBを俯瞰した位置から撮影された俯瞰画像を図示しない外部装置に無線通信により要求して取得する。
 制御部52は、自己位置推定モデル学習装置10で学習された自己位置推定モデルの機能を有する。すなわち、制御部52は、取得部50により取得された時系列の同期した局所画像及び俯瞰画像に基づいて、ロボットRBの位置を推定する。
 ロボット情報取得部44は、ロボットRBの速度をロボット情報として取得する。ロボットRBの速度は、例えば速度センサを用いて取得する。ロボット情報取得部44は、取得したロボットRBの速度を取得部50に出力する。
 取得部50は、カメラ42が撮影した局所画像に基づいて人間HBの状態を取得する。具体的には、公知の手法を用いて撮影画像を解析し、ロボットRBの周囲に存在する人間HBの位置及び速度を算出する。
 制御部52は、ロボットRBを目的地pまで自律走行するように制御するための学習済みのロボット制御モデルの機能を有する。
 ロボット制御モデルは、例えばロボットRBの状態に関するロボット情報、ロボットRBの周囲の環境に関する環境情報、及びロボットRBが到達すべき目的地に関する目的地情報を入力として、ロボットRBの状態に応じた行動を選択して出力するモデルであり、例えば強化学習によって学習済みのモデルが用いられる。ここで、ロボット情報は、ロボットRBの位置及び速度の情報を含む。また、環境情報は、動的な環境に関する情報、具体的には、例えばロボットRBの周囲に存在する人間HBの位置及び速度の情報を含む。
 制御部52は、目的地情報、ロボットRBの位置及び速度、及び人間HBの状態情報を入力として、ロボットRBの状態に応じた行動を選択し、選択した行動に基づいて報知部46及び自律走行部48の少なくとも一方を制御する。
 報知部46は、音声を出力したり、警告音を出力したりすることにより、ロボットRBの存在を周囲の人間HBに報知する機能を有する。
 自律走行部48は、タイヤ及びタイヤを駆動するモータ等のロボットRBを自律走行させる機能を有する。
 制御部52は、選択された行動が、指定された方向及び速度でロボットRBを移動させる行動であった場合は、指定された方向及び速度でロボットRBが移動するように自律走行部48を制御する。
 また、制御部52は、選択された行動が介入行動であった場合には、「道を空けてください」等のメッセージを音声出力したり、警告音を鳴らすよう報知部46を制御する。
 次に、自己位置推定装置40のハードウェア構成について説明する。
 図9に示すように、自己位置推定装置40は、CPU(Central Processing Unit)61、ROM(Read Only Memory)62、RAM(Random Access Memory)63、ストレージ64、及び通信インタフェース65を有する。各構成は、バス66を介して相互に通信可能に接続されている。
 本実施形態では、ストレージ64には、自己位置推定プログラムが格納されている。CPU61は、中央演算処理ユニットであり、各種プログラムを実行したり、各構成を制御したりする。すなわち、CPU61は、ストレージ64からプログラムを読み出し、RAM63を作業領域としてプログラムを実行する。CPU61は、ストレージ64に記録されているプログラムに従って、上記各構成の制御及び各種の演算処理を行う。
 ROM62は、各種プログラム及び各種データを格納する。RAM63は、作業領域として一時的にプログラム又はデータを記憶する。ストレージ64は、HDD(Hard Disk Drive)又はSSD(Solid State Drive)により構成され、オペレーティングシステムを含む各種プログラム、及び各種データを格納する。
 通信インタフェース65は、他の機器と通信するためのインタフェースであり、例えば、イーサネット(登録商標)、FDDI又はWi-Fi(登録商標)等の規格が用いられる。
 次に、自己位置推定装置40の作用について説明する。
 図10は、自己位置推定装置40による自己位置推定処理の流れを示すフローチャートである。CPU51がストレージ64から自己位置推定プログラムを読み出して、RAM63に展開し実行することにより、自己位置推定処理が行なわれる。
 ステップS200では、CPU61が、取得部50として、目的地pの位置情報を図示しない外部装置から無線通信により取得する。
 ステップS202では、CPU61が、取得部50として、時系列のN個の局所画像I1(={I1、I1、・・・、I1})をカメラ42から取得する。
 ステップS204では、CPU61が、取得部50として、局所画像I1と同期した時系列のN個の俯瞰画像I2(={I2、I2、・・・、I2})を図示しない外部装置に要求して取得する。このとき、本ルーチンを前回実行して推定したロボットRBの位置pt-1を外部装置に送信し、前回推定したロボットRBの位置pt-1の周辺を含む俯瞰画像を外部装置から取得する。
 ステップS206では、CPU61が、制御部52として、局所画像I1に基づいて、第1の軌跡情報tを算出する。
 ステップS208では、CPU61が、制御部52として、俯瞰画像I2に基づいて、第2の軌跡情報tを算出する。
 ステップS210では、CPU61が、制御部52として、第1の軌跡情報tに基づいて、第1の特徴ベクトルφ(t)を算出する。
 ステップS212では、CPU61が、制御部52として、第2の軌跡情報tのうち、部分領域W~Wの第2の軌跡情報t21~t2Mに基づいて、第2の特徴ベクトルφ(t21)~φ(t2M)を算出する。
 ステップS214では、CPU61が、制御部52として、第1の特徴ベクトルφ(t)と、第2の特徴ベクトルφ(t21)~φ(t2M)の各々と、の類似度を表す距離g(φ(t)、φ(t21))~g(φ(t)、φ(t2M))を算出する。すなわち、部分領域W毎に距離を算出する。
 ステップS216では、CPU61が、制御部52として、ステップS214で算出された距離g(φ(t)、φ(t21))~g(φ(t)、φ(t2M))のうち、最も小さい距離に対応する第2の特徴ベクトルφ(t)の部分領域Wの代表位置、例えば中心位置を自己位置pとして推定する。
 ステップS218では、CPU61が、取得部50として、ロボットRBの状態としてロボットの速度をロボット情報取得部44から取得する。また、ステップS202で取得した局所画像を公知の手法を用いて解析し、ロボットRBの周囲に存在する人間HBの状態に関する状態情報、すなわち人間HBの位置及び速度を算出する。
 ステップS220では、CPU61が、制御部52として、ステップS200で取得した目的地情報、ステップS216で推定したロボットRBの位置、ステップS218で取得したロボットRBの速度、及びステップS218で取得した人間HBの状態情報に基づいて、ロボットRBの状態に応じた行動を選択し、選択した行動に基づいて報知部46及び自律走行部48の少なくとも一方を制御する。
 ステップS222では、CPU61が、制御部52として、ロボットRBが目的地pに到達したか否かを判定する。すなわち、ロボットRBの位置pが、目的地pと一致するか否かを判定する。そして、ロボットRBが目的地pに到達したと判定した場合は、本ルーチンを終了する。一方、ロボットRBが目的地pに到達していないと判定した場合は、ステップS202へ移行し、ロボットRBが目的地pに到達したと判定されるまでステップS202~S222の処理を繰り返す。なお、ステップS202、S204の処理は取得工程の一例である。また、ステップS206~S216の処理は、推定工程の一例である。
 このように、ロボットRBは、自己位置推定モデル学習装置10によって学習された自己位置推定モデルに基づいて自己位置を推定しながら目的地まで自律走行する。
 なお、本実施形態では、ロボットRBが自己位置推定装置40を備えた場合について説明したが、自己位置推定装置40の機能を外部サーバに設けてもよい。この場合、ロボットRBは、カメラ42で撮影した局所画像を外部サーバに送信する。外部サーバは、ロボットRBから送信された局所画像及び俯瞰画像を提供する装置から取得した俯瞰画像に基づいてロボットRBの位置を推定し、ロボットRBに送信する。そして、ロボットRBは、外部サーバから受信した自己位置に基づいて行動を選択し、目的地まで自律走行する。
 また、本実施形態では、自己位置推定対象が自律走行型のロボットRBの場合について説明したが、これに限らず、自己位置推定対象が、人間が携帯する携帯端末装置であってもよい。この場合、携帯端末装置に自己位置推定装置40の機能を設ける。
 また、上記各実施形態でCPUがソフトウェア(プログラム)を読み込んで実行したロボット制御処理を、CPU以外の各種のプロセッサが実行してもよい。この場合のプロセッサとしては、FPGA(Field-Programmable Gate Array)等の製造後に回路構成を変更可能なPLD(Programmable Logic Device)、及びASIC(Application Specific Integrated Circuit)等の特定の処理を実行させるために専用に設計された回路構成を有するプロセッサである専用電気回路等が例示される。また、自己位置推定モデル学習処理及び自己位置推定処理を、これらの各種のプロセッサのうちの1つで実行してもよいし、同種又は異種の2つ以上のプロセッサの組み合わせ(例えば、複数のFPGA、及びCPUとFPGAとの組み合わせ等)で実行してもよい。また、これらの各種のプロセッサのハードウェア的な構造は、より具体的には、半導体素子等の回路素子を組み合わせた電気回路である。
 また、上記各実施形態では、自己位置推定モデル学習プログラムがストレージ14に予め記憶され、自己位置推定プログラムがストレージ64に予め記憶されている態様を説明したが、これに限定されない。プログラムは、CD-ROM(Compact Disc Read Only Memory)、DVD-ROM(Digital Versatile Disc Read Only Memory)、及びUSB(Universal Serial Bus)メモリ等の記録媒体に記録された形態で提供されてもよい。また、プログラムは、ネットワークを介して外部装置からダウンロードされる形態としてもよい。
 本明細書に記載された全ての文献、特許出願、及び技術規格は、個々の文献、特許出願、及び技術規格が参照により取り込まれることが具体的かつ個々に記された場合と同程度に、本明細書中に参照により取り込まれる。
1 自己位置推定モデル学習システム
10 自己位置推定モデル学習装置
20 シミュレータ
30 取得部
32 学習部
33 軌跡情報算出部
34 特徴ベクトル算出部
35 距離算出部
36 自己位置推定部
40 自己位置推定装置
42 カメラ
44 ロボット情報取得部
46 報知部
48 自律走行部
50 取得部
52 制御部
HB 人間
RB ロボット

Claims (9)

  1.  コンピュータが、
     動的な環境において自己位置推定対象からの視点で撮影された局所画像と、前記自己位置推定対象を俯瞰した位置から撮影された俯瞰画像であって、前記局所画像と同期した俯瞰画像と、を時系列で取得する取得工程と、
     時系列で取得された前記局所画像及び前記俯瞰画像を入力として、前記自己位置推定対象の位置を出力する自己位置推定モデルを学習する学習工程と、
     を含む処理を実行する自己位置推定モデル学習方法。
  2.  前記学習工程は、
     前記局所画像に基づいて第1の軌跡情報を算出すると共に、前記俯瞰画像に基づいて第2の軌跡情報を算出する軌跡情報算出工程と、
     前記第1の軌跡情報に基づいて第1の特徴量を算出すると共に、前記第2の軌跡情報に基づいて第2の特徴量を算出する特徴量算出工程と、
     前記第1の特徴量と前記第2の特徴量との距離を算出する距離算出工程と、
     前記距離に基づいて前記自己位置推定対象の位置を推定する推定工程と、
     前記第1の特徴量と前記第2の特徴量との類似度が高いほど距離が小さくなるように前記自己位置推定モデルのパラメータを更新する更新工程と、
     を含む請求項1記載の自己位置推定モデル学習方法。
  3.  前記特徴量算出工程は、前回推定された前記自己位置推定対象の位置の近傍の領域から選択された複数の部分領域における前記第2の軌跡情報に基づいて前記第2の特徴量を算出し、
     前記距離算出工程は、前記複数の部分領域毎に前記距離を算出し、
     前記推定工程は、前記複数の部分領域毎に算出した前記距離のうち、最も距離が小さい部分領域の予め定めた位置を前記自己位置推定対象の位置として推定する
     請求項2記載の自己位置推定モデル学習方法。
  4.  動的な環境において自己位置推定対象からの視点で撮影された局所画像と、前記自己位置推定対象を俯瞰した位置から撮影された俯瞰画像であって、前記局所画像と同期した俯瞰画像と、を時系列で取得する取得部と、
     時系列で取得された前記局所画像及び前記俯瞰画像を入力として、前記自己位置推定対象の位置を出力する自己位置推定モデルを学習する学習部と、
     を含む自己位置推定モデル学習装置。
  5.  コンピュータに、
     動的な環境において自己位置推定対象からの視点で撮影された局所画像と、前記自己位置推定対象を俯瞰した位置から撮影された俯瞰画像であって、前記局所画像と同期した俯瞰画像と、を時系列で取得する取得工程と、
     時系列で取得された前記局所画像及び前記俯瞰画像を入力として、前記自己位置推定対象の位置を出力する自己位置推定モデルを学習する学習工程と、
     を含む処理を実行させるための自己位置推定モデル学習プログラム。
  6.  コンピュータが、
     動的な環境において自己位置推定対象からの視点で撮影された局所画像と、前記自己位置推定対象を俯瞰した位置から撮影された俯瞰画像であって、前記局所画像と同期した俯瞰画像と、を時系列で取得する取得工程と、
     時系列で取得された前記局所画像及び前記俯瞰画像と、請求項1~3の何れか1項に記載の自己位置推定モデル学習方法により学習された自己位置推定モデルと、に基づいて、前記自己位置推定対象の自己位置を推定する推定工程と、
     を含む処理を実行する自己位置推定方法。
  7.  動的な環境において自己位置推定対象からの視点で撮影された局所画像と、前記自己位置推定対象を俯瞰した位置から撮影された俯瞰画像であって、前記局所画像と同期した俯瞰画像と、を時系列で取得する取得部と、
     時系列で取得された前記局所画像及び前記俯瞰画像と、請求項4記載の自己位置推定モデル学習装置により学習された自己位置推定モデルと、に基づいて、前記自己位置推定対象の自己位置を推定する推定部と、
     を含む自己位置推定装置。
  8.  コンピュータに、
     動的な環境において自己位置推定対象からの視点で撮影された局所画像と、前記自己位置推定対象を俯瞰した位置から撮影された俯瞰画像であって、前記局所画像と同期した俯瞰画像と、を時系列で取得する取得工程と、
     時系列で取得された前記局所画像及び前記俯瞰画像と、請求項1~3の何れか1項に記載の自己位置推定モデル学習方法により学習された自己位置推定モデルと、に基づいて、前記自己位置推定対象の自己位置を推定する推定工程と、
     を含む処理を実行させるための自己位置推定プログラム。
  9.  動的な環境においてロボットからの視点で撮影された局所画像と、前記ロボットを俯瞰した位置から撮影された俯瞰画像であって、前記局所画像と同期した俯瞰画像と、を時系列で取得する取得部と、
     時系列で取得された前記局所画像及び前記俯瞰画像と、請求項4記載の自己位置推定モデル学習装置により学習された自己位置推定モデルと、に基づいて、前記ロボットの自己位置を推定する推定部と、
     前記ロボットを自律走行させる自律走行部と、
     前記推定部により推定された位置に基づいて、前記ロボットが目的地に移動するように前記自律走行部を制御する制御部と、
     を含むロボット。
PCT/JP2020/039553 2019-11-13 2020-10-21 自己位置推定モデル学習方法、自己位置推定モデル学習装置、自己位置推定モデル学習プログラム、自己位置推定方法、自己位置推定装置、自己位置推定プログラム、及びロボット WO2021095463A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202080076842.9A CN114698388A (zh) 2019-11-13 2020-10-21 自身位置估计模型学习方法、自身位置估计模型学习装置、自身位置估计模型学习程序、自身位置估计方法、自身位置估计装置、自身位置估计程序以及机器人
EP20886244.1A EP4060445A4 (en) 2019-11-13 2020-10-21 SELF-POSITION ESTIMATION MODEL LEARNING METHOD, SELF-POSITION ESTIMATION MODEL LEARNING DEVICE, SELF-POSITION ESTIMATION MODEL LEARNING PROGRAM, ESTIMATION METHOD SELF-POSITION, SELF-POSITION ESTIMATION DEVICE, SELF-POSITION ESTIMATION PROGRAM AND ROBOT
US17/774,605 US20220397903A1 (en) 2019-11-13 2020-10-21 Self-position estimation model learning method, self-position estimation model learning device, recording medium storing self-position estimation model learning program, self-position estimation method, self-position estimation device, recording medium storing self-position estimation program, and robot

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2019205691A JP7322670B2 (ja) 2019-11-13 2019-11-13 自己位置推定モデル学習方法、自己位置推定モデル学習装置、自己位置推定モデル学習プログラム、自己位置推定方法、自己位置推定装置、自己位置推定プログラム、及びロボット
JP2019-205691 2019-11-13

Publications (1)

Publication Number Publication Date
WO2021095463A1 true WO2021095463A1 (ja) 2021-05-20

Family

ID=75898030

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/039553 WO2021095463A1 (ja) 2019-11-13 2020-10-21 自己位置推定モデル学習方法、自己位置推定モデル学習装置、自己位置推定モデル学習プログラム、自己位置推定方法、自己位置推定装置、自己位置推定プログラム、及びロボット

Country Status (5)

Country Link
US (1) US20220397903A1 (ja)
EP (1) EP4060445A4 (ja)
JP (1) JP7322670B2 (ja)
CN (1) CN114698388A (ja)
WO (1) WO2021095463A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023074279A1 (ja) * 2021-10-29 2023-05-04 オムロン株式会社 俯瞰データ生成装置、俯瞰データ生成プログラム、俯瞰データ生成方法、及びロボット
JP7438515B2 (ja) 2022-03-15 2024-02-27 オムロン株式会社 俯瞰データ生成装置、学習装置、俯瞰データ生成プログラム、俯瞰データ生成方法、及びロボット

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005329515A (ja) * 2004-05-21 2005-12-02 Hitachi Ltd サービスロボットシステム
JP2008197733A (ja) * 2007-02-08 2008-08-28 Toshiba Corp トラッキング方法及びトラッキング装置
JP2013114500A (ja) * 2011-11-29 2013-06-10 Hitachi Ltd サービス制御システム、サービスシステム
WO2018235219A1 (ja) * 2017-06-22 2018-12-27 日本電気株式会社 自己位置推定方法、自己位置推定装置および自己位置推定プログラム
JP2019505923A (ja) * 2016-01-28 2019-02-28 フォルヴェルク・ウント・ツェーオー、インターホールディング・ゲーエムベーハーVorwerk & Compagnie Interholding Gesellshaft Mit Beschrankter Haftung 自動的に移動可能な処理装置のための環境マップ生成方法
JP2019197350A (ja) * 2018-05-09 2019-11-14 株式会社日立製作所 自己位置推定システム、自律移動システム及び自己位置推定方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005329515A (ja) * 2004-05-21 2005-12-02 Hitachi Ltd サービスロボットシステム
JP2008197733A (ja) * 2007-02-08 2008-08-28 Toshiba Corp トラッキング方法及びトラッキング装置
JP2013114500A (ja) * 2011-11-29 2013-06-10 Hitachi Ltd サービス制御システム、サービスシステム
JP2019505923A (ja) * 2016-01-28 2019-02-28 フォルヴェルク・ウント・ツェーオー、インターホールディング・ゲーエムベーハーVorwerk & Compagnie Interholding Gesellshaft Mit Beschrankter Haftung 自動的に移動可能な処理装置のための環境マップ生成方法
WO2018235219A1 (ja) * 2017-06-22 2018-12-27 日本電気株式会社 自己位置推定方法、自己位置推定装置および自己位置推定プログラム
JP2019197350A (ja) * 2018-05-09 2019-11-14 株式会社日立製作所 自己位置推定システム、自律移動システム及び自己位置推定方法

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
"Getting Robots Unfrozen and Unlost", DENSE PEDESTRIAN CROWDS, Retrieved from the Internet <URL:https://arxiv.org/pdf/1810.00352.pdf>
"Open-Source {SLAM} System for Monocular, Stereo and {RGB-D} Cameras", ORB-SLAM2, Retrieved from the Internet <URL:https://128.84.21.199/pdf/1610.06475.pdf>
N.NECCV, LOCALIZING AND ORIENTING STREET VIEWS USING OVERHEAD IMAGERY, 2016, Retrieved from the Internet <URL:https://lugiavn.github.io/gatech/crossview_eccv2016/nam_eccv2016.pdf>
S.WORKMANICCV, WIDE-AREA IMAGE GEOLOCALIZATION WITH AERIAL REFERENCE IMAGERY, 2015, Retrieved from the Internet <URL:https://www.cv-foundation/org/openaccess/content_iccv_2015/papers/Workman_Wide-Area_Image_Geolocalization_ICCV_2015_paper.pdf>
See also references of EP4060445A4

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023074279A1 (ja) * 2021-10-29 2023-05-04 オムロン株式会社 俯瞰データ生成装置、俯瞰データ生成プログラム、俯瞰データ生成方法、及びロボット
JP7438510B2 (ja) 2021-10-29 2024-02-27 オムロン株式会社 俯瞰データ生成装置、俯瞰データ生成プログラム、俯瞰データ生成方法、及びロボット
JP7438515B2 (ja) 2022-03-15 2024-02-27 オムロン株式会社 俯瞰データ生成装置、学習装置、俯瞰データ生成プログラム、俯瞰データ生成方法、及びロボット

Also Published As

Publication number Publication date
EP4060445A1 (en) 2022-09-21
EP4060445A4 (en) 2023-12-20
CN114698388A (zh) 2022-07-01
US20220397903A1 (en) 2022-12-15
JP2021077287A (ja) 2021-05-20
JP7322670B2 (ja) 2023-08-08

Similar Documents

Publication Publication Date Title
CN111325796B (zh) 用于确定视觉设备的位姿的方法和装置
CN112105890B (zh) 用于自动驾驶车辆的基于rgb点云的地图生成系统
CN111771206B (zh) 用于自动驾驶车辆的地图分区系统
CN111771229B (zh) 用于自动驾驶车辆的点云重影效果检测系统
US10748061B2 (en) Simultaneous localization and mapping with reinforcement learning
CN108419446B (zh) 用于激光深度图取样的系统及方法
US9846043B2 (en) Map creation apparatus, map creation method, and computer-readable recording medium
CN107735797B (zh) 用于确定第一坐标系与第二坐标系之间的运动的方法
KR20150144729A (ko) 그래디언트 기반 특징점을 이용한 이동 로봇의 위치를 인식하기 위한 장치 및 그 방법
WO2021095463A1 (ja) 自己位置推定モデル学習方法、自己位置推定モデル学習装置、自己位置推定モデル学習プログラム、自己位置推定方法、自己位置推定装置、自己位置推定プログラム、及びロボット
US20210097266A1 (en) Disentangling human dynamics for pedestrian locomotion forecasting with noisy supervision
Ioannidis et al. A path planning method based on cellular automata for cooperative robots
US11741720B2 (en) System and method for tracking objects using using expanded bounding box factors
JP7138361B2 (ja) 3次元仮想空間モデルを利用したユーザポーズ推定方法および装置
KR20220043847A (ko) 객체 포즈 추정 방법, 장치, 전자 장치 및 저장 매체
JP2022523312A (ja) Vslam方法、コントローラ及び移動可能機器
EP3608874B1 (en) Ego motion estimation method and apparatus
EP3598388B1 (en) Method and apparatus for visual odometry, and non-transitory computer-readable recording medium
JP2024012160A (ja) 目標状態推定方法、装置、電子機器及び媒体
Mentasti et al. Two algorithms for vehicular obstacle detection in sparse pointcloud
US20230080638A1 (en) Systems and methods for self-supervised learning of camera intrinsic parameters from a sequence of images
CN116295354A (zh) 一种无人车主动全局定位方法和系统
CN114577216A (zh) 导航地图构建方法、装置、机器人及存储介质
US11657506B2 (en) Systems and methods for autonomous robot navigation
JP7438515B2 (ja) 俯瞰データ生成装置、学習装置、俯瞰データ生成プログラム、俯瞰データ生成方法、及びロボット

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2020886244

Country of ref document: EP

Effective date: 20220613