[我在机器学习和OpenCV方面是个新手]
以下是应用DLib面部landmark模型后得到的结果,即68个面部landmark,您可以在这里找到该模型 here.
在这个脚本中提到,模型是在iBUG 300-W面部landmark数据集上训练的。
现在,我想为手部landmark创建一个类似的模型。我在这里有一个手部数据集。
我不明白的是:
1. 我应该如何在这些位置上训练模型?我需要手动标记每张图片中的每个关节,还是有更优化的方法?
2. 在DLib的模型中,每个面部landmark位置都有一个特定的值,例如,右眉毛分别是22, 23, 24, 25, 26。这些值是在什么时候分配的?
3. 在DLib的形状预测器训练脚本上训练这些图像就足够了,还是我还需要在其他框架(如Tensorflow + Keras)上训练模型?
回答:
@的回答解答了一切。
- 标记必须手动完成。使用DLib,Imglab随源代码一起提供,可以通过CMake轻松构建。它允许:
- 用框进行标记
- 为对象(感兴趣的对象)标注/表示部分(特征)。例如:面部是一个对象,其特征/landmark位置是它的部分。
在我的研究过程中,我经常被推荐使用Amazon Mechanical Turk。
- 这些特征是在标记过程中被赋予这些值的。只要您在命名约定上保持一致,您可以发挥创意。
- 由于这里只需要训练landmark/特征点,DLib的预构建Shape Predictor Trainer在这里就足够了。Dlib的文档非常详细,因此遵循起来不会困难。
此外,您可能还需要一些好的手部数据集资源。以下是一些很好的建议:
希望这对其他人有帮助。