Я хотел бы использовать классификатор Хаара для обнаружения присутствия транспортных средств в сцене (пока что пытался использовать только автомобили). Так как я не нашел много обученных XML-файлов в Интернете, я решил создать свой собственный.
Я нашел несколько наборов изображений транспортных средств, которые использовались для аналогичных целей (обучение алгоритмов компьютерного зрения), и использовал их для создания собственных XML-файлов. Прошла почти неделя, и некоторые из них закончились, поэтому я попытался их использовать, но результаты были ужасными. Классификаторы, которые я нашел в Интернете, работали прилично, по крайней мере, кажется, что они пытаются обнаруживать транспортные средства и работают достаточно быстро для приложений в реальном времени (возможно, 5-10 кадров в секунду или около того).
В то время как мой может занять несколько минут, чтобы проанализировать кадр с помощью detectMultiScale() с теми же параметрами, и если я передам другие параметры (например, увеличу минимальный размер, уменьшу максимальный размер, увеличу коэффициент масштабирования), он будет работать быстрее (может быть, 1 FPS), но обнаруживает абсолютно ничего примечательного, никогда не обнаруживает никаких транспортных средств и случайным образом определяет некоторые пятна асфальта как транспортное средство.
Где я ошибся при создании файлов? У меня ограниченное время для выполнения этой задачи, и эти классификаторы могут тренироваться целую неделю, поэтому у меня осталось очень мало попыток. Для справки, моя методология (следуя этому учебник):
-Возьмите все положительные и отрицательные изображения; если негативные изображения не предоставлены, возьмите негативные изображения из другого набора данных, по крайней мере, столько негативов, сколько позитивов
-Создать столько образцов, сколько положительных результатов
-Используйте те же параметры, что и предложено, за исключением размера изображения (установите размер изображения в заданном наборе данных) и nstages (установите значение 10, потому что 20 занимает слишком много времени).
-Для параметра npos я использую 1/10 от количества выборок, используя полное количество выборок, что приводит к «ошибке утверждения» через несколько часов, по-видимому, количество выборок не может быть таким же, как npos согласно это Вот я и дал себе запас прочности.
Классификатор TL; DR Haar, который я обучил самостоятельно, работает намного хуже, чем тот, который можно найти в Интернете (с точки зрения времени и точности), нужен совет, как его улучшить, а не тратить еще одну неделю на его обучение.
cars.xml
, который используется для обучения алгоритма. - person KelvinS   schedule 06.07.2017