APP下载

一种基于分块思想的多纸张缺陷一次提取算法

2018-09-10王伟刚周强肖强宏

中国造纸学报 2018年4期

王伟刚 周强 肖强宏

摘 要:为了解决纸张缺陷检测中多个纸病区域的提取实时性问题,提出了一种采用“先分块、后合并”思想直接对实时图像数据流进行处理的并行化纸病提取算法。该算法充分利用现场可编程门阵列(FPGA)的并行处理特性,在跨时钟域对图像数据进行传输的同时,在另一个分支流程中并行地对分块缺陷连通域进行标记以获取每个缺陷的相对位置坐标,最后以包围盒的形式提取出纸张缺陷区域。该算法基于分块思想,分支处理过程不需要消耗主流程额外的处理时间且硬件资源占用率极小。实验结果表明,该算法能够准确、快速地提取出各种常见纸张缺陷,具有很强的灵活性和实时性,能够满足在线纸病检测的实时性要求。

关键词:纸病检测;现场可编程门阵列;连通域标记;包围盒

中图分类号:TS736+.2

文献标识码:A

DOI:10.11981/j.issn.1000-6842.2018.04.36

目前,纸病在线检测系统普遍采用“电荷耦合器件(Charge Coupled Device,CCD)相机+计算机”的硬件结构模式,通过CCD高速相机实时采集纸张图像数据并传送至检测系统PC端,系统的核心处理器利用图像处理技术对纸张图像进行处理和辨识,实现对黑斑、孔洞、划痕、裂边等缺陷的识别和分类[1-3]。但是随着纸机车速的提升、纸幅的加宽以及对纸病辨识精度的提高,CCD相机采集到的海量图像数据,给系统的快速性甚至稳定性带来了巨大冲击,如何解决打破纸病辨识快速性这一瓶颈已成为当前研究纸病检测技术的关键问题。

为此,本课题提出了“CCD相机+FPGA+计算机”的结构模式,该结构模式下由现场可编程门阵列(Field-Programmable Gate Array,FPGA)完成图像的一次辨识,对疑似纸病区域进行初步辨识、提取疑似纸病区域并发送至计算机,由计算机再对纸病区域进行二次辨识,实现纸病的精准识别和分类。

传统的纸张缺陷提取算法主要采用包围盒或连通域标记的原理获取纸张缺陷位置信息,从而将纸张缺陷区域提取出来。包围盒是指包含目标像素的最小外接矩形,基于包围盒原理的提取算法结构简单、处理成本低、易于硬件实现,但仅仅适用于单缺陷的提取。连通域标记是指将二值图像中符合某种连通规则(4邻域、8邻域等)的多目标区域进行标记,以便提取出各目标区域的位置信息及特征等参数,基于连通域标记的提取算法按其实现方式主要分为3类[4]:随机读取算法、两次遍历算法、多次遍历算法,其中随机读取算法主要采用链码的形式提取连通域边界,二次遍历算法和多次遍历算法均采用处理等价標号的思想对连通域进行标记,获取位置信息,两次和多次扫描算法的区别在于处理等价标号的方式不同。

近年来,不同学者对缺陷的初步识别和提取做了大量的研究。刘勇等[5-6]提出的算法采用包围盒原理,只适用于单缺陷识别的场合。刘慧忠等[7-8]基于FPGA平台上对缺陷区域进行提取,但并没有说明具体的实现方式。汤伟等[9]提取含有纸张缺陷的整幅纸病图像并上传至计算机,大量图像数据会降低计算机端处理速度。李茜等[10]采用了随机读取算法,但该算法需要提前缓存图像数据,不适合实时数据流处理实现。马毅超等[11-17]均采用二次遍历算法对缺陷区域进行标记,至少需要遍历图像两次。王凯等[18]提出了一种快速扫描算法,单次遍历中实现标号跟踪,该算法的理论运行时间为(M×N+4)个时钟周期。王尧等[19]将传统的二次扫描算法改进成单次扫描方式,可以提取出单目标缺陷。Pandey等[20]对等价标号的合并方法进行了优化,但仍需要多次遍历。以上文献中虽采用各种方法和手段对算法进行了改进和优化,并没有改变以像素点作为最小单元的处

