stringtranslate.com

Резьба по шву

Исходное изображение нужно сделать уже
Масштабирование нежелательно, поскольку замок искажается.
Обрезка нежелательна, поскольку удаляется часть замка.
Резьба по шву

Резьба по шву (или жидкое изменение масштаба ) — это алгоритм изменения размера изображения с учетом содержимого , разработанный Шаем Авиданом из Mitsubishi Electric Research Laboratories (MERL) и Ариэлем Шамиром из Междисциплинарного центра и MERL. Он действует путем создания ряда швов (путей наименьшей важности) в изображении и автоматически удаляет швы, чтобы уменьшить размер изображения, или вставляет швы, чтобы расширить его. Резьба по швам также позволяет вручную определять области, в которых пиксели не могут быть изменены, и дает возможность удалять целые объекты с фотографий.

Целью алгоритма является ретаргетинг изображений, то есть задача отображения изображений без искажений на носителях различных размеров (сотовые телефоны, проекционные экраны) с использованием стандартов документов, таких как HTML, которые уже поддерживают динамические изменения макета страницы и текста, но не изображений. . [1]

Ретаргетинг изображений был изобретен Видья Сетлур, Саеко Такаге, Рамеш Раскар, Майкл Глейхер и Брюс Гуч в 2005 году. [2] Работа Setlur et al. выиграл награду за 10-летнее воздействие в 2015 году [ где? ] .

Швы

Швы могут быть как вертикальными, так и горизонтальными. Вертикальный шов — это путь пикселей, соединенных сверху вниз на изображении, по одному пикселю в каждой строке. [1] Горизонтальный шов аналогичен, за исключением того, что соединение осуществляется слева направо. Функция важности/энергии оценивает пиксель, измеряя его контраст с соседними пикселями.

Процесс

В приведенном ниже примере описан процесс резьбы по шву:

Количество швов, которые нужно удалить, зависит только от размера (высоты или ширины), который нужно уменьшить. Также возможно инвертировать шаг 4, чтобы алгоритм увеличился в одном измерении, копируя шов с низкой энергией и усредняя его пиксели с соседними. [1]

Расчет швов

Вычисление шва заключается в поиске пути с минимальными затратами энергии от одного конца изображения к другому. Это можно сделать, среди прочего, с помощью алгоритма Дейкстры , динамического программирования, жадного алгоритма или разрезания графа . [1]

Динамическое программирование

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

На изображениях ниже показан процесс DP для расчета одного оптимального шва. [1] Каждый квадрат представляет собой пиксель, причем значение в верхнем левом углу красного цвета представляет собой значение энергии этого пикселя. Значение черного цвета представляет собой совокупную сумму энергий, ведущих к этому пикселю и включая его.

Вычисление энергии тривиально распараллеливается для простых функций. Вычисление массива DP также можно распараллелить с некоторым межпроцессным взаимодействием. Однако проблема создания нескольких швов одновременно сложнее по двум причинам: для обеспечения правильности необходимо регенерировать энергию для каждого удаления, а простое отслеживание нескольких швов может привести к перекрытию. Avidan 2007 вычисляет все швы, итеративно удаляя каждый шов и сохраняя «индексную карту» для записи всех сгенерированных швов. Карта содержит номер «n-го шва» для каждого пикселя изображения и может использоваться позже для настройки размера. [1]

Однако, если игнорировать обе проблемы, возможно жадное приближение к параллельному вырезанию швов. Для этого нужно начать с пикселя с минимальной энергией на одном конце и продолжать выбирать путь с минимальной энергией до другого конца. Использованные пиксели помечаются, чтобы их нельзя было выбрать повторно. [3] Для получения хорошей аппроксимации локальные швы также можно рассчитывать параллельно для меньших частей изображения. [4]

Проблемы

  1. Алгоритму может потребоваться информация, предоставленная пользователем, чтобы уменьшить количество ошибок. Это может заключаться в закрашивании областей, которые необходимо сохранить. Для человеческих лиц можно использовать распознавание лиц.
  2. Иногда алгоритм, удаляя шов с низкой энергией, может в конечном итоге непреднамеренно создать шов с более высокой энергией. Решение этой проблемы состоит в том, чтобы смоделировать удаление шва, а затем проверить дельту энергии, чтобы увидеть, увеличивается ли энергия (прямая энергия). Если это так, отдайте предпочтение другим швам. [5]

