|
oloth
 Стаж: 15 лет 7 месяцев Сообщений: 119
|
oloth ·
26-Май-18 19:48
(7 лет 4 месяца назад, ред. 26-Май-18 19:48)
Цитата:
Я с удовольствием готов поменять, если мне нарисовать где, что и на что.
И "исходной 5ГБ модели" мне не надо, у меня 1050 4 гига.
Dimon146, оно влезет в 4 гига, я просто не уверен, что меня потом не закидают грязными тряпками. Я эти циферки тоже вижу от силы 2.5 недели.
Т.к. знаком только с персептроном который бэкпропом обучался и имел сигмойд в качестве активации (видимо теперь его называют Dense, хотя в денсе больше параметров и доступны разные функции активаций). Свётки тогда почемуто или не использовали или сильно скрывали. Так, что, фактически мы за 1 партой сидим. OpenDeepFaceSwap\nnlib\__init__.py сюда добавляем:
Код:
def conv_sep(keras, input_tensor, filters, kernel_size=5, strides=2, **kwargs):
x = input_tensor
x = keras.layers.convolutional.SeparableConv2D(filters, kernel_size=kernel_size, strides=strides, padding='same', **kwargs)(x)
x = keras.layers.advanced_activations.LeakyReLU(0.1)(x)
return x def conv_sep2(keras, input_tensor, filters, kernel_size=5, strides=2, **kwargs):
x = input_tensor
x = keras.layers.convolutional.SeparableConv2D(filters, kernel_size=kernel_size, strides=2, kernel_initializer=keras.initializers.RandomNormal(0, 0.02), use_bias=False, padding="same")(x)
x = keras.layers.core.Activation("relu")(x)
return x
OpenDeepFaceSwap\models\Model_H128\Model.py:
Код:
def Encoder(self, input_layer, created_vram_gb):
"""
Заменяем тамошний Encoder на эту ересь;
можете поиграть с первым Dense, если заработает, потихоньку
увеличив его до 512 (не забывайте только сейвы стирать,
а то не перезапустится)""" x = conv(self.keras, input_layer, 128)
x = conv_sep(self.keras, x, 256-32)
x = conv_sep2(self.keras, x, 512-64)
x = conv_sep(self.keras, x, 1024)
x = self.keras.layers.Dense(384)(self.keras.layers.Flatten()(x))
x = self.keras.layers.Dense(8 * 8 * 512)(x)
x = self.keras.layers.Reshape((8, 8, 512))(x)
x = upscale(self.keras, x, 512) return self.keras.models.Model(input_layer, x)
|
|
CyberDain
Стаж: 13 лет 4 месяца Сообщений: 839
|
CyberDain ·
26-Май-18 20:00
(спустя 12 мин.)
уже давно DeepFaceLab папка. У тебя древняя сборка?
|
|
oloth
 Стаж: 15 лет 7 месяцев Сообщений: 119
|
oloth ·
26-Май-18 20:31
(спустя 30 мин., ред. 26-Май-18 20:31)
CyberDain писал(а):
75412174уже давно DeepFaceLab папка. У тебя древняя сборка?
Не древняя просто папку не менял название, а нужно было? Тот реп уже не поддерживается?
|
|
CyberDain
Стаж: 13 лет 4 месяца Сообщений: 839
|
CyberDain ·
26-Май-18 20:43
(спустя 12 мин.)
репо переименовал же
раздача работает с папкой DeepFaceLab
|
|
oloth
 Стаж: 15 лет 7 месяцев Сообщений: 119
