Найти в Дзене

Как компьютер отличает объект от фона: простое объяснение background subtraction

Представьте камеру наблюдения, направленную на пустую парковку. В кадре — ничего не происходит. Потом появляется человек, и мы сразу его замечаем. Компьютеру же, чтобы сделать то же самое, нужно сначала научиться отличать фон — то, что там «всегда было» — от нового, подвижного объекта. Это особенно важно в видеонаблюдении, при подсчёте людей или машин, в контроле на производстве. Если система будет реагировать на каждый пиксель, который изменился, она завалит оператора ложными тревогами — из-за колышущихся деревьев, смены освещения, капель дождя. Поэтому первый шаг — убрать из внимания всё постоянное Background subtraction (по-русски: «вычитание фона») — это способ выделить движущийся объект в видеопотоке, убрав из него всё, что считается фоном. -- Если вы хотите автоматизировать процессы, снизить брак, повысить безопасность с помощью компьютерного машинного зрения и видеоаналитики напишите мне в телеграм: https://t.me/dvdiamanto -- Фон не всегда остаётся одинаковым. День сменяется
Оглавление

Зачем вообще отличать фон?

Представьте камеру наблюдения, направленную на пустую парковку.

В кадре — ничего не происходит. Потом появляется человек, и мы сразу его замечаем. Компьютеру же, чтобы сделать то же самое, нужно сначала научиться отличать фон — то, что там «всегда было» — от нового, подвижного объекта.

Это особенно важно в видеонаблюдении, при подсчёте людей или машин, в контроле на производстве.

Как компьютер отличает объект от фона
Как компьютер отличает объект от фона

Если система будет реагировать на каждый пиксель, который изменился, она завалит оператора ложными тревогами — из-за колышущихся деревьев, смены освещения, капель дождя.

Поэтому первый шаг — убрать из внимания всё постоянное

Что такое background subtraction

Background subtraction (по-русски: «вычитание фона») — это способ выделить движущийся объект в видеопотоке, убрав из него всё, что считается фоном.

Алгоритм работает просто:

  • Компьютер наблюдает за первыми кадрами и строит модель фона. Это может быть просто среднее значение по кадрам или более сложная статистическая модель
  • Каждый новый кадр сравнивается с моделью фона.
  • Если в каком-то месте изображение сильно изменилось — это место помечается как foreground (передний план), то есть как потенциально подвижный объект.

--

Если вы хотите автоматизировать процессы, снизить брак, повысить безопасность с помощью компьютерного машинного зрения и видеоаналитики напишите мне в телеграм: https://t.me/dvdiamanto

--

Как фон обновляется?

Фон не всегда остаётся одинаковым.

День сменяется ночью, солнце двигается, тени растут и исчезают. Поэтому система должна уметь подстраиваться.

Для этого модель фона постепенно обновляется.

Например, если пиксель в течение долгого времени остаётся неизменным, он может быть включён в фон. Но если изменения происходят часто, этот участок остаётся переменным.

Существует множество алгоритмов, которые по-разному строят и обновляют фон — от простого усреднения до более устойчивых методов, таких как:

  • Running average — фон обновляется как скользящее среднее;
  • Mixture of Gaussians (MOG) — каждый пиксель описывается как смесь вероятных состояний (например, «асфальт», «тень», «листва»);
  • KNN-based background model — используется статистика соседних пикселей и временных паттернов;
  • SuBSENSE, ViBe, PBAS — более продвинутые подходы, устойчивые к шуму и сложной динамике.
Сложный алгоритм видит чем об\ект отличается от фона.
Сложный алгоритм видит чем об\ект отличается от фона.

С какими трудностями сталкивается background subtraction?

Метод работает хорошо, когда сцена более-менее статична. Но на практике возникают сложности:

Освещение. Облака закрыли солнце — и сцена резко потемнела. Алгоритм может принять это за движение.

Тени. Объект движется, но вместе с ним — его тень, которая тоже вызывает изменения на изображении.

Медленное движение. Если человек идёт очень медленно, он может «встроиться» в модель фона и исчезнуть.

Фон сам по себе движется. Деревья на ветру, отражения в воде, флаги — всё это нарушает статичность сцены.

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

Но базовая идея остаётся той же: выделить всё, что нарушает привычную картину.

Где используется background subtraction

Этот метод широко применяется там, где нужно быстро реагировать на изменения в кадре:

  • Системы видеонаблюдения: обнаружение движения, тревоги, автоматическая запись;
  • Подсчёт людей и автомобилей: проходы в торговых центрах, транспортные потоки;
  • Контроль на производстве: если с конвейера выпала деталь — это изменение будет замечено;
  • Анализ активности: спорт, движение в залах, распознавание поведения.

Даже в эпоху нейросетей background subtraction остаётся актуальным. Он быстрый, не требует обучения, легко объясним. И в задачах, где важна скорость и прозрачность логики, он незаменим.

Почему это важно

Когда речь идёт о надёжности и простоте, классические алгоритмы вроде background subtraction показывают отличные результаты. Они понятны инженерам, легко внедряются на слабом оборудовании и дают стабильный результат.

Да, есть случаи, когда лучше работают нейросети.

Но если сцена несложная, а задача — просто «заметить движение», то subtraction справляется быстрее и проще.

Заключение

Background subtraction — это не модная технология, а крепкий рабочий инструмент.

Он помогает системам видеть, когда в кадре что-то изменилось, и делать это быстро и без сложных моделей.

Понимание таких основ — полезно не только инженерам, но и тем, кто работает с системами видеонаблюдения, автоматизации, аналитики. Это простой способ начать разбираться, как компьютер «смотрит» на мир.

--

Если вы хотите автоматизировать процессы, снизить брак, повысить безопасность с помощью компьютерного машинного зрения и видеоаналитики напишите мне в телеграм: https://t.me/dvdiamanto