2010-ECCV - Two-phase kernel estimation for robust motion deblurring

2024-08-22 11:32

本文主要是介绍2010-ECCV - Two-phase kernel estimation for robust motion deblurring,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

项目地址:http://www.cse.cuhk.edu.hk/~leojia/projects/robust_deblur/index.html
贾佳亚团队

  • 边缘预测与边缘选择,过滤细微结构对于模糊核估计的影响
  • 分两阶段估计模糊核,第一阶段:L2范数,第二阶段:L1范数
  • 图像先验,在估计模糊核过程中使用空间结构先验,非盲阶段时使用TV范数

文章首先了图像结构如何影响模糊核结构:

Salient edges do not always improve kernel estimation; on the contrary, if the scale of an object is smaller than that of the blur kernel, the edge information could damage kernel estimation.

显著边缘并不总是利于核估计,反之,如果物体的尺寸小于模糊核的尺寸,则其边缘信息会破坏核估计。

文章从一维信号给出了理由:
在这里插入图片描述
图(a)中,由于卷积核比阶跃信号更宽,导致卷积后的信号相比原信号总变差(Total-Variation,即梯度绝对值之和)减小了,高度降低了。在使用TV先验时,恢复出的信号倾向于TV值较小(能量最小),即图中的红色虚线,红色虚线经过卷积同样会得到蓝色实线,这是由于非盲去卷积问题的不适定性引起的。
图(b)中,就不会出现这种模棱两可的现象,恢复出的信号不会比原信号高或者低。

文章接着提出了一种新的边缘选择准则以利于模糊核估计:
在这里插入图片描述
N h N_h Nh实际表示为中心点在 x x x处的滑动窗口, r r r值越小表示此处要么是一个细微结构(类似于图a中的尖峰信号),要么是一个平坦区域。

得到r-map后,经过阈值筛选:
M = H ( r − τ r ) M=H(r-\tau_r) M=H(rτr)
∇ I s = ∇ I ~ ⋅ H ( M ∥ ∇ I ~ ∥ 2 − τ s ) \nabla I^s=\nabla \tilde I\cdot H(M\Vert \nabla \tilde I\Vert_2-\tau_s) Is=I~H(MI~2τs)
I ~ \tilde I I~表示冲击滤波(shock filter,参考Coherence-Enhancing Shock Filters)后的图像,H(·)是Heaviside阶跃函数,对于负值输出0,正值输出1,用于生成一个mask。

得到潜在图像梯度后,估计初始模糊核(阶段一):
在这里插入图片描述

阶段二,模糊核调整:

首先将模糊核中的元素分为两个集合,值较大的放进集合 S S S,其他的放入 S ‾ \overline S S
在这里插入图片描述
界线 ϵ s \bm \epsilon^s ϵs 的选择遵从“first significant jump”规则,论文中给出了具体解释。
通过下式调整模糊核,采用迭代重新加权最小二乘法(the iterative reweighed least square,IRLS)求解:
在这里插入图片描述

非盲去卷积过程

在这里插入图片描述
基于半二次分割,引入辅助变量 v v v w w w
在这里插入图片描述
文章里并没有说明,其实我觉得 v v v是对噪声的建模,并使用 1范数作为约束(先验)。
实验结果可以说明:
在这里插入图片描述
文中方法可以处理高斯噪声和椒盐噪声。

交替优化
最小二乘问题
在这里插入图片描述
软阈值收缩问题
在这里插入图片描述

这篇关于2010-ECCV - Two-phase kernel estimation for robust motion deblurring的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1096153

相关文章

Linux_kernel驱动开发11

一、改回nfs方式挂载根文件系统         在产品将要上线之前,需要制作不同类型格式的根文件系统         在产品研发阶段,我们还是需要使用nfs的方式挂载根文件系统         优点:可以直接在上位机中修改文件系统内容,延长EMMC的寿命         【1】重启上位机nfs服务         sudo service nfs-kernel-server resta

笔记整理—内核!启动!—kernel部分(2)从汇编阶段到start_kernel

kernel起始与ENTRY(stext),和uboot一样,都是从汇编阶段开始的,因为对于kernel而言,还没进行栈的维护,所以无法使用c语言。_HEAD定义了后面代码属于段名为.head .text的段。         内核起始部分代码被解压代码调用,前面关于uboot的文章中有提到过(eg:zImage)。uboot启动是无条件的,只要代码的位置对,上电就工作,kern

欧拉系统 kernel 升级、降级

系统版本  cat  /etc/os-release  NAME="openEuler"VERSION="22.03 (LTS-SP1)"ID="openEuler"VERSION_ID="22.03"PRETTY_NAME="openEuler 22.03 (LTS-SP1)"ANSI_COLOR="0;31" 系统初始 kernel 版本 5.10.0-136.12.0.

[Linux Kernel Block Layer第一篇] block layer架构设计

目录 1. single queue架构 2. multi-queue架构(blk-mq)  3. 问题 随着SSD快速存储设备的发展,内核社区越发发现,存储的性能瓶颈从硬件存储设备转移到了内核block layer,主要因为当时的内核block layer是single hw queue的架构,导致cpu锁竞争问题严重,本文先提纲挈领的介绍内核block layer的架构演进,然

Kernel 中MakeFile 使用if条件编译

有时需要通过if  else来选择编译哪个驱动,单纯的obj-$(CONFIG_)就不是很方便,下面提供两种参考案例: 案例一: 来源:drivers/char/tpm/Makefileifdef CONFIG_ACPItpm-y += tpm_eventlog.o tpm_acpi.oelseifdef CONFIG_TCG_IBMVTPMtpm-y += tpm_eventlog.o

笔记整理—内核!启动!—kernel部分(1)驱动与内核的关系

首先,恭喜完成了uboot部分的内容整理,其次补充一点,uboot第一部分和第二部分的工作不是一定的,在不同的版本中,可能这个初始化早一点,那个的又放在了第二部分,版本不同,造成的工作顺序不同,但终归是要完成基本内容初始化并传参给kernel的。         那么至于驱动与内核的关系,用一张图来说明最适合不过:         驱动位于OS层的中下层与硬件相接。驱动是内

Java多线程编程模式实战指南:Two-phase Termination模式

文章来源: http://www.infoq.com/cn/articles/java-multithreaded-programming-mode-two-phase-termination?utm_source=infoq&utm_campaign=user_page&utm_medium=link 文章代码地址: https://github.com/Visce

R-Adapter:零样本模型微调新突破,提升鲁棒性与泛化能力 | ECCV 2024

大规模图像-文本预训练模型实现了零样本分类,并在不同数据分布下提供了一致的准确性。然而,这些模型在下游任务中通常需要微调优化,这会降低对于超出分布范围的数据的泛化能力,并需要大量的计算资源。论文提出新颖的Robust Adapter(R-Adapter),可以在微调零样本模型用于下游任务的同时解决这两个问题。该方法将轻量级模块集成到预训练模型中,并采用新颖的自我集成技术以提高超出分布范围的鲁棒性

Linux_kernel原理08

一、温故知新         系统移植         1、uboot                 uboot主要做两件事:1、负责初始化硬件;2、负责引导操作系统的启动         2、Linux内核                 Linux内核的五大功能                 【1】进程间通信                 【2】进程管理

[LeetCode] 583. Delete Operation for Two Strings

题:https://leetcode.com/problems/delete-operation-for-two-strings/description/ 题目 Given two words word1 and word2, find the minimum number of steps required to make word1 and word2 the same, where in