OpenCV 4.13.0
开源计算机视觉库 (Open Source Computer Vision)
正在加载...
正在搜索...
未找到匹配项
可变形部件模型

详细说明

具有判别性训练的基于部件的对象检测模型

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

P.F. Felzenszwalb 在 [92] 中提出的级联算法极大地加速了该检测器。该算法通过对部分假设的得分设置阈值来修剪它们。该算法的基本思想是使用通过原始模型部件的排序定义的模型层次结构。对于一个具有(n+1)个部件(包括根)的模型,会得到(n+1)个模型的序列。该序列中的第 i 个模型由原始模型中的前 i 个部件定义。使用这种层次结构,可以在查看部分部件的最佳配置后修剪低得分的假设。在弱模型下得分高的假设会使用更丰富的模型进行进一步评估。

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

类  cv::dpm::DPMDetector
 这是一个 C++ 抽象类,它提供了外部用户 API 来处理 DPM。 更多...