圖像識別之人臉特徵提取

2020-12-03 桔子的算法之路

最近做了人臉識別相關的項目,其中人臉處理庫dlib還是挺簡單容易的,今天就簡單展示下具體用法,很簡單哈~~~

我們先看下幾個主要的人臉相關的模型:

mmod_human_face_detector.dat:人臉檢測器模型

shape_predictor_68_face_landmarks.dat:68維人臉關鍵點檢測模型

dlib_face_recognition_resnet_model_1.data:人臉特徵提取模型

(1)人臉檢測

detector = dlib.cnn_face_detection_model_v1('mmod_human_face_detector.dat')

dets = detector(img_c, 1)

for t, d in enumerate(dets):

cv2.rectangle(img_c, (d.rect.left(), d.rect.top()), (d.rect.right(), d.rect.bottom()), (0, 0, 255), 2)

人臉檢測

(2)人臉關鍵點檢測

predictor_68 = dlib.shape_predictor("./shape_predictor_68_face_landmarks.dat")

dets = detector(img_c, 1)

for t, d in enumerate(dets):

rec = dlib.rectangle(d.rect.left(),d.rect.top(),d.rect.right(),d.rect.bottom())

key_points = predictor_68(img_c, rec)

for pt in key_points.parts():

pt_pos = (pt.x, pt.y)

cv2.circle(img_c, pt_pos, 2, (0, 255, 0), 1)

人臉關鍵點

(3)人臉特徵

facerec = dlib.face_recognition_model_v1("./dlib_face_recognition_resnet_model_v1.data")

for t, d in enumerate(dets):

rec = dlib.rectangle(d.rect.left(),d.rect.top(),d.rect.right(),d.rect.bottom())

key_points = predictor_68(img_c, rec)

face_descriptor = facerec.compute_face_descriptor(img_c, key_points)

face_feature = np.array(face_descriptor).reshape((1, 128)).tolist()[0]

128維人臉特徵

上述就是人臉特徵提取的三個主要流程,後續要做匹配、識別就可以基於這個128維特徵進行建模了,挺簡單的吧~~~(●''●)

性能方面可以對圖像進行灰度化、縮放等操作來進行加速哈

相關焦點

  • 前端-純前端實現人臉識別-提取-合成
    來源:雅X共賞 http://refined-x.com/2017/09/06/純前端實現人臉識別-提取-合成/最近火爆朋友圈的軍裝照H5大家一定還記憶猶新,其原理是先提取出照片中的面部,然後與模板進行合成,官方的合成處理據說由天天P圖提供技術支持,後端合成後返回給前端展示,形式很新穎效果也非常好,整個流程涉及的人臉識別和圖像合成兩項核心技術在前端都有對應的解決方案
  • 圖像之LBP特徵描述算子-人臉檢測
    2.1 簡介LBP指局部二值模式(Local Binary Pattern),是一種用來描述圖像局部特徵的算子,具有灰度不和旋轉不變性等顯著優點。LBP常應用於人臉識別和目標檢測中,在OpenCV中有使用LBP特徵進行人臉識別的接口,也有用LBP特徵訓練目標檢測分類器的方法,OpenCV實現了LBP特徵的計算,但沒有提供一個單獨的計算LBP特徵的接口。
  • 實現人臉識別無感通行密鑰:圖像質量檢測算法
    >我們知道當圖像質量越差,那麼人臉識別的準確率就越低。如果可以將人臉圖像進行標準化評估,去除低質量圖片,將篩選後質量符合標準的圖像才送往下一個流程中,那麼識別效率將大大提升。這就是實現人臉識別無感通行的一項重要技術——圖像質量檢測算法(FQ),《從零學習人臉識別》系列公開課第六期就對該算法進行了詳細介紹。
  • 實現人臉識別無感通行的密鑰:圖像質量檢測算法
    造成這一差距,除了算法自身魯棒性和性能之外,由於模糊、遮擋、大角度、逆光暗光等複雜環境引起的人臉圖像質量問題也會導致人臉識別準確率過低,需要多次重複識別才能成功,從而整體耗時被大大拉長。我們知道當圖像質量越差,那麼人臉識別的準確率就越低。如果可以將人臉圖像進行標準化評估,去除低質量圖片,將篩選後質量符合標準的圖像才送往下一個流程中,那麼識別效率將大大提升。
  • 實現人臉識別無感通行的密鑰:圖像質量檢測算法
    如果可以將人臉圖像進行標準化評估,去除低質量圖片,將篩選後質量符合標準的圖像才送往下一個流程中,那麼識別效率將大大提升。這就是實現人臉識別無感通行的一項重要技術——圖像質量檢測算法(FQ),《從零學習人臉識別》系列公開課第六期就對該算法進行了詳細介紹。
  • 探秘人臉識別技術
    人臉識別系統將提取的人臉圖像的特徵數據與資料庫中存儲的特徵模板進行搜索匹配,通過設定一個閾值,當相似度超過這一閾值,則把匹配得到的結果輸出。將待識別的人臉特徵與已得到的人臉特徵模板進行比較,根據相似程度對人臉的身份信息進行判斷。
  • 2D與3D人臉識別詳解
    傳統人臉識別 傳統人臉識別主要採用數學方法,從圖像矩陣中提取對應的特徵,該特徵一般為尺度不變特徵,常用的算法有SURF、SIFT、HARRIS、GFTT等。2.3.特徵提取 特徵提取階段是人臉識別最重要的階段,這個階段設計的網絡模型的好壞直接決定了人臉識別準確率的高低。2D的人臉數據只有RGB,2D人臉特徵提取的方法就很多了,傳統算法有SURF、SIFT等,基於神經網絡的有Inception、VGG、ResNet、Inception-ResNet等。基於CNN神經網絡的特徵提取模型是目前的主流。
  • 什麼是人臉識別?
    人臉識別過程始於人臉檢測,然後進行特徵提取,比較和最後的匹配。人臉識別的第一步是在預定條件下並在規定的時間段內收集身體或行為樣本。用於識別和定位圖像和視頻中的人臉,可以裁剪檢測到的面部圖像以獲得稱為規範圖像的特徵圖像。在規範的人臉圖像中,人臉的大小和位置大約被標準化為預定義的值,並且背景區域被最小化。同樣,相對於圖庫或參考資料庫中的圖像,圖像必須在大小、姿勢、照明等方面進行標準化。為此,必須準確地定位面部標誌,否則將無法使整個識別任務成功。
  • 使用Python+OpenCV+Dlib實現人臉檢測與人臉特徵關鍵點識別
    今天,我們將學習如何檢測圖像中的人臉並提取面部特徵,如眼睛、鼻子、嘴巴等。我們可以將這些信息作為一個預處理步驟來完成,例如捕捉照片中人物的人臉(手動或通過機器學習),創建效果來「增強」我們的圖像(類似於Snapchat等應用程式中的效果),對人臉進行情感分析等等。
  • 深度學習之視頻人臉識別系列三:人臉表徵
    一、人臉表徵把人臉圖像通過神經網絡,得到一個特定維數的特徵向量,該向量可以很好地表徵人臉數據,使得不同人臉的兩個特徵向量距離儘可能大,同一張人臉的兩個特徵向量儘可能小,這樣就可以通過特徵向量來進行人臉識別。
  • 人臉識別基本方式及常見問題解決之道
    1人臉識別基本方式  人臉識別技術是基於人的臉部特徵,對輸入的人臉圖像或者視頻流,根據具體的面貌特徵信息進行判斷。並與資料庫中的人臉進行對比,從而達到識別每個人身份的目的。  人臉識別基本方式  人臉識別的方法很多,以下介紹一些主要的人臉識別方法。
  • 人臉識別技術原理與工程實踐(10個月人臉識別領域實戰總結)
    我們來看一下計算機人臉識別的流程,首先是獲取輸入圖像,然後檢測圖像中是否有人臉,人臉的具體位置,然後判斷圖像的質量,比如圖像是否模糊,光照度是否足夠,然後檢測人臉偏轉的角度,旋轉人臉到一個正臉位置,再然後提取人臉特徵,比對人臉特徵,最後輸出識別結果。其中圖像質量檢測和人臉對齊這兩步是可選的步驟,根據具體應用場景來決定。
  • 【新智元乾貨】計算機視覺必讀:目標跟蹤、圖像分類、人臉識別等
    基本思路 使用CNN從圖像中提取圖像特徵,用RNN從文字問題中提取文本特徵,之後設法融合視覺和文本特徵,最後通過全連接層進行分類。該任務的關鍵是如何融合這兩個模態的特徵。直接的融合方案是將視覺和文本特徵拼成一個向量、或者讓視覺和文本特徵向量逐元素相加或相乘。注意力機制 和「看圖說話」相似,使用注意力機制也會提升視覺問答的性能。
  • CSIG 圖像圖形學科前沿講習班,曠視和中科院帶來生物特徵識別精彩...
    之後引入了學習的方法,但由於當時計算能力很弱,這種方法下的自然圖像識別效果並不好。再然後就有了 Feature based 的方法,首先提取圖像的各種特徵進行量化,最後再做一個分類器進行識別或者特徵提取。這個方法對於識別性能的提升並不高,優化很困難,所以並不被當時的研究者看好。
  • 人臉識別系統
    它廣泛採用區域特徵分析算法,融合了計算機圖像處理技術與生物統計學原理於一體,利用計算機圖像處理技術從視頻中提取人像特徵點,利用生物統計學的原理進行分析建立數學模型,具有廣闊的發展前景。2006年,美國已經要求和它有出入境籤證協議的國家在10月26日之前必須使用結合了人臉識別的電子護照系統,到 2006年底已經有50多個國家實現了這樣的系統。2012年4月,鐵路部門宣布車站安檢區域將安裝用於身份識別的高科技安檢系統人臉識別系統;可以對人臉明暗偵測,自動調整動態曝光補償, 人臉追蹤偵測,自動調整影像放大。
  • 什麼是SeetaFace開源人臉識別引擎?
    SeetaFace人臉識別引擎包括了搭建一套全自動人臉識別系統所需的三個核心模塊,即:人臉檢測模塊(SeetaFace Detection)、面部特徵點定位模塊(SeetaFace Alignment)以及人臉特徵提取與比對模塊 (SeetaFace Identification)。
  • 人臉和圖像識別為什麼越來越重要
    隨著人臉和圖像識別技術支持的人工智慧的興起,描繪罪犯素描的時代早已一去不復返了。今天,使用面部識別或驗證一個人身份的過程使調查變得容易得多。由面部檢測技術支持的工具和平臺基於人的面部細節捕獲、分析和比較模式。由於這一過程是在圖像和視頻中檢測和定位人臉的一個重要步驟,因此該技術除了犯罪調查之外,還改變了多個領域。
  • 生物特徵識別技術實現原理與前景分析
    指紋識別主要就是利用這些細節點特徵實現的。  指紋識別主要包括指紋增強、特徵提取和指紋匹配三個過程。  1、指紋增強:在指紋採集過程中,由於各種原因,採集到的指紋圖像不可避免的引入了一些噪聲,如果直接用於指紋識別,往往難以達到較好的效果。我們可以通過一定的圖像增強技術,改善指紋圖像質量。
  • 硬核科普:一文看懂人臉識別技術流程
    這裡面我們要著重講的是模式識別,它是一個獨立的理論體系,具體到計算機視覺領域的應用,它表示將計算機表示出來的圖像和一致的類別進行匹配的過程。有點懂是吧。IT之家為大家通俗解釋一下,所謂「識別」,就是先認識,然後辨別。認識什麼?認識的是圖像和從圖像中總結的目標物體的特徵。怎麼辨別?就是將總結出來的特徵和自己已經掌握的特徵庫進行比對,然後才能實現辨別。
  • 萬維識別:化妝了能過人臉識別系統嗎?
    人臉檢測會把人臉的大小,器官的位置,顴骨位置等等有用的信息挑出來,並且利用這些特徵實現檢測。對檢測完成的人臉圖像進行降噪(去幹擾)處理。預處理完的圖像,系統會自動識別面部特徵,並提取這些特徵數據進行建模。最後將人臉特徵數據和資料庫中存儲的特徵模板進行搜索匹配,當相似度達到一定值時,則可以把匹配得到的結果進行輸出。