Opencv_traincascade — после 5 этапов — набор данных поезда для временного этапа не может быть заполнен. Обучение филиала прекращено

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

Разрыв происходит где-то между четвертым и седьмым этапом. В другом посте кто-то предположил, что это сообщение означает, что классификатор нельзя улучшить, но всего 5 стадий, это как минимум странно.

Для обучения я использую numPos=800, а файл vec (60x60 пикселей) содержит 1200 положительных образцов. Кроме того, я использую 1491 отрицательный образец (30x30 пикселей). Я сделал все виды изменений в параметрах, и ни один из них не работал.

Для последней попытки я использовал следующие параметры:

cascadeDirName: 15stages
vecFileName: pos.vec    
bgFileName: neg_dir.txt

numPos: 800
numNeg: 1491
numStages: 15

precalcValBufSize[Mb] : 1024
precalcIdxBufSize[Mb] : 1024

acceptanceRatioBreakValue : -1
stageType: BOOST
featureType: HAAR
sampleWidth: 60
sampleHeight: 60
boostType: GAB
minHitRate: 0.9999
maxFalseAlarmRate: 0.3
weightTrimRate: 0.9
maxDepth: 1
maxWeakCount: 100
mode: ALL

person Raphael Santos    schedule 18.03.2016    source источник
comment
Вы должны опубликовать это на другом веб-сайте stackexchange - более ориентированном на ML   -  person Radu Ionescu    schedule 18.03.2016
comment
Добро пожаловать в Stack Overflow! Я отредактировал форматирование вашего вопроса, чтобы сделать его более читаемым, может быть полезно также указать ссылку на тот другой пост, с которым вы столкнулись при поиске решения.   -  person LJᛃ    schedule 18.03.2016
comment
Что вы подразумеваете под более ориентированным на ML?!? Извините, но я немного потерялся здесь...   -  person Raphael Santos    schedule 21.03.2016


Ответы (2)


У меня была та же проблема, после большого исследования я получил лучшие параметры, которые должны быть предоставлены в opencv_traincascade.

Если вы используете прямоугольное изображение, укажите -w 24 -h 24. Кроме того, убедитесь, что положительных сторон больше, чем отрицательных, и установите -maxFalseAlarmRate 0,5.

Это сработало для меня очень хорошо, надеюсь, это будет полезно и для вас.

person Danaro    schedule 29.06.2016

у меня тоже раньше была эта проблема. но после того, как я уменьшу параметр [maxFalseAlarmRate], например, установите меньше 0,1, он работает нормально. надеюсь, что это поможет.

person Damon    schedule 14.08.2019