国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

人臉檢測進(jìn)階:使用 dlib、OpenCV 和 Python 檢測面部標(biāo)記

這篇具有很好參考價值的文章主要介紹了人臉檢測進(jìn)階:使用 dlib、OpenCV 和 Python 檢測面部標(biāo)記。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

3、我們將看一些將面部標(biāo)記檢測應(yīng)用于圖像的結(jié)果。

什么是面部標(biāo)記?

===================================================================

人臉標(biāo)記點(diǎn)檢測是形狀預(yù)測問題的一個子集。給定一個輸入圖像(通常是一個指定感興趣對象的ROI),形狀預(yù)測器嘗試沿形狀定位感興趣的關(guān)鍵點(diǎn)。

在人臉標(biāo)記的背景下,我們的目標(biāo)是使用形狀預(yù)測方法檢測人臉上的重要人臉結(jié)構(gòu)。

因此,檢測面部標(biāo)記是一個兩步過程:

? 步驟1:在圖像中定位人臉。

? 步驟2:檢測人臉ROI上的關(guān)鍵面部結(jié)構(gòu)。

人臉檢測(步驟1)可以通過多種方式實(shí)現(xiàn)。

我們可以使用OpenCV內(nèi)置的Haar級聯(lián)。

我們可以將預(yù)先訓(xùn)練好的HOG+線性SVM對象檢測器專門用于人臉檢測任務(wù)。

或者我們甚至可以使用基于深度學(xué)習(xí)的算法進(jìn)行人臉定位。

無論哪種情況,用于檢測圖像中人臉的實(shí)際算法都無關(guān)緊要。相反,重要的是,通過某種方法,我們獲得了面邊界框(即,圖像中面的(x,y)-坐標(biāo))。

給定面部區(qū)域,我們可以應(yīng)用步驟2:檢測面部區(qū)域中的關(guān)鍵面部結(jié)構(gòu)。

有多種面部標(biāo)記檢測器,但所有方法基本上都試圖定位和標(biāo)記以下面部區(qū)域:

  • 右眉

  • 左眉

  • 右眼

  • 左眼

dlib庫中包含的面部標(biāo)記檢測器是Kazemi和Sullivan(2014)提出的一系列回歸樹的一毫秒面部校準(zhǔn)的實(shí)現(xiàn)。

此方法首先使用:

  • 圖像上標(biāo)記的面部標(biāo)記的訓(xùn)練集。這些圖像被手動標(biāo)記,指定每個面部結(jié)構(gòu)周圍區(qū)域的特定(x,y)坐標(biāo)。

  • 先驗(yàn),更具體地說,是輸入像素對之間距離的概率。

給定該訓(xùn)練數(shù)據(jù),訓(xùn)練回歸樹集合,以直接從像素強(qiáng)度本身估計(jì)面部標(biāo)記位置(即,不進(jìn)行“特征提取”)。

最終的結(jié)果是一個面部標(biāo)記檢測器,可用于實(shí)時檢測具有高質(zhì)量預(yù)測的面部標(biāo)記。

dlib的面部標(biāo)記檢測器

=======================================================================

dlib庫中預(yù)先訓(xùn)練的面部標(biāo)記檢測器用于估計(jì)映射到面部結(jié)構(gòu)的68(x,y)坐標(biāo)的位置。

68個坐標(biāo)的索引可在下圖中顯示:

人臉標(biāo)記任務(wù),2024年程序員學(xué)習(xí),opencv,python,人工智能

這些注釋是68點(diǎn)iBUG 300-W數(shù)據(jù)集的一部分,dlib面部標(biāo)記預(yù)測器是在該數(shù)據(jù)集上訓(xùn)練的。

值得注意的是,還有其他風(fēng)格的面部標(biāo)記檢測器,包括可以在HELEN數(shù)據(jù)集上訓(xùn)練的194點(diǎn)模型。

無論使用哪一個數(shù)據(jù)集,都可以利用相同的dlib框架在輸入訓(xùn)練數(shù)據(jù)上訓(xùn)練形狀預(yù)測器-如果您想訓(xùn)練面部標(biāo)記檢測器或自定義形狀預(yù)測器,這非常有用。

在這篇博文的剩余部分,我將演示如何在圖像中檢測這些面部標(biāo)記。

使用dlib、OpenCV和Python檢測面部標(biāo)記

=====================================================================================

