CN115511690A - 一种图像处理方法和图像处理芯片 - Google Patents
一种图像处理方法和图像处理芯片 Download PDFInfo
- Publication number
- CN115511690A CN115511690A CN202110696747.5A CN202110696747A CN115511690A CN 115511690 A CN115511690 A CN 115511690A CN 202110696747 A CN202110696747 A CN 202110696747A CN 115511690 A CN115511690 A CN 115511690A
- Authority
- CN
- China
- Prior art keywords
- image
- processed
- gaussian
- resolution
- images
- 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.)
- Pending
Links
- 238000012545 processing Methods 0.000 title claims abstract description 45
- 238000003672 processing method Methods 0.000 title claims abstract description 13
- 238000000034 method Methods 0.000 claims abstract description 56
- 238000001914 filtration Methods 0.000 claims abstract description 17
- 238000009499 grossing Methods 0.000 claims description 12
- 230000006870 function Effects 0.000 claims description 8
- 238000000638 solvent extraction Methods 0.000 claims description 6
- 238000004458 analytical method Methods 0.000 claims description 4
- 238000004364 calculation method Methods 0.000 abstract description 18
- 210000001503 joint Anatomy 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 5
- 238000013461 design Methods 0.000 description 4
- 230000011218 segmentation Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/20—Image enhancement or restoration using local operators
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/70—Denoising; Smoothing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/11—Region-based segmentation
-
- 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/20024—Filtering details
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Image Analysis (AREA)
Abstract
本发明涉及一种图像处理方法和图像处理芯片,通过把一次处理大分辨率图像的过程,转换成多次处理小分辨图像的过程,对原图像分辨率没有限制,能适应各种分辨率的图像。如此,宽度大的图像就被分割成多块宽度小的图像,在每一块宽度小的图像高斯卷积的计算过程中,中间计算过程存储的每行图像宽度变小,从而能够大大减小图像处理芯片的硬件电路面积,并且还能保证高斯卷积滤波的计算精度。此外,所述方法通过设置复用区,在不同区块边界保证了极值点搜索的连续不间断,实现了相邻区块极值点搜索的无缝对接,确保了数据处理的连续性和准确性。
Description
技术领域
本发明涉及机器人视觉技术领域,具体涉及一种图像处理方法和图像处理芯片。
背景技术
SIFT (Scale-Invariant Feature Transform,尺度不变特征转换)图像尺度空间生成方法是在图像多尺度空间理论上发展出来的,SIFT算法为鲁棒性较好的一种图像特征检测方法,具有尺度、旋转、平移、缩放等不变性。广泛应用于视频跟踪、图像三维建模、物体识别、图像全景拼接等领域。由于SIFT算法计算量大,在实际应用中,随着摄像机性能的提高,图像的分辨率越来越高,每幅图像中包含的信息量也越来越大,需要处理的数据也大大增加,单纯使用软件来实现图像处理变得相对困难,难以满足实时性需求。因此,很多文章提出利用硬件电路的高速并行运算能力,对SIFT算法采用高速并行架构设计,以达到实时性的要求。
SIFT算法建立尺度空间高斯金字塔需要进行多次高斯卷积。高斯卷积具有线性可分的性质,一个二维高斯滤波函数可分解为两个一维高斯滤波函数乘积,即采用行高斯滤波和列高斯滤波级联来达到滤波目的,这样做有利于硬件电路并行架构实现,节省硬件资源。SIFT算法尺度空间高斯金字塔的建立在硬件电路实现的过程中,要均衡运算速度、运算精度和硬件电路面积等因素。由于图像数据高斯卷积采用级联方式,先按行做高斯卷积,需要把行高斯卷积结果暂存起来,再按列做高斯卷积。高斯卷积核长度越大,计算精度虽然会越高,但计算的中间过程中需要存储的图像行数就越多,导致硬件电路的面积也就越大。同时,图像宽度分辨率也是影响硬件电路的面积的关键因素,图像宽度分辨率越大,硬件电路的面积也越大。为节省硬件电路面积,现有技术通常会限制高斯卷积核长度和图像宽度分辨率,对SIFT算法的运算精度和大分辨率图像适用有很大影响。因此,如何提高运算精度又能节省硬件电路面积,就成为硬件电路实现SIFT算法尺度空间高斯金字塔的技术难点。
发明内容
为解决上述问题,本发明提供了一种图像处理方法和图像处理芯片,可以在硬件电路面积减小的情况下,保证较高的运算精度和准确性。本发明的具体技术方案如下:
一种图像处理方法,包括如下步骤:步骤1:基于待处理图像的分辨率大小,沿分辨率的宽度方向将所述待处理图像划分为若干待处理图块;步骤2:相邻的两个待处理图块之间部分叠加,形成一个复用区;步骤3:确定高斯卷积核的长度,并对所述待处理图块进行高斯卷积滤波,得到高斯金字塔图像;步骤4:基于高斯金字塔图像,将高斯金字塔图像中的下一层图像减上一层图像得到高斯差分金字塔图像;步骤5:基于高斯差分金字塔图像,对其待处理图像中的待处理图块的像素点进行极值点搜索,搜索范围达到相邻的复用区;步骤6:根据极值点搜索结果,得到所述待处理图像中的稳定特征点。
进一步地,所述步骤1具体包括如下步骤:步骤11:确定待处理图像的分辨率的宽度和高度;步骤12:以待处理图像的分辨率的高度为高度单位,以预设分辨率宽度为宽度单位,沿分辨率的宽度方向将所述待处理图像进行划分,形成标准待处理图块;步骤13:判断所述待处理图像中未划分的部分的分辨率的宽度是否小于所述宽度单位,如果否,则返回步骤12,继续进行标准待处理图块的划分,如果是,则直接将该未划分的部分作为一个非标准待处理图块。
进一步地,所述步骤11中所述的待处理图像的分辨率的宽度为640pt,分辨率的高度为480pt;所述步骤12中所述的预设分辨率宽度为84pt。
进一步地,所述步骤2具体包括如下步骤:步骤21:确定每个待处理图块的起始列边界和终点列边界;
步骤22:以当前待处理图块的起始列边界作为复用开始列边界,以上一个待处理图块的终点列边界作为复用结束列边界,所述复用开始列边界和所述复用结束列边界之间的区块作为复用区,所述复用区中设有预设列数的像素点。
进一步地,所述步骤22中所述的预设列数为4列。
进一步地,所述步骤3具体包括如下步骤:步骤31:确定高斯卷积核的长度为L,则高斯卷积核半径为R,R=(L-1)/2;步骤32:搜索当前待处理图块的当前像素点和以当前像素点为中心的高斯卷积核半径范围内的像素点,利用搜索到的像素点进行高斯卷积运算,得到平滑处理后的像素点;步骤33:将当前待处理图块的像素点都进行平滑处理后,进行下一个待处理图块的像素点的平滑处理,直到完成整个待处理图像的像素点的平滑处理,得到一幅高斯图像;步骤34:基于不同的高斯函数,重复步骤32和步骤33,得到多幅高斯图像,形成一组高斯图像组;步骤35:基于不同分辨率的待处理图像,重复步骤32、步骤33和步骤34,得到多组高斯图像组,形成高斯金字塔图像。
进一步地,所述步骤35中所形成的高斯金字塔图像,其最底层的高斯图像组具有6幅高斯图像。
进一步地,所述步骤5具体包括如下步骤:步骤51:确定高斯差分金字塔图像中的一幅图像作为当前待处理图像;步骤52:从当前待处理图像中的当前待处理图块的起始列边界往后算起的第N个像素点开始进行极值点搜索,搜索至从复用结束列边界往前算起的第N个像素点结束,完成一行像素点的极值点搜索;步骤53:重复步骤52直到完成当前待处理图块中的各行像素点的极值点搜索;步骤54:选取下一个待处理图块作为当前待处理图块,返回步骤52,直到完成当前待处理图像中像素点的极值点搜索。
一种图像处理芯片,包括:分区模块,用于根据待处理图像的分辨率大小,沿分辨率的宽度方向将所述待处理图像划分为若干待处理图块,并且相邻的两个待处理图块之间部分叠加,形成一个复用区;运算模块,用于根据高斯卷积核的长度,对所述待处理图块进行高斯卷积滤波,得到高斯金字塔图像,并基于高斯金字塔图像,将高斯金字塔图像中的下一层图像减上一层图像得到高斯差分金字塔图像;分析模块,用于根据高斯差分金字塔图像,对其待处理图像中的待处理图块的像素点进行极值点搜索,搜索范围达到相邻的复用区;输出模块,用于根据极值点搜索结果,输出所述待处理图像中的稳定特征点。
本发明的由于效果在于:通过把一次处理大分辨率图像的过程,转换成多次处理小分辨图像的过程,对原图像分辨率没有限制,能适应各种分辨率的图像。如此,宽度大的图像就被分割成多块宽度小的图像,在每一块宽度小的图像高斯卷积的计算过程中,中间计算过程存储的每行图像宽度变小,从而能够大大减小图像处理芯片的硬件电路面积,并且还能保证高斯卷积滤波的计算精度。此外,所述方法通过设置复用区,在不同区块边界保证了极值点搜索的连续不间断,实现了相邻区块极值点搜索的无缝对接,确保了数据处理的连续性和准确性。
附图说明
图1为本发明实施例所述的图像处理方法的流程示意图。
图2为本发明实施例所述对待处理图像进行区块划分的示意图。
图3为本发明实施例所述待处理图块之间叠加形成复用区的示意图一。
图4为本发明实施例所述待处理图块之间叠加形成复用区的示意图二。
图5为本发明实施例所述图像处理芯片的结构示意框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行详细描述。应当理解,下面所描述的具体实施例仅用于解释本发明,并不用于限定本发明。本领域的普通技术人员可以在没有一些具体细节的情况下实施实施例。例如,某些电路可以采用电路框图表示,避免实施例方案在不必要的细节描述中变得冗余和繁杂。为了不混淆实施例,可以不详细显示公知的电路、结构和技术细节。
如图1所示的图像处理方法,该处理方法可以由视觉机器人中的主控芯片或者专用图像处理芯片执行。为了便于描述,后续实施例中会直接将该图像处理方法的执行主体表述为机器人。所述方法具体包括如下步骤:
步骤1:首先,机器人通过其自身的摄像头拍摄到图像,然后机器人对拍摄到的图像进行处理,所要处理的图像称为待处理图像。机器人基于待处理图像的分辨率大小,沿分辨率的宽度方向将所述待处理图像划分为若干待处理图块。所述待处理图像的分辨率的大小是由机器人的图像传感器的配置决定的,一般为640*480 pt、1024*768 pt或者1920*1080 pt,等等。其中,640、1024和1920就表示图像分辨率的宽度值,480、768和1080就表示图像分辨率的高度值。如图2所示,最***的长方形边框表示图像的边界,长方形的长边(即图中的横线)方向就是分辨率的宽度方向,长方形的短边(即图中的竖直线)方向就是分辨率的高度方向。1、2、3等数字标示的每一个小长方形边框,表示一个所划分的待处理图块,图2中的图像一共划分为n个待处理图块,n的数值可以根据具体的图像分辨率大小和所要划分的图块大小进行设置,一般选取大于或等于6的数值。
步骤2:机器人将相邻的两个待处理图块之间进行部分叠加,形成一个复用区。如图3所示,图中最***的长方形边框是一幅待处理图像的边界,图中的大黑点表示像素点,连续的小黑点表示省略。n的数值可以根据具体的图像分辨率大小和所要划分的图块大小进行设置。假设以n=2为例,待处理图像的像素为480*360,则图3中的待处理图像一共分为3个待处理图块,n-1所标示两个箭头之间的线段对应的图块为第一个待处理图块,n所标示两个箭头之间的线段对应的图块为第二个待处理图块,n+1所标示两个箭头之间的线段对应的图块为第三个待处理图块,每个待处理图块的像素为164*360,即每个待处理图块中包括164列和360行像素点,其中,相邻两个待处理图块之间有4个像素点是叠加的,形成复用区A和复用区B。
步骤3:机器人根据***内置的参数,确定高斯卷积核的长度。进行图像的高斯卷积处理时,高斯卷积核长度越大,计算精度虽然会越高,但计算的中间过程中需要存储的图像行数就越多,导致硬件电路的面积也就越大。为节省硬件电路面积,现有技术通常会限制高斯卷积核长度,这样会对SIFT算法的运算精度和大分辨率图像适用有很大影响。由于本图像处理方法通过前述步骤的图像分块技术,可以在保证运算精度的前提下,采用较大值的高斯卷积核长度。然后机器人根据所确定的高斯卷积核的值,对所述待处理图块进行高斯卷积滤波,得到高斯金字塔图像。高斯金字塔图像的构建方法在现有技术中已经公开,此处不再赘述。
步骤4:机器人基于高斯金字塔图像,将高斯金字塔图像中的下一层图像减上一层图像得到高斯差分金字塔图像。所述高斯差分金字塔,即DOG(Difference of Gaussian)金字塔是在高斯金字塔的基础上构建起来的,DOG金字塔的第1组第1层是由高斯金字塔的第1组第2层减第1组第1层得到的。以此类推,逐组逐层生成每一个差分图像,所有差分图像构成差分金字塔图像。
步骤5:机器人基于高斯差分金字塔图像,对其待处理图像中的待处理图块的像素点进行极值点搜索。在进行极值点搜索时,机器人需要对高斯差分金字塔上下两层和同层周围相邻的一共26个像素点进行比较,从而确定极值点。当机器人对待处理图块的边界的像素点进行极值点搜索时,需要用到邻近区块的像素点,如果相邻的待处理图块之间不设置有复用区,而SRAM存储器中只存储了当前待处理图块的像素点,则当前待处理图块边界的像素点就无法进行极值点搜索。为解决此问题,本实施例所述的图像处理方法采取了图像冗余分割法,通过在两个相邻的待处理图块之间叠加若干个像素点进行复用,可以在进行极值点搜索时,搜索起始点从复用区中部的像素点开始,到下一个复用区中部的像素点结束。如图3所示,需要搜索待处理图块n的极值点时,从复用区A的第一行的第3个像素点开始,从左至右依次搜索至复用区B的第2个像素点结束,完成待处理图块n的第一行像素点的极值搜索。采用同样的方式,依次完成第二行、第三行至最后一行的像素点的极值搜索。在对待处理图像的最左侧边界和最右侧边界的像素点进行极值点搜索时,可以忽略边界外的数值,不会对处理结果产生太大的影响。采用本实施例方法可以在不同待处理图块的边界进行极值点搜索的连续不间断,实现了相邻待处理图块极值点搜索的无缝对接,提高数据处理的连续性和准确性。
步骤6:由于所确定的极值点是在不同模糊程度、不同尺度下都存在特征点,这些特征点正是SIFT算法所要提取的稳定特征,所以,根据极值点搜索结果,就可以直接得到所述待处理图像中的稳定特征点,这些稳定特征点能够准确地体现待处理图像中包含的信息。
所述方法通过把一次处理大分辨率图像的过程,转换成多次处理小分辨图像的过程,对原图像分辨率没有限制,能适应各种分辨率的图像。如此,宽度大的图像就被分割成多块宽度小的图像,在每一块宽度小的图像高斯卷积的计算过程中,中间计算过程存储的每行图像宽度变小,从而能够大大减小图像处理芯片的硬件电路面积,并且还能保证高斯卷积滤波的计算精度。此外,所述方法通过设置复用区,在不同区块边界保证了极值点搜索的连续不间断,实现了相邻区块极值点搜索的无缝对接,确保了数据处理的连续性和准确性。
作为其中一种实施方式,所述步骤1具体包括如下步骤:首先,在步骤11中,机器人确定待处理图像的分辨率的宽度和高度。然后进入步骤12,机器人以待处理图像的分辨率的高度为高度单位,以预设分辨率宽度为宽度单位,沿分辨率的宽度方向将所述待处理图像进行划分,形成标准待处理图块。每个标准待处理图块的分辨率宽度和高度都是一样。其中,所述预设分辨率宽度可以根据芯片面积和计算精度等研发设计需求进行相应配置,一般可以配置为60pt至90pt中的任意一值。接着进入步骤13,机器人判断所述待处理图像中未划分的部分的分辨率的宽度是否小于所述宽度单位,如果否,表明未划分的部分还能继续划分出标准待处理图块,则返回步骤12,继续进行标准待处理图块的划分。如果是,表明剩余的部分已经不能满足一个标准待处理图块的划分要求,则直接将该未划分的部分作为一个非标准待处理图块。机器人进行图像处理时,对待标准待处理图块和非标准待处理图块的处理方式是一样的。本实施例所述方法通过标准待处理图块的划分方式,可以适用于不同大小分辨率的图像,并且只要把标准待处理图块的分辨率宽度和高度设置得比较合理,就可以最大限度地提高图像的处理速率。
作为其中一种实施方式,所述步骤11中所述的待处理图像的分辨率的宽度为640pt,分辨率的高度为480pt。所述步骤12中所述的预设分辨率宽度为84pt。则,这个待处理图像就可以划分为8个待处理图块,相邻两个待处理图块之间有4个像素点是重叠的。通过这种划分方式,可以划分出8个标准的待处理图块,可以达到最佳的图像处理效果。
作为其中一种实施方式,所述步骤2具体包括如下步骤:首先,在步骤21中,机器人确定每个待处理图块的起始列边界和终点列边界,如图4所示,边界ai是第一个待处理图块的起始列边界,边界ck是第一个待处理图块的终点列边界;边界bj是第二个待处理图块的起始列边界,边界em是第二个待处理图块的终点列边界;边界dl是第三个待处理图块的起始列边界,边界go是第三个待处理图块的终点列边界;边界fn是第四个待处理图块的起始列边界,边界hp是第四个待处理图块的终点列边界。然后进入步骤22,以第二个待处理图块的起始列边界bj作为复用开始列边界,以第一个待处理图块的终点列边界ck作为复用结束列边界,从而形成第一个复用区bckj。以此类推,形成复用区deml和复用区fgon。这些复用区中设有预设列数的像素点,所述预设列数可以根据具体的图像处理要求进行相应设置,一般可以设置为4列至8列。本实施例所述方法通过以边界的形式划分复用区,可以准确地限定复用区的范围,保证复用区内像素点的复用效率。
作为其中一种实施方式,所述步骤22中所述的预设列数为4列。基于极值点的搜索范围,将复用区中的像素点设置为4列,可以达到最大的复用效率,避免不必要的冗余和计算资源浪费。
作为其中一种实施方式,所述步骤3具体包括如下步骤:首先,在步骤31中,机器人根据***内置参数确定高斯卷积核的长度为L,则可以计算出高斯卷积核半径为R,R=(L-1)/2。然后进入步骤32,机器人搜索当前待处理图块的当前像素点和以当前像素点为中心的高斯卷积核半径范围内的像素点,利用搜索到的像素点进行高斯卷积运算,得到平滑处理后的像素点。具体的高斯卷积运算,可以参照现有的运算方法,此处不再赘述。接着进入步骤33中,将当前待处理图块的像素点都进行平滑处理后,进行下一个待处理图块的像素点的平滑处理,直到完成整个待处理图像的像素点的平滑处理,得到一幅高斯图像。紧接着进入步骤34,基于不同的高斯函数,重复步骤32和步骤33,得到多幅高斯图像,形成一组高斯图像组。所述高斯函数可以根据具体的产品设计需求进行预先配置。最后进入步骤35,基于不同分辨率的待处理图像,重复步骤32、步骤33和步骤34,得到多组高斯图像组,形成高斯金字塔图像。现有技术中已经公开了高斯金字塔的构建方法,本实施例方法与其的区别主要在于步骤32和步骤33,本实施例方法进行图像的高斯处理时,是根据逐个待处理图块的方式进行,如此可以适应不同分辨率大小的图像。至于其它与现有技术相同的方法步骤,此处就不再赘述。
假定选取高斯卷积核长度为L=33pt,则高斯卷积核半径R=(L-1)/2=16pt。对分辨率为84*480的待处理图块做高斯卷积滤波,建立高斯金字塔,可以利用高斯卷积具有线性可分的性质,将一个二维高斯滤波函数分解为两个一维高斯滤波函数乘积。首先,进行高斯行卷积滤波,然后,由于列高斯卷积滤波需要用行高斯卷积滤波结果,所以SRAM需要存储33行的行滤波数据,即所需存储的像素点为84*33 = 2772个。假如不对原分辨率为640*480的图像进行分割,则所需存储的像素点为640*33 = 21120个,存储面积将大大增加。现有技术为减少硬件电路面积,往往会牺牲计算精度,采用的高斯卷积核长度都比较小,一般为9,需存储的像素点为640*9 = 5760个,存储面积仍然较大。同时,高斯卷积滤波的计算精度会大大降低,导致SIFT算法生成的特征点的稳定性大大降低,不能满足高精度的应用需求。本实施例所述方法通过分区进行高斯卷积处理,不仅可以降低电路面积,还能保证运算精度。
作为其中一种实施方式,所述步骤35中所形成的高斯金字塔图像,其最底层的高斯图像组具有6幅高斯图像,如此可以提高数据的准确性,保证图像处理质量。
作为其中一种实施方式,所述步骤5具体包括如下步骤:首先,在步骤51中,机器人确定高斯差分金字塔图像中的一幅图像作为当前待处理图像。然后进入步骤52,机器人从当前待处理图像中的当前待处理图块的起始列边界往后算起的第N个像素点开始进行极值点搜索,搜索至从复用结束列边界往前算起的第N个像素点结束,完成一行像素点的极值点搜索。所述N的数值可以根据设计需求进行相应设置,一般可以设置为2至4中的任意值,包括2和4。接着进入步骤53,重复执行步骤52直到完成当前待处理图块中的各行像素点的极值点搜索。最后进入步骤54,选取下一个待处理图块作为当前待处理图块,再返回步骤52进行该图块的搜索,直到完成当前待处理图像中各个待处理图块的像素点的极值点搜索。
以图3为例,假设该图像为高斯差分金字塔图像中的一幅图像,机器人对该图像进行极值点搜索。机器人进行待处理图块n的极值点搜索时,从复用区A中的第一行的第3个像素点(从左往右算)开始进行搜索,搜索至复用区B中的第2个像素点(从左往右算)结束,如此,完成一行像素点的极值点搜索。同样的,机器人从复用区A中的第二行的第3个像素点(从左往右算)开始进行搜索,搜索至复用区B中的第2个像素点(从左往右算)结束,如此,完成另一行像素点的极值点搜索。以此类推,直到机器人完成当前待处理图块n的极值点搜索。同理,机器人对所有待处理图块都完成了极值点搜索后,即完成了高斯差分金字塔图像中的一幅图像的极值点处理。需要说明的是,第一个待处理图块和最后一个待处理图块,由于最外侧的边界不存在复用区,进行极值点搜索时,可以直接忽略边界外的数据,对搜索结果不会产生太大的影响。
本实施例方法中,SIFT算法在进行极值点搜索时,采取了图像冗余分割法,该方法的特点是每两个相邻的待处理图块有4个素点是重叠的,这样在不同区块边界就保证了极值点搜索的连续不间断,实现了相邻区块极值点搜索的无缝对接,提高了搜索数据的准确性。
如图5所示的图像处理芯片,包括依次连接的分区模块、运算模块、分析模块和输出模块。其中,所述分区模块用于根据待处理图像的分辨率大小,沿分辨率的宽度方向将所述待处理图像划分为若干待处理图块,并且相邻的两个待处理图块之间部分叠加,形成一个复用区。所述运算模块用于根据高斯卷积核的长度,对所述待处理图块进行高斯卷积滤波,得到高斯金字塔图像,并基于高斯金字塔图像,将高斯金字塔图像中的下一层图像减上一层图像得到高斯差分金字塔图像。所述分析模块用于根据高斯差分金字塔图像,对其待处理图像中的待处理图块的像素点进行极值点搜索,搜索范围达到相邻的复用区。所述输出模块用于根据极值点搜索结果,输出所述待处理图像中的稳定特征点。本实施例所述芯片,采用图像冗余分割法,利用分区模块把分辨率大的图像,分割成多块小分辨率的图像,很巧妙的把一次处理大分辨率图像的过程,转换成多次处理小分辨图像的过程。这种芯片对原图像分辨率没有限制,能适应各种分辨率的图像,在建立尺度空间高斯金字塔时是按照标准化的小区块图像来处理,和原图像大小分辨率无关,支持更大的分辨率和匹配范围。在标准化的小区块图像高斯卷积滤波过程中,中间计算过程存储的每行图像宽度很小,从而能大大减小硬件电路的面积,利于采用更大的高斯卷积核长度来提高SIFT算法精度。在建立尺度空间高斯金字塔时采用图像冗余分割法,对SIFT算法高实时性和高精度的硬件化电路实现有很高的应用价值。
本领域技术人员可以理解实现上述实施方式方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得单片机、芯片或处理器(processor)执行本发明各个实施方式所述方法的全部或部分步骤。而这些存储介质可以包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合。为了避免不必要的重复,本发明实施方式对各种可能的组合方式不再另行说明。
Claims (9)
1.一种图像处理方法,其特征在于,包括如下步骤:
步骤1:基于待处理图像的分辨率大小,沿分辨率的宽度方向将所述待处理图像划分为若干待处理图块;
步骤2:相邻的两个待处理图块之间部分叠加,形成一个复用区;
步骤3:确定高斯卷积核的长度,并对所述待处理图块进行高斯卷积滤波,得到高斯金字塔图像;
步骤4:基于高斯金字塔图像,将高斯金字塔图像中的下一层图像减上一层图像得到高斯差分金字塔图像;
步骤5:基于高斯差分金字塔图像,对其待处理图像中的待处理图块的像素点进行极值点搜索,搜索范围达到相邻的复用区;
步骤6:根据极值点搜索结果,得到所述待处理图像中的稳定特征点。
2.根据权利要求1所述的方法,其特征在于,所述步骤1具体包括如下步骤:
步骤11:确定待处理图像的分辨率的宽度和高度;
步骤12:以待处理图像的分辨率的高度为高度单位,以预设分辨率宽度为宽度单位,沿分辨率的宽度方向将所述待处理图像进行划分,形成标准待处理图块;
步骤13:判断所述待处理图像中未划分的部分的分辨率的宽度是否小于所述宽度单位,如果否,则返回步骤12,继续进行标准待处理图块的划分,如果是,则直接将该未划分的部分作为一个非标准待处理图块。
3.根据权利要求2所述的方法,其特征在于:
所述步骤11中所述的待处理图像的分辨率的宽度为640pt,分辨率的高度为480pt;
所述步骤12中所述的预设分辨率宽度为84pt。
4.根据权利要求1所述的方法,其特征在于,所述步骤2具体包括如下步骤:
步骤21:确定每个待处理图块的起始列边界和终点列边界;
步骤22:以当前待处理图块的起始列边界作为复用开始列边界,以上一个待处理图块的终点列边界作为复用结束列边界,所述复用开始列边界和所述复用结束列边界之间的区块作为复用区,所述复用区中设有预设列数的像素点。
5.根据权利要求4所述的方法,其特征在于:
所述步骤22中所述的预设列数为4列。
6.根据权利要求1所述的方法,其特征在于,所述步骤3具体包括如下步骤:
步骤31:确定高斯卷积核的长度为L,则高斯卷积核半径为R,R=(L-1)/2;
步骤32:搜索当前待处理图块的当前像素点和以当前像素点为中心的高斯卷积核半径范围内的像素点,利用搜索到的像素点进行高斯卷积运算,得到平滑处理后的像素点;
步骤33:将当前待处理图块的像素点都进行平滑处理后,进行下一个待处理图块的像素点的平滑处理,直到完成整个待处理图像的像素点的平滑处理,得到一幅高斯图像;
步骤34:基于不同的高斯函数,重复步骤32和步骤33,得到多幅高斯图像,形成一组高斯图像组;
步骤35:基于不同分辨率的待处理图像,重复步骤32、步骤33和步骤34,得到多组高斯图像组,形成高斯金字塔图像。
7.根据权利要求6所述的方法,其特征在于:
所述步骤35中所形成的高斯金字塔图像,其最底层的高斯图像组具有6幅高斯图像。
8.根据权利要求4所述的方法,其特征在于,所述步骤5具体包括如下步骤:
步骤51:确定高斯差分金字塔图像中的一幅图像作为当前待处理图像;
步骤52:从当前待处理图像中的当前待处理图块的起始列边界往后算起的第N个像素点开始进行极值点搜索,搜索至从复用结束列边界往前算起的第N个像素点结束,完成一行像素点的极值点搜索;
步骤53:重复步骤52直到完成当前待处理图块中的各行像素点的极值点搜索;
步骤54:选取下一个待处理图块作为当前待处理图块,返回步骤52,直到完成当前待处理图像中像素点的极值点搜索。
9.一种图像处理芯片,其特征在于,包括:
分区模块,用于根据待处理图像的分辨率大小,沿分辨率的宽度方向将所述待处理图像划分为若干待处理图块,并且相邻的两个待处理图块之间部分叠加,形成一个复用区;
运算模块,用于根据高斯卷积核的长度,对所述待处理图块进行高斯卷积滤波,得到高斯金字塔图像,并基于高斯金字塔图像,将高斯金字塔图像中的下一层图像减上一层图像得到高斯差分金字塔图像;
分析模块,用于根据高斯差分金字塔图像,对其待处理图像中的待处理图块的像素点进行极值点搜索,搜索范围达到相邻的复用区;
输出模块,用于根据极值点搜索结果,输出所述待处理图像中的稳定特征点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110696747.5A CN115511690A (zh) | 2021-06-23 | 2021-06-23 | 一种图像处理方法和图像处理芯片 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110696747.5A CN115511690A (zh) | 2021-06-23 | 2021-06-23 | 一种图像处理方法和图像处理芯片 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115511690A true CN115511690A (zh) | 2022-12-23 |
Family
ID=84499741
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110696747.5A Pending CN115511690A (zh) | 2021-06-23 | 2021-06-23 | 一种图像处理方法和图像处理芯片 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115511690A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116882358A (zh) * | 2023-09-07 | 2023-10-13 | 深圳比特微电子科技有限公司 | 滤波器、滤波方法、数据处理***和芯片 |
-
2021
- 2021-06-23 CN CN202110696747.5A patent/CN115511690A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116882358A (zh) * | 2023-09-07 | 2023-10-13 | 深圳比特微电子科技有限公司 | 滤波器、滤波方法、数据处理***和芯片 |
CN116882358B (zh) * | 2023-09-07 | 2024-05-28 | 深圳比特微电子科技有限公司 | 滤波器、滤波方法、数据处理***和芯片 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5149246B2 (ja) | 局所化されたスケール空間特性を使用してピクチャイメージ内で安定したキーポイントを検出するシステムおよび方法 | |
EP2826022B1 (en) | A method and apparatus for motion estimation | |
CN107368886B (zh) | 基于重复使用小规模卷积神经网络模块的神经网络*** | |
JP5058681B2 (ja) | 情報処理方法及び装置、プログラム、記憶媒体 | |
US9355434B2 (en) | Method and device for reconstructing super-resolution images | |
CN112862689B (zh) | 一种图像超分辨率重建方法及*** | |
CN105574524B (zh) | 基于对白和分镜联合识别的漫画图像版面识别方法和*** | |
JP5777367B2 (ja) | パターン識別装置、パターン識別方法及びプログラム | |
Seif et al. | Large receptive field networks for high-scale image super-resolution | |
CN112883983B (zh) | 特征提取方法、装置和电子*** | |
CN106447607A (zh) | 一种图像拼接方法及装置 | |
Cai et al. | TDPN: Texture and detail-preserving network for single image super-resolution | |
CN112419372B (zh) | 图像处理方法、装置、电子设备及存储介质 | |
Cambuim et al. | Hardware module for low-resource and real-time stereo vision engine using semi-global matching approach | |
CN117581232A (zh) | 基于NeRF的机器学习模型的加速训练 | |
JP4339221B2 (ja) | 画像構成方法、指紋画像構成装置およびプログラム | |
CN115511690A (zh) | 一种图像处理方法和图像处理芯片 | |
CN112132914B (zh) | 一种图像尺度空间建立方法及图像处理芯片 | |
CN111488839B (zh) | 一种目标检测方法和目标检测*** | |
CN116311243B (zh) | 一种基于显微镜图像的藻类检测方法及*** | |
Liu et al. | Light field super-resolution using decoupled selective matching | |
CN117011655A (zh) | 基于自适应区域选择特征融合方法、目标跟踪方法及*** | |
CN112784828B (zh) | 基于方向梯度直方图的图像检测方法、装置、计算机设备 | |
EP2924649B1 (en) | Method and an apparatus for generating an approximate nearest neighbor field (annf) for images and video sequences | |
CN112132155B (zh) | 基于硬件电路的sift算法图像边界扩充方法和处理方法 |
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 |