ОБЛАСТЬ ТЕХНИКИ
[001] Настоящее изобретение относится, в общем, к вычислительной технике, а в частности, к способу и системе определения подлинности лица на изображении с целью защиты от мошенничества.
УРОВЕНЬ ТЕХНИКИ
[002] В настоящее время существуют несколько известных решений, используемых в задачах биометрии лица для защиты от мошенничества. Под мошенничеством понимаются ситуации, при которых злоумышленник в системе лицевой идентификации пытается выдать себя за другого человека путем подмены регистрируемой фотографии или видеозаписи с пользовательского терминала. В качестве примера подделки могут использоваться, например, цветная распечатка фотографии человека на бумаге, показ фотографии или видеозаписи на экране телефона, бумажная или объемная маска, выполненная из специальных материалов.
[003] Технологии защиты лицевой идентификации способны определить, является ли полученная фотография или видеозапись с пользовательского терминала поддельной или настоящей. Для этого осуществляется вычислительный анализ лицевых признаков, основанный, как правило, на применении алгоритмов машинного обучения, в частности, с помощью искусственных нейронных сетей (ИНС), для формирования итогового решения проверки подлинности.
[004] Известен способ выявления подделок в биометрических системах посредством предоставления ей фотографии человека, зарегистрированного в системе (Способ и устройство распознавания рельефности лица, патент № RU 2431190 С2, 22.06.2009), который основан на анализе рельефности лица. Данный подход включает в себя выполнение последовательности операций, направленных на идентификацию признаков объемности полученной фотографии объекта. В частности, формируются два изображения целевого объекта: одно при включенной подсветке, другое - при выключенной. На сформированных изображениях выделяются области, содержащие лицо, после чего выполняется сопоставление областей между парой изображений и построение карты распределения интенсивности. Анализ изменений интенсивности сопоставляемых областей позволяет принять решение о рельефности представленного на изображениях лица и выявить попытку обмана биометрической системы.
[005] Известно решение, направленное на обнаружение попыток обмана биометрических систем распознавания лиц, основанное на анализе инфракрасного изображения (Living body detection method and device, патент № CN112883758B, 25.08.2023), из которого извлекают признаки области интереса, содержащей ключевые черты лица, затем данные подают в нейросетевой классификатор. Классификатор определяет наличие или отсутствие информации о распределении вен на изображении, после чего принимается решение о подлинности исходных данных.
[006] Известен способ выявления подделок в биометрических системах идентификации пользователя, основанный на извлечении информации о глубине лица из последовательных изображений (Anti-spoofing, патент № GB2579583B, 06.01.2021). При данном подходе используется алгоритм машинного обучения, который обучается восстанавливать псевдоглубину с использованием референсных трехмерных изображений. Также используется специальный модуль обработки, который адаптирует параметры для сопоставления результатов анализа полученных изображений с реальной глубиной. Обученная система проверяет на соответствие вычисленную глубину и ожидаемые значения для настоящего лица. Если обнаружено несоответствие, то изображение определяется как поддельное. Недостатком данного подхода является необходимость использования нескольких последовательных кадров с терминала пользователя, что приводит к появлению временной задержки при обработке данных.
[007] В уровне техники также известен способ анализа подлинности лица на изображении с использованием обученной модели искусственного интеллекта (Method and device for determining face liveness, патент № KR102509134B1, 14.03.2023). Данная система сначала получает первое изображение с лицом, на основе которого генерируются обучающие данные. Для этого полученное изображение обрабатывается различными способами, такими как поворот, увеличение, сдвиг и др., чтобы создать множество вариаций исходных данных. Далее в обученную модель подается второе изображение для извлечения вектора признаков, на основе которого формируется решении о наличии настоящего лица на изображении.
[008] Также известен способ защиты биометрической идентификации на изображении с использованием нейронной сети (Biometric task network, патент № US11776323B2, 03.10.2023). При этом используются несколько отдельных нейронных сетей - общая нейронная сеть извлекает ключевые признаки изображения, затем признаки передаются в специализированные нейронные сети, которые определяют область лица, текстуру, позу тела и другие параметры. Полученные результаты передаются в нейронную сеть для объединения признаков, формируется решение о том, является ли входная фотографии подлинной.
[009] Известен способ защиты биометрических систем от злоумышленников на основе анализа текстурных характеристик изображения (Facial liveness detection, патент № US11244150B2, 08.02.2022). Система выделяет область лица на полученном изображении, затем определяются зеркальные и текстурные признаки лица. Зеркальные признаки извлекаются из Y-канала изображения после его обработки в цветовом пространстве YUV. Далее признаки объединяются в итоговый вектор, на основе которого формируется финальное решение.
[010] Также известен метод определения подлинности человека на изображении (Method and apparatus with liveness detection, патент № US11804070B2, 31.10.2023), в котором с помощью алгоритмов детектирования определяется область лица и извлекаются различные параметры изображения, такие как оттенок, наклон лица, баланс цветовых компонент, яркость и контраст. Параметры сравниваются с предопределенными диапазонами значений, которые были вычислены на обучаемой выборке. Если обнаружено, что параметры выходят за пределы допустимых значений, то система может их скорректировать. После корректировки параметров система применяет модель на основе нейронной сети для определения подлинности изображения. Известно, что данный подход характеризуется неустойчивостью к условиям внешнего освещения, изменения которых даже с учетом системы корректировки сложно компенсировать.
[011] Наиболее близким аналогом заявляемого изобретения является метод определения подлинности лица человека (Liveness test method and apparatus, патент № US10121059B2, 06.11.2018), который основан на обработке изображения с помощью нейронной сети. Из исходного изображения извлекается подобласть лица, которая подается на первый входной слой модели нейронной сети, исходное изображение лица подается на второй входной слой. Модель обрабатывает два изображения, извлекает из первого изображения данные о текстуре и комбинирует их с признаками, полученными из второго изображения. Скомбинированные признаки обрабатываются последующими слоями нейронной сети, после чего на выходе формируется решение о том, является ли человек на изображении подлинным. В данном подходе используется только изображение лица, однако для оценки подлинности можно использовать исходную, полноформатную фотографию с пользовательского терминала. Исходное изображение несет в себе общую информацию о текстуре и может содержать артефакты, признаки которых особенно важны в случае детектирования ряда спуфинг-атак, например, показа человека с мобильного телефона, когда видны края или рамки экрана, что служит в качестве важного признака наличия атаки.
[012] При этом, известные решения при определении подлинности изображения не учитывают информацию о положении ключевых точек пользователя, характеризующих, например, контуры лица (глаза, нос, рот), расположение рук, плеч и пр. Использование подобных данных при анализе изображения позволяет в явном виде выделить области интереса, что обеспечивает повышение результирующей точности моделей определения подлинности.
[013] Для надежного определения признаков подделки также необходимо выполнять совместную обработку изображений лица и пользователя. В частности, изображение лица позволяет найти неестественные изменения в структуре кожи при использовании поддельной маски, а изображение пользователя выявлять артефакты общей текстуры и разрывы фона, которые наиболее часто проявляются, например, при показе напечатанной фотографии. Таким образом, анализ объединенных признаков изображений лица и пользователя повышает надежность работы биометрической системы при применении злоумышленником различных видов подделок.
РАСКРЫТИЕ ИЗОБРЕТЕНИЯ
[014] Технической проблемой или задачей, поставленной в данном изобретении, является создание нового эффективного, простого и надежного решения для определения подлинности лица на изображении.
[015] Техническим результатом, достигаемым при выполнении вышеуказанной задачи, является повышение точности при определении подлинности лица.
[016] Указанный технический результат достигается благодаря осуществлению способа определения подлинности лица на изображении, выполняемого по меньшей мере одним вычислительным устройством, содержащего этапы, на которых:
a. получают исходное изображение пользователя;
b. определяют координаты положения лица пользователя;
c. формируют в соответствии с координатами положения лица пользователя изображение лица;
d. определяют положение ключевых точек лица для изображения лица и положение ключевых точек пользователя для изображения пользователя;
e. формируют первую маску ключевых точек лица для изображения лица и вторую маску ключевых точек пользователя для изображения пользователя;
f. рассчитывают первое векторное представление признаков лица на основе изображения лица и первой маски ключевых точек лица, и второе векторное представление признаков пользователя на основе изображения пользователя и второй маски ключевых точек пользователя;
g. на основе первого и второго векторов признаков определяют итоговую оценку вероятности подлинности пользователя на исходном изображении;
h. на основе значения итоговой оценки вероятности подлинности пользователя на изображении определяют класс изображения, указывающий на то, что лицо, представленное на изображении, является подлинным или поддельным.
[017] В одном из частных примеров осуществления способа этапы f-g выполняются моделью машинного обучения или ансамблем моделей, при этом модель машинного обучения или ансамбль моделей обучены на наборе данных, содержащих подлинные и поддельные изображения лиц пользователей.
[018] В другом частном примере осуществления способа ансамбль моделей состоит из отдельных моделей, каждая из которых обучена на выявление определенного разработчиком вида подделок.
[019] В другом частном примере осуществления способа этап формирования масок ключевых точек лица и пользователя осуществляется с помощью нейронной сети, обученной с целью повышения точности определения итоговой оценки вероятности подлинности пользователя.
[020] В другом частном примере осуществления способа этап формирования масок ключевых точек лица и пользователя содержит этапы, на которых:
- формируют замкнутые контуры в соответствии с положениями координат ключевых точек;
- увеличивают ширину линии замкнутых контуров посредством добавления к упомянутым линиям заданного количества соседних пикселей, либо увеличивают ширину линии замкнутых контуров посредством использования фильтров размытия с заданными параметрами, например, гауссовского фильтра.
[021] В другом частном примере осуществления способа дополнительно выполняют этап, на котором нормируют изображения посредством приведения значений пикселей к заданным уровням математического ожидания и дисперсии распределения или посредством линейного преобразования к заданному диапазону значений.
[022] В другом частном примере осуществления способа дополнительно выполняют этап, на котором изменяют размеры изображений для их соответствия входам моделям определения признаков изображения посредством двумерной интерполяции изображений.
[023] В другом частном примере осуществления способа этап формирования изображения лица содержит этапы, на которых:
- в соответствии с координатами положения лица выделяют на изображении пользователя квадратную область;
- увеличивают квадратную область на заданное количество пикселей, причем в качестве изображения лица выбирают изображение, расположенное в увеличенной квадратной области.
[024] В другом частном примере осуществления способа дополнительно выполняют этапы, на которых определяют, что выделенная увеличенная квадратная область выходит за пределы изображения пользователя и выполняют репликацию граничных пикселей изображения пользователя для заполнения упомянутой выделенной области.
[025] В другом частном примере осуществления способа дополнительно выполняют этапы, на которых формируют:
- входные данные для первой модели посредством матричного сложения или умножения значений пикселей первой маски ключевых точек и обработанного изображения лица;
- входные данные для второй модели посредством матричного сложения или умножения значений пикселей второй маски ключевых точек и обработанного изображения пользователя, причем при выполнении операции сложения или умножения элементы матрицы маски ключевых точек умножаются на заранее заданный числовой коэффициент.
[026] В другом частном примере осуществления способа дополнительно выполняют этапы, на которых формируют:
- входные данные для первой модели посредством конкатенации матриц первой маски ключевых точек и обработанного изображения лица; и
- входные данные для второй модели посредством конкатенации матриц второй маски ключевых точек и обработанного изображения пользователя.
[027] В другом частном примере осуществления способа дополнительно выполняют этапы, на которых формируют:
- входные данные для первой модели посредством взвешенного сложения трех матриц, соответствующих пикселям первой маски ключевых точек, инвертированной первой маски ключевых точек и обработанного изображения лица;
- входные данные для второй модели посредством взвешенного сложения трех матриц, соответствующих пикселям второй маски ключевых точек, инвертированной второй маски ключевых точек и обработанного изображения пользователя.
[028] В другом частном примере осуществления способа для определения класса изображения первый и второй векторы признаков обрабатываются независимыми слоями нейронной сети.
[029] В другом частном примере осуществления способа для определения класса изображения первый и второй векторы признаков конкатенируются, после чего обрабатываются общей нейронной сетью.
[030] В другом предпочтительном варианте осуществления заявленного решения представлена система определения подлинности лица на изображении, содержащая по меньшей мере одно вычислительное устройство и по меньшей мере одну память, содержащую машиночитаемые инструкции, которые при их исполнении по меньшей мере одним вычислительным устройством выполняют вышеуказанный способ.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[031] Признаки и преимущества настоящего изобретения станут очевидными из приводимого ниже подробного описания изобретения и прилагаемых чертежей, на которых:
[032] На Фиг. 1 представлена общая схема взаимодействия элементов системы определения подлинности лица.
[033] На Фиг. 2 представлен пример исходного изображения пользователя и изображения лица.
[034] На Фиг. 3 представлен пример обработанного изображения пользователя.
[035] На Фиг. 4 представлен пример формирования замкнутого контура с увеличенной шириной линии для маски ключевых точек изображения лица пользователя.
[036] На Фиг. 5 представлен пример общего вида вычислительного устройства.
ОСУЩЕСТВЛЕНИЕ ИЗОБРЕТЕНИЯ
[037] Ниже будут описаны понятия и термины, необходимые для понимания данного технического решения.
[038] В данном техническом решении под системой подразумевается, в том числе компьютерная система, ЭВМ (электронно-вычислительная машина), ЧПУ (числовое программное управление), ПЛК (программируемый логический контроллер), компьютеризированные системы управления и любые другие устройства, способные выполнять заданную, четко определенную последовательность операций (действий, инструкций).
[039] Под устройством обработки команд подразумевается электронный блок, либо интегральная схема (микропроцессор), исполняющая машинные инструкции (программы).
[040] Устройство обработки команд считывает и выполняет машинные инструкции (программы) с одного или более устройств хранения данных. В роли устройства хранения данных, включая, но не ограничиваясь, могут выступать жесткие диски (HDD), флеш-память, ПЗУ (постоянное запоминающее устройство), твердотельные накопители (SSD), оптические приводы.
[041] Программа - последовательность инструкций, предназначенных для исполнения устройством управления вычислительной машины или устройством обработки команд.
[042] База данных (БД) - совокупность данных, организованных в соответствии с концептуальной структурой, описывающей характеристики этих данных и взаимоотношения между ними, причем такая совокупность данных, которая поддерживает одну или более областей применения (ISO/IEC 2382:2015, 2121423 «database»).
[043] Сигнал - материальное воплощение сообщения для использования при передаче, переработке и хранении информации.
[044] Логический элемент - элемент, осуществляющий определенные логические зависимости между входными и выходными сигналами. Логические элементы обычно используются для построения логических схем вычислительных машин, дискретных схем автоматического контроля и управления. Для всех видов логических элементов, независимо от их физической природы, характерны дискретные значения входных и выходных сигналов.
[045] В соответствии со схемой, представленной на Фиг. 1, заявленная система определения подлинности лица на изображении содержит: устройство 10 формирования изображения; устройство 20 обработки изображения; устройства 31, 32 генерации маски ключевых точек; устройства 41, 42 формирования входных данных; модели 51, 52 определения признаков изображения; устройство 60 классификации признаков.
[046] Устройство 10 формирования изображения может быть реализовано на базе по меньшей мере одной фото/видео камеры различного типа, в частности PTZ-камеры, IP-камеры, стационарные антивандальные камеры, камеры кругового обзора, камеры мобильного устройства или терминала и т.п., оснащенного детектором лица, например, раскрытого в статье P.Viola и MP. Jones «Robust real-time face detection*. Также в качестве алгоритма для детектирования лиц людей могут использоваться такие подходы, как: адаптированное улучшение и основанный на нем метод Виолы- Джонса, MTCNN, метод гибкого сравнения на графах (Elastic graph matching), DeepFace Facebook, метод детектирования объектов YOLO, семейство нейросетевых архитектур R-CNN, Fast R-CNN, Faster R-CNN.
[047] Устройство 20 обработки изображения может быть выполнено на базе вычислительного устройства и оснащено логическими элементами, выполненными на транзисторах, и различными преобразователями сигналов (ЦПА, АПЦ и пр.) размещенными таким образом, чтобы обеспечить получение и обработку сигналов от устройства 10 описанным далее способом.
[048] Устройства 31, 32 генерации маски ключевых точек могут быть реализованы на базе вычислительного устройства или нейронных сетей, содержащих входные, выходные и прочие слои, состоящие из множества нейронов с соответствующими весовыми коэффициентами, настроенные путем обучения нейронных сетей на тренировочном наборе данных, в частности, характеризующим ключевые точки пользователя на изображении для формирования матрицы внимания. При этом для первичного формирования ключевых точек используются известные алгоритмы распознавания точек лица, раскрытого, например, в руководстве «Face landmark detection guide», опубл. в Интернет по адресу: https://developers.google.com/mediapipe/solutions/vision/face_landmarker или такие алгоритмы, как Active Appearance Models (ААМ), Active Shape Models (ASM), SURF, NeoFace, SHORE, ROl, Template Matching Methods, DPM (модель деформируемой детали).
[049] Устройства 41, 42 формирования входных данных для модели могут быть реализованы на базе вычислительного устройства, оснащенного известным программно-аппаратным обеспечением для выполнения операции объединения данных сгенерированных масок ключевых точек и обработанных изображений, полученных от устройства 20.
[050] Модели 51, 52 определения признаков изображения могут быть реализованы на базе нейронных сетей, содержащих входные, выходные и прочие слои, состоящие из множества нейронов с соответствующими весовыми коэффициентами, настроенные путем обучения на размещенных изображениях и соответствующих им данных (масок), характеризующих структуру ключевых областей, причем модель 51 обучается на изображениях лиц пользователей в отличие от модели 52, обученной на изображениях пользователей. Таким образом, модель 51 позволяет более эффективно анализировать характерные признаки лица, в частности, текстуру кожи, изменения в цветах лица, наличие мелкомасштабных артефактов, например бликов или отражений. Такой анализ крайне важен для детектирования сложных видов подделок, таких как силиконовые маски или объемные маски, напечатанные на 3D принтере. В свою очередь, модель 52 учитывает присутствие крупных деталей на изображении для определения неестественного положения частей тела, выполняет общий анализ текстуры изображения и выявляет признаки разрыва или изменения фона, которые могут возникать, например, при показе распечатанной фотографии лица или пользователя.
[051] Аугментация данных для обучения одной или нескольких моделей машинного обучения может проводиться с использованием как минимум одного из следующих подходов: масштабирование изображения (увеличения, уменьшения); обрезка изображения; затемнение всего изображения, отдельных каналов изображения; осветление всего изображения, отдельных каналов изображения; повышение контрастности; цветовые преобразования: перемена мест (перемешивание) цветовых каналов, усиление, уменьшения одного или несколько цветовых каналов, получение изображения в градациях серого, получение монохромного изображения, удаление цветового канала; сдвиги и децентровка изображения; повороты изображения на различные углы в различных направлениях, вращение изображения или его части; наклоны, перекосы изображения; зеркальное отображение вдоль произвольной оси, линии; дополнительные линии или геометрические объекты на изображении: с прозрачностью своего цвета, без прозрачности, цветные объекты; серые объекты (от белого до черного цвета), в том числе и удаление части изображения (помещение черного объекта на изображение) на геометрических или смысловых позициях изображения; добавление любого фона на изображение; блики и затемнения частей изображения; дефокус (размытие) изображения или его частей; повышение зернистости, шарпности (резкости) изображения; сжатия и растяжения вдоль осей, линий; зашумление изображения по всему изображению или его части, помещение белого или иного шума; добавление одного или нескольких элементов гауссового шума, пятнистого шума; совмещение (наложение) двух или нескольких изображений из тренировочной выборки (частей изображений) с различными весами; эластическая трансформация изображения (Elastic Transform); сеточное искажение изображения (GridDistortion); сжатие данных изображения различными алгоритмами обработки изображения с некоторым качеством (например, сжатие исходного bmp-изображения по стандарту JPEG некоторого качества, а затем получения из него снова bmp-изображения); изотропные, аффинные и другие преобразования.
[052] В качестве алгоритма обучения модели машинного обучения может использоваться один или несколько следующих алгоритмов: Adagrad (Adaptive gradient algorithm), RMS (Root mean square), RMSProp (Root mean square propagation), Rprop (Resilient backpropagation algorithm), SGD (Stochastic Gradient Descent), BGD (Batch Gradient Descent), MBGD (Mini-batch Gradient Descent), Momentum, Nesterov Momentum, NAG (Nesterov Accelerated Gradient), FussySGD, SGDNesterov (SGD+Nesterov Momentum), AdaDelta, Adam (Adaptive Moment Estimation), AMSGrad, AdamW, ASGD (Averaged Stochastic Gradient Descent), LBFGS (L-BFGS algorithm - алгоритм Бройдена-Флетчера-Гольдфарба-Шанно с ограниченным использованием памяти), а так же оптимизаторы второго порядка, такие как: Метод Ньютона, Квазиньютоновский метод, Алгоритм Гаусса-Ньютона, Метод сопряженного градиента, Алгоритм Левенберга-Марквардта.
[053] В качестве целевой функции при обучении модели машинного обучения используется по крайней мере одна из следующих функций: L1Loss, MSELoss, CrossEntropyLoss, CTCLoss, NLLLoss, PoissonNLLLoss, GaussianNLLLoss, KLDivLoss, BCELoss, BCEWithLogitsLoss, MarginRankingLoss, HingeEmbeddingLoss, MultiLabelMarginLoss, HuberLoss, SmoothL1Loss, SoftMarginLoss, MultiLabelSoftMarginLoss, CosineEmbeddingLoss, MultiMarginLoss, TripletMarginLoss, TripletMarginWithDistanceLoss.
[054] Устройство 60 классификации признаков может быть выполнено на базе вычислительного устройства или нейронных сетей, содержащих входные, выходные и прочие слои, состоящие из множества нейронов с соответствующими весовыми коэффициентами, настроенные путем обучения нейронных сетей на размеченном тренировочном наборе данных, содержащих вектора признаков, характерных для подлинных и поддельных изображений, в частности, для вычисления итоговой вероятности подлинности пользователя на основе полученных признаков изображений пользователя. В альтернативном варианте осуществления представленного решения векторы признаков, содержащиеся в размеченном тренировочном наборе данных, конкатенируются, после чего используются для обучения общей нейронной сетью. Устройство 60 дополнительно оснащено средствами считывания строк и средствами сравнения элементов упомянутых строк, выполненных на базе логических элементов на транзисторах.
[055] Соответственно, исходное изображение пользователя (см. Фиг. 2, левое изображение), размещенного напротив устройства 10 формирования изображения, фиксируется упомянутым устройством 10, после чего устройство 10 известными методами определяет наличие и положение лица на изображении и передает исходное изображение пользователя с координатами области лица в устройство 20 обработки изображений.
[056] Устройство 20 на основе исходного изображения пользователя и координат области лица формирует изображение лица (см. Фиг. 2, правое изображение) следующим образом. На первом этапе устройство 20 выделяет квадратную область на изображении пользователя в соответствии с координатами области лица, после чего устройство 20 увеличивает выделенную область лица на заданное количество пикселей, например, на 5-20 процентов от размера квадратной области. Подобное увеличение позволяет компенсировать возможные неточности определения границ области лица при работе детектора и дает прирост в результирующей точности определения подлинности лица за счет добавления дополнительного информационного контекста. Далее устройство 20 извлекает изображение, попавшее в увеличенную выделенную область лица, и формирует изображение лица.
[057] Дополнительно при увеличении выделенной области лица устройство 20 может быть выполнено с возможностью определения того, что упомянутая выделенная область выходит за пределы изображения пользователя. Соответственно, при определении того, что упомянутая выделенная область выходит за пределы изображения пользователя, устройство 20 аналогичным образом извлекает изображение, попавшее в увеличенную выделенную область лица, и формирует изображение лица, причем недостающая часть изображения (т.е. часть, выходящая за пределы изображения пользователя), заполняется, например, пикселями, полученными путем репликации граничных пикселей изображения. Далее устройство 20 известными методами изменяет размер изображения лица для его соответствия размеру входа модели 51, например, посредством применения методов двумерной интерполяции изображений.
[058] Устройство 20 также осуществляет изменение размера исходного изображения пользователя для того, чтобы размер упомянутого изображения пользователя соответствовал размеру входа модели 52 с помощью методов двумерной интерполяции изображений (см. Фиг. 3). Также устройство 20 может быть выполнено с возможностью определения формы изображения пользователя, причем если устройством 20 будет определено, что изображение пользователя имеет форму, отличную от квадратной (например, имеет прямоугольную форму), то устройство 20 заполняет недостающую часть изображения для получения квадратной формы изображения, например, пикселями, полученными путем репликации граничных пикселей изображения пользователя.
[059] Для соответствия размеров моделей 51 и 52 упомянутых изображения лица и изображения пользователя в качестве методов двумерной интерполяции могут использоваться такие известные алгоритмы как метод ближайшего соседа, билинейная интерполяция, бикубическая интерполяция, интерполяция на основе сплайнов, передискретизация на основе дискретного преобразования Фурье или методы супер-разрешения изображения.
[060] При необходимости устройство 20 может выполнить известными методами дополнительную обработку изображений, например, регулировку яркости и контрастности, линейную и нелинейную фильтрацию, компенсацию шума, преобразование цветового формата изображения RGB/HSV/YUV/LAB/YCbCr, выравнивание гистограммы, нормализацию пикселей, например, посредством приведения диапазона значений к заданным уровням математического ожидания и дисперсии распределения или посредством линейного преобразования к заданному диапазону значений и многие другие. Использование дополнительной обработки повышает качество обучения и способность моделей 51, 52 для более эффективного извлечения признаков подлинности пользователя.
[061] На третьем этапе устройство 20 направляет изображение лица и изображение пользователя в устройства 31 и 32 соответственно, которые определяют положения ключевых точек для каждого изображения, в частности для изображения лица - ключевые точки лица, а для изображения пользователя - ключевые точки пользователя. Далее на основе полученных точек устройство 31 формирует первую маску ключевых точек лица для изображения лица, а устройство 32 формирует вторую маску ключевых точек пользователя для изображения пользователя.
[062] При формировании маски ключевых точек можно использовать несколько способов: либо с помощью специализированной нейронной сети, либо с помощью алгоритма формирования замкнутого контура. Таким образом, сформированные маски ключевых точек позволяют при анализе изображения в явном виде указать области повышенного интереса, например, характерные участки лица (нос, глаза, рот) и тела (руки, шея, плечи).
[063] Для первого способа формирования маски устройства 31 и 32 могут быть оснащены нейронными сетями, каждая из которых обучена на бинарных изображениях ключевых точек и соответствующих им выходных масках. Бинарное изображение ключевых точек лица содержит нули и единицы, где «1» указывает на то, что координаты пикселя изображения совпадают с координатами ключевых точек лица, а «0» - координаты пикселя изображения не совпадают с координатами ключевых точек лица. Соответственно, бинарные изображения ключевых точек подаются на вход нейронным сетям, а на выходе устройства 31 и 32 получают первую и вторую маски ключевых точек лица и пользователя соответственно.
Таким образом, указанные нейронные сети адаптивно формируют матрицы внимания в зависимости от положения ключевых точек пользователя. При этом их параметры обучаются совместно с другими моделями, например, моделями определения признаков, таким образом чтобы максимизировать результирующую точность определения вероятности подлинности пользователя.
[064] Для второго способа формирования маски устройства 31 и 32 известными методами на основе ключевых точек лица и пользователя соответственно формирует замкнутые контуры (см., например, Фиг. 4, левое изображение), после чего устройства 31 и 32 увеличивают ширину линии замкнутых контуров посредством добавления к упомянутым линиям заданного количества соседних пикселей, например, на 2-10 процентов от размера изображения либо посредством использования фильтров размытия, например, гауссовского фильтра, которыми упомянутые устройства могут быть оснащены (см., например, Фиг. 4, правое изображение).
[065] Соответственно, полученная маска ключевых точек может представлять собой матрицу, содержащую нули и единицы, где «1» указывает на то, что координаты пикселя изображения совпадают с координатами расширенного контура маски лица или пользователя, а «0» - координаты пикселя изображения не совпадают с координатами расширенного контура маски лица или пользователя.
[066] Далее первая маска ключевых точек, полученная устройством 31 для изображения лица, и изображение лица от устройства 20 направляются в устройство 41, а вторая маска ключевых точек, полученная устройством 32 для изображения пользователя, и изображение пользователя от устройства 20 направляются в устройство 42. Соответственно, если исходное изображение пользователя прошло дополнительную обработку, то вместо изображения пользователя в устройство 42 направляется обработанное изображение пользователя.
[067] Устройство 41 при получении указанных данных первой маски ключевых точек и изображения лица выполняет формирование входных данных для модели 51, например, посредством матричного сложения, причем при выполнении операции сложения элементы матрицы маски ключевых точек могут быть умножены на заранее заданный числовой коэффициент:
input=coef*mask+img
где mask - маска ключевых точек, img - изображение лица, coef - заданный числовой коэффициент.
[068] При другом варианте входные данные устройством 41 могут быть сформированы путем поэлементного умножения матриц, соответствующих пикселям полученной маски ключевых точек и изображения лица, причем при выполнении операции умножения элементы матрицы маски ключевых точек могут быть умножены на заранее заданный числовой коэффициент:
input=coef*mask*img
[069] В качестве другого варианта входные данные устройством 41 могут быть сформированы путем операции конкатенации матриц, соответствующих пикселям полученной маски ключевых точек и изображения лица:
input=[mask, img]
[070] В альтернативном варианте входные данные устройством 41 могут быть сформированы путем взвешенного сложения трех матриц, соответствующих пикселям полученной маски ключевых точек, инвертированной маски ключевых точек и изображения лица:
input=coef1*mask+coef2*inv_mask+img
где inv_mask - инвертированная маска ключевых точек (значения «0» и «1» заменены друг на друга), coef1 и coef2 - заранее заданные коэффициенты.
[071] Аналогичным способом устройство 42 выполняет формирование входных данных для модели 52 на основе полученных данных маски ключевых точек и изображения пользователя.
[072] Далее устройства 41 и 42 направляют входные данные на вход моделей 51 и 52 соответственно, выходы которых передаются в устройство 60 в виде векторов признаков, характеризующих что изображение пользователя является подлинным. На основе первого и второго векторов признаков, полученных от моделей 51 и 52 соответственно, устройство 60 определяет итоговое значение вероятности подлинности пользователя, после чего устройство сравнивает рассчитанное итоговое значение вероятности с заданным пороговым значением, заданным разработчиком устройства 60, для определения класса изображения, указывающего на то, что лицо, представленное на изображении, является подлинными или поддельным.
[073] Для определения значения вероятности подлинности пользователя на основе векторов признаков изображений в устройстве 60 может быть использована обученная нейронная сеть, например, на базе многослойного перцептрона или других алгоритмов машинного обучения, например градиентного бустинга и бинарных решающих деревьев.
[074] В одной из реализаций устройства 60 возможен вариант, при котором первый и второй вектор признаков обрабатываются независимыми слоями нейронной сети, после чего формируются промежуточные оценки вероятности подлинности, на основе которых затем рассчитывается итоговая оценка вероятности подлинности пользователя путем взвешенного суммирования с заранее заданным числовым коэффициентом:
prob=coef*prob1+(1-coef)*prob2
где prob и prob2 - промежуточные оценки вероятности подлинности, рассчитанные на основе первого и второго векторов признаков, coef - заранее заданный коэффициент.
[075] При другой реализации устройства 60 выполняется операция конкатенации первого и второго векторов признаков, после чего объединенный вектор обрабатывается общей нейронной сетью для формирования итоговой оценки вероятности подлинности пользователя.
[076] Информация о классе изображения может быть направлена устройством 60 в различные системы авторизации пользователей для принятия соответствующих решений в зависимости от того, является ли лицо на изображении подлинным.
[077] Таким образом, за счет того, что итоговое значение вероятности подлинности пользователя определяется с учетом расположения ключевых точек, определенных для изображения лица и изображения пользователя, повышается результирующая точность при определении подлинности лица.
[078] В общем виде (см. Фиг. 5) вычислительное устройство содержит объединенные общей шиной информационного обмена один или несколько процессоров (101), средства памяти, такие как ОЗУ (102) и ПЗУ (103), интерфейсы ввода/вывода (104), устройства ввода/вывода (105), и устройство для сетевого взаимодействия (106).
[079] Процессор (101) (или несколько процессоров, многоядерный процессор и т.п.) может выбираться из ассортимента устройств, широко применяемых в настоящее время, например, таких производителей, как: Intel™, AMD™, Apple™, Samsung Exynos™, MediaTEK™, Qualcomm Snapdragon™ и т.п. Под процессором или одним из используемых процессоров в устройстве (100) также необходимо учитывать графический процессор, например, GPU NVIDIA или Graphcore, тип которых также является пригодным для полного или частичного выполнения способа, а также может применяться для обучения и применения моделей машинного обучения в различных информационных системах.
[080] ОЗУ (102) представляет собой оперативную память и предназначено для хранения исполняемых процессором (101) машиночитаемых инструкций для выполнение необходимых операций по логической обработке данных. ОЗУ (102), как правило, содержит исполняемые инструкции операционной системы и соответствующих программных компонент (приложения, программные модули и т.п.). При этом, в качестве ОЗУ (102) может выступать доступный объем памяти графической карты или графического процессора.
[081] ПЗУ (103) представляет собой одно или более устройств постоянного хранения данных, например, жесткий диск (HDD), твердотельный накопитель данных (SSD), флэш-память (EEPROM, NAND и т.п.), оптические носители информации (CD-R/RW, DVD-R/RW, BlueRay Disc, MD) и др.
[082] Для организации работы компонентов устройства (100) и организации работы внешних подключаемых устройств применяются различные виды интерфейсов В/В (104). Выбор соответствующих интерфейсов зависит от конкретного исполнения вычислительного устройства, которые могут представлять собой, не ограничиваясь: PCI, AGP, PS/2, IrDa, FireWire, LPT, COM, SATA, IDE, Lightning, USB (2.0, 3.0, 3.1, micro, mini, type C), TRS/Audio jack (2.5, 3.5, 6.35), HDMI, DVI, VGA, Display Port, RJ45, RS232 и т.п.
[083] Для обеспечения взаимодействия пользователя с устройством (100) применяются различные средства (105) В/В информации, например, клавиатура, дисплей (монитор), сенсорный дисплей, тач-пад, джойстик, манипулятор мышь, световое перо, стилус, сенсорная панель, трекбол, динамики, микрофон, средства дополненной реальности, оптические сенсоры, планшет, световые индикаторы, проектор, камера, средства биометрической идентификации (сканер сетчатки глаза, сканер отпечатков пальцев, модуль распознавания голоса) и т.п.
[084] Средство сетевого взаимодействия (106) обеспечивает передачу данных посредством внутренней или внешней вычислительной сети, например, Интранет, Интернет, ЛВС и т.п. В качестве одного или более средств (206) может использоваться, но не ограничиваться: Ethernet карта, GSM модем, GPRS модем, LTE модем, 5G модем, модуль спутниковой связи, NFC модуль, Bluetooth и/или BLE модуль, Wi-Fi модуль и др.
[085] Дополнительно могут применяться также средства спутниковой навигации в составе устройства (100), например, GPS, ГЛОНАСС, BeiDou, Galileo. Конкретный выбор элементов устройства (100) для реализации различных программно- аппаратных архитектурных решений может варьироваться с сохранением обеспечиваемого требуемого функционала.
[086] Модификации и улучшения вышеописанных вариантов осуществления настоящего технического решения будут ясны специалистам в данной области техники. Предшествующее описание представлено только в качестве примера и не несет никаких ограничений. Таким образом, объем настоящего технического решения ограничен только объемом прилагаемой формулы изобретения.
название | год | авторы | номер документа |
---|---|---|---|
СПОСОБ ОПРЕДЕЛЕНИЯ ПОДЛИННОСТИ ЛИЦА ПО МАСКАМ СЕГМЕНТАЦИИ | 2021 |
|
RU2758966C1 |
СПОСОБ ВИЗУАЛИЗАЦИИ 3D ПОРТРЕТА ЧЕЛОВЕКА С ИЗМЕНЕННЫМ ОСВЕЩЕНИЕМ И ВЫЧИСЛИТЕЛЬНОЕ УСТРОЙСТВО ДЛЯ НЕГО | 2021 |
|
RU2757563C1 |
СИСТЕМА РАСПОЗНАВАНИЯ ИЗОБРАЖЕНИЯ: BEORG SMART VISION | 2020 |
|
RU2777354C2 |
Повторный синтез изображения, использующий прямое деформирование изображения, дискриминаторы пропусков и основанное на координатах реконструирование | 2019 |
|
RU2726160C1 |
СПОСОБ ОБУЧЕНИЯ СВЕРТОЧНОЙ НЕЙРОННОЙ СЕТИ ОСУЩЕСТВЛЯТЬ РАЗМЕТКИ ТЕЛЕРЕНТГЕНОГРАММ В ПРЯМОЙ И БОКОВОЙ ПРОЕКЦИЯХ | 2019 |
|
RU2717911C1 |
СПОСОБ ОЦЕНКИ ПОКАЗАТЕЛЯ ВОВЛЕЧЕННОСТИ ПОЛЬЗОВАТЕЛЯ | 2024 |
|
RU2837315C1 |
СПОСОБ И СИСТЕМА ДЛЯ ОПРЕДЕЛЕНИЯ СИНТЕТИЧЕСКИ ИЗМЕНЕННЫХ ИЗОБРАЖЕНИЙ ЛИЦ НА ВИДЕО | 2021 |
|
RU2768797C1 |
СПОСОБ ГЕНЕРАЦИИ ЦВЕТНЫХ ЗАЩИТНЫХ МАСОК НА ИЗОБРАЖЕНИЯХ ЛИЦ ЛЮДЕЙ | 2022 |
|
RU2790018C1 |
СПОСОБ АУДИОВИЗУАЛЬНОГО РАСПОЗНАВАНИЯ СРЕДСТВ ИНДИВИДУАЛЬНОЙ ЗАЩИТЫ НА ЛИЦЕ ЧЕЛОВЕКА | 2022 |
|
RU2791415C1 |
Быстрый двухслойный нейросетевой синтез реалистичных изображений нейронного аватара по одному снимку | 2020 |
|
RU2764144C1 |
Изобретение относится к вычислительной технике. Технический результат заключается в повышении точности при определении подлинности лица. На этапах способа: получают исходное изображение пользователя; определяют координаты положения лица пользователя; формируют в соответствии с координатами положения лица пользователя изображение лица; определяют положение ключевых точек лица для изображения лица и положение ключевых точек пользователя для изображения пользователя; формируют первую маску ключевых точек лица для изображения лица и вторую маску ключевых точек пользователя для изображения пользователя; рассчитывают первое векторное представление признаков лица на основе изображения лица и первой маски ключевых точек лица и второе векторное представление признаков пользователя на основе изображения пользователя и второй маски ключевых точек пользователя; на основе полученных векторов признаков определяют итоговую оценку вероятности подлинности пользователя на исходном изображении; на основе значения итоговой оценки вероятности подлинности пользователя на изображении определяют класс изображения, указывающий на то, что лицо, представленное на изображении, является подлинным или поддельным. 2 н. и 13 з.п. ф-лы, 5 ил.
1. Способ определения подлинности лица на изображении, выполняемый по меньшей мере одним вычислительным устройством, содержащий этапы, на которых:
a. получают исходное изображение пользователя;
b. определяют координаты положения лица пользователя;
c. формируют в соответствии с координатами положения лица пользователя изображение лица;
d. определяют положение ключевых точек лица для изображения лица и положение ключевых точек пользователя для изображения пользователя;
e. формируют первую маску ключевых точек лица для изображения лица и вторую маску ключевых точек пользователя для изображения пользователя;
f. рассчитывают первое векторное представление признаков лица на основе изображения лица и первой маски ключевых точек лица и второе векторное представление признаков пользователя на основе изображения пользователя и второй маски ключевых точек пользователя;
g. на основе первого и второго векторов признаков определяют итоговую оценку вероятности подлинности пользователя на исходном изображении;
h. на основе значения итоговой оценки вероятности подлинности пользователя на изображении определяют класс изображения, указывающий на то, что лицо, представленное на изображении, является подлинными или поддельным.
2. Способ по п. 1, характеризующийся тем, что этапы f-g выполняются моделью машинного обучения или ансамблем моделей, при этом модель машинного обучения или ансамбль моделей обучены на наборе данных, содержащих подлинные и поддельные изображения лиц пользователей.
3. Способ по п. 2, характеризующийся тем, что ансамбль моделей состоит из отдельных моделей, каждая из которых обучена на выявление определенного разработчиком вида подделок.
4. Способ по п. 1, характеризующийся тем, что этап формирования масок ключевых точек лица и пользователя осуществляется с помощью нейронной сети, обученной с целью повышения точности определения итоговой оценки вероятности подлинности пользователя.
5. Способ по п. 1, характеризующийся тем, что этап формирования масок ключевых точек лица и пользователя содержит этапы, на которых:
- формируют замкнутые контуры в соответствии с положениями координат ключевых точек;
- увеличивают ширину линии замкнутых контуров посредством добавления к упомянутым линиям заданного количества соседних пикселей, либо увеличивают ширину линии замкнутых контуров посредством использования фильтров размытия с заданными параметрами, например, гауссовского фильтра.
6. Способ по п. 1, характеризующийся тем, что дополнительно выполняют этап, на котором нормируют изображения посредством приведения значений пикселей к заданным уровням математического ожидания и дисперсии распределения или посредством линейного преобразования к заданному диапазону значений.
7. Способ по п. 1, характеризующийся тем, что дополнительно выполняют этап, на котором изменяют размеры изображений для их соответствия входам моделям определения признаков изображения посредством двумерной интерполяции изображений.
8. Способ по п. 1, характеризующийся тем, что этап формирования изображения лица содержит этапы, на которых:
- в соответствии с координатами положения лица выделяют на изображении пользователя квадратную область;
- увеличивают квадратную область на заданное количество пикселей, причем в качестве изображения лица выбирают изображение, расположенное в увеличенной квадратной области.
9. Способ по п. 4, характеризующийся тем, что дополнительно выполняют этапы, на которых определяют, что выделенная увеличенная квадратная область выходит за пределы изображения пользователя и выполняют репликацию граничных пикселей изображения пользователя для заполнения упомянутой выделенной области.
10. Способ по п. 1, характеризующийся тем, что дополнительно выполняют этапы, на которых формируют:
- входные данные для первой модели посредством матричного сложения или умножения значений пикселей первой маски ключевых точек и обработанного изображения лица;
- входные данные для второй модели посредством матричного сложения или умножения значений пикселей второй маски ключевых точек и обработанного изображения пользователя, причем при выполнении операции сложения или умножения элементы матрицы маски ключевых точек умножаются на заранее заданный числовой коэффициент.
11. Способ по п. 1, характеризующийся тем, что дополнительно выполняют этапы, на которых формируют:
- входные данные для первой модели посредством конкатенации матриц первой маски ключевых точек и обработанного изображения лица; и
- входные данные для второй модели посредством конкатенации матриц второй маски ключевых точек и обработанного изображения пользователя.
12. Способ по п. 1, характеризующийся тем, что дополнительно выполняют этапы, на которых формируют:
- входные данные для первой модели посредством взвешенного сложения трех матриц, соответствующих пикселям первой маски ключевых точек, инвертированной первой маски ключевых точек и обработанного изображения лица;
- входные данные для второй модели посредством взвешенного сложения трех матриц, соответствующих пикселям второй маски ключевых точек, инвертированной второй маски ключевых точек и обработанного изображения пользователя.
13. Способ по п. 1, характеризующийся тем, что для определения класса изображения первый и второй векторы признаков обрабатываются независимыми слоями нейронной сети
14. Способ по п. 1, характеризующийся тем, что для определения класса изображения первый и второй векторы признаков конкатенируются, после чего обрабатываются общей нейронной сетью.
15. Система определения подлинности лица на изображении, содержащая по меньшей мере одно вычислительное устройство и по меньшей мере одну память, содержащую машиночитаемые инструкции, которые при их исполнении по меньшей мере одним вычислительным устройством выполняют способ по любому из пп. 1-14.
Пресс для выдавливания из деревянных дисков заготовок для ниточных катушек | 1923 |
|
SU2007A1 |
Станок для придания концам круглых радиаторных трубок шестигранного сечения | 1924 |
|
SU2019A1 |
CN 110473185 A (GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP., LTD.), 19.11.2019 | |||
Способ регенерирования сульфо-кислот, употребленных при гидролизе жиров | 1924 |
|
SU2021A1 |
учебно-методическое пособие "Алгоритмические основы обработки изображений" | |||
Ярославский |
Авторы
Даты
2025-05-21—Публикация
2024-10-21—Подача