CN112396666A - 基于手势识别的装配过程智能控制方法 - Google Patents
基于手势识别的装配过程智能控制方法 Download PDFInfo
- Publication number
- CN112396666A CN112396666A CN202011448297.XA CN202011448297A CN112396666A CN 112396666 A CN112396666 A CN 112396666A CN 202011448297 A CN202011448297 A CN 202011448297A CN 112396666 A CN112396666 A CN 112396666A
- Authority
- CN
- China
- Prior art keywords
- gesture
- model
- positioning
- network
- recognition
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 49
- 238000004886 process control Methods 0.000 title claims description 7
- 230000008569 process Effects 0.000 claims abstract description 11
- 238000012549 training Methods 0.000 claims description 32
- 238000013145 classification model Methods 0.000 claims description 10
- 230000033001 locomotion Effects 0.000 claims description 6
- 238000004806 packaging method and process Methods 0.000 claims description 3
- 238000011156 evaluation Methods 0.000 abstract description 5
- 238000000605 extraction Methods 0.000 abstract description 2
- 238000013527 convolutional neural network Methods 0.000 description 18
- 230000006870 function Effects 0.000 description 14
- 230000011218 segmentation Effects 0.000 description 13
- 230000009471 action Effects 0.000 description 11
- 238000004364 calculation method Methods 0.000 description 10
- 230000003993 interaction Effects 0.000 description 6
- 238000011176 pooling Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000004927 fusion Effects 0.000 description 5
- 238000012360 testing method Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000013135 deep learning Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 230000018109 developmental process Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 230000008034 disappearance Effects 0.000 description 2
- 238000004880 explosion Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000007526 fusion splicing Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000005764 inhibitory process Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000005065 mining Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000000877 morphologic effect Effects 0.000 description 1
- 230000007935 neutral effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
- 230000001629 suppression Effects 0.000 description 1
- 210000003813 thumb Anatomy 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/80—Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/25—Determination of region of interest [ROI] or a volume of interest [VOI]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/44—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10004—Still image; Photographic image
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30244—Camera pose
Abstract
本发明公开一种基于手势识别的装配过程智能控制方法,应用于智能装配领域,针对现有的手势识别受复杂背景干扰,手势识别精度低的问题,本发明采用基于YOLOv3网络的手势定位模型进行复杂背景图像的手势定位,并采用目标定位模型评价指标mAP来对手势定位模型进行评价,从而对基于YOLOv3网络的手势定位模型进行不断的优化,解了决复杂背景干扰下的手势特征提取问题,本发明还采用Resnet‑50网络,通过引入卷积姿态机,构建融合姿态估计的手势分类识别模型,进而保证在不同手势摆放角度上识别结果的稳定性,进一步提高了手势识别的精度。
Description
技术领域
本发明属于智能装配领域,特别涉及一种利用手势智能控制装配过程的技术。
背景技术
智能工厂是生产制造领域的发展趋势,为提高工厂的自动化与智能化水平,实现工人与机器的协同工作,相关领域的发展对人机协同项目的需求越来越大。传统装配过程中的装配体部件的捡取、识别、装配等过程都是由工人手动完成的,在现有的工业领域内,常常利用机械臂抓取和搬运的零部件。机械臂的操纵方式主要采用示教控制方法,即事先预定机械臂的运动轨迹完成既定零部件的抓取和搬运动作。这种方法的不足之处在于抓取目标及抓取动作单一,并且需要用传统的人机交互方式,诸如鼠标、键盘、触摸屏幕等控制机械臂的控制启停等动作。这些交互方式在使用的时候都有一定的限制,很难进行高自由度输入。近年来,将手势识别技术引入了机械臂的人机交互操作中,这种新兴的人机交互方式往往更为便利,极大方便了人们对智能设备的灵活及远距离控制,特别是在嘈杂的环境下,手势交互方式可以不受噪声的干扰。
目前研究的难点主要出现在:
(1)背景干扰问题,实际拍摄获取的手势图像总会包含许多非手势背景,这些背景容易作为噪声干扰手势识别过程;
(2)手势角度多样问题,同类手势在不同的角度下展现出较大的特征差异,这些差异使得识别系统难以将其归为一类。
现有手势识别的现状:
随着深度学习理论的发展,深度学习模型被越来越多的应用于手势识别的研究中,特别是深度学习中的卷积神经网络。卷积神经网络有着较强大的泛化能力和稳定性,而且可以通过自动学习大量的数据来完成手势识别的高维映射,准确率相对较高,因此逐渐成为主流的视觉手势识别方法。在具体的手势识别任务中,研究人员可根据数据集中手势图片是否包含复杂背景,来决定是否需要手势分割或定位的环节的存在,目前主要的手势分割或定位的方法如下:
(1)利用深度图像进行手势分割。这一方法主要应用在基于深度图像的手势识别任务中,深度图像是由深度相机拍摄产生的一种图像,人们日常使用的普通彩色相机仅能够将相机视角内的物体记录下来,需要复杂的语义分割算法才能完成一些特定的目标分割任务,而深度相机不仅能够记录下被拍摄物体的特征,还能够保存深度图像中每个像素点实际与深度相机镜头的距离,因为有了距离信息,人们可以通过诸如距离阈值分割等较为简单的算法达到非常好的手势分割效果。目前存在的主流深度相机有Microsoft Kinect-2、Apple Prime Sense、Intel RealSense等,但这些深度相机价格都普遍贵于彩色相机,当下未能在实际应用中普及。
(2)利用肤色进行手势分割。此方法主要依据肤色来分割手势图像,一般应用在RGB图像中,将RGB手势图像映射到YCbCr颜色空间,利用肤色在Cr分量上较为稳定的特点,采用自适应阈值分割的方法将手部分割出来,最后经过一些形态学操作进行孤立点的填补。利用肤色进行手势分割算法流程较为简单,计算速度快,分割效果良好,但图片中包含太多近肤色的背景物体,则容易产生较为严重的误分割,因此只能适应较为特殊的应用场景。
(3)利用卷积神经网络进行手势定位。近年来卷积神经网络被广泛应用于目标定位领域,发展出了诸如R-CNN、Faster R-CNN、SSD、YOLO等一系列网络模型,R-CNN与FasterR-CNN采用“区域推荐”加“分类器”的方式来完成目标定位,其定位精度较高但速度较为缓慢,无法做到实时定位,随后提出的SSD与YOLO网络主要在定位速度上得到了很大的提升,而且保证了较高的定位精度。利用卷积神经网络进行手势定位优点在于其定位精度较高,而且不需要深度相机等特殊设备进行样本采集,缺点在于网络模型需要经过一段时间的训练,且一般模型占用存储空间较大。在深度学习领域中,卷积神经网络被广泛应用手势分类模型的构建,传统手势分类需要进行人工设计特征提取后再输入分类器进行特征分类,而基于卷积神经网络的手势识别可以通过网络自学习来改变卷积层的卷积核参数,自动提取更为丰富的特征,这使得基于卷积神经网络的手势识别效果往往好于传统识别技术。
虽然,例如专利申请号201811315462.7《一种基于YOLOv3的扶梯安全监测方法》中已公开了采用YOLOv3网络模型一进行目标定位,基于OpenCV提取目标区域,再通过YOLOv3网络模型二进行乘客的姿态融合。但是该申请中安全扶梯的应用场景简单,在利用YOLOv3网络模型一定位过程中,并没有考虑不同复杂环境背景对定位的影响。
发明内容
为解决上述技术问题,本发明提出一种基于手势识别的装配过程智能控制方法,基于YOLOv3网络进行手势定位,然后基于Resnet-50对定位的手势进行分类识别。
本发明采用的技术方案为:基于手势识别的装配过程智能控制方法,包括:
S1、采用基于YOLOv3网络的手势定位模型进行复杂背景图像的手势定位,得到手势特征;
S2、基于Resnet-50对手势特征进行手势分类识别;
S3、将识别结果发送至LabView中,得到相应指令;
S4、将指令打包发送到机械臂,控制机械臂运动。
步骤S1采用自动改进扩展训练集训练基于YOLOv3网络的手势定位模型,具体的:
A1、获取一个经过人工标定的手势定位数据集作为初始数据集,在初始数据集基础上初步训练得到一个YOLOv3手势定位模型;
A2、获取未经训练且未经标定的手势图片,将这些手势图片输入到初步训练得到的YOLOv3手势定位模型,并将得到的定位结果中置信度高于设定阈值的结果作为真实标定的样本自动输入YOLOv3手势定位模型的训练集,进行进一步的模型训练;
A3、得到经过自动扩展训练集训练的YOLOv3手势定位模型。
步骤A2所述设定阈值为0.9。
步骤S2具体为:构建卷积姿态机模型,用于识别手势姿态,然后将构建完毕的卷积姿态机模型融入到Resnet-50手势分类模型中,构建一个融合姿态估计的手势分类模型。
融合姿态估计的手势分类模型的输入为经步骤S1处理后的无复杂背景的手势图片。
还包括将步骤S1处理后的无复杂背景的手势图片进行缩放,具体的采用黑色填充的方法填充缩放前图片的边界使其成为正方形,然后在正方形的基础上进行缩放。
本发明的有益效果:本发明的方法采用YOLOv3网络进行手势定位,去除了复杂背景的干扰,最终仅剩下手势区域部分图像,有助于提升最终整个手势识别系统的精度;本发明基于Resnet-50对定位的手势进行识别,然后将识别结果通过端口发送到LabView中,LabView得到转化为字符串的语音信号中的有效指令,之后再发送数据包到机械臂,控制机械臂运动;本发明提出的自动扩展训练方法,通过不断自我优化解决复杂背景干扰问题。此外,本发明采用Resnet-50网络,通过引入卷积姿态机,构建融合姿态估计的手势分类识别模型,进而保证在不同手势摆放角度上识别结果的稳定性,从而提高手势识别的精度。经过实验验证,本发明的手势定位的精度99.7%,召回率为96.1%;复杂背景下手势识别的精度为95.3%。
附图说明
图1为本发明的方案流程图;
图2为本发明实施例提供的YOLOv3网络结构图;
图3为本发明实施例提供的YOLOv3网络算法流程;
图4为本发明实施例提供的IoU计算示意图;
图5为本发明实施例提供的手势姿态的表示示意图;
图6为本发明实施例提供的卷积姿态机进行姿态估计算法流程;
图7为本发明实施例提供的不同σ下的置信图;
图8为本发明实施例提供的融合姿态估计的手势分类模型构成示意图。
具体实施方式
为便于本领域技术人员理解本发明的技术内容,下面结合附图对本发明内容进一步阐释。
如图1所示,本发明的方法包括以下步骤:
S1、采用基于YOLOv3网络的手势定位模型进行复杂背景图像的手势定位,得到手势特征;
S2、基于Resnet-50对手势特征进行手势分类识别;
S3、将识别结果发送至LabView中,得到相应指令;
S4、将指令打包发送到机械臂,控制机械臂运动。
步骤S1所述的采用YOLOv3网络来完成手势定位任务,YOLOv3网络可将手势所在像素区域从原始图片中提取出来,从而保留手势特征,剔除掉背景特征。YOLOv3网络也是一种卷积神经网络,在手势识别领域,卷积神经网络相对于传统方法最大的优势是可以自动提取并学习图像特征,善于从数据中挖掘可用信息并以参数的形式保存在整个网络中。卷积神经网络结构采用局部连接、权值共享特性,可以有效降低计算复杂度,避免过拟合。其反向传播算法,不断优化网络结构参数,从而使得网络模型具有更好的预测能力。
YOLOv3网络输入为包含复杂背景的手势图片,输出为定位到的手势在原始图像中的位置,手势位置可由一个矩形框分离出来,用矩形框的两个对角点的坐标可确定这一矩形框,手势定位去除了复杂背景的干扰,最终仅剩下手势区域部分图像,有助于提升最终整个手势识别系统的精度。
如图2所示为YOLOv3网络结构,YOLOv3网络共由53卷积层组成,网络输入为RGB图片,经过不同深度的卷积操作后,得到3个输出层,以输入图像尺寸为416x 416x 3为例:YOLOv3网络结构的特点:
(1)网络为单输入,三输出结构。从图中可以看出,YOLOv3网络输入为一张RGB图片,图像尺度为416x 416x 3,经过了多层卷积操作后分别在3个不同的网络深度上得到了网络输出,输出尺度分别为13x 13x 18、26x 26x 18、52x 52x 18。
(2)网络利用多尺度特征进行目标定位,有助于提高定位精度。深层网络输出的特征图经过上采样(Upsampling)之后,特征图尺寸的变大,然后与浅层网络输出的特征图进行特征融合拼接(Concatenate),由于卷积神经网络在不同的卷积深度上提取到的特征语义不同,这一操作可充分利用网络提取到的浅层信息与深层信息进行目标定位,有助于定位精度的提高。
(3)网络采用全卷积结构,且引入了残差模块。YOLOv3网络弃用了经典卷积神经网络中常见的池化层和全连接层,采用了全卷积结构,经典卷积神经网络中池化操作常常用于特征压缩,减小后续模型的计算量,缺点在于池化操作会造成信息丢失,YOLOv3采用卷积层代替了池化层,通过设定大于1的卷积步长来进行特征压缩,不会造成特征信息的直接丢失,不采用全连接层的优势在于网络可以不再限制输入图像的尺寸大小,且卷积层本质是一种稀疏连接的全连接层,网络可以直接通过卷积操作进行边界框位置信息的回归。引入经典的残差结构,可有效减少网络退化的发生,从而允许加深网络深度,提高网络的泛化能力。
在YOLOv3网络中,三个输出层经过的卷积层个数不同,其中13x 13x 18的输出层经历的卷积层最多,它的每一个网格对应到输入图像上的感受野最大,比较适合用来定位输入图像中的大尺寸目标,26x 26x 18的输出层经历的卷积层个数相对少一些,它的每一个网格对应到输入图像上的感受野稍小,适合用来定位输入图像中的中型尺寸目标,52x52x 18的输出层经历的卷积层个数最少,它的每一个网格对应到输入图像上的感受野最小,用来定位小尺寸的目标。三个输出层中每个相邻的网格对应到输入图像上的感受野有部分重叠,通过这部分感受野内的特征进行边界框回归,这相当于一种隐式的滑动窗口目标定位,三个输出层的输出相互独立,难免会有不同的输出层定位到同一个目标手势的情况发生,最终可以通过最大抑制来筛选掉在不同输出层内重复定位的边界框。
如图3所示为YOLOv3网络的算法流程,图中立方块表示网络各层输出的特征图,除了图3中展示的两处上采样之外,YOLOv3网络全部由卷积层组成,网络输入为包含复杂背景的单张RGB手势图片,网络有三个输出层,这三个输出层分布在YOLOv3网络的不同深度处,它们分别结合网络在不同深度的图像特征来输出定位到的目标,最终网络需要通过最大抑制算法来完成三个输出层的输出筛选工作,从而找出网络所有输出中的最优结果。
由于YOLOv3网络为全卷积网络,输入图片的尺寸可以不受限制,图3以输入图片为416x 416x 3的尺寸为例展示了网络的输出结果,网络的三类输出尺寸分别为13x 13x 18、26x 26x 18和52x 52x 18,其中13x 13x 18相当于将输入原始图像划分为了13x 13个小网格,分别检测每个小网格附近是否包含有手势目标,并用长度为18的向量来表示目标位置信息,其他尺寸的输出同理。YOLOv3网络采用三输出的结构来提升网络对图像中各种尺寸大小目标的定位能力,并在网络中引入跳转结构来对不同深度的特征图进行特征拼接,使得网络能够融合多种特征来进行目标定位,从而提高目标定位精度。
采用目标定位任务中广泛应用的评价指标mAP(mean average precision)作为YOLOv3手势定位模型的性能评价,首先,在此先介绍计算手势定位模型评价指标mAP将要用到的几个参数,即IoU(Intersection over Union)、精度(precision)、召回率(recall):
(1)IoU是目标定位中的一个概念,是模型预测的边界框与真实的边界框之间的重叠率,即这两个边界框之间的交集与并集的比值,如图4所展示:
其中,G1为目标真实边界框;G2为模型预测边界框;G3为目标真实边界框与模型预测边界框重叠区域。
IoU越大表示预测的边界框与真实边界框重叠的程度越高,则模型预测的结果越好,在许多情况下,认为当IoU值大于等于0.5时,认为模型已经正确预测出目标的位置。
(2)精度precision衡量目标定位模型预测结果的正确率,其计算公式如下:
其中TP(True Positives)表示真实值为正类样本且被模型分类为正类样本的样本数量,FP(False Positives)表示真实值为负类样本但被模型分类为负类样本的样本数量。在目标定位中,precision分子可解释为模型在所有测试集图片中正确预测的边界框个数,而分母可解释为模型在所有测试集图片中预测的边界框总数,所以precision可以用来衡量目标定位模型预测结果的正确率。
(3)召回率recall衡量目标定位模型将待定位目标成功“找出”的能力,其计算公式如下:
其中FN(False Negatives)表示真实值为负样本但被模型分类为正样本的样本数量,在目标定位中,recall的坟墓解释为模型在所有测试集图片中预测的边界框总数,分母解释为所有测试集图片中真实边界框的个数,所以recall可用于衡量目标定位模型“漏掉定位目标”的程度,recall值越高,表示漏定位的程度越弱,模型效果越好。
精度precision与召回率recall分别在定位正确率和漏定位程度两个方面衡量了目标定位模型的好坏,这两个参数存在相互抑制的情况,例如当设置手势定位模型输出边界框的置信度阈值较高时,则模型仅会输出“较为确信定位到了目标”的边界框,这样模型的精度就会很高,但漏定位的程度可能会变大,而如果设置手势定位模型输出边界框的置信度阈值相对较低时,模型会将“不那么确信定位到目标”的边界框一起输出,这样漏定位的程度就会降低,recall值升高,但可能会产生更多的错误定位,使得定位精度precision下降。为了平衡考量模型定位精度precision与召回率recall,本发明采用通用的目标定位模型评价指标mAP来对手势定位模型进行评价,mAP是多组AP(average precision)的平均值,计算公式如下:
公式中class_num表示定位目标的种类,本发明仅对手进行定位,class_num=1,mAP=AP,在不同置信度阈值下,计算得到多组精度precision与召回率recall,以精度precision为横轴,recall为纵轴,将多组数据绘制成一条曲线,曲线下方的面积值即为AP的值。mAP可以较好的平衡精度与召回率,应用二者来对手势定位模型进行综合评估。
YOLOv3的自动扩展训练方法
目前存在的大量卷积神经网络皆采用固定的训练集进行网络训练,经过许多代的训练后网络逐渐收敛,并最终在固定的测试集上测试模型精度,这类常见的训练方法使得模型性能往往受限于训练集中的数据特征,若训练集中样本数据特征不够全面和广泛,则训练出来的模型可能在数据集中有较高的定位精度,但却在实际应用时表现糟糕。为此,本发明提出了一种自动改进扩展训练的方法来训练模型,可以使得YOLOv3模型能在具备了一定定位精度的基础上自动学习新的样本,不断提高自身的模型性能,此方法的具体步骤如下:
1.获取一个经过人工标定的手势定位数据集作为初始数据集,在此数据集基础上初步训练得到一个具有良好定位精度的YOLOv3手势定位模型。
2.获取未经训练且未经标定的手势图片,将这些图片输入到初步训练得到的YOLOv3手势定位模型,获取模型的定位结果,并将其中置信度高于0.9的输出结果作为真实标定的样本自动输入YOLOv3手势定位模型的训练集,进行进一步的模型训练。
3.得到经过自动扩展训练集训练的YOLOv3手势定位模型,重新测试模型的性能,发现模型在测试集上的表现变得更为优良。
本发明提出的改进扩展训练方法的优点在于通过预训练模型自动添加新的训练样本,从而使得训练集不断增加,模型的泛化能力因此变得越来越高,只需要人工初步构建一个数据样本较少的数据集来进行初步模型训练,剩下的大量繁琐的训练集扩展工作可以交给初步训练的模型自动完成,通过这种自动扩展训练集的方式,让YOLOv3手势定位模型可以自动学习到大量丰富场景下的手势特征,使得模型性能越来越强。
需要特别注意的是,本发明仅将网络预测结果中置信度高于0.9的样本作为真实标定的样本输入训练集进行重新训练,这是为了保证网络标定足够精确,以防止网络在错误标定的样本上进行训练。
步骤S2基于YOLOv3的手势定位模型来进行复杂背景剔除操作,得到无背景手势图片后,将其输入到融合姿态估计的手势识别模型进行分类,所述融合姿态估计的手势识别模型具体为:
构建姿态估计模型获取手势姿态:
为准确定义一个手势的姿态,首先需要引入一种手势姿态的表示方法,图5展示了手势姿态的一种表示方法,采用21个手势关节点位置来表示手势的姿态,只要能从原始图像中获取这21个关节点的具体坐标位置,就能唯一确定这个手势的具体姿态。
因为手势姿态可由手势的所有关节点位置唯一确定,所以手势姿态估计模型实际上是一种关节点定位模型,本发明采用卷积姿态机(Convolutional PoseMachine,CPM)来构建一个手势姿态估计模型,卷积姿态机是一种仅采用卷积层和池化层组成的卷积神经网络,它可以通过输入手势图像的特征学习到人手的隐式空间模型,由于不需要进行特征分类,卷积姿态机网络内并不包含全连接层,仅采用卷积层输出的特征图来直接确定手势关节点的位置,图6展示了卷积姿态机的网络算法流程,输入卷积姿态机网络的手势图像尺寸为H×W×3,输入图像经过多层卷积特征提取后输出H×W×21大小的特征图,为了与目标识别网络中的特征图相区分,称之为置信图,这21张置信图分别负责预测21个手势关节点的具体位置,通过这21张置信图求取每张置信图中最大灰度值所在的坐标作为对应关节点位置坐标,从而获得21个位置坐标,将这些坐标对应映射到原始图像上即可得到完整的手势姿态。
下面对卷积姿态机的网络结构进行介绍,卷积姿态机的网络结构如图4所示,网络分成多个阶段进行卷积。
首先,输入的手势图像尺寸为256×256×3的RGB图片,经过16层卷积或池化的操作,提取到图像的子阶段特征图F,这一子阶段特征图包含着原始图像的特征信息,它将被用于除阶段1以外每一个阶段的输入,子阶段特征图F的尺寸为32×32×128,其维度与每个阶段的输出的置信图集合的维度相同,对于i≥2的情况,每一个阶段i的输入为子阶段特征图F与阶段i-1的输出进行特征融合的结果,这使得后一个阶段能够借鉴于前一个阶段提供的关节点位置的空间不确定性非参数编码,使得后面的阶段对手势关节点位置估计能够更加准确。网络最后阶段3的输出的置信图集合的尺寸为32×32×22,需将其通过尺寸缩放到256×256×22的大小即可对应到输入原始图像的尺寸,去掉输出置信图集合中用于表示背景空饷应的最后一个通道置信图,从而得到了最终网络输出的置信图256×256×21,将其通过取最大值灰度值所在位置的方法确定每个手势关节点的具体位置。
卷积姿态机的输入为RGB手势图片,通过CPM网络模型进行手势姿态估计后输出置信图来表示手势各关节点的坐标位置,从而完成对手势姿态的估计。为了进行CPM手势姿态估计模型的训练,必须对每张图片生成21个真实置信图标签,表示手势第i个关节的真实置信图Si标签可以用一个二维高斯函数生成,函数如下:
其中(x,y)表示此关节点在图片中的位置坐标,σ为一个常量,可以控制置信图在关节点坐标处过渡的平滑度,如图7所示当σ取值不同时,大拇指关节点在置信图中的位置表现。
CPM姿态估计网络共需要21张如上的置信图方可表示出全部关节点坐标,所有关节的置信图的集合表示为S∈RH×W×21,H、W表示输入图像的高和宽,此外,卷积姿态网络还增加了一个置信图用于表示空响应背景,这一置信图的计算公式为:
S22(x,y)=max(S1(x,y),S2(x,y),...,S21(x,y))
所以对应每张手势图片,CPM模型的真实标签为置信图集合S∈RH×W×22,其中最后一张置信图用来表示空响应背景,仅用于训练模型而不用于预测关节点。
卷积姿态机的多阶段级联结构能够使得网络对于手势姿态的估计进行不断的优化,取最后一个阶段s输出的置信图集合来作为最终的网络模型输出的置信图集合。网络在每个阶段输出的置信图集合尺寸32×32×22与上文提到的通过二维高斯函数计算得来的真实标签置信图集合尺寸256×256×22维度不一致,为了保证网络正常训练,将网络输出置信图通过尺寸缩放后之后变得与真实标签尺寸一致,再用于后续的损失函数计算,本发明采用均方误差函数作为单个阶段的损失函数,注意到,随着阶段数量的增加网络结构变得较深,容易发生梯度消失和梯度爆炸的现象,为了解决这一问题,网络引入中间监督的方式来防止梯度消失和梯度爆炸,即对每一个阶段输出的置信图集合都计算一次它们与真实标签的均方误差,将这些均方误差的总和作为最终的网络模型损失函数,损失函数公式如下:
卷积姿态机模型构建完毕后,将其融入到Resnet-50手势分类模型中,构建一个融合姿态估计的手势分类模型,此模型的框架如图8所示。
模型输入为无复杂背景的手势图片,此图片可以经过YOLOv3手势定位后得到,由于CPM姿态估计网络与resnet-50网络的输入尺寸不同,CPM手势姿态估计网络输入尺寸要求为256×256×3,resnet-50网络输入图片尺寸为224×224×3,需要先将图片进行缩放来达到相应的尺寸,为了使得缩放时图像中手势不会被拉伸变形,本发明采样黑色填充的方法填充缩放前图片的边界使其成为正方形,在正方形的基础上缩放则不会发生拉伸变形的现象。
步骤S3-S4为人机交互流程,具体的:Dobot M1机械臂支持网线连接,故将主机与机械臂用网线连接后,再对机械臂具体参数进行配置。首先获取主机及机械臂的IP地址,将其作为LabView中上下位机的通信地址,准备接收由PC端识别手势后的指令。
主函数由一个内含条件结构的while循环结构组成,摄像头对指定区域内的手势动作进行不断识别,将识别结果通过端口发送到LabView中,LabView得到转化为字符串的语音信号中的有效指令,之后再发送数据包到机械臂,控制机械臂运动。
主函数中的条件结构分为五个分支,具体内容分别如下:
(1)“开始”分支:当主函数识别手势动作,接收到“start”指令时,主机通过UDP(User Datagram Protocol)接口将IP地址发送至机械臂,机械臂开始工作,并通过UDP向机械臂发送初始位置坐标字符串,操纵机械臂运行到事先设置好的初始位置。播放相应零件装配的教学视频,以便引导操作人员根据视频的提示信息,控制装配过程零部件的抓取与搬运,完成装配,保证装配的准确型。
(2)“参数配置”分支:当主函数识别手势动作,接收到“set”指令时,主机向机械臂发送参数配置指令,完成机械臂和摄像头支架台的相对位置、摄像头的高度和机械臂夹具的安装方向的参数调整。
(3)“抓取”分支:当主函数识别手势动作,接收到“get”指令时,主机向机械臂发送指令,将机械臂运行到假定零件初始位置,执行抓取动作,然后移动至假定零件目标位置,并执行放置零件动作。
(4)“结束”分支:当主函数识别手势动作,接收到“finish”指令时,主机将教学视频路径和“抓取”坐标初始化,并回到“开始”分支的初始位置。
(5)“错误”分支:当主函数识别手势动作,接收到“silence”或“unknown”指令时,机械臂不执行任何操作。
本领域的普通技术人员将会意识到,这里所述的实施例是为了帮助读者理解本发明的原理,应被理解为本发明的保护范围并不局限于这样的特别陈述和实施例。对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的权利要求范围之内。
Claims (6)
1.基于手势识别的装配过程智能控制方法,其特征在于,包括:
S1、采用基于YOLOv3网络的手势定位模型进行复杂背景图像的手势定位,得到手势特征;
S2、基于Resnet-50对手势特征进行手势分类识别;
S3、将识别结果发送至LabView中,得到相应指令;
S4、将指令打包发送到机械臂,控制机械臂运动。
2.根据权利要求1所述的基于手势识别的装配过程智能控制方法,其特征在于,步骤S1采用自动改进扩展训练集训练基于YOLOv3网络的手势定位模型,具体的:
A1、获取一个经过人工标定的手势定位数据集作为初始数据集,在初始数据集基础上初步训练得到一个YOLOv3手势定位模型;
A2、获取未经训练且未经标定的手势图片,将这些手势图片输入到初步训练得到的YOLOv3手势定位模型,并将得到的定位结果中置信度高于设定阈值的结果作为真实标定的样本自动输入YOLOv3手势定位模型的训练集,进行进一步的模型训练;
A3、得到经过自动扩展训练集训练的YOLOv3手势定位模型。
3.根据权利要求2所述的基于手势识别的装配过程智能控制方法,其特征在于,步骤A2所述设定阈值为0.9。
4.根据权利要求3所述的基于手势识别的装配过程智能控制方法,其特征在于,步骤S2具体为:构建卷积姿态机模型,用于识别手势姿态,然后将构建完毕的卷积姿态机模型融入到Resnet-50手势分类模型中,构建一个融合姿态估计的手势分类模型。
5.根据权利要求4所述的基于手势识别的装配过程智能控制方法,其特征在于,融合姿态估计的手势分类模型的输入为经步骤S1处理后的无复杂背景的手势图片。
6.根据权利要求5所述的基于手势识别的装配过程智能控制方法,其特征在于,还包括将步骤S1处理后的无复杂背景的手势图片进行缩放,具体的:采用黑色填充的方法填充缩放前图片的边界使其成为正方形,然后在正方形的基础上进行缩放。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011448297.XA CN112396666A (zh) | 2020-12-09 | 2020-12-09 | 基于手势识别的装配过程智能控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011448297.XA CN112396666A (zh) | 2020-12-09 | 2020-12-09 | 基于手势识别的装配过程智能控制方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112396666A true CN112396666A (zh) | 2021-02-23 |
Family
ID=74624925
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011448297.XA Pending CN112396666A (zh) | 2020-12-09 | 2020-12-09 | 基于手势识别的装配过程智能控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112396666A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113643235A (zh) * | 2021-07-07 | 2021-11-12 | 青岛高重信息科技有限公司 | 一种基于深度学习的芯片计数方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108614995A (zh) * | 2018-03-27 | 2018-10-02 | 深圳市智能机器人研究院 | 用于yolo网络的手势数据集采集方法、手势识别方法和装置 |
CN109635750A (zh) * | 2018-12-14 | 2019-04-16 | 广西师范大学 | 一种复杂背景下的复合卷积神经网络手势图像识别方法 |
CN109977875A (zh) * | 2019-03-28 | 2019-07-05 | 北京易达图灵科技有限公司 | 基于深度学习的手势识别方法及设备 |
US20190354194A1 (en) * | 2017-12-22 | 2019-11-21 | Beijing Sensetime Technology Development Co., Ltd | Methods and apparatuses for recognizing dynamic gesture, and control methods and apparatuses using gesture interaction |
CN111078008A (zh) * | 2019-12-04 | 2020-04-28 | 东北大学 | 一种早教机器人的控制方法 |
CN111709310A (zh) * | 2020-05-26 | 2020-09-25 | 重庆大学 | 一种基于深度学习的手势跟踪与识别方法 |
-
2020
- 2020-12-09 CN CN202011448297.XA patent/CN112396666A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190354194A1 (en) * | 2017-12-22 | 2019-11-21 | Beijing Sensetime Technology Development Co., Ltd | Methods and apparatuses for recognizing dynamic gesture, and control methods and apparatuses using gesture interaction |
CN108614995A (zh) * | 2018-03-27 | 2018-10-02 | 深圳市智能机器人研究院 | 用于yolo网络的手势数据集采集方法、手势识别方法和装置 |
CN109635750A (zh) * | 2018-12-14 | 2019-04-16 | 广西师范大学 | 一种复杂背景下的复合卷积神经网络手势图像识别方法 |
CN109977875A (zh) * | 2019-03-28 | 2019-07-05 | 北京易达图灵科技有限公司 | 基于深度学习的手势识别方法及设备 |
CN111078008A (zh) * | 2019-12-04 | 2020-04-28 | 东北大学 | 一种早教机器人的控制方法 |
CN111709310A (zh) * | 2020-05-26 | 2020-09-25 | 重庆大学 | 一种基于深度学习的手势跟踪与识别方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113643235A (zh) * | 2021-07-07 | 2021-11-12 | 青岛高重信息科技有限公司 | 一种基于深度学习的芯片计数方法 |
CN113643235B (zh) * | 2021-07-07 | 2023-12-29 | 青岛高重信息科技有限公司 | 一种基于深度学习的芯片计数方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110147743B (zh) | 一种复杂场景下的实时在线行人分析与计数系统及方法 | |
CN111695562B (zh) | 一种基于卷积神经网络的机器人自主抓取方法 | |
CN109800689B (zh) | 一种基于时空特征融合学习的目标跟踪方法 | |
CN111523486B (zh) | 一种基于改进CenterNet的机械臂抓取检测方法 | |
CN110796018A (zh) | 一种基于深度图像和彩色图像的手部运动识别方法 | |
CN110688965A (zh) | 基于双目视觉的ipt模拟训练手势识别方法 | |
CN111890357A (zh) | 一种基于动作演示示教的智能机器人抓取方法 | |
CN108133235B (zh) | 一种基于神经网络多尺度特征图的行人检测方法 | |
CN111598928A (zh) | 一种基于具有语义评估和区域建议的突变运动目标跟踪方法 | |
CN114792443A (zh) | 一种基于图像识别的智能设备手势识别控制方法 | |
CN115761905A (zh) | 一种基于骨骼关节点的潜水员动作识别方法 | |
CN113487610B (zh) | 疱疹图像识别方法、装置、计算机设备和存储介质 | |
CN111898566A (zh) | 姿态估计方法、装置、电子设备和存储介质 | |
CN111507219A (zh) | 一种动作识别方法、装置及电子设备和存储介质 | |
CN112396666A (zh) | 基于手势识别的装配过程智能控制方法 | |
CN112199994B (zh) | 一种实时检测rgb视频中的3d手与未知物体交互的方法和装置 | |
CN112288809B (zh) | 一种用于多物体复杂场景的机器人抓取检测方法 | |
CN112069979B (zh) | 一种实时动作识别人机交互系统 | |
CN111078008B (zh) | 一种早教机器人的控制方法 | |
CN110111358B (zh) | 一种基于多层时序滤波的目标跟踪方法 | |
CN114937153B (zh) | 弱纹理环境下基于神经网络的视觉特征处理系统及方法 | |
CN114782827B (zh) | 一种基于图像的物体抓取点获取方法和装置 | |
CN113065379A (zh) | 融合图像质量的图像检测方法、装置、电子设备 | |
KR20230061612A (ko) | 머신 러닝을 이용한 물체의 피킹 자동화 시스템 및 그 제어 방법 | |
Li et al. | A loop closure detection method based on semantic segmentation and convolutional neural network |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |