0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

如何利用Python和函數(shù)庫進行簡單的人臉識別?(附源碼)

如意 ? 來源:讀芯術(shù)微信公眾號 ? 作者:讀芯術(shù)微信公眾號 ? 2020-09-04 14:06 ? 次閱讀

本文將介紹圖像處理中的一些重要概念,除了具體解釋每個步驟之外,還將提供一個在Python中使用Cv2和DLib庫輕松進行人臉識別的項目。

感興趣區(qū)域

在使用圖像進行面部分析時,最重要的概念之一是定義感興趣區(qū)域(ROI),我們必須在圖像中定義一個特定的部分,在那里篩選或執(zhí)行一些操作。

例如,如果我們需要篩選汽車的車牌,我們的感興趣領域只停留在車牌上,那么街道、車身和圖片中出現(xiàn)的任何東西都只是輔助部分。在本例中,我們將使用opencv庫,該庫支持對圖像進行分區(qū)并幫助我們確定感興趣領域。

Haar庫

本項目中將使用現(xiàn)成的分類器:級聯(lián)的Haar分類器,這種特定的分類器將始終適用于灰度圖像。

算法生成了一個幾何圖形,該幾何圖形將識別與我們所分析的相似點。因此在本例中,它將嘗試尋找人臉圖案,即眼睛、鼻子和嘴巴。這種分析方法最大的問題是產(chǎn)生幻想性視錯覺。

你看到的是人眼還是幾扇窗戶?在希臘詞源學中,幻想性視錯覺是一種人類的特征。從童年起,我們的大腦就被編程來識別物體、圖像中的人臉。利用我們先前獲得的經(jīng)驗,我們自己的大腦會根據(jù)我們所認識到的“人類”特征來尋找一種模式,增加新的人臉面孔。

使用Haar人臉特征分類器

用以下圖像為例:

來看看識別這張圖片中的人臉代碼:

如何利用Python和函數(shù)庫進行簡單的人臉識別?(附源碼)

該算法將圖像轉(zhuǎn)換為灰度圖像,如前所述,這是分類器操作的一個基本步驟,然后我們使用dectedMultiScale函數(shù)搜索圖像中的人臉,并通過繪制矩形來顯示圖像的位置,當定位人臉時結(jié)果如下:

我們能夠準確地分析兩張出現(xiàn)的臉(采用矩形的方式將人臉框起來),有兩個人完全正面地露出他們的臉,人臉完全顯現(xiàn),所以我們可以清楚地看到他的臉;另一個人只露出了面部的一部分,所以我們沒有得到準確的信息來確認這是一張完整的人臉。

面部特征檢測

Dlib是一個擁有一些分類器的庫,可以幫助我們檢測人臉的某些部分,例如:眼睛、眉毛、鼻子和洋娃娃的區(qū)域。以下圖為例:

現(xiàn)在,使用算法來識別圖像中的面部特征點:

如何利用Python和函數(shù)庫進行簡單的人臉識別?(附源碼)

我們使用的是人臉68個特征分類器,它試圖更精確地理解點面,這給了我們更多的選擇去分析結(jié)果,其缺點是速度有點慢。所以必須劃定一個矩形來確定我們的臉可能在哪里,特征是我們可以識別的人臉特征,包括臉、嘴、眼睛、眉毛。

一旦用矩形的方式框出了臉,就可以使用功能部件將這些特征返回,最后將得到一些可視化的東西去生成一個帶有面部點的圖像。結(jié)果是:

這些點對于幫助識別表情很重要,例如我們可以識別出這個男孩睜著眼睛,閉著嘴巴。把這看作是一種情緒的表現(xiàn),可以說這個男孩很焦慮。當一個人微笑時,它可以幫助理解這種情緒可能表達的是幸福。

上述例子向我們展示了,Python可以識別出我們感興趣的區(qū)域,在本文中就是人臉識別。這個項目還可以擴展到使用機器學習來檢測,探究圖像中的人是否感到快樂、悲傷或者憂慮。

包含所有內(nèi)容的項目可從以下網(wǎng)址獲得:https://github.com/LimaGuilherme/facial-recognize
責編AJX

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 函數(shù)
    +關(guān)注

    關(guān)注

    3

    文章

    4256

    瀏覽量

    62223
  • 人臉識別
    +關(guān)注

    關(guān)注

    76

    文章

    4000

    瀏覽量

    81578
  • python
    +關(guān)注

    關(guān)注

    54

    文章

    4756

    瀏覽量

    84283
