- Это будет небольшое введение в апскейл/улучшение изображений с помощью ИИ. Постараюсь обновлять пост по мере того, как узнаю больше, чтобы он оставался полезным и становился лучше (а также перепишу некоторые части, чтобы было понятнее, грамотнее и аккуратнее оформлено). Обсуждение техник апскейла, опыта, софта, оценок этого софта и т.д. приветствуется.
- Уверен, все знают, что такое апскейл, но не все хорошо понимают, что такое апскейл через ИИ и как им пользоваться. Я говорю про глубокую искусственную нейросеть (Deep Learning), то есть по сути ИИ, который обучили на огромном датасете (в нашем случае — куча изображений), чтобы он «научился». В итоге получается ИИ, который точнее увеличивает картинку и добавляет детали, которых обычный апскейл не даёт.
- Апскейл — это не магия. Например, если на книге в кадре совершенно нечитаемый текст, апскейл его не исправит. Это просто способ повысить разрешение картинок так, чтобы выглядело приятно, с большей резкостью, чёткостью и реализмом, чем при обычном апскейле. Но это не значит, что апскейл с ИИ не стоит использовать вместо обычного апскейла/ресемплинга — ещё как стоит. Результат не всегда хороший, но и не всегда плохой, а со временем будет только лучше. Иногда картинка апскейлится так хорошо, что получается практически идеально. Кроме того, апскейл с ИИ можно использовать просто чтобы убрать с картинки шум и артефакты сжатия, так что даже если разрешение вам не нужно, польза всё равно будет.
- Дам короткий список вариантов апскейла с ценой, платформой и лимитами. Качество апскейла я оценивать не буду: во-первых, это субъективно, а во-вторых, я не тестировал всё это. Кто знает, может, когда-нибудь протестирую и выложу картинки для сравнения, а может и нет — как решу.
- Часть вариантов работает через веб, что удобно: апскейлить можно практически с любого устройства с нормальным браузером и интернетом. Минусы: либо ограниченные возможности, либо платная подписка, и нужен интернет. Для тех, у кого медленный, нестабильный интернет или лимит трафика, это может быть не лучший вариант. Плюс никогда не знаешь, что они на самом деле делают с твоими картинками, так что если хочешь апскейлить что-то личное, лучше выбрать не веб-вариант.
- Другие можно скачать как программу — обычно плюс в том, что не нужен интернет и меньше ограничений (или вообще нет). Минусы: программа должна быть под твою платформу, и нужно устройство, которое её потянет, потому что в отличие от веба, где нагрузку берут на себя чужие серверы, тут всё считает твоё железо.
*Исходный код доступен на GitHub
**Через WINE
- Это не единственные варианты, их полно, так что если ничего не зашло — погугли что-нибудь вроде "AI Image Upscaling Software". Ещё можно глянуть этот link, где есть список других вариантов с плюсами и минусами. Лично я пользуюсь Gigapixel AI, потому что он работает на моём компе и у него нет серьёзных лимитов, кроме того, что нельзя апскейлить выше 32,000 x 32,000, а для меня это не проблема. Если вдруг понадобится апскейлить картинку больше гигапикселя, можно порезать её на куски поменьше, проапскейлить их, а потом смешать и склеить обратно.
- Когда выбрал, чем апскейлить, есть пара вещей, которые стоит сделать для лучшего результата. Во-первых, используешь ли ты лучшую версию картинки? Потому что почти у каждого фото в сети есть несколько копий, и они разного качества. Так что если ты взял картинку из интернета, и это не уникальное фото или скриншот конкретного кадра из видео, который ты сам сделал, стоит попробовать обратный поиск по картинке. Есть несколько вариантов, например Google, Bing, TinEye и т.д. (имеет смысл искать в нескольких сразу, они не всегда выдают одно и то же). Ещё можно использовать расширение для браузера, например Search by Image. Помни: если картинка старше, с большим разрешением или тяжелее по размеру файла, это не значит, что она лучшего качества. Чтобы повысить шансы найти оригинал, выясни, кто/что на картинке, когда/где она была снята/выложена и т.д., и по этим данным можно найти версию получше, а то и сам источник. Например, картинка может быть из определённой фотосессии или с какого-то мероприятия. Эта инфа может помочь.
- Когда у тебя есть лучшая копия картинки для апскейла (или хотя бы лучшая из найденных), можно заняться данными и архивацией. Я имею в виду, что чтобы фото было в порядке и осталось доступным для всех, я рекомендую пару вещей. Сначала используй VirusTotal, чтобы просканировать не только URL страницы, где лежит картинка, но и прямую ссылку на картинку и сам файл после скачивания. Это не обязательно, но я так делаю. Также рекомендую заархивировать URL страницы с картинкой и прямую ссылку через Wayback Machine и Archive.Today. Потом переименуй скачанный файл во что-то осмысленное и понятное (если у него уже нет такого имени). Дальше я часто использую FileOptimizer, чтобы максимально уменьшить размер файла (только lossless-оптимизация, чтобы не терять данные (качество)), чтобы он занимал меньше места, быстрее заливался и быстрее скачивался.
- Ладно, пора апскейлить! Ну, может быть. Видишь ли, иногда картинке нужна хотя бы небольшая подготовка перед апскейлом. Если на изображении много шума (будь то хроматический шум, световой шум и т.д.), апскейлер может (а может и нет, в каждом случае по-разному) с трудом отличать шум от деталей, и получится странный апскейл. Поэтому можно попробовать денойз перед апскейлом. Иногда денойз ухудшает результат, так что сравнивай сам. В других случаях картинка уже была растянута обычным апскейлом. Тогда попробуй смотреть её в разном масштабе ниже 100%, пока не найдёшь «золотую середину», где уже не видно артефактов обычного апскейла, вроде квадратиков или алиасинга. Хорошая отправная точка — зум 50%. Найдя эту «золотую середину», уменьши картинку до этого же размера (иногда лучше просто сменить размер, а иногда результат лучше при уменьшении с ресемплингом, типа lanczos или bicubic и т.д.). Как и с денойзом перед апскейлом, не всегда получается лучше, так что сравнивай. Ещё могут помочь немного размыть картинку, или наоборот добавить резкости, а иногда даже апскейл/ресемплинг.
- Когда загрузил картинку в апскейлер, выбрал идеальные настройки и вот-вот запустишь, тебя могут спросить, в каком формате и качестве экспортировать. Рекомендую экспортировать в lossless-формат вроде PNG, чтобы последующая правка давала лучший эффект. Ладно, ты проапскейлил картинку и получил приличный результат, что дальше? Можно выложить как есть, без доработки, это нормально, но небольшая доводка может сделать результат приятнее. Иногда в апскейле появляется шум, даже если в исходнике его вроде не было. Тогда лучше убрать его как можно лучше, чтобы выглядело чуть лучше. Картинка (целиком или только некоторые места) также может выглядеть немного, как бы сказать, гладкой? Пластиковой? Что-то в этом духе. Тогда простой способ улучшить её — добавить зерна. Лично я предпочитаю мелкое зерно крупному, но можешь выбирать что хочешь. Зерно добавляет своего рода «фейковую детализацию», и, по-моему, картинка выглядит чуть более фактурной. Ещё может быть полезно уменьшить картинку, так как в апскейле бывают странные детали, а даунскейл снижает их заметность, сохраняя визуальные улучшения. Если хочешь совместить денойз, даунскейл и зерно, порядок такой: Денойз → Даунскейл → Зерно.
- Картинке также могут понадобиться (или хотя бы пойдут на пользу) ручные правки в Photoshop или GIMP. Однако у меня пока нет опыта в этом, но это может измениться, и тогда я напишу небольшой раздел о ручной доводке апскейла. Так что идём дальше: твой апскейл теперь готов. Перед заливкой подумай, не уменьшить ли картинку или не сжать ли её с потерями, потому что апскейлы иногда получаются очень тяжёлыми (может быть сотни мегабайт на одну картинку). Я предпочитаю заливать исходник (без изменений и в оригинальном формате, но с lossless-оптимизацией), lossless WEBP-версию апскейла (она обычно жмётся лучше PNG), lossy JPG и lossless PNG (из-за совместимости). Так люди получают исходник и могут выбрать версию апскейла: lossy JPG с самым маленьким размером, lossless WEBP, который легче PNG, или lossless PNG с лучшей поддержкой и совместимостью, чем у WEBP.
- Уверен, все знают, что такое апскейл, но не все хорошо понимают, что такое апскейл через ИИ и как им пользоваться. Я говорю про глубокую искусственную нейросеть (Deep Learning), то есть по сути ИИ, который обучили на огромном датасете (в нашем случае — куча изображений), чтобы он «научился». В итоге получается ИИ, который точнее увеличивает картинку и добавляет детали, которых обычный апскейл не даёт.
- Апскейл — это не магия. Например, если на книге в кадре совершенно нечитаемый текст, апскейл его не исправит. Это просто способ повысить разрешение картинок так, чтобы выглядело приятно, с большей резкостью, чёткостью и реализмом, чем при обычном апскейле. Но это не значит, что апскейл с ИИ не стоит использовать вместо обычного апскейла/ресемплинга — ещё как стоит. Результат не всегда хороший, но и не всегда плохой, а со временем будет только лучше. Иногда картинка апскейлится так хорошо, что получается практически идеально. Кроме того, апскейл с ИИ можно использовать просто чтобы убрать с картинки шум и артефакты сжатия, так что даже если разрешение вам не нужно, польза всё равно будет.
- Дам короткий список вариантов апскейла с ценой, платформой и лимитами. Качество апскейла я оценивать не буду: во-первых, это субъективно, а во-вторых, я не тестировал всё это. Кто знает, может, когда-нибудь протестирую и выложу картинки для сравнения, а может и нет — как решу.
- Часть вариантов работает через веб, что удобно: апскейлить можно практически с любого устройства с нормальным браузером и интернетом. Минусы: либо ограниченные возможности, либо платная подписка, и нужен интернет. Для тех, у кого медленный, нестабильный интернет или лимит трафика, это может быть не лучший вариант. Плюс никогда не знаешь, что они на самом деле делают с твоими картинками, так что если хочешь апскейлить что-то личное, лучше выбрать не веб-вариант.
- Другие можно скачать как программу — обычно плюс в том, что не нужен интернет и меньше ограничений (или вообще нет). Минусы: программа должна быть под твою платформу, и нужно устройство, которое её потянет, потому что в отличие от веба, где нагрузку берут на себя чужие серверы, тут всё считает твоё железо.
| Gigapixel AI | Lets Enhance | Waifu2x | Vertexshare Image Upscaler | |
| Цена | $99.99 | Первые 5 изображений бесплатно, подписка от $12 в месяц на 100 изображений в месяц | Бесплатно | Бесплатно |
| Лимит апскейла | 32,000 x 32,000 | 64 мегапикселя для 5 бесплатных изображений; 256 мегапикселей с обычной подпиской; 500 мегапикселей с бизнес-подпиской (от $72 в месяц) | Нельзя загружать изображения больше 1,500 x 1,500 или 5 MB. Варианты апскейла 1.6x или 2x | Нельзя загружать ничего кроме JPG или PNG и ничего больше 1,200 x 1,200 или 5 MB. Из вариантов апскейла только 2x и 4x |
| Веб | N | Y | Y | Y |
| Windows | Y | N | Y* | N |
| Mac | Y | N | Y* | N |
| Linux | Y** | N | Y* | N |
| Мобильное приложение | N | N | Y* | N |
*Исходный код доступен на GitHub
**Через WINE
- Это не единственные варианты, их полно, так что если ничего не зашло — погугли что-нибудь вроде "AI Image Upscaling Software". Ещё можно глянуть этот link, где есть список других вариантов с плюсами и минусами. Лично я пользуюсь Gigapixel AI, потому что он работает на моём компе и у него нет серьёзных лимитов, кроме того, что нельзя апскейлить выше 32,000 x 32,000, а для меня это не проблема. Если вдруг понадобится апскейлить картинку больше гигапикселя, можно порезать её на куски поменьше, проапскейлить их, а потом смешать и склеить обратно.
- Когда выбрал, чем апскейлить, есть пара вещей, которые стоит сделать для лучшего результата. Во-первых, используешь ли ты лучшую версию картинки? Потому что почти у каждого фото в сети есть несколько копий, и они разного качества. Так что если ты взял картинку из интернета, и это не уникальное фото или скриншот конкретного кадра из видео, который ты сам сделал, стоит попробовать обратный поиск по картинке. Есть несколько вариантов, например Google, Bing, TinEye и т.д. (имеет смысл искать в нескольких сразу, они не всегда выдают одно и то же). Ещё можно использовать расширение для браузера, например Search by Image. Помни: если картинка старше, с большим разрешением или тяжелее по размеру файла, это не значит, что она лучшего качества. Чтобы повысить шансы найти оригинал, выясни, кто/что на картинке, когда/где она была снята/выложена и т.д., и по этим данным можно найти версию получше, а то и сам источник. Например, картинка может быть из определённой фотосессии или с какого-то мероприятия. Эта инфа может помочь.
- Когда у тебя есть лучшая копия картинки для апскейла (или хотя бы лучшая из найденных), можно заняться данными и архивацией. Я имею в виду, что чтобы фото было в порядке и осталось доступным для всех, я рекомендую пару вещей. Сначала используй VirusTotal, чтобы просканировать не только URL страницы, где лежит картинка, но и прямую ссылку на картинку и сам файл после скачивания. Это не обязательно, но я так делаю. Также рекомендую заархивировать URL страницы с картинкой и прямую ссылку через Wayback Machine и Archive.Today. Потом переименуй скачанный файл во что-то осмысленное и понятное (если у него уже нет такого имени). Дальше я часто использую FileOptimizer, чтобы максимально уменьшить размер файла (только lossless-оптимизация, чтобы не терять данные (качество)), чтобы он занимал меньше места, быстрее заливался и быстрее скачивался.
- Ладно, пора апскейлить! Ну, может быть. Видишь ли, иногда картинке нужна хотя бы небольшая подготовка перед апскейлом. Если на изображении много шума (будь то хроматический шум, световой шум и т.д.), апскейлер может (а может и нет, в каждом случае по-разному) с трудом отличать шум от деталей, и получится странный апскейл. Поэтому можно попробовать денойз перед апскейлом. Иногда денойз ухудшает результат, так что сравнивай сам. В других случаях картинка уже была растянута обычным апскейлом. Тогда попробуй смотреть её в разном масштабе ниже 100%, пока не найдёшь «золотую середину», где уже не видно артефактов обычного апскейла, вроде квадратиков или алиасинга. Хорошая отправная точка — зум 50%. Найдя эту «золотую середину», уменьши картинку до этого же размера (иногда лучше просто сменить размер, а иногда результат лучше при уменьшении с ресемплингом, типа lanczos или bicubic и т.д.). Как и с денойзом перед апскейлом, не всегда получается лучше, так что сравнивай. Ещё могут помочь немного размыть картинку, или наоборот добавить резкости, а иногда даже апскейл/ресемплинг.
- Когда загрузил картинку в апскейлер, выбрал идеальные настройки и вот-вот запустишь, тебя могут спросить, в каком формате и качестве экспортировать. Рекомендую экспортировать в lossless-формат вроде PNG, чтобы последующая правка давала лучший эффект. Ладно, ты проапскейлил картинку и получил приличный результат, что дальше? Можно выложить как есть, без доработки, это нормально, но небольшая доводка может сделать результат приятнее. Иногда в апскейле появляется шум, даже если в исходнике его вроде не было. Тогда лучше убрать его как можно лучше, чтобы выглядело чуть лучше. Картинка (целиком или только некоторые места) также может выглядеть немного, как бы сказать, гладкой? Пластиковой? Что-то в этом духе. Тогда простой способ улучшить её — добавить зерна. Лично я предпочитаю мелкое зерно крупному, но можешь выбирать что хочешь. Зерно добавляет своего рода «фейковую детализацию», и, по-моему, картинка выглядит чуть более фактурной. Ещё может быть полезно уменьшить картинку, так как в апскейле бывают странные детали, а даунскейл снижает их заметность, сохраняя визуальные улучшения. Если хочешь совместить денойз, даунскейл и зерно, порядок такой: Денойз → Даунскейл → Зерно.
- Картинке также могут понадобиться (или хотя бы пойдут на пользу) ручные правки в Photoshop или GIMP. Однако у меня пока нет опыта в этом, но это может измениться, и тогда я напишу небольшой раздел о ручной доводке апскейла. Так что идём дальше: твой апскейл теперь готов. Перед заливкой подумай, не уменьшить ли картинку или не сжать ли её с потерями, потому что апскейлы иногда получаются очень тяжёлыми (может быть сотни мегабайт на одну картинку). Я предпочитаю заливать исходник (без изменений и в оригинальном формате, но с lossless-оптимизацией), lossless WEBP-версию апскейла (она обычно жмётся лучше PNG), lossy JPG и lossless PNG (из-за совместимости). Так люди получают исходник и могут выбрать версию апскейла: lossy JPG с самым маленьким размером, lossless WEBP, который легче PNG, или lossless PNG с лучшей поддержкой и совместимостью, чем у WEBP.
