本發(fā)明涉及圖像數(shù)據(jù)處理,具體涉及一種基于gpu的圖像線條提取方法。
背景技術(shù):
1、在相機采集到的光條圖像中,由于光源或物體本身的特點,在沿著光條的法線方向上,光條截面的光強近似服從高斯分布,因此可以計算出每個光條截面的極值點位置并按規(guī)則進行連接,從而提取出數(shù)字圖像中的光條。
2、線條的提取需要先計算二維高斯函數(shù)的一階偏導(dǎo)數(shù)、二階偏導(dǎo)數(shù)與圖像的卷積,進而計算線條法線方向和極值點。對于線條數(shù)目較少的圖像,這些卷積、線條法線方向和極值點的計算占據(jù)了線條提取方法耗時的絕大部分時間。對于中等大小的圖片,在x64處理器上采用avx指令集加速便可獲得較好的加速比,但對大尺寸圖像來說加速能力則很有限。因此,針對大尺寸圖像來說如何加速其線條提取速度是一個有待解決的技術(shù)問題。
技術(shù)實現(xiàn)思路
1、本發(fā)明所要解決的技術(shù)問題是提供一種大尺寸圖像上提取線條速度較快的方法,以提高圖像線條提取速度。
2、本發(fā)明所采用的技術(shù)方案是:一種基于gpu的圖像線條提取方法,其具體技術(shù)方案如下:
3、一種基于gpu的圖像線條提取方法,包括以下步驟:
4、步驟s1:計算二維高斯函數(shù)的一階偏導(dǎo)數(shù)、二階偏導(dǎo)數(shù)與圖像的卷積;
5、步驟s2:根據(jù)二維離散圖像的hessian矩陣計算線條法線方向,沿法線方向?qū)叶确植己瘮?shù)進行泰勒展開,得到線條中心點亞像素位置;
6、步驟s3:根據(jù)相鄰輪廓點之間的距離、法線方向信息,按照連接規(guī)則連接輪廓點,提取得到圖像中的線條。
7、進一步的,所述步驟s1具體包括:
8、步驟s1.1:根據(jù)輸入的高斯平滑參數(shù)sigma的大小,計算卷積核尺寸;
9、步驟s1.2:計算二維高斯函數(shù)的一階偏導(dǎo)數(shù)和二階偏導(dǎo)數(shù),生成卷積核并分別與二維圖像做卷積生成卷積結(jié)果和。
10、進一步的,所述步驟s2具體包括:
11、步驟s2.1:計算二維離散圖像hessian矩陣的最大絕對特征值和其對應(yīng)的特征向量,并根據(jù)最大絕對特征值是否高于低閾值、提取的線條的亮暗信息,初步篩選線條中心點;
12、步驟s2.2:對當前像素沿法線方向的圖像灰度值分布函數(shù)進行二階泰勒展開,計算光條在剖面的中心點位置t,即為極值點的亞像素位置,將亞像素點位置仍在當前像素范圍內(nèi)的點作為最終待連接的線條中心點,把該點的亞像素位置坐標、法線方向、高于高閾值的最大絕對特征值存儲在與原圖等大的圖片中。
13、進一步的,所述步驟s3具體包括:
14、步驟s3.1:遍歷步驟s2.2中的特征值圖像的每個像素,把非零的特征值按照從大到小的順序排序,按照這個順序從第一個尚未被連接到線條上的高于高閾值的點開始,作為本條線的起始連接點;
15、步驟s3.2:將法線角度劃分為8個方向,根據(jù)當前起始連接點的法線角度,按照對應(yīng)方向搜索其臨近的線條中心點,同時以當前點為中心按照法線方向把線條中心點分為右側(cè)和左側(cè)兩部分,每側(cè)線條中心點的數(shù)量最多有3個;
16、步驟s3.3:根據(jù)相鄰輪廓點之間的距離、法線方向信息,按照步驟s3.2中計算每個點的臨近線條中心點的方法不斷連接延長線條,直至末端無線條中心點可連或連接至其他線條的端點、中間點,完成當前線條的提??;
17、步驟s3.4:按照步驟s3.1中特征值的順序,從下一個尚未被連接到線條上的點開始作為起始連接點,執(zhí)行步驟s3.2與s3.3,完成下一條線條的提?。恢貜?fù)執(zhí)行步驟s3.1、s3.2和s3.3,直至所有起始連接點都被遍歷完;
18、步驟s3.5:去除少于2個點的線條,得到最終篩選后的結(jié)果。
19、進一步的,hessian矩陣可表示為如下形式:
20、,
21、其中,為步驟s1中二維高斯函數(shù)的二階偏導(dǎo)數(shù)與圖像卷積的結(jié)果。
22、進一步的,hessian矩陣的兩個特征值可表示為:
23、,
24、對應(yīng)的特征向量可表示為:
25、。
26、進一步的,當前像素沿法線方向的圖像灰度值分布函數(shù)的二階泰勒展開可表示為如下形式:
27、,
28、其中代表了二維高斯函數(shù)的一階偏導(dǎo)數(shù)與圖像卷積的結(jié)果,代表當前像素的灰度值,為步驟s1中二維高斯函數(shù)的二階偏導(dǎo)數(shù)與圖像卷積的結(jié)果,為特征向量的x、y分量,t為光條在剖面的中心點位置。
29、進一步的,光條在剖面的中心點位置t表示為:
30、,
31、其中為特征向量的x、y分量,t為光條在剖面的中心點位置,代表了二維高斯函數(shù)的一階偏導(dǎo)數(shù)與圖像卷積的結(jié)果,為步驟s1中二維高斯函數(shù)的二階偏導(dǎo)數(shù)與圖像卷積的結(jié)果。
32、本發(fā)明中將二維的濾波器拆分為了行濾波和列濾波器,且部分行濾波器被拆分為了相同的形式,有效減少了計算量;圖像濾波、亞像素中心點的提取均在gpu上完成,有效加快了圖像中線條的提取速度,尤其是對較大尺寸的圖像,可以取得明顯的加速效果。對于截面的光強近似服從高斯分布的線條,本發(fā)明均可高效準確地提取出來,在實際應(yīng)用中具有較高的使用價值。
1.一種基于gpu的圖像線條提取方法,其特征在于,包括以下步驟:
2.根據(jù)權(quán)利要求1所述的基于gpu的圖像線條提取方法,其特征在于,所述步驟s1具體包括:
3.根據(jù)權(quán)利要求1所述的基于gpu的圖像線條提取方法,其特征在于,所述步驟s2具體包括:
4.根據(jù)權(quán)利要求3所述的基于gpu的圖像線條提取方法,其特征在于,所述步驟s3具體包括:
5.根據(jù)權(quán)利要求3所述的基于gpu的圖像線條提取方法,其特征在于,hessian矩陣可表示為如下形式:
6.根據(jù)權(quán)利要求3所述的基于gpu的圖像線條提取方法,其特征在于,hessian矩陣的兩個特征值可表示為:
7.根據(jù)權(quán)利要求3所述的基于gpu的圖像線條提取方法,其特征在于,當前像素沿法線方向的圖像灰度值分布函數(shù)的二階泰勒展開可表示為如下形式:
8.根據(jù)權(quán)利要求3所述的基于gpu的圖像線條提取方法,其特征在于,光條在剖面的中心點位置t表示為: