一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

车位检测方法及存储介质与流程

2021-08-27 13:35:00 来源:中国专利 TAG:车位 检测方法 检测 存储介质
车位检测方法及存储介质与流程

本发明涉及车位检测领域,更具体地,涉及一种车位检测方法及存储介质。



背景技术:

自动泊车技术是通过在车辆上安装超声波雷达和avm摄像头来识别泊车环境和泊车位的位姿信息,然后计算出一条符合车辆运动学的泊车轨迹,最后控制车辆按泊车轨迹行驶,完成自动泊车功能。

目前的自动泊车感知模块主要包括使用超声波雷达和avm摄像头的数据进行感知融合,得到车位信息。这些方法对场景的限制较少,但是同时存在计算量大、耗时长、难度大,识别出的车位精度过低等问题。这些方法都必须依赖超声波雷达和avm摄像头,如果有一个出现问题,可能会导致功能失效。



技术实现要素:

为了解决上述问题,本发明实施例提供一种克服上述问题或者至少部分地解决上述问题的车位检测方法及存储介质。

根据本发明实施例的第一方面,提供一种车位检测方法,该方法包括:基于avm摄像头中的单目鱼眼相机采集车位图像;将所述车位图像转换为俯视图;其中,所述俯视图上任意一点与图像原点之间的像素距离与所述任意一点与所述摄像头之间的实际距离呈设定比例;基于所述俯视图,对车位进行检测。

根据本发明实施例的第二方面,提供了一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第一方面的各种可能的实现方式中任一种可能的实现方式所提供的车位检测方法。

本发明实施例提供的车位检测方法,具有如下技术效果:1、采用的是avm环视鱼眼相机,不需要为了识别车位新增别的rgb相机;2、使用自适应的图像处理算法可以适用于水平和垂直车位,晴天和雨天等不同天气,车位线不清晰,对比度不高等不同场景;3、线段处理算法,具备逻辑简单,计算量小,速度快等优点;4、实现了单目鱼眼相机测距,能保证精度在10cm以内。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些图获得其他的附图。

图1为本发明实施例提供的线段实例图;

图2为本发明实施例提供的线段实例图;

图3为本发明实施例提供的线段实例图;

图4为本发明实施例提供的线段实例图;

图5为本发明实施例提供的对比高的场景图;

图6为本发明实施例提供的车位线不清晰对比度不高的场景图;

图7为本发明实施例提供的雨天水平车位的场景图;

图8为本发明实施例提供的雨天三个垂直车位的场景图;

图9为本发明实施例提供的车位检测方法的流程示意图;

图10为本发明实施例提供的电子设备的实体结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施例属于智能驾驶领域中的自动泊车范畴。主要是实现自动泊车的纯视觉车位识别功能。自动泊车的目的提高泊车的方便性,为驾驶员提供安全舒适且快捷的泊车服务,降低驾驶员泊车的难度。

针对现有技术中存在的上述问题,本发明实施例提供一种车位检测方法,该方法通过工控机取出单目鱼眼摄像头的数据,将数据进行拼接生成一张图片,然后对图片做图像处理和线段处理算法,然后通过坐标转换输出车位四个角点对于车后轴中心的距离。该方法解决了依赖超声波雷达的车位识别问题,只用avm摄像头中的一个鱼眼相机识别车位,不依赖超声波雷达,识别精度达到10cm以内,可以识别t型,u型,矩形的水平车位和垂直车位,计算量小等优点。参见附图9,该方法包括但不限于如下步骤:

步骤101、基于avm摄像头中的单目鱼眼相机采集车位图像。

基于所述车位图像,计算车位点与车之间的相对距离之前,还包括:对所述车位图像进行去畸变处理。

具体地,本步骤为第1步,根据单目鱼眼相机拍摄的原图去畸变处理。

由于采用的是鱼眼相机,虽然视角能达到180度,但是原始图像的畸变十分严重,所以第一步需要将鱼眼相机得到的原始图像进行去畸变处理。

步骤102、将所述车位图像转换为俯视图;其中,所述俯视图上任意一点与图像原点之间的像素距离与所述任意一点与所述摄像头之间的实际距离呈设定比例。

基于上述实施例的内容,作为一种可选实施例,将所述车位图像,转换为俯视图,包括:通过所述车位图像上的棋盘格的四个角点和目标图片上的棋盘格的四个角点,计算投影矩阵;基于所述投影矩阵,将所述车位图像转化成第一尺寸的俯视图。

