• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于FPGA的雙通道全景圖像采集系統(tǒng)研制

    2018-11-13 02:33:58曾延安
    關鍵詞:魚眼全景圖像處理

    李 瓊 曾延安

    (1. 武漢職業(yè)技術學院電子信息工程學院 湖北武漢 430074; 2. 華中科技大學光學與電子信息學院 湖北武漢 430074)

    0 引言

    全景相機可以同時獲得其周圍所有方向的圖像信息,在全景顯示、機器視覺領域有著重要的應用。但是傳統(tǒng)的全景相機需要復雜的光學系統(tǒng),成本高且難以小型化;或者在圖像采集完成后需要后期軟件進行圖像拼接,極大影響了系統(tǒng)的實時性。

    本文設計了一種基于FPGA的雙魚眼鏡頭全景圖像采集系統(tǒng),結構簡單、成本低廉,并利用FPGA的并行處理能力完成了圖像的實時拼接,極大方便了后續(xù)的圖像處理和使用。通過USB3.0接口,本系統(tǒng)也可以很方便地與其他設備相連,實現(xiàn)圖像的高效傳輸,從而方便與各種機器人設備相連,為機器人導航提供高速、高質(zhì)量的全景圖像輸入。

    1 系統(tǒng)總體設計

    使用雙魚眼鏡頭拍攝全景圖像,需要兩個鏡頭背靠背放置,且每個鏡頭的可視角度大于180度,本文使用可視角為200°的魚眼鏡頭。設備結構如圖1所示。

    a) 主視圖b) 側視圖

    圖1設備結構圖

    為了避免兩個CMOS圖像傳感器的信號相互干擾,也為了方便以后更換傳感器型號,兩個CMOS圖像傳感器分別設計在兩個獨立的子板上,而主板上則放置FPGA、DDR、USB芯片等主要器件,子板與主板通過軟排線相連。

    為了實現(xiàn)雙通道圖像的同步采集和圖像實時拼接,以現(xiàn)場可編程邏輯陣列(FPGA)為主控和處理器件,系統(tǒng)的總體設計框圖如圖2所示。

    圖2 系統(tǒng)總體設計框圖

    兩個CMOS圖像傳感器的輸入分辨率均為2 304×1 728,拼接處理后的輸出圖像分辨率目前支持1 920×960和2 560×1 280兩種。

    由于FPGA擁有豐富的邏輯資源和并行處理能力,圖像傳感器的驅(qū)動、同步以及之后的圖像處理均由FPGA完成[1-3]。FPGA通過SPI通信接口配置圖像傳感器的寄存器,以驅(qū)動它獲取可見光數(shù)據(jù),該數(shù)據(jù)在同步控制中心的控制下,寫入一個異步FIFO中,當異步FIFO中的數(shù)據(jù)量達到DDR的一個Burst長度后,再將這些數(shù)據(jù)寫入DDR中[4]。為了滿足以后一些圖像處理算法的需要,圖像均采用10位數(shù)據(jù)輸入。FPGA中的圖像處理模塊會周期性地從DDR中讀取一幀數(shù)據(jù)進行處理,由于圖像尺寸較大,F(xiàn)PGA無法將其全部讀入內(nèi)部RAM中,所以采用分塊讀取、分塊處理的機制。借助于FPGA的高速并行處理以及DDR的快速存取,設備輸出圖像的幀率能達到30 fps。為了使處理后的圖像能夠?qū)崟r傳輸,需要采用USB3.0接口作為數(shù)據(jù)傳輸接口,這通過一塊USB3.0協(xié)議芯片來打包完成。

    圖中SYNC為圖像數(shù)據(jù)同步信號,包括幀同步、行同步和像素時鐘,1*和2*均為FIFO。雖然圖像傳感器內(nèi)部有自動曝光功能,但是考慮拼接圖像時最好有一致的曝光,所以在FPGA內(nèi)部使用了一個獨立模塊同時控制兩個圖像傳感器的曝光時間。由于魚眼鏡頭所成圖像為圓形,該模塊通過計算圖像中心和圓形邊緣的平均灰度值來估計曝光參數(shù),并通過SPI接口配置相關寄存器。FPGA中與USB3.0芯片連接的I2C接口用于接收上位機或者其他設備發(fā)過來的命令。

    2 系統(tǒng)硬件設計

    本系統(tǒng)的FPGA選用Xilinx公司Zynq 7020,該芯片有大量的邏輯資源用于實現(xiàn)對圖像的實時拼接。CMOS圖像傳感器使用Sony公司的IMX 206[5],該傳感器分像元尺寸為1.34 μm,成像質(zhì)量高且支持多種分辨率和幀率的輸出模式,為以后該設備支持拍攝高分辨率的照片或視頻做準備。USB3.0協(xié)議芯片采用Cypress公司的CYUSB3014[6]。

    2.1 圖像同步采集電路

    CMOS圖像傳感器IMX 206的電源包括模擬電源和數(shù)字電源,其中模擬電源電壓為2.8 V,而數(shù)字部分,為了降低功耗,內(nèi)核工作電壓為1.2 V,數(shù)據(jù)輸出采用LVDS接口,電平為1.8 V[5]。所以需要提供兩個不同的穩(wěn)壓電源。為了給傳感器提供穩(wěn)定的驅(qū)動時鐘,系統(tǒng)使用50 MHz的有源晶振作為時鐘源,然后通過FPGA中的鎖相環(huán)(PLL)產(chǎn)生傳感器所需時鐘,系統(tǒng)中其他模塊的時鐘也通過PLL產(chǎn)生。

    為了實現(xiàn)雙通道圖像的同步采集,F(xiàn)PGA通過SPI接口將兩個圖像傳感器的工作模式都配置為觸發(fā)模式,分辨率設置為2 304×1 728,數(shù)據(jù)位寬為10位,輸出幀率設置為30 fps。

    接收的像素數(shù)據(jù)首先會進入異步FIFO,此處異步FIFO的作用有兩個。第一是同步系統(tǒng)時鐘,第二是提高DDR的傳輸效率,由于DDR采用的是Burst傳輸方式,且Burst長度為4個字節(jié)(32位),所以當異步FIFO中數(shù)據(jù)量達到4個字節(jié)后,就會請求DDR將這部分數(shù)據(jù)寫入其中。

    2.2 雙路圖像的實時拼接

    每當有一幀數(shù)據(jù)采集完畢后,同步控制中心就會通知圖像處理模塊對DDR中的圖像數(shù)據(jù)進行處理。

    圖像處理模塊主要完成雙路圖像的拼接工作。將兩個魚眼圖像拼接為全景圖像需要魚眼矯正和加權相加兩個步驟,如圖3所示。

    圖3 圖像拼接流程圖

    考慮所設計的全景圖像采集系統(tǒng)的實時性,采用目前較為成熟且投影方程簡單、實時性好的等距柱狀模型,結合徑向畸變校正方程,建立全景圖像中像素坐標與原始圖像像素坐標的映射模型,實現(xiàn)魚眼矯正[7]。在圖1中所示的兩個魚眼鏡頭空間位置固定的情況下,采用棋盤格標定方法對兩個鏡頭的內(nèi)外參數(shù)進行標定,根據(jù)標定數(shù)據(jù)結合魚眼矯正的像素坐標映射模型分別生成與圖像Bayer格式對應的像素坐標映射查找表;并根據(jù)兩個200°視場的重疊區(qū)域的像素映射坐標的對應關系生成重疊區(qū)域加權因子查找表。從而,魚眼矯正和加權相加均通過查找表完成,一個查找表對應一個輸入圖像。查找表與圖片類似,有3個通道,前兩個通道的數(shù)據(jù)為魚眼矯正時的映射坐標,后一個通道的數(shù)據(jù)為像素相加時的權重。顯然,查找表的大小和系統(tǒng)輸出圖像的大小一致,但是,為了加快查找表的訪問速度,系統(tǒng)將查找表等比例縮小至60×30的分辨率,縮小后丟失的數(shù)據(jù)通過雙線性插值求出,因此,在設備啟動時會將縮小后的查找表從片外Flash全部讀入DDR中,需要時FPGA再將其從DDR讀入內(nèi)部RAM中,從而在拼接時大大加快查找表的訪問速度。

    由于每一幀的圖像較大,F(xiàn)PGA無法將整個圖像讀入并進行處理,而魚眼矯正利用原始圖像的像 素坐標將像素映射到全景圖像,這一過程可通過查找表將原始圖像的像素值進行插值計算,并填充到全景圖像實現(xiàn),因此,可以根據(jù)所需填充的全景圖像圖塊與原始圖像圖塊的對應關系,采用分塊讀取分塊處理的機制,充分利用FPGA在圖像處理中的并行處理能力,改善系統(tǒng)的實時性。圖像處理模塊每次從DDR的原始圖像存儲區(qū)中讀取大小為88×88的一塊數(shù)據(jù),處理完成后再寫回DDR的全景圖像存儲區(qū),然后讀取下一塊,以此類推。魚眼矯正模塊的設計框圖如圖4所示。

    圖4 魚眼矯正模塊的設計框圖

    魚眼矯正模塊根據(jù)原始圖像與全景圖像的圖像塊對應關系,利用事先約定讀取順序通過內(nèi)部總線從DDR中讀入一個圖像塊以及對應的查找表,查找表讀取一次即可,處理下一個圖像塊時不必再讀取。由于圖像數(shù)據(jù)是Bayer格式存儲,不方便后面的插值操作,所以首先進行數(shù)據(jù)分離,綠色通道(G)和紅藍色通道(B/R)分別存儲于兩個不同的緩存中,查找表(P)存儲在另外一個緩存中。坐標生成器用于生成輸出圖像塊的坐標,根據(jù)該坐標可以從查找表中讀取相應坐標鄰域的數(shù)據(jù),并插值出對應的輸入圖像的坐標和權重,輸入圖像的坐標經(jīng)過坐標映射,變?yōu)檩斎雸D像塊中的相對坐標。通過相對坐標,G Interp模塊和B/R Interp模塊就能夠從各自的緩存中讀取對應的臨近像素值并插值生成輸出圖像的像素值,最后得到的像素值會重新轉(zhuǎn)換為Bayer格式,并與P Interp模塊輸出的權重相乘后寫回DDR中的全景圖像存儲區(qū)。

    使用相同的魚眼矯正模塊對兩路圖像進行處理,由于權重在該模塊中已經(jīng)與像素值相乘,所以之后只需將兩路矯正好的圖像直接相加即可得到完整的全景圖像。

    2.3 USB3.0傳輸電路設計

    本文系統(tǒng)使用的CYUSB3014協(xié)議芯片,其內(nèi)核為ARM926EJ-S[6]。要讓其正常工作,需要提供穩(wěn)定的5 V、3.3 V、2.5 V、1.8 V和1.2 V的電壓。工作時鐘也通過FPGA內(nèi)部的PPL提供,不過內(nèi)核還需要一個獨立的32 KHz的看門狗時鐘,這由一個外部晶振提供。GPIF是通用可編程接口,可以像FPGA的通用IO一樣提供不同的電平,因此其供電電平保持與互聯(lián)的FPGA上對應BANK驅(qū)動電平一樣即可。通信接口與FPGA的通用IO口相連,使用的協(xié)議為I2C。最后,使用靜電放電(ESD)保護芯片RCLAMP0524J為設備提供最大15 kV的ESD保護。

    由于全景圖像是按照8位Bayer格式輸出的,因此在分辨率為1 920×960,幀率為30 fps的情況下,其輸出帶寬約為420 Mbps;在分辨率為2 560×1 280,幀率不變情況下,輸出帶寬約為750 Mbps。而根據(jù)本文的設計,USB3.0的實際帶寬可以到1 600 Mbps,完全滿足這兩種分辨率的輸出。

    3 系統(tǒng)測試

    根據(jù)本文的設計方案,系統(tǒng)的實物圖如圖5所示,采用兩個魚眼鏡頭背靠背放置,每個鏡頭的可視角為200度。通過USB3.0與上位機相連,得到的全景圖像如圖6所示。

    圖5 系統(tǒng)實物圖

    圖6 本文系統(tǒng)輸出的全景圖像

    測試中也記錄了不同分辨率下,圖像拼接過程所花費的時間以及功耗,如表1所示。由于主要控制和數(shù)據(jù)處理都在FPGA上,因此單獨列出了FPGA的功耗,而設備總功耗,除了FPGA功耗外,還包括DDR、電源芯片、USB芯片等其他器件。結果顯示,拼接融合所耗費的時間在可接受范圍內(nèi),對于分辨率為1 920×960和2 560×1280的視頻均能達到30 fps的處理速度,同時整個設備也維持著一個較低的功耗。

    表1 圖像處理時間與設備功耗

    4 結束語

    本文使用FPGA實現(xiàn)了一套雙魚眼鏡頭全景圖像采集系統(tǒng),該系統(tǒng)對兩路圖像進行同步采集,并在FPGA內(nèi)部完成圖像的實時拼接和處理,然后通過USB3.0完成圖像的高速傳輸,大大方便了后續(xù)的圖像處理和使用。測試表明,整個設備體積小、功耗低、使用簡單,非常方便用于機器人導航,未來可以在該平臺上加入更多的圖像處理功能。

    猜你喜歡
    魚眼全景圖像處理
    面向魚眼圖像的人群密度估計
    戴上耳機,享受全景聲 JVC EXOFIELD XP-EXT1
    機器學習在圖像處理中的應用
    電子制作(2018年18期)2018-11-14 01:48:20
    全景敞視主義與偵探小說中的“看”
    模糊圖像處理,刑事偵查利器
    圖像處理技術的實戰(zhàn)應用
    從5.1到全景聲就這么簡單 FOCAL SIB EVO DOLBY ATMOS
    全景搜索
    特別文摘(2016年21期)2016-12-05 17:53:36
    Photo Shop通道在圖像處理中的應用
    河南科技(2014年1期)2014-02-27 14:04:06
    偷拍利器,十元錢的超級廣角鏡頭
    屏山县| 沾化县| 鄱阳县| 东城区| 慈利县| 资源县| 黄平县| 贡觉县| 仁化县| 邓州市| 若羌县| 龙井市| 金溪县| 南华县| 个旧市| 清水县| 怀柔区| 尼勒克县| 泗水县| 蛟河市| 手机| 乐都县| 彭州市| 馆陶县| 通化市| 无棣县| 赫章县| 平原县| 大邑县| 尚志市| 循化| 高州市| 海宁市| 探索| 贡觉县| 景泰县| 南汇区| 建平县| 浮梁县| 达尔| 利辛县|