一种基于深度学习检测路侧停车场泊位的方法及装置
技术领域
本发明涉及智能交通
技术领域
,尤其涉及一种基于深度学习检测路侧停车场泊位的方法及装置。背景技术
现有技术中基于高位视频的路侧停车场管理系统,一般是由网络相机、云计算和停车场管理设备搭建而成的,针对路侧停车位的车辆驶出和驶入的信息化服务系统。该路侧停车场管理系统通过摄像机对车辆信息进行图像视频采集,再通过计算机视觉技术对采集的图像进行分析与处理,实现对车辆的动态和静态的综合管理。在该视觉场景下,车辆和泊位成了两个主要管理的目标对象,其中泊位管理包括泊位定位,泊位占位情况等。而泊位的定位的检测精度直接影响了泊位占位的检测。
现有的泊位定位方法包括采用人工标定方法,该方式的定位精度虽然高,但是,随着停车系统业务的大规模拓展,人工成本极大,如一个拥有百万停车泊位的城市级规模,其人工标定成本极高;另外,相机不可避免地会受外力干扰,造成相机移动,则已标定的泊位位置也得重新定位,人工成本将成倍提高。因此自动化标定泊位的方法逐步替代了人工标定的方法,目前自动化标定泊位的方法,如基于霍夫直线检测等方法,不适用于复杂场景下的应用。因此,亟需一种适用于复杂场景下的自动化标定泊位的方法。
发明内容
本发明实施例提供一种基于深度学习检测路侧停车场泊位的方法及装置,实现了无需人工操作,即可针对复杂的路侧停车场景,精确地定位泊位的位置。
一方面,本发明实施例提供了一种基于深度学习检测路侧停车场泊位的方法,包括:
获取预定监控区域中包含至少一个泊位的图像,通过角点检测模型检测所述图像,得到所述图像中的各个可见泊位角点的位置与类型;
通过语义分割模型分割所述图像,得到包含各泊位边线区域的分割图;
根据所述各个可见泊位角点的位置与类型以及所述分割图中的各泊位边线区域,分析所述图像中各个可见泊位角点与所述各泊位边线区域的位置关系;
根据所述位置关系,确定所述图像中各个泊位的位置。
进一步地,所述获取预定监控区域中包含至少一个泊位的图像,通过角点检测模型检测所述图像,得到所述图像中的各个可见泊位角点的位置与类型,包括:
获取预定监控区域中包含至少一个泊位的图像,通过角点检测模型获取所述图像中的各个可见泊位角点的位置,并截取每个泊位角点在所述图像中的角点区域;
通过预定层数组成的卷积神经网络,确定所述角点区域中各个可见泊位角点的类型;
其中,所述泊位角点的类型包括“L”型角点、“T”型角点、“I”型角点和非角点中的任一项。
进一步地,在所述通过角点检测模型检测所述图像,得到所述图像中的各个可见泊位角点的位置与类型的步骤之前,包括:
获取角点训练集,并标注所述角点训练集中各个图像中的泊位角点矩形框区域和泊位角点类型;
通过梯度下降算法训练标注后的所述角点训练集,得到角点检测模型。
进一步地,所述通过角点检测模型获取所述图像中的各个可见泊位角点的位置,并截取每个泊位角点在所述图像中的角点区域,包括:
通过预定目标检测模型和预定网络结构,得到所述图像的多个不同尺度的特征,并根据所述多个不同尺度的特征,分别获取不同大小的目标物体;
识别所述目标物体中的泊位角点,确定包含每个泊位角点在所述图像中的矩形框区域,并截取所述矩形框区域中的角点区域。
进一步地,所述通过语义分割模型分割所述图像,得到包含各泊位边线区域的分割图,包括:
将所述图像输入所述语义分割模型,得所述图像的特征图;
确定所述特征图中的每个像素各自对应的像素区域,并分析各像素区域的语义类别;
根据各像素区域的语义类别,确定语义类别为泊位边线区域的各像素,得到包含各泊位边线区域的分割图;
其中,所述语义类别包括背景和地面实线中的任一项,所述地面实线包括车道线和泊位线中的至少一项。
进一步地,所述根据所述各个可见泊位角点的位置与类型以及所述分割图中的各泊位边线区域,分析所述图像中各个可见泊位角点与所述各泊位边线区域的位置关系,包括:
判断所述各个可见泊位角点中每两个泊位角点之间的线段是否为地面实线;
若是,根据所述分割图,确定每两个泊位角点之间的线段为地面实线的线段集合,得到角点连接图。
进一步地,所述根据所述位置关系,确定所述图像中各个泊位的位置,包括:
判断所述连接图中是否至少含有三条线段相连接的待检测区域;
若是,判断所述待检测区域中的泊位角点类型是否为“L”型角点或“T”型角点;
若是,确定所述待检测区域为泊位。
另一方面,本发明实施例提供了一种基于深度学习检测路侧停车场泊位的装置,包括:
检测模块,用于获取预定监控区域中包含至少一个泊位的图像,通过角点检测模型检测所述图像,得到所述图像中的各个可见泊位角点的位置与类型;
分割模块,用于通过语义分割模型分割所述图像,得到包含各泊位边线区域的分割图;
分析模块,用于根据所述各个可见泊位角点的位置与类型以及所述分割图中的各泊位边线区域,分析所述图像中各个可见泊位角点与所述各泊位边线区域的位置关系;
确定模块,用于根据所述位置关系,确定所述图像中各个泊位的位置。
进一步地,所述检测模块,包括:
获取及截取单元,用于获取预定监控区域中包含至少一个泊位的图像,通过角点检测模型获取所述图像中的各个可见泊位角点的位置,并截取每个泊位角点在所述图像中的角点区域;
确定单元,用于通过预定层数组成的卷积神经网络,确定所述角点区域中各个可见泊位角点的类型;
其中,所述泊位角点的类型包括“L”型角点、“T”型角点、“I”型角点和非角点中的任一项。
进一步地,包括:
标注模块,用于获取角点训练集,并标注所述角点训练集中各个图像中的泊位角点矩形框区域和泊位角点类型;
训练模块,用于通过梯度下降算法训练标注后的所述角点训练集,得到角点检测模型。
进一步地,所述获取及截取单元,具体用于
通过预定目标检测模型和预定网络结构,得到所述图像的多个不同尺度的特征,并根据所述多个不同尺度的特征,分别获取不同大小的目标物体;
识别所述目标物体中的泊位角点,确定包含每个泊位角点在所述图像中的矩形框区域,并截取所述矩形框区域中的角点区域。
进一步地,所述分割模块,具体用于
将所述图像输入所述语义分割模型,得所述图像的特征图;
确定所述特征图中的每个像素各自对应的像素区域,并分析各像素区域的语义类别;
根据各像素区域的语义类别,确定语义类别为泊位边线区域的各像素,得到包含各泊位边线区域的分割图;
其中,所述语义类别包括背景和地面实线中的任一项,所述地面实线包括车道线和泊位线中的至少一项。
进一步地,所述分析模块,具体用于
判断所述各个可见泊位角点中每两个泊位角点之间的线段是否为地面实线;
若是,根据所述分割图,确定每两个泊位角点之间的线段为地面实线的线段集合,得到角点连接图。
进一步地,所述确定模块,具体用于
判断所述连接图中是否至少含有三条线段相连接的待检测区域;
若是,判断所述待检测区域中的泊位角点类型是否为“L”型角点或“T”型角点;
若是,确定所述待检测区域为泊位。
上述技术方案具有如下有益效果:通过本发明,能够高效、准确地确定图像中的各个可见泊位角点的位置与类型,实现了在保证实时性与准确率的前提下对图像进行分割得到的各泊位边线区域的分割图,为后续精确地定位泊位的位置提供了必要的前提条件;实现了通过分析图像中各个可见泊位角点与各泊位边线区域的位置关系,无需人工操作,即可针对复杂的路侧停车场景,精确地定位泊位的位置,进一步地,极大地节约了路侧停车管理的成本。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中基于深度学习检测路侧停车场泊位的方法流程图;
图2为本发明一实施例中基于深度学习检测路侧停车场泊位的装置结构示意图;
图3为本发明一优选实施例中路侧停车场场景下摄像机拍摄的图像示意图;
图4为本发明一优选实施例中泊位角点示意图;
图5为本发明一优选实施例中角点检测模型训练过程流程示意图;
图6为本发明一优选实施例中路侧停车场场景下摄像机拍摄的泊位位置示意图;
图7为本发明一优选实施例中泊位角点类型示意图;
图8为本发明一优选实施例中训练语义分割模型图像集中的示例原图与对示例原图标注后的分割图的示意图;
图9为本发明一优选实施例中泊位角点连线示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例上述技术方案具有如下有益效果:通过本发明,能够高效、准确地确定图像中的各个可见泊位角点的位置与类型,实现了在保证实时性与准确率的前提下对图像进行分割得到的各泊位边线区域的分割图,为后续精确地定位泊位的位置提供了必要的前提条件;实现了通过分析图像中各个可见泊位角点与各泊位边线区域的位置关系,无需人工操作,即可针对复杂的路侧停车场景,精确地定位泊位的位置,进一步地,极大地节约了路侧停车管理的成本。
以下结合应用实例对本发明实施例上述技术方案进行详细说明:
本发明应用实例旨在无需人工操作,即可针对复杂的路侧停车场景,精确地定位泊位的位置。
在一种可能的实现方式中,例如,在路侧停车管理系统中,获取通过视频采集设备采集到的预定监控区域图像的角点训练集,如角点训练集D,并标注角点训练集D中各个图像中的泊位角点矩形框区域和泊位角点类型;随后可获取角点训练集D中各图像所对应的矩形框标签,即每张图像的中以泊位角点为中心的矩形区域以及泊位角点的类型,如图4中该图像的泊位角点{G3},泊位角点{G1,G2}和泊位角点{G3,G4,G6};随后,将YOLOv3(YouOnly Look Once系列的目标检测算法中的第三版)作为角点检测模型,利用角点训练集D,通过梯度下降算法训练得到最优的二阶段级联结构的卷积神经网络的角点检测模型,其中,角点检测模型训练过程流程示意图如图5所示。
在路侧停车管理系统的泊位定位过程中,首先,获取预定监控区域中包含至少一个泊位的图像,通过训练得到的角点检测模型检测各个图像,得到各个图像中的各个可见泊位角点的位置与类型;随后通过语义分割模型分割各图像,得到各图像包含各泊位边线区域的分割图;针对每一张图像,根据各个可见泊位角点的位置与类型以及分割图中的各泊位边线区域,分析各图像中各个可见泊位角点与各泊位边线区域的位置关系,根据该位置关系,确定各图像中各个泊位的位置。
需要说明的是,本发明实施例中的视频采集设备为设置在路侧停车场的单目相机。通过调节相机的位置、角度和高度使之能够同时监控若干个路侧泊位。如图6所示,调节后的相机获取到的图像包含了泊位A、泊位B和泊位C等泊位。用此状态的相机获取图像作为后续检测和分割算法模型的训练,以及停车管理系统使用的数据来源。
在一种可能的实现方式中,所述获取预定监控区域中包含至少一个泊位的图像,通过角点检测模型检测所述图像,得到所述图像中的各个可见泊位角点的位置与类型,包括:获取预定监控区域中包含至少一个泊位的图像,通过角点检测模型获取所述图像中的各个可见泊位角点的位置,并截取每个泊位角点在所述图像中的角点区域;通过预定层数组成的卷积神经网络,确定所述角点区域中各个可见泊位角点的类型;其中,所述泊位角点的类型包括“L”型角点、“T”型角点、“I”型角点和非角点中的任一项。
其中,所述通过角点检测模型获取所述图像中的各个可见泊位角点的位置,并截取每个泊位角点在所述图像中的角点区域,包括:通过预定目标检测模型和预定网络结构,得到所述图像的多个不同尺度的特征,并根据所述多个不同尺度的特征,分别获取不同大小的目标物体;识别所述目标物体中的泊位角点,确定包含每个泊位角点在所述图像中的矩形框区域,并截取所述矩形框区域中的角点区域。
例如,在路侧停车管理系统的泊位定位过程中,获取预定监控区域中的图像,如图像A,如图3所示,确定图像A中是否包含至少一个泊位的图像,若包含,通过将图像A输入角点检测模型的第一阶段,该第一阶段采用深度学习目标检测模型YOLOv3和特征金字塔FPN(Feature Pyramid Networks,特征金字塔网络)网络结构,YOLOv3将预测输出三个不同尺度的特征,在三个不同的尺度上检测出不同大小的目标物体,通过YOLOv3识别该目标物体中的泊位角点后输出每个泊位角点在图像A中的矩形框区域,随后,在角点检测模型的第二阶段,通过根据得到的每个泊位角点在图像A中的矩形框区域,截取图像A的角点区域,并将截取后的图像A的角点区域输入5个卷积层的网络中,获取图像A中每个泊位角点的类型,分类网络的输出的泊位角点的类型包括“L”型角点、“T”型角点、“I”型角点和非角点。泊位角点的类型如图7所示。
在一种可能的实现方式中,所述通过语义分割模型分割所述图像,得到包含各泊位边线区域的分割图,包括:将所述图像输入所述语义分割模型,得所述图像的特征图;确定所述特征图中的每个像素各自对应的像素区域,并分析各像素区域的语义类别;根据各像素区域的语义类别,确定语义类别为泊位边线区域的各像素,得到包含各泊位边线区域的分割图。
其中,所述语义类别包括背景和地面实线中的任一项,所述地面实线包括车道线和泊位线中的至少一项。
例如,在路侧停车管理系统的泊位定位过程中,获取预定监控区域中包含至少一个泊位的图像A,通过角点检测模型检测图像A,得到图像A中的各个可见泊位角点的位置与类型;并图像A输入语义分割模型,本实例采用深度学习语义分割模型PSPNet(PyramidScene Parsing Network,金字塔式场景分割网络),PSPNet是一个具有实时性的语义分割模型,采用该模型将待检测图像分割为背景与地面实线两类。PSPNet由施加膨胀卷积的ResNet(Residual Network,残差网络)和PPM(pyramid pooling module,金字塔池化模块)构成。将原待检测图像,如图像A作为PSPNet输入,得到图像A的特征图,其中,输出的特征图的尺寸是图像A的1/8大小;随后,确定该特征图中的每个像素各自对应的像素区域,并分析各像素区域的语义类别,在该特征图上预测每个像素的语义类别,具体地,预测每个像素属于地面实线和背景的概率,最终通过该概率值确定各像素区域的语义类别,随后,根据各像素区域的语义类别,确定语义类别为泊位边线区域的各像素,得到包含各泊位边线区域的分割图。
其中,还包括:预训练用于分割泊位线的语义分割模型。预先训练卷积神经网络泊位线的语义分割模型,需要从相机中采集图像集S,图像集S包含相机原图像和标注信息,其标注信息即分割图。分割图中每个像素点的语义类别中0代表背景,1代表地面实线,地面实线包含泊位线和车道线,如图8中标注后的分割图中所示白色区域为背景,黑色区域地面实线。利用图像集S,通过梯度下降算法训练泊位线分割模型,最后,导出最终训练后的泊位线的语义分割模型,该语义分割模型可用于获取待检测图像中的所有地面实线区域。
需要说明的是,本发明实施例中将泊位边线分割问题当作图像语义分割问题进行处理,由于泊位线与车道线相似性极高,本发明实施例中将车道线与泊位线当作同类别线段进行处理,即都属于地面实线,在分割过程中,将地面实线视为前景类别,其它区域为背景。通过该方式,为后续高效精确地分析图像中各个可见泊位角点与各泊位边线区域的位置关系提供了必要的前提条件,同时,通过采用深度学习语义分割模型PSPNet,能够保证图像分割的实时性与准确率,进一步地,提高了泊位位置的定位精度。
在一种可能的实现方式中,所述根据所述各个可见泊位角点的位置与类型以及所述分割图中的各泊位边线区域,分析所述图像中各个可见泊位角点与所述各泊位边线区域的位置关系,包括:判断所述各个可见泊位角点中每两个泊位角点之间的线段是否为地面实线;若是,根据所述分割图,确定每两个泊位角点之间的线段为地面实线的线段集合,得到角点连接图。
其中,所述根据所述位置关系,确定所述图像中各个泊位的位置,包括:判断所述连接图中是否至少含有三条线段相连接的待检测区域;若是,判断所述待检测区域中的泊位角点类型是否为“L”型角点或“T”型角点;若是,确定所述待检测区域为泊位。
例如,接上例,在路侧停车管理系统的泊位定位过程中,根据通过角点检测模型已获取图像A中的各个可见泊位角点的位置,如图9所示,通过角点检测模型获取图中11个角点{V1,V2,V3,V4,V5,V6,V7,V8,V9,V10,V11},利用已得到包含各泊位边线区域的分割图判断每两个角点之间的区域是否为地面实线,若是,将该两角点连接,获取泊位边线{e1,e2,e3,e4,e5,e6,e7}得到连接图,通过该连接图,判断该连接图中是否至少含有三条线段相连接的待检测区域,若含有,判断待检测区域中的泊位角点类型是否为“L”型角点或“T”型角点;若是,确定待检测区域为泊位,其中,在图9中如实线e6,仅有两个“I”型角点,则实线e6为分割得到的非泊位线。
本发明实施例提供了一种基于深度学习检测路侧停车场泊位的装置,可以实现上述提供的方法实施例,具体功能实现请参见方法实施例中的说明,在此不再赘述。
应该明白,公开的过程中的步骤的特定顺序或层次是示例性方法的实例。基于设计偏好,应该理解,过程中的步骤的特定顺序或层次可以在不脱离本公开的保护范围的情况下得到重新安排。所附的方法权利要求以示例性的顺序给出了各种步骤的要素,并且不是要限于所述的特定顺序或层次。
在上述的详细描述中,各种特征一起组合在单个的实施方案中,以简化本公开。不应该将这种公开方法解释为反映了这样的意图,即,所要求保护的主题的实施方案需要比清楚地在每个权利要求中所陈述的特征更多的特征。相反,如所附的权利要求书所反映的那样,本发明处于比所公开的单个实施方案的全部特征少的状态。因此,所附的权利要求书特此清楚地被并入详细描述中,其中每项权利要求独自作为本发明单独的优选实施方案。
为使本领域内的任何技术人员能够实现或者使用本发明,上面对所公开实施例进行了描述。对于本领域技术人员来说;这些实施例的各种修改方式都是显而易见的,并且本文定义的一般原理也可以在不脱离本公开的精神和保护范围的基础上适用于其它实施例。因此,本公开并不限于本文给出的实施例,而是与本申请公开的原理和新颖性特征的最广范围相一致。
上文的描述包括一个或多个实施例的举例。当然,为了描述上述实施例而描述部件或方法的所有可能的结合是不可能的,但是本领域普通技术人员应该认识到,各个实施例可以做进一步的组合和排列。因此,本文中描述的实施例旨在涵盖落入所附权利要求书的保护范围内的所有这样的改变、修改和变型。此外,就说明书或权利要求书中使用的术语“包含”,该词的涵盖方式类似于术语“包括”,就如同“包括,”在权利要求中用作衔接词所解释的那样。此外,使用在权利要求书的说明书中的任何一个术语“或者”是要表示“非排它性的或者”。
本领域技术人员还可以了解到本发明实施例列出的各种说明性逻辑块(illustrative logical block),单元,和步骤可以通过电子硬件、电脑软件,或两者的结合进行实现。为清楚展示硬件和软件的可替换性(interchangeability),上述的各种说明性部件(illustrative components),单元和步骤已经通用地描述了它们的功能。这样的功能是通过硬件还是软件来实现取决于特定的应用和整个系统的设计要求。本领域技术人员可以对于每种特定的应用,可以使用各种方法实现所述的功能,但这种实现不应被理解为超出本发明实施例保护的范围。
本发明实施例中所描述的各种说明性的逻辑块,或单元都可以通过通用处理器,数字信号处理器,专用集成电路(ASIC),现场可编程门阵列或其它可编程逻辑装置,离散门或晶体管逻辑,离散硬件部件,或上述任何组合的设计来实现或操作所描述的功能。通用处理器可以为微处理器,可选地,该通用处理器也可以为任何传统的处理器、控制器、微控制器或状态机。处理器也可以通过计算装置的组合来实现,例如数字信号处理器和微处理器,多个微处理器,一个或多个微处理器联合一个数字信号处理器核,或任何其它类似的配置来实现。
本发明实施例中所描述的方法或算法的步骤可以直接嵌入硬件、处理器执行的软件模块、或者这两者的结合。软件模块可以存储于RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移动磁盘、CD-ROM或本领域中其它任意形式的存储媒介中。示例性地,存储媒介可以与处理器连接,以使得处理器可以从存储媒介中读取信息,并可以向存储媒介存写信息。可选地,存储媒介还可以集成到处理器中。处理器和存储媒介可以设置于ASIC中,ASIC可以设置于用户终端中。可选地,处理器和存储媒介也可以设置于用户终端中的不同的部件中。
在一个或多个示例性的设计中,本发明实施例所描述的上述功能可以在硬件、软件、固件或这三者的任意组合来实现。如果在软件中实现,这些功能可以存储与电脑可读的媒介上,或以一个或多个指令或代码形式传输于电脑可读的媒介上。电脑可读媒介包括电脑存储媒介和便于使得让电脑程序从一个地方转移到其它地方的通信媒介。存储媒介可以是任何通用或特殊电脑可以接入访问的可用媒体。例如,这样的电脑可读媒体可以包括但不限于RAM、ROM、EEPROM、CD-ROM或其它光盘存储、磁盘存储或其它磁性存储装置,或其它任何可以用于承载或存储以指令或数据结构和其它可被通用或特殊电脑、或通用或特殊处理器读取形式的程序代码的媒介。此外,任何连接都可以被适当地定义为电脑可读媒介,例如,如果软件是从一个网站站点、服务器或其它远程资源通过一个同轴电缆、光纤电缆、双绞线、数字用户线(DSL)或以例如红外、无线和微波等无线方式传输的也被包含在所定义的电脑可读媒介中。所述的碟片(disk)和磁盘(disc)包括压缩磁盘、镭射盘、光盘、DVD、软盘和蓝光光盘,磁盘通常以磁性复制数据,而碟片通常以激光进行光学复制数据。上述的组合也可以包含在电脑可读媒介中。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。