论文部分内容阅读
本文主要针对PCB缺陷检测系统中基于高分辨率图像的PCB缺陷检测算法展开研究。对由线阵CCD采集到的PCB被测图像,算法基于无缺陷的模板图对其进行在线缺陷检测。检测对象为常见的六类PCB缺陷:断路、短路、缺口、毛刺、针孔、露铜,检测过程主要包括图像配准与缺陷检测两个任务。图像配准任务中,模板图与被测图的配准精度直接影响缺陷定位与识别的效率与性能。本文首先根据PCB图像上人工标记点对模板图与被测图进行全局范围内的配准。针对由线阵CCD丢帧与扫描速率发生变化而导致被测图发生伸缩形变,本文提出了一种基于K近邻RBF插值的局部配准算法,算法根据被测图中每个像素的K近邻特征点的形变偏差对被测图进行非线性矫正。对于由PCB板材形变引起的被测图形变,本文使用薄板样条插值的方式对其进行进一步的矫正。实验表明,通过上述配准算法得到的模板图与被测图偏差大多数在3个像素以内,基本满足缺陷定位与识别算法对配准精度的需求。缺陷检测任务包括缺陷定位与缺陷类型判别两个子任务。本文首先提出了基于图像处理与连通域分析的缺陷定位算法,对被测图中每个疑似缺陷区域进行标记。针对疑似缺陷区域图像,本文首先使用基于软间隔核SVM分类器作为基线方法对缺陷类型的进行判别。对于现有图像特征提取算法难以满足PCB缺陷分类任务需求的问题,本文针对性地提出了连通分量一致性、边缘一致性以及边缘点Hausdorff距离与方差这三类特征对PCB特征提取算法进行改进。基于上述三类特征,本文提出了最小风险序贯分类器对PCB缺陷进行分类,同时给出了分类器中参数估计的方式。对基于连通域分析的缺陷定位算法难以检出尺寸较小的缺陷,以及分类算法依赖于人工特征选择且泛化能力有限等不足,本文提出了深度学习框架下基于分组金字塔池化结构的PCB缺陷检测模型,该模型融合了不同分辨率下的卷积特征,并针对性地对不同尺寸的PCB缺陷进行定位和分类。为了训练和评估PCB缺陷检测算法模型,本文还制作并公开了包含1,500对图像的PCB缺陷检测数据集——DeepPCB。实验表明,本文提出的缺陷定位算法能够对尺寸在3个像素以上的缺陷进行稳定检出。本文提出的基于最小风险序贯分类器的PCB缺陷分类算法能够有针对性地利用上述三类特征高效地对各类PCB缺陷进行分类,算法能够满足一般的工业需求。另外,本文提出的基于分组金字塔池化的PCB缺陷检测模型在70FPS的效率下对DeepPCB测试集实现98.6%mAP的性能,在PCB缺陷检测任务中超过了目前主流的目标检测算法,如YOLO、SSD、Faster R-CNN等模型,其在实际应用中能够检出传统PCB缺陷检测算法无法检出的微小尺寸缺陷。