CN115063781A - 车位检测方法、装置、设备和存储介质 - Google Patents

车位检测方法、装置、设备和存储介质 Download PDF

Info

Publication number
CN115063781A
CN115063781A CN202210854345.8A CN202210854345A CN115063781A CN 115063781 A CN115063781 A CN 115063781A CN 202210854345 A CN202210854345 A CN 202210854345A CN 115063781 A CN115063781 A CN 115063781A
Authority
CN
China
Prior art keywords
parking space
checked
parking
detection
frame
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.)
Pending
Application number
CN202210854345.8A
Other languages
English (en)
Inventor
李海鹏
张昭
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Black Sesame Intelligent Technology Co ltd
Original Assignee
Black Sesame Intelligent Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Black Sesame Intelligent Technology Co ltd filed Critical Black Sesame Intelligent Technology Co ltd
Priority to CN202210854345.8A priority Critical patent/CN115063781A/zh
Publication of CN115063781A publication Critical patent/CN115063781A/zh
Priority to US18/221,792 priority patent/US20240029448A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • G06V20/58Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads
    • G06V20/586Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads of parking space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/277Analysis of motion involving stochastic approaches, e.g. using Kalman filters
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/25Determination of region of interest [ROI] or a volume of interest [VOI]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/34Smoothing or thinning of the pattern; Morphological operations; Skeletonisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • G06V20/46Extracting features or characteristics from the video content, e.g. video fingerprints, representative shots or key frames
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/70Labelling scene content, e.g. deriving syntactic or semantic representations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • G06V20/58Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Traffic Control Systems (AREA)
  • Image Analysis (AREA)

Abstract

本申请涉及一种车位检测方法、装置、设备和存储介质。方法包括:获取本车辆所在区域的连续多帧检测图;识别每帧检测图中的识别车位以及识别车位的车位角点;基于车位角点,执行车位校验以从识别车位中确定经校验车位;对连续多帧检测图中的经校验车位进行追踪,以在车位追踪列表中记录每个经校验车位的在连续多帧检测图中被识别出的连续可见帧数和在连续多帧检测图中未被识别出的连续丢失帧数,并在任一经校验车位的连续丢失帧数达第一帧数阈值时从车位追踪列表中删除该经校验车位;基于经校验车位的车位角点,确定并输出车位追踪列表中的连续可见帧数达第二帧数阈值的每个经校验车位的车位语义信息。采用本方法能够低成本且高精度地检测车位。

Description

