CN105282399A - 基于数字电路和稀疏点配准的零延迟电子稳像方法 - Google Patents

基于数字电路和稀疏点配准的零延迟电子稳像方法 Download PDF

Info

Publication number
CN105282399A
CN105282399A CN201510686027.5A CN201510686027A CN105282399A CN 105282399 A CN105282399 A CN 105282399A CN 201510686027 A CN201510686027 A CN 201510686027A CN 105282399 A CN105282399 A CN 105282399A
Authority
CN
China
Prior art keywords
image
digital circuit
datum mark
streamline
frame
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.)
Granted
Application number
CN201510686027.5A
Other languages
English (en)
Other versions
CN105282399B (zh
Inventor
肖晗
何文浩
宋海涛
原魁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Institute of Automation of Chinese Academy of Science
Original Assignee
Institute of Automation of Chinese Academy of Science
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Institute of Automation of Chinese Academy of Science filed Critical Institute of Automation of Chinese Academy of Science
Priority to CN201510686027.5A priority Critical patent/CN105282399B/zh
Publication of CN105282399A publication Critical patent/CN105282399A/zh
Application granted granted Critical
Publication of CN105282399B publication Critical patent/CN105282399B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明公开了一种基于数字电路和稀疏点配准的零延迟电子稳像方法,属于图像处理领域。为了解决电子稳像的实时计算问题,本发明实施例设计了一种适合用数字电路实现且基于并行计算的稀疏点配准算法,并在此基础上设计了完整的实时电子稳像方案,开发了以FPGA为计算主体的原型系统,将包括图像抖动补偿在内的99%以上的计算量都实现在了数字电路流水线上。无论图像分辨率多高,本发明实施例所实现的电子稳像方法都没有任何帧延迟,所有计算都在采集图像的同时完成,实现了最佳的实时性能。该方法能够在摄像头发生大幅度旋转抖动和平移抖动的情况下最大限度地维持视频的稳定,而且不针对任何特定场景,摄像头可随意运动,转向任意场景。

Description

基于数字电路和稀疏点配准的零延迟电子稳像方法
技术领域
本发明实施例涉及图像处理领域,尤其是涉及一种基于数字电路和稀疏点配准的零延迟电子稳像方法。
背景技术
无论是手持摄像头,还是汽车、飞机上的摄像设备,都不可避免地存在摄像头的抖动,从而造成视频图像的抖动,这给观测和后续处理带来不便。为了消除或减弱图像的抖动,稳像技术应运而生。传统的机械稳像、光学稳像技术通常需要陀螺、伺服系统等昂贵的设备。相比之下,电子稳像技术完全依靠图像处理来消除视频的抖动,不仅能够降低成本,而且能够减小系统的体积和重量。
虽然电子稳像技术已经有将近30年的发展历史,但是由于图像处理涉及到巨大的运算量,计算的实时性仍然是制约电子稳像技术发展的主要瓶颈。电子稳像算法通常包括图像预处理、帧间特征配准、低通滤波(分离高频抖动)、抖动补偿四个步骤。其中,图像预处理和帧间特征配准占据了90%以上的计算量,而图像预处理、帧间特征配准、抖动补偿这三个步骤则占据了99%以上的计算量。因此,只有彻底解决这三个步骤的计算实时性问题,才能从根本上解决电子稳像的瓶颈问题,使实时电子稳像技术得到广泛应用。
在以CPU为核心的传统计算平台上,人们设计了各种电子稳像算法,力求降低计算量,提高实时性。对于帧间特征配准,代表性的算法有灰度投影法、块匹配法、相位法、光流场法、位平面法、特征点匹配法等等。当摄像头发生大幅度旋转抖动时,以灰度投影法为代表的许多方法都会失效。光流场法计算量巨大,难以实时计算。虽然特征点匹配法能够在大幅度旋转和平移下实现准确的帧间特征配准,但是其计算实时性仍然有待提高。
从这些年的发展来看,无论CPU的性能如何提高,如果仅仅依靠CPU的串行指令计算来处理图像和视频数据,实现高性能的实时电子稳像仍然是一件非常困难的事情。特别是对于高分辨率的图像和视频,CPU的局限性就更加明显。为此,人们将目光转向并行计算。GPU(GraphicsProcessingUnit,图形处理单元)和FPGA(FieldProgrammableGateArray,在线可编程逻辑阵列)是两类具有并行计算能力的器件。其中,GPU是由许多小计算单元构成的阵列,而FPGA则直接用逻辑门、触发器等底层元件构成的数字电路来实现计算功能。由于FPGA是一种完全彻底的硬件计算,其功耗低于GPU,而计算的并行性高于GPU。如果采用FPGA进行开发,有望通过低功耗的硬件并行计算实现高速的实时图像处理。因此,尽管FPGA的开发难度很大,人们仍然坚持不懈地进行了基于FPGA的图像处理和电子稳像研究,参见《基于FPGA的嵌入式图像处理系统设计》,DonaldG.Bailey著,原魁、何文浩、肖晗译,电子工业出版社,2013,ISBN:9787121195976.
一些研究者已将位平面法或其改进版本实现在了FPGA上,能够补偿图像的平移抖动,而对于图像的旋转抖动仍然无能为力。要检测和补偿图像的旋转抖动,最有效的方法还是特征点匹配法。但由于特征点的检测、描述符向量的提取、匹配搜索都需要很大的计算量,并且步骤复杂,不易在FPGA上实现,一些研究者采用了FPGA加多个DSP的系统方案,将图像预处理放在FPGA上,而将其余的计算都交给DSP们去完成。这种方案本质上还是一种多CPU的计算方案,对FPGA的计算能力开发得还是很不充分。
对于如何用FPGA检测特征点,一些学者进行了专门的研究,参见HanXiao,WenhaoHe,KuiYuan,etal.,"Real-timeSceneRecognitiononEmbeddedSystemwithSIFTKeypointsandaNewDescriptor,"in2013IEEEInternationalConferenceonMechatronicsandAutomation,2013,pp.1317-1324.肖晗,"基于FPGA与DSP的SIFT特征点检测与匹配方法研究,"博士学位论文,北京:中国科学院自动化研究所,中国科学院研究生院,2011.然而,现有的方法仅能用FPGA进行特征点的位置检测,或者用FPGA辅助CPU进行描述符向量的提取计算,对于匹配搜索的任务,则只能交由CPU来完成。
如果能将图像预处理、特征点的检测、特征描述符的提取、匹配特征点的搜索这一系列计算任务都实现在FPGA上,用一条硬件流水线完成计算,那么势必极大地提高计算的并行性。然而,这一设想确实难以实现。其根本原因在于特征点的数量随场景内容而变化,有的场景特征点太多,有的场景则太少,而且很多特征点的位置都不够稳定。
另一方面,如图1所示,传统的电子稳像系统都是在采集完一帧图像之后才对其进行处理,这样每一帧图像所占用的时间都由三个部分组成:图像采集时间、处理时间、存储结果时间。由于处理图像和存储结果都至少要将图像中的所有像素扫描一遍,因此传统电子稳像系统的延迟都在2帧以上。
有鉴于此,特提出本发明。
发明内容
本发明实施例的主要目的在于提供一种基于数字电路和稀疏点配准的零延迟电子稳像方法,以解决如何提高电子稳像实时性的问题。
为了实现上述目的,采用如下技术方案:
根据一个方面,提供一种基于数字电路和稀疏点配准的零延迟电子稳像方法,其中,以数字电路为计算主体,在通用处理器的协助下,实现如下计算步骤:
步骤1:基于所述数字电路进行图像预处理;
其中,构建流水线,对输入的数字化图像信号进行处理,首先通过滤波来平滑图像,然后计算所述平滑图像中每一点处的灰度梯度,最后通过一定的梯度阈值将所述平滑图像二值化,得到由粗线条勾勒出来的二值图像;
步骤2:基于所述数字电路提取描述符向量;
其中,继续构建流水线,其输入信号为上一步骤得到的所述二值图像,每个像素用一个比特表示;首先在所述二值图像上开辟一个滑动窗口;然后对所述滑动窗口内的局部二值图像提取描述符向量;本步骤与上一步骤连成一条流水线,随着原始图像像素的一个个输入,经过一定的所述流水线的延迟,得到图像中以每个像素位置为中心的一个个局部图像描述符向量;
步骤3:基于所述数字电路选取基准点;
其中,对所述二值图像进行区域划分,在所述流水线处理过程中,对同一个区域内不同像素位置的描述符向量进行比较和甄别,将各维度数值方差最大的那个描述符向量所对应的像素位置作为相应区域内的基准点,根据所述基准点的描述符向量间接估算所述滑动窗口内的黑白像素个数,并据此判断该基准点是否有效,将每个区域的基准点坐标及对应的描述符向量和基准点有效性判断结果都存储下来;本步骤与前述步骤连成一条流水线;
步骤4:基于所述数字电路搜索匹配点;
其中,将处理上一帧时存储下来的所述所有基准点坐标和对应的描述符向量从所在寄存器的输出端引出,然后在当前帧中寻找所述基准点的匹配点;以所述每个基准点为中心,在一定的半径范围内寻找所述匹配点,以描述符向量的距离作为匹配标准,在所述一定的半径范围内寻找与所述基准点描述符向量距离最小的那个描述符向量,其所对应的像素位置就是该基准点的匹配点;本步骤的计算流水线接在步骤2后面,与步骤3并行,也就是说所述数字电路的计算流水线经过所述步骤1、所述步骤2之后就产生了分叉,分别流向所述步骤3、所述步骤4两个并行的计算分支,其中所述步骤3得到供下一帧使用的所有基准点,所述步骤4得到上一帧的每个基准点在当前帧的匹配点;
步骤5:基于所述通用处理器进行低通滤波;
其中,所述数字电路在处理完每一帧二值图像之前,将所述上一帧中的基准点坐标及所述当前帧中所对应的匹配点坐标都传给所述通用处理器,所述通用处理器在此基础上通过求解方程组得到帧间变换参数,然后结合历史记录完成低通滤波计算,分离出高频抖动,并将下一帧的抖动补偿参数传给所述数字电路;
步骤6:基于所述数字电路进行抖动补偿;
其中,所述数字电路根据所述通用处理器传来的所述抖动补偿参数,对输入的每个像素进行实时变换,将所述输入的每个像素变换到新位置,而像素的数值保持不变;本步骤与前述所有步骤并行,也就是说,每一帧所述数字化图像输入所述数字电路后都由两个并行的流水线分支进行处理,一个分支完成所述步骤1到所述步骤4的计算,另一个分支则完成本步骤的计算。
优选地,所述步骤2中的描述符向量提取具体包括:
步骤21:在所述滑动窗口内画一个内切圆,再将所述内切圆等分成N个扇形,对所述每个扇形内的像素都采用三角形函数加权,其中以角度为自变量,像素越靠近扇形的中轴线权值越高,越偏离中轴线权值越低,内切圆之外的像素权值都为0;
步骤22:计算出所述每个扇形内的像素加权之和,得到N个数值,构成N维向量;
其中上述计算步骤完全在数字电路流水线上完成。
优选地,所述N取8。
本发明实施例中的一个或多个技术方案,至少具有如下一个或多个技术效果:
在本发明实施例中,为了解决电子稳像系统的实时计算问题,特别是针对当前许多实时电子稳像系统无法处理图像大幅度旋转抖动的问题,本发明实施例设计了一种适合用数字电路实现的基于并行计算的稀疏点配准算法,并在此基础上设计了完整的实时电子稳像方案,开发了以FPGA为计算主体的原型系统,将包括图像抖动补偿在内的99%以上的计算量都实现在了FPGA内的数字电路流水线上。无论图像分辨率多高,本发明实施例所提出的电子稳像方法都没有任何帧延迟,所有计算都在采集图像的同时完成,实现了最佳的实时性能。本发明实施例能够在摄像头发生大幅度旋转抖动和平移抖动的情况下最大限度地维持视频的稳定。本发明实施例不针对任何特定场景,摄像头可以随意运动,转向任意场景。通过调节该方法中的参数可以改变视频图像的稳定程度。
本发明实施例的另一个重要特色是基于数字电路流水线的实时抖动补偿。通过提前计算出下一帧的抖动补偿参数,数字电路可以在采集每一帧图像的时候都实时地对它进行变换,将每个像素都变换到新位置,以消除或减弱摄像头抖动的影响。在基于本发明实施例的电子稳像系统中,图像采集、图像处理和最终图像的存储,这三个步骤的计算时间是重合在一起的,因此没有任何帧延迟。
本发明实施例依靠通用处理器完成解方程组和低通滤波的计算,以分离高频抖动。这部分计算在总计算量中占的比重不到1%,所耗时间极短,而且与图像的分辨率无关。例如,在TI公司的TMS320DM642型DSP上测试,在采用9个稀疏点时,这部分计算量只需要大约0.2ms的时间。处理器上的这部分计算与数字电路中的流水线计算是并行的,安排在数字电路处理每一帧图像最后几十行像素的期间。
因为本发明实施例将绝大部分计算量都实现在了由逻辑门、触发器等底层元件构成的数字电路中,并且采用的是流水线计算方式,无需缓存整帧图像,所以本发明实施例在硬件成本和耗电量上都远远低于现有的其它电子稳像系统。本发明实施例对摄像头大幅度旋转抖动和平移抖动的补偿能力以及零延迟的实时性能,都在基于FPGA的原型系统中得到了验证。无论图像的分辨率和帧率是多少,本发明实施例所提出的电子稳像方法都没有帧延迟,这使得它具有广阔的应用前景。例如,根据本发明的算法方案开发ASIC,可以制成一个体积非常小、功耗非常低的电子稳像芯片,将其应用在手机上,可以解决一个困扰人们很久的普遍问题——用手机拍摄录像时由于手的抖动而造成的视频图像抖动。
附图说明
附图作为本发明实施例的一部分,用来提供对本发明实施例的进一步理解。本发明实施例的示意性说明用于解释本发明实施例,但不构成对本发明实施例的不当限定。显然,下面描述中的附图仅仅是一些实施例,对于本领域普通技术人员来说,在不付出创造性劳动的前提下,还可以根据这些附图获得其他附图。在附图中:
图1为传统处理方式下的电子稳像计算步骤示意图;
图2为根据本发明一示例性实施例示出的电子稳像原理示意图;
图3为图2所示电子稳像原理示意图的详细流程图;
图4a为在数字电路中实施5×5高斯滤波时的纵向滤波缓存原理示意图;
图4b为在数字电路中实施5×5高斯滤波时的横向滤波缓存原理示意图;
图5a为计算纵向梯度的Sobel算子示意图;
图5b为计算横向梯度的Sobel算子示意图;
图6a为根据一示例性实施例示出的灰度图像实例图;
图6b为由Sobel算子结合一定的梯度阈值从灰度图像得到粗线条边缘图像的实例图;
图7为根据一示例性实施例示出的用于计算8维描述符向量的加权模板外观特征示意图;
图8为采用41×41滑动窗口时本发明实施例所提出的加权模板具体数值示意图;
图9为根据一示例性实施例示出的在二值图像显示方式下的实时电子稳像实验录像截图;
图10为根据一示例性实施例示出的在灰度图像显示方式下的实时电子稳像实验录像截图。
这些附图和文字描述并不旨在以任何方式限制本发明的构思范围,而是通过参考特定实施例为本领域技术人员说明本发明实施例的概念。
具体实施方式
需要说明的是,在没有明确限定或不冲突的情况下,本申请的实施例及实施例中的技术特征可以相互组合。下面将参考附图并结合实施例对本发明实施例进行进一步详细说明。显然,所描述的实施例仅仅是本申请的一部分实施例,而不是全部的实施例。基于本申请的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都应当属于本申请的保护范围。
需要说明的是,本文中涉及到的参数数值都是本发明实施例优选的数值或原型系统中采用的数值,并不是一成不变的,在具体实施时,可以做一些变动。
需要说明的是,在实际应用中,本发明实施例以数字电路为计算主体,并辅以通用处理器。其中,数字电路包括但不限于ASIC、FPGA、CPLD等,在本文中,本发明实施例以FPGA来指代数字电路;通用处理器包括但不限于PC机、工控机、DSP、ARM处理器、软核处理器等以CPU为核心的处理器。待处理图像可以通过摄像头来获得。
本发明实施例的核心思想是设计一种新算法来代替传统的特征点检测和匹配算法,这种新算法既要继承特征点算法的优点,又要适合在数字电路中用流水线并行计算实现,这样才能在摄像头发生大幅度旋转抖动和平移抖动的情况下实现快速而准确的帧间特征配准。如果将所有计算都实现在FPGA的数字电路流水线上,在采集图像的同时完成相应的处理计算,就可以使图像采集时间和处理时间重合,从而省去额外的处理时间。更进一步,如果能够提前计算出下一帧图像的抖动补偿参数,FPGA便可以在采集图像的同时就进行抖动补偿计算,将输入的每个像素实时地变换到新位置,使得存储结果时间也与图像采集时间重合。按照这种方案就可以实现零延迟的电子稳像,仿佛从摄像头得到的就是稳定的视频,一般没有任何帧延迟。而这一切都依赖于基于数字电路流水线的并行算法。
本发明实施例提出的稀疏点配准算法,是对传统特征点匹配算法的发展。本发明实施例中采用“稀疏点”这个词,是因为它与特征点一样,是稀疏分布在图像中的。而这种点与特征点最大的区别在于,它完全依靠描述符来重新定位,而不是像传统的特征点(如Harris角点、SIFT特征点、SURF特征点等)那样依靠独立的检测标准来定位。稀疏点的描述符从二值图像中提取,并且在较小的旋转角度下具有不变性,以适应相邻帧之间的旋转运动。稀疏点的选取条件比较宽松,图像中任何有明显灰度变化的位置都可以用来做稀疏点,但为了实现最好的重定位效果,应当选用描述符中各个维度方差较大的稀疏点。稀疏点配准算法完全适合数字电路流水线的计算环境,无论是基准点的选取还是匹配点的搜索都能够在扫描整幅图像的过程中一次完成。
下面结合附图对本发明实施例进行详细说明。
为了解决电子稳像的计算实时性问题,本发明实施例提出了一种基于数字电路和稀疏点配准的零延迟电子稳像方法,该方法以数字电路为计算主体,在通用处理器的协助下进行计算。该方法可以包括步骤1至步骤6。
步骤1:基于数字电路进行图像预处理。
其中,构建流水线,对输入的数字化图像信号进行处理,首先通过滤波来平滑图像,然后计算所述平滑图像中每一点处的灰度梯度,最后通过一定的梯度阈值将平滑图像二值化,得到由粗线条勾勒出来的二值图像。
具体地,如图3所示,像素流输入数字电路后可以分为两支,其中一支计算抖动补偿后的像素新位置,另一支进行高斯滤波。高斯滤波作用在像素的灰度分量上。滤波的目的是使图像平滑,本发明实施例优选使用高斯滤波,但也可以使用其他滤波算法。高斯滤波是可拆分滤波,一个二维高斯滤波模板可以拆分成沿着纵向和横向的两个一维高斯滤波模板。因此,在数字电路中进行高斯滤波时,可以沿着纵向和横向分别滤波一次,将两次滤波连成一条流水线,这样可以节省硬件资源。本发明实施例优选采用长度为5的高斯滤波模板,其数值可取[1,4,6,4,1]。长度为5的纵向高斯滤波需要缓存4行像素,如图4a所示;长度为5的横向高斯滤波需要缓存5个像素,如图4b所示。
由图3可见,高斯滤波之后的步骤是求梯度。这里的“梯度”指的是图像灰度梯度。本发明实施例优选采用Sobel算子求灰度梯度。图5a是求纵向梯度的Sobel算子模板,图5b是求横向梯度的Sobel算子模板。在数字电路流水线中,需要在高斯滤波之后缓存两行灰度像素,开辟一个3×3的滑动窗口,然后在窗口内使用两个Sobel算子,分别计算纵向梯度Dx和横向梯度Dy。按照数学理论,每个像素处的梯度幅值应该为但为了简化计算,本发明实施例优选在数字电路中采用绝对值之和|Dx|+|Dy|来近似代替梯度幅值,这种简化并不会影响应用效果。
在流水线中计算出每个像素位置的梯度幅值之后,需要采用一个梯度阈值来将像素二值化。梯度阈值的选取方法有三种:(1)固定阈值:将阈值固化在数字电路中;(2)半固定阈值:在数字电路中设置一个寄存器来存储该阈值,通过处理器修改寄存器的值来实时调节梯度阈值;(3)自适应阈值:数字电路统计当前帧图像中的梯度直方图,然后从直方图中按照梯度幅值由大到小的顺序选取一定比例的像素数,将得到的分位点作为梯度阈值,供下一帧使用;为防止因自适应阈值过低而带来噪声,应当对阈值的下限进行限制。理论上讲,要更好地适应光照变化,特别是在微弱光线下工作,应当考虑自适应阈值。本发明实施例在开发原型系统时采用的是半固定阈值方法。实验发现,优选采用80作为梯度阈值。图6a显示了根据一示例性实施例示出的灰度图像实例图,该图像经过梯度阈值二值化后,变成一幅粗线条的二值图像,如图6b所示。这种二值图像亦称为“边缘图像”。
步骤2:基于数字电路提取描述符向量。
其中,继续构建流水线,其输入信号为上一步骤得到的二值图像,每个像素用一个比特表示;首先在二值图像上开辟一个滑动窗口;然后对滑动窗口内的局部二值图像提取描述符向量;本步骤与上一步骤连成一条流水线,随着原始图像像素的一个个输入,经过一定的流水线延迟,得到图像中以每个像素位置为中心的一个个局部图像描述符向量。
在一个可选的实施例中,提取二值图像中以每个像素位置为中心的描述符向量,具体可以包括:
步骤:21:在滑动窗口内画一个内切圆,再将内切圆等分成N个扇形,对每个扇形内的像素都采用三角形函数加权,其中以角度为自变量,像素越靠近扇形的中轴线权值越高,越偏离中轴线权值越低,内切圆之外的像素权值都为0;
步骤22:计算出每个扇形内的像素加权之和,得到N个数值,构成N维向量;
其中上述计算步骤完全在数字电路流水线上完成。
在一个优选的实施例中,N取8。
具体地,首先在二值图像上开辟一个滑动窗口,该滑动窗口大小的优选数值为41×41,亦可采用其他大小尺寸;然后对窗口内的局部二值图像提取描述符向量(用于描述窗口内的图像特征),供后续计算步骤使用;随着原始图像像素的一个个输入,经过一定的流水线延迟,得到图像中以每个像素位置为中心的一个个局部图像描述符向量。
由图3可知,在流水线中,在像素二值化之后缓存40行像素,开辟一个41×41的滑动窗口。由于这里缓存的是二值像素,实际消耗的硬件资源是非常少的。当然,这里的参数值也只是本发明实施例的优选值,实际应用时也可以采用其他的数值,例如缓存48行像素,开辟一个49×49的窗口等等。
下面以N取8为例进一步进行说明。在开辟滑动窗口之后,要根据滑动窗口内的众多二值像素计算8维描述符。在数字电路流水线中实现时,通过将滑动窗口内的像素值与加权模板中对应的系数相乘,再分块相加,即可得到最终结果。由于滑动窗口内都是二值像素,这里的“相乘”也就退化成了判断。加权模板的外观如图7所示,整个模板等分成8个扇形,其中越亮的位置权值越高。图8为采用41×41滑动窗口时本发明实施例所提出的加权模板具体数值示意图。从中可以清楚地看到这1681个加权系数是如何取值的。采用这种形式的加权模板,可以确保8维描述符具有小范围的旋转不变性:同一块局部二值图像发生小角度旋转后,按照该加权模板计算出来的8维描述符不会变化太大。随着数字电路流水线对图像的扫描,滑动窗口的中心依次经过每个像素位置,从而产生一系列的8维描述符。流水线后面的步骤就是对每一个新产生的描述符进行甄别,以判断该像素位置是否适合做基准点,或者是否适合做匹配点,如果适合,就记录下相关信息,否则就忽略该描述符。
步骤3:基于数字电路选取基准点。
其中,对二值图像进行区域划分,在流水线处理过程中,对同一个区域内不同像素位置的描述符向量进行比较和甄别,将各维度数值方差最大的那个描述符向量所对应的像素位置作为相应区域内的基准点,根据基准点的描述符向量间接估算滑动窗口内的黑白像素个数,并据此判断该基准点是否有效,将每个区域的基准点坐标及对应的描述符向量和基准点有效性判断结果都存储下来;本步骤与前述步骤连成一条流水线。
在该步骤中,原始图像与二值图像的像素一一对应,采用二值图像只是为了便于处理,就像素位置来讲,没有区别。因此,对图像划分区域,既是对原始图像划分区域,也是对二值图像划分区域。在本发明实施例中,优选地,将二值图像划分为9块区域。
其中,要判断像素位置是否适合做基准点,如图3所示,首先要判断该像素位置是否位于基准点候选区内。所谓基准点候选区,就是图像中预先定义的一些互不重叠的矩形区域。采用多少个稀疏点进行图像配准,就要在图像中划分多少块基准点候选区,每个候选区内最多产生一个基准点。例如,本发明实施例的原型系统中采用了9个稀疏点,图像分辨率为640列×480行,因此在图像中划分了9块基准点候选区,其大小都是153列×99行。
一个像素位置能否做基准点,还要看它的描述符是否“合格”。所以,在计算8维描述符之后还要估算其合格性,如图3所示。从图6b可以看到,边缘图像中存在大量的空白区域,也就是没有线条的地方。当滑动窗口完全位于空白区域内的时候,窗口内显然是没有任何特征的。如果选取这样的像素位置做基准点,就无法重定位。因此,要通过合格性检查来确保滑动窗口内既有白像素又有黑像素,并且数量都不太少。当采用图8所示的加权模板时,本发明实施例优选的合格性标准是:描述符向量8个维度之和在300和13116之间。
通过了合格性检查的像素位置,理论上都可以用来做基准点,但它们的重定位能力不同。一般来讲,描述符向量8个维度上的数值互相之间的差别越大,描述符就越独特,重定位能力也越好。因此,在流水线中要计算每个描述符8个维度数值的方差,以此来衡量描述符的重定位能力。如图3所示,在滑动窗口扫描的过程中,一旦在某个基准点候选区内遇到第一个合格的像素位置,就把该位置的行列坐标、8维描述符及其方差存储下来,作为候选基准点。如图3所示,在接下来的扫描过程中,要将该基准点候选区内每一个新合格位置的描述符方差与当前候选基准点的描述符方差进行比较,判断谁的方差更大。如果新位置的描述符方差更大,就更新候选基准点坐标及描述符,将新位置作为候选基准点位置。这样,最终在每个候选区内选出的基准点都是描述符方差最大的像素位置。基准点的合格性检查结果也要存储下来,这样,一旦某个基准点候选区内没有合格的基准点,处理器能够忽略该候选区的配准结果。
步骤4:基于数字电路搜索匹配点。
其中,将处理上一帧时存储下来的所有基准点坐标和对应的描述符向量从所在寄存器的输出端引出,然后在当前帧中寻找基准点的匹配点;以每个基准点为中心,在一定的半径范围内寻找匹配点,以描述符向量的距离作为匹配标准,在所述一定的半径范围内寻找与基准点描述符向量距离最小的那个描述符向量,其所对应的像素位置就是该基准点的匹配点;本步骤的计算流水线接在步骤2后面,与步骤3并行,也就是说数字电路的计算流水线经过步骤1、步骤2之后就产生了分叉,分别流向步骤3、步骤4两个并行的计算分支,其中步骤3得到供下一帧使用的所有基准点,步骤4得到上一帧的每个基准点在当前帧的匹配点。
在该步骤中,一定的半径范围也称之为“搜索窗”。例如取半径为40个像素,那么搜索窗就是以基准点为中心的81×81窗口。
在实际应用中,如图3所示,需要判断一帧图像是否扫描结束。在一帧图像扫描结束的时候,将每个候选区的基准点坐标和描述符都存储下来,在扫描下一帧图像时搜索它们的匹配点。如图3所示,匹配点的搜索过程与基准点的选取过程是并行的。在上一帧找到的每一个基准点周围确定一个搜索窗,作为与该基准点对应的匹配点搜索范围。搜索窗以基准点的位置为中心,取一个正方形区域。搜索半径越大,允许的相邻帧偏移量越大,动态性能也就越好,但发生误匹配的可能性也会增加。在本发明实施例中,搜索半径优选在20至40个像素之间取值,对应的正方形边长范围是41至81个像素。随着流水线对图像的扫描,搜索窗内每个像素位置的描述符都要与基准点的描述符进行比较。通过计算描述符向量的距离,判断不同像素位置的描述符与基准点描述符的相似程度——向量距离越小,描述符相似程度越高。根据描述符的相似程度不断更新候选匹配点,最后得到与基准点描述符最相似的描述符所对应的像素位置,作为最终的匹配点位置。本发明实施例优选使用1-范数计算向量距离,也就是对每个维度上的数值求差,取绝对值,再求和。在距帧结束还有几十行像素的时候,上一帧的所有基准点在当前帧的匹配点就已经全部得到了。数字电路存储上一帧的基准点和当前帧的匹配点坐标,然后给处理器发送一个信号,通知处理器来读取。
步骤5:基于通用处理器进行低通滤波。
其中,数字电路在处理完每一帧二值图像之前,将上一帧中的基准点坐标及当前帧中所对应的匹配点坐标都传给通用处理器,通用处理器在此基础上通过求解方程组得到帧间变换参数,然后结合历史记录完成低通滤波计算,分离出高频抖动,并将下一帧的抖动补偿参数传给数字电路。
在该步骤中,通用处理器通过求解方程组得到帧间变换参数,即:如图3所示,解方程组确定帧间位置关系。其中,求解方程组即通过多个点的匹配关系,求解两幅图像之间的变换关系。帧间变换参数可以为平移、旋转变换参数。如果要求更高,也可以采用仿射变换、射影变换参数。抖动补偿参数也称之为图像变换参数。
图2示出了摄像机采集一帧图像的原理示意图。由图2可见,数字电路中有两条并行的流水线,一条进行图像预处理和帧间特征配准,另一条进行图像抖动补偿。第一条流水线主要用于完成当前帧与上一帧的稀疏点配准。在规定稀疏点的位置范围时,要避开图像中的最后几十行像素。这样,第一条流水线在距当前帧结尾还有几十行像素的时候,就可以得到配准结果了。处理器从第一条流水线得到该配准结果,然后在数字电路扫描当前帧最后几十行像素的期间完成解方程组和低通滤波计算,分离高频抖动,时间是足够充裕的。处理器完成计算后,得到的是下一帧图像变换参数,也就是抖动补偿参数。处理器将这组参数反馈给数字电路,供其在采集下一帧图像时由第二条流水线进行实时的图像抖动补偿计算,最终输出稳定的视频。
在实际应用中,处理器读取到上一帧中的基准点及当前帧中对应的匹配点坐标后,通过求解方程组可以得到当前帧与上一帧的位置关系。当然,这其中还涉及到剔除误匹配点的问题。这些都有比较成熟的技术,这里不再赘述。接下来,处理器分离高频抖动的方法也有很多,本发明实施例优选采用平均滤波的方法,这是一种简单实用的低通滤波算法。首先,处理器要维护一份历史记录,该历史记录记录过去一段时间内的每一帧相对于当前帧的位置关系。这段时间称为平均滤波的时间窗口,其长度一般取半秒到一秒即可。其次,处理器要根据当前帧与上一帧的位置关系来预测下一帧的位置。最后,处理器计算出时间窗口内所有帧的平均位置相对于下一帧的变换关系,这就是下一帧图像的抖动补偿参数。
其中,时间窗口的长度是一个重要参数。该参数越大,视频图像越稳定,但当摄像头移动时,图像跟上来的速度也越慢。此外,还应该对抖动补偿参数的大小进行限制,以保证图像中始终有足够大的有效区域。
本发明实施例依靠通用处理器完成解方程组和低通滤波的计算,以分离高频抖动。这部分计算在总计算量中占的比重不到1%,所耗时间极短,而且与图像的分辨率无关。例如,在TI公司的TMS320DM642型DSP上测试,在采用9个稀疏点时,这部分计算量只需要大约0.2ms的时间。处理器上的这部分计算与数字电路中的流水线计算是并行的,安排在数字电路处理每一帧图像最后几十行像素的期间。
步骤6:基于数字电路进行抖动补偿。
其中,数字电路根据通用处理器传来的抖动补偿参数,对输入的每个像素进行实时变换,将输入的每个像素变换到新位置,而像素的数值保持不变;本步骤与前述所有步骤并行,也就是说,每一帧数字化图像输入数字电路后都由两个并行的流水线分支进行处理,一个分支完成步骤1到步骤4的计算,另一个分支则完成本步骤的计算。
在该步骤中,数字电路根据通用处理器传来的抖动补偿参数,将输入的每个像素实时变换到新位置,而像素的彩色值或灰度值保持不变。
在实际应用中,处理器计算出时间窗口内所有帧的平均位置相对于下一帧的变换关系,得到下一帧图像的抖动补偿参数。处理器完成这些计算时,当前帧图像还未采集完毕,因此数字电路能够及时得到下一帧图像的变换参数,在采集下一帧图像时,通过抖动补偿流水线将输入的每个像素(无论是彩色像素还是灰度像素)变换到补偿抖动后的新位置,从而得到稳定的视频。
优选地,除步骤5外,步骤1到步骤6在数字电路流水线中计算时,采用同一个时钟信号驱动。
在一个实施例中,采用了一片FPGA、一个DSP处理器、一台PC机,以及一个分辨率为640列×480行、帧率为60帧/秒的灰度摄像头。为了清楚地展示稳像补偿原理,首先做了基于二值图像显示方式的实时电子稳像实验。图9为根据一示例性实施例示出的在二值图像显示方式下的实时电子稳像实验录像截图,该图的分辨率为640列×480行。该实验的计算原理与图3的区别在于,抖动补偿由PC机完成,而且是对二值化后的像素进行抖动补偿计算。图9左图为摄像头稳定不动时的视野图像;图9右图为摄像头猛然发生顺时针旋转时的视野图像。可以看到,图像内容基本上没有发生抖动,摄像头的抖动只影响了图像中的有效区域范围。在图9右图中,图像中边界处的黑色区域范围为无效区域,其余为有效区域。对于图9右图来讲,如果摄像头就此保持不动,那么有效图像区域会慢慢地进行逆时针旋转,直至覆盖整个图像窗口。如果摄像头往复地进行旋转抖动,那么图像内容是基本保持稳定的,只是图像的有效区域在不断变化。
图9的实验中,采用PC机代替数字电路进行图像的抖动补偿计算。也就是说,将图2中的图像抖动补偿计算由数字电路转移到了PC机上。这样做主要是为了将图像中的无效区域全部填充为黑色,从而清楚地显示稳像原理。
图10为根据一示例性实施例示出的在灰度图像显示方式下的实时电子稳像实验录像截图。图10是完全按照图3所示原理实现的灰度图像稳像实验截图。其中,左上图、右上图、右下图三幅图都是摄像头猛然发生逆时针旋转时的视野图像;左下图是摄像头猛然发生顺时针旋转时的视野图像。因为抖动补偿计算是由FPGA完成的,所以图像中的无效区域不能填充为黑色,仍然保留了过去帧中的灰度值。这些无效区域中的像素灰度值是没有意义的。灰度摄像头的分辨率是640列×480行,帧率是60帧/秒。FPGA以零延迟的方式按照摄像头的分辨率和帧率给出稳像后的视频,处理后的每一帧图像都存储在SRAM(StaticRandomAccessMemory,静态随机存储器)中。但由于DSP处理器从SRAM中读取图像的速度以及通过网线向PC机传输图像的带宽都跟不上FPGA的处理速度,目前不得不将图像降采样为320列×240行的分辨率进行显示。由此可见,虽然本发明实施例以零延迟的方式彻底解决了电子稳像的实时计算问题,但在实际应用中开发硬件时,还要注意确保后续的图像传输和显示速度能跟上。
图9和图10中的摄像头抖动既包含旋转成分,也包含平移成分。从图9和图10可以看出,本发明实施例所实现的稳像效果是相当好的,对摄像头的大幅度旋转和平移抖动都能实现很好的补偿。在本发明一个优选的实施例中,开发原型系统时采用的是Altera公司EP3C40F484C6型FPGA,消耗的硬件资源是17050个LE(LogicElement,逻辑单元),78396比特的存储资源,还有26个9位乘法器。这是非常低的硬件成本。
因为本发明实施例将绝大部分计算量都实现在了由逻辑门、触发器等底层元件构成的数字电路中,并且采用的是流水线计算方式,无需缓存整帧图像,所以本发明实施例在硬件成本和耗电量上都远远低于现有的其它电子稳像系统。本发明实施例对摄像头大幅度旋转抖动和平移抖动的补偿能力以及零延迟的实时性能,都在基于FPGA的原型系统中得到了验证。无论图像的分辨率和帧率是多少,本发明实施例的稳像计算过程都不会产生帧延迟,这使得它具有广阔的应用前景。在进行数字电路的原型系统开发或小批量生产时,采用FPGA这样的可编程逻辑器件是很方便的。而对于大批量的生产和应用,则可以设计ASIC(ApplicationSpecificIntegratedCircuit,专用集成电路)。与FPGA相比,ASIC具有更小的体积和更低的功耗。根据本发明实施例的算法方案开发ASIC,可以制成一个体积非常小、功耗非常低的电子稳像芯片,将其应用在手机上,可以解决一个困扰人们很久的普遍问题——用手机拍摄录像时由于手的抖动而造成的视频图像抖动。
上述实施例中的实施方案可以进一步组合或者替换,且实施例仅仅是对本发明实施例的优选实施例进行描述,并非对本发明实施例的构思和范围进行限定,在不脱离本发明实施例设计思想的前提下,本领域中专业技术人员对本发明实施例的技术方案作出的各种变化和改进,均属于本发明实施例的保护范围。

Claims (3)

1.一种基于数字电路和稀疏点配准的零延迟电子稳像方法,其特征在于:
以数字电路为计算主体,在通用处理器的协助下,实现如下计算步骤:
步骤1:基于所述数字电路进行图像预处理;
其中,构建流水线,对输入的数字化图像信号进行处理,首先通过滤波来平滑图像,然后计算所述平滑图像中每一点处的灰度梯度,最后通过一定的梯度阈值将所述平滑图像二值化,得到由粗线条勾勒出来的二值图像;
步骤2:基于所述数字电路提取描述符向量;
其中,继续构建流水线,其输入信号为上一步骤得到的所述二值图像,每个像素用一个比特表示;首先在所述二值图像上开辟一个滑动窗口;然后对所述滑动窗口内的局部二值图像提取描述符向量;本步骤与上一步骤连成一条流水线,随着原始图像像素的一个个输入,经过一定的所述流水线的延迟,得到图像中以每个像素位置为中心的一个个局部图像描述符向量;
步骤3:基于所述数字电路选取基准点;
其中,对所述二值图像进行区域划分,在所述流水线处理过程中,对同一个区域内不同像素位置的描述符向量进行比较和甄别,将各维度数值方差最大的那个描述符向量所对应的像素位置作为相应区域内的基准点,根据所述基准点的描述符向量间接估算所述滑动窗口内的黑白像素个数,并据此判断该基准点是否有效,将每个区域的基准点坐标及对应的描述符向量和基准点有效性判断结果都存储下来;本步骤与前述步骤连成一条流水线;
步骤4:基于所述数字电路搜索匹配点;
其中,将处理上一帧时存储下来的所述所有基准点坐标和对应的描述符向量从所在寄存器的输出端引出,然后在当前帧中寻找所述基准点的匹配点;以所述每个基准点为中心,在一定的半径范围内寻找所述匹配点,以描述符向量的距离作为匹配标准,在所述一定的半径范围内寻找与所述基准点描述符向量距离最小的那个描述符向量,其所对应的像素位置就是该基准点的匹配点;本步骤的计算流水线接在所述步骤2后面,与所述步骤3并行,也就是说所述数字电路的计算流水线经过所述步骤1、所述步骤2之后就产生了分叉,分别流向所述步骤3、所述步骤4两个并行的计算分支,其中所述步骤3得到供下一帧使用的所有基准点,所述步骤4得到上一帧的每个基准点在当前帧的匹配点;
步骤5:基于所述通用处理器进行低通滤波;
其中,所述数字电路在处理完每一帧二值图像之前,将所述上一帧中的基准点坐标及所述当前帧中所对应的匹配点坐标都传给所述通用处理器,所述通用处理器在此基础上通过求解方程组得到帧间变换参数,然后结合历史记录完成低通滤波计算,分离出高频抖动,并将下一帧的抖动补偿参数传给所述数字电路;
步骤6:基于所述数字电路进行抖动补偿;
其中,所述数字电路根据所述通用处理器传来的所述抖动补偿参数,对输入的每个像素进行实时变换,将所述输入的每个像素变换到新位置,而像素的数值保持不变;本步骤与前述所有步骤并行,也就是说,每一帧所述数字化图像输入所述数字电路后都由两个并行的流水线分支进行处理,一个分支完成所述步骤1到所述步骤4的计算,另一个分支则完成本步骤的计算。
2.根据权利要求1所述的基于数字电路和稀疏点配准的零延迟电子稳像方法,其特征在于,所述步骤2中的描述符向量提取具体包括:
步骤21:在所述滑动窗口内画一个内切圆,再将所述内切圆等分成N个扇形,对所述每个扇形内的像素都采用三角形函数加权,其中以角度为自变量,像素越靠近扇形的中轴线权值越高,越偏离中轴线权值越低,所述内切圆之外的像素权值都为0;
步骤22:计算出所述每个扇形内的像素加权之和,得到N个数值,构成N维向量;
其中上述计算步骤完全在数字电路流水线上完成。
3.根据权利要求2所述的基于数字电路和稀疏点配准的零延迟电子稳像方法,其特征在于,所述N取8。
CN201510686027.5A 2015-10-21 2015-10-21 基于数字电路和稀疏点配准的零延迟电子稳像方法 Active CN105282399B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510686027.5A CN105282399B (zh) 2015-10-21 2015-10-21 基于数字电路和稀疏点配准的零延迟电子稳像方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510686027.5A CN105282399B (zh) 2015-10-21 2015-10-21 基于数字电路和稀疏点配准的零延迟电子稳像方法

Publications (2)

Publication Number Publication Date
CN105282399A true CN105282399A (zh) 2016-01-27
CN105282399B CN105282399B (zh) 2018-06-26

Family

ID=55150648

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510686027.5A Active CN105282399B (zh) 2015-10-21 2015-10-21 基于数字电路和稀疏点配准的零延迟电子稳像方法

Country Status (1)

Country Link
CN (1) CN105282399B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106778726A (zh) * 2016-12-14 2017-05-31 广州视源电子科技股份有限公司 板卡定位方法及装置
CN110749865A (zh) * 2019-09-28 2020-02-04 西南电子技术研究所(中国电子科技集团公司第十研究所) 降低相干测量设备零秒延时波动的方法
CN115801973A (zh) * 2022-11-09 2023-03-14 北京航空航天大学 一种基于fpga的瀑流式视频数据实时电子稳像系统及方法

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111311655B (zh) * 2020-02-13 2023-07-04 东软医疗系统股份有限公司 多模态图像配准方法、装置、电子设备、存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060017814A1 (en) * 2004-07-21 2006-01-26 Victor Pinto Processing of video data to compensate for unintended camera motion between acquired image frames
CN102523374A (zh) * 2011-12-19 2012-06-27 北京理工大学 一种实时并行的电子稳像系统设计方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060017814A1 (en) * 2004-07-21 2006-01-26 Victor Pinto Processing of video data to compensate for unintended camera motion between acquired image frames
CN102523374A (zh) * 2011-12-19 2012-06-27 北京理工大学 一种实时并行的电子稳像系统设计方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
HAN XIAO ET AL: "Real-time Scene Recognition on Embedded System with SIFT Keypoints and a New Descriptor", 《PROCEEDINGS OF 2013 IEEE INTERNATIONAL CONFERENCE ON MECHATRONICS AND AUTOMATION》 *
肖晗等: "基于FPGA的SIFT特征点检测", 《高技术通讯》 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106778726A (zh) * 2016-12-14 2017-05-31 广州视源电子科技股份有限公司 板卡定位方法及装置
CN110749865A (zh) * 2019-09-28 2020-02-04 西南电子技术研究所(中国电子科技集团公司第十研究所) 降低相干测量设备零秒延时波动的方法
CN110749865B (zh) * 2019-09-28 2022-07-05 西南电子技术研究所(中国电子科技集团公司第十研究所) 降低相干测量设备零秒延时波动的方法
CN115801973A (zh) * 2022-11-09 2023-03-14 北京航空航天大学 一种基于fpga的瀑流式视频数据实时电子稳像系统及方法
CN115801973B (zh) * 2022-11-09 2024-04-12 北京航空航天大学 一种基于fpga的瀑流式视频数据实时电子稳像系统及方法

Also Published As

Publication number Publication date
CN105282399B (zh) 2018-06-26

Similar Documents

Publication Publication Date Title
O’Mahony et al. Deep learning vs. traditional computer vision
Tang et al. Learning guided convolutional network for depth completion
US20230410375A1 (en) Temporally stable data reconstruction with an external recurrent neural network
CN110046537B (zh) 使用递归神经网络进行动态面部分析的系统和方法
Chen et al. Adaptive effective receptive field convolution for semantic segmentation of VHR remote sensing images
Peng et al. A hybrid approach to estimate the complex motions of clouds in sky images
CN109753878B (zh) 一种恶劣天气下的成像识别方法及系统
DE102021119726A1 (de) Dreidimensionale objektrekonstruktion aus einem video
Zhang et al. Comparison of two deep learning methods for ship target recognition with optical remotely sensed data
Geng et al. Using deep learning in infrared images to enable human gesture recognition for autonomous vehicles
Li et al. YOLOSR-IST: A deep learning method for small target detection in infrared remote sensing images based on super-resolution and YOLO
CN108764244B (zh) 基于卷积神经网络和条件随机场的潜在目标区域检测方法
Zhao et al. Joint face alignment and segmentation via deep multi-task learning
CN105282399A (zh) 基于数字电路和稀疏点配准的零延迟电子稳像方法
Huang et al. Efficient GAN-based remote sensing image change detection under noise conditions
WO2024002211A1 (zh) 一种图像处理方法及相关装置
Christophe et al. Open source remote sensing: Increasing the usability of cutting-edge algorithms
Yan et al. Benchmarking the robustness of lidar semantic segmentation models
Li et al. Sea–sky line detection using gray variation differences in the time domain for unmanned surface vehicles
Xiao et al. A real-time system for lane detection based on FPGA and DSP
Gu et al. Thermal image colorization using Markov decision processes
Qu et al. Deep learning-driven surveillance quality enhancement for maritime management promotion under low-visibility weathers
Zhu et al. Advancements in point cloud data augmentation for deep learning: A survey
US20230281830A1 (en) Optical flow techniques and systems for accurate identification and tracking of moving objects
Zhu et al. Diffusion model based low-light image enhancement for space satellite

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant