人臉自動識別技術(shù)是模式識別、圖像處理等學(xué)科的一個最熱門研究課題之一。隨著社會的發(fā)展,各方面對快速有效的自動身份驗證的要求日益迫切,而人臉識別技術(shù)作為各種生物識別技術(shù)中最重要的方法之一,已經(jīng)越來越多的受到重視。對于具有實時,快捷,低誤識率的高性能算法以及對算法硬件加速的研究也逐漸展開。 本文詳細分析了智能人臉識別算法原理,發(fā)展概況和前景,包括人臉檢測算法,人眼定位算法,預(yù)處理算法,PCA和ICA 算法,詳細分析了項目情況,系統(tǒng)劃分,軟硬件平臺的資源和使用。并在ISE軟件平臺上,用硬件描述語言(verilog HDL)對算法部分嚴格按照FPGA代碼風(fēng)格進行了RTL 硬件建模,并對C++算法進行了優(yōu)化處理,通過仿真與軟件算法結(jié)果進行比對,評估誤差,最后在VirtexII Pro FPGA 上進行了綜合實現(xiàn)。 主要研究內(nèi)容如下: 首先,對硬件平臺xilinx的VirtexII Pro FPGA 上的系統(tǒng)資源進行了描述和研究,對存儲器sdram,RS-232 串口,JTAG 進行了研究和調(diào)試,對Coreconnect的OPB總線仲裁機理進行了兩種算法的比較,RTL 設(shè)計,仿真和綜合。利用ISE和VC++軟件平臺,對verilog和C++算法進行同步比較測試,使每步算法對應(yīng)正確的結(jié)果。對軟硬件平臺的合理使用使得在項目中能盡可能多的充分利用硬件資源,制板時正確選型,以及加快設(shè)計和調(diào)試進度。其次,對人臉識別算法流程中的人臉檢測,人眼定位,預(yù)處理,識別算法分別進行了比較研究,選取其中各自性能最好的一種算法對其原理進行了分析討論。人臉檢測采用adaboost 算法,因其速度和精度的綜合性能表現(xiàn)優(yōu)異。人眼定位采用小塊合并算法,因為它具有快速,準確,弱時實的特點。預(yù)處理算法采用直方圖均衡加平滑的算法,簡單,高效。 識別算法采用PCA 加ICA 算法,它能最大的弱化姿態(tài)和光照對人臉識別的影響。 最后,使用Verilog HDL 硬件描述語言進行算法的RTL 建模,在C++算法的基礎(chǔ)上,保證原來效果的前提下,根據(jù)FPGA 硬件特點對算法進行了優(yōu)化。視頻輸入輸出是人臉識別的前提,它提供FPGA 上算法需要處理的數(shù)據(jù),預(yù)處理算法在C++算法的基礎(chǔ)上進行了優(yōu)化,最大的減少了運算量,提高了運算速度,16 位計算器模塊使得在算法實現(xiàn)時可以根據(jù)系統(tǒng)要求,在FPGA的ip 核和自己設(shè)計的模塊之間選擇性能更好的一個來調(diào)用,F(xiàn)IFO的設(shè)計提供同步和異步時鐘域的數(shù)據(jù)緩存。設(shè)計在ISE和VC++軟件平臺同時進行,隨時對verilog和C++數(shù)據(jù)進行監(jiān)測和比對。全部設(shè)計模塊通過仿真,達到預(yù)定的性能要求,并在FPGA 上綜合實現(xiàn)。
標簽:
FPGA
人臉識別
算法
上傳時間:
2013-07-13
上傳用戶:李夢晗