APP下载

基于YOLO的图书装订自动化检测系统设计与实现

2023-02-03师,于

制造业自动化 2023年1期
关键词:按钮界面图书

何 师,于 强

(1.中国科学院国家空间科学中心,北京 100192;2.中国科学院大学 计算机科学与技术学院,北京 101408)

0 引言

随着机器视觉,工业自动化的快速发展,工业4.0[1]的概念已经被提上日程。传统很多需要人工来手动操作的工作,渐渐的被机器所替代。神经网络更是让计算机视觉有了更广阔的应用场景,它将基于人类视觉的分类[2]、检测[3]、分割[4]等任务实现自动化。目标检测技术已经广泛应用于人脸识别[5]、自动驾驶[6]、工业生产[7]等领域。

在图书的生产过程中,图书的质量保证是重中之重。要保证任何一本图书在出厂时都不能够有任何的装订错误。

装订过程中出现的错误形式如下图所示,从上至下依次为正确样本、顺序出错样本、章节重复样本、章节缺失样本。

图1 四种样本图书

目前,该项工作主要是由人工来完成,这造成了正版图书较高的图书成本,并且很难完全保证图书质量。利用自动化方式来完成图书质量的检测,是图书生产过程中必然的趋势。在图书装订检测领域,杜万全先后提出过使用在线称重[8]、计算机视觉[9]两种方式,但都只是一种探索和想象,并未真正落地实现。在基于深度学习的目标检测方面,YOLOv3具有速度快、精度高的特征优势,并且已经在很多方面应用。本文研究借助于YOLOv3模型,对图书装订进行识别检测,并使用Qt完成软件系统的研发。

1 系统总体设计方案

1.1 系统组成

图书装订检测系统由图像采集模块、图书智能识别模块和后处理模块三个模块组成。图像采集模块包括工业CCD相机——大华相机、平行光源、触发器。后处理模块包过气缸、气泵、气阀和一个装订有误图书的回收装置。智能识别模块主要是通过深度学习算法对图书的装订进行识别和检测。

图2 系统组成图(位置检测)

1.2 系统流程

整个流程如图3所示。传送带上的图书到达触发器位置之后会触发相机进行拍照,拍得的照片会通过网线(RJ45)传送给电脑,软件首先会对拍到的图像进行识别,识别分为两次,第一次识别图书在整个图片中的位置,按照识别到的图书位置对整个图像进行裁剪。裁剪完之后会再次进行识别,此次识别是识别书脊侧的标志块,识别完之后提取识别到的标志块的中点坐标,使用最小二乘法进行线性拟合。通过综合判断识别到的标志块的数量、拟合得到的参数和相关系数,最终得到图书的装订是否有误。若图书装订结果正确,则后处理装置不触发;若装订有误,则触发后处理装置,弹出回收装置将图书截获。

图3 系统流程图

2 目标识别与判断

2.1 目标识别

基于深度学习的目标检测方法主要分为两类[10]:一种是基于候选区域的两阶段(Two Stage)目标检测如FastRCNN[11]、Faster R-CNN[12]等,另一种是基于回归的单阶段(One Stage)目标检测算法如YOLO[13]和SSD[14]。两种方法各有利弊,综合对比各种方式之后选择YOLOv3作为本系统的检测模型。

YOLOv3模型无论是精度还是速度都要优于其他模型。使用Geoforce 2080Ti OpenCV FP16,Network size=416,fps可以达到159[15]。这个速度满足了每秒钟检测一本样本图书所需要的时间要求。

整个系统的两次识别都是通过YOLOv3模型识别的。在对本地图书样本进行标记之后,训练Github上提供的预训练的模型[15],将得到的模型用于后期的识别工作中。

2.2 模型训练

为提高识别精度,本文中主要通过修改cfg 文件中的参数实现,例如:使用不同的初始网络大小、设置random=1、训练模型时设置layer=23,stride=4。

训练样本使用的不同光照强度下的不同种类图书、同一种图书不同样本,共20种图书1000余个样本。此外,我们在训练模型时曾使用在同一光照强度下不同的样本进行训练,但最终得到的结果并不能识别到任何的标志,并且mAP始终为0,由此我们推测,YOLOv3对图像的亮度敏感。

2.3 结果判断

图书装订结果是根据线性拟合的参数决定的,线性拟合的方式是采用最小二乘法。

