[0001]
本公开涉及一种基于光流获得组织腔体三维图像的处理方法。
背景技术:[0002]
目前,在对腔体进行病理诊断的过程中,常常通过观察腔体的内部结构来获取病理信息。然而对于例如胃部等封闭腔体,人们难以在腔体外侧进行观察,因此一般通过导入拍摄装置收集信息,并通过特征点法进行三维重建。
[0003]
现有的特征点三维重建方法中,首先是分别提取两幅图像的特征点,然后对两幅图像的特征点进行一一配对,通过配对好的特征点对可以计算出两幅图像之间的相对位姿,从而计算出摄影装置的位置和姿态并根据摄影装置的位置和姿态进一步计算出腔体内壁的三维图像。
[0004]
但是,现有的特征点三维重建方法,在纹理缺乏且相似度高的场景内效果并不令人满意。对于例如胃部等纹理少且纹理之间相似度高的腔体而言,所获得的图像容易受腔体内的光照影响,无法获取足够的特征点和准确的匹配关系。因此,使用传统特征点法进行的三维重建不适用于胃部等纹理少且纹理之间相似度高的腔体。
技术实现要素:[0005]
本公开是鉴于上述现有技术的状况而提出的,其目的在于提供一种能够对纹理少且纹理之间相似度高的组织腔体(例如胃腔)的图像进行三维重建且提高该图像的特征点识别准确性的基于光流获得组织腔体三维图像的处理方法。
[0006]
为此,本公开提供了一种基于光流获得组织腔体三维图像的处理方法,利用胶囊内窥镜在具有褶皱内壁的组织腔体内沿着第一方向针对所述组织腔体内的重建区域采集第一图像,并使所述胶囊内窥镜在组织腔体内沿着第二方向针对所述重建区域采集第二图像,所述第一方向与所述第二方向形成有夹角;计算所述重建区域在所述第一图像内的第一像素区域与所述重建区域在第二图像内与所述第一像素区域对应的第二像素区域的光流;在所述第一像素区域中提取包括多个特征点的第一特征点集,并基于所述第一特征点集和所述光流获得在所述第二像素区域中与所述第一特征点集对应的第二特征点集;基于所述第一特征点集和所述第二特征点集计算所述胶囊内窥镜的本质矩阵;并且基于所述本质矩阵计算所述第一像素区域和所述第二像素区域的各个像素点的空间坐标,获得点云并利用所述点云进行三维图像重建。
[0007]
在这种情况下,能够准确地获取第一图像和第二图像之间的光流,并且能够根据光流在第一图像和第二图像中提取相对应的特征点,从而能够实现在纹理少、纹理之间相似度高且受光照影响严重的组织腔体内壁图像中提取足够的特征点以及准确的匹配关系,由此能够利用准确匹配的特征点完成组织腔体内壁的三维重建。
[0008]
另外,在本公开所涉及的基于光流获得组织腔体三维图像的处理方法中,可选地,所述第一图像和所述第二图像由所述胶囊内窥镜连续采集获得,所述胶囊内窥镜为单目胶
囊内窥镜,所述光流由所述胶囊内窥镜的运动而产生。在这种情况下,能够利用单目胶囊内窥镜的运动获得光流。
[0009]
另外,在本公开所涉及的基于光流获得组织腔体三维图像的处理方法中,可选地,所述第一图像和所述第二图像为相邻帧的两幅图像,所述第一图像为当前帧的图像,所述第二图像为下一帧的图像。在这种情况下,能够减少胃腔蠕动对光流的影响。
[0010]
另外,在本公开所涉及的基于光流获得组织腔体三维图像的处理方法中,可选地,所述多个特征点包括至少8个特征点。由此,能够提高本质矩阵的精确度。
[0011]
另外,在本公开所涉及的基于光流获得组织腔体三维图像的处理方法中,可选地,通过基于深度学习的神经网络计算所述光流。在这种情况下,能够通过基于深度学习的神经网络准确地得到组织腔体内壁图像中各像素点的运动信息。
[0012]
另外,在本公开所涉及的基于光流获得组织腔体三维图像的处理方法中,可选地,所述基于深度学习的神经网络的训练步骤包括:准备多组的组织腔体内壁图像对,所述组织腔体内壁图像对为对具有褶皱内壁的组织腔体内的同一区域以不同的方向进行采集获得的两幅图像,且分别为第一训练图像和第二训练图像;将每组组织腔体内壁图像对的第一训练图像和第二训练图像依次输入所述神经网络以获取所述第一训练图像内的第一像素点的前向光流;交换第一训练图像和第二训练图像的输入顺序以获取所述第二训练图像内与所述第一像素点对应的第二像素点的后向光流;基于所述前向光流和所述后向光流计算损失函数;并且基于所述损失函数对所述神经网络进行评估并优化。在这种情况下,能够以无监督的方式训练神经网络,并且能够利用未进行标注的组织腔体内壁图像进行训练。
[0013]
另外,在本公开所涉及的基于光流获得组织腔体三维图像的处理方法中,可选地,所述损失函数包括结构相似性损失项、几何前后一致性损失项以及光流平滑度损失项。在这种情况下,能够通过损失函数对神经网络进行训练。
[0014]
另外,在本公开所涉及的基于光流获得组织腔体三维图像的处理方法中,可选地,所述结构相似性损失项包括第一预测图像与所述第一训练图像的第一结构相似性损失项和第二预测图像与所述第二训练图像的第二结构相似性损失项,所述第一预测图像通过所述前向光流作用于所述第二训练图像生成,所述第二预测图像通过所述后向光流作用于所述第一训练图像生成。在这种情况下,能够评估计算出的前向光流和后向光流的准确度,从而通过训练神经网络提高神经网络所计算的光流的准确度。
[0015]
另外,在本公开所涉及的基于光流获得组织腔体三维图像的处理方法中,可选地,所述光流平滑度损失项包括所述前向光流的全变分损失与所述后向光流的全变分损失。在这种情况下,能够提高光流的平滑度,从而能够保持光流图像的光滑性并降低噪声对光流图像影响。
[0016]
另外,在本公开所涉及的基于光流获得组织腔体三维图像的处理方法中,可选地,所述几何前后一致性损失项为所述第一训练图像内的第一像素点的前向光流与所述第二训练图像内与第一像素点对应的第二像素点的后向光流的差值。在这种情况下,能够使训练后的神经网络所计算出的前向光流和后向光流保持前后一致性。
[0017]
根据本公开,能够提供一种能够对纹理少且纹理之间相似度高的组织腔体(例如胃腔)的图像进行三维重建且提高该图像的特征点识别准确性的基于光流获得组织腔体三维图像的处理方法。
附图说明
[0018]
现在将通过参考附图的例子进一步详细地解释本公开的实施例,其中:
[0019]
图1示出了本公开的示例所涉及的基于光流获得组织腔体三维图像的实施流程的示意图。
[0020]
图2示出了本公开的示例所涉及的获取第一图像和第二图像的场景示意图。
[0021]
图3示出了本公开的示例所涉及的基于深度学习的神经网络的示意图。
[0022]
图4示出了本公开的示例所涉及的基于深度学习的神经网络中的第一预处理模块的示意图。
[0023]
图5示出了本公开的示例所涉及的基于深度学习的神经网络中第一神经网络的示意图。
[0024]
图6示出了本公开的示例所涉及的基于深度学习的神经网络的变形例的示意图。
[0025]
图7示出了本公开的示例所涉及的基于深度学习的神经网络的训练步骤的示意图。
[0026]
图8示出了本公开的示例所涉及的基于深度学习的神经网络进行特征点匹配的示意图。
[0027]
附图标记说明:
[0028]
10
…
基于深度学习的神经网络;11
…
第一预处理模块;12
…
第一神经网络;13
…
特征组合模块;14
…
第三神经网络;21
…
第二预处理模块;22
…
第二神经网络;111
…
调整单元;112
…
归一化单元;20
…
胶囊内窥镜;31
…
第一图像;32
…
第二图像;311
…
第一特征点;321
…
第二特征点。
具体实施方式
[0029]
本公开引用的所有参考文献全文引入作为参考,如同完全阐述的那样。除非另有定义,本公开所使用的技术和科学术语具有与本公开所属领域的普通技术人员通常理解相同的含义。为本领域技术人员提供了本申请中所使用的许多术语的一般指南。本领域技术人员将认识到可以用于本公开的实践中的与本公开所描述的那些相似或等同的许多方法和材料。实际上,本公开决不限于所描述的方法和材料。
[0030]
以下,参考附图,详细地说明本公开的优选实施方式。在下面的说明中,对于相同部件赋予相同的符号,省略重复说明。另外,附图只是示意图,部件相互之间尺寸的比例或者部件形状等可与实际不同。
[0031]
需要说明的是,本公开中的术语“包括”和“具有”以及它们的任何变形,例如所包括或所具有的一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可以包括或具有没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0032]
另外,在本公开的以下描述中涉及的小标题等并不是为了限制本公开的内容或范围,其仅仅是作为阅读的提示作用。这样的小标题既不能理解为用于分割文章的内容,也不应将小标题下的内容仅仅限制在小标题的范围内。
[0033]
本公开涉及一种基于光流获得组织腔体三维图像的处理方法。基于光流获得组织腔体三维图像的处理方法可以简称为处理方法。在本公开涉及的处理方法中可以通过光流
法计算组织腔体三维图像中个各像素的运动信息。其中,组织腔体可以是但不限于胃部、腹腔、胸腔、大肠腔等腔体。作为一种示例,本公开所涉及的基于光流获得组织腔体三维图像的处理方法可以是用于胶囊内窥镜20在胃部运动时拍摄的胃腔内壁图像的处理。在一些示例中,胶囊内窥镜20在胃部内进行运动时,具有拍摄装置的胶囊内窥镜20可以对胃壁进行拍摄以获得胃部三维图像,进而基于胃部三维图像构建完整的或部分的胃部模型。
[0034]
图1示出了本公开的示例所涉及的基于光流获得组织腔体三维图像的实施流程的示意图。图2示出了本公开的示例所涉及的获取第一图像31和第二图像32的场景示意图。
[0035]
在一些示例中,如图1所示,本公开所涉及的基于光流获得组织腔体三维图像的处理方法可以包括以下步骤:利用胶囊内窥镜在具有褶皱内壁的组织腔体针对重建区域(后续描述)获取第一图像31和第二图像32(步骤s100);计算重建区域在第一图像31内的第一像素区域与重建区域在第二图像32内与第一像素区域对应的第二像素区域的光流(步骤s200);在第一像素区域中提取包括多个特征点的第一特征点集,并基于第一特征点集和光流获得在第二像素区域中与第一特征点集对应的第二特征点集(步骤s300);基于第一特征点集和第二特征点集计算胶囊内窥镜20的本质矩阵(步骤s400)和基于本质矩阵计算第一像素区域和第二像素区域的各个像素点的空间坐标,获得点云并利用点云进行三维图像重建(步骤s500)。
[0036]
在这种情况下,能够准确地获取第一图像31和第二图像32之间的光流,并且能够根据光流在第一图像31和第二图像32中提取相对应的特征点,从而能够实现在纹理少、纹理之间相似度高且受光照影响严重的组织腔体内壁图像中提取足够的特征点以及准确的匹配关系,由此能够利用准确匹配的特征点完成组织腔体内壁的三维重建。
[0037]
在一些实例中,如图1和图2所示,本公开所涉及的基于光流获得组织腔体三维图像的处理方法在步骤s100中,可以利用胶囊内窥镜在具有褶皱内壁的组织腔体针对重建区域(后续描述)获取第一图像31和第二图像32,具体而言,可以利用胶囊内窥镜20在具有褶皱内壁的组织腔体内沿着第一方向针对组织腔体内的重建区域采集第一图像31,并使胶囊内窥镜20在组织腔体内沿着第二方向针对重建区域采集第二图像32,并且第一方向与第二方向形成有夹角。
[0038]
在一些示例中,如图2所示,可以利用胶囊内窥镜20在具有褶皱内壁的组织腔体内沿着第一方向l1针对组织腔体内的重建区域采集第一图像31。利用胶囊内窥镜20在组织腔体内沿着第二方向l2针对重建区域采集第二图像32。第一方向与第二方向形成有夹角。在这种情况下,能够获取针对重建区域的以不同的角度拍摄的第一图像31和第二图像32,进而获取第一图像31和第二图像32间的光流。
[0039]
在一些示例中,重建区域可以是需要进行三维重建从而获取其三维图像的组织腔体的褶皱内壁的部分区域或全部区域。
[0040]
在一些示例中,图2所示的组织腔体的褶皱内壁可以是但不限于胃部、腹腔、胸腔、大肠腔等腔体的褶皱内壁。
[0041]
在一些示例中,步骤s100中的胶囊内窥镜20可以具有采集装置。采集装置可以采集胃腔的病理信息。在一些示例中,病理信息可以包括胃腔内壁图像。在这种情况下,胶囊内窥镜20能够采集胃腔的内壁图像,从而进行胃腔内壁的三维重建。
[0042]
在一些示例中,第一图像31和第二图像32可以由同一个胶囊内窥镜20拍摄得到。
在这种情况下,第一图像31的拍摄时间和第二图像32的拍摄时间具有先后顺序。
[0043]
在另一些示例中,第一图像31和第二图像32可以由不同的胶囊内窥镜20拍摄得到。在这种情况下,第一图像31和第二图像32能够同时拍摄或依次拍摄。例如,第一图像31和第二图像32可以为两个胶囊内窥镜20同时拍摄的两幅图像。在这种情况下,能够减少胃腔蠕动对光流的影响。
[0044]
在一些示例中,胶囊内窥镜20可以在胃腔内连续拍摄。在这种情况下,能够获取胃腔内壁的多张图像。
[0045]
在一些示例中,胶囊内窥镜20可以是单目胶囊内窥镜、双目胶囊内窥镜或多目胶囊内窥镜。在这种情况下,能够基于不同的需求和场景选择相应的胶囊内窥镜20进行拍摄。
[0046]
在一些示例中,胶囊内窥镜20的采集装置可以为单目拍摄装置。在这种情况下,能够以单一的摄像头获取胃腔内壁的图像。
[0047]
在一些示例中,胶囊内窥镜20的采集装置可以为多目拍摄装置(例如,双目拍摄装置、三目拍摄装置、四目拍摄装置等)。在这种情况下,能够同时利用多个摄像头获取胃腔内壁的多张图像,从而能够在相同的光强度下获得相同的位置的胃腔内壁的多幅图像。
[0048]
在一些示例中,第一图像31和第二图像32可以分别为双目拍摄装置的两个镜头拍摄的图像。在这种情况下,第一图像31和第二图像32能够具有相同的拍摄时间。
[0049]
在一些示例中,第一图像31可以先于第二图像32拍摄。但本公开的示例不限于此,第一图像31可以晚于第二图像32拍摄,或者第一图像31可以与第二图像32同时拍摄。
[0050]
在一些示例中,第一图像31和第二图像32可以为相邻帧的两幅图像。其中,第一图像31可以是当前帧图像。第二图像32可以是与当前帧相邻的下一帧图像。在这种情况下,能够使第一图像31的拍摄区域和第二图像32拍摄区域具有更多的重合部分,并且能够减少胃腔蠕动对光流的影响。
[0051]
在另一些示例中,第一图像31和第二图像32可以不是相邻帧的两幅图像。具体而言,第一图像31和第二图像32可以相差多个帧。例如,第一图像31和第二图像32可以相差2帧、3帧、4帧等。在这种情况下,可以根据实际的需求设定第一图像31和第二图像32之间相差的帧数。
[0052]
在一些示例中,胶囊内窥镜20可以在磁场的作用下,沿设定路径进行拍摄。在这种情况下,胶囊内窥镜20能够以设定路径完成胃腔内壁的扫描和拍摄。在一些示例中,胶囊内窥镜20可以拍摄多张图像以使拍摄的区域遍布整个胃腔,在这种情况下,能够重建完整的胃腔内壁。在另外一些示例中,胶囊内窥镜20的拍摄区域可以限制在目标区域,在这种情况下,能够重建胃腔内的目标区域。
[0053]
如图1所示,在步骤s200中,可以计算重建区域在第一图像31内的第一像素区域与重建区域在第二图像32内与第一像素区域对应的第二像素区域的光流,为方便描述,第一图像31可以设定为先于第二图像32拍摄。
[0054]
在一些示例中,重建区域可以是需要进行三维重建的组织腔体的内壁。
[0055]
在一些示例中,通过计算重建区域在第一图像31内的第一像素区域与重建区域在第二图像32内与第一像素区域对应的第二像素区域的光流来获取物体的运动信息的处理方法可以称为光流法。
[0056]
在本公开中,光流法可以是指可以利用第一图像31和第二图像32中的像素在时间
域上的变化以及相关性来找到第一图像31和第二图像32之间存在的对应关系,从而可以计算出第一图像31和第二图像32之间物体的运动信息。在这种情况下,能够通过光流描述物体的运动信息。
[0057]
在一些示例中,光流法可以有两个基本假设:光强度恒定,即同一目标在运动时,其光强度不会发生剧烈改变;时间连续或运动是“小运动”,即时间的变化不会引起目标位置的剧烈变化。在这种情况下,能够利用光流法计算出第一图像31和第二图像32之间的物体的光流,并根据光流获取物体的运动信息。
[0058]
在本公开涉及的实施例中,可以通过光流法利用利用第一图像31和第二图像32中像素在时间域上的变化以及相关性来找到第一图像31和第二图像32之间存在的对应关系,计算出胶囊内窥镜20的运动信息。
[0059]
在一些示例中,光流(optical flow)可以由胶囊内窥镜20的运动而产生。在这种情况下,能够把光流与胶囊内窥镜20的运动相联系,也即能够利用胶囊内窥镜20的运动信息获得光流。在一些示例中,光流可以是指空间物体在观察成像平面的像素运动的瞬时速度。在一些示例中,可以将图像平面特定坐标点上的光强度值瞬时变化率定义为光流。在这种情况下,能够将图像平面特定坐标点上的光强度值与光流相结合,进而获取胶囊内窥镜20的运动信息。
[0060]
在一些示例中,多个像素点的光流可以组成为光流场。在这种情况下,能够通过光流场描述图像中各个像素点的光流。
[0061]
在一些示例中,可以通过光流图像表示光流场。具体而言,光流是矢量,光流图像中每一个像素点的颜色可以对应一个光流,并且光流的与hsv颜色空间内的颜色可以一一对应。在这种情况下,能够利用颜色表示光流,进而能够用光流图像直观地表示光流场。
[0062]
在一些示例中,第一图像31或第二图像32中一个像素点的光强度可以假设为i(x,y,t)。其中,x,y分别表示像素点的位置在该图像的宽度方向和长度方向上分量,t表示其所在的时间维度。对于组织腔体的褶皱内壁上的预设点,该预设点在第二图像32中的像素点的位置与该预设点在第一图像31中的像素点的位置的移动的距离可以用(dx,dy)表示,该移动的时间可以用dt表示。根据光流法的基本假设,该像素点在移动前后的光强度可以通过公式(1)表达:
[0063]
i(x,y,t)=i(x+dx,y+dy,t+dt)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)
[0064]
将公式(1)右端进行泰勒展开得:
[0065][0066]
ε代表二阶无穷小项,可以忽略不计,将公式(2)带入公式(1)两边同时对时间求导得:
[0067][0068]
设u,v为光流分别沿该图像的宽度方向和长度方向的分量,则有:
[0069]
[0070]
另外,可以分别表示该图像中像素点的光强度对x,y,t的偏导数,综上,公式(3)可以转化为公式(5):
[0071]
i
x
u+i
y
v+i
t
=0
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(5)
[0072]
其中,i
x
,i
y
,i
t
均可以由第一图像31或第二图像32求出。根据上述的光流的计算方法可知,约束方程只有一个,而光流有两个分量。在一些示例中,可以引入另外的约束条件来计算光流,在这种情况下,能够利用另外的约束条件求解出光流。
[0073]
在一些示例中,根据引入的约束条件,可以把光流法分类为基于梯度的方法、基于匹配的方法、基于能量的方法、基于相位的方法或神经动力学方法。在这种情况下,能够通过多种计算方法计算光流,从而选出准确度更高的光流计算方法。在另一些示例中,上述的多种光流法可以配合使用,在这种情况下,能够根据实际应用场景选择合适的方法配合使用。
[0074]
在一些示例中,基于梯度的光流法可以包括lucas-kanade算法或horn-schunck算法。在这种情况下,能过根据实际需求对光流进行求解。
[0075]
在一些示例中,可以应用lucas-kanade算法(lk算法)来计算光流。具体而言,lk光流法在原先的光流法两个基本假设的基础上,增加了一个“空间一致”的假设,即在目标区域内所有的相邻像素点有相似的运动。也即在目标像素周围m
×
m的区域内,每个像素点均拥有相同的光流。优选地,m可以设置为2,在这种情况下,能够通过简单的约束条件求出光流。
[0076]
在m
×
m的区域内,lk光流法可以通过对下式的加权平方和最小化来估计光流:
[0077][0078]
式(6)中w2(x)是一个窗口权重函数,该函数使得该区域中心的加权比周围的大。i(x,y,t)表示像素点的光强度函数,i
a
表示i对a的偏导数(a可以为x,y,t),x,y为对应像素点的位置,t为时间。ω表示该区域范围,对于ω内的i个像素点x1、x2…
x
i
,设
[0079][0080][0081]
[0082][0083]
故上述解可由最小二乘法得到:
[0084]
a
t
w2av=a
t
w2b
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(11),
[0085]
最后得:
[0086]
v=(a
t
w2a)-1
a
t
w2b
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(12),
[0087]
由此,可解得沿该图像长度和宽度方向的光流分量u和光流分量v。
[0088]
在一些示例中,通过上述方法可以求出第一图像31到第二图像32中的第i个像素点的后向光流分量u
i
和v
i
(i=1,2,
……
n)。
[0089]
在一些示例中,可以利用horn-schunck算法(hs算法)来计算光流。具体而言,可以在光流基本约束方程的基础上附加全局平滑假设,假设在整幅图像上光流的变化是光滑的,即图像运动矢量是平滑的或只是缓慢变化的。在这种情况下,能够使求出的光流在图像的中的变化更加平滑,更加符合实际的光流分布情况,从而能够提高匹配准确度。
[0090]
在一些示例中,horn-schunck算法加入的约束条件可以表示为能量函数ζ2取最小值,其中,能量函数可以表示为式(13):
[0091]
ζ2=∫∫ldxdy
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(13),
[0092]
其中,其中,
[0093]
其中,u,v分别为该图像中沿该图像长度和宽度方向的光流分量,x,y为对应像素点的位置,l光流光滑项,α为光滑权重系数,其表示光流光滑项的权重。
[0094]
利用欧拉-拉格朗日方程并化简后得到迭代式:
[0095][0096][0097]
其中,k表示第k次迭代,u
k
、v
k
表示第k次迭代后的光流分量,u
k+1
、v
k+1
表示第k+1次迭代后的光流分量,分别表示第k次迭代后的光流分量u和v的均值。在一些示例中,u和v的均值可以通过九点差分格式进行计算。
[0098]
在一些示例中,可以对光流进行多次迭代直到超过允许的迭代次数或两次迭代的光流差值小于给定的误差阈值。在这种情况下,能够通过迭代获得收敛的光流。
[0099]
在另一些示例中,可以对horn-schunck算法进行改进。具体而言,可以引入具有条
件的平滑约束,即通过加权矩阵对梯度进行不同平滑处理,或者可以引入分段平滑的方法。在这种情况下,能过根据实际情况选择改进的方式。
[0100]
在另一些示例中,可以利用稠密光流法或稀疏光流法来计算光流。在一些示例中,可以基于稠密光流法来计算光流。具体而言,稠密光流法可以针对第一图像31或第二图像32中的某片区域进行逐点的匹配,并计算第一图像31或第二图像32上所有点的光流。在这种情况下,能够计算出稠密的光流,从而能够通过稠密的光流进行像素级别的特征点匹配。在一些示例中,可以基于稀疏光流法来计算光流,具体而言,稠密光流法设定某一点附近的光流相同,并且不需要计算第一图像31或第二图像32上所有点的光流。在这种情况下,能够计算出稀疏的光流,从而减少计算量并提高计算速度。
[0101]
在一些示例中,步骤s200中,可以通过基于深度学习的神经网络10计算光流。具体而言,可以向神经网络输入成对的训练图像(包括第一训练图像和第二训练图像,后续描述)来训练神经网络,并且利用训练后的神经网络获得第一图像31和第二图像32之间的光流。在这种情况下,能够通过基于深度学习的神经网络10准确地得到第一图像31或第二图像32中各像素点的运动信息。
[0102]
在一些示例中,基于深度学习的神经网络10在本发明中有时也可以简称为“神经网络”。
[0103]
在一些示例中,成对的训练图像为相邻帧的两幅图像。在一些示例中,成对的训练图像为当前帧图像和下一帧图像。在另一些示例中,成对的训练图像为相差固定帧数的图像对,其中相差的帧数可以为1帧、2帧、3帧、4帧、或5帧等,在这种情况下,能够根据实际情况调整输入的成对的训练图像间相差的帧数。
[0104]
在一些示例中,基于深度学习的神经网络10可以是基于卷积运算的神经网络系统(本公开中有时也可以称为“卷积神经网络”)、基于多层神经元的自编码神经网络、或者以多层自编码神经网络的方式进行预训练的神经网络。在这种情况下,能够根据实际情况选择合适的方法构建基于深度学习的神经网络10。
[0105]
以下,以基于卷积运算的神经网络系统为示例以介绍如何通过基于深度学习的神经网络10计算光流,但计算光流的方法不限于此,同时,以下的关于卷积神经网络的各个部分也可以单独地或组合地运用到其它神经网络中以计算光流。
[0106]
在一些示例中,将任意图像作为输入时,可以将该图像转换成rgb颜色矩阵,在这种情况下,能够把任意图像转换成计算机能够识别的3通道矩阵。
[0107]
图3示出了本公开的示例所涉及的基于深度学习的神经网络的示意图。
[0108]
在一些示例中,如图3所示,基于卷积运算的神经网络系统可以包括第一神经网络12、第二神经网络22、特征组合模块13、以及第三神经网络14。
[0109]
在一些示例中,基于卷积运算的神经网络系统还可以包括预处理模块。预处理模块可以设置在第一神经网络12和第二神经网络22之前。在这种情况下,输入的组织腔体内壁图像能够在进入第一神经网络12或第二神经网络22之前进行预处理。
[0110]
在一些示例中,预处理模块可以包括第一预处理模块11和第二预处理模块21。具体而言,如图3所示,第一预处理模块11和第二预处理模块21可以分别设置在第一神经网络12和第二神经网络22之前,第一预处理模块11的输出端可以连接第一神经网络12的输入端,第二预处理模块21的输出端可以连接第二神经网络22的输入端。但是本实施方式不限
于此,在另外一些示例中,第一预处理模块11的输出端可以连接第二神经网络22的输入端,第二预处理模块21的输出端可以连接第一神经网络12的输入端。
[0111]
在一些示例中,第一预处理模块11可以接收并处理来自第一输入的图像。在一些示例中,第二预处理模块21可以接收并处理来自第二输入的图像。在一些示例中,第一输入的图像可以是第一图像31(或第一训练图像),第二输入的图像可以是第二图像32(或第二训练图像)。在一些示例中,第一输入的图像可以是第二图像32(或第二训练图像),第二输入的图像可以是第一图像31(或第一训练图像)。
[0112]
在一些示例中,预处理模块(第一预处理模块11和第二预处理模块21)可以用于对具有褶皱内壁的组织腔体内的同一区域以不同的方向进行采集获得的第一图像31和第二图像32分别进行预处理。也即,第一预处理模块11可以对第一图像31进行预处理,第二预处理模块21可以对第二图像32进行预处理。在一些示例中,第一预处理模块11和第二预处理模块21可以在形成在同一模块中,也可以独立形成为模块。以下以第一预处理模块11对第一图像31进行预处理,第二预处理模块21对第二图像32进行预处理的情况为示例,对卷积神经网络模型的结构和处理过程进行描述,但是,本发明不限于此。
[0113]
图4示出了本公开的示例所涉及的基于深度学习的神经网络中的第一预处理模块的示意图。
[0114]
在一些示例中,预处理模块可以包括输入端。在这种情况下,神经网络能够接收组织腔体内壁图像进行训练或计算光流。
[0115]
如上,预处理模块(第一预处理模块11和第二预处理模块21)可以用于对具有褶皱内壁的组织腔体内的同一区域以不同的方向进行采集获得的第一图像31和第二图像32分别进行预处理。具体而言,第一图像31和第二图像32的可以被依次输入,并且可以分别进入第一预处理模块11和第二预处理模块21。第一预处理模块11和第二预处理模块21可以对输入的图像进行尺寸调整和归一化等预处理。也即,第一预处理模块11可以对第一图像31进行尺寸调整和归一化等预处理;第二预处理模块21可以对第二图像32进行尺寸调整和归一化等预处理。在一些示例中,可以交换第一图像31和第二图像32的输入次序,在这种情况下,能够使第一预处理模块11可以对第二图像32进行尺寸调整和归一化等预处理;第二预处理模块21可以对第一图像31进行尺寸调整和归一化等预处理。
[0116]
在一些示例中,第一预处理模块11和第二预处理模块21可以设置成相同的模块,因此,以下针对第一预处理模块11进行详细描述,第二预处理模块21的结构可以与第一预处理模块11完全相同。
[0117]
如图4所示,神经网络的第一预处理模块11主要包括区域调整单元111和归一化单元112。
[0118]
在一些示例中,调整单元111可以用于对组织腔体内壁图像(例如第一图像31、第二图像32、第一训练图像和第二训练图像)进行尺寸调整。由于组织腔体大小的不同、或所使用的镜头的不同,所获得的组织腔体内壁图像在分辨率、内壁区域尺寸等方面上均可能存在差异。在这种情况下,能够利用调整单元111对获得的组织腔体内壁图像进行调整。
[0119]
在一些示例中,通过调整单元111,能够将组织腔体内壁图像的尺寸调整至规定的尺寸(例如像素尺寸)例如256
×
256、512
×
512、1024
×
1024等。然而,本实施方式不限于此,根据特定需要,组织腔体内壁图像的尺寸也可以是任意其他规格的大小(像素大小)例如
128
×
128、768
×
768、2048
×
2048等。在这种情况下,能够根据实际需求把图像的尺寸调整至合适的大小。
[0120]
在一些示例中,第一预处理模块11中的归一化单元112可以用于对组织腔体内壁图像(例如第一图像31或第一训练图像)进行归一化。在这种情况下,能够对组织腔体内壁图像进行归一化处理,从而能够避免因不同种类组织腔体内壁的差异、图像的采集装置不同或采集条件不同而造成的差异。
[0121]
在一些示例中,归一化单元112的归一化方式没有特别限定,例如可以采用零均值(zero mean)、单位标准方差(unit standard deviation)等进行。另外,在一些示例中,也可以归一化在[0,1]的范围内。在这种情况下,能够可以克服不同种类组织腔体内壁图像的差异性,从而能够提高人工神经网络的性能。
[0122]
在一些示例中,第一预处理模块11还可以具有扩增单元(未图示)。扩增单元可以设置在调整单元111之前,但本实施方式不限于此。
[0123]
在一些示例中,扩增单元可以用于在神经网络的训练阶段对组织腔体内壁图像进行数据扩增。通过扩增单元,可以对所获得的组织腔体内壁图像进行数据扩增以扩大组织腔体内壁图像的样本量,从而有助于克服过拟合问题,提高人工神经网络的性能。另外,需要说明的是,扩增单元一般限于在稍后描述的神经网络的训练阶段时对数据样本进行扩增,在神经网络的测试阶段时可以不使用扩增单元。
[0124]
另外,扩增单元所采用的扩增方式没有特别限制,在一些示例中,可以通过对组织腔体内壁图像进行各种图像变换来进行样本扩增。在一些示例中,图像变换方式可以包括对称变换、倒立变换、旋转变换、像素平移等,还可以包括对图像的对比度、亮度、颜色、锐度等进行调整。
[0125]
以上,已经描述了第一预处理模块11的构成和功能,同样地,第二预处理模块21也可以具有与第一预处理模块11完全相同的构成和功能。在这种情况下,组织腔体内壁图像(例如第二图像32或第二训练图像)可以作为第二输入经过第二预处理模块21也能够得到有效的预处理,以满足后续人工神经网络(第二神经网络22和第三神经网络14)对组织腔体内壁图像的处理。在这种情况下,通过第一预处理模块11和第二预处理模块21,能够分别对组织腔体内壁图像进行有效的预处理,从而有助于后续各个神经网络对组织腔体内壁图像中的进一步处理。
[0126]
在一些示例中,第一图像31或第二图像32经过预处理模块可以获得目标第一图像31或目标第二图像32。目标第一图像31或目标第二图像32可以作为第一神经网络12和第二神经网络22的输入。
[0127]
在本实施方式中,第一神经网络12可以用于从经过第一预处理模块11预处理后的图像(例如目标第一图像31),并产生第一特征集。同样地,第二神经网络22可以用于从经过第二预处理模块21预处理后的图像(例如目标第二图像32)产生第二特征集。其中,第一神经网络12和第二神经网络22可以通过例如组合多层低级特征(像素级特征),实现了对目标第一图像31和目标第二图像32的抽象描述。这里,高级特征仅指示经过人工神经网络的处理后相对于原始图像的初级特征(例如像素级的特征)而言,并非为了精确描述特征的高级性,但一般而言,经过神经网络处理,随着神经网络越往深层次会呈现出越高层次和越抽象的趋势。另外,特征集一般是指包括了两个或两个以上的特征的集合,在本发明中有时也可
以称为“特征矩阵”和“特征图像”。另外,在一些特殊的情况下,特征集也可以仅有1个特征例如中间结果,这时“特征集”可以仅特指单个“特征”。
[0128]
图5示出了本公开的示例所涉及的基于深度学习的神经网络中第一神经网络的示意图。
[0129]
在一些示例中,第一神经网络12和第二神经网络22可以具有相同的网络结构。以下针对第一神经网络12进行详细描述,第二神经网络22的结构可以与第一预处理模块11完全相同。
[0130]
在一些示例中,第一神经网络12可以对输入图像进行卷积处理,在这种情况下,能够提取该图像的特征,从而得到输入图像的特征图像。在一些示例中,卷积处理可以是利用卷积核对目标图像进行卷积运算。
[0131]
在一些示例中,可以将两个输入图像(例如目标第一图像31和目标第二图像32)作为输入并输入到卷积神经网络,在这种情况下,能够利用卷积神经网络提取特征并形成特征集(例如:运动信息),从而能够从特征集中获取光流图像。
[0132]
在一些示例中,第一神经网络12可以包括池化层(下采样层)和卷积层。在这种情况下,能够通过池化在空间上缩小特征图像的尺寸。
[0133]
在一些示例中,第一神经网络12可以不包括池化层,在这种情况下,能够保留输入图像(例如目标第一图像31和目标第二图像32)的信息。
[0134]
在一些示例中,池化(pooling)的方式可以使用最大池化(max-pooling)、平均池化(mean-pooling)、随机池化(stochastic-pooling)等。通过池化操作,一方面可以降低特征维度,提高运算效率,另外,也可以使神经网络提取更加抽象的高层特征,以提高对组织腔体内壁图像的判断准确度。
[0135]
在一些示例中,也可以根据情况对应地增加卷积层和池化层的层数。在这种情况下,能够使神经网络提取更加抽象的高层特征,以进一步提高对组织腔体内壁图像的判断准确度。
[0136]
在一些示例中,如图5所示,卷积层和池化层可以交替组合。在一些示例中,处理流可以依次通过第一卷积层、第一池化层、第二卷积层、第二池化层、第三卷积层、第三池化层、第四卷积层、第四池化层。在这种情况下,能够交替地对输入图像(例如目标第一图像31和目标第二图像32)进行卷积处理和池化处理。
[0137]
在一些示例中,第一神经网络12与第二神经网络22可以完全相同。具体而言,第一神经网络12的网络结构与第二神经网络22的网络结构可以完全相同。在这种情况下,能够减少人工神经网络的参数数目,有利于抑制神经网络的过拟合。
[0138]
另外,第一神经网络12和第二神经网络22所采用的神经网络结构不限于此,也可以采用其他卷积神经网络结构,只要能够确保从组织腔体内壁图像(例如第一图像31、第二图像32、第一训练图像或第二训练图像)提取出高级特征即可。此外,注意到,本实施方式所涉及的第一神经网络12和第二神经网络22主要用于特征提取,并非直接输出光流。
[0139]
在本实施方式中,如图3所示,特征组合模块13可以用于将由第一神经网络12产生的第一特征集与由第二神经网络22产生的第二特征集进行融合而形成特征组合集。这里,本实施方式的“特征集”可以指“特征序列”、“特征矢量”、“特征值的集合”、“特征图像”等,其意义应该以最广泛的方式理解。
[0140]
在一些示例中,特征组合模块13可以将第一特征集和第二特征集组合成一维特征矢量(特征组合集)。在另一些示例中,特征组合模块13也可以计算第一特征集与第二特征集的差异来获得特征组合集。在另一些示例中,特征组合模块13还可以计算第一特征集和第二特征集的均值来获得特征组合集。在另一些示例中,特征组合模块13可以对第一特征集和第二特征集进行线性或非线性变换来获得特征组合集等。此外,在另一些示例中,特征组合模块13可以计算第一特征集和第二特征集间的卷积。
[0141]
在一些示例中,在特征组合模块13可以包括卷积层和池化层,具体而言,将由第一神经网络12产生的第一特征集与由第二神经网络22产生的第二特征集进行融合而形成特征组合集后,可以对特征组合集再次进行一次或多次的卷积处理和池化处理。可以进入第三卷积层,并再次进行卷积处理。在这种情况下,能够提取特征图像更高层次的特征。
[0142]
在一些示例中,通过特征组合模块13,能够使从第一神经网络12产生的特征与从第二神经网络22产生的特征进行融合,便于后续第三神经网络14的处理。
[0143]
在本实施方式中,第三神经网络14可以用于根据特征融合的结果(特征组合集)获取光流。如图3所示,第三神经网络14可以基于特征组合模块13所获得的结果,根据所输入的组织腔体内壁图像对计算光流。也即,第三神经网络14根据特征组合集获取光流。
[0144]
在一些示例中,第三神经网络14的输出可以是各个像素点的光流。
[0145]
另外,第三神经网络14的网络结构没有特别限制。在一些示例中,第三神经网络14可以使用反卷积层、反池化层(上采样层)、全连接层和其他辅助层(例如批归一化层(batch normalization)、池化层(pooling)、卷积层等)的各种组合来实现。例如,在一些情况下,第三神经网络14的输出层可以使用四层的反卷积层、四层反池化层、两层全连接层和输出层(softmax层)。另外,在另一些情况下,第三神经网络14的输出层也可以使用两层反卷积层、两层反池化层、三层全连接层和输出层(例如softmax层)。在这种情况下,能够获得与组织腔体内壁图像(例如第一图像31、第二图像32)相同或相近的尺寸大小的光流图像。
[0146]
在一些示例中,基于深度学习的神经网络10可以包括一个或多个反池化层。在这种情况下,能够通过反池化在空间上放大光流图像的尺寸。
[0147]
在一些示例中,可以以图像的形式显示特征,该图像可以被称为特征图像。在这种情况下,能够以直观的图像显示特征。在一些示例中,特征图像可以是上文所述的光流图像。在这种情况下,能够以直观的光流图像显示图像的特征。
[0148]
如上所述,在本实施方式中,由于采用了第一图像31和第二图像32(或第一训练图像和第二训练图像)分别独立作为输入信息,因此,能够有利于第一神经网络12从第一图像31(或第一训练图像)像提取出特征,有利于第二神经网络22从第二图像32(或第二训练图像)提取出特征。而且,通过将从第一神经网络12和第二神经网络22分别获得的特征组合后,继续通过第三神经网络14来获取光流,由此能够显著地提高光流的准确性。
[0149]
图6示出了本公开的示例所涉及的基于深度学习的神经网络的变形例的示意图。
[0150]
在另一些示例中,如图6所示,基于卷积运算的神经网络系统的预处理模块可以包括第一预处理模块11a、第一神经网络12a、以及第三神经网络14a。在这种情况下,预处理模块11a的输入图像可以是两幅组织腔体内壁图像的叠加图像。具体而言,两幅组织腔体内壁图像输入到神经网络后,可以分别被转换成3通道的矩阵,把两个3通道的矩阵叠加后形成6通道的矩阵,并依次通过第一预处理模块11a、第一神经网络12a、以及第三神经网络14a。其
中,第一预处理模块11a、第一神经网络12a、以及第三神经网络14a的功能可以参照上述第一预处理模块11、第一神经网络12、以及第三神经网络14的相关描述。在这种情况下,能够同时对两幅图像进行预处理,并且能够降低神经网络复杂度。
[0151]
在一些示例中,如图7所示,基于深度学习的神经网络10的训练步骤可以包括:准备多组的组织腔体内壁图像对,组织腔体内壁图像对可以为对具有褶皱内壁的组织腔体内的同一区域以不同的方向进行采集获得的两幅图像,且分别为第一训练图像和第二训练图像(步骤s210);将每组组织腔体内壁图像对的第一训练图像和第二训练图像依次输入神经网络以获取第一训练图像内的第一像素点的前向光流(步骤s220);交换第一训练图像和第二训练图像的输入顺序以获取第二训练图像内与第一像素点对应的第二像素点的后向光流(步骤s230);基于前向光流和后向光流计算损失函数(步骤s240);并且基于损失函数对神经网络进行评估并优化(步骤s250)。在这种情况下,能够以无监督的方式训练神经网络,并且能够利用未进行标注的组织腔体内壁图像进行训练。
[0152]
在一些示例中,第一训练图像和第二训练可以作为训练图像训练神经网络。
[0153]
在一些示例中,前向光流可以是指从第一训练图像到第二训练图像的光流。在一些示例中,后向光流可以是指从第二训练图像到第一训练图像的光流。
[0154]
在一些示例中,在步骤s210中,准备多组的组织腔体内壁图像对,组织腔体内壁图像对可以为对具有褶皱内壁的组织腔体内的同一区域以不同的方向进行采集获得的两幅图像,且分别为第一训练图像和第二训练图像。
[0155]
在一些示例中,组织腔体内壁图像对可以是没有真值的胃腔内壁图像。第一训练图像和第二训练图像可以是相邻帧的图像。在一些示例中,第一训练图像和第二训练图像的获取方式可以与上文所述的第一图像31和第二图像32获取方式相同。
[0156]
在一些示例中,在步骤s220,可以将每组组织腔体内壁图像对的第一训练图像和第二训练图像依次输入神经网络以获取前向光流。在这种情况下,能够通过前向光流作用于所述第二训练图像生成第一预测图像。
[0157]
在一些示例中,在步骤s230,可以交换第一训练图像和第二训练图像的输入顺序以获取后向光流。在这种情况下,能够通过后向光流作用于所述第一训练图像生成第二预测图像。
[0158]
在一些示例中,在步骤s240中,可以基于前向光流和后向光流计算损失函数,在一些示例中,损失函数可以包括结构相似性损失项、几何前后一致性损失项和光流平滑度损失项。在这种情况下,能够通过多种损失函数对神经网络进行训练。
[0159]
在一些示例中,神经网络的损失函数可以包括结构相似性损失项,结构相似性损失项可以表示图像间的相似性。具体而言,对于图像f和图像s,结构相似性ssim的计算公式为:
[0160][0161]
其中,c1=(k1l)2,c2=(k2l)2,k1=0.01,k2=0.03,ssim表示图像f和图像s之间的结构相似性,μ
f
、μ
s
、σ
f
、σ
s
分别为图像f和图像s中像素点的平均值和方差,σ
fs
是图像f和图像s中像素点之间的协方差、l是像素值的动态范围。
[0162]
在一些示例中,结构相似性损失项可以包括第一预测图像与第一训练图像的第一
结构相似性损失项和第二预测图像与第二训练图像的第二结构相似性损失项。第一预测图像可以通过前向光流作用于第二训练图像生成,第二预测图像可以通过后向光流作用于第一训练图像生成。在这种情况下,能够评估计算出的前向光流和后向光流的准确度,从而通过训练神经网络提高神经网络所计算的光流的准确度。
[0163]
在一些示例中,损失函数可以包括光流平滑度损失项。光流平滑度损失项为前向光流的全变分损失(total variation loss)与后向光流的全变分损失的和,在这种情况下,能够提高光流的平滑度,从而能够保持图像的光滑性并降低噪声影响。
[0164]
在一些示例中,图像的全变分损失为:
[0165][0166]
其中,x,y分别表示像素点的位置在图像的宽度方向和长度方向上分量,tv表示图像的全变分损失。
[0167]
在一些示例中,光流平滑度损失项可以包括前向光流的全变分损失与后向光流的全变分损失。在这种情况下,能够使训练后的神经网络所计算出的前向光流和后向光流在空间上保持平滑。
[0168]
在一些示例中,几何前后一致性可以是前向光流和后向光流的差值。具体而言,可以通过把第一训练图像和第二训练图像输入基于卷积运算的神经网络系统并且交换第一训练图像和第二训练图像的输入次序后,可以获得第一训练图像内的第一像素点的前向光流和第二训练图像内与第一像素点对应的第二像素点的后向光流,从而可以计算第一训练图像和第二训练图像中相对应(即相匹配)的像素点间的前向光流和后向光流,并计算各个像素点间的前向光流和后向光流的差值,把对应于各个像素点的前向光流和后向光流的差值求和后作为几何前后一致性损失项。在这种情况下,能够使训练后的神经网络系统所计算出的前向光流和后向光流保持前后一致性。
[0169]
在一些示例中,在步骤s250中,可以基于损失函数对神经网络进行评估并优化。在一些示例中,第一神经网络12、第二神经网络22和第三神经网络14可以一起训练,以获得最优的神经网络结构。此外,本实施方式所涉及的第一神经网络12、第二神经网络22和第三神经网络14可以同时一起训练,在另一些示例中,可以通过训练自编码(auto-encoder)网络的方式先训练第一神经网络12和第二神经网络22,然后再与第三神经网络14一起训练。由此,能够利用训练图像对基于深度学习的神经网络10进行训练。
[0170]
在一些示例中,利用训练图像对基于深度学习的神经网络10进行训练后,可以利用测试图像对训练后的神经网络进行测试,测试图像可以是多组的组织腔体内壁图像对,该组织腔体内壁图像对可以为对具有褶皱内壁的组织腔体内的同一区域以不同的方向进行采集获得的两幅图像,当测试出的损失函数小于设定值,可以认为该神经网络已经训练完成。
[0171]
在一些示例中,测试图像可以包括第一测试图像和第二测试图像。在一些示例中,第一测试图像和第二测试图像的获取方式可以与上文所述的第一图像31和第二图像32获取方式相同。
[0172]
如图1所示,本公开所涉及的基于光流获得组织腔体三维图像的处理方法在步骤
s300中,可以在第一像素区域中提取包括多个特征点的第一特征点集,并基于第一特征点集和光流获得在第二像素区域中与第一特征点集对应的第二特征点集。
[0173]
图8示出了本公开的示例所涉及的基于深度学习的神经网络进行特征点匹配的示意图。
[0174]
在一些示例中,如图8所示,第一特征点集可以包括多个第一特征点311,第二特征点集可以包括多个第二特征点321。在一些示例中,第一特征点311和第二特征点321可以具有相同的个数。在一些示例中,单个第一特征点311和与其相匹配的第二特征点321可以成为一组特征点对。
[0175]
在一些示例中,利用基于卷积运算的神经网络系统获得第一图像31到第二图像32的光流分量u
i
和光流分量v
i
,可以在第一图像31随机提取若干角点x
j
(j=1,2,
…
,n)作为第一特征点311,接着通过第一特征点311所在位置的光流找到第一特征点311在第二图像32对应的第二特征点321x
j
',即完成特征匹配。在这种情况下,能够获得第一图像31到第二图像32之间更准确的特征点匹配关系。
[0176]
在一些示例中,角点可以拥有以下特征:一般为轮廓之间的交点;对于同一场景,即使视角发生变化,通常具备稳定性质;该点附近区域的像素点无论在梯度方向上还是其梯度幅值上有着较大变化;在这种情况下,提取角点为特征点能够提高特征点匹配的准确性。
[0177]
在一些示例中,为了计算拍摄第一图像31与第二图像32的过程中的胶囊内窥镜的位置变化,需要提取8对以上特征点,具体而言,可以先在第一图像31提取具有至少8个特征点的第一特征点集,并通过第一特征点集中的特征点对应的光流得到第二图像32中与第一特征点集相匹配的第二特征点集。在一些示例中,可以通过上述方法获取8对,10对,12对,14对,16对匹配的特征点。由此,能够提高本质矩阵(后续描述)的精确度。
[0178]
在一些示例中,可以通过对极几何约束求解相机运动。在这种情况下,能够通过对极几何准确地求解相机运动和具体位置。
[0179]
如图1所示,本公开所涉及的基于光流获得组织腔体三维图像的处理方法在步骤s400中,可以基于第一特征点集和第二特征点集计算胶囊内窥镜20的本质矩阵。
[0180]
在一些示例中,可以通过对极几何准确地求解胶囊内窥镜20的运动并获得胶囊内窥镜20的本质矩阵。具体而言,可以通过多对特征点的像素位置求出本质矩阵,然后分解本质矩阵并得到旋转矩阵和平移矩阵。其中旋转矩阵和平移矩阵分别对应胶囊内窥镜20在拍摄第一图像31和第二图像32的过程中的旋转变量和平移变量。
[0181]
如图1所示,本公开所涉及的基于光流获得组织腔体三维图像的处理方法在步骤s500中,可以基于本质矩阵计算第一像素区域和第二像素区域的各个像素点的空间坐标,获得点云并利用点云进行三维图像重建。
[0182]
在一些示例中可通过三角测量计算每个像素点的空间坐标,生成三维点,将三维点存入点云结构,即完成点云(即离散点)的生成。
[0183]
在一些示例中,可以通过点云采集设备采集上述得出的离散点,并可以通过点云滤波等滤除离散点中存在的噪声。进一步的,可以通过三维重建技术获得由离散点组成的组织腔体(例如胃腔)的模型。
[0184]
在一些示例中,点云滤波可以包括直通滤波器、体素滤波器、统计滤波器、条件滤
波器或半径滤波器。由此,能够根据实际情况选择一种或多种的滤波器,优化除噪效果。
[0185]
在一些示例中,三维重建可以为泊松重建、实时重建或表面重建等。由此,能够令点云转变成直观的三维图像,从而提高视觉效果。
[0186]
虽然以上结合附图和实施方式对本公开进行了具体说明,但是可以理解,上述说明不以任何形式限制本公开。本领域技术人员在不偏离本公开的实质精神和范围的情况下可以根据需要对本公开进行变形和变化,这些变形和变化均落入本公开的范围内。