本发明涉及共享单车规范化停放领域,尤其涉及一种基于计算机视觉的共享单车规范化停放判定方法。
背景技术:
随着共享经济的到来,共享单车在我国得到了较为广泛的普及,成为了居民重要的交通工具之一。然而,由于共享单车的设计初衷为随骑随停,在为用户提供便捷的用车服务的同时,共享单车的违章停放现象较为严重。共享单车的无序停放不仅会影响市容、妨碍交通,还给当地交通管理部门的管控带来困难。
针对共享单车规范化停放的约束方案,现有技术主要包括面向政府的解决方案和面向企业的解决方案。面向政府的解决方案主要应用人为检测或远程自动检测等技术检测违章停放的共享单车,并且采取人为措施来将违章单车清理至特定区域,形成一个个“坟场”。这类策略的最大缺点在于无法惩罚到骑车人,人为清理违章单车只会造成共享单车资源的极度浪费,对约束用户的违章行为起不到积极作用。
面向企业的解决方案主要采用“电子围栏”或禁停区来约束骑车人的行为,若用户违章停放被检测到,将会受到一定程度的惩罚。然而,这类方法的缺点在于其系统为一对多的系统,服务器需要对所有的共享单车进行监督,负载较大。另一方面,由于其使用gps定位来判断用户的停放行为,只能约束停放区域,却无法检测共享单车的停放是否规范。
技术实现要素:
针对现有技术存在的缺陷,本发明的目的在于提供一种基于计算机视觉的共享单车规范化停放判定方法,从用户端约束用户规范停放单车,将目标检测与其他图像算法应用到复杂规则判定领域,旨在解决现有技术难以约束共享单车乱停乱放且系统负载过大的问题。
为达到上述目的,本发明采用如下技术方案:
一种基于计算机视觉的共享单车规范化停放判定方法,包括以下步骤:
s1、收集规范停放和不规范停放的共享单车图像,对其中反映停放规则的实体边界框进行标记,构成带标签的共享单车规范化停放数据集;
s2、针对所述带标签的共享单车规范化停放数据集,搭建一个目标检测模型用于检测图像中包含的所有反映停放规则的实体;若图像中不存在任意所述实体,则判定图像不合格,要求重新提交图像;
s3、针对所述目标检测模型检测出的所有实体进行预处理,预测出所有实体在图像中的倾斜角度,计算实体之间的角度关系是否满足规范化停放要求,若不满足角度约束,则判定图像不合格;
s4、针对所述目标检测模型检测出的单车标签进行识别,识别用户所骑共享单车的编号;若图像中所有识别出的单车编号中至少有一者与用户所骑单车编号一致,则判定图像合格,否则判定图像不合格;
s5、使用移动端开发框架或接口,将上述模型与方法转换并嵌入至共享单车用户端应用程序;在用户停车并拍摄停放图像之后,能够在本地用户端判定是否规范化停放,只有判定合格才能够结束用车。
所述步骤s1的反映停放规则的实体包括停车标线和单车标签;所述停车标线为道路两旁用于停放单车所划白线或黄线;所述单车标签为能够标识共享单车类型和编号的特殊标记物。
所述步骤s1的实体边界框包括实体的类别和边界框的坐标;所述边界框的坐标包括实体所在边界框的中心点坐标及边界框的长和宽。
所述步骤s2的目标检测模型的搭建步骤为:
1)对所述带标签的共享单车规范化停放数据集进行预处理,统一图像分辨率与所述标签格式,划分为训练集和测试集;
2)选择一个目标检测网络,修改类别数为所述反映停放规则的实体数量,在预训练参数的基础上重新训练目标检测模型,以最优化模型输出与真实标签之间的误差;
3)针对不同的实体类别调整置信度阈值,只有置信度高于所述置信度阈值的实体才被成功检测,使所述目标检测模型能够检测并定位出输入图像中所有反映停放规则的实体。
所述步骤s3的预处理为针对目标检测模型输出的不同实体边界框进行图像处理,包括直方图均衡化、高斯平滑、颜色滤波、轮廓提取、hough直线检测步骤。
所述步骤s3的角度约束为停车标线与号牌框之间所呈的角度约束,若两者所在直线所呈角度位于
所述步骤s4的单车标签为贴于共享单车上的号牌框,号牌识别模型的搭建步骤为:
1)针对所述目标检测模型输出结果为号牌框的边界框区域进行图像二值化操作,以划分出数字前景和号牌框背景;
2)对图像中每一行的黑色像素点进行求和统计,若黑色像素点达到峰值则该行为数字间隙,对所述数字间隙的行进行水平切割,将所有数字分割开;
3)训练一个支持向量机分类模型,针对每个切割后的数字图像进行识别,以确定号牌框中对应的共享单车编号。
所述步骤s5的模型转换与部署的步骤为:
1)使用tensorflowlite提供的转换工具将pc端目标检测模型转换为移动端支持的模型,使用移动端开发语言编写目标检测后处理代码;
2)使用opencv等开发语言支持的库实现所述目标检测以外的模型和函数。
与现有技术相比,本发明的有益效果包括:
1)创新性。本发明提出了解决共享单车规范化停放的一种解决方案,首次应用计算机视觉算法对共享单车停放是否规范进行判定,将目标检测与其他图像算法应用到复杂规则判定领域。
2)有效性。本发明提出了通过检测停车标线和单车标签(号牌框)来辅助判定的方法,通过多种视觉算法对既定的规则进行判断,有效地防止了可能的作弊行为。
3)实用性。相较于“电子围栏”的一对多系统性质以及无法检测停放是否规范的缺点,本发明提出的图像判定算法基于用户端,使用简单,具有一对一系统性质,且能够针对不同的环境进行共享单车规范化停放的判定。
附图说明
图1为本发明提出的规范化停放判定方法整体搭建流程图。
图2为本发明提出的规范化停放判定方法测试过程流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,为本发明一个实施例提供的一种基于计算机视觉的共享单车规范化停放判定方法的整体搭建流程图,包括以下步骤:
s1、收集规范停放和不规范停放的共享单车图像,对其中反映停放规则的停车标线和号牌框的边界框进行标记,构成带标签的共享单车规范化停放数据集;
s2、针对所述带标签的共享单车规范化停放数据集,搭建yolov3目标检测模型用于检测图像中包含的所有停车标线和号牌框。若图像中不存在停车标线或号牌框,则判定图像不合格,要求重新提交图像;
s3、针对所述目标检测模型检测出的所有停车标线和号牌框进行预处理,预测出所有停车标线和号牌框在对应边界框中的倾斜角度,计算停车标线和号牌框之间的角度关系是否满足规范化停放要求,若不满足角度约束,则判定图像不合格;
s4、针对所述目标检测模型检测出的号牌框进行识别,识别用户所骑共享单车的编号。若图像中所有识别出的单车编号中至少有一者与用户所骑单车编号一致,则判定图像合格,否则判定图像不合格;
s5、使用移动端开发框架和接口,将上述模型与方法转换并嵌入至共享单车用户端应用程序。在用户停车并拍摄停放图像之后,算法能够在本地用户端判定是否规范化停放,只有判定合格才可结束用车。
作为本发明一个优选的实施例,收集了包含停车标线和号牌框在内的2318张图像,使用yolov3目标检测网络构建停车标线和号牌框的检测模型,然后使用轮廓提取算法和hough直线检测来确定停车标线和号牌框的所呈角度,接着训练支持向量机(svm)来对共享单车的车牌进行识别,最后把所有的模型转换并嵌入安卓端app的图像判定系统中。
本实施例的具体实现方式如下:
1)训练集准备与标注:
本实施例中,收集了2318张图像,使用labelimg可视化标注工具对所有停车标线和号牌框打上标签。所述标签文件的具体内容包括该边界框的中心点坐标、该边界框的长和宽、该边界框对应物体所属的类别。所述类别仅为两类:停车标线和号牌框。为了满足目标检测模型的固定输入维度,将所有图像数据集的分辨率调整为416*416。在所有的带标签图像中,以7:3的比例划分训练集和测试集。
2)构建目标检测模型:
本实施例使用yolo第3代(yolov3)网络作为所述目标检测模型。由于本实施例在共享单车移动端上部署模型,故选择tiny版本的网络结构作为本实施例的目标检测网络。具体步骤如下:
步骤1:使用visualstudio编译器对darknet深度学习框架进行编译。
步骤2:修改yolov3tiny的cfg格式模型文件,由于本实施例所使用的类别共2类,将每个yolo层中的类别数量c修改为2,将每个yolo层的前一个卷积层的卷积核数量修改为21。下载yolov3的预训练模型,模型为后缀weights的格式,保存了模型中所有可训练的参数信息。
步骤3:根据步骤2中得到的cfg模型拓扑文件和weights模型参数文件,对模型进行训练。
步骤4:针对已训练完成的所述目标检测模型进行测试,分别就停车标线和号牌框设置合适的置信度阈值,只有置信度高于阈值的边界框才被判定成功检测。若图像中无法检测到停车标线或号牌框,则判定图像不合格,要求用户重新提交图像。
3)确定停车标线与号牌框所呈角度:
本实施例使用hough直线检测和轮廓提取算法分别确定停车标线和车牌框的方向,并计算两者所在直线所呈的角度,仅当角度在90°附近时才满足规范化停放条件。具体步骤如下:
步骤1:确定停车标线的倾斜角度。使用直方图均衡化对停车标线对应边界框进行预处理,以减弱亮度对模型检测的影响;针对图像中可能的停车标线残缺,使用高斯平滑对图像进行预处理,使得停车标线更为饱满;对预处理后的图像进行hough直线检测,计算直线的方向向量αr。
步骤2:确定号牌框的倾斜角度。对于目标检测出的号牌框部分进行裁剪,使用直方图均衡化对图像进行预处理;使用颜色特征对图像进行滤波,滤波rgb范围为[80,100,100]至[140,255,255]之间,以提取出号牌框区域;使用高斯平滑对图像进行处理,使得号牌框区域较为完整;使用轮廓跟踪算法对号牌部分进行类矩形框轮廓提取;根据提取出的矩形框,计算其中心线所在直线的方向向量αl。
步骤3:计算停车标线和号牌所呈角度。若停车标线所在直线的方向向量αr和号牌框中心线的方向向量αl皆存在,则两者所呈角度
4)识别单车编号:
本实施例中,使用所述目标检测的号牌框结果识别单车编号,包括图像二值化、数字分割、svm数字识别三个步骤。具体步骤如下:
步骤1:图像二值化。对提取出矩形框的号牌图像部分进行二值化操作,以区分数字前景和号牌框背景。
步骤2:数字分割。对图像中每一行的黑色像素点进行求和统计,若黑色像素点达到峰值则该行为数字间隙。对数字间隙的行进行水平切割,以将所有数字分割开。
步骤3:svm数字识别。由于所需识别的字符仅为0-9的数字,故使用支持向量机(svm)对水平分割后的每个数字进行分类,以确定共享单车的单车编号。本实施例中,仅当图像中所有识别出的单车编号中至少有一者与用户所骑单车编号一致,判定图像合格,否则判定图像不合格。
5)模型转换与部署:
本实施例中,最终的共享单车判别算法需在app移动端上进行部署,因此需要将上述模型和代码转为安卓开发中所支持的格式。具体步骤如下:
步骤1:yolov3目标检测模型的转换与部署。使用yad2k工具,将模型拓扑cfg格式文件和已训练的weights格式参数文件转换为keras框架下的h5格式模型文件;使用tensorflowlite转换工具将h5格式模型文件转换为tflite格式模型文件;在安卓开发编译器中构建tensorflowlite的目标检测模型,编写yolov3后处理代码。
步骤2:其他算法的部署。本实施例中其他算法皆通过java的现有api函数实现,其中svm数字分割使用libsvm库,直方图均衡化、高斯平滑、矩形框提取、图像二值化等操作使用opencv库实现。
如图2所示,为该实施例对应的一种基于计算机视觉的共享单车规范化停放判定方法的测试过程流程图,包括以下步骤:用户在共享单车移动端上传拍摄的共享单车停放图像;所述yolov3目标检测模型判断图像中是否存在停车标线和号牌框,若不存在则判定不合格,要求用户重新上传图像;分别计算停车标线所在直线与号牌框中心线的方向,判断两者所呈角度是否满足约束,若不满足则判定不合格,要求用户重新上传图像;针对目标检测所得号牌框进行分割和识别,若识别结果与用户所骑单车编号不一致则判定不合格,要求用户重新上传图像;否则判定合格,算法完成,允许用户结束用车。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
1.一种基于计算机视觉的共享单车规范化停放判定方法,其特征在于,包括以下步骤:
s1、收集规范停放和不规范停放的共享单车图像,对其中反映停放规则的实体边界框进行标记,构成带标签的共享单车规范化停放数据集;
s2、针对所述带标签的共享单车规范化停放数据集,搭建一个目标检测模型用于检测图像中包含的所有反映停放规则的实体;若图像中不存在任意所述实体,则判定图像不合格,要求重新提交图像;
s3、针对所述目标检测模型检测出的所有实体进行预处理,预测出所有实体在图像中的倾斜角度,计算实体之间的角度关系是否满足规范化停放要求,若不满足角度约束,则判定图像不合格;
s4、针对所述目标检测模型检测出的单车标签进行识别,识别用户所骑共享单车的编号;若图像中所有识别出的单车编号中至少有一者与用户所骑单车编号一致,则判定图像合格,否则判定图像不合格;
s5、使用移动端开发框架或接口,将上述模型与方法转换并嵌入至共享单车用户端应用程序;在用户停车并拍摄停放图像之后,能够在本地用户端判定是否规范化停放,只有判定合格才能够结束用车。
2.根据权利要求1所述的基于计算机视觉的共享单车规范化停放判定方法,其特征在于,所述步骤s1的反映停放规则的实体包括停车标线和单车标签;所述停车标线为道路两旁用于停放单车所划白线或黄线;所述单车标签为能够标识共享单车类型和编号的特殊标记物。
3.根据权利要求1所述的基于计算机视觉的共享单车规范化停放判定方法,其特征在于,所述步骤s1的实体边界框包括实体的类别和边界框的坐标;所述边界框的坐标包括实体所在边界框的中心点坐标及边界框的长和宽。
4.根据权利要求1所述的基于计算机视觉的共享单车规范化停放判定方法,其特征在于,所述步骤s2的目标检测模型的搭建步骤为:
1)对所述带标签的共享单车规范化停放数据集进行预处理,统一图像分辨率与所述标签格式,划分为训练集和测试集;
2)搭建一个目标检测网络,检测类别数为所述反映停放规则的实体数量,在预训练参数的基础上重新训练目标检测模型,以最优化模型输出与真实标签之间的误差;
3)针对不同的实体类别调整置信度阈值,只有置信度高于所述置信度阈值的实体才被成功检测,使所述目标检测模型能够检测并定位出输入图像中所有反映停放规则的实体。
5.根据权利要求1所述的基于计算机视觉的共享单车规范化停放判定方法,其特征在于,所述步骤s3的预处理为针对目标检测模型输出的不同实体边界框进行图像处理,包括直方图均衡化、高斯平滑、颜色滤波、轮廓提取、hough直线检测步骤。
6.根据权利要求1所述的基于计算机视觉的共享单车规范化停放判定方法,其特征在于,所述步骤s3的角度约束为停车标线与号牌框之间所呈的角度约束,若两者所在直线所呈角度位于1/3π至2/3π之间则满足角度约束。
7.根据权利要求1所述的基于计算机视觉的共享单车规范化停放判定方法,其特征在于,所述步骤s4的单车标签为贴于共享单车上的号牌框,号牌识别模型的搭建步骤为:
1)针对所述目标检测模型输出结果为号牌框的边界框区域进行图像二值化操作,以划分出数字前景和号牌框背景;
2)对图像中每一行的黑色像素点进行求和统计,若黑色像素点达到峰值则该行为数字间隙,对所述数字间隙的行进行水平切割,将所有数字分割开;
3)训练一个支持向量机分类模型,针对每个切割后的数字图像进行识别,以确定号牌框中对应的共享单车编号。
8.根据权利要求1所述的基于计算机视觉的共享单车规范化停放判定方法,其特征在于,所述步骤s5的模型转换与部署的步骤为:
1)使用tensorflowlite提供的转换工具将pc端目标检测模型转换为移动端支持的模型,使用移动端开发语言编写目标检测后处理代码;
2)使用opencv等开发语言支持的库实现所述目标检测以外的模型和函数。
技术总结