CN106780365B - 一种基于异构计算的图像去抖动*** - Google Patents
一种基于异构计算的图像去抖动*** Download PDFInfo
- Publication number
- CN106780365B CN106780365B CN201611055329.3A CN201611055329A CN106780365B CN 106780365 B CN106780365 B CN 106780365B CN 201611055329 A CN201611055329 A CN 201611055329A CN 106780365 B CN106780365 B CN 106780365B
- Authority
- CN
- China
- Prior art keywords
- processing unit
- image
- points
- matrix
- central processing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000012545 processing Methods 0.000 claims abstract description 56
- 239000011159 matrix material Substances 0.000 claims abstract description 50
- 230000015654 memory Effects 0.000 claims abstract description 10
- 238000000034 method Methods 0.000 claims description 28
- 239000013598 vector Substances 0.000 claims description 16
- 238000006073 displacement reaction Methods 0.000 claims description 14
- 230000008569 process Effects 0.000 claims description 8
- 238000013519 translation Methods 0.000 claims description 3
- 238000000354 decomposition reaction Methods 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 8
- 238000004364 calculation method Methods 0.000 description 7
- 238000004422 calculation algorithm Methods 0.000 description 6
- 238000009499 grossing Methods 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 4
- 238000001514 detection method Methods 0.000 description 3
- PCTMTFRHKVHKIS-BMFZQQSSSA-N (1s,3r,4e,6e,8e,10e,12e,14e,16e,18s,19r,20r,21s,25r,27r,30r,31r,33s,35r,37s,38r)-3-[(2r,3s,4s,5s,6r)-4-amino-3,5-dihydroxy-6-methyloxan-2-yl]oxy-19,25,27,30,31,33,35,37-octahydroxy-18,20,21-trimethyl-23-oxo-22,39-dioxabicyclo[33.3.1]nonatriaconta-4,6,8,10 Chemical compound C1C=C2C[C@@H](OS(O)(=O)=O)CC[C@]2(C)[C@@H]2[C@@H]1[C@@H]1CC[C@H]([C@H](C)CCCC(C)C)[C@@]1(C)CC2.O[C@H]1[C@@H](N)[C@H](O)[C@@H](C)O[C@H]1O[C@H]1/C=C/C=C/C=C/C=C/C=C/C=C/C=C/[C@H](C)[C@@H](O)[C@@H](C)[C@H](C)OC(=O)C[C@H](O)C[C@H](O)CC[C@@H](O)[C@H](O)C[C@H](O)C[C@](O)(C[C@H](O)[C@H]2C(O)=O)O[C@H]2C1 PCTMTFRHKVHKIS-BMFZQQSSSA-N 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000009795 derivation Methods 0.000 description 2
- 238000003379 elimination reaction Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 description 1
- 238000012935 Averaging Methods 0.000 description 1
- 208000012661 Dyskinesia Diseases 0.000 description 1
- ATJFFYVFTNAWJD-UHFFFAOYSA-N Tin Chemical compound [Sn] ATJFFYVFTNAWJD-UHFFFAOYSA-N 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000001939 inductive effect Effects 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 230000000116 mitigating effect Effects 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/73—Deblurring; Sharpening
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20021—Dividing image into blocks, subimages or windows
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20172—Image enhancement details
- G06T2207/20201—Motion blur correction
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Image Processing (AREA)
Abstract
本发明公开了一种基于异构计算的图像去抖动***。该***包括中央处理单元,图形处理单元以及存储器,其中在所述中央处理单元的控制下,所述图形处理单元接收所述第一帧图像,并确定待取特征点的位置和最小特征值,所述中央处理单元选取最小特征值最大、且两两距离大于预先设定的特定值的前N个像素点作为N个特征点,在所述中央处理单元的控制下,所述图形处理单元生成矩阵M;所述中央处理单元对所述矩阵M进行分解,并对分解所得矩阵去抖动,得到去抖的特征点坐标;在所述中央处理单元的控制下,所述图形处理单元基于去抖的特征点坐标进行图像重建。通过本发明能够获得高清晰度和低抖动性的视频图像。
Description
技术领域
本发明涉及图像处理领域,尤其涉及基于异构计算的图像去抖动***。
背景技术
图像去抖动技术指的是从摄像机的实际运动中去除不期望的无意运动,这样处理后的视频在视觉上将变得平滑,减轻了由于无意运动引起的画面之间的跳动感。
现有的去抖动方法主要分为两大类:光学去抖动和电子去抖动。光学防抖是通过镜头内置的仪器感应相机的抖动,再通过调整镜头内透镜的位置而达到去抖动效果。电子去抖动,是通过电子手段来对图像进行处理,以减轻抖动对图像的影响。电子防抖的方法很多,一种方式是通过陀螺仪等传感器来感知当前相机的抖动情况,从而实现去抖动功能。还有一种方式是通过后期对抖动模糊图像进行图像处理来对图像进行抖动补偿。
采用了加速度计等传感器的方法需要增加一定硬件成本。而通过后期对抖动模糊图像进行图像处理的方法一般计算量很大、且耗时长,无法实现在便携式设备上。
因此,需要一种新颖的去抖动技术,能够至少部分地解决上述现有技术中存在的问题。
发明内容
本发明的目的是提供一种基于异构计算的图像去抖动***。通过本发明的图像去抖动***,可大幅度减少计算量的同时具有非常高的计算效率,降低了硬件设备的配置需求,使得能够在低配置的移动端设备上使用,最后得到的视频图像具有高清晰度和低抖动性的优点。
根据本发明的一个方面,提供一种图像去抖动***,包括中央处理单元,图形处理单元以及存储器,其中所述中央处理单元接收连续的F帧图像中的一帧图像并判断所述一帧图像是否为第一帧图像,在所述中央处理单元的控制下,所述图形处理单元接收所述第一帧图像,并确定待取特征点的位置和最小特征值,所述中央处理单元选取最小特征值最大、且两两距离大于预先设定的特定值的前N个像素点作为N个特征点,在所述中央处理单元的控制下,所述图形处理单元跟踪所述N个特征点在所述F帧图像中的其它帧图像中的坐标,并从中选取m个特征点,利用所述m个特征点的在F帧图像中的坐标生成矩阵M;所述中央处理单元对所述矩阵M进行分解,并对分解所得矩阵去抖动,得到去抖的特征点坐标;在所述中央处理单元的控制下,所述图形处理单元基于去抖的特征点坐标进行图像重建。
进一步地,所述图形处理单元通过连续分层处理确定各帧图像之间的位移矢量。
进一步地,所述m个特征点为在F帧图像中皆出现的特征点。
进一步地,所述中央处理单元将所述矩阵M分解为矩阵C和矩阵E,所述矩阵E为所述m个特征点中的多个代表点的轨迹矩阵,所述矩阵C为所述m个特征点与所述多个代表点之间的几何关系。
进一步地,当所述中央处理单元已处理所述F帧图像中的δ帧之后,移除所述矩阵M中的γδ个点,引进后续的δ帧,添加后面帧中γδ个皆出现的特征点,由此所述矩阵M变为矩阵M1。
进一步地,所述中央处理单元对所述矩阵E的行向量进行光滑化处理。
进一步地,所述图形处理单元通过平移、旋转和/或缩放方式使每帧图像从其原始位置校正到光滑的运动轨迹上的位置。
进一步地,所述图形处理单元基于去抖的特征点坐标进行保持图像内容的扭转重建。
进一步地,所述图形处理单元用于将图像划成网格,计算去抖后的网格顶点坐标和网格内各点的坐标,并将各点坐标插值成为整数点。
进一步地,所述图形处理单元对去抖后网格进行如下限制:去抖后网格尽可能保持原来直角三角形网格的刚性;去抖后网格要与控制点尽可能的一致。
进一步地,在对图像进行重建的过程中,如果当前图像边缘像素丢失,使用当前图像之前和/或之后的图像中的像素进行回填,并将这些图像无缝地融合以生成新的图像。
与现有技术相比,本发明的所提供的方案计算量小、计算效率高、对硬件设备的配置要求不高、并且能够获得高清晰度和低抖动性的视频图像。
附图说明
为了进一步阐明本发明的各实施例的以上和其它优点和特征,将参考附图来呈现本发明的各实施例的更具体的描述。可以理解,这些附图只描绘本发明的典型实施例,因此将不被认为是对其范围的限制。在附图中,相同或相应的部件将用相同或类似的标记表示。
图1示出根据本发明的一个实施例的异构计算***100。
图2示出根据本发明的一个实施例的视频去抖动方法的流程图200。
图3示出根据本发明的一个实施例的运动分析的离散结果按时间的累积。
图4示出了根据本发明的一个实施例的矩阵分解图。
图5示出根据本发明的一个实施例将图像划分成网格的示意图。
图6示出根据本发明的一个实施例的相对坐标的示意图。
图7示出根据本发明的一个实施例方程组系数A的记法的示意图。
图8示出根据本发明的一个实施例的三角形变形保持内部的比例关系的示意图。
具体实施方式
在以下的描述中,参考各实施例对本发明进行描述。然而,本领域的技术人员将认识到可在没有一个或多个特定细节的情况下或者与其它替换和/或附加方法、材料或组件一起实施各实施例。在其它情形中,未示出或未详细描述公知的方法或操作以免造成本发明的各实施例的诸方面晦涩。类似地,为了解释的目的,阐述了特定数量和配置,以便提供对本发明的实施例的全面理解。然而,本发明可在没有特定细节的情况下实施。
图1示出根据本发明的一个实施例的异构计算***100。异构计算***100包括中央处理单元(CPU)110和图形处理单元(GPU)120。中央处理单元(CPU)110和图形处理单元(GPU)120接收主机侧命令队列。
下面结合图1描述基于异构计算的图像去抖动方法。在本发明提供的视频去抖动方法中,首先从待处理视频取连续的F帧图像,从这些帧中提取特征点,实时计算这些特征点的位置;然后运用统计学方法拟合特征点的光滑运动轨迹,将每帧图像从其原始位置校正到光滑运动轨迹位置。
图2示出根据本发明的一个实施例的视频去抖动方法的流程图200。将待处理视频中的连续F帧图像作为处理对象。本发明公开的视频去抖动流程是在CPU 110的控制下完成的。CPU 110接收图像I,并判断该图像I是否是第一帧图像。如果图像I是第一帧图像,则将图像I提供给GPU 120,并在步骤210,从该图像I中选取N个特征点。如果图像I不是第一帧图像,则将图像I提供给GPU 120,并在步骤220,跟踪与第一帧图像对应的N个特征点在F帧图像中的其余帧中的坐标,从中选取其中m个点存到矩阵M。
特征点要求具有显著的纹理特征,即图像中具有代表性以及健壮性的点。
可通过各种方法来确定特征点。例如,可使用FAST特征点检测算法或SIFT(Scale-invariant feature transform)局部特征点检测算法。
在本发明的一个实施例中,可采用如下方法从第一帧中选取N个特征点,设第一帧为图像I(x,y),定义以下矩阵[1]:
其中W为几个像素的像素块,Ix表示图像I(x,y)在x方向上的梯度Ix(x,y)=[I(x+1,y)–I(x–1,y)]/2,Iy表示图像I(x,y)在y方向上的梯度Iy(x,y)=[I(x,y+1)–I(x,y–1)]/2。
在CPU 110的控制下,可由GPU 120接收图像I(x,y),并基于图像I(x,y)生成灰度图Ig,然后计算梯度Ix和梯度Iy。
通过GPU 120计算矩阵[1]的两个特征值为:
取公式[2]中的最小特征值λ=min{λ1,λ2}。
在CPU 110的控制下,通过GPU 120记录各个待取特征点的位置(x,y)和最小特征值λ,并对各个待取特征点的最小特征值λ进行排序。
特征点要求具有显著的纹理特征,即图像中具有代表性以及健壮性的点,这就要求两个特征值皆为充分大的正值。因此,通过CPU 110从GPU 120读取各个待取特征点的最小特征值λ的数据,并取最小特征值λ最大、且两两距离大于预先设定的特定值的前N个点。
在步骤220,跟踪N个特征点在F帧图像中的其余帧中的坐标,从中选取其中m个在所有帧中都出现的点存到矩阵M。在本发明的实施例中,可在CPU 110的控制下,由GPU 120采用各种匹配算法确定N个特征点在其余帧中的坐标。
例如,可采用SAD(绝对差之和)图像匹配算法确定N个特征点在各个帧中的坐标。
首先,考虑特征点在各个帧之间的位移足够小的情况。
在第t+1帧中,构造由若干像素组成的像素块w(例如,10×10像素块),特征点(x,y)位于像素块w内。设J(x)=I(x,y,t+1),并且I(x-d)=I(x-u,y-v,t),为了简化省略时间变量t,可得:
J(x)=I(x-d)+n(x) [3]
其中n表示噪声,I(x,y,t+1)表示在第t+1帧中像素点(x,y)的像素值,I(x-u,y-v,t)表示在第t帧中像素点(x-u,y-v)的像素值,d=(u,v)表示位移矢量。
像素块w区域内像素点(x,y)与(x-u,y-v)的差的平方和为∫w[I(x-d)-J(x)]2dx。对于不同的位移矢量d,将得到不同的平方和。当t+1帧与t帧的像素块最相似时,该平方和最小,因此在搜索范围内针对位移矢量d的所有可能取值,计算平方和,并且将这些平方和中的最小值所对应的位移矢量d确定为第t+1帧中像素点(x,y)与第t帧中的对应像素点(x-u,y-v)之间的位移矢量。
当位移矢量d较小时,可作出以下近似:
并且令:
对u,v求导,即得最优解为:
然而,当各个帧之间的位移较大时,需要对上述计算方法进行改进。在本实施例中,经由连续的分层处理查找正确的位移矢量。首先,分别在各下采样图像,如I=I↓8,I↓4,I↓2,求得位移矢量,然后以所得的(u,v)放大作为新的初值,获得较精确的位移矢量。
假设已经获得比较粗糙的解(u(n),v(n)),则:
J(n)(x)=I(x-u(n)-du,y-v(n)-dv,t+1) [8]
因此,公式[7]化为:
该方程还可记为:
直接得到
上述过程可归纳为以下步骤:
1.初始化(u,v)为0或上一帧的解或分层处理中粗糙层所得解的上采样;
2.在获得u(n),v(n)的情况下,利用公式[11]得到du,dv,u(n+1)=u(n)-du,v(n+1)=v(n)-dv;
3.更新E、F,重复步骤2,直至du,dv趋向为零。
根据获得的位移矢量,GPU 120可计算出N个特征点在各个帧中的坐标。
基于本发明公开的特征点检测和图像匹配算法运算效率非常高,在嵌入式设备如手机、平板电脑等有限的内存空间存储以及计算资源的产品中拥有很好的应用前景。
将n个特征点轨迹排列为矩阵:
在上面n个点中,取m个在k(k=F)个帧中皆出现的特征点。在特殊情况下,有可能最初不能取得m个这样的特征点,此时需要将k值减小。另外,不能确保在接下来的帧中这些特征点不会消失。
将在k帧中皆出现的m个特征点排列为矩阵M2m×k:
图3示出根据本发明的一个实施例的运动分析的离散结果按时间的累积。
如图3所示,曲线301是特征点坐标的真实轨迹,曲线302是假设另一不抖动相机拍摄的无抖动特征点的轨迹。因此,本发明通过数值拟合合成光滑的运动轨迹,使真实轨迹301无限接近轨迹302。通过平移、旋转和/或缩放等方式使每帧图像从其原始位置校正到光滑的运动轨迹上的位置。
如果对于上面的轨迹矩阵直接进行独立的光滑化处理,由于点数太多,可能会造成图像的几何结构受到严重破坏,弄巧成拙。
因此提取轨迹矩阵的几个(r/2)代表点(其矩阵为E)做光滑化,保持原来的点与这几个点的几何关系C。
即,返回图2,在步骤230,对矩阵M进行分解:
M=M0≈W⊙(C2m×rEr×k) [14]
其中W是二进制掩码矩阵,其中的0指示消失的数据,而1指示存在的数据,符号⊙表示按元素的乘法,即,R=P⊙Q,表示ri,j=pi,j·qi,j。
假设已经对M0进行分解,得到:
可通过CPU 110完成矩阵M0分解。首先,CPU 110从GPU 120读取数据矩阵数据并完成M0分解。
CPU 110判断是否已经处理了δ帧,当CPU 110判断已经处理了δ帧之后,移除上面矩阵的γδ个点,引进后续的δ帧,添加后面帧中γδ个皆出现的特征点。此时轨迹矩阵由M0变为M1,但是这两个矩阵具有相同的部分。参见图4,图4示出了根据本发明的一个实施例的矩阵分解图。
矩阵M1如下:
显然,只有E2和C2是未知的,近似求解这两个矩阵,得到:
对于新的场景切换,初始矩阵M0的化简无法通过上面的方法求解。为了求解矩阵C和E,利用以下方程[19]:
即
可通过列文伯格-马夸尔特非线性最小二程法(Levenberg-Marquardt nonlinearleast squares algorithms)来求解方程[19]。
然后,返回图2,在步骤240,CPU 110可对分解所得的矩阵E的行向量做光滑化处理。在本发明的实施例中,可通过各种光滑方法进行处理。例如,可通过高斯滤波进行光滑处理,对行向量进行加权平均,每一个像素点的值都由其本身和邻域内的其他像素值经过加权平均后得到。还可以通过多项式拟合进行光滑处理。
最终可获得得到m个特征点的下列信息:
1.未经光滑化的各帧的坐标、所属三角网格,
2.光滑化的各帧的坐标,
3.特征点开始出现的时刻tin,特征点丢失的时刻tout(如果特征点尚未丢失的话,则记为当前的时刻,如t=50)。
在获得光滑化的各帧的特征点坐标之后,在步骤250,进行图像重建。可在CPU 110的控制下,由GPU 120通过各种方法基于去抖后的特征点坐标进行图像重建。
下面介绍根据本发明的一个实施例的保持图像内容的扭转重建。首先,将图像划成方形网格。在本发明的一个实施例中,每个小的方形为10×10像素块,再将方形网格划成两个三角网格,如图5所示。图5示出根据本发明的一个实施例将图像划分成网格的示意图。
利用去抖后的m个特征点求得去抖后的网格顶点{Vi,j},再利用去抖后的网格顶点{Vi,j}求得这些顶点所构成的三角网内各点的坐标。
对各点的坐标进行插值使得各个坐标为整数。
下面详细描述重建图像的具体细节和工作过程。
首先将图像区域均匀划成n×m,每个网格约为10×10像素块,bVi,j代表网格上的顶点,m个特征点坐标{bPk}。符号bVi,j、bPk代表去抖前的数据,而符号的Vi,j、Pk代表去抖后的数据。经过前面的去抖处理,去抖后的特征点坐标Pk已经确定,但去抖后的网格顶点E={Vi,j}未知。
每个特征点未必在这些网格的顶点上,现在需要计算出{Pk}所在的网格对应的顶点集合C=Constraints={Vi,j}。一旦集合C上的点都计算出来了,就可以利用五十岚健夫(Takeo Igarashi)方法求出其他的网格顶点的坐标D=E|C。在得到所有三角网格的坐标以后,利用仿射变换就可以将三角形内所有点的坐标都求出来了。
在选取特征点的过程中,可以限定两个特征点间最短的距离,保证每个四边形网格里至多有一个特征点。一旦确定特征点的坐标,即可确定相应的网格的四个顶点坐标,设这些顶点的集合为CV。
在本发明的一个实施例中,将N1×N2图片划成n×m像素块,则对于点P=(x,y),若xN1/n,yN2/m皆为整数,那么点P就是网格上的顶点。
设变换后网格的顶点为{Vi,j},现在我们要对变换后网格做两个限制:1.新网格尽可能保持原来直角三角形网格的刚性——相似性变换项Es;2.新的网格要与控制点尽可能的一致——数据项Ed。
因此可归纳为:
对于图5所示的三角形网格,存在两种三角形:△i,j和△i,j,2,二者两两间隔。
保持三角网格的刚性含义如下:
即,
故对三角形ABC所引入的刚性限制为:
min||Vi,j-Vi+1,j+βR(Vi+1,j+1-Vi+1,j)||2 [23]
但考虑到每个点(i,j)为6个三角形的公共点,对这几个三角形的刚性限制累加,并引入权值ωi,j、ωi,j,2,则对点Vi,j的刚性限制为:
E8=ωi,j||Vi,j-Vi+1,j+βR(Vi+1,j+1-Vi+1,j)||2
+ωi,j,2Vi+1,j+1-Vi,j+1+βR(Vi,j-Vi,j+1)||2
+ωi-1,j||Vi-1,j-Vi,j+βR(Vi,j+1-Vi,j)||2
+ωi-1,j-1||Vi-1,j-1-Vi,j-1+βR(Vi,j-Vi,j-1)||2
+ωi-1,j-1,2||Vi,j-Vi-1,j+βR(Vi-1,j-1-Vi-1,j)||2
+ωi,j-1,2||Vi+1,j-Vi,j+βR(Vi,j-1-Vi,j)||2 [24]
强调三个点变化比较明显的三角形,尽可能的保持原来的形状。ωi,j为三角形Vi, jVi+1,jVi+1,j+1所有点的颜色变化,设Vi,j=(xi,yj),将三角形Vi,jVi+1,jVi+1,j+1定义为:
ΔVi,jVi+1,jVi+1,j+1=:{(xi+I,yj+J)|0≤I≤GridLength,0≤J≤width,J≤βI} [25]
关于RGB求方差,得到
ωi,j,2为三角形Vi,jVi,j+1Vi+1,j+1所有点的颜色变化。
ωi,j,2对应的三角形为:
ΔVi,jVi,j+1,jVi+1,j+1=:{(xi+I,yj+J)|0≤I≤GridLength,0≤J≤GridWidth,J≥βI} [27]
对Es关于Vi,j=(ui,j,vi,j)求导得到:
其中
得到关于ui,j,vi,j的线性方程组:
考虑特征点位置的移动对整个网格的影响,使得特征点周围的点尽可能的与之保持一致的移动,即满足以下方程式:
其中:
·Vk1,Vk2,Vk3为特征点Pk所在的三角网格的顶点;
·φk1,φk2,φk3为Pk由上面三个顶点的系数。
由图5的网格划分可知,对应的特征点P=(x,y)可能落于网格ACBD的两个三角形的边上或内部,利用平面向量共面的知识,P可由ABC或ADC的点唯一表出。对任意特征点P,必存在一个三角网格,如ABC满足:P=φAA+φBB+φCC,其中φA+φB+φC=1。
现在求出这些系数φ。
现在对所有网格的顶点(如A=(Ax,Ay)),设有n×m个网格顶点,开一个二维系数数组φ[n][m],
·初始化皆为0
·对包含特征点的网格顶点,则φA可能不为0。
下面是对特征点Pk逐点分析,依据图6,Pk=(pkx,pky)(pkx,pky=0,1,2,…)若在选取特征点的时候就保证了每个网格至多有一个特征点,那么取
i=int pkx/栅格长度,j=int pky/栅格宽度 [32]
则立即可求出图中ABCD四个顶点的坐标,以及其所对应的网格顶点分别为
A→Vi,j,B→Vi+1,j+1,C→Vi,j+1,D→Vi+1,j
下面根据图6,讨论这些系数的求法:
取x=px/栅格长度,y=py/栅格宽度 [33]
由于在特征点的跟踪阶段返回了每个特征点所在的三角网格,因此存在两种情况:
1.参见图6,如果点P∈△ABC,
结果P=(1-b)A+aB+(b-a)C,
即φA=1-b,φB=a,φC=b-a,
2.参见图6,如果点P∈△ABD,
结果P=(1-a)A+bB+(a-b)D,
求解公式[20]的最优解,上面的Es方程仅仅为一部分,考虑到Ed部分项比较少,因此直接在公式[30]的基础上,对其系数进行更新。为了获得更新数据不会产生冲突,对逐个的Pk,依次更新A→B→C→D。
为简明起见,设Pk由A,B,C,D四点表出,则对于第t帧,
其中T=50,设tin、tout分别为特征点Pk出现与丢失的时刻,如果tout-tin<2T,则
否则
对Ed关于ui,j,vi,j求导得到:
因此在公式[30]的基础上,引入图7中的系数,则
初值皆取为0,对每个特征点并行的更新下面数据:
上面的4个hk是独立的。
更新了以上系数后,公式[30]可化为:
利用改进的Jacobi迭代(0≤θ<1),可解上面方程:
有了各个网格顶点的坐标,下面可以求解网格内点的坐标。
图8示出根据本发明的一个实施例的三角形变形保持内部的比例关系的示意图。
如图8所示,ABCD的顶点的位置都已经确定了,现在要确定三角形内部以及边界点的位置。由于三角形边界有重合,因此可设:
·而整个图像的右,上两个边界则另外算。
设A(xA,yA)→A′,B(xB,yB)→B′,C(xC,yC)→C′,这些点为已知网格顶点。
1.对于Q∈ΔABC,设Q(xB+i,yB-j),则通过以下伪代码计算三角形ABC内所有点:
其中,Q′,A′,B′,C′代表坐标。
2.对于Q∈ΔACD,设Q(xD-i,yD+j),则通过以下伪代码计算三角形ACD内所有点:
3.对于边界上的点,
(1)像素点在上边界,如Q∈线BC,设Q(xB+i,yB)
for(i=0;i<xC-xB;i++){
Q′=B′+i/GridLength·(C′-B′)
}
(2)像素点在在右边界,如Q∈线CD,设Q(xD,yD+j)
for(j=0;j<yC-yDj++}{
Q′=D′+j/GridWidth·(C′-D′)
}
完成上面操作后,所得到的点并非整数点,需要进行插值成为整数点,即为所求网格内各点坐标。
在本发明的实施例中,在对图像进行重建的过程中,可能会导致图像边缘像素丢失。对于丢失的像素区域,可使用当前图像之前和/或之后的图像中的像素进行回填。在回填丢失的像素区域时,需要将当前图像和用于回填的图像校正到正确的位置,然后将这些图像无缝地融合来生成新的图像。
可以把各实施例提供为可包括其上存储有机器可执行指令的一个或多个机器可读介质的计算机程序产品,这些指令在由诸如计算机、计算机网络或其他电子设备等的一个或多个机器执行时,可以引起一个或多个机器执行根据本发明的各实施例的操作。机器可读介质可以包括但不限于软盘、光盘、CD-ROM(紧致盘只读存储器)和磁光盘、ROM(只读存储器)、RAM(随机存取存储器)、EPROM(可擦除可编程只读存储器)、EEPROM(电可擦除可编程只读存储器)、磁或光卡、闪速存储器或适用于存储机器可执行指令的其他类型的介质/机器可读介质。
此外,可以作为计算机程序产品下载各实施例,其中,可以经由通信链路(例如,调制解调器和/或网络连接)由载波或其他传播介质实现和/或调制的一种或多种数据信号把程序从远程计算机(例如,服务器)传输给请求计算机(例如,客户机)。因此,在此所使用的机器可读介质可以包括这样的载波,但对此不作要求。
附图和前面的描述给出了各实施例的示例。本领域中的技术人员将明白,所描述的元素中的一种或多个可以很好地组合成单个功能元素。备选地,可以把些元素拆分成多个功能元素。可以把来自一种实施例的元素添加到另一实施例。例如,可以改变在此描述的处理的顺序,且不限于在此描述的方式。此外,不必按所显示的次序实现任何流程图的动作;也不必然需要执行所有动作。而且,不依赖于其他动作的那些动作可以与其他动作并行执行。各实施例的范围决不限于这些特定的示例。无论是否在说明书中明确地给出,诸如材料的结构、尺寸和使用的差异等的众多变更都是可能的。各实施例的范围至少是下列的权利要求所指定的那样宽广。
Claims (8)
1.一种图像去抖动***,包括:
中央处理单元,图形处理单元以及存储器,
其中所述中央处理单元接收连续的F帧图像中的一帧图像并判断所述一帧图像是否为第一帧图像,
在所述中央处理单元的控制下,所述图形处理单元接收所述第一帧图像,并确定待取特征点的位置和最小特征值,所述中央处理单元选取最小特征值最大、且两两距离大于预先设定的特定值的前N个像素点作为N个特征点,
在所述中央处理单元的控制下,所述图形处理单元跟踪所述N个特征点在所述F帧图像中的其它帧图像中的坐标,并从中选取m个特征点,利用所述m个特征点的在F帧图像中的坐标生成矩阵M;
所述中央处理单元对所述矩阵M进行分解,将所述矩阵M分解为矩阵C和矩阵E:M=M0≈W⊙(C2m×rEr×k),对M0进行分解,得到:
其中W是二进制掩码矩阵,其中的0指示消失的数据,而1指示存在的数据,符号⊙表示按元素的乘法,所述矩阵E为所述m个特征点中的多个代表点的轨迹矩阵,所述矩阵C为所述m个特征点与所述多个代表点之间的几何关系,当已处理所述F帧图像中的δ帧之后,移除所述矩阵M0中的γδ个点,引进后续的δ帧,添加后面帧中γδ个皆出现的特征点所述矩阵M变为矩阵M1,
矩阵M1如下:
在所述中央处理单元的控制下,所述图形处理单元基于去抖的特征点坐标进行图像重建。
2.如权利要求1所述的***,其特征在于,所述图形处理单元通过连续分层处理确定各帧图像之间的位移矢量。
3.如权利要求1所述的***,其特征在于,所述m个特征点为在F帧图像中皆出现的特征点。
4.如权利要求1所述的***,其特征在于,所述图形处理单元通过平移、旋转和/或缩放方式使每帧图像从其原始位置校正到光滑的运动轨迹上的位置。
5.如权利要求1所述的***,其特征在于,所述图形处理单元基于去抖的特征点坐标进行保持图像内容的扭转重建。
6.如权利要求5所述的***,其特征在于,所述图形处理单元用于将图像划成网格,计算去抖后的网格顶点坐标和网格内各点的坐标,并将各点坐标插值成为整数点。
7.如权利要求6所述的***,其特征在于,所述图形处理单元对去抖后网格进行如下限制:去抖后网格尽可能保持原来直角三角形网格的刚性;去抖后网格要与控制点尽可能的一致。
8.如权利要求1所述的***,其特征在于,在对图像进行重建的过程中,如果当前图像边缘像素丢失,使用当前图像之前和/或之后的图像中的像素进行回填,并将这些图像无缝地融合以生成新的图像。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611055329.3A CN106780365B (zh) | 2016-11-25 | 2016-11-25 | 一种基于异构计算的图像去抖动*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611055329.3A CN106780365B (zh) | 2016-11-25 | 2016-11-25 | 一种基于异构计算的图像去抖动*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106780365A CN106780365A (zh) | 2017-05-31 |
CN106780365B true CN106780365B (zh) | 2020-03-17 |
Family
ID=58912976
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611055329.3A Active CN106780365B (zh) | 2016-11-25 | 2016-11-25 | 一种基于异构计算的图像去抖动*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106780365B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108307076B (zh) * | 2018-03-12 | 2020-05-19 | 宁波大学 | 一种移动智能终端视频去抖动方法 |
CN111063011B (zh) * | 2019-12-16 | 2023-06-23 | 北京蜜莱坞网络科技有限公司 | 一种人脸图像处理方法、装置、设备和介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103745449A (zh) * | 2013-12-24 | 2014-04-23 | 南京理工大学 | 一种搜跟***中航拍视频的快速自动拼接技术 |
CN104471612A (zh) * | 2012-06-27 | 2015-03-25 | 奥林巴斯株式会社 | 图像处理装置以及图像处理方法 |
CN105976330A (zh) * | 2016-04-27 | 2016-09-28 | 大连理工大学 | 一种嵌入式雾天实时视频稳像方法 |
-
2016
- 2016-11-25 CN CN201611055329.3A patent/CN106780365B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104471612A (zh) * | 2012-06-27 | 2015-03-25 | 奥林巴斯株式会社 | 图像处理装置以及图像处理方法 |
CN103745449A (zh) * | 2013-12-24 | 2014-04-23 | 南京理工大学 | 一种搜跟***中航拍视频的快速自动拼接技术 |
CN105976330A (zh) * | 2016-04-27 | 2016-09-28 | 大连理工大学 | 一种嵌入式雾天实时视频稳像方法 |
Non-Patent Citations (2)
Title |
---|
基于块匹配和局部子空间的视频稳像方法研究;李棱铱;《中国优秀硕士学位论文全文数据库 信息科技辑》;20160315(第03期);I138-6185 * |
海上视频的去抖方法研究;王峰;《中国优秀硕士学位论文全文数据库 信息科技辑》;20161115(第11期);I138-268 * |
Also Published As
Publication number | Publication date |
---|---|
CN106780365A (zh) | 2017-05-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106780370B (zh) | 一种图像去抖动设备及其方法 | |
US8102428B2 (en) | Content-aware video stabilization | |
US8885880B2 (en) | Robust video stabilization | |
KR101021409B1 (ko) | 비선형 다중 모션 모델 및 이동 경계 추출을 위한 방법 및 장치 | |
US8335403B2 (en) | Soft edge smoothness prior and application on alpha channel super resolution | |
CN106851046A (zh) | 视频动态超分辨率处理方法及*** | |
CN106878612B (zh) | 一种基于在线全变差优化的视频稳定方法 | |
Rabin et al. | Removing artefacts from color and contrast modifications | |
CN107564063B (zh) | 一种基于卷积神经网络的虚拟物显示方法及装置 | |
CN110047091B (zh) | 一种基于相机轨迹估计和特征块匹配的稳像方法 | |
CN106780365B (zh) | 一种基于异构计算的图像去抖动*** | |
WO2023109008A1 (zh) | 气动光学效应空变模糊图像复原方法及*** | |
Lee et al. | Fast 3D video stabilization using ROI-based warping | |
CN113905147A (zh) | 一种船用监控视频画面去抖方法、装置以及存储介质 | |
Al Ismaeil et al. | Enhancement of dynamic depth scenes by upsampling for precise super-resolution (UP-SR) | |
Calvetti et al. | Image inpainting with structural bootstrap priors | |
Ge et al. | Point cloud optimization of multi-view images in digital image correlation system | |
Qiao et al. | Temporal coherence-based deblurring using non-uniform motion optimization | |
Wang et al. | Superpixel-based color–depth restoration and dynamic environment modeling for Kinect-assisted image-based rendering systems | |
CN115205456A (zh) | 三维模型构建方法、装置、电子设备及存储介质 | |
CN110830848B (zh) | 图像插值方法、装置、计算机设备和存储介质 | |
CN114118367A (zh) | 增量式神经辐射场构建的方法及设备 | |
Cuesta et al. | Grey-level intensity measurements processing by means of Volterra equations and Least Squares Method for Video restoration | |
JP3634878B2 (ja) | 画像符号化装置 | |
Imamura et al. | Scalable Architecture for High-Resolution Real-time Optical Flow Processor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |