1. 案例背景
(1)项目需求
客户想通过机器视觉去检测字符的缺陷,以及识别无缺陷的字符进行结果输出。
● 检测字符的缺陷,发送结果给PLC
● 识别无缺陷字符,发送结果给PLC
(2)项目痛点
每次镭射的字符不相同,使用传统算法检测字符缺陷误判率高,所需的的算子多且整体耗时较长。
2. 方案描述
(1)项目配单表
(2)方案示意图
(3)搭建与调试
● VM搭建流程:
DL字符定位:通过该模块,精准定位出需检测的字符区域,输出目标检测区域供后续BLOB分析和DL字符识别模块订阅。能够减少搜索区域,减少后续模块的算法耗时。
DL图像分割:通过自己训练的模型,然后配置参数检测出前景物体,缺陷会以白斑形式出现,供后续BLOB分析模块订阅。
Blob分析:订阅DL图像分割的缺陷概率图,通过面积以及阈值等条件,筛选符合要求白斑。
条件检测:作为一个总结果的判断,订阅的是BLOB的模块状态。
分支字符:订阅条件检测结果,NG时将通过发送NG结果给PLC。OK时先进行字符识别,识别出当前字符信息,然后将字符信息和OK结果发送给PLC。
● 字符缺陷检测:
使用字符定位工具,定位需检测字符的位置,再使用图像分割工具加BLOB分析工具来检测字符缺陷。如出现字符缺少,留白等现象,图像分割会输出缺陷概率图,缺陷会以亮斑呈现,BLOB分析则会捕获到白色区域,从而输出缺陷的面积,位置。
结论:可满足字符缺陷缺失的检测。
● 字符识别:
字符识别条件检测是使用BLOB分析的状态作为结果判断,当条件检测的结果为OK时,代表该字符无缺陷,通过分支字符进入到字符识别工具进行字符识别,识别字符信息并输出字符结果到PLC。
结论:可满足对无缺陷字符识别的要求。
3、方案优势
(1)与传统算法相比,字符缺陷识别准确率从97%提升到99.5%,字符识别准确率100%。
(2)本方案搭配RTX 2080Ti显卡,方案整体耗时在150ms,能满足客户的节拍需求。