车位检测方法、装置、设备和存储介质
技术领域
本申请涉及车辆检测技术领域,特别是涉及一种车位检测方法、装置、设备和存储介质。
背景技术
在智能驾驶技术领域中,车辆可以利用车辆内安装的各种传感器来感知车辆内外的信息,以辅助车辆的驾驶。
例如,在车辆泊车场景中,车辆可以利用摄像头、激光雷达等传感器采集车辆四周的环境信息,并利用采集的环境信息来识别车辆所处的泊车场景,对泊车场景中的车位有关的信息进行检测和输出,以辅助车辆的泊车。
然而,现有的泊车场景中车位检测方法,一般仅能检测出车位的大体区域,可能存在车位检测精度不足的缺陷。
发明内容
基于此,有必要针对上述技术问题,提供一种能够低成本且高精度地检测车位的车位检测方法、装置、设备和存储介质。
一种车位检测方法,包括:
获取本车辆所在区域的连续多帧检测图;
识别所述连续多帧检测图中每帧检测图中的识别车位以及所述识别车位的车位角点;
基于所述车位角点,执行车位校验以从所述识别车位中确定经校验车位;
利用车位追踪列表,对所述连续多帧检测图中的所述经校验车位进行追踪,以在所述车位追踪列表中记录每个所述经校验车位的在连续多帧检测图中被识别出的连续可见帧数和在连续多帧检测图中未被识别出的连续丢失帧数,并在任一所述经校验车位的所述连续丢失帧数达第一帧数阈值时从所述车位追踪列表中删除该所述经校验车位;
对于所述车位追踪列表中的所述连续可见帧数达第二帧数阈值的每个所述经校验车位,基于所述经校验车位的所述车位角点,确定并输出所述经校验车位的车位语义信息。
一种车位检测装置,包括:
检测图获取模块,用于获取本车辆所在区域的连续多帧检测图;
车位识别模块,用于识别所述连续多帧检测图中每帧检测图中的识别车位以及所述识别车位的车位角点;
车位校验模块,用于基于所述车位角点,执行车位校验以从所述识别车位中确定经校验车位;
车位追踪模块,用于利用车位追踪列表,对所述连续多帧检测图中的所述经校验车位进行追踪,以在所述车位追踪列表中记录每个所述经校验车位的在连续多帧检测图中被识别出的连续可见帧数和在连续多帧检测图中未被识别出的连续丢失帧数,并在任一所述经校验车位的所述连续丢失帧数达第一帧数阈值时从所述车位追踪列表中删除该所述经校验车位;
车位语义输出模块,用于对于所述车位追踪列表中的所述连续可见帧数达第二帧数阈值的每个所述经校验车位,基于所述经校验车位的所述车位角点,确定并输出所述经校验车位的车位语义信息。
一种车位检测设备,装载于车辆中,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现权如上实施例所述的车位检测方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上实施例所述的车位检测方法的步骤。
上述车位检测方法、装置、设备和存储介质,识别每个识别车位的车位角点,并且执行车位校验以筛选出经校验车位,能够预先删除不符合要求的车位;利用车位追踪列表对经校验车位进行追踪和记录,将连续丢失帧数达第一帧数阈值的经校验车位从车位追踪列表中删除,并对连续可见帧数达第二帧数阈值的每个经校验车位输出车位语义信息,从而可以高效地对所需帧的检测图中的经校验车位进追踪和输出车位语义信息,而无需输出连续丢失帧数达第一帧数阈值的经校验车位的车位语义信息,从而节省运算资源,提高运算效率;由于车位语义信息和车位校验等是基于更精细的车位角点,而不是仅基于粗略的车位区域,因而能够使得对车位的校验和车位语义信息的分析更加准确和细致。
附图说明
图1为一个实施例中车位检测方法的应用环境图;
图2为一个实施例中车位检测方法的流程示意图;
图3为一个实施例中判断识别车位的四个角点构成的四边形是否为凸四边形的示意图;
图4为一个实施例中车位状态追踪的示意图;
图5为一个实施例中计算第一经校验车位A与第二经校验车位B之间的交并比的示意图;
图6为一个实施例中确定主干道路方向的流程示意图;
图7为一个实施例中第一车位和第二车位之间的形心方向向量的示意图;
图8为一个实施例中确定经校验车位的车位入口边、车位深度、车位宽度、车位朝向的示意图;
图9为一个实施例中的斜车位、垂直车位、平行车位的示意图;
图10为一个实施例中代表非固定障碍物的检测框与经校验车位的四边形可能的示例相交姿态的示意图;
图11为一个示例的现有技术中检测车位的鸟瞰图以及一个示例的利用本申请的车位检测方法的检测车位的鸟瞰图;
图12为一个实施例中车位检测装置的结构框图;
图13为一个实施例中车位检测设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的车位检测方法,可以应用于如图1所示的应用环境中。其中,车位检测设备102装载于车辆10中,车位检测设备102与车辆10上安装的用于探测车辆所处环境信息的环境传感器104通信连接,车位检测设备102接收环境传感器104探测的环境信息,并实时逐帧获取基于环境信息得到的连续多帧检测图。本申请中的所述环境传感器104可以利用纯视觉的传感器来实现,例如相机,从而相较于需要利用超声波雷达、激光雷达等来探测车位的方案,能够更低成本地实现对车位的检测。车位检测设备102在实时逐帧得到多帧检测图的同时,实时执行本申请的车位检测方法,以检测并输出每一帧检测图中的车位语义信息。车辆10中还可以装载有显示装置,例如显示屏,车位检测设备102将车位语义信息输出至显示装置,以利用该显示装置对车位语义信息进行显示,以便于用户查看。
在一个实施例中,如图2所示,提供了一种车位检测方法,以该方法应用于图1中的车位检测设备102为例进行说明,包括以下步骤S210-S250:
步骤S210,获取本车辆所在区域的连续多帧检测图。
在本步骤中,车位检测设备102可以利用环境传感器104逐帧检测并获取车辆所在区域的连续多帧检测图。
示例地,环境传感器104可以包括分别固定于车辆10的前保险杠中点、后保险杠中点、左侧后视镜下方、以及右侧后视镜下方处的四个鱼眼相机,车位检测设备102实时接收四个鱼眼相机的四张环境图像,并将四张环境图像合成为一张检测图,该检测图例如可以是鸟瞰图(Bird’s Eye View,BEV),从而可以连续地得到多帧检测图。
步骤S220,识别连续多帧检测图中每帧检测图中的识别车位以及识别车位的车位角点。
在本步骤中,车位检测设备102可以使用预先训练好的神经网络模型来识别每帧检测图中识别车位,以及每个识别车位的多个车位角点。一般而言,车位是矩形或平行四边形的,从而通常每个识别车位应当具有4个车位角点,本步骤中可以识别出每帧检测图中的一个或多个识别车位,以及每个识别车位所具有的4个车位角点的4个坐标值(x,y)。可以理解,检测图中的坐标值(x,y)与该车辆所处环境中的真实地理坐标具有一一对应关系,从而基于检测图中的坐标值(x,y)可以确定该坐标值(x,y)对应的环境中位点的真实地理坐标。
步骤S230,基于车位角点,执行车位校验以从识别车位中确定经校验车位。
在本步骤中,利用车位校验,可以删除前述步骤识别出的识别车位中不符合要求的错误识别车位,从而避免后续步骤对错误识别车位进行处理造成的资源浪费,并提高车位识别准确性。
在一个实施例中,步骤S230可以包括步骤S231-步骤S234:
步骤S231,对于每一识别车位,判断识别车位的车位角点是否满足车位自校验条件,若否,则确定识别车位为校验失败车位。
在一个实施例中,车位自校验条件包括以下i-iv中的一项或多项组合:
i.识别车位的车位角点的数目符合预定车位角点数目;
例如,可以判断识别车位是否包含四个角点,如果某一识别车位不是包含四个角点,则该识别车位校验失败。
ii.识别车位的车位角点均处于预定感兴趣区域内;
例如,可以判断识别车位的每个车位角点的坐标是否均在预定的感兴趣区域(Region Of Interest,ROI)内,如果识别车位有至少一个车位角点不在感兴趣区域内,则该识别车位校验失败。感兴趣区域例如可以是由车辆的环境传感器所能采集到的视场范围界定,例如可以是以自车几何形心为中心点向前后左右各延伸10米所形成的20米*20米的正方形区域。
iii.识别车位的车位角点构成的四边形为凸四边形。
一般而言,正常车位应为凸四边形,如果识别车位的车位角点构成的四边形为凹四边形,则可以判断该识别车位校验失败。
示例地,参见图3所示,可以通过如下步骤a-f判断识别车位的四个角点构成的四边形是否为凸四边形:
步骤a.从当前识别车位的四个车位角点中,以自身车辆为参照选择一个车位角点标记为第一角点Corner1(例如,可以选定与自车“前保险杠中心地面投影点”最近的车位角点作为起始点,记为第一角点Corner1),并随机将其余三个车位角点标记为第二角点Corner2、第三角点Corner3、第四角点Corner4。
步骤b.分别计算从第一角点Corner1指向第二角点Corner2的第一方向向量Vec01、从第一角点Corner1指向第三角点Corner3的第二方向向量Vec02、从第一角点Corner1指向第四角点Corner4的第三方向向量Vec03。
步骤c.分别确定由第一方向向量Vec01至第二方向向量Vec02的第一旋转方向角Angle_A,以及由第二方向向量Vec02至第三方向向量Vec03的第二旋转方向角Angle_B。
步骤d.当第一旋转方向角Angle_A与第二旋转方向角Angle_B同号且均为正时,即旋转方向相同且为逆时针方向时,例如参见图3的(a)中所示的示例情况,则标记角点排序为逆时针,当第一旋转方向角Angle_A与第二旋转方向角Angle_B同号且均为负时,即旋转方向相同且为顺时针方向时,例如参见图3的(b)中所示的示例情况,则标记角点排序为顺时针;
步骤e.当第一旋转方向角Angle_A与第二旋转方向角Angle_B异号时,例如参见图3的(c)中所示的示例情况,则分别尝试将第二角点Corner2与第三角点Corner3标记对调并再次进行步骤b-d以及尝试将第三角点Corner3与第四角点Corner4标记对调并再次进行步骤b-d,直至在其中一次尝试中成功标记角点排序;
步骤f.在标记角点排序完成后,按照标记的角点排序依次连接四个角点形成四边形,并计算四边形的四个内角,当四个内角中任意一个内角大于180度时,例如参见图3的(d)中所示的示例情况,则识别车位的四个角点构成的四边形为凹四边形,当四个内角均小于180度时,则识别车位的四个角点构成的四边形为凸四边形。
iv.识别车位的车位角点构成的四边形在识别车位所属的当前帧检测图中的地理面积落入预定地理面积范围内。
车位角点构成的四边形即框定了车位的边界,四边形的地理面积可以代表车位在真实三维空间中的大小,如果识别到车位过大或过小,则该车位识别有误,因此可以根据车位常规应当具有的大小来设定预定地理面积范围,当识别出识别车位的地理面积超出预定地理面积范围时,可以判断该识别车位校验失败。
步骤S232,对于同一帧检测图中的多个识别车位,根据多个识别车位之间的相互关系,判断多个识别车位的每一识别车位是否满足车位相互校验条件,将不满足车位相互校验条件的识别车位确定为校验失败车位。
在一个实施例中,车位相互校验条件包括以下i和ii中的一项或多项组合:
i.识别车位的车位ID与同一帧检测图中的其他识别车位的车位ID不重复;
该条件可以通过执行车位ID检查以确保同一帧检测图中车位的唯一性,同时避免重复,这可以用来检验车位ID分配是否异常。
ii.识别车位的车位角点构成的四边形在帧检测图中的地理面积与同一帧检测图中的其他识别车位的车位角点构成的四边形在帧检测图中的地理面积的均值之差不超出预定差值阈值。
例如,在同一帧检测图内,可能存在有多个识别车位,可以以其中彼此大小差异不大的多个识别车位的大小为模板,当有另一个识别车位大小大于这个模板的两倍或者小于这个模板的二分之一,就可以认为该识别车位大小与其他识别车位大小差异过大,则可以将该识别车位确定为校验失败车位。可以在同一帧检测图具有三个以上识别车位才执行此条件判断。
步骤S233,对于不同两帧检测图中的识别车位,判断不同两帧检测图中的识别车位是否满足帧间校验条件,将不满足帧间校验条件的识别车位确定为校验失败车位;
在一个实施例中,帧间校验条件包括以下i和ii中的一项或多项组合:
i.识别车位所属的当前帧检测图的时间戳不与在当前帧检测图之前的任意历史帧检测图的时间戳相同;
当前观测数据时间戳自校验,当前时间戳与历史时间戳相同时则立刻返回,规避对相同观测数据进行重复操作。
ii.识别车位在其所属的当前帧检测图中的车位语义信息与在当前帧检测图之前的历史帧检测图中与其为同一车位的识别车位的车位语义信息一致。
对于帧间相同ID的车位,车位的某些固有属性,例如车位入口边,车位深度、宽度等不应发生改变。可以利用这些信息过滤无效车位。步骤S234,将满足车位自校验条件、车位相互校验条件和帧间校验条件的识别车位确定为经校验车位。
本实施例中,利用车位自校验条件、车位相互校验条件和帧间校验条件,对每帧检测图中的车位进行帧内校验和帧间校验,从而可以提升对车位的检测准确度,避免对车位误检测。
步骤S240,利用车位追踪列表,对连续多帧检测图中的经校验车位进行追踪,以在车位追踪列表中记录每个经校验车位的在连续多帧检测图中被识别出的连续可见帧数和在连续多帧检测图中未被识别出的连续丢失帧数,并在任一经校验车位的连续丢失帧数达第一帧数阈值M时从车位追踪列表中删除该经校验车位。
进一步地,在一个实施例中,在步骤S240中利用车位追踪列表,对连续多帧检测图中的经校验车位进行追踪时,还包括步骤S241,在车位追踪列表中记录每个经校验车位的车位状态,参见图4中所示,车位状态可以包括新状态(New)、预测状态(Predict)、更新状态(Updated)和失效状态(Invalid),该步骤S241包括:
对于从连续多帧检测图中确定出的每一经校验车位,执行步骤S2411-S2414:
步骤S2411,当经校验车位在某一帧检测图中首次被识别出时,将经校验车位记入车位追踪列表中并将经校验车位的车位状态标记为新状态;
步骤S2412,当经校验车位在某一帧检测图之后的任一帧检测图中再次被识别出时,将经校验车位的车位状态标记为更新状态;
步骤S2413,当经校验车位在某一帧检测图之后的任一帧检测图中未被识别出时,将经校验车位的车位状态标记为预测状态;
步骤S2414,当处于预测状态或更新状态的经校验车位在某一帧检测图之后的连续多帧检测图中未被识别出的连续丢失帧数达到第一帧数阈值M时,将经校验车位的车位状态更改为失效状态。
示例地,可以将经校验车位的车位状态分为新状态、预测状态、更新状态、失效状态共四个状态,并依据步骤S2411-S2414的规则对每个经校验车位的车位状态进行记录。车位追踪列表中可以记录有经校验车位的车位ID以及该经校验车位的最新一帧检测图的例如车位角点等的车位属性,通过如下将描述的两帧检测图的经校验车位之间的交并比来确定两帧检测图的经校验车位是否为同一车位的车位匹配方法,可以将当前帧检测图中的经校验车位与先前帧检测图中的经校验车位进行匹配,从而追踪各经校验车位的可见帧数和丢失帧数,对各经校验车位的连续可见帧数和连续丢失帧数进行计数。
车位追踪列表中追踪记录每一个经校验车位的车位ID,同时要确保车位ID的唯一性。可用的车位ID循环使用,如果有某个经校验车位在车位追踪列表中的状态变为Invalid,该经校验车位占用的车位ID就会被从车位追踪列表中移除而成为空闲的车位ID,在后面有新的经校验车位出现时,按照车位ID的大小分配一个空闲的车位ID给该新的经校验车位。在车位追踪列表中,还可以设置最多可以维护多少个车位ID。
举例说明,假设在第一帧检测图中识别到五个经校验车位,五个经校验车位均为首次出现,则将该五个经校验车位记为车位ID为1、2、3、4、5加入车位追踪列表中,且五个经校验车位的车位状态均标记为New。到第二帧检测图时,第二帧检测图中识别到五个经校验车位,则先将车位追踪列表中已有的五个经校验车位的车位状态均标记为Predict,然后将第二帧检测图中的五个经校验车位与车位追踪列表中记录的五个经校验车位(第一帧检测图中的五个经校验车位)进行车位匹配,例如第二帧检测图中的前四个经校验车位与车位追踪列表中车位ID为1、2、3、4的四个经校验车位匹配成功,则将车位追踪列表中的车位ID为1、2、3、4的四个经校验车位更新为第二帧检测图中对应的前四个经校验车位,同时将车位追踪列表中的车位ID为1、2、3、4的四个经校验车位的车位状态标记为Updated,而第二帧检测图中的第五个经校验车位匹配失败(认为首次出现),则将其加入车位追踪列表中并为其分配新的车位ID编号6,并将其车位状态标记为New,也就是车位追踪列表中车位ID为1、2、3、4的经校验车位的车位状态为Updated,车位ID为5的经校验车位的车位状态为Predict,车位ID为6的经校验车位的车位状态为New……当任一经校验车位在连续两帧(N=2)检测图中可见时,则在此后每一帧中对该经校验车位确定并输出车位语义信息,直至该经校验车位被从车位追踪列表删除;而当任一经校验车位连续3帧(M=3)不可见(丢失)时,则将该经校验车位的车位状态设置成Invalid(即将该经校验车位从车位追踪列表中删除)。
在车辆10的车速稍快的时候,不同帧检测图中的同一车位的位置可能会有较大变动。在上述实施例中,在对连续多帧检测图中的经校验车位进行追踪时,需要对前后两帧检测图(当前帧检测图以及车位追踪列表中记录的历史帧检测图)中的经校验车位进行车位匹配,以确认后一帧检测图中的某一经校验车位是否与前一帧检测图中的某一经校验车位为同一车位。在一个实施例中,在利用车位追踪列表,对连续多帧检测图中的经校验车位进行追踪时,还包括步骤S242,利用两帧检测图的经校验车位之间的交并比来确定两帧检测图的经校验车位是否为同一车位。
具体地,在一个实施例中,步骤S242可以包括步骤S2421-S2423:
步骤S2421,计算两帧检测图中前一帧检测图中的每个经校验车位与两帧检测图中后一帧检测图中的每个经校验车位之间的交并比(Intersection Over Union,IOU);
在一个实施例中,步骤S2421包括步骤S24211-S24212:
步骤S24211,叠加两帧检测图以得到叠加检测图;
参见图5中所示,可以将图5的(a)中所示的前一帧检测图与图5的(b)中所示的后一帧检测图叠加以得到图5的(c)中所示的叠加检测图。
步骤S24212,对于两帧检测图中前一帧检测图中的任一第一经校验车位A与两帧检测图中后一帧检测图中的任一第二经校验车位B,执行以下步骤a-d以计算第一经校验车位A与第二经校验车位B之间的交并比:
a.以第一经校验车位A的车位角点与第二经校验车位B的车位角点在叠加检测图中的竖直方向的最大值和最小值为外接矩形框的上下边界,以第一经校验车位A的车位角点与第二经校验车位B的车位角点在叠加检测图中的水平方向的最大值和最小值为外接矩形框的左右边界,确定第一经校验车位A的车位角点与第二经校验车位B的车位角点在叠加检测图中的外接矩形框。
例如,第一经校验车位A包括四个车位角点,第二经校验车位B包括四个车位角点,则在这两个车位的八个角点中,搜索在叠加检测图中竖直方向上坐标最大值、最小值,以及在水平方向上坐标最大值与最小值;在竖直方向的最大值处形成上边界,在竖直方向的最小值处形成下边界,在水平方向的最大值处形成右边界,在水平方向的最小值处形成左边界,从而四个边界合围生成这两个车位的外接矩形框。生成的外接矩形框可参见图5的(c)中所示,图5的(c)中的最外边的黑框代表第一经校验车位A和第二经校验车位B的外接矩形框。
b.当外接矩形框的至少一边的长度大于预定边长阈值时,确定第一经校验车位与第二经校验车位之间的交并比为零;
例如,该预定边长阈值可以是第一经校验车位的最长边与第二经校验车位的最长边之和。当两个车位的外接矩形框的任一边超出这一预定边长阈值时,可以认为这两个车位之间不重叠或重叠部分很少,则可以直接返回它们的交并比为零,而免去后续的运算。
c.当外接矩形框的所有边的长度均小于或等于预定边长阈值时,以外接矩形框为边界在边界内生成栅格图,并分别统计第一经校验车位在栅格图中占用的栅格数目和第二经校验车位在栅格图中占用的栅格数目;
其中,在判断所占用的栅格数目时,可以当某一栅格被覆盖面积大于一定面积阈值时,认为该栅格被占用,该面积阈值例如可以是2/3个栅格的面积。
d.基于第一经校验车位在栅格图中占用的栅格数目和第二经校验车位在栅格图中占用的栅格数目,计算第一经校验车位与第二经校验车位之间的交并比。
例如,可以通过以下等式计算第一经校验车位A与第二经校验车位B之间的交并比:
Figure BDA0003746777850000091
其中,A∪B表示第一经校验车位A与第二经校验车位B的并集。
步骤S2422,将后一帧检测图中的与前一帧检测图中的任一经校验车位的交并比大于或等于预定交并比阈值的经校验车位确定为与前一帧检测图中的该任一经校验车位为同一车位;
步骤S2423,将后一帧检测图中的与前一帧检测图中的所有经校验车位的交并比均小于预定交并比阈值的经校验车位确定为与前一帧检测图中的所有经校验车位均为不同车位。
例如,预定交并比阈值可以取60%。则当交并比大于或等于60%时,可以判断第一经校验车位和第二经校验车位为同一车位;当交并比小于60%时,可以判断第一经校验车位和第二经校验车位不是同一车位。
步骤S250,对于车位追踪列表中的连续可见帧数达第二帧数阈值N的每个经校验车位,基于经校验车位的车位角点,确定并输出经校验车位的车位语义信息。
其中,在一个实施例中,车位语义信息可以包括车位角点位置、车位角点顺序、主干道路方向、车位入口边、车位深度、车位宽度、车位朝向、车位方向类型、车位可泊车区域中的一者或多者。
在一个实施例中,当车位语义信息包括车位角点位置时,方法还包括:
基于前一帧检测图中经校验车位的车位角点位置,利用卡尔曼滤波器,对当前帧检测图中经校验车位的车位角点位置执行平滑处理,以确定平滑处理后的车位角点位置作为当前帧检测图中经校验车位的车位角点位置并输出。
在本实施例中,使用卡尔曼滤波器来实现对车位角点位置(坐标)的平滑处理,加入车位追踪列表中的车位会用来更新卡尔曼滤波器的参数,每一当前帧检测图输出的车位角点位置信息会使用历史帧检测图的卡尔曼滤波器的参数进行预测输出。通过调节预测值和观测值的参数比重,可以使得经过卡尔曼滤波器后的角点位置的抖动情况大大减小,保证车位角点位置输出更加平滑。
其中,卡尔曼滤波器对每一当前帧检测图的车位角点坐标执行如下步骤a-c的平滑处理以得到平滑处理后的车位角点坐标:
a.使用前一帧检测图的车位角点坐标的后验估计值预测当前帧检测图的对应车位角点坐标的预测值作为当前帧检测图的先验估计值,并使用前一帧检测图的车位角点坐标的后验误差值预测当前帧检测图的对应车位角点坐标的预测误差值作为当前帧检测图的先验误差值;
b.基于当前帧检测图的先验误差值计算卡尔曼增益;
c.基于步骤b计算的卡尔曼增益、当前帧检测图的车位角点坐标的观测值、以及当前帧检测图的先验估计值,计算当前帧检测图的后验估计值作为当前帧检测图的平滑处理后的车位角点坐标。
在一个实施例中,当车位语义信息包括车位角点顺序时,步骤S250中的基于经校验车位的车位角点,确定并输出经校验车位的车位语义信息可以包括:步骤S251,基于经校验车位的车位角点,确定并输出经校验车位的车位角点顺序。其中,可以使用前述判断识别车位的四个角点构成的四边形是否为凸四边形的方法中的步骤a-e来确定每一经校验车位的四个角点的车位角点顺序。即,对于在S230中已执行了是否为凸四边形的判断的每一经校验车位,其四个角点的车位角点顺序是已确定的,则在S250中可以直接获取已确定的四个角点的车位角点顺序。
在前述实施中,当车位语义信息包括车位角点顺序时,可以确定每一帧检测图中的经校验车位的车位角点顺序,然而不同帧检测图中同一车位的各车位角点顺序之间的对应关系是不明确的。在一个实施例中,当车位语义信息包括车位角点顺序时,方法还可以包括:将当前帧检测图中经校验车位的车位角点顺序与前一帧检测图中对应的经校验车位的车位角点顺序进行匹配,以使得当前帧检测图的车位角点顺序与前一帧检测图的车位角点顺序保持一致。
在通过车位匹配方法将两帧检测图中后一帧检测图的每一经校验车位与两帧检测图中前一帧检测图的一个经校验车位匹配成功后,还需要使该后一帧检测图的每一经校验车位的车位角点顺序与前一帧检测图的对应的一个相同的经校验车位的车位角点顺序保持一致。在本实施例中,通过帧间车位角点顺序匹配,可以确保两帧检测图之间同一车位的车位角点顺序保持一致。
示例地,以每个车位包括四个角点为例,在判断了前一帧检测图中的第一经校验车位A和后一帧检测图中的第二经校验车位B为同一车位的情况下,可以通过如下步骤a-c的车位角点顺序匹配方法来使第二经校验车位B的车位角点顺序与第一经校验车位A的车位角点顺序保持一致:
a.分别计算第一经校验车位A的四个车位角点Corner1-4与第二经校验车位B的四个车位角点Corner1’-4’的每两两角点间的欧式距离,共计可以得到如下所示的十六对车位角点间的十六个欧式距离值:
(车位A的Corner1-车位B的Corner1’)、(车位A的Corner2-车位B的Corner1’)、
(车位A的Corner1-车位B的Corner2’)、(车位A的Corner2-车位B的Corner2’)、
(车位A的Corner1-车位B的Corner3’)、(车位A的Corner2-车位B的Corner3’)、
(车位A的Corner1-车位B的Corner4’)、(车位A的Corner2-车位B的Corner4’)、
(车位A的Corner3-车位B的Corner1’)、(车位A的Corner4-车位B的Corner1’)、
(车位A的Corner3-车位B的Corner2’)、(车位A的Corner4-车位B的Corner2’)、
(车位A的Corner3-车位B的Corner3’)、(车位A的Corner4-车位B的Corner3’)、
(车位A的Corner3-车位B的Corner4’)、(车位A的Corner4-车位B的Corner4’)。
b.使用匈牙利匹配算法将对应车位角点进行匹配;
利用匈牙利匹配算法,可以确定第二经校验车位B的四个车位角点corner1’-4’中的每个车位角点分别与第一经校验车位A的四个车位角点corner1-4中的哪一个车位角点为同一车位角点。匈牙利匹配算法为现有技术因此本申请对此不作赘述。
c.按照匹配结果,将第二经校验车位B的车位角点顺序按照第一经校验车位A的车位角点顺序排列。
例如,若经过匈牙利匹配算法确定了第二经校验车位B的车位角点corner1’、corner2’、corner3’、corner4’依次与第一经校验车位A的车位角点corner4、corner1、corner2、corner3为同一车位角点,则将第二经校验车位B的车位角点corner1’、corner2’、corner3’、corner4’分别替代地标记为车位角点corner4、corner1、corner2、corner3,以使得第二经校验车位B的车位角点顺序与第一经校验车位A的车位角点顺序保持一致。
进一步地,在一个实施例中,当车位语义信息包括车位角点顺序时,步骤S250中的基于经校验车位的车位角点,确定并输出经校验车位的车位语义信息,还包括:根据用户的输入而配置车位角点顺序。
在本实施例中,可以根据用户需求来配置车位角点顺序,例如,在确定了车位入口边后,可以将车位入口边两端的车位角点分别标记为第一角点和第二角点由0-1角点组成,在自车左侧的车位角点顺序为顺时针,在自车右侧的车位角点顺序为逆时针。
在一个实施例中,当车位语义信息包括主干道路方向时,步骤S250中的基于经校验车位的车位角点,确定经校验车位的车位语义信息,可以包括:
步骤S252,参见图6中所示,对于任一当前帧检测图执行以下步骤a-d以确定当前帧检测图中的主干道路方向:
a.识别当前帧检测图中的一对或多对相邻车位;
示例地,可以计算当前帧检测图每两经校验车位的车位角点之间的欧式距离。例如对于当前帧检测图中的任意两个经校验车位B1和B2,每个经校验车位具有四个角点,经校验车位B1的四个角点和经校验车位B2的四个角点两两成对,可计算得到十六对角点间的十六个欧式距离值。设其中每一对角点中的两个角点坐标为(x1,y1)和(x2,y2),则每一对角点间的欧式距离d可以由下式算得:
Figure BDA0003746777850000121
然后,可以将算得的十六个欧式距离值按照角点距离降序排列;
判断其中最小的两个欧式距离是否小于距离阈值,如果最小的两个欧式距离中任意一者大于距离阈值则当前两个经校验车位B1和B2为非相邻车位;如果最小的两个欧式距离均小于距离阈值,则当前两个经校验车位B1和B2为相邻车位。示例地,该距离阈值可以为20cm。
如此,可以确定当前帧检测图中的每两个经校验车位是否为相邻车位,从而确定当前帧检测图中所具有的一对或多对相邻车位。
b.确定每对相邻车位中,从该对相邻车位的第一车位的形心指向该对相邻车位的第二车位形心的形心方向向量,从而得到一个或多个形心方向向量;
第一车位和第二车位之间的形心方向向量可参见图7中所示。在此步骤中确定形心方向向量时,还可以记录第一车位和第二车位之间的相邻边,以备所需时使用。
c.对一个或多个形心方向向量进行归类,以确定一个或多个形心方向类;
在本步骤中,可以逐个将每个形心方向向量归类。例如,参见图6中所示,可以创建形心方向向量列表,然后逐个将该一个或多个形心方向向量中的每个形心方向向量与列表中的形心方向向量进行匹配,如果当前的形心方向向量与列表中的某一形心方向向量之间的平行度大于或等于设定平行度阈值(夹角小于或等于设定夹角阈值)时,则可以认为当前形心方向向量属于列表中的该某一形心方向向量所代表的形心方向类,即将列表中的该某一形心方向向量的票数加一,当当前形心方向向量不能与列表中的形心方向向量之间的平行度大于或等于设定平行度阈值时,即与列表中所有已有的形心方向向量之间的平行度均小于设定平行度阈值(夹角均大于设定夹角阈值)或者列表中没有形心方向向量(在对首个形心方向向量进行匹配的情况下)时,则将当前形心方向向量作为新的形心方向向量加入列表中,直至完成对所有形心方向向量的匹配。示例的,该设定夹角阈值可以是15°。其中,列表中的每个形心方向向量的票数即指示每个形心方向向量所代表的形心方向类所具有的形心方向向量。
d.基于具有形心方向向量总数最多的形心方向类对应的形心方向向量,确定主干道路方向。
例如,在完成了对所有形心方向向量的匹配后,可以将列表中的形心方向向量按照票数排序,以确定票数最高的形心方向向量。当票数最高的形心方向向量仅为一个时,则将该票数最高的形心方向向量输出作为道路方向向量,道路方向向量所指示方向即为主干道路方向。当出现票数最高的多个形心方向向量平票的状况时,将平票的多个形心方向向量中与自车行进方向之间的平行度最高(即与自车行进方向的夹角最小)的形心方向向量输出作为道路方向向量,道路方向向量所指示方向即为主干道路方向。
在一个实施例中,在确定主干道路方向后,步骤S250中的当车位语义信息包括车位入口边时,基于经校验车位的车位角点,确定经校验车位的车位语义信息,包括:
步骤S253a,将经校验车位的四个车位角点,按照已经确定的车位角点顺序顺次连接,以确定经校验车位的四条边。
步骤S253b,基于主干道路方向,从确定的四条边中筛选出与主干道路方向平行度最高的两条边作为车位入口边的两条候选边,然后选择两条候选边中距离自车的几何形心的欧式距离最短的边作为车位入口边。
如图8中所示,与主干道路方向平行度最高的以点虚线表示的边和以短划线表示的边为两条候选边,选择距离自车的几何形心较近的以点虚线表示的边的为车位入口边。而与车位入口边相对的以短划线表示的边为车位底边。
在一个实施例中,参见图8所示,在确定了车位入口边后,当车位语义信息包括车位深度时,步骤S250中的基于经校验车位的车位角点,确定经校验车位的车位语义信息,包括:以经校验车位的车位入口边和与车位入口边相对的车位底边所构成的两条平行线之间的线段距离作为经校验车位的车位深度。
在一个实施例中,参见图8所示,在确定了车位入口边后,当车位语义信息包括车位宽度时,步骤S250中的基于经校验车位的车位角点,确定经校验车位的车位语义信息,包括:以经校验车位的车位入口边相邻的两条侧边所构成的两条平行线之间的线段距离作为经校验车位的车位宽度。
在一个实施例中,参见图8所示,在确定了车位入口边后,当车位语义信息包括车位朝向时,步骤S250中的基于经校验车位的车位角点,确定经校验车位的车位语义信息,包括:将垂直于车位入口边并朝向经校验车位之外的方向(由底边指向车位入口边的方向)作为经校验车位的车位朝向。
在一个实施例中,参见图9所示,在确定了车位入口边后,当车位语义信息包括车位方向类型时,步骤S250中的基于经校验车位的车位角点,确定经校验车位的车位语义信息,可以包括步骤S254a-S254b:
步骤S254a,基于经校验车位的四个车位角点所围成的四边形的四个内角,确定经校验车位是否为斜车位;其中,当四个内角均处于预定内角范围内时,则确定经校验车位不是斜车位,当四个内角有至少一个内角超出预定内角范围时,则确定经校验车位为斜车位。预定内角阈值例如可以是大于或等于75°且小于或等于105°。
步骤S254b,当步骤S254a中判断了经校验车位不是斜车位时,则当经校验车位的车位入口边为四边形中的两条较短边之一时,确定经校验车位为垂直车位,而当经校验车位的车位入口边为四边形中的两条较长边之一时,确定经校验车位为平行车位。
车位方向类型可以包括斜车位、垂直车位和平行车位。其中,斜车位是指的车位朝向与主干道路方向间呈一定倾斜夹角的车位,例如图9的(a)中给出了斜车位的参考示例。垂直车位是指的车位朝向与主干道路方向基本垂直的车位,例如图9的(b)中给出了垂直车位的参考示例。平行车位是指的车位朝向与主干道路方向基本平行的车位,例如图9的(c)中给出了平行车位的参考示例。
在一些情况下,车位中可能存在例如挡轮杆或者行人等障碍物,当自车需要泊车时,可能需要输出车位的可泊车区域,确保自车的泊车过程更加安全。在一个实施例中,当车位语义信息包括车位可泊车区域时,步骤S250中的基于经校验车位的车位角点,确定经校验车位的车位语义信息,可以包括步骤S255a-S255d:
步骤S255a,基于经校验车位的车位角点,确定经校验车位的总泊车区域。
其中,总泊车区域是经校验车位在不存在障碍物时所具有的泊车区域。总泊车区域例如可以是经校验车位的四个车位角点按照车位角点顺序顺次围成的四边形的区域。
步骤S255b,检测经校验车位上是否存在障碍物。
在一个实施例中,障碍物可以包括固定障碍物和/或非固定障碍物。
其中,固定于经校验车位上的障碍物,例如限位块/挡轮杆等,为固定障碍物。不是固定于经校验车位上的障碍物,例如行人、动物、垃圾、车辆等对泊车存在干扰的物体,为非固定障碍物。
步骤S255c,当经校验车位上不存在障碍物时,将总泊车区域作为经校验车位的可泊车区域。
步骤S255d,当经校验车位上存在障碍物时,将总泊车区域减去障碍物所占据的不可泊车区域,得到经校验车位的可泊车区域。
其中,在障碍物可能包括固定障碍物和/或非固定障碍物的情况下:
当检测到经校验车位上存在固定障碍物时,可以按照固定障碍物对应的预定计算规则计算固定障碍物的不可泊车区域;例如,对于挡轮杆,可以将总泊车区域的从挡轮杆所在的与底边平行的直线至底边的空间作为不可泊车区域而从总泊车区域中除去该区域。
当检测到经校验车位上存在非固定障碍物时,确定非固定障碍物与经校验车位的车位角点限定的多边形的边界之间的相交边以及非固定障碍物的角点处于经校验车位的车位角点限定的多边形内的内角点,利用相交边以及内角点在不可泊车区域计算表中查询确定与相交边以及内角点对应的目标计算规则,利用目标计算规则计算非固定障碍物的不可泊车区域。
可以理解,需要从总泊车区域减去的不可泊车区域,是将由检测到的所有固定障碍物和/或非固定障碍物的不可泊车区域叠加得到的总和区域(即所有障碍物的不可泊车区域的并集)。
非固定障碍物可能处于各种各样的姿态中,从而可能与经校验车位之间的相对位置关系是多变的。示例地,可以通过图像识别来检测界定非固定障碍物所在区域的检测框(二维的bounding box),以该检测框代表该非固定障碍物来确定非固定障碍物与经校验车位之间的相对位置关系。
从而,可以确定检测框与经校验车位的四个车位角点限定的四边形的四条边中的哪几条边相交的相交边,以及检测框的四个角点中有哪几个角点处于经校验车位的四个车位角点限定的四边形内的内角点。
图10中示出了代表非固定障碍物的检测框与经校验车位的四个车位角点限定的四边形可能的示例相交姿态,可以理解,图10中所示的相交姿态仅为示例而非穷举。其中白色填充框代表经校验车位,点虚线表示的边代表经校验车位的车位入口边,灰色填充框代表非固定障碍物所处的检测框。示例地,不可泊车区域计算表中可以记录有下述计算规则:
(1)当满足如下a-c中任一情况时,将非固定障碍物的不可泊车区域计为等于总泊车区域(即,可泊车区域视为零,在此情况下,可以不计算可泊车区域,而直接确定该经校验车位不可泊车)
a.相交边的数量大于等于三;
b.相交边中存在车位入口边;
c.内角点中的任一内角点与四边形的任一侧边的距离超过侧边距离阈值(例如,1/5车位宽度)或与四边形的底边的距离超过底边距离阈值(例如1/5车位深度);
(2)在以上a-c情况均不满足时,按照以下计算规则d-k中的对应的一个计算规则计算不可泊车区域:
d.当相交边的数量=0,内角点的数量=4时,计算各个内角点距四边形的底边的距离,将总泊车区域中从距离最大的内角点所在的与底边平行的直线至底边的区域确定为不可泊车区域;
e.当相交边的数量=1,内角点的数量=0,不可泊车区域计为零;
f.当相交边的数量=1,内角点的数量=1,将总泊车区域中从内角点所在的与相交边平行的直线至相交边的区域确定为不可泊车区域;
g.当相交边的数量=1,内角点的数量=2,计算各个内角点距相交边的距离,将总泊车区域中从距离最大的内角点所在的与相交边平行的直线至相交边的区域确定为不可泊车区域;
h.当相交边的数量=1,内角点的数量=3,计算各个内角点距相交边的距离,将总泊车区域中从距离最大的内角点所在的与相交边平行的直线至相交边的区域确定为不可泊车区域;
i.当相交边的数量=2,内角点的数量=0,确定非固定障碍物所处的检测框与四边形的侧边的相交点,将总泊车区域中从相交点所在的与底边平行的直线至底边的区域确定为不可泊车区域;
j.当相交边的数量=2,内角点的数量=1,确定非固定障碍物所处的检测框与四边形的侧边的相交点,分别计算内角点和各个相交点距底边的距离,将总泊车区域中从相交点和内角点中距底边距离最大之一点所在的与底边平行的直线至底边的区域确定为不可泊车区域;
k.当相交边的数量=2,内角点的数量=2,确定非固定障碍物所处的检测框与四边形的侧边的相交点,分别计算各个内角点和各个相交点距底边的距离,将总泊车区域中从相交点和内角点中距底边距离最大之一点所在的与底边平行的直线至底边的区域确定为不可泊车区域。
进一步地,在一个实施例中,在步骤S254d得到经校验车位的可泊车区域后,步骤S250还可以包括:步骤S254e,当经校验车位的可泊车区域大于或等于可泊车区域阈值时,输出经校验车位的可泊车区域;当经校验车位的可泊车区域小于可泊车区域阈值时,判断经校验车位不可泊车,输出经校验车位不可泊车的提示信息。
上述车位检测方法中,识别每个识别车位的车位角点,并且执行车位校验以筛选出经校验车位,能够预先删除不符合要求的车位;利用车位追踪列表对经校验车位进行追踪和记录,将连续丢失帧数达第一帧数阈值的经校验车位从车位追踪列表中删除,并对连续可见帧数达第二帧数阈值的每个经校验车位输出车位语义信息,从而可以高效地对所需帧的检测图中的经校验车位进追踪和输出车位语义信息,而无需输出连续丢失帧数达第一帧数阈值的经校验车位的车位语义信息,从而节省运算资源,提高运算效率;由于车位语义信息和车位校验等是基于更精细的车位角点,而不是仅基于粗略的车位区域,因而能够使得对车位的校验和车位语义信息的分析更加准确和细致。
图11的(a)中示出了一个示例的现有技术中检测车位的鸟瞰图,可以看出现有技术中检测的车位只是一个大概的范围,不包含准确的车位角点信息。图11的(b)中示出了一个示例的利用本申请的车位检测方法的检测车位的鸟瞰图,本申请的方法相较现有技术,能够更准确地检测出车位的位置,其中显示的每个车位边框的角点都能与实际的车位角点准确对应。
应该理解的是,虽然图2的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图12所示,提供了一种车位检测装置1200,包括:检测图获取模块1210、车位识别模块1220、车位校验模块1230、车位追踪模块1240和车位语义输出模块1250,其中:
检测图获取模块1210,用于获取本车辆所在区域的连续多帧检测图;
车位识别模块1220,用于识别连续多帧检测图中每帧检测图中的识别车位以及识别车位的车位角点;
车位校验模块1230,用于基于车位角点,执行车位校验以从识别车位中确定经校验车位;
车位追踪模块1240,用于利用车位追踪列表,对连续多帧检测图中的经校验车位进行追踪,以在车位追踪列表中记录每个经校验车位的在连续多帧检测图中被识别出的连续可见帧数和在连续多帧检测图中未被识别出的连续丢失帧数,并在任一经校验车位的连续丢失帧数达第一帧数阈值时从车位追踪列表中删除该经校验车位;
车位语义输出模块1250,用于对于车位追踪列表中的连续可见帧数达第二帧数阈值的每个经校验车位,基于经校验车位的车位角点,确定并输出经校验车位的车位语义信息。
关于车位检测装置1200的具体限定可以参见上文中对于车位检测方法的限定,在此不再赘述。上述车位检测装置1200中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于车位检测设备中的处理器中,也可以以软件形式存储于车位检测设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种车位检测设备,其内部结构图可以如图13所示。该车位检测设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该车位检测设备的处理器用于提供计算和控制能力。该车位检测设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该车位检测设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种车位检测方法。该车位检测设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该车位检测设备的输入装置可以是显示屏上覆盖的触摸层,也可以是车位检测设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图13中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的车位检测设备的限定,具体的车位检测设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种车位检测设备,该车位检测设备安装于车辆中,并与车辆上安装的环境传感器通信连接,该车位检测设备包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
获取本车辆所在区域的连续多帧检测图;
识别连续多帧检测图中每帧检测图中的识别车位以及识别车位的车位角点;
基于车位角点,执行车位校验以从识别车位中确定经校验车位;
利用车位追踪列表,对连续多帧检测图中的经校验车位进行追踪,以在车位追踪列表中记录每个经校验车位的在连续多帧检测图中被识别出的连续可见帧数和在连续多帧检测图中未被识别出的连续丢失帧数,并在任一经校验车位的连续丢失帧数达第一帧数阈值时从车位追踪列表中删除该经校验车位;
对于车位追踪列表中的连续可见帧数达第二帧数阈值的每个经校验车位,基于经校验车位的车位角点,确定并输出经校验车位的车位语义信息。
在其他实施例中,处理器执行计算机程序时还实现如上任一实施例的车辆检测方法的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
获取本车辆所在区域的连续多帧检测图;
识别连续多帧检测图中每帧检测图中的识别车位以及识别车位的车位角点;
基于车位角点,执行车位校验以从识别车位中确定经校验车位;
利用车位追踪列表,对连续多帧检测图中的经校验车位进行追踪,以在车位追踪列表中记录每个经校验车位的在连续多帧检测图中被识别出的连续可见帧数和在连续多帧检测图中未被识别出的连续丢失帧数,并在任一经校验车位的连续丢失帧数达第一帧数阈值时从车位追踪列表中删除该经校验车位;
对于车位追踪列表中的连续可见帧数达第二帧数阈值的每个经校验车位,基于经校验车位的车位角点,确定并输出经校验车位的车位语义信息。
在其他实施例中,计算机程序被处理器执行时还实现如上任一实施例的车辆检测方法的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (18)

