Методи програмного підрахунку людей в черзі. Контроль і підвищення якості обслуговування покупців.

423

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