《電子技術應用》
您所在的位置:首頁 > 通信與網(wǎng)絡 > 設計應用 > 基于ARM9的便攜式人臉識別系統(tǒng)
基于ARM9的便攜式人臉識別系統(tǒng)
EEworld
EEworld
摘要: 摘要:介紹了一種硬件基于ARM9處理器,采用主成分分析法(PCA)的人臉識別系統(tǒng)。實現(xiàn)了脫離PC機進行人臉識別。系...
關鍵詞: RFID|NFC 人臉識別 PCA ARM9
Abstract:
Key words :

關鍵字:人臉識別" title="人臉識別">人臉識別;PCA" title="PCA">PCA;ARM9" title="ARM9">ARM9

    開發(fā)低成本、小型化人臉識別系統(tǒng)在發(fā)展實際人臉識別應用中具有重要的意義。本系統(tǒng)采用ARM9作為系統(tǒng)控制芯片,達到了系統(tǒng)低成本、便攜化、小型化的要求。不同于運行在PC機的人臉識別算法,系統(tǒng)的識別算法必須更多地考慮算法的計算量和ARM的運行速度,使識別準確率和識別時間都達到可接受范圍。

1 硬件平臺

1a.jpg


1.1 ARM9處理器
    本系統(tǒng)采用三星公司的ARM9系列S3C2410作為處理器,工作頻率可達到203 MHz,可滿足系統(tǒng)對計算速度的要求。該處理器內置2個USB HOST,本系統(tǒng)可用來掛載USB攝像頭。
1.2 液晶顯示屏
    為顯示攝像頭當前采集圖像的預覽,系統(tǒng)采用三星的320×240像素液晶屏,大小為106.68 cm。該液晶屏的每個像素深度為2 bit,采用RGB565色彩空間。
1.3 攝像頭
    攝像頭采用市場上常見的網(wǎng)眼2000攝像頭,內部是含CMOS傳感器的OV511+芯片。
    CMOS傳感器采用感光元件作為影像捕獲的基本手段,核心是1個感光二極管,該二極管在接受光線照射之后能夠產生輸出電流,而電流的強度則與光照的強度對應。相對CCD圖像傳感器,CMOS傳感器具有成本低廉的優(yōu)點。該攝像頭通過USB接口與ARM9處理器通信。該攝像頭輸出格式y(tǒng)uv,在輸出至屏幕之前,需將數(shù)據(jù)格式轉化為RGB565格式。
1.4 存儲器
    系統(tǒng)采用64 MB的SDRAM,由兩片K4S561632芯片組成,工作在32位模式。另有64 MB的NANDFlash,采用K9F1208芯片。該芯片在系統(tǒng)中空間分配情況,如圖2所示。

1b.jpg

2 軟件平臺
    系統(tǒng)的軟件設計主要由底層的操作系統(tǒng),驅動程序以及應用程序組成。操作系統(tǒng)采用Linux 2.4內核。通過對內核的適當裁剪,刪除對本系統(tǒng)不需要的系統(tǒng)服務以及驅動程序。

1c.jpg


    本系統(tǒng)的驅動程序主要用來驅動攝像頭、按鍵和指示燈。這3個驅動程序在操作系統(tǒng)啟動后,采用Linux特有的動態(tài)加載模塊方式加載至系統(tǒng)內核。攝像頭驅動程序可在Linux內核自帶的OV 51l驅動程序基礎上修改,使其兼容OV 511+芯片。指示燈驅動程序主要用來提示當前程序工作狀態(tài)。由于程序運行于Linux操作系統(tǒng)之上,應用程序無法直接控制硬件I/O口,需要先經過驅動程序對物理地址進行地址映射,才可通過映射的虛擬地址進行I/O操作。按鍵驅動程序采集用戶輸入,并通過硬件中斷傳至Linux內核空間,再由驅動程序通過Linux進程間通信方式之一的信號通信,傳至運行在Linux用戶空間的應用程序。

1d.jpg

3 識別算法
3.1 PCA算法
    PCA方法(即特征臉方法)是M.Turk和A.Pentland在文獻中提出的,該方法的基本思想是:將圖像向量經過K-L變換后由高維向量轉換為
低維向量,并形成低維線性向量空間,即特征子空間,然后將人臉投影到該低維空間,用所得到的投影系數(shù)作為識別的特征向量。識別人臉時,只需將待識別樣本的投影系數(shù)與數(shù)據(jù)庫中目標樣本集的投影系數(shù)進行比對,以確定與哪一類最近。
    PCA算法分為兩步:核心臉數(shù)據(jù)庫生成階段,即訓練階段以及識別階段。

    (1)核心臉數(shù)據(jù)庫生成階段。
    1)假設共有K張M×N大小的人臉圖像。先將每張圖像按列化為(M×N)×1的列向量,命名為xi,i=1,2,…,K。

 

1e.jpg

    5)計算AAT的特征向量μi;根據(jù)計算量保留j個最大特征向量組成特征子空間。
    6)將每張臉φ(減去均值后)表示成j個特征向量的線性組合,即為φ的特征臉。每張標準化訓練臉φi用Ω=(ω1i,ω2i,…,ωji)T,i=1,2,…,K表示。
    (2)識別階段。
    1)設要識別的未知人臉為T,先將T按列變化為一列向量xt。
    2)xt求與平均臉ψ得差值φ。再將φ向特征子空間投影,即

1f.jpg
    
    3)將φ表示成
    1g.jpg
    4)最后計算兩個矩陣的歐氏距離
  1h.jpg  
    若er<ξ,其中ξ為固定值,則該人臉被識別。
3.2 PGA算法的預處理
    雖然PcA算法在待識別圖像質量較好的情況下,有識別準確且計算量不大的優(yōu)點,但在以下幾點情況下,存在缺陷。其一是待識別圖像和訓練圖像光照度差別較大。其二是人臉背景差別較大。為改進PCA算法,可對圖像做以下預處理:
    (1)刪除背景。要刪除背景就要找出人臉在圖像的位置。對此,本系統(tǒng)通過人臉膚色建模的方法找出人臉的位置,并進一步找出眼睛位置,然后根據(jù)兩個眼睛之間的距離計算出人臉大概范圍,通過對人臉范圍的適當調整,使其規(guī)格化。
    (2)調整每張人臉圖像的亮度。通過設定一固定值,調整圖像像素的灰度值,使圖像灰度平均值達到這一固定值。通過同態(tài)濾波,減少光照不均。

4 結束語
    采用了在ARM9控制下CMOS圖像傳感器進行圖像采集,并利用改進的PCA算法對圖像識別,提高了識別效率和系統(tǒng)的實用性。測試表明,臉部范圍在180×200像素時,設定閾值er為2×1015的情況下,系統(tǒng)的識別率為89.2%。

1i.jpg

此內容為AET網(wǎng)站原創(chuàng),未經授權禁止轉載。