从零开始用scratch做潜艇大挑战-9.scratch版视频侦
大家好,我是苏小糖苏老师。我们继续从零开始用scratch做潜艇大挑战。这次我们进行第9节,scratch版视频侦测。在上一节里面,我们很开心的调用了posenet扩展插件,很容易的实现了面部关键部位坐标的获取。那么仅仅使用原版scratch的视频侦测,可以吗?我们来试一试吧。
从零开始scratch做潜艇挑战-9.scratch视频侦测_腾讯视频
1视频侦测功能的研究
本次,我们重点研究了相对于舞台的方向,以及相对于舞台的运动。
相对于舞台的方向。指的是视频物体和舞台之间的一个相对运动。在scratch里面方向的表征使用的不是0到360度,而是-180到180度。所以这里呢,我们从视频侦测里面得到的也是-180到180的一个度数。
相对于舞台的运动。指的是视频物体运动距离的一个表征。运动越剧烈,数值越大,运动越轻微,数值越小。但是这个是一个正数值,不存在负数的情况。
基于上面的这些分析,我们虽然不能精确定位面部鼻子的坐标,但是我们可以去判断视频物体的运动趋势以及剧烈程度。
2降低上下移动方向的干扰
如果让相对于舞台的运动方向用变量的方式显示出来,就会发现这个数字的抖动非常的大,大到你甚至都找不出它的规律。所以我们要尽量去消除抖动带给我们的影响。
于是我们吧-180到180 分割成了两大块区域。第一,负50度到正50度,这个正上方的扇形区域,当采集数据落在这里,认为是想往上走。第二,由负130到负180区间,和正130到正180组成的正下方扇形区域。同样当数据落在这里的时候认为是想往下走。
至于对圆形分割以后剩下的区域,就认为它是干扰区域,不做处理。
3降低相对运动的幅度
这里介绍一个数据处理的方法。尤其是在做电路数据采集处理的时候,很小很小的信号,我们需要通过放大到可观测范围,去研究它。很大的信号可以通过衰减到合适范围再去研究。
那么在这个地方,视频采集得到的移动数据,可能会比较大。会造成潜艇上下大幅度移动。那么可以乘上一个衰减系数或者除以一个数字,让这个运动幅度降低下来。当到达了一个可控范围的时候就可以了。移动幅度太大太小都会影响游戏的体验。
好的,多谢各位来捧场。你也快一起来制作一个潜艇大挑战吧。
前情回顾:
从零开始用scratch做潜艇大挑战-8.codelab版面部识别
从零开始用scratch做潜艇大挑战-7.完成按键版潜艇大挑战
从零开始用scratch做潜艇大挑战-6.障碍物克隆体不消失