APP下载

基于计算机视觉和机器学习的真伪卷烟包装鉴别

2020-06-06刘德祥王宏强李晓辉周明珠

烟草科技 2020年5期
关键词:特征向量相似性度量

钟 宇,徐 燕,刘德祥,王宏强,李晓辉,周明珠,董 浩,邢 军

1.新疆维吾尔自治区烟草质量监督检测站,乌鲁木齐市经济技术开发区天柱山街55 号 830026

2.国家烟草质量监督检验中心,郑州高新技术产业开发区翠竹街6 号6 栋 450001

卷烟真伪鉴别主要是通过感官(即人眼),对检验样品与真品或真品技术信息在加工工艺、印刷工艺等方面的差别进行比对,以判定检验样品的真伪。该方法对检验人员及经验要求较高,在鉴别检验比对尤其是卷烟商标印刷比对时,由于视觉疲劳容易造成样品错检;对于印刷品颜色,不同检验人员对色彩的敏感度存在差异,导致判定结果主观性较强;比对结果无法以一个计量值反映样品与真品间的实际差异,当仿制品与真品印刷差异较小时,人眼难以分辨其差别。针对于此,魏中华[1]提出了一种利用卷烟物理指标,基于t 假设检验和支持向量机(Support Vector Machine,SVM)神经网络鉴定卷烟真伪的模式识别模型;聂磊等[2]利用真伪烟用材料表层化学成分的差异,提出了一种基于衰减全反射红外光谱法(ATR-FTIR)的鉴别方法,通过采集卷烟样品烟用材料相关部位的衰减全反射红外光谱,实现快速、无损、简便地鉴别卷烟真伪。

利用计算机视觉技术建立能够从图像或者多维数据中获取信息的人工智能系统,近年来在烟草行业已有较多研究和应用。张毅等[3]利用烟草物流中不规则烟包码垛的复杂性和组合匹配特性,设计了一种基于机器视觉的不规则烟包校对码垛系统;高震宇等[4]采用深度学习的方法,建立了基于卷积神经网络的烟丝组成识别模型;李晓等[5]利用图像技术,结合梗丝形态外观特征及形态指数建立了一种梗丝形态指数模型;李捷等[6]设计了基于机器视觉的烟支外观在线检测系统;王伟等[7]建立了一种基于相似性分析和阈值自校正的烟箱缺条智能检测方法。随着机器学习和深度学习技术的发展,通过计算机视觉模仿人眼视觉,建立类似于感观鉴别的检验法已成为研究趋势。为此,提出了一种利用计算机视觉技术和机器学习鉴别卷烟包装真伪的模型,并对该模型的准确率进行验证,以期提高真伪卷烟的鉴别效率和适应性。

1 材料与方法

1.1 材料

采集经人工检验确认真伪的3 个卷烟品牌,共计603 个样品。其中,“中华(软)”(A 品牌)329个,“玉溪(软)”(B 品牌)199 个,“钻石(荷花)”(C品牌)75 个。

1.2 仪器

HP LaserJet Pro MFP M127-M128 型扫描仪(中国惠普有限公司)。图像处理、模型建立、数值计算代码均采用python 语言,其中图像处理及特征向量提取通过OpenCV 3.4.2.16 实现,机器学习模型搭建及交叉验证通过scikit-learn 0.21.3 实现,数值计算通过numpy 1.17.2 和pandas 0.25.1 实现。

1.3 方法

1.3.1 图像采集及预处理

扫描像素为300 ppi,扫描模式为全彩模式。由于扫描仪采集到的卷烟图像位置不固定,存在平移、翻转等现象,无法直接对目标区域进行定位和截取,常用做法是训练目标检测的神经网络,选取目标范围内的坐标值。本研究中的图像形状、大小相对固定,图案也较为一致,因此可以利用图像的形态学操作[8]进行目标区域的查找和提取。图像预处理[9]包括图像增强、图像滤波、图像二值化、图像轮廓检测、图像轮廓近似、图像透视变换、目标区域截取等步骤,见图1。

图1 图像预处理Fig.1 Image preprocessing

1.3.2 图像特征向量提取