基于上述实施例的内容,作为一种可选实施例,通过所述车位图像上的棋盘格的四个角点与目标图片上的棋盘格的四个角点,计算投影矩阵之前,还包括:设置所述摄像头的位置,以使所述车位图像的下边界与车的侧边平行;采用所述摄像头拍摄第二尺寸的与所述车的侧边平行的棋盘格,并测量所述棋盘格的四个点距离所述摄像头的距离;定义第一尺寸的所述目标图片,且假定所述摄像头的原点位于所述目标图片的预定坐标上,所述棋盘格的四个角点距离所述摄像头的实际距离按所述设定比例;获得所述目标图片上四个角点。

具体地,本步骤为第2步,即采用单目鱼眼相机进行测距。

因为检测车位需要知道车位4个点对于车的相对距离,目前单目鱼眼相机测距算法的误差都非常大,于是本发明实施例针对单目鱼眼相机测距提出一个创新的新方法。

首先保证相机安装位置,要求相机图像的下边界与车侧边平行,用相机拍摄一个1mx1m(即第二尺寸)与车侧边平行的棋盘格,量出棋盘格4个点距离相机的距离,定义一个900x900(即第一尺寸)的目标图片,假定相机原点在目标图片上的(450,900),棋盘格4个角点距离相机的实际距离按1cm=一个像素的比例,得到目标图片上的4个角点。然后通过去完畸变后图像上棋盘格的4个角点和目标图片上棋盘格的4个角点计算出一个投影矩阵,通过计算出的投影矩阵可以将去畸变后的图像转化成一张900x900的俯视图。俯视图上的任意一点距离(450,900)的像素距离就是俯视图上这一点的距离相机的实际距离单位是(cm)。

步骤103、基于所述俯视图,对车位进行检测。

基于上述实施例的内容,作为一种可选实施例,基于所述俯视图,对车位进行检测,包括:对所述俯视图依次进行自适应直方图(增加对比度)、灰度化、自适应二值化和形态学处理;在对俯视图依次执行上述四种处理后,检测所述俯视图中的轮廓,并去除包含的点的个数小于设定值的轮廓;通过直线检测获得所有线段。

具体地,本步骤为第3步,对转换后的俯视图做图像处理。

图像处理用到的算法大多都是自适应,针对车位线和地面对比度不够的情况也做了对应处理,对canny检测的结果有创新的降噪方法。具体可包括如下步骤:

3.1、将图片灰度化。

3.2、根据车位线跟地面的对比度确认是否使用自适应直方图。

3.3、将灰度后的图片使用自适应二值化。

3.4、将二值化的图片进行形态学处理,开运算,闭运算,起到降噪和平滑的作用。

3.5、使用自适应的canny算法,检测出所有的轮廓,将图片20像素的外边界裁剪。然后计算每一个轮廓包含点的个数,个数小于某个阈值(200)就舍弃。

3.6、使用霍夫直线检测得到基于canny检测的图片检测出来的所有线段。

基于上述实施例的内容,作为一种可选实施例,通过直线检测获得所有线段之后,还包括:区分所述所有线段中的水平线和垂直线;将所述水平线和所述垂直线进行分组,对分好组的线段进行拟合,并对拟合后的线段进行筛选;查找能够组成车位长边的一对线段、能够组成车位宽度的一对线段以及能够组成车位线的一对线段;基于查找到的所述线段获得检测出的车位。

基于上述实施例的内容,作为一种可选实施例,将所述水平线和所述垂直线进行分组,包括:计算两根所述线段之间的距离和角度;其中,两根所述线段的中心分别向另一根所述线段做垂线,将两根所述垂线的均值作为所述距离;将两根所述线段的夹角作为所述角度;将所述距离和所述角度分别满足各自范围的线段分为一个组。

基于上述实施例的内容,作为一种可选实施例,对分好组的线段进行拟合,包括:遍历每一组线段,获得每一组线段的最大外接矩形,并计算同组线段的平均斜率;将过所述最大外接矩形的中心、斜率为平均斜率且端点位于所述最大外接矩形的线段作为拟合出的线段。

基于上述实施例的内容,作为一种可选实施例,基于查找到的所述线段获得检测出的车位之前,还包括:将所有车位长边组合和所有车位宽边组合进行匹配,判断是否能组成车位;

若存在车位宽边组合,则计算车位长边的两根线段与宽边其中一根线段的夹角tan1,tan2;若tan1和tan2满足设定度数,且满足长边的两根线段的中心点分别于宽边的两根线段做垂线,每根长边中心至少有一个垂足在任意一根宽边线段上,或者宽边的两根线段的中心点分别于长边的两根线段做垂线,每根宽边中心至少有一个垂足在任意一根长边线段上,则确定能组成车位;

