Машин Learning

Детектор движения

Всем привет!

Давненько я ничего не писала. Но у меня есть оправдание :). Во всём виноватa защита докторского минимума и следующий за ней отдых в Австрии (интересное видео из путешествия есть в моём телеграм канале). Теперь спешу порадовать вас новой статьёй. Сегодня мы будем обеспечивать охрану офиса, ведь речь пойдёт о детекции движения.

Предположим, что  комнате установлена камера наблюдения. Нам необходимо обеспечить срабатывание сигнализации в случае появляния в кадре движущегося объекта. Вот пример:

Детектор движения

То есть, снимается какая-то статическая сцена, в которой появляется человек. Его то мы и хотим обнаружить. Для решения этой задачи используется следующее предположение. В случае отсутствия движущегося объектa, кадры, следующие друг за другом, не отличаются друг от друга. Ну или слабо отличаются друг от друга.  Что же это значит? Помните, мы говорили о том, что любое изображение — это таблица чисел , где каждая ячейка хранит цвет пикселя. Так вот, в таком случае, можно посчитать разницу между двумя следующими друг за другом кадрами. Если кадры друг от друга не отличаются, то в каждом пикселе получаем ноль:

детектор движения

А вот что произойдёт, когда неожиданно в кадре появляется человек:

Детектор движенияВ результирующей таблице разницы двух кадров появляются пиксели с ненулевым значением. Так вот, на основании количества ненулевых пикселей и их связанности друг с другом система принимается решение о срабатывании сигнализации.

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

Добавить комментарий

Ваш адрес email не будет опубликован.