图像的存储方式是三维矩阵。特征向量是针对该矩阵进行运算后得到的一个一维向量,提取过程包括图像尺寸变换、图像滤波去噪和图像灰度转换。对于灰度图,图像特征向量是以亮度值为横轴,以亮度值对应的像素个数为纵轴的一维255 长度的向量。该向量代表了灰度图像亮度的统计信息,用以表征图像的统计特征。以B 品牌为例,取真烟样品t-1 和假烟样品f-1 各1 个,灰度图像提取到的特征向量直方分布曲线见图2。

图2 B 品牌特征向量直方分布曲线Fig.2 Histogram distribution curve of feature vector of Brand B

1.3.3 相似性度量模型

聂磊等[2]的研究结果表明,在对比真假卷烟谱图相似性时,QC(Quality Control)比较法[10]相比相关系数法分辨力更强。采用QC 值度量真假烟时,真/真QC 值显著高于真/假QC 值,模型具有较好的分类边界,便于对真假烟用材料进行区分。但QC 比较法主要是由红外光谱仪标配软件提供,其算法尚未披露。为此,本研究中以向量的角度提出相似性度量模型,通过比对待测样品与标准真烟样品的特征向量距离或余弦相似性,根据距离阈值或相似性阈值判定待测样品的分类。实现过程为:

(1)将样品划分为训练集和测试集。训练集包括正类样品(8 个)和负类样品(8 个)。

(2)模型训练过程。将训练集样品逐一与训练集正类样品进行特征向量的相似性阈值计算,取平均值作为其与正类的相似性阈值。根据训练集正类和负类的相似性阈值,得到正类和负类的分类边界值。

(3)模型测试过程。将测试集样品逐一与训练集正类样品进行特征向量的相似性阈值计算,取平均值即可得到相似性阈值。根据训练过程得到的正类分类边界值判定其分类,若模型分类结果与实际分类结果一致则为正确,不一致则为错误。模型准确率为测试集判定正确的样品个数除以测试集总样品个数。

1.3.4 机器学习模型

(1)模型训练过程。由于卷烟商标存在真伪区分度较强的区域,在模型训练时先随机生成X个区域中心点坐标(XK,YK),输入该卷烟品牌全部图像,并将每个图像划分为以(XK,YK)为中心、M×M 大小的矩形块,每块按照1.3.2 节中的方式处理为特征向量后,将其中的70%特征向量划分为训练集,进行有监督的SVM 分类模型训练,真烟的标签值设置为1,假烟设置为0,训练后的模型在整体上做交叉验证。交叉验证的f1_score 大于设定阈值,则该区域坐标及其对应分类器被保留,重复以上过程。当中心点坐标数达到N 时训练结束,输出N 个中心点坐标和N 个分类器并保存为二进制文件。训练过程算法流程见图3a。

(2)模型测试过程。加载训练结束后的N 个中心点坐标和N 个分类器,以该品牌30%样品图像作为测试集,按相同方式对测试集中的每张图片以N 个坐标点为中心处理为N 个区域,每个区域采用与之对应的分类器进行预测,同时将N 个区域的预测值求和,若求和结果大于N/2 则为正类,否则为负类。测试过程算法流程图见图3b。

2 结果与讨论

2.1 相似性度量模型的验证

2.1.1 图像的滤波函数

图像滤波是对图像进行指定卷积核大小和步长的卷积运算。根据所使用的卷积核不同,图像处理前后存在一定差异,例如高斯滤波是将中心点边缘的像素进行高斯加权平均后赋值给中心点,并作为中心点新的像素值,与原图像处理后的图像相比较噪声更低、更平滑。图像滤波是提取图像特征向量的一个重要操作,好的滤波函数可以有效放大真假卷烟的差异,使分类器获得更宽的分类边界。将B 品牌f-1、t-1 样品分别进行高斯双边滤波、均值滤波、中值滤波、高斯滤波、组合滤波(中值滤波+高斯双边滤波)计算,各样品滤波后直方图特征向量分布见图4。

图3 机器学习算法流程图Fig.3 Flowchart of machine learning algorithm

图4 B 品牌f-1、t-1 样品滤波后直方图特征向量对比Fig.4 Comparison of histogram feature vectors after filtering with f-1 and t-1 of Brand B

滤波后特征向量与原图差异见图5。可见,无论是欧式距离度量还是余弦相似性度量,高斯双边滤波均可有效放大f-1 和t-1 特征向量的差异。

图5 B 品牌f-1、t-1 特征向量在不同滤波器下的相似性度量差异Fig.5 Similarity measurement difference of feature vectors under different filters with f1 and t1 of Brand B

