版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
ComputerVision第8章
計(jì)算機(jī)視覺(jué)2035主講:王紅梅目錄CONTENTS8.18.28.38.4計(jì)算機(jī)視覺(jué)那些事計(jì)算機(jī)視覺(jué)概述人臉識(shí)別原理人臉識(shí)別實(shí)現(xiàn)8.506擴(kuò)展:空間智能Haar特征算法是OpenCV最流行的目標(biāo)檢測(cè)算法,由于其算法的簡(jiǎn)潔性,和不受環(huán)境限制的使用條件,使其在很多環(huán)境,尤其是嵌入式環(huán)境中廣泛使用。本節(jié)以Python的第三方庫(kù)OpenCV為例,詳細(xì)描述其在人臉識(shí)別的實(shí)現(xiàn)和應(yīng)用。8.4.1OpenCV的提供的人臉?lè)诸惼鱋penCV中已經(jīng)內(nèi)置了訓(xùn)練好的人臉、眼睛、鼻子、嘴巴等檢測(cè)器,以*.xml的文件存在特定的目錄下,一般默認(rèn)是存放在opencv安裝目錄下源碼文件夾中sources\data\haarcascades,可以實(shí)現(xiàn)圖片或視頻流的檢測(cè)。8.4.1OpenCV的提供的人臉?lè)诸惼鱋penCV內(nèi)置的haar級(jí)聯(lián)模型;haarcascade_frontalface_default.xml:檢測(cè)面部;haarcascade_eye.xml:檢測(cè)左眼和右眼;haarcascade_smile.xml:檢測(cè)面部是否存在嘴部;haarcascade_eye_tree_eyeglasses.xml:檢測(cè)是否帶墨鏡;haarcascade_frontalcatface.xml:檢測(cè)貓臉;haarcascade_frontalcatface_extended.xml:檢測(cè)貓臉延伸;haarcascade_frontalface_alt.xml:檢測(cè)人臉屬性;haarcascade_frontalface_alt_tree.xml;haarcascade_frontalface_alt2.xml;從文件名可知這些級(jí)聯(lián)檢測(cè)器可用于面部、眼睛、全身等的檢測(cè)和跟蹤。8.4.1OpenCV的提供的人臉?lè)诸惼鱤aarcascade_fullbody.xml:檢測(cè)全身;haarcascade_lefteye_2splits.xml:檢測(cè)左眼;haarcascade_licence_plate_rus_16stages.xml:檢測(cè)證件;haarcascade_lowerbody.xml:檢測(cè)下半身;haarcascade_profileface.xml;haarcascade_righteye_2splits.xml:檢測(cè)右眼;haarcascade_russian_plate_number.xml:檢測(cè)俄羅斯字母車牌號(hào);haarcascade_upperbody.xml:檢測(cè)上半身。1.數(shù)據(jù)準(zhǔn)備正如前文所描述,要實(shí)現(xiàn)人臉識(shí)別,首先需要采集數(shù)據(jù),在本節(jié)我們采集數(shù)據(jù)的方式有:(1)通過(guò)提供靜態(tài)圖片的方法,(2)攝像頭直接采集,(3)通過(guò)提供視頻流的方法。
Haar級(jí)聯(lián)分類器執(zhí)行流程2.人臉檢測(cè)其次,進(jìn)行人臉檢測(cè),在本節(jié)主要通過(guò)調(diào)研OpenCV的方法來(lái)進(jìn)行。3.模型訓(xùn)練再次,要進(jìn)行模型訓(xùn)練,我們通過(guò)提供特定的數(shù)據(jù)集,然后調(diào)研OpenCV的方法進(jìn)行訓(xùn)練。4.人臉識(shí)別最后用訓(xùn)練好的模型進(jìn)行人臉識(shí)別。
Haar級(jí)聯(lián)分類器執(zhí)行流程1.在Python中(Python環(huán)境的配置請(qǐng)參考算法章節(jié)),調(diào)用第三方庫(kù)OpenCV。2.需要下載資源包。并解壓到D盤的根目錄下,解壓時(shí)選擇解壓到“faceDetection”,解壓后的文件夾和文件如圖所示。
在具體實(shí)現(xiàn)之前,準(zhǔn)備工作:接下來(lái)的應(yīng)用案例主要是人臉識(shí)別的具體實(shí)現(xiàn),如果你沒(méi)有Python基礎(chǔ)或是不想寫代碼,直接體驗(yàn)人臉識(shí)別的實(shí)現(xiàn),請(qǐng)直接打開下載的源代碼文件即可。說(shuō)明本部分的圖像來(lái)自視覺(jué)中國(guó)網(wǎng)站。
在具體實(shí)現(xiàn)之前,準(zhǔn)備工作:8.4.2調(diào)用OpenCV顯示圖像本案例的主要任務(wù)是實(shí)現(xiàn)能在Python中調(diào)用OpenCV,能正常顯示圖像。具體實(shí)現(xiàn)步驟如下:1、啟動(dòng)Python的IDLE,在IDLE中,用菜單“文件/打開”命令(英文版是菜單“File/Open”),打開文件夾“D:\faceDetection”中的“faceTest01-showimage.py”。2、這時(shí)就會(huì)在打開的文件窗口中顯示對(duì)應(yīng)的代碼,代碼有詳細(xì)的注釋和解釋,主要的功能是調(diào)用OpenCV的imread方法讀取圖像,并用OpenCV的imshow方法顯示圖像。8.4.2調(diào)用OpenCV顯示圖像3、點(diǎn)擊菜單“運(yùn)行/運(yùn)行”命令(英文版“Run/RunModule”)或按鍵盤上的快捷鍵“F5”,就可以執(zhí)行命令,并調(diào)用和現(xiàn)實(shí)圖片如圖所示。說(shuō)明用OpenCV調(diào)用圖像成功。8.4.3進(jìn)行人臉檢測(cè)本案例通過(guò)調(diào)用OpenCV中的“haarcascade_frontalface_default.xml”,文件,來(lái)實(shí)現(xiàn)調(diào)用Haar級(jí)聯(lián)分類器從而實(shí)例化人臉?lè)诸惼?。具體實(shí)現(xiàn)步驟如下:1、啟動(dòng)Python的IDLE,在IDLE中,打開文件夾“D:\faceDetection”中的“faceTest02-facedetection.py”。2、這時(shí)就會(huì)在打開的文件窗口中顯示對(duì)應(yīng)的代碼,代碼有詳細(xì)的注釋和解釋,運(yùn)行后,點(diǎn)擊這個(gè)紅色的按鈕結(jié)束8.4.3進(jìn)行人臉檢測(cè)3、點(diǎn)擊運(yùn)行命令,就可以執(zhí)行命令,其調(diào)用和現(xiàn)實(shí)圖片如圖8.4.3所示。說(shuō)明用OpenCV檢測(cè)人臉成功。8.4.4通過(guò)攝像頭或視頻流采集照片本案例的主要任務(wù)是通過(guò)調(diào)用OpenCV來(lái)實(shí)現(xiàn)捕捉攝像頭或視頻流的方法來(lái)采集圖像,通常用于實(shí)時(shí)視頻處理或視頻捕獲。具體實(shí)現(xiàn)步驟如下:1、啟動(dòng)Python的IDLE,在IDLE中,打開文件夾“D:\faceDetection”中的“faceTest03-camara.py”文件。2、這時(shí)就會(huì)在打開的文件窗口中顯示對(duì)應(yīng)的代碼,代碼有詳細(xì)的注釋和解釋,主要的功能是調(diào)用OpenCV的VideoCapture方法讀取攝像頭或視頻流,并用OpenCV的imshow方法顯示圖像。8.4.4通過(guò)攝像頭或視頻流采集照片說(shuō)明:下面兩種采集方式,使用其一即可。(1)當(dāng)cap=cv2.VideoCapture("video\東京街頭的人流.mp4")這個(gè)語(yǔ)句在執(zhí)行的時(shí)候,采集的是同目錄下“video”文件夾下的視頻“東京街頭的人流.mp4”,當(dāng)然你也可以改變本視頻。(2)當(dāng)cap=cv2.VideoCapture(0)這個(gè)語(yǔ)句執(zhí)行的時(shí)候,是采用默認(rèn)的第一個(gè)攝像頭,你需要保證你的設(shè)備上有攝像頭才可以使用。8.4.4通過(guò)攝像頭或視頻流采集照片3、點(diǎn)擊菜單運(yùn)行命令就可以執(zhí)行,并調(diào)用攝像頭或指定的視頻流如圖所示。說(shuō)明用OpenCV調(diào)用攝像頭或指定的視頻流成功。(a)調(diào)用攝像頭采集
(b)調(diào)用指定的視頻流采集8.4.5通過(guò)攝像頭或視頻流檢測(cè)人臉本案例的主要任務(wù)是通過(guò)調(diào)用OpenCV來(lái)實(shí)現(xiàn)對(duì)攝像頭或視頻流的人臉進(jìn)行檢測(cè),具體實(shí)現(xiàn)步驟如下:1、啟動(dòng)Python的IDLE,在IDLE中,打開文件夾“D:\faceDetection”中的“faceTest04-facedetection-camera.py”文件。2、這時(shí)就會(huì)在打開的文件窗口中顯示對(duì)應(yīng)的代碼,代碼有詳細(xì)的注釋和解釋,主要的功能是調(diào)用OpenCV的CascadeClassifier和detectMultiScale方法來(lái)檢測(cè)人臉,并用矩形框標(biāo)注檢測(cè)到的人臉。3、點(diǎn)擊菜單運(yùn)行命令就可以執(zhí)行,調(diào)用并檢測(cè)到人臉如圖8.4.5所示。說(shuō)明用OpenCV進(jìn)行人臉檢測(cè)成功。(a)通過(guò)攝像頭人臉檢測(cè)
(b)通過(guò)視頻流的人臉檢測(cè)8.4.5通過(guò)攝像頭或視頻流檢測(cè)人臉8.4.6訓(xùn)練人臉識(shí)別模型本案例的主要任務(wù)是通過(guò)提供的數(shù)據(jù)集來(lái)訓(xùn)練一個(gè)人臉識(shí)別的模型,提供的數(shù)據(jù)集在“trainphotos”文件夾下,當(dāng)然你也可以下載其它的數(shù)據(jù)集來(lái)進(jìn)行模型訓(xùn)練。具體實(shí)現(xiàn)步驟如下:1、啟動(dòng)Python的IDLE,在IDLE中,打開文件夾“D:\faceDetection”中的“faceTest05-train.py”文件。2、這時(shí)就會(huì)在打開的文件窗口中顯示對(duì)應(yīng)的代碼,代碼有詳細(xì)的注釋和解釋,主要的功能是先讀取圖片到faces_list數(shù)組中,再通過(guò)CascadeClassifier方法和detectMultiScale檢測(cè)出人臉,然后調(diào)用基于局部二值模式直方圖的紋理人臉識(shí)別算法,最后進(jìn)行訓(xùn)練,生成“train.xml”文件,3、點(diǎn)擊菜單“運(yùn)行/運(yùn)行”命令或按鍵盤上的快捷鍵“F5”,就可以執(zhí)行命令,執(zhí)行完后并無(wú)執(zhí)行顯示。會(huì)在文件的同目錄下,生成一個(gè)“train.xml”文件,8.4.6訓(xùn)練人臉識(shí)別模型8.4.7用訓(xùn)練的模型識(shí)別人臉本案例的主要任務(wù)是使用我們自己訓(xùn)練的模型“train.xml”,來(lái)進(jìn)行人臉識(shí)別,具體實(shí)現(xiàn)步驟如下:1、啟動(dòng)Python的IDLE,在IDLE中,打開文件夾“D:\faceDetection”中的“faceTest06-recognition.py”文件。2、這時(shí)就會(huì)在打開的文件窗口中顯示對(duì)應(yīng)的代碼,代碼有詳細(xì)的注釋和解釋,主要的功能是先讀取本目錄下“images”文件夾中的“my.jpg”圖像,并識(shí)別出人臉和進(jìn)行標(biāo)注。當(dāng)然你也可以把“my.jpg”圖片替代為自己的圖像,注意圖像文件的大小,不能太大或太小,建議400×300像素左右,3、點(diǎn)擊菜單運(yùn)行命令就可以執(zhí)行命令,執(zhí)行成功能識(shí)別出人臉,并按程序設(shè)計(jì)用橢圓標(biāo)注,8.4.7用訓(xùn)練的模型識(shí)別人臉通過(guò)人臉識(shí)別的圖像采集、檢測(cè),以及模型的訓(xùn)練和實(shí)現(xiàn),小智對(duì)人臉識(shí)別系統(tǒng)有了一定的認(rèn)識(shí)和理解,接下來(lái)小智就準(zhǔn)備研究其在宿舍門上的應(yīng)用,學(xué)習(xí)后的你是不是也躍躍越試,想試試其在其它方面的應(yīng)用,那就趕快行動(dòng)吧。8.4.7用訓(xùn)練的模型識(shí)別人臉
人臉識(shí)別系統(tǒng)常用在無(wú)人監(jiān)控的場(chǎng)景下,很容易受到仿冒攻擊。例如可以用一張目標(biāo)人的人臉圖片騙過(guò)驗(yàn)證系統(tǒng),或在目標(biāo)人不知情的前提下進(jìn)行非受權(quán)驗(yàn)證。258.4.8人臉識(shí)別技術(shù)帶來(lái)的風(fēng)險(xiǎn)
為了防范這種攻擊,通常采用活體檢測(cè)方法,讓目標(biāo)人眨眨眼或動(dòng)動(dòng)頭,來(lái)確認(rèn)目標(biāo)人不是照片而且在配合驗(yàn)證。268.4.8人臉識(shí)別技術(shù)帶來(lái)的風(fēng)險(xiǎn)
近年來(lái),視頻偽造技術(shù)越來(lái)越強(qiáng)大,在線合成目標(biāo)人的視頻來(lái)騙過(guò)活體檢測(cè)已經(jīng)不是困難的事。278.4.8人臉識(shí)別技術(shù)帶來(lái)的風(fēng)險(xiǎn)
最近,基于對(duì)抗樣本的仿冒攻擊帶來(lái)的風(fēng)險(xiǎn)正在上升。左圖是一幅仿冒眼鏡
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 外科醫(yī)生招聘考試題含答案
- 辦公室文員常見問(wèn)題解決方法與案例分析
- 視力養(yǎng)護(hù)加盟合同范本
- 教育行業(yè)面試題庫(kù)及教師答案
- 平安保險(xiǎn)客服專員面試指南及答案
- 2025廣東中山市板芙鎮(zhèn)招聘公辦中小學(xué)校臨聘教師1人考試筆試備考試題及答案解析
- 標(biāo)準(zhǔn)勞務(wù)合同范本
- 安全工程師面試題含答案
- 華為技術(shù)面試常見問(wèn)題集
- 2026年青海省果洛藏族自治州單招職業(yè)傾向性考試題庫(kù)附答案解析
- (2025年)法院聘用書記員試題及答案
- 具身智能+醫(yī)療康復(fù)中多模態(tài)感知與自適應(yīng)訓(xùn)練系統(tǒng)研究報(bào)告
- 廣東省深圳市寶安區(qū)2026屆高一上生物期末聯(lián)考試題含解析
- ISO14644-5-2025潔凈室及相關(guān)受控環(huán)境-第5部分運(yùn)行中文版
- 2025年國(guó)家開放大學(xué)《法學(xué)導(dǎo)論》期末考試備考題庫(kù)及答案解析
- 物業(yè)公司動(dòng)火安全管理制度
- 幕墻創(chuàng)優(yōu)工程匯報(bào)材料
- 2025年鐵嶺銀行見習(xí)生招聘50人筆試備考試題及答案解析
- 老年人穿衣搭配課件
- 【2025年】嘉興市委宣傳部所屬事業(yè)單位選聘工作人員考試試卷及參考答案
- 二手房意向金合同范本
評(píng)論
0/150
提交評(píng)論