本发明专利属于移动通讯领域,是一种基于过采样修正的大规模医学图像聚类方法,该系统涉及到大规模数据分析、云计算环境下的海量数据处理,涉及到智能数据处理与应用开发。
背景技术:
随着互联网技术与数字化的飞速发展,以及电子数码产品的普及,人们能够获取的数字医学图像数据已经越来越多。医学图像作为一种表现直观、内容丰富的多媒体信息,在各行各业中也得到越来越广泛的应用,如数字多媒体图书馆、医学医学图像应用管理、卫星遥感医学图像和地理信息系统、身份认证识别系统、电子商务、商标版权的监管等。然而,爆炸式增长的医学图像数据己经远远超过了人们所能接受的程度,对于海量的医学图像数据,如何能够快速有效地进行管理与检索,继而从中获取潜在的有价值的信息成为人们关注的问题。而检索时间是医学图像检索的最关键问题之一,传统的检索方法是根据用户提供的待查询样本医学图像,系统按照特定的相似性度量规则,遍历数据库中所有医学图像,并选择最相似的若干幅作为查询结果返回给用户但由于现实世界中医学图像资源很丰富,医学图像数据库容量庞大,如果依然采用顺序检索,计算量将会非常可观,导致检索效率会很低。如果在检索之前能先对医学图像库中的医学图像进行聚类,对各类建立医学图像索引,继而检索过程在特定的某一类内进行,这样就可以在很大程度上缩小医学图像的检索匹配范围,以达 到准确并快速检索医学图像的目的。
目前,用于医学图像聚类的算法主要有K-Means聚类算法、scalable k-means++聚类算法等等,但这些算法序列化的特性限制了其可扩展性,它在选点时需要进行大量的迭代操作,使得它在并行处理环境下处理海量数据时的效率比较低。因此,开发更好的医学图像聚类算法就显得很有必要。
近几年,云计算逐渐发展成为云计算的一个重要分支。任何智能终端设备如智能手机和平板电脑都可以从无线网络环境中随时按需获取服务,并且不受限于有限的硬件资源、计算能力和带宽等。很显然,在云计算中,高效分析和处理海量时空数据,并且与医学图像聚类应用相结合,就是一个新兴的实用技术,云计算环境下有效的空间数据库索引技术对提高空间数据库查找效率与应用用户体验至关重要,基于该出发点,我们设计并实现了该发明专利。
技术实现要素:
根据上述背景技术中存在的缺陷和不足,本发明专利通过使用包括SIFT特征描述方法、过采样修正算法在内的多个医学图像处理算法,设计了一种新的近似医学图像聚类软件,更好的解决了医学图像聚类问题。
为了实现上述目的,本发明所采用的技术方案是:
一种基于过采样修正的大规模医学图像聚类方法,包括:
步骤一.云中心服务系统建立并执行SIFT特征提取与匹配算法;
步骤二.提取医学图像的相关特征数据,并进行匹配;
步骤三.云中心服务系统建立并执行过采样修正算法以进行医学 图像修正,反馈聚类近似医学图像信息至客户端。
进一步的,客户端根据需要将需要进行聚类的医学图像发送至云中心服务系统,并接收云中心服务系统的请求。
进一步的,所述建立并执行SIFT特征提取与匹配算法的方法,包括:
S1.检测尺度空间极值;
S2.关键点定位;
S3.关键点方向匹配;
S4.生成特征描述子;
S5.特征匹配。
进一步的,步骤S1.检测尺度空间极值的方法是:每一个采样点要和当前医学图像的8个相邻点、以及上下相邻尺度医学图像对应的9×2个点进行比较,如果该采样点都大于或者都小于其它26个相邻点,该点则为关键点。
进一步的,步骤S2.关键点定位的方法是:关键点拟合三维二次函数以定位关键点的尺度和位置。
进一步的,步骤S3.关键点方向分配的方法是:在以关键点为中心的邻域窗口内采样,并用梯度方向直方图统计邻域像素的梯度方向,直方图的峰值代表该关键点处的整个邻域梯度的主方向,该主方向作为该关键点的方向。
进一步的,在梯度方向直方图中,当存在主峰值80%以上能量的另一个峰值时,则将该方向是该关键点的辅方向,使得主、辅方向联合。
进一步,
步骤S4.生成特征描述子的方法是:
S4.1.在求出关键点的主方向后,以关键点为中心取16×16的窗口,并将医学图像坐标轴旋转为关键点的主方向;
S4.2.在以关键点为中心的16×16个像素的窗口中计算每一个像素的梯度方向和幅值;
S4.3.进行高斯加权;
S4.4.将窗口划分为4×4个小窗口,在每个小窗口上计算8个方向的梯度方向直方图,并绘制每个梯度方向的累加值,形成一个种子点;
其中,一个关键点由4×4共16个种子点组成,每个种子点有8个方向向量信息,一个特征点形成128维的SIFT特征向量。
进一步的,步骤S5.特征匹配的方法是:在两幅医学图像中取一幅医学图像中的某个特征点,找出其与另一幅医学图像中欧式距离最近的前两个特征点,在这两个特征点中,若最近的距离同次近的距离的比值小于某个阈值,则接受这一对匹配点,否则丢弃。
进一步的,
所述过采样修正算法的迭代过程如下:
步骤一.计算全局聚类误差ψ;
步骤二.每一个Map处理过程,任务使用scalable k-means++初始化算法进行选点,每个点x∈X被选中的概率为
其中:U0为初始所有中心点集合,c1均匀随机选出的第一个中心 点,d2(x,U0)为每一个点x∈Xi与U0的平方距离;
步骤三.一个Reduce任务合并所有来自Map任务的中心点,输出中心点的集合U1;
步骤四.迭代的过程中,OnR利用第j-2次迭代所得中心点对应的全局误差进行选点;OnR利用另一个过采样因子o进一步扩大每一个点被选为中心点的概率;OnR在Reduce任务中使用一个修正的过程移除多选的中心点。
有益效果:该医学图像聚类方法会通过相关技术在用户端获取到图片的相应信息上传并保存到云端服务器,然后云端服务器进行处理,得到最佳的医学图像聚类方案并反馈给用户。
附图说明
图1本发明的功能模块图;
图2本发明的大规模近似医学图像聚类系统架构的示意图;
图3本发明的特征提取过程;
图4本发明的特征向量生成过程;
图5本发明的过采样修正算法的代码;
图6本发明的过采样修正算法流程;
图7本发明的所述系统的结构框图。
具体实施方式
实施例1:一种基于过采样修正的大规模医学图像聚类方法,包括:
步骤一.云中心服务系统建立并执行SIFT特征提取与匹配算法;
步骤二.提取医学图像的相关特征数据,并进行匹配;
步骤三.云中心服务系统建立并执行过采样修正算法以进行医学图像修正,反馈聚类近似医学图像信息至客户端。
进一步的,客户端根据需要将需要进行聚类的医学图像发送至云中心服务系统,并接收云中心服务系统的请求。
进一步的,所述建立并执行SIFT特征提取与匹配算法的方法,包括:
S1.检测尺度空间极值;
S2.关键点定位;
S3.关键点方向匹配;
S4.生成特征描述子;
S5.特征匹配。
进一步的,步骤S1.检测尺度空间极值的方法是:每一个采样点要和当前医学图像的8个相邻点、以及上下相邻尺度医学图像对应的9×2个点进行比较,如果该采样点都大于或者都小于其它26个相邻点,该点则为关键点。
进一步的,步骤S2.关键点定位的方法是:关键点拟合三维二次函数以定位关键点的尺度和位置。
进一步的,步骤S3.关键点方向分配的方法是:在以关键点为中心的邻域窗口内采样,并用梯度方向直方图统计邻域像素的梯度方向,直方图的峰值代表该关键点处的整个邻域梯度的主方向,该主方向作为该关键点的方向。
进一步的,在梯度方向直方图中,当存在主峰值80%以上能量的另一个峰值时,则将该方向是该关键点的辅方向,使得主、辅方向联 合。
进一步,
步骤S4.生成特征描述子的方法是:
S4.1.在求出关键点的主方向后,以关键点为中心取16×16的窗口,并将医学图像坐标轴旋转为关键点的主方向;
S4.2.在以关键点为中心的16×16个像素的窗口中计算每一个像素的梯度方向和幅值;
S4.3.进行高斯加权;
S4.4.将窗口划分为4×4个小窗口,在每个小窗口上计算8个方向的梯度方向直方图,并绘制每个梯度方向的累加值,形成一个种子点;
其中,一个关键点由4×4共16个种子点组成,每个种子点有8个方向向量信息,一个特征点形成128维的SIFT特征向量。
进一步的,步骤S5.特征匹配的方法是:在两幅医学图像中取一幅医学图像中的某个特征点,找出其与另一幅医学图像中欧式距离最近的前两个特征点,在这两个特征点中,若最近的距离同次近的距离的比值小于某个阈值,则接受这一对匹配点,否则丢弃。
进一步的,
所述过采样修正算法的迭代过程如下:
步骤一.计算全局聚类误差ψ;
步骤二.每一个Map处理过程,任务使用scalable k-means++初始化算法进行选点,每个点x∈X被选中的概率为
其中:U0为初始所有中心点集合,c1均匀随机选出的第一个中心点,d2(x,U0)为每一个点x∈Xi与U0的平方距离;
步骤三.一个Reduce任务合并所有来自Map任务的中心点,输出中心点的集合U1;
步骤四.迭代的过程中,OnR利用第j-2次迭代所得中心点对应的全局误差进行选点;OnR利用另一个过采样因子o进一步扩大每一个点被选为中心点的概率;OnR在Reduce任务中使用一个修正的过程移除多选的中心点。
实施例2:由实施例1所述的方法,得到一种实施其方法的系统,参考图1,一种云计算环境基于过采样修正的近似医学图像聚类系统,所述系统由一个云中心服务系统和一个手机智能移动客户端软件系统组成。其中,云服务系统负责进行SIFT特征提取算法建立与过采样修正算法的执行,并将聚类结果反馈给用户端;移动端根据需要将需要进行医学图像聚类的医学图像发送至云中心服务系统,并接收云端请求。
参考图2,作为一个实施例,该近似医学图像聚类系统的执行流程是,当聚类用户发出相关医学图像聚类请求后,由云端系统根据SIFT特征提取算法和过采样修正算法得到最好的聚类方案并返回最终结果给用户,通过移动交流平台进行业务确认。
该大规模医学图像聚类系统采用一种基于云计算的数据处理方式,当用户发出医学图像聚类请求时,数据中心会通过建立的SIFT特征提取算法,迅速提取医学图像的相关特征数据。SIFT特征提取算法的处理步骤具体为:
参考图3、4,其详细步骤是:为了检测尺度空间的局部极大极小点,每一个采样点要和当前医学图像的8个相邻点和上下相邻尺度医学图像对应的9×2个点共26个点进行比较,如果该采样点都要大于或者都要小于其它26个相邻点,该点则为关键点。这些关键点还需要拟合三维二次函数以精确定位关键点的尺度和位置。在以关键点为中心的邻域窗口内采样,并用梯度方向直方图统计邻域像素的梯度方向。该梯度方向直方图的角度范围是0-360度,其中每10度作为一个柱,共36个小柱,直方图的峰值代表该关键点处的整个邻域梯度的主方向,该方向则作为该关键点的方向。在梯度方向直方图中,一个关键点可能会被指定具有多个方向,一个主方向和一个以上的辅方向。当存在主峰值80%能量的另一个峰值时,则将个方向认为是该关键点的辅方向,通过主次方向联合可以增强算法匹配的鲁棒性。在求出关键点的主方向后,接着以关键点为中心取16×16的窗口,并将医学图像坐标轴旋转为关键点的主方向,以确保旋转不变性。接着在以关键点为中心的16×16个像素的窗口中计算每一个像素的梯度方向和幅值,然后进行高斯加权。最后将窗口划分为4×4个小窗口,在每个小窗口上计算8个方向的梯度方向直方图,并绘制每个梯度方向的累加值,即可形成一个种子点。一个关键点由4×4共16个种子点组成,每个种子点有8个方向向量信息,这样一个特征点就可以形成128维的SIFT特征向量。如图2-4所示。这种联合邻域方向性信息的方法不仅增强了SIFT算法的抗噪性能,并且对在定位时存在误差的特征匹配也有比较好的容错性。当两幅医学图像的SIFT特征向量生成后,接下来就是 SIFT特征匹配阶段。SIFT特征向量匹配以特征向量之间的欧式距离作为两幅医学图像中特征点的相似性度量标准。在两幅医学图像中取一幅医学图像中的某个特征点,并找出其与另一幅医学图像中欧式距离最近的前两个特征点。在这两个特征点中,若最近的距离同次近的距离的比值小于某个阈值,则接受这一对匹配点,否则丢弃。当降低这个阈值的时候,SIFT匹配点数目会减少,但是匹配点更加准确和稳定。
参考图5,作为另一个实施例,过采样修正算法的定义为:在每一次迭代中,过采样修正(Oversampling and Refining,简称为OnR)使用一个MapReduce作业选个中心点并且计算全局的误差。OnR方法受到scalable k-means++方法的启发,除了过采样因子,它使用另一个过采样因子o进一步增大Map阶段选的中心点的数目。
参考图6,Job1(从P1到P4)仍然负责计算ψ,ψ为全局聚类误差;Job2(从P5到P8)的每一个Map(Map是一个处理过程,我们将这个过程命名为Map)任务使用scalable k-means++初始化算法进行选点,每个点x∈X被选中的概率为px=l*d2(x,U0)/φX(c1),其中:U0为初始所有中心点集合,c1均匀随机选出的第一个中心点,d2(x,U0)为每一个点x∈Xi与U0的平方距离(P5阶段),然后一个Reduce任务合并所有来自Map任务的中心点(P7阶段),输出中心点的集合U1(P8阶段)。OnR迭代的过程从P9到P11,第j次迭代的过程如下,其中,j为迭代次数,1≤j≤n,n为最大迭代次数,由数据点个数决定:因为每一个Map任务无法获得第j-1次迭代所得中心点对应的全局误差,即无法获得φX(Uj-1),我们的方法OnR利用第j-2次迭代所得中心点对应的全局误 差进行选点,即用φX(Uj-2);然而由于第j-2次迭代后已得到的中心点的数目比j-1次迭代后所得的中心点的数目要少,所以第j-2次对应的全局误差φX(Uj-2)比第j-1次对应的全局误差大,导致了每一个点x被选为中心点的概率px=l*d2(x,Uj-1)/φX(Uj-2)变小,进而导致了第j次迭代选择的中心点的数目变少。为了解决上述问题,OnR利用另一个过采样因子o进一步扩大每一个点被选为中心点的概率,即x被选为中心点的概率为px=o*l*d2(x,Uj-1)/φX(Uj-2)。在这种情形下,每一次迭代Map任务选择的中心点的数目的期望值会大于l(l为scalable k-means++初始化算法每次迭代期望选择的中心点数目),因此OnR在Reduce任务中需要使用一个修正的过程移除多选的中心点。
OnR算法详细的迭代过程如下:在P9阶段,每一个Map利用每个点x的概率选择新的中心点并计算中心点集Uj-1对应的局部误差并把所有的局部误差值每个选中的点x对应的随机概率值(自行设置的参量,与 比较来选择中心点)以及传输给Reduce(P10阶段)。修正的操作在一个单独的Reduce任务上执行(P11阶段),它合并Map阶段选出的中心点对所有的局部误差 进行求和操作得到第j-1次迭代后中心点对应的全局误差φX(Uj-1),在此也能得到被选中的中心点x对应的真正的概率值,即 如果则点x为正确的中心点,否则把x从C中移除,此次迭代的输出为Uj以及φX(Uj-1),它们成为下一次 迭代的输入数据。
通过以上的分析,得出OnR每一次迭代的网络传输量包括4部分:此次迭代选出的中心点集所有的局部误差被选中的中心点对应的随机数与MRSKMI算法的传输量(和)相比,OnR的主要优点是在网络开销没有增长太多的前提下,它大大减少了I/O开销。
实施例2:一种云计算环境基于过采样修正的近似医学图像聚类系统由一个云中心服务系统和一个手机智能移动客户端软件系统组成。其中云服务系统负责进行SIFT特征提取算法建立与过采样修正算法的执行,并将聚类结果反馈给用户端;移动端根据需要将需要进行医学图像聚类的医学图像发送至云中心服务系统,并接收云端请求。
作为技术方案的补充,该医学图像聚类系统的执行方法是:当聚类用户发出相关医学图像聚类请求后,由云端系统根据SIFT特征提取算法和过采样修正算法得到最好的聚类方案并返回最终结果给用户,通过移动交流平台进行业务确认。
作为技术方案的进一步补充,SIFT特征提取算法的处理步骤具体为:①检测尺度空间极值;②关键点定位;③关键点方向分配;④生成特征描述子;⑤特征匹配。
其详细步骤为:为了检测尺度空间的局部极大极小点,每一个采样点要和当前医学图像的8个相邻点和上下相邻尺度医学图像对应的9×2个点共26个点进行比较,如果该采样点都要大于或者都要小于其它26个相邻点,该点则为关键点。这些关键点还需要拟合三维二次函 数以精确定位关键点的尺度和位置。在以关键点为中心的邻域窗口内采样,并用梯度方向直方图统计邻域像素的梯度方向。该梯度方向直方图的角度范围是0-360度,其中每10度作为一个柱,共36个小柱,直方图的峰值代表该关键点处的整个邻域梯度的主方向,该方向则作为该关键点的方向。在梯度方向直方图中,一个关键点可能会被指定具有多个方向,一个主方向和一个以上的辅方向。当存在主峰值80%能量的另一个峰值时,则将个方向认为是该关键点的辅方向,通过主次方向联合可以增强算法匹配的鲁棒性。在求出关键点的主方向后,接着以关键点为中心取16×16的窗口,并将医学图像坐标轴旋转为关键点的主方向,以确保旋转不变性。接着在以关键点为中心的16×16个像素的窗口中计算每一个像素的梯度方向和幅值,然后进行高斯加权。最后将窗口划分为4×4个小窗口,在每个小窗口上计算8个方向的梯度方向直方图,并绘制每个梯度方向的累加值,即可形成一个种子点。一个关键点由4×4共16个种子点组成,每个种子点有8个方向向量信息,这样一个特征点就可以形成128维的SIFT特征向量。如图2-4所示。这种联合邻域方向性信息的方法不仅增强了SIFT算法的抗噪性能,并且对在定位时存在误差的特征匹配也有比较好的容错性。图2-4中显示的是4×4个像素的窗口,但在实际计算中经典SIFT使用的是16×16个像素的窗口。当两幅医学图像的SIFT特征向量生成后,接下来就是SIFT特征匹配阶段。SIFT特征向量匹配以特征向量之间的欧式距离作为两幅医学图像中特征点的相似性度量标准。在两幅医学图像中取一幅医学图像中的某个特征点,并找出其与另一幅医学图像 中欧式距离最近的前两个特征点。在这两个特征点中,若最近的距离同次近的距离的比值小于某个阈值,则接受这一对匹配点,否则丢弃。当降低这个阈值的时候,SIFT匹配点数目会减少,但是匹配点更加准确和稳定。
作为技术方案的补充,过采样修正算法的定义为:在每一次迭代中,OnR使用一个MapReduce作业选个中心点并且计算全局的误差。OnR方法受到scalable k-means++方法的启发,除了过采样因子它使用另一个过采样因子o进一步增大Map阶段选的中心点的数目。
作为技术方案的更进一步的补充,基于过采样修正的近似医学图像聚类的方法为:Job1(从P1到P4)仍然负责计算ψ;Job2(从P5到P8)的每一个Map任务使用scalable k-means++初始化算法进行选点,每个点x∈X被选中的概率为(P5阶段),然后一个Reduce任务合并所有来自Map任务的中心点(P7阶段),输出中心点的集合U1(P8阶段)。OnR迭代的过程从P9到P11,第j次迭代的过程如下:因为每一个Map任务无法获得第j-1次迭代所得中心点对应的全局误差,即无法获得φX(Uj-1),我们的方法OnR利用第j-2次迭代所得中心点对应的全局误差进行选点,即用φX(Uj-2);然而由于第j-2次迭代后已得到的中心点的数目比j-1次迭代后所得的中心点的数目要少,所以第j-2次对应的全局误差φX(Uj-2)比第j-1次对应的全局误差大,导致了每一个点x被选为中心点的概率变小,进而导致了第j次迭代选择的中心点的数目变少。为了解决上述问题,OnR利用另一个过采样因子o进一步扩大每一个点被选为中心点的概 率,即x被选为中心点的概率为在这种情形下,每一次迭代Map任务选择的中心点的数目的期望值会大于(为scalable k-means++初始化算法每次迭代期望选择的中心点数目),因此OnR在Reduce任务中需要使用一个修正的过程移除多选的中心点。
OnR算法详细的迭代过程如下:在P9阶段,每一个Map利用每个点x的概率选择新的中心点并计算中心点集Uj-1对应的局部误差并把所有的局部误差值每个选中的点x对应的随机概率值以及传输给Reduce(P10阶段)。修正的操作在一个单独的Reduce任务上执行(P11阶段),它合并Map阶段选出的中心点对所有的局部误差进行求和操作得到第j-1次迭代后中心点对应的全局误差φX(Uj-1),在此也能得到被选中的中心点x对应的真正的概率值,即 如果则点x为正确的中心点,否则把x从C中移除,此次迭代的输出为Uj以及φX(Uj-1),它们成为下一次迭代的输入数据。
实施例3:上述各实施例中,在聚类阶段,该医学图像聚类系统会通过相关技术在用户端获取到图片的相应信息上传并保存到云端服务器,然后云端服务器进行处理,得到最佳的医学图像聚类方案并反馈给用户。
本实施例中所述的医学图像聚类系统具有下述结构和好处:
(1)采用单个终端的设计方式。用户端为安装在安卓智能手机 上的软件,供用户进行医学图像聚类时使用。
用户通过手机内置的系统和手机运营商的基站,依托于2G/3G网络,wifi等获取需要聚类的医学图像并发送至云端。
(2)云计算是一种基于互联网的计算方式,通过这种方式,共享的软硬件资源和信息可以按需提供给计算机和其他设备。我们发明中设计的医学图像聚类系统所使用的云端服务器是由多个云数据中心的网络服务器或虚拟主机所构成的,采用云计算这种并行化计算来处理大规模数据应对于线上的医学图像聚类用户,在这种模式下,保证了高访问时的定址稳定性,也加快了用户搜索时的反应速度,同时增强了可扩展性。
(3)当用户发出聚类请求时,数据中心会通过SIFT特征提取方法、过采样修正算法进行大规模医学图像聚类,并给出适合用户最好的医学图像聚类方案。
以上所述,仅为本发明创造较佳的具体实施方式,但本发明创造的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明创造披露的技术范围内,根据本发明创造的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明创造的保护范围之内。