Удаление объектов на фотографии

    Как удалить объект на фотографии так, чтобы не осталось черного пятна? Чтобы место этого объекта заняли другие объекты, и никто бы этого не заметил? Долгое время считалось, что эта задача почти неразрешима. Предлагались такие псевдо-решения, как, например, замазать дырку какой-нибудь текстурой:
    akvis.com/ru/multibrush-tutorial/examples/removing-object.php

    Наконец, на конференции SIGGRAPH в 2007 году было предложено уникальное по своей функциональности и возможностям решение. Не откажите себе в удовольствие посмотреть этот уникальный доклад (на английском):
    www.youtube.com/watch?v=vIFCV2spKtg

    На меня этот метод сразу произвел впечатление своей революционностью. Приятно видеть, что это решение сегодня уже используется в последних версиях PhotoShop, а также в пользовательских программах, например этой:
    www.tintguide.com/ru/imageresize.html

    Итак, метод очень прост.
    а) Составляется карта плотности градиентного поля.
    б) Через объект, подлежащий удалению, проводятся кривые, вдоль которых плотность градиентного поля минимальна. Эти кривые «схлопываются», пиксели, расположенные на них, удаляются. (Размер картинки уменьшается при этом на N пикселей по ширине).
    в) На новом изображении находится снова кривая, вдоль которой плотность градиентного поля минимальна. Она дублируется, т.е. каждый пиксель заменяется на два. (Размер картинки увеличивается при этом на 1 пиксель по ширине).
    г) Шаг в) повторяется N раз

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

    UPDATE: Как выяснилось, эта технология уже обсуждалась на Хабре вот зедсь www.habrahabr.ru/blogs/algorithm/48518, что очень приятно.
    Gil Algorithms
    Компания
    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее
    Реклама

    Комментарии 58

      –3
      Видео впечатляет, очень и очень крутая технология
      +21
      это было новостью два года или год назад
        0
        Совершенно согласен. Раз здесь — это не новость, значит, мы попали по адресу :)
        А то у меня уже какое-то отчаяние наступило.
          +2
          А, это же Вы недавно пиарились что разрабатываете алгоритмы под конкретные проекты? Непонятно тогда зачем постить этот боян, тем более уже изобретённый — что нибудь новенькое было бы гораздо интересней :)
            0
            Честно говоря, думал, что здесь его не знают :)) Очень приятно общаться с профессионалами.
            Надеюсь, может быть кто-нибудь из них откликнется также на нашу вакансию.
          –3
          СЕМЬ лет тому назад!
          Автор — многими нелюбимая почему-то Microsoft
          research.microsoft.com/en-us/news/features/video_editing.aspx
          +6
          Но ведь это боянище двухлетней давности. И на Хабре были статьи, и даже с реализацией алгоритма: habrahabr.ru/blogs/algorithm/48518/

          И какое отношение ко всему этому имеет Gil Algorithms?
            0
            Никакого. Думал, будет интересно. Раз боян, наверное сотру.
              0
              Зачем? интересно же.
                +2
                Нас тут проверяют, насколько мы «крутые». Но мне это нравится, если честно.
                  +5
                  Толпа требует зрелищ. Побольше примеров, желательно своих.
                    0
                    Своих не буду, уже говорил почему. Но думаю, следующие посты будут интереснее, т.е. сложнее.
                      +3
                      Тогда назовитесь не «блог компании», а как-нибудь по-другому.
                    +1
                    да никто не проверяет, просто когда компания сама себя позиционирует «крутой», то логично возникает вопрос почему же она так думает
                      0
                      Возможно, это ощущение возникает от регулярного восторга от найденных решений?
                        +6
                        Ах, позвольте же, позвольте и нам разделить с вами этот восторг!
                          +7
                          возможно.
                          а вы еще потом спрашиваете, за что вас минусуют — ну крутые вы программисты, сильные математики. лучшие из лучших. исходя из ваших топиков и комментов, думаю, это поняли все. а как вас просят показать найденные решения — они засекречены и вы никак не можете ничего рассказать. зато пишете пост (замечу, не самый информативный) об известной технологии, отправляете на свой сайт смотреть ваших клиентов, смотреть ваше резюме на linkedin… так вот, зачем это все?
                          не подумайте, что я на вас наезжаю или что-то подобное — напротив, мне интересна отрасль в которой вы себя заявляете, но одними вашими комментами о рассуждениях полезности алгоритмов и математики сыт не будешь :-)
                            –9
                            отличный коммент
                            я — HR компании Gil Algorithms, зашла сюда взглянуть на происходящее.
                            если тема «еды» — самая актуальная для вас и это то, ради чего вы сюда зашли и что вы ждете от нашей компании — нет проблем. высылайте мне свое СV, я вышлю вам наши задачи, вы их блестящим образом решите и мы предложим вам работу, хлеб, масло (чем еще вы питаетесь, то и предложим). ну и наши внутренние технологии в нагрузку.
                            будете все знать из первых рук.
                            правда учтите — ко всему этому пакету будет прилагаться соглашение о неразглашении. такие уж у нас зверские условия работы
                              +5
                              Без обид, но Вы немного агрессивны, как для HR пытающейся пропиариться компании. Берите пример с algorithmist — спокойная уверенность и вежливость — лучшая политика.

                              А с kastaneda я согласен — разговоры о «высших материях», важности математики и посты давно известных технологий — это всё толку мало даёт. Неужно среди десятков ваших технологий и алгоритмов не найдется ни одного, который можно было бы рассекретить и показать? Ну и на что Вы тогда надеетесь, если Вы такие жадные?
                                –5
                                извините, но мы не пытаемся пиариться)))))))))
                                я уже говорила, но могу повторить — мы не ищем здесь клиентов, и мы не пытаемся пропиарить свою компанию на этом ресурсе
                                я полагаю именно это НЕДОПОНИМАНИЕ лежит в основе большей части здешних «баталий»
                                если вы примете за основу это утверждение, вы сможете увидеть и услышать нас в другом свете)))))
                                потому что мы пришли на российский рынок, чтобы найти умных, нестандартно мыслящих людей. для себя. и для других)))) а для этого нам оказалось нужным понять — что вообще здесь происходит по части разработок.
                                мы очень рады, когда нам задают вопросы, мы рады участию в дискуссиях, мы рады и критике тоже — потому что даже и в критических отзывах мы иногда видим тех самых «супер» людей))), умеющих думать и размышлять, проактивных людей с высокой поисковой активностью.
                                найм, партнерские отношения, обсуждения, споры, поиски истины — все это нам интересно. вот только пиарить или продавать себя — не интересно. уж извините, что разочаровали вас))))))
                                что касается наших технологий — ну постарайтесь подумать. вот вы — компания, которая разрабатывает что-то, за что клиенты готовы платить деньги. предположим вы разработали пять кило этого чего-то и продали пяти компаниям и заработали пять миллионов. но за что-то же вам заплатили это пять миллионов? как вы считаете — вашим нынешним и будущим клиентам понравится, что вы опубликуете в открытом доступе то, за что они вам заплатили? и что, совершенно естественно, считают СВОЕЙ собственностью. подумайте))))) мне кажется это так легко))))
                                  +4
                                  для этих целей вам не нужен «корпоративный блог» на хабре.

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

                                  А методами, которыми вы действуете на данный момент настраиваете толпу против себя.
                                    +1
                                    А если Вы ищете сотрудников и партнеров — напишите сюда какую-нибудь задачу из Вашей области деятельности, дайте на это дело какой-никакой призовой фонд и посмотрите кто и как будет её решать. Сразу станет понятно кто есть кто. И народ развлечете и себе представление о людях составите.
                                      +1
                                      вот кстати очень неплохая идея, спасибо!!!
                      0
                      Не стирайте, я вот только сейчас узнал про этот алгоритм. Жду новых статей, даже можно не подробных, очень интересно.
                    +8
                    Думаю никто не против таких постов, но в блоге компании обычно ожидаешь увидеть технологии и разработки этой компании, поэтому такой пост немного необычен
                      –1
                      Технологии и разработки мы не можем публиковать.
                        +1
                        Хм… А зачем тогда нужен Ваш блог?
                          0
                          Немного рассказать о себе, возможно найти единомышленников.
                          В принципе, я рассчитывал говорить больше о нас как о команде, принципах и т.п.
                          +5
                          Опубликуйте результаты работы этих ваших алгоритмов ;)
                          Никто же не просит Вас исходники выкладывать.

                          За пост спасибо, не знал о такой технологии.
                            0
                            придумайте специально для публики.
                              +1
                              А зачем придумывать? Лучше рассуждать на темы, которые волнуют участников дискуссии, как мне кажется. Мне задали несколько вопросов, я потихоньку на них отвечаю.

                              Правда пока еще не удалось серьезно поговорить. Все силы уходят на какое-то бесконечное доказывание: правильное ли название у блога, а еще имеем ли мы право считать себя хорошими алгоритмистами, если мы не опубликовали в нем ни строчки кода.
                                +1
                                ваша цель мне ясна (я так думаю), только вот мне лично кажется, что вы вышли на слегка не подготовленную территорию, поэтому у вас и много потерь на «трения» о рассуждения о блоге и развеивания правомерного скепсиса. Вы могли бы начать из-под тишка с публикации хороших, информативных постов, потихоньку готовить публику к открытию вашего корпоротивного блога.

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

                                Хотя, может быть из настоящих дискуссий вы итак извлечете для себя желаемую пользу.
                                  +1
                                  Вы, наверное, правы. Но я признаюсь, уже точно знаю, что через неделю не смогу сидеть на Хабре, как сейчас. Даже эти дни мне пришлось отрывать от работы с большим трудом.

                                  Посмотрим…
                            0
                            Мы ищем людей, а поговорить о чем-нибудь известном в узких кругах — как раз хороший способ начать дискуссию.
                            Кроме того, хотелось немного рассказать о том, чем мы занимаемся.

                            Ведь никто не предполагает, что в блоге компании Google будут выкладываться коды PageRank-а, мне кажется. А мы, к тому же, сервисная компания, у нас нет своего продукта, чтобы его восхвалять.
                              +2
                              Не обязательно выкладывать коды, чтобы о чем-то поговорить :) Уж google то не страдает отсутствием тем для беседы. И все они будут касаться его.
                              У вас сложнее — нет продукта — нет темы… Но всегда можно что-то придумать, стоит посмотреть блоги других компаний, не все из них восхваляют свои продукты и сервисы в каждой теме, бывают и неожиданные темы
                            +1
                            в фотошопе не привык работать, а вот в Ulead PhotoImpact уже почти 10 лет рисую, хотел бы узнать, может есть такой компонент в виде плагина? к UPI подходят многие плагины от ФШ, по крайней мере раньше
                              0
                              Меня больше интересует, есть ли плагин для подобной штуки под GIMP. Очень понравилось.
                                +1
                                Прочитал статью хабра, которая приведена внизу текущей статьи и нашёл:
                                Расширение Liquid Rescale для GIMP и ImageMagick, основаны на библиотеке liblqr
                                  +2
                                  Да, существует. Разработчики начали как раз с разработки плагина к Gimp'у.
                                  0
                                  Даешь библиотеку РНР!
                                  • НЛО прилетело и опубликовало эту надпись здесь
                                    +3
                                    Ну, во-первых, как уже было сказано — баян.
                                    Во-вторых, это далеко не первое и не единственное «умное» решение такой задачи. Алгоритмы синтеза текстур в том числе могут быть использованы для «замазывания» кусков изображения и при этом показывают более впечатляющие результаты. Здесь слово «текстуры» никакого отношения к первой ссылке в посте не имеет. Но это гораздо более хитрая вещь и работает, естественно, медленнее.
                                    www.cc.gatech.edu/gvu/perception//projects/graphcuttextures/
                                      –1
                                      Спасибо! Очень инетерсно, почитаю.
                                      0
                                        0
                                        ааа… в том блоге была эта ссылка, но все же — отличный инструмент
                                        +1
                                        все наверное в курсе, что это УЖЕ встроено в фотошоп CS4? Пользуюсь примерно с пол-года.
                                          0
                                          извините за офтоп
                                          А только у меня впечатление, что бедуина на фотке изначально не было?
                                          Это я про ссылку:
                                          akvis.com/ru/multibrush-tutorial/examples/removing-object.php
                                            0
                                            А есть такой плагин для Adobe Lightroom
                                              0
                                              Видео порядка 3-х лет, технология была куплена компанией Adobe, успешно интегрирована в Adobe Photoshop 11 пакета Adobe Creative Suite 4, находится — Edit / Content-Aware Scale
                                                0
                                                а как в фотошопе так же объекты удалять? как в видео?
                                                  0
                                                  Да. Причем начиная, навскидку, с седьмой версии. Инструмент clone. Потом они его постепенно апгрейдили, вплоть до CS4 (11-я версия фотошопа), введя несколько похожих, но с различными пресетами инструментов.
                                                    0
                                                    а ну точно там есть вариант где ожно просто кусок замазать а он его волшебно чем то закроет все точняк. вот оказывается он по какому алгоритму =) и теперь монятно чего он тупит страшно иногда
                                                +2
                                                А мне вот интересно, когда алгоритм Shai Avidan и Ariel Shamir разгонят до работы в реальном времени в современных телевизорах, чтобы без зарезаний и полей делать преобразование 4:3 <--> 16:9?
                                                  0
                                                  Кстати, классная идея! Спасибо.
                                                    0
                                                    Интересно, а эти алгоритмы будут нормально смотреться в видео? Если я правильно понял, они предназначены для статической картинки
                                                      0
                                                      А черт его знает. Но все равно это будет лучше, тем тот ужас, который сейчас показывают на широкоформатных экранах — растянутые люди и т.п.
                                                      Мне кажется, что если немного поработать, то можно сделать видео вполне нормальным. Сдесь же растяжение, не сжатие, а значит теряться информация точно не будет, даже в случае ошибок. А алгоритм можно оптимизировать для работы в реальном времени, это не должно быть сильно сложно.
                                                      С широкоформатными телевизорами, мне кажется, произошла та же история, что и всегда. Хотели побыстрее выкинуть товар на рынок, потом люди начали покупать и так, и фирмы решили «а чего напрягаться?» Два дня назад в МЕТРО смотрел ЖК телевизоры, так там же в картинке баг на баге! И алиаисинг, и зубчатый край у объектов. И ничего, все равно покупают :)
                                                        0
                                                        Выгуглил статью авторов алгоритма на эту тему: www.shaiavidan.org/papers/vidretLowRes.pdf Насколько я понял, они предлагают для видео искать вместо связных 2D цепочек связные 3D-поверхности в пространстве временем. К сожалению для realtime видимо такой алгоритм плохо адаптируется(.

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

                                                  Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                                                  Самое читаемое