Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/153.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ DLIB:194个地标的训练形状预测(helen数据集)_C++_Feature Detection_Training Data_Dlib - Fatal编程技术网

C++ DLIB:194个地标的训练形状预测(helen数据集)

C++ DLIB:194个地标的训练形状预测(helen数据集),c++,feature-detection,training-data,dlib,C++,Feature Detection,Training Data,Dlib,我正在使用helen数据集对DLIB的shape\u预测器进行培训,该数据集用于通过DLIB库的face\u landmark\u detection\u ex.cpp检测面部标志 现在它给了我一个sp.dat二进制文件,大约45MB,这比68个面部标志的文件()要少。训练中 平均训练误差:0.0203811 平均测试误差:0.0204511 当我使用经过训练的数据来获取人脸标志点的位置时,我得到了 与68个地标的结果相差甚远 68地标图像: 为什么?好的,看起来你还没有读到评论(?):

我正在使用helen数据集对DLIB的shape\u预测器进行培训,该数据集用于通过DLIB库的
face\u landmark\u detection\u ex.cpp
检测面部标志

现在它给了我一个
sp.dat
二进制文件,大约45MB,这比68个面部标志的文件()要少。训练中

  • 平均训练误差:0.0203811
  • 平均测试误差:0.0204511
当我使用经过训练的数据来获取人脸标志点的位置时,我得到了

与68个地标的结果相差甚远

68地标图像:


为什么?

好的,看起来你还没有读到评论(?):


查看,ctrl-f字符串“parameter”,并有一个read…

编辑的链接,并添加了图像。我想你的问题是-为什么?你用什么参数训练集合?如果我记得有一些设置会让它训练更长更难…@Lamarlatell我正在训练300张图像用于训练,20张图像用于测试,我准备了
training_with_face_landmarks.xml
testing_with_face_landmarks.xml
文件,其中每个图像的位置都有一张194的脸指定了地标。@纳亚,你能分享你的194点数据库吗?是否有194点数据库的参考?谢谢。我增加了参数值,但现在显示运行时错误“分配错误”,这意味着新运算符无法为新变量分配内存。更大的树深度需要更多的内存。您好!你能确切地说我应该使用什么参数来提高精度吗?因为我已经用不同的参数(nu、tree\u depth、cascade\u depth)训练了几个预测器,我得到了几乎相同的结果(我得到的结果类似于TS结果)。任何额外的帮助都是有用的!
shape_predictor_trainer trainer;
// This algorithm has a bunch of parameters you can mess with.  The
// documentation for the shape_predictor_trainer explains all of them.
// You should also read Kazemi's paper which explains all the parameters
// in great detail.  However, here I'm just setting three of them
// differently than their default values.  I'm doing this because we
// have a very small dataset.  In particular, setting the oversampling
// to a high amount (300) effectively boosts the training set size, so
// that helps this example.
trainer.set_oversampling_amount(300);
// I'm also reducing the capacity of the model by explicitly increasing
// the regularization (making nu smaller) and by using trees with
// smaller depths.  
trainer.set_nu(0.05);
trainer.set_tree_depth(2);