0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于FPGA的視頻圖像拼接融合

OpenFPGA ? 來源:OpenFPGA ? 作者:OpenFPGA ? 2022-05-25 10:20 ? 次閱讀

基于FPGA視頻圖像拼接融合

本項(xiàng)目簡(jiǎn)單來說,就是實(shí)時(shí)生成視頻全景圖,該架構(gòu)經(jīng)過優(yōu)化,可以實(shí)時(shí)視頻輸出。

算法

下圖說明了描述算法每個(gè)步驟的系統(tǒng)框圖

40a74798-dbc3-11ec-ba43-dac502259ad0.png

該系統(tǒng)大致可以分為三個(gè)子系統(tǒng):

預(yù)處理

基于 SIFT 的特征提取

框架拼接融合

預(yù)處理

系統(tǒng)的輸入視頻流為 8 位 RGB 格式。輸入的 8 位圖像如下圖所示。

視頻流的每個(gè)單獨(dú)幀將具有對(duì)應(yīng)于紅色、綠色和藍(lán)色的三個(gè)通道。視頻幀中的顏色信息不會(huì)增強(qiáng)特征檢測(cè)。此外,與單通道 8 位圖像相比,3 通道 8 位圖像的計(jì)算需要更多時(shí)間。因此,RGB 視頻幀被轉(zhuǎn)換為 8 位灰度圖像。生成的灰度圖像噪聲更小,陰影細(xì)節(jié)更多,計(jì)算效率更高,如下圖所示。

基于SIFT的特征提取

使用SIFT算法從灰度圖像中提取特征。SIFT算法可以分為兩個(gè)主要步驟:

關(guān)鍵點(diǎn)檢測(cè)

SIFT 操作從輸入圖像與不同高斯濾波器的離散卷積開始。高斯濾波器是一種廣泛使用的圖像平滑算法,定義為:

4180cda6-dbc3-11ec-ba43-dac502259ad0.png

上式中,G為(x,y)點(diǎn)的高斯核,σ為高斯參數(shù)。使用較大的 σ 值會(huì)對(duì)圖像產(chǎn)生更大的平滑效果。圖像與高斯核的離散卷積生成具有較少噪聲和較少細(xì)節(jié)的圖像。在 SIFT 中,高斯核的離散卷積是用四個(gè)不同的 σ 值完成的。逐漸增大的 σ 值用于生成一組模糊圖像或八度音階(意思頻率減半,低頻部分對(duì)應(yīng)灰度圖中變化平緩的部分,高頻部分對(duì)應(yīng)灰度圖中變化劇烈的部分)。

41a31b36-dbc3-11ec-ba43-dac502259ad0.png

對(duì)于給定的 σ 值,卷積核中所有系數(shù)的總和應(yīng)該等于 1。因此,核的大小隨著 σ 值的增加而增加。

一旦生成了八度音階,就會(huì)根據(jù)八度音階中的四個(gè)圖像構(gòu)建一個(gè) DoG 空間。DoG 代表高斯差分。DoG 是高斯拉普拉斯算子 (LoG) 的計(jì)算效率非常高的近似值。DoG 空間是通過逐像素計(jì)算兩個(gè)相鄰高斯尺度圖像之間的差異來構(gòu)建的。八度音階中四個(gè)圖像的DoG空間將具有三個(gè)級(jí)別。

41dd72f4-dbc3-11ec-ba43-dac502259ad0.png

通過查找局部最大值或最小值,從 DoG 空間中提取關(guān)鍵點(diǎn)。如果一個(gè)像素是由頂層 9 個(gè)像素、中間層 8 個(gè)像素和底層 9 個(gè)像素組成的 26 像素鄰域內(nèi)的局部最大值或最小值,則該像素被認(rèn)為是關(guān)鍵點(diǎn)。

421ced8a-dbc3-11ec-ba43-dac502259ad0.png

關(guān)鍵點(diǎn)

描述符生成

關(guān)鍵點(diǎn)描述符是特定關(guān)鍵點(diǎn)的唯一標(biāo)識(shí)符。SIFT 使用關(guān)鍵點(diǎn)的梯度幅度和方向作為描述符的基礎(chǔ)。一個(gè)點(diǎn)的梯度大小和方向可以通過圖像與 Sobel 濾波器的離散卷積來計(jì)算。

Sobel卷積輸出

為了生成關(guān)鍵點(diǎn)描述符,計(jì)算每個(gè)關(guān)鍵點(diǎn)周圍 16x16 窗口內(nèi)每個(gè)點(diǎn)的梯度幅度和方向。16x16 窗口的梯度幅度與高斯核卷積。將每個(gè) 4x4 單元格中的梯度幅度組合起來,使 16x16 窗口減少到 4x4 窗口和 16 個(gè)梯度方向。最后,這 16 個(gè)梯度方向被轉(zhuǎn)移到 8 個(gè) bin 中。因此,構(gòu)建了一個(gè) 128 個(gè)元素的向量,作為關(guān)鍵點(diǎn)描述符。

