本項目簡單來說,就是實時生成視頻全景圖,該架構經(jīng)過優(yōu)化,可以實時視頻輸出。
下圖說明了描述算法每個步驟的系統(tǒng)框圖
該系統(tǒng)大致可以分為三個子系統(tǒng):
預處理
基于 SIFT 的特征提取
框架拼接融合
預處理
系統(tǒng)的輸入視頻流為 8 位 RGB 格式。輸入的 8 位圖像如下圖所示。
視頻流的每個單獨幀將具有對應于紅色、綠色和藍色的三個通道。視頻幀中的顏色信息不會增強特征檢測。此外,與單通道 8 位圖像相比,3 通道 8 位圖像的計算需要更多時間。因此,RGB 視頻幀被轉換為 8 位灰度圖像。生成的灰度圖像噪聲更小,陰影細節(jié)更多,計算效率更高,如下圖所示。
基于SIFT的特征提取
使用SIFT算法從灰度圖像中提取特征。SIFT算法可以分為兩個主要步驟:
關鍵點檢測
SIFT 操作從輸入圖像與不同高斯濾波器的離散卷積開始。高斯濾波器是一種廣泛使用的圖像平滑算法,定義為:
上式中,G為(x,y)點的高斯核,σ為高斯參數(shù)。使用較大的 σ 值會對圖像產(chǎn)生更大的平滑效果。圖像與高斯核的離散卷積生成具有較少噪聲和較少細節(jié)的圖像。在 SIFT 中,高斯核的離散卷積是用四個不同的 σ 值完成的。逐漸增大的 σ 值用于生成一組模糊圖像或八度音階(意思頻率減半,低頻部分對應灰度圖中變化平緩的部分,高頻部分對應灰度圖中變化劇烈的部分)。
對于給定的 σ 值,卷積核中所有系數(shù)的總和應該等于 1。因此,核的大小隨著 σ 值的增加而增加。
一旦生成了八度音階,就會根據(jù)八度音階中的四個圖像構建一個 DoG 空間。DoG 代表高斯差分。DoG 是高斯拉普拉斯算子 (LoG) 的計算效率非常高的近似值。DoG 空間是通過逐像素計算兩個相鄰高斯尺度圖像之間的差異來構建的。八度音階中四個圖像的DoG空間將具有三個級別。
通過查找局部最大值或最小值,從 DoG 空間中提取關鍵點。如果一個像素是由頂層 9 個像素、中間層 8 個像素和底層 9 個像素組成的 26 像素鄰域內(nèi)的局部最大值或最小值,則該像素被認為是關鍵點。
關鍵點
描述符生成
關鍵點描述符是特定關鍵點的唯一標識符。SIFT 使用關鍵點的梯度幅度和方向作為描述符的基礎。一個點的梯度大小和方向可以通過圖像與 Sobel 濾波器的離散卷積來計算。
Sobel卷積輸出
為了生成關鍵點描述符,計算每個關鍵點周圍 16x16 窗口內(nèi)每個點的梯度幅度和方向。16x16 窗口的梯度幅度與高斯核卷積。將每個 4x4 單元格中的梯度幅度組合起來,使 16x16 窗口減少到 4x4 窗口和 16 個梯度方向。最后,這 16 個梯度方向被轉移到 8 個 bin 中。因此,構建了一個 128 個元素的向量,作為關鍵點描述符。
框架拼接融合
框架拼接是將兩個幀組合成單個圖像的過程。框架拼接分兩步完成:
關鍵點匹配
比較來自兩個相機傳感器的視頻幀中關鍵點的關鍵點描述符。如果兩個關鍵點(每個相機傳感器一個)的關鍵點描述符之間的差異低于誤差閾值,則將它們視為關鍵點對。將它們的關鍵點描述符之間差異最小的關鍵點對作為參考關鍵點。
圖像融合
加權平均方法用于將兩個幀混合成單個圖像。重疊區(qū)域的像素值等于兩幀像素的加權平均值。根據(jù)重疊像素和相應幀的邊界之間的距離選擇權重。
拼接圖像
FPGA程序頂層設計
頂層架構的框圖如下圖所示。
頂層設計分為五個階段:
預處理階段
為了模擬相機傳感器的工作,使用了 image.v 和 image2.v,它們分別輸入對應于左和右相機傳感器的圖像。RWM_1.v 是一個讀寫存儲器,用于存儲 8 位 RGB 圖像。WRITE 模式時,RGB 圖像像素數(shù)據(jù)寫入內(nèi)存。存儲完所有像素值后,將存儲器置于 READ 模式。在 READ 模式下,每個像素值從內(nèi)存中順序讀取.
過濾階段
關鍵點階段
關鍵點匹配階段
幀混合階段
項目地址
https://github.com/AugustinJose1221/FPGA-Build
https://github.com/AugustinJose1221/Video-Stitching
審核編輯 :李倩
-
FPGA
+關注
關注
1645文章
22046瀏覽量
618285 -
視頻圖像
+關注
關注
0文章
47瀏覽量
17682 -
算法
+關注
關注
23文章
4709瀏覽量
95357
原文標題:[開源項目]基于FPGA的視頻圖像拼接融合
文章出處:【微信號:Open_FPGA,微信公眾號:OpenFPGA】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
【米爾MYD-C7Z020開發(fā)板試用申請】基于zynq的監(jiān)控視頻圖像拼接算法
怎么實現(xiàn)基于FPGA的LCD大屏幕拼接系統(tǒng)的設計?
介紹幾種基于ARM處理器的純硬件視頻融合拼接系統(tǒng)技術方案
基于FPGA的視頻圖像縮放與疊加融合技術的設計方案及實現(xiàn)

FPGA視頻教程之FPGA在視頻圖像處理領域的應用視頻資料說明

視頻拼接技術的標準
FPGA驅(qū)動下的視頻圖像拼接融合技術革新

評論