В статье рассматриваются особенности применения фильтров обработки изображений в целях улучшения качества перед поиском объектов на изображениях.
Фильтры обработки изображений применяются для наложения различных эффектов, повышения качества изображений путём устранения ложных данных или улучшения характеристик. Тип используемого фильтра зависит от задачи. При выборе необходимо ориентироваться не только на вид зашумлённости, если задача заключается в восстановлении изображения, но и на само изображение. В ряде случаев возможно существенно уменьшить помехи, вносимые камерой, оптической системой.
Например, при выделении границ на изображении детектором Кенни.
Детектор использует фильтр на основе первой производной от гауссианы. Так как он восприимчив к шумам, изображение сворачивается гауссовым фильтром.
Фильтр Гаусса
Фильтр Гаусса — фильтр размытия изображения, который использует нормальное распределение (также называемое Гауссовым распределением) для вычисления преобразования, применяемого к каждому пикселю изображения.
Каждому элементу изображения соответствует число, называемое весовым множителем. Совокупность всех весовых множителей составляет весовую функцию. Для однозначного определения центрального элемента, размер окна должен быть нечётным. Ядро свёртки позволяет усилить или ослабить компоненты изображения. Матрица перемещается по изображению, при этом весовая функция в процессе перемещения остаётся неизменной [1–7, 10, 12].
В каждой точке весовая функция поэлементно умножается на значение соответствующих пикселей исходного изображения и произведения суммируются. Полученная сумма присваивается тому пикселю нового изображения, который соответствует положению центра окна. Результат записывается во временную матрицу, чтобы исключить влияние обработанных пикселей на необработанные.
У крайних пикселей изображения всегдаотсутствуют некоторые соседние пиксели, следовательно, нет данных для полных вычислений. Это обходится либо применением фильтра только к части изображения, при этом границы остаются необработанными, либо дополнением данными [11, 12].
От размера матрицы свёртки зависит степень размытия конечного изображения (Рис.1).
Рис. 1. Пример работы фильтра Гаусса: а) изображение в градациях серого; б) после применения фильтра с матрицей свёртки 3×3
Если изображение будет слишком сильно сглажено, наиболее информативные границы детектор не обнаружит (Рис.2–3). Точность обнаружения зависит от нижнего и верхнего порога.
Верхний порог используется для уменьшения влияния шума. Нижний порог — при прослеживании.
Рис. 2. Пример работы детектора Кенни: а) сглаженное изображение (матрица 3×3); б) границы, обнаруженные детектором Кенни
Рис. 3. Пример работы детектора Кенни: а) сглаженное изображение (матрица 5×5); б) границы, обнаруженные детектором Кенни
Порог для детектора подбирается в зависимости от средней яркости всех пикселей изображения. Приблизительно нижний порог равен 100, верхний — 250.
В изображении, обработанном детектором Кенни,преобладают прямые линии и другие простые геометрические формы (треугольник, круг, квадрат, прямоугольник), которые возможно детектировать с помощью преобразования Хафа, например, для поиска оконного проёма, двери или круглой розетки.
Предварительная обработка изображения играет важную роль при дальнейшем детектировании объектов. Выравнивание уровней яркости, контрастности, резкости позволяет получить усреднённое изображение пригодное для дальнейшего использования.
Усреднение изображений
Усреднение изображений — один из способов обработки, основой которого является свёртка. Такие фильтры можно разделить на линейные и нелинейные. Принцип действия линейных заключается в суммировании количества пикселей внутри выборки и делением полученной суммы на число пикселей. Нелинейные базируются на сортировке значений пикселей и выборе одного оптимального [9, 8].
Усреднение может быть управляемым и взвешенным. Управляемые фильтры имеют свободно регулируемые параметры и можно выбрать такое ядро свёртки, которое будет зависеть от текстуры изображения. Во взвешенных фильтрах каждый пиксель входит в сумму свёртки со своим весовым множителем.
Один из видов нелинейного усреднения — это медианный фильтр. Значения пикселей записываются в ряд, ряд сортируется и возвращается центральный элемент, то есть медиана ряда. Применение этого фильтра даёт хорошие результаты для сохранения перепадов оттенков, различных границ и устранения локальных пиков яркости. По сравнению с линейными фильтрами медианные лучше сохраняют контуры изображения [11].
Аналогично работают экстремальные фильтры, пиксели выбираются с минимальной и максимальной интенсивностью для увеличения тёмных и ярких объектов, эффекты эрозии и наращивания. Сила эффекта зависит от размера матрицы свёртки.
Ещё один из видов усреднения — биномиальный фильтр. Это фильтр, у которого коэффициенты уменьшаются по мере удаления от центра и тем самым уменьшают влияние этих частей, что влечёт за собой наименьшее размытие изображения. Он является линейным усреднением и позволяет бороться с шумом Гаусса.
Фильтры обработки изображений отличаются быстродействием и являются простыми в реализации. Но выбор фильтра зависит от задачи, вида зашумлённости и от самого изображения. Например, импульсный шум лучше всего удаляется нелинейными фильтрами, а для устранения Гауссова шума используется линейная фильтрация.
Литература:
- A Practical Introduction to Computer Vision with OpenCV (Wiley-IS&T Series in Imag-ing Science and Technology). K. Dawson-Howe. — Wiley. — 2014. — p.234
- Algorithms for Image Processing and Computer Vision. J. R. Parker. — Wiley. — 2010. — p.504
- Computer Vision in C++ with the OpenCV Library. A. Kaehler, G. Bradski. — O'Reilly Media. — 2015. — p.575
- Facial Feature Detectionand Trackingin a New Multimodal Technology-Enhanced Learn-ing Environmentfor Social Communication. J. Chenand O. Lemon. IEEE International Conferenceon SignalandImage Processing Applications, 2009.
- Hua Gu Guangdaand Su Cheng Du. Feature Points Extraction from Faces. Imageand Vi-sion Computing NZ, 2003.
- Learning Image Processing with OpenCV. G. Bueno Garcia, O. D. Suarez, J. L. Espinosa Aranda, J. Salido Tercero, I. Serrano Gracia. — Packt Publishing. — 2015. — p.232
- Learning OpenCV: Computer Vision with the OpenCV Library. G. Bradski, A. Kaeh-ler. — O'Reilly Media. — 2008. — p.555
- OpenCV Computer Vision Application Programming Cookbook Second Edition. R. Lag-aniere. — Packt Publishing. — 2014. — p.374
- OpenCV for Secret Agents. J. Howse. — Packt Publishing. — 2015. — p.302
- OpenCV v 2.4.12.0 documentation «Motion Analysis and Object Tracking» [Электрон-ный ресурс] URL: http://docs.opencv.org/2.4/modules/imgproc/doc/motion_analysis_and_ ob-ject_tracking.html
- Цифровая обработка изображений. Р. Гонсалес, Р. Вудс — М.: Техносфера, 2006. — стр. 1072
- Обработка изображений и анализ данных. Труды Института системного анализа Российской академии наук — М.: Либроком, 2008. — стр. 368