一种微观图像拼接方法及系统

文档序号:26142397发布日期:2021-08-03 14:27阅读:112来源:国知局
一种微观图像拼接方法及系统

本发明属于图像处理领域,更具体地,涉及一种微观图像拼接方法及系统。



背景技术:

在许多科研领域需要观测待检测目标的微观形貌,例如医疗、生物、材料和精密制造等领域。为了获取待检测目标的微观形貌,需要借助具有足够分辨率的相机和镜头,才能得到合适的观测图像。然而,分辨率的提高会不可避免地造成相机视野的减少,这就导致只能直接观测待检测目标的局部。在保证合适的分辨率的前提下,直接增加相机感光元件的尺寸,不但大幅度增加成本,而且不能解决更大观测范围的需求,这就需要使用微观图像拼接技术。

现有的微观图像拼接技术通常针对两幅图像的整个区域进行特征点检测,或者对两幅图像的重叠区域均进行特征点检测,并对获得的所有特征点进行描述符生成,再使用描述符将所有的特征点进行匹配,来确定图像之间的变换关系,导致图像拼接的计算量大,耗费时间长的问题。



技术实现要素:

针对现有技术的缺陷和改进需求,本发明提供了一种微观图像拼接方法及系统,其目的在于改善现有微观图像拼接方法计算量大、耗费时间长的问题,从而大幅提高微观图像的拼接效率。

为实现上述目的,按照本发明的一个方面,提供了一种微观图像拼接方法,包括:s1,控制图像采集单元或样品逐次平移并采集样品相应位置处的微观图像,使得相邻位置处微观图像之间重叠区域的大小等于设定值;s2,搜索源图像重叠区域内的源特征点,并在目标图像重叠区域对应的微观图像内确定每一源特征点对应的目标特征点,所述目标图像为当前拼接后的微观图像,所述源图像为与所述目标图像相邻的待拼接微观图像;s3,搜索以任一目标特征点为中心的窗口内的所有特征点,计算所述任一目标特征点对应的源特征点与所述窗口内每一特征点之间的距离,并根据最小距离与次小距离之间的比值判断所述源特征点与最小距离对应的特征点是否匹配;s4,根据匹配的源特征点和最小距离对应的特征点将所述源图像拼接至所述目标图像,并将拼接后的图像作为所述目标图像;s5,重复执行所述s2-s4,直至将最后一个微观图像拼接至所述目标图像。

更进一步地,所述s2中以中间位置处的微观图像作为起始目标图像,所述s5包括:重复执行所述s2-s4,以逐一、逐层将所述起始目标图像外围的微观图像拼接至所述目标图像。

更进一步地,所述起始目标图像的位置索引为:

其中,rowm和colm分别为所述位置索引中的横坐标索引和纵坐标索引,rows和cols分别为采集到的微观图像的行数和列数。

更进一步地,所述s1包括:根据所述图像采集单元所采集微观图像的尺寸以及所述设定值,计算相邻图像之间的像素距离对应的水平平移距离和垂直平移距离;根据所述水平平移距离和垂直平移距离控制所述图像采集单元或样品逐次平移,以逐行或逐列采集样品相应位置处的微观图像。

更进一步地,所述s2中搜索源图像重叠区域内的源特征点包括:将所述源图像重叠区域划分为多个网格,搜索每一网格内的所有特征点,计算每一网格内各特征点的响应强度;将每一网格内响应强度最大的多个特征点的集合作为所述源特征点,所述多个特征点的数量不大于设定数量。

更进一步地,所述s3中根据最小距离与次小距离之间的比值判断所述源特征点与最小距离对应的特征点是否匹配包括:若所述比值小于比值阈值,所述源特征点与最小距离对应的特征点匹配,否则,所述源特征点与最小距离对应的特征点不匹配。

更进一步地,所述源图像与目标图像之间重叠区域的数量为一个,所述s4包括:根据匹配的源特征点和最小距离对应的目标特征点计算所述目标图像与源图像之间的单应性矩阵,利用所述单应性矩阵对所述源图像进行投影以拼接至所述目标图像。

更进一步地,所述源图像与目标图像之间重叠区域的数量为两个,所述s4包括:将所述源图像两个重叠区域内匹配后的源特征点合并,并将所述目标图像两个重叠区域内匹配后最小距离对应的特征点合并;根据合并后匹配的源特征点和最小距离对应的目标特征点计算所述目标图像与源图像之间的单应性矩阵,利用所述单应性矩阵对所述源图像进行投影以拼接至所述目标图像。

按照本发明的另一个方面,提供了一种微观图像拼接系统,包括:采集模块,用于控制图像采集单元或样品逐次平移并采集样品相应位置处的微观图像,使得相邻位置处微观图像之间重叠区域的大小等于设定值;搜索模块,用于搜索源图像重叠区域内的源特征点,并在目标图像重叠区域对应的微观图像内确定每一源特征点对应的目标特征点,所述目标图像为当前拼接后的微观图像,所述源图像为与所述目标图像相邻的待拼接微观图像;计算及匹配模块,用于搜索以任一目标特征点为中心的窗口内的所有特征点,计算所述任一目标特征点对应的源特征点与所述窗口内每一特征点之间的距离,并根据最小距离与次小距离之间的比值判断所述源特征点与最小距离对应的特征点是否匹配;第一拼接模块,用于根据匹配的源特征点和最小距离对应的目标特征点将所述源图像拼接至所述目标图像,并将拼接后的图像作为所述目标图像;第二拼接模块,用于重复执行所述搜索模块、计算及匹配模块和第一拼接模块,直至将最后一个微观图像拼接至所述目标图像。

总体而言,通过本发明所构思的以上技术方案,能够取得以下有益效果:

(1)通过控制图像采集单元或样品的平移距离,可以使得相邻微观图像之间的重叠区域等于设定值,由此精确确定各微观图像中的重叠区域,提高后续拼接的精度;仅搜索源图像重叠区域内的特征点,减小了搜索范围,并且只在与源特征点对应的目标图像指定窗口大小的区域内搜索特征点,再次减小了搜索范围和待匹配对象的数量,减少了匹配时间和错误匹配的概率,保证匹配的准确度,计算量更小,耗费时间更短,在保证拼接精度的基础上提高了微观图像的拼接效率;

(2)以中间位置处的微观图像作为起始图像,分组逐一、逐层地将外围微观图像拼接至中心区域的微观图像,相较于其他拼接顺序,减小了图像变换误差传递的长度,提高了最终拼接图像的精度;

(3)将源图像重叠区域划分为多个网格,将每一网格内响应强度最大的若干个特征点的集合作为源特征点,在保证拼接准确度的基础上进一步减少了特征点搜索和匹配的范围,进一步提高拼接效率。

附图说明

图1为本发明实施例提供的微观图像拼接方法的流程图;

图2为本发明实施例提供的微观图像拼接装置的结构示意图;

图3为本发明实施例提供的分组添加图像的示意图;

图4a和图4b分别为本发明实施例提供的添加单张图像的示意图和分解图;

图5为本发明实施例提供的图像特征点快速匹配的示意图;

图6为本发明实施例提供的微观图像拼接系统的框图。

在所有附图中,相同的附图标记用来表示相同的元件或者结构,其中:

1为相机,2为运动平台,3为x方向运动轨道,4为y方向运动轨道,5为同轴光源。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。

在本发明中,本发明及附图中的术语“第一”、“第二”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。

图1为本发明实施例提供的微观图像拼接方法的流程图。参阅图1,结合图2-图5,对本实施例中微观图像拼接方法进行详细说明。方法包括操作s1-操作s5。

操作s1,控制图像采集单元或样品逐次平移并采集样品相应位置处的微观图像,使得相邻位置处微观图像之间重叠区域的大小等于设定值。

参阅图2,示出了实现该微观图像拼接方法的装置的结构,该装置以控制样品移动为例。参阅图2,装置包括相机1、运动平台2、x方向运动轨道3、y方向运动轨道4和同轴光源5。运动平台2可沿x方向运动轨道3向x方向平移,沿y方向运动轨道4向y方向平移。样品放置在运动平台2上,通过控制运动平台2沿x方向和y方向平移来移动样品,使得图像采集单元(即相机1)采集样品相应位置处的微观图像。可以理解的是,也可以通过控制样品固定、相机1沿x方向和y方向平移来采集样品相应位置处的微观图像。

根据本发明的实施例,操作s1包括子操作s11和子操作s12。

在子操作s11中,根据图像采集单元所采集微观图像的尺寸以及设定值,计算相邻图像之间的像素距离对应的水平平移距离和垂直平移距离。

