Computer Vision Applied to Super Resolution
Capel, David, and Andrew Zisserman. "Computer vision applied to super resolution." Signal Processing Magazine, IEEE 20, no. 3 (2003): 75-86.
简介
超分辨率重建的目的是使用一组低分辨率的图像来估计一副高分辨率图像。重建主要通过两个步骤来完成:配准低分辨率的图片组到一个公共的坐标系,然后使用图像的生成模型(generative image model)和图像的先验知识和匹配的图像组数据来形成高分辨率的图像。
图像配准
ML Registration to Two Views
假设真实的物体点投影到图像面上的坐标是\(\underline{x}\),而检测到的对应的点\(x\)的位置的概率分布可以表示为高斯分布: $ Pr(x|\underline{x}) = \frac{1}{2\pi\sigma^2}exp(-\frac{(x-\underline{x})^2+(y-\underline{y})^2}{2\sigma^2}) $
在两幅低分辨率图像中,给定了相互对应的一组理想特征点\({\underline{x}\leftrightarrow\underline{x}'}\),通过特征点检测算法计算得到的相应特征点对的似然概率就是: \(Pr(x,x')=\prod_i{}Pr(x'\_i|\underline{x}'\_i)Pr(x_i|\underline{x}_i)\)
使用\(log\)函数并去掉不影响函数最小化的\(\sigma\)后,点对的似然函数简化为:
\(L = \sum_i{}((x_i-\hat{x}\_i)^2+(y\_i - \hat{y}\_i)^2 + (x'\_i-\hat{x'}\_i)^2 + (y'\_i-\hat{y'}_i)^2)\)
式中理想点对间映射\(\hat{x'} = H\hat{x}\)可以带入其中,最终的方程中H和N个理想点的坐标(x,y共2N个参数)是未知数,使用非线性最优化进行估计,类似相机标定,得到最终的Homography矩阵H 。
Algorithm: Automatic Two-View Registration
- Feature : 计算亚像素特征点,Key Poins
- 特征点匹配
- RANSAC 配准:得到Homography矩阵 H
- 最优估计 H:通过最大化似然估计,得到优化的H
- 使用优化的H重新计算特征点匹配 通过迭代,使得匹配点对稳定,得到最后的H
多幅配准
如果是多幅图像,可以选择一副图像,然后估计所有其他图像到这幅图像的映射Homography矩阵系列\(H_i\)。
光度配准
由于相机的自动曝光、白平衡或是由于相机方位的改变,图像组的亮度和颜色并不统一,通常在图像位置匹配完成后,还需要进行灰度色彩值的配准,在两组图像或特征点区域中,我们可以设计一个线性的辐射度变化,然后通过匹配后的像素对应关系,计算这一线性变化的参数。
超分辨率重建
实际采集到的低分辨率图像可以看成是高分比率图像通过一系列的劣化过程得到的,这些过程包括:几何变换 、光学模糊、空间采样和噪声等,超分辨重建的过程其实就是这个劣化过程的逆过程,利用劣化后的图像来估计清晰的图像。接下来会讨论两种方法ML似然估计和MAP贝叶斯后验估计,但在之前会给出图像的生成模型。
生成模型 Generative Models
低分辨率图像的生成可以用一个公式来表示: $ g_n = \alpha_nM_n\bar{f}+\beta_n+\eta_n $
其中各个参数的解释如下:
- \(\bar{f}\):理想的高分辨率图像按照像素位置展开的矢量;
- \(g_n\):第n张低分辨率图像;
- \(\alpha_n,\beta_n\):灰度或颜色配准的参数;
- \(M_n\):劣化矩阵 \(M = s\downarrow(h(u,v) * \bar{f}(T(x, y))\),由以下几个部分组成:
- \(T\):几何变换或变形
- \(h(u, v)\) :综合的点扩展函数
- \(s\downarrow\):下采样
- \(\eta_n\):噪声
如果有N幅图像,就可以构成一个超定的线性系统:
最大似然估计
假设图像的噪声是高斯噪声,观测到的图样的概率为: $ Pr(g_n|\bar{f})=\prod_{\forall{}x,y}\frac{1}{\sigma_n\sqrt{2\pi}}exp(-\frac{(\bar{g_n}(x,y)-g_n(x,y))^2}{2\sigma_n^2}) $
式中的\(\bar{g_n}\)是有生成模型计算得到的,使用Log函数,去掉与最小化无关的\(\sigma\)得到的似然函数为: $ \sum_{\forall{}n}\mathcal{L}(g_n)=-\sum_{\forall{}n}\lVert{}M_n\bar{f}-g_n\rVert^2=-\lVert{}Mf-g\rVert^2 $
由于M非常大,这个类似最小二乘的线性系统,很难用伪逆\(M^+\)来计算,而需要使用迭代法进行计算,相关方法在常规的数值线性代数教科书上有详细描述。
贝叶斯最大后验估计
该方法普遍比最大似然估计有更好的效果,并且加入了图像的先验知识。由贝叶斯概率公式\(Pr(\bar{f}|g)=Pr(g|\bar{f})Pr(\bar{f})/Pr(g)\),使用Log函数,MAP方法的最优化问题可以表示为: \(f_{map}=\mathop{argmax}\_f lg Pr(\bar{f}) + lg Pr(g|\bar{f}) = \mathop{argmax}\_f lg Pr(\bar{f}) - \frac{1}{2\sigma_n^2}\lVert{}Mf-g\rVert^2\)
Gaussian MRFs
其中\(Pr(f)\)就是图像的先验知识。ML方法的最大问题在于分辨率持续增大时,噪声的影响也持续增大,最终图像信号淹没在了噪声中。而在MAP方法中,为了防止像素值无顾忌的被噪声占据,可以约束一个像素和其周边的像素具有一定的连续性,从而约束像素值在一个范围内。在数学表达式上,可以使用该像素点的导数来表示它和周边的连续性,如\(d_x, d_y, d_{xy}, d_{yx}\)。如前所述,\(f\)是按像素展开的矢量,而梯度算子在二维上是一个滤波器算子,也需要展开为一个更大的稀疏矩阵\(L\),并且像素值变化连续,导数就需要小,那么在MAP最大化式中,需要加上负号。综上,可以定义图像的先验概率为: $ Pr(f)=\frac{1}{Z}exp(-f^TQf), Q=L^TL $ 则Log的最大后验概率则会变为: $ f_{map}=\mathop{argmax}_f-\gamma^2\lVert{}Lf\rVert^2-\frac{1}{2\sigma^2}\lVert{}Mf-g\rVert^2 $
Huber MRFs
Gaussian MRFs方法使用高斯函数保证图像的平滑特性,但导致应该保持非连续的边界区域被过度平滑。为了保证边缘处的非连续性,采用更加鲁棒的估计方法Huber函数来估计像素点的梯度值,在计算出梯度后,带入huber函数,则可以保证对于分界线处梯度值的保证,相关信息可见Robust估计相关资料。
效果图
下面两张图给出了ML和MAP两种方法效果图,点开看大图。
Computer Vision Applied to Super Resolution的更多相关文章
- Analyzing The Papers Behind Facebook's Computer Vision Approach
Analyzing The Papers Behind Facebook's Computer Vision Approach Introduction You know that company c ...
- Speech Super Resolution Generative Adversarial Network
博客作者:凌逆战 博客地址:https://www.cnblogs.com/LXP-Never/p/10874993.html 论文作者:Sefik Emre Eskimez , Kazuhito K ...
- [转载]Three Trending Computer Vision Research Areas, 从CVPR看接下来几年的CV的发展趋势
As I walked through the large poster-filled hall at CVPR 2013, I asked myself, “Quo vadis Computer V ...
- 计算机视觉和人工智能的状态:我们已经走得很远了 The state of Computer Vision and AI: we are really, really far away.
The picture above is funny. But for me it is also one of those examples that make me sad about the o ...
- Computer Vision Tutorials from Conferences (3) -- CVPR
CVPR 2013 (http://www.pamitc.org/cvpr13/tutorials.php) Foundations of Spatial SpectroscopyJames Cogg ...
- [学习笔记] CS131 Computer Vision: Foundations and Applications:Lecture 9 深度学习
深度学习 So far this week Edge detection RANSAC SIFT K-Means Linear classifier Mean-shift PCA/Eigenfaces ...
- [学习笔记] CS131 Computer Vision: Foundations and Applications:Lecture 4 像素和滤波器
Background reading: Forsyth and Ponce, Computer Vision Chapter 7 Image sampling and quantization Typ ...
- 【E2EL5】A Year in Computer Vision中关于图像增强系列部分
http://www.themtank.org/a-year-in-computer-vision 部分中文翻译汇总:https://blog.csdn.net/chengyq116/article/ ...
- code and dataset resources of computer vision
From:http://rogerioferis.com/VisualRecognitionAndSearch2014/Resources.html Source Code Non-exhaustiv ...
随机推荐
- 最简便的MySql数据库备份方法
http://www.kankanews.com/ICkengine/archives/194.shtml 使用MYSQL进行数据库备份,又很正规的数据库备份方法,同其他的数据库服务器有相同的概念,但 ...
- win7 设置自动关机
1.C:\Windows\System32\shutdown.exe 2. -s:表示关机: -r:表示重启: -t:表示时间,以秒为单位: -a:表示取消shutdown计划,即表示取消关机或重启命 ...
- MVC架构杂谈
来源:伯乐在线专栏作者 - 林欣达 链接:http://ios.jobbole.com/86895/ 点击 → 了解如何加入专栏作者 前言 MVC是软件工程中的一种软件架构模式,它把软件系统分为三个基 ...
- TextView使用的方式
第一种改变TextView的方式 // TextView tv=new TextView(this); // tv.setText("Hello,Android&quo ...
- Hadoop卸载或增加节点
卸载节点或者增加节点: 方式一:静态的增添删除:将集群关闭,修改配置文件(etc/hadoop/slaves),重新启动集群(很黄很暴力,不够人性化). 方式二:动态的增加和卸载节点. 卸载DataN ...
- 第二种方式读取并显示HDFS中的内容
1.讀取HDFS内容的java客戶端代碼: package Hdfs; import java.io.InputStream; import java.net.URI; import org.apac ...
- datejs lib
// Get today's date Date.today(); // Add 5 days to today Date.today().add(5).days(); // Get Friday o ...
- 20160329javaweb之JSP -session入门
3.Session Session 是一个域 !!作用范围:当前会话范围 !!生命周期: 当程序第一次调用到request.getSession()方法时说明客户端明确的需要用到session此时创建 ...
- 学习笔记_第一个strut程序_之中文乱码,过滤器解决方案及过程总结
1. 第一次碰到加过滤器的过程,就是在学习struct1的时候,中文乱码 几个需要注意的关键字 2.什么叫package 所谓package就是打包的意思,就是说以下程序都是处于这个包内,所以一开始 ...
- ASP.NET网络编程之-HTTP协议
HTTP协议由来已久,最近复习到它,好记性不如烂笔头,在此留下自己的总结,算是为后面再要看时用吧.HTTP协议是一个在B/S架构中约束客户端(浏览器)和服务端(比较常见的是就是IIS服务器,关于IIS ...