CN104503731A - 二值图像连通域标记快速识别方法 - Google Patents
二值图像连通域标记快速识别方法 Download PDFInfo
- Publication number
- CN104503731A CN104503731A CN201410768038.3A CN201410768038A CN104503731A CN 104503731 A CN104503731 A CN 104503731A CN 201410768038 A CN201410768038 A CN 201410768038A CN 104503731 A CN104503731 A CN 104503731A
- Authority
- CN
- China
- Prior art keywords
- gpu
- result
- server
- scanning result
- pagesize
- 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.)
- Pending
Links
Landscapes
- Image Analysis (AREA)
Abstract
本发明公开了一种二值图像连通域标记快速识别方法,包括以下步骤: CPU和GPU的初始化:扫描图像:将扫描结果保存在服务器环境的磁盘中;对扫描过的结果合并处理;判断是否迭代扫描,保存结果处理,结束。实现提高效率,并适合于并行化以及对大图像实时处理的优点。
Description
技术领域
本发明涉及图像处理领域,具体地,涉及一种二值图像连通域标记快速识别方法。
背景技术
目前,二值图像(binary image)是指每个像素不是黑就是白,其灰度值没有中间过渡的图像。其优点是占用空间少。缺点是当表示人物、风景的图像时,二值图像只能描述其轮廓,不能描述细节。现有的连通域标记方法有:连通逐点扫描法,该方法需要处理大量重复标记,逻辑复杂,效率较低。
种子填充法,该方法效率较高,但不适合并行化。
以上两大类方法都是串行设计,不具备对大图像实时处理的条件。
统一计算设备架构(Compute Unified Device Architecture,CUDA),能够解决复杂的计算问题。例如,CUDA 能够加快AMBER这款分子动力学模拟程序的速度,可以实现18倍速度提升,因此,在机电领域CUDA是一个巨大的市场。现有方法存在效率低、不适合并行化以及不具备对大图像实时处理的缺陷。
发明内容
本发明的目的在于,针对上述问题,提出一种二值图像连通域标记快速识别方法,以实现提高效率,适合于并行化以及对大图像实时处理的优点。
为实现上述目的,本发明采用的技术方案是:
一种二值图像连通域标记快速识别方法,包括以下步骤:
S1、CPU和GPU的初始化:
S2、扫描图像:
S2a、建立独立的图像标记缓存和连通关系数组,利用GPU的CUDA架构并行执行扫描,搜索邻域内最小标号值的像素点对连通域进行标记;
S2b、分配N个线程,每个线程扫描对应行目标像素,并对目标做标记,利用CUDA平台内置的blockIdx变量跟踪每个进程的运行,并且每个线程返回该行连通域的个数;
S2c、实现进程block间的同步;
S3、将上述步骤S2扫描结果保存在服务器环境的磁盘中;
S4、对扫描过的结果合并处理;
S5、判断是否迭代扫描,如果迭代扫描结果是否,则重复步骤S1;
S6、如果迭代扫描结果是是则保存结果处理,结束。
优选的,所述步骤S1中CPU和GPU的初始化具体为:利用服务器环境建立虚拟图形工作站集群,所述服务器环境包括服务器计算机或服务器集群以及主控服务器,所述服务器计算机或服务器集群上安装有多块CUDA架构的GPU显卡,该服务器计算机或服务器集群作为计算节点,所述的主控服务器负责对所有任务进行调度控制,并负责管理各个节点的计算和对存储资源进行整合;
优选的,所述虚拟图形工作站集群为过逻辑组合构成动态虚拟机,各块GPU显卡之间通过SLI接口连接。
优选的,所述的CUDA架构平台的块大小为256或512。
优选的,在步骤S3中,设定连续地址空间每次的最大执行记录数PAGESIZE大小为8Kbytes,将扫描结果分割成pixSize/PAGESIZE个页面,pixSize为单个扫描结果的大小;对于不足PAGESIZE大小的文本将填充至PAGESIZE;对于一个扫描结果分割成M个PAGESIZE,第i页的最后maxPatternLength长度的内容和第i+1页的前面maxPatternLength长度的内容是一样的,i = 0,1,2,3…M-1,maxPatternLength为最长样本的长度;保存每一个扫描结果对应的存储空间,而且在以固定的缓冲大小传入GPU之前对文件的标识采用链表和数组的形式,即链表的每一节点用固定大小的数组记录固定数量的扫描结果。
优选的,所述步骤S4.对扫描过的结果合并处理包括以下步骤:
S4a. 利用GPU中的全局内存对扫描结果的合并处理;每16个线程合并读取全局内存中的一页存储页64B到共享内存中进行合并处理;
S4b.匹配完64B再去全局内存取出存放入共享内存,如此循环。
本发明的技术方案具有以下有益效果:
1.适用于对大图像实时处理:
本发明技术方案利用GPU进行二值图像连通域标记识别,通过GPU的并行匹配技术的优势,将图像扫描与GPU有机结合起来,加速连通域识别算法,不仅可以提高系统整体性能,也为工业裂痕扫描、遥感图像的路径提取、生物信息分析、海量信息检索等领域提供了重要方法和工具,比较适用于对大图像实时处理。
2.效率高:
本发明技术方案利用CPU与 GPU可协同处理的特性,分配N个线程,每个线程扫描对应行目标像素,并对目标做标记,利用CUDA平台内置的blockIdx变量跟踪每个进程的运行,避免了现在扫描方法中“4连通”和“8连通”那些繁杂的判断,而且执行的效率不受连通域形状及数量的影响,大大提高了复杂图像扫描效率,其方法简单、便捷。
3.可适合并行化:
因为GPU设备的分支转移控制和数据缓存机制都非常弱,而且GPU与GPU全局内存之间的数据传输速率和CPU与CPU高速缓存之间的数据传输速率相比要慢很多,本发明技术方案相对合理地设计与实现数据存储和并行计算的模式,避免了GPU设备的分支转移控制和数据缓存机制较弱、GPU与GPU全局内存之间的数据传输速率较慢的问题。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
图1为本发明实施例所述的二值图像连通域标记快速识别方法的流程图;
图2为本发明实施例所述图像扫描结果存储形式示意图;
图3为本发明实施例所述图像合并处理中GPU内存执行模型示意图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
实施例一:
如图1所示,一种二值图像连通域标记快速识别方法,包括以下步骤:
S1.CPU和GPU的初始化:
利用服务器环境建立虚拟图形工作站集群,该虚拟图形工作站经过逻辑组合构成动态虚拟机,服务器环境包括服务器集群和主控服务器,即服务器环境包括服务器集群上安装有多块CUDA架构的GPU显卡,各块GPU显卡之间通过SLI接口(Scalable Link Interface、可升级连接接口)连接,CUDA架构平台的块大小为256或512;该服务器集群作为计算节点,主控服务器负责对所有任务进行调度控制,并负责管理集群上各个节点的计算和对存储资源进行整合;
S2.扫描图像:
S2a.建立独立的图像标记缓存和连通关系数组,利用GPU的CUDA架构并行执行扫描,搜索邻域内最小标号值的像素点对连通域进行标记;
S2b.分配N个线程,每个线程扫描对应行目标像素,并对目标做标记,利用CUDA平台内置的blockIdx变量跟踪每个进程的运行,并且每个线程返回该行连通域的个数;
S2c.主控程序实现进程block间的同步;
S3.将扫描结果保存在服务器环境的磁盘中;存储形式如图2所示。
S4.对扫描过的结果合并处理;图像合并处理中GPU内存执行如图3所示。
S5.判断是否迭代扫描,如果结果为是,则进入步骤S6,如果结果为否,则重复步骤S1;
S6.保存结果处理,结束。
在上述步骤S3中,设定连续地址空间每次的最大执行记录数PAGESIZE大小为8Kbytes,将扫描结果分割成pixSize/PAGESIZE个页面,pixSize为单个扫描结果的大小;对于不足PAGESIZE大小的文本将填充至PAGESIZE;对于一个扫描结果分割成M个PAGESIZE,第i页的最后maxPatternLength长度的内容和第i+1页的前面maxPatternLength长度的内容是一样的,i = 0,1,2,3…M-1,maxPatternLength为最长样本的长度;只需要保存每一个扫描结果对应于哪个存储空间,而且在以固定的缓冲大小传入GPU之前对文件的标识都采用链表和数组的形式,即链表的每一节点用固定大小的数组记录固定数量的扫描结果(图像扫描结果存储形式示意图参见图2)。
上述步骤S4.对扫描过的结果合并处理包括以下步骤:
S4a. 利用GPU中的全局内存(Global Memory)对扫描结果的合并处理;每16个线程合并读取Global Memory中的一页存储页64B到共享内存中进行合并处理;
S4b.匹配完64B再去Global Memory取出存放入共享内存,如此循环(图像合并处理中GPU内存执行模型示意图参见图3)。
实施例二:
与实施例一的区别在于,服务器环境包括一台服务器计算机和主控服务器。
S1.CPU和GPU的初始化具体为:
利用服务器环境建立虚拟图形工作站集群,该虚拟图形工作站经过逻辑组合构成动态虚拟机,服务器环境包括一台服务器计算机和主控服务器,即服务器环境包括服务器计算机上安装有多块CUDA架构的GPU显卡,各块GPU显卡之间通过SLI接口连接,CUDA架构平台的块大小为256或512;该服务器计算机作为计算节点,主控服务器负责对所有任务进行调度控制,并负责管理各个节点的计算和对存储资源进行整合;
本发明技术方案用于裂纹识别、遥感图像的路径提取及形状的目标识别等图像识别(目标提取)方法
最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (6)
1.一种二值图像连通域标记快速识别方法,其特征在于,包括以下步骤:
S1、CPU和GPU的初始化:
S2、扫描图像:
S2a、建立独立的图像标记缓存和连通关系数组,利用GPU的CUDA架构并行执行扫描,搜索邻域内最小标号值的像素点对连通域进行标记;
S2b、分配N个线程,每个线程扫描对应行目标像素,并对目标做标记,利用CUDA平台内置的blockIdx变量跟踪每个进程的运行,并且每个线程返回该行连通域的个数;
S2c、实现进程block间的同步;
S3、将上述步骤S2扫描结果保存在服务器环境的磁盘中;
S4、对扫描过的结果合并处理;
S5、判断是否迭代扫描,如果迭代扫描结果是否,则重复步骤S1;
S6、如果迭代扫描结果是是则保存结果处理,结束。
2.根据权利要求1所述的二值图像连通域标记快速识别方法,其特征在于,所述步骤S1中CPU和GPU的初始化具体为:利用服务器环境建立虚拟图形工作站集群,所述服务器环境包括服务器计算机或服务器集群以及主控服务器,所述服务器计算机或服务器集群上安装有多块CUDA架构的GPU显卡,该服务器计算机或服务器集群作为计算节点,所述的主控服务器负责对所有任务进行调度控制,并负责管理各个节点的计算和对存储资源进行整合。
3.根据权利要求2所述的二值图像连通域标记快速识别方法,其特征在于,所述虚拟图形工作站集群为过逻辑组合构成动态虚拟机,各块GPU显卡之间通过SLI接口连接。
4.根据权利要求3所述的二值图像连通域标记快速识别方法,其特征在于,所述的CUDA架构平台的块大小为256或512。
5.根据权利要求1至4任一所述的二值图像连通域标记快速识别方法,其特征在于,在步骤S3中,设定连续地址空间每次的最大执行记录数PAGESIZE大小为8Kbytes,将扫描结果分割成pixSize/PAGESIZE个页面,pixSize为单个扫描结果的大小;对于不足PAGESIZE大小的文本将填充至PAGESIZE;对于一个扫描结果分割成M个PAGESIZE,第i页的最后maxPatternLength长度的内容和第i+1页的前面maxPatternLength长度的内容是一样的,i = 0,1,2,3…M-1,maxPatternLength为最长样本的长度;保存每一个扫描结果对应的存储空间,而且在以固定的缓冲大小传入GPU之前对文件的标识采用链表和数组的形式,即链表的每一节点用固定大小的数组记录固定数量的扫描结果。
6.根据权利要求5所述的二值图像连通域标记快速识别方法,其特征在于,
所述步骤S4.对扫描过的结果合并处理包括以下步骤:
S4a. 利用GPU中的全局内存对扫描结果的合并处理;每16个线程合并读取全局内存中的一页存储页64B到共享内存中进行合并处理;
S4b.匹配完64B再去全局内存取出存放入共享内存,如此循环。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410768038.3A CN104503731A (zh) | 2014-12-15 | 2014-12-15 | 二值图像连通域标记快速识别方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410768038.3A CN104503731A (zh) | 2014-12-15 | 2014-12-15 | 二值图像连通域标记快速识别方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104503731A true CN104503731A (zh) | 2015-04-08 |
Family
ID=52945132
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410768038.3A Pending CN104503731A (zh) | 2014-12-15 | 2014-12-15 | 二值图像连通域标记快速识别方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104503731A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106530285A (zh) * | 2016-10-21 | 2017-03-22 | 国网山东省电力公司电力科学研究院 | 一种基于gpu与cpu混合数据处理的输电线路部件识别方法 |
CN107194304A (zh) * | 2016-03-15 | 2017-09-22 | 中国石油化工股份有限公司 | 三维数字岩心的连通区域识别方法及装置 |
CN107316041A (zh) * | 2017-06-07 | 2017-11-03 | 太仓诚泽网络科技有限公司 | 一种基于背景自学习的高光谱图像生物信息提取方法 |
CN107945190A (zh) * | 2017-12-22 | 2018-04-20 | 成都华栖云科技有限公司 | 二值图像快速连通区域计算方法 |
WO2018119951A1 (zh) * | 2016-12-29 | 2018-07-05 | 深圳前海达闼云端智能科技有限公司 | Gpu虚拟化方法、装置、系统及电子设备、计算机程序产品 |
WO2020198997A1 (zh) * | 2019-03-29 | 2020-10-08 | 深圳市大疆创新科技有限公司 | 连通域处理方法、数据处理设备及计算机可读存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5386561A (en) * | 1992-03-31 | 1995-01-31 | International Business Machines Corporation | Method of integrated system load control through dynamic time-slicing in a virtual storage environment |
CN103049241A (zh) * | 2013-01-24 | 2013-04-17 | 重庆邮电大学 | 一种提高cpu+gpu异构装置计算性能的方法 |
CN103605497A (zh) * | 2013-11-29 | 2014-02-26 | 柳州职业技术学院 | 一种二值图像连通域标记快速识别方法 |
-
2014
- 2014-12-15 CN CN201410768038.3A patent/CN104503731A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5386561A (en) * | 1992-03-31 | 1995-01-31 | International Business Machines Corporation | Method of integrated system load control through dynamic time-slicing in a virtual storage environment |
CN103049241A (zh) * | 2013-01-24 | 2013-04-17 | 重庆邮电大学 | 一种提高cpu+gpu异构装置计算性能的方法 |
CN103605497A (zh) * | 2013-11-29 | 2014-02-26 | 柳州职业技术学院 | 一种二值图像连通域标记快速识别方法 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107194304A (zh) * | 2016-03-15 | 2017-09-22 | 中国石油化工股份有限公司 | 三维数字岩心的连通区域识别方法及装置 |
CN107194304B (zh) * | 2016-03-15 | 2020-09-04 | 中国石油化工股份有限公司 | 三维数字岩心的连通区域识别方法及装置 |
CN106530285A (zh) * | 2016-10-21 | 2017-03-22 | 国网山东省电力公司电力科学研究院 | 一种基于gpu与cpu混合数据处理的输电线路部件识别方法 |
CN106530285B (zh) * | 2016-10-21 | 2019-04-09 | 国网山东省电力公司电力科学研究院 | 一种基于gpu与cpu混合数据处理的输电线路部件识别方法 |
WO2018119951A1 (zh) * | 2016-12-29 | 2018-07-05 | 深圳前海达闼云端智能科技有限公司 | Gpu虚拟化方法、装置、系统及电子设备、计算机程序产品 |
CN107316041A (zh) * | 2017-06-07 | 2017-11-03 | 太仓诚泽网络科技有限公司 | 一种基于背景自学习的高光谱图像生物信息提取方法 |
CN107945190A (zh) * | 2017-12-22 | 2018-04-20 | 成都华栖云科技有限公司 | 二值图像快速连通区域计算方法 |
WO2020198997A1 (zh) * | 2019-03-29 | 2020-10-08 | 深圳市大疆创新科技有限公司 | 连通域处理方法、数据处理设备及计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104503731A (zh) | 二值图像连通域标记快速识别方法 | |
CN103605497A (zh) | 一种二值图像连通域标记快速识别方法 | |
US11430134B2 (en) | Hardware-based optical flow acceleration | |
US10013731B2 (en) | Maximizing parallel processing in graphics processors | |
US20130179377A1 (en) | Decision tree computation in hardware | |
TW201447776A (zh) | 透過圖形處理單元執行物件偵測運算 | |
CN102566981A (zh) | 并行处理机器学习决策树训练 | |
CN108716916B (zh) | 一种基于超级块的分布式并行星点质心提取方法及fpga实现装置 | |
CN102648450A (zh) | 用于并行命令列表生成的硬件 | |
Cao et al. | Traffic sign detection and recognition using multi-scale fusion and prime sample attention | |
Ma et al. | Research on the application of visual SLAM in embedded GPU | |
US20210374490A1 (en) | Method and apparatus of processing image, device and medium | |
Liang et al. | The design of objects bounding boxes non-maximum suppression and visualization module based on FPGA | |
US11397615B2 (en) | Methods and apparatuses for coalescing function calls for ray-tracing | |
Zhao et al. | A memory-efficient hardware architecture for connected component labeling in embedded system | |
CN105205476A (zh) | 一种基于lbp特征的人脸识别硬件架构 | |
Oberhofer et al. | Natural feature tracking in javascript | |
Guo et al. | UDTIRI: An online open-source intelligent road inspection benchmark suite | |
CN106952215B (zh) | 一种图像金字塔特征提取电路、装置及方法 | |
Zhang et al. | Weighted mean shift object tracking implemented on gpu for embedded sustems | |
Rajpura et al. | Dataset augmentation with synthetic images improves semantic segmentation | |
KR20160030871A (ko) | 그래픽 프로세싱 유닛을 사용하여 히스토그램 계산을 위한 시스템 및 방법 | |
Zhang et al. | Efficient large-scale oblique image matching based on cascade hashing and match data scheduling | |
CN111814594A (zh) | 物流违规行为识别方法、装置、设备和存储介质 | |
CN113011223A (zh) | 一种图像识别方法、系统、设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20150408 |