Рассматривается решение задачи, связанной с автоматизацией контроля присутствия студентов в аудитории, с помощью компьютерного зрения. Актуальность данной задачи обусловлена множеством факторов, во-первых, потерями времени преподавателя, которые возникают при ручной регистрации присутствия большого количества учащихся в аудитории, к примеру, в потоке из 70 человек потери на «перекличку» составляют в среднем 85 мин в семестре и даже больше; во-вторых, «перекличка» проходит шумно и не всегда достоверно [1].
Кроме того, в стандартных условиях преподаватель ведёт вручную журнал посещений на бумажном носителе, в котором отмечает посещаемость студентами лекций и практических занятий. Как правило, на одну группу по одной дисциплине приходится два журнала – для лекций и для практических занятий. В итоге для одного потока, который обычно состоит из трёх или же четырёх групп, у преподавателя находится от шести до восьми журналов посещаемости. Время и ресурсы, затраченные на их заполнение в течение семестра, просто огромные. Поэтому разработанная система визуального контроля присутствия студентов в аудитории поможет упростить и автоматизировать данные аспекты в работе преподавателя.
В этой связи такая система видеоконтроля должна быть ориентирована на решение следующих подзадач:
Создание системы с таким функционалом позволит преподавателю получить дополнительное время, которое он может выделить на предоставление студентам большего объёма учебного материала, не затрачивая время на перекличку. Собранная информация в виде электронной базы данных также даст возможность преподавателю проводить статистический анализ учебной дисциплины студентов.
Основные трудности компьютерного распознавания лиц в реальном времени связаны с помехами и быстрой изменчивостью изображений лиц в видеопотоке: положение, размер и ракурс лица в кадре, освещение и т. д. [1]. В настоящее время большие перспективы в преодолении перечисленных проблем связывают с применением глубоких нейронных сетей [2, 3]. Оценке эффективности этого класса нейросетей в решении задачи распознавания лиц и посвящена данная статья.
Введём следующие обозначения: L – множество фамилий распознаваемых людей по лицам (например, список студентов в группе); X – множество подготовленных фотографий распознаваемых лиц, т.е. эталоны изображений распознаваемых лиц; l – фамилия человека (l ∈ L), фотография которого изображена на снимке x̅ (x̅ ∈ X).
Предположим, что есть функция f, которая способна выявлять признаки лица по его изображению. С её помощью можно сформировать множество Y из векторов признаков, выявленных на фотографиях X:
Тогда элемент этого множества y̅ – это вектор признаков одной из фотографий x̅ лица человека с фамилией l (l ∈ L). В результате получаем базу данных для распознавания людей по лицам в виде множества V:
Соотношения между мощностями множеств можно представить в виде следующих неравенств:
Система компьютерного зрения в режиме распознавания человека по изображению его лица x должна, во-первых, применить к x свой функционал f для формирования вектора признаков y (f: x → y) и, во-вторых, для него найти в базе данных лиц V наиболее похожий вектор y̅ и из найденной пары (y̅, l) взять соответствующую ему фамилию l:
где l – фамилия распознанного человека по фотографии x (l ∈ L); ‖·‖ - вычисление косинусного сходства векторов.
Таким образом, задача состоит в том, чтобы построить функционал f, на котором основана рассмотренная идея распознавания образов.
Видеорегистрации студентов при входе в аудиторию осуществляется в реальном времени. На рис. 1 показана функциональная схема распознавания студентов по изображению лица из видеопотока.
При входе в аудиторию видеокамера, подключенная к компьютеру преподавателя, локализует лицо студента, в результате чего получается изображение выделенного лица. Далее данное изображение кодируется свёрточной нейронной сетью VGGFace [4, 5], т.е. выделенному лицу ставит в соответствие вектор признаков, который запоминается в базе данных при настройке системы.
В штатном режиме работы системы, т.е. при распознавании, в блоке сравнения вектор признаков y распознаваемого лица x, полученный с выхода свёрточной нейронной сети, сравнивается со всеми векторами y̅ базы данных V. Процедура сравнения основывается на методе вычисления косинусного сходства вектора распознаваемого лица с каждым вектором-эталоном из базы данных по следующей формуле:
где y и y̅ – вектора признаков соответственно распознаваемого лица и лица-эталона из базы данных; n = 2622 (n – количество классов).
Для выработки признаков лица свёрточная нейронная сеть предварительно была обучена её создателями на примерах фотографий 2622-х человек (по 1000 фотографий на человека) [6]. Сеть настроена на классификацию распознаваемого лица, используя в качестве классов лица из обучающего множества. Поэтому результатом работы сети является 2622-мерный вектор, каждый элемент которого представляет собой вероятность сходства лица с одним из обучающего множества. Считается, что два изображения лица относятся к одному человеку, если они в одинаковой мере похожи на каждое лицо из обучающего множества. Для этого вектора признаков этих изображений в пространстве лиц из обучающего множества должны образовывать между собой достаточно острый угол.
Распознаваемое лицо считается соответствующим эталону, если полученный коэффициент сходства выше определённого значения (в работе использовалось значение 0,7). В случае успешного сравнения лиц, происходит запись в электронный журнал о явке студента на занятие.
Архитектура VGGFace16 представляет собой глубокую свёрточную нейронную сеть (CNN), специально разработанную для распознавания лиц, была предложена К. Симоняном и А. Зиссерманом из Оксфордского университета. Данная нейронная сеть имеет многослойную структуру, показанную на рисунке 2.
Входной слой в архитектуре VGGFace16 предназначен для приёма и предварительной обработки входного изображения. Входной слой принимает изображение размером 224x224 пикселей. Это стандартный размер для многих свёрточных нейронных сетей, так как он позволяет сети эффективно обрабатывать и извлекать признаки из изображения. Изображение представляется в формате RGB, что означает наличие трех цветовых каналов (красного, зеленого и синего). Каждый канал отвечает за интенсивность соответствующего цвета в каждом пикселе изображения. Интенсивности пикселей изображения могут быть нормализованы. Например, значения пикселей могут быть масштабированы в диапазон от 0 до 1 или изменены таким образом, чтобы иметь нулевое среднее и единичное стандартное отклонение. Это помогает улучшить производительность сети и ускорить процесс обучения. Входные данные представляются в виде трехмерного тензора (tensor) размером 224x224x3 (высота, ширина, каналы цвета). Этот тензор передается в первый свёрточный слой сети [7, 8].
В системе видеоконтроля студентов в качестве модели свёрточной нейронной сети использовалась нейросеть VGGFace (рис. 2) [4, 5]. Сеть VGGFace принимает на входе RGB изображение лица размером 224х224 (фрагмент изображения, вырезанный по координатам, полученным методом Виолы-Джонса, расширяется или сжимается до этого размера). Далее изображения проходят через стек свёрточных слоёв, в которых используются фильтры с очень маленьким рецептивным полем размера 3х3.
Сеть предварительно обучена на множестве из 2,6 миллионов фотографий (2622 человека, 1000 фотографий каждого). Координаты каждого измерения вектора представляют собой вероятность того, что исходное лицо принадлежит одному из людей из обучающего множества.
Были проведены исследования качества распознавания и производительности системы. Для условий дневного света в помещении университета определены такие граничные значения способности распознавания, как углы поворота головы, уровень освещённости и расстояние до камеры. Распознавание с помощью указанной видеокамеры было устойчивым на расстоянии до 6 м от камеры. Эксперименты показали, что нейросеть распознавала изображения лиц даже размером 22х22 пикселя.
Она выполнена на одном компьютере с использованием одной камеры. Технические характеристики веб-камеры: разрешение в pix: 1280*720; тип матрицы: CMOS; фокусное расстояние: автоматическое; частота кадров: до 30 кадров/секунду при разрешении в 1280*720.
Технические характеристики компьютерной системы: процессор: Intel Core i5-9400F CPU 2.90GHz; оперативная память: 16 ГБ; тип системы: 64-разрядная операционная система, процессор x64; видеокарта: NVIDIA GeForce RTX 4060 TI; система: Windows.
Эксперименты направлены на оценку влияния внешних условий на качество распознавания, а именно: 1) влияние расстояния человека от камеры; 2) влияние различного вида помех; 3) влияние угла поворота головы; 4) влияние уровня освещения. Например, при исследовании степени влияния различного вида помех, в качестве помех использовались элементы одежды и аксессуары (рис. 3). Результаты экспериментов представлены в табл. 1.
| Вид помехи (одежда, аксессуар) | Успешность локализации лица на изображении (да, нет) | Успешность распознавания (да, нет) |
|---|---|---|
| Кепка | да | да |
| Маска | да | нет |
| Очки | да | да |
| Наушники | да | да |
| Кепка+очки | да | да |
| Маска+кепка+очки | да | нет |
По результатам оценки влияния внешних условий на качество распознавания с видами помех можно прийти к выводу что помехи не влияют на успешность локализации лица. На успешность распознавания сильно влияет наличие маски.
Также проведена оценка влияния реального объёма видеоданных, определяемого количеством студентов, на качество распознавания. В связи с тем, что в настоящее время обучение студентов происходит дистанционно, эксперименты проводились с использованием бумажных носителей. Имитация входа студентов в аудиторию заключалась в следующем. К видеокамере преподносили на бумажном носителе формата А4 фотографии студентов размером 5,29 на 4,23 см., сначала одной группы, потом двух выбранных групп, а после всего потока.
На этапе настройки системы с данными фотографиями были связаны анкеты (фамилии) студентов, которые распределены по группам. Всего было создано три группы с общим количеством студентов 69. В качестве результата фиксировался процент распознавания.
Учитывая небольшие размеры фотографий, бумажный носитель располагался перед видеокамерой на расстоянии 80 см. Для улучшения результатов локализации лиц и их распознавания это расстояние могло меняться в небольших пределах (рис 3).
Было отмечено, что для фотографий такого размера качество распознавания улучшалось с уменьшением расстояния до веб-камеры. Наилучшее расстояние составило 60 см. В первом эксперименте проводилась видеорегистрация студентов одной группы, состоящей из 22 человек. Во второй колонке табл. 2 приведены результаты того, как система отреагировала на показанные фотографии студентов этой группы.
По фотографиям студентов этой группы система успешно распознало 18 и не распознало 4 студентов, т к. их фотографии были затемнены или же имели маленькое разрешение и плохое качество.
В последующих двух экспериментах количество распознаваемых студентов увеличивалось. Одна группа включала 47 студентов, а другая – 69 студентов. Эксперименты проводились в аналогичных условиях. Результаты видеорегистрации представлены в третьей и четвёртой колонках табл. 2. Причина неудачного распознавания ряда студентов в этих группах состояла в том, что их фотографии были также затемнены и имели плохое качество картинки. Полученные результаты показывают, что, несмотря на некоторую искусственность условий проведения последних экспериментов, качество распознавания с помощью применяемой нейросети не снижается с ростом количества студентов до размера типового потока.
| Результат распознавания | Количество студентов в группе | ||
|---|---|---|---|
| Группа из 22 | Группа из 47 | Группа из 69 | |
| Количество распознанных | 18 | 41 | 58 |
| Количество не распознанных | 4 | 6 | 11 |
| Процент распознавания | 81% | 87% | 84% |
Пример видеорегистрации студентов в режиме реального времени показа фотографий продемонстрирован на рис. 4 (главное диалоговое окно преподавателя).
Произведена формальная постановка задачи распознавания лиц на основе предобученной нейронной сети. Представлена архитектура и математическое описание нейронной сети VGGFace. Использование такой нейросети облегчает настройку системы на видеоконтроль людей благодаря упрощению формирования датасет. Также предложена функциональная схема видеорегистрации студентов при входе в аудиторию. Изображения лиц поступают с видеокамеры в режиме реального времени. Экспериментальные исследования были ориентированы на оценку влияния различных видов помех на качество распознавания с учётом реального объём видеоданных по студентам потока. Часть экспериментов проведена по фотографиям реальных студентов в количестве 69 человек.