CN102496136A - 基于图形处理单元的相位编组直线提取方法 - Google Patents
基于图形处理单元的相位编组直线提取方法 Download PDFInfo
- Publication number
- CN102496136A CN102496136A CN2011104067312A CN201110406731A CN102496136A CN 102496136 A CN102496136 A CN 102496136A CN 2011104067312 A CN2011104067312 A CN 2011104067312A CN 201110406731 A CN201110406731 A CN 201110406731A CN 102496136 A CN102496136 A CN 102496136A
- Authority
- CN
- China
- Prior art keywords
- straight
- gpu
- pixel
- line segment
- segment supporting
- 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.)
- Granted
Links
Images
Landscapes
- Image Processing (AREA)
Abstract
本发明提供一种基于GPU硬件加速的相位编组直线提取方法。基本原理是,对原始图像进行边缘提取后,建立图像编码图,从中选取种子,然后从各种子出发,寻找得到直线段。技术方案包括:第一步,计算并存储原始图像的梯度方向图;第二步,计算并存储图像编码图;第三步,得到种子坐标队列;第四步,得到直线段支撑区域列表;第五步,拟合直线。本发明运用GPU的像素着色器和几何体着色器的并行计算能力,实现基于像素点的并行运算,缩短计算时间,弥补了直线提取算法效率低的问题。
Description
技术领域
本发明涉及图像处理与分析技术领域,特别涉及一种直线提取方法,具体是一种基于图形处理单元(graphics processing units,简称GPU)硬件加速的相位编组直线提取方法。
背景技术
直线提取是图像处理领域的重要技术,是计算机视觉技术的基础。随着卫星图像的广泛使用,快速图像处理的需求日趋强烈。在此类处理中,特征提取占有重要地位,而直线提取又是用得最多的特征之一。提取的直线描述了图像的主要结构信息,在许多应用如图像配准、图像矢量化和自动目标识别中都得到了广泛应用。
直线提取至今已经提出了Hough变换法,层次编组,相位编组等多种直线提取算法。这些算法都是在普通CPU上串行实现的。由于其处理主要是在像素级上,数据量大,因此算法耗时长,实时处理困难。为了减少运算时间,有些研究者提出了简化算法,但是稳健性也有所减弱。另外还有研究者运用专用并行硬件,如DSP和FPGA来设计实时直线提取算法。例如,Wang等提出了用FPGA+DSP实现宽带图像信号的实时直线提取。但是这类算法依赖具体硬件的设计,移植性不强。
最近,GPU的可编程能力和计算能力发展迅猛。它们不仅可以快速完成图形编程工作,而且可以加速很多非图形学方面的应用,如图像处理和计算机视觉算法。Simon Harding和Wolfgang Banzhaf运用GPU来加速图像滤波。AnisRahman等运用GPU来实现视觉显著性模型的动态路径。Fung等建立了一个Hough变换直线提取GPU加速算法。但是基于Hough变换的算法是以边缘检测为基础,会漏检弱对比度的灰度变化点。而且算法仅利用了边缘幅度信息,丢失了边缘的相位信息。实际上相位信息携带了大量构成直线的相关性像素点空间信息。目前,依赖相位信息的基于GPU的直线快速算法尚未见报道。
发明内容
本发明要解决的技术问题是针对现有图像中直线提取算法耗时长,实时处理困难等不足,利用GPU具有高速的实数运算特性和流式并行架构,提供一种基于GPU硬件加速的相位编组直线提取方法。
本发明技术方案的基本思路是:本发明基于GPU高速实数运算特性和流式并行架构,在GPU上实现图像直线特征提取。其基本原理是,对原始图像进行边缘提取后,建立图像编码图,从中选取种子,然后从各种子出发,寻找得到直线段。
本发明的技术方案是:一种基于图形处理单元的相位编组直线提取方法,其特征在于,包括下述步骤:
第一步,计算并存储原始图像的梯度方向图;
将原始图像存储于GPU的帧缓存中,运用GPU的像素着色器对原始图像中的各个像素点并行地执行可分离Sobel算子,得到原始图像的梯度方向图,存储于GPU的纹理存储器中。
为表述方便,设在原始图像中第k个像素点的梯度方向值为fk。
第二步,计算并存储图像编码图;
运用GPU的像素着色器对梯度方向图中的各梯度方向值并行地执行下述步骤,得到图像编码图,存储于GPU的纹理存储器中:
设原始图像中第k个像素点的八邻域像素点集合为{ki,i=0,1,L,7},第k个像素点对应的一个九元序列为 的取值方式如下:
如果 则 否则,
的取值方式如下:
将第k个像素点对应的九元序列Ck,作为图像编码图的第k个元素。
第三步,得到种子坐标队列;
运用GPU的几何体着色器扫描图像编码图,依次对图像编码图中的各个元素执行下述步骤,得到种子坐标队列:
设图像编码图中的第k个元素为Ck,如果则将该元素的位置坐标输出到GPU的帧缓存中。这样得到的坐标集合为种子坐标队列。
第四步,得到直线段支撑区域列表;
运用GPU的几何体着色器并行地对种子坐标队列中的所有种子坐标进行如下操作,得到直线段支撑区域列表,存储于GPU的帧缓存中:
以任意一个种子坐标作为其所属直线段支撑区域的起始点坐标,在图像编码图中搜索属于该直线段支撑区域的所有元素,这些元素的位置坐标形成一个直线段支撑区域。所有直线段支撑区域形成直线段支撑区域列表。
如果种子坐标对应图像编码图中的第k个元素,求以该元素位置坐标(xk,yk)为起点的直线段支撑区域lk的步骤如下:
步骤(一):令j=k;
yj<yk或者(yj=yk且xj<xk)
则从直线段支撑区域列表中删除lk,终止搜索。
否则,执行步骤(三);
将图像编码图中第j个元素的邻域点ji作为lk上的点,其位置坐标存储到lk中;令j=ji,重新执行步骤(二)。
第五步,拟合直线;
运用GPU的像素着色器并行地对直线段支撑区域列表的每个直线段支撑区域进行直线拟合,得到原始图像的直线提取结果。
本发明的效益效果是:
(1)运用GPU的像素着色器和几何体着色器的并行计算能力,实现基于像素点的并行运算,缩短计算时间,弥补了直线提取算法效率低的问题。
(2)通过提出的种子增长策略,将基于相位编组的直线提取方法改进为可并行的方法。
(3)在提取直线的过程中应用原始图像的梯度方向图信息,即充分利用边缘的相位信息,从而会降低漏检的概率。
附图说明
图1是本发明的总体流程图;
图2是图像编码图的示例说明。
图3为各种方法对一幅图像进行直线提取的结果图。
具体实施方式
图1是本发明的总体流程图。整个流程分为五个大的步骤。
第一步,计算并存储原始图像的梯度方向图;
将原始图像存储于GPU的帧缓存中,运用GPU的像素着色器对原始图像中的各个像素点并行地执行可分离Sobel算子,得到原始图像的梯度方向图,存储于纹理存储器的一个纹理中。
第二步,计算并存储图像编码图;
运用GPU的像素着色器对梯度方向图中的各梯度方向值并行地计算,得到图像编码图,存储于纹理存储器的一个纹理中,此处的纹理与梯度方向图所在的纹理不同。
图2是图像编码图的示例说明。
图2为一个9行9列共81个方块组成的图像,每个方块代表图像的一个像素点,方块中的箭头代表该像素点的梯度方向。用斜纹填充的方块表示属于一个直线段支撑区域l1的像素点,用灰色填充的方块表示属于另一个直线段支撑区域l2的像素点。坐标为(3,5)的像素点在图中标为a,坐标为(6,2)的像素点在图中标为b,坐标为(3,6)的像素点在图中标为c,坐标为(5,8)的像素点在图中标为d。应用提出的生成图像编码图方法,从每个像素点的右上邻域点开始按顺时针方向形成八邻域像素点集合,则标号为a,b,c,d的四个像素点对应于图像编码图中的四个元素分别为:
Ca={1,1,0,0,0,0,0,0,1}
Cb={1,1,1,1,0,0,0,0,1}
Cc={0,1,1,1,0,0,0,0,1}
Cd={0,1,1,1,1,1,1,1,0}
第三步,得到种子坐标队列;
运用GPU的几何体着色器扫描图像编码图,通过一趟扫描得到种子坐标队列,存储于GPU的帧缓存中。
第四步,得到直线段支撑区域列表;
运用GPU的几何体着色器并行地从种子坐标队列中的所有种子坐标出发,搜索图像编码图,得到直线段支撑区域列表,存储于GPU的帧缓存中。
图2说明了删除直线段支撑区域列表中重复直线段支撑区域的原理。
在图2中,从标号为a,b的种子分别生长成的直线段支撑区域是同一个直线段支撑区域l1,即直线段支撑区域列表中分别以a,b种子为起始点的直线段支撑区域所包含的位置坐标是一样的,而a号种子的纵坐标大于b号种子,因此删除直线段支撑区域列表中以a号种子为起始点的直线段支撑区域。
第五步,拟合直线参数;
运用GPU的像素着色器并行地对直线段支撑区域列表的每个直线段支撑区域进行可分离的加权最小二乘方法拟合直线参数,得到原始图像的直线提取结果。GPU的像素着色器输入是上一步得到的直线段支撑区域列表,输出是每个直线段支撑区域对应的直线段参数。
采用本发明方法对图像进行直线提取后的实验结果如图3所示。实验环境为:英特尔酷睿i5 760,Nvidia的GeForce 465。图3(a)为一幅512×512的原始图像,图3(b)为用本文方法提取出来的长度大于15的直线段提取结果,长度小于15的直线段没有显示。图3(c)为用Burns等提出的相位编组CPU算法得到的结果,图3(d)为用Fung等提出的Hough变换GPU直线提取方法得到的结果。可以看出,本文的提取效果与Burns等的方法相似,而Hough变换方法则漏检了对比度较低的直线段。
我们比较了本发明与Burns等提出的基于相位编组CPU算法运行时间。表1显示了不同大小的图像用两种方法实现的时间开销。表的第一列表示图像尺寸,第二列表示用Burns提出的CPU算法所耗时间,第三列表示本文的GPU算法所耗时间。由表1可以看出,GPU算法相对于CPU算法的绝对提速幅度随着图像尺寸的增大而提高,相对加速程度也随着图像尺寸的增大而提高。
表1.时间代价的比较
图像尺寸 | CPU时间(毫秒) | GPU时间(毫秒) |
512×512 | 78 | 16 |
1024×1024 | 370 | 63 |
10069×7105 | 101203 | 9921 |
Claims (1)
1.一种基于图形处理单元的相位编组直线提取方法,其特征在于,包括下述步骤:
第一步,计算并存储原始图像的梯度方向图;
将原始图像存储于GPU(graphics processing units,图形处理单元)的帧缓存中,运用GPU的像素着色器对原始图像中的各个像素点并行地执行可分离Sobel算子,得到原始图像的梯度方向图,存储于GPU的纹理存储器中;
设在原始图像中第k个像素点的梯度方向值为fk;
第二步,计算并存储图像编码图;
运用GPU的像素着色器对梯度方向图中的各梯度方向值并行地执行下述步骤,得到图像编码图,存储于GPU的纹理存储器中:
设原始图像中第k个像素点的八邻域像素点集合为{ki,i=0,1,L,7},第k个像素点对应的一个九元序列为 的取值方式如下:
如果 则 否则,
将第k个像素点对应的九元序列Ck,作为图像编码图的第k个元素;
第三步,得到种子坐标队列;
运用GPU的几何体着色器扫描图像编码图,依次对图像编码图中的各个元素执行下述步骤,得到种子坐标队列:
第四步,得到直线段支撑区域列表;
运用GPU的几何体着色器并行地对种子坐标队列中的所有种子坐标进行如下操作,得到直线段支撑区域列表,存储于GPU的帧缓存中:
以任意一个种子坐标作为其所属直线段支撑区域的起始点坐标,在图像编码图中搜索属于该直线段支撑区域的所有元素,这些元素的位置坐标形成一个直线段支撑区域;所有直线段支撑区域形成直线段支撑区域列表;
如果种子坐标对应图像编码图中的第k个元素,求以该元素位置坐标(xk,yk)为起点的直线段支撑区域lk的步骤如下:
步骤(一):令j=k;
步骤(二):如果图像编码图中第j个元素的且在原始图像中第j个像素点位置坐标(xj,yj)满足下式:
yj<yk或者(yj=yk且xj<xk)
则从直线段支撑区域列表中删除lk,终止搜索;
否则,执行步骤(三);
将图像编码图中第j个元素的邻域点ji作为lk上的点,其位置坐标存储到lk中;令j=ji,重新执行步骤(二);
第五步,拟合直线;
运用GPU的像素着色器并行地对直线段支撑区域列表的每个直线段支撑区域进行直线拟合,得到原始图像的直线提取结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201110406731 CN102496136B (zh) | 2011-12-08 | 2011-12-08 | 基于图形处理单元的相位编组直线提取方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201110406731 CN102496136B (zh) | 2011-12-08 | 2011-12-08 | 基于图形处理单元的相位编组直线提取方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102496136A true CN102496136A (zh) | 2012-06-13 |
CN102496136B CN102496136B (zh) | 2013-04-17 |
Family
ID=46187958
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201110406731 Expired - Fee Related CN102496136B (zh) | 2011-12-08 | 2011-12-08 | 基于图形处理单元的相位编组直线提取方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102496136B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106780577A (zh) * | 2016-12-02 | 2017-05-31 | 辽宁工程技术大学 | 一种基于组特征的直线匹配方法 |
CN109215020A (zh) * | 2018-08-30 | 2019-01-15 | 国网黑龙江省电力有限公司佳木斯供电公司 | 基于计算机视觉的高压输电线路故障识别方法 |
WO2020042866A1 (zh) * | 2018-08-30 | 2020-03-05 | 京东方科技集团股份有限公司 | 线段检测方法、装置、设备和计算机可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008176517A (ja) * | 2007-01-18 | 2008-07-31 | Juki Corp | 物体認識方法および装置 |
CN101303226A (zh) * | 2008-06-25 | 2008-11-12 | 南昌航空大学 | 一种基于最大连通域的线路板线宽测量方法 |
CN101515370A (zh) * | 2009-03-06 | 2009-08-26 | 北京航空航天大学 | 三维显微ct扫描系统中射线源焦点的投影坐标的标定方法 |
CN102236784A (zh) * | 2010-05-07 | 2011-11-09 | 株式会社理光 | 屏幕区域检测方法及系统 |
-
2011
- 2011-12-08 CN CN 201110406731 patent/CN102496136B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008176517A (ja) * | 2007-01-18 | 2008-07-31 | Juki Corp | 物体認識方法および装置 |
CN101303226A (zh) * | 2008-06-25 | 2008-11-12 | 南昌航空大学 | 一种基于最大连通域的线路板线宽测量方法 |
CN101515370A (zh) * | 2009-03-06 | 2009-08-26 | 北京航空航天大学 | 三维显微ct扫描系统中射线源焦点的投影坐标的标定方法 |
CN102236784A (zh) * | 2010-05-07 | 2011-11-09 | 株式会社理光 | 屏幕区域检测方法及系统 |
Non-Patent Citations (3)
Title |
---|
余莉,等.: "基于分水岭变换和遗传算法的自动目标检测", 《中国图象图形学报》 * |
余莉: "基于数学形态学的目标检测", 《中国博士学位论文全文数据库》 * |
雷小奇,等.: "一种基于形状特征进行高分辨率遥感影像道路提取方法", 《测绘学报》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106780577A (zh) * | 2016-12-02 | 2017-05-31 | 辽宁工程技术大学 | 一种基于组特征的直线匹配方法 |
CN109215020A (zh) * | 2018-08-30 | 2019-01-15 | 国网黑龙江省电力有限公司佳木斯供电公司 | 基于计算机视觉的高压输电线路故障识别方法 |
WO2020042866A1 (zh) * | 2018-08-30 | 2020-03-05 | 京东方科技集团股份有限公司 | 线段检测方法、装置、设备和计算机可读存储介质 |
US11276178B2 (en) | 2018-08-30 | 2022-03-15 | Boe Technology Group Co., Ltd. | Line segment detection method, apparatus, device, and computer-readable storage medium |
Also Published As
Publication number | Publication date |
---|---|
CN102496136B (zh) | 2013-04-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101923707B (zh) | 一种基于分水岭算法的高空间分辨率多光谱遥感图像分割方法 | |
CN110070091B (zh) | 用于街景理解的基于动态插值重建的语义分割方法及系统 | |
CN101795350B (zh) | 一种基于相关性检测的非线性图像放大两倍方法 | |
CN104637066B (zh) | 基于序贯细化的二值图像快速骨架提取方法 | |
CN109859178A (zh) | 一种基于fpga的红外遥感图像实时目标检测方法 | |
CN104766280A (zh) | 一种基于堆排序的质量图相位解缠方法 | |
CN115937690B (zh) | 一种槽线生成方法、装置、存储介质及终端 | |
CN102496136B (zh) | 基于图形处理单元的相位编组直线提取方法 | |
CN106909881A (zh) | 基于无人机遥感影像提取玉米育种基地垄数的方法及系统 | |
CN104463091B (zh) | 一种基于图像lgbp特征子向量的人脸图像识别方法 | |
CN104318591A (zh) | 一种带边界平面流场的动态绘制方法 | |
CN113591614B (zh) | 一种基于紧邻空间特征学习的遥感影像道路提取方法 | |
CN105046632A (zh) | 时空高效的二值图像二元逻辑运算方法 | |
CN105574903B (zh) | 一种基于gpu加速的几何纹理合成方法及系统 | |
CN112949635B (zh) | 一种基于特征增强和IoU感知的目标检测方法 | |
Kazimi et al. | Semantic segmentation of manmade landscape structures in digital terrain models | |
CN107590829B (zh) | 一种适用于多视角密集点云数据配准的种子点拾取方法 | |
CN117953387A (zh) | 基于知识一致性约束的跨分辨率土地覆盖分类方法和系统 | |
Luo et al. | Accelerating Harris algorithm with GPU for corner detection | |
CN105741335A (zh) | 一种基于分块组织的多层次兵棋地图快速绘制方法 | |
CN101783028A (zh) | 一种基于显卡并行计算的三维医学图像的快速分割方法 | |
Jinmei et al. | A refined quadtree-based automatic classification method for remote sensing image | |
CN111145298B (zh) | 顾及线宽一致性的矢量地图栅栏虚线符号绘制方法 | |
CN111127589B (zh) | 顾及线宽一致性的矢量地图圆形虚线符号绘制方法 | |
CN103745493B (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 | ||
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: 20130417 Termination date: 20151208 |
|
EXPY | Termination of patent right or utility model |