目前,中国制造正在从“制造大国”向“制造强国”转型升级,人工智能、机器视觉作为实现中国制造2025的核心技术处于制造产业的风口,越来越多的现代工业制造商,开始使用计算机视觉技术,检测工业产品的问题
基于这一现状,以新一代人工智能、机器视觉技术为主导的工业质量检测设备问世。 AI如何帮助工业质量检测智能化? 作为人工智能领域的创新企业,云歌科技将充分把握工业检测领域客户的核心需求,开发出一系列从行业痛点解决产业痛点的技术和产品,以先进的AI工业视觉技术赋能工业领域。
云歌科技AI工业视觉方案广泛应用于组件AI检测、平面产品在线质量检测、机械零件螺丝开孔AI检测、自动层叠系统和人工智能分拣系统、PCB印刷电路板电路和焊接技术质量检测、LED微珠检测、金属和其他材料外观缺陷检测等多个领域
基于人工智能的工业视觉智能设备可广泛应用于3C电子产品、钢铁、能源、汽车等领域,实现产品缺陷识别与分类,全面赋能工业质检和巡检等场景。 云歌科技可以根据定制化的需要提供完整的定制方案,以先进的AI工业视觉技术赋能工业领域。 EOS-I600系列、嵌入式无风扇CES-A系列和NEON-i100系列智能工业摄像机,可选配NVIDIA GPU或Intel Movidius VPU,以及软件算法有针对性地优化算法,将产品软硬件相结合,进一步提高工业视觉效率,加快工业智能化升级。
图为AI视觉检测平台EOS-I600系列
例如,云歌科技工业视觉检测技术案例电表识别:配备EOS-I600系列等相关核心硬件时,将云歌科技工业视觉检测技术应用于电表识别,可以快速识别电表的耗电量和号码,检测结果为400 其中,需要强调的是,基于人工智能的视觉检测方法具有更广泛的适用性,与传统的视觉识别方式相比,无需光照或使用高端镜头,唯一的要求是能够清晰地看到与要识别的图像相关的信息。 以下简单地共享实现的过程。
在此情况下,需要识别图中红框部分的代码和绿框的耗电量。 可以将这个案例分为两个步骤。
使用检测框获取想要识别的区域。 目标检测的方式有SSD、掩码- rcnn、YOLO、文本检测的CTPN等多种。 考虑到检测速度和易用性,使用YOLOv3。 使用文本识别获取数据:传统的识别方法是先剪切字符,然后识别各个字符。 该识别速度识别率低。 因此,使用更先进的CTC网络进行文本的端到端识别。 *条形码容易受到光等的影响,无法正常识别,但如果用AI识别则不受影响。
进程识别
YOLOv3目标检测: YOLOv3是yolo(youonlylookonce )系列目标检测算法的第三版,对于以前的算法,特别是小目标,精度有了明显的提高。 YOLOv3使用了ResNet结构,图中的曲线箭头表示shortcut path。 除此之外,该结构与普通的CNN结构没有区别。 随着网络的加深,学习特征越来越难。 但是,加入一个shortcut path,学习过程就会从直接学习特征开始,在之前学习的特征中加入一些特征,得到更好的特征。 因此,复杂的特征量h(x )先前是独立分层学习的,现在是这样的模型h ) x )=f ) x。 这里,x是shortcut开始时的特征,f ) x )是相对于x的填补和增加,成为残差。 因此,学习的目标是从学习完整的信息开始,变成学习残差。 这样就大大降低了学习优质特征的难度。
那么YOLOv3该怎么训练呢? 本案例不解释论文源代码的再现和模型的思想。 为了更快地实现需求,可以使用现有的模型。 使用git克隆或手动下载此项目:
3359 github.com/qqwweee/keras-yolo 3
接下来,我们训练自己的数据集。 因为无法在现有的YOLOv3权重中检测出所需的电表代码和电量区域。 在标记数据之前,必须确保可以获取与图像对应的标签。 在此情况下,图像的名称对应于代码和功耗。 此处使用的数据标记工具labelimg可以使用命令pip intall labelimg进行安装。 详细的使用方法在这里不怎么说明。
3f5f34eb99651fb3bfd2806dd?from=pc”>
当我们标注所有的图片之后,我们回到pycharm中,编写代码按照8:1:1划分出训练数据、验证数据和测试数据。此时的数据并不能直接被YOLOv3读取,需要我们再做一次转换。修改voc_annotation.py 文件,将 classes 修改成自己的类别。
然后运行,会得到下面3个.txt文件。他们对应的是训练集,测试机,验证集的图片。
每个文件都记录着 3 个信息:图片地址(红色框),标注的坐标(黄色的框),以及标注名称的索引(与上面修改的 voc_annotation.py 文件中的 classes 相对应)
接着,我们修改model_data文件夹下的voc_classes.txt,将类别修改为我们自己的。
接下来我们就可以开始训练了,在1080ti的GPU上训练1000个周期后,得到的结果如下图所示。使用测试集进行验证,基本上所有的图片都能完整地检测出来。
接着我们编写可视化的代码并将编码区域和电量区域分别保存到不同的文件夹,为第二步的字符识别提供数据集。切割后的图片如下图所示:
文本识别
使用CRNN+CTC的方式进行文本识别。即使用CNN提取特征信息,使用RNN提取序列信息,最后使用ctc_loss作为模型的损失
在 tf.keras 里面,CTC Loss 已经内置了,只需要添加一些代码,即可实现 CTC Loss,由于我们使用的是循环神经网络,所以默认丢掉前面两个输出,因为它们通常无意义,且会影响模型的输出(实际使用测试中,不丢弃差别也不大)。当我们训练好一个模型之后,和YOLOv3的检测程序结合起来,就可以得到如下的结果。
电量的文本识别和编码的识别类似,只不过图片的分辨率改变了,我们只需要把网络修改一下,就可以训练得到模型了。这里就不过多阐述了。最终识别结果如下图:
由于人工智能的到来视觉缺陷检测得到颠覆性的解决。相比传统视觉缺陷检测的解决方案人工智能的优势有:一是解决了传统视觉无法处理的完全无规律复杂的图像问题;二是解决了传统机器视觉由于抗干扰能力差造成漏检误检率高的问题;三是解决了传统视觉未出现过的缺陷无法识别,需要连续不断的算法补丁的问题;四是解决了传统视觉项目周期普遍很长导致验证速度慢的问题;五是解决了传统视觉对硬件环境依赖比较高的问题等。人工智能成为了智能制造从理论到实际应用的一把钥匙,我们也是借用人工智能强大的能力为各个行业的企业实现了无人自动化缺陷检测。