理模式,仍需要单次或多次对帧图像进行遍历,才能输出缺陷的位置坐标,浪费大量的时间,无法满足实时硬件数据流的处理要求。

针对以上缺陷提取算法的不足,本课题提出了一种基于分块思想的多纸张缺陷一次提取算法。该算法利用“先分块、后合并”的思想,在图像预处理主流程中采用包围盒原理获取各个分块缺陷的外接矩形坐标,待预处理完一帧图像后,在图像缓存到同步动态随机存储器(Synchronous Dynamic Random Access Memory, SDRAM)阶段中的另一分支,对跨块的缺陷区域进行合并标记,对合成的缺陷外接矩形坐标进行更新。缺陷提取算法的主要处理过程在分支流程中完成,不需要消耗额外的主流程处理时间,且无需打断连续的数据流,大大地提高了硬件系统中缺陷提取算法的处理效率。

1 纸病检测系统硬件平台搭建

本课题的纸病检测系统平台采用“CCD相机+FPGA+计算机”的结构模式,该系统主要由CCD相机、FPGA数据处理系统、上位机3部分构成。该纸病检测系统硬件结构框图如图1所示。其中,CCD相机选用DALSA公司S2系列线阵相机S2-12-02K40-00-L,其灵敏度高、对光照的要求更低。FPGA芯片采用Altera公司Cyclone IV系列芯片ep4ce115f29c7n,内部含有丰富的硬件资源。SDRAM采用IS42S16160D,主要用于跨时钟域传输中对图像数据的缓存。以太网芯片采用DM9000A,该芯片内部集成10/100M自适应收发器,用于FPGA与上位机的通信。

FPGA在整个硬件系统中起到协处理器的作用,主要是利用FPGA的数据并行流水线处理能力对纸病进行一次辨识,判断出疑似纸病,提取出疑似纸病区域并通过以太网接口将该区域发送至计算机,而计算机则负责纸病的二次辨识,对纸病进行精确的识别和分类。由于FPGA承担了98%以上的图像数据处理任务,从而解决了系统的实时性问题[3]。本文主要说明利用FPGA实现基于分块思想的多纸张缺陷一次提取算法。

2 多纸病提取算法

2.1 算法思想

该算法采用“先分块、后合并”的思想将整张图像划分成多个区域块,利用包围盒原理初步获取存在缺陷的各分块缺陷外接矩形坐标,对于跨区域块缺陷则需要进一步采用连通域标记算法对区块进行合并,得到合并后的完整缺陷外接矩形坐标信息,从而完成对所有纸张缺陷区域的提取。

多纸病区域提取算法流程图如图2所示。主要包括纸张图像分块、包围盒处理、缺陷连通域标记、更新缺陷外接矩形坐标、存储参数5部分,其中纸张图像分块和包围盒处理两部分位于主处理流程中,消耗2个时钟周期。缺陷连通域标记、更新缺陷外接矩形坐标、存储参数部分处于分支流程中,不占用主流程处理时间。

总的来说,该算法占用资源少、处理速度快,尤其适用于在图像目标的检测场合中实现硬件加速,因此该算法不仅适用于在线纸病检测系统,同时也适用于其他实时性较强的应用中,可以针对不同的应用场合灵活控制分块的数量,完成对图像目标的检测和提取,以提高系统的实时性。

4 结 论

