色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

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

如何用最快的速度學(xué)會(huì)Dlib人臉識(shí)別開(kāi)發(fā)?

WpOh_rgznai100 ? 來(lái)源:YXQ ? 2019-06-13 11:50 ? 次閱讀

Dlib是一個(gè)深度學(xué)習(xí)開(kāi)源工具,基于C++開(kāi)發(fā),也支持Python開(kāi)發(fā)接口,功能類似于TensorFlow與PyTorch。但是由于Dlib對(duì)于人臉特征提取支持很好,有很多訓(xùn)練好的人臉特征提取模型供開(kāi)發(fā)者使用,所以Dlib人臉識(shí)別開(kāi)發(fā)很適合做人臉項(xiàng)目開(kāi)發(fā)。

上面所說(shuō)的人臉識(shí)別開(kāi)發(fā),主要是指人臉驗(yàn)證,就是輸入兩張人臉照片,系統(tǒng)會(huì)對(duì)比輸出0或者1,代表判斷是否是同一個(gè)人。一般的人臉識(shí)別開(kāi)發(fā)可以簡(jiǎn)單分為1.人臉特征建模與2.使用人臉特征模型進(jìn)行驗(yàn)證(其實(shí)還應(yīng)包括人臉對(duì)齊等,這些也可以劃分到1中)。使用Dlib進(jìn)行開(kāi)發(fā)時(shí),我們直接可以使用訓(xùn)練好的人臉特征提取模型,主要的工作就變成了如何進(jìn)行人臉的驗(yàn)證。

人臉的驗(yàn)證其實(shí)就是計(jì)算相似度,同一個(gè)人的相似度就會(huì)大,不同的人就會(huì)比較小。可以采用余弦相似度或者歐式距離來(lái)計(jì)算相似度。其中余弦相似度就是計(jì)算角度,歐式距離就是指平方差。都可以用來(lái)表示兩個(gè)特征的相似度(距離)。

2.環(huán)境搭建

安裝可以參考我的這篇博客:[深度學(xué)習(xí)工具]·極簡(jiǎn)安裝Dlib人臉識(shí)別庫(kù),下面說(shuō)一下需要注意的點(diǎn)::

此博文針對(duì)Windows10安裝,其他平臺(tái)可以仿照這個(gè)步驟來(lái)安裝

安裝Miniconda

使用conda指令來(lái)安裝Dlib庫(kù),使用Miniconda與Anaconda都可以,我習(xí)慣用Miniconda,簡(jiǎn)單占用內(nèi)存小。

推薦使用清華源,下載安裝,選擇合適的平臺(tái)版本。python==3.6

安裝dlib

注意一定要以管理員身份進(jìn)入CMD,執(zhí)行(如果是Linux Mac 就使用 sudo)

conda install -c conda-forge dlib

需要imageio 庫(kù),可以使用下述命令安裝

conda install imageio

3.開(kāi)發(fā)實(shí)戰(zhàn)

1.實(shí)現(xiàn)人臉檢測(cè)標(biāo)記

face_test.pyimport dlibfrom imageio import imreadimport globdetector = dlib.get_frontal_face_detector()win = dlib.image_window()path = “f1.jpg”img = imread(path)dets = detector(img)print(‘檢測(cè)到了 %d 個(gè)人臉’ % len(dets))for i, d in enumerate(dets):print(‘- %d:Left %d Top %d Right %d Bottom %d’ % (i, d.left(), d.top(), d.right(), d.bottom()))win.clear_overlay()win.set_image(img)win.add_overlay(dets)dlib.hit_enter_to_continue()

代碼很簡(jiǎn)單,通過(guò)imread讀取照片,然后進(jìn)行檢測(cè),輸出結(jié)果為dets的list,有幾張人臉就會(huì)有幾個(gè)item, 每個(gè)item都有.left(), .top(), .right(), .bottom()四個(gè)元素,代表人臉框的四個(gè)邊界位置。最后通過(guò)win.add_overlay(dets)可以將標(biāo)記的框顯示在原圖上。

原始照片

輸出照片

其實(shí)我們就可以使用這個(gè)功能做一個(gè)簡(jiǎn)單的應(yīng)用,用來(lái)檢測(cè)圖片或者視頻中人臉的個(gè)數(shù)。

2.人臉特征點(diǎn)提取

在實(shí)戰(zhàn)1的基礎(chǔ)上添加人臉特征提取功能。

