WO2018081036A1 - Dynamic scene prediction with multiple interacting agents - Google Patents

Dynamic scene prediction with multiple interacting agents Download PDF

Info

Publication number
WO2018081036A1
WO2018081036A1 PCT/US2017/057958 US2017057958W WO2018081036A1 WO 2018081036 A1 WO2018081036 A1 WO 2018081036A1 US 2017057958 W US2017057958 W US 2017057958W WO 2018081036 A1 WO2018081036 A1 WO 2018081036A1
Authority
WO
WIPO (PCT)
Prior art keywords
scene
trajectories
prediction samples
past
agents
Prior art date
Legal status (The legal status 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 status listed.)
Ceased
Application number
PCT/US2017/057958
Other languages
French (fr)
Inventor
Wongun CHOI
Paul VERNAZA
Manmohan Chandraker
Namhoon Lee
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Laboratories America Inc
Original Assignee
NEC Laboratories America Inc
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 NEC Laboratories America Inc filed Critical NEC Laboratories America Inc
Publication of WO2018081036A1 publication Critical patent/WO2018081036A1/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
    • G06F18/24133Distances to prototypes
    • G06F18/24143Distances to neighbourhood prototypes, e.g. restricted Coulomb energy networks [RCEN]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/044Recurrent networks, e.g. Hopfield networks
    • G06N3/0442Recurrent networks, e.g. Hopfield networks characterised by memory or gating, e.g. long short-term memory [LSTM] or gated recurrent units [GRU]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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
    • G06N3/0455Auto-encoder networks; Encoder-decoder networks
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/0464Convolutional networks [CNN, ConvNet]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/047Probabilistic or stochastic networks
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/0475Generative networks
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/09Supervised learning
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/092Reinforcement learning
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • G06N5/043Distributed expert systems; Blackboards
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/277Analysis of motion involving stochastic approaches, e.g. using Kalman filters
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/52Surveillance or monitoring of activities, e.g. for recognising suspicious objects
    • G06V20/54Surveillance or monitoring of activities, e.g. for recognising suspicious objects of traffic, e.g. cars on the road, trains or boats
    • GPHYSICS
    • G08SIGNALLING
    • G08BSIGNALLING SYSTEMS, e.g. PERSONAL CALLING SYSTEMS; ORDER TELEGRAPHS; ALARM SYSTEMS
    • G08B13/00Burglar, theft or intruder alarms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30236Traffic on road, railway or crossing
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30241Trajectory
    • GPHYSICS
    • G08SIGNALLING
    • G08BSIGNALLING SYSTEMS, e.g. PERSONAL CALLING SYSTEMS; ORDER TELEGRAPHS; ALARM SYSTEMS
    • G08B13/00Burglar, theft or intruder alarms
    • G08B13/18Actuation by interference with heat, light, or radiation of shorter wavelength; Actuation by intruding sources of heat, light, or radiation of shorter wavelength
    • G08B13/189Actuation by interference with heat, light, or radiation of shorter wavelength; Actuation by intruding sources of heat, light, or radiation of shorter wavelength using passive radiation detection systems
    • G08B13/194Actuation by interference with heat, light, or radiation of shorter wavelength; Actuation by intruding sources of heat, light, or radiation of shorter wavelength using passive radiation detection systems using image scanning and comparing systems
    • G08B13/196Actuation by interference with heat, light, or radiation of shorter wavelength; Actuation by intruding sources of heat, light, or radiation of shorter wavelength using passive radiation detection systems using image scanning and comparing systems using television cameras
    • G08B13/19602Image analysis to detect motion of the intruder, e.g. by frame subtraction
    • G08B13/19613Recognition of a predetermined image pattern or behaviour pattern indicating theft or intrusion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals

Definitions

  • the present invention relates to scene prediction and, more particularly, to the prediction of future events within a dynamic scene.
  • the analysis of dynamic scenes may identify agents (such as, e.g., people or vehicles) and track their motion through the scene.
  • the scene may include other elements (e.g., roads and crosswalks).
  • agents may be tracked across the scene elements.
  • a method for predicting a trajectory includes determining prediction samples for agents in a scene based on a past trajectory.
  • the prediction samples are ranked according to a likelihood score that incorporates interactions between agents and semantic scene context.
  • the prediction samples are iteratively refined using a regression function that accumulates scene context and agent interactions across iterations.
  • a response activity is triggered when the prediction samples satisfy a predetermined condition.
  • a system for predicting a trajectory includes a prediction sample module configured to determine prediction samples for agents in a scene based on a past trajectory.
  • a ranking/refinement module includes a processor configured to rank the prediction samples according to a likelihood score that incorporates interactions between agents and semantic scene context and to iteratively refine the prediction samples using a regression function that accumulates scene context and agent interactions across iterations.
  • a response module is configured to trigger a response activity when the prediction samples satisfy a predetermined condition.
  • FIG. 1 is a drawing illustrating a set of past trajectories and a set of predicted trajectories for agents on a background in accordance with an embodiment of the present invention
  • FIG. 2 is a block/flow diagram of a method of prediction generation and refinement in accordance with an embodiment of the present invention
  • FIG. 3 is a block/flow diagram of a method of generating trajectory prediction samples in accordance with an embodiment of the present invention
  • FIG. 4 is a block diagram of a system for generating trajectory prediction samples in accordance with an embodiment of the present invention
  • FIG. 5 is a block diagram of a system for predicting future trajectories based on measured past trajectories in accordance with an embodiment of the present invention.
  • FIG. 6 is a block diagram of a processing system in accordance with an embodiment of the present invention.
  • Embodiments of the present principles predict behavior of agents in a dynamic scene.
  • the present embodiments predict the locations of agents and the evolution of scene elements at future times using observations of the past states of the scene, for example in the form of agent trajectories and scene context derived from image- based features or other sensory date (if available).
  • the present embodiments thus adapt decision-making to make determinations about object and scene element types using image features. This stands in contrast to sensors like radar, which cannot generally resolve such features.
  • the present embodiments furthermore handle the complex interactions between agents and scene elements in a scalable manner and account for the changes in behavior undertaken by agents in response to, or in anticipation of, the behavior of other agents.
  • the scene 100 depicts an intersection that is being monitored and includes a number of agents 102, which in this case may include both pedestrians and automobiles.
  • the past positions of each agent are shown as dotted-line paths 104.
  • Predictions as to an agent's future position are shown as solid lines 106, with thicker lines representing predictions having a higher likelihood and thinner lines representing predictions having a lower likelihood.
  • the scene 100 may be built across many individual images, with agent positions being tracked from image to image. Semantic elements such as, e.g., the crosswalk 108 may also be present and may include such features as lane markings, traffic lights, and road signs. These elements provide semantic scene context that is used to help determine likely agent trajectories.
  • the present embodiments provide the ability to predict behavior in monitored scenes, aiding in early warning of dangerous or criminal activities, predicting dangerous conditions, providing steering information for autonomous vehicles, etc. It should be understood that, although the present embodiments are described in the context of the specific application of traffic scene analysis, these embodiments may be applied to any future-prediction task.
  • the present embodiments provide scalability (because deep learning enables end-to-end training and easy incorporation with multiple cues from past motion, scene context, and agent interactions), diversity (the stochastic output is combined with an encoding of past observations to generate multiple prediction hypotheses that resolve the ambiguities and multimodalities of future prediction), and accuracy (long-term future rewards are accumulated for sampled trajectories and a deformation of the trajectory is learned to provide accurate predictions farther into the future).
  • block 202 Since there can be multiple plausible futures given the same inputs (including images / and past trajectories X), block 202 generates a diverse set of prediction samples ⁇ to provide accurate prediction of future trajectories 106. Toward this end, block 202 employs a conditional variational auto-encoder (CVAE) framework to learn the sampling model. CVAE introduces a latent variable z that accounts for ambiguity in predictions of the future. A recurrent neural network (RNN) is used to produce an encoding h from the inputs that, with z, is passed to another RNN that generates the future prediction samples.
  • RNN recurrent neural network
  • RNNs are generalizations of feedforward neural networks to sequences.
  • the power of RNNs for sequence-to- sequence modeling makes them useful to the generation of sequential future prediction outputs.
  • the RNNs discussed herein use gated recurrent units (GRUs) over long short-term memory (LSTM) units, since the former is simple but yield no degradation in performance.
  • GRUs gated recurrent units
  • LSTM long short-term memory
  • the present embodiments can predict trajectories of variable length.
  • Block 204 determines the random prediction samples that are most likely to reflect future trajectories while incorporating scene context and interactions.
  • Block 204 ranks the samples and refines them to incorporate contextual and interaction cues.
  • Block 204 uses an RNN that is augmented with a fusion layer that incorporates interaction between agents and a convolutional neural network (CNN) that provides scene information.
  • Block 204 uses training in a multi-task learning framework where the ranking objective is formulated using inverse optimal control (IOC) and the refinement objective is obtained by regression. In a testing phase, the ranking/refinement of block 204 is iterated to obtain more accurate refinements of the prediction of future trajectories.
  • IOC inverse optimal control
  • block 302 conducts a training phase, while block 304 conducts a testing phase.
  • the terms x i t and y iit each represent two-dimensional coordinates for position of the agent i within an image 0 t captured at time t.
  • Future prediction is inherently ambiguous, with uncertainties as to which of several plausible scenarios will result from a given trajectory.
  • a vehicle may make any of a variety of turns at an intersection.
  • learning a deterministic function /that directly maps ⁇ X, 0 ⁇ to Y will under-represent the potential prediction space and can easily over-fit to training data.
  • a naively trained network with a simple loss will product outcomes that average out all possible outcomes.
  • CVAE deep generative model
  • CVAE can learn the distribution P(Yi conditioned on the input trajectories X t by introducing a stochastic latent variable z ⁇ .
  • CVAE uses multiple neural networks, including a recognition network () ⁇ ( ⁇ ⁇ ⁇ , ⁇ ), a prior network ⁇ ⁇ ( ⁇ ⁇
  • block 302 learns (z ⁇
  • block 304 samples z ⁇ randomly from the prior distribution and decodes the latent variables through a decoder network to form a prediction hypothesis. This provides a probabilistic inference which serves to handle multi-modalities in the prediction space.
  • Block 302 encodes the training data, including a past trajectory X t and a future Yi for an agent i using respective RNNs with separate sets of parameters.
  • Encoding the training data converts the image to a vector representation.
  • the resulting encodings, J-C x . and J-C Y . are concatenated and processed by a fully connected neural network layer with a non-linear activation. Two side-by-side, fully connected layers are followed to produce both the mean ⁇ ⁇ . and the standard deviation ⁇ ⁇ over ⁇ i .
  • the fully connected layers convert the set of convolutional feature maps to a vector representation, allowing the network to reason over the entire image, rather than a local receptive field used by the convolutional layers.
  • the target distribution is learned in the latent variable Z j , which provides random samples from a Gaussian distribution for the reconstruction of Yi in block 304. Since back-propagation is not possible through random sampling, reparameterization is used to make the model differentiable.
  • z ⁇ is combined with X t as follows.
  • the sampled latent variable z ⁇ is passed to one fully connected layer to match the dimension of J-C x . that is followed by a softmax layer, producing ?( z i) -
  • the softmaxed latent variable ⁇ ( ⁇ ) is combined with the encodings of past trajectories J-C x . through a masking operation such as element-wise multiplication.
  • the sampling distribution at test-time is to the distribution of the latent variable learned during training (e.g., approximate inference).
  • block 304 does not have access to encodings of future trajectories, so the encodings of past trajectories -C x ., drawn from recent data, are combined with multiple random samples of latent variable z ⁇ drawn from the prior P v (zi) .
  • 1 ?( z i) is passed to the following RNN decoder to generate a diverse set of prediction hypotheses.
  • trajectories pass through a temporal convolution layer before encoding to encourage the network to learn the concept of velocity from adjacent frames before getting passed into RNN encoders.
  • RNNs are implemented using, e.g., gate recurrent units to learn long-term dependencies, but they can be replaced with any appropriate RNN, such as long short-term memory units.
  • First RNN encoder 402 and second RNN encoder 404 accept inputs of X and Y respectively. The encoded inputs are then concatenated at block 404, with the concatenated input being sent to two fully connected networks. A first fully connected network 406 determines the mean, while the second fully connected network 408 determines the standard deviation. These two quantities are then used to determine the latent variable z ⁇ .
  • Block 412 performs a softmax operation on the latent variable which is then combined with the encoded X input with the
  • An RNN decoder 416 then decodes the output of block 414 to produce a predicted future trajectory Y.
  • Predicting a distant future trajectory can be significantly more challenging than predicting a trajectory into the near future.
  • Reinforcement learning where an agent is trained to choose its actions to maximize long-term rewards to achieve a goal, is used to help determine likelier trajectories.
  • the present embodiments learn an unknown reward function with an RNN model that assigns rewards to each prediction hypothesis Y t and attaches a score based on the accumulated long-term rewards.
  • Block 204 further refines the prediction hypotheses by learning displacements AY t to the actual prediction through a fully connected layer.
  • Block 204 receives iterative feedback from regressed predictions and makes adjustments to produce increasingly accurate predictions.
  • past motion history through the embedding vector J-C x semantic scene context through a CNN with parameters p, and interaction among multiple agents using interaction features are combined.
  • the score s of an individual prediction hypothesis Y ⁇ for an agent i on a k th sample is defined as:
  • ⁇ ( ⁇ ) is a reward function that assigns a reward value at each time-step.
  • the reward function ⁇ ( ⁇ ) may be implemented as a fully connected layer that is connected to the hidden vector at t of the RNN module.
  • Block 204 estimates a regression vector AY t that refines each prediction sample
  • the regression function ⁇ accumulates both scene contexts and all other agent dynamics from the past to entire future frames and estimates the best displacement vector AY t over the entire time horizon T. Similar to the score s, it accounts for what happens in the future both in terms of scene context and interactions among dynamic agents to produce an output.
  • a CNN 504 also takes raw input (before processing by the sample generation of block 202) for semantic scene context processing, providing its output to feature pooling block 502, which combines local entries of a feature map into a more compact representation, allowing the feature map to be invariant to local transformations and/or aggregate information over wider spatial regions.
  • the CNN 504 takes the raw image input and produces semantic segmentation output, where each pixel in the image is labeled by its category (e.g., "sky,” “road,” “building,” “pedestrian,” “car,” etc.). This makes it possible to incorporate semantic scene information into predictions.
  • the feature pooling block 502 provides its output to the RNN decoder 506, which processes the feature pooling output and the prediction samples, providing its output to scoring block 508, which scores the samples and tracks accumulated rewards, and to regression block 510, which provides the regression vector AY t as feedback that is combined with input 501 for the next iteration.
  • the RNN decoder 506 in the ranking and refinement block 204 makes use of information about the past motion context of individual agents, the semantic scene context, and the interaction between multiple agents to provide hidden representations that can score and refine the prediction Y t .
  • y i t is a velocity of Y ⁇ at a time t
  • is a fully connected layer with an activation that maps the velocity to a high-dimensional representation space
  • p ($ ⁇ ) C is a pooling operation that pools the CNN feature p(J) at the location i t
  • the embedding vector J-C x . (output by the first RNN encoder 402 in the sample generation block 202) is shared as the initial hidden state of the RNN decoder 506 of the ranking and refinement block 204 to provide individual past motion context. This embedding is shared since both involve embedding the same information in the vector.
  • the feature pooling block 502 implements a spatial grid. For each sample k of an agent i at time t, spatial grid cells are defined centered at y f . Over each grid cell g, the hidden representation of all the other agents' samples that are within the spatial cell are pooled, Vj ⁇ i, Vk, y f E g. Average pooling and a log-polar grid may be used to define the spatial grid.
  • Embodiments described herein may be entirely hardware, entirely software or including both hardware and software elements.
  • the present invention is implemented in software, which includes but is not limited to firmware, resident software, microcode, etc.
  • Embodiments may include a computer program product accessible from a computer-usable or computer-readable medium providing program code for use by or in connection with a computer or any instruction execution system.
  • a computer-usable or computer readable medium may include any apparatus that stores, communicates, propagates, or transports the program for use by or in connection with the instruction execution system, apparatus, or device.
  • the medium can be magnetic, optical, electronic, electromagnetic, infrared, or semiconductor system (or apparatus or device) or a propagation medium.
  • the medium may include a computer-readable storage medium such as a semiconductor or solid state memory, magnetic tape, a removable computer diskette, a random access memory (RAM), a read-only memory (ROM), a rigid magnetic disk and an optical disk, etc.
  • Each computer program may be tangibly stored in a machine-readable storage media or device (e.g., program memory or magnetic disk) readable by a general or special purpose programmable computer, for configuring and controlling operation of a computer when the storage media or device is read by the computer to perform the procedures described herein.
  • the inventive system may also be considered to be embodied in a computer-readable storage medium, configured with a computer program, where the storage medium so configured causes a computer to operate in a specific and predefined manner to perform the functions described herein.
  • a data processing system suitable for storing and/or executing program code may include at least one processor coupled directly or indirectly to memory elements through a system bus.
  • the memory elements can include local memory employed during actual execution of the program code, bulk storage, and cache memories which provide temporary storage of at least some program code to reduce the number of times code is retrieved from bulk storage during execution.
  • I/O devices including but not limited to keyboards, displays, pointing devices, etc. may be coupled to the system either directly or through intervening I/O controllers.
  • Network adapters may also be coupled to the system to enable the data processing system to become coupled to other data processing systems or remote printers or storage devices through intervening private or public networks. Modems, cable modem and Ethernet cards are just a few of the currently available types of network adapters.
  • FIG. 6 an exemplary processing system 600 is shown which may represent the prediction sample generating system 202 and/or the sample ranking and refinement system 204.
  • the processing system 600 includes at least one processor (CPU) 604 operatively coupled to other components via a system bus 602.
  • CPU processor
  • a cache 606, a Read Only Memory (ROM) 608, a Random Access Memory (RAM) 610, an input/output (I/O) adapter 620, a sound adapter 630, a network adapter 640, a user interface adapter 650, and a display adapter 660, are operatively coupled to the system bus 602.
  • a first storage device 622 and a second storage device 624 are operatively coupled to system bus 602 by the I/O adapter 620.
  • the storage devices 622 and 624 can be any of a disk storage device (e.g., a magnetic or optical disk storage device), a solid state magnetic device, and so forth.
  • the storage devices 622 and 624 can be the same type of storage device or different types of storage devices.
  • a speaker 632 is operatively coupled to system bus 602 by the sound adapter 630.
  • a transceiver 642 is operatively coupled to system bus 602 by network adapter 640.
  • a display device 662 is operatively coupled to system bus 602 by display adapter 660.
  • a first user input device 652, a second user input device 654, and a third user input device 656 are operatively coupled to system bus 602 by user interface adapter 650.
  • the user input devices 652, 654, and 656 can be any of a keyboard, a mouse, a keypad, an image capture device, a motion sensing device, a microphone, a device incorporating the functionality of at least two of the preceding devices, and so forth. Of course, other types of input devices can also be used, while maintaining the spirit of the present principles.
  • the user input devices 652, 654, and 656 can be the same type of user input device or different types of user input devices.
  • the user input devices 652, 654, and 656 are used to input and output information to and from system 600.
  • processing system 600 may also include other elements (not shown), as readily contemplated by one of skill in the art, as well as omit certain elements.
  • various other input devices and/or output devices can be included in processing system 600, depending upon the particular implementation of the same, as readily understood by one of ordinary skill in the art.
  • various types of wireless and/or wired input and/or output devices can be used.
  • additional processors, controllers, memories, and so forth, in various configurations can also be utilized as readily appreciated by one of ordinary skill in the art.
  • the system 700 includes a hardware processor 702 and memory 704.
  • a sensor interface 706 collects data from one or more sensors (e.g., video feeds from cameras or any other appropriate sensor type) and stores the data in memory 704.
  • the system 700 furthermore includes one or more functional modules that, in some embodiments, may be implemented as software that is stored in memory 704 or, in other embodiments, may be implemented as one or more discrete hardware components in the form of, e.g., application specific integrated chips or field programmable gate arrays.
  • a training module 708 provides training for neural networks in prediction sample module 710 according to a set of input data that may be stored in the memory 704.
  • the training module 708 uses previous examples of agent trajectories, using the known future trajectories from a particular point in time to train predictions based on a past trajectory.
  • the prediction sample module 710 After training, the prediction sample module 710 generates sets of such predictions for the ranking/refinement module 712 to work with, ultimately producing one or more predictions that represent the most likely future trajectories for agents, taking into account the presence and likely actions of other agents in the scene.
  • a user interface 714 is implemented to provide a display that shows the future trajectories as an overlay of a most recent piece of sensor data, for example overlaying the most likely trajectory of agents in the field of view of a camera.
  • a response module 716 provides manual or automated actions responsive to the determined trajectories, where a human operator can trigger a response through the user interface 714 or a response can be triggered automatically in response to the trajectories matching certain conditions. For example, a large number of agents being detected at a crosswalk, with likely trajectories of crossing the street, may trigger a change in a lighting system's pattern to provide a "walk" signal to those agents.
  • the response module 716 may recognize that an agent is likely to enter an area that is dangerous or off- limits, and the response module 716 may then raise an alarm or trigger a barrier to the user's progress (e.g., by locking a door).

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Physics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Molecular Biology (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Signal Processing (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Probability & Statistics with Applications (AREA)
  • Image Analysis (AREA)

Abstract

Methods and systems for predicting a trajectory include determining prediction samples for agents in a scene based on a past trajectory. The prediction samples are ranked according to a likelihood score that incorporates interactions between agents and semantic scene context. The prediction samples are iteratively refined using a regression function that accumulates scene context and agent interactions across iterations. A response activity is triggered when the prediction samples satisfy a predetermined condition.

Description

DYNAMIC SCENE PREDICTION WITH MULTIPLE INTERACTING AGENTS RELATED APPLICATION INFORMATION
[0001] This application claims priority to U.S. Provisional Application Serial Nos. 62/414,288, 62/418,442, and 62/422,086, filed on October 28, 2016, November 7, 2016, and November 15, 2016 respectively, each of which is incorporated herein by reference herein its entirety.
BACKGROUND
Technical Field
[0002] The present invention relates to scene prediction and, more particularly, to the prediction of future events within a dynamic scene.
Description of the Related Art
[0003] The analysis of dynamic scenes (e.g., video feeds from security cameras or other changing scenes) may identify agents (such as, e.g., people or vehicles) and track their motion through the scene. The scene may include other elements (e.g., roads and crosswalks). Thus, in the example of monitoring a traffic scene, agents may be tracked across the scene elements.
SUMMARY
[0004] A method for predicting a trajectory includes determining prediction samples for agents in a scene based on a past trajectory. The prediction samples are ranked according to a likelihood score that incorporates interactions between agents and semantic scene context. The prediction samples are iteratively refined using a regression function that accumulates scene context and agent interactions across iterations. A response activity is triggered when the prediction samples satisfy a predetermined condition.
[0005] A system for predicting a trajectory includes a prediction sample module configured to determine prediction samples for agents in a scene based on a past trajectory. A ranking/refinement module includes a processor configured to rank the prediction samples according to a likelihood score that incorporates interactions between agents and semantic scene context and to iteratively refine the prediction samples using a regression function that accumulates scene context and agent interactions across iterations. A response module is configured to trigger a response activity when the prediction samples satisfy a predetermined condition.
[0006] These and other features and advantages will become apparent from the following detailed description of illustrative embodiments thereof, which is to be read in connection with the accompanying drawings.
BRIEF DESCRIPTION OF DRAWINGS
[0007] The disclosure will provide details in the following description of preferred embodiments with reference to the following figures wherein:
[0008] FIG. 1 is a drawing illustrating a set of past trajectories and a set of predicted trajectories for agents on a background in accordance with an embodiment of the present invention;
[0009] FIG. 2 is a block/flow diagram of a method of prediction generation and refinement in accordance with an embodiment of the present invention; [0010] FIG. 3 is a block/flow diagram of a method of generating trajectory prediction samples in accordance with an embodiment of the present invention;
[0011] FIG. 4 is a block diagram of a system for generating trajectory prediction samples in accordance with an embodiment of the present invention;
[0012] FIG. 5 is a block diagram of a system for predicting future trajectories based on measured past trajectories in accordance with an embodiment of the present invention; and [0013] FIG. 6 is a block diagram of a processing system in accordance with an embodiment of the present invention.
DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS
[0014] Embodiments of the present principles predict behavior of agents in a dynamic scene. In particular, the present embodiments predict the locations of agents and the evolution of scene elements at future times using observations of the past states of the scene, for example in the form of agent trajectories and scene context derived from image- based features or other sensory date (if available).
[0015] The present embodiments thus adapt decision-making to make determinations about object and scene element types using image features. This stands in contrast to sensors like radar, which cannot generally resolve such features. The present embodiments furthermore handle the complex interactions between agents and scene elements in a scalable manner and account for the changes in behavior undertaken by agents in response to, or in anticipation of, the behavior of other agents.
[0016] To this end, the present embodiments formulate the prediction as an optimization that maximizes the potential future reward of the prediction. Because it is challenging to directly optimize the prediction, the present embodiments generate a diverse set of hypothetical predictions and ranks and refines those hypothetical predictions in an iterative fashion.
[0017] Referring now to FIG. 1, an exemplary scene 100 is shown. The scene 100 depicts an intersection that is being monitored and includes a number of agents 102, which in this case may include both pedestrians and automobiles. The past positions of each agent are shown as dotted-line paths 104. Predictions as to an agent's future position are shown as solid lines 106, with thicker lines representing predictions having a higher likelihood and thinner lines representing predictions having a lower likelihood. The scene 100 may be built across many individual images, with agent positions being tracked from image to image. Semantic elements such as, e.g., the crosswalk 108 may also be present and may include such features as lane markings, traffic lights, and road signs. These elements provide semantic scene context that is used to help determine likely agent trajectories.
[0018] Thus, the present embodiments provide the ability to predict behavior in monitored scenes, aiding in early warning of dangerous or criminal activities, predicting dangerous conditions, providing steering information for autonomous vehicles, etc. It should be understood that, although the present embodiments are described in the context of the specific application of traffic scene analysis, these embodiments may be applied to any future-prediction task. The present embodiments provide scalability (because deep learning enables end-to-end training and easy incorporation with multiple cues from past motion, scene context, and agent interactions), diversity (the stochastic output is combined with an encoding of past observations to generate multiple prediction hypotheses that resolve the ambiguities and multimodalities of future prediction), and accuracy (long-term future rewards are accumulated for sampled trajectories and a deformation of the trajectory is learned to provide accurate predictions farther into the future).
[0019] Referring now to FIG. 2, a method for trajectory prediction is shown. Since there can be multiple plausible futures given the same inputs (including images / and past trajectories X), block 202 generates a diverse set of prediction samples Ϋ to provide accurate prediction of future trajectories 106. Toward this end, block 202 employs a conditional variational auto-encoder (CVAE) framework to learn the sampling model. CVAE introduces a latent variable z that accounts for ambiguity in predictions of the future. A recurrent neural network (RNN) is used to produce an encoding h from the inputs that, with z, is passed to another RNN that generates the future prediction samples.
[0020] RNNs are generalizations of feedforward neural networks to sequences. The power of RNNs for sequence-to- sequence modeling makes them useful to the generation of sequential future prediction outputs. The RNNs discussed herein use gated recurrent units (GRUs) over long short-term memory (LSTM) units, since the former is simple but yield no degradation in performance. Contrary to existing RNN models, the present embodiments can predict trajectories of variable length.
[0021] Block 204 then determines the random prediction samples that are most likely to reflect future trajectories while incorporating scene context and interactions. Block 204 ranks the samples and refines them to incorporate contextual and interaction cues. Block 204 uses an RNN that is augmented with a fusion layer that incorporates interaction between agents and a convolutional neural network (CNN) that provides scene information. Block 204 uses training in a multi-task learning framework where the ranking objective is formulated using inverse optimal control (IOC) and the refinement objective is obtained by regression. In a testing phase, the ranking/refinement of block 204 is iterated to obtain more accurate refinements of the prediction of future trajectories.
[0022] Referring now to FIG. 3, additional detail is provided regarding the generation of prediction samples in block 202. In particular, block 302 conducts a training phase, while block 304 conducts a testing phase. The training phase of block 302 uses a set of known past trajectories for n agents, X = {X1, X2, ... , Xn}, and a set of known future trajectories for the n agents, Y = {Y^ Y2, ... , Yn}, from a set of training data and a set of sensory inputs (e.g., images from a video), 0. The future trajectory of an agent i is thus denoted as Y^ = {yi,t+i> Ύίχ+2>■■■> ϊίχ+δ}> with t representing a present time and δ representing a limit to the amount of time into the future into which the prediction extends. The past trajectory for the agent i is similarly denoted as Xt = xi t_l+1, xi t_l+2, ... ,
Figure imgf000008_0001
with ί representing a limit to the amount of time into the past into which a recorded trajectory extends. The terms xi t and yiit each represent two-dimensional coordinates for position of the agent i within an image 0t captured at time t.
[0023] Future prediction is inherently ambiguous, with uncertainties as to which of several plausible scenarios will result from a given trajectory. Following the example of FIG. 1, a vehicle may make any of a variety of turns at an intersection. As a result, learning a deterministic function /that directly maps {X, 0} to Y will under-represent the potential prediction space and can easily over-fit to training data. Furthermore, a naively trained network with a simple loss will product outcomes that average out all possible outcomes.
[0024] The present embodiments therefore create a deep generative model (CVAE). CVAE can learn the distribution P(Yi
Figure imgf000008_0002
conditioned on the input trajectories Xt by introducing a stochastic latent variable z^. CVAE uses multiple neural networks, including a recognition network ()φ (ζι \ Υι, Χι), a prior network Ρνί | ί), and a generation network Pg (Yi
Figure imgf000009_0001
z ), where θ, <p, and v denote parameters of each network.
[0025] The prior of the latent variables z^ is modulated by the input X^, but this can be relaxed to make the latent variables statistically independent of the input variables such that, e.g., Ρν (ζ.ι \Χ ) = Pv (zi) . CVAE essentially introduces stochastic latent variables z^ that are learned to encode a diverse set of predictions Yi given the input Xt, making it suitable for modeling the one-to-many mapping of predicting future trajectories.
[0026] During training, block 302 learns (z^ | Yit Xi) such that the recognition network gives higher probability to values of z^ that are likely to produce a reconstruction Y^ that is close to actual predictions given the full context of training data for a given X^ and Y^ . At test time, block 304 samples z^ randomly from the prior distribution and decodes the latent variables through a decoder network to form a prediction hypothesis. This provides a probabilistic inference which serves to handle multi-modalities in the prediction space.
[0027] Block 302 encodes the training data, including a past trajectory Xt and a future Yi for an agent i using respective RNNs with separate sets of parameters. Encoding the training data converts the image to a vector representation. The resulting encodings, J-Cx. and J-CY. are concatenated and processed by a fully connected neural network layer with a non-linear activation. Two side-by-side, fully connected layers are followed to produce both the mean μζ. and the standard deviation σζ over∑i . The distribution of z^ is modeled as a Gaussian distribution (e.g., Ζι~(2φ (ζι \Χι, Yt) = JV (μζ., σζ.)) and is regularized by the Kullback-Leibler divergence against a prior distribution Pv (zi) = JV(0, /), where / is the identity matrix and JV(0, /) is a normal distribution with zero mean and unit variance, during training. The fully connected layers convert the set of convolutional feature maps to a vector representation, allowing the network to reason over the entire image, rather than a local receptive field used by the convolutional layers.
[0028] Upon successful training, the target distribution is learned in the latent variable Zj , which provides random samples from a Gaussian distribution for the reconstruction of Yi in block 304. Since back-propagation is not possible through random sampling, reparameterization is used to make the model differentiable.
[0029] To model Pg ( i | i, zi), z^ is combined with Xt as follows. The sampled latent variable z^ is passed to one fully connected layer to match the dimension of J-Cx. that is followed by a softmax layer, producing ?(zi) - The softmaxed latent variable β(∑ι) is combined with the encodings of past trajectories J-Cx. through a masking operation such as element-wise multiplication. This can be interpreted as a guided drop out, where the guidance β is derived from the full context of individual trajectories during the training phase, while it is randomly drawn from an Xt- and Fj-agnostic distribution in the testing phase of block 304. An RNN decoder takes the output of the previous step, J-Cx. | 1 β(ζι), and generates K future prediction samples for each agent i:
Figure imgf000010_0001
[0030] There are two loss terms in training the CVAR-based RNN encoder/decoder in block 302. A reconstruction loss is defined as ^RECON =—∑;<: Y-— Y- (if) The reconstruction loss measures how far the generated samples are from the actual ground truth. A Kullback-Leibler divergence loss is defined as ^KLD =
DKL (Q(j) (.Zi \ Yi, X \ The Kullback-Leibler divergence loss measures how close
Figure imgf000010_0002
the sampling distribution at test-time is to the distribution of the latent variable learned during training (e.g., approximate inference). [0031] At test time, block 304 does not have access to encodings of future trajectories, so the encodings of past trajectories -Cx., drawn from recent data, are combined with multiple random samples of latent variable z^ drawn from the prior Pv (zi) . As in the training phase, J-Cx. | 1 ?(zi) is passed to the following RNN decoder to generate a diverse set of prediction hypotheses. For both of blocks 302 and 04, trajectories pass through a temporal convolution layer before encoding to encourage the network to learn the concept of velocity from adjacent frames before getting passed into RNN encoders. RNNs are implemented using, e.g., gate recurrent units to learn long-term dependencies, but they can be replaced with any appropriate RNN, such as long short-term memory units.
[0032] Referring now to FIG. 4, a system-oriented view of prediction sample generation block 202 is shown. First RNN encoder 402 and second RNN encoder 404 accept inputs of X and Y respectively. The encoded inputs are then concatenated at block 404, with the concatenated input being sent to two fully connected networks. A first fully connected network 406 determines the mean, while the second fully connected network 408 determines the standard deviation. These two quantities are then used to determine the latent variable z^ .
[0033] Block 412 performs a softmax operation on the latent variable which is then combined with the encoded X input with the | 1 operation at block 414. An RNN decoder 416 then decodes the output of block 414 to produce a predicted future trajectory Y.
[0034] Predicting a distant future trajectory can be significantly more challenging than predicting a trajectory into the near future. Reinforcement learning, where an agent is trained to choose its actions to maximize long-term rewards to achieve a goal, is used to help determine likelier trajectories. The present embodiments learn an unknown reward function with an RNN model that assigns rewards to each prediction hypothesis Yt and attaches a score based on the accumulated long-term rewards. Block 204 further refines the prediction hypotheses by learning displacements AYt to the actual prediction through a fully connected layer.
[0035] Block 204 receives iterative feedback from regressed predictions and makes adjustments to produce increasingly accurate predictions. During the iterative refinement, past motion history through the embedding vector J-Cx, semantic scene context through a CNN with parameters p, and interaction among multiple agents using interaction features are combined.
[0036] The score s of an individual prediction hypothesis Y^ for an agent i on a kth sample is defined as:
Figure imgf000012_0001
where Y^£ is the prediction samples of agents other than agent /, is the kth prediction sample of an agent i at time t,
Figure imgf000012_0002
is the prediction samples before a time-step t, T is, the maximum prediction length, and ψ(·) is a reward function that assigns a reward value at each time-step. The reward function ψ(·) may be implemented as a fully connected layer that is connected to the hidden vector at t of the RNN module.
[0037] The parameters of the fully connected layer are shared over all the time steps, such that the score s includes accumulated rewards over time, accounting for the entire future rewards being assigned to each hypothesis. The reward function ψ(·) includes both scene context 0 as well as the interaction between agents through the past trajectories. [0038] Block 204 estimates a regression vector AYt that refines each prediction sample
~ (k)
Yj . The regression vector for each agent lis obtained with a regression function η defined as follows:
A?W = J?(fi (fc); J, X, Y/
[0039] Represented as parameters of a neural network, the regression function η accumulates both scene contexts and all other agent dynamics from the past to entire future frames and estimates the best displacement vector AYt over the entire time horizon T. Similar to the score s, it accounts for what happens in the future both in terms of scene context and interactions among dynamic agents to produce an output. The regression function η is implemented as a fully connected layer that is connected to the last hidden vector of the RNN, which outputs an MxT dimensional vector, with M = 2 being the dimension of the location state.
[0040] There are two loss terms in ranking and refinement block 204: a cross-entropy loss and a regression loss. The cross-entropy loss is expressed as CE = H(p, q), where a target distribution q is obtained by softmax
Figure imgf000013_0001
max Y^— Yi . The regression loss is expressed as £Reg = ~∑,k Yi ~ ~ Ϋ^ ^ . The total loss of the entire network is defined as a multi-task loss:
Figure imgf000013_0002
= ^∑£ ^Recom + ^KLD + ^ CE + ^Reg ^ where N is the total number of agents in a batch. [0041] Referring now to FIG. 5, a system-oriented view of prediction sample generation block 204 is shown. The prediction samples 501 generated by block 202 are provided as input to a feature pooling block 502 and to an RNN decoder 506. A CNN 504 also takes raw input (before processing by the sample generation of block 202) for semantic scene context processing, providing its output to feature pooling block 502, which combines local entries of a feature map into a more compact representation, allowing the feature map to be invariant to local transformations and/or aggregate information over wider spatial regions. The CNN 504 takes the raw image input and produces semantic segmentation output, where each pixel in the image is labeled by its category (e.g., "sky," "road," "building," "pedestrian," "car," etc.). This makes it possible to incorporate semantic scene information into predictions.
[0042] The feature pooling block 502 provides its output to the RNN decoder 506, which processes the feature pooling output and the prediction samples, providing its output to scoring block 508, which scores the samples and tracks accumulated rewards, and to regression block 510, which provides the regression vector AYt as feedback that is combined with input 501 for the next iteration.
[0043] The RNN decoder 506 in the ranking and refinement block 204 makes use of information about the past motion context of individual agents, the semantic scene context, and the interaction between multiple agents to provide hidden representations that can score and refine the prediction Yt . The RNN decoder 506 therefore takes as input: xt = [y ( t> v ( t,m pO)) > r (y t) yj\t, h? t)]
where yi t is a velocity of Y^ at a time t, γ is a fully connected layer with an activation that maps the velocity to a high-dimensional representation space, p ($ΐ ) C ) is a pooling operation that pools the CNN feature p(J) at the location i t, and r (y?i ,' is an interaction feature computed by a fusion layer that spatially
Figure imgf000014_0001
aggregates other agents' hidden vectors. The embedding vector J-Cx. (output by the first RNN encoder 402 in the sample generation block 202) is shared as the initial hidden state of the RNN decoder 506 of the ranking and refinement block 204 to provide individual past motion context. This embedding is shared since both involve embedding the same information in the vector.
[0044] The feature pooling block 502 implements a spatial grid. For each sample k of an agent i at time t, spatial grid cells are defined centered at y f . Over each grid cell g, the hidden representation of all the other agents' samples that are within the spatial cell are pooled, Vj≠ i, Vk, y f E g. Average pooling and a log-polar grid may be used to define the spatial grid.
[0045] Embodiments described herein may be entirely hardware, entirely software or including both hardware and software elements. In a preferred embodiment, the present invention is implemented in software, which includes but is not limited to firmware, resident software, microcode, etc.
[0046] Embodiments may include a computer program product accessible from a computer-usable or computer-readable medium providing program code for use by or in connection with a computer or any instruction execution system. A computer-usable or computer readable medium may include any apparatus that stores, communicates, propagates, or transports the program for use by or in connection with the instruction execution system, apparatus, or device. The medium can be magnetic, optical, electronic, electromagnetic, infrared, or semiconductor system (or apparatus or device) or a propagation medium. The medium may include a computer-readable storage medium such as a semiconductor or solid state memory, magnetic tape, a removable computer diskette, a random access memory (RAM), a read-only memory (ROM), a rigid magnetic disk and an optical disk, etc.
[0047] Each computer program may be tangibly stored in a machine-readable storage media or device (e.g., program memory or magnetic disk) readable by a general or special purpose programmable computer, for configuring and controlling operation of a computer when the storage media or device is read by the computer to perform the procedures described herein. The inventive system may also be considered to be embodied in a computer-readable storage medium, configured with a computer program, where the storage medium so configured causes a computer to operate in a specific and predefined manner to perform the functions described herein.
[0048] A data processing system suitable for storing and/or executing program code may include at least one processor coupled directly or indirectly to memory elements through a system bus. The memory elements can include local memory employed during actual execution of the program code, bulk storage, and cache memories which provide temporary storage of at least some program code to reduce the number of times code is retrieved from bulk storage during execution. Input/output or I/O devices (including but not limited to keyboards, displays, pointing devices, etc.) may be coupled to the system either directly or through intervening I/O controllers.
[0049] Network adapters may also be coupled to the system to enable the data processing system to become coupled to other data processing systems or remote printers or storage devices through intervening private or public networks. Modems, cable modem and Ethernet cards are just a few of the currently available types of network adapters. [0050] Referring now to FIG. 6, an exemplary processing system 600 is shown which may represent the prediction sample generating system 202 and/or the sample ranking and refinement system 204. The processing system 600 includes at least one processor (CPU) 604 operatively coupled to other components via a system bus 602. A cache 606, a Read Only Memory (ROM) 608, a Random Access Memory (RAM) 610, an input/output (I/O) adapter 620, a sound adapter 630, a network adapter 640, a user interface adapter 650, and a display adapter 660, are operatively coupled to the system bus 602.
[0051] A first storage device 622 and a second storage device 624 are operatively coupled to system bus 602 by the I/O adapter 620. The storage devices 622 and 624 can be any of a disk storage device (e.g., a magnetic or optical disk storage device), a solid state magnetic device, and so forth. The storage devices 622 and 624 can be the same type of storage device or different types of storage devices.
[0052] A speaker 632 is operatively coupled to system bus 602 by the sound adapter 630. A transceiver 642 is operatively coupled to system bus 602 by network adapter 640. A display device 662 is operatively coupled to system bus 602 by display adapter 660.
[0053] A first user input device 652, a second user input device 654, and a third user input device 656 are operatively coupled to system bus 602 by user interface adapter 650. The user input devices 652, 654, and 656 can be any of a keyboard, a mouse, a keypad, an image capture device, a motion sensing device, a microphone, a device incorporating the functionality of at least two of the preceding devices, and so forth. Of course, other types of input devices can also be used, while maintaining the spirit of the present principles. The user input devices 652, 654, and 656 can be the same type of user input device or different types of user input devices. The user input devices 652, 654, and 656 are used to input and output information to and from system 600.
[0054] Of course, the processing system 600 may also include other elements (not shown), as readily contemplated by one of skill in the art, as well as omit certain elements. For example, various other input devices and/or output devices can be included in processing system 600, depending upon the particular implementation of the same, as readily understood by one of ordinary skill in the art. For example, various types of wireless and/or wired input and/or output devices can be used. Moreover, additional processors, controllers, memories, and so forth, in various configurations can also be utilized as readily appreciated by one of ordinary skill in the art. These and other variations of the processing system 600 are readily contemplated by one of ordinary skill in the art given the teachings of the present principles provided herein.
[0055] Referring now to FIG. 7, a video analysis system 700 is shown. The system 700 includes a hardware processor 702 and memory 704. A sensor interface 706 collects data from one or more sensors (e.g., video feeds from cameras or any other appropriate sensor type) and stores the data in memory 704. The system 700 furthermore includes one or more functional modules that, in some embodiments, may be implemented as software that is stored in memory 704 or, in other embodiments, may be implemented as one or more discrete hardware components in the form of, e.g., application specific integrated chips or field programmable gate arrays.
[0056] A training module 708 provides training for neural networks in prediction sample module 710 according to a set of input data that may be stored in the memory 704. The training module 708 uses previous examples of agent trajectories, using the known future trajectories from a particular point in time to train predictions based on a past trajectory. After training, the prediction sample module 710 generates sets of such predictions for the ranking/refinement module 712 to work with, ultimately producing one or more predictions that represent the most likely future trajectories for agents, taking into account the presence and likely actions of other agents in the scene.
[0057] A user interface 714 is implemented to provide a display that shows the future trajectories as an overlay of a most recent piece of sensor data, for example overlaying the most likely trajectory of agents in the field of view of a camera. A response module 716 provides manual or automated actions responsive to the determined trajectories, where a human operator can trigger a response through the user interface 714 or a response can be triggered automatically in response to the trajectories matching certain conditions. For example, a large number of agents being detected at a crosswalk, with likely trajectories of crossing the street, may trigger a change in a lighting system's pattern to provide a "walk" signal to those agents. In another embodiment, the response module 716 may recognize that an agent is likely to enter an area that is dangerous or off- limits, and the response module 716 may then raise an alarm or trigger a barrier to the user's progress (e.g., by locking a door).
[0058] The foregoing is to be understood as being in every respect illustrative and exemplary, but not restrictive, and the scope of the invention disclosed herein is not to be determined from the Detailed Description, but rather from the claims as interpreted according to the full breadth permitted by the patent laws. It is to be understood that the embodiments shown and described herein are only illustrative of the principles of the present invention and that those skilled in the art may implement various modifications without departing from the scope and spirit of the invention. Those skilled in the art could implement various other feature combinations without departing from the scope and spirit of the invention. Having thus described aspects of the invention, with the details and particularity required by the patent laws, what is claimed and desired protected by Letters Patent is set forth in the appended claims.

Claims

WHAT IS CLAIMED IS:
1. A method for predicting a trajectory, comprising:
determining a plurality of prediction samples for agents in a scene based on a past trajectory;
ranking the prediction samples using a processor according to a likelihood score that incorporates interactions between agents and semantic scene context;
iteratively refining the prediction samples using a regression function that accumulates scene context and agent interactions across iterations; and
triggering a response activity when the prediction samples satisfy a predetermined condition.
2. The method of claim 1, further comprising training a neural network used to generate the prediction samples based on past trajectories and outcomes of the past trajectories.
3. The method of claim 2, wherein training the neural network comprises determining stochastic latent variables that characterize a distribution of prediction samples.
4. The method of claim 3, wherein determining the plurality of prediction samples comprises randomly generating predictions within parameters set by the stochastic latent variables.
5. The method of claim 3, wherein a distribution of the stochastic latent variables comprises a Gaussian distribution defined by a mean and a standard deviation, regularized by a Kullback-Leibler divergence over a distribution of the past trajectories and the outcomes of the past trajcetories.
6. The method of claim 1, wherein the agent interactions are characterized by all past trajectories, including trajectories from training data and trajectories in a present scene.
7. The method of claim 1, wherein the scene context is characterized by static features of a scene that influence agent behavior.
8. The method of claim 1, wherein the scene is a video feed and wherein agents are moving entities within the scene.
9. The method of claim 1, wherein the response activity comprises an activity selected from the group consisting of raising an alarm and enabling a barrier to a user's trajectory.
10. A system for predicting a trajectory, comprising:
a prediction sample module configured to determine a plurality of prediction samples for agents in a scene based on a past trajectory; a ranking/refinement module comprising a processor configured to rank the prediction samples according to a likelihood score that incorporates interactions between agents and semantic scene context and to iteratively refine the prediction samples using a regression function that accumulates scene context and agent interactions across iterations; and
a response module configured to trigger a response activity when the prediction samples satisfy a predetermined condition.
11. The system of claim 10, further comprising a training module configured to train a neural network used to generate the prediction samples based on past trajectories and outcomes of the past trajectories.
12. The system of claim 11, wherein the training module is further configured to determine stochastic latent variables that characterize a distribution of prediction samples.
13. The system of claim 12, wherein the prediction sample module is further configured to randomly generate predictions within parameters set by the stochastic latent variables.
14. The system of claim 12, wherein a distribution of the stochastic latent variables comprises a Gaussian distribution defined by a mean and a standard deviation, regularized by a Kullback-Leibler divergence over a distribution of the past trajectories and the outcomes of the past trajectories.
15. The system of claim 11, wherein the agent interactions are characterized by all past trajectories, including trajectories from training data and trajectories in a present scene.
16. The system of claim 11, wherein the scene context is characterized by static features of a scene that influence agent behavior.
17. The system of claim 11, wherein the scene is a video feed and wherein agents are moving entities within the scene.
18. The system of claim 11, wherein the response activity comprises an activity selected from the group consisting of raising an alarm and enabling a barrier to a user's trajectory.
PCT/US2017/057958 2016-10-28 2017-10-24 Dynamic scene prediction with multiple interacting agents Ceased WO2018081036A1 (en)

Applications Claiming Priority (8)

Application Number Priority Date Filing Date Title
US201662414288P 2016-10-28 2016-10-28
US62/414,288 2016-10-28
US201662418442P 2016-11-07 2016-11-07
US62/418,442 2016-11-07
US201662422086P 2016-11-15 2016-11-15
US62/422,086 2016-11-15
US15/789,098 US10595037B2 (en) 2016-10-28 2017-10-20 Dynamic scene prediction with multiple interacting agents
US15/789,098 2017-10-20

Publications (1)

Publication Number Publication Date
WO2018081036A1 true WO2018081036A1 (en) 2018-05-03

Family

ID=62022752

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2017/057958 Ceased WO2018081036A1 (en) 2016-10-28 2017-10-24 Dynamic scene prediction with multiple interacting agents

Country Status (2)

Country Link
US (1) US10595037B2 (en)
WO (1) WO2018081036A1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109034448A (en) * 2018-06-14 2018-12-18 重庆邮电大学 Trajectory Prediction Method Based on Vehicle Trajectory Semantic Analysis and Deep Belief Network
WO2021178299A1 (en) * 2020-03-04 2021-09-10 Nec Laboratories America, Inc. Multi-agent trajectory prediction
CN115916615A (en) * 2020-04-03 2023-04-04 伟摩有限责任公司 Behavioral Prediction of Surrounding Factors

Families Citing this family (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3400419B1 (en) * 2016-01-05 2025-08-27 Mobileye Vision Technologies Ltd. Trained navigational system with imposed constraints
EP3566182A1 (en) * 2017-02-06 2019-11-13 Deepmind Technologies Limited Memory augmented generative temporal models
US10592776B2 (en) * 2017-02-08 2020-03-17 Adobe Inc. Generating multimodal image edits for a digital image
JP2019156180A (en) * 2018-03-13 2019-09-19 本田技研工業株式会社 Vehicle controller, vehicle control method and program
EP3776370B1 (en) * 2018-05-18 2024-11-20 DeepMind Technologies Limited Graph neural network systems for behavior prediction and reinforcement learning in multiple agent environments
CN108897723B (en) * 2018-06-29 2022-08-02 北京百度网讯科技有限公司 Scene conversation text recognition method and device and terminal
US11029694B2 (en) * 2018-09-27 2021-06-08 Salesforce.Com, Inc. Self-aware visual-textual co-grounded navigation agent
CZ308605B6 (en) * 2018-10-01 2020-12-30 Roboauto s.r.o. Sensory system with fast group fusion to obtain a model of objects in its vicinity
US10831208B2 (en) * 2018-11-01 2020-11-10 Ford Global Technologies, Llc Vehicle neural network processing
US11231717B2 (en) * 2018-11-08 2022-01-25 Baidu Usa Llc Auto-tuning motion planning system for autonomous vehicles
US11467591B2 (en) * 2019-05-15 2022-10-11 Baidu Usa Llc Online agent using reinforcement learning to plan an open space trajectory for autonomous vehicles
US11493926B2 (en) * 2019-05-15 2022-11-08 Baidu Usa Llc Offline agent using reinforcement learning to speedup trajectory planning for autonomous vehicles
US11409284B2 (en) 2019-05-15 2022-08-09 Baidu Usa Llc Relaxation optimization model to plan an open space trajectory for autonomous vehicles
EP3745310B1 (en) * 2019-05-28 2025-04-23 Robert Bosch GmbH Method for calibrating a multi-sensor system using an artificial neural network
US20220237905A1 (en) * 2019-05-28 2022-07-28 Toyota Motor Europe Method and system for training a model for image generation
WO2020261333A1 (en) * 2019-06-24 2020-12-30 日本電気株式会社 Learning device, traffic event prediction system, and learning method
JP2023501039A (en) * 2019-09-16 2023-01-18 インテル コーポレイション Probabilistic Trajectory Prediction Using Social Graph Networks
CN110781838B (en) * 2019-10-28 2023-05-26 大连海事大学 Multi-mode track prediction method for pedestrians in complex scene
US11586931B2 (en) * 2019-10-31 2023-02-21 Waymo Llc Training trajectory scoring neural networks to accurately assign scores
US11912271B2 (en) 2019-11-07 2024-02-27 Motional Ad Llc Trajectory prediction from precomputed or dynamically generated bank of trajectories
US12005892B2 (en) * 2019-11-14 2024-06-11 Nec Corporation Simulating diverse long-term future trajectories in road scenes
SE1951488A1 (en) * 2019-12-18 2021-06-19 Forsete Group Ab Method and system for predicting movement
CN111274438B (en) * 2020-01-15 2023-06-23 中山大学 A Language Description-Guided Video Timing Location Method
US11328433B2 (en) * 2020-02-25 2022-05-10 Honda Motor Co., Ltd. Composite field based single shot prediction
CN111523378B (en) * 2020-03-11 2023-07-28 浙江工业大学 Human behavior prediction method based on deep learning
US12112622B2 (en) * 2020-03-12 2024-10-08 Honda Motor Co., Ltd. Systems and methods for heterogeneous multi-agent multi-modal trajectory prediction with evolving interaction graphs
CN111428763B (en) * 2020-03-17 2023-04-07 陕西师范大学 Pedestrian trajectory prediction method based on scene constraint GAN
US12001958B2 (en) * 2020-03-19 2024-06-04 Nvidia Corporation Future trajectory predictions in multi-actor environments for autonomous machine
US12468952B2 (en) * 2020-06-02 2025-11-11 Salesforce, Inc. Systems and methods for noise-robust contrastive learning
US11873012B2 (en) * 2020-07-17 2024-01-16 Honda Motor Co., Ltd. System and method for providing social-stage spatio-temporal multi-modal future forecasting
CN112269931B (en) * 2020-10-28 2023-10-31 中山大学 Data-driven swarm intelligence interactive relationship inference and evolutionary calculation method
US12311925B2 (en) * 2020-11-10 2025-05-27 Nec Corporation Divide-and-conquer for lane-aware diverse trajectory prediction
FR3117223B1 (en) 2020-12-04 2022-11-04 Renault Sas Machine learning-based vehicle control system and method
CN112752308B (en) * 2020-12-31 2022-08-05 厦门越人健康技术研发有限公司 Mobile prediction wireless edge caching method based on deep reinforcement learning
CN114792148B (en) * 2021-01-25 2025-09-19 魔门塔(苏州)科技有限公司 Motion trail prediction method and device
US12420846B2 (en) * 2021-03-19 2025-09-23 Waymo Llc Agent trajectory prediction using context-sensitive fusion
WO2022242842A1 (en) * 2021-05-19 2022-11-24 Huawei Technologies Co., Ltd. Apparatus and method for assisting an autonomous vehicle and/or a driver of a vehicle
US20230025848A1 (en) * 2021-07-22 2023-01-26 International Business Machines Corporation Simulating weather scenarios and predictions of extreme weather
CN113920170B (en) * 2021-11-24 2024-04-16 中山大学 Pedestrian trajectory prediction method, system and storage medium combining scene context and pedestrian social relations
CN114511594B (en) * 2022-01-27 2025-05-30 西安交通大学 A multimodal pedestrian trajectory prediction method and system based on predefined tree
CN114429490B (en) * 2022-01-27 2025-05-13 西安交通大学 A pedestrian trajectory prediction method and system based on complementary attention
CN114882426B (en) * 2022-04-06 2024-10-01 华中科技大学 A trajectory prediction method and device based on semantic consistency
GB202208732D0 (en) * 2022-06-14 2022-07-27 Five Ai Ltd Motion prediction for mobile agents
US12269507B2 (en) * 2022-06-17 2025-04-08 Baidu Usa Llc Distributional expert demonstrations for autonomous driving
DE102022213710A1 (en) 2022-12-15 2024-06-20 Robert Bosch Gesellschaft mit beschränkter Haftung Predicting the evolution of a scene using aggregation of latent representations
US20240246569A1 (en) * 2023-01-23 2024-07-25 Gm Cruise Holdings Llc Trajectory prediction through semantic interaction
CN116523156A (en) * 2023-04-04 2023-08-01 同济大学 Non-conservative intelligent automobile decision-making planning integrated method
US12612036B2 (en) * 2023-04-20 2026-04-28 Nec Corporation Diverse future predictions for pedestrians
CN117473032B (en) * 2023-11-20 2025-05-30 上海人工智能创新中心 Scene-level multi-agent track generation method and device based on consistent diffusion

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070071285A1 (en) * 2005-09-26 2007-03-29 Cognisign Llc Apparatus and method for trajectory-based identification of digital data content
US20120263437A1 (en) * 2009-12-16 2012-10-18 Thomson Licensing Human interaction trajectory-based system
US20130128121A1 (en) * 2010-09-14 2013-05-23 Aseem O. Agarwala Methods and Apparatus for Video Completion
US20140347475A1 (en) * 2013-05-23 2014-11-27 Sri International Real-time object detection, tracking and occlusion reasoning
US20160140391A1 (en) * 2014-11-14 2016-05-19 Intel Corporation Automatic target selection for multi-target object tracking

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8711217B2 (en) * 2000-10-24 2014-04-29 Objectvideo, Inc. Video surveillance system employing video primitives
US8098891B2 (en) * 2007-11-29 2012-01-17 Nec Laboratories America, Inc. Efficient multi-hypothesis multi-human 3D tracking in crowded scenes

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070071285A1 (en) * 2005-09-26 2007-03-29 Cognisign Llc Apparatus and method for trajectory-based identification of digital data content
US20120263437A1 (en) * 2009-12-16 2012-10-18 Thomson Licensing Human interaction trajectory-based system
US20130128121A1 (en) * 2010-09-14 2013-05-23 Aseem O. Agarwala Methods and Apparatus for Video Completion
US20140347475A1 (en) * 2013-05-23 2014-11-27 Sri International Real-time object detection, tracking and occlusion reasoning
US20160140391A1 (en) * 2014-11-14 2016-05-19 Intel Corporation Automatic target selection for multi-target object tracking

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109034448A (en) * 2018-06-14 2018-12-18 重庆邮电大学 Trajectory Prediction Method Based on Vehicle Trajectory Semantic Analysis and Deep Belief Network
CN109034448B (en) * 2018-06-14 2022-02-11 重庆邮电大学 Trajectory prediction method based on vehicle trajectory semantic analysis and deep belief network
WO2021178299A1 (en) * 2020-03-04 2021-09-10 Nec Laboratories America, Inc. Multi-agent trajectory prediction
CN115916615A (en) * 2020-04-03 2023-04-04 伟摩有限责任公司 Behavioral Prediction of Surrounding Factors

Also Published As

Publication number Publication date
US10595037B2 (en) 2020-03-17
US20180124423A1 (en) 2018-05-03

Similar Documents

Publication Publication Date Title
US10595037B2 (en) Dynamic scene prediction with multiple interacting agents
Hou et al. Interactive trajectory prediction of surrounding road users for autonomous driving using structural-LSTM network
Kosaraju et al. Social-bigat: Multimodal trajectory forecasting using bicycle-gan and graph attention networks
Tang et al. Multiple futures prediction
EP4180892B1 (en) Self-aware visual-textual co-grounded navigation agent
US11189171B2 (en) Traffic prediction with reparameterized pushforward policy for autonomous vehicles
Lee et al. Desire: Distant future prediction in dynamic scenes with interacting agents
US10705531B2 (en) Generative adversarial inverse trajectory optimization for probabilistic vehicle forecasting
CN112734808B (en) Trajectory prediction method for vulnerable road users in vehicle driving environment
US20230406360A1 (en) Trajectory prediction using efficient attention neural networks
CN118823308A (en) A target detection and tracking network model and method based on multi-source heterogeneous sensor information fusion
US12299898B2 (en) Predicting the future movement of agents in an environment using occupancy flow fields
Saleh et al. Cyclist trajectory prediction using bidirectional recurrent neural networks
Paravarzar et al. Motion prediction on self-driving cars: A review
US12612036B2 (en) Diverse future predictions for pedestrians
CN120543954B (en) Model training method, device, equipment and medium based on vision reinforcement learning
Dan Spatial-temporal block and LSTM network for pedestrian trajectories prediction
An et al. Multi attention generative adversarial network for pedestrian trajectory prediction based on spatial gridding
Benrachou et al. Graph-based spatial-temporal attentive network for vehicle trajectory prediction in automated driving
US12379214B2 (en) Method of augmenting human perception of the surroundings
Sundari et al. A unified vehicle trajectory prediction model using multi-level context-aware graph attention mechanism: K. Sundari, AS Thilak
CN118135503B (en) A trajectory prediction method and device for two-way dynamic map and intelligent agent interaction
US12555198B2 (en) Multivariate initialization for convolutional layers
CN115329217B (en) A method and apparatus for predicting vehicle trajectories based on destination retrieval and social attention mechanisms
CN120462453B (en) A collision risk prediction method for autonomous vehicles in extreme weather

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 17865237

Country of ref document: EP

Kind code of ref document: A1