论文部分内容阅读
印刷品缺陷检测是印刷品行业生产和质量管理的重要环节之一。目前国内厂家大多采用印刷品缺陷检测系统进行印刷品缺陷的自动检测,但由于国外的系统价格昂贵,在国内的使用范围不广,而国内开发的印刷品缺陷检测系统很多受困于缺陷检测精度、速度及系统成本并未投入实际使用。近年来,GPU强大的并行计算能力为大规模数据运算任务提供了新的思路和解决方案。本文以印刷品缺陷检测为背景,将GPU并行技术和机器视觉相结合起来,实现了基于GPU并行的印刷品缺陷检测算法。本文对NVIDIA公司的GPU硬件结构,CUDA编程模型和内存模型作了详细的说明。对基于CPU实现的印刷品缺陷检测算法进行了分析,总结了其存在的问题。介绍了基于CUDA的并行图像处理技术,分析印刷品缺陷检测算法并行化的可行性。针对印刷品缺陷串行检测算法存在的问题,提出了一种适用于CUDA并行架构的印刷品缺陷并行检测算法。该算法基于四叉树算法的结构原理和分而治之的思想,先以四个子区域为单位将图像分成若干个子区域,再对子区域内的缺陷进行检测,然后检测子区域间是否有缺陷连接,进行区域间合并,进行区域合并的时候,同样以四个子区域为单位进行合并,直到合并为一幅图像为止。在对子区域内缺陷进行搜索时,采用奇偶行交替搜索的方法减少迭代的次数。在算法的时间复杂度方面,当处理一幅大小为m×n的图像时,本文提出的印刷品缺陷并行检测算法为O(n/d) 远低于基于顺序和行程长编码的缺陷聚类算法的O(n~2),其中d为线程网格中Y方向的线程块个数。并使用了NVIDIA公司开发的CUDA程序性能分析工具Parallel Nsight对所实现的CUDA程序进行了性能分析,提出了改变线程布局模式、使用共享内存和内核融合三种优化方案。根据本课题的检测对象特点设计了模拟印刷品缺陷检测平台,对其中的图像采集方案、相机和主机转轴的同步方案及其软件系统进行了设计和实现。本文利用了四种缺陷程度不同的印刷品图像对本文提出的算法和优化策略进行了验证,并且与印刷品串行检测算法进行了对比。实验结果表明,本文提出的印刷品缺陷并行检测算法在兼顾准确率的同时将检测速度提升了4~6倍。