Смарт-деблюр или почему русские не сдаются

Современная фотография давно идет в сторону улучшения качества или перехода в недра мобильных телефонов, и если второе нас волнует куда меньше (там выживание осуществляется исключительно количественными характеристиками, а не качественными), то первое очень важно. Однако, думаем, что вы знаете, что риск получения нерезкого снимка на зеркалку или беззеркалку куда выше, чем на плохонький компакт или телефон — матрица меньше, отчего и возможности размытия фона у последних существенно лимитированы. Достаточно просто предоставить фотоаппарату возможность самостоятельно решать, на чем фокусироваться (привет, режим «авто»), и дело сделано — в зависимости от модели, 30-50% чернового выхода фотографического потока будет нерезким. Не очень хороший фотограф в таких случаях проверяет каждый кадр по экрану (чем заставляет модель изрядно нервничать), а хороший просто снимает в творческих режимах, выбирая точки фокусировки вручную.

Однако, вероятность расфокуса все равно будет, и даже тогда, когда вероятность нерезкого кадра чрезвычайно мала, по закону подлости имени американца Мерфи, рано или поздно самый хороший кадр из серии (а то и единственный случайно снятый) будет нерезким. Рвать на себе волосы в такие моменты очень даже стоит, хотя исправить их тоже можно. Тут нам придет на помощь программа Владимира Южникова под названием Smart deblur (по названию фотографу уже понятно, что она делает — интеллектуально восстанавливает утраченную резкость), которая чудес, естественно, не сотворит, но точно поможет поднять резкость на уровень, который вам не снился, если пользоваться средствами Фотошопа.

Лечит программа три типа размытия:

  • расфокус объектива (то есть, собственно, оптическое размытие)
  • проводка и дрожание, смаз при движении из–за длинной выдержки
  • размытие по Гауссу (это интересно тем, кто восстанавливает недостатки чужого редактирования и недальновидность самих фотошопперов, не щадящих исходники деструктивным редактированием)

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

Исходное фото: Сергей Самсонов

Изображение было намеренно нарезано полосками, чтобы результат был заметней. Изначально это отредактированная картинка, в финальное изображение также добавлено зерно (лучше видно в полной версии по клику на маленькой). Особенности инструмента заключаются в том, что радиус повышения резкости определяете вы лично на глаз — однако, картинка никогда не размывается равномерно, и в любом изображении всегда есть как резкие, так и нерезкие элементы, а также зона увеличения нерезкости, и если ко всему изображению применять шарпинг с едиными параметрами, результат будет, как минимум, смешным. Однако же, стоит посмотреть на программу внимательнее — в правильных руках она сильно поможет, ведь можно с помощью масок вытирать с отредактированного слоя резкие зоны, и получать на выходе вполне приемлемое изображение, ведь результат работы фильтра все же заметен визуально.

* * *

Кстати, данная заметка опубликована в соответствии с нашим замечательным предложением для энтузиастов фото-и около фотодела под названием «Пиарим бесплатно», так что пишите нам, мы поможем вам тем, чем сможем.

39 комментариев

  • Я опубликовал перевод на английском второй части, в котором добавил также анонс blind deconvolution (в конце статьи):
    http://yuzhikov.com/articles/BlurredImagesRestoration2.htm
    Это будет в следующей версии SmartDeblur (подобно той технике, что демонстрировалась на конференции от Adobe)

    • Владимир, а про плагин подумайте все же.

      Кстати, я тут недавно пытался фотошопными средствами восстанавливать утраченную резкость за счет размытия — HighPass несколько слоев Overlay с размытием от большого радиуса с постепенным сокращением. Дало неплохой результат, чего не добился вашим плагином — к его минусу можно отнести ограничение 3000 по длинной стороне, а также медленную работу. Пытался кстати вашу программу привинтить к запуску через Lightroom с пересылкой файла по окончании экспорта — не открывает, гад.

  • Zander says:

    Написание плагина в “фотошопном” стандарте .8bf позволит, во-первых, не писать то, что к алгоритмам восстановления изображения отношения не имеет, да и уже много раз написано, а во-вторых, использовать эти алгоритмы не только (и не столько) в ФШ, но и в программах типа XnView.

  • Илюха says:

    Хм, какой интерес тема вызвала! Давно таких оживленных дискуссий не было – 34 коммента! :))

  • Илюха says:

    И несмотря на всё мое нытье и занудство по поводу проги – Владимир, огромное Вам спасибо за Ваш труд в создании сего инструмента! Ну, и за то, что он бесплатен – вдвойне спасибо! :))

  • Vadim says:

    По сабжу.
    Вообщем пока ждал пока данная программа работает, попробовал ручной метод в фш.
    HighPass, SurfaceBlur, GuassiangBlur и Noise дали весьма неплохие результаты.
    Видимо тачка нужно мощнее, потому что первый результат не устроил, а второй не дождался ))

    • Небольшой расфокус можно и в фотошопе устранить.
      SmartDeblur специализируется больше на большом размытии.
      В качестве примера, попробуйте восстановить в фотошопе после motion blur типа
      http://habrastorage.org/storage2/15c/773/b99/15c773b99ae9b058e43548649946ce53.png

      • Илюха says:

        Владимир, попробовал этот ваш пример (двор) с помощью SmartDeblur. Результатом неудовлетворен. Конечно, картинка стала лучше, чем изначально, но все равно – в топку! Вы не могли бы дать ссылку на то, что получилось у Вас с указанием примененных параметров по ползункам? Т.к. есть у меня подозрение, что я просто не совсем понимаю логику проги…

        • Какой именно двор (лучше ссылкой), т.к. я в статье использовал несколько таких фоток

          • Илюха says:

            Именно тот, на который дали ссылку в комменте от 13.11 к данной статье.

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

          • Илюха says:

            Да не придираюсь я :)) Просто уж очень долго она у меня ворочает снимок. Даже зная нужные параметры (те, что только что Владимир дал по моей просьбе), коррекция заняла более 5 минут (более 1,5 минут на открытие, и более 1,5 минут на обработку сдвига каждого ползунка). Это зная параметры! А самому эксы ставить – так по времени вообще застрелиться! ((

          • У меня каждый сдвиг параметра (первоначальный подбор без отпускания ползунка) занимает 0.3 секунды. После того как подобрал, отпускаешь ползунок и запускается High-Quality этап, который длится около минуты.

          • Компьютер у тебя долгий. Мой 3-летний старик и то быстрее делает.

          • Илюха says:

            Да, и самая большая претензия – невозможно работать с равкой по причине ее открытия в виде мизерной превьюшки.

          • А равки вообще не должны поддерживаться – удивительно что даже так открылись )

          • Владимир, а плагин не думали делать?

          • Сам точно не планировал – так как плагины занимают много времени чтобы разобраться как их делать и переделать исходники. Пока в приоритете улучшение алгоритмов.
            Впрочем если найдутся добровольцы, я бы им помог с портированием под плагины

        • Если имеется ввиду пример
          http://habrastorage.org/storage2/15c/773/b99/15c773b99ae9b058e43548649946ce53.png
          То можете попробовать такие параметры:
          Length: 6.9 Smooth: 60%
          Получается вот такой результат:
          http://habrastorage.org/storage2/3a3/514/6d2/3a35146d2b29b0eabab3383a99156fa7.png

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

  • SmartDeblur восстанавливает далеко не все примеры реальных изображений. Но там где условия подходящие (равномерный расфокус без смаза, либо смазывание по траектории прямой линии, отсутствие постобработки) результат обычно впечатляющий и существенно превосходит стандартный фотошоповский unsharp mask, который только может подчеркнуть резкость, но не восстановить новые детали.
    Если на каком-то примере не получается, присылайте мне, я посмотрю в чем дело.

  • ilyukha says:

    Ага, последующие исследования проги показали, что это равки она открывает размером со спичечный коробок. А вот джипеги – на все окно! :)) Только при этом сначала принудительно ресайзит их размером 3000х2000 и занимает это секунд 20-30.

  • Ilyukha says:

    Попробовал. Только странно работает – во-первых, совсем не быстро (чтобы обработать пример с текстом и номером машины, вживленный в прогу, потребовалось более 360000 ms! – данные самой проги). Во-вторых, моя равка размером более 9 мб в окне проги отобразилась размером менее спичечного коробка и как я не бился, более увеличить не смог. Сами понимаете, работать на такой превьюшке:)) невозможно.

    • Леонид says:

      С. Келби в своей книге ” Справочник по обработке цифровых фотографий в Photoshop” даёт такой совет (упрощаю изложение): Изображение – размер изображения- размерность. Далее выставляем значение ширины и высоты в процентах и последовательно увеличиваем на 10%. Не пробовали? Результат впечатляет. Чтобы не мучиться, можно это действие записать в action. Результаты очень хорошие. Или смотрите в этой книге на с.80.

      • Vadim says:

        По вашему совету попробовал. Результат немного другой (причем даже определиться не могу – хуже или лучше), но в целом – “очень хорошим” я бы его не назвал ))

      • Илюха says:

        А причем тут Ps? Я так понял, что это достаточно самостоятельный модуль, независимый от фотошопа. Я его имено так и тестировал :))

      • Вы это к чему? При чем здесь увеличение изображения? Можно ведь еще и Perfect Resize, и даже лучше будет, чем поганая фотошопная интерполяция.

    • Программа хитрая — специально генерит превюху с большого файла и с ней работает, все параметры задаются вручную.

  • Как-то вот то ли “лыжи не едут”, то ли я что-то не так делаю, но на реальном примере работает хуже, чем на том, что дан разработчиком. Ну, в смысле, все равно карточку на стоки уже не отправишь и большим форматом не распечатаешь. Ибо чтобы избавиться от артефактов этой программулины еще жать придется. Или я что-то не так делаю?

    • Про стоки вы конечно красиво сказали. Для стоков берите и снимайте нормально. Программа для восстановления того, что не переснимешь.

      • Тамара says:

        Это девушек возле дерева не переснимешь?
        Я снимаю животных, там ситуаций, когда лучший кадр из серии не в фокусе 3 из 10. Однако вменяемо восстановить фокус этой прогой не получается. Не знаю, может, раз бытие слишком маленькое. Но у меня просто вопрос, куда предполагается потом эти шедевры девать? В интернет выкладывать? Клиенту отдавать или печатать с такими арт и фактами я бы посте снялась.

        • Тамара says:

          Артефакты :-) планшеты – зло :-)

        • Требовать от бесплатной программы результата, за который люди деньги платят, некрасиво. Примерно так же, как у фотографа, который на одном задании зарабатывает по 30000, должен быть лицензионный Фотошоп и Лайтрум (если они ему нужны, конечно). Другое дело — босяки, которые не деньги на фото делают, а просто развлекаются.

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

  • Nafania says:

    Какая няка..ой, простите, имела в виду “до чего техника дошла”!©

Leave a Reply

Your email address will not be published. Required fields are marked *