ऑप्टिकल कैरेक्टर रिकग्निशन (ओसीआर)

ऑप्टिकल कैरेक्टर रिकग्निशन (ओसीआर) कंप्यूटर विज़न और मशीन लर्निंग तकनीकों का उपयोग करके छवियों से पात्रों को पहचानने की प्रक्रिया है। यह संदर्भ ऐप OCR करने के लिए TensorFlow Lite का उपयोग करने का डेमो दिखाता है। यह टेक्स्ट वर्णों को पहचानने के लिए ओसीआर पाइपलाइन के रूप में टेक्स्ट डिटेक्शन मॉडल और टेक्स्ट रिकग्निशन मॉडल के संयोजन का उपयोग करता है।

शुरू हो जाओ

यदि आप TensorFlow Lite में नए हैं और Android के साथ काम कर रहे हैं, तो हम निम्नलिखित उदाहरण एप्लिकेशन की खोज करने की सलाह देते हैं जो आपको आरंभ करने में मदद कर सकता है।

एंड्रॉइड उदाहरण

यदि आप Android के अलावा किसी अन्य प्लेटफ़ॉर्म का उपयोग कर रहे हैं, या आप पहले से ही TensorFlow Lite API से परिचित हैं, तो आप TF हब से मॉडल डाउनलोड कर सकते हैं।

यह काम किस प्रकार करता है

OCR कार्यों को अक्सर 2 चरणों में विभाजित किया जाता है। सबसे पहले, हम संभावित टेक्स्ट के आसपास बाउंडिंग बॉक्स का पता लगाने के लिए टेक्स्ट डिटेक्शन मॉडल का उपयोग करते हैं। दूसरा, हम बाउंडिंग बॉक्स के अंदर विशिष्ट वर्ण निर्धारित करने के लिए प्रोसेस्ड बाउंडिंग बॉक्स को टेक्स्ट रिकग्निशन मॉडल में फीड करते हैं (हमें टेक्स्ट रिकग्निशन से पहले नॉन-मैक्सिमल सप्रेशन, पर्सपेक्टिव ट्रांसफॉर्मेशन आदि करने की भी आवश्यकता होती है)। हमारे मामले में, दोनों मॉडल TensorFlow हब से हैं और वे FP16 परिमाणित मॉडल हैं।

प्रदर्शन मानदंड

प्रदर्शन बेंचमार्क नंबर यहां वर्णित टूल से तैयार किए जाते हैं।

मॉडल नाम मॉडल का आकार उपकरण CPU जीपीयू
पाठ का पता लगाना 45.9 एमबी पिक्सेल 4 (एंड्रॉइड 10) 181.93 एमएस* 89.77 एमएस*
पाठ पहचान 16.8 एमबी पिक्सेल 4 (एंड्रॉइड 10) 338.33 एमएस* एन/ए**

* 4 धागों का प्रयोग किया गया।

** यह मॉडल GPU प्रतिनिधि का उपयोग नहीं कर सका क्योंकि इसे चलाने के लिए हमें TensorFlow ऑप्स की आवश्यकता है

इनपुट

टेक्स्ट डिटेक्शन मॉडल इनपुट के रूप में (1, 320, 320, 3) के 4-डी फ्लोट float32 टेंसर को स्वीकार करता है।

टेक्स्ट पहचान मॉडल इनपुट के रूप में (1, 31, 200, 1) के 4-डी फ्लोट float32 टेंसर को स्वीकार करता है।

आउटपुट

टेक्स्ट डिटेक्शन मॉडल बाउंडिंग बॉक्स के रूप में आकार का 4-डी float32 टेंसर (1, 80, 80, 5) और डिटेक्शन स्कोर के रूप में आकार का 4-डी float32 टेंसर (1,80, 80, 5) लौटाता है।

टेक्स्ट पहचान मॉडल वर्णमाला सूची '0123456789abcdefghijklmnopqrstuvwxyz' के मैपिंग सूचकांक के रूप में आकार का 2-डी float32 टेन्सर (1, 48) लौटाता है।

सीमाएँ

  • वर्तमान पाठ पहचान मॉडल को अंग्रेजी अक्षरों और संख्याओं के साथ सिंथेटिक डेटा का उपयोग करके प्रशिक्षित किया जाता है, इसलिए केवल अंग्रेजी समर्थित है।

  • ये मॉडल जंगल में ओसीआर के लिए पर्याप्त सामान्य नहीं हैं (मान लीजिए, कम रोशनी की स्थिति में स्मार्टफोन कैमरे द्वारा ली गई यादृच्छिक छवियां)।

इसलिए हमने केवल यह प्रदर्शित करने के लिए कि TensorFlow Lite के साथ OCR कैसे करें, 3 Google उत्पाद लोगो को चुना है। यदि आप उपयोग के लिए तैयार उत्पादन-ग्रेड ओसीआर उत्पाद की तलाश में हैं, तो आपको Google ML किट पर विचार करना चाहिए। एमएल किट, जो नीचे टीएफलाइट का उपयोग करती है, अधिकांश ओसीआर उपयोग मामलों के लिए पर्याप्त होनी चाहिए, लेकिन ऐसे कुछ मामले हैं जहां आप टीएफलाइट के साथ अपना खुद का ओसीआर समाधान बनाना चाह सकते हैं। कुछ उदाहरण निम्न हैं:

  • आपके पास अपने स्वयं के टेक्स्ट पहचान/पहचान टीएफलाइट मॉडल हैं जिनका आप उपयोग करना चाहेंगे
  • आपकी विशेष व्यावसायिक आवश्यकताएं हैं (अर्थात, उल्टे पाठ को पहचानना) और आपको ओसीआर पाइपलाइन को अनुकूलित करने की आवश्यकता है
  • आप उन भाषाओं का समर्थन करना चाहते हैं जो एमएल किट में शामिल नहीं हैं
  • आपके लक्षित उपयोगकर्ता उपकरणों में आवश्यक रूप से Google Play सेवाएँ स्थापित नहीं हैं

संदर्भ