收藏 人收藏

    評論

    相關(guān)推薦

    基于openCV的人臉檢測系統(tǒng)的設計

    通過對基于Adaboost人臉檢測算法的研究,利用該算法與計算機視覺類openCV進行人臉檢測系統(tǒng)的設計,實現(xiàn)了對出現(xiàn)在視頻或圖像中的人臉
    發(fā)表于 12-23 14:19

    【LeMaker Guitar試用體驗】之基于Python的人臉識別系統(tǒng)【結(jié)貼】

    Python編程語言下實現(xiàn)基于LeMaker Guitar的人臉識別系統(tǒng),具體方案操作如下。一.實驗說明系統(tǒng)設備:1.LeMakerGuitar開發(fā)板2.藍色妖姬免驅(qū)USB攝像頭輔助軟件
    發(fā)表于 02-25 14:03

    【Raspberry Pi 3試用體驗】+Opencv+python的人臉識別

    ;)看一下效果:光線不好還是能認出來,說明opencv自帶的分類器算開源里面不錯的了~參考:Tigerboard開發(fā)板試用體驗 python+opencv的人臉識別 NanoPi2試用體驗
    發(fā)表于 05-13 21:38

    Dragonboard 410c USB攝像頭進行人臉識別

    的方法來實現(xiàn)對測試人臉的預測。準備好數(shù)據(jù)后,就可以利用這些數(shù)據(jù)進行簡單的人臉識別了,根據(jù)上述數(shù)據(jù)
    發(fā)表于 09-21 10:53

    LabVIEW人臉識別設計

    ,但由于其易于上手,編程簡單,廣泛應用于生產(chǎn)生活中的各個領域。LabVIEW自帶算法無法實現(xiàn)人臉檢測以及識別,但是其支持調(diào)用第三方函數(shù)庫,因此,本課程
    發(fā)表于 04-28 10:00

    ZLGCAN接口函數(shù)庫

    ZLGCAN接口函數(shù)庫 數(shù)據(jù)結(jié)構(gòu)VCI 函數(shù)庫中定義了一些數(shù)據(jù)結(jié)構(gòu)用于數(shù)據(jù)交換,在使用VCI 函數(shù)前應該先創(chuàng)建這些數(shù)據(jù)結(jié)構(gòu)。在LabVIEW 中創(chuàng)建這些結(jié)構(gòu)時應該使用
    發(fā)表于 03-29 14:01 ?56次下載

    PIC單片機的C語言應用下的函數(shù)庫

    PICC編譯器下的函數(shù)庫,調(diào)用函數(shù)庫開發(fā),更快更方便,更少的bug
    發(fā)表于 12-09 15:29 ?10次下載

    STM8函數(shù)庫中文參考

    STM8函數(shù)庫中文參考,感興趣可以看看。
    發(fā)表于 07-25 18:52 ?168次下載

    STM32固件函數(shù)庫-中文

    STM32固件函數(shù)庫-中文,感興趣的小伙伴們可以看看。
    發(fā)表于 07-26 10:29 ?67次下載

    PID模塊相關(guān)函數(shù)庫

    PID模塊相關(guān)函數(shù)庫
    發(fā)表于 11-17 18:35 ?7次下載

    Python編程實例——利用Dragonboard 410c開發(fā)板實現(xiàn)人臉識別(二)

    如何使用createFisherFaceRecognizer在dragonbaord 410c開發(fā)板上來進行人臉識別,今天將重點介紹該方法的原理和調(diào)用方法,處理中只是以識別前面人臉檢測
    發(fā)表于 02-08 11:43 ?1406次閱讀
    <b class='flag-5'>Python</b>編程實例——<b class='flag-5'>利用</b>Dragonboard 410c開發(fā)板實現(xiàn)<b class='flag-5'>人臉</b><b class='flag-5'>識別</b>(二)

    linux_C函數(shù)庫中文手冊

    linux_C函數(shù)庫中文手冊linux_C函數(shù)庫中文手冊
    發(fā)表于 03-20 10:42 ?14次下載

    RD8x3x單片機函數(shù)庫源碼

    RD8x3x單片機函數(shù)庫源碼分享
    發(fā)表于 10-21 15:47 ?1次下載

    基于python代碼的人臉識別實例

    基于python代碼的一個人臉識別的實例,完整的實例,本人在pycharm中實測通過,是一個很基礎的入門級的人臉檢測和識別。
    發(fā)表于 07-18 11:11 ?13次下載

    利用vMeasure eMobilityAnalyzer函數(shù)庫分析電機性能

    本文利用vMeasure eMobilityAnalyzer函數(shù)庫中的克拉克變換功能,將三相電機定子電流或電壓轉(zhuǎn)換為兩相電流或電壓,幫助工程師更有效地、可視化地分析電機的行為并對控制算法進行針對性的優(yōu)化,從而提高電機的性能和效率
    的頭像 發(fā)表于 09-13 11:37 ?256次閱讀
    <b class='flag-5'>利用</b>vMeasure eMobilityAnalyzer<b class='flag-5'>函數(shù)庫</b>分析電機性能