OpenCV 4.12.0
开源计算机视觉
加载中...
搜索中...
无匹配项
可变形部件模型

详细描述

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

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

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

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

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