高斯双边滤波结合了以像素空间位置为基础的空间域高斯核函数和以像素亮度差为基础的亮度域高斯核函数,并形成邻域内各个像素的权值信息,进而实现了图像边缘感知的非线性自适应平滑操作。对于仿制品印刷过程中出现的边缘模糊、漏色、错位、断断续续等现象,高斯双边滤波可以有效将其滤除;对于印刷较好的真烟则将其保留,此操作有效放大了真假卷烟的差异。高斯双边滤波核函数为:

权值计算公式为:

高斯双边滤波核函数是空间域核与像素范围域核综合应用的结果,式(2)中右侧第一项考虑的是基于空间位置的高斯加权,第二项考虑的是像素亮度差异的高斯加权。在像素亮度差异较小的区域,第二项差异很小,此时相当于对图像进行高斯模糊;在像素差异较大的区域,第二项的差异显著高于第一项,此时梯度较为明显的边缘像素点被保持。不同空域、值域标准偏差下负类f-1 与正类t-1 特征向量欧式距离的差异见图6。可见,特征向量差异最大值点的空域标准偏差为123,值域标准偏差为30,较优值域标准偏差在60 以下,空域标准偏差在43 以上。

B 品牌训练集在不同空域、值域标准偏差下的欧氏距离及分类边界见图7。可见,较大的空域标准偏差可以有效扩大分类边界,但与之对应的图像处理时间会显著增加。

从算法上看,值域的卷积运算速度远快于空域,较大的空域标准偏差会降低算法运行速度,因此建模时可选择相对较小的值。选取负类距离最小的f-6 样品和正类t-1 样品,正负类图像经滤波后的差异见图8。

图6 B 品牌f-1、t-1 特征向量在不同值域和空域标准偏差下的欧式距离差异Fig.6 Euclidean distance difference of feature vectors under different sigmaspace and sigmacolor of Gaussian bilateral filter with f-1 and t-1 of Brand B

2.1.2 模型训练

取B 品牌16 个图像作为训练集。其中,8 个为假烟,分别编码为f-1~f-8;8 个为真烟,分别编码为t-1~t-8。所有图像的特征向量分别与t-1~t-8的特征向量进行相似性度量,得到8 个度量值,取平均值,作为真烟的最终度量值。由于真烟与其本身作度量时,距离为0 且相似性为1,会降低(或提高)平均值,因此不列入计算。训练集在余弦相似性、曼哈顿距离、欧式距离、切比雪夫距离下的分类边界见图9。可见,分类器在训练集上能够将真假卷烟进行区分。

图7 B 品牌训练集在高斯双边滤波不同空域、值域标准偏差下的欧氏距离及分类边界Fig.7 Euclidean distance and classification boundary of training set of Brand B under different sigmaspace and sigmacolor of Gaussian bilateral filter

图8 B 品牌f-6 和t-1 的区域原图、高斯滤波图及转化灰度图对比Fig.8 Comparison of original images,Gaussian filtered images and gray images of f-6 and t-1 of Brand B

根据图9 可得各相似性度量模型的分类边界数值,见表1。当需要对图像进行判定时,可以只考虑真烟的分类边界(正类),凡是不符合真烟边界的均判定为假烟。

2.1.3 模型验证

将B 品牌测试集183 个样品与t-1~t-8 对比计算相似性度量值并取平均值,模型分类效果见图10。图中红线右侧为正类样品,可以看出正类样品的度量值波动较小。在余弦相似性上正类样品度量值接近1,在距离上度量值较低,说明其相似性较高,表明真烟商标采用的印刷工艺规范且原材料质量稳定。

B 品牌测试集的分类效果见表2。可见,正类、负类分类效果均较好的为曼哈顿度量模型,其正类准确率为100%,负类准确率为95.63%,总体准确率为96.17%。

图9 训练集相似性度量值和分类边界Fig.9 Similarity measure and classification boundary in training set

表1 各相似性度量模型的分类边界Tab.1 Classification boundaries of similarity measurement models

2.2 机器学习模型验证

2.2.1 模型超参数的选取

图像分块数量和面积是机器学习建模时的超参数,需要人为指定不同分块数量和面积,模型表现见图11。由图11a 可知,分块数量在7~15 之间的模型具有较高的准确率、召回率和f 1 分数值。当分块数量较小时,模型会出现欠拟合现象,分块数量较大时会出现过拟合现象,分块数量在7~15之间模型获得最大准确率99.39%。由图11b 可知,当分块面积较小时,因模型无法筛选出强分辨力点区域,模型分数较低,随着面积增大模型表现逐渐稳定,分块面积在350 像素×350 像素以上获得最大准确率99.39%。

