В даний час виділяють два класи алгоритмів, що дозволяють вирішити задачу виявлення залишених предметів:
алгоритми, засновані на пошуку об’єктів переднього плану;
алгоритми, засновані на трекінг (стеження за рухомими об’єктами).
Розглянемо ці класи докладніше.
Детектування залишених предметів за допомогою пошуку об’єктів переднього плану
Переднім планом називаються всі рухомі об’єкти кадру, всі інші нерухомі пікселі утворюють фон.
Даний метод використовує дві моделі фону: короткострокову (швидкоплинні, швидку) і довгострокову (медленноменяющуюся, довгу), кожна з них має свою швидкість і час оновлення.
Час оновлення короткостроковій моделі фону дуже мало, то є всі зміни поточного кадру в порівнянні з попередніми дуже швидко фіксуються в мінливому короткостроковому тлі. Якщо в кадрі з’явився новий об’єкт в русі, він не стане фоном, але якщо об’єкт зупинився і став нерухомим (а це найчастіше і є залишений предмет), він об’єднається з нерухомим фоном кадру. Таким чином, короткостроковий фон дозволяє визначити, що в кадрі присутні рух (знаходився об’єкт, що рухається), а зараз цього руху немає (об’єкт став статичним і злився з фоном).
Використання тільки короткостроковій моделі неможливо, так як нерухомий об’єкт (імовірно залишений предмет) дуже швидко «зникає» — об’єднується з фоном, і відстежити час його спокою неможливо. Тому алгоритм використовує одночасно з короткостроковою довгострокову модель фону. Довгострокова модель фону змінюється набагато повільніше, нові об’єкти, потрапляючи в неї, ще деякий час залишаються переднім планом і тільки через тривалий час стають фоном. Довга модель фону використовується для того, щоб детектувати залишений об’єкт, оцінити, що він потрапив в сцену деякий час назад, а не був вихідним фоном.
Оператор системи може задати час, через яке предмет буде вважатися залишеним. Отримавши ці дані, система вирахує коефіцієнт, який скоректує час поновлення довгострокового фону.
Детектування залишених предметів за допомогою трекінгу
При використанні алгоритмів трекінгу для виявлення залишених предметів система детектирует як предмет, так і людини який цей предмет залишив, а точніше система детектирует поділ одного об’єкта, що рухається на два: статичний і рухається, потім стежить за статичним об’єктом.
У підході з використанням трекінгу також першим кроком є виділення фону. Далі система будує траєкторії всіх рухомих об’єктів в кадрі, а потім фіксує «поділ», що рухається, на два, один з яких продовжує рух, а інший залишається статичним. Програма аналізує швидкості, напрямку руху об’єктів, їх колірні характеристики, потім ці дані використовуються для зіставлення предмета і людини при їх «поділ» на 2 об’єкти.
Порівняння методів
Кожен з методів має свої переваги і свої слабкі місця. Про них докладніше:
1. Робота в натовпі. Алгоритми, засновані на пошуку об’єктів переднього плану, в цій ситуації показують високі результати при коректній установці істинного фону. Це можливо в тому випадку, коли фон потрапляє в кадр повністю на деякий час, тобто фон не весь час зйомки перекривається натовпом. Для методу, що використовує алгоритми трекінгу, при роботі в натовпі виникають складнощі з виділенням окремого об’єкта, що рухається.
2. Ресурсоємність. Складність процесів обробки інформації і, як наслідок, ресурсомісткість методу, що використовує трекінг, вище. Системі необхідно визначити фон, детектувати рухомі об’єкти, виділити характеристики руху і об’єктів (колірні характеристики, швидкість, напрямок руху), розрахувати ймовірність переходу об’єкта з однієї точки попереднього кадру в іншу точку поточного для вірного присвоєння траєкторії переміщення при одночасному русі в кадрі кількох об’єктів. На проведення всіх цих обчислень потрібні великі обчислювальні потужності.
3. Складні ситуації, в яких можливі пропуски залишених предметів. Для методу, заснованого на пошуку об’єктів переднього плану, складності виникають при неможливості коректного визначення фону (при роботі в натовпі, при роботі в умовах часткової зміни освітленості). Для методу, заснованого на трекінг, складними є сцени з високою інтенсивністю руху, перекриттями рухомих об’єктів іншими об’єктами, тимчасовою втратою об’єкта з поля зору камери.
4. Помилкові спрацьовування. Для двох методів помилкові спрацьовування можливі при затримці людини в кадрі на час, рівний часу, через яке предмет буде вважатися залишеним. Пояснюється це тим, що система не в силах відрізнити людину (особливо якщо ця людина приймає позу, в якій програмі складно його ідентифікувати, наприклад, сідає) від потенційно об’єкта, що цікавить. Боротися з цією складністю можна за допомогою об’єднання детектора з класифікатором, здатним розпізнавати категорії об’єктів і відрізняти людини в будь-якому положенні від інших предметів.
5. Детектирование людини, який залишив предмет можливо в методі, що використовує трекінг. Також метод дозволяє отримати дані про всі переміщення цієї людини в поле зору камери. Оператор системи може знайти людину, яка принесла залишений предмет, а далі використовувати інші інтелектуальні функції (наприклад, межкамерний трекінг або «перехоплення») для того, щоб відстежити його. Модифікації методу, заснованого на пошуку об’єктів переднього плану.
Порівняльний аналіз методів показує, що найбільш стійким і менш ресурсномістких є алгоритм, який використовує виділення об’єктів переднього плану, однак він нестабільний в умовах високої інтенсивності руху і при зміні умов зйомки (наприклад, зміну освітленості). Для того щоб мінімізувати вплив змін умов зйомки розробники програмних продуктів реалізували наступне поліпшення.
Поліпшення способу поновлення фону. Детекція руху.
Використання детектора руху покращує стабільність роботи алгоритму в мінливих умовах зйомки (наприклад, при зміні освітленості). В результаті роботи детектора руху програма виділяє рамку рухомого об’єкту, потім створює маски з рамок всіх рухомих об’єктів кадру. Оновлення тло може призвести тільки в тих областях кадру, де немає рухомих об’єктів, в тих областях кадру, де присутні маски рухомих об’єктів, оновлення не відбувається.
Перевірка на статичність.
Для зменшення кількості помилкових спрацьовувань і підвищення точності роботи детектора залишених предметів використовується додаткова перевірка об’єкта на статичність. Дана модифікація дозволяє виключити тимчасово статичні предмети, які не становлять інтерес для оператора системи. Для перевірки статичності програма виділяє рамку потенційного залишеного предмета, запам’ятовує її положення. Далі під час вступу нового кадру також виділяється рамка статичного предмета, її координати порівнюються з значеннями збережене розташування. Якщо після порівняння отримано позитивний результат (тобто рамки приблизно співпали), то перевірка повторюється ще кілька разів (кількість перевірок залежить від необхідного часу виявлення залишеного предмета). Якщо після порівняння отримано негативний результат (тобто рамки не співпали), то лічильник перевірок обнуляється, а збережена рамка видаляється.
Критерії вибору.
Існуючі сьогодні детектори виявлення залишених предметів використовують в своїй основі переважно два методу: в основі одного з них лежить робота алгоритмів трекінгу (побудови траєкторій переміщення рухомих об’єктів), іншого — алгоритми, які здійснюють пошук об’єктів переднього плану. Кожен з методів має свої особливості і умови застосовності.
Головною перевагою детектора, заснованого на трекінг, є можливість виявлення людини, який залишив предмет, однак цей метод пред’являє високі вимоги до продуктивності системи, дає збої при спостереженні за сценами з високою інтенсивністю руху.
Метод, заснований на пошуку об’єктів переднього плану, показує високу точність детектування залишених предметів за умови коректної установки вихідного фону, це означає, що якщо система «побачить» чистий фон сцени хоча б на кількох секунд, детектор буде показувати високі результати виявлення залишених предметів. Крім того, детектор має низьку ресурсомісткість, а розроблені модифікації даного методу підвищують точність детектування і знижують кількість помилкових спрацьовувань.