Comments 43
Было бы неплохо, если бы результат можно было бы выгрузить, например, в формате Photoshop, где изображение было бы разделено на слои для колоризации. Так можно было бы откорректировать, если результат не совсем тот, что ожидался.
+3
В целом результат впечатляет, но только если на фото люди в военной форме, идеально получается если на фото люди по пояс. Но вот если дети или женщины в платьях, то все закрашивается зеленоватым цветом.
+2
UFO just landed and posted this here
Картинку, раскрашенную нейросетью, проще всего оказалось определить по цвету «красного» крестика на сумке =)
Тем не менее, очень впечатляет!
Тем не менее, очень впечатляет!
+6
Какая-то любовь к зеленому цвету. Скорее всего особенность обучения на военной форме/ экипировке.
Оригинальный цвет:
The hat was available in eight colors: Lipstick Red, Tangerine, Flamingo, Canary Yellow, Chartreuse, Blush Pink, Rose Pink and Tan.
Оригинальный цвет:
+1
Весьма неплохо
0
Молодцы, отлично работает, респект!
0
А не пробовали натаскать алгоритм отдельно на награды? Там же цвета лент строго определённые и, по идее, должны достаточно просто определятся, потом эту информацию как опорную использовать.
+3
Верно, отдельной сеткой выискивать награды — классифицировать их, и потом фрагмент раскрашивать сектой тренированной именно на эту награду.
В реставрации исторических фотографий — очень важна именно достоверность. Иначе потом будем в сети находить холивары ссылками на неверно раскрашенные фото.
В реставрации исторических фотографий — очень важна именно достоверность. Иначе потом будем в сети находить холивары ссылками на неверно раскрашенные фото.
+1
И погоны. И детали формы. И затем цвет формы выбирать с оглядкой на перечень найденного
0
UFO just landed and posted this here
Сеть, насколько я понял, тренирована на белых людях.
А какого-нибудь смуглого таджика она насколько правильно раскрасит?
PS Да, я знаю, что есть белокожие таджики, но есть и с кожей цвета кофейных зёрен.
А какого-нибудь смуглого таджика она насколько правильно раскрасит?
PS Да, я знаю, что есть белокожие таджики, но есть и с кожей цвета кофейных зёрен.
+2
Немного не по теме, но всё же. Вы пишете, что делали это к 9 мая. Я в конце апреля занялся подготовкой фотографии к празднику. Много часов потратил. Так где же Вы были? Я по нескольку раз в день захожу на главную страницу mail.ru. Но анонса сервиса не видел.
+1
Привет! Никогда не бывает достаточно анонсирования, даже в таком массовом деле. Мы подключили огромные ресурсы (СМИ, внутренние размещения, даже промо в соц. сетях), и множество людей увидели его, но вы в их ряды каким-то образом не попали( Это печаль.
Подписывайтесь на нас в соц сетях (VK, FB, Twitter). А еще лучше поделитесь в комменте, где нужно разместить анонс, чтобы вы его 100% увидели?)
Подписывайтесь на нас в соц сетях (VK, FB, Twitter). А еще лучше поделитесь в комменте, где нужно разместить анонс, чтобы вы его 100% увидели?)
-1
Извините, но я просто не пользуюсь соцсетями. Но ежедневно пользуюсь почтой, в том числе через браузер. Неужели этого оказалось не достаточно? При просмотре почты мне же показывают всякие баннеры типа «помогите! спасите!» или вот прямо сейчас информация о новом интерфейсе. Можно было бы на их месте.
0
Приятно, что регулярно пользуетесь.) А интерфейс новый не пробовали еще?
0
Вот интересно, какой это умник меня отминусовал? И что ему не понравилось в словах, не относящихся к статье и обращённых к совершенно конкретному человеку? Его не учили, что влезать со своим мнением в чужой разговор как минимум не культурно? Вот это и есть поколение Y во всём своём проявлении (это, правда, из другой публикации здесь, на хабре). Не разобрался, увидел незнакомые слова или ещё что и минусанул. Зачем? Сам не знает.
-1
Дык он же говорит, на главной mail.ru
0
Ну в принципе довольно неплохо но еще очееень далеко до крепкой 8)) Проблема в том что к примеру при использовании фотографий просто сделанных черно белыми он вырезал некоторые детали с фоток которые считал браком XD К примеру на девушке в порванных джинсах он попытался зашить дырки на джинсах XD А там где не смог зашить просто увеличил надорванность.
+2
Не очень хорошо справляется с горизонтальными черно-белыми полосами
Оригинал
Восстановленный
+1
Отличная статья, в которой грамотно разбиты разные этапы обработки изображения. Вдвойне круто, что сервис доступен онлайн. Интересно, военные фотография — это самая сложная категория изображений для восстановления (так как присутствуют разные типы дефектов)? Применимы ли похожие алгоритмы для интро- или экстраполяции медицинских изображений (где тоже, например, возможны вырезанные фрагменты)?
+1
Я бы остановился на удалении дефектов. Погоны с просветами серо-буро-малинового цвета, ленты медалей цвета «какой попался» (обычно красный), цвет формы часто туда же. Слишком уж сложная задача — сделать это всё нормально. Но это может я заклёпочник такой.
Поигрался заодно с фото самолётов с людьми или без ради интереса — обычно всё плохо, конечно, но попалось фото, которое вышло почти отлично.
Поигрался заодно с фото самолётов с людьми или без ради интереса — обычно всё плохо, конечно, но попалось фото, которое вышло почти отлично.
Было
Стало
+4
Спасибо что поделились :)
Сервис возвращает три фотографии:
1) колоризованную с закрашенными дефектами
2) колоризованный оригинал
3) оригинал с закрашенными дефектами.
Вы можете скачать любой из этих вариантов.
Третья фотография — ровно то, что вам нужно.
Сервис возвращает три фотографии:
1) колоризованную с закрашенными дефектами
2) колоризованный оригинал
3) оригинал с закрашенными дефектами.
Вы можете скачать любой из этих вариантов.
Третья фотография — ровно то, что вам нужно.
0
Ага, я уже разобрался что сам себя запутал, спасибо, только пост не успел отредактировать вовремя. Добавил сервис в закладки, пригодится, спасибо за хорошую штуку.
0
Было бы классно если при загрузке изображения можно было указать какой-то фрагмент и выбрать для него цвет, чтобы был эталон для раскрашивания, либо сервис в зависимости от затененности того или иного фрагмента предлагал выбор цвета
+1
Это хорошая идея, люди работают в этом направлении: richzhang.github.io/ideepcolor
Мы решили сделать наш сервис максимально простым для пользователя, поэтому не добавляли возможность выбора цвета.
Мы решили сделать наш сервис максимально простым для пользователя, поэтому не добавляли возможность выбора цвета.
0
Не помню где читал, что когда мало фоток для обучения, каждую фотографию скармливают по многу раз, каждый раз поворачивая на, скажем, один градус, тогда будет на 360 фотографий больше. Природа сверточных сетей такова, что для них это иногда хорошо срабатывает. В вашем случае надо поворачивать фото и сделаную вручную разметку дефектов.
+1
жаль что дети сейчас не смотрят хронику чернобелую
возможно что совместно с культура рф вам удастся оцифровать союзкиножурнал за 1941-45
и сделать его цветным
пытался посадить родственицу 15 л за хронику
а ей скучно
худ фильмы к сожалению именно худ фильмы
возможно что совместно с культура рф вам удастся оцифровать союзкиножурнал за 1941-45
и сделать его цветным
пытался посадить родственицу 15 л за хронику
а ей скучно
худ фильмы к сожалению именно худ фильмы
+1
Если предположить, что соотношение яркостей объекта на ЧБ фото несет хоть какую-то информацию о цвете, то можно предложить расцвечивание фото в два этапа.
На первом этапе выделять объекты чей цвет более-менее достоверно возможно установить по форме — участки кожи человека, небо/море/облака, растительность, а в контексте данного примера еще и цвет знаков различия и наград. Далее востанавливаем цвет только этих объектов.
На втором этапе уже подаем на вход два снимка — исходный чернобелый и исходный с востановленными «достоверными цветами», пытаясь по востановленным цветам и соотношениям яркости угадать остальные недостающие цвета.
Соответственно это должны быть N+1 сетей натренированных на специальных наборах данных, которые вобщем-то можно получить из наборов цветных фото.
Мысль выглядит достаточно очевидной, но нигде не читал о таком подходе. Я чего-то не понимаю и это по каким-то причинам невозможно или не имеет смысла?
На первом этапе выделять объекты чей цвет более-менее достоверно возможно установить по форме — участки кожи человека, небо/море/облака, растительность, а в контексте данного примера еще и цвет знаков различия и наград. Далее востанавливаем цвет только этих объектов.
На втором этапе уже подаем на вход два снимка — исходный чернобелый и исходный с востановленными «достоверными цветами», пытаясь по востановленным цветам и соотношениям яркости угадать остальные недостающие цвета.
Соответственно это должны быть N+1 сетей натренированных на специальных наборах данных, которые вобщем-то можно получить из наборов цветных фото.
Мысль выглядит достаточно очевидной, но нигде не читал о таком подходе. Я чего-то не понимаю и это по каким-то причинам невозможно или не имеет смысла?
0
Быстрый ответ: надежнее сделать большую сеть, которая будет раскрашивать изображение за один проход.
Если по частям:
1) Подход, про который вы рассказываете, называется бустингом. Мы берем N базовых алгоритмов, и учим каждый следующий алгоритм исправлять ошибки предыдущего. Я не встречал в современных работах по колоризации такого подхода. Думаю, это связано с тем, что сеть проще обучить одну большую сеть сразу предсказывать цвета всех пикселей чем учить много маленьких сетей исправлять ошибки друг друга. Для лучшего визуального качества сейчас часто используют GANы, которые тяжело учить и так, поэтому дополнительно усложнять архитектуру генератора не хочется.
Вторая сложность реализации вашей идеи — «это должны быть N+1 сетей натренированных на специальных наборах данных, которые вобщем-то можно получить из наборов цветных фото» — непонятно по каким критериям отбирать наборы цветных фотографий.
Если по частям:
1) Подход, про который вы рассказываете, называется бустингом. Мы берем N базовых алгоритмов, и учим каждый следующий алгоритм исправлять ошибки предыдущего. Я не встречал в современных работах по колоризации такого подхода. Думаю, это связано с тем, что сеть проще обучить одну большую сеть сразу предсказывать цвета всех пикселей чем учить много маленьких сетей исправлять ошибки друг друга. Для лучшего визуального качества сейчас часто используют GANы, которые тяжело учить и так, поэтому дополнительно усложнять архитектуру генератора не хочется.
Вторая сложность реализации вашей идеи — «это должны быть N+1 сетей натренированных на специальных наборах данных, которые вобщем-то можно получить из наборов цветных фото» — непонятно по каким критериям отбирать наборы цветных фотографий.
0
То ли я плохо объяснил, то ли не до конца понял ответ…
Я не говорил об исправлении ошибок, я говорил о опоре на данные полученные от других сетей.
Вот пример — допустим нам надо красить преимущественно фото сделанные на улице на которых практически всегда есть небо. Тогда мы берем набор цветных фото (набор 1) и обесцвечиваем на них все кроме неба (набор 2), и обесцвечиваем вообще все (набор 3).
Сеть А, мы на наборах 3 и 2 обучаем узнавать на фото небо и раскрашивать его. Оно всегда будет иметь преимущественно синий цвет, очевидно.
Сеть Б, мы уже обучаем на всех 3 наборах где входные будут наборы 2 и 3, а выходной набор 1.
Таким образом сеть А будет выполнять простую достаточно задачу — раскрашивать только один элемент фото с цветом которого тяжело ошибиться. В то же время сеть Б будет опираться как на ЧБ фото, так и на достоверно известный цвет и сможет использовать отношения яркостей в поисках цвета.
Применительно к данной задаче можно бы было натренировать N сетей А, работающих с известными им наградами и элементами формы и одну сеть Б востанавливающую недостающие цвета.
Я не говорил об исправлении ошибок, я говорил о опоре на данные полученные от других сетей.
Вот пример — допустим нам надо красить преимущественно фото сделанные на улице на которых практически всегда есть небо. Тогда мы берем набор цветных фото (набор 1) и обесцвечиваем на них все кроме неба (набор 2), и обесцвечиваем вообще все (набор 3).
Сеть А, мы на наборах 3 и 2 обучаем узнавать на фото небо и раскрашивать его. Оно всегда будет иметь преимущественно синий цвет, очевидно.
Сеть Б, мы уже обучаем на всех 3 наборах где входные будут наборы 2 и 3, а выходной набор 1.
Таким образом сеть А будет выполнять простую достаточно задачу — раскрашивать только один элемент фото с цветом которого тяжело ошибиться. В то же время сеть Б будет опираться как на ЧБ фото, так и на достоверно известный цвет и сможет использовать отношения яркостей в поисках цвета.
Применительно к данной задаче можно бы было натренировать N сетей А, работающих с известными им наградами и элементами формы и одну сеть Б востанавливающую недостающие цвета.
0
Понял :)
Я бы реализовывал вашу идею так: взял бы какой-нибудь детектор на много-много классов, искал бы объекты и для каждого из них учил бы отдельную сеть. Но мне кажется, что такой подход работал бы не сильно лучше одной большой сети.
Продакшн система с вашим решением требовала бы слишком много мощностей, поэтому я бы не стал такое реализовывать.
Я бы реализовывал вашу идею так: взял бы какой-нибудь детектор на много-много классов, искал бы объекты и для каждого из них учил бы отдельную сеть. Но мне кажется, что такой подход работал бы не сильно лучше одной большой сети.
Продакшн система с вашим решением требовала бы слишком много мощностей, поэтому я бы не стал такое реализовывать.
0
отличный результат! спасибо вам.
будет ли сервис доступен «всегда»? или может вы выпустите standalone приложение?
будет ли сервис доступен «всегда»? или может вы выпустите standalone приложение?
+1
Sign up to leave a comment.
Реставрируем фотографии с помощью нейросетей