以图2所示装置为例,光源和相机控制模块根据相机2的硬件参数确定相机所采集微观图像的尺寸h×w,根据尺寸h×w以及图像拼接时需要的重叠区域的尺寸(即上述设定值),初步计算图像采集时,相邻图像之间的像素距离所对应的平移距离,该平移距离包括水平平移距离sh和垂直平移距离sv。

在子操作s12中,根据水平平移距离sh和垂直平移距离sv控制图像采集单元或样品逐次平移,以逐行或逐列采集样品相应位置处的微观图像。

仍以图2所示装置为例,以相机1的当前位置为起始位置,通过运动控制模块控制运动平台2搭载样品从各行的起始位置开始以水平平移距离sh逐次平移,以获取当前行的微观图像;然后控制运动平台2搭载样品垂直移动垂直平移距离sv以到达下一行,并进一步例如水平移动至下一行的起始位置,继续以水平平移距离sh逐次平移以获取下一行的微观图像,以此类推,采集样品所在整个区域的微观图像。

进一步地,按照图像序列采集顺序对各微观图像进行编号,对应的序号为i={0,1,2,…,rows×cols-1},rows和cols分别为采集到的微观图像的行数和列数。建立各微观图像对应的索引,微观图像i对应的索引为(rowi,coli),其中coli=i-rowi×cols。基于此,可以初步确定最终拼接图像的大小为((rows-1)×sv+h)×((cols-1)×sh+w)。

操作s2,搜索源图像重叠区域内的源特征点,并在目标图像重叠区域对应的微观图像内确定每一源特征点对应的目标特征点,目标图像为当前拼接后的微观图像,源图像为与目标图像相邻的待拼接微观图像。

操作s2中可以以任一微观图像作为起始目标图像,采用任意特定的顺序将其他微观图像拼接至目标图像。优选地,操作s2中以中间位置处的微观图像作为起始目标图像,起始目标图像的位置索引(rowm,colm)为:

其中,rowm和colm分别为位置索引(rowm,colm)中的横坐标索引和纵坐标索引。进一步地,后续操作中逐一、逐层地将起始目标图像外围的微观图像拼接至目标图像。可以理解的是,本实施例中,也可以以其他微观图像作为起始目标图像,按照其他特定顺序如逐行、逐列、由内向外逐层的方式将其他微观图像拼接至目标图像。

根据本发明的实施例,操作s2包括子操作s21-子操作s23。

在子操作s21中,将源图像重叠区域划分为多个网格,搜索每一网格内的所有特征点,计算每一网格内各特征点的响应强度。

将微观图像划分为上、下、左、右、中五部分区域,上、下、左、右部分区域的标识分别为u、d、l、r,源图像与目标图像之间的重叠区域为一个或两个。图4a、图4b和图5示出了源图像与目标图像之间的重叠区域为两个的情形。以图5所示相邻位置为例,源图像左侧和下侧均有一重叠区域,分别与目标图像的右侧和上侧的重叠区域相对应。将源图像的重叠区域l和重叠区域d分割为多个网格,每个网格的大小为m×n。

进一步地,例如采用fast角点检测算法计算出重叠区域l和重叠区域d中各个网格内的所有特征点,并生成每个特征点的harris响应强度。对于每个网格内的特征点,按照其对应的harris响应强度从大到小排序,从最大harris响应强度对应的特征点开始,取不大于设定数量n个特征点作为该网格内的源特征点。

在子操作s22中,将每一网格内响应强度最大的多个特征点的集合作为源特征点,多个特征点的数量不大于设定数量n。具体地,将重叠区域l中各网格内的源特征点的集合作为重叠区域l中的源特征点,其形成的集合为将重叠区域d中各网格内的源特征点的集合作为重叠区域d中的源特征点,其形成的集合为

在子操作s23中,在目标图像重叠区域内确定每一源特征点对应的目标特征点。以重叠区域d中的特征点pd=[xdyd1]t为例,根据上下相邻关系,在其下侧相邻微观图像(rowcur+1,colcur)的重叠区域u中对应的目标特征点为pu=[xdyd-sv1]t,该目标特征点为初步确定的特征点。

需要说明的是,操作s2中在目标图像重叠区域对应的微观图像内确定每一源特征点对应的目标特征点,至少包括以下两种实施方式:直接在当前已经拼接好的目标图像重叠区域中检测目标特征点;或者,在重叠区域对应的原始微观图像中检测目标特征点。

操作s3,搜索以任一目标特征点为中心的窗口内的所有特征点,计算任一目标特征点对应的源特征点与窗口内每一检测到的特征点之间的距离,并根据最小距离与次小距离之间的比值判断源特征点与最小距离对应的特征点是否匹配。

