Skip to content

dmitrymailk/auto_remaster

Repository files navigation

AUTO GAME REMASTER

25.11.24 (showcase 7)

  • showcase_7.mp4
  • showcase_7_1.mp4

Понизил уровень шума в VEnhancer до 5 и увеличил параметр s_cond до 2. Сделал fps на выходе и входе равными, это дало мне возможность сохранить пареллельные SDXL изображения. Затем попробовал смешать асфальт из выхода SDXL с VEnhancer, с этим очень сильно помог компонент "Mask Gaussian Region", он сделал смешение картинок очень плавным. Еще попробовал применить фильтр смешения через цвет для растительности, на отдельных кадрах удалось вернуть цвет из SDXL, но на видео как по мне это добавило больше ряби, но зато убрало желтизну.

22.11.24 (showcase 6)

  • showcase_6_1.mp4
  • showcase_6_2.mp4
  • showcase_6_3.mp4

Случайно узнал что шейдеры глубины не работают с reshade, если включено сглаживание в игре. Отключил, заработало. Написал по этому поводу canny шейдер, который берет за основу normal map, это позволило получить очень четкие грани на 3D объектах. Потом применил control nets для canny фильтров на основе обычной картинки из игры, картинки canny с normal map и сам normal map. В результате автомобили больше не появляются из неоткуда случайно, их очертания уже видны из далека. И в целом это наконец подходит стилистике фото, снятых на айфон первых версий или старую камеру из 2000-2004.

Скорее всего деревья не получится сделать более детальными, иначе тогда они будут отличаться от кадров и не учитывать движение игрока, в целом как и все остальные объекты. Максимум что можно улучшить это тектуру асфальта и автомобиля, которым мы управляем. Для остального уже будут нужны видео-модели.

17.11.24 SDXL+ControlNet+Reshade canny shader -> SAM2+Flux+Controlnet fix cars -> Venhancer -> Upscale By mask

Попробовал исправить деформацию автомобилей путем вырезки их из оригинального изображения и вставки в уже стилизованную. А потом чтобы сгладить углы я использовал FLUX на низких параметрах денойзинга с controlnet. Ссылка. Не сказал бы что результат стал лучше. Также после этого сгладил картинку при помощи Venhanver, и убрал мыло с нижней части картинки используя ReFocus-V3, чтобы создать иллюзию плохого зрения(ну типа машина и объекты вблизи четкие, а дальше уже мыло).

Конечным результатом не доволен, считаю что нужно лучше дождаться нормальных controlnets для cogvideoX или mochi-gen1, потому что как заниматься покадровой анимацией занятие тупиковое, насколько я понял смотря форумы этой тематики последний месяц.

Чтож сфокусируюсь на разработке удобного интерфейса, для того чтобы было максимально эффективно и удобно доставать и менять кадры из игры при помощи python\c++.

11.11.24 SDXL+ControlNet+Reshade canny shader+FLUX upscaler -> Venhancer

Venhancer

SDXL+ControlNet+Reshade canny shader+FLUX upscaler

Разделил экран на 4 части при помощи шейдера и применил только для одного из них canny shader. Конечно от этого немного пострадала точность, но картинка не слишком ухудшилась. Также попробовал применить flux upscaler, картинка местами превратилась тупо в кино. Также попробовал поиграть с гиперпараметрами Venhancer, убрал промпт, понизил количество шагов, по итогу картинка перестала сильно изменяться, а ждать эту обработку не полтора часа как раньше, а всего 2 минуты. Вот с таким пайплайном уже можно говорить об оффлайн рендеринге для дистилляции. Также попробовал заменить SDXL на FLUX, не получается. Картинка все время становится намного хуже, хоть и не разлетается в стороны как с SDXL, наверное отложу это на потом.

Получилось завести PyHook для Reshade. Оказывается, какой-то чел дропнул бинарь для внедрения нейронок, да и вообще любого кода в пайплайн любых игр. Увидел 10 фпс в постобработке, расстроился и пропал, я так и не нашел никакой инфы где он. Какое счастье что у меня 4090 и на дворе век победившего torch.compile. Однако пока я пробовал лишь на своей 3050ti, и это расширение дает падение фпс с 44 до 24, при работе простого Sobel фильтра на GPU c pytorch.

Хотя не думаю что это большая проблема, главное что я теперь могу в реалтайме обрабатывать картинки из игры на pytorch и передавать их дальше. Скорость уже не так важна. Главное теперь воткнуть любую нейронку чтобы она выдавала 30фпс, а потом уже плотно заняться стабилизацией изображения.

07.11.24 SDXL+ControlNet+Reshade canny shader -> Venhancer

SDXL video + Venhancer

Venhancer

SDXL

Original

SDXL+ControlNet+Reshade

Моя гипотеза о том что canny фильтр из шейдера стабилизирует картинку оказалась верна. Пришлось заменить некоторые control nets и добавить несколько лор, чтобы сделать картинку более интересной, но теперь объекты в далеке расплываются гораздо меньше. В основном от этого страдают машины, наверное если написать шейдер который будет делать больший акцент на них, то всё решится. Также в моем пайплайне нет лор заточенных на автомобили, что могло бы(возможно) сделать их очертания более адекватными.

Проблема записи видео совместно с шейдером остается актуальной. На данный момент я написал тупой скрипт, который очень часто делает скриншоты через Reshade, однако даже на моем самом мощном ПК это выдает 10-12 фпс в лучшем случае. Как повысить производительность? Я думаю это можно сделать, например, через форк от Reshade и дописать функцию для записи видео, вот тут делается скрин.

Однако это не решит того что мне не нужно применять шейдер для игрока, только взять результат вычисления.

05.11.24 Venhancer, Mochi

Venhancer

Mochi

Original

На мой взгляд Venhancer справляется намного лучше чем mochi, хотя в обеих моделях я недостаточно экспериментировал над промптами и гиперпараметрами.

Картинка стала намного стабильнее, больше нет раздражающей ряби, однако потерялся изначальный стиль и вайб картинок. Однако я думаю это можно будет решить обычной лорой.Также мне кажется что на основе Venhancer сделать некий refiner, чтобы картинка стала более интересной. Нам мой взгляд теперь стоит сосредоточиться на стабилизации картинки для control net.

03.11.24 SDXL+ControlNet+IPadapter+loras stack

videos

Преимущества

  • хорошая работа со светом
  • хорошая детализация многих текстур
  • очень натуральные деревья

Недостатки

  • машины и объекты в далеке появляются и исчезают
  • картинка в видео слишком скачет
  • произвольное мигание цветов

Возможное решение

Так как картинки для controlnet производятся на основе картинки из игры, модели которые совершают это делают серьезные ошибки, так же у них нет никакой информации об объекте, которые вот вот появится на экране. Поэтому я предлагают решить это при помощи шейдера. Один из примеров лежит тут, но он у меня не работает с nfs по дефолту в reshade(https://reshade.me/forum/shader-presentation/4635-mesh-edges). Я написал какой-то супербазовый скрипт для этого, но теперь встала главная проблема. Как одновременно получать оригинальную картинку игры и картинку примененного шейдера? Я не знаю.

Useful Links

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published