项目介绍
代码介绍:
comment.py
用于生成对学生挥杆动作的评价语。realTime_Output.py
用于生成学生的成绩。realTime_run.py
用于实时录制视频并生成关键点。realTime_runVideo.py
用于将已录制好的视频输入系统并生成关键点。
简介:
本系统的主要目标是为高尔夫教练提供一个便捷的平台,帮助他们迅速准确地评估学生的挥杆动作,并提供评价与建议,从而提高教学效率。以下是该系统的主要功能:
- 即时录制视频:在球场上设置电脑和摄像头,记录学生进行的十次挥杆动作,系统将会对这些视频进行分析。
- 动作识别与评分:经过分析后,每段视频都会得到一个挥杆得分,供教练参考和评分使用。
- 评语生成:根据每位学生的挥杆动作特点及其得分,系统会生成相应的评价与建议。这些建议基于预先由高尔夫教练标注的动作评价,并通过ChatGPT进行上下文学习(in-context learning),以生成个性化的评语。
- 网页平台供教师查看:教练可以通过我们的网页平台查看每位学生的视频、成绩和评语。这不仅使教练能够快速了解学生的表演情况,还可用作一对一指导的参考依据。通过本系统,学生可以更清楚地认识到自己挥杆动作的优点与不足,并从教练的评语中获得有价值的建议。更重要的是,它为教练提供了一个高效、快捷的评分和提供建议的工具,让教练能够更加专注于教学本身,而不是繁琐的评分工作。
一、前言:
在现代科技迅速发展的时代,运用技术辅助教育已成为一种趋势。对于高尔夫这项对动作精确度有高要求的运动,教练往往需要花费大量时间逐一观察并指导学生。为了提高教学效率与质量,我们开发了“Golf AI Coach”系统。
二、创意描述:
传统的高尔夫教学过程中,在测试时,老师需要逐一观察学生的挥杆动作,并给出评分及建议。考虑到一位老师可能要负责多达四十名学生,这种方法不仅效率低下,还会浪费至少一两节课的时间在考试上。如果能够开发一个系统来帮助评分及生成评语,老师便可以腾出更多时间来教授新知识。同时,老师可以通过我们的网站轻松查看每位学生的挥杆动作及其对应的分数与评价,从而极大地提高了考试效率,也增强了学生的学习体验。
#因為圖片的原點在左上角,所以需要交換
def angle_clockwise(A, B):if A[0] == 0 or A[1] == 0 or B[0] == 0 or B[1] == 0:return -1if(abs(A[0]-B[0])+abs(A[1]-B[1])) < 1:return 0inner=inner_angle(A,B)det = determinant(A,B)if det<0: #this is a property of the det. If the det < 0 then B is clockwise of Areturn 360-innerelse: # if the det > 0 then A is immediately clockwise of Breturn innera = np.zeros(shape=70)
haveKeyPoint = np.zeros(shape=5)
sampleSwingVector = []path_to_Target = 'sample_data/'
# Target_json_files = [pos_json for pos_json in os.listdir(path_to_Target) if pos_json.endswith('.json')]
# for i in range(len(Target_json_files)):# sampleSwingVector.append(generateVector(path_to_Target+Target_json_files[i]))
三、系统功能简介:
本系统的主要目标是为高尔夫教练提供一个便捷的平台,帮助他们快速且准确地评估学生的挥杆动作,并提供评价与建议,从而提高教学效率。以下是该系统的主要功能:
- 实时录制视频:在球场上安装电脑及摄像头,录制学生的十次挥杆动作,系统将对视频进行分析。
- 动作识别与评分:经过分析后,每段视频将有一个挥杆分数记录,供老师参考与评分。
- 评语生成:根据每位学生的挥杆动作特点及得分情况,系统会生成相应的评价和建议。这些建议基于预先由高尔夫教练标注的挥杆动作评语,并通过ChatGPT进行上下文学习,以生成个性化的评价。
- 网页平台供老师查看:老师可以通过我们的网页平台查看每位学生的视频、成绩和评语。这不仅便于老师快速了解学生的表现,还可以作为一对一指导的参考。
通过本系统,学生可以更清楚地了解自己挥杆动作的优缺点,并从老师的评语中获得宝贵的建议。更重要的是,为老师提供了一个高效、快捷的评分和反馈工具,使他们能够更加专注于教学而非繁琐的评分工作。
四、系统特色:
- 简化评分流程:老师不再需要花费大量时间在评分上,从而节省了宝贵的教学时间。
- 快速生成改进意见:系统基于老师预先标注的评语,为每位学生提供个性化的改进建议。
- 评语经验证:我们的评语不是随机生成的,而是基于专业体育教练的标注评语进行训练和验证。这保证了生成的评语具有专业性和准确性。
- 统一评分标准:消除主观评分差异,确保每位学生都得到公平的评价。
五、系统开发工具与技术:
- 动作识别技术:在Python环境中,使用OpenPose进行动作识别,利用OpenPose技术捕捉学生挥杆时的关键点。结合这些特征,我们利用模型检测肢体连续动作,进行挥杆动作分析。
- 动作评分技术:系统根据OpenPose的输出结果,对比学生挥杆动作与标准动作,生成分数。
- 评语生成技术:基于体育教练预设的评语,系统根据OpenPose的输出结果生成与动作相对应的评语,并通过ChatGPT模型进行上下文学习,生成评语。
- 网页开发:我们使用HTML、CSS和JavaScript等技术制作了一个直观的网页平台,供教师观看学生的挥杆视频、成绩和评语。
六、系统使用对象:
适用于学校高尔夫课程的教师及学生。
七、系统使用环境:
适用于台式机、笔记本电脑、平板电脑和手机。
八、结语:
不仅为高尔夫教练提供了更高效的教学方式,也为学生提供了更快捷、更客观的反馈。将ChatGPT生成式AI与图像识别技术相结合,不仅提升了教学质量,还使教练与学生能够在有限的时间内达到最佳的学习效果。尽管目前仍存在一些不足之处,但我们相信随着技术进步和数据积累,未来潜力将更加光明。