前端人臉識別 兩張臉相似度

2021-09-11 06:32:49 字數 3187 閱讀 5716

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)

預設情況下,detectallfacesdetectsingleface使用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人臉檢索。可用於使用者身份識別 身份驗證相關場景。一般人臉搜尋的步驟 給定一批人臉及標籤。對給定的人臉預先進行批量建模。對於後續新增或刪除的人臉可以進...