Оценка качества изображения является быстро развивающейся областью исследований.Поскольку вы не упоминаете о возможности доступа к исходным (несжатым) изображениям, вас интересует без ссылки оценка качества изображения.На самом деле это довольно сложная проблема, но вот несколько моментов, с которых вы можете начать:
- Поскольку вы упоминаете JPEG, есть две основные функции ухудшения качества, которые проявляются в сжатых JPEG-изображениях: блокировка и размытие
- Метрики оценки качества изображения без опорных изображений обычно ищут эти две функции
- Блокировку довольно легко обнаружить, так как она появляется только приграницы макроблоков.Макроблоки имеют фиксированный размер - 8x8 или 16x16, в зависимости от того, какое изображение было закодировано с помощью
- Размытие немного сложнее.Это происходит потому, что более высокие частоты в изображении были ослаблены (удалены).Вы можете разбить изображение на блоки, DCT (дискретное косинусное преобразование) каждого блока и посмотреть на высокочастотные компоненты результата DCT.Если высокочастотные компоненты отсутствуют в большинстве блоков, то вы, вероятно, смотрите на размытое изображение
- Другой подход к обнаружению размытия - это измерение средней ширины краев изображения.Выполните определение края Собела на изображении, а затем измерьте расстояние между локальными минимумами / максимумами с каждой стороны края.Google для «Безрецептурной метрики восприятия размытия» Марцилиано - это известный подход.«Детектирование размытия на основе блоков без ссылок» Дебинга - более свежая статья
Независимо от того, какую метрику вы используете, подумайте о том, как вы будете справляться с ложными положительными / отрицательными значениями.В отличие от простого определения порога, я использую метрический результат для сортировки изображений, а затем отрезаю конец списка, который выглядит так, как будто он содержит только размытые изображения.
Ваша задача будет намного проще, если ваше изображениеНабор содержит довольно похожий контент (например, только лица).Это происходит потому, что, к сожалению, на показатели оценки качества изображения часто может влиять содержание изображения.
Google Scholar действительно ваш друг здесь.Хотел бы я дать вам конкретное решение, но у меня его пока нет - если бы я это сделал, я был бы очень успешным студентом магистратуры.
ОБНОВЛЕНИЕ:
Просто подумал о другой идее: для каждого изображения повторно сожмите изображение в формате JPEG и изучите изменение размера файла до и после повторного сжатия.Если размер файла после повторного сжатия значительно меньше, чем раньше, то, скорее всего, изображение не сильно сжато, потому что в нем было несколько существенных деталей, которые были удалены повторным сжатием.В противном случае (очень небольшая разница или размер файла после повторного сжатия больше) вероятно, что изображение было сильно сжато.
Использование настройки качества во время повторного сжатия позволит вам определить, что именно сильно сжатый означает.
Если вы работаете в Linux, это не должно быть слишком сложно реализовать с помощью утилиты конвертации bash и imageMagick.
Вы можете попробовать другие варианты этогоподход:
- Вместо сжатия JPEG, попробуйте другую форму деградации, такую как размытие по Гауссу
- Вместо простого сравнения размеров файлов, попробуйте полную справочную метрику, такую как SSIM - есть реализация OpenCV , свободно доступная .Существуют и другие реализации (например, Matlab, C #), поэтому посмотрите вокруг.
Дайте мне знать, как вы идете.