Wie trainiere und prognostiziere ich mit einer Tasche voller Wörter?

Ich habe einen Ordner mit Bildern eines Autos aus jedem Blickwinkel. Ich möchte den Bag-of-Word-Ansatz verwenden, um das System beim Erkennen des Autos zu trainieren. Sobald das Training abgeschlossen ist, möchte ich, dass ein Bild dieses Autos in der Lage ist, es zu erkennen, wenn es angezeigt wird.

Ich habe versucht, die BOW-Funktion in opencv zu erlernen, um diese Funktion nutzen zu können, und bin auf ein Niveau gekommen, bei dem ich nicht weiß, was ich jetzt tun soll, und ich würde mich über eine Anleitung freuen.

Hier ist mein Code, mit dem ich die Wörter gemacht habe:

Ptr<FeatureDetector> features = FeatureDetector::create("SIFT");
    Ptr<DescriptorExtractor> descriptors = DescriptorExtractor::create("SIFT");
    Ptr<DescriptorMatcher> 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<KeyPoint> 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);

Dies alles basiert auf derBOW-Dokumentation.

Ich denke in dieser Phase ist mein System geschult. und der nächste Schritt ist die Vorhersage.

Hier weiß ich nicht, was ich tun soll. Wenn ich benutzeSVM oderNormalBayesClassifier Beide verwenden die Begriffe Trainieren und Vorhersagen.

Wie prognostiziere und trainiere ich danach? Jede Anleitung wäre sehr dankbar. Wie verbinde ich das Training des Klassifikators mit meiner `bowDE`` Funktion?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage