大场面的科幻动作片,拍摄过程肯定离不开绿幕。
制作过程更加磨人。
抠绿+后期要做到完美(空间位置关系、光影关系),不仅要求细心,还得堆大量时间。
为了让影视制作简单点,谷歌研发出了可以在手机端就实时抠背景的工具(暂时没名儿)。
这个实时抠背景的工具目前只出到Beta版,只在YouTube移动端上有。
这个技术,是用CNN(卷积神经网络)实现的。
这个神经网络框架,专为移动端设计。所以,在构建和训练的过程中,谷歌给自己定了一些原则:
这个抠背景的模型,帧数的处理得很讲究。
帧数不能太多,不然费算力,也无法及时出图;但也不能太少,否则看起来卡顿。
为了训练这个模型,谷歌标注了成千上万个图像。
前景标出头发、眉毛、皮肤、眼镜、鼻孔、嘴唇等。
谷歌的分离模型,是通过RGB通道计算出视频源每帧的前景。
关键抠出来的前景前后两帧之间要连贯。
现在的方法是用LSTM和GRU,对算力要求太高了,要用在移动端实时出片上不太现实。
LSTM,长短期记忆算法,是一种时间递归神经网络。GRU,门控循环单元。
LSTM搭GRU,可以通过门控机制使循环神经网络,做到记忆过去的信息,同时还能选择性地忘记一些不重要的信息而对长时间跨度的信息的前后关系进行建模。
谷歌想到的解决办法是,把上一帧已经算出来的蒙版(挡住背景用的)当作下一帧的第四个通道的信息。这样,就能节省算力,拿到的片子视觉上还满足连贯介个要求。
视频里抠背景,如果镜头里前景物体剧变,比方说突然多了个人,前后帧的去背景效果就不连续了。
为了避免这个问题,保持视频的流畅性,谷歌稍微改了一下标注的规则:
经过调整,谷歌训练的模型表现炒鸡好,在iPhone7上能实时出100多FPS的片,谷歌的Pixel2出40多FPS的高清片。
拿YouTube上stories频道上的片试了试,抠背景效果都很流畅。抠图效果也很棒棒,在验证数据集上实现了94.8%的IOU(交叠率,在这里就是抠背景效果贴不贴合)。
谷歌短期内想实现的目标是,用YouTube上stories频道上的片子来测试优化这个抠背景技术。最后能成熟地用于未来的AR服务上。
最后,附编译来源, https://research.googleblog.com/2018/03/mobile-real-time-video-segmentation.html