邊緣智能計算應用課件:人臉識別算法接口的應用_第1頁
邊緣智能計算應用課件:人臉識別算法接口的應用_第2頁
邊緣智能計算應用課件:人臉識別算法接口的應用_第3頁
邊緣智能計算應用課件:人臉識別算法接口的應用_第4頁
邊緣智能計算應用課件:人臉識別算法接口的應用_第5頁
已閱讀5頁,還剩51頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

邊緣計算算法SDK應用(基于RockX)邊緣智能計算應用人臉識別算法接口應用

邊緣智能計算應用職業(yè)能力目標01任務描述與要求02任務分析與計劃03知識儲備04任務實施05任務檢查與評價06任務小結07任務拓展08

人臉識別算法接口應用了解人臉識別定義和應用場景;了解RockX人臉識別算法。掌握利用OpenCV實現(xiàn)圖像的采集;掌握調用算法接口完成人臉識別;理解如何使用多線程的方式實現(xiàn)圖像采集和人臉識別。職業(yè)能力目標01知識目標技能目標職業(yè)能力目標01任務描述與要求02任務分析與計劃03知識儲備04任務實施05任務檢查與評價06任務小結07任務拓展08

人臉識別算法接口應用

此任務的主要內容是了解人臉識別定義和應用場景,RockX人臉識別相關算法接口的定義與使用的相關知識,實現(xiàn)多線程調用算法進行圖像識別,通過本次學習,掌握人臉識別算法接口的應用。任務描述任務要求完成RockX人臉識別相關算法接口的定義與使用;完成多線程方式實現(xiàn)視頻流的人臉識別。任務描述與要求02職業(yè)能力目標01任務描述與要求02任務分析與計劃03知識儲備04任務實施05任務檢查與評價06任務小結07任務拓展08

人臉識別算法接口應用任務分析應用人臉算法接口會涉及到哪些步驟?如何使用多線程實現(xiàn)視頻流的人臉識別?任務分析與計劃03任務計劃表項目名稱邊緣計算算法SDK應用(基于RockX)任務名稱人臉識別算法接口的應用計劃方式自主設計計劃要求請用5個計劃步驟來完整描述出如何完成本次任務序號任務計劃1

2

3

45通過上面的思考,你是否對本任務要完成的工作有所了解?讓我們一起來制訂完成本次任務的實施計劃吧!任務分析與計劃03職業(yè)能力目標01任務描述與要求02任務分析與計劃03知識儲備04任務實施05任務檢查與評價06任務小結07任務拓展08

人臉識別算法接口的應用RockX人臉識別相關算法簡介204知識儲備人臉識別含義和應用場景11人臉識別的含義2人臉識別的應用場景04人臉識別,是基于人的臉部特征信息進行身份識別的一種生物識別技術。用攝像機或攝像頭采集含有人臉的圖像或視頻流,并自動在圖像中檢測和跟蹤人臉,進而對檢測到的人臉進行臉部識別的一系列相關技術,通常也叫做人像識別、面部識別。04人臉識別的含義人臉識別系統(tǒng)主要包括四個組成部分,分別為:人臉圖像采集及檢測、人臉圖像預處理、人臉圖像特征提取以及匹配與識別。04人臉識別的含義人臉圖像預處理人臉圖像采集及檢測人臉圖像特征提取人臉識別主要用于身份識別。由于視頻監(jiān)控正在快速普及,眾多的視頻監(jiān)控應用迫切需要一種遠距離、用戶非配合狀態(tài)下的快速身份識別技術,以求遠距離快速確認人員身份,實現(xiàn)智能預警。04人臉識別的含義基于這樣的需求,我們可以想到一些什么樣的技術以應對呢?的人臉識別技術無疑是最佳的選擇,采用快速人臉檢測技術可以從監(jiān)控視頻圖象中實時查找人臉,并與人臉數(shù)據(jù)庫進行實時比對,從而實現(xiàn)快速身份識別。04人臉識別的含義1人臉識別的含義2人臉識別的應用場景04人臉識別產品已廣泛應用于金融、司法、軍隊、公安、邊檢、政府、航天、電力、工廠、教育、醫(yī)療及眾多企事業(yè)單位等領域。隨著技術的進一步成熟和社會認同度的提高,人臉識別技術將應用在更多的領域。04人臉識別的應用場景現(xiàn)實中的例子很多,比如:企業(yè)、住宅安全和管理。如人臉識別門禁考勤系統(tǒng),人臉識別防盜門等。電子護照及身份證。中國的電子護照計劃公安部一所正在加緊規(guī)劃和實施。公安、司法和刑偵。如利用人臉識別系統(tǒng)和網(wǎng)絡,在全國范圍內搜捕逃犯。自助服務。信息安全。如計算機登錄、電子政務和電子商務等04人臉識別的應用場景04人臉識別的應用場景交通方面醫(yī)院安全門禁RockX人臉識別相關算法簡介204知識儲備人臉識別含義和應用場景1RockX人臉識別相關算法簡介04RockX人臉識別相關算法庫是集成在核心開發(fā)板上的一套python的接口庫,可以直接調用。主要包含:人臉檢測,人臉特征獲取,人臉識別,目標追蹤等相關算法。RockX人臉識別相關算法簡介04人臉檢測的性能注意:圖像質量較差時支持的檢測角度會減小。2)最大檢測距離與攝像頭FOV等參數(shù)有關。3)檢測的最小人臉尺寸為圖像分辨率的1/19。RockX人臉識別相關算法簡介04人臉識別的性能注意:實際應用中,對距離和角度稍加限制,能獲得更好的識別結果,用戶可根據(jù)實際情況進行質量篩選。2)人臉比對使用歐式距離。職業(yè)能力目標01任務描述與要求02任務分析與計劃03知識儲備04任務實施05任務檢查與評價06任務小結07任務拓展08