1.一种车位检测方法,所述方法包括:
获取本车辆所在区域的连续多帧检测图;
识别所述连续多帧检测图中每帧检测图中的识别车位以及所述识别车位的车位角点;
基于所述车位角点,执行车位校验以从所述识别车位中确定经校验车位;
利用车位追踪列表,对所述连续多帧检测图中的所述经校验车位进行追踪,以在所述车位追踪列表中记录每个所述经校验车位的在连续多帧检测图中被识别出的连续可见帧数和在连续多帧检测图中未被识别出的连续丢失帧数,并在任一所述经校验车位的所述连续丢失帧数达第一帧数阈值时从所述车位追踪列表中删除该所述经校验车位;
对于所述车位追踪列表中的所述连续可见帧数达第二帧数阈值的每个所述经校验车位,基于所述经校验车位的所述车位角点,确定并输出所述经校验车位的车位语义信息。
2.根据权利要求1所述的车位检测方法,其特征在于,所述基于所述车位角点,执行车位校验以从所述识别车位中确定经校验车位,包括:
对于每一所述识别车位,判断所述识别车位的所述车位角点是否满足车位自校验条件,若否,则确定所述识别车位为校验失败车位;
对于同一帧检测图中的多个所述识别车位,根据所述多个所述识别车位之间的相互关系,判断所述多个所述识别车位的每一识别车位是否满足车位相互校验条件,将不满足所述车位相互校验条件的所述识别车位确定为校验失败车位;
对于不同两帧检测图中的所述识别车位,判断不同两帧检测图中的所述识别车位是否满足帧间校验条件,将不满足所述帧间校验条件的所述识别车位确定为校验失败车位;
将满足所述车位自校验条件、所述车位相互校验条件和所述帧间校验条件的所述识别车位确定为经校验车位。
3.根据权利要求1所述的车位检测方法,其特征在于,所述车位自校验条件包括以下一项或多项组合:
所述识别车位的车位角点的数目符合预定车位角点数目;
所述识别车位的车位角点均处于预定感兴趣区域内;
所述识别车位的车位角点构成的四边形为凸四边形;
所述识别车位的车位角点构成的四边形在所述识别车位所属的当前帧检测图中的地理面积落入预定地理面积范围内。
4.根据权利要求1所述的车位检测方法,其特征在于,所述车位相互校验条件包括以下一项或多项组合:
所述识别车位的车位ID与同一帧检测图中的其他所述识别车位的车位ID不重复;
所述识别车位的车位角点构成的四边形在所述帧检测图中的地理面积与同一帧检测图中的其他所述识别车位的车位角点构成的四边形在所述帧检测图中的地理面积的均值之差不超出预定差值阈值。
5.根据权利要求1所述的车位检测方法,其特征在于,所述帧间校验条件包括以下一项或多项组合:
所述识别车位所属的当前帧检测图的时间戳不与在所述当前帧检测图之前的任意历史帧检测图的时间戳相同;
所述识别车位在其所属的当前帧检测图中的车位语义信息与在所述当前帧检测图之前的历史帧检测图中与其为同一车位的识别车位的车位语义信息一致。
6.根据权利要求1所述的车位检测方法,其特征在于,所述利用车位追踪列表,对连续多帧检测图中的所述经校验车位进行追踪时,还包括:
在所述车位追踪列表中记录每个所述经校验车位的车位状态,所述车位状态包括新状态、预测状态、更新状态和失效状态,包括:
对于从所述连续多帧检测图中确定出的每一所述经校验车位:
当所述经校验车位在某一帧检测图中首次被识别出时,将所述经校验车位记入车位追踪列表中并将所述经校验车位的车位状态标记为新状态;
当所述经校验车位在所述某一帧检测图之后的任一帧检测图中再次被识别出时,将所述经校验车位的车位状态标记为更新状态;
当所述经校验车位在所述某一帧检测图之后的任一帧检测图中未被识别出时,将所述经校验车位的车位状态标记为预测状态;
当处于预测状态或更新状态的所述经校验车位在所述某一帧检测图之后的连续多帧检测图中未被识别出的连续丢失帧数达到所述第一帧数阈值时,将所述经校验车位的车位状态标记为失效状态。
7.根据权利要求1所述的车位检测方法,其特征在于,在所述利用车位追踪列表,对连续多帧检测图中的所述经校验车位进行追踪时,利用两帧检测图的经校验车位之间的交并比来确定两帧检测图的经校验车位是否为同一车位。
8.根据权利要求7所述的车位检测方法,其特征在于,所述利用两帧检测图的经校验车位之间的交并比来确定两帧检测图的经校验车位是否为同一车位包括:
计算两帧检测图中前一帧检测图中的每个经校验车位与两帧检测图中后一帧检测图中的每个经校验车位之间的交并比;
将后一帧检测图中的与前一帧检测图中的任一经校验车位的交并比大于或等于预定交并比阈值的经校验车位确定为与前一帧检测图中的该任一经校验车位为同一车位;
将后一帧检测图中的与前一帧检测图中的所有经校验车位的交并比均小于预定交并比阈值的经校验车位确定为与前一帧检测图中的所有经校验车位均为不同车位。
9.根据权利要求8所述的车位检测方法,其特征在于,所述计算两帧检测图中前一帧检测图中的每个经校验车位与两帧检测图中后一帧检测图中的每个经校验车位之间的交并比包括:
叠加两帧检测图以得到叠加检测图;
对于两帧检测图中前一帧检测图中的任一第一经校验车位与两帧检测图中后一帧检测图中的任一第二经校验车位:
以所述第一经校验车位的车位角点与所述第二经校验车位的车位角点在所述叠加检测图中的竖直方向的最大值和最小值为外接矩形框的上下边界,以所述第一经校验车位的车位角点与所述第二经校验车位的车位角点在所述叠加检测图中的水平方向的最大值和最小值为外接矩形框的左右边界,确定所述第一经校验车位的车位角点与所述第二经校验车位的车位角点在所述叠加检测图中的外接矩形框;
当所述外接矩形框的至少一边的长度大于预定边长阈值时,确定所述第一经校验车位与所述第二经校验车位之间的交并比为零;
当所述外接矩形框的所有边的长度均小于或等于预定边长阈值时,以所述外接矩形框为边界生成栅格图,并分别统计基于所述第一经校验车位在所述栅格图中占用的栅格数目和所述第二经校验车位在所述栅格图中占用的栅格数目;
基于所述第一经校验车位在所述栅格图中占用的栅格数目和所述第二经校验车位在所述栅格图中占用的栅格数目,计算所述第一经校验车位与所述第二经校验车位之间的交并比。
10.根据权利要求1至9任意一项所述的车位检测方法,其特征在于,所述车位语义信息包括车位角点位置、车位角点顺序、主干道路方向、车位入口边、车位深度、车位宽度、车位朝向、车位方向类型、车位可泊车区域中的一者或多者。
11.根据权利要求10所述的车位检测方法,其特征在于,当所述车位语义信息包括车位角点位置时,所述方法还包括:
基于前一帧检测图中经校验车位的车位角点位置,利用卡尔曼滤波器,对当前帧检测图中所述经校验车位的车位角点位置执行平滑处理,以确定平滑处理后的车位角点位置作为当前帧检测图中所述经校验车位的车位角点位置并输出。
12.根据权利要求10所述的车位检测方法,其特征在于,当所述车位语义信息包括车位角点顺序时,所述方法还包括:
将当前帧检测图中经校验车位的车位角点顺序与前一帧检测图中所述经校验车位的车位角点顺序进行匹配,以使得所述当前帧检测图的所述车位角点顺序与所述前一帧检测图的所述车位角点顺序保持一致。
13.根据权利要求10所述的车位检测方法,其特征在于,当所述车位语义信息包括主干道路方向时,所述基于所述经校验车位的所述车位角点,确定所述经校验车位的车位语义信息,包括:
对于任一当前帧检测图:
识别所述当前帧检测图中的一对或多对相邻车位;
确定每对所述相邻车位中,从该对所述相邻车位的第一车位的形心指向该对所述相邻车位的第二车位形心的形心方向向量,从而得到一个或多个形心方向向量;
对所述一个或多个形心方向向量进行归类,以确定一个或多个形心方向类;
基于具有形心方向向量总数最多的形心方向类对应的形心方向向量,确定所述主干道路方向。
14.根据权利要求10所述的车位检测方法,其特征在于,当所述车位语义信息包括车位可泊车区域时,所述基于所述经校验车位的所述车位角点,确定所述经校验车位的车位语义信息,包括:
基于所述经校验车位的所述车位角点,确定所述经校验车位的总泊车区域;
检测所述经校验车位上是否存在障碍物;
当所述经校验车位上存在障碍物时,将所述总泊车区域减去所述障碍物所占据的不可泊车区域,得到所述经校验车位的可泊车区域;
当所述经校验车位上不存在障碍物时,将所述总泊车区域作为所述经校验车位的可泊车区域。
15.根据权利要求14所述的车位检测方法,其特征在于,所述障碍物包括固定障碍物和/或非固定障碍物;
当检测到所述经校验车位上存在固定障碍物时,按照所述固定障碍物对应的预定计算规则计算所述固定障碍物的所述不可泊车区域;
当检测到所述经校验车位上存在非固定障碍物时,确定所述非固定障碍物与所述经校验车位的所述车位角点限定的多边形的边界之间的相交边以及所述非固定障碍物的角点处于所述经校验车位的所述车位角点限定的多边形内的内角点,利用所述相交边以及所述内角点在不可泊车区域计算表中查询确定与所述相交边以及所述内角点对应的目标计算规则,利用所述目标计算规则计算所述非固定障碍物的所述不可泊车区域。
16.一种车位检测装置,其特征在于,所述装置包括:
检测图获取模块,用于获取本车辆所在区域的连续多帧检测图;
车位识别模块,用于识别所述连续多帧检测图中每帧检测图中的识别车位以及所述识别车位的车位角点;
车位校验模块,用于基于所述车位角点,执行车位校验以从所述识别车位中确定经校验车位;
车位追踪模块,用于利用车位追踪列表,对所述连续多帧检测图中的所述经校验车位进行追踪,以在所述车位追踪列表中记录每个所述经校验车位的在连续多帧检测图中被识别出的连续可见帧数和在连续多帧检测图中未被识别出的连续丢失帧数,并在任一所述经校验车位的所述连续丢失帧数达第一帧数阈值时从所述车位追踪列表中删除该所述经校验车位;
车位语义输出模块,用于对于所述车位追踪列表中的所述连续可见帧数达第二帧数阈值的每个所述经校验车位,基于所述经校验车位的所述车位角点,确定并输出所述经校验车位的车位语义信息。
17.一种车位检测设备,装载于车辆中,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至15中任一项所述的车位检测方法的步骤。
18.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至15中任一项所述的车位检测方法的步骤。
CN202210854345.8A 2022-07-14 2022-07-14 车位检测方法、装置、设备和存储介质 Pending CN115063781A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202210854345.8A CN115063781A (zh) 2022-07-14 2022-07-14 车位检测方法、装置、设备和存储介质
US18/221,792 US20240029448A1 (en) 2022-07-14 2023-07-13 Parking space detection method, apparatus, device and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210854345.8A CN115063781A (zh) 2022-07-14 2022-07-14 车位检测方法、装置、设备和存储介质

Publications (1)

Publication Number Publication Date
CN115063781A true CN115063781A (zh) 2022-09-16

Family

ID=83207056

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210854345.8A Pending CN115063781A (zh) 2022-07-14 2022-07-14 车位检测方法、装置、设备和存储介质

Country Status (2)

Country Link
US (1) US20240029448A1 (zh)
CN (1) CN115063781A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115482533A (zh) * 2022-09-19 2022-12-16 北京百度网讯科技有限公司 陈列柜的拆分方法、装置、电子设备及存储介质
CN117173014A (zh) * 2023-07-31 2023-12-05 零束科技有限公司 一种在bev图像中合成3d目标的方法及装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115482533A (zh) * 2022-09-19 2022-12-16 北京百度网讯科技有限公司 陈列柜的拆分方法、装置、电子设备及存储介质
CN117173014A (zh) * 2023-07-31 2023-12-05 零束科技有限公司 一种在bev图像中合成3d目标的方法及装置
CN117173014B (zh) * 2023-07-31 2024-05-03 零束科技有限公司 一种在bev图像中合成3d目标的方法及装置

Also Published As

Publication number Publication date
US20240029448A1 (en) 2024-01-25

Similar Documents

Publication Publication Date Title
CN110807350B (zh) 用于面向扫描匹配的视觉slam的系统和方法
CN115063781A (zh) 车位检测方法、装置、设备和存储介质
Erbs et al. Moving vehicle detection by optimal segmentation of the dynamic stixel world
CN107818557A (zh) 用于自动车辆的增强型相机对象检测
US8995714B2 (en) Information creation device for estimating object position and information creation method and program for estimating object position
US20080253606A1 (en) Plane Detector and Detecting Method
KR102167835B1 (ko) 영상 처리 방법 및 장치
CN111937036A (zh) 用于处理传感器数据的方法、设备和具有指令的计算机可读存储介质
CN112801225B (zh) 极限工况下自动驾驶多传感器融合感知方法及系统
CN114120149B (zh) 一种倾斜摄影测量建筑物特征点提取方法、装置、电子设备及介质
US20210237737A1 (en) Method for Determining a Lane Change Indication of a Vehicle
CN110992424B (zh) 基于双目视觉的定位方法和系统
CN112912894B (zh) 道路边界识别方法和装置
CN110864670B (zh) 目标障碍物位置的获取方法和系统
CN112433193B (zh) 一种基于多传感器的模位置定位方法及系统
CN115236672A (zh) 障碍物信息生成方法、装置、设备及计算机可读存储介质
CN115249407A (zh) 指示灯状态识别方法、装置、电子设备、存储介质及产品
Dumortier et al. 4-d tensor voting motion segmentation for obstacle detection in autonomous guided vehicle
Ghosh et al. On localizing a camera from a single image
Lee et al. Self-localization of a mobile robot without camera calibration using projective invariants
US20220412745A1 (en) Obtaining a vehicle environment map based on aerial imaging
US12008785B2 (en) Detection, 3D reconstruction and tracking of multiple rigid objects moving in relation to one another
Brandao et al. Integrating the whole cost-curve of stereo into occupancy grids
WO2024004325A1 (ja) 外界認識装置及び外界認識方法
EP4336466A2 (en) Method and apparatus for modeling object, storage medium, and vehicle control method

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