毕设:基于yolov5的手势识别与应用-项目概况

       科技以造福人类为本,构成我们庞大社会的不只有四肢健全,感知正常的普通百姓,更有许许多多身体条件有缺陷的残疾人,为这类朋友们造福也是科学研发的重中之重。手语是聋哑人士的主要沟通工具,但没有学过手语的一般人很难明白手语的含义,造成了沟通困难。

        为了解决这个问题,我们设计实现了一个基于yolov5与OpenCv的手语手势识别系统。

手语手势识别系统的构建大体可以分为四个流程:手语关键帧获取,训练数据集制作,手语手势识别模型训练,制作前端展示窗口。

        手语关键帧获取模块提取了关键帧动作样式图片之后,参照关键帧动作进行训练素材图像的拍摄,亲自拍摄了700张左右的手语手势图像作为原始数据集,然后进行目标标注。标注好的数据集由手势识别模型训练模块进行调用,训练出手势识别模型,最后前端展示窗口通过调用预测代码,实现图片文件内容识别、视频文件内容识别、摄像头实时识别三类识别功能。

  1. 手语关键帧获取。——由于本人能力有限,无法实现对一系列动作的含义进行识别,所以转而另辟蹊径,对一系列动作中包含具体含义的动作进行识别。故使用两间差分法获取视频中的关键帧保存。
  2. 训练素材采集。——训练出来的模型识别效果好坏与训练素材的质量息息相关。官方最佳素材要求在每类素材1500张左右,但由于是个人项目,处理如此数量的素材实在不是本人能做到的,故缩减了素材数量。但为了保证训练结果的质量,本人选择尽可能的增加素材的多样性。每类动作素材包括:光照条件:明、暗;背景条件:纯色背景,复杂环境背景;素材拍摄人:两人。每种条件组合起来共8组,每组5张图片,共计每个动作40张图片的素材。
  3. 训练素材处理。——想要让计算机学会识别一样东西,首先就要告诉计算机一张图里哪个部分是它要学会识别的东西。训练素材处理这个环节最重要的就是标注部分,本人使用LabelImg对采集到的素材进行标注,尽可能的框选识别主体,减少其他无关因素可以使得识别率有所提升。然后就是训练素材格式转换部分,训练素材一开始采用VOC格式存储,其中包括素材原图与经过标注后生成的xml描述文件。之后需要将素材分为训练集与验证集,调整训练集与验证集的比例也会对识别率有所影响。训练素材处理的最后一个步骤是将VOC索引转换为yolo索引供后边训练使用。
  4. 手语手势识别训练。——这是整个系统的核心部分,训练模型质量的好坏决定了识别能力的高低。本系统采用的深度学习目标检测网络是yolov5。这一步的关键在于优化素材质量和算法参数,以及选择合适的网络模型使得准确率达到75%以上,才可以达到预期的功能实现需求。
  5. 手语手势识别预测。——由于采用的目标检测网络,没有姿态估计,对于手势这种比较注重细节区别的识别能力不够高,与此同时又因为不同手势之间有不少特征是相似的。所以时常会出现一个动作同时识别出多种不同的结果,或是一种结果会同时对应上多种不同的动作的情况。所以需要调整相关参数,对低置信度的结果进行过滤,保证一种动作对应它相关的正确结果。
  6. 前端窗口展示。——本系统将采取PyQt5进行可视化界面窗口的搭建。预计设计三种功能:图片内容识别,视频内容识别,实时录制内容识别。分别为三种功能设计界面。

以上便是我的毕设的项目概况,以及实现设计的基础流程。

最终成果展示:

图片内容检测:

毕设:基于yolov5的手势识别与应用-项目概况_第1张图片

 视频内容检测:

毕设:基于yolov5的手势识别与应用-项目概况_第2张图片

 摄像头实时检测:

毕设:基于yolov5的手势识别与应用-项目概况_第3张图片

 

你可能感兴趣的:(计算机视觉,人工智能)