员工姓名:杨昊安东
班班级级:交控2020-01班
指导教师:李李敏敏
毕设题目:基于深度学习的士兵动态典型手势识别算法研究
一、概况
1.选题意义
随着科学技术的飞速更新,我们正迎来信息智能时代的全新篇章。在这个时代,计算机技术的迅猛发展与大范围应用,使得人机交互方式备受期待,并成为研究的热点话题之一。非语言交流在人际沟通中占据重要地位,其中通过身体姿势、手势和面部表情进行的交流构成了大部分交流的内容。手势,作为最常见的人机交互形式之一,不仅包含特定的语言内容,还传递一般的情绪状态。手势的直观性使其在手语和人机交互系统中得到广泛应用,但由于手势的多样性和在时间与空间上的差异,手势识别成为了一个复杂的研究课题。
尽管手势识别研究面临复杂性挑战,但近年来在关键技术点上取得的巨大突破使得手势识别技术在应用范围上不断扩大。借助传感器与红外摄像头的结合,图像识别技术能够优秀地识别手势动作,使人们能够无需通过触屏即可完成人机信息交互。手势感应已经广泛应用于医疗、工业、交通等多个领域,成为当今时代不可或缺的一部分。
然而,在实际运用中,手势通常处于复杂的背景因素下,例如光线较暗、测试与设备的距离不同等。这为手势识别提出了新的挑战,需要研究者进一步调查和解决。尽管已经有了广泛的应用,手势识别技术在军事战术场景中的应用仍然相对较少,但其潜在应用前景巨大。例如,通过士兵动态典型手势识别,可以实现远程的军事信息传递和协助军事战术训练,解决士兵在行军作战时无法发声的沟通问题,成为当前全球关注的重要课题。
手势识别技术的发展前景不仅符合时代趋势,而且在全球手势识别与传感器市场呈现逐年上升的趋势,预计在2028年将达到3752.49亿元。科技巨头如苹果、谷歌、微软等纷纷投资手势识别技术的研发与改善,其中苹果的头戴式VR机器Vision Pro更是被视为未来设备的可能替代品。该设备采用眼球追踪和手势识别实现对设备的精准操控,突显手势识别技术在人机交互中的重要性。
虽然手势识别已经广泛应用于多个领域,但其目前仍然面临挑战。基于数据手套和基于视觉的两种识别方式是当前主要研究方向。数据手套在高精度和方便获取数据方面表现出色,但其成本昂贵且在使用过程中可能存在交互方式上的冲突。相比之下,基于视觉的手势识别方法利用传感器获取手势信息,具有自然性强、成本低的优势,逐渐在人工智能、图像处理等领域受到青睐。因此,深入探究基于视觉的手势识别方法不仅具有理论价值,更具有实践意义。
总的来说,士兵动态典型手势识别的研究不仅满足人机交互领域的需求,也为军事战术场景提供了创新的解决方案。随着手势识别技术的深入研究,我们有望解决军事作战中士兵人机沟通的协同问题,为国防安全和军事训练带来新的可能性。
2.任务分解
(1)初步准备:下载相关软件,购买或租用相关硬件,学习python以及pytorch语言语法、常用函数以及开发库,初步了解Unity, Kinect基础部分的操作方法与功能。
(2)文献阅读:阅读Unity以及Kinect的相关开发文档,深入了解硬件要求、环境配置、常用相关函数的使用方法及原理等方面的内容,为软件开发打下基础。阅读Kinect手势开发、手势识别深度学习算法及实现、军事手势相关相关的论文文献,确定开发流程,选择手势需要识别的动作对象(5个动作以上)以及深度学习算法(特别是手势识别相关)的原理学习和选择。
(3)算法及执行程序编写:根据算法以及硬件原理,编写手势识别深度学习的相关算法程序以及执行脚本。
(4)视频数据集建立:无公开军事手势数据集,自行拍摄视频并剪辑,仿照公开数据集格式建立训练用军事手势数据集。
(5)算法应用实现:定义目标效果及其对应参数,利用写好的深度学习算法,根据建模动画以及硬件信息,输入学习资料进行学习,不断学习使其达到预期值,实现手势识别。
(6)毕业论文撰写:撰写毕业论文,详细描述软件以及算法设计与实现过程及效果。
二、已完成工作
(1)明确了研究背景,确定了研究对象(精选六种常用军事手势:单队列、趴下、前进、危险、掩护和隐蔽)以及算法(C3D改进算法)。
(2)配置Kinect开发环境,以及对设备进行了矫正与标定。
(3)Pytorch环境配置,pytorch开发学习,深度学习算法(特别是视频识别算法)学习与研究
(4)C3D相关算法论文深度研究,编写了相关实现代码,并在常用的UCF-101数据集上完成了算法模型的训练、测试、验证以及调优。
(5)完成了部分军事手势数据集的构建。
三、下一步工作计划
(1) 2024年4月16日前完成军事手势数据集的建立。
(2) 2024年4月23日前完成算法的细节优化以及算法在军事手势数据集下的训练测试以及验证。
(3) 2024年5月6日前完成毕业设计论文的初稿撰写。
(4) 2024年5月20日之前完成毕业设计论文终稿。
(5) 2024年5月23日前评阅及答辩提交论文,准备答辩材料,参加毕业答辩。
问题一:你在目前遇到的最大的困难是什么?怎么解决的?
回答:我遇到的问题是在算法模型代码训练过程中,遇到了acc一直很低且loss一直居高不下,识别错误率很高,与原算法论文严重不符。在好几天的debug以及查阅开源社区资料后发现问题是1.初始学习率过高且学习率梯度下降幅度不够。2.在读取视频文件与视频标签时出现部分错位。3.在对之前保存的模型继续训练时,一部分数据会跑到CPU上处理导致与大部分GPU处理的数据不同步。针对上述问题对代码进行重写以后问题得以解决,并得到了非常好的训练结果。
解决前效果 解决后效果
问题二:为什么采用C3D算法而不是其他算法?
回答:C3D算法的最大优势在于其能够有效地捕捉并分析视频数据中的时间序列信息。并且C3D算法还有很强的泛化能力;不需要特征提取;在达到超过80%识别率的情况下训练时间最短,推理速度最快,硬件成本最低。
在老员工涯的尾声,毕业设计中期答辩成为了一个重要的里程碑。这不仅是对我过去半学期工作的总结,更是一次深刻的自我反思与学习的过程。通过这次中期答辩,我得以静下心来,回顾和思考在这段时间里的成长与收获。
中期答辩让我意识到了自己在实践中所运用的大学知识。在过去的半学期中,我将课堂上学到的理论知识与实际问题相结合,不断探索和尝试。我学会了如何运用学习的专业知识来分析问题、设计方案,并通过实验和数据分析来验证我的方案。这一过程不仅加深了我对专业知识的理解,也锻炼了我的实践能力和创新思维。
答辩过程中的困难和挑战也是我宝贵的学习经历。在设计过程中,我遇到了数据收集、模型构建、结果分析等多方面的难题。面对这些问题,我学会了主动寻求帮助,与导师和同学们进行深入交流,共同探讨解决方案。通过这些努力,我不仅解决了眼前的困难,也为自己的研究工作积累了宝贵的经验。
此外,中期答辩还帮助我对未来的工作进行了更为细致的规划。在答辩中,我对自己的毕业设计进行了全面的梳理,明确了接下来的研究方向和计划。我认识到,要想在毕业设计中取得好成绩,不仅需要扎实的专业知识,还需要良好的时间管理和计划执行能力。因此,我制定了更为明确的时间表和研究计划,确保在接下来的工作中能够有条不紊地进行。
中期答辩也是一次宝贵的自我展示机会。通过这次答辩,我学会了如何清晰、有逻辑地表达自己的观点和研究成果。这不仅提升了我的沟通能力,也增强了我的自信心。我相信,这些技能在未来的学术研究和职业生涯中都将发挥重要作用。
本科毕业设计中期答辩是一次难得的学习和成长机会。它不仅让我总结了过去,更为未来指明了方向。我将珍惜这次经历,继续努力,以期在毕业设计中取得优异的成绩,为自己的老员工涯画上一个完美的句号。