掌桥专利:专业的专利平台
掌桥专利
首页

一种细粒度车型识别方法、装置及存储介质

文献发布时间:2023-06-19 12:02:28


一种细粒度车型识别方法、装置及存储介质

技术领域

本发明涉及计算机视觉和人工智能技术领域,特别是涉及一种细粒度车型识别方法、装置及存储介质。

背景技术

随着智能生活的迅速发展,智能交通的各方面应用也慢慢渗透到人们的日常生活中。车型识别,在高速路口、停车场、路面监控等场景中,车型识别有着广泛的应用。细粒度车型识别,作为智能交通系统的重要组成部分,也是计算机视觉领域重要的研究课题。

目前细粒度车型识别普遍使用卷积神经网络(CNN)技术来识别车型,由于深度学习是通过端到端的数据驱动,因此容易受车辆类别的样本数量不均、各车型的特征差异小、受环境影响样本质量低等因素的影响,造成识别难度大,车型识别错误的问题。

针对图像样本数量不均的问题,现有技术是通过对多样本类别进行欠采样,对少样本类别进行数据扩充或过采样来达到各车型类别样本的平衡,但其生成的样本真实性较差;针对各车型的特征差异小、图像样本质量低的问题,现有的单一的数据增强方法生成的样本之间差异性较小,混合多种数据增强使用容易放大噪点,无法同时很好的自适应处理多种复杂环境下的样本。

发明内容

本发明所要解决的技术问题是针对现有技术的不足,提供一种细粒度车型识别方法、装置及存储介质,通过预处理、数据增强的方式扩充数据,解决样本分布不均的问题,基于K-Means聚类算法和所述图像属性聚类采样,解决因车型的特征差异小、图像样本质量低而无法识别的问题。

本发明解决上述技术问题的技术方案如下,一种细粒度车型识别方法,包括如下步骤:

导入多组原始类别数据集,每组所述原始类别数据集包括与车型对应的多个原始图像;

对每个所述原始图像进行预处理,得到与所述原始图像对应的样本图像,并根据所有的所述样本图像得到多组样本图像集,其中,每组所述样本图像集中包括同一车型对应的多个样本图像;

根据预设K值从多个所述样本图像集中确定待扩充的样本图像集,并对每组待扩充的样本图像集进行数据增强处理,得到扩充的样本图像集;

从未扩充的样本图像集和已扩充的样本图像集中获取图像属性,并基于K-Means聚类算法和所述图像属性分别计算每组未扩充的样本图像集和已扩充的样本图像集的聚类中心,得到与每个车型类别对应的采样样本集;

将每组训练数据输入到待训练模型中进行训练,得到训练模型,其中,每组所述训练数据包括每个车型对应的所述采样样本集与所述样本图像集;

将所述样本图像输入所述训练模型中进行识别,得到车型的识别结果。

本发明的有益效果是:通过对原始图像样本进行预处理及图像增强,使样本图像不同程度地优化与弱化,扩充了样本图像数量,解决了样本数量不均的问题,同时得到高质量、多样化的样本图像,经过K-Means聚类算法采样训练,可训练出识别率更高、泛化能力更强的模型,解决了车型的特征差异小、图像样本质量低的问题,提高车型细粒度识别的精度。

在上述技术方案的基础上,本发明还可以做如下改进:

进一步,所述对每个所述原始图像进行预处理,得到与所述原始图像对应的样本图像,包括:

获取所述原始图像,对其进行垂直对半裁剪,得到像素及规格相同的第一原始子样本图像和第二原始子样本图像,并将所述第二原始子样本图像进行水平翻转,得到第二原始子样本图像镜像,将所述第一原始图像子样本和所述第二原始子样本图像镜像作为样本图像。

采用上述进一步方案的有益效果是:利用对称性裁剪扩充原始类别数据集,一定程度可以增强模型的泛化能力,减少因光照不均匀、遮挡等复杂环境因素对识别结果的影响。

进一步,所述将所述样本图像输入训练模型中进行识别,得到车型的识别结果,包括:

将所述第一原始子样本图像和所述第二原始子样本图像镜像输入训练模型中进行识别,得到与所述第一原始子样本图像对应的第一置信率以及与所述第二原始子样本图像镜像的第二置信率,从所述第一置信率和所述第二置信率中选择较高置信率对应的车型作为识别结果。

