The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Доступна библиотека устранения шума на изображениях Open Image Denoise 2.1

12.10.2023 16:11

Компания Intel опубликовала выпуск проекта oidn 2.1 (Open Image Denoise), развивающего коллекцию фильтров для устранения шумов на изображениях, подготовленных с использованием систем рендеринга на основе трассировки лучей. Open Image Denoise развивается как часть более крупного проекта oneAPI Rendering Toolkit, нацеленного на разработку средств программной визуализации научных расчётов (SDVis (Software Defined Visualization), включающих библиотеку трассировки лучей Embree, систему фотореалистичной отрисовки GLuRay, платформу распределённой трассировки лучей OSPRay и систему программной растеризации OpenSWR. Код написан на языке С++ и опубликован под лицензией Apache 2.0.

Целью проекта является предоставление высококачественных, эффективных и простых в использовании функций шумоподавления, которые можно применять для повышения качества результатов трассировки лучей. Предложенные фильтры позволяют на основании результата сокращённого цикла трассировки лучей получить итоговый уровень качества, сопоставимый с результатом более затратного и длительного процесса детализированного рендеринга.

Open Image Denoise обеспечивает отсеивание случайного шума, возникающего, например, при трассировке лучей на основе численного интегрирования по методу Монте-Карло (MCRT). Для достижения высокого качества рендеринга в подобных алгоритмах требуется проведение трассировки очень большого числа лучей, иначе на результирующем изображении появляются заметные артефакты в виде случайного шума.

Применение Open Image Denoise позволяет на несколько порядков сократить количество необходимых вычислений при расчёте каждого пикселя. В итоге, можно значительно быстрее сгенерировать изначально зашумлённое изображение, но затем довести его до приемлемого качества при помощи быстрых алгоритмов подавления шумов. При наличии соответствующего оборудования предложенный инструментарий можно применять даже для интерактивной трассировки лучей c устранением шумов на лету.

Библиотека может применяться на различных классах устройств, от ноутбуков и ПК, до узлов в кластерах. Реализация оптимизирована для различных классов 64-разрядных CPU Intel с поддержкой инструкций SSE4, AVX2, AVX-512 и XMX (Xe Matrix Extensions), чипов Apple Silicon и систем с GPU Intel Xe (серии Arc, Flex и Max), NVIDIA (на базе архитектур Volta, Turing, Ampere, Ada Lovelace и Hopper) и AMD (на базе архитектур RDNA2 (Navi 21) и RDNA3 (Navi 3x)). В качестве минимального требования заявлена поддержка SSE4.1.

Основные изменения в выпуске Open Image Denoise 2.1:

  • Добавлена поддержка устранения шумов на изображениях с одним (прозрачность) или двумя (прозрачность и данные о глубине) дополнительными каналами.
  • Добавлена поддержка произвольного сочетания типов данных во входном изображении. Например, OIDN_FORMAT_FLOAT3 для цветов и OIDN_FORMAT_HALF3 для альбедо.
  • Проведена оптимизация производительности для большинства архитектур GPU.
  • Восстановлена поддержка сборочной опции OIDN_STATIC_LIB в CMake-сценариях, позволяющей собирать статические (только CPU) и гибридные (для CPU и GPU) библиотеки.
  • В объекты C++ API (DeviceRef, BufferRef, FilterRef) добавлен метод release().
  • Ценой снижения производительности решена проблема с более низким уровнем качества на интегрированных GPU Intel.
  • Добавлена поддержка компилятора Intel oneAPI DPC++/C++ Compiler 2024.0 и совместимых с ним открытых версий.


  1. Главная ссылка к новости (https://github.com/OpenImageDe...)
  2. OpenNews: Intel опубликовал библиотеку устранения шума на изображениях Open Image Denoise 2.0
  3. OpenNews: Intel выпустил движок распределённой трассировки лучей OSPRay 2.0
  4. OpenNews: Intel развивает новую открытую архитектуру прошивок Universal Scalable Firmware
  5. OpenNews: Компания Intel представила OpenSWR, систему программной отрисовки OpenGL
  6. OpenNews: Intel выпустил движок распределённой трассировки лучей OSPRay 2.0
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/59917-openimagedenoise
Ключевые слова: openimagedenoise, intel
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (32) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 17:13, 12/10/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +5 +/
    «Капитан, увеличьте и улучшите изображение!»

    Сценки из кино про шпионов все ближе к реальности.

     
     
  • 2.2, ы (?), 17:17, 12/10/2023 [^] [^^] [^^^] [ответить]  
  • +13 +/
    Ага, и увеличивает из одного пикселя, делая читаемым номерной знак. XD
     
     
  • 3.20, seven (??), 21:46, 12/10/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Технически у каждой цифры различное количество белого и черного цвета и если пиксель имеет достаточное количество градаций серого то вычислить цифру реально с неким процентом погрешности
     
     
  • 4.21, Желавший странного (?), 01:47, 13/10/2023 [^] [^^] [^^^] [ответить]  
  • +/
    это - если автомобиль в кадре стоял на чётко горизонтальной поверхности...
     
     
  • 5.31, kusb (?), 14:02, 15/10/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Можно предположить, к каким искажениям привело то, что он нечётко стоит.
     
  • 4.24, ы (?), 07:04, 13/10/2023 [^] [^^] [^^^] [ответить]  
  • +/
    В номерном знаке вообще-то несколько букв и цифр.
     
  • 4.29, anonymous (??), 18:38, 13/10/2023 [^] [^^] [^^^] [ответить]  
  • +/
    искажения волнового фронта из за неоднородностей воздуха, несовершенства объектива сенсора, дробового шума, теплового шума просто не учитываем. Удобно.
     

  • 1.3, Аноним (3), 17:18, 12/10/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    До сих пор тащит clang15 в зависимостях? Держать десяток шлангов как-то утомительно, они ещё и компилируются вечность при обновлении. Ну и убермыльный денойзер на фейковых моделях, определённо не стоит того.
     
  • 1.4, beck (??), 17:18, 12/10/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    А вот скажите мне, коллеги сантехники. Как убрать чирки с красного капота, понятно.

    Но как сделать из размытого шумом номера цифры, или из пикселей литсо восстановить?

    Это ни одна алгоритма не может, не с чего восстанавливать, данных нет.

     
     
  • 2.6, Аноним (3), 17:23, 12/10/2023 [^] [^^] [^^^] [ответить]  
  • +4 +/
    ESRGAN делает ровно это и работает по тому же принципу, что и сабж -- подрисовывает, что нагалюционировал.
     
     
  • 3.9, Аноним (9), 17:59, 12/10/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Сабж скорее всего в каждом пикселе сравнивает небольшую окрестность и выбирает что-то среднее - шум, который в меньшистве сильно выбивается и поэтому картинка разглаживается. Так что никаких своих галлюцинаций - все из исходной картинки(код не смотрел, но вангану размытие Гаусса/медианой)
     
     
  • 4.10, Аноним (3), 18:11, 12/10/2023 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Нейронки всегда галлюцинируют, сабж не исключение.
     
  • 4.13, beck (??), 18:49, 12/10/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Я и говорю,  собрать окрестность и экстраполировать умели и 100500 лет назад, ничего особо нового тут нет.

    Но например 4х пикселей вернуть цифру, это никак. Нельзя достать данные из отсутствия данных.

     
     
  • 5.15, Деаноним (?), 19:19, 12/10/2023 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Из отсутствия данных нет.
    Но можно добавить данных.
    Например при размытии частенько используются стандартные алгоритмы и стандартные свёртки. Подобрав банальным перебором параметры можно из десятка окружающих замыленных пикселей восстановить исходные. Тоже самое и с остальными 100 пикселями, вот и цифра.
    Далее. Арабская цифра это не что-то случайное, а вполне конкретный набор силуэтов со своими закономерностями. Например увидя на первой половине цифры круг, можем утверждать что целиком это либо 6, либо 8, а разделённый круг это 3 или 5. Если знать исходный шрифт, то можно делать более точные предположения и например у автомобильных знаков вполне определённый шрифт с определённым расположением символов.
    Далее. Можно сравнить предположительные варианты с базой номеров и убрать ещё не выданные варианты, достоверно неподходящие варианты (например номера выданные для другой модели машины или номера зафиксированные в другом городе в это же время).
    Скорее всего уже на этом этапе вариантов не осталось. Но вообще можно копать глубже - свет отражается по разному от разных поверхностей, спрогнозировав отражение от белой и чёрной краски по световому отсвету можно и не видеть сам номер.
    Камеры при фотографировании считывают свет на матрице. Просчитав физику света на известной линзе и известной матрице,  в известное время (по доте снимка) в известном месте и с известной погодой и окружением можно предположить больше деталей. То же касается алгоритмов сжатия.
    Можно учитывать несколько кадров во времени(возможно пиксели на них немного отличаются, что тоже может раскрывать номер).
    У камеры может быть инфракрасный снимок который по-другому распространяется и тоже добавляет информации.
    В общем тут больше вопрос в сложности, ресурсах и фантазии, чем в невозможности.
     
     
  • 6.18, beck (??), 19:32, 12/10/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Вы подтвердили мои слова о том, что можно вытянуть данные только тогда,  когда данные есть. Вы тут же накидали каких-то дополнительных данных,  из которых можно получить информацию. Но это частные случаи, которые частно и работают.

    Например.  Есть машина конкретной марки и цвета, и подмножество номеров,  которые на такие машины выдавались. Ну ок. А если номер подменен?

    Да, также можно прикинуть в какие картинки происходит сжатие и попытаться вернуть обратно. С номером (это довольно простой формализованный набор) это худо бедно может пройти. С лицом или чем-то сравнимым по сложности
    уже нет.

     
     
  • 7.32, по (?), 20:52, 15/10/2023 [^] [^^] [^^^] [ответить]  
  • +/
    номер можно подкрасить, и человек распознает одно, а из восстановленных данных поога распознает другое, лчень удобно как по мне, пусть будет
     
  • 3.11, Аноним (11), 18:31, 12/10/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Только хотел про нейоонки и ESRGAN написать, но похоже все в курсе.
     
  • 2.14, Аноним (-), 19:15, 12/10/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Это ни одна алгоритма не может, не с чего восстанавливать, данных нет.

    Люди склонны недооценивать объем информации отвисающий в младших битах, и визуально зачастую страшнее чем оно есть с точки зрения извлечения полезной информации. Так что мувики про шпионов конечно преувеличивают но только до известного момента.

     
     
  • 3.16, anonymous (??), 19:23, 12/10/2023 [^] [^^] [^^^] [ответить]  
  • +/
    это было в античную эпоху до блочных кодировщиков с потерями, с тех пор за счастье чтобы хоть немного бит оставили для градиента в пол экрана.
     
     
  • 4.25, Аноним (-), 10:11, 13/10/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > это было в античную эпоху до блочных кодировщиков с потерями, с тех пор за
    > счастье чтобы хоть немного бит оставили для градиента в пол экрана.

    И даже блочный кодировщик может оставить больше инфо чем вам кажется на глаз. Как насчет факта что блок может оказаться достаточно уникальным для конкретной цифры? И вот вроде бы по пикселам и не реконструировали от и до, выглядит как УГ. Но оно нам было нафиг не надо, ведь нас интересовали цифры. Всего 10 разных состояний надо отличить. И если на каждую цифирь попало хотя-бы по десятку пикселей, оно и DCT какой, пожалуй, переживет в декодабельном виде.

    Ну а с камерами по 30+ мегапикселей в каждой дыре, получить десяток пикселей на цифру в общем то достаточно реально. И вот уже - почти как джеймсбонд. Ну а кого сейчас ботинок-телефон удивит? Сейчас простую звонилку даже в габариты часов встраивают. И придурок звонящий по ботинку выглядит уже архаично - взял бы часы, не палился :). Ну вот и с камерами и картинками такая фигня. Я например обычным ffmpeg видео на которых нифига не разобрать в оригинале до вполне смотрябельных подрихтовал. Хомяки конечно удивлялись что так можно было - но никакой джеймсбондианы в пачке фильтров ffmpeg точно нет. И даже вот блоки - мешались конечно денойзеру, но хороший постпроцессинг еще и не такое вытягивает.

     
     
  • 5.28, anonymous (??), 18:31, 13/10/2023 [^] [^^] [^^^] [ответить]  
  • +/
    не может ибо сама суть в отбрасвании и лютой потери точности. Исходный сигнал всегда с шумами, кое как удалось что то там зафиксировать в сенсоре и тут опа - нам на помощь летит блочный кодировщик с потерями и еще раз отбрасывает биты. В итоге мазня низкочастотная да еще и постеризация.
     
  • 2.22, Аноньимъ (ok), 02:03, 13/10/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Можно сделать, нейронки кстати генерирующие изображения ровно это и делают...
    Но есть и другие подходы.
     

  • 1.5, Аноним (5), 17:23, 12/10/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    Кстати, Интел наконец-то выпустили Arc A580.
    А учитывая, что её там продают за ~ $180 то вообще красота.
     
     
  • 2.12, КО (?), 18:34, 12/10/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Удачи запустить любую игру на dx9 или бета-тестить на 11
     
     
  • 3.17, Аноним (5), 19:25, 12/10/2023 [^] [^^] [^^^] [ответить]  
  • +2 +/
    https://opennet.ru/58287-dxvk
    Уже поправили, плюс сам тестирую каждую версию:
    https://videocardz.com/sections/drivers
     

  • 1.7, pic (?), 17:29, 12/10/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Замыленные не по гауссу лица на фото можно восстанавливать?
     
     
  • 2.8, Аноним (8), 17:43, 12/10/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    можно... но никто же не гарантирует, что оно будет совпадать с тем что было... но 99% населения этого не понимает, что такое "восстановление" не значит, что так оно и было на самом деле.
     
  • 2.26, Аноним (-), 10:18, 13/10/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Замыленные не по гауссу лица на фото можно восстанавливать?

    Можно все что угодно. Вопрос что получится и что дальше делать с этим знанием. Если итог "с вероятностью 10% это Вася" - ну, окей, и дальше чего? Предъявы Васе будем выкатывать или нет? Оно видите ли смотря в камеру то на идеальную картинку не 100% работает - а вот так - будет вообще совсем не 100% а что-то очень сильно ниже, в стиле "капец Васян страшило, мне тут его Рабинович нарисовал!".

     

  • 1.23, Аноньимъ (ok), 02:05, 13/10/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Хорошее мыло, мыльное, с перламутровой дымкой.
     
  • 1.27, Анонус (?), 17:02, 13/10/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    есть консольная/gui тулза, которую уже можно использовать чтобы фоточки почистить?
     
     
  • 2.33, Аноним (33), 21:28, 16/10/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Да, это консольная собранная программа Intel.
     

  • 1.30, VladSh (?), 21:10, 14/10/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Отличный результат. Только, как по моему, результат осветлился и немного ушёл в жёлтое. Если бы ещё оно делало эту коррекцию, то было бы вообще круто.
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру