एबीबीवाई क्लाउड ओसीआर एसडीके: विंडोज एज़्योर के लिए सार्वजनिक एज़्योर क्लाउड रिकग्निशन एपीआई

कुछ समय पहले तक, वेब पर, हमारी मान्यता प्रौद्योगिकियाँ केवल www.abbyyonline.com साइट पर "रहती थीं" , यह सेवा अंतिम उपयोगकर्ताओं के लिए है। और अब हम डेवलपर्स के लिए वेब मान्यता एपीआई के बीटा संस्करण के लॉन्च की घोषणा करने के लिए तैयार हैं। ABBYY क्लाउड OCR SDK से मिलिए, ABBYY FineReader Engine के "क्लाउड भाई" जो पहले से ही हमारे पाठकों से परिचित हैं।

हम लंबे समय से एक ऐसे उत्पाद को जारी करना चाहते थे जो सभी प्रकार के "पतले" उपकरणों से ओसीआर प्रौद्योगिकी का उपयोग करने की अनुमति देगा और न ही उपकरणों और सभी प्रकार के ऑपरेटिंग सिस्टम और एक ही समय में यह सुविधाजनक और सस्ती थी। हमें उम्मीद है कि हम सफल हुए। ABBYY क्लाउड OCR SDK पे-ए-यू-गो पेमेंट्स प्रदान करता है, इसलिए उच्च-गुणवत्ता वाली मान्यता सुविधाएँ न्यूनतम प्रारंभिक निवेश के साथ उपलब्ध हैं।

कटौती के तहत, हम इस बारे में अधिक बात करेंगे कि हमने इस पर कैसे काम किया और हमने क्या किया। अब तक, सेवा बंद बीटा परीक्षण में है, लेकिन हम मानते हैं कि यह पहले से ही पर्याप्त स्थिर है, और खुले बीटा का चरण करीब हो रहा है। हम एबीबीवाई क्लाउड ओसीआर एसडीके के पहले "बाहरी" बीटा परीक्षकों में से एक बनने के लिए हबर के पाठकों को आमंत्रित करना चाहते हैं। उपयोग कैसे करें के बारे में - कट के तहत भी।

क्लाउड रिकॉग्निशन API का उपयोग कई परिदृश्यों में किया जा सकता है। उदाहरण के लिए, एक एप्लिकेशन में मान्यता कार्यक्षमता शामिल करें जिसमें यह कोर नहीं है। या आप एक मोबाइल फोन के लिए "आसान" आवेदन कर सकते हैं जिसमें उपयोगकर्ता किसी दस्तावेज़ की तस्वीर लेता है, फिर इस दस्तावेज़ को मान्यता के लिए सर्वर पर भेजा जाता है, और परिणाम वापस आता है। इस परिदृश्य में, आप एक प्रोग्राम बना सकते हैं जो लगभग सभी फोन पर व्यावसायिक कार्ड को पहचानता है।

आप वेब एप्लिकेशन में मान्यता भी जोड़ सकते हैं। आप अभी भी सर्वर पर FineReader इंजन स्थापित कर सकते हैं, लेकिन यदि आप इसके बिना करना चाहते हैं, तो क्लाउड सेवा को यहां मदद करनी चाहिए।

सेवा एपीआई


पहले संस्करण के लिए, हम वास्तव में मान्यता एपीआई को किसी भी ऑपरेटिंग सिस्टम के तहत और इंटरनेट एक्सेस के साथ किसी भी डिवाइस से एक्सेस करना चाहते थे, जबकि संभव के रूप में सरल था। इसलिए, हमने इसे एक कार्य बनाने, स्थिति की जानकारी प्राप्त करने और परिणाम डाउनलोड करने के लिए लिंक के लिए कई रिस्टफुल अनुरोध के रूप में बनाया। प्रत्येक प्रसंस्करण अनुरोध को अधिकृत किया जाना चाहिए, यदि वांछित है, तो आप ssl को सक्षम कर सकते हैं और यातायात को एन्क्रिप्ट कर सकते हैं।

एक विशिष्ट सेवा परिदृश्य इस तरह दिखता है। क्लाइंट प्रोग्राम, एक या अधिक POST अनुरोधों का उपयोग करके छवियों को प्रसारित करता है, सर्वर पर एक कार्य उत्पन्न करता है। टास्क बनने के बाद, प्रोसेसिंग सेटिंग्स को निर्दिष्ट करते हुए, इसे प्रोसेसिंग के लिए भेजना आवश्यक है। सेटिंग्स प्रदर्शन किए जाने वाले प्रसंस्करण के प्रकार पर निर्भर करती हैं।

