Поиск правильных параметров для ваших алгоритмов компьютерного зрения иногда может быть сложной и трудоемкой задачей. Алгоритмы компьютерного зрения довольно хорошо работают в исследовательских работах; но, судя по моему небольшому опыту, когда мы сами реализуем эти низкоуровневые и среднеуровневые алгоритмы, нам обычно нужно приложить некоторые усилия, чтобы они хорошо работали с нашим собственным набором входных изображений или видео. Большая часть этих усилий направлена ​​на поиск правильных параметров для наших алгоритмов, но даже в этом случае алгоритм может иногда не работать на практике.

Теоретически нет разницы между теорией и практикой; на практике есть. " - Йоги Берра («на самом деле цитата неверно приписана)

Если вы обнаружите, что изо всех сил пытаетесь определить правильные параметры для алгоритма компьютерного зрения, вероятно, лучшим решением будет реализовать алгоритм самостоятельно и узнать, как каждый параметр влияет на результат. Это утомительно и непрактично - если вы не изучаете курс компьютерного зрения, и ваш профессор требует, чтобы вы реализовали алгоритм; в таком случае у вас нет выбора! Если вы просто хотите использовать библиотечную функцию из OpenCV и все же хотите понять, как каждый параметр влияет на конечный результат, не тратя много времени на математические сложности, эффективным способом является использование визуального инструмента, который поможет вам понять, что происходит с результатом, когда вы возитесь с одним или несколькими параметрами.

В следующей демонстрации такого визуального вспомогательного инструмента я пытаюсь найти правильные параметры для алгоритма обнаружения краев Канни, который будет использоваться в алгоритме преобразования Хафа для приложения поиска линий полос движения. Чтобы алгоритм Canny Edge работал хорошо, нам нужно настроить 3 основных параметра - размер ядра фильтра Гаусса, верхнюю и нижнюю границы для порогового значения гистерезиса. Более подробную информацию об этом можно найти здесь. Используя инструмент с графическим интерфейсом пользователя, я пытаюсь определить наилучшие значения этих параметров, которые я должен использовать для ввода.

Как видите, использование визуального помощника значительно упрощает задачу. Кроме того, если вы просто поиграете с инструментом, вы можете развить больше интуиции для алгоритма и сможете угадывать правильные параметры в следующий раз, когда вы будете использовать тот же алгоритм.

Вы можете загрузить код этого инструмента с GitHub и изменить его для своих нужд, а также использовать его для любого алгоритма, чтобы лучше понять его.



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



Я использовал этот инструмент, чтобы найти правильные параметры для обнаружения края Canny, и использовал вывод края в Hough Line Transform. Ниже приведены некоторые результаты, которые я получил от Hough Line Transform для поиска линий полосы движения.

Я изучил эту технику использования графического интерфейса пользователя во время прохождения курса компьютерного зрения доктора Аарона Бобика, Технологический институт Джорджии.

В поисках полос движения - один из проектов в программе Самоуправляемый автомобильный инженер Nanodegree от Udacity. Если вы хотите узнать больше о самоуправляемых автомобилях, компьютерном зрении или глубоком обучении, вам стоит это проверить.