法律状态公告日
法律状态信息
法律状态
2016-11-09
未缴年费专利权终止 IPC(主分类):G06T7/00 授权公告日:20130123 终止日期:20150909 申请日:20110909
专利权的终止
2013-01-23
授权
授权
2012-03-07
实质审查的生效 IPC(主分类):G06T7/00 申请日:20110909
实质审查的生效
2012-01-11
公开
公开
技术领域
本发明涉及一种图像分割方法,具体涉及一种基于均值漂移算法和模 糊C均值算法的混合图像分割方法。
背景技术
图像分割技术是计算机图像处理和视觉学的重要研究内容之一,且为 研究的热点和难点。它是模式识别和图像分析的重要关键步骤,分割效果 的好坏直接影响着后续图像的处理。现今所广泛使用的各种图像分割方法, 都具有耗时长、分割效率低、分割效果差的缺点,因此不能广泛用于需要 实时处理的系统,例如基于图像内容的图像搜索引擎等。
发明内容
有鉴于此,本发明的一个目的在于提供一种图像分割方法,其具有耗 时短、分割效率高、分割效果好的优点。
本发明的另一个目的在于提供一种图像集分割方法,其具有耗时短、 分割效率高、分割效果好的优点。
一种图像分割方法,包括如下步骤:
CPU读取一图像,初始化图像的参数,分配CPU和GPU所需要的内 存空间,并将图像传给GPU;
GPU根据均值漂移算法对图像进行计算,以获得最初RGB颜色信息和 最初坐标信息,并将其传回CPU;
CPU根据最初RGB颜色信息和最初坐标信息对图像的像素进行聚类, 从而形成多个区域,统计区域的参数,并将其传送到GPU;
GPU根据模糊C均值算法对区域的参数进行计算,以获得图像的最终 分割结果,并将其传送到CPU;
CPU输出图像的最终分割结果。
CPU根据最初RGB颜色信息和最初坐标信息将RGB颜色信息相同且 相邻的像素聚为一类。
区域的参数包括区域的个数、区域内像素点数以及区域的颜色均值。
图像的最终分割结果包括最终RGB颜色信息及最终坐标信息。
一种图像集分割方法,包括如下步骤:
CPU接收多个图像,并确定多个图像的数量;
CPU读取第i个图像,初始化图像的参数,分配CPU和GPU所需要 的内存空间,并将第i个图像传给GPU;
CPU判断i+1是否小于或等于多个图像的数量;
如果是,则GPU根据均值漂移算法对第i个图像进行计算,以获得最 初RGB颜色信息和最初坐标信息,并将其传回CPU,同时CPU读取第i+1 个图像,初始化第i+1个图像的参数,分配CPU和GPU所需要的内存空间, 并将第i+1个图像传给GPU;
CPU根据最初RGB颜色信息和最初坐标信息对第i个图像的像素进行 聚类,从而形成多个区域,统计区域的参数,并将其传送到GPU,同时GPU 根据均值漂移算法对第i+1个图像进行计算,以获得最初RGB颜色信息和 最初坐标信息,并将其传回CPU;
GPU根据模糊C均值算法对区域的参数进行计算,以获得第i个图像 的最终分割结果,并将其传送到CPU,同时CPU根据最初RGB颜色信息 和最初坐标信息对第i+1个图像的像素进行聚类,从而形成多个区域,统计 区域的参数,并将其传送到GPU;
CPU判断i+2是否小于或等于多个图像的数量;
如果是,则CPU输出第i个图像的最终分割结果,读取第i+2个图像, 初始化第i+2个图像的参数,分配CPU和GPU所需要的内存空间,并将第 i+2个图像传给GPU,同时GPU根据模糊C均值算法对区域的参数进行计 算,以获得第i+1个图像的最终分割结果,并将其传送到CPU,
CPU判断i+3是否小于或等于多个图像的数量;
如果是,则CPU输出第i+1个图像的最终分割结果,读取第i+3个图 像,初始化第i+3个图像的参数,分配CPU和GPU所需要的内存空间,并 将第i+3个图像传给GPU,GPU根据均值漂移算法对第i+2个图像进行计 算,以获得最初RGB颜色信息和最初坐标信息,并将其传回CPU;
设置i=i+2;
重复CPU根据最初RGB颜色信息和最初坐标信息对第i个图像的像素 进行聚类,从而形成多个区域,统计区域的参数,并将其传送到GPU,同 时GPU根据均值漂移算法对第i+1个图像进行计算,以获得最初RGB颜 色信息和最初坐标信息,并将其传回CPU的步骤。
本发明的图像集分割方法,还包括步骤:
如果i+1不是小于或等于多个图像的数量,则GPU根据均值漂移算法 对第i个图像进行计算,以获得最初RGB颜色信息和最初坐标信息,并将 其传回CPU;
CPU根据最初RGB颜色信息和最初坐标信息对第i个图像的像素进行 聚类,从而形成多个区域,统计区域的参数,并将其传送到GPU;
GPU根据模糊C均值算法对区域的参数进行计算,以获得第i个图像 的最终分割结果,并将其传送到CPU;
CPU输出第i个图像的最终分割结果。
本发明的图像集分割方法,还包括步骤:
若i+2不是小于或等于多个图像的数量,则CPU输出第i个图像的分 割结果,同时GPU根据模糊C均值算法对区域的参数进行计算,以获得第 i+1个图像的最终分割结果,并将其传送到CPU;
设置i=i+1;
CPU输出第i个图像的最终分割结果。
本发明的图像集分割方法,还包括步骤:
若i+3不是小于或等于多个图像的数量,则CPU输出第i+1个图像的 最终分割结果,同时GPU根据均值漂移算法对第i+2个图像进行计算,以 获得最初RGB颜色信息和最初坐标信息,并将其传回CPU;
设置i=i+2;
CPU根据最初RGB颜色信息和最初坐标信息对第i个图像的像素进行 聚类,从而形成多个区域,统计区域的参数,并将其传送到GPU;
GPU根据模糊C均值算法对区域的参数进行计算,以获得第i个图像 的最终分割结果,并将其传送到CPU;
CPU输出第i个图像的最终分割结果。
CPU根据最初RGB颜色信息和最初坐标信息将RGB颜色信息相同且 相邻的像素聚为一类。
区域的参数包括区域的个数、区域内像素点数以及区域的颜色均值, 图像的最终分割结果包括最终RGB颜色信息及最终坐标信息。
本发明的方法具有以下优点:(1)均值漂移算法与模糊C均值算法的 结合,使得本发明对图像以及图像集都能达到较好的分割效果;(2)分割 速度快,采用CPU与GPU相结合的异步并发执行模式,充分利用GPU的 并行计算能力以及CPU的控制能力,合理分配任务,最大化利用硬件;(3) 将图像分割成用户需要的区域数,模糊C均值算法聚类时输入聚类中心参 数,便将图像分割成此数目的区域数,这对需要提取固定数目的图像区域 特征应用很重要。
附图说明
图1为本发明图像分割方法的流程图;
图2为本发明图像集分割方法的流程图。
具体实施方式
下面结合附图和具体实施例对本发明进行详细说明。
如图1所示,本发明的图像分割方法,包括以下步骤:
(1)CPU读取一图像,初始化图像的参数,分配CPU和GPU所需要的 内存空间,并将图像传给GPU;
(2)GPU根据均值漂移算法对图像进行计算,以获得最初RGB颜色信 息和最初坐标信息,并将其传回CPU;
(3)CPU根据最初RGB颜色信息和最初坐标信息对图像的像素进行聚 类,从而形成多个区域,统计区域的参数,并将其传送到GPU;
(4)GPU根据模糊C均值算法对区域的参数进行计算,以获得图像的最 终分割结果,并将其传送到CPU;
(5)CPU输出图像的最终分割结果。
在步骤(1)中,将图像的RGB数据转换成LUV空间型数据,存储到内 存空间中。
初始化图像的参数包括:颜色空间半径、坐标空间半径以及区域最小 像素数,传输的图像包括原始的图像数据和权重数据。
在步骤(2)中,一个图像块的线程数设置为nThread(取值64,128或256), 每个线程处理一个像素点的计算,根据图像大小动态地分配图像块数目。 图像块数目为:(width*height)/nThread+1,其中width代表图像宽度,height 代表图像高度。
每个线程执行一个像素点yi,j的飘移计算,计算公式为:
其中d为已经进行过飘移计算的次数,m为模糊指数,y(i,j),s表示像素 点yi,j的空间分量,y(i,j),r表示像素点yi,j的颜色分量,xk是落入以yi,j为中心 的、空间半径为hs的范围的点,hs,hr空间分量和颜色分量的窗体半径,xk,r表示像素点k的颜色分量,xk,s表示像素点k的空间分量,w(xk)表示权重。 循环用此公式进行计算,只到|y(i,j)+d-y(i,j)+d-1|<ε便终于循环。当所有线程均 完成循环计算后,GPU将数据传回CPU。
在步骤(3)中,CPU根据RGB颜色信息和坐标信息将RGB颜色信息相 同且相邻的像素聚为一类。
区域的参数包括区域的个数、区域内像素点数以及区域的颜色均值, 图像的分割结果包括RGB颜色信息及坐标信息。
在本步骤中,CPU递归搜索每个像素的八邻域,将颜色信息相同像素 点标记为同一区域。统计区域的个数,重新组织数据,每个区域作为一个 整体取其颜色值进行下一步的计算。GPU分别分配隶属矩阵、聚类中心、 原始数据、距离矩阵等内存空间,将数据从CPU端拷贝到GPU。
在步骤(4)中,模糊C均值算法主要包括以下过程:
(i)初始化隶属度矩阵
隶属度矩阵大小为c*n的二维浮点型数组,其中c为聚类中心数目,n 为像素点个数。设置每个图像块的线程数目为nThread(取64,128或256),图 像块的数目为n/256+1。每个线程首先为每个像素点随机生成c个0-1之间 的浮点数。接着进行归一化操作,先求c个数的累加和sumc,用sumc除每个 数则完成初始化隶属度矩阵工作。
(ii)根据隶属度矩阵计算聚类中心
计算公式为:其中0<i<c,u为隶属度矩阵,n为像素点个数, m为模糊指数,xj为第j个像素点。
隶属度矩阵的指数运算,设置每个图像块的线程数目为nThread(取 64,128或256),图像块的数目为n/nThread+1,每个线程负责一个像素点 的指数运算。
矩阵乘法运算,为减少分子的重复乘法操作,先对指数运算后的隶属 度矩阵和数据矩阵做矩阵乘法操作。
累加缩减运算,设置每个图像块的线程数目为nThread(取64,128或 256),图像块的初始数目为n/(2*nThread)+1,每个线程执行一次加法后,线 程数缩减,最终只有一个图像块计算出最终的结果。为提高效率,当线程 小于等于32时,对其循环展开。
将分子与分母做除法,即可更新聚类中心。
(iii)价值计算,判断其是否小于一阈值。若小于则转(v),否则转(iv)。
计算公式为:其中U为隶属度矩阵,C为 聚类中心,d为距离矩阵,m为模糊指数。
(iv)距离计算,更新隶属度矩阵,然后转(ii)
计算每个像数点到c个聚类中心的欧基几德距离,设置每个图像块的 线程数目为nThread(取64,128或256),图像块的初始数目为 n/(2*nThread)+1,每个线程负责计算一个像素点到c个聚类中心的距离,其 值保存到距离矩阵中。
更新隶属度矩阵,计算公式为:其中d为距离,m为 模糊指数。设置每个图像块的线程数目为nThread(取64,128或256),图像块 的初始数目为n/(2*nThread)+1,每个线程负责计算一个像素点的c个矩离值 的计算。
(v)根据隶属度矩阵计算数据的最终归属
设置每个图像块的线程数目为nThread(取64,128或256),图像块的初 始数目为n/(2*nThread)+1,每个线程负责比较一个像素点隶属于哪个聚类中 心的值最大,将该像素点标记最终归属于此类。
如图2所示,本发明的图像集分割方法,包括以下步骤:
1.CPU接收多个图像,并确定多个图像的数量;
2.CPU读取第i个图像,初始化图像的参数,分配CPU和GPU所需 要的内存空间,并将第i个图像传给GPU;
3.CPU判断i+1是否小于或等于多个图像的数量;如果是,则进入步 骤4,如果不是,则进入步骤16;
4.GPU根据均值漂移算法对第i个图像进行计算,以获得最初RGB颜 色信息和最初坐标信息,并将其传回CPU,同时CPU读取第i+1个图像, 初始化第i+1个图像的参数,分配CPU和GPU所需要的内存空间,并将第 i+1个图像传给GPU;
5.CPU根据最初RGB颜色信息和最初坐标信息对第i个图像的像素进 行聚类,从而形成多个区域,统计区域的参数,并将其传送到GPU,同时 GPU根据均值漂移算法对第i+1个图像进行计算,以获得最初RGB颜色信 息和最初坐标信息,并将其传回CPU;
6.GPU根据模糊C均值算法对区域的参数进行计算,以获得第i个图 像的最终分割结果,并将其传送到CPU,同时CPU根据最初RGB颜色信 息和最初坐标信息对第i+1个图像的像素进行聚类,从而形成多个区域,统 计区域的参数,并将其传送到GPU;
7.CPU判断i+2是否小于或等于多个图像的数量,如果是,则转入步 骤8,如果不是,则转入步骤12;
8.CPU输出第i个图像的最终分割结果,读取第i+2个图像,初始化第 i+2个图像的参数,分配CPU和GPU所需要的内存空间,并将第i+2个图 像传给GPU,同时GPU根据模糊C均值算法对区域的参数进行计算,以 获得第i+1个图像的最终分割结果,并将其传送到CPU,
9.CPU判断i+3是否小于或等于多个图像的数量,如果是,则转入步 骤10,如果不是,则转入步骤14;
10.CPU输出第i+1个图像的最终分割结果,读取第i+3个图像,初始 化第i+3个图像的参数,分配CPU和GPU所需要的内存空间,并将第i+3 个图像传给GPU,GPU根据均值漂移算法对第i+2个图像进行计算,以获 得最初RGB颜色信息和最初坐标信息,并将其传回CPU;
11.设置i=i+2,然后转到步骤5;
12.CPU输出第i个图像的最终分割结果,同时GPU根据模糊C均值 算法对区域的参数进行计算,以获得第i+1个图像的最终分割结果,并将其 传送到CPU;
13.设置i=i+1,然后转到步骤19;
14.CPU输出第i+1个图像的最终分割结果,同时GPU根据均值漂移 算法对第i+2个图像进行计算,以获得最初RGB颜色信息和最初坐标信息, 并将其传回CPU;
15.设置i=i+2,然后转到步骤17。
16.GPU根据均值漂移算法对第i个图像进行计算,以获得最初RGB 颜色信息和最初坐标信息,并将其传回CPU;
17.CPU根据最初RGB颜色信息和最初坐标信息对第i个图像的像素 进行聚类,从而形成多个区域,统计区域的参数,并将其传送到GPU;
18.GPU根据模糊C均值算法对区域的参数进行计算,以获得第i个图 像的最终分割结果,并将其传送到CPU;
19.CPU输出第i个图像的最终分割结果;
实例:
为了验证本发明的可行性和有效性,在下列表1所示的实验配置环境 下执行编写的计算机程序,对发明进行测试,运行结果如表2所示。
表1:实验配置环境
在表2中,均值漂移算法的参数为(x,y),其中x表示位置空间半径,y 表示颜色空间半径。通过测试100幅图像的运行时间,发现加速比可达多 于150倍,可见本发明具有良好的运行效率。
表2:运行结果
以上所述仅是本发明的具体实施方式,应当指出,对于本技术领域的 普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干的改 进和润饰,这些改进和润饰也应视为本发明的保护范围。
机译: 用于图像分割的学习方法和学习装置,以及使用该方法的图像分割方法和图像分割装置
机译: 用于图像分割的学习方法和学习装置,以及使用该方法的图像分割方法和图像分割装置
机译: 用于图像分割的学习方法和学习装置,以及使用该方法的图像分割方法和图像分割装置