Machine learning method and machine learning apparatus
The machine learning method and device enhance the accuracy of estimating object positions and velocities by expanding the occupied area and updating the model based on loss parameters, addressing existing accuracy limitations in object estimation technologies.
Patent Information
- Application Number
- JP2023111128
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-07-06
- Publication Date
- 2025-01-20
AI Technical Summary
Existing technologies for estimating the position and velocity of surrounding objects using machine learning have limitations in accuracy and require improvements.
A machine learning method and device that utilize a series of processes including inputting position data, generating occupancy and flow data, expanding the occupied area of objects, calculating a loss parameter, and updating the machine learning model to enhance estimation accuracy.
Improves the accuracy of estimating the position and velocity of objects by allowing for a slight deviation in the estimated data, thereby enhancing generalization performance and learning accuracy.
Smart Images

Figure 2025008715000001_ABST
Abstract
Description
[Technical field]
[0001] The present disclosure relates to a machine learning method and device for estimating the position and velocity of surrounding objects. [Background technology]
[0002] There is a technique for estimating the future position and speed of surrounding objects using machine learning technology. For example, Non-Patent Document 1 discloses a technique for estimating the position and speed of surrounding objects using a technique called occupancy flow (for example, Non-Patent Document 1). [Prior art documents] [Patent documents]
[0003] [Non-Patent Document 1] Reza Mahjourian, Jinkyu Kim, Yuning Chai, Mingxing Tan, Ben Sapp, Dragomir Anguelov, 'Occupancy Flow Fields for Motion Forecasting in Autonomous Driving', [online], Waymo LLC, [Retrieved June 22, 2023], Internet<URL:https: / / arxiv.org / pdf / 2203.03875.pdf> Summary of the Invention [Problem to be solved by the invention]
[0004] In such a technique, it is desirable to have high estimation accuracy when estimating the positions and velocities of surrounding objects, and further improvements in estimation accuracy are expected.
[0005] It is desirable to provide a machine learning method and an apparatus that can improve the accuracy of estimating the position and velocity of an object. [Means for solving the problem]
[0006] A machine learning method according to one embodiment of the present disclosure includes a first process of inputting a plurality of position data into a machine learning model that receives input of a plurality of position data each indicating a position of an object at a plurality of first timings, and outputs occupancy data, which is map data indicating the occupancy probability of the object at a second timing after the plurality of first timings, and flow data, which is map data indicating the velocity vector of the object at the second timing; a second process of generating second correct occupancy data by performing a process of expanding the occupancy area of the object for the first correct occupancy data, which is correct data of the map data indicating the occupancy probability of the object at the second timing; a third process of calculating a loss parameter based on the occupancy data output from the machine learning model, the second correct occupancy data, the flow data output from the machine learning model, and correct flow data, which is correct data of the map data indicating the velocity vector of the object at the second timing; and a fourth process of updating the machine learning model based on the loss parameter.
[0007] A machine learning device according to an embodiment of the present disclosure includes a storage and a processing unit. The storage is capable of storing a dataset including a plurality of position data indicating positions of objects at a plurality of first timings, first correct occupancy data which is correct data of map data indicating occupancy probabilities of objects at a second timing after the plurality of first timings, and correct flow data which is correct data of map data indicating a velocity vector of the object at the second timing. The processing unit is capable of performing machine learning processing using the dataset. The processing unit is capable of performing a first process of inputting multiple position data into a machine learning model that receives multiple position data and outputs occupancy data, which is map data indicating the occupancy probability of the object at a second timing, and flow data, which is map data indicating the velocity vector of the object at the second timing; a second process of generating second correct occupancy data by performing a process of expanding the occupancy area of the object with respect to the first correct occupancy data; a third process of calculating a loss parameter based on the occupancy data output from the machine learning model, the second correct occupancy data, the flow data output from the machine learning model, and the correct flow data; and a fourth process of updating the machine learning model based on the loss parameter. Effect of the Invention
[0008] According to a machine learning method and a machine learning device according to an embodiment of the present disclosure, it is possible to improve the accuracy of estimating the position and velocity of an object. [Brief description of the drawings]
[0009] [Figure 1] FIG. 1 is an explanatory diagram illustrating an example of a configuration of a surrounding environment recognition device according to an embodiment of the present disclosure. [Diagram 2] FIG. 2 is a block diagram illustrating an example of the configuration of the surrounding environment recognition device illustrated in FIG. [Diagram 3] FIG. 3 is an explanatory diagram illustrating an example of the surroundings of the vehicle shown in FIG. [Figure 4]FIG. 4 is an explanatory diagram illustrating an example of the position data illustrated in FIG. [Diagram 5] FIG. 5 is an explanatory diagram illustrating an example of the estimated occupancy data illustrated in FIG. [Figure 6] FIG. 6 is an explanatory diagram illustrating an example of the estimated flow data shown in FIG. [Figure 7] FIG. 7 is a block diagram illustrating an example of the configuration of the estimation processing unit illustrated in FIG. [Figure 8] FIG. 8 is a block diagram illustrating an example of the configuration of a machine learning device that generates a machine learning model used by the estimation processing unit illustrated in FIG. [Figure 9] FIG. 9 is a block diagram illustrating an example of the configuration of the processing unit illustrated in FIG. [Figure 10A] FIG. 10A is an explanatory diagram illustrating an operation example of the correction processing unit illustrated in FIG. [Figure 10B] FIG. 10B is an explanatory diagram illustrating another operation example of the correction processing unit illustrated in FIG. [Figure 11] FIG. 11 is an explanatory diagram illustrating an example of the estimated occupied area and the correct occupied area. [Figure 12] FIG. 12 is a flowchart showing an operation example of the process shown in FIG. [Figure 13] FIG. 13 is a block diagram illustrating an example of the configuration of a processing unit according to a modified example. [Figure 14A] FIG. 14A is an explanatory diagram illustrating an operation example of the correction processing unit illustrated in FIG. [Figure 14B] FIG. 14B is an explanatory diagram illustrating another operation example of the correction processing unit illustrated in FIG. [Figure 14C] FIG. 14C is an explanatory diagram illustrating another operation example of the correction processing unit illustrated in FIG. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0010] Hereinafter, embodiments of the present disclosure will be described in detail with reference to the drawings.
[0011] <Embodiment Mode> [Configuration example] 1 and 2 show an example of a configuration of a surrounding environment recognition device 10 that performs processing using a machine learning model generated by a machine learning method according to an embodiment. In this example, the surrounding environment recognition device 10 is mounted on a vehicle 1 such as an automobile. The surrounding environment recognition device 10 is configured to detect the positions of objects such as vehicles and pedestrians around the vehicle 1, and to estimate the future positions and speeds of the objects. The surrounding environment recognition device 10 includes an imaging unit 11 and an image processing unit 20.
[0012] The imaging unit 11 is configured to capture an image of an object around the vehicle 1. In this example, the imaging unit 11 has a plurality of imaging devices 12. Each of the plurality of imaging devices 12 captures, for example, an image of the front, rear, and side of the vehicle 1. Note that this is not limited to this, and the imaging unit 11 may have only one imaging device 12 that captures an image of the front of the vehicle 1. Each of the plurality of imaging devices 12 has, for example, an image sensor and a lens. Each of the plurality of imaging devices 12 generates a captured image by performing an imaging operation in synchronization with each other. The imaging unit 11 is configured to supply image data DP including the captured images generated by each of the plurality of imaging devices 12 to the image processing unit 20.
[0013] The image processing unit 20 is configured to detect the position of an object around the vehicle 1 based on the captured image included in the image data DP, and to estimate the future position and speed of the object. For example, the vehicle 1 can perform driving control of the vehicle 1 or display information about the recognized object on a console monitor based on the processing result of the image processing unit 20. The image processing unit 20 is configured, for example, with a CPU (Central Processing Unit) that executes a program, a RAM (Random Access Memory) that temporarily stores processed data, and a ROM (Read Only Memory) that stores the program. The image processing unit 20 has an object detection unit 21, an estimation processing unit 22, and an output processing unit 23.
[0014] The object detection unit 21 is configured to detect objects around the vehicle 1 based on a plurality of captured images associated with the same capture timing, which are generated by the plurality of imaging devices 12, respectively. The object detection unit 21 is configured to generate position data DPOS based on the detection results of the objects around the vehicle 1. The position data DPOS is map data indicating the position of the object based on the position of the vehicle 1.
[0015] Fig. 3 shows an example of the positions of objects around the vehicle 1. Fig. 4 shows an example of the position data DPOS. In this example, an example of so-called left-hand traffic, where the vehicle drives to the left of the center of the road, will be described, but the present invention is not limited to this, and the vehicle may also drive to the right of the center of the road, where the vehicle drives on the right.
[0016] As shown in FIG. 3, the vehicle 1 is traveling on a road 8. In the lane in which the vehicle 1 is traveling, a vehicle 9A, which is a preceding vehicle, is traveling in front of the vehicle 1, and a vehicle 9B, which is a following vehicle, is traveling behind the vehicle 1. In addition, in a lane different from the lane in which the vehicle 1 is traveling, an oncoming vehicle 9C is traveling. The object detection unit 21 detects the positions of these vehicles 9A to 9C based on a plurality of captured images related to the same image capturing timing, which are generated by a plurality of imaging devices 12. Then, the object detection unit 21 generates position data DPOS (FIG. 4) indicating the positions of these vehicles 9A to 9C. The horizontal direction X in the position data DPOS is the vehicle width direction of the vehicle 1, and the vertical direction Y in the position data DPOS is the vehicle length direction of the vehicle 1. Three points shown in FIG. 4 indicate the positions of the vehicles 9A to 9C based on the position of the vehicle 1.
[0017] The estimation processing unit 22 (FIG. 2) is configured to generate estimated occupancy data DOC and estimated flow data DFL by estimating the future position and speed of the object using a machine learning model based on the position data DPOS. The machine learning model may be, for example, a deep neural network (DNN).
[0018] FIG. 5 shows an example of the estimated occupancy data DOC. The estimated occupancy data DOC is map data indicating the occupancy probability of an object at a certain time in the future based on the position of the vehicle 1. The lateral direction X in the estimated occupancy data DOC is the vehicle width direction of the vehicle 1, and the longitudinal direction Y in the estimated occupancy data DOC is the vehicle length direction of the vehicle 1. In FIG. 5, three estimated occupancy regions R that are regions that the vehicles 9A to 9C may occupy at a certain time in the future are depicted. The occupancy probability in the three estimated occupancy regions R may take a value of, for example, "0" or more and "1" or less. "1" indicates a high occupancy probability, and "0" indicates a low occupancy probability. In FIG. 5, the closer the occupancy probability is to "1", the darker the shading is used.
[0019] 6 shows an example of the estimated flow data DFL. The estimated flow data DFL is map data showing a velocity vector of an object at a certain time in the future with the position of the vehicle 1 as a reference. The lateral direction X in the estimated flow data DFL is the width direction of the vehicle 1, and the longitudinal direction Y in the estimated flow data DFL is the length direction of the vehicle 1. The directions of the arrows in the three estimated occupancy regions R show the velocity vectors of the vehicles 9A to 9C with the position of the vehicle 1 as a reference. Specifically, the directions of the arrows in the three estimated occupancy regions R show the moving directions of the vehicles 9A to 9C with the position of the vehicle 1 as a reference, and the lengths of the arrows in the three estimated occupancy regions R show the magnitude of the speed with the position of the vehicle 1 as a reference.
[0020] 7 shows an example of the configuration of the estimation processing unit 22. The estimation processing unit 22 has a position data storage unit 31 and an arithmetic processing unit 32.
[0021] The position data storage unit 31 is configured to store, for a predetermined period of time, the position data DPOS supplied from the object detection unit 21. As a result, the position data storage unit 31 accumulates a plurality of pieces of position data DPOS relating to a plurality of imaging timings.
[0022] The calculation processing unit 32 is configured to generate a plurality of estimated occupancy data DOC relating to a plurality of future timings and a plurality of estimated flow data DFL relating to a plurality of future timings based on a plurality of position data DPOS relating to a plurality of imaging timings using a machine learning model. For example, the calculation processing unit 32 is configured to generate 80 pieces of estimated occupancy data DOC and 80 pieces of estimated flow data DFL for 80 future timings based on eight pieces of position data DPOS for eight past timings.
[0023] The output processing unit 23 (FIG. 2) is configured to generate an estimation result RES based on the plurality of estimated occupancy data DOC and the plurality of estimated flow data DFL supplied from the estimation processing unit 22.
[0024] The machine learning model used in the estimation processing unit 22 is generated in advance by machine learning processing, and set in the estimation processing unit 22 of the vehicle 1. Next, a machine learning device 40 that generates this machine learning model will be described.
[0025] (Machine Learning Device 40) 8 shows an example of the configuration of a machine learning device 40. For example, a personal computer can be used as the machine learning device 40. The machine learning device 40 includes a processing unit 41 and a storage 42.
[0026] The processing unit 41 is configured using a CPU, a RAM, etc., and is configured to perform machine learning processing using a plurality of data sets DS supplied from the storage 42, thereby generating a machine learning model.
[0027] The storage 42 is configured using, for example, a solid state drive (SSD) or a hard disk drive (HDD), and is configured to store a plurality of data sets DS. The plurality of data sets DS are prepared in advance, for example, by an engineer, and stored in the storage 42. The machine learning device 40 is configured to generate a machine learning model by performing machine learning processing using the plurality of data sets DS.
[0028] 9 shows an example of the configuration of the processing unit 41. The processing unit 41 includes a learning processing unit 51, a correction processing unit 52, and a loss calculation unit 53. Each of the multiple data sets DS stored in the storage 42 includes multiple position data DPOS related to multiple past timings, multiple correct occupancy data DOC1 related to multiple future timings, and multiple correct flow data DFL1 related to multiple future timings. The correct occupancy data DOC1 is correct data of the occupancy data corresponding to the multiple position data DPOS included in this data set DS. The occupancy probability in the correct occupancy data DOC1 can be "0" or "1". The correct flow data DFL1 is correct data of the flow data corresponding to the multiple position data DPOS included in this data set DS.
[0029] The learning processing unit 51 is configured to generate a plurality of estimated occupancy data DOC and a plurality of estimated flow data DFL using a machine learning model being trained based on a plurality of position data DPOS included in the data set DS. The learning processing unit 51 also updates the machine learning model by performing an error backpropagation process based on the loss parameter LOSS supplied from the loss calculation unit 53.
[0030] The correction processing unit 52 is configured to perform a correction process for expanding the occupancy area (correct occupancy area) of the object based on the plurality of correct occupancy data DOC1 included in the data set DS, thereby generating a plurality of correct occupancy data DOC2.
[0031] FIG. 10A shows an example of the operation of the correction processing unit 52, where (A) shows an occupancy area (correct occupancy area R1) in the correct occupancy data DOC1, and (B) shows a correct occupancy area R2 in the correct occupancy data DOC2. This FIG. 10A also shows a velocity vector FL1 in the correct flow data DFL1. In this example, the correction processing unit 52 widens the correct occupancy area R1 included in the correct occupancy data DOC1 by a predetermined width in all directions. In this way, the correction processing unit 52 generates a correct occupancy area R2 that is wider than the correct occupancy area R1. The occupancy probability in the correct occupancy area R1 is "1", and the occupancy probability in the correct occupancy area R2 is "1".
[0032] FIG. 10B shows another example of the operation of the correction processing unit 52, where (A) shows the correct occupancy area R1 in the correct occupancy data DOC1, and (B) shows the correct occupancy area R2 in the correct occupancy data DOC2. In this example, the correction processing unit 52 performs blurring processing on the correct occupancy data DOC1 using Gaussian blur, thereby widening the correct occupancy area R1. In this way, the correction processing unit 52 generates a correct occupancy area R2 that is wider than the correct occupancy area R1. The occupancy probability in the correct occupancy area R2 can take a value between "0" and "1".
[0033] In this way, the correction processing unit 52 generates a correct occupancy area R2 by expanding the correct occupancy area R1 contained in the correct occupancy data DOC1 based on the correct occupancy data DOC1, and generates correct occupancy data DOC2 including this correct occupancy area R2.
[0034] The loss calculation unit 53 is configured to calculate a loss parameter LOSS based on a plurality of estimated occupancy data DOC supplied from the learning processing unit 51, a plurality of correct occupancy data DOC2 supplied from the correction processing unit 52, a plurality of estimated flow data DFL supplied from the learning processing unit 51, and a plurality of correct flow data DFL1 supplied from the storage 42.
[0035] The loss calculation unit 53 calculates the loss parameter L using the following formula: O ,L F ,L W Calculate the loss parameter L O ,L F ,L W The loss parameter LOSS is calculated based on the above.
number
[0036] The loss calculation unit 53 calculates the loss parameter L using the equation EQ1. O Specifically, the loss calculation unit 53 calculates the occupancy probability OC t (x, y) and the occupancy probability OC2 in the correct occupancy data DOC2 for timing t t By calculating the cross entropy of (x,y), the loss parameter L O Calculate the loss parameter L O is an index showing the degree of agreement between the estimated occupancy data DOC and the correct occupancy data DOC2. When the degree of agreement between the estimated occupancy data DOC and the correct occupancy data DOC2 is high, the loss calculation unit 53 calculates the loss parameter L OWhen the degree of agreement between the estimated occupancy data DOC and the correct occupancy data DOC2 is low, the loss parameter L O Specifically, in the example of FIG. 11, the loss calculation unit 53 sets the loss parameter L to a higher value as the estimated occupancy area R(t) of the estimated occupancy data DOC and the correct occupancy area R2(t) of the correct occupancy data DOC2 match each other. O The smaller the value of the loss parameter L, the greater the deviation between the estimated occupancy region R(t) and the correct occupancy region R2(t) from each other. O Set to a high value.
[0037] In addition, the loss calculation unit 53 calculates the loss parameter L using the equation EQ2. F Specifically, the loss calculation unit 53 calculates a velocity vector FL t (x, y) and velocity vector FL1 in the correct flow data DFL1 for timing t t A speed difference is calculated based on (x, y), and the occupancy probability OC2 in the correct occupancy data DOC2 relating to the timing t is calculated. t Based on (x,y), the loss parameter L F Calculate the loss parameter L F is an index showing the degree of agreement between the estimated flow data DFL and the correct flow data DFL1. When the degree of agreement between the estimated flow data DFL and the correct flow data DFL1 is high, the loss calculation unit 53 calculates the loss parameter L F When the degree of agreement between the estimated flow data DFL and the ground truth flow data DFL1 is low, the loss parameter L F Specifically, in the example of FIG. 11, the more the speed vector FL(t) of the estimated flow data DFL and the speed vector FL1(t) of the ground truth flow data DFL1 match each other, the higher the loss parameter L F The smaller the value of the loss parameter L, the more the velocity vector FL(t) and the velocity vector FL1(t) deviate from each other. F Set to a high value.
[0038] In addition, the loss calculation unit 53 calculates the loss parameter L using the equations EQ3 and EQ4. W Specifically, the loss calculation unit 53 calculates the occupancy probability W t-1 and a velocity vector FL in the estimated flow data DFL at timing t. t Based on this, the occupancy probability W t Then, the loss calculation unit 53 uses the formula EQ4 to generate the occupancy probability W t The occupancy probability OC in the estimated occupancy data DOC for (x,y) and timing t t The product of (x, y) and the occupancy probability OC2 in the correct occupancy data DOC2 for timing t t By calculating the cross entropy of (x,y), the loss parameter L W Calculate the loss parameter L W is a flow trace loss, which is an index indicating the degree of agreement between the estimated data and the correct answer data, for both the occupancy data and the flow data. When the degree of agreement between the estimated data and the correct answer data is high, the loss calculation unit 53 calculates the loss parameter L W When the match between the estimated data and the correct data is low, the loss parameter L W Set to a high value.
[0039] The loss calculation unit 53 calculates the loss parameter L O ,L F ,L W Based on the loss parameter L O ,L F ,L W The loss parameter LOSS is calculated by performing weighted addition using a predetermined weight set for each of the above. The learning processing unit 51 updates the model parameters of the machine learning model by performing an error backpropagation process so as to reduce the loss parameter LOSS.
[0040] In the machine learning device 40, a loss parameter L related to the occupancy data is O , and the loss parameter L for the flow data F In addition, the loss parameter L for both occupancy and flow data W This allows the machine learning device 40 to improve the accuracy of the machine learning process. That is, for example, since the data included in the data set DS includes noise, for example, the loss parameter L related to the occupancy data is O , and the loss parameter L for the flow data F If the position and velocity are individually learned using only the loss parameter L, the learning accuracy may be reduced due to the influence of the noise. O ,L F In addition, the loss parameter L for both occupancy and flow data W This allows the machine learning device 40 to easily learn the movements of the object over a longer period of time, thereby improving the learning accuracy.
[0041] Here, the position data DPOS corresponds to a specific example of "position data" in one embodiment of the present disclosure. The estimated occupancy data DOC corresponds to a specific example of "occupancy data" in one embodiment of the present disclosure. The estimated flow data DFL corresponds to a specific example of "flow data" in one embodiment of the present disclosure. The correct occupancy data DOC1 corresponds to a specific example of "first correct occupancy data" in one embodiment of the present disclosure. The correct occupancy data DOC2 corresponds to a specific example of "second correct occupancy data" in one embodiment of the present disclosure. The correct flow data DFL1 corresponds to a specific example of "correct flow data" in one embodiment of the present disclosure. The loss parameter LOSS corresponds to a specific example of "loss parameter" in one embodiment of the present disclosure.
[0042] [Actions and Actions] Next, the operation and function of the surrounding environment recognition device 10 and the machine learning device 40 of the present embodiment will be described.
[0043] (Overview of overall operation) First, an overview of the overall operation of the surrounding environment recognition device 10 and the machine learning device 40 will be described with reference to FIGS.
[0044] In the surrounding environment recognition device 10, the object detection unit 21 of the image processing unit 20 detects objects around the vehicle 1 based on a plurality of captured images related to the same imaging timing, which are generated by the plurality of imaging devices 12. Then, the object detection unit 21 generates position data DPOS based on the detection result of the object around the vehicle 1. The estimation processing unit 22 generates estimated occupancy data DOC and estimated flow data DFL by estimating the future position and speed of the object based on the position data DPOS using a machine learning model. Specifically, the position data storage unit 31 of the estimation processing unit 22 stores the position data DPOS supplied from the object detection unit 21 for a predetermined period. As a result, the position data storage unit 31 accumulates a plurality of position data DPOS related to a plurality of imaging timings. The calculation processing unit 32 of the estimation processing unit 22 generates a plurality of estimated occupancy data DOC related to a plurality of future timings and a plurality of estimated flow data DFL related to a plurality of future timings using a machine learning model based on the plurality of position data DPOS related to the plurality of imaging timings. The output processing unit 23 generates an estimation result RES based on the plurality of estimated occupancy data DOC and the plurality of estimated flow data DFL supplied from the estimation processing unit 22.
[0045] In the machine learning device 40, the learning processing unit 51 of the processing unit 41 generates a plurality of estimated occupancy data DOC and a plurality of estimated flow data DFL using a machine learning model being trained based on a plurality of position data DPOS included in the data set DS. The correction processing unit 52 generates a plurality of correct occupancy data DOC2 by performing a correction process to expand the correct occupancy area of the object based on a plurality of correct occupancy data DOC1 included in the data set DS. The loss calculation unit 53 calculates a loss parameter LOSS based on the plurality of estimated occupancy data DOC supplied from the learning processing unit 51, the plurality of correct occupancy data DOC2 supplied from the correction processing unit 52, the plurality of estimated flow data DFL supplied from the learning processing unit 51, and the plurality of correct flow data DFL1 supplied from the storage 42. The learning processing unit 51 updates the machine learning model by performing an error backpropagation process based on the loss parameter LOSS supplied from the loss calculation unit 53.
[0046] (Details of operation) 12 shows an example of an operation of the machine learning device 40. The machine learning device 40 generates a machine learning model by performing machine learning processing based on a plurality of data sets DS. This operation will be described in detail below.
[0047] First, the processing unit 41 selects one of the multiple data sets DS stored in the storage 42 (step S101).
[0048] Next, the learning processing unit 51 of the processing unit 41 uses a machine learning model to generate a plurality of estimated occupancy data DOC and a plurality of estimated flow data DFL based on the plurality of position data DPOS included in the selected dataset DS (step S102).
[0049] Next, the correction processing unit 52 of the processing unit 41 performs a correction process to widen the correct occupancy area of the object based on each of the correct occupancy data DOC1 included in the selected data set DS, thereby generating a plurality of correct occupancy data DOC2 (step S103). For example, as shown in Fig. 10A, the correction processing unit 52 may widen the correct occupancy area R1 included in the correct occupancy data DOC1 by a predetermined width in all directions. In addition, the correction processing unit 52 may widen the correct occupancy area R1 by performing a blurring process using Gaussian blur on the correct occupancy data DOC1, for example, as shown in Fig. 10B.
[0050] Next, the loss calculation unit 53 of the processing unit 41 generates a loss parameter LOSS based on the plurality of estimated occupancy data DOC, the plurality of ground truth occupancy data DOC2, the plurality of estimated flow data DFL, and the plurality of ground truth flow data DFL1 (step S104).
[0051] Next, the learning processing unit 51 of the processing unit 41 updates the model parameters of the machine learning model by using the backpropagation method (step S105).
[0052] Next, the processing unit 41 checks whether the number of executed learning steps has reached a predetermined number of learning steps (step S106). If the number of executed learning steps has not yet reached the predetermined number of learning steps ("N" in step S106), the processing unit 41 repeats the processes of steps S102 to S106 until the predetermined number of learning steps is reached.
[0053] In step S106, if the number of executed learning steps reaches a predetermined number of learning steps ("Y" in step S106), the processing unit 41 checks whether or not all of the multiple data sets DS stored in the storage 42 have been selected (step S107). If all of the data sets DS have not yet been selected ("N" in step S107), the processing unit 41 selects one of the one or more data sets DS that have not yet been selected (step S108), and the process returns to step S102. Then, the processing unit 41 repeats the processes of steps S102 to S108 until all of the data sets DS have been selected.
[0054] In step S107, if all of the multiple data sets DS stored in the storage 42 have been selected ("Y" in step S107), this process ends.
[0055] A machine learning model was generated using the machine learning method shown in Fig. 12. In this machine learning method, as shown in Fig. 10B, the correct occupancy data DOC1 was blurred using Gaussian blur to generate the correct occupancy data DOC2. The machine learning model generated in this way was evaluated using the following three evaluation indices described in Non-Patent Document 1. Flow End Point Error Vehicle Observation AUC Vehicle warped occupancy AUC The three evaluation indices for the machine learning model generated using the machine learning method shown in Figure 12 performed better than the three evaluation indices for the machine learning model created by the method described in Non-Patent Document 1.
[0056] In this way, in the machine learning method in the machine learning device 40, a plurality of position data DPOS indicating the positions of objects at a plurality of first timings are inputted to a machine learning model that outputs occupancy data (estimated occupancy data DOC) which is map data indicating the occupancy probability of the object at a second timing after the plurality of first timings, and flow data (estimated flow data DFL) which is map data indicating the velocity vector of the object at the second timing, and a first process of inputting the plurality of position data DPOS to the machine learning model, and a process of outputting first correct occupancy data (correct occupancy data DOC1) which is correct data for the map data indicating the occupancy probability of the object at the second timing, The method includes a second process of generating second correct occupancy data (correct occupancy data DOC2) by performing a process of expanding the occupancy area of the object, a third process of calculating a loss parameter LOSS based on the occupancy data (estimated occupancy data DOC) output from the machine learning model, the second correct occupancy data (correct occupancy data DOC2), the flow data (estimated flow data DFL) output from the machine learning model, and the correct flow data (correct flow data DFL1) which is the correct data of the map data showing the speed vector of the object at the second timing, and a fourth process of updating the machine learning model based on the loss parameter LOSS. In this way, the correct occupancy data DOC2 is generated by performing a process of expanding the occupancy area of the object, so that the machine learning process can be performed while allowing a slight deviation between the estimated occupancy data DOC and the correct occupancy data DOC2. For example, the position and speed of a vehicle in the future may change depending on the driving operation of the driver of the vehicle. Therefore, by allowing a slight deviation in the machine learning process, generalization performance can be improved. As a result, this machine learning method can improve the accuracy of estimating the position and velocity of an object.
[0057] In this machine learning method, for example, as shown in Fig. 10A, the second process generates second correct occupancy data (correct occupancy data DOC2) by expanding the occupied area by a predetermined amount. As a result, in this machine learning method, it is possible to improve generalization performance in a simple manner and to improve the estimation accuracy of the position and speed of the target object.
[0058] In this machine learning method, for example, as shown in FIG. 10B, in the second process, the first correct occupancy data (correct occupancy data DOC1) is blurred to generate the second correct occupancy data (correct occupancy data DOC2). As a result, the probability density in the correct occupancy data DOC2 is highest near the center of the correct occupancy area R2, so the loss parameter LOSS is likely to change depending on the amount of deviation between the correct occupancy area R2 and the estimated occupancy area R. Therefore, in this machine learning method, the accuracy of estimating the position and speed of the target object can be improved.
[0059] [effect] As described above, in this embodiment, a first process is included in which a plurality of position data indicating the positions of an object at a plurality of first timings is inputted into a machine learning model that outputs occupancy data, which is map data indicating the occupancy probability of the object at a second timing after the plurality of first timings, and flow data, which is map data indicating the velocity vector of the object at the second timing; a second process is included in which a process is performed to expand the occupancy area of the object for the first correct occupancy data, which is correct data for the map data indicating the occupancy probability of the object at the second timing, to generate second correct occupancy data; a third process is included in which a loss parameter is calculated based on the occupancy data outputted from the machine learning model, the second correct occupancy data, the flow data outputted from the machine learning model, and the correct flow data, which is correct data for the map data indicating the velocity vector of the object at the second timing; and a fourth process is included in which the machine learning model is updated based on the loss parameter, thereby improving the estimation accuracy of the position and velocity of the object.
[0060] In this embodiment, since the second correct occupancy data is generated by expanding the occupied area by a predetermined amount in the second process, it is possible to improve the accuracy of estimating the position and speed of the target object.
[0061] In this embodiment, in the second process, the second correct occupancy data is generated by performing a blurring process on the first correct occupancy data, thereby improving the accuracy of estimating the position and speed of the target object.
[0062] [Variation 1] In the above embodiment, the correction processing unit 52 generates a plurality of correct occupancy data DOC2 based on a plurality of correct occupancy data DOC1, but is not limited to this, and instead, for example, a plurality of correct occupancy data DOC2 may be generated based on a plurality of correct occupancy data DOC1 and a plurality of correct flow data DFL1. This modification will be described in detail below.
[0063] 13 shows an example of the configuration of a machine learning device 40A according to this modification. The machine learning device 40A includes a processing unit 41A. The processing unit 41A includes a correction processing unit 52A. The correction processing unit 52A is configured to generate a plurality of correct occupancy data DOC2 by performing a correction process to expand the correct occupancy area of the object based on a plurality of correct occupancy data DOC1 and a plurality of correct flow data DFL1 included in the dataset DS.
[0064] FIG. 14A shows an example of an operation of the correction processing unit 52A, where (A) shows the correct occupancy area R1 in the correct occupancy data DOC1, and (B) shows the correct occupancy area R2 in the correct occupancy data DOC2. In this example, the correction processing unit 52A expands the correct occupancy area R1 included in the correct occupancy data DOC1 according to the speed vector FL1 included in the correct flow data DFL1. For example, the correction processing unit 52A expands the correct occupancy area R1 in the direction of the speed vector FL1 by an amount corresponding to the magnitude of the speed vector FL1, and expands it by a predetermined width in a direction other than the direction of the speed vector FL1, thereby generating the correct occupancy area R2. That is, the larger the speed vector FL1, the larger the fluctuation in the position of the target object, so the correction processing unit 52A expands the correct occupancy area R1 in the direction of the speed vector FL1 by an amount corresponding to the magnitude of the speed vector FL1. The occupancy probability in the correct occupancy area R2 is "1".
[0065] 14B shows another example of the operation of the correction processing unit 52A, where (A) shows the correct occupancy area R1 in the correct occupancy data DOC1, and (B) shows the correct occupancy area R2 in the correct occupancy data DOC2. For example, the correction processing unit 52A generates the correct occupancy area R2 by expanding the correct occupancy area R1 in the direction of the speed vector FL1 by an amount corresponding to the magnitude of the speed vector FL1, expanding it in the direction opposite to the direction of the speed vector FL1 by an amount corresponding to the magnitude of the speed vector FL1, and expanding it by a predetermined width in other directions. The occupancy probability in the correct occupancy area R2 is "1".
[0066] FIG. 14C shows another example of the operation of the correction processing unit 52A, where (A) shows the correct occupancy area R1 in the correct occupancy data DOC1, and (B) shows the correct occupancy area R2 in the correct occupancy data DOC2. For example, the correction processing unit 52A sets the correct occupancy area R2 at the position of the correct occupancy area R1. This correct occupancy area R2 is set, for example, by taking statistics on the moving direction and moving amount of the vehicle in advance. In this example, the correct occupancy area R2 extends in the direction of the speed vector FL1 and also extends in two directions intersecting with the speed vector FL1. The occupancy probability in the correct occupancy area R2 is "1".
[0067] [Variation 2] In the above embodiment, a vehicle is treated as the object, but the present invention is not limited to this. Instead, for example, a pedestrian may be treated as the object.
[0068] [Variation 3] In the above embodiment, as shown in Fig. 4, map data indicating the positions of objects around the vehicle 1 is used as the position data DPOS, but the present invention is not limited to this, and various data indicating the positions of objects around the vehicle 1 can be used as the position data DPOS. Specifically, for example, occupancy data may be used as the position data DPOS, or coordinate data of objects around the vehicle 1 may be used as the position data DPOS.
[0069] [Other variations] Also, two or more of these variations may be combined.
[0070] Although the present technology has been described above by giving embodiments and some modified examples, the present technology is not limited to these embodiments and the like, and various modifications are possible.
[0071] For example, in the above embodiment, the estimated occupancy data DOC is configured using map data indicating the occupancy probability of an object at a certain time in the future based on the position of the vehicle 1, but this is not limited to this. Instead of this, the estimated occupancy data DOC may be configured using map data indicating the occupancy probability of an object in global coordinates on the earth.
[0072] For example, in the above embodiment, the estimated flow data DFL is constructed using map data indicating the velocity vector of an object at a certain time in the future based on the position of the vehicle 1, but the present invention is not limited to this. Instead of this, the estimated flow data DFL may be constructed using map data indicating the velocity vector of an object in global coordinates on the earth.
[0073] For example, in the above embodiment, the future position and speed of an object around a vehicle traveling on a road surface is estimated, but the present invention is not limited to this. Instead, the future position and speed of an object around an aircraft may be estimated. The aircraft may be, for example, a flying car, a helicopter, a drone, etc.
[0074] It should be noted that the effects described in this specification are merely examples and are not limiting, and other effects may also be obtained.
[0075] Furthermore, the present disclosure may take the following aspects.
[0076] (1) a first process of inputting a plurality of position data indicating positions of objects at a plurality of first timings into a machine learning model that outputs occupancy data, which is map data indicating an occupancy probability of the objects at a second timing that is later than the plurality of first timings, and flow data, which is map data indicating a velocity vector of the objects at the second timing; a second process of generating second correct occupancy data by performing a process of expanding an occupancy area of the object with respect to first correct occupancy data, which is correct data of map data indicating an occupancy probability of the object at the second timing; A third process of calculating a loss parameter based on the occupancy data output from the machine learning model, the second correct occupancy data, the flow data output from the machine learning model, and correct flow data that is correct data of map data indicating a velocity vector of the object at the second timing; A fourth process of updating the machine learning model based on the loss parameters. Machine learning methods, including (2) In the second process, the second correct occupancy data is generated by expanding the occupancy area by a predetermined amount. The machine learning method according to (1) above. (3) In the second process, the second correct occupancy data is generated by performing a blurring process on the first correct occupancy data. The machine learning method according to (1) or (2). (4) In the second process, the second correct occupancy data is generated by expanding the occupancy area based on a velocity vector included in the correct flow data. The machine learning method according to any one of (1) to (3). (5) a storage capable of storing a data set including a plurality of position data indicating positions of objects at a plurality of first timings, first correct occupancy data being correct answer data for map data indicating an occupancy probability of the objects at a second timing subsequent to the plurality of first timings, and correct flow data being correct answer data for map data indicating a velocity vector of the objects at the second timing; a processing unit capable of performing machine learning processing using the dataset; Equipped with The processing unit includes: a first process of inputting the plurality of position data into a machine learning model that receives the plurality of position data and outputs occupancy data, which is map data indicating an occupancy probability of the object at the second timing, and flow data, which is map data indicating a velocity vector of the object at the second timing; a second process of generating second correct occupancy data by performing a process of expanding an occupancy area of the object on the first correct occupancy data; A third process of calculating a loss parameter based on the occupancy data output from the machine learning model, the second correct occupancy data, the flow data output from the machine learning model, and the correct flow data; A fourth process of updating the machine learning model based on the loss parameters. It is possible to Machine learning device. [Explanation of symbols]
[0077] 1...vehicle, 8...roadway, 9A to 9C...vehicle, 10...surrounding environment recognition device, 11...imaging unit, 12...imaging device, 20...image processing unit, 21...object detection unit, 22...estimation processing unit, 23...output processing unit, 31...position data storage unit, 32...arithmetic processing unit, 40, 40A...machine learning device, 41, 41A...processing unit, 42...storage, 51...learning processing unit, 52, 52A...correction processing unit, 53...loss calculation unit, DFL...estimated flow data, DFL1...correct flow data, DOC...estimated occupancy data, DOC1, DOC2...correct occupancy data, DP...image data, DPOS...position data, DS...data set, FL, FL1...velocity vector, L F ,L O ,L W ,LOSS...loss parameter, R...estimated occupancy area, R1, R2...correct occupancy area, RES...estimated result.
Claims
1. a first process of inputting a plurality of position data indicating positions of objects at a plurality of first timings into a machine learning model that outputs occupancy data, which is map data indicating an occupancy probability of the objects at a second timing that is later than the plurality of first timings, and flow data, which is map data indicating a velocity vector of the objects at the second timing; a second process of generating second correct occupancy data by performing a process of expanding an occupancy area of the object with respect to first correct occupancy data, which is correct data of map data indicating an occupancy probability of the object at the second timing; a third process of calculating a loss parameter based on the occupancy data output from the machine learning model, the second correct occupancy data, the flow data output from the machine learning model, and correct flow data that is correct data of map data showing a velocity vector of the object at the second timing; A fourth process of updating the machine learning model based on the loss parameters; Machine learning methods, including
2. In the second process, the second correct occupancy data is generated by expanding the occupancy area by a predetermined amount. The machine learning method of claim 1 .
3. In the second process, the second correct occupancy data is generated by performing a blurring process on the first correct occupancy data. The machine learning method of claim 1 .
4. In the second process, the second correct occupancy data is generated by expanding the occupancy area based on a velocity vector included in the correct flow data. The machine learning method of claim 1 .
5. a storage capable of storing a data set including a plurality of position data indicating positions of objects at a plurality of first timings, first correct occupancy data being correct answer data for map data indicating an occupancy probability of the objects at a second timing that is later than the plurality of first timings, and correct flow data being correct answer data for map data indicating a velocity vector of the objects at the second timing; a processing unit capable of performing machine learning processing using the dataset; Equipped with The processing unit includes: a first process of inputting the plurality of position data into a machine learning model that receives the plurality of position data and outputs occupancy data, which is map data indicating an occupancy probability of the object at the second timing, and flow data, which is map data indicating a velocity vector of the object at the second timing; a second process of generating second correct occupancy data by performing a process of expanding an occupancy area of the object on the first correct occupancy data; A third process of calculating a loss parameter based on the occupancy data output from the machine learning model, the second correct occupancy data, the flow data output from the machine learning model, and the correct flow data; A fourth process of updating the machine learning model based on the loss parameters; It is possible to Machine learning device.