CN110765862A - 车标识别的方法及终端设备 - Google Patents
车标识别的方法及终端设备 Download PDFInfo
- Publication number
- CN110765862A CN110765862A CN201910874555.1A CN201910874555A CN110765862A CN 110765862 A CN110765862 A CN 110765862A CN 201910874555 A CN201910874555 A CN 201910874555A CN 110765862 A CN110765862 A CN 110765862A
- Authority
- CN
- China
- Prior art keywords
- layer
- detected
- size
- vehicle
- neural network
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/50—Context or environment of the image
- G06V20/52—Surveillance or monitoring of activities, e.g. for recognising suspicious objects
- G06V20/54—Surveillance or monitoring of activities, e.g. for recognising suspicious objects of traffic, e.g. cars on the road, trains or boats
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V2201/00—Indexing scheme relating to image or video recognition or understanding
- G06V2201/08—Detecting or categorising vehicles
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Multimedia (AREA)
- Image Analysis (AREA)
Abstract
本发明适用于图像处理技术领域,提供了一种车标识别的方法及终端设备,该方法包括:通过先对多个待检测车辆的图片进行车标位置的粗定位,然后采用轻量级CNN检测网络模型进行车标位置的精确定位,再对精确定位结果进行预处理后采用预处理后的第二训练样本对预设轻量级卷积神经网络CNN模型进行训练,并根据所述第二测试样本确定训练后的神经网络模型为目标神经网络模型;将所述第二待检测图像输入所述目标神经网络模型中,获得车标识别结果,从而可以解决现有技术中人工特征提取的车标识别鲁棒性较低以及深度学习无法识别未上车牌的车辆的车标的问题。
Description
技术领域
本发明属于图像处理技术领域,尤其涉及一种车标识别的方法及终端设备。
背景技术
随着车辆数量和交通出行量的不断增长,汽车套牌、一车多牌、一牌多车以及无牌车等妨碍交通秩序的违法犯罪行为也变得尤为突出,现有车标识别方案中,通过基于手工设计特征的传统识别方法,或者基于卷积神经网络(Convolutional Neural Network,CNN)提取特征的深度学习方法。然而上述车标识别方案中,传统算法由于是人工设计的特征,在实际应用中,识别模型鲁棒性不高,容易受到相机安装角度、环境光照变化等问题的影响,导致识别精度不理想;而深度学习分类方法,由于是通过车牌位置信息进行车标定位,对未上车牌的车辆无法进行车标区域定位,导致无法识别车标。
发明内容
有鉴于此,本发明实施例提供了一种车标识别的方法及终端设备,以解决现有技术中人工特征提取的车标识别鲁棒性较低以及深度学习无法识别未上车牌的车辆的车标的问题。
本发明实施例的第一方面提供了一种车标识别的方法,包括:
获取多个待检测车辆的图片,并对所述多个待检测车辆的图片进行多次车标区域定位,获得第一训练样本、第一测试样本和第一待检测图像;
在所述第一训练样本中添加非车标样本图片,得到更新后的第一训练样本,并对所述更新后的第一训练样本、所述第一测试样本和所述第一待检测图像进行预处理,获得预处理后的第二训练样本、第二测试样本和第二待检测图像;
采用所述第二训练样本对预设轻量级卷积神经网络CNN模型进行训练,并根据所述第二测试样本确定训练后的神经网络模型为目标神经网络模型;
将所述第二待检测图像输入所述目标神经网络模型中,获得车标识别结果。
在一实施例中,所述对所述多个待检测车辆的图片进行多次车标区域定位,包括:
确定所述多个待检测车辆的图片中的车辆有效区域,获得具有车辆有效区域的第一图片;
将所述第一图片输入预设轻量级CNN检测网络模型中,获得精确定位车标图像的第二图片,所述第二图片中包括所述第一训练样本、所述第一测试样本和所述第一待检测图像。
在一实施例中,所述确定所述多个待检测车辆的图片中的车辆有效区域,获得具有车辆有效区域的第一图片,包括:
识别出任一张待检测车辆的图片中的车辆位置;
确定识别出的车辆位置中车身前面最低位置处的最左端为第一起点;
确定识别出的车辆位置中车身前面最低位置处的最右端为第二起点;
以所述第一起点和所述第二起点为起点,分别向上截取预设高度,获得包含车标的第一图片,其中,当截取高度超出所述待检测车辆的图片的边缘时,则以预设高度位置与所述待检测车辆的图片中的交点为第一图片的边缘;
按照上述确定第一图片的方式对所述多个待检测车辆的图片均进行识别,得到所述多个待检测车辆的图片对应的第一图片。
在一实施例中,所述对所述更新后的第一训练样本、所述第一测试样本和所述第一待检测图像进行预处理,包括:
对所述更新后的第一训练样本、所述第一测试样本和所述第一待检测图像分别进行尺寸缩放,并将尺寸缩放后的图片的各通道的每个像素值缩小N倍,得到预处理后的第二训练样本、第二测试样本和第二待检测图像,所述N为小于1的正数。
在一实施例中,所述预设轻量级CNN模型的网络结构依次包括:一个基础卷积层、一个平均池化层、多个dense block单元、一个全局池化层和一个全连接层,其中,各个dense block单元之间采用转换transition层进行连接;
所述全连接层中包括分类器,所述分类器用于对所述第二训练样本、所述第二测试样本和所述第二待检测图像中的车标进行分类。
在一实施例中,所述采用所述第二训练样本对预设轻量级卷积神经网络CNN模型进行训练,并根据所述第二测试样本确定训练后的神经网络模型为目标神经网络模型,包括:
采用所述第二训练样本对预设轻量级CNN模型进行训练,获得网络模型的权重和偏置值;
采用所述网络模型的权重和所述偏置值更新所述预设轻量级CNN模型;
采用所述第二测试样本对更新后的轻量级CNN模型进行检测,获得检测结果;
当所述检测结果大于或等于预设阈值时,所述更新后的轻量级CNN模型为目标神经网络模型;
当所述检测结果小于预设阈值时,重新采用新的训练样本或者所述第二训练样本中其他样本对更新后的轻量级CNN模型进行训练,直到获得目标神经网络模型。
在一实施例中,所述目标神经网络模型为:
其中,所述f(xi)表示识别网络预测概率,所述yi表示真实类别标签,所述λ表示正则化系数,所述J(f)表示正则化项,所述L表示损失函数,所述N表示所述训练样本的总数。
本发明实施例的第二方面提供了一种车标识别的装置,包括:
获取模块,用于获取多个待检测车辆的图片,并对所述多个待检测车辆的图片进行多次车标区域定位,获得第一训练样本、第一测试样本和第一待检测图像;
预处理模块,用于在所述第一训练样本中添加非车标样本图片,得到更新后的第一训练样本,并对所述更新后的第一训练样本、所述第一测试样本和所述第一待检测图像进行预处理,获得预处理后的第二训练样本、第二测试样本和第二待检测图像;
训练模块,用于采用所述第二训练样本对预设轻量级卷积神经网络CNN模型进行训练,并根据所述第二测试样本确定训练后的神经网络模型为目标神经网络模型;
识别模块,用于将所述第二待检测图像输入所述目标神经网络模型中,获得车标识别结果。
本发明实施例的第三方面提供了一种终端设备,包括:包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如上述车标识别的方法所述的步骤。
本发明实施例的第四方面提供了一种计算机可读存储介质,包括:所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如上述车标识别的方法所述的步骤。
本发明实施例与现有技术相比存在的有益效果是:通过先对多个待检测车辆的图片进行车标位置的粗定位,然后采用轻量级CNN检测网络模型进行车标位置的精确定位,再对精确定位结果进行预处理后采用预处理后的第二训练样本对预设轻量级卷积神经网络CNN模型进行训练,并根据所述第二测试样本确定训练后的神经网络模型为目标神经网络模型;将所述第二待检测图像输入所述目标神经网络模型中,获得车标识别结果,由于没有通过车牌位置信息定位车标区域,从而能够实现无牌车车标识别,并且采用的轻量级CNN模型进行车标识别,轻量级CNN模型拥有模型体积小、识别鲁棒性强,识别结果精度高的特点,因此获得的识别结果精确度较高。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的车标识别的方法的实现流程示意图;
图2是本发明实施例提供的进行多次车标区域定位方法的示意图;
图3是本发明实施例提供的车标识别的装置的示例图;
图4是本发明实施例提供的终端设备的示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。
为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
图1为本发明实施例提供的一种车标识别的方法的实现流程示意图,详述如下。
步骤101,获取多个待检测车辆的图片,并对所述多个待检测车辆的图片进行多次车标区域定位,获得第一训练样本、第一测试样本和第一待检测图像。
可选的,可以对待检测车辆拍摄多张图片,以便获得更多的训练样本,使得训练预设轻量级卷积神经网络CNN模型进行车标识别的结果更加准确。
可选的,在拍摄完成待检测车辆的图片后,可以对图片的大小进行处理,以便变化后的图片更小,同时能够包括有效的车标特征。如图2所示,对所述多个待检测车辆的图片进行多次车标区域定位可以包括以下步骤。
步骤201,确定所述多个待检测车辆的图片中的车辆有效区域,获得具有车辆有效区域的第一图片。
可选的,步骤201为对图片中有效区域的粗定位,可以包括:识别出任一张待检测车辆的图片中的车辆位置;确定识别出的车辆位置中车身前面最低位置处的最左端为第一起点;确定识别出的车辆位置中车身前面最低位置处的最右端为第二起点;以所述第一起点和所述第二起点为起点,分别向上截取预设高度,获得包含车标的第一图片。
其中,当截取高度超出所述待检测车辆的图片的边缘时,则以预设高度位置与所述待检测车辆的图片中的交点为第一图片的边缘;
按照上述确定第一图片的方式对所述多个待检测车辆的图片均进行识别,得到所述多个待检测车辆的图片对应的第一图片。
可选的,预设高度可以根据经验获取,以便在最小的高度范围内包含车标位置。
步骤202,将所述第一图片输入预设轻量级CNN检测网络模型中,获得精确定位车标图像的第二图片,所述第二图片中包括所述第一训练样本、所述第一测试样本和所述第一待检测图像。
可选的,步骤202为对粗定位后的第一图片的进一步处理,可以得到更加精确的车标位置定位的第二图片。
可选的,可以对预设轻量级CNN检测网络模型进行训练,获得目标轻量级CNN检测网络模型。例如,将预设样本图片划分为训练样本和测试样本,采用训练样本对预设轻量级CNN检测网络模型进行训练,获得训练后的轻量级CNN检测网络模型,将测试样本输入训练后的轻量级CNN检测网络模型,获得检测结果,当检测结果符合预设检测结果时,说明训练后的轻量级CNN检测网络模型满足要求,确定训练后的轻量级CNN检测网络模型为目标轻量级CNN检测网络模型,如果检测结果不符合预设检测结果时,说明训练后的轻量级CNN检测网络模型未满足要求,则可以继续训练轻量级CNN检测网络模型,直到检测结果符合预设检测结果。
获得目标轻量级CNN检测网络模型后,可以将第一图片输入到目标轻量级CNN检测网络模型中,获得精确定位车标图像的第二图片。
步骤102,在所述第一训练样本中添加非车标样本图片,得到更新后的第一训练样本,并对所述更新后的第一训练样本、所述第一测试样本和所述第一待检测图像进行预处理,获得预处理后的第二训练样本、第二测试样本和第二待检测图像。
可选的,第一训练样本中包括支持的车标类别图片和车标类别样本较少的图片,可以将非车标样本图片添加到第一训练样本中,以扩大车标识别的范围,以及提高车标识别的精度。支持的车标类别图片和车标类别样本较少的图片可以从应用现场的相机拍摄获得,非车标样本图片可以从网上下载或者其他方式获得的不包含车标的图片。
可选的对所述更新后的第一训练样本、所述第一测试样本和所述第一待检测图像分别进行尺寸缩放,并将尺寸缩放后的图片的各通道的每个像素值缩小N倍,得到预处理后的第二训练样本、第二测试样本和第二待检测图像,所述N为小于1的正数。对图片进行图像数值缩小,使得预处理后的图片更加符合轻量级卷积神经网络模型的特性,使轻量级卷积神经网络模型可以更好地拟合数据。
例如,将所述更新后的第一训练样本、所述第一测试样本和所述第一待检测图像分别进行尺寸变化,图片大小尺寸缩放为112*112,并将缩放后的图片的各通道的每个像素值分别乘以0.017,得到预处理后的图片。需要说明的是,N还可以为其它小于1的正数,在本申请中不对N的值进行限定。
步骤103,采用所述第二训练样本对预设轻量级卷积神经网络CNN模型进行训练,并根据所述第二测试样本确定训练后的神经网络模型为目标神经网络模型。
可选的,所述预设轻量级CNN模型的网络结构依次包括:一个基础卷积层、一个平均池化层、多个密集连接块dense block单元、一个全局池化层和一个全连接层,其中,各个dense block单元之间采用transition层进行连接;
所述全连接层中包括分类器,所述分类器用于对所述第二训练样本、所述第二测试样本和所述第二待检测图像中的车标进行分类。
可选的,本实施例中可以包括五个dense block单元,四个transition层。第一个dense block包含四个卷积层,分别为二个卷积核为1*1大小的卷积,二个卷积核为3*3大小的卷积;同时还包含二个concat层。第二个dense block包含四个卷积层,分别为二个卷积核为1*1大小的卷积,二个卷积核为3*3大小的卷积;同时还包含二个concat层。
第三个dense block包含八个卷积层,分别为四个卷积核为1*1大小的卷积,四个卷积核为3*3大小的卷积;同时还包含四个concat层。
第四个dense block包含十个卷积层,分别为五个卷积核为1*1大小的卷积,五个卷积核为3*3大小的卷积;同时还包含五个concat层。
第五个dense block包含八个卷积层,分别为四个卷积核为1*1大小的卷积,四个卷积核为3*3大小的卷积;同时还包含四个concat层。
四个transition层相同,包含一个卷积核大小为1*1,步长为1的卷积和一个核大小为2*2,步长为2的平均池化层。
如表一所示的预设轻量级卷积神经网络模型的网络结构。
表一
表一中,第一层为基础卷积层,用于进行卷积操作,卷积处理的输入为图片,三个通道分别为蓝绿红(blue,green and red,BGR),其尺寸大小为112*112,输出的尺寸为32*112*112,其中32为通道数目,112*112位单个特征图featuremap的大小,卷积操作的参数分别为卷积核3*3,步长为1,pad为1,后面加上一个relu类型的激活函数。
第二层为平均池化层,用于进行池化操作,池化处理的输入为第一层的输出,通道数为32,其尺寸大小为112*112,输出的尺寸为32*56*56,其中32为通道数目,56*56为单个featuremap的大小,池化操作的参数分别为池化大小为2*2,步长为2,池化类型为平均池化。
第三层为第一个dense block单元,dense block单元包含6个层的操作。其中dense block单元的第一个层为卷积层,进行卷积操作。卷积处理的输入为第二层平均池化的结果,通道数为32,大小为56*56,输出尺寸为32*56*56,其中32为输出通道数,56*56为单个featuremap的大小。卷积操作的参数分别为卷积核大小1*1,步长为1,pad为0,后面加上一个relu类型的激活函数。dense block单元的第二个层为卷积层,进行卷积操作,卷积处理的输入为第一个dense block单元的第一层的结果,通道数为16,大小为56*56,输出尺寸为16*56*56,其中16为输出通道数,56*56为单个featuremap的大小,卷积操作的参数分别为卷积核大小3*3,步长为1,pad为1,后面加上一个relu类型的激活函数。dense block单元的第三层为一个从concat层,这个从conca层的作用是对数据进行组合操作,输入分别为第二层平均池化操作的结果和第一个dense block的第二个卷积操作的结果,数据维度分别是32*56*56和16*56*56,其中32和16表示featuremap的数量,56*56表示每一个featuremap的大小,操作是将数据拼接在一起,输出的维度是(32+16)*56*56。dense block单元的第四个层为卷积层,进行卷积操作,卷积处理的输入为第一个dense block第三层的结果,通道数为48,大小为56*56,输出尺寸为32*56*56,其中32为输出通道数,56*56为单个featuremap的大小,卷积操作的参数分别为卷积核大小1*1,步长为1,pad为0,后面加上一个relu类型的激活函数。dense block单元的第五个层为卷积层,进行卷积操作,卷积处理的输入为第一个dense block第四层的结果,通道数为32,大小为56*56,输出尺寸为16*56*56,其中16为输出通道数,56*56为单个featuremap的大小,卷积操作的参数分别为卷积核大小3*3,步长为1,pad为1,后面加上一个relu类型的激活函数。dense block单元的第六层为一个从concat层,这个从concat层的作用是对数据进行组合操作,输入分别为第一个dense block第三层concat层操作的结果和第一个dense block的第五个卷积操作的结果,数据维度分别是48*56*56和16*56*56,其中32和16表示featuremap的数量,56*56表示每一个featuremap的大小,操作是将数据拼接在一起,输出的维度是(48+16)*56*56。
第四层为第一个Transition层,即第一个转换层,该层的作用是变换featuremap的大小。可选的,第一个Transition层的第一层是卷积层,进行卷积操作,卷积处理的输入为第一个dense block第六层concat的结果,通道数为64,大小为56*56,输出尺寸为32*56*56,其中32为输出通道数,56*56为单个featuremap的大小,卷积操作的参数分别为卷积核大小1*1,步长为1,pad为0,后面加上一个relu类型的激活函数。第一个Transition层的第二层是平均池化层,进行池化操作,池化处理的输入为第一个Transition层的第一层的输出,通道数为32,其尺寸大小为56*56,输出的尺寸为32*28*28,其中32为通道数目,28*28为单个featuremap的大小,池化操作的参数分别为池化大小为2*2,步长为2,池化类型为平均池化。
第五层为第二个dense block单元,dense block单元包含6个层的操作。其中dense block单元的第一个层为卷积层,进行卷积操作,卷积处理的输入为第一个Transition层第二层平均池化的结果,通道数为32,大小为28*28,输出尺寸为32*28*28,其中32为输出通道数,28*28为单个featuremap的大小,卷积操作的参数分别为卷积核大小1*1,步长为1,pad为0,后面加上一个relu类型的激活函数。dense block单元的第二个层为卷积层,进行卷积操作,卷积处理的输入为第二个dense block第一层的结果,通道数为32,大小为28*28,输出尺寸为16*28*28,其中16为输出通道数,28*28为单个featuremap的大小,卷积操作的参数分别为卷积核大小3*3,步长为1,pad为1,后面加上一个relu类型的激活函数。dense block单元的第三层为一个concat层,这个层的作用是对数据进行组合操作,输入分别为第一个Transition层第二层平均池化的结果和第二个dense block的第二个卷积操作的结果,数据维度分别是32*28*28和16*28*28,其中32和16表示featuremap的数量,28*28表示每一个featuremap的大小,操作是将数据拼接在一起,输出的维度是(32+16)*28*28。dense block单元的第四个层为卷积层,进行卷积操作,卷积处理的输入为第二个dense block第三层的结果,通道数为48,大小为28*28,输出尺寸为32*28*28,其中32为输出通道数,28*28为单个featuremap的大小,卷积操作的参数分别为卷积核大小1*1,步长为1,pad为0,后面加上一个relu类型的激活函数。dense block单元的第五个层为卷积层,进行卷积操作,卷积处理的输入为第二个dense block第四层的结果,通道数为32,大小为28*28,输出尺寸为16*28*28,其中16为输出通道数,28*28为单个featuremap的大小,卷积操作的参数分别为卷积核大小3*3,步长为1,pad为1,后面加上一个relu类型的激活函数。denseblock单元的第六层为一个从concat层,这个层的作用是对数据进行组合操作,输入分别为第二个dense block第三层concat层操作的结果和第二个dense block的第五个卷积操作的结果,数据维度分别是48*28*28和16*28*28,其中32和16表示featuremap的数量,28*28表示每一个featuremap的大小,操作是将数据拼接在一起,输出的维度是(48+16)*28*28。
第六层为第二个Transition层,即第二个转换层,该层的作用是变换featuremap的大小。可选的,第二个Transition层的第一层是卷积层,进行卷积操作,卷积处理的输入为第二个dense block第六层concat的结果,通道数为64,大小为28*28,输出尺寸为32*28*28,其中32为输出通道数,28*28为单个featuremap的大小,卷积操作的参数分别为卷积核大小1*1,步长为1,pad为0,后面加上一个relu类型的激活函数。第二个Transition层的第二层是平均池化层,进行池化操作,池化处理的输入为第二个Transition层的第一层的输出,通道数为32,其尺寸大小为28*28,输出的尺寸为32*14*14,其中32为通道数目,14*14为单个featuremap的大小,池化操作的参数分别为池化大小为2*2,步长为2,池化类型为平均池化。
第七层为第三个dense block单元,dense block单元包含12个层的操作。其中dense block单元的第一个层为卷积层,进行卷积操作,卷积处理的输入为第二个Transition层第二层平均池化的结果,通道数为32,大小为14*14,输出尺寸为32*14*14,其中32为输出通道数,14*14为单个featuremap的大小,卷积操作的参数分别为卷积核大小1*1,步长为1,pad为0,后面加上一个relu类型的激活函数。dense block单元的第二个层为卷积层,进行卷积操作,卷积处理的输入为第三个dense block第一层的结果,通道数为32,大小为14*14,输出尺寸为16*14*14,其中16为输出通道数,14*14为单个featuremap的大小,卷积操作的参数分别为卷积核大小3*3,步长为1,pad为1,后面加上一个relu类型的激活函数。dense block单元的第三层为一个concat层,这个层的作用是对数据进行组合操作,输入分别为第二个Transition层第二层平均池化的结果和第三个dense block的第二个卷积操作的结果,数据维度分别是32*14*14和16*14*14,其中32和16表示featuremap的数量,14*14表示每一个featuremap的大小,操作是将数据拼接在一起,输出的维度是(32+16)*14*14。dense block单元的第四个层为卷积层,进行卷积操作,卷积处理的输入为第三个dense block第三层的结果,通道数为48,大小为14*14,输出尺寸为32*14*14,其中32为输出通道数,14*14为单个featuremap的大小,卷积操作的参数分别为卷积核大小1*1,步长为1,pad为0,后面加上一个relu类型的激活函数。dense block单元的第五个层为卷积层,进行卷积操作,卷积处理的输入为第三个dense block第四层的结果,通道数为32,大小为14*14,输出尺寸为16*14*14,其中16为输出通道数,14*14为单个featuremap的大小,卷积操作的参数分别为卷积核大小3*3,步长为1,pad为1,后面加上一个relu类型的激活函数。denseblock单元的第六层为一个concat层,这个层的作用是对数据进行组合操作,输入分别为第三个dense block第三层concat层操作的结果和第三个dense block的第五个卷积操作的结果,数据维度分别是48*14*14和16*14*14,其中32和16表示featuremap的数量,14*14表示每一个featuremap的大小,操作是将数据拼接在一起,输出的维度是(48+16)*14*14。dense block单元的第七个层为卷积层,进行卷积操作,卷积处理的输入为第三个denseblock第六层的结果,通道数为64,大小为14*14,输出尺寸为32*14*14,其中32为输出通道数,14*14为单个featuremap的大小,卷积操作的参数分别为卷积核大小1*1,步长为1,pad为0,后面加上一个relu类型的激活函数。dense block单元的第八个层为卷积层,进行卷积操作,卷积处理的输入为第三个dense block第七层的结果,通道数为32,大小为14*14,输出尺寸为16*14*14,其中16为输出通道数,14*14为单个featuremap的大小,卷积操作的参数分别为卷积核大小3*3,步长为1,pad为1,后面加上一个relu类型的激活函数。denseblock单元的第九层为一个concat层,这个层的作用是对数据进行组合操作,输入分别为第三个dense block第六层concat层操作的结果和第三个dense block的第八层卷积操作的结果,数据维度分别是64*14*14和16*14*14,其中32和16表示featuremap的数量,14*14表示每一个featuremap的大小,操作是将数据拼接在一起,输出的维度是(64+16)*14*14。dense block单元的第十个层为卷积层,进行卷积操作,卷积处理的输入为第三个denseblock第九层的结果,通道数为80,大小为14*14,输出尺寸为80*14*14,其中80为输出通道数,14*14为单个featuremap的大小,卷积操作的参数分别为卷积核大小1*1,步长为1,pad为0,后面加上一个relu类型的激活函数。dense block单元的第十一个层为卷积层,进行卷积操作,卷积处理的输入为第三个dense block第十层的结果,通道数为32,大小为14*14,输出尺寸为16*14*14,其中16为输出通道数,14*14为单个featuremap的大小,卷积操作的参数分别为卷积核大小3*3,步长为1,pad为1,后面加上一个relu类型的激活函数。denseblock单元的第十二层为一个concat层,这个层的作用是对数据进行组合操作,输入分别为第三个dense block第九层concat层操作的结果和第三个dense block的第十一层卷积操作的结果,数据维度分别是80*14*14和16*14*14,其中80和16表示featuremap的数量,14*14表示每一个featuremap的大小,操作是将数据拼接在一起,输出的维度是(80+16)*14*14。
第八层为第三个Transition层,即第三个转换层,该层的作用是变换featuremap的大小。具体如下,第三个Transition层的第一层是卷积层,进行卷积操作,卷积处理的输入为第三个dense block第十二层concat的结果,通道数为96,大小为14*14,输出尺寸为48*14*14,其中48为输出通道数,14*14为单个featuremap的大小,卷积操作的参数分别为卷积核大小1*1,步长为1,pad为0,后面加上一个relu类型的激活函数。第二个Transition层的第二层是平均池化层,进行池化操作,池化处理的输入为第三个Transition层的第一层的输出,通道数为48,其尺寸大小为14*14,输出的尺寸为48*7*7,其中32为通道数目,7*7为单个featruemap的大小,池化操作的参数分别为池化大小为2*2,步长为2,池化类型为平均池化。
第九层为第四个dense block单元,dense block单元包含15个层的操作。其中dense block单元的第一个层为卷积层,进行卷积操作,卷积处理的输入为第三个Transition层第二层平均池化的结果,通道数为48,大小为7*7,输出尺寸为32*7*7,其中32为输出通道数,7*7为单个featuremap的大小,卷积操作的参数分别为卷积核大小1*1,步长为1,pad为0,后面加上一个relu类型的激活函数。dense block单元的第二个层为卷积层,进行卷积操作,卷积处理的输入为第四个dense block第一层的结果,通道数为32,大小为7*7,输出尺寸为16*7*7,其中16为输出通道数,7*7为单个featuremap的大小,卷积操作的参数分别为卷积核大小3*3,步长为1,pad为1,后面加上一个relu类型的激活函数。denseblock单元的第三层为一个concat层,这个层的作用是对数据进行组合操作,输入分别为第三个Transition层第二层平均池化的结果和第三个dense block的第二个卷积操作的结果,数据维度分别是48*7*7和16*7*7,其中48和16表示featuremap的数量,7*7表示每一个featuremap的大小,操作是将数据拼接在一起,输出的维度是(48+16)*7*7。dense block单元的第四个层为卷积层,进行卷积操作,卷积处理的输入为第四个dense block第三层的结果,通道数为64,大小为7*7,输出尺寸为32*7*7,其中32为输出通道数,7*7为单个featuremap的大小,卷积操作的参数分别为卷积核大小1*1,步长为1,pad为0,后面加上一个relu类型的激活函数。dense block单元的第五个层为卷积层,进行卷积操作,卷积处理的输入为第四个dense block第四层的结果,通道数为32,大小为7*7,输出尺寸为16*7*7,其中16为输出通道数,7*7为单个featuremap的大小,卷积操作的参数分别为卷积核大小3*3,步长为1,pad为1,后面加上一个relu类型的激活函数。dense block单元的第六层为一个concat层,这个层的作用是对数据进行组合操作,输入分别为第四个dense block第三层concat层操作的结果和第四个dense block的第五个卷积操作的结果,数据维度分别是64*7*7和16*7*7,其中64和16表示featuremap的数量,7*7表示每一个featuremap的大小,操作是将数据拼接在一起,输出的维度是(64+16)*7*7。dense block单元的第七个层为卷积层,进行卷积操作,卷积处理的输入为第三个dense block第六层的结果,通道数为80,大小为7*7,输出尺寸为80*7*7,其中80为输出通道数,7*7为单个featuremap的大小,卷积操作的参数分别为卷积核大小1*1,步长为1,pad为0,后面加上一个relu类型的激活函数。denseblock单元的第八个层为卷积层,进行卷积操作,卷积处理的输入为第四个dense block第七层的结果,通道数为32,大小为7*7,输出尺寸为16*7*7,其中16为输出通道数,7*7为单个featuremap的大小,卷积操作的参数分别为卷积核大小3*3,步长为1,pad为1,后面加上一个relu类型的激活函数。dense block单元的第九层为一个concat层,这个层的作用是对数据进行组合操作,输入分别为第四个dense block第六层concat层操作的结果和第四个dense block的第八层卷积操作的结果,数据维度分别是80*7*7和16*7*7,其中80和16表示featuremap的数量,7*7表示每一个featuremap的大小,操作是将数据拼接在一起,输出的维度是(80+16)*7*7。dense block单元的第十个层为卷积层,进行卷积操作,卷积处理的输入为第四个dense block第九层的结果,通道数为96,大小为7*7,输出尺寸为32*7*7,其中32为输出通道数,7*7为单个featuremap的大小,卷积操作的参数分别为卷积核大小1*1,步长为1,pad为0,后面加上一个relu类型的激活函数。dense block单元的第十一个层为卷积层,进行卷积操作,卷积处理的输入为第四个dense block第十层的结果,通道数为32,大小为7*7,输出尺寸为16*7*7,其中16为输出通道数,7*7为单个featuremap的大小,卷积操作的参数分别为卷积核大小3*3,步长为1,pad为1,后面加上一个relu类型的激活函数。denseblock单元的第十二层为一个concat层,这个层的作用是对数据进行组合操作,输入分别为第四个dense block第九层concat层操作的结果和第四个dense block的第十一层卷积操作的结果,数据维度分别是96*7*7和16*7*7,其中96和16表示featuremap的数量,7*7表示每一个featuremap的大小,操作是将数据拼接在一起,输出的维度是(96+16)*7*7。denseblock单元的第十三个层为卷积层,进行卷积操作,卷积处理的输入为第四个dense block第十二层的结果,通道数为112,大小为7*7,输出尺寸为32*7*7,其中32为输出通道数,7*7为单个featuremap的大小,卷积操作的参数分别为卷积核大小1*1,步长为1,pad为0,后面加上一个relu类型的激活函数。dense block单元的第十四个层为卷积层,进行卷积操作,卷积处理的输入为第四个dense block第十三层的结果,通道数为32,大小为7*7,输出尺寸为16*7*7,其中16为输出通道数,7*7为单个featuremap的大小,卷积操作的参数分别为卷积核大小3*3,步长为1,pad为1,后面加上一个relu类型的激活函数。dense block单元的第十五层为一个concat层,这个层的作用是对数据进行组合操作,输入分别为第四个denseblock第十二层concat层操作的结果和第四个dense block的第十四层卷积操作的结果,数据维度分别是112*7*7和16*7*7,其中112和16表示featuremap的数量,7*7表示每一个featuremap的大小,操作是将数据拼接在一起,输出的维度是(112+16)*7*7。
第十层为第四个Transition层,即第四个转换层,该层的作用是变换featuremap的大小。具体如下,第四个Transition层的第一层是卷积层,进行卷积操作,卷积处理的输入为第四个dense block第十五层concat的结果,通道数为128,大小为7*7,输出尺寸为64*7*7,其中64为输出通道数,7*7为单个featuremap的大小,卷积操作的参数分别为卷积核大小1*1,步长为1,pad为0,后面加上一个relu类型的激活函数。第四个Transition层的第二层是平均池化层,进行池化操作,池化处理的输入为第四个Transition层的第一层的输出,通道数为64,其尺寸大小为7*7,输出的尺寸为64*4*4,其中64为通道数目,4*4为单个featruemap的大小,池化操作的参数分别为池化大小为2*2,步长为2,池化类型为平均池化。
第十一层为第五个dense block单元,dense block单元包含12个层的操作。其中dense block单元的第一个层为卷积层,进行卷积操作,卷积处理的输入为第四个Transition层第二层平均池化的结果,通道数为64,大小为4*4,输出尺寸为32*4*4,其中32为输出通道数,4*4为单个featruemap的大小,卷积操作的参数分别为卷积核大小1*1,步长为1,pad为0,后面加上一个relu类型的激活函数。dense block单元的第二个层为卷积层,进行卷积操作,卷积处理的输入为第五个dense block第一层的结果,通道数为32,大小为4*4,输出尺寸为16*4*4,其中16为输出通道数,4*4为单个featuremap的大小,卷积操作的参数分别为卷积核大小3*3,步长为1,pad为1,后面加上一个relu类型的激活函数。denseblock单元的第三层为一个concat层,这个层的作用是对数据进行组合操作,输入分别为第四个Transition层第二层平均池化的结果和第五个dense block的第二个卷积操作的结果,数据维度分别是64*4*4和16*4*4,其中64和16表示featuremap的数量,4*4表示每一个featuremap的大小,操作是将数据拼接在一起,输出的维度是(64+16)*4*4。dense block单元的第四个层为卷积层,进行卷积操作,卷积处理的输入为第五个dense block第三层的结果,通道数为80,大小为4*4,输出尺寸为32*4*4,其中32为输出通道数,4*4为单个featuremap的大小,卷积操作的参数分别为卷积核大小1*1,步长为1,pad为0,后面加上一个relu类型的激活函数。dense block单元的第五个层为卷积层,进行卷积操作,卷积处理的输入为第五个dense block第四层的结果,通道数为32,大小为4*4,输出尺寸为16*4*4,其中16为输出通道数,14*14为单个featuremap的大小,卷积操作的参数分别为卷积核大小3*3,步长为1,pad为1,后面加上一个relu类型的激活函数。dense block单元的第六层为一个concat层,这个层的作用是对数据进行组合操作,输入分别为第五个dense block第三层concat层操作的结果和第五个dense block的第五个卷积操作的结果,数据维度分别是80*4*4和16*4*4,其中80和16表示featuremap的数量,4*4表示每一个featuremap的大小,操作是将数据拼接在一起,输出的维度是(80+16)*4*4。dense block单元的第七个层为卷积层,进行卷积操作,卷积处理的输入为第五个dense block第六层的结果,通道数为96,大小为4*4,输出尺寸为32*4*4,其中32为输出通道数,4*4为单个featuremap的大小,卷积操作的参数分别为卷积核大小1*1,步长为1,pad为0,后面加上一个relu类型的激活函数。denseblock单元的第八个层为卷积层,进行卷积操作,卷积处理的输入为第三个dense block第七层的结果,通道数为32,大小为4*4,输出尺寸为16*4*4,其中16为输出通道数,4*4为单个featuremap的大小,卷积操作的参数分别为卷积核大小3*3,步长为1,pad为1,后面加上一个relu类型的激活函数。dense block单元的第九层为一个concat层,这个层的作用是对数据进行组合操作,输入分别为第五个dense block第六层concat层操作的结果和第五个dense block的第八层卷积操作的结果,数据维度分别是96*4*4和16*4*4,其中96和16表示featuremap的数量,4*4表示每一个featuremap的大小,操作是将数据拼接在一起,输出的维度是(96+16)*4*4。dense block单元的第十个层为卷积层,进行卷积操作,卷积处理的输入为第五个dense block第九层的结果,通道数为112,大小为4*4,输出尺寸为32*4*4,其中32为输出通道数,4*4为单个featuremap的大小,卷积操作的参数分别为卷积核大小1*1,步长为1,pad为0,后面加上一个relu类型的激活函数。dense block单元的第十一个层为卷积层,进行卷积操作,卷积处理的输入为第五个dense block第十层的结果,通道数为32,大小为4*4,输出尺寸为16*4*4,其中16为输出通道数,4*4为单个featuremap的大小,卷积操作的参数分别为卷积核大小3*3,步长为1,pad为1,后面加上一个relu类型的激活函数。denseblock单元的第十二层为一个concat层,这个层的作用是对数据进行组合操作,输入分别为第五个dense block第九层concat层操作的结果和第五个dense block的第十一层卷积操作的结果,数据维度分别是112*4*4和16*4*4,其中112和16表示featuremap的数量,4*4表示每一个featuremap的大小,操作是将数据拼接在一起,输出的维度是(112+16)*4*4。
第十二层为全局平均池化层,该层的操作是将一个featuremap取平均值。池化处理的输入为第五个dense block层第十二层的输出,通道数为128,其尺寸大小为4*4,输出的尺寸为128*1*1,其中128为通道数目,1*1为单个featruemap的大小,池化操作的参数分别为池化大小为4*4,步长为1,池化类型为平均池化。
第十三层为全连接层,该层的操作是进行全连接计算。输入是第十二层全局池化的输出128*1*1,输出的113,车标类别和非车标类别总数。最后得到113个数值,送入softmax分类器计算获得各个类别对应的预测概率值,概率最大的数值对应的类别就是预测的车标类别。
可选的,步骤103中采用所述第二训练样本对预设轻量级卷积神经网络CNN模型进行训练,并根据所述第二测试样本确定训练后的神经网络模型为目标神经网络模型,可以包括:采用所述第二训练样本对预设轻量级CNN模型进行训练,获得网络模型的权重和偏置值;采用所述网络模型的权重和所述偏置值更新所述预设轻量级CNN模型;采用所述第二测试样本对更新后的轻量级CNN模型进行检测,获得检测结果;当所述检测结果大于或等于预设阈值时,所述更新后的轻量级CNN模型为目标神经网络模型;当所述检测结果小于预设阈值时,重新采用新的训练样本或者所述第二训练样本中其他样本对更新后的轻量级CNN模型进行训练,直到获得目标神经网络模型。预设阈值可以根据经验确定,在本实施例中不对预设阈值进行限定。
可选的,所述目标神经网络模型即softmax分类器对应的函数可以为:
其中,所述f(xi)表示识别网络预测概率,所述yi表示真实类别标签,所述λ表示正则化系数,所述J(f)表示正则化项,所述L表示损失函数,所述N表示所述训练样本的总数。
步骤104,将所述第二待检测图像输入所述目标神经网络模型中,获得车标识别结果。
可选的,将所述第二待检测图像输入所述目标神经网络模型中,可以获得m维的输出向量,每一个输出向量赌赢一个概率值,概率值中最大的概率值为车标识别的结果。
上述车标识别的方法,通过先对多个待检测车辆的图片进行车标位置的粗定位,然后采用轻量级CNN检测网络模型进行车标位置的精确定位,再对精确定位结果进行预处理后采用预处理后的第二训练样本对预设轻量级卷积神经网络CNN模型进行训练,并根据所述第二测试样本确定训练后的神经网络模型为目标神经网络模型;将所述第二待检测图像输入所述目标神经网络模型中,获得车标识别结果,由于没有通过车牌位置信息定位车标区域,从而能够实现无牌车车标识别,并且采用的轻量级CNN模型进行车标识别,轻量级CNN模型拥有模型体积小、识别鲁棒性强,识别结果精度高的特点,因此获得的识别结果精确度较高。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
对应于上文实施例所述的车标识别的方法,图3示出了本发明实施例提供的车标识别的装置的示例图。如图3所示,该装置可以包括:获取模块301、预处理模块302、训练模块303和识别模块304。
获取模块301,用于获取多个待检测车辆的图片,并对所述多个待检测车辆的图片进行多次车标区域定位,获得第一训练样本、第一测试样本和第一待检测图像;预处理模块302,用于在所述第一训练样本中添加非车标样本图片,得到更新后的第一训练样本,并对所述更新后的第一训练样本、所述第一测试样本和所述第一待检测图像进行预处理,获得预处理后的第二训练样本、第二测试样本和第二待检测图像;训练模块303,用于采用所述第二训练样本对预设轻量级卷积神经网络CNN模型进行训练,并根据所述第二测试样本确定训练后的神经网络模型为目标神经网络模型;识别模块304,用于将所述第二待检测图像输入所述目标神经网络模型中,获得车标识别结果。
可选的,所述获取模块301对所述多个待检测车辆的图片进行多次车标区域定位时,可以用于:确定所述多个待检测车辆的图片中的车辆有效区域,获得具有车辆有效区域的第一图片;将所述第一图片输入预设轻量级CNN检测网络模型中,获得精确定位车标图像的第二图片,所述第二图片中包括所述第一训练样本、所述第一测试样本和所述第一待检测图像。
可选的,所述获取模块301确定所述多个待检测车辆的图片中的车辆有效区域,获得具有车辆有效区域的第一图片时,可以用于:识别出任一张待检测车辆的图片中的车辆位置;确定识别出的车辆位置中车身前面最低位置处的最左端为第一起点;确定识别出的车辆位置中车身前面最低位置处的最右端为第二起点;以所述第一起点和所述第二起点为起点,分别向上截取预设高度,获得包含车标的第一图片,其中,当截取高度超出所述待检测车辆的图片的边缘时,则以预设高度位置与所述待检测车辆的图片中的交点为第一图片的边缘;
按照上述确定第一图片的方式对所述多个待检测车辆的图片均进行识别,得到所述多个待检测车辆的图片对应的第一图片。
可选的,所述预处理模块302对所述更新后的第一训练样本、所述第一测试样本和所述第一待检测图像进行预处理,可以用于:
对所述更新后的第一训练样本、所述第一测试样本和所述第一待检测图像分别进行尺寸缩放,并将尺寸缩放后的图片的各通道的每个像素值缩小N倍,得到预处理后的第二训练样本、第二测试样本和第二待检测图像,所述N为小于1的正数。
可选的,所述预设轻量级CNN模型的网络结构依次包括:一个基础卷积层、一个平均池化层、多个dense block单元、一个全局池化层和一个全连接层,其中,各个denseblock单元之间采用转换transition层进行连接;所述全连接层中包括分类器,所述分类器用于对所述第二训练样本、所述第二测试样本和所述第二待检测图像中的车标进行分类。
可选的,所述训练模块303可以用于:采用所述第二训练样本对预设轻量级CNN模型进行训练,获得网络模型的权重和偏置值;采用所述网络模型的权重和所述偏置值更新所述预设轻量级CNN模型;采用所述第二测试样本对更新后的轻量级CNN模型进行检测,获得检测结果;当所述检测结果大于或等于预设阈值时,所述更新后的轻量级CNN模型为目标神经网络模型;当所述检测结果小于预设阈值时,重新采用新的训练样本或者所述第二训练样本中其他样本对更新后的轻量级CNN模型进行训练,直到获得目标神经网络模型。
可选的,所述目标神经网络模型为:
其中,所述f(xi)表示识别网络预测概率,所述yi表示真实类别标签,所述λ表示正则化系数,所述J(f)表示正则化项,所述L表示损失函数,所述N表示所述训练样本的总数。
上述车标识别的装置,通过先对多个待检测车辆的图片进行车标位置的粗定位,然后采用轻量级CNN检测网络模型进行车标位置的精确定位,再对精确定位结果进行预处理后采用预处理后的第二训练样本对预设轻量级卷积神经网络CNN模型进行训练,并根据所述第二测试样本确定训练后的神经网络模型为目标神经网络模型;将所述第二待检测图像输入所述目标神经网络模型中,获得车标识别结果,由于没有通过车牌位置信息定位车标区域,从而能够实现无牌车车标识别,并且采用的轻量级CNN模型进行车标识别,轻量级CNN模型拥有模型体积小、识别鲁棒性强,识别结果精度高的特点,因此获得的识别结果精确度较高。
图4是本发明一实施例提供的终端设备的示意图。如图4所示,该实施例的终端设备400包括:处理器401、存储器402以及存储在所述存储器402中并可在所述处理器401上运行的计算机程序403,例如车标识别的程序。所述处理器401执行所述计算机程序403时实现上述车标识别的方法实施例中的步骤,例如图1所示的步骤101至104,或者图2所示的步骤201至步骤202,所述处理器401执行所述计算机程序403时实现上述各装置实施例中各模块的功能,例如图3所示模块301至304的功能。
示例性的,所述计算机程序403可以被分割成一个或多个程序模块,所述一个或者多个程序模块被存储在所述存储器402中,并由所述处理器401执行,以完成本发明。所述一个或多个程序模块可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序403在所述车标识别的装置或者终端设备400中的执行过程。例如,所述计算机程序403可以被分割成获取模块301、预处理模块302、训练模块303和识别模块304,各模块具体功能如图3所示,在此不再一一赘述。
所述终端设备400可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述终端设备可包括,但不仅限于,处理器401、存储器402。本领域技术人员可以理解,图4仅仅是终端设备400的示例,并不构成对终端设备400的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述终端设备还可以包括输入输出设备、网络接入设备、总线等。
所称处理器401可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器402可以是所述终端设备400的内部存储单元,例如终端设备400的硬盘或内存。所述存储器402也可以是所述终端设备400的外部存储设备,例如所述终端设备400上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(SecureDigital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器402还可以既包括所述终端设备400的内部存储单元也包括外部存储设备。所述存储器402用于存储所述计算机程序以及所述终端设备400所需的其他程序和数据。所述存储器402还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的实施例中,应该理解到,所揭露的装置/终端设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/终端设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
Claims (10)
1.一种车标识别的方法,其特征在于,包括:
获取多个待检测车辆的图片,并对所述多个待检测车辆的图片进行多次车标区域定位,获得第一训练样本、第一测试样本和第一待检测图像;
在所述第一训练样本中添加非车标样本图片,得到更新后的第一训练样本,并对所述更新后的第一训练样本、所述第一测试样本和所述第一待检测图像进行预处理,获得预处理后的第二训练样本、第二测试样本和第二待检测图像;
采用所述第二训练样本对预设轻量级卷积神经网络CNN模型进行训练,并根据所述第二测试样本确定训练后的神经网络模型为目标神经网络模型;
将所述第二待检测图像输入所述目标神经网络模型中,获得车标识别结果。
2.如权利要求1所述的车标识别的方法,其特征在于,所述对所述多个待检测车辆的图片进行多次车标区域定位,包括:
确定所述多个待检测车辆的图片中的车辆有效区域,获得具有车辆有效区域的第一图片;
将所述第一图片输入预设轻量级CNN检测网络模型中,获得精确定位车标图像的第二图片,所述第二图片中包括所述第一训练样本、所述第一测试样本和所述第一待检测图像。
3.如权利要求2所述的车标识别的方法,其特征在于,所述确定所述多个待检测车辆的图片中的车辆有效区域,获得具有车辆有效区域的第一图片,包括:
识别出任一张待检测车辆的图片中的车辆位置;
确定识别出的车辆位置中车身前面最低位置处的最左端为第一起点;
确定识别出的车辆位置中车身前面最低位置处的最右端为第二起点;
以所述第一起点和所述第二起点为起点,分别向上截取预设高度,获得包含车标的第一图片,其中,当截取高度超出所述待检测车辆的图片的边缘时,则以预设高度位置与所述待检测车辆的图片中的交点为第一图片的边缘;
按照上述确定第一图片的方式对所述多个待检测车辆的图片均进行识别,得到所述多个待检测车辆的图片对应的第一图片。
4.如权利要求1所述的车标识别的方法,其特征在于,所述对所述更新后的第一训练样本、所述第一测试样本和所述第一待检测图像进行预处理,包括:
对所述更新后的第一训练样本、所述第一测试样本和所述第一待检测图像分别进行尺寸缩放,并将尺寸缩放后的图片的各通道的每个像素值缩小N倍,得到预处理后的第二训练样本、第二测试样本和第二待检测图像,所述N为小于1的正数。
5.如权利要求1所述的车标识别的方法,其特征在于,所述预设轻量级CNN模型的网络结构依次包括:一个基础卷积层、一个平均池化层、多个dense block单元、一个全局池化层和一个全连接层,其中,各个dense block单元之间采用转换transition层进行连接;
所述全连接层中包括分类器,所述分类器用于对所述第二训练样本、所述第二测试样本和所述第二待检测图像中的车标进行分类。
6.如权利要求5所述的车标识别的方法,其特征在于,所述采用所述第二训练样本对预设轻量级卷积神经网络CNN模型进行训练,并根据所述第二测试样本确定训练后的神经网络模型为目标神经网络模型,包括:
采用所述第二训练样本对预设轻量级CNN模型进行训练,获得网络模型的权重和偏置值;
采用所述网络模型的权重和所述偏置值更新所述预设轻量级CNN模型;
采用所述第二测试样本对更新后的轻量级CNN模型进行检测,获得检测结果;
当所述检测结果大于或等于预设阈值时,所述更新后的轻量级CNN模型为目标神经网络模型;
当所述检测结果小于预设阈值时,重新采用新的训练样本或者所述第二训练样本中其他样本对更新后的轻量级CNN模型进行训练,直到获得目标神经网络模型。
8.一种车标识别的装置,其特征在于,包括:
获取模块,用于获取多个待检测车辆的图片,并对所述多个待检测车辆的图片进行多次车标区域定位,获得第一训练样本、第一测试样本和第一待检测图像;
预处理模块,用于在所述第一训练样本中添加非车标样本图片,得到更新后的第一训练样本,并对所述更新后的第一训练样本、所述第一测试样本和所述第一待检测图像进行预处理,获得预处理后的第二训练样本、第二测试样本和第二待检测图像;
训练模块,用于采用所述第二训练样本对预设轻量级卷积神经网络CNN模型进行训练,并根据所述第二测试样本确定训练后的神经网络模型为目标神经网络模型;
识别模块,用于将所述第二待检测图像输入所述目标神经网络模型中,获得车标识别结果。
9.一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910874555.1A CN110765862A (zh) | 2019-09-17 | 2019-09-17 | 车标识别的方法及终端设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910874555.1A CN110765862A (zh) | 2019-09-17 | 2019-09-17 | 车标识别的方法及终端设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110765862A true CN110765862A (zh) | 2020-02-07 |
Family
ID=69329869
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910874555.1A Pending CN110765862A (zh) | 2019-09-17 | 2019-09-17 | 车标识别的方法及终端设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110765862A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111832437A (zh) * | 2020-06-24 | 2020-10-27 | 万翼科技有限公司 | 建筑图纸识别方法、电子设备及相关产品 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105160340A (zh) * | 2015-08-31 | 2015-12-16 | 桂林电子科技大学 | 一种车辆品牌识别系统及方法 |
CN105354568A (zh) * | 2015-08-24 | 2016-02-24 | 西安电子科技大学 | 基于卷积神经网络的车标识别方法 |
CN105868774A (zh) * | 2016-03-24 | 2016-08-17 | 西安电子科技大学 | 基于选择性搜索和卷积神经网络的车标识别方法 |
CN106886775A (zh) * | 2017-01-20 | 2017-06-23 | 广西科技大学鹿山学院 | 一种车标识别方法、及启动方法 |
CN109508636A (zh) * | 2018-10-08 | 2019-03-22 | 百度在线网络技术(北京)有限公司 | 车辆属性识别方法、装置、存储介质及电子设备 |
CN109816024A (zh) * | 2019-01-29 | 2019-05-28 | 电子科技大学 | 一种基于多尺度特征融合与dcnn的实时车标检测方法 |
CN110009043A (zh) * | 2019-04-09 | 2019-07-12 | 广东省智能制造研究所 | 一种基于深度卷积神经网络的病虫害检测方法 |
CN110084292A (zh) * | 2019-04-18 | 2019-08-02 | 江南大学 | 基于DenseNet和多尺度特征融合的目标检测方法 |
-
2019
- 2019-09-17 CN CN201910874555.1A patent/CN110765862A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105354568A (zh) * | 2015-08-24 | 2016-02-24 | 西安电子科技大学 | 基于卷积神经网络的车标识别方法 |
CN105160340A (zh) * | 2015-08-31 | 2015-12-16 | 桂林电子科技大学 | 一种车辆品牌识别系统及方法 |
CN105868774A (zh) * | 2016-03-24 | 2016-08-17 | 西安电子科技大学 | 基于选择性搜索和卷积神经网络的车标识别方法 |
CN106886775A (zh) * | 2017-01-20 | 2017-06-23 | 广西科技大学鹿山学院 | 一种车标识别方法、及启动方法 |
CN109508636A (zh) * | 2018-10-08 | 2019-03-22 | 百度在线网络技术(北京)有限公司 | 车辆属性识别方法、装置、存储介质及电子设备 |
CN109816024A (zh) * | 2019-01-29 | 2019-05-28 | 电子科技大学 | 一种基于多尺度特征融合与dcnn的实时车标检测方法 |
CN110009043A (zh) * | 2019-04-09 | 2019-07-12 | 广东省智能制造研究所 | 一种基于深度卷积神经网络的病虫害检测方法 |
CN110084292A (zh) * | 2019-04-18 | 2019-08-02 | 江南大学 | 基于DenseNet和多尺度特征融合的目标检测方法 |
Non-Patent Citations (2)
Title |
---|
ANDREW G. HOWARD等: ""MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications"", 《ARXIV》 * |
GAO HUANG等: ""Densely Connected Convolutional Networks"", 《ARXIV》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111832437A (zh) * | 2020-06-24 | 2020-10-27 | 万翼科技有限公司 | 建筑图纸识别方法、电子设备及相关产品 |
CN111832437B (zh) * | 2020-06-24 | 2024-03-01 | 万翼科技有限公司 | 建筑图纸识别方法、电子设备及相关产品 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11244435B2 (en) | Method and apparatus for generating vehicle damage information | |
CN110751037A (zh) | 车身颜色识别的方法及终端设备 | |
CN111310775B (zh) | 数据训练方法、装置、终端设备及计算机可读存储介质 | |
CN109784186B (zh) | 一种行人重识别方法、装置、电子设备及计算机可读存储介质 | |
CN108898086B (zh) | 视频图像处理方法及装置、计算机可读介质和电子设备 | |
CN109740478B (zh) | 车辆检测及识别方法、装置、计算机设备及可读存储介质 | |
CN107944450B (zh) | 一种车牌识别方法及装置 | |
CN109002820B (zh) | 一种车牌识别方法、装置及相关设备 | |
CN109117773B (zh) | 一种图像特征点检测方法、终端设备及存储介质 | |
CN108009543A (zh) | 一种车牌识别方法及装置 | |
CN110689043A (zh) | 一种基于多重注意力机制的车辆细粒度识别方法及装置 | |
CN110175615B (zh) | 模型训练方法、域自适应的视觉位置识别方法及装置 | |
CN112613344B (zh) | 车辆占道检测方法、装置、计算机设备和可读存储介质 | |
CN111079785A (zh) | 一种图像识别方法、装置及终端设备 | |
CN111126481A (zh) | 一种神经网络模型的训练方法及装置 | |
CN109300119A (zh) | 钢结构表面锈蚀区域的检测方法、检测装置及终端设备 | |
CN111709377B (zh) | 特征提取方法、目标重识别方法、装置及电子设备 | |
CN110909598A (zh) | 一种基于深度学习的非机动车道交通违法行驶识别方法 | |
CN110555339A (zh) | 一种目标检测方法、系统、装置及存储介质 | |
CN108052869B (zh) | 车道线识别方法、装置及计算机可读存储介质 | |
CN110909582B (zh) | 一种人脸识别的方法及设备 | |
CN111931721B (zh) | 年检标签颜色和个数的检测方法、装置及电子设备 | |
CN110765862A (zh) | 车标识别的方法及终端设备 | |
CN112287905A (zh) | 车辆损伤识别方法、装置、设备及存储介质 | |
CN111104965A (zh) | 车辆目标识别的方法及装置 |
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 | ||
CB02 | Change of applicant information |
Address after: 523710, 26, 188 Industrial Road, Pingshan Town, Guangdong, Dongguan, Tangxia Applicant after: Entropy Technology Co.,Ltd. Address before: 523710, 26, 188 Industrial Road, Pingshan Town, Guangdong, Dongguan, Tangxia Applicant before: ZKTECO Co.,Ltd. |
|
CB02 | Change of applicant information | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200207 |
|
RJ01 | Rejection of invention patent application after publication |