打篮球的友友们应该知道,走步是比赛中最常见的违规之一。
为了更好地监测篮球比赛中球员是否出现走步行为,一位网名叫@Ayush Pai的小哥(我们就叫他AP哥吧)搞出了一个AI裁判。
如你所见,计算机时刻“盯着”打篮球的人,并且立马能判断出这个人是否走步了。
这个AI篮球裁判很快吸引了一批网友前来围观。
有人调侃道,如果NBA用了该AI裁判,他们就完了。(因为NBA裁判有时候不吹走步)
也有人说,这个AI看起来对规范小孩子打篮球很有帮助。
还有位大聪明建议AP哥再设计一个奥斯卡奖的失误检测AI。(Doge)
所以话说回来,这个AI裁判是怎么具备如此“火眼金睛”的呢?
你可能已经猜到了,这个AI裁判就是主要基于计算机视觉(CV)创造出来的。
该AI主要跟踪两个东西:球的运动轨迹和人的步数。
为了达此目的,首先将检测运球的时间。
首先,AP哥编写了一套CV算法来检测球的弹跳情况,将摄像机的视图流化,即:按顺序提取视频帧。
然后,AP哥创建了一个Aegis v图片颜色掩码,来识别并筛选出篮球的颜色。
在计算机后台程序中,篮球显示为白色,而其其他和篮球不同色的物体都呈现为黑色;因为只有球被识别出并被放在遮罩中。
不过,干扰色彩导致篮球周围出现了一些不规则的像素块,为了优化这个问题,AP哥删除了一些后处理代码,并且在球周围做了一个圆,使其看起来更规整。
为了更好地跟踪篮球弹跳情况,AP哥测出了其半径,根据球的半径和中心点得出的一个顶点,然后用抛物线函数来表示球的运动轨迹。当顶点达到最小值时,说明篮球触地了。
搞定篮球识别问题后,下面还要计数人在运球过程中走了几步。
AP哥起初认为使用苹果手表上现成的步数计数器就行,不过事实证明他太天真了——
苹果手表上的计步器并不能实时更新。
所以AP哥干脆自己动手,设计出一个实时计数的计步器。
他创建了一个安卓应用程序,根据x、y、z三个轴上的加速度检测并计数步数,并将这些数据反馈给Python程序。
最后,将监测球运动轨迹和步数的两个数据集结合起来,即可判断出人是否出现走步行为。
不过,目前这个AI裁判还不够“完美”,有网友指出,这个AI貌似识别不到现在NBA里当今盛行的gather step(哈登应该比较熟悉这个)。
对此,AP哥表示,他之后将为其加上这个功能。
你是否看好这个AI篮球裁判?对了,AP哥已其算法开源在GitHub上了,感兴趣的伙伴们可以去看看~
传送门:
https://github.com/ayushpai/Basketball-Detector
参考链接:
[1]
https://www.youtube.com/watch?v=3UeoKxw8UYs
[2]
https://www.reddit.com/r/MachineLearning/comments/wbwkwb/i_created_a_cvbased_automated_basketball_referee_p/
“