CN114222986A - 使用社交图网络进行的随机轨迹预测 - Google Patents
使用社交图网络进行的随机轨迹预测 Download PDFInfo
- Publication number
- CN114222986A CN114222986A CN201980099325.0A CN201980099325A CN114222986A CN 114222986 A CN114222986 A CN 114222986A CN 201980099325 A CN201980099325 A CN 201980099325A CN 114222986 A CN114222986 A CN 114222986A
- Authority
- CN
- China
- Prior art keywords
- person
- time interval
- image
- vector
- depicted
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9024—Graphs; Linked lists
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/103—Static body considered as a whole, e.g. static pedestrian or occupant recognition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/12—Edge-based segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/246—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
- G06Q50/01—Social networking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30196—Human being; Person
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V2201/00—Indexing scheme relating to image or video recognition or understanding
- G06V2201/07—Target detection
Abstract
利用社交图网络提供随机轨迹预测的系统、方法、装置和计算机程序产品。操作可包括确定描述图像中描绘的多个人中的第一人的目的地特征的第一特征向量,基于图像中描绘的多个人来为图像生成有向图,基于有向图和目的地特征为第一人确定第二特征向量,从学习的先验分布中采样出潜变量的值,该潜变量对应于第一时间间隔,并且基于采样的值和这些特征向量,由在处理器上执行的层次化长短期记忆网络(LSTM)生成输出向量,该输出向量包括第一人在第二时间间隔的运动方向和该运动方向的速度,第二时间间隔在第一时间间隔之后。
Description
背景技术
由于任何未来运动的不确定性和/或模糊性,程序化地预测人、车辆或其他物体的未来位置是很困难的。例如,在任何给定时间,一个接近十字路口或离开建筑物的行人都可能在任何数目的不同方向上移动。此外,不同的外部因素可能影响行人采取的路线。因此,在不同的应用中,例如自主车辆、机器人、无人机等等,很难准确预测运动。考虑到各种计算机视觉算法(例如,物体检测、物体跟踪,等等)所需要的时间和计算资源的量,利用较少的资源更准确地预测未来位置的能力可能在碰撞预防方面提供重大改进。
附图说明
图1图示了系统的实施例。
图2图示了使用社交图网络进行的随机轨迹预测的示例。
图3A-3C图示了使用社交图网络进行的随机轨迹预测的示例。
图4图示了示例图像。
图5图示了第一逻辑流程的实施例。
图6图示了第二逻辑流程的实施例。
图7图示了第三逻辑流程的实施例。
图8图示了存储介质的实施例。
图9图示了系统的实施例。
具体实施方式
本文公开的实施例提供了通过使用社交图(social graph)和时间随机方法对社交交互模式的不确定性进行建模,来准确预测一个或多个图像中描绘的人的可能未来运动的技术。一般而言,社交图可以对非对称的成对关系建模,并且社交图网络可以从图像和/或社交图中提取两类特征。这两类特征可包括个体的面向目的地的特征(例如,与人的目的地有关的特征)和/或社交意识特征(例如,描述人类交互的特征)。社交图可包括有向图,给定图像中描绘的人的位置和人的任何运动的速度,该有向图在多个时间间隔的每一者内被更新。类似地,用于对图像中描绘的两个或更多个人之间的社交交互的不确定性进行建模的时间随机方法可以在每个时间间隔被更新。一般而言,在每个时间间隔,时间随机方法可以从学习到的先验(可能随时间变化)中采样出潜变量,并且使用所采样的潜变量来生成不同的预测。为了生成所有面向目的地的和/或社交合理的路径,时间随机方法可以利用层次化长短期记忆网络(long short-term memory,LSTM)来逐步预测人们接下来可能移动到的地方。
有利地,本文公开的实施例提供了更准确地预测图像中描绘的人的运动的技术。这样做可以改善预测人员移动到何处的不同计算系统的安全性和可靠性。例如,使用本公开的技术,计算系统可以更准确地确定图像中描绘的一个或多个行人的未来位置。自主车辆可以使用该位置数据来确定自主车辆与一个或多个行人之间未来可能会发生碰撞。然后,自主车辆可以执行操作,以避免与行人碰撞,例如,通过生成被输出给行人的警报(例如,按下自主车辆的喇叭)和/或改变自主车辆的运动(例如,放慢速度、改变方向和/或停止)。实施例不限于此情境中。
大体上,关于本文使用的符号和术语,可按照在计算机或计算机的网络上执行的程序过程来呈现接下来的详细描述的一个或多个部分。这些过程描述和表示被本领域技术人员用来最有效地将其工作的实质传达给本领域的其他技术人员。过程在这里并且一般而言被设想为是通向期望结果的操作的自洽序列。这些操作是要求对物理量进行物理操纵的那些操作。通常(但并非一定),这些量采取能够被存储、传送、组合、比较和以其他方式操纵的电信号、磁信号或光信号的形式。已证明有时,主要是出于习惯用法的原因,将这些信号称为比特、值、元素、符号、字符、项、数字等等,是方便的。然而,应当注意,这些和类似的术语都将与适当的物理量相关联并且只是应用于这些量的方便标签。
另外,经常是按通常与人类操作者执行的精神操作相关联的术语(例如添加或比较)来提及这些操纵的。然而,在本文描述的形成一个或多个实施例的一部分的任何操作中,人类操作者的这种能力并不是必要的,或者在大多数情况下并不是想要的。更确切地说,这些操作是机器操作。用于执行各种实施例的操作的有用机器包括由存储在内的根据本文的教导编写的计算机程序来选择性激活或配置的通用数字计算机,和/或包括为要求的目的而特别构造的装置。各种实施例还涉及用于执行这些操作的装置或系统。这些装置可以是为要求的目的而特别构造的或者可包括通用计算机。对各种这些机器所要求的结构将从给出的描述中清楚显现。
现在参考附图,附图中相似的标号始终用于指代相似的元素。在接下来的描述中,出于说明目的,记载了许多具体细节以提供对其的透彻理解。然而,可明显看出,没有这些具体细节也可实现新颖的实施例。在其他实例中,以框图形式示出了公知的结构和设备以促进对其的描述。意图是覆盖在权利要求的范围内的所有修改、等同和替换。
图1图示了利用社交图网络提供随机轨迹预测的计算系统100的实施例。计算系统100可以是任何类型的计算系统,例如服务器、工作站、膝上型电脑、移动设备、或者虚拟化计算系统。例如,系统100可以是嵌入式系统,例如深度学习加速卡、具有深度学习加速的处理器、神经计算棒,等等。在一些示例中,系统100包括片上系统(System on a Chip,SoC),而在其他实施例中,系统100包括印刷电路板或者具有两个或更多个分立组件的芯片封装。系统100至少包括处理器101、存储器102、以及一个或多个图像捕捉设备103。图1中描绘的计算系统100的配置不应被认为是对本公开的限制,因为本公开适用于其他配置。处理器101代表了任何类型的计算机处理器电路,例如,中央处理单元、图形处理单元、或者其他任何处理单元。另外,处理器中的一个或多个可包括多个处理器、多线程处理器、多核处理器(无论多个核心是共存于同一管芯上还是在分开的管芯上)、和/或一些其他种类的多处理器体系结构,通过这些体系结构,多个物理上分开的处理器以某种方式链接起来。虽然描绘了一个计算系统100,但多个计算系统100可经由通信网络通信地耦合。
存储器102代表了任何类型的信息存储技术,包括要求不间断地提供电力的易失性技术,以及包括需要使用可能可移除也可能不可移除的机器可读存储介质的技术。从而,存储器102可包括各种类型(或类型组合)的存储设备中的任何一种,包括但不限于只读存储器(read-only memory,ROM)、随机访问存储器(random-access memory,RAM)、动态RAM(dynamic RAM,DRAM)、双数据速率DRAM(Double-Data-Rate DRAM,DDR-DRAM)、同步DRAM(synchronous DRAM,SDRAM)、静态RAM(static RAM,SRAM)、可编程ROM(programmable ROM,PROM)、可擦除可编程ROM(erasable programmable ROM,EPROM)、电可擦除可编程ROM(electrically erasable programmable ROM,EEPROM)、闪速存储器、聚合物存储器(例如,铁电聚合物存储器)、奥氏存储器、相变或铁电存储器、硅氧化氮氧化硅(silicon-oxide-nitride-oxide-silicon,SONOS)存储器、磁卡或光卡、一个或多个个体铁磁盘驱动器、或者被组织成一个或多个阵列的多个存储设备(例如,被组织成独立盘冗余阵列阵列或者说RAID阵列的多个铁磁盘驱动器)。应当注意,虽然存储器102被描绘为单个块,但存储器102可包括多个存储设备,这些存储设备可以基于不同的存储技术。从而,例如,存储器102可以表示以下各项的组合:光驱或闪存卡读取器,通过它可以在某种形式的机器可读存储介质上存储和运送程序和/或数据;铁磁盘驱动器,来将程序和/或数据在本地存储相对较长的时间;以及一个或多个易失性固态存储器设备,使得能够相对快速地访问程序和/或数据(例如,SRAM或DRAM)。还应当注意,存储器102可以由多个基于相同存储技术的存储组件组成,但由于使用中的特殊性,这些组件可以被分开维护(例如,一些DRAM设备被用作主存储,而其他DRAM设备被用作图形控制器的独特帧缓冲器)。
图像捕捉设备103代表任何类型的捕捉描绘环境的图像数据的设备。图像捕捉设备103的一个示例包括具有图像传感器的相机,该图像传感器被配置为捕捉描绘环境的数字图像(例如,彩色图像、黑白图像、灰度图像、x射线图像、红外图像,等等)。该环境可以是任何现实世界的环境和/或其一部分,例如十字路口、街道、人行道、水路、空域、房间、走廊、建筑物的楼层,等等。经常,环境是拥挤的,并且在给定图像中可能描绘许多人。虽然被描绘为计算系统100的组件,但图像捕捉设备103可以在计算系统100的外部。在这样的示例中,图像捕捉设备103可代表一个或多个相机(例如,监控相机),这些相机被配置为捕捉环境的图像并且将图像提供给计算系统100(例如,经由通信网络)以进行处理,如下文更详细描述的。然而,作为另一个示例,监控相机可包括系统100的组件,这些组件可以处理捕捉的图像,如下文更详细描述的。
在至少一个实施例中,计算系统100是自主车辆、无人机、机器人或者能够部分和/或完全自主运动的其他设备(在此统称为自主车辆)的组件(和/或与其通信地耦合)。在这样的示例中,导航逻辑112可以程序化地控制自主车辆的运动的至少一部分。此外,导航逻辑112可以基于对由图像捕捉设备103捕捉的图像的处理,从轨迹模块104接收信号。例如,轨迹模块104可以确定,与图像中描绘的行人的碰撞很可能会发生(例如,超过阈值可能性水平)。在这样的示例中,导航逻辑112可以修改自主车辆的运动(例如,改变运动方向、改变运动速度、停止运动,等等)。类似地,轨迹模块104和/或导航逻辑112可以输出警告信号(例如,按下自主车辆的喇叭、从自主车辆发出光信号,等等)。更概括而言,无论实现方式如何,轨迹模块104都可以输出警告信号,其中包括音频信号、视觉信号和/或数据信号。例如,当被集成到监控相机中时,轨迹模块104可以经由扬声器发出音频信号,经由信标发出光信号,和/或经由无线网络将数据信号传输到附近自主车辆的轨迹模块104和/或导航逻辑112。
如图所示,存储器102包括轨迹模块104、训练数据105、一个或多个计算机视觉(computer vision,CV)算法106、以及导航逻辑112。虽然被描绘为驻留在存储器102中,但轨迹模块104、训练数据105、CV算法106和导航逻辑112可被实现为硬件、软件和/或硬件与软件的组合。例如,处理器101可以执行轨迹模块104的指令114以执行本文描述的轨迹模块104的功能。类似地,处理器101可以执行CV算法106和/或导航逻辑102的指令(未画出)。在一些实施例中,轨迹模块104可以是CV算法106和/或导航逻辑112的组件。
轨迹模块104一般被配置为生成反映在一个或多个图像中描绘的物体的预测运动的输出,例如,由图像捕捉设备103捕捉的图像和/或从其他来源接收的图像。虽然人在本文中被用作物体的参考示例,但本公开适用于预测其他类型物体的运动,例如自主车辆、机器人、动物,等等。一般而言,预测人类的运动对于CV算法106(或其他计算系统)而言是一项有挑战性的任务,因为人类运动可能会受到复杂的人类社交交互行为和/或人类运动的随机性质的影响。例如,在街上行走的人可能会向左移动和/或向右移动,以超过走在其前面的另一个人。有利的是,本文公开的实施例通过以下方式解决了这些问题:利用一个或多个社交图107来捕捉图像中描绘的人类交互,利用社交网络113从图像和/或社交图107中提取特征,利用一个或多个随机模型108来生成和采样以当前状态为条件的潜变量,其编码了个体信息和交互信息两者,以及利用一个或多个解码器模型109来预测图像中描绘的人的运动。人类(或社交)交互的类型可包括——但不限于——图像中描绘的两个或更多个人之间的距离和/或一个人是否在图像中的另一个人的视野中(例如,基于与两个人相关联的向量是否相交)。随机模型108、解码器模型109和/或社交网络113可以是任何类型的计算模型,例如神经网络。在此使用神经网络作为随机模型108、解码器模型109和/或社交网络113的参考示例并不是对本公开的限制,因为本公开适用于所有类型的计算模型,这些计算模型可以被训练来执行本文描述的操作。
对于给定的图像(例如,由图像捕捉设备103捕捉的图像和/或训练数据105中的图像),图像中可能描绘了N个人,其中N是正整数。在时间间隔t,图像中描绘的第j个人的空间位置可被表示为pj,t=(xj,t,yj,t),其中x和y是二维世界空间中的(x,y)坐标,并且0≤j≤N。二维世界空间中的坐标可以基于距离的任何度量,例如米、厘米、英寸、英尺,等等。这样做允许了轨迹模块104基于绝对运动进行训练和/或测试,而图像的像素空间中的运动可能基于图像捕捉设备103的参数(例如,焦距,等等)而变化。因此,轨迹模块104(或其任何组件)可以在给定图像捕捉设备103的已知参数的情况下,将图像坐标转换为相应的现实世界坐标(例如,米,厘米)。因此,给定被表示为Tobs的先前观察到的图像(例如,在先前时间间隔捕捉的描绘N个人中的一个或多个人的图像),和由{pj,t,j=1,…N;t=1,…,Tobs}表示的轨迹历史,轨迹模块104可以预测所有N个人的轨迹,例如,{pj,t,j=1,…N;t=Tobs+1,…T}。轨迹历史可以由轨迹模块104在每个时间间隔存储在存储装置中。
社交图107是在不同的时间间隔(例如,按1秒间隔、2秒间隔,等等)基于由图像捕捉设备103在相应的时间间隔捕捉的图像中所描绘的人的当前位置和速度生成的有向图。一般而言,图像捕捉设备103可以按周期性的时间间隔捕捉图像,并且社交图107可以被生成来反映在相应时间间隔图像中描绘的人之间的成对社交关系。基于对捕捉的图像的分析,轨迹模块104可以识别图像中的人,确定人的当前位置,并且为每个所识别的人更新轨迹历史(例如,作为图像的元数据和/或在单独的数据存储中)。轨迹历史可以反映每个人在每个时间间隔的实际运动,并且可包括反映每个时间间隔的运动方向和/或速度的向量。每个人在每个时间间隔的运动可以基于由图像捕捉设备103捕捉的描绘该人的相应图像。
在一个或多个实施例中,社交图107可以是有向图G=(N;E;A),其中N是多个图节点,E是连接两个节点的一条或多条图边缘,并且A是非对称的邻接矩阵。基于给定的图像(该图像可利用CV算法106来分析以识别人,确定运动,确定一个人在另一个人的视野中,识别交互,交互的类型,等等),每个行人被指派到社交图107中的一节点(nj∈N),并且当邻接矩阵条目aij=1时,存在从第i人链接到第j人的边缘eij=(ni,nj)∈E。一般而言,在每个时间间隔,相应图像中描绘的每个人的当前位置和速度方向被用来确定另一个人是否在该人的视野中,并且生成相应时间间隔的社交图107。例如,CV算法106和/或轨迹模块104可以确定从第一人发出的一条或多条射线是否与图像中的第二人相交,以确定第二人在给定的时间间隔内是否处于第一人的视野中。如果轨迹模块104确定该人在视野中,则轨迹模块104可以为该时间间隔在社交图107中添加连接相应节点的边缘。然而,如果第一人和第二人在以后的时间间隔不再在彼此的视野中,那么该以后的时间间隔的社交图107将不包括连接第一人和第二人的边缘。从而,随着人们的相对位置在图像中发生变化,社交图107被动态地改变。
然后,轨迹模块104可以基于社交图107和/或图像,利用社交图网络113确定(或提取)描述图像和/或图像中描绘的N个人的两类特征。例如,处理器101可以执行轨迹模块104的指令114,以基于社交图网络113和社交图107从图像中提取特征。第一类特征可以是可以用f(D)来表示的个体目的地特征。个体目的地特征一般可以描述给定人的目的地,例如,图像中作为该人的目的地的目标区域和/或其任何属性。更一般而言,个体特征还可包括每个人在(x,y)坐标中的当前位置,该人在(x,y)坐标中在每个时间间隔的轨迹历史,等等。此外,可以确定对面向目的地的特征和社交特征编码的第二类特征。第二类特征可被表示为f(S),并且可以反映人的当前位置、人的轨迹历史、该人是否在与另一个人交流、该人是否在与另一个人一起行走,等等。在一个实施例中,特征向量f(D)、f(S)可以是具有32个维度的向量(例如,32个不同特征的值)。
对于个体特征f(D),社交图网络113可包括一种单层多层感知器(multi-layerperceptron,MLP)(例如,神经网络),该感知器具有修正线性单元(rectified linearunit,ReLU),以串接人的(x,y)坐标pj,t和人的速度vj,t=pj,t-pj,t-1作为输入。换句话说,可以根据以下公式1来确定人j在时间间隔t的个体特征f(D):
在公式1中,(Wd,bd)分别是社交图网络113的权重和偏置参数,并且vj,t对应于上文展示的人的速度(在至少两个时间间隔中确定)。因此,公式1基于每个人的当前位置、每个人的至少一个先前位置和每个人的速度来提取特征。在本文的所有其余公式中,为清楚起见,省略了时间间隔的下标t。
如前所述,社交图网络113可以确定既捕捉个体目的地特征(例如,f(D))也捕捉图像中描绘的两个或更多个人之间的社交交互的特征f(S)。在一个实施例中,社交图网络113提供了一种类似ResNet的结构,这种结构通过从社交图107中去除自循环,来逐渐学习残余分支中的成对社交交互。形式上,社交图网络113的第L层对第j个行人的特征进行编码的输出可以用公式2表示:
在公式2中,在初始化时Mij对应于社交图107中从人i传递到人j的消息,(Wi,bi)表示带有ReLU的输入MLP的权重和偏置参数,并且(Wg,bg)表示带有ReLU的全局MLP的权重和偏置参数。该消息一般可以代表第一边缘,例如,人i以某种方式与人j交互(和/或在人j的视野中)。社交图网络113计算向量f(S)的输入可以用公式3表示:
在公式4中,是应用于社交图107的边缘eij的标量注意值(attention value),g是社交门,并且⊙是逐元素乘法运算子。标量注意值可以代表交互的程度,例如,两个人离对方有多近,一个人在另一个人的视野中的程度,等等。一般而言,公式4充当过滤器,以从公式3提取每个时间间隔的相关特征。有利地,注意值衡量每条边缘的相对重要性,而社交门作为逐元素的特征选择器。
一般而言,注意值反映了人i对人j给予的注意程度,这由社交图107和基于应用到每个人的位置的权重而提取的特征所反映。换句话说,注意值可以基于两个人之间的距离和/或每个人的运动方向。因此,例如,当两个人彼此接近时,相对于当两个人彼此远离时计算出的注意值公式5可以计算出的更大的注意值
社交图网络113可以根据以下公式6计算出社交门g。
在示例公式6中,(Ws,bs)分别对应于社交门的权重和偏置参数。如图所示,社交门可以使用S型函数来产生逐元素的注意值。一般而言,特征向量可具有多个维度(例如,对于多个特征中的每个特征有一个维度)。然而,可能很难确定特征向量的哪些维度或者元素是重要的(或相关的)。因此,社交图网络113可以对特征向量应用过滤器(例如,社交门的逐元素乘法运算),并且生成向量f(S)。在至少一个实施例中,特征向量f(S)是社交图网络113的最后一层的输出。
随机模型108包括一个或多个LSTM 110,以对每个人的向量f(D)、f(S)进行编码,并且对潜变量φ进行采样,以用作在每个时间间隔添加的以f(S)为条件的变量zt的值。LSTM可以是人工递归神经网络(recurrent neural network,RNN)体系结构,它包括单元、输入门、输出门和遗忘门(每个都没有画出)。单元可以随着各时间间隔存储值,而门则调节进入和离开单元的信息流。随机模型108可以根据以下公式7-8对潜变量进行采样:
因此,在所示出的示例中,随机模型108可包括两个LSTM 110,即公式7中的先验和公式8中的后验然而,随机模型108可包括任何数目的LSTM110,并且对两个LSTM的使用不应当被认为是对本公开的限制。公式7的先验可以对应于高斯均值和方差,而公式8的后验可以对应于高斯均值和方差。一般而言,在训练期间,先验的高斯分布(例如,均值和方差)被完善,以接近后验的高斯分布。一旦分布达到阈值的相似程度,先验的先验分布就可以取代后验的后验分布。因此,随机模型108可以在训练期间基于后验的高斯分布对潜变量进行采样,并且可以在测试(或运行时间,或者推理)操作期间对先验的高斯分布进行采样。一般可以基于具有递归隐藏状态的人的过去轨迹数据来学习先验过去的轨迹数据可包括描述人在每个时间间隔的运动的方向和速度的向量。后验对当前时间间隔的场景进行编码。如前所述,先验被训练以接近后验以捕捉不确定的社交交互。
解码器模型109一般被配置为生成输出,以预测在时间间隔t图像中描绘的给定人的运动。在一个实施例中,解码器模型109利用层次化LSTM 111来逐步解码特征向量并且预测每个人的位置的偏移量(例如,输出向量)。解码器模型109生成的输出可以采取适合于传达运动的方向和/或速度的任何形式。例如,在一个实施例中,预测的运动可包括指示出运动的速度和方向的向量(例如,以米每秒的速度在(x,y)方向上的运动)。然而,在训练期间,解码器模型109的输入可包括先前图像的地面真值数据(例如,人的实际运动)。层次化LSTM111可以是由LSTMθ表示的生成LSTM,它将具有不同输入的两个LSTM堆叠起来。第一LSTM111-1可以接收社交输入(例如,特征向量f(S))以预测社交反应,并且被与第二LSTM(例如,针对个体目的地特征向量f(D)的LSTM 111-2)相结合以生成社交上可接受的并且面向目的地的轨迹。下面的公式9可以描述由解码器模型109执行的操作:
在公式9中,yt对应于解码器模型109的输出,例如,基于采样的潜变量z和每个人的特征向量f(D)、f(S),指定给定的人在某个时间间隔的运动的预测速度和方向的向量。如前所述,输出向量yt可以采取任何现实世界的度量单位。在一些实施例中,解码器模型109可以为图像中描绘的每个人计算每个人的多个不同的估计向量yt。在一个这样的实施例中,解码器模型109的LSTMθ可以对应于具有均值和方差的高斯分布。解码器模型109可以从这个高斯分布中对每个人的速度和/或方向进行采样。
可以通过最大化变分下界“ELBO”来训练轨迹模块104(包括随机模型108、解码器模型109、社交图网络113和/或LSTM 110-111的任何参数)。在一个实施例中轨迹模块104的训练可以基于以下公式10:
一般而言,该训练使用重参数化技巧,以在反向传播操作期间用随机梯度下降来优化公式10。该训练可以基于训练数据105中的多个图像,这些图像与每个描绘的人的轨迹数据和指示出每个描绘的人接下来移动到何处的地面真值未来位置相关联。在一个实施例中,轨迹模块104将每个人的轨迹坐标转换为世界坐标,并且对转换后的坐标进行插值,来按周期性的间隔(例如,.5秒、1秒,等等)对坐标进行采样。因此,对于每个训练图像,轨迹模块104分析每个图像并且生成社交图107。然后,社交网络113可以提取特征向量f(D)、f(S),随机模型108可以对潜变量进行采样,并且解码器模型109可以预测图像中描绘的每个人的下一个位置。然后,可以在训练期间基于每个人的预测位置与每个人的地面真值位置的接近程度(例如,基于解码器模型109生成的预测位置的准确性)来对权重、偏置、激活和任何其他可学习的参数(例如,模型108-109、LSTM 110-111、社交图网络113等等的参数)进行完善。
准确性可以基于任何可行的度量,例如平均位移误差(average displacementerror,ADE)和/或最终位移误差(final displacement error,FDE)。ADE可以对应于在所有时间间隔中地面真值和预测位置坐标之间的平均欧氏距离。FDE可以对应于地面真值与场景的最终图像中的预测坐标(例如,如果一个人被描绘在5个图像中,则是基于第五图像生成的预测位置)之间的欧氏距离。公式10的超参数β的值可以基于重建误差和样本多样性的平衡。公式10的左侧可被减小到预测结果和地面真值之间的l2重建损耗(例如,解码器模型109的预测位置输出相对于训练数据105的地面真值所反映的实际位置)。
一旦经过训练,轨迹模块104就可以更准确地预测由图像捕捉设备103捕捉的图像中描绘的人的未来运动。例如,如果一图像描绘了场景中的10个人,则轨迹模块104可以预测每个人的运动。然而,如果轨迹模块104确定一个或多个人的预测位置可能导致不安全的情况(例如,基于由轨迹模块104生成的一个或多个向量与对应于自主车辆的轨迹的向量相交,可能导致与自主车辆、机器人等等的碰撞),则轨迹模块104可以执行任何数目的操作。例如,轨迹模块104可以将一个或多个人的预测位置提供给导航逻辑112,导航逻辑112可以修改关联的自主车辆的运动以避免碰撞。作为另一个示例,音频和/或视觉警报可以被轨迹模块104输出,以警告该人可能的危险。作为另一个示例,为了确定预测位置是否可能导致碰撞,轨迹模块104可以确定碰撞的可能性是否超过碰撞阈值。碰撞的可能性可以基于人和/或车辆的预测运动。例如,如果一个或多个人的向量被确定为与车辆的向量相交,则轨迹模块104可以确定碰撞的可能性超过碰撞阈值。在一些实施例中,轨迹模块104可以计算出反映碰撞的可能性的得分。
图2是根据一个实施例图示出随机轨迹预测的示例的示意图200。如图所示,示意图200描绘了一个或多个图像中描绘的人204-206的示例轨迹历史201-203。在图2的左侧,轨迹历史201-203可包括每个人204-206在示例时间间隔t-1的位置。一般而言,轨迹模块104然后可以预测每个人204-206在时间间隔t的位置,其中时间间隔t在时间上比时间间隔t-1晚。
如图所示,可以分别为每个人204-206计算特征向量 例如,基于上面的公式1。如前所述,这些特征向量可以对应于基于目的地的特征,例如每个人204-206正朝着何处行进、行进的速度、先前的运动历史,等等。基于提取的特征和/或对每个图像的分析,可以生成社交图107。如前所述,社交图107将图像中识别的每个人表示为节点。如果两个人被确定为以任何方式交互,那么一条边缘可以连接社交图107中代表这两个人的节点。
如图2中进一步所示,社交图网络113可以基于图像、特征向量 和/或社交图107来分别为每个人204-206计算特征向量 一般而言,特征向量可以是根据上述公式2-6计算的,并且反映了面向目的地的特征以及社交特征(例如,每个人是否正在与一个或多个其他人交互)。
对于每个人204-206,随机模型108可包括LSTM 110-1,以接收相应的特征向量f(S)作为输入,并且基于上述公式7-8对潜变量z进行采样。然后,解码器模型109的LSTM 111-1可以接收特征向量f(S)和采样的潜变量z作为输入。然后,LSTM 111-1的输出可以作为输入与特征向量f(D)一起被提供给解码器模型109的LSTM 111-2。然后,解码器模型109可以计算出反映每个人的预测运动的向量(例如,在(x,y)坐标的方向上的行进速度)。在一个实施例中,这些向量是根据上述公式9计算的。一般而言,向量可包括指示出每个人的运动方向的(x,y)坐标(例如,在x方向和y方向上分别为(2,5)个单位)和该方向运动的速度(例如,每秒n个单位,其中n是任何数值)。这些操作可被重复任何次数,以预测未来时间间隔(例如,t+1,t+2,…,t+n)的运动。
图3A是图示出社交图107的示例表示的示意图300。如图所示,图3A描绘了四个示例的人301-304。每个人301-304可被表示为社交图107中的一个节点。边缘306-314反映了301-304中的一个人(例如,人304)在301-304中的另一不同人(例如,人303)的视野中,并且人304的未来路径可能受到人303的影响。更一般而言,图107中的边缘的存在是由成对的位置决定的。因此,如果人A在人B的前面(或者在人B的视野中),则可以生成图107中的从人A到人B的边缘。
例如,边缘306反映出人302在人301的视野中,而边缘307反映出人301在人302的视野中。当交互是在一个方向上时,在社交图107中只生成单条边缘。例如,边缘311反映出人303在注意人301,而没有从人301到人303的边缘则表明人301没有与人303交互。
图3B是图示出示例社交图网络113的示意图320。图3B中的人321-324可以对应于图3A中描绘的人301-304。如图所示,社交图网络113包括两个堆叠的层327、328,其中层328的输出是基于层327的输出为条件的。例如,层327可以对应于先前时间间隔t=0,而层328可以对应于当前时间间隔t=1。如图所示,层327的输入包括每个人321-324的特征向量fj (0)(例如,时间间隔t=0时的fj (S))。层327、328通过去除自循环(例如,同一人之间的循环),学习ReLU的残余分支中的人321-324之间的成对交互。一般而言,可以基于上述公式2来计算层327、328的输出(根据公式3-6执行额外的操作)。
在图3B所示的实施例中,社交图网络113的层327可以利用层327的社交图107-1来提取每个人的额外特征,这些特征可以利用加法运算子325被添加到输入特征向量fj (0)以产生输出。加法运算子325的输出可以是特征向量fj (1),它可以作为输入被提供给层328。然后可以使用加法运算子326将从社交图107-2提取的特征添加到特征向量fj (1),以产生输出特征向量fj (2)。
图3C是根据一个实施例描绘由轨迹模块104执行的示例操作的示意图330。先验阶段331反映了使用公式7对条件先验zt 348的计算,其中该先验是基于具有递归隐藏状态的每个人的先验轨迹来学习到的。在图3C中,LSTM 350-355的“h”反映了LSTM 110-111中的一个或多个的隐藏状态。如图所示,条件先验是由LSTM群组356(包括LSTM 350-352)基于时间间隔t-1的人的极坐标336来计算的。LSTM 350可以应用公式7来学习条件先验zt 348。
生成阶段332反映了一种生成函数,该生成函数被解码器模型109使用来基于公式9和时间t-1的位置336来预测在时间间隔t的图像中描绘的人的位置337。如图所示,人的先验位置336和来自先验348的所采样的潜变量zt可以作为输入被提供给LSTM 351,LTSM 351输出该人的预测位置337。如前所述,预测位置337可以是指示出行进的速度和方向的向量。
递归阶段333更新LSTM群组347的LSTM 353-355的递归隐藏状态h。一般而言,如图所示,基于LSTM 350-352的先验状态h、时间t-1的位置坐标336、来自条件先验348的采样值和时间t的位置坐标337来更新LSTM 353-355的隐藏状态h。
推理阶段334反映了基于上述公式8的潜变量推理。如图所示,潜变量是基于时间t的位置数据337推理出来的。整体阶段335是阶段331-334的组合,并且可以反映轨迹模块104(和/或其组件)执行的操作。
图4图示了示例图像400。图像400可以由图像捕捉设备103捕捉和/或由轨迹模块104从另一来源接收。CV算法106可以分析图像400以识别其中的人401、402。如前所述,可以为每个人401、402计算目的地特征向量fj (D)。类似地,可以为图像400生成社交图107。社交图107可以将人401、402指派到各自的节点,并且边缘可以连接代表人401、402的节点。例如,边缘可以基于以下各项中的一个或多个来将401、402关联起来:人401、402在并排行走,人401、402在彼此的视野中,人401、402牵着手,和/或人401、402的地面真值轨迹405、406。地面真值轨迹405、406可以对应于人401、402在先前时间间隔的实际路径。然后,社交网络113可以提取每个人401、402的特征向量fj (S),并且随机模型108可以从学到的先验中为潜变量zt采样值。
然后,解码器模型109可以为每个人401、402计算一个或多个预测轨迹。如图所示,解码器模型109可以分别为人401、402确定多个轨迹407、408。一般而言,轨迹407、408反映了每个人401、402的估计未来行进。然而,最可能的轨迹403、404可以作为最可能的轨迹被返回,例如,通过对使用上述公式9计算的高斯分布进行采样。如图所示,由于人401、402之间的交互,解码器模型109计算出相关的轨迹403、404,反映出这些人很可能继续一起行进。
图5图示了逻辑流程500的实施例。逻辑流程500可代表本文描述的一个或多个实施例所执行的一些或所有操作。例如,逻辑流程500可代表利用社交图网络提供随机轨迹预测的一些或所有操作。实施例不限于此情境中。
如图所示,在块510,基于训练数据105执行轨迹模块104和/或其组件的训练。如前所述,训练数据105包括描绘人在环境中运动的图像。训练数据105的每个图像可包括标签(或者其他类型的元数据),这些标签对于图像中的每个人,指示出反映在捕捉的图像之后该人的实际运动(例如,包括方向和速度的向量)的地面真值数据(例如,该人在时间t=0的描绘该人的图像之后实际上在时间t=1移动了)。在块520,经训练的轨迹模块104可以接收由图像捕捉设备103捕捉的第一图像。例如,固定的监控相机可以按周期性的时间间隔捕捉环境的图像,并且在块520处接收的第一图像可以对应于捕捉的环境图像之一。
在块530,轨迹模块104和/或CV算法106可以识别第一图像中描绘的一个或多个人。例如,可以使用人类检测、跟踪、识别算法等等来检测这些人。更一般而言,可以使用任何可行的技术来识别给定图像中的人。在块540,解码器模型109可以为每个人计算多个向量,其中每个向量对应于每个人的运动的预测速度和方向。在至少一个实施例中,解码器模型109可以返回多个向量中的第一向量,作为该人最可能会采取的运动路线。在一个实施例中,第一向量是通过对基于公式9生成的学习到的先验分布进行采样而返回的。
在块550,轨迹模块104可以确定在块540计算的输出向量中的一个或多个与反映自主车辆的运动的轨迹向量相交。如果向量在环境中的一个或多个点处相交,则轨迹模块104可以确定与输出向量相关联的人和自主车辆之间可能发生碰撞。在一些实施例中,轨迹模块104可以确定碰撞的可能性超过碰撞阈值,例如,通过计算反映碰撞可能性的得分,其中该得分是基于向量是否相交的。在一个实施例中,自主车辆可被描绘在第一图像中。在这样的示例中,轨迹模块104可以基于描绘自主车辆的先前图像、自主车辆的行进方向等等来确定自主车辆的预测运动。在其他实施例中,计算系统100可以是自主车辆的组件。在这样的实施例中,导航逻辑112可以提供自主车辆的预测运动。然后,轨迹模块104和/或导航逻辑112可以将在块540处计算的向量与自主车辆的预计运动进行比较,以确定向量是否可能相交。
在块560,可以基于确定自主车辆与第一图像中描绘的一个或多个人之间可能发生碰撞,而执行预定的操作。例如,如果反映第一人的最可能运动的第一人的第一向量指示出可能与第一自主车辆发生碰撞,则可以生成警报以警告第一人和/或第一自主车辆的导航逻辑112。换句话说,可以基于确定碰撞的可能性超过碰撞阈值来执行预定的操作。这样做可以允许导航逻辑112更改自主车辆的运动以避免碰撞(例如,减速、停止、转向,等等)。
图6图示了逻辑流程600的实施例。逻辑流程600可代表本文描述的一个或多个实施例所执行的一些或所有操作。例如,逻辑流程600可代表训练轨迹模块104的一些或所有操作。实施例不限于此情境中。
如图所示,在块610,训练数据105可以被轨迹模块104接收。训练数据105可包括在不同时间间隔捕捉的环境的多个图像。这些图像可以描绘一个或多个人。训练数据105还可包括反映所描绘的人的实际运动的地面真值数据(例如,指示出运动的方向和速度的向量)。在块620,可以为第一图像中描绘的每个人初始化特征向量f(D)、f(S)。在块630,根据上述公式1-6计算特征向量f(D)、f(S)和社交图107。特征向量可以是针对来自训练数据105的第一图像中描绘的每个人的。特征向量可以反映每个人的目的地,哪些其他人在给定人的视野中,和/或两个人之间的距离。为第一图像生成社交图107。此外,在训练期间,可以应用上述公式7-8来学习基于后验先验分布的条件先验分布,并且允许随机模型108从其中采样值。如前所述,在训练期间,从后验分布采样出值以学习先验分布。
在块650,解码器模型109应用公式9来为图像中描绘的每个人计算多个向量。每个向量一般可以描述人的运动的预测方向和速度。向量可以用(x,y)坐标来描述方向,并且用任何单位和/或格式来描述运动的速度(例如,米每秒、英尺每秒,等等)。在块660,确定在块650处计算的向量的准确性,例如,基于在块650处计算的向量与每个人的地面真值运动的比较。如前所述,准确性可以基于平均位移误差和/或最终位移误差。一般而言,例如,如果在块650处计算的第一向量指示出某个人将向左移动,但地面真值数据指示出该人实际上向右移动了,则在块650处计算的预测可能具有低准确性。因此,在块660,执行反向传播操作以更新轨迹模块104(例如,社交图网络113、随机模型108、解码器模型109和/或LSTM110、111)的参数。一般而言,上述公式10可被用于使用随机梯度下降来最大化公式10的变分下界。虽然可以参考单个图像和/或每个图像中描绘的单个人来论述块610-660,但可以在训练数据105中的任何数目的图像上将块610-660重复任何次数。这样做允许轨迹模块104随着时间的推移生成更准确的预测。
图7图示了逻辑流程700的实施例。逻辑流程700可代表本文描述的一个或多个实施例所执行的一些或所有操作。例如,逻辑流程700可代表利用社交图网络提供随机轨迹预测的一些或所有操作。实施例不限于此情境中。
如图所示,在块710,可以由一个或多个CV算法106分析图像,以识别图像中描绘的一个或多个人和/或图像中描绘的至少两个人之间的交互。该图像可以由图像捕捉设备103捕捉和/或是从其他来源接收的。交互可包括一个人是否在另一个人的视野中,两个人之间的距离,通信,身体接触,一个人避开另一个人,等等。在块720,根据公式1,由神经网络(例如,轨迹模块104的社交网络113)为图像中所识别的每个人生成第一特征向量,即包括一个或多个基于目的地的特征的目的地特征向量f(D)。如前所述,神经网络可包括具有ReLU的单层MLP,以串接人的(x,y)坐标和人的速度作为输入。速度可以基于人在当前时间间隔的坐标和人在先前时间间隔(例如,前一时间间隔)的坐标的差异。在块730,为该图像生成社交图107。社交图107是有向图,它将图像中的每个人表示为节点。如果基于在块710处对图像的分析,确定两个或更多个人参与社交交互,则如上所述,一边缘可以连接参与社交交互的两个人。例如,如果两个人之间的距离低于阈值,则可以确定社交交往(并且关注值可以基于该距离)。类似地,如果一个人在另一个人的视野中,则一边缘可以连接社交图107中表示这两个人的节点,并且关注值可以反映该人在另一个人的视野中的程度。
在块740,根据公式2-6为图像中描绘的每个人计算第二特征向量,即向量f(S)。社交图网络113可以基于第一特征向量f(D)和/或社交图107来计算第二特征向量f(S)。社交图网络113的最后一层的输出可包括向量f(S)。在块750,从所学习的先验分布中对潜变量z的值进行采样。在块760,解码器模型109可以计算出反映图像中描绘的每个人的预测运动方向和该运动方向的预测速度的一个或多个输出向量。然后,解码器模型109可以存储生成的向量,以供以后使用。
图8图示了存储介质800的实施例。存储介质800可包括任何非暂态计算机可读存储介质或者机器可读存储介质,例如光存储介质、磁存储介质或者半导体存储介质。在各种实施例中,存储介质800可包括制造品。在一些实施例中,存储介质800可存储计算机可执行指令,例如实现本文描述的逻辑流程或操作中的一个或多个的计算机可执行指令,例如分别关于图5-图7的逻辑流程500、600、700的指令801、802、803。存储介质800可以进一步存储用于上述公式1-9的计算机可执行指令804,以及用于轨迹模块104及其组件(例如,社交图网络113、社交图107、随机模型108、解码器模型109、指令114、和/或LSTM 110、111)的计算机可执行指令805。存储介质800可以进一步存储用于导航逻辑112的计算机可执行指令806。处理器101可以执行指令801-806中的任何一者。计算机可读存储介质或机器可读存储介质的示例可包括能够存储电子数据的任何有形介质,包括易失性存储器或非易失性存储器、可移除或不可移除的存储器、可擦除或不可擦除的存储器、可写或者可改写的存储器,等等。计算机可执行指令的示例可包括任何适当类型的代码,例如源代码、编译的代码、解释的代码,可执行代码、静态代码、动态代码,面向对象的代码、视觉代码,等等。实施例不限于此情境中。
图9图示了可适合用于实现如前所述的各种实施例的示例性计算体系结构900的实施例。在各种实施例中,计算体系结构900可包括电子设备或者可被实现为电子设备的一部分。在一些实施例中,计算体系结构900可代表例如实现系统100的一个或多个组件的计算机系统。实施例不限于此情境中。更概括而言,计算体系结构900被配置为实现本文参考图1-图8描述的所有逻辑、系统、逻辑流程、方法、装置和功能。
当在本申请中使用时,术语“系统”和“组件”和“模块”打算指代计算机相关实体,或者是硬件、硬件和软件的组合、软件,或者是执行中的软件,其示例由示例性计算体系结构900提供。例如,组件可以是但不限于是在处理器上运行的进程、处理器、硬盘驱动器、多个存储设备(光存储介质和/或磁存储介质的)、对象、可执行文件、执行的线程、程序、和/或计算机。作为说明,在服务器上运行的应用和服务器都可以是组件。一个或多个组件可驻留在进程和/或执行的线程内,并且组件可局限于一个计算机上和/或分布在两个或更多个计算机之间。另外,组件可通过各种类型的通信介质来通信地耦合到彼此以协调操作。该协调可涉及信息的单向或双向交换。例如,组件可以以通过通信介质传达的信号的形式来传达信息。信号可被实现为分配到各种信号线的信号。在这种分配中,每个消息是信号。然而,另外的实施例可替换为采用数据消息。可在各种连接上发送这种数据消息。示例性连接包括并行接口、串行接口和总线接口。
计算体系结构900包括各种常见的计算元素,例如一个或多个处理器、多核处理器、协处理器、存储器单元、芯片组、控制器、外设、接口、振荡器、定时设备、视频卡、音频卡、多媒体输入/输出(I/O)组件、供电电源,等等。然而,实施例不限于由计算体系结构900实现。
如图9所示,计算体系结构900包括处理单元904、系统存储器906、以及系统总线908。处理单元904(也称为处理器电路)可以是各种市售处理器中的任何一种,包括但不限于和处理器;应用、嵌入式和安全处理器;和 和处理器;IBM和Cell处理器; Core(2)和处理器;以及类似的处理器。双微处理器、多核处理器和其他多处理器体系结构也可被用作处理单元904。
系统总线908为包括但不限于系统存储器906到处理单元904的系统组件提供接口。系统总线908可以是若干种类型的总线结构中的任何一种,该总线结构可进一步利用各种市售的总线体系结构中的任何一种来互连到存储器总线(有或者没有存储器控制器)、外围总线和本地总线。接口适配器可经由插槽体系结构连接到系统总线908。示例插槽体系结构可包括但不限于加速图形端口(Accelerated Graphics Port,AGP)、卡总线、(扩展)工业标准体系结构((Extended)Industry Standard Architecture,(E)ISA)、微通道体系结构(Micro Channel Architecture,MCA)、NuBus、外围组件互连(扩展)(PeripheralComponent Interconnect(Extended),PCI(X))、快速PCI、个人计算机存储卡国际联盟(Personal Computer Memory Card International Association,PCMCIA),等等。
系统存储器906可包括各种类型的计算机可读存储介质,采取一个或多个更高速存储器单元的形式,例如只读存储器(read-only memory,ROM),随机访问存储器(random-access memory,RAM),动态RAM(dynamic RAM,DRAM),双数据速率DRAM(Double-Data-RateDRAM,DDRAM),同步DRAM(synchronous DRAM,SDRAM),大容量字节可寻址持久性存储器(bulk byte-addressable persistent memory,PMEM),静态RAM(static RAM,SRAM),可编程ROM(programmable ROM,PROM),可擦除可编程ROM(erasable programmable ROM,EPROM),电可擦除可编程ROM(electrically erasable programmable ROM,EEPROM),闪速存储器(例如,一个或多个闪存阵列)、聚合物存储器,例如铁电聚合物存储器,奥氏存储器,相变或铁电存储器,硅氧化氮氧化硅(silicon-oxide-nitride-oxide-silicon,SONOS)存储器,磁卡或光卡,诸如独立盘冗余阵列(Redundant Array of Independent Disks,RAID)驱动器之类的设备的阵列,固态存储器设备(例如,USB存储器、固态驱动器(solid statedrive,SSD)),以及适用于存储信息的任何其他类型的存储介质。在图9所示的图示实施例中,系统存储器906可包括非易失性存储器910和/或易失性存储器912。基本输入/输出系统(basic input/output system,BIOS)可被存储在非易失性存储器910中。
计算机902可包括各种类型的计算机可读存储介质,采取一个或多个更低速存储器单元的形式,包括内部(或外部)硬盘驱动器(hard disk drive,HDD)914,用于从可移除磁盘918读取或者向其写入的磁性软盘驱动器(floppy disk drive,FDD)916,以及用于从可移除光盘922(例如,致密盘只读存储器(compact disc read-only memory,CD-ROM)或数字多功能盘(digital versatile disc,DVD))读取或者向其写入的光盘驱动器920。HDD914、FDD 916和光盘驱动器920可分别通过HDD接口924、FDD接口926和光驱动器接口928连接到系统总线908。用于外部驱动器实现方式的HDD接口924可包括通用串行总线(Universal Serial Bus,USB)和IEEE 1394接口技术中的至少一者或两者。
驱动器和关联的计算机可读介质提供数据、数据结构、计算机可执行指令等等的易失性和/或非易失性存储。例如,若干个程序模块可被存储在驱动器和存储器单元910、912中,包括操作系统930、一个或多个应用程序932、其他程序模块934、以及程序数据936。在一个实施例中,一个或多个应用程序932、其他程序模块934和程序数据936可包括例如系统100的各种应用和/或组件,包括轨迹模块104、CV算法106、社交图107、随机模型108、解码器模型109、LSTM 110、111、导航逻辑112、社交图网络113、和/或本文描述的其他逻辑。
用户可通过一个或多个有线/无线输入设备,例如键盘938,以及指点设备,例如鼠标940,来将命令和信息输入到计算机902中。其他输入设备可包括麦克风、红外(IR)遥控器、射频(RF)遥控器、游戏板、触控笔、读卡器、电子狗、指纹读取器、手套、绘图板、操纵杆、键盘、视网膜读取器、触摸屏(例如,电容式、电阻式,等等)、轨迹球、触控板、传感器、触笔,等等。这些和其他输入设备经常通过与系统总线908相耦合的输入设备接口942连接到处理单元904,但可通过其他接口来连接,例如并行端口、IEEE 1394串行端口、游戏端口、USB端口、IR接口,等等。
监视器944或其他类型的显示设备也经由诸如视频适配器946之类的接口连接到系统总线908。监视器944可在计算机902内部或外部。除了监视器944以外,计算机通常还包括其他外围输出设备,例如扬声器、打印机,等等。
计算机902可利用经由有线和/或无线通信到诸如远程计算机948之类的一个或多个远程计算机的逻辑连接来在联网环境中操作。在各种实施例中,一个或多个迁移可经由联网的环境发生。远程计算机948可以是工作站、服务器计算机、路由器、个人计算机、便携式计算机、基于微处理器的娱乐家电、对等设备或者其他常见的网络节点,并且通常包括相对于计算机902描述的许多或所有元素,虽然为了简明起见,只图示了存储器/存储设备950。描绘的逻辑连接包括到局域网(local area network,LAN)952和/或例如广域网(widearea network,WAN)954之类的更大网络的有线/无线连通性。这种LAN和WAN联网环境在办公室和公司中是常见的,并且促进了整个企业内的计算机网络,例如内联网,所有这些都可连接到全球通信网络,例如互联网。
当在LAN联网环境中使用时,计算机902通过有线和/或无线通信网络接口或适配器956连接到LAN 952。适配器956可促进到LAN 952的有线和/或无线通信,LAN 852也可包括布置在其上的无线接入点来与适配器956的无线功能通信。
当在WAN联网环境中使用时,计算机902可包括调制解调器958,或者连接到WAN954上的通信服务器,或者具有用于通过WAN 954建立通信的其他手段,例如通过互联网。可在内部或外部并且可以是有线和/或无线设备的调制解调器958经由输入设备接口942连接到系统总线908。在联网的环境中,相对于计算机902描绘的程序模块或者其一些部分可被存储在远程存储器/存储设备950中。将会明白,示出的网络连接是示例性的,并且在计算机之间建立通信链路的其他手段可被使用。
计算机902可操作来利用IEEE 902标准族与有线和无线设备或实体进行通信,例如操作性地布置在无线通信中的无线设备(例如,IEEE 902.16空中调制技术)。这至少包括Wi-Fi(或者无线保真)、WiMax和BluetoothTM无线技术,等等。从而,通信可以是像传统网络那样的预定结构,或者就简单地是至少两个设备之间的自组织通信。Wi-Fi网络使用被称为IEEE 902.11x(a、b、g、n、ac、ay,等等)的无线电技术来提供安全、可靠、快速的无线连通性。Wi-Fi网络可用于将计算机连接到彼此,连接到互联网,以及连接到有线网络(有线网络使用IEEE 902.3相关介质和功能)。
至少一个示例的一个或多个方面可由存储在至少一个机器可读介质上的表示处理器内的各种逻辑的代表性指令来实现,这些指令当被机器、计算设备或系统读取时,使得该机器、计算设备或系统制作逻辑来执行本文描述的技术。这种被称为“IP核心”的表现形式可被存储在有形机器可读介质上并且被提供到各种客户或制造设施以加载到制作该逻辑或处理器的制作机器中。
可以利用硬件元素、软件元素或者两者的组合来实现各种示例。在一些示例中,硬件元素的示例可包括设备、组件、处理器、微处理器、电路、电路元件(例如,晶体管、电阻器、电容器、电感器,等等)、集成电路、专用集成电路(application specific integratedcircuit,ASIC)、可编程逻辑器件(programmable logic device,PLD)、数字信号处理器(digital signal processor,DSP)、现场可编程门阵列(field programmable gatearray,FPGA)、存储器单元、逻辑门、寄存器、半导体器件、芯片、微芯片、芯片组,等等。在一些示例中,软件元素可包括软件组件、程序、应用、计算机程序、应用程序、系统程序、机器程序、操作系统软件、中间件、固件、软件模块、例程、子例程、函数、方法、过程、软件接口、应用程序接口(application program interface,API)、指令集、计算代码、计算机代码、代码段、计算机代码段、字、值、符号,或者这些的任何组合。确定一示例是否利用硬件元素和/或软件元素来实现可按照给定的实现方式所期望的根据任何数目的因素而变化,例如期望的计算速率、功率水平、耐热性、处理周期预算、输入数据速率、输出数据速率、存储器资源、数据总线速度以及其他设计或性能约束。
一些示例可包括制品或者至少一个计算机可读介质。计算机可读介质可包括非暂态存储介质来存储逻辑。在一些示例中,非暂态存储介质可包括一种或多种类型的能够存储电子数据的计算机可读存储介质,包括易失性存储器或非易失性存储器、可移除或不可移除存储器、可擦除或不可擦除存储器、可写或可改写存储器,等等。在一些示例中,逻辑可包括各种软件元素,例如软件组件、程序、应用、计算机程序、应用程序、系统程序、机器程序、操作系统软件、中间件、固件、软件模块、例程、子例程、函数、方法、过程、软件接口、API、指令集、计算代码、计算机代码、代码段、计算机代码段、字、值、符号,或者这些的任何组合。
根据一些示例,计算机可读介质可包括非暂态存储介质来存储或维护指令,这些指令当被机器、计算设备或系统执行时,使得该机器、计算设备或系统执行根据描述的示例的方法和/或操作。指令可包括任何适当类型的代码,例如源代码、经编译的代码、经解释的代码,可执行代码、静态代码、动态代码,等等。可根据预定的计算机语言、方式或语法来实现指令,用于指示机器、计算设备或系统执行特定的功能。可利用任何适当的高级别的、低级别的、面向对象的、视觉的、编译的和/或解释的编程语言来实现指令。
可利用表述“在一个示例中”或者“示例”以及其衍生词来描述一些示例。这些术语的意思是联系该示例描述的特定特征、结构或特性被包括在至少一个示例中。在本说明书中各种地方出现短语“在一个示例中”不一定都指的是同一示例。
可利用表述“耦合”和“连接”以及其衍生词来描述一些示例。这些术语并不一定打算是彼此的同义词。例如,使用术语“连接”和/或“耦合”的描述可指示出两个或更多个元素与彼此发生直接物理或电气接触。然而,术语“耦合”也可以指两个或更多个元素没有与彼此发生直接接触,然而仍与彼此合作或交互。
以下示例涉及进一步实施例,许多置换和配置将从这些实施例中清楚显现。
示例1是一种非暂态计算机可读存储介质,包括指令,所述指令当被处理器电路执行时,使得所述处理器电路:确定描述图像中描绘的多个人中的第一人的目的地特征的第一特征向量;基于所述图像中描绘的多个人来为所述图像生成有向图;基于所述有向图和所述目的地特征为所述第一人确定第二特征向量;从学习的先验分布中采样出潜变量的值,所述潜变量对应于第一时间间隔;并且基于采样的值和这些特征向量,由包括至少两个长短期记忆网络(LSTM)的层次化LSTM生成输出向量,所述输出向量包括所述第一人在第二时间间隔的运动方向和所述运动方向的速度,所述第二时间间隔在所述第一时间间隔之后。
示例2包括如示例1所述的主题,所述第一特征向量由第一神经网络基于输入来确定,所述输入包括所述人在所述第一时间间隔的位置和所述人在所述第一时间间隔的速度,所述人在所述第一时间间隔的速度是基于所述人在所述第一时间间隔的位置和所述第一人在第三时间间隔的位置的,所述第三时间间隔在所述第一时间间隔之前,所述第一神经网络至少部分基于以下公式来计算所述第一特征向量:
示例4包括如示例2所述的主题,所述有向图包括邻接矩阵、多个节点、以及多个边缘,每个节点对应于所述图像中描绘的多个人中的相应一个人,每个边缘基于所述图像中描绘的多个人中的一个人在所述图像中描绘的多个人中的另一个人的视野中而连接所述节点中的两个节点,所述邻接矩阵反映出一边缘是否连接所述节点中的两个节点。
示例5包括如示例4所述的主题,所述多个边缘中的第一边缘连接所述多个节点中的第一节点和第二节点,所述计算机可读存储介质存储指令,所述指令当被所述处理器电路执行时,使得所述处理器电路:分析所述图像以确定所述第一人在所述多个人中的第二人的视野中;生成所述有向图中的所述第一边缘,所述第一边缘从所述第二节点指向所述第一节点;为所述第一边缘确定注意值;并且将所述注意值指派给所述第一边缘。
示例6包括如示例5所述的主题,存储指令,所述指令当被所述处理器电路执行时使得所述处理器电路:由所述第一神经网络基于表示所述第一边缘的消息来确定所述第二特征向量,所述消息是基于由所述第一神经网络应用到所述第一神经网络的输入的逐元素乘法运算子来确定的,所述逐元素运算子包括S型激活函数,所述第一神经网络至少部分基于以下公式中的一个或多个来确定所述第二特征向量:
示例7包括如示例1所述的主题,所述计算机可读存储介质存储指令,所述指令当被所述处理器电路执行时,使得所述处理器电路:基于后验LSTM的多个递归隐藏状态和所述第一人在第三时间间隔的先验向量来学习所述先验分布,所述第三时间间隔在所述第一时间间隔之前,所述先验向量包括所述第一人在所述第二时间间隔的运动方向和所述运动方向的速度,所述先验分布是至少部分基于以下公式来学习到的: 所述潜变量的值是至少部分基于以下公式来采样到的:
示例8包括如示例1所述的主题,所述层次化LSTM包括至少两个LSTM,所述至少两个LSTM包括第一LSTM和第二LSTM,所述第一LSTM接收所述潜变量的值和所述第二特征向量作为输入,所述第二LSTM接收所述第一LSTM的输出和所述第一特征向量作为输入,所述第二LSTM生成所述输出向量。
示例9包括如示例1所述的主题,存储指令,所述指令当被所述处理器电路执行时使得所述处理器电路:为所述图像中描绘的每个人生成各自的输出向量,所述各自的输出向量包括各个人在所述第二时间间隔的运动方向和所述运动方向的速度。
示例10包括如示例1所述的主题,存储指令,所述指令当被所述处理器电路执行时使得所述处理器电路:接收与所述第一时间间隔和所述第二时间间隔之后的第三时间间隔相对应的第二图像;确定描述所述第二图像中描绘的所述第一人的目的地特征的第三特征向量;基于所述图像中描绘的多个人来为所述第二图像生成第二有向图;基于所述第二有向图和所述第三特征向量为所述第一人确定第四特征向量;从学习的先验分布中采样出所述潜变量的第二值,所述潜变量的第二值对应于所述第三时间间隔;并且由所述层次化LSTM基于采样的第二值和所述第三特征向量和所述第四特征向量生成第二输出向量,所述第二输出向量包括所述第一人在所述第三时间间隔的运动方向和所述运动方向的速度。
示例11包括如示例1所述的主题,存储指令,所述指令当被所述处理器电路执行时使得所述处理器电路:确定所述输出向量与自主车辆的轨迹向量相交;基于所确定的所述输出向量与所述轨迹向量的相交,确定在以后时间所述第一人和自主车辆之间的碰撞的可能性超过碰撞阈值;并且向所述第一人或所述自主车辆中的至少一者输出对所述碰撞的指示,所述自主车辆的导航逻辑响应于接收到所述指示而修改所述自主车辆的运动以避免所述碰撞。
示例12包括一种装置,包括:处理器电路;以及存储指令的存储器,所述指令当被所述处理器电路执行时使得所述处理器电路:确定描述图像中描绘的多个人中的第一人的目的地特征的第一特征向量;基于所述图像中描绘的多个人来为所述图像生成有向图;基于所述有向图和所述目的地特征为所述第一人确定第二特征向量;从学习的先验分布中采样出潜变量的值,所述潜变量对应于第一时间间隔;并且基于采样的值和这些特征向量,由包括至少两个长短期记忆网络(LSTM)的层次化LSTM生成输出向量,所述输出向量包括所述第一人在第二时间间隔的运动方向和所述运动方向的速度,所述第二时间间隔在所述第一时间间隔之后。
示例13包括如示例12所述的主题,所述第一特征向量由第一神经网络基于输入来确定,所述输入包括所述人在所述第一时间间隔的位置和所述人在所述第一时间间隔的速度,所述人在所述第一时间间隔的速度是基于所述人在所述第一时间间隔的位置和所述第一人在第三时间间隔的位置的,所述第三时间间隔在所述第一时间间隔之前,所述第一神经网络至少部分基于以下公式来计算所述第一特征向量:
示例15包括如示例13所述的主题,所述有向图包括邻接矩阵、多个节点、以及多个边缘,每个节点对应于所述图像中描绘的多个人中的相应一个人,每个边缘基于所述图像中描绘的多个人中的一个人在所述图像中描绘的多个人中的另一个人的视野中而连接所述节点中的两个节点,所述邻接矩阵反映出一边缘是否连接所述节点中的两个节点。
示例16包括如示例15所述的主题,所述多个边缘中的第一边缘连接所述多个节点中的第一节点和第二节点,所述存储器存储指令,所述指令当被所述处理器电路执行时使得所述处理器电路:分析所述图像以确定所述第一人在所述多个人中的第二人的视野中;生成所述有向图中的所述第一边缘,所述第一边缘从所述第二节点指向所述第一节点;为所述第一边缘确定注意值;并且将所述注意值指派给所述第一边缘。
示例17包括如示例16所述的主题,所述存储器存储指令,所述指令当被所述处理器电路执行时使得所述处理器电路:由所述第一神经网络基于表示所述第一边缘的消息来确定所述第二特征向量,所述消息是基于由所述第一神经网络应用到所述第一神经网络的输入的逐元素乘法运算子来确定的,所述逐元素运算子包括S型激活函数,所述第一神经网络至少部分基于以下公式中的一个或多个来确定所述第二特征向量:
示例18包括如示例12所述的主题,所述存储器存储指令,所述指令当被所述处理器电路执行时使得所述处理器电路:基于后验LSTM的多个递归隐藏状态和所述第一人在第三时间间隔的先验向量来学习所述先验分布,所述第三时间间隔在所述第一时间间隔之前,所述先验向量包括所述第一人在所述第二时间间隔的运动方向和所述运动方向的速度,所述先验分布是至少部分基于以下公式来学习到的:所述潜变量的值是至少部分基于以下公式来采样到的:
示例19包括如示例12所述的主题,所述层次化LSTM包括至少两个LSTM,所述至少两个LSTM包括第一LSTM和第二LSTM,所述第一LSTM接收所述潜变量的值和所述第二特征向量作为输入,所述第二LSTM接收所述第一LSTM的输出和所述第一特征向量作为输入,所述第二LSTM生成所述输出向量。
示例20包括如示例12所述的主题,所述存储器存储指令,所述指令当被所述处理器电路执行时使得所述处理器电路:为所述图像中描绘的每个人生成各自的输出向量,所述各自的输出向量包括各个人在所述第二时间间隔的运动方向和所述运动方向的速度。
示例21包括如示例12所述的主题,所述存储器存储指令,所述指令当被所述处理器电路执行时使得所述处理器电路:接收与所述第一时间间隔和所述第二时间间隔之后的第三时间间隔相对应的第二图像;确定描述所述第二图像中描绘的所述第一人的目的地特征的第三特征向量;基于所述图像中描绘的多个人来为所述第二图像生成第二有向图;基于所述第二有向图和所述第三特征向量为所述第一人确定第四特征向量;从学习的先验分布中采样出所述潜变量的第二值,所述潜变量的第二值对应于所述第三时间间隔;并且由所述层次化LSTM基于采样的第二值和所述第三特征向量和所述第四特征向量生成第二输出向量,所述第二输出向量包括所述第一人在所述第三时间间隔的运动方向和所述运动方向的速度。
示例22包括如示例12所述的主题,所述存储器存储指令,所述指令当被所述处理器电路执行时使得所述处理器电路:确定所述输出向量与自主车辆的轨迹向量相交;基于所确定的所述输出向量与所述轨迹向量的相交,确定在以后时间所述第一人和自主车辆之间的碰撞的可能性超过碰撞阈值;并且向所述第一人或所述自主车辆中的至少一者输出对所述碰撞的指示,所述自主车辆的导航逻辑响应于接收到所述指示而修改所述自主车辆的运动以避免所述碰撞。
示例23包括一种方法,包括:确定描述图像中描绘的多个人中的第一人的目的地特征的第一特征向量;基于所述图像中描绘的多个人来为所述图像生成有向图;基于所述有向图和所述目的地特征为所述第一人确定第二特征向量;从学习的先验分布中采样出潜变量的值,所述潜变量对应于第一时间间隔;并且基于采样的值和这些特征向量,由在处理器上执行的层次化长短期记忆网络(LSTM)生成输出向量,所述输出向量包括所述第一人在第二时间间隔的运动方向和所述运动方向的速度,所述第二时间间隔在所述第一时间间隔之后。
示例24包括如示例23所述的主题,所述第一特征向量由第一神经网络基于输入来确定,所述输入包括所述人在所述第一时间间隔的位置和所述人在所述第一时间间隔的速度,所述人在所述第一时间间隔的速度是基于所述人在所述第一时间间隔的位置和所述第一人在第三时间间隔的位置的,所述第三时间间隔在所述第一时间间隔之前,所述第一神经网络至少部分基于以下公式来计算所述第一特征向量:
示例26包括如示例24所述的主题,所述有向图包括邻接矩阵、多个节点、以及多个边缘,每个节点对应于所述图像中描绘的多个人中的相应一个人,每个边缘基于所述图像中描绘的多个人中的一个人在所述图像中描绘的多个人中的另一个人的视野中而连接所述节点中的两个节点,所述邻接矩阵反映出一边缘是否连接所述节点中的两个节点。
示例27包括如示例26所述的主题,所述多个边缘中的第一边缘连接所述多个节点中的第一节点和第二节点,所述方法还包括:分析所述图像以确定所述第一人在所述多个人中的第二人的视野中;生成所述有向图中的所述第一边缘,所述第一边缘从所述第二节点指向所述第一节点;为所述第一边缘确定注意值;并且将所述注意值指派给所述第一边缘。
示例28包括如示例27所述的主题,还包括:由所述第一神经网络基于表示所述第一边缘的消息来确定所述第二特征向量,所述消息是基于由所述第一神经网络应用到所述第一神经网络的输入的逐元素乘法运算子来确定的,所述逐元素运算子包括S型激活函数,所述第一神经网络至少部分基于以下公式中的一个或多个来确定所述第二特征向量:
示例29包括如示例23所述的主题,还包括:基于后验LSTM的多个递归隐藏状态和所述第一人在第三时间间隔的先验向量来学习所述先验分布,所述第三时间间隔在所述第一时间间隔之前,所述先验向量包括所述第一人在所述第二时间间隔的运动方向和所述运动方向的速度,所述先验分布是至少部分基于以下公式来学习到的:所述潜变量的值是至少部分基于以下公式来采样到的:
示例30包括如示例23所述的主题,所述层次化LSTM包括至少两个LSTM,所述至少两个LSTM包括第一LSTM和第二LSTM,所述第一LSTM接收所述潜变量的值和所述第二特征向量作为输入,所述第二LSTM接收所述第一LSTM的输出和所述第一特征向量作为输入,所述第二LSTM生成所述输出向量。
示例31包括如示例23所述的主题,还包括:为所述图像中描绘的每个人生成各自的输出向量,所述各自的输出向量包括各个人在所述第二时间间隔的运动方向和所述运动方向的速度。
示例32包括如示例23所述的主题,还包括:接收与所述第一时间间隔和所述第二时间间隔之后的第三时间间隔相对应的第二图像;确定描述所述第二图像中描绘的所述第一人的目的地特征的第三特征向量;基于所述图像中描绘的多个人来为所述第二图像生成第二有向图;基于所述第二有向图和所述第三特征向量为所述第一人确定第四特征向量;从学习的先验分布中采样出所述潜变量的第二值,所述潜变量的第二值对应于所述第三时间间隔;并且由所述层次化LSTM基于采样的第二值和所述第三特征向量和所述第四特征向量生成第二输出向量,所述第二输出向量包括所述第一人在所述第三时间间隔的运动方向和所述运动方向的速度。
示例33包括如示例23所述的主题,还包括:确定所述输出向量与自主车辆的轨迹向量相交;基于所确定的所述输出向量与所述轨迹向量的相交,确定在以后时间所述第一人和自主车辆之间的碰撞的可能性超过碰撞阈值;向所述第一人或所述自主车辆中的至少一者输出对所述碰撞的指示;由所述自主车辆的导航逻辑接收对所述碰撞的所述指示;并且由所述导航逻辑修改所述自主车辆的运动以避免所述碰撞。
示例34是一种装置,包括:用于确定描述图像中描绘的多个人中的第一人的目的地特征的第一特征向量的装置;用于基于所述图像中描绘的多个人来为所述图像生成有向图的装置;用于基于所述有向图和所述目的地特征为所述第一人确定第二特征向量的装置;用于从学习的先验分布中采样出潜变量的值的装置,所述潜变量对应于第一时间间隔;以及用于基于采样的值和这些特征向量,由包括至少两个长短期记忆网络(LSTM)的层次化LSTM生成输出向量的装置,所述输出向量包括所述第一人在第二时间间隔的运动方向和所述运动方向的速度,所述第二时间间隔在所述第一时间间隔之后。
示例35包括如示例34所述的主题,所述第一特征向量由第一神经网络基于输入来确定,所述输入包括所述人在所述第一时间间隔的位置和所述人在所述第一时间间隔的速度,所述人在所述第一时间间隔的速度是基于所述人在所述第一时间间隔的位置和所述第一人在第三时间间隔的位置的,所述第三时间间隔在所述第一时间间隔之前,所述第一神经网络至少部分基于以下公式来计算所述第一特征向量:
示例37包括如示例35所述的主题,所述有向图包括邻接矩阵、多个节点、以及多个边缘,每个节点对应于所述图像中描绘的多个人中的相应一个人,每个边缘基于所述图像中描绘的多个人中的一个人在所述图像中描绘的多个人中的另一个人的视野中而连接所述节点中的两个节点,所述邻接矩阵反映出一边缘是否连接所述节点中的两个节点。
示例38包括如示例37所述的主题,所述多个边缘中的第一边缘连接所述多个节点中的第一节点和第二节点,所述装置还包括:用于分析所述图像以确定所述第一人在所述多个人中的第二人的视野中的装置;生成所述有向图中的所述第一边缘,所述第一边缘从所述第二节点指向所述第一节点;用于为所述第一边缘确定注意值的装置;以及用于将所述注意值指派给所述第一边缘的装置。
示例39包括如示例38所述的主题,还包括:用于由所述第一神经网络基于表示所述第一边缘的消息来确定所述第二特征向量的装置,所述消息是基于由所述第一神经网络应用到所述第一神经网络的输入的逐元素乘法运算子来确定的,所述逐元素运算子包括S型激活函数,所述第一神经网络至少部分基于以下公式中的一个或多个来确定所述第二特征向量:
示例40包括如示例34所述的主题,还包括:用于基于后验LSTM的多个递归隐藏状态和所述第一人在第三时间间隔的先验向量来学习所述先验分布的装置,所述第三时间间隔在所述第一时间间隔之前,所述先验向量包括所述第一人在所述第二时间间隔的运动方向和所述运动方向的速度,所述先验分布是至少部分基于以下公式来学习到的: 所述潜变量的值是至少部分基于以下公式来采样到的:
示例41包括如示例34所述的主题,所述层次化LSTM包括至少两个LSTM,所述至少两个LSTM包括第一LSTM和第二LSTM,所述第一LSTM接收所述潜变量的值和所述第二特征向量作为输入,所述第二LSTM接收所述第一LSTM的输出和所述第一特征向量作为输入,所述第二LSTM生成所述输出向量。
示例42包括如示例34所述的主题,还包括:用于为所述图像中描绘的每个人生成各自的输出向量的装置,所述各自的输出向量包括各个人在所述第二时间间隔的运动方向和所述运动方向的速度。
示例43包括如示例34所述的主题,还包括:用于接收与所述第一时间间隔和所述第二时间间隔之后的第三时间间隔相对应的第二图像的装置;用于确定描述所述第二图像中描绘的所述第一人的目的地特征的第三特征向量的装置;用于基于所述图像中描绘的多个人来为所述第二图像生成第二有向图的装置;用于基于所述第二有向图和所述第三特征向量为所述第一人确定第四特征向量的装置;用于从学习的先验分布中采样出所述潜变量的第二值的装置,所述潜变量的第二值对应于所述第三时间间隔;以及用于由所述层次化LSTM基于采样的第二值和所述第三特征向量和所述第四特征向量生成第二输出向量的装置,所述第二输出向量包括所述第一人在所述第三时间间隔的运动方向和所述运动方向的速度。
示例44包括如示例34所述的主题,还包括:用于确定所述输出向量与自主车辆的轨迹向量相交的装置;用于基于所确定的所述输出向量与所述轨迹向量的相交,确定在以后时间所述第一人和自主车辆之间的碰撞的可能性超过碰撞阈值的装置;用于向所述第一人或所述自主车辆中的至少一者输出对所述碰撞的指示的装置;用于由所述自主车辆的导航逻辑接收对所述碰撞的所述指示的装置;以及用于由所述导航逻辑修改所述自主车辆的运动以避免所述碰撞的装置。
此外,在前述内容中,各种特征被一起归组在单个示例中以精简公开内容。这种公开方法不应被解释为反映了要求保护的示例要求比每个权利要求中明确记载的更多的特征的意图。更确切地说,如所附权利要求反映的,发明主题存在于单个公开示例的少于全部特征中。从而,在此将所附权利要求并入到“具体实施方式”部分中,其中每个权利要求独立作为一个单独的示例。在所附权利要求中,术语“包括”和“在其中”分别被用作相应术语“包含”和“其中”的简明英语等同。另外,术语“第一”、“第二”和“第三”等等仅仅被用作标签,而并不打算对其对象施加数值要求。
虽然是以依结构特征和/或方法动作而定的语言来描述主题的,但要理解,所附权利要求中限定的主题不一定限于以上描述的具体特征或动作。更确切地说,以上描述的具体特征和动作是作为实现权利要求的示例形式被公开的。
适用于存储和/或执行程序代码的数据处理系统将包括通过系统总线直接或间接耦合到存储器元件的至少一个处理器。存储器元件可包括在程序代码的实际执行期间采用的本地存储器、大容量存储装置、以及提供至少一些程序代码的临时存储以减少在执行期间必须从大容量存储装置取回代码的次数的缓存存储器。术语“代码”覆盖了广泛的软件组件和构造,包括应用、驱动器、进程、例程、方法、模块、固件、微代码、以及子程序。从而,术语“代码”可以用来指指令的任何集合,这些指令当被处理系统执行时会执行一个或多个期望的操作。
本文描述的逻辑电路、设备和接口可以执行在硬件中实现的和利用在一个或多个处理器上执行的代码实现的功能。逻辑电路指的是实现一个或多个逻辑功能的硬件或者硬件和代码。电路是硬件,并且可以指一个或多个电路。每个电路可执行特定的功能。电路系统的电路可包括用一个或多个导体相互连接的分立电气组件、集成电路、芯片封装、芯片组、存储器,等等。集成电路包括在诸如硅晶片之类的衬底上创建的电路,并且可包括组件。并且集成电路、处理器封装、芯片封装和芯片组可包括一个或多个处理器。
处理器可以在(一个或多个)输入处接收信号,例如指令和/或数据,并且处理这些信号以生成至少一个输出。在执行代码时,代码会改变构成处理器管线的晶体管的物理状态和特性。晶体管的物理状态转化为存储在处理器内的寄存器中的一和零的逻辑比特。处理器可以将晶体管的物理状态转移到寄存器中,并且将晶体管的物理状态转移到另一个存储介质。
处理器可包括执行一个或多个子功能的电路,这一个或多个子功能被实现来执行处理器的整体功能。处理器的一个示例是包括至少一个输入和至少一个输出的状态机或者专用集成电路(application-specific integrated circuit,ASIC)。状态机可通过对至少一个输入执行预定的一系列串行和/或并行操纵或变换,来操纵至少一个输入以生成至少一个输出。
如上所述的逻辑可以是用于集成电路芯片的设计的一部分。芯片设计是以图形计算机编程语言创建的,并且被存储在计算机存储介质或数据存储介质中(例如盘、磁带、物理硬盘、或者虚拟硬盘,例如存储在存储访问网络中)。如果设计者不制作芯片或者用于制作芯片的光刻掩模,则设计者通过物理手段(例如,通过提供存储设计的存储介质的拷贝)或者电子方式(例如,通过互联网)直接或间接地将所得到的设计传输给这些实体。存储的设计随后被转换为适当的格式(例如,GDSII)以便制作。
所得到的集成电路芯片可被制作者以原始晶圆的形式发行(即,作为具有多个未封装芯片的单个晶圆)、作为裸片发行、或者以封装形式发行。在后一种情况下,芯片被安装在单芯片封装中(例如塑料载体,具有附接到主板或其他更高级载体的引线)或安装在多芯片封装中(例如陶瓷载体,其具有表面互连或隐埋互连中的任一者或两者)。在任何情况下,芯片随后与其他芯片、分立电路元件和/或其他信号处理器件被集成为以下各项的一部分:(a)中间产品,例如处理器板、服务器平台或者主板,或者(b)最终产品。
以上对示例实施例的描述是为了说明和描述而给出的。它并不打算是穷举性的或者将本公开限制到所公开的精确形式。根据本公开,许多修改和变化是可能的。希望本公开的范围不被本详细描述所限制,而是由所附权利要求来限制。将来提交的要求本申请优先权的申请可以按不同的方式要求保护所公开的主题,并且一般可包括本文以各种方式公开或以其他方式展示的一个或多个限制的任何集合。
Claims (20)
1.一种非暂态计算机可读存储介质,存储指令,所述指令当被处理器电路执行时,使得所述处理器电路:
确定第一特征向量,该第一特征向量描述图像中描绘的多个人中的第一人的目的地特征;
基于所述图像中描绘的所述多个人来为所述图像生成有向图;
基于所述有向图和所述目的地特征为所述第一人确定第二特征向量;
从学习的先验分布中采样出潜变量的值,所述潜变量对应于第一时间间隔;并且
基于采样的值和这些特征向量,由层次化长短期记忆网络(LSTM)生成输出向量,所述输出向量包括所述第一人在所述第一时间间隔之后的第二时间间隔的运动方向和所述运动方向的速度。
2.如权利要求1所述的计算机可读存储介质,所述第一特征向量由第一神经网络基于输入来确定,所述输入包括所述人在所述第一时间间隔的位置和所述人在所述第一时间间隔的速度,所述人在所述第一时间间隔的速度是基于所述人在所述第一时间间隔的位置和所述第一人在第三时间间隔的位置的,所述第三时间间隔在所述第一时间间隔之前。
3.如权利要求2所述的计算机可读存储介质,所述人在所述第一时间间隔和所述第三时间间隔的位置包括各自的一组极坐标,所述输出向量是为所述第一人生成的多个输出向量之一。
4.如权利要求2所述的计算机可读存储介质,所述有向图包括邻接矩阵、多个节点、以及多个边缘,每个节点对应于所述图像中描绘的多个人中的相应一个人,每个边缘基于所述图像中描绘的多个人中的一个人在所述图像中描绘的多个人中的另一个人的视野中而连接所述节点中的两个节点,所述邻接矩阵反映出一边缘是否连接所述节点中的两个节点。
5.如权利要求4所述的计算机可读存储介质,所述多个边缘中的第一边缘连接所述多个节点中的第一节点和第二节点,所述计算机可读存储介质存储指令,所述指令当被所述处理器电路执行时,使得所述处理器电路:
分析所述图像以确定所述第一人在所述多个人中的第二人的视野中;
生成所述有向图中的所述第一边缘,所述第一边缘从所述第二节点指向所述第一节点;
为所述第一边缘确定注意值;并且
将所述注意值指派给所述第一边缘。
6.如权利要求5所述的计算机可读存储介质,存储指令,所述指令当被所述处理器电路执行时使得所述处理器电路:
由所述第一神经网络基于表示所述第一边缘的消息来确定所述第二特征向量,所述消息是基于由所述第一神经网络应用到所述第一神经网络的输入的逐元素乘法运算子来确定的,所述逐元素运算子包括S型激活函数。
7.如权利要求1所述的计算机可读存储介质,所述计算机可读存储介质存储指令,所述指令当被所述处理器电路执行时,使得所述处理器电路:
基于后验LSTM的多个递归隐藏状态和所述第一人在第三时间间隔的先验向量来学习所述先验分布,所述第三时间间隔在所述第一时间间隔之前,所述先验向量包括所述第一人在所述第二时间间隔的运动方向和所述运动方向的速度。
8.如权利要求1所述的计算机可读存储介质,所述层次化LSTM包括至少两个LSTM,所述至少两个LSTM包括第一LSTM和第二LSTM,所述第一LSTM接收所述潜变量的值和所述第二特征向量作为输入,所述第二LSTM接收所述第一LSTM的输出和所述第一特征向量作为输入,所述第二LSTM生成所述输出向量。
9.如权利要求1所述的计算机可读存储介质,存储指令,所述指令当被所述处理器电路执行时使得所述处理器电路:
为所述图像中描绘的每个人生成各自的输出向量,所述各自的输出向量包括各个人在所述第二时间间隔的运动方向和所述运动方向的速度。
10.如权利要求1所述的计算机可读存储介质,存储指令,所述指令当被所述处理器电路执行时使得所述处理器电路:
接收与所述第一时间间隔和所述第二时间间隔之后的第三时间间隔相对应的第二图像;
确定第三特征向量,该第三特征向量描述所述第二图像中描绘的所述第一人的目的地特征;
基于所述图像中描绘的多个人来为所述第二图像生成第二有向图;
基于所述第二有向图和所述第三特征向量为所述第一人确定第四特征向量;
从所述学习的先验分布中采样出所述潜变量的第二值,所述潜变量的第二值对应于所述第三时间间隔;并且
由所述层次化LSTM基于所述采样的第二值和所述第三特征向量和所述第四特征向量生成第二输出向量,所述第二输出向量包括所述第一人在所述第三时间间隔的运动方向和所述运动方向的速度。
11.一种装置,包括:
处理器电路;以及
存储指令的存储器,所述指令当被所述处理器电路执行时使得所述处理器电路:
确定第一特征向量,该第一特征向量描述图像中描绘的多个人中的第一人的目的地特征;
基于所述图像中描绘的所述多个人来为所述图像生成有向图;
基于所述有向图和所述目的地特征为所述第一人确定第二特征向量;
从学习的先验分布中采样出潜变量的值,所述潜变量对应于第一时间间隔;并且
基于采样的值和这些特征向量,由层次化长短期记忆网络(LSTM)生成输出向量,所述输出向量包括所述第一人在所述第一时间间隔之后的第二时间间隔的运动方向和所述运动方向的速度。
12.如权利要求11所述的装置,所述第一特征向量由第一神经网络基于输入来确定,所述输入包括所述人在所述第一时间间隔的位置和所述人在所述第一时间间隔的速度,所述人在所述第一时间间隔的速度是基于所述人在所述第一时间间隔的位置和所述第一人在第三时间间隔的位置的,所述第三时间间隔在所述第一时间间隔之前。
13.如权利要求12所述的装置,所述人在所述第一时间间隔和所述第三时间间隔的位置包括各自的一组极坐标,所述输出向量是为所述第一人生成的多个输出向量之一。
14.如权利要求12所述的装置,所述有向图包括邻接矩阵、多个节点、以及多个边缘,每个节点对应于所述图像中描绘的多个人中的相应一个人,每个边缘基于所述图像中描绘的多个人中的一个人在所述图像中描绘的多个人中的另一个人的视野中而连接所述节点中的两个节点,所述邻接矩阵反映出一边缘是否连接所述节点中的两个节点。
15.如权利要求14所述的装置,所述多个边缘中的第一边缘连接所述多个节点中的第一节点和第二节点,所述存储器存储指令,所述指令当被所述处理器电路执行时使得所述处理器电路:
分析所述图像以确定所述第一人在所述多个人中的第二人的视野中;
生成所述有向图中的所述第一边缘,所述第一边缘从所述第二节点指向所述第一节点;
为所述第一边缘确定注意值;并且
将所述注意值指派给所述第一边缘。
16.一种方法,包括:
确定第一特征向量,该第一特征向量描述图像中描绘的多个人中的第一人的目的地特征;
基于所述图像中描绘的所述多个人来为所述图像生成有向图;
基于所述有向图和所述目的地特征为所述第一人确定第二特征向量;
从学习的先验分布中采样出潜变量的值,所述潜变量对应于第一时间间隔;并且
基于采样的值和这些特征向量,由在处理器上执行的层次化长短期记忆网络(LSTM)生成输出向量,所述输出向量包括所述第一人在所述第一时间间隔之后的第二时间间隔的运动方向和所述运动方向的速度。
17.如权利要求16所述的方法,所述第一特征向量由第一神经网络基于输入来确定,所述输入包括所述人在所述第一时间间隔的位置和所述人在所述第一时间间隔的速度,所述人在所述第一时间间隔的速度是基于所述人在所述第一时间间隔的位置和所述第一人在第三时间间隔的位置的,所述第三时间间隔在所述第一时间间隔之前。
18.如权利要求17所述的方法,所述人在所述第一时间间隔和所述第三时间间隔的位置包括各自的一组极坐标,所述输出向量是为所述第一人生成的多个输出向量之一。
19.如权利要求17所述的方法,所述有向图包括邻接矩阵、多个节点、以及多个边缘,每个节点对应于所述图像中描绘的多个人中的相应一个人,每个边缘基于所述图像中描绘的多个人中的一个人在所述图像中描绘的多个人中的另一个人的视野中而连接所述节点中的两个节点,所述邻接矩阵反映出一边缘是否连接所述节点中的两个节点。
20.如权利要求16所述的方法,还包括:
确定所述输出向量与自主车辆的轨迹向量相交;
基于所确定的所述输出向量与所述轨迹向量的相交,确定在以后时间所述第一人和自主车辆之间的碰撞的可能性超过碰撞阈值;
向所述第一人或所述自主车辆中的至少一者输出对所述碰撞的指示;
由所述自主车辆的导航逻辑接收对所述碰撞的所述指示;并且
由所述导航逻辑修改所述自主车辆的运动以避免所述碰撞。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2019/105898 WO2021051224A1 (en) | 2019-09-16 | 2019-09-16 | Stochastic trajectory prediction using social graph networks |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114222986A true CN114222986A (zh) | 2022-03-22 |
Family
ID=74882915
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980099325.0A Pending CN114222986A (zh) | 2019-09-16 | 2019-09-16 | 使用社交图网络进行的随机轨迹预测 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20220292867A1 (zh) |
EP (1) | EP4031991A4 (zh) |
JP (1) | JP2023501039A (zh) |
CN (1) | CN114222986A (zh) |
WO (1) | WO2021051224A1 (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11055874B2 (en) * | 2018-10-30 | 2021-07-06 | Ncr Corporation | Image processing for tracking actions of individuals |
EP3706034A1 (en) * | 2019-03-06 | 2020-09-09 | Robert Bosch GmbH | Movement prediction of pedestrians useful for autonomous driving |
US11878684B2 (en) * | 2020-03-18 | 2024-01-23 | Toyota Research Institute, Inc. | System and method for trajectory prediction using a predicted endpoint conditioned network |
US11699239B2 (en) * | 2020-04-21 | 2023-07-11 | The Board of Trustees of the University of Illinois (Urbana, IL) | Image processing method and apparatus |
JP2022136757A (ja) * | 2021-03-08 | 2022-09-21 | 本田技研工業株式会社 | 自律走行体 |
CN113903173B (zh) * | 2021-10-18 | 2022-06-03 | 苏州工业园区测绘地理信息有限公司 | 一种基于有向图结构和lstm的车辆轨迹特征提取方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9654792B2 (en) * | 2009-07-03 | 2017-05-16 | Intel Corporation | Methods and systems for motion vector derivation at a video decoder |
US10872273B2 (en) * | 2017-05-02 | 2020-12-22 | Kodak Alaris Inc. | System and method for batch-normalized recurrent highway networks |
US10268191B1 (en) * | 2017-07-07 | 2019-04-23 | Zoox, Inc. | Predictive teleoperator situational awareness |
CN110147892B (zh) * | 2019-02-20 | 2021-05-25 | 电子科技大学 | 基于变分轨迹上下文感知的人类移动模式推测模型、训练方法及推测方法 |
CN110059144B (zh) * | 2019-04-03 | 2021-12-10 | 电子科技大学 | 一种基于卷积神经网络的轨迹属主预测方法 |
-
2019
- 2019-09-16 JP JP2022508777A patent/JP2023501039A/ja active Pending
- 2019-09-16 US US17/635,792 patent/US20220292867A1/en active Pending
- 2019-09-16 CN CN201980099325.0A patent/CN114222986A/zh active Pending
- 2019-09-16 WO PCT/CN2019/105898 patent/WO2021051224A1/en unknown
- 2019-09-16 EP EP19945995.9A patent/EP4031991A4/en active Pending
Also Published As
Publication number | Publication date |
---|---|
EP4031991A4 (en) | 2023-06-07 |
WO2021051224A1 (en) | 2021-03-25 |
JP2023501039A (ja) | 2023-01-18 |
EP4031991A1 (en) | 2022-07-27 |
US20220292867A1 (en) | 2022-09-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10451712B1 (en) | Radar data collection and labeling for machine learning | |
US11455807B2 (en) | Training neural networks for vehicle re-identification | |
Saponara et al. | Implementing a real-time, AI-based, people detection and social distancing measuring system for Covid-19 | |
Grigorescu et al. | A survey of deep learning techniques for autonomous driving | |
US11610115B2 (en) | Learning to generate synthetic datasets for training neural networks | |
CN111797893B (zh) | 一种神经网络的训练方法、图像分类系统及相关设备 | |
CN114222986A (zh) | 使用社交图网络进行的随机轨迹预测 | |
US10909842B2 (en) | Use of self-driving vehicles and mapping for pedestrian defined crosswalks | |
US10762440B1 (en) | Sensor fusion and deep learning | |
Mahajan et al. | Automatic robot Manoeuvres detection using computer vision and deep learning techniques: a perspective of internet of robotics things (IoRT) | |
Gong et al. | Mmpoint-gnn: Graph neural network with dynamic edges for human activity recognition through a millimeter-wave radar | |
CN110646787A (zh) | 自运动估计方法和设备以及模型训练方法和设备 | |
EP3938806A1 (en) | Radar data collection and labeling for machine-learning | |
Chang et al. | Fast Random‐Forest‐Based Human Pose Estimation Using a Multi‐scale and Cascade Approach | |
Alcantarilla et al. | Visibility learning in large-scale urban environment | |
US11727686B2 (en) | Framework for few-shot temporal action localization | |
Zhou et al. | Static-dynamic global graph representation for pedestrian trajectory prediction | |
Ponnaganti et al. | Deep learning for lidar-based autonomous vehicles in smart cities | |
CN114972492A (zh) | 一种基于鸟瞰图的位姿确定方法、设备和计算机存储介质 | |
CN116597336A (zh) | 视频处理方法、电子设备、存储介质及计算机程序产品 | |
Elassal et al. | Unsupervised crowd counting | |
US11640701B2 (en) | People detection and tracking with multiple features augmented with orientation and size based classifiers | |
Yu et al. | ECCNet: Efficient chained centre network for real‐time multi‐category vehicle tracking and vehicle speed estimation | |
Amara et al. | Deeptracknet: camera based end to end deep learning framework for real time detection, localization and tracking for autonomous vehicles | |
Katyal et al. | Prediction-based uncertainty estimation for adaptive crowd navigation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |