Параметр BackgroundSubtractorMOG2

У меня проблема понимания всех параметров backgroundsubtractormog2.

Я посмотрел в коде (находится в bfgf_gaussmix2.cpp), но не вижу связи с упомянутой статьей. Например, Tb = varThreshold, но как называется Tb в статье?

Меня особенно интересует жирный помеченный параметр.

Давайте начнем с простого параметра [мои замечания]:

  • int nmixtures

    Максимально допустимое количество компонентов смеси. Фактическое число определяется динамически на пиксель.
    [установить 0 для GMG]

  • Учарь nShadowDetection

    Значение для маркировки теневых пикселей в выходной маске переднего плана. Значение по умолчанию 127.

  • поплавок тау

    Теневой порог. Тень обнаруживается, если пиксель является более темной версией фона. Тау — это порог, определяющий, насколько темнее может быть тень. Тау = 0,5 означает, что если пиксель более чем в два раза темнее, то это не тень.

Теперь о тех, кого я не понимаю:

  • поплавок backgroundRatio

    Порог, определяющий, является ли компонент достаточно значимым для включения в фоновую модель (соответствует TB = 1-cf из статьи «какая бумага»). cf = 0.1 => TB = 0.9 по умолчанию. Для альфа = 0,001 это означает, что режим должен существовать приблизительно 105 кадров, прежде чем он будет считаться передним планом.

  • поплавок varThresholdGen

    Порог для квадрата расстояния Махаланобиса, который помогает определить, когда образец близок к существующим компонентам (соответствует Tg). Если это не близко к любому компоненту, новый компонент генерируется. 3 сигма => Tg = 3 * 3 = 9 по умолчанию. Меньшее значение Tg генерирует больше компонентов. Более высокое значение Tg может привести к небольшому количеству компонентов, но они могут стать слишком большими. [Я не понимаю ни слова об этом]

  • В конструкторе переменная varThreshold используется. Это так же, как varThresholdGen?

    Порог на квадрате расстояния Махаланобиса, чтобы решить, хорошо ли он описан фоновой моделью (см. Cthr ??). Этот параметр не влияет на фоновое обновление. Типичное значение может быть 4 сигма, то есть varThreshold = 4 * 4 = 16; (см. Tb ??).

  • float fVarInit

    Начальная дисперсия для вновь созданных компонентов. Это влияет на скорость адаптации. Значение параметра основано на вашей оценке типичного стандартного отклонения от изображений. OpenCV использует 15 в качестве разумного значения.

  • float fVarMin

    Параметр используется для дальнейшего управления дисперсией.

  • float fVarMax

    Параметр используется для дальнейшего управления дисперсией.

  • поплавок FCT

    Параметр снижения сложности. Этот параметр определяет количество выборок, необходимых для подтверждения существования компонента. CT = 0,05 — это значение по умолчанию для всех образцов. Установив CT = 0, вы получите алгоритм, очень похожий на стандартный Stauffer&Алгоритм Гримсона.

Кто-то задал почти такой же вопрос на сайте OpenCV, но без ответа.

5

Решение

Ну, я не думаю, что кто-то может сказать вам, какой параметр есть, если вы не знаете подробностей алгоритма, который вы используете. Кроме того, вам не нужно, чтобы кто-то говорил вам, какой параметр имеет значение, если вы знаете детали алгоритма. Я говорю это для подробных параметров (fCT, fVarMax и т. Д.), А не для простых (nmixtures, nShadowDetection и т. Д.).

Итак, я думаю, что вы должны прочитать документы, на которые есть ссылки в документации. Вот ссылки на документы 1, 2, 3.

А также вы должны прочитать этот бумага, которая является началом оценки фона.

После прочтения этих статей и проверки кода с помощью, я уверен, вы поймете, что это за параметры.

Удачи!

13

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]