【《基于opencv的手势追踪系统设计》10000字(论文)】_第1页
【《基于opencv的手势追踪系统设计》10000字(论文)】_第2页
【《基于opencv的手势追踪系统设计》10000字(论文)】_第3页
【《基于opencv的手势追踪系统设计》10000字(论文)】_第4页
【《基于opencv的手势追踪系统设计》10000字(论文)】_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

第页基于opencv的手势追踪系统设计摘要运动目标检测是计算机视觉应用研究的最重要的课题之一,包含的相关技术较多,应用范畴广泛,在安全、金融、驾驶、医疗等领域上都有很高的应用价值。因此,本研究课题具有相对重要的意义在应用研究理论和实际开发价值。目前学术和工业界出现的目标检测算法分为三类,本文采用的是“候选窗+深度学习分类”FASTERRCNN目标检测算法,即通过提取候选区域,并对相对区域进行深度学习方法为主的方案。它是基于RPN网络、CNN、ROI池化三个组成的,利用CNN,进行特征提取,再用RPN先生成一堆Anchorbox,对其进行裁剪过滤后通过softmax判断anchors属于前景或者后景,即是物体or不是物体,所以这是一个二分类;同时,另一分支boundingboxregression修正anchorbox,形成较精确的proposal;把建议窗口映射到CNN的最后一层卷积featuremap上;通过RoIpooling层使每个RoI生成固定尺寸的featuremap;利用SoftmaxLoss(探测分类概率)和SmoothL1Loss(探测边框回归)对分类概率和边框回归(Boundingboxregression)联合训练。OPENCV作为优秀的计算机视觉库,提供了优秀的代码,并具有图像处理功能,通过摄像头采集数据,并作出如缩放、去噪等处理行为,得到新的图像数据,在进行手势识别;并根据一些列动作进行收拾验证。关键词:手势识别,目标检测,图像处理,OPENCV摘要I1绪论 11.1课题背景与研究意义 11.2手势识别概述 11.3国内外现状及发展 11.4论文结构安排 22相关技术与原理2.1OpenCV技术 32.1.1技术特点 32.2图像预处理 52.2.1均值滤波 62.2.2中值滤波 62.2.3高斯滤波 62.2.4图像腐蚀和图像膨胀 62.2.5图像二值化 72.3常用经典分类模型 72.3.1Lenet5模型 72.3.2VGG模型 72.3.3DensNet模型 72.4本章小结 73手势检测 73.1手势检测基本方法 73.1.1帧间差分法 73.1.2光流法 73.1.3背景差分法 73.2手势检测算法选择与优化 83.3本章小结 84手势追踪 104.1手势追踪基本方法 104.2追踪算法选择与实现 104.3本章小结 105结论与展望 105.1结论 105.2展望 10参考文献 11第一章绪论1.1课题背景与研究意义目前我国计算机视觉应用发展迅猛,人机交互方式也多种多样,在安全、金融、硬件、营销、驾驶、医疗等领域上都有很高的应用价值。至此基于视觉的手势识别则成为新一代人机交互的重要研究内容;计算机通过摄像头来捕捉人们的手势同时做出相应的举措,从而来弥补传统交互方式的不足。然而现有的基于视觉的手势识别研究中仍然存在着一些不足和问题。例如,基于肤色分割的方法来进行双手追踪,当手与手在运动过程中发生遮挡时,就没有办法正确追踪左右手的位置;在快速运动时如何能够准确抓取并检测手势;如何让手势识别应用系统更好的适应实际情景中复杂多变的背景环境。目前下游应用市场也走向成熟,已存在许多消费产品具有这一识别功能,智能产品领域增加了手势识别控制功能,无疑是对该产品功能上的一个巨大的卖点。手势识别的出现,使产品更加酷炫,操作更加便利。关于手势识别的研究具有两个方向:一个是采用摄像头就行数据提取,通过平滑、形态学处理,再进行数据分类,目标检测识别等算法操作进行手势识别。自上个世纪七十年代开始,计算机视觉应用开始被开始重视和发展起来,已经能够做到对图像进行一系列信息处理的操作。视频图像处理技术,模式识别技术和内容上的理解技术是计算机视觉的三大技术板块。图像处理技术即是通过获取图像的属性并进行通道的拆分和合并,对图像进行加法和融合运算,再进行滤波平滑处理等一系列操作后,删除不需要的信息,保留有用的信息。模式识别则是对图像所具有的特征信息采取分类。而对于内容上的理解技术,才是最重要的,经过了前两个技术处理后,使计算机能够从中识别并解释出图片中出现的数据信息,再做出相应的的判断,这才是本文所期望达到的目的。另一个研究方向,则是再硬件上的补充进行手势识别应用,如:vr手套、人体传感器等设备都是通过数据信息传导给计算机从而使计算机进行识别运算。对此,计算机视觉的识别应用相对更加便利。再很久以前,还没有语言的时代,手势则成为人类交流的途径,不同的手势代表着不同的意义。现在也是如此,手势的交流更能促进人与人之间的友好交往,一个简单的动作便足以表达一个人此时的心意。所以,手势识别的应用,必将成为当今时代最重要的技术之一。1.2手势识别概述手势识别技术,大致可以分为三个等级:二维手型识别、二维手势识别、三维手势识别。三者有一定区别,二维是一个平面,即用X、Y组成的坐标轴,来表示物体在二维空间的坐标位置,三维则是在二维的基础上在增加一个深度,物体除了在你的左右、上下,还可以离你更远或更近。前两种手势识别技术,则使基于二维层面的,他们不需要含有深度信息即可输入。就像平时拍的相片就包含了二维信息一样,我们只需要使用单个摄像头捕捉到的二维图像作为输入,然后通过计算机视觉技术对输入的二维图像进行分析,获取信息,从而实现手势识别。而第三种手势识别技术,是基于三维层面的。三维手势识别与二维手势识别的最根本区别就在于,三维手势识别需要的输入是包含有深度的信息,这就使得三维手势识别在硬件和软件两方面都比二维手势识别要复杂得多。手势一般可分为静态手势和动态手势两种,静态手势表示手势的某一时刻手的基本信息,如面积、轮廓、形状等;动态手势可以看作是由连续的静态手势序列组成。相对于静态手势,动态手势具有丰富、直观的表达能力;而动态手势与静态手势结合在一起,可以表达更为丰富的语义。手势识别就是把各种手势按照一定的规则通过计算分类识别出来,指示计算转化为相应的控制命令或者语义。1.3国内外现状及发展CBInsights提出了2019年AI的25个趋势,可以分为基础架构、体系结构和应用场景三个方面。应用场景又可以分为3类:智能预测、自然语言处理与合成、计算机视觉。国外对于视频检测与跟踪理论的研究起步较早。美国自然科学基金委员会及美国军方非常重视对多目标的运动检测、识别及跟踪的算法的研究及应用。在20世纪50年代初期,GAC公司为美国海军研制开发了自动地形识别跟踪系统ATRAN(AutomaticTerrainRecognitionandNavigationSystem)。80年代初期,随着各种目标检测和跟踪的原理和算法的完善,美国国防部先进研究项目局DARPA(DefenseAdvancedResearchProjectionAgency)成立了自动目标识别工作组ATRWG(AutomaticTargetRecognitionWorkgroup),该工作组制定图像数据标准,研究目标自动识别跟踪等。1997年美国国防部先进研究项目局、卡内基·梅隆大学、麻省理工学院等联合参与了项目视觉监视和监测VSAM(VisualSurveillanceandMonitoring),该项目致力于在城市和战场上开发自动视频理解技术。2000年,美国DARPA资助了远程人类识别重大项目HID(HumanIdentificationataDistance)。1998年至2002年,欧盟IST(InformationSocietyTechnology)}g]支持多所著名大学和研究机构研究研发了视频监控和检索重大项目ADVISOR(AnnotatedDigitalVideoforSurveillanceandOptimizedRetrieval),旨在开发一个系统来有效地管理公共交通系统。欧盟和奥地利科学基金会资助的大型视频监控技术研究项目AVITRACK(Aircraftsurroundings,categorisedVehiclesandIndividualsTrackingforapRon’sActivitymodelinterpretationandChecK),旨在提高机场的运作效率并用于安全监控。在汽车行业中,捷豹2017版XFSportbrake手势功能“天窗遮阳帘手势自动开关功能”,“后排乘客收拾开关门”功能;2021款奔驰S级轿车的推出警告功能现在也使用摄像头来识别乘员想要离开车辆SoftkineticSystems全新mbux智能人机交互系统还增加了mbuxinteriorassist系统,这套系统通过摄像头和子学习算法来识别驾驶者的亿元和意图,例如当你驾驶时想打开全景天窗或天窗遮阳板,只需抬起右手在前方阅读灯处向后划就可以,你还可以设置转身看后车窗来控制后排车窗遮阳帘开关,甚至可以设定常用手势,比如将音乐功能设置成一个“剪刀手”,这样下次你就可以直接用这个手势开启这个功能了。Ultraleap是一个超声波手势追踪方案品牌,前身为Ultrahaptics,于2019年5月收购手势识别模块厂商LeapMotion后更名为Ultraleap。与LeapMotion的手势追踪方案不同,Ultraleap此前开发的产品基于超声波技术,不仅能追踪手势,还可提供近距离隔空触觉反馈效果。前不久,Ultraleap与高通合作,将手势识别技术用于XR2AR/VR头显参考设计中。受疫情影响,客户对无接触式方案的需求增加,Ultraleap的业务也受到积极影响。该公司表示:过去四个月里,产品销量翻了5倍。相对于国外的研究进展,在视觉计算研究方面,国内也有较多的研究。再应用领域上,无人驾驶和无人机操控方面都对手势识别功能提供了巨大支持。百度的无人驾驶已经进行了局部地区应用。像旷视科技的Face++,包括极鱼科技主营业务人车智能交互、虚拟现实和智能家居等领域。就连手机客户端都有相关应用产品诞生,国内著名无人机厂商大疆也发布了可以手势控制的“晓”SPACK无人机。换句话说,国内没有人愿意被甩在后面,都积极得想将手势识别技术带进市场,人机交互的范围之广泛可想而知。学术领域里,各个高校、研究所都致力于对手势识别的研究上。哈尔滨工业大学的一个小组,提出了一种基于FPGA的基于实时的未标记手标志识别系统。使用神经网络算法,含有图像采集模块,图像预处理模块特征提取模块和分类模块等。该系统可以识别24个静态手语手势,识别速度可以达到每秒60帧,识别准确率达到93.3%。来自浙江大学的杜宇针对目前基于肌点信号进行体感及手势识别的算法存在的缺点,提出了基于深度学习的,半监督的手势识别方法,可以有效地客服传统方法中时延性和对需求先验知识的缺点,在不同训练集下的准确性也可以保持在90%上下。国防科学技术大学的梁华与刘云辉对于物与物的遮挡问题提出了一种基于概率外观模型和Condensation的跟踪方法,此算法统一在Condensation框架下进行有遮挡和无遮挡的跟踪,该方法通过分析目标前景重叠关系检测遮挡的产生和解除,在目标未遮挡时建立目标的概率外观模型。遮挡发生后,利用目标共面条件确定目标前后关系。1.4论文结构安排本文的结构安排如下:第一章:绪论。这一部分的主要内容是介绍本文的研究背景和研究意义,表明目的,确定本文研究动机。同时,通过对手势识别的简介及对当下应用研究情况的介绍,总结当前国内外与相关研究工作的现状。最后,总结本文章节结构安排。第二章:相关技术与原理简介。该章节主要介绍了有关OpenCV相关技术特点、分析;图像预处理、经典分类模式识别的相关方法及原理,包括一些需要了解的相关知识及常用算法,并比较他们的优缺点。第三章:手势检测算法介绍。本章节介绍了目标检测算法的基本原理及检测方法,并且针对自己所选择的检测方法进行阐述。第四章:手势追踪算法介绍。本章介绍了手势追踪的基本方法,对于本文所选择的算法进行说明与实现,并分析实验结果。第五章:结论与展望。总结本文所做工作,并对所存在的问题进行分析和改进。第二章相关技术与原理2.1OpenCV技术OpenCV是一个开源计算机视觉库,由一些列c函数和少量的C++类构成,完成了对图像处理和计算机视觉方面的常用算法。2.1.1技术特点OpenCV对于图像数据具有分配、释放、复制、设置和转换的功能;矩阵、方程组、特征值等的操作以及线性代数的算法程序;具有基本的数字图像处理功能,例如滤波、边缘检测、色彩转换、形态等;摄像头的调用,进行确定目标功能,发现与跟踪目标。2.2图像预处理图像的空间滤波分为线性滤波和非线性滤波。线性滤波是对邻域中的像素的计算为线性运算时,如利用窗口函数进行平滑加权求和的运算,或者某种卷积运算,都可以称为线性滤波。常见的线性滤波:均值滤波、高斯滤波、盒子滤波、拉普拉斯滤波等等,通常线性滤波器之间只是模版系数不同。非线性滤波则是利用原始图像跟模版之间的一种逻辑关系得到结果。常见的非线型滤波:如最值滤波器,中值滤波器。比较常用的有中值滤波器和双边滤波器。2.2.1均值滤波均值模糊可以模糊图像以便得到感兴趣物体的粗略描述,也就是说,去除图像中的不相关细节,其中“不相关”是指与滤波器模板尺寸相比较小的像素区域,从而对图像有一个整体的认知。即为了对感兴趣的物体得到一个大致的整体的描述而模糊一幅图像,忽略细小的细节。均值滤波的原理很简单,一般是用下面的系数模版与图像做卷积运算,公式表示为:即以当前像素点为中心,求窗口内所有灰度值的和,以其平均值作为中心像素新的灰度值。下面是一个3*3的均值滤波器模板,均值滤波器的模板有标准像素平均和加权平均之分。如图:标准像素平均的均值滤波器模板加权平均的均值滤波器模板。2.2.2中值滤波中值滤波是对一个滑动窗口内的诸像素灰度值排序,用其中值代替窗口中心象素的原来灰度值,它是一种非线性的图像平滑法,它对脉冲干扰级椒盐噪声的抑制效果好,在抑制随机噪声的同时能有效保护边缘少受模糊。中值滤波具有两大特性:第一是对于一些输入的信号中值滤波不改变,其次是中值滤波具有去除噪音的功能,减弱随机干扰和脉冲干扰。2.2.3高斯滤波高斯滤波实质上是一种信号的\t"/item/%E9%AB%98%E6%96%AF%E6%BB%A4%E6%B3%A2/_blank"滤波器,其用途为信号的平滑处理,数字图像用于后期应用,其噪声是最大的问题,因为误差会累计传递等原因,大多图像处理教材会在很早的时候介绍高斯滤波器,用于得到信噪比SNR较高的图像(反应真实信号)。高斯\t"/item/%E9%AB%98%E6%96%AF%E6%BB%A4%E6%B3%A2/_blank"平滑滤波器对于抑制服从\t"/item/%E9%AB%98%E6%96%AF%E6%BB%A4%E6%B3%A2/_blank"正态分布的噪声非常有效。可以简单地理解为,高斯滤波去噪就是对整幅图像像素值进行加权平均,针对每一个像素点的值,都由其本身值和邻域内的其他像素值经过加权平均后得到。一维高斯分布:二维高斯分布:原图为:高斯处理后2.2.4图像腐蚀和图像膨胀腐蚀则是将对应核矩阵元素不为0位置的图像矩阵中所有元素的最小值作为结果图像矩阵锚点位置的对应元素值,膨胀则是将对应核矩阵元素不为0位置的图像矩阵中所有元素的最大值作为结果图像矩阵锚点位置的对应元素值。原图为:腐蚀后的图像:2.2.5图像二值化图像二值化就是根据阈值将数字图像分为两部分:大于阈值的像素集合和小于阈值的像素集合。二值化操作分为全局二值化和局部二值化。全局二值化:是针对整幅数字图像来说的,设置一个阈值,让整幅数字图像的所有像素值与该阈值进行比较;局部二值化:是针对一幅数字图像的某一部分(区域)来说的,设置一个阈值,让该区域的所有像素值与该阈值进行比较,因此,当一幅数字图像上的不同部分具有不同亮度时,在对其进行二值化操作时,需要采用自适应阈值,让不同的区域取不同的阈值;2.3常用经典分类模型现在成熟的神经网络大多是多个模型结构的组合,甚至是多阶段训练,所以对经典神经网络的学习相对于大型网络是非常有必要的。2.3.1Lenet5以上是LeNet5的卷积神经网络的完整结构,尽管是很原始的,但训练参数约有60840个,连接参数大概有340908个如下是关于LeNet5的代码结构:2.3.2VGG由于早期神经网络在设计上的问题,使得卷积核比较大,如Alexnet(7*7,11*11,5*5),造成了网络参数的计算量过于庞大。因此,Vgg出现了,它通过多个3*3的小卷积核来代替之前的大卷积核,解决了结算量过大的问题。相比于Alexnet而言,VGG采用了2x2的小池化核;增加了通道数,使得更多的信息可以被提取出来;拥有更深的层数和更宽的特征图。2.3.3DensNetDenseNet是由Resnet演变而来的,Resnet的优点是梯度可以直接通过恒等函数从后面的层流向前面的层。但是,恒等函数和H的输出是累加的,这可能会阻碍网络中的信息流。为了改善不同层信息流的问题,采用直接将所有输入连接到输出层。与残差网络不同的是不用相加而是连接,输入直接传入到输出,非线性映射关系:X(t)=H([X0,X1,X2,...,X(t-1)])。2.4本章小结本章主要是对OpenCV做出相关的介绍,简明了技术特点。在图像预处理部分,分别介绍了均值滤波、中值滤波、高斯滤波、图像腐蚀和图像膨胀的原理及应用,以及图像二值化的简单介绍。还介绍了几个常用经典分类模型,Lenet5、VGG、DensNet,并展示了个别分类模型的代码结构和完整的框架图。分析每一个模型的由来以及优缺点,能够体现出需求促使技术发展,而技术的发展满足人类的需求。第三章手势检测3.1手势检测方法3.1.1帧间差分法帧间差分法是一种通过视频图像序列的连续两帧图像做差分运算获取目标轮廓的方法。当监控场景中出现异常目标运动时,相邻两帧图像之间会出现较为明显的差别,两帧相减,得到图像所对应位置像素差的绝对值,再对其阈值进行判断,最后分析视频或图像的物体运动特性。如下是帧间差分法的计算公式:其中D(x,y)是连续两帧图像之间的差分图像,I(t)和I(t-1)分别是t和t-1时的图像,T为差分图像二值化时选取的阈值,D(x,y)=1表示前景,D(x,y)=0表示背景。如图为帧间差分法框图:优点:算法实现简单,复杂度低,运行速度快;自适应性强,对场景光线变化不敏感。缺点:手势在运动时灰度值相近,容易产生“空洞”现象;差分图像边缘轮廓较粗,产生“双影”现象;对手势的完整区域不易提取,只能提取出大致轮廓;严重依赖所选时间间隔和阈值。3.3.2光流法光流场(OpticalFlow)是用来表征图像中像素点的灰度值发生变化趋势的瞬时速度场。在现实世界中,目标的运动通常是通过视频流中各个像素点灰度分布的变化表征的。图2-1表现了昆虫在飞行过程中所处的三维光流场。C图中箭头的长度和指向表征了各点光流的大小和方向。美国学者Horn和Schunck在1981年提出了光流场的计算方法,他们在两帧图像的灰度变化和时间间隔都很小的前提下,推导出了光流的基本约束方程,从而奠定了光流场计算的理论知识。利用光流场法实现目标检测的基本思想是:首先计算图像中每一个像素点的运动向量,即建立整幅图像的光流场。如果场景中没有运动目标,则图像中所有像素点的运动向量应该是连续变化的;如果有运动目标,由于目标和背景之间存在相对运动,目标所在位置处的运动向量必然和邻域(背景)的运动向量不同,从而检测出运动目标。通过计算光流场得到的像素运动向量是由目标和摄像机之间的相对运动产生的。因此该类检测方法可以适用于摄像机静止和运动两种场合。但是光流场的计算过于复杂,而且在实际情况中,由于光线等因素的影响,目标在运动时,其表面的亮度并不是保持不变的,这就不满足光流基本约束方程的假设前提,导致计算会出现很大的误差。3.2.3背景差分法对于一个稳定的监控场景而言,在没有运动目标,光照没有变化的情况下,视频图像中各个像素点的灰度值是符合随机概率分布的。由于摄像机在采集图像的过程中,会不可避免地引入噪声,这些灰度值以某一个均值为基准线,在附近做一定范围内的随机振荡,这种场景就是所谓的“背景”。背景差分法是当前运动目标检测技术中应用较为广泛的一类方法,它的基本思想和帧间差分法相类似,都是利用不同图像的差分运算提取目标区域。不过与帧间差分法不同的是,背景减法不是将当前帧图像与相邻帧图像相减,而是将当前帧图像与一个不断更新的背景模型相减,在差分图像中提取运动目标。如图是背景差分法的示意图:首先利用数学建模的方法建立一幅背景图像帧B,记当前图像帧为fn,背景帧和当前帧对应像素点的灰度值分别记为B(x,y)和(x,y),将两帧图像对应像素点的灰度值进行相减,并取其绝对值,得到差分图像计算公式:利用背景减法实现目标检测主要包括四个环节:背景建模,背景更新,目标检测,后期处理。其中,背景建模和背景更新是背景减法中的核心问题。背景模型建立的好坏直接影响到目标检测的效果。所谓背景建模,就是通过数学方法,构建出一种可以表征“背景”的模型。获取背景的最理想方法是在没有运动目标的情况下获取一帧“纯净”的图像作为背景,但是,在实际情况中,由于光照变化、雨雪天气、目标运动等诸多因素的影响,这种情况是很难实现。3.3手势检测算法选择与优化手势检测算法是进行手势识别的重要步骤之一。首先需要对视频图像进行采集,然后进行分割,不仅如此,还需要由对图像搭配的模板和进行识别的主题算法,这样,就可以不断学习与模板进行比较,进而进行分类和识别操作。如图是进行手势识别的一般处理步骤:实现手势录制识别的核心代码:WhileTrue:#读取视频帧ret,frame=cap.read()#镜像转换frame=cv2.flip(frame,1)cv2.imshow(‘Original’,frame)#双边滤波frame=cv2.bilateralFilter(frame,5,50,100)#绘制矩形,第一个为左上角坐标(x,y),第二个为右下角坐标#rec=cv2.rectangle(frame,(220,50),(450,300),(255,0,0),2)Rec=cv2.rectangle(frame,(self.x1,self.y1),(self.x2,self.y2),(255,0,0),2)#定义roi区域,第一个为y的取值,第二个为x的取值#frame=frame[50:300,220:450]frame=frame[self.y1:self.y2,self.x1:self.x2]cv2.imshow(‘bilateralFilter’,frame)#背景分差法运动检测bg=bgModel.apply(frame,learningRate=0)#现实背景分差法的窗口cv2.imshow(‘bg’,bg)#图像边缘处理--腐蚀fgmask=cv2.erode(bg,self.skinkernel,iterations=1)#显示边缘处理后的图像cv2.imshow(‘erode’,fgmask)#将原始图像与背景减法+服饰处理后的model做“与”操作bitwise_and=cv2.bitwise_and(frame,frame,mask=fgmask)#显示与操作后的图像cv2.imshow(‘bitwise_and’,bitwise_and)#灰度处理gray=cv2.cvtColor(bitwise_and,cv2.COLOR——BGR2GRAY)#高斯滤波blur=cv2.GaussianBlur(gray,(self.blurValue,self.blurValue),2)cv2.imshow(‘GaussianBlur’,blur)#使用自适应阈值分割(adaptiveThreshold)Thresh=cv2.adaptiveThreshold(blur,255,cv2.ADAPTIVE_THRESH_GAUSSIAN_C,Cv2.THRESH_BINARY,11,2)cv2.imshow(‘thresh’,thresh)Ges=cv2.resize(thresh,(100,100))#图像的阈值处理(ostu)cv2.imshow(‘threshold1’,thresh)Ifpredict==True:#img=cv2.resize(thresh,(100,100))img=np.array(Ges).reshape(-1,100,100,1)/255prediction=p_model.predict(img)final_prediction=[result.argmax()forresultinprediction[0]]Ges_type=self.gesture[final_prediction]#print(ges_type)cv2.putText(rec,ges_type,(self.x1,self.y1),fontFace=cv2.FONT_HERSHEY_COMPLEX,fontScale=1,thickness=2,color=(0,0,255))cv2.imshow(‘Original’,rec)3.4本章小结本章主要介绍了关于手势检测的常用算法,以及所采用目标检测的算法代码。关于这一部分,本章节简述了利用帧间差分法进行手势检测及利用光流法和背景差分的检测方法。还介绍了再录制检测手势时所使用的具体步骤及代码。本文在进行手势检测上,先对手势进行图像处理,如灰度处理,滤波处理等,再进行分割图像,的到处分割出的收拾二值化图像,将采集到的图像进行特征提取,进而开始手势识别训练,识别出手势。第四章手势追踪4.1手势追踪基本方法基于运动估计的追踪算法,主要是通过输入的视频流中的图像序列上目标区域的运动信息实现对目标的跟踪效果。1981年,Hom和Schunck将目标灰度信息与二维空间下的速度场相结合,提出了光流方程。再实际的应用开发场景中,由于和环境噪声、物体遮挡、阴影、光照变化等环境因素的干扰,导致基于运动估计得追踪方法其结果并不十分准确,再加上这种方式的运算复杂度较高,使得该方法出现在实际生产场景中的机会并不多。基于图像特征的追踪算法,其目标时找到图像的特征点,将这一特征点进行处理后,这一点的运动便成为了整体的运动。其实,可以提供的特征点有很多,像图像的质心,中点或者是随便一个边缘点,都可以作为手势的特征点。再对这些特征点进行跟踪时,要保证所选的特征点具有不受环境影、抗干扰的功能。这种算法的有点在于,可以消除手势本身对于自身的干扰,像手势旋转,遮挡或其他因素所带来的形变,只要大致轮廓在,便可以追踪。4.2算法选择与实现在进行图像特征算法方面,主要介绍的时Camshift算法。该算法实际上需要图像颜色直方图信息,其实质是根据颜色特征进行追踪,主要是利用目标颜色来进行追踪。Camshift算法的思想是:将图像进行HSV色彩空间转换,再根据所得到的颜色直方图来绘制出图像的颜色概率分布图;根据所得的分布图来确定搜索窗口w,再求出窗口质心。计算公式为:重置w,使其宽为s=,长度为1.25。将w中心对准图像之心,如果阈值小于移动距离,则重复计算,知道求出阈值大于移动距离。一下为camshift算法的流程图:4.3实验与结果分析随着手势识别算法的不断成熟,技术的不断改进和完善,算法的准确性也得到了显著的提升,工业产品上得到了普遍应用,生活中手势识别的设备经常能够看到。本文从笔记本自带摄像头出发,利用摄像头作为输入的视频流,对包含0—5的手势进行动态识别。该系统是基Opencv+keras的实时手势识别系统,准确率约为96%。实验环境为python3.6+opencv+keras+numpy+PIL。在运行时,可以随时进行重置背景,确保背景干净,再进行录制模式时,按‘I’表示开始录制测试集。再每个手势训练集和测试集录制结束后,再按‘I’会录制下一个手势,直到有所收拾录制完成。得到模型后,会生成:模型结构图训练集和测试集的准确率和损失折线图测试集的混淆矩阵图.h5后缀的模型4.4本章小结本章主要介绍了几个常见的手势追踪算法,及其原理和思想。实际使用的是基于特征值的算法。以手的中心点作为特征值进行手势追踪,这个算法的好处是运算过程简单,不复杂,系统要求低,另外,算法可以很好的解决遮挡或变形的问题。结论与展望5.1结论随着科技的成熟,人工智能得到普及应用,基于手势识别的人机交互技术得到了良好的发展,也进入了人们的视野中,得到了广泛的关注。作为人们交流的语言之一,手势的应用是除口语外最直接,明了的沟通方式,继而成为计算机视觉领域的主要研究对象之一。本文主要研究了基于opencv技术,利用笔记本自带摄像头,实现了对手势追踪识别的技术。针对5个日常肢体语言的手势进行识别跟踪。期间对手势图像进行去噪,灰度处理等技术来提高手势识别图像效果,对于手势检测算法,进行了详细的测试与分析,并得出相应结论。本次实验,图像背景处理上没有得到最佳效果,图像干扰明显,还有待技术提升。当手势旋转或不同相位时,识别效果不佳;模板数量较少,可以适当再增加模板的数量。在识别算法上,还有待提高识别准确率,提高系统对于外界环境因素的自适应能力,加强在极限环境下的准确性,增加手势模板数量,使系统不再局限于个别手势,可以在web端或其他应用平台上开发进行功能的实现,使系统更加智能化。5.2展望本课题在收拾分割过程中,采用了otsu方法进行的肤色分割,像背景存在过多

温馨提示

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

评论

0/150

提交评论