|
oloth ·
26-Май-18 22:18
(спустя 1 час 35 мин., ред. 26-Май-18 22:35)
Спасибо, сделал pull с нового. Хотя вроде бы код был тот же. Там пацаки из faceswap хотят тоже h128, хоть я им и объяснял, что это совершенно невозможно из за отсутствия YAW информации. Общие наблюдения: Чтоб глаза распознавались нужно одно из двух.
- Больше Dense
- Большой batch Чтобы лица не были мутные, нужно:
- шире Conv (не 512 последний, а 768),
- также первый conv, после input должен быть больше чем input, идеально шириной стороны в 2 раза: input 128, Conv(256) Чтобы движения лица морфились натурально src-dst, особенно при отсутствии точно совпадающих src, нужно:
- Один дополнительный Conv слой, т.е. не 4, а 5, обобщение станет выше, и сеть начнёт создавать свои собственные целевые образы.
Для этого слоя нужно пропорционально увеличить Dense, ровно настолько, чтобы не допустить overfitting.
|
|
sanych1010
Стаж: 15 лет 2 месяца Сообщений: 32
|
sanych1010 ·
26-Май-18 22:32
(спустя 13 мин.)
Я на меньших не проверял, Н128 быстрее всех тренирует. за три часа смотрибельный вариант дает.
вот бы тензор кор задействовать - ведь тензорфлоу 1.8 поддерживает. как можно это сделать?
---------------
CyberDain писал(а):
75412027sanych1010 у тебя всё идеально.
Только насчёт 9к dst изображений не уверен. Я не проверял еще длинные 5 мин фейки. Как видно даже 12 гб это только чтобы нормально тренировать H128 =))
|
|
oloth
 Стаж: 15 лет 7 месяцев Сообщений: 119
|
oloth ·
26-Май-18 22:37
(спустя 5 мин.)
sanych1010, может MIAEF256 подкинуть
|
|
sanych1010
Стаж: 15 лет 2 месяца Сообщений: 32
|
sanych1010 ·
26-Май-18 22:45
(спустя 7 мин., ред. 26-Май-18 22:45)
можно подкинуть, но проблема с закрытыми глазами и половиной лица. Н128 более или менее самый удачный. (в моем сценарии)
oloth писал(а):
75413018sanych1010, может MIAEF256 подкинуть 
|
|
oloth
 Стаж: 15 лет 7 месяцев Сообщений: 119
|
oloth ·
26-Май-18 23:14
(спустя 29 мин., ред. 26-Май-18 23:14)
Я PR сделал, если CyberDain одобрит, то добавит. Это собственно же его создание.
Только я не знаю какие параметры нужны для титанов, там наверное надо выкрутить все
слои полноценно. Модель 6GB+
|
|
sanych1010
Стаж: 15 лет 2 месяца Сообщений: 32
|
sanych1010 ·
26-Май-18 23:23
(спустя 8 мин., ред. 26-Май-18 23:23)
|
|
oloth
 Стаж: 15 лет 7 месяцев Сообщений: 119
|
oloth ·
26-Май-18 23:29
(спустя 5 мин.)
А что это даёт, скорость, потребление памяти? Это фишка чисто Вашего ГПУ или для всех будет лучше?
|
|
sanych1010
Стаж: 15 лет 2 месяца Сообщений: 32
|
sanych1010 ·
26-Май-18 23:33
(спустя 4 мин., ред. 26-Май-18 23:33)
|
|
oloth
 Стаж: 15 лет 7 месяцев Сообщений: 119