這篇博文使用到了imutils庫face_utils.py中的兩個函數(shù)。

第一個實(shí)用函數(shù)是rect_to_bb,是“矩形到邊框”的縮寫:

def rect_to_bb(rect):

#獲取dlib預(yù)測的邊界并將其轉(zhuǎn)換

#按照我們通常使用的格式(x,y,w,h)

#使用OpenCV

x = rect.left()

y = rect.top()

w = rect.right() - x

h = rect.bottom() - y

返回一個元組 (x, y, w, h)

return (x, y, w, h)

此函數(shù)接受一個參數(shù)rect,該參數(shù)假定為dlib檢測器(即面部檢測器)生成的邊框矩形。

rect對象包括檢測的(x,y)-坐標(biāo)。

然而,在OpenCV中,我們通常認(rèn)為邊界框是“(x,y,width,height)”,因此為了方便起見,rect_to_bb函數(shù)將這個rect對象轉(zhuǎn)換為4元組坐標(biāo)。

第二,shape_to_np函數(shù):

def shape_to_np(shape, dtype=“int”):

#初始化(x,y)-坐標(biāo)列表

coords = np.zeros((68, 2), dtype=dtype)

#在68個面部標(biāo)記上循環(huán)并轉(zhuǎn)換它們

#到(x,y)-坐標(biāo)的2元組

for i in range(0, 68):

coords[i] = (shape.part(i).x, shape.part(i).y)

#返回(x,y)坐標(biāo)的列表

return coords

dlib面部標(biāo)記檢測器將返回一個包含面部標(biāo)記區(qū)域68(x,y)坐標(biāo)的形狀對象。

使用shape_to_np函數(shù),我們可以將這個對象轉(zhuǎn)換成一個NumPy數(shù)組。

有了這兩個輔助函數(shù),我們現(xiàn)在就可以檢測圖像中的面部標(biāo)記了。

圖像


打開一個新文件,將其命名為facial_landmarks.py,然后插入以下代碼:

import the necessary packages

from imutils import face_utils

import numpy as np

import argparse

import imutils

import dlib

import cv2

#構(gòu)造參數(shù)解析器并解析參數(shù)

ap = argparse.ArgumentParser()

ap.add_argument(“-p”, “–shape-predictor”, required=True,

help=“path to facial landmark predictor”)

ap.add_argument(“-i”, “–image”, required=True,

help=“path to input image”)

args = vars(ap.parse_args())

導(dǎo)入所需的Python包。

將使用imutils的face_utils子模塊訪問上面詳述的助手函數(shù)。

然后將導(dǎo)入dlib。

解析我們的命令行參數(shù):

–shape-predictor:這是通往dlib預(yù)先訓(xùn)練的面部標(biāo)記檢測器的路徑。你可以在這里下載檢測器模型,也可以使用本文的“下載”部分來獲取代碼+示例圖像+預(yù)先訓(xùn)練過的檢測器。

–image:我們要檢測面部標(biāo)記的輸入圖像的路徑。

既然我們的導(dǎo)入和命令行參數(shù)已經(jīng)處理完畢,讓我們初始化dlib的面部檢測器和面部標(biāo)記預(yù)測器:

初始化dlib的人臉檢測器(基于HOG)然后創(chuàng)建

面部標(biāo)記預(yù)測器

detector = dlib.get_frontal_face_detector()

predictor = dlib.shape_predictor(args[“shape_predictor”])

初始化dlib的預(yù)訓(xùn)練人臉檢測器,該檢測器基于對用于對象檢測的定向梯度標(biāo)準(zhǔn)直方圖+線性SVM方法的修改。

然后使用提供的shape_predictor的路徑加載面部標(biāo)記預(yù)測器。

但是,在我們能夠?qū)嶋H檢測面部標(biāo)記點(diǎn)之前,我們首先需要檢測輸入圖像中的面部:

加載輸入圖像,調(diào)整大小,并將其轉(zhuǎn)換為灰度

image = cv2.imread(args[“image”])

image = imutils.resize(image, width=500)

gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)

在灰度圖像中檢測人臉

rects = detector(gray, 1)

通過OpenCV從磁盤加載我們的輸入圖像,然后通過調(diào)整圖像大小使其具有500像素的寬度并將其轉(zhuǎn)換為灰度來預(yù)處理圖像。

處理檢測圖像中面的邊界框。

