防止与非移动对象的低速擦边碰撞的制作方法

文档序号:31313099发布日期:2022-08-31 00:04阅读:89来源:国知局
防止与非移动对象的低速擦边碰撞的制作方法

1.本公开涉及计算机实现的方法、系统和计算机程序产品。


背景技术:

2.本文的一个或多个实施例涉及静止对象识别,并且具体而言,涉及静止对象识别和碰撞回避(avoidance)。


技术实现要素:

3.以下呈现概述以提供对本发明中的一个或多个实施例的基本理解。该概述不旨在标识关键或重要元素或描绘特定实施例的任何范围或权利要求的任何范围。其唯一目的是以简化的形式呈现概念,作为稍后呈现的更详细描述的序言。在本文描述的一个或多个实施例中,提供静止对象碰撞回避辅助的系统、设备、计算机实现的方法和/或计算机程序产品。
4.传统上,对象回避系统利用雷达或声纳传感器来探测对象。然而,在车辆中实现这些传感器可能成本很高。许多车辆现在包括多个光学相机作为车载360
°
相机系统的部分。因此,对这种现有的光学相机的进一步利用可以降低对象回避系统的成本。然而,利用这种光学相机会导致误报(false positive)对象识别。因此,需要使用现有的车载光学相机准确且有效地识别静止对象。
5.根据一个实施例,一种计算机实现的方法包括:由可操作地耦合到处理器的系统确定包括由移动车辆的光学相机捕获的图像的集合中的图像坐标的感兴趣点;由该系统确定在该图像的集合中是否存在多重匹配(multi-match);响应于确定多重匹配不存在,由该系统拒绝感兴趣点;响应于确定存在多重匹配,由该系统确定感兴趣点是否表示对静止对象的误报确定;响应于确定感兴趣点处于运动并且对应于误报,由该系统拒绝感兴趣点;以及响应于确定感兴趣点是静止的并且不对应于误报,由该系统启动碰撞回避以回避对应于感兴趣点的静止对象。
6.根据另一实施例,一种系统包括:存储器,其存储计算机可执行组件;和处理器,其执行存储在存储器中的计算机可执行组件,其中计算机可执行组件包括:感兴趣点识别组件,其确定感兴趣点,所述感兴趣点包括由移动车辆的光学相机捕获的图像的集合中的图像坐标;匹配组件,其确定在图像的集合中是否存在多重匹配;运动确定组件,其响应于匹配组件确定存在多重匹配而确定感兴趣点是静止的还是处于运动,并且响应于确定感兴趣点处于运动而拒绝感兴趣点,其中处于运动的感兴趣点对应于误报;以及碰撞回避组件,其响应于运动确定组件确定感兴趣点是静止的而启动碰撞回避以回避对应于感兴趣点的静止对象。
7.根据另一实施例,一种计算机程序产品包括计算机可读存储介质,该介质具有嵌入其中的程序指令,程序指令可由处理器执行以使处理器:由处理器确定感兴趣点,感兴趣点包括由移动车辆的光学相机捕获的图像的集合中的图像坐标;由处理器确定在图像的集
合中是否存在多重匹配;响应于确定多重匹配不存在,由处理器拒绝感兴趣点;响应于确定存在多重匹配,由处理器确定感兴趣点是否表示静止对象的误报确定;响应于确定感兴趣点处于运动并且对应于误报,拒绝感兴趣点;以及响应于确定感兴趣点是静止的并且不对应于误报,由处理器启动碰撞回避以回避对应于感兴趣点的静止对象。
附图说明
8.图1示出了可以根据本文所述的一个或多个实施例便于静止对象识别的示例性非限制性系统的框图。
9.图2示出了可以根据本文所述的一个或多个实施例便于静止对象识别和碰撞回避的示例性非限制性系统的框图。
10.图3示出了可以根据本文所述的一个或多个实施例便于静止对象识别和碰撞回避的示例性非限制性系统的框图。
11.图4a-图4c示出了根据本文所述的一个或多个实施例的用于静止对象碰撞回避的示例性非限制性过程的流程图。
12.图5a-图5c示出了根据本文所述的一个或多个实施例的示例性非限制性静止对象识别和碰撞回避技术的示意图。
13.图6示出了根据本文所述的一个或多个实施例的用于静止对象识别和碰撞回避的示例性非限制性过程的流程图。
14.图7-图9示出了根据本文所述的一个或多个实施例的示例性非限制性静止对象感兴趣点检测和匹配技术的示意图。
15.图10示出了根据本文所述的一个或多个实施例的示例性非限制性立体位置识别的示意图。
16.图11示出了根据本文所述的一个或多个实施例的固定对象随时间的示例性、非限制性三角测量的示意图。
17.图12示出了根据本文所述的一个或多个实施例的移动对象随时间的示例性、非限制性三角测量的示意图。
18.图13示出了根据本文所述的一个或多个实施例的示例性非限制性特殊情况的示意图。
19.图14a-图14d示出了根据本文所述的一个或多个实施例的示例性非限制性特殊情况的示意图。
20.图15a-图15d示出了根据本文所述的一个或多个实施例的示例性、非限制性特殊情况的示意图。
21.图16示出了根据本文所述的一个或多个实施例的示例性非限制性特殊情况的示意图。
22.图17示出了根据本文所述的一个或多个实施例的示例性非限制性特殊情况的示意图。
23.图18示出了可根据本文所述的一个或多个实施例缓解与静止对象的碰撞的示例性非限制性计算机实现方法的流程图。
24.图19示出了可根据本文所述的一个或多个实施例缓解与静止对象的碰撞的示例
性计算机程序产品的流程图。
25.图20为示例性非限制性计算环境,其中可实现本文所述的一个或多个实施例。
26.图21为示例性非限制性网络环境,其中可实现本文所述的一个或多个实施例。
具体实施方式
27.以下详细描述仅是说明性的,并不旨在限制实施例和/或实施例的应用或使用。此外,不旨在受前述背景或发明内容部分或具体实施方式部分中呈现的任何明示或暗示信息的约束。
28.现参照附图描述一个或多个实施例,其中相似的附图标记自始至终用于指相似的元素。在以下描述中,出于解释的目的,阐述了许多具体细节,以便提供对一个或多个实施例的更彻底的理解。然而,很明显,在各种情况下,可以在没有这些具体细节的情况下实践一个或多个实施例。
29.应理解,当一个元件被称为“耦合”至另一个元件时,它可描述一种或多种不同类型的耦合,包括但不限于化学耦合、通信耦合、电容耦合、电耦合、电磁耦合、感应耦合、操作耦合、光学耦合、物理耦合、热耦合和/或另一种类型的耦合。如本文所指,“实体”可以包括人、客户端、用户、计算设备、软件应用、代理、机器学习模型、人工智能和/或另一实体。应当理解,这种实体可以根据本文所述的一个或多个实施例来便于本主题公开的实现方式。
30.图1示出了根据本文所述的一个或多个实施例的示例性非限制性系统102的框图。系统102可以包括存储器104、处理器106、感兴趣点(poi)识别(id)组件108、匹配组件110、运动确定组件112、总线114和/或相机116。在各种实施例中,存储器104、处理器106、感兴趣点(poi)识别(id)组件108、匹配组件110、运动确定组件112、总线114和/或相机116中的一个或多个可以通信地或可操作地彼此耦合,以进行系统102的一个或多个功能。
31.poi id组件108确定图像中的感兴趣点(例如,3d点)。这样的感兴趣点可以包括图像的集合(例如,至少三个图像构成的集合)中的图像坐标。这种图像可以由车辆(例如,移动车辆)的光学相机(例如,相机116)捕获。poi id组件108可以(例如,基于相邻像素的局部变化)在图像中搜索感兴趣点,并将所述感兴趣点转换成能够更容易进行比较或匹配的描述符。为了实现前述内容,poi id组件108可以利用例如尺度不变特征变换(sift)或用于视觉搜索的紧凑描述符(cdvs)。
32.匹配组件110可确定多重匹配是否存在于该图像的集合(例如,图像的集合)中。根据一个实施例,多重匹配可以包括三个图像构成的集合。在这点上,多重匹配可以对应于三重匹配(triple-match)。为了确定图像的集合中是否存在三重匹配,匹配组件110可以确定第一图像中的第一感兴趣点是否对应于第二图像中的第二感兴趣点,确定第一图像中的第一感兴趣点是否对应于第三图像中的第三感兴趣点,以及确定第二图像中的第二感兴趣点是否对应于第三图像中的第三感兴趣点。在这点上,匹配组件110尝试进行三重匹配。换句话说,匹配组件110尝试在第一图像中的点和第二图像中的对应点之间进行匹配。为了存在三重对(triple-pair)或三重匹配,第三图像也必须包含与第一和第二图像中的点对应的点。前述内容在图7-图8中以图的形式示出。
33.其他实施例可利用不同组合的多重匹配。例如,根据一个实施例,多重匹配可以包括双重匹配(double-match)。在双重匹配中,匹配组件110可以从双重匹配中外推第三点
(例如,在双重匹配的两个图像之外的另一个图像中)。另外的实施例可以例如从四个图像构成的集合中进行三重匹配。在这点上,匹配组件110可以从四个(或更多个)图像构成的集合中识别三重匹配。进一步的实施例可以利用四重匹配。在这点上,匹配组件110可以确定对应于四个图像的四个点是否都对应于同一个点。可以理解,本文的匹配组件110或系统或方法不限于双重、三重或四重匹配,并且可以利用其他组合。
34.匹配组件110还可响应于确定多重匹配(例如,三重匹配)不存在而拒绝感兴趣点;或如果存在多重匹配,则接受感兴趣点。匹配组件110的这种匹配可以针对图像的集合(例如,三个图像构成的集合)中的数百或数千个感兴趣点发生。在这点上,可以进行数百或数千个的多重匹配,从而在该图像的集合中得到确认的对象。
35.匹配组件110可进一步确定该图像的集合中的对象的地理位置。通过计算汽车从先前点到当前点的运动,基于车辆的车轮旋转和转向角,可以确定相机(例如,相机116)的位置差异,并且(来自当前点和先前点的)两个图像可以被视为立体(stereo)设置。在这点上,可以确定相机116在第一时间点的第一位置和相机116在第二时间点的第二位置。这可以允许对深度进行计算。然而,这要求被定位的对象保持在固定的位置,这典型地是停车情形下的情况。如果对象正在移动,则计算的深度和/或位置可能不正确。在这点上,可以使用相同的光学相机(例如,相机116),使用三个图像来获得三重对立体视觉视图。匹配组件可以比较这些对(1-2、2-3和1-3),并计算3d位置。如果所有三个对都产生相同的位置,则潜在地存在固定对象。如果至少一个对产生不同的位置,则确定该对象正在移动并且丢弃该感兴趣点。
36.然而,有几种特殊的运动情况,即使当使用三个图像对相对于移动对象来识别静止对象(因此存在潜在的固定对象)时,使用前述的过程也会产生固定对象的错觉。稍后将更详细地讨论此类特殊情况。
37.运动确定组件112还可确定感兴趣点是静止的还是处于运动,并响应于确定感兴趣点处于运动而拒绝该感兴趣点。可能存在误报(例如,定义的特殊情况),因此3d位置经受(例如,运动确定组件112进行的)特殊情况测试。如果在特殊情况测试之后对象仍然被确定为静止的(例如,如果3d位置与定义的特殊情况不匹配),则3d点和相关联的对象可以(例如,由运动确定组件112)视为静止对象。特殊情况测试可以包括使3d位置经受一系列定义的特殊情况,该特殊情况可以表现为误报静止对象。此类定义的特殊情况在图13-图17中提供,因此稍后将更详细地讨论。
38.根据一个实施例,相机116可以是位于车辆一侧的相机系统。相机116可以位于门把手、侧视镜、车门、挡泥板、轮舱、踏板、车顶、窗框或车辆一侧的其他位置之中或之上。在其他实施例中,相机116可以位于车辆的前面或后面,例如在保险杠、格栅、引擎盖、后挡板或车顶上。相机116可以包括光学相机,并且可以以例如每秒30帧(fps)或60fps捕获图像,但还可以利用其他帧速率。可以理解,相机116可以包括来自车辆的360
°
相机系统的相机。这种现有的360
°
系统经常被用来显示停车时的盲点,并且目前在许多车辆上可用。相机116可以向系统102或本文描述的其他系统的任何组件提供图像或视频。
39.存储器104可存储一个或多个计算机/机器可读和/或可执行组件和/或指令,当由处理器106(例如,经典处理器、量子处理器等)执行时,该一个或多个计算机/机器可读和/或可执行组件和/或指令可以便于进行由(一个或多个)可执行组件和/或(一个或多个)指
令定义的操作。例如,存储器104可以存储计算机和/或机器可读、可写和/或可执行组件和/或指令,当由处理器106执行时,该计算机和/或机器可读、可写和/或可执行组件和/或指令可以便于执行本文描述的与系统102、poi id组件108、匹配组件110、运动确定组件112、相机116或其他组件相关的各种功能,该其他组件将在后面更详细地讨论,例如碰撞回避组件204和/或人工智能组件304。存储器104可以包括易失性存储器(例如,随机存取存储器(ram)、静态ram(sram)、动态ram(dram)等)和/或非易失性存储器(例如,只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)等),它们可以采用一个或多个存储器架构。可以理解,存储器104可以存储图像、帧、对、感兴趣点和/或本文利用的其他信息。
40.处理器106可包括一种或多种类型的处理器和/或电子电路(例如,经典处理器、图形处理器、量子处理器等),该处理器和/或电子电路能实现可存储在存储器104上的一个或多个计算机和/或机器可读、可写和/或可执行的组件和/或指令。例如,处理器106可以进行可以由这样的计算机和/或机器可读、可写和/或可执行的组件和/或指令指定的各种操作,包括但不限于逻辑、控制、输入/输出(i/o)、算术等。在一些实施例中,处理器106可以包括以下中的一个或多个:中央处理单元、多核处理器、微处理器、双微处理器、微控制器、片上系统(soc)、阵列处理器、向量处理器、量子处理器和/或另一种类型的处理器。
41.总线114可包括以下中的一个或多个:存储器总线、存储器控制器、外围总线、外部总线、本地总线、量子总线和/或可采用各种总线架构(例如,工业标准架构(isa)、扩展isa(eisa)、微通道架构(msa)、智能驱动电子设备(ide)、高级图形端口(agp)、vesa本地总线(vlb)、外围组件互连(pci)、通用串行总线(usb)、卡总线、小型计算机系统接口(scsi)、火线(ieee 1394)等)的另一种类型的总线。
42.现在转到图2,示出了根据本文所述的一个或多个实施例的示例性非限制性系统202的框图。系统202可以类似于系统102,并且可以包括存储器104、处理器106、感兴趣点(poi)识别(id)组件108、匹配组件110、运动确定组件112、总线114和/或相机116。为了简洁起见,省略了对各个实施例中采用的类似元件和/或过程的重复描述。
43.系统202可以另外包括碰撞回避组件204。碰撞回避组件204可以响应于由运动确定组件确定感兴趣点是静止的,启动碰撞回避以回避对应于感兴趣点的静止(例如,固定)对象。在这点上,碰撞回避组件204可以便于一个或多个碰撞回避动作或操纵,例如自动制动以防止临近的撞击,为预测的撞击生成视觉警告,为预测的撞击生成触觉反馈警告,或者其他碰撞回避动作或警告。这种动作或警告可以取决于定义的碰撞的临近程度(例如,碰撞是否在临近阈值内,例如在两秒内发生;或者车辆在未来是否在不同的定义的时间量处于路线上)。
44.碰撞回避组件204可以利用车辆轨迹预计(projection),车辆轨迹预计可以基于前轮角度和车辆速度或车轮旋转速度。附加实施例还可以基于后轮角度(例如,对于除了前转向之外还可以利用后转向的车辆)和/或后轮旋转速度来预计车辆轨迹。基于轨迹预计,碰撞回避组件204可以发出警告,防止朝向对象的附加转向(例如,通过触觉反馈),或者如果方向盘转动太多以至于路径与对象相交则便于自动制动。这种动作或警告可以取决于碰撞的临近程度(例如,碰撞是否临近或者车辆在未来是否在定义的时间量处于路线上)。例如,如果碰撞临近(例如,预测在两秒内发生),则车辆可以开始自动制动,如本领域技术人
员所理解的。如果碰撞预测要发生,但是所述碰撞不是临近的(例如,预测在超过两秒内发生),则车辆可以生成视觉或听觉警告。如本领域技术人员所理解的,这种警告可以通过车辆的扬声器广播,或者可以显示在车辆显示器上(例如,平视显示器、信息娱乐屏幕、仪表组或其他位置)。
45.在各种实施例中,存储器104、处理器106、感兴趣点(poi)识别(id)组件108、匹配组件110、运动确定组件112、总线114、相机116和/或碰撞回避组件204中的一个或多个可通信地或可操作地彼此耦合,以进行系统202的一个或多个功能。
46.图3示出了根据本文所述的一个或多个实施例的示例性非限制性系统302的框图。系统302可以类似于系统202,并且可以包括存储器104、处理器106、感兴趣点(poi)识别(id)组件108、匹配组件110、运动确定组件112、总线114、相机116和/或碰撞回避组件204。为了简洁起见,省略了对各个实施例中采用的类似元件和/或过程的重复描述。
47.系统302可附加地包括人工智能组件304。可以采用人工智能或机器学习系统和技术来便于学习用户行为、基于上下文的场景、偏好等,以便以高度的置信度采取自动行动。基于效用的分析可用于考虑采取行动的益处与采取不正确行动的成本。基于概率或统计的分析可以与前述和/或以下结合使用。
48.人工智能组件304可学习确定包括由车辆(例如,移动车辆)的光学相机(例如,相机116)捕获的图像的集合(例如,至少三个图像的集合)中的图像坐标的感兴趣点,学习确定感兴趣点是静止的还是处于运动,学习确定该图像的集合中是否存在多重匹配,学习启动碰撞回避以回避对应于感兴趣点的静止对象,和/或学习确定适当的碰撞缓解动作以及系统302的其他功能。例如,人工智能组件304可以包括和/或采用人工智能(ai)模型和/或机器学习(ml)模型,这些模型可以(例如,通过使用历史训练数据和/或反馈数据的训练)学习进行上述或下述功能。
49.在一些实施例中,人工智能部件304可包括ai和/或ml模型,可以使用历史训练数据(例如,通过监督和/或无监督技术)训练该模型以进行上述功能,这些历史训练数据包括对应于基于光学相机的碰撞缓解操作的各种上下文条件。在该示例中,这种ai和/或ml模型可以进一步使用包括反馈数据的训练数据(例如,经由监督和/或无监督技术)学习来进行上述功能,其中这样的反馈数据可以由人工智能组件304收集和/或存储(例如,在存储器104中)。在该示例中,这样的反馈数据可以包括以上/以下描述的各种指令,这些指令可以响应于观察到的/存储的基于上下文的信息随时间输入到例如系统302。在一些实施例中,基于学习进行上述功能,人工智能组件304可以以与感兴趣点(poi)识别(id)组件108、匹配组件110、运动确定组件112、总线114、相机116和/或碰撞回避组件204相同的方式和/或使用与其相同的资源来进行这些功能。
50.人工智能部件304可基于使用从例如相机116获取的信息(例如,反馈数据)确定的定义的置信度,来启动与车辆相关的操作。例如,基于使用上述定义的反馈数据学习来进行上述功能,如果人工智能组件304基于这样的反馈数据确定可能发生与静止对象的碰撞,则它可以启动与车辆相关联的操作。例如,基于使用上述定义的反馈数据学习来进行上述功能,人工智能组件304可以响应于确定与静止对象的碰撞将发生或可能发生,来确定适当的动作。
51.在一个实施例中,人工智能部件304可进行基于效用的分析,该分析考虑启动与车
辆相关的上述操作的成本与益处。在该实施例中,人工智能组件304可以使用一个或多个附加的上下文条件来确定是否应该采取当前的碰撞回避动作。这种上下文条件可以包括车辆信息,例如(但不限于)车轮转速(例如,车辆速度)和车轮角度(例如,转向角)。
52.为便于上述功能,人工智能组件304可进行与人工智能原理相关的分类、关联、推断和/或表达。例如,人工智能组件304可以采用自动分类系统和/或自动分类。在一个示例中,人工智能组件304可以采用基于概率和/或统计的分析(例如,考虑到分析效用和成本)来学习和/或生成推断。人工智能组件304可以采用任何合适的基于机器学习的技术、基于统计的技术和/或基于概率的技术。例如,人工智能组件304可以采用专家系统、模糊逻辑、支持向量机(svm)、隐马尔可夫模型(hmm)、贪婪搜索算法、基于规则的系统、贝叶斯模型(例如,贝叶斯网络)、神经网络、其他非线性训练技术、数据融合、基于效用的分析系统、采用贝叶斯模型的系统等。在另一示例中,人工智能组件304可以进行机器学习计算的集合。例如,人工智能组件304可以执行聚类机器学习计算的集合、逻辑回归机器学习计算的集合、决策树机器学习计算的集合、随机森林机器学习计算的集合、回归树机器学习计算的集合、最小二乘机器学习计算的集合、基于实例的机器学习计算的集合、回归机器学习计算的集合、支持向量回归机器学习计算的集合、k均值机器学习计算的集合、谱聚类机器学习计算的集合、规则学习机器学习计算的集合、贝叶斯机器学习计算的集合、深度波尔兹曼机器计算的集合、深度信念网络计算的集合和/或不同的机器学习计算的集合。
53.在各种实施例中,存储器104、处理器106、感兴趣点(poi)识别(id)组件108、匹配组件110、运动确定组件112、总线114、相机116、碰撞回避组件204和/或人工智能组件304中的一个或多个可通信或可操作地彼此耦合,以进行系统302的一个或多个功能。
54.图4a示出了根据本文所述的一个或多个实施例的用于静止对象识别和碰撞回避的示例性非限制性过程400的流程图。在402处,可以进行(例如,来自三个图像帧的)耦合点的三角测量(triangulation)。在图4b中更详细地讨论了在402处的这种三角测量。在404处,如果耦合点(例如,多重对或多重匹配,诸如三重匹配或其他组合)存在,则在408处,这些点被认为对应于潜在固定(例如,潜在静止)的对象。对象在这里被认为是潜在静止的,因为如果基于误报识别将该潜在固定的对象识别为静止的,则该潜在固定的对象可能仍处于运动,这可能发生在特殊情况检测或匹配之前。如果在404处,这些点不对应于相同的位置,则在416处,这些点被认为对应于移动对象,并且该过程可以结束,因为根据一实施例,过程400被配置为回避静止对象而不是移动对象。在410处,来自408的潜在固定对象经受移动对象的特殊情况检测。特殊情况测试可以包括使(对应于潜在静止对象的)3d位置经受一系列定义的特殊情况。在图13-图17中提供了这种定义的特殊情况。在412处,如果基于与特殊情况的比较,潜在固定对象被确定为移动对象,则在416处,这些点被认为对应于移动对象,并且该过程可以结束。如果在412处,基于与特殊情况的比较,潜在固定对象被确定为固定对象,则在414处,可以便于碰撞回避过程。在图4c中更详细地讨论了414处的碰撞回避。
55.图4b示出了耦合点的示例性三角测量的流程图。在402处,可以进行(例如,在三帧中的)耦合点的三角测量。402可以包括在418处利用(例如,来自相机116的)帧作为在420处对帧(例如,至少三个帧)进行poi检测的输入。poi检测可以利用例如尺度不变特征变换(sift)或用于视觉搜索的紧凑描述符(cdvs)。在424处,可以使用相关的车辆速度和车辆转向角作为来自422的输入和来自420的poi检测,对poi的每个匹配点的集合进行三角测量。
56.图4c示出了示例性碰撞回避414的流程图。在426处的转向角α和在428处的速度v可被输入到430,其中确定或计算车辆的轨迹和所述车辆的潜在轨迹
±
δα(v)。根据一个实施例,转向角δα(v)的潜在变化在较大速度下可以较小。在这点上,在较高的速度下,预期的δα(v)可以较小。换句话说,转向角在更高的速度下往往更小。因此,在高速行驶时,碰撞回避不考虑急转弯。速度也可以帮助确定碰撞的临近程度(例如,速度可以帮助确定经过可能导致碰撞的距离所需的时间)。在434,将车辆几何构造(geometry)(例如,车辆位置和轨迹)与从432接收的(一个或多个)固定对象的(一个或多个)3d位置(在432,确定固定对象的3d位置)进行比较。这样的3d位置可以根据图4a和图4b中的402来确定。在438处,如果基于434处的比较,碰撞风险临近,则可在436处便于自动制动以防止临近的撞击。临近的碰撞可以包括预测的未来碰撞,其被预测为在定义的时间量内(例如,在两秒内)发生。如果在438处预测到碰撞风险但不是临近的(例如,预测会发生但不在前述定义的时间量内),则在442处确定是否存在非临近的碰撞的风险。如果存在碰撞的风险(但不是临近的风险),则可以在440处生成视觉警告。视觉警告可以包括平视显示器、信息娱乐屏幕、仪表组或数字仪表组或相关车辆内的其他屏幕中的消息或警报。如本领域技术人员将理解的,这种警告可以通过车辆的扬声器广播或者可以显示在车辆显示器(例如,平视显示器、信息娱乐屏幕、仪表组或其他位置)上。如果在442处当前轨迹上没有碰撞风险,则在446处确定潜在轨迹处是否存在碰撞风险。取决于驾驶员的输入,潜在轨迹可以包括车辆当前没有采取但将来可能采取的轨迹。换句话说,潜在轨迹可以包括如果驾驶员做出转向改变情况下的轨迹。如果在446处,潜在轨迹处存在碰撞风险,则在444处,可以应用转向警告。转向警告可以包括例如(例如,在相关车辆的方向盘或座椅中的)触觉反馈。根据一个实施例,如果车辆驾驶员转向潜在的碰撞轨迹,则可以应用触觉反馈。因此,所述触觉反馈可以提醒或通知所述驾驶员不要进入这种碰撞路线轨迹。如果在446处,在潜在轨迹处没有碰撞的风险,则在448处不发生任何事情。
57.现在转到图5a,示出了根据本文描述的各种实施例的示例性自动制动场景500的图。如上所述,自动制动可被用于(例如,由碰撞回避组件204)确定为临近的碰撞。如图5a所示,车辆502的前轮预测路径510可以回避对象504。然而,车辆502的后轮预测路径508可能处于与对象504的临近的碰撞路线上。可以预测临近的碰撞在506处发生。在这种场景下,车辆502可以便于自动制动,使得临近的碰撞506不会发生。
58.参考图5b,示出了根据本文描述的各种实施例的示例性视觉警告场景520的图。如上所述,可以(例如,通过碰撞回避组件204)为被确定为不是临近的碰撞提供警告(例如,视觉警告和/或听觉警告)。如图5b所示,前轮预测路径510可以回避对象504。然而,车辆502的后轮预测路径508可能处于与对象504的碰撞路线上,尽管在该场景520中碰撞不是临近的(例如,不在定义的临近碰撞阈值内)。可以预测非临近的碰撞在506处发生。在这种场景下,车辆502可以生成视觉警告,从而向车辆502的驾驶员警告碰撞506。
59.现在转到图5c,示出了根据本文所述的各种实施例的示例性转向警告场景530的图。如所描述的,取决于驾驶员输入,潜在轨迹可以包括车辆当前没有采取但可能在未来采取的轨迹。如果在潜在轨迹处存在碰撞的风险,则可以应用转向警告。如图5c所示,前轮预测路径510可以回避对象504。车辆502的后轮预测路径508也可回避对象504。然而,车辆502的急左转可能使车辆502处于将导致在506处发生碰撞的轨迹上。因此,存在碰撞的潜在轨
迹。如果车辆502的驾驶员尝试向左急转弯(在该非限制性示例中),则可以(例如,在相关的方向盘中)应用触觉反馈,使得警告驾驶员不要采取这样的转弯轨迹,从而回避506处的碰撞。
60.图6示出了根据本文描述的一个或多个实施例的用于移动对象的特殊情况检测的过程600的示例性非限制性流程图的流程图。在602处,确定潜在固定对象的图像中的关键点(例如,感兴趣点)位置和对应的3d位置。在604处,测试定义的特殊情况(稍后将更详细地讨论示例性定义的特殊情况)。在606处,如果潜在的固定对象与特殊情况相匹配,则在612处,该对象被视为移动对象,因此出于静止对象碰撞警告或回避的目的,不考虑该对象。如果潜在固定对象不匹配特殊情况,则在608处,潜在固定对象被视为固定对象。在610处,固定对象的3d位置被输出(例如,到碰撞回避组件204)。
61.图7和图8示出了根据本文描述的各种实施例的poi匹配。在图7中,存在三重对的两个集合。例如,图像714中的poi 702、图像716中的poi704和图像718中的poi 706都对应于三个图像之间的共同位置。类似地,图像714中的poi 708、图像716中的poi 710和图像718中的poi 712都对应于三个图像之间的共同位置。
62.在图8中,图像814中的poi 808、图像816中的poi 810和图像818中的poi 812都对应于三个图像之间的共同位置。因此,这些点存在多重匹配(在本例中为三重匹配)。然而,虽然图像814中的poi 802对应于图像818中的poi 806,并且图像816中的poi 822对应于图像818中的poi 824,但是poi 824不对应于poi 802,并且poi 806不对应于poi 822。因此,对于这些poi不存在三重匹配,并且它们因此被拒绝并且不被考虑用于确定对象的3d位置。即使poi 802或poi 804之一与poi 806匹配,这也不是三重对。可以理解的是,前述表示了示例性的三重匹配,但可以利用其他组合。例如,根据一个实施例,在双重匹配的情况下,可以基于poi 802和poi 806(例如,通过匹配组件110)外推poi 804。在其他实施例中,可能需要四重或更多重的匹配。
63.图9示出了根据本文描述的各种实施例的3d位置计算。图像902和图像904可以是经校准图像,使得每行和每列分别对应于垂直和水平视角,然后x和y值可以被转换成角度,并且可以使用立体图像重建来计算3d点(例如,参见图10)。在立体三角测量中,当对象p位于两个相机(c1和c2)中,并且相机相对于彼此的位置是已知的(t)时,则可以通过三角测量来计算到p的距离。在这点上,可以利用三重对(例如,使用三重对匹配)来确定对象位置,并且(例如,使用特殊情况匹配)移除误报,但可以理解,可以利用其他组合,例如双重匹配或四重匹配(或其他组合)。根据一个实施例,可以使用相机校准将像素坐标转换成角度。在这点上,当图像被校准(例如,校正)时,一列(或一行)中的所有像素可以具有与光轴(例如,从相机的中心指向其瞄准的中心的向量)相同的横向角度偏差(或者对于行是垂直的)。
64.图10示出了根据本文各种实施例的示例性立体三角测量。在这个非限制性示例中,只有α1是负的,并且根据以下等式的解,所有角度的正方向都可以在x轴之外:在这个示例中,o1可以是在由y轴和相机c1的光轴跨越的平面上的投影的角度。对象的距离可以首先被投影到光轴上,然后类似于用于计算z和x的两个等式的三角形产生一
个等式来确定y。该投影可以是以下等式中的分母:
[0065][0066]
注意,o1还没有被使用,并且可能不需要被使用,因为最后的坐标y只能从等式2计算。使用相机c2产生以下等式:
[0067][0068]
平均值y可以从等式2和3导出。
[0069][0070]
在这点上:
[0071]
图11示出了固定对象1104相对于车辆1102随时间的示例性三角测量,并且图12示出了移动对象1204相对于车辆1202随时间的示例性三角测量。
[0072]
图13-图17示出了示例性定义的特殊情况,其中对象(例如,潜在的固定对象)表现为静止对象,但实际上是误报,因此表示移动对象。可以测试特殊情况,从而可以识别误报结果,并且可以从进一步的分析和/或后续动作(例如,碰撞回避)中丢弃移动对象。
[0073]
图13示出了特殊情况1300,其中对象1302和汽车1304在相同方向上平行移动。当vo=vc,时,感知的固定位置为∞。当遇到特殊情况1300时,不需要碰撞回避动作。在这点上,多点检测揭示了恒定的尺度(scale)(例如,对象保持恒定但未知的距离)。在这点上,多个感兴趣点可以对应于单个对象,并且可以随着时间确定所述对象的尺度,例如,通过向后连接到时间上更早的已经被完全处理的先前迭代,在三个或更多个图像构成的集合之间确定。然而,因为距离是恒定的,所以不需要碰撞回避动作(例如,缓解)。因此,该对象可以被适当地视为移动对象,因此可以被忽略或拒绝。
[0074]
图14a-图14d指的是汽车1404(例如车辆)和对象1402在相反方向平行移动的特殊情况。图14a示出了一种特殊情况1400,其中对象1402和汽车1404以恒定速度在平行、相反的方向上移动。在这种特殊情况1400中,当vo=-vc时,对象被检测为比实际上更近的固定对象。然而,不需要碰撞回避动作(例如,缓解或警告),因为汽车1404的转向角使汽车1404拥有不会使汽车1404与对象1402碰撞的轨迹,即使对象1402被错误地感知为比实际上更近(如特殊情况1400中的情况)。图14b示出了类似于特殊情况1400的特殊情况1410。在特殊情况1410中,对象1402比特殊情况1400更靠前。在特殊情况1410中,对象1402再次被感知为比它实际上更近。这里,由于汽车1404的转向角(平行移动不会导致与对象1402的碰撞),不需要任何动作。然而,如果转向角要改变,如图14c中的特殊情况1420所示,汽车1404可能开始向对象1402行驶。尽管如此,当vo=-vc时,不需要任何动作。如果转向角改变,通过使用多重对匹配,持续的观察将揭示对象的真实位置。特殊情况1430示出了汽车1404和对象1402以恒定(但不同)的速度在相反方向上移动。在这点上,-kvo=vc,其中k为常数。这里,尽管对象
1402被检测为比它实际上更近的固定对象,但是不需要任何动作。因为没有超过汽车1404的转向角阈值,所以不需要任何动作。
[0075]
图15a示出了一种特殊情况1500,其中对象1502和汽车1504具有恒定的运动(相同的x方向和远离的y方向)。这里,v
xo
=vc。在这点上,存在一个感知的(单点)固定位置:∞。不需要任何动作(例如,不需要碰撞回避),因为多点检测揭示尺度(例如,角度α)正在减小,因此对象正在远离。
[0076]
图15b示出了一种特殊情况1510,其中对象1502和汽车1504具有恒定的运动(相同的x方向和接近的y方向)。这里,v
xo
=vc。在这点上,存在一个感知的(单点)固定位置:∞。多点检测揭示了尺度(例如,角度α)正在增加,因此对象一定正在接近。预测的碰撞时间发生在α=180
°
时。因此,如果预测碰撞时间在阈值内,系统(例如,系统102、202或302)可以发出警告或采取不同的碰撞缓解动作。否则,这样的系统可以继续监视。
[0077]
图15c示出了一种特殊情况1520,其中对象1502和汽车1504具有恒定的运动(相反的x方向并且接近的y方向)。这里,vo=vc,因此不存在感知的固定位置。该特殊情况1520被识别为移动对象(在特殊情况识别之前被丢弃)。
[0078]
图15d示出了特殊情况1530,其中对象1502和汽车1504具有恒定的运动(相反的x方向和远离的y方向)。这里,vo=vc,因此不存在感知的固定位置。该特殊情况1530被识别为移动对象(在特殊情况识别之前被丢弃)。
[0079]
图16示出了一种特殊情况1600,其中对象1602和汽车1604在相反方向上在相似曲线的轨迹上转弯。这里,虽然对象1602被检测为比实际更近的固定对象,但是由于汽车1604的转向角导致了感知对象被固定在不会对汽车1604造成撞击威胁的位置,因而不需要任何动作。
[0080]
图17示出了特殊情况1700,其中对象1702和汽车1704在相同方向上在相似曲线的轨迹上转弯。这里,尽管感知的位置非常远,但不需要任何动作,因为多点检测揭示了恒定的尺度(例如,对象保持恒定但未知的距离)。例如,感知到的20米或更大的位置可以被视为非常远,从而不需要任何动作,然而,可以利用大于或小于20米的其他阈值。此外,这样的阈值可以被修改或以其他方式自适应(例如,根据设置或使用机器学习来确定最佳阈值距离)。
[0081]
图18示出了根据本文描述的一个或多个实施例的示例性非限制性的计算机实现的方法1800的流程图,该方法可以缓解与静止对象的碰撞。为了简洁起见,省略了对各个实施例中采用的类似元件和/或过程的重复描述。在1802处,计算机实现的方法1800可以包括由可操作地耦合到处理器的系统确定感兴趣点,所述感兴趣点包括由移动车辆的光学相机捕获的图像的集合中的图像坐标。在1804处,计算机实现的方法1800可以包括由系统确定在该图像的集合中是否存在多重匹配。在1806处,计算机实现的方法1800可以包括响应于确定多重匹配不存在,由系统拒绝感兴趣点。在1808处,计算机实现的方法1800可以包括响应于确定存在多重匹配,由系统确定感兴趣点是否表示静止对象的误报确定。在1810处,计算机实现的方法1800可以包括响应于确定感兴趣点处于运动并且对应于误报,由系统拒绝感兴趣点。在1812处,计算机实现的方法1800可以包括响应于确定感兴趣点处于运动并且对应于误报,由系统拒绝感兴趣点。
[0082]
图19示出了根据本文所述的一个或多个实施例,可缓解与静止对象碰撞的示例性
非限制性程序指令1900的流程图。为了简洁起见,省略了对各个实施例中采用的类似元件和/或过程的重复描述。在1902处,确定包括由移动车辆的光学相机捕获的图像的集合中的图像坐标的感兴趣点。在1904处,确定在该图像的集合中是否存在多重匹配。在1906处,响应于确定多重匹配不存在,拒绝感兴趣点。在1908处,响应于确定存在多重匹配,确定感兴趣点是否表示静止对象的误报确定。在1910处,响应于确定感兴趣点处于运动并且对应于误报,拒绝感兴趣点。在1912处,响应于确定感兴趣点是静止的并且不对应于误报,启动碰撞回避以回避对应于感兴趣点的静止对象。
[0083]
本文所述系统可以(例如,通信地、电气地、可操作地、光学地等)耦合到一个或多个本地或远程(例如外部)系统、源和/或设备(例如电子控制系统(ecu)、经典和/或量子计算设备、通信设备等)。例如,系统102(或其他系统、控制器、处理器等)可以(例如,通信地、电气地、可操作地、光学地等)耦合连接到一个或多个本地或远程(例如,外部)系统、源、和/或使用数据电缆(例如,高清多媒体接口(hdmi)、推荐标准(rs)、以太网电缆等)和/或下文描述的一个或多个有线网络的设备。
[0084]
在一些实施例中,本文的系统可通过网络(例如,通信地、电气地、可操作地、光学地等)耦合到一个或多个本地或远程(例如外部)系统、源和/或设备(例如电子控制单元(ecu)、经典和/或量子计算设备、通信设备等)。在这些实施例中,这样的网络可以包括一个或多个有线和/或无线网络,包括但不限于蜂窝网络、广域网(wan)(例如,互联网)和/或局域网(lan)。例如,系统102可以与一个或多个本地或远程(例如,外部)系统、源和/或设备(例如,使用这种网络的计算设备)通信,该网络可以包括几乎任何期望的有线或无线技术,包括但不限于:电力线以太网、无线保真(wi-fi)、光纤通信、全球移动通信系统(gsm)、通用移动电信系统(umts)、全球微波接入互操作性(wimax)、增强型通用分组无线电业务(增强型gprs)、第三代合作伙伴计划(3gpp)长期演进(lte)、第三代合作伙伴计划2(3gpp2)超移动宽带(umb)、高速分组接入(hspa)、zigbee和其他802.xx无线技术和/或传统电信技术、会话发起协议(sip)、rf4ce协议、wirelesshart协议、6lowpan(低功率无线局域网上的ipv6)、z-wave、ant、超宽带(uwb)标准协议和/或其他专有和非专有通信协议。在该示例中,系统102因此可以包括硬件(例如,中央处理单元(cpu)、收发器、解码器、天线(例如,超宽带(uwb)天线、低能量(ble)天线等)、量子硬件、量子处理器等)、软件(例如,线程的集合、进程的集合、执行中的软件、量子脉冲调度、量子电路、量子门等)、或者便于在这里的系统和远程(例如,外部)系统、源和/或设备(例如,计算和/或通信设备,例如,智能电话、智能手表、无线耳塞等)之间传送信息的硬件和软件的组合。
[0085]
本文的系统可包括一个或多个计算机和/或机器可读、可写和/或可执行组件和/或指令,该一个或多个计算机和/或机器可读、可写和/或可执行组件和/或指令当由处理器(例如,可包括经典处理器、量子处理器等的处理器106)执行时,可以便于进行由(一个或多个)这样的组件和/或(一个或多个)指令定义的操作。此外,在许多实施例中,如本文参考或不参考本主题公开的各个附图所描述的,与本文的系统相关联的任何组件可以包括一个或多个计算机和/或机器可读、可写和/或可执行组件和/或指令,该一个或多个计算机和/或机器可读、可写和/或可执行组件和/或指令当由处理器执行时,可以便于进行由(一个或多个)这样的组件和/或(一个或多个)指令定义的操作。例如,感兴趣点(poi)识别(id)组件
108、匹配组件110、运动确定组件112、总线114、相机116、碰撞回避组件204和/或人工智能组件304和/或与本文公开的系统相关联的任何其他组件(例如,与本文描述的系统通信地、电子地、可操作地和/或光学地耦合和/或由其使用),可以包括这样的计算机和/或机器可读、可写的和/或可执行的(一个或多个)组件和/或(一个或多个)指令。因此,根据多个实施例,如本文所公开的,本文的系统和/或与其相关联的任何组件可以采用处理器(例如,处理器106)来执行这样的计算机和/或机器可读、可写和/或可执行的(一个或多个)组件和/或(一个或多个)指令,以便于进行本文参考本文的系统和/或与其相关联的任何这样的组件所描述的一个或多个操作。
[0086]
本文中的系统可包括任何类型的系统、设备、机器、装置、组件和/或仪器,其包括处理器和/或可通过有线和/或无线网络与一个或多个本地或远程电子系统和/或一个或多个本地或远程设备通信。所有这样的实施例都是可以预见的。例如,系统(例如,系统302或本文描述的任何其他系统或控制器)可以包括计算设备、通用计算机、专用计算机、机载计算设备、通信设备、机载通信设备、服务器设备、量子计算设备(例如,量子计算机)、平板计算设备、手持设备、服务器类计算机器和/或数据库、膝上型计算机、笔记本计算机、台式计算机、蜂窝电话、智能电话、消费电器和/或仪器、工业和/或商业设备、数字助理、支持多媒体互联网的电话、多媒体播放器和/或其他类型的设备。
[0087]
为了给本文所述的各种实施例提供附加的上下文,图20和以下讨论旨在提供可实施本文所述的实施例的各种实施例的合适计算环境2000的简要概述。虽然以上已经在可以在一个或多个计算机上运行的计算机可执行指令的一般上下文中描述了实施例,但是本领域技术人员将认识到,这些实施例也可以与其他程序模块组合和/或作为硬件和软件的组合来实现。
[0088]
通常,程序模块包括进行特定任务或实现特定抽象数据类型的例程、程序、组件、数据结构等。此外,本领域技术人员将理解,本发明的方法可以用其他计算机系统配置来实现,包括单处理器或多处理器计算机系统、小型计算机、大型计算机、物联网(iot)设备、分布式计算系统,以及个人计算机、手持式计算设备、基于微处理器的或可编程的消费电子产品等,它们中的每一个都可以可操作地耦合到一个或多个相关联的设备。
[0089]
本文实施例的图示实施例也可在分布式计算环境中实践,其中某些任务由通过通信网络链接的远程处理装置进行。在分布式计算环境中,程序模块可以位于本地和远程存储器存储设备中。
[0090]
计算设备通常包括各种介质,各种介质可包括计算机可读存储介质、机器可读存储介质和/或通信介质,这两个术语在本文中的使用彼此不同,如下所示。计算机可读存储介质或机器可读存储介质可以是可由计算机访问的任何可用存储介质,并且包括易失性和非易失性介质、可移动和不可移动介质。作为示例而非限制,计算机可读存储介质或机器可读存储介质可以结合用于存储诸如计算机可读或机器可读指令、程序模块、结构化数据或非结构化数据的信息的任何方法或技术来实现。
[0091]
计算机可读存储介质可包括但不限于随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、闪存或其他存储技术、光盘只读存储器(cd rom)、数字多功能光盘(dvd)、蓝光光盘(bd)或其他光盘存储、磁带盒、磁带、磁盘存储或其他磁存储设备、固态驱动器或其他固态存储设备、或可用于存储所期望的信息的其他有形和/或非暂
时性介质。在这点上,术语“有形的”或“非暂时的”在这里被应用于存储、存储器或计算机可读介质,它们被理解为仅排除传播暂时信号本身作为修饰符,并且不放弃对所有标准存储、存储器或计算机可读介质的权利,这些标准存储、存储器或计算机可读介质不仅仅传播暂时信号本身。
[0092]
可由一个或多个本地或远程计算设备(例如,通过访问请求、查询或其他数据检索协议)访问计算机可读存储介质,以进行与介质存储的信息相关的各种操作。
[0093]
通信介质通常在数据信号(例如调制数据信号,例如载波或其他传输机制)中体现计算机可读指令、数据结构、程序模块或其他结构化或非结构化数据,并包括任何信息传递或传输介质。术语“调制数据信号”或信号指的是以在一个或多个信号中编码信息的方式设置或改变其一个或多个特征的信号。作为示例而非限制,通信介质包括有线介质(例如有线网络或直接有线连接),以及无线介质(例如声学、rf、红外和其他无线介质)。
[0094]
再次参考图20,用于实现本文所述各方面的各种实施例的示例环境2000包括计算机2002,计算机2002包括处理单元2004、系统存储器2006和系统总线2008。系统总线2008将包括但不限于系统存储器2006的系统组件耦合到处理单元2004。处理单元2004可以是各种市售的处理器中的任何一种。双微处理器和其他多处理器架构也可以用作处理单元2004。
[0095]
系统总线2008可为多种类型的总线结构中的任一种,其可进一步互连到使用多种市售的总线架构中的任一种的(带或不带存储器控制器的)存储器总线、外围总线和本地总线。系统存储器2006包括rom 2010和ram 2012。基本输入/输出系统(bios)可以存储在诸如rom、可擦除可编程只读存储器(eprom)、eeprom的非易失性存储器中,该bios包含有助于诸如在启动期间在计算机2002内的元件之间传输信息的基本例程。ram 2012还可以包括高速ram,例如用于缓存数据的静态ram。
[0096]
计算机2002还包括内部硬盘驱动器(hdd)2014(例如,eide、sata)、一个或多个外部存储设备2016(例如,磁性软盘驱动器(fdd)2016、记忆棒或闪存驱动器读卡器、存储卡读卡器等)和光盘驱动器2020(例如,其可以从cd-rom盘、dvd、bd等读取或写入)。虽然内部hdd 2014被示为位于计算机2002内,但内部hdd 2014也可以配置为在合适的机箱(未示出)中供外部使用。另外,虽然在环境2000中未示出,但是除了hdd 2014之外,或者代替hdd 2014,可以使用固态驱动器(ssd)。hdd 2014、(一个或多个)外部存储设备2016和光盘驱动器2020可以分别通过hdd接口2024、外部存储接口2026和光盘驱动器接口2028连接到系统总线2008。用于外部驱动器实现方式的接口2024可以包括通用串行总线(usb)和电气和电子工程师协会(ieee)1794接口技术中的至少一种或两种。其他外部驱动器连接技术也在这里描述的实施例的考虑范围内。
[0097]
驱动器及其相关的计算机可读存储介质提供数据、数据结构、计算机可执行指令等的非易失性存储。对于计算机2002,驱动器和存储介质以合适的数字格式容纳任何数据的存储。尽管以上对计算机可读存储介质的描述是指各种类型的存储设备,但是本领域技术人员应该理解,计算机可读的其他类型的存储介质,无论是目前存在的还是将来开发的,也可以在示例操作环境中使用,并且此外,任何这样的存储介质可以包含用于进行这里描述的方法的计算机可执行指令。
[0098]
多个程序模块可存储在驱动器和ram 2012中,包括操作系统2030、一个或多个应用程序2032、其他程序模块2034和程序数据2036。操作系统、应用、模块和/或数据的全部或
部分也可以缓存在ram 2012中。这里描述的系统和方法可以利用各种市售的操作系统或操作系统的组合来实现。
[0099]
计算机2002可以可选地包括模拟(emulation)技术。例如,管理程序(未示出)或其他中介可以模拟操作系统2030的硬件环境,并且模拟的硬件可以可选地不同于图20所示的硬件。在这样的实施例中,操作系统2030可以包括在计算机2002上托管的多个虚拟机(vm)中的一个vm。此外,操作系统2030可以为应用2032提供运行时环境,例如java运行时环境或net框架。运行时环境是允许应用程序2032在包括运行时环境的任何操作系统上运行的一致执行环境。类似地,操作系统2030可以支持容器,并且应用2032可以是容器的形式,容器是轻量级的、独立的、可执行的软件包,包括例如代码、运行时、系统工具、系统库和应用的设置。
[0100]
此外,计算机2002可以启用安全模块,如可信处理模块(tpm)。例如,使用tpm,引导组件按时间散列下一个引导组件,并等待结果与安全值的匹配,然后再加载下一个引导组件。该过程可以发生在计算机2002的代码执行堆栈中的任何层(例如,应用在应用执行级别或操作系统(os)内核级别),从而实现任何代码执行级别的安全性。
[0101]
用户可通过一个或多个有线/无线输入设备,例如键盘2038、触摸屏2040和诸如鼠标2042等定点设备,向计算机2002输入命令和信息。其他输入设备(未示出)可以包括麦克风、红外(ir)遥控器、射频(rf)遥控器或其他遥控器、操纵杆、虚拟现实控制器和/或虚拟现实耳机、游戏手柄、触控笔、图像输入设备(例如,(一个或多个)相机)、手势传感器输入设备、视觉运动传感器输入设备、情绪或面部检测设备、生物特征输入设备(例如,指纹或虹膜扫描仪)等。这些和其他输入设备通常通过输入设备接口2044连接到处理单元2004,输入设备接口2044可以耦合到系统总线2008,但是也可以通过其他接口(例如并行端口、ieee 1394串行端口、游戏端口、usb端口、ir接口、接口等)连接。
[0102]
监视器2046或其他类型的显示设备也可通过接口(如视频适配器2048)连接至系统总线2008。除了监视器2046,计算机通常包括其他外围输出设备(未示出),如扬声器、打印机等。
[0103]
计算机2002可以使用经由有线和/或无线通信的逻辑连接在网络环境中操作到一个或多个远程计算机,例如(一个或多个)远程计算机2050。(一个或多个)远程计算机2050可以是工作站、服务器计算机、路由器、个人计算机、便携式计算机、基于微处理器的娱乐设备、对等设备或其他常见的网络节点,并且通常包括相对于计算机2002描述的许多或所有元件,尽管为了简洁起见,仅示出了存储器/存储设备2052。所描绘的逻辑连接包括到局域网(lan)2054和/或更大的网络(例如广域网(wan)2056)的有线/无线连接。这种lan和wan网络环境在办公室和公司中很常见,并且便于企业范围的计算机网络(例如内部网),所有这些网络都可以连接到全球通信网络,例如因特网。
[0104]
在局域网联网环境中使用时,计算机2002可通过有线和/或无线通信网络接口或适配器2058连接至局域网2054。适配器2058可以便于到lan 2054的有线或无线通信,lan 2054还可以包括设置在其上的无线接入点(ap),用于以无线模式与适配器2058通信。
[0105]
在广域网联网环境中使用时,计算机2002可包括调制解调器2060,或可通过用于在广域网2056上建立通信的其他方式(例如通过互联网)连接至广域网2056上的通信服务器。调制解调器2060可以是内部或外部的有线或无线设备,它可以通过输入设备接口2044
连接到系统总线2008。在网络环境中,相对于计算机2002或其部分描绘的程序模块可以存储在远程存储器/存储设备2052中。将会理解,所示的网络连接是示例,并且可以使用在计算机之间建立通信链路的其他方式。
[0106]
在lan或wan网络环境中使用时,除了上述外部存储设备2016之外,或代替上述外部存储设备2016,计算机2002可访问云存储系统或其他基于网络的存储系统。通常,计算机2002和云存储系统之间的连接可以通过lan2054或wan 2056(例如分别通过适配器2058或调制解调器2060)建立。在将计算机2002连接到相关联的云存储系统时,外部存储接口2026可以在适配器2058和/或调制解调器2060的帮助下,管理由云存储系统提供的存储,就像它管理其他类型的外部存储一样。例如,外部存储接口2026可被配置成提供对云存储源的访问,就好像这些源被物理地连接到计算机2002一样。
[0107]
计算机2002可用于与可操作地设置在无线通信中的任何无线设备或实体进行通信,例如打印机、扫描仪、台式和/或便携式计算机、便携式数据助理、通信卫星、与无线可检测标签相关的任何装备或位置(例如,信息亭、报摊、货架等)、以及电话。这可以包括无线保真(wi-fi)和无线技术。因此,通信可以是与传统网络一样的预定义结构,或者仅仅是至少两个设备之间的自组织通信。
[0108]
现在参考图21,图示了根据本说明书的计算环境2100的示意框图。系统2100包括一个或多个客户端2102(例如,计算机、智能手机、平板电脑、相机、pda)。(一个或多个)客户端2102可以是硬件和/或软件(例如,线程、进程、计算设备)。例如,(一个或多个)客户端2102可以通过采用该说明书来容纳(一个或多个)cookie和/或相关联的上下文信息。
[0109]
系统2100还包括一个或多个服务器2104。(一个或多个)服务器2104也可以是硬件或与软件组合的硬件(例如,线程、进程、计算设备)。例如,服务器2104可以容纳线程以通过采用本公开的各方面来进行媒体项目的转换。客户端2102和服务器2104之间的一种可能的通信可以是适于在两个或更多个计算机进程之间传输的数据包的形式,其中数据包可以包括编码的分析的顶空(headspace)和/或输入。例如,数据包可以包括cookie和/或相关联的上下文信息。系统2100包括可以用于便于(一个或多个)客户端2102和(一个或多个)服务器2104之间的通信的通信框架2106(例如,诸如因特网的全球通信网络)。
[0110]
可通过有线(包括光纤)和/或无线技术便于通信。(一个或多个)客户端2102可操作地连接到一个或多个客户端数据存储2108,一个或多个客户端数据存储2108可用于存储(一个或多个)客户端2102本地的信息(例如,(一个或多个)cookie和/或相关联的上下文信息)。类似地,(一个或多个)服务器2104可操作地连接到可用于存储服务器2104本地的信息的一个或多个服务器数据存储2110。
[0111]
在一个示例性实现方式中,客户端2102可将编码的文件(例如,编码的媒体项目)传输至服务器2104。服务器2104可以存储文件、解码文件或者将文件传输到另一个客户端2102。应当理解,根据本公开,客户端2102也可以将未压缩的文件传输到服务器2104,并且服务器2104可以压缩该文件和/或转换该文件。同样,服务器2104可以对信息进行编码,并通过通信框架2106将信息发送给一个或多个客户端2102。
[0112]
本发明的图示方面也可在分布式计算环境中实践,其中某些任务由通过通信网络链接的远程处理设备进行。在分布式计算环境中,程序模块可以位于本地和远程存储器存储设备两者中。
[0113]
上述描述包括各种实施例的非限制性示例。当然,不可能为了描述所公开的主题而描述组件或方法的每一种可能的组合,并且本领域技术人员可以认识到各种实施例的进一步组合和置换是可能的。所公开的主题旨在涵盖落入所附权利要求的精神和范围内的所有这些改变、修改和变化。
[0114]
关于由上述组件、设备、电路、系统等进行的各种功能,除非另有说明,用于描述这些组件的术语(包括对“部件”的引用)也旨在包括进行所述组件的特定功能的(一个或多个)任何结构(例如,功能等同物),即使在结构上不等同于所公开的结构。此外,虽然所公开的主题的特定特征可能仅针对若干实现方式中的一个进行公开,但是这样的特征可以与其他实现方式的一个或多个其他特征组合,这对于任何给定的或特定的应用来说可能是期望的和有利的。
[0115]
本文使用的术语“示例性”和/或“说明性”旨在表示用作示例、实例或说明。为了回避疑问,本文公开的主题不限于这些示例。此外,本文中描述为“示例性”和/或“说明性”的任何方面或设计不一定被解释为比其他方面或设计更优选或更有利,也不意味着排除本领域技术人员已知的等同结构和技术。此外,就术语“包括”、“具有”、“包含”和其他类似词语在具体实施方式或权利要求中使用的程度而言,这些术语旨在以类似于作为开放式过渡词的术语“包含”的方式被包括在内,而不排除任何附加或其他元素。
[0116]
本文使用的术语“或”旨在表示包含性的“或”,而非排他性的“或”。例如,短语“a或b”旨在包括a、b以及a和b两者的实例。此外,在本技术和所附权利要求中使用的冠词“一个”和“一”通常应被解释为表示“一个或多个”,除非另有说明或从上下文中清楚地指向单数形式。
[0117]
本文使用的术语“集合”不包括空集合,即其中没有元素的集合。因此,本主题公开中的“集合”包括一个或多个元素或实体。同样,本文使用的术语“组”是指一个或多个实体的聚集。
[0118]
本文所提供的主题公开的图示实施例的描述,包括摘要中描述的内容,并不旨在穷举或将公开的实施例限制为公开的精确形式。虽然为了说明的目的在此描述了具体的实施例和示例,但是如本领域技术人员可以认识到的,在这些实施例和示例的范围内考虑的各种修改是可能的。在这点上,虽然在此已经结合各种实施例和对应的附图描述了主题,但是在适用的情况下,应当理解,可以使用其他类似的实施例,或者可以对所描述的实施例进行修改和添加,以进行所公开主题的相同、类似、替代或替代功能,而不背离本发明。因此,所公开的主题不应限于本文描述的任何单个实施例,而是应根据所附权利要求的广度和范围来解释。
[0119]
本发明的其他方面由以下条款的主题提供:
[0120]
1.一种计算机实现的方法,包括:由可操作地耦合到处理器的系统确定感兴趣点,所述感兴趣点包括由移动车辆的光学相机捕获的图像的集合中的图像坐标;由所述系统确定在所述图像的集合中是否存在多重匹配;响应于确定所述多重匹配不存在,由所述系统拒绝所述感兴趣点;响应于确定存在所述多重匹配,由所述系统确定所述感兴趣点是否表示静止对象的误报确定;响应于确定所述感兴趣点处于运动并且对应于误报,由所述系统拒绝所述感兴趣点;以及响应于确定所述感兴趣点是静止的并且不对应于误报,由所述系统启动碰撞回避以回避对应于所述感兴趣点的静止对象。
[0121]
2.根据任何先前条款所述的计算机实现的方法,其中,确定所述多重匹配是否存在包括:由所述系统确定所述图像的集合的第一图像中的第一感兴趣点是否对应于所述图像的集合的第二图像中的第二感兴趣点,由所述系统确定所述第一图像中的所述第一感兴趣点是否对应于所述图像的集合的第三图像中的第三感兴趣点,以及由所述系统确定所述第二图像中的所述第二感兴趣点是否对应于所述第三图像中的所述第三感兴趣点。
[0122]
3.根据任何先前条款所述的计算机实现的方法,其中,误报包括移动对象,所述移动对象包括平行于所述移动车辆轨迹的轨迹。
[0123]
4.根据任何先前条款所述的计算机实现的方法,其中,所述碰撞回避包括启动所述移动车辆的自动制动。
[0124]
5.根据任何先前条款所述的计算机实现的方法,其中,所述碰撞回避包括在所述移动车辆的显示器上显示消息。
[0125]
6.根据任何先前条款所述的计算机实现的方法,其中,所述碰撞回避包括在所述移动车辆的方向盘或座椅中生成触觉反馈。
[0126]
7.上述条款1的计算机实现的方法以及上述条款2-6的计算机实现的方法的任何组合集。
[0127]
8.一种系统,包括:存储器,其存储计算机可执行组件;和处理器,其执行存储在所述存储器中的所述计算机可执行组件,其中所述计算机可执行组件包括:感兴趣点识别组件,其确定感兴趣点,所述感兴趣点包括由移动车辆的光学相机捕获的图像的集合中的图像坐标;匹配组件,其确定在所述图像的集合中是否存在多重匹配;运动确定组件,其响应于所述匹配组件确定存在所述多重匹配而确定所述感兴趣点是静止的还是处于运动,并且响应于确定所述感兴趣点处于运动而拒绝所述感兴趣点,其中处于运动的感兴趣点对应于误报;以及碰撞回避组件,其响应于所述运动确定组件确定所述感兴趣点是静止的而启动碰撞回避以回避对应于所述感兴趣点的静止对象。
[0128]
9.根据任何先前条款所述的系统,其中所述匹配组件:确定所述图像的集合的第一图像中的第一感兴趣点是否对应于所述图像的集合的第二图像中的第二感兴趣点,确定所述第一图像中的所述第一感兴趣点是否对应于所述图像的集合的第三图像中的第三感兴趣点,以及确定所述第二图像中的所述第二感兴趣点是否对应于所述第三图像中的所述第三感兴趣点,响应于确定多重匹配不存在,拒绝所述感兴趣点。
[0129]
10.根据任何先前条款所述的系统,其中,所述碰撞回避包括基于所述车辆的转向角和所述车辆的速度确定所述车辆的轨迹,以及确定与所述静止对象的碰撞风险。
[0130]
11.根据任何先前条款所述的系统,其中,由所述运动确定组件确定所述感兴趣点是静止的还是处于运动包括确定所述静止对象的误报确定是否发生并拒绝所述误报。
[0131]
12.根据任何先前条款所述的系统,其中所述误报包括平行轨迹,所述平行轨迹包括移动对象,所述移动对象包括平行于所述移动车辆轨迹的轨迹,并且其中所述平行轨迹包括平行曲线路径。
[0132]
13.根据任何先前条款所述的系统,其中所述误报包括平行轨迹,所述平行轨迹包括移动对象,所述移动对象包括平行于所述移动车辆轨迹的轨迹,并且其中所述平行轨迹包括直线路径。
[0133]
14.根据任何先前条款所述的系统,其中所述计算机可执行组件还包括:人工智能
组件,其学习进行以下至少一项:确定在所述图像的集合中是否存在多重匹配,或者确定所述感兴趣点是静止的还是处于运动。
[0134]
15.上述条款8的系统以及上述条款9-14的系统的任何组合集。
[0135]
16.一种计算机程序产品,包括具有嵌入其中的程序指令的计算机可读存储介质,所述程序指令可由处理器执行以使所述处理器:由所述处理器确定感兴趣点,所述感兴趣点包括由移动车辆的光学相机捕获的图像的集合中的图像坐标;由所述处理器确定在所述图像的集合中是否存在多重匹配;响应于确定多重匹配不存在,由所述处理器拒绝所述感兴趣点;响应于确定存在多重匹配,由所述处理器确定所述感兴趣点是否表示静止对象的误报确定;响应于确定所述感兴趣点处于运动并且对应于误报,拒绝所述感兴趣点;以及响应于确定所述感兴趣点是静止的并且不对应于误报,由所述处理器启动碰撞回避以回避对应于所述感兴趣点的静止对象。
[0136]
17.根据任何先前条款所述的计算机程序产品,其中,所述图像的集合由同一光学相机在不同位置处捕获,所述不同位置的每个位置出现在不同的时间点。
[0137]
18.根据任何先前条款所述的计算机程序产品,其中,确定所述感兴趣点是静止的还是处于运动包括确定所述感兴趣点是否对应于一组定义的特殊误报情况中的一个或多个,并且其中定义的特殊误报情况由于处于运动而被拒绝。
[0138]
19.根据任何先前条款所述的计算机程序产品,其中,所定义的特殊误报情况中的特殊误报情况包括移动对象和所述车辆之间的平行运动。
[0139]
20.根据任何先前条款所述的计算机程序产品,其中,所定义的特殊误报情况中的特殊误报情况包括移动对象和所述车辆之间以恒定速度沿相反方向的直线运动。
[0140]
21.根据任何先前条款所述的计算机程序产品,其中,所定义的特殊误报情况中的特殊误报情况包括移动对象和所述车辆之间以不同速度沿相反方向的直线运动。
[0141]
22.根据任何先前条款所述的计算机程序产品,其中,所述光学相机位于所述车辆的一侧,或者所述车辆的侧视镜包括所述光学相机。
[0142]
23.上述条款16的计算机程序产品以及上述条款17-22的计算机程序产品的任何组合集。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1