Подтвердить что ты не робот

Как определить субъективное качество изображения

Для инструмента загрузки изображений я хочу автоматически определить (субъективное) качество изображения, что приведет к оценке качества.

У меня есть идея реализовать это эвристически:

  • Очевидно, включить разрешение в рейтинг.
  • Сжатие в JPG (75%), распакуйте его и сравните размер jpg-размера или размер разуплотненного, чтобы получить коэффициент. Чем выше изображение, тем выше коэффициент.

Очевидно, что мой подход будет использовать много циклов и памяти, если будут оцениваться большие изображения, хотя это было бы в моем сценарии (толстый сервер, не так много загрузок), и я всегда мог бы построить "короткое замыкание" вокруг более дорогие шаги, если изображение превышает определенное разрешение.

Есть ли что-то еще, что я могу попробовать, или есть способ сделать это более эффективно?

4b9b3361

Ответ 1

Удовлетворение качества изображения (то же самое касается звука или видео) - непростая задача, и есть многочисленные публикации, посвященные проблеме.

Многое зависит от характера изображения - для искусственно созданных изображений (например, диаграмм) или естественных изображений (например, фотографий) подходит другой набор критериев. Есть тонкие эффекты, которые необходимо принимать во внимание - например, маскировка цвета, маскировка яркости, контрастное восприятие. Для некоторых изображений данная степень сжатия вполне адекватна, в то время как для других это приведет к значительной потере качества.

Вот публикация с бесплатным доступом, дающая краткое введение в тему оценка качества изображения.

Метод, о котором вы говорили, - сжатие изображения и сравнение результата с оригиналом далек от совершенства. Какова будет метрика, которую вы планируете использовать? MSE? MSE на блок? Наверняка это не так сложно реализовать, но результаты будут трудно интерпретировать (рассматривать изображения с высокочастотными компонентами и без них).

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

Ответ 2

Настоящая статья Чжоу Ванга, Хамида Р. Шейха и Алана Бовика может послужить отправной точкой для тех, кто серьезно нуждается в такой функции.

https://ece.uwaterloo.ca/~z70wang/publications/icip02.pdf

Ответ 3

Вы можете попробовать посмотреть в тегах EXIF ​​изображения (используя что-то вроде exiftool), то, что вы получите, будет сильно отличаться. Например, на моей SLR вы даже получаете, какая из точек фокусировки была активна, когда изображение было снято. Также может быть что-то о качестве сжатия.

Другое, что нужно проверить, это гистограмма изображения - следите за изображениями, смещенными влево, что предполагает недоэкспонирование или много насыщенных пикселей.

Для размытия изображения вы можете посмотреть на высокочастотные компоненты преобразования Фурье, это, вероятно, доступ к параметрам, связанным с JPG-сжатием.

Это немного сложная область, потому что большинство "правил", которые вы могли бы реализовать, возможно, могли быть нарушены для художественного эффекта.

Ответ 4

Я бы хотел сбить идею "явно включить резолюцию". Резолюция ничего не говорит. Я могу масштабировать изображение в 2 раза, увеличивая число пикселей в четыре раза. Это не добавляет никакой информации и не улучшает качество.

Я не уверен в идее "сжимать JPG". JPG - фотоориентированный алгоритм. Не все изображения - это фотографии. Кроме того, голубое небо сжимается довольно хорошо. Равномерно серый еще лучше. Считаете ли вы, что точные типы облаков определяют качество изображения?

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

Ответ 5

Но что, если фотографии "коммерческие"? Означает ли ценность существующих технологий, если фотографии имеют повседневные объекты и целенаправленно нехудожественны?

Если я нанял сотни людей, чтобы сфотографировать парковые скамейки, я хочу быстро узнать, какие фотографии лучшего качества (в фокусе, хорошо освещены), а какие нет. Мне не нужны фотографии котят, людей, закаты и т.д.

Или что, если фотографии должны быть с товарами для каталога? Никаких моделей, просто одежды. Помогла ли обработка изображений?

Ответ 6

Мне также очень интересно разобраться, как размыта фотография.

Как насчет этого:

  • измеряет размер байта изображения при сжатии в формате JPEG
  • уменьшить масштаб изображения до 1/4
  • масштабировать его 4 раза, используя некоторую базовую интерполяцию
  • сжимать эту версию с помощью JPEG
  • Сравните размеры двух сжатых изображений.

Если размер не сильно снизился (минус некоторый процентный порог), тогда масштабирование и масштабирование не потеряли много информации, поэтому исходное изображение будет таким же, как и то, что было увеличено.