Обнаружение размытия в изображениях/видеопоследовательности

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

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

1) Сотрясение камеры: снимки, снятые с помощью руки, которая перемещается/трястиется, когда скорость затвора меньше.

2) Проблемы фокуса объектива - (Глубина поля), например, фокусировка на некорректном объекте, вызывающем некоторое размытие.

3) Motion blur: Быстро движущиеся объекты в сцене, захваченные с использованием недостаточно высокой скорости затвора. Например. Движущаяся машина ночью может показать следы фары/хвостового света на изображении в виде размытия.

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

Какова теория обнаружения размытия?

Я ищу хороший материал для чтения, с помощью которого я могу реализовать некоторый алгоритм для этого в C/Matlab.

спасибо.

-AD.

Ответ 1

Размытие движения и дрожание камеры - это одно и то же, когда вы думаете о причине: относительное движение камеры и объекта. Вы упоминаете медленную скорость затвора - это преступник в обоих случаях.

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

С этой дозой реализма в сторону, позвольте мне заверить вас, что обнаружение размытия на самом деле является <сильным > очень активным полем исследований, и уже есть несколько показателей, которые вы можете попробовать на своих изображениях. Вот некоторые из них, которые я использовал недавно:

  • Ширина края. В основном, выполните обнаружение края на вашем изображении (используя Canny или иначе), а затем измерьте ширину ребер. Размытые изображения будут иметь более широкие края, которые более распространены. Более четкие изображения будут иметь более тонкие края. Google для "Безреципиентной метрики восприятия размытия" Marziliano - это знаменитый документ, который описывает этот подход достаточно хорошо для полной реализации. Если вы имеете дело с размытием движения, то края будут размыты (широко) в направлении движения.
  • Наличие мелких деталей. Посмотрите на мой ответ на этот вопрос (отредактированная часть).
  • Подходы к частотной области. Взятие гистограммы коэффициентов DCT изображения (при условии, что вы работаете с JPEG) даст вам представление о том, сколько мелких деталей изображения. Вот как вы можете напрямую захватить коэффициенты DCT из файла JPEG. Если счетчик для условий, отличных от DC, является низким, вполне вероятно, что изображение размыто. Это самый простой способ - в частотной области существуют более сложные подходы.

Есть больше, но я чувствую, что этого должно быть достаточно, чтобы вы начали. Если вам нужна дополнительная информация по любому из этих пунктов, запустите Google Scholar и осмотритесь. В частности, ознакомьтесь с рекомендациями газеты Marziliano, чтобы получить представление о том, что было опробовано в прошлом.

Ответ 2

Существует большая статья под названием: " анализ операторов измерения фокусировки для формы от фокуса" (https://www.researchgate.net/publication/234073157_Analysis_of_focus_measure_operators_in_shape-from-focus), в котором сравнивается около 30 различных методов.

Из всех различных методов методы, основанные на "лапласе", как представляется, имеют лучшую производительность. Большинство программ обработки изображений, таких как: MATLAB или OPENCV, уже реализовали этот метод. Ниже приведен пример использования OpenCV: http://www.pyimagesearch.com/2015/09/07/blur-detection-with-opencv/

Ответ 3

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