當(dāng)前位置:首頁 > EDA > 電子設(shè)計自動化
[導(dǎo)讀]引言  Adaboost 算法是Freund 和Schapire 于1995 年提出的,全稱為Adaptive Boosting。它是 Boosting 算法的改進(jìn),意為該算法通過機(jī)器訓(xùn)練與學(xué)習(xí)不斷自適應(yīng)地調(diào)整假設(shè)的錯誤率,這 種靈活性使得Adaboost 算法很容易

引言

  Adaboost 算法是Freund 和Schapire 于1995 年提出的,全稱為Adaptive Boosting。它是 Boosting 算法的改進(jìn),意為該算法通過機(jī)器訓(xùn)練與學(xué)習(xí)不斷自適應(yīng)地調(diào)整假設(shè)的錯誤率,這 種靈活性使得Adaboost 算法很容易與實際應(yīng)用聯(lián)系起來。2001 年,微軟研究院的P.Viola 提出了基于Haar 特征的Adaboost 算法[1],創(chuàng)造性地將積分圖的概念引入到人臉檢測的特征 計算當(dāng)中,由于此算法使用了大量尺寸不一的矩形作用來表征人臉。并且該算法中用以檢測 人臉的分類器是采用的級聯(lián)結(jié)構(gòu),按照由弱到強(qiáng)的順序組織的,其優(yōu)點在于按照統(tǒng)計概率, 在圖像檢測的一開始就能夠?qū)⒋蟛糠植话四樀膮^(qū)域排除在外,省去了后面計算負(fù)載更重 的檢測步驟,以此達(dá)到檢測速度提升的目的。經(jīng)過實際測試,P3 700MHz 的處理器對352*288 的圖像進(jìn)行檢測的速度為15 幀/秒[2]。但是如果在嵌入式平臺上運(yùn)行的話,純軟件的檢測速 度則為2 幀/秒[3]。本設(shè)計將這種快速檢測算法轉(zhuǎn)化成了一種并行處理圖片像素點的硬件結(jié) 構(gòu),能夠大幅度提升圖像中的人臉檢測速度。
 


 

  目標(biāo)平臺

  Virtex5 系列FPGA 是Xilinx 最新一代基于65nm 的FPGA 產(chǎn)品。相比上代產(chǎn)品,速度 平均提高30%。其改進(jìn)后的六輸入的查找表 (LUT) 和新型對角互連結(jié)構(gòu),減少了邏輯層次, 增強(qiáng)了構(gòu)造塊之間的信號互連。

  本文系統(tǒng)的實現(xiàn)主要用到了兩類邏輯資源來優(yōu)化系統(tǒng)性能: DSP48E Slice:25x18 位二進(jìn)制補(bǔ)碼乘法器能產(chǎn)生48 位全精度結(jié)果。此功能單元還能夠 實現(xiàn)諸多DSP 模塊如乘累加器、桶形移位器、寬總線多路復(fù)用器等。

  Block RAM:可配置成2 個18 Kb 或1 個36 Kb 的Block RAM,也能夠配置為雙端口 RAM 或FIFO,并提供了ECC 校驗檢查功能,提高了系統(tǒng)可靠性。
 


 

  硬件系統(tǒng)結(jié)構(gòu)

  本文采用了一種像素積分單元陣列的結(jié)構(gòu)來實現(xiàn)對圖像進(jìn)行人臉檢測的并行性處理 [4,5]。該陣列的計算對象為Haar 特征。該特征被抽象為各種尺寸大小的矩形。一系列的矩形 組合起來即被用來表征人臉。黑白矩形內(nèi)像素的灰度值經(jīng)過加權(quán)求和后即為該特征的特征 值。積分圖ii 的定義是:


其中ii(x, y)是積分圖在點(x, y)處的積分值,i(x', y')是圖像在點(x', y')處的灰度值。利用積分圖可以快速計算矩形S的灰度和,即Sum=A+D-B-C,其中A、B、C、D 是積分圖中矩形頂點對應(yīng)的積分值。

  系統(tǒng)結(jié)構(gòu)框圖如圖 3 所示,整個系統(tǒng)的工作流程和各模塊功能闡述如下:
 


 

  圖像輸入模塊:系統(tǒng)輸入端外接一個模擬攝像頭,采集到的圖像信號經(jīng)過板上的A/D 芯片轉(zhuǎn)換成ITU-R BT.656 (YCrCb 4:2:2,8 位數(shù)據(jù)寬度)分辨率為352x288(CIF)的圖像格式。 該模塊的作用為當(dāng)檢測控制狀態(tài)機(jī)發(fā)送初始化信號后,通過I2C 總線配置A/D 芯片完成信號轉(zhuǎn)換。另外,由于BT.656 格式混合包含了視頻的場信息和圖像數(shù)據(jù),因此該模塊還要從 BT.656 信號中提取出圖像數(shù)據(jù)存放到圖像RAM 中。針對該實現(xiàn),RAM 大小為8 位寬度, 深度為101376。

  像素積分陣列:像素積分單元陣列是本系統(tǒng)中進(jìn)行快速人臉檢測的核心處理模塊。在將 圖像進(jìn)入片內(nèi)RAM 后,系統(tǒng)將采用20x20 的移動窗口對整幅圖像進(jìn)行掃描處理。每個周期 的開始階段,檢測窗口包含的一行(20 像素)的灰度值由底部進(jìn)入積分陣列,積分陣列上部輸 出按從左至右方向的行像素值的積分和,右部則輸出每行按從左至右方向的像素值的平方 和。陣列中的灰色方格則保存了檢測窗口對應(yīng)原始圖像部分的像素積分值。陣列中的帶豎線 和右斜線的方格表示了存儲特征所包含的矩形權(quán)重和特征相似度等參數(shù)的流水線。在整個掃 描窗口的像素積分值都進(jìn)入此陣列后經(jīng)過左側(cè)編碼模塊的編碼控制后,從陣列的右側(cè)可以得 到當(dāng)前一級分類器所包含的矩形的像素灰度值。此灰度值被送到右側(cè)的檢測模塊(如圖 4): 首先會和當(dāng)前一級分類器中對應(yīng)特征的權(quán)重weight 相乘,然后將乘積進(jìn)行累加后即得到當(dāng) 前區(qū)域?qū)?yīng)此特征的特征值。接著這個值會與分類器中的特征閾值a 比較,從而選擇對應(yīng) 的特征相似度γo(大于等于a )或者γ1 (小于a ),此相似度值也將被累加,當(dāng)該級分類器中 所包含的全部特征的特征相似度都累加完畢后會與最終的該級的檢測閾值β比較。比較后 的結(jié)果顯示了該窗口區(qū)域是否包含了人臉,1 即為包含,0 即為不包含。如果包含人臉,此 模塊還將把當(dāng)前檢測到的人臉的區(qū)域信息(包括矩形的左上角起始坐標(biāo)和矩形長、寬)保存在 一個專用的存儲區(qū)域,以用于后面的結(jié)果輸出。
 


 

  人臉信息處理單元:像素積分單元陣列檢測到人臉后,此單元將首先保存檢測到的人臉 位置信息。如同檢測階段中分類器中的特征包含的矩形表達(dá)式一樣,人臉位置信息也是由起 始點坐標(biāo)和矩形的長、寬組成:(x, y, width, height)。接著根據(jù)此信息控制后一級的視頻輸出 模塊用以顯示人臉。讀取(x, y),在圖像RAM中檢索到對應(yīng)人臉的起始點的地址,往該地址 中寫入像素值0。接著縱坐標(biāo)不變,延x軸方向只至x+width-1的點的像素值均更新為0。然后 是繪制人臉的縱向邊界。保持橫坐標(biāo)為x+width-1,y坐標(biāo)依次增1只至y+height-1,將此列對 應(yīng)點的像素值更新為0。后面再按照類似的方法折回完成余下的人臉邊界的標(biāo)識。此時存放 在RAM中的檢測后的圖像數(shù)據(jù)被送入到視頻輸出模塊,該模塊以800x600的分辨率將最后的 檢測結(jié)果顯示在VGA屏幕上,在屏幕顯示中,被黑色方框包圍的區(qū)域即是人臉。

  圖像縮放單元:此模塊用以檢測圖像中大于20x20像素的人臉。本文采用的是固定大小 為20x20的移動窗口,以從上至下,從左至右的方向遍歷掃描整幅圖像來檢測人臉。對原始 圖像數(shù)據(jù)掃描完一遍后,能夠直接檢測出圖像中大小在20x20以內(nèi)的人臉。然后有檢測控制 狀態(tài)機(jī)負(fù)責(zé)啟動該單元模塊,以一定系數(shù)對原始圖像進(jìn)行縮小處理。處理方法采用的是按照 縮小比例生成提取像素點的地址,并將這些像素點重新組成縮小后的圖像。其計算公式如下 所示,其中( x0 ,y0  )   和(x1 , y1) 分別為原圖像和縮小后的點坐標(biāo),scale參數(shù)為查表所得:
 


 

  測試結(jié)果

  該 系 統(tǒng) 在 Xilinx ML509 開發(fā)板上進(jìn)行測試, 該開發(fā)板上采用了一塊 XC5VLX110T-FF1136 的FPGA 芯片,測試方案為:將攝像頭實時采集到的圖像送進(jìn)系統(tǒng)視 頻輸入模塊,然后經(jīng)過撥碼開關(guān)來控制板上的AD9880 芯片轉(zhuǎn)化為384x288 的8 位灰度圖送 入核心檢測模塊檢測并輸出在VGA 顯示器上。整個系統(tǒng)邏輯資源占用情況如表 1 所示。表 2 為最后系統(tǒng)能夠運(yùn)行的最高頻率。
 


 

  結(jié)論

  本文創(chuàng)新點在于采用了一種像素積分單元陣列結(jié)構(gòu),能夠?qū)?Adaboost 算法中的Haar 特征進(jìn)行并行處理。結(jié)合Virtex5 平臺豐富和特殊結(jié)構(gòu)的邏輯資源,得到了理想的性能,甚 至已經(jīng)能夠和高性能的PC 平臺相提并論。從結(jié)果中可以看到,本系統(tǒng)只使用了部分資源。 通過在FPGA 芯片內(nèi)部例化更多的處理單元,還有進(jìn)一步增大并行性以取得性能提升的空 間。

 

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