数字图像处理与深度学习技术应用 课件 第13章 基于深度学习Faster R-CNN模型的手势识别_第1页
数字图像处理与深度学习技术应用 课件 第13章 基于深度学习Faster R-CNN模型的手势识别_第2页
数字图像处理与深度学习技术应用 课件 第13章 基于深度学习Faster R-CNN模型的手势识别_第3页
数字图像处理与深度学习技术应用 课件 第13章 基于深度学习Faster R-CNN模型的手势识别_第4页
数字图像处理与深度学习技术应用 课件 第13章 基于深度学习Faster R-CNN模型的手势识别_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第13章基于深度学习FasterR-CNN模型的手势识别目录13.1RCNN目标检测与识别模型13.2边框回归(BoundingBoxRegression)原理13.3FasterR-CNN目标检测与识别模型13.3.1FasterR-CNN模型框架13.3.2基于区域提议网络(RPN)的目标检测13.3.3基于RoI池化和分类技术的目标识别13.4手势识别系统设计13.5构建手势识别模型13.5.1构建FasterR-CNN模型13.5.2FasterR-CNN识别模型训练13.6手势识别模型检验 13.1RCNN目标检测与识别模型目标检测目的是在图像中识别和定位感兴趣的目标,并确定它们的类别。基于深度学习的目标检测算法可以分为两类:二阶算法:先生成区域候选框,再通过卷积神经网络进行分类和回归修正。常见算法有RCNN、SPPNet、FastRCNN,FasterRCNN和RFCN等。相较之下二阶算法检测结果更精确。一阶算法:不生成候选框,直接在网络中提取特征来预测物体的分类和位置。常见算法有SSD、YOLO系列和RetinaNet等。相较之下一阶算法检测速度更快。R-CNN(Region-CNN)主要步骤:1.生成候选区域将图像分割成小区域,然后合并包含同一物体可能性高的区域作为候选区域输出,

实现步骤:步骤1在图像上设有n个预分割的区域,表示为R={R1,R2,…,Rn}。步骤2计算每个区域与它相邻区域的相似度,得到一个n×n的相似度矩阵。步骤3从矩阵中找出最大相似度值对应的两个区域,将这两个区域合二为一,这时候图像上还剩下n-1个区域。步骤4重复上面的过程,只需要计算新的区域与它相邻区域的相似度,相似区域总数目最后变成了1。2.对每个候选区域用CNN进行特征提取对每个候选区域都使用深度神经网络提取特征,并重新训练全连接层。在候选区域输入训练好的神经网络模型,得到固定维度的特征图输出,得到特征矩阵。3.用每一类的SVM分类器对CNN的输出特征图进行分类使用SVM分类器对每一个特征图进行分类。4.非极大值抑制剔除重叠建议框交并比(IntersectionoverUnion,IoU),即(A∩B)/(AUB),指的是A和B的重合区域面积与A和B总面积的比。IoU越大说明A和B的重合部分占比越大,即A和B越相似。步骤1将属于同一个分类的候选区域进行归类。步骤2找到每一个分类的候选区域中预测概率最高的区域作为参考区域,保留该区域,并将其从候选区域列表中移除。步骤3对于列表中剩余的候选区域,计算它们与参考区域的交并比(IoU)。删除所有IoU值高于预设阈值的候选区域。5.使用回归器精修候选区域的位置通过SelectiveSearch算法得到的候选区域位置不一定准确,用最小二乘法解决线性回归问题。剩余的建议框进行回归操作,最终得到每个类别的修正后的目标区域。图13-3预测区域效果示意图13.2边框回归(BoundingBoxRegression)原理1.多元线性回归方程线性回归其本质上就是对数据进行拟合,从大量的数据中,获得一个方程来近似描述这些数据,并用该方程对新的输入进行预测。t*=w0*+w1*x1+w2*x2+…+wn*xn其中,*代表x、y、w、h四个标识之一;t*代表x和y偏移量、高度和宽度的缩放因子;x1,x2,…,xn代表样本特征;W*为多元线性回归方程的参数,w0*为截距,w1*,w2*,…wn*为回归系数。其中可以被看成一个结构为(n+1,1)的列矩阵,X是一个结构为(m,n+1)的特征矩阵。2.损失函数(1)平方和做损失函数:(2)SmoothL1Loss3.多元线性回归的参数求解(1)最小二乘法损失函数为凸函数,其表达式为:(3-17)令(13-7)求导后一阶导数为零,则:(2)梯度下降法对(13-7)参数求导:将上述梯度带入随机梯度下降公式:13.3FasterR-CNN目标检测与识别模型13.3.1FasterR-CNN模型框架主要实现步骤:步骤1使用主干网络对输入图像提取主干特征图。步骤2主干特征图具有256个通道。主干特征图上的每个点经过3×3卷积操作后,作为256维特征向量输入RPN网络的两个分支。步骤4RPN网络的一个分支输出锚框的标签类型概率,另一个分支输出锚框修正的偏移量。步骤5提议层负责在原始图像中找到正标签的锚框。从大量正标签锚框中筛选出最可能包含目标的锚框,作为目标框的候选提议(Proposal),并相应地调整这些锚框的位置。步骤6RoI池化技术用于将目标检测中的候选提议(Proposal)映射到特征图上,从而得到目标区域的特征表示。步骤7使用分类分支和回归分支进一步预测目标类别和实现目标位置的精确定位。图13-4FasterR-CNN框架结构示意图13.3.2基于区域提议网络(RPN)的目标检测FasterR-CNN则抛弃了传统的滑动窗口和SelectiveSearch方法,直接使用区域提议网络(RegionProposalNetworks,RPN)来生成检测框,极大提升了检测框的生成速度。RPN网络是一个全卷积网络,由卷积层(256维)+ReLU激励函数+左右两个全连接层(有1×1卷积实现)。RPN网络接收来自主干网络的特征图作为输入,并输出前景和背景的分类置信度,以及每个提议区域(Proposal)的中心坐标和尺寸(宽度和高度)的回归值。核心思想是利用滑动窗口和锚点策略来生成候选框。RPN实现过程锚框锚框是用于目标检测的候选区域,它们以特征图上的一个点为中心,预先设定不同尺寸和比例的矩形区域。锚框有三种尺寸和三种比例,三种尺寸分别是小(蓝128)中(红256)大(绿512),三个比例分别是1

:

1,1

:

2,2

:

1。3×3的组合总共有9种锚框。3.RPN的结构RPN的结构由3×3的卷积层(输出通道数为256)+ReLU激活函数+两个平行的1×1的卷积层(由分类层clclayer和回归层reglayer)组成。图13-6RPN的结构示意图RPN实现过程如下:步骤1获取256通道的主干网络提取的特征。步骤2对每一个通道以中心点进行3×3卷积操作,在中心点处取出256通道相应位置的特征,组成256维特征矢量。步骤3粗糙分类,获取锚框的正标签与负标签的属性评分。进行1×1×18卷积操作,通过全连接层+Softmax函数获取当前中心点的9个锚框关于正标签和负标签的属性评分。步骤4获取锚框的偏移量和缩放因子。进行1×1×36卷积操作,通过全连接层获取当前中心点的9个锚框相对于目标的偏移量和缩放因子。步骤5在原图上,找到与中心点对应的点和锚框,取正标签评分高的前N个锚框,根据偏移量和缩放因子,进行修正,获得提议区域。步骤6将修正后的锚框区域映射回主干网络(backbone)的特征图上,以确定每个锚框对应的特征图位置。4.提议(Proposal)层提议层的主要任务是找到原图上的锚框所对应的特征区域。原始图像经过卷积层处理后生成特征图。处理步骤如下:(1)接收来自分类层的两个输入:正标签和负标签锚框分类结果,以及来自回归层的4个参数。(2)在原始图像上生成锚框,并使用偏置量和缩放因子对所有锚框进行边界框回归。(3)根据Softmax函数得分将锚框排序,提取前N个正标签锚框,并修正它们的位置。(4)确保所有正标签锚框都在图像边界内,防止在区域池化时超出图像范围。(5)剔除尺寸过小的正标签锚框。(6)对剩余的正标签锚框应用非极大值抑制(NMS)。(7)输出提议区域,格式为[x1,y1,x2,y2]。由于已将锚框映射回原始图像尺度并进行了边界检查,输出的提议区域是对应于原始M×N尺寸图像的。11.3.3基于RoI池化和分类技术的目标识别RoI池化层负责从RPN网络生成的提议(Proposal)中提取特征图。利用提取的候选区域特征图,通过全连接层和Softmax函数计算每个提议属于各个类别的概率,输出cls_prob概率向量。同时,通过边界框回归进一步微调每个提议的位置,得到更精确的目标检测框bbox_pred。图13-7分类结构示意图13.4手势识别系统设计设计一个手势识别系统包含三个主要部分,分别为训练手势标注、学习过程和识别过程。具体设计模式:图13-8功能总体设计模式1.训练手势标注标注应该包含目标的边界框和类别信息。(1)边界框信息。(x_min,y_min):左上角坐标(x_max,y_max):右下角坐标(2)类别信息。2.学习过程模块学习过程模块主要分为三个步骤,包括手势图像预处理、构建训练集、构建识别模型。在构建训练集、搭建模型之后,对模型进行训练。3.识别过程模块识别过程模块主要分为三个步骤,包括获取待识别手势图像、手势图像预处理、分类决策和决策分析。4.手势识别系统开发步骤(1)数据采集使用摄像头或传感器收集手势数据。(2)图像预处理包括去噪、调整图像大小和亮度等。标准化手势数据。(3)对采集到的手势进行标记,以便训练模型。标记包括手的位置和手势类别等信息。(4)模型训练(5)系统集成(6)优化和调试13.5构建手势识别模型13.5.1构建FasterR-CNN模型1.一般步骤:(1)安装依赖库安装深度学习框架,如TensorFlow或PyTorch。安装其他必要的库,如NumPy、Matplotlib等。(2)获取数据集(3)预训练模型使用预训练的卷积神经网络(如ResNet、VGG等)作为FasterR-CNN的基础模型。2.搭建提取主干特征的卷积神经网络在FasterR-CNN模型中使用预训练的VGG1616模型3.搭建检测目标的RPN网络①选择适当的主干网络,提取图像特征。②AnchorGenerator负责生成候选锚框的尺寸和长宽比。③RPN的头部用于处理主干网络输出的特征图,生成候选锚框和对应的边界框回归信息。④RPNBlock是RPN中的一个组件,包含两个分支。分类分支(cls_logits):该分支负责预测每个锚框是前景(目标)还是背景的概率。回归分支(bbox_pred):该分支负责预测每个锚框相对于其真实位置的边界框偏移量。4.搭建RoI(RegionofInterest)池化层RoI池化用于将不同尺寸的感兴趣区域映射为固定大小的特征图,以便在后续的目标分类和回归任务中使用。13.5.2FasterR-CNN识别模型训练1.主干特征提取本节主要采用的是Caffe框架下的VGG16预训练模型。2.锚框贴标签在区域提议网络(RPN)中,每个中心点会对应生成k个锚框,分类层(clclayer)负责输出每个锚框的两个参数:预测为前景的概率和损失函数。损失函数采用交叉熵损失函数。3.计算损失函数FasterR-CNN的损失函数通常包括分类损失和边界框回归损失。分类损失用于确定每个候选锚框中是否包含目标,而边界框回归损失用于精确定位目标的位置。4.RPN生成RoIsRPN生成RoI的过程:

对于输入的每张图片,RPN首先利用其特征图来计算每个位置上的锚框属于前景的概率,以及这些锚框的位置参数。选择那些具

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论