НАУЧНО-ТЕХНИЧЕСКИИ ВЕСТНИК ИНФОРМАЦИОННЫХ ТЕХНОЛОГИИ, МЕХАНИКИ И ОПТИКИ май-июнь 2018 Том 18 № 3 ISSN 2226-1494 http://ntv.ifmo.ru/
SCIENTIFIC AND TECHNICAL JOURNAL OF INFORMATION TECHNOLOGIES, MECHANICS AND OPTICS
May-June 2018
Vol. 18 No 3 ISSN 2226-1494
http://ntv.ifmo.ru/en
УДК 004.931 004.932
ИССЛЕДОВАНИЕ АЛГОРИТМОВ ТЕХНИЧЕСКОГО ЗРЕНИЯ ДЛЯ СИСТЕМ ПРОСТРАНСТВЕННОГО СЛЕЖЕНИЯ В ТИПОВЫХ РЕЖИМАХ ИХ ФУ НКЦИОНИРО ВАНИЯ
М.В. Захарова3, Г. Шмигельскийа, В.В. Григорьев3
a Университет ИТМО, Санкт-Петербург, 197101, Российская Федерация Адрес для переписки: marie.zaharova@gmail.com Информация о статье
Поступила в редакцию 12.03.18, принята к печати 15.04.18 doi: 10.17586/2226-1494-2018-18-3-487-492 Язык статьи - русский
Ссылка для цитирования: Захарова М.В., Шмигельский Г., Григорьев В.В. Исследование алгоритмов технического зрения для систем пространственного слежения в типовых режимах их функционирования // Научно-технический вестник информационных технологий, механики и оптики. 2018. Т. 18. № 3. С. 487-492. doi: 10.17586/2226-1494-2018-18-3-487-492
Аннотация
Предложен алгоритм захвата и сопровождения объекта в кадре для автоматической фазовой фокусировки однообъективной камеры с зеркальным обтюратором. Захват осуществляется путем идентификации объекта через фильтрацию границ и контуров при помощи оператора Канни, затем используется преобразование Хафа для обнаружения характерных линий объекта. Надежное сопровождение объекта обеспечивается за счет предиктора/корректора, основанного на фильтре Калмана. Предложенный алгоритм расчета дал возможность добиться оптимальной производительности, достаточной для захвата и сопровождения объекта в кадре и его своевременного экспонирования. Предложенный алгоритм реализован для слежения за объектом в пределах сцены, траектория и скорость которого заранее неизвестны, что исключает возможность построения самообучающегося алгоритма. Из существующих методов фильтрации оператор Канни обеспечивает наиболее точное детектирование границ объекта, что упрощает последующую обработку изображения. Введение дополнительного преобразования Хафа позволяет ускорить расчеты путем уменьшения объема обрабатываемых данных, что подтверждает скорость работы алгоритма в целом по сравнению с классическим способом фильтрации. Использование фильтра Калмана в качестве предиктора/корректора позволяет заранее определить точку для фокусировки в следующий момент времени. Предложенный алгоритм расчета дает возможность добиться оптимальной производительности, достаточной для захвата и сопровождения объекта на сцене, а также для своевременного экспонирования кадра. Ключевые слова
следящая система, детектор границ, слежение за объектом, преобразование Хафа, фильтр Калмана Благодарности
Работа выполнена при государственной финансовой поддержке Министерства образования и науки РФ (проект 14.Z50.31.0031).
STUDY OF COMPUTER VISION ALGORITHMS FOR SPACE TRACKING SYSTEMS IN TYPICAL MODES OF THEIR FUNCTIONING M.V. Zakharovaa, G. Shmyhelskyi3, V.V. Grigoriev3
a ITMO University, Saint Petersburg, 197101, Russian Federation Corresponding author: marie.zaharova@gmail.com Article info
Received 12.03.18, accepted 15.04.18 doi: 10.17586/2226-1494-2018-18-3-487-492 Article in Russian
For citation: Zakharova M.V., Shmyhelskyi G., Grigoriev V.V. Study of computer vision algorithms for space tracking systems in typical modes of their functioning. Scientific and Technical Journal of Information Technologies, Mechanics and Optics, 2018, vol. 18, no. 3, pp. 487-492 (in Russian). doi: 10.17586/2226-1494-2018-18-3-487-492
Abstract
The paper proposes an algorithm for an object capturing and tracking in a frame for automatic phase focusing of a single-objective camera with a mirror obturator. The capture is performed by the object identification through the filtering of boundaries and edges by the Canny operator; then the Hough transformation is used to detect the characteristic lines of the object. Reliable support of the object is provided by a predictor/equalizer based on the Kalman filter. The proposed calculation algorithm makes it possible to achieve optimal performance, sufficient for the object capturing and tracking in the
frame and its timely exposure. This algorithm was implemented to track an object within the scene, the trajectory and speed of which are unknown in advance that excludes the possibility of creation a self-learning algorithm. The Canny operator provides the most accurate detection of object boundaries from existing filtering methods that simplifies the subsequent image processing. The application of an additional Hough transformation makes it possible to speed up the calculations by reducing the amount of data processed, confirming the overall speed of the algorithm as compared to the classical filtering method. The usage of the Kalman filter as a predictor/equalizer gives the possibility to pre-determine the point for focusing at the next time. The proposed calculation algorithm makes it possible to achieve optimal performance, sufficient for the object capturing and tracking on the stage, and also sufficient for timely exposure of the frame. Keywords
tracking system, boundary detector, object tracking, Hough transformation, Kalman filter Acknowledgements
This work was supported by the Ministry of Education and Science of the Russian Federation (Project 14.Z50.31.0031)
Введение
Системами пространственного слежения называются системы, которые предназначены для автоматического сопровождения и выработки пространственных координат подвижных объектов, перемещающихся в наблюдаемом пространстве по неизвестной траектории.
Положение объекта в пространстве, двигающегося по неизвестной траектории, представляет большой интерес для многих сфер науки и техники. Необходимо измерять скорость, положение и расстояние до интересующего объекта. Благодаря достижениям современной науки появилась возможность получать высокоточные характеристики объекта и его положения при помощи следящих систем. Одним из наиболее ярких примеров являются оптические следящие системы.
Постановка задачи выглядит следующим образом: в кадре появляется заранее выбранный объект, который движется в пределах сцены с неизвестной скоростью и ускорением, по заранее неизвестной траектории. Необходимо идентифицировать выбранный пользователем объект и спрогнозировать его траекторию в следующий момент времени, учитывая время экспонирования кадра.
Выделение объекта осуществляется с помощью предварительной фильтрации и обработки изображения, при этом анализ изображения не производится, но характерные линии, которые проходят фильтрацию, можно рассматривать как области с особыми характеристиками [1, 2].
Классические методы фильтрации, такие как быстрое преобразование Фурье, фильтр низких частот, фильтр высоких частот могут быть использованы для детектирования границ объекта в некоторых задачах. Однако одномерного преобразования Фурье не хватит для анализа выбранного объекта относительно сцены, поэтому приходится использовать двумерное, что требует больших вычислительных мощностей и (или) времени идентифицирования объекта. Также можно использовать свертку интересующей области с готовым фильтром, например, заточенную на высокие (фильтр Габора) или низкие частоты (фильтр Гаусса), но такой способ значительно уменьшает скорость обработки и объем данных для обработки изображения за счет увеличения количества шума на изображении.
Отдельный класс фильтров - фильтрация границ и контуров. Существует целый ряд алгоритмов, решающих задачу фильтрации контуров, такие как операторы Собеля, Лапласа, Прюитта, Робертса и Канни. Оператор Канни использует многоступенчатый алгоритм для обнаружения широкого спектра границ в изображениях [3, 4]. Он не ограничивается вычислением градиента сглаженного изображения. В контуре границы оставляются только точки максимума градиента изображения, а не максимальные точки, лежащие рядом с границей, удаляются. Здесь также используется информация о направлении границы для того, чтобы удалять точки именно рядом с границей и не разрывать саму границу вблизи локальных максимумов градиента [5]. Затем с помощью двух порогов удаляются слабые границы. Фрагмент границы при этом обрабатывается как целое. Если значение градиента где-нибудь на прослеживаемом фрагменте превысит верхний порог, то этот фрагмент остается также «допустимой» границей и в тех местах, где значение градиента падает ниже этого порога, до тех пор, пока она не станет ниже нижнего порога. Если же на всем фрагменте нет ни одной точки со значением, большим верхнего порога, то он удаляется.
Несмотря на то, что оператор Канни достаточно точно справляется с задачей выделения границ и контуров в условиях частичной видимости линий, необходимо обеспечить непрерывное слежение за объектом, и для этого было решено применить преобразование Хафа [6-8]. Введение дополнительного преобразования Хафа позволяет ускорить расчеты путем уменьшения объема обрабатываемых данных, что увеличивает скорость работы алгоритма в целом по сравнению с классическим способом фильтрации.
Если требуется предсказание положения объекта в следующий момент времени с учетом времени экспонирования кадра , то использование фильтра Калмана в качестве предиктора/корректора позволяет заранее определить точку для фокусировки в следующий момент времени [9-12].
Предложенный алгоритм состоит из трех этапов: 1. детектирование границ объекта с помощью метода Канни, основывающегося на нескольких критериях: хорошее обнаружение, хорошая локализация и только один ответ на одно ребро;
2. преобразование Хафа- обнаруживаются характерные линии объекта, что позволяет ускорить расчеты путем уменьшения объема пересчитываемой информации, а также ускорить поиск объекта на сцене за счет характерных линий;
3. фильтр Калмана в качестве предиктора/корректора, что позволяет заранее определить точку для фокусировки в следующий момент времени [13, 14].
Детектор границ Канни
Для качественного детектирования границ, было выделено три критерия эффективности.
1. Хорошее обнаружение. Должны быть низкими вероятность того, что не удастся отметить реальные граничные точки, и вероятность ложной маркировки точек отсутствия. Поскольку обе эти вероятности являются монотонно убывающими функциями отношения выходного сигнала к шуму, этот критерий соответствует максимизации отношения сигнал/шум:
г+Ж
ИО = I О(-х)/(х)аХ - отклик фильтра на ребро в его центре; О(х) - граница объекта;
3-Ж
112
- среднеквадратичный отклик на шум п; [-Ж, Ж] - ограничение импульс-
Hn = n0\
Гг + W 2
{Lf (x)dx
ной характеристики фильтра;
i+w
w G("x) f (x)dx
SNR =
[7+W 2
^J_w f (x)dx
где SNR (англ. signal-to-noise ratio) - отношение сигнала к шуму.
2. Хорошая локализация. Точки, отмеченные оператором красными точками, должны быть как можно ближе к центру истинного края.
Для критерия локализации нужна некоторая мера, которая увеличивается по мере улучшения локализации. Будем использовать обратную величину среднеквадратичного расстояния отмеченного края от центра истинного ребра. Так как было решено пометить ребра у локальных максимумов в отклике оператора / (х), первая производная отклика будет равна нулю в этих точках.
Общий вид формулы для локализации выглядит следующим образом:
л+Ж
О'(-х)/'(х)йх
Локализация =
^ £f '2( x)dx
3. Только один ответ на одно ребро. Это неявно фиксируется в первом критерии, поскольку, когда есть два ответа на одно и то же ребро, один из них должен считаться ложным. Однако математическая форма первого критерия не учитывала требования множественного ответа, и ее необходимо было сделать явной.
В описании проблемы обнаружения края было решено, что края будут отмечены в локальных максимумах в отклике линейного фильтра, примененного к изображению. Критерий обнаружения 1 измеряет эффективность фильтра при различении сигнала и шума в центре края. Произведение и локализации максимизируется, когда /(х) = О(-х) в [-Ж,Ж].
Чтобы выразить это как функциональное ограничение на / , нам нужно получить выражение для расстояния между соседними шумовыми пиками. Прежде всего отметим, что среднее расстояние между соседними максимумами на выходе в два раза больше расстояния между смежными пересечениями нуля в производной от выхода оператора. Тогда среднее расстояние между пересечениями нуля отклика функ-
- \ 1/2
ции g на гауссовский шум равно хауе = п I —-— I , где Я (т) - автокорреляционная функция g . В дан-
IЯ"(0))
ном случае мы ищем среднее расстояние пересечения нуля для функции /'.
Г 2 Г 2
Так как Я(0) = I g (x)dx и Я"(0) = I g' (x)dx, среднее расстояние между нулевыми пересече-
3 -да 3 -да
I У (х)¿х
•> -да
ниями f' будет xzc (f) = п
. Расстояние между соседними максимумами в шумовом от-
, I да /''2(х)йх
-да
клике / , обозначаемом хтах , будет в два раза больше хгс. Мы задаем это расстояние как некоторую долю к ширины оператора: хтах (/)= 2хс (/)= кЖ.
N„ _-
(1)
Это естественная форма ограничения, так как отклик фильтра будет сосредоточен в области шириной 2W , а ожидаемое число шумовых максимумов в этой области равно Nn, где
2W _ 2
Хтах к
Фиксация к определяет количество шумовых максимумов, которые могут привести к ложному срабатыванию [15].
Отметим здесь, что межмаксимальное расстояние (1) масштабируется с шириной оператора. Таким образом, сначала определим оператор fw, который является результатом растяжения f в w раз,
/ (х)_ / (х/ w). Тогда, подставляя в (1), находим, что межмаксимальное расстояние для ^ есть хгс (/■*) _ wzzc(/). Исходя из этого, если функция / удовлетворяет ограничению множественного отклика при фиксированном к, то функция также будет удовлетворять ему, если W масштабируется с w . Для любого фиксированного к критерий множественного отклика является инвариантным относительно пространственного масштабирования / .
Результат детектирования границ представлен на рис. 1.
а б
Рис. 1. Исходное изображение (а) и результат детектирования границ методом Канни (б) Преобразование в пространство Хафа
Для последующего анализа изображения и наблюдаемого объекта необходимо уменьшить объем данных, сохраняя характеристики объекта и информацию о нем. На выходе с детектора границ Канни все еще получаем изображение, которое состоит из пикселей. Если характерные линии - прямые, эллипсы и их пересечения - будут определены их характерными уравнениями, то объем входящих данных будет уменьшен еще больше.
—
)„______ту
-800 -600 -400 -200 0 200 400 600 800
0
6, градус
б
Рис. 2. Исходное изображение до преобразования Хафа (а) и преобразование Хафа в среде МАТ1_АВ
для экспериментального изображения (б)
а
Идея преобразования Хафа состоит в том, что каждая граничная точка в карте ребра преобразуется во все возможные линии, которые могли бы пройти через эту точку. Результаты этого преобразования сохраняются в матрице. Значения в ячейках матрицы представляют собой количество кривых, проходящих через точку. Максимальные значения в ячейках соответствуют двум более ярким точкам на изображении и параметрам соответствующих прямых. Два ярких пятна - пересечения кривых двух линий. По этим пятнам можно определить угол 9 и расстояние р до прямой на исходном изображении [16]. Преобразования Хафа можно увидеть на рис. 2.
Фильтр Калмана
Фильтр Калмана использует динамическую модель системы (например, физический закон движения), известные управляющие воздействия и множество последовательных измерений для формирования оптимальной оценки состояния [17]. Алгоритм состоит из двух повторяющихся фаз: предсказание и корректировка. В первой фазе рассчитывается предсказание состояния в следующий момент времени (с учетом неточности их измерения), во второй фазе новая информация с датчика корректирует предсказанное значение (также с учетом неточности и зашумленности этой информации).
Зададим уравнение состояния объекта в двумерной сцене:
хк+1 = Ахк+вкик+™к;
Ук = скхк+^к,
х^ = А0х0|0 + В0и0 - предиктор следующего положения;
Е1|0 = A0 Е0|0 A +Q0 - предиктор ковариации;
У|0 - гауссиан N(С\х^,С1^1|0С1Т +Я). Следовательно,
хк+1 = Акхк+Вкик+; Ук = скхк+^к,
хк|к = хк|к-1 + 2к|к-1С[ (ск^к\к-1С1 +Як) (Ук - сЛ\к-1) - филкгр; хк+1|к = АЛ\к +Вкик - предиктор.
Фильтр Калмана определяет местоположение объекта независимо от того, обнаружен он или нет. Если объект обнаружен, фильтр Калмана сначала предсказывает его состояние в следующем кадре. Затем фильтр использует вновь обнаруженное местоположение для исправления состояния, создавая отфильтрованное местоположение. Если объект отсутствует, фильтр Калмана исключительно полагается на его предыдущее состояние, чтобы предсказать текущее местоположение объекта. Визуализация результата работы фильтра Калмана представлена на рис. 3.
4- обнаружение О слежение Рис. 3. Предиктор/корректор Калмана на экспериментальном изображении
Заключение
В работе был предложен алгоритм следящей фокусировки однообъективной камеры с зеркальным обтюратором. Режим захвата объекта на изображении был отработан с помощью метода Калмана для детектирования границ объекта и преобразования Хафа для обнаружения характерных линий объекта с целью оптимизации скорости расчетов, режим сопровождения и оценки предсказания объекта - с помощью фильтра Калмана.
Предложенный алгоритм дает возможность добиться оптимальной производительности, достаточной для захвата и сопровождения объекта на сцене, а также для своевременного экспонирования кадра.
Литература
1. Гонсалес Р., Вудс Р. Цифровая обработка изображений. М.: Техносфера, 2006. 1072 с.
2. Макаров М.А. Контурный анализ в решении задач описания и классификации объектов // Современные проблемы науки и образования. 2014. № 3. С. 38.
3. Дьяконов В., Абраменкова И. MATLAB. Обработка сигналов и изображений. СПб.: Питер, 2002. 608 с.
4. Canny J.F. Finding Edges and Lines in Images. Artificial Intelligence Laboratory Technical Report Al-TR-720. Cambridge, Massachusetts Institute of Technology, 1983.
5. Макаров М.А., Берестнева О.Г., Андреев С.Ю. Решение задачи описания и классификации контуров движущихся объектов на видео // Известия Томского политехнического университета. 2014. Т. 325. № 5. С. 77-83.
6. Pentland A.P. Visual Inference of Shape: Computation from Local Features. PhD dissertation. Cambridge, Massachusetts Inst. Technol., 1982.
7. Canny J. A computational approach to edge detection // IEEE Transactions on Pattern Analysis and Machine Intelligence. 1986. V. PAMI-8. N 6. P. 679-698. doi: 10.1109/TPAMI.1986.4767851
8. Hough P.V.C. Method and means for recognizing complex patterns. Patent US3069654, 1962.
9. D'Orazio T., Guaragnella C., Leo M., Distante A. A new algorithm for ball recognition using circle Hough transform and neural classifier // Pattern Recognition. 2004. V. 37. N 3. P. 393-408. doi: 10.1016/S0031-3203(03)00228-0
10. Balchen J.G., Jenssen N.A., Saelid S. Dynamic positioning using Kalman filtering and optimal control theory // Proc. IFAC/IFIP Symposium on Automation in Offshore Oil Field Operation. Bergen, Norway, 1976. P. 183-186.
11. Kalman R.E., Bucy R.S. New results in linear filtering and prediction theory // Journal of Fluids Engineering, Transactions of the ASME. 1961. V. 83. P. 95-108. doi: 10.1115/1.3658902
12. Бесекерский В.А., Попов Е.П. Теория систем автоматического управления. М.: Наука, 1975. 768 с.
13. Гонсалес Р., Вудс Р., Эддинс С. Цифровая обработка изображений в среде MATLAB. М.: Техносфера, 2006. 616 с.
14. Колючкин В.Я., Нгуен К.М., Чан Т.Х. Алгоритмы обработки изображений в системах машинного зрения роботизированных производственных линий // Нейрокомпьютеры: разработка, применение. 2014. № 3. С. 44-51.
15. Long M., Peng F. A box-counting method with adaptable box height for measuring the fractal feature of images // Radioengineering. 2013. V. 22. P. 208-213.
16. Perreault S., Hebert P. Median filtering in constant time // IEEE Transactions on Image Processing. 2007. V. 16. N 9. P. 23892394. doi: 10.1109/TIP.2007.902329
17. Lee P.M., Chen H.Y. Adjustable gamma correction circuit for TFT LCD // Proc. IEEE International Symposium on Circuits and Systems. Kobe, Japan, 2005. P. 780-783. doi: 10.1109/ISCAS.2005.1464704
Авторы
Захарова Мария Валентиновна - аспирант, Университет ИТМО, Санкт-Петербург, 197101, Российская Федерация, ОЯСГО ГО: 0000-0002-4355-7605, marie.zaharova@gmail.com Шмигельский Григорий - аспирант, Университет ИТМО, Санкт-Петербург, 197101, Российская Федерация, ОЯСГО ГО: 0000-0002-4943-8711, gri6ka16@gmail.com
Григорьев Валерий Владимирович - доктор технических наук, профессор, профессор, Университет ИТМО, Санкт-Петербург, 197101, Российская Федерация, ОЯСГО ГО: 0000-0001-83741899, grigvv@yandex.ru
References
1. Gonzales R.C., Woods R.E. Digital Image Processing. 2nd ed. Upper Saddle River, Prentice Hall, 2002, 793 p.
2. Makarov M.A. Contour analisys in the problems of description and classification of objects. Sovremennye Problemy Nauki i Obrazovaniya, 2014, no. 3, p. 38. (in Russian)
3. D'yakonov V., Abramenkova I. MATLAB. Processing of Signals and Images. St. Petersburg, Piter Publ., 2002, 608 p. (In Russian)
4. Canny J.F. Finding Edges and Lines in Images. Artificial Intelligence Laboratory Technical Report Al-TR-720. Cambridge, Massachusetts Institute of Technology, 1983.
5. Makarov M.A., Berestneva O.G., Andreev S.Yu. Solving the problem of moving objects contour classification and recognition on video frame. Bulletin of the Tomsk Polytechnic University, 2014, vol. 325, no. 5, pp. 77-83. (in Russian)
6. Pentland A.P. Visual Inference of Shape: Computation from Local Features. PhD dissertation. Cambridge, Massachusetts Inst. Technol., 1982.
7. Canny J. A computational approach to edge detection. IEEE Transactions on Pattern Analysis and Machine Intelligence, 1986, vol. PAMI-8, no. 6, pp. 679-698. doi: 10.1109/TPAMI.1986.4767851
8. Hough P.V.C. Method and means for recognizing complex patterns. Patent US3069654, 1962.
9. D'Orazio T., Guaragnella C., Leo M., Distante A. A new algorithm for ball recognition using circle Hough transform and neural classifier. Pattern Recognition, 2004, vol. 37, no. 3, pp. 393-408. doi: 10.1016/S0031-3203(03)00228-0
10. Balchen J.G., Jenssen N.A., Saelid S. Dynamic positioning using Kalman filtering and optimal control theory. Proc. IFAC/IFIP Symposium on Automation in Offshore Oil Field Operation. Bergen, Norway, 1976, pp. 183-186.
11. Kalman R.E., Bucy R.S. New results in linear filtering and prediction theory. Journal of Fluids Engineering, Transactions of the ASME, 1961, vol. 83, pp. 95-108. doi: 10.1115/1.3658902
12. Besekerskii V.A., Popov E.P. The Theory of Automatic Control Systems. Moscow, Nauka Publ., 1975, 768 p. (in Russian)
13. Gonsales R.C., Woods R.E., Eddins S.L. Digital Image Processing Using MATLAB. Prentice Hall, 2004, 344 p.
14. Kolyuchkin V.Ya., Nguen C.M., Tran T.H. Image processing algorithms in machine vision systems of robotized industrial lines. Journal Neurocomputers, 2014, no. 3, pp. 44-51. (in Russian)
15. Long M., Peng F. A box-counting method with adaptable box height for measuring the fractal feature of images. Radioengineering, 2013, vol. 22, pp. 208-213.
16. Perreault S., Hebert P. Median filtering in constant time. IEEE Transactions on Image Processing, 2007, vol. 16, no. 9, pp. 2389-2394. doi: 10.1109/TIP.2007.902329
17. Lee P.M., Chen H.Y. Adjustable gamma correction circuit for TFT LCD. Proc. IEEE International Symposium on Circuits and Systems. Kobe, Japan, 2005, pp. 780-783. doi: 10.1109/ISCAS.2005.1464704
Authors
Maria V. Zakharova - postgraduate, ITMO University, Saint
Petersburg, 197101, Russian Federation, ORCID ID: 0000-00024355-7605, marie.zaharova@gmail.com
Grygorii Shmyhelskyi - postgraduate, ITMO University, Saint
Petersburg, 197101, Russian Federation, ORCID ID: 0000-00024943-8711, gri6ka16@gmail.com
Valeriy V. Grigoriev - D.Sc., Full Professor, ITMO University,
Saint Petersburg, 197101, Russian Federation, ORCID ID: 00000001-8374-1899, grigvv@yandex.ru