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

一种基于yolov4-tiny模型压缩工厂螺丝螺帽分类方法、设备及系统

2022-12-20 00:07:12 来源:中国专利 TAG:


1.本发明属于工厂螺丝螺帽分拣技术领域,具体涉及一种基于yolov4-tiny模型压缩工厂螺丝螺帽分类方法、设备及系统。


背景技术:

2.随着工业生产不断发展,对于零件的需求逐渐增大,大量的螺丝螺帽被生产,然而在生产过程中,会有一些的螺丝螺帽混合在一起,这导致需要进行分拣,工厂对于螺丝螺帽的分拣需求逐渐变大,在大量的零件中分拣出螺丝螺帽,成为了一种需求。传统的分拣办法主要是人工以及简单机械装置进行分拣。人力分拣需要大量的劳动力进行参与,效率较为低下,并且受人工作时候的状态影响,会出现很多失误。而简单的机械装置通过设置相对应的空间尺寸大小,可以进行相应的简单分类,优势主要是效率较高,可以进行大量的粗分类,不足主要是比较细致分类时候,一些小尺寸的螺丝螺帽分类装置的机械结构较为复杂,而且通过机械转动,不能精确分类出零件。
3.目前,普遍采用控制设备控制机械臂对一些小尺寸的螺丝螺帽进行分拣,但是该控制设备对螺丝螺帽的识别分类存在不足,导致机械臂不能精准地对小尺寸的螺丝螺帽进行分拣。


技术实现要素:

4.针对上述现有技术的不足,本发明提供一种基于yolov4-tiny模型压缩工厂螺丝螺帽分类方法、设备及系统,本发明利用深度学习进行螺丝螺帽分拣,主要利用的是运用深度学习的目标检测算法实现螺丝螺帽的识别,其主要流程是,深度相机拍摄螺丝螺帽照片,然后将螺丝螺帽照片送入螺丝螺帽算法中进行分类检测,最后得到分类检测结果,提高了对于螺丝螺帽分类检测以及分拣的速度以及减少对于硬件资源的占用。
5.本发明的目的是通过以下技术方案实现的:
6.根据本说明书的第一方面,提供一种基于yolov4-tiny模型压缩工厂螺丝螺帽分类方法,包括以下步骤:
7.s1,获取螺丝螺帽照片,对螺丝螺帽照片中螺丝螺帽的种类和位置进行数据标注,构建螺丝螺帽数据集;
8.s2,将螺丝螺帽数据集中每个标注好的螺丝螺帽照片生成文本文件,对文本文件所对应的螺丝螺帽照片的图像分辨率进行调整,并将调整后的螺丝螺帽照片生成新的文本文件,构建文本文件数据集;
9.s3,将文本文件数据集中的文本文件所对应的螺丝螺帽照片进行数据增强,得到增强文本文件,构建文本文件增强数据集;
10.s4,将文本文件增强数据集中增强文本文件以及所对应的螺丝螺帽照片进行划分,构建训练集、测试集和验证集;
11.s5,利用训练集训练改进的yolov4-tiny算法网络模型,对经过训练的改进的yolov4-tiny算法网络模型采用测试集进行准确度测试,并对经过准确度测试而选取出的最优改进的yolov4-tiny算法网络模型,对最优改进的yolov4-tiny算法网络模型采用验证集进行网络参数调整,其中,改进的yolov4-tiny算法网络模型包括主干提取特征网络、加强特征提取网络和预测网络结构,得到螺丝螺帽分类模型;
12.s6,利用训练好的螺丝螺帽分类模型对螺丝螺帽照片进行分类。
13.进一步地,所述步骤s5中改进的yolov4-tiny算法网络模型具体为:
14.s51,将轻量级的mobilenetv3网络中的bneck网络模块前半部分relu改为leaky relu,得到优化的mobilenetv3网络,其中,优化的mobilenetv3网络作为改进的yolov4-tiny算法网络模型中的主干提取特征网络;
15.s52,使用训练集,基于优化的mobilenetv3网络,进行一个卷积和激活处理,将训练集中的图像进行宽和高的压缩,得到压缩图像;
16.s53,使用优化的mobilenetv3网络中的第一类bneck网络模块和第二类bneck网络模块对压缩图像进行特征提取,得到第一个有效的特征层;
17.s54,使用优化的mobilenetv3网络中的第一类bneck网络模块和第二类bneck网络模块对第一有效的特征层进行特征提取,得到第二有效的特征层;
18.s55,先使用加强特征提取网络中的特征增强模块对第二有效的特征层进行特征增强,然后使用加强特征提取网络中的特征融合模块将第一有效的特征层和经过特征增强的第二有效的特征层进行特征融合,得到融合特征图像;
19.s56,使用改进的yolov4-tiny算法网络模型中的预测网络结构对融合特征图像进行处理,得到融合特征图像中每个物体的检测结果,得到螺丝螺帽分类模型。
20.进一步地,步骤s3具体包括以下步骤:
21.将文本文件数据集中的文本文件所对应的螺丝螺帽照片进行旋转、翻转、镜像对称、仿射变化、高斯加噪、对比度变化、尺度变化和裁剪,得到增强文本文件,构建文本文件增强数据集。
22.进一步地,所述步骤s3具体还包括以下步骤:
23.随意取文本文件数据集中的四份文本文件所对应的螺丝螺帽照片进行拼接,得到一个拼接图像,生成增强文本文件,作为文本文件增强数据集中的一部分。
24.进一步地,所述步骤s3具体还包括以下步骤:
25.将文本文件数据集中的文本文件所对应的像素较低的螺丝螺帽照片进行填充处理,得到像素大小为416
×
416的螺丝螺帽照片,生成与像素大小为416
×
416的螺丝螺帽照片所对应的增强文本文件。
26.根据本说明书的第二方面,提供一种工业嵌入式设备,包括存储器和一个或多个处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,用于实现如第一方面所述的基于yolov4-tiny模型压缩工厂螺丝螺帽分拣方法。
27.根据本说明书的第三方面,提供一种螺丝螺帽分拣系统,包括所述的工业嵌入式设备,还包括:
28.传送机构,与所述工业嵌入式设备电性连接,所述传送机构的启动和关闭由所述工业嵌入式设备控制;
29.用于装载螺丝螺帽的零件盒,设置在所述传送机构上,使得所述零件盒在所述传送机构上运输;
30.用于拍摄述所述零件盒中螺丝螺帽的深度相机,设置在所述传送机构上且与所述工业嵌入式设备电性连接;
31.机械臂,与所述工业嵌入式设备电性连接;
32.显示器,与所述工业嵌入式设备电性连接;
33.所述深度相机将拍摄的所述零件盒中螺丝螺帽照片发送至所述工业嵌入式设备,所述工业嵌入式设备将螺丝螺帽照片中每个螺丝螺帽深度视觉坐标系下空间位置转换为所述机械臂的坐标系下的坐标并传送给所述机械臂以及控制所述机械臂分拣螺丝螺帽;所述工业嵌入式设备将螺丝螺帽照片发送至所述显示器,使得显示器实时显示螺丝螺帽照片。
34.本发明的有益效果是:本发明通过大量的螺丝螺帽照片,训练实现自动化螺丝螺帽分类,提高了对于螺丝螺帽分拣的速度以及减少对于硬件资源的占用,解决了人力分拣需要大量的劳动力进行参与,效率较为低下,并且受人工作时候的状态影响,会出现很多失误,而简单的机械装置通过设置相对应的空间尺寸大小,不足主要是比较细致分类时候,一些小尺寸的螺丝螺帽分类装置的机械结构较为复杂,而且通过机械转动,不能精确分类出零件的问题;通过机械臂的坐标变换,控制机械臂抓取螺丝螺帽。同时,本发明提出了一种改善的目标检测算法,与传统的目标检测算法的不同在于,本发明使得网络在不大量损失精度的情况下,能够极大提高运行速度,对于硬件所需要的资源消耗较少。并且对于所述深度摄像头识别物体三维空间的坐标系和机械臂坐标系的不同,本发明提出了空间坐标系的变换方式,使得深度相机的坐标系能够变成机械臂坐标系,从而完成了机械臂对螺丝螺帽的抓取。
附图说明
35.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
36.图1为一示例性实施例提供的基于yolov4-tiny模型压缩工厂螺丝螺帽分类方法流程图;
37.图2为一示例性实施例提供的优化的mobilenetv3网络的架构图;
38.图3为一示例性实施例提供的螺丝螺帽分拣系统的结构图;
39.图4为一示例性实施例提供的工业嵌入式设备的结构图。
具体实施方式
40.为了更好的理解本技术的技术方案,下面结合附图对本技术实施例进行详细描述。
41.应当明确,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其
它实施例,都属于本技术保护的范围。
42.在本技术实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本技术。在本技术实施例和所附权利要求书中所使用的单数形式的“一种”、
“”
和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
43.如图1所示,在一实施例中,提供一种基于yolov4-tiny模型压缩工厂螺丝螺帽分类方法,包括以下步骤:
44.s1,获取螺丝螺帽照片,对螺丝螺帽照片中螺丝螺帽的种类和位置进行数据标注,构建螺丝螺帽数据集;
45.s2,将螺丝螺帽数据集中每个标注好的螺丝螺帽照片生成文本文件,对文本文件所对应的螺丝螺帽照片的图像分辨率进行调整,并将调整后的螺丝螺帽照片生成新的文本文件,构建文本文件数据集;
46.s3,将文本文件数据集中的文本文件所对应的螺丝螺帽照片进行数据增强,得到增强文本文件,构建文本文件增强数据集;
47.在一实施例中,步骤s3具体包括以下步骤:
48.将文本文件数据集中的文本文件所对应的螺丝螺帽照片进行旋转、翻转、镜像对称、仿射变化、高斯加噪、对比度变化、尺度变化和裁剪,得到增强文本文件,扩大图片数量,构建文本文件增强数据集。
49.在一实施例中,步骤s3具体还包括以下步骤:
50.考虑到在数据集一些图像中,有一些数据图像数量较少,因此需要一些数据增强方式,因此,随意取文本文件数据集中的四份文本文件所对应的螺丝螺帽照片进行拼接(例如,随意取四张图像进行拼接成一个新的图像),得到一个拼接图像,生成增强文本文件,作为文本文件增强数据集中的一部分。
51.在一实施例中,步骤s3具体还包括以下步骤:
52.将文本文件数据集中的文本文件所对应的像素较低的螺丝螺帽照片进行填充处理(例如,给图像边缘进行黑色填充),得到像素大小为416
×
416的螺丝螺帽照片,生成与像素大小为416
×
416的螺丝螺帽照片所对应的增强文本文件。
53.s4,将文本文件增强数据集中增强文本文件以及所对应的螺丝螺帽照片进行划分,构建训练集、测试集和验证集;
54.s5,利用训练集训练改进的yolov4-tiny算法网络模型,对经过训练的改进的yolov4-tiny算法网络模型采用测试集进行准确度测试,并对经过准确度测试而选取出的最优改进的yolov4-tiny算法网络模型,对最优改进的yolov4-tiny算法网络模型采用验证集进行网络参数调整,其中,改进的yolov4-tiny算法网络模型包括主干提取特征网络、加强特征提取网络和预测网络结构,得到螺丝螺帽分类模型;
55.s6,利用训练好的螺丝螺帽分类模型对螺丝螺帽照片进行分类。
56.在一实施例中,步骤s5中改进的yolov4-tiny算法网络模型具体为:
57.s51,将轻量级的mobilenetv3网络中的bneck网络模块前半部分relu改为leaky relu,这不会产生稀疏性,得到优化的mobilenetv3网络,其中,优化的mobilenetv3网络作为改进的yolov4-tiny算法网络模型中的主干提取特征网络;激活函数采用leaky relu,该激活函数较为简单,会提高计算速度,相比于relu激活函数,函数减少了数据推理时间,同
时减少了精度损耗,不会产生稀疏。leaky relu激活函数公式为:
[0058][0059]
式中,x代表网络提取的特征信息,a为常数,值为0.05。计算结果作为下一层的输入数据。由于采用leaky relu激活函数,函数运算简单,减少了数据推理时间同时减少了精度损耗,模型提高了精度。其中,bneck网络即为逆残差网络。
[0060]
如图2所示,s52,使用训练集(例如,416
×
416
×
3的图像数据)作为输入,基于优化的mobilenetv3网络,进行一个卷积和激活处理,将训练集中的图像进行宽和高的压缩,得到压缩图像;
[0061]
s53,使用优化的mobilenetv3网络中的第一类bneck网络模块和第二类bneck网络模块对压缩图像进行特征提取,得到第一个有效的特征层;
[0062]
s54,使用优化的mobilenetv3网络中的第一类bneck网络模块和第二类bneck网络模块对第一有效的特征层进行特征提取,得到第二有效的特征层;
[0063]
s55,先使用加强特征提取网络中的特征增强模块对第二有效的特征层进行特征增强,然后使用加强特征提取网络中的特征融合模块将第一有效的特征层和经过特征增强的第二有效的特征层进行特征融合,得到融合特征图像,从而加强网络的特征提取能力;
[0064]
s56,使用改进的yolov4-tiny算法网络模型中的预测网络结构对融合特征图像进行处理,得到融合特征图像中每个物体的检测结果,得到螺丝螺帽分类模型。
[0065]
与前述基于yolov4-tiny模型压缩工厂螺丝螺帽分拣方法的实施例相对应,本发明还提供了工业嵌入式设备的实施例。
[0066]
参见图4,本发明实施例提供的一种工业嵌入式设备,包括存储器和一个或多个处理器,存储器中存储有可执行代码,处理器执行可执行代码时,用于实现上述实施例中的基于yolov4-tiny模型压缩工厂螺丝螺帽分拣方法。
[0067]
本发明工业嵌入式设备的实施例可以应用在任意具备数据处理能力的设备上,该任意具备数据处理能力的设备可以为诸如计算机等设备或装置。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在任意具备数据处理能力的设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图4所示,为本发明工业嵌入式设备所在任意具备数据处理能力的设备的一种硬件结构图,除了图4所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的任意具备数据处理能力的设备通常根据该任意具备数据处理能力的设备的实际功能,还可以包括其他硬件,对此不再赘述。
[0068]
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
[0069]
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本发明方案的目的。本领域普通技术人员在不付出创
造性劳动的情况下,即可以理解并实施。
[0070]
本发明实施例还提供一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时,实现上述实施例中的基于yolov4-tiny模型压缩工厂螺丝螺帽分拣方法。
[0071]
所述计算机可读存储介质可以是前述任一实施例所述的任意具备数据处理能力的设备的内部存储单元,例如硬盘或内存。所述计算机可读存储介质也可以是任意具备数据处理能力的设备的外部存储设备,例如所述设备上配备的插接式硬盘、智能存储卡(smart media card,smc)、sd卡、闪存卡(flash card)等。进一步的,所述计算机可读存储介质还可以既包括任意具备数据处理能力的设备的内部存储单元也包括外部存储设备。所述计算机可读存储介质用于存储所述计算机程序以及所述任意具备数据处理能力的设备所需的其他程序和数据,还可以用于暂时地存储已经输出或者将要输出的数据。
[0072]
如图3所示,在一实施例中,提供了一种螺丝螺帽分拣系统,包括的工业嵌入式设备500、传送机构200、零件盒400、深度相机100、机械臂300和显示器600;
[0073]
传送机构200与工业嵌入式设备500电性连接,传送机构200的启动和关闭由工业嵌入式设备500控制;传送机构200采用常规的传送带运输的结构,通过电机提供动力。
[0074]
零件盒400用于装载螺丝螺帽,零件盒400设置在传送机构200上,使得零件盒400在传送机构200上运输;
[0075]
深度相机100用于拍摄述零件盒400中螺丝螺帽,深度相机100设置在传送机构200上且与工业嵌入式设备500电性连接;
[0076]
机械臂300与工业嵌入式设备500电性连接;
[0077]
显示器600与工业嵌入式设备500电性连接;
[0078]
深度相机100将拍摄的零件盒400中螺丝螺帽照片发送至工业嵌入式设备500,工业嵌入式设备500将螺丝螺帽照片中每个螺丝螺帽深度视觉坐标系下空间位置转换为机械臂300的坐标系下的坐标并传送给机械臂300以及控制机械臂300分拣螺丝螺帽;工业嵌入式设备500将螺丝螺帽照片发送至显示器600,使得显示器600实时显示螺丝螺帽照片。
[0079]
其中,由于深度相机100坐标系和机械臂300坐标系的不同,在深度相机100获取到的每一个螺帽的空间位置的不同,需要将每一个螺丝螺帽的深度视觉坐标系下空间位置转换为机械臂300的坐标系下的坐标并且传送给机械臂300,这样方便机械臂300抓取螺丝螺帽。该深度相机100的坐标系和机械臂300坐标系转换方法如下:
[0080]
设深度相机下的一点为x,其在世界坐标系下的坐标为(xw,yw,zw),而在深度相机下的坐标为(xc,yc,zc),机械臂系下坐标为(xr,yr,zr)通过以下转换方式:
[0081][0082]
其中,r为旋转矩阵,c为平移矩阵,r和c是通过测试中数据推导出来。
[0083]
具体地,将训练以及量化好的模型导入到工业嵌入式设备500中,工业嵌入式设备500连接深度相机100,通过usb口读取深度相机100所拍摄的内容以及深度相机100拍摄的物体的三维点云,即物体在深度相机100坐标系下的三维空间位置。工业嵌入式设备500将读取到的图像信息送入已经训练量化好的神经网络中进行分析。等到每个物体的在图像中位置的具体坐标以及种类。工业嵌入式设备500将得到的坐标进行分析,利用坐标变换方
法,将深度摄像头坐标系下的物体坐标变换成机械臂300坐标系下的物体坐标。最后将每个螺丝螺帽的在机械臂300下的坐标全部转换出来放入机械臂300操作指令中,下发对应指令给机械臂300,机械臂300在获取到抓取指令时,通过解析得到每个螺丝螺帽的坐标,将坐标转换成电机转数以及转的角度,控制抓手能够到达所对应位置,当到达对应位置的时候,抓手直接抓取零件,将零件放入另外一个对应的盒子中。将每次检测的图像结果数据存入可存储设备中。设备记录每次结果,同时更新视频流分析结果,达到实时检测的目的。
[0084]
本发明通过大量的螺丝螺帽照片,训练实现自动化螺丝螺帽分类,通过机械臂300的坐标变换,控制机械臂300抓取螺丝螺帽。同时,本发明提出了一种改善的目标检测算法,与传统的目标检测算法的不同在于,本发明使得网络在不大量损失精度的情况下,能够极大提高运行速度,对于硬件所需要的资源消耗较少。并且对于深度摄像头识别物体三维空间的坐标系和机械臂300坐标系的不同,本发明提出了空间坐标系的变换方式,使得深度相机100的坐标系能够变成机械臂300坐标系,从而完成了机械臂300对螺丝螺帽的抓取。
[0085]
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
[0086]
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
[0087]
在本说明书一个或多个实施例使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
[0088]
应当理解,尽管在本说明书一个或多个实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”。
[0089]
以上所述仅为本说明书一个或多个实施例的较佳实施例而已,并不用以限制本说明书一个或多个实施例,凡在本说明书一个或多个实施例的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书一个或多个实施例保护的范围之内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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

相关文献