Эффективные алгоритмы идентификации лиц на видео на основе выбора качественных кадров
Архитектуры сверточных нейронных сетей для распознавания лиц. Обзор алгоритмов детектирования лиц и выбора ключевых кадров. Прототип системы идентификации лиц на основе выбора качественных кадров. Изучение графического интерфейса и переноса знаний сети.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 10.08.2020 |
Размер файла | 2,7 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ АВТОНОМНОЕ
ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ
«НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ УНИВЕРСИТЕТ
«ВЫСШАЯ ШКОЛА ЭКОНОМИКИ»
Факультет информатики, математики и компьютерных наук
Программа подготовки магистров по направлению 01.04.02 Прикладная математика и информатика
Магистерская программа «Интеллектуальный анализ данных»
Выпускная квалификационная работа
Эффективные алгоритмы идентификации лиц на видео на основе выбора качественных кадров
Харчевникова Ангелина Сергеевна
Нижний Новгород, 2020
Содержание
Введение
1. Обзор литературы
1.1 Описание предметной области
1.2 Обзор алгоритмов детектирования лиц
1.3 Анализ библиотек глубокого обучения
2. Прототип системы идентификации лиц на основе выбора качественных кадров
2.1 Задача оценки качества изображений
2.2 Оценка качества на основе глубокого обучения
3. Результаты экспериментальных исследований
3.1 Описание наборов данных распознавания лиц
3.2 Оценка эффективности алгоритмов
3.3 Оценка точности распознавания
Заключение
Список литературы
Приложение
Введение
Сегодня передовые технологии в области биометрической идентификации находят все большую популярность в разнообразных сферах общественной жизни. Такие системы автоматического распознавания лиц активно применяются в отделениях банка с целью борьбы со злоумышленниками или для предоставления клиентам таргетированной рекламы, актуальной информации. Также некоторые крупные авиакомпании начинают внедрять подобные технологии для идентификации пассажиров, принимая лицо как входной билет на рейс.
Как известно, системы распознавания лиц по видео в реальном времени основываются на анализе полученных с заданной частотой кадров. Следовательно, надежность и точность данных технологий непосредственно зависит от качества изображений, приходящих на вход алгоритма. Однако, внешняя среда не всегда благоприятствует получению кадров надлежащего качества в связи с условиями освещения, низким разрешением видеокамеры, расположением лица, присутствием размытости и др., что приводит к неустойчивой работе системы и возникновению ошибок [1]. Зачастую достаточно всего несколько ключевых изображений из входящей видеопоследовательности, чтобы алгоритм гарантировал принадлежность к одному из классов в базе эталонов [2].
Современные системы идентификации лиц основываются на технологиях глубокого обучения в связи с достаточно высокой точностью классификации изображений [3]. Выполнение распознавания с помощью традиционных глубоких архитектур сверточных нейронных сетей является достаточно дорогостоящей операцией и требует наличия высокопроизводительных серверов с графическим процессором. Анализ каждого кадра из входной видеопоследовательности значительно замедляет скорость принятия решения, особенно если система производит вычисления в режиме реального времени на платформах, ограниченных мощностями и ресурсами памяти. Поэтому проблема повышения стабильности и скорости работы алгоритмов идентификации лиц по видеопоследовательности остается актуальной темой в области компьютерного зрения и машинного обучения.
Таким образом, в данной работе проблема эффективного распознавания лиц по видео рассматривается как задача выбора качественных кадров.
Объект исследования - идентификация лиц по видеопоследовательности. Предметом данной работы является применение алгоритмов выбора качественных кадров для систем распознавания лиц по видео.
Целью исследования является повышение надежности и скорости работы алгоритмов идентификации лиц на видео с помощью технологий извлечения качественных кадров.
Для достижения поставленной цели необходимо выполнить следующие задачи:
Провести обзор существующих алгоритмов распознавания лиц по изображению с акцентированием внимания на технологии глубокого обучения.
Рассмотреть подходы извлечения ключевых кадров по видеопоследовательности.
Провести обзор алгоритмов определения качества изображения лица.
Разработать прототип системы идентификации лиц на основании методов выявления ключевых кадров.
Провести экспериментальные исследования по анализу надежности, производительности и точности работы каждого из алгоритмов.
Данная исследовательская работа организована следующим образом: в первой главе представлен аналитический обзор литературы с рассмотрением существующих алгоритмов распознавания лиц. Вторая глава посвящена постановке математической задачи, а также описанию подходов определения качественных кадров. В данной части работы рассматриваются модели сверточных нейронных сетей для оценки ключевых кадров и описана общая схема предлагаемой системы. Практическая реализация алгоритмов и результаты экспериментальных исследований представлены в заключительном разделе.
1. Обзор литературы
1.1 Описание предметной области
В современном мире технологии распознавания лиц обретают все большую популярность в различных сферах общественной жизни. Еще вчера биометрические системы казались скорее фантазией писателей футуризма, а сегодня являются обыденной реальностью. Одной из ключевых областей применения технологий идентификации лиц является сфера безопасности для поиска преступников или пропавших людей. Также подобные «умные» системы видеонаблюдения могут быть внедрены в магазины торговых центров в целях предотвращения краж. Распознавание лиц начинают применять в некоторых школах для проверки посещаемости занятий.
В настоящее время ряд телекоммуникационных компаний оснащает последние модели гаджетов технологией аутентификации по геометрии лица для защиты персональных данных. Ведь действительно, лицо является самым надежным идентификатором человека, его не потеряешь, не забудешь, как пароль. Наиболее известным подобным решением сегодня является сканер объемно-пространственной формы лица Face ID от компании Apple [4]. Технология умеет адаптироваться к небольшим изменениям внешности, таким как макияж, небритость. При наличии более существенных отличий система предлагает введение пароля для подтверждения личности и впоследствии обновления базы данных. Однако, на стабильность работы подобного алгоритма часто влияют внешние факторы такие, как слишком яркое или недостаточное освещение, различные наклоны головы, предметы, перекрывающие лицо и др. А также данная система биометрии работает медленнее, чем, например, сканирование отпечатка пальца, что накладывает существенные неудобства в использовании.
Таким образом, проблема повышения скорости и стабильности распознавания алгоритмов идентификации лиц по видео остается важной задачей для внедрения подобных систем в современные гаджеты.
Обзор алгоритмов распознавания лиц
В настоящее время задача распознавания лиц по изображению является одним из самых популярных направлений исследований в области компьютерного зрения и машинного обучения. Данный факт обусловлен широким спектром областей применения подобных технологий биометрии. Сегодня решения идентификации активно внедряются в сфере безопасности, например, при прохождении паспортного контроля в аэропортах для выявления недобросовестных граждан. Также подобные технологии применяются в розничной торговле в целях повышения лояльности покупателей. Однако, для производственного использования алгоритмов идентификации лиц необходимо, чтобы система выполняла распознавание с достаточно высокой точностью и скоростью.
Проблеме распознавания лиц по изображению всегда уделялось большое количество внимания, поэтому в современной литературе был предложен ряд алгоритмов решения данной задачи с различной точностью и эффективностью [5, 6, 7, 8]. Не смотря на данный факт, «state-of-the-art» подходы зачастую ошибаются в реальных приложениях.
Основную задачу идентификации лиц можно сформулировать следующим образом: необходимо отнести вновь поступающее на вход одиночное изображение или последовательность кадров с изображением целевого объекта к одному из L заданных эталонов [8]. Номер фрейма здесь обозначен, как t, а общее количество видеокадров - T. Ключевой акцент данной работы поставлен именно на выполнение идентификации лиц по видео. Предположим, классы заданы при помощи эталонных изображений, множества прецедентов {Xi}, i = 1…L с известной меткой, где L - число данных эталонов. Для упрощения задачи пусть рассматриваемая последовательность кадров содержит изображение только одного человека с предварительно выделенной областью лица [9]. Так проблема идентификации лиц на видео представляет собой пример многоклассовой классификации. Однако, принятие решения в данном случае производится ни по единственному изображению, а по набору кадров с помощью одного из методов агрегации [9, 10].
Рассмотрим более подробно предложенные в современной литературе подходы идентификации лиц по изображению. Основное отличие существующих алгоритмов распознавания заключается в вычислении признаков и сравнении их совокупностей между собой. Так авторы научной работы [8] предлагают решения данного этапа разделить на три большие группы: системы сопоставления на основе шаблонов (англ. holistic template matching based systems), структурные методы (англ. feature-based schemes) и смешанные схемы. Ранние алгоритмы, относящиеся к первой группе, отличаются тем, что используют всю область лица в качестве входных данных распознавания. Примерами подобных решений являются метод главных компонент (англ. Eigenfaces и Eigenvectors), FLD (англ. Fisher's linear discriminant), LDA (англ. Linear discriminant analysis) [11, 12, 13]. Эффективность данных алгоритмов значительно падает при недостаточном освещении или присутствии изменений в выражении лица. Ко второй группе относят методы, отличительной характеристикой которых является работа с особенностями расположения индивидуальных параметров лица, таких как рот, нос, глаза. Однако, даже при наличии небольших перекрытий данных признаков структурный классификатор начинает нестабильно работать, ошибаться. Наиболее известными структурными методами являются алгоритмы извлечения признаков фильтрами Габора, Elastic Bunch Graph Matching (EBGM) и др. [11]. Подходы, относящиеся к последней группе, представляют собой набор алгоритмов, работающих как со всей областью лица в целом, так и с отдельными характеристиками.
Среди множества разнообразных решений распознавания лиц на изображении особое место занимают технологии глубокого обучения - сверточные нейронные сети [14, 15].
Сверточные нейронные сети
В настоящее время распознавание объектов на изображении с помощью архитектур сверточных нейронных сетей (СНС) является одной из наиболее точных технологий в области компьютерного зрения и машинного обучения. Данный подход активно применяется при решении разнообразных задач, таких как детектирование лиц, семантическая сегментация, идентификация объектов и др. [3, 16].
Впервые многослойная архитектура нейронных сетей, получившая название Сверточная Нейронная Сеть (англ. Convolution Neural Network, CNN), была предложена Яном Лекуном в 1988 году. Однако, публикация автора не произвела должного впечатления на мир науки того времени и долго оставалась незамеченной. Все изменилось в 2012 году после победы Алекса Крижевски на знаменитых соревнованиях по компьютерному зрению «ImageNet», где его команде удалось понизить ошибку распознавания на 11% [16]. Так технологии глубокого обучения совершили революцию в области компьютерного зрения и распознавания образов.
Идеей создания архитектур сверточных нейронных сетей послужила особенность работы простых и сложных клеток в зрительной коре головного мозга, первые из которых умеют реагировать на прямые разнонаправленные линии, а вторые - активировать тот или иной набор простых клеток. В общем и целом, СНС представляет собой упрощенную модель данного взаимодействия нейронов [3]. Главным принципом осуществления распознавания с помощью глубокой архитектуры является чередование сверточных слоев (англ. convolution layers) и слоев подвыборки (англ. pooling layers). Ключевым блоком СНС является слой свертки, в ходе которого осуществляется перемножение матрицы каждого канала изображения на определенное ядро свертки заданной размерности [3, 17]. При этом весовые коэффициенты матрицы ядра обновляются в процессе обучения. Данный этап отвечает за формирование карт признаков, по которым и происходит распознавание паттернов изображения. Также в архитектуре сверточных нейронных сетей присутствует операция уплотнения карт признаков (англ. pooling) для уменьшения размера получаемых представлений [3].
Немаловажным шагом создания СНС архитектуры является выбор нелинейной функции активации нейронов после осуществления операции свертки. Наиболее часто в последнее время применяется функция ReLU (англ. rectified linear unit) вида , позволяющая значительно упростить вычисления и тем самым ускорить процесс обучения.
Выходом сверточной нейронной сети обычно является сформированный вектор признаков изображения. Для задачи классификации зачастую добавляют несколько дополнительных полносвязных слоев, которые возвращают вероятности принадлежности изображения к каждому из классов базы эталонов. Архитектура сверточной нейронной сети схематично представлена на рис. 1.
Рис. 1. Архитектура сверточной нейронной сети
Метод градиентного спуска и обратного распространения ошибки является основным механизмом тренировки моделей сверточных нейронных сетей. Обучение обычно проходит в несколько эпох, полных проходов тренировочных данных по сети [18].
Среди разнообразия всевозможных архитектур следует отметить наиболее популярные модели AlexNet [16], GoogleNet [18], ResNet [19], MobileNet [20].
Архитектуры сверточных нейронных сетей для распознавания лиц
Ранние алгоритмы распознавания лиц по изображению, основанные на вычислении фундаментальных статистических характеристик, остались далеко в прошлом, их вытеснили методы глубокого обучения. В современной литературе было предложено множество разнообразных подходов идентификации лиц с помощью технологий глубокого обучения.
Одним из ключевых этапов решения задачи распознавания лиц является получение векторов-признаков изображений с предпоследнего слоя сверточной нейронной сети для выполнения дальнейшей классификации. Для этого применяют заранее обученные на большом наборе данных СНС модели. В исследовании [21] предлагается глубокая архитектура DeepFace, натренированная на более чем четырех миллионах изображений лиц. Предложенная модель достигла точности в 97.35% на известном наборе данных LFW [22]. В качестве расширения DeepFace авторы работы [23] предлагают применить семантический метод начальной загрузки (англ. a semantic bootstrapping method) для выявления эффективного тренировочного подмножества изображений. С целью повышения точности распознавания в исследовании [24] создается ансамбль, состоящий из двадцати пяти СНС моделей, каждая из которых нацелена на определение различных локальных патчей. Данное решение достигает результата в 99.47% на уже указанном ранее наборе данных LFW.
Ряд исследований в области идентификации лиц нацелен на оптимизацию функции потерь при обучении моделей сверточных нейронных сетей. Так авторы в [25] предлагают функцию triplet loss для тренировки архитектуры FaceNet. Обучение модели FaceNet производилось на огромном массиве данных, состоящем из двухсот миллионов изображений лиц, принадлежащих восьми миллионам различных людей. В результате достигается точность в 99.63% на LFW. Одним из наилучших решений сегодня является подход обучения СНС моделей с помощью функции потерь Additive Angular Margin Loss (ArcFace) [26]. Авторам данного алгоритма удалость достичь точности 99.82% на наборе данных LFW.
Таким образом, в текущей работе распознавание лиц по видеопотоку будет производиться посредством архитектур сверточных нейронных сетей, так как именно данный подход считается наиболее точным в настоящее время.
Проведем обзор применяемых в исследовании архитектур. Так как потенциальной целью работы является разработка эффективного, в том числе с точки зрения времени исполнения, алгоритма распознавания лиц, совместно с традиционными «глубокими» моделями рассматриваются более «легковесные» примеры.
ResNet-50 [27]. Residual Network - глубокая архитектура СНС, состоящая из пятидесяти слоев [19]. Веса данной модели предварительно обучены на наборе данных, состоящем из более чем трех миллионов изображений лиц VGGFace2 [28]. Схематическое представление архитектуры изображено на рис. 2.
Рис. 2. ResNet-50 архитектура
MobileNet [29] архитектура имеет значительное преимущество в размере, а также скорости распознавания, что позволяет проводить распознавание на мобильных устройствах. [20]. Данная модель была предварительно обучена на наборе данных VGG2.
Рис. 3. Модель MobileNet
InsightFace ArcFace MXNet представляет собой глубокую архитектуру, в основе которой лежит ResNet. Сеть обучалась методом ArcFace [26] с помощью MS-Celeb-1M набора данных, в котором изображения были предварительно нормализованы и переведены в MXNet бинарный формат [30] На рис. 4 представлена краткая схема обучения СНС архитектуры с применением ArcFace штрафа.
Рис. 4. Insightface ArcFace MXNet
Таким образом, представленные архитектуры СНС применяются для извлечения векторов-признаков каждого из видеокадров. Следовательно, в СНС моделях был удален последний полносвязный слой, отвечающий за классификацию.
1.2 Обзор алгоритмов детектирования лиц
Одним из важных этапов в ходе решения задачи идентификации лиц является детектирование лицевой области для последующей передачи на вход модели сверточной нейронной сети. В целях минимизации ошибок распознавания необходимо, чтобы данная область содержала исключительно объект классификации. Однако, такие внешние факторы, как различные вариации наклона головы, перекрытие части лица какими-либо предметами, недостаточное качество освещения, зачастую существенно влияют на точность алгоритмов детектирования. Поэтому для создания системы идентификации лиц на видео необходимо выбрать наиболее устойчивый к влиянию окружающей среды подход. В современной литературе был предложен ряд алгоритмов для успешного выполнения детектирования лиц. Проведем обзор наиболее известных подходов.
Долгое время одним из лучших алгоритмов по соотношению точности распознавания и скорости работы оставался метод Виолы-Джонса, основанный на признаках Хаара и бустинге (англ. AdaBoost) [31]. По принципу сканирующего окна данный каскадный детектор находит лицевые области достаточно эффективно. Несмотря на это, некоторые исследования указывают на значительную деградацию устойчивости работы алгоритма в реальных условиях, когда на вход приходят изображения лиц в профиль или в наклоне [32, 33]. Среди многообразия существующих детекторов лиц можно выделить методы, основанные на моделях DPM (Deformable Parts Model) [34]. Недостатком данного подхода является необходимость больших вычислительных затрат и детально размеченного набора данных на этапе обучения.
Самые современные методы детектирования лиц основываются на глубоком обучении и по своей структуре делятся на две большие категории: двухступенчатые подходы и одноэтапные. Отличительной чертой первой группы является высокая точность локализации ключевых точек лица с помощью осуществления механизма «предложение и улучшение». Здесь на начальном шаге осуществляется первичное детектирование, которое генерирует «кандидатов на лицо», а на следующем этапе - классификация полученных областей и принятие решения. К данной группе относятся такие детекторы, как R-CNN, Faster R-CNN, YOLO [35, 36, 37]. Однако, осуществление поиска области лица посредством двухступенчатых методов может быть затратной по времени операцией. Более быстрыми алгоритмами считаются одноэтапные детекторы, выполняющие процедуру поиска кандидатов и принятие решения за один шаг. Примерами данных архитектур являются: SSD [38], RetinaFace [39].
Сегодня одним из наиболее эффективных детекторов по скорости работы и затрате вычислительных ресурсов считается каскадная модель сверточных нейронных сетей MTCNN [40]. Именно с помощью данной архитектуры и будет производиться детектирование лиц в текущем исследовании.
Обзор алгоритмов выбора ключевых кадров
Как известно, любое видео представляет собой последовательность выделенных с заданной частотой кадров. Так при осуществлении нескольких секунд видеосъемки можно получить порядка ста изображений объектов в динамике. Именно на основе извлеченных кадров, которые в полной степени характеризуют видео, и создаются различные рекомендательные системы, алгоритмы идентификации и верификации лиц, а также прочие приложения в области видео аналитики. Поскольку число данных кадров порой достигает нескольких миллионов, анализ каждого из них может быть достаточно трудоемкой и ресурсоемкой задачей.
Для идентификации лиц по видеопоследовательности принятие решения по каждому кадру не только влияет на скорость работы системы, но и на точность результата. Осуществление съемки в режиме реального времени часто приводит к появлению нечетких изображений, на которых ошибется алгоритм. Поэтому выбор ключевых кадров остается актуальной задачей для исследований в области видео аналитики. Под ключевыми кадрами понимаются видеоизображения достаточного качества, которые в полной мере содержат информацию о видео.
Современные подходы извлечения ключевых кадров в целом можно разделить на три категории по принципу осуществления поиска: алгоритмы, основанные на кластеризации, оптические системы и методы выбора качественных кадров [41]. Технологии, принадлежащие к первой группе, анализируют набор изображений лиц относительно их распределения, сформированного векторами-признаков. Соответственно, ключевыми кадрами являются центры кластеров, найденные с помощью некоторого алгоритма кластеризации, к примеру, K-means [42]. Системы второй категории выбирают главные кадры в соответствии со смещением объектов от кадра к кадру, которое извлекается методом оптического потока, таким как подход Лукаса-Канаде [43]. Несмотря на популярность указанных техник, данные алгоритмы являются достаточно трудоемкими в реализации и требуют значительного времени исполнения.
Сегодня интерес исследователей в области видео аналитики привлекают методы, основанные на извлечении качества кадров. Поиск качественных видеоизображений требует небольших вычислительных затрат, поэтому алгоритмы данной группы могут быть встроены в системы идентификации лиц. Основополагающим вопросом в данном подходе является понимание того, каким образом интерпретировать качество кадра. В современной литературе одним из основных отличий между методами разработки данного показателя является понимание метрики «хорошего» и «плохого», другими словами, порождение основополагающей истины [44]. Например, методы оценки «искажения», применяемые в алгоритмах сжатия и передачи изображений, подразумевают наличие «неискаженных» эталонов, относительно которых и принимается решение.
Однако, задача становится сложнее, когда оценивать вновь входящий кадр требуется «вслепую» на основании тех или иных характеристик. Некоторые работы за основу принимают человеческое восприятие качества [45, 46]. Другие полагаются на вычислении корреляции между входным изображением и ожидаемой точностью распознавания системы [47]. Также подходы оценки качества различаются с точки зрения характеристик, извлеченных из кадра. Так на качество изображения лица может влиять само лицо, например, его поза, выражение, или же характеристики видеокамеры, такие как фокусировка, разрешение, резкость, искажение объектива и др. Все эти факторы могут быть учтены с помощью традиционных методов цифровой обработки изображений или на основе технологий глубокого обучения. В данной работе предлагается рассмотреть алгоритмы, принадлежащие к обеим группам.
Авторы работы [48] предлагают четыре метрики качества: симметрия лица, резкость, контраст и яркость изображения. Однако, при оценке кадров подобным подходом зачастую приходится эмпирически подбирать порог, при котором следует отнести видеоизображение к ключевым. Эту проблему решают исследователи в [49], которые предлагают специальную технику ранжирования весов метрик для адаптации к любой системе распознавания лиц. Не смотря на тот факт, что данный подход позволил более точно определять ключевые кадры, он все равно уступает алгоритмам, основанным на глубоком обучении [48, 50, 51]. Так, например, авторы [52] предлагают нейронную сеть агрегации (англ. Neural Aggregation Network), которая состоит из СНС архитектуры для извлечения векторов признаков, а также блоков «внимания» в целях назначения весов качества для каждого кадра. В статье [53] также демонстрируется улучшение производительности алгоритмов идентификации лиц с помощью предложенных СНС моделей поиска ключевых видеоизображений.
1.3 Анализ библиотек глубокого обучения
Сегодня исследователи в области машинного обучения отдают свое предпочтение языку программирования Python благодаря его лаконичности, наличию разнообразных модулей и «синтаксического сахара». Так было предложено множество библиотек и фреймворков для того, чтобы наиболее эффективно создавать, обучать и тестировать модели сверточных нейронных сетей. Проведем краткий обзор данных библиотек, которые пользуются особой популярностью.
Tensorflow, Tensorflow 2.0 от компании Google представляет технологию глубинного обучения, основанную на высокопроизводительных тензорных вычислениях [54]. Благодаря открытому исходному коду библиотека позволяет полностью контролировать процесс построения и обучения сложных нейронных сетей. Ключевая идея тензорного подхода заключается в осуществлении любых вычислений с помощью некоторого графа операций. На рис.5 представлен пример трех простых графов.
Рис. 5. Пример тензоров операций
Keras - популярная высокоуровневая библиотека, предоставляющая удобный функционал реализации технологий глубокого обучения. Keras совместима с такими численными платформами, как Tensorflow, Theano, MXNet [55]. Благодаря модульности, расширяемости и минимализме Keras зачастую более предпочтительна, чем реализация моделей, к примеру, напрямую на Tensorflow. Также наличие большого количества предварительно обученных моделей сверочных нейронных сетей упрощает и ускоряет процесс проведения исследований.
Theano представляет собой библиотеку с открытым исходным кодом, а также компилятор Python, позволяющий оптимально и эффективно производить численные операции на многомерных массивах [56]. Theano предоставляет базовый функционал для создания и обучения СНС моделей.
PyTorch является современной библиотекой глубокого обучения от компании Facebook [57]. Основой, каркасом данной библиотеки являются уже упомянутые ранее тензорные вычисления. PyTorch, следуя принципу максимальной прозрачности и простоты, предоставляет тонкую обертку над вызовами BLAS [58]. Преимуществом библиотеки является возможность создавать динамические графы вычислений, что позволяет улучшить эффективность алгоритмов глубокого обучения.
Таким образом, в данном исследовании реализация, обучение и тестирование моделей сверточных нейронных сетей будет производиться посредством функционала Tensorflow и Keras по ряду причин. Во-первых, удобство функционала и хорошо задокументированный код дают возможность встраивать алгоритмы глубокого обучения в пользовательские приложения практически «из коробки». Во-вторых, данные библиотеки совместимы между собой, что позволяет переключать интерфейс в зависимости от задачи. Наконец, наличие предварительно обученных моделей решает проблему поиска огромного набора данных, когда сеть необходимо тренировать с нуля.
2. Прототип системы идентификации лиц на основе выбора качественных кадров
2.1 Задача оценки качества изображений
Процесс получения векторов-признаков изображений с помощью глубоких СНС моделей является дорогостоящей операцией и требует наличия мощных графический процессоров. Анализ видео в несколько сотен кадров может занимать десятки секунд, что значительно сказывается на общей производительности системы распознавания. Также вследствие воздействия внешних факторов, как освещение, потеря фокуса видеоустройством, сильные смещения или наклоны головы распознаваемого человека, принятие решение по каждому кадру ведет к возникновению ошибок и нестабильной работе алгоритма идентификации [48]. Поэтому в данном исследовании проблему распознавания лиц по видеопоследовательности предлагается свести к выбору качественных кадров. Обзор и анализ публикаций в области компьютерного зрения и видеообработки показывает, что данный подход является одним из наиболее эффективных методов, повышающих устойчивость систем идентификации лиц [1, 48].
В настоящем исследовании задача формирования набора ключевых видеоизображений состоит в том, чтобы каждому вновь поступающему кадру дать некоторую числовую характеристику качества qt, по которой можно однозначно отнести данный кадр к «хорошим» или «плохим». Наиболее очевидный подход состоит здесь в использовании более простых и быстрых методов оценки качества.
Одним из наиболее значимых факторов, влияющих на качество изображения, является его яркость [48]. Данный параметр вычисляется на основании значения интенсивности в каждом пикселе с помощью метрики Luma (Y). Коэффициенты для каналов изображения (RGB) определены в стандарте ITU-BT.709 [59].
Здесь h - высота входящего изображения , w - ширина.
В данном исследовании также предлагается определять качество кадров с помощью вычисления контраста изображения [48].
В литературе был предложен метод BRISQUE (Blind/Referenceless Image Spatial Quality Evaluator) для вычисления оценки качества изображений, близкой к человеческому восприятию [60]. Данный метод определяет качество на основе извлечения статистики естественных сцен с помощью коэффициентов, вычисленных с помощью обобщенного нормального распределения. В исследовании было установлено, что нормированные характеристики яркости естественных сцен подчиняются нормальному распределению Гаусса. Однако, наличие искажений изображения меняет статистические характеристики нормированного коэффициента. Соответственно, отклонение от нормального распределения и дает оценку качества. Вычисление метрики BRISQUE сводится к расчету нормализованного коэффициента яркости в каждом пикселе i=1…h, j=1…w.
Здесь отвечает за коэффициент оттенков серого в каждом пикселе изображения, W - функция-фильтр Гаусса [60].
Наличие шумов в изображении нарушает закономерность между соседними коэффициентами . Авторы в [60] предлагают вычислять значение искажений с помощью обобщенных характеристик распределения Гаусса.
Здесь , - Гамма-функция.
После извлечения векторы характеристик (4) подаются на вход алгоритма машины опорных векторов (англ. SVM), где и производится окончательная оценка [60]. В результате получается значение качества в диапазоне от 0 до 100, где чем ниже оценка, тем лучше.
После того, как были получены оценки качества для каждого видеоизображения , необходимо выбрать оптимальное количество данных кадров для подачи на вход сверточной нейронной сети. Пусть оценка качества кадра из входной видеопоследовательности . Отсортируем полученные оценки в порядке убывания или возрастания (в зависимости от алгоритма), от «лучшего» к «худшему», так что . Из индексов возьмем первые K , которые и будем считать ключевыми кадрами. Параметр K обычно определяется эмпирически.
2.2 Оценка качества на основе глубокого обучения
В данной работе также предлагается рассмотреть алгоритмы оценки качества кадров на основе глубокого обучения. Так авторы в [44] предлагают модель сверточной нейронной сети FaceQNet для получения численных характеристик качества изображений. В основу данной архитектуры вошла глубокая СНС ResNet-50, из которой был извлечен последний слой классификации [19].
Рис. 6. FaceQnet
Дополнительно в модель FaceQNet добавлено два новых слоя для осуществления регрессии. Данная сеть обучена на подмножестве из трехсот индивидуальных лиц набора данных VGGFace2. Предварительно каждому изображению обучающего множества присвоена оценка качества с помощью фреймворка BioLab-ICAO [45]. На рис. 6 схематически представлен процесс обучения предложенной архитектуры.Для того, чтобы создать СНС модель оценки качества видеоизображений, необходимо наличие соответствующего обучающего набора данных. Самостоятельная разметка изображений обучения и тестирования является затратной процедурой, а готовые данные не всегда находятся в открытом доступе. Так авторы статьи [61] одни из немногих совместно с предложенной системой оценки изображений предоставляют набор данных FIIQA с соответствующими показателями качества освещения. Для каждого экземпляра базы указана метрика качества 1, 2 или 3, лучшим считается максимальный показатель. На рис. 7 представлены примеры изображений набора данных в различных вариантах освещения.
Рис. 7. Набор данных FIIQA
В настоящем исследовании предлагается обучить «легкую» СНС архитектуру с помощью предоставленного набора данных FIIQA. Детали реализации алгоритма будут описаны подробно в главе, посвященной экспериментальным результатам.
Перенос знаний сети
Основной идеей данного исследования является осуществление оценки качества кадров с помощью быстрых и простых алгоритмов для того, чтобы впоследствии ускорить время работы системы распознавания лиц. В связи с тем, что в основе архитектуры FaceQNet лежит тяжелая ResNet-50 [44], данная модель не позволит значительно повысить эффективность процесса распознавания лиц. Поэтому предлагается обучить более легкую сверточную нейронную сеть по принципу FaceQNet, взяв за основу похожий набор данных. Для этого необходимо наличие множества изображений лиц с размеченной информацией о качестве фотографий. Однако, сложность заключается в поиске подобного набора данных, так как обычно разметка базы является дорогостоящей процедурой и впоследствии информация не находится в открытом доступе. Авторы FaceQNet [44] не являются исключением, они также не предоставляют набор данных качества, на котором обучали модель. Поэтому в настоящем исследовании предлагается рассмотреть процесс обучения легкой сети на основе подхода «переноса знаний».
Сегодня технологии глубокого обучения достигли невероятных результатов в области компьютерного зрения, распознавания речи, нейролингвистического программирования и др. Однако, большинство разработанных архитектур являются вычислительно дорогостоящими для запуска на мобильных или встроенных устройствах. Для решения указанной проблемы в литературе предложено множество подходов «уменьшения» моделей [62]. Все они делятся на две большие независимые группы по принципу реализации упрощения сетей: алгоритмы «сжатия» и подходы «переноса знаний» [63]. Одним из популярных подходов, относящихся ко второй группе, является «дистилляция знаний» от тяжелой СНС к более легкой [73]. Данный алгоритм также известен как подход «Ученик/Учитель» [64]. После того, как «громоздкая» модель обучена, ее знания можно передать более легкой архитектуре при помощи особого процесса обучения. Другими словами, для каждого экземпляра обучающей выборки имеется распределение, спрогнозированное с помощью тяжелой сети. На основании полученного выходного распределения в качестве «мягких целевых значений» происходит обучение меньшей модели [73]. Для легкой модели необходимо достичь обобщающей способности близкой к результатам, которые получаются посредством тяжелой архитектуры. Данная цель осуществляется посредством создания особой функции потерь, учитывающей как векторы-признаков, так и выходы модели-учителя [73].
В настоящем исследовании производится процесс дистилляции знаний от сети FaceQNet [44] к более легким архитектурам. В качестве моделей-учеников предлагается рассмотреть MobileNet [20], а также простую сеть по типу Lenet [65], состоящую всего из 4-5 сверточных слоев (далее FaceQNet mobile и FaceQNet light соответственно). Так как выходом FaceQNet является регрессия значения качества изображений, то последними слоями легких сетей так же будут слои, отвечающие за регрессию. Структура сети FaceQNet light представлена на рис. 8.
Рис. 8. FaceQNet light
Основной процесс обучения подходом «переноса знаний» схематически отображен на рис. 9.
Рис. 9. План обучения методом дистилляции
В качестве обучающего набора рассматривается подмножество VGGFace2 [28], состоящее из трехсот первых классов. Именно на данных изображениях и была натренирована основная сеть FaceQNet. На первом этапе обучения необходимо получить предсказания качества модели-учителя для каждого элемента из тренировочного набора. Данные оценки составляют набор эталонов для модели-ученика, они являются значениями, которые подвергаются аппроксимации. Также каждое изображение обучающей выборки поступает на вход легкой сети, которая возвращает некоторое предсказание - качество. Далее полученное моделью-учеником значение передается в функцию потерь, где на основании эталонных оценок и происходит вычислении ошибки и соответственно обновление весов модели-ученика. В качестве функции потерь здесь используется стандартная среднеквадратическая ошибка прогноза MSE (5). Код реализации описанного подхода представлен в Приложении 1.
На рис.10 приведены примеры изображений совместно с оценками качества, полученными моделью-учителем FaceQNet, а также - учениками FaceQNet mobile и FaceQNet light, Q0, Q1 и Q2 соответственно.
Рис. 10. Оценки качества FaceQNet, FaceQNet mobile, FaceQNet light
Структурная схема системы
Рассмотрим структурную схему системы распознавания лиц по видеопоследовательности на основании выбора качественных кадров (рис 11).
Рис. 11. Структурная схема предлагаемой системы идентификации лиц
На первом этапе в поступающей на вход видеопоследовательности с фиксированной частотой извлекаются отдельные кадры и происходит их предварительная обработка (нормировка). Далее осуществляется обнаружение области лица с помощью детектора MTCNN [40]. После чего выделенные лица подаются на вход этапа вычисления качества кадров, где одним из методов анализа структуры изображения (1)-(4) или с помощью технологий глубокого обучения происходит покадровая оценка. Полученные K - лучших видеоизображения поступают на вход сверточной нейронной сети. Результатом работы блока являются векторы-признаков кадров. Здесь необходимо получить единый вектор, описывающий входное видео. Наиболее очевидным решением является усреднение с помощью среднего арифметического по каждому кадру [9]. Окончательное решение производится с помощью дескриптора 1-NN (ближайшего соседа) с евклидовым расстоянием или косинусным сходством [66].
Описание алгоритма принятия решения на основании выбора качественных кадров с помощью СНС модели FaceQNet представлено в таблице 1.
Таблица 1 Алгоритм 1. Выбор качественных кадров с помощью FaceQNet
Параметры: входной набор кадров с предварительно выделенной областью лица , t ; Эталонные векторы , l для каждого класса обучающего набора данных, сохраненные с помощью 1-NN классификатора; Параметр K. Результат: Решение распознавания для видео Инициализировать Q:=[] Повторить Для каждого кадра t Получить оценку качества qt с помощью FaceQNet Положить Q[t] = До тех пор, пока есть кадры Отсортировать набор кадров Q, такой что Получить K первых кадров Q Инициализировать M:=0 Повторить Для каждого кадра t Получить вектор признаков с предпоследнего слоя сверточной нейронной сети Положить M = M + До тех пор, пока есть кадры Получить средний кадр M = M / K Вернуть решение с помощью 1-NN классификатора с евклидовым расстоянием l* = |
Графический интерфейс
Рис. 12. Графический интерфейс системы: (а) - главное окно, (б) - результат классификации
На рис. 12 представлен графический интерфейс предложенной системы идентификации лиц (рис. 11). Макет приложения составлен средствами функционала библиотеки QT [67]. В данном прототипе предусмотрена возможность осуществлять анализ загруженного видео файла, а также принимать решение в режиме реального времени. Количество общего числа кадров, по которому выполняется идентификация задается в настройках главного окна приложения.
Далее система отображает целевое видео, в это же время происходит процесс детектирования лица методом MTCNN [40]. После извлечения заданного числа кадров происходит процесс оценки качества с помощью модели FaceQNet mobile, а также непосредственно сама классификация на основе извлеченных векторов признаков глубокой архитектурой ResNet-50. В завершении алгоритма в окне результатов появляется лейбл предсказанного класса. Здесь также отображаются N/4 ключевых кадров, полученных из N изображений видеопоследовательности.
3. Результаты экспериментальных исследований
3.1 Описание наборов данных распознавания лиц
Одним из наиболее важных критериев успешной реализации системы идентификации лиц по видео является выбор набора данных для обучения и тестирования алгоритмов. Такая база изображений должна соответствовать ряду требований. Во-первых, необходимо наличие достаточного количества эталонов-классов, характеризующих различных людей. Во-вторых, так как поставленная задача подразумевает осуществление распознавание по видеопоследовательности, набор данных должен содержать соответствующие видеозаписи или предварительно выделенные кадры. Сегодня существует несколько вариантов наборов изображений лиц, удовлетворяющих заданным условиям. Рассмотрим более подробно варианты, на которых базируются экспериментальные результаты настоящего исследования.
IJB-C (IARPA Janus Benchmark-C) [68] является одним из наиболее популярных наборов данных для распознавания лиц. В базе присутствует 3531 уникальный объект, а именно имена знаменитостей, спортсменов, политических деятелей, для которых были собраны отдельные изображения и короткие видеозаписи. Всего в наборе содержится 21956 фотографии распознаваемых классов, а также 19593 видео с предварительно выделенными кадрами в размере 457512. Среднее количество кадров на одно видео составляет примерно 33 изображения. На предоставленных видеозаписях могут присутствовать не только лица классифицируемых объектов, поэтому дополнительно дается информация о расположении данных лиц. IJB-C содержит множество изображений, поистине трудных для распознавания. Зачастую лица перекрыты какими-либо объектами или повернуты в профиль, а также многие кадры сделаны при плохом освещении или недостаточном разрешении видеокамеры. На рис. 13 представлен пример ряда видеоизображений. В данном исследовании отдельные фотографии набора данных применяются для обучения классификатора поиска ближайшего соседа, а видеозаписи - для тестирования методов выбора ключевых кадров. нейронный сеть детектирование интерфейс
Рис. 13. Набор данных IJB-C
Также в настоящем исследовании предлагается рассмотреть набор данных YouTube Faces [69] для тестирования предложенной системы идентификации лиц. База данных состоит из 3425 видео, собранных со знаменитой одноименной платформы YouTube. Средняя длина видеоклипа составляет 181.3 кадра. Классы распознавания из YouTube Faces имеют пересечение в 596 эталонов со статическими изображениями из набора данных LFW [22]. Поэтому предлагается обучить дескриптор с помощью картинок из LFW, а тестирование алгоритмов выбора ключевых кадров - на YouTube Faces. Пример кадров набора данных YouTube Faces представлено на рис. 14.
Рис. 14. Набор данных YouTube Faces
Обучение моделей оценки качества кадров
С целью реализации алгоритмов поиска качественных кадров, основанных на технологии глубокого обучения, в данной работе предлагается натренировать легковесную СНС модель с помощью набора данных FIIQA [61]. Здесь в качестве базы для тонкой настройки используется архитектура MobileNet [20], предварительно обученная на VGGFace2 [28]. Также добавляется полносвязный слой с функцией активации Softmax [18] для осуществления классификации. Выходом нейросетевой модели являются вероятности принадлежности изображения к одному из трех классов качества. В качестве функции потерь рассматривается категориальная кросс-энтропия. Тренировка модели производилась на сервере AMD Ryzen Threadripper 1920X 12-Core Processor с графическим процессором Nvidia GeForce GTX 1080 Ti. Процесс тонкой настройки сверточной нейронной сети можно описать следующим образом: сначала веса базовой модели замораживаются и в несколько эпох тренируется только голова, после чего зафиксированные слои снова активизируются и производится обучение уже всей сети. Пример кода обучения с помощью функционала библиотеки Keras приведен в Приложении 2. На рис. 15 продемонстрирован процесс тренировки второго этапа и изменение точности предсказания на валидационном множестве в зависимости от эпохи.
Рис. 15. Процесс тренировки MobileNet на FIIQA
Выходом обученной модели MobileNet FIIQA является вероятность принадлежности изображения к одному из трех классов качества: , где . Здесь окончательное решение качества кадра интерпретируются с помощью оценки математического ожидания [9].
Алгоритм «переноса знаний» тяжелой модели FaceQNet рис. 9 также производился на указанном сервере (AMD Ryzen Threadripper 1920X 12-Core Processor). На рис. 16 представлено изменение значения функции потерь MSE (5) в процессе тренировки модели MobileNet методом переноса знаний.
Текущий раздел исследования посвящен анализу результатов тестирования выполнения схемы предложенной системы (рис 11). На сегодняшний день язык программирования Python пользуется заслуженной популярностью в области машинного обучения и компьютерного зрения благодаря удобству, лаконичности и наличию широкого ряда вспомогательных модулей. Поэтому в данной работе реализация предложенной системы и экспериментальные исследования также будут производиться с помощью функционала языка Python, в частности библиотек глубокого обучения Keras [55] и TensorFlow [54] версии 1.15.
Рис. 16. Процесс тренировки FaceQNet mobile методом переноса знаний
3.2 Оценка эффективности алгоритмов
Эффективность рассматриваемого подхода во многом зависит от скорости распознавания моделей сверточных нейронных сетей совместно с методами выбора качественных кадров. Так анализ производительности алгоритмов выполнялся на сервере AMD Ryzen Threadripper 1920X 12-Core Processor, 64-разрядной операционной системе Ubuntu 16, RAM 64GB, с графическим процессором Nvidia GeForce GTX 1080 Ti.
В данном исследовании рассматривается несколько СНС архитектур для извлечения векторов-признаков, поступающих видеоизображений, а именно: ResNet-50 [19], MobileNet [20, 29], предварительно обученная на наборе данных VGGFace2 (MobileNet-vgg2) [28], InsightFace ArcFace MXNet (далее InsightFace) [26]. В таблице 2 представлены размеры моделей, а также среднее время обработки одного кадра посредством сверточной нейронной сети. В последующих таблицах лучшие результаты выделены полужирным шрифтом, а худшие - курсивом.
Таблица 2 Эффективность моделей распознавания лиц
СНС |
Время обработки одного кадра, мс |
Размер модели, Мбайт |
||
GPU |
CPU |
|||
ResNet-50 |
9.186 |
48.917 |
93 |
|
MobileNet-vgg2 |
6.574 |
20.246 |
12.7 |
|
InsightFace |
15.735 |
93.407 |
170 |
Согласно результатам замера прямого прохода одного кадра модель MobileNet является самой быстрой из предложенных вариантов в связи со спецификой данной сети. Оптимизированная для мобильных платформ архитектура способна обрабатывать по 3-5 кадров в секунду. MobileNet также обладает преимуществом и по размеру натренированных весов, разница составляет почти в 14 раз по сравнению с тяжелой InsightFace. В среднем графический процессор дает ускорение в 5 раз.
Однако, традиционный подход распознавания лиц предполагает извлечение признаков каждого изображения входящей видеопоследовательности. Следуя простым арифметическим расчетам, можно заметить очевидное снижение эффективности работы системы идентификации лиц в зависимости от роста количества приходящих кадров. Так по формуле (7) видео длиной в N=1000 кадров будет обработано уже за 8 секунд самой быстрой из описанных сетью.
Ключевой идеей предложенного в данном исследовании подхода (рис. 11) является применение эффективных алгоритмов выбора K качественных кадров из входной видеопоследовательности. Тогда вычисление общего времени работы основной части системы сводится к формуле (8), где - это скорость оценки кадра, а - инференс сети.
Для повышения эффективности системы распознавания лиц скорость работы алгоритмов выбора качественных кадров должна превосходить время прямого прохода одного кадра через СНС модель. Так в таблице 3 приведены результаты замеров скорости работы методов оценки качества на примере одного изображения.
Таблица 3. Эффективность алгоритмов оценки качества
Метод оценки качества |
Время обработки одного кадра, мс |
Размер модели, Мбайт |
||
GPU |
CPU |
|||
Luminance (1) |
- |
0.027 |
0 |
|
Contrast (2) |
- |
0.071 |
0 |
|
Brisque (4) |
- |
285.123 |
346 |
|
FaceQNet |
12.039 |
47.897 |
93.33 |
|
FaceQNet mobile |
6.351 |
22.088 |
12.94 |
|
FaceQNet light |
3.111 |
14.213 |
4.4 |
|
FIIQA mobile |
6.642 |
21.409 |
12.83 |
Согласно полученным результатам наиболее эффективными и менее ресурсоемкими алгоритмами оказались простые методы оценки Яркости (Luminance) и Контраста (Contrast). Подходы выбора качественных кадров с помощью легковесных моделей сверточных нейронных сетей так же показали свою эффективность. Худшие результаты производительности продемонстрировал довольно сложный алгоритм Brisque, что накладывает существенные ограничения на его применение в рамках предложенной системы. Оригинальная модель FaceQNet также не дает преимущества в скорости распознавания.
График зависимости времени извлечения векторов-признаков сетью ResNet-50 от количества кадров в видео представлен на рис. 17. Здесь традиционный подход обработки каждого кадра отмечен как Baseline, он сравнивается с применением исследуемых алгоритмов оценки качества кадров согласно предложенному методу (рис. 11). Для замера эффективности число качественных изображений K, подающихся на вход модели распознавания, было зафиксировано, оно равно ј от общего количества кадров. По результатам экспериментов, можно сделать вывод, что значительная разница в эффективности применения алгоритмов оценки качества заметна при количестве кадров, равном 150. С ростом числа кадров простые и быстрые алгоритмы выбора ключевых видеоизображений показывают свое преимущество.
Другим немаловажным показателем эффективности предложенной системы (рис. 11) является точность идентификации лиц. В настоящей работе данное значение характеризуется долей правильно определенных классов к общему числу предсказаний, полученных дескриптором 1-NN ближайших соседей на заключительном шаге. Все рассматриваемые алгоритмы выбора качественных кадров сравниваются с традиционным подходом осуществления идентификации по каждому кадру (далее Baseline). Основной целью исследования является получение точности распознавания не ниже Baseline. Поэтому предпочтение отдается методам с достаточно высокой долей правильно предсказанных классов. С целью сравнения разнообразных подходов поиска ключевых видеоизображений в работе рассматриваются несколько алгоритмов кластеризации: K-means и MiniBatchKMeans, которые реализованы с помощью модуля Scikit-learn [72].
...Подобные документы
Искусственные нейронные сети как одна из широко известных и используемых моделей машинного обучения. Знакомство с особенностями разработки системы распознавания изображений на основе аппарата искусственных нейронных сетей. Анализ типов машинного обучения.
дипломная работа [1,8 M], добавлен 08.02.2017Способы применения технологий нейронных сетей в системах обнаружения вторжений. Экспертные системы обнаружения сетевых атак. Искусственные сети, генетические алгоритмы. Преимущества и недостатки систем обнаружения вторжений на основе нейронных сетей.
контрольная работа [135,5 K], добавлен 30.11.2015Описание экспертной системы по подбору кадров. Требования к функциональным характеристикам программы. Состав и параметры технических средств ЭВМ. Структура входных данных. Руководство программиста и пользователя. Тестирование программного средства.
курсовая работа [897,0 K], добавлен 13.11.2016Исследование эффективности применения нейронных сетей в рамках отношений между людьми. Принцип работы с нейросимулятором. Составление обучающей выборки и проектирование персептронов. Анализ выбора супружеской пары с использованием нейросетевых технологий.
презентация [150,8 K], добавлен 19.08.2013Математические модели, построенные по принципу организации и функционирования биологических нейронных сетей, их программные или аппаратные реализации. Разработка нейронной сети типа "многослойный персептрон" для прогнозирования выбора токарного станка.
курсовая работа [549,7 K], добавлен 03.03.2015Обзор основных алгоритмов и методов распознавания лиц. Архитектура средств динамического отслеживания лиц в видеопоследовательности. Результаты тестирования на больших объемах видеоданных. Разработка алгоритмов и методов динамического отслеживания лиц.
дипломная работа [5,9 M], добавлен 20.07.2014Изучение методов разработки систем управления на основе аппарата нечеткой логики и нейронных сетей. Емкость с двумя клапанами с целью установки заданного уровня жидкости и построение нескольких типов регуляторов. Проведение сравнительного анализа.
курсовая работа [322,5 K], добавлен 14.03.2009Проектирование функционального модуля по учету кадров на предприятии в отделе кадров. Анализ предметной области. Создание документа, формально определяющего существование проекта, то есть технического задания на проект фрагмента информационной системы.
курсовая работа [2,2 M], добавлен 11.12.2012Изучение принципов построения локальных вычислительных сетей. Обоснование выбора сетевой архитектуры для компьютерной сети, метода доступа, топологии, типа кабельной системы, операционной системы. Управление сетевыми ресурсами и пользователями сети.
курсовая работа [1,8 M], добавлен 25.04.2016Нейронные сети как средство анализа процесса продаж мобильных телефонов. Автоматизированные решения на основе технологии нейронных сетей. Разработка программы прогнозирования оптово-розничных продаж мобильных телефонов на основе нейронных сетей.
дипломная работа [4,6 M], добавлен 22.09.2011Сравнительный анализ различных топологий сетей. Исследование элементов структурированной кабельной системы. Методы доступа и форматы кадров технологии Ethernet. Локальные сети на основе разделяемой среды: технология TokenRing, FDDI, Fast Ethernet.
курсовая работа [1,2 M], добавлен 19.12.2014Рост активности в области теории и технической реализации искусственных нейронных сетей. Основные архитектуры нейронных сетей, их общие и функциональные свойства и наиболее распространенные алгоритмы обучения. Решение проблемы мертвых нейронов.
реферат [347,6 K], добавлен 17.12.2011- Разработка алгоритмов и программ для определения сходства семантических сетей на основе их сложности
Семантические сети как модели представления знаний. Основные методы определения сходства графовых моделей систем. Метод решения задач определения сходства семантических сетей на основе их сложности. Разработка алгоритмов и их программная реализация.
дипломная работа [1,3 M], добавлен 17.12.2011 Анализ предметной области. Технико-экономическое обоснование разработки программного обеспечения информационной системы отдела кадров. Проектирование пользовательского интерфейса. Оптимизация параметров микроклимата помещений, оборудованных ПЭВМ.
дипломная работа [6,8 M], добавлен 16.01.2015Подсистема анализа изображения отпечатка пальца в составе системы идентификации личности по отпечаткам пальцев на основе папиллярного узора для дальнейшего распознавания личности. Характеристика функциональных возможностей системы и код програмы.
дипломная работа [3,1 M], добавлен 01.07.2008Создание титров с использованием видео-редактора Sony Vegas Pro 10.0 и графического редактора. Придание способности двигаться и видимости жизни объектам. Анимация в среде 3D Studio Max 2010. Воспроизведение визуализированной последовательности кадров.
курсовая работа [2,0 M], добавлен 17.01.2013Анализ работы отдела кадров и систематизация предъявляемых требований для Автоматизированной системы "Отдел кадров". Оценка возможности реализации системы в среде MS Access в соответствии с требованиями, ее разработка и экономическое обоснование.
дипломная работа [1,2 M], добавлен 28.06.2010Сущность и экономическое обоснование, методы и подходы к прогнозированию валютного курса. Описание технологии интеллектуальных вычислений. Применение генетических алгоритмов для настройки архитектуры нейронных сетей. Основные способы улучшения модели.
курсовая работа [1,3 M], добавлен 26.03.2016Теоретические основы сверточных нейронных сетей. Исследование зависимости качества работы сети от изменения различных характеристик. Сравнение результатов работы сетей типа многослойный персептрон в определении пола и возраста человека по фотографии лица.
курсовая работа [2,5 M], добавлен 18.07.2014Первое систематическое изучение искусственных нейронных сетей. Описание элементарного перцептрона. Программная реализация модели распознавания графических образов на основе перцептрона. Интерфейс программы, основные окна. Составление алгоритма приложения.
реферат [100,5 K], добавлен 18.01.2014