版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第7章AI人臉智能識(shí)別Linux開發(fā)案例AI人臉智能識(shí)別Linux開發(fā)案例本章分析Linux技術(shù)在智能家居網(wǎng)關(guān)中的應(yīng)用,共分2個(gè)模塊:1.AI人臉識(shí)別應(yīng)用開發(fā)框架:先進(jìn)行系統(tǒng)總體設(shè)計(jì)分析,簡(jiǎn)述人臉識(shí)別開發(fā)平臺(tái),分析PythonWeb框,實(shí)現(xiàn)AI人臉識(shí)別應(yīng)用框架設(shè)計(jì)。2.車牌識(shí)別功能開發(fā):學(xué)習(xí)百度人臉識(shí)別接口,分析AI人臉識(shí)別功能程序和閘機(jī)控制功能,實(shí)現(xiàn)AI人臉識(shí)別功能開發(fā)。第7章AI人臉智能識(shí)別Linux開發(fā)案例
7.1AI人臉識(shí)別應(yīng)用開發(fā)框架AI人臉智能識(shí)別Linux開發(fā)案例人臉識(shí)別一種依據(jù)人的面部特征,自動(dòng)進(jìn)行身份識(shí)別的一種生物識(shí)別技術(shù)。人工智能時(shí)代快速來臨人臉識(shí)別是當(dāng)前比較熱門的技術(shù),應(yīng)用廣泛,例如刷臉打卡、刷臉App,身份識(shí)別,人臉門禁,廣泛應(yīng)用在智能樓宇、智慧零售、智慧教育、智慧旅游等等領(lǐng)域。7.1.1系統(tǒng)總體設(shè)計(jì)與分析
系統(tǒng)需求分析AI人臉智能識(shí)別Linux開發(fā)案例人臉識(shí)別利用攝像機(jī)或攝像頭采集含有人臉的圖像或視頻流,并自動(dòng)在圖像中檢測(cè)和跟蹤人臉,進(jìn)而對(duì)檢測(cè)到的人臉圖像進(jìn)行一系列的相關(guān)應(yīng)用操作,包括圖像采集、特征定位、身份的確認(rèn)和查找等等。人臉注冊(cè)與識(shí)別過程如圖所示。7.1.1系統(tǒng)總體設(shè)計(jì)與分析
系統(tǒng)需求分析AI人臉智能識(shí)別Linux開發(fā)案例人臉識(shí)別技術(shù)是基于人的臉部特征,對(duì)輸入的人臉圖像或者視頻流.首先判斷其是否存在人臉,如果存在人臉,則進(jìn)一步的給出每個(gè)臉的位置、大小和各個(gè)主要面部器官的位置信息。并依據(jù)這些信息,進(jìn)一步提取每個(gè)人臉中所蘊(yùn)涵的身份特征,并將其與已知的人臉進(jìn)行對(duì)比,從而識(shí)別每個(gè)人臉的身份。構(gòu)建一個(gè)完整的人臉識(shí)別系統(tǒng)主要包括三個(gè)方面的技術(shù):人臉檢測(cè)、人臉跟蹤、人臉對(duì)比。7.1.1系統(tǒng)總體設(shè)計(jì)與分析
人臉識(shí)別技術(shù)(3)人臉比對(duì)人臉比對(duì)通過對(duì)已檢測(cè)的人臉圖像或人臉特征與數(shù)據(jù)庫(kù)中的圖像或特征進(jìn)行逐一對(duì)比,計(jì)算不同域下的距離找到在數(shù)據(jù)庫(kù)中最佳的匹配對(duì)象。人臉對(duì)比方法分為特征向量與面紋模板兩種方法。(2)人臉跟蹤人臉跟蹤多是指在對(duì)已檢測(cè)到人臉的視頻資料中進(jìn)行持續(xù)的目標(biāo)跟蹤。人臉跟蹤可以被認(rèn)為是在動(dòng)態(tài)的時(shí)間域上進(jìn)行人臉連續(xù)檢測(cè)的方法,人臉跟蹤可以將單一圖像的面部特征有機(jī)的結(jié)合到時(shí)間域上,使動(dòng)態(tài)的人臉檢測(cè)操作不僅僅依靠單一圖像的模型進(jìn)行判斷,也加入單一特征在時(shí)間域的變化特征進(jìn)行判斷,從而對(duì)連續(xù)幀中每幅圖像中的人臉位置進(jìn)行精確估計(jì)。人臉跟蹤分為模型跟蹤法、運(yùn)動(dòng)信息跟蹤法、人臉局部特征跟蹤法等。(1)人臉檢測(cè)人臉檢測(cè)技術(shù)主要是指在各種不同動(dòng)態(tài)或靜態(tài)的生活場(chǎng)景與復(fù)雜的環(huán)境背景中,通過判斷圖像中是否存在可被檢測(cè)的人臉,并將其進(jìn)行分離和剪裁出可以被實(shí)驗(yàn)所應(yīng)用的面部圖像,有下列幾種方法:參考模板法、人臉規(guī)則法、樣本學(xué)習(xí)法、特征子臉法。AI人臉智能識(shí)別Linux開發(fā)案例智能人臉識(shí)別系統(tǒng)的硬件主要邊緣計(jì)算網(wǎng)關(guān)、高清攝像頭與物聯(lián)網(wǎng)控制節(jié)點(diǎn)構(gòu)成。邊緣計(jì)算網(wǎng)關(guān)連接高清攝像頭通過百度人臉識(shí)別接口進(jìn)行人臉注冊(cè),對(duì)攝像頭捕捉到的人臉圖片識(shí)別,如果識(shí)別成功連接物聯(lián)網(wǎng)云平臺(tái)對(duì)閘機(jī)進(jìn)行聯(lián)動(dòng)控制,PC端的WEB管理界面可進(jìn)行人臉注冊(cè)、管理與顯示結(jié)果,硬件結(jié)構(gòu)框圖如圖所示。7.1.1系統(tǒng)總體設(shè)計(jì)與分析
系統(tǒng)總體設(shè)計(jì)AI人臉智能識(shí)別Linux開發(fā)案例中文車牌識(shí)別系統(tǒng),其軟件模塊主要由百度人臉識(shí)別應(yīng)用程序、智云物聯(lián)網(wǎng)應(yīng)用程序、Django服務(wù)軟件、PC端Web管理軟件構(gòu)成,項(xiàng)目主要開發(fā)語(yǔ)言為Python語(yǔ)言,軟件總體結(jié)構(gòu)框如圖所示。7.1.1系統(tǒng)總體設(shè)計(jì)與分析
系統(tǒng)總體設(shè)計(jì)AI人臉智能識(shí)別Linux開發(fā)案例當(dāng)前的人臉識(shí)別技術(shù)分為API和SDK調(diào)用兩種法方式,API需要實(shí)時(shí)聯(lián)網(wǎng),SDK調(diào)用可以離線使用。(1)虹軟免費(fèi)SDK需要注冊(cè)才能使用,官網(wǎng)上有很多教程,接入簡(jiǎn)單。(2)Face++
使用Face++人臉比對(duì)SDK,應(yīng)用可以在移動(dòng)設(shè)備上離線運(yùn)行Face++人臉識(shí)別算法,實(shí)時(shí)檢測(cè)視頻流中的所有人臉,并進(jìn)行高準(zhǔn)確率的人臉比對(duì),支持iOS和Android平臺(tái)。(3)百度人臉識(shí)別云服務(wù) 基于百度深度學(xué)習(xí)能力的人臉識(shí)別技術(shù),提供人臉檢測(cè)與屬性分析、人臉對(duì)比、人臉?biāo)阉?、活體檢測(cè)等能力。7.1.2人臉識(shí)別開發(fā)平臺(tái)AI人臉智能識(shí)別Linux開發(fā)案例7.1.3PythonWeb框架Django框架介紹Django是一個(gè)開放源代碼的Web應(yīng)用框架,Django采用了MVC的軟件設(shè)計(jì)模式,即模型M,視圖V和控制器C,優(yōu)勢(shì)是可以簡(jiǎn)便、快速的開發(fā)數(shù)據(jù)庫(kù)驅(qū)動(dòng)的網(wǎng)站。Django是Python編程語(yǔ)言驅(qū)動(dòng)的一個(gè)開源模型、視圖、控制器風(fēng)格的Web應(yīng)用程序框架。Django的MVC職責(zé)如表所示。MVC控制器部分由Django框架的URLconf實(shí)現(xiàn)。URLconf機(jī)制是使用正則表達(dá)式匹配URL,然后調(diào)用合適的Python函數(shù)。框架封裝了控制層,與數(shù)據(jù)交互都是數(shù)據(jù)庫(kù)表的讀、寫、刪除和更新操作。開發(fā)程序的時(shí)候,只需要調(diào)用相應(yīng)的方法,編寫非常少的代碼實(shí)現(xiàn)很多功能,大大提高了工作效率。層次職責(zé)模型(Model),數(shù)據(jù)存取層處理與數(shù)據(jù)相關(guān)的所有事務(wù):如何存取、如何驗(yàn)證有效性、包含哪些行為以及數(shù)據(jù)之間的關(guān)系等。模板(Template),表現(xiàn)層處理與表現(xiàn)相關(guān)的決定:如何在頁(yè)面或其他類型文檔中進(jìn)行顯示。視圖(View),業(yè)務(wù)邏輯層存取模型及調(diào)取恰當(dāng)模板的相關(guān)邏輯。模型與模板的橋梁。AI人臉智能識(shí)別Linux開發(fā)案例7.1.3PythonWeb框架Django框架項(xiàng)目創(chuàng)建人臉識(shí)別應(yīng)用采用Django框架開發(fā),可以方便、快捷地創(chuàng)建高品質(zhì)、易維護(hù)、數(shù)據(jù)庫(kù)驅(qū)動(dòng)的應(yīng)用程序。其目錄如圖所示。存放AI的相關(guān)的模型文件如下:(1)utils文件夾:存放相關(guān)的工具類,比如日期處理類、文件處理類等。(2)views文件夾:存放相關(guān)的定義URL相應(yīng)函數(shù)。(3)static文件夾:存放javascript、css、png等相關(guān)的靜態(tài)資源文件。(4)templates文件夾:存放等html5頁(yè)面文件。(5)manage.py:是Django用于管理本項(xiàng)目的命令行工具,站點(diǎn)的運(yùn)行、靜態(tài)文件收集等。AI人臉智能識(shí)別Linux開發(fā)案例7.1.3PythonWeb框架(環(huán)境配置詳細(xì)請(qǐng)查看文檔)Django框架項(xiàng)目創(chuàng)建Django項(xiàng)目創(chuàng)建測(cè)試1)進(jìn)入/home/zonesion/目錄,使用django-adminstartprojectHelloAI來創(chuàng)建HelloAI項(xiàng)目。test@rk3399:~/work$django-adminstartprojectHelloAItest@rk3399:~/work$cdHelloAI/test@rk3399:~/work/HelloAI$tree.├──HelloAI│
├──__init__.py│
├──settings.py│
├──urls.py│
└──wsgi.py└──manage.py
1directory,5filesAI人臉智能識(shí)別Linux開發(fā)案例7.1.3PythonWeb框架Django框架項(xiàng)目創(chuàng)建Django項(xiàng)目創(chuàng)建測(cè)試2)進(jìn)入HelloAI目錄,輸入命令python3manage.pyrunserver:8000,啟動(dòng)服務(wù)。test@rk3399:~/work/HelloAI$python3manage.pyrunserver:8000Performingsystemchecks...
Systemcheckidentifiednoissues(0silenced).
Youhave15unappliedmigration(s).Yourprojectmaynotworkproperlyuntilyouapplythemigrationsforapp(s):admin,auth,contenttypes,sessions.Run'pythonmanage.pymigrate'toapplythem.
September17,2020-08:59:39Djangoversion2.1.7,usingsettings'HelloAI.settings'Startingdevelopmentserverat:8000/QuittheserverwithCONTROL-C.AI人臉智能識(shí)別Linux開發(fā)案例7.1.3PythonWeb框架Django框架項(xiàng)目創(chuàng)建Django項(xiàng)目創(chuàng)建測(cè)試打開網(wǎng)關(guān)上的chromium瀏覽器,在地址欄輸入:8000,打開django服務(wù)頁(yè)面,如圖所示。AI人臉智能識(shí)別Linux開發(fā)案例7.1.3PythonWeb框架Django框架項(xiàng)目創(chuàng)建Django項(xiàng)目創(chuàng)建測(cè)試3)視圖和URL配置在之前創(chuàng)建的HelloAI目錄下的HelloAI目錄新建一個(gè)view.py文件,并輸入代碼:test@rk3399:~/work/HelloAI$lsdb.sqlite3HelloAImanage.pytest@rk3399:~/work/HelloAI$cdHelloAI/test@rk3399:~/work/HelloAI/HelloAI$ls__init__.py__pycache__settings.pyurls.pywsgi.pytest@rk3399:~/work/HelloAI/HelloAI$viview.py
fromdjango.httpimportHttpResponse
defhello(request):returnHttpResponse("HelloAI!")AI人臉智能識(shí)別Linux開發(fā)案例7.1.3PythonWeb框架Django框架項(xiàng)目創(chuàng)建Django項(xiàng)目創(chuàng)建測(cè)試接著,綁定URL與視圖函數(shù)。打開urls.py文件,刪除原來代碼,將以下代碼復(fù)制粘貼到urls.py文件中:fromdjango.conf.urlsimporturlfrom.importview
urlpatterns=[url(r'^$',view.hello),]完成后,啟動(dòng)Django開發(fā)服務(wù)器,并在瀏覽器訪問打開瀏覽器并訪問,如下圖所示。AI人臉智能識(shí)別Linux開發(fā)案例7.1.4開發(fā)實(shí)踐:AI人臉識(shí)別應(yīng)用框架1、項(xiàng)目硬件連接與組網(wǎng)配置本項(xiàng)目中使用到智能網(wǎng)關(guān)、高清攝像頭、SensorEH傳感器節(jié)點(diǎn)。高清攝像頭連接網(wǎng)關(guān)的USB3.0接口,如左圖所示。如果組網(wǎng)設(shè)置成功,通過ZCloudTools工具可以查看到網(wǎng)絡(luò)拓?fù)淙缬覉D所示。AI人臉智能識(shí)別Linux開發(fā)案例7.1.4開發(fā)實(shí)踐:AI人臉識(shí)別應(yīng)用框架2、啟動(dòng)機(jī)器視覺服務(wù)雙擊運(yùn)行網(wǎng)關(guān)桌面上的“機(jī)器視覺”運(yùn)行腳本,啟動(dòng)服務(wù),如左圖所示。打開Chrome瀏覽器,點(diǎn)擊瀏覽器書簽欄的“人工智能綜合應(yīng)用”,進(jìn)入人工智能綜合應(yīng)用系統(tǒng),即可進(jìn)行相關(guān)應(yīng)用的演示如右圖所示。AI人臉智能識(shí)別Linux開發(fā)案例7.1.4開發(fā)實(shí)踐:AI人臉識(shí)別應(yīng)用框架3、人工智能應(yīng)用參數(shù)設(shè)置在“人工智能綜合應(yīng)用系統(tǒng)”界面中,選擇“機(jī)器視覺”進(jìn)入子功能界面,在界面右上單擊設(shè)置圖標(biāo),打開參數(shù)設(shè)置界面,對(duì)智云帳號(hào)、節(jié)點(diǎn)MAC、百度帳號(hào)進(jìn)行設(shè)置如圖所示。Linux網(wǎng)關(guān)部分輸入,設(shè)置的智云ID、KEY與EH節(jié)點(diǎn)的mac地址。百度AI部分,輸入帳號(hào)信息。AI人臉智能識(shí)別Linux開發(fā)案例7.1.4開發(fā)實(shí)踐:AI人臉識(shí)別應(yīng)用框架4、人臉閘機(jī)功能測(cè)試參數(shù)設(shè)置完成后,機(jī)器視覺界面選擇“智能控制”功能。打開智能控制后,選擇“人臉閘機(jī)”應(yīng)用。運(yùn)行界面如圖左所示。選擇“人臉注冊(cè)”功能,攝像頭對(duì)準(zhǔn)人臉,如果從視頻流中檢測(cè)到人臉會(huì)出現(xiàn)紅色方框。在下方的姓名輸入框輸入用戶姓名,點(diǎn)擊“人臉注冊(cè)”按鈕,如注冊(cè)成功會(huì)顯示如圖右所示。AI人臉智能識(shí)別Linux開發(fā)案例7.1.4開發(fā)實(shí)踐:AI人臉識(shí)別應(yīng)用框架4、人臉閘機(jī)功能測(cè)試在“人臉管理”功能中,可以查看到剛才成功注冊(cè)的用戶照片,如左上圖所示。選擇“人臉識(shí)別”功能,如果應(yīng)用識(shí)別到當(dāng)前人臉已經(jīng)在人臉庫(kù)中注冊(cè),會(huì)出現(xiàn)如右圖所示。識(shí)別成功后,無(wú)線節(jié)點(diǎn)上的閘機(jī)會(huì)進(jìn)行“打開”動(dòng)作,5秒后進(jìn)行“關(guān)閉”動(dòng)作,如左下圖所示。AI人臉智能識(shí)別Linux開發(fā)案例7.1.5小結(jié)學(xué)習(xí)了人臉識(shí)別的應(yīng)用開發(fā)技術(shù),首先了解人工智能與人臉識(shí)別技術(shù)的相關(guān)概念,常見人臉識(shí)別開發(fā)架構(gòu),PythonWeb框架。學(xué)習(xí)并掌握Django框架項(xiàng)創(chuàng)建與使用。實(shí)踐環(huán)節(jié)通過人臉閘機(jī)項(xiàng)目的部署與測(cè)試,熟悉項(xiàng)目中的人臉注冊(cè)與人臉識(shí)別功能。AI人臉智能識(shí)別Linux開發(fā)案例
7.1.6思考與拓展1、簡(jiǎn)述人臉注冊(cè)與人臉識(shí)別的過程?2、常見的人臉識(shí)別開發(fā)平臺(tái)有哪些,各有什么特點(diǎn)?3、簡(jiǎn)述Django框架的特性?第7章AI人臉智能識(shí)別Linux開發(fā)案例
7.2AI人臉識(shí)別功能開發(fā)AI人臉智能識(shí)別Linux開發(fā)案例用于從人臉庫(kù)中新增用戶,可以設(shè)定多個(gè)用戶所在組,及組內(nèi)用戶的人臉圖片,典型應(yīng)用場(chǎng)景:構(gòu)建您的人臉庫(kù),如會(huì)員人臉注冊(cè),已有用戶補(bǔ)全人臉信息等。人臉庫(kù)、用戶組、用戶、用戶下的人臉層級(jí)關(guān)系如圖所示。7.2.1百度人臉識(shí)別接口
人臉注冊(cè)接口說明:關(guān)于人臉庫(kù)的設(shè)置限制每個(gè)開發(fā)者賬號(hào)只能創(chuàng)建一個(gè)人臉庫(kù);每個(gè)人臉庫(kù)下,用戶組(group)數(shù)量沒有限制;每個(gè)用戶組(group)下,可添加最多300000張人臉,如每個(gè)uid注冊(cè)一張人臉,則最多300000個(gè)用戶uid;每個(gè)用戶(uid)所能注冊(cè)的最大人臉數(shù)量沒有限制;AI人臉智能識(shí)別Linux開發(fā)案例7.2.1百度人臉識(shí)別接口
人臉注冊(cè)接口人臉注冊(cè)請(qǐng)求參數(shù)要求:所有圖片經(jīng)base64編碼后的圖片數(shù)據(jù)總和不超過10M。人臉注冊(cè)返回?cái)?shù)據(jù)參數(shù)如表所示。參數(shù)是否必選類型說明uid是string用戶id(由數(shù)字、字母、下劃線組成),長(zhǎng)度限制128Bimage是byte[]圖片數(shù)據(jù)group_id是string用戶組id(由數(shù)字、字母、下劃線組成),長(zhǎng)度限制48user_info是string新的user_info信息action_type否string如果為replace時(shí),則uid不存在時(shí),不報(bào)錯(cuò),會(huì)自動(dòng)注冊(cè)。不存在該參數(shù)時(shí),如果uid不存在會(huì)提示錯(cuò)誤字段是否必選類型說明log_id是number請(qǐng)求標(biāo)識(shí)碼,隨機(jī)數(shù),唯一AI人臉智能識(shí)別Linux開發(fā)案例7.2.1百度人臉識(shí)別接口
人臉庫(kù)管理相關(guān)接口人臉庫(kù)管理相關(guān)接口,要完成1:N或者M(jìn):N識(shí)別,首先需要構(gòu)建一個(gè)人臉庫(kù),用于存放所有人臉特征,相關(guān)接口如下:人臉注冊(cè):向人臉庫(kù)中添加人臉人臉更新:更新人臉庫(kù)中指定用戶下的人臉信息人臉刪除:刪除指定用戶的某張人臉用戶信息查詢:查詢?nèi)四槑?kù)中某個(gè)用戶的詳細(xì)信息獲取用戶人臉列表:獲取某個(gè)用戶組中的全部人臉列表獲取用戶列表:查詢指定用戶組中的用戶列表復(fù)制用戶:將指定用戶復(fù)制到另外的人臉組刪除用戶:刪除指定用戶創(chuàng)建用戶組:創(chuàng)建一個(gè)新的用戶組刪除用戶組:刪除指定用戶組組列表查詢:查詢?nèi)四槑?kù)中用戶組的列表AI人臉智能識(shí)別Linux開發(fā)案例7.2.1百度人臉識(shí)別接口
人臉識(shí)別接口人臉識(shí)別用于計(jì)算指定組內(nèi)用戶,與上傳圖像中人臉的相似度。識(shí)別前提為您已經(jīng)創(chuàng)建了一個(gè)人臉庫(kù)。典型應(yīng)用場(chǎng)景:如人臉閘機(jī),考勤簽到,安防監(jiān)控等。說明:人臉識(shí)別返回值不直接判斷是否是同一人,只返回用戶信息及相似度分值。說明:推薦可判斷為同一人的相似度分值為80,您也可以根據(jù)業(yè)務(wù)需求選擇更合適的閾值。publicstaticvoidFaceIdentify(){varclient=newBaidu.Aip.Face.Face("ApiKey","SecretKey");varimage1=File.ReadAllBytes("圖片文件路徑");
varresult=client.User.Identify(image1,new[]{"groupId"},1,1);}AI人臉智能識(shí)別Linux開發(fā)案例7.2.1百度人臉識(shí)別接口
人臉識(shí)別接口人臉識(shí)別請(qǐng)求參數(shù)詳情如表所示。參數(shù)是否必選類型說明group_id是string用戶組id(由數(shù)字、字母、下劃線組成)列表,每個(gè)groupid長(zhǎng)度限制48image是byte[]圖像數(shù)據(jù)ext_fields否string特殊返回信息,多個(gè)用逗號(hào)分隔,取值固定:目前支持faceliveness(活體檢測(cè))user_top_num否number返回用戶top數(shù),默認(rèn)為1,最多返回5個(gè)字段是否必選類型說明log_id是number請(qǐng)求唯一標(biāo)識(shí)碼,隨機(jī)數(shù)result_num是number返回結(jié)果數(shù)目,即:result數(shù)組中元素個(gè)數(shù)ext_info否array對(duì)應(yīng)參數(shù)中的ext_fields+faceliveness否string活體分?jǐn)?shù),如0.49999?;铙w檢測(cè)參考分?jǐn)?shù)0.4494,以上則可認(rèn)為是活體(測(cè)試期間result是array結(jié)果數(shù)組+group_id是string對(duì)應(yīng)的這個(gè)用戶的group_id+uid是string匹配到的用戶id+user_info是string注冊(cè)時(shí)的用戶信息+scores是array結(jié)果數(shù)組,數(shù)組元素為匹配得分,topn。得分[0,100.0]AI人臉智能識(shí)別Linux開發(fā)案例若要實(shí)現(xiàn)人臉簡(jiǎn)易的驗(yàn)證,首先需要錄入使用者的人臉特征,調(diào)用百度人臉庫(kù)的注冊(cè)函數(shù),會(huì)將臉部特征向量存儲(chǔ)在人臉庫(kù)中,代碼在face_get/face_gate/views/face_manage.py如下:7.2.2AI人臉識(shí)別功能程序分析
人臉注冊(cè)功能分析defface_register(request):image_type="BASE64"image_detail=image_process._save_image(request.FILES['avatar'].name,settings.AVATAR_PATH,request.FILES['avatar'])image=baidu_api_utils.get_file_content(image_detail)image64=str(base64.b64encode(image),'utf-8')options=dict()options['action_type']='REPLACE'user_id=request.POST.get("username")rsp=FaceManage.client.addUser(image64,image_type,FaceManage.group_id,user_id,options)print(rsp)_result={'error_code':200}
ifrsp['error_msg']!='SUCCESS':_result['error_code']=500rsp_json=JsonResponse(_result)
returnrsp_jsonAI人臉智能識(shí)別Linux開發(fā)案例以攝像頭捕捉到的人臉圖片,對(duì)該圖片進(jìn)行特征編碼,再與特征庫(kù)中所有人臉特征進(jìn)行對(duì)比,調(diào)用face_pare_faces()函數(shù),返回一個(gè)布爾值的列表,根據(jù)布爾值列表判斷是否為同一個(gè)人如圖所示。7.2.2AI人臉識(shí)別功能程序分析
人臉識(shí)別功能分析AI人臉智能識(shí)別Linux開發(fā)案例調(diào)用百度人臉庫(kù)的識(shí)別函數(shù),將攝像頭采集到的人臉與人臉庫(kù)中的人臉進(jìn)行1:N的比對(duì),匹配上了則識(shí)別到目標(biāo)人物,代碼如下:7.2.2AI人臉識(shí)別功能程序分析
人臉識(shí)別功能分析@staticmethoddefface_recognition(request):image_type="BASE64"group_id_list=FaceManage.group_id
image_detail=image_process._save_image(str(int(time.time()))+'_'+request.FILES['headImg'].name,settings.TEMP_UPLOAD_PATH,request.FILES['headImg'])image=baidu_api_utils.get_file_content(image_detail)image64=str(base64.b64encode(image),'utf-8')rsp=FaceManage.client.search(image64,image_type,group_id_list)print(rsp)_result={'error_code':200}
ifrsp['error_msg']!='SUCCESS':_result['error_code']=500else:score=rsp['result']['user_list'][0]['score']ifscore<90:_result['error_code']=500else:_result['msg']=rsp['result']['user_list'][0]['user_id']rsp_json=JsonResponse(_result)AI人臉智能識(shí)別Linux開發(fā)案例在程序中導(dǎo)入了物聯(lián)網(wǎng)設(shè)備控制接口文件:face_gate/utils/face_control.py,若通過人臉驗(yàn)證后,調(diào)用face_control.py中的face_control()函數(shù)來對(duì)服務(wù)器進(jìn)行連接,并向服務(wù)器發(fā)送控制ETC閘機(jī)請(qǐng)求,其調(diào)用的方法如下。7.2.2AI人臉識(shí)別功能程序分析7.2.3閘機(jī)控制功能分析fromdjango.httpimportJsonResponsefromface_gate.utils.websocket_controllerimportWebsocketControllerimporttimeclassFaceControl(object):def__init__(self):zhiyun_id=""#云服務(wù)idzhiyun_key=""#云服務(wù)keyzhiyun_server=":28080"#云服務(wù)server地址self.sensor_eh_mac=""#sersoreh識(shí)別類節(jié)點(diǎn)的mac地址self.ws=WebsocketController(zhiyun_id,zhiyun_key,zhiyun_server)self.message=self.ws.connect()
defface_control(self):ifself.sensor_eh_macisnotNoneandself.sensor_eh_mac!='':self.ws.send_message(self.sensor_eh_mac,"{OD1=1,D1=?}",1)time.sleep(5)self.ws.send_message(self.sensor_eh_mac,"{CD1=1,D1=?}",1)defface_control_api(request):result={'error_code':200}try:gc=FaceControl()gc.face_control()exceptExceptionase:print("websocketisnotconneted")result['error_code']=500returnJsonResponse(result)AI人臉智能識(shí)別Linux開發(fā)案例1、修改配置信息1)進(jìn)入本節(jié)實(shí)驗(yàn)?zāi)夸沠ace_register,并查看當(dāng)前目錄文件,如下:7.2.4開發(fā)實(shí)踐:AI人臉識(shí)別功能開發(fā)
人臉注冊(cè)與管理測(cè)試test@rk3399:~/work$cdface_register/test@rk3399:~/work/face_register$lsdb.sqlite3face_gatemanage.pystatictemplates2)設(shè)置百度帳號(hào)信息,進(jìn)入face_register/face_gate/views目錄下,使用vi編輯器打開face_manage.py文件。test@rk3399:~/work/face_register$cdface_gate/test@rk3399:~/work/face_register/face_gate$ls__init__.py__pycache__settings.pyurls.pyutilsviewswsgi.pytest@rk3399:~/work/face_register/face_gate$cdviews/test@rk3399:~/work/face_register/face_gate/views$lsface_manage.py__init__.py__pycache__test@rk3399:~/work/face_register/face_gate/views$viface_manage.pyAI人臉智能識(shí)別Linux開發(fā)案例2、啟動(dòng)服務(wù)器返回到face_register目錄,輸入服務(wù)啟動(dòng)命令python3manage.pyrunserver:8000。7.2.4開發(fā)實(shí)踐:AI人臉識(shí)別功能開發(fā)
人臉注冊(cè)與管理測(cè)試test@rk3399:~/work/face_register$lsdb.sqlite3face_gatemanage.pystatictemplatestest@rk3399:~/work/face_register$python3manage.pyrunserver:8000Django服務(wù)啟動(dòng)成功,運(yùn)行信息如下:Performingsystemchecks...systemcheckidentifiednoissues(osilenced).Youhave12unappliednigration(s).Yourprojectnaynotworkproperlyuntilyouapplythenigrationsforapp(s):auth,contenttypes,sessions.Run'pythonmanage.pymigrate'toapplythen.
May06,2020-17:57:40Djangoversion2.1.7,usingsettings'face_gate.settings'Startingdevelopmentserverat:8000/QouittheserverwithCONTROL-C.AI人臉智能識(shí)別Linux開發(fā)案例4、人臉管理功能測(cè)試在主頁(yè)面上選中“人臉管理”功能,出現(xiàn)人臉管理頁(yè)面。會(huì)顯示當(dāng)前系統(tǒng)中已成功注冊(cè)的用戶名稱。選中其中一個(gè)用戶,用戶的右下角會(huì)出現(xiàn)一個(gè)紅色的刪除按鈕,如圖所示。單擊紅色的刪除按鈕,確定后用戶信息會(huì)從人臉庫(kù)中刪除,如圖所示。7.2.4開發(fā)實(shí)踐:AI人臉識(shí)別功能開發(fā)
人臉注冊(cè)與管理測(cè)試AI人臉智能識(shí)別Linux開發(fā)案例1、修改配置信息1)進(jìn)入本節(jié)實(shí)驗(yàn)?zāi)夸沠ace_gate,并查看當(dāng)前目錄文件,如下:7.2.4開發(fā)實(shí)踐:AI人臉識(shí)別功能開發(fā)
人臉識(shí)別功能測(cè)試test@rk3399:~/work$cdface_gate/test@rk3399:~/work/face_gate$lsdb.sqlite3face_gatemanage.pystatictemplates2)設(shè)置百度帳號(hào)信息,進(jìn)入face_gate/face_gate/views目錄下,使用vi編輯器打開face_manage.py文件。test@rk3399:~/work/face_gate/face_gate$ls__init__.py__pycache__settings.pyurls.pyutilsviewswsgi.pytest@rk3399:~/work/face_gate/face_gate$cdviews/test@rk3399:~/work/face_gate/face_gate/views$lsface_manage.py__init__.py__pycache__test@rk3399:~/work/face_gate/face_gate/views$viface_manage.pyAI人臉智能識(shí)別Linux開發(fā)案例1、修改配置信息3)設(shè)置智云帳號(hào)信息,進(jìn)入face_gate/face_gate/utils目錄下,使用vi編輯器打開face_control.py文件。7.2.4開發(fā)實(shí)踐:AI人臉識(shí)別功能開發(fā)
人臉識(shí)別功能測(cè)試test@rk3399:~/work/face_gate/face_gate$cdutils/baidu_api_utils.pybaidu_face.pyimage_process.py__pycache__baidu_base.pyface_control.py__init__.pywebsocket_controller.pytest@rk3399:~/work/face_gate/face_gate/utils$viface_contro
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 渠道開發(fā)合同范本
- 蘇皖簽了協(xié)議書
- 苗木聘請(qǐng)合同范本
- 莆田計(jì)生協(xié)議書
- 視頻服務(wù)協(xié)議書
- 認(rèn)證協(xié)議書模板
- 設(shè)備交接協(xié)議書
- 設(shè)備風(fēng)險(xiǎn)協(xié)議書
- 設(shè)計(jì)施工協(xié)議書
- 評(píng)委聘用協(xié)議書
- 劇組用車合同范本
- 2024年法律職業(yè)資格《客觀題卷一》試題及答案
- 鋼鐵廠勞務(wù)合同范本
- 2025年沈陽(yáng)華晨專用車有限公司公開招聘筆試考試備考題庫(kù)及答案解析
- 職業(yè)技能競(jìng)賽和技術(shù)比武活動(dòng)方案
- 《面對(duì)挫折我不怕》課件
- 租打碟機(jī)合同范本
- 2025-2026學(xué)年上學(xué)期北京小學(xué)數(shù)學(xué)三年級(jí)期末典型卷2
- 2025四川成都東方廣益投資有限公司下屬企業(yè)招聘9人備考題庫(kù)(含答案詳解)
- 云南特色農(nóng)產(chǎn)品市場(chǎng)需求調(diào)研報(bào)告
- 2025課堂懲罰 主題班會(huì):馬達(dá)加斯加企鵝課堂懲罰 課件
評(píng)論
0/150
提交評(píng)論