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