Как определить субъективное качество изображения - PullRequest
18 голосов
/ 18 февраля 2009

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

У меня есть следующая идея, чтобы реализовать это эвристически:

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

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

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

Ответы [ 5 ]

10 голосов
/ 18 февраля 2009

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

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

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

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

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

5 голосов
/ 18 февраля 2009

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

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

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

5 голосов
/ 18 февраля 2009

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

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

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

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

3 голосов
/ 30 июня 2010

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

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

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

0 голосов
/ 28 апреля 2016

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

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

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

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

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