使用 194 点海伦数据集训练 DLib 形状预测器

train dlib shape predictor with 194 points helen dataset

本文关键字:DLib 预测器 海伦 数据集 使用      更新时间:2023-10-16

我在使用 dlib 库准备形状训练时遇到问题 (train_shape_predictor_ex.cpp(对于案例:

我正确安装了Visual studio并正确配置了dlib此外,我还有来自海伦数据库的 194 个点地标的 xml 文件(总共映射了大约 2300 张图像(。

默认情况下,dlib 解决方案基于与 68 个人脸特征点相关的人脸数据集,我根本不知道如何将限制从 68 扩展到 194。

当我尽力而为时,到目前为止我得到的是每张图像 68 个点数据集上的 194 个点......

通过逆向工程,我发现在 render_face_detections.h 文件中存在限制,但即使我将它们从 68 更改为 194,我仍然具有相同的输出,在分析的图像上仅显示 68 个地标点。

如果有任何提示如何解决这个问题,我将不胜感激 - 我知道这是一个简单的调整,但我无法弄清楚。

提前感谢,巴特克

也许是因为您不知道 194 个点的结构以及它们是如何被计算的。我建议像我一样只使用圆圈:

inline std::vector<image_window::overlay_circle> render_helen_face_detections (
        const std::vector<full_object_detection>& dets,
        const rgb_pixel color = rgb_pixel(0,255,0)
    )
    {
        std::vector<image_window::overlay_circle> circles;
        for (unsigned long i = 0; i < dets.size(); i++){
          const full_object_detection& d = dets[i];
          for (unsigned long p = 0; p < d.num_parts(); p++)
              circles.push_back(image_window::overlay_circle(d.part(p), 1, color));
        }
        return circles;
    }