从零到一:打造一款 AI 驱动的篮球集锦生成应用
📝 前言
2025年过去了,这一年里AI技术像坐火箭般的进步速度,让人叹为观止。我一直想着从身边场景出发,借助AI开发一个提升效率的工具。于是终于在 **yolo2026** ,**vibecoding** **篮球** 等元素的结合下,萌生了开发这个应用的想法。
为什么要做这个项目
因为我很喜欢打篮球每周都会去打篮球,同时还会带上我的大疆Action 5 录制篮球视频,每次录制完都会上传到B站上给他其他球友看。这个过程有几个问题:
1.就是录制的是4k的视频,2个小时的视频50多G每次剪辑和上传,整个过程需要1-2个小时
2.视频太长球友要看自己进球的视频,要在2个小时的视频内慢慢拖动看自己的进球片段。
所以为了解决手动剪辑篮球视频太耗时的问题,我就想借助 AI 来完成识别进球,并自动剪辑出每个进球片段,方便我快速上传集锦视频,造福一群的球友,哈哈😂!
技术选型的初步思考
首先是识别篮球和篮筐的 模型是用第三方的还是自己训练,
| 大公司的视频模型 | 使用yolo训练专属模型 | |
|---|---|---|
| 优点 | 省时,靠谱,稳定,准确率高 | 反正 vibecoding不用自己写代码,而且即将推出yolo26 据说功耗降低很多(就是因为这点我才想做这个应用,结果压根就还没出),而且我有mac pro 训练也是没问题的 |
| 缺点 | 太费钱了,钱乃万恶之本,太可恶了 | 难度稍高(本人只是做过web开发),费时,不稳定,训练服务器资源要求高 |
在确定使用yolo自己训练后我开始跟 我的产品经理- gemini3 pro 开始进行深入的沟通,在经过深入且严谨与粗鲁的沟通后,,他用yolo11 最终给我是输出了一个可行的训练脚本( train.pay 6.0 版本) `
最终训练的结果如下:
`
百分之90的图片都能识别出篮球和篮筐,也就是目前来说对我这个固定机位拍摄的视频,几乎是够用了。下面就是要进行篮球进球的识别逻辑开发。
数据标注
对了 在开始训练之前我们还要去生成训练数据,因为我要针对我的场景去做数据标注,AI 就推荐我用 Label studio 这个开源的图片标注工具进行标注,目前为止我标注了300 多张图片,人工搞这个真的太累了😭。
重头戏之进球识别
这个最关键的进球检测,AI 给我提供了很多严谨且复杂的检测方法,例如
-
轨迹预测法
1. 使用目标跟踪(DeepSORT/ByteTrack)
1. 记录球的历史位置点
1. 拟合抛物线轨迹
1. 判断轨迹是否穿过篮筐中心
-
三阶段区域判定法
1. **高位区检测**:球在篮筐上方
1. **触框检测**:球接触篮筐
1. **进球区检测**:球穿过篮筐下方
1. **时间窗口验证**:2.5秒内完成上述流程
-
状态机判定法
1. **空闲状态**:球在场地其他位置
1. **接近篮筐**:球向篮筐移动
1. **上升阶段**:球在上升(投篮)
1. **下降阶段**:球在下降
1. **穿筐状态**:球穿过篮筐平面
1. **进球确认**:完成穿筐且在篮筐范围内
在这三个方案,AI 依次给出代码进行测试,最后稀里哗啦一顿操作下来,发现效果最好的是三阶段区域判定法 ,最适合我的视频。哈哈 代码如下:
测试结果:
2 小时的视频的剪辑 剪辑出40分钟的进球集锦,耗时一个多小时,准确率在百分之90 以上, 在经过上面一顿操作之后,这个应用的核心功能就基本做完了,剪辑效果也满足我的基本使用。
APP封装
考虑到以后用手机录制也要可以自动剪辑,我就打算把模型放到 手机端进行推理,实现进球的剪辑。
接着又是一顿vibe coding,使用flutter根据已有的推理逻辑 做成了下面这个效果的App。
ps:画面感觉有点丑,哈哈!!!
从目前使用的效果来看,有几点需要优化的
- flutter 加载视频帧很慢总是要卡很久才加载完全部帧 2.页面调整总是会稍微卡顿一下
- flutter 完全比不上ios 原生,需要对比,找下问题所在
写在最后
不得不再次感叹AI编程 的进步神速,让我们可以在不懂某个编程技术的前提下,去实现自己的想法。也就是说我们这些做技术的会越来越不值钱,值钱的是那些天马行空的创意。所以新的一年我也希望能够每月做出一款应用。不断享受AI 进步带来的便利,干中学,增强自己的vibe Coding 的能力,希望与大家共勉!上面如果有感兴趣或哪里做的不好,希望大家多提提意见!
最后:珍惜当下的点滴幸福,真正的幸福其实在技术之外!