TensorFlow कई कंप्यूटर विज़न (CV) और छवि वर्गीकरण उपकरण प्रदान करता है। यह दस्तावेज़ इनमें से कुछ टूल का परिचय देता है और सामान्य सीवी कार्यों को शुरू करने में आपकी सहायता के लिए संसाधनों का अवलोकन प्रदान करता है।
विज़न लाइब्रेरी और उपकरण
TensorFlow उच्च-स्तरीय केरास लाइब्रेरी और निचले-स्तरीय tf.image
मॉड्यूल के माध्यम से CV उपकरण प्रदान करता है। अधिकांश उपयोग के मामलों के लिए, केरस लाइब्रेरी अंतर्निहित टेन्सरफ्लो विकल्पों की तुलना में अधिक सुविधाजनक होगी। लेकिन यदि केरास विकल्प आपके उपयोग के मामले में फिट नहीं होते हैं, या आप छवि प्रीप्रोसेसिंग पर निचले स्तर का नियंत्रण चाहते हैं, तो आपको निचले स्तर के टेन्सरफ्लो टूल की आवश्यकता हो सकती है।
केरससीवी
यदि आप अभी सीवी प्रोजेक्ट के साथ शुरुआत कर रहे हैं, और आप निश्चित नहीं हैं कि आपको किन पुस्तकालयों और उपकरणों की आवश्यकता होगी, तो केरासीवी शुरुआत करने के लिए एक अच्छी जगह है। KerasCV, Keras Core पर निर्मित मॉड्यूलर CV घटकों की एक लाइब्रेरी है। KerasCV में मॉडल, परतें, मेट्रिक्स, कॉलबैक और अन्य उपकरण शामिल हैं जो CV कार्यों के लिए उच्च-स्तरीय Keras API का विस्तार करते हैं। KerasCV API डेटा वृद्धि, वर्गीकरण, ऑब्जेक्ट डिटेक्शन, सेगमेंटेशन, इमेज जेनरेशन और अन्य सामान्य CV वर्कफ़्लोज़ में मदद कर सकता है। आप उत्पादन-ग्रेड, अत्याधुनिक प्रशिक्षण और अनुमान पाइपलाइनों को जल्दी से इकट्ठा करने के लिए KerasCV का उपयोग कर सकते हैं।
केरस उपयोगिताएँ
tf.keras.utils
कई उच्च स्तरीय छवि प्रीप्रोसेसिंग उपयोगिताएँ प्रदान करता है। उदाहरण के लिए, tf.keras.utils.image_dataset_from_directory
डिस्क पर छवियों की एक निर्देशिका से tf.data.Dataset
उत्पन्न करता है।
tf.image
यदि KerasCV आपके उपयोग के मामले में फिट नहीं बैठता है, तो आप अपनी स्वयं की डेटा वृद्धि पाइपलाइन या परतें लिखने के लिए tf.image
और tf.data
उपयोग कर सकते हैं।
tf.image
मॉड्यूल में इमेज प्रोसेसिंग के लिए विभिन्न फ़ंक्शन शामिल हैं, जैसे tf.image.flip_left_right
, tf.image.rgb_to_grayscale
, tf.image.adjust_brightness
, tf.image.central_crop
, और tf.image.stateless_random*
।
tf.data
API आपको सरल, पुन: प्रयोज्य टुकड़ों से जटिल इनपुट पाइपलाइन बनाने में सक्षम बनाता है।
टेन्सरफ़्लो डेटासेट
TensorFlow डेटासेट, TensorFlow के साथ उपयोग के लिए तैयार डेटासेट का एक संग्रह है। कई डेटासेट (उदाहरण के लिए, एमएनआईएसटी , फैशन-एमएनआईएसटी , और टीएफ फूल ) का उपयोग कंप्यूटर विज़न एल्गोरिदम को विकसित करने और परीक्षण करने के लिए किया जा सकता है।
कहां से शुरू करें
निम्नलिखित संसाधन आपको TensorFlow और Keras CV टूल के साथ आगे बढ़ने में मदद करेंगे।
- KerasCV : KerasCV के लिए दस्तावेज़ीकरण और संसाधन।
- KerasCV डेवलपर मार्गदर्शिकाएँ : KerasCV का उपयोग करके सामान्य CV कार्य करने के लिए मार्गदर्शिकाएँ। यदि आप KerasCV में नए हैं, तो KerasCV के साथ वर्गीकरण शुरू करने के लिए एक अच्छी जगह है।
TensorFlow ट्यूटोरियल : मुख्य TensorFlow दस्तावेज़ीकरण (इस गाइड) में कई CV और इमेज प्रोसेसिंग ट्यूटोरियल शामिल हैं।
- मूल वर्गीकरण: कपड़ों की छवियों को वर्गीकृत करें : स्नीकर्स और शर्ट जैसे कपड़ों की छवियों को वर्गीकृत करने के लिए एक तंत्रिका नेटवर्क मॉडल को प्रशिक्षित करें।
छवियों को लोड और प्रीप्रोसेस करें : किसी छवि डेटासेट को तीन तरीकों से लोड और प्रीप्रोसेस करें:
- डिस्क पर छवियों की निर्देशिका को पढ़ने के लिए उच्च-स्तरीय केरस प्रीप्रोसेसिंग उपयोगिताओं का उपयोग करें।
-
tf.data
का उपयोग करके स्क्रैच से अपनी स्वयं की इनपुट पाइपलाइन लिखें। - TensorFlow डेटासेट में उपलब्ध बड़े कैटलॉग से डेटासेट डाउनलोड करें।
वीडियो डेटा लोड करें : UCF101 ह्यूमन एक्शन डेटासेट का उपयोग करके AVI वीडियो डेटा लोड और प्रीप्रोसेस करें।
कन्वेन्शनल न्यूरल नेटवर्क (सीएनएन) : केरस एपीआई का उपयोग करके सीआईएफएआर छवियों को वर्गीकृत करने के लिए एक सरल कन्वेन्शनल न्यूरल नेटवर्क (सीएनएन) को प्रशिक्षित करें।
छवि वर्गीकरण :
tf.keras.Sequential
मॉडल का उपयोग करके फूलों की छवियों को वर्गीकृत करें औरtf.keras.utils.image_dataset_from_directory
का उपयोग करके डेटा लोड करें।ट्रांसफर लर्निंग और फाइन-ट्यूनिंग : पूर्व-प्रशिक्षित नेटवर्क से ट्रांसफर लर्निंग का उपयोग करके बिल्लियों और कुत्तों की छवियों को वर्गीकृत करें।
डेटा वृद्धि : छवि रोटेशन जैसे यादृच्छिक (लेकिन यथार्थवादी) परिवर्तनों को लागू करके अपने प्रशिक्षण सेट की विविधता बढ़ाएं।
छवि विभाजन : संशोधित यू-नेट का उपयोग करके छवि विभाजन करें।
3डी कनवल्शनल न्यूरल नेटवर्क के साथ वीडियो वर्गीकरण : यूसीएफ101 एक्शन रिकग्निशन डेटासेट का उपयोग करके वीडियो वर्गीकरण के लिए 3डी कनवल्शनल न्यूरल नेटवर्क (सीएनएन) को प्रशिक्षित करें।
MoViNet के साथ वीडियो वर्गीकरण के लिए सीखने को स्थानांतरित करें : एक्शन रिकग्निशन कार्य के लिए वीडियो को वर्गीकृत करने के लिए पूर्व-प्रशिक्षित MoViNet मॉडल और UCF101 डेटासेट का उपयोग करें।