仍以上述重叠区域d和重叠区域u为例,对于任一源特征点pd在目标图像中对应位置处的目标特征点pu,在以pu为中心的窗口内,例如使用fast角点检测算法计算该窗口内所有的特征点,优选地,该窗口的大小与源图像中网格的大小相同,均为m×n。

进一步地,生成窗口内的特征点以及源特征点pd对应的brief描述符,并计算源特征点pd对应的brief描述符与窗口内各特征点对应的brief描述符之间的汉明距离,判断最小距离与次小距离之间的比值是否小于设定的比值阈值,若小于,则源特征点pd和最小距离对应的特征点匹配成功,否则,源特征点pd和窗口内的所有特征点均不匹配,即匹配失败。以此来获得重叠区域u和重叠区域d匹配成功的特征点集合,分别为重叠区域r和重叠区域l之间的特征点匹配与重叠区域u和重叠区域d之间的特征点匹配原理相同,此处不再赘述。

操作s4,根据匹配的源特征点和最小距离对应的特征点将源图像拼接至目标图像,并将拼接后的图像作为目标图像。

本发明实施例中,源图像与目标图像之间重叠区域的数量为一个或两个。当源图像与目标图像之间重叠区域的数量为一个时,操作s4中根据匹配的源特征点和最小距离对应的特征点计算目标图像与源图像之间的单应性矩阵,利用单应性矩阵对源图像进行投影以拼接至目标图像。

当源图像与目标图像之间重叠区域的数量为两个时,操作s4中将源图像两个重叠区域内匹配后的源特征点合并,并将目标图像两个重叠区域内匹配后最小距离对应的特征点合并;根据合并后匹配的源特征点和最小距离对应的目标特征点计算目标图像与源图像之间的单应性矩阵,利用单应性矩阵对源图像进行投影以拼接至目标图像。

参阅图4a、图4b和图5,以操作s2中在重叠区域对应的原始微观图像中检测目标特征点、源图像与目标图像之间重叠区域的数量为两个为例说明其具体拼接过程。

利用当前源图像(rowcur,colcur)对应的平移矩阵对源图像内的特征点集合进行变换,获得源特征点集并将源特征点集合并。其中,平移矩阵为:

利用目标图像(rowcur+1,colcur)中重叠区域对应的图像对应的平移矩阵对特征点集合进行平移变换,再使用对应的已经计算过的单应性矩阵进行投影变换,得到目标特征点集平移矩阵为:

利用目标图像(rowcur,colcur-1)中重叠区域对应的图像对应的平移矩阵对特征点集合进行平移变换,再使用对应的已经计算过的单应性矩阵进行投影变换,得到目标特征点集平移矩阵为:

将目标特征点集合并。进一步地,可以使用ransac算法对合并后的特征点进行提纯,获得鲁棒性更强的特征点集合,并使用提纯后的源特征点集和目标特征点集计算当前源图像平移后,与中心区域之间的单应性矩阵。

操作s5,重复执行操作s2-操作s4,直至将最后一个微观图像拼接至目标图像。

本实施例中,以操作s2中将中间位置处的微观图像作为起始目标图像,后续操作逐一、逐层将起始目标图像外围的微观图像拼接至目标图像为例说明其具体拼接过程。

以中心图像(rowm,colm)为基准,其对应的平移变换矩阵为hfirst,m:

平移后的中心图像(rowm,colm)映射到最终的拼接图像中的位置使用的单应性矩阵为单位矩阵hsecond,m:

进一步,可以计算出其余各个图像初步映射到最终图像中时的平移变换矩阵hfirst,i:

coli=i-rowi×cols

分组向中心区域添加微观图像。具体地,计算各个平移后图像与中心区域之间的单应性矩阵,以中心区域确定了平移矩阵hfirst和单应性矩阵hsecond的图像为目标图像,以圈circle为单位向中心区域添加图像,例如沿顺时针方向逐个添加,其中circle={0,1,…,min(rows-1,cols-1)/2}。中心图像对应的circle为0,则对于其余的circle,对应的该圈中需要添加的图像数量为circle×2×4,每个circle中添加的第一个图像的索引例如为(rowm-circle,colm-circle+1),然后沿着顺时针的方向,将该圈circle内剩余的图像作为源图像,其索引为(rowcur,colcur),逐个计算出其与中心区域内目标图像之间的单应性矩阵hsecond,cur。

