СПОСОБ И УСТРОЙСТВО ДЛЯ ОПРЕДЕЛЕНИЯ КЛЮЧЕВОЙ ТОЧКИ ЛИЦА, КОМПЬЮТЕРНОЕ УСТРОЙСТВО И НОСИТЕЛЬ ДАННЫХ
METHOD AND APPARATUS FOR DETERMINING THE KEY POINT OF THE FACE, COMPUTER APPARATUS, AND DATA STORAGE

Ссылка на родственную заявку
[0001] Данная заявка представляет собой российскую национальную фазу международной заявки № PCT/CN 2019/106587, поданной 19 сентября 2019 года, которая испрашивает приоритет по заявке на патент Китая № 201811347185.8, поданной Государственным ведомством интеллектуальной собственности Китая (CNIPA) 13 ноября 2018 года, содержание которых полностью включено в настоящий документ посредством ссылки.
Область техники, к которой относится настоящее изобретение
[0002] Варианты осуществления настоящего изобретения относятся к технологиям обработки биометрических данных, в частности, к способу и устройству для определения ключевой точки лица, компьютерному устройству и носителю данных.
Предшествующий уровень техники настоящего изобретения
[0003] В таких сферах применения, как потоковое вещание и короткие видеоролики, где упор делается на взаимодействии с пользователем, часто необходимо детектировать и локализовать ключевые точки лица, такие как контуры лица и контуры характерных черт лица, для подчеркивания привлекательности лица, акцентирования внимания на чертах лица с помощью стакеров, преобразования и изменения лица.
[0004] Для улучшения пользовательского восприятия, например, чтоб сделать лицо более красивым, а акцентирование внимания на чертах лица с помощью стакеров - более устойчивым, необходимо детектировать ключевые точки лица с достаточной степенью точности. Вместе с тем, для обеспечения детектирования ключевых точек лица в режиме реального времени в компьютерных устройствах, обладающих ограниченными ресурсами, таких как мобильные терминалы, эти ключевые точки должны определяться достаточно быстро.
[0005] Решения по повышению точности при определении ключевых точек лица делятся, главным образом, на следующие две категории:
[0006] 1. Внедрение более крупной сетевой модели для получения более детального общего выражения лица с тем, чтобы можно было точнее определить ключевые точки лица.
[0007] 2. Внедрение многоуровневой модели с расширенной иерархической структурой, т.е. множества каскадных сетевых моделей от грубой модели до модели с высоким разрешением, для непрерывного анализа общих и детальных локальных черт лица и постоянной коррекции местоположения обнаруживаемых точек.
[0008] Однако сетевая модель и многоуровневая модель являются симплексными. Для того чтобы сетевая модель и многоуровневая модель могли справляться с разными лицами, они характеризуются большими размерами, обуславливающими большой объем вычислений, высокую временную сложность и большую потребность в ресурсах, что затрудняет применение компьютерных устройств, обладающих ограниченными ресурсами, таких как мобильные терминалы.
Краткое раскрытие настоящего изобретения
[0009] Согласно одному из вариантов осуществления настоящего изобретения предложены способ и устройство для определения ключевой точки лица, компьютерное устройство и носитель данных, обеспечивающие определение ключевой точки лица в режиме реального времени в компьютерных устройствах, обладающих ограниченными ресурсами, таких как мобильные терминалы, гарантируя при этом точность определения ключевой точки.
[0010] Согласно одному из вариантов осуществления настоящего изобретения предложен способ определения ключевой точки лица. Этот способ предусматривает:
[0011] получение данных изображения, содержащих лицо;
[0012] детектирование первой ключевой точки лица в данных изображения;
[0013] идентификацию типа лица на основании первой ключевой точки лица;
[0014] выполнение коррекции положения первой ключевой точки лица с учетом типа лица;
[0015] извлечение изображения черт лица, содержащего характерные черты лица, из данных изображения на основании первой ключевой точки лица, подвергнутой коррекции положения; и
[0016] детектирование второй ключевой точки лица в изображении характерных черт лица.
[0017] Согласно одному из вариантов осуществления настоящего изобретения предложено устройство для определения ключевой точки лица. Это устройство включает в себя:
[0018] модуль получения данных изображения, выполненный с возможностью получения данных изображения, содержащих лицо;
[0019] модуль определения первой ключевой точки лица в данных изображения, выполненный с возможностью детектирования первой ключевой точки лица в данных изображения;
[0020] модуль идентификации типа лица, выполненный с возможностью идентификации типа лица на основании первой ключевой точки лица;
[0021] модуль коррекции положения, выполненный с возможностью выполнения коррекции положения первой ключевой точки лица с учетом типа лица;
[0022] модуль извлечения изображения черт лица, выполненный с возможностью извлечения изображения черт лица, содержащего характерные черты лица, из данных изображения на основании первой ключевой точки лица, подвергнутой коррекции положения; и
[0023] модуль определения второй ключевой точки лица, выполненный с возможностью детектирование второй ключевой точки лица в изображении черт лица.
[0024] Согласно одному из вариантов осуществления настоящего изобретения дополнительно предложено компьютерное устройство. Это компьютерное устройство включает в себя память, процессор и компьютерную программу, хранящуюся в памяти и выполняемую процессором, причем процессор при выполнении им компьютерной программы реализует способ определения ключевой точки лица согласно любому из вариантов осуществления настоящего изобретения.
[0025] Согласно одному из вариантов осуществления настоящего изобретения дополнительно предложен машиночитаемый носитель данных для хранения компьютерной программы. Компьютерная программа при ее выполнении процессором инициирует реализацию процессором способа определения ключевой точки лица согласно любому из вариантов осуществления настоящего изобретения.
Краткое описание фигур
[0026] На фиг. 1 представлена блок-схема, иллюстрирующая способ определения ключевой точки лица согласно первому варианту осуществления настоящего изобретения.
[0027] На фиг. 2 представлена блок-схема, иллюстрирующая другой способ определения ключевой точки лица согласно второму варианту осуществления настоящего изобретения.
[0028] На фиг. 3 представлена структурная схема каскадной сети согласно второму варианту осуществления настоящего изобретения.
[0029] На фиг. 4А приведен пример схемы, иллюстрирующей определение ключевой точки лица согласно второму варианту осуществления настоящего изобретения.
[0030] На фиг. 4В приведен другой пример схемы, иллюстрирующей определение ключевой точки лица согласно второму варианту осуществления настоящего изобретения.
[0031] На фиг. 4С приведен еще один пример схемы, иллюстрирующей определение ключевой точки лица согласно второму варианту осуществления настоящего изобретения.
[0032] На фиг. 5 схематически показана структура устройства для определения ключевой точки лица согласно третьему варианту осуществления настоящего изобретения.
[0033] На фиг. 6 схематически показана структура компьютерного устройства согласно четвертому варианту осуществления настоящего изобретения.
Подробное раскрытие настоящего изобретения
[0034] Настоящее изобретение будет описано ниже в привязке к прилагаемым чертежам и вариантам своего осуществления. Конкретные варианты осуществления заявленного изобретения, раскрытые в настоящем документе, служат исключительно для разъяснения заявленного изобретения, и не носят ограничительного характера. Для упрощения описания на чертежах показаны только некоторые, а не все структуры, относящиеся к настоящему изобретению.
[0035] Первый вариант осуществления
[0036] На фиг. 1 показана блок-схема, иллюстрирующая способ определения ключевой точки лица согласно первому варианту осуществления настоящего изобретения. Этот вариант осуществления применим к сценариям, в которых ключевая точка лица детектируется в режиме реального времени в тех сферах применения, где акцент делается на взаимодействии с пользователем, таких как потоковое вещание и короткие видеоролики. Этот способ может быть реализован устройством для определения ключевой точки лица, которое может быть реализовано в виде программных средств и/или аппаратных средств, и которое может быть сконфигурировано в компьютерном устройстве, обладающем ограниченными ресурсами. Компьютерным устройством может служить мобильный терминал, такой как мобильный телефон, планшетный компьютер и носимое устройство (например, смартфон и умные очки), и компьютерное устройство может также представлять собой немобильный терминал, такой как интеллектуальный телевизор. Предложенный способ предусматривает выполнение стадий S110-S160.
[0037] На стадии S110 обеспечивается получение данных изображения, содержащих лицо.
[0038] На практике в видео сценариях, таких как потоковое вещание и короткие видеоролики, текущее изображение видеокадра может непрерывно извлекаться из видеоданных во время воспроизведения видео для идентификации данных изображения, содержащих лицо.
[0039] В других сценариях, таких как выполнение процесса придания лицу большей привлекательности после фотографирования, пользователь может также напрямую ввести один кадр данных изображения, содержащих лицо. Источник данных изображения, содержащих лицо, в вариантах осуществления настоящего изобретения не ограничен.
[0040] Лицом может называться часть лица. В одном кадре данных изображения может быть одно или несколько лиц, а область лица может охватывать все или некоторые части лица, и т.д. Ни количество лиц, ни объем лица в вариантах осуществления настоящего изобретения не ограничены.
[0041] В отношении компьютерного устройства предусмотрено, что может быть добавлен классификатор «лицо-не лицо» с тем, чтобы можно было определить, содержат ли текущие данные изображения лицо или нет. Если да, то будут выполняться дальнейшие операции, а если нет, то детектирование данных изображения будет продолжаться до тех пор, пока не будут обнаружены данные изображения, содержащие лицо.
[0042] На стадии S120 в данных изображения детектируется первая ключевая точка лица.
[0043] В отношении данных изображения предусмотрено, что может быть приблизительно определено местоположение лица, и в данных изображения может быть приблизительно определено местоположение первой ключевой точки лица.
[0044] Первая ключевая точка лица может быть не особо точной для описания каждой ключевой точки, но относительно точной для описания положения всего лица в данных изображения.
[0045] На стадии S130 идентифицируется тип лица на основании первой ключевой точки лица.
[0046] Благодаря применению этого варианта осуществления настоящего изобретения лицо можно заранее поделить на разные типы, такие как левая щека (лицо обращено вправо, вследствие чего больше видна левая щека), лицо анфас (лицо смотрит прямо, вследствие чего левая и правая щеки открыты почти одинаково), правая щека (лицо обращено влево, вследствие чего больше видна правая щека) и т.п. в зависимости от ориентации лица.
[0047] В отношении данных изображения предусмотрено, что по первой ключевой точке лица может быть идентифицирована ориентация лица с тем, чтобы можно было определить тип лица.
[0048] На стадии S140 осуществляется коррекция положения первой ключевой точки лица с учетом типа лица.
[0049] Лица разных типов имеют разные характеристики. Следовательно, коррекция положения может быть выполнена в отношении первой ключевой точки лица на основании характеристик разных типов лица для приближения его первой ключевой точки к лицу.
[0050] На стадии S150 из данных изображения извлекается изображение черт лица, содержащее характерные черты лица, на основании первой ключевой точки лица, подвергнутой коррекции положения.
[0051] После осуществления коррекции положения в отношении первой ключевой точки может быть проведена разбивка на основании характерных черт лица, и из данных изображения могут быть извлечены изображения черт лица, содержащие характерные черты лица, такие как глаза, брови, нос и рот.
[0052] В некоторых вариантах осуществления настоящего изобретения вследствие разной ориентации лица количество детектируемых черт лица может составлять одну или более одной, а области характерных черт лица могут охватывать все характерные черты лица или их часть, и т.п. Ни количество, ни области характерных черт лица в вариантах осуществления настоящего изобретения не ограничены.
[0053] На стадии S160 в изображении характерных черт лица может быть детектирована вторая ключевая точка лица.
[0054] Что касается изображения черт лица, то может быть точно определено их местоположение, и в изображении черт лица может быть точно установлено положение второй ключевой точки лица.
[0055] В вариантах осуществления настоящего изобретения в отношении данных изображения, содержащих лицо, предусмотрено следующее: в данных изображения детектируется первая ключевая точка лица; на основании первой ключевой точки лица идентифицируется тип лица; с учетом типа лица осуществляется коррекция положения в отношении первой ключевой точки лица; на основании первой ключевой точки лица, подвергнутой коррекции положения, извлекается изображение черт лица, содержащее характерные черты лица; и в изображении черт лица детектируется вторая ключевая точка лица. За счет разграничения типов лица первые ключевые точки разных типов лица корректируются с использованием разбивки на разные категории, что упрощает операцию определения местоположения, уменьшает объем вычислений, обеспечивает детектирование ключевой точки лица в режиме реального времени в компьютерном устройстве, обладающем ограниченными ресурсами, таком как мобильный терминал, и повышает точность локализации ключевой точки лица.
[0056] Второй вариант осуществления
[0057] На фиг. 2 показана блок-схема, иллюстрирующая другой способ определения ключевой точки лица согласно второму варианту осуществления настоящего изобретения. В этом варианте осуществления настоящего изобретения добавлены операции по обработке данных в трехуровневой сети на основании предшествующего варианта осуществления. Этот способ предусматривает выполнение стадий S2010-S2120.
[0058] На стадии S2010 обеспечивается получение данных изображения, содержащих лицо.
[0059] Как показано на фиг. 3, может быть предусмотрена модель всего лица, а также модель части характерных черт лица.
[0060] Модель всего лица включает в себя модель 310 определения ключевой точки лица и модель 320 коррекции положения, а модель части характерных черт лица включает в себя модель 330 определения ключевых точек черт лица.
[0061] Модель 310 определения ключевой точки лица, модель 320 коррекции положения и модель 330 определения ключевых точек черт лица образуют трехуровневую каскадную сеть.
[0062] На стадии S2020 из данных изображения извлекается первое изображение лица, содержащее лицо.
[0063] На практике детектор лиц используется для выявления лица в данных изображения, генерирования рамки детектирования лица, захвата данных изображения в рамке детектирования лица, и использования захваченных данных изображения в качестве первого изображения лица для устранения большей части фоновых помех.
[0064] Поскольку при локализации разных лиц рамкой детектирования лица могут происходить определенные отклонения, обычно необходимо осуществлять захват первого изображения лица с расширением границ рамки детектирования лица в определенных пропорциях с тем, чтобы гарантировать захват всего лица.
[0065] На стадии S2030 первое изображение лица вводится в заданную модель определения ключевой точки лица для получения первой ключевой точки лица, которая выводится моделью определения ключевой точки лица.
[0066] Как показано на фиг. 3, модель 310 определения ключевой точки лица является первым уровнем сети, причем в модель 310 определения ключевой точки лица вводится первое изображение лица для его последующей обработки, после чего может быть выдана первая ключевая точка лица.
[0067] Модель 310 определения ключевой точки лица может использовать модель сквозной сверточной нейронной сети для предварительного получения первых ключевых точек лица, таких как контуры лица и контуры характерных черт лица, причем положение первой ключевой точки лица может быть определено приблизительно. Принимая во внимание последующую коррекцию сети, модель определения ключевой точки лица может быть сконфигурирована относительно небольшой, гарантируя требуемую скорость определения первой ключевой точки лица.
[0068] Первое изображение лица приводится к фиксированному размеру, а затем вводится в модель 310 определения ключевой точки лица для определения примерного местоположения с тем, чтобы можно было получить грубую первую ключевую точку лица.
[0069] Например, как показано на фиг. 4А, первое изображение 41 лица (в рамке) вырезается из одного кадра данных изображения, приведенного к масштабу 70*70, и вводится для обработки в модель определения ключевой точки лица, при этом выходным данными будет служить первая 212-размерная ключевая точка 42 лица (часть точки).
[0070] На фиг. 4А можно видеть, что был получен относительно грубый результат прогнозирования первого уровня сети (первой ключевой точки лица), где ни внешний контур, ни характерные черты лица не являются достаточно точными, а исходная рамка детектирования лица может не захватывать все элементы лица, причем получено высокое отношение сигнал/шум.
[0071] На стадии S2040 рассчитывается угол положения лица с использованием первой ключевой точки лица.
[0072] На основании первой ключевой точки лица угол положения лица может быть возвращен к прежнему уровню с помощью простой модели оценки угла положения, причем угол положения включает в себя угол наклона в продольном направлении, угол бокового наклона и угол поворота относительно вертикальной оси (угол рыскания).
[0073] Модель оценки угла положения характеризуется относительной простотой, как двухуровневая полностью подключенная сеть, которая отнимает практически ничтожно малое время.
[0074] Например, как показано на фиг. 4А, исходные данные модели оценки угла положения представляют собой 212-размерную ключевую точку лица, а выходные данные представляют собой трехмерный угол положения.
[0075] На стадии S2050 выполняется угловая коррекция в отношении лица на основании угла его положения.
[0076] В данном варианте осуществления настоящего изобретения для облегчения вычислений в модели коррекции положения могут быть подготовлены выборочные данные о лице для равномерного доведения определенного угла положения до заданного положения, например, горизонтального.
[0077] В данном варианте осуществления настоящего изобретения в отношении данных изображения, содержащих лицо, предусмотрено, что данные изображения могут корректироваться с тем, чтобы можно было изменить угол лица в данных изображения, а угол положения лица в данных изображения мог быть доведен до заданного значения. Таким образом, может быть упрощена коррекция первой ключевой точки лица.
[0078] В одном из вариантов осуществления настоящего изобретения угол положения включает в себя угол бокового наклона.
[0079] В этом варианте осуществления настоящего изобретения по первой ключевой точке лица, такой как первая ключевая точка лица на кончике носа, может быть выбрана базовая точка лица.
[0080] Положение базовой точки лица сохраняется, а данные изображения корректируются до тех пор, пока угол бокового наклона не достигнет заданного значения (например, 0).
[0081] На стадии S2060 идентифицируется тип лица на основании угла его положения.
[0082] Угол положения лица может отображать ориентацию лица с тем, чтобы можно было идентифицировать тип лица.
[0083] В одном из вариантов осуществления настоящего изобретения угол положения включает в себя угол рыскания.
[0084] В этом варианте осуществления настоящего изобретения диапазон углов, к которому относится угол рыскания, может быть определен по заданной таблице соответствия, и в качестве типа лица может быть задан тип лица, соответствующий диапазону углов, к которому относится угол рыскания.
[0085] В этом варианте осуществления настоящего изобретения в таблице соответствия отражено соотношение распределения между диапазоном углов и типом лица.
[0086] В одном из примеров табличные данные соответствия представлены в виде следующей таблицы:
[0087] В этом примере тип лица включает в себя левую щеку, лицо анфас и правую щеку. Если угол рыскания лица меньше или равен -25°, то в качестве лица может рассматриваться левая щека; если угол рыскания лица больше -25°, но меньше 25°, то в качестве лица может рассматриваться лицо анфас; а если угол рыскания лица больше или равен 25°, то в качестве лица может рассматриваться правая щека.
[0088] Например, как показано на фиг. 4А, угол рыскания лица составляет -60°, причем он меньше или равен -25°, и поэтому в качестве лица рассматривается левая щека.
[0089] Указанный тип лица и режим его идентификации приведены исключительно для примера. При практической реализации вариантов осуществления настоящего изобретения могут быть заданы иные типы лица и режимы их идентификации в соответствии с фактическими условиями; например, типы лица делятся на левую щеку под большим углом (угол рыскания < -60°), левую щеку под небольшим углом (-60° < РЫСКАНИЕ < 30°), лицо анфас (-30° < РЫСКАНИЕ < 30°), правую щеку под небольшим углом (30° < РЫСКАНИЕ < 60°) и правую щеку под большим углом (60° < РЫСКАНИЕ), причем тип лица идентифицируется как по наклону в продольном направлении, так и по боковому наклону, и т.д. Ни тип лица, ни режим его идентификации в вариантах осуществления настоящего изобретения не ограничены. На стадии S2070 осуществляется поиск модели коррекции положения, соответствующей типу лица.
[0090] На стадии S2080 осуществляется извлечение второго изображения лица, содержащего лицо, из данных изображения на основании первой ключевой точки лица.
[0091] Как показано на фиг. 3, модель 320 коррекции положения относится ко второму уровню сети, причем второе изображение лица вводится в модель 320 коррекции положения для последующей обработки, после чего может быть выдана первая ключевая точка лица, подвергнутая коррекции положения.
[0092] В отношении типа лица предусмотрено, что выборочные данные о лице (включая ключевую точку лица) могут быть использованы для обучения модели коррекции положения, соответствующей типу лица. В одном из вариантов осуществления настоящего изобретения модель коррекции положения может представлять собой модель сквозной сверточной нейронной сети.
[0093] Например, как показано на фиг. 3, если исходить из того, что тип лица включает в себя левую щеку, лицо анфас и правую щеку, то может быть предусмотрена, соответственно, модель 321 коррекции левой щеки, модель 322 коррекции лица анфас и модель 323 коррекции правой щеки. В одном из вариантов осуществления настоящего изобретения модель 321 коррекции левой щеки выполнена с возможностью осуществления коррекции положения в отношении второго изображения лица, относящегося к левой щеке; модель 322 коррекции лица анфас выполнена с возможностью осуществления коррекции положения в отношении второго изображения лица, относящегося к лицу анфас; а модель 323 коррекции правой щеки выполнена с возможностью осуществления коррекции положения в отношении второго изображения лица, относящегося к правой щеке.
[0094] В вариантах осуществления настоящего изобретения предусмотрено, что если согласно одному из аспектов в данных изображения идентифицирован тип лица, то выполняется поиск модели коррекции положения, соответствующей типу лица, и в другом аспекте - на основании первой ключевой точки лица может быть получена рамка, обрамляющая лицо, такая как минимальная прямоугольная рамка, содержащая все первые ключевые точки лица. В сравнении с рамкой детектирования лица рамка, обрамляющая лицо, может обеспечить более точную локализацию лица.
[0095] Поскольку для каждого кадра второго изображения лица задействуется одна ветвь сети, затрачиваемое время продлено не будет. С другой стороны, за счет разграничения типов лица может быть упрощена коррекция положения, и превосходные результаты могут быть получены с использованием лишь небольшой сети.
[0096] Поскольку при локализации разных лиц рамкой, обрамляющей лицо, могут происходить определенные отклонения, обычно необходимо осуществлять захват второго изображения лица с расширением границ рамки детектирования лица в определенных пропорциях с тем, чтобы гарантировать захват всего лица. Следовательно, могут быть уменьшены фоновые помехи, а также может быть упрощена коррекция первой ключевой точки лица.
[0097] На стадии S2090 осуществляется ввод второго изображения лица в модель коррекции положения для выполнения коррекции положения в отношении первой ключевой точки лица.
[0098] Для грубого позиционирования модели определения ключевого типа лица предусмотрено следующее: модели коррекции положения разных типов лица относятся к множеству разных ветвей с тем, чтобы можно было откорректировать примерную локализацию.
[0099] Как показано на фиг. 3 масштаб второго изображения лица приведен к фиксированному размеру, а для коррекции первых ключевых точек разных типов лица в ветвь, соответствующую типу лица, вводится модель 320 коррекции положения (например, модель 321 коррекции левой щеки, модель 322 коррекции лица анфас и модель 323 коррекции правой щеки).
[00100] Вторые изображения лица, вводимые одновременно, обладают определенными дифференциальными или общими признакам, и они оба могут представлять собой, например, изображения левой щеки. Благодаря угловой коррекции лица, моментальному снимку второго изображения лица и другим факторам коррекция первой ключевой точки лица может дать отличные результаты с использованием сверхлегкой сети, т.е. может быть сконфигурирована относительно небольшая модель коррекции положения, что гарантирует требуемую скорость коррекции первой ключевой точки лица.
[00101] Несмотря на то что первые ключевые точки лица, соответствующие характерным чертам лица, обычно сконцентрированы в одном месте и характеризуются ярко выраженными локальными признаками, а отношение сигнал/шум относительно велико, пусть и локализуя всю площадь лица, остается пространство для коррекции первых ключевых точек лица, соответствующих характерным чертам лица.
[00102] В одном из примеров первая ключевая точка лица включает в себя, по меньшей мере, одну из точек, описанных ниже.
[00103] 1. Ключевая точка рта
[00104] Ключевая точка рта представляет собой первую ключевую точку, соответствующую рту.
[00105] В отношении ключевой точки рта предусмотрено, что модель коррекции положения может соединить ключевые точки рта по углам рта для получения первой базовой линии.
[00106] На первой базовой линии выбирается базовая точка рта (например, средняя точка).
[00107] Положение базовой точки рта сохраняется, а ключевая точка рта корректируется до тех пор, пока первая базовая линия не локализуется в заданном первом положении (например, в горизонтальном положении).
[00108] 2. Ключевая точка бровей
[00109] Ключевая точка бровей представляет собой первую ключевую точку, соответствующую брови.
[00110] В отношении ключевой точки бровей предусмотрено, что модель коррекции положения может соединить ключевые точки бровей по углам бровей для получения второй базовой линии.
[00111] На второй базовой линии выбирается базовая точка бровей (например, средняя точка).
[00112] Положение базовой точки бровей сохраняется, а ключевая точка бровей корректируется до тех пор, пока вторая базовая линия не локализуется в заданном втором положении (например, в горизонтальном положении).
[00113] Для повышения точности при коррекции ключевых точек бровей ключевая точка левой брови и ключевая точка правой брови могут корректироваться по отдельности.
[00114] 3. Ключевая точка глаз
[00115] Ключевая точка глаз представляет собой первую ключевую точку, соответствующую глазу.
[00116] В отношении ключевой точки глаз предусмотрено, что модель коррекции положения может соединить ключевые точки глаз, расположенные по углам глаз, для получения третьей базовой лини.
[00117] На третьей базовой линии выбирается базовая точка глаз (например, средняя точка).
[00118] Положение базовой точки глаз сохраняется, а ключевая точка глаз корректируется до тех пор, пока третья базовая линия не локализуется в заданном третьем положении (например, в горизонтальном положении).
[00119] Для повышения точности при коррекции ключевых точек глаз ключевая точка левого глаза и ключевая точка правого глаза могут корректироваться по отдельности.
[00120] Описанные выше режимы коррекции приведены исключительно для примера. При практической реализации вариантов осуществления настоящего изобретения могут быть установлены другие режимы коррекции в зависимости от фактических условий, что не носит ограничительного характера в вариантах осуществления настоящего изобретения.
[00121] Например, как показано на фиг. 4В, второе изображение 43 лица (часть рамки) выделено из данных изображения, подвергнутых угловой коррекции, приведены к масштабу 70*70 и введены для обработки в модель коррекции положения, а выходными данными служит первая 212-размерная ключевая точка 44 лица (часть рамки).
[00122] На фиг. 4В можно видеть результат прогнозирования второго уровня сети (первую ключевую точку лица, подвергнутую коррекции положения); т.е. исходная рамка, охватывающая лицо, может захватывать большую часть лица с одновременным уменьшением фоновых помех в максимально возможной степени. В сравнении с результатом прогнозирования первого уровня сети этот результат прогнозирования более точен, обеспечено лучшее соответствие внешнего контура лица, а характерные черты лица также скорректированы до определенной степени.
[00123] На стадии S2100 изображение черт лица, содержащее характерные черты лица, извлекаются из данных изображения на основании первой ключевой точки лица, подвергнутой коррекции положения.
[00124] На основании скорректированной первой ключевой точки лица может быть получена рамка, обрамляющая характерные черты лица, такая как минимальная прямоугольная рамка, содержащая все скорректированные первые ключевые точки лица, соответствующие одной из характерных черт лица. Рамки, обрамляющие характерные черты лица, могут точно локализовать характерные черты лица.
[00125] Поскольку при локализации разных характерных черт на лице рамкой, обрамляющей характерные черты лица, могут происходить определенные отклонения, обычно необходимо осуществлять захват изображений характерных черт лица с расширением границ рамки, обрамляющей характерные черты лица, в определенных пропорциях с тем, чтобы гарантировать захват всех характерных черт лица. Следовательно, могут быть уменьшены фоновые помехи и упрощено определение местоположения второй ключевой точки лица.
[00126] На стадии S2110 осуществляется поиск модели определения ключевых точек черт лица, соответствующей изображению черт лица.
[00127] На стадии S2120 изображение черт лица вводится в модель определения ключевых точек черт лица для получения второй ключевой точки лица, которая выдается моделью определения ключевых точек черт лица.
[00128] Как показано на фиг. 3, модель 330 определения ключевых точек черт лица относится к третьему уровню сети. В модель 330 определения ключевых точек черт лица вводится изображение характерных черт лица для его последующей обработки, после чего может быть выведена вторая ключевая точка лица.
[00129] В отношении характерных черт лица, таких как глаза, рот, брови и нос, могут быть приняты к использованию выборочные данные, соответствующие характерным чертам лица, для обучения модели определения ключевых точек черт лица, соответствующей характерным чертам лица. В одном из вариантов осуществления настоящего изобретения модель определения ключевых точек черт лица может представлять собой модель сквозной сверточной нейронной сети.
[00130] Изображение характерных черт лица приводится к фиксированному размеру и вводится в соответствующую модель определения ключевых точек черт лица для детектирования вторых ключевых точек разных характерных черт лица.
[00131] Поскольку каждая характерная черта лица характеризуется небольшой локальной площадью, вводимое изображение характерных черт лица будет невелико, а его выходные размеры будут определены рядом ключевых точек разных характерных черт лица.
[00132] Вследствие небольшого объема входных данных для модели определения ключевых точек черт лица объем вычислений относительно невелик, и может быть скорректировано большое количество локальных погрешностей в определении местоположения при особых выражениях лица, таких как закрытые глаза, открытый рот и приподнятые брови.
[00133] Характерные черты лица, скорректированные моделью коррекции положения, могут находиться во взаимно-однозначном соответствии с моделями определения ключевых точек черт лица.
[00134] Например, как показано на фиг. 3, модель 330 определения ключевых точек черт лица включает в себя модель 331 детектирования рта, модель 332 детектирования глаз и модель 334 детектирования бровей. После коррекции первых ключевых точек рта, глаз и бровей, выполненной моделью 320 коррекции положения, изображения характерных черт лица, такие как изображение рта, изображение глаз и изображение бровей, могут быть соответствующим образом извлечены на основании скорректированных ключевых точек лица.
[00135] Изображение рта вводится для обработки в модель 331 детектирования рта, и определяется вторая ключевая точка лица для рта.
[00136] Изображение глаз вводится для обработки в модель 332 детектирования глаз, и определяется вторая ключевая точка лица для глаз.
[00137] Изображение бровей вводится для обработки в модель 333 детектирования бровей, и определяется вторая ключевая точка лица для бровей.
[00138] Например, как показано на фиг. 4С, изображение 45 рта и изображение 46 глаз (часть в рамке) вырезаны из данных изображения, подвергнутых коррекции положения, и приведены к масштабу 30*30, при этом изображение 45 рта вводится в модель детектирования рта для определения второй ключевой точки лица, а изображение 46 глаз вводится в модель детектирования глаз для определения второй ключевой точки 47 лица (часть в рамке).
[00139] На фиг. 4С можно видеть результат прогнозирования третьего уровня сети (вторую ключевую точку лица); т.е. исходная рамка, охватывающая черты лица, может захватывать большинство характерных черт лица, благодаря чему могут быть максимально устранены фоновые помехи. В сравнении с результатом прогнозирования второго уровня сети этот результат прогнозирования более точен, характерные черты лица частично скорректированы, а, например, вторая ключевая точка глаз может более точно описывать степень закрытия глаз.
[00140] Третий вариант осуществления
[00141] На фиг. 5 схематически показана структура устройства для определения ключевой точки лица согласно третьему варианту осуществления настоящего изобретения. Это устройство может включать в себя следующие модули: модуль 510 получения данных изображения, выполненный с возможностью получения данных изображения, содержащих лицо; модуль 520 определения первой ключевой точки лица, выполненный с возможностью детектирования первой ключевой точки лица в данных изображения; модуль 530 идентификации типа лица, выполненный с возможностью идентификации типа лица на основании первой ключевой точки лица; модуль 540 коррекции положения, выполненный с возможностью осуществления коррекции положения в отношении первой ключевой точки лица с учетом типа лица; модуль 550 извлечения черт лица, выполненный с возможностью извлечения изображения черт лица, содержащих характерные черты лица, из данных изображения на основании первой ключевой точки лица, подвергнутой коррекции положения; и модуль 560 определения второй ключевой точки лица, выполненный с возможностью детектирования второй ключевой точки лица в изображении характерных черт лица.
[00142] В одном из вариантов осуществления настоящего изобретения модуль 520 определения первой ключевой точки лица включает в себя подмодуль извлечения первого изображения лица, выполненный с возможностью извлечения из данных изображения первого изображения лица, содержащего лицо; и подмодуль вызова модели определения ключевой точки лица, выполненный с возможностью ввода первого изображения лица в заданную модель определения ключевой точки лица для получения первой ключевой точки лица, которая выдается моделью определения ключевой точки лица.
[00143] В некоторых вариантах осуществления настоящего изобретения модуль 530 идентификации типа лица включает в себя подмодуль вычисления угла положения, выполненный с возможностью вычисления угла положения лица с использованием первой ключевой точки лица; и подмодуль идентификации угла положения, выполненный с возможностью идентификации типа лица на основании угла положения лица.
[00144] В одном из примеров осуществления настоящего изобретения угол положения включает в себя угол рыскания, а подмодуль идентификации угла положения включает в себя блок определения диапазона углов, в который входит угол рыскания согласно заданной таблице соответствия, и блок настройки типа лица, выполненный с возможностью задания типа лица, соответствующего диапазону углов, в качестве типа лица. В таблице соответствия отражено соотношение распределения между диапазоном углов и типом лица.
[00145] В одном из вариантов осуществления настоящего изобретения модуль 530 идентификации типа лица дополнительно включает в себя подмодуль угловой коррекции, выполненный с возможностью осуществления угловой коррекции в отношении лица на основании угла положения перед идентификацией типа лица на основании угла положения лица.
[00146] В одном из примеров осуществления настоящего изобретения угол положения включает в себя угол бокового наклона, а подмодуль угловой коррекции включает в себя блок выбора базовой точки лица, выполненный с возможностью выбора базовой точки лица по первой ключевой точке лица, и блок коррекции данных изображения, выполненный с возможностью сохранения положения базовой точки лица и корректировки данных изображения до тех пор, пока угол бокового наклоне не достигнет заданного значения.
[00147] В одном из вариантов осуществления настоящего изобретения модуль 540 коррекции положения включает в себя: подмодуль поиска модели коррекции, выполненный с возможностью поиска модели коррекции положения, соответствующей типу лица; подмодуль извлечения второго изображения лица, выполненный с возможностью извлечения из данных изображения второго изображения лица, содержащего лицо, на основании первой ключевой точки лица; и подмодуль вызова модели коррекции положения, выполненный с возможностью ввода второго изображения лица в модель коррекции положения для осуществления коррекции положения в отношении первой ключевой точки лица.
[00148] В одном из примеров осуществления настоящего изобретения первая ключевая точка лица включает в себя, по меньшей мере, одну из таких ключевых точек, как ключевая точка рта, ключевая точка бровей и ключевая точка глаз. Подмодуль вызова модели коррекции положения включает в себя блок соединения ключевых точек рта, выполненный с возможностью соединения ключевых точек рта по углам рта для получения первой базовой линии; блок выбора базовой точки рта, выполненный с возможностью выбора базовой точки рта на первой базовой линии; и блок регулировки ключевой точки рта, выполненный с возможностью сохранения положения базовой точки рта и корректировки ключевой точки рта до тех пор, пока первая базовая линия не локализуется в заданном первом положении; и/или блок соединения ключевых точек бровей, выполненный с возможностью соединения ключевых точек бровей по углам бровей для получения второй базовой линии; блок выбора базовой точки бровей, выполненный с возможностью выбора базовой точки бровей на второй базовой линии; и блок регулировки ключевой точки бровей, выполненный с возможностью сохранения положения базовой точки бровей и корректировки ключевой точки бровей до тех пор, пока вторая базовая линия не локализуется в заданном втором положении; и/или блок соединения ключевых точек глаз, выполненный с возможностью соединения ключевых точек глаз по углам глаз для получения третьей базовой линии; блок выбора базовой точки глаз, выполненный с возможностью выбора базовой точки глаз на третьей базовой линии; и блок регулировки ключевой точки глаз, выполненный с возможностью сохранения положения базовой точки глаз и корректировки ключевой точки глаз до тех пор, пока третья базовая линия не локализуется в заданном третьем положении.
[00149] В одном из вариантов осуществления настоящего изобретения модуль 560 определения второй ключевой точки лица включает в себя подмодуль поиска модели определения ключевой точки черт лица, выполненный с возможностью поиска модели определения ключевой точки черт лица, соответствующей изображению характерных черт лица, причем подмодуль вызова модели определения ключевой точки черт лица выполнен с возможностью ввода изображения характерных черт лица в модель определения ключевой точки черт лица с целью получения второй ключевой точки лица, которая выводится моделью определения ключевой точки черт лица.
[00150] Устройство для определения ключевой точки лица согласно этому варианту осуществления настоящего изобретения может приводить в исполнение способ определения ключевой точки лица согласно любому из вариантов осуществления настоящего изобретения и включает в себя соответствующие функциональные модули, обеспечивая положительный эффект преимуществ реализуемых способов.
[00151] Четвертый вариант осуществления
[00152] На фиг. 6 схематически показана структура компьютерного устройства согласно четвертому варианту осуществления настоящего изобретения. Как показано на фиг. 6, компьютерное устройство содержит процессор 600, память 610, устройство 620 ввода и устройство 630 вывода. В компьютерном устройстве 600 может быть предусмотрен один или несколько процессоров 600, и на фиг. 6 приведен пример с одним процессором 600. Процессор 600, память 610, устройство 620 ввода и устройство 630 вывода, входящие в состав компьютерного устройства, могут быть соединены посредством шины или иным образом, и на фиг. 6 приведен пример соединения посредством шины.
[00153] Память 610, в качестве машиночитаемого носителя данных, может быть выполнена с возможностью хранения программных продуктов, исполняемых компьютером программ и модулей, таких как программные команды/модули (например, модуль 510 получения данных изображения, модуль 520 определения первой ключевой точки лица, модуль 530 идентификации типа лица, модуль 540 коррекции положения, модуль 550 извлечения изображения черт лица и модуль 560 определения второй ключевой точки лица), соответствующие способам определения ключевой точки лица согласно вариантам осуществления настоящего изобретения. Процессор 600 выполняет, по меньшей мере, одно функциональное приложение и осуществляет обработку данных компьютерного устройства путем приведения в исполнение программных продуктов, команд и модулей, хранящихся в памяти 610, т.е. реализует способы определения ключевой точки лица.
[00154] Память 610 может включать в себя, главным образом, область хранения программ и область хранения данных. В области хранения программ памяти 610 может храниться операционная система и приложение, необходимое для выполнения, по меньшей мере, одной функции, а в области хранения данных памяти 610 могут храниться данные, встроенные с учетом сферы применения терминала. Более того, память 610 может включать в себя быстродействующее оперативное запоминающее устройство, и может дополнительно включать в себя энергонезависимое запоминающее устройство, такое как, по меньшей мере, одно запоминающее устройство на магнитных дисках, флеш-память или иные энергонезависимые твердотельные блоки памяти. В некоторых примерах память 610 может включать в себя блоки памяти, расположенные на удалении от процессора 600, и эти удаленные блоки памяти могут соединяться с компьютерным устройством по сети. Примерами сети могут служить, помимо прочего, сеть Интернет, сети Интранет, локальные вычислительные сети, сети мобильной связи и сочетания перечисленных сетей.
[00155] Устройство 620 ввода может быть выполнено с возможностью приема входной цифровой или буквенно-цифровой информации, а также для генерирования основных входных сигналов, связанных с пользовательскими настройками и функциональным управлением компьютерным устройством. Устройство 630 вывода может включать в себя такие устройства отображения, как экран дисплея.
[00156] Пятый вариант осуществления
[00157] Согласно пятому варианту осуществления настоящего изобретения дополнительно предложен носитель данных, содержащий команды, исполняемые компьютером. Исполняемые компьютером команды при их выполнении процессором компьютера инициируют реализацию процессором способа определения ключевой точки лица. Этот способ предусматривает: получение данных изображения, содержащих лицо; детектирование первой ключевой точки лица в данных изображения; идентификацию типа лица на основании первой ключевой точки лица; выполнение коррекции положения в отношении первой ключевой точки лица с учетом типа лица; извлечение изображения черт лица, содержащего характерные черты лица, из данных изображения на основании первой ключевой точки лица, подвергнутой коррекции положения; и детектирование второй ключевой точки лица в изображении характерных черт лица.
[00158] Согласно одному из вариантов осуществления настоящего изобретения носитель данных содержит команды, исполняемые компьютером. Помимо стадий способа, описанных выше, исполняемые компьютером команды могут также выполнять сопутствующие операции в рамках способа определения ключевой точки лица согласно любому из вариантов осуществления настоящего изобретения.
[00159] После ознакомления с представленным выше описанием специалисты в данной области техники могут понять, что настоящее изобретение может быть реализовано посредством программных и универсальных аппаратных средств, а также с помощью только аппаратных средств. Технические решения настоящего изобретения могут быть реализованы в виде компьютерных программных продуктов, которые могут храниться в машиночитаемом носителе данных, таком как гибкий магнитный диск, постоянное запоминающее устройство (ROM), оперативное запоминающее устройство (RAM), флеш-память, жесткий диск или оптический диск компьютера, который содержит множество команд, обеспечивающих возможность реализации компьютерным устройством (которым может служить персональный компьютер, сервер, сетевое устройство или иное устройство подобного рода) способа, описанного в любом из вариантов осуществления настоящего изобретения.
[00160] В вариантах осуществления устройства для определения ключевой точки лица разделение блоков и модулей, входящих в его состав, основано только на их функциональной логике и не ограничено описанным выше разделением при условии, что эти блоки и модули могут реализовывать соответствующие функции. Кроме того, названия каждого функционального модуля представлены исключительно для удобства проведения различия между этими модулями и не претендуют на ограничение объема правовой охраны настоящего изобретения.