一. 項目概述 隨著當前國民經濟的快速發展和人民生活水平的提高,越來越多的家庭擁有汽車作為代步工具,如何安全便捷地泊好車成為了眾多駕駛者共同面對的難題。 傳統的泊車系統主要通過三種手段使司機能夠看到汽車后方情況,這些手段分別是倒后鏡、倒車雷達和倒車攝像頭。然而,這三種手段都存在車側面這個盲區。對于一些較復雜路段,司機只能看到前后方向,而車體兩側則容易被路邊異物刮傷。 因此,對汽車360°環視系統進行研究和開發具有很高的前景性和應用性。本項目采用Xilinx Spartan 6 FPGA進行算法的開發及系統控制。 二.系統功能描述 2.1 系統功能 根據本項目的設計目標,本設計需要完成的功能有: 采集車的前方后方共四個攝像機的圖像信息 將四個攝像機得到的視頻信息通過視頻處理技術,拼接成一幅360度環視圖像 360度環視圖像需要有連貫性, 不能感覺到有明顯拼接跡象 2.2 時間性能 根據本項目的設計目標,汽車環視系統應該能夠對連續視頻幀圖像進行實時處理, 以保證汽車駕駛的安全性。 三. 方案設計 3.1 系統工作原理 3.1.1 理論分析 為了達到360°全景的目標,每個攝像頭必須具有90°以上的視角,因此設計中我們采用了視角達170度的廣角魚眼鏡頭。 使用中因為鏡頭視角足夠大,不同攝像頭的影像就會存在部分重疊現象,這樣只要合理配置攝像頭的位置,同時對重疊部分進行合理拼接,就可以從4個攝像頭的影像恢復出360度視角的環視影像。 3.1.2 系統整體結構 本系統采用Xilinx Spartan 6 FPGA進行系統控制及圖像處理算法的開發,根據系統功能需求和性能要求的分析,可得到其系統框圖如下所示: 系統框圖 由圖可見,本系統主要由3部分組成,分別為攝像頭(4個),信號處理和顯示等。由攝像頭采集的視頻信號經過采樣后送到信號處理部分進行圖像處理和拼接,最后送到VGA液晶顯示器顯示。 3.2 系統方案實現 3.2.1 系統硬件設計 系統硬件設計如下圖所示: 攝像頭采集圖像信號后送到ADV7184進行PAL信號解碼,解碼后的數字信號送到Spartan-6 FPGA進行各種圖像處理,完成以后再將RGB信號送到ADV7123進行VGA格式視頻輸出。 ADV7184是一款集成式視頻解碼器,能夠自動檢測與全球NTSC、PAL和SECAM標準兼容的標準模擬基帶電視信號,并將其轉換為與16位或8位CCIR 601/CCIR 656兼容的4:2:2分量視頻數據。 Spartan – 6是本系統的核心器件,其具有如下特點: ? 專用于低成本設計 ? 極低的靜態與動態功耗 ? 多電壓、多標準 SelectIO? 接口 bank ? 高效率 DSP48A1 Slice ? 高性能算術與信號處理 ? 快速 18 x 18 乘法器和 48 位累加器 ? 流水線與級聯功能 ? 用于協助濾波器應用的預加法器 ? 集成存儲器控制器模塊 ? 針對以流水線應用而設計的 LUT,具有雙觸發器 ? 具有各種粒度的 Block RAM ? 低噪聲,高靈活度的時鐘控制 ADV7123是一款高速數模轉換器,內置三個高速、10位、帶互補輸出的視頻數模轉換器、一個標準TTL輸入接口以及一個高阻抗、模擬輸出電流源,用于驅動VGA輸出。其具有以下特點: 吞吐量:330 MSPS 三通道、10位數模轉換器 無雜散動態范圍(SFDR) RS-343A/RS-170兼容輸出 互補輸出 DAC輸出電流范圍:2 mA至26 mA TTL兼容輸入 3.2.2 系統軟件設計 如圖所示,本環視系統工作分為8步,其中,YCrCb到RGB制式轉換、圖像去噪、形狀校正、圖像裁切和拼接都由FPGA完成。 在ADV7184解碼完畢后輸出YCrCb信號,為了方便后續處理過程,將其轉換為RGB格式。YCrCb與RGB制的轉換如下: 由于攝像頭(如CCD等)在成像時或多或少會引入噪聲,尤其景物亮度不足時噪聲很明顯,這將影響后續的處理工作。因此,需要對轉換好的信號進行去噪。 由于采用魚眼鏡頭,邊緣處的部位會發生變形,因此,要進行形狀校正。 在進行完前述的幾步處理后,接下來就可以對圖像進行裁切和拼接了。圖像拼接的辦法有很多,這里可以采用先計算出每個鏡頭需要的形狀,然后按計算結果進行裁切和拼接。 |