本实施例中,对当前圈circle上的图像进行分组,则上边缘组对应的图像索引范围为:

rowcur=rowm-circle,colcur={colm-circle+1,colm-circle+2,…,colm+circle}

右边缘组对应的图像索引范围为:

rowcur={rowm-circle+1,rowm-circle+2,…,rowm+circle},colcur=colm+circle

下边缘组对应的图像索引范围为:

rowcur=rowm+circle,colcur={colm-circle,colm-circle+2,…,colm+circle-1}

左边缘组对应的图像索引范围为:

rowcur={rowm-circle,rowm-circle+2,…,rowm+circle-1},colcur=colm-circle

若当前图像(rowcur,colcur)是上边缘组的第一个图像,则其只与中心区域内的图像(rowcur+1,colcur)有重叠区域。若该图像(rowcur,colcur)为上边缘组的最后一个图像,则只与当前圈circle内的前一个图像有重叠区域,且该图像经过前一步,也已经属于中心区域,其索引为(rowcur,colcur-1)。若该图像(rowcur,colcur)为上边缘组的其余图像,则与其有重叠区域的图像有两个,其索引分别为(rowcur+1,colcur)和(rowcur,colcur-1)。同理,若该图像(rowcur,colcur)为右边缘组的最后一个图像,则与其有重叠区域的图像的索引为(rowcur-1,colcur)。若该图像(rowcur,colcur)为右边缘组的其余图像,则与其有重叠区域的图像有两个,其索引分别为(rowcur-1,colcur)和(rowcur,colcur-1)。同理,若该图像(rowcur,colcur)为下边缘组的最后一个图像,则与其有重叠区域的图像的索引为(rowcur,colcur+1)。若该图像(rowcur,colcur)为下边缘组的其余图像,则与其有重叠区域的图像有两个,其索引分别为(rowcur,colcur+1)和(rowcur-1,colcur)。若该图像(rowcur,colcur)为左边缘组内的图像,则与其有重叠区域的图像有两个,其索引分别为(rowcur+1,colcur)和(rowcur,colcur+1)。

进一步,根据当前图像(rowcur,colcur)的相邻图像的索引,可以确定当前图像和相邻图像之间的重叠区域,相邻的图像为一个或两个,如图3所示。采用操作s2-s4中的拼接操作依次将各图像添加至中间区域,直至最后一圈处理完成。进一步地,对边缘图像进行处理,该边缘图像例如为处于右边cols-2×(min(rows,cols)/2)列图像,处于下边rows-2×(min(rows,cols)/2)行图像,采用操作s2-s4中的拼接操作依次将各边缘图像添加至中间区域。最后可以将所有的图像使用其对应的变换矩阵和单应性矩阵变换到最终的拼接图像,并使用线性加权方法进行融合,获得最终的拼接图像。

图6为本发明实施例提供的微观图像拼接系统的框图。参阅图6,该微观图像拼接系统600包括采集模块610、搜索模块620、计算及匹配模块630、第一拼接模块640以及第二拼接模块650。

采集模块610例如执行操作s1,用于控制图像采集单元或样品逐次平移并采集样品相应位置处的微观图像,使得相邻位置处微观图像之间重叠区域的大小等于设定值。

搜索模块620例如执行操作s2,用于搜索源图像重叠区域对应的微观图像内的源特征点,并在目标图像重叠区域内确定每一源特征点对应的目标特征点,目标图像为当前拼接后的微观图像,源图像为与目标图像相邻的待拼接微观图像。

计算及匹配模块630例如执行操作s3,用于搜索以任一目标特征点为中心的窗口内的所有特征点,计算任一目标特征点对应的源特征点与窗口内每一特征点之间的距离,并根据最小距离与次小距离之间的比值判断源特征点与最小距离对应的特征点是否匹配。

第一拼接模块640例如执行操作s4,用于根据匹配的源特征点和最小距离对应的特征点将源图像拼接至目标图像,并将拼接后的图像作为目标图像。

第二拼接模块650例如执行操作s5,用于重复执行搜索模块620、计算及匹配模块630和第一拼接模块640,直至将最后一个微观图像拼接至目标图像。

微观图像拼接系统600用于执行上述图1-图5所示实施例中的微观图像拼接方法。本实施例未尽之细节,请参阅前述图1-图5所示实施例中的微观图像拼接方法,此处不再赘述。

本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1