用于车辆避撞的方法、电子设备和计算机存储介质
技术领域
本公开总体上涉及车辆安全,具体涉及用于车辆避撞的方法、电子设备和计算机存储介质。
背景技术
目前,越来越多的汽车自动驾驶都关注到在车辆驾驶时防止发生车辆碰撞的技术,但在实际生活中,车辆在停车状态下被其他车辆碰撞的事故屡屡发生,因而暴露出当前防止发生车辆碰撞的技术存在的问题。
首先,在车辆静止状态下,尤其是临时停车情况下,驾驶员往往不能像驾驶状态下密切关注车辆周边的车辆行驶状况,因而不能及时发现向本车靠近的其他车辆。
第二,即便通过现有的防避撞技术的警报提醒及时发现向本车靠近的其他车辆,驾驶员也不一定有足够的反应时间来采取正确的避撞措施或安全防护措施。
第三,现有的防避撞技术未能考虑到天气、路面、车型、车重等因素对刹车距离的影响,大大降低了预警的准确性,无法有效避免一些大型碰撞事故的发生。
发明内容
本公开提供了用于车辆避撞的方法、电子设备和计算机存储介质,能够实现车辆在静止状态下防止车辆碰撞发生或者及时采取安全措施,降低了车辆碰撞事故的发生率,减少了因车辆碰撞导致的经济损失或人身伤害。
在本公开的第一方面,提供了一种防止车辆碰撞的方法。该方法包括:在服务器处,获取关于车辆外部环境的环境图像,基于环境图像,确定是否存在可能与车辆发生碰撞的对象,如果确定存在可能与车辆发生碰撞的对象,基于环境图像进一步确定车辆外部环境是否存在挪车空间,以及如果确定车辆外部环境存在挪车空间,生成关于挪车的指令,以便用于发送给车辆。
在本公开的第二方面,还提供了一种防止车辆碰撞的方法。该方法包括:在车载终端设备处,确定检测到车辆处于第一状态,如果确定检测到车辆处于第一状态,经由车载摄像设备采集关于车辆外部环境的环境图像,发送环境图像,以用于服务器响应于确定存在可能与车辆发生碰撞的对象时确定车辆外部环境所存在的挪车空间以用于基于挪车空间生成关于挪车的指令,以及接收到关于挪车的指令,经由车辆控制模块控制车辆向挪车空间移动。
根据本发明的第三方面,还提供了一种电子设备,设备包括:存储器,被配置为存储一个或多个计算机程序;以及处理器,耦合至存储器并且被配置为执行一个或多个程序使装置执行本公开的第一方面的方法。
在本公开的第四方面,提供了一种计算机可读存储介质。该计算机可读存储介质上存储有计算机程序,计算机程序被机器执行时使机器实现根据本公开的第一方面所描述的方法的任意步骤。
提供发明内容部分是为了以简化的形式来介绍对概念的选择,它们在下文的
具体实施方式
中将被进一步描述。发明内容部分无意标识本公开的关键特征或必要特征,也无意限制本公开的范围。
附图说明
通过结合附图对本公开示例性实施例进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施例中,相同的参考标号通常代表相同部件。
图1示出了根据本公开的实施例的用于防止车辆碰撞的方法的系统100的示例的示意图;
图2示出了根据本公开的实施例的用于防止车辆碰撞的方法的车辆设备200的示例的示意图;
图3示出了根据本公开的实施例的用于防止车辆碰撞的方法300的示意流程图;
图4示出了根据本公开的实施例的用于确定车辆碰撞可能性的方法400的示意流程图;
图5示出了根据本公开的实施例的用于确定车辆挪车空间的方法500的示意图;
图6示出了根据本公开的实施例的用于防止车辆碰撞的方法600的示意流程图;
图7示出了根据本公开的实施例的用于防止车辆碰撞的方法700的示意流程图;以及
图8示出了可以用来实施本公开内容的实施例的示例设备800的示意性框图。
在各个附图中,相同或对应的标号表示相同或对应的部分。
具体实施方式
下面将参照附图更详细地描述本公开的优选实施例。虽然附图中显示了本公开的优选实施例,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
在本文中使用的术语“包括”及其变形表示开放性包括,即“包括但不限于”。除非特别申明,术语“或”表示“和/或”。术语“基于”表示“至少部分地基于”。术语“一个示例实施例”和“一个实施例”表示“至少一个示例实施例”。术语“另一实施例”表示“至少一个另外的实施例”。术语“第一”、“第二”等等可以指代不同的或相同的对象。下文还可能包括其他明确的和隐含的定义。
如上文所述,目前车辆在停车状态下被其他车辆碰撞的事故屡屡发生,例如,由于雨雪天路滑后方来车刹车不及,不仅给车主带来经济损失,也对乘客造成人身安全的威胁。
为了至少部分地解决上述问题以及其他潜在问题中的一个或者多个,本公开的示例实施例提出了一种防止车辆碰撞的方案。在该方案中,在服务器处,获取关于车辆外部环境的环境图像,基于环境图像,确定是否存在可能与车辆发生碰撞的对象,如果确定存在可能与车辆发生碰撞的对象,基于环境图像进一步确定车辆外部环境是否存在挪车空间,以及如果确定车辆外部环境存在挪车空间,生成关于挪车的指令,以便用于发送给车辆。
由此,能够基于车辆周围是否有挪车空间针对性地采取挪车措施或安全防护措施,从而降低车辆碰撞的风险,使得车辆避撞更精细化和智能化。
在下文中,将结合附图更详细地描述本方案的具体示例。
图1示出了根据本公开的实施例的用于防止车辆碰撞的方法的系统100的示例的示意图。如图1所示,系统100包括多个车辆110(例如车辆110-1、车辆110-2和车辆110-3)、服务器150、多个基站130、多个障碍物(例如移动障碍物120-1和静止障碍物120-2)。在一些实施例中,车辆110-2、车辆110-3例如在车辆110-1的不同方位以不同状态行驶。车辆110-2例如行驶在车辆110-1前方,并以倒车形式向车辆110-1靠近。车辆110-3例如行驶在车辆110-1后方,并直行向车辆110-1靠近。在一些实施例中,移动障碍物120-1例如可以是移动的车辆、行人等,可以是一个或者多个。静止障碍物120-2例如可以是人行道、绿化带、护栏等,可以是一种或者多种。
关于服务器150,其用于识别与车辆发生碰撞的对象、确定该对象的位移状态信息、确定天气信息和路面信息、生成安全距离值、确定挪车空间,以及生成关于挪车的指令等。服务器150例如可以经由基站130、网络140与车辆110进行数据交互。服务器150包括但不限于个人计算机、服务器计算机、多处理器系统、大型计算机、包括上述系统或设备中的任意一个的分布式计算环境等。在一些实施例中,服务器可以具有一个或多个处理单元,包括诸如GPU、FPGA和ASIC等的专用处理单元以及诸如CPU的通用处理单元。另外,在每个计算设备上也可以运行着一个或多个虚拟机。
关于车辆110-1,如图2所示,其例如至少包括:车载数据感知设备、车载终端设备230、车辆控制模块220等。车载数据感知设备用于获取关于车辆外部的环境图像。车载数据感知设备至少包括多个车载摄像设备210例如摄像头,类型可以包括单目摄像头、双目摄像头、广角摄像头、鱼眼摄像头等,安装部位包括但不限于前视摄像头(例如车载摄像设备210-1)、后视摄像头(例如车载摄像设备210-4)、侧视摄像头(例如车载摄像设备210-2和210-3,其例如可以安装在左右视镜下方)、环视摄像头(例如车载摄像设备210-5,其例如安装在车顶上方,可以进行360度环绕采集关于车辆外部的环境图像)等。车载摄像设备210可以采集车辆外部环境的视频图像或者照片。备选地或者附加地,在一些实施例中,车载数据感知设备还可以包括雷达传感设备(例如激光雷达传感器、毫米波雷达传感器、超声波雷达传感器等)。
车载终端设备230例如至少包括车载计算设备240(例如车机)和车载T-BOX 250。车载计算设备240(例如车机)可以将基于视频图像而生成的环境图像发送给服务器150,以用于服务器150确定可能与车辆110-1发生碰撞的对象。车载计算设备(例如车机)还可以经由车载T-BOX 250获取服务器150下发的关于挪车的指令,并将该关于挪车的指令分解为转向及制动控制信号,以实现对车辆控制模块220的控制。
车载T-BOX 250用于车辆状态的检测,以及与车载计算设备240(例如车机)、服务器150进行数据交互。在一些实施例中,车载T-BOX 250例如包括SIM卡、GPS天线,4G或5G天线等。车载T-BOX 250与车载计算设备(例如车机)之间可以通过canbus通信,实现数据交互,例如传输车辆状态信息、控制指令等。车载T-BOX 250可以采集车辆110-1总线Dcan、Kcan、PTcan相关的总线数据。车载T-BOX 250检测到车辆处于第一状态(例如静止且未熄火)时,通过CAN总线向车载摄像设备210发送采集关于车辆110-1外部的环境图像的指令。车载T-BOX 250接收到服务器150下发的关于挪车的指令时,通过CAN总线发送控制报文并实现对车辆的控制。
车辆控制模块220用于实现车辆位置的移动。车辆控制模块220包括转向控制模块和制动控制模块。车辆控制模块220经由CAN总线获取经车载终端设备230分解生成的转向及制动控制信号,并且通过转向控制模块和制动控制模块控制车辆的移动。
以下将结合图3至图5描述根据本公开的实施例的用于防止车辆碰撞的方法。图3示出了根据本公开的实施例的用于防止车辆碰撞的方法300的流程图。应当理解,方法300例如可以在图8所描述的电子设备800处执行。也可以在图1所描述的服务器150处执行。以下以服务器150为例加以说明。应当理解,方法300还可以包括未示出的附加动作和/或可以省略所示出的动作,本公开的范围在此方面不受限制。
在框302处,在服务器150处,获取关于车辆110-1外部环境的环境图像。在一些实施例中,环境图像可以是基于车载摄像设备210所采集的关于车辆外部环境的视频图像而生成的。在一些实施例中,关于获取关于车辆110-1外部环境的环境图像可以包括例如以预定时间间隔从车辆接收的环境图像。预定时间间隔可以包括例如1s、5s、10s等。在另一些实施例中,关于获取关于车辆110-1外部环境的环境图像可以包括基于服务器150的指令而从车辆110-1接收的环境图像。例如,服务器150基于确定存在可能与车辆110-1发生碰撞的对象(例如车辆110-2),向车辆发送关于获取关于车辆110-1外部环境的环境图像的指令,进而从车辆110-1接收所述环境图像。由此,服务器150通过获取最新的环境图像,使得对确定是否存在与车辆110-1发生碰撞的对象和车辆外部环境是否存在挪车空间的分析结果更加准确和安全。
在框304处,服务器150基于环境图像,确定是否存在可能与车辆110-1发生碰撞的对象。下面将结合图4进一步描述服务器150利用环境图像确定是否存在可能与车辆110-1发生碰撞的对象的过程。应当理解,方法400还可以包括未示出的附加动作和/或可以省略所示出的动作,本公开的范围在此方面不受限制。
在框402处,服务器150识别环境图像中的对象(例如车辆110-2)。在一些实施例中,服务器150可以对获取的一个或多个环境图像进行增强、复原、分割、融合等方面的处理,以识别环境图像中存在的对象(例如车辆110-2)。
关于识别环境图像中的对象(例如车辆110-2),其例如还可以包括识别对象(例如车辆110-2)的类型信息。对象的类型信息是基于输入识别模型而生成。识别模型经由多组训练数据的样本而训练,多组训练数据中的每一组训练数据例如均包括:对象的图像和用来标识该对象的类型的标识信息。例如,识别模型的输入为所获取的关于对象的图像,包括例如该对象的正面图像、侧面图像和背面图像等。识别模型的输出为关于该对象的类型信息,包括例如车的类型(例如轿车、SUV、面包车、卡车等)、车的品牌(例如大众、福特、比亚迪等)、车的型号(例如大众新迈腾)等。识别模型的训练样本例如是多组被人为标注了类型信息的对象的图像。例如,关于车辆左后方向车辆靠近的大众新迈腾轿车的图像根据其所包括车的类型、品牌和型号的属性而被标注的描述例如是“轿车”、“大众”、“新迈腾”。通过采用上述手段,有利于识别模型对不同类型的对象进行识别和描述,以便更准确地锁定与车辆发生碰撞的对象的检测范围,以及为安全距离模型提供更翔实的输入。
在框404处,响应于识别环境图像中的对象(例如车辆110-2),服务器150获取对象的位移状态信息,位移状态信息至少包括:对象与车辆110-1之间的距离信息和对象的移动速度信息。关于对象与车辆110-1之间的距离信息,在一些实施例中,服务器150可以基于车载摄像设备的焦距、车载摄像设备距离地面的高度和对象检测框着地点在环境图像中的纵向投影尺寸,计算对象与车辆110-1之间的距离。以下结合公式(1)说明对象与车辆110-1之间的距离的计算方式。
在上述公式(1)中,f代表车载摄像设备的焦距(单位例如为米)。H代表车载摄像设备距离地面的高度(单位例如为米)。y代表所拍摄的对象检测框着地点在环境图像中的纵向投影尺寸(单位例如为米)。Z代表对象与车辆110-1之间的距离(单位例如为米)。
在另一些实施例中,确定对象与车辆110-1之间的距离可以包括确定车载摄像设备的焦距和对象的实际宽度(例如已知车型的车身宽度)的乘积与所拍摄的对象检测框在环境图像中的横向投影尺寸之间的比值作为对象与车辆110-1之间的距离。
关于对象的移动速度信息,其例如可以包括对象的移动速度大小。在一些实施例中,服务器150可以基于预定的时间间隔先后获取两张环境图像,分别计算对象与车辆110-1之间的距离,并基于前后距离的差值与预定的时间间隔之间的比值确定对象的移动速度。预定的时间间隔例如是500ms、1s、2s等。具体来说,可以按照公式(2)来计算对象的移动速度V:
其中,D1为服务器150基于在T1时刻获取的环境图像计算获得的对象与车辆110-1之间的距离(单位例如为米),D2为服务器150基于在T2时刻获取的环境图像计算获得的对象与车辆110-1之间的距离(单位例如为米)。T2与T1的差值代表预定的时间间隔(单位例如为毫秒)。V为对象的移送速度大小(单位例如为公里/小时)。
关于对象的移动速度信息,其例如还可以包括对象的移动速度方向B(如图5所示)。在一些实施例中,服务器150可以基于预定的时间间隔先后获取两张环境图像,识别对象在前环境图像中的第一位置,识别对象在后环境图像中的第二位置,基于第一位置指向第二位置的连线指示对象的移动速度方向B。预定的时间间隔例如是500ms、1s、2s等。
在框406处,响应于获取对象(例如车辆110-2)的位移状态信息,服务器150确定环境图像中是否存在向车辆110-1靠近的对象。例如,如果对象与车辆之间的距离在减少,或者对象的移动速度方向B指向于车辆当前所处位置,服务器150确定环境图像中存在向车辆110-1靠近的对象。
在框408处,响应于确定所述环境图像中存在向车辆110-1靠近的对象,服务器150生成安全距离值,安全距离值用于指示对象(例如车辆110-2)与车辆110-1之间为免碰撞而应当保持的最小距离信息。安全距离值是基于输入安全距离模型而生成,所述安全距离模型经由多组训练数据的样本而训练,所述多组训练数据中的每一组训练数据至少包括:对象的类型信息、质量信息和位移状态信息。备选地或者附加地,所述多组训练数据中的每一组训练数据还可以包括例如车辆所处位置的天气信息和路面信息。在一些实施例中,安全距离模型的输入为所获取的对象的类型信息、质量信息、位移状态信息和当前天气信息、路面信息。安全距离模型的输出为安全距离值。安全距离模型的训练样本例如是多组所述对象的类型信息、质量信息、位移状态信息、当前天气信息和路面信息以及人为标注的相应的安全距离值。关于对象的类型信息,其例如包括车的品牌、车的型号等,由于不同的品牌、车型采用不同的制动系统和轮胎设计等,以使得不同类型的车辆具有不同的制动能力。
关于对象的质量信息,其例如包括正常载客或载货时的质量、超载时的质量等。由于车辆载客或载货越多时,刹车更容易出现轮胎抱死的情形,使得车辆轮胎与路面之间由静摩擦转为滑动摩擦,基于滑动摩擦小于最大临界静摩擦值的原理,而导致更长的刹车距离。对象的质量信息是基于输入质量模型而生成,质量模型经由多组训练数据的样本而训练,多组训练数据中的每一组训练数据均包括:对象的图像和用来标识该对象的质量的标识信息。例如,质量模型的输入为所获取的关于对象的图像,包括例如该对象的正面图像、侧面图像和背面图像等。质量模型的输出为关于该对象的质量信息。质量模型的训练样本例如是多组被人为标注了质量信息的对象的图像。例如,关于车辆左后方向车辆靠近的福田祥菱V载货车未载货的图像根据其所包括质量信息的属性而被标注的描述例如是“正常载货”、“1.34t”。又例如,关于车辆左后方向车辆靠近的福田祥菱V载货车超高载货的图像根据其所包括质量信息的属性而被标注的描述例如是“超载”、“2.86t”。由此,本公开能够通过获取关于车辆外部环境的环境图像,自动、快速且简便地获取向车辆靠近的对象的类型信息和质量信息。
关于天气信息,其例如包括雨天、雪天、晴天等。据统计,正常干燥沥青路面的摩擦系数为0.6,雨天路面摩擦系数降为0.4,雪天则为0.28。路面摩擦系数降低,制动距离加大。在一些实施例中,获取天气信息包括基于环境图像而识别当前车辆110-1所处位置的天气信息。备选地或者附加地,在一些实施例中,获取天气信息还包括基于应用程序而获取与车辆110-1的当前位置关联的当前天气信息。获取车辆110-1的当前位置可以包括向车辆110-1发送关于获取当前位置的请求,以及从车辆110-1接收指示车辆110-1的当前位置的消息。例如,车辆110-1的当前位置位于上海市徐汇区,则可从用于天气预报的应用程序中获取上海市徐汇区的天气信息。备选地或者附加地,在一些实施例中,获取天气信息可以包括从预定数据源爬取与车辆位置相关联的当前天气信息。预定数据源例如是但不限于预定网站,例如中国天气网、中国气象网等官方网站,可以通过爬虫爬取预定网站中的与车辆位置相关联的当前天气信息。由此,使得获取的天气信息是与车辆的当前位置相关联的,使得获取的天气信息更加精准、确切。
关于路面信息,其例如包括平整路面、碎石路面、石料砌块路面、沙泥路、包含减速带的路面、塑胶路面、结冰路面等。如上文所述,路面摩擦系数降低,制动距离加大。在一些实施例中,获取路面信息包括基于环境图像而识别当前车辆110-1所处位置的路面信息。
下面的表1列出了几组经标识的安全距离值的训练数据的样本作为示例。应当理解的是,表1所列出的训练数据样本仅为示例,不代表真实或准确无误的数据。
表1:经标识的安全距离值的训练数据的样本示例
在一些实施例中,安全距离模型可以通过发生碰撞事件的确认来调整安全距离值(例如增加安全距离值),以实现更准确的预测结果。由此,服务器150可以基于来自多个车辆的大量安全距离值正样本信息和负样本信息来调整安全距离值,有利于提高预测安全距离值的精准性。
在框410处,响应于确定对象(例如车辆110-2)与车辆110-1之间的距离小于安全距离值,服务器150确定存在可能与车辆发生碰撞的对象。
在框412处,响应于确定对象(例如车辆110-2)与车辆110-1之间的距离不小于安全距离值,服务器150确定不存在可能与车辆发生碰撞的对象。
继续回到图3进行描述,在框306处,响应于确定存在可能与车辆110-1发生碰撞的对象(例如车辆110-2),服务器150基于环境图像确定车辆外部环境是否存在挪车空间。下面将结合图5进一步描述服务器150基于环境图像确定车辆外部环境是否存在挪车空间的过程。如图5所示,A表示车辆110-1处于第一状态时的车身方向,B表示所识别的对象(例如车辆110-2)向车辆110-1靠近的移动速度方向,C1、C2表示车辆110-1的挪车方向,车身方向A与移动速度方向B以角度α相交。应当理解的是,图5中的移动速度方向B和车辆110-1的挪车方向C1、C2仅是示意,也可能存在其他情况的移动速度方向和挪车方向。
在一些实施例中,服务器150例如基于所获取的环境图像截取与车辆110-1车身方向A呈预设角度γ的环境图像片段。具体来说,可以按照公式(3)-(5)来计算预设角度γ的范围:
γ=[γ1,γ2] (3)
γ1=α-β (4)
γ2=α+β (5)
其中,α代表对象(例如车辆110-2)的移动速度方向B与车辆110-1的车身方向A所呈角度。β代表对象(例如车辆110-2)的移动速度方向B与车辆110-1的挪车方向C1、C2所呈角度。β的取值范围例如可以为0°~90°,其中90°为优选角度。γ为正值时,代表以车辆110-1车身方向A为起始点的顺时针方向,γ为负值时,代表以车辆110-1车身方向A为起始点的逆时针方向。
在另一些实施例中,服务器150例如向车辆110-1发送关于获取与车辆110-1的车身方向A呈预设角度γ的环境图像的指令。车载摄像设备210经由车载终端设备230接收到服务器150发送的关于获取与车辆110-1的车身方向A呈预设角度γ的环境图像的指令,采集与车辆110-1的车身方向A呈预设角度γ的一张或多张环境图像。在一些实施例中,环境图像的采集可以包括通过与车辆110-1的车身方向A呈预设角度γ范围内的车载摄像设备210(例如,以图5所示为例,车载摄像设备210-1、210-2、210-3)来采集,也可以通过环视摄像头(例如车载摄像设备210-5)将拍摄角度调整为与车辆110-1的车身方向A呈预设角度γ后进行采集。车载摄像设备210将采集的环境图像经由车载终端设备230发送给服务器150。
例如,如果服务器150确定在环境图像中存在大于车辆110-1的最小挪车宽度D的空间,则确定车辆110-1外部环境存在挪车空间。具体来说,可以按照公式(6)和公式(7)来计算最小挪车宽度D:
D=W+2R(I-cosδ) (6)
其中,W为车身宽度,L为车身长度,δ为用于车辆挪车的角度,R为车辆挪动所需的转弯半径,D为车辆110-1在挪车时所需的最小挪车宽度。
例如,如果服务器150确定在环境图像中存在移动障碍物120-1(如移动的车辆、行人等)且不存在大于车辆110-1的最小挪车宽度D的空间。在一些实施例中,服务器150采用与框404处相同的图像测速技术计算该移动障碍物120-1的移动速度,并且计算出移动障碍物120-1在预设时间内移动后,使得在环境图像中存在大于车辆110-1的最小挪车宽度D的空间,则确定车辆110-1外部环境存在挪车空间。该预设时间应当小于对象(例如车辆110-2)移动至车辆110-1当前所处位置的时间。
例如,如果服务器150确定在环境图像中存在静止障碍物120-2(如人行道、绿化带、墙面、河道、静止的车辆等)且不存在大于车辆110-1的最小挪车宽度D的空间,则确定车辆110-1外部环境不存在挪车空间。
在框308处,响应于确定车辆外部环境存在挪车空间,服务器150生成关于挪车的指令,以便用于发送给所述车辆,关于挪车的指令至少指示用于挪车的角度和距离。关于用于挪车的角度δ,其例如为可移动空间相对于车辆110-1的车身方向A的角度。关于挪车的距离,其例如基于所获得的安全距离值和对象(例如车辆110-2)与车辆110-1之间的距离作差而计算得出。
图6示出了根据本公开的实施例的用于防止车辆碰撞的方法600的流程图。应当理解,方法600例如可以在图8所描述的电子设备800处执行,也可以在图1所描述的服务器160处执行。应当理解,方法600还可以包括未示出的附加动作和/或可以省略所示出的动作,本公开的范围在此方面不受限制。
在框602处,在车载终端设备230(例如车载T-BOX 250)处,确定检测到车辆110-1处于第一状态。在一些实施例中,第一状态可以包括车辆速度等于0并且车辆未熄火(例如车辆为燃油车辆),还可以包括车辆速度等于0并且车辆已熄火(例如车辆为电动汽车)。在另一些实施例中,第一状态可以包括车辆速度等于0并且驾驶员在驾驶座上,还可以包括车辆速度等于0并且驾驶员不在驾驶座上。由此,车载终端设备230可以在车辆静止状态下或者驾驶员不在驾驶座的情况下才开启碰撞检测功能,减少不必要的资源占用,实现避撞系统启动的智能化。
如果车载终端设备230(例如车载T-BOX 250)确定检测到车辆处于第一状态,在框604处,车载终端设备230(例如车载计算设备240)经由车载摄像设备210采集关于车辆外部环境的环境图像。例如,车载计算设备240在所获取的视频图像中选取预定帧数(例如16或32帧)的环境图像。
在框606处,车载终端设备230发送环境图像,以用于服务器150响应于确定存在可能与车辆110-1发生碰撞的对象时确定车辆外部环境所存在的挪车空间以用于基于挪车空间生成关于挪车的指令。本公开通过将环境图像数据发送给服务器150以及通过服务器150确定可能与车辆110-1发生碰撞的对象,以及确定在车辆110-1周围存在的挪车空间,有利于充分利用服务器150强大的计算优势,在预测安全距离值的基础上快速地识别可能与车辆110-1发生碰撞的对象以及确定挪车空间,而不会过多依赖于车载计算设备240的算力,以免车辆110-1在碰撞发生前不能及时地进行挪车或采取安全保护措施。
在框608处,响应于接收到关于挪车的指令,车载终端设备230经由车辆控制模块220控制车辆向挪车空间移动。在一些实施例中,车载计算设备240(例如车机)可以经由车载T-BOX 250获取服务器150下发的关于挪车的指令,并将该挪车指令分解为转向及制动控制信号,以实现对车辆控制模块220的控制。在一些实施例中,例如车辆110-1处于静止并且已经熄火,车载计算设备240(例如车机)经由车载T-BOX 250启动电动机后,再将该挪车指令分解为转向及制动控制信号,以实现对车辆控制模块220的控制。
在一些实施例中,方法600还可以包括响应于接收到服务器150基于环境图像确定不存在可能与车辆发生碰撞的对象而生成的指示车辆维持第一状态的指令,车载终端设备230(例如车载T-BOX 250)维持车辆的第一状态。
在一些实施例中,方法600还可以包括响应于接收到服务器150基于环境图像确定车辆外部环境不存在挪车空间而生成的指示车辆启动第二状态的指令,车载终端设备230(例如车载T-BOX 250)启动车辆的第二状态。例如,第二状态可以包括经由车载摄像设备210获取关于车辆外部环境的碰撞事故影像,并发送至服务器150,所述碰撞事故影像是基于车载摄像设备210在预设时间内所采集的关于所述车辆外部环境的视频图像而生成的。预设时间例如可以为30s、60s、90s。第二状态还可以包括语音播报碰撞预警。例如,语音播报的内容可以包括指示车辆即将发生碰撞的位置(例如车辆左前方、正右侧、右后方等),也可以包括指示其他安全保护措施的内容(例如,“即将打开安全气囊”、“请乘客系上安全带”等)。第二状态还可以包括预先弹出安全气囊和/或收紧安全带。例如,车辆110-1可以通过座位上的压力传感器等检测是否有乘客乘坐,预先弹出相应座位的安全气囊和/或收紧安全带。第二状态还可以包括开启警告灯光和自动鸣笛等。应当理解的是,上述列举的安全保护措施仅是第二状态的示意,也可能存在其他情况的安全保护措施。
图7示出了根据本公开的实施例的用于避免车辆碰撞的方法700的流程图。应当理解的是,方法700还可以包括未示出的附加步骤和/或可以省略所示出的步骤,本公开的范围在此方面不受限制。
在702处,车载终端设备230(例如车载T-BOX 250)检测到车辆110-1处于第一状态。
在704处,车载终端设备230(例如车载T-BOX 250)向车载摄像设备210发送获取关于车辆外部环境的环境图像的指令。
在706处,车载摄像设备210获取关于车辆外部环境的环境图像。
在708处,车载摄像设备210向服务器150发送关于车辆外部环境的环境图像。
在710处,服务器150识别环境图像中存在的对象。
在712处,服务器150获取对象的位移状态信息。
在714处,服务器150确定存在向车辆110-1靠近的物体。
在716处,服务器150经由安全距离模型,生成安全距离值。
在718处,服务器150确定对象(例如车辆110-2)与车辆110-1之间的距离小于安全距离值。
在720处,服务器150确定存在可能与车辆110-1发生碰撞的对象(例如车辆110-2)。
在722处,服务器150基于环境图像确定车辆外部环境存在挪车空间。
在724处,服务器150确定关于用于挪车的角度和距离。
在726处,服务器150向车载终端设备230(例如车载计算设备240)发送关于挪车的指令。
在728处,车载终端设备230(例如车载计算设备240)将挪车指令分解为转向及制动控制信号。
在730处,车载终端设备230(例如车载计算设备240)向车辆控制模块220发送转向及制动控制信号。
在732处,车辆控制模块220控制车辆110-1进行移动。
图8示出了可以用来实施本公开内容的实施例的示例设备800的示意性框图。设备800可以是用于实现执行图3-4、6-7所示的方法300、400、600、700的设备。如图8所示,设备800包括中央处理单元(CPU)801,其可以根据存储在只读存储器(ROM)802中的计算机程序指令或者从存储单元808加载到随机访问存储器(RAM)803中的计算机程序指令,来执行各种适当的动作和处理。在RAM 803中,还可存储设备800操作所需的各种程序和数据。CPU801、ROM 802以及RAM 803通过总线804彼此相连。输入/输出(I/O)接口805也连接至总线804。
设备800中的多个部件连接至I/O接口805,包括:输入单元806、输出单元807、存储单元808,处理单元801执行上文所描述的各个方法和处理,例如执行方法300、400、600、700。例如,在一些实施例中,方法300、400、600、700可被实现为计算机软件程序,其被存储于机器可读介质,例如存储单元808。在一些实施例中,计算机程序的部分或者全部可以经由ROM 802和/或通信单元809而被载入和/或安装到设备800上。当计算机程序加载到RAM803并由CPU 801执行时,可以执行上文描述的方法300、400、600、700的一个或多个操作。备选地,在其他实施例中,CPU 801可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行方法300、400、600、700的一个或多个动作。
需要进一步说明的是,本公开可以是方法、装置、系统和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于执行本公开的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是但不限于电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本公开操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,该编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本公开的各个方面。
这里参照根据本公开实施例的方法、设备(系统)、和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给语音交互装置中的处理器、通用计算机、专用计算机或其它可编程数据处理装置的处理单元,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理单元执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本公开的多个实施例的设备、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,该模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
以上仅为本公开的可选实施例,并不用于限制本公开,对于本领域的技术人员来说,本公开可以有各种更改和变化。凡在本公开的精神和原则之内,所作的任何修改、等效替换、改进等,均应包含在本公开的保护范围之内。