• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于RK3288 國產(chǎn)化平臺下嵌入式人臉識別系統(tǒng)的開發(fā)*

      2020-03-22 03:13:20龔哲兮施彥媛
      通信技術(shù) 2020年3期
      關(guān)鍵詞:人臉識別人臉分類器

      龔哲兮,施彥媛

      (中國電子科技集團公司第三十研究所,四川 成都 610041)

      0 引言

      隨著人工智能和圖像處理領(lǐng)域技術(shù)的發(fā)展,人臉識別作為生物識別技術(shù)的一種,由于具有唯一性、穩(wěn)定性和不易被復(fù)制等良好的特性已經(jīng)廣泛運用于人機交互、金融貿(mào)易、視頻監(jiān)控等各個領(lǐng)域。同時,由于近些年計算機硬件飛速發(fā)展,嵌入式設(shè)備的處理器的運算速度和存儲空間得到了提升,嵌入式設(shè)備上的人臉識別技術(shù)也愈發(fā)成熟[1]。但是,主流的國外CPU、專用芯片、操作系統(tǒng)等對我們來說類似黑匣子,其安全性難以保障。為擺脫對國外技術(shù)的依賴,采用瑞芯微RK3288 芯片架構(gòu)、中興CEGL linux3.10 操作系統(tǒng),在國產(chǎn)化平臺下對人臉識別系統(tǒng)進行研究、設(shè)計及實現(xiàn)。

      1 總體設(shè)計

      人臉識別技術(shù)(Face Recognition Technology,F(xiàn)RT)通過計算機與各種傳感器和生物統(tǒng)計學原理等高科技手段進行個人身份鑒定,其核心技術(shù)是局部特征分析和圖形識別算法[2]。而在對人臉識別前需要對圖像進行一系列處理,包括人臉圖像采集、人臉區(qū)域檢測以及圖像預(yù)處理等[3]。嵌入式平臺中通常在非受控的環(huán)境下進行人臉采集,為保證能夠穩(wěn)定地提取其特征值,一般要對采集的原始人臉圖像進行灰度化、二值化、濾波等圖像預(yù)處理。然后將人臉數(shù)據(jù)從原始輸入空間映射到新的特征空間以提取人臉特征,最終將其結(jié)果與特征庫進行比較,計算其相似度來確定其身份。為在嵌入式平臺上實現(xiàn)人臉識別的技術(shù),系統(tǒng)主要包括注冊階段和識別階段兩個階段。整體框架設(shè)計如圖1 所示。

      圖1 人臉識別系統(tǒng)總體框架

      2 系統(tǒng)硬件設(shè)計

      系統(tǒng)的主處理器單元基于瑞芯微RK3288 處理器為核心進行設(shè)計。瑞芯微RK3288 處理器是數(shù)字多媒體處理器芯片,采用四核ARM Cortex-A17 架構(gòu),最大的特點是與Cortex-A15 一樣采用完全亂序執(zhí)行架構(gòu),性能提升立竿見影。單核主頻高達1.8 GHz,集成專用GPU 協(xié)處理器,GPU 采用Mali T76X 系列GPU。Mali T764 核心最大特點是采用第三代Midgard 架構(gòu),配置豐富的數(shù)據(jù)接口和多媒體接口。主處理器模塊配置2 GB DDR3 內(nèi)存、32 GB Nand Flash、10/100/1 000 Mb/s 以太網(wǎng)接口、MIPI液晶接口、UART 串口以及I2C 等接口。主處理器模塊依據(jù)MXM 標準,尺寸為82 mm×60 mm,采用+5 V 單電源供電。系統(tǒng)硬件設(shè)計框圖如圖2 所示。

      3 系統(tǒng)軟件設(shè)計

      3.1 環(huán)境搭建

      U-Boot 主要用來開發(fā)嵌入式系統(tǒng)的bootloader(引導裝載程序)。本系統(tǒng)U-Boot 將從NAND Flash 中加載并啟動,把最核心的啟動程序放在NAND 閃存的前4K中,并在啟動前完成硬件平臺的核心配置,然后將啟動代碼的剩余部分搬到RAM 中運行。初始化NAND閃存,并從NAND 閃存中把U-Boot 搬移到SRAM 中,最后需要讓U-Boot 支持NAND 閃存的命令操作。內(nèi)核負責管理系統(tǒng)的進程、內(nèi)存、設(shè)備驅(qū)動程序、文件和網(wǎng)絡(luò)系統(tǒng),決定著系統(tǒng)的性能和穩(wěn)定性。本系統(tǒng)使用中興提供的CEGL linux3.10 并進行相應(yīng)裁剪,內(nèi)核中特定于體系結(jié)構(gòu)的部分首先執(zhí)行,設(shè)置硬件寄存器、配置內(nèi)存映射、執(zhí)行特定于體系結(jié)構(gòu)的初始化,然后將控制轉(zhuǎn)給內(nèi)核中與體系結(jié)構(gòu)無關(guān)的部分。根文件系統(tǒng)是內(nèi)核啟動時所掛載的第一個文件系統(tǒng)。本系統(tǒng)的根文件系統(tǒng)類型為ext4 格式,同時包含著系統(tǒng)使用的軟件和庫,以及所有用來為用戶提供支持架構(gòu)和用戶使用的應(yīng)用軟件。最后,將閃存MTD驅(qū)動程序、攝像頭、觸摸屏等設(shè)備的驅(qū)動程序以及Qt 和opencv,通過交叉編譯后移植到系統(tǒng)中。

      圖2 系統(tǒng)硬件設(shè)計

      3.2 人臉識別系統(tǒng)設(shè)計

      應(yīng)用程序需要實現(xiàn)人臉識別功能,主要實現(xiàn)人臉圖像采集、圖像識別、信息管理和人機交互4 個主要功能?;赨VC 協(xié)議和Video4Linux2 接口,通過USB 攝像頭采集圖像,通過人臉檢測算法AdaBoost 對其采集的圖像中對人臉進行定位,并使用LBP 特征提取,結(jié)合SVM 分類器識別人臉,最后將識別后的圖像信息進行管理并最終反饋給用戶,形成一個完整的人臉識別系統(tǒng)。

      4 系統(tǒng)算法原理

      4.1 AdaBoost 的人臉檢測

      AdaBoost 人臉檢測是使用Haar-like 特征表示人臉,積分圖實現(xiàn)特征數(shù)值的快速計算,并利用AdaBoost 算法選出少部分關(guān)鍵特征,通過訓練訓練出多個不同的弱分類器并將其集合成一個強分類器,即構(gòu)成最終的決策分類器,從而有效提高速度和精度,達到人臉檢測的目的[4]。

      Haar 特征通常定義為白色矩形灰度和減去黑色矩形的灰度和,對邊緣、線段比較敏感,從而用來檢測邊界、線性和對角特征[5]。積分圖是由于一張圖片的Haar 特征值的計算量非常大,為了使計算過程變得簡單方便而進行的快速計算矩形特征的算法。主要思想是將圖像中各個點矩形區(qū)域像素之和作為一個數(shù)字保存在內(nèi)存并作為以后的計算索引,從而加快計算速度。每個Haar 特征都對應(yīng)一個弱分類器,m個特征,n個訓練樣本就會產(chǎn)生m×n個弱分類器。為選出最優(yōu),要確定最優(yōu)閾值θ和偏置p,公式為:

      h(x,f,p,θ)為弱分類器的值,x表示一個檢測子窗口,f代表第j個特征在x圖像上的特征值,θ表示閾值p=-1 或p=1 表示不等號方向。根據(jù)公式判斷是否為人臉。N1和N2為人臉和非人臉數(shù)目,m1和m2分別表示當前特征人臉和非人臉的平均特征值。經(jīng)過多次迭代循環(huán)訓練出足夠的最佳弱分類器,然后對訓練樣本的權(quán)重重新調(diào)整,循環(huán)迭代最終得到一個線性組合的弱分類器,再通過加權(quán)合成一個強分類器。

      具體算法如下。

      (2)訓練弱分類器h(x,f,p,θ),計算錯誤率εt,并選擇錯誤率最小的弱分類器作為最佳,即:

      (3)獲得最佳弱分類器,確定對應(yīng)迭代中的參數(shù)后,更新權(quán)重:

      (4)如果ei=0,則表示xi分類正確;ei=1,表示分類失敗。

      (5)經(jīng)過T次迭代后,獲得T個最佳弱分類器,并最終提升為強分類器:

      (6)最終分類器由多個強分類器級聯(lián)組成形成級聯(lián)分類器,以提高運算速度和檢測精度。全部通過每一級分類器檢測的區(qū)域則表示為人臉區(qū)域。

      4.2 LBP 的人臉識別

      局部二值模式(Local Binary Pattern,LBP)是從紋理局部近鄰定義中衍生出來,用來分析圖像紋理特征的一種灰度范圍內(nèi)的紋理度量算子[6]。通過局部區(qū)域中心與周邊像素灰度值的差異,將局部區(qū)域紋理轉(zhuǎn)換為二進制編碼。原始的LBP 算子對于像素點其周圍3×3 鄰域像素點進行紋理描述,其LBP 算子公式為:

      當threshold為0 時,每個像素點生成的LBP算子如圖3 所示。

      圖3 像素生成LBP 算子圖示

      以其灰度作為基準,與其相鄰8 個像素點的灰度值比對。如果相鄰像素點灰度值大于中心點的灰度值,則對應(yīng)相鄰像素點設(shè)置為1;否則,為0。結(jié)果按一定順序轉(zhuǎn)換成8 位二進制和對應(yīng)十進制,則為中心像素點的LBP 值。但是,基本LBP 算子鄰域像素的關(guān)聯(lián)性不夠全面,只覆蓋了8 個領(lǐng)域像素區(qū)域,所以實際使用的是基本LBP 算子擴展后的圓形LBP。圓形LBP 將3×3 擴展到任意鄰域像素數(shù)目,R半徑鄰域中N個像素個數(shù),其圓形LBP 算子的編碼公式為:

      gi的坐標為:

      其中g(shù)i-gc為第i個鄰域像素值與中心像素值的差。圓形LBP 不但具有灰度不變性和旋轉(zhuǎn)不變性,同時對圖像的整體灰度單調(diào)變化具有魯棒性,具有較強的紋理描述和分類能力。

      不同尺度的圓形LBP 算子,如圖4 所示。

      圖4 不同尺度的圓形LBP 算子

      4.3 LBP 與SVM 相結(jié)合的人臉識別

      LBP 在特征提取上是個有效方法,但在分類性能上存在不足。分類器對提取的特征向量進行分類處理,采用不同的學習方法建立模型,所以將LBP與分類器SVM 結(jié)合來提高圖像的識別率。SVM 構(gòu)造多個最優(yōu)超平面對樣本進行分類,同時最大化樣本到超平面的距離。低維空間線性判別函數(shù)形式為g(x)=wTx+b,在線性可分的情況下,通過簡單的幾何變換得知兩類樣本之間的分類間隔為Margin=2/||w||。容易得知,要使得對所有樣本能夠正確分類,就是求得分類間隔大小在 滿 足yi(wTxi+b)-1 ≥0,i=1,2,…,n條件下的最小值。通過構(gòu)造一個Lagrange函數(shù):

      經(jīng)過系列推導可獲得最優(yōu)分類函數(shù):

      sgn()為符號函數(shù),非零Lagrange 因子ai對應(yīng)的樣本向量xi。b*可以根據(jù)任一個支持向量或兩類中任一對支持向量取中值求得。根據(jù)支持向量和分類函數(shù)構(gòu)造出最優(yōu)分類面,將訓練樣本正確分開,不同訓練樣本則得到不同的最優(yōu)分類面和支持向量。如今SVM 已經(jīng)擴展到解決非線性可分的多分類問題,將其輸入向量經(jīng)非信息變換映射到另一個高維空間,變換后尋找最優(yōu)的分類面。

      5 人臉識別系統(tǒng)實現(xiàn)與測試

      Opencv 是一個由C/C++編寫并可運行在linux/window/mac 等操作系統(tǒng)上開源的計算機視覺庫,同時提供了python、ruby、matlab 等其他語言的接口。Opencv 包含了500 多個函數(shù),覆蓋了計算機視覺的許多應(yīng)用領(lǐng)域,如工廠產(chǎn)品檢測、醫(yī)學成像、攝像機標定、機器人、信息安全以及用戶界面等。Qt 是一個開發(fā)的跨平臺C++圖形用戶界面應(yīng)用程序開發(fā)框架。本系統(tǒng)通過Qt 調(diào)用OpenCV 編程實現(xiàn)從視頻中采集樣本保存到人臉庫(getSampleFromVideo)、從視頻中識別人臉(recognizeFromVideo)、獲取樣本身份(getSampleName)等功能。在人臉預(yù)處理模塊中調(diào)用cv::VideoCapture 采集視頻幀、調(diào)用cv::cvtColor 實現(xiàn)灰度轉(zhuǎn)換、調(diào)用cv::qeualizeHist 實現(xiàn)直方圖均衡化。在人臉、雙眼檢測模塊中,分別調(diào)用OpenCV 中的CascadeClassifier 函數(shù)(級聯(lián)分類器),加載haarcascade_frontalface_alt.xml 和haarcascade_eye_tree_eyeglasses.xml 文件檢測人臉和雙眼。通過人臉對其模塊、特征提取模塊后,最終調(diào)用cv::compareHist 實現(xiàn)特征匹配模塊。該系統(tǒng)用戶界面如圖5 所示。

      圖5 系統(tǒng)界面

      分別從ORL、Yale 和FERET 人臉庫中隨機選取300 個人的臉部圖像做訓練樣本,每人6 張圖片共1 800 張圖片作為圖像訓練集,并測試LBP、PCA、ICA、FIsherface 和文中算法平均識別率。結(jié)果表明,通過圓形LBP 提取圖像紋理特征,并通過SVM 分類器來識別人臉的成功率明顯高于直接通過LBP、PCA、FIsherface、ICA 的識別率高。

      表1 人臉識別測試結(jié)果

      6 結(jié)語

      隨著時代的發(fā)展,計算機擬人視覺功能、圖像的處理與識別將有十分廣闊的發(fā)展前景。本文詳細分析了人臉識別的主要流程與算法,編寫LPB 特征提取模塊,并通過Qt 調(diào)用OpenCV 的人臉識別模塊,使得在基于RK3288 芯片架構(gòu)、中興CEGL linux3.10 操作系統(tǒng)國產(chǎn)化平臺下實現(xiàn)了人臉檢測和人臉識別等功能。LBP 與SVM 結(jié)合的人臉識別算法對周圍環(huán)境的變化具有魯棒性,同時也能在上述國產(chǎn)化平臺下快速運行,為以后相似設(shè)備的國產(chǎn)化提供一定的參考。

      猜你喜歡
      人臉識別人臉分類器
      人臉識別 等
      作文中學版(2022年1期)2022-04-14 08:00:34
      有特點的人臉
      揭開人臉識別的神秘面紗
      學生天地(2020年31期)2020-06-01 02:32:06
      三國漫——人臉解鎖
      動漫星空(2018年9期)2018-10-26 01:17:14
      BP-GA光照分類器在車道線識別中的應(yīng)用
      電子測試(2018年1期)2018-04-18 11:52:35
      加權(quán)空-譜與最近鄰分類器相結(jié)合的高光譜圖像分類
      結(jié)合模糊(C+P)均值聚類和SP-V-支持向量機的TSK分類器
      基于類獨立核稀疏表示的魯棒人臉識別
      計算機工程(2015年8期)2015-07-03 12:19:07
      馬面部與人臉相似度驚人
      長得象人臉的十種動物
      奇聞怪事(2014年5期)2014-05-13 21:43:01
      加查县| 涞源县| 开平市| 喜德县| 临沭县| 古浪县| 临武县| 曲水县| 威宁| 山西省| 漳州市| 宜川县| 城步| 家居| 定襄县| 枞阳县| 嘉禾县| 凭祥市| 永宁县| 循化| 康定县| 延长县| 杭州市| 邵武市| 余干县| 蓬莱市| 崇仁县| 怀宁县| 呈贡县| 平武县| 东乡县| 泉州市| 白城市| 容城县| 明水县| 武清区| 宁强县| 秭归县| 长岭县| 壶关县| 剑川县|