AI 简报 - 视频去交错 (Deinterlance)
1. 什么是交错(interlacing)
先来了解下逐行扫描和隔行扫描
逐行扫描: 顾名思义就是一行一行,从左到右,从上到下,直到全部扫描完成,则更新
隔行扫描: 顾名思义就是先扫奇数行(从左到右,从上到下),接着扫偶数行(同样是从左到右,从上到下)
由于人的视觉系统对细节的闪烁并不是很敏感,这样电视广播在数据传输时采用隔行扫描的方式,可以减少每次传递的数据量,减去带宽压力,但是快速运动会存在比较明显的闪烁。而电脑显示没有带宽压力,一般采用逐行扫描。这样就存在两种不同扫描格式的转换。
下面这个就是剧烈晃动导致的交错行现象。
2. 去交错(Deinterlacing)
去交错或者去隔行就是去除上面隔行扫描导致的前后场叠加在同一帧的现象,而恢复当前帧的全部信息。
3. Real-time Deep Video Deinterlacing
这里简报提到的Real-time Deep Video Deinterlacing
是利用深度学习方式来进行去交错操作。
我们先来看看最终的效果:
重要思路利用前后帧的时间上的信息来恢复对应的奇数和偶数行信息,由于交错行信息是视频前后帧播放交叠的结果,文章中利用这种特性来恢复交错的的信息。
网络结构
从下面的网络图可知:
输入为交错帧,由 t 时刻偶数行和 t+1 时刻的奇数行交叉组成
中间为卷积提取特征
输出为 t 时刻的奇数行和 t+1 时刻的偶数行
重构 t 和 t+1 时刻完整帧: 即输入的奇数和偶数行重新组合
数据构造
从网络结构就可以清楚知道如何构造训练数据:
首先是需要连续帧的视频帧数据(一般是按照场景来的)不然交叉会有问题
取出相邻前后两帧图片(下图的中间)
分别取出第一帧的偶数行和第二帧的奇数行,组合输入
剩下第一帧的奇数行和第二帧的偶数行,不做组合,分别作为输出
训练细节 loss 如下:- L2 loss- tv loss 即 图像平滑一致性 loss(x 方向和 y 方向的梯度)
训练策略:
ADAM optimization
learning rate is 0.001
λTV is set to 2 × 10−8
epochs is 200、
batch size for each epoch is 64
结果
版权声明: 本文为 InfoQ 作者【AIWeker-人工智能微客】的原创文章。
原文链接:【http://xie.infoq.cn/article/66ac414fb1e4eef97af9c5182】。文章转载请联系作者。
评论