圖像拼接、融合的surf算法流程


圖像處理

--SURF算法

完成圖像卷積、通過海塞矩陣測特征值、完成特征點的64維描述

精度和穩定性不如sift算法,但綜合來看,比較適合處理視頻流

 

1.保證尺度無關性,對像素點進行高斯濾波(高斯平滑處理+二階導數),再構造海塞矩陣,計算特征值

 

 

 2.找出特征點

其中0.9是原著作者給的經驗值,特征點表示由像素點的海塞矩陣行列式近似值構成

3.構造高斯金字塔

區別於sift,每組圖像大小不變,改變濾波器(高斯模糊模板)的尺寸和尺度σ,沒有了降采樣的步驟,所以提升了速度,精確度相對下降,但對於視頻流總體可接受。

4.定位特征點

非極大值抑制。將每個像素點與其三維鄰域的26個點進行大小比較,若這個點是極值,則保留用作初步特征點,采用三維線性插值法(根據8個點的像素值得到一個點的像素值)得到亞像素級的特征點,去掉小於一定閾值的點,留下特征最強的點集

5.確定特征點主方向

為保證旋轉不變性,不統計其梯度直方圖,只統計特征點領域內的Harr小波特征,計算半徑為6σ(經驗值)的圓形區域內,統計60°扇形內特征點的Harr矢量之和,遍歷圓形區域,選擇最長harr矢量方向為主方向。

6.構造特征描述子

在特征點周圍取一個長方形矢量框,邊長20σ ,方向即特征點主方向,分16份,每份統計25個像素的水平、垂直方向(相對於主方向)的haar小波特征(Σdx,Σ|dx|,Σdy,Σ|dy|),即每個特征點是16*4=64維向量。

7.匹配、篩選、拼接

比較最近鄰距離與次近鄰距離的sift匹配方式:

取圖A的一個關鍵點a,找出其與圖B中歐氏距離,最近的前兩個關鍵點b, c之間的距離s1 s2(設s1<s2),則a--b為一對匹配點

 

ratio=s1/s2,若ratio小於某個閾值T(0.4~0.6),則接受這一對匹配點

 

通過單應性矩陣進行拼接

A = MB  其中AB是兩個圖對應點的三位坐標,找出兩對對應點即可求出矩陣M,把圖2所有像素點進行矩陣變換即可。

8.融合

加權平均法。簡單的使用加權的方式從左邊過渡到右邊,匹配點的像素值為A*05+B*0.5

視頻流處理

任務需求:

攝像頭圖像大小為640*512,fps為25

 

  1. 通過對視頻流的幀處理得到圖像,fps在10-20左右可以滿足一般的監控需求,但估算算法的執行效率平均大概在0.7左右甚至更慢。fps想要達到25,需要控制處理幀的數量和使用多線程並行處理。
  2. 臨近幾幀的圖像基本相同,可以隔幾幀調用一次算法。
  3. Fps為25,意味着效率要在0.04,再算上網絡延時,很難達到效果,采用多線程並行執行算法,理論上,(單次調用算法執行時間 / 線程數量 < 0.04) 就能滿足要求,但是多線程會打亂幀順序,考慮用隊列控制

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM