Мне жаль, что это кажется стартовым вопросом, но просто интересно, могу ли я использовать rectangular dimensions
для тренировки opencv haar cascade
, Я пробовал с square samples
и результирующее изображение было обнаружено хорошо, но когда я попытался с прямоугольной шириной и высотой, как для номерного знака, соотношение сторон 2:1
между шириной и высотой, поэтому я использую то же соотношение сторон во время тренировки, но результирующий классификатор ничего не обнаруживает на изображении.
nStages = 14
nPositive = 1780
minHitrate = 0.996
maxFalseAlarm = 0.2
nNegatives = 14000
width = 48
height = 24
Haar classifier type = BASIC
Boost type = gentle adaboost
Выше приведены параметры, которые я установил для обучения classifier
, Может кто-нибудь, пожалуйста, подтвердите, что я могу использовать rectangular parameters
для положительных образцов или нет. Также, пожалуйста, предложите некоторые модификации, чтобы тренировка прошла правильно.
Размер негативных изображений для обучения составляет около 240x161
annd 420x240
Спасибо.
РЕДАКТИРОВАТЬ 1:
Я использую звонок следующим образом.
f_cascade.detectMultiScale( image, detected_objects, pyramidScale, 2, 0|CV_HAAR_SCALE_IMAGE);
Ключевыми частями этого являются то, что ваши положительные образцы и тренировочные размеры одинаковы. Нет причин, по которым вы не сможете обнаружить прямоугольный объект.
Они должны помнить, что traincascade
работает любые размеры, которые вы указываете над вашими изображениями.
Смотрите здесь для некоторых доказательств того, что прямоугольные объекты должны быть обнаружены очень хорошо:
http://coding-robin.de/2013/07/22/train-your-own-opencv-haar-classifier.html
Также я написал учебник по обнаружению объектов, если кто-то застрянет на этом:
http://johnallen.github.io/opencv-object-detection-tutorial/