मेरे पास प्रत्येक कोण से एक कार की छवियों का एक फ़ोल्डर है। मैं कार को पहचानने में सिस्टम को प्रशिक्षित करने के लिए शब्द दृष्टिकोण के बैग का उपयोग करना चाहता हूं। एक बार प्रशिक्षण पूरा हो जाने पर, मैं चाहता हूं कि अगर उस कार की एक छवि दी जाती है तो उसे पहचानने में सक्षम होना चाहिए।शब्दों के बैग का उपयोग करके ट्रेनिंग और भविष्यवाणी कैसे करें?
मैं इस काम को करने के लिए ओपनसीवी में बो फंक्शन सीखने की कोशिश कर रहा हूं और एक स्तर पर आया हूं जहां मुझे नहीं पता कि अब क्या करना है और कुछ मार्गदर्शन की सराहना की जाएगी।
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);
यह सब BOW documentation पर आधारित है:
यहाँ मेरी कोड है कि मैं शब्दों के बैग बनाने के लिए इस्तेमाल होता है।
मुझे लगता है कि इस चरण में मेरी प्रणाली को प्रशिक्षित किया जाता है। और अगला कदम भविष्यवाणी कर रहा है।
यह वह जगह है जहां मुझे नहीं पता कि क्या करना है। यदि मैं SVM
या NormalBayesClassifier
का उपयोग करता हूं तो वे दोनों शब्द ट्रेन और भविष्यवाणी का उपयोग करते हैं।
मैं इसके बाद भविष्यवाणी और ट्रेन कैसे करूं? किसी भी मार्गदर्शन की सराहना की जाएगी। मैं क्लासिफायर के प्रशिक्षण को अपने 'bowDE`` फ़ंक्शन से कैसे जोड़ूं?
आपने टर्मक्रिटिया और शब्दकोश आकार, टीसी, रीट्रीज़, झंडे के मूल्यों का निर्धारण कैसे किया? – definera