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