OpenCV 4.11.0
开源计算机视觉
加载中…
搜索中…
无匹配项
基于可变形部件的模型

详细描述

用于目标检测的判别式训练部件模型

下面描述的目标检测器最初由P.F. Felzenszwalb在[89]中提出。它基于Dalal-Triggs检测器,该检测器使用定向梯度直方图(HOG)特征上的单个滤波器来表示目标类别。该检测器使用滑动窗口方法,其中滤波器应用于图像的所有位置和尺度。第一个创新是使用由“根”滤波器(类似于Dalal-Triggs滤波器)加上一组部件滤波器和相关的变形模型定义的星形结构部件模型来丰富Dalal-Triggs模型。图像中特定位置和尺度下其中一个星形模型的分数是给定位置处根滤波器的分数加上部件分数的总和,该分数是该部件放置的最大值,即部件滤波器在其位置上的分数减去测量该部件相对于根的理想位置偏差的变形成本。根和部件滤波器分数都由滤波器(一组权重)与从输入图像计算出的特征金字塔的子窗口之间的点积定义。另一个改进是用星形模型的混合物来表示模型类别。混合模型在特定位置和尺度下的分数是在给定位置处该分量模型分数的最大值。

该检测器通过P.F. Felzenszwalb在[88]中提出的级联算法得到了显著的加速。该算法使用其分数上的阈值来修剪部分假设。该算法的基本思想是使用由原始模型部件的排序定义的模型层次结构。对于包含根的(n+1)个部件的模型,可以获得(n+1)个模型序列。此序列中的第i个模型由原始模型的前i个部件定义。使用此层次结构,可以在查看部件子集的最佳配置后修剪低分假设。在弱模型下得分高的假设将使用更丰富的模型进行进一步评估。

OpenCV中有一个DPM级联检测器的C++实现。

类  cv::dpm::DPMDetector
 这是一个C++抽象类,它为使用DPM提供了外部用户API。更多…