自动定位体内胃肠特征点的方法

xiaoxiao2020-10-23  21

自动定位体内胃肠特征点的方法
【技术领域】
[0001] 本发明涉及计算机领域,尤其涉及一种自动定位体内胃肠特征点的方法。
【背景技术】
[0002] 无线胶囊内镜(WirelessCapsuleEndoscopy)作为一种重要的新型技术被广泛 应用于人类胃肠道疾病的诊断。它可以到达消化道任何位置,克服了传统内镜无法检测小 肠疾病的缺点,具有无创伤、耐受性好的特点。尽管该技术随着科技进步不断完善,但在实 际应用中还是面对着一些困难。胶囊内镜平均在消化道内逗留8个小时,在这期间其摄像 系统会自动拍摄全程消化道场景,共可采集50000~60000幅彩色的消化道图像数据。而 这些海量的图片数据必须由专业的医务人员进行人工判读,工作强度大、效率低、耗费大量 的时间。

【发明内容】

[0003] 本发明旨在至少解决现有技术中存在的技术问题,特别创新地提出了一种自动定 位体内胃肠特征点的方法。
[0004] 为了实现本发明的上述目的,本发明提供了一种自动定位体内胃肠特征点的方 法,其关键在于,包括如下步骤:
[0005] 步骤1,获取胃肠原始图片数据并进行分割编号,对该数据进行初步定位筛选,获 得定位筛选后的测试集;
[0006] 步骤2,提取训练集的WLD直方图特征,用来训练KNN分类器;
[0007] 步骤3,提取测试集的WLD直方图特征,并用训练完成的KNN分类器为测试集分类; 根据分类结果进行精确定位胃肠特征点信息。
[0008] 所述的自动定位体内胃肠特征点的方法,优选的,所述步骤1初步定位筛选的步 骤包括:
[0009] 步骤1-1,将整个图片数据划分为连续的区间,每个区间包含L张图片;
[0010] 步骤1-2,每个区间内设置两个连续的窗口wl,窗口w2,其大小分别为nl和n2, 窗口wl和窗口w2连接处的图片序号为mid,其中每个窗口包括若干图片,排列顺序为窗口 wl、mid、窗口《2,依据设置在窗口wl和窗口w2的图片数量,依次向后移动;
[0011] 步骤1-3,计算出窗口wl和窗口w2内图像的红色分量的平均值,记为mrl和mr2 ; mr2/mrl表示红色分量的变化程度,mr2/mrl越大,mid前后图像变化越明显;记录下mid 的mr2/mrl值,并把两个窗口以step的步长往后移动;每个mid以同样的方式计算出mr2/ mrl,并存储记录;
[0012] 步骤1-4,每个区间内选择mr2/mrl最大的四个值所对应的序号mid,作为胃肠特 征点的候选位置序号。
[0013] 所述的自动定位体内胃肠特征点的方法,优选的,所述步骤2包括:
[0014] WLD直方图特征是基于全局特征点的描述子,包括两个参数:差异激励和方向角; 提取的WLD直方图特征的步骤为,
[0015] 步骤2-1,计算差异激励,
[0016] I。是当前像素点的灰度值,Ii是当前点邻域的灰度值,P是邻域大小,e(I。)是当 前像素点的差异激励,通常情况下,如果e(I。)是正数,意味着当前点比周围暗,反之,若 e(I。)是负数,则说明当前点比周围亮,
[0018] 改进后的差异激励计算方式则选择了两个邻域的大小,pi和p2,当p=pi时,计 算出的UI。)权重值为%,当P=P2时,计算出的UI。)权重值为,该过程看作原图 经过滤波器f#f2处理,frati()1是经过fr滤波的输出,匕"。2是匕的输出,《种《 2的取 值不同,决定着不同的邻域对当前像素点的影响程度不同;
[0023] 另外,将图像的灰度值调整到[1,256];
[0024] 步骤2-2,计算方向角,
[0026] 其中,ocO和ocl是原始图像经过滤波器filterO和filterl处理后的输出,对 于一个指定的像素点,〇c0 =I5_I1;ocO=I7_13;经过映射m: 0 - 0 ',0的值域范围由
映射到[0, 2JT];
[0027] [0, 2JT]是一个区间,指0的取值范围在0和2JT之间;
[0028] 0 ' =m( 0 ) + 31 ,
[0029] 其中,
[0031] 进一步将0'量化为T个主方向角,t为具体主方向角,量化公式为:
[0033] 令T= 8,于是方向角取值由[0, 2it]映射为T个主方向角%~朽-
[0034] 步骤2-3,获取WLD直方图特征,
[0035]利用步骤2-1和2-2计算出的差异激励和方向角得到图片的二维向量表示为 {WLDUj,0t)},其中,图片维数j= 0,1,…N-1,而七=0,1,一1'_14是图片的维数序数; 为了进一步分类的需要,我们把{WLD(q,0t)}映射为一维向量;首先,将{WLD(q,0t)} 按照每个像素点的梯度方向分解成T个子序列H(t),然后把每个子序列H(t)按照G(I。) 的值分为M段;接下来进行直方图统计,形成二维直方图统计矩阵,大小为M*T;按照行把该 二维矩阵展开形成一维数组,就得到了最终的WLD直方图特征信息。
[0036] 所述的自动定位体内胃肠特征点的方法,优选的,所述步骤3包括:
[0037] 步骤3-1,标记胃肠特征点前的图片为-1,胃肠特征点之后的图片为+1,提取改进 后的WLD直方图特征来训练KNN分类器;
[0038] 步骤3-2,候选胃肠特征点的序号为d,选取d附近序号为[d_100,d+100]的201张 图片作为测试集,如果[d-100,d-1]之间的图片大部分被标记为-1,且大部分[d+1,d+100] 之间的图片被标记为+1,认定该点为精确的胃肠特征点位置;
[0039] 步骤3-3,当[d-100,d-1]之间图片的标记和小于一个阈值,[d+1,d+100]之间的 图片标记和大于一个阈值,认定d为胃肠特征点的精确位置;否则,用相同的方式来判定下 一个胃肠特征点是否为正确的胃肠特征点位置。
[0040] 所述的自动定位体内胃肠特征点的方法,优选的,所述步骤3中训练KNN分类器的 步骤包括:
[0041] 步骤A,初始化图片帧数的距离为最大值;
[0042] 步骤B,计算测试集和每个训练集的距离dist;
[0043] 步骤C,得到K个最临近测试集和训练集中的最大距离maxdist;
[0044] 步骤D,如果dist小于maxdist,则将该训练集作为K最近邻样本;
[0045] 步骤E,重复步骤B、C、D,直到测试集和所有训练集的距离都计算完毕;
[0046] 步骤F,获取K最近邻样本中每个类标号出现的次数;
[0047] 步骤G,选择出现频率最大的类标号作为未知样本的类标号。
[0048] 综上所述,由于采用了上述技术方案,本发明的有益效果是:
[0049] 本发明通过初步定位阶段挑选出一系列胃肠特征点候选点,接着进入精确定位阶 段,这一阶段先随机选择一定量的训练集,提取它们的WLD直方图特征来训练KNN分类器, 最后精确定位算法结合初步定位阶段的候选点和WLD直方图特征找到正确的胃肠特征点 位置。
[0050] 本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变 得明显,或通过本发明的实践了解到。
【附图说明】
[0051] 本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变 得明显和容易理解,其中:
[0052] 图1是本发明自动定位体内胃肠特征点的方法流程图;
[0053] 图2是本发明自动定位体内胃肠特征点的方法初步定位流程图;
[0054] 图3是本发明自动定位体内胃肠特征点的方法覆盖率示意图。
【具体实施方式】
[0055] 下面详细描述本发明的实施例,所述实施例的示例在附图中 示出,其中自始至终 相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附 图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
[0056] 在本发明的描述中,需要理解的是,术语"纵向"、"横向"、"上"、"下"、"前"、"后"、 "左"、"右"、"竖直"、"水平"、"顶"、"底" "内"、"外"等指示的方位或位置关系为基于附图所 示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装 置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限 制。
[0057] 在本发明的描述中,除非另有规定和限定,需要说明的是,术语"安装"、"相连"、 "连接"应做广义理解,例如,可以是机械连接或电连接,也可以是两个元件内部的连通,可 以是直接相连,也可以通过中间媒介间接相连,对于本领域的普通技术人员而言,可以根据 具体情况理解上述术语的具体含义。
[0058] 如图1所示,一种自动定位体内胃肠特征点的方法,其关键在于,包括如下步骤:
[0059] 步骤1,获取胃肠原始图片数据并进行分割编号,对该数据进行初步定位筛选,获 得定位筛选后的测试集;
[0060] 步骤2,提取训练集的WLD直方图特征,用来训练KNN分类器;
[0061] 所述步骤2中提取训练集的WLD直方图特征的描述,其中所提取的训练集为预先 获取的准确的训练集。
[0062] 步骤3,提取测试集的WLD直方图特征,并用训练完成的KNN分类器为测试集分类; 根据分类结果进行精确定位胃肠特征点信息。
[0063] 如图2所示,所述的自动定位体内胃肠特征点的方法,优选的,所述步骤1初步定 位筛选的步骤包括:
[0064] 步骤1-1,将整个图片数据划分为连续的区间,每个区间包含L张图片;
[0065] 步骤1-2,每个区间内设置两个连续的窗口wl,窗口w2,其大小分别为nl和n2, 窗口wl和窗口w2连接处的图片序号为mid,其中每个窗口包括若干图片,排列顺序为窗口 wl、mid、窗口《2,依据设置在窗口wl和窗口w2的图片数量,依次向后移动;
[0066] 步骤1-3,计算出窗口wl和窗口w2内图像的红色分量的平均值,记为mrl和mr2 ; mr2/mrl表示红色分量的变化程度,mr2/mrl越大,mid前后图像变化越明显;记录下mid 的mr2/mrl值,并把两个窗口以step的步长往后移动;每个mid以同样的方式计算出mr2/ mrl,并存储记录;
[0067] 步骤1-4,每个区间内选择mr2/mrl最大的四个值所对应的序号mid,作为胃肠特 征点的候选位置序号。
[0068] 所述的自动定位体内胃肠特征点的方法,优选的,所述步骤2包括:
[0069] WLD直方图特征是基于全局特征点的描述子,包括两个参数:差异激励和方向角; 提取的WLD直方图特征的步骤为,
[0070] 步骤2-1,计算差异激励,
[0071]I。是当前像素点的灰度值,Ii是当前点邻域的灰度值,P是邻域大小,e(I。)是当 前像素点的差异激励,通常情况下,如果e(I。)是正数,意味着当前点比周围暗,反之,若 e(I。)是负数,则说明当前点比周围亮,
[0073] 改进后的差异激励计算方式则选择了两个邻域的大小,pi和p2,当p=pi时,计 算出的UI。)权重值为%,当P=P2时,计算出的UI。)权重值为,该过程看作原图 经过滤波器f#f2处理,frati()1是经过fr滤波的输出,匕"。2是匕的输出,《种《 2的取 值不同,决定着不同的邻域对当前像素点的影响程度不同;
[0078] 另外,将图像的灰度值调整到[1,256];
[0079] 步骤2-2,计算方向角,
[0081] 其中,ocO和ocl是原始图像经过滤波器filterO和filterl处理后的输出,对 于一个指定的像素点,〇c0 =I5_I1;ocO=I7-13;经过映射m: 0 - 0 ',0的值域范围由
I映射到[0, 2JT];
[0082] [0, 2JT]是一个区间,指0的取值范围在0和2JT之间;
[0083] 0 ' =m( 9 ) +JT,
[0084] 其中,
[0086] 进一步将9 '量化为T个主方向角,t为具体主方向角,量化公式为:
[0088] 令T= 8,于是方向角取值由[0, 2JT]映射为T个主方向角%~外-
[0089] 步骤2-3,获取WLD直方图特征,
[0090]利用步骤2-1和2-2计算出的差异激励和方向角得到图片的二维向量表示为 {WLDUj,0t)},其中,图片维数j= 0,1,…N-1,而七=0,1,一1'_14是图片的维数序数; 为了进一步分类的需要,我们把{WLD(q,0t)}映射为一维向量;首先,将{WLD(q,0t)} 按照每个像素点的梯度方向分解成T个子序列H(t),然后把每个子序列H(t)按照G(I。) 的值分为M段;接下来进行直方图统计,形成二维直方图统计矩阵,大小为M*T;按照行把该 二维矩阵展开形成一维数组,就得到了最终的WLD直方图特征信息。
[0091] 所述的自动定位体内胃肠特征点的方法,优选的,所述步骤3包括:
[0092] 步骤3-1,标记胃肠特征点前的图片为-1,胃肠特征点之后的图片为+1,提取改进 后的WLD直方图特征来训练KNN分类器;
[0093] 步骤3-2,候选胃肠特征点的序号为d,选取d附近序号为[d_100,d+100]的201张 图片作为测试集,如果[d-100,d-1]之间的图片大部分被标记为-1,且大部分[d+1,d+100] 之间的图片被标记为+1,认定该点为精确的胃肠特征点位置;
[0094] 步骤3-3,当[d-100,d-1]之间图片的标记和小于一个阈值,[d+1,d+100]之间的 图片标记和大于一个阈值,认定d为胃肠特征点的精确位置;否则,用相同的方式来判定下 一个胃肠特征点是否为正确的胃肠特征点位置。
[0095] 在图1中有描述KNN分类器,为K最邻近(K-NearestNeighbor)算法,
[0096] 如果一个样本在特征空间中的K个特征空间中最邻近的样本中的多数属于某一 个类别,则该样本也属于这个类别;KNN分类器算法中,所选择的邻居都是已经正确分类的 对象;该方法在定类决策上只依据最邻近的K个样本的类别来决定待分样本所属的类别; [0097] 所述的自动定位体内胃肠特征点的方法,优选的,所述步骤3中训练KNN分类器的 步骤包括:
[0098] 步骤A,初始化图片帧数的距离为最大值;
[0099] 步骤B,计算测试集和每个训练集的距离dist;
[0100] 步骤C,得到K个最临近测试集和训练集中的最大距离maxdist;
[0101] 步骤D,如果dist小于maxdist,则将该训练集作为K最近邻样本;
[0102] 步骤E,重复步骤B、C、D,直到测试集和所有训练集的距离都计算完毕;
[0103] 步骤F,获取K最近邻样本中每个类标号出现的次数;
[0104] 步骤G,选择出现频率最大的类标号作为未知样本的类标号。
[0105] 优选实施方式为:在初步定位阶段我们已经确定了 70~150个幽门候选点。同 时,胶囊内镜图片具有时序性,且一般情况下胶囊进入小肠后不会再返回到胃中。所以我们 可以按照图片的时序性将幽门候选点进行排序。理论上,一旦我们定位出一个幽门精确位 置就可以不用检测后面的数据了,这样可以大大减少时间成本。但为了保证算法的正确性, 我们检测出3个精确点来供医务人员确定。这样既减少了医务人员的负担,又保证了算法 的可行性。
[0106] 精确定位幽门的算法和初步定位的方法在一定程度 上类似,它们都是利用了滑动 窗口的原理,尽管两者采用的特征描述不同。这里我们用判断一个候选点(d)是否为正确 的幽门位置为例进行说明。随机选取了 1500张幽门之前的图片,1500幽门之后的图片作 为训练集。我们标记幽门前的图片为-1,幽门之后的图片为+1。然后提取它们的改进后的 WLD直方图特征来训练KNN分类器。接下来选取d附近序号为[d-100,d+100]的201张图 片作为测试集。如果[d-100,d-l]之间的图片大部分被标记为-1,且大部分[d+l,d+100] 之间的图片被标记为+1,我们就可以认定该点为精确的幽门位置。所以当[d-100,d-l]之 间图片的标记和小于一个阈值,[d+1,d+100]之间的图片标记和大于一个阈值,我们就认为 d为幽门的精确位置。否则,我们用相同的方式来判定下一个幽门候选点是否为正确的幽门 位置,直到我们找到3个有效的候选点。最后这3个被认定为幽门的位置再由医务人员进 行最终确认。
[0107] 图3可以看出该本发明方法相比于其他方法来说,是一个高效的定位幽门的方 法。
[0108] 在本说明书的描述中,参考术语"一个实施例"、"一些实施例"、"示例"、"具体示 例"、或"一些示例"等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特 点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不 一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何 的一个或多个实施例或示例中以合适的方式结合。
[0109] 尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不 脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本 发明的范围由权利要求及其等同物限定。
【主权项】
1. 一种自动定位体内胃肠特征点的方法,其特征在于,包括如下步骤: 步骤1,获取胃肠原始图片数据并进行分割编号,对该数据进行初步定位筛选,获得定 位筛选后的测试集; 步骤2,提取训练集的WLD直方图特征,用来训练KNN分类器; 步骤3,提取测试集的WLD直方图特征,并用训练完成的KNN分类器为测试集分类;根 据分类结果进行精确定位胃肠特征点信息。2. 根据权利要求1所述的自动定位体内胃肠特征点的方法,其特征在于,所述步骤1初 步定位筛选的步骤包括: 步骤1-1,将整个图片数据划分为连续的区间,每个区间包含L张图片; 步骤1-2,每个区间内设置两个连续的窗口 wl,窗口《2,其大小分别为nl和n2,窗口 wl 和窗口《2连接处的图片序号为mid,其中每个窗口包括若干图片,排列顺序为窗口 wl、mid、 窗口 w2,依据设置在窗口 wl和窗口 w2的图片数量,依次向后移动; 步骤1-3,计算出窗口 wl和窗口 w2内图像的红色分量的平均值,记为mrl和mr2 ;mr2/ mrl表示红色分量的变化程度,mr2/mrl越大,mid前后图像变化越明显;记录下mid的mr2/ mrl值,并把两个窗口以step的步长往后移动;每个mid以同样的方式计算出mr2/mrl,并 存储记录; 步骤1-4,每个区间内选择mr2/mrl最大的四个值所对应的序号mid,作为胃肠特征点 的候选位置序号。3. 根据权利要求1所述的自动定位体内胃肠特征点的方法,其特征在于,所述步骤2包 括: WLD直方图特征是基于全局特征点的描述子,包括两个参数:差异激励和方向角;提取 的WLD直方图特征的步骤为, 步骤2_1,计算差异激励, I。是当前像素点的灰度值,I i是当前点邻域的灰度值,P是邻域大小,ζ (I。)是当前像 素点的差异激励,通常情况下,如果ζ (I。)是正数,意味着当前点比周围暗,反之,若ζ (I。) 是负数,则说明当前点比周围亮,改进后的差异激励计算方式则选择了两个邻域的大小,pi和ρ2,当P = pi时,计算出 的ζ (I。)权重值为W1,当p = p2时,计算出的ζ (I。)权重值为ω2,该过程看作原图经过 滤波器fJPf2处理,fMti()1是经过f Γ滤波的输出,fMti()2是匕的输出,ω JP ω 2的取值不 同,决定着不同的邻域对当前像素点的影响程度不同;另外,将图像的灰度值调整到[1,256]; 步骤2-2,计算方向角,其中,ocO和ocl是原始图像经过滤波器filterO和filterl处理后的输出,对于一个 指定的像素点,ocO = I5_I1;ocO = I 7-13;经过映射m: Θ - θ ',Θ的值域范围由 映射到[〇, 2 π ]; [0, 2 π ]是一个区间,指Θ的取值范围在〇和2 π之间; θ' = m(9) + ji, 其中,进一步将0'量化为T个主方向角,t为具体主方向角,量化公式为:令T = 8,于是方向角取值由[0, 2 π ]映射为T个主方向角约~U 步骤2-3,获取WLD直方图特征, 利用步骤2-1和2-2计算出的差异激励和方向角得到图片的二维向量表示为 {WLDUj,0t)},其中,图片维数j = 〇,1,…N-1,而七=0,1,一1'_14是图片的维数序数; 为了进一步分类的需要,我们把{WLDUp 0t)}映射为一维向量;首先,将{WLDUp 0t)} 按照每个像素点的梯度方向分解成T个子序列H(t),然后把每个子序列H(t)按照ζ (I。) 的值分为M段;接下来进行直方图统计,形成二维直方图统计矩阵,大小为Μ*Τ ;按照行把该 二维矩阵展开形成一维数组,就得到了最终的WLD直方图特征信息。4.根据权利要求1所述的自动定位体内胃肠特征点的方法,其特征在于,所述步骤3包 括: 步骤3-1,标记胃肠特征点前的图片为-1,胃肠特征点之后的图片为+1,提取改进后的 WLD直方图特征来训练KNN分类器; 步骤3-2,候选胃肠特征点的序号为d,选取d附近序号为[d-100, d+ΙΟΟ]的201张图 片作为测试集,如果[d-100, d-Ι]之间的图片大部分被标记为-1,且大部分[d+1,d+100]之 间的图片被标记为+1,认定该点为精确的胃肠特征点位置; 步骤3-3,当[d-100,d-l]之间图片的标记和小于一个阈值,[d+l,d+100]之间的图片 标记和大于一个阈值,认定d为胃肠特征点的精确位置;否则,用相同的方式来判定下一个 胃肠特征点是否为正确的胃肠特征点位置。5.根据权利要求1所述的自动定位体内胃肠特征点的方法,其特征在于,所述步骤3中 训练KNN分类器的步骤包括: 步骤A,初始化图片帧数的距离为最大值; 步骤B,计算测试集和每个训练集的距离dist ; 步骤C,得到K个最临近测试集和训练集中的最大距离maxdist ; 步骤D,如果dist小于maxdist,则将该训练集作为K最近邻样本; 步骤E,重复步骤B、C、D,直到测试集和所有训练集的距离都计算完毕; 步骤F,获取K最近邻样本中每个类标号出现的次数; 步骤G,选择出现频率最大的类标号作为未知样本的类标号。
【专利摘要】本发明公开了一种自动定位体内胃肠特征点的方法,包括如下步骤:步骤1,获取胃肠原始图片数据并进行分割编号,对该数据进行初步定位筛选,获得定位筛选后的测试集;步骤2,提取训练集的WLD直方图特征,用来训练KNN分类器;步骤3,提取测试集的WLD直方图特征,并用训练完成的KNN分类器为测试集分类;根据分类结果进行精确定位胃肠特征点信息。通过初步定位阶段挑选出一系列胃肠特征点候选点,接着进入精确定位阶段,这一阶段先随机选择一定量的训练集,提取它们的WLD直方图特征来训练KNN分类器,最后精确定位算法结合初步定位阶段的候选点和WLD直方图特征找到正确的胃肠特征点位置。
【IPC分类】G06K9/62
【公开号】CN104899599
【申请号】CN201510273981
【发明人】周尚波, 白家莲, 杨晗, 张志良, 严莎莎
【申请人】重庆金山科技(集团)有限公司
【公开日】2015年9月9日
【申请日】2015年5月26日

最新回复(0)