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