Real-time Hair Segmentation and Recoloring on Mobile GPUs

问题:如何在手机端实现 实时、细致、时间连续的 Hair Mask 分割?

首先一个高质量的数据集是关键,

1.1.1 网络输入

为了确保帧间输出的时间连续性,一般使用的LSTM耗时太高,因此输入使用:4 channels (RGB + previous frame mask) → current frame mask

1.1.2 数据增强

为了实现高质量的视频分割效果,除了实现帧到帧的时间连续性之外,我们还需要考虑时间的不连续性,例如突然出现在摄像机视野中的人:因此在使用 previous frame mask 时需要对ground truth进行额外的处理:

1)Empty previous mask : 对应camera刚开始工作处理第一帧 和 某人忽然出现的情形

2)Affine transformed ground truth mask : 小的 transformed 使网络去传播和适应 previous frame mask ,而 大的 transformed 使网络 学会辨别不合适的 previous frame mask 然后丢弃它们

3)Transformed image : 对原始图像进行薄板样条平滑处理,以模拟相机的快速移动和旋转

    After thin Plate Spline Transformation :  

1.1.3 网络结构

如上图所示,网络结合了标准的 Hourglass 结构和 skip connections ,并进行以下改进:

1)使用stride大于等于4的大卷积核来检测,虽然卷积核变大但是通道数变少,所以计算量并没有变化

2)为了提高速度,我们使用大stride大幅度降低采样率并采用类似于UNet的 skip connections ,以在上采样期间恢复 low-level features(5%的iou提升)

3)为了进一步提高速度,我们优化了E-Net bottlenecks。 我们注意到,在不显着降低质量的情况下,可以以16或32的倍数更积极地压缩 layers 。

4)为了改善和提高边缘的准确性,类似于 neural matting 在网络末端以全分辨率添加了多个 DenseNet 层  (使整体模型质量提高了0.5%IOU,但是segmentation 的感知质量显着提高)

      

1.1.4 recoloring

主要是计算黑白LUT值,使颜色看起来更自然

1D LUTs只能控制gamma值、RGB平衡(灰阶)和白场(white point)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值