AfterShot Pro 3 генерирует артефакты с использованием OpenCL GPU? - Фотопедия
0 голосов
/ 31 августа 2018

Я обнаружил артефакт на снимке, когда напечатал большой взрыв плотного урожая. Сначала я подумал: «О нет, у меня проблема с камерой!» Дальнейшие эксперименты показали, что артефакты генерируются при экспорте raw в JPG с поддержкой OpenCL для использования моего графического процессора Nvidia. Экспорт с отключенным OpenCl не создал артефакт.

Я использую Linux и не пробовал этого в Windows.

Я поместил оба «с» и «без» OpenCL JPG в слои GIMP и сделал «Различие» двух слоев. Артефакты оказались более обширными, чем я первоначально видел, и проявляются в виде нескольких разрывов прямоугольных блоков.

Я попробовал то же самое в Darktable и получил именно то, что можно надеяться получить, черную «разницу», поскольку изображения были идентичны.

AfterShot имеет небольшие различия яркости с аппаратным ускорением OpenCL, которое достаточно мало, чтобы жить с ним, но артефакты блока недопустимы.

Кто-нибудь еще сталкивался с этой проблемой?

Я использую последние драйверы Nvidia на возможно старом графическом процессоре, но это должно быть только вопросом скорости.

Только процессор, графический процессор OpenCL, изображения различий можно увидеть по адресу:

артефакты, сгенерированные графическим процессором AfterShot Pro 3 *

Отскок назад и вперед между двумя основными изображениями позволяет увидеть точки смещения артефакта. Наиболее очевидным является идеально горизонтальная тонкая линия через лоб кошки.

Мой непосредственный вопрос касается Aftershot Pro 3 в Linux, но теперь мне любопытно узнать о более обширной проверке «Различий» на многих платформах и в редакторах RAW, которые поддерживают использование графических процессоров.

             ---- Edit ----

Я определил специфику проблемы!

Существует 4 параметра использования OpenCL: минимальный, низкий, стандартный, высокий. И, конечно, НЕТ, если OpenCL отключен.

Сравнение выходных данных 4 настроек с NONE, как показывает эталонный стандарт:

Все 4 настройки OpenCL смещают выходное изображение на 2 пикселя по X и Y.

Только параметр «Минимум» генерирует артефакты, которые отображаются в виде прямоугольных областей «Не сдвигать на 2 пикселя».

Я думаю, что это суть проблемы. Обработка OpenCL имеет смещение в 2 пикселя в X и Y. Пока все изображение обрабатывается графическим процессором, оно является самосогласованным. Если часть изображения обрабатывается центральным процессором, то между обработанными процессором и графическим процессором частями изображения имеются границы сдвига в 2 пикселя.

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

Возможно, что это вычисление ЦП имеет сдвиг в 2 пикселя, но суть в том, что они разные!

             ---- Edit 2 ----

Я сравнил необрезанное изображение на «Aftershot» и «Darktable» для выравнивания, чтобы попытаться определить, какой сдвиг на 2 пикселя является ошибочным.

«Darktable CPU», «Darktable OpenCL» и «AfterShot CPU» все выровнены!

"AfterShot OpenCL" имеет сдвиг в 2 пикселя по X & Y.

1 Ответ

1 голос
/ 04 сентября 2018

Это ошибка в реализации Corel аппаратного графического процессора OpenCL.

Основная проблема заключается в том, что реализация OpenCL в Corel сдвигает экспортированный макет на 2 пикселя (приблизительно) в X & Y по сравнению с другими преобразованиями RAW в JPG (также TIF) . Съемка RAW + JPG в камере и сравнение с экспортом RAW в камеру в формате JPG подтверждают, что этот сдвиг производит только Corel Aftershot OpenCL. Aftershot, использующий только экспорт CPU, соответствует JPG камеры, как и все экспорты Darktable.

Так почему же сдвиг на 2 пикселя имеет значение?

Прежде всего, создает артефакты в любом изображении, в котором есть фрагменты, созданные с использованием OpenCL и без него, это то, что привлекло мое внимание в первую очередь. В моем тестировании это происходило только при установке OpenCL " Minimum " . Однако это может не соответствовать действительности при использовании другого сочетания GPU / CPU.

В некотором смысле теоретически смещение Corel OpenCL может вызвать проблемы с попытками использовать изображения, обработанные из нескольких необработанных конвертеров. Хотя это маловероятное использование в большинстве случаев, оно влияет на попытки использовать изображения Raw и JPG, если вы пытаетесь наложить их.

Я связался с Corel по этому вопросу.

...