家里没矿、没王位,但谁还没有个王子、公主梦?
最近,机器之心收留了一批「在逃王子」。
这些王子虽然来自不同的王国,但服化道都来自同一家公司——快手。
这是快手新推出的「童话魔法」特效。除了王子之外,你也可以过一把当公主的瘾。各路明星纷纷晒出了自己的公主特效形象:
「童话魔法」是一项基于生成式算法的视频特效技术,可以让用户在手机端实时预览自己变身公主、王子的神奇效果。生成的图像不仅有着浓浓的童话风格,而且还保留了用户自身的容貌特点,带给用户新奇的拍摄体验。
目前,这套「童话魔法」有冰雪公主、梦幻城堡、童话公主和童话王子等数种画风的变身特效。
不仅如此,用户还能根据自身喜好进一步细化变身后的人物特效,添加风格多样的美妆、美体、滤镜以及封面文字等,还可以更换配乐,或者自己配音并转换成小黄人、机器人、萝莉、大叔等不同风格。
特效虽好,如何适配手机端所有机型?
特效虽好用,但面对手机端种类繁多的机型、配置,如何实现设备算力与模型效果的最优适配,进而提供最佳用户体验呢?
快手首先进行了细致的算力分级。
由于当前移动端硬件种类繁多,碎片化严重,算力分级面临横向、纵向挑战。横向挑战:设备大类上可分为 CPU、GPU、DSP、NPU 几类,各类之间的算力有所差异,大体上算力等级 NPU≥GPU≥DSP≥CPU,但实际情况中各级算力会有 OVeRlap 甚至反转。纵向挑战:以 CPU 为例,厂商有 apple、高通、华为、MTK 等,不同厂商、不同型号的 CPU 性能差异很大;GPU 也存在类似情况,如 AdREno 与 Mali 系列。
将碎片化的设备横向与纵向铺展开来会形成一个复杂的算力矩阵,快手自研的深度学习推理引擎 YCNN 配合极致优化的各后端代码在多种模型上进行了理论和实践的充分测试,最终结合快手用户群设计了一套详细的分级方案。
以这一套算力分级策略为指导,快手进行了模型结构、计算量的调整,设计不同计算量的模型。比如为 CPU 设计了效果较好的中等计算量模型,而像 NPU、GPU、DSP 这种适合大算力的设备则可以运行计算量更大、效果更好的模型。
另外,实际应用中多个模型会带来资源包过大、加载过慢的问题,为此快手引入了模型服务器分级下发机制。根据终端硬件信息进行设备分级、下发和加载对应模型,充分利用设备算力同时给所有快手用户带来极致的效果体验。