框架拼接融合

框架拼接是將兩個(gè)幀組合成單個(gè)圖像的過程。框架拼接分兩步完成:

關(guān)鍵點(diǎn)匹配

比較來自兩個(gè)相機(jī)傳感器的視頻幀中關(guān)鍵點(diǎn)的關(guān)鍵點(diǎn)描述符。如果兩個(gè)關(guān)鍵點(diǎn)(每個(gè)相機(jī)傳感器一個(gè))的關(guān)鍵點(diǎn)描述符之間的差異低于誤差閾值,則將它們視為關(guān)鍵點(diǎn)對(duì)。將它們的關(guān)鍵點(diǎn)描述符之間差異最小的關(guān)鍵點(diǎn)對(duì)作為參考關(guān)鍵點(diǎn)。

圖像融合

加權(quán)平均方法用于將兩個(gè)幀混合成單個(gè)圖像。重疊區(qū)域的像素值等于兩幀像素的加權(quán)平均值。根據(jù)重疊像素和相應(yīng)幀的邊界之間的距離選擇權(quán)重。

拼接圖像

FPGA程序頂層設(shè)計(jì)

頂層架構(gòu)的框圖如下圖所示。

436d0756-dbc3-11ec-ba43-dac502259ad0.png

頂層設(shè)計(jì)分為五個(gè)階段:

預(yù)處理階段

為了模擬相機(jī)傳感器的工作,使用了 image.v 和 image2.v,它們分別輸入對(duì)應(yīng)于左和右相機(jī)傳感器的圖像。RWM_1.v 是一個(gè)讀寫存儲(chǔ)器,用于存儲(chǔ) 8 位 RGB 圖像。WRITE 模式時(shí),RGB 圖像像素?cái)?shù)據(jù)寫入內(nèi)存。存儲(chǔ)完所有像素值后,將存儲(chǔ)器置于 READ 模式。在 READ 模式下,每個(gè)像素值從內(nèi)存中順序讀取.

過濾階段

關(guān)鍵點(diǎn)階段

關(guān)鍵點(diǎn)匹配階段

幀混合階段

項(xiàng)目地址

https://github.com/AugustinJose1221/FPGA-Build

https://github.com/AugustinJose1221/Video-Stitching

審核編輯 :李倩

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1624

    文章

    21575

    瀏覽量

    600758
  • 視頻圖像
    +關(guān)注

    關(guān)注

    0

    文章

    47

    瀏覽量

    17461
  • 算法
    +關(guān)注

    關(guān)注

    23

    文章

    4581

    瀏覽量

    92377

原文標(biāo)題:[開源項(xiàng)目]基于FPGA的視頻圖像拼接融合

文章出處:【微信號(hào):Open_FPGA,微信公眾號(hào):OpenFPGA】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    圖像拼接

    簡(jiǎn)單的labview圖像拼接程序
    發(fā)表于 05-15 23:19

    FPGA將3路圖像拼接,什么好算法能模糊拼接處?

    3路sensor采集到的3路圖像,FPGA將它們從左至右拼接為1副圖像。這樣,圖像1和圖像2、
    發(fā)表于 02-19 10:40

    FPGA圖像融合

    FPGA怎么實(shí)現(xiàn):實(shí)時(shí)兩路視頻數(shù)據(jù)的融合,即實(shí)時(shí)模糊兩路圖像交接處的縫隙?
    發(fā)表于 02-23 13:54

    labview做投影機(jī)融合拼接的問題??

    如題,請(qǐng)問哪位真大神知道labview能不能做投影機(jī)融合拼接軟件,多臺(tái)投影機(jī)畫面融合拼接??,求指點(diǎn)迷津!
    發(fā)表于 07-18 23:08

    【米爾MYD-C7Z020開發(fā)板試用申請(qǐng)】基于zynq的監(jiān)控視頻圖像拼接算法

    手把手教你設(shè)計(jì)人工智能芯片及系統(tǒng)(全階設(shè)計(jì)教程+AI芯片FPGA實(shí)現(xiàn)+開發(fā)板)詳情鏈接:http://url.elecfans.com/u/c422a4bd15項(xiàng)目名稱:基于zynq的監(jiān)控視頻圖像
    發(fā)表于 10-30 17:03

    怎么實(shí)現(xiàn)基于FPGA的LCD大屏幕拼接系統(tǒng)的設(shè)計(jì)?

    本項(xiàng)目設(shè)計(jì)基于FPGA的數(shù)字視頻處理算法, 實(shí)現(xiàn)對(duì)DVI視頻信號(hào)進(jìn)行解碼,實(shí)時(shí)對(duì)數(shù)字視頻的分割、 視頻
    發(fā)表于 06-01 06:41

    介紹幾種基于ARM處理器的純硬件視頻融合拼接系統(tǒng)技術(shù)方案

      視頻融合拼接系統(tǒng)在商業(yè)顯示領(lǐng)域有著廣泛的應(yīng)用,如屏幕拼接墻、舞臺(tái)布景、LED影棚、投影融合等場(chǎng)景。傳統(tǒng)方案采用獨(dú)立的圖形服務(wù)器或者
    發(fā)表于 07-18 16:51

    一種快速全景圖像拼接技術(shù)

    這是拼接融合部分的簡(jiǎn)介,用fpga或者其他方式實(shí)習(xí)拼接融合的效果,大家可以看一下。
    發(fā)表于 05-20 11:16 ?6次下載

    基于FPGA的多幅圖像融合疊加的設(shè)計(jì)與實(shí)現(xiàn)

    基于FPGA的多幅圖像融合疊加的設(shè)計(jì)與實(shí)現(xiàn)
    發(fā)表于 08-30 15:10 ?13次下載

    基于FPGA視頻圖像縮放與疊加融合技術(shù)的設(shè)計(jì)方案及實(shí)現(xiàn)

    針對(duì)兩通道視頻圖像疊加融合,設(shè)計(jì)并實(shí)現(xiàn)了一種實(shí)時(shí)性好、靈活性強(qiáng)的FPGA硬件系統(tǒng)。該系統(tǒng)可以根據(jù)實(shí)際需求進(jìn)行任意比例和任意位置的視頻
    發(fā)表于 11-22 08:32 ?4692次閱讀
    基于<b class='flag-5'>FPGA</b>的<b class='flag-5'>視頻</b><b class='flag-5'>圖像</b>縮放與疊加<b class='flag-5'>融合</b>技術(shù)的設(shè)計(jì)方案及實(shí)現(xiàn)

    小區(qū)域融合視頻圖像拼接

    針對(duì)視頻圖像拼接拼接面選取不當(dāng)造成的畸變問題和圖像融合階段視差帶來的殘影問題,借助半角糾正法選
    發(fā)表于 01-22 15:30 ?1次下載
    小區(qū)域<b class='flag-5'>融合</b>的<b class='flag-5'>視頻</b><b class='flag-5'>圖像</b><b class='flag-5'>拼接</b>

    YUV視頻GPU實(shí)時(shí)拼接

    為提高高清視頻拼接的實(shí)時(shí)性能,提出一種基于GPU的多路高清YUV視頻實(shí)時(shí)拼接方法,推導(dǎo)出YUV422圖像
    發(fā)表于 03-20 10:10 ?2次下載
    YUV<b class='flag-5'>視頻</b>GPU實(shí)時(shí)<b class='flag-5'>拼接</b>

    FPGA視頻教程之FPGA視頻圖像處理領(lǐng)域的應(yīng)用視頻資料說明

    本文檔的主要內(nèi)容詳細(xì)介紹的是FPGA視頻教程之FPGA視頻圖像處理領(lǐng)域的應(yīng)用視頻資料說明。
    發(fā)表于 04-04 16:40 ?35次下載
    <b class='flag-5'>FPGA</b><b class='flag-5'>視頻</b>教程之<b class='flag-5'>FPGA</b>在<b class='flag-5'>視頻</b><b class='flag-5'>圖像</b>處理領(lǐng)域的應(yīng)用<b class='flag-5'>視頻</b>資料說明

    視頻拼接技術(shù)的標(biāo)準(zhǔn)

    視頻拼接技術(shù),即對(duì)有重疊區(qū)域的多路源視頻數(shù)據(jù)利用拼接算法進(jìn)行拼接,消除重疊區(qū)域,形成寬角度、大視場(chǎng)視頻
    的頭像 發(fā)表于 07-22 10:18 ?1723次閱讀

    FPGA驅(qū)動(dòng)下的視頻圖像拼接融合技術(shù)革新

    視頻流的每個(gè)單獨(dú)幀將具有對(duì)應(yīng)于紅色、綠色和藍(lán)色的三個(gè)通道。視頻幀中的顏色信息不會(huì)增強(qiáng)特征檢測(cè)。此外,與單通道 8 位圖像相比,3 通道 8 位圖像的計(jì)算需要更多時(shí)間。
    發(fā)表于 03-01 10:25 ?491次閱讀
    <b class='flag-5'>FPGA</b>驅(qū)動(dòng)下的<b class='flag-5'>視頻</b><b class='flag-5'>圖像</b><b class='flag-5'>拼接</b><b class='flag-5'>融合</b>技術(shù)革新