1.一种基于深度特征学习的软组织表面运动跟踪方法,其特征在于,包括以下步骤:(1)、对内窥镜视觉采集设备获取的软组织表面的N帧图像进行去噪和灰度处理,处理完成后,将第i帧内窥镜图像记作Fi,i=1,2,…,N;
(2)、在步骤(1)的基础上,使用OpenCV库中的SimpleBlobDetector提取每帧图像中的斑点,作为特征点;
(3)、在第一帧内窥镜图像F1中运用delaunay三角剖分算法,以检出的特征点为顶点构造三角网格;
(4)、在后续Fi中,i=2,3,…,N,根据检出的特征点的位置坐标,对F1中的三角形逐个进行匹配;设F1中当前待匹配三角形为abc,具体匹配步骤如下:(4.1)、在后续Fi中搜索满足长度和角度约束的候选匹配点,并组成三角形abc的若干候选三角形;
(4.1.1)、设置长度和角度的约束条件:||La'b'‑Lab||≤ΔLab (1)||La'c'‑Lac||≤ΔLac (2)||θa‑θa'||≤Δθ (3)其中,Lab表示待匹配三角形的边ab之间的像素距离,θa表示待匹配三角形顶点a的夹角,La'b'表示候选三角形的边a'b'之间的像素距离,θa'表示候选三角形顶点a'的夹角,ΔLab、ΔLac和Δθ为设定的最大形变参数;
(4.1.2)、在后续Fi中,若待匹配三角形abc的三个顶点均未匹配,则在Fi中以F1的顶点a坐标为圆心,搜索半径为Δd内的所有特征点作为顶点a的候选匹配顶点,记为a';
若待匹配三角形的某一个顶点已匹配,设顶点a'已匹配顶点a,则在Fi中搜索满足长度和角度约束公式(1)、(2)、(3)的所有候选特征点对{b',c'},作为顶点b和c的候选匹配点,再与顶点a'组合构成若干候选三角形;
若待匹配三角形的某两个顶点匹配,设顶点a'、b'已匹配顶点a、b,则在Fi中搜索满足长度和角度约束公式(2)、(3)的所有特征点作为顶点c的候选匹配点,记为c',再与a'、b'构成若干候选三角形;
(4.2)、计算每个候选三角形的像素匹配代价;
(4.2.1)、计算F1中待匹配三角形abc内每个像素点的重心坐标;
设(xa,ya)、(xb,yb)、(xc,yc)分别为顶点a、b、c的像素坐标,(xp,yp)为待匹配三角形内任一像素点p的像素坐标,那么点p在待匹配三角形内的重心坐标(α,β,γ)为:(4.2.2)、计算像素点p在每个候选三角形中对应点p'的像素坐标;
(4.2.3)、在后续Fi中,通过双线性插值求出每个候选三角形中对应点p'的像素值Fi(p'),再与F1中对应点p的像素值F1(p)计算出每个候选三角形的均方根误差,并作为匹配该候选三角形的匹配代价;
其中,M为待匹配三角形内像素点的个数;
(4.3)、选出匹配代价满足ΔEi≤ε的有效候选三角形,ε为设定阈值;若有效候选三角形数量大于等于1,则在其中选择匹配代价ΔEi最小的三角形作为待匹配三角形abc的匹配三角形,从而确定F1和Fi中相应顶点的匹配关系;若有效候选三角形数量为0,则表示Fi中不存在与待匹配三角形abc相匹配的特征点,结束当前三角形的匹配。
(4.4)选取F1三角网格中的下一个未匹配三角形作为当前待匹配三角形abc,然后重复步骤(4.1)~(4.4),直至遍历F1中的所有三角形,完成F1和Fi相应特征点的匹配;
(5)、构建训练样本集
在前N帧图像中,以特征点为中心截取M*M大小的图像块,两两组合构造正样本与负样本,其中,正样本中的特征点为互相匹配的两个三角形的对应顶点,标记为1;负样本中的特征点为互相不匹配的两个三角形的对应顶点,标记为0;最后将所有的正、负样本构建训练样本集;
(6)、构建深度匹配网络;
深度匹配网络包括双塔结构的两个相同的特征提取网络和度量网络;其中,每个特征提取网络又包括:预处理层和5个卷积层与三个下采样层;预处理层将图像像素值归一化到(0,1)之间,5个卷积层的参数分别设置为64个7*7的卷积核,32个5*5的卷积核,16个3*3的卷积核,16个3*3的卷积核,16个3*3的卷积核,三个下采样层采用2*2的最大值池化;度量网络由3层全连接层组成,前两层采用ReLU激活函数,第三层也为输出层,采用Sigmoid激活函数,用于计算图像块对的匹配值;
(7)、训练深度匹配网络
从训练样本集中选取大小为batchsize个的正、负样本构建一组训练样本,每一个batchsize中正负样本数相等;
将一组训练样本输入至深度匹配网络,预处理层将正负样本的像素值归一化到(0,1),每个样本预处理后,将两张M*M大小图片分别输入双塔结构的一个分支,经过5个卷积层与三个下采样层依次处理后,输出两张图片的特征向量;
两个特征向量串联在一起作为度量网络的输入,再经过三个全连接层的缩放,由第三层的全连接层输出一个二维向量,将这个二维向量通过Sigmoid激活函数激活,计算出两张图片匹配的概率值
基于最小化交叉熵损失函数计算交叉熵;
其中,n表示每一个batchsize中图片对的个数,yi表示输入图片对的标签值,图像对匹配时标签值取1,图像对不匹配时标签值取0,为图片对匹配的概率值;
根据交叉熵更新网络权重,然后继续输入下一组训练样本,并重复上述训练过程,经过epoch组训练完成后,判断图片对匹配的概率值是否达到准确率99%,如果达到,则训练完成,否则,继续进行下一轮训练,直到图片对匹配的概率值达到准确率99%时训练结束;
(8)、软组织表面运动的实时跟踪
(8.1)、对后续图像帧Fi,i>N,利用步骤(2)所述方法检测出特征点;
(8.2)、将F1和Fi中特征点所对应图像块两两组合输入至深度匹配网络,将计算出特征点的匹配概率;
(8.3)、构建F1和Fi中特征点之间的匹配矩阵;
匹配矩阵的每行对应F1中的一个特征点,每列对应Fi中的一个检出特征点,匹配矩阵的元素通过匹配概率按行列对应关系填入;
(8.4)、根据匹配矩阵,选取每行得分最高且超过设定阈值的列作为匹配特征点,完成特征点在帧间的跟踪,若匹配概率均小于设定阈值,则表示该特征点在该帧中未检出能够匹配的特征点。