999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于并行算法的快速人臉識別系統設計與實現

2020-04-30 06:49:45許嘉誠
無線互聯科技 2020年6期
關鍵詞:人臉識別

許嘉誠

摘 ? 要:為了提高人臉識別實時處理速度,并充分利用當前多核處理器資源,文章實現了一種在Python環境下基于并行算法的快速人臉識別系統。人臉特征與數據庫的儲存實時交互,利用各子程序安全通信實現同步處理,并行處理實時人臉檢測和人臉特征編碼提取,同時進行最相似人臉匹配。實驗結果表明,程序并行后有著速度快、準確度高、實時性強等優點。為大數據人臉識別處理提供了方法,也有利于實際的使用。

關鍵詞:人臉識別;并行計算;多核;Python語言

人臉識別技術在某些領域相對安全,識別效率高、領域廣[1],但是當前海量人臉數據使得人臉識別系統的效率急劇下降,同時多核處理器技術迅猛發展,為人們提供了充足的多核資源。所以為了提高人臉識別效率,并充分利用多核資源,開發相應的并行化應用程序勢在必行[2]。

1 ? ?相關概念

1.1 ?人臉識別概述

人臉識別是通過生物特征對人的身份進行辨認,是計算機視覺領域的一個研究方向[3]。人臉識別至今盡管已經有30年左右的研發歷史,但其相關的技術和產品仍然受光照、視角、遮擋、年齡等不同方面因素的綜合影響。同時人臉識別技術的實現也是一個較為復雜的過程,因為人臉識別技術的實現就是通過計算機算法來統一和協調各個步驟,通過采集、預處理、特征提取、識別匹配4個步驟分部進行[4]。

1.2 ?人臉識別過程

人臉檢測是一個特別復雜的過程,根據所選檢測系統的不同,使用到的檢測算法、原理以及編程語言等也會相應不同,比如Harmon和Lesk采用多維特征矢量來表示,而Kaya和Kobayashi則采用歐氏距離來表示[5],但歸納起來大致都可以分為以下流程:人臉檢測、人臉關鍵點檢測、人臉規整、人臉特征提取、人臉識別。

1.3 ?Python中的并行計算工具

multiprocessing是Python中支持產生進程的包,可以充分地利用機器上的多個核心。Threading以及pyQt5都可以產生線程。以上是主要的并行工具。

1.3.1 ?multiprocessing

在multiprocessing中,Process類被用來表示一個進程對象。創建該子進程對象時,只需傳入函數和參數即可,然后通過Start開始進程。對于Python進程之間的共享數據,可以使用Multiprocessing.Manager創建變量用于進程間的共享數據。其支持的數據類型有list,Dict,Namespace。程序的同步也使用Manager進行實現。

1.3.2 ?threading

對于線程的建立使用threading中的Thread類完成,Thread的主要方法和屬性和Process相似。

2 ? ?程序設計

2.1 ?單進程處理程序

使用多核進行計算的程序,主要處理單張圖像的人臉識別,根據相對應的需求處理結果,如標出識別結果、保存結果等。其可以分為以下幾個模塊:

(1)初始化線程,獲取數據庫人臉特征和進程信息。

(2)根據同步信息更改緩存的人臉特征以及各種處理信息。

(3)根據全局同步信息,等待識別圖像準備完畢,直到收到可處理信號為止。此步驟為了使得處理圖像具有統一時序性,防止圖像重復處理或者未處理。

(4)通過參數中的list,獲取需要處理的圖像。

(5)進行人臉檢測以及特征提取,用于做后面的比較以及定位等。

(6)得到的特征和數據庫中的已有的人臉數據特征進行比較,根據歐式距離判斷人臉屬于誰。

(7)進行結果的圖像繪制,以便于更直觀地展示人臉識別信息,并且整合得到的結果。

(8)等待上一個進程結果寫入結束,此步驟主要為了保證處理結果具有統一時序性,結果不會多次讀取也不會出現未讀取等情況,該步驟也保證了讀取結果始終為最新結果。