import dlibfrom imageio import imreadimport globdetector = dlib.get_frontal_face_detector()win = dlib.image_window()predictor_path = ‘shape_predictor_68_face_landmarks.dat’predictor = dlib.shape_predictor(predictor_path)path = “f2.jpg”img = imread(path)dets = detector(img)print(‘檢測(cè)到了 %d 個(gè)人臉’ % len(dets))for i, d in enumerate(dets):print(‘- %d: Left %d Top %d Right %d Bottom %d’ % (i, d.left(), d.top(), d.right(), d.bottom()))shape = predictor(img, d) # 第 0 個(gè)點(diǎn)和第 1 個(gè)點(diǎn)的坐標(biāo)print(‘Part 0: {}, Part 1: {}’.format(shape.part(0), shape.part(1)))win.clear_overlay()win.set_image(img)win.add_overlay(dets)win.add_overlay(shape)dlib.hit_enter_to_continue()

這段代碼就是在test.py基礎(chǔ)上加入了shape_predictor功能,使之可以在檢測(cè)出人臉基礎(chǔ)上,找到人臉的68個(gè)特征點(diǎn)。反映在圖中就是藍(lán)色的線。

原始圖片

輸出圖片

注意運(yùn)行這段代碼需要這個(gè)文件predictor_path = ‘shape_predictor_68_face_landmarks.dat’,我會(huì)放在我的github中,方便大家下載使用。

3.人臉識(shí)別驗(yàn)證

在第二步的基礎(chǔ)上,我們?cè)龠M(jìn)一步,實(shí)現(xiàn)將人臉提取為特征向量,從而我們就可以對(duì)特征向量進(jìn)行比對(duì)來(lái)實(shí)現(xiàn)人臉的驗(yàn)證,這里采用的是對(duì)比歐式距離的方法。

face_recognition.pyimport dlibfrom imageio import imreadimport globimport numpy as npdetector = dlib.get_frontal_face_detector()predictor_path = ‘shape_predictor_68_face_landmarks.dat’predictor = dlib.shape_predictor(predictor_path)face_rec_model_path = ‘dlib_face_recognition_resnet_model_v1.dat’facerec = dlib.face_recognition_model_v1(face_rec_model_path)def get_feature(path):img = imread(path)dets = detector(img)print(‘檢測(cè)到了 %d 個(gè)人臉’ % len(dets))# 這里假設(shè)每張圖只有一個(gè)人臉shape = predictor(img, dets[0])face_vector = facerec.compute_face_descriptor(img, shape)return(face_vector)def distance(a,b):a,b = np.array(a), np.array(b)sub = np.sum((a-b)**2)add = (np.sum(a**2)+np.sum(b**2))/2.return sub/addpath_lists1 = [“f1.jpg”,“f2.jpg”]path_lists2 = [“趙麗穎照片.jpg”,“趙麗穎測(cè)試.jpg”]feature_lists1 = [get_feature(path) for path in path_lists1]feature_lists2 = [get_feature(path) for path in path_lists2]print(“feature 1 shape”,feature_lists1[0].shape)out1 = distance(feature_lists1[0],feature_lists1[1])out2 = distance(feature_lists2[0],feature_lists2[1])print(“diff distance is”,out1)print(“same distance is”,out2)out1 = distance(feature_lists1[0],feature_lists1[1])out2 = distance(feature_lists2[0],feature_lists2[1])

輸出結(jié)果

檢測(cè)到了 1 個(gè)人臉檢測(cè)到了 1 個(gè)人臉檢測(cè)到了 1 個(gè)人臉檢測(cè)到了 1 個(gè)人臉feature 1 shape (128, 1)diff distance is 0.254767715912same distance is 0.0620976363391

