OpenCV: Traincascade завершается неудачно "Утверждение не удалось _img.cols == winSize.width"

У кого-нибудь есть идея, что означает ошибка OpenCV: сбой утверждения _img.cols == winSize.width? Я не знаком с новой реализацией обучения haar (=traincascade) и не могу найти какую-либо документацию в вики. Спасибо джозеф

3 ответа

Наличие слишком большой базы данных не проблема, это не имеет смысла. Это было моей проблемой в течение нескольких дней. Я предполагаю, что вы использовали поток в своей программе, и ваши потоки доходят до SVM (или чего-то еще, что вы используете для поезда), прежде чем добраться до детектора (для обнаружения ключевых точек). Если вы посмотрите на путь, который приводит вас к ошибке утверждения, вы поймете, что эти вещи актуальны. Я советую вам использовать мьютекс (или семафоры) для правильного управления вашими потоками, или, если вы не используете потоки, убедитесь, что они обнаруживают перед тренировкой.

удачи

Я думаю, что нашел несколько ответов:

  • Это может быть из-за слишком большой базы данных (слишком много положительных и отрицательных изображений).
  • Это может быть из-за того, что образцы позитивов слишком сильно различаются, поэтому нельзя выделить некоторые особенности для определения объекта;
  • Это также может быть связано с тем, что наборы негативов, которые могут содержать сцены (большие изображения, из которых OpenCV генерирует много негативных выборок), содержат образцы, очень похожие на положительные.

Но я бы выбрал первый, потому что, если я уменьшу количество сэмплов, он больше не застревает.

Другие вопросы по тегам