|
oloth ·
26-Май-18 23:58
(спустя 25 мин., ред. 27-Май-18 00:05)
Ну мы не против, но лично я не знаю как это сделать. Хотя эти "определенных сценариях" скорее всего настолько определённые, что в лучшем случае речь идёт о 5-7% как обычно.
Взять всякие SIMD, например AVX2, и FMA3. Первый по идее должен обрабатывать векторы до 256 элементов за такт, но даже в синтетических условиях никому не удавалось получить прирост выше чем в 3-4 раза при использовании AVX2 (в чисто синтетических тестах). В реальных приложениях это просто крохи, от силы 2-3%. Я тут потомучто я надеюсь изучить Тензорфлоу и Керас. Меня не так сильно интересует фейс свап, сколько управление хотябы виртуальными роботами, используя эволюционные алгоритмы. Думаю, что реализовать зрение можно как раз через Керас. И вообще интересно всё это на ГПУ перенести бы было. Но здесь тоже работы непочатый край с заменой лиц. Я не понимаю, почему замена лица так сильно привязана к face-hull, походит больше на face-fitting с 3д картой.
Я думал максимум что нужно знать предиктору это квадрат, в котором расположено лицо. Здесь конечно есть некое разочарование технологией в целом.
|
|
CyberDain
Стаж: 13 лет 4 месяца Сообщений: 839
|
CyberDain ·
27-Май-18 00:05
(спустя 6 мин., ред. 27-Май-18 00:20)
oloth писал(а):
75412923Спасибо, сделал pull с нового. Хотя вроде бы код был тот же. Там пацаки из faceswap хотят тоже h128, хоть я им и объяснял, что это совершенно невозможно из за отсутствия YAW информации. Общие наблюдения: Чтоб глаза распознавались нужно одно из двух.
- Больше Dense
- Большой batch Чтобы лица не были мутные, нужно:
- шире Conv (не 512 последний, а 768),
- также первый conv, после input должен быть больше чем input, идеально шириной стороны в 2 раза: input 128, Conv(256) Чтобы движения лица морфились натурально src-dst, особенно при отсутствии точно совпадающих src, нужно:
- Один дополнительный Conv слой, т.е. не 4, а 5, обобщение станет выше, и сеть начнёт создавать свои собственные целевые образы.
Для этого слоя нужно пропорционально увеличить Dense, ровно настолько, чтобы не допустить overfitting.
это всё догадки, и без подтверждения в виде сравнительных видео ничего не значат
|
|
oloth
 Стаж: 15 лет 7 месяцев Сообщений: 119
