版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
項(xiàng)目六人臉跟隨創(chuàng)靈實(shí)驗(yàn)平臺(tái)人臉跟隨模塊開(kāi)發(fā)任務(wù)一職業(yè)能力目標(biāo)01任務(wù)描述與要求02任務(wù)分析與計(jì)劃03知識(shí)儲(chǔ)備04任務(wù)實(shí)施05任務(wù)檢查與評(píng)價(jià)06任務(wù)小結(jié)07任務(wù)拓展08任務(wù)一人臉跟隨模塊開(kāi)發(fā)掌握通過(guò)Threading模塊封裝線程類的方法開(kāi)啟攝像頭掌握用OpenCV繪制人臉在圖片中的位置信息掌握使用裝飾器調(diào)度機(jī)械臂跟隨人臉移動(dòng)使用Threading模塊封裝線程類的方法開(kāi)啟攝像頭在畫(huà)面中繪制人臉的位置信息調(diào)動(dòng)機(jī)械臂跟隨人臉移動(dòng)職業(yè)能力目標(biāo)01實(shí)驗(yàn)?zāi)康膶?shí)驗(yàn)內(nèi)容職業(yè)能力目標(biāo)01任務(wù)描述與要求02任務(wù)分析與計(jì)劃03知識(shí)儲(chǔ)備04任務(wù)實(shí)施05任務(wù)檢查與評(píng)價(jià)06任務(wù)小結(jié)07任務(wù)拓展08任務(wù)一人臉跟隨模塊開(kāi)發(fā)要求同學(xué)們能夠根據(jù)所學(xué)內(nèi)容編寫(xiě)相應(yīng)的裝飾器及opencv函數(shù),實(shí)現(xiàn)攝像頭獲取圖片,并通過(guò)Threading模塊創(chuàng)建thread線程子類。最后通過(guò)人臉檢測(cè)算法識(shí)別畫(huà)面中存在的人臉,并在畫(huà)面中繪制出人臉圖框。任務(wù)描述任務(wù)要求復(fù)習(xí)并完成opencv實(shí)現(xiàn)攝像頭獲取圖片,成功采集到圖片;完成人臉檢測(cè)圖像推理功能實(shí)驗(yàn),實(shí)現(xiàn)人臉識(shí)別;完成人臉信息獲取,并繪制畫(huà)面中的人臉圖框。任務(wù)描述與要求02職業(yè)能力目標(biāo)01任務(wù)描述與要求02任務(wù)分析與計(jì)劃03知識(shí)儲(chǔ)備04任務(wù)實(shí)施05任務(wù)檢查與評(píng)價(jià)06任務(wù)小結(jié)07任務(wù)拓展08任務(wù)一人臉跟隨模塊開(kāi)發(fā)任務(wù)分析思考一下在我們學(xué)習(xí)了解完本章知識(shí)后,我們能如何改進(jìn)人臉檢測(cè)模塊。根據(jù)自己的了解,要怎樣去了解認(rèn)識(shí)人臉檢測(cè)模塊,可以促進(jìn)自己進(jìn)一步地學(xué)習(xí)?任務(wù)分析與計(jì)劃03任務(wù)計(jì)劃表項(xiàng)目名稱創(chuàng)靈實(shí)驗(yàn)平臺(tái)任務(wù)名稱人臉跟隨模塊開(kāi)發(fā)計(jì)劃方式自主設(shè)計(jì)計(jì)劃要求請(qǐng)用6個(gè)計(jì)劃步驟來(lái)完整描述出如何完成本次任務(wù)序號(hào)任務(wù)計(jì)劃1
2
3
4
5
6
通過(guò)上面的思考,你是否對(duì)本任務(wù)要完成的工作有所了解?讓我們一起來(lái)制訂完成本次任務(wù)的實(shí)施計(jì)劃吧!任務(wù)分析與計(jì)劃03職業(yè)能力目標(biāo)01任務(wù)描述與要求02任務(wù)分析與計(jì)劃03知識(shí)儲(chǔ)備04任務(wù)實(shí)施05任務(wù)檢查與評(píng)價(jià)06任務(wù)小結(jié)07任務(wù)拓展08任務(wù)一人臉跟隨模塊開(kāi)發(fā)線程類封裝204知識(shí)儲(chǔ)備人臉檢測(cè)1人臉檢測(cè)04人臉檢測(cè)是目前所有目標(biāo)檢測(cè)子方向中被研究的最充分的問(wèn)題之一,也是整個(gè)人臉識(shí)別算法的第一步。
人臉檢測(cè)的目標(biāo)是找出圖像中所有的人臉對(duì)應(yīng)的位置,算法的輸出是人臉外接矩形在圖像中的坐標(biāo),可能還包括姿態(tài)如傾斜角度等信息。人臉檢測(cè)04人臉檢測(cè)算法要解決以下幾個(gè)核心問(wèn)題:人臉可能出現(xiàn)在圖像中的任何一個(gè)位置;人臉可能有不同的大?。?/p>
人臉在圖像中可能有不同的視角和姿態(tài);人臉可能部分被遮擋。人05知識(shí)儲(chǔ)備線程類封裝2人臉檢測(cè)13線程類封裝04進(jìn)程是資源分配的最小單位,一個(gè)程序至少有一個(gè)進(jìn)程。線程是程序執(zhí)行的最小單位,一個(gè)進(jìn)程至少有一個(gè)線程。進(jìn)程都有自己獨(dú)立的地址空間,內(nèi)存,數(shù)據(jù)棧等,所以進(jìn)程占用資源多。由于進(jìn)程的資源獨(dú)立,所以通訊不方便,只能使用進(jìn)程間通訊(IPC)。線程類封裝04線程共享進(jìn)程中的數(shù)據(jù),他們使用相同的地址空間,使用線程創(chuàng)建快捷,創(chuàng)建開(kāi)銷比進(jìn)程小。同一進(jìn)程下的線程共享全局變量、靜態(tài)變量等數(shù)據(jù),所以線程通訊非常方便,但會(huì)存在數(shù)據(jù)同步與互斥的問(wèn)題,如何處理好同步與互斥是編寫(xiě)多線程程序的難點(diǎn)。一個(gè)進(jìn)程中可以存在多個(gè)線程,在單核CPU中每個(gè)進(jìn)程中同時(shí)刻只能運(yùn)行一個(gè)線程,只有在多核CPU中才能存在線程并發(fā)的情況。線程類封裝04threading和ThreadPython實(shí)現(xiàn)多線程編程需要借助于threading模塊,threading模塊中最核心的內(nèi)容是Thread類。通過(guò)創(chuàng)建Thread對(duì)象,讓它們運(yùn)行,每個(gè)Thread對(duì)象代表一個(gè)線程,在每個(gè)線程中我們可以讓程序處理不同的任務(wù),這就是多線程編程。線程類封裝04創(chuàng)建Thread對(duì)象有2種方式直接創(chuàng)建Thread,將一個(gè)callable對(duì)象從類的構(gòu)造器傳遞進(jìn)去,這個(gè)callable就是回調(diào)函數(shù),用來(lái)處理任務(wù)。編寫(xiě)一個(gè)自定義類繼承Thread,然后復(fù)寫(xiě)run()方法,在run()方法中編寫(xiě)任務(wù)處理代碼,然后創(chuàng)建這個(gè)Thread的子類。本次實(shí)驗(yàn)主要基于派生Thread子類的方式進(jìn)行。線程類封裝04我們可以通過(guò)繼承Thread類,派生出一個(gè)子類,使用子類來(lái)創(chuàng)建多線程,并在其中實(shí)現(xiàn)功能,使得該線程可以在不占用進(jìn)程資源的情況下自主運(yùn)行。使用class.start()方法,將自動(dòng)調(diào)用class.run()方法,在run方法中執(zhí)行線程啟動(dòng)后的代碼,該線程就會(huì)自動(dòng)運(yùn)行。職業(yè)能力目標(biāo)01任務(wù)描述與要求02任務(wù)分析與計(jì)劃03知識(shí)儲(chǔ)備04任務(wù)實(shí)施05任務(wù)檢查與評(píng)價(jià)06任務(wù)小結(jié)07任務(wù)拓展08任務(wù)一人臉跟隨模塊開(kāi)發(fā)05任務(wù)實(shí)施封裝人臉檢測(cè)線程類2以線程方式檢測(cè)人臉1機(jī)械臂跟隨的實(shí)現(xiàn)3以線程方式檢測(cè)人臉1.檢查usb攝像頭:人臉跟隨案例是基于計(jì)算機(jī)視覺(jué)來(lái)實(shí)現(xiàn),那么首先就是要獲取到對(duì)應(yīng)的視覺(jué)數(shù)據(jù),通過(guò)攝像頭將采集到的圖片數(shù)據(jù)進(jìn)行預(yù)處理,再將數(shù)據(jù)通過(guò)人工智能模型進(jìn)行識(shí)別判斷,返回識(shí)別結(jié)果。所以,通過(guò)opencv實(shí)現(xiàn)攝像頭獲取圖片是識(shí)別的第一步。以線程方式檢測(cè)人臉1.檢查usb攝像頭:注意:上述指令如沒(méi)有輸出,則表明usb攝像頭沒(méi)安裝好,如果輸出video0則表明usb攝像頭已正常連接,可以使用。以線程方式檢測(cè)人臉1.檢查usb攝像頭:動(dòng)手練習(xí)1:1.在<1>處,輸入指令查看設(shè)備usb攝像頭是否正常接入。以線程方式檢測(cè)人臉2.opencv獲取圖片,視頻流:以線程方式檢測(cè)人臉3.以線程的方式獲取視頻流:步驟一:導(dǎo)入線程庫(kù)、jupyter畫(huà)圖依賴庫(kù)。
Thread:創(chuàng)建線程類;
ipywidgets:用于在Jupyter中開(kāi)辟一個(gè)用于顯示圖片的窗口;
display:在Jupyter中播放圖片。以線程方式檢測(cè)人臉3.以線程的方式獲取視頻流:步驟二:創(chuàng)建圖片顯示窗口。widgets.Image:開(kāi)辟一個(gè)用于顯示圖片的窗口;format:顯示圖片格式;height:窗口高度;width:窗口寬度。以線程方式檢測(cè)人臉3.以線程的方式獲取視頻流:步驟三:異步裝飾器Python裝飾器:可以讓被裝飾的函數(shù)在不修改代碼的情況下增加額外的功能,裝飾器本質(zhì)上是一個(gè)函數(shù)。異步:即非阻塞,意味著在執(zhí)行某項(xiàng)任務(wù)時(shí)候不會(huì)阻塞后續(xù)或其他任務(wù)的執(zhí)行。多線程:在進(jìn)程基礎(chǔ)上開(kāi)辟多個(gè)執(zhí)行任務(wù)的線程。以線程方式檢測(cè)人臉4.線程獲取視頻流實(shí)驗(yàn)預(yù)覽:以線程方式檢測(cè)人臉5.分類識(shí)別模型接口說(shuō)明:face_position人臉跟隨的坐標(biāo)nlFaceDetect=NLFaceDetect(libNamePath)實(shí)例化分類算法接口類nlDetect.NL_TD_ComInit(configPath[,dwClassNum[,dqThreshold[,pbyModel[,pbyLabel]]]])加載模型,根據(jù)配置參數(shù)進(jìn)行模型初始化nlDetect.NL_TD_InitVarIn(limg)加載要識(shí)別的圖像,返回0表示加載成功nlDetect.NL_TD_Process_C()調(diào)用檢測(cè)函數(shù),返回目標(biāo)檢測(cè)個(gè)數(shù)nlDetect.djTDVarOut檢測(cè)結(jié)果的對(duì)象,包含檢測(cè)結(jié)果目標(biāo)位置與置信度等值以線程方式檢測(cè)人臉5.分類識(shí)別模型接口說(shuō)明:outObject.x1目標(biāo)左上角x軸坐標(biāo)outObject.y1目標(biāo)左上角y軸坐標(biāo)outObject.x2目標(biāo)右下角x軸坐標(biāo)outObject.y2目標(biāo)右下角y軸坐標(biāo)以線程方式檢測(cè)人臉6.線程獲取視頻流實(shí)驗(yàn)結(jié)果:獲取后得到的結(jié)果如下圖: 實(shí)驗(yàn)結(jié)束后要記得重啟內(nèi)核,釋放攝像頭資源:05任務(wù)實(shí)施213以線程方式檢測(cè)人臉?lè)庋b人臉檢測(cè)線程類機(jī)械臂跟隨的實(shí)現(xiàn)封裝人臉檢測(cè)線程類1.實(shí)驗(yàn)預(yù)覽:請(qǐng)運(yùn)行JupyterLab對(duì)應(yīng)的實(shí)驗(yàn)預(yù)覽觀察實(shí)驗(yàn)運(yùn)行效果,如下圖實(shí)驗(yàn)中。封裝人臉檢測(cè)線程類1.實(shí)驗(yàn)預(yù)覽(參考Jupyter中的任務(wù)四中的2.1):?jiǎn)?dòng)識(shí)別:結(jié)果如圖,識(shí)別到人臉并繪制出人臉圖框。封裝人臉檢測(cè)線程類1.實(shí)驗(yàn)預(yù)覽(參考Jupyter中的任務(wù)四中的2.1):停止識(shí)別:結(jié)果如圖,重啟內(nèi)核釋放攝像頭資源。封裝人臉檢測(cè)線程類2.Thread子類運(yùn)行說(shuō)明:在繼承了Thread的子類中重寫(xiě)run()方法,獲取攝像頭的圖片并對(duì)其進(jìn)行人臉檢測(cè),保存得到的人臉信息。將人臉檢測(cè)模型、攝像頭信息、人臉信息都作為類的成員變量將子類實(shí)例化后,使用start()方法,將會(huì)調(diào)用run()方法,并執(zhí)行其中代碼將繪制有檢測(cè)信息的圖片傳給全局變量show_image,并通過(guò)display方法展示。封裝人臉檢測(cè)線程類2.Thread子類運(yùn)行說(shuō)明:請(qǐng)前往Jupyter上完成動(dòng)手練習(xí)二。05任務(wù)實(shí)施213以線程方式檢測(cè)人臉?lè)庋b人臉檢測(cè)線程類機(jī)械臂跟隨的實(shí)現(xiàn)機(jī)械臂跟隨的實(shí)現(xiàn)1.業(yè)務(wù)流程圖:機(jī)械臂跟隨的實(shí)現(xiàn)機(jī)械臂的跟隨需要機(jī)械臂、攝像頭及配置參數(shù)等模塊相互配合,關(guān)于機(jī)械臂在之前的任務(wù)中也有過(guò)詳細(xì)介紹,這里直接調(diào)用之前封裝好的庫(kù),并且將攝像頭及人臉檢測(cè)線程同樣進(jìn)行封裝,以供調(diào)用。本次實(shí)驗(yàn)已將模塊封裝好在libs目錄下。實(shí)驗(yàn)過(guò)程可以直接導(dǎo)入模塊調(diào)用接口進(jìn)行使用(詳細(xì)案例請(qǐng)參照J(rèn)upyter)。機(jī)械臂跟隨的實(shí)現(xiàn)如下圖:2.代碼實(shí)現(xiàn):機(jī)械臂跟隨的實(shí)現(xiàn)實(shí)例化機(jī)械臂并啟動(dòng)跟隨線程,可以看到機(jī)械臂跟隨人臉移動(dòng)的效果。2.代碼實(shí)現(xiàn):機(jī)械臂跟隨的實(shí)現(xiàn)請(qǐng)前往Jupyter上完成動(dòng)手練習(xí)三。2.代碼實(shí)現(xiàn):職業(yè)能力目標(biāo)01任務(wù)描述與要求02任務(wù)分析與計(jì)劃03知識(shí)儲(chǔ)備04任務(wù)實(shí)施05任務(wù)檢查與評(píng)價(jià)06任務(wù)小結(jié)07任務(wù)拓展08任務(wù)一人臉跟隨模塊開(kāi)發(fā)任務(wù)檢查與評(píng)價(jià)06序號(hào)評(píng)價(jià)內(nèi)容評(píng)價(jià)標(biāo)準(zhǔn)分值得分1知識(shí)運(yùn)用(20%)掌握相關(guān)理論知識(shí),理解本次任務(wù)要求,制定詳細(xì)計(jì)劃,計(jì)劃條理清晰,邏輯正確(20分)20分
理解相關(guān)理論知識(shí),能根據(jù)本次任務(wù)要求、制定合理計(jì)劃(15分)了解相關(guān)理論知識(shí),有制定計(jì)劃(10分)無(wú)制定計(jì)劃(0分)2專業(yè)技能(40%)以線程的方式獲取視頻流,使用Threading模塊將攝像頭線程封裝成thread線程類,并以線程方式開(kāi)啟機(jī)械臂的跟隨功能。(40分)40分
以線程的方式獲取視頻流。(10分)使用Threading模塊將攝像頭線程封裝成thread線程類。(15分)以線程方式開(kāi)啟機(jī)械臂的跟隨功能,實(shí)現(xiàn)機(jī)械臂跟隨人臉的功能。(15分)3核心素養(yǎng)(20%)具有良好的自主學(xué)習(xí)能力、分析解決問(wèn)題的能力、整個(gè)任務(wù)過(guò)程中有指導(dǎo)他人(20分)20分
具有較好的學(xué)習(xí)能力和分析解決問(wèn)題的能力,任務(wù)過(guò)程中無(wú)指導(dǎo)他人(15分)能夠主動(dòng)學(xué)習(xí)并收集信息,有請(qǐng)教他人進(jìn)行解決問(wèn)題的能力(10分)不主動(dòng)學(xué)習(xí)(0分)4課堂紀(jì)律(20%)設(shè)備無(wú)損壞、設(shè)備擺放整齊、工位區(qū)域內(nèi)保持整潔、無(wú)干擾課堂秩序(20分)20分
設(shè)備無(wú)損壞、無(wú)干擾課堂秩序(15分)無(wú)干擾課堂秩序(10分)干擾課堂秩序(0分)總得分1、請(qǐng)參照評(píng)價(jià)標(biāo)準(zhǔn)完成自評(píng)和對(duì)其他小組的互評(píng)。2、各組請(qǐng)代表分析本組任務(wù)實(shí)施經(jīng)驗(yàn)。職業(yè)能力目標(biāo)01任務(wù)描述與要求02任務(wù)分析與計(jì)劃03知識(shí)儲(chǔ)備04任務(wù)實(shí)施05任務(wù)檢查與評(píng)價(jià)06任務(wù)小結(jié)07任務(wù)拓展08任務(wù)一人臉跟隨模塊開(kāi)發(fā)任務(wù)小結(jié)07
在大家學(xué)習(xí)完本任務(wù)后,是否還有許多為解決的問(wèn)題?那么接下來(lái)我們來(lái)進(jìn)行任務(wù)小結(jié),通過(guò)流程圖了解本章學(xué)習(xí)了什么,對(duì)相應(yīng)知識(shí)進(jìn)行鞏固復(fù)習(xí)。以線程方式檢測(cè)人臉?lè)庋b人臉檢測(cè)線程類機(jī)械臂跟隨的實(shí)現(xiàn)人臉跟隨模塊開(kāi)發(fā)知識(shí)儲(chǔ)備任務(wù)實(shí)施任務(wù)小結(jié)①人臉識(shí)別②線程類封裝①以線程方式檢測(cè)人臉②封裝人臉檢測(cè)線程類③機(jī)械臂跟隨的實(shí)現(xiàn)①掌握通過(guò)Threading模塊封裝線程類的方法開(kāi)啟攝像頭②掌握用OpenCV繪制人臉在圖片中的位置信息③掌握使用裝飾器調(diào)度機(jī)械臂
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年貴定縣幼兒園教師招教考試備考題庫(kù)帶答案解析
- 吳艷妮時(shí)政點(diǎn)評(píng)課件
- 2024年資中縣幼兒園教師招教考試備考題庫(kù)及答案解析(奪冠)
- 2025年黑龍江省哈爾濱市單招職業(yè)適應(yīng)性測(cè)試題庫(kù)附答案解析
- 2025年昂仁縣招教考試備考題庫(kù)附答案解析
- 2026年上海中僑職業(yè)技術(shù)大學(xué)單招職業(yè)適應(yīng)性測(cè)試模擬測(cè)試卷附答案解析
- 2024年閩江學(xué)院馬克思主義基本原理概論期末考試題含答案解析(奪冠)
- 2025年龍陵縣招教考試備考題庫(kù)含答案解析(必刷)
- 2025年吉林建筑大學(xué)馬克思主義基本原理概論期末考試模擬題附答案解析(奪冠)
- 2024年長(zhǎng)春科技學(xué)院馬克思主義基本原理概論期末考試題帶答案解析(奪冠)
- 沖突解決之道醫(yī)患溝通實(shí)踐案例分析
- SJG01-2010地基基礎(chǔ)勘察設(shè)計(jì)規(guī)范
- 超聲波成像技術(shù)突破-全面剖析
- 水電與新能源典型事故案例
- 2024屆新高考語(yǔ)文高中古詩(shī)文必背72篇 【原文+注音+翻譯】
- DZ∕T 0217-2020 石油天然氣儲(chǔ)量估算規(guī)范
- DL-T439-2018火力發(fā)電廠高溫緊固件技術(shù)導(dǎo)則
- 2024年首屆全國(guó)“紅旗杯”班組長(zhǎng)大賽考試題庫(kù)1400題(含答案)
- 網(wǎng)站對(duì)歷史發(fā)布信息進(jìn)行備份和查閱的相關(guān)管理制度及執(zhí)行情況說(shuō)明(模板)
- 工資新老方案對(duì)比分析報(bào)告
- HGT 2520-2023 工業(yè)亞磷酸 (正式版)
評(píng)論
0/150
提交評(píng)論