使用手机摄像头的自动射箭计分系统
背景:我从大学一年级起就开始练习射箭。我以为我会不确定我要为最后一年的项目做什么(我不确定生活中的大部分事情)。但现在它变得更加清晰了——我将开发一个便携式应用程序,可以使用手机摄像头对射箭目标进行评分,而不是我们现在使用的需要手动将分数输入到应用程序的方法。
我正在和我的导师、大学的 Michael Madden 教授一起做这个项目。
这组博客文章包含了我的开发进度以及我的 FYP 会议之间的一些电子邮件通信。
2022 年 10 月 14 日,邮寄给迈克尔:
以下是自从我们上次见面以来我所做的事情:
10 月 14 日:
五年计划名单发出后与迈克尔教授的第一次会面。
在 Google 学者上搜索基于 ML 的射箭评分方法,首页结果是关于使用机器学习根据他们的身体表现选择潜在的射手。
搜索基于 ML 的图像处理,或者什么时候在图像处理领域使用机器学习比较好。
https://nanonets.com/blog/machine-learning-image-processing/
以下是我们今天会议上讨论的内容:
- 文学和一般:
将搜索范围扩大到例如飞镖和枪支
搜索那些 CNN 和其他深度神经网络。
反思会议——在会议之前制定目标并做笔记——主动学习。
文献回顾,然后了解所使用的高级技术。
– 技术:
两种方法:
- 纯深度学习数据驱动方法:获取大量射箭图像并对其进行注释。
- 我们是在箭头周围画框,还是在箭头的尖端画 X 标记?
- 我们使用坐标还是仅使用环号?如果我们去坐标,使用(0,0)作为靶心?
- 工具包:深度学习不是 OpenCV 任务
- Tensor flow + scikit 等组合,还有更多专用的深度学习包。
- 经典的简历方法:
- 找到圆,然后找到中心,计算并校正要变换的图像。去歪斜图像。这主要在莱顿大学论文中得到解释。
也许使用 OpenCV 进行预处理,然后使用 TensorFlow 进行深度学习。
K 最近邻不适用,因为它不适合图像数据(它们是多维的)。
迈克尔的一些修正
kNN 能够处理多维数据,就像所有 ML 算法一样。问题是图像数据是非常高维的,如果每个像素都被视为一个输入维度,并且卷积神经网络和其他相关的深度学习方法由于它们的偏差/假设而更适合处理非常高维的输入。另一方面,如果您使用经典的计算机视觉方法进行特征提取以提取相对少量的高级特征,则可以将这些作为 kNN 的输入。
AR 工具,使用视频源生成模型。
机器学习步骤:收集、训练、部署。 — AR 套件可用于收集和注释零件。
机器学习中的一种技术(深度学习?): 数据增强:例如翻转目标、旋转、调整亮度和对比度以生成更多训练数据。可能在视频中使用单独的帧来做到这一点?
这是我接下来要做的事情:
在其他目标运动或类似图像任务中搜索更多相关作品。
开始学习一些常见的深度学习包及其工作原理。