设计需要释放新技术的变革潜力,
最近我在思考快速搭建智能产品的方法,
总结了5条策略:
1 视觉有BiT、语言有Bert,使用预训练模型提取特征(万物皆向量);
2 所有问题简化为排序问题;
3 维护一个pipline,用来串联所有排序问题;
4 交互呈现系统原理,人工可参与修改;
5 善用各种开放api;
运用此方法,我实验了一个小demo:
动态海报:影视剧剧情速览
讲述了沿海小城的三个孩子在景区游玩时无意拍摄记录了一次谋杀,他们的冒险也由此展开。扑朔迷离的案情,将几个家庭裹挟其中,带向不可预知的未来......
简单概括下技术实现路径:
- 视频处理
使用scenedetect库,按照场景切割影片。然后过滤掉时间较短(<2秒)的场景。
- 场景挑选
这里我使用了相似性方法,预设一张目标图(多位人物),使用人体姿态估计,计算出目标图的人体姿态特征向量,然后通过余弦相似度排序所有的场景,得到所有跟目标图的人体姿态最接近的场景。(有点像以图搜图)
目标图 A 多人
人体姿态估计
目标图 B 单人
人体姿态估计
- 视频片段对齐
设定一个固定的帧数,把所有场景的帧数对齐,采用均匀取样的方法。
- 布局
简单的先拼成6张,待后续增加更丰富的做法
-合图
合成gif
- 实验结果
第一张动图是完全机器自己搭配的,第二张是部分人工挑选,所以第4点其实很关键,人工可参与修改调整以产生更好的结果。
ps:以上的每部分在课程中都有示例代码~
这里就不一一演示代码啦。