dlib形状预测器模型的参数

时间:2019-01-01 13:08:32

标签: python computer-vision training-data dlib

我在自定义数据上训练了dlib形状预测器模型(使用train_shape_predictor.py文件)。结果,我得到了.dat文件。现在,我有一个图像,其中包含在其上训练了dlib预测模型的对象。我将如何使用该预测模型来预测输入图像中的形状? 我看到的是Dlib shape prediction documentation,其中提到dlib形状预测变量接受两个参数:

  1. 图片
  2. 一个盒子(Dlib矩形)

在我的情况下,现在这些参数是什么,因为我只有一张图像(包含一个对象,它将通过训练后的模型进行预测)?

在这方面的任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:0)

如文件所述:

  • image是一个numpy ndarray,包含8位灰度或RGB 图片。 ->在此处传递图片
  • box是开始在其中进行形状预测的边界框。 ->如果您已经有了对象的边界框(例如,图像中人脸的位置),请在此处传递它。

典型的应用是:

<div style="margin:0 auto; width:1000px;">
<form class="form-inline my-2 my-lg-0">
            <input class="form-control mr-sm-2" type="search" placeholder="Search" aria-label="Search">
            <button class="btn btn-outline-success my-2 my-sm-0" type="submit">Search</button>
        </form>
        </div>

答案 1 :(得分:0)

您可以使用任何对象检测器来查找边界框。正如Quang所说,对于dlib是正确的。

您也可以使用OpenCV的检测器。但是,请记住,dlib的矩形四坐标和OpenCV矩形表示形式是不同的。

从Opencv获取边界框后,执行此操作。

d_rect = dlib.rectangle(left= o_rect[0] , top=o_rect[1], right=o_rect[2], bottom=o_rect[3])

其中o_rect是OpenCV矩形。

相关问题