उदाहरण के लिए, यदि पूरे दस्तावेज़ की एक साधारण मान्यता बनाई गई है, तो दस्तावेज़ की भाषा और उस प्रारूप को निर्दिष्ट करना संभव है, जिसमें आप परिणाम प्राप्त करना चाहते हैं। अब समर्थित PDF, docx, txt, xml और कई अन्य।

आप बारकोड को पहचान सकते हैं (इंजन स्वयं चित्र में बारकोड पाता है और इसके प्रकार को निर्धारित करता है), आप हाथ से लिखे गए पाठ को पहचान सकते हैं, जो आमतौर पर प्रश्नावली भरते हैं। हमने एपीआई में एक व्यवसाय कार्ड पहचानकर्ता का उत्पादन भी किया: आप सर्वर पर एक व्यवसाय कार्ड छवि भेजते हैं, और बदले में आपको मान्यता प्राप्त पाठ और सभी क्षेत्रों के साथ एक vCard मिलता है: नाम, उपनाम, पता, आदि।

प्रत्येक अनुरोध के बाद, सर्वर xml जारी करता है, जिसमें कार्य के बारे में सभी जानकारी होती है: प्रसंस्करण के अंत तक इसकी पहचानकर्ता, लागत, स्थिति और अनुमानित समय।

प्रसंस्करण के लिए तैयार नौकरियां सर्वर कतार में रखी जाती हैं, जहां से अगला मुक्त हैंडलर उन्हें ले जाता है। क्लाइंट प्रोग्राम एक विशेष अनुरोध के माध्यम से कार्यों की स्थिति में परिवर्तन के बारे में सीखता है।

कार्य संसाधित होने के बाद, सर्वर की प्रतिक्रिया में एक लिंक दिखाई देता है जहां आप परिणाम डाउनलोड कर सकते हैं।

योजनाबद्ध रूप से, एक तस्वीर को संसाधित करने के लिए आदेशों का क्रम चित्र में दिखाया गया है:

बड़ा


आदर्श मामले में, केवल 3 अनुरोधों की आवश्यकता होती है - पहले अनुरोध में, छवि को सर्वर पर भेजा जाता है और प्रसंस्करण के लिए कतारबद्ध किया जाता है। दूसरे में, यह पता चला है कि कार्य तैयार है, और डाउनलोड करने के लिए एक लिंक प्राप्त किया गया है। तीसरे अनुरोध पर, परिणाम डाउनलोड किया जाता है।

हम सेवा एपीआई को और विस्तारित करने की योजना बना रहे हैं। आप उपयोगकर्ता द्वारा प्रदान किए गए यूआरएल, उन्नत नौकरी सेटिंग्स, और अधिक के माध्यम से नौकरी की स्थिति में बदलाव के बारे में सूचनाएं देखेंगे। एपीआई के अगले संस्करण को डिजाइन करते समय, हम आपसे उन सुविधाओं के बारे में भी जानकारी प्राप्त करने की उम्मीद करते हैं, जो आपके उपयोग के मामलों में उत्पाद की कमी है।

कैसे सब कुछ अंदर काम करता है


सेवा Windows Azure पर चलती है। यह काफी सुविधाजनक निकला, हार्डवेयर और ऑपरेटिंग सिस्टम के बारे में सोचने की ज़रूरत नहीं है जिसके तहत सब कुछ काम करता है, और आप एप्लिकेशन लॉजिक पर ध्यान केंद्रित कर सकते हैं।

योजनाबद्ध रूप से, समाधान वास्तुकला इस तरह दिखता है:



सेवा में कई भाग होते हैं। उपयोगकर्ता डेटा ब्लॉब स्टोरेज में संग्रहीत है, सेटिंग्स और कार्यों को एक डेटाबेस में संग्रहीत किया जाता है। उपयोगकर्ता अनुप्रयोगों और वेब इंटरफेस के साथ बातचीत के लिए वेब भूमिकाएं जिम्मेदार हैं, और काम करने वाली भूमिकाएं वास्तविक मान्यता में लगी हुई हैं।

वेब भूमिकाएँ एक RESTful सेवा API को कार्यान्वित करती हैं। वे उपयोगकर्ता को अधिकृत करते हैं, कार्य प्राप्त करते हैं, बूँद भंडारण के लिए चित्र जोड़ते हैं, नौकरी विवरण डेटाबेस में रखे जाते हैं, और उत्तर भी उत्पन्न करते हैं।
कई श्रमिक भूमिकाएं प्रसंस्करण नौकरियों के लिए जिम्मेदार हैं। अगले कार्य के पहचानकर्ता को डेटाबेस से लिया गया है, और इस कार्य से संबंधित फाइलें ब्लॉब से ली गई हैं। सब कुछ संसाधित किया जाता है, फिर परिणाम को बूँद में रखा जाता है, और डेटाबेस में एक नोट बनाया जाता है कि कार्य सफलतापूर्वक संसाधित किया गया है।

