Дмитрий Радищев (dibr) wrote,
Дмитрий Радищев
dibr

Так вот, про hugin

     Итак, несколько дней назад, с подачи зоркого глаза mc6312, скачал я win64 версию hugin. И был настолько впечатлён в сравнении с 32-битной, что решил написать Восторженный Пост. Но, для порядка - после того, как хоть что-нибудь реально им сошью, а то мало ли. В процессе сшивки восторг резко поубавился, и может оно и к лучшему - в результате пост будет короче (не-не, серьёзно, то что под катом - оно короткое, не смотрите что несколько килобайт, могло ведь быть и несколько десятков) :-)

     Итак, стало быть, хугин. Win64 версия - win32 намного, намного хуже, хоть и из (почти) тех же исходников собирается, за линуксовые версии ничего не скажу.
      + хорошо шьёт. Реально хорошо шьёт - см. ту же последнюю панораму. Пробовал шить её же при помощи Autopano Giga - результат отправил в корзину сразу после открытия в фотошопе (у меня как бы HDR в виде эксповилки ±2EV, APG сказал что "он всё видит" и даже сам сгруппировал кадрики в кучки по три, но со сшивкой явно не справился). Ну, то есть, возможно я "заблудился в трёх чекбоксах" при настройке параметров APG, но что-то сомнительно.
      + очень управляем: "подправить" или "настроить" можно практически всё что угодно, что особенно ценно на тех панорамах, которые "на автомате" нормально не сшиваются. Например, из-за кадров, где автомат лажает с контрольными точками, или где нужна хитрая настройка проекции. APP/APG тоже более-менее управляемы, но слабее, MS ICE например - хорошая сшивалка, но "с одной кнопкой": если смогла, то хорошо, если "не смогла" - то ой.
      + есть полезные проекции, кроме стандартных "цилиндра, сферы и прямоугольника". Что реально помогает при сшивке "широких" панорам: далеко не все сюжеты выдерживают цилиндрическую проекцию (про сферическую уж и не вспоминаю), а panini или architectural - спасают.
      + удовлетворительно "держит нагрузку": та самая панорама была сшита из 582 кадриков (194 раза по три кадрика с эксповилкой ±2EV), что немало. Win32 версия такую нагрузку держит весьма хреново.
      + множество удобных "фенечек" вроде поиска "а это что за лажа" "где эта картинка" в окне fast preview, или быстрого (в реальном времени) изменения параметров проекции там же.
      + "развитая система батничков и утилиток" - при интерактивной работе это не очень заметно, но вообще полезно. А наблюдение за работой утилиты make - завораживет не меньше, чем компиляция ядра FreeBSD на 386 компьютере :-)
      + зело впечатлён работой enfuse: сшил три слоя с разной экспозицией, собрался склеивать их в HDR, тем временем дошилась версия "blend then fuse", я посмотрел - и решил, что HDR не нужно, enfuse сделал сам лучше, чем сделал бы я :-)
      ± с HDR оно у меня, строго говоря, не справилось - но для приготовления HDR в "частично ручном" режиме он вполне пригоден: фотки по слоям с разной экспозицией группирует сам, послойно сшивает без проблем, а что ещё нужно?
      ± редко падает. Да, "другие вообще не падают" - но по сравнению с его же версией, но win32, это крупный прогресс :-)
      - "очень управляем", внезапно, запишу и в минусы, вспомнив старый прикол про "в линуксе вы можете настроить всё - и вы, %$#@, будете настраивать всё!" Режима "одной кнопки" (нажал - что-то вышло), или хотя бы навязчивого wizard'а, за руку протягивающего по нужному пути, там нет, в любом случае нужно самому проделать определенную последовательность действий. Это совершенно не напрягает, когда эту последовательность уже знаешь - но новичку будет тяжеловато.
      - многие вещи значительно, в разы, медленнее чем у конкурентов. К чёрту поиск контрольных точек - он теперь быстрый (зато глючный), к чёрту сшивку - её можно оставить на ночь, но "оптимизация" по три часа - это что-то с чем-то. Особенно учитывая, что на практике её бывает нужно делать не один раз. Была бы опция "грубой, но быстрой" оптимизации (для первых прикидок, пусть даже тупо срубающей процесс по таймауту) - было бы уже намного лучше.
      - "держит пользователя в тонусе": если какое-то действие давало результат в прошлой версии, и не выдаёт ошибки в новой - это ещё не значит, что всё в порядке. Скажем, win32 версия не пережёвывала более 40-60 кадриков зараз при авторасстановке контрольных точек, что несколько мешало на больших панорамах. Win64 версия спокойно схавала все 582 кадрика многорядной панорамы и выдала вроде бы разумный результат - но выяснилось, что при включённом --multirow ("enable heuristic multi row matching", в настройках hugin по дефолту он включен) точкоискалка (cpfind) работает быстро, но практически не находит точек "между рядами", хотя по идее должно было быть наоборот. И это при перекрытии, иногда достигающем 2/3 площади - причём если задать cpfind пару кадров из разных слоёв ручками, оба кадра оказываются обсижены точками по самое не хочу. А я ещё удивляюсь, чего это "по цифрам" у меня панорама чуть ли не до пикселя выровнена, а при сшивке кое-где расползается чуть ли не на треть кадра. При этом переключение с "all images at once" на "multirow panorama" (это отдельная от --multirow опция) приводит к вылету cpfind нафиг (немного точек он, впрочем, успевает поставить), а отключение --multirow - к зависанию (во всяком случае, за ночь оно не отработало). А значит, точки-то оно ищет быстро, но за результатом нужен глаз да глаз, и кое-где ручная допилка.
      - умиляет кнопка Cancel в окошке оптимизации (той самой, что может идти три часа). Я сначала думал, она вообще чисто декоративная, а потом понял - если попасть нажатием мыши в те 0.1 секунды, когда она перезапускает "итерацию" (длиной минут пять) - cancel работает! Вот только палец сильно устаёт долбить по кнопке - заранее ведь неизвестно, когда именно отработает итерация. А отменять иногда надо - хотя бы чтобы в "сложных" панорамах быстро получить "грубое" приближение - для выкидывания заведомо глючных точек, например.
      - есть множество "тонких мест", про которые надо помнить. На панорамах, где возможны глюки с контрольными точками - "заморозить" roll при первой оптимизации. Не забывать проверять контрольные точки на глючность (по distance после оптимизации). Не забывать следить за связностью (тут, кстати, Assistant помогает). Не забывать следить за тем, чтобы связность была хорошей (см. про расстановку точек, кроме того при убийстве точек по критерию distance могут пострадать невинные нужные точки). Следить, не развернуло ли какие-нибудь кадрики вверх ногами нафиг (хорошая статитика оптимизатора ничего не значит - кадрик может оказаться привязан 1-2 точками, и тогда его развернёт за милую душу при идеальной статистике). Ну, и так далее...
      - enfuse ("HDR без HDR") отработал отлично, а вот штатная создавалка HDR создала несколько десятков гигабайт файлов, заполненных (кроме заголовков) какой-то четырёхбайтной константой. Учитывая, что ФШ при открытии этого показал строго чёрную картинку, подозреваю что это "0.0" в формате 32-битного float. Разбираться не стал: я всё равно хотел клеить HDR сам из слоёв с разной экспозицией, а с их созданием hugin справился.
      - справка, справка, справка... нет, по сравнению с ситуацией, когда меня на полном серьёзе посылают читать исходники, даже говорят где именно - справка просто идеальная! Но, учитывая некоторые нюансы при той же расстановке точек - некоторые моменты в справке ищутся не очень тривиально. То есть, они есть - но их не так просто найти...
      - и наконец глюк, "сделавший мой день" - на фото внизу:

     

     Синтаксическая ошибка при нажатии на кнопку "stitch now!" :-)))
     Скорее всего это глюк локальный (у меня стоит cygwin, возможно это от него - хотя в %comspec%, если что, у меня то что должно быть у правоверного виндузятника, никаких /bin/sh), но насколько неожиданно! Жить, впрочем, не мешает совершенно: один фиг я финальную сборку всегда делаю из командной строки, а там всё работает :-)

     Вот такая вот, блин, загогулина. И программа-то хорошая (была бы плохая, давно бы сбежал на то же autopano), и с каждым годом всё лучше и лучше... а вот "восторженный пост" написать всё как-то не получается. Хотя на этот раз я был очень к этому близок...
Subscribe
  • Post a new comment

    Error

    default userpic

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 1 comment