若不存在车位宽边组合,求出车位长边的两根线段与能组成车位线的水平线的夹角tan1,tan2;tan1和tan2满足设定度数,且满足长边的两根线段的中心点到宽边的两个垂足都在这条短边上,或者一根长边的中心点到宽边的垂足在宽边上,宽边中心点到另一条长边的垂足在这条长边上的情况,则确定能组成车位。

具体地,本步骤为第4步,对检测出来的所有线段做预处理,具体可包括如下步骤:

4.1、先区分水平线和垂直线,水平线的定义是水平线上下45度的线都为水平线,垂直线的定义是垂直线左右45度的线都为垂直线。

4.2、将水平线和垂直线分别分组

先求出两根线段的距离和角度。距离是按照两根线段中心分别往另一根线段做垂线,两根垂线长度的和除以2,就是两根线段的距离。角度是求两根线段的夹角。将满足距离小于7,角度-3度到3度的线段分为一个组。

4.3、对分好组的线段做拟合

拟合的方法是遍历每一组找到同组线段组成的最大外接矩形,然后求同组线段的平均斜率。拟合出的线段是过最大外接矩形中心,斜率为平均斜率且端点在矩形上的线段。

4.4、对拟合后的水平线和垂直线做筛选

水平线保留大于1/2车位长度,垂直线保留大于1/2车位宽度。

4.5、找到能组成车位长边的一对线段,能组成车位宽度的一对线段,能组成车位线的一对线段

组成车位长边:两根线段满足距离(220-260),角度为(-3,3)

组成车位宽边:两根线段满足距离(450-550),角度为(-3,3)

组成车位线:两根线段满足距离(7-23),角度为(-3,3)

4.6、将所有车位长边组合和所有车位宽边组合进行匹配判断是否能组成车位

4.6.1、车位宽边组合存在的情况

求出车位长边的两根线段与宽边其中一根线段的夹角tan1,tan2;

tan1和tan2满足(87-93)度,且满足长边的两根线段的中心点分别于宽边的两根线段做垂线,每根长边中心至少有一个垂足在任意一根宽边线段上,或者宽边的两根线段的中心点分别于长边的两根线段做垂线,每根宽边中心至少有一个垂足在任意一根长边线段上,则能组成车位,例如图1情况。

4.6.2、车位宽边组合不存在的情况

求出车位长边的两根线段与能组成车位线的水平线的夹角tan1,tan2;

tan1和tan2满足(87-93)度,且满足长边的两根线段的中心点到宽边的两个垂足都在这条短边上,或者一根长边的中心点到宽边的垂足在宽边上,宽边中心点到另一条长边的垂足在这条长边上的情况,则能组成车位,例如图4,图5,图6。

4.7、将所有组成的车位进行分组

车位中心点距离小于100,则为同一车位分为一个组。

4.8、求出每个组中的最佳车位

找到宽边距离最小且长边距离最小的车位,为最佳车位。

5、将识别出的车位进行坐标转换

将识别的车位的像素左边转化到基于车后轴的实际坐标。

6、实际效果如图5对比度高的场景,图6车位线不清晰对比度不高的场景,图7雨天水平车位的场景,图8雨天三个垂直车位的场景。

本发明实施例提供的车位检测方法,具有如下技术效果:1、采用的是avm环视鱼眼相机,不需要为了识别车位新增别的rgb相机;2、使用自适应的图像处理算法可以适用于水平和垂直车位,晴天和雨天等不同天气,车位线不清晰,对比度不高等不同场景。3、线段处理算法,具备逻辑简单,计算量小,速度快等优点;4、实现了单目鱼眼相机测距,能保证精度在10cm以内。

本发明实施例提供了一种电子设备,如图10所示,该设备包括:处理器(processor)501、通信接口(communicationsinterface)502、存储器(memory)503和通信总线504,其中,处理器501,通信接口502,存储器503通过通信总线504完成相互间的通信。处理器501可以调用存储器503上并可在处理器501上运行的计算机程序,以执行上述各实施例提供的车位检测方法,例如包括:基于avm摄像头中的单目鱼眼相机采集车位图像;将所述车位图像转换为俯视图;其中,所述俯视图上任意一点与图像原点之间的像素距离与所述任意一点与所述摄像头之间的实际距离呈设定比例;基于所述俯视图,对车位进行检测。

此外,上述的存储器503中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

本发明实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的车位检测方法,例如包括:基于avm摄像头中的单目鱼眼相机采集车位图像;将所述车位图像转换为俯视图;其中,所述俯视图上任意一点与图像原点之间的像素距离与所述任意一点与所述摄像头之间的实际距离呈设定比例;基于所述俯视图,对车位进行检测。

以上所描述的电子设备等实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分方法。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