Video Colorization 文献综述(不定期更新)

1. 2012 《A learning-based approach for automatic image and video colorizaiton》

  关键词:自动图像着色,视频着色,随机森林,图像空间投票

  论文方法的框架如上图所示,大致可以分为4个步骤:
  (1)超像素提取
  (2)特征提取
  (3)特征学习
  (4)颜色笔画精炼和传播

(1)超像素提取

  超像素(superpixels)指的是一组具有相似图像性质的连通像素点的压缩表示。这里使用Levinshtein等人提出的基于几何流的方法《TurboPixels: Fast Superpixels Using Applications》来计算超像素,算法使用源码的默认参数。

(2)特征提取
  1. 灰度特征
    一个二维向量:第一维是超像素包含的所有像素的灰度平均值,第二维是领域超像素的灰度平均值
  2. 标准差特征
    一个二维向量:计算5x5像素内的标准差作为每个点的特征值,然后按照灰度特征的计算方法得到二维特征向量
  3. Gabor特征
    一个40维向量: 07π/8 0 ∼ 7 π / 8 八个方向, I=0,1,2,3,4 I = 0 , 1 , 2 , 3 , 4 五个指数尺度的Gabor特征向量,每个超像素的特征使用超像素内包含点的Gabor特征的平均值
  4. 密集SIFT特征
    一个128维向量:将邻域划分为4x4的单元数组,每个单元计算8个方向的特征,得到4x4x8=128维特征向量
(3)特征学习
  1. 颜色量化
    对参考彩色图片在CIELab颜色空间进行量化。
    使用超像素内a、b通道的平均像素值计算颜色标签。计算所有超像素的平均a、b通道值,再用K-means进行聚类。
  2. 随机决策森林
    学习一个决策森林用于解决该多分类问题。
(4)颜色笔画精炼和传播

  随机森林推理出来的在边界附近的颜色通常不是很可靠,论文使用了一种基于投票的方法来减少这样的超像素。
为了进行投标,首先使用论文《Mean shift: A robust approach toward feature space analysis》的方法对灰度图进行分割(源码地址:http://coewww.rutgers.edu/riul/research/code/EDISON/),然后检查每个分割区域的预测颜色标签情况。假设每个分割内拥有相同的颜色标签,分割区域内占多数颜色标签作为该区域的颜色标签。
  对所有超像素的颜色标签进行更新之后,使用色度值(a、b通道的值)作为超像素的中心的笔画,然后使用论文《Colorization using optimization》的方法对中心点进行颜色传播。

  论文说的看起来很有条理也有道理,但是这实验结果……emmm,我觉得没啥说服力,参考图像和测试图像不大体就是一样的吗?!如果换一张风格不一样的参考图像,会变成什么样?

  视频的上色并没有多做其余的处理,只是把视频一帧一帧提取出来单独上色,所以出现了后两张图像马路颜色和前两张马路颜色不一致的问题。单看图片可能不怎么明显,如果放到视频中播放,就会出现闪烁的问题。
  这篇论文的思路还是比较简单清晰的,将彩色图上色视为一个多分类问题,使用超像素的特征向量作为输入,用随机森林进行多分类,并通过投票的方式优化了边界着色的问题。
  

2. 2017 《Characterizing and improving stability in neural style transfer》

  论文作者发现,像素的稳定性和图像风格的Gram矩阵的迹有关。Gram矩阵匹配目标方程的解集是一个球体,该球体的半径有风格图像的Gram矩阵的迹决定。如果Gram矩阵的迹很小,那么解集中包含的解将会生成比较相似的风格图像。相反地,如果Gram矩阵的迹很大,即球体半径很大,那么不同解之间将相距甚远,这样则会导致差别很大的风格图像。
  这篇文章虽然讲的是视频的风格化,但它提到的视频连续帧的一致性有借鉴意义。

风格迁移的稳定性

  先简单回顾一下风格迁移,给定一张内容图像 c c 和一张风格图像s,输出图像 p p 要最小化下面的目标方程

L(s,c,p)=λcLc(p,c)+λsLs(p,s)
Lc L c Ls L s 分别是内容重构loss和风格重构loss, λc λ c λs λ s 分别是两个loss的权重。
  首先用VGG-19在ImageNet上进行预训练,记 ϕj(x) ϕ j ( x ) 为神经网络的第 j j 层激活输出,Lc Ls L s 定义为:

Lc(p,c)=jC1CjHjWjϕj(p)ϕj(c)22 L c ( p , c ) = ∑ j ∈ C 1 C j H j W j ‖ ϕ j ( p ) − ϕ j ( c ) ‖ 2 2
Ls(p,s)=jS1CjHjWjG(ϕj(p))G(ϕj(c))22 L s ( p , s ) = ∑ j ∈ S 1 C j H j W j ‖ G ( ϕ j ( p ) ) − G ( ϕ j ( c ) ) ‖ 2 2

   Lc L c Ls L s 鼓励生成的图像在图像内容和图像风格的高级特征上相似,而不是鼓励单个像素上的一一对应。
  然后在COCO数据集上训练12种风格的风格转换模型,然后用这12个模型分别对视频帧(our stable video dataset??看来是他们自己的视频)进行风格化,使用相邻两帧的风格均方差作为衡量指标,发现Gram矩阵的迹和风格稳定性呈负相关:

模型


  模型以内容图像的一个序列 c1,c2,...,cT c 1 , c 2 , . . . , c T 和一个风格 s s 作为输入,输出相应的风格图像序列p1,p2,...,pT。每一帧的输出图像 pt p t 应和 ct c t 内容一致,和风格 s s 保持一致,而且和前一帧pt1应该相似。对于每个时间步,输出图像 pt p t 是由t-1时刻的输出图像和当前内容图像合成得到: pt=fW(pt1,ct) p t = f W ( p t − 1 , c t ) ,于是训练网络 fW f W 的loss函数为:

L(W,c1:T,s)=t=1T(λcLc(pt,ct)+λsLs(pt,s)+λtLt(pt1,pt)) L ( W , c 1 : T , s ) = ∑ t = 1 T ( λ c L c ( p t , c t ) + λ s L s ( p t , s ) + λ t L t ( p t − 1 , p t ) )
所有卷积层都使用instance normalization和ReLU激活函数。最简单的形式是 Lt(pt1,pt)=pt1pt2 L t ( p t − 1 , p t ) = ‖ p t − 1 − p t ‖ 2 ,但这要求相邻两帧的位移可以忽略不计,我们希望可以在每一帧插入编辑笔画,改变当前帧的颜色等,为了实现这个,本论文使用了optical flow来确保输出和输入是保持一致的。视频训练集使用Sintel。
  
  看完这篇论文,发现视频上色的流程和单独训练彩色图上色还是挺大差别的,心塞。。。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Maples丶丶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值