動態部分可重配置 FPGA 生物辨識 AFAS 賽靈思 指紋

動態部分可重配置技術加持 FPGA增強指紋辨識系統效能

生物指紋辨識系統效能將大幅精進。隨著智慧安防概念日益興盛,指紋辨識應用已陸續出現在日常生活中,但如何持續精進提升系統辨識效率則成為產業界亟待解決的問題;開發人員可透過具備動態部分可重配置技術的FPGA,強化指紋辨識演算法執行效率,以確保指紋辨識準確度。
當今人體生物特徵自動識別系統可說是最尖端、高效能的訊號與影像處理應用代表作。事實上,在使用許多機密系統前,都須通過認證或識別後才能操作;例如自動櫃員機(ATM)、電腦、行動電話和汽車。許多終端應用要求的安全等級比PIN、密碼或者身分證等身分驗證方法更高,它們大都使用具生物特性的個人資料識別演算法。

為進行概念驗證,本文運用賽靈思(Xilinx)Virtex-4 LX系列現場可編程閘陣列(FPGA)元件開發了一個自動指紋辨識系統(AFAS),藉此進行進階的智慧安全監控應用。系統業者可透過極低成本的FPGA元件嵌入完整的高效生物識別演算法,並能在資源不多的重配置區域內載入多重功能的子模組,且在實質建置的即時處理過程中確保資料精度和準確度,此一解決方案亦可望從理論研究邁向實踐階段,將部分重配置(PR)功能應用到消費性電子市場,並為全球消費者提供安全管理效率更佳的商業產品。

打造生物辨識安防系統 FPGA元件備受市場矚目

目前嵌入式系統的設計和開發均面臨重重挑戰,不僅需要不同程度的低功耗,且還要能即時處理複雜運算的應用,而這些挑戰在量產階段時更為顯著。在此一情況下,FPGA的動態部分重配置成為一種穩健可靠的替代技術方案,其能提供高功能密度的資源,進而有效平衡運用時間、功耗和成本的各項高度需求。

軟體定義無線電、航太及加密等領域的應用是目前FPGA動態部分可重配置功能最常見的應用;然而,產學界也正投入將部分可重配置功能應用在一個以往從未涉及的領域--生物識別技術。由於安全性已經成為現今數位資訊環境的重大議題,特別是在電子商務、電子保健、電子護照、電子金融,以及電子化投票等新穎的應用領域,系統開發人員認為在生物識別技術中使用部分可重配置功能將是極具潛力的作法。

然而,生物識別技術確實是一項極複雜的技術,對運算密集型的即時影像/訊號處理能力要求非常嚴苛,同時也要求極高的靈活度。隨著個人識別演算法也不斷演進,全球各地的研發團隊在這個領域投入大量心力,促使錯誤接受和錯誤拒絕之類的錯誤率都持續下降,讓消費者對生物識別系統日增信心,進而使接受度大幅增長。預計生物識別技術在未來將快速發展,且為了不讓已上市的生物識別產品容易過時,產品亦需要開放式架構,以利隨時進行升級。從此一角度觀察,具有動態可重配置功能的FPGA元件能滿足生物辨識系統多樣性要求和可擴展能力。

導入動態部分可重配置技術 低成本生物辨識系統有譜

低成本的考量亦是生物識別技術使用部分可重配置技術最重要原因。在消費性電子或汽車等競爭激烈的市場中,各家廠商推出市場的系統產品都必須有極具競爭力的成本結構;而客戶對產品的要求不外乎是更安全和更低的價格。增加生物識別演算法的運算效能可提升安全性和可靠度,然而,提升運算效能往往會延長執行時間,並讓成本上升,但如果在設計中採用動態部分可重配置技術,就較不會影響成本。藉由部分可重配置技術,設計人員可將運算系統以全新處理步驟的形式,加到現有應用程式的順序執行流程中。

設計人員可把生物識別演算法分割成一系列互斥且按順序執行的步驟,其中一個步驟的輸出或結果即是下一個步驟的輸入資料。這種按順序的執行程序意味著設計人員可及時且多次的運用硬體資源,並將硬體資源客製化以進行每段時間所需的不同任務,或者發揮不同的功能,增加它們的功能密度,因而能夠用一樣數量的資源來處理整個演算法。此外,部分可重配置技術的開銷較低,不會損及硬體加速帶來的益處。

另外,即時完成某個模組的部分可重配置作業不會中斷FPGA元件中的其他資源。在這種情況下,應用中未使用部分可重配置技術的模組將繼續運作,並確保應用與外部的連結暢通無阻。這項工作最大的挑戰是要展示部分可重配置技術適用開發具生物識別特性的複雜個人識別演算法;接下來將逐步介紹運用二維(2D)設計抽象層對功能進行空間和時間的管理實現此一目標。

指紋特徵識別難度高 智慧分析演算法角色吃重

指紋識別是自動個人識別技術中最常見、最可靠的作法。整體作法是將自動指紋識別(AFAS)在不同時間和不同條件下劃分為登記和識別兩個執行階段。登記是指使用者進行登記的系統配置程序;一般來說,在這個過程中,使用者向系統提供指紋,系統隨即執行一系列需要高效能運算的影像處理步驟,以取得所有具相關性、永久性和獨特性的資訊,從而使系統明確識別指紋的真正主人。這一系列的特性即構成了使用者ID,由系統儲存在資料庫中。這一過程一般會在安全的環境中,由專業人員的指導下進行離線作業。

當使用者登記完成後,下次使用者再輸入其指紋進系統的識別步驟時,系統會針對使用者提供的指紋與資料庫中經認證的用戶指紋進行對比。在登記過程中執行的各種處理作業將反覆進行,從而由當前的指紋採樣中取得獨特的特徵。系統隨後將這些特徵與資料庫中儲存的使用者指紋樣式進行對比,以確認當前的指紋掃描是否與登記的指紋樣式相符。根據資料庫規模的大小,識別分為驗證(Authentication)和辨識(Identification)兩種模式;驗證是指一對一(或者一對少量)的匹配;有多個用戶註冊到系統中,出現一對多匹配的情況時,則進行辨識。識別一般是會有即時條件約束的線上作業,而執行環境的安全度則較低。

圖1 自動指紋識別系統的空間分割和布局是在Virtex-4的一個靜態區域和一個可重配置區域內完成,而應用按時間順序進行劃分則在可重配置區域進行。
生物辨識的每一個步驟都被細分為一系列彼此獨立的任務,從指紋影像中取得可識別每個用戶的獨特資訊。以此為目的,系統將進行一系列具體的運算,如影像處理、三角函數或者統計學。圖1列舉了演算法中發生的任務,其中,第一項任務是影像擷取。依感測器的尺寸而定,系統可一次獲得整個指紋影像(全影像感測器),也可片段式擷取(拂掠式電容感測器)指紋。

系統開發人員獲得整個重構的影像後,下一步是進行背景與前景(即指紋皮膚的凹凸形成的重要區域)之分割,採用5×5圖元的Sobel邊緣檢測過濾器計算影像上每一個畫素點作迴旋積(Convolution)的結果,完成後,以特定的均值和方差進行影像標準化。

下一步,開發人員可透過非均質過濾功能來加強標準化影像。該步驟使用13×13圖元,恢復之前在採集階段時遺失的影像或因雜訊而導致損毀的相關影像資訊。完成影像強化步驟後,則要計算指紋向量圖(Field Orientation Map),以確定指紋影像前景中指紋皮膚的凹凸形成的區域之主要方向;其產生之定位向量(Field Orientation)隨後被送至全新的過濾步驟(5×5圖元),以獲得更精細的向量圖。

到目前為止,影像仍然是8位元灰階。在灰階影像二元化過程中,由7×7圖元的Gabor指向過濾器計算灰階影像的畫素,以提升由指紋皮膚凹凸形成的區域的清晰度,並將每個灰階圖元轉為1位元的二元化(黑或白)點狀。之後指紋皮膚凹凸形成的區域影像會重新進行平滑處理和重繪。隨後,細化或架構化的作業會將黑白影像轉為一個畫素寬度黑線圖像,從這個影像中要擷取紋線端點和紋線分叉點等指紋的特性或細節並不困難。

最後,在獲得到指紋細節和定位向量的細節後,就可進行指紋樣式和範本對比。由於要同時考慮到影像轉換和旋轉動作,並顧及採集階段因皮膚彈性導致的影像變形引起的可接受程度誤差值,因而採用一種逐一嘗試的演算法(Brute-force Algorithm),讓兩者能達到最理想的重合。下一步是進行樣式和範本匹配,以獲知兩者之間的相似度,隨後自動化系統可以根據相似度來確定兩個影像是否屬於同一人。

圖2所示的整個處理過程中,指紋影像的解析度為500dpi、8位元灰階,影像大小為280×512畫素。運用熱感指紋感測器FingerChip掃描技術擷取指紋影像,並採用FPGA元件進行運算。

圖2 生物識別技術演算法各個階段按順序取得的最終圖像(左方是指紋樣式處理,右方是指紋採樣處理)。

高速擷取用戶指紋特徵 FPGA提升辨識系統效率

Virtex-4 FPGA元件是AFAS平台的運算單元,其中採用Flash記憶體作為系統資料庫,儲存使用者指紋樣式或生物識別演算法配置設定等特定應用的非揮發性資料。此外,該系統也使用DDR-SDRAM記憶體暫時儲存從每個處理階段中產生的中間數據或影像。本文範例採用的是序列式傳輸通訊,在這個案例中是運用一個連接至UART控制器的RS-232收發器作為除錯用途,其中UART控制器已整合至FPGA元件的資源裡,這可將每個階段產生的影像傳輸到PC,以便用圖形化的方式檢視每個步驟的指紋影像或結果。最後,如圖3所示使用掃描式指紋感測器擷取用戶的生物識別特性,並輸入至識別演算法。

圖3 建議的自動指紋識別系統架構和功能元件細分圖

圖4 在某特定時間點的應用執行流程中,FPGA元件內的位元流完整分布結構。靜態區(左圖)和在PRR中其中一個動態可重配置生物識別協同處理器實例(中圖)所構成完整位元流(右圖)。
如圖4所示,用作運算單元的FPGA被劃分為兩個區域:一個是完全由多重處理器 CoreConnect 匯流排系統構成的靜態區;另一個是部分可重配置區,用於根據需求放置客製化生物識別協處理器或IP,以執行識別演算法的各種順序作業,並提供進階的處理作業重複使用。多重處理器匯流排系統主要包含MicroBlaze處理器和其他標準周邊功能,同時還擁有一個連結至ICAP埠的部分可重配置控制器。

如圖1所示,所有的處理作業都按照從0(靜態)到B進行數次循序執行。除MicroBlaze用軟體方式擷取指紋的過程外,在部分重配置區域(PRR)的所有作業都由客製化的硬體協同處理器負責。這過程需要特定區分軟硬體的原因是由於掃描傳感器需要5毫秒的整合時間,以獲得連續的塊狀影像。此一運算速度的要求無需採用客製化的硬體協同處理器,透過MicroBlaze直接用軟體即有足夠效能執行影像重建。

由於有即時運算的需求,過程中其餘的作業則由FPGA元件PRR中的客製化硬體協同處理器來執行。一旦每個特定的作業完成後,位於元件靜態區的部分可重配置控制器會經由MicroBlaze處理器的指令取代PRR中的協同處理器,並進行下一步驟的生物特徵演算法。部分可重配置控制器透過ICAP介面將新模組的配置資料從記憶體中直接傳輸到內部FPGA配置的記憶體,以利完成此項作業。

加速重新配置過程 可重配置控制器至關重要

高效率可重配置控制器設計是成功部署單一環境FPGA可重配置系統的關鍵環節。雖然PRR在重新配置時,FPGA的非可重配置區域仍然是處於作業狀態,但是PRR的資源此時則處於不運作的狀態,因此應盡最大的可能加快重新配置的過程,將開銷降到最低。

可重配置的作業時間取決於資料匯流排頻寬、為可重配置的頻率和位元流大小等三個因素。前兩個因素與介面特性有關,而最後一個則與PRR的大小及其中的部分可重配置模組(PRM)的設計複雜程度有關。

在實驗中開發人員建置了一個可重配置控制器,其能在運行時將部分位元流以高頻寬從外部記憶體傳輸到FPGA的晶片內建配置記憶體中。在部分位元流不受限於大小,以及將外部記憶體作為共享資源的條件下,則可達到Virtex-4技術的最高可重配置頻寬。

此外,FIFO的寫入埠與NPI相連接,並採用64位元資料匯流排;而FIFO的讀取埠則與ICAP連結,且使用32位元的資料頻寬。為了將傳輸延遲率降至最低,主系統MMU以64位元暴突式傳輸(Burst Transfer)向內部FIFO位元進行可重配置資料,從而完成模組的可重配置作業。這是在可接受範圍內最長的暴突式傳輸,因而所有部分可重配置位元資料的暴突式傳輸都可在最低延遲率的情況下完成。

事實上,只要FIFO不是處於空置的狀態,可重配置控制器就能夠讀取已經儲存的FIFO資料,並且將其以32位元格式傳輸給ICAP原始介面,加速FPGA重新配置的過程。

可重配置控制器負責處理對大型DDR-SDRAM的直接記憶體存取(DMA)。針對這個部分,開發人員可設置了另一個客製化、含有多個配置暫存器的附屬MMU控制器,將其連至PLBv46匯流排,並由中央處理器(CPU)直接控制。

採用這種方式,CPU僅需做兩件事情;首先是將部分可重配置的位元流的初始位址和大小配置為可下載至PRR,然後向主系統MMU發出執行指令,以啟動可重配置過程,接著主系統MMU開始將位元流以DMA的方式直接傳輸至內部的FIFO,隨後再從該FIFO傳輸到ICAP原始介面,最後可重配置控制器在傳輸完畢後就會通知CPU。

因此,即使CPU可同時透過XCL或PLBv46匯流排存取DDR-SDRAM時,開發人員也能成功實現部分可重配置位元流最大的傳輸量。終其原因是CPU在內部BRAM快取記憶體中執行程式流程,讓外部DDS-SDRAM可對可重配置控制器進行存取。

值得注意的是,這個為部分可重配置的位元流和軟體應用分配的DDR-SDRAM記憶體並非專用資源,而是共享資源。即使如此,此一架構與目前其他可重配置控制器方案相比,其效能也有較為顯著的提升,原因在於其可達到Virtex-4的最大可重配置傳輸量。

本文所述的嵌入式自動指紋識別系統基本上是一項高效能影像處理應用,因為此一應用需要大量平行運算能力和即時認證反應。從人體工學的角度而言,這個系統可使每一個使用者的認證時間不超過2秒或3秒。

由於掃描感測器的效能限制,因此影像擷取作業所需的時間設定為500毫秒。在不考慮影像擷取作業的情況下,可重配置的方法可將執行其他處理作業形成的延遲降至205毫秒。相較於在PC上執行純軟體方法高達3,274毫秒的延遲,部分可重配置的方法可將執行速度提升十六倍。

有鑑於此,表1說明運用平行運算和生產線技術的軟硬體共同設計,加上低延遲的可重配置技術,可提供即時認證的功能。此外,可重配置解決方案中的每項作業都可用特定的運作頻率執行;這個頻率是由新模組的特性所決定。而在這個實驗中的設計,所有作業以50或100MHz的運作頻率執行所有作業。

透過新一代具有部分可重配置功能的低階28奈米FPGA元件,開發人員能以低成本設計出一款能夠在任何消費性電子產品都可使用的高效能生物識別安全性的系統,而生物識別應用現在已到了動態可重配置運算的時代,並且可望更廣泛運用在各項電子產品中。

(本文作者皆為西班牙塔拉戈納洛維拉維吉利大學博士生)

本站使用cookie及相關技術分析來改善使用者體驗。瞭解更多

我知道了!