(9)將處理后的圖像、處理時間以及人臉識別的結果放入對應的list中。結束后跳轉(2),再次等待響應,循環往復。

由上可知,當處理某圖像時,需要其他線程將待處理圖像放入對應list中,然后修改同步信息并進行運算,如此往復。

2.2 ?待識別圖像獲取以及同步信息處理程序

此程序為單個線程,主要用于從視頻或者攝像頭中獲取待識別圖像放入相應的list,以及按照用戶需求切換視頻和攝像頭,控制開始、暫停以及處理延遲的作用。程序先進行初始化;然后根據全局同步信號,判斷當前用戶動作,更改相應數據源;等待錄入的待識別圖像處理完畢,獲取新的待識別圖像;最后進入延遲等待,此延時是使得處理后的每幀延時間均勻分布,增加處理視頻的流暢性。其等待時間大致為單個圖像處理時間除以工作進程數,然后更改同步信息,通知進程進行處理。

2.3 ?主程序

主程序主要包括各種進程和線程的建立、用戶選擇數據源(視頻、圖像、攝像頭)、錄入人臉信息、獲取識別結果和處理識別結果。進程和線程的建立是關鍵部分,進程和線程的建立過程:初始化各個通信同步變量,獲取數據庫信息;控制工作進程數workProcess_num;創建相應進程線程,此處代碼為:

pools.append(threading.Thread(target=captureThread,args=(GlobalVariable, …,)))

pools[0]. start()

for process_id in range(1, workProcess_num + 1):

pools.append(Process(target=workProcess,args=(process_id,GlobalVariable, …,)))

pools[process_id]. start()

主程序還進行識別結果的處理,此處設置timer,每0.001 s響應一次,判斷同步信息是否有未獲取的圖像結果;若有,則從獲取結果并處理。

3 ? ?實驗結果分析

文章實驗過程中使用數據選自美國麻省大學安姆斯特分校制作的人臉數據集Labeled Faces in the Wild人臉數據集進行測試,對于閾值為0.39的情況人臉識別率有高達99.38%的準確率。

3.1 ?實驗環境

硬件配置:Intel(R) Core(TM) i7-8750H ?CPU @ 2.20 GHz 2.21 GHz, 16 GB內存。

軟件:Windows10 家庭中文版操作系統。PyCharm 2018.3.5 (Community Edition) Python 3.6環境。

3.2 ?實驗結果

在保證人臉識別率穩定的前提下,本文采用不同數量的進程并行進行實驗,得出了不同數量進程數在人臉識別過程中系統每秒所能處理視頻幀數之間的關系,結果如圖1所示。

3.3 ?測試結果分析

每秒所處理的攝像頭幀數隨著進程數增加而增加。雖然進程數增加會使處理幀數增多,但是增加的趨勢會逐漸變緩,這是程序在并行過程中的額外開銷。

4 ? ?結語

文章設計并實現了基于并行算法的快速人臉識別系統,提高了在多核環境下人臉識別的速度以及CPU利用率。該系統僅需提供人臉特征數據,即可利用該系統獲得高效且準確的識別結果。實驗結果表明:該人臉識別系統具有準確的識別結果和高效的處理速度,可以投入到日常使用中。

[參考文獻]

[1]張春悅,韓飛.人臉識別系統設計[J].湖北農機化,2019(12):85.

[2]鄭曉薇,于夢玲.基于Matlab多核集群的人臉識別算法的并行化設計[J].計算機應用,2011(10):2597-2599.

[3]梁晶,史記征.基于Python庫的人臉識別方法研究[J].網絡安全技術與應用,2019(7):46-47.

[4]R DATTA,D JOSHI,J LI,et al.Image retrieval:ideas,influences,and trends of the new age[J].Acm Computing Surveys,2010(2):2007.

[5]張枝令. Python實現基于深度學習的人臉識別[J].電子商務,2018(5):47,96.

Design and implementation of fast face recognition system based on parallel algorithm

Xu Jiacheng

(Kunming University of Science and Technology, Kunming 650000, China)

