Случайный лес не работает в opencv python (cv2)

Я не могу правильно передать параметры для обучения классификатора Random Forest в opencv из python.

Я написал реализацию на C ++, которая работала корректно, но не получала одинаковых результатов в python.

Я нашел здесь несколько примеров кода: http://fossies.org/linux/misc/opencv-2.4.7.tar.gz:a/opencv-2.4.7/samples/python2/letter_recog.py

который, как представляется, указывает, что вы должны передать параметры в dict. Вот код, который я использую:

rtree_params = dict(max_depth=11, min_sample_count=5, use_surrogates=False, max_categories=15, calc_var_importance=False, n_active_vars=0, max_num_of_trees_in_the_forest=1000, termcrit_type=cv2.TERM_CRITERIA_MAX_ITER) classifier = cv2.RTrees() classifier.train(train_data, cv2.CV_ROW_SAMPLE, label_data, params=rtree_params); 

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

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

http://www.code.opencv.org/svn/gsoc2012/denoising/trunk/opencv-2.4.2/modules/ml/src/rtrees.cpp

Учитывая мои параметры, он должен выпустить лес с 1000 деревьями. Я попытался установить аргументы max_num_of_trees_in_the_forest для всех видов сумасшедших значений и не изменил поведение OpenCV.

Мысли?

One Solution collect form web for “Случайный лес не работает в opencv python (cv2)”

Не уверен, что это многое поможет, но я верю:

 n_active_vars=0 

должно быть

 nactive_vars=0 

Кроме того, вы можете попробовать экспериментировать с параметром term_crit. Например, попробуйте добавить:

 term_crit=(cv2.TERM_CRITERIA_MAX_ITER,1000,1) 

в ваш словарь.

Я считаю, что это установит критерии для завершения, когда в лес будет добавлено 1000 деревьев.

  • Разница в дескрипторе hog, рассчитанная на цветные изображения в Python и C ++
  • Как упорствовать в «Докере» с помощью Ubuntu
  • Ошибка VideoCapture при установке OpenCV 2.4.13 или 3.x на Fedora 26 25 24 23 или 22 с помощью ffmpeg и python 2.7
  • Ошибка OpenCV Ошибка: (-215) scn == 3 || scn == 4 в функции cv :: cvtColor works ALTERNATE раз
  • Как я могу отформатировать свой список, чтобы передать его в качестве входа в svm.train () в opencv3.0
  • Извлечение области из изображения с использованием среза в Python, OpenCV
  • Веб-камера: libv4l2 & VIDIOC_DQBUF: нет такого устройства
  • Изображение в изображении с cvMatchTemplate - но как?
  • Python - лучший язык программирования в мире.