CN109740584B - 基于深度学习的自动泊车停车位检测方法 - Google Patents
基于深度学习的自动泊车停车位检测方法 Download PDFInfo
- Publication number
- CN109740584B CN109740584B CN201910259741.4A CN201910259741A CN109740584B CN 109740584 B CN109740584 B CN 109740584B CN 201910259741 A CN201910259741 A CN 201910259741A CN 109740584 B CN109740584 B CN 109740584B
- Authority
- CN
- China
- Prior art keywords
- point
- template
- cost
- top view
- deep learning
- 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
Landscapes
- Image Analysis (AREA)
Abstract
本发明涉及自动驾驶技术领域,具体来说是一种基于深度学习的自动泊车停车位检测方法,将基于深度学习获得损失函数与基于模板匹配获得的模板的代价函数求和以获得总的代价函数,以对于任一模型的概率最大的点所处的位置作为初值对总的代价函数进行搜索以获得停车位位置。本发明同现有技术相比优点在于:本方法结合了模板匹配和深度学习来进行图像中的停车位检测,不仅在光照条件比较好以及拼接效果比较好的情况下有效,而且在光源非常复杂、路面反光、停车位含有干扰以及拼接俯视图不够准确等条件下能够实现比较鲁棒和精确的停车位检测;距离变换和Canny边缘检测的计算复杂度很低,计算量很小,能够在嵌入式平台上实时运行,从而具有直接的应用价值。
Description
技术领域
本发明涉及自动驾驶技术领域,具体来说是一种基于深度学习的自动泊车停车位检测方法。
背景技术
NHTSA将无人驾驶技术分为6个等级,分别是0-5,其中L0为全人工控制的一般车辆,L1级别又称辅助驾驶,可以实现简单的加减速,L2级别又称部分自动驾驶,可以实现L1级别的所有内容的同时还能实现自动泊车,而L4、L5级别都能实现全自动驾驶,区别在于L4级别只能在特定的道路和天气下实现全自动驾驶而L5级别可以适应全地形和全气候。基于视觉的自动泊车是无人驾驶的重要应用,由于在倒车过程中视觉容易受到干扰,比如光线干扰、下水道栅栏等干扰,导致在倒车过程中基于视觉的停车位检测不够鲁棒。现有技术中,例如我国专利公开号:CN109086708A公开了一种基于深度学习来进行停车位检测的方法,但是,单独地使用深度学习的方法来进行停车位的检测,在很多场景下都不够准确,并且在光源比较复杂以及路面反光等情况下容易产生错误的检测结果。而我国专利公开号CN105160322A公开了一种基于航拍图像的室外停车场空置停车位识别方法,通过模板匹配实现车位识别,但鲁棒性仍旧不高,计算量较大。因此,需要在现有技术的基础上,提供一种将模板匹配与深度学习相结合的车位识别方法。
发明内容
本发明的目的在于解决现有技术的不足,提供一种基于深度学习的自动泊车停车位检测方法,将模版匹配和深度学习相结合,提高车位检测的鲁棒性。
为了实现上述目的,设计一种基于深度学习的自动泊车停车位检测方法,所述的方法具体如下:步骤a.获得车辆所处的位置的俯视图;步骤b.采用深度神经网络进行训练并获得至少一个模型,并通过模型获得俯视图的图像中每个点相对于该模型的概率,再通过每个点相对于该模型的概率获得每个点相对于该模型的损失函数;步骤c.对于车辆所处的初始位置的俯视图,基于模板匹配进行停车位检测,并获得模板的代价函数;步骤d.将基于深度学习获得损失函数与基于模板匹配获得的模板的代价函数求和以获得总的代价函数,以对于任一模型的概率最大的点所处的位置作为初值对总的代价函数进行搜索以获得停车位位置。
本发明还具有如下优选的技术方案:
所述的步骤b包括如下步骤:通过深度学习训练得到至少一个模型后,通过每个模型分别预测图像上每个点相对于该模型的概率p_n,p_n是指某点对于第n个模型的概率,并进而得到每个点相对于该模型的损失函数L_n,n为正整数,某一图像中每个点相对于各个模型的损失函数L_n的和为该图像的损失函数L_dl。
所述的步骤c包括如下步骤:步骤c1.加载停车位模板,并识别出停车位模板中停车位边缘线上的点p1、p2……pn;步骤c2. 对于车辆所处的位置的俯视图,通过Canny边缘检测算法检测出俯视图的边缘,并计算俯视图中所对应的代价图,代价图是指每个点的代价函数的值,定义俯视图中每一个点的代价函数为该点到边缘的距离,点到边缘的距离是指该点到最近的属于边缘的点的距离;步骤c3. 对车辆所处的初始位置附近的汽车位姿进行搜索,搜索过程中首先通过位姿变换把模板中的点变换到当前的俯视图中,然后把模板中的所有点在步骤c2中生成的俯视图中对应的代价函数进行求和,以获得某个位姿对应的模板在当前的俯视图距离变换后的代价函数,模板的代价函数定义为模板中的各个点在代价图中的值的和:L_template = cost(p1)+cost(p2)+cost(p3)+…+cost(pn)。
所述的步骤c3包括:假设模板中的点的横纵坐标为x0和y0,位姿变换对应的旋转角度为theta,位姿变换对应的平移量的横纵坐标为x和y,那么经过位姿变换后的横纵坐标为:x0*cos(theta)+y0*sin(theta)+x,纵坐标为:x0*sin(theta)+y0*cos(theta)+y。
每一幅图像的概率函数L_total = L_template + L_dl,若图像的概率函数的值达到设定值,则认为该图像中包含停车位。
所述的步骤a包括:通过环境中事先设置的标志物对车辆所处的位置进行预估,并获得车辆所处位置的俯视图。
优选地,能通过车辆周围设置的鱼眼相机获得车辆所处位置的俯视图。
本发明同现有技术相比,其优点在于:本方法结合了模板匹配策略和深度学习来进行图像中的停车位检测,不仅在光照条件比较好以及拼接效果比较好的情况下有效,而且在光源非常复杂、路面反光、停车位含有干扰以及拼接俯视图不够准确等条件下能够实现比较鲁棒和精确的停车位检测;同时,因为距离变换和Canny边缘检测的计算复杂度很低,本方法的计算量很小,能够在嵌入式平台上实时运行,从而具有直接的应用价值。
附图说明
图1是一实施方式中空停车位模板的示意图。
具体实施方式
下面结合附图对本发明作进一步说明,这种方法的原理对本专业的人来说是非常清楚的。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本实施方式中,所述的停车位检测方法包括如下步骤,其中基于深度学习的步骤和和基于模板匹配的步骤的先后顺序并无要求:
1)初始位置预估:
在环境中放置一个标志物,这样通过标志物在图像中的位置可以大概获得汽车在环境中的初始位姿,这样有利于缩小后续模板匹配的范围,也有利于筛除深度学习的错误检测结果。在自动泊车的整体流程中,初始的位置也可以用三维点云的定位结果提供,试验的时候也可以手动输入初始位置。
2)基于深度学习的损失函数:
为了提高停车位检测的鲁棒性,本实施方式创新提出基于深度学习的停车位置检测,可以克服复杂场景,提高系统的鲁棒性。并且,采用模板匹配的检测停车位的方法一般需要一个初始值,这个初值用来缩小搜索范围以及减少计算量。而采用深度学习的车位检测不需要初值,所以可以把基于深度学习的检测和模板匹配方法结合起来,这样深度学习的结果不仅可以给模板匹配提供初始值,并且通过把深度学习的结果和模板匹配结合起来,可以大大提高模板匹配的结果。为了获得停车位的概率图,首先需要进行数据的标注,也就构造了训练数据,采用深度神经网络进行训练获得模型。获得了模型后,对于每一帧图像,均可以用训练好的模型获得该帧图像的概率图。
本实施方式中,以停车位角点为例,为了得到基于深度学习的损失函数,需要对停车位角点进行标注,使用深度学习的方法训练之后,得到检测停车位角点的模型,在预测的时候,可以得到图片上每个点的属于停车位角点的概率p_corner,也即停车位角点的概率图。那么停车位角点损失函数L_corner = 1 - p_corner。
同理,本实施方式中还采用停车线的模型作为第二个模型,我们可以得到检测停车线的深度学习模型,在预测的时候,可以得到图片上每个点的属于停车位线的概率p_line。那么停车线损失函数L_line = 1 - p_line。
由此得到,该图像的损失函数L_dl = L_corner + L_line。
3)以对于深度学习中某一个模型的概率最大的点所处的位置作为初值位置,进行停车位模版匹配:
在通过深度学习获得初值位置之后,根据汽车在地图中的初值位置以及停车位在地图中的可能位置,在可能的停车位附近进行模板匹配,通过模板匹配的结果来检测停车位,从而获得比较准确的停车位检测结果,具体步骤分为以下三步。
3.1) 加载停车位的模板:
不同类型的停车位可以用不同的模板,一个典型的停车位如图1所示。把这样一个模板加载到程序中,程序识别出模板中的边缘线上的点,这些点记为p1,p2...pn,n为正整数。在后续的搜索过程中对这些点的代价函数求和以获得整个模板的代价函数。
3.2) 获得俯视图及俯视图对应的代价图:
获得汽车位置的俯视图,可以通过多种方法实现,例如通过预先标定的外参,可以对汽车周围的鱼眼相机进行拼接,获得俯视图。而后通过Canny边缘检测算法检测出俯视图的边缘。通过检测出来的边缘,可以定义原图中每一个点的代价函数,该点的代价函数定义为该点到最近的属于边缘的点的距离,这样我们就可以获得当前帧的俯视图对应的代价图了,代价图记为cost。
在计算当前俯视图对应的代价图时,使用了距离变换算法。距离变换算法是一种采用类似于动态规划的算法,通过两轮对图像的扫描,就可以获得距离变换结果。距离变换中定义当前俯视图中的各个像素的代价为该像素到最近的边缘的距离,初始化的时候设置各个边缘点上的代价函数为0,对图像首先进行一次从左上角到右下角的扫描,再进行一次从右下角到左上角的扫描,就能获得各个点的距离变换后的代价函数,进行两次扫描的原因是第一次扫描通常只能获得各个像素点与其左上角的边缘的最近距离,所以需要进行第二次扫描来获得各个像素点离四周(而不仅仅是左上角)的最近的边缘的距离,在扫描过程中,各个像素点的代价函数定义为该像素点的四周的像素点中的代价函数中的最小值再加上1,也即每个像素点的代价函数恰好比周边的像素点的代价函数的最小值大1。
3.3 )构造模板匹配的代价函数:
通过上述两步,我们获得了模板和距离变换结果,在已经获得汽车初始位置的情况下,可以对初始位置的汽车位姿进行搜索。搜索过程中首先通过位姿把模板中的点变换到当前图像中,然后把模板中的所有点在步骤3.2中生成的俯视图的代价图中对应的代价函数进行求和,即可获得某个位姿对应的模板在当前的俯视图距离变换后的代价函数。其中通过位姿把模板中的点变换到当前图像的过程就是对原来模板中的点的旋转和平移过程,假设位姿对应的旋转角度为theta,对应的平移量的横纵坐标为x和y,假设原来的模板中的点的横纵坐标为x0和y0,那么经过位姿变换后的横纵坐标分别为x0*cos(theta)+y0*sin(theta)+x和x0*sin(theta)+y0*cos(theta)+y。而模板的代价函数定义如下式所示,也就是模板的各个点在代价图中的值的和:
L_template = cost(p1)+cost(p2)+cost(p3)+…+cost(pn)。
4)得出检测结果:
在获得了深度学习的损失函数和模板的代价函数之后,把这两个函数求和,从而得到总的代价函数。本实施方式中通过对停车位角点的概率图进行非极大抑制,也即寻找局部的停车位角点的最大概率值,可以获得停车位的初始搜索位置。把获得的初始搜索位置作为初值位置在这个总的代价函数中进行搜索,就可以获得最小的代价函数以及最小的代价函数对应的停车位信息。
Claims (8)
1.一种基于深度学习的自动泊车停车位检测方法,其特征在于所述的方法具体如下:
步骤a.获得车辆所处的位置的俯视图;
步骤b.采用深度神经网络进行训练并获得至少一个模型,并通过模型获得俯视图的图像中每个点相对于该模型的概率,再通过每个点相对于该模型的概率获得每个点相对于该模型的损失函数;
步骤c.对于车辆所处的位置的俯视图,基于模板匹配进行停车位检测,并获得模板的代价函数;
步骤d.将基于深度学习获得的损失函数与基于模板匹配获得的模板的代价函数求和以获得总的代价函数,以对于任一模型的概率最大的点所处的位置作为初值对总的代价函数进行搜索以获得停车位位置。
2.如权利要求1所述的基于深度学习的自动泊车停车位检测方法,其特征在于所述的步骤b包括如下步骤:通过深度学习训练得到至少一个模型后,通过每个模型分别预测图像上每个点相对于该模型的概率p_n,p_n是指某点对于第n个模型的概率,并进而得到每个点相对于该模型的损失函数L_n=1-p_n,n为正整数,某一图像中每个点相对于各个模型的损失函数L_n的和为该图像的损失函数L_dl。
3.如权利要求2所述的基于深度学习的自动泊车停车位检测方法,其特征在于所述的步骤c包括如下步骤:
步骤c1.加载停车位模板,并识别出停车位模板中停车位边缘线上的点p1、p2……pn;
步骤c2. 对于车辆所处的位置的俯视图,通过Canny边缘检测算法检测出俯视图的边缘,并计算俯视图中所对应的代价图,代价图是指每个点的代价函数的值,定义俯视图中每一个点的代价函数为该点到边缘的距离,点到边缘的距离是指该点到最近的属于边缘的点的距离;
步骤c3. 对车辆所处的位置附近的汽车位姿进行搜索,搜索过程中首先通过位姿变换把模板中的点变换到当前的俯视图中,然后把模板中的所有点在步骤c2中生成的俯视图中对应的代价函数进行求和,以获得某个位姿对应的模板在当前的俯视图距离变换后的代价函数,模板的代价函数定义为模板中的各个点在代价图中的值的和:
L_template = cost(p1)+cost(p2)+cost(p3)+…+cost(pn)。
4.如权利要求3所述的基于深度学习的自动泊车停车位检测方法,其特征在于所述的步骤c2包括:通过距离变换计算俯视图对应的代价图,定义俯视图中的各个像素的代价为该像素到最近的边缘的距离,并初始化设置各个边缘点上的代价函数为0,对图像首先进行一次从左上角到右下角的扫描,再进行一次从右下角到左上角的扫描,以获得各个点的距离变换后的代价函数,在扫描过程中,各个像素点的代价函数定义为该像素点的周边的像素点中的代价函数中的最小值再加上1,也即每个像素点的代价函数恰好比周边的像素点的代价函数的最小值大1。
5.如权利要求3所述的基于深度学习的自动泊车停车位检测方法,其特征在于所述的步骤c3包括:假设模板中的点的横纵坐标为x0和y0,位姿变换对应的旋转角度为theta,位姿变换对应的平移量的横纵坐标为x和y,那么经过位姿变换后的横坐标为:x0*cos(theta)+y0*sin(theta)+x,纵坐标为:x0*sin(theta)+y0*cos(theta)+y。
6.如权利要求3所述的基于深度学习的自动泊车停车位检测方法,其特征在于每一幅图像的总的代价函数L_total = L_template + L_dl。
7.如权利要求1所述的基于深度学习的自动泊车停车位检测方法,其特征在于所述的步骤a包括:通过环境中事先设置的标志物对车辆所处的位置进行预估,并获得车辆所处位置的俯视图。
8.如权利要求1或7所述的基于深度学习的自动泊车停车位检测方法,其特征在于通过车辆周围设置的鱼眼相机获得车辆所处位置的俯视图。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910259741.4A CN109740584B (zh) | 2019-04-02 | 2019-04-02 | 基于深度学习的自动泊车停车位检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910259741.4A CN109740584B (zh) | 2019-04-02 | 2019-04-02 | 基于深度学习的自动泊车停车位检测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109740584A CN109740584A (zh) | 2019-05-10 |
CN109740584B true CN109740584B (zh) | 2019-06-25 |
Family
ID=66371408
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910259741.4A Active CN109740584B (zh) | 2019-04-02 | 2019-04-02 | 基于深度学习的自动泊车停车位检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109740584B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108090435B (zh) * | 2017-12-13 | 2022-01-25 | 深圳市航盛电子股份有限公司 | 一种可停车区域识别方法、系统及介质 |
CN110706509B (zh) * | 2019-10-12 | 2021-06-18 | 东软睿驰汽车技术(沈阳)有限公司 | 车位及其方向角度检测方法、装置、设备及介质 |
CN110766979A (zh) * | 2019-11-13 | 2020-02-07 | 奥特酷智能科技(南京)有限公司 | 一种用于自动驾驶车辆的泊车车位检测方法 |
CN111428616B (zh) * | 2020-03-20 | 2023-05-23 | 东软睿驰汽车技术(沈阳)有限公司 | 一种车位检测方法、装置、设备及存储介质 |
CN113409194B (zh) * | 2021-06-30 | 2024-03-22 | 上海汽车集团股份有限公司 | 泊车信息获取方法及装置、泊车方法及装置 |
CN116229426B (zh) * | 2023-05-09 | 2023-07-21 | 华东交通大学 | 基于全景环视图像的无人驾驶泊车停车位检测方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105160322A (zh) * | 2015-09-07 | 2015-12-16 | 北京航空航天大学 | 基于航拍图像的室外停车场空置停车位识别方法 |
US10066954B1 (en) * | 2017-09-29 | 2018-09-04 | Spotify Ab | Parking suggestions |
CN109086708A (zh) * | 2018-07-25 | 2018-12-25 | 深圳大学 | 一种基于深度学习的停车位检测方法及系统 |
CN109435942A (zh) * | 2018-10-31 | 2019-03-08 | 合肥工业大学 | 一种基于信息融合的车位线车位识别方法及装置 |
-
2019
- 2019-04-02 CN CN201910259741.4A patent/CN109740584B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105160322A (zh) * | 2015-09-07 | 2015-12-16 | 北京航空航天大学 | 基于航拍图像的室外停车场空置停车位识别方法 |
US10066954B1 (en) * | 2017-09-29 | 2018-09-04 | Spotify Ab | Parking suggestions |
CN109086708A (zh) * | 2018-07-25 | 2018-12-25 | 深圳大学 | 一种基于深度学习的停车位检测方法及系统 |
CN109435942A (zh) * | 2018-10-31 | 2019-03-08 | 合肥工业大学 | 一种基于信息融合的车位线车位识别方法及装置 |
Non-Patent Citations (1)
Title |
---|
一种基于环视系统的车位检测方法;王晋疆 等;《分析仪器》;20190131(第1期);第71-77页 |
Also Published As
Publication number | Publication date |
---|---|
CN109740584A (zh) | 2019-05-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109740584B (zh) | 基于深度学习的自动泊车停车位检测方法 | |
US10970566B2 (en) | Lane line detection method and apparatus | |
CN106340044B (zh) | 摄像机外参自动标定方法及标定装置 | |
Hu et al. | A multi-modal system for road detection and segmentation | |
CN112184818A (zh) | 基于视觉的车辆定位方法及应用其方法的停车场管理系统 | |
EP3876189A1 (en) | Geographic object detection device, geographic object detection method, and geographic object detection program | |
CN106096607A (zh) | 一种车牌识别方法 | |
US20170263139A1 (en) | Machine vision-based method and system for aircraft docking guidance and aircraft type identification | |
CN103770704A (zh) | 用于识别车辆的停车位标志线的系统和方法 | |
CN110119698A (zh) | 用于确定对象状态的方法、装置、设备和存储介质 | |
Jang et al. | Semantic segmentation-based parking space detection with standalone around view monitoring system | |
JP2018063680A (ja) | 交通信号認識方法および交通信号認識装置 | |
CN108932477A (zh) | 一种巡检机器人充电房视觉定位方法 | |
CN107194343B (zh) | 基于位置相关的卷积与Fire模型的红绿灯检测方法 | |
Aeschliman et al. | Tracking vehicles through shadows and occlusions in wide-area aerial video | |
CN102243705A (zh) | 基于边缘检测的车牌定位方法 | |
Tian et al. | Road marking detection based on mask R-CNN instance segmentation model | |
CN113343875A (zh) | 一种用于机器人的可行驶区域感知方法 | |
Bu et al. | A UAV photography–based detection method for defective road marking | |
CN116740758A (zh) | 一种防止误判的鸟类图像识别方法及系统 | |
Sun et al. | Geographic, geometrical and semantic reconstruction of urban scene from high resolution oblique aerial images. | |
Guo et al. | Visibility detection approach to road scene foggy images | |
CN105631849A (zh) | 多边形目标的变化检测方法及装置 | |
CN116188470A (zh) | 一种基于无人机航拍识别的故障定位方法和系统 | |
JPH08255245A (ja) | ランドマーク認識装置およびランドマーク認識方法 |
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 |