人臉識別算法接口的應用05任務實施多線程方式實現(xiàn)視頻流的人臉識別2RockX人臉識別相關算法接口的定義與使用142實例化算法接口對象1導入相關的庫3人臉數(shù)據(jù)錄入數(shù)據(jù)庫人臉識別RockX人臉識別相關算法接口的定義與使用05RockX人臉識別相關算法接口的定義與使用RockX人臉識別相關算法接口的定義與使用05下面通過人臉案例的方式,來介紹相關算法的接口定義和使用RockX人臉識別相關算法接口的定義與使用05importosimportsysimporttimeimportsqlite3importnumpyasnpfromrockximportRockXimportcv21導入相關的庫RockX人臉識別相關算法接口的定義與使用05在RockX庫中,包含了算法各種功能模式,實例化算法為:handle=RockX(功能類型)這里采用人臉識別的檢測,追蹤,對齊,和識別等功能類型RockX.ROCKX_MODULE_FACE_DETECTION是人臉檢測功能類型RockX.ROCKX_MODULE_OBJECT_TRACK是目標追蹤功能類型RockX.ROCKX_MODULE_FACE_LANDMARK_5是人臉對齊功能類型RockX.ROCKX_MODULE_FACE_RECOGNIZE是人臉識別,人臉特征獲取的功能類型2實例化算法接口對象RockX人臉識別相關算法接口的定義與使用05要實現(xiàn)人臉識別,必須要有一個人臉比對的數(shù)據(jù)庫,所以需要把人臉信息提前錄入數(shù)據(jù)庫3人臉數(shù)據(jù)錄入數(shù)據(jù)庫RockX人臉識別相關算法接口的定義與使用05利用封裝好的databases.py腳本,F(xiàn)aceDB類實現(xiàn)數(shù)據(jù)庫的創(chuàng)建和數(shù)據(jù)的錄入,實例化數(shù)據(jù)庫類為:face_db=FaceDB("數(shù)據(jù)庫名稱.db")數(shù)據(jù)表定義的字段為:名稱(NAME),版本(VERSION),特征(FEATURE),對齊圖片(ALIGN_IMAGE)3人臉數(shù)據(jù)錄入數(shù)據(jù)庫主要函數(shù)為:init函數(shù)是創(chuàng)建一個數(shù)據(jù)庫和FACE的數(shù)據(jù)表load_face函數(shù)是讀取數(shù)據(jù)庫中的人臉信息,返回值為:所有的人臉信息,包括名字和特征insert_face函數(shù)是插入人臉信息到數(shù)據(jù)表中,參數(shù)為:名字name,特征feature,對齊后的圖片align_img(1)創(chuàng)建一個數(shù)據(jù)庫RockX人臉識別相關算法接口的定義與使用05cap=cv2.VideoCapture(0)time.sleep(2)cap.set(cv2.CAP_PROP_FRAME_WIDTH,640)cap.set(cv2.CAP_PROP_FRAME_HEIGHT,480)dWindow('image_win',flags=cv2.WINDOW_NORMAL|cv2.WINDOW_KEEPRATIO)ret,frame=cap.read()cv2.imshow('image_win',frame)cv2.waitKey(200)cv2.imwrite("圖片名稱",frame)cap.release()cv2.destroyAllWindows()3人臉數(shù)據(jù)錄入數(shù)據(jù)庫(2)采集一張圖片利用OpenCV打開攝像頭采集一張圖片,在之前的章節(jié)有介紹,例如以下案例:RockX人臉識別相關算法接口的定義與使用05定義人臉特征獲取的函數(shù)get_face_feature,其關鍵步驟在于,人臉檢測,人臉對齊,人臉特征獲取3人臉數(shù)據(jù)錄入數(shù)據(jù)庫(3)定義特征獲取的函數(shù)1)人臉檢測,主要是獲取人臉框的位置信息ret,results=rockx_face_detect(self,in_img,width,height,pixel_fmt)參數(shù)說明:in_img:輸入圖片(numpyndarray)width:圖片寬height:圖片高pixel_fmt:圖片pixelformat返回值說明:ret:狀態(tài)碼,0為成功,其他失敗results:RockX對象的列表,就是說一張圖可能包含多個人臉對象,每個對象包含了多個人臉框的位置信息等注意:由于一張圖可能包含過個人臉,所以需要對其進行篩選,使用面積最大的人臉框信息,定義獲取最大人臉信息的函數(shù)get_max_faceRockX人臉識別相關算法接口的定義與使用05ret,align_img=rockx_carplate_align(self,in_img,width,height,pixel_fmt,in_box)3人臉數(shù)據(jù)錄入數(shù)據(jù)庫(3)定義特征獲取的函數(shù)2)人臉對齊,主要是人臉的矯正對齊,涵蓋5個特征點的對齊參數(shù)說明:in_img:輸入圖片(numpyndarray)width:圖片寬height:圖片高pixel_fmt:圖片pixelformatin_box:人臉框位置信息返回值說明:ret:狀態(tài)碼,0為成功,其他失敗align_img:返回對齊后的圖片數(shù)據(jù)信息RockX人臉識別相關算法接口的定義與使用05ret,face_feature=rockx_face_recognize(self,in_aligned_img)3人臉數(shù)據(jù)錄入數(shù)據(jù)庫(3)定義特征獲取的函數(shù)3)人臉特征獲取參數(shù)說明:in_aligned_img:人臉對齊后的圖片數(shù)據(jù)(align_img)返回值說明:ret:狀態(tài)碼,0為成功,其他失敗face_feature:返回識別后的人臉特征信息(4)信息插入數(shù)據(jù)庫利用定義的函數(shù),獲取人臉特征,并定義名字等信息,然后調用數(shù)據(jù)庫的插入數(shù)據(jù)的接口insert_face,將這些信息插入到數(shù)據(jù)庫中RockX人臉識別相關算法接口的定義與使用054人臉識別利用已經(jīng)錄入的數(shù)據(jù),進行人臉識別,其主要的步驟人臉檢測,檢測目標跟蹤,人臉矯正對齊,人臉特征獲取,人臉對比人臉檢測,人臉矯正對齊,和人臉特征獲取在前面已經(jīng)介紹過了,這里就不在重復介紹了。下面主要介紹檢測目標跟蹤和人臉對比。RockX人臉識別相關算法接口的定義與使用054人臉識別利用數(shù)據(jù)庫加載數(shù)據(jù)的接口,獲取所有人員的特征信息,并利用攝像頭采集一張圖片,獲取其寬,高,通道數(shù)(1)讀取數(shù)據(jù)庫的特征并讀取一張圖片(2)人臉檢測人臉檢測主要是獲取人臉框的位置信息,前面有介紹過了,這里不重復介紹人臉對齊主要是進行人臉特征點對齊矯正,前面有介紹過了,這里不重復介紹(3)人臉對齊人臉特征獲取主要是獲取人臉的特征信息,前面有介紹過了,這里不重復介紹(4)人臉特征獲取RockX人臉識別相關算法接口的定義與使用054人臉識別(5)人臉比對人臉信息對比,主要是把當前獲取的人臉特征和數(shù)據(jù)庫中的特征進行對比ret,similarity=face_recog_handle.rockx_face_similarity(cur_feature,feature)參數(shù)說明:cur_feature:當前獲取到的特征feature:數(shù)據(jù)庫取出的特征返回值說明:ret:狀態(tài)碼,0為成功,其他失敗similarity:返回對比后的相似度05任務實施多線程方式實現(xiàn)視頻流的人臉識別2RockX人臉識別相關算法接口的定義與使用142定義攝像頭采集線程1引入相關的庫3定義算法識別線程調用兩個線程,啟動視頻流的目標檢測5停止線程多線程方式實現(xiàn)視頻流的人臉識別05多線程方式實現(xiàn)視頻流的目標檢測根據(jù)前面學到的知識,利用多線程,使圖像采集和算法識別同時運行,從而實現(xiàn)視頻流的車牌識別,并且可以避免一些因花時間太久,導致的視頻卡頓人臉識別涉及到注冊,所以注冊還是有前面的方式注冊,這里實現(xiàn)的只是識別的多線程運算功能多線程實現(xiàn)的目標檢測是針對多個物品的識別和實時畫面的捕獲。多線程方式實現(xiàn)視頻流的人臉識別05使用線程可以把占據(jù)長時間的程序中的任務放到后臺去處理。用戶界面可以更加吸引人,比如用戶點擊了一個按鈕去觸發(fā)某些事件的處理,可以彈出一個進度條來顯示處理的進度。程序的運行速度可能加快。在一些等待的任務實現(xiàn)上如用戶輸入、文件讀寫和網(wǎng)絡收發(fā)數(shù)據(jù)等,線程就比較有用了。在這種情況下我們可以釋放一些珍貴的資源如內存占用等等。1引入相關的庫多線程類似于同時執(zhí)行多個不同程序,多線程運行有如下優(yōu)點:多線程方式實現(xiàn)視頻流的人臉識別051引入相關的庫importtime#時間庫importcv2#引入opencv圖像處理庫fromlib.ft2importft#中文描繪庫importthreading#這是python的標準庫,線程庫importipywidgetsaswidgets#jupyter畫圖庫fromIPython.displayimportdisplay#jupyter顯示庫fromrockximportRockX#引入算法庫fromlib.databasesimportFaceDB每個獨立的線程有一個程序運行的入口、順序執(zhí)行序列和程序的出口。但是線程不能夠獨立執(zhí)行,必須依存在應用程序中,由應用程序提供多個線程執(zhí)行控制。多線程方式實現(xiàn)視頻流的人臉識別052定義攝像頭采集線程結合上面的opencv采集圖像的內容,利用多線程的方式串起來,形成一個可傳參,可調用的通用類。這里定義了一個全局變量camera_img,用作存儲獲取的圖片數(shù)據(jù),以便于其他線程可以調用init初始化函數(shù)實例化該線程的時候,會自動執(zhí)行初始化函數(shù),在初始化函數(shù)里面,打開攝像頭,并設置分辨run函數(shù)該函數(shù)是在實例化后,執(zhí)行start啟動函數(shù)的時候,會自動執(zhí)行。在該函數(shù)里,實現(xiàn)了循環(huán)獲取圖像的內容請說說執(zhí)行線程的幾種方式?多線程方式實現(xiàn)視頻流的人臉識別052定義攝像頭采集線程classCameraThread(threading.Thread):def__init__(self,camera_id,camera_width,camera_height):threading.Thread.__init__(self)self.working=Trueself.cap=cv2.VideoCapture(camera_id)#打開攝像頭self.cap.set(cv2.CAP_PROP_FRAME_WIDTH,camera_width)#設置攝像頭分辨率寬度self.cap.set(cv2.CAP_PROP_FRAME_HEIGHT,camera_height)#設置攝像頭分辨率高度代碼分析多線程方式實現(xiàn)視頻流的人臉識別05defrun(self):globalcamera_img#定義一個全局變量,用于存儲獲取的圖片,以便于算法可以直接調用whileself.working:try: ret,image=self.cap.read()#獲取新的一幀圖片,ret為獲取的狀態(tài)值 ifnotret: time.sleep(0.1) continuecamera_img=imageexceptExceptionase: pass defstop(self): self.working=False self.cap.release()多線程方式實現(xiàn)視頻流的人臉識別0523定義算法識別線程結合調用算法接口的內容和圖像顯示內容,利用多線程的方式整合起來,循環(huán)識別,對攝像頭采集線程中獲取的每一幀圖片進行識別,并顯示,形成視頻流的畫面init初始化函數(shù)實例化該線程的時候,會自動執(zhí)行初始化函數(shù),在初始化函數(shù)里面,定義了顯示內容,并實例化車牌識別run函數(shù)該函數(shù)是在實例化后,執(zhí)行start啟動函數(shù)的時候,會自動執(zhí)行。在該函數(shù)是一個循環(huán),實現(xiàn)了對采集的每一幀圖片進行算法識別,然后將結果繪畫在圖片上,并將處理后的圖片顯示出來多線程方式實現(xiàn)視頻流的人臉識別054調用兩個線程,啟動視頻流的目標檢測camera_th=CameraThread(0,640,480)camera_th.start()face_detect_th=FaceDetectThread()face_detect_th.start()實例化兩個線程,并啟動這兩個線程,實現(xiàn)完整的目標功能,運行時,加載模型比較久,需要等待幾秒多線程方式實現(xiàn)視頻流的人臉識別055停止線程obj_detect_th.stop()camera_th.stop()為了避免占用資源,需要停止攝像頭采集線程和算法識別線程,或者重啟內核職業(yè)能力目標01任務描述與要求02任務分析與計劃03知識儲備04任務實施05任務檢查與評價06任務小結07任務拓展08

人臉識別算法接口

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論