compute_face_descriptor() 在 C++ 中的替代方案

compute_face_descriptor() alternative in C++

在 python API 的 dlib there is a function called compute_face_descriptor() 中,但我在 C++ 中找不到任何替代方案 API。

如何在 C++ 中创建它的替代品?

快速浏览 dlib 的源代码后发现该函数是在 tools/python/src/face_recognition.cpp.

中实现的

所以您所要做的就是将该代码引入您的项目。它在 BOOST 许可下获得许可,使其变得简单。

dlib 附带的 C++ 示例程序展示了如何执行此操作:http://dlib.net/dnn_face_recognition_ex.cpp.html

compute_face_descriptor() 来自 dlib.face_recognition_model_v1(face_recognition_model)

face_recognition_model 包含 dlib_face_recognition_resnet_model_v1.dat

看这里https://github.com/ageitgey/face_recognition_models/blob/master/face_recognition_models/init.py

face_recognition_model = face_recognition_models.face_recognition_model_location()
face_encoder = dlib.face_recognition_model_v1(face_recognition_model)

.....

def face_encodings(face_image, known_face_locations=None, num_jitters=1):
    raw_landmarks = _raw_face_landmarks(face_image, known_face_locations, model="small")
    return [np.array(face_encoder.compute_face_descriptor(face_image, raw_landmark_set, num_jitters)) for raw_landmark_set in raw_landmarks]