基于图像的胃肠三维重构和可视化方法与流程

文档序号:17745123发布日期:2019-05-24 20:35阅读:263来源:国知局
基于图像的胃肠三维重构和可视化方法与流程

本发明属于三维重建技术领域,具体涉及一种基于图像的胃肠三维重构和可视化方法。



背景技术:

基于单目相机的胃肠三维重建是指利用图像处理技术提取胃肠组织中褶皱结构形成的轮廓信息,并利用图像中轮廓灰度值与深度信息间的关系求出轮廓的三维点集,再将点集进行平滑曲面拟合处理形成三维结构。这可用于为胶囊机器人的运动控制和路径规划提供外部环境信息。

但是,通过单目相机采集的单帧图像只能重建出局部的三维轮廓,而用于为胶囊机器人的路径规划需要提供完整的外部环境信息,这就要求把多帧的局部三维模型配准到世界坐标系下的完整三维模型中。传统的三维配准方法如icp方法,通常分为粗配准和精配准两个步骤,在粗配准中对给定的两个点集计算得到运动矩阵的初值,再通过精配准过程迭代优化得到更加精准的运动矩阵信息。

然而,目前的配准方法假设待配准的点云符合刚性运动变换,而在人体胃肠等器官组织中是存在自身的蠕动和变形的,这会导致模型配准错误。



技术实现要素:

有鉴于此,本发明提供一种基于图像的胃肠三维重构和可视化方法,该方法能够快速、准确重构处胃肠结构。

实现本发明的技术方案如下:

一种基于图像的胃肠三维重构和可视化方法,具体过程为:

对主动胶囊机器人上相机采集的图像进行处理,得到胃肠断续的褶皱轮廓集a;

在轮廓集a中,对属于同一褶皱的断续边缘进行拟合连接生成完整二维轮廓,并利用相机内参数构造反向映射模型将二维轮廓信息转换到三维空间,得到胃肠结构的三维局部模型;

对所述局部模型进行拼接,实现胃肠结构的全局可视化。

进一步地,本发明所述对属于同一褶皱的断续边缘进行拟合连接生成完整二维轮廓的具体过程为:在轮廓集中找到端点间距离最小的两段轮廓线,然后计算两端点分别与孔腔区域中心点连接所形成的夹角、两端点连线分别与两段轮廓线所选端点的切线形成的夹角,如果第一个夹角角度小于θ0度,并且第二、三个夹角角度同时小于θ1度,那么就认为这两段轮廓曲线属于同一褶皱,并将这两个端点进行平滑连接形成一段轮廓,然后判断这段轮廓是否是闭合曲线,若是闭合的则不再放回到轮廓集合中,并继续在轮廓集中重复上面的过程进行继续搜索;若不是闭合的则将所述两段轮廓曲线放回到轮廓集中并重复上面的过程进行继续搜索,直至轮廓集为空,最终获得了肠胃的二维褶皱轮廓。

进一步地,本发明所述孔腔区域采用如下方式获得:对相机采集的胃肠图像进行高斯滤波,然后对图像进行区域分割,利用n*n的子块区域计算中心点灰度,如果两相邻子块中心灰度差值小于某一阈值,则将两子块合并在一起;遍历整个图像,利用孔腔区域具有较低的灰度值并且为集中区域的特点,最终合并后得到的区域为孔腔区域。

进一步地,本发明所述θ0=30°,所述θ1=45°。

进一步地,本发明所述n=3。

进一步地,本发明所述对所述局部模型进行拼接的过程为:

将相机采集的第一帧图像作为基准帧,后续所采集的图像定义为目标帧,相机每采集一组目标帧后,计算一组目标帧中的每一帧与基准帧之间的运动矩阵,并从所计算出的运动矩阵中寻找到最优的运动矩阵,将最优运动矩阵所对应的三维局部模型进行拼接,如下公式(6)所示,

pn=(mnmn-1…m1)*p1(6)

其中,mi表示第i组目标帧所对应的最优运动矩阵,p1为基准局部模型中对应轮廓点集,pn为第n组最优局部模型中对应轮廓点集。

进一步地,本发明所述最优运动矩阵寻找为:

首先,针对当前组目标帧,根据目标帧中提取的褶皱轮廓信息,采用光流法对轮廓信息进行追踪计算出运动矢量;

其次,利用所述运动矢量找出基准帧与目标帧图像中共有的轮廓,对轮廓信息进行编号;

再次,根据基准帧与目标帧上轮廓的编号信息,根据公式(3)计算运动矩阵,

