|
|
| BackgroundSubtractorPAWCS (float fRelLBSPThreshold=BGSPAWCS_DEFAULT_LBSP_REL_SIMILARITY_THRESHOLD, size_t nDescDistThresholdOffset=BGSPAWCS_DEFAULT_DESC_DIST_THRESHOLD_OFFSET, size_t nMinColorDistThreshold=BGSPAWCS_DEFAULT_MIN_COLOR_DIST_THRESHOLD, size_t nMaxNbWords=BGSPAWCS_DEFAULT_MAX_NB_WORDS, size_t nSamplesForMovingAvgs=BGSPAWCS_DEFAULT_N_SAMPLES_FOR_MV_AVGS) |
| | full constructor
|
| |
|
virtual | ~BackgroundSubtractorPAWCS () |
| | default destructor
|
| |
|
virtual void | initialize (const cv::Mat &oInitImg, const cv::Mat &oROI) |
| | (re)initiaization method; needs to be called before starting background subtraction
|
| |
|
virtual void | refreshModel (size_t nBaseOccCount, float fOccDecrFrac, bool bForceFGUpdate=false) |
| | refreshes all local (+ global) dictionaries based on the last analyzed frame
|
| |
|
virtual void | apply (cv::InputArray image, cv::OutputArray fgmask, double learningRateOverride=0) |
| | primary model update function; the learning param is used to override the internal learning speed (ignored when <= 0)
|
| |
|
virtual void | apply (cv::InputArray image, cv::OutputArray fgmask, cv::OutputArray _featureMap, cv::OutputArray _reliabilityMap, cv::OutputArray _foregroundRaw, double learningRateOverride=0) |
| |
|
virtual void | getBackgroundImage (cv::OutputArray backgroundImage) const |
| | returns a copy of the latest reconstructed background image
|
| |
|
virtual void | getBackgroundDescriptorsImage (cv::OutputArray backgroundDescImage) const |
| | returns a copy of the latest reconstructed background descriptors image
|
| |
|
| BackgroundSubtractorLBSP (float fRelLBSPThreshold, size_t nLBSPThresholdOffset=0) |
| | full constructor
|
| |
|
virtual | ~BackgroundSubtractorLBSP () |
| | default destructor
|
| |
|
virtual void | initialize (const cv::Mat &oInitImg) |
| | (re)initiaization method; needs to be called before starting background subtraction
|
| |
|
virtual cv::Mat | getROICopy () const |
| | returns a copy of the ROI used for descriptor extraction
|
| |
|
virtual void | setROI (cv::Mat &oROI) |
| | sets the ROI to be used for descriptor extraction (note: this function will reinit the model and return the usable ROI)
|
| |
|
void | setAutomaticModelReset (bool) |
| | turns automatic model reset on or off
|
| |
|
|
const size_t | m_nMinColorDistThreshold |
| | absolute minimal color distance threshold ('R' or 'radius' in the original ViBe paper, used as the default/initial 'R(x)' value here)
|
| |
|
const size_t | m_nDescDistThresholdOffset |
| | absolute descriptor distance threshold offset
|
| |
|
size_t | m_nMaxLocalWords |
| | max/curr number of local words used to build background submodels (for a single pixel, similar to 'N' in ViBe/PBAS, may vary based on img/channel size)
|
| |
|
size_t | m_nCurrLocalWords |
| |
|
size_t | m_nMaxGlobalWords |
| | max/curr number of global words used to build the global background model (may vary based on img/channel size)
|
| |
|
size_t | m_nCurrGlobalWords |
| |
|
const size_t | m_nSamplesForMovingAvgs |
| | number of samples to use to compute the learning rate of moving averages
|
| |
|
float | m_fLastNonFlatRegionRatio |
| | last calculated non-flat region ratio
|
| |
|
int | m_nMedianBlurKernelSize |
| | current kernel size for median blur post-proc filtering
|
| |
|
cv::Size | m_oDownSampledFrameSize_MotionAnalysis |
| | specifies the downsampled frame size used for cam motion analysis & gword lookup maps
|
| |
|
cv::Size | m_oDownSampledFrameSize_GlobalWordLookup |
| |
|
cv::Mat | m_oDownSampledROI_MotionAnalysis |
| | downsampled version of the ROI used for cam motion analysis
|
| |
|
size_t | m_nDownSampledROIPxCount |
| | total pixel count for the downsampled ROIs
|
| |
|
size_t | m_nLocalWordWeightOffset |
| | current local word weight offset
|
| |
|
LocalWordBase ** | m_apLocalWordDict |
| | word lists & dictionaries
|
| |
|
LocalWord_1ch * | m_aLocalWordList_1ch |
| |
|
LocalWord_1ch * | m_pLocalWordListIter_1ch |
| |
|
LocalWord_3ch * | m_aLocalWordList_3ch |
| |
|
LocalWord_3ch * | m_pLocalWordListIter_3ch |
| |
|
GlobalWordBase ** | m_apGlobalWordDict |
| |
|
GlobalWord_1ch * | m_aGlobalWordList_1ch |
| |
|
GlobalWord_1ch * | m_pGlobalWordListIter_1ch |
| |
|
GlobalWord_3ch * | m_aGlobalWordList_3ch |
| |
|
GlobalWord_3ch * | m_pGlobalWordListIter_3ch |
| |
|
PxInfo_PAWCS * | m_aPxInfoLUT_PAWCS |
| |
|
cv::Mat | m_oIllumUpdtRegionMask |
| | a lookup map used to keep track of regions where illumination recently changed
|
| |
|
cv::Mat | m_oUpdateRateFrame |
| | per-pixel update rates ('T(x)' in PBAS, which contains pixel-level 'sigmas', as referred to in ViBe)
|
| |
|
cv::Mat | m_oDistThresholdFrame |
| | per-pixel distance thresholds (equivalent to 'R(x)' in PBAS, but used as a relative value to determine both intensity and descriptor variation thresholds)
|
| |
|
cv::Mat | m_oDistThresholdVariationFrame |
| | per-pixel distance threshold variation modulators ('v(x)', relative value used to modulate 'R(x)' and 'T(x)' variations)
|
| |
|
cv::Mat | m_oMeanMinDistFrame_LT |
| | per-pixel mean minimal distances from the model ('D_min(x)' in PBAS, used to control variation magnitude and direction of 'T(x)' and 'R(x)')
|
| |
|
cv::Mat | m_oMeanMinDistFrame_ST |
| |
|
cv::Mat | m_oMeanDownSampledLastDistFrame_LT |
| | per-pixel mean downsampled distances between consecutive frames (used to analyze camera movement and force global model resets automatically)
|
| |
|
cv::Mat | m_oMeanDownSampledLastDistFrame_ST |
| |
|
cv::Mat | m_oMeanRawSegmResFrame_LT |
| | per-pixel mean raw segmentation results (used to detect unstable segmentation regions)
|
| |
|
cv::Mat | m_oMeanRawSegmResFrame_ST |
| |
|
cv::Mat | m_oMeanFinalSegmResFrame_LT |
| | per-pixel mean raw segmentation results (used to detect unstable segmentation regions)
|
| |
|
cv::Mat | m_oMeanFinalSegmResFrame_ST |
| |
|
cv::Mat | m_oUnstableRegionMask |
| | a lookup map used to keep track of unstable regions (based on segm. noise & local dist. thresholds)
|
| |
|
cv::Mat | m_oBlinksFrame |
| | per-pixel blink detection map ('Z(x)')
|
| |
|
cv::Mat | m_oDownSampledFrame_MotionAnalysis |
| | pre-allocated matrix used to downsample the input frame when needed
|
| |
|
cv::Mat | m_oLastRawFGMask |
| | the foreground mask generated by the method at [t-1] (without post-proc, used for blinking px detection)
|
| |
|
cv::Mat | m_oFGMask_PreFlood |
| | pre-allocated CV_8UC1 matrices used to speed up morph ops
|
| |
|
cv::Mat | m_oFGMask_FloodedHoles |
| |
|
cv::Mat | m_oLastFGMask_dilated |
| |
|
cv::Mat | m_oLastFGMask_dilated_inverted |
| |
|
cv::Mat | m_oCurrRawFGBlinkMask |
| |
|
cv::Mat | m_oLastRawFGBlinkMask |
| |
|
cv::Mat | m_oTempGlobalWordWeightDiffFactor |
| |
|
cv::Mat | m_oMorphExStructElement |
| |
|
cv::Mat | featureMap |
| | Features and reliability Maps.
|
| |
|
cv::Mat | reliabilityMap |
| |
|
cv::Mat | foregroundRaw |
| |
|
cv::Mat | reliabilityMap2 |
| |
|
cv::Mat | featureMap3 |
| |
|
cv::Mat | reliabilityMap3 |
| |
|
ReliabilityBg | reliabilityBg |
| |
|
float | feature1 |
| |
|
float | reliability1 |
| |
|
float | feature2a |
| |
|
float | reliability2a |
| |
|
float | feature2b |
| |
|
float | reliability2b |
| |
|
float | feature3 |
| |
|
float | reliability3 |
| |
|
float | minScale |
| |
|
float | maxScale |
| |
|
float | threshold |
| |
|
float | scaleFactor |
| |
|
cv::Mat | m_oROI |
| | background model ROI used for LBSP descriptor extraction (specific to the input image size)
|
| |
|
cv::Size | m_oImgSize |
| | input image size
|
| |
|
size_t | m_nImgChannels |
| | input image channel size
|
| |
|
int | m_nImgType |
| | input image type
|
| |
|
const size_t | m_nLBSPThresholdOffset |
| | LBSP internal threshold offset value, used to reduce texture noise in dark regions.
|
| |
|
const float | m_fRelLBSPThreshold |
| | LBSP relative internal threshold (kept here since we don't keep an LBSP object)
|
| |
|
size_t | m_nTotPxCount |
| | total number of pixels (depends on the input frame size) & total number of relevant pixels
|
| |
|
size_t | m_nTotRelevantPxCount |
| |
|
size_t | m_nFrameIndex |
| | current frame index, frame count since last model reset & model reset cooldown counters
|
| |
|
size_t | m_nFramesSinceLastReset |
| |
|
size_t | m_nModelResetCooldown |
| |
|
size_t | m_anLBSPThreshold_8bitLUT [UCHAR_MAX+1] |
| | pre-allocated internal LBSP threshold values LUT for all possible 8-bit intensities
|
| |
|
size_t * | m_aPxIdxLUT |
| | internal pixel index LUT for all relevant analysis regions (based on the provided ROI)
|
| |
|
PxInfoBase * | m_aPxInfoLUT |
| | internal pixel info LUT for all possible pixel indexes
|
| |
|
const int | m_nDefaultMedianBlurKernelSize |
| | default kernel size for median blur post-proc filtering
|
| |
|
bool | m_bInitialized |
| | specifies whether the algorithm is fully initialized or not
|
| |
|
bool | m_bAutoModelResetEnabled |
| | specifies whether automatic model resets are enabled or not
|
| |
|
bool | m_bUsingMovingCamera |
| | specifies whether the camera is considered moving or not
|
| |
|
cv::Mat | m_oLastColorFrame |
| | copy of latest pixel intensities (used when refreshing model)
|
| |
|
cv::Mat | m_oLastDescFrame |
| | copy of latest descriptors (used when refreshing model)
|
| |
|
cv::Mat | m_oLastFGMask |
| | the foreground mask generated by the method at [t-1]
|
| |
Pixel-based Adaptive Word Consensus Segmenter (PAWCS) change detection algorithm.
Note: both grayscale and RGB/BGR images may be used with this extractor (parameters are adjusted automatically). For optimal grayscale results, use CV_8UC1 frames instead of CV_8UC3.
For more details on the different parameters or on the algorithm itself, see P.-L. St-Charles et al., "A Self-Adjusting Approach to Change Detection Based on Background Word Consensus", in WACV 2015.
This algorithm is currently NOT thread-safe.