Об одном методе дифференцирования плоской дискретной кривой при обработке изображений


Цитировать

Полный текст

Аннотация

Решается задача получения точек с высокой кривизной (особых точек) контуров для идентификации формы объектов на изображениях. Проводится разбор существующих методов численного дифференцирования в данном аспекте. Рассматривается новый метод дифференцирования плоских дискретно заданных кривых, являющихся точками (пикселями) контуров объектов, на основе использования вариаций метода Arch Height. Показаны особенности такого метода дифференцирования при использовании различных формул вычисления производной. Проанализированы аспекты зависимости точности, получаемой производной от длины хорды. Показано, что при возрастании её длины точность дифференцирования ухудшается, а результат стремится к модулю кривизны кривой в данной точке. Приводится сравнение разработанного метода с другими известными методами. Проведён анализ области применимости и вариабельности параметров дифференцирования. Исследованы аспекты точности вычисления производных для различных параметров дифференцирования. Рассмотрены примеры дифференцирования различных кривых, как заданных аналитически, так и функций-контуров, полученных из реальных изображений. Показано, что предложенный метод позволяет избавиться от неоднозначности положения точки контура с высокой кривизной, а, следовательно, повысить качество распознавания формы объектов. Изложены возможные области применения данного метода в различных областях науки и техники.

Полный текст

