Проблемы на тренировке каскада Хаара с LBP

Я пытаюсь обучить некоторые логотипы веток с 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 вида ошибок:

  1. Ошибка OpenCV: один из значений аргументов выходит за пределы допустимого диапазона (компоненты / input_variables не выбраны!) В cvPreprocessIndexArray, файл /tmp/buildd/opencv-2.3.1/modules/ml/src/inner_functions.cpp, строка 432
    прекращение вызова после создания экземпляра cv :: Exception
    what (): /tmp/buildd/opencv-2.3.1/modules/ml/src/inner_functions.cpp:432: ошибка: (-211) Компоненты / input_variables не выбраны! в функции cvPreprocessIndexArray

введите описание изображения здесь

введите описание изображения здесь

эта ошибка случается, когда вы не даете значительную разницу между количество изображений и ваш -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-> оставлено в записи функции

Отменено

Я пробовал:

  • Изменение размера судьбы изображений (24х24, 36х36 …)
  • Изменение -mode параметр.
  • Попытка поставить #positiveSamples < #negativeSamples и #positiveSamples> #negativeSamples

То, что я должен сделать, это обучение обязательно с LBP (не HAAR). У кого-нибудь есть подсказка?

Заранее спасибо.

0

Решение

Удаление и повторная сборка OpenCV решили проблему.

0

Другие решения


По вопросам рекламы ammmcru@yandex.ru
Adblock
detector