dlib.face_recognition_model_v1('dlib_face_recognition_resnet_model_v1.dat')

獲取編碼的函數(shù):

def encodings(img,face_locations,pose_predictor,face_encoder):
predictors = [pose_predictor(img, face_location) for face_location in face_locations]
return [np.array(face_encoder.compute_face_descriptor(img, predictor, 1)) for predictor in predictors]

2、TensorFlow 模型

還有一個(gè)預(yù)先訓(xùn)練的 TensorFlow 模型,可用于提取圖像中人臉的編碼。兩種情況下使用的架構(gòu)相同,但損失函數(shù)和訓(xùn)練數(shù)據(jù)會(huì)發(fā)生變化。因此,從中返回的編碼向量將與之前的模型不同,但其大小為 128 維。

在這里,對(duì)于一個(gè)模型,我們只需要傳遞裁剪后的圖像,其中只有一張臉,因?yàn)樗鼤?huì)檢測(cè)圖像中的臉,它只需讀取圖像并將圖像傳遞到網(wǎng)絡(luò)中并返回一個(gè)向量,即人臉編碼。

為了處理上述情況,我們需要從圖像中裁剪人臉并將其傳遞到模型中。要檢測(cè)和裁剪圖像中的臉,請(qǐng)使用上一篇博客中討論的任何一種方法。

為了加載模型…

def load_model(modelpath):
detection_graph = tf.Graph()
with detection_graph.as_default():
od_graph_def = tf.GraphDef()
with tf.gfile.GFile(modelpath, 'rb') as fid:
serialized_graph = fid.read()
od_graph_def.ParseFromString(serialized_graph)
tf.import_graph_def(od_graph_def, name='')
return detection_graph

計(jì)算嵌入:

def get_embedding(graph,img):
input_array = preprocess_input_img(img)
with graph.as_default():
with tf.Session() as sess:
images_placeholder = tf.get_default_graph().get_tensor_by_name("input:0")
embeddings = tf.get_default_graph().get_tensor_by_name("embeddings:0")
phase_train_placeholder = tf.get_default_graph().get_tensor_by_name("phase_train:0")
embedding_size = embeddings.get_shape()[1]
feed_dict = {images_placeholder: input_array, phase_train_placeholder: False}
embeddings = sess.run(embeddings, feed_dict=feed_dict)
return embeddings

需要傳遞模型圖和圖像(如果需要,可以傳遞預(yù)處理圖像)。

我們還可以根據(jù)機(jī)器容量一次傳遞多個(gè)圖像,以設(shè)置批處理大小。

它在 CPU 和 GPU 上都運(yùn)行,而在 GPU 上運(yùn)行速度更快。

比較這些模型,與 TensorFlow 模型相比,Dlib 簡(jiǎn)單且在提取人臉嵌入的情況下復(fù)雜度較低。但在具有高計(jì)算能力的情況下,TF 模型表現(xiàn)良好。

3.相關(guān)API

人臉識(shí)別驗(yàn)證服務(wù)【SKYBIOMETRY】是一種高效、靈活的面部識(shí)別解決方案,能夠集成到各種應(yīng)用中。它支持面部檢測(cè)、面部識(shí)別和面部分組,適用于廣告、照片管理、安全認(rèn)證等多個(gè)領(lǐng)域。

人臉檢測(cè) API 能夠快速精準(zhǔn)地檢測(cè)圖片中的人臉,并及時(shí)返回人臉位置,同時(shí)還會(huì)輸出人臉關(guān)鍵點(diǎn)坐標(biāo),而且它具備強(qiáng)大的能力,支持對(duì)圖片中多張人臉進(jìn)行識(shí)別,可廣泛應(yīng)用于多種場(chǎng)景。

Facecheck人臉?biāo)阉?是一個(gè)調(diào)查搜索引擎,允許您使用面部照片搜索互聯(lián)網(wǎng)。搜索結(jié)果將向您顯示互聯(lián)網(wǎng)上的網(wǎng)頁(yè)鏈接,我們?cè)谶@些網(wǎng)頁(yè)中看到過(guò)這個(gè)人或看起來(lái)相似的人的面孔。

?人臉屬性 API 服務(wù),可對(duì)人臉的諸多屬性進(jìn)行精準(zhǔn)分析,涵蓋年齡、性別、頭部朝向、情緒、顏值以及視線(xiàn)等方面的屬性。其能夠提供詳細(xì)且準(zhǔn)確的人臉屬性信息,以便于在各種場(chǎng)景中實(shí)現(xiàn)多樣化的應(yīng)用與需求。

人臉對(duì)比 API 可通過(guò)人臉比對(duì)操作,來(lái)精準(zhǔn)判斷兩張人臉之間的相似程度,進(jìn)而深入分析這兩張人臉屬于同一個(gè)人的可能性,能在諸多場(chǎng)景中提供高效且準(zhǔn)確的人臉相似性判別服務(wù)。

原文鏈接:http://www.bimant.com/blog/extract-face-embeddings/

上一篇:

如何使用谷歌地圖經(jīng)緯度api(免費(fèi)版)查詢(xún)地點(diǎn)定位?

下一篇:

如何使用 Python 和 API 自動(dòng)抓取新聞
#你可能也喜歡這些API文章!

我們有何不同?

API服務(wù)商零注冊(cè)

多API并行試用

數(shù)據(jù)驅(qū)動(dòng)選型,提升決策效率

查看全部API→
??

熱門(mén)場(chǎng)景實(shí)測(cè),選對(duì)API

#AI文本生成大模型API

對(duì)比大模型API的內(nèi)容創(chuàng)意新穎性、情感共鳴力、商業(yè)轉(zhuǎn)化潛力

25個(gè)渠道
一鍵對(duì)比試用API 限時(shí)免費(fèi)

#AI深度推理大模型API

對(duì)比大模型API的邏輯推理準(zhǔn)確性、分析深度、可視化建議合理性

10個(gè)渠道
一鍵對(duì)比試用API 限時(shí)免費(fèi)