PicoDiet.

Сжать фото без видимой потери качества: как мы это измеряем

Сжимайте изображения без видимой потери качества, а потом сравнивайте результат с оригиналом. PicoDiet оценивает, насколько каждый результат похож на оригинал, и показывает места, которые изменились сильнее всего.

  1. 1. Добавьте изображенияОдно или сразу несколько. Каждое сжимается сразу с качеством 80, в своём формате.
  2. 2. Настройте качествоНачните с оценки 80. Поднимите её, чтобы сохранить больше деталей, или снизьте, чтобы уменьшить файлы.
  3. 3. Сравните и скачайтеОткройте изображение, чтобы сравнить его с оригиналом при увеличении и настроить отдельно, затем скачайте одно или все в ZIP.

Загружаются по зашифрованному соединению, удаляются не позже чем через 3 минуты после того, как вы закончите, и никому не передаются. Конфиденциальность

Коротко

Начните с оценки качества 80: при обычном просмотре результат выглядит так же, как оригинал. PicoDiet находит самый маленький файл, который ещё дотягивает до этой оценки SSIMULACRA2, и перед скачиванием его можно сравнить с оригиналом.

Почему фиксированная настройка качества не работает

«Сохраните в JPEG с качеством 75» — обычный совет. Но значение качества — это настройка кодировщика, а не мера того, как выглядит результат. Мы сохранили пять изображений в JPEG с качеством 75 и оценили их, а потом дали PicoDiet подобрать для каждого настройку, при которой получается оценка 80:

ИзображениеОценка при качестве JPEG 75Нужная настройка JPEGИтоговая оценка
Фото гавани, 2048 × 168374,98680,1
Ночной город, iPhone, 1440 × 192071,19280,5
Каменистый пляж, 2048 × 103074,28981,2
3D-рендер, 719 × 54073,69181,4
Скриншот этого сайта, 2880 × 180082,09891,4

«Качество 75» здесь — libjpeg в ImageMagick, а значения PicoDiet указаны по шкале качества jpegli. Одно и то же «75» дало оценки от 71 до 82, а нужная каждому изображению настройка — от 86 до 98. Скриншот по общей оценке прошёл при качестве 75, но вокруг текста появились заметные ореолы, и проверка худшего места в PicoDiet (о ней ниже) такой результат отбраковывает. К тому же в PNG он и так вышел в шесть раз меньше. Фиксированное число либо тратит лишние байты на одних изображениях, либо портит другие.

Что означает оценка

SSIMULACRA2 сравнивает сжатое изображение с оригиналом и оценивает, насколько они похожи на вид, по шкале до 100. Авторы откалибровали метрику по тому, как люди оценивали сжатые изображения. Чем выше, тем ближе к оригиналу; примерно так:

ОценкаЧто видит человек
90+Визуально без потерь: разницы нет, даже если переключаться между ними в полном размере
80–90Очень высокое качество: если положить рядом в полном размере, разницы не видно
70Высокое качество: артефакты трудно заметить, если оригинала нет рядом
50Среднее: обычное дело для сильно сжатых картинок в интернете
30 и нижеНизкое: явные квадраты, размытие и полосы

Ползунок в PicoDiet идёт от 10 до 95. По умолчанию стоит 80: при обычном просмотре результат выглядит так же, а файл обычно весит лишь часть от оригинала.

Вторая проверка — для худшего места

Средняя оценка может скрыть один испорченный участок: смазанное лицо или строку размытого текста на фото, которое в остальном идеально. Поэтому PicoDiet проверяет изображение ещё и по участкам и отбраковывает результат, если какой-то участок заметно хуже остальных, даже когда общая оценка проходит. Вот почему некоторым изображениям нужна настройка выше, чем подсказала бы одна средняя оценка.

Как одно фото выглядит при 90, 80 и 70

11-мегапиксельное фото гавани, снятое зеркальной камерой и находящееся в общественном достоянии (4,97 МБ прямо с камеры; источник), PicoDiet сжал до трёх оценок:

ОценкаРазмер файлаМеньше на
913,03 МБ39%
81666 КБ87%
71248 КБ95%

Основная экономия приходится на отрезок между 90 и 80: камера потратила мегабайты на мелкий шум в небе, которого никто не видит. Ниже 80 файл уменьшается медленнее, а изменения начинают проступать.

Фрагмент исходного фото при увеличении 200%: переплетение нитей синего флага и мачтаОригинал
Тот же фрагмент при оценке 80: переплетение нитей на месте, лишь чуть менее чёткоеОценка 80
Тот же фрагмент при оценке 70: переплетение нитей почти сгладилосьОценка 70
Место, которое изменилось сильнее всего, при увеличении 200%: оригинал, оценка 80, оценка 70. При 80 переплетение нитей на флаге стало чуть менее чётким, при 70 его почти не осталось. В обычном размере все три выглядят одинаково.

Видно, где изменилось: карта изменений

Сжатие с потерями меняет изображение неравномерно. PicoDiet оценивает результат по участкам и показывает, где он изменился сильнее всего. В окне сравнения маленькая карта в углу отмечает такие участки цветом от жёлтого к красному, пронумерованные метки указывают на самые сильные изменения, а сравнение открывается с увеличением на месте, которое изменилось больше всего. Тяните разделитель, чтобы видеть оригинал и результат рядом.

Фото гавани в серых тонах, участки, которые изменились сильнее всего, отмечены оранжевым: куски гладкого неба и части флагов
Карта изменений для фото гавани при оценке 80. Изменились гладкое небо и ткань, где кодировщик убрал шум, а не края мачты и не контуры флагов.

Так можно быстро проверить то, что важно именно вам: лицо, логотип, текст на скриншоте. Если отмеченное место вас смущает, поднимите качество только для этого изображения.

Как с этим справляются другие сервисы, если измерить их так же на 13 изображениях, находящихся в общественном достоянии, — в сравнении сервисов сжатия.

Без потерь или с потерями?

Сжатие без потерь не меняет ни одного пикселя, поэтому на фото экономит мало. Сжатие с потерями меняет данные изображения и экономит гораздо больше, а вопрос в том, видна ли разница: фото гавани выше потеряло 87% размера при оценке 81. «Без потери качества» на практике означает сжатие с потерями, которое не опускается ниже оценки, где человек начинает замечать разницу. PicoDiet сам выбирает сжатие без потерь там, где оно выигрывает, например для некоторых скриншотов и анимаций, и оставляет ваш оригинал, если не может уменьшить файл, сохранив выбранную оценку.

Как сжать фото без видимой потери качества

  1. Перетащите изображения в поле выше. PicoDiet сразу сжимает каждое до оценки 80.
  2. Для изображений, которые будут ещё редактировать или разглядывать вблизи, передвиньте ползунок на 90.
  3. Откройте изображение, посмотрите на отмеченные места и скачайте, когда результат вас устроит.

Что происходит с вашими изображениями

Они загружаются по HTTPS на ближайший из наших серверов, обрабатываются автоматически и удаляются в течение 3 минут после того, как вы закончите. Никому не передаются, не продаются и не используются для обучения ИИ. Регистрация не нужна. Политика конфиденциальности

Вопросы

Правда можно сжать изображение без потери качества?

Без потери каких-либо данных — только сжатием без потерь, а оно на фото экономит мало. Без видимой потери качества — да: при оценке SSIMULACRA2 от 80 и выше люди не видят разницы при обычном просмотре, а файлы часто становятся на 50–90% меньше.

Что такое SSIMULACRA2?

Открытая метрика качества изображений, которую создал Jon Sneyers (Cloudinary), чтобы предсказывать, как люди оценивают сжатые изображения. С её помощью настраивают и сравнивают кодировщики, например JPEG XL, AVIF и jpegli.

Какое качество выбрать?

80 — для сайтов, почты и чтобы поделиться; 90 — для изображений, которые вы будете ещё редактировать, печатать или увеличивать; 70 — для миниатюр и превью, где важнее всего размер.

Почему оценка результата отличается от настройки?

Выбранная оценка качества — это минимум, поэтому результат обычно получается чуть выше: 81 или 83 при цели 80.

Уменьшение размеров в пикселях — это потеря качества?

Уменьшение убирает пиксели намеренно. PicoDiet уменьшает изображение, только если вы выбрали «Авто», максимальный размер или размер файла, в который все пиксели не помещаются, и тогда сравнивает результат с оригиналом, уменьшенным до тех же размеров.

Мои изображения останутся приватными?

Да. Изображения загружаются по зашифрованному соединению на ближайший из наших серверов, сжимаются и удаляются в течение 3 минут после того, как вы закончите. Их никому не передают, не продают и не используют для обучения ИИ, а регистрироваться не нужно. Подробности — в политике конфиденциальности.

Отпустите, чтобы сжать изображения