Как работает Content-Aware?

В следующей версии Photoshop есть функция Content-Aware fill.

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

Смотрите http://www.youtube.com/watch?v=NH0aEp1oDOI для предварительного просмотра функции Photoshop, о которой я говорю.

Мой вопрос: Как эта функция работает алгоритмически?

26
27 марта '10 в 21:34
источник поделиться
7 ответов

Я являюсь соавтором ранее упомянутой здесь публикации PatchMatch, и я привел разработку оригинальной функции Content-Aware Fill в Photoshop, а также Иван Каверо Белаунде и Эли Шехтман в Лаборатории творческих технологий и Джефф Чиен в команде Photoshop.

Photoshop Content-Aware Fill использует высоко оптимизированную многопоточную вариацию алгоритма, описанного в документе PatchMatch, и более старый метод, называемый "SpaceTime Video Completion". Обе эти статьи приведены на следующей странице технологий для этой функции:

http://www.adobe.com/technology/projects/content-aware-fill.html

Вы можете узнать больше о нас на веб-страницах Adobe Research.

24
23 апр. '14 в 0:24
источник

Я предполагаю, что для небольших отверстий они захватывают аналогичные текстурированные участки, окружающие область, чтобы заполнить ее. Это описано в статье под названием " PatchMatch: Рандомизированный алгоритм переписки для структурного редактирования изображений" Коннелли Барнс и другие в SIGGRAPH 2009. Для больших отверстий они могут использовать большую базу данных изображений с аналогичной глобальной статистикой или текстурой, как описано в " Завершение сцены с использованием миллионов фотографий". Если бы они каким-то образом слились между собой, я думаю, что он должен работать, как в видео.

13
28 марта '10 в 20:37
источник

Существует очень похожий алгоритм для GIMP в течение довольно долгого времени. Он называется resynthesizer и, вероятно, вы должны найти источник для него (возможно, на сайт проекта)

ИЗМЕНИТЬ
Существует также источник, доступный в репозиторий ubuntu
И здесь вы можете обрабатывать одни и те же изображения с помощью GIMP: http://www.youtube.com/watch?v=0AoobQQBeVc&feature=related

8
28 марта '10 в 0:43
источник

Ну, они не собираются рассказывать по очевидным причинам. Общее название этой техники - "inpainting", вы можете посмотреть это.

В частности, если вы посмотрите, что сделал Криминиси в Microsoft http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.67.9407 и то, что Тодор Георгиев делает сейчас в Adobe http://www.tgeorgiev.net/Inpainting.html, вы сможете сделать очень хорошее предположение. Думаю, 90%, должно быть, достаточно хорошо.

4
28 марта '10 в 0:37
источник

Я работаю над подобной проблемой. Из того, что я читал, они используют "PatchMatch" или "непараметрическую выборку патчей" в целом.

PatchMatch: рандомизированный алгоритм соответствия для структурного редактирования изображений

2
29 марта '10 в 10:42
источник

Общий подход называется шовной резьбой. Группа Ариэль Шамир отвечает за семенную работу здесь, которая была представлена ​​в SIGGRAPH 2007. См. http://www.faculty.idc.ac.il/arik/site/subject-seam-carve.asp

1
06 сент. '10 в 13:17
источник

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


edit: просмотр последнего примера в видео; если вы посмотрите на верхнюю часть исходного изображения на любом краю, вы увидите, что линия выбора работает прямо по "пробелу" в облаках, и что прямо посередине есть "удар". Это те артефакты, которые я ожидаю увидеть, если мои догадки верны. (OTOH, я бы также ожидал увидеть их, это использование какого-то sudo-mirroring по границе выделения.)

0
28 марта '10 в 1:36
источник

Посмотрите другие вопросы по меткам или Задайте вопрос