![《嵌入式人工智能技術(shù)應(yīng)用》課件 項(xiàng)目四 基于人臉檢測(cè)算法實(shí)現(xiàn)家用設(shè)備的控制_第1頁(yè)](http://file4.renrendoc.com/view3/M00/0D/02/wKhkFmaTaa2AfjpzAAB8s2LEJJc845.jpg)
![《嵌入式人工智能技術(shù)應(yīng)用》課件 項(xiàng)目四 基于人臉檢測(cè)算法實(shí)現(xiàn)家用設(shè)備的控制_第2頁(yè)](http://file4.renrendoc.com/view3/M00/0D/02/wKhkFmaTaa2AfjpzAAB8s2LEJJc8452.jpg)
![《嵌入式人工智能技術(shù)應(yīng)用》課件 項(xiàng)目四 基于人臉檢測(cè)算法實(shí)現(xiàn)家用設(shè)備的控制_第3頁(yè)](http://file4.renrendoc.com/view3/M00/0D/02/wKhkFmaTaa2AfjpzAAB8s2LEJJc8453.jpg)
![《嵌入式人工智能技術(shù)應(yīng)用》課件 項(xiàng)目四 基于人臉檢測(cè)算法實(shí)現(xiàn)家用設(shè)備的控制_第4頁(yè)](http://file4.renrendoc.com/view3/M00/0D/02/wKhkFmaTaa2AfjpzAAB8s2LEJJc8454.jpg)
![《嵌入式人工智能技術(shù)應(yīng)用》課件 項(xiàng)目四 基于人臉檢測(cè)算法實(shí)現(xiàn)家用設(shè)備的控制_第5頁(yè)](http://file4.renrendoc.com/view3/M00/0D/02/wKhkFmaTaa2AfjpzAAB8s2LEJJc8455.jpg)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
項(xiàng)目四基于人臉檢測(cè)算法實(shí)現(xiàn)家用設(shè)備的控制嵌入式人工智能技術(shù)應(yīng)用項(xiàng)目引導(dǎo)案例近年來(lái),隨著智能設(shè)備的發(fā)展,在進(jìn)入21世紀(jì)的今天,人們的生活水平逐漸提高。在這個(gè)科技物聯(lián)網(wǎng)的時(shí)代下,給人們帶來(lái)了生活便利,人們的生活物質(zhì)水平也不斷提高,對(duì)家居也會(huì)有更高的要求。思考一下,大家見(jiàn)過(guò)哪些智能家居?項(xiàng)目引導(dǎo)案例基于人臉檢測(cè)的燈光控制實(shí)驗(yàn)任務(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ù)一基于人臉檢測(cè)的燈光控制實(shí)驗(yàn)了解人臉識(shí)別控制燈光工作原理;掌握使用串口控制黃燈的方法。能使用人臉檢測(cè)算法識(shí)別人臉;能使用串口采集光照度值;能使用串口根據(jù)人臉識(shí)別結(jié)果和光照度值控制黃燈。職業(yè)能力目標(biāo)01知識(shí)目標(biāo)技能目標(biāo)職業(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ù)一基于人臉檢測(cè)的燈光控制實(shí)驗(yàn)
本實(shí)驗(yàn)將實(shí)現(xiàn)通過(guò)調(diào)用OpenCV、人臉檢測(cè)算法、serial模塊判斷采集的圖像是否有人以及光照度是否達(dá)到閾值來(lái)打開(kāi)/關(guān)閉黃燈。任務(wù)描述任務(wù)要求使用OpenCV采集圖像;使用OpenCV調(diào)用視頻流;使用人臉識(shí)別算法進(jìn)行人臉檢測(cè);使用串口獲取光照度;在有人的情況下根據(jù)光照值打開(kāi)黃燈。任務(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ù)一基于人臉檢測(cè)的燈光控制實(shí)驗(yàn)任務(wù)分析根據(jù)光照度和人臉檢測(cè)控制燈光可能會(huì)涉及到哪些步驟?根據(jù)自己的了解說(shuō)說(shuō)智能燈原理?任務(wù)分析與計(jì)劃03任務(wù)計(jì)劃表項(xiàng)目名稱(chēng)基于人臉檢測(cè)算法實(shí)現(xiàn)家用設(shè)備的控制任務(wù)名稱(chēng)基于人臉檢測(cè)的燈光控制實(shí)驗(yàn)計(jì)劃方式自主設(shè)計(jì)計(jì)劃要求請(qǐng)用5個(gè)計(jì)劃步驟來(lái)完整描述出如何完成本次任務(wù)序號(hào)任務(wù)計(jì)劃1
2
3
4
5
通過(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ù)一基于人臉檢測(cè)的燈光控制實(shí)驗(yàn)04知識(shí)儲(chǔ)備智能家居1三色燈報(bào)警器2智能家居04智能家居(smarthome,homeautomation)是以住宅為平臺(tái),利用綜合布線技術(shù)、網(wǎng)絡(luò)通信技術(shù)、安全防范技術(shù)、自動(dòng)控制技術(shù)、音視頻技術(shù)將家居生活有關(guān)的設(shè)施集成,構(gòu)建高效的住宅設(shè)施與家庭日程事務(wù)的管理系統(tǒng),提升家居安全性、便利性、舒適性、藝術(shù)性,并實(shí)現(xiàn)環(huán)保節(jié)能的居住環(huán)境。智能家居04智能主要體現(xiàn)在可以通過(guò)聲音控制、遠(yuǎn)程控制、自動(dòng)化完成任務(wù),通過(guò)APP可遠(yuǎn)程查看智能設(shè)備的狀態(tài),或自動(dòng)推送預(yù)警提醒,比如家中燈長(zhǎng)時(shí)間未關(guān)閉,門(mén)鎖或攝像頭捕捉到異常進(jìn)行防盜警報(bào)。041、家庭自動(dòng)化家庭自動(dòng)化系指利用微處理電子技術(shù),來(lái)集成或控制家中的電子電器產(chǎn)品或系統(tǒng),例如:照明燈、咖啡爐、電腦設(shè)備、保安系統(tǒng)、暖氣及冷氣系統(tǒng)、視訊及音響系統(tǒng)等。智能家居基本分類(lèi)042、家庭網(wǎng)絡(luò)首先要把這個(gè)家庭網(wǎng)絡(luò)和純粹的“家庭局域網(wǎng)”分開(kāi)來(lái),它是指連接家庭里的PC、各種外設(shè)及與因特網(wǎng)互聯(lián)的網(wǎng)絡(luò)系統(tǒng),它只是家庭網(wǎng)絡(luò)的一個(gè)組成部份。家庭網(wǎng)絡(luò)是在家庭范圍內(nèi)將PC、家電、安全系統(tǒng)、照明系統(tǒng)和廣域網(wǎng)相連接的一種新技術(shù)。智能家居基本分類(lèi)043、網(wǎng)絡(luò)家電網(wǎng)絡(luò)家電是將普通家用電器利用數(shù)字技術(shù)、網(wǎng)絡(luò)技術(shù)及智能控制技術(shù)設(shè)計(jì)改進(jìn)的新型家電產(chǎn)品。網(wǎng)絡(luò)家電可以實(shí)現(xiàn)互聯(lián)組成一個(gè)家庭內(nèi)部網(wǎng)絡(luò),同時(shí)這個(gè)家庭網(wǎng)絡(luò)又可以與外部互聯(lián)網(wǎng)相連接。智能家居基本分類(lèi)044、信息家電信息家電應(yīng)該是一種價(jià)格低廉、操作簡(jiǎn)便、實(shí)用性強(qiáng)、帶有PC主要功能的家電產(chǎn)品。利用電腦、電信和電子技術(shù)與傳統(tǒng)家電相結(jié)合的創(chuàng)新產(chǎn)品,是為數(shù)字化與網(wǎng)絡(luò)技術(shù)更廣泛地深入家庭生活而設(shè)計(jì)的新型家用電器,信息家電包括PC、機(jī)頂盒、HPC、超級(jí)VCD、無(wú)線數(shù)據(jù)通信設(shè)備、WEBTV、INTERNET電話等等,所有能夠通過(guò)網(wǎng)絡(luò)系統(tǒng)交互信息的家電產(chǎn)品。智能家居基本分類(lèi)思考一下在日常生活中是否使用過(guò)智能家居,哪些智能家居設(shè)備有哪些特點(diǎn)呢?智能家居0304智能家居設(shè)計(jì)原則(1)實(shí)用便利智能家居最基本的目標(biāo)是為人們提供一個(gè)舒適、安全、方便和高效的生活環(huán)境。對(duì)智能家居產(chǎn)品來(lái)說(shuō),最重要的是以實(shí)用為核心,摒棄掉那些華而不實(shí),只能充作擺設(shè)的功能,產(chǎn)品以實(shí)用性、易用性和人性化為主。思考一下,智能家居還有什么特點(diǎn)?04智能家居設(shè)計(jì)原則(2)標(biāo)準(zhǔn)性智能家居系統(tǒng)方案的設(shè)計(jì)應(yīng)依照國(guó)家和地區(qū)的有關(guān)標(biāo)準(zhǔn)進(jìn)行,確保系統(tǒng)的擴(kuò)充性和擴(kuò)展性,在系統(tǒng)傳輸上采用標(biāo)準(zhǔn)的TCP/IP協(xié)議網(wǎng)絡(luò)技術(shù),保證不同產(chǎn)商之間系統(tǒng)可以兼容與互聯(lián)。04智能家居設(shè)計(jì)原則(3)方便性系統(tǒng)通過(guò)Internet遠(yuǎn)程調(diào)試與維護(hù),通過(guò)網(wǎng)絡(luò),不僅使住戶能夠?qū)崿F(xiàn)家庭智能化系統(tǒng)的控制功能,還允許工程人員在遠(yuǎn)程檢查系統(tǒng)的工作狀況,對(duì)系統(tǒng)出現(xiàn)的故障進(jìn)行診斷。思考一下,智能家居還有什么特點(diǎn)?04智能家居設(shè)計(jì)原則(4)輕巧型“輕巧”型智能家居產(chǎn)品顧名思義它是一種輕量級(jí)的智能家居系統(tǒng)?!昂?jiǎn)單”、“實(shí)用”、“靈巧”是它的最主要特點(diǎn)。所以我們一般把無(wú)需施工部署,功能可自由搭配組合且價(jià)格相對(duì)便宜可直接面對(duì)最終消費(fèi)者銷(xiāo)售的智能家居產(chǎn)品。智能家居04
家庭自動(dòng)化使房主能夠遠(yuǎn)程監(jiān)控自己的房屋,以應(yīng)對(duì)諸如遺忘的咖啡機(jī)或前門(mén)未上鎖等危險(xiǎn)。智能家居可以適應(yīng)用戶的偏好。家庭自動(dòng)化還可以幫助消費(fèi)者提高效率。智能家居系統(tǒng)無(wú)需整天開(kāi)著空調(diào),而是可以學(xué)習(xí)行為并確保房主下班回家時(shí)房子已經(jīng)冷卻下來(lái)。智能家居優(yōu)缺點(diǎn)智能家居04
家庭自動(dòng)化系統(tǒng)一直難以成為主流,部分原因在于其技術(shù)性質(zhì)。智能家居的一個(gè)缺點(diǎn)是它們的復(fù)雜性。有些人對(duì)技術(shù)有困難,或者會(huì)因?yàn)榈谝淮尾槐愣艞壦?。智能家居制造商和?lián)盟正在努力降低復(fù)雜性并改善用戶體驗(yàn),以使其對(duì)所有類(lèi)型和技術(shù)水平的用戶都感到愉快和有益。智能家居優(yōu)缺點(diǎn)智能家居04
另一個(gè)主要問(wèn)題是智能家居安全。如果黑客能夠滲透到智能設(shè)備中,他們可能會(huì)關(guān)閉燈和警報(bào)器并解鎖門(mén),從而使家庭毫無(wú)防備地遭到闖入。此外,黑客可能會(huì)訪問(wèn)房主的網(wǎng)絡(luò),從而導(dǎo)致更嚴(yán)重的攻擊或數(shù)據(jù)泄露。智能家居優(yōu)缺點(diǎn)04知識(shí)儲(chǔ)備智能家居1三色燈報(bào)警器2三色報(bào)警器04三色燈作為警示標(biāo)志被廣泛應(yīng)用于各種特殊場(chǎng)所,也被應(yīng)用于市政、施工作業(yè)和監(jiān)護(hù)、救護(hù)、搶險(xiǎn)等場(chǎng)景,用于指示方位和發(fā)送信號(hào)。此設(shè)備為12V供電,無(wú)正負(fù)級(jí)連接限制。三色報(bào)警器04三色報(bào)警燈,望文生義,起到警示提示效果,一般用于維護(hù)路途安全,有效減少交通事端的產(chǎn)生,同時(shí)也能避免潛在的不安全隱患。三色報(bào)警器04
例如,對(duì)于施工單位來(lái)說(shuō),在路途施工時(shí)應(yīng)多開(kāi)三色報(bào)警燈,尤其在夜間路途狀況不清楚時(shí),簡(jiǎn)單形成一些事端,不熟悉的人簡(jiǎn)單被絆倒,也會(huì)形成交通擁擠,所以建立三色報(bào)警燈是十分必要的。路途上的車(chē)輛也是如此。在長(zhǎng)時(shí)間行進(jìn)過(guò)程中,常常會(huì)呈現(xiàn)一些問(wèn)題。為了確保安全,司機(jī)需要在福建設(shè)置風(fēng)險(xiǎn)LED報(bào)警燈,提示車(chē)輛在路上泊車(chē)時(shí)留意前面的新妨礙。放慢速度,安全駕駛。三色燈報(bào)警器在生活中的作用三色報(bào)警器04
三色報(bào)警燈在生產(chǎn)工業(yè)上應(yīng)用廣泛,常見(jiàn)的三色燈設(shè)備有自動(dòng)化流水線、自動(dòng)化設(shè)備、安檢設(shè)備、LED燈封裝設(shè)備、報(bào)警系統(tǒng)、SMT設(shè)備、數(shù)控機(jī)床、CNC、精雕機(jī)、數(shù)控銑床、數(shù)控設(shè)備燈。三色燈報(bào)警器的應(yīng)用職業(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ù)一基于人臉檢測(cè)的燈光控制實(shí)驗(yàn)05實(shí)驗(yàn)流程圖05任務(wù)實(shí)施人臉識(shí)別算法接口2利用opencv采集圖片1pyserial串口模塊3利用opencv采集圖片05importcv2dWindow('image',flags=cv2.WINDOW_NORMAL|cv2.WINDOW_KEEPRATIO|cv2.WINDOW_GUI_EXPANDED)cv2.resizeWindow("image",1920,1080)cap=cv2.VideoCapture(0)#實(shí)例化攝像頭對(duì)象賦給變量capcap.set(cv2.CAP_PROP_FRAME_WIDTH,640)#采集圖片的分辨率寬度為640cap.set(cv2.CAP_PROP_FRAME_HEIGHT,480)#采集圖片的分辨率高度為480ret,image=cap.read()#讀取一幀圖片,并將返回結(jié)果賦給ret和imageprint(ret)cv2.imshow('image',image)#將采集的圖片顯示出來(lái)cv2.waitKey(500)cap.release()#釋放攝像頭,以免攝像頭占用cv2.destroyAllWindows()#關(guān)閉所有窗口opencv采集圖片的詳細(xì)內(nèi)容。cap=cv2.VideoCapture(0)實(shí)例化一個(gè)對(duì)象賦值給capcap.set(cv2.CAP_PROP_FRAME_WIDTH,640),cap.set(cv2.CAP_PROP_FRAME_HEIGHT,480)設(shè)置采集的分辨率寬高ret,image=cap.read()讀取一幀圖片,返回圖片內(nèi)容和狀態(tài)值cv2.imshow('image',image)顯示圖片cv2.waitKey(100)等待100毫秒cap.release()釋放攝像頭,以免攝像頭占用;cv2.destroyAllWindows()關(guān)閉所有窗口。利用opencv采集圖片05importipywidgetsaswidgets#jupyter畫(huà)圖庫(kù)fromIPython.displayimportdisplay#jupyter顯示庫(kù)imgbox=widgets.Image()#定義一個(gè)圖像盒子,用于裝載圖像數(shù)據(jù)display(imgbox)#將盒子顯示出來(lái)imgbox.value=cv2.imencode('.jpg',image)[1].tobytes()#把圖像值轉(zhuǎn)成byte類(lèi)型的值顯示結(jié)果圖:05任務(wù)實(shí)施人臉識(shí)別算法接口2利用opencv采集圖片1pyserial串口模塊3人臉識(shí)別算法接口05fromlib.faceDetectimportNLFaceDetectface_libNamePath='/usr/local/lib/libNL_faceEnc.so'#指定庫(kù)文件路徑nlFaceDetect=NLFaceDetect(face_libNamePath)#實(shí)例化人臉檢測(cè)算法接口對(duì)象modelPath=b"/usr/local/lib/rk3399_AI_model"#指定模型以及配置文件路徑nlFaceDetect.NL_FD_ComInit(modelPath)#加載人臉檢測(cè)模型和配置進(jìn)行初始化ret=nlFaceDetect.NL_FD_InitVarIn(image)#加載采集的圖片數(shù)據(jù),返回0表示加載成功print(ret)face_num=nlFaceDetect.NL_FD_Process_C()#返回值檢測(cè)的人臉個(gè)數(shù)print('人臉個(gè)數(shù):',face_num)nlFaceDetect.NL_FD_Exit()#釋放模型和內(nèi)存人臉識(shí)別算法接口的調(diào)用,目前是利用視覺(jué)來(lái)檢測(cè)有無(wú)人員。fromlib.faceDetectimportNLFaceDetect導(dǎo)入人臉識(shí)別算法接口類(lèi);nlFaceDetect=NLFaceDetect(libNamePath)實(shí)例化人臉檢測(cè)算法接口對(duì)象,執(zhí)行沒(méi)有報(bào)錯(cuò),表示實(shí)例化成功;nlFaceDetect.NL_FD_ComInit(configPath)加載模型和配置,并初始化,執(zhí)行沒(méi)有報(bào)錯(cuò),表示加載成功;nlFaceDetect.NL_FD_InitVarIn(image)加載采集的圖片數(shù)據(jù),返回0表示加載成功;nlFaceDetect.NL_FD_Process_C()調(diào)用人臉檢測(cè)主函數(shù)處理圖像,返回人臉個(gè)數(shù),并輸出人臉框的位置信息,在輸出結(jié)構(gòu)體,可以獲取相關(guān)信息;nlFaceDetect.NL_FD_Exit()釋放模型內(nèi)存。05任務(wù)實(shí)施人臉識(shí)別算法接口2利用opencv采集圖片1pyserial串口模塊33控制燈光1實(shí)例化串口對(duì)象2獲取光照值pyserial串口模塊05pyserial串口模塊串口通信是指外設(shè)和計(jì)算機(jī)間,通過(guò)數(shù)據(jù)信號(hào)線、地線、控制線等,按位進(jìn)行傳輸數(shù)據(jù)的一種通訊方式。這種通信方式使用的數(shù)據(jù)線少,在遠(yuǎn)距離通信中可以節(jié)約通信成本,但其傳輸速度比并行傳輸?shù)?。串口是?jì)算機(jī)上一種非常通用的設(shè)備通信協(xié)議。pyserial串口模塊05importtimeimportserialser=serial.Serial("/dev/ttyS0",baudrate=9600,timeout=0.5)#實(shí)例化串口對(duì)象,串口會(huì)自動(dòng)開(kāi)啟1.實(shí)例化串口對(duì)象串口通信是指外設(shè)和計(jì)算機(jī)間,通過(guò)數(shù)據(jù)信號(hào)線、地線、控制線等,按位進(jìn)行傳輸數(shù)據(jù)的一種通訊方式。這種通信方式使用的數(shù)據(jù)線少,在遠(yuǎn)距離通信中可以節(jié)約通信成本,但其傳輸速度比并行傳輸?shù)?。串口是?jì)算機(jī)上一種非常通用的設(shè)備通信協(xié)議。serial.Serial(name,baudrate,timeout,bytesize,writeTimeout,port)參數(shù)說(shuō)明:name:串口在板上的端口號(hào)baudrate:串口波特率timeout:讀超時(shí)時(shí)長(zhǎng)bytesize:字節(jié)大小writeTimeout:寫(xiě)超時(shí)port:讀或者寫(xiě)端口pyserial串口模塊05ser.flushInput()#清空串口輸入緩存ser.flushOutput()#清空串口輸出緩存command='0C0300000002C516'cmd=bytes.fromhex(command)print(cmd)ser.write(cmd)#對(duì)傳感器串口寫(xiě)入獲取光照度命令data=ser.read(9)#得到串口返回的9位數(shù)值data=str(data.hex())#HEX形式轉(zhuǎn)16進(jìn)制并轉(zhuǎn)為字符串ifdata[:2]=='0c':beam_var=int('0x'+data[6:14],16)2.獲取光照值ser.flushInput()清空輸入緩存,讀寫(xiě)串口之前,都需要清空緩存,以免其他緩存數(shù)據(jù)干擾;ser.flushOutput()清空輸出緩存,讀寫(xiě)串口之前,都需要清空緩存,以免其他緩存數(shù)據(jù)干擾;“獲取光照度傳感器”的指令為'0C0300000002C516',將其賦給command變量;RS485采用的通信協(xié)議是Modbus。而Modbus協(xié)議傳輸數(shù)據(jù)使用的是HEX形式的字符串。若要獲得傳感器光照度,就要將command轉(zhuǎn)換成HEX形式。也就是將16進(jìn)制轉(zhuǎn)換成HEX形式字符串;使用formhex()函數(shù),對(duì)command進(jìn)行轉(zhuǎn)換;ser.write(cmd)對(duì)串口設(shè)備寫(xiě)入命令;ser.read(2)獲取串口設(shè)備返回2位數(shù)值。pyserial串口模塊05importcv2importserialdWindow('image',cv2.WND_PROP_FULLSCREEN)#全屏化開(kāi)發(fā)板窗口cv2.resizeWindow("image",1920,1080)cap=cv2.VideoCapture(0)#實(shí)例化攝像頭cap.set(cv2.CAP_PROP_FRAME_WIDTH,640)#設(shè)置采集圖片的分辨率寬為640cap.set(cv2.CAP_PROP_FRAME_HEIGHT,480)#設(shè)置采集圖片的分辨率高為480ret1,image1=cap.read()#采集一幀圖片,并將返回的狀態(tài)賦給變量ret1,圖片數(shù)據(jù)賦給變量image1print(ret1)cv2.imshow('image',image1)#顯示采集的圖片cv2.waitKey(5000)#等待500毫秒cap.release()#釋放攝像頭cv2.destroyAllWindows()#關(guān)閉所有窗口3.控制燈光三色燈的控制,和光照度傳感器的控制是一樣的,都是采用的RS485串口控制,只是三色燈有經(jīng)過(guò)繼電器,和4150數(shù)據(jù)模塊DO口。開(kāi)發(fā)板通過(guò)串口控制數(shù)字量模塊的DO口,來(lái)控制繼電器的開(kāi)關(guān),進(jìn)而控制燈光。步驟1:采集人臉圖片。攝像頭對(duì)著自己采集一張人臉圖片。pyserial串口模塊05fromlib.faceDetectimportNLFaceDetectface_libNamePath='/usr/local/lib/libNL_faceEnc.so'#指定庫(kù)文件路徑nlFaceDetect=NLFaceDetect(face_libNamePath)#實(shí)例化人臉檢測(cè)算法接口modelPath=b"/usr/local/lib/rk3399_AI_model"#指定模型以及配置文件路徑nlFaceDetect.NL_FD_ComInit(modelPath)#加載模型和配置進(jìn)行初始化ret=nlFaceDetect.NL_FD_InitVarIn(image1)#加載采集的圖片,返回0表示加載成功print(ret)face_num=nlFaceDetect.NL_FD_Process_C()#返回值檢測(cè)的人臉個(gè)數(shù)print('人臉個(gè)數(shù):',face_num)nlFaceDetect.NL_FD_Exit()#釋放模型內(nèi)存3.控制燈光
步驟2:檢測(cè)人臉個(gè)數(shù)。調(diào)用人臉檢測(cè)算法檢測(cè)人數(shù)個(gè)數(shù)。pyserial串口模塊053.控制燈光
步驟3:控制開(kāi)關(guān)黃燈。有人時(shí)當(dāng)光照度小于100打開(kāi)黃燈,大于150關(guān)閉黃燈,無(wú)人時(shí)直接關(guā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ù)一基于人臉檢測(cè)的燈光控制實(shí)驗(yàn)任務(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專(zhuān)業(yè)技能(40%)完成獲取光照度值、圖像采集、人臉檢測(cè)、控制燈光。(40分)40分
完成獲取光照度值、圖像采集、人臉檢測(cè)。(30分)完成獲取光照度值、圖像采集。(20分)完成獲取光照度值。(10分)沒(méi)有獲取光照度值。(0分)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ù)一基于人臉檢測(cè)的燈光控制實(shí)驗(yàn)任務(wù)小結(jié)07職業(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ù)一基于人臉檢測(cè)的燈光控制實(shí)驗(yàn)任務(wù)拓展08修改視頻流控制燈光代碼,實(shí)現(xiàn)以下功能:1人體紅外感應(yīng)器感應(yīng)到有人時(shí)打開(kāi)黃燈;1.參考項(xiàng)目三任務(wù)二人體紅外感應(yīng)DI值獲取代碼,再用ifelse控制黃燈;解題
思路提示任務(wù)要求2人體紅外感應(yīng)器感應(yīng)到無(wú)人時(shí)關(guān)閉黃燈。謝謝大家學(xué)習(xí)嵌入式人工智能技術(shù)應(yīng)用項(xiàng)目四基于人臉檢測(cè)算法實(shí)現(xiàn)家用設(shè)備的控制基于人臉檢測(cè)的安防檢測(cè)實(shí)驗(yàn)任務(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ù)二基于人臉檢測(cè)的安防檢測(cè)實(shí)驗(yàn)理解通過(guò)人臉識(shí)別完成安防檢測(cè)的實(shí)驗(yàn)流程。能夠利用人臉識(shí)別算法,使用數(shù)據(jù)庫(kù)完成用戶注冊(cè);能夠調(diào)用算法識(shí)別的特征數(shù)據(jù)與數(shù)據(jù)庫(kù)中的數(shù)據(jù)做比對(duì);能夠結(jié)合人臉檢測(cè)算法和燈光控制方法完成實(shí)驗(yàn)。職業(yè)能力目標(biāo)01知識(shí)目標(biāo)技能目標(biāo)職業(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ù)二基于人臉檢測(cè)的安防檢測(cè)實(shí)驗(yàn)
本實(shí)驗(yàn)將實(shí)現(xiàn)通過(guò)調(diào)用opencv模塊、人臉檢測(cè)算法庫(kù)、sqlite3模塊、serial模塊對(duì)采集的圖像進(jìn)行人臉檢測(cè),如果不是注冊(cè)用戶,則打開(kāi)紅燈。任務(wù)描述任務(wù)要求使用人臉檢測(cè)算法提取人臉特征并注冊(cè)到數(shù)據(jù)庫(kù);使用人臉檢測(cè)算法將新采集的人臉圖像與數(shù)據(jù)庫(kù)中的數(shù)據(jù)計(jì)算相似度;如果識(shí)別未注冊(cè)人員,則開(kāi)啟紅燈預(yù)警。任務(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ù)二基于人臉檢測(cè)的安防檢測(cè)實(shí)驗(yàn)任務(wù)分析安防系統(tǒng)構(gòu)建可能會(huì)涉及到哪些步驟?根據(jù)自己的了解說(shuō)說(shuō)安防系統(tǒng)原理?任務(wù)分析與計(jì)劃03任務(wù)計(jì)劃表項(xiàng)目名稱(chēng)基于人臉檢測(cè)算法實(shí)現(xiàn)家用設(shè)備的控制任務(wù)名稱(chēng)基于人臉檢測(cè)的安防檢測(cè)實(shí)驗(yàn)計(jì)劃方式自主設(shè)計(jì)計(jì)劃要求請(qǐng)用5個(gè)計(jì)劃步驟來(lái)完整描述出如何完成本次任務(wù)序號(hào)任務(wù)計(jì)劃1
2
3
4
5
通過(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ù)二基于人臉檢測(cè)的安防檢測(cè)實(shí)驗(yàn)04知識(shí)儲(chǔ)備智能安防1數(shù)據(jù)庫(kù)2智能安防04智能安防指的是服務(wù)的信息化、圖像的傳輸和存儲(chǔ)技術(shù)。智能安防04物聯(lián)網(wǎng)技術(shù)的普及應(yīng)用,使得城市的安防從過(guò)去簡(jiǎn)單的安全防護(hù)系統(tǒng)向城市綜合化體系演變,城市的安防項(xiàng)目涵蓋眾多的領(lǐng)域,有街道社區(qū)、樓宇建筑、銀行郵局、道路監(jiān)控、機(jī)動(dòng)車(chē)輛、警務(wù)人員、移動(dòng)物體、船只等。智能安防04(1)視頻監(jiān)控管理
智能視頻監(jiān)控系統(tǒng)是采用圖像處理、模式識(shí)別和計(jì)算機(jī)視覺(jué)技術(shù),通過(guò)在監(jiān)控系統(tǒng)中增加智能視頻分析模塊,借助計(jì)算機(jī)強(qiáng)大的數(shù)據(jù)處理能力過(guò)濾掉視頻畫(huà)面無(wú)用的或干擾信息、自動(dòng)識(shí)別不同物體,分析抽取視頻源中關(guān)鍵有用信息,快速準(zhǔn)確的定位事故現(xiàn)場(chǎng),判斷監(jiān)控畫(huà)面中的異常情況。智能安防應(yīng)用場(chǎng)景智能安防04(2)門(mén)禁、智能報(bào)警
智能安防報(bào)警系統(tǒng)是同家庭的各種傳感器、功能鍵、探測(cè)器及執(zhí)行器共同構(gòu)成家庭的安防體系,是家庭安防體系的"大腦"。報(bào)警功能包括防火、防盜、煤氣泄露報(bào)警及緊急求助等功能。智能安防應(yīng)用場(chǎng)景智能安防04(3)消防
常見(jiàn)的就是生活中最常見(jiàn)的煙霧探測(cè)器。一旦煙霧達(dá)到煙感探測(cè)器的值,就會(huì)啟動(dòng)自動(dòng)噴水裝置并發(fā)出警報(bào),管理人員可以根據(jù)終端的反饋及時(shí)趕到現(xiàn)場(chǎng),采取相應(yīng)措施,降低損失。智能安防應(yīng)用場(chǎng)景智能安防04(4)公安行業(yè)
在公安行業(yè)主要用于篩選和跟蹤嫌疑犯人的線索,人工智能可以快速的從錄像選出犯罪嫌疑人的信息并且快速的傳達(dá)到前端,智能機(jī)器只需要幾分鐘就可以完成。智能安防應(yīng)用場(chǎng)景智能安防04(5)大廈、公共場(chǎng)所
人工智能相當(dāng)于人的大腦,處理每天進(jìn)進(jìn)出出的人和車(chē)的運(yùn)動(dòng)信息以及實(shí)時(shí)跟蹤定位,還可以區(qū)分是內(nèi)部人還是外來(lái)人員,計(jì)算逗留時(shí)間來(lái)確保安全。智能安防應(yīng)用場(chǎng)景智能安防04(6)工廠、園區(qū)
人工智能機(jī)器人可以在園區(qū)進(jìn)行巡視,自動(dòng)抓取信息分析并存儲(chǔ),還可以對(duì)是收集到的信息進(jìn)行預(yù)判,一旦遇到緊急情況可以開(kāi)啟自動(dòng)預(yù)警。智能安防應(yīng)用場(chǎng)景智能安防04(7)在交通方面
人工智能的切入,可實(shí)時(shí)知道各條路的情況是怎樣的,如果哪條路出現(xiàn)險(xiǎn)情,人工智能可快速篩選出最近的最通暢的路線讓大家更好的出行,節(jié)省時(shí)間。智能安防應(yīng)用場(chǎng)景智能安防04(8)民用安防
民用安防現(xiàn)在使用最多,近年來(lái)入室盜竊案越來(lái)越多,家居安全成了大家關(guān)注的焦點(diǎn),人工智能現(xiàn)在可以做到家里沒(méi)人的情況下自動(dòng)布防,如果有人闖入就會(huì)自動(dòng)報(bào)警并且通知家人,等家庭成員回來(lái)時(shí)可以撤防確保隱私安全。智能安防應(yīng)用場(chǎng)景04知識(shí)儲(chǔ)備智能安防1數(shù)據(jù)庫(kù)2數(shù)據(jù)庫(kù)04數(shù)據(jù)庫(kù)是“按照數(shù)據(jù)結(jié)構(gòu)來(lái)組織、存儲(chǔ)和管理數(shù)據(jù)的倉(cāng)庫(kù)”。是一個(gè)長(zhǎng)期存儲(chǔ)在計(jì)算機(jī)內(nèi)的、有組織的、可共享的、統(tǒng)一管理的大量數(shù)據(jù)的集合。數(shù)據(jù)庫(kù)04數(shù)據(jù)庫(kù)是一個(gè)按數(shù)據(jù)結(jié)構(gòu)來(lái)存儲(chǔ)和管理數(shù)據(jù)的計(jì)算機(jī)軟件系統(tǒng)。數(shù)據(jù)庫(kù)的概念實(shí)際包括兩層意思:(1)數(shù)據(jù)庫(kù)是一個(gè)實(shí)體,它是能夠合理保管數(shù)據(jù)的“倉(cāng)庫(kù)”,用戶在該“倉(cāng)庫(kù)”中存放要管理的事務(wù)數(shù)據(jù),“數(shù)據(jù)”和“庫(kù)”兩個(gè)概念結(jié)合成為數(shù)據(jù)庫(kù)。(2)數(shù)據(jù)庫(kù)是數(shù)據(jù)管理的新方法和技術(shù),它能更合適的組織數(shù)據(jù)、更方便的維護(hù)數(shù)據(jù)、更嚴(yán)密的控制數(shù)據(jù)和更有效的利用數(shù)據(jù)。數(shù)據(jù)庫(kù)04DB:數(shù)據(jù)庫(kù)(Database)即存儲(chǔ)數(shù)據(jù)的“倉(cāng)庫(kù)”。它保存了一系列有組織的數(shù)據(jù)。DBMS:數(shù)據(jù)庫(kù)管理系統(tǒng)(DatabaseManagementSystem):是一種操縱和管理數(shù)據(jù)庫(kù)的大型軟件,例如建立、使用和維護(hù)數(shù)據(jù)庫(kù)。數(shù)據(jù)庫(kù)04目前互聯(lián)網(wǎng)上常見(jiàn)的數(shù)據(jù)庫(kù)管理軟件有Sybase、DB2、Oracle、MySQL、Access、VisualFoxpro(面向?qū)ο笮停?、MSSQLServer、Informix、PostgreSQL(對(duì)象-關(guān)系型)這幾種。以下是2017年StackOverflow對(duì)各數(shù)據(jù)庫(kù)受歡迎程度進(jìn)行調(diào)查后的統(tǒng)計(jì)結(jié)果:數(shù)據(jù)庫(kù)04SELECT-從數(shù)據(jù)庫(kù)中提取數(shù)據(jù)UPDATE-更新數(shù)據(jù)庫(kù)中的數(shù)據(jù)DELETE-從數(shù)據(jù)庫(kù)中刪除數(shù)據(jù)INSERTINTO-向數(shù)據(jù)庫(kù)中插入新數(shù)據(jù)CREATEDATABASE-創(chuàng)建新數(shù)據(jù)庫(kù)ALTERDATABASE-修改數(shù)據(jù)庫(kù)CREATETABLE-創(chuàng)建新表ALTERTABLE-變更(改變)數(shù)據(jù)庫(kù)表DROPTABLE-刪除表CREATEINDEX-創(chuàng)建索引(搜索鍵)DROPINDEX-刪除索引SQL命令數(shù)據(jù)庫(kù)04
SQLite是一種C語(yǔ)言庫(kù),實(shí)現(xiàn)了自給自足的、無(wú)服務(wù)器的、零配置的、事務(wù)性的SQL數(shù)據(jù)庫(kù)引擎。SQLite是世界上最常用的數(shù)據(jù)庫(kù)引擎。SQLite內(nèi)置于所有手機(jī)和大多數(shù)計(jì)算機(jī)中,并捆綁在人們每天使用的無(wú)數(shù)其他應(yīng)用程序中。SQLite源碼是開(kāi)源的,任何人在不同的應(yīng)用場(chǎng)景中都可以免費(fèi)的使用SQLite。數(shù)據(jù)庫(kù)04DDL-數(shù)據(jù)定義語(yǔ)言命令描述CREATE創(chuàng)建一個(gè)新的表,一個(gè)表的視圖,或者數(shù)據(jù)庫(kù)中的其他對(duì)象。ALTER修改數(shù)據(jù)庫(kù)中的某個(gè)已有的數(shù)據(jù)庫(kù)對(duì)象,比如一個(gè)表。DROP刪除整個(gè)表,或者表的視圖,或者數(shù)據(jù)庫(kù)中的其他對(duì)象。DML-數(shù)據(jù)操作語(yǔ)言命令描述INSERT創(chuàng)建一條記錄。UPDATE修改記錄。DELETE刪除記錄。DQL-數(shù)據(jù)查詢(xún)語(yǔ)言命令描述SELECT從一個(gè)或多個(gè)表中檢索某些記錄。數(shù)據(jù)庫(kù)04不需要一個(gè)單獨(dú)的服務(wù)器進(jìn)程或操作的系統(tǒng)(無(wú)服務(wù)器的)。SQLite不需要配置,這意味著不需要安裝或管理。一個(gè)完整的SQLite數(shù)據(jù)庫(kù)是存儲(chǔ)在一個(gè)單一的跨平臺(tái)的磁盤(pán)文件。SQLite是非常小的,是輕量級(jí)的,完全配置時(shí)小于400KiB,省略可選功能配置時(shí)小于250KiB。SQLite是自給自足的,這意味著不需要任何外部的依賴(lài)。SQLite事務(wù)是完全兼容ACID的,允許從多個(gè)進(jìn)程或線程安全訪問(wèn)。SQLite支持SQL92(SQL2)標(biāo)準(zhǔn)的大多數(shù)查詢(xún)語(yǔ)言的功能。SQLite使用ANSI-C編寫(xiě)的,并提供了簡(jiǎn)單和易于使用的API。SQLite可在UNIX(Linux,MacOS-X,Android,iOS)和Windows(Win32,WinCE,WinRT)中運(yùn)行。SQLite數(shù)據(jù)庫(kù)優(yōu)點(diǎ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ù)二基于人臉檢測(cè)的安防檢測(cè)實(shí)驗(yàn)05實(shí)驗(yàn)流程圖05任務(wù)實(shí)施提取人臉特征寫(xiě)入數(shù)據(jù)庫(kù)2利用opencv采集圖片1人臉識(shí)別比對(duì)3安防報(bào)警4利用opencv采集圖片05importcv2dWindow('image_win',flags=cv2.WINDOW_NORMAL|cv2.WINDOW_KEEPRATIO|cv2.WINDOW_GUI_EXPANDED)cv2.setWindowProperty('image_win',cv2.WND_PROP_FULLSCREEN,cv2.WINDOW_FULLSCREEN)#全屏展示cap=cv2.VideoCapture(0)time.sleep(2)#2秒后拍照cap.set(cv2.CAP_PROP_FRAME_WIDTH,640)cap.set(cv2.CAP_PROP_FRAME_HEIGHT,480)ret,image=cap.read()print(ret)cv2.imshow('image_win',image)cv2.waitKey(5000)cap.release()cv2.destroyAllWindows()opencv采集圖片的詳細(xì)內(nèi)容,參考前面章節(jié)項(xiàng)目1:使用OpenCV實(shí)現(xiàn)人臉檢測(cè)中的1_opencv實(shí)現(xiàn)圖像的讀取與保存cap=cv2.VideoCapture(0)實(shí)例化一個(gè)對(duì)象賦值給capcap.set(cv2.CAP_PROP_FRAME_WIDTH,640),cap.set(cv2.CAP_PROP_FRAME_HEIGHT,480)設(shè)置采集的分辨率寬高ret,image=cap.read()讀取一幀圖片,返回圖片內(nèi)容和狀態(tài)值cv2.imshow('image',image)顯示圖片cv2.waitKey(100)等待100毫秒cap.release()釋放攝像頭,以免攝像頭占用;cv2.destroyAllWindows()關(guān)閉所有窗口。05任務(wù)實(shí)施提取人臉特征寫(xiě)入數(shù)據(jù)庫(kù)2利用opencv采集圖片1人臉識(shí)別比對(duì)3安防報(bào)警43注冊(cè)用戶1提取人臉特征2sqlite3數(shù)據(jù)庫(kù)的使用提取人臉特征寫(xiě)入數(shù)據(jù)庫(kù)05提取人臉特征寫(xiě)入數(shù)據(jù)庫(kù)調(diào)用人臉識(shí)別的算法,提取特征,寫(xiě)入數(shù)據(jù)庫(kù)。提取人臉特征寫(xiě)入數(shù)據(jù)庫(kù)051.提取人臉特征人臉識(shí)別算法包含了特征提取的接口。將獲取到的特征值,轉(zhuǎn)化為python可讀的數(shù)據(jù)數(shù)組類(lèi)型。fromlib.faceDetectimportNLFaceDetect導(dǎo)入人臉識(shí)別算法接口類(lèi);nlFaceDetect=NLFaceDetect(libNamePath)實(shí)例化算法接口對(duì)象,執(zhí)行沒(méi)有報(bào)錯(cuò),表示實(shí)例化成功;nlFaceDetect.NL_FD_ComInit(configPath)加載模型和配置,并初始化,執(zhí)行沒(méi)有報(bào)錯(cuò),表示加載成功;nlFaceDetect.NL_FD_InitVarIn(image)加載采集的圖片數(shù)據(jù),返回0表示加載成功;nlFaceDetect.NL_FD_Process_C()調(diào)用人臉檢測(cè)主函數(shù)處理圖像,返回人臉個(gè)數(shù);nlFaceDetect.NL_FD_Exit()釋放模型和內(nèi)存;face_area=(outObject.x2-outObject.x1)*(outObject.y2-outObject.y1)計(jì)算每個(gè)人臉框的大小,目的是在注冊(cè)是的時(shí)候,只取站在最前面的人臉;face_area_max=max(face_areas)取最大的人臉框;max_index=face_areas.index(face_area_max)取最大人臉框的的下標(biāo),也就是第幾個(gè)人臉;face_info=nlFaceDetect.djEDVarOut.faceInfos[max_index]獲取最大人臉的人臉信息,作為單個(gè)人臉對(duì)齊的輸入值;nlFaceDetect.NL_EA_Process_C_2(face_info)把人臉檢測(cè)的結(jié)果信息,進(jìn)行人臉對(duì)齊處理;faceNum,faceInfos=nlFaceDetect.NL_ER_Process_C()獲取人臉特征,人臉特征是長(zhǎng)度為512的數(shù)組。提取人臉特征寫(xiě)入數(shù)據(jù)庫(kù)051.提取人臉特征(1)人臉對(duì)齊:人臉對(duì)齊任務(wù)即根據(jù)輸入的人臉圖像,自動(dòng)定位出面部關(guān)鍵特征點(diǎn),如左眼,右眼,鼻子,左嘴角,右嘴角等;(2)人臉特征提?。喝四樚卣魈崛?,即獲取人臉關(guān)鍵點(diǎn)的特征值,該算法,人臉特征是長(zhǎng)度為512的數(shù)組。提取人臉特征寫(xiě)入數(shù)據(jù)庫(kù)052.
sqlite3數(shù)據(jù)庫(kù)的使用
SQLite是一個(gè)軟件庫(kù),實(shí)現(xiàn)了自給自足的、無(wú)服務(wù)器的、零配置的、事務(wù)性的SQL數(shù)據(jù)庫(kù)引擎。SQLite是在世界上最廣泛部署的SQL數(shù)據(jù)庫(kù)引擎。SQLite源代碼不受版權(quán)限制。(1)注冊(cè)函數(shù)conn=sqlite3.connect("face.db")創(chuàng)建或連接一個(gè)數(shù)據(jù)庫(kù);cursor=conn.cursor()創(chuàng)建一個(gè)游標(biāo);create_user_table=''是創(chuàng)建用戶表的命令,這里字段采用id,用戶名,創(chuàng)建時(shí)間,特征;insert_user_table=''是插入用戶表的命令,給每個(gè)字段插入相對(duì)應(yīng)的數(shù)據(jù);cursor.execute(create_tb_cmd)執(zhí)行命令;mit()提交執(zhí)行結(jié)果。importsqlite3#引入sqlite3數(shù)據(jù)庫(kù)importtimedefregister_user(user_name,feature):conn=sqlite3.connect("face.db")#連接數(shù)據(jù)庫(kù)
cursor=conn.cursor()#創(chuàng)建一個(gè)游標(biāo)cursoncreate_user_table='createtableuser(idintegerprimarykey,user_nameTEXT,ctimeTEXT,featuresTEXT)'user_create_time=time.strftime("%Y-%m-%d%H:%M:%S",time.localtime())#數(shù)據(jù)創(chuàng)建時(shí)間
insert_user_table='insertintouser(user_name,ctime,features)values("{}","{}","{}")'.format(user_name,user_create_time,feature)try:#數(shù)據(jù)表不存在
cursor.execute(create_user_table)#執(zhí)行創(chuàng)建數(shù)據(jù)表sql語(yǔ)句
cursor.execute(insert_user_table)#執(zhí)行插入數(shù)據(jù)sql語(yǔ)句
exceptExceptionase:#數(shù)據(jù)表已存在
cursor.execute(insert_user_table)#執(zhí)行插入數(shù)據(jù)sql語(yǔ)句
mit()#提交執(zhí)行結(jié)果
cursor.close()#關(guān)閉游標(biāo)
conn.close()#關(guān)閉對(duì)數(shù)據(jù)庫(kù)的連接提取人臉特征寫(xiě)入數(shù)據(jù)庫(kù)052.
sqlite3數(shù)據(jù)庫(kù)的使用提取人臉特征寫(xiě)入數(shù)據(jù)庫(kù)052.
sqlite3數(shù)據(jù)庫(kù)的使用(2)讀取函數(shù)read_cmd="select*fromuserORDERBYidDESC;"讀取所有用戶信息,按id值的倒敘排列,也就是最新插入的在最前面。defread_user():read_cmd="select*fromuserORDERBYidDESC;"#查詢(xún)數(shù)據(jù)sql語(yǔ)句
res_list=[]#存儲(chǔ)查詢(xún)結(jié)果列表
try:conn=sqlite3.connect("face.db")#連接數(shù)據(jù)庫(kù)
cursor=conn.cursor()#創(chuàng)建一個(gè)游標(biāo)cursonres=cursor.execute(read_cmd)#執(zhí)行查詢(xún)數(shù)據(jù)sql語(yǔ)句
forrinres:res_list.append(r)#將查詢(xún)結(jié)果存入列表
mit()#提交執(zhí)行結(jié)果
cursor.close()#關(guān)閉游標(biāo)
conn.close()#關(guān)閉對(duì)數(shù)據(jù)庫(kù)的連接
exceptExceptionase:print('sqlerror:'+str(e))returnres_list提取人臉特征寫(xiě)入數(shù)據(jù)庫(kù)053.注冊(cè)用戶
判斷是否有人臉數(shù)據(jù)特征,將獲取到的特征注冊(cè)到數(shù)據(jù)庫(kù)中,并使用讀取函數(shù),驗(yàn)證是否已寫(xiě)入。iffts_list:register_user('張三',fts_list)#注冊(cè)人臉信息
res=read_user()#讀取所有人臉注冊(cè)數(shù)據(jù)
print(res[0])#打印第一條人臉注冊(cè)數(shù)據(jù)05任務(wù)實(shí)施提取人臉特征寫(xiě)入數(shù)據(jù)庫(kù)2利用opencv采集圖片1人臉識(shí)別比對(duì)3安防報(bào)警41采集新圖片2人臉識(shí)別比對(duì)人臉識(shí)別比對(duì)05人臉識(shí)別比對(duì)調(diào)用算法,識(shí)別一張新的圖片,然后和數(shù)據(jù)庫(kù)的數(shù)據(jù)進(jìn)行比對(duì)。人臉識(shí)別比對(duì)051.采集新圖片importcv2dWindow('image_win',flags=cv2.WINDOW_NORMAL|cv2.WINDOW_KEEPRATIO|cv2.WINDOW_GUI_EXPANDED)cv2.setWindowProperty('image_win',cv2.WND_PROP_FULLSCREEN,cv2.WINDOW_FULLSCREEN)#全屏展示time.sleep(2)#2秒后拍照cap=cv2.VideoCapture(0)cap.set(cv2.CAP_PROP_FRAME_WIDTH,640)cap.set(cv2.CAP_PROP_FRAME_HEIGHT,480)ret,image=cap.read()print(ret)cv2.imshow('image_win',image)cv2.waitKey(5000)cap.release()cv2.destroyAllWindows()人臉識(shí)別比對(duì)052.人臉識(shí)別比對(duì)05任務(wù)實(shí)施提取人臉特征寫(xiě)入數(shù)據(jù)庫(kù)2利用opencv采集圖片1人臉識(shí)別比對(duì)3安防報(bào)警43實(shí)現(xiàn)燈光預(yù)警1實(shí)例化串口對(duì)象2控制燈光安防報(bào)警05安防報(bào)警安防報(bào)警05importtimeimportserialser=serial.Serial("/dev/ttyS0",baudrate=9600,timeout=0.5)1.實(shí)例化一個(gè)串口對(duì)象串口通信是指外設(shè)和計(jì)算機(jī)間,通過(guò)數(shù)據(jù)信號(hào)線、地線、控制線等,按位進(jìn)行傳輸數(shù)據(jù)的一種通訊方式。這種通信方式使用的數(shù)據(jù)線少,在遠(yuǎn)距離通信中可以節(jié)約通信成本,但其傳輸速度比并行傳輸?shù)?。串口是?jì)算機(jī)上一種非常通用的設(shè)備通信協(xié)議。serial.Serial(name,baudrate,timeout,bytesize,writeTimeout,port)參數(shù)說(shuō)明:name:串口在板上的端口號(hào)baudrate:串口波特率timeout:讀超時(shí)時(shí)長(zhǎng)bytesize:字節(jié)大小writeTimeout:寫(xiě)超時(shí)port:讀或者寫(xiě)端口安防報(bào)警05打開(kāi)紅燈ser.flushInput()#清除串口寫(xiě)入緩存ser.flushOutput()#清除串口輸出緩存command='FE050002FF0039F5'#打開(kāi)紅燈命令cmd=bytes.fromhex(command)ser.write(cmd)#對(duì)串口寫(xiě)入指令2.控制燈光三色燈的控制,采用的RS485串口控制,RS485采用的通信協(xié)議是Modbus。而Modbus協(xié)議傳輸數(shù)據(jù)使用的是HEX形式的字符。若要獲得傳感器DI值,就要將command轉(zhuǎn)換成HEX形式。也就是將16進(jìn)制轉(zhuǎn)換成字符串。使用formhex()函數(shù),對(duì)command進(jìn)行轉(zhuǎn)換。三色燈有經(jīng)過(guò)繼電器,和4150數(shù)據(jù)模塊DO口。開(kāi)發(fā)板通過(guò)串口控制數(shù)字量模塊的DO口,來(lái)控制繼電器的開(kāi)關(guān),進(jìn)而控制燈光。關(guān)閉紅燈ser.flushInput()#清除串口寫(xiě)入緩存ser.flushOutput()#清除串口輸出緩存command='FE05000200007805'#關(guān)閉紅燈命令cmd=bytes.fromhex(command)ser.write(cmd)#對(duì)串口寫(xiě)入指令安防報(bào)警05importcv2importserialdWindow('image_win',flags=cv2.WINDOW_NORMAL|cv2.WINDOW_KEEPRATIO|cv2.WINDOW_GUI_EXPANDED)cv2.setWindowProperty('image_win',cv2.WND_PROP_FULLSCREEN,cv2.WINDOW_FULLSCREEN)#全屏展示cap=cv2.VideoCapture(0)#實(shí)例化攝像頭cap.set(cv2.CAP_PROP_FRAME_WIDTH,640)#設(shè)置采集圖片的分辨率寬為640cap.set(cv2.CAP_PROP_FRAME_HEIGHT,480)#設(shè)置采集圖片的分辨率高為480time.sleep(2)#2秒后拍照ret,image=cap.read()#采集一幀圖片,并將返回的狀態(tài)賦給變量ret,圖片數(shù)據(jù)賦給變量imagecv2.imshow('image_win',image)#顯示采集的圖片cv2.waitKey(5000)#等待5000毫秒cap.release()#釋放攝像頭cv2.destroyAllWindows()#關(guān)閉所有窗口print(ret)3.實(shí)現(xiàn)燈光預(yù)警步驟1:采集人臉照片。采集一張沒(méi)有注冊(cè)過(guò)的人臉。安防報(bào)警053.實(shí)現(xiàn)燈光預(yù)警步驟2:人臉對(duì)比。利用前面注冊(cè)的數(shù)據(jù),調(diào)用人臉識(shí)別算法,實(shí)現(xiàn)人臉識(shí)別比對(duì)。安防報(bào)警05importtimeimportserialser=serial.Serial("/dev/ttyS0",baudrate=9600,timeout=0.5)#實(shí)例化串口對(duì)象ifnotresult_state:#如果人臉驗(yàn)證失敗
i=0whilei<2:#打開(kāi)紅燈
ser.flushInput()#清楚串口寫(xiě)入緩存
ser.flushOutput()#清楚串口輸出緩存
command='FE050002FF0039F5'#打開(kāi)紅燈
cmd=bytes.fromhex(command)ser.write(cmd)#指令寫(xiě)入串口
time.sleep(1)#休眠1秒防止代碼運(yùn)行過(guò)快導(dǎo)致開(kāi)關(guān)燈的操作跟不上
#關(guān)閉紅燈
ser.flushInput()#清楚串口寫(xiě)入緩存
ser.flushOutput()#清楚串口輸出緩存
command='FE05000200007805'#關(guān)閉紅燈
cmd=bytes.fromhex(command)ser.write(cmd)#指令寫(xiě)入串口
time.sleep(1)#休眠1秒防止代碼運(yùn)行過(guò)快導(dǎo)致開(kāi)關(guān)燈的操作跟不上
i+=1ser.close()3.實(shí)現(xiàn)燈光預(yù)警步驟3:紅燈預(yù)警。根據(jù)檢測(cè)結(jié)果result_state,判斷是否是陌生人,如果是陌生人,紅燈閃爍2次預(yù)警。職業(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ù)二基于人臉檢測(cè)的安防檢測(cè)實(shí)驗(yàn)任務(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專(zhuān)業(yè)技能(40%)完成人臉特征提取、人臉注冊(cè)、人臉識(shí)別、控制燈光。(40分)40分
完成人臉特征提取、人臉注冊(cè)、人臉識(shí)別。(30分)完成人臉特征提取、人臉注冊(cè)。(20分)完成人臉特征提取。(10分)沒(méi)有人臉特征提取。(0分)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ù)二基于人臉檢測(cè)的安防檢測(cè)實(shí)驗(yàn)任務(wù)小結(jié)07職業(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ù)二基于人臉檢測(cè)的安防檢測(cè)實(shí)驗(yàn)任務(wù)拓展08修改視頻流控制燈光代碼,實(shí)現(xiàn)以下功能:1相似度<0.5時(shí)紅燈閃爍3次;1.打開(kāi)紅燈:'01050010FF008DFF'關(guān)閉紅燈:'010500100000CC0F'開(kāi)啟黃燈:'01050011FF00DC3F'關(guān)閉黃燈:'0105001100009DCF'打開(kāi)綠燈:'01050012FF002C3F'關(guān)閉綠燈:'0105001200006DCF'解題
思路提示任務(wù)要求20.5<=相似度<0.7時(shí)黃燈閃爍3次;3相似度>=0.7時(shí)綠燈閃爍3次。謝謝大家學(xué)習(xí)嵌入式人工智能技術(shù)應(yīng)用項(xiàng)目四基于人臉檢測(cè)算法實(shí)現(xiàn)家用設(shè)備的控制基于人臉檢測(cè)的門(mén)禁控制教學(xué)任務(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ù)三基于人臉檢測(cè)的門(mén)禁控制教學(xué)理解通過(guò)人臉識(shí)別完成門(mén)禁控制的實(shí)驗(yàn)流程。能夠利用人臉識(shí)別算法,使用數(shù)據(jù)庫(kù)完成用戶注冊(cè);能夠調(diào)用算法識(shí)別的特征數(shù)據(jù)與數(shù)據(jù)庫(kù)中的數(shù)據(jù)做比對(duì);能夠結(jié)合人臉檢測(cè)算法和門(mén)禁控制方法完成實(shí)驗(yàn)。職業(yè)能力目標(biāo)01知識(shí)目標(biāo)技能目標(biāo)職業(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ù)三基于人臉檢測(cè)的門(mén)禁控制教學(xué)
本實(shí)驗(yàn)將實(shí)現(xiàn)通過(guò)調(diào)用opencv模塊、人臉檢測(cè)算法庫(kù)、sqlite3模塊、serial模塊對(duì)采集的圖像進(jìn)行人臉檢測(cè),如果是已注冊(cè)用戶,則打開(kāi)電子鎖。任務(wù)描述任務(wù)要求使用人臉檢測(cè)算法提取人臉特征并注冊(cè)到數(shù)據(jù)庫(kù);使用人臉檢測(cè)算法將新采集的人臉圖像與數(shù)據(jù)庫(kù)中的數(shù)據(jù)計(jì)算相似度;如果識(shí)別成功,則通過(guò)串口模塊開(kāi)啟門(mén)鎖。任務(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ù)三基于人臉檢測(cè)的門(mén)禁控制教學(xué)任務(wù)分析門(mén)禁系統(tǒng)構(gòu)建可能會(huì)涉及到哪些步驟?根據(jù)自己的了解說(shuō)說(shuō)智能電子鎖原理?任務(wù)分析與計(jì)劃03任務(wù)計(jì)劃表項(xiàng)目名稱(chēng)基于人臉檢測(cè)算法實(shí)現(xiàn)家用設(shè)備的控制任務(wù)名稱(chēng)基于人臉檢測(cè)的門(mén)禁控制教學(xué)計(jì)劃方式自主設(shè)計(jì)計(jì)劃要求請(qǐng)用5個(gè)計(jì)劃步驟來(lái)完整描述出如何完成本次任務(wù)序號(hào)任務(wù)計(jì)劃1
2
3
4
5
通過(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ù)三基于人臉檢測(cè)的門(mén)禁控制教學(xué)智能門(mén)鎖204知識(shí)儲(chǔ)備電子門(mén)鎖1SQLite-python433SQL語(yǔ)句電子門(mén)鎖04電子鎖是一種通過(guò)密碼輸入來(lái)控制電路或是芯片工作(訪問(wèn)控制系統(tǒng)),從而控制機(jī)械開(kāi)關(guān)的閉合,完成開(kāi)鎖、閉鎖任務(wù)的電子產(chǎn)品。它的種類(lèi)很多,有簡(jiǎn)易的電路產(chǎn)品,也有基于芯片的性?xún)r(jià)比較高的產(chǎn)品?,F(xiàn)在應(yīng)用較廣的電子密碼鎖是以芯片為核心,通過(guò)編程來(lái)實(shí)現(xiàn)的。電子門(mén)鎖04電子鎖對(duì)機(jī)械鎖不構(gòu)成威脅一是復(fù)雜化,因?yàn)殒i具本身是一種機(jī)械卡阻機(jī)構(gòu),最終還要靠機(jī)械動(dòng)作來(lái)完成。而電子鎖必須完成機(jī)械動(dòng)作(操作)—電子轉(zhuǎn)換和電子控制—機(jī)械執(zhí)行這一系列過(guò)程,顯然是復(fù)雜一些。二是故障概率相對(duì)較高,電子器件一多,一復(fù)雜,必然增加故障機(jī)率,加上電子器件怕潮濕,怕強(qiáng)磁電,怕強(qiáng)震動(dòng),使它對(duì)使用環(huán)境有一定要求。三是電子鎖必須用電,早期的電子鎖耗電較多。電子門(mén)鎖的優(yōu)勢(shì)智能門(mén)鎖204知識(shí)儲(chǔ)備電子門(mén)鎖1SQLite-python433SQL語(yǔ)句智能門(mén)鎖04智能門(mén)鎖是指區(qū)別于傳統(tǒng)機(jī)械鎖的基礎(chǔ)上改進(jìn)的,在用戶安全性、識(shí)別、管理性方面更加智能化簡(jiǎn)便化的鎖具。智能門(mén)鎖是門(mén)禁系統(tǒng)中鎖門(mén)的執(zhí)行部件。智能門(mén)鎖區(qū)別于傳統(tǒng)機(jī)械鎖,是具有安全性,便利性,先進(jìn)技術(shù)的復(fù)合型鎖具。智能門(mén)鎖04(1)安全性。安裝指紋鎖后,應(yīng)當(dāng)不影響用防盜門(mén)的功用。鎖具不存在明顯的安全隱患。(2)穩(wěn)定性。是指紋鎖最重要的指標(biāo),一般需一年以上的實(shí)際使用后才會(huì)慢慢穩(wěn)定下來(lái),定型。(3)通用性。應(yīng)當(dāng)適用國(guó)內(nèi)大部分的防盜門(mén)(符合2008版防盜門(mén)國(guó)家標(biāo)準(zhǔn)),改裝量少。好的指紋鎖安裝時(shí)間應(yīng)不高于30分鐘。否則用戶一般難以自己完成安裝與維護(hù)。通用性設(shè)計(jì)得好,也可有效降低經(jīng)銷(xiāo)商庫(kù)存。(4)智能性。進(jìn)行增加,刪除等操作,應(yīng)當(dāng)非常簡(jiǎn)單,用戶不用記憶過(guò)多的口令與代碼。高性能指紋鎖還配有視頻顯示系統(tǒng),用戶操作比較方便。智能門(mén)鎖外觀特點(diǎn)智能門(mén)鎖04(1)指紋鎖,全稱(chēng)是電子指紋鎖,常見(jiàn)功能通為指紋、密碼、刷卡、機(jī)械鑰匙四合一開(kāi)鎖方式。它普通機(jī)械鎖升級(jí)為電子鎖的替代品。防盜級(jí)別為A級(jí)。(2)智能鎖,全稱(chēng)電子智能鎖,它包含電子指紋鎖的基本功能,增加上聯(lián)網(wǎng)功能,可實(shí)現(xiàn)遠(yuǎn)程操控,是電子指紋鎖的升級(jí)版,防盜級(jí)別為B級(jí)。(3)安防指紋鎖,包含電子指紋鎖的全部功能,是按照國(guó)家防盜鎖具技術(shù)標(biāo)準(zhǔn)設(shè)計(jì),是家庭防盜門(mén)鎖的實(shí)用性產(chǎn)品,防盜級(jí)別為C級(jí)。(4)安防智能鎖,包含電子指紋鎖,電子智能鎖,安防指紋鎖的全部功能,是鎖具行業(yè)技術(shù)含金量最高的產(chǎn)品,防盜級(jí)別為超C級(jí)智能門(mén)鎖級(jí)別分類(lèi)智能門(mén)鎖204知識(shí)儲(chǔ)備電子門(mén)鎖1SQLite-python433SQL語(yǔ)句SQL語(yǔ)句04SQLSELECT語(yǔ)句SELECT語(yǔ)句用于從數(shù)據(jù)庫(kù)中選取數(shù)據(jù)。結(jié)果被存儲(chǔ)在一個(gè)結(jié)果表中,稱(chēng)為結(jié)果集。SQLSELECT語(yǔ)法:SELECTcolumn_name,column_nameFROMtable_name;與SELECT*FROMtable_name;SQL語(yǔ)句04SQLORDERBY關(guān)鍵字ORDERBY關(guān)鍵字用于對(duì)結(jié)果集進(jìn)行排序。ORDERBY關(guān)鍵字用于對(duì)結(jié)果集按照一個(gè)列或者多個(gè)列進(jìn)行排序。ORDERBY關(guān)鍵字默認(rèn)按照升序?qū)τ涗涍M(jìn)行排序。如果需要按照降序?qū)τ涗涍M(jìn)行排序,您可以使用DESC關(guān)鍵字。SQLORDERBY語(yǔ)法:SELECTcolumn_name,column_nameFROMtable_nameORDERBYcolumn_name,column_nameASC|DESC;SQL語(yǔ)句04SQLINSERTINTO語(yǔ)句INSERTINTO語(yǔ)句用于向表中插入新記錄。INSERTINTO語(yǔ)句用于向表中插入新記錄。INSERTINTO語(yǔ)句可以有兩種編寫(xiě)形式。第一種形式無(wú)需指定要插入數(shù)據(jù)的列名,只需提供被插入的值即可:INSERTINTOtable_nameVALUES(value1,value2,value3,...);第二種形式需要指定列名及被插入的值:INSERTINTOtable_name(column1,column2,column3,...)VALUES(value1,value2,value3,...);SQL語(yǔ)句04SQLUPDATE語(yǔ)句UPDATE語(yǔ)句用于更新表中的記錄。UPDATE語(yǔ)句用于更新表中已存在的記錄。SQLUPDATE語(yǔ)法:UPDATEtable_nameSETcolumn1=value1,column2=value2,...WHEREsome_column=some_value;注意:SQLUPDATE語(yǔ)句中的WHERE子句,WHERE子句規(guī)定哪條記錄或者哪些記錄需要更新。如果您省略了WHERE子句,所有的記錄都將被更新!SQL語(yǔ)句04SQLDELETE語(yǔ)句DELETE語(yǔ)句用于刪除表中的記錄。DELETE語(yǔ)句用于刪除表中的行。SQLDELETE語(yǔ)法:DELETEFROMtable_nameWHEREsome_column=some_value;注意:SQLDELETE語(yǔ)句中的WHERE子句,WHERE子句規(guī)定哪條記錄或者哪些記錄需要?jiǎng)h除。如果省略了WHERE子句,所有的記錄都將被刪除!智能門(mén)鎖204知識(shí)儲(chǔ)備電子門(mén)鎖1SQLite-python433SQL語(yǔ)句SQLite-python04SQLite3可使用sqlite3模塊與Python進(jìn)行集成。sqlite3模塊是由GerhardHaring編寫(xiě)的。它提供了一個(gè)與PEP249描述的DB-API2.0規(guī)范兼容的SQL接口。您不需要單獨(dú)安裝該模塊,因?yàn)镻ython2.5.x以上版本默認(rèn)自帶了該模塊。安裝04在這里,您也可以把數(shù)據(jù)庫(kù)名稱(chēng)復(fù)制為特定的名稱(chēng):memory:,這樣就會(huì)在RAM中創(chuàng)建一個(gè)數(shù)據(jù)庫(kù)。在當(dāng)前目錄中創(chuàng)建我們的數(shù)據(jù)庫(kù)test.db??梢愿鶕?jù)需要改變路徑。保存上面代碼到sqlite.py文件中,并按如下所示執(zhí)行。如果數(shù)據(jù)庫(kù)成功創(chuàng)建,那么會(huì)顯示下面所示的消息:連接數(shù)據(jù)庫(kù)實(shí)例04上述程序執(zhí)行時(shí),它會(huì)在test.db中創(chuàng)建COMPANY表,并顯示下面所示的消息:創(chuàng)建表實(shí)例04上述程序執(zhí)行時(shí),它會(huì)在COMPANY表中創(chuàng)建給定記錄,并會(huì)顯示以下兩行:數(shù)據(jù)庫(kù)打開(kāi)成功數(shù)據(jù)插入成功INSERT操作實(shí)例04上述程序執(zhí)行時(shí),它會(huì)產(chǎn)生以下結(jié)果:SELECT操作實(shí)例04上述程序執(zhí)行時(shí),它會(huì)產(chǎn)生以下結(jié)果:UPDATE操作實(shí)例04上述程序執(zhí)行時(shí),它會(huì)產(chǎn)生以下結(jié)果:DELETE操作實(shí)例職業(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ù)三基于人臉檢測(cè)的門(mén)禁控制教學(xué)05實(shí)驗(yàn)流程圖05任務(wù)實(shí)施提取人臉特征寫(xiě)入數(shù)據(jù)庫(kù)2利用opencv采集圖片1人臉識(shí)別比對(duì)3門(mén)鎖控制4利用opencv采集圖片05importcv2dWindow('image',flags=cv2.WINDOW_NORMAL|cv2.WINDOW_KEEPRATIO|cv2.WINDOW_GUI_EXPANDED)cv2.resizeWindow("image",1920,1080)cap=cv2.VideoCapture(0)cap.set(cv2.CAP_PROP_FRAME_WIDTH,640)cap.set(cv2.CAP_PROP_FRAME_HEIGHT,480)ret,image=cap.read()print(ret)cv2.imshow('image',image)cv2.waitKey(5000)cap.release()cv2.destroyAllWindows()opencv采集圖片的詳細(xì)內(nèi)容,參考前面章節(jié)項(xiàng)目1:使用OpenCV實(shí)現(xiàn)人臉檢測(cè)中的1_opencv實(shí)現(xiàn)圖像的讀取與保存。cap=cv2.VideoCapture(0)實(shí)例化一個(gè)對(duì)象賦值給capcap.set(cv2.CAP_PROP_FRAME_WIDTH,640),cap.set(cv2.CAP_PROP_FRAME_HEIGHT,480)設(shè)置采集的分辨率寬高ret,image=cap.read()讀取一幀圖片,返回圖片內(nèi)容和狀態(tài)值cv2.imshow('image',image)顯示圖片cv2.waitKey(100)等待100毫秒cap.release()釋放攝像頭,以免攝像頭占用;cv2.destroyAllWindows()關(guān)閉所有窗口。05任務(wù)實(shí)施提取人臉特征寫(xiě)入數(shù)據(jù)庫(kù)2利用opencv采集圖片1人臉識(shí)別比對(duì)34門(mén)鎖控制3注冊(cè)用戶1提取人臉特征2sqlite3數(shù)據(jù)庫(kù)的使用提取人臉特征寫(xiě)入數(shù)據(jù)庫(kù)05提取人臉特征寫(xiě)入數(shù)據(jù)庫(kù)調(diào)用人臉識(shí)別的算法,提取特征,寫(xiě)入數(shù)據(jù)庫(kù)。提取人臉特征寫(xiě)入數(shù)據(jù)庫(kù)051.提取人臉特征人臉識(shí)別算法包含了特征提取的接口。將獲取到的特征值,轉(zhuǎn)化為python可讀的數(shù)據(jù)數(shù)組類(lèi)型。fromlib.faceDetectimportNLFaceDetect導(dǎo)入人臉識(shí)別算法接口類(lèi);nlFaceDetect=NLFaceDetect(libNamePath)實(shí)例化算法接口對(duì)象,執(zhí)行沒(méi)有報(bào)錯(cuò),表示實(shí)例化成功;nlFaceDetect.NL_FD_ComInit(configPath)加載模型和配置,并初始化,執(zhí)行沒(méi)有報(bào)錯(cuò),表示加載成功;nlFaceDetect.NL_FD_InitVarIn(image)加載采集的圖片數(shù)據(jù),返回0表示加載成功;nlFaceDetect.NL_FD_Process_C()調(diào)用人臉檢測(cè)主函數(shù)處理圖像,返回人臉個(gè)數(shù);nlFaceDetect.NL_FD_Exit()釋放模型和內(nèi)存;face_area=(outObject.x2-outObject.x1)*(outObject.y2-outObject.y1)計(jì)算每個(gè)人臉框的大小,目的是在注冊(cè)是的時(shí)候,只取站在最前面的人臉;face_area_max=max(face_areas)取最大的人臉框;max_index=face_areas.index(face_area_max)取最大人臉框的的下標(biāo),也就是第幾個(gè)人臉;face_info=nlFaceDetect.djEDVarOut.faceInfos[max_index]獲取最大人臉的人臉信息,作為單個(gè)人臉對(duì)齊的輸入值;nlFaceDetect.NL_EA_Process_C_2(face_info)把人臉檢測(cè)的結(jié)果信息,進(jìn)行人臉對(duì)齊處理;faceNum,faceInfos=nlFaceDetect.NL_ER
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 出國(guó)留學(xué)英語(yǔ)培訓(xùn)行業(yè)發(fā)展監(jiān)測(cè)及市場(chǎng)發(fā)展?jié)摿︻A(yù)測(cè)報(bào)告
- 2025年冷卻器熱交換器行業(yè)深度研究分析報(bào)告
- 羥基吲哚乙酸行業(yè)行業(yè)發(fā)展趨勢(shì)及投資戰(zhàn)略研究分析報(bào)告
- 2025年中國(guó)8音木琴行業(yè)市場(chǎng)發(fā)展前景及發(fā)展趨勢(shì)與投資戰(zhàn)略研究報(bào)告
- 2025年廣場(chǎng)磚項(xiàng)目可行性研究報(bào)告
- 兒童繪本行業(yè)市場(chǎng)發(fā)展現(xiàn)狀及趨勢(shì)與投資分析研究報(bào)告
- “十三五”重點(diǎn)項(xiàng)目-煤炭?jī)?chǔ)存項(xiàng)目節(jié)能評(píng)估報(bào)告(節(jié)能專(zhuān))
- 進(jìn)口甜紅葡萄酒行業(yè)市場(chǎng)發(fā)展及發(fā)展趨勢(shì)與投資戰(zhàn)略研究報(bào)告
- 2025年度港口工程居間合同范本(甲方專(zhuān)用)
- 2025年度智能倉(cāng)儲(chǔ)庫(kù)管員勞動(dòng)合同示范文本
- 2025-2030年中國(guó)配電變壓器市場(chǎng)未來(lái)發(fā)展趨勢(shì)及前景調(diào)研分析報(bào)告
- GB/T 45120-2024道路車(chē)輛48 V供電電壓電氣要求及試驗(yàn)
- 2025年上海市嘉定區(qū)中考英語(yǔ)一模試卷
- 潤(rùn)滑油、潤(rùn)滑脂培訓(xùn)課件
- 2025年中核財(cái)務(wù)有限責(zé)任公司招聘筆試參考題庫(kù)含答案解析
- 華中師大一附中2024-2025學(xué)年度上學(xué)期高三年級(jí)第二次考試數(shù)學(xué)試題(含解析)
- ADA糖尿病醫(yī)學(xué)診療標(biāo)準(zhǔn)指南修訂要點(diǎn)解讀(2025)課件
- 健康管理-理論知識(shí)復(fù)習(xí)測(cè)試卷含答案
- 成人腦室外引流護(hù)理-中華護(hù)理學(xué)會(huì)團(tuán)體 標(biāo)準(zhǔn)
- JGJ106-建筑基樁檢測(cè)技術(shù)規(guī)范
- 高技能公共實(shí)訓(xùn)基地建設(shè)方案
評(píng)論
0/150
提交評(píng)論