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

Posted

技术标签:

【中文标题】C++ 中的 compute_face_descriptor() 替代方案【英文标题】:compute_face_descriptor() alternative in C++ 【发布时间】:2018-02-06 09:14:03 【问题描述】:

在dlib 的python API 中有一个名为compute_face_descriptor() 的函数,但我在C++ API 中找不到任何替代方法。

如何在 C++ 中创建替代方案?

【问题讨论】:

【参考方案1】:

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]

【讨论】:

【参考方案2】:

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

因此,您所要做的就是将该代码带入您的项目中。它在 BOOST 许可下获得许可,这很简单。

【讨论】:

【参考方案3】:

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

【讨论】:

哪段代码是compute_face_descriptor()的确切替换?

以上是关于C++ 中的 compute_face_descriptor() 替代方案的主要内容,如果未能解决你的问题,请参考以下文章

使用 c# 中的 c++ 引用中的引用从 C# 错误调用 C++ 代码

Visual C++ 中的 C++ 代码库打开错误

C++:mwArray 作为 C++ 类中的变量

C++ 如何在 C++ 中覆盖文本文件中的数据?

C# 中的非托管 C++ 类

如何从 c++ 的方面(方面 c++)释放或删除函数中的分配对象?