Комментарии 25
Мне нравятся такие по настоящему хабратортные статьи. Потрясает количество проделанной работы масштабы исследования. Спасибо!
+6
Во многих местах был согласен с мнением автора, однако было бы здорово увидеть и какие-то объективные метрики.
+2
НЛО прилетело и опубликовало эту надпись здесь
Получается забавная, красивая, но бессмысленная вещь. Мы и так можем, глядя на фотографию, сказать, что небо и море должны быть синими, песок — жёлтым, а кожа человека — светлой. Но для меня лично было бы интересно совсем другое! В платье какого цвета была моя бабушка на курорте 60 лет назад? Какие были глаза у Ленина и волосы у Крупской? И так далее. А эти нейросети просто фантазируют за меня, «каким бы это могло быть».
Забавно. Но бестолково.
Забавно. Но бестолково.
0
НЛО прилетело и опубликовало эту надпись здесь
Так и надо говорить — не «восстановление цвета», а фантазия на тему. Ответ на вопрос «может ли робот создать картину» получен. Может. Но катастрофических успехов ИИ, чтобы вот «наконец-то настала новая эра, и механический идиот^W интеллект всё порешает!!!» тоже не видно.
0
НЛО прилетело и опубликовало эту надпись здесь
никакие нейросети не восстановят цветов платья вашей бабушки, потому что этой информации на фотке просто нет
Строго говоря, это не совсем так. Чувствительность пленки к различным частям спектра различна и опытные фотографы точно видят разницу между изображением где «стерта информация о цвете» и тем что снято на пленку. Особо прошаренные, возможно, и марку пленки могут назвать. И например в фотошопе есть (когда-то были, и возможно в виде плагина) отдельные фильтры для имитации разных пленок.
Впрочем, не факт, что этого достаточно чтобы именно восстановить цвет, а не додумать. А было бы интересно что смогла бы нейросеть знающая о типах пленок…
0
НЛО прилетело и опубликовало эту надпись здесь
Присоединяюсь, вручную когда корректировал погрешности специальной заливкой, заметил, что лишь небольшая часть вариантов ложиться на чб не выпирая левыми тонами.
Скорее всего можно создать точную модель, которая бы ограничивала поле вариантов для нейросети.
Скорее всего можно создать точную модель, которая бы ограничивала поле вариантов для нейросети.
0
Всё-таки отчасти цвета можно восстановить (имея сильный интеллект), зная цвета неба, неких известных вещей или источников света, и то как эти цвета могли бы влиять на разные предметы и их окружение. Например синяя чашка отраженным светом будет по-другому освещать прилегающие участки на зелёной скатерти, чем на красной, даже если чашка и скатерть в ч.б. будут одинаковой яркости.
0
НЛО прилетело и опубликовало эту надпись здесь
А каким алгоритмом обесцветили тестовые изображения? Даже в простом случае при конвертации rgb-каналы должны взвешиваться разными коэффициентами вклада в яркость. В том же фотошопе desaturate и black and white работают по-разному. Подозреваю что снятые на чб пленку/сенсор снимки могут существенно отличаются в гистограммах яркости от обесцвеченных цветных. Не говоря уже снимках современных смартфонов со всякими AI-камерами и постпроцессингом.
Интересно, на каких данных эти модели тренировались, была ли какая-нибудь аугментация по tone mapping/curves и важно ли это вообще?
Интересно, на каких данных эти модели тренировались, была ли какая-нибудь аугментация по tone mapping/curves и важно ли это вообще?
0
1. Мне кажется, что разница между разными способами перехода к ч.б. сильно ниже вариаций по другим причинам. Если бы алгоритм был предназначен для ювелирной работы с изображениями от одного постоянного источника, об этом можно было задумываться. Я не запаривался, простой grayscale по яркости. Вот влияние контраста очень сильное, это прямо проблема.
2. White paper: обучали на ImageNet.
В коде препроцессинга заметил только random_crop.
Для архитектуры типа Deoldify очень важно использовать широкий спектр искажений.
Для Vision Transformer, честно, не знаю, но интуитивно подозреваю, что это не даёт сильного улучшения. При обучении на распределенных TPU вряд ли бы они экономили.
2. White paper: обучали на ImageNet.
В коде препроцессинга заметил только random_crop.
Для архитектуры типа Deoldify очень важно использовать широкий спектр искажений.
Для Vision Transformer, честно, не знаю, но интуитивно подозреваю, что это не даёт сильного улучшения. При обучении на распределенных TPU вряд ли бы они экономили.
+3
Hi! Thanks for your work and informative article!
The major advantage of the Colorization Transformer (as compared to DeOldify) is that it can generate multiple colorizations. In fact, the different colorizations that you have shown due to version changes are actually due to the stochasticity of the model. For eg, in the training dataset, if the model has seen two different birds with a green and blue color, the generated colorizations are likely to reflect that.
Using this, one can generate multiple colorizations, till they find the one they like. We show detailed examples of this from page 20 to 24 of openreview.net/pdf?id=5NA1PinlGFu
The major advantage of the Colorization Transformer (as compared to DeOldify) is that it can generate multiple colorizations. In fact, the different colorizations that you have shown due to version changes are actually due to the stochasticity of the model. For eg, in the training dataset, if the model has seen two different birds with a green and blue color, the generated colorizations are likely to reflect that.
Using this, one can generate multiple colorizations, till they find the one they like. We show detailed examples of this from page 20 to 24 of openreview.net/pdf?id=5NA1PinlGFu
+3
Wow! Creator of ColTran here. Your work is fantastic!
Can I ask some questions?
1. Your explanation helped me finally get my head around the reasons for the different results and examples in the documentation. But how should variations be managed? I did not notice in the README or in the code any such thing.
2. Is there much importance of data augmentation (tone, contrast, brightness, noise) during training?
Can I ask some questions?
1. Your explanation helped me finally get my head around the reasons for the different results and examples in the documentation. But how should variations be managed? I did not notice in the README or in the code any such thing.
2. Is there much importance of data augmentation (tone, contrast, brightness, noise) during training?
0
Thanks for the kind words!
1. One way to control variations is to peak the predicted distribution per-pixel. This can be done by simply dividing the logits with a scalar T from 0.0 to 1.0. (https://github.com/google-research/google-research/blob/master/coltran/models/colorizer.py#L278). T controls the trade-off between diversity and accuracy and as it approaches 0.0, the model will generate colors with dull, greyish tones.
Top-k sampling is also possible, i.e use only the top k colors as given by the predicted logits. With small values of K, for eg. 4 and 8 (out of 512), I show some performance improvements in Figure 6 of the paper. (https://openreview.net/pdf?id=5NA1PinlGFu)
2. For the model in the paper, I just did some random crops. I did some experiments with some basic augmentations (rotation, flip, patch-wise gaussian noise) but IIRC, it always hurt performance. My intution was as follows:
The current model still underfits on ImageNet. So allocating some capacity of the model to colorize images with «corruptions» could hurt its ability to colorize «clean» uncorrupted images.
1. One way to control variations is to peak the predicted distribution per-pixel. This can be done by simply dividing the logits with a scalar T from 0.0 to 1.0. (https://github.com/google-research/google-research/blob/master/coltran/models/colorizer.py#L278). T controls the trade-off between diversity and accuracy and as it approaches 0.0, the model will generate colors with dull, greyish tones.
Top-k sampling is also possible, i.e use only the top k colors as given by the predicted logits. With small values of K, for eg. 4 and 8 (out of 512), I show some performance improvements in Figure 6 of the paper. (https://openreview.net/pdf?id=5NA1PinlGFu)
2. For the model in the paper, I just did some random crops. I did some experiments with some basic augmentations (rotation, flip, patch-wise gaussian noise) but IIRC, it always hurt performance. My intution was as follows:
The current model still underfits on ImageNet. So allocating some capacity of the model to colorize images with «corruptions» could hurt its ability to colorize «clean» uncorrupted images.
+2
deleted
0
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Mode on: Сравнить две лучшие системы автоматического оцветнения