CN110796063B - 用于检测车位的方法、装置、设备、存储介质以及车辆 - Google Patents
用于检测车位的方法、装置、设备、存储介质以及车辆 Download PDFInfo
- Publication number
- CN110796063B CN110796063B CN201911019213.8A CN201911019213A CN110796063B CN 110796063 B CN110796063 B CN 110796063B CN 201911019213 A CN201911019213 A CN 201911019213A CN 110796063 B CN110796063 B CN 110796063B
- Authority
- CN
- China
- Prior art keywords
- parking space
- point
- line
- image
- vehicle
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/50—Context or environment of the image
- G06V20/56—Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
- G06V20/588—Recognition of the road, e.g. of lane markings; Recognition of the vehicle driving pattern in relation to the road
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Traffic Control Systems (AREA)
- Image Analysis (AREA)
Abstract
本公开的实施例公开了一种用于检测车位的方法、装置、设备、存储介质以及车辆,其涉及自主泊车技术领域。方法包括获得呈现待检测的目标车位的输入图像。方法还包括使用输入图像同时检测目标车位的角点和车位线,然后基于检测到的车位线来修正检测到的角点的位置。本公开的实施例同时检测图像中的目标车位的角点和车位线,利用相对稳定的车位线来修正角点,这种联合检测方法能够提高角点检测的精度,减少角点的抖动。此外,本公开的一些实施例可以使用神经网络模型来完成车位的检测,由此提高检测速度,节省检测耗时。
Description
技术领域
本公开的实施例总体上涉及自动驾驶领域,并且更具体地涉及自主泊车技术领域。
背景技术
自动驾驶又称无人驾驶,是一种通过计算机系统实现无人驾驶车辆的技术。自动驾驶车辆依靠人工智能、视觉计算、雷达系统、监控装置以及卫星定位系统等协同合作,能够使得计算机在没有人类操作下自动安全地操作车辆。自动驾驶根据自动化水平高低可以分为以下几个阶段:辅助驾驶、半自动驾驶、高度自动驾驶以及完全自动驾驶。
自主泊车是自动驾驶中的一项重要功能,其是指车辆自动地泊车入位而不需要人工操作或控制。在自主泊车场景中,自动驾驶车辆需要完成自动巡航、空车位寻找、倒车入库等一系列过程,从而在停车场内自主完成整个泊车的全部过程。其中的空车位寻找和倒车入库过程需要借助感知技术获取决策控制模块所依赖的关键视觉信息。感知检测结果的精确程度直接影响车辆泊车的效果。若感知出现偏差,车辆将无法准确停靠在车位的正中位置,而如果车位两侧有其他已停靠车辆,还可能发生车辆碰撞事故。
发明内容
根据本公开的示例实施例,提供了一种用于检测车位的方法、装置、设备、存储介质以及车辆。
在本公开的第一方面中,提供了一种用于检测车位的方法。该方法包括:获得呈现待检测的目标车位的输入图像;基于输入图像检测目标车位的角点和车位线;以及基于检测到的车位线,修正检测到的角点的位置。
在本公开的第二方面中,提供了一种用于检测车位的装置。该装置包括:图像获得模块,被配置为获得呈现待检测的目标车位的输入图像;角点和车位线检测模块,被配置为基于输入图像检测目标车位的角点和车位线;以及角点修正模块,被配置为基于检测到的车位线,修正检测到的角点的位置。
在本公开的第三方面中,提供了一种电子设备,其包括一个或多个处理器以及存储装置,存储装置用于存储一个或多个程序。一个或多个程序当被一个或多个处理器执行,使得电子设备实现根据本公开的实施例的方法或过程。
在本公开的第四方面中,提供了一种计算机可读介质,其上存储有计算机程序,该程序被处理器执行时实现根据本公开的实施例的方法或过程。
在本公开的第五方面中,提供了一种车辆,其包括根据本公开的实施例的电子设备。
应当理解,本发明内容部分中所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
结合附图并参考以下详细说明,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。在附图中,相同或相似的附图标记表示相同或相似的元素,其中:
图1A-1B示出了本公开的实施例的自主泊车场景的示例环境;
图2示出了根据本公开的实施例的用于检测车位的方法的流程图;
图3示出了根据本公开的实施例的用于在图像中检测车位的角点的过程的示意图;
图4示出了根据本公开的实施例的示例自主泊车系统的架构的示意图;
图5示出了根据本公开的实施例的用于检测空车位的方法的流程图;
图6示出了根据本公开的实施例的神经网络模型的架构的示意图;
图7示出了根据本公开的实施例的用于检测车位的装置的框图;
图8示出了根据本公开的实施例的用于检测车位的另一方法的流程图;
图9示出了根据本公开的实施例的用于在图像中检测车位的角点的另一过程的示意图;
图10示出了根据本公开的实施例的用于使用车位线来修正角点的示意图;
图11示出了根据本公开的实施例的另一神经网络模型的架构的示意图;
图12示出了根据本公开的实施例的用于检测车位的另一装置的框图;以及
图13示出了能够实施本公开的多个实施例的电子设备的框图。
具体实施方式
下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
在本公开的实施例的描述中,术语“包括”及其类似用语应当理解为开放性包含,即“包括但不限于”。术语“基于”应当理解为“至少部分地基于”。术语“一个实施例”或“该实施例”应当理解为“至少一个实施例”。下文还可能包括其他明确的和隐含的定义。术语“车位”表示可停放车辆的停车位,车位通常通过各种颜色的线条来表征。
无人驾驶车辆为了实现自主泊车,首先需要精确定位车位位置,因而需要进行周边环境的车位检测。传统的车位检测方法是通过图像识别等方式直接检测每个车位的四个角点,然后再通过矩形框辅助(例如包含停车位的矩形框,其可能会覆盖相邻车位的区域)或者聚类算法(例如将四个角点划分成同一类)对角点进行分组。然而,这些传统的检测方法的检测结果不够精确(例如会漏检一些角点),并且角点分组由于聚类算法的不稳定性而不够稳定,例如同一个车位的四个角点可能没有分到同一个组,导致车位整体检测不完整。在自主泊车的某些场景下,可能会要求完成自主泊车后,车位两侧剩余空隙宽度之差不超过一定距离,因此需要精确且可靠地输出车位感知信息。由此可见,传统的车位检测方法并不能够实现精确且稳定的车位检测,无法适用于高精度的自主泊车的需要。此外,传统的聚类等后处理方式通常耗时较长,极大地影响车位检测的速度。
本公开的实施例提出了一种用于检测车位的新方案,其涉及自主泊车场景中的车位视觉感知融合。本公开的实施例同时检测图像中的目标车位的角点和车位线,利用相对稳定的车位线来修正角点,这种联合检测方法能够提高角点检测的精度,减少角点的抖动。精确检测车位是自主泊车实现的一个基础,其能够保证自主泊车的安全性。此外,本公开的一些实施例可以通过神经网络模型来完成车位检测,能够提高车位检测速度,节省车位检测耗时。以下将参考附图1-13详细描述本公开的一些示例实施例。
车位角点(简称“角点”)是车位的重要特征,其能够表征车位的位置。在通常情况下,车位的边线为两组平行直线,如果获得四个角点的位置,实质上得到了车位的完整位置信息,因为车位角点的连线可以表示车位线。因此,车位的角点是停车位的固有属性,适用于大多数停车位场景。车位的类型通常包括但不限于非字型停车位、斜线停车位、一字型停车位,等等。
图1A示出了本公开的实施例的在自主泊车场景中寻找空车位的示例环境100。如图1A所示,在环境100中,车辆110正行驶在停车场内的道路120上,其中该停车场可以为室外停车场或室内停车场(例如地下停车场等)。在一些实施例中,车辆110可以是配备一定自动驾驶能力(例如自主泊车能力)的车辆,其中自动驾驶能力可以包括但不限于辅助驾驶能力、半自动驾驶能力、高度自动驾驶能力或者完全自动驾驶能力。在车辆110形式的过程中,为了寻找空车位以便停放车辆110,车辆110可以通过固定或安装在其上的图像采集装置115来捕获周围环境的实时图像,并通过图像处理等技术来检测外部环境中的空车位情况。在一些实施例中,图像采集装置115可以为具有一个或多个广角或者超广角的摄像头,这些摄像头能够捕获周围环境360度内的场景。备选地,图像采集装置115也可以采用可旋转的结构,以便可旋转地检测车辆外部多个方向的实时场景。
继续参考图1A,车辆110此刻正处于自主泊车场景中寻找空车位阶段,车辆110自动巡航以便寻找可以停车的空车位。在图1A的示例环境100中,车辆110的右侧为墙壁140,左侧为停车区域130,其包括多个停车位,每个停车位上分别印刷有停车位的编号,例如编号A001、A002、A003、A004。其中车位A001上目前已停有车辆131,车位A003上目前已停有车辆132,车位A002和A004上目前还没有停放车辆,即为空车位。
车辆110在车位寻找阶段,可以检测所拍摄的图像中的所有车位情况,也可以仅检测空车位的情况。当车辆110巡航路过车位A002时,能够通过图像采集装置115采集的图像检测到车位A002是空车位以及车位A002的具体位置,在本公开的一些实施例,车位位置可以通过车位的四个内角点来表征,例如,角点121、122、123、124的连线即为车位A002的位置。在一些实施例中,车辆110可以仅检测摄像头正对的车位,在图1A的场景100中为车位A002。在另一些实施例中,车辆110也可以检测附近预定距离内的所有车位的位置或者所有空车位的位置,例如,能够同时检测出车位A002和车位A004的位置。
在车辆110检测到车位A002为空车位以及车位A002的具体位置之后,车辆110可以从空车位寻找阶段切换到入库阶段,图1B示出了本公开的实施例的在自主泊车场景中倒车入库的示例环境150。车辆110的控制程序可以控制车辆110根据检测到的车位A002的位置来自动泊入车位A002,如箭头155所示,示出了车辆110泊入车位A002的轨迹。此外,由于入库阶段需要更加准确的车位位置,本公开的实施例可以在入库阶段进一步检测或者重新检测车位A002的具体位置。也就是说,可以在图1B的场景150中再次检测角点121、122、123、124的位置。由于本公开的实施例能够更加准确且稳定地检测到车位的位置,因而车辆110能够准确高效地停入车位,为自动驾驶提供了有力保障,同时保证了自主泊车的安全性。
应当理解,车辆110除了包括图像采集装置115之外,还可以包括用于自动驾驶的其他传感器或检测装置,例如,车辆110还可以包括激光雷达、卫星定位系统和惯性测量装置等。激光雷达是指以发射激光束探测目标的位置和/或速度等特征量的雷达装置,其工作原理是向目标发射探测信号(激光束),然后将接收到的从目标反射回来的信号(目标回波)与发射信号进行比较,作适当处理后,就可获得目标的相关信息,例如目标距离、方位、高度、速度、姿态、甚至形状等参数中的一个或多个。卫星定位系统也不限于全球定位系统(GPS),欧洲的伽利略卫星定位系统,中国的北斗卫星定位系统等,均可与本公开的实施例结合使用。此外,应当理解,图1A和1B中所示出的环境100和150仅仅是本公开的实施例的示例环境,而不用于限制本公开的范围。
图2示出了根据本公开的实施例的用于检测车位的方法200的流程图。为了便于清楚说明,以下参考图1A的环境100来描述本公开的实施例的方法200。应当理解,方法200可以在车辆110处被实现,也可以在远程服务器或者云中被实现,或者部分被实现在车辆110本地并且部分被实现在远程服务器中。
在框202,获得呈现一个或多个车位的输入图像,其中一个或多个车位包括待检测的目标车位。例如,参考图1A的示例环境100,在自动泊车的空车位寻找阶段,车辆110可以通过图像采集装置115实时地捕获周围环境的图像,然后在捕获的图像中检测其中的一个或多个车位的位置。在一些实施例中,车辆110可以仅检测空车位的车位位置。在一些实施例中,可以基于车辆与捕获的图像中的一个或多个车位之间的空间关系,确定一个或多个车位中待检测的目标车位。例如,车辆110可以仅检测摄像头正对着的车位(例如车位A002)的位置,使得车位检测更具有针对性。备选地,车辆110可以对道路两边的车位进行可停性和车位位置的同步检测,或者检测一定距离内的车位或空车位的位置,或者检测捕获的图像中的所有的车位和空车位的位置。
在框204,在输入图像中检测目标车位的中心点以及中心点相对于目标车位的角点的偏移量,其中中心点可以为车位对角点连线的交点。例如,本公开的实施例可以通过神经网络模型来检测中心点以及中心点与四个角点的偏移量,其中神经网络模型可以通过已经标注有各个车位的角点的训练图像来进行训练。当然,其他的机器学习模型也可以与本公开的实施例结合使用。
本公开的实施例的方法不是直接检测各个车位角点,而是利用了车位的结构信息,以绑定的方式首先检测车位中心点以及与各个角点的偏移量(例如图像坐标系中的横轴偏移和纵轴偏移),然后再据此确定各个角点的位置,从而能够使得每个车位的四个角点同时输出,而不会出现漏检车位的一个或多个角点的情形,并且检测的精度也较高。在本公开的某些实施例中,可以对于车位进行空车位判断,也即,仅检测空车位的车位位置,而不检测非空车位的位置。
在框206,基于中心点的位置和偏移量,确定目标车位的角点的位置。例如,在车辆110确定了车位A002的中心点以及中心点相对于车位A002的四个角点的偏移量之后,可以根据中心点位置以及与各个角点的偏移量,计算出四个角点的位置。通过这种方式,能够获得车位A002的角点121、122、123、124在输入图像中的坐标,然后可以通过坐标转换,将角点121、122、123、124的位置转换成世界坐标,例如车辆坐标,从而使得车辆110能够获知检测到的车位A002的具体位置。
因此,本公开的实施例通过检测图像中的车位中心点以及中心点与各个车位角点的偏移量,能够利用车位的结构信息,更准确地完成对车位角点的检测,并且鲁棒性较好。此外,本公开的某些实施例可以通过神经网络模型来完成车位检测,能够提高车位检测速度,节省检测耗时。由于本公开的实施例是将车位中心点和四个角点偏移以绑定的方式进行检测,因而本公开的实施例的方法不会造成漏检车位角点的情形。
图3示出了根据本公开的实施例的用于在图像中检测车位的角点的过程300的示意图,图3给出了使用图2的方法200进行检测的一个具体示例。如图3所示,在获得车辆实时拍摄的图像310之后,在框320,对图像310进行中心点检测和角点偏移检测,即中心点相对于各个角点的偏移量。例如,本公开的实施例可以将图像310输入到预先训练的神经网络模型中,然后通过神经网络模型的处理确定图像中的车位中心点335以及中心点335与角点的偏移量,如图像330所示。接下来,根据检测到的车位中心点335以及中心点335与角点的偏移量,在框340执行车位角点检测和计算,从而确定出目标车位的四个角点351、352、353以及354,如图像350所示。
如图3所示,不同于传统的方法直接从图像310检测四个车位角点,本公开的实施例通过检测车位中心点以及角点偏移(如图像330)来确定角点位置,能够利用车位的结构信息,更加准确地检测到四个角点的位置。此外,由于中心点和角点偏移是以绑定方式一起检测,因而本公开的实施例方式不会出现漏检车位的一个或多个角点的情形,因而鲁棒性较高。另外,由于每个车位所确定的四个角点已经通过中心点而分组在一起,因而也不需要额外的矩形框协助或聚类方式对角点再进行分组。
继续参考图3,可选地,在检测到车位中心点335之后,可以通过高斯平滑等方式来选择中心点周围的一区域作为中心区域365,如图像360所示,然后基于中心区域365的图像特征来在框370判断检测到的车位是否为空车位,一般来说,如果车位中心区域指示为空车位,则这个车位通常是空车位。在一些实施例中,神经网络模型可以根据中心区域365确定目标车位为空车位的概率,然后通过与先验概率阈值的比较来判断是否为空车位。因此,本公开的一些实施例可以在神经网络模型中加入空车位或非空车位分类任务,使得神经网络模型能够在检测车位角点的基础上判断车位是否为空,即车位是否可停车,从而提高了车位检测的效率。
传统的方法通常是基于颜色均方差阈值判断的方法来判断车位占用情况,其计算背景图像以及实测图像的灰度值,然后通过均值方差与阈值的比较,来判断车位占用情况。然而,这种传统的方法容易受环境光照以及车位底色深浅不同的影响,鲁棒性不高,此外,这种方法也没有同时计算出车位的具体位置。相反,本公开的实施例通过神经网络模型对车位的中心区域的判断来确定车位的占用情况,并且同时能够输出车位中心点(其可以用于确定车位角点,进而确定车位的具体位置),因此,本公开的实施例能够提升车位检测的精度和效率。
图4示出了根据本公开的实施例的示例自主泊车系统400的架构的示意图,自主泊车系统400是能够实现车辆的自主泊车的系统。不同于简单的自动泊车,搭载自主泊车的车辆可以实现远程召唤、自动排队、自动找车位、自动泊车等主要功能,从而极大提升乘客用车及出行体验。一般来说,自动驾驶级别可以包括以下六个等级:L0,无自动化配置,完全是驾驶员自己驾驶车辆,没有任何主动安全配置;L1,驾驶辅助,车辆有一定的功能协助驾驶员执行横向或者纵向的车辆运动的特定任务(但不是同时能完成并线超车这种复杂的任务),驾驶员仍然承担大部分车辆控制能力;L2,高级驾驶辅助,车辆能够有一定能力协助驾驶员执行包括横向和纵向的车辆运动任务(车辆能自主实现特定的复杂任务),但驾驶员需要实时监控车辆完成这些任务;L3,特定场景下的自动驾驶,在车辆进行动态行驶时,在用户的同意下,自动驾驶系统能整个介入车辆行驶,用户可以随时对车辆在自动驾驶行驶时出现的错误进行修正;L4,高级自动驾驶,车辆行驶时全部操作都通过自动驾驶系统实现,在执行场景中,车辆没有不合逻辑的表现,完全不需要用户的操作介入;L5,无论是否在特定的执行场景中,车辆无需用户操作,通过自动驾驶即可到达目的地。自主泊车的功能通常需要L4级别自动驾驶的支持,是自动驾驶技术进入L4级别的落地。
如图4所示,自主泊车系统400包括图像采集装置410、机器学习模型420、自主泊车控制系统430以及执行模块440。其中,图像采集装置410可以用于采集周围环境的图像,以便识别出车位或空车位以及车位位置,其可以为一个或多个摄像头。机器学习模型420的示例可以为神经网络模型,例如卷积神经网络模型,机器学习模型420通过训练数据425进行训练,其针对图像采集装置410所采集到的输入图像,能够确定出其中的车位或空车位的位置,然后将空车位位置传送到自主泊车控制系统430,自主泊车控制系统430可以根据空车位位置来控制车辆进行自主泊车,并且由执行模块440来执行具体的车辆操作步骤,例如控制车辆的转向、油门、刹车等。
机器学习模型420是使用机器学习技术来实现的机器模型,机器学习是指使得机器能够像人类一样从大量数据中学习到规律,从而生成能够完成一些特定任务的机器学习模型。人工神经网络是一种典型的机器学习技术,其以人脑为模型创建一个人工的神经网络,并通过使用各种机器学习算法允许计算机通过大量数据来学习。常见的人工神经网络包括卷积神经网络(CNN)、循环神经网络(RNN),等等。
在一些实施例中,可以将自主泊车系统400部署在车辆处,以实现车辆的自主泊车功能。此外,自主泊车系统400中的一个或多个部件也可以被部署在其他位置,例如,训练数据425可以被部署在服务器处,而在完成机器学习模型420的训练之后,将机器学习模型420部署在车辆处。
图5示出了根据本公开的实施例的检测空车位的方法500的示意图,其示出了从自主泊车的空车位寻找阶段切换到入库阶段。在框502,在自主泊车的空车位寻找阶段,检测所拍摄到的图像中的空车位,也即实时地检测车辆周围的空车位。在框504,判断是否检测到空车位。如果在框504判断没有检测到空车位,则返回步骤502,继续巡航并检测空车位。而如果在框504判断检测到空车位,则在框506,通过本公开的实施例的方法检测空车位的中心点位置以及角点偏移,然后确定空车位的角点位置。当然,在检测空车位的同时,也可以同步检测车位角点。在框508,将检测到的空车位的角点位置从图像坐标转换成世界坐标。例如,将图像坐标通过逆投影变换转换成三维坐标,并将空车位的位置信息输出到下游模块。在框510,控制车辆进入自主泊车的入库阶段,开始自动泊车入库过程。在一些实施例中,可以通过对所检测到的车位的空车位概率进行判断,以便确定车位是否为空车位。此外,在进入自主泊车的入库阶段之后,可以进一步更加精确地检测空车位的位置,以用于后入的倒车入库过程。
图6示出了根据本公开的实施例的神经网络模型600的架构的示意图,神经网络模型600可以例如为CNN模型,CNN是一种包含卷积计算且具有深度结构的前馈神经网络,在计算机视觉特别是图像处理领域有着非常广泛的应用。从计算机的角度来看,图像实际上是一个二维或三维矩阵,CNN所做的工作就是采用卷积、池化等操作从二维或三维数组中提取特征,并对图像进行识别。CNN通常由输入层、卷积层、激活函数、池化层、全连接层组成。应当理解,虽然在本公开的一些实施例中使用CNN作为机器学习模型的一个示例,其他的机器学习模型也可以与本公开的实施例结合使用以实现车位检测。
参考图6,神经网络模型600可以包括输入层610(其可以为672*320大小的图像)、卷积层620、池化层630、卷积层640、池化层650、全连接层660、以及输出层670(其可以为84*40*9大小的特征图)。应当理解,神经网络模型600还可以包括更多的卷积层和池化层。
卷积层(例如卷积层620和640)由若干卷积单元组成,每个卷积单元的参数都是通过反向传播算法最佳化得到的,通过卷积操作对输入图像进行降维和特征抽取。卷积运算的目的是提取输入的不同特征,第一层卷积层可能只能提取一些低级的特征如边缘、线条和角等层级,更多层的网络能从低级特征中迭代提取更复杂的特征。池化层(例如池化层630和650)是CNN的另一个组成部分,对其前一层进行下采样。其作用是缩小前一层的尺寸(长、宽、通道数),从而减少计算量、存储使用量、参数个数,从而达到一定的尺度、空间不变性,和降低过拟合可能性的目的。全连接层在整个CNN中起到分类器的作用。如果说卷积层、池化层和激活函数层等操作是将原始数据映射到隐层特征空间的话,全连接层则起到将学到的“分布式特征表示”映射到样本标记空间的作用。
在一些实施例中,可以通过大量的训练图像来训练神经网络模型600,其中每个训练图像中已经人工标注或者通过其他方式标注有每个车位的四个角点的位置,例如车位内角点的位置。针对训练图像,可以通过角点位置确定其车位中心点以及中心点相对于角点的偏移量,然后使用训练图像以及其中的车位中心点和角点偏移来训练神经网络模型600。
在完成对神经网络模型600的训练之后,可以通过神经网络模型600对输入图像进行卷积和下采样以获得输出图像,然后使用神经网络模型600确定输出图像中的每个像素点的属性集合,其中属性集合的一个示例为特征图中的条目671。如图6所示,条目671包括空车位概率P、中心点的位置(X、Y)、以及中心点相对于四个角点的偏移量(X1、Y1、X2、Y2、X3、Y3、X4、Y4)。在一些实施例,如果仅检测图像中的一个车位的位置,则可以将输出图像中空车位概率最大的一个像素点直接确定为目标车位的中心点。例如,神经网络模型基于输入的图像310,能够输出标有空车位角点的输出图像350,进而可以确定空车位的位置。备选地,也可以同时检测输入图像中的多个车位,可以确定输出图像中空车位概率大于概率阈值的一个或多个像素点,然后将一个或多个像素点分别确定为一个或多个目标车位的一个或多个中心点,然后根据属性集合(例如条目671)来确定各个车位的位置。
图7示出了根据本公开的实施例的用于检测车位的装置700的框图。如图7所示,装置700包括图像获得模块710、中心点检测模块720以及角点确定模块730。图像获得模块710被配置为获得呈现一个或多个车位的输入图像,其中一个或多个车位包括待检测的目标车位。中心点检测模块720被配置为在输入图像中检测目标车位的中心点以及中心点相对于目标车位的角点的偏移量。角点确定模块730被配置为基于中心点的位置和偏移量,确定目标车位的角点的位置。
在一些实施例中,其中中心点检测模块720可以包括:中心区域确定模块,被配置为基于中心点,确定目标车位的中心区域;以及空车位概率确定模块,被配置为基于中心区域,确定目标车位为空车位的概率。
在一些实施例中,装置700还可以包括:概率判断模块,被配置为确定目标车位为空车位的概率是否大于预定阈值;坐标转换模块,被配置为根据确定概率大于预定阈值,将目标车位的角点的位置从图像坐标转换成世界坐标;以及阶段切换模块,被配置为输出目标车位的角点的世界坐标,使得车辆从自主泊车的空车位寻找阶段切换到入库阶段。
在一些实施例中,其中图像获得模块710可以包括:图像捕获模块,被配置为通过车辆的图像采集装置来获得输入图像;以及目标车位确定模块,被配置为基于车辆与一个或多个车位之间的空间关系,确定一个或多个车位中待检测的目标车位。
在一些实施例中,中心点检测模块720可以被包括在神经网络模型中,并且装置700还可以包括:训练数据获得模块,被配置为获得标注有每个车位的四个角点的训练图像;以及模型训练模块,被配置为使用训练图像来训练神经网络模型。
在一些实施例中,其中中心点检测模块720可以包括:输出图像获得模块,被配置为使用神经网络模型对输入图像进行卷积和下采样以获得输出图像;以及属性集合确定模块,被配置为使用神经网络模型确定输出图像中的每个像素点的属性集合,属性集合包括空车位概率、中心点的位置、以及中心点相对于四个角点的偏移量。
在一些实施例中,其中中心点检测模块720还可以包括:第一确定模块,被配置为将输出图像中空车位概率最大的一个像素点确定为目标车位的中心点。
在一些实施例中,其中中心点检测模块720还可以包括:第二确定模块,被配置为确定输出图像中空车位概率大于概率阈值的一个或多个像素点;以及第三确定模块,被配置为将一个或多个像素点分别确定为一个或多个目标车位的一个或多个中心点。
应当理解,图7中所示出的图像获得模块710、中心点检测模块720以及角点确定模块730可以被包括在一个或多个电子设备中,电子设备的全部或一部分还可以进一步被包括在车辆中。而且,应当理解,图7中所示出的模块可以执行参考本公开的实施例的方法或过程中的步骤或动作。
根据本公开的一些实施例,在自主泊车的空车位寻找阶段检测到目标车位以及其车位位置之后(车位位置可以通过车位的四个角点来表征),可以进入自主泊车的入库阶段,即控制车位泊入目标车位中。由于入库阶段对于车位的位置精度要求更高,因而本公开的实施例还提供了用于更精确地检测车位的另一方法800。
图8示出了根据本公开的实施例的用于检测车位的另一方法800的流程图。为了便于清楚说明,以下参考图1B的环境150来描述本公开的实施例的方法800。应当理解,车位检测方法800可以在车辆110处被实现,也可以在远程服务器或者云中被实现,或者部分被实现在车辆110本地并且部分被实现在远程服务器中。
在框802,获得呈现待检测的目标车位的输入图像。例如,参考图1B的环境150,由于车辆110在自动泊车的空车位寻找阶段已经获知车位A002为空车位,并且初步确定了空车位A002的位置,其中车位位置通过角点121、122、123、124来表征,因此,车辆110进入自动泊车的入库阶段。车辆110可以通过图像采集装置115实时地捕获空车位A002的图像,然后在捕获的图像中重新检测空车位A002的精确位置。在一些实施例中,车辆110可以在泊车入库的过程中多次检测空车位A002的位置,并不断地进行调整和修正。
在框804,基于输入图像,检测目标车位的角点和车位线。例如,本公开的实施例可以通过神经网络模型来同时检测出图像中的目标车位的四个角点和两条车位线的点集,其中神经网络模型可以通过已经标注有各个车位的角点和车位线的大量训练图像进行训练。当然,其他的机器学习模型也可以与本公开的实施例结合使用。在一些实施例中,车位线可以通过若干点的直线拟合而生成,例如,可以检测目标车位两条长边上的若干点,然后分别直线拟合成车位的两条长边。
由于摄像头所采集的图像可能会变形,因而检测到的角点可能发生抖动,造成检索结果不准确,因此单独的角点检测方法的精度可能还不够高。一般来说,车位通常为矩形或者平行四边形,而车位的车位线通常为直线,若车位线上检测到的点数足够多,那么通过直线拟合等方式生成的直线相对是比较稳定的,对个别点的检测扰动具有较强的容错能力。因此,本公开的实施例同时检测车位角点和车位线,并且利用比较稳定的车位线来修正角点的位置。
在框806,基于检测到的车位线,修正检测到的角点的位置。例如,在车辆110检测到车位A002的角点和车位线点集之后,可以将角点和车位线点集从图像坐标转换成世界坐标,并在世界坐标系中将点集拟合成直线。然后,可以在世界坐标系中利用车位线的直线来修正角点的位置,从而获得更加精确的角点位置,在世界坐标系中进行拟合和修正能够比在图像坐标系中拟合和修正实现更高的精度。接下来,可以将修正后的角点121、122、123、124的位置发送给自主泊车控制系统,从而使得车辆110根据车位A002的角点位置来执行倒车入库过程。在一些实施例中,车位线对角点的修正可以为将角点调整到相应的车位线的直线上,从而提高车位的横向位置精度。
因此,本公开的实施例通过同时检测图像中的目标车位的角点和车位线,利用相对稳定的车位线来约束车位角点,这种联合检测方法能够提高角点检测的精度,减少角点的抖动,使得车辆入库时能够停靠在车位的更中间位置。此外,根据本公开的一些实施例,通过神经网络模型的方法能够提高车位检测的处理速度。
如果单独使用车位线来检测车位,则纵向的准确度可能不够,并且还可能出现车位线的拟合误差。此外,有的车位的入口处的车位线可能不完整,可能包括其车位编号,这可能影响车位线检测的准确性。与单独使用车位线相比,本公开的实施例的方法800同时考虑车位线和角点,并且使用车位线来进一步提升角点的精度,能够提升车位检测的精度。
图9示出了根据本公开的实施例的用于在图像中检测车位的角点的另一过程900的示意图。如图9所示,在自动泊车的入库阶段,在获得车辆实时拍摄的图像910之后,在框920,通过图像910同时检测目标车位的车位线和车位角点。例如,本公开的实施例可以将图像910输入到预先训练的CNN模型中。如图像930所示,本公开的实施例能够同时检测出目标车位的四个角点931、932、933、934以及两条长车位线935和936。在一些实施例中,可以通过神经网络模型直接获得两条长车位线935和936。备选地,可以通过神经网络模型获得多个点集,然后通过在世界坐标系中对点集的直线拟合来生成两条长车位线935和936。此外,虽然在图9的示例中检测目标车位的两条长车位线,但也可以检测车位的所有车位线,即四条车位线。参考图9,在图像930中,示出了角点933的检测位置不够准确,其并不在实际的车位线拐角处。
继续参考图9,在框940,在检测到目标车位的车位线和角点之后,在世界坐标系中利用车位线935和936来修正四个角点931、932、933、934,从而得到图像950。如图像950所示,角点933的位置被修正到车位线935上。通过这种方式,能够获得更加精确的车位角点931、932、933、934。在获得车位角点931、932、933、934之后,车位角点931、932、933、934连线所组成的四边形可以认为是所检测到的目标车位的内边线的位置。由于车位检测的精度会直接影响自主泊车的效果,因此,根据本公开的实施例的车位检测方法能够提升自主泊车的停车效果,使得车辆能够尽可能停在车位的中间位置,不仅保证了安全性,还提升了乘客体验,方便乘客走出车辆。
图10示出了根据本公开的实施例的用于使用车位线修正角点的示意图示1000。在第一阶段,如箭头1010所示,通过神经网络模型检测到目标车位的2个点集(例如点集1011)和四个角点(例如角点1012)。在一些实施例中,可以检测目标车位的长车位线的内边线上的点集,其中目标车位通常包括两条长车位线和两条短车位线。由于车辆摄像头是侧视拍摄,图像中的车位呈现出近大远小的性质,可能会造成对于车位远处的角点的检测不够准确,因此修正角点的位置是有必要的。
接下来,将检测到车位线点集和车位角点从图像坐标转换成世界坐标,在第二阶段,可以在世界坐标系中对检测到的各个点集进行直线拟合,如箭头1020所示,点集1011拟合成直线1021。直线拟合是指找到一条直线尽可能穿过所有的点,直线拟合是一元函数拟合中最简单的方式,由于只要超过2个点,就有可能发生直线不能精确穿过所有点的情况,这时确定直线的原则有很多种,最小二乘法就是其中的一种,当直线不能穿过点时产生误差(点和直线的距离),最小二乘法的原则就是让所有点的误差的平方和最小。最小二乘法是一种数学优化技术,它通过最小化误差的平方和寻找数据的最佳函数匹配。利用最小二乘法可以简便地求得未知的数据,并使得这些求得的数据与实际数据之间误差的平方和为最小,是直线拟合的一种常用方式。
在拟合出车位线的直线之后,在第三阶段,可以在世界坐标系中通过车位线拟合的直线(例如直线1021)对角点(例如角点1012)进行修正,如箭头1030所示。在一些实施例中,可以在世界坐标系中将检测到的每个角点分别投影到所生成的两条直线中的较近直线上,将每个角点在较近直线上的投影点确定为新的角点,基于新的角点,确定目标车位的位置。例如,将角点1012投影到较近的直线1021上,形成投影点1032,其中可以使用投影点1032作为新的角点替代原始的角点1012,在对所有的角点修正完成之后,基于修正后的新的角点,重新确定车位的精确位置。
图11示出了根据本公开的实施例的另一神经网络模型1100的架构的示意图,神经网络模型1100可以为卷积神经网络模型,其可以包括一个或多个卷积过程和池化过程。图11所示出的神经网络模型1100与图6所示出的神经网络模型600的不同之处在于,神经网络模型1100除了输出角点的特征图之外,同时还输出车位线的特征图。此外,虽然图11的神经网络模型1100示出了通过车位中心点和角点偏移来检测角点,其也可以通过其他现有的或者将来开发的角点检测方法来检测出图像中的车位角点。
如图11所示,神经网络模型1100包括输入层1110(其可以为672*320大小的图像)、卷积层1120、池化层1130、卷积层1140、池化层1150、全连接层1160、以及输出层(其可以包括84*40*9大小的特征图1170和84*40*6的特征图1180)。
在一些实施例中,可以通过大量的训练图像来训练神经网络模型1100,其中训练图像可以包括两种类型,一种是标注有每个车位的四个角点的第一类训练图像,另一种是标注有每个车位的两条长车位线的第二类训练图像,其中第一类图像和第二类图像可以包括不同的或相同的原始图像。然后,使用大量的第一类训练图像和大量的第二类训练图像来联合训练神经网络模型1100。例如,在分批训练的过程中,在批处理训练十个训练图像时,可以训练五个第一类训练图像以及五个第二类训练图像。通过大量训练数据的迭代训练,由此完成对神经网络模型1100的训练。
在完成对神经网络模型1100的训练之后,可以通过神经网络模型1100对输入图像进行卷积和下采样以获得输出图像,然后使用神经网络模型1100确定输出图像中的每个像素点的属性集合,属性集合的一个示例包括特征图1170(即像素点的第一属性集合)和特征图1180(即像素点的第二属性集合)。
特征图1170的一个示例为条目1171,条目1171包括空车位概率P、中心点的位置(X、Y)、以及中心点相对于四个角点的偏移量(X1、Y1、X2、Y2、X3、Y3、X4、Y4)。在一些实施例,可以将输出图像中空车位概率最大的一个像素点确定为目标车位的中心点。例如,神经网络模型1100基于输入的图像910,能够输出标有空车位角点的输出图像930。
特征图1180的一个示例为条目1181,条目1181包括像素点位于左车位线上的概率Pl及位置(X1、Y1)以及像素点位于右车位线上的概率Pr及位置(X2、Y2)。然后,基于输出图像中像素点位于左车位线上的概率大于第一概率阈值的像素点,确定左车位线,并且基于输出图像中像素点位于右车位线上的概率大于第二概率阈值的像素点,确定右车位线。通过这种方式,能够确定出左车位线和右车位线上的各自像素点集,然后在世界坐标系中通过对这些像素点集的直线拟合,能够获得左车位线的直线和右车位线的直线。接下来,在世界坐标系中通过左右两条直线对空车位角点的修正(例如,点投影到直线上),能够修正车位角点的位置,由此获得更加精确的车位角点。
因此,本公开的实施例利用相对稳定的车位线来修正车位角点,这种联合检测方法能够提高角点检测精度,减少角点的抖动。此外,本公开的一些实施例的通过神经网络模型的方法处理速度较快。
图12示出了根据本公开的实施例的用于检测车位的另一装置1200的框图。如图12所示,装置1200包括图像获得模块1210、角点和车位线检测模块1220以及角点修正模块1230。图像获得模块1210被配置为获得呈现待检测的目标车位的输入图像。角点和车位线检测模块1220被配置为基于输入图像检测目标车位的角点和车位线。角点修正模块1230被配置为基于检测到的车位线,修正检测到的角点的位置。
在一些实施例中,其中角点和车位线检测模块1220可以包括:点集检测模块,被配置为检测目标车位的长车位线的内边线上的点集,目标车位包括两条长车位线和两条短车位线;以及直线拟合模块,被配置为在世界坐标系中通过对每条长车位线上检测到的点集进行直线拟合,来生成两条直线。
在一些实施例中,其中角点修正模块1230可以包括:投影模块,被配置为在世界坐标系中将检测到的每个角点分别投影到所生成的两条直线中的较近直线上;投影点确定模块,被配置为在世界坐标系中将每个角点在较近直线上的投影点确定为新的角点;以及位置确定模块,被配置为基于新的角点,确定目标车位的位置。
在一些实施例中,其中图像获得模块1210可以包括:图像捕获模块,被配置为根据在自主泊车的空车位寻找阶段确定目标车位为空车位,进入自主泊车的入库阶段并通过车辆的图像采集装置来捕获输入图像。
在一些实施例中,角点和车位线检测模块1220可以被包括在神经网络模型中,并且装置1200还可以包括:训练图像获得模块,被配置为获得标注有每个车位的四个角点的第一训练图像以及标注有每个车位的两条长车位线的第二训练图像;以及联合训练模块,被配置为使用第一训练图像和第二训练图像来联合训练神经网络模型。
在一些实施例中,其中角点和车位线检测模块1220可以包括:输出图像获得模块,被配置为使用神经网络模型对输入图像进行卷积和下采样以获得输出图像;属性集合确定模块,被配置为使用神经网络模型确定输出图像中的每个像素点的属性集合;以及角点和车位线确定模块,被配置为基于每个像素点的属性集合,确定目标车位的角点和车位线。
在一些实施例中,其中属性集合确定模块可以包括:第一属性集合确定模块,被配置为使用神经网络模型确定输出图像中的每个像素点的第一属性集合,其中第一属性集合包括空车位概率、中心点位置、以及中心点相对于四个角点的偏移量;以及第二属性集合确定模块,被配置为使用神经网络模型确定输出图像中的每个像素点的第二属性集合,其中第二属性集合包括像素点位于第一条长车位线上的概率和像素点位于第二条长车位线上的概率。
在一些实施例中,其中角点和车位线确定模块可以包括:像素点确定模块,被配置为确定输出图像中空车位概率最大的一个像素点;以及角点位置确定模块,被配置为基于空车位概率最大的一个像素点的第一属性集合,确定目标车位的角点的位置。
在一些实施例中,其中角点和车位线确定模块可以包括:第一条长车位线确定模块,被配置为基于输出图像中像素点位于第一条长车位线上的概率大于第一概率阈值的像素点,确定第一条长车位线;以及第二条长车位线确定模块,被配置为基于输出图像中像素点位于第二条长车位线上的概率大于第二概率阈值的像素点,确定第二条长车位线。
此外,在本公开的一些实施例中,可以将上述多种车位感知功能(例如角点检测、空车位判断、车位线检测)融合到一个轻量神经网络模型当中,使得能够实时地完成车位的相关感知功能,而不需要另外设计障碍物检测模型(传统模型一般耗时较长)来辅助完成空车位判断。此外,从模型结构可以看出,当检测到图像中某一个位置上空车位的概率大于一个阈值,即可方便地获得对应的车位四个角点的准确位置信息(在特征图中,这些信息被绑定在了同一个向量里),因此省去了先检测角点,再做聚类的冗余操作,保证每一个车位信息都是完整的。而相对于矩形框的表示形式,角点坐标的表示形式能够准确刻画车位的位置及朝向。此外,车位线检测作为一个附加的感知模块,其稳定性及准确性大大提高了车辆在自主泊车过程中入库的位置精度,进一步保障车辆不发生停偏的现象。
应当理解,本公开的实施例的车位检测方法可以在车辆处被实现,也可以在远程服务器或者云中被实现,或者部分被实现在车辆本地并且部分被实现在远程服务器中。
图13示出了可以用来实施本公开的实施例的示例设备1300的示意性框图。应当理解,设备1300可以用于实现本公开所描述的用于检测车位的装置700和1200。如图所示,设备1300包括中央处理单元(CPU)1301,其可以根据存储在只读存储器(ROM)1302中的计算机程序指令或者从存储单元1308加载到随机访问存储器(RAM)1303中的计算机程序指令,来执行各种适当的动作和处理。在RAM 1303中,还可存储设备1300操作所需的各种程序和数据。CPU 1301、ROM 1302以及RAM 1303通过总线1304彼此相连。输入/输出(I/O)接口1305也连接至总线1304。
设备1300中的多个部件连接至I/O接口1305,包括:输入单元1306,例如键盘、鼠标等;输出单元1307,例如各种类型的显示器、扬声器等;存储单元1308,例如磁盘、光盘等;以及通信单元1309,例如网卡、调制解调器、无线通信收发机等。通信单元1309允许设备1300通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
处理单元1301执行上文所描述的各个方法和过程,例如方法200、500和800。例如,在一些实施例中,方法200、500和800可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元1308。在一些实施例中,计算机程序的部分或者全部可以经由ROM1302和/或通信单元1309而被载入和/或安装到设备1300上。当计算机程序加载到RAM 1303并由CPU 1301执行时,可以执行上文描述的方法200、500和800的一个或多个动作或步骤。备选地,在其他实施例中,CPU 1301可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行本公开的实施例的各种方法。
应当理解,根据本公开的实施例的车辆可以包括根据图13所示出的设备1300。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD),等等。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
本文所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
此外,虽然采用特定次序描绘了各动作或步骤,但是这应当理解为要求这样动作或步骤以所示出的特定次序或以顺序次序执行,或者要求所有图示的动作或步骤应被执行以取得期望的结果。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实现中。相反地,在单个实现的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实现中。
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本公开的实施例,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。
Claims (17)
1.一种用于检测车位的方法,包括:
获得呈现待检测的目标车位的输入图像;
基于所述输入图像,检测所述目标车位的角点和车位线;以及
基于检测到的所述车位线,修正检测到的所述角点的位置;
其中检测所述目标车位的角点和车位线包括:
检测所述目标车位的长车位线的内边线上的点集,所述目标车位包括两条长车位线和两条短车位线;以及
在世界坐标系中通过对每条长车位线上检测到的点集进行直线拟合,来生成两条直线;
其中修正检测到的所述角点的位置包括:
在所述世界坐标系中将检测到的每个角点分别投影到所生成的两条直线中的较近直线上;
在所述世界坐标系中将每个角点在较近直线上的投影点确定为新的角点;以及
基于所述新的角点,确定所述目标车位的位置。
2.根据权利要求1所述的方法,其中获得呈现待检测的目标车位的输入图像包括:
根据在自主泊车的空车位寻找阶段确定所述目标车位为空车位,进入自主泊车的入库阶段并通过车辆的图像采集装置来捕获所述输入图像。
3.根据权利要求1所述的方法,所述角点和所述车位线由神经网络模型基于所述输入图像来确定,所述方法还包括:
获得标注有每个车位的四个角点的第一训练图像以及标注有每个车位的两条长车位线的第二训练图像;以及
使用所述第一训练图像和所述第二训练图像来联合训练所述神经网络模型。
4.根据权利要求3所述的方法,其中检测所述目标车位的角点和车位线包括:
使用所述神经网络模型对所述输入图像进行卷积和下采样以获得输出图像;
使用所述神经网络模型确定所述输出图像中的每个像素点的属性集合;以及
基于每个像素点的属性集合,确定所述目标车位的所述角点和所述车位线。
5.根据权利要求4所述的方法,其中使用所述神经网络模型确定所述输出图像中的每个像素点的属性集合包括:
使用所述神经网络模型确定所述输出图像中的每个像素点的第一属性集合,所述第一属性集合包括空车位概率、中心点位置、以及中心点相对于四个角点的偏移量;以及
使用所述神经网络模型确定所述输出图像中的每个像素点的第二属性集合,所述第二属性集合包括像素点位于第一条长车位线上的概率和像素点位于第二条长车位线上的概率。
6.根据权利要求5所述的方法,其中确定所述目标车位的所述角点和所述车位线包括:
确定所述输出图像中空车位概率最大的一个像素点;以及
基于空车位概率最大的一个像素点的第一属性集合,确定所述目标车位的所述角点的位置。
7.根据权利要求5所述的方法,其中确定所述目标车位的所述角点和所述车位线包括:
基于所述输出图像中像素点位于第一条长车位线上的概率大于第一概率阈值的像素点,确定所述第一条长车位线;以及
基于所述输出图像中像素点位于第二条长车位线上的概率大于第二概率阈值的像素点,确定所述第二条长车位线。
8.一种用于检测车位的装置,包括:
图像获得模块,被配置为获得呈现待检测的目标车位的输入图像;
角点和车位线检测模块,被配置为基于所述输入图像检测所述目标车位的角点和车位线;以及
角点修正模块,被配置为基于检测到的所述车位线,修正检测到的所述角点的位置;
其中所述角点和车位线检测模块包括:
点集检测模块,被配置为检测所述目标车位的长车位线的内边线上的点集,所述目标车位包括两条长车位线和两条短车位线;以及
直线拟合模块,被配置为在世界坐标系中通过对每条长车位线上检测到的点集进行直线拟合,来生成两条直线;
其中所述角点修正模块包括:
投影模块,被配置为在所述世界坐标系中将检测到的每个角点分别投影到所生成的两条直线中的较近直线上;
投影点确定模块,被配置为在所述世界坐标系中将每个角点在较近直线上的投影点确定为新的角点;以及
位置确定模块,被配置为基于所述新的角点,确定所述目标车位的位置。
9.根据权利要求8所述的装置,其中所述图像获得模块包括:
图像捕获模块,被配置为根据在自主泊车的空车位寻找阶段确定所述目标车位为空车位,进入自主泊车的入库阶段并通过车辆的图像采集装置来捕获所述输入图像。
10.根据权利要求8所述的装置,所述角点和车位线检测模块被包括在神经网络模型中,所述装置还包括:
训练图像获得模块,被配置为获得标注有每个车位的四个角点的第一训练图像以及标注有每个车位的两条长车位线的第二训练图像;以及
联合训练模块,被配置为使用所述第一训练图像和所述第二训练图像来联合训练所述神经网络模型。
11.根据权利要求10所述的装置,其中所述角点和车位线检测模块包括:
输出图像获得模块,被配置为使用所述神经网络模型对所述输入图像进行卷积和下采样以获得输出图像;
属性集合确定模块,被配置为使用所述神经网络模型确定所述输出图像中的每个像素点的属性集合;以及
角点和车位线确定模块,被配置为基于每个像素点的属性集合,确定所述目标车位的所述角点和所述车位线。
12.根据权利要求11所述的装置,其中所述属性集合确定模块包括:
第一属性集合确定模块,被配置为使用所述神经网络模型确定所述输出图像中的每个像素点的第一属性集合,所述第一属性集合包括空车位概率、中心点位置、以及中心点相对于四个角点的偏移量;以及
第二属性集合确定模块,被配置为使用所述神经网络模型确定所述输出图像中的每个像素点的第二属性集合,所述第二属性集合包括像素点位于第一条长车位线上的概率和像素点位于第二条长车位线上的概率。
13.根据权利要求12所述的装置,其中所述角点和车位线确定模块包括:
像素点确定模块,被配置为确定所述输出图像中空车位概率最大的一个像素点;以及
角点位置确定模块,被配置为基于空车位概率最大的一个像素点的第一属性集合,确定所述目标车位的所述角点的位置。
14.根据权利要求12所述的装置,其中所述角点和车位线确定模块包括:
第一条长车位线确定模块,被配置为基于所述输出图像中像素点位于第一条长车位线上的概率大于第一概率阈值的像素点,确定所述第一条长车位线;以及
第二条长车位线确定模块,被配置为基于所述输出图像中像素点位于第二条长车位线上的概率大于第二概率阈值的像素点,确定所述第二条长车位线。
15.一种电子设备,所述电子设备包括:
一个或多个处理器;以及
存储装置,用于存储一个或多个程序,所述一个或多个程序当被所述一个或多个处理器执行,使得所述电子设备实现根据权利要求1-7中任一项所述的方法。
16.一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现根据权利要求1-7中任一项所述的方法。
17.一种车辆,其包括根据权利要求15所述的电子设备。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911019213.8A CN110796063B (zh) | 2019-10-24 | 2019-10-24 | 用于检测车位的方法、装置、设备、存储介质以及车辆 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911019213.8A CN110796063B (zh) | 2019-10-24 | 2019-10-24 | 用于检测车位的方法、装置、设备、存储介质以及车辆 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110796063A CN110796063A (zh) | 2020-02-14 |
CN110796063B true CN110796063B (zh) | 2022-09-09 |
Family
ID=69441147
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911019213.8A Active CN110796063B (zh) | 2019-10-24 | 2019-10-24 | 用于检测车位的方法、装置、设备、存储介质以及车辆 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110796063B (zh) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111428616B (zh) * | 2020-03-20 | 2023-05-23 | 东软睿驰汽车技术(沈阳)有限公司 | 一种车位检测方法、装置、设备及存储介质 |
CN111862672B (zh) * | 2020-06-24 | 2021-11-23 | 北京易航远智科技有限公司 | 基于顶视图的停车场车辆自定位及地图构建方法 |
CN112201078B (zh) * | 2020-09-30 | 2021-08-10 | 中国人民解放军军事科学院国防科技创新研究院 | 一种基于图神经网络的自动泊车停车位检测方法 |
CN112598922B (zh) * | 2020-12-07 | 2023-03-21 | 安徽江淮汽车集团股份有限公司 | 车位检测方法、装置、设备及存储介质 |
CN112464934A (zh) * | 2020-12-08 | 2021-03-09 | 广州小鹏自动驾驶科技有限公司 | 一种车位号检测方法、装置和设备 |
CN112580508A (zh) * | 2020-12-18 | 2021-03-30 | 蔚来汽车科技(安徽)有限公司 | 停车位角点修正方法以及停车位角点修正系统、车辆 |
CN112836633A (zh) * | 2021-02-02 | 2021-05-25 | 蔚来汽车科技(安徽)有限公司 | 停车位检测方法以及停车位检测系统 |
CN113269795A (zh) * | 2021-06-03 | 2021-08-17 | 南京耘瞳科技有限公司 | 一种基于废钢车厢区域的识别方法 |
CN118609085A (zh) * | 2021-06-30 | 2024-09-06 | 北京纵目安驰智能科技有限公司 | 指示线的检测方法、系统、设备及计算机可读存储介质 |
CN113674199B (zh) * | 2021-07-06 | 2024-10-01 | 浙江大华技术股份有限公司 | 停车位检测方法、电子设备及存储介质 |
CN113903188B (zh) * | 2021-08-17 | 2022-12-06 | 浙江大华技术股份有限公司 | 车位检测方法、电子设备及计算机可读存储介质 |
CN113822179B (zh) * | 2021-09-06 | 2024-05-21 | 北京车和家信息技术有限公司 | 阻车器位置的检测方法、装置、电子设备和介质 |
CN113762272B (zh) * | 2021-09-10 | 2024-06-14 | 北京精英路通科技有限公司 | 道路信息的确定方法、装置和电子设备 |
CN114022501B (zh) * | 2021-10-28 | 2024-07-30 | 武汉中海庭数据技术有限公司 | 箭头角点自动化检测方法、系统、电子设备及存储介质 |
CN114116719B (zh) * | 2021-11-22 | 2024-10-01 | 武汉中海庭数据技术有限公司 | 一种车位关系识别方法、系统、电子设备及存储介质 |
CN114882733B (zh) * | 2022-03-15 | 2023-12-01 | 深圳市德驰微视技术有限公司 | 基于域控制器的停车位获取方法、电子设备及存储介质 |
CN115082893A (zh) * | 2022-06-07 | 2022-09-20 | 安徽蔚来智驾科技有限公司 | 车位检测方法、有效性判断方法、泊车方法、设备和介质 |
CN114926454B (zh) * | 2022-06-13 | 2023-03-24 | 镁佳(北京)科技有限公司 | 一种停车位检测方法及装置、电子设备 |
CN115206130B (zh) * | 2022-07-12 | 2023-07-18 | 合众新能源汽车股份有限公司 | 一种车位检测方法、系统、终端及存储介质 |
US12110009B2 (en) * | 2023-01-06 | 2024-10-08 | Valeo Schalter Und Sensoren Gmbh | Parking space detection method and system |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017193845A (ja) * | 2016-04-19 | 2017-10-26 | 日栄インテック株式会社 | 機械式駐車装置 |
CN110097776A (zh) * | 2018-01-30 | 2019-08-06 | 杭州海康威视数字技术股份有限公司 | 一种车位检测方法、监控摄像机及监控终端 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU2002217782A1 (en) * | 2000-11-21 | 2002-06-03 | L And P Property Management Company | Product display and dispensing system |
CA2707246C (en) * | 2009-07-07 | 2015-12-29 | Certusview Technologies, Llc | Automatic assessment of a productivity and/or a competence of a locate technician with respect to a locate and marking operation |
US8686875B2 (en) * | 2009-08-26 | 2014-04-01 | Mitsubishi Electric Corporation | Parking support device |
US10304335B2 (en) * | 2016-04-12 | 2019-05-28 | Ford Global Technologies, Llc | Detecting available parking spaces |
CN109859260B (zh) * | 2017-11-30 | 2021-02-12 | 华为技术有限公司 | 确定车位位置的方法、装置及计算机可读存储介质 |
CN109918977B (zh) * | 2017-12-13 | 2021-01-05 | 华为技术有限公司 | 确定空闲车位的方法、装置及设备 |
CN108090455B (zh) * | 2017-12-27 | 2023-08-22 | 北京纵目安驰智能科技有限公司 | 基于级联机制的车位线顶点定位方法、系统、终端及介质 |
CN108564814B (zh) * | 2018-06-06 | 2020-11-17 | 清华大学苏州汽车研究院(吴江) | 一种基于图像的停车场车位检测方法及装置 |
CN109685000A (zh) * | 2018-12-21 | 2019-04-26 | 广州小鹏汽车科技有限公司 | 一种基于视觉的车位检测方法及装置 |
CN109712427B (zh) * | 2019-01-03 | 2021-02-19 | 广州小鹏汽车科技有限公司 | 一种车位检测方法及装置 |
CN109649384B (zh) * | 2019-02-15 | 2020-08-14 | 华域汽车系统股份有限公司 | 一种泊车辅助方法 |
CN109871659B (zh) * | 2019-03-26 | 2023-04-18 | 北京经纬恒润科技股份有限公司 | 一种超声波雷达的仿真方法及系统 |
CN110348297B (zh) * | 2019-05-31 | 2023-12-26 | 纵目科技(上海)股份有限公司 | 一种用于识别立体停车库的检测方法、系统、终端和存储介质 |
CN110276287B (zh) * | 2019-06-17 | 2022-10-18 | 百度在线网络技术(北京)有限公司 | 车位检测方法、装置、计算机设备以及存储介质 |
-
2019
- 2019-10-24 CN CN201911019213.8A patent/CN110796063B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017193845A (ja) * | 2016-04-19 | 2017-10-26 | 日栄インテック株式会社 | 機械式駐車装置 |
CN110097776A (zh) * | 2018-01-30 | 2019-08-06 | 杭州海康威视数字技术股份有限公司 | 一种车位检测方法、监控摄像机及监控终端 |
Non-Patent Citations (4)
Title |
---|
"Research on parking detecting analysis based on projection transformation and Hough transform";Xuemei Yu 等;《Journal of Physics: Conference Series》;20190430;全文 * |
"Smartphone-Based Real Time Vehicle Tracking in Indoor Parking Structures";Ruipeng Gao 等;《IEEE》;20170317;全文 * |
"基于多视角视频的运动物体行为识别方法研究";于青青;《中国优秀博硕士学位论文全文数据库信息科技辑》;20180615;全文 * |
"基于机器视觉的车位状态检测研究";庄一玮;《中国优秀博硕士学位论文全文数据库工程科技辑》;20180215;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN110796063A (zh) | 2020-02-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110796063B (zh) | 用于检测车位的方法、装置、设备、存储介质以及车辆 | |
CN110969655B (zh) | 用于检测车位的方法、装置、设备、存储介质以及车辆 | |
EP3732657B1 (en) | Vehicle localization | |
CN111238494B (zh) | 载具、载具定位系统及载具定位方法 | |
EP4036870A1 (en) | Parking spot detection method and parking spot detection system | |
US11120280B2 (en) | Geometry-aware instance segmentation in stereo image capture processes | |
Shim et al. | An autonomous driving system for unknown environments using a unified map | |
WO2020150904A1 (en) | Neural network based obstacle detection for mobile platforms, and associated systems and methods | |
CN113561963B (zh) | 一种泊车方法、装置及车辆 | |
US11157753B2 (en) | Road line detection device and road line detection method | |
Miyamoto et al. | Visual navigation based on semantic segmentation using only a monocular camera as an external sensor | |
US11335099B2 (en) | Proceedable direction detection apparatus and proceedable direction detection method | |
JP6856855B2 (ja) | それ自体によって生成された情報及び他の個体によって生成された情報を選択的に利用してカメラの誤整列を補正する方法及びこれを利用した装置 | |
TWI604980B (zh) | 載具控制系統及載具控制方法 | |
CN112378397A (zh) | 无人机跟踪目标的方法、装置及无人机 | |
CN112380933A (zh) | 无人机识别目标的方法、装置及无人机 | |
US20210272289A1 (en) | Sky determination in environment detection for mobile platforms, and associated systems and methods | |
CN114115214A (zh) | 一种基于视觉的农机驾驶方法、系统、设备及存储介质 | |
CN116681733A (zh) | 一种空间非合作目标近距离实时位姿跟踪方法 | |
CN116403186A (zh) | 基于FPN Swin Transformer与Pointnet++ 的自动驾驶三维目标检测方法 | |
CN115640832A (zh) | 对象姿态估计 | |
JP2024527491A (ja) | 自動運転および/または支援運転のための駆動装置、車両、および方法 | |
Bera et al. | Vision based autonomous quadcopter navigation through narrow gaps using visual servoing and monocular SLAM | |
CN116868239A (zh) | 静态占用跟踪 | |
CN113673462A (zh) | 一种基于车道线的物流agv定位方法 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |