СПОСОБ ГЕНЕРАЦИИ ЦВЕТНЫХ ЗАЩИТНЫХ МАСОК НА ИЗОБРАЖЕНИЯХ ЛИЦ ЛЮДЕЙ
METHOD FOR GENERATING COLOR PROTECTIVE MASK ON IMAGES OF PEOPLE'S FACES

Заявленное изобретение относится к автоматике и вычислительной техники и может быть использовано для генерации цветных защитных масок (различных видов, типов, форм и цвета) на изображениях лиц людей. Процесс генерации цветных защитных масок производится непосредственно на оригинальной текстуре исходных изображений лиц, что определяет высокую реалистичность генерируемых масок и органичность их размещения на лицах. Варианты генерируемых масок определяются выбором параметров модели маски и ее формы, текстуры и параметрами цветовой гаммы. Получаемые при этом наборы цветных изображений лиц с масками могут быть использованы для создания баз данных или визуальных корпусов, предназначенных для обучения и тестирования систем распознавания лиц, в том числе, которые базируются на нейронных сетях.
Известен способ и устройство увеличения данных (патент CN 113435273 A, Китай, от англ. Data Augmentation Method, Data Augmentation Device, Electronic Device, and Storage Medium), относящиеся к области увеличения данных для решения различных задач цифровой обработки изображений и компьютерного зрения, а именно к системам и устройствам для распознавания и/или понимания изображений или видео (в том числе и для распознавание параметров изображения или видео). Технический результат в данном патенте обеспечивается за счет локализации лица человека с дальнейшим нанесением на него различных защитных масок путем программного анализа и обработки входных изображений или видеопоследовательности. Непосредственный процесс генерации осуществляется по форме, цвету или текстуре интересующих объектов (различные вариации защитных масок). Основной недостаток заключается в естественных проблемах с производительностью при локализации лиц людей в условиях слабой освещенности.
Известен способ формирования масок на изображениях лиц, представленный в исследовании «Национального института стандартов и технологий» США в 2020 году (от англ. Ongoing Face Recognition Vendor Test/ Part 6A: Face Recognition Accuracy with Masks using Pre-COVID-19 Algorithms. https://doi.org/10.6028/NIST.IR.8311), заключающийся в закрытии области лица для маски плоским однотонным полем без текcтуры, по факту являющимся маской. Недостатком данного способа является чрезвычайно упрощенный алгоритм, при котором формировались плоские маски, не отражающие трехмерной рельефной структуры изображений лиц. Сгенерированные таким способом маски были настолько примитивны, что полученные по ним результаты распознавания лиц в масках, не ответили на все вопросы качества распознавания лиц в масках и не подтвердили эффективность дальнейшего использования подобных масок.
Известен способ формирования масок на изображениях лиц (Deng H., Feng Z., Qian G., Lv X., Li H., Li G. MFCosface: A Masked-Face Recognition Algorithm Based on Large Margin Cosine Loss // Applied Sciences, 2021, Vol. 11, no. 16, p. 7310, doi: 10.3390/app11167310), в котором сначала на исходной сцене определяется и выравнивается изображение лица, а затем рассчитывается информация о переносице и подбородке на области лица, а далее из шаблона масок выбирается отдельная маска, которую размещают в промежутке между переносицей и подбородком для покрытия нижней части лица, чем и создается изображение лица с маской. Недостатком предложенного способа является использование малого числа вариантов масок, хранящихся в базе шаблонов, что ограничивает разнообразие видов, типов, форм и колористику формируемых масок на изображениях лиц, а также не допускает формирования масок даже при небольших поворотах изображений лиц на плоскости, не говоря уже о пространственных их поворотах.
Наиболее близким по технической сущности к заявляемому способу и выбранным в качестве прототипа является способ преобразования изображений лиц без масок в изображения лиц с масками (от англ. Convert Face Dataset to Masked Dataset, MaskTheFace, https://github.com/aqeelanwar/MaskTheFace), который заключается в выполнении анализа входного цветного изображения лица, определении оригинального размера изображения и его корректировки к требуемому размеру, вычислении координат ключевых точек лица и вычислении по ним угла наклона лица, используемых в качестве основной геометрической информации о лице, оценке по этой информации наиболее подходящего шаблона маски из специальной библиотеки масок, выполнении дополнительного выравнивания (деформации) выбранного шаблона маски по размеру изображения лица и углу поворота лица, причем это выравнивание выполняется до достижения «идеального положения маски на лице» и затем, заканчивается размещением деформированного шаблона маски на области лица между выбранной ключевой точкой носа и подбородком. К недостаткам данного способа можно отнести:
- необходимость использования библиотеки шаблонов масок (а по сути – сканированных изображений масок), набор которых всегда конечен, будет ограничивать варианты генерируемых изображений лиц в масках;
- процесс выравнивания (через деформацию) выбранного шаблона маски в соответствии с геометрической информацией о лице, требует выполнения четырех отдельных задач:
-- вычисления знака направления поворота и вычисление угла поворота, на которое повернуто изображение лица относительно строгой вертикали;
-- определение размера поля и его пространственной ориентации (по вычисленной ранее геометрической информацией о лице), в котором должна быть размещена маска;
-- выполнения поворота в нужную сторону и на нужный угол шаблона маски и удаление черных полей фона маски, возникающих при повороте изображений шаблона на плоскости;
-- дополнительное выравнивание (через деформацию) шаблона маски до достижения «идеального положения маски на лице», включающее корректировку размера (по ширине и высоте) до размеров поля, в котором должна быть размещена маска.
При этом, неясность критерия «идеального положения маски на лице» не позволяет формально оценить качество результатов размещения масок на изображениях лиц. И, как можно увидеть из представленных результатов MaskTheFace онлайн генерации масок на лицах, качество их положения на лицах оставляет желать лучшего.
Также можно отметить, что перечисленные этапы требуют наличия дополнительной памяти для поворота изображений шаблонов, использования попиксельно очистки шаблонов от черных полей, а также выполнение всех дополнительных вычислительных операций, связанных с поворотами.
Техническая проблема, решение которой обеспечивается настоящим изобретением, заключается в совершенствовании методов генерации цветных масок, упрощении способа их размещения на изображениях лиц и расширении их разнообразия по видам, типам, формам и цветовой гамме.
В свою очередь, технический результат достигается за счет того, что повышается универсальность способа генерации защитных масок, повышается реалистичность масок и органичность их размещения на лицах людей, при простых операциях на само размещение, и исключаются такие процедуры, как выравнивание и деформация, поскольку необходимость в них отсутствует.
Также стоит заметить, что технический результат достигается за счет анализа входного цветного изображения лица, определения оригинального размера изображения и его корректировки к требуемому размеру, вычисления координат 68-и ключевых точек лица, используемых в качестве основной геометрической информации о лице, и отличается от известного технического решения тем, что после вычисления всех координат ключевых точек лица, далее используют только 20 координат, три из них на линии симметрии по спинке носа с номерами 29, 30 и 31 и 17 координат с номерами 1, 2, 3, ..., 17, охватывающих нижнюю часть овала лица,  определяют границы поля маски на области входного изображения лица по четырем ключевым точкам лица с номерами 29, 9, 2 и 16, выполняют замещение поля маски на изображении лица заранее сгенерированной цветной текстурой, предназначенной для маски, выбирают тип маски и по нему формируют границы контура маски, вписанной в поле маски, причем верхняя часть контура маски определяется одной выбранной координатой на спинке носа по линии симметрии (из координат с номерами 29, 30 или 31) и двумя координатами начальных ключевых точек с левой и правой стороны овала лица, а оставшиеся координаты ключевых точек овала лица определяют нижнюю часть контура формируемой маски, выполняют прорисовку ребра маски и теней на цветной текстуре, подготовленной для маски, за которым следует восстановление тех пикселей изображения лица, которые укрыты цветной текстурой для маски, выходящей за внешние границы контура маски, а само восстановление пикселей реализуется как замена значений пикселей цветной текстуры для маски на значения пикселей входного изображения лица и, таким образом, формирование масок реализуется непосредственно на оригинальной текстуре исходных изображений лиц.
База изображений фронтальных лиц в масках, сформированных по описанному способу представлена на сайте со свободным доступом: https://hci.nw.ru/ru/pages/masked-frontal-faces (дата обращения: 27.06.2022).
Способ реализуется устройством, представленным на фиг 2.
Совершенствование методов генерации масок на изображениях лиц достигается использованием 6-ти разных моделей масок, определяющих границы контуров масок по набору из 20 ключевых точек, причем все модели построены по одним правилам: верхняя часть контура маски определяется выбранной координатой на спинке носа по линии симметрии (29, 30 или 31) и двумя координатами начальных ключевых точек с левой и правой стороны овала лица, а оставшиеся координаты ключевых точек овала лица определяют нижнюю часть контура формируемой маски.
Упрощение способа генерации масок и органичность их размещения на изображениях лиц достигается путем использования моделей масок и формирования масок непосредственно на оригинальной текстуре изображений лиц, что исключает любые дополнительные операции деформаций масок и создает органичную связь таких масок с входным изображением лица.
Расширение разнообразия масок по видам, типам, формам и цветовой гамме достигается тем, что генерация масок осуществляется на основе 6-ти разных моделей масок, 10-ти оригинальных цветных тканевых текстур и 15-ти текстур типовых масок (15 штампов масок), а также 6-ти вариантов возможных перестановок компонент Red (R), Green (G) и Blue (B) в цветной текстуре изображения с маской.
В совокупности, все отмеченные факторы позволят сократить ресурсы на генерацию цветных масок и расширить рамки применения предлагаемого способа генерации масок на изображениях лиц.
Сущность изобретения поясняется следующими графическими материалами: 1) на фиг. 1 представлена схема процесса генерации изображений лиц людей без масок в изображения лиц людей с масками; 2) на фиг. 2 изображена функциональная схема устройства для осуществления представленного способа; 3) на фиг. 3 представлена процедура коррекции входного цветного изображения к требуемому размеру (в качестве примера входного изображения лица использовано изображение тестовой базы CUHK Face Sketch Database CUFS, размещенной на сайте: http://mmlab.ie.cuhk.edu.hk/archive/facesketch.html – Wang X., Tang X. Face Photo-Sketch Synthesis and Recognition // IEEE Transactions on Pattern Analysis and Machine Intelligence (PAMI), 2009, Vol. 31, no. 11, pp. 1955–1967, doi: 10.1109/TPAMI.2008.222); 4) на фиг. 4 представлены: цветное изображение лица с наложенными на него вычисленными координатами 68-и ключевых точек; то же изображение с выбранными 20-ю ключевыми точками, по которым строятся модели контуров масок и шесть моделей контуров масок, построенных по выбранным ключевым точкам; 5) на фиг. 5 представлен полный процесс генерации маски – от разметки поля для маски и размещения на нем новой текстуры маски, прорисовки ребра и теней маски, а также размещения точек контура маски и самого контура маски (итерации 1-5 на фиг. 6а) и далее от начала до окончания итерационного процесса формирования маски путем восстановления пикселей изображения лица укрытых цветной текстурой маски, выходящей за внешние границы контура маски (итерации 1-5 на фиг. 6b); 6) на фиг. 6 представлен процесс и результат генерации медицинской маски; 7) на фиг. 7 приведены примеры сгенерированных масок разных видов и типов, различной их формы, текстур и цвета, а также варианты изменения цветовой гаммы кожи лиц и фона изображения; 8) на фиг. 8 представлен результат формирования масок при плоских и пространственных поворотах лиц, где линии ребра на масках отображают степень отклонения лиц от позиции анфас; 9) на фиг. 9 представлены некоторые варианты видов, типов, форм и колористики базовых масок, а также тканевых текстур, используемых при формировании новых текстур масок.
Способ генерации цветных защитных масок на изображениях лиц людей схематически показан на фиг. 1 и отмечен горизонтальными стрелками,  направленными слева на право от входного изображения лица 1 до изображений 2 и 3. Вертикальные стрелки 4 – 6 отмечают потоки вспомогательных данных для модификации текстур генерируемых масок – передачу контуров масок в блок генерации цветных масок, а также связь этого блока с базами текстур типовых масок и тканевых текстур, а стрелка 7 определяет передачу информации о перестановках компонент RGB в изображении на выходе. При этом полный процесс генерации цветных защитных масок на изображениях лиц людей показан на фиг. 6, а примеры результатов генерации показаны на фиг. 7.
Заявленный способ реализуется с помощью устройства представленного на фиг. 2, и состоящего из блока анализа входного изображения лица (1), блока генерации масок на оригинальной текстуре цветного изображения (2), блока изменения цветовой гаммы (3), блока с базой моделей контуров масок (4), блока с базой текстур типовых цветных масок (5), блока с базой цветных тканевых текстур (6) и блока с таблицей перестановок компонентов R, G и В (7). Вход устройства – блок (1), выход устройства – блок (3).
На вход устройства подается цветное цифровое изображение лица, причем лицо на изображении является единственным объектом, занимает более 80% площади изображения и нет необходимости в выполнении детекции лиц.
[
.
В блоке (1) выполняется анализ входного изображения, включающий определение оригинального размера изображения и его коррекцию. Пример коррекции изображения под условно выбранный размер  пикселей приведен на фиг. 3. Далее вычисляются координаты ключевых точек лица. Определение этих координат основано на алгоритмах, изложенных в статьяхViola P., Jones M.J. Robust Real-Time Face Detection // International Journal of Computer Vision, 2004. Vol. 57, no. 2. pp. 137–154, doi: 10.1023/B:VISI.0000013087.49260.fb; Kazemi V., Sullivan J. One Millisecond Face Alignment with an Ensemble of Regression Trees // Proceedings of the IEEE conference on computer vision and pattern recognition (CVPR), 2014, pp. 1867–1874. doi: 10.1109/CVPR.2014.241]. Программная реализация данных алгоритмов представлена, например, в библиотеках с открытым исходным кодом OpenCV (https://opencv.org, дата обращения: 27.06.2022) и Dlib (http://dlib.net/face_landmark_detection.py.html, дата обращения: 27.06.2022). Пример 68-и антропометрических точек, полученных по этим алгоритмам, показан на фиг. 4. Здесь и далее используются изображения лиц из CUFS. Из исходного набора в 68 координат антропометрических точек далее используются только 20 координат: три из них на линии симметрии носа (с номерами 29-31) и 17 координат с номерами 1-17, охватывающих овал лица. Эти 20 ключевых точек (показаны на фиг. 4b) определяют границы моделей контуров масок, построенные по ним контуры масок, показаны на фиг. 4с При этом, верхняя часть контура каждой формируемой маски определяется выбранной координатой на линии симметрии носа и двумя координатами с левой и правой стороны овала лица. Оставшиеся координаты овала лица определяют нижнюю часть контура формируемой маски. Каждый из этих контуров масок мнемонически описывается следующими цепочками точек: {29, 3-15, 29}; {29, 2-16, 29}; {30, 2-16, 30}; {30, 1-17, 30}; {31, 1-17, 31}; {30, 2-16, 30}. При этом запись типа «3-15» включает все промежуточные точки овала лица – от начальной (3) до конечной (15). Используя такую мнемоническую модель, можно отобразить контур формируемой маски в прямоугольной «матричной системе координатных осей», в которой: начало координат находится в левом верхнем углу; вертикальная ось нумеруется сверху вниз; а горизонтальная ось – слева направо. Такая система координатных осей соответствует столбцам и строкам пикселей на лицах анфас, что позволяет точно сформировать на нем не только контур маски, но и саму маску.
Процесс формирования маски на лице представлен на фиг. 5 и включает следующие этапы:
1. 5а (столбец 1) – определение границ поля маски по четырем ключевым точкам: первая – на горбинке носа по линии симметрии лица, вторая – на нижней точке подбородка и две точки на охвате овала по линии козелка уха;
2. 5а (столбцы 2-4) – замещение поля маски автоматически сгенерированной текстурой маски с отображением на ней ребра и тени (возникающей при боковом освещении лица), а также размещение ключевых точек исходной мнемонической модели для проверки возможности размещения формируемой маски;
3. 5а (столбец 5) – прорисовка контура маски, для отображения областей лица, выходящих за внешние границы маски, и укрытых текстурой;
4. 5b – восстановление тех пикселей изображения лица, которые укрыты текстурой, выходящей за внешние границы контура маски. При этом само восстановление пикселей реализуется как замена значений пикселей текстуры на значения пикселей исходного изображения лица. Аналогичный процесс и результат генерации медицинской маски показан на фиг.6.
В предлагаемом способе генерации цветных защитных масок на изображениях лиц людей, расчет координат этих пикселей выполняется по методу определения положения точки относительно многоугольника. В основе метода лежит алгоритм 112 «Position of Point Relative to Polygon» [Shimrat M. Algorithm 112: Position of Point Relative to Polygon // Communications of the ACM, 1962. Vol. 5, no. 8. p. 434, doi: 10.1145/368637.368653]. После его проверки и уточнения он также представлен в отечественных сборниках алгоритмов, которые реализованы на языках программирования АЛГОЛ и Бейсик. Реализация данного алгоритма на языке программирования MATLAB представлена в статье [Щеголева Н.Л., Кухарев Г.А. Простой алгоритм классификации линейно неразделимых данных // Естественные и технические науки, 2012, № 5. С. 358–364].
При этом, в предлагаемом способе рассматривается случай, когда в поле границ маски (фиг. 5а,столбец 2) располагается многоугольник – контур маски (фиг. 5а,столбец 5). В данном случае нас интересуют все пиксели, находящиеся в поле границ маски, но не входящие в контур самой маски. Исходными данными для расчета координат интересующих пикселей являются координаты контура маски, представленные в форме мнемонической модели. В свою очередь весь набор просматриваемых координат пикселей определяется габаритными размерами поля маски. Просматривая эти пиксели в прямоугольной сетке (от левого верхнего угла до нижнего правого угла поля маски), находятся все координаты пикселей, удовлетворяющие условию решаемой задачи. Так, например, поле маски в представленном на фиг. 5а,столбец 1 случае, имеет размер 89×114  пикселей, при размере исходного изображения 250×200 пикселей. А число восстанавливаемых пикселей составляет 3307 из просмотренных 10146. Число замен пикселей при этом будет равно 3307. Процесс восстановления (по факту замены) пикселей лица представлен в последовательности изображений на фиг. 5b.
В рамках предлагаемого способа генерации цветных защитных масок на изображениях лиц людей, можно изменять текстуру и цвет масок, цвет фона портрета и цвет кожи лица, а также форму масок (в соответствии с мнемонической моделью), тип масок (не прозрачные, прозрачные, с закрытой областью глаз прозрачным щитком) и положение масок в нижней области лица. Изображение лица человека в маске может быть представлено не только в исходном формате (например, RGB), но и в любых других пяти форматах (RBG, GRB, GBR, BRG, BGR), основанных на изменениях последовательности компонент R, G и B. Это позволяет в 6 раз расширить и цветовую гамму изображений лиц отдельно и масок отдельно, а также и изображений лиц в масках при одном и том же наборе исходных изображений лиц без масок, которые являются эталонами. В этом случае, текстура генерируемых масок образуется путем замены или изменении последовательности компонент (R, G и B) цветного штампа маски или оригинальной тканевой текстуры, другими компонентами R, G и B – из штампов масок, из другой цветной тканевой текстуры.
На фиг. 7 и 8 представлены сгенерированные варианты различных видов, типов и форм масок, различных текстур и цвета, а также варианты различной цветовой гаммы кожи лиц и фона.
Таким образом, предлагаемый способ генерации цветных защитных масок на изображениях лиц людей позволяет генерировать различные формы, типы и цвета масок и их размещения/формирования на изображениях лиц людей. Такой способ реализации создает высокую реалистичность положения и органичность нахождения масок на лицах. При этом маски легко формируются как на отдельных портретах людей и выделенных кадров видеопоследовательности, так и на изображениях с множеством лиц людей.
Также стоит отметить, что при небольших плоских и пространственных поворотах лица в рамках матричной системы координат, контуры масок и сами маски генерируются без искажений, что показано на фиг. 8. Линии ребер на масках отображают степень отклонения лиц от позиции анфас.
Корректная генерация масок на лицах людей основана на ключевых точках лица, которые вычисляются в онлайн режиме, используемых мнемонических моделей масок и генерации масок непосредственно на текстуре входных изображений лиц. При этом, предложенный способ генерации защитных масок не зависит от размеров изображений-оригиналов, фенотипа лиц и фона изображения. Также способ не зависим от точного положения лиц анфас, и может применяться с видимыми отклонениями от положения лиц анфас. Эти отклонения могут выражаться в плоском и пространственном поворотах лиц, которые обычно присутствуют на изображениях с множеством лиц людей и динамически изменяющихся кадрах видеопоследовательностей, что позволяет использовать предложенный способ со многими известными базами (корпусами) изображений лиц.
Наконец, предлагаемый способ не требует использования специальных наборов масок. В предлагаемом способе используются изображения 10 оригинальных цветных тканевых текстур и 15 текстур типовых масок (15 штампов масок). Новая текстура генерируемых масок образуется путем замены или изменении последовательности компонент (R, G и B) цветного штампа маски или оригинальной тканевой текстуры, другими компонентами R, G и B – из штампов масок, из другой цветной тканевой текстуры.
Представленные графические варианты сгенерированных защитных масок на лицах людей, практически не отличаются от реальных масок (REAL MASKS) и значительно превосходят поддельные маски (например, «печатные маски» [Ngan M.L., Grother P. J., Hanaoka K. K. Ongoing Face Recognition Vendor Test (FRVT) Part 6A: Face Recognition Accuracy with Masks using Post-COVID-19 Algorithms // NIST Interagency/Internal Report (NISTIR), 2020, 8311, pp. 1–58, doi: 10.6028/NIST.IR.8331] или SIMULATED MASKS [Huang B., Wang Z., Wang G., Jiang K., He Z., Zou H., Zou Q. Masked Face Recognition Datasets and Validation // Proceedings of the IEEE/CVF International Conference on Computer Vision (ICCV), 2021, pp. 1487–1491. doi: 10.1109/ICCVW54120.2021.00172].
В настоящее время, на основе предложенного способа сгенерировано более 20000 изображений лиц в защитных масках различных типов, форм, текстуры и цвета. Доступ к сгенерированным изображениям и описание состава масок можно найти по адресу (https://hci.nw.ru/ru/pages/masked-frontal-faces, дата обращения: 27.06.2022).
Проведенный заявителем анализ уровня аналогов позволил установить, что способ генерации цветных защитных масок на изображениях лиц людей, характеризующийся совокупностями признаков, соответствует условию патентоспособности «Новизна».
Результаты поиска известных решений в данной и смежной областях техники с целью выявления признаков, совпадающих с отличительными от прототипов признаками заявляемого изобретения, показали, что они не следуют явным образом из уровня техники. Из определенного заявителем уровня техники не выявлена известность влияния предусматриваемых существенными признаками заявленного изобретения на достижение указанного технического результата. Следовательно, заявленное изобретение соответствует условию патентоспособности «Изобретательский уровень».