Як нейросеть покращує картинку в іграх? Про технологію DLSS

Anonim
Як нейросеть покращує картинку в іграх? Про технологію DLSS 1908_1
Як нейросеть покращує картинку в іграх? Про технологію DLSS 1908_2
Як нейросеть покращує картинку в іграх? Про технологію DLSS 1908_3
Як нейросеть покращує картинку в іграх? Про технологію DLSS 1908_4
Як нейросеть покращує картинку в іграх? Про технологію DLSS 1908_5

Коли в американських бойовиках на знімках з супутника спецагенти збільшували номер автомобіля до цілком читаного стану, ми сміялися. Начальник варто над компьютерщиком, змушує масштабувати, а потім «поліпшити» картинку. До такої міри, що на моніторі з'являється інформація, яка насправді не містить зображення. Для людей, які більш-менш розбираються в обробці фотографій, таке здавалося фантастикою. Та й сьогодні, в принципі, це залишається фантастикою. Але! Технологія NVIDIA DLSS робить цю фантастику трохи ближче до реальності.

Коли в 2018 році NVIDIA представляла нове покоління відеокарт на мікроархітектурі Turing, основний фокус уваги геймерів був зосереджений на трасуванні променів: відеокарти RTX 2000-й серії стали першими, які підтримують цю технологію на апаратному рівні завдяки RT-ядер.

Але також в «Тюрінгія» були і тензорні ядра. Вони, використовуючи результати глибокого навчання нейромережі, покращували згладжування, збільшували продуктивність і дозвіл зображення, яке створюється грою. Технологія отримала назву DLSS - Deep Lerning Super Sampling.

По суті, це один з просунутих видів технології згладжування в іграх. Комп'ютерні геймери знайомі з ними по загадковим TAA, FXAA, MSAA, 8x, 4x і т. Д. В налаштуваннях картинки в грі. За цими загадковими абревіатурами криються різні варіації згладжування картинки. Вона складається з пікселів, все лінії в кадрі складаються з цих пікселів, але за допомогою квадратів намалювати діагональну лінію непросто, вона буде відображатися драбинками. А коли таких ліній і драбинок на кордонах полігонів на екрані багато, картинка починає рябіти в очах.

Все різноманіття технологій згладжування займається тим, що прибирає ці драбинки в міру своїх можливостей і потужностей для користувача комп'ютера. Вони змінюють колір пікселів на кордонах і роблять переходи більш плавними. Різними способами, по різному навантажуючи залізо і демонструючи трохи різний кінцевий результат аж до замилювання картинки. Але у нас розповідь не про все це різноманітті, в якому можна запросто загрузнути, а про новачка, який вирішив перевернути гру з ніг на голову: забезпечити чітку картинку і розвантажити залізо.

Магія в дії

Перша ітерація технології DLSS була неоднозначною і багато в чому обмеженою. Вона вимагала навчання штучного інтелекту під кожну нову гру, підтримку з боку розробників регулярними Допилювання і випуск спеціальних драйверів для відеокарти з виходом гри. Наприклад, в грі 2019 року Control оригінальна технологія підвищувала частоту зміни кадрів аж до 70%. У більшості сцен якість зображення було відмінним, але рухомі об'єкти приносили багато проблем. Оригінальною DLSS, наприклад, було непросто справлятися з лопатями турбін, які крутилися в одній зі сцен гри. Також були проблеми з кордонами дрібних деталей в кадрі.

Навесні 2020 року NVIDIA випустила версію DLSS 2.0 і для демонстрації свого прогресу знову показала Control. Там вже і з лопатами все було в порядку, і дрібні об'єкти стали чіткіше, кордони стали більш різкими і промальованим і підвищилася загальна продуктивність гри.

Була перероблена модель штучного інтелекту, яка стала в два рази швидше оригінальної версії. Вона використовує тензорні ядра ефективніше, усуває обмеження на число підтримуваних відеокарт, налаштувань якості і дозволів.

Оригінальна технологія передбачала навчання нейромережі під кожну нову гру. DLSS 2.0 стала більш універсальною, її стало простіше імплементувати в ігри.

Як працює ця магія? У NVIDIA є спеціальний фреймворк, який навчає глибоку нейросеть. Навчання полягає в тому, що нейромережі згодовують десятки тисяч еталонних зображень з високою роздільною здатністю. Дійсно високому - 16К. Ці зображення створюються найпотужнішим суперкомп'ютером під час оффлайн-рендеринга гри з низькою частотою зміни кадрів. Завдяки такому натаскування нейросеть в подальшому на основі вихідного зображення в низькій якості здатна створювати кадр з високою роздільною здатністю вже на призначеному для користувача пристрої. У цьому вона спирається на отримані знання під час навчання.

Коли нейросеть сама створює кадри з зразків низького дозволу, їх порівнюють з еталонами в дозволі 16К і про всі відмінності і одвірках повідомляють назад нейромережі. З кожним циклом звірки нейросеть навчається і покращує свої результати. Кінцеві у вигляді драйверів добираються до призначених для користувача відеокарт, і в іграх починає відбуватися магія.

Для коректної роботи нейромережі DLSS 2.0 їй потрібні вхідні дані. Їх надає ігровий движок. Перша порція даних - зображення в низькій роздільній здатності без згладжування. Друга - вектори руху для цих зображень. Вектори - це інформація про те, в якому напрямку зі зміною кожного кадру рухаються об'єкти на цьому кадрі. По суті, це така карта переміщень пікселів по кадру.

Нейросеть створює кадр з високою роздільною здатністю і, знаючи вектори його зміни, на цій основі підвищує дозвіл наступного кадру. Буквально попиксельно визначає, як підвищити дозвіл в наступному кадрі.

перепони впровадження

У випадку з першою итерацией DLSS розробникам ігор доводилося працювати в тісній співпраці з NVIDIA, щоб додати підтримку в свою гру. Движку глибокого навчання було потрібно багато зображень з гри. Друга версія DLSS стала більш доступною, вона навчається на загальних зображеннях, їй не потрібні ввідні дані з конкретної гри.

Завдяки цьому список підтримуваних ігор розширився до трьох десятків, тоді як у оригінальній DLSS їх було менше десяти.

На початку цього року NVIDIA випустила плагін для імплементації DLSS в ігри в Unreal Marketplace - магазин платних і безкоштовних примочок для розробників ігор на движку Unreal Engine. Але багато розробників поки не поспішають з її додаванням в свої ігри. Багато в чому це пов'язано з поширеністю 4K-моніторів у геймерів. Все-таки найбільш вражаюче DLSS 2.0 виглядає в дозволі 4K. Там технологія дозволяє домогтися значного зростання продуктивності, дозволяє навіть відеокарт RTX 2000-й серії і початкового рівня показувати стабільний і іграбельних фреймрейт в порівнянні з нативним дозволом в 4K.

Але справа в тому, що більшість пеку-геймерів як і раніше грають в дозволі 1080 пікселів - у Steam таких користувачів більше 67%. Друге за популярністю дозвіл - ноутбучного: 1366 × 768 пікселів - у 8% користувачів. На третьому місці з невеликим відривом розташувалися призначені для користувача екрани з роздільною здатністю 2560 × 1440 пікселів. 4K монітори поки залишаються долею ентузіастів: трохи більше 2% від користувачів Steam.

Конкурент від AMD

DLSS - пропріетарна технологія NVIDIA. Працює тільки на відкритих серії RTX, у яких є тензорні ядра. Вони займаються обчисленнями, пов'язаними з алгоритмами штучного інтелекту. Головний суперник NVIDIA - компанія AMD працює над своєю альтернативою DLSS, яку називають FidelityFX Super Resolution. Але поки практично ніякої конкретної інформації про цю розробку немає.

Відомо лише, що у «червоних» буде важлива перевага. AMD пообіцяла, що зробить технологію відкритої і крос-платформної. Це означає, що технологія може прийти на консолі нового покоління, які використовують графічну архітектуру RDNA 2 від AMD.

Нещодавно AMD влаштувала презентацію нової відеокарти Radeon RX 6700 XT. Багато хто сподівався, що під час цього івенту розкажуть і про FidelityFX Super Resolution. В кулуарах презентації пояснили, що AMD не поспішає з випуском технології для однієї топової карти, а замість цього хоче, щоб вона була у всіх сенсах крос-платформної.

Технологія AMD повинна бути чимось схожою з DLSS. А тому потенційна присутність нейросетевого згладжування на консолях PS5 і Xbox Series викликає великий інтерес, тому що далеко не у всіх іграх вони можуть показати 60 кадрів в секунду в дозволі 4K.

Але всі ці міркування залишаються поки лише спекуляціями. Можливо, до кінця цього року AMD все-таки розповість більше про свою розробку. А поки продовжуємо стежити за тим, як охоче розробники ігор будуть впроваджувати в свої продукти DLSS.

Наш канал в Telegram. Приєднуйтесь!

Є про що розповісти? Пишіть в наш телеграм-бот. Це анонімно і швидко

Передрук тексту і фотографій Onliner без дозволу редакції заборонена. [email protected]

Читати далі