CN101916432B - 一种均值漂移图像分割算法的并行化方法 - Google Patents
一种均值漂移图像分割算法的并行化方法 Download PDFInfo
- Publication number
- CN101916432B CN101916432B CN2010102419721A CN201010241972A CN101916432B CN 101916432 B CN101916432 B CN 101916432B CN 2010102419721 A CN2010102419721 A CN 2010102419721A CN 201010241972 A CN201010241972 A CN 201010241972A CN 101916432 B CN101916432 B CN 101916432B
- Authority
- CN
- China
- Prior art keywords
- pixel
- image
- coordinate position
- point
- note
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Image Processing (AREA)
Abstract
本发明涉及图像分割技术领域,尤其涉及一种均值漂移图像分割算法的并行化方法。本发明包括将图像的区域自动或手动划分成多个子区域,通过缓冲区存取数据分别对每个子区域内的像素进行均值漂移滤波,记录每个像素的收敛模态点坐标位置,对每个像素点P1根据其收敛模态点坐标位置查找位于此坐标位置上的像素点P2并记录下P1,而后从P2开始重复查找和记录过程,直至查找到的像素点的坐标位置和其收敛模态点的位置相等,将这个位置的值赋给所有记录下的像素点,使用区域生长与合并算法得到最终的图像分割结果。本发明对均值漂移分割算法进行并行化处理,增强了处理效率,降低了对运行所需硬件设备的要求,提高了算法的实用性。
Description
技术领域
本发明涉及图像分割技术领域,尤其涉及一种均值漂移图像分割算法的并行化方法。
背景技术
图像分割算法是图像处理技术应用的重要内容之一,而均值漂移分割算法是目前实际应用较多、比较成熟的图像分割算法之一。此外由于均值漂移分割算法在运行中需要将图像数据一次性全部读入内存,同时需要保存图像的滤波、聚类等中间结果,在此过程中需要占用大量的内存资源。另外,由于此算法需要通过迭代查找样本点中的局部密度极大值点,计算量巨大,影响了算法在实用中的效率。克服这两种困难的一个手段就是对均值漂移分割算法以并行计算方式实现。参考文献1提供了一个实例来实现对均值漂移分割算法以并行计算方式。
但是,由于均值漂移分割中是通过迭代的方式查找局部密度极大值点直到收敛,最后找到的收敛点可能远离查找的起始点。如果像通常并行化图像处理算法时那样并行化均值漂移分割算法,简单的将图像分成数块后对每一块分别处理并在最后将处理结果合并,会造成分割区域的不完整。
参考文献1:吴炜,沈占锋等.《均值漂移高分辨率遥感影像多尺度分割的集群实现》[J].计算机工程与应用,2009.45(034):p.7-9
发明内容
针对上述存在的技术问题,本发明的目的是提供一种均值漂移图像分割算法的并行化方法,以解决直接对图像分块后进行均值漂移分割后再合并结果的并行化计算方式造成的分割结果不正确的技术问题。
为达到上述目的,本发明采用如下的技术方案:
①根据图像的大小自动或手动划分成N个子区域,其中N≥2;
②分别对划分得到的所述子区域内的像素逐个进行均值漂移滤波处理,记录每个像素的收敛模态点坐标位置;
③将步骤②得到的结果合并为一个表结构,其中表的关键字为像素的坐标位置,数据项为像素的收敛模态点的坐标位置;
④建立一个空的记录R,在第3步得到的表结构的基础上,对图像上的一个像素点,以其坐标位置P1,在表中查找其收敛模态点的坐标位置P2,记录下P1的值到R中,将P2的值赋给P1,并重复查找与记录过程,直至查找到的像素点的坐标位置和其收敛模态点的坐标位置相等,记这个坐标位置的值为PEnd;
⑤更新表中的数据,将表中所有关键字在R中的记录项的收敛模态点坐标位置赋予值PEnd;
⑥对图像上所有像素都进行第④、⑤步操作;
⑦使用区域生长算法将具有相同收敛模态点的像素合并为区域,完成分割。
所述步骤①划分之后得到的子区域之间没有交集,所有子区域的并集等于图像的区域。
所述步骤②中的均值漂移滤波处理,通过缓冲区方式读取图像数据进行处理。
所述缓冲区方式读取图像数据包括以下子步骤:
A.申请一块内存作为内存缓冲区,用于读取一定范围的图像数据:将范围的长宽分别记为BufferWidth和BufferHeight,图像的波段数记为BandNum,像素的一个波段的值占用的字节数为ByteNum;那么申请的内存的大小就为BufferSize个字节,其中BufferSize=BufferWidth×BufferHeight×BandNum×ByteNum;
B.将图像区域的宽度、高度分别记为imgWidth和imgHeight,当前均值漂移滤波所要处理的数据点或模态点的位置坐标为(Px,Py),在均值漂移滤波的过程中根据当前查找局部密度极大值点所需要读入的像素范围调整缓冲区中读入的图像数据。
所述步骤B进一步包括以下子步骤:
-记均值漂移分割算法中空间带宽的大小为SpaBandWid,判断当前查找密度极大值点所需读取的像素的覆盖范围SpatialExtent:
若Px-SpaBandWid/2≥0,记Left=Px-SpaBandWid/2,否则记Left=0;
若Px+SpaBandWid/2≤imgWidth,记Right=Px+SpaBandWid/2,否则记Right=imgWidth;
若Py-SpaBandWid/2≥0,记Top=Py-SpaBandWid/2,否则记Top=0;
若Py+SpaBandWid/2≤imgHeight,记Bottom=Py+SpaBandWid/2,否则记Bottom=imgHeight;
其中Left,Right,Top,Bottom分别是像素覆盖范围的左、右、上、下边界;
-判断图像上在范围SpatialExtent内的数据是否已被读入缓冲区中:
如果数据已经读入,则不做处理,如果数据不在缓冲区中,则以坐标(Px,Py)为中心读入图像上BufferWidth×BufferHeight大小的矩形范围内的数据。
所述步骤⑦进一步包括以下子步骤:
(a)新建一个与图像大小相同的标记图像用于记录合并后的区域,首先将所有的像素标记为未处理;
(b)在标记图像上按由左向右,由上之下的顺序查找像素的标记值,记录找到的第一个标记为未处理的像素,将此像素标记为一个新的区域索引值,记为RegIndx;
(c)由这个像素开始查找其领域像素,记录下收敛模态点与此像素的收敛模态点相同的领域像素;
(d)对步骤(c)中记录下的领域像素都标记为RegIndx,而后对这些像素重复步骤(c);
(e)重复步骤(c)、(d),直到找不到具有相同模态点的领域像素为止;
(f)如果标记图像上仍然存在标记为未处理的像素,则返回步骤(b);否则,结束。
本发明具有以下优点和积极效果:
1)使均值漂移分割算法适用于并行环境,提高了结果的正确性;
2)方法简单、实现容易均值漂移分割算法的并行化;
3)增强了处理效率,降低了对运行所需硬件设备的要求,提高了算法的实用性。
附图说明
图1是本发明提供的均值漂移图像分割算法的并行化方法的流程图。
具体实施方式
均值漂移方法是一种基于密度梯度上升的非参数统计迭代方法,它使数据空间内的每一个点“漂移”到密度函数的局部极大值点,通过不断迭代这个漂移的过程找到密度函数的最大值点。
本发明提供的均值漂移图像分割算法的并行化方法,包括以下步骤,参见图1所示:
1、根据图像的大小自动或手动划分为N个子区域,N≥2;
该步骤划分之后得到的子区域之间没有交集,所有子区域的并集等于图像的区域。
2、利用缓冲区方式读取图像数据,分别对划分得到的每一个子区域内的像素逐个进行均值漂移滤波处理,记录每个像素的收敛模态点坐标位置,此处进行并行计算处理,每一个子任务处理一个子区域内的像素。
收敛模态点也即数据空间内密度函数的最大值点。将数据点的坐标也作为数据空间的两个维度,分别记为H、V维;通过不断迭代均值漂移过程直至收敛就得到了收敛模态点,收敛模态点在H、V维上的数值就是收敛模态点的坐标。
子任务获取图像数据的方式采用缓冲区读取,具体步骤如下:
(1)申请一块内存作为内存缓冲区,用于读取一定范围的图像数据:
这个范围可以自己定义,将范围的长宽分别记为BufferWidth和BufferHeight,图像的波段数记为BandNum,像素的一个波段的值占用的字节数为ByteNum;那么申请的内存的大小就为BufferSize个字节,其中BufferSize=BufferWidth×BufferHeight×BandNum×ByteNum;
(2)将图像区域的宽度、高度分别记为imgWidth和imgHeight,当前均值漂移滤波所要处理的数据点或模态点的位置坐标为(Px,Py),在均值漂移滤波的过程中根据当前查找局部密度极大值点所需要读入的像素范围调整缓冲区中读入的图像数据。该步骤进一步包括以下子步骤:
①记均值漂移分割算法中空间带宽的大小为SpaBandWid,判断当前查找密度极大值点所需读取的像素的覆盖范围SpatialExtent:
若Px-SpaBandWid/2≥0,记Left=Px-SpaBandWid/2,否则记Left=0;
若Px+SpaBandWid/2≤imgWidth,记Right=Px+SpaBandWid/2,否则记Right=imgWidth;
若Py-SpaBandWid/2≥0,记Top=Py-SpaBandWid/2,否则记Top=0;
若Py+SpaBandWid/2≤imgHeight,记Bottom=Py+SpaBandWid/2,否则记Bottom=imgHeight;
其中Left,Right,Top,Bottom分别表示像素覆盖范围的左、右、上、下边界。
②判断图像上在范围SpatialExtent内的数据是否已被读入缓冲区中:
如果数据已经读入,则不做处理,如果数据不在缓冲区中,则以坐标(Px,Py)为中心读入图像上BufferWidth×BufferHeight大小的矩形范围内的数据。
3、将第2步得到的结果合并为一个表结构,其中表的关键字为像素的坐标位置,数据项为像素的收敛模态点的坐标位置;
4、建立一个空的记录R,在第3步得到的表结构的基础上,对图像上的一个像素点,以其坐标位置P1,在表中查找其收敛模态点的坐标位置P2,记录下P1的值到R中,将P2的值赋给P1,并重复查找与记录过程,直至查找到的像素点的坐标位置和其收敛模态点的坐标位置相等,记这个坐标位置的值为PEnd;
5、更新表中的数据,将表中所有关键字在R中的记录项的收敛模态点坐标位置赋予值PEnd;
6、对图像上所有像素都进行第4、5步操作;
7、使用区域生长算法将具有相同收敛模态点的像素合并为区域,完成分割。
区域生长算法的基本思想是将具有相同性质的像素集合起来构成区域。此步骤中用区域生长算法将具有相同收敛模态点的像素合并为区域,具体步骤为:
①新建一个与图像大小相同的标记图像用于记录合并后的区域,首先将所有的像素标记为未处理;
②在标记图像上按由左向右,由上之下的顺序查找像素的标记值,记录找到的第一个标记为未处理的像素,将此像素标记为一个新的区域索引值,记为RegIndx;
③由这个像素开始查找其领域像素,记录下收敛模态点与此像素的收敛模态点相同的领域像素;
④对步骤③中记录下的领域像素都标记为RegIndx,而后对这些像素重复步骤③;
⑤重复步骤③、④直到找不到具有相同模态点的领域像素为止;
⑥步骤②后依次执行其后步骤,直至标记图像上不存在标记为未处理的像素为止。
上述实例用来解释说明本发明,而不是对本发明进行限制,在本发明的精神和权利要求的保护范围内,对本发明做出任何的修改和改变,都落入本发明的保护范围。
Claims (6)
1.一种均值漂移图像分割算法的并行化方法,其特征在于,包括以下步骤:
①根据图像的大小自动或手动划分成N个子区域,其中N≥2;
②分别对划分得到的所述子区域内的像素逐个进行均值漂移滤波处理,记录每个像素的收敛模态点坐标位置,收敛模态点为数据空间内密度函数的最大值点;
③将步骤②得到的结果合并为一个表结构,其中表的关键字为像素的坐标位置,数据项为像素的收敛模态点的坐标位置;
④建立一个空的记录R,在第3步得到的表结构的基础上,对图像上的一个像素点,以其坐标位置P1,在表中查找其收敛模态点的坐标位置P2,记录下P1的值到R中,将P2的值赋给P1,并重复查找与记录过程,直至查找到的像素点的坐标位置和其收敛模态点的坐标位置相等,记这个坐标位置的值为PEnd;
⑤更新表中的数据,将表中所有关键字在R中的记录项的收敛模态点坐标位置赋予值PEnd;
⑥对图像上所有像素都进行第④、⑤步操作;
⑦使用区域生长算法将具有相同收敛模态点的像素合并为区域,完成分割。
2.根据权利要求1所述的均值漂移图像分割算法的并行化方法,其特征在于:
所述步骤①划分之后得到的子区域之间没有交集,所有子区域的并集等于图像的区域。
3.根据权利要求1所述的均值漂移图像分割算法的并行化方法,其特征在于:
所述步骤②中的均值漂移滤波处理,通过缓冲区方式读取图像数据进行处理。
4.根据权利要求3所述的均值漂移图像分割算法的并行化方法,其特征在于:
所述缓冲区方式读取图像数据包括以下子步骤:
A.申请一块内存作为内存缓冲区,用于读取一定范围的图像数据:将范围的长宽分别记为BufferWidth和BufferHeight,图像的波段数记为BandNum,像素的一个波段的值占用的字节数为ByteNum;那么申请的内存的大小就为BufferSize个字节,其中BufferSize=BufferWidth×BufferHeight×BandNum×ByteNum;
B.将图像区域的宽度、高度分别记为imgWidth和imgHeight,当前均值漂移滤波所要处理的数据点或模态点的位置坐标为(Px,Py),在均值漂移滤波的过程中根据当前查找局部密度极大值点所需要读入的像素范围调整缓冲区中读入的图像数据。
5.根据权利要求4所述的均值漂移图像分割算法的并行化方法,其特征在于:
所述步骤B进一步包括以下子步骤:
-记均值漂移分割算法中空间带宽的大小为SpaBandWid,判断当前查找密度极大值点所需读取的像素的覆盖范围SpatialExtent:
若Px-SpaBandWid/2≥0,记Left=Px-SpaBandWid/2,否则记Left=0;
若Px+SpaBandWid/2≤imgWidth,记Right=Px+SpaBandWid/2,否则记Right=imgWidth;
若Py-SpaBandWid/2≥0,记Top=Py-SpaBandWid/2,否则记Top=0;
若Py+SpaBandWid/2≤imgHeight,记Bottom=Py+SpaBandWid/2,否则记Bottom=imgHeight;
其中Left,Right,Top,Bottom分别是像素覆盖范围的左、右、上、下边界;
-判断图像上在范围SpatialExtent内的数据是否已被读入缓冲区中:
如果数据已经读入,则不做处理,如果数据不在缓冲区中,则以坐标(Px,Py)为中心读入图像上BufferWidth×BufferHeight大小的矩形范围内的数据。
6.根据权利要求1所述的均值漂移图像分割算法的并行化方法,其特征在于:
所述步骤⑦进一步包括以下子步骤:
(a)新建一个与图像大小相同的标记图像用于记录合并后的区域,首先将所有的像素标记为未处理;
(b)在标记图像上按由左向右,由上至下的顺序查找像素的标记值,记录找到的第一个标记为未处理的像素,将此像素标记为一个新的区域索引值,记为RegIndx;
(c)由这个像素开始查找其邻域像素,记录下收敛模态点与此像素的收敛模态点相同的邻域像素;
(d)对步骤(c)中记录下的邻域像素都标记为RegIndx,而后对这些像素重复步骤(c);
(e)重复步骤(c)、(d),直到找不到具有相同模态点的邻域像素为止;
(f)如果标记图像上仍然存在标记为未处理的像素,则返回步骤(b);否则,结束。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010102419721A CN101916432B (zh) | 2010-07-29 | 2010-07-29 | 一种均值漂移图像分割算法的并行化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010102419721A CN101916432B (zh) | 2010-07-29 | 2010-07-29 | 一种均值漂移图像分割算法的并行化方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101916432A CN101916432A (zh) | 2010-12-15 |
CN101916432B true CN101916432B (zh) | 2012-05-02 |
Family
ID=43323937
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010102419721A Expired - Fee Related CN101916432B (zh) | 2010-07-29 | 2010-07-29 | 一种均值漂移图像分割算法的并行化方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101916432B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102314688B (zh) * | 2011-09-09 | 2013-01-23 | 华中科技大学 | 图像分割方法和图像集分割方法 |
CN111913965B (zh) * | 2020-08-03 | 2024-02-27 | 北京吉威空间信息股份有限公司 | 一种面向空间大数据缓冲区分析的方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101706950A (zh) * | 2009-07-13 | 2010-05-12 | 中国科学院遥感应用研究所 | 一种遥感影像多尺度分割的高性能实现方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7260259B2 (en) * | 2002-01-08 | 2007-08-21 | Siemens Medical Solutions Usa, Inc. | Image segmentation using statistical clustering with saddle point detection |
-
2010
- 2010-07-29 CN CN2010102419721A patent/CN101916432B/zh not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101706950A (zh) * | 2009-07-13 | 2010-05-12 | 中国科学院遥感应用研究所 | 一种遥感影像多尺度分割的高性能实现方法 |
Non-Patent Citations (8)
Title |
---|
.遥感影像均值漂移分割算法的并行化实现.<<哈尔滨工业大学学报>>.2010,(第5期),811-815. |
Comaniciu D,Meer P.Mean Shift:A robust approach toward feature space analysis.<<IEEE Transactions on Pattern Analysis and Machine Intelligence>>.2002,(第24期),603-619. * |
吴炜 |
吴炜,沈占锋,骆剑承,陈秋晓,胡晓.均值漂移高分辨率遥感影像多尺度分割的集群实现.<<计算机工程与应用>>.2009,(第34期),7-9,24. * |
沈占锋 |
沈占锋;骆剑承;吴炜;胡晓东;.遥感影像均值漂移分割算法的并行化实现.<<哈尔滨工业大学学报>>.2010,(第5期),811-815. * |
胡晓东 |
骆剑承 |
Also Published As
Publication number | Publication date |
---|---|
CN101916432A (zh) | 2010-12-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104765876B (zh) | 海量gnss小文件云存储方法 | |
CN108921166A (zh) | 基于深度神经网络的医疗票据类文本检测识别方法及系统 | |
CN102800052B (zh) | 非标准地图的半自动数字化方法 | |
CN104112007B (zh) | 一种影像层次分割结果的数据存储、组织及检索方法 | |
CN103279551B (zh) | 一种基于欧氏距离的高维数据准确近邻快速检索方法 | |
CN103761236A (zh) | 一种增量式频繁模式增长数据挖掘方法 | |
CN105608222A (zh) | 一种大规模栅格数据集的瓦片金字塔快速构建方法 | |
CN105786942A (zh) | 一种基于云平台的地理信息存储系统 | |
CN107392252A (zh) | 计算机深度学习图像特征并量化感知度的方法 | |
CN104778238A (zh) | 一种视频显著性的分析方法及装置 | |
CN108875826B (zh) | 一种基于粗细粒度复合卷积的多分支对象检测方法 | |
CN101957995A (zh) | 一种图像中关联像素点的检测提取方法及其应用 | |
CN101916432B (zh) | 一种均值漂移图像分割算法的并行化方法 | |
CN103678682A (zh) | 基于抽象模板的海量栅格数据处理及管理方法 | |
CN105046632A (zh) | 时空高效的二值图像二元逻辑运算方法 | |
CN102136151A (zh) | 一种光栅图像的矢量化方法 | |
CN102831187A (zh) | 基于内容的图像检索系统 | |
CN105447064B (zh) | 一种电子地图数据制作及其使用方法和装置 | |
CN103871089A (zh) | 一种基于融合的图像超像素网格化方法 | |
CN112632303A (zh) | 一种影像数据的分布式存储方法、分析方法及装置 | |
CN103400389B (zh) | 一种高分辨率遥感图像分割方法 | |
CN105138607A (zh) | 一种基于混合粒度分布式内存网格索引的knn查询方法 | |
CN104573339A (zh) | 页岩气储层的地质参数确定方法和装置 | |
CN109801304B (zh) | 一种抑制裸地的建筑指数构建及建筑区域快速提取方法 | |
Li et al. | Automatic pavement crack detection based on single stage salient-instance segmentation and concatenated feature pyramid network |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120502 Termination date: 20140729 |
|
EXPY | Termination of patent right or utility model |