Я пытаюсь обучить некоторые логотипы веток с haar_cascade. Я сделал 2500 квадратов снимков 500 х 500, чтобы заполнить образцы для opencv_createsamples
, Затем я генерирую их как:
opencv_createsamples -info ‘logo.info’ -vec ‘../logo.vec’ -bg ‘../Negatives/bg.txt’ -w 24 -h 24 -num 2500
в моем logo.info
У меня есть строки, которые соответствуют относительному пути каждой картинки, с 1 0 0 500 500
что означает «есть один объект между (0,0) и (500, 500)»
Затем я тренирую каскад как:
opencv_traincascade -data ‘cascade /’ -vec ‘../logo.vec’ -bg ‘../Negatives/bg.txt’ -numPos 2500 -numNeg 3019 -numStages 25 -featureType LBP -ш 24-х 24
с этими параметрами:
ПАРАМЕТРЫ:
cascadeDirName: cascade /
vecFileName: ../logo.vec
bgFileName: ../Negatives/bg.txt
NumPos: 2500
NumNeg: 3019
numStages: 25
precalcValBufSize [Мб]: 256
precalcIdxBufSize [Мб]: 256
stageType: BOOST
featureType: LBP
sampleWidth: 24
sampleHeight: 24
boostType: GAB
minHitRate: 0,995
maxFalseAlarmRate: 0,5
weightTrimRate: 0,95
maxDepth: 1
maxWeakCount: 100
И у меня есть 2 вида ошибок:
…
эта ошибка случается, когда вы не даете значительную разницу между количество изображений и ваш -num
параметр. Итак, давайте попробуем дать меньше 100!
хорошо, когда я настроил параметры, чтобы не выходить из массива, я получаю тот же тип вывода, что и изображения, но я получаю эту ошибку:
Ошибка OpenCV: сбой утверждения (tempNode-> left) при записи, файл /tmp/buildd/opencv-2.3.1/modules/traincascade/boost.cpp, строка 628
прекращение вызова после создания экземпляра cv :: Exception
what (): /tmp/buildd/opencv-2.3.1/modules/traincascade/boost.cpp:628: ошибка: (-215) tempNode-> оставлено в записи функцииОтменено
Я пробовал:
-mode
параметр.То, что я должен сделать, это обучение обязательно с LBP (не HAAR). У кого-нибудь есть подсказка?
Заранее спасибо.
Удаление и повторная сборка OpenCV решили проблему.