face-api.js 傳送門:
**傳送門, 安裝即用, 順手點star, 一天好心情, 例子基於face-api.js
可以clone下我的例子**, 比對參考是images資料夾下的reference.jpg
獲取face-api.js:npm i face-api.js
node-gyp: windows使用者安裝辦法
tensorflow.js node.js windows故障排查
安裝完包之後, 需要根據你所需要的功能載入適當的model, 人臉檢測乙個model, 表情識別乙個model, 人臉識別乙個model, 如果你沒有提前載入model直接使用api的話會有下面示例**類似提示
uncaught (in promise) error: facelandmark68net - load model before inference
// 這就意味著沒有載入facelandmark model
那麼如何載入model呢, 如下**
await faceapi.
loadtinyfacedetectormodel
('model位址'
)// 等價於
await faceapi.nets.tinyfacedetector.
load
('model位址'
)
全部的model可以在倉庫找到: /tree/master/weights 你可以把他們放到自己的靜態伺服器裡
const detections =
await faceapi.
detectallfaces
(input)
檢測影象中具有最高置信度分數的面部
const detection =
await faceapi.
detectsingleface
(input)
預設情況下,detectallfaces
和detectsingleface
使用ssd mobilenet v1
人臉檢測器。您可以通過傳遞相應的選項物件來指定面部檢測器
// 我測試的時候使用的是`tinyfacedetector`, 因此可以
const detections =
await faceapi.
detectallfaces
(input,
newfaceapi.tinyfacedetectoroptions()
)
在面部檢測之後,我們還可以**每個檢測到的面部的面部標誌,如下所示:
const detectionswithlandmarks =
await faceapi.
detectallfaces
(input)
.withfacelandmarks()
// 或者
const detectionwithlandmarks =
await faceapi.
detectsingleface
(input)
.withfacelandmarks
()
note: 一定要按照博文所寫的順序來呼叫函式
在面部檢測和面部標誌**之後,可以計算每個面部的面部描述符:
const results =
await faceapi.
detectallfaces
(input)
.withfacelandmarks()
.withfacedescriptors()
// 或者
const result =
await faceapi.
detectsingleface
(input)
.withfacelandmarks()
.withfacedescriptor
()
要執行面部識別,可以使用faceapi.facematcher
將參考面部描述符與查詢面部描述符進行比較
}此處主要通過臉部特徵向量來計算euclidean distance(歐氏距離), 因此如預覽圖所示_distance越小, 說明兩張臉越匹配, 這個閾值可以設定為0.4, 0.4以下為匹配成功, 以上則失敗.
const dist = faceapi.
euclideandistance([
0,0]
,[0,
10])console.
log(dist)
// 10
tips: euclidean distance(歐氏距離)定義: 是乙個通常採用的距離定義,它是在m維空間中兩個點之間的真實距離.在二維空間中的歐氏距離就是兩點之間的直線段距離. 二維空間的歐氏距離公式d = sqrt(( x1-x2)^2 + (y1-y2)^2 )
三維空間的歐氏距離公式d = sqrt( (x1-x2)^2+(y1-y2)^2+(z1-z2)^2 )
男人婚前婚後的兩張臉
在平時的婚姻諮詢中經常聽到很多當事人在哭訴,談戀愛時,老公對自己可以說百依百順,只要不開心會想方設法讓自己歡心,也會傾盡心思讓兩人的愛情充滿激情愉悅,最終讓自己做出抉擇,即使家人和朋友建議再考驗一段時間,但沉浸這份愛的滋潤中讓自己難以自拔,擔心因為自己的粗心讓屬於自己的幸福輕易溜掉,但在兩人真正牽手...
兩張軟盤linux
1.格式化軟盤 fdformat dev fd0 2.作檔案系統 mkfs t ext2 dev fd0 3.在 mnt下建立目錄floppy mkdir floppy 4.掛載軟碟機 mount t ext2 dev fd0 mnt floppy 把linux 0.11 devel 040329資...
人臉識別9 人臉搜尋 概述
給定一張 與指定人臉庫中的n個人臉進行比對,找出最相似的一張臉或多張人臉。根據待識別人臉與現有人臉庫中的人臉匹配程度,返回使用者資訊和匹配度,即1 n人臉檢索。可用於使用者身份識別 身份驗證相關場景。一般人臉搜尋的步驟 給定一批人臉及標籤。對給定的人臉預先進行批量建模。對於後續新增或刪除的人臉可以進...