Гайд на основные Функции DAIN-APP V0.36 от 11.03.2020
Само приложение: https://grisk.itch.io/dain-app
ГАЙД ОТ ЛАМЕРА-ДЛЯ ЛАМЕРОВ! ГЛУБОКОГО ВНИКАНИЯ И РОСПИСИ ЗАТРАТ ПАМЯТИ ТУТ НЕТ!
Программа использует память видеокарты. Нужна Куда(загугли).
ОКНО ДИАЛОГА
юзер-фнедли интерфейс для настройки
1)
1.1)Input Video- Процессировать видео
1.2)Input PNG Sequense- Процессировать выделенную последовательность изображении.
1.3)Resume render- Продолжить прерванный ранее рендер.
2)
2.1)Inpute file(s)- Выбрать нужный фаил.
2.2)Export as...- Экспортировать как Mp4, GIF, WebM, APNG.
2.3)Output Folder- Указать место, в котором программа создаст 3 папки: оригинальные кадры, интерполированные кадры, результат.
3)Mode.
3.1)Mode 1: all( frames treated the same)- Все, новые и старые, кадры будут использованы в конечном результате. Дефолтная настройка. Средняя ресурсоёмкость. Не меняет скорость результата.
3.2)Mode 2: Remove duplicate frames( may alter animation speed)- Не будут сгенерированы одинаковые кадры. Скорость анимации может изменится. Самая маленькая ресурсоёмкость.
3.3)Mode 3: Adaptive record timestamps them remove duplicate frames.- Каждый кадр будет на своём месте во времени(timespamp), а потом программа попробует угадать сколько кадров между ними нужно создать. Наименее полезен и стабилен. Высокая ресурсоёмкость. Не смотря на описание, скорость результата часто меняется.
3.4)Mode 4: Static record timestamps them remove duplicate frames.- Мод 3, но программа создаст только указанное количество кадров. Не всегда полезен. Средняя ресурсоёмкость. Не меняет скорость результата.
4) Depth Awareness Mode.
4.1)Real life or 3D- Для видео с четкой глубиной.
Сartoon or Anime- Для анимации и аниме без глубины, или её практическим отсутствием.
4.2)Alpha transparency- Будут ли сгенерированые кадры иметь полупрозрачные переходные части.
No alpha- функция отключена
Fast alpha- Менее ресурсоёмкий вариант, результат будет немного хуже.
Fast alpha- Более ресурсоёмкий вариант, наиболее качественный результат.
4.3) Interpolation Algorithm.
Default- Стандартные х2, х4 и х8 функции интерполяции. Меньшие затраты памяти, медленнее более чистые результаты.
Experimental- Эксперементальные функции интерполяции. Быстрее, больший расход памяти, генерирует больше артефактов. Не доступна (4.2).
5)
5.1) Input FPS- Количество кадров в секунду орицинального файла\фаилов.
5.2) Interpolate 2x/4x/8x- Увеличить изначальное кадры в такое количество раз.
5.3) Output FPS- Расчетное количество кадров конечного результата, всегда округляется до целых после конца рендера.
6) Split frames into sections- Использовать, если не хватает памяти. При рендере программа будет разделять каждый кадр на части с указанными размерами(6.1) и (6.2). Снижает расход ресурсов, но сильно замедляет процесс.
6.1) Section size- Размер секции. Т.е. Если указать 500, то разделение будет идти на секции 500х500 пикселей, при этом создаст четыре версии в зависимости от (6.2).
6.2) Section Padding- Переменная, которая определяет четые вариации (6.1). Т.е, при указании (6.1)=500, и (6.2)=200, будут такие четыре варианта: 500х500, 200х500, 500х200, 200х200. Такими секциями программа будет обрабатывать кадры, начиная с максимального количества больших секции, и постепенно уменьшая их размер.
7)
7.1) Downscale video- Уменьшает размер результата. Указывать в виде ХнаХ(500х500) пикселей.
7.2) Don't interpolate scene changes- При обнаружении резкой смены изображения(перехода сцены), программа не будет интерполировать переход между ними.
8)
8.1) Clean interpolated folder before starting- Программа очистит папку с интерполированными кадрами при старте следующего рендера с теми же (2.3). Я постоянно использую при работе на трудной гифкой, которую нужно переделывать не один раз.
8.2) Limit color palette to use only original colors- При рендере программа будет использовать только оригинальную палитру цветов файла. Анимации могу использовать (4.2) только с этой функцией. Я включаю всегда.
8.3) Create a output with audio- Результат сохранит изначальное аудио. Работает нормально только с (3.1) и (3.4). Не стабильная эксперементальная функция.
8.4) Perfect loop animation- Анимация будет идеально закольцована. Использовать, если оригинал это подразумевает.
9) If FPS exceed this value. Create another version with this FPS.- Если ФПС перейдет это значение(9.1), создать версию с этим [ФПС](9.1).
9.1) [FPS]= - переменная, определяющая предел ФПС.
9.2) (If FPS exceeds [FPS]) Create a [FPS] version of movie- Если был превышен лимит (9.1), то сгенерировать дополнительную версию с указанным ФПС(9.1) в виде видео.
9.2) (If FPS exceeds [FPS]) Interpolate down to [FPS] [Conf 1: Smooth]- Если был превышен лимит (9.1), то сгенерировать версию с указанным ФПС(9.1). Будет задействована первая конфигурация. Результат будет более плавным.
9.3) (If FPS exceeds [FPS]) Interpolate down to [FPS] [Conf 2: Sharp]- Если был превышен лимит (9.1), то сгенерировать версию с указанным ФПС(9.1). Будет задействована Вторая конфигурация. Результат будет более резким.
10)
10.1)Preform all steps: Render- полностью выполнит процесс рендера.
10.2)Step 1: Split source video into frames- Только разделит фаил на кадры, создаст папку (2.3), и поместит их туда.
10.3)Step 2: Feed sorce frames to DAIN- Начинает процесс интерполяции оригинальных кадров и генерацию новых.
10.4)Step 3: Convert DAIN frames to video- Сшивание сгенерированных кадров в (2.2).
ОКНО ПРОЦЕССА
Говорить тут особо неочем: подробности процесса, количество готовых кадров.
Ну, вот вроде и все. Учтите, что универсальных настроек не существует, и почти всегда надо будет шаманить для лучшего результата.
Подробнее
DAIN-APP 0.36 #DAINAPP (§) Input Video (s) O Input PNG Sequence O Resume Render Input File(s) Input File(s) Path Export as Mp4 V Output Folder Selected Output Folder Frames Handling Mode: In this mode: Each frame will appear for the exatiy the same time in the output. If the animation have variable ffamerate (gifs) it can alter the animation speed and timing. Mode 1: Default (all frames treated the same) V Depth Awareness Mode: Alpha Transparency [GIF need Limit Color pallet to show alpha]: Interpolation Algorithm: Real life or 3D: Media with clear depth perception. V No Alpha V Default: 2X/4X/8X; Less Memory; Slower; Cleaner Results V InputFPS: Interpolate 2X Output FPS: A section size of 500 will split the frame into smaller images of Width 500px and height 500px. Ex: In a 700w 700h image. It will create four splits: 500w500h / 200w500h / 500w200h / 200w200h For the padding, each of those splits will have this extra area in pixels to each side. Interpolation can be glitched in the border, so padding extend this border. After interpolation the padding is removed, since it will be filled with glitchs and the splits are put together. |—| Split frames into sections. — [Only use this if you get OutOfMemory error] Section Size: 500 Section Padding: 200 □ Downscale Video: New Height: I I Don't interpolate scenes changes Detection sensitivity: 10 Verify Scenes Changes f~| Clean interpolated PNG folder before starting. □ Limit Color Palette to only use original colors. [Sometimes work better with pixelart] □ Create a output with audio. □ Perfect loop animation [The animation repeat in a perfect loop] If FPS exceeds this value. Create another version with this fps. [FPS] = f~| (If FPS exceeds [FPS]) Create a [FPS] version of movie. 60 f~| (If FPS exceeds [FPS]) Intepolate down to [FPS] [Conf 1: Smooth] f~| (If FPS exceeds [FPS]) Intepolate down to [FPS] [Conf 2: Sharp] 0% Perform all steps: Render Step 1: Split source video into frames Step 2: Feed source frames to DAIN Step 3: Convert DAIN frames to video
DAINAPP I:/Users/Danila/Pictures ;lain Folder: C:/Users/Danila/Pictures/m_4528ddlc2a/ Zonf. Method: 1 Fhe testing model weight is: ./model_weights/best.pth Starting PNG frames extraction! Finished PNG frames extraction! Starting Interpolation! taking Frame 1 from 2: 50.0% Ending Interpolation! Mow creating the video! Driginal FPS: 25.0 lotal frames Original: 2 lotal frames interpolated: 2 Final FPS: 25.0 Interpolation Folder: C:/Users/Danila/Pictures/m_4528ddlc2a/interpolated_frames/ Dutput Video: C:/Users/Danila/Pictures/m_4528ddlc2a/output_videos/25fps_m_4528ddlc2a.gif 7ideo finished! [ 'C:/Users/Danila/Pictures/giphy.gif’] Input FPS: 25.0 Main Folder: C:/Users/Danila/Pictures/giphy/ Zonf. Method: 1 Fhe testing model weight is: ./model_weights/best.pth Starting PNG frames extraction! Finished PNG frames extraction! Starting Interpolation! taking Frame 1 from 73: 1.36986301369863% taking Frame 2 from 73: 2.73972602739726% taking Frame 3 from 73: 4.10958904109589% taking Frame 4 from 73: 5.47945205479452%
интерполяция,гайд,гайды,длиннопост,программирование,geek,Прикольные гаджеты. Научный, инженерный и айтишный юмор,песочница
какая ирония
никто не поймет
File "my_design.py", line 496, in StartRender
File "my_DAIN_class.py", line 1269, in RenderVideo
File "my_DAIN_class.py", line 647, in Configure
File "networks\DAIN.py", line 48, in __init__
File "PWCNet\PWCNet.py", line 543, in pwc_dc_net
File "PWCNet\PWCNet.py", line 144, in __init__
File "site-packages\torch\cuda\__init__.py", line 193, in _lazy_init
RuntimeError: generic_type: cannot initialize type "_CudaDeviceProperties": an object with that name is already defined
https://discord.gg/fF7rcgS
Основная проблема - у меня уже есть 20 гигов png'шек с исходного материала, которые я фильтранул в ESRGAN
Но DAIN упорно не хочет брать их в работу прямо из этой папки.
Он начинает работать только когда сам себе в другую папочку с чуть другими названиями файлов скопирует эти 20 Гб файликов, потом их обработает, создаст ещё 40 Гб файликов, из которых потом сделает видео.
Нету возможности подсунуть ему уже готовые пнгшки без необходимости их копировать
И нет возможности на выходе получить не видео, а набор картинок для полследующей обработки опять в ESRGAN
В итоге программа сжирает лишних 40-80Гб места и соответствующего времени на копирования одной и той же информации туда сюда