system: [SYSTEM]

user: 3. 无参考质量评价系统 3.1. 图像质量评价因子 在非限定的自然场景中采集到的图像质量低下的因素有很多，如模糊、光照、图像采集距离及外界噪声干扰等等，采集到的图像可能包含一个或多个因素。根据对大量实际采集到的图像数据分析发现在摄像机拍摄车辆时，车辆属于由远及近的运动状态，故采集的部分图像普遍存在尺度过小和模糊的问题。同时由于时段不同，采集的图片也普遍存在光照和对比度的问题。这些问题对超分辨率技术和车牌识别均有很大的影响，故本文选取分辨率、清晰度、亮度及对比度这四个特征作为车牌图像质量的评价因子。 3.1.1. 分辨率评价函数 由于本文算法在车牌检测后再对图像进行质量评价，故车牌检测后获取的图像分辨率大小可有效反映出车牌尺寸大小，如式(1)。 A = w ∗ h (1) 式(1)中，A作为分辨率评价因子。 3.1.2. 清晰度评价函数 车辆运动状态及成像系统均是影响车牌图像清晰度的重要因素。在非限定的自然场景下获取的车牌图像可能存在运动模糊、离焦模糊或者两者均有，情况复杂。目前常用的且具有代表性的清晰度函数有灰度差分法、梯度算法及频域聚焦评价函数。频域聚焦评价函数速度慢，很难满足实时性要求。本文着重分析灰度差分法和梯度算法。 (1) 梯度函数 Brenner梯度算子是采用像素的垂直方向的梯度差之和来衡量清晰度，结果值越大，就表明图像的清晰度越高。Brenner函数如式(2)： D ( f ) = ∑ y ∑ x | f ( x + 2 ， y ) − f ( x ， y ) | 2 (2) 式(2)中， f ( x ， y ) 表示图像f对应像素点 ( x ， y ) 的灰度值， D ( f ) 为图像清晰度计算结果。 Tenengrad函数是基于Sobel算子来计算水平和竖直方向梯度值的清晰度评价函数，如式(4)。 S ( x ， y ) = G x ∗ I ( x ， y ) + G y ∗ I ( x ， y ) (3) T = 1 n ∗ ∑ x ∑ y S ( x ， y ) 2 (4) 式(3)中， G x 和 G y 为Sobel卷积核， I ( x ， y ) 为点 ( x ， y ) 的梯度。式(4)中，n为图像像素总数。 方差函数，如式(5)，可以作为评价函数，因为清晰聚焦的图像有着比模糊图像更大的灰度差异。 D ( f ) = ∑ y ∑ x | f ( x ， y ) − μ | 2 (5) 式(5)中， μ 为整幅图像的平均灰度值。 (2) Vollath函数 公式如式(6)，在图像噪声显著时表现较好。 D ( f ) = ∑ y ∑ x f ( x ， y ) ∗ f ( x + 1 ， y ) − M ∗ N ∗ μ 2 (6) 式(6)中， μ 为整幅图像的平均灰度值，M和N分别为图像的宽和高。 (3) 灰度差分法 图像越清晰，图像中的高频分量越多，图像包含的灰度变化就越多，故灰度变化可作为评价的依据。灰度差分法(Sum of Modulus of gray Difference， SMD)是对点 ( x ， y ) 及其邻近点的灰度作差分运算，提取该点灰度值的变化大小，得出图像灰度差分绝对值之和算子，如式(7)。 D ( f ) = ∑ y ∑ x ( | f ( x ， y ) − f ( x ， y − 1 ) | + | f ( x ， y ) − f ( x + 1 ， y ) | ) (7) 式(7)中， f ( x ， y ) 表示图像 对应像素点 ( x ， y ) 的灰度值， D ( f ) 为图像清晰度计算结果。 SMD具有较好的计算性能，但存在焦点附近灵敏度不高，即该函数在极值点附近过于平坦，从而导致聚焦精度难以提高的缺陷。由此，李郁峰 [ 18 ] 等提出了SMD2，仍以相邻像素灰度值差来表征图像的清晰度，对每一像素领域两个灰度差相乘后再逐个像素累加。该评价函数可有效提高在极值点附近的单调性和陡峭性，函数公式如式(8)。 D ( f ) = ∑ y ∑ x | f ( x ， y ) − f ( x + 1 ， y ) | ∗ | f ( x ， y ) − f ( x ， y + 1 ) | (8) 3.1.3. 亮度评价函数 图像灰度均值计算简单，又能直观反映车牌区域的亮度信息。因此可将车牌区域图像灰度均值作为亮度评价函数，如式(9)。 G = 1 M N ∑ i = 0 N ∑ j = 0 M I ( x ， y ) (9) 式(9)中， M × N 为车牌区域大小， I ( x ， y ) 为车牌区域图像。 3.1.4. 对比度评价函数 对比度表现为图像亮暗的拉伸对比程度，通常表现了图像画质的清晰程度。对比度评价函数如式(10)。 C = ∑ δ δ ( i ， j ) 2 P δ ( i ， j ) (10) 式(10)中， δ ( i ， j ) = | i − j | 为相邻像素间的灰度差， P δ ( i ， j ) 为相邻像素间的灰度差 δ 的像素分布概率。 3.2. 实验 3.2.1. 质量评价因子相关实验 由于本文将使用分辨率大小来量化实际检测到的车牌图像尺寸大小，故本文将对分辨率是否可有效量化进行验证。同时由于非限定自然场景下采集到的车牌图像的模糊影响因素很多，模糊类型复杂，故本文针对不同的清晰度评价函数进行分析，根据理想的清晰度评价函数特点：单峰性、无偏性、较好的稳定性且灵敏度高等来选取合适的清晰度评价函数。 (1) 分辨率 本文从城市监控视频中检测到的车牌图像中选取了分辨率从小到大再到小的共38张车牌图片，如图2。该38张图片几乎涵盖了采集到的车牌图像所有的分辨率大小。 图2. 不同分辨率的车牌图片 采用归一化数据方法进行数据处理，并归一化数据进行曲线图绘制，如图3所示。结合图2和图3可以看出车牌图像分辨率可有效量化车牌图像尺寸大小。 图3. 车牌图像尺寸分布 (2) 清晰度 为了验证不同清晰度评价函数对车牌图像的有效性和确定一个合适的清晰度评价函数，本文从城市交通监控视频检测到的车牌图像中选取了从模糊到清晰再到模糊共21张车牌图片进行测试验证，如图4。 图4. 车牌图像 利用Brenner函数，SMD函数，Tenengrad函数，Variance函数，Vollath函数和SMD2函数来获得图像清晰度评价值。比较不同函数计算的评价值。采用归一化数据方法进行数据处理，并归一化数据进行曲线图绘制，如图5所示，可明显比较出不同清晰度函数的评价效果。 图5. 不同评价函数归一化数据曲线图 从图5中可有看出，这几种清晰度评价函数对车牌图像均具有有效性，其中Brenner函数的效果最佳，相比较其他几种函数而言，该函数具有更好的无偏性且灵敏度较高等特点。故本文使用Brenner函数作为清晰度评价函数。 3.2.2. 基于支持向量回归的非线性预测模型 本文分别选择了上午、下午和傍晚三个不同时段录制的城市交通监控视频，对这三段视频分别进行车牌检测和车牌识别。由此随机获取了3200张车牌图像作为数据集，并对该数据集求取4个质量评价因子的评价值。最后利用这四个图像质量评价因子的评价值，使用支持向量回归机SVR来进行车牌图像质量分数回归预测。在本文实验中，训练测试过程重复进行1000次。 (1) 样本集的划分 本文先获取一定数量的车牌图像并进行车牌识别测试且标记可识别和不可识别的车牌图像。共获得3200张车牌图像作为数据集，其中可识别车牌图像和不可识别的车牌图像各占一半。本文将车牌图像数据集的80%作为训练样本集，20%作为测试样本集。训练样本用来训练SVR并建立模型，测试样本用来检验模型预测精确性。 (2) 参数选择 本文使用Python的第三方机器学习库Scikit-learn，里面提供了基于Libsvm [ 19 ] 的SVR的解决方案。Libsvm提供了多项式、RBF径向基和Sigmoid函数等四种常用的核函数，可有效解决多种分类和回归问题。然而模型的拟合精度和泛化能力取决于其相关参数的选择，参数的选择实质上也是一个优化搜索过程。主要参数包括核函数的选择、正则化参数C及gamma等，故本文着重分析这些参数的选择。 ① 核函数的选择 本文就径向基RBF核函数和Sigmoid核函数分别根据训练样本集建立模型并对测试样本集进行预测，分别计算误差并对比，结果如表1 (正则化参数C = 1e3，gamma = 0.1)。 从表1中还可以看出，RBF核函数的误差更小，故本文选择RBF作为内核函数。 Table 1 Kernel function fitting error compariso 核函数类型 MSE RBF 0.210 Sigmoid 0.296 表1. 核函数拟合误差比较 ② 主要参数的选择 C是惩罚系数，即对误差的宽容度。C越高，说明越不能容忍出现误差，容易过拟合；C越小，容易欠拟合。本文在RBF核函数基础上，固定gamma = 0.1，考察C的取值对模型性能的影响，C的最优参数往往在两个范围[0， 1]和[1， 1000]内，为了保证搜索的全局性，参数C的搜索分为两个范围[0， 1]和[1， 1000]进行，如表2。 Table 2 Impact of C value on model performanc C值 MSE 0.01 0.291 0.1 0.251 1 0.210 10 0.210 100 0.210 1000 0.210 表2. C值对模型性能的影响 从表2中可以看出，随着C值的增加，SVR的预测模型的性能不断提高，当C = 1时，性能达到稳定，本文选取C = 1。 参数gamma隐含的决定了数据映射到新的特征空间后的分布，gamma越大，支持向量越少，但预测精度会降低；gamma值越小，支持向量越多，而支持向量的个数影响训练与预测的速度。本文在RBF核函数的基础上，固定C = 1，考察gamma取值对模型性能的影响，如表3。 Table 3 Effect of gamma on model performanc gamma值 MSE 0.0001 0.178 0.001 0.199 0.01 0.209 0.1 0.210 1 0.211 10 0.211 100 0.211 表3. gamma对模型性能的影响 在实际应用中，gamma往往取相对较小的值。从表3中可以看出，可以选择gamma = 0.01。 以上是单独测试参数的性能影响，表4列出了组合测试的性能结果。 Table 4 Combined training result C gamma 100 10 1 0.1 0.01 0.001 1e3 1e4 0.01 0.291 0.291 0.291 0.291 0.291 0.289 0.271 0.191 0.1 0.251 0.251 0.251 0.251 0.251 0.238 0.191 0.147 1 0.211 0.211 0.211 0.209 0.209 0.199 0.178 0.143 10 0.211 0.211 0.211 0.210 0.209 0.199 0.193 0.152 100 0.211 0.211 0.211 0.210 0.199 0.199 0.195 0.156 1000 0.211 0.211 0.211 0.210 0.209 0.199 0.218 0.172 表4. 组合训练结果 从表4可以看出当gamma过于大时，那么C不管取什么值都无法避免过拟合，而gamma也不宜过小，否则任何一个支持向量都会影响到整个数据集。而当gamma适中但C值较大时也能取得和C较小时一样表现好的模型，但RBF核辐射范围即gamma比较合适时，C值较小时能够节省内存且速度较快，故不倾向于C值取得较大。故最后将两个参数的取值确定为gamma = 0.01或gamma = 0.1，C = 1。 (3) 训练模型与预测 使用核函数RBF、gamma = 0.1和C = 1及相应的训练样本集建模，并使用测试样本集进行测试。由样本集得到的数据分布图如图6(a)。且本文随机从测试样本集选取25张车牌图像使用本文训练出来的模型进行评估。预测结果与实际值对比如图6(b)。 图6. 模型拟合比较图 在图6(b)中，红色的点p表示预测值，蓝色的点r表示实际值。其中，实际值是由将可识别的车牌图像质量评价值设为1且不可识别的车牌图像的质量评价值设为0而得来。从图7中可以看出，SVR对于车牌质量评估预测的拟合效果良好。