用Python+OpenCV+PIL構(gòu)建貓臉識(shí)別器

在這篇文章中,我將向你展示如何編寫一個(gè)檢測貓臉的簡單程序。在我的人臉檢測帖子中,我演示了如何使用Python檢測人臉。當(dāng)我用圖像測試代碼時(shí),我發(fā)現(xiàn)其中有些圖像中有動(dòng)物,但是我們創(chuàng)建的人臉檢測模型并不能識(shí)別動(dòng)物的面部,所以我想知道是否有一種方法可以在圖像中檢測動(dòng)物的臉,于是我在互聯(lián)網(wǎng)上做了一點(diǎn)研究,發(fā)現(xiàn)這是可能的,而且在Kaggle上找到了很多免費(fèi)的數(shù)據(jù)集,里面有幾百張圖片。Kaggle是一個(gè)尋找免費(fèi)數(shù)據(jù)集的好地方,他們也在組織數(shù)據(jù)科學(xué)競賽,這是一個(gè)練習(xí)數(shù)據(jù)科學(xué)技能和向他人學(xué)習(xí)的好地方。不管怎樣,回到我們的項(xiàng)目。我很高興能在一個(gè)程序中結(jié)合人類和貓的面部檢測模型,這樣我們的機(jī)器可以學(xué)會(huì)區(qū)分人類和貓。這將是一個(gè)有趣的工作項(xiàng)目,我們開始吧!!庫第一件事是文書工作。當(dāng)你在機(jī)器學(xué)習(xí)項(xiàng)目中工作時(shí),安裝和導(dǎo)入庫是必需的。我們將在這個(gè)項(xiàng)目中使用兩個(gè)庫,OpenCV和Pillow。OpenCV是一個(gè)高度優(yōu)化的庫,專注于實(shí)時(shí)應(yīng)用程序。Pillow是一個(gè)強(qiáng)大的圖像處理庫。Pillow將作為“Pillow”安裝,但是導(dǎo)入的時(shí)候使用PIL,它們是同一件事,別搞混了。OpenCV(opensourcecomputervision Library)是一個(gè)開源的計(jì)算機(jī)視覺和機(jī)器學(xué)習(xí)軟件庫。OpenCV旨在為計(jì)算機(jī)視覺應(yīng)用提供一個(gè)通用的基礎(chǔ)設(shè)施,并加速機(jī)器感知在商業(yè)產(chǎn)品中的應(yīng)用。作為一個(gè)BSD授權(quán)產(chǎn)品,OpenCV使企業(yè)很容易使用和修改代碼。安裝過程非常簡單和容易。在終端窗口中編寫以下代碼行:pip install opencv-python pillow安裝完成后,我們可以將其導(dǎo)入程序。import cv2 from PIL import ImageOpenCV已經(jīng)包含了許多預(yù)先訓(xùn)練過的人臉、眼睛、微笑等分類器,這些XML文件存儲(chǔ)在GitHub文件夾中。我們將使用貓面部檢測和人臉檢測模型。以下是鏈接:貓臉:https://raw.githubusercontent.com/opencv/opencv/master/data/haarcascades/haarcascade_frontalcatface_extended.xml人臉:https://raw.githubusercontent.com/opencv/opencv/master/data/haarcascades/haarcascade_frontalface_default.xml如果你有帳戶,你可以從Github下載XML文件;如果沒有,可以從上面的鏈接復(fù)制代碼并粘貼到文本編輯器中并保存它們,我把它們叫做“catface_detector.xml”和“humanface_detector.xml”。將文件保存到文件夾后,讓我們將它們加載到程序中。# Load the cascades catface_cascade = cv2.CascadeClassifier('catface_detector.xml') humanface_cascade = cv2.CascadeClassifier('humanface_detector.xml')圖像在這一步中,你將選擇要在測試代碼中的圖像。確保你有至少兩張圖片來檢查你的程序的準(zhǔn)確性。這些圖像可以同時(shí)有人和貓,或者只是其中一個(gè)。如果你很難找到一個(gè)免費(fèi)的圖片集,可以使用我在Kaggle上找到的免費(fèi)數(shù)據(jù)集(https://www.kaggle.com/tongpython/cat-and-dog)。請(qǐng)隨時(shí)下載和使用這個(gè)項(xiàng)目。以下是我將在我們的項(xiàng)目中使用的圖像:

12下一頁>

(免責(zé)聲明:本網(wǎng)站內(nèi)容主要來自原創(chuàng)、合作伙伴供稿和第三方自媒體作者投稿,凡在本網(wǎng)站出現(xiàn)的信息,均僅供參考。本網(wǎng)站將盡力確保所提供信息的準(zhǔn)確性及可靠性,但不保證有關(guān)資料的準(zhǔn)確性及可靠性,讀者在使用前請(qǐng)進(jìn)一步核實(shí),并對(duì)任何自主決定的行為負(fù)責(zé)。本網(wǎng)站對(duì)有關(guān)資料所引致的錯(cuò)誤、不確或遺漏,概不負(fù)任何法律責(zé)任。
任何單位或個(gè)人認(rèn)為本網(wǎng)站中的網(wǎng)頁或鏈接內(nèi)容可能涉嫌侵犯其知識(shí)產(chǎn)權(quán)或存在不實(shí)內(nèi)容時(shí),應(yīng)及時(shí)向本網(wǎng)站提出書面權(quán)利通知或不實(shí)情況說明,并提供身份證明、權(quán)屬證明及詳細(xì)侵權(quán)或不實(shí)情況證明。本網(wǎng)站在收到上述法律文件后,將會(huì)依法盡快聯(lián)系相關(guān)文章源頭核實(shí),溝通刪除相關(guān)內(nèi)容或斷開相關(guān)鏈接。 )

贊助商
2020-08-11
用Python+OpenCV+PIL構(gòu)建貓臉識(shí)別器
在這篇文章中,我將向你展示如何編寫一個(gè)檢測貓臉的簡單程序。在我的人臉檢測帖子中,我演示了如何使用Python檢測人臉。

長按掃碼 閱讀全文