减少 dlib 地标文件大小

Reduce dlib landmarks file size

在使用新的 Dlib library for Android 时,我注意到要检测人脸,您需要将地标点 DAT 文件加载到您的项目中。主要问题是 "shape_predictor_68_face_landmarks.dat" 文件大小为 98MB。打开 Android 摄像头检测人脸时加载速度极慢。

我已经看过这个SO Question类似的案例,但我根本不明白答案。

有什么方法可以减小文件大小吗?谢谢

形状预测器训练模式文件大小取决于点模型训练参数的数量。现有模型的大小为 98 MB,并提供最先进的面部点检测精度。 所以你有三种主要的方法来解决这个问题:

  1. 一些 compression/quantization... 这将改变现有模型。我不会在这里提供帮助 - 在您提到的问题中有一些答案
  2. 使用不同的模型训练参数。现有模型使用 dlib 包中 "train_shape_predictor_ex" 示例中提供的代码进行训练,但训练参数略有不同。简单 运行 这个示例与示例文件夹中的图像一样将为您提供大小为 15 MB 的模型。是的,这个模型会不太准确,但这是它体积小的代价
  3. 使用更少的地标。为此 - 使用相同的 "train_shape_predictor_ex" 示例,但从 training/testing 数据集
  4. 中删除一些地标