让 AI 看视频,先把画面拼起来
KOMA 是我做的视频分析工具。它背后有一段参加公司 AI Hackathon 的经历:试着用 AI 做点东西,再拿去比赛。说是团队,其实就我俩,算是合伙人吧,哈哈。那次确实学到了很多。
刚开始,我俩就是随便选了个议题,也不太确定视频分析这玩意到底有没有用。反正感觉挺好玩,那就搞起。而且还能光明正大上班刷视频,太棒了(
把很多张画面拼在一起
当时直接用视觉语言模型分析视频,要等很久。视觉语言模型,就是能同时看图和读文字的模型。把视频抽成一张张图片,再逐张分析,也慢,还花钱。
我们在比赛里做过一个提速办法:把抽出来的画面拼成网格,一次交给模型。原来分开的多张图片,现在放在一张图里,它可以一起看。
这样也方便调试。模型说了什么,旁边摊着它看到的画面,人能一起检查。哪些画面重复了,前后是不是漏掉了一段,看合图比一张张翻过去直观得多。
合图方法的示意,不是比赛视频截图;六格也不代表当时的固定参数。
订单号一闪而过,怎么办
抽哪些画面、每张放多大,得看想从视频里找什么。
比如,假设客户发来一段操作视频,想让我们看看哪里出了问题。操作过程中打开了订单详情,订单编号只闪过一下,接着就跳到了别的页面。这时除了看他点了哪个按钮,也可能需要记下是哪笔订单。
如果抽帧刚好跳过了那一下,拼出来的图里就没有订单号。视频里明明有,模型却没见到,后面再怎么问也没用。得先回到原片,找到订单详情出现的那一段。
多抽一些画面,漏掉的机会会小一点,但图也会越积越多。全部塞进同一张固定大小的图,每个格子就变小了。模型可能看得出打开了订单页面,订单号那一行却已经小得读不清。这时把那一帧单独拿出来,保留大一点的图,比继续往网格里塞画面更有用。
还有一种情况:这一帧抽到了,字也够清楚,模型还是读错了一个数字。所以答案不对时,得对着图看一眼:是没拍进来、缩小以后看不清,还是看到了也认错了?这几种情况,光改提问方式不一定能解决。
按固定间隔抽帧,容易把画面铺满整条视频,却不保证刚好抽到订单详情。按画面变化挑帧,也未必能抓住只变动一小块的编号。可以先找大概位置,再把那一段抽得密一点。这是可以继续试的办法,会多一些处理和等待。
狗穿了人的衣服,模型就看错了
不同模型的差别也很大。为了看分析结果,我上班时看了很多抽象搞笑视频,有的真的把我笑死。
我记得有一段,主人给狗穿了人类的衣服,狗在地上跑。有的模型却看成了一个人在扮狗。
这段视频本身已经够好笑,模型又给它加了一层误会。不过,仅凭这个结果,没法确定它到底在哪一步弄错了。能确定的是:模型给出了一段说得通的描述,却没有说对画面里是什么。
现在的 KOMA (opens in a new tab) 是一个可以自行部署的网站,结合抽取的画面和听写文字整理视频。输入支持上传文件和可下载的 MP4 直链。这是现在的实现,不等于比赛时这些功能就已经全部做好了。
做出来以后,才知道有人需要
比赛还挺激烈的,记得有几百支队伍报名。也有报名后没做完放弃的,不过大部分都做完了,大家做得多认真我不好说。最后我们拿到了比较好的名次,名次也不能说明全部,但还是开心了一阵,还有经费可以吃吃喝喝。
比赛也让我认识了更多别的部门的同事。起初觉得无所谓、随手做着玩的视频分析,原来真的有同事需要。聊起来以后,就有了合作的机会,也有了把它变成 KPI 的机会。
有时候会想,世界其实也是个草台班子?那自己也可以勇敢一点,当 owner 去做东西,实践别人还没做过的事情,说不定就能拿到一些好结果。
朋友们,勇敢一点,稍微外向一点吧。我以前也一直觉得,搞这些比赛、参加这些活动很 SB,反正拿不了奖,有什么意义?可如果只是一直想,不动手,不好意思,什么东西都跟你无关。
一个内向了二三十年的人,现在居然在劝人外向。这种心态不行,没准试一试,可以白吃白喝一阵子呢。
评论