RU2823750C1 - System and method for obtaining processed output image having user-selectable quality factor - Google Patents
System and method for obtaining processed output image having user-selectable quality factor Download PDFInfo
- Publication number
- RU2823750C1 RU2823750C1 RU2023115413A RU2023115413A RU2823750C1 RU 2823750 C1 RU2823750 C1 RU 2823750C1 RU 2023115413 A RU2023115413 A RU 2023115413A RU 2023115413 A RU2023115413 A RU 2023115413A RU 2823750 C1 RU2823750 C1 RU 2823750C1
- Authority
- RU
- Russia
- Prior art keywords
- output
- branch
- image
- images
- earlier
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 68
- 238000013528 artificial neural network Methods 0.000 claims abstract description 54
- 238000012545 processing Methods 0.000 claims abstract description 34
- 239000012634 fragment Substances 0.000 claims description 18
- 230000006870 function Effects 0.000 claims description 16
- 230000008569 process Effects 0.000 claims description 14
- 208000009119 Giant Axonal Neuropathy Diseases 0.000 claims 1
- 201000003382 giant axonal neuropathy 1 Diseases 0.000 claims 1
- 230000000694 effects Effects 0.000 abstract description 4
- 239000000126 substance Substances 0.000 abstract 1
- 238000009826 distribution Methods 0.000 description 47
- 238000012549 training Methods 0.000 description 34
- 238000013473 artificial intelligence Methods 0.000 description 15
- 230000008921 facial expression Effects 0.000 description 14
- 230000015572 biosynthetic process Effects 0.000 description 12
- 238000003786 synthesis reaction Methods 0.000 description 12
- 239000013598 vector Substances 0.000 description 12
- 230000006835 compression Effects 0.000 description 11
- 238000007906 compression Methods 0.000 description 11
- 230000014509 gene expression Effects 0.000 description 11
- 230000001537 neural effect Effects 0.000 description 9
- 238000004422 calculation algorithm Methods 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 7
- 238000013459 approach Methods 0.000 description 6
- 230000007423 decrease Effects 0.000 description 6
- 238000009877 rendering Methods 0.000 description 6
- 239000007787 solid Substances 0.000 description 6
- 238000012360 testing method Methods 0.000 description 6
- 238000013442 quality metrics Methods 0.000 description 5
- 238000005070 sampling Methods 0.000 description 5
- 238000010801 machine learning Methods 0.000 description 4
- 238000003909 pattern recognition Methods 0.000 description 4
- 238000005520 cutting process Methods 0.000 description 3
- 238000005265 energy consumption Methods 0.000 description 3
- 230000006872 improvement Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000011160 research Methods 0.000 description 3
- 230000009466 transformation Effects 0.000 description 3
- 238000010200 validation analysis Methods 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000001143 conditioned effect Effects 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000007667 floating Methods 0.000 description 2
- 238000010438 heat treatment Methods 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000000306 recurrent effect Effects 0.000 description 2
- 230000001131 transforming effect Effects 0.000 description 2
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 description 1
- 235000017399 Caesalpinia tinctoria Nutrition 0.000 description 1
- 241000282412 Homo Species 0.000 description 1
- 101150104269 RT gene Proteins 0.000 description 1
- 241000388430 Tara Species 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 238000004026 adhesive bonding Methods 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000001149 cognitive effect Effects 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000005304 joining Methods 0.000 description 1
- 238000013140 knowledge distillation Methods 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000000116 mitigating effect Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 230000029553 photosynthesis Effects 0.000 description 1
- 238000010672 photosynthesis Methods 0.000 description 1
- 238000013138 pruning Methods 0.000 description 1
- 238000001308 synthesis method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Abstract
Description
Область техники, к которой относится изобретениеField of technology to which the invention relates
Изобретение относится к области получения обработанного изображения с выбираемым пользователем показателем качества. Описание известного уровня техникиThe invention relates to the field of obtaining a processed image with a user-selectable quality indicator. Description of the prior art
Генеративно-состязательные сети (GAN) - класс генеративных платформ, которые основаны на конкуренции между двумя нейронными сетями, а именно генератором и дискриминатором [23-25]. В то время как последний выполняет задачу классификации (решает, является ли сгенерированное изображение реальным или нет), первый синтезирует изображение из целевого распределения.Generative adversarial networks (GANs) are a class of generative frameworks that are based on the competition between two neural networks, namely a generator and a discriminator [23–25]. While the latter performs the classification task (decides whether the generated image is real or not), the former synthesizes an image from a target distribution.
Условные GAN являются разновидностью оригинальной платформы [52]. Их архитектура позволяет вводить дополнительную информацию, которая используется для ограничения целевого пространства в соответствии с ней. Следовательно, можно осуществлять подгонку сети к требуемым условиям, используя, например, маску [35], метку [55] или текст [60].Conditional GANs are a variation of the original framework [52]. Their architecture allows for additional information to be introduced, which is used to restrict the target space according to it. Consequently, it is possible to fit the network to the required conditions using, for example, a mask [35], a label [55], or text [60].
В последние годы наблюдается рост популярности нейронных аватаров головы как практического метода для создания моделей головы.In recent years, there has been a growing popularity of neural head avatars as a practical method for creating head models.
Они позволяют воссоздавать лицо с заданным выражением и позой. Такие модели можно разделить на две группы - модели со скрытой геометрией [5, 15, 17, 81, 82] и модели с 3d априором, например сеткой головы [16, 20, 28, 43, 43, 48, 85]. Кроме того, ряд работ ориентирован на все тело человека, включая голову и лицо, которые можно разделить по требованиям к входным данным.They allow to reconstruct a face with a given expression and pose. Such models can be divided into two groups - models with hidden geometry [5, 15, 17, 81, 82] and models with a 3D a priori, for example a head mesh [16, 20, 28, 43, 43, 48, 85]. In addition, a number of works are focused on the entire human body, including the head and face, which can be divided according to the requirements for input data.
В некоторых из них берется всего несколько изображений [1], а в других требуется видео [7, 22, 31, 33, 40, 41, 58, 80, 86].Some of them take just a few images [1], while others require video [7, 22, 31, 33, 40, 41, 58, 80, 86].
Генеративные DNN являются мощным инструментом для синтеза изображений, но они ограничены своей вычислительной нагрузкой. С другой стороны, при наличии обученной модели и задачи, например, генерации лиц в рамках некоторого диапазона характеристик, показатель качества выходного изображения будет неравномерно распределен между изображениями с различными характеристиками. Отсюда следует, что на некоторых экземплярах можно ограничить сложность модели с сохранением высокого показателя качества.Generative DNNs are powerful tools for image synthesis, but they are limited by their computational load. On the other hand, given a trained model and a task, such as generating faces within a range of features, the quality score of the output image will be unevenly distributed across images with different features. This means that on some instances, the complexity of the model can be limited while maintaining a high quality score.
В последние время большое внимание стало уделяться синтезу изображений с помощью генеративно-состязательных сетей (GAN) [64, 72], его области применения простираются от преобразования одного изображения в другое изображение [35] до визуализации текста в изображение [21], генерации нейронных аватаров головы, [17] и многое другое. Однако при создании фотореалистичных изображений этот подход страдает от большой вычислительной нагрузки. В основу настоящего изобретения положено наблюдение, что глубокие нейронные сети (DNN) выводят изображения с различным, но постоянным показателем качества, когда они обусловлены определенными параметрами. Так как ихRecently, much attention has been paid to image synthesis using generative adversarial networks (GANs) [64, 72], with applications ranging from image-to-image transformation [35] to text-to-image rendering [21], generating neural head avatars, [17] and more. However, this approach suffers from high computational load when generating photorealistic images. The present invention is based on the observation that deep neural networks (DNNs) output images with varying but constant quality scores when they are conditioned by certain parameters. Since their
выразительность неодинакова в наборе возможно генерируемых изображений, следовательно, для некоторых примеров может быть достаточно более простой DNN для генерации вывода с требуемым показателем качества.The expressiveness is not uniform across the set of possible generated images, therefore for some examples a simpler DNN may be sufficient to generate output with the required quality score.
С другой стороны, отличные результаты показало применение подходов, нацеленных на снижение большой вычислительной нагрузки DNN, которые существенно уменьшают избыточность вычислений [2,13]. В то время как такие стратегии, как обрезка [46, 53, 65] или дистилляция знаний [4, 9, 26], создают DNN с меньшим количеством параметров, конфигурация раннего выхода (Early Exit, ЕЕ) [42, 7 9] позволяет динамически изменять вычислительную нагрузку и поэтому является идеальным кандидатом для стратегии генерации изображений, нацеленной на вывод изображений с постоянным показателем качества, исключая при этом чрезмерные вычисления, обусловленные неравномерной сложностью рендеринга.On the other hand, approaches aimed at reducing the heavy computational load of DNNs have shown excellent results, significantly reducing the computational redundancy [2,13]. While strategies such as pruning [46, 53, 65] or knowledge distillation [4, 9, 26] produce DNNs with fewer parameters, the Early Exit (EE) configuration [42, 7 9] allows for dynamically changing the computational load and is therefore an ideal candidate for an image generation strategy aimed at outputting images with a constant quality score while avoiding the excessive computation caused by uneven rendering complexity.
Несмотря на это, реализация стратегий ЕЕ остается за рамками исследований на генеративных моделях. Возможно, это связано с тем, что ЕЕ обрабатывает логиты промежуточных уровней, тем самым ограничивая их область применения задачами, где эти уровни имеют значение (например, в классификации), и исключая конвейеры, в которых значимые выходы выдаются только на последнем уровне (например, в генеративных сверточных сетях).Despite this, the implementation of EE strategies remains outside the scope of research on generative models. This is probably due to the fact that EE processes logits of intermediate layers, thereby limiting its scope of application to tasks where these layers are meaningful (e.g., classification), and excluding pipelines in which meaningful outputs are produced only at the last layer (e.g., in generative convolutional networks).
Ранние выходы представляют собой стратегию экономии вычислительных ресурсов, используемую в основном в задачах классификации [45,62]. Они характеризуются добавлением выходов в DNN, по которым можно получить аппроксимацию конечного результата при меньших вычислительных затратах. В процессе времени ранние выходы были открыты заново как самостоятельный подход, несмотря на то, что изначально они были реализованы в таких архитектурах, как Inception [68], в качестве меры противодействия переобучению. Иногда этот подход также называли каскадным обучением [47,51,74], адаптивной нейронной сетью [3] или просто ветвлением [61]. Предлагаемые реализации различаются тремя вариантами дизайна: архитектуре выходов, т.е. какой тип слоев использовать для обработки логитов основной сети; куда присоединять выходы, чтобы равномерно распределить между ними вычисления; и как выбрать путь вычислений. Последняя задача часто решается путем внедрения механизма доверия и выбора единственного выхода [42, 69, 87] или путем повторного использования прогнозов для дальнейших вычислений [77,7 9]. В меньшей степени также предлагались политики обучаемого выхода [8, 12, 61].Early outputs are a computationally efficient strategy used primarily in classification problems [45,62]. They are characterized by adding outputs to a DNN that can be used to approximate the final output at a lower computational cost. Over time, early outputs have been rediscovered as a stand-alone approach, although they were originally implemented in architectures such as Inception [68] as a countermeasure to overfitting. This approach has also sometimes been called cascade learning [47,51,74], adaptive neural network [3], or simply branching [61]. Proposed implementations differ in three design choices: the architecture of the outputs, i.e., what type of layers to use to process the main network logits; where to attach outputs to distribute the computation evenly among them; and how to choose the computation path. The latter problem is often solved by introducing a trust mechanism and selecting a single output [42, 69, 87] or by reusing predictions for further computations [77,7 9]. To a lesser extent, learnable output policies have also been proposed [8, 12, 61].
В качестве метода эффективного использования одного выхода во время логического вывода предлагается изменение пути вычислений для каждого ввода [4 9, 54]. Основанием для возникновения предложенного подхода стал метод, впервые примененный в области поиска нейронной архитектуры: использование так называемого предиктора для ускорения оценки производительности данной архитектуры [6, 76], а также при обработке естественного языка [18, 78], который применялся для логического вывода посредством ранних выходов для периферийного AI с ограниченными ресурсами. [14].As a method for efficiently using a single output during logical inference, a change in the computation path for each input is proposed [4 9, 54]. The basis for the emergence of the proposed approach was a method first applied in the field of neural architecture search: using the so-called predictor to speed up the performance evaluation of a given architecture [6, 76], as well as in natural language processing [18, 78], which was used for logical inference via early outputs for resource-constrained edge AI. [14].
Ранние методы синтеза изображений были основаны на поиске примеров в больших базах данных изображений [30, 34, 39, 44]. В этом их отличие от современных технологий DNN, которые основаны на большом количестве параметров для вывода фотореалистичных изображений. С другой стороны, была предложена полупараметрическая генерация для использования сильных сторон обоих подходов [59, 66, 70]. В частности, использование фрагментов, напоминающие старые методы, позволяет достигать большой точности [27, 50, 71].Early image synthesis methods were based on searching for examples in large image databases [30, 34, 39, 44]. This is in contrast to modern DNN technologies, which rely on a large number of parameters to output photorealistic images. On the other hand, semiparametric generation has been proposed to exploit the strengths of both approaches [59, 66, 70]. In particular, the use of fragments, reminiscent of older methods, allows achieving high accuracy [27, 50, 71].
Хранение большой базы данных изображений создает проблему, когда дело доходит до запроса к ней для извлечения необходимого образца. При поиске направляющих изображений необходимо использовать алгоритм, который быстро найдет похожее изображение или фрагмент. С этой целью используются кэши [2 9, 56] и, в частности, поиск ближайших соседей [27, 36, 83], где предобученные модели используются в качестве экстракторов визуальных признаков, а веса кодировщиков изображений фиксированы.Storing a large image database poses a problem when it comes to querying it to retrieve a desired sample. When searching for guide images, it is necessary to use an algorithm that will quickly find a similar image or fragment. Caches [2, 9, 56] and, in particular, nearest neighbor search [27, 36, 83] are used for this purpose, where pre-trained models are used as visual feature extractors and the weights of the image encoders are fixed.
Предлагаемое изобретение основано на наблюдении, что DNN выдают изображения с различным, но постоянным показателем качества, когда они обусловлены по определенным параметрам.The proposed invention is based on the observation that DNNs produce images with different but constant quality scores when they are conditioned on certain parameters.
Поскольку их выразительность неравномерна в пределах набора возможно генерируемых изображений, следовательно, для некоторых примеров может быть достаточно более простой DNN для генерации вывода с требуемым показателем качества.Since their expressiveness is uneven across the set of possible generated images, therefore, for some examples a simpler DNN may be sufficient to generate output with the required quality score.
СУЩНОСТЬ ИЗОБРЕТЕНИЯESSENCE OF THE INVENTION
Предложена система для получения обработанного изображения, имеющего выбираемый пользователем показатель качества, содержащая:A system is proposed for obtaining a processed image having a quality indicator selected by the user, containing:
- электронное устройство, память, хранящую входные изображения и набор генеративных искусственных нейронных сетей (GAN), причем электронное устройство выполнено с возможностью выполнения операций искусственной нейронной сети;- an electronic device, a memory storing input images and a set of generative artificial neural networks (GAN), wherein the electronic device is configured to perform artificial neural network operations;
- каждая GAN выполнена с возможностью выбора пользователем из набора хранящихся в памяти GAN для получения изображения с предопределенным показателем качества, и каждая GAN предварительно обучена и состоит из:- each GAN is configured to allow the user to select from a set of GANs stored in memory to obtain an image with a predetermined quality score, and each GAN is pre-trained and consists of:
N вычислительных модулей, образующих основную сеть, иN computing modules that form the core network, and
множества ветвей более раннего выхода, каждая из которых присоединена после каждого вычислительного модуля, за исключением последнего вычислительного модуля основной сети, причем каждая ветвь более раннего выхода содержит столько вычислительных модулей, сколько их остается в основной сети после точки присоединения ветви более раннего выхода до выхода основной сети, при этом каждый вычислительный модуль каждой ветви более раннего выхода выполняет ту же самую функцию, что и соответствующий оставшийся вычислительный модуль в основной сети, и вычислительный ресурс каждой ветви более раннего выхода меньше вычислительного ресурса соответствующих оставшихся вычислительных модулей основной сети до выхода основной сети,a plurality of earlier output branches, each of which is attached after each computing module, except for the last computing module of the main network, wherein each earlier output branch contains as many computing modules as there are left in the main network after the attachment point of the earlier output branch before the output of the main network, wherein each computing module of each earlier output branch performs the same function as the corresponding remaining computing module in the main network, and the computing resource of each earlier output branch is less than the computing resource of the corresponding remaining computing modules of the main network before the output of the main network,
причем чем ближе конкретная ветвь более раннего выхода расположена к выходу основной сети, тем выше вычислительный ресурс для получения выходного изображения, генерируемого конкретной ветвью более раннего выхода, иand the closer a specific branch of an earlier output is to the output of the main network, the higher the computational resource for obtaining the output image generated by a specific branch of an earlier output, and
причем показатели качества выходного изображения, сгенерированного ветвями более раннего выхода, отличаются друг от друга;where the quality indicators of the output image generated by the branches of the earlier output differ from each other;
- набор предикторов, каждый из которых представляет собой искусственную нейронную сеть, при этом каждый предиктор создается и предварительно обучается для конкретной GAN, хранящейся в памяти, предиктор сконфигурирован прогнозировать показатель качества обрабатываемого изображения для вывода из каждой ветви более раннего выхода конкретной GAN на основе входного изображения, которое пользователь намерен подать на вход конкретной GAN;- a set of predictors, each of which is an artificial neural network, wherein each predictor is created and pre-trained for a specific GAN stored in memory, the predictor is configured to predict a quality score of the processed image to be output from each branch of an earlier output of a specific GAN based on an input image that the user intends to feed into the specific GAN;
причем GAN сконфигурирована выводить обработанные выходные изображения из той ветви более раннего выхода, которая генерирует обработанное выходное изображение, имеющее показатель качества, наиболее соответствующий показателю качества, выбранному пользователем.wherein the GAN is configured to output processed output images from the branch of the earlier output that generates a processed output image having a quality score that most closely matches the quality score selected by the user.
При этом, чем ближе конкретная ветвь более раннего выхода расположена к выходу основной сети, тем выше показатель качества обработанного изображения, генерируемого данной конкретной ветвью более раннего выхода.Moreover, the closer a specific branch of an earlier output is to the output of the main network, the higher the quality indicator of the processed image generated by this specific branch of an earlier output.
Каждая ветвь раннего выхода предварительно обучена на состязательной функции потерь с копиями исходного дискриминатора основной сети.Each early exit branch is pre-trained on an adversarial loss function with copies of the original main network discriminator.
Система может дополнительно содержать базу данных, хранящую направляющие данные, при этом основная сеть дополнительно сконфигурирована осуществлять выборку из базы данных направляющих данных для исходных изображений, введенных в основную сеть, причем направляющие данные соединяются с данными из вычислительного модуля перед точкой присоединения ветви более раннего выхода, и полученные после соединения данные подаются в ветвь более раннего выхода для дальнейшей обработки. Иными словами, система может дополнительно содержать базу данных, хранящую направляющие данные, при этом GAN дополнительно сконфигурирована извлекать из базы данных направляющие данные и соединять их с исходными данными изображения, введенными в GAN, причем направляющие данные соединяются с данными из вычислительного модуля перед ветвью более раннего выхода, и соединенные данные передаются в ветвь более раннего выхода для дальнейшей обработки. Направляющие данные могут быть направляющими признаками. Направляющие данные могут быть изображениями, фрагментами изображений, признаками или фрагментами признаков (промежуточными тензорами). Размер фрагмента может варьироваться и быть таким же большим, как исходное изображение или признак.The system may further comprise a database storing guide data, wherein the main network is further configured to retrieve guide data from the database for source images input to the main network, wherein the guide data is connected to data from the computing module before the point of attachment of the earlier output branch, and the data obtained after the connection is fed to the earlier output branch for further processing. In other words, the system may further comprise a database storing guide data, wherein the GAN is further configured to retrieve guide data from the database and connect them with source image data input to the GAN, wherein the guide data is connected to data from the computing module before the earlier output branch, and the connected data is fed to the earlier output branch for further processing. The guide data may be guide features. The guide data may be images, image fragments, features, or feature fragments (intermediate tensors). The fragment size may vary and be as large as the source image or feature.
Предложен способ для получения обработанного изображения, имеющего выбираемый пользователем показателем качества, использующий предложенную систему, заключающийся в том, что:A method is proposed for obtaining a processed image having a user-selectable quality indicator using the proposed system, consisting in the fact that:
выбирают посредством пользователя из памяти входные изображения, предварительно обученную GAN и предварительно обученный предиктор, соответствующий данной GAN;select, by means of the user, from memory the input images, the pre-trained GAN and the pre-trained predictor corresponding to this GAN;
выбирают посредством пользователя показатель качества для обработанных выходных изображений;select a quality indicator for the processed output images by the user;
подают по меньшей мере одно из входных изображений в соответствующий предварительно обученный предиктор;feeding at least one of the input images to a corresponding pre-trained predictor;
прогнозируют на основании по меньшей мере одного из поданных входных изображений посредством соответствующего предварительно обученного предиктора показатель качества для обработанных выходных изображений, которые будут сгенерированы каждой ветвью более раннего выхода;predicting, based on at least one of the supplied input images, by means of a corresponding pre-trained predictor, a quality indicator for the processed output images that will be generated by each branch of the earlier output;
выбирают одну ветвь более раннего выхода, генерирующую обработанное выходное изображение, имеющее показатель качества, наиболее соответствующий показателю качества, выбранному пользователем;selecting one branch of the earlier output that generates a processed output image having a quality score that most closely matches the quality score selected by the user;
преобразуют входные изображения во входные данные, которые могут быть обработаны GAN;transform input images into input data that can be processed by GAN;
подают входные данных в GAN с выбранной ветвью более раннего выхода для обработки;feed the input data into the GAN with the earlier output branch selected for processing;
обрабатывают входные данные посредством GAN с выбранной ветвью более раннего выхода;process the input data through a GAN with the earlier output branch selected;
получают на выходе выбранной ветви более раннего выхода обработанные выходные изображения.receive processed output images at the output of the selected branch of the earlier output.
Альтернативно, согласно предложенному способу:Alternatively, according to the proposed method:
выбирают пользователем из памяти по меньшей мере одно исходное изображение, предобученную GAN и соответствующий предобученный предиктор,the user selects from memory at least one source image, a pre-trained GAN and a corresponding pre-trained predictor,
подают исходное изображение в предиктор;feed the source image into the predictor;
прогнозируют посредством предиктора показатель качества для каждого изображения, сгенерированного основной сетью и каждой ветвью более раннего выхода GAN;predict, via the predictor, a quality score for each image generated by the main network and each branch of the earlier GAN output;
выбирают посредством пользователя показатель качества на основе прогноза;select a quality indicator based on the forecast by the user;
преобразуют входные изображения во входные данные, подлежащие обработке GAN;transform input images into input data to be processed by the GAN;
подают входные данные в GAN с ветвью более раннего выхода для обработки;feed input data into the GAN with an earlier output branch for processing;
обрабатывают входные данные посредством GAN иprocess input data through GAN and
отображают на дисплее электронного устройства готовое обработанное изображение, выведенное из выхода основной сети или одной из ветвей более раннего выхода, которая обеспечивает выбранный показатель качества.display on the display of the electronic device the finished processed image, output from the output of the main network or one of the branches of an earlier output, which provides the selected quality indicator.
Согласно способу, дополнительно сохраняют в памяти готовые обработанные выходные изображения, выведенные из выхода основной сети или одной ветви более раннего выхода, которая обеспечивает выбранный показатель качества изображения.According to the method, the finished processed output images, derived from the output of the main network or one branch of an earlier output, which provides the selected image quality indicator, are additionally stored in memory.
Готовые обработанные выходные изображения могутThe finished processed output images can be
отображаться на дисплее электронного устройства или передаваться на другие средства обработки для дальнейшего использования.displayed on the display of an electronic device or transmitted to other processing facilities for further use.
Чем ближе конкретная ветвь более раннего вывода расположена к выходу основной сети, тем выше показатель качества обработанного изображения, сгенерированного конкретной ветвью более раннего выхода. Показатель качества выражается в единицах FID.The closer a particular branch of the earlier output is to the output of the main network, the higher the quality score of the processed image generated by a particular branch of the earlier output. The quality score is expressed in FID units.
Также предложен способ получения обработанного изображения с выбранным пользователем показателем качества, использующий предложенную систему, заключающийся в том, что:A method for obtaining a processed image with a quality indicator selected by the user is also proposed, using the proposed system, which consists in the fact that:
выбирают посредством пользователя из памяти входные данные, предобученную GAN и предобученный предиктор, соответствующий данной GAN,select from memory by the user the input data, the pre-trained GAN and the pre-trained predictor corresponding to this GAN,
выбирают посредством пользователя показатель качества для обработанных выходных изображений;select a quality indicator for the processed output images by the user;
подают по меньшей мере одно из входных изображений в соответствующий предварительно обученный предиктор;feeding at least one of the input images to a corresponding pre-trained predictor;
прогнозируют на основании поданного по меньшей мере одного из входных изображений посредством соответствующегоpredict based on at least one of the input images supplied by means of the corresponding
предварительно обученного предиктора показатель качества для обработанных выходных изображений, которые будут сгенерированы каждой ветвью более раннего выхода;pre-trained predictor quality score for the processed output images that will be generated by each branch of the earlier output;
выбирают одну ветвь более раннего выхода, генерирующую обработанное выходное изображение, имеющее показатель качества, наиболее соответствующий выбранному пользователем показателю качества;selecting one branch of the earlier output that generates a processed output image having a quality score that best matches the user-selected quality score;
преобразуют входные изображения во входные данные, подлежащие обработке GAN;transform input images into input data to be processed by the GAN;
подают входные данные в GAN с ветвью более раннего выхода для обработки;feed input data into the GAN with an earlier output branch for processing;
обрабатывают входные данные посредством GAN с выбранной ветвью более раннего выхода,process the input data through a GAN with the earlier output branch selected,
при этом во время обработки:while processing:
- выбирают из базы данных направляющие данные, соответствующие направляющим данным для по меньшей мере одного из входных изображений,- selecting from the database guide data corresponding to guide data for at least one of the input images,
- соединяют направляющие данные с выводом данных из вычислительного модуля перед выбранной ветвью более раннего выхода,- connect the guide data to the data output from the computing module before the selected branch of the earlier output,
- подают соединенные данные в выбранную ветвь более раннего выхода или в основную сеть для дальнейшей обработки;- feed the connected data into the selected branch of the earlier output or into the main network for further processing;
получают на выходе из выбранной ветви более раннего выхода обработанные выходные изображения. Согласно способу,receive processed output images at the output of the selected branch of the earlier output. According to the method,
дополнительно сохраняют в памяти готовые обработанные выходные изображения, выведенные из выхода основной сети или одной ветви более раннего выхода, которая обеспечивает выбранный показатель качества изображения.additionally, they store in memory the finished processed output images derived from the output of the main network or one branch of an earlier output that provides the selected image quality indicator.
Готовые обработанные выходные изображения можно отображать на дисплее электронного устройства или передавать на другие устройства для дальнейшего использования.The finished processed output images can be displayed on the display of an electronic device or transferred to other devices for further use.
Чем ближе конкретная ветвь более раннего выхода расположена к выходу основной сети, тем выше показатель качества обработанного изображения, сгенерированного данной конкретной ветвью более раннего выхода. Показатель качества может выражаться в единицах FID.The closer a particular branch of an earlier output is to the output of the main network, the higher the quality score of the processed image generated by that particular branch of an earlier output. The quality score can be expressed in FID units.
Направляющие данные могут быть изображениями, фрагментами изображения, признаками или фрагментами признаков.The guide data can be images, image fragments, features, or feature fragments.
Альтернативно, согласно предложенному способу:Alternatively, according to the proposed method:
выбирают посредством пользователя из памяти по меньшей мере одно исходное изображение, предобученную GAN и соответствующий предобученный предиктор,selecting from memory by the user at least one source image, a pre-trained GAN and a corresponding pre-trained predictor,
подают по меньшей мере одно исходное изображение в предиктор;feed at least one source image to the predictor;
прогнозируют посредством предиктора показатель качества для каждого изображения, сгенерированного основной сетью и каждой ветвью более раннего выхода GAN;predict, via the predictor, a quality score for each image generated by the main network and each branch of the earlier GAN output;
выбирают посредством пользователя показатель качества на основе прогноза;select a quality indicator based on the forecast by the user;
преобразуют входные изображения во входные данные, которые могут быть обработаны GAN;transform input images into input data that can be processed by GAN;
подают входные данные в GAN;feed input data into the GAN;
обрабатывают входные данные посредством GAN, причем во время обработки:process input data using GAN, and during processing:
- выбирают из базы данных направляющие данные, соответствующие направляющему изображению,- select from the database the guide data corresponding to the guide image,
- соединяют направляющие данные с данными из вычислительного модуля перед ветвью более раннего выхода,- connect the guide data with the data from the computing module before the branch of the earlier output,
- подают соединенные данные в ветвь более раннего выхода для дальнейшей обработки;- feed the connected data into the earlier output branch for further processing;
сохраняют в памяти готовое обработанное изображение, выведенное из выхода основной сети или одной ветви более раннего выхода, которая обеспечивает выбранный показатель качества.store in memory the finished processed image, derived from the output of the main network or one branch of an earlier output that provides the selected quality indicator.
Готовое изображение можно, например, отобразить на дисплее электронного устройства. Пользователь может сохранить эти изображения заранее на основе исходных изображений, выбранных из памяти.The finished image can, for example, be displayed on the display of an electronic device. The user can save these images in advance based on the original images selected from memory.
Предложен машиночитаемый носитель, хранящий инструкции для выполнения любого из предложенных способов электронным устройством.A machine-readable medium is proposed that stores instructions for performing any of the proposed methods by an electronic device.
По меньшей мере, один из множества вычислительных модулей может быть реализован моделью искусственного интеллекта (AI). Функция, связанная с AI, может выполняться посредством энергонезависимой памяти, энергозависимой памяти и процессора.At least one of the plurality of computing modules may be implemented by an artificial intelligence (AI) model. The AI-related function may be performed by non-volatile memory, volatile memory, and a processor.
Процессор может включать в себя один или несколько процессоров. В настоящее время один или несколько процессоров могут быть процессорами общего назначения, такими как центральный процессор (CPU), прикладной процессор (АР), графический процессор (GPU), визуальный процессор (VPU), и/или специальный процессор для AI, такой как нейронный процессор (NPU) и т.п.The processor may include one or more processors. Currently, the one or more processors may be general-purpose processors such as a central processing unit (CPU), an application processor (AP), a graphics processing unit (GPU), a visual processing unit (VPU), and/or a special processor for AI such as a neural processing unit (NPU), etc.
Эти один или несколько процессоров управляют обработкой входных данных в соответствии с предопределенным рабочим правилом или моделью искусственного интеллекта (AI), хранящейся в энергонезависимой памяти и энергозависимой памяти. Предопределенное рабочее правило или модель искусственного интеллекта предоставляется путем изучения или обучения.These one or more processors control the processing of input data in accordance with a predefined operating rule or artificial intelligence (AI) model stored in non-volatile memory and volatile memory. The predefined operating rule or AI model is provided by learning or training.
В данном контексте предоставление посредством обучения означает, что, применяя алгоритм обучения к множеству обучающих данных, создается предопределенное рабочее правило или модель AI с требуемой характеристикой. Обучение может выполняться в самом устройстве, в котором выполняется AI согласно варианту осуществления, и/или может быть реализовано на отдельном сервере/системе.In this context, provision by training means that by applying a training algorithm to a set of training data, a predetermined operating rule or AI model with the desired characteristic is created. The training may be performed in the device itself, in which the AI is executed according to the embodiment, and/or may be implemented on a separate server/system.
Модель AI может состоять из множества уровней нейронной сети. Каждый уровень имеет множество значений весов и выполняет операцию уровня посредством вычисления предыдущего уровня и оперирования множеством весов. Примеры нейронных сетей включают, без ограничения перечисленным, сверточную нейронную сеть (CNN), глубокую нейронную сеть (DNN), рекуррентную нейронную сеть (RNN), ограниченную машину Больцмана (RBM), глубокую сеть доверия (DBN), двунаправленную рекуррентную глубокую нейронную сеть (BRDNN), генеративно-состязательные сети (GAN) и глубокие Q-сети.An AI model may consist of multiple neural network layers. Each layer has multiple weight values and performs the layer operation by computing the previous layer and operating on the multiple weights. Examples of neural networks include, but are not limited to, convolutional neural network (CNN), deep neural network (DNN), recurrent neural network (RNN), restricted Boltzmann machine (RBM), deep belief network (DBN), bidirectional recurrent deep neural network (BRDNN), generative adversarial networks (GAN), and deep Q-networks.
Кроме того, предлагаемый способ, выполняемый электронным устройством, может быть реализован с использованием модели искусственного интеллекта.In addition, the proposed method, performed by an electronic device, can be implemented using an artificial intelligence model.
Модель искусственного интеллекта можно получить путем обучения. В данном контексте "полученный путем обучения" означает, что предопределенное рабочее правило или модель искусственного интеллекта, обеспечивающая выполнение требуемой функции (или цели), получают путем обучения базовой модели искусственного интеллекта на множестве частей обучающих данных с помощью обучающего алгоритма. Модель искусственного интеллекта может включать в себя множество слоев нейронной сети. Каждый из множества слоев нейронной сети включает в себя множество значений параметров сети и выполняет вычисления нейронной сети путем вычисления между результатом вычисления предыдущего слоя и множеством значений параметров.An artificial intelligence model can be obtained by training. In this context, "obtained by training" means that a predetermined working rule or an artificial intelligence model that ensures the performance of a desired function (or goal) is obtained by training a base artificial intelligence model on a plurality of parts of training data using a training algorithm. An artificial intelligence model can include a plurality of neural network layers. Each of the plurality of neural network layers includes a plurality of network parameter values and performs neural network computations by computing between the result of the computation of the previous layer and the plurality of parameter values.
Визуальное понимание - это метод распознавания и обработки вещей аналогично человеческому зрению, и оно включает, например, распознавание объекта, отслеживание объекта, поиск изображений, распознавание людей, распознавание сцен, 3D реконструкцию/локализацию или улучшение изображения.Visual understanding is a method of recognizing and processing things similar to human vision, and it includes, for example, object recognition, object tracking, image retrieval, person recognition, scene recognition, 3D reconstruction/localization, or image enhancement.
Прогнозирование рассуждений в искусственном интеллекте это метод логических рассуждений и получения прогнозов путем определения информации, который включает в себя, например, формирование рассуждений на основе знаний, прогнозирование оптимизации, планирование на основе предпочтений или рекомендации.Predictive reasoning in artificial intelligence is a method of logical reasoning and making predictions by identifying information, which includes, for example, knowledge-based reasoning, optimization prediction, preference-based planning, or recommendations.
Краткое описание чертежейBrief description of the drawings
Представленные выше и/или другие аспекты станут более очевидными из описания примерных вариантов осуществления со ссылкой на прилагаемые чертежи, на которых:The above and/or other aspects will become more apparent from the description of exemplary embodiments with reference to the accompanying drawings, in which:
Фиг. 1 иллюстрирует пример предлагаемой системы для получения обработанного изображения, имеющего выбираемый пользователем показатель качества.Fig. 1 illustrates an example of the proposed system for obtaining a processed image having a user-selectable quality indicator.
Фиг. 2 иллюстрирует взаимосвязь между показателем качества (выраженным в единицах FID) и вычислениями для всех ветвей при различных коэффициентах масштабирования реализации OASIS с использованием базы направляющих данных.Figure 2 illustrates the relationship between the quality metric (expressed in FID units) and the computations for all branches for different scaling factors of the OASIS implementation using the guideline database.
Фиг. 3 иллюстрирует примеры выходов ветвей для конвейера OASIS.Fig. 3 illustrates examples of branch outputs for the OASIS pipeline.
Фиг. 4 иллюстрирует распределение вычислений между ветвями основной сети OASIS для множества заданных порогов LPIPS.Fig. 4 illustrates the distribution of computations among branches of the OASIS core network for a set of given LPIPS thresholds.
Фиг. 5 иллюстрирует примеры выходов ветвей для конвейера MegaPortraits.Fig. 5 illustrates example branch outputs for the MegaPortraits pipeline.
Фиг. 6 иллюстрирует зависимость между показателем качества (выраженным в единицах LPIPS) и вычислениями для всех ветвей.Fig. 6 illustrates the relationship between the quality score (expressed in LPIPS units) and the computations for all branches.
Фиг. 7 иллюстрирует распределение вычислений между ветвями основной сети MegaPortraits для множества заданных порогов LPIPS.Fig. 7 illustrates the distribution of computations between branches of the MegaPortraits main network for a set of given LPIPS thresholds.
Фиг. 8 иллюстрирует конвейер OASIS, распределение изображений, направленных в разные ветви в зависимости от их угла поворота головы (в конвейере OASIS).Fig. 8 illustrates the OASIS pipeline, distributing images into different branches depending on their head rotation angle (in the OASIS pipeline).
Фиг. 9 иллюстрирует сравнение между распределением показателей качества отдельных ветвей OASIS и распределением показателей качества, полученным с помощью предиктора (Р).Fig. 9 illustrates a comparison between the distribution of quality scores of individual OASIS branches and the distribution of quality scores obtained using the predictor (P).
Фиг. 10 иллюстрирует сравнение между показателем качества и вычислениями конвейера OASIS.Fig. 10 illustrates a comparison between the quality metric and the OASIS pipeline calculations.
Фиг. 11 иллюстрирует сравнение эффективности различных коэффициентов масштабирования (в конвейере OASIS).Fig. 11 illustrates a comparison of the performance of different scaling factors (in the OASIS pipeline).
Фиг. 12 иллюстрирует сравнение эффективности различных коэффициентов масштабирования (в конвейере OASIS).Fig. 12 illustrates a comparison of the performance of different scaling factors (in the OASIS pipeline).
Фиг. 13 иллюстрирует сравнение эффективности различных коэффициентов масштабирования (в конвейере MegaPortraits).Fig. 13 illustrates a comparison of the performance of different scaling factors (in the MegaPortraits pipeline).
Фиг. 14 иллюстрирует сравнение влияния базы данных на распределение показателя качества для различных коэффициентов масштабирования (в конвейере OASIS).Fig. 14 illustrates a comparison of the impact of the database on the quality score distribution for different scaling factors (in the OASIS pipeline).
Фиг.15 иллюстрирует распределение изображений, направляемых в различные ветви в зависимости от их угла поворота головы (в конвейере MegaPortraits).Fig.15 illustrates the distribution of images sent to different branches depending on their head rotation angle (in the MegaPortraits pipeline).
Подробное описаниеDetailed description
Предлагаемое изобретение ускоряет работу генеративных нейронных сетей, позволяет нейронным сетям работать быстрее или снизить энергопотребление, обеспечивая при этом требуемую частоту выхода. Тем самым можно снизить потребление мощности электроэнергии, а также нагрев устройств, используемых для работы нейронной сети, таких как дискретные графические карты для ПК, серверов или ноутбуков, или SoC смартфона.The proposed invention accelerates the operation of generative neural networks, allows neural networks to work faster or reduce energy consumption, while ensuring the required output frequency. This can reduce the power consumption of electricity, as well as the heating of devices used to operate a neural network, such as discrete graphics cards for PCs, servers or laptops, or SoC smartphones.
Настоящее изобретение может найти применение в любых нейронных сетях, предназначенных для генерации изображений на основе скрытого вектора, архитектура которых состоит из множества блоков. Показанные на фиг.1 блоки 11, 12, 13, 14 -это модули архитектуры нейронной сети. Каждый блок выполняет функцию небольшой нейронной сети, преобразуя вводы в соответствии с умножением на веса, добавляя смещения и применяя нелинейную функцию активации и другие операции. Конкретно, настоящее изобретение можно применять в любых многослойных нейронных сетях, включая любую GAN.The present invention can be applied to any neural networks intended for generating images based on a latent vector, the architecture of which consists of a plurality of blocks. The blocks 11, 12, 13, 14 shown in Fig. 1 are modules of the neural network architecture. Each block performs the function of a small neural network, transforming inputs in accordance with multiplication by weights, adding biases and applying a nonlinear activation function and other operations. Specifically, the present invention can be applied to any multilayer neural networks, including any GAN.
Изобретение позволяет ускорить работу нейронных сетей или снизить энергопотребление, обеспечивая при этом требуемую частоту вывода в реальном времени. Также изобретение позволяет снизить нагрузку, энергопотребление и нагрев устройств, которые используются для реализации данной нейронной сети, и изобретение используется в таких устройствах, как дискретная видеокарта для ПК, сервера или ноутбука, а также SoC для смартфона, и в любом электронном устройстве, имеющем центральный процессор. Кроме того, предлагается машиночитаемый носитель, на котором хранится компьютерный код для выполнения предложенного способа компьютером или подходящим электронным устройством. При этом электронное устройство может содержать дисплей, память для хранения изображений и набор искусственных нейронных сетей (ANN), и электронное устройство также выполнено с возможностью выполнения операций искусственной нейронной сети.The invention allows to accelerate the operation of neural networks or reduce energy consumption, while providing the required output frequency in real time. The invention also allows to reduce the load, energy consumption and heating of devices that are used to implement this neural network, and the invention is used in such devices as a discrete video card for a PC, server or laptop, as well as SoC for a smartphone, and in any electronic device that has a central processor. In addition, a machine-readable medium is proposed, on which a computer code is stored for performing the proposed method by a computer or a suitable electronic device. In this case, the electronic device can contain a display, memory for storing images and a set of artificial neural networks (ANN), and the electronic device is also made with the possibility of performing artificial neural network operations.
Предлагаемый способ позволяет уменьшить объем вычислений путем добавления так называемых ветвей раннего выхода к исходной архитектуре (основной сети) и динамического переключения пути вычислений в зависимости от сложности рендеринга вывода.The proposed method allows to reduce the amount of computation by adding so-called early exit branches to the original architecture (the main network) and dynamically switching the computation path depending on the complexity of the output rendering.
Основной сетью является любая генеративная модель, использующая декодер, а именно, нейронная сеть, которая принимает скрытый вектор и выдает результат, обычно после обработки сигнала несколькими слоями. Сложность определяется показателем качества исходного изображения (набора входных данных). Чем хуже показатель качества исходного изображения, тем выше сложность. Показатель качества измеряется обычными метриками изображения (FID, LPIPS). Создается несколько путей с разным количеством параметров и обучается нейронная сеть, называемая предиктор, для прогнозирования, какой показатель качества изображений будет получен из каждого пути. Если пользователь устанавливает более низкий показатель качества при генерации изображений, предиктор предлагает наиболее простой способ для удовлетворения этого требования.The basic network is any generative model that uses a decoder, namely a neural network that takes a latent vector and produces an output, usually after processing the signal through several layers. The complexity is determined by the quality score of the original image (the input dataset). The worse the quality score of the original image, the higher the complexity. The quality score is measured by common image metrics (FID, LPIPS). Several paths are created with different numbers of parameters and a neural network called a predictor is trained to predict what image quality score will be obtained from each path. If the user specifies a lower quality score when generating images, the predictor suggests the simplest way to satisfy this requirement.
Следует отметить, что нейронная сеть работает с тензорами данных, поэтому изображения, подлежащие вводу в нейронную сеть и обработке в ней, следует преобразовать в тензоры данных. Операция преобразования изображений в тензоры общеизвестна и не рассматривается в настоящем описании.It should be noted that the neural network works with data tensors, so the images to be input into the neural network and processed in it should be converted into data tensors. The operation of converting images into tensors is well known and is not considered in this description.
Таким образом, в дальнейшем описании термин "входное изображение" подразумевает использование термина "тензоры данных", полученные в результате преобразования входных изображений для дальнейшей обработки нейронной сетью.Thus, in the further description, the term "input image" implies the use of the term "data tensors" obtained as a result of transforming the input images for further processing by the neural network.
Предлагаемый способ позволяет выводить изображения с заданным пользователем более низким предопределенным показателем качества выходных изображений и может применяться везде, где имеется модель, генерирующая изображения с использованием декодера. В качестве примеров рассматривается применение данного способа для генерации на основе семантической карты (известной из уровня техники) и перекрестного воспроизведения выражений лица. Генерация изображения на основе семантической карты - это задача создания изображения со списком всех пикселей, принадлежащих определенному классу, в качестве ввода. Например, для фотографии улицы семантическая карта содержит список всех пикселей, которые должны содержать дорогу, деревья, здания и т.д. Перекрестное воспроизведение выражений лица - это задача, в которую вводятся два портрета, один определяет личность, а второй - выражение и положение головы, которые требуется придать первой личности. Настоящее изобретение позволяет сократить наполовину вычисления нейронной сети (по сравнению с исходной основной сетью) для показателя качества LPIPS (Learned Perceptual Image Patch Similarity) ≤ 0,1 изображения, сгенерированного нейронной сетью.The proposed method allows outputting images with a user-defined lower predefined output image quality indicator and can be applied wherever there is a model generating images using a decoder. As examples, the application of this method for generation based on a semantic map (known from the prior art) and cross-reproduction of facial expressions is considered. Image generation based on a semantic map is the task of creating an image with a list of all pixels belonging to a certain class as input. For example, for a street photo, the semantic map contains a list of all pixels that should contain a road, trees, buildings, etc. Cross-reproduction of facial expressions is a task in which two portraits are input, one defining a person, and the second one - the expression and head position that must be given to the first person. The present invention allows to reduce by half the computations of the neural network (compared to the original main network) for the quality indicator LPIPS (Learned Perceptual Image Patch Similarity) ≤ 0.1 of the image generated by the neural network.
В предлагаемом способе используется стратегия "раннего выхода" для синтеза изображения, которая динамически направляет поток вычислений к требуемым ветвям раннего выхода в зависимости от сложности изображений, что снижает избыточность вычислений, сохраняя при этом требуемый показатель качества, предопределенного пользователем.The proposed method uses an "early exit" strategy for image synthesis, which dynamically directs the computation flow to the required early exit branches depending on the complexity of the images, which reduces the redundancy of the computations while maintaining the required quality indicator predetermined by the user.
Выходные ветви раннего выхода присоединены к исходной базовой независимой искусственной нейронной сети (называемой основной сетью) которая состоит из входа, вычислительных модулей и выхода), как показано фиг.1. Вычислительные модули раннего выхода обозначены как соответствующими номерами в порядке возрастания показателя качества (обозначены как 1, 2, 3 в кружках, при этом 4 в кружке обозначает выход из основной сети). Эти вычислительные модули построены по облегченной версии (т.е. с меньшим количеством параметров) вычислительных модулей, составляющих архитектуру основной сети, их сложность может настраиваться в соответствии с требуемым показателем качества, предопределенным пользователем. Чем меньше параметров в сети, тем меньше будет производиться вычислений, от этого будет страдать показатель качества вывода, и поэтому выходы создаются с учетом баланса между потерей показателя качества и ускорением вычислений.The output branches of the early output are connected to the original basic independent artificial neural network (called the main network) which consists of an input, computational modules and an output), as shown in Fig. 1. The computational modules of the early output are denoted as corresponding numbers in ascending order of quality index (marked as 1, 2, 3 in circles, with 4 in the circle indicating the exit from the main network). These computing modules are built on a lightweight version (i.e. with fewer parameters) of the computing modules that make up the architecture of the main network, their complexity can be adjusted in accordance with the required quality indicator predefined by the user. The fewer parameters in the network, the less calculations will be performed, the output quality indicator will suffer from this, and therefore outputs are created taking into account the balance between the loss of the quality indicator and the acceleration of calculations.
На фиг.1 показан пример предлагаемой системы для получения обработанного изображения, имеющего показатель качества, выбираемый пользователем (предопределенный показатель качества). Предлагаемая система содержит искусственные нейронные сети (ИНС), также включающие в себя GAN. Память электронного устройства содержит множество GAN для разных задач. Каждая хранящаяся в памяти GAN содержит N вычислительных модулей, образующих основную сеть, и множество ветвей более раннего выхода, каждая из которых присоединена после каждого вычислительного модуля основной сети, за исключением последнего вычислительного модуля основной сети. Каждая ветвь более раннего выхода содержит столько вычислительных модулей, сколько их остается в основной сети после точки присоединения ветви более раннего выхода до выхода основной сети. Каждый вычислительный модуль каждой ветви более раннего выхода выполняет ту же функцию, что и соответствующий оставшийся вычислительный модуль в основной сети. Вычислительный ресурс (количество вычислений) каждой ветви более раннего выхода меньше вычислительного ресурса соответствующих оставшихся вычислительных модулей основной сети до выхода основной сети.Fig. 1 shows an example of the proposed system for obtaining a processed image having a quality indicator selected by the user (a predetermined quality indicator). The proposed system contains artificial neural networks (ANN), which also include GANs. The memory of the electronic device contains a plurality of GANs for different tasks. Each GAN stored in the memory contains N computing modules forming the main network, and a plurality of branches of an earlier output, each of which is attached after each computing module of the main network, with the exception of the last computing module of the main network. Each branch of an earlier output contains as many computing modules as there are left in the main network after the attachment point of the branch of an earlier output before the output of the main network. Each computing module of each branch of an earlier output performs the same function as the corresponding remaining computing module in the main network. The computing resource (number of computations) of each branch of an earlier output is less than the computing resource of the corresponding remaining computing modules of the main network before the output of the main network.
Например (см. фиг.1), генератор основной сети состоит из вычислительных модулей с l1 по l4. Каждая ветвь более раннего выхода присоединена после каждого вычислительного модуля основной сети (выходы 1, 2, 3 в кружках на фиг.1). На фиг.1 показаны три ветви раннего выхода, что добавляет ранние выходы 1, 2, 3. Каждая ветвь более раннего выхода содержит столько вычислительных модулей , сколько их остается в основной сети после точки подключения ветви более раннего выхода до выхода основной сети. Каждый вычислительный модуль каждой ветви более раннего выхода выполняет ту же функцию, что и соответствующий оставшийся вычислительный модуль в основной сети. Чем ближе конкретная ветвь более раннего выхода к выходу основной сети, тем выше вычислительный ресурс для получения обработанного изображения и показатель качества обработанного изображения, генерируемого конкретной ветвью более раннего выхода.For example (see Fig. 1), the main network generator consists of computational modules l 1 through l 4 . Each branch of the earlier output is attached after each computational module of the main network (outputs 1, 2, 3 in circles in Fig. 1). In Fig. 1, three branches of the earlier output are shown, which adds the early outputs 1, 2, 3. Each branch of the earlier output contains so many computational modules , how many of them remain in the main network after the connection point of the branch of the earlier exit before the exit of the main network. Each computing module Each branch of the earlier output performs the same function as the corresponding remaining computing module in the main network. The closer a particular branch of the earlier output is to the output of the main network, the higher the computing resource for obtaining the processed image and the quality indicator of the processed image generated by a particular branch of the earlier output.
Как показано на фиг.1, каждая ветвь имеет различную глубину (глубина - это количество вычислительных модулей) и состоит из облегченных вычислительных модулей , то есть вычислительных модулей, которые содержат меньше параметров, чем вычислительные модули основной сети, хотя их структуры аналогичны.As shown in Fig. 1, each branch has a different depth (depth is the number of computing modules) and consists of lightweight computing modules , that is, computing modules that contain fewer parameters than the computing modules of the main network, although their structures are similar.
Например (данный пример не ограничивает область применения изобретения), входными данными для основной сети являются 2 изображения, выбранные пользователем из памяти электронного устройства. Одно изображение, личность которого необходимо сохранить, и второе изображение, выражение лица которого необходимо сохранить. На выходе необходимо получить первую личность со вторым выражением лица. Память содержит предварительно подготовленную основную сеть с подключенными предобученными ветвями раннего выхода, на выходе которых показатель качества результирующего изображения ниже показателя качества изображения, полученного во время работы основной сети, а вычислительный ресурс каждой ветви значительно меньше вычислительного ресурса исходной основной сети. Пользователь извлекает из памяти электронного устройства GAN, то есть основную сеть с присоединенными ветвями раннего выхода, причем эта основная сеть пригодна для обработки изображений, выбранных пользователем из памяти. При этом выбранная основная сеть может выполнять обработку с получением готового изображения с максимальным показателем качества, и для получения изображения с максимальным показателем качества используются вычислительные модули основной сети, имеющие высокий вычислительный ресурс.For example (this example does not limit the scope of application of the invention), the input data for the main network are 2 images selected by the user from the memory of the electronic device. One image, the identity of which must be saved, and the second image, the facial expression of which must be saved. At the output, it is necessary to obtain the first identity with the second facial expression. The memory contains a pre-prepared main network with connected pre-trained early output branches, at the output of which the quality indicator of the resulting image is lower than the quality indicator of the image obtained during the operation of the main network, and the computing resource of each branch is significantly less than the computing resource of the original main network. The user retrieves from the memory of the electronic device a GAN, i.e. a main network with connected early output branches, wherein this main network is suitable for processing images selected by the user from the memory. In this case, the selected main network can perform processing with the receipt of a finished image with the maximum quality indicator, and to obtain an image with the maximum quality indicator, the computing modules of the main network with a high computing resource are used.
Память электронного устройства также содержит набор предикторов, каждый из которых представляет собой искусственную нейронную сеть. Каждый предиктор генерируется и предварительно обучается для конкретной GAN, хранящейся в памяти. Предиктор сконфигурирован прогнозировать показатель качества обработанного изображения для каждого выхода каждой ветви более раннего выхода конкретной GAN на основе исходного изображения, которое пользователь намерен подать на вход конкретной GAN. Предикторы сгруппированы с соответствующей основной сетью с присоединенной ветвью более раннего выхода в памяти.The memory of the electronic device also contains a set of predictors, each of which is an artificial neural network. Each predictor is generated and pre-trained for a specific GAN stored in the memory. The predictor is configured to predict the quality score of the processed image for each output of each branch of the earlier output of the specific GAN based on the original image that the user intends to feed into the specific GAN. The predictors are grouped with the corresponding main network with the branch of the earlier output attached in the memory.
Например, выбирают посредством пользователя из памяти электронного устройства два изображения. Одно изображение является источником, это изображение человека, внешность которого пользователь хочет сохранить (человек слева (например, изображения (а) или (b)) на фиг.1), другое изображение является драйвером, это любая другая фотография лица, выражение которого хочет передать пользователь (например, это изображение человека справа (изображения (а) или (b)) на фиг.1)). То есть в примере, показанном на фиг.1, изображения человека слева (изображения (а) или (b)) принимаются в качестве личности, которая отображается с выражением лица человека справа (изображения (а) или (b)).For example, two images are selected from the memory of an electronic device by the user. One image is the source, this is the image of the person whose appearance the user wants to save (the person on the left (for example, images (a) or (b)) in Fig. 1), the other image is the driver, this is any other photograph of the face whose expression the user wants to convey (for example, this is the image of the person on the right (images (a) or (b)) in Fig. 1)). That is, in the example shown in Fig. 1, the images of the person on the left (images (a) or (b)) are taken as the personality that is displayed with the facial expression of the person on the right (images (a) or (b)).
На фиг.1 показан в качестве примера путь вычислений для двух отдельных вводов:Figure 1 shows an example of the computation path for two separate inputs:
первый ввод (изображения а): источник - человек слева (изображение а), драйвер - человек справа (изображение а);first input (image a): source - person on the left (image a), driver - person on the right (image a);
второй ввод (изображения b): источник - человек слева (изображение b), драйвер - человек справа (изображение b).second input (image b): source is the person on the left (image b), driver is the person on the right (image b).
Каждое изображение (а) и (b) обрабатывается отдельно, на фиг.1 они показаны вместе только для иллюстрации.Each image (a) and (b) is processed separately, in Fig. 1 they are shown together for illustration purposes only.
Пользователь выбирает изображение (а) из памяти. Уже подготовленная и предобученная GAN (основная сеть с присоединенными ветвями раннего выхода) и соответствующий предобученный предиктор уже хранятся в памяти для решения такой задачи обработки изображения. Поэтому пользователь выбирает подходящую GAN вместе с предиктором из памяти после выбора изображений.The user selects an image(s) from memory. An already prepared and pre-trained GAN (the main network with early output branches attached) and the corresponding pre-trained predictor are already stored in memory to solve such an image processing task. Therefore, the user selects a suitable GAN along with the predictor from memory after selecting the images.
Пользователь выбирает требуемый показатель качества обрабатываемого выходного изображения. Изображение человека справа из изображений (а) подается в предиктор. Предиктор прогнозирует показатель качества изображения, сгенерированного основной сетью и каждой ветвью более раннего выхода выбранной GAN. При обработке изображений (а) с помощью GAN будет использоваться ветвь более раннего выхода, которая генерирует обработанное выходное изображение, имеющее показатель качества, наиболее соответствующий (или соответствующий) показателю качества, выбранному пользователем.The user selects the desired quality score for the output image to be processed. The image of the person on the right from images (a) is fed to the predictor. The predictor predicts the quality score of the image generated by the main network and each earlier output branch of the selected GAN. When processing images (a) using the GAN, the earlier output branch that generates the processed output image having the quality score that most closely matches (or matches) the quality score selected by the user will be used.
Если пользователю изначально требуется получить изображение с максимальным показателем качества, будет использоваться основная сеть без ветвей раннего выхода.If the user initially requires an image with the highest quality score, the main network without early exit branches will be used.
Например, на фиг.1 для максимального показателя качества, запрошенного пользователем для изображений (а), будет использоваться вся основная сеть без использования каких-либо ветвей более раннего выхода (выход 4). Для показателя качества, запрошенного пользователем для изображений (b), будет использоваться основная сеть с ветвью раннего выхода 2, так как согласно прогнозам предиктора показатель качества выходного изображения ветви более раннего выхода с выходом 2 в этом случае наиболее соответствует выбранному пользователем показателю качества.For example, in Fig. 1, for the maximum quality score requested by the user for images (a), the entire main network will be used without using any branches of the earlier output (output 4). For the quality score requested by the user for images (b), the main network with the earlier output branch 2 will be used, since according to the predictor's predictions, the quality score of the output image of the earlier output branch with output 2 in this case best matches the quality score selected by the user.
Примеры изображений на выходе после l1 или l3, не показаны.Examples of output images after l 1 or l 3 are not shown.
Для приведенных примеров (а) и (b) задачей нейронной сети является замена изображения головы второго человека (драйвера) на втором изображении или видео на голову первого человека (источника). Если подается видео, сеть заменяет голову драйвера на голову источника не только для одного изображения, но и на протяжении всего видео.For the examples (a) and (b) given, the task of the neural network is to replace the image of the second person's head (the driver) in the second image or video with the head of the first person (the source). If a video is fed, the network replaces the driver's head with the source's head not only for one image, but throughout the entire video.
Готовое обработанное изображение, выводимое с выхода основной сети или одной из ветвей более раннего выхода, обеспечивающих заданный показатель качества, отображается, например, на дисплее электронного устройства. Чем сложнее изображение, тем больше требуется вычислений для получения требуемого предопределенного показателя качества.The finished processed image, output from the output of the main network or one of the branches of an earlier output that provides a given quality indicator, is displayed, for example, on the display of an electronic device. The more complex the image, the more calculations are required to obtain the required predetermined quality indicator.
Предиктор - это DNN, предварительно обученная на выходах предложенных ветвей и способная указывать выход, необходимый для вывода изображения с предопределенным показателем качества. Предиктор обучается с учителем, устанавливающим функцию потерь, как минимальную среднеквадратическую ошибку между ее прогнозом и фактическим показателем качества. Предиктор обучается на примерах и может прогнозировать показатель качества на выходе всех присоединенных к основной сети ранних выходов для данных входных изображений. При этом выход 4 назначается более сложному изображению (а) для сохранения требуемого показателя качества. А для нижнего входного изображения (b) (сплошная линия) требуется только выход 2, чтобы поддерживать требуемый предопределенный пользователем показатель качества.The predictor is a DNN pre-trained on the outputs of the proposed branches and is able to specify the output required to output an image with a pre-defined quality score. The predictor is trained with a teacher setting the loss function to be the minimum mean squared error between its prediction and the actual quality score. The predictor is trained on examples and can predict the quality score of the output of all early outputs attached to the main network for a given input image. In doing so, output 4 is assigned to the more complex image (a) to maintain the desired quality score. And for the lower input image (b) (solid line), only output 2 is required to maintain the desired user-defined quality score.
В процессе работы изображение драйвера пропускается через предиктор и получаются порядковые номера ранних выходов, которые, согласно прогнозу предиктора, могут обеспечить требуемый предопределенный показатель качества выходного изображения, заданный предварительно. Блоки (например, 11,12,13,14 на фиг.1) основной нейронной сети (основной сети), к которым применяется предлагаемый способ, не требуют модификации. Ветви раннего выхода обеспечивают более ранний выход окончательного изображения из сети, чем обычный выход из основной сети без ветвей раннего выхода.During the operation, the driver image is passed through the predictor and the serial numbers of the early outputs are obtained, which, according to the predictor's forecast, can provide the required predetermined output image quality indicator specified in advance. The blocks (for example, 11,12,13,14 in Fig. 1) of the main neural network (the main network), to which the proposed method is applied, do not require modification. The early output branches provide an earlier output of the final image from the network than the usual output from the main network without early output branches.
Показатель качества изображения вычисляется с использованием обычных мер (LPIPS, FID), а предиктор представляет собой вспомогательную сеть, обученную на примерах и предопределенном показателе качества сгенерированногоThe image quality score is calculated using conventional measures (LPIPS, FID), and the predictor is an auxiliary network trained on examples and a predefined quality score of the generated image.
изображения.images.
Таким образом, после предоставления пользователем данных входного изображения предиктор вычисляет, какой показатель качества генерации будет иметь каждый выход. Это позволяет выбрать наиболее быстрый (с точки зрения вычислений) выход из тех, которые удовлетворяют данному условию показателя качества.Thus, after the user provides input image data, the predictor calculates what generation quality score each output will have. This allows the fastest (computationally) output to be selected from those that satisfy a given quality score condition.
Предиктор является абсолютно независимой нейронной сетью. Его вывод представляет собой список показателей качества изображения, сгенерированных всеми ранними выходами для данного ввода. Предиктор используется в предлагаемом способе для выбора вывода с показателем качества, наиболее соответствующим выбранному пользователем показателю качества. Предиктор определяет показатель качества вывода в виде метрики LPIPS (известной в данной области техники).The predictor is a completely independent neural network. Its output is a list of image quality scores generated by all early outputs for a given input. The predictor is used in the proposed method to select the output with the quality score that best matches the user-selected quality score. The predictor defines the output quality score as the LPIPS metric (known in the art).
Количество вычислительных модулей (т.е. глубина) ранних выходов варьируется в зависимости от количества модулей основной сети, оставшихся после присоединения к ней данного раннего выхода. Таким образом, обеспечивается достаточная обработка промежуточных логитов основной сети, причем вычисления происходят быстрее, так как вычислительные модули раннего выхода имеют меньше параметров, чем вычислительные модули основной сети. Следует отметить, что количество вычислительных модулей раннего выхода равно количеству вычислительных модулей, оставшихся в основной сети, т.е. невостребованных вычислительных модулей основной сети. Например, если от точки присоединения раннего выхода до конца основного пути осталось 4 вычислительных модуля, то ранний выход будет иметь 4 вычислительных модуля.The number of computational modules (i.e. depth) of early exits varies depending on the number of main network modules remaining after the early exit joins it. This ensures sufficient processing of the intermediate logits of the main network, and the computations are faster, since the computational modules of the early exit have fewer parameters than the computational modules of the main network. It should be noted that the number of computational modules of the early exit is equal to the number of computational modules remaining in the main network, i.e. unclaimed computational modules of the main network. For example, if there are 4 computational modules left from the point of joining the early exit to the end of the main path, then the early exit will have 4 computational modules.
При этом поддерживается следующее условие: вычислительный ресурс выхода ветви раннего выхода в сумме с вычислительным ресурсом предыдущих выходов в блок-схеме основной сети всегда меньше вычислительного ресурса раннего выхода с более высоким порядковым номером. Это условие необходимо для того, чтобы иметь множество выходов с возрастающим количеством вычислений и, соответственно, с лучшим показателем качества.In this case, the following condition is supported: the computational resource of the output of the early output branch in sum with the computational resource of the previous outputs in the main network block diagram is always less than the computational resource of the early output with a higher ordinal number. This condition is necessary in order to have a set of outputs with an increasing number of calculations and, accordingly, with a better quality indicator.
Предлагаемая система может дополнительно содержать базу, хранящую направляющие данные (примеры), из которой извлекаются направляющие примеры, имеющие, например, изображение человека, совпадающее с изображением человека на входном изображении-источнике (человек слева на изображениях а или b на фиг.1), и подаются в каждую ветвь. При этом поза человека на направляющем изображении наиболее близка к позе человека на входном изображении-драйвере, но имеет внешний вид источника (человек слева на изображениях а или b на фиг.1). Для одной задачи извлекается один пример, т.е. один пример за проход. База примеров формируется заранее для каждой задачи, например, пользователем.The proposed system may additionally contain a database storing guide data (examples), from which guide examples are extracted, having, for example, a human image that matches the human image in the input source image (the human on the left in images a or b in Fig. 1), and are fed to each branch. In this case, the pose of the human in the guide image is closest to the pose of the human in the input driver image, but has the appearance of the source (the human on the left in images a or b in Fig. 1). For one task, one example is extracted, i.e. one example per pass. The example database is formed in advance for each task, for example, by the user.
Для обоих примеров (а) и (b) на фиг.1 направляющее изображение человека слева (изображения а или b) извлекается из базы данных, чтобы улучшить показатель качества генерации. Для улучшения показателя качества генерации направляющие данные соединяются с данными из вычислительного модуля перед ветвью более раннего выхода, и соединенные данные передаются в ветвь более раннего выхода для дальнейшей обработки.For both examples (a) and (b) in Fig. 1, the guide image of the person on the left (images a or b) is retrieved from the database to improve the generation quality score. To improve the generation quality score, the guide data is concatenated with data from the computational module before the earlier output branch, and the concatenated data is passed to the earlier output branch for further processing.
Например, если пользователь хочет получить свое изображение с позой другого человека, изображенного на другом изображении, то он сначала составляет базу направляющих примеров собственных фотографий в разных позах (фотографий в разных ракурсах), затем подает любое изображение пользователя (изображение-источник) и изображение с другим человеком (изображение-драйвер) на вход нейросети с ранними выходами. В процессе работы нейросети с ранними выходами из сформированной пользователем базы данных направляющих примеров выбирается направляющий пример из изображений пользователя, в котором пользователь изображен в позе, наиболее близкой к позе изображения-драйвера. Если пользователь желает получить видео со своими изображениями (изображениями-источниками), но с позами другого человека (изображениями-драйверами), то нейросеть с ранними выходами обрабатывает отдельно каждое изображение из последовательности видео, извлекая из базы данных направляющих примеров для каждого кадра изображение пользователя (изображение-источник) с позой, наиболее близкой к позе человека на соответствующем кадре (изображение-драйвер) последовательности видео, подаваемой в данный момент на вход нейронной сети с ранними выходами.For example, if a user wants to get his own image with the pose of another person depicted in another image, he first creates a database of guiding examples of his own photographs in different poses (photographs from different angles), then feeds any image of the user (source image) and an image with another person (driver image) to the input of the neural network with early outputs. During the operation of the neural network with early outputs, a guiding example is selected from the database of guiding examples created by the user from the user's images, in which the user is depicted in a pose closest to the pose of the driver image. If a user wants to receive a video with his own images (source images), but with poses of another person (driver images), then the neural network with early outputs processes each image from the video sequence separately, extracting from the database of guide examples for each frame the image of the user (source image) with a pose closest to the pose of the person in the corresponding frame (driver image) of the video sequence currently fed to the input of the neural network with early outputs.
Наличие базы направляющих примеров обеспечивает прирост показателя качества для ветвей более раннего выхода за счет небольшого объема памяти и вычислений и тем самым гармонизирует выходной показатель качества на выходах. Это очень удобно для установок, в которых требуется рендеринг в реальном времени и можно легко обеспечить направляющие примеры, например, при создании нейронного аватара. Имеется ввиду задача создания аватара, т.е. виртуального образа человека. Например, пользователь желает во время цифровой конференции в режиме реального времени наложить на свое лицо другую личность, сохранив при этом все свои воспроизводимые выражения лица. При этом пользователь может заранее сделать снимок своего лица с разных ракурсов и загрузить его в базу данных. Это окажет существенную помощь при генерации, но не является абсолютно необходимым шагом.The presence of a database of guiding examples provides an increase in the quality factor for the branches of an earlier output due to a small amount of memory and computations, and thus harmonizes the output quality factor at the outputs. This is very convenient for installations in which real-time rendering is required and guiding examples can be easily provided, for example, when creating a neural avatar. This refers to the task of creating an avatar, i.e. a virtual image of a person. For example, a user wants to superimpose another personality on his face during a digital conference in real time, while preserving all his reproducible facial expressions. In this case, the user can take a picture of his face from different angles in advance and upload it to the database. This will provide a significant help in generation, but is not an absolutely necessary step.
Предлагаемый способ можно применять как к необученным, так и к уже обученным моделям, но требует дополнительного обучения для новых вводимых компонентов.The proposed method can be applied to both untrained and already trained models, but requires additional training for newly introduced components.
Основная сеть всегда фиксированная, а предиктор указывает только тот вывод, на котором будет получен требуемый пользователем показатель качества. Следует отметить, что при работе GAN (основной сети и ветвей более раннего выхода) используется только та ветвь раннего выхода, которая дает выходное изображение требуемого качества (наиболееThe main network is always fixed, and the predictor specifies only the output that will produce the quality metric required by the user. It should be noted that when GAN (the main network and the earlier output branches) works, only the earlier output branch that produces the output image of the required quality (the highest
соответствующее показателю качества, выбранному пользователем) на выходе. Для этого в коде реализуется любой подходящий известный механизм переключения, и все остальные ветви раннего выхода, не требующиеся для выполнения выбранного раннего выхода, не используются.corresponding to the quality indicator selected by the user) at the output. To do this, any suitable known switching mechanism is implemented in the code, and all other early exit branches that are not required to perform the selected early exit are not used.
Предлагаемый способ можно применять к любым задачам генерации, необходимо только наличие генератора, т.е. нейронной сети, создающей изображения из скрытого вектора. Основной результат предлагаемого способа можно резюмировать следующим образом: этот способ легко применить в уже существующих и обученных генеративных моделях, содержащих генератор (основную сеть), то есть нейронную сеть, создающую изображения из скрытого вектора.The proposed method can be applied to any generation tasks, it is only necessary to have a generator, i.e. a neural network that creates images from a hidden vector. The main result of the proposed method can be summarized as follows: this method can be easily applied to existing and trained generative models containing a generator (the main network), i.e. a neural network that creates images from a hidden vector.
Предлагаемый способ позволяет выводить изображения с установленным пользователем более низким порогом показателя качества путем маршрутизации более легких изображений по более коротким вычислительным путям, и основной выигрыш с точки зрения экономии вычислений на потерю показателя качества составляет, соответственно, 1,2×103 и 1,3×103 GFLOPs/LPIPS для этих двух применений.The proposed method enables outputting images with a user-defined lower quality score threshold by routing lighter images along shorter computational paths, and the main gain in terms of computational savings per quality score loss is 1.2×10 3 and 1.3×10 3 GFLOPs/LPIPS for these two applications, respectively.
Иными словами, предлагаемое изобретение позволяет сократить количество вычислений за счет потери показателя качества. Чем больше вычислений приводится к "единице показателя качества" (мера LPIPS), тем лучше.In other words, the proposed invention allows to reduce the number of calculations at the expense of the loss of the quality indicator. The more calculations are reduced to the "unit of the quality indicator" (LPIPS measure), the better.
Сети GAN состоят из двух конкурирующих DNN: генератора G и дискриминатора D. Генератор G предназначен для синтеза произвольных изображений, когда задан случайный вектор признаков низкой размерности: G : z → g, where z - ввод, a g - сгенерированное изображение. Дискриминатор D учится отличать распределение сгенерированных изображений от одного из исходных примеров . Их цели можно обобщенно представить в виде минимаксной игры (минимаксная игра известна из уровня техники и означает решающее правило для минимизации возможных потерь из тех, которые лицо, принимающее решение, не может предотвратить в худшем сценарии):GANs consist of two competing DNNs: a generator G and a discriminator D. The generator G is designed to synthesize arbitrary images when given a random low-dimensional feature vector: G : z → g, where z is the input and ag is the generated image. The discriminator D learns to distinguish the distribution of the generated images. from one of the original examples . Their goals can be generally represented as a minimax game (a minimax game is known from the state of the art and means a decision rule for minimizing possible losses from those that the decision maker cannot prevent in the worst-case scenario):
где - функция потерь, которую веса генератора G должны минимизировать, а веса дискриминатора D максимизировать;Where - the loss function that the weights of the generator G must minimize and the weights of the discriminator D must maximize;
- ожидаемое значение выражения, когда выбирается случайная величина х с распределением вероятностей р; D(x) и G(z) - выводы дискриминатора D и генератора G. - expected value expressions when a random variable x with probability distribution p is selected; D(x) and G(z) are the outputs of the discriminator D and the generator G.
При обеспечении условия с (например, в виде меток) как генератору, так и дискриминатору, первый сможет научиться синтезировать изображения из подпространства pg: , где G(x) - вывод генератора; pz и pg - вероятностные распределения входного шума и выходных изображений, и с - согласующий параметр.By providing a condition c (for example, in the form of labels) to both the generator and the discriminator, the former can learn to synthesize images from the subspace p g : , where G(x) is the generator output; p z and p g are the probability distributions of the input noise and output images, and c is the matching parameter.
Любой генератор GAN состоит из ряда сверточных модулей, обозначенных li. Вывод каждого модуля, а именно , является кандидатом для раннего выхода, но он не является визуализированным изображением. По этой причине его необходимо обработать серией дополнительных сверток, прежде чем из него можно будет извлечь изображение. Эти новые сверточные вычислительные модули составляют то, что называется ветвью, это и есть ранние выходы.Any GAN generator consists of a series of convolutional modules, denoted l i . The output of each module, namely , is a candidate for early output, but it is not a rendered image. For this reason, it must be processed through a series of additional convolutions before an image can be extracted from it. These The new convolutional computing modules make up what is called a branch, and these are the early outputs.
Для основной сети, построенной из N вычислительных модулей, после вычислительного модуля к добавляется ветвь длиной N - k. Вычислительные модули ветвей менее сложны, чем модули основных сетей, их ширина, т.е. количество каналов, уменьшена. Следовательно, с выхода каждой ветви извлекается изображение, визуализированное с меньшим количеством вычислений, чем изображение, извлекаемое на выходе основной сети. Каждая ветвь раннего выхода обучается предварительно на состезательной функции потерь с копиями исходного дискриминатора основной сети.For a main network built from N computing modules, after the computing module k a branch of length N - k is added. The computing modules of the branches are less complex than the modules of the main networks, their width, i.e. the number of channels, is reduced. Consequently, from the output of each branch an image is extracted that is rendered with fewer computations than the image extracted at the output of the main network. Each branch of the early output is pre-trained on an adversarial loss function with copies of the original discriminator of the main network.
На этапе логического вывода, имея набор обученных ветвей, каждое изображение можно синтезировать через другой выход. При заданном показателе качества необходимо иметь возможность выбрать только ту ветвь, которая достигнет его, выполнив наименьшие возможные вычисления. Есть единственный порог показателя качества (то есть предопределенный показатель качества, указанный пользователем) для всех ветвей, необходимо выбрать ветвь, которая будет выводить изображения с равным или более высоким показателем качества (т.е. показателем качества, наиболее соответствующим выбранному пользователем показателю качества), выполняя при этом минимально возможный объем вычислений. С этой целью используется предиктор Р, состоящий из сверточных и полносвязных слоев. Предлагаемый предиктор обучается с учителем, используя входные условия с в качестве обучающих примеров и векторы оценок LPIPS S для изображений, сгенерированных ветвями, в качестве меток. Следует отметить, что обучение созданию семантической карты и обучение созданию перекрестного воспроизведения выражений лица ничем не отличаются.In the inference stage, given a set of trained branches, each image can be synthesized through a different output. Given a quality score, it is necessary to be able to select only the branch that achieves it by performing the least possible computation. There is a single quality score threshold (i.e., a predefined quality score specified by the user) for all branches, and it is necessary to select the branch that will output images with an equal or higher quality score (i.e., a quality score that most closely matches the quality score selected by the user) while performing the least possible amount of computation. For this purpose, a predictor P consisting of convolutional and fully connected layers is used. The proposed predictor is supervised by using the input terms c as training examples and the LPIPS score vectors S for the images generated by the branches as labels. It should be noted that learning to create a semantic map and learning to create a cross-reproduction of facial expressions are no different.
где с - согласующие параметры, S - оценка LPIPS для изображения, созданного с вышеупомянутыми параметрами, и P(z, с) - вывод предиктора.where c are the matching parameters, S is the LPIPS score for the image generated with the above parameters, and P(z, c) is the predictor output.
Таким образом, подавая ввод в обученный предиктор, можно получить оценку показателя качества вывода каждой ветви и, следовательно, использовать эту информацию для направления вычислительного потока к выходу, который выполняет наименьшее количество вычислений, сохраняя при этом порог показателя качества.Thus, by feeding input to a trained predictor, one can obtain an estimate of the quality score of the output of each branch and hence use this information to direct the computational flow to the output that performs the least amount of computation while maintaining the quality score threshold.
Для дальнейшего улучшения показателя качества синтеза необходимо перейти от чисто параметрического метода к полупараметрическому, в котором процесс генерации направляется фрагментами данных, то есть данными, извлеченными из базы данных. Данные, обрабатываемые вычислительными модулями основной сети, расположенными перед вычислительными модулями ветви раннего выхода, являются недообработанными тензорами. Для дальнейшего улучшения показателя качества синтезаTo further improve the synthesis quality index, it is necessary to move from a purely parametric method to a semi-parametric one, in which the generation process is guided by data fragments, i.e. data extracted from a database. The data processed by the main network computing modules located before the early output branch computing modules are underprocessed tensors. To further improve the synthesis quality index,
недообработанные тензоры соединяются с фрагментами данных перед подачей в ветвь раннего выхода.Underprocessed tensors are concatenated with data chunks before being fed into the early exit branch.
Таким образом обеспечивается более заметное увеличение показателя качества на более ранних выходах, которые являются самыми быстрыми, но больше всего страдают от снижения показателя качества из-за меньшего количества параметров в них. Добавив умеренное количество памяти и вычислений, достигаются лучшие результаты, что гармонизирует показатель качества вывода различных ветвей.This provides a more noticeable increase in quality score on the earlier outputs, which are the fastest but suffer the most from quality score degradation due to their smaller number of parameters. By adding a moderate amount of memory and computation, better results are achieved, which harmonizes the output quality score of the different branches.
Например, в качестве направляющих данных в базе данных хранится набор тензорных пар, которые называются парами ключ-значение. В этом случае направляющие данные генерируются основной сетью при формировании базы данных. Когда происходит процесс генерации изображения, направляющие данные уже есть в базе данных и извлекаются из нее во время работы GAN при создании изображения. Ключи получаются путем применения к исходным данным всех обученных слоев основной сети до первой ветви раннего выхода и разрезания полученных тензоров, называемых направляющими признаками, на неперекрывающиеся фрагменты. Иными словами, ключи получают следующим образом: данные исходных изображений подаются в основную сеть, результат перед первой ветвью раннего выхода разбивается на фрагменты, и эти фрагменты являются ключами. Значения получают путем применения обученных слоев основной сети к исходным изображениям и разрезания полученных признаков на фрагменты данных с разделением их на N фрагментов. Было замечено, что лучший результат достигается при применении обученных слоев основной сети до ее середины к исходным изображения. На основе входных данных в базе данных производится поиск наиболее похожих изображений из хранящихся там изображений. Полное изображение ищется в фрагментах данных. Для этого вводы обрабатываются несколькими слоями исходной основной сети, чтобы уменьшить размерность входных изображений и ускорить поиск похожих изображений. При обнаружении похожих фрагментов найденный фрагмент отправляется в ветвь раннего выхода.For example, a set of tensor pairs called key-value pairs are stored in the database as guide data. In this case, the guide data is generated by the main network when forming the database. When the image generation process occurs, the guide data is already in the database and is retrieved from it during the GAN operation when creating an image. The keys are obtained by applying all the trained layers of the main network to the original data up to the first early output branch and cutting the resulting tensors, called guide features, into non-overlapping fragments. In other words, the keys are obtained as follows: the original image data is fed to the main network, the output before the first early output branch is split into fragments, and these fragments are the keys. The values are obtained by applying the trained layers of the main network to the original images and cutting the obtained features into data fragments and dividing them into N fragments. It was observed that the best result is achieved by applying the trained layers of the main network up to its middle to the original images. Based on the input data, the database is searched for the most similar images from the images stored there. The full image is searched for in the data chunks. To do this, the inputs are processed by several layers of the original main network to reduce the dimensionality of the input images and speed up the search for similar images. When similar chunks are found, the found chunk is sent to the early output branch.
Во время логического вывода основная сеть обрабатывает каждый ввод до уровня, предшествующего первой ветви. Берутся полученные признаки, разрезаются на фрагменты данных, и для каждого фрагмента данных в базе данных ищется ближайший ключ. После извлечения значений, соответствующих всем фрагментам данных, они склеиваются, и полученные признаки соединяются с вводом каждой ветви. Имея все ключи вспомогательных данных (на фиг.1 изображение человека слева (изображения а или Ь) для наиболее похожего изображения, соответствующие обработанные данные подаются на вход раннего выхода. Это делается для улучшения показателя качества генерации, что особенно помогает ранним выходам, расположенным ближе к началу основной сети.During inference, the main network processes each input up to the level preceding the first branch. The obtained features are taken, cut into chunks of data, and for each chunk of data, the closest key is searched for in the database. After extracting the values corresponding to all the chunks of data, they are glued together, and the obtained features are connected to the input of each branch. Given all the keys of the auxiliary data (in Fig. 1, the image of the person on the left (images a or b) for the most similar image, the corresponding processed data are fed to the input of the early output. This is done to improve the quality indicator of the generation, which especially helps the early outputs located closer to the beginning of the main network.
Для количественной оценки успешности предлагаемого способа введем простую меру сэкономленных вычислений. В качестве единиц измерения используем соответственно GFLOP (операции с плавающей запятой) и LPIPS [84]. Например, при перекрестном воспроизведении выражений лица достигается средний прирост показателя качества 1,3×103 GFLOP/LPIPS, а это означает, что снижение порога показателя качества на +0,01 LPIPS приведет к снижению на 13 GFLOP.To quantify the success of the proposed method, we introduce a simple measure of saved computations. We use GFLOPs (floating point operations) and LPIPS [84] as units of measurement, respectively. For example, when cross-reproducing facial expressions, an average gain in quality score of 1.3×10 3 GFLOPs/LPIPS is achieved, which means that reducing the quality score threshold by +0.01 LPIPS will lead to a decrease of 13 GFLOPs.
Предлагаемый способ можно применить в множестве DNN для различных задач синтеза. Чтобы продемонстрировать его универсальность, применим его, например, к двум различным задачам синтеза изображений:The proposed method can be applied to a variety of DNNs for various synthesis tasks. To demonstrate its versatility, we apply it, for example, to two different image synthesis tasks:
1) синтез фотографий на открытом воздухе, стартующий с карты семантических меток, на основе архитектуры OASIS в качестве основной сети [63];1) outdoor photo synthesis starting from a semantic label map, using the OASIS architecture as the backbone [63];
2) перекрестное воспроизведение выражений лица, синтез нейронных аватаров головы, стартующее с изображения, которое является целевым выражением и положением аватара, на основе архитектуры MegaPortraits в качестве основной сети [17].2) cross-reproduction of facial expressions, synthesis of neural head avatars starting from an image that is the target expression and avatar position, based on the MegaPortraits architecture as the main network [17].
В первом примере конвейер реализован на основе модели OASIS в качестве основной сети [63]. Генератор OASIS состоит из б модулей SPADE ResNet [57], которые составляют вычислительные модули li, i ∈ основной сети [1, 6]]. Добавлены 4 ветви, по одной после каждого модуля основной сети с l1 по l4. Вычислительные модули ветвей также является модулями SPADE ResNet, и их длина варьируется для сохранения, где len - число вычислительных модулей более раннего выхода, k - число выходов. То есть, если число выходов к равно 2, то число вычислительных модулей ветви более раннего выхода равно 4.In the first example, the pipeline is implemented using the OASIS model as the backbone [63]. The OASIS generator consists of 6 SPADE ResNet modules [57], which make up the computational units l i , i ∈ of the backbone [1, 6]]. Four branches are added, one after each backbone module l 1 through l 4 . The computational units branches are also modules of SPADE ResNet, and their the length varies to save, where len is the number of computational units of the earlier output, k is the number of outputs. That is, if the number of outputs k is 2, then the number of computational units of the earlier output branch is 4.
Вычислительные модули ветвей раннего выхода представляют собой облегченный вариант вычислительных модулей основной сети, так как их ширина, т.е. количество каналов, уменьшена путем задания коэффициента масштабирования (SF) s=1/2, 1/3, 1/4 для уменьшения вычислений.The early exit branch computation modules are a lightweight version of the main network computation modules, since their width, i.e. the number of channels, is reduced by setting the scaling factor (SF) s=1/2, 1/3, 1/4 to reduce computations.
Таким образом, создается всего 5 вычислительных маршрутов для каждого коэффициента масштабирования для основной сети модели OASIS, их GFLOPs (операции с плавающей запятой) перечислены в таблице 1. GFLOPs определяет количество операций, выполняемых за один прогон. Чем больше параметров, тем больше операций, так как эти параметры перемножаются, и так далее. Различные SF по-разному сокращают количество параметров. ВВ - это основная сеть, приведенная в таблице для сравнения, на нее не влияет показатель качества. SF - это коэффициент сжатия; если исходный вычислительный модуль имеет N каналов, то сжатие в номах будет N*SF. 64 - произвольное число. Каналы являются частью архитектуры сверточных сетей.Thus, a total of 5 compute routes are created for each scaling factor for the main network of the OASIS model, their GFLOPs (floating point operations) are listed in Table 1. GFLOPs determines the number of operations performed in one run. The more parameters, the more operations, since these parameters are multiplied together, and so on. Different SFs reduce the number of parameters in different ways. BB is the main network listed in the table for comparison, it is not affected by the quality metric. SF is the compression factor; if the original compute module has N channels, the compression in noms will be N*SF. 64 is an arbitrary number. Channels are part of the convolutional network architecture.
Таблица 1 иллюстрирует сравнение GFLOPs всех 5 вычислительных маршрутов через ветви 1-4 и основную сеть OASIS (ВВ), крайний правый столбец). Разные строки соответствуют разным коэффициентам масштабирования (SF). Как видно из таблицы, SF не одинаково влияет на все вычислительные модули, так как задается минимальное количество каналов, равное 64, после чего дальнейшее масштабирование не задается. Следует отметить, что число 64 установлено произвольно и меняется в следующих тестах. Канал - это стандартный термин, RGB-изображения имеют 3 канала, сверточные сети создают другие каналы в зависимости от их архитектуры, в общем, это параметр сети, который требуется уменьшить.Table 1 shows the comparison of GFLOPs of all 5 compute paths through branches 1-4 and the OASIS main network (BB, far right column). Different rows correspond to different scaling factors (SF). As can be seen from the table, SF does not affect all compute modules equally, since the minimum number of channels is set to 64, after which no further scaling is set. It should be noted that the number 64 is set arbitrarily and changes in the following tests. Channel is a standard term, RGB images have 3 channels, convolutional networks create other channels depending on their architecture, in general, it is a network parameter that needs to be reduced.
Для реализации предложенного способа обучаются все ветви и предиктор. Каждая ветвь обучается путем задания состязательной функции потерь, как в уравнении (1), полученных путем конкуренции с копиями дискриминатора OASIS. Наряду с этим задаются потери VGG [37] и LPIPS [84] при использовании изображения, синтезированного основной сетью, в качестве эталона.To implement the proposed method, all branches and the predictor are trained. Each branch is trained by specifying an adversarial loss function, as in equation (1), obtained by competing with copies of the OASIS discriminator. Along with this, VGG [37] and LPIPS [84] losses are specified using the image synthesized by the main network as a reference.
где - общая потеря, состоящая из исходной потери , а также потерь VGG и LPIPS . α и β - это гиперпараметры, выбираемые для выравнивания вклада потерь; общая скорость обучения установлена на 4×10-4, а коэффициенты установлены на α=10 и β=5, чтобы уравнять вклад потерь. Дискриминаторы сохраняют свои первоначальные потери. Генератор и дискриминаторы обучены с помощью оптимизации Адама [89] с β1=0, β2=0, 999. Эти вычисления выполнялись с использованием распределенных данных из библиотеки PyTorch [10] параллельно на двух графических процессорах NVIDIA Р40 с пакетом=2 и длились примерно 6 дней. Полученные результаты представлены в таблицах 2 и 3.Where - total loss consisting of the original loss , as well as VGG and LPIPS losses . α and β are hyperparameters chosen to equalize the contribution of the loss; the overall learning rate is set to 4×10 -4 , and the coefficients are set to α = 10 and β = 5 to equalize the contribution of the loss. The discriminators retain their original losses. The generator and discriminators are trained using Adam optimization [89] with β1 = 0, β2 = 0, 999. These computations were performed using distributed data from the PyTorch library [10] in parallel on two NVIDIA P40 GPUs with batch = 2 and lasted approximately 6 days. The results are presented in Tables 2 and 3.
В таблице 2 представлены количественные результаты для конвейера OASIS. Минимальное количество каналов равно 64. При таком минимальном количестве каналов задается нижний порог показателя качества. Для трех разных коэффициентов масштабирования SF (первый столбец) конвейер тестировался с направляющей базой данных и без нее, что отмечено в столбце Bank (база данных) галочкой (с направляющей базой данных) или крестиком (без направляющей базы данных). Четыре столбца, по одному для каждой ветви, содержат оценки FID (начальное расстояние Фреше, мера показателя качества) и mIOU (среднее пересечение по соединению, мера показателя качества); внизу эти два значения представлены для основной сети. Из таблицы 2 можно сделать вывод, что добавление базы данных обеспечивает более высокое улучшение показателя качества первых выходов, чем последних. Она также наглядно показывает, как коэффициент сжатия влияет на показатель качества. Подойдет любое сжатие, его выбор зависит от того, какой показатель качества требуется. Чем меньше параметр FID, тем выше показатель качества. Чем выше mIOU, тем выше показатель качества.Table 2 presents the quantitative results for the OASIS pipeline. The minimum number of channels is 64. This minimum number of channels sets a lower limit on the quality score. For three different SF scaling factors (first column), the pipeline was tested with and without a bank, indicated in the Bank column by a check mark (with bank) or a cross (without bank). Four columns, one for each branch, contain the FID (initial Frechet distance, a measure of quality score) and mIOU (average intersection over connection, a measure of quality score); at the bottom, these two values are presented for the main network. From Table 2, we can conclude that adding a bank provides a higher improvement in quality score for the early outputs than for the late outputs. It also clearly shows how the compression ratio affects the quality score. Any compression will do, and the choice depends on the quality score required. The lower the FID, the higher the quality score. The higher the mIOU, the higher the quality score.
Из таблицы 2 можно сделать вывод, что добавление базы данных обеспечивает более высокое улучшение показателя качества первых выходов, чем последних. Она также наглядно показывает, как степень сжатия влияет на показатель качества. Из таблицы 2 видно, что наибольший коэффициент масштабирования, при котором число параметров остается достаточно большим, дает лучшие результаты с базой данных (FID=52,8; mIOU=67,5), чем без базы данных (FID=64,2; mIOU=59,8). Кроме того, чем меньше параметров (S=1/4) в одной и той же ветви раннего выходаэ (ветвь 1), тем хуже показатель качества выходного изображения. Однако при наличии базы данных (FID=54, 9; mIOU=65,5) показатель качества выходного изображения лучше, чем без базы данных (FID=69,6; mIOU=5 7,5). Кроме того, чем ближе ветвь раннего выхода s к выходу из основной сети, тем лучше показатель качества изображения, но также показатель качества выходного изображения с базой данных лучше, чем без базы данных. Очевидно, что показатель качества выходного изображения для основной сети без модулей раннего выхода является лучшим.From Table 2, we can conclude that adding the database provides a higher improvement in the quality score of the early outputs than that of the late outputs. It also clearly shows how the compression ratio affects the quality score. From Table 2, we can see that the largest scaling factor that keeps the number of parameters large enough gives better results with the database (FID=52.8; mIOU=67.5) than without the database (FID=64.2; mIOU=59.8). In addition, the fewer parameters (S=1/4) in the same early output branch (branch 1), the worse the output image quality score. However, with the database (FID=54.9; mIOU=65.5), the output image quality score is better than without the database (FID=69.6; mIOU=5 7.5). In addition, the closer the early output branch s is to the main network output, the better the image quality score, but also the output image quality score is better with the database than without the database. It is obvious that the output image quality score for the main network without early output modules is the best.
В таблице 3 приведены количественные результаты для конвейера OASIS при различных коэффициентах масштабирования. Минимальное количество каналов равно 32. Для 4 различных коэффициентов масштабирования SF конвейер тестировался с направляющей базой данных и без нее, что отмечено в столбце "Bank" галочкой или крестиком. Четыре столбца, по одному для каждой ветви, содержат оценки FID (начальное расстояние Фреше) и mIOU (среднее пересечение по соединению); внизу эти два значения приведены для основной сети. Можно сделать вывод, что добавление банка обеспечивает более высокое улучшение показателя качества первых выходов, чем последних. Она также наглядно показывает, как коэффициент сжатия влияет на показатель качества. Подойдет любое сжатие, его выбор зависит от того, какой показатель качества требуется.Table 3 shows the quantitative results for the OASIS pipeline at different scaling factors. The minimum number of channels is 32. For 4 different SF scaling factors, the pipeline was tested with and without a directional database, indicated by a check mark or a cross in the "Bank" column. Four columns, one for each branch, contain the FID (initial Fréchet distance) and mIOU (average intersection over connection) estimates; at the bottom, these two values are given for the main network. It can be concluded that adding a bank provides a higher improvement in the quality score of the early outputs than the late outputs. It also clearly shows how the compression ratio affects the quality score. Any compression will do, the choice depends on the quality score required.
Из таблицы 3, также как из таблицы 2 видно, что добавление базы данных улучшает показатель качества выходного изображения, а увеличение коэффициентов масштабирования SF ухудшает показатель качества выходного изображения, кроме того, чем выше номер выхода ветви раннего выхода, тем выше показатель качества выходного изображения.From Table 3, as well as from Table 2, it can be seen that adding a database improves the output image quality index, and increasing the SF scaling factors worsens the output image quality index, in addition, the higher the output number of the early output branch, the higher the output image quality index.
Предиктор OASIS был обучен выводить показатель качества изображений для каждой ветви. Была задана минимальная квадратичная потеря ошибки между его прогнозами и фактическими качествами, как было описано выше:The OASIS predictor was trained to output an image quality score for each branch. The minimum squared error loss between its predictions and the actual qualities was specified as described above:
где с - согласующие параметры; S - оценка LPIPS для изображения, созданного с вышеупомянутыми параметрами; и Р(с) вывод предиктора.where c are the matching parameters; S is the LPIPS score for the image generated with the above parameters; and P(c) is the predictor output.
Скорость обучения была установлена на 0,01, потери оптимизировались с помощью стохастического градиентного спуска с косинусным законом снижения [90]. Скорость обучения является общепринятым в данной области параметром, который необходим для обучения; если пользователь желает воспроизводить эксперименты с высокой точностью, ему необходимо знать этот коэффициент. Однако это не является частью изобретения.The learning rate was set to 0.01, and the loss was optimized using stochastic gradient descent with cosine decay [90]. The learning rate is a common parameter in the field that is necessary for training; if the user wants to reproduce experiments with high accuracy, he needs to know this coefficient. However, this is not part of the invention.
Выбор обучающего набора данных для предиктора был нетривиальным, поскольку ввод конвейера состоит из семантической карты, соединенной с трехмерным тензором шума. Из-за высокой размерности шумового пространства равномерная выборка из него не гарантирует какой-либо сходимости для процесса обучения. Вместо этого случайным образом извлекаются 100 трехмерных тензоров шума и соединяются с 500 семантическими картами, что дает 50000 примеров. Затем этот метод тестируется с использованием 100, 300 и 500 тензоров шума. После обучения измеряется ошибка предиктора с использованием 500 семантических карт, соединенных с теми же шумами, которые использовались для обучения, и с новыми шумами. Результаты представлены в таблицах 4 и 5, соответственно.The choice of the training dataset for the predictor was non-trivial, since the input to the pipeline consists of a semantic map concatenated with a 3D noise tensor. Due to the high dimensionality of the noise space, uniform sampling from it does not guarantee any convergence for the training process. Instead, 100 3D noise tensors are randomly extracted and concatenated with 500 semantic maps, yielding 50,000 examples. The method is then tested using 100, 300, and 500 noise tensors. After training, the predictor error is measured using 500 semantic maps concatenated with the same noises used for training and with new noises. The results are presented in Tables 4 and 5, respectively.
В таблице 4 показана ошибка проверки достоверности для предиктора OASIS. Проверочный набор данных был создан путем соединения шумов (случайный сигнал), используемых для обучения с 500 семантическими картами. В первом столбце показано количество шумов, использованных для обучения предиктора, а в столбцах В1-В4 показана ошибка, полученная отдельными ветвями с 1 по 4 при проверке достоверности. В последнем столбце показано среднее значение всех ошибок. В таблице показано, как уменьшается ошибка при увеличении шума, используемого для обучения.Table 4 shows the validation error for the OASIS predictor. The validation dataset was created by concatenating the noise (random signal) used for training with 500 semantic maps. The first column shows the amount of noise used to train the predictor, and columns B1-B4 show the error obtained by individual branches 1 through 4 during validation. The last column shows the average of all errors. The table shows how the error decreases as the noise used for training increases.
В таблице S4 показывает ошибку тестирования для предиктора OASIS. Тестовый набор данных был создан путем соединения случайных шумов с 500 семантическими картами. В первом столбце показано количество шумов, использованных для обучения предиктора, а в столбцах В1-В4 - ошибка, полученная отдельными ветвями с 1 по 4 при тестировании. В последнем столбце показано среднее значение всех ошибок. В таблице показано, как уменьшается ошибка при увеличении шума, используемого для обучения.Table S4 shows the testing error for the OASIS predictor. The test dataset was created by concatenating random noise with 500 semantic maps. The first column shows the amount of noise used to train the predictor, and columns B1–B4 show the error obtained by individual branches 1–4 during testing. The last column shows the average of all errors. The table shows how the error decreases as the noise used for training increases.
Чтобы реализовать базу данных для направления генерации изображений, ее заполняют 500 случайно извлеченными изображениями из обучающего набора данных.To implement the database for image generation direction, it is populated with 500 randomly extracted images from the training dataset.
Для каждого из случайно извлеченных изображений создается 100 различных вводов с использованием фиксированного набора 3D-шумов (шумов, имеющих структуру не двумерной матрицы, а трехмерного тензора). Эти вводы подаются в первый 2D-сверточный слой и последующий модуль ResNet основной сети. Затем полученные признаки делятся на 8×16=128 неперекрывающихся фрагментов данных в соответствии с их разрешением, которые дают ключи для поиска наиболее похожего изображения. Значения извлекаются путем обработки вводов до третьего модуля ResNet основной сети (вычислительный модуль архитектуры OASIS) и разрезания полученных признаков на одинаковые фрагменты данных. База данных заполняется один раз в начале этапа обучения. Для уменьшения избыточности в ключах к ним применяется выборка FPS [19] (поскольку многие изображения могут быть чрезвычайно похожими и нет смысла хранить все, для этого используется алгоритм выборки FPS, который выбирает всего одно изображение из каждого кластера подобия) на фазе прямого вывода, после обработки ввода первым 2D-сверточным слоем и следующим слоем ResNet его делят на 128 идентичных фрагментов данных (128 - это произвольное число, сохраняющее пропорции. Это делается для того, чтобы выбрать более одного изображения, в некоторой степени похожего на исходное, но выделить более похожие элементы - улицу, угол дома и т.п.Затем в базе данных производится поиск ключа, наиболее похожего на каждый фрагмент данных, с помощью библиотеки FAISS [38]. Все 128 извлеченных значений затем соответствующим образом склеиваются (извлекаемые значения представляет собойFor each randomly extracted image, 100 different inputs are created using a fixed set of 3D noise (noise that has a 3D tensor structure rather than a 2D matrix). These inputs are fed into the first 2D convolutional layer and the subsequent ResNet module of the main network. The resulting features are then divided into 8×16=128 non-overlapping chunks of data according to their resolution, which provide clues for finding the most similar image. The values are extracted by processing the inputs up to the third ResNet module of the main network (the computational module of the OASIS architecture) and cutting the resulting features into identical chunks of data. The database is populated once at the beginning of the training phase. To reduce redundancy in the keys, FPS sampling [19] is applied to them (since many images can be extremely similar and there is no point in storing all of them, an FPS sampling algorithm is used for this, which selects only one image from each similarity cluster) in the forward inference phase, after the input is processed by the first 2D convolutional layer and the next ResNet layer, it is divided into 128 identical data chunks (128 is an arbitrary number that preserves proportions. This is done in order to select more than one image that is somewhat similar to the original one, but to highlight more similar elements - a street, a corner of a house, etc. Then the key most similar to each data chunk is searched in the database using the FAISS library [38]. All 128 extracted values are then merged accordingly (the extracted values are
прямоугольные участки плоскости, и эта плоскость всегда разрезается на 128 фрагментов данных, они склеиваются путем записи в общую матрицу нужного размера).rectangular sections of the plane, and this plane is always cut into 128 data fragments, they are glued together by writing into a common matrix of the required size).
Этот составной признак используется для управления процессом синтеза путем соединения его с вводом каждой ветви после надлежащего изменения размера, выполняемого путем свертки. На фиг.2 показано полученное распределение показателя качества среди всех ветвей, оцененное по начальному расстоянию Фреше (FID) [32]. Фиг. 2 показывает соотношение между показателем качества (выраженным в единицах FID) и вычислениями для всех ветвей при различных коэффициентах масштабирования реализации OASIS с использованием направляющей базы данных. Три кривые на графике соединяют значения FID, полученные выходами 1-4 (ветви 1-4) для разных коэффициентов масштабирования. Квадратики обозначают коэффициент масштабирования 1/2, точки - коэффициент масштабирования 1/3, а треугольники - коэффициентThis composite feature is used to guide the synthesis process by connecting it to the input of each branch after appropriate resizing performed by convolution. Figure 2 shows the resulting quality score distribution among all branches, estimated by the initial Frechet distance (FID) [32]. Figure 2 shows the relationship between the quality score (expressed in FID units) and the computations for all branches at different scaling factors of the OASIS implementation using the guide database. The three curves in the graph connect the FID values obtained by outputs 1-4 (branches 1-4) for different scaling factors. The squares represent a scaling factor of 1/2, the dots represent a scaling factor of 1/3, and the triangles represent a scaling factor of
масштабирования 1/2. Более высокий масштаб экономит вычисления, снижая показатель качества. Звездочка показывает исходный показатель качества и вычисления для конвейера OASIS. Как уже отмечалось выше, чем больше FID, тем ниже показатель качества выходного изображения, а также ниже вычислительные затраты. И наконец, конвейер, охватывающий все генерирующие ветви и основную сеть, вместе с базой направляющих данных, используется для создания набора данных для обучения предиктора. Ввод OASIS состоит из семантической карты и высокоразмерного пространства случайных шумов (набора многомерных векторов, состоящих из случайных чисел). Это обучение ограничено 100 фиксированными векторами шума в сочетании с обучающим набором Cityscape. На фиг.3 показаны примеры выводов ветвей конвейера OASIS. Верхнее левое изображение представляет семантическую карту, используемую в качестве ввода в конвейер, верхнее среднее изображение - вывод исходной модели OASIS (основной сети), верхнее правое изображение - вывод, полученный первой ветвью с соответствующим показателем качества 0,13 LPIPS, нижнее левое изображение вывод второй ветви с соответствующим показателем качества 0,11 LPIPS; нижнее среднее изображение - вывод третьей ветви с соответствующим показателем качества 0,10 LPIPS; нижнее правое изображение - вывод четвертой ветви (ранний выход) с соответствующим показателем качества 0,10 LPIPS. На фиг.3 показано готовое изображение, полученное на каждой ветви. Можно заметить, как ухудшается показатель качества при уменьшении порядка вывода, т.е. первый вывод имеет наихудший показатель качества.scaling by 1/2. A higher scale saves computation at the expense of a lower quality score. The asterisk indicates the raw quality score and computation for the OASIS pipeline. As noted above, the larger the FID, the lower the output image quality score and the lower the computational cost. Finally, a pipeline comprising all the generative branches and the main network, together with a guide dataset, is used to create the predictor training dataset. The OASIS input consists of a semantic map and a high-dimensional random noise space (a set of multidimensional vectors consisting of random numbers). This training is constrained to 100 fixed noise vectors in combination with the Cityscape training set. Figure 3 shows example outputs from the OASIS pipeline branches. The top left image represents the semantic map used as input to the pipeline, the top middle image is the output of the original OASIS model (the main network), the top right image is the output obtained by the first branch with the corresponding quality score of 0.13 LPIPS, the bottom left image is the output of the second branch with the corresponding quality score of 0.11 LPIPS; the bottom middle image is the output of the third branch with the corresponding quality score of 0.10 LPIPS; the bottom right image is the output of the fourth branch (early output) with the corresponding quality score of 0.10 LPIPS. Figure 3 shows the finished image obtained by each branch. It can be seen how the quality score deteriorates as the output order decreases, i.e. the first output has the worst quality score.
На фиг.4 представлен общий результат для всего конвейера при SF=1/4. Фиг. 4 иллюстрирует распределение вычислений между ветвями основной сети OASIS для диапазона заданных порогов LPIPS (нижний предел показателя качества, измеренный в метриках LPIPS, является общепринятым в уровне техники). Ветвь 1 - "а"; ветвь 2 - "b"; ветвь 3 - "с"; ветвь 4 - "d"; основная сеть - "е". Для каждого порога показателя качества предиктор направляет вычисления к одному из пяти возможных выходов в зависимости от сложности ввода, который он изучил. При снижении требований к показателю качества использование первых ветвей становится более выраженным. Все распределения получены путем выборки одних и тех же 500 тестовых изображений с использованием коэффициента масштабирования 1/4. Общие показатели GFLOP для каждого распределения показаны сплошной линией, а их абсолютные значения показаны справа. Последнее значение показывает распределение ветвей, выбранных предиктором, при различных порогах показателя качества. Можно заметить, как разные пороги показателя качества влияют на выбор выхода: при задании очень высокого показателя качества сужается спектр возможных выходов, при более низких (тем не менее высоких) требованиях используются все дополнительные ветви. Что наиболее важно, подсчет GFLOP показывает резкое уменьшение вычислений при использовании более ранних ветвей. Аппроксимируя кривую GFLOP к постоянному склону, можно оценить средний выигрыш 1,2x103 GFLOP/LPIPS. Ratio - это доля вычислений относительно количества вычислений в основной сети. То есть, например, 1 соответствует количеству вычислений, совпадающему с количеством вычислений в основной сети, а 0,5 - это половина вычислений основной сети.Figure 4 shows the overall result for the entire pipeline with SF=1/4. Figure 4 illustrates the distribution of computations among the branches of the OASIS main network for a range of given LPIPS thresholds (the lower bound on the quality score, measured in LPIPS metrics, is common in the state of the art). Branch 1 is "a"; branch 2 is "b"; branch 3 is "c"; branch 4 is "d"; the main network is "e". For each quality score threshold, the predictor directs computations to one of five possible outputs depending on the complexity of the input it has learned. As the quality score requirement decreases, the use of the early branches becomes more pronounced. All distributions are obtained by sampling the same 500 test images using a scaling factor of 1/4. The total GFLOPs for each distribution are shown as a solid line, and their absolute values are shown on the right. The last value shows the distribution of branches chosen by the predictor at different quality score thresholds. It can be seen how different quality score thresholds affect the output selection: setting the quality score very high narrows the range of possible outputs, while lower (but still high) requirements use all additional branches. Most importantly, the GFLOPs count shows a sharp decrease in computation when using earlier branches. Fitting the GFLOPs curve to a constant slope, we can estimate an average gain of 1.2x103 GFLOPs/LPIPS. Ratio is the proportion of computation relative to the number of computations in the main network. That is, for example, 1 corresponds to the number of computations equal to the number of computations in the main network, and 0.5 is half the computations in the main network.
Реализация нейронного аватара головы основана на методе генерации MegaPortraits [17] для изображений размером 512 × 512 пикселей. Этот конвейер состоит из нескольких этапов, обеспечивающих передачу характерных черт от лица-источника лицу-драйверу, т.е. тому, ориентацию и выражение которого необходимо получить. В качестве вычислительных модулей основной сети используется li, i ∈ [1, 9], его окончательный набор вычислительных модулей охватывает 9 остаточных блоков, что в сумме составляет 213 GFLOP. Присоединены 3 ветви, по одной после блоков номер 2, 4 и 6 основной сети. Их вычислительные модули являются такими же остаточными блоками, а их соответствующая глубина, т.е. количество вычислительных модулей, зеркально отражает оставшийся путь: 8, 6 и 4, сохраняя тем самым k+len=9 {2, 4, 6}. Для облегчения ветвей к ширине вычислительных модулей, т.е. количеству каналов, применяются три различных коэффициента масштабирования. Их общие GFLOP перечислены в таблице б.The implementation of the neural head avatar is based on the MegaPortraits generation method [17] for images of 512 × 512 pixels. This pipeline consists of several stages that ensure the transfer of characteristic features from the source face to the driver face, i.e. the one whose orientation and expression need to be obtained. The main network computational modules are l i , i ∈ [1, 9], its final set of computational modules covers 9 residual blocks, which in total is 213 GFLOPs. Three branches are attached, one after blocks number 2, 4 and 6 of the main network. Their computational modules are the same residual blocks, and their corresponding depth, i.e. the number of computing modules, mirrors the remaining path: 8, 6 and 4, thereby preserving k+len=9 {2, 4, 6}. To facilitate branches, three different scaling factors are applied to the width of the compute modules, i.e. the number of channels. Their total GFLOPs are listed in Table b.
Таблица 6 иллюстрирует сравнение GFLOP всех 4 вычислительных маршрутов через ветви и основную сеть MegaPortraits (ВВ, крайний правый столбец). Разные строки соответствуют разным коэффициентам масштабирования (SF). В таблице 6 показаны вычисления всех выводов. Можно заметить, что чем раньше выход, тем меньше вычислений.Table 6 illustrates the GFLOP comparison of all 4 computational routes through the branches and the main network of MegaPortraits (BB, far right column). Different rows correspond to different scaling factors (SF). Table 6 shows the computations of all outputs. It can be seen that the earlier the output, the less computations.
Ветви обучаются путем задания состязательной функции потерь, как в уравнении (1), полученных в результате конкуренции с копиями дискриминатора Mega-Portraits. Вместе с этим задаются потери VGG [37], MS-SSIM [75] и между синтетическими изображениями ветвей и основной сети. Кроме того, используются промежуточные логиты основной сети, чтобы задать потерю соответствия признаков (FM) [73] и сохранить исходную потерю взгляда (GL) [17].The branches are trained by specifying an adversarial loss function as in equation (1), obtained by competing with copies of the Mega-Portraits discriminator. Along with this, the VGG [37], MS-SSIM [75] and between the synthetic branch images and the main network. In addition, intermediate logits of the main network are used to specify the feature matching loss (FM) [73] and preserve the original gaze loss (GL) [17].
где - стандартная состязательная функция потерь для сетей GAN; - потеря VGG [37]; - потеря MS-SSIM [75]; - потеря L1, - потеря соответствия признаков [73]; and - потеря взгляда [17]. Коэффициенты C1 выбраны для гармонизации эффектов потерь.Where - standard adversarial loss function for GAN networks; - loss of VGG [37]; - loss of MS-SSIM [75]; - loss of L1, - loss of feature matching [73]; and - loss of gaze [17]. The coefficients C 1 are chosen to harmonize the effects of losses.
База данных заполняется изображениями лица-источника с множеством различных ориентаций и выражений. На каждой итерации в базе данных ищется лицо, наиболее похожее на лицо-драйвер, т.е. такое, ориентацию и выражение которого необходимо получить. Для выполнения этого поиска драйвер подается в первый вычислительный модуль MegaPortraits, который экстраполирует углы, описывающие направление лица, и многомерный вектор, кодирующий выражение лица. Авторы ограничились 3 углами для кодирования направлений лица, а пространство выражений было 512-мерным. В результате получается вектор, характеризующий драйвера, наиболее близкий из изображений в базе данных. Затем полученное изображение соединяется со вводом каждого вычислительного модуля ветвей после соответствующего изменения размера.The database is populated with images of a source face with many different orientations and expressions. At each iteration, the database is searched for the face that is most similar to the driver face, i.e., the one whose orientation and expression are to be obtained. To perform this search, the driver is fed to the first computational module of MegaPortraits, which extrapolates the angles describing the direction of the face and a multidimensional vector encoding the facial expression. The authors limited themselves to 3 angles for encoding the face directions, and the expression space was 512-dimensional. The result is a vector characterizing the driver that is closest to the images in the database. The resulting image is then concatenated with the input of each computational module. branches after appropriate resizing.
На фиг.5 показаны примеры выводов ветвей для конвейера MegaPortraits. Верхний ряд использует в качестве источника и драйвера соответственно первое и второе изображение. Внешний вид источника наложен на выражение драйвера. Третье изображение -это вывод исходного конвейера MegaPortraits, четвертое изображение извлечено из базы данных. Далее следуют выводы ветви 1 с LPIPS 0,1, ветви 2 с LPIPS 0,08 и ветви 3 с LPIPS 0,05. Нижний ряд зеркально отражает верхний, только изменены изображения источника (изображение человека слева на фиг.1(b)) и драйвера (изображение человека справа на фиг.1(b)).Figure 5 shows example branch outputs for the MegaPortraits pipeline. The top row uses the first and second images as source and driver, respectively. The appearance of the source is superimposed on the driver expression. The third image is the output of the original MegaPortraits pipeline, and the fourth image is retrieved from the database. Next come the outputs of branch 1 with LPIPS 0.1, branch 2 with LPIPS 0.08, and branch 3 with LPIPS 0.05. The bottom row is a mirror image of the top row, except that the source (the image of the person on the left in Figure 1(b)) and driver (the image of the person on the right in Figure 1(b)) images are changed.
На фиг.6 показано полученное распределение показателя качества по ветвям. Фиг. 6 иллюстрирует соотношение между показателем качества (выраженным в единицах LPIPS) и вычислениями для всех ветвей при различных коэффициентах масштабирования реализации MegaPortraits с использованием направляющей базы данных. На фиг.6 три кривые на графике соединяют значения FID, полученные выходами 1-3 (ветви 1-3) для разных коэффициентов масштабирования. Точки обозначают коэффициент масштабирования 1/3, квадратики - 1/6, и квадратики 1/15. Можно заметить, что более высокий коэффициент масштабирования экономит вычисления, снижая показатель качества. Звездочка показывает исходный показатель качества и вычисления для конвейера OASIS.Figure 6 shows the obtained quality score distribution over the branches. Figure 6 illustrates the relationship between the quality score (expressed in LPIPS units) and the computation for all branches at different scaling factors of the MegaPortraits implementation using the guided database. In Figure 6, three curves in the graph connect the FID values obtained by outputs 1-3 (branches 1-3) for different scaling factors. The dots represent the scaling factor of 1/3, the squares represent 1/6, and the squares represent 1/15. It can be seen that the higher scaling factor saves computation while reducing the quality score. The asterisk shows the original quality score and the computation for the OASIS pipeline.
В завершение, обучается предиктор. После этого можно задать любой порог показателя качества, и предиктор сможет выбрать путь, который удовлетворит его с наименьшими вычислениями. На фиг.7 представлены общие результаты для всего конвейера. Ветвь 1 - "а"; ветвь 2 - "b"; ветвь 3 - "с"; основная сеть - "d". Фиг. 7 иллюстрирует распределение вычислений между ветвями основной сети MegaPortraits для множества заданных порогов LPIPS. Для каждого порога показателя качества предиктор направляет вычисления к одному из четырех возможных выходов в зависимости от сложности ввода, который он изучил. Это показано четырьмя разными столбцами для каждого значения LPIPS. Столбцы "а", "b", "с" и "d" соответствуют соотношению выводов, маршрутизируемых через выходы 1,2,3, соответственно, и основную сеть. Все распределения были получены путем выборки одних и тех же 7 02 тестовых изображений с использованием SF=1/15. Общие GFLOP для каждого распределения показаны сплошной линией, а их абсолютные значения показаны справа. Можно видеть, как можно поддерживать более низкие пороги показателя качества при значительном снижении GFLOP благодаря использованию более легких ветвей. Аппроксимируя кривую GFLOP к постоянному склону, можно оценить средний выигрыш 1,3 × 103 GFLOP/LPIPS.Finally, the predictor is trained. After this, any quality score threshold can be specified, and the predictor will be able to choose the path that satisfies it with the least computation. Figure 7 shows the overall results for the entire pipeline. Branch 1 is "a"; branch 2 is "b"; branch 3 is "c"; the main network is "d". Figure 7 illustrates the distribution of computation between the branches of the MegaPortraits main network for a set of given LPIPS thresholds. For each quality score threshold, the predictor routes computation to one of four possible outputs depending on the complexity of the input it has learned. This is shown by four different columns for each LPIPS value. Columns "a", "b", "c" and "d" correspond to the ratio of outputs routed through outputs 1,2,3, respectively, and the main network. All distributions were obtained by sampling the same 7 02 test images using SF=1/15. The total GFLOPs for each distribution are shown as a solid line, with their absolute values shown on the right. It can be seen how lower quality thresholds can be maintained while significantly reducing GFLOPs by using lighter branches. Fitting the GFLOP curve to a constant slope yields an average gain of 1.3 × 103 GFLOPs/LPIPS.
Хотя генерация изображений возможна и без базы направляющих данных изображений, она необходима для обеспечения показателя качества более ранних ветвей. Фактически, можно утверждать, что ее реализация гармонизирует показатель качества выводов на выходах, влияя на самые ранние ветви, о чем свидетельствует фиг.8. Количества изображений на оси у указывают количества изображений с показателем качества LPIPS на оси х. На фиг.8 показано сравнение распределений показателей качества для конвейера OASIS с SF=1/4 с использованием направляющей базы данных и без нее. LPIPS были получены путем сравнения с изображениями основных сетей. Распределения показателей качества каждой ветви пронумерованы по по-разному: 1, 1', 2, 2', 3, 3', 4, 4'. Распределения без использования базы данных показаны пунктирной кривой (1', 2', 3', 4'), а распределения, полученные с использованием базы данных, показаны сплошной кривой (1, 2, 3, 4). Чем ближе к левому краю кривой, тем лучше показатель качества выходного изображения. Видно, что распределения показателей качества для первых ветвей больше смещены в сторону лучшего качества после внедрения базы данных. Например, пунктирная линия 1' резко смещается влево, становясь сплошной кривой 1 при использовании базы данных, в то время как пунктирная кривая 4' смещается меньше, становясь сплошной линией 4. Были построены кривые для выборки 500 изображений с применением оценки плотности ядра с полосой пропускания 0,3.Although image generation is possible without the image guide database, it is necessary to provide the quality score of the earlier branches. In fact, it can be argued that its implementation harmonizes the quality score of the outputs by influencing the earliest branches, as shown in Figure 8. The numbers of images on the y-axis indicate the numbers of images with the LPIPS quality score on the x-axis. Figure 8 shows a comparison of the quality score distributions for the OASIS pipeline with SF=1/4 with and without the guide database. The LPIPS were obtained by comparing with the main network images. The quality score distributions of each branch are numbered differently: 1, 1', 2, 2', 3, 3', 4, 4'. The distributions without the database are shown as a dashed curve (1', 2', 3', 4'), and the distributions obtained with the database are shown as a solid curve (1, 2, 3, 4). The closer to the left edge of the curve, the better the quality score of the output image. It can be seen that the quality score distributions for the first branches are more biased towards better quality after the database is implemented. For example, the dashed line 1' shifts sharply to the left, becoming solid curve 1 when the database is used, while the dashed curve 4' shifts less, becoming solid line 4. The curves were plotted for a sample of 500 images using a kernel density estimate with a bandwidth of 0.3.
Кроме того, эту базу данных можно использовать для компенсации недостатка обучающей выборки. Сложность рендеринга частично связана с отсутствием обучения DNN, что вполне может быть присуще конкретной задаче, например, генерации нейронных аватаров голов.Additionally, this database can be used to compensate for the lack of a training set. The rendering difficulty is partly due to the lack of DNN training, which may well be inherent to a specific task, such as generating neural avatars of heads.
Как обсуждалось выше, в основу предлагаемой реализации динамической маршрутизации положено создание подходящего раннего выхода, а также использование предиктора. Последнее необходимо для принудительного применения устанавливаемых пользователем порогов показателя качества, поскольку при использовании одиночных выходов создаются изображения только с фиксированным распределением показателя качества.As discussed above, the proposed implementation of dynamic routing is based on the creation of a suitable early output and the use of a predictor. The latter is necessary to enforce user-defined quality score thresholds, since using single outputs only produces images with a fixed quality score distribution.
Кроме того, хотя все ветви имеют определенный средний показатель качества, зафиксированный их FID (см. в качестве примера фиг.2), нельзя полагаться только на одну ветвь для получения изображений с подходящим показателем качества. Разброс показателей качества каждого выхода довольно велик, и он становится шире у самых ранних выходов, как видно на фиг.8. Предиктор предотвращает это путем выбора более тяжелой ветви (имеющей больше параметров), когда более легкая ветвь не может обеспечить показатель качества.Furthermore, although all branches have a certain average quality score fixed by their FID (see Fig. 2 as an example), one cannot rely on only one branch to produce images with a suitable quality score. The spread of the quality scores of each output is quite large, and it becomes wider at the earliest outputs, as can be seen in Fig. 8. The predictor prevents this by choosing a heavier branch (having more parameters) when a lighter branch fails to provide a quality score.
На фиг.9 показано сравнение распределений показателей качества изображений, полученных из отдельных ветвей, и распределений, полученных с использованием предиктора, настроенного на выдачу порога, равного среднему показателю качества ветвей (сплошная кривая с предиктором, пунктирная - без предиктора). Количества изображений по оси Y указывают количества изображений с показателем качества LPIPS по оси X. Хорошо видно, как предиктор обеспечивает данный порог показателя качества, направляя сложные изображения к следующим ветвям и тем самым сдвигая распределение. Фиг. 9 иллюстрирует сравнение между распределениями показателей качества отдельных ветвей OASIS и распределениями показателей качества, полученными сFigure 9 shows a comparison of the image quality score distributions obtained from individual branches and the distributions obtained using a predictor configured to output a threshold equal to the average branch quality score (solid curve with predictor, dashed curve without predictor). The numbers of images on the Y-axis indicate the numbers of images with the LPIPS quality score on the X-axis. It is clearly seen how the predictor ensures this quality score threshold by directing difficult images to the next branches and thereby shifting the distribution. Figure 9 illustrates a comparison between the OASIS individual branch quality score distributions and the quality score distributions obtained with
использованием предиктора (Р). Предиктор был настроен на принудительное применение порогов, равных среднему показателю качества ветвей. LPIPS получены путем сравнения изображений ветвей для SF=1/4 с изображениями основной сети. Выборка каждого распределения осуществлялась путем ввода 500 семантических карт со случайными шумами. Кривые являются результатом оценки плотности ядра с полосой пропускания 0,3. Все четыре графика содержат два распределения: пунктирная кривая 1' представляет распределение более высокого показателя качества для предлагаемого способа, когда задаются выходные изображения с порогом более низкого показателя качества, равным средним распределениям ветвей 1-4. Сплошная кривая 1 на каждом графике представляет распределение ветви. Видно, как реализация предиктора, который направляет вычисления для обеспечения порога более низкого показателя качества, сдвигает распределения в сторону более высокого показателя качества, тем самым подтверждая свою эффективность.using a predictor (P). The predictor was configured to enforce thresholds equal to the average branch quality score. LPIPS were obtained by comparing branch images for SF=1/4 with the main network images. Each distribution was sampled by inputting 500 semantic maps with random noise. The curves are the result of kernel density estimation with a bandwidth of 0.3. All four plots contain two distributions: the dashed curve 1' represents the higher quality score distribution for the proposed method when output images with a lower quality score threshold equal to the average distributions of branches 1-4 are specified. The solid curve 1 in each plot represents the branch distribution. It can be seen how the predictor implementation, which directs computations to enforce a lower quality score threshold, shifts the distributions towards the higher quality score, thus confirming its effectiveness.
Не все изображения одинаково сложно создавать. Эта неравномерность заложена в основу предлагаемого способа. Такое неравномерное распределение сложности обусловлено множеством причин. Некоторые повороты головы или выражения лица могут быть менее выражены на этапе обучения, и поэтому для вывода изображений с высоким показателем качества требуется более тяжелая модель. Для решения этой проблемы применяется анализ путем сравнения изображений с разными поворотами головы и выражениями лица, а также их показателя качества. В частности, с помощью предложенного конвейера были сгенерированы 7 02 аватара головы и проверено, в какой ветви они были маршрутизированы предиктором.Not all images are equally difficult to generate. This unevenness is the basis of the proposed method. This uneven distribution of complexity is due to many reasons. Some head turns or facial expressions may be less pronounced at the training stage, and therefore a heavier model is required to output images with a high quality score. To solve this problem, an analysis is applied by comparing images with different head turns and facial expressions, as well as their quality score. In particular, 7 02 head avatars were generated using the proposed pipeline and it was checked in which branch they were routed by the predictor.
На фиг.10 показано сравнение количества изображений, направляемых в разные ветви, в зависимости от поворота головы. Как видно на фиг.10, чем больше угол между двумя изображениями, тем выше сложность. На оси X показано расстояние в градусах, означающее угол между головой из базы данных и головой драйвера.Fig. 10 shows a comparison of the number of images sent to different branches depending on the head rotation. As can be seen in Fig. 10, the larger the angle between two images, the higher the complexity. The X-axis shows the distance in degrees, which means the angle between the head from the database and the driver's head.
Использовались ветви для SF=1/15. Были получены распределения для выборки из 7 02 изображений в сумме. Кривые являются результатом оценки плотности ядра с полосой пропускания 0,5. Порог показателя качества был установлен на 0,09 LPIPS. Видно, что ветвь 1 используется для вывода большинства изображений, на которых голова драйвера лишь незначительно повернута относительно исходного изображения (до 6 градусов), а ветви 2 и 3 отвечают за углы большего размера, что подтверждает корреляцию между углом и сложностью в установке MegaPortraits. По оси Z представлены значения количества изображений, нормализованных к 1, т.е. 1=100 изображений.Branches for SF=1/15 were used. Distributions were obtained for a sample of 7,02 images in total. The curves are the result of kernel density estimation with a bandwidth of 0.5. The quality indicator threshold was set to 0.09 LPIPS. It can be seen that branch 1 is used to output most images in which the driver's head is only slightly rotated relative to the original image (up to 6 degrees), and branches 2 and 3 are responsible for larger angles, which confirms the correlation between the angle and the complexity of installing MegaPortraits. The Z axis represents the number of images normalized to 1, i.e. 1=100 images.
Хотя предлагаемый метод позволяет сэкономить большое количество вычислений, он имеет некоторые ограничения. Весь конвейер применим только к архитектурам, содержащим декодер, его нельзя применить без изменения к преобразователям и другим алгоритмам синтеза, не имеющим декодер. Не существует единого рецепта заполнения базы данных. Авторы приняли решение заполнять ее случайным образом, но фактически это может быть не лучшим выбором. Поскольку необходимо создать обучающий набор данных для предиктора, необходимы дополнительные обучающие вводы, поэтому размер эффективных баз данных будет больше. Все ветви нуждаются в дополнительном обучении, а память, используемая для хранения всего конвейера, больше, чем та, которая использовалась для исходной DNN.Although the proposed method saves a large amount of computation, it has some limitations. The entire pipeline is applicable only to architectures containing a decoder, and cannot be applied without modification to transformers and other synthesis algorithms that do not have a decoder. There is no single recipe for filling the database. The authors decided to fill it randomly, but in fact this may not be the best choice. Since it is necessary to create a training dataset for the predictor, additional training inputs are needed, so the size of the effective databases will be larger. All branches require additional training, and the memory used to store the entire pipeline is larger than that used for the original DNN.
Экономия вычислений имеет большое значение для эксплуатации сложных алгоритмов, которые дают наилучшие выводы, но они могут быть реализованы, в основном, на "мощном" оборудовании.Saving computation is important for running complex algorithms that produce the best inferences, but these can be implemented mainly on "powerful" hardware.
Было показано, как можно создавать ранние выходы в декодерах, в которых внутренние логиты должны быть тщательно обработаны, прежде чем они смогут выдать изображение. Создан полупараметрический алгоритм для управления синтезом, способствующий более ранним выходам. Затем показано, как динамически выбирать маршрут вычислений с помощью нейронной сети, обученной на примерах вводов и показателей качества выходов. Предлагаемое изобретение делает шаг в этом направлении, а именно снижает избыточность вычислений. Кроме того, необходимо подчеркнуть, насколько важны экономия вычислений и, следовательно, энергии в наши дни [67].It was shown how to create early outputs in decoders where the internal logits must be carefully processed before they can produce an image. A semi-parametric algorithm was created to control the synthesis, which favors earlier outputs. Then it was shown how to dynamically select the computation route using a neural network trained on examples of inputs and output quality metrics. The proposed invention takes a step in this direction, namely reducing the redundancy of the computation. In addition, it is necessary to emphasize how important saving computations and therefore energy is nowadays [67].
Исходная генеративная сеть DNN OASIS [63] состоит из начального 2D-сверточного слоя, за которым следуют 6 модулей SPADEResBlock [57] и заключительные Conv2D, LeakyRelu и TanH. Общее количество ее параметров составляет 74М. К сети присоединены 4 ветви после ResBlock 1, 2, 3 и 4, соответственно. Каждая ветвь состоит из такого же количества модулей ResBlock, как и остальная часть основной сети. Для создания более легких вычислительных путей уменьшено количество каналов вычислительных модулей ветвей. Для обеспечения согласованности необходимо равномерно уменьшать масштаб всех каналов, умножая их на коэффициент масштабирования (SF). Поскольку такое масштабирование с произвольными коэффициентами может привести к слишком малому количеству каналов для их использования, его эффект ограничивается заданием минимального количества каналов, при котором масштабирование не применяется. Иными словами, если минимальное количество равно 64 и применяется коэффициент 1/3, начиная с 128, то новое количество каналов будет 64 вместо 43.The original OASIS DNN generative network [63] consists of an initial 2D convolutional layer followed by 6 SPADEResBlock [57] modules and final Conv2D, LeakyRelu and TanH. Its total number of parameters is 74M. Four branches are attached to the network after ResBlock 1, 2, 3 and 4, respectively. Each branch consists of the same number of ResBlock modules as the rest of the main network. To create lighter computational paths, the number of channels of the branch computation units is reduced. To ensure consistency, all channels must be uniformly downscaled by multiplying them by the scaling factor (SF). Since such scaling with arbitrary factors may result in too few channels to be useful, its effect is limited by specifying a minimum number of channels at which scaling is not applied. In other words, if the minimum number is 64 and a factor of 1/3 is applied starting from 128, then the new number of channels will be 64 instead of 43.
В таблице 7 представлены размеры модулей для всех ветвей в следующем виде: (входные каналы, выходные каналы, высота изображения, ширина изображения). Таблица разделена на три подтаблицы в соответствии с примененным коэффициентом масштабирования. В первом столбце показан тип модуля, т.е. преобразование, примененное к входным данным; столбцы 2-5 показывают размеры вычислительных модулей ветвей 1-4. Внизу каждой подтаблицы показано общее количество параметров с добавлением вспомогательной базы данных и без него.Table 7 presents the module sizes for all branches as follows: (input channels, output channels, image height, image width). The table is divided into three subtables according to the applied scaling factor. The first column shows the module type, i.e., the transformation applied to the input data; columns 2-5 show the sizes of the computational modules of branches 1-4. At the bottom of each subtable, the total number of parameters with and without the addition of the auxiliary database is shown.
Из таблицы 7 видно, что чем выше SF, то есть чем больше количество вычислительных параметров для каждой ветви раннего выхода, тем больше входных и выходных каналов имеет эта ветвь раннего выхода, при этом высота и ширина выходного изображения не изменяется. Чем выше номер ветви раннего выхода, тем меньше входных каналов и выходных каналов, при этом высота и ширина выходного изображения увеличиваются.Table 7 shows that the higher the SF, i.e. the greater the number of computational parameters for each early output branch, the more input and output channels this early output branch has, while the height and width of the output image do not change. The higher the number of the early output branch, the fewer input channels and output channels, while the height and width of the output image increase.
Во всех ветвях после каждого SPADE-ResBlock, кроме последнего, также применяется двумерная повышающая дискретизация ближайшего соседа, что удваивает высоту и ширину. При использовании базы данных входные каналы для первого ResBlock в каждой ветви умножаются на 1,5.In all branches after each SPADE-ResBlock except the last one, 2D nearest neighbor upsampling is also applied, doubling the height and width. When using the database, the input channels to the first ResBlock in each branch are multiplied by 1.5.
На фиг.11 представлено сравнение эффективности различных коэффициентов масштабирования. Минимальное количество каналов 64. Сверху вниз: SF=1/2, 1/3, 1/4. Ветвь 1 - "а"; ветвь 2 - "b"; ветвь 3 - "с"; ветвь 4 - "d"; основная сеть - "е". По оси X указаны пороговые значения показателя качества, выраженные в LPIPS, а по оси Y - вычисления, необходимые для вывода изображений, выраженные в GFLOP. Столбцы на графике показывают, насколько каждая ветвь используется для вывода изображений с заданным порогом показателя качества. Сумма всех столбцов для каждого порогового значения равна 1. Кривая сверху представляет общее число GFLOP, необходимое для принудительного применения порога показателя качества. Эта кривая используется для оценки эффективности предложенной модели с точки зрения ее наклона, то есть экономии вычислительных ресурсов за счет потери показателя качества. Более высокое сжатие (SF=1/4) приводит к большему выигрышу с точки зрения экономии вычислительных ресурсов, поскольку его наклон выше (почти достигает 127 Гб в самой правой точке, в то время как другие коэффициенты масштабирования насыщаются раньше).Figure 11 shows the comparison of the efficiency of different scaling factors. The minimum number of channels is 64. From top to bottom: SF=1/2, 1/3, 1/4. Branch 1 is "a"; branch 2 is "b"; branch 3 is "c"; branch 4 is "d"; the main network is "e". The X-axis shows the quality score thresholds expressed in LPIPS, and the Y-axis shows the computations required to output images expressed in GFLOPs. The bars in the graph show how much each branch is used to output images with a given quality score threshold. The sum of all bars for each threshold is 1. The curve on the top represents the total number of GFLOPs required to enforce the quality score threshold. This curve is used to evaluate the efficiency of the proposed model in terms of its slope, that is, the saving of computational resources at the expense of losing the quality score. The higher compression (SF=1/4) results in a bigger gain in terms of computational savings, since its slope is higher (almost reaching 127GB at the rightmost point, while the other scaling factors saturate earlier).
Используемая база данных была создана из 500 семантических карт, выбранных произвольно из обучающего набора данных, каждая из которых была соединена со 100 различными тензорами 3D шума для получения множества различных вводов, которые были обработаны и разделены на 128 неперекрывающихся фрагментов данных, что дало в общей сложности 500×100×128=6,4 млн пар ключ-значение. Поскольку избыточность в пространстве ключей весьма вероятна, из этого множества пар извлекается только до 5К для каждого используемого семантического класса.The database used was created from 500 semantic maps randomly selected from the training dataset, each of which was paired with 100 different 3D noise tensors to produce a set of different inputs, which were processed and divided into 128 non-overlapping data chunks, yielding a total of 500×100×128=6.4 million key-value pairs. Since redundancy in the key space is very likely, only up to 5K pairs are extracted from this set for each semantic class used.
Выборка FPS [19] составила всего 122 100 пар. Каждый ключ представляет собой 102 4-мерный вектор, а каждое значение состоит из тензора float32 размерностей (512, 4, 4). Таким образом, общий размер сохраненных параметров составляет 1,1 ГБ.The FPS sample [19] consisted of only 122,100 pairs. Each key is a 102-dimensional vector, and each value consists of a float32 tensor of dimensions (512, 4, 4). Thus, the total size of the stored parameters is 1.1 GB.
Во время поиска направляющие признаки берутся после первых блоков Conv2D и ResNet основной сети. Затем для каждого из N ∈ [1, 35] семантических классов, присутствующих во вводе, эти признаки разрезаются на 128 фрагментов данных и их 1024-мерное пространство сканируется для нахождения ближайшего ключа из базы данных с соответствующим семантическим классом. Этот поиск выполняется достаточно быстро благодаря библиотеке FAISS [38] и, таким образом, не утяжеляет вычисления.During the search, the guide features are taken after the first Conv2D and ResNet blocks of the main network. Then, for each of the N ∈ [1, 35] semantic classes present in the input, these features are cut into 128 data chunks and their 1024-dimensional space is scanned to find the closest database key with the corresponding semantic class. This search is performed quite quickly thanks to the FAISS library [38] and is thus computationally inexpensive.
После извлечения всех 12 8 фрагментов данных создается направляющий признак путем склеивания этих фрагментов. Этот признак соединяется с вводом каждой ветви, и поэтому количество каналов в них необходимо увеличить. При использовании базы данных входные каналы для первых ResBlocks в каждой ветви, указанные в таблице 8, умножаются на 1,5.After all 12 8 data chunks have been extracted, a guiding feature is created by gluing these chunks together. This feature is connected to the input of each branch, and therefore the number of channels in them must be increased. When using the database, the input channels for the first ResBlocks in each branch, listed in Table 8, are multiplied by 1.5.
Последним ключевым компонентом предлагаемого конвейера является предиктор. Его архитектура представлена в таблице 8.The last key component of the proposed pipeline is the predictor. Its architecture is presented in Table 8.
Таблица 8 описывает архитектуру предикторов MegaPortraits и OASIS. Размеры представлены в следующем виде: (входные каналы, выходные каналы). В обеих подтаблицах левый столбец показывает, из каких слоев состоит нейронная сеть, а правый столбец размеры ее вводов и выводов. В нижних строках показано общее количество параметров, составляющих эти сети, и количество операций, необходимых для их однократного выполнения.Table 8 describes the architecture of the MegaPortraits and OASIS predictors. The dimensions are presented as (input channels, output channels). In both subtables, the left column shows the layers of the neural network, and the right column shows the sizes of its inputs and outputs. The bottom rows show the total number of parameters that make up these networks and the number of operations required to execute them once.
Исходная генеративная сеть DNN MegaPortraits [17] для изображений с разрешением 512×512 пикселей состоит из множества вычислительных модулей, прогнозирующих объемное представление, и другого набора, называемого G2D, который визуализирует выходное изображение из обработанного объема. Его общее количество параметров составляет 32М. Предлагаемые ветви добавляются после модулей 2, 4, 6 ResBlock2D. Их соответствующая длина равна 7, 5, 3. Как и прежде, более легкие вычислительные пути создаются путем равномерного уменьшения масштаба всех каналов. Новые количества каналов получают умножением исходных каналов на коэффициент масштабирования. Как и прежде, эффект этого масштабирования ограничивается путем задания минимального количества каналов, равного 24, параметра, выбранного без строгого обоснования. Это не обязательная часть способа, ее можно заменить другой, как показывает дальнейший анализ, при которой дальнейшее масштабирование не требуется. Задается множество различных коэффициентов масштабирования, которые представлены в таблице 9.The original MegaPortraits DNN generative network [17] for 512×512 pixel images consists of a set of computational modules predicting the volume representation and another set called G2D that renders the output image from the processed volume. Its total number of parameters is 32M. The proposed branches are added after the 2, 4, 6 ResBlock2D modules. Their corresponding length is 7, 5, 3. As before, lighter computational paths are created by uniformly downscaling all channels. The new channel numbers are obtained by multiplying the original channels by a scaling factor. As before, the effect of this scaling is limited by setting the minimum number of channels to 24, a parameter chosen without strict justification. This is not a mandatory part of the method and can be replaced by another one, as shown by further analysis, in which further scaling is not required. Many different scaling factors are specified, which are presented in Table 9.
Таблица 9 описывает конвейер MegaPortraits. Размеры вычислительных модулей для всех ветвей представлены в следующем виде: (входные каналы, выходные каналы). Таблица разделена на четыре подтаблицы в соответствии с примененным коэффициентом масштабирования. В первом столбце показан тип вычислительного модуля, т.е. преобразование, примененное к входным данным; в столбцах 2,3 и 4 показаны размеры ветвей 1-3 вычислительных модулей. В нижней части каждой подтаблицы указано общее количество параметров, включая добавление вспомогательной базы данных. Res-Block2D состоит из слоев BatchNorm2D, h-swish, Conv2D, BatchNorm2D, h-swish, Conv2D, Conv2D с пропущенными соединениями. Во всех ветвях перед каждым ResBlock2D применяется двумерная билинейная повышающая дискретизация. При использовании этой базы данных все количества входных каналов следует увеличить на 3.Table 9 describes the MegaPortraits pipeline. The compute unit sizes for all branches are presented as (input channels, output channels). The table is divided into four subtables according to the applied scaling factor. The first column shows the compute unit type, i.e., the transformation applied to the input data; columns 2, 3, and 4 show the compute unit sizes for branches 1–3. The bottom of each subtable lists the total number of parameters, including the addition of the auxiliary database. Res-Block2D consists of BatchNorm2D, h-swish, Conv2D, BatchNorm2D, h-swish, Conv2D, Conv2D layers with skip connections. All branches apply 2D bilinear upsampling before each ResBlock2D. When using this database, all input channel counts should be increased by 3.
Для этой задачи использовалась база данных, содержащая 960 пар ключ-значение. Значения состояли из RGB-изображений субъекта-источника, равномерно покрывающих пространствоFor this task, a database containing 960 key-value pairs was used. The values consisted of RGB images of the source subject, uniformly covering the space
поворотов головы и выражений. Ключи были получены с помощью начальных вычислительных модулей MegaPortraits, так называемых энкодеров, которые выдают углы Эйлера, на которые поворачивается голова, а также множество параметров, кодирующих выражение лица. Каждый ключ кодировал 3 угла и 512-мерный вектор для выражений лица.head turns and expressions. The keys were derived from MegaPortraits' initial computational modules, called encoders, which output the Euler angles through which the head rotates, as well as a set of parameters encoding facial expressions. Each key encoded 3 angles and a 512-dimensional vector for facial expressions.
Таким образом, общий размер хранимых параметров составил 109. Поиск ближайшего ключа в базе данных выполнялся на этапе логического вывода с помощью библиотеки FAISS [38]. Каждое извлеченное изображение затем присоединялось ко вводу всех модулей ResBlock2D в каждой ветви, поэтому при использовании базы данных необходимо добавить 3 канала ко всем входным каналам в таблице S9. Архитектура предиктора MegaPortraits в общем представлена в таблице 10.Thus, the total size of the stored parameters was 10 9 . The closest key search in the database was performed in the inference stage using the FAISS library [38]. Each extracted image was then appended to the input of all ResBlock2D modules in each branch, so when using the database, it is necessary to add 3 channels to all input channels in Table S9. The overall architecture of the MegaPortraits predictor is presented in Table 10.
В таблице 10 показана архитектура предиктора MegaPortraits и предикторов OASIS. Размеры указаны в следующем виде: (входные каналы, выходные каналы). В обеих подтаблицах левый столбец показывает, из каких слоев состоит нейронная сеть, а правый столбец - размеры ее вводов и выводов. В нижних строках указано общее количество параметров, составляющих эти сети, и количество операций, необходимых для их однократного выполнения.Table 10 shows the architecture of the MegaPortraits predictor and the OASIS predictors. The sizes are listed as (input channels, output channels). In both subtables, the left column shows the layers of the neural network, and the right column shows the sizes of its inputs and outputs. The bottom rows show the total number of parameters that make up these networks and the number of operations required to execute them once.
Детали обученияTraining details
Для конвейера MegaPortraits обучаются ветви, использующие кусочно-линейные состязательные функции потерь, каждая ветвь конкурирует с копией многомасштабного дискриминатора фрагментов данных [11]. Кроме того, задаются потеря согласования признаков [73], перцептивные потери VGG19 [37] и потери L1 и MS-SSIM [75]. Также используется специализированная потеря взгляда, рассчитанная с помощью сети VGG16, которая объединяет системы обнаружения взгляда (RT-GENE, [89]) и обнаружения моргания (RT-BENE, [2]) в одну модель. Более подробную информацию об этих потерях можно найти в MegaPortraits [17]. Все потери вычисляются по отношению к изображениям основной сети и с использованием только областей переднего плана. В целом общая потеря составляетFor the MegaPortraits pipeline, branches are trained using piecewise linear adversarial losses, with each branch competing against a copy of the multi-scale chunk discriminator [11]. Additionally, the feature matching loss [73], the VGG19 perceptual loss [37], and the L1 and MS-SSIM losses [75] are specified. A specialized gaze loss computed with the VGG16 network, which combines gaze detection (RT-GENE, [89]) and blink detection (RT-BENE, [2]) into a single model, is also used. More details on these losses can be found in MegaPortraits [17]. All losses are computed with respect to the main network images and using only the foreground regions. Overall, the overall loss is
где - стандартная состязательная функция потерь для сетей GAN; - потеря VGG [37]; - потеря MS-SSIM [75]; - потеря L1, - потеря согласования признаков [73]; и - потеря взгляда [17]; со следующими весами: c1=18, с2=0,84, с3=0,16, с4=40, с5=5. Ветви и дискриминаторы обучались с помощью оптимизаторов AdamW [91] с β1=0,05, β2=0,999, ∈=10-8, с уменьшением веса = 10-2 и начальной скоростью обучения = 2 × 10-4. Во время обучения использовались косинусные планировщики скорости обучения с минимальной скоростью обучения 10~6. Вычисления проводились параллельно с помощью распределенных данных PyTorch. Модель обучалась со смешанной точностью на двух графических процессорах NVIDIA Р40 с эффективным размером пакета 6 в течение примерно 3 дней. Полученные качества можно найти в таблице 11.Where - standard adversarial loss function for GAN networks; - loss of VGG [37]; - loss of MS-SSIM [75]; - loss of L1, - loss of feature matching [73]; and - gaze loss [17]; with the following weights: c1=18, c2=0.84, c3=0.16, c4=40, c5=5. The branches and discriminators were trained using AdamW [91] optimizers with β1 =0.05, β2 =0.999, ∈= 10-8 , weight decay= 10-2 and initial learning rate=2× 10-4 . Cosine learning rate schedulers with a minimum learning rate of 10−6 were used during training. The computations were performed in parallel using PyTorch distributed data. The model was trained with mixed precision on two NVIDIA P40 GPUs with an effective batch size of 6 for about 3 days. The obtained qualities can be found in Table 11.
В таблице 11 представлены количественные результаты конвейера MegaPortraits для перекрестного воспроизведения. Для четырех различных коэффициентов масштабирования SF (первый столбец) конвейер тестировался с базой направляющих данных и без нее, что отмечено в столбце Bank галочкой или крестиком. Три столбца, по одному для каждой ветви, содержат оценки FID (начальное расстояние Фреше) и mIOU (среднее пересечение по соединению); внизу показаны эти два значения для основной сети. Таким образом, разные сжатия влияют на показатель качества - чем сильнее сжатие, тем ниже показатель качества. Также добавление банка улучшает показатель качества, особенно в первом выводе.Table 11 presents the quantitative results of the MegaPortraits pipeline for cross-replay. For four different SF scaling factors (first column), the pipeline was tested with and without a bank of guide data, which are indicated by a check mark or a cross in the Bank column. Three columns, one for each branch, contain the FID (initial Fréchet distance) and mIOU (average intersection over connection) scores; these two values are shown at the bottom for the main network. Thus, different compressions affect the quality score - the stronger the compression, the lower the quality score. Also, adding a bank improves the quality score, especially in the first output.
Для каждого ввода предиктор оценивает LPIPS для всех ветвей. Для его обучения вводится потеря МАЕ между спрогнозированным состоянием и состоянием подобия истинности, как было описано выше:For each input, the predictor estimates the LPIPS for all branches. To train it, the MAE loss between the predicted state and the ground truth similarity state is introduced as described above:
где с - согласующие параметры; S - оценка LPIPS для изображения, созданного с упомянутыми параметрами; и Р(с) выход предиктора.where c are the matching parameters; S is the LPIPS score for the image generated with the mentioned parameters; and P(c) is the predictor output.
Используется оптимизатор AdamW с β1=0,05, β2=0/ 999 и начальной скоростью обучения 2×10-4 вместе с косинусным планировщиком скорости обучения.The AdamW optimizer with β 1 = 0.05, β 2 = 0/ 999 and an initial learning rate of 2×10 -4 is used together with a cosine learning rate scheduler.
Были реализованы все архитектуры, перечисленные в таблице 7 и таблице 9. Общие результаты для конвейера OASIS можно сравнить на фиг.11 и фиг.12, а на фиг.13 они показаны для конвейера Mega-Portraits. Фиг. 12 иллюстрирует конвейер OASIS. Минимальное количество каналов - 32. Ветвь 1 - "а"; ветвь 2 - "b"; ветвь 3 -"с"; ветвь 4 - "d"; основная сеть - "е". Представлено сравнение эффективности различных коэффициентов масштабирования. Сверху вниз, слева направо: SF=1/2, 1/3, 1/4, 1/6. Фиг. 13 иллюстрирует конвейер MegaPortraits, сравнение эффективности различных коэффициентов масштабирования. Слева направо: SF=1/3, 1/6, 1/8, 1/15. Можно заметить, как разные коэффициенты масштабирования дают различные распределения ветвей. Для всех этих графиков по оси X показаны пороговые значения, выраженные в LPIPS, а по оси Y - вычисления, необходимые для вывода изображений, выраженные в GFLOP. Столбцы на графике показывают, насколько каждая ветвь используется для вывода изображений с заданным порогом показателя качества. Сумма всех столбцов для каждого порога равна 1. Кривая сверху представляет собой общее количество GFLOP, необходимое для обеспечения соблюдения указанного порога показателя качества. Эта кривая используется для оценки эффективности предложенной модели с точки зрения ее наклона, то есть экономии вычислительных ресурсов за счет потери показателя качества. Чем выше сжатие, тем выше выигрыш с точки зрения экономии вычислительных ресурсов.All architectures listed in Table 7 and Table 9 were implemented. The overall results for the OASIS pipeline can be compared in Figure 11 and Figure 12, while Figure 13 shows them for the Mega-Portraits pipeline. Figure 12 illustrates the OASIS pipeline. The minimum number of channels is 32. Branch 1 is "a"; branch 2 is "b"; branch 3 is "c"; branch 4 is "d"; the main network is "e". A comparison of the performance of different scaling factors is shown. From top to bottom, left to right: SF=1/2, 1/3, 1/4, 1/6. Figure 13 illustrates the MegaPortraits pipeline, a comparison of the performance of different scaling factors. From left to right: SF=1/3, 1/6, 1/8, 1/15. It can be seen how different scaling factors produce different branch distributions. For all these graphs, the x-axis shows the thresholds expressed in LPIPS, and the y-axis shows the computation required to output the images expressed in GFLOPs. The bars in the graph show how much each branch is used to output images with a given quality score threshold. The sum of all the bars for each threshold is 1. The curve at the top represents the total number of GFLOPs required to meet the specified quality score threshold. This curve is used to evaluate the effectiveness of the proposed model in terms of its slope, i.e. the computational savings at the expense of quality score. The higher the compression, the higher the gain in terms of computational savings.
На фиг.14 показано влияние базы данных на ветви всех коэффициентов масштабирования. Фиг. 14 иллюстрирует конвейер OASIS, сравнение влияния базы данных на распределение показателей качества для различных коэффициентовFigure 14 shows the impact of the database on the branches of all scaling factors. Figure 14 illustrates the OASIS pipeline, comparing the impact of the database on the distribution of quality scores for different factors.
масштабирования. Распределение показателей качества каждой ветви пронумеровано по-разному: 1, 1', 2, 2', 3, 3', 4, 4'. Распределения без использования базы данных показаны пунктирной кривой (1', 2', 3', 4'), а распределения, полученные с использованием базы данных, показаны сплошной кривой (1, 2, 3, 4). Минимальное количество каналов 64. Слева направо: SF=1/2, 1/3, 1/4. По оси X показан показатель качества в единицах LPIPS, а по оси Y - количество изображений, выведенных с указанным показателем качества. Разные ветви выводят распределения показателя качества, окрашенные в разные цвета. Распределения показателей качества, полученные без внедрения базы данных, показаны пунктирной кривой, а показатели качества с использованием базы данных - сплошной кривой. Можно отчетливо увидеть, что реализация базы данных больше всего повлияла на первые ветви, поскольку распределение показателей качества для этих первых ветвей больше всего сдвинуто в сторону лучших значений. Следовательно, база данных является действенным инструментом для гармонизации показателя качества вывода.scaling. The quality score distribution of each branch is numbered differently: 1, 1', 2, 2', 3, 3', 4, 4'. The distributions without database implementation are shown as a dotted curve (1', 2', 3', 4'), and the distributions obtained with database implementation are shown as a solid curve (1, 2, 3, 4). The minimum number of channels is 64. From left to right: SF=1/2, 1/3, 1/4. The X-axis shows the quality score in LPIPS units, and the Y-axis shows the number of images output with the specified quality score. Different branches output quality score distributions colored differently. The quality score distributions obtained without database implementation are shown as a dotted curve, and the quality scores with database implementation are shown as a solid curve. It can be clearly seen that the database implementation has had the greatest impact on the first branches, since the quality score distribution for these first branches is most skewed towards the best values. Therefore, the database is a powerful tool for harmonizing the output quality score.
Для конвейера MegaPortraits показатель качестваFor the MegaPortraits conveyor, the quality indicator
синтезированных изображений коррелирует с углом поворота головы. Это также находит отражение в предлагаемом методе. Действительно, головы, повернутые под углами большего размера, с большей вероятностью будут направлены в более позднюю ветвь, как видно на фиг.15. Фиг. 15 иллюстрирует конвейер MegaPortraits, распределение изображений, направленных в разные ветви, в зависимости от угла поворота головы. Первый ряд SF=1/8, второй ряд SF=1/15. По оси X показан угол между эталонной головой и головой на выводимом изображении, а по оси Y - количество изображений, выводимых с указанным углом. Можно отчетливо видеть, что для малых углов большая часть изображений выводится первой ветвью, а более широкие углы обрабатываются второй и третьей ветвями для получения вывода. Можно сделать вывод, что одним из источников сложности рендеринга является поворот головы, а значит не все положения требуют столько вычислений, сколько малые углы, что подтверждает необходимость реализации предложенных ветвей и предикторов.of the synthesized images correlates with the head rotation angle. This is also reflected in the proposed method. Indeed, heads rotated at larger angles are more likely to be sent to the later branch, as can be seen in Fig. 15. Fig. 15 illustrates the MegaPortraits pipeline, the distribution of images sent to different branches depending on the head rotation angle. The first row SF=1/8, the second row SF=1/15. The X-axis shows the angle between the reference head and the head in the output image, and the Y-axis shows the number of images output with the specified angle. It can be clearly seen that for small angles, most of the images are output by the first branch, and wider angles are processed by the second and third branches to obtain the output. It can be concluded that one of the sources of rendering complexity is the head rotation, which means that not all positions require as much computation as small angles, which confirms the need to implement the proposed branches and predictors.
Описанные выше иллюстративные варианты осуществления являются примерами и не должны рассматриваться как ограничивающие. Кроме того, описание этих вариантов осуществления предназначено для иллюстрации, а не для ограничения объема формулы изобретения, и многие альтернативы, модификации и варианты будут очевидны для специалистов в данной области техники.The illustrative embodiments described above are examples and should not be considered as limiting. Furthermore, the description of these embodiments is intended to illustrate and not to limit the scope of the claims, and many alternatives, modifications and variations will be obvious to those skilled in the art.
Литература:Literature:
[1] Thiemo Alldieck, Mihai Zanfir, and Cristian Sminchisescu. Photorealistic monocular 3d reconstruction of humans wearing clothing. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), pages 1506-1515. 2022.[1] Thiemo Alldieck, Mihai Zanfir, and Cristian Sminchisescu. Photorealistic monocular 3d reconstruction of humans wearing clothing. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), pages 1506–1515. 2022.
[2] Ali Alqahtani, Xianghua Xie, and Mark W. Jones. Literature review of deep network compression. Informatics, 8(4). 2021.[2] Ali Alqahtani, Xianghua Xie, and Mark W. Jones. Literature review of deep network compression. Informatics, 8(4). 2021.
[3] Tolga Bolukbasi, Joseph Wang, Ofer Dekel, and Venkatesh Saligrama. Adaptive neural networks for efficient inference. In International Conference on Machine Learning, pages 527-536. PMLR. 2017.[3] Tolga Bolukbasi, Joseph Wang, Ofer Dekel, and Venkatesh Saligrama. Adaptive neural networks for efficient inference. In International Conference on Machine Learning, pages 527-536. PMLR. 2017.
[4] Cristian Bucilu"a, Rich Caruana, and Alexandru Niculescu-Mizil. Model compression. In Proceedings of the 12th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, KDD '06, page 535-541, New York, NY, USA. Association for Calculating Machinery. 2006.[4] Cristian Bucilu, Rich Caruana, and Alexandru Niculescu-Mizil. Model compression. In Proceedings of the 12th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, KDD '06, pages 535-541, New York, NY, USA. Association for Calculating Machinery. 2006.
[5] Egor Burkov, Igor Pasechnik, Artur Grigorev, and Victor Lempitsky. Neural head reenactment with latent pose descriptors. In IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR). 2020.[5] Egor Burkov, Igor Pasechnik, Artur Grigorev, and Victor Lempitsky. Neural head reenactment with latent pose descriptors. In IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR). 2020.
[6] Han Cai, Chuang Gan, Tianzhe Wang, Zhekai Zhang, and Song Han. Once for all: Train one network and specialize it for efficient deployment. In International Conference on Learning Representations. 2020.[6] Han Cai, Chuang Gan, Tianzhe Wang, Zhekai Zhang, and Song Han. Once for all: Train one network and specialize it for efficient deployment. In International Conference on Learning Representations. 2020.
[7] Jianchuan Chen, Ying Zhang, Di Kang, Xuefei Zhe, Linchao Bao, Xu Jia, and Huchuan Lu. Animatable neural radiance fields from monocular rgb videos. arXiv preprint arXiv:2106.13629. 2021.[7] Jianchuan Chen, Ying Zhang, Di Kang, Xuefei Zhe, Linchao Bao, Xu Jia, and Huchuan Lu. Animatable neural radiance fields from monocular rgb videos. arXiv preprint arXiv:2106.13629. 2021.
[8] Xinshi Chen, Hanjun Dai, Yu Li, Xin Gao, and Le Song. Learning to stop while learning to predict. In Proceedings of the 37th International Conference on Machine Learning, volume 119 of Proceedings of Machine Learning Research, pages 1520-1530. PMLR. 2020.[8] Xinshi Chen, Hanjun Dai, Yu Li, Xin Gao, and Le Song. Learning to stop while learning to predict. In Proceedings of the 37th International Conference on Machine Learning, volume 119 of Proceedings of Machine Learning Research, pages 1520-1530. PMLR. 2020.
[9] Jang Hyun Cho and Bharath Hariharan. On the efficacy of knowledge distillation. In Proceedings of the IEEE/CVF International Conference on Computer Vision (ICCV). 2019.[9] Jang Hyun Cho and Bharath Hariharan. On the efficacy of knowledge distillation. In Proceedings of the IEEE/CVF International Conference on Computer Vision (ICCV). 2019.
[10] Adam Paszke, Sam Gross, Francisco Massa, Adam Lerer, James Bradbury, Gregory Chanan, Trevor Killeen, Zeming Lin, Natalia Gimelshein, Luca Antiga, Alban Desmaison, Andreas Kopf, Edward Yang, Zachary DeVito, Martin Raison, Alykhan Tejani, Sasank Chilamkurthy, Benoit Steiner, Lu Fang, Junjie Bai, and Soumith Chintala. PyTorch: An Imperative Style, High-Performance Deep Learning Library. In Advances in Neural Information Processing Systems 32, pages 8024-8035. Curran Associates, Inc. 2019.[10] Adam Paszke, Sam Gross, Francisco Massa, Adam Lerer, James Bradbury, Gregory Chanan, Trevor Killeen, Zeming Lin, Natalia Gimelshein, Luca Antiga, Alban Desmaison, Andreas Kopf, Edward Yang, Zachary DeVito, Martin Raison, Alykhan Tejani , Sasank Chilamkurthy, Benoit Steiner, Lu Fang, Junjie Bai, and Soumith Chintala. PyTorch: An Imperative Style, High-Performance Deep Learning Library. In Advances in Neural Information Processing Systems 32, pages 8024-8035. Curran Associates, Inc. 2019.
[11] Jun-Yan Zhu, Taesung Park, Phillip Isola, and Alexei A. Efros. Unpaired image-to-image translation using cycleconsistent adversarial networks. In Proceedings of the IEEE International Conference on Computer Vision (ICCV). 2017[11] Jun-Yan Zhu, Taesung Park, Phillip Isola, and Alexei A. Efros. Unpaired image-to-image translation using cycleconsistent adversarial networks. In Proceedings of the IEEE International Conference on Computer Vision (ICCV). 2017
[12] Xin Dai, Xiangnan Kong, and Tian Guo. Epnet: Learning to exit with flexible multi-branch network. In Proceedings of the 29th ACM International Conference on Information and Knowledge Management, CIKM '20, page 235-244, New York, NY, USA. Association for Calculating Machinery. 2020.[12] Xin Dai, Xiangnan Kong, and Tian Guo. Epnet: Learning to exit with flexible multi-branch network. In Proceedings of the 29th ACM International Conference on Information and Knowledge Management, CIKM '20, pages 235–244, New York, NY, USA. Association for Calculating Machinery. 2020.
[13] Lei Deng, Guoqi Li, Song Han, Luping Shi, and Yuan Xie. Model compression and hardware acceleration for neural networks: A comprehensive survey. Proceedings of the IEEE, 108(4):485-532. 2020.[13] Lei Deng, Guoqi Li, Song Han, Luping Shi, and Yuan Xie. Model compression and hardware acceleration for neural networks: A comprehensive survey. Proceedings of the IEEE, 108(4):485-532. 2020.
[14] Rongkang Dong, Yuyi Mao, and Jun Zhang. Resourceconstrained edge ai with early exit prediction. Journal of Communications and Information Networks, 7(2):122-134. 2022.[14] Rongkang Dong, Yuyi Mao, and Jun Zhang. Resourceconstrained edge ai with early exit prediction. Journal of Communications and Information Networks, 7(2):122-134. 2022.
[15] Michail Christos Doukas, Evangelos Ververas, Viktoriia Sharmanska, and Stefanos Zafeiriou. Free-headgan: Neural talking head synthesis with explicit gaze control. arXiv preprint arXiv:2208.02210. 2022.[15] Michail Christos Doukas, Evangelos Ververas, Viktoriia Sharmanska, and Stefanos Zafeiriou. Free-headgan: Neural talking head synthesis with explicit gaze control. arXiv preprint arXiv:2208.02210. 2022.
[16] Michail Christos Doukas, Stefanos Zafeiriou, and Viktoriia Sharmanska. Headgan: One-shot neural head synthesis and editing. In Proceedings of the IEEE/CVF International Conference on Computer Vision (ICCV), pages 14398-14407. 2021.[16] Michail Christos Doukas, Stefanos Zafeiriou, and Viktoriia Sharmanska. Headgan: One-shot neural head synthesis and editing. In Proceedings of the IEEE/CVF International Conference on Computer Vision (ICCV), pages 14398–14407. 2021.
[17] Nikita Drobyshev, Jenya Chelishev, Taras Khakhulin, Aleksei Ivakhnenko, Victor Lempitsky, and Egor Zakharov. Megaportraits: One-shot megapixel neural head avatars. In Proceedings of the 30th ACM International Conference on Multimedia. Association for Calculating Machinery. 2022.[17] Nikita Drobyshev, Jenya Chelishev, Taras Khakhulin, Aleksei Ivakhnenko, Victor Lempitsky, and Egor Zakharov. Megaportraits: One-shot megapixel neural head avatars. In Proceedings of the 30th ACM International Conference on Multimedia. Association for Calculating Machinery. 2022.
[18] Maha Elbayad, Jiatao Gu, Edouard Grave, and Michael Auli. Depth-adaptive transformer. In ICLR 2020-Eighth International Conference on Learning Representations, pages 1-14. 2020.[18] Maha Elbayad, Jiatao Gu, Edouard Grave, and Michael Auli. Depth-adaptive transformer. In ICLR 2020-Eighth International Conference on Learning Representations, pages 1-14. 2020.
[19] Y. Eldar, M. Lindenbaum, M. Porat, and Y.Y. Zeevi. The[19] Y. Eldar, M. Lindenbaum, M. Porat, and Y.Y. Zeevi. The
farthest point strategy for progressive image sampling. IEEE Transactions on Image Processing, б(9):1305-1315. 1997.farthest point strategy for progressive image sampling. IEEE Transactions on Image Processing, b(9):1305–1315. 1997.
[20] Yao Feng, Haiwen Feng, Michael J. Black, and Timo Bolkart. Learning an animatable detailed 3d face model from in-the-wild images. ACM Trans. Graph., 40(4). 2021.[20] Yao Feng, Haiwen Feng, Michael J. Black, and Timo Bolkart. Learning an animatable detailed 3d face model from in-the-wild images. ACM Trans. Graph., 40(4). 2021.
[21] Stanislav Frolov, Tobias Hinz, Federico Raue, J"orn Hees, and Andreas Dengel. Adversarial text-to-image synthesis: A review. Neural Networks, 144:187-209. 2021.[21] Stanislav Frolov, Tobias Hinz, Federico Raue, J"orn Hees, and Andreas Dengel. Adversarial text-to-image synthesis: A review. Neural Networks, 144:187-209. 2021.
[22] Anna Fr"uhst"uck, Krishna Kumar Singh, Eli Shechtman, Niloy J. Mitra, Peter Wonka, and Jingwan Lu. Insetgan for full-body image generation. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), pages 7723-7732. 2022.[22] Anna Fr"uhst"uck, Krishna Kumar Singh, Eli Shechtman, Niloy J. Mitra, Peter Wonka, and Jingwan Lu. Insetgan for full-body image generation. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), pages 7723–7732. 2022.
[23] Liang Gonog and Yimin Zhou. A review: Generative adversarial networks. In 2019 14th IEEE Conference on Industrial Electronics and Applications (ICIEA), pages 505-510. 2019.[23] Liang Gonog and Yimin Zhou. A review: Generative adversarial networks. In 2019 14th IEEE Conference on Industrial Electronics and Applications (ICIEA), pages 505-510. 2019.
[24] Ian Goodfellow, Jean Pouget-Abadie, Mehdi Mirza, Bing Xu, DavidWarde-Farley, Sherjil Ozair, Aaron Courville, and Yoshua Bengio. Generative adversarial nets. In Advances in Neural Information Processing Systems, volume 27. Curran Associates, Inc. 2014.[24] Ian Goodfellow, Jean Pouget-Abadie, Mehdi Mirza, Bing Xu, DavidWarde-Farley, Sherjil Ozair, Aaron Courville, and Yoshua Bengio. Generative adversarial nets. In Advances in Neural Information Processing Systems, volume 27. Curran Associates, Inc. 2014.
[25] Ian Goodfellow, Jean Pouget-Abadie, Mehdi Mirza, Bing Xu, DavidWarde-Farley, Sherjil Ozair, Aaron Courville, and Yoshua Bengio. Generative adversarial networks. Commun. ACM, 63(11):139-144. 2020.[25] Ian Goodfellow, Jean Pouget-Abadie, Mehdi Mirza, Bing Xu, DavidWarde-Farley, Sherjil Ozair, Aaron Courville, and Yoshua Bengio. Generative adversarial networks. Commun. ACM, 63(11):139–144. 2020.
[26] Jianping Gou, Baosheng Yu, Stephen J Maybank, and Dacheng Tao. Knowledge distillation: A survey. International Journal of Computer Vision, 129(6):1789-1819. 2021.[26] Jianping Gou, Baosheng Yu, Stephen J Maybank, and Dacheng Tao. Knowledge distillation: A survey. International Journal of Computer Vision, 129(6):1789-1819. 2021.
[27] Niv Granot, Ben Feinstein, Assaf Shocher, Shai Bagon, and Michal Irani. Drop the gan: In defense of patches nearest neighbors as single image generative models. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), pages 13460-13469. 2022.[27] Niv Granot, Ben Feinstein, Assaf Shocher, Shai Bagon, and Michal Irani. Drop the gan: In defense of patches nearest neighbors as single image generative models. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), pages 13460–13469. 2022.
[28] Philip-William Grassal, Malte Prinzler, Titus Leistner, Carsten Rother, Matthias Niesner, and Justus Thies. Neural head avatars from monocular rgb videos. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), pages 18653-18664. 2022.[28] Philip-William Grassal, Malte Prinzler, Titus Leistner, Carsten Rother, Matthias Niesner, and Justus Thies. Neural head avatars from monocular rgb videos. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), pages 18653–18664. 2022.
[29] Edouard Grave, Armand Joulin, and Nicolas Usunier. Improving neural language models with a continuous cache. In International Conference on Learning Representations. 2017.[29] Edouard Grave, Armand Joulin, and Nicolas Usunier. Improving neural language models with a continuous cache. In International Conference on Learning Representations. 2017.
[30] James Hays and Alexei A Efros. Scene completion using millions of photographs. ACM Transactions on Graphics (SIGGRAPH 2007), 26(3). 2007.[30] James Hays and Alexei A Efros. Scene completion using millions of photographs. ACM Transactions on Graphics (SIGGRAPH 2007), 26(3). 2007.
[31] Tong He, Yuanlu Xu, Shunsuke Saito, Stefano Soatto, and Tony Tung. Arch++: Animation-ready clothed human reconstruction revisited. In Proceedings of the IEEE/CVF International Conference on Computer Vision (ICCV), pages 11046-11056. 2021.[31] Tong He, Yuanlu Xu, Shunsuke Saito, Stefano Soatto, and Tony Tung. Arch++: Animation-ready clothed human reconstruction revisited. In Proceedings of the IEEE/CVF International Conference on Computer Vision (ICCV), pages 11046–11056. 2021.
[32] Martin Heusel, Hubert Ramsauer, Thomas Unterthiner, Bernhard Nessler, and Sepp Hochreiter. Gans trained by a two time-scale update rule converge to a local nash equilibrium. In I. Guyon, U. Von Luxburq, S. Bengio, H. Wallach, R. Fergus, S. Vishwanathan, and R. Garnett, editors, Advances in Neural Information Processing Systems, volume 30. Curran Associates, Inc. 2017.[32] Martin Heusel, Hubert Ramsauer, Thomas Unterthiner, Bernhard Nessler, and Sepp Hochreiter. Gans trained by a two time-scale update rule converge to a local our equilibrium. In I. Guyon, U. Von Luxburq, S. Bengio, H. Wallach, R. Fergus, S. Vishwanathan, and R. Garnett, editors, Advances in Neural Information Processing Systems, volume 30. Curran Associates, Inc. 2017.
[33] Tao Hu, Tao Yu, Zeronq Zhenq, He Zhang, Yebin Liu, and Matthias Zwicker. Hvtr: Hybrid volumetric-textural rendering for human avatars. arXiv preprint arXiv:2112.10203. 2021.[33] Tao Hu, Tao Yu, Zeronq Zhenq, He Zhang, Yebin Liu, and Matthias Zwicker. Hvtr: Hybrid volumetric-textural rendering for human avatars. arXiv preprint arXiv:2112.10203. 2021.
[34] Phillip Isola and Ce Liu. Scene collaqinq: Analysis and synthesis of natural images with semantic layers. In Proceedings of the IEEE International Conference on Computer Vision (ICCV). 2013.[34] Phillip Isola and Ce Liu. Scene collaqinq: Analysis and synthesis of natural images with semantic layers. In Proceedings of the IEEE International Conference on Computer Vision (ICCV). 2013.
[35] Phillip Isola, Jun-Yan Zhu, Tinghui Zhou, and Alexei A. Efros. Image-to-image translation with conditional adversarial networks. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR). 2017.[35] Phillip Isola, Jun-Yan Zhu, Tinghui Zhou, and Alexei A. Efros. Image-to-image translation with conditional adversarial networks. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR). 2017.
[36] Menglin Jia, Bor-Chun Chen, Zuxuan Wu, Claire Cardie, Serge Belongie, and Ser-Nam Lim. Rethinking nearest neighbors for visual classification. arXiv preprint arXiv:2112.08459. 2021.[36] Menglin Jia, Bor-Chun Chen, Zuxuan Wu, Claire Cardie, Serge Belongie, and Ser-Nam Lim. Rethinking nearest neighbors for visual classification. arXiv preprint arXiv:2112.08459. 2021.
[37] Justin Johnson, Alexandre Alahi, and Li Fei-Fei. Perceptual losses for real-time style transfer and super-resolution. In Computer Vision - ECCV 2016, pages 694-711, Cham. Springer International Publishing. 2016.[37] Justin Johnson, Alexandre Alahi, and Li Fei-Fei. Perceptual losses for real-time style transfer and super-resolution. In Computer Vision - ECCV 2016, pages 694-711, Cham. Springer International Publishing. 2016.
[38] Jeff Johnson, Matthijs Douze, and Herv'e J'egou. Billionscale similarity search with GPUs. IEEE Transactions on Biq Data, 7(3):535-547. 2019.[38] Jeff Johnson, Matthijs Douze, and Herv'e J'egou. Billionscale similarity search with GPUs. IEEE Transactions on Biq Data, 7(3):535–547. 2019.
[39] Mica K. Johnson, Kevin Dale, Shai Avidan, Hanspeter Pfister, William T. Freeman, and Wojciech Matusik. Cg2real: Improving the realism of computer generated images using a large collection of photographs. IEEE Transactions on Visualization and Computer Graphics, 17(9):1273-1285. 2009.[39] Mica K. Johnson, Kevin Dale, Shai Avidan, Hanspeter Pfister, William T. Freeman, and Wojciech Matusik. Cg2real: Improving the realism of computer generated images using a large collection of photographs. IEEE Transactions on Visualization and Computer Graphics, 17(9):1273–1285. 2009.
[40] Moritz Kappel, Vladislav Golyanik, Mohamed Elgharib, Jann-Ole Henningson, Hans-Peter Seidel, Susana Castillo, Christian Theobalt, and Marcus Magnor. Hiqh-fidelity neural human motion transfer from monocular video. In Proceedinqs of the IEEE/CVF Conference on Computer Vision and Pattern Recoqnition (CVPR), paqes 1541-1550. 2021.[40] Moritz Kappel, Vladislav Golyanik, Mohamed Elgharib, Jann-Ole Henningson, Hans-Peter Seidel, Susana Castillo, Christian Theobalt, and Marcus Magnor. Hiqh-fidelity neural human motion transfer from monocular video. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), paqes 1541-1550. 2021.
[41] Moritz Kappel, Vladislav Golyanik, Mohamed Elgharib, Jann-Ole Henningson, Hans-Peter Seidel, Susana Castillo, Christian Theobalt, and Marcus Magnor. High-fidelity neural human motion transfer from monocular video. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), pages 1541-1550. 2021.[41] Moritz Kappel, Vladislav Golyanik, Mohamed Elgharib, Jann-Ole Henningson, Hans-Peter Seidel, Susana Castillo, Christian Theobalt, and Marcus Magnor. High-fidelity neural human motion transfer from monocular video. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), pages 1541–1550. 2021.
[42] Yigitcan Kaya, Sanghyun Hong, and Tudor Dumitras. Shallow-deep networks: Understanding and mitigating network overthinking. In Proceedings of the 36th International Conference on Machine Learning, volume 97 of Proceedings of Machine Learning Research, pages 3301-3310. PMLR. 2019.[42] Yigitcan Kaya, Sanghyun Hong, and Tudor Dumitras. Shallow-deep networks: Understanding and mitigating network overthinking. In Proceedings of the 36th International Conference on Machine Learning, volume 97 of Proceedings of Machine Learning Research, pages 3301-3310. PMLR. 2019.
[43] Taras Khakhulin, Vanessa Sklyarova, Victor Lempitsky, and Egor Zakharov. Realistic one-shot mesh-based head avatars. In European Conference of Computer vision (ECCV). 2022.[43] Taras Khakhulin, Vanessa Sklyarova, Victor Lempitsky, and Egor Zakharov. Realistic one-shot mesh-based head avatars. In European Conference of Computer Vision (ECCV). 2022.
[44] Jean-Franc ' ois Lalonde, Derek Hoiem, Alexei A. Efros, Carsten Rother, John Winn, and Antonio Criminisi. Photo clip art. ACM Transactions on Graphics (SIGGRAPH 2007), 26(3):3. 2007.[44] Jean-Franc' ois Lalonde, Derek Hoiem, Alexei A. Efros, Carsten Rother, John Winn, and Antonio Criminisi. Photo clip art. ACM Transactions on Graphics (SIGGRAPH 2007), 26(3):3. 2007.
[45] Stefanos Laskaridis, Alexandros Kouris, and Nicholas D. Lane. Adaptive inference through early-exit networks: Design, challenges and directions. In Proceedings of the 5th InternationalWorkshop on Embedded and Mobile Deep Learning, EMDL' 21, page 1-6, New York, NY, USA. Association for Calculating Machinery. 2021.[45] Stefanos Laskaridis, Alexandros Kouris, and Nicholas D. Lane. Adaptive inference through early-exit networks: Design, challenges and directions. In Proceedings of the 5th International Workshop on Embedded and Mobile Deep Learning, EMDL' 21, pages 1-6, New York, NY, USA. Association for Calculating Machinery. 2021.
[46] Yann LeCun, John Denker, and Sara Solla. Optimal brain damage. In Advances in Neural Information Processing Systems, volume 2. Morgan-Kaufmann. 1989.[46] Yann LeCun, John Denker, and Sara Solla. Optimal brain damage. In Advances in Neural Information Processing Systems, volume 2. Morgan-Kaufmann. 1989.
[47] Sam Leroux, Steven Bohez, Elias De Coninck, Tim Verbelen, Bert Vankeirsbi1ck, Pieter Simoens, and Bart Dhoedt. The cascading neural network: building the internet of smart things. Knowledge and Information Systems, 52(3):791-814. 2017.[47] Sam Leroux, Steven Bohez, Elias De Coninck, Tim Verbelen, Bert Vankeirsbi1ck, Pieter Simoens, and Bart Dhoedt. The cascading neural network: building the internet of smart things. Knowledge and Information Systems, 52(3):791-814. 2017.
[48] Tianye Li, Timo Bolkart, Michael. J. Black, Hao Li, and Javier Romero. Learning a model of facial shape and expression from 4D scans. ACM Transactions on Graphics, (Proc. SIGGRAPH Asia), 36(6): 194:1-194:17. 2017.[48] Tianye Li, Timo Bolkart, Michael. J. Black, Hao Li, and Javier Romero. Learning a model of facial shape and expression from 4D scans. ACM Transactions on Graphics, (Proc. SIGGRAPH Asia), 36(6): 194:1-194:17. 2017.
[49] Xiangjie Li, Chenfei Lou, Zhengping Zhu, Yuchi Chen, Yingtao Shen, Yehan Ma, and An Zou. Predictive exit: Prediction of fine-grained early exits for computation-and energy-efficient inference. arXiv preprint arXiv:2206.04685. 2022.[49] Xiangjie Li, Chenfei Lou, Zhengping Zhu, Yuchi Chen, Yingtao Shen, Yehan Ma, and An Zou. Predictive exit: Prediction of fine-grained early exits for computation-and energy-efficient inference. arXiv preprint arXiv:2206.04685. 2022.
[50] Yikang LI, Tao Ma, Yeqi Bai, Nan Duan, Sining Wei, and Xiaogang Wang. Pastegan: A semi-parametric method to generate image from scene graph. In Advances in Neural Information Processing Systems, volume 32. Curran Associates, Inc. 2019.[50] Yikang LI, Tao Ma, Yeqi Bai, Nan Duan, Sining Wei, and Xiaogang Wang. Pastegan: A semi-parametric method to generate image from scene graph. In Advances in Neural Information Processing Systems, volume 32. Curran Associates, Inc. 2019.
[51] Enrique S. Marquez, Jonathon S. Hare, and Mahesan Niranjan. Deep cascade learninq. IEEE Transactions on Neural Networks and Learninq Systems, 29(11):5475-5485. 2018.[51] Enrique S. Marquez, Jonathon S. Hare, and Mahesan Niranjan. Deep cascade learning. IEEE Transactions on Neural Networks and Learning Systems, 29(11):5475-5485. 2018.
[52] Mehdi Mirza and Simon Osindero. Conditional qenerative adversarial nets. arXiv preprint arXiv:1411.1784. 2014.[52] Mehdi Mirza and Simon Osindero. Conditional qenerative adversarial nets. arXiv preprint arXiv:1411.1784. 2014.
[53] Pavlo Molchanov, Arun Mallya, Stephen Tyree, Iuri Frosio, and Jan Kautz. Importance estimation for neural network pruninq. In 2019 IEEE/CVF Conference on Computer Vision and Pattern Recoqnition (CVPR), paqes 11256-11264. 2019.[53] Pavlo Molchanov, Arun Mallya, Stephen Tyree, Iuri Frosio, and Jan Kautz. Importance estimation for neural network pruning. In 2019 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), paqes 11256-11264. 2019.
[54] Augustus Odena, Dieterich Lawson, and Christopher Olah. Changing model behavior at test-time using reinforcement learning. In 5th International Conference on Learning Representations, ICLR 2017, Toulon, France, April 24-26, 2017, Workshop Track Proceedings. OpenReview.net. 2017.[54] Augustus Odena, Dieterich Lawson, and Christopher Olah. Changing model behavior at test-time using reinforcement learning. In 5th International Conference on Learning Representations, ICLR 2017, Toulon, France, April 24-26, 2017, Workshop Track Proceedings. OpenReview.net. 2017.
[55] Augustus Odena, Christopher Olah, and Jonathon Shlens. Conditional image synthesis with auxiliary classifier GANs. In Proceedings of the 34th International Conference on Machine Learning, volume 70 of Proceedings of Machine Learning Research, pages 2642-2651. PMLR. 2017.[55] Augustus Odena, Christopher Olah, and Jonathon Shlens. Conditional image synthesis with auxiliary classifier GANs. In Proceedings of the 34th International Conference on Machine Learning, volume 70 of Proceedings of Machine Learning Research, pages 2642-2651. PMLR. 2017.
[56] Emin Orhan. A simple cache model for image recognition. In Advances in Neural Information Processing Systems, volume 31. Curran Associates, Inc. 2018.[56] Emin Orhan. A simple cache model for image recognition. In Advances in Neural Information Processing Systems, volume 31. Curran Associates, Inc. 2018.
[57] Taesung Park, Ming-Yu Liu, Ting-Chun Wang, and Jun-Yan Zhu. Semantic image synthesis with spatially-adaptive normalization. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recoqnition (CVPR). 2019.[57] Taesung Park, Ming-Yu Liu, Ting-Chun Wang, and Jun-Yan Zhu. Semantic image synthesis with spatially-adaptive normalization. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR). 2019.
[58] Sida Penq, Zhen Xu, Juntinq Donq, Qianqian Wanq, Shanqzhan Zhanq, Qinq Shuai, Hu j un Bao, and Xiaowei Zhou. Animatable implicit neural representations for creatinq realistic avatars from videos. arXiv preprint arXiv:2203.08133. 2022.[58] Sida Penq, Zhen Xu, Juntinq Donq, Qianqian Wanq, Shanqzhan Zhanq, Qinq Shuai, Hu j un Bao, and Xiaowei Zhou. Animatable implicit neural representations for creative realistic avatars from videos. arXiv preprint arXiv:2203.08133. 2022.
[59] Xiaojuan Qi, Qifenq Chen, Jiaya Jia, and Vladlen Koltun. Semi-parametric imaqe synthesis. In Proceedinqs of the IEEE Conference on Computer Vision and Pattern Recoqnition (CVPR). 2 018.[59] Xiaojuan Qi, Qifenq Chen, Jiaya Jia, and Vladlen Koltun. Semi-parametric imaginary synthesis. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR). 2018.
[60] Scott Reed, Zeynep Akata, Xinchen Yan, Lajanuqen Loqeswaran, Bernt Schiele, and Honqlak Lee. Generative adversarial text to image synthesis. In Proceedings of The 33 International Conference on Machine Learning, volume 48 of Proceedings of Machine Learning Research, pages 1060-1069, New York, New York, USA. PMLR. 2016.[60] Scott Reed, Zeynep Akata, Xinchen Yan, Lajanuqen Loqeswaran, Bernt Schiele, and Honqlak Lee. Generative adversarial text to image synthesis. In Proceedings of The 33 International Conference on Machine Learning, volume 48 of Proceedings of Machine Learning Research, pages 1060-1069, New York, New York, USA. PMLR. 2016.
[61] Simone Scardapane, Danilo Cominini el lo, Michele Scarpiniti, Enzo Baccarelli, and Aurelio Uncini. Differentiable branching in deep networks for fast inference. In ICASSP 2020-2020 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP), pages 4167-4171. 2020.[61] Simone Scarpiniti, Danilo Cominini el lo, Michele Scarpiniti, Enzo Baccarelli, and Aurelio Uncini. Differentiable branching in deep networks for fast inference. In ICASSP 2020-2020 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP), pages 4167-4171. 2020.
[62] Simone Scardapane, Michele Scarpiniti, Enzo Baccarelli, and Aurelio Uncini. Why should we add early exits to neural networks? Cognitive Computation, 12(5):954-966. 2020.[62] Simone Scarpiniti, Michele Scarpiniti, Enzo Baccarelli, and Aurelio Uncini. Why should we add early exits to neural networks? Cognitive Computation, 12(5):954-966. 2020.
[63] Edgar Schonfeld, Vadim Sushko, Dan Zhang, Juergen Gall, Bernt Schiele, and Anna Khoreva. You only need adversarial supervision for semantic image synthesis. In International Conference on Learning Representations. 2021.[63] Edgar Schonfeld, Vadim Sushko, Dan Zhang, Juergen Gall, Bernt Schiele, and Anna Khoreva. You only need adversarial supervision for semantic image synthesis. In International Conference on Learning Representations. 2021.
[64] Pourya Shamsolmoali, Masoumeh Zareapoor, Eric Granger, Huiyu Zhou, RuiliWang, M. Emre Celebi, and Jie Yang. Image synthesis with adversarial networks: A comprehensive survey and case studies. Information Fusion, 72:126-146. 2021.[64] Pourya Shamsolmoali, Masoumeh Zareapoor, Eric Granger, Huiyu Zhou, RuiliWang, M. Emre Celebi, and Jie Yang. Image synthesis with adversarial networks: A comprehensive survey and case studies. Information Fusion, 72:126-146. 2021.
[65] Maying Shen, Pavlo Molchanov, Hongxu Yin, and Jose M. Alvarez. When to prune? a policy towards early structural pruning. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), pages 12247-12256. 2022.[65] Maying Shen, Pavlo Molchanov, Hongxu Yin, and Jose M. Alvarez. When to prune? a policy towards early structural pruning. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), pages 12247–12256. 2022.
[66] Yupeng Shi, Xiao Liu, Yuxiang Wei, Zhongqin Wu, and Wangmeng Zuo. Retrieval-based spatially adaptive normalization for semantic image synthesis. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), pages 11224-11233. 2022.[66] Yupeng Shi, Xiao Liu, Yuxiang Wei, Zhongqin Wu, and Wangmeng Zuo. Retrieval-based spatially adaptive normalization for semantic image synthesis. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), pages 11224–11233. 2022.
[67] Emma Strubell, Ananya Ganesh, and Andrew McCallum. Energy and policy considerations for deep learning in NLP. In Proceedings of the 57th Annual Meeting of the Association for Computational Linguistics, pages 3645-3650, Florence, Italy. Association for Computational Linguistics. 2019.[67] Emma Strubell, Ananya Ganesh, and Andrew McCallum. Energy and policy considerations for deep learning in NLP. In Proceedings of the 57th Annual Meeting of the Association for Computational Linguistics, pages 3645-3650, Florence, Italy. Association for Computational Linguistics. 2019.
[68] Christian Szegedy, Wei Liu, Yangqing Jia, Pierre Sermanet, Scott Reed, Dragomir Anguelov, Dumitru Erhan, Vincent Vanhoucke, and Andrew Rabinovich. Going deeper with convolutions. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR). 2015.[68] Christian Szegedy, Wei Liu, Yangqing Jia, Pierre Sermanet, Scott Reed, Dragomir Anguelov, Dumitru Erhan, Vincent Vanhoucke, and Andrew Rabinovich. Going deeper with convolutions. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR). 2015.
[69] Surat Teerapittayanon, Bradley McDanel, and H.T. Kung. Branchynet: Fast inference via early exiting from deep neural networks. In 2016 23rd International Conference on Pattern Recognition (ICPR), pages 2464-2469. 2016.[69] Surat Teerapittayanon, Bradley McDanel, and H.T. Kung. Branchynet: Fast inference via early exiting from deep neural networks. In 2016 23rd International Conference on Pattern Recognition (ICPR), pages 2464-2469. 2016.
[70] Yi-Hsuan Tsai, Xiaohui Shen, Zhe Lin, Kalyan Sunkavalli, Xin Lu, and Ming-Hsuan Yang. Deep image harmonization. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR). 2017.[70] Yi-Hsuan Tsai, Xiaohui Shen, Zhe Lin, Kalyan Sunkavalli, Xin Lu, and Ming-Hsuan Yang. Deep image harmonization. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR). 2017.
[71] Hung-Yu Tseng, Hsin-Ying Lee, Lu Jiang, Ming-Hsuan Yang, and Weilong Yang. Retrievegan: Image synthesis via differentiable patch retrieval. In Computer Vision - ECCV 2020, pages 242-257. Springer International Publishing. 2020.[71] Hung-Yu Tseng, Hsin-Ying Lee, Lu Jiang, Ming-Hsuan Yang, and Weilong Yang. Retrievegan: Image synthesis via differentiable patch retrieval. In Computer Vision - ECCV 2020, pages 242-257. Springer International Publishing. 2020.
[72] Lei Wang, Wei Chen, Wenjia Yang, Fangming Bi, and Fei Richard Yu. A state-of-the-art review on image synthesis with generative adversarial networks. IEEE Access, 8:63514-63537. 2020.[72] Lei Wang, Wei Chen, Wenjia Yang, Fangming Bi, and Fei Richard Yu. A state-of-the-art review on image synthesis with generative adversarial networks. IEEE Access, 8:63514–63537. 2020.
[73] Ting-Chun Wang, Ming-Yu Liu, Jun-Yan Zhu, Andrew Tao, Jan Kautz, and Bryan Catanzaro. High-resolution image synthesis and semantic manipulation with conditional gans. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR). 2018.[73] Ting-Chun Wang, Ming-Yu Liu, Jun-Yan Zhu, Andrew Tao, Jan Kautz, and Bryan Catanzaro. High-resolution image synthesis and semantic manipulation with conditional gans. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR). 2018.
[74] Xin Wang, Yujia Luo, Daniel Crankshaw, Alexey Tumanov, Fisher Yu, and Joseph E Gonzalez. Idk cascades: Fast deep learning by learning not to overthink. arXiv preprint arXiv:1706.00885. 2017.[74] Xin Wang, Yujia Luo, Daniel Crankshaw, Alexey Tumanov, Fisher Yu, and Joseph E Gonzalez. Idk cascades: Fast deep learning by learning not to overthink. arXiv preprint arXiv:1706.00885. 2017.
[75] Z. Wang, E.P. Simoncelli, and A.C. Bovik. Multiscale structural similarity for image quality index assessment. In The Thrity-[75] Z. Wang, E.P. Simoncelli, and A.C. Bovik. Multiscale structural similarity for image quality index assessment. In The Thrity-
Seventh Asilomar Conference on Signals, Systems & Computers, volume 2, pages 1398-1402. 2003.Seventh Asilomar Conference on Signals, Systems & Computers, volume 2, pages 1398-1402. 2003.
[76] Wei Wen, Hanxiao Liu, Yiran Chen, Hai Li, Gabriel Bender,[76] Wei Wen, Hanxiao Liu, Yiran Chen, Hai Li, Gabriel Bender,
and Pieter-Jan Kindermans. Neural predictor for neural architecture search. In Computer Vision - ECCV 2020, pages 660-676. Springer International Publishing. 2020.and Pieter-Jan Kindermans. Neural predictor for neural architecture search. In Computer Vision - ECCV 2020, pages 660-676. Springer International Publishing. 2020.
[77] Maciej Wol czyk, Bartosz W'ojcik, Klaudia Bal azy, Igor T Podolak, Jacek Tabor, Marek ' Smieja, and Tomasz Trzcinski. Zero time waste: Recycling predictions in early exit neural networks. In Advances in Neural Information Processing Systems, volume 34, pages 2516-2528. Curran Associates, Inc. 2021.[77] Maciej Wol czyk, Bartosz W'ojcik, Klaudia Bal azy, Igor T Podolak, Jacek Tabor, Marek ' Smieja, and Tomasz Trzcinski. Zero time waste: Recycling predictions in early exit neural networks. In Advances in Neural Information Processing Systems, volume 34, pages 2516-2528. Curran Associates, Inc. 2021.
[78] Ji Xin, Raphael Tang, Yaoliang Yu, and Jimmy Lin. Berxit: Early exiting for bert with better fine-tuning and extension to regression. In Proceedings of the 16th conference of the European chapter of the association for computational linguistics: Main Volume, pages 91-104. 2021.[78] Ji Xin, Raphael Tang, Yaoliang Yu, and Jimmy Lin. Berxit: Early exiting for bert with better fine-tuning and extension to regression. In Proceedings of the 16th conference of the European chapter of the association for computational linguistics: Main Volume, pages 91-104. 2021.
[79] Qunliang Xing, Mai Xu, Tianyi Li, and Zhenyu Guan. Early exit or not: Resource-efficient blind quality index enhancement for compressed imaqes. In Computer Vision - ECCV 2020, paqes 275-292. Sprinqer International Publishinq. 2020.[79] Qunliang Xing, Mai Xu, Tianyi Li, and Zhenyu Guan. Early exit or not: Resource-efficient blind quality index enhancement for compressed imaqes. In Computer Vision - ECCV 2020, paqes 275-292. Springer International Publishing. 2020.
[80] Jae Shin Yoon, Duyqu Ceylan, Tuanfenq Y. Wanq, Jinqwan Lu, Jimei Yanq, Zhixin Shu, and Hyun Soo Park. Learninq motion-dependent appearance for hiqh-fidelity renderinq of dynamic humans from a single camera. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), pages 3407-3417. 2022.[80] Jae Shin Yoon, Duyqu Ceylan, Tuanfenq Y. Wanq, Jinqwan Lu, Jimei Yanq, Zhixin Shu, and Hyun Soo Park. Learninq motion-dependent appearance for hiqh-fidelity renderinq of dynamic humans from a single camera. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), pages 3407–3417. 2022.
[81] Egor Zakharov, Aleksei Ivakhnenko, Aliaksandra Shysheya, and Victor Lempitsky. Fast bi-layer neural synthesis of oneshot realistic head avatars. In Andrea Vedaldi, Horst Bischof, Thomas Brox, and Jan-Michael Frahm, editors, Computer Vision - ECCV 2020, pages 524-540. Springer International Publishing. 2020.[81] Egor Zakharov, Aleksei Ivakhnenko, Aliaksandra Shysheya, and Victor Lempitsky. Fast bi-layer neural synthesis of oneshot realistic head avatars. In Andrea Vedaldi, Horst Bischof, Thomas Brox, and Jan-Michael Frahm, editors, Computer Vision - ECCV 2020, pages 524-540. Springer International Publishing. 2020.
[82] Egor Zakharov, Aliaksandra Shysheya, Egor Burkov, and Victor Lempitsky. Few-shot adversarial learning of realistic neural talking head models. In Proceedings of the IEEE/CVF International Conference on Computer Vision (ICCV). 2019.[82] Egor Zakharov, Aliaksandra Shysheya, Egor Burkov, and Victor Lempitsky. Few-shot adversarial learning of realistic neural talking head models. In Proceedings of the IEEE/CVF International Conference on Computer Vision (ICCV). 2019.
[83] Renrui Zhang, Rongyao Fang, Peng Gao, Wei Zhang, Kunchang Li, Jifeng Dai, Yu Qiao, and Hongsheng Li. Tip-adapter: Training-free clip-adapter for better visionlanguage modeling. arXiv preprint arXiv:2111.03930. 2021.[83] Renrui Zhang, Rongyao Fang, Peng Gao, Wei Zhang, Kunchang Li, Jifeng Dai, Yu Qiao, and Hongsheng Li. Tip-adapter: Training-free clip-adapter for better visionlanguage modeling. arXiv preprint arXiv:2111.03930. 2021.
[84] Richard Zhanq, Phillip Isola, Alexei A. Efros, Eli Shechtman, and Oliver Wanq. The unreasonable effectiveness of deep features as a perceptual metric. In Proceedinqs of the IEEE Conference on Computer Vision and Pattern Recoqnition (CVPR). 2018.[84] Richard Zhanq, Phillip Isola, Alexei A. Efros, Eli Shechtman, and Oliver Wanq. The unreasonable effectiveness of deep features as a perceptual metric. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR). 2018.
[85] Yufenq Zhenq, Victoria Fern'andez Abrevaya, Marcel C. B"uhler, Xu Chen, Michael J. Black, and Otmar Hilliges. I m avatar: Implicit morphable head avatars from videos. In Proceedinqs of the IEEE/CVF Conference on Computer Vision and Pattern Recoqnition (CVPR), paqes 13545-13555. 2022.[85] Yufenq Zhenq, Victoria Fern'andez Abrevaya, Marcel C. B"uhler, Xu Chen, Michael J. Black, and Otmar Hilliges. I m avatar: Implicit morphable head avatars from videos. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), paqes 13545-13555.
[86] Zeronq Zhenq, Han Huanq, Tao Yu, Honqwen Zhanq, Yandong Guo, and Yebin Liu. Structured local radiance fields for human avatar modeling. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), pages 15893-15903. 2022.[86] Zeronq Zhenq, Han Huanq, Tao Yu, Honqwen Zhanq, Yandong Guo, and Yebin Liu. Structured local radiance fields for human avatar modeling. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), pages 15893–15903. 2022.
[87] Wangchunshu Zhou, Canwen Xu, Tao Ge, Julian McAuley, Ke Xu, and Furu Wei. Bert loses patience: Fast and robust inference with early exit. In Advances in Neural Information Processing Systems, volume 33, pages 18330-18341. Curran Associates, Inc. 2020.[87] Wangchunshu Zhou, Canwen Xu, Tao Ge, Julian McAuley, Ke Xu, and Furu Wei. Bert loses patience: Fast and robust inference with early exit. In Advances in Neural Information Processing Systems, volume 33, pages 18330-18341. Curran Associates, Inc. 2020.
[88] Kevin Cortacero, Tobias Fischer, and Yiannis Demiris. Rtbene: A dataset and baselines for real-time blink estimation in natural environments. In Proceedings of the IEEE International Conference on Computer Vision Workshops.[88] Kevin Cortacero, Tobias Fischer, and Yiannis Demiris. Rtbene: A dataset and baselines for real-time blink estimation in natural environments. In Proceedings of the IEEE International Conference on Computer Vision Workshops.
[88] Tobias Fischer, Hyung Jin Chang, and Yiannis Demiris. RTGENE: Real-Time Eye Gaze Estimation in Natural Environments. In European Conference on Computer Vision, pages 339-357.[88] Tobias Fischer, Hyung Jin Chang, and Yiannis Demiris. RTGENE: Real-Time Eye Gaze Estimation in Natural Environments. In European Conference on Computer Vision, pages 339-357.
[89] Diederik P Kingma and Jimmy Ba. Adam: A method for stochastic optimization. arXiv preprint arXiv:1412.6980.2014.[89] Diederik P Kingma and Jimmy Ba. Adam: A method for stochastic optimization. arXiv preprint arXiv:1412.6980.2014.
[90] Ilya Loshchilov and Frank Hutter. SGDR: stochastic gradient descent with warm restarts. In 5th International Conference on Learning Representations, ICLR 2017, Toulon, France, April 24-26, 2017, Conference Track Proceedings. OpenReview.net.[90] Ilya Loshchilov and Frank Hutter. SGDR: stochastic gradient descent with warm restarts. In 5th International Conference on Learning Representations, ICLR 2017, Toulon, France, April 24-26, 2017, Conference Track Proceedings. OpenReview.net.
[91] Ilya Loshchilov and Frank Hutter. Decoupled weight decay regularization. In International Conference on Learning Representations. 2019.[91] Ilya Loshchilov and Frank Hutter. Decoupled weight decay regularization. In International Conference on Learning Representations. 2019.
Claims (51)
Priority Applications (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202380077935.7A CN120226021A (en) | 2022-11-09 | 2023-11-08 | System and method for obtaining a processed output image with a quality index selectable by a user |
| PCT/IB2023/061253 WO2024100564A1 (en) | 2022-11-09 | 2023-11-08 | A system and a method for obtaining a processed output image having quality index selectable by an user |
| EP23888205.4A EP4519796A4 (en) | 2022-11-09 | 2023-11-08 | System and method for obtaining a processed output image with a user-selectable quality index |
| US18/435,776 US20240177273A1 (en) | 2022-11-09 | 2024-02-07 | System and a method for obtaining a processed output image having quality index selectable by an user |
Related Parent Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| RU2022129040 Substitution | 2022-11-09 | 2022-11-09 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| RU2823750C1 true RU2823750C1 (en) | 2024-07-29 |
Family
ID=
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20200057824A1 (en) * | 2018-08-20 | 2020-02-20 | Sri International | Machine learning system for building renderings and building information modeling data |
| RU2726160C1 (en) * | 2019-04-29 | 2020-07-09 | Самсунг Электроникс Ко., Лтд. | Repeated synthesis of image using direct deformation of image, pass discriminator and coordinate-based remodelling |
| US20220028139A1 (en) * | 2020-07-21 | 2022-01-27 | Adobe Inc. | Attribute conditioned image generation |
| RU2770132C1 (en) * | 2021-03-04 | 2022-04-14 | Самсунг Электроникс Ко., Лтд. | Image generators with conditionally independent pixel synthesis |
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20200057824A1 (en) * | 2018-08-20 | 2020-02-20 | Sri International | Machine learning system for building renderings and building information modeling data |
| RU2726160C1 (en) * | 2019-04-29 | 2020-07-09 | Самсунг Электроникс Ко., Лтд. | Repeated synthesis of image using direct deformation of image, pass discriminator and coordinate-based remodelling |
| US20220028139A1 (en) * | 2020-07-21 | 2022-01-27 | Adobe Inc. | Attribute conditioned image generation |
| RU2770132C1 (en) * | 2021-03-04 | 2022-04-14 | Самсунг Электроникс Ко., Лтд. | Image generators with conditionally independent pixel synthesis |
Non-Patent Citations (1)
| Title |
|---|
| TERO KARRAS et al "ANALYZING AND IMPROVING THE IMAGE QUALITY OF STYLEGAN", опубл. 23.03.2020 га с.21 [Найдено 14.02.2024] URL:https://arxiv.org/pdf/1912.04958.pdf. * |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| Li et al. | Fast video object segmentation using the global context module | |
| Qin et al. | Image inpainting based on deep learning: A review | |
| US20220391678A1 (en) | Neural network model processing method and apparatus, computer device, and storage medium | |
| JP7085600B2 (en) | Similar area enhancement method and system using similarity between images | |
| Yao et al. | Outpainting by queries | |
| Yu et al. | Boosted dynamic neural networks | |
| Chen et al. | Residual pyramid learning for single-shot semantic segmentation | |
| JP2022546271A (en) | Method and apparatus for predicting kernel tuning parameters | |
| Zhang et al. | Pyramid-structured multi-scale transformer for efficient semi-supervised video object segmentation with adaptive fusion | |
| Karpikova et al. | Fiancee: Faster inference of adversarial networks via conditional early exits | |
| Liu et al. | Semanticgan: Generative adversarial networks for semantic image to photo-realistic image translation | |
| RU2823750C1 (en) | System and method for obtaining processed output image having user-selectable quality factor | |
| Wang et al. | EASNet: Searching elastic and accurate network architecture for stereo matching | |
| Yue et al. | Eesrnet: A network for energy efficient super-resolution | |
| Mao et al. | ChaInNet: deep chain instance segmentation network for panoptic segmentation | |
| EP4565973A1 (en) | Table structure recognition | |
| Li et al. | Lightweight human pose estimation using loss weighted by target heatmap | |
| US20240177273A1 (en) | System and a method for obtaining a processed output image having quality index selectable by an user | |
| Wang et al. | Learning 3D semantic reconstruction on octrees | |
| Liang et al. | Semi-supervised video object segmentation based on local and global consistency learning | |
| Hao et al. | Video object segmentation through semantic visual words matching | |
| CN120409567B (en) | Transformer adaptive compression method and system in data-limited scenarios | |
| Hu et al. | RapNet: resolution-adaptive and predictive early exit network for efficient image recognition | |
| KR102424538B1 (en) | Method and apparatus for image restoration | |
| Takano et al. | Generator From Edges: Reconstruction of Facial Images |