फिर, जब उपयोगकर्ता आवेदन एक बार फिर से अपने कार्य की स्थिति में रुचि रखता है, तो उसके लिए blob की एक विशेष लिंक तैयार की जाती है, जिसके द्वारा आप परिणाम प्राप्त कर सकते हैं। लिंक में एक सीमित जीवनकाल और एक विशेष चेकसम है, इसलिए आप इस लिंक के माध्यम से केवल अपने कार्य के पहचानकर्ता को जानते हुए भी परिणामों तक पहुंच सकते हैं।

प्रोसेस्ड जॉब कुछ समय के लिए सर्वर पर रहती हैं, जिसके बाद उन्हें डिलीट कर दिया जाता है।

ग्राहकों और प्लेटफार्मों


क्लाउड ओसीआर एसडीके एपीआई के लिए, बस किसी भी प्रोग्रामिंग भाषा में और किसी भी ऑपरेटिंग सिस्टम के लिए क्लाइंट लिखें।

उदाहरण के लिए, शुद्ध लिनक्स के प्रेमियों के लिए, हमारे पास बैश + कर्ल में एक स्क्रिप्ट है। एक पूर्ण फ़ाइल प्रसंस्करण चक्र - कोड की केवल 10 लाइनें। उम्मीद है कि पर्याप्त स्पष्ट :-)।

अधिक पारंपरिक समाधानों के समर्थकों के लिए, .net, जावा और अजगर में ग्राहक उदाहरण हैं, साथ ही एंड्रॉइड एप्लिकेशन टेम्प्लेट भी हैं।

सभी स्रोत कोड गिथब पर एक परियोजना के रूप में पोस्ट किए गए हैं। हम आपकी इच्छाओं को सुनकर धीरे-धीरे उन्हें सुधारने की उम्मीद करते हैं।

बीटा परीक्षण


हम सभी हबर उपयोगकर्ताओं को सेवा के बीटा परीक्षण में भाग लेने के लिए आमंत्रित करते हैं। यदि आप परीक्षण में शामिल होना चाहते हैं, तो http://ocrsdk.com पते पर जाएं। सबसे पहले आपको एबीबीवाई क्लाउड ओसीआर एसडीके का उपयोग करने के लिए एक आवेदन पत्र को पंजीकृत करना होगा और भरना होगा। कोई भी उपयोगकर्ता जो प्रश्नावली को पूरा करता है, उसे तुरंत 100 पृष्ठों या 500 छोटे पाठ टुकड़ों को मुफ्त में पहचानने का अवसर मिलता है। लेकिन अगर किसी कारण से यह आपके लिए पर्याप्त नहीं था - तो हमें लिखें, एक और जोड़ें :-)

आपके लिए सेवा के साथ काम करना शुरू करना आसान बनाने के लिए, हमने लोकप्रिय प्रोग्रामिंग भाषाओं में कई उदाहरण बनाए हैं और छवियों का एक डेटाबेस चुना है, जिस पर आप मुफ्त में परीक्षण कर सकते हैं।
इसके अलावा, दोनों बीटा परीक्षण के दौरान और उसके बाद, हम एक ही छवि को पहचानने के लिए दो बार पैसे नहीं लेने के सिद्धांत को लागू करते हैं। यदि आपने पहले ही चित्र को एक बार पहचान लिया है, तो आप इसे अन्य सेटिंग्स के साथ फिर से पहचान सकते हैं, लेकिन मुफ्त में। यह विशेष रूप से उपयोगी है यदि आप डिबगर के नीचे एक सर्कल में अपने आवेदन के तर्क को डिबग कर रहे हैं। हमें यकीन है कि डेवलपर द्वारा इस तरह के उपयोग का भुगतान नहीं किया जाना चाहिए। छवियों के संयोग की जांच करने के लिए, हम उनके चेकसम को सत्यापित करते हैं, लेकिन, अफसोस, हम संयोग के लिए एक ही दस्तावेज़ के विभिन्न फ़ोटो के लिए जाँच नहीं कर सकते।

हम आपकी प्रतिक्रिया और सुझावों में बहुत रुचि रखते हैं! इस पाठ पर टिप्पणियों में या http://ocrsdk.com पर अपने व्यक्तिगत खाते में तकनीकी सहायता पते पर लिखें।

अपडेट: प्रश्नावली और अक्षरों में हम रूसी में लिख सकते हैं :-)।

वसीली पानफेरोव,
डेवलपर उत्पाद विभाग

Source: https://habr.com/ru/post/In133624/


All Articles