OpenCV  4.10.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。 更多...