1. Введение Решение задачи по идентификации формы графических объектов часто разделя- ют на два шага [1]. На первом производится обработка изображения для выделения из него набора характерных признаков распознаваемых объектов, а на втором вы- полняется собственно сама классификация полученных объектов. В настоящее время широко распространено направление, при котором характерные признаки получают- ся на основе производной, вычисляемой от функции контура идентифицируемого объекта [2]. Поскольку эта функция получена из координат изображения объекта, то вычисление такой производной, как правило, сопряжено с вычислительными трудно- стями, обусловленными различными факторами, такими как: присутствие шумов в дифференцируемой функции, существование локальных разрывов первого рода, зави- симостью от разрешения изображения (количества пикселей на сантиметр), методов предварительной обработки и т.п. В настоящее время имеется большое количество практических методов вычисления первой производной для дискретно заданной кривой. Поскольку интересы авторов затрагивает распознавание объектов на изоб- ражении, то рассмотрение будет ограничено только плоскими кривыми. Наиболее распространёнными методами дифференцирования являются: 1. Методика вычисления производных на основе интерполяционных формул, ос- нованная на замене функции некоторым рядом. Производные вычисляются здесь через раздельные разности. В зависимости от используемой формулы это методы Ньютона, Стирлинга, Эрланга, Бесселя, Гаусса и т. п. [3]; Статья поступила в редакцию 10 сентября 2016 г. Работа поддержана грантами РФФИ №15-07-08795 и 16-07-00556. 2. Другая методика изложена в книге [4], где для вычисления производных исполь- зуются некоторые формулы (похожие на разложение в ряд, как в предыдущем методе). 3. Третья методика, впервые изложенная в [5], использует свойство свёртки, при котором дифференцирование функции заменяется свёрткой с производной функ- * * * * * * ции Гаусса, по формуле ( ) = = . 4. Четвёртая методика основана на регуляризации и наиболее полно изложена в книге Ланцоша [6] в 1961 году. Соответствующие методы называются «диффе- ренцированием с использованием квадратур», так как автор аппроксимирует дифференцируемую в точке функцию квадратичной параболой. 5. Ещё одна методика, которую необходимо упомянуть, основана на методе Нуме- рова [7]. В ней используется метод декомпозиции, однако параметры функции подбираются так, что ошибка вычисления первой производной имеет третий порядок, а второй - четвёртый. 2. Метод дифференцирования Анализ этих методов показывает, что каждый из них имеет свои преимущества и недостатки. В одних методах необходимо использовать разложение в некоторый ряд (A, B), в других применяется весьма дорогостоящая в вычислительном отношении свёртка (C) или трудоёмкая формула (D). Исследования авторов в области обработки изображений и распознавании формы графических объектов в последние время привели к детальному анализу методик поиска особых точек (точек с высокой кривизной, являющимися информативными с точки зрения распознавания формы), основанных на методе Arch Height, впервые опубликованном в 1992 году [8], который в дальнейшем неоднократно рассматривался и модифицировался, например в [9]. ≫ ≫ Для изложения метода предположим, что имеется 1 точек 1, 2, 3,..., параметризованной плоской кривой Γ() = ((), ()), 1 :( :( . Первоначально идея этого метода заключался в вычислении расстояния , между точкой кривой - и перпендикуляром к хорде как показано на рис. 1. Это расстояние аппроксимирует значение модуля кривизны в этой точке. Рис. 1. Фрагмент кривой Γ с точками и хордой (, ) Расстояние вычислялось в евклидовой метрике по формуле: = √︃ (︀(�� - )( - ) - (�� - )( - ))︀2 , (1) ( - )2 + ( - )2 где , , , , , - координаты точек , , соответственно. При этом количество точек фрагментов кривой на отрезках (, ) и (, ) совпадает. При проведении серии экспериментов над аналитически заданными кривыми с различной длиной хорды было определено, что расстояние между точкой и хордой действительно пропорционально модулю кривизны кривой Γ в этой точке, как показано на рис. 2 и на рис. 3. Рис. 2. Длина хорды 7 шагов Рис. 3. Длина хорды 25 шагов Здесь хорошо видно, что вычисленная в виде расстояния кривизна (красная линия) практически совпадает с теоретической (зелёная линия), за исключением знака, поскольку расстояние не может быть отрицательным. Кроме того, хорошо видно возрастание амплитуды расстояния с увеличением длины хорды. Однако при вычислении расстояния между точкой и точкой , расположенной на середине длины хорды, по формуле евклидова расстояния: = √︁( - )2 + ( - )2, (2) где ( , ) - координаты середины отрезка, выяснилось, что при малых дли- нах хорды получаемое значение такого расстояния оказывается пропорционально значению первой производной, вычисленной в данной точке. На рисунках 4 и 5 в ка- честве дифференцируемых кривых используются аналитически построенные кривые - первой производной функции Гаусса (рис. 4) и функция () = exp(cos()) (рис. 5). Рис. 4. Первая производная функции Гаусса Рис. 5. Экспонента от косинуса Из рис. 5 видно, что кривая расстояния, вычисленная по формуле (2)1 хорошо аппроксимирует первую производную от заданной функции и совсем не коррелирует с теоретически вычисленной кривизной. Проведённые далее эксперименты показали, что с увеличением длины хорды точность дифференцирования существенно снижается, а при длине хорды в 50-70 точек функция расстояния стремится к значению кривизны, но с обратным знаком, как показано на рис. 6 и 7. Рис. 6. Длина хорды равна 35 Рис. 7. Длина хорды равна 75 Однако на рис. 8 и 9 для функции Гаусса показано, что точность вычисления кривизны зависит от формы дифференцируемой кривой. Рис. 8. Длина хорды равна 35 Рис. 9. Длина хорды равна 75 Из рис. 8 и 9 видно, что при дальнейшем увеличении длины хорды хорошо заметны искажения для функции расстояния в виде нарушения симметрии (которая теперь стремится к кривизне, но с обратным знаком), которые возрастают при дальнейшем увеличении длины хорды (справа). 3. Обсуждение и выводы В качестве иллюстрации качества вычисления производной приведём рисунок, на котором показано тестовое изображение самолёта, его контур и функция производной, 1При вычислении расстояния было использовано условие, что если хорда расположена выше кривой, то она берётся с положительным знаком, а если ниже - то с отрицательным. вычисленная по этому контуру. На рис. 10 показан результат обработки силуэта самолёта (слева вверху) с небольшим уровнем шума. Для получения контура объекта (справа вверху) была использована следующая последовательность функций Matlab из пакета Image Processing: загрузка изображения; фильтрация, для удаления шумов и метод Contour Following [10]. Функция производной контура, вычисленная по предложенной методике приведена на рис. 10 (внизу). Рис. 10. Силуэт самолёта с наложенными шумами (слева вверху), его полученный контур (справа вверху) с нанесёнными точками высокой кривизны и функция производной контура (снизу), с соответствующими точками максимальной кривизны Для определения области применимости данного метода дифференцирования были проведены исследования над изображениями с различным уровнем шумов. Результаты этих исследований свидетельствуют о небольших погрешностях диф- ференцирования при увеличении отношения «сигнал-шум» вплоть до 60 дБ. При больших уровнях шумов точность дифференцирования существенно снижалась. На основе полученных результатов можно сделать выводы о работоспособности данного метода при использовании его для обработки изображений и идентификации графических объектов на изображениях, полученных в различных областях геодезии, медицины, астрономии, ядерной физики и др. Кроме того, данный метод может быть рекомендован для применения в других областях науки не связанных с обработкой изображений, но тем не менее исполь- зующих обработку табулированных данных, например в экономике при изучении различных трендов. References 1. M. Nixon, A. Aguado, Feature Extraction & Image Processing for Computer Vision, 3rd Edition, Elsevier, 2012. 2. T. P. Nguyen, I. Debled-Rennesson, A Discrete Geometry Approach for Dominant Point Detection, Pattern Recognition 44 (1) (2011) 32-44. 3. I. S. Beresin, N. P. Zhidkov, Methods of Calculation, Vol. 1, Fizmatlit, Moscow, 1962, in Russian. 4. M. Abramowitz, I. Stegun, Handbook of Mathematical Functions, U.S National Bureau of Standards, Washington, 1964. 5. I. M. Gelfand, G. E. Shilov, Generalized Functions, Fizmatlit, Moscow, 1959, in Russian. 6. C. Lanczos, Applied Analysis, Prentice Hall Inc, New Jersey, 1956. 7. B. Numerov, Note on the Numerical Integration of 2/2 = (, ), Astronomische Nachrichten 230 (19) (1927) 359-364. 8. L. Yijia, D. Jiqing, W. Hongmei, Contour Shape Description Based on an Arch Height Function, Pattern Recognition 25 (1) (1992) 17-23. 9. M. Marji, R. Klette, P. Siy, Corner Detection and Curve Partitioning Using Arc-Chord Distance, Springer Berlin Heidelberg, Berlin, Heidelberg, 2005, pp. 512-521. 10. R. Thakur, Contour Following in Binary Images. URL http://www.mathworks.com/matlabcentral/fileexchange/ 23056-contour-following-in-binary-images © Гостев И. М., Севастьянов Л. А., 2016
×

Об авторах

Иван Михайлович Гостев

Национальный исследовательский университет «Высшая школа экономики»

Email: igostev@hse.ru
Москва, Россия

Леонид Антонович Севастьянов

Российский университет дружбы народов

Email: sevast@sci.pfu.edu.ru
Москва, Россия

Список литературы

  1. Nixon M., Aguado A. Feature Extraction & Image Processing for Computer Vision. 3 edition. Elsevier, 2012. 423 p.
  2. Nguyen T.P., Debled-Rennesson I. A Discrete Geometry Approach for Dominant Point Detection // Pattern Recognition. 2011. Vol. 44, No 1. Pp. 32-44.
  3. Березин И.С., Жидков Н.П. Методы вычислении. М.: Физматлит, 1962. Т. 1.
  4. Abramowitz M., Stegun I. Handbook of Mathematical Functions. Washington: U.S National Bureau of Standards, 1964.
  5. Гельфанд И.М., Шилов Г.Е. Обобщённые функции. Москва: Физматлит, 1959.
  6. Lanczos C. Applied Analysis. New Jersey: Prentice Hall Inc, 1956.
  7. Numerov B. Note on the Numerical Integration of 2/2 = (, ) // Astronomische Nachrichten. 1927. Vol. 230, No 19. Pp. 359-364. ISSN 1521-3994.
  8. Yijia L., Jiqing D., Hongmei W. Contour Shape Description Based on an Arch Height Function // Pattern Recognition. 1992. Vol. 25, No 1. Pp. 17-23. ISSN 0031-3203.
  9. Marji M., Klette R., Siy P. Corner Detection and Curve Partitioning Using Arc-Chord Distance // Combinatorial Image Analysis: 10th International Workshop, IWCIA 2004, Auckland, New Zealand, December 1-3, 2004. Proceedings / Ed. by R. Klette, J. Zˇuni´c. Berlin, Heidelberg: Springer Berlin Heidelberg, 2005. Pp. 512-521.
  10. Thakur R. Contour Following in Binary Images. http://www.mathworks.com/ matlabcentral/fileexchange/23056-contour-following-in-binary-images.

© Гостев И.М., Севастьянов Л.А., 2016

Creative Commons License
Эта статья доступна по лицензии Creative Commons Attribution 4.0 International License.

Данный сайт использует cookie-файлы

Продолжая использовать наш сайт, вы даете согласие на обработку файлов cookie, которые обеспечивают правильную работу сайта.

О куки-файлах