2.4.1
Библиотека Keras
Для решения задач машинного обучения существует множество
библиотек и систем, поддерживающих интерфейс языка Python. Некоторые из
них: Apache Singa, Caffe, Keras, Microsoft Cognitive Toolkit, MXNet,
TensorFlow, Theano, PyTorch [24].
Для реализации распознавания выбрана библиотека Keras – открытая
нейросетевая библиотека, написанная на языке Python. Она нацелена на
оперативную работу с сетями глубинного обучения, при этом спроектирована
так, чтобы быть компактной, модульной и расширяемой [].
С помощью библиотеки Keras была реализована сверточная нейронная
сеть.
2.4.2
Библиотека OpenCV
OpenCV – это библиотека с открытым исходным исходом, которая
содержит алгоритмы для решения задач компьютерного зрения, обработки
изображений и численных алгоритмов общего назначения. Она написана на
языках C и C++ и может работать на компьютерах под управлением разных
операционных систем [25].
Главной ее целью является предоставление простого интерфейса,
позволяющего разрабатывать приложения с использованием возможностей
компьютерного зрения. Библиотека OpenCV содержит множество функций из
разных областей компьютерного зрения. Так же использовалось расширение
Numpy [26].
С помощью библиотеки OpenCV были написаны алгоритмы, описанные
ниже.
`
52
2.5
Поиск максимально стабильных экстремальных областей
В результате работы фильтра изображения преобразуются в оттенки
серого для поиска регионов. Для примера была выбрана дорожная сцена из
выборки.
Рисунок 24– Пример работы алгоритма
Минусы алгоритма заключаются в том, что он находит достаточно
много регионов. Поэтому, часто необходимы дополнительные действия для
того, чтобы сократить количество регионов, не представляющих интерес.
Также алгоритм достаточно чувствителен к размытым изображениям, в
таких изображениях алгоритм MSER может рассматривать несколько
областей как один регион.
В OpenCV Python ниже приведена структура функции, которая
используется для создания MSER.
cv2.MSER_create
(_delta,
_min_area,
_max_area,
_max_variation,
_min_diversity, _max_evolution, _area_threshold, _min_margin, _edge_blur_size)
Параметры Метода MSER:
_delta – сравнивает (sizei - sizei-delta) / sizei-delta;
_min_area – убирает области, которые меньше чем minArea;
_max_area – убирает область, которая больше, чем maxArea;
_max_variation – убирает область, которая имеет одинаковый
размер дочерний элемент;
_min_diversity – для цветного изображения;
`
53
_max_evolution – для цветного изображения;
_area_threshold – для цветного изображения порог области,
вызывающий повторную инициализацию;
_min_margin – для цветного изображения игнорирует слишком
маленькое поле;
_edge_blur_size – для цветного изображения размер области для
размытия краев [27].
Рисунок 25 – Пример работы алгоритма
Что бы избежать большого количества выделений на изображениях тех
объектов, которые нам не нужны, были разработаны системы фильтрации для
того, чтобы уменьшить количество кандидатов. Хоть и настройка
гиперпараметров в данном алгоритме очень сильно влияет на определение
нужных областей интереса, но все же этого недостаточно.
В частности, фильтры Габора в разных ориентациях существенно
помогают снизить количество выделяемых областей при работе алгоритма.
Были введены соотношение сторон во избежание выделения
неравномерных областей, которые могут быть сильно вытянуты по
горизонтали или вертикали. А также система затрагивала моменты, если на
изображении был размытый объект, а алгоритм мог его отметить несколько
раз.
`
54
Do'stlaringiz bilan baham: |