|
oloth ·
27-Май-18 00:15
(спустя 10 мин., ред. 27-Май-18 00:15)
Цитата:
это всё догадки, и без подтверждения в виде сравнительных видео ничего не значат
Это без проблем, но Трампа я выкладывать не буду, мало ли что, нам нужно выбрать нейтральные образцы для тестов;)
Насколько реально потратить время на добавление super-resolution? Как я уже писал, стоит использовать самый простой из всех предложенных тензоров.
По возможности запускать его на CPU, так как ГПУ уже забит по максимуму. Мне кажется, что этот шаг для всех, возможно очень сильный шаг.
Может быть я смотрю неверно на задачу Фэейс Сваппинга, однако по мне все эти несовпадение "морганий" глаз не так важны (никто же не знает, сколько оригинал там наморгал).
Однако но как только аудитория увидит щетину Кэйжа на Вашем след. примере, все остальные пакеты faceswap автоматически устареют.
|
|
CyberDain
Стаж: 13 лет 4 месяца Сообщений: 839
|
CyberDain ·
27-Май-18 00:22
(спустя 7 мин., ред. 27-Май-18 00:22)
oloth писал(а):
Это без проблем, но Трампа я выкладывать не буду, мало ли что, нам нужно выбрать нейтральные образцы для тестов;)
Кейдж-Трамп это как раз уже стандарт, шаонлу, df, fakeapp, faceswap репы содержат кейдж трамп примеры. Также в других репах так или иначе связанных с фотками тоже встречал кейдж трампа.
К тому же я уже натренил H128 и LIAEF128 на 100к эпох кейджа, поэтому сравнить намного проще, чем ты будешь заново трейнить какой-то свой сет и проверять.
-
nfloat=16 исключено, я уже писал. Я не буду тратить время ради одного чела с этой гпу, к тому же результат может оказаться говном, т.к. 16 флоат это очень маленькая размерность числа, возможно она вообще не годится для изображений.
oloth писал(а):
Я тут потомучто я надеюсь изучить Тензорфлоу и Керас. Меня не так сильно интересует фейс свап, сколько управление хотябы виртуальными роботами, используя эволюционные алгоритмы. Думаю, что реализовать зрение можно как раз через Керас. И вообще интересно всё это на ГПУ перенести бы было. Но здесь тоже работы непочатый край с заменой лиц. Я не понимаю, почему замена лица так сильно привязана к face-hull, походит больше на face-fitting с 3д картой.
Я думал максимум что нужно знать предиктору это квадрат, в котором расположено лицо. Здесь конечно есть некое разочарование технологией в целом.
эм ... зрение реализуется через opencv на том же питоне. OpenCV оно и зовется (Open Source Computer Vision Library) В opencv полно готовых фич для комп зрения. Начинать нужно с него.
Лица можно трейнить конечно и через просто квадраты, причем даже не выравнивать по центру, только как ты очистишь потом лишний фон вокруг оригинального кейджа автоматически?
|
|
Dimon146
Стаж: 17 лет 8 месяцев Сообщений: 123
|
Dimon146 ·
27-Май-18 00:53
(спустя 30 мин., ред. 27-Май-18 00:53)
oloth писал(а):
75412072
Цитата:
Я с удовольствием готов поменять, если мне нарисовать где, что и на что.
И "исходной 5ГБ модели" мне не надо, у меня 1050 4 гига.
Dimon146, оно влезет в 4 гига, я просто не уверен, что меня потом не закидают грязными тряпками. Я эти циферки тоже вижу от силы 2.5 недели.
Т.к. знаком только с персептроном который бэкпропом обучался и имел сигмойд в качестве активации (видимо теперь его называют Dense, хотя в денсе больше параметров и доступны разные функции активаций). Свётки тогда почемуто или не использовали или сильно скрывали. Так, что, фактически мы за 1 партой сидим. OpenDeepFaceSwap\nnlib\__init__.py сюда добавляем:
Код:
def conv_sep(keras, input_tensor, filters, kernel_size=5, strides=2, **kwargs):
x = input_tensor
x = keras.layers.convolutional.SeparableConv2D(filters, kernel_size=kernel_size, strides=strides, padding='same', **kwargs)(x)
x = keras.layers.advanced_activations.LeakyReLU(0.1)(x)
return x def conv_sep2(keras, input_tensor, filters, kernel_size=5, strides=2, **kwargs):
x = input_tensor
x = keras.layers.convolutional.SeparableConv2D(filters, kernel_size=kernel_size, strides=2, kernel_initializer=keras.initializers.RandomNormal(0, 0.02), use_bias=False, padding="same")(x)
x = keras.layers.core.Activation("relu")(x)
return x
OpenDeepFaceSwap\models\Model_H128\Model.py:
Код:
def Encoder(self, input_layer, created_vram_gb):
"""
Заменяем тамошний Encoder на эту ересь;
можете поиграть с первым Dense, если заработает, потихоньку
увеличив его до 512 (не забывайте только сейвы стирать,
а то не перезапустится)""" x = conv(self.keras, input_layer, 128)
x = conv_sep(self.keras, x, 256-32)
x = conv_sep2(self.keras, x, 512-64)
x = conv_sep(self.keras, x, 1024)
x = self.keras.layers.Dense(384)(self.keras.layers.Flatten()(x))
x = self.keras.layers.Dense(8 * 8 * 512)(x)
x = self.keras.layers.Reshape((8, 8, 512))(x)
x = upscale(self.keras, x, 512) return self.keras.models.Model(input_layer, x)
Извини, но я нифига не понял. У меня и папок таких нет. Вы тут, для меня, на птичьем языке говорите.
Разные у нас парты. Ты на первой, отличник, об энкодерах думаешь, а я с бодуна, на последней, на "чукотке", о сисястых одноклассницах.
|
|
CyberDain
Стаж: 13 лет 4 месяца Сообщений: 839
|
CyberDain ·
27-Май-18 10:07
(спустя 9 часов, ред. 27-Май-18 10:07)
oloth прекращай делать пуллы =) я не буду захламлять репу бесполезными вещами. вощем фигня этот суперрес. Если тренить на оригинальной фотке с потерями через bilinear, то чтобы заметить разницу надо сильно всматриваться, обычный sharpen сделает то же самое.
Если тренить на предсказанное src -> оригинальное src, то всюду клетчатые артефакты и смещения содержания, т.к. предсказанное не совпадает с оригинальным + цветовая харка портится в оригинал.
на сим заканчиваю с этим
|
|
Dimon146
Стаж: 17 лет 8 месяцев Сообщений: 123
|
Dimon146 ·
27-Май-18 13:29
(спустя 3 часа, ред. 27-Май-18 13:29)
CyberDain, подскажи пожалуйста.
Попадаются персонажи где важны характерные брови. Конвертация по умолчанию, их в основном съедает, приходится вручную, поэтому ряд вопросов.
Исходник, -
Трампа нет, женщин очень люблю. 
Модель в просчете loss 0,09, не готова еще и возьму худший из кадров. Choose mode: (1) hist match, (2) hist match bw, (3) seamless (default), (4) seamless hist match :
По умолчанию, -
При выборе (1) - идеальный результат по совпадению освещенности, контраста, цветности.
но если даешь увеличение (для наглядности значения максимальные) в
Choose erode mask modifier [-100..100] (default 0) : +100
сходство, понятно, уменьшается
при минус 100 то вылазят артефакты
при сглаживании -100
при сглаживании +200 получаю такое
при выборе в Choose mode: (1) hist match, (2) hist match bw, (3) seamless (default), (4) seamless hist match :
пункта (4) при увеличении (-100) получаем
получше чем "всё по умолчанию", но парит затемнения внизу справа и потеря контрастности, которых нет при выборе (1).
Посему, вопрос чайника, -
а) это всё как-то можно победить?
б) есть подозрение, что это можно победить в
Цитата:
Masked hist match? [0..1] (default - model choice) : Для режимов (1) hist match, (2) hist match bw указывает, уравнивать ли гистограмму по маске лица. По-умолчанию нажав ентер - отдаёт решение конкретной модели.
Тут не очень понял.
[0..1] - это значения от нуля до единицы или только "0" и "1"? Или применять (1) и (2), что ниже строки в описании?
Заранее спасибо.
|
|
CyberDain
Стаж: 13 лет 4 месяца Сообщений: 839
|
CyberDain ·
27-Май-18 13:47
(спустя 17 мин.)
я же говорил у тебя урезанная модель из-за малой памяти. Тут ничего не победить. Даже 64 сделает в той области темнее засчет волос.
|
|
Dimon146
Стаж: 17 лет 8 месяцев Сообщений: 123
|
Dimon146 ·
27-Май-18 14:28
(спустя 41 мин.)
CyberDain писал(а):
75416035я же говорил у тебя урезанная модель из-за малой памяти. Тут ничего не победить. Даже 64 сделает в той области темнее засчет волос.
Понял.
А с этим как?
Цитата:
[0..1] - это значения от нуля до единицы или только "0" и "1"? Или применять (1) и (2), что ниже строки в описании?
|
|
sanych1010
Стаж: 15 лет 2 месяца Сообщений: 32
|
sanych1010 ·
27-Май-18 15:05
(спустя 37 мин.)
скажите, а почему при запуске конверт. скрипт хочет цпу?
|
|
oloth
 Стаж: 15 лет 7 месяцев Сообщений: 119
