




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
項(xiàng)目二使用計(jì)算機(jī)視覺算法實(shí)現(xiàn)圖像識別嵌入式人工智能技術(shù)應(yīng)用項(xiàng)目引導(dǎo)案例計(jì)算機(jī)視覺(ComputerVision,CV)是一門研究如何讓計(jì)算機(jī)達(dá)到人類那樣“看”的學(xué)科。也就是用計(jì)算機(jī)來實(shí)現(xiàn)對客觀的三維世界的識別與理解,這種三維理解是指被觀察對象的形狀、尺寸、離開觀察點(diǎn)的距離、姿態(tài)、質(zhì)地、運(yùn)動特征等的理解,更準(zhǔn)確點(diǎn)說,它是利用攝像機(jī)和電腦代替人眼使得計(jì)算機(jī)擁有類似于人類的那種對目標(biāo)進(jìn)行分割、分類、識別、跟蹤、判別決策的功能。思考一下,大家見過哪些場合用到計(jì)算機(jī)視覺?項(xiàng)目引導(dǎo)案例基于人臉識別算法實(shí)現(xiàn)人臉檢測任務(wù)一職業(yè)能力目標(biāo)01任務(wù)描述與要求02任務(wù)分析與計(jì)劃03知識儲備04任務(wù)實(shí)施05任務(wù)檢查與評價(jià)06任務(wù)小結(jié)07任務(wù)拓展08任務(wù)一基于人臉識別算法實(shí)現(xiàn)人臉檢測了解人臉檢測算法原理;理解如何使用多線程的方式實(shí)現(xiàn)圖像采集和人臉檢測。掌握利用OpenCV實(shí)現(xiàn)圖像的采集;掌握調(diào)用算法接口,進(jìn)行圖像識別。職業(yè)能力目標(biāo)01知識目標(biāo)技能目標(biāo)職業(yè)能力目標(biāo)01任務(wù)描述與要求02任務(wù)分析與計(jì)劃03知識儲備04任務(wù)實(shí)施05任務(wù)檢查與評價(jià)06任務(wù)小結(jié)07任務(wù)拓展08任務(wù)一基于人臉識別算法實(shí)現(xiàn)人臉檢測
本實(shí)驗(yàn)將實(shí)現(xiàn)用人臉檢測算法庫對USB攝像頭實(shí)時(shí)采集并顯示在jupyterlab的畫面進(jìn)行人臉檢測并標(biāo)注人臉框。任務(wù)描述任務(wù)要求使用人臉檢測算法對單張圖像進(jìn)行人臉檢測;基于多線程使用人臉檢測算法對視頻流進(jìn)行人臉檢測;標(biāo)注人臉框并進(jìn)行顯示。任務(wù)描述與要求02職業(yè)能力目標(biāo)01任務(wù)描述與要求02任務(wù)分析與計(jì)劃03知識儲備04任務(wù)實(shí)施05任務(wù)檢查與評價(jià)06任務(wù)小結(jié)07任務(wù)拓展08任務(wù)一基于人臉識別算法實(shí)現(xiàn)人臉檢測任務(wù)分析實(shí)現(xiàn)人臉檢測可能會涉及到哪些步驟?根據(jù)自己的了解說說人臉檢測原理?任務(wù)分析與計(jì)劃03任務(wù)計(jì)劃表項(xiàng)目名稱使用計(jì)算機(jī)視覺算法實(shí)現(xiàn)圖像識別任務(wù)名稱基于人臉識別算法實(shí)現(xiàn)人臉檢測計(jì)劃方式自主設(shè)計(jì)計(jì)劃要求請用8個(gè)計(jì)劃步驟來完整描述出如何完成本次任務(wù)序號任務(wù)計(jì)劃1
2
3
4
5
678
通過上面的思考,你是否對本任務(wù)要完成的工作有所了解?讓我們一起來制訂完成本次任務(wù)的實(shí)施計(jì)劃吧!任務(wù)分析與計(jì)劃03職業(yè)能力目標(biāo)01任務(wù)描述與要求02任務(wù)分析與計(jì)劃03知識儲備04任務(wù)實(shí)施05任務(wù)檢查與評價(jià)06任務(wù)小結(jié)07任務(wù)拓展08任務(wù)一基于人臉識別算法實(shí)現(xiàn)人臉檢測04知識儲備pywidgets2人臉檢測1人臉檢測04隨著電子商務(wù)等應(yīng)用的發(fā)展,人臉識別成為最有潛力的生物身份驗(yàn)證手段,這種應(yīng)用背景要求自動人臉識別系統(tǒng)能夠?qū)σ话銏D象具有一定的識別能力,由此所面臨的一系列問題使得人臉檢測開始作為一個(gè)獨(dú)立的課題受到研究者的重視。人臉檢測04人臉檢測是人臉識別技術(shù)的第一個(gè)流程,這一步驟所獲取的精確度與速率可以直接影響到全部人臉識別技術(shù)的特性。除此之外,人臉檢測的使用也大大超越了人臉識別技術(shù)的范圍,在人臉表情識別系統(tǒng)軟件、根據(jù)內(nèi)容的查找、視頻會議系統(tǒng)、三維人臉實(shí)體模型等層面也是有至關(guān)重要的使用使用價(jià)值。人臉檢測04人臉檢測方法1.根據(jù)常識的方式:
關(guān)鍵利用先驗(yàn)知識將人臉當(dāng)作人體器官特征的組成,依據(jù)雙眼、眼眉、嘴、鼻部等部位的特征及其彼此之間的幾何圖形位置關(guān)系來檢測人臉。人臉檢測04人臉檢測方法實(shí)際檢測方式:
依據(jù)常用先驗(yàn)知識的不一樣,根據(jù)常識的人臉檢測方式包含:輪廊標(biāo)準(zhǔn)法、器官分布法、皮膚顏色紋路法、模板配對法等。(1)輪廊標(biāo)準(zhǔn)法(2)器官分布法(3)皮膚顏色紋路法(4)模板配對法人臉檢測04人臉檢測方法2.根據(jù)統(tǒng)計(jì)分析的方式:
將人臉檢測作為一個(gè)“二分類問題”。即應(yīng)用很多的人臉和非人臉樣版練習(xí),結(jié)構(gòu)支持向量機(jī),根據(jù)辨別圖象中全部很有可能地區(qū)歸屬于那種方式的辦法完成人臉的檢測,把人臉檢測問題轉(zhuǎn)換為統(tǒng)計(jì)分析計(jì)算機(jī)視覺問題。人臉檢測04人臉檢測方法實(shí)際檢測方式:
根據(jù)統(tǒng)計(jì)分析的人臉檢測方式包含:特征室內(nèi)空間法、概率模型法、svm算法法、Adaboost法、神經(jīng)網(wǎng)絡(luò)法等。(1)特征室內(nèi)空間法(2)概率模型法(3)適用向量法(4)AdaBoost法(5)神經(jīng)網(wǎng)絡(luò)法人臉檢測04
每個(gè)人都有一張臉,而且是一個(gè)人最重要的外貌特征。這種技術(shù)最熱門的應(yīng)用領(lǐng)域有三個(gè)方面:人臉檢測應(yīng)用場景人臉檢測041.身份認(rèn)證與安全防護(hù)
在這個(gè)世界上,只要有門的地方幾乎都帶有一把鎖。當(dāng)然,在許多安全級別要求較高的區(qū)域,例如金融機(jī)構(gòu)、機(jī)關(guān)辦公大樓、運(yùn)動場館、甚至重要設(shè)施的工地,都需要對大量的人員進(jìn)行基于身份認(rèn)證的門禁管理。手機(jī)、筆記本電腦等個(gè)人電子用品,在開機(jī)和使用中經(jīng)常要用到身份驗(yàn)證功能。人臉檢測042.媒體與娛樂
人們的許多娛樂活動都是跟臉部有關(guān)的。最著名的娛樂節(jié)目之一就是川劇的變臉。在網(wǎng)絡(luò)虛擬世界里,通過人臉的變化,可以產(chǎn)生大量的娛樂節(jié)目和效果。手機(jī)、數(shù)碼相機(jī)等消費(fèi)電子產(chǎn)品中,基于人臉的娛樂項(xiàng)目越來越豐富。QQ、MSN等即時(shí)通信工具以及虛擬化身網(wǎng)絡(luò)游戲也是人臉合成技術(shù)的廣闊市場。人臉檢測043.圖像搜索
傳統(tǒng)搜索引擎的圖像搜索其實(shí)還是文字搜索。基于人臉圖像識別技術(shù)的搜索引擎將會具有廣泛的應(yīng)用前景。2010年推出的百度識圖在經(jīng)歷兩年多的沉寂之后,開始向另一個(gè)方向探索。與之前的區(qū)別在于,如果用戶給出一張圖片,百度識圖會判斷里面是否出現(xiàn)人臉,如果有,百度識圖在相似圖片搜索之外,同時(shí)會全網(wǎng)尋找出現(xiàn)過的類似人像。人臉檢測04一方面是由于人臉內(nèi)在的變化所引起:(1)人臉具有相當(dāng)復(fù)雜的細(xì)節(jié)變化,不同的外貌如臉形、膚色等,不同的表情如眼、嘴的開與閉等。(2)人臉的遮擋,如眼鏡、頭發(fā)和頭部飾物以及其他外部物體等。人臉檢測難點(diǎn)人臉檢測04另外一方面由于外在條件變化所引起:(1)由于成像角度的不同造成人臉的多姿態(tài),如平面內(nèi)旋轉(zhuǎn)、深度旋轉(zhuǎn)以及上下旋轉(zhuǎn),其中深度旋轉(zhuǎn)影響較大。(2)光照的影響,如圖像中的亮度、對比度的變化和陰影等。(3)圖像的成像條件,如攝像設(shè)備的焦距、成像距離,圖像獲得的途徑等等。人臉檢測難點(diǎn)pywidgets04知識儲備人臉檢測2104pywidgetswidget是可以和用戶交互的控件,如文本輸入框,滑動條,按鈕等,從而在JupyterNotebook中構(gòu)建可交互的用戶界面。
ipywidgets包含了豐富的widget,這些widget既是后端的python對象,也是前端的網(wǎng)頁元素,他們可以相互發(fā)送和同步信息。ipywidgets04pywidgetsipywidgets里的Image模塊在Jupiter網(wǎng)頁開發(fā)時(shí)可以像opencv窗口一樣播放視頻、預(yù)覽圖像,甚至可以做一個(gè)在線播放器以查看遠(yuǎn)程服務(wù)器里的視頻、圖像文件。04pywidgets使用pip安裝pipinstallipywidgets使用conda安裝condainstall-cconda-forgeipywidgetsipywidgets安裝用戶可以使用pip或conda安裝當(dāng)前版本的ipywidgets。04pywidgetswidgets.Text():文本框,構(gòu)造函數(shù)沒有形參,常用事件.on_submit(callback)widgets.Button(**kwages):按鈕,構(gòu)造函數(shù)的形參包括:description:顯示在按鈕上的文字tooltip:鼠標(biāo)懸浮時(shí)顯示的提示文字icon:圖標(biāo)(沒有成功使用過)disabled:bool值,是否禁止交互ipywidgets常用控件04pywidgetswidgets.Box():容器,將其它控件組合在一起的控件,類似.Net中的Panel,在構(gòu)造時(shí)傳入一個(gè)其它控件的數(shù)組,沒有常用事件。除此外還有HBox()、VBox()等容器。widgets.Label(value:str):普通文本標(biāo)簽,通常與其它控件共同組合在Box中以顯示說明文本,在構(gòu)造時(shí)傳入實(shí)參value作為要顯示的文本,沒有常用事件。widgets.Label(value:str):普通文本標(biāo)簽,通常與其它控件共同組合在Box中以顯示說明文本,在構(gòu)造時(shí)傳入實(shí)參value作為要顯示的文本,沒有常用事件。ipywidgets常用控件04pywidgets
Widgets是多事的python對象,在瀏覽器中具有表示形式,通常作為滑塊,文本框等控件。
控件有什么用?可以使用小組件為筆記本構(gòu)建交互式GUI??梢允褂眯〔考赑ython和JavaScript之間同步有狀態(tài)和無狀態(tài)信息。04pywidgets
JupyterWidgets主要是一個(gè)提供交互式控件的框架。該包還提供了一組基本的、輕量級的核心窗體控件,這些控件使用此框架。這些包含的控件包括文本區(qū)域、文本框、選擇和多選控件、復(fù)選框、滑塊、選項(xiàng)卡面板、網(wǎng)格布局等。
04pywidgets示例包括:基本表單控件,如滑塊、復(fù)選框、文本輸入容器控件,如選項(xiàng)卡、折疊面板、水平和垂直布局框、網(wǎng)格布局高級控件,如地圖、2D和3D可視化、數(shù)據(jù)網(wǎng)格等04pywidgetsJupyterWidgets框架有幾個(gè)組件:內(nèi)核中的一個(gè)包,用于為小部件提供接口。Python軟件包為IPython內(nèi)核提供了JupyterWidgets。其他內(nèi)核也可能提供JupyterWidgets支持。瀏覽器Jupyter前端的擴(kuò)展,用于管理JupyterWidgets。安裝會自動安裝JupyterLab和JupyterNotebook(和軟件包)的擴(kuò)展。JupyterWidgets項(xiàng)目還維護(hù)了一個(gè)普通的HTML界面,用于在網(wǎng)頁上嵌入JupyterWidgets,許多其他前端支持JupyterWidgets。職業(yè)能力目標(biāo)01任務(wù)描述與要求02任務(wù)分析與計(jì)劃03知識儲備04任務(wù)實(shí)施05任務(wù)檢查與評價(jià)06任務(wù)小結(jié)07任務(wù)拓展08任務(wù)一基于人臉識別算法實(shí)現(xiàn)人臉檢測05任務(wù)實(shí)施利用opencv采集圖像1調(diào)用人臉識別算法接口2利用多線程方式實(shí)現(xiàn)視頻流的人臉檢測342打開攝像頭1引入相關(guān)的庫3設(shè)置攝像頭的分辨率寬高值從攝像頭獲取一幀圖片5顯示獲取的圖片利用opencv采集圖像05利用opencv采集圖像利用opencv采集圖像05importcv2importtimeimportipywidgetsaswidgets#jupyter畫圖庫fromIPython.displayimportdisplay#jupyter顯示庫fromlib.faceDetectimportNLFaceDetect1.引入相關(guān)的庫cap=cv2.VideoCapture(0)2.打開攝像頭使用cv2.VideoCapture(camera_id)方法來打開攝像頭,賦值給cap。參數(shù)1camera_id指的是默認(rèn)打開第一個(gè)接入的攝像頭id,比如0。如果存在兩個(gè)攝像頭,id就是可選,0或者1代表的就是不同的兩個(gè)攝像頭。執(zhí)行如果沒有報(bào)錯(cuò),表示打開成功。利用opencv采集圖像05cap.set(cv2.CAP_PROP_FRAME_WIDTH,640)cap.set(cv2.CAP_PROP_FRAME_HEIGHT,480)3.設(shè)置攝像頭的分辨率寬高值使用cv2.set方法來設(shè)置攝像頭分辨率參數(shù)camera_width是攝像頭分辨率寬度,camera_height是攝像頭分辨率的高度.ret,image=cap.read()4.從攝像頭獲取一幀圖片返回值ret為狀態(tài)布爾值,是否獲取到圖片,True表示獲取成功,反之失敗,image為圖片數(shù)據(jù),如果需要顯示視頻流,則需要循環(huán)讀取圖片。importipywidgetsaswidgets#jupyter畫圖庫fromIPython.displayimportdisplay#jupyter顯示庫imgbox=widgets.Image()#定義一個(gè)圖像盒子,用于裝載圖像數(shù)據(jù)display(imgbox)#將盒子顯示出來imgbox.value=cv2.imencode('.jpg',image)[1].tobytes()#把圖像按照jpg格式編碼cap.release()#釋放攝像頭5.顯示獲取的圖片利用jupyter的畫圖庫和顯示庫,來顯示獲取的圖片。05任務(wù)實(shí)施利用opencv采集圖像1調(diào)用人臉識別算法接口2利用多線程方式實(shí)現(xiàn)視頻流的人臉檢測342圖片加載與顯示1算法實(shí)例化與模型加載3調(diào)用人臉檢測主函數(shù)獲取人臉框信息顯示算法處理的圖像調(diào)用人臉識別算法接口05調(diào)用人臉識別算法接口調(diào)用人臉識別算法接口05fromlib.faceDetectimportNLFaceDetectimportcv21.算法實(shí)例化與模型加載(1)算法實(shí)例化該人臉?biāo)惴◣焓堑讓佑蒀寫的算法庫,集成在核心開發(fā)板上,在經(jīng)過python的對接后,形成了一套python的接口庫,可以直接調(diào)用。libNamePath='/usr/local/lib/libNL_faceEnc.so'#指定庫文件路徑nlFaceDetect=NLFaceDetect(libNamePath)#實(shí)例化算法類(2)模型加載nlFaceDetect=NLFaceDetect(libNamePath)加載庫,以及指定函數(shù)參數(shù)類型和返回值類型,并初始化結(jié)構(gòu)體變量,libNamePath是固定庫文件路徑,執(zhí)行沒有報(bào)錯(cuò),表示實(shí)例化成功。調(diào)用人臉識別算法接口05image=cv2.imread("./exp/boy.jpg")ret1=nlFaceDetect.NL_FD_InitVarIn(image)2.圖片加載與顯示(1)加載圖片nlFaceDetect.NL_FD_InitVarIn(image)將采集到的圖片數(shù)據(jù),加載到算法中(limg為圖片數(shù)據(jù)),返回0表示加載成功。importipywidgetsaswidgets#jupyter畫圖庫fromIPython.displayimportdisplay#jupyter顯示庫imgbox=widgets.Image()#定義一個(gè)圖像盒子,用于裝載圖像數(shù)據(jù)display(imgbox)#將盒子顯示出來imgbox.value=cv2.imencode('.jpg',image)[1].tobytes()#把圖像值轉(zhuǎn)成byte類型的值(2)顯示圖片打印原始的照片。調(diào)用人臉識別算法接口05face_num=nlFaceDetect.NL_FD_Process_C()#返回值是目標(biāo)個(gè)數(shù)face_num=nlFaceDetect.djEDVarOut.num#取出人臉個(gè)數(shù)值3.調(diào)用人臉檢測主函數(shù)獲取人臉框信息人臉檢測主函數(shù)nlFaceDetect.NL_FD_Process_C()可以識別圖片中的人臉,并且返回人臉個(gè)數(shù)。foriinrange(face_num):outObject=nlFaceDetect.djEDVarOut.faceInfos[i].bboxprint("Totalface:",face_num,"ID:",i)#打印人臉個(gè)數(shù)
print('facebox:%0.2f,%0.2f,%0.2f,%0.2f'%(outObject.x1,outObject.y1,outObject.x2,outObject.y2))#打印人臉框的位置信息
print('Scores:%f'%outObject.score)#打印識別置信度
font=cv2.FONT_HERSHEY_SIMPLEX#定義字體
cv2.putText(image,str('Face'),(int(outObject.x1),int(outObject.y1)),font,0.8,(255,0,0),2)#在圖片上描繪文字
cv2.rectangle(image,(int(outObject.x1),int(outObject.y1)),(int(outObject.x2),int(outObject.y2)),(0,0,255),2)#在圖片上畫出人臉框取出人臉框位置信息。調(diào)用人臉識別算法接口05imgbox=widgets.Image()#定義一個(gè)圖像盒子,用于裝載圖像數(shù)據(jù)display(imgbox)#將盒子顯示出來imgbox.value=cv2.imencode('.jpg',image)[1].tobytes()#把圖像值轉(zhuǎn)成byte類型的值nlFaceDetect.NL_FD_Exit()#釋放算法內(nèi)存和模型4.顯示算法處理的圖像nlFaceDetect.NL_FD_InitVarIn(image)將采集到的圖片數(shù)據(jù),加載到算法中(limg為圖片數(shù)據(jù)),返回0表示加載成功。05任務(wù)實(shí)施利用opencv采集圖像1調(diào)用人臉識別算法接口2利用多線程方式實(shí)現(xiàn)視頻流的人臉檢測342定義攝像頭采集線程1引入相關(guān)的庫3定義算法識別線程啟動與停止線程利用多線程方式實(shí)現(xiàn)視頻流的人臉檢測05利用多線程方式實(shí)現(xiàn)視頻流的人臉檢測利用多線程,使圖像采集和算法識別同時(shí)運(yùn)行,從而實(shí)現(xiàn)視頻流的人臉檢測,并且可以避免一些因花時(shí)間太久,導(dǎo)致的視頻卡頓。利用多線程方式實(shí)現(xiàn)視頻流的人臉檢測05importtime#時(shí)間庫importcv2#引入opencv圖像處理庫importthreading#這是python的標(biāo)準(zhǔn)庫,線程庫importipywidgetsaswidgets#jupyter畫圖庫fromIPython.displayimportdisplay#jupyter顯示庫fromlib.faceDetectimportNLFaceDetect#人臉識別算法庫接口1.引入相關(guān)的庫threading線程庫多線程類似于同時(shí)執(zhí)行多個(gè)不同程序,多線程運(yùn)行有如下優(yōu)點(diǎn):使用線程可以把占據(jù)長時(shí)間的程序中的任務(wù)放到后臺去處理;用戶界面可以更加吸引人,比如用戶點(diǎn)擊了一個(gè)按鈕去觸發(fā)某些事件的處理,可以彈出一個(gè)進(jìn)度條來顯示處理的進(jìn)度;程序的運(yùn)行速度可能加快;在一些等待的任務(wù)實(shí)現(xiàn)上如用戶輸入、文件讀寫和網(wǎng)絡(luò)收發(fā)數(shù)據(jù)等,線程就比較有用了。在這種情況下我們可以釋放一些珍貴的資源如內(nèi)存占用等等。每個(gè)獨(dú)立的線程有一個(gè)程序運(yùn)行的入口、順序執(zhí)行序列和程序的出口。但是線程不能夠獨(dú)立執(zhí)行,必須依存在應(yīng)用程序中,由應(yīng)用程序提供多個(gè)線程執(zhí)行控制。利用多線程方式實(shí)現(xiàn)視頻流的人臉檢測05classCameraThread(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)#設(shè)置攝像頭分辨率寬度
self.cap.set(cv2.CAP_PROP_FRAME_HEIGHT,camera_height)#設(shè)置攝像頭分辨率高度
defrun(self):globalcamera_img#定義一個(gè)全局變量,用于存儲獲取的圖片,以便于算法可以直接調(diào)用
camera_img=Nonewhileself.working:ret,image=self.cap.read()#獲取新的一幀圖片
ifret:camera_img=imagedefstop(self):self.working=Falseself.cap.release()2.定義攝像頭采集線程結(jié)合上面的opencv采集圖像的內(nèi)容,利用多線程的方式串起來,形成一個(gè)可傳參,可調(diào)用的通用類。這里定義了一個(gè)全局變量camera_img,用作存儲獲取的圖片數(shù)據(jù),以便于其他線程可以調(diào)用。init初始化函數(shù)實(shí)例化該線程的時(shí)候,會自動執(zhí)行初始化函數(shù),在初始化函數(shù)里面,打開攝像頭,并設(shè)置分辨率。run函數(shù)該函數(shù)是在實(shí)例化后,執(zhí)行start啟動函數(shù)的時(shí)候,會自動執(zhí)行。在該函數(shù)里,實(shí)現(xiàn)了循環(huán)獲取圖像的內(nèi)容。利用多線程方式實(shí)現(xiàn)視頻流的人臉檢測053.定義算法識別線程結(jié)合調(diào)用算法接口的內(nèi)容和圖像顯示內(nèi)容,利用多線程的方式整合起來,循環(huán)識別,對攝像頭采集線程中獲取的每一幀圖片進(jìn)行識別,并顯示,形成視頻流的畫面。init初始化函數(shù)實(shí)例化該線程的時(shí)候,會自動執(zhí)行初始化函數(shù),在初始化函數(shù)里面,定義了顯示內(nèi)容,并實(shí)例化算法和加載模型。run函數(shù)該函數(shù)是在實(shí)例化后,執(zhí)行start啟動函數(shù)的時(shí)候,會自動執(zhí)行。在該函數(shù)是一個(gè)循環(huán),實(shí)現(xiàn)了對采集的每一幀圖片進(jìn)行算法識別,然后將結(jié)果繪畫在圖片上,并將處理后的圖片顯示出來。利用多線程方式實(shí)現(xiàn)視頻流的人臉檢測05camera_th=CameraThread(0,640,480)face_detect_th=FaceDetectThread()camera_th.start()face_detect_th.start()4.啟動和停止線程(1)啟動線程實(shí)例化兩個(gè)線程,并啟動這兩個(gè)線程,實(shí)現(xiàn)完整的人臉檢測功能,運(yùn)行時(shí)加載模型比較久,需要等待幾秒。face_detect_th.stop()camera_th.stop()(2)關(guān)閉線程為了避免占用資源,結(jié)束實(shí)驗(yàn)時(shí)需要停止攝像頭采集線程和算法識別線程,或者重啟內(nèi)核。職業(yè)能力目標(biāo)01任務(wù)描述與要求02任務(wù)分析與計(jì)劃03知識儲備04任務(wù)實(shí)施05任務(wù)檢查與評價(jià)06任務(wù)小結(jié)07任務(wù)拓展08任務(wù)一基于人臉識別算法實(shí)現(xiàn)人臉檢測任務(wù)檢查與評價(jià)06序號評價(jià)內(nèi)容評價(jià)標(biāo)準(zhǔn)分值得分1知識運(yùn)用(20%)掌握相關(guān)理論知識,理解本次任務(wù)要求,制定詳細(xì)計(jì)劃,計(jì)劃條理清晰,邏輯正確(20分)20分
理解相關(guān)理論知識,能根據(jù)本次任務(wù)要求、制定合理計(jì)劃(15分)了解相關(guān)理論知識,有制定計(jì)劃(10分)無制定計(jì)劃(0分)2專業(yè)技能(40%)完成利用OpenCV采集圖像、調(diào)用人臉識別算法接口、顯示圖像、利用多線程實(shí)現(xiàn)視頻流的人臉檢測。(40分)40分
完成利用OpenCV采集圖像、調(diào)用人臉識別算法接口、顯示圖像(30分)完成利用OpenCV采集圖像、調(diào)用人臉識別算法接口(20分)完成利用OpenCV采集圖像。(10分)沒有完成利用OpenCV采集圖像。(0分)3核心素養(yǎng)(20%)具有良好的自主學(xué)習(xí)能力、分析解決問題的能力、整個(gè)任務(wù)過程中有指導(dǎo)他人(20分)20分
具有較好的學(xué)習(xí)能力和分析解決問題的能力,任務(wù)過程中無指導(dǎo)他人(15分)能夠主動學(xué)習(xí)并收集信息,有請教他人進(jìn)行解決問題的能力(10分)不主動學(xué)習(xí)(0分)4課堂紀(jì)律(20%)設(shè)備無損壞、設(shè)備擺放整齊、工位區(qū)域內(nèi)保持整潔、無干擾課堂秩序(20分)20分
設(shè)備無損壞、無干擾課堂秩序(15分)無干擾課堂秩序(10分)干擾課堂秩序(0分)總得分1、請參照評價(jià)標(biāo)準(zhǔn)完成自評和對其他小組的互評。2、各組請代表分析本組任務(wù)實(shí)施經(jīng)驗(yàn)。職業(yè)能力目標(biāo)01任務(wù)描述與要求02任務(wù)分析與計(jì)劃03知識儲備04任務(wù)實(shí)施05任務(wù)檢查與評價(jià)06任務(wù)小結(jié)07任務(wù)拓展08任務(wù)一基于人臉識別算法實(shí)現(xiàn)人臉檢測任務(wù)小結(jié)07職業(yè)能力目標(biāo)01任務(wù)描述與要求02任務(wù)分析與計(jì)劃03知識儲備04任務(wù)實(shí)施05任務(wù)檢查與評價(jià)06任務(wù)小結(jié)07任務(wù)拓展08任務(wù)一基于人臉識別算法實(shí)現(xiàn)人臉檢測任務(wù)拓展08修改代碼實(shí)現(xiàn)人臉檢測,要求如下:1只定義一個(gè)類完成視頻流的人臉檢測;1.可以參考項(xiàng)目一任務(wù)四;解題
思路提示任務(wù)要求謝謝大家學(xué)習(xí)項(xiàng)目二使用計(jì)算機(jī)視覺算法實(shí)現(xiàn)圖像識別嵌入式人工智能技術(shù)應(yīng)用基于人臉屬性分析算法實(shí)現(xiàn)人臉檢測任務(wù)二職業(yè)能力目標(biāo)01任務(wù)描述與要求02任務(wù)分析與計(jì)劃03知識儲備04任務(wù)實(shí)施05任務(wù)檢查與評價(jià)06任務(wù)小結(jié)07任務(wù)拓展08任務(wù)二基于人臉屬性分析算法實(shí)現(xiàn)人臉檢測了解人臉屬性分析算法原理;掌握使用人臉屬性分析算法識別人臉屬性的方法。掌握利用OpenCV實(shí)現(xiàn)圖像的采集;掌握調(diào)用算法接口,進(jìn)行人臉多屬性分析。職業(yè)能力目標(biāo)01知識目標(biāo)技能目標(biāo)職業(yè)能力目標(biāo)01任務(wù)描述與要求02任務(wù)分析與計(jì)劃03知識儲備04任務(wù)實(shí)施05任務(wù)檢查與評價(jià)06任務(wù)小結(jié)07任務(wù)拓展08任務(wù)二基于人臉屬性分析算法實(shí)現(xiàn)人臉檢測
本實(shí)驗(yàn)將實(shí)現(xiàn)用人臉檢測和人臉屬性算法對USB攝像頭采集畫面進(jìn)行人臉檢測和人臉屬性分析,并標(biāo)注人臉框和人臉屬性顯示在notebook。任務(wù)描述任務(wù)要求使用人臉檢測算法和人臉屬性分析算法對單張圖像進(jìn)行人臉檢測和人臉分析;基于多線程使用人臉檢測算法和人臉屬性分析算法對USB攝像頭采集的畫面進(jìn)行人臉檢測和人臉屬性分析;標(biāo)注人臉框和人臉屬性并進(jìn)行顯示。任務(wù)描述與要求02職業(yè)能力目標(biāo)01任務(wù)描述與要求02任務(wù)分析與計(jì)劃03知識儲備04任務(wù)實(shí)施05任務(wù)檢查與評價(jià)06任務(wù)小結(jié)07任務(wù)拓展08任務(wù)二基于人臉屬性分析算法實(shí)現(xiàn)人臉檢測任務(wù)分析根據(jù)自己的了解說說人臉屬性有哪些?實(shí)現(xiàn)人臉屬性分析可能會涉及到哪些步驟?任務(wù)分析與計(jì)劃03任務(wù)計(jì)劃表項(xiàng)目名稱使用計(jì)算機(jī)視覺算法實(shí)現(xiàn)圖像識別任務(wù)名稱基于人臉屬性分析算法實(shí)現(xiàn)人臉檢測計(jì)劃方式自主設(shè)計(jì)計(jì)劃要求請用6個(gè)計(jì)劃步驟來完整描述出如何完成本次任務(wù)序號任務(wù)計(jì)劃1
2
3
4
5
6通過上面的思考,你是否對本任務(wù)要完成的工作有所了解?讓我們一起來制訂完成本次任務(wù)的實(shí)施計(jì)劃吧!任務(wù)分析與計(jì)劃03職業(yè)能力目標(biāo)01任務(wù)描述與要求02任務(wù)分析與計(jì)劃03知識儲備04任務(wù)實(shí)施05任務(wù)檢查與評價(jià)06任務(wù)小結(jié)07任務(wù)拓展08任務(wù)二基于人臉屬性分析算法實(shí)現(xiàn)人臉檢測04知識儲備人臉識別1人臉多屬性分析2人臉識別04人臉識別,是基于人的臉部特征信息進(jìn)行身份識別的一種生物識別技術(shù)。用攝像機(jī)或攝像頭采集含有人臉的圖像或視頻流,并自動在圖像中檢測和跟蹤人臉,進(jìn)而對檢測到的人臉進(jìn)行臉部識別的一系列相關(guān)技術(shù),通常也叫做人像識別、面部識別。人臉識別04人臉識別系統(tǒng)主要包括四個(gè)組成部分,分別為:人臉圖像采集及檢測、人臉圖像預(yù)處理、人臉圖像特征提取以及匹配與識別。人臉識別04
1.企業(yè)、住宅安全和管理:如人臉識別門禁考勤系統(tǒng),人臉識別防盜門等。人臉識別應(yīng)用場景人臉識別04
2.電子護(hù)照及身份證:中國的電子護(hù)照計(jì)劃公安部一所正在加緊規(guī)劃和實(shí)施。人臉識別應(yīng)用場景人臉識別04
3.公安、司法和刑偵:如利用人臉識別系統(tǒng)和網(wǎng)絡(luò),在全國范圍內(nèi)搜捕逃犯。人臉識別應(yīng)用場景人臉識別04
4、自助服務(wù):
人臉識別應(yīng)用場景人臉識別04
5.信息安全:如計(jì)算機(jī)登錄、電子政務(wù)和電子商務(wù)。在電子商務(wù)中交易全部在網(wǎng)上完成,電子政務(wù)中的很多審批流程也都搬到了網(wǎng)上。使用生物特征,就可以做到當(dāng)事人在網(wǎng)上的數(shù)字身份和真實(shí)身份統(tǒng)一。人臉識別應(yīng)用場景人臉識別04思考人臉識別和人臉檢測有什么區(qū)別呢?他們之間有什么關(guān)系?人臉識別04人臉檢測是一個(gè)比人臉識別更廣泛的術(shù)語。人臉檢測意味著系統(tǒng)可以識別圖像/視頻中是否有人臉。人臉檢測有許多應(yīng)用,人臉識別只是其中之一。人臉檢測也可以用于自動對焦相機(jī)。它可以用來計(jì)算進(jìn)入特定區(qū)域的人數(shù)。人臉識別04什么是人臉檢測?
人臉檢測是指用某種策略搜索任何給定的圖像/視頻幀,以確定它是否包含人臉,如果包含,則返回人臉的位置、的大小和姿態(tài)。人臉識別04人臉檢測的原理是什么?
人臉檢測算法通常從搜索人眼開始。眼睛形成所謂的山谷區(qū)域,是最容易被發(fā)現(xiàn)的特征之一。一旦檢測到眼睛,該算法可以嘗試檢測面部區(qū)域,包括眉毛、嘴、鼻子、鼻孔和虹膜。一旦算法推測它已經(jīng)檢測到一個(gè)面部區(qū)域,它可以應(yīng)用附加的測試來驗(yàn)證它是否已經(jīng)實(shí)際檢測到一個(gè)面部。人臉識別04什么是人臉識別?人臉識別是一種基于人臉特征信息的生物識別技術(shù)。簡而言之,人臉識別解決了“這是誰的臉”的問題。人臉識別04人臉檢測和人臉識別之間的關(guān)系?
人臉檢測最重要的應(yīng)用之一就是人臉識別。人臉識別技術(shù)描述了一種生物識別技術(shù),其技術(shù)遠(yuǎn)不止于在人臉出現(xiàn)時(shí)進(jìn)行識別。它實(shí)際上試圖確定它是誰的臉。該過程使用計(jì)算機(jī)應(yīng)用程序進(jìn)行工作,該計(jì)算機(jī)應(yīng)用程序捕獲個(gè)人人臉的數(shù)字圖像(有時(shí)是從視頻幀中獲?。┎⑵渑c存儲的記錄數(shù)據(jù)庫中的圖像進(jìn)行比較。盡管人臉識別并非100%準(zhǔn)確,但它可以非常準(zhǔn)確地確定何時(shí)人臉很可能與數(shù)據(jù)庫中的某人匹配。
簡而言之,盡管所有人臉識別系統(tǒng)都使用人臉檢測,但并非所有人臉檢測系統(tǒng)都具有人臉識別組件。04知識儲備人臉識別1人臉多屬性分析2人臉屬性04人臉屬性分析是人臉識別的另一種應(yīng)用場景,依賴于人臉識別接口來確定人臉的位置信息。人臉屬性分析算法接口的調(diào)用,不但要進(jìn)行識別檢測,還要把結(jié)果顯示在圖像上,比如說把人臉框畫在圖像上,并把人臉屬性,年齡,性別寫在圖像上等等。人臉屬性04人臉屬性1.人臉矩形檢測到的每個(gè)人臉對應(yīng)于響應(yīng)中的faceRectangle字段。這是一組像素坐標(biāo),用于檢測臉部的左邊緣、頂部、寬度和高度。使用這些坐標(biāo)可以獲取人臉的位置及大小。在API響應(yīng)中,人臉按照從大到小的順序列出。2.人臉I(yè)D人臉I(yè)D是在圖像中檢測到的每個(gè)人臉的唯一標(biāo)識符字符串??梢栽谌四?檢測API調(diào)用中請求人臉I(yè)D。人臉屬性043.人臉特征點(diǎn)人臉特征點(diǎn)是人臉上的一組易于查找的點(diǎn),例如瞳孔或鼻尖。默認(rèn)情況下,有27個(gè)預(yù)定義的特征點(diǎn)。下圖顯示了所有27個(gè)點(diǎn):以像素為單位返回的點(diǎn)坐標(biāo)。Detection_03模型目前具有最準(zhǔn)確的地標(biāo)檢測能力。此模型返回的眼睛和瞳孔地標(biāo)足夠精確,可以對面部進(jìn)行注視跟蹤。人臉屬性044.屬性屬性是可由人臉-檢測API選擇性地檢測到的一組特征。以下屬性可以檢測到:配飾。給定的人臉是否戴有配飾。此屬性會返回可能的配飾,包括頭飾、眼鏡和口罩,每個(gè)配飾的置信度分?jǐn)?shù)介于0到1之間。Age:特定人臉的估計(jì)年齡(歲)。Blur:圖像中人臉的模糊度。此屬性返回0到1的值,以及非正式分級:low、medium或high。Emotion:給定人臉的情感列表及其檢測置信度。置信度分?jǐn)?shù)會進(jìn)行標(biāo)準(zhǔn)化,所有情感的分?jǐn)?shù)加起來后得到一個(gè)總的分?jǐn)?shù)。返回的情感包括快樂、悲傷、中性、憤怒、蔑視、厭惡、驚訝、恐懼。Exposure:圖像中人臉的曝光度。此屬性返回0到1的值,以及非正式的分級:underExposure、goodExposure或overExposure。Facialhair:給定人臉的胡須狀態(tài)和長度。Gender:給定人臉的估計(jì)性別。可能的值為male、female和genderless。人臉屬性04Glasses:給定的人臉是否戴有眼鏡??赡艿闹禐镹oGlasses、ReadingGlasses、Sunglasses和SwimmingGoggles。Hair:人臉的發(fā)型。此屬性顯示頭發(fā)是否可見、是否檢測到禿頂,以及檢測到了哪種發(fā)色。Headpose:人臉在3D空間中的擺向。Makeup:人臉是否有化妝。此值返回eyeMakeup和lipMakeup的布爾值??谡?。人臉是否佩戴口罩。此屬性會返回可能的口罩類型,以及一個(gè)布爾值,用于指示鼻子和嘴巴是否被覆蓋。Noise:在人臉圖像中檢測到的視覺噪點(diǎn)。此屬性返回0到1的值,以及非正式分級:low、medium或high。Occlusion:是否存在遮擋人臉部位的物體。此屬性返回eyeOccluded、foreheadOccluded和mouthOccluded的布爾值。Smile:給定人臉的微笑表情。此值介于0(未微笑)與1(明確的微笑)之間。QualityForRecognition是與檢測中使用的圖像是否具有足夠高的質(zhì)量嘗試人臉識別有關(guān)的整體圖像質(zhì)量。人臉屬性041.廣告投放通過人臉識別技術(shù)對來往觀看廣告的人員進(jìn)行人臉檢測,然后分析檢測出的行人的人臉年齡、性別。根據(jù)人臉檢測分析了解相應(yīng)人群的年齡、性別、顏值等信息,推送相應(yīng)的廣告內(nèi)容,實(shí)現(xiàn)廣告的精準(zhǔn)投放。人臉多屬性應(yīng)用場景人臉屬性042.門店用戶畫像在商業(yè)方面,通過人臉識別技術(shù)對對門店中的視頻、來往客戶等人臉圖像進(jìn)行檢測,對門店客流的年齡、性別、顏值等屬性進(jìn)行分析,幫助商家構(gòu)建用戶畫像。商家還可以通過人臉識別檢測顧客的面部表情分析對商品的購買情況,實(shí)現(xiàn)精準(zhǔn)營銷。人臉多屬性應(yīng)用場景人臉屬性043.娛樂活動在一些娛樂app、H5或者是小程序中,使用到人臉識別技術(shù)對用戶上次的人臉照片進(jìn)行檢測,分析人物的顏值、年齡、微笑值等屬性。人臉檢測與屬性分析在娛樂方面的應(yīng)用可以使有更多的娛樂玩法,提升用戶的樂趣。在日常生活中有越來越多的場景通過人臉識別技術(shù)對人臉圖像進(jìn)行檢測,并且進(jìn)行年齡、顏值等屬性的分析,為運(yùn)營和營銷更為精準(zhǔn)化。人臉多屬性應(yīng)用場景人臉屬性04(1)相似性不同個(gè)體之間的區(qū)別不大,所有的人臉的結(jié)構(gòu)都相似,甚至人臉器官的結(jié)構(gòu)外形都很相似。(2)易變性人臉的外形很不穩(wěn)定,人可以通過臉部的變化產(chǎn)生很多表情,而在不同觀察角度,人臉的視覺圖像也相差很大,另外,人臉識別還受光照條件(例如白天和夜晚,室內(nèi)和室外等)、人臉的很多遮蓋物(例如口罩、墨鏡、頭發(fā)、胡須等)、年齡等多方面因素的影響。(3)用戶配合度現(xiàn)有的人臉識別系統(tǒng)在用戶配合、采集條件比較理想的情況下可以取得令人滿意的結(jié)果。但是,在用戶不配合、采集條件不理想的情況下,現(xiàn)有系統(tǒng)的識別率將陡然下降。人臉多屬性應(yīng)用難點(diǎn)職業(yè)能力目標(biāo)01任務(wù)描述與要求02任務(wù)分析與計(jì)劃03知識儲備04任務(wù)實(shí)施05任務(wù)檢查與評價(jià)06任務(wù)小結(jié)07任務(wù)拓展08任務(wù)二基于人臉屬性分析算法實(shí)現(xiàn)人臉檢測05任務(wù)實(shí)施利用多線程方式實(shí)現(xiàn)視頻流的人臉屬性分析2調(diào)用人臉多屬性分析算法接口142圖片加載與人臉檢測1模型加載與配置3人臉屬性分析顯示算法處理的圖像調(diào)用人臉多屬性分析算法接口05調(diào)用人臉多屬性分析算法接口人臉多屬性分析是人臉識別的另一種應(yīng)用場景,所以有依賴于人臉識別接口,來確定人臉的位置信息。人臉多屬性分析算法接口的調(diào)用,不但要進(jìn)行識別檢測,還要把結(jié)果顯示在圖片上。比如說把人臉框畫在圖片上,并把人臉屬性,年齡,性別寫在圖片上等等。調(diào)用人臉多屬性分析算法接口05fromlib.faceDetectimportNLFaceDetectfromlib.faceAttrimportNlFaceMultiAttrimportcv2importipywidgetsaswidgets#jupyter畫圖庫fromIPython.displayimportdisplay#jupyter顯示庫1.模型加載與配置(1)導(dǎo)入算法接口庫NLFaceDetect#人臉識別庫NlFaceMultiAttr#人臉多屬性庫這兩種算法庫都是是底層由C寫的算法庫,集成在核心開發(fā)板上,在經(jīng)過python的對接后,形成了一套python的接口庫,可以直接調(diào)用。face_libNamePath='/usr/local/lib/libNL_faceEnc.so'#指定人臉識別庫文件路徑nlFaceDetect=NLFaceDetect(face_libNamePath)#實(shí)例化人臉識別算法類em_libNamePath='/usr/local/lib/libNLMultiAttrPredEnc.so'#指定人臉多屬性庫文件路徑nlFaceMulti=NlFaceMultiAttr(em_libNamePath)#實(shí)例化人臉多屬性算法類(2)實(shí)例化算法接口對象實(shí)例化的時(shí)候,會自動執(zhí)行init()初始化函數(shù),該函數(shù)功能主要是加載算法庫,指定函數(shù)參數(shù)類型和返回值類型,并初始化結(jié)構(gòu)體變量,libNamePath是固定庫文件路徑,執(zhí)行沒有報(bào)錯(cuò),表示實(shí)例化成功。調(diào)用人臉多屬性分析算法接口05configPath=b"/usr/local/lib/rk3399_AI_model"#指定模型以及配置文件路徑nlFaceDetect.NL_FD_ComInit(configPath)#加載人臉識別模型并初始化nlFaceMulti.NL_EM_ComInit(configPath)#加載人臉多屬性分析模型并初始化1.模型加載與配置(3)加載模型和配置將內(nèi)存分配到各個(gè)模塊,比如,在人臉識別里面是人臉檢測,人臉對齊等等,在人臉多屬性里面,是針對人臉多屬性模塊的分配。configPath是模型和配置文件路徑,執(zhí)行沒有報(bào)錯(cuò),表示加載成功。調(diào)用人臉多屬性分析算法接口05importipywidgetsaswidgets#jupyter畫圖庫fromIPython.displayimportdisplay#jupyter顯示庫image=cv2.imread("./exp/face1.jpg")imgbox=widgets.Image()#定義一個(gè)圖像盒子,用于裝載圖像數(shù)據(jù)display(imgbox)#將盒子顯示出來imgbox.value=cv2.imencode('.jpg',image)[1].tobytes()#把圖像值轉(zhuǎn)成byte類型的值ret1=nlFaceDetect.NL_FD_InitVarIn(image)#圖像加載到人臉?biāo)惴ㄖ?.圖片加載與人臉檢測(1)加載圖片數(shù)據(jù)將采集到的圖片數(shù)據(jù),加載到兩個(gè)算法中(image為圖片數(shù)據(jù)),返回0表示加載成功。ret2=nlFaceDetect.NL_FD_Process_C()#返回值是目標(biāo)個(gè)數(shù)(2)調(diào)用人臉檢測主函數(shù)處理圖像返回人臉個(gè)數(shù),并輸出人臉框的位置信息,在輸出結(jié)構(gòu)體,可以獲取相關(guān)信息。nlFaceMulti.faceNum=nlFaceDetect.djEDVarOut.numret3=nlFaceMulti.NL_EM_InitVarIn(image)#圖像加載到人臉多屬性算法中(3)取出人臉個(gè)數(shù)值從人臉檢測輸出結(jié)構(gòu)體里面,獲取人臉個(gè)數(shù),并賦值給人臉屬性分析。調(diào)用人臉多屬性分析算法接口05fFDCoordinates=[]foriinrange(nlFaceDetect.djEDVarOut.num):outObject=nlFaceDetect.djEDVarOut.faceInfos[i].bboxfFDCoordinates.append(outObject.x1)fFDCoordinates.append(outObject.y1)fFDCoordinates.append(outObject.x2)fFDCoordinates.append(outObject.y2)cv2.rectangle(image,(int(outObject.x1),int(outObject.y1)),(int(outObject.x2),int(outObject.y2)),(0,0,255),2)image=nlFaceMulti.NL_EM_bbox(fFDCoordinates,image)print(fFDCoordinates)3.人臉屬性分析(1)將人臉坐標(biāo)信息輸入人臉多屬性模型根據(jù)人臉個(gè)數(shù),把人臉坐標(biāo)的位置信息,作為人臉多屬性的輸入。ifret3==0:ret4=nlFaceMulti.NL_EM_Process_C()(2)取出人臉個(gè)數(shù)值調(diào)用主處理函數(shù),分析人臉多屬性,包括年齡,性別,有無口罩,是否帶眼鏡等等,具體看接口信息。如果沒有人臉就不執(zhí)行主處理函數(shù),否則會報(bào)錯(cuò)。返回的是能獲取到屬性的人臉個(gè)數(shù)信息。調(diào)用人臉多屬性分析算法接口05image=nlFaceMulti.result_show(image)4.顯示算法處理的圖像(1)結(jié)果畫在圖片上調(diào)用結(jié)果函數(shù),輸出結(jié)果,并描繪在圖片上。nlFaceMulti.result_show(rgb)該函數(shù)里面有調(diào)用freetype的中文描繪模塊,目的是把中文顯示在圖片上,opencv是不支持中文顯示的。importipywidgetsaswidgets#jupyter畫圖庫fromIPython.displayimportdisplay#jupyter顯示庫imgbox=widgets.Image()#定義一個(gè)圖像盒子,用于裝載圖像數(shù)據(jù)display(imgbox)#將盒子顯示出來imgbox.value=cv2.imencode('.jpg',image)[1].tobytes()#把圖像值轉(zhuǎn)成byte類型的值nlFaceDetect.NL_FD_Exit()#釋放算法內(nèi)存和模型nlFaceMulti.NL_EM_Exit()(2)結(jié)果可視化利用jupyter的畫圖庫和顯示庫將經(jīng)過算法處理的圖像顯示,并釋放內(nèi)存和模型。05任務(wù)實(shí)施利用多線程方式實(shí)現(xiàn)視頻流的人臉屬性分析2調(diào)用人臉多屬性分析算法接口142定義攝像頭采集線程1引入相關(guān)的庫3定義算法識別線程啟動與停止線程利用多線程方式實(shí)現(xiàn)視頻流的人臉屬性分析05利用多線程方式實(shí)現(xiàn)視頻流的人臉屬性分析利用多線程,使圖像采集和算法識別同時(shí)運(yùn)行,從而實(shí)現(xiàn)視頻流的人臉檢測,并且可以避免一些因花時(shí)間太久,導(dǎo)致的視頻卡頓。利用多線程方式實(shí)現(xiàn)視頻流的人臉屬性分析05importtime#時(shí)間庫importcv2#引入opencv圖像處理庫importthreading#這是python的標(biāo)準(zhǔn)庫,線程庫importipywidgetsaswidgets#jupyter畫圖庫fromIPython.displayimportdisplay#jupyter顯示庫fromlib.faceDetectimportNLFaceDetect#人臉識別算法庫接口fromlib.faceAttrimportNlFaceMultiAttr#人臉多屬性算法接口1.引入相關(guān)的庫threading線程庫多線程類似于同時(shí)執(zhí)行多個(gè)不同程序,多線程運(yùn)行有如下優(yōu)點(diǎn):使用線程可以把占據(jù)長時(shí)間的程序中的任務(wù)放到后臺去處理;用戶界面可以更加吸引人,比如用戶點(diǎn)擊了一個(gè)按鈕去觸發(fā)某些事件的處理,可以彈出一個(gè)進(jìn)度條來顯示處理的進(jìn)度;程序的運(yùn)行速度可能加快;在一些等待的任務(wù)實(shí)現(xiàn)上如用戶輸入、文件讀寫和網(wǎng)絡(luò)收發(fā)數(shù)據(jù)等,線程就比較有用了。在這種情況下我們可以釋放一些珍貴的資源如內(nèi)存占用等等。每個(gè)獨(dú)立的線程有一個(gè)程序運(yùn)行的入口、順序執(zhí)行序列和程序的出口。但是線程不能夠獨(dú)立執(zhí)行,必須依存在應(yīng)用程序中,由應(yīng)用程序提供多個(gè)線程執(zhí)行控制。利用多線程方式實(shí)現(xiàn)視頻流的人臉屬性分析05classCameraThread(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)#設(shè)置攝像頭分辨率寬度
self.cap.set(cv2.CAP_PROP_FRAME_HEIGHT,camera_height)#設(shè)置攝像頭分辨率高度
defrun(self):globalcamera_img#定義一個(gè)全局變量,用于存儲獲取的圖片,以便于算法可以直接調(diào)用
camera_img=Nonewhileself.working:ret,image=self.cap.read()#獲取新的一幀圖片
ifret:camera_img=imagedefstop(self):self.working=Falseself.cap.release()2.定義攝像頭采集線程結(jié)合上面的opencv采集圖像的內(nèi)容,利用多線程的方式串起來,形成一個(gè)可傳參,可調(diào)用的通用類。這里定義了一個(gè)全局變量camera_img,用作存儲獲取的圖片數(shù)據(jù),以便于其他線程可以調(diào)用。init初始化函數(shù)實(shí)例化該線程的時(shí)候,會自動執(zhí)行初始化函數(shù),在初始化函數(shù)里面,打開攝像頭,并設(shè)置分辨率。run函數(shù)該函數(shù)是在實(shí)例化后,執(zhí)行start啟動函數(shù)的時(shí)候,會自動執(zhí)行。在該函數(shù)里,實(shí)現(xiàn)了循環(huán)獲取圖像的內(nèi)容。利用多線程方式實(shí)現(xiàn)視頻流的人臉屬性分析053.定義算法識別線程結(jié)合調(diào)用算法接口的內(nèi)容和圖像顯示內(nèi)容,利用多線程的方式整合起來,循環(huán)識別,對攝像頭采集線程中獲取的每一幀圖片進(jìn)行識別,并顯示,形成視頻流的畫面。init初始化函數(shù)實(shí)例化該線程的時(shí)候,會自動執(zhí)行初始化函數(shù),在初始化函數(shù)里面,定義了顯示內(nèi)容,并實(shí)例化算法和加載模型。run函數(shù)該函數(shù)是在實(shí)例化后,執(zhí)行start啟動函數(shù)的時(shí)候,會自動執(zhí)行。在該函數(shù)是一個(gè)循環(huán),實(shí)現(xiàn)了對采集的每一幀圖片進(jìn)行算法識別,然后將結(jié)果繪畫在圖片上,并將處理后的圖片顯示出來。利用多線程方式實(shí)現(xiàn)視頻流的人臉屬性分析05camera_th=CameraThread(0,640,480)face_attr_th=FaceAttrThread()camera_th.start()face_attr_th.start()4.啟動和停止線程(1)啟動線程實(shí)例化兩個(gè)線程,并啟動這兩個(gè)線程,實(shí)現(xiàn)完整的人臉屬性分析功能,運(yùn)行時(shí)加載模型比較久,需要等待幾秒。face_attr_th.stop()camera_th.stop()(2)關(guān)閉線程為了避免占用資源,結(jié)束實(shí)驗(yàn)時(shí)需要停止攝像頭采集線程和算法識別線程,或者重啟內(nèi)核。職業(yè)能力目標(biāo)01任務(wù)描述與要求02任務(wù)分析與計(jì)劃03知識儲備04任務(wù)實(shí)施05任務(wù)檢查與評價(jià)06任務(wù)小結(jié)07任務(wù)拓展08任務(wù)二基于人臉屬性分析算法實(shí)現(xiàn)人臉檢測任務(wù)檢查與評價(jià)06序號評價(jià)內(nèi)容評價(jià)標(biāo)準(zhǔn)分值得分1知識運(yùn)用(20%)掌握相關(guān)理論知識,理解本次任務(wù)要求,制定詳細(xì)計(jì)劃,計(jì)劃條理清晰,邏輯正確(20分)20分
理解相關(guān)理論知識,能根據(jù)本次任務(wù)要求、制定合理計(jì)劃(15分)了解相關(guān)理論知識,有制定計(jì)劃(10分)無制定計(jì)劃(0分)2專業(yè)技能(40%)完成圖像人臉屬性分析、顯示圖像、視頻流人臉屬性分析、啟動人臉檢測。(40分)40分
完成圖像人臉屬性分析、顯示圖像、視頻流人臉屬性分析。(30分)完成圖像人臉屬性分析、顯示圖像(20分)完成圖像人臉屬性分析。(10分)沒有完成圖像人臉屬性分析。(0分)3核心素養(yǎng)(20%)具有良好的自主學(xué)習(xí)能力、分析解決問題的能力、整個(gè)任務(wù)過程中有指導(dǎo)他人(20分)20分
具有較好的學(xué)習(xí)能力和分析解決問題的能力,任務(wù)過程中無指導(dǎo)他人(15分)能夠主動學(xué)習(xí)并收集信息,有請教他人進(jìn)行解決問題的能力(10分)不主動學(xué)習(xí)(0分)4課堂紀(jì)律(20%)設(shè)備無損壞、設(shè)備擺放整齊、工位區(qū)域內(nèi)保持整潔、無干擾課堂秩序(20分)20分
設(shè)備無損壞、無干擾課堂秩序(15分)無干擾課堂秩序(10分)干擾課堂秩序(0分)總得分1、請參照評價(jià)標(biāo)準(zhǔn)完成自評和對其他小組的互評。2、各組請代表分析本組任務(wù)實(shí)施經(jīng)驗(yàn)。職業(yè)能力目標(biāo)01任務(wù)描述與要求02任務(wù)分析與計(jì)劃03知識儲備04任務(wù)實(shí)施05任務(wù)檢查與評價(jià)06任務(wù)小結(jié)07任務(wù)拓展08任務(wù)二基于人臉屬性分析算法實(shí)現(xiàn)人臉檢測任務(wù)小結(jié)07職業(yè)能力目標(biāo)01任務(wù)描述與要求02任務(wù)分析與計(jì)劃03知識儲備04任務(wù)實(shí)施05任務(wù)檢查與評價(jià)06任務(wù)小結(jié)07任務(wù)拓展08任務(wù)二基于人臉屬性分析算法實(shí)現(xiàn)人臉檢測任務(wù)拓展08修改…/lib/faceAttr.py人臉屬性分析代碼文件里的result_show函數(shù),要求如下:1檢測結(jié)果能顯示是否戴口罩;1.可以仿照其它屬性顯示的代碼進(jìn)行修改;解題
思路提示任務(wù)要求謝謝大家學(xué)習(xí)項(xiàng)目二使用計(jì)算機(jī)視覺算法實(shí)現(xiàn)圖像識別嵌入式人工智能技術(shù)應(yīng)用基于人體骨骼點(diǎn)檢測算法實(shí)現(xiàn)人體檢測任務(wù)三職業(yè)能力目標(biāo)01任務(wù)描述與要求02任務(wù)分析與計(jì)劃03知識儲備04任務(wù)實(shí)施05任務(wù)檢查與評價(jià)06任務(wù)小結(jié)07任務(wù)拓展08任務(wù)三基于人體骨骼點(diǎn)檢測算法實(shí)現(xiàn)人體檢測了解人體骨骼點(diǎn)檢測算法原理;理解如何使用多線程的方式實(shí)現(xiàn)圖像采集和人體骨骼檢測。掌握利用OpenCV實(shí)現(xiàn)圖像的采集;掌握調(diào)用算法接口,進(jìn)行人體骨骼關(guān)鍵點(diǎn)檢測。職業(yè)能力目標(biāo)01知識目標(biāo)技能目標(biāo)職業(yè)能力目標(biāo)01任務(wù)描述與要求02任務(wù)分析與計(jì)劃03知識儲備04任務(wù)實(shí)施05任務(wù)檢查與評價(jià)06任務(wù)小結(jié)07任務(wù)拓展08任務(wù)三基于人體骨骼點(diǎn)檢測算法實(shí)現(xiàn)人體檢測
本實(shí)驗(yàn)將實(shí)現(xiàn)用人體骨骼點(diǎn)檢測算法庫對USB攝像頭實(shí)時(shí)采集并顯示在jupyterlab的畫面進(jìn)行人體骨骼點(diǎn)檢測。任務(wù)描述任務(wù)要求使用人體骨骼點(diǎn)檢測算法對單張圖像進(jìn)行人體骨骼點(diǎn)檢測;基于多線程使用人體骨骼點(diǎn)檢測算法對視頻流進(jìn)行人體骨骼點(diǎn)檢測;標(biāo)注人體骨骼點(diǎn)并進(jìn)行顯示。任務(wù)描述與要求02職業(yè)能力目標(biāo)01任務(wù)描述與要求02任務(wù)分析與計(jì)劃03知識儲備04任務(wù)實(shí)施05任務(wù)檢查與評價(jià)06任務(wù)小結(jié)07任務(wù)拓展08任務(wù)三基于人體骨骼點(diǎn)檢測算法實(shí)現(xiàn)人體檢測任務(wù)分析根據(jù)自己的了解說說人體骨骼點(diǎn)檢測有哪些應(yīng)用有哪些?實(shí)現(xiàn)人體骨骼點(diǎn)檢測可能會涉及到哪些步驟?任務(wù)分析與計(jì)劃03任務(wù)計(jì)劃表項(xiàng)目名稱使用計(jì)算機(jī)視覺算法實(shí)現(xiàn)圖像識別任務(wù)名稱基于人體骨骼點(diǎn)檢測算法實(shí)現(xiàn)人體檢測計(jì)劃方式自主設(shè)計(jì)計(jì)劃要求請用6個(gè)計(jì)劃步驟來完整描述出如何完成本次任務(wù)序號任務(wù)計(jì)劃1
2
3
4
5
6通過上面的思考,你是否對本任務(wù)要完成的工作有所了解?讓我們一起來制訂完成本次任務(wù)的實(shí)施計(jì)劃吧!任務(wù)分析與計(jì)劃03職業(yè)能力目標(biāo)01任務(wù)描述與要求02任務(wù)分析與計(jì)劃03知識儲備04任務(wù)實(shí)施05任務(wù)檢查與評價(jià)06任務(wù)小結(jié)07任務(wù)拓展08任務(wù)三基于人體骨骼點(diǎn)檢測算法實(shí)現(xiàn)人體檢測04知識儲備人臉骨骼點(diǎn)檢測1行為識別2人臉骨骼點(diǎn)檢測04人體骨骼關(guān)鍵點(diǎn)檢測也稱為PoseEstimation,主要檢測人體的關(guān)節(jié)、五官等,通過關(guān)鍵點(diǎn)描述人體骨骼信息。人臉骨骼點(diǎn)檢測04人體骨架點(diǎn)檢測是對圖像或者視頻中的人體進(jìn)行主要關(guān)節(jié)點(diǎn)定位的過程,其作用是服務(wù)于人體動作的分類或識別,安全監(jiān)控,人機(jī)交互,數(shù)字娛樂,體育分析等領(lǐng)域都離不開對人體動作的分析。因此,對人體骨架點(diǎn)檢測的深入研究,有著廣闊的應(yīng)用前景。人臉骨骼點(diǎn)檢測04實(shí)現(xiàn)人體檢型,通常采用人體姿態(tài)估計(jì)(HumanPostureEstimation),即將圖片中已經(jīng)檢測到的人體關(guān)鍵點(diǎn)正確聯(lián)系起來從而實(shí)現(xiàn)人體姿態(tài)的估計(jì),實(shí)現(xiàn)人體的檢測。人體關(guān)鍵點(diǎn)通常對應(yīng)人體上有一定自由度的關(guān)節(jié),比如頸、肩、肘、腕、腰、膝、踝等。人臉骨骼點(diǎn)檢測04
人體骨骼關(guān)鍵點(diǎn)檢測是計(jì)算機(jī)視覺的基礎(chǔ)性算法之一,在計(jì)算機(jī)視覺的其他相關(guān)領(lǐng)域的研究中都起到了基礎(chǔ)性的作用,如行為識別、人物跟蹤、步態(tài)識別等相關(guān)領(lǐng)域。具體應(yīng)用主要集中在智能視頻監(jiān)控,病人監(jiān)護(hù)系統(tǒng),人機(jī)交互,虛擬現(xiàn)實(shí),人體動畫,智能家居,智能安防,運(yùn)動員輔助訓(xùn)練等等。人臉骨骼點(diǎn)檢測041、人類行為識別:人類行為識別是指在給定的圖片或者圖片序列中識別出人體的動作意圖。人類行為識別是計(jì)算機(jī)視覺領(lǐng)域一個(gè)極其重要的研究方向。人體骨骼關(guān)鍵點(diǎn)應(yīng)用場景人臉骨骼點(diǎn)檢測04動作識別常見的幾個(gè)應(yīng)用場景:(1)用于檢測兒童或者老人是否突然摔倒,人體是否由于碰撞或疾病造成摔倒;(2)用于體育、健身和舞蹈等肢體相關(guān)的教學(xué)和核對;(3)用于理解人體的明確的肢體信號和指示(如機(jī)場跑道信號、交警信號、航海旗語等);(4)用于協(xié)助進(jìn)行姿態(tài)保持和保證(如學(xué)生課堂聽講和學(xué)情報(bào)告);(5)用于增強(qiáng)安保和監(jiān)控人體行為(如識別校園學(xué)生追打和上下樓梯推搡等行為)。人體骨骼關(guān)鍵點(diǎn)應(yīng)用場景人臉骨骼點(diǎn)檢測042、人機(jī)交互:人機(jī)交互是指設(shè)計(jì)一種計(jì)算機(jī)和用戶進(jìn)行信息傳遞的接口程序。人機(jī)交互處于計(jì)算機(jī)科學(xué),行為科學(xué),設(shè)計(jì),媒體研究的交叉點(diǎn)。人體骨骼關(guān)鍵點(diǎn)應(yīng)用場景人臉骨骼點(diǎn)檢測043、服裝解析:服裝解析是指在一張圖像中解析出人體上不同的服裝。解析服裝的視覺算法具有各種各樣的潛在應(yīng)用價(jià)值,更好的理解圖像,人物服飾識別,或基于內(nèi)容的圖像檢索等。人體骨骼關(guān)鍵點(diǎn)應(yīng)用場景人臉骨骼點(diǎn)檢測044、運(yùn)動捕捉和增強(qiáng)現(xiàn)實(shí)(CGI):通過檢測出人體關(guān)鍵點(diǎn),將人體姿態(tài)應(yīng)用到圖形、特效增強(qiáng)、藝術(shù)造型等,使用計(jì)算機(jī)合成技術(shù)將相關(guān)數(shù)據(jù)加載在電影人物上。人體骨骼關(guān)鍵點(diǎn)應(yīng)用場景人臉骨骼點(diǎn)檢測045、虛擬游戲:在交互游戲中追蹤人體對象的運(yùn)動,使用人體關(guān)鍵點(diǎn)檢測技術(shù)來追蹤人類玩家的運(yùn)動,從而利用它來渲染虛擬人物的動作。人體骨骼關(guān)鍵點(diǎn)應(yīng)用場景人臉骨骼點(diǎn)檢測046、訓(xùn)練機(jī)器人:人類教練通過演示特定的動作,來教機(jī)器人學(xué)習(xí)這一動作,機(jī)器人識別人體關(guān)鍵點(diǎn),計(jì)算如何移動自己的活動關(guān)節(jié),來進(jìn)行相同的動作。人體骨骼關(guān)鍵點(diǎn)應(yīng)用場景人臉骨骼點(diǎn)檢測04圖片的數(shù)量未知;圖片中人與人之間的接觸會極大影響識別效率,比如追擋、接觸、掩蓋;圖片中的人數(shù)的增加會直接導(dǎo)致計(jì)算的復(fù)雜度提高;由于人體具有相當(dāng)?shù)娜嵝?,會出現(xiàn)各種姿態(tài)和形狀,而且還面臨著遮擋、光照、霧等環(huán)境的影響。人體骨骼關(guān)鍵點(diǎn)檢測難點(diǎn)人臉骨骼點(diǎn)檢測04人體骨骼關(guān)鍵點(diǎn)檢測方法主要分兩周:自上而下和自下而上。自上而下:先檢測人體,在檢測單人人體關(guān)鍵點(diǎn);自下而上:先將圖片中所有的關(guān)鍵點(diǎn)檢測出來,再進(jìn)行關(guān)鍵點(diǎn)聚類。人體骨骼關(guān)鍵點(diǎn)檢測方法04知識儲備人臉骨骼點(diǎn)檢測1行為識別2行為識別04我們可以通過深度學(xué)習(xí),檢測到一個(gè)人,但是那個(gè)人在做什么我們不知道。所以我們就想讓神經(jīng)網(wǎng)絡(luò)既檢測到人,又知道他在做什么。也就是對這個(gè)人的行為進(jìn)行識別。行為識別——骨架提取/人體關(guān)鍵點(diǎn)估計(jì)行為識別041.openposeopenpose是自下而上的人體姿態(tài)估計(jì)算法,也就是先得到關(guān)鍵點(diǎn)位置,再獲得骨架。因此計(jì)算量不會因?yàn)閳D片上人物的增加而顯著增加,能保證時(shí)間基本不變。2D人體關(guān)鍵點(diǎn)估計(jì)算法:行為識別042.AlphaposeAlphapose是自上而下的算法,也就是先檢測倒人體,再得到關(guān)鍵點(diǎn)和骨架。因此他的準(zhǔn)確率、Ap值要比openpose高。但是缺點(diǎn)就是隨著圖片上的人數(shù)增加,他的計(jì)算量增大,速度變慢。2D人體關(guān)鍵點(diǎn)估計(jì)算法:行為識別043.MobileposemobilePose就是用輕量級網(wǎng)絡(luò)來識別人體關(guān)鍵點(diǎn),而且大部分都是單人姿態(tài)估計(jì)。因此可以先加上人體的偵測,如用yolo偵測到人的位置,然后在接上mobilepose,這樣速度可以非常的快,而且準(zhǔn)確性也比較好。2D人體關(guān)鍵點(diǎn)估計(jì)算法:行為識別04總結(jié):骨架提取如果要在移動端部署,那么就得用輕量級版本。受限于復(fù)雜背景,人物可能被遮擋,或者多人重疊的情況就無法很準(zhǔn)確的識別骨架。因此在移動端可以實(shí)現(xiàn)的只有單人的時(shí)候,做單人的行為識別、動作匹配等作用。對于大場景的行為識別,就要用到比較大的模型,才能有較高的精確度。2D人體關(guān)鍵點(diǎn)估計(jì)算法:職業(yè)能力目標(biāo)01任務(wù)描述與要求02任務(wù)分析與計(jì)劃03知識儲備04任務(wù)實(shí)施05任務(wù)檢查與評價(jià)06任務(wù)小結(jié)07任務(wù)拓展08任務(wù)三基于人體骨骼點(diǎn)檢測算法實(shí)現(xiàn)人體檢測職業(yè)能力目標(biāo)01任務(wù)描述與要求02任務(wù)分析與計(jì)劃03知識儲備04任務(wù)實(shí)施05任務(wù)檢查與評價(jià)06任務(wù)小結(jié)07任務(wù)拓展08任務(wù)三基于人體骨骼點(diǎn)檢測算法實(shí)現(xiàn)人體檢測05任務(wù)實(shí)施利用多線程方式實(shí)現(xiàn)視頻流的人體骨骼檢測2調(diào)用人體骨骼關(guān)鍵點(diǎn)算法接口12圖片加載與人體骨骼點(diǎn)檢測1模型加載與配置3顯示算法處理的圖像調(diào)用人體骨骼關(guān)鍵點(diǎn)算法接口05調(diào)用人體骨骼關(guān)鍵點(diǎn)算法接口算法接口的調(diào)用,不但要進(jìn)行識別檢測,還要把結(jié)果顯示在圖片上,比如說把人體關(guān)節(jié)點(diǎn)和關(guān)節(jié)點(diǎn)的連線,全部描繪在圖片上等等。調(diào)用人體骨骼關(guān)鍵點(diǎn)算法接口05importcv2fromlib.posePointimportNLPose,gColors,gPosePairs1.模型加載與配置(1)導(dǎo)入算法接口庫該人體骨骼關(guān)鍵點(diǎn)算法接口庫是底層由C寫的算法庫,集成在核心開發(fā)板上,在經(jīng)過python的對接后,形成了一套python的接口庫,可以直接調(diào)用。libNamePath="/usr/local/lib/libNL_ACTIONENC.so"#指定庫文件路徑nlPose=NLPose(libNamePath)#實(shí)例化算法類(2)實(shí)例化算法接口對象加載庫,以及指定函數(shù)參數(shù)類型和返回值類型,并初始化結(jié)構(gòu)體變量,libNamePath是固定庫文件路徑,執(zhí)行沒有報(bào)錯(cuò),表示實(shí)例化成功。configPath=b"/usr/local/lib/rk3399_AI_model"#指定模型以及配置文件路徑nlPose.NL_Pose_ComInit(configPath)#加載模型并初始化(3)加載模型和配置初始化配置,加載模型,configPath是模型和配置文件路徑,執(zhí)行沒有報(bào)錯(cuò),表示加載成功。調(diào)用人體骨骼關(guān)鍵點(diǎn)算法接口05importipywidgetsaswidgets#jupyter畫圖庫fromIPython.displayimportdisplay#jupyter顯示庫image1=cv2.imread("./exp/body.jpg")imgbox=widgets.Image()#定義一個(gè)圖像盒子,用于裝載圖像數(shù)據(jù)display(imgbox)#將盒子顯示出來imgbox.value=cv2.imencode('.jpg',image1)[1].tobytes()#把圖像值轉(zhuǎn)成byte類型的值2.加載圖片數(shù)據(jù)人體骨骼點(diǎn)檢測(1)顯示原始的目標(biāo)圖像將采集到的圖片數(shù)據(jù),加載到算法中(image為圖片數(shù)據(jù)),返回0表示加載成功因?yàn)樗惴ㄖ?,采用的?280*960的分辨率,需要把圖片放大或者縮小成該分辨率的圖像。height=image1.shape[0]width=image1.shape[1]ifheight!=960orwidth!=1280:image=cv2.resize(image1,(1280,960),interpolation=cv2.INTER_CUBIC)ret1=nlPose.NL
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度新能源項(xiàng)目施工團(tuán)隊(duì)派遣服務(wù)協(xié)議
- 二零二五年度員工期權(quán)激勵計(jì)劃執(zhí)行與員工福利協(xié)議
- 二零二五年度特色商業(yè)街區(qū)商鋪轉(zhuǎn)讓合同
- 2025年度鋼構(gòu)建筑鋼結(jié)構(gòu)加工與施工合同
- 2025年度電子商務(wù)平臺合作協(xié)議簽約變更終止全流程手冊
- 二零二五年度醫(yī)療糾紛調(diào)解與醫(yī)療機(jī)構(gòu)糾紛調(diào)解機(jī)制建設(shè)協(xié)議
- 2025年度電商旺季客服團(tuán)隊(duì)增援服務(wù)協(xié)議
- 2025年度金融科技合作入股協(xié)議書
- 二零二五年度城市綜合體工程款房屋抵償協(xié)議
- 二零二五年度電影學(xué)院電影包場教學(xué)合同
- 2024年知識競賽-煙花爆竹安全管理知識競賽考試近5年真題附答案
- 民航基礎(chǔ)知識應(yīng)用題庫100道及答案解析
- 數(shù)字孿生水利項(xiàng)目建設(shè)可行性研究報(bào)告
- SolidWorks-2020項(xiàng)目教程全套課件配套課件完整版電子教案
- 2025年全國計(jì)算機(jī)二級考試模擬考試題庫及答案(共280題)
- 中國水資源與水環(huán)境-王浩
- DL-T 2680-2023 電力建設(shè)施工企業(yè)安全生產(chǎn)標(biāo)準(zhǔn)化實(shí)施規(guī)范
- 2024年用電監(jiān)察員(用電檢查員)技師職業(yè)鑒定考試題庫(含答案)
- 2024年輔警招聘考試試題庫附參考答案(綜合題)
- 垃圾發(fā)電廠汽機(jī)培訓(xùn)
- 村情要素模板
評論
0/150
提交評論