基于fpga的多路視頻拼接方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及及圖像處理與視頻處理技術(shù)領(lǐng)域,尤其是多路視頻拼接方法及裝置。
【背景技術(shù)】
[0002]隨著數(shù)字視頻技術(shù)的快速發(fā)展以及人們安防意識不斷的增強,視頻監(jiān)控在通信、廣播、消費類電子和醫(yī)療等領(lǐng)域,都有廣泛的應(yīng)用。如今人們對監(jiān)控的要求越來越苛刻,希望能從監(jiān)控中得到更多的信息,但往往受到硬件設(shè)備的限制,無法得到滿足?,F(xiàn)在攝像機的種類越來越多,清晰度越來越高,但是對一個攝像頭來說,它還是存在難以克服的困難。雖然現(xiàn)在市場上也有些魚眼全景攝像頭,但是這種鏡頭獲得的視頻容易產(chǎn)生畸變,而且這種攝像頭自身的視頻分別率比較低。因此為了獲得高分辨率的大場景信息,克服普通攝像頭視野小,分辨率低的缺點,需要尋找一種針對大場面、大場景監(jiān)控的解決方案,其中采用多路攝像頭實現(xiàn)全景視頻監(jiān)控是目前比較常見的一種做法。
[0003]視頻圖像拼接技術(shù)在不同的領(lǐng)域中得到了充分的應(yīng)用,比如視頻監(jiān)控、計算機視覺、工業(yè)檢驗和機器人等領(lǐng)域。多個攝像機能夠同時獲取兩路或者三路的視頻圖像,且兩個相鄰的攝像機的視角重疊比例適當(dāng),再通過查找圖像特征和特征值配準(zhǔn)的方法計算出兩幅圖像之間的單應(yīng)性矩陣,最后將各路圖像縫合成廣視角的圖像。大部分同型號的不同攝像頭性能是有微小差異的,在相同的環(huán)境下得到的圖像色彩也會不同,而實際應(yīng)用中受光線視角的影響,攝像機在同一時刻獲得的圖像是有明顯視覺差的,從而導(dǎo)致最后得到的拼接圖像的效果達(dá)不到用戶的要求。因此對視頻預(yù)處理以及圖像拼接算法的深入研究,有助于對采集的圖像進行校正歸一,以減少合成視頻的差異性。
[0004]一般的嵌入式視頻處理平臺都是采用DSP+ARM或者FPGA+DSP這種架構(gòu),然而在這種體系框架下視頻處理開發(fā)是相當(dāng)復(fù)雜,而且整個平臺的設(shè)計成本很高。所以現(xiàn)在一些FPGA公司推出了一些可擴展平臺硬件芯片,內(nèi)部不僅集成了 ARM內(nèi)核的雙核處理器,而且芯片自身也帶有大量的可編程邏輯門陣列資源。在該架構(gòu)下,整個系統(tǒng)內(nèi)部的數(shù)據(jù)傳輸帶寬能滿足需求,而且能充分利用芯片內(nèi)部的FPGA邏輯資源的并行數(shù)據(jù)處理能力。
【發(fā)明內(nèi)容】
[0005]為了克服現(xiàn)有多路視頻拼接方法及裝置的結(jié)構(gòu)復(fù)雜、成本較高、實時性較差的不足,本發(fā)明提供了一種結(jié)構(gòu)簡單、降低成本、實時性良好的基于FPGA的多路視頻拼接方法及
目.ο
[0006]為了解決上述技術(shù)問題采用的技術(shù)方案為:
[0007]—種基于FPGA的多路視頻拼接方法,所述方法包括如下步驟:
[0008]步驟一,多路HD-SDI攝像頭將圖像數(shù)據(jù)傳輸給通過硬件解碼電路轉(zhuǎn)化為差分?jǐn)?shù)字信號,然后通過FPGA吉比特接收模塊接收后,經(jīng)過圖像降采樣以及中值濾波后傳給DDR3存儲器進行緩存,且各路圖像都有自己的緩存;
[0009]步驟二,從各路圖像采集的DDR3存儲器中讀入圖像,并計算圖像的harris角點特征,并將角點特征存入DDR3存儲器當(dāng)中的特征緩沖區(qū)中,并計算角點特征的相似度,再按照相似度大小進行排序,排序后將數(shù)據(jù)存入新的相似角點特征區(qū)域;
[0010]步驟三,從相似角點特征區(qū)域選好四對配對的特征點,然后計算需要投影的圖像的單應(yīng)性矩陣,將需要投影變換的那副圖像中的其他配對點都通過投影變換到另一副圖像中,統(tǒng)計配對點的個數(shù),判斷點的重合點的個數(shù)是否符合設(shè)定的閾值,如果符合就得到最優(yōu)匹配點,如果不符合,那么就重復(fù)當(dāng)前步驟,并計算結(jié)果單應(yīng)性矩陣;
[0011]步驟四,從DDR3存儲器中讀取原始圖像,按照單應(yīng)性矩陣計算,將另一幅圖像的數(shù)據(jù)投影到不動的圖像平面上,并對重疊區(qū)域的圖像各像素進行調(diào)整,最終得到合成的圖像,并存入DDR3存儲器的緩沖區(qū)進行存儲,再由控制器中傳到顯示緩存區(qū)中;
[0012]步驟五,從步驟四得到的拼接圖像,傳遞給外部的顯示器進行顯示。
[0013]一種基于FPGA的多路視頻拼接裝置,所述裝置包括多個HD-SDI攝像頭、多個視頻硬件解碼電路,高清數(shù)字視頻采集模塊,視頻預(yù)處理模塊、DDR3控制模塊、特征點提取模塊、特征點篩選模塊、圖像融合模塊、圖像單應(yīng)性矩陣計算模塊和輸出控制模塊;
[0014]所述HD-SDI攝像頭,與所述視頻硬件解碼電路個數(shù)相同,并且每個攝像頭都有一個單獨的硬件解碼電路;
[0015]所述高清數(shù)字視頻采集模塊,與多個所述視頻硬件解碼電路、視頻預(yù)處理模塊相連接;
[0016]所述DDR3控制模塊,包括DDR3控制器和DDR3存儲器,并且所述DDR控制器與視頻預(yù)處理模塊、特征點提取模塊、特征點篩選模塊、圖像融合模塊和輸出控制模塊連接;
[0017]所述特征點匹配模塊,與所述特征點提取模塊,特征點篩選模塊相連接;
[0018]所述高清數(shù)字視頻采集模塊用于實現(xiàn)視頻信息的輸入;所述DDR3控制器用于控制DDR3存儲器的讀取,所述DDR3存儲器用于存儲視頻圖像和計算的中間值;所述視頻預(yù)處理模塊用于對圖像進行色彩調(diào)整;所述特征點提取模塊用于計算圖像的特征點位置和特征描述向量;所述特征點匹配模塊用于計算匹配的特征點對;所述特征點篩選模塊用于對匹配特征點進行篩選得到最優(yōu)的匹配特征點對;所述圖像單應(yīng)性矩陣計算模塊根據(jù)最優(yōu)匹配特征點計算圖像單應(yīng)性矩陣;所述圖像融合模塊根據(jù)圖像單應(yīng)性矩陣對多幅圖像拼接;所述輸出控制模塊用于控制圖像的輸出和顯示。
[0019]進一步,所述HD-SDI攝像頭和視頻硬件解碼電路各為2個。
[0020]再進一步,所述DDR3存儲器包括拼接圖像緩存區(qū)域、特征點緩存區(qū)域、相似角點特征緩存區(qū)域和單應(yīng)性矩陣緩存區(qū)域。
[0021 ]所述視頻預(yù)處理模塊包括:
[0022]視頻串行解析單元,用于通過吉比特收發(fā)器接收串行視頻信號存入像素點緩存中,轉(zhuǎn)化為并行視頻信號;
[0023]降采樣單元,用于通過并行視頻信號,將其視頻數(shù)據(jù)的降為原信號的四分之一,并傳入下一級;
[0024]色彩調(diào)整單元,用于從降采樣單元中讀入視頻像素,進行色彩矩陣的變換;
[0025]視頻傳輸單元,用于從各路的色彩矩陣單元中讀取數(shù)據(jù)然后存入DDR3存儲器中拼接圖像緩存區(qū)中。
[0026]所述特征點提取模塊包括:
[0027]灰度計算單元,用于根據(jù)地址計算分配單元讀取采集的圖像像素點,轉(zhuǎn)化為灰度值,并存入DDR3存儲器灰度圖像緩存區(qū)域中;
[0028]harris特征向量查找單元,用于從所述DDR3存儲器中讀取灰度圖像像素值,計算各個像素的在橫縱方向上的變化率,判斷計算結(jié)果值是否超過設(shè)定閾值,如果屬于harris特征值,就將特征值存入所述DDR3存儲器特征點緩存區(qū)域中;
[0029]特征點篩選單元,用于按照特征點的變化率進行排序,取前面1000個特征點作為兩幅圖像的對比特征向量,并存入所述DDR3特征點緩存區(qū)域。
[0030]所述特征點匹配模塊包括:
[0031]特征相似度計算單元,用于讀取有效特征點存儲區(qū)的特征向量,并計算兩幅圖像之間的特征向量之間的相似度,并刷選出最為相似的特征向量對,并存入所述DDR3存儲器匹配點緩存區(qū)中;
[0032]單應(yīng)性矩陣計算單元,用于讀取兩幅圖形中的四對特征匹配點,然后通過單應(yīng)性矩陣