dlib 使用dlib_face_recognition_resnet_model_v1模型应该用哪个 net_type
时间: 2023-08-08 22:13:19 浏览: 46
dlib_face_recognition_resnet_model_v1 是一个基于 ResNet-34 模型架构的人脸识别模型。在 dlib 中,我们可以使用不同的 `net_type` 参数来定义不同的 ResNet 架构。在使用 dlib_face_recognition_resnet_model_v1 模型时,建议使用 `net_type = "resnet34"`,这与该模型的架构相对应。例如:
```
import dlib
# 加载人脸识别模型
facerec = dlib.face_recognition_model_v1("dlib_face_recognition_resnet_model_v1.dat")
# 加载 ResNet-34 模型
net = dlib.resnet34()
# 训练人脸识别模型
facerec.train(人脸图像列表, 标签列表, net)
```
相关问题
c++ dlib 使用dlib_face_recognition_resnet_model_v1模型应该用哪个 net_type
使用dlib_face_recognition_resnet_model_v1模型时,应该使用resnet模型中的`anet_type`。具体使用方法如下:
```c++
#include <dlib/dnn.h>
#include <dlib/image_processing/frontal_face_detector.h>
#include <dlib/image_processing.h>
#include <dlib/gui_widgets.h>
#include <iostream>
using namespace dlib;
using namespace std;
int main()
{
frontal_face_detector detector = get_frontal_face_detector();
shape_predictor sp;
deserialize("shape_predictor_68_face_landmarks.dat") >> sp;
anet_type net;
deserialize("dlib_face_recognition_resnet_model_v1.dat") >> net;
// 进行人脸识别
matrix<rgb_pixel> img;
load_image(img, "test.jpg");
std::vector<matrix<rgb_pixel>> faces;
auto dets = detector(img);
for (auto&& face : dets) {
auto shape = sp(img, face);
matrix<rgb_pixel> face_chip;
extract_image_chip(img, get_face_chip_details(shape, 150, 0.25), face_chip);
faces.push_back(move(face_chip));
}
std::vector<matrix<float,0,1>> face_descriptors = net(faces);
// 输出人脸描述子
for (auto&& face_descriptor : face_descriptors)
cout << face_descriptor << endl;
return 0;
}
```
在以上代码中,我们使用`anet_type`定义了一个变量`net`,并将`dlib_face_recognition_resnet_model_v1.dat`模型文件加载到了其中。然后,我们使用该模型进行人脸识别,并输出每个人脸的128维特征向量。
c++ dlib19 使用dlib_face_recognition_resnet_model_v1模型应该用哪个 net_type
使用dlib19库进行人脸识别时,可以使用dlib_face_recognition_resnet_model_v1模型,该模型已经在dlib库中内置。在使用该模型时,应该使用`anet_type`作为`net_type`,如下所示:
```c++
#include <dlib/dnn.h>
#include <dlib/image_processing/frontal_face_detector.h>
#include <dlib/image_processing.h>
#include <dlib/gui_widgets.h>
#include <iostream>
using namespace dlib;
using namespace std;
int main()
{
frontal_face_detector detector = get_frontal_face_detector();
shape_predictor sp;
deserialize("shape_predictor_68_face_landmarks.dat") >> sp;
anet_type net;
deserialize("dlib_face_recognition_resnet_model_v1.dat") >> net;
// 其他代码
return 0;
}
```
其中,`anet_type`是dlib库中自带的一种神经网络结构类型,用于加载`dlib_face_recognition_resnet_model_v1`模型。