其中,(qx,qy,qz)表示基准帧上的三维点集,(px,py,pz)表示目标帧上的三维点集;

最后,从基准帧与第一帧目标帧开始计算运动矩阵(mat3d)0,一直到基准帧与第m-1帧目标帧进行配准得到的运动矩阵(mat3d)m-2,在所有完成配准得到的运动变换矩阵的集合中,利用公式(4)得到最优的运动变换矩阵(mat3d)g。

进一步地,本发明若当前组目标帧与基准帧之间不存在具有相同编号的轮廓时,所述运动变换矩阵由胶囊机器人系统提供。

有益效果

本发明根据单帧包含褶皱轮廓的图像进行局部结构重建,并利用图像中的褶皱信息进行配准估计相机运动,通过相机运动矩阵将局部结构进行拟合拼接得到胃肠的完整结构;同时,对于相机的快速运动等特殊情况,通过系统提供的相机位姿信息,重建出胃肠的完整的结构特征。

本发明根据两段断续的褶皱轮廓间的夹角是否满足条件来判断属于同一褶皱,将属于同一褶皱的轮廓段进行连接得到闭合的完整轮廓;利用完整轮廓进行配准来估计运动信息可以增加估计的鲁棒性。

本发明采用一定范围内多帧图像连续配准的方式来估计运动矩阵,而非只估计相邻两帧图像间的运动矩阵,这样可以得到最小的运动估计误差,提高了配准的精度。

说明书附图

图1为本发明实施例一基于图像的胃肠三维重构和可视化方法的流程图。

图2为本发明实施例二维轮廓映射到三维轮廓的示意图。

图3为本发明实施例多帧配准寻找最优的示意图。

图4为本发明实施例可视化渲染的示意图。

图5位本发明实施二基于图像的胃肠三维重构和可视化方法的流程图。

具体实施方式

下面结合附图和具体实例对本发明进行详细说明。

实施例一:

本发明实施例提供一种基于图像的胃肠三维重构和可视化方法,其中采集图像的相机固联在胶囊机器人上,该方法利用胃肠褶皱轮廓边缘特征,通过相机内参将二维特征反向映射到三维空间,进一步对三维点集细分处理得到局部三维结构,再对局部结构进行三维空间的配准计算出运动变换矩阵,并利用运动变换矩阵将局部结构转换到全局坐标系来完成完整模型的重建。如图1所示,其主要包括以下步骤:

步骤一,对单目相机进行标定,获得相机内参矩阵。

本步骤的主要执行过程如下:将相机固定在某处,利用二维平面标准靶标在相机视场内移动并采集图像,使靶标尽量出现在图像中的各个区域,并且要求靶标以不同的姿态和大小出现在图像中,采集至少15帧图像,利用张正友提出的标定方法进行标定,得到相机的内参矩阵。

步骤二,相机采集胃肠图像的孔腔检测和轮廓拟合。

本步骤的主要执行过程如下:

第一步区域分割:先对相机采集的胃肠图像进行高斯滤波去除噪声,然后对图像进行区域分割,利用3*3的子块区域计算中心点灰度,如果两相邻子块中心灰度差值小于某一阈值,则将两子块合并在一起;遍历整个图像利用孔腔在图像表达中具有较低的灰度值并且为集中区域的特点,得到孔腔区域。

第二步对褶皱轮廓进行边缘提取:由于褶皱间存在遮挡及照明光的高亮反射作用等问题,采用canny边缘检测算法得到的轮廓是非连续的线段,在进行形态学处理后会去除掉噪声引起的假边缘;将处理后获得的轮廓放入候选轮廓集合a中;

在轮廓线集合a中,为了拟合属于同一褶皱的轮廓,设计了一种判断标准:首先利用上一步获得的孔腔区域计算得到中心点,并在集合中找到端点间距离最小的两段轮廓线,然后计算两端点分别与中心点连接所形成的夹角、两端点连线分别与两段轮廓线所选端点的切线形成的夹角,如果第一个夹角角度小于30度,并且第二、三个夹角角度同时小于45度,那么就认为这两段轮廓曲线属于同一褶皱,并将这两个端点进行平滑连接形成一段轮廓,然后判断这段轮廓是否是闭合曲线,若是闭合的则不再放回到候选轮廓集合a中,并继续在候选轮廓集合a中重复上面的过程进行继续搜索;若不是闭合的则放回到候选轮廓集合a中并重复上面的过程进行继续搜索,直至候选轮廓集合a为空,最终获得了肠胃的二维褶皱轮廓。

步骤三,二维褶皱轮廓的反向映射与三维重建。

本步骤的主要执行过程如下:

通过步骤一中相机标定得到内参矩阵可以建立起相机的映射模型,通过给定了的映射模型,把图像中的每个二维褶皱轮廓上的像素点沿着通过光心的光线映射到三维空间上。如图2所示,通过反向映射可以把像素点u转化成三维空间向量只要计算出像素点的深度信息du,就可以根据公式(1)得到该像素点u的三维信息(x(vu),y(vu),z(vu))。

其中,(x(u),y(u))分别为像素点u的二维坐标。δu为三维空间向量与z轴夹角,ru为像素点u到图像中心的欧式距离。

根据lambertian反射定理可以得到计算像素点深度信息的公式如下,其中c为常量,fov为相机视场角,ru为像素点u与图像中心点的欧式距离,r为ru最大值,wu是像素点u与法线方向上固定区域内最亮非高亮反射点的归一化距离;hu为像素点所在褶皱轮廓的归一化高度,在像素点u沿褶皱轮廓切线的垂直方向上,计算轮廓内侧与外侧最邻近像素点u的十个像素平均灰度值之差的归一化值,就得到hu;iu为像素点u的灰度值;

步骤四,图像的配准。

首先,以第一帧图像为基准,从第二帧图像开始作为目标帧,根据两帧图像中提取的褶皱轮廓信息,采用光流法对轮廓信息进行追踪计算出运动矢量,利用所述运动矢量找出两帧图像中共有的轮廓,以基准帧中轮廓顺序进行编号,如基准帧与第一帧目标帧之间有一个共有褶皱轮廓,将这个轮廓编号为一号,再继续将基准帧与第二帧目标帧进行运动估计,假如存在两个共有轮廓,其中一个轮廓为基准帧中编号为一号的轮廓,那么第二帧目标帧中对应的轮廓也标记为一号,另一个轮廓编号为二号,以此类推。

然后,根据基准帧与目标帧上轮廓的编号信息,找出具有相同编号的轮廓个数n,并从编号一开始依次找到相对应的局部重建轮廓的三维点集,将相同编号的基准帧上的三维点集放入集合(qx,qy,qz)中,将相同编号的目标帧上的三维点集按照对应关系放入集合(px,py,pz)中,然后通过求解公式(3)所示最小二乘方程得到运动矩阵mat3d。

最后,将上述的三维模型配准应用到多帧图像中,即从基准帧与第一帧目标帧开始计算运动矩阵(mat3d)0,一直到基准帧与第m-1帧目标帧进行配准得到的运动矩阵(mat3d)m-2,在所有完成配准得到的运动变换矩阵的集合中,利用公式(4)得到最优的运动变换矩阵(mat3d)g。

上述过程如图3所示:

步骤五,为了进行连续实时的模型重构,从采集的第一帧图像重建出的局部模型时,相机所在位置建立全局坐标系;并根据上述方法找到最优的运动变换矩阵及其对应的目标帧,并将最优运动变换矩阵记为m1,则从局部模型到全局模型可以表示为公式(5),其中,p1为基准帧中对应轮廓点集,p2为最优目标帧中对应轮廓点集。

p2=m1*p1(5)

同理,对于第n组图像重建的局部模型整合到全局模型中,可由公式(6)得到:

pn=(mnmn-1…m1)*p1(6)

基于轮廓表达的可视化渲染:采用opengl4.3可编程管线与着色器语言进行开发3d图形渲染程序,每个三维闭合轮廓上均匀取n个点,其中y值最大的点(最高点)设为起点,顺时针排列所有n个点送入到顶点着色器;依次选取相邻轮廓上序号相同的各两个点,将其作为细分的顶点传入细分着色器;对于相邻褶皱轮廓间的部分,采用贝塞尔曲线连接的方式拟合出平滑的结构信息;通过求得各点的法向量传入片元着色器计算模型的光照模型,完成整体轮廓的可视化渲染,具体流程如图4所示。

实施例二:进一步地,步骤五也可以实施在非连续实时重构场景。

一种基于图像的胃肠三维重构和可视化方法,其中,步骤一至三与实施例一中的步骤一至三相同;步骤四:当相邻两帧图像间不存在重叠部分,利用主动胶囊机器人系统提供的相机运动变换矩阵,对两帧图像对应的重建局部三维模型进行配准拼接,使得所有局部模型都变换到全局坐标系下,将相邻局部三维模型的间隔用贝塞尔曲线连接的方式拟合得到胃肠的整体三维结构,如图5所示。

综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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