2.2.2 模型训练及验证

将A 品牌图像的70%划分为训练集,30%为测试集。在训练集上将图像分成9 个区域,每个区域分别训练1 个SVM 分类器。训练好的模型利用测试集进行测试,计算各分类器的准确率、召回率、总体准确率,结果见表3。可见,正类准确率在69.57%~100%之间,一部分分类器表现较好,另一部分表现较差。因采取投票机制[11],有效避免了表现较差分类器对结果的判定,故正类准确率为100%,负类准确率为98.80%。因此,该模型的总体准确率为98.99%。

对B、C 两个品牌采用同样方式建模,各分类器及模型整体分类评价指标见表4。可见,B 品牌总体准确率为96.61%,C 品牌总体准确率为100%。3 个品牌的分块区域大多集中在该品牌卷烟商标印刷时的防伪区域,说明在防伪区域上假烟与真烟的印刷工艺存在显著差异,见图12。

图10 B 品牌测试集在相似性度量模型下的分类效果Fig.10 Classification effect of test set under similarity measurement model of Brand B

表2 各相似性度量模型的分类准确率Tab.2 Accuracy rate of classification of similarity measurement models

2.3 验证结果

相似性度量模型在训练集上具有显著分类边界,算法简洁,度量值直观,但有其局限性:一是标准真烟样品和选取的假烟样品是总体真烟和假烟的一部分,其印刷代表性会受到抽样的影响,训练出的分类边界泛化能力低;二是对于测试集样品需要逐个与标准真烟样品进行比对,运算次数随比对样品数量线性增加;三是模型迁移能力不强,新卷烟品牌重新训练分类边界的算法较复杂。而机器学习模型建模时使用了大量数据集,降低了抽样影响,增加了模型的鲁棒性;分类边界一旦确定,新样品可以直接分类,不需要再进行比对,模型的迁移能力强,适用于所有卷烟品牌的建模过程。

图11 不同分块数量、分块面积下的模型分数Fig.11 Model scores at different block zones and block areas

表3 A 品牌测试集机器学习模型的评价指标Tab.3 Evaluation indexes of machine learning model of test set of Brand A

表4 B、C 品牌测试集机器学习模型的评价指标Tab.4 Evaluation indexes of machine learning models of test sets of Brands B and C

图12 不同卷烟品牌分块展示图Fig.12 Block display diagrams of three brands

3 结论

利用计算机视觉技术提取卷烟商标特征向量,分别建立了用于卷烟包装鉴别检验的相似性度量模型和机器学习模型。相似性度量模型采用曼哈顿距离模型进行分类,通过对高斯双边滤波函数进行参数优化,较优值域标准偏差为30,空域标准偏差为123;基于图像分块建立的机器学习模型,当分块数量为7~15,分块面积在350 像素×350 像素以上时可获得最大准确率99.39%。以“中华(软)”“玉溪(软)”“钻石(荷花)”3 个卷烟品牌共603 个样品为对象,分别采用两种模型进行判定,结果表明:相似性度量模型在“玉溪(软)”样品测试集上,正类准确率为100%,负类准确率为95.63%,总体准确率为96.17%;机器学习模型在3 个样品测试集上,“中华(软)”准确率为98.99%,“玉溪(软)”准确率为96.61%,“钻石(荷花)”准确率为100%。机器学习模型与相似性度量模型相比较,具有较好的迁移能力和鲁棒性,适用于卷烟真伪鉴别样品量大、品类多、图像复杂等情况。

猜你喜欢

特征向量相似性度量
二年制职教本科线性代数课程的几何化教学设计——以特征值和特征向量为例
一类上三角算子矩阵的相似性与酉相似性
鲍文慧《度量空间之一》
克罗内克积的特征向量
浅析当代中西方绘画的相似性
代数群上由模糊(拟)伪度量诱导的拓扑
一类三阶矩阵特征向量的特殊求法
突出知识本质 关注知识结构提升思维能力
EXCEL表格计算判断矩阵近似特征向量在AHP法检验上的应用
低渗透黏土中氯离子弥散作用离心模拟相似性