探測器的第一個參數(shù)是我們的灰度圖像(盡管這種方法也可以用于彩色圖像)。

第二個參數(shù)是在應(yīng)用檢測器之前放大圖像時要應(yīng)用的圖像金字塔層的數(shù)量(這相當(dāng)于在圖像上計(jì)算cv2.N次)。

在人臉檢測之前提高輸入圖像分辨率的好處是,它可能允許我們檢測圖像中的更多人臉-缺點(diǎn)是輸入圖像越大,檢測過程的計(jì)算成本就越高。

給定圖像中人臉的(x,y)-坐標(biāo),我們現(xiàn)在可以對每個人臉區(qū)域應(yīng)用人臉標(biāo)記檢測:

循環(huán)面部檢測

for (i, rect) in enumerate(rects):

確定面部區(qū)域的面部標(biāo)志,然后

自我介紹一下,小編13年上海交大畢業(yè),曾經(jīng)在小公司待過,也去過華為、OPPO等大廠,18年進(jìn)入阿里一直到現(xiàn)在。

深知大多數(shù)Python工程師,想要提升技能,往往是自己摸索成長或者是報(bào)班學(xué)習(xí),但對于培訓(xùn)機(jī)構(gòu)動則幾千的學(xué)費(fèi),著實(shí)壓力不小。自己不成體系的自學(xué)效果低效又漫長,而且極易碰到天花板技術(shù)停滯不前!

因此收集整理了一份《2024年P(guān)ython開發(fā)全套學(xué)習(xí)資料》,初衷也很簡單,就是希望能夠幫助到想自學(xué)提升又不知道該從何學(xué)起的朋友,同時減輕大家的負(fù)擔(dān)。
人臉標(biāo)記任務(wù),2024年程序員學(xué)習(xí),opencv,python,人工智能
人臉標(biāo)記任務(wù),2024年程序員學(xué)習(xí),opencv,python,人工智能
人臉標(biāo)記任務(wù),2024年程序員學(xué)習(xí),opencv,python,人工智能
人臉標(biāo)記任務(wù),2024年程序員學(xué)習(xí),opencv,python,人工智能
人臉標(biāo)記任務(wù),2024年程序員學(xué)習(xí),opencv,python,人工智能
人臉標(biāo)記任務(wù),2024年程序員學(xué)習(xí),opencv,python,人工智能

既有適合小白學(xué)習(xí)的零基礎(chǔ)資料,也有適合3年以上經(jīng)驗(yàn)的小伙伴深入學(xué)習(xí)提升的進(jìn)階課程,基本涵蓋了95%以上Python開發(fā)知識點(diǎn),真正體系化!

由于文件比較大,這里只是將部分目錄大綱截圖出來,每個節(jié)點(diǎn)里面都包含大廠面經(jīng)、學(xué)習(xí)筆記、源碼講義、實(shí)戰(zhàn)項(xiàng)目、講解視頻,并且后續(xù)會持續(xù)更新

如果你覺得這些內(nèi)容對你有幫助,可以添加V獲?。簐ip1024c (備注Python)
人臉標(biāo)記任務(wù),2024年程序員學(xué)習(xí),opencv,python,人工智能

0.png)
人臉標(biāo)記任務(wù),2024年程序員學(xué)習(xí),opencv,python,人工智能
人臉標(biāo)記任務(wù),2024年程序員學(xué)習(xí),opencv,python,人工智能

既有適合小白學(xué)習(xí)的零基礎(chǔ)資料,也有適合3年以上經(jīng)驗(yàn)的小伙伴深入學(xué)習(xí)提升的進(jìn)階課程,基本涵蓋了95%以上Python開發(fā)知識點(diǎn),真正體系化!

由于文件比較大,這里只是將部分目錄大綱截圖出來,每個節(jié)點(diǎn)里面都包含大廠面經(jīng)、學(xué)習(xí)筆記、源碼講義、實(shí)戰(zhàn)項(xiàng)目、講解視頻,并且后續(xù)會持續(xù)更新

如果你覺得這些內(nèi)容對你有幫助,可以添加V獲?。簐ip1024c (備注Python)
[外鏈圖片轉(zhuǎn)存中…(img-13Ozzt1z-1711821452906)]文章來源地址http://www.zghlxwxcb.cn/news/detail-849470.html

到了這里,關(guān)于人臉檢測進(jìn)階:使用 dlib、OpenCV 和 Python 檢測面部標(biāo)記的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 通過Dlib和opencv實(shí)現(xiàn)人臉識別和活體檢測

    通過Dlib和opencv實(shí)現(xiàn)人臉識別和活體檢測

    目錄 一、準(zhǔn)備工作 1.1 需要的庫 1.2準(zhǔn)備需要的文件和圖片 1.3?測試程序 二、人臉識別開發(fā) 2.1 錄入自己的人臉信息 2.2 提取錄入的人臉特征 2.3 實(shí)時捕獲人臉并進(jìn)行識別 三、活體檢測 3.1 眨眼檢測 3.2 張嘴檢測 3.3 搖頭檢測 下面這些是我突發(fā)奇想想做來玩玩,就在github上下載了

    2023年04月08日
    瀏覽(24)
  • OpenCV筆記整理【人臉檢測之Harr級聯(lián)分類器&&dlib庫】

    OpenCV筆記整理【人臉檢測之Harr級聯(lián)分類器&&dlib庫】

    1. 級聯(lián)分類器: OpenCV提供的級聯(lián)分類器有Harr、HOG、LBP這3種,這些分類器以XML文件保存,這里主要演示Harr檢測人臉(OpenCV提供的分類器不僅限于檢測人臉,還包括下表特征檢測,當(dāng)然OpenCV還支持訓(xùn)練自己的級聯(lián)分類器,這里不做說明。。。)。 2. 函數(shù)介紹: object = cv2.Casca

    2024年01月22日
    瀏覽(19)
  • 計(jì)算機(jī)視覺:使用dlib實(shí)現(xiàn)人臉檢測

    計(jì)算機(jī)視覺:使用dlib實(shí)現(xiàn)人臉檢測

    Dlib是一個廣泛使用的開源庫,在計(jì)算機(jī)視覺和機(jī)器學(xué)習(xí)領(lǐng)域具有重要影響。它是由Davis King在2002年開發(fā),主要用C++語言編寫,但也提供了Python接口。Dlib結(jié)合了高效的算法和易用性,使其成為學(xué)術(shù)界和工業(yè)界的熱門選擇。 多樣的機(jī)器學(xué)習(xí)算法:Dlib包含豐富的機(jī)器學(xué)習(xí)算法,如

    2024年04月28日
    瀏覽(25)
  • 基于Python+OpenCV+dlib+Tensorflow深度學(xué)習(xí)的人臉表情識別系統(tǒng)

    基于Python+OpenCV+dlib+Tensorflow深度學(xué)習(xí)的人臉表情識別系統(tǒng)

    歡迎大家點(diǎn)贊、收藏、關(guān)注、評論啦 ,由于篇幅有限,只展示了部分核心代碼。 ??人臉表情識別是一種重要的計(jì)算機(jī)視覺任務(wù),它涉及到對人臉圖像中的表情進(jìn)行分類和理解。在這個系統(tǒng)中,我們將使用Python、OpenCV、dlib和Tensorflow來實(shí)現(xiàn)深度學(xué)習(xí)模型,以識別人臉表情。

    2024年02月01日
    瀏覽(32)
  • 基于Python_opencv人臉錄入、識別系統(tǒng)(應(yīng)用dlib機(jī)器學(xué)習(xí)庫)

    基于Python_opencv人臉錄入、識別系統(tǒng)(應(yīng)用dlib機(jī)器學(xué)習(xí)庫)

    近幾年應(yīng)用opencv機(jī)器學(xué)習(xí)方法識別人臉的技術(shù)成為了熱潮,本人根據(jù)當(dāng)今的識別技術(shù)與方法,歷時四個多月開發(fā)出一套基于dlib機(jī)器學(xué)習(xí)庫的識別項(xiàng)目。希望大家能一起交流學(xué)習(xí)。 1、項(xiàng)目功能介紹 Tkinter 人臉錄入界面, 支持錄入時設(shè)置 (中文) 姓名; 調(diào)用攝像頭進(jìn)行人臉識別

    2024年02月08日
    瀏覽(24)
  • 畢業(yè)設(shè)計(jì):python人臉識別系統(tǒng) 實(shí)時檢測 深度學(xué)習(xí) Dlib庫 大數(shù)據(jù) 畢業(yè)設(shè)計(jì)(源碼)?

    畢業(yè)設(shè)計(jì):python人臉識別系統(tǒng) 實(shí)時檢測 深度學(xué)習(xí) Dlib庫 大數(shù)據(jù) 畢業(yè)設(shè)計(jì)(源碼)?

    ?? 大家好,今天給大家分享一個Python項(xiàng)目,感興趣的可以先收藏起來,點(diǎn)贊、關(guān)注不迷路! ?? 大家在畢設(shè)選題,項(xiàng)目以及論文編寫等相關(guān)問題都可以給我留言咨詢,希望幫助同學(xué)們順利畢業(yè)?。 技術(shù)棧: Python語言、pyqt5圖形界面、opencv、ResNet深度卷積神經(jīng)網(wǎng)絡(luò)、Dlib庫 系統(tǒng)

    2024年02月20日
    瀏覽(229)
  • 計(jì)算機(jī)畢業(yè)設(shè)計(jì):基于python人臉識別考勤系統(tǒng) OpenCV+Dlib(包含文檔+源碼+部署教程)

    計(jì)算機(jī)畢業(yè)設(shè)計(jì):基于python人臉識別考勤系統(tǒng) OpenCV+Dlib(包含文檔+源碼+部署教程)

    [畢業(yè)設(shè)計(jì)]2023-2024年最新最全計(jì)算機(jī)專業(yè)畢設(shè)選題推薦匯總 感興趣的可以先收藏起來,還有大家在畢設(shè)選題,項(xiàng)目以及論文編寫等相關(guān)問題都可以給我留言咨詢,希望幫助更多的人?。 Python語言、dlib、OpenCV、Pyqt5界面設(shè)計(jì)、sqlite3數(shù)據(jù)庫 方法實(shí)現(xiàn)、實(shí)現(xiàn)步驟 1、實(shí)例化人臉檢測

    2024年02月04日
    瀏覽(32)
  • 使用 OpenCV 進(jìn)行面部和眼睛檢測

    OpenCV是構(gòu)建計(jì)算機(jī)視覺應(yīng)用程序的強(qiáng)大工具。計(jì)算機(jī)視覺中最常見的任務(wù)之一是人臉檢測,它涉及識別圖像或視頻中人臉的存在、位置和面部特征。 在本文中,我們將學(xué)習(xí)如何使用 Haar 級聯(lián)分類器檢測圖像中的人臉。 先決條件 在開始之前,你需要在計(jì)算機(jī)上安裝 OpenCV。 參

    2024年02月09日
    瀏覽(27)
  • python人臉識別考勤系統(tǒng) dlib+OpenCV和Pyqt5、數(shù)據(jù)庫sqlite 人臉識別系統(tǒng) 計(jì)算機(jī) 畢業(yè)設(shè)計(jì) 源碼

    python人臉識別考勤系統(tǒng) dlib+OpenCV和Pyqt5、數(shù)據(jù)庫sqlite 人臉識別系統(tǒng) 計(jì)算機(jī) 畢業(yè)設(shè)計(jì) 源碼

    Python語言、dlib、OpenCV、Pyqt5界面設(shè)計(jì)、sqlite3數(shù)據(jù)庫 本系統(tǒng)使用dlib作為人臉識別工具,dlib提供一個方法可將人臉圖片數(shù)據(jù)映射到128維度的空間向量,如果兩張圖片來源于同一個人,那么兩個圖片所映射的空間向量距離就很近,否則就會很遠(yuǎn)。因此,可以通過提取圖片并映射到

    2024年02月08日
    瀏覽(23)
  • 人臉識別系統(tǒng)OpenCV+dlib+python(含數(shù)據(jù)庫)Pyqt5界面設(shè)計(jì) 項(xiàng)目源碼 畢業(yè)設(shè)計(jì)

    人臉識別系統(tǒng)OpenCV+dlib+python(含數(shù)據(jù)庫)Pyqt5界面設(shè)計(jì) 項(xiàng)目源碼 畢業(yè)設(shè)計(jì)

    Python語言、dlib、OpenCV、Pyqt5界面設(shè)計(jì)、sqlite3數(shù)據(jù)庫 ? ? ?本系統(tǒng)使用dlib作為人臉識別工具,dlib提供一個方法可將人臉圖片數(shù)據(jù)映射到128維度的空間向量,如果兩張圖片來源于同一個人,那么兩個圖片所映射的空間向量距離就很近,否則就會很遠(yuǎn)。因此,可以通過提取圖片并

    2024年02月05日
    瀏覽(19)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包