• <fieldset id="8imwq"><menu id="8imwq"></menu></fieldset>
  • <bdo id="8imwq"><input id="8imwq"></input></bdo>
    最新文章專題視頻專題問(wèn)答1問(wèn)答10問(wèn)答100問(wèn)答1000問(wèn)答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
    問(wèn)答文章1 問(wèn)答文章501 問(wèn)答文章1001 問(wèn)答文章1501 問(wèn)答文章2001 問(wèn)答文章2501 問(wèn)答文章3001 問(wèn)答文章3501 問(wèn)答文章4001 問(wèn)答文章4501 問(wèn)答文章5001 問(wèn)答文章5501 問(wèn)答文章6001 問(wèn)答文章6501 問(wèn)答文章7001 問(wèn)答文章7501 問(wèn)答文章8001 問(wèn)答文章8501 問(wèn)答文章9001 問(wèn)答文章9501
    當(dāng)前位置: 首頁(yè) - 科技 - 知識(shí)百科 - 正文

    python3+dlib實(shí)現(xiàn)人臉識(shí)別和情緒分析

    來(lái)源:懂視網(wǎng) 責(zé)編:小采 時(shí)間:2020-11-27 14:12:49
    文檔

    python3+dlib實(shí)現(xiàn)人臉識(shí)別和情緒分析

    python3+dlib實(shí)現(xiàn)人臉識(shí)別和情緒分析:本文通過(guò)具體代碼不步驟給大家詳細(xì)講述了python3+dlib實(shí)現(xiàn)人臉識(shí)別以及情緒分析的方法,有需要的朋友參考下。一、介紹我想做的是基于人臉識(shí)別的表情(情緒)分析。看到網(wǎng)上也是有很多的開源庫(kù)提供使用,為開發(fā)提供了很大的方便。我選擇目前用的比較多的dli
    推薦度:
    導(dǎo)讀python3+dlib實(shí)現(xiàn)人臉識(shí)別和情緒分析:本文通過(guò)具體代碼不步驟給大家詳細(xì)講述了python3+dlib實(shí)現(xiàn)人臉識(shí)別以及情緒分析的方法,有需要的朋友參考下。一、介紹我想做的是基于人臉識(shí)別的表情(情緒)分析。看到網(wǎng)上也是有很多的開源庫(kù)提供使用,為開發(fā)提供了很大的方便。我選擇目前用的比較多的dli
    本文通過(guò)具體代碼不步驟給大家詳細(xì)講述了python3+dlib實(shí)現(xiàn)人臉識(shí)別以及情緒分析的方法,有需要的朋友參考下。

    一、介紹

    我想做的是基于人臉識(shí)別的表情(情緒)分析。看到網(wǎng)上也是有很多的開源庫(kù)提供使用,為開發(fā)提供了很大的方便。我選擇目前用的比較多的dlib庫(kù)進(jìn)行人臉識(shí)別與特征標(biāo)定。使用python也縮短了開發(fā)周期。

    官網(wǎng)對(duì)于dlib的介紹是:Dlib包含廣泛的機(jī)器學(xué)習(xí)算法。所有的設(shè)計(jì)都是高度模塊化的,快速執(zhí)行,并且通過(guò)一個(gè)干凈而現(xiàn)代的C ++ API,使用起來(lái)非常簡(jiǎn)單。它用于各種應(yīng)用,包括機(jī)器人技術(shù),嵌入式設(shè)備,手機(jī)和大型高性能計(jì)算環(huán)境。

    雖然應(yīng)用都比較高大上,但是自己在PC上做個(gè)情緒分析的小軟件還是挺有意思的。

    按照自己的想法與思路設(shè)計(jì)識(shí)別方式。目前也比較火的keras好像就是根據(jù)嘴型的變化作為情緒分析的一個(gè)指標(biāo)。

    而我的想法是利用嘴的張開比例,眼睛的睜開程度,眉毛的傾斜角度作為情緒分析的三個(gè)指標(biāo)。但是由于人與人長(zhǎng)相的差異較大,五官的也是千差萬(wàn)別,再加上我的計(jì)算方法也比較簡(jiǎn)單。所以識(shí)別效率并不是很高。

    識(shí)別規(guī)則:

    1、嘴巴張開距離占面部識(shí)別框?qū)挾鹊谋壤酱螅f(shuō)明情緒越激動(dòng),可能是非常開心,也可能是極度憤怒。

    2、眉毛上揚(yáng),17-21 或者 22-26 號(hào)特征點(diǎn)距離面部識(shí)別框頂部與識(shí)別框高度的比值越小,說(shuō)明眉毛上揚(yáng)越厲害,可表示驚訝、開心。眉毛的傾斜角度,開心時(shí)眉毛一般是上揚(yáng),憤怒時(shí)皺眉,同時(shí)眉毛下壓的比較厲害。

    3、瞇眼睛,人在開懷大笑的時(shí)候會(huì)不自覺(jué)的瞇起眼睛,憤怒或者驚訝的時(shí)候會(huì)瞪大眼睛。

    系統(tǒng)缺點(diǎn):不能捕捉細(xì)微表情的變化,只能大致的判斷出人的情緒,開心、憤怒、驚訝、自然。

    系統(tǒng)優(yōu)點(diǎn):結(jié)構(gòu)簡(jiǎn)單,易于上手。

    應(yīng)用領(lǐng)域:微笑抓拍,捕捉瞬間的美好、緩解兒童自閉癥、交互式游戲開發(fā)。

    由于人感情的復(fù)雜性,這些表情確實(shí)不能完完全全的代表一個(gè)人內(nèi)心深處的情緒波動(dòng),如要提高判斷的準(zhǔn)確性,則需要心率檢測(cè)、語(yǔ)音處理等綜合評(píng)價(jià)。

    二、開發(fā)環(huán)境搭建:

    1、安裝VS2015,因?yàn)樽钚掳娴膁lib-19.10需要這個(gè)版本的vscode

    2、安裝opencv(whl方式安裝):

    從pythonlibs下載需要的版本whl文件,比如(opencv_python?3.3.0+contrib?cp36?cp36m?win_amd64.whl)
    然后在本地使用pip install 安裝。 注意文件位置下安裝(如:C:downloadxxx.whl)

    3、安裝dlib(whl方式安裝):

    在這里下載dlib的各種版本的whl文件,然后在根目錄下打開cmd直接安裝即可。

    但是為了學(xué)習(xí)使用dlib中的各種python實(shí)例程序,還是需要下載一個(gè)dlib的壓縮包。

    直接訪問(wèn)dlib官網(wǎng)即可下載:http://dlib.net/ml.html

    dlib各種版本的whl文件:https://pypi.python.org/simple/dlib/

    4、如果想要使用人臉模型特征標(biāo)定的話,還需要一個(gè)人臉面部形狀預(yù)測(cè)器,這個(gè)可以通過(guò)自己的照片進(jìn)行訓(xùn)練,也可以使用dlib作者給出的一個(gè)訓(xùn)練好的預(yù)測(cè)器:

    點(diǎn)擊下載:http://dlib.net/files/shape_predictor_68_face_landmarks.dat.bz2

    三、實(shí)施思路

    四、具體步驟

    首先是利用dlib進(jìn)行人臉識(shí)別:)

    import cv2
    import dlib
    from skimage import io
    
    # 使用特征提取器get_frontal_face_detector
    detector = dlib.get_frontal_face_detector()
    # dlib的68點(diǎn)模型,使用作者訓(xùn)練好的特征預(yù)測(cè)器
    predictor = dlib.shape_predictor("shape_predictor_68_face_landmarks.dat")
    # 圖片所在路徑
    img = io.imread("2.jpg")
    # 生成dlib的圖像窗口
    win = dlib.image_window()
    win.clear_overlay()
    win.set_image(img)
    
    # 特征提取器的實(shí)例化
    dets = detector(img, 1)
    print("人臉數(shù):", len(dets))
    
    for k, d in enumerate(dets):
     print("第", k+1, "個(gè)人臉d的坐標(biāo):",
     "left:", d.left(),
     "right:", d.right(),
     "top:", d.top(),
     "bottom:", d.bottom())
    
     width = d.right() - d.left()
     heigth = d.bottom() - d.top()
    
     print('人臉面積為:',(width*heigth))

    然后實(shí)例化一個(gè) shape_predictor 對(duì)象,使用dlib作者訓(xùn)練好人臉特征檢測(cè)器,進(jìn)行人臉的特征點(diǎn)標(biāo)定。

    標(biāo)定的時(shí)候使用opencv的circle方法,在特征點(diǎn)的坐標(biāo)上面添加水印,內(nèi)容就是特征點(diǎn)的序號(hào)和位置。

     # 利用預(yù)測(cè)器預(yù)測(cè)
     shape = predictor(img, d)
     # 標(biāo)出68個(gè)點(diǎn)的位置
     for i in range(68):
     cv2.circle(img, (shape.part(i).x, shape.part(i).y), 4, (0, 255, 0), -1, 8)
     cv2.putText(img, str(i), (shape.part(i).x, shape.part(i).y), cv2.FONT_HERSHEY_SIMPLEX, 0.5, (255, 255, 255))
     # 顯示一下處理的圖片,然后銷毀窗口
     cv2.imshow('face', img)
     cv2.waitKey(0)

    到此,68個(gè)特征點(diǎn)的信息就獲取到了,下面就需要跟根據(jù)這個(gè)68個(gè)特征點(diǎn)的坐標(biāo)信息,進(jìn)行綜合 計(jì)算,作為每個(gè)表情的判斷指標(biāo)。

    根據(jù)上面說(shuō)到的我的判斷指標(biāo),先計(jì)算嘴巴的張開比例,由于人離攝像頭距離的遠(yuǎn)近,導(dǎo)致人臉識(shí)別框的大小不一,故選擇比例來(lái)作為判斷指標(biāo)。

    在選擇指標(biāo)的標(biāo)準(zhǔn)數(shù)值之前,先對(duì)多個(gè)開心的人臉照片進(jìn)行分析。計(jì)算開心時(shí)的嘴巴張卡比例的平均。

    下面是截取對(duì)人眉毛的數(shù)據(jù)處理方法,對(duì)左邊眉毛上面的5個(gè)特征點(diǎn)進(jìn)行線性擬合,擬合出一個(gè)一次函數(shù)直線,用擬合直線的斜率近似代表眉毛的傾斜程度。

    # 眉毛
     brow_sum = 0 # 高度之和
     frown_sum = 0 # 兩邊眉毛距離之和
     for j in range(17,21):
     brow_sum+= (shape.part(j).y - d.top()) + (shape.part(j+5).y- d.top())
     frown_sum+= shape.part(j+5).x - shape.part(j).x
     line_brow_x.append(shape.part(j).x)
     line_brow_y.append(shape.part(j).y)
    
     self.excel_brow_hight.append(round((brow_sum/10)/self.face_width,3))
     self.excel_brow_width.append(round((frown_sum/5)/self.face_width,3))
     brow_hight[0]+= (brow_sum/10)/self.face_width # 眉毛高度占比
     brow_width[0]+= (frown_sum/5)/self.face_width # 眉毛距離占比
    
     tempx = np.array(line_brow_x)
     tempy = np.array(line_brow_y)
     z1 = np.polyfit(tempx, tempy, 1) # 擬合成一次直線
     self.brow_k = -round(z1[0], 3) # 擬合出曲線的斜率和實(shí)際眉毛的傾斜方向是相反的

    我計(jì)算了25個(gè)人臉的開心表情的嘴巴張開比例、嘴巴寬度、眼睛張開程度、眉毛傾斜程度,導(dǎo)入excel表格生成折線圖:

    通過(guò)折線圖能很明顯的看出什么參數(shù)可以使用,什么參數(shù)的可信度不高,什么參數(shù)在那個(gè)范圍內(nèi)可以作為一個(gè)指標(biāo)。

    同樣的方法,計(jì)算人憤怒、驚訝、自然時(shí)的數(shù)據(jù)折線圖。

    通過(guò)對(duì)多個(gè)不同表情數(shù)據(jù)的分析,得出每個(gè)指標(biāo)的參考值,可以寫出簡(jiǎn)單的表情分類標(biāo)準(zhǔn):

    # 分情況討論
     # 張嘴,可能是開心或者驚訝
     if round(mouth_higth >= 0.03):
     if eye_hight >= 0.056:
     cv2.putText(im_rd, "amazing", (d.left(), d.bottom() + 20), cv2.FONT_HERSHEY_SIMPLEX, 0.8,
     (0, 0, 255), 2, 4)
     else:
     cv2.putText(im_rd, "happy", (d.left(), d.bottom() + 20), cv2.FONT_HERSHEY_SIMPLEX, 0.8,
     (0, 0, 255), 2, 4)
    
     # 沒(méi)有張嘴,可能是正常和生氣
     else:
     if self.brow_k <= -0.3:
     cv2.putText(im_rd, "angry", (d.left(), d.bottom() + 20), cv2.FONT_HERSHEY_SIMPLEX, 0.8,
     (0, 0, 255), 2, 4)
     else:
     cv2.putText(im_rd, "nature", (d.left(), d.bottom() + 20), cv2.FONT_HERSHEY_SIMPLEX, 0.8,
     (0, 0, 255), 2, 4)

    五、實(shí)際運(yùn)行效果:

    識(shí)別之后:

    聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

    文檔

    python3+dlib實(shí)現(xiàn)人臉識(shí)別和情緒分析

    python3+dlib實(shí)現(xiàn)人臉識(shí)別和情緒分析:本文通過(guò)具體代碼不步驟給大家詳細(xì)講述了python3+dlib實(shí)現(xiàn)人臉識(shí)別以及情緒分析的方法,有需要的朋友參考下。一、介紹我想做的是基于人臉識(shí)別的表情(情緒)分析。看到網(wǎng)上也是有很多的開源庫(kù)提供使用,為開發(fā)提供了很大的方便。我選擇目前用的比較多的dli
    推薦度:
    • 熱門焦點(diǎn)

    最新推薦

    猜你喜歡

    熱門推薦

    專題
    Top
    主站蜘蛛池模板: 国产精品自产拍高潮在线观看| 亚洲人精品午夜射精日韩| 2022国内精品免费福利视频| 国产美女精品视频| 国产精品久久亚洲不卡动漫| 四虎国产精品成人免费久久| 午夜精品免费在线观看| 2021精品国产综合久久| 久久狠狠高潮亚洲精品| 日韩精品欧美国产在线| 国产精品免费αv视频| 久久成人影院精品777| 国产精品久久久久天天影视| 国产内地精品毛片视频| 无码精品A∨在线观看中文| 四虎国产精品永久地址99新强| 免费视频成人国产精品网站| 国产高清在线精品一本大道国产| 亚洲精品亚洲人成在线观看下载| 精品国产麻豆免费人成网站| 精品无码一区二区三区爱欲| 亚洲国产精品无码久久青草| 国産精品久久久久久久| 国产精品无码v在线观看| 午夜精品射精入后重之免费观看 | 精品精品国产国产| 国产精品日韩AV在线播放| 欧美精品91欧美日韩操| 国产午夜精品久久久久九九电影| 精品国产一区二区三区不卡 | 87国产私拍福利精品视频| 久久精品国产精品青草| 日韩精品久久久久久| 91精品国产福利在线观看麻豆| 日韩精品久久无码中文字幕| 亚洲av无码精品网站| 精品国产欧美一区二区三区成人 | 国产精品久久久久国产A级| 亚洲精品一级无码中文字幕| 永久免费精品影视网站| 无码久久精品国产亚洲Av影片|