Поиск правильных параметров для ваших алгоритмов компьютерного зрения иногда может быть сложной и трудоемкой задачей. Алгоритмы компьютерного зрения довольно хорошо работают в исследовательских работах; но, судя по моему небольшому опыту, когда мы сами реализуем эти низкоуровневые и среднеуровневые алгоритмы, нам обычно нужно приложить некоторые усилия, чтобы они хорошо работали с нашим собственным набором входных изображений или видео. Большая часть этих усилий направлена на поиск правильных параметров для наших алгоритмов, но даже в этом случае алгоритм может иногда не работать на практике.
Если вы обнаружите, что изо всех сил пытаетесь определить правильные параметры для алгоритма компьютерного зрения, вероятно, лучшим решением будет реализовать алгоритм самостоятельно и узнать, как каждый параметр влияет на результат. Это утомительно и непрактично - если вы не изучаете курс компьютерного зрения, и ваш профессор требует, чтобы вы реализовали алгоритм; в таком случае у вас нет выбора! Если вы просто хотите использовать библиотечную функцию из OpenCV и все же хотите понять, как каждый параметр влияет на конечный результат, не тратя много времени на математические сложности, эффективным способом является использование визуального инструмента, который поможет вам понять, что происходит с результатом, когда вы возитесь с одним или несколькими параметрами.
В следующей демонстрации такого визуального вспомогательного инструмента я пытаюсь найти правильные параметры для алгоритма обнаружения краев Канни, который будет использоваться в алгоритме преобразования Хафа для приложения поиска линий полос движения. Чтобы алгоритм Canny Edge работал хорошо, нам нужно настроить 3 основных параметра - размер ядра фильтра Гаусса, верхнюю и нижнюю границы для порогового значения гистерезиса. Более подробную информацию об этом можно найти здесь. Используя инструмент с графическим интерфейсом пользователя, я пытаюсь определить наилучшие значения этих параметров, которые я должен использовать для ввода.
Как видите, использование визуального помощника значительно упрощает задачу. Кроме того, если вы просто поиграете с инструментом, вы можете развить больше интуиции для алгоритма и сможете угадывать правильные параметры в следующий раз, когда вы будете использовать тот же алгоритм.
Вы можете загрузить код этого инструмента с GitHub и изменить его для своих нужд, а также использовать его для любого алгоритма, чтобы лучше понять его.
Ниже приведена ссылка на библиотеку, над которой я планирую работать, и создать инструмент с графическим интерфейсом для всех популярных алгоритмов компьютерного зрения.
Я использовал этот инструмент, чтобы найти правильные параметры для обнаружения края Canny, и использовал вывод края в Hough Line Transform. Ниже приведены некоторые результаты, которые я получил от Hough Line Transform для поиска линий полосы движения.
Я изучил эту технику использования графического интерфейса пользователя во время прохождения курса компьютерного зрения доктора Аарона Бобика, Технологический институт Джорджии.
В поисках полос движения - один из проектов в программе Самоуправляемый автомобильный инженер Nanodegree от Udacity. Если вы хотите узнать больше о самоуправляемых автомобилях, компьютерном зрении или глубоком обучении, вам стоит это проверить.