我們可以看出,每張人臉都被提取為了128維的向量,我們可以理解為128維的坐標(biāo)(xyz是三維,128維就是有128個(gè)軸組成),我們下面需要做的就是計(jì)算兩個(gè)特征的距離,設(shè)定好合適的閾值,小于這個(gè)閾值則識(shí)別為同一個(gè)人。代碼正確運(yùn)行需要這個(gè)文件face_rec_model_path = ‘dlib_face_recognition_resnet_model_v1.dat’,我已經(jīng)放在自己的github(https://github.com/xiaosongshine/dlib_face_recognition)中,方便大家使用。

我們從上面測(cè)試的結(jié)果可以看出,不同的距離為0.25,同一個(gè)人為0.06,閾值就可以先設(shè)置為其間的一個(gè)值。我這里先設(shè)置為0.09,這個(gè)閾值也是需要大量數(shù)據(jù)來(lái)計(jì)算的,選擇的準(zhǔn)則為使錯(cuò)誤識(shí)別為最低。

下面我們把閾值設(shè)置為0.09,來(lái)測(cè)試系統(tǒng)能否區(qū)分出不同的人:在face_recognition.py加入下面代碼

def classifier(a,b,t = 0.09):if(distance(a,b)《=t): ret = Trueelse : ret = Falsereturn(ret)print(“f1 is 趙麗穎”,classifier(feature_lists1[0],feature_lists2[1]))print(“f2 is 趙麗穎”,classifier(feature_lists1[1],feature_lists2[1]))print(“趙麗穎照片.jpg is 趙麗穎測(cè)試.jpg”,classifier(feature_lists2[0],feature_lists2[1]))

輸出結(jié)果

f1 is 趙麗穎 Falsef2 is 趙麗穎 False趙麗穎照片.jpg is 趙麗穎測(cè)試.jpg True

從上面可以看出,已基本滿足對(duì)人臉區(qū)分的功能,如果如要實(shí)用化則需要繼續(xù)調(diào)優(yōu)閾值與代碼,調(diào)優(yōu)的準(zhǔn)則就是選擇合適的閾值使錯(cuò)誤識(shí)別為最低。

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

    關(guān)注

    76

    文章

    4012

    瀏覽量

    81975
  • 深度學(xué)習(xí)
    +關(guān)注

    關(guān)注

    73

    文章

    5504

    瀏覽量

    121246

原文標(biāo)題:實(shí)戰(zhàn) | 如何用最快的速度學(xué)會(huì)Dlib人臉識(shí)別開(kāi)發(fā)?

文章出處:【微信號(hào):rgznai100,微信公眾號(hào):rgznai100】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    Firefly 百度人臉識(shí)別開(kāi)發(fā)套件

    `Firefly推出了百度人臉識(shí)別套件,基于Firefly高性能主板,融合百度AI精準(zhǔn)的離線人臉識(shí)別技術(shù),集算法與軟硬件為一體的開(kāi)發(fā)平臺(tái)。僅
    發(fā)表于 07-25 10:19

    【百度人臉識(shí)別開(kāi)發(fā)套件】開(kāi)放人臉識(shí)別APP及SDK,加速二次開(kāi)發(fā)進(jìn)程

    百度人臉識(shí)別套件是集算法與軟硬件為一體的一站式開(kāi)發(fā)套件,目前人臉識(shí)別APP及SDK已開(kāi)放,助力企業(yè)二次開(kāi)
    發(fā)表于 08-10 15:31

    請(qǐng)問(wèn)君正X1830人臉識(shí)別開(kāi)發(fā)板上的雙攝像頭是什么型號(hào)?

    `請(qǐng)問(wèn)君正X1830人臉識(shí)別開(kāi)發(fā)板上的雙攝像頭是什么型號(hào)?`
    發(fā)表于 05-29 16:11

    請(qǐng)問(wèn)x1830人臉識(shí)別開(kāi)發(fā)板,開(kāi)機(jī)偶爾會(huì)停留在開(kāi)機(jī)頁(yè)面,顯示logo不進(jìn)入系統(tǒng),而且使用半小時(shí)后越用越卡是什么原因?

    `請(qǐng)問(wèn)x1830人臉識(shí)別開(kāi)發(fā)板,開(kāi)機(jī)偶爾會(huì)停留在開(kāi)機(jī)頁(yè)面,顯示logo不進(jìn)入系統(tǒng),而且使用半小時(shí)后越用越卡是什么原因?`
    發(fā)表于 05-29 17:24

    使用君正x1830人臉識(shí)別開(kāi)發(fā)板做條碼識(shí)別,如何選擇sdk?

    使用君正x1830人臉識(shí)別開(kāi)發(fā)板做條碼識(shí)別,如何選擇sdk?還有音頻播放怎么使用?
    發(fā)表于 06-01 09:41

    瘋殼AI語(yǔ)音及人臉識(shí)別開(kāi)發(fā)實(shí)戰(zhàn) Ⅰ 快速上手

    瘋殼AI語(yǔ)音及人臉識(shí)別開(kāi)發(fā)實(shí)戰(zhàn) Ⅰ 快速上手
    發(fā)表于 11-05 16:32

    在x2000人臉識(shí)別開(kāi)發(fā)套件上,要使用板載的芯片和環(huán)境,應(yīng)該用什么方式登陸系統(tǒng)?

    在x2000人臉識(shí)別開(kāi)發(fā)套件上,要使用板載的芯片和環(huán)境,應(yīng)該用什么方式登陸系統(tǒng)?
    發(fā)表于 12-17 15:15

    X2000人臉識(shí)別開(kāi)發(fā)套件,編譯完怎么安裝進(jìn)設(shè)備中?

    X2000人臉識(shí)別開(kāi)發(fā)套件,編譯完怎么安裝進(jìn)設(shè)備中?
    發(fā)表于 12-17 15:17

    何用40行代碼實(shí)現(xiàn)人臉識(shí)別

    Dlib里面有人臉檢測(cè)器,有訓(xùn)練好的人臉關(guān)鍵點(diǎn)檢測(cè)器,也有訓(xùn)練好的人臉識(shí)別模型。
    的頭像 發(fā)表于 07-15 09:16 ?4792次閱讀

    人臉識(shí)別開(kāi)始應(yīng)用在更多領(lǐng)域

    人臉識(shí)別開(kāi)始應(yīng)用在更多領(lǐng)域
    發(fā)表于 03-22 11:06 ?1701次閱讀

    firefly百度人臉識(shí)別開(kāi)發(fā)套件介紹

    集百度人臉識(shí)別算法與軟硬件為一體的人臉識(shí)別套件,可接入單目攝像頭、雙目攝像頭、結(jié)構(gòu)光攝像頭,能快速實(shí)現(xiàn)活體識(shí)別
    的頭像 發(fā)表于 11-05 15:37 ?2322次閱讀
    firefly百度<b class='flag-5'>人臉</b><b class='flag-5'>識(shí)別開(kāi)發(fā)</b>套件介紹

    人臉表情識(shí)別技術(shù)是怎樣的

    對(duì)于人臉表情的進(jìn)行識(shí)別,在娛樂(lè)、人機(jī)等領(lǐng)域中帶來(lái)更多的人臉識(shí)別開(kāi)發(fā)應(yīng)用。
    發(fā)表于 04-22 10:47 ?2527次閱讀

    人臉追蹤、雙目活體對(duì)齊……系統(tǒng)梳理人臉識(shí)別開(kāi)發(fā)的硬核技巧

    識(shí)別算法在實(shí)際部署中存在一些編程開(kāi)發(fā)策略,能對(duì)識(shí)別效果和識(shí)別速度產(chǎn)生顯著影響。虹軟視覺(jué)開(kāi)放平臺(tái)推出的從零學(xué)習(xí)
    的頭像 發(fā)表于 10-16 11:43 ?1383次閱讀

    音諾恒科技人臉識(shí)別開(kāi)發(fā)套件

    人臉識(shí)別開(kāi)發(fā)套件是一款集攝像頭、開(kāi)發(fā)板、高清屏幕、SDK為一體的人臉套件,以幫助產(chǎn)品商、開(kāi)發(fā)者加速軟硬件方案驗(yàn)證及選型,縮短產(chǎn)品
    的頭像 發(fā)表于 04-24 15:05 ?660次閱讀
    音諾恒科技<b class='flag-5'>人臉</b><b class='flag-5'>識(shí)別開(kāi)發(fā)</b>套件

    音諾恒科技人臉識(shí)別開(kāi)發(fā)套件

    音諾恒科技人臉識(shí)別開(kāi)發(fā)套件是一款集攝像頭、開(kāi)發(fā)板、高清屏幕、SDK為一體的人臉套件,以幫助產(chǎn)品商、開(kāi)發(fā)者加速軟硬件方案驗(yàn)證及選型,縮短產(chǎn)品
    的頭像 發(fā)表于 10-14 17:23 ?883次閱讀
    音諾恒科技<b class='flag-5'>人臉</b><b class='flag-5'>識(shí)別開(kāi)發(fā)</b>套件
    主站蜘蛛池模板: 国产精品久久久久久久久免费下载| 日本精油按摩| 老板吻我下身好爽到高潮| 欧美在线看费视频在线| 午夜福利在线观看6080| 战狼4在线观看完免费完整版| 苍井空小公主qvod| 精品欧美小视频在线观看| 欧美精品九九99久久在观看| 香蕉eeww99国产精选播放| 97ganmeizi| 国产久久精品热99看| 蜜臀AV中文字幕熟女人妻| 性美国人xxxxx18| adc高清在线观看| 好大好硬好爽好深好硬视频| 欧美尤物射精集锦| 夜夜躁日日躁狠狠| 俄罗斯性xxxx| 狼好色有你好看| 香艳69xxxxx有声小说| 99久久热视频只有精品| 嗨嗨快播电影| 日日夜夜影院在线播放| 中文字幕绝色少妇性| 国产精品丰满人妻AV麻豆| 免费国产成人高清在线看软件| 午夜一级视频| 办公室丝袜老师在线观看| 精品久久日日躁夜夜躁AV| 色老汉网址导航| 999www成人免费视频| 狠狠撩色姣姣综合久久| 色姐妹久久综合在线av| 中国女人内谢69XXXXXA片| 国产精品无码AV天天爽人妻蜜桃 | 国产99久久九九精品无码不卡| 老师我好爽再深一点老师好涨| 亚洲 日韩 在线 国产 精品| 耻辱の奴隷淑女中文字幕| 伦理片 a在线线版韩国|