OpenCV 4.12.0
開源計算機視覺
載入中...
搜尋中...
無匹配項
級聯分類器用於物件檢測

詳細描述

下面描述的目標檢測器最初由 Paul Viola [288] 提出,並由 Rainer Lienhart [170] 改進。

首先,分類器(即一個使用 Haar 類似特徵的增強分類器級聯)使用幾百個特定目標的樣本檢視(例如,人臉或汽車)進行訓練,這些樣本檢視被縮放到相同大小(比如 20x20),以及負樣本 - 相同大小的任意影像。

分類器訓練完成後,可以將其應用於輸入影像中與訓練期間使用的大小相同的感興趣區域。如果該區域可能顯示物件(即,人臉/汽車),則分類器輸出“1”,否則輸出“0”。為了在整個影像中搜索物件,可以將搜尋視窗在影像上移動,並使用分類器檢查每個位置。分類器的設計使其可以輕鬆地“調整大小”,以便能夠找到不同大小的感興趣物件,這比調整影像本身的大小更有效。因此,為了在影像中找到未知大小的物件,應該在不同的尺度上多次執行掃描過程。

分類器名稱中的“級聯”一詞表示最終的分類器由幾個更簡單的分類器(階段)組成,這些分類器依次應用於感興趣的區域,直到在某個階段候選區域被拒絕或所有階段都已透過。“增強”一詞表示級聯的每個階段的分類器本身都很複雜,並且它們是使用四種不同的增強技術之一(加權投票)從基本分類器構建的。目前支援 Discrete Adaboost、Real Adaboost、Gentle Adaboost 和 Logitboost。基本分類器是至少有 2 個葉子的決策樹分類器。Haar 類似特徵是基本分類器的輸入,並按如下所述計算。當前演算法使用以下 Haar 類似特徵

image

特定分類器中使用的特徵由其形狀(1a、2b 等)、在感興趣區域內的位置和尺度(此尺度與檢測階段使用的尺度不同,儘管這兩個尺度相乘)指定。例如,在第三行特徵 (2c) 的情況下,響應計算為覆蓋整個特徵的矩形(包括兩個白色條紋和中間的黑色條紋)下的影像畫素之和與黑色條紋下的影像畫素之和乘以 3 之間的差,以便補償區域大小的差異。使用積分影像(參見下文和積分描述)可以快速計算矩形區域上畫素值的總和。

有關更多詳細資訊,請檢視相應的教程

以下參考僅適用於檢測部分。有一個單獨的應用程式稱為 opencv_traincascade,可以從一組樣本訓練增強分類器的級聯。

注意
在新 C++ 介面中,除了 Haar 類似特徵之外,還可以使用 LBP(區域性二值模式)特徵。 .. [Viola01] Paul Viola 和 Michael J. Jones。使用增強簡單特徵級聯的快速物件檢測。IEEE CVPR,2001。該論文可在網上獲取:https://github.com/SvHey/thesis/blob/master/Literature/ObjectDetection/violaJones_CVPR2001.pdf

類  cv::BaseCascadeClassifier
 
類  cv::CascadeClassifier
 用於物件檢測的級聯分類器類。 更多...
 
結構體  cv::DefaultDeleter< CvHaarClassifierCascade >
 
類  cv::DetectionBasedTracker
 

列舉

列舉  {
  cv::CASCADE_DO_CANNY_PRUNING = 1 ,
  cv::CASCADE_SCALE_IMAGE = 2 ,
  cv::CASCADE_FIND_BIGGEST_OBJECT = 4 ,
  cv::CASCADE_DO_ROUGH_SEARCH = 8
}
 

函式

Ptr< BaseCascadeClassifier::MaskGeneratorcv::createFaceDetectionMaskGenerator ()
 

列舉型別文件

◆ 匿名列舉

匿名列舉

#include <opencv2/objdetect.hpp>

列舉器
CASCADE_DO_CANNY_PRUNING 
Python:cv.CASCADE_DO_CANNY_PRUNING
CASCADE_SCALE_IMAGE 
Python:cv.CASCADE_SCALE_IMAGE
CASCADE_FIND_BIGGEST_OBJECT 
Python:cv.CASCADE_FIND_BIGGEST_OBJECT
CASCADE_DO_ROUGH_SEARCH 
Python:cv.CASCADE_DO_ROUGH_SEARCH

函式文件

◆ createFaceDetectionMaskGenerator()

Ptr< BaseCascadeClassifier::MaskGenerator > cv::createFaceDetectionMaskGenerator ( )