设x和y之间的函数关系为y=ax+b,此式中有两个待定参数,a为斜率,b为截距。对于所得到的N组数据,xi认为是准确的,所有的误差只和yi有关。用最小二乘法估计参数时,要求观测值yi的偏差的加权平方和最小,即:

对a,b分别求一阶偏导数:

对a,b再分别求二阶偏导数:

令一阶偏导数为0:

解得:

相关系数r:

3 软件设计与实现

软件采用Qt5.12进行开发。主要分为以下几个部分:相机控制模块、外部设备控制模块、目标检测与判断模块、前端界面模块。

图4 系统模块组成

图5 主界面功能

相机控制模块:相机为大华工业相机,型号为A3600MG18,分辨率为3072*2048,单通道图像。此模块主要将大华相机提供的接口集成在软件中,实现的两个功能是控制相机的开关和拉流方式。通过点击软件界面上的“打开相机”、“关闭相机”两个按钮,可以实现控制相机的打开和关闭。点击界面上的“开始识别”、“停止识别”按钮,将会改变相机的拉流方式从持续拉流和外部触发之间切换,同时这两个按钮也控制着软件的识别功能的开始和停止。

目标检测与判断模块:此部分的代码主要是实现两个接口函数YOLO和线性拟合。YOLO函数将相机的数据流读进来,然后进行识别和判断,同时返回出识别到的所有的小黑块的位置信息。线性拟合函数会将上一步YOLO返回的位置信息作为输入,通过最小二乘法拟合直线并将得到的参数和相关系数与给定的值和阈值进行比较,得到最终结果并返回。

外部设备控制模块:此模块有两个功能,一个是与光敏传感器的通信来控制相机的拍照,另一个是当识别到错误图书的时候驱动外部设备弹出回收装置并收回。

最后一个模块是前端界面模块。前端界面采用的Qt库进行开发,集成了前三个模块的内容。界面上包括显示区、控制区和菜单栏。显示区显示相机实时画面、识别的图像结果和文字结果。控制区设置了四个按钮,对应了相机控制模块和目标检测与判断模块。除此之外,软件还将模型训练集成到其中,包括样本的采集(拍照)、样本标注、模型训练。菜单栏中单张拍照实现了相机的软触发功能,点击按钮相机就会拍照一张。样本标记是将LabelImg这个软件集成到其中,点击按钮会会将LabelImg这个软件弹出。参数调整会弹窗显示本次图书样本的参数信息和阈值信息,并且可以根据使用情况对此进行调整。

4 实验与分析

实验中检测所用的计算机的配置如表1所示。

表1 测试计算机配置

图6 识别流程图

图7 软件界面

对9种图书4096本样本图书进行装订检测。系统检测图书装订准确率ACC为正确检测的图书样本数占总样本图书的比值,如式子。

其中,TP表示实际正确且检测为正确的样本个数,FN表示实际正确但是检测为错误样本的个数,FP表示实际装订有误但是检测为正确的样本个数,TN表示实际错误且检测为有误的样本个数。实验结果如表2所示。

表2 实验结果

由于生产过程中负样本数量较少,在实验过程中手动制造了缺失、重复、乱序三种错误在不同厚度的6种图书(悲惨世界、从0到 1、背影、新华字典、古汉语常用字字典、成语词典)共36个负样本,均能将错误识别出来。

从实验结果可以看出,每种样本的检测准确率η≥95%,总体检测的准确率β≥97%。另一方面,平均每个样本的检测时间为100ms,满足生产线所要求的检测速度。

5 结语

本系统开发完成之后在通州皇家印刷厂的生产线进行线上试验,通过连续一周对样本的检测,ACC准确率达到96%,每个样本的检测时间小于100ms,满足线上生产需求。

针对图书装订检测的方法,本文中采用的是使用线性拟合的方式对识别到的结果进行判断,除此之外还可以通过对识别到的结果进行仿射变换再通过模板匹配的方式进行判断。

总体来说,此套图书检测系统,具有十分广阔的应用前景,基本可以满足现在国内所有的图书印刷行业的检测问题。并且随着工业智能化的不断推进,机器视觉一定会被广泛的引用到图书生产过程检测中。

猜你喜欢

按钮界面图书
当你面前有个按钮
图书推荐
国企党委前置研究的“四个界面”
欢迎来到图书借阅角
基于FANUC PICTURE的虚拟轴坐标显示界面开发方法研究
班里有个图书角
死循环
电子显微打开材料界面世界之门
手机界面中图形符号的发展趋向
内心不能碰的按钮