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

文档序号:9527859阅读:来源:国知局
完全适合数字电路流水线的计算环境,无论是基准点的选取还是匹配点的搜索都 能够在扫描整幅图像的过程中一次完成。
[0056] 下面结合附图对本发明实施例进行详细说明。
[0057] 为了解决电子稳像的计算实时性问题,本发明实施例提出了一种基于数字电路和 稀疏点配准的零延迟电子稳像方法,该方法以数字电路为计算主体,在通用处理器的协助 下进行计算。该方法可以包括步骤1至步骤6。
[0058] 步骤1 :基于数字电路进行图像预处理。
[0059] 其中,构建流水线,对输入的数字化图像信号进行处理,首先通过滤波来平滑图 像,然后计算所述平滑图像中每一点处的灰度梯度,最后通过一定的梯度阈值将平滑图像 二值化,得到由粗线条勾勒出来的二值图像。
[0060] 具体地,如图3所示,像素流输入数字电路后可以分为两支,其中一支计算抖动补 偿后的像素新位置,另一支进行高斯滤波。高斯滤波作用在像素的灰度分量上。滤波的目 的是使图像平滑,本发明实施例优选使用高斯滤波,但也可以使用其他滤波算法。高斯滤波 是可拆分滤波,一个二维高斯滤波模板可以拆分成沿着纵向和横向的两个一维高斯滤波模 板。因此,在数字电路中进行高斯滤波时,可以沿着纵向和横向分别滤波一次,将两次滤波 连成一条流水线,这样可以节省硬件资源。本发明实施例优选采用长度为5的高斯滤波模 板,其数值可取[1,4, 6, 4, 1]。长度为5的纵向高斯滤波需要缓存4行像素,如图4a所示; 长度为5的横向高斯滤波需要缓存5个像素,如图4b所示。
[0061] 由图3可见,高斯滤波之后的步骤是求梯度。这里的"梯度"指的是图像灰度梯度。 本发明实施例优选采用Sobel算子求灰度梯度。图5a是求纵向梯度的Sobel算子模板,图 5b是求横向梯度的Sobel算子模板。在数字电路流水线中,需要在高斯滤波之后缓存两行 灰度像素,开辟一个3X3的滑动窗口,然后在窗口内使用两个Sobel算子,分别计算纵向梯 度Dx和横向梯度Dy。按照数学理论,每个像素处的梯度幅值应该为
,但为了 简化计算,本发明实施例优选在数字电路中采用绝对值之和|Dx| + |Dy|来近似代替梯度幅 值,这种简化并不会影响应用效果。
[0062] 在流水线中计算出每个像素位置的梯度幅值之后,需要采用一个梯度阈值来将像 素二值化。梯度阈值的选取方法有三种:(1)固定阈值:将阈值固化在数字电路中;(2)半固 定阈值:在数字电路中设置一个寄存器来存储该阈值,通过处理器修改寄存器的值来实时 调节梯度阈值;(3)自适应阈值:数字电路统计当前帧图像中的梯度直方图,然后从直方图 中按照梯度幅值由大到小的顺序选取一定比例的像素数,将得到的分位点作为梯度阈值, 供下一帧使用;为防止因自适应阈值过低而带来噪声,应当对阈值的下限进行限制。理论上 讲,要更好地适应光照变化,特别是在微弱光线下工作,应当考虑自适应阈值。本发明实施 例在开发原型系统时采用的是半固定阈值方法。实验发现,优选采用80作为梯度阈值。图 6a显示了根据一示例性实施例示出的灰度图像实例图,该图像经过梯度阈值二值化后,变 成一幅粗线条的二值图像,如图6b所示。这种二值图像亦称为"边缘图像"。
[0063] 步骤2 :基于数字电路提取描述符向量。
[0064] 其中,继续构建流水线,其输入信号为上一步骤得到的二值图像,每个像素用一个 比特表示;首先在二值图像上开辟一个滑动窗口;然后对滑动窗口内的局部二值图像提取 描述符向量;本步骤与上一步骤连成一条流水线,随着原始图像像素的一个个输入,经过一 定的流水线延迟,得到图像中以每个像素位置为中心的一个个局部图像描述符向量。
[0065] 在一个可选的实施例中,提取二值图像中以每个像素位置为中心的描述符向量, 具体可以包括:
[0066] 步骤:21:在滑动窗口内画一个内切圆,再将内切圆等分成N个扇形,对每个扇形 内的像素都采用三角形函数加权,其中以角度为自变量,像素越靠近扇形的中轴线权值越 高,越偏离中轴线权值越低,内切圆之外的像素权值都为〇 ;
[0067] 步骤22 :计算出每个扇形内的像素加权之和,得到N个数值,构成N维向量;
[0068] 其中上述计算步骤完全在数字电路流水线上完成。
[0069] 在一个优选的实施例中,N取8。
[0070] 具体地,首先在二值图像上开辟一个滑动窗口,该滑动窗口大小的优选数值为 41X41,亦可采用其他大小尺寸;然后对窗口内的局部二值图像提取描述符向量(用于描 述窗口内的图像特征),供后续计算步骤使用;随着原始图像像素的一个个输入,经过一定 的流水线延迟,得到图像中以每个像素位置为中心的一个个局部图像描述符向量。
[0071] 由图3可知,在流水线中,在像素二值化之后缓存40行像素,开辟一个41X41的 滑动窗口。由于这里缓存的是二值像素,实际消耗的硬件资源是非常少的。当然,这里的参 数值也只是本发明实施例的优选值,实际应用时也可以采用其他的数值,例如缓存48行像 素,开辟一个49X49的窗口等等。
[0072] 下面以N取8为例进一步进行说明。在开辟滑动窗口之后,要根据滑动窗口内的众 多二值像素计算8维描述符。在数字电路流水线中实现时,通过将滑动窗口内的像素值与 加权模板中对应的系数相乘,再分块相加,即可得到最终结果。由于滑动窗口内都是二值像 素,这里的"相乘"也就退化成了判断。加权模板的外观如图7所示,整个模板等分成8个扇 形,其中越亮的位置权值越高。图8为采用41X41滑动窗口时本发明实施例所提出的加权 模板具体数值示意图。从中可以清楚地看到这1681个加权系数是如何取值的。采用这种形 式的加权模板,可以确保8维描述符具有小范围的旋转不变性:同一块局部二值图像发生 小角度旋转后,按照该加权模板计算出来的8维描述符不会变化太大。随着数字电路流水 线对图像的扫描,滑动窗口的中心依次经过每个像素位置,从而产生一系列的8维描述符。 流水线后面的步骤就是对每一个新产生的描述符进行甄别,以判断该像素位置是否适合做 基准点,或者是否适合做匹配点,如果适合,就记录下相关信息,否则就忽略该描述符。
[0073] 步骤3:基于数字电路选取基准点。
[0074] 其中,对二值图像进行区域划分,在流水线处理过程中,对同一个区域内不同像素 位置的描述符向量进行比较和甄别,将各维度数值方差最大的那个描述符向量所对应的像 素位置作为相应区域内的基准点,根据基准点的描述符向量间接估算滑动窗口内的黑白像 素个数,并据此判断该基准点是否有效,将每个区域的基准点坐标及对应的描述符向量和 基准点有效性判断结果都存储下来;本步骤与前述步骤连成一条流水线。
[0075] 在该步骤中,原始图像与二值图像的像素一一对应,采用二值图像只是为了便于 处理,就像素位置来讲,没有区别。因此,对图像划分区域,既是对原始图像划分区域,也是 对二值图像划分区域。在本发明实施例中,优选地,将二值图像划分为9块区域。
[0076] 其中,要判断像素位置是否适合做基准点,如图3所示,首先要判断该像素位置是 否位于基准点候选区内。所谓基准点候选区,就是图像中预先定义的一些互不重叠的矩形 区域。采用多少个稀疏点进行图像配准,就要在图像中划分多少炔基准点候选区,每个候选 区内最多产生一个基准点。例如,本发明实施例的原型系统中采用了 9个稀疏点,图像分辨 率为640列X480行,因此在图像中划分了 9炔基准点候选区,其大小都是153列X99行。
[0077] -个像素位置能否做基准点,还要看它的描述符是否"合格"。所以,在计算8维描 述符之后还要估算其合格性,如图3所示。从图6b可以看到,边缘图像中存在大量的空白 区域,也就是没有线条的地方。当滑动窗口完全位于空白区域内的时候,窗口内显然是没有 任何特征的。如果选取这样的像素位置做基准点,就无法重定位。因此,要通过合格性检查 来确保滑动窗口内既有白像素又有黑像素,并且数量都不太少。当采用图8所示的加权模 板时,本发明实施例优选的合格性标准是:描述符向量8个维度之和在300和13116之间。
[0078] 通过了合格性检查的像素位置,理论上都可以用来做基准点,但它们的重定位能 力不同。一般来讲,描述符向量8个维度上的数值互相之间的差别越大,描述符就越独特, 重定位能力
当前第3页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1