विषय - सूची[छिपाना][प्रदर्शन]
यह जानना आश्वस्त करने वाला है कि हम रोबोटों को उदाहरण के तौर पर सीखने और अपने परिवेश को समझने की अपनी जन्मजात क्षमताओं से भरने में कामयाब रहे हैं। मूलभूत चुनौती यह है कि कंप्यूटर को इंसानों की तरह "देखना" सिखाने वालों को कहीं अधिक समय और प्रयास की आवश्यकता होगी।
हालाँकि, जब हम उस व्यावहारिक मूल्य पर विचार करते हैं जो यह कौशल वर्तमान में संगठनों और उद्यमों को प्रदान करता है, तो प्रयास सार्थक है। इस लेख में, आप छवि वर्गीकरण, यह कैसे काम करता है और इसके व्यावहारिक कार्यान्वयन के बारे में जानेंगे। चलो शुरू करें।
छवि वर्गीकरण क्या है?
किसी छवि को एक में फीड करने का कार्य तंत्रिका नेटवर्क और उस चित्र के लिए किसी प्रकार के लेबल को आउटपुट करना छवि पहचान के रूप में जाना जाता है। नेटवर्क का आउटपुट लेबल पूर्व-परिभाषित वर्ग के अनुरूप होगा।
चित्र को कई श्रेणियाँ निर्दिष्ट की जा सकती हैं, या केवल एक। जब केवल एक वर्ग होता है, तो "मान्यता" शब्द का प्रयोग अक्सर किया जाता है, जबकि जब कई वर्ग होते हैं, तो "वर्गीकरण" शब्द का प्रयोग अक्सर किया जाता है।
वस्तु का पता लगाना चित्र वर्गीकरण का एक उपसमूह है जिसमें वस्तुओं के विशेष उदाहरणों को किसी दिए गए वर्ग जैसे जानवरों, वाहनों या मनुष्यों से संबंधित माना जाता है।
छवि वर्गीकरण कैसे काम करता है?
पिक्सेल के रूप में एक छवि का विश्लेषण कंप्यूटर द्वारा किया जाता है। यह चित्र को मैट्रिक्स के संग्रह के रूप में मानकर इसे पूरा करता है, जिसका आकार छवि रिज़ॉल्यूशन द्वारा निर्धारित किया जाता है। सीधे शब्दों में कहें तो, चित्र वर्गीकरण कंप्यूटर के दृष्टिकोण से एल्गोरिदम का उपयोग करके सांख्यिकीय डेटा का अध्ययन है।
छवि वर्गीकरण डिजिटल छवि प्रसंस्करण में पिक्सेल को पूर्व निर्धारित समूहों, या "वर्गों" में समूहित करके पूरा किया जाता है। एल्गोरिदम छवि को उल्लेखनीय विशेषताओं के अनुक्रम में विभाजित करता है, जो अंतिम क्लासिफायरियर के लिए बोझ को कम करता है।
ये गुण वर्गीकरणकर्ता को छवि के अर्थ और संभावित वर्गीकरण के बारे में सूचित करते हैं। चूँकि किसी चित्र को वर्गीकृत करने की बाकी प्रक्रियाएँ उस पर निर्भर होती हैं, विशेषता निष्कर्षण विधि सबसे महत्वपूर्ण चरण है।
RSI डेटा प्रदान किया गया छवि वर्गीकरण, विशेष रूप से पर्यवेक्षित वर्गीकरण में एल्गोरिदम भी महत्वपूर्ण है। वर्ग और निम्न चित्र और एनोटेशन गुणवत्ता के आधार पर डेटा असंतुलन वाले एक भयानक डेटासेट की तुलना में, एक अच्छी तरह से अनुकूलित वर्गीकरण डेटासेट सराहनीय प्रदर्शन करता है।
पायथन में टेन्सरफ़्लो और केरस का उपयोग करके छवि वर्गीकरण
हम इसका उपयोग करेंगे सीआईएफएआर-10 डेटासेट (जिसमें विमान, हवाई जहाज, पक्षी और अन्य 7 चीज़ें शामिल हैं)।
1. आवश्यकताएँ स्थापित करना
नीचे दिया गया कोड सभी आवश्यक शर्तें स्थापित करेगा।
2. निर्भरताएँ आयात करना
Python में एक train.py फ़ाइल बनाएं। नीचे दिया गया कोड Tensorflow और Keras निर्भरताएँ आयात करेगा।
3. प्रारंभिक पैरामीटर
CIFAR-10 में केवल 10 चित्र श्रेणियां शामिल हैं, इसलिए संख्या वर्ग केवल वर्गीकृत करने के लिए श्रेणियों की संख्या को संदर्भित करते हैं।
4. डेटासेट लोड हो रहा है
फ़ंक्शन डेटासेट को लोड करने के लिए टेन्सरफ़्लो डेटासेट मॉड्यूल का उपयोग करता है, और हम इसके बारे में कुछ जानकारी प्राप्त करने के लिए जानकारी को True पर सेट करते हैं। आप यह देखने के लिए इसे प्रिंट कर सकते हैं कि कौन से फ़ील्ड और उनके मान हैं, और हम प्रशिक्षण और परीक्षण सेट में नमूनों की संख्या पुनर्प्राप्त करने के लिए जानकारी का उपयोग करेंगे।
5. मॉडल बनाना
अब हम तीन परतें बनाएंगे, जिनमें से प्रत्येक में अधिकतम-पूलिंग और ReLU सक्रियण फ़ंक्शन के साथ दो कन्वनेट होंगे, इसके बाद पूरी तरह से कनेक्टेड 1024-यूनिट सिस्टम होगा। ResNet50 या Xception की तुलना में, जो अत्याधुनिक मॉडल हैं, यह तुलनात्मक रूप से छोटा मॉडल हो सकता है।
6. मॉडल का प्रशिक्षण
मैंने प्रत्येक युग में सटीकता और हानि को मापने के लिए टेन्सरबोर्ड का उपयोग किया और डेटा आयात करने और मॉडल तैयार करने के बाद हमें एक सुंदर प्रदर्शन प्रदान किया। निम्नलिखित कोड चलाएँ; आपके सीपीयू/जीपीयू के आधार पर, प्रशिक्षण में कई मिनट लगेंगे।
टेंसरबोर्ड का उपयोग करने के लिए, बस टर्मिनल या वर्तमान निर्देशिका में कमांड प्रॉम्प्ट में निम्नलिखित कमांड टाइप करें:
आप देखेंगे कि सत्यापन हानि कम हो रही है और सटीकता लगभग 81% तक बढ़ रही है। यह बढ़िया है!
मॉडल का परीक्षण
जब प्रशिक्षण समाप्त हो जाता है, तो अंतिम मॉडल और वजन परिणाम फ़ोल्डर में सहेजे जाते हैं, जिससे हमें एक बार प्रशिक्षण लेने और जब भी हम चाहें भविष्यवाणी करने की अनुमति मिलती है। test.py नाम की एक नई पायथन फ़ाइल में कोड का पालन करें।
7. परीक्षण के लिए उपयोगिताएँ आयात करना
8. एक पायथन निर्देशिका बनाना
एक पायथन शब्दकोश बनाएं जो प्रत्येक पूर्णांक मान को डेटासेट के उपयुक्त लेबल में अनुवादित करता है:
9. परीक्षण डेटा और मॉडल लोड हो रहा है
निम्नलिखित कोड परीक्षण डेटा और मॉडल लोड करेगा।
10. मूल्यांकन एवं भविष्यवाणी
निम्नलिखित कोड मेंढक की छवियों का मूल्यांकन और भविष्यवाणी करेगा।
11. परिणाम
मॉडल ने 80.62% सटीकता के साथ मेंढक की भविष्यवाणी की।
निष्कर्ष
ठीक है, हमने यह पाठ पूरा कर लिया है। जबकि 80.62% छोटे सीएनएन के लिए अच्छा नहीं है, मैं आपको बेहतर परिणामों के लिए मॉडल को बदलने या ResNet50, Xception, या अन्य अत्याधुनिक मॉडल को देखने की दृढ़ता से सलाह देता हूं।
अब जब आपने केरस में अपना पहला छवि पहचान नेटवर्क बना लिया है, तो आपको यह पता लगाने के लिए मॉडल के साथ प्रयोग करना चाहिए कि विभिन्न पैरामीटर इसके प्रदर्शन को कैसे प्रभावित करते हैं।
एक जवाब लिखें