美文网首页
Reflection Separation Using Patc

Reflection Separation Using Patc

作者: 查可猜 | 来源:发表于2019-03-31 12:26 被阅读0次

摘要:

从一系列相关的图像中找到相同区域的patch,那么这些patch都存在一个非常低维的子空间,那么这些patch聚类后,就能得到一个低秩矩阵(low-rank matrix),这样的好处是可以使用ALM-ADM策略来解决图像还原问题

本文提出一种衡量patch与transmission layer之间相似性的matric,基于图像强度和梯度。

不需要依据梯度进行reconstruction,所以color shift问题可以被极大改善,更多的图像细节得以被保留


introduction

把reflection removal的问题看成 a sparse and low-rank matrix decomposition problem

图一
  • SIFT-flow 对齐图片 选出一张参考图
  • 利用滑动窗口在其他的图片上选取对应的patch
  • 从pixel intensity和gradients两个角度衡量每组patch的相似性,然后被组合成一个matrix,最后这个matrix被分解成一个low-rank part(transmission layer)和一个sparse part(reflection layer)by nuclear normL1 norm
  • 利用ALM(augmented Lagrange multiplier) 和 ADM(alternating direction minimizing)求解问题

Motivation

I_k(P) = T_k(P) + R_k(P), k=1,2,...,K
这些图片中的R可能相差很大,但是T几乎是保持不变的,所以当K张图被warp到同一坐标系中时,被向量化的T层可以很自然的被建模成低秩矩阵(理想情况下是秩为一的矩阵)

- image alignment

SIFT-flow 对齐图片

- patch searching

图二

绿框表示参考图中的某一个patch,然后在其余K-1张图中搜索2(K-1)张最相似的patch,由于已经做过图像对齐,所以搜索范围可大概确定在黄色方框中,因此可以大大加速搜索过程。

以往通常现在梯度领域对图像做处理,然后在用柏松积分重建,但是会造成color shift和blur,本文在patch similarity measure使用图像梯度,效果比较好

  • 反射层通常比较平滑,且强度较低,所以一些明显的边缘极大可能都是属于传输层的
  • 不同图像之间的反射层差别很大,所以反射层的边缘几乎不可能存在于同样的像素位置
    于是我们可以大致估计参考图transmission层的梯度:
    G_{min}(P) = arg min\{|G_k(P)| \}, G_k=\nabla I

通过光强度和梯度,我们可以定义一个用来衡量两个patch之间相似性的公式:
d(c_{ref},c_{i,k}) = w_c||c_{ref}-c_{i,k}|| + w_g||g_{ref} + g_{i,k}||
其中c_{i,k}表示第k个对齐图像中的第i个patch

- Sparse and Low-Rank Decomposition

把2(k-1)个patch连同参考图的的patch组成一个大的matrix I,然后把I分解成一个低秩的矩阵T(transmission layer)和一个稀疏矩阵R(reflection)

目标函数:min||T||_*+\lambda||R||_1

augmented Lagrange function optimization problem:


ALM
T,Y,R更新

- patch fusion

在对每个patch作处理后,会产生棋盘效应,此时选取一个滑动窗口W,以步长D进行滑动,W \gt D,利用均值来消除边界,可以从图中看到效果

图三

Experiment

图四 数据合成 图五 合成图对比效果 图六 真实图对比效果

相关文章

  • Reflection Separation Using Patc

    摘要: 从一系列相关的图像中找到相同区域的patch,那么这些patch都存在一个非常低维的子空间,那么这些pat...

  • unity drawing

    using System.Reflection; using UnityEngine; // Line drawi...

  • c#反射获取属性

    using System.Reflection; public class ForeachClass{/// /...

  • java反射-Annotation学习

    文章为转载,原文:Java Reflection - Annotations [TOC] Using Java R...

  • 初探java动态代理

    动态代理是什么 在Java API手册中原话是这样介绍动态代理的: Using Java Reflection t...

  • 《DevOps for Finance》CHAPTER 1-职责

    Separation of Duties 职责分离 Separation of duties—especially...

  • separation

    我们都不擅长离别。 情人的目光中隐藏的心酸,寻找新的话题去掩饰分开的担忧,未知今后是否还能再度重逢,直到最后我们都...

  • 《A Separation》

    《A Separation》,片名,伊朗,不断印刷的证件,移民,开片五分钟,我的脑海中已经构思了这样一个故事:战乱...

  • A separation.

    和离职的同事告别.有点分不清散伙饭的表情是无所谓还是无所畏惧.也好.各自奔天涯.处处是我家.十八年后又是一条好汉.

  • Microsoft 发布 Internet Explorer 紧

    原文标题:Microsoft Issues Internet Explorer an Emergency Patc...

网友评论

      本文标题:Reflection Separation Using Patc

      本文链接:https://www.haomeiwen.com/subject/gocsbqtx.html