|
oloth ·
27-Май-18 16:22
(спустя 1 час 16 мин., ред. 27-Май-18 16:37)
CyberDain писал(а):
75414364oloth прекращай делать пуллы =) я не буду захламлять репу бесполезными вещами. вощем фигня этот суперрес. Если тренить на оригинальной фотке с потерями через bilinear, то чтобы заметить разницу надо сильно всматриваться, обычный sharpen сделает то же самое.
Если тренить на предсказанное src -> оригинальное src, то всюду клетчатые артефакты и смещения содержания, т.к. предсказанное не совпадает с оригинальным + цветовая харка портится в оригинал.
на сим заканчиваю с этим
Я всё понял про пуллы, не буду.
Супер-рес идея такая:
Тренировка осуществляется на исодных src+dst, а применяется на стадии наложения лица на предсказанном векторе. Если можно скиньте мне наброски вашего кода, я постараюсь по мере сил и возможности довести до безартифактного состояния.
На счёт цвета это не так критично, так как большинство использует history match.
|
|
CyberDain
Стаж: 13 лет 4 месяца Сообщений: 839
|
CyberDain ·
27-Май-18 16:35
(спустя 13 мин., ред. 27-Май-18 16:35)
я и применяю это по сути на стадии наложения, только уже в превью, т.е. то что выходит увеличиваю до 128.
хочешь копайся https://paste.ofcode.org/bFTy4bsNpn7P6VMTikqLdk - работает только с последним коммитом
но как по мне это пустая трата сил
|
|
oloth
 Стаж: 15 лет 7 месяцев Сообщений: 119
|
oloth ·
27-Май-18 18:47
(спустя 2 часа 12 мин., ред. 27-Май-18 18:47)
CyberDain, большое спасибо!
Супер рес должен работать с любыми данными, даже не присутствовавшими в его тренировке и не должен создавать артефактов.
Это перспективное направление в face swaping. Даже рабочий GAN сам по себе не изменит ситуацию, так как сохранит недостатки всех моделей низкого разрешения, а именно отсутствие деталей.
По моему опыту LIAEF* существенно лучше более древних моделей, типа H128, ну разве, что DF что-то может, но он тоже устарел. Самый хороший результат мне удалось достичь на LIAEF128, где порой предиктор выдаёт картинки более высокой чёткости, чем исходные src и dst (я сам офигел).
Остальные модели - legacy из faceswap, которому даже Ваша маска не поможет.
*LIAEF128* версии быстрее, чище, с более высокой резкостью и лучшим обобщением.
PS: Вы проделали огромную работу, возможно стоит добавить ГУИ и организовать Патреон. Я знаю, что Вы не любитель ГУИ, но народ любит красивые кнопочки, "консоль" труднее продать. Мне, то вообще батники больше нравятся, ткнул 1 файл и сразу всё готово, не ищещ ненужные опции, кнопки, и прочую чушь.
Я бы хотел сделать форк Вашей ветки с GUI и возможностью изменять количество слоёв и размерность, если время будет, но придётся делать ре-факторинг. По этому поводу хотел спросить, есть ли добро на создание форков? Мне никакие свои копирайты не нужны, я бы его выложил в этой же ветке. Всё исключительно используется в лично-образовательных целях.
* Весь faceswap написан не совсем в Питоновском стиле, многое из чего перекочевало сюда. FS изначально произошел видимо из ветки /deepfakes/, и его код был написан учёными, которые к сожалению не очень хорошо представляли себе программный инженериниг на питоне.
** Один из жестких примеров FS кода это их list(scandir(...)), scandir (кстати он встроен в Питон с версии 3.5) - это ультра быстрый генератор, который отдаёт только указатели на DirEntry по одному. Это сделано, чтобы не делать лишние запросы к Ядру для каждого файла, что очень медленно, если файлов сотни тысяч. FS здесь прям прям сразу list()ом его кроет=) Могли бы просто сделать os.listdir(), который тоже генератор, но отдаёт имена файлов.
|
|
CyberDain
Стаж: 13 лет 4 месяца Сообщений: 839
|
CyberDain ·
27-Май-18 19:17
(спустя 29 мин., ред. 27-Май-18 19:17)
Я GAN128 от шаонлу не понимаю сути откуда модель будет брать маску лица из ниоткуда по той loss функции, что предоставлена. Там что-то вроде поиск маски которая после наложения на предсказанный сэмпл + всё остальное по инвертированной маске входного искаженного сэмпла = должна давать истиный сэмпл. С т.з. логики эта хрень не должна учить никакую маску лица, потому что нейронки учат только то, что им скажут. Вощем поэтому на всех моих сетах, которые я тестил эта маска расплывается и не учит лицо.
H128 хороша на женских лицах в анфас, которые мало поворачиваются и по бокам закрываются волосами + детализации и предсказание глаз лучше, типо такого https://www.youtube.com/watch?v=dh-QM54RuAs
Ты волен делать, что угодно любой форк.
Про GUI я уже упоминал, что с ним будет 3 окна: гуй, консоль и окно превью. Очень много окон. Внедрить консоль в гуй не получится, потому что когда ты закроешь гуй не с нормальным завершением, а к примеру через килл или по еще какой причине, то дочерние процессы не закроются и будут висеть. Можно через адский изврат с дополнительной прогой которая будет контролировать и включен ли гуй и запускать дочерние процессы работая посредником, но тогда это перестанет быть портативным для линукс пользователей.
Так что гуй нафиг не нужен.
Если некуда девать энергию лучше изучай статьи по нейронкам из arxiv, ну или комп зрение.
Тут суть такова что эта сфера фейков сейчас всё равно для тех кто готов потратить много времени, здесь нет кнопки "сделать всё хорошо, выложить на ютуб и получить много лайков". А те кто готов потратить время на изучение программы - им и не сложно будет разобраться с батниками.
|
|
oloth
 Стаж: 15 лет 7 месяцев Сообщений: 119
|
oloth ·
27-Май-18 20:23
(спустя 1 час 5 мин., ред. 27-Май-18 20:50)
CyberDain, Спасибо за развёрнутый ответ. Я так понял, что артефакты мозаики на super-res возникают в процессе нарезки исходника на входные окна или predict выдаёт края такие, видимо по краям они либо интерполируются либо вовсе чёрные. Но классно, что Вы прям раз сходу предоставили модель без лишних разговоров, более того она рабочая.
Постараюсь Вас больше без необходимости не тревожить. Единственное я обещал некие сравнительные видео, если будет, что показать я обязательно выложу. Вообще я работал над разработкой QT приложений с активным применением мультипроцессинга в питоне, я не помню, чтобы там зомби процессы потом висели. Но кто знает, можетбыть и так. Как раз целевыми ОС были MacOS и Linux, а Windows только по остаточному принципу. Что касается отлова вывода от дочерних процессов реальном времени я это делал постоянно, хотя в принципе можно и оставить окно консоли - оно никому не мешает. Но это так мысли в слух. Гуй он нам с Вами не нужен совершенно согласен, большинтство юзверов привыкло к нему. Preview и другие графики можно рисовать прямо из векторов в окошко QT. Но это опять мысли вслух. Большое спасибо за помощь, поддержку, и крутой пакет замены лиц!
|
|
CyberDain
Стаж: 13 лет 4 месяца Сообщений: 839
|
CyberDain ·
27-Май-18 20:34
(спустя 10 мин.)
то что я предоставил выше - оно учит увеличивать четкость предсказанного на оригинал.
Для мутного оригинала на четкий оригинал надо изменить код.
|
|
oloth
 Стаж: 15 лет 7 месяцев Сообщений: 119
|
oloth ·
27-Май-18 20:55
(спустя 21 мин., ред. 27-Май-18 21:00)
Цитата:
то что я предоставил выше - оно учит увеличивать четкость предсказанного на оригинал.
Нужно просто rescale x2, увеличение чёткости это уже второй шаг, которым можно пренебречь. Мы предполагаем изначально, что у нас картинка чёткая, но низкого разрешения.
Как они делают:
- режут исходники на квадратики 32 и 64
- Показывают матрице вход и выход
Как они собирают при предикте я не смотрел ещё, но определённо у них нет рваных краёв.
Но свёртки у них совсем маленького размера, в их задачу определённо не входит выучить все изображения, а только запомнить всевозможные огрызки, чтобы побить bilinear и bicubic.
|
|
CyberDain
Стаж: 13 лет 4 месяца Сообщений: 839
|
CyberDain ·
27-Май-18 20:57
(спустя 1 мин., ред. 27-Май-18 20:57)
рваных краев нет, если обучать на реконструкцию того же изображения из мути. Но результат я говорю что не сильно отличается от шарпен.
|
|
|