РАСПОЗНАВАНИЕ ЛИЦ С ПОМОЩЬЮ ИСКУССТВЕННОЙ НЕЙРОННОЙ СЕТИ
FACE RECOGNITION USING ARTIFICIAL NEURAL NETWORK

ОБЛАСТЬ ТЕХНИКИ
Раскрытые в настоящем описании варианты реализации изобретения относятся в целом к обработке информации, и, в частности, к системам компьютерного зрения и машинного обучения и относящимся к ним методам работы с прикладными программами, в том числе к распознаванию лиц.
УРОВЕНЬ ТЕХНИКИ
Системы распознавания лиц находят все возрастающее применение в самых разных сферах, от охраны правопорядка, безопасности, контрольно-пропускных систем, до организации фотографий и видео и сервисов онлайн-знакомств, и среди многих других сфер. Распознавание лиц отличается от детектирования лиц тем, что целью последнего является не более чем выявление наличия лица на изображении или в видеокадре, а первое предназначено для распознания конкретной личности на изображении или в видеокадре из потенциально большой группы идентифицированных личностей.
Известен ряд различных вычислительных способов, в том числе классификаторы ближайшего соседа, метод опорных векторов и искусственные нейронные сети (ИНС), и многие другие. Из указанного множества решений, особенно хорошие показатели в части выполнения указанной задачи продемонстрировали сверточные ИНС.
Сверточные ИНС (далее - «СНС») имеют обучаемую архитектуру с возможностью извлечения инвариантных функций для ряда задач. Как правило, СНС содержит чередующиеся сверточные слои, нелинейные слои и слои группирования признаков. Каждый слой состоит из элементов или «нейронов», имеющих поддающиеся настройке весовые коэффициенты и смещения. Когда СНС применяются для распознавания изображений, посредством множества слоев небольших наборов нейронов, где каждый набор нейронов обрабатывает часть входного изображения. Затем результаты обработки указанными наборами располагают встык так, чтобы их вводные области частично находили друг на друга, улучшая тем самым представление исходного изображения.
В процессе работы СНС извлекают локальные признаки каждого изображения с высоким разрешением с последующим объединением их в более сложные признаки при более низких разрешениях. Потерю пространственной информации компенсируют большим числом карт признаков в более высоких слоях.
Сверточный слой вычисляет скалярное произведение линейного фильтра и нижележащего рецептивного поля с последующей нелинейной функцией активации в каждой локальной части входного изображения. Затем слой нелинейного преобразования осуществляет нормализацию между соседними картами признаков. Слой группирования признаков объединяет локальные окрестности посредством операции усреднения значений нейронов из окрестности или извлечения максимума с целью достижения инвариантности по отношению к небольшим искажениям.
В настоящее время перед разработчиками систем распознавания лиц стоит, с одной стороны, задача достижения высоких показателей в части точности и, с другой стороны, вычислительной эффективности (например, скорости обработки). Однако данные функциональные свойства систем распознавания лиц, в основе которых лежат СНС, как правило, противоречат друг другу. Необходимо найти практическое решение для дальнейшего улучшения обоих из указанных функциональных свойств.
КРАТКОЕ ИЗЛОЖЕНИЕ СУЩНОСТИ ИЗОБРЕТЕНИЯ
Целью настоящего изобретения является распознавание лиц, осуществляемое посредством сверточной нейронной сети, содержащей группы слоев, отличающиеся тем, что первая, вторая и третья группы содержат сверточный слой, слой группирования признаков, где в качестве функции группировки используется функция извлечения максимума (далее - слой максимального группирования) и слой с активацией элементов по параметрической линейной функции. Четвертая группа слоев содержит сверточный слой и слой с активацией элементов по параметрической линейной функции.
Целью настоящего изобретения является создание системы для автоматического распознавания лиц. Система содержит аппаратное обеспечение, в том числе как минимум одно ядро процессора, хранилище данных и средства ввода/вывода. Аппаратное обеспечение выполнено с возможностью реализации сверточной нейронной сети с как минимум четырьмя группами слоев.
Первая группа слоев выполнена с возможностью приема, в качестве ввода, изображения, содержащего лицо. Изображение содержит множество исходных каналов и то или иное количество исходных пикселей. Эта первая группа содержит первый сверточный слой, первый слой максимального группирования и первую параметрическую кусочно-линейную функцию активации элементов. Первая группа выполнена с возможностью выдачи результата с первым заранее заданным количеством каналов, которое превышает множество исходных каналов на коэффициент не менее 80, и с количеством пикселей, более чем в 4.2 раза меньшим количества исходных пикселей;
Вторая группа слоев выполнена с возможностью приема результата первой группы слоев в качестве ввода. Вторая группа содержит второй сверточный слой, второй слой максимального группирования и вторую параметрическую кусочно-линейную функцию активации элементов. Вторая группа выполнена с возможностью выдачи результата со вторым заранее заданным количеством каналов, которое превышает первое заранее заданное количество каналов на коэффициент не менее 3, и с количеством пикселей, более чем в 4.2 раза меньшим, чем количество пикселей результата первой группы слоев.
Третья группа слоев выполнена с возможностью приема результата второй группы слоев в качестве ввода. Третья группа содержит третий сверточный слой, третий слой максимального группирования и третью параметрическую кусочно-линейную функцию активации элементов. Третья группа выполнена с возможностью выдачи результата с третьим заранее заданным количеством каналов, которое превышает второе заранее заданное количество каналов на коэффициент не менее 2, и с количеством пикселей, более чем в 3.5 раза меньшим, чем количество пикселей результата второй группы слоев.
Четвертая группа слоев выполнена с возможностью приема результата третьей группы слоев в качестве ввода. Четвертая группа содержит четвертый сверточный слой и четвертую параметрическую кусочно-линейную функцию активации элементов. Четвертая группа выполнена с возможностью выдачи результата с четвертым заранее заданным количеством каналов, превышающим третье заранее заданное количество каналов на коэффициент не менее 2, и с количеством пикселей, более чем в 1.1 раза меньшим количества пикселей результата третьей группы.
КРАТКОЕ ОПИСАНИЕ ФИГУР ЧЕРТЕЖА
На чертежах, которые необязательно выполнены в масштабе, схожие номера, как правило, обозначают схожие компоненты в разных видах. Схожие номера с разными конечными буквами могут представлять разные частные случаи аналогичных компонентов. Некоторые варианты реализации проиллюстрированы путем приведения не накладывающих ограничений примеров на фигурах прилагаемых чертежей.
ФИГ. 1А представляет собой блок-схему архитектуры системы верхнего уровня для системы построения набора данных для обучения, которая строит базу данных с возможностью поиска опорных векторов признаков лица, в соответствии с некоторыми вариантами реализации.
ФИГ. 1В представляет собой высокоуровневую блок-схему системы распознавания лиц в соответствии с одним из вариантов реализации.
ФИГ. 2 представляет собой блок-схему с примером варианта архитектуры системы вычислительного устройства на основе процессора в соответствии с одним из вариантов реализации.
ФИГ. 3 представляет собой схему примера архитектуры аппаратной и программной частей вычислительного устройства, такого как показано в ФИГ. 2, с указанием нескольких интерфейсов между аппаратными компонентами и программными компонентами.
ФИГ. 4 представляет собой блок-схему с примерами вычислительных устройств, которые могут быть реализованы в вычислительной системе, например, вычислительной системе, раскрытой на примерах ФИГ. 2-3, в соответствии с некоторыми вариантами реализации.
ФИГ. 5 представляет собой блок-схему примеров компонентов ЦП в качестве одного из процессорных устройств на ФИГ. 4 в соответствии с различными вариантами реализации.
ФИГ. 6 представляет собой схему примера архитектуры сверточной нейронной сети в режиме обучения в соответствии с одним из вариантов реализации.
ФИГ. 7 представляет собой схему примера архитектуры сверточной нейронной сети в режиме формирования векторов признаков в соответствии с одним из вариантов реализации.
ОСУЩЕСТВЛЕНИЕ ИЗОБРЕТЕНИЯ
Целью изобретения является автоматическое распознавание лиц, использующее сверточные нейронные сети для создания базы данных «известных» опорных лиц, с которыми можно сравнивать то или иное лицо субъекта для его распознавания, если это лицо известно как одно из опорных лиц. Следует отметить, что лицо субъекта может быть охарактеризовано на основе введенного изображения, отличного от исходного изображения, по которому было выявлено опорное лицо. Как будет подробнее раскрыто ниже, система построения набора данных для обучения используется для создания векторов признаков для каждого из опорных лиц, которые можно индексировать или иным образом сохранять в базе данных или иной структуре данных с возможностью поиска. Система распознавания лиц применяется для формирования вектора признаков для лица субъекта и выполнения запроса поиска лица субъекта среди опорных лиц.
Исходные изображения могут быть получены из любого подходящего источника, например, данных, зафиксированных формирователем сигналов изображения, данных, представляющих результат топографического сканирования объекта, данных из кадра движущегося видеоизображения, данных из существовавшего ранее файла изображения, полученного в результате сканирования печатного изображения объекта и т.п.
Некоторые варианты реализации могут быть реализованы в составе специализированной вычислительной системы. Вычислительная система может представлять собой одну физическую машину или может быть распределена по нескольким физическим машинам, например, по задачам или функциям, или по подпроцессам процесса в случае распределенной модели облачных вычислений. В различных вариантах реализации, изобретение может быть выполнено с возможностью реализации в виртуальных машинах, которые, в свою очередь, реализованы в одной или нескольких физических машинах. Специалистам в данной области техники будет понятно, что свойства изобретения могут быть реализованы посредством множества подходящих вариантов машин.
ФИГ. 1А представляет собой блок-схему архитектуры системы верхнего уровня для системы 100 построения набора данных для обучения, строящей базу данных с возможностью поиска опорных векторов признаков лица в соответствии с некоторыми вариантами реализации. Вектор признаков представляет собой n-мерный вектор числовых значений, представляющих различные параметры объекта, который, в контексте настоящего описания, является опорным лицом или лицом субъекта. В одном примере реализации, как изображено на фигуре, обучающий аппарат содержит детектор 110 лиц, сверточную нейронную сеть 120 и построитель 130 поискового индекса.
Детектор 110 лиц запрограммирован, или иным образом выполнен, с возможностью анализа визуальных признаков каждого из множества опорных изображений 105 для выявления одного или нескольких лиц на изображении. Выходной сигнал детектора 110 лиц представляет собой набор однородных по размеру изображений 115 отдельных лиц. Изображения 115 лиц могут быть созданы путем вырезания частей изображения, изменения размеров, преобразования формата опорных изображений 105 или какой-либо комбинации указанных способов. Соотношение между опорными изображениями 105 и изображениями 115 лиц может составлять 1:1, но может и не составлять, как в случае, когда опорное изображение 105 содержит лица нескольких людей, или если детектор 110 лиц не может выявить ни одно лицо на том или ином опорном изображении 105. В одном примере реализации, любое из изображений 115 лиц представляет собой изображение размером 80×80 пикселей, представленных в трех каналах (например, сигналов красного, зеленого и синего).
Каждое из изображений 115 лиц поступает в СНС 120, подробнее раскрытую ниже. В общих чертах, СНС 120 обрабатывает каждое из изображений 115 лиц для получения соответствующего вектора признаков из набора 125 векторов признаков. Набор 125 векторов признаков можно сохранить в базе 135 данных с возможностью поиска, в данном примере представляющей собой любую подходящую структуру данных с возможностью поиска.
В соответствующем варианте реализации построитель 130 поискового индекса запрограммирован, или иным образом выполнен, чтобы считывать каждый из векторов признаков из набора 125 векторов признаков и строить поисковый индекс. В одном примере построитель 130 поискового индекса вычисляет значение хэш-функции или свертки для каждого вектора признаков и сохраняет набор значений хэш-функции в индексе быстрого поиска. В еще одном варианте реализации построитель 130 поискового индекса формирует дерево двоичного поиска векторов 125 признаков или соответствующих им значений хэш-функции.
ФИГ. 1В представляет собой высокоуровневую блок-схему системы 150 распознавания лиц в соответствии с одним из вариантов реализации. Система 150 содержит детектор 160 лиц, сверточную сеть 170, механизм 180 поиска и устройство 190 сравнения. Детектор 160 лиц схож с детектором 110 лиц, за исключением того что детектор 160 лиц обрабатывает опорное изображение 155 для создания изображения 165 лица субъекта. Изображение 165 лица субъекта создают таким образом, чтобы оно соответствовало изображениям 115 лиц по размеру и формату.
Изображение 165 лица субъекта передают в СНС 170, запрограммированную или иным образом выполненную с возможностью создания вектора 175 признаков субъекта, соответствующего изображению 165 лица субъекта. Вектор 175 признаков субъекта направляют в механизм 180 поиска, формирующий соответствующий запрос в базе 135 данных с возможностью поиска для одного или нескольких векторов признаков из набора векторов 125 признаков, соответствующих вектору 175 признаков субъекта или схожих с вектором 175 признаков субъекта. В одном примере, если тождественное совпадение не будет найдено, в ответ на запрос будет выдано некоторое заранее заданное количество k векторов признаков, наиболее схожих с вектором признаков субъекта, при этом k может представлять собой любое положительное целое значение меньше количества векторов признаков в базе 135 данных, но, как правило, k будет представлять собой небольшое целое значение. Например, k может быть равно 1, 2, 3 и т.п.
Устройство 190 сравнения запрограммировано, или иным образом выполнено, с возможностью определения меры сходства каждого из векторов признаков, направляемого в ответ на запрос, и сравнения этой меры сходства с заранее определенным порогом сходства. В одном примере реализации мера сходства представляет собой евклидово расстояние, при этом в других вариантах реализации возможно использование других мер сходства. Например, некоторые признаки векторов признаков могут иметь весовой коэффициент, применяемый для увеличения или уменьшения их значимости при вычислении сходства. В близком варианте реализации указанный порог задают динамически таким образом, чтобы ему соответствовало только количество к ближайших векторов признаков из базы 135 данных. Это может быть реализовано, например, в случае использования евклидова расстояния в качестве меры сходства, путем задания порога расстояния таким образом, чтобы он был немного ниже значения (k+1)-го расстояния. Выходной сигнал устройства 190 сравнения может представлять собой показание TRUE/FALSE, означающее соблюдение или несоблюдение критерия сходства.
i
j
i
k
Точность системы распознавания лиц зависит от того, достаточно ли качества векторов признаков для отличения лица субъекта от всех прочих. Иначе говоря, векторы признаков должны быть такими, чтобы расстояние между вектором признаков v для того или иного субъекта и вектором признаков v для того же субъекта было меньше расстояния между v и вектором признаков v, соответствующим любому другому человеку, отличному от субъекта.
В одном примере реализации система 100 и система 150 реализованы на общей вычислительной платформе. В еще одном примере реализации системы 100 и 150 реализованы на разных вычислительных платформах. В близком варианте реализации система 100 построения набора данных для обучения и система 150 распознавания лиц работают независимо друг от друга. Например, система 100 способна преобразовывать базу 135 данных с возможностью поиска, например, путем добавления или удаления векторов признаков, в то время как система распознавания лиц 100 выполняет операции поиска в базе 135 данных с возможностью поиска.
В различных вариантах реализации компоненты систем 100 и 150 реализованы в виде механизмов, схем, компонентов или модулей, для единообразия именуемых «механизмы», но при этом следует понимать, что данные термины являются взаимозаменяемыми. Механизмы могут представлять собой аппаратные средства, программные средства или программно-аппаратные средства, соединенные с возможностью связи с одним или несколькими процессорными устройствами для выполнения раскрытых в настоящем описании операций. Механизмы могут представлять собой аппаратные механизмы и, как таковые, могут считаться материальными объектами, способными выполнять указанные операции, и могут быть выполнены или скомпонованы тем или иным образом. В одном примере схемы могут быть скомпонованы (между собой или по отношению к внешним объектам, таким как, например, другие схемы) определенным образом в виде механизма. В одном примере одно или несколько аппаратных процессорных устройств могут быть полностью или частично образованы программно-аппаратными средствами или программными средствами (например, командами, частью прикладной программы или прикладной программой) в виде механизма для выполнения определенных операций. В одном примере указанные программные средства могут быть размещены на машиночитаемом носителе. В одном примере программные средства, при их реализации базовыми аппаратными средствами механизма, приводят аппаратные средства в действие для выполнения определенных операций. Соответственно, под «аппаратным механизмом» понимают материальный объект, который либо физически построен, особым образом выполнен (например, жестко смонтирован), либо выполнен (например, запрограммирован) на время (например, промежуточно) для работы определенным образом или для выполнения частично или полностью любой из раскрытых в настоящем описании операций.
В примерах, где механизмы выполнены на время, любой из этих механизмов может не быть охарактеризован в тот или иной момент времени. Например, если механизмы содержат ядро процессора общего назначения, настроенное с использованием программных средств, то ядро процессора общего назначения может быть настроено в соответствии с разными механизмами в разные моменты времени. Программные средства могут соответствующим образом настраивать ядро аппаратного процессорного устройства, например, для образования того или иного конкретного механизма в один момент времени и образования другого механизма в другой момент времени.
ФИГ. 2 представлена блок-схема примера вычислительной системы в форме компьютера общего назначения, который при помощи команд программных или программно-аппаратных средств может быть настроен как специализированный компьютер для выполнения операций распознавания лиц в соответствии с некоторыми вариантами реализации. В некоторых вариантах реализации программирование вычислительной системы 200 в соответствии с одним или несколькими конкретными алгоритмами обеспечивает возможность создания специализированной машины в результате указанного программирования. При сетевом развертывании, вычислительная система 200 может функционировать либо в качестве сервера, либо в качестве клиентского устройства в топологии сети клиент-сервер, или же в качестве однорангового устройства в одноранговой (или распределенных) топологии сети. Вычислительная система 200 представляет собой пример архитектуры, в которой могут быть реализованы системы 100 или 150.
Пример вычислительной системы 200 содержит как минимум один процессор 202 (например, центральный процессор (ЦП), графический процессор (ГП), или и тот, и другой, процессорные ядра, вычислительные узлы и т.п.), оперативное запоминающее устройство 204 и статическое запоминающее устройство 206, выполненные с возможностью связи друг с другом посредством канала 208 связи (например, шины). Вычислительная система 200 может также содержать устройство 210 визуального отображения, устройство 212 буквенно-цифрового ввода (например, клавиатуру) и навигационное устройство 214 пользовательского интерфейса (ПИ) (например, мышь). В одном варианте реализации устройство 210 визуального отображения, устройство 212 ввода и навигационное устройство 214 ПИ встроены в сенсорный экран. Вычислительная система 200 может дополнительно содержать устройство 216 хранения (например, дисковод), устройство 218 генерирования сигнала (например, динамик), устройство 220 сопряжения с сетью (УСС), а также один или несколько датчиков (не показаны), таких как, датчик глобальной системы определения местоположения (ГСОМ), компас, акселерометр или иной датчик.
Устройство 216 хранения содержит машиночитаемый носитель 222, на котором хранится один или несколько наборов структур данных и команд 224 (например, программных средств), реализующих раскрытые в настоящем описании один или несколько способы работы или функции, или используемые этими способами или функциями. Команды 224 также могут быть размещены, полностью или частично, в оперативном запоминающем устройстве 204, статическом запоминающем устройстве 206 и/или процессоре 202 во время выполнения их вычислительной системой 200, при этом оперативное запоминающее устройство 204, статическое запоминающее устройство 206 и процессор 202 также образуют машиночитаемые носители.
Несмотря на то, что машиночитаемый носитель 222 раскрыт в одном примере реализации в виде единичного носителя, термин «машиночитаемый носитель» может обозначать единичный носитель или множество носителей (например, централизованную или распределенную базу данных, и/или соответствующие сверхоперативные запоминающие устройства и серверы), хранящих одну или несколько команд 224. Также следует понимать, что термин «машиночитаемый носитель» обозначает любой материальный носитель, способный хранить, кодировать или вмещать команды, выполняемые машиной, которые приводят машину в действие для выполнения одного или нескольких способов работы, раскрытых в настоящем описании, или с возможностью хранения, кодирования или вмещения структур данных, используемых указанными командами или относящихся к ним. В связи с этим следует понимать, что термин «машиночитаемый носитель» без каких-либо ограничений обозначает твердотельные запоминающие устройства, а также оптические и магнитные носители. В число конкретных неограничивающих примеров машиночитаемых носителей входят: энергонезависимое запоминающее устройство, в том числе, к примеру, полупроводниковые запоминающие устройства (например, электрически программируемое постоянное запоминающее устройство (ЭППЗУ), электрически стираемое постоянное запоминающее устройство (ЭСПЗУ)) и устройства флэш-памяти; магнитные диски, такие как встроенные жесткие диски и съемные диски; магнитооптические диски; а также ПЗУ на компакт-диске и ПЗУ на цифровом видеодиске.
УСС 220 в соответствии с различными вариантами реализации может иметь любой подходящий форм-фактор. В одном варианте реализации УСС 220 выполнено в форме платы сетевого интерфейса (ПСИ) с возможностью сопряжения с процессором 202 по каналу 208 связи. В одном примере канал 208 связи содержит шину PCI Express (PCIe), в том числе разъем с возможностью разъемного подключения ПСИ с соответствующим форм-фактором. В еще одном варианте реализации УСС 220 представляет собой схему сопряжения с сетью, расположенную на объединительной плате вместе с электронными схемами локального канала связи, электронными схемами сопряжения с процессором, прочими электронными схемами ввода/вывода, электронными схемами запоминающего устройства, электронными схемами устройства хранения и периферийного контроллера и т.п. В еще одном варианте реализации УСС 220 представляет собой периферийное устройство с возможностью сопряжения с каналом 208 связи через периферийный порт ввода/вывода, например, порт универсальной последовательной шины (УПШ). УСС 220 передает и принимает данные посредством среды 226 передачи, которая может быть проводной или беспроводной (например, радиочастотной, в диапазоне инфракрасного или видимого излучения и т.п.), волоконно-оптической и т.п.
ФИГ. 3 представляет собой схему примера архитектуры аппаратной и программной частей вычислительного устройства, например, раскрытого на ФИГ. 2, с указанием нескольких интерфейсов между аппаратными компонентами и программными компонентами. Аббревиатура «АК» обозначает аппаратные компоненты, изображенные под разделительной линией, а программные компоненты, обозначенные «ПК», расположены над разделительной линией. На стороне аппаратных компонентов, процессорные устройства 302 (в число которых могут входить один или несколько микропроцессоров, процессоров цифровой обработки сигналов и т.п., с одним или несколькими ядрами каждый) сопряжены с устройством 304 управления памятью и системным устройством 306 связи. Устройство 304 управления памятью выполняет функции сопоставления между виртуальной памятью, используемой выполняемыми процессами, и физической памятью. Устройство 304 управления памятью может быть встроено в центральный процессор, также содержащий процессорные устройства 302.
Устройство 306 связи содержит объединительную плату, например, шины памяти, передачи данных и управления, а также устройство сопряжения с устройствами ввода/вывода, например, шину соединения с периферийными устройствами (ШСПУ), УПШ и т.п. Запоминающее устройство 308 (например, динамическое запоминающее устройство с произвольной выборкой - ДЗУПВ) и энергонезависимое запоминающее устройство 309, например, флэш-память (например, электрически-стираемое постоянное запоминающее устройство - ЭСПЗУ, NAND-флэш, NOR-флэш и т.п.) сопряжены с устройством 304 управления памятью и устройством 306 связи через контроллер 310 памяти. Данная архитектура обеспечивает возможность прямого доступа к памяти (ПДП) для периферийных устройств в некоторых вариантах реализации. Устройства ввода/вывода, в том числе видео- и аудио-адаптеры, энергонезависимое запоминающее устройство, каналы связи с внешними периферийными устройствами, например, USB, Bluetooth и т.п., а также устройства сопряжения с сетью, например, выполненные с возможностью связи посредством интерфейсов Wi-Fi или семейства LTE, совместно представлены в виде устройств 312 ввода/вывода и передачи данных по сети с возможностью сопряжения с устройством 306 связи через соответствующие контроллеры 314 ввода/вывода.
На стороне программных компонентов расположена среда 316 предоперационной системы (пред-ОС), реализуемая при начальном запуске системы и отвечающая за запуск начальной загрузки операционной системы. Одним из традиционных примеров среды 316 пред-ОС является базовая система ввода/вывода (БСВВ). В современных системах реализован единый расширяемый интерфейс встроенного программного обеспечения (ЕРИВПО). Среда 316 пред-ОС выполнена с возможностью инициирования запуска операционной системы, а также образует среду выполнения для встроенных приложений согласно признакам изобретения.
Операционная система (ОС) 318 образует ядро, которое управляет аппаратными устройствами, управляет доступом к памяти для программ памяти, координирует задачи и обеспечиваете возможность многозадачности, организует подлежащие хранению данные, распределяет области памяти и другие ресурсы, загружает двоичный код программы в память, запускает выполнение прикладной программы, впоследствии взаимодействующей с пользователем и аппаратными устройствами, и обнаруживает заданные сигналы прерывания и реагирует на них. Операционная система 318 также обеспечивает драйверы устройств и множество общих служб, например, облегчающих сопряжение с периферийными устройствами и передачу данных в сети, обеспечивающее абстрагирование для прикладных программ, чтобы они не должны были заниматься деталями общих операций. Операционная система 318 дополнительно обеспечивает графический интерфейс пользователя (ГИП), облегчающий взаимодействие с пользователем через периферийные устройства, например, монитор, клавиатуру, мышь, микрофон, видеокамеру, сенсорный экран и т.п.
Система 320 среды выполнения реализует части модели выполнения, в том числе такие операции, как ввод параметров в стек до обращения к функции, дисковый ввод/вывод и параллельные операции, связанные с выполнением. Система 320 среды выполнения также может выполнять вспомогательные служебные функции, например, контроль типов, отладку или генерацию и оптимизацию кода.
Библиотеки 322 содержат собрания программных функций, обеспечивающих дополнительное абстрагирование для прикладных программ. В их число входят совместно используемые библиотеки, например, библиотеки динамической компоновки (БДК). Библиотеки 322 могут быть выполнены за одно целое с операционной системой 318, системой 320 среды выполнения, или могут представлять собой надстройки или даже быть размещены на удаленном узле. Библиотеки 322 определяют интерфейс прикладных программ (ИПП), посредством которого прикладные программы 324 могут совершать множество вызовов функций для вызова служб, обеспечиваемых операционной системой 318.
Прикладные программы 324 представляют собой программы, выполняющие нужные пользователям задачи, помимо задач, выполняемых программами систем более низкого уровня, координирующими базовое функционирование вычислительного устройства как такового.
ФИГ. 4 представляет собой блок-схему процессорных устройств 302 в соответствии с некоторыми вариантами реализации. Одно такое устройство или их комбинация может образовывать процессор 120 в некоторых вариантах реализации. ЦП 410 может содержать одно или несколько процессорных ядер 412, каждое из которых содержит одно или несколько арифметико-логических устройств (АЛУ), устройство выборки команд, устройство декодирования команд, управляющий блок, регистры, указатель стека данных, счетчик команд и прочие необходимые компоненты в зависимости от конкретной архитектуры процессора. В качестве наглядного примера, ЦП 410 может представлять собой процессор типа х86. В число процессорных устройств 302 также может входить графический процессор (ГП) 414. В этих вариантах реализации ГП 414 может представлять собой специализированный сопроцессор, освобождающий ЦП 410 от выполнения некоторых требующих большого объема вычислений операций, в частности - относящихся к графическому представлению. Следует отметить, что ЦП 410 и ГП 414, как правило, работают совместно, осуществляя общий доступ к ресурсам памяти, каналам ввода-вывода и т.п.
В некоторых вариантах реализации в число процессорных устройств 302 также может входить вспомогательный процессор 416. Вспомогательный процессор 416, как правило, не участвует в операциях обработки для выполнения машинной программы, в отличие от ЦП 410 и ГП 414. В некоторых вариантах реализации, вспомогательный процессор 416 не использует области памяти совместно с ЦП 410 и ГП 414, и поэтому не предназначен для выполнения программ операционной системы или прикладных программ. Вместо этого, вспомогательный процессор 416 может выполнять специальные встроенные программы, поддерживающие технические операции ЦП 410, ГП 414 и других компонентов вычислительной системы. В некоторых вариантах реализации вспомогательный процессор реализован в виде микроконтроллера с возможностью физического нахождения на том же кристалле интегральной схемы, что и ЦП 410, или на другом кристалле интегральной схемы. Вспомогательный процессор 416 также может содержать специальный набор средств ввода/вывода, обеспечивающий возможность связи с внешними объектами. В одном типе реализации вспомогательный процессор 416 реализован с помощью механизма управляемости (МУ) или процессора безопасности платформы (ПБП). Контроллер 415 ввода/вывода координирует поток данных между процессорными устройствами 410, 414, 416, а также между ними и внешними схемами, например, системной шиной.
ФИГ. 5 представляет собой блок-схему примеров компонентов ЦП 410 в соответствии с различными вариантами реализации. Как показано, ЦП 410 содержит одно или несколько ядер 502, сверхоперативное запоминающее устройство 504 и контроллер 506 ЦП, координирующий взаимодействие и организацию прохождения задач ядра (ядер) 502, а также обеспечивает сопряжение для облегчения потока данных между различными внутренними компонентами ЦП 410 и между ними и внешними компонентами, например, шиной запоминающего устройства или системной шиной.
ЦП 410 содержит энергонезависимое запоминающее устройство 508 (например, флэш-память, ЭСПЗУ и т.п.) для хранения некоторых частей основного кода, например, кода инициализации, кода преобразования для проверки подлинности (ППП) и микрокода. ЦП 410 также выполнен с возможностью сопряжения с внешним (например, сформированным на отдельной интегральной схеме) энергонезависимым запоминающим устройством 510, хранящим основной код, запускаемый кодом инициализации, например, кодом системы BIOS или UEFI.
В одном примере изобретения, СНС 120 и СНС 170 выполнены с возможностью настройки в режиме обучения и режиме формирования векторов признаков. В соответствии с одним из вариантов реализации, режимы обучения и формирования векторов признаков имеют разные архитектуры СНС.
ФИГ. 6 представляет собой схему примера архитектуры СНС 120 или СНС 170 в соответствующем режиме обучения. ФИГ. 7 представляет собой схему примера архитектуры СНС 120 или СНС 170 в соответствующем режиме формирования векторов признаков. Как раскрыто ниже, архитектуры СНС могут содержать сверточные слои, слои нелинейности (например, функции активации), слои группирования, полносвязные слои, регуляризационный слой и слой потери. Каждый из этих слоев известен на уровне техники и будет понятен специалистам в соответствующей технологической области; поэтому настоящий документ не содержит исчерпывающего описания каждого из указанных слоев. Принципы действия указанных слоев можно найти, например, в следующих документах: Dingjun Yu et al., Mixed Pooling for Convolutional Neural Networks, RSKT 2014, LNAI 8818, at 364-375 (2014); (Динжунь Юй с соавторами, «Смешанное группирование для сверточных нейронных сетей», RSKT 2014, LNAI 8818, стр. 364-375 (2014)), Yi sun et al., Deep Learning Face Representation from Predicting 10,000 Classes, In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, at 1891-1898 (2014) (И Сунь с соавторами, «Представление лиц по технологии глубокого обучения на основе прогноза 10000 классов», материалы Конференции Института инженеров по электротехнике и радиоэлектронике по вопросам машинного зрения и распознаванию изображений, стр. 1891-1898 (2014)); Xiang Wu, Learning Robust Deep Face Representation, arXiv preprint arXiv:1507.04844 (2015) (Сян У, «Помехоустойчивое представление лиц по технологии глубокого обучения», препринт в архиве arXiv:1507.04844 (2015)); и Hinton, G.E. et al., Improving neural networks by preventing co-adaptation of feature detectors, arXiv preprint arXiv:1207.0580 (2012) (Хинтон, Дж. E., с соавторами, «Улучшение нейронных сетей за счет предотвращения коадаптации детекторов признаков», препринт в архиве arXiv:1207.0580 (2012)); каждый из которых включен в настоящее описание посредством ссылки.
В соответствии с некоторыми вариантами реализации, сверточные слои содержат блоки фильтров с параметрами W, структурно сгруппированными в 3-мерный тензор размерности К, W, Н. Каждый фильтр применяют к вводу слоя по отдельности, используя следующую формулу двумерной свертки:
В данном примере результат применения k-ного фильтра к вводу можно вычислить по следующей формуле:
В некоторых вариантах реализации слои нелинейности настроены для применения параметрической линейной функции активации элементов (PRELU), определяемой как:
В некоторых вариантах реализации слои группирования выполнены с возможностью применения операции максимального группирования для уменьшения пространственной размерности по следующей формуле:
jk
jk
j-1,k
j,k-1
j-1,k-1
m=max{(m-1),(m-1),(m-1),(m-1)}.
В некоторых вариантах реализации полносвязные слои выполняют мышление на высоком уровне, при этом нейроны в полносвязном слое имеют полные связи со всеми активациями в предыдущем слое. Их активации вычисляют путем перемножения матриц с последующим вычислением систематической погрешности по формуле:
i
i
i
ƒc=(W⋅х)+b
в результате чего получают векторное произведение результата предыдущего слоя и матрицы параметров W.
В некоторых вариантах реализации регуляризационный слой содержит операцию прореживания, стохастически приводящую половину активаций в скрытом слое к нулевым значениям для каждого обучающего образца. Это предотвращает возможность коадаптации скрытых элементов друг с другом и позволяет обучать более точную репрезентацию исходных данных для верного обобщения. Пример операции прореживания описан Хинтоном с соавторами в вышеуказанном документе.
В некоторых вариантах реализации слой потери реализован в виде многопеременной логистической (с потерей) функции для прогнозирования единственного класса из количества K взаимоисключающих классов.
На ФИГ. 6 раскрыт пример архитектуры СНС в режиме обучения. В одном из вариантов реализации данную архитектуру режима индексации и обучения применяют в ИНС 120 (ФИГ. 1А). Архитектура содержит четыре группы слоев свертки (conv)-максимального группирования (maxpool)-активации элементов с помощью параметрической линейной функции (PReLU), обозначенных 602, 604, 606 и 608.
Ввод 620 поступает в сверточный слой CONV1. В одном примере ввод 620 содержит нормализованное (например, кадрированное, измененное по размерам и т.п.) изображение лица, полученное в результате детектирования лиц. Изображение может быть в растровом формате с 3 каналами (например, красного, зеленого, синего). Слой CONV1 производит свертку первого фильтра с изображением с получением выхода слоя с 256 каналами. Слой максимального группирования MAXPOOL1 выдает уменьшенный в размерах результат, составляющий приблизительно четверть от размера входных данных, полученных CONV1.
После применения функции активации по параметрической линейной функции (PRELU1), сверточный слой CONV2 применяет фильтр для получения результата с 768 каналами. Слой MAXPOOL2 уменьшает результат слоя CONV2 до приблизительно четвертой части его исходного размера и направляет результат в PRELU2.
Сверточный слой CONV3 получает на вход результат от PRELU2 и применяет фильтр с получением 1536 каналов. Слой MAXPOOL3 уменьшает размер результата приблизительно на коэффициент, равный 4. Затем применяют функцию активации PRELU3, как показано. Ее результат направляют на вход в сверточный слой CONV4, который применяет фильтр и получает результат размером 3072, подлежащий обработке PRELU4.
Результат PRELU4 направляют в группу слоев 610, где полносвязный слой FACEN выдает результат в виде вектора признаков размером 160 значений. За данной операцией следует слой PRELU5 и операция прореживания DROP. Полносвязный слой FC6 выдает вектор признаков размером 198,397. И наконец, применяют слой многопеременной логистической функции SOFTMAX.
Для целей обучения применяют методику обратного распространения ошибки. Функцию потерь определяют следующим выражением:
В одном примере реализации ввод слоя CONV1 представляет собой изображение размером 80×80 пикселей с тремя каналами. Слой CONV1 применяет фильтр 4×4 с шагом 1 к вводу с получением результата размером 77×77 пикселей с 256 каналами. MAXPOOL1 применяет фильтр 2×2 с шагом 2 с получением результата размером 39×39 пикселей и количеством каналов 256. Сверточный слой CONV2 применяет фильтр размером 3×3 и шагом 1 с получением результата размером 37×37 пикселей с 768 каналами. MAXPOOL2 применяет фильтр 2×2 с шагом 2 с получением результата размером 19×19 пикселей с 768 каналами.
Сверточный слой CONV3 применяет фильтр 3×3 с шагом 1 с получением результата размером 17×17 пикселей с 1536 каналами. MAXPOOL3 применяет фильтр 2×2 с шагом 2 с получением результата размером 9×9 пикселей с 3072 каналами. Сверточный слой CONV4 применяет фильтр 2×2 с шагом 1 с получением результата размером 8×8 пикселей с 3072 каналами.
Полносвязный слой FACEN выдает 160-элементный вектор признаков. 160-элементный вектор признаков представляет собой вектор 125 признаков (ФИГ. 1А) и хранится в базе 135 данных с возможностью поиска, например, как поисковый индекс.
Остальные слои применяют при обучении СНС. Полносвязный слой FC6 выдает результат размером 198,397.
В близком варианте реализации результаты обучения CHC 120 (например, фильтры, применяемые в сверточных слоях) применяют к СНС 170.
На ФИГ. 7 раскрыта архитектура СНС для режима формирования векторов признаков в соответствии с одним из вариантов реализации. Группы слоев свертки (conv)/максимального группирования (maxpool)/слоев с активацией элементов при помощи параметрической линейной функции (PReLU1) 702, 704, 706 и 708 структурно организованы по существу так же, как группы 602, 604, 606 и 608, раскрытые выше на примере ФИГ. 6. Архитектура для режима формирования векторов признаков отличается тем, что после слоя PRELU4 применяют полносвязный слой FACEN на 710 с получением вектора признаков размером 160 значений. В близком варианте реализации данную архитектуру СНС применяют как СНС 170 (ФИГ. 1В). В еще одном близком варианте реализации архитектура на ФИГ. 7 не содержит обучение СНС.
Дополнительные примечания и примеры
Пример 1 представляет собой систему для автоматического распознавания лиц, содержащую: исполнительные аппаратные средства, в том числе как минимум одно процессорное ядро, хранилище данных и средства ввода/вывода, при этом исполнительные аппаратные средства выполнены с возможностью реализации сверточной нейронной сети, содержащей: первую группу слоев, выполненную с возможностью приема, в качестве ввода, изображения, содержащего лицо, при этом изображение имеет множество исходных каналов и то или иное количество исходных пикселей, отличающуюся тем что первая группа содержит первый сверточный слой, первый слой максимального группирования и первую параметрическую линейную функцию активации элементов, причем первая группа выполнена с возможностью выдачи результата с первым заранее заданным количеством каналов, превышающим множество исходных каналов на коэффициент не менее 80, и с количеством пикселей, более чем в 4.2 раза меньшим количества исходных пикселей; вторую группу слоев, выполненную с возможностью приема, в качестве ввода, результата первой группы слоев, при этом вторая группа содержит второй сверточный слой, второй слой максимального группирования и вторую параметрическую линейную функцию активации элементов, причем вторая группа выполнена с возможностью выдачи результата со вторым заранее заданным количеством каналов, превышающим первое заранее заданное количество каналов на коэффициент не менее 3, и с количеством пикселей, более чем в 4.2 раза меньшим количества пикселей результата первой группы слоев; третью группу слоев, выполненную с возможностью приема, в качестве ввода, результата второй группы слоев, при этом третья группа содержит третий сверточный слой, третий слой максимального группирования и третью параметрическую линейную функцию активации элементов, причем третья группа выполнена с возможностью выдачи результата с третьим заранее заданным количеством каналов, превышающим второе заранее заданное количество каналов на коэффициент не менее 2, и с количеством пикселей, более чем в 3.5 раза меньшим количества пикселей результата второй группы слоев; и четвертую группу слоев, выполненную с возможностью приема, в качестве ввода, результата третьей группы слоев, при этом четвертая группа содержит четвертый сверточный слой и четвертую параметрическую линейную функцию активации элементов, причем четвертая группа выполнена с возможностью выдачи результата с четвертым заранее заданным количеством каналов, превышающим третье заранее заданное количество каналов на коэффициент не менее 2, и с количеством пикселей, более чем в 1.1 раза меньшим количества пикселей результата третьей группы.
В Примере 2 объект по Примеру 1 факультативно отличается тем, что сверточная нейронная сеть также содержит пятую группу слоев, содержащую полносвязный слой, выдающий результат, содержащий вектор признаков, характеризующих изображение; причем система дополнительно содержит базу данных с возможностью поиска, содержащую указанный вектор признаков, вместе с множеством других векторов признаков, характеризующих другие изображения, содержащие лица.
В Примере 3 объект по Примеру 2 факультативно содержит построитель поискового индекса, выполненный с возможностью создания поискового индекса векторов признаков, содержащихся в базе данных с возможностью поиска.
В Примере 4 объект по любому одному или более из Примеров 2-3 факультативно содержит механизм поиска, выполненный с возможностью формирования запроса поиска вектора признаков субъекта в базе данных с возможностью поиска; и устройство сравнения, выполненное с возможностью определения меры сходства между указанным вектором признаков субъекта и как минимум одним опорным вектором признаков, выдаваемой в ответ на указанный запрос, и сопоставления данной меры сходства с критерием сходства, причем соответствие критерию сходства указывает на то, что лицо распознано.
В Примере 5 объект по любому одному или более из Примеров 2-4 факультативно отличается тем, что пятая группа слоев содержит пятую параметрическую линейную функцию активации элементов, операцию исключения, второй полносвязный слой и многопеременный логистический слой.
В Примере 6 объект по любому одному или более из Примеров 2-5 факультативно отличается тем, что сверточная нейронная сеть может быть настроена для построения набора данных для обучения и для распознавания лиц, причем настройка построения набора данных для обучения содержит выполнение обучения, а настройка распознавания лица не содержит выполнение обучения.
В Примере 7 объект по Примеру 6 факультативно отличается тем, что в настройке построения набора данных для обучения сверточной нейронной сети формируют опорные векторы признаков для базы данных с возможностью поиска.
В Примере 8 объект по любому одному или более из Примеров 1-7 факультативно отличается тем, что: первый сверточный слой выполнен с возможностью создания 256-канального результата; второй сверточный слой выполнен с возможностью создания 768-канального результата; третий сверточный слой выполнен с возможностью создания 1536-канального результата; и четвертый сверточный слой выполнен с возможностью создания 3072-канального результата.
В Примере 9 объект по любому одному или более из Примеров 1-8 факультативно отличается тем, что входные данные для первой группы слоев включают в себя изображение, кадрированное вокруг лица.
В Примере 10 объект по любому одному или более из Примеров 1-9 факультативно отличается тем, что: первый сверточный слой выполнен с возможностью применения фильтра 4×4 с шагом 1 с получением результата размером 77×77 пикселей с 256 каналами; первый слой максимального группирования выполнен с возможностью применения фильтра 2×2 с шагом 2 с получением результата размером 39×39 пикселей с 256 каналами; второй сверточный слой выполнен с возможностью применения фильтра размером 3×3 и шагом 1 с получением результата размером 37×37 пикселей с 768 каналами; второй слой максимального группирования выполнен с возможностью применения фильтра 2×2 с шагом 2 с получением результата размером 19×19 пикселей с 768 каналами; третий сверточный слой выполнен с возможностью применения фильтра 3×3 с шагом 1 с получением результата размером 17×17 пикселей с 1536 каналами; третий слой максимального группирования выполнен с возможностью применения фильтра 2×2 с шагом 2 с получением результата размером 9×9 пикселей с 3072 каналами; и четвертый сверточный слой выполнен с возможностью применения фильтра 2×2 с шагом 1 с получением результата размером 8×8 пикселей с 3072 каналами.
В Примере 11 объект по любому одному или более из Примеров 1-10 факультативно содержит детектор лиц, настроенный для анализа зафиксированного изображения на наличие визуальных признаков, указывающих на присутствие на изображении лица, и для получения результата, направляемого, в качестве ввода, в сверточную нейронную сеть как изображение, содержащее это лицо.
Пример 12 представляет собой реализуемый компьютером способ для выполнения автоматического распознавания лиц, содержащий шаги, на которых: посредством вычислительной платформы принимают изображение, содержащее лицо, при этом изображение содержит множество каналов и то или иное количество исходных пикселей; обрабатывают изображение посредством первой группы слоев сверточной нейронной сети, содержащей сверточный слой, слой максимального группирования и слой активации элементов при помощи параметрической линейной функции, реализованные на вычислительной платформе, с получением результата первого слоя с первым заранее заданным количеством каналов, превышающим множество входных каналов на коэффициент не менее 80, и с количеством пикселей, более чем в 4.2 раза меньшим количества исходных пикселей; обрабатывают результат первого слоя посредством второй группы слоев сверточной нейронной сети, содержащей сверточный слой, слой максимального группирования и слой активации элементов при помощи параметрической линейной функции, реализованные на вычислительной платформе, с получением результата второго слоя со вторым заранее заданным количеством каналов, превышающим первое заранее заданное количество каналов на коэффициент не менее 3, и с количеством пикселей, более чем в 4.2 раза меньшим количества пикселей результата первого слоя; обрабатывают результат второго слоя посредством третьей группы слоев сверточной нейронной сети, содержащей сверточный слой, слой максимального группирования и слой активации элементов при помощи параметрической линейной функции, реализованные на вычислительной платформе, с получением результата третьего слоя с третьим заранее заданным количеством каналов, превышающим второе заранее заданное количество каналов на коэффициент не менее 2, и с количеством пикселей, более чем в 3.5 раза меньшим количества пикселей результата второго слоя; и обрабатывают результат третьего слоя посредством четвертой группы слоев сверточной нейронной сети, содержащей сверточный слой и слой активации элементов при помощи параметрической линейной функции, с получением результата четвертого слоя с четвертым заранее заданным количеством каналов, превышающим третье заранее заданное количество каналов на коэффициент не менее 2, и с количеством пикселей, более чем в 1.1 раза меньшим количества пикселей результата третьего слоя.
В Примере 13 объект по Примеру 12 факультативно содержит шаги, на которых: обрабатывают результат четвертого слоя посредством пятой группы слоев, содержащей первый полносвязный слой, который формирует результат, содержащий вектор признаков, характеризующий изображение; и сохраняют этот вектор признаков в базе данных с возможностью поиска, содержащей множество других векторов признаков, характеризующих, соответственно, другие изображения, содержащие лица.
В Примере 14 объект по Примеру 13 факультативно содержит шаги, на которых: формируют запрос выполнения поиска вектора признаков субъекта в базе данных с возможностью поиска; и в результате выполнения запроса получают меру сходства между указанным вектором признаков субъекта и как минимум одним опорным вектором признаков; и сопоставляют меру сходства с критерием сходства, причем соответствие критерию сходства указывает на то, что лицо распознано.
В Примере 15 объект по любому одному или более из Примеров 13-14 факультативно отличается тем, что пятая группа слоев содержит пятую параметрическую линейную функцию активации элементов, операцию исключения, второй полносвязный слой и многопеременный логистический слой.
В Примере 16 объект по любому одному или более из Примеров 13-15 факультативно отличается тем, что сверточная нейронная сеть настраиваема для построения набора данных для обучения и для распознавания лица, причем настройка построения набора данных для обучения содержит выполнение обучения, а конфигурация распознавания лица не содержит выполнение обучения.
Пример 17 представляет собой энергонезависимый машиночитаемый носитель, содержащий команды, которые, при реализации их на вычислительной платформе, приводят вычислительную платформу в действие для выполнения операций автоматического распознавания лиц, при этом указанные операции содержат шаги, на которых: посредством вычислительной платформы принимают изображение, содержащее лицо, при этом изображение содержит множество каналов и то или иное количество исходных пикселей; обрабатывают изображение посредством первой группы слоев сверточной нейронной сети, содержащей сверточный слой, слой максимального группирования и слой активации элементов при помощи параметрической линейной функции, реализованные на вычислительной платформе, с получением результата первого слоя с первым заранее заданным количеством каналов, превышающим множество исходных каналов на коэффициент не менее 80, и с количеством пикселей, более чем в 4.2 раза меньшим количества исходных пикселей; обрабатывают результат первого слоя посредством второй группы слоев сверточной нейронной сети, содержащей сверточный слой, слой максимального группирования и слой активации элеменов при помощи параметрической линейной функции, реализованные на вычислительной платформе, с получением результата второго слоя со вторым заранее заданным количеством каналов, превышающим первое заранее заданное количество каналов на коэффициент не менее 3, и с количеством пикселей, более чем в 4.2 раза меньшим количества пикселей результата первого слоя; обрабатывают результат второго слоя посредством третьей группы слоев сверточной нейронной сети, содержащей сверточный слой, слой максимального группирования и слой активации элементов при помощи параметрической линейной функции, реализованные на вычислительной платформе, с получением результата третьего слоя с третьим заранее заданным количеством каналов, превышающим второе заранее заданное количество каналов на коэффициент не менее 2, и с количеством пикселей, более чем в 3.5 раза меньшим количества пикселей результата второго слоя; и обрабатывают результат третьего слоя посредством четвертой группы слоев сверточной нейронной сети, содержащей сверточный слой и слой активации элементов при помощи параметрической линейной функции, с получением результата четвертого слоя с четвертым заранее заданным количеством каналов, превышающим третье заранее заданное количество каналов на коэффициент не менее 2, и с количеством пикселей, более чем в 1.1 раза меньшим количества пикселей результата третьего слоя.
В Примере 18 объект по Примеру 17 факультативно содержит операции, также содержащие шаги, на которых: обрабатывают результат четвертого слоя посредством пятой группы слоев, содержащей первый полносвязный слой, формирующий результат, содержащий вектор признаков, характеризующий изображение; и сохраняют вектор признаков в базе данных с возможностью поиска, содержащей множество других векторов признаков, характеризующих другие изображения, содержащие лица.
В Примере 19 объект по Примеру 18 факультативно содержит операции, также содержащие шаги, на которых: формируют запрос выполнения поиска вектора признаков субъекта в базе данных с возможностью поиска; и в результате выполнения запроса получают меру сходства между указанным вектором признаков субъекта и как минимум одним опорным вектором признаков; и сопоставляют меру сходства с критерием сходства, причем соответствие критерию сходства указывает на то, что лицо распознано.
В Примере 20 объект по любому одному или более из Примеров 18-19 факультативно отличается тем, что пятая группа слоев содержит пятую параметрическую линейную функцию активации элементов, операцию исключения, второй полносвязный слой и многопеременный логистический слой.
Вышеприведенный раздел «Осуществление изобретения» содержит ссылки на прилагаемые чертежи, являющиеся частью раздела. На чертежах наглядно раскрыты конкретные варианты реализации, которые могут быть реализованы на практике. В настоящем описании эти варианты реализации также именуются «примеры». Такие примеры могут содержать дополнительные элементы помимо тех, что показаны или описаны. При этом также следует понимать, что возможны примеры, содержащие показанные или описанные элементы.
Также следует понимать, что возможны примеры, содержащие любую комбинацию или перестановку показанных или описанных признаков (либо одного или нескольких признаков), будь то в отношении того или иного конкретного примера (либо одного или нескольких из его признаков), или других примеров (либо одного или нескольких из их признаков), показанных или описанных в настоящем описании.
Все публикации, патенты и патентные документы, упомянутые в настоящем документе, включены в него посредством отсылки, как если бы каждый из них был включен в него посредством отсылки по отдельности. В случае несоответствия словоупотреблений в настоящем документе и включенных посредством отсылки документах, словоупотребление во включенном посредством отсылки документе (документах) является дополнительным по отношению к словоупотреблению в настоящем документе; в случае неустранимых несоответствий преимущественную силу имеет словоупотребление в настоящем документе.
Слово «или» в настоящем документе служит для выражения неисключающего значения, так что словосочетание «А или В» включает значения «А, но не В», «В, но не А» и «А и В», если не указано иное. В прилагаемой формуле изобретения, на английском языке слова «including» и «in which» служат в качестве простых и доступных эквивалентов слов «comprising» и «wherein» («содержащий» и «отличающийся тем, что», «причем»). Кроме того, слова «including» и «comprising» («содержащий») не являются ограничивающими, то есть система, устройство, предмет или процесс, содержащий какие-либо элементы в дополнение к перечисленным после такого слова в том или ином пункте формулы, также считаются включенными в объем этого пункта. В нижеследующей формуле изобретения слова «первый», «второй», «третий» и т.п. служат не более чем для обозначения и не предназначены для указания числового порядка обозначаемых ими объектов.
Вышеприведенное описание имеет иллюстративный, а не ограничивающий характер. Например, раскрытые выше примеры (либо один или несколько их признаков) можно использовать в комбинации с другими. Ознакомившись с вышеприведенным описанием, рядовой специалист в данной области техники сможет использовать и другие варианты реализации. Реферат предназначен для того, чтобы читатель смог быстро определить суть раскрываемой технической информации. Он предоставлен исходя из того, что его не будут использовать для толкования или ограничения смысла формулы изобретения. Кроме того, в вышеприведенном разделе «Осуществление изобретения» различные признаки могут быть сгруппированы для упрощения раскрытия. При этом в формуле изобретения может не быть указан каждый признак, поскольку варианты реализации могут содержать подгруппу указанных признаков. Кроме того, варианты реализации могут содержать меньшее число признаков чем то, что раскрыто в том или ином конкретном примере. Таким образом, нижеследующие пункты формулы изобретения настоящим включаются в раздел «Осуществление изобретения», при этом тот или иной пункт является самостоятельным в качестве отдельного варианта реализации. Объем раскрытых в настоящем документе вариантов реализации необходимо определять на основании прилагаемой формулы изобретения, а также всего объема эквивалентов, которые эти пункты формулы могут иметь.