从零到一:Vibe Coding一款 AI 驱动的篮球集锦生成应用

120 阅读5分钟

从零到一:打造一款 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 版本) `

最终训练的结果如下:

image.png

image.png ` 百分之90的图片都能识别出篮球和篮筐,也就是目前来说对我这个固定机位拍摄的视频,几乎是够用了。下面就是要进行篮球进球的识别逻辑开发。

数据标注

对了 在开始训练之前我们还要去生成训练数据,因为我要针对我的场景去做数据标注,AI 就推荐我用 Label studio 这个开源的图片标注工具进行标注,目前为止我标注了300 多张图片,人工搞这个真的太累了😭。

image.png

重头戏之进球识别

这个最关键的进球检测,AI 给我提供了很多严谨且复杂的检测方法,例如

  1. 轨迹预测法

1.  使用目标跟踪(DeepSORT/ByteTrack1.  记录球的历史位置点
1.  拟合抛物线轨迹
1.  判断轨迹是否穿过篮筐中心
  1. 三阶段区域判定法

1.  **高位区检测**:球在篮筐上方
1.  **触框检测**:球接触篮筐
1.  **进球区检测**:球穿过篮筐下方
1.  **时间窗口验证**:2.5秒内完成上述流程
  1. 状态机判定法

1.  **空闲状态**:球在场地其他位置
1.  **接近篮筐**:球向篮筐移动
1.  **上升阶段**:球在上升(投篮)
1.  **下降阶段**:球在下降
1.  **穿筐状态**:球穿过篮筐平面
1.  **进球确认**:完成穿筐且在篮筐范围内

在这三个方案,AI 依次给出代码进行测试,最后稀里哗啦一顿操作下来,发现效果最好的是三阶段区域判定法 ,最适合我的视频。哈哈 代码如下:

测试结果:

2 小时的视频的剪辑 剪辑出40分钟的进球集锦,耗时一个多小时,准确率在百分之90 以上, 在经过上面一顿操作之后,这个应用的核心功能就基本做完了,剪辑效果也满足我的基本使用。

APP封装

考虑到以后用手机录制也要可以自动剪辑,我就打算把模型放到 手机端进行推理,实现进球的剪辑。 接着又是一顿vibe coding,使用flutter根据已有的推理逻辑 做成了下面这个效果的App。 ps:画面感觉有点丑,哈哈!!! copy_63B62B89-95FC-4B10-A06F-2DF4C534D20F.gif

从目前使用的效果来看,有几点需要优化的

  1. flutter 加载视频帧很慢总是要卡很久才加载完全部帧 2.页面调整总是会稍微卡顿一下
  2. flutter 完全比不上ios 原生,需要对比,找下问题所在

写在最后

不得不再次感叹AI编程 的进步神速,让我们可以在不懂某个编程技术的前提下,去实现自己的想法。也就是说我们这些做技术的会越来越不值钱,值钱的是那些天马行空的创意。所以新的一年我也希望能够每月做出一款应用。不断享受AI 进步带来的便利,干中学,增强自己的vibe Coding 的能力,希望与大家共勉!上面如果有感兴趣或哪里做的不好,希望大家多提提意见!

最后:珍惜当下的点滴幸福,真正的幸福其实在技术之外!