kHome小程序内置提供的leagor_shoulder_neck.cfg对应的肩颈操。
相机放在人的正前方。高度上,桌面高度加上面放台笔记本电脑,相机就夹在屏幕上边沿,大概1米。总的来说,上面,得拍到双手直举时手腕;下面,差多快要拍到腰部。人的部分在图像不要太小,建议最低就到腰部。
{1-1}
动作脚本模块分三个阶段。一是用编辑器制做动作脚本文件。二是文件放到小程序,运行,用户跟着做操。三是可到数据看板,回看做操过程。
(分三行,大字叠加显示到视频)
一、制做脚本
要制做脚本,打开脚本编辑器。系统把一次做操拆分成多个状态,状态分两种:语音状态和姿态状态。姿态状态又分两种任务:计次和计时。
以俯卧撑为例,分三个状态。第一个是语音状态,播报“做操开始”。完成播报后,进入按次计数的姿态状态。
{1-2}
一次俯卧撑分两阶段:向下和向上。向下阶段,需要同时满足四个条件。1:身体平直度,即右肩、右髋、右膝3点形成的角度,按这里写的,要大于等于165。2:手臂伸直度,即右肩、右肘、右腕角度。3、右肩与右髋角度。4、右髋与右膝角度。四个条件同时满足,并持续800毫秒,向下结束,进入向上阶段。
向上阶段只判断身体平直和手臂伸直。两项持续200毫秒,向上结束,计数加1。
{1-3}
达到6次,结束当前的,进入已结束状态。在这状态,立即播报“俯卧撑已结束”,之后每10秒重复一次,不会自动结束。要结束的话,需用托盘命令切换到其他场景。
{1-4}
接下打开的脚本让可以跟着做这种肩颈操。
{1-5}
肩颈操分4个动作,但第3个动作分左和右,于是脚本中有个5个姿态状态。在每个状态,要求的是用户做出一种姿势持续20秒。因而用的是计时任务。这脚本不仅用于学习,还可直接跟练。通过对照实践,熟悉脚本参数的设置规则。
{1-6}
以下演示从空白创建一个三状态脚本。每个状态会有一个编号,总是从编号1开始执行,建议随流程递增。当需要插入状态时,可用交换编号功能。
{1-7}
受算法精度、光照、距离等因素影响,写姿态判断需要反复测试。为辅助测出合适值,可借用三种方法。
一、打开相机窗口,录屏。做操时左上角显示实时信息,通过回看录像,调整参数。
二、打开相机窗口,手机安装kdestkop app,远程连接电脑。手机靠近人,通过手机屏幕看实时信息。
{1-8}
三、结束后,看回放。一次做操后,会生成一个火柴人动作回放视频。在右侧,会显示当前姿态在匹配的动作脚本中,各项姿态判断所测得的数值。
在述说每一种时,左上角显示当前说是哪种
二、运行脚本
{2-1}
要运行,先把生成动作脚本放到小程序的wkoscript目录下。这里把小程序选定为官方提供的kHome。
接下进入kLink,让增加一个场景。小程序任务选择kHome的健身操,把脚本文件名赋值给输入变量file。然后设置易识别的名称和id。这时就可运行了。
在托盘的场景区,会出现刚增加场景。运行后,如果没看到脚本运行,可去“中心”查看,上面这报错原因是找不到指定文件或格式不对。
三、回放录像
{3-1}
进入“健康”,做过的健身操会出现在这里,前提是——必须完成该健身操首个姿态的动作要求,并保持超过30秒。
看板的首屏是一张时间轴图像,记录着精确到秒的运动过程。
肩颈操是计时任务,拆解为5个动作,图表会分别显示每一个动作的“总时长”、“满足姿态的时长”以及“不满足时长”。
俯卧撑是计次任务,图表会聚焦每一次“单次耗时”,并将每次动作拆解为“阶段1”与“阶段2”。什么是阶段、活跃期、冷却期,参考这文章。
一旦健身操结束,图像左下角会出现播放按钮。点击它,即可回放做操过程。回放时支持暂停、单帧向前或向后,并同步显示各项姿态判断所测得的数值。