一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于SSD算法的镜头模组外观检测方法及系统与流程

2022-05-06 05:46:57 来源:中国专利 TAG:

基于ssd算法的镜头模组外观检测方法及系统
技术领域
1.本发明属于目标检测技术领域,具体涉及基于ssd算法的镜头模组外观检测方法及系统。


背景技术:

2.在经济发展及居民消费水平不断提升的背景下,智能化产品逐渐普及,智能手机得到飞快的发展,其带动起来的是手机镜头模组的大规模生产,镜头模组行业呈良好的发展态势。智能手机的摄像头主要由光学镜头、音圈马达、红外截止滤光片与图像传感器等零组件构成,镜头模组在封装的过程中,经常会因为传输时的磕碰或人为因素造成模组外观的破损。目前,镜头模组完成组装后,会由工作人员通过肉眼观察的方式进行破损的筛查。但是在大规模生产时,工作人员进行高强度的筛查时很容易产生视觉疲劳,容易出现漏筛或多筛的情况,并且效率低下。
3.另一方面,近年来,深度学习的神经网络对输入图片的特征提取方式快速发展,极大地提升了对目标的定位、分类、识别等检测技术的发展,很多的计算机视觉的学者开始研究各种目标检测算法,并创造出了很多具有代表性的目标检测算法。目前,目标检测主要有2种主流框架,即以faster rcnn为代表的two stage和以yolo/ssd为代表的single shot。其中faster rcnn检测map较高,漏检率recall较低,但检测速度较慢;而yolo则相反,其速度较快,但准确率和漏检率较低。ssd则平衡了yolo和faster rcnn的优缺点。ssd从yolo中继承了将detection转化为regression的思路,一次完成目标的定位与分类,节省了大量的训练时间;又基于faster rcnn中的anchor思想,提出了prior box的方法,提高目标检测的精度;yolo在卷积层后直接接全连接层,即在检测目标时只使用了最高层的feature maps,除此,ssd加入了基于特征金字塔的检测方法,即在不同感受野的feature map上来检测目标,ssd使用感受野小的feature map来检测小目标,使用感受野大的feature map检测更大的目标。基于上述特性,ssd算法兼具了检测速度和检测精度。
4.由于兼具检测速度和检测精度,ssd算法无疑是一种理想的目标检测算法模型,但是,ssd算法只能用来识别尺寸相对较大的目标,而镜头模组的尺寸却非常小,无法使用ssd算法来检测镜头模组上的破损点。目前常用的基于ssd算法的检测方法,一个镜头模组只能看做是检测方法中的一个或者多个检测点,而无法完整的将镜头模组外表面的各个位置进行精准检测。而其他的可检测小尺寸目标的算法模型,要么成本太高,要么精度太低,都不是很适合镜头模组的破损检测。因此,目前手机镜头模组的破损检测,基本还是由人工进行。


技术实现要素:

5.本发明的目的在于,提供一种基于ssd算法的镜头模组外观检测方法,能够在保留ssd算法的优点的基础上,实现对镜头模组的破损的自动检测。
6.本发明提供的基础方案为:
7.基于ssd算法的镜头模组外观检测方法,包括:
8.步骤一,获取镜头模组的样本图像,并设置图像的特征信息和类别标签,得到训练集;
9.步骤二,搭建原始ssd算法模型;
10.步骤三,对原始ssd算法模型进行优化得到检测算法模型,所述优化包括:
11.s3.1,对原始ssd算法模型的尺度和先验框的大小进行优化放大;
12.s3.2,将vgg16主干网络中的fc7层以及fc6层改为卷积层并用于次采样参数,把pool5从2
×
2-s2改为3
×
3-s1,其中,s1、s2分别代表步长为1和2;使用膨胀卷积填充空缺部分以及所有的dropout层,并移除fc8层;
13.s3.3,提取第四个卷积层的第三次卷积特征与fc7层提取出的特征进行组合,再将优化放大后的ssd算法模型的19
×
19
×
1024、10
×
10
×
512以及5
×5×
256卷积层替换为rfb模块;
14.步骤四,用训练集对检测算法模型进行训练;
15.步骤五,用训练好的检测算法模型,对封装好的镜头模组进行识别检测。
16.基础方案工作原理及有益效果:
17.在机器视觉领域,目前使用ssd算法进行检测时,都是将一个镜头模组看做是检测的一个或者多个检测点,无法完整的将镜头模组外表面的各个位置进行精准检测。因此,本领域技术人员在研究镜头模组的破损的识别算法时,都自动过滤了ssd算法,转而去研究怎样降低那些能够准确识别小尺寸目标的算法模型的成本。但这样的技术思路,实际效果并不是特别理想。
18.本技术人则跳出了这样的技术思路,将本领域技术人员默认为不能检测小尺寸目标的ssd算法模型进行改进,使其能够进行镜头模组上破损的识别。不仅克服了本领域技术人员的技术偏见,同时需要的成本也很少,还保留了ssd算法兼具检测速度和检测精度的特点。
19.本技术中,通过对原始ssd算法模型进行优化得到检测算法模型,具体的,对原始ssd算法模型的尺度和先验框的大小进行优化放大,在原始ssd算法模型的主干网络上对输入图片大小进行改进,将原始的输入图像优化放大,可一定程度上提高ssd算法模型对于小目标物体的检测效率和精准度;并将第四个卷积层的第三次卷积特征与fc7层提取出的特征进行组合,通过合并这两个特征的矩阵,可以提高提取小目标的特征的准确性;除此,还增加了rfb模块(卷积感受野模块)对ssd算法进行改进,提高了ssd算法主干网络vgg16的特征提取能力,改善了原始ssd目标检测算法的检测效率和检测速度,从而使得检测算法模型更加精准和快速。上述优化后得到的检测算法模型,具备了识别镜头模组上的破损的能力。
20.之后,通过预先准备的训练集对检测算法模型完成训练后,再投入使用。这样,在对镜头模组的外观进行检测时,直接将拍摄的镜头模组图像用检测算法模型进行识别,即可了解对应的镜头模组是否合格。不仅高效率,而且大大降低了人工成本,还可以降低出错率,非常适用于大批量生产镜头模组厂的外观检测。并且,由于本技术只是对已有的ssd算法进行改进,模型成本较低且便于实现,还保留了ssd算法的检测效率和精准度,使用的效果也非常出色。
21.综上,本方法能够在保留ssd算法的优点的基础上,实现对镜头模组的破损的自动
检测。
22.进一步,步骤一包括:
23.s1.1,获取镜头模组的图像;
24.s1.2,对镜头模组的图像进行处理,扩充图像的数据集;
25.s1.3,对数据集中图像上镜头模组的破损部分进行标注,作为特征信息;
26.s1.4,将数据集转换为统一的数据集格式;
27.s1.5,对统一格式的图像进行分类并设置类型标签,得到训练集,其中,类型标签包括pass和error。
28.有益效果:这样训练集制作方式简单易行,能够快速得到适用于检测算法模型的训练集。
29.进一步,s1.2中,图像处理的方式包括缩放、剪裁、拉伸和选择截取。
30.有益效果:这样,可以用多种方式对获取的图像素材进行利用,扩充数据集中的图像数量。
31.进一步,步骤二包括:
32.s2.1,搭建卷积神经网络模型;
33.s2.2,构建ssd300
×
300
×
3算法模型,作为原始ssd算法模型。
34.有益效果:ssd300
×
300
×
3是最基础的ssd算法模型,与搭建其他的ssd算法模型相比,可以减少算法优化前的基础模型构建时间。
35.进一步,步骤五包括:
36.s5.1,调用摄像单元获取镜头模组的检测影像,并获取检测影像的每一帧图像,作为待测图像;
37.s5.2,将待测图像投入训练好的检测算法模型中,进行识别检测;
38.s5.3,获得模组外观检测的结果,并对检测结果为存在破损的模组进行标记。
39.有益效果:这样,直接对摄像单元获取的检测影像进行处理,并进行镜头模组的检测,自动化程度高。
40.进一步,s5.1中,利用opencv调用摄像单元。
41.有益效果:可进一步提升整体流程的自动化。
42.进一步,s3.1中,将原始ssd算法模型的尺度和先验框的大小调整为512
×
512
×
3。
43.有益效果:这样的优化尺寸,能够达到镜头模组上破损检测的最佳效果。
44.本发明还提供一种基于ssd算法的镜头模组外观检测系统,应用于上述基于ssd算法的镜头模组外观检测方法,包括摄像单元、存储单元和处理单元;
45.存储单元内存储有检测算法模型,检测算法模型由基础ssd算法模型优化后得到;处理单元用于调用摄像单元获取镜头模组的检测影像,并获取检测影像的每一帧图像,作为待测图像;处理单元还用于调用检测算法模型对待测图像进行检测,得到检测结果,并对检测结果为存在破损的模组进行标记。
46.有益效果:使用本系统,可以用一种便于实现的方式,实现对镜头模组的破损的自动检测。在对镜头模组的外观进行检测时,直接将拍摄的图像用检测算法模型进行识别,即可了解对应的镜头模组是否合格。这样,不仅高效率,而且大大降低人工成本,减少出错率,很适用于大批量生产镜头模组厂的外观检测。
47.进一步,检测算法模型的优化过程包括:
48.对原始ssd算法模型的尺度和先验框的大小进行优化放大;
49.将vgg16主干网络中的fc7层以及fc6层改为卷积层并用于次采样参数,把pool5从2
×
2-s2改为3
×
3-s1,其中,s1、s2分别代表步长为1和2;使用膨胀卷积填充空缺部分以及所有的dropout层,并移除fc8层;
50.提取第四个卷积层的第三次卷积特征与fc7层提取出的特征进行组合,再将优化放大后的ssd算法模型的19
×
19
×
1024、10
×
10
×
512以及5
×5×
256卷积层替换为rfb模块。
51.有益效果:对原始ssd算法模型的尺度和先验框的大小进行优化放大,在原始ssd算法模型的主干网络上对输入图片大小进行改进,将原始的输入图像优化放大,一定程度上提高了ssd算法模型对于小目标物体的检测效率和精准度;并将第四个卷积层的第三次卷积特征与fc7层提取出的特征进行组合,通过合并这两个特征的矩阵,可以提高提取小目标的特征的准确性;除此,还增加了rfb模块(卷积感受野模块)对ssd算法进行改进,提高了ssd算法主干网络vgg16的特征提取能力,改善了原始ssd目标检测算法的检测效率和检测速度,从而使得检测算法模型更加精准和快速。上述优化后得到的检测算法模型,具备了识别镜头模组上的破损的能力。并且,由于本技术只是对已有的ssd算法进行改进,模型成本较低且便于实现;除此,本技术的改进方式,保留了ssd算法的检测效率和精准度,使用的效果也非常出色。
52.进一步,还包括展示单元,用于展示检测结果。
53.有益效果:便于工作人员了解检测结果。
附图说明
54.图1为本发明实施例一的流程图;
55.图2为本发明实施例一的逻辑框图。
具体实施方式
56.下面通过具体实施方式进一步详细的说明:
57.实施例一
58.在机器视觉领域,目前使用ssd算法进行检测时,都是将一个镜头模组看做是检测的一个或者多个检测点,无法完整的将镜头模组外表面的各个位置进行精准检测。因此,本领域技术人员在研究镜头模组的破损的识别算法时,都自动过滤了ssd算法,转而去研究怎样降低那些能够准确识别小尺寸目标的算法模型的成本。但这样的技术思路进度并不是特别理想。
59.本技术人则跳出了这样的技术思路,将本领域技术人员默认为不能检测小尺寸目标的ssd算法模型进行改进,通过在原始ssd算法模型的主干网络上对输入图片大小进行改进,在原始ssd算法模型的主干网络上对输入图片大小进行改进,将原始的输入图像优化放大,一定程度上提高了ssd算法模型对于小目标物体的检测效率和精准度;并将第四个卷积层的第三次卷积特征与fc7层提取出的特征进行组合,通过合并这两个特征的矩阵,可以提高提取小目标的特征的准确性;除此,还增加了rfb模块(卷积感受野模块)对ssd算法进行
改进,提高了ssd算法主干网络vgg16的特征提取能力,改善了原始ssd目标检测算法的检测效率和检测速度,从而使得检测算法模型更加精准和快速。这样得到的检测算法模型,具备识别镜头模组上的破损的能力。
60.本方案不仅克服了本领域技术人员“识别小尺寸目标时自动忽略ssd算法”的技术偏见,同时需要的成本也很少,还保留了ssd算法的检测效率和精准度。具体如下:
61.如图1所示,基于ssd算法的镜头模组外观检测方法,包括:
62.步骤一,获取镜头模组的样本图像,并设置图像的特征信息和类别标签,得到训练集。具体包括:
63.s1.1,获取镜头模组的图像;
64.s1.2,对镜头模组的图像进行处理,扩充图像的数据集;其中,图像处理的方式包括缩放、剪裁、拉伸和选择截取。这样,可以用多种方式对获取的图像素材进行利用,扩充数据集中的图像数量。
65.s1.3,对数据集中图像上镜头模组的破损部分进行标注,作为特征信息;
66.s1.4,将数据集转换为统一的数据集格式;本实施例中,转换后的统一格式为voc 2007。
67.s1.5,对统一格式的图像进行分类并设置类型标签,得到训练集,其中,类型标签包括pass和error。即,将图像分为通过检测和未通过检测两种类型。
68.这样训练集制作方式简单易行,能够快速得到适用于检测算法模型的训练集。
69.步骤二,搭建原始ssd算法模型。具体包括:
70.s2.1,搭建卷积神经网络模型;
71.s2.2,构建ssd300
×
300
×
3算法模型,作为原始ssd算法模型。
72.ssd300
×
300
×
3是最基础的ssd算法模型,与搭建其他的ssd算法模型相比,可以减少算法优化前的基础模型构建时间。
73.步骤三,对原始ssd算法模型进行优化得到检测算法模型,包括:
74.s3.1,对原始ssd算法模型的尺度和先验框的大小进行优化放大;
75.s3.2,将vgg16主干网络中的fc7层以及fc6层改为卷积层并用于次采样参数,把pool5从2
×
2-s2改为3
×
3-s1,其中,s1、s2分别代表步长为1和2;使用膨胀卷积填充空缺部分以及所有的dropout层,并移除fc8层;
76.s3.3,提取第四个卷积层的第三次卷积特征与fc7层提取出的特征进行组合,再将优化放大后的ssd算法模型的19
×
19
×
1024、10
×
10
×
512以及5
×5×
256卷积层替换为rfb模块;
77.步骤四,用训练集对检测算法模型进行训练。
78.步骤五,用训练好的检测算法模型,对封装好的镜头模组进行识别检测。具体包括:
79.s5.1,利用opencv调用摄像单元获取镜头模组的检测影像,并获取检测影像的每一帧图像,作为待测图像;
80.s5.2,将待测图像投入训练好的检测算法模型中,进行识别检测;
81.s5.3,获得模组外观检测的结果,并对检测结果为存在破损的模组进行标记。
82.这样,直接对摄像单元获取的检测影像进行处理,并进行镜头模组的检测,自动化
程度高。
83.本技术还提供一种基于ssd算法的镜头模组外观检测系统,应用于上述基于ssd算法的镜头模组外观检测方法,如图2所示,包括摄像单元、存储单元、处理单元和展示单元。本实施例中,摄像单元为摄像头,存储单元、处理单元和展示单元集成在工业pc上。摄像单元的安装防止及安装位置,本领域技术人员可根据镜头模组检测时的运输线路具体设置。
84.存储单元内存储有检测算法模型,检测算法模型由基础ssd算法模型优化后得到。具体的,检测算法模型的优化过程包括:对原始ssd算法模型的尺度和先验框的大小进行优化放大;将vgg16主干网络中的fc7层以及fc6层改为卷积层并用于次采样参数,把pool5从2
×
2-s2改为3
×
3-s1,其中,s1、s2分别代表步长为1和2;使用膨胀卷积填充空缺部分以及所有的dropout层,并移除fc8层;提取第四个卷积层的第三次卷积特征与fc7层提取出的特征进行组合,再将优化放大后的ssd算法模型的19
×
19
×
1024、10
×
10
×
512以及5
×5×
256卷积层替换为rfb模块。
85.处理单元用于调用摄像单元获取镜头模组的检测影像,并获取检测影像的每一帧图像,作为待测图像;处理单元还用于调用检测算法模型对待测图像进行检测,得到检测结果,并对检测结果为存在破损的模组进行标记;展示单元用于展示检测结果。
86.具体实施过程如下:
87.使用本方案,可以先通过网络和自己拍摄的方式收集镜头模组的图像;之后,通过缩放、剪裁、拉伸、选择截取等方法对镜头模组的图像进行处理,扩充图像的数据集。再然后,通过labelimg标注工具对数据集中的图像进行标注,将破损的地方标注出来;并将数据集统一标准化,全部转换为voc 2007的数据集格式,并进行分类,将数据集中的图像分为pass和error。
88.另一方面,搭建检测算法模型时,先构建卷积神经网络模型,并在卷积神经网络模型的基础上构件ssd 300
×
300
×
3算法模型作为原始ssd算法模型,与搭建其他的ssd算法模型相比,ssd300
×
300
×
3是最基础的ssd算法模型,可以减少算法优化前的基础模型构建时间。ssd算法是基于回归的目标检测算法,而基于回归的目标检测算法中对于目标的检测以及目标的分类是同时进行的,主要的原理是使用卷积神经网络从输入图片中提取特征之后,均匀且随机的在输入图片的不同位置进行密集采样,采样的同时使用不同大小的尺寸,目标物体的预测框和分类操作共同进行,所以在这个过程之中只需要一步,因而其速度非常快。但是,现有的ssd算法模型都只能检测尺寸不是很小的目标,而镜头模组的尺寸却非常小,不满足ssd算法的使用条件。
89.本技术中,会对原始ssd算法进行优化。具体的,通过对原始ssd算法模型的尺度和先验框的大小进行优化放大,在原始ssd算法模型的主干网络上对输入图片大小进行改进,将原始的输入图像优化放大,一定程度上提高了ssd算法模型对于小目标物体的检测效率和精准度。本实施例中,将原始ssd算法模型的尺度和先验框的大小调整为512
×
512
×
3,这样的优化尺寸,能够达到镜头模组上破损检测的最佳效果。并将第四个卷积层的第三次卷积特征与fc7层提取出的特征进行组合,通过合并这两个特征的矩阵,可以提高提取小目标的特征的准确性;除此,还增加了rfb模块(卷积感受野模块)对ssd算法进行改进,提高了ssd算法主干网络vgg16的特征提取能力,改善了原始ssd目标检测算法的检测效率和检测速度,从而使得检测算法模型更加精准和快速。上述优化后得到的检测算法模型,具备了识
别镜头模组上的破损的能力。
90.再然后,用训练集对对检测算法模型进行训练。训练的过程使用现有的训练方式即可,在此不再赘述。再然后,便可以使用完成训练的检测算法模型进行镜头模组的破损检测。具体的,利用opencv调用摄像单元获取待检测的镜头模组的检测影像后,将检测影像的每一帧图像,作为待测图像;并将待测图像投入训练好的检测算法模型中,进行识别检测;之后,便可以获得模组外观检测的结果,并对检测结果为存在破损的模组进行标记。
91.使用本方案,通过对基础的ssd算法模型进行改进,便可以实现镜头模组的自动化检测,实施的成本较低且便于实现;除此,本技术的改进方式,保留了ssd算法的检测效率和精准度,使用的效果也非常出色。
92.以上所述的仅是本发明的实施例,方案中公知的具体结构及特性等常识在此未作过多描述,所属领域普通技术人员知晓申请日或者优先权日之前发明所属技术领域所有的普通技术知识,能够获知该领域中所有的现有技术,并且具有应用该日期之前常规实验手段的能力,所属领域普通技术人员可以在本技术给出的启示下,结合自身能力完善并实施本方案,一些典型的公知结构或者公知方法不应当成为所属领域普通技术人员实施本技术的障碍。应当指出,对于本领域的技术人员来说,在不脱离本发明结构的前提下,还可以作出若干变形和改进,这些也应该视为本发明的保护范围,这些都不会影响本发明实施的效果和专利的实用性。本技术要求的保护范围应当以其权利要求的内容为准,说明书中的具体实施方式等记载可以用于解释权利要求的内容。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献