Как тренироваться и предсказывать, используя пакет слов?

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

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

Вот мой код, который я использовал, чтобы сделать пакет слов:

Ptr features = FeatureDetector::create("SIFT");
    Ptr descriptors = DescriptorExtractor::create("SIFT");
    Ptr matcher = DescriptorMatcher::create("FlannBased");

    //defining terms for bowkmeans trainer
    TermCriteria tc(MAX_ITER + EPS, 10, 0.001);
    int dictionarySize = 1000;
    int retries = 1;
    int flags = KMEANS_PP_CENTERS;
    BOWKMeansTrainer bowTrainer(dictionarySize, tc, retries, flags);

    BOWImgDescriptorExtractor bowDE(descriptors, matcher);

    //training data now
    Mat features;
    Mat img = imread("c:\\1.jpg", 0);
    Mat img2 = imread("c:\\2.jpg", 0);
    vector keypoints, keypoints2;
    features->detect(img, keypoints);
    features->detect(img2,keypoints2);
    descriptor->compute(img, keypoints, features);
    Mat features2;
    descripto->compute(img2, keypoints2, features2);
    bowTrainer.add(features);
    bowTrainer.add(features2);

    Mat dictionary = bowTrainer.cluster();
    bowDE.setVocabulary(dictionary);

Это все основано наBOW документация.

Я думаю, что на этом этапе моя система обучена. и следующий шаг - прогнозирование.

это где я не знаю, что делать. Если я используюSVM или жеNormalBayesClassifier они оба используют термины обучать и предсказывать.

Как мне прогнозировать и тренироваться после этого? Любое руководство будет высоко ценится. Как мне связать обучение классификатора с моей функцией `bowDE``?

Ответы на вопрос(1)

Ваш ответ на вопрос