基于大数据驱动的农村电商产品自动化识别系统
2024-03-01崔巍,李慧
崔 巍,李 慧
(1.太原科技大学,山西 太原 030024;2.山西工程职业学院,山西 太原 030009)
0 引言
随着农村电子商务的发展,面向农村的电商产品已经涉及到了生活的方方面面,既包括米、面、油粮等各种食物,也包括手机、计算机等各类电子产品。电子商务的出现,拓宽了农村面向多种多样类型商品的购买渠道,为人们购物提供了便利条件。但当前电商平台的商品多数以图像的方式进行展示,这就导致商品参数获取并不便利。快速清晰地找到商品数据,依据商品数据去快捷便利地选取商品,都需要对电子商品的图像进行处理,将其识别成为清晰明了的文字参数。
以往的表格识别以及定位的方式仍然存在较大的局限性。如:正对表格识别的四角定位法需要预先进行表格的模型设置,这种方式的应用范围较小,且人力成本较高;抽取矩形块的方法将表格线作为导引,这种方式虽然不需要预先设置模型,但是表项内容的提取只限于框线内部,局限性很大。上述方法并不能为表格数据的提取提供更高的精度。同时,电商产品中的表格往往表现出不规则性,这也为表格识别增加了难度。日益增长的电商产品规模也导致电商产品中图片信息复杂化和多样化,在这种情况下需要识别系统具有更高的性能和更快的识别速度。改进系统以YOLO 模型为基础依据进行目标图像的提取与切割,并进行相应的文字识别,将其拼接成可供浏览和编辑的表格文字。
1 YOLO 模型概述
YOLO 模型以神经网络为基础,基于回归思想,输入图像之后能够依据网格划分的图像进行回归检测,以得到目标需求的定位以及类别,在保证目标检测时效性的同时,也能够保证检测的精确度相对较高。该模型具有两个特点:一是作为端到端的模型,回归以及分类工作在一次图像输入之后即可完成;二是位置的生成直接通过神经网络实现。
具体地,图像在输入之后,先进行规格为M×M的网格划分,若目标中心点落到对应的网格当中,则该网格对目标进行检测。网格针对目标中的N个区域位置进行回归预测,并得出一个能够反映网格进行区域预测的精准度以及该网格内目标置信度的得分。得分表示为,其中:Pr(Object)的取值由目标是否落在相应的网络单元格判定,若是则值为1,否则为0;为预测区域和目标区域交并比,当网络单元格中落有目标时,该值即为对应的IOU 值,否则,值取0。
YOLO 网络层结构设计图如图1 所示。
图1 YOLO 网络层结构示意图
图1 的网络层结构示意图中,共包含2 个全连接层以及24 个卷积层。其中,inception modules 结构通过3×3 的卷积层前加1×1 的规约层进行替代,则每进行一个区域的查找,需要求的预测值为5 个,分别为x、y、w、h、c。其中:x、y表示目标中心点在网格当中所处的相对位置,x、y的取值范围为[0,1],当中心点处于右下角时,x=1、y=1,处于左下角时,x=0、y=0;w、h为相对于实际图像高度和宽度的像素比值,取值范围为[0,1];c表示对应的置信度。
区域目标分类的得分等于条件概率以及上述预测量的积,公式如下:
同时,输出向量的维度为M×M×(N×(4+1)+C),其中C为预测类的个数。至此,完成目标定位以及分类的工作。
2 改进的自动化识别系统
2.1 识别系统简述
识别系统包括对电商产品的图像进行定位、商品参数识别以及进行表格还原的整套动作。一般来说,电商产品当中设计的产品参数表现为表格形式或文字块形式。对电商产品进行图像识别的过程就是表格或者文字块进行参数提取的过程。首先,需要定位目标提取参数的位置,定位完成后对提取参数区域进行检测。针对检测结果可能存在文字检测重复的问题,通过置信度较高的阈值对其进行过滤,使假阳性的比率降低,再采用非极大值的方式对其进行抑制。具体步骤为:通过检测表格的对应位置对文字块区域中交并比大于0.1 的位置选择一直进行检测,完成后输出图像识别结果,并通过OpenCV 对检测后的图像识别区域进行切割,同时做出进一步的对比度增强、二值化以及灰度处理,保证其易于识别。识别完成后通过OCR 工具识别图像信息中的文字,并将文字按序进行排列,拼接为可清晰分类阅读的表单信息。进行文字识别处理时,需要借助tesseract这一开源工具。识别流程如图2 所示。
图2 图像识别系统流程
2.2 图像表格检测
2.2.1 改进点及损失函数
以YOLO 模型为基础的图像识别系统仍然存在较大的局限性:一是存在召回率较低的问题;二是容易出现定位误差。因此以该模型为基础,针对其局限性进行改进,得到新的自动化图像识别系统,解决召回率低以及易出现定位误差的问题。主要改进如下:
1)在数据训练时,做出Batch Normalization 层的添加,每个卷积层之后做出批量归一化项的添加,在减少依赖其他正则化方式的同时,保证网络收敛性更高,即不需要dropout优化也能够避免过拟合。
2)进行维度聚类。Faster R⁃CNN 中,固定区域的比例以及大小通常是手动确定的,与先验区域维度相比,代表性不足,网络学习难度较大。本文通过对数据集进行K⁃means 聚类来分析。聚类个数k为单个网格中包含的区域个数,聚类中心对应的高、宽的维度表示区域维度。
3)全卷积网络的搭建。搭建网络DarkNet⁃19,该网络中包含5 个最大值池化层以及19 个卷积层,采用3×3 大小的滤波器后接池化层,同时特征图的数量需求加倍。
4)卷积在固定区域内进行。在YOLO 模型中,包含1 个全连接层,但在改进系统中,舍弃了全连接层,通过固定区域进行预测,在提取区域中执行相应的预测任务。由此导致的mAP 下降很小,但可以使召回率提高很多。
5)细粒度的提高。在深层特征图当中,连接26×26 的浅层特征图,添加passthrough 层(细粒度特征),通过该层将高分辨率特征图层与后续特征图进行联系,并将相应的特征进行多个feature map 划分,得到提高4 倍的特征图通道数。
模型的损失函数包括3 个部分,即模型的置信度损失、类别损失以及位置损失。模型的置信度损失定义如下:
式中:首项表示的IOU 误差为区域内包含object 的置信度损失结果;第二项表示的IOU 误差为区域内不包含object 的置信度损失结果。其中:表示当前object 的中心点落在网格i的区域j中,且此时区域和实际框之间的IOU 值保证最大,此种情况下值取1,否则取0;表示当前object 的中心点不处于网格i的区域j中。
模型的类别损失公式如下:
模型的位置损失公式如下:
式(4)中对图像的高宽比开根号会更加有利于实际情况的判断。损失比较示意图如图3 所示。
图3 损失比较示意图
图3 中,实线方框表示预测值,虚线方框表示相应标准框。理论上,直接进行差平方,C与B以及B与A二者的损失等同;但实际上,其面积比并不相同,C与B的面积比大于3,B与A的面积比为25。当加根号,C相比B的损失值是1.17,B相比A的损失值是3.06,更切合实际情况。综合以上三个部分,模型的损失函数可以表示为:
2.2.2 图像检测
要实现输入图像的表格准确检测,就需要通过模型对相应的数据进行训练。实验过程中,输入图像来自电商软件,选择图片数量为100 张,同时人工标注相应的参数位置。坐标标注时,进行区域宽高比坐标(w,h)以及相应的中心点坐标(x,y)的归一化处理,以备后续检测。检测模型在进行训练时,网络权重的初始化以Imagenet 数据集当中预训练模型为基础依据,网络迭代次数为45 000,动量设置为0.9,权值衰减率设置为0.000 5。在检测模型当中,thresh 参数设置为0.85,通过高阈值过滤再进行模型疏忽,在确保召回率的同时,也能够更好地减少假阳性的出现,既能保证较高的准确度,也能够避免误检情况的出现。图像检测效果如图4 所示。
图4 图像检测效果
2.2.3 区域切割
表格区域的凸显检测完成之后,需要切割检测得到的表格图像。在此步骤中,需要分离表格图像中的各个参数以及涉及到的表头。将切割后的图像生成为便于进行文字识别的单行文字,字符识别采用光学识别的方式,表格图像参数图形的分割通过投影分割的方式完成。
采集到的RGB 图像为三通道彩色,需要将其向灰度图像转变,本文通过加权平均的方式完成。提取RGB 图像当中R(红色)、G(绿色)、B(蓝色)三个通道对应像素值,设定相应的权值进行加权平均,得到对应的单通道图像也即灰度图像。其计算公式如下:
式中:WR、WG、WB分别为红、绿、蓝三个通道的权值。实验中WR的值设置为0.299,WB的值设置为0.114,WG的值设置为0.587。同时,灰度图像的对比度通过直方图均衡化的方式进行提高。通过变换其相应的累积分布函数修正图像的直方图,使得分布的方式变为均匀密度的分布方式,以便于选取图像二值化对应阈值。直方图均衡化示意图如图5 所示。
图5 直方图均衡化示意图
二值化处理相应的图像时,自适应阈值的求取通过OTSU 算法实现,而后通过中值滤波对二值图噪点进行消除。将8 个相邻像素点对应的中值替换为当前位置像素值,此时可以分别处理更为清晰的背景以及文字。问题是:当文字颜色和背景颜色不同时,二值图当中呈现出来的图像也不相同,会出现黑底白字或者是白底黑字的情况。
为保证后续切割表格便利,需要对图像当中所有二值化的颜色进行统一,这主要通过判断相应的颜色分量来实现。通常当字体颜色较深时,图像中通道值B>R;当字体颜色较浅时,图像中通道值B<R,通过反色处理就能够保证二值图在输出时均黑底白字,示意图如图6所示。
图6 表格区域二值化处理后图像
对于应当具体在哪个位置进行切割,主要通过垂直以及水平方向的二值图投影实现,根据其空白间隔判断切割位置。垂直以及水平方向的投影如图7、图8 所示。
图7 垂直方向二值图投影
图8 水平方向二值图投影
同时,为了保证切割准确,需要设置相应的阈值,以避免在连贯相邻文字中间造成切割。具体的,将水平切割阈值设定为3,垂直切割阈值设定为8,通常表格图像中边缘不设文字,因此设定投影量的值为0。先填充图像4 个方向(上、下、左、右)投影连续不超过4 的位置,填充值设定为40,这既能减少噪点出现,也能够保证在边缘位置上不会出现误切。切割二值图之后的图像如图9 所示。
图9 二值图切割后图像
2.3 图像文字块检测
图像的文字块检测与图像的表格检测步骤大致相同,不同点是标记数据的方法存在差别。相比表格检测而言,文字块当中的文字包含不同的种类,在进行检测的过程中需要对短文字块进行检测,该短文字块应当只包含一种尺度和字体。在进行文字块检测时,选取代表性图像100 张,同时只标记相同字体以及单行样本参数,以保证更高的召回率以及更好的鲁棒性。图像文字块检测结果如图10 所示。
图10 图像文字块检测结果
图10 中文字块检测完成后,文字块的切割通过OpenCV 完成。而后按照类似表格检测的步骤进行灰度图像处理、直方图均衡化、图像的二值化以及滤波等,并将图像进行拼接,得到类似表格的结果。
3 实验结果及分析
系统实验使用的图像均来自电商软件,精确度的估计通过mAP 衡量,检测的覆盖率通过Recall(召回率)来衡量。其中,AP 表示各个分类以正确率和召回率为依据绘制得到的P⁃R图形面积,mAP 表示不同分类中AP的平均值,Recall(召回率)表示检测所得目标数量同测试目标数量的比。实际系统实验中,测试表格参数的输入图像为100 张,测试文字块参数的输入图像为100 张,包含的表格块数量为137 个,文字块数量为443 个,测试集包含的表格图像为30 张,包含的文字块图像为30 张,包含的表格块数量为40 个,包含的文字块数量为90 个。实验将改进系统、初始的YOLO 模型、加入Batch Normalization 层的YOLO 模型以及Darknet⁃19 网络的YOLO 模型进行对比。各模型实验在微调时,采用的权重迭代次数为20 000 次,检测结果如表1 所示。
表1 不同模型检测结果 %
表1 中,从检测效果来看,除添加了Batch Normalization 层的YOLO 模型检测所得的mAP 稍显下降,其余模型迭代均呈上升趋势,改进系统的检测结果mAP 最高,说明改进系统效果显著。改进系统在表格区域检测中,mAP 的值高于90%,召回率达到95%;在文字块区域检测中,mAP 的值高于85%,召回率接近95%;同时,输入图像的检测时间均在0.03 s 内,在提升识别精确度的同时,也极大地提高了识别的速度。文字识别是通过对OCR 开源工具tesseract 的调用,进行文字块以及表格的检测,样例图分别如图11、图12所示。
图11 表格识别文字样例图
图12 文字块识别文字样例图
通过图11、图12 不难看出,改进系统通过有效的区域抑制,能够将表格以及文字块进行明确区分,得到清晰的检测结果。
4 结语
本文以大数据驱动为基础前提,并以YOLO 模型为基础依据,进行检测模型的改进,以实现电商产品的自动化识别,为深入农村的电商产品做到更好的统计和数据分析。改进系统依靠卷积神经网络良好的鲁棒性以及特征提取的能力,在自动化识别的过程中,极大地缩短了识别时间,提高了识别精度。