当前位置:网站首页>AI篮球裁判火了,走步算得特别准,就问哈登慌不慌
AI篮球裁判火了,走步算得特别准,就问哈登慌不慌
2022-08-01 09:34:00 【QbitAl】
Alex 发自 凹非寺
量子位 | 公众号 QbitAI
打篮球的友友们应该知道,走步是比赛中最常见的违规之一。

为了更好地监测篮球比赛中球员是否出现走步行为,一位网名叫@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/
边栏推荐
- 将Servlet项目改为SSM项目
- Three chess (C language implementation)
- 毕业论文写作技巧
- 对于小应用来讲,使用哪款数据库比较好?
- SkiaSharp 之 WPF 自绘 五环弹动球(案例版)
- How to ensure the consistency of database and cache data?
- [Software Architecture Mode] The difference between MVVM mode and MVC mode
- UXDB如何返回当前数据库所有表的记录数?
- How does UXDB return the number of records for all tables in the current database?
- 消息队列面试题(2022最新整理)
猜你喜欢
随机推荐
experiment....
笔记。。。。
Quantify daily work metrics
使用ESP32驱动QMA7981读取三轴加速度(带例程)
Yang Hui Triangle (C language implementation)
Optimal dazzle Oracle database support what kinds of type of the time and date
How to ensure the consistency of database and cache data?
消息队列面试题(2022最新整理)
node 格式化时间的传统做法与高级做法(moment)
ASP.NET Core 6框架揭秘实例演示[30]:利用路由开发REST API
50.【动态二维数组的运用】
C语言小游戏——扫雷
HoloView -- Tabular Datasets
Explain / Desc 执行计划分析
Get the Token from the revised version of Qubutu Bed
高级驾驶辅助系统ADAS简介
朴素贝叶斯--学习笔记--基本原理及代码实现
sqlserver怎么查询一张表中同人员的交叉日期
Microsoft Azure & NVIDIA IoT 开发者季 I|Azure IoT & NVIDIA Jetson 开发基础
HoloView -- Tabular Datasets





![ASP.NET Core 6框架揭秘实例演示[30]:利用路由开发REST API](/img/b3/0167c22f14b97eb0206696495af7b5.png)