针对纸病检测系统中多纸张缺陷提取的实时性要求,提出了一种基于分块思想的多纸张缺陷一次提取算法。算法结合包围盒和连通域标记的特点,采用“先分块、后合并”的思想,在实时数据流处理的分支中完成纸张缺陷目标的检测,并以包围盒的形式给出位置坐标,从而准确地提取出常见各类纸张缺陷区域。与目前常用的缺陷区域标记算法相比较,该算法具有以下优势:①可以针对不同场合缺陷的出现概率以及检测精度,灵活控制分块的数量,从而进一步提高算法的执行效率;②占用硬件资源少,且算法结构简单,易于硬件的并行实现;③运行速度块,在本文实验测试环境下,该算法的运行时间仅仅为其他算法的1/100,有效地保证了纸病检测系统的实时性要求。

参 考 文 献

[1] WANG Ya-bo, ZHOU Qiang, WANG Wei-gang, et al. The Secondary Identification of Paper Defects Based on Adaptive Neural-fuzzy Inference System[J]. China Pulp & Paper, 2017, 36(12): 56.

王亚波, 周 强, 王伟刚, 等. 基于自适应神经模糊推理系统的纸病二次辨识[J]. 中国造纸, 2017, 36(12): 56.

[2] ZHOU Qiang, CHEN Ying, SHEN Tian-yu, et al. Review on the Development of Paper Defect Detection System Based on Machine Vision Technology[J]. China Pulp & Paper, 2016, 35(5): 72.

周 強, 陈 颖, 沈天宇, 等. 基于机器视觉的纸病检测系统发展综述[J]. 中国造纸, 2016, 35(5): 72.

[3] WANG Zheng, ZHOU Qiang, LI Min, et al. Optimal Control of Light Source in Paper Defect Detection System Based on Bacterial Colony Algorithm[J]. Transactions of China Pulp and Paper, 2017, 32(4): 47.

王 峥, 周 强, 李 敏, 等. 基于菌群算法的纸病检测系统光源优化控制[J]. 中国造纸学报, 2017, 32(4): 47.

[4] YUAN Kui, HE Wen-hao, XIAO Han. Design for Embedded Image Processing on FPGAs[M]. Beijing: Publishing House of Electronics Industry, 2013: 300.

原 魁, 何文浩, 肖 晗. 基于FPGA的嵌入式图像处理系统设计[M]. 北京: 电子工业出版社, 2013: 300.

[5] LIU Yong, ZHOU Qiang, LIU Tao, et al. Paper Defect Pretreatment System Based on FPGA[J]. China Pulp & Paper, 2013, 32(8): 46.

刘 勇, 周 强, 刘 涛, 等. 基于FPGA的纸病预处理系统[J]. 中国造纸, 2013, 32(8): 46.

[6] DAI Hua-dong, HU Mou-fa, LU Huan-zhang, et al. Design and implementation of target detection algorithm based on connected-domain labeling[J]. Modern Electronic Technology, 2015, 38(20): 71.

戴华东, 胡谋法, 卢焕章, 等. 基于连通域标记的目标检测算法设计与实现[J]. 现代电子技术, 2015, 38(20): 71.

[7] LIU Hui-zhong, TANG Wei. The Implement of Web Inspection Preprocessing Algorithm Based on FPGA[J]. Transactions of China Pulp and Paper, 2014, 29(1): 53.

刘慧忠, 汤 伟. 基于FPGA的纸病检测预处理算法的实现[J]. 中国造纸学报, 2014, 29(1): 53.

[8] DANG Hong-she, WANG Li, ZHOU Qiang. Design of Paper Defect Extraction System Based on FPGA[J]. Transactions of China Pulp and Paper, 2014, 29(3): 43.

党宏社, 王 黎, 周 强. 基于FPGA的纸病提取系统的设计[J]. 中国造纸学报, 2014, 29(3): 43.

[9] TANG Wei, WANG Xian-tong, WANG Feng, et al. Design and Implementation of Web Inspection System Based on FPGA and CCD Camera[J]. China Pulp & Paper, 2016, 31(1): 57.

汤 伟, 王先通, 王 锋, 等. 基于FPGA和CCD相机的纸病检测系统的设计与实现[J]. 中国造纸学报, 2016, 31(1): 57.

[10] LI Qian, WEN Hao, QU Yun-hui, et al. Application of Edge Tracking Algorithm to Multiple Paper Defects Segmentation[J]. China Pulp & Paper, 2017, 36(8): 41.

李 茜, 文 豪, 曲蕴慧, 等. 边缘跟踪算法在多纸病图像分割中的应用[J]. 中国造纸, 2017, 36(8): 41.

[11] MA Yi-chao, TAO Ya-fan, WU Long-sheng, et al. FPGA-Based Binary Connected Component Detection and Labeling Algorithm[J]. Microelectronics & Computer, 2017, 34(1): 119.

马毅超, 陶亚凡, 吴龙胜, 等. 基于 FPGA 的二值图片连通区域标记算法[J]. 微电子学与计算机, 2017, 34(1): 119.

[12] He Lifeng, Chao Yuyan, Suzuki Kenji, et al. Fast connected-component labeling[J]. Pattern Recognition, 2009, 42(9): 1977.

[13] LUO Zhi-Zao, ZHOU Ying-wu, ZHENG Zhong-kai. Optimizing Algorithm of Labeling Connected Components in Binary Images[J]. Journal of Anqing Normal University(Natural Science Edition), 2010, 16(4): 34.

罗志灶, 周赢武, 郑忠楷. 二值图像连通域标记优化算法[J]. 安庆师范大学学报(自然科学版), 2010, 16(4): 34.

[14] ZHAO Fei, ZHANG Lu, ZHANG Zhi-yong, et al. A Hardware Acceleration Based Algorithm for Real-time Binary Image Connected-component Labeling[J]. Journal of Electronics & Information Teclonogy, 2011, 33(5): 1069.

赵 菲, 张 路, 张志勇, 等. 基于硬件加速的实时二值图像连通域标记算法[J]. 电子与信息学报, 2011, 33(5): 1069.

[15] NIU Lian-qiang, PENG Min, SUN Zhong-li, et al. Fast Connected Components Labeling by Propagating Labels of Run Sets[J]. Journal of Computer-Aided Design and Computer Graphics, 2015, 27(1): 128.

牛连强, 彭 敏, 孙忠礼, 等. 利用游程集合的标号传播实现快速连通域标记[J]. 计算机辅助设计与图形学学报, 2015, 27(1): 128.

[16] MA Yi-hang, ZHAN Li-jun, XIE Chuan-jie, et al. Parallelization of Connected Component Labeling Algorithm[J]. Geography and Geo-Information Science, 2013, 29(4): 67.

马益杭, 占利军, 谢传节, 等. 连通域标记算法的并行化研究[J]. 地理与地理信息科学, 2013, 29(4): 67.

[17] TAN Xu-bin, XIE Yi-zhuang, CHEN He, et al. Design and Implementation of Connected Domain Markers Based on FPGA[J]. Signal Processing, 2011, 27(11): 1729.

谭许彬, 谢宜壮, 陈 禾, 等. 基于FPGA的连通域标记设计与实现[J]. 信号处理, 2011, 27(11): 1729.

[18] WANG Kai, SHI Long-zhao. Design and implementation of fast connected component labeling algorithm based on FPGA[J]. Computer Engineering and Applications, 2016, 52(18): 192.

王 凱, 施隆照. 基于FPGA的快速连通区域标记算法的设计与实现[J]. 计算机工程与应用, 2016, 52(18): 192.

[19] WANG Yao, YU Zu-jun, WANG Zhong-wei, et al. Hardware Implementation of Detection Algorithm for Clearance Based on FPGA[J]. Journal of The China Railway Society. 2016, 38(3): 84.

王 尧, 余祖俊, 王中卫, 等. 基于FPGA的铁路异物检测算法的硬件实现[J]. 铁道学报, 2016, 38(3): 84.

[20] Pandey J G, Karmakar A, Mishra A K, et al. Implementation of an improved connected component labeling algorithm using FPGA-based platform[C]// International Conference on Signal Processing and Communications. IEEE, 2014: 255.