Abstract:In order to improve the real-time processing speed of face recognition and make full use of the current multi-core processor resources, this paper implements a fast face recognition system based on parallel algorithms in Python. The facial features are stored and interacted with the database in real time. The subroutines are used to securely communicate with each other in parallel. Real-time face detection and facial feature code extraction are processed in parallel. Similar face matching. At the same time, the program was improved so that it can handle multiple source data. The experimental results show that the parallel program has the advantages of fast speed, high accuracy, high stability, good recognition effect, and strong real-time performance. It provides a method for face recognition processing in big data and is also beneficial to practical use.

Key words:face recognition; parallel computing; multi-core; Python language

猜你喜歡
人臉識別
人臉識別 等
作文中學版(2022年1期)2022-04-14 08:00:34
揭開人臉識別的神秘面紗
學生天地(2020年31期)2020-06-01 02:32:06
人臉識別技術的基本原理與應用
電子制作(2019年14期)2019-08-20 05:43:34
人臉識別技術在高速公路打逃中的應用探討
基于(2D)2PCA-LBP 的人臉識別方法的研究
電子制作(2017年17期)2017-12-18 06:40:55
淺談人臉識別技術
人臉識別在高校安全防范中的應用
電子制作(2017年1期)2017-05-17 03:54:46
巡演完美收官 英飛拓引領人臉識別新潮流
人臉識別在Android平臺下的研究與實現
基于Metaface字典學習與核稀疏表示的人臉識別方法
主站蜘蛛池模板: 欧美亚洲综合免费精品高清在线观看| 国产区免费精品视频| 亚洲人成影视在线观看| 亚洲无码视频喷水| 人人91人人澡人人妻人人爽| 成人在线欧美| 欧洲亚洲一区| 亚洲一区二区约美女探花| 国产亚洲精品97AA片在线播放| 久久国语对白| 国产屁屁影院| 五月婷婷亚洲综合| 制服丝袜无码每日更新| 亚洲 欧美 日韩综合一区| 日本www色视频| 97青青青国产在线播放| 久久人人爽人人爽人人片aV东京热 | 欧美精品1区| 亚洲人成日本在线观看| 日韩天堂网| 欧美劲爆第一页| 婷婷色狠狠干| 国产第一福利影院| 4虎影视国产在线观看精品| 国产在线一区视频| 亚洲国产成人精品无码区性色| 国产精品区视频中文字幕| 播五月综合| 天天色综合4| 中文字幕首页系列人妻| 欧美成人二区| 国产福利一区在线| 亚洲性视频网站| 国产精品冒白浆免费视频| 狠狠操夜夜爽| 114级毛片免费观看| 午夜国产在线观看| 色综合五月婷婷| 伊人久久综在合线亚洲2019| 国产第一页免费浮力影院| 青草视频在线观看国产| 亚洲一级毛片| 91视频国产高清| 无码中字出轨中文人妻中文中| 久久综合九色综合97网| 911亚洲精品| 一本一本大道香蕉久在线播放| 高清视频一区| 亚洲日韩久久综合中文字幕| 成年人视频一区二区| 亚洲大尺码专区影院| 久久亚洲日本不卡一区二区| 狠狠亚洲婷婷综合色香| 国产成人综合亚洲欧洲色就色| 日韩经典精品无码一区二区| 国产女人在线观看| 91免费国产高清观看| 国产丝袜无码一区二区视频| 国产精品一区在线麻豆| 2020国产精品视频| 夜夜拍夜夜爽| 91福利片| 国产尤物视频网址导航| 国产91无码福利在线| 亚洲第一精品福利| 99在线国产| 极品尤物av美乳在线观看| 五月婷婷中文字幕| 尤物视频一区| 中国一级毛片免费观看| 日本尹人综合香蕉在线观看 | 狼友视频一区二区三区| 色天堂无毒不卡| 亚洲天堂视频在线免费观看| 国产成人啪视频一区二区三区| 天堂成人av| 91在线一9|永久视频在线| 欧美三级日韩三级| 亚洲天堂久久| 999国产精品永久免费视频精品久久 | 亚洲成aⅴ人在线观看| 麻豆国产精品一二三在线观看|