续爱民, 王小强, 刘 鹤
(1.上海船舶工艺研究所, 上海 200032; 2.上海申博信息系统工程有限公司, 上海200032;3.招商局重工(深圳)有限公司, 广东 深圳 518054)
基于二维码自动识别的海工设备调试管理技术
续爱民1, 王小强2, 刘 鹤3
(1.上海船舶工艺研究所, 上海 200032; 2.上海申博信息系统工程有限公司, 上海200032;3.招商局重工(深圳)有限公司, 广东 深圳 518054)
介绍通过自动识别二维码信息实现海工产品设备调试过程跟踪管理的方法。通过在设备调试过程文件上添加二维码,并采用二维码自动识别技术将扫描后的调试文件根据其内容挂接到对应的调试条目上,按照业务需求对各类调试文件分类存储,实现方便快捷的查看和下载功能。
二维码;识别;设备调试;海工产品
设备安装调试是海工项目建造过程中非常重要的环节。由于设备调试现场环境恶劣、情况复杂,国内海工产品建造企业大多采用纸质文件结合Excel电子表格的方式来管理设备调试过程,难以满足对设备调试检验过程的跟踪和追溯要求。
目前,调试程序文件、调试检验记录文件样式主要由海工企业设计部门制定和发布。调试检验工程师打印空白调试检验记录文件后带至调试现场,填写记录调试过程信息和调试数据。船东、船检等相关人员签字确认后由调试检验工程师扫描成电子文件,按文件夹分类保存,采用手工方法将扫描后的文件与调试检验条目匹配[1-2]。近年国内某些海工企业已采用数据库技术管理设备调试相关条目信息,但对于调试检验过程文件及相关信息的管理仍然采用传统手工方式[3]。
由于海工项目调试检验内容种类繁多,每个海工项目可能涉及数千份调试检验文件,因此扫描后的图像文件也非常多。通常采用手工方法将扫描后的文件与调试检验条目匹配,不仅效率较低,也易出错。
采用文件夹形式管理调试检验扫描文件,共享性差,及时性难以保证,设备采购部门、管理部门不能及时方便地跟踪调试进度状态以及调试意见(Comments)和不合格项(NCR)的处理情况,不能及时处理调试服务工程师邀请、投诉、费用结算等事项,也难以充分协调调试工程师、调试检验工程师和设计师等人员的工作。
二维码制作和识别技术近年来发展迅速,已有学者将二维码技术应用到设备、文档资料和票据管理等领域[4-6],这些学者一般采用蓝牙扫描枪、手机等手持识别设备读取二维码信息或对小幅面票据进行扫描后识别的方法。由于海工设备调试文件数量大、需扫描后批量录入系统,并且设备调试文件幅面大、二维码所占幅面相对较小,上述方法不适合应用到设备调试文件管理系统中。
为了使品质部门及调试相关部门的工程师可以方便、及时地将设备调试试验数据和调试过程信息更新到系统中,并跟踪设备调试过程处理状态,针对设备调试文件批量大、二维码所占幅面相对较小的特点,本文研究通过添加和自动识别二维码信息实现海工产品设备调试过程跟踪管理的方法,并将其应用到设备调试管理软件系统。
1.1 技术实现总体思路
通过设备调试管理软件将Word或WPS格式的调试检验记录空白格式文件转换成PDF格式,然后根据调试项目的条目内容生成并添加二维码。调试检验工程师打印带有二维码的调试检验空白文件,在调试现场填写相关检验过程信息和数据,并确认签字。
调试检验工程师将填写完成后的调试检验纸质文件扫描成图像文件,设备调试管理软件识别图像文件所包含的二维码,并根据其内容自动将图像文件挂接到不同的调试条目下,从而彻底摆脱以往利用文件夹管理检验文件的方式。品质部门、设备采购部门等相关部门便可以在设备调试管理软件系统内查看调试进度状态及相关调试数据。
1.2 设备调试文件添加二维码
QR Code二维码是一种应用广泛、可快速识别的二维码,本设备调试管理软件系统采用QR Code二维码[4]。设备调试管理软件根据调试项目的条目内容生成QR Code二维码,并在设备调试文件页面右上方位置自动添加该QR Code二维码,同时标记相应文字内容在页面下方,便于人工识别读取。
1.3 调试检验扫描文件二维码识别方法
1.3.1 二维码识别
在调试现场根据实际调试检验情况填写相关检验过程信息和检验数据,并由船东、船检确认签字后的纸质检验文件通常是海工企业重要的资料文件,需要按项目分类归档并长期保存。为方便共享和充分利用这些检验文件,需要将其扫描成图像文件。
在已给检验文件添加二维码的基础上,通过识别图像文件上二维码的内容可确定该图像文件所对应的调试检验项编号,从而可实现将扫描图像文件自动挂接到调试检验条目。
1.3.2 二维码识别难点和方法
通常由手机或数码相机拍摄的图像,二维码图像区域一般位于整个图像的中心位置,占据图像的主要区域,提交整个图像给识别函数,比较容易实现二维码的识别[7-8]。但对于本文所获得的扫描图像,QR Code二维码区域只覆盖整个扫描图像的很小一部分面积,位于整个扫描图像的某一角落或其他位置。如直接将整个扫描图像提交给识别函数,则无法找到QR Code图像区域,无法准确识别出二维码的内容[9]。这也是本文提到的扫描图像二维码识别的难点。
本文通过像素处理方法分别预定位竖直边界和水平边界,进而预定位二维码图像区域位置,然后将这些潜在的二维码图像区域依次提交给识别函数,最终实现扫描图像的二维码识别。
首先进行竖直边界的确定:
(1) 将填写好的检验文档扫描为黑白二值图像,或者将彩色或灰度图像格式转化为黑白二值图像,如图1a)所示。
(2) 对黑白二值图像逐行进行像素值累加。
(3) 对累加得到的值进行高斯滤波去除噪声影响,如图1b)所示。
(4) 获得垂直方向像素累加和大于阈值t1的若干连续区域,定为可能的区域,确定其竖直边界。其中阈值t1,根据QR Code图像区域的特点以及实际试验和统计结果,预先设定。
然后进行水平边界的确定:
其边界的确定过程与竖直边界类似,不同之处在于像素值累加算法不需要累加整个图像的上下边界间所有像素,而是在刚计算出来的可能竖直边界内计算,这样既减少计算量又能提高预定位区域的准确度,如图1b)所示。
预定位二维码图像区域位置:
通过上述的算法计算可得到条码区域的若干预定位区,如图1c)所示。然后按照靠近扫描图像边缘和角落位置优先原则依次调用识别函数,直至识别成功。
图1 投影定位效果图
1.3.3 程序实现部分具体代码
首先通过上述方法将待选区域读取到图片缓冲区中;然后将图片缓冲区数据通过调用BinaryBitmap进行格式转换,该方法由Google的Zxing包提供;最后通过QR CodeMultiReader 类的decode方法来实现自动对二维码图片的解析。部分具体代码如下所示。
public String RecQRBarcode(System.Drawing.Bitmap bmpImageName){
String strResult = "";
try {
Bitmap bmpmy = (Bitmap)bmpImageName;
com.google.zxing.LuminanceSource lst = new RGBLuminanceSource(bmpmy, bmpmy.Width, bmpmy.Height);
com.google.zxing.Binarizer bzer = new com.google.zxing.common.HybridBinarizer(lst);
com.google.zxing.BinaryBitmap BBmp = new com.google.zxing.BinaryBitmap(bzer);
com.google.zxing.common.BitMatrix mBMat = new com.google.zxing.common.BitMatrix(BBmp.Width, BBmp.Height);
com.google.zxing.multi.qrcode.QRCodeMultiReader mReader = new com.google.zxing.multi.qrcode.QRCodeMultiReader();
strResult = mReader.decode(BBmp).Text;
}
catch (Exception de){
Console.Error.WriteLine(de.Message);
Console.Error.WriteLine(de.StackTrace);
}
return strResult;
}
1.3.4 具体识别过程和效果
本系统根据上述方法将二维码识别程序编写成独立动态连接库QRBarPDFAddRec,可解析和识别扫描成图像文件(如tif,jpg,png,pdf等格式)的调试检验文件,并根据识别出的二维码内容重新给图像文件命名,文件名包含文件类型、项目编号、调试项编号、文件页次等信息。该自动识别方法能够支持高速批量扫描设备。当重新命名的文件上传至系统时,系统将根据文件名自动地将文件挂接到相应的调试检验条目。
图2为识别前后的对比,左边为扫描的图像文件,右边为识别后重新命名的图像。
图2 调试检验扫描文件二维码识别前后示例
本文所述方法已成功应用到某些海工项目、船舶建造项目,覆盖了项目所含主要设备系统和主要专业的调试任务,实现调试过程跟踪、调试文档扫描后自动挂接归档,可快速生成和导出与设备调试相关的交船文件,大幅提高调试管理的效率和准确度。图3为某项目中实现调试跟踪的部分主要系统。
图3 项目应用实例
海工产品设备调试过程管理是海工产品建造过程中的重要环节,需要精细化管理以满足快速跟踪查询过程信息的要求。通过在设备调试过程文件上添加QR Code二维码,并采用二维码区域预定位方法和自动识别技术,将扫描后的调试文件根据其内容挂接到对应的调试条目上,按照业务需求对各类调试文件分类存储,能够大幅降低调试检验文件管理劳动强度,提高设备调试管理过程信息的准确性和及时性,方便跟踪查询相关信息。本方法已在某海工企业的多个海工项目建造过程中实施应用,提高了设备调试过程管理效率,减少了差错,效果良好。
[1] 马玲,吕栩生.预调试在海工项目管理中的应用[J].造 船技术,2014(3):6-9.
[2] 任茂强.浅析海洋石油平台工程建造项目调试管理[J].科技创新与应用,2016(31):71-71.
[3] 冯铁骥,刘宝昌,杨荣锋.数据库技术在海工调试管理中的应用[J].机电设备,2012(6):44-46.
[4] 吴狄,张冠伟.基于二维码识别技术的工业企业设备管理系统的开发与应用[J].数字技术与应用, 2015(6):171-173.
[5] 蒋术.条形码、二维码和RFID在档案管理中的应用比较研究[J].北京档案,2015(8):36-37.
[6] 中国标准出版社.条码国家标准汇编[M]. 北京:中国标准出版社,2004.
[7] 徐玲,蒋欣志,张杰.手机二维码识别系统的设计与实现[J].计算机应用,2012,32(5):1474-1476.
[8] 高峰.二维条形码手机识别系统的设计与实现[D].北京:北京邮电大学,2008.
[9] 周晓伟.二维条码识别技术研究[D].上海:上海交通大学,2007.
Offshore Engineering Facility Debugging and Management Based on Automatic Two-Dimensional Code Recognition
XU Aimin1, WANG Xiaoqiang2, LIU He3
(1. Shanghai Shipbuilding Technology Research Institute, Shanghai 200032, China;2. Shanghai Shenbo Information Systems Engineering Co., Ltd., Shanghai 200032, China;3. China Merchants Heavy Industry (Shenzhen) Co., Ltd., Shenzhen 518054, Guangdong, China)
A method for tracking management of facility debugging of the offshore engineering products based on automatic two-dimensional code recognition is proposed. A unique two-dimensional code is added to the facility debugging process file and the automatic two-dimensional code recognition technology is used to put the scanned debugging file on the corresponding entry. Those files are stored on serve by category and can be viewed and download conveniently.
two-dimension code; recognition; facility debugging; offshore engineering product
续爱民(1973-),男,高级工程师,主要从事船舶软件开发与实施工作
1000-3878(2017)04-0001-04
U671
A