01. 設(shè)計(jì)概述 1.1 設(shè)計(jì)目的
隨著疫情的出現(xiàn),線上會(huì)議的應(yīng)用越來(lái)越廣泛,相關(guān)的技術(shù)也越來(lái)越成熟,但當(dāng)前的線上會(huì)議系統(tǒng)大都基于電腦和手機(jī),便于個(gè)人使用,但由于其攝像頭拍攝方向固定,當(dāng)會(huì)議一端有多人參與時(shí),就需要每人都單獨(dú)開(kāi)一個(gè)窗口才能有較好的效果,較為不便?;诖耍覀?cè)O(shè)計(jì)了一個(gè)新的會(huì)議系統(tǒng),以更好地適應(yīng)多人會(huì)議的需求。
本系統(tǒng)以 Xilinx PYNQ-Z2 FPGA 為控制核心,將聲源定位與圖像識(shí)別相結(jié) 合。通過(guò)對(duì)環(huán)境聲音的實(shí)時(shí)檢測(cè),實(shí)現(xiàn)對(duì)聲源目標(biāo)的定位,并基于特征提取和模式匹配的方法對(duì)目標(biāo)進(jìn)行圖像識(shí)別,根據(jù)提前訓(xùn)練的數(shù)據(jù)模型,在顯示屏上框出 目標(biāo)并顯示目標(biāo)的個(gè)人信息。同時(shí),也可以通過(guò) socket 通信將識(shí)別后的圖像信息 直接發(fā)送至客戶端(PC 機(jī)等)顯示,從而實(shí)現(xiàn)遠(yuǎn)程會(huì)議的效果。
1.2 應(yīng)用領(lǐng)域
本系統(tǒng)理念較為新穎,將聲源定位與圖像識(shí)別相結(jié)合,并在 FPGA 上實(shí)現(xiàn), 使得系統(tǒng)整體體積與功耗都較小,可以在各種線上會(huì)議中使用,在疫情防控常態(tài) 化的當(dāng)下,應(yīng)用前景十分廣泛。例如,該系統(tǒng)可以用于在企業(yè)之間進(jìn)行的大型會(huì) 議,聲源定位功能可以使攝像頭實(shí)時(shí)跟蹤講話人,并對(duì)其進(jìn)行識(shí)別,顯示人員信 息,這就使得只使用一個(gè)客戶端就可以較好地實(shí)現(xiàn)多人會(huì)議,節(jié)省資源;另外, 該系統(tǒng)在多方參與的學(xué)術(shù)會(huì)議或國(guó)際會(huì)議中也都比較適用。
1.3 主要技術(shù)特點(diǎn)
(1)采用四麥克風(fēng)陣列采集聲音信息,并通過(guò)硬件電路將麥克風(fēng)陣列輸出 PDM 信號(hào)直接轉(zhuǎn)換為 I2S 信號(hào)送入 FPGA 中處理。 (2)使用 python 編寫的 TDOA 算法進(jìn)行聲源定位,即先通過(guò) GCC-PHAT 算法 得出不同麥克風(fēng)芯片接收到聲音的時(shí)延,再通過(guò)幾何關(guān)系計(jì)算出聲源所在的角度。 (3)采用 Haar 特征提取算法檢測(cè)人臉區(qū)域,速度快,識(shí)別率較高;采用 LBPH 特征識(shí)別算法對(duì)數(shù)據(jù)集中的圖片進(jìn)行訓(xùn)練,訓(xùn)練完成后,建立標(biāo)簽與真實(shí)人員姓 名的直接映射表,從而實(shí)現(xiàn)身份識(shí)別。 (4)基于 socket 通信,使用 UDP 通信協(xié)議,將圖像從 FPGA 中實(shí)時(shí)傳輸?shù)娇蛻?端 (PC 機(jī)等)中顯示,從而實(shí)現(xiàn)遠(yuǎn)程會(huì)議的功能。 1.4 關(guān)鍵性能指標(biāo)
(1)聲源定位速度與準(zhǔn)確率 本系統(tǒng)在環(huán)境噪聲較小的情況下可在 1 秒之內(nèi)完成聲源定位,準(zhǔn)確率幾乎為 100%;在環(huán)境噪聲較大的情況下定位時(shí)間會(huì)稍長(zhǎng),在 2 秒左右也基本可以完成 定位,準(zhǔn)確度在 90%以上。 (2)人臉檢測(cè)與身份識(shí)別速度與準(zhǔn)確率 本系統(tǒng)人臉檢測(cè)速度較快,當(dāng)人臉進(jìn)入攝像頭中部區(qū)域后就可立即框出 人臉,在攝像頭中部區(qū)域人臉檢測(cè)準(zhǔn)確率幾乎為 100%;身份識(shí)別速度較人臉檢 測(cè)稍慢,但識(shí)別時(shí)間都在 0.5s 左右,當(dāng)人員處于拍攝區(qū)域中部時(shí)識(shí)別準(zhǔn)確率較 高,在 90%以上,當(dāng)人員處于拍攝區(qū)域邊緣時(shí)準(zhǔn)確度較低,但也基本都在 80%以 上。 (3)數(shù)據(jù)無(wú)線傳輸速率與延時(shí) 本系統(tǒng)無(wú)線數(shù)據(jù)傳輸時(shí),客戶端(PC)接收到圖像信息的延時(shí)在 1s 左右,延時(shí) 較低;其傳輸速率也較快,顯示的圖像基本都在 3 幀/秒以上。 1.5 主要?jiǎng)?chuàng)新點(diǎn)
(1)采用了數(shù)字麥克風(fēng)芯片,抗干擾能力較強(qiáng),且在使用時(shí)外圍電路簡(jiǎn)單;使 用四芯片麥克風(fēng)陣列采集聲音信號(hào),使得其在 360°平面內(nèi)對(duì)聲源方向角度的分 辨率大大提高。 (2)采用 AC108 芯片將 PDM 信號(hào)轉(zhuǎn)換為 I2S 信號(hào),再送入 FPGA 中處理。 (3)采用 TDOA 算法,并在高速、并行的 FPGA 中實(shí)現(xiàn),使得聲源定位的速度 較快,延遲較低。 (4)使用舵機(jī)搭建了水平 360°云臺(tái),使攝像頭可以更方便地跟蹤聲源。 (5)系統(tǒng)支持現(xiàn)場(chǎng)錄入人員并學(xué)習(xí),且識(shí)別率較高。 (6)基于 socket 通信,實(shí)現(xiàn)將圖像信息從 FPGA 中實(shí)時(shí)傳輸?shù)娇蛻舳?PC 機(jī)等) 顯示的功能。 (7)該會(huì)議系統(tǒng)功耗低、體積小、易安裝并且可供多人在同一客戶端使用。
02. 系統(tǒng)組成及功能部分
2.1 整體介紹
本系統(tǒng)由麥克風(fēng)陣列模塊、FPGA 處理器模塊、攝像頭模塊、遠(yuǎn)程數(shù)據(jù)傳輸 模塊和顯示模塊共同組成。麥克風(fēng)陣列模塊在檢測(cè)聲音信號(hào)后,將轉(zhuǎn)換后的 PCM 碼送入 FPGA 處理器模塊處理,實(shí)現(xiàn)對(duì)聲源目標(biāo)的定位;攝像頭模塊在接收到 FPGA 處理器模塊發(fā)出的位置信號(hào)后,控制攝像頭轉(zhuǎn)向聲源方向,并將攝像頭拍 攝到的圖像信息傳入 FPGA 處理器模塊進(jìn)行處理,識(shí)別其是否為檢測(cè)目標(biāo),若為 檢測(cè)目標(biāo)則顯示檢測(cè)到的人員信息;若沒(méi)有檢測(cè)到相關(guān)目標(biāo),則重新進(jìn)行聲源定 位。圖 2.1 為系統(tǒng)整體框圖。
▲圖2.1系統(tǒng)整體框圖
2.2 各模塊介紹
2.2.1 麥克風(fēng)陣列模塊
系統(tǒng)采用由 KNOWLES 公司制造的性能優(yōu)良的 MEMS 數(shù)字麥克風(fēng)芯片 SPU0414HR5H,可識(shí)別頻率在 100Hz~10kHz 范圍內(nèi)的聲音信號(hào)。選用四芯片麥 克風(fēng)陣列采集聲音信號(hào),輸出四路 PDM 信號(hào)到 AC108 芯片中進(jìn)行解調(diào),輸出 PCM 信號(hào)送入 FPGA 中進(jìn)行處理。其實(shí)物圖如下圖所示:
▲圖2.2.1麥克風(fēng)陣列
2.2.2 FPGA 處理器模塊
處理器模塊主要采用 Xilinx PYNQ-Z2 開(kāi)發(fā)板,其由 650MHz 雙核 Coryex-A9 處理器與 FPGA 組成。PYNQ-Z2 開(kāi)發(fā)板支持 Python 語(yǔ)言開(kāi)發(fā),也支持使用傳統(tǒng) 的 Xilinx Vivado 開(kāi)發(fā)工具流程平臺(tái)開(kāi)發(fā)編寫 Verilog 來(lái)開(kāi)發(fā)嵌入式系統(tǒng)應(yīng)用。同 時(shí),PYNQ-Z2 開(kāi)發(fā)板也具有極其豐富的外設(shè)接口,如千兆以太網(wǎng)口、USB 接口、 UART 接口、HDMI 輸出/輸出接口等常用接口,還提供了兼容 Ardunio、RPi、 Pmod 的擴(kuò)展接口。
聲源定位算法和圖像識(shí)別的算法均在處理器模塊中實(shí)現(xiàn)。
(1)TDOA 聲源定位算法
TDOA 定位算法是一種利用時(shí)間差進(jìn)行定位的方法,通過(guò)測(cè)量信號(hào)到達(dá)的時(shí) 間,可以確定信號(hào)源的距離,利用信號(hào)源到各個(gè)信號(hào)接受點(diǎn)的距離,就能確定信 號(hào)的位置。采用 GCC-PHAT 算法,先對(duì)輸入 FPGA 中的 PCM 信號(hào)通過(guò) I2S 協(xié)議 采樣,得到四路數(shù)字信號(hào),以兩個(gè)信號(hào)為一組,采用廣義互相關(guān)的方法求出時(shí)延, 即求兩路信號(hào)的互頻譜,得出其頻譜峰值索引,即為聲音到這兩路信號(hào)采集點(diǎn)的 時(shí)延。得到時(shí)延后,根據(jù)幾何關(guān)系,即可求出聲源與兩對(duì)角信號(hào)采集點(diǎn)連線的角 度,進(jìn)而得到攝像頭需要旋轉(zhuǎn)的角度信息。
(2)Haar 特征提取算法
系統(tǒng)使用 Haar 特征提取的識(shí)別算法進(jìn)行人臉檢測(cè)。Haar 特征提取過(guò)程是將 一副圖像中所有黑色矩形框和白色矩形框中所包含的全部像素進(jìn)行差值運(yùn)算,得到該圖像的 Haar 特征值,但由于一副圖像中包含的 Haar 特征的個(gè)數(shù)較多,對(duì)于其中矩形特征的特征值的提取相對(duì)比較復(fù)雜,因此采用積分圖像的轉(zhuǎn)換來(lái)縮減其計(jì)算量,以提高運(yùn)算速度。
在提取出 Haar 特征后,將其分別轉(zhuǎn)化為弱分類器,然后根據(jù)弱分類器處理樣本數(shù)據(jù),根據(jù)其正確分類樣本的情況來(lái)改變其權(quán)值大小,進(jìn)而產(chǎn)生多個(gè)強(qiáng)分類器,然后將這些訓(xùn)練產(chǎn)生的強(qiáng)分類器繼續(xù)迭代,最終獲得一個(gè)識(shí)別率較高的最終強(qiáng)分類器,從而實(shí)現(xiàn)對(duì)人臉區(qū)域的準(zhǔn)確識(shí)別。
(3)LBPH 特征識(shí)別算法
系統(tǒng)采用了基于 LBP(局部二值模式)特征的 Adaboost(級(jí)聯(lián)分類器)進(jìn)行人臉 識(shí)別。LBP 是典型的二值描述算子,其更多的是整數(shù)計(jì)算,可以通過(guò)各種邏輯操 作對(duì)運(yùn)算過(guò)程進(jìn)行優(yōu)化,因此效率較高。此外,通常光照對(duì)圖像中物體的影響是 全局的,即圖像中物體的明暗程度通常是往同一個(gè)方向改變的,只是改變的幅度 會(huì)因距離光源的遠(yuǎn)近而有所不同,故圖像中局部相鄰的像素間受光照影響后的相 對(duì)大小不會(huì)改變,LBP 特征也因此對(duì)光照具有比較好的魯棒性。Adaboost 是一種 迭代算法,其核心思想是針對(duì)同一個(gè)訓(xùn)練集訓(xùn)練不同的弱分類器,然后把這些弱 分類器集合起來(lái),構(gòu)成一個(gè)更強(qiáng)的最終分類器。Adaboost 算法系統(tǒng)具有較高的 檢測(cè)速率,且不易出現(xiàn)過(guò)適應(yīng)現(xiàn)象。
2.2.3 攝像頭模塊
采用 GUCEE 攝像頭,1200 萬(wàn)像素,動(dòng)態(tài)分辨率支持 1920*1080,其機(jī)身小 巧,易于安裝,適合在各種環(huán)境下使用。同時(shí),系統(tǒng)搭建了一個(gè)攝像頭云臺(tái),使 用一個(gè)舵機(jī)來(lái)控制云臺(tái)上攝像頭的轉(zhuǎn)向,使其能在水平 360°范圍內(nèi)跟蹤聲源方位。
2.2.4 遠(yuǎn)程數(shù)據(jù)傳輸模塊
系統(tǒng)基于 socket 通信,編寫 python 創(chuàng)建 UDP 服務(wù)端程序,在同一局域網(wǎng)下 可以將圖像信息直接從 FPGA 中發(fā)送到任一客戶端(PC 機(jī)等)中,客戶端只需打 開(kāi)使用 python 編寫好的上位機(jī)程序,即可接收到信息并同步顯示。其無(wú)線傳輸延遲較小,傳輸速度較快且輸出圖像較為清晰。2.2.5 顯示模塊 采用 Creatblock7 寸 iPS 高清顯示屏,使用 FPGA 中的顯示模塊將識(shí)別后的 圖像直接顯示在顯示屏上。
03.
完成情況及性能參數(shù)
3.1 聲源定位
系統(tǒng)可較好實(shí)現(xiàn) 360°聲源定位,在環(huán)境噪聲較小的情況下,識(shí)別很精準(zhǔn), 誤差不超過(guò) 5°,在有一定噪聲干擾的情況下,其識(shí)別度也能穩(wěn)定在一定水平, 識(shí)別誤差不超過(guò) 15%。下表為聲源定位測(cè)試結(jié)果:
▲表3.1 單頻聲源定位測(cè)試結(jié)果
3.2 身份識(shí)別與顯示
系統(tǒng)能夠很好地實(shí)現(xiàn)人臉檢測(cè)與身份識(shí)別功能,且運(yùn)算速度較快,在識(shí)別到 人臉后能夠迅速框出人臉,并將其人臉特征與數(shù)據(jù)庫(kù)中錄入特征進(jìn)行匹配,若匹 配到相應(yīng)的人臉信息則直接在方框上方顯示當(dāng)前人員信息,若未匹配到相應(yīng)人臉 信息,則只框出人臉。人臉檢測(cè)識(shí)別率很高,識(shí)別速度較快;身份識(shí)別速度較快, 在單人識(shí)別時(shí)成功率較高,達(dá)到 90%以上,當(dāng)同時(shí)有多人在識(shí)別范圍內(nèi)時(shí)識(shí)別準(zhǔn) 確度會(huì)受到影響,但也基本在 80%以上。識(shí)別后的圖像可以清晰地在顯示屏上顯 示,并且顯示延遲較小。下圖為人臉檢測(cè)與身份識(shí)別顯示畫面:
3.3 無(wú)線數(shù)據(jù)傳輸
系統(tǒng)通過(guò) socket 通信,可以將圖像信息直接通過(guò)局域網(wǎng)傳輸?shù)娇蛻舳酥?,這 里使用 PC 機(jī)作為客戶端,在運(yùn)行上位機(jī)程序后即可接收到從 FPGA 中實(shí)時(shí)傳輸?shù)膱D像。通過(guò) FPGA 上的撥碼開(kāi)關(guān)可以控制傳輸圖像的模式,即實(shí)時(shí)顯示模式和 身份識(shí)別模式。下圖為 PC 機(jī)接收到的圖像:
04.
完成情況及性能參數(shù)
4.1 可擴(kuò)展之處
(1)當(dāng)前系統(tǒng)聲源定位在特定位置處定位誤差會(huì)略大,同時(shí),在環(huán)境噪音較大 的情況下,也會(huì)對(duì)聲源定位造成一定影響。可通過(guò)增加麥克風(fēng)數(shù)量,改變麥克風(fēng)陣列結(jié)構(gòu)或改進(jìn)聲源定位算法等進(jìn)一步提高系統(tǒng)聲源定位的精度與抗干擾性。
(2)拓展圖像處理功能,將攝像頭拍到的圖像降噪,并根據(jù)圖像的具體情況自 動(dòng)將圖像的亮度和對(duì)比度等特性調(diào)節(jié)到合適的值。
(3)當(dāng)前系統(tǒng)無(wú)線數(shù)據(jù)傳輸功能只能將FPGA拍攝到的圖像數(shù)據(jù)發(fā)送到和FPGA 連接在同一局域網(wǎng)內(nèi)的客戶端中,可以進(jìn)一步完善無(wú)線傳輸功能,使得 FPGA可以直接將圖像數(shù)據(jù)發(fā)送到外網(wǎng)的客戶端中,增加系統(tǒng)的實(shí)用性。
(4)優(yōu)化圖像處理算法,進(jìn)一步提高人臉識(shí)別算法的準(zhǔn)確度與魯棒性。
-
Xilinx
+關(guān)注
關(guān)注
70文章
2136瀏覽量
120376 -
圖像識(shí)別
+關(guān)注
關(guān)注
9文章
514瀏覽量
38149 -
會(huì)議系統(tǒng)
+關(guān)注
關(guān)注
1文章
42瀏覽量
11667
原文標(biāo)題:基于 FPGA 的會(huì)議系統(tǒng)設(shè)計(jì)
文章出處:【微信號(hào):HXSLH1010101010,微信公眾號(hào):FPGA技術(shù)江湖】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論