Оператор Собеля
Обнаружение функций |
---|
Обнаружение края |
Обнаружение угла |
Обнаружение больших двоичных объектов |
Обнаружение гребней |
Преобразование Хафа |
Тензор структуры |
Обнаружение аффинных инвариантных функций |
Описание функции |
Масштабировать пространство |
Оператор Собеля , иногда называемый оператором Собеля-Фельдмана или фильтром Собеля , используется в обработке изображений и компьютерном зрении , особенно в алгоритмах обнаружения краев , где он создает изображение, подчеркивающее края. Он назван в честь Ирвина Собела и Гэри М. Фельдмана, коллег из Стэнфордской лаборатории искусственного интеллекта (SAIL). Собел и Фельдман представили идею « Оператора изотропного градиента изображения 3 × 3» на докладе в SAIL в 1968 году. [ 1 ] Технически это дискретный оператор дифференцирования , вычисляющий аппроксимацию градиента функции интенсивности изображения. В каждой точке изображения результатом работы оператора Собеля–Фельдмана является либо соответствующий вектор градиента, либо норма этого вектора. Оператор Собеля – Фельдмана основан на свертке изображения с помощью небольшого разделимого целочисленного фильтра в горизонтальном и вертикальном направлениях и поэтому относительно недорог с точки зрения вычислений. С другой стороны, градиентная аппроксимация, которую он производит, является относительно грубой, особенно для высокочастотных изменений изображения.
Формулировка
[ редактировать ]Оператор использует два ядра 3×3, которые свернуты с исходным изображением для вычисления аппроксимации производных — одно для горизонтальных изменений, а другое — для вертикальных. Если мы определим A как исходное изображение, а G x и G y — два изображения, которые в каждой точке содержат приближения горизонтальной и вертикальной производной соответственно, вычисления будут следующими: [ 1 ]
где двумерной обработки сигналов здесь обозначает операцию свертки .
В своем тексте, описывающем происхождение оператора, [ 1 ] Собел показывает для этих ядер разные знаки. Он определил операторы как маски окрестности (то есть корреляционные ядра), и поэтому они являются зеркальным отражением того, что описано здесь как ядра свертки. Он также предположил, что вертикальная ось увеличивается вверх, а не вниз, как это принято в настоящее время при обработке изображений, и, следовательно, вертикальное ядро перевернуто.
Поскольку ядра Собеля можно разложить как произведения усреднения и дифференцирования ядро, они вычисляют градиент со сглаживанием. Например, и можно записать как
Координата x определяется здесь как увеличение в направлении «вправо», а координата y определяется как увеличение в направлении «вниз». В каждой точке изображения полученные аппроксимации градиента можно объединить, чтобы получить величину градиента, используя:
Используя эту информацию, мы также можем рассчитать направление градиента:
где, например, равно 0 для вертикального края, который светлее с правой стороны (для см. Атан2 ).
Более формально
[ редактировать ]Поскольку функция интенсивности цифрового изображения известна только в дискретных точках, производные этой функции не могут быть определены, если мы не предположим, что существует основная дифференцируемая функция интенсивности, которая была выбрана в точках изображения. С некоторыми дополнительными предположениями производную функции непрерывной интенсивности можно вычислить как функцию выборочной функции интенсивности, т. е. цифрового изображения. Оказывается, что производные в любой конкретной точке являются функциями значений интенсивности практически во всех точках изображения. Однако аппроксимации этих производных функций могут быть определены с большей или меньшей степенью точности.
Оператор Собеля – Фельдмана представляет собой довольно неточную аппроксимацию градиента изображения, но все же имеет достаточное качество, чтобы его можно было использовать на практике во многих приложениях. Точнее, он использует значения интенсивности только в области 3×3 вокруг каждой точки изображения для аппроксимации соответствующего градиента изображения и использует только целочисленные значения для коэффициентов, которые взвешивают интенсивности изображения для получения аппроксимации градиента.
Расширение на другие измерения
[ редактировать ]Оператор Собеля – Фельдмана состоит из двух разделимых операций: [ 2 ]
- Сглаживание перпендикулярно направлению производной с помощью треугольного фильтра:
- Простая центральная разность в направлении производной:
Фильтры Собеля – Фельдмана для производных изображений в разных измерениях с :
1Д:
2D:
2D:
3D:
3D:
4D:
Например, трехмерное ядро Собеля – Фельдмана в направлении z :
Технические детали
[ редактировать ]Вследствие своего определения оператор Собеля может быть реализован простыми средствами как в аппаратном, так и в программном обеспечении: для вычисления соответствующего результата необходимо только восемь точек изображения вокруг точки, а для вычисления аппроксимации вектора градиента необходима только целочисленная арифметика. Более того, два описанных выше дискретных фильтра являются раздельными:
и поэтому две производные G x и G y можно вычислить как
В некоторых реализациях это разделяемое вычисление может быть выгодным, поскольку оно предполагает меньшее количество арифметических вычислений для каждой точки изображения.
Применение свертки K к группе пикселей P можно представить в псевдокоде как:
где представляет новую пиксельную матрицу, полученную после применения свертки K к P ; P — исходная пиксельная матрица.
Пример
[ редактировать ]Результатом работы оператора Собеля – Фельдмана является двумерная карта градиента в каждой точке. Его можно обрабатывать и просматривать так, как будто оно само по себе является изображением, при этом области с высоким градиентом (вероятные края) отображаются как белые линии. Следующие изображения иллюстрируют это, показывая вычисление оператора Собеля – Фельдмана на простом изображении.
Изображения ниже иллюстрируют изменение направления градиента на круге в оттенках серого. Когда знак и одинаковы, угол градиента положителен и отрицателен, если они разные. В примере ниже красный и желтый цвета на краю круга обозначают положительные углы, а синий и голубой цвета обозначают отрицательные углы. Вертикальные края на левой и правой сторонах круга имеют угол 0, поскольку локальных изменений нет. . Горизонтальные края на верхней и нижней сторонах круга имеют углы — π / 2 и π / 2 соответственно, поскольку локального изменения в . Отрицательный угол верхнего края означает переход от светлой области к темной, а положительный угол нижнего края означает переход от темной области к светлой. Все остальные пиксели отмечены черным цветом из-за отсутствия локальных изменений ни в одном из них. или , и, следовательно, угол не определен. Поскольку угол является функцией отношения к пиксели с небольшой скоростью изменения все равно могут иметь большую угловую реакцию. В результате шум может иметь отклик под большим углом, что обычно нежелательно. При использовании информации об угле градиента для приложений обработки изображений следует приложить усилия для удаления шума изображения , чтобы уменьшить этот ложный отклик.
Альтернативные операторы
[ редактировать ]Оператор Собеля – Фельдмана, хотя и уменьшает артефакты, связанные с оператором чистых центральных разностей, не демонстрирует хорошей вращательной симметрии (погрешность около 1 °). Шарр рассмотрел возможность оптимизации этого свойства путем создания ядер, оптимизированных для конкретной числовой точности (целое число, число с плавающей запятой…) и размерностей (1D, 2D, 3D). [ 3 ] [ 4 ] Там были представлены оптимизированные ядра 3D-фильтров размером до 5 x 5 x 5, но наиболее часто используемое, с погрешностью около 0,2°, это:
Аналогично это влияет:
Операторы Шарра являются результатом оптимизации, минимизирующей среднеквадратичную угловую ошибку в области Фурье . Эта оптимизация выполняется при условии, что полученные фильтры численно согласованы. Следовательно, они действительно являются производными ядрами, а не просто соблюдают ограничения симметрии. Оптимальный 8-битный целочисленный фильтр 3x3, основанный на теории Шарра, равен
Аналогичную стратегию оптимизации и результирующие фильтры также представили Фарид и Симончелли. [ 5 ] [ 6 ] Они также исследуют производные схемы более высокого порядка. В отличие от работы Шарра, эти фильтры не обязаны быть численно последовательными.
К проблеме проектирования производных фильтров вновь обратился, например, Крун. [ 7 ]
Производные фильтры на основе произвольных кубических сплайнов были представлены Хастом. [ 8 ] Он показал, как производные первого и второго порядка можно правильно вычислить с использованием кубических или тригонометрических сплайнов с помощью подхода двойной фильтрации, дающего фильтры длины 7.
Другой похожий оператор, который изначально был создан на основе оператора Собеля, — это оператор Кайяли. [ 9 ] идеальный сверточный фильтр 3x3 на основе вращательной симметрии.
Ядра производной, оптимальные по ориентации, радикально уменьшают систематические ошибки оценки при оценке оптического потока . Более крупные схемы с еще более высокой точностью и оптимизированными семействами фильтров для расширенной оценки оптического потока были представлены в последующей работе Шарра. [ 10 ] Наборы фильтров производной второго порядка были исследованы для прозрачной оценки движения . [ 11 ] Было замечено, что чем больше полученные ядра, тем лучше они аппроксимируют фильтры, производные от Гаусса.
Примеры сравнений
[ редактировать ]Здесь четыре разных оператора градиента используются для оценки величины градиента тестового изображения.
См. также
[ редактировать ]- Цифровая обработка изображений
- Обнаружение функций (компьютерное зрение)
- Извлечение признаков
- Дискретный оператор Лапласа
- Оператор Превитта
Ссылки
[ редактировать ]- ^ Перейти обратно: а б с Ирвин Собел, 2014, История и определение оператора Собеля
- ^ К. Энгель (2006). Графика объема в реальном времени . стр. 112–114.
- ^ Шарр, Ханно, 2000, Диссертация (на немецком языке), Оптимальные операторы в цифровой обработке изображений .
- ^ Б. Йене, Х. Шарр и С. Коркель. Принципы проектирования фильтров. В Справочнике по компьютерному зрению и приложениям. Академик Пресс, 1999.
- ^ Х. Фарид и Э.П. Симончелли, Оптимально вращательно-эквивариантные ядра производной по направлению , Международная конференция по компьютерному анализу изображений и шаблонов, стр. 207–214, сентябрь 1997 г.
- ^ Х. Фарид и Э. П. Симончелли, Дифференциация дискретных многомерных сигналов , Обработка трансизображений IEEE, том 13 (4), стр. 496–508, апрель 2004 г.
- ^ Д. Крун, 2009, Краткий доклад Университета Твенте, Численная оптимизация производных изображений на основе ядра .
- ^ А. Хаст., «Простая конструкция фильтра для производных первого и второго порядка с использованием подхода двойной фильтрации» , Pattern Recognition Letters, Vol. 42, № 1 июнь, стр. 65–71. 2014.
- ^ Дим, Жюль Р.; Такамура, Тамио (11 декабря 2013 г.). «Альтернативный подход к классификации спутниковых облаков: применение краевого градиента» . Достижения метеорологии . 2013 : 1–8. дои : 10.1155/2013/584816 . ISSN 1687-9309 .
- ^ Шарр, Ханно (2007). «Оптимальные фильтры для расширенного оптического потока». Сложное движение . Конспекты лекций по информатике. Том. 3417. Берлин, Гейдельберг: Springer Berlin Heidelberg. стр. 14–29. дои : 10.1007/978-3-540-69866-1_2 . ISBN 978-3-540-69864-7 .
- ^ Шарр, Ханно, ОПТИМАЛЬНЫЕ СЕМЕЙСТВА ПРОИЗВОДНЫХ ФИЛЬТРОВ ВТОРОГО ПОРЯДКА ДЛЯ ПРОЗРАЧНОЙ ОЦЕНКИ ДВИЖЕНИЯ, 15-я Европейская конференция по обработке сигналов (EUSIPCO 2007), Познань, Польша, 3–7 сентября 2007 г.