采用上述进一步方案的有益效果是:分别将第一原始子样本图像和第二原始子样本图像进行识别,选择置信率较高的车型作为识别结果,使训练模型具有一定的容错性与选择性,一定程度减少因光照不均匀、遮挡等复杂环境因素对识别结果的影响。

进一步,所述根据预设K值从多个所述样本图像集中确定待扩充的样本图像集,包括:

将样本图像数量小于预设K值的样本图像集确定为待扩充的样本图像集;

进一步,所述对每组待扩充的样本图像集进行数据增强处理,包括:

随机选择一种数据增强方案对每组待扩充的样本图像集进行处理,所述数据增强方案包括:伽马变换、暗通道去雾、随机遮挡、加入高斯噪声、色彩增强、加雾处理和模糊化处理。

采用上述进一步方案的有益效果是:随机选择一种数据增强方案进行数据增强处理,对样本图像进行不同程度地优化与弱化,以获得更多样化的图像样本集,作为训练模型的训练数据源,可增强训练模型的泛化能力,提高识别准确率。

进一步,所述图像属性包括暗度值和清晰度;

所述从未扩充的样本图像集和已扩充的样本图像集中获取图像属性,并基于K-Means聚类算法和所述图像属性分别计算每组未扩充的样本图像集和已扩充的样本图像集的聚类中心,得到与每个车型类别对应的采样样本集,包括:

对所述暗度值和所述清晰度进行归一化处理,基于K-Means聚类算法,将所述暗度值和所述清晰度作为横坐标和纵坐标,通过对每组未扩充的样本图像集和已扩充的样本图像集的K个图像样本计算得到K个聚类中心,其中,每个所述聚类中心对应一个所述采样样本,每个车型类别对应的所述采样样本集包括K个采样样本,所述已扩充的样本图像集的车型类别对应的采样样本集还包括所述待扩充的样本图像集的图像样本。

采用上述进一步方案的有益效果是:两个属性值统一缩放在相似范围内,可以提升模型的收敛速度和精确度;基于K-Means聚类算法对样本图像集合理化地过采样,通过计算得出新的采样样本,使得最终采样的图像样本达到K值附近,特别对数量多的类别样本图像集进行欠采样,可筛选出属性差异性更强的样本作为训练数据,提升了训练模型的泛化能力,防止过采样出现严重的过拟合现象,解决因图像样本差异性小、图像样本质量低的原因无法识别的问题。

进一步,所述通过对每组未扩充的样本图像集和已扩充的样本图像集的K个图像样本计算得到K个聚类中心的过程包括:

S1:随机设置K个图像样本空间的点作为初始聚类中心;

S2:计算除所述K个图像样本空间的点以外的其他图像样本空间的点到K个所述初始聚类中心的距离,选择距离最近的一个初始聚类中心点作为标记类别;

S3:计算每个所述标记类别的图像样本点的平均值,将离平均值最近的图像样本点作为新聚类中心;

S4:若所述新聚类中心点与初始聚类中心点位置相同,则结束,否则返回S2。

采用上述进一步方案的有益效果是:基于K-Means聚类算法对样本图像集合理化地过采样,通过计算得出新的采样样本,使得最终采样的图像样本达到K值附近,特别对数量多的类别样本图像集进行欠采样,可筛选出属性差异性更强的样本作为训练数据,提升了训练模型的泛化能力,防止过采样出现严重的过拟合现象,解决因图像样本差异性小、图像样本质量低的原因无法识别的问题。

为了解决上述技术问题,本发明还提供一种细粒度车型识别装置,包括:导入模块、处理模块、训练模块和识别模块。

导入模块,用于导入多组原始类别数据集,每组所述原始类别数据集包括与车型对应的多个原始图像;

处理模块,用于对每个所述原始图像进行预处理,得到与所述原始图像对应的样本图像,根据所有的所述样本图像得到多组样本图像集,其中,每组所述样本图像集中包括同一车型对应的多个样本图像;根据预设K值从多个所述样本图像集中确定待扩充的样本图像集,并对每组待扩充的样本图像集进行数据增强处理,得到已扩充的样本图像集;从未扩充的样本图像集和已扩充的样本图像集中获取图像属性,并基于K-Means聚类算法和所述图像属性分别计算每组从未扩充的样本图像集和已扩充的样本图像集的聚类中心,得到与每个车型类别对应的采样样本集;

训练模块,用于将每组训练数据输入到待训练模型中进行训练,得到训练模型,其中,每组所述训练数据包括每个车型对应的所述采样样本集与所述样本图像集;

识别模块,用于将所述样本图像输入所述训练模型中进行识别,得到车型的识别结果。

进一步,所述处理模块中对每个原始图像进行预处理,包括:

获取所述原始图像,对其进行垂直对半裁剪,得到第一原始子样本图像和第二原始子样本图像,并将所述第二原始子样本图像进行水平翻转,得到第二原始子样本图像镜像,将所述第一原始图像子样本和所述第二原始图像子样本镜像作为样本图像。

进一步,一种细粒度车型识别装置,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,当所述处理器执行所述计算机程序时,实现如权利要求1至6任一项所述的细粒度车型识别方法。

为了解决上述技术问题,本发明还提供一种存储介质,存储介质包括存储有一个或者多个计算机程序,所述一个或者多个计算机程序可被一个或者多个处理器执行,以实现如上所述的细粒度车型识别方法的步骤。

附图说明

图1为本发明一实施例提供的一种细粒度车型识别方法的流程图;

图2为本发明一实施例提供的错误样本分析分布曲线示意图;

图3为本发明一实施例提供的原始图像进行预处理后的示例图;

图4为本发明一实施例提供的一种细粒度车型识别装置的结构图。

具体实施方式

以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。

实施例1

如图1所示,图1为本发明实施例提供的一种细粒度车型识别方法的流程图,该细粒度车型识别方法包括:

导入多组原始类别数据集,每组所述原始类别数据集包括与车型对应的多个原始图像;

对每个所述原始图像进行预处理,得到与所述原始图像对应的样本图像,并根据所有的样本图像得到多组样本图像集,其中,每组所述样本图像集中包括同一车型对应的多个样本图像;

根据预设K值从多个所述样本图像集中确定待扩充的样本图像集,并对每组待扩充的样本图像集进行数据增强处理,得到已扩充的样本图像集;

从未扩充的样本图像集和已扩充的样本图像集中获取图像属性,并基于K-Means聚类算法和所述图像属性分别计算每组未扩充的样本图像集和已扩充的样本图像集的聚类中心,得到与每个车型类别对应的采样样本集;

将每组训练数据输入到待训练模型中进行训练,得到训练模型,其中,每组所述训练数据包括每个车型对应的所述采样样本集与所述样本图像集;

将所述样本图像输入所述训练模型中进行识别,得到车型的识别结果。

具体的,预设K值的过程是通过错误样本分析,对小样本数据集进行预训练,如图2所示,将不同车型的图像样本数量和错误比值作为参考因素,其中,错误比值=测试集中该类别判断错误的数量/训练集中该样本的数量*100,人工选择“肘部”拐点作为K值候选点,分别进行实验,选择效果最好的候选点作为K的最终取值。

在本实施例中,通过对图像样本进行数据增强,从两方面来改变图像样本,一方面将图像增强,获取更为清晰、易于辨认的图像;另一方面将图像退化,获取较为模糊、难于辨认的图像,使样本图像不同程度地优化与弱化,扩充了样本图像数量,解决了样本数量不均的问题,同时得到高质量、多样化的样本图像,经过K-Means聚类算法采样训练,可训练出识别率更高、泛化能力更强的模型,解决了车型的特征差异小、图像样本质量低的问题,提高车型细粒度识别的精度。

优选的,作为本发明的一个实施例,所述对所述原始图像进行预处理,得到与所述原始图像对应的样本图像的过程包括:

获取所述原始图像,对其进行垂直对半裁剪,得到像素及规格相同的第一原始子样本图像和第二原始子样本图像,并将所述第二原始子样本图像进行水平翻转,得到第二原始子样本图像镜像,将所述第一原始图像子样本和所述第二原始子样本图像镜像作为样本图像。

具体的,如图3所示,原始图像为车辆前后视角的图像,利用图像的对称性进行垂直对半裁剪,并将右半部分的图像进行水平翻转。

上述实施例中,利用对称性裁剪扩充原始类别数据集,一定程度可以增强模型的泛化能力,减少因光照不均匀、遮挡等复杂环境因素对识别结果的影响。

优选的,作为本发明的一个实施例,所述将所述样本图像输入训练模型中进行识别,得到车型的识别结果的过程包括:

将所述第一原始子样本图像和所述第二原始子样本图像镜像输入训练模型中进行识别,得到与所述第一原始子样本图像对应的第一置信率以及与所述第二原始子样本图像镜像的第二置信率,从所述第一置信率和所述第二置信率中选择较高置信率对应的车型作为识别结果。

上述实施例中,分别将第一原始子样本图像和第二原始子样本图像进行识别,选择置信率较高的车型作为识别结果,使训练模型具有一定的容错性与选择性,一定程度减少因光照不均匀、遮挡等复杂环境因素对识别结果的影响。

优选的,作为本发明的一个实施例,所述根据预设K值从多个所述样本图像集中确定待扩充的样本图像集,包括:

将样本图像数量小于预设K值的样本图像集确定为待扩充的样本图像集;

所述对每组待扩充的样本图像集进行数据增强处理的过程包括:

随机选择一种数据增强方案对每组待扩充的样本图像集进行处理,所述数据增强方案包括:伽马变换、暗通道去雾、随机遮挡、加入高斯噪声、色彩增强、加雾处理和模糊化处理。

具体的,如伽马变换是对过度曝光或者曝光不足的灰度图利用伽马变换进行对比度调节,通过非线性变换,让图像中较暗的区域的灰度值得到增强,图像中灰度值过大的区域的灰度值得到降低,经过伽马变换,图像整体的细节表现会得到增强;如模糊化处理可分为均值滤波模糊化处理和毛玻璃效果模糊化处理,典型的线性滤波算法采用的主要方法为邻域平均法,它是指在图像上对目标像素给一个模板,该模板包括了其周围的临近像素,再用模板中的全体像素的平均值来代替原来像素值。

可以理解的是,随机选择一种数据增强方案进行图像增强处理,对样本图像进行不同程度地优化与弱化,以获得更多样化的图像样本集,作为训练模型的训练数据源,可增强训练模型的泛化能力,提高识别准确率。

优选的,作为本发明的一个实施例,所述图像属性包括暗度值和清晰度;

所述从未扩充的样本图像集和已扩充的样本图像集中获取图像属性,并基于K-Means聚类算法和所述图像属性分别计算每组未扩充的样本图像集和已扩充的样本图像集的聚类中心,得到与每个车型类别对应的采样样本集,包括:

对所述暗度值和所述清晰度进行归一化处理,基于K-Means聚类算法,将所述暗度值和所述清晰度作为横坐标和纵坐标,通过对每组未扩充的样本图像集和已扩充的样本图像集的K个图像样本计算得到K个聚类中心,其中,每个所述聚类中心对应一个所述采样样本,每个车型类别对应的所述采样样本集包括K个采样样本,所述已扩充的样本图像集的车型类别对应的采样样本集还包括所述待扩充的样本图像集的图像样本。具体的,将所述样本图像转换为灰度图,将图像像素小于λ的图像dark_sum初始化为零,并获取所述灰度图矩阵的行数r和列数c,计算整个弧度图的像素个数为piexs_sum=r*c,遍历所述灰度图的所有像素,最终获得图像暗度值,所述图像暗度值为dark_prop=dark_sum/piexs_sum。

具体的,将所述图像样本转换为灰度图,计算所述灰度图的方差,计算图像的laplacian响应的方差,经过拉普拉斯算子之后,检测边缘信息,通过log将值进行标准化,最终结果即为所述图像样本的清晰度。

可以理解的是,先把图像转换为灰度图,然后根据灰度值的分布来判断图像的亮度,因此判断图像的亮暗,只需要统计偏暗的像素个数,再除以像素的总个数,得到百分比p即可,至于p大于多少即判断为暗;而获取图像清晰度的原理和拉普拉斯算子本身的定义有关,该算子主要用来测量图像的二阶导数,它强调了包含快速强度变化的图像区域,如果一个图像中包含着高方差,那么在图像中会有较大范围的响应,包括边缘和非边缘,这代表着一张正常图像,如果该图像的方差很低,那么响应的范围很小,这表明图像中的边缘很小,边缘信息就会越少,图像越模糊。

具体的,由于暗度值的数值在0-1之间,清晰度的范围则在0到1000之间,由于清晰度的数值范围太大,在计算距离时,清晰度成为影响距离的主要因素,从而忽略暗度值的影响,将两个属性进行归一化后,两个属性值统一缩放在相似范围内,可以提升模型的收敛速度和精确度。

具体的,所述未扩充的样本图像集为样本图像数量大于预设K值的样本图像集,所述已扩充的样本图像集为样本图像数量小于预设K值,已通过数据增强方案后扩充的样本图像集。

具体的,所述新聚类中心的横纵坐标值即为所述采样样本的暗度值和清晰度值。

具体的,所述K个图像样本中的“K”即为所述预设K值的数值。

上述实施例中,两个属性值统一缩放在相似范围内,可以提升模型的收敛速度和精确度;基于K-Means聚类算法对样本图像集合理化地过采样,通过计算得出新的采样样本,使得最终采样的图像样本达到K值附近,对样本图像数量少的车型类别的采样样本集包括计算出K个采样样本和未进行扩充时图像样本集的的图像样本,使原始图像数据得到充分利用,更具有真实性将其作为训练数据可提升训练模型的准确性;对样本图像数量多的车型类别样本的图像集进行欠采样,可筛选出属性差异性更强的样本作为训练数据,提升了训练模型的泛化能力,防止过采样出现严重的过拟合现象,解决因图像样本差异性小、图像样本质量低的原因无法识别的问题。

优选的,作为本发明的一个实施例,所述通过对每组未扩充的样本图像集和已扩充的样本图像集的K个图像样本计算得到K个聚类中心的过程包括:

S1:随机设置K个图像样本空间的点作为初始聚类中心;

S2:计算除所述K个图像样本空间的点以外的其他图像样本空间的点到K个所述初始聚类中心的距离,选择距离最近的一个初始聚类中心点作为标记类别;

S3:计算每个所述标记类别的图像样本点的平均值,将离平均值最近的图像样本点作为新聚类中心;

S4:若所述新聚类中心点与初始聚类中心点位置相同,则结束,否则返回S2。

上述实施例中,基于K-Means聚类算法对样本图像集合理化地过采样,特别对数量多的类别样本图像集进行欠采样,可筛选出属性差异性更强的样本作为训练数据,提升了训练模型的泛化能力,防止过采样出现严重的过拟合现象,解决因图像样本差异性小、图像样本质量低的原因无法识别的问题。

如图4所示,本发明实施例提供一种细粒度车型识别装置,包括:

导入模块,用于导入多组原始类别数据集,每组所述原始类别数据集包括与车型对应的多个原始图像;

处理模块,用于对每个所述原始图像进行预处理,得到与所述原始图像对应的样本图像,根据所有的样本图像得到多组样本图像集,其中,每组所述样本图像集中包括同一车型对应的多个样本图像;根据预设K值从多个所述样本图像集中确定待扩充的样本图像集,并对每组待扩充的样本图像集进行数据增强处理,得到已扩充的样本图像集;从未扩充的样本图像集和已扩充的样本图像集中获取图像属性,并基于K-Means聚类算法和所述图像属性分别计算每组未扩充的样本图像集和已扩充的样本图像集的聚类中心,得到与每个车型类别对应的采样样本集;

训练模块,用于将每组训练数据输入到待训练模型中进行训练,得到训练模型,其中,每组所述训练数据包括每个车型对应的所述采样样本集与所述样本图像集;

识别模块,用于将所述样本图像输入所述训练模型中进行识别,得到车型的识别结果。

优选的,作为本发明的一个实施例,所述处理模块中对每个原始图像进行预处理,包括:

获取所述原始图像,对其进行垂直对半裁剪,得到第一原始子样本图像和第二原始子样本图像,并将所述第二原始子样本图像进行水平翻转,得到第二原始子样本图像镜像,将所述第一原始图像子样本和所述第二原始图像子样本镜像作为样本图像。

在本实施例还提供一种细粒度车型识别装置,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,当所述处理器执行所述计算机程序时,以实现如一种细粒度车型识别方法的步骤,在此不再一一赘述。

在本实施例还提供一种存储介质,该存储介质包括存储有一个或者多个计算机程序,一个或者多个计算机程序可被一个或者多个处理器执行,以实现如上一种细粒度车型识别方法的步骤,在此不再一一赘述。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。

作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

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

以上对本发明实施例所提供的技术方案进行了详细介绍,本专利中应用了具体个例对本发明实施例的原理以及实施方式进行了阐述,以上实施例的说明只适用于帮助理解本发明实施例的原理;以上仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

相关技术
  • 一种细粒度车型识别方法、装置及存储介质
  • 一种基于卷积神经网络的细粒度车型识别方法
技术分类

06120113147726