專利名稱:基于圖形處理單元的相位編組直線提取方法
技術(shù)領(lǐng)域:
本發(fā)明涉及圖像處理與分析技術(shù)領(lǐng)域,特別涉及一種直線提取方法,具體是一種基于圖形處理單元(graphics processing units,簡(jiǎn)稱GPU)硬件加速的相位編組直線提取方法。
背景技術(shù):
直線提取是圖像處理領(lǐng)域的重要技術(shù),是計(jì)算機(jī)視覺技術(shù)的基礎(chǔ)。隨著衛(wèi)星圖像的廣泛使用,快速圖像處理的需求日趨強(qiáng)烈。在此類處理中,特征提取占有重要地位,而直線提取又是用得最多的特征之一。提取的直線描述了圖像的主要結(jié)構(gòu)信息,在許多應(yīng)用如圖像配準(zhǔn)、圖像矢量化和自動(dòng)目標(biāo)識(shí)別中都得到了廣泛應(yīng)用。
直線提取至今已經(jīng)提出了 Hough變換法,層次編組,相位編組等多種直線提取算法。這些算法都是在普通CPU上串行實(shí)現(xiàn)的。由于其處理主要是在像素級(jí)上,數(shù)據(jù)量大,因此算法耗時(shí)長,實(shí)時(shí)處理困難。為了減少運(yùn)算時(shí)間,有些研究者提出了簡(jiǎn)化算法,但是穩(wěn)健性也有所減弱。另外還有研究者運(yùn)用專用并行硬件,如DSP和FPGA來設(shè)計(jì)實(shí)時(shí)直線提取算法。例如,Wang等提出了用FPGA+DSP實(shí)現(xiàn)寬帶圖像信號(hào)的實(shí)時(shí)直線提取。但是這類算法依賴具體硬件的設(shè)計(jì),移植性不強(qiáng)。
最近,GPU的可編程能力和計(jì)算能力發(fā)展迅猛。它們不僅可以快速完成圖形編程工作,而且可以加速很多非圖形學(xué)方面的應(yīng)用,如圖像處理和計(jì)算機(jī)視覺算法。Simon Harding和Wolfgang Banzhaf運(yùn)用GPU來加速圖像濾波。Anis Rahman等運(yùn)用GPU來實(shí)現(xiàn)視覺顯著性模型的動(dòng)態(tài)路徑。Fimg等建立了一個(gè)Hough變換直線提取GPU加速算法。但是基于Hough變換的算法是以邊緣檢測(cè)為基礎(chǔ),會(huì)漏檢弱對(duì)比度的灰度變化點(diǎn)。而且算法僅利用了邊緣幅度信息,丟失了邊緣的相位信息。實(shí)際上相位信息攜帶了大量構(gòu)成直線的相關(guān)性像素點(diǎn)空間信息。目前,依賴相位信息的基于GPU的直線快速算法尚未見報(bào)道。發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問題是針對(duì)現(xiàn)有圖像中直線提取算法耗時(shí)長,實(shí)時(shí)處理困難等不足,利用GPU具有高速的實(shí)數(shù)運(yùn)算特性和流式并行架構(gòu),提供一種基于GPU硬件加速的相位編組直線提取方法。
本發(fā)明技術(shù)方案的基本思路是本發(fā)明基于GPU高速實(shí)數(shù)運(yùn)算特性和流式并行架構(gòu),在GPU上實(shí)現(xiàn)圖像直線特征提取。其基本原理是,對(duì)原始圖像進(jìn)行邊緣提取后,建立圖像編碼圖,從中選取種子,然后從各種子出發(fā),尋找得到直線段。
本發(fā)明的技術(shù)方案是一種基于圖形處理單元的相位編組直線提取方法,其特征在于,包括下述步驟
第一步,計(jì)算并存儲(chǔ)原始圖像的梯度方向?qū)⒃紙D像存儲(chǔ)于GPU的幀緩存中,運(yùn)用GPU的像素著色器對(duì)原始圖像中的各個(gè)像素點(diǎn)并行地執(zhí)行可分離Sobel算子,得到原始圖像的梯度方向圖,存儲(chǔ)于GPU的紋理存儲(chǔ)器中。
為表述方便,設(shè)在原始圖像中第k個(gè)像素點(diǎn)的梯度方向值為fk。
第二步,計(jì)算并存儲(chǔ)圖像編碼運(yùn)用GPU的像素著色器對(duì)梯度方向圖中的各梯度方向值并行地執(zhí)行下述步驟,得到圖像編碼圖,存儲(chǔ)于GPU的紋理存儲(chǔ)器中
設(shè)原始圖像中第k個(gè)像素點(diǎn)的八鄰域像素點(diǎn)集合為{ki;i =0,1,L,7},第k個(gè)像素點(diǎn)對(duì)應(yīng)的一個(gè)九元序列為G = Io = OAL ,8} ,C; (/ = 0,1,L ,7)的取值方式如下
如果=fki,則C: = 1 ;否則,G = O (/ = 0,1,L , 7) O
上式中為像素點(diǎn)Iii的梯度方向值,Ici為原始圖像中第Ici個(gè)像素點(diǎn),并且是第k 個(gè)像素點(diǎn)的八鄰域像素點(diǎn)。
C〗的取值方式如下
如果^,/ = 0,4,7j滿足下列公式,則稱原始圖像的第k個(gè)像素點(diǎn)為種子,Cf =1, 否則,c〗 = 0:
權(quán)利要求
1. 一種基于圖形處理單元的相位編組直線提取方法,其特征在于,包括下述步驟 第一步,計(jì)算并存儲(chǔ)原始圖像的梯度方向圖;將原始圖像存儲(chǔ)于GPU(graphics processing units,圖形處理單元)的幀緩存中,運(yùn)用GPU的像素著色器對(duì)原始圖像中的各個(gè)像素點(diǎn)并行地執(zhí)行可分離Sobel算子,得到原始圖像的梯度方向圖,存儲(chǔ)于GPU的紋理存儲(chǔ)器中;設(shè)在原始圖像中第k個(gè)像素點(diǎn)的梯度方向值為fk ; 第二步,計(jì)算并存儲(chǔ)圖像編碼圖;運(yùn)用GPU的像素著色器對(duì)梯度方向圖中的各梯度方向值并行地執(zhí)行下述步驟,得到圖像編碼圖,存儲(chǔ)于GPU的紋理存儲(chǔ)器中設(shè)原始圖像中第k個(gè)像素點(diǎn)的八鄰域像素點(diǎn)集合為{ki;i =0,1,L,7},第k個(gè)像素點(diǎn)對(duì)應(yīng)的一個(gè)九元序列為G = = ,8} ,Q, / = 0,1,L ,7的取值方式如下 如果·Λ = Λ,,則C丨=1 ;否則,C丨=0 ; 上式中·Λ,為像素點(diǎn)ki的梯度方向值; G的取值方式如下如果{Q,,+ = Oal,7}滿足B4,貝IJ稱原始圖像的第k個(gè)像素點(diǎn)為種子,0 =1 ;否則,C=0:將第k個(gè)像素點(diǎn)對(duì)應(yīng)的九元序列Ck,作為圖像編碼圖的第k個(gè)元素; 第三步,得到種子坐標(biāo)隊(duì)列;運(yùn)用GPU的幾何體著色器掃描圖像編碼圖,依次對(duì)圖像編碼圖中的各個(gè)元素執(zhí)行下述步驟,得到種子坐標(biāo)隊(duì)列設(shè)圖像編碼圖中的第k個(gè)元素為Ck,如果C〗=1,則將該元素的位置坐標(biāo)輸出到GPU的幀緩存中;這樣得到的坐標(biāo)集合為種子坐標(biāo)隊(duì)列; 第四步,得到直線段支撐區(qū)域列表;運(yùn)用GPU的幾何體著色器并行地對(duì)種子坐標(biāo)隊(duì)列中的所有種子坐標(biāo)進(jìn)行如下操作,得到直線段支撐區(qū)域列表,存儲(chǔ)于GPU的幀緩存中以任意一個(gè)種子坐標(biāo)作為其所屬直線段支撐區(qū)域的起始點(diǎn)坐標(biāo),在圖像編碼圖中搜索屬于該直線段支撐區(qū)域的所有元素,這些元素的位置坐標(biāo)形成一個(gè)直線段支撐區(qū)域;所有直線段支撐區(qū)域形成直線段支撐區(qū)域列表;如果種子坐標(biāo)對(duì)應(yīng)圖像編碼圖中的第k個(gè)元素,求以該元素位置坐標(biāo)Uk,yk)為起點(diǎn)的直線段支撐區(qū)域Ik的步驟如下 步驟(一)令j = k ;步驟(二)如果圖像編碼圖中第j個(gè)元素的 8=1,且在原始圖像中第j個(gè)像素點(diǎn)位置坐標(biāo)Up Yj)滿足下式Y(jié)j < yk 或者(yj = yk Xj < xk)則從直線段支撐區(qū)域列表中刪除lk,終止搜索;否則,執(zhí)行步驟(三);步驟(三)如果存在i = 0,1,1^,7,使得<=1,則將圖像編碼圖中第j個(gè)元素的鄰域點(diǎn)ji作為Ik上的點(diǎn),其位置坐標(biāo)存儲(chǔ)到Ik中Λ j =么,重新執(zhí)行步驟(二); 第五步,擬合直線;運(yùn)用GPU的像素著色器并行地對(duì)直線段支撐區(qū)域列表的每個(gè)直線段支撐區(qū)域進(jìn)行直線擬合,得到原始圖像的直線提取結(jié)果。
全文摘要
本發(fā)明提供一種基于GPU硬件加速的相位編組直線提取方法。基本原理是,對(duì)原始圖像進(jìn)行邊緣提取后,建立圖像編碼圖,從中選取種子,然后從各種子出發(fā),尋找得到直線段。技術(shù)方案包括第一步,計(jì)算并存儲(chǔ)原始圖像的梯度方向圖;第二步,計(jì)算并存儲(chǔ)圖像編碼圖;第三步,得到種子坐標(biāo)隊(duì)列;第四步,得到直線段支撐區(qū)域列表;第五步,擬合直線。本發(fā)明運(yùn)用GPU的像素著色器和幾何體著色器的并行計(jì)算能力,實(shí)現(xiàn)基于像素點(diǎn)的并行運(yùn)算,縮短計(jì)算時(shí)間,彌補(bǔ)了直線提取算法效率低的問題。
文檔編號(hào)G06T9/00GK102496136SQ20111040673
公開日2012年6月13日 申請(qǐng)日期2011年12月8日 優(yōu)先權(quán)日2011年12月8日
發(fā)明者余莉, 唐波, 湯曉安, 韓方劍 申請(qǐng)人:中國人民解放軍國防科學(xué)技術(shù)大學(xué)