5

मैं जानना चाहूंगा कि यदि "कार" जैसी वस्तुओं के लिए HOG डिस्क्रिप्टर के लिए कोई कार्यान्वयन है और MATLAB में मानव के लिए नहीं है?ऑब्जेक्ट डिटेक्शन के लिए HOG डिस्क्रिप्टर

लेकिन मामले में, वहाँ केवल मानव के लिए है, तो आप मुझे उस कोड को मार्गदर्शन कर सकते हैं, और मुझे दे ताकि कोड में सुधार करने के संकेत के लिए प्रयोग की जाने वाली

+0

हाय प्रदर्शित करने के लिए, मैं इसके लिए पहले आपको गूगल के लिए .. वैसे भी यहाँ की कोशिश का सुझाव चाहते हैं matlab कोड के लिए एक लिंक आप इनपुट के रूप में एक छवि देना है (न केवल किसी भी छवि कहीं भी होगी मनुष्य लंबाई के एक हॉग फीचर वेक्टर का उत्पादन 81) [HOG] (http://www.mathworks.com/matlabcentral/fileexchange/28689-hog-descriptor-for-matlab) – G453

+0

@ सिस्टू इस कोड को बिना किसी विवरण के प्लस के लिए उपयोग किया जाता है मानव पहचान :( – Mario

+1

पेपर पर एक गैंडर लें जो विवरण लिंक करता है या कम से कम आईईईई कार्यवाही से एक अंश। मेरी (बहुत सामान्य) समझ यह है कि यह फ़ंक्शन प्रदान की गई छवि के लिए HOG वर्णनकर्ताओं को वापस करने के लिए डिज़ाइन किया गया है। फिर उन वर्णनकर्ताओं का उपयोग करें आपका आवेदन आर तो यदि आप इसे "कार" खिलाते हैं तो आपको "कार" के लिए उपयोग करने वाले वर्णक प्राप्त होंगे। –

उत्तर

0

यहाँ "कार या मोटरसाइकिल के रूप में वस्तुओं" एक उत्कृष्ट मैटलैब कोड है जो पूरी तरह से दलाल के एल्गोरिदम लागू करता है। मैंने कई प्रमुख अकादमिक परियोजनाओं के लिए इस कोड का परीक्षण और उपयोग किया है।

http://hi.baidu.com/fpmaldfoamdfmze/item/4f3b3ac881affcb00c0a7b11 सभी क्रेडिट उस व्यक्ति को जाता है जिसने इसे पोस्ट किया है!

HOG पैदल यात्री पहचान के लिए विशिष्ट नहीं है। आप इसे किसी भी कठोर (या apploxently कठोर) वस्तु के साथ उपयोग कर सकते हैं।

इस कोड का उपयोग करने के लिए, आपको यह समझने की आवश्यकता है कि किसी क्षेत्र में HOG की गणना कैसे की जाती है। क्षेत्र को 'ब्लॉक' ओवरलैपिंग में बांटा गया है। ब्लॉक में कई 'सेल्स' होते हैं। प्रत्येक ब्लॉक में एक स्थानिक अभिविन्यास हिस्टोग्राम की गणना की जाती है। अंतिम वेक्टर इन स्थानिक हिस्टोग्राम को जोड़कर बनाया गया है। पैरामीटर जिन्हें आप ट्विक कर सकते हैं

सेलपॉ, सेलफ़: क्रमशः सेल की पिक्सेल चौड़ाई और ऊंचाई।

nblockw, nblockh: ब्लॉक आकार क्रमश: एक्स और वाई दिशाओं में कोशिकाओं की संख्या द्वारा गिना जाता है।

nthet: कोण डिब्बे की संख्या।

issigned: पर हस्ताक्षर किए या अहस्ताक्षरित ढाल लिया जाता है

ओवरलैप या नहीं: एक अंश के रूप में निर्दिष्ट ब्लॉक के बीच ओवरलैप की राशि

isglobalinterpolate: कि क्या 3 डी हिस्टोग्राम

के वैश्विक या स्थानीय प्रक्षेप

मानदंड: मानदंड का प्रकार

आप डिफ़ॉल्ट पैरामीटर के साथ मुट्ठी भर सकते हैं -

cellpw = 8; सेलफ = 8; nblockw = 2; nblockh = 2; nthet = 9; ओवरलैप = 0.5; isglobalinterpolate = 'localinterpolate'; जारी किया गया = 'हस्ताक्षरित'; normmethod = 'l2hys';

matlab सुविधा हो रही है जैसे

I = imread('car.png'); 
Ig = rgb2gray(I); 
F = hogcalculator(Ig, 8, 8, 2, 2, 9, 0.5,'localinterpolate', 'unsigned', 'l2hys'); 

कुछ आयाम/एफ की लंबाई paramenters आप चुनते हैं पर निर्भर करता है।

आपकी टिप्पणी का जवाब देते हुए, हां, आपको इन लक्षणों को अपनी सकारात्मक (कार) और नकारात्मक (गैर-कार) छवियों के लिए एक पहचान प्रणाली बनाने के लिए बनाना होगा। एसवीएम आमतौर पर वर्गीकृत के रूप में प्रयोग किया जाता है।मैं libsvm पुस्तकालय उपयोग करने का सुझाव -

http://www.csie.ntu.edu.tw/~cjlin/libsvm/

बार जब आप अपने प्रशिक्षण सेट, अपने प्रशिक्षण सेट के साथ ट्रेन का निर्माण। उच्चतम सटीकता प्राप्त करने के लिए TVM SVM पैरामीटर। उदाहरण में दिए गए पैरामीटर सर्वश्रेष्ठ नहीं हो सकते हैं, आप हमेशा एक अलग सेट को आजमा सकते हैं। मैं पहले nthet, cellpw और cellph बदलने की कोशिश करेंगे। शुभकामनाएँ!

2

अब कंप्यूटर विजन सिस्टम टूलबॉक्स में extractHOGFeatures फ़ंक्शन है।

1

HOG एक प्रकार का फीचर डिस्क्रिप्टर है और इसे आप जो भी ऑब्जेक्ट चाहते हैं उसे लागू किया जा सकता है। ब्लॉक आकार, सेल आकार, ब्लॉक स्ट्रैड इत्यादि के पैरामीटर को छोड़कर कार्यान्वयन कोई बदलाव नहीं होगा। कारों के लिए एक वर्णक प्राप्त करने के लिए, आपको उनके सकारात्मक और नकारात्मक नमूने प्रदान करने की आवश्यकता है। Opencv क्लासिफायर को प्रशिक्षित करने के लिए उपयोगकर्ताओं के लिए फ़ंक्शन प्रदान करता है। यह matlab के लिए समान होना चाहिए यदि यह वर्गीकरण को प्रशिक्षित करने के लिए कोड प्रदान करता है।

1

अच्छी तरह से आप VLFeat Toolbox का उपयोग कर सकते हैं, इसकी HOG का बहुत प्रभावशाली प्रत्यारोपण है, आप किसी ऑब्जेक्ट की होग सुविधा पा सकते हैं, जिसे आप कल्पना भी कर सकते हैं। यदि आपकी इनपुट छवि "im.jpg" है, तो आप hog = vl_hog("im.jpg",8,'verbose') का उपयोग करके HOG सुविधा प्राप्त कर सकते हैं यहां 8 विंडो विंडो आकार है, आप तदनुसार समायोजित कर सकते हैं।

सुविधा imhog = vl_hog('render',hog,'verbose')

संबंधित मुद्दे