无痛上手,MindSpore高阶API全新升级,比Keras、Fastai简单易用

机器之心发布
机器之心编辑部
临近虎年春节 , 抖音上线了一系列AR相机特效 。 在抖音的镜头下 , 日常生活的景观呈现出各种奇妙的效果 。 其中 , 「AR中国年」凭借将镜头扫描的画面场景转换成酷炫的赛博朋克新年风格最受欢迎 , 在广大网友的创意之下玩出了各色花样 。
无痛上手,MindSpore高阶API全新升级,比Keras、Fastai简单易用
文章图片
「AR中国年」的效果源自于抖音产品团队对于未来赛博朋克中国城场景的设想 。 但要实现这样的效果 , 需要整合AI算法、图形渲染、特效设计等大量研发资源 。 为此 , 抖音技术团队专门研发了一套融合了深度学习、SLAM与图形渲染技术的AR特效链路 , 整体的链路如下图所示 。
无痛上手,MindSpore高阶API全新升级,比Keras、Fastai简单易用
文章图片
「AR中国年」特效链路
系统首先通过对捕获的视频数据基于深度学习模型进行分析 , 获取实时的深度图、法向图与场景分割Mask等语义与几何信息 , 同时通过SLAM技术获取相机位姿等空间信息 , 并结合语义、几何与空间信息 , 对不同种类的道具进行放置与跟踪 。 通过SLAM , 还可以进行算法结果的多帧匹配 , 从而帮助提升语义几何分析的准确性和连续性 , 保证后续道具挂载的稳定性 。 在接下来的章节中 , 文章将会对部分关键算法环节展开剖析 。
道具挂载检测
「AR中国年」的一大亮点是能够在场景中较为自然地贴合道具素材 。 在AR场景中为了使素材的出现位置更加贴合场景 , 需要设计一套端上的自动道具挂载算法 。 为了使得挂载结果更加自然 , 算法还需要输出若干个符合透视的不规则四边形 。
在算法设计之初 , 技术团队考虑了一套基于三维表面检测(3DSurfaceDetection)、二维形状检测(2DShapeDetection)与单帧VP检测(VanishingPointDetection)结合的方案 , 并研发了一套基于线段和角点检测结合的VP检测系统 。 但由于该方案涉及的算法模块和策略较为复杂 , 移植到移动端并达到实时的性能具有较大的技术难度 , 技术团队便开始尝试使用较为轻量的“目标检测+回归”的方案 , 试图“蒸馏”学习出实时的道具挂载检测模型 。
在「AR中国年」特效中 , 为了营造出新年的气氛 , 需要同时挂载十几个不同的素材 , 而且素材出现的位置也并不是往往出现在平面上 , 例如“灯笼”就需要被挂载到屋檐或者天花板上 。 这就需要算法同时兼顾召回、透视以及场景分类 。 为此 , 技术团队设计了先通过检测模块进行召回 , 再通过回归模块进行筛选的二阶段算法 。 在检测阶段 , 检测模块去尽可能多的召回挂载区域 , 这些区域往往集中在建筑物、墙壁和物体上 。 在召回足够多的候选区域后 , 回归模块负责解决透视以及分类问题 。 为了降低坐标回归难度 , 需要加入一定的规则先验 , 将挂载框视作左上、左下、右上、右下四个点构成的凸四边形进行回归 , 最终模型的结果将经过排序、筛选、去重来保留高质量的挂载框 。 为了满足不同素材的特定要求 , 算法还会将挂载框进行分类来针对性的进行后处理 , 例如将比较长的区域进行切分来营造出比较工整的灯笼串效果 。
值得一提的是 , 虽然由于性能原因 , 技术团队在算法方案上最终选择了“目标检测+回归”的方案 , 但基于VP检测的方案具备更真实的挂载效果 , 因此也被应用在了剪映玩法上 , 服务于基于服务端的编辑特效「国潮赛博2022」 。
无痛上手,MindSpore高阶API全新升级,比Keras、Fastai简单易用
文章图片