在PC上工作时,我的姿势逐渐变差。我使用M5StickV开发了“不良姿势检测器”,它可以用声音和LED提醒。
主功能
- 如果M5StickV检测到不良姿势,通过点亮LED和播放声音提醒“您的姿势可能不好”。
间隔捕获应用要收集数据集,请首先编写M5StickV的间隔捕获应用程序。(请检查我的存储库)
从MobileNet转移学习为了学习,我所用的传送学习从MobileNet。MobileNet可以每个检测到的相似的图像图案进行分类。在这个项目中,我设定了3个班级
- 不良姿势:低着头靠背的姿势
- 良好姿势:向后伸展的良好姿势
- 缺席:不坐在椅子上
首先将相机设置在我办公桌的上方位置,但该数据不正确,无法将“好姿势”和“坏姿势”分类。
较高的数据集显示,这些是相似的,因此无法分类。
摄像机上方位置不良姿势的数据样本
来自上位相机位置的姿势良好的数据样本
我反复调整相机位置,最后找到最佳位置。
相机的最佳位置
从最佳位置来看,“不良姿势”数据与“良好姿势”数据并不相似。姿势良好的图像几乎不包括面部,姿势不良的图像几乎不反映在面部。
来自最佳相机位置的不良姿势数据样本
来自最佳相机位置的姿势良好的数据样本
查看混淆矩阵,每个姿势都有明显的差异,因此我们决定使用以此数据集创建的模型。
混淆矩阵结果在此视频中,您可以看到姿势不好时可以通过语音和LED通知您。我做完之后发现了什么
- 即使衣服不同也能识别。出乎意料的是,我认为转换为灰度图像是没有用的,但是数据集:黑色衣服,推断:即使是浅蓝色衬衫也能毫无问题地识别出它
- 他们甚至在这个地方也认识我(在学习时:公司席位,在推理时:在家)。靠背的高度和颜色略有不同,背景也有所不同,但仍然没有问题
- 制作数据集时,我觉得最后只能将脸识别为“不良姿势=脸”,但是即使未包括所有意外的脸(下巴和嘴角也可以看到)。已正确分类(另请参见视频)