Lazy Snapping
Lazy Snapping是一种基于图的图像分割方法[1],能够将图像分割为前景和背景,通过用户交互挑选前景和背景种子,利用最大流最小分割的方法对图像进行分割。
1. 基本方法文献中利用分水岭算法对图像进行预处理,这里我们直接将图像下采样到原分辨率的八分之一进行处理,然后求解以下优化问题:$$E(X)=\sum_{i\in\mathcal{V}}E_1(x_i)+\lambda\sum_{(i,j)\in\mathcal\varepsilon}E_2(x_i, x_j)$$其中,$E_1(x_i)$为似然能量,编码结点$x_i$的代价,$E_2(x_i,x_j)$为先验能量,代表邻接结点$x_i$和$x_j$的代价。
似然能量$E_1(x_i)$定义为:$$\begin{cases} \begin{matrix}E_1(x_i=1)=0&E_1(x_i=0)=\infty&\forall i\in\mathcal{F}\end{matrix}\\\\\begin{matrix}E_1(x_i=1)=\ ...
Seam Carving
Seam Carving算法是一种基于内容的图像缩放方法,在保证图像中“重要区域”不发生形变的前提下,对图像进行缩放。
一种直观的想法便是找出图像中的“不重要区域”,并将其删除。文献[1]中便是采用这种思想,
通过定义像素的能量函数,通过动态规划方法对某一方向的像素进行能量累积,最后回溯求出能量最低的一条路径,该路径便是我们要删除的“最不重要”路径。
1. 基本方法图像的能量简单地由图像梯度描述:$$e_1(\pmb I)=\left|\frac{\partial}{\partial x}\pmb I\right|+\left|\frac{\partial}{\partial y}\pmb I\right|$$论文中也给出另外一种能量的变体实现:$$e_{HoG}(\pmb I)=\frac{\left|\frac{\partial}{\partial x}\pmb I\right|+\left|\frac{\partial}{\partial y}\pmb I\right|}{\max(HoG(\pmb I(x,y)))}$$实现中,采用Sobel算子提取图像梯 ...
Poisson Image Editing
1. 问题描述给定以下两幅图:
现我们需要将第一幅图中的女孩搬到第二幅图的海水中,为使得复制粘贴更加逼真自然,我们需要设计算法来满足我们两幅图像融合的需要
2. 算法描述Poisson Image Editing算法[1]的基本思想是在尽可能保持原图像内部梯度的前提下,让粘贴后图像的边界值与新的背景图相同,以实现无缝粘贴的效果。从数学上讲,对于原图像$f(x,y)$,新背景$f^*(x,y)$和嵌入新背景后的新图像$v(x,y)$,等价于解最优化问题:$$\min\limits_f \iint \Omega |\nabla f-\boldsymbol v |^2 \ \ \mathrm{with}\ f|{\partial \Omega}=f^*|_{\partial \Omega}$$利用变分法,令$F=|\nabla f-\boldsymbol v |^2=(\nabla f_x-\boldsymbol v_x)^2+(\nabla f_y-\boldsymbol v_y)^2$
代入欧拉-拉格朗日方程:$$F_f-\frac{\mathrm d ...
Image Warping
1. 算法原理1.1. 基本原理
输入:$n$对控制点对$(\pmb p_i,\pmb q_i)$,$i=1,2,\cdots,n$,其中$\pmb p_i\in\mathbb R^2$为控制起始点,$\pmb q_i\in\mathbb{R}^2$为控制目标点
目标:找到一个映射$f:\mathbb R^2\rightarrow \mathbb{R}^2$,满足$f(\pmb p_i)=\pmb q_i$,$i=1,2,\cdots,n$
1.2. Inverse distance-weighted interpolation methods(IDW)[1]IDW 算法基本原理是根据给定的控制点对和控制点对的位移矢量,计算控制点对周围像素的反距离加权权重影响,实现图像每一个像素点的位移。
选择$n$对控制点对$(\pmb p_i,\pmb q_i)$,$i=1,2,\cdots,n$,目标映射$f:\mathbb R^2\rightarrow \mathbb{R}^2$可表示成
以下形式:$$f(\pmb p)=\sum_{i ...
Colorization
1. 问题描述给定一张原图像:
我们希望通过设计一个灰度图着色算法,使得下述灰度目标图像能够利用彩色原图像的颜色信息进行合理的上色:
以得到类似下图的效果:
2. 算法描述实验参考了论文[1],并使用全局匹配的方法进行求解。我们在图像的$l\alpha\beta$颜色空间上进行求解,这是由于$l\alpha\beta$颜色空间的$l$即代表着亮度,通过查找灰度源图像上的像素与彩色目标图像的$l$分量最佳匹配像素,再将目标图像对应匹配像素的$\alpha$和$\beta$分量赋予源图像即可
进行灰度图像上色。算法流程如下:
将源图像$img_{src}$变换到$l\alpha\beta$颜色空间得到$img_{src}^{(l\alpha\beta)}$,同时将源图像$img_{src}$转换为灰度图$img_{src}^{(grey)}$
利用如下均值标准差变换,将$img_{src}^{(l\alpha\beta)}$的$l$通道和$img_{src}^{(grey)}$映射到具有灰度目标图像$img_{tar}$的像素值分布,得到$luminance_{src}$和$l ...