Реализации

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

Adobe Systems приобрела неисключительную лицензию на технологию вырезания швов у MERL [6] и реализовала ее как функцию в Photoshop CS4, где она называется Content Aware Scaling. [7] Поскольку лицензия не является эксклюзивной, другие популярные приложения компьютерной графики (например, GIMP , digiKam и ImageMagick ), а также некоторые автономные программы (например, iResizer) [8] также имеют реализации этой техники, некоторые из которых выпускаются как бесплатное программное обеспечение с открытым исходным кодом . [9] [10] [11]

Улучшения и расширения

Обзор восьми методов ретаргетинга изображений, проведенный в 2010 году, показал, что вырезание швов дает результат, который был признан одним из худших из протестированных алгоритмов. Однако это была часть одного из алгоритмов самого высокого ранга: упомянутого выше многооператорного расширения (в сочетании с обрезкой и масштабированием). [15]

Смотрите также

Рекомендации

  1. ^ abcdefg Авидан, Шай; Шамир, Ариэль (июль 2007 г.). «Вырезка швов для изменения размера изображения с учетом содержимого». Документы ACM SIGGRAPH 2007 . п. 10. дои : 10.1145/1275808.1276390 . ISBN 978-1-4503-7836-9.
  2. ^ Видья Сетлур; Саэко Такаге; Рамеш Раскар; Майкл Глейхер; Брюс Гуч (декабрь 2005 г.). «Автоматический ретаргетинг изображений». Материалы 4-й международной конференции «Мобильные и вездесущие мультимедиа» - МУМ'05 . стр. 59–68. дои : 10.1145/1149488.1149499 . ISBN 0-473-10658-2.
  3. ^ Бист; Палаккоде (2016). «Резьба по параллельному шву». www.andrew.cmu.edu .
  4. ^ аб Чен-Куо Чан; Шу-Фан Ван; И-Лин Чен; Шан-Хонг Лай (ноябрь 2009 г.). «Быстрая обработка видео на основе JND с ускорением графического процессора для ретаргетинга видео в реальном времени». Транзакции IEEE по схемам и системам видеотехнологий . 19 (11): 1588–1597. дои : 10.1109/TCSVT.2009.2031462. S2CID  15124131.
  5. ^ ab Улучшенная обработка швов для ретаргетинга видео. Майкл Рубинштейн, Ариэль Шамир, Шай Авидан. СИГГРАФ 2008.
  6. ^ Пресс-релиз Mitsubishi Electric, Business Wire, 16 декабря 2008 г.
  7. ^ Список новых функций Adobe Photoshop CS4.
  8. ^ iResizer Программное обеспечение для изменения размера изображений с учетом содержимого от Teorex
  9. ^ Liquid Rescale, плагин для вырезания швов для GIMP
  10. ^ Объявление о включении в digiKam
  11. ^ Возможность вырезания швов включена в ImageMagick.
  12. ^ «Улучшенная резьба по шву с использованием прямой энергии» .
  13. ^ Мультиоператорский ретаргетинг в СМИ. Майкл Рубинштейн, Ариэль Шамир, Шай Авидан. СИГГРАФ 2009.
  14. ^ Изменение размера изображения с учетом содержимого в реальном времени. Наука в Китае. Серия F: Информационные науки, 2009 НАУКА В КИТАЙСКОЙ ПРЕССЕ. Архивировано 7 июля 2011 года в Wayback Machine .
  15. ^ Рубинштейн, Майкл; Гутьеррес, Диего; Соркина, Ольга; Шамир, Ариэль (2010). «Сравнительное исследование ретаргетинга изображений» (PDF) . Транзакции ACM с графикой . 29 (5): 1–10. дои : 10.1145/1882261.1866186.См. также тест RetargetMe.

Внешние ссылки