当前位置:网站首页>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/
边栏推荐
- redis
- 【面试:并发篇39:多线程:线程池】ThreadPoolExecutor类-提交、停止
- Microsoft Azure & NVIDIA IoT 开发者季 I|Azure IoT & NVIDIA Jetson 开发基础
- network basic learning
- How programmers learn open source projects, this article tells you
- STM32个人笔记-程序跑飞
- Introduction to ADAS
- 获取页面数据的方法
- Yang Hui Triangle (C language implementation)
- Taobao commodity details and details on taobao, senior upgrade version of the API
猜你喜欢
随机推荐
mysql login in cmd and basic operations of database and table
可视化——Superset安装与部署
Node's traditional and advanced practices for formatting time (moment)
YOLOv7-Pose尝鲜,基于YOLOv7的关键点模型测评
redis
网络基础学习
Pod environment variables and initContainer
Redis middleware (from building to refuse pit)
node 格式化时间的传统做法与高级做法(moment)
灵魂发问:MySQL是如何解决幻读的?
安装GBase 8c数据库的时候,报错显示“Resource,如何解决?
获取页面数据的方法
ASP.NET Core 6 Framework Revealing Instance Demonstration [30]: Develop REST API with Routing
Optimal dazzle Oracle database support what kinds of type of the time and date
优炫数据库支持Oracle哪几种时间及日期类型
STM32个人笔记-程序跑飞
网络个各种协议
常见的API安全缺陷有哪些?
C语言小游戏——扫雷
堆内存的介绍及应用(含例子)


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





