OCR এবং ডিপ লার্নিং PlatoBlockchain ডেটা ইন্টেলিজেন্স সহ স্বয়ংক্রিয় রসিদ ডিজিটাইজেশন। উল্লম্ব অনুসন্ধান. আ.

OCR এবং গভীর শিক্ষার সাথে স্বয়ংক্রিয় রসিদ ডিজিটাইজেশন

OCR এবং গভীর শিক্ষার সাথে স্বয়ংক্রিয় রসিদ ডিজিটাইজেশন

রসিদ থেকে তথ্য নিষ্কাশন স্বয়ংক্রিয় করতে চান? Nanonets' প্রাক-প্রশিক্ষিত দেখুন রসিদ ওসিআর or নিজের তৈরি করুন কাস্টমাইজড রসিদ ওসিআর। আপনি এটিও করতে পারেন একটি ডেমো তফসিল আমাদের AP ব্যবহারের ক্ষেত্রে আরও জানতে!


রসিদ ওসিআর অথবা রসিদ ডিজিটাইজেশন একটি রসিদ থেকে স্বয়ংক্রিয়ভাবে তথ্য বের করার চ্যালেঞ্জ মোকাবেলা করে। এই নিবন্ধে, আমি রসিদ ডিজিটাইজেশনের পিছনে তত্ত্বটি কভার করি এবং OpenCV ব্যবহার করে একটি এন্ড-টু-এন্ড পাইপলাইন বাস্তবায়ন করি এবং টেসেরাক্ত. আমি ডিপ লার্নিং ব্যবহার করে রসিদ ডিজিটাইজেশন করে এমন কয়েকটি গুরুত্বপূর্ণ কাগজপত্র পর্যালোচনা করি।

প্রাপ্তি ডিজিটাইজেশন কি?

রসিদগুলি কোম্পানির মধ্যে বাণিজ্যের জন্য প্রয়োজনীয় তথ্য বহন করে এবং এর বেশিরভাগই কাগজে বা আধা-গঠিত ফর্ম্যাটে যেমন PDF এবং কাগজ/হার্ড কপির ছবি। এই তথ্যগুলিকে কার্যকরভাবে পরিচালনা করার জন্য, কোম্পানিগুলি এই নথিগুলিতে থাকা প্রাসঙ্গিক তথ্য সংগ্রহ করে এবং সংরক্ষণ করে। ঐতিহ্যগতভাবে এটি প্রাসঙ্গিক তথ্য ম্যানুয়ালি বের করে একটি ডাটাবেসে ইনপুট করার মাধ্যমে অর্জন করা হয়েছে যা একটি শ্রম-নিবিড় এবং ব্যয়বহুল প্রক্রিয়া।

রসিদ ডিজিটাইজেশন একটি রসিদ থেকে স্বয়ংক্রিয়ভাবে তথ্য আহরণের চ্যালেঞ্জ মোকাবেলা করে।

রসিদগুলি থেকে মূল তথ্য বের করা এবং সেগুলিকে কাঠামোগত নথিতে রূপান্তর করা অনেক অ্যাপ্লিকেশন এবং পরিষেবাগুলিকে পরিবেশন করতে পারে, যেমন দক্ষ সংরক্ষণাগার, দ্রুত সূচীকরণ এবং নথি বিশ্লেষণ। তারা অনেক আর্থিক, অ্যাকাউন্টিং এবং ট্যাক্সেশন এলাকায় নথি-নিবিড় প্রক্রিয়া এবং অফিস অটোমেশনকে স্ট্রিমলাইন করতে গুরুত্বপূর্ণ ভূমিকা পালন করে।

OCR এবং গভীর শিক্ষার সাথে স্বয়ংক্রিয় রসিদ ডিজিটাইজেশন

একটি দৃust় প্রয়োজন প্রাপ্তি ওসিআর or রসিদ স্ক্যানার রসিদ থেকে ডেটা বের করতে? Nanonets চেক আউট রসিদ OCR API!


রসিদ ডিজিটাইজেশন কে কাজে লাগবে?

এখানে কয়েকটি ক্ষেত্র রয়েছে যেখানে রসিদ ডিজিটাইজেশন একটি বিশাল প্রভাব ফেলতে পারে:

প্রদেয় অ্যাকাউন্ট এবং প্রাপ্য অটোমেশন

কম্পিউটিং অ্যাকাউন্ট প্রদেয় (AP) এবং অ্যাকাউন্টস রিসিভেবল (ARs) ম্যানুয়ালি ব্যয়বহুল, সময়সাপেক্ষ এবং ম্যানেজার, গ্রাহক এবং বিক্রেতাদের মধ্যে বিভ্রান্তির কারণ হতে পারে। ডিজিটাইজেশনের মাধ্যমে, কোম্পানিগুলি এই ত্রুটিগুলি দূর করতে পারে এবং আরও সুবিধা পেতে পারে - বর্ধিত স্বচ্ছতা, ডেটা অ্যানালিটিক্স, উন্নত কার্যকরী মূলধন এবং সহজ ট্র্যাকিং।

সাপ্লাই চেইন অপ্টিমাইজেশান

সাপ্লাই চেইন অনেক কোম্পানির সঠিক কার্যকারিতার মেরুদণ্ড। কার্য পরিচালনা, তথ্য প্রবাহ এবং পণ্য প্রবাহ সরবরাহ এবং উত্পাদন সম্পূর্ণ নিয়ন্ত্রণ নিশ্চিত করার মূল চাবিকাঠি। সংস্থাগুলি যদি ডেলিভারির সময় এবং উত্পাদন খরচ নিয়ন্ত্রণ করতে চায় তবে এটি অপরিহার্য।

যে কোম্পানিগুলো আজকাল সত্যিকার অর্থে উন্নতি করছে তাদের মধ্যে উল্লেখযোগ্য কিছু মিল রয়েছে: একটি ডিজিটাইজড সাপ্লাই চেইন। কোম্পানির 89% ডিজিটাল সাপ্লাই চেইনের মাধ্যমে আন্তর্জাতিক সরবরাহকারীদের কাছ থেকে যথাসময়ে ডেলিভারি নিশ্চিত করে নিখুঁত অর্ডার পাওয়া যায়। পরবর্তী প্রজন্মের ডিজিটাল সাপ্লাই চেইন 4.0 উপলব্ধির মূল উপাদানগুলির মধ্যে একটি হল স্বয়ংক্রিয়ভাবে ডেটা ক্যাপচারিং এবং ম্যানেজমেন্ট এবং এই ডেটার অনেকটাই রসিদ এবং চালান. রসিদের ম্যানুয়াল এন্ট্রি সরবরাহ শৃঙ্খল জুড়ে একটি বাধা হিসাবে কাজ করে এবং অপ্রয়োজনীয় বিলম্বের দিকে পরিচালিত করে। যদি এই রসিদ প্রক্রিয়াকরণ ডিজিটাইজড করা হয় তবে এটি সময় এবং দক্ষতায় উল্লেখযোগ্য লাভের দিকে নিয়ে যেতে পারে।


মনে একটি OCR সমস্যা আছে? ডিজিটাইজ করতে চাই চালান, পিডিএফ নাকি নম্বর প্লেট? উপর মাথা ন্যানোনেটস এবং বিনামূল্যে ওসিআর মডেলগুলি তৈরি করুন!


কেন এটি একটি কঠিন সমস্যা?

রসিদ ডিজিটাইজেশন কঠিন কারণ রসিদের অনেক বৈচিত্র্য রয়েছে এবং কখনও কখনও নিম্ন মানের হয়। স্ক্যানিং রসিদগুলি আমাদের ডিজিটাল কপিতে বেশ কয়েকটি নিদর্শনও প্রবর্তন করে। এই শিল্পকর্মগুলি পাঠযোগ্যতার অনেক চ্যালেঞ্জ তৈরি করে।

OCR এবং গভীর শিক্ষার সাথে স্বয়ংক্রিয় রসিদ ডিজিটাইজেশন

এখানে কয়েকটি জিনিসের একটি তালিকা রয়েছে যা ক্র্যাক করা একটি কঠিন সমস্যা করে তোলে

  • হাতে লেখা পাঠ্য
  • ছোট ফন্ট
  • কোলাহলপূর্ণ ছবি
  • বিবর্ণ ছবি
  • ক্যামেরা মোশন এবং ঝাঁকান
  • ওয়াটারমার্কিং
  • বলিরেখা
  • বিবর্ণ লেখা

একটি ঐতিহ্যগত রসিদ ডিজিটাইজেশন পাইপলাইন

এই ধরনের এন্ড-টু-এন্ড পদ্ধতির জন্য একটি সাধারণ পাইপলাইন অন্তর্ভুক্ত করে:

  • প্রাক প্রসেসিং
  • অপটিক্যাল ক্যারেক্টার রেকগনিশন
  • তথ্য আহরণ
  • ডাটা ডাম্প
OCR এবং গভীর শিক্ষার সাথে স্বয়ংক্রিয় রসিদ ডিজিটাইজেশন

আসুন পাইপলাইনের প্রতিটি অংশে গভীরভাবে ডুব দেওয়া যাক। প্রক্রিয়াটির প্রথম ধাপ হল প্রিপ্রসেসিং।

প্রাক প্রসেসিং

বেশীরভাগ স্ক্যান করা রসিদগুলি গোলমালপূর্ণ এবং এতে প্রত্নবস্তু রয়েছে এবং এইভাবে ওসিআর এবং তথ্য নিষ্কাশন সিস্টেমগুলি ভালভাবে কাজ করার জন্য, রসিদগুলিকে প্রিপ্রসেস করা প্রয়োজন৷ সাধারণ প্রিপ্রসেসিং পদ্ধতির মধ্যে রয়েছে - গ্রেস্কেলিং, থ্রেশহোল্ডিং (বাইনারাইজেশন) এবং নয়েজ রিমুভাল।

গ্রেস্কেলিং হল একটি আরজিবি ইমেজকে গ্রেস্কেল ইমেজে রূপান্তর করা।

শব্দ অপসারণ সাধারণত লবণ এবং গোলমরিচ শব্দ বা গাউসিয়ান শব্দ অপসারণ জড়িত।

বেশিরভাগ OCR ইঞ্জিন কালো এবং সাদা ছবিতে ভাল কাজ করে। এটি থ্রেশহোল্ডিং দ্বারা অর্জন করা যেতে পারে, যা প্রদত্ত থ্রেশহোল্ড মানের সাথে পিক্সেল মানের অ্যাসাইনমেন্ট। প্রতিটি পিক্সেল মান থ্রেশহোল্ড মানের সাথে তুলনা করা হয়। যদি পিক্সেল মান থ্রেশহোল্ডের চেয়ে ছোট হয়, তবে এটি 0 তে সেট করা হয়, অন্যথায়, এটি সর্বোচ্চ মান (সাধারণত 255) সেট করা হয়।

ওপেনসিভি বিভিন্ন থ্রেশহোল্ডিং বিকল্প সরবরাহ করে - সাধারণ থ্রেশহোল্ডিং, অ্যাডাপ্টিভ থ্রেশহোল্ডিং

OCR এবং গভীর শিক্ষার সাথে স্বয়ংক্রিয় রসিদ ডিজিটাইজেশন

অপটিক্যাল ক্যারেক্টার রেকগনিশন

পাইপলাইনের পরবর্তী ধাপ OCR করুন. এটি স্ক্যান করা নথি বা ছবির মতো ছবি থেকে পাঠ্য পড়তে ব্যবহৃত হয়। এই প্রযুক্তিটি ব্যবহার করা হয়, কার্যত লিখিত টেক্সট (টাইপ করা, হস্তলিখিত বা মুদ্রিত) সমন্বিত যেকোনো ধরনের ছবিকে মেশিন-পাঠযোগ্য পাঠ্য ডেটাতে রূপান্তর করতে।. OCR-তে 2টি ধাপ রয়েছে - পাঠ্য সনাক্তকরণ এবং পাঠ্য স্বীকৃতি।

OCR এবং গভীর শিক্ষার সাথে স্বয়ংক্রিয় রসিদ ডিজিটাইজেশন

ওসিআর-এর বিভিন্ন পদ্ধতি রয়েছে। প্রচলিত কম্পিউটার দৃষ্টিভঙ্গি হচ্ছে

  • ব্যাকগ্রাউন্ড থেকে অক্ষর আলাদা করতে ফিল্টার ব্যবহার করে
  • ফিল্টার করা অক্ষর চিনতে কনট্যুর সনাক্তকরণ প্রয়োগ করুন
  • অক্ষর সনাক্ত করতে ম্যাজ শ্রেণীবিভাগ ব্যবহার করুন

ফিল্টার এবং চিত্র শ্রেণীবিভাগ প্রয়োগ করা বেশ সহজ, (মনে করুন SVN ব্যবহার করে MNIST শ্রেণীবিভাগ), কিন্তু কনট্যুর ম্যাচিং একটি খুব কঠিন সমস্যা এবং এর জন্য অনেক ম্যানুয়াল প্রচেষ্টা প্রয়োজন এবং এটি সাধারণীকরণযোগ্য নয়।

এর পরে ডিপ লার্নিং পন্থা আসে। গভীর শিক্ষা খুব ভাল সাধারণীকরণ. পাঠ্য সনাক্তকরণের জন্য সবচেয়ে জনপ্রিয় পদ্ধতির একটি হল EAST। EAST ( দক্ষ নির্ভুল দৃশ্য পাঠ্য আবিষ্কারক) পাঠ্য সনাক্তকরণের জন্য একটি সহজ কিন্তু শক্তিশালী পদ্ধতি। EAST নেটওয়ার্ক আসলে সুপরিচিত U-Net এর একটি সংস্করণ, যা বিভিন্ন আকারের বৈশিষ্ট্য সনাক্ত করার জন্য ভাল।

OCR এবং গভীর শিক্ষার সাথে স্বয়ংক্রিয় রসিদ ডিজিটাইজেশন

সিআরএনএন এবং STN-OCR (স্পেশিয়াল ট্রান্সফরমার নেটওয়ার্ক) হল অন্যান্য জনপ্রিয় কাগজ যা OCR সম্পাদন করে।

তথ্য আহরণ

তথ্য নিষ্কাশনের সমস্যার সবচেয়ে সাধারণ পদ্ধতি হল নিয়ম-ভিত্তিক, যেখানে প্রয়োজনীয় তথ্য বের করার জন্য OCR-এর পরে নিয়মগুলি লেখা হয়। এটি একটি শক্তিশালী এবং নির্ভুল পদ্ধতি, তবে এটির জন্য আপনাকে একটি নতুন ধরনের নথির জন্য নতুন নিয়ম বা টেমপ্লেট লিখতে হবে।

বেশ কিছু নিয়ম ভিত্তিক চালান সাহিত্যে বিশ্লেষণ ব্যবস্থা বিদ্যমান।

  • DocuWare দ্বারা Intellix প্রাসঙ্গিক ক্ষেত্রগুলির সাথে টীকাযুক্ত একটি টেমপ্লেট প্রয়োজন৷
  • স্মার্টফিক্স প্রতিটি টেমপ্লেটের জন্য বিশেষভাবে ডিজাইন করা কনফিগারেশন নিয়ম নিযুক্ত করে

নিয়ম-ভিত্তিক পদ্ধতিগুলি নির্দিষ্ট চালান বিন্যাস থেকে তথ্য বের করার জন্য পূর্বনির্ধারিত টেমপ্লেট নিয়মগুলির উপর ব্যাপকভাবে নির্ভর করে

একটি পদ্ধতি যা গত কয়েক বছরে খুব সাধারণ হয়ে উঠেছে তা হল ক্ষেত্রগুলি চিনতে YOLO, দ্রুত R-CNN এর মতো একটি স্ট্যান্ডার্ড অবজেক্ট ডিটেকশন ফ্রেমওয়ার্ক ব্যবহার করা। তাই বিশুদ্ধ পাঠ্য সনাক্তকরণের পরিবর্তে, ক্ষেত্র সনাক্তকরণ এবং পাঠ্য সনাক্তকরণ একই সাথে সঞ্চালিত হয়। এটি পাইপলাইনকে ছোট করে (টেক্সট ডিটেকশন → রিকগনিশন → এক্সট্রাকশন টু ডিটেকশন → রিকগনিশন)। অবজেক্ট ডিটেক্টর এই ক্ষেত্রগুলি চিনতে শেখার কারণে কোনও নিয়ম লেখার দরকার নেই।

ডাটা ডাম্প

একবার আপনি আপনার তথ্য বের করে নিলে, আমাদের ব্যবহারের ক্ষেত্রে প্রয়োজনীয় ডেটা ডাম্প করা যেতে পারে। প্রায়শই ক্ষেত্রের তথ্য সংরক্ষণ করার জন্য একটি JSON বিন্যাস সুবিধাজনক। এই JSON ফাইলগুলিকে সহজেই XML ফাইল, এক্সেল শীট, CSV ফাইল বা প্লেইনটেক্সট ফাইলগুলিতে রূপান্তর করা যেতে পারে কে ডেটা নিয়ে কাজ করতে চায় এবং কীভাবে কাজ করতে চায় তার উপর নির্ভর করে৷

রসিদ ডিজিটালাইজেশন ব্যবহার করে টেসেরাক্ত

এখন যেহেতু আমরা পাইপলাইন সম্পর্কে একটি ধারণা পেয়েছি, আসুন একটি উদাহরণ প্রাপ্তিতে এটি বাস্তবায়ন করা যাক. এই রসিদ আমরা সঙ্গে কাজ করা হবে. এর শেষে আমাদের লক্ষ্য হল রেস্তোরাঁর নাম, তাদের পরিমাণ এবং খরচ, ক্রয়ের তারিখ এবং মোটের সাথে কেনা আইটেমগুলি বের করা।

OCR এবং গভীর শিক্ষার সাথে স্বয়ংক্রিয় রসিদ ডিজিটাইজেশন

প্রাক প্রসেসিং

যেহেতু আমাদের রসিদটি ইতিমধ্যেই গ্রেস্কেলে রয়েছে এবং খুব বেশি শব্দ নেই, তাই আমি শুধুমাত্র 210-এর থ্রেশহোল্ড প্রয়োগ করে থ্রেশহোল্ডিং করতে যাচ্ছি। আপনি সঠিক আউটপুট পেতে মানটি পরিবর্তন করতে পারেন। খুব কম এবং আপনি অনেক কিছু মিস করবেন। 255 এর খুব কাছাকাছি সবকিছু কালো করে দেবে।

আমাদের প্রথমে OpenCV ইনস্টল করতে হবে।

pip install opencv-python

এখানে থ্রেশহোল্ডিং জন্য কোড.

import cv2
import numpy as np
from matplotlib import pyplot as plt # Read the image
img = cv2.imread('receipt.jpg',0)
# Simple thresholding
ret,thresh1 = cv2.threshold(img,210,255,cv2.THRESH_BINARY)
cv2.imshow(thresh1,’gray’)

এই আউটপুট মত দেখায় কি.

OCR এবং গভীর শিক্ষার সাথে স্বয়ংক্রিয় রসিদ ডিজিটাইজেশন

পাঠ্য সনাক্তকরণ

পাঠ্য সনাক্তকরণের জন্য আমি একটি ওপেন-সোর্স লাইব্রেরি ব্যবহার করব টেসেরাক্ত. এটি একটি নির্দিষ্ট ওসিআর লাইব্রেরি এবং এটি 2006 সাল থেকে Google দ্বারা তৈরি করা হয়েছে। Tesseract (v4) এর সর্বশেষ প্রকাশ গভীর শিক্ষা-ভিত্তিক OCR সমর্থন করে যা উল্লেখযোগ্যভাবে আরও সঠিক। অন্তর্নিহিত OCR ইঞ্জিন নিজেই একটি লং শর্ট-টার্ম মেমরি (LSTM) নেটওয়ার্ক ব্যবহার করে।

প্রথমে Tesseract এর সর্বশেষ সংস্করণটি ইনস্টল করা যাক।

উবুন্টুর জন্য

sudo apt install tesseract-ocr

macOS এর জন্য

brew install tesseract --HEAD

উইন্ডোজের জন্য, আপনি এখান থেকে বাইনারি ডাউনলোড করতে পারেন পৃষ্ঠা

আপনার tesseract সংস্করণ যাচাই করুন.

tesseract -v

আউটপুট -

tesseract 4.0.0-beta.3
leptonica-1.76.0
libjpeg 9c : libpng 1.6.34 : libtiff 4.0.9 : zlib 1.2.11
Found AVX512BW
Found AVX512F
Found AVX2
Found AVX
Found SSE

আপনার Tesseract + Python বাইন্ডিং ইনস্টল করুন

এখন যেহেতু আমাদের Tesseract বাইনারি ইনস্টল করা আছে, আমাদের এখন Tesseract + Python বাইন্ডিং ইনস্টল করতে হবে যাতে আমাদের Python স্ক্রিপ্টগুলি Tesseract এর সাথে যোগাযোগ করতে পারে। আমাদের জার্মান ভাষা প্যাক ইনস্টল করতে হবে যেহেতু রসিদটি জার্মান।

pip install pytesseract
sudo apt-get install tesseract-ocr-deu

এখন আমরা Tesseract ইনস্টল করেছি, আসুন পাঠ্য বাক্সগুলি সনাক্ত করা শুরু করি।টেসেরাক্ত টেক্সট বক্স সনাক্ত করতে বিল্ট কার্যকারিতা আছে।

import pytesseract
from pytesseract import Output
import cv2 img = cv2.imread('receipt.jpg')
d = pytesseract.image_to_data(img, output_type=Output.DICT)
n_boxes = len(d['level'])
for i in range(n_boxes): (x, y, w, h) = (d['left'][i], d['top'][i], d['width'][i], d['height'][i]) img = cv2.rectangle(img, (x, y), (x + w, y + h), (0, 0, 255), 2) cv2.imshow(img,'img')

এখানে পাঠ্য সনাক্তকরণ কোডের আউটপুট।

OCR এবং গভীর শিক্ষার সাথে স্বয়ংক্রিয় রসিদ ডিজিটাইজেশন

পাঠ্য স্বীকৃতি

আমরা OCR সঞ্চালনের জন্য Tesseract করব। Tesseract 4 একটি গভীর শিক্ষার পদ্ধতি ব্যবহার করে যা অন্যান্য ওপেন-সোর্স বাস্তবায়নের তুলনায় উল্লেখযোগ্যভাবে ভাল কাজ করে।

এখানে টেক্সট স্বীকৃতি কোড. যদিও এটি একটি খুব সাধারণ ওয়ান-লাইনার, সেখানে অনেক কিছু রয়েছে যা হুডের নীচে যায়৷

extracted_text = pytesseract.image_to_string(img, lang = 'deu')

এখানে কাঁচা আউটপুট.

'BerghotelnGrosse Scheideggn3818 GrindelwaldnFamilie R.MüllernnRech.Nr. 4572 30.07.2007/13:29: 17nBar Tisch 7/01n2xLatte Macchiato &ä 4.50 CHF 9,00n1xGloki a 5.00 CH 5.00n1xSchweinschnitzel ä 22.00 CHF 22.00nIxChässpätz 1 a 18.50 CHF 18.50nnTotal: CHF 54.50nnIncl. 7.6% MwSt 54.50 CHF: 3.85nnEntspricht in Euro 36.33 EURnEs bediente Sie: UrsulannMwSt Nr. : 430 234nTel.: 033 853 67 16nFax.: 033 853 67 19nE-mail: grossescheidegs@b luewin. ch'

এখানে ফরম্যাট করা আউটপুট

Berghotel
Grosse Scheidegg
3818 Grindelwald
Familie R.Müller Rech.Nr. 4572 30.07.2007/13:29: 17
Bar Tisch 7/01
2xLatte Macchiato &ä 4.50 CHF 9,00
1xGloki a 5.00 CH 5.00
1xSchweinschnitzel ä 22.00 CHF 22.00
IxChässpätz 1 a 18.50 CHF 18.50 Total: CHF 54.50 Incl. 7.6% MwSt 54.50 CHF: 3.85 Entspricht in Euro 36.33 EUR
Es bediente Sie: Ursula MwSt Nr. : 430 234
Tel.: 033 853 67 16
Fax.: 033 853 67 19
E-mail: grossescheidegs@b luewin. ch

নথি, রসিদ বা ডিজিটাইজ করতে হবে চালান কিন্তু কোড করতে খুব অলস? উপর মাথা ন্যানোনেটস এবং বিনামূল্যে ওসিআর মডেলগুলি তৈরি করুন!


তথ্য আহরণ

আমি আগে উল্লেখ করেছি তথ্য আহরণের সবচেয়ে সাধারণ উপায় হল একটি নিয়ম-ভিত্তিক পদ্ধতির মাধ্যমে।

এই হোটেল থেকে সমস্ত রসিদ একটি নির্দিষ্ট কাঠামো অনুসরণ করবে এবং তথ্য বিভিন্ন লাইনে প্রদর্শিত হবে। এটি OCR আউটপুটে প্রতিফলিত হয় যেখানে নতুন লাইনগুলি 'n' দ্বারা প্রতিনিধিত্ব করা হয়। এগুলো ব্যবহার করে তথ্য বের করার নিয়মের একটি সেট লিখি। নিয়মের এই সেটটি এই হোটেলের যেকোনো রসিদে প্রয়োগ করা যেতে পারে কারণ তারা একই বিন্যাস অনুসরণ করবে।

OCR এবং গভীর শিক্ষার সাথে স্বয়ংক্রিয় রসিদ ডিজিটাইজেশন

আমি সাধারণ পাইথন কমান্ড এবং রেগুলার এক্সপ্রেশন ব্যবহার করে রেস্টুরেন্টের নাম, লেনদেনের তারিখ, কেনা আইটেম, তাদের পরিমাণ, আইটেম প্রতি মোট খরচ এবং মোট পরিমাণ বের করব।

এটি একটি অভিধান যেখানে আমি নিষ্কাশিত তথ্য সংরক্ষণ করব।

receipt _ocr = {}

প্রথম ধাপ হল রেস্টুরেন্টের নাম বের করা। রেস্তোরাঁর নামের অবস্থান সমস্ত রসিদে ধ্রুবক হতে চলেছে এবং সেটি প্রথম 2 লাইনে৷ আসুন একটি নিয়ম তৈরি করতে এটি ব্যবহার করি।

splits = extracted_text.splitlines()
restaurant_name = splits[0] + '' + splits[1]

এর পরে, আমরা লেনদেনের তারিখ বের করি। তারিখ regex বেশ সহজবোধ্য.


import re
# regex for date. The pattern in the receipt is in 30.07.2007 in DD:MM:YYYY date_pattern = r'(0[1-9]|[12][0-9]|3[01])[.](0[1-9]|1[012])[.](19|20)dd'
date = re.search(date_pattern, extracted_text).group()
receipt_ocr['date'] = date
print(date)

আউটপুট -

‘30.10.2007’

এর পরে আমরা আইটেম এবং খরচ সম্পর্কিত সমস্ত তথ্য বের করি।

আইটেমগুলিতে একটি CHF রয়েছে যা সুইস ফ্রাঙ্ক। আসুন CHF এর সমস্ত ঘটনা সনাক্ত করি। এখন আমরা 2 n এর মধ্যে অক্ষরগুলিকে চিনতে এবং একটি CHF ধারণ করে লাইনগুলি সনাক্ত করতে পারি। আমি এখানেও মোট সনাক্ত করছি।

# get lines with chf
lines_with_chf = []
for line in splits: if re.search(r'CHF',line): lines_with_chf.append(line) print(lines_with_chf)

আউটপুট -

2xLatte Macchiato &ä 4.50 CHF 9,00
1xSchweinschnitzel ä 22.00 CHF 22.00
IxChässpätz 1 a 18.50 CHF 18.50
Total: CHF 54.50
Incl. 7.6% MwSt 54.50 CHF: 3.85

আপনি যদি লক্ষ্য করেন, Tesseract একটি আইটেম মিস করেছে কারণ এটি CHF এর পরিবর্তে CH সনাক্ত করেছে। আমি পরের বিভাগে ঐতিহ্যগত ওসিআর সিস্টেমের চ্যালেঞ্জগুলি কভার করব।

# get items, total, ignore Incl
items = []
for line in lines_with_chf: print(line) if re.search(r'Incl',line): continue if re.search(r'Total', line): total = line else: items.append(line) # Get Name, quantity and cost all_items = {}
for item in items: details = item.split() quantity_name = details[0] quantity = quantity_name.split('x')[0] name = quantity_name.split('x')[1] cost = details[-1] all_items[name] = {'quantity':quantity, 'cost':cost} total = total.split('CHF')[-1] # Store the results in the dict
receipt_ocr['items'] = all_items
receipt_ocr[‘total’] = total import json receipt_json = json.dumps(receipt_ocr)
print(receipt_json)

আমাদের JSON আউটপুট প্রিন্ট করা হচ্ছে -

{'date': '30.07.2007', 'items': {'Chässpätz': {'cost': '18.50', 'quantity': 'I'}, 'Latte': {'cost': '9,00', 'quantity': '2'}, 'Schweinschnitzel': {'cost': '22.00', 'quantity': '1'}}, 'total': ' 54.50'}

সমস্ত মূল তথ্য বের করা হয়েছে এবং receipt_json এ ডাম্প করা হয়েছে..

প্রচলিত পদ্ধতির সাথে সমস্যা

যদিও আমরা তথ্য বের করেছি, উপরের পাইপলাইনটি কিছু জিনিস মিস করে এবং সাব-অপ্টিমাল। প্রতিটি নতুন রসিদের জন্য আমাদের নিয়মের একটি নতুন সেট লিখতে হবে এবং তাই এটি মাপযোগ্য নয়।

লেআউট, ফন্ট এবং ফন্টের আকার, হাতে লেখা নথি ইত্যাদিতে প্রচুর বৈচিত্র্য থাকতে পারে। লেআউটের পার্থক্যগুলি নিয়ম-ভিত্তিক পদ্ধতির উপর প্রভাব ফেলবে এবং এইগুলির জন্য অ্যাকাউন্ট করা প্রয়োজন, যা খুব ক্লান্তিকর হয়ে ওঠে। হরফ এবং হরফের আকারের পার্থক্য তথ্য সনাক্ত করা এবং বের করা কঠিন করে তোলে।

কেন এন্ড-টু-এন্ড ডিপ লার্নিং পাইপলাইন ভালো?

স্ট্যান্ডার্ড পদ্ধতির সাথে সবচেয়ে বড় সমস্যা হল সাধারণীকরণের অভাব। নিয়ম ভিত্তিক পন্থা সাধারণীকরণ করতে পারে না এবং যেকোন নতুন টেমপ্লেটের জন্য নতুন নিয়ম লিখতে হবে। এছাড়াও একটি বিদ্যমান টেমপ্লেটের কোনো পরিবর্তন বা তারতম্যের জন্যও হিসাব করা দরকার।

একটি গভীর শিক্ষার পদ্ধতি এই নিয়মগুলি শিখতে সক্ষম হবে, এবং বিভিন্ন লেআউট জুড়ে সহজেই সাধারণীকরণ করতে সক্ষম হবে, যদি আমাদের প্রশিক্ষণ ডেটাসেটে সেগুলি থাকে।

গভীর শিক্ষা এবং তথ্য নিষ্কাশন

এখানে আমি কয়েকটি কাগজপত্র পর্যালোচনা করি যেগুলি শেষ থেকে শেষ গভীর শিক্ষা পদ্ধতি ব্যবহার করে.

CUTIE

CUTIE: কনভোলিউশনাল ইউনিভার্সাল টেক্সট ইনফরমেশন এক্সট্রাক্টরের সাথে ডকুমেন্টস বুঝতে শেখা

এই কাগজ প্রস্তাব মানব সম্পদের সীমিত প্রয়োজন সহ একটি শিক্ষা-ভিত্তিক মূল তথ্য নিষ্কাশন পদ্ধতি. এটি নথিতে পাঠ্যের শব্দার্থগত অর্থ এবং স্থানিক বন্টন উভয় থেকে তথ্য একত্রিত করে। তাদের প্রস্তাবিত মডেল, কনভোলিউশনাল ইউনিভার্সাল টেক্সট ইনফরমেশন এক্সট্র্যাক্টর (CUTIE), গ্রিড করা টেক্সটগুলিতে কনভোলিউশনাল নিউরাল নেটওয়ার্ক প্রয়োগ করে যেখানে টেক্সটগুলি শব্দার্থগত অর্থ সহ বৈশিষ্ট্য হিসাবে এমবেড করা হয়।

OCR এবং গভীর শিক্ষার সাথে স্বয়ংক্রিয় রসিদ ডিজিটাইজেশন

প্রস্তাবিত মডেল, দ্বারা মূল তথ্য নিষ্কাশন সমস্যা মোকাবেলা করে

  • প্রথমে প্রস্তাবিত সহ গ্রিড করা পাঠ্য তৈরি করা গ্রিড পজিশনাল ম্যাপিং পদ্ধতি. কনভোলিউশনাল নিউরাল নেটওয়ার্কের জন্য গ্রিড ডেটা তৈরি করতে, স্ক্যান করা ডকুমেন্ট ইমেজ একটি OCR ইঞ্জিন দ্বারা প্রসেস করা হয় পাঠ্য এবং তাদের পরম/আপেক্ষিক অবস্থানগুলি অর্জন করতে। পাঠ্যগুলি মূল স্ক্যান করা ডকুমেন্ট ইমেজ থেকে টার্গেট গ্রিডে ম্যাপ করা হয়, যেমন ম্যাপ করা গ্রিড পাঠ্যগুলির মধ্যে মূল স্থানিক সম্পর্ককে সংরক্ষণ করে তবে কনভোলিউশনাল নিউরাল নেটওয়ার্কের জন্য ইনপুট হিসাবে ব্যবহার করার জন্য আরও উপযুক্ত।
  • তারপর CUTIE মডেলটি গ্রিড করা পাঠ্যগুলিতে প্রয়োগ করা হয়। সমৃদ্ধ শব্দার্থিক তথ্যগুলি গ্রিড করা পাঠ্যগুলি থেকে একটি শব্দ এমবেডিং স্তর সহ কনভোল্যুশনাল নিউরাল নেটওয়ার্কের একেবারে শুরুতে এনকোড করা হয়।

CUTIE স্ক্যান করা ডকুমেন্ট ইমেজে পাঠ্যের শব্দার্থগত তথ্য এবং স্থানিক তথ্য উভয়ই একই সাথে অনুসন্ধান করার অনুমতি দেয় এবং মূল তথ্য নিষ্কাশনের জন্য শিল্প ফলাফলের একটি নতুন অবস্থায় পৌঁছাতে পারে।

CUTIE মডেল

তাদের 2টি মডেল CUTIE-A এবং CUTIE-B রয়েছে। প্রস্তাবিত CUTIE-A হল একটি উচ্চ ক্ষমতার কনভোল্যুশনাল নিউরাল নেটওয়ার্ক যা উচ্চ-রেজোলিউশন বৈশিষ্ট্যগুলি না হারিয়ে বহু-রেজোলিউশন বৈশিষ্ট্যগুলিকে ফিউজ করে। CUTIE-B হল একটি কনভোল্যুশনাল নেটওয়ার্ক যেখানে দৃশ্যের ক্ষেত্রকে বড় করার জন্য অ্যাট্রাস কনভোল্যুশন এবং বহু-স্কেল প্রসঙ্গ ক্যাপচার করার জন্য অ্যাট্রাস স্প্যাশিয়াল পিরামিড পুলিং (ASPP) মডিউল। CUTIE-A এবং CUITE-B উভয়ই প্রাথমিক পর্যায়ে একটি শব্দ এমবেডিং স্তর সহ শব্দার্থগত অর্থ এনকোডিং প্রক্রিয়া পরিচালনা করে।

CUTIE এর কাজটি শব্দার্থিক বিভাজন টাস্কের সাথে সাদৃশ্য বহন করে। ম্যাপ করা গ্রিডে বিক্ষিপ্ত ডাটা পয়েন্ট (টেক্সট টোকেন) রয়েছে যা পিক্সেল সহ ছড়িয়ে থাকা চিত্রগুলির বিপরীতে রয়েছে। বিভিন্ন ধরণের নথি বিন্যাসের কারণে গ্রিড অবস্থানগত ম্যাপ করা কী পাঠ্যগুলি একে অপরের কাছাকাছি বা দূরে। অতএব, মাল্টি-স্কেল প্রসঙ্গ প্রক্রিয়াকরণ ক্ষমতা অন্তর্ভুক্ত করা নেটওয়ার্ককে উপকৃত করে।

ডেটা সেটটি

প্রস্তাবিত পদ্ধতিটি SROIE ডেটাসেটে ICDAR 2019 শক্তিশালী রিডিং চ্যালেঞ্জে মূল্যায়ন করা হয়েছে এবং 3 ধরনের স্ক্যান করা ডকুমেন্ট ইমেজ সহ একটি স্ব-নির্মিত ডেটাসেটে রয়েছে।

সার্জারির ICDAR 2019 SROIE ডেটা সেট ব্যবহার করা হয় যাতে 1000টি সম্পূর্ণ স্ক্যান করা রসিদের ছবি থাকে। প্রতিটি রসিদ ছবিতে প্রায় চারটি মূল পাঠ্য ক্ষেত্র রয়েছে, যেমন পণ্যের নাম, ইউনিট মূল্য, তারিখ এবং মোট খরচ। ডেটাসেটে টীকা করা পাঠ্য প্রধানত সংখ্যা এবং ইংরেজি অক্ষর নিয়ে গঠিত।

স্ব-নির্মিত ডেটাসেটে 4 টি টীকাযুক্ত স্ক্যান করা স্প্যানিশ রসিদ নথি রয়েছে, যার মধ্যে রয়েছে ট্যাক্সির রসিদ, খাবারের বিনোদন (ME) রসিদ, এবং হোটেলের রসিদ, 484টি ভিন্ন মূল তথ্য ক্লাস সহ।

ফলাফল

সামগ্রিক কর্মক্ষমতা গড় নির্ভুলতা ব্যবহার করে মূল্যায়ন করা হয় (এপি - এবং 9টি ক্লাস জুড়ে প্রতি-শ্রেণির নির্ভুলতার পরিপ্রেক্ষিতে পরিমাপ করা হয়,.) এবং সফ্ট এভারেজ নির্ভুলতা (softAP) যেখানে একটি মূল তথ্য শ্রেণীর ভবিষ্যদ্বাণী সঠিক হিসাবে নির্ধারিত হয় যদি ইতিবাচক স্থল সত্য হয় চূড়ান্ত ভবিষ্যদ্বাণীতে কিছু মিথ্যা ইতিবাচক অন্তর্ভুক্ত থাকলেও সঠিকভাবে ভবিষ্যদ্বাণী করা হয়। AP এবং softAP এর যৌথ বিশ্লেষণ মডেল পারফরম্যান্স সম্পর্কে আরও ভাল ধারণা প্রদান করে।

আপনি নীচের টেবিলে ফলাফল দেখতে পারেন.

OCR এবং গভীর শিক্ষার সাথে স্বয়ংক্রিয় রসিদ ডিজিটাইজেশন

VRD-এর জন্য GCNs

ভিজ্যুয়াল রিচ ডকুমেন্টস থেকে মাল্টিমোডাল ইনফরমেশন এক্সট্রাকশনের জন্য গ্রাফ কনভোলিউশন

এই কাগজটি ভিজ্যুয়াল রিচ ডকুমেন্টে (ভিআরডি) উপস্থাপিত পাঠ্য এবং ভিজ্যুয়াল তথ্য একত্রিত করার জন্য একটি গ্রাফ কনভল্যুশন-ভিত্তিক মডেল প্রবর্তন করে। গ্রাফ এম্বেডিংগুলিকে নথিতে একটি পাঠ্য অংশের প্রসঙ্গ সংক্ষিপ্ত করার জন্য প্রশিক্ষিত করা হয় এবং সত্তা নিষ্কাশনের জন্য পাঠ্য এমবেডিংয়ের সাথে আরও একত্রিত করা হয়।

এই কাগজে তারা একটি নথিকে VRD বলে এবং আমি এটির সাথে লেগে থাকব।

প্রতিটি ডকুমেন্টকে টেক্সট সেগমেন্টের একটি গ্রাফ হিসাবে মডেল করা হয়, যেখানে প্রতিটি টেক্সট সেগমেন্ট সেগমেন্টের অবস্থান এবং এর মধ্যে থাকা টেক্সট নিয়ে গঠিত। গ্রাফটি নোডগুলির সমন্বয়ে গঠিত যা পাঠ্য বিভাগগুলিকে প্রতিনিধিত্ব করে এবং প্রান্তগুলি যা ভিজ্যুয়াল নির্ভরতাকে প্রতিনিধিত্ব করে, যেমন আপেক্ষিক আকার এবং দূরত্ব, দুটি নোডের মধ্যে।

OCR এবং গভীর শিক্ষার সাথে স্বয়ংক্রিয় রসিদ ডিজিটাইজেশন

গ্রাফ কনভোলিউশন দ্বারা উত্পাদিত গ্রাফ এম্বেডিংগুলি নথিতে একটি পাঠ্য অংশের প্রেক্ষাপটকে সংক্ষিপ্ত করে, যা একটি স্ট্যান্ডার্ড BiLSTM-CRF মডেল ব্যবহার করে সত্তা নিষ্কাশনের জন্য পাঠ্য এমবেডিংয়ের সাথে আরও একত্রিত হয়।

মডেল

মডেলটি প্রথমে নথির প্রতিটি টেক্সট সেগমেন্টকে গ্রাফ এম্বেডিং-এ এনকোড করে, গ্রাফ কনভল্যুশনের একাধিক স্তর ব্যবহার করে। এমবেডিং তার ভিজ্যুয়াল এবং পাঠ্য প্রসঙ্গ দেওয়া টেক্সট সেগমেন্টের তথ্য উপস্থাপন করে। ভিজ্যুয়াল প্রেক্ষাপট হল নথির বিন্যাস এবং স্বতন্ত্র সেগমেন্টের আপেক্ষিক অবস্থান অন্যান্য বিভাগের সাথে। পাঠ্য প্রসঙ্গ হল নথিতে সামগ্রিকভাবে পাঠ্য তথ্যের সমষ্টি; মডেলটি প্রতিবেশী অংশগুলির পাঠ্যগুলিতে উচ্চতর ওজন নির্ধারণ করতে শেখে। তারপরে কাগজটি গ্রাফ এম্বেডিংগুলিকে পাঠ্য এম্বেডিংয়ের সাথে একত্রিত করে এবং সত্তা নিষ্কাশনের জন্য একটি আদর্শ BiLSTM-CRF মডেল প্রয়োগ করে৷

OCR এবং গভীর শিক্ষার সাথে স্বয়ংক্রিয় রসিদ ডিজিটাইজেশন

ডেটা সেটটি

দুটি বাস্তব বিশ্বের ডেটাসেট ব্যবহার করা হয়। সেগুলো হল ভ্যালু অ্যাডেড ট্যাক্স ইনভয়েস (VATI) এবং আন্তর্জাতিক ক্রয় রসিদ (IPR)। VATI 3000টি ব্যবহারকারীর আপলোড করা ছবি নিয়ে গঠিত এবং সঠিকভাবে 16টি সত্তা রয়েছে৷ উদাহরণ সত্তা হল ক্রেতা/বিক্রেতার নাম, তারিখ এবং করের পরিমাণ। চালানগুলি চাইনিজ ভাষায়, এবং এটির একটি নির্দিষ্ট টেমপ্লেট রয়েছে যেহেতু এটি জাতীয় মানের চালান।

আইপিআর হল ইংরেজিতে 1500টি স্ক্যান করা রসিদ নথির একটি ডেটা সেট যার সঠিকভাবে 4টি সত্তা রয়েছে (চালান নম্বর, বিক্রেতার নাম, প্রদানকারীর নাম এবং মোট পরিমাণ)। রসিদের জন্য 146টি টেমপ্লেট আছে।

ফলাফল

F1 স্কোর সমস্ত পরীক্ষায় মডেলের কর্মক্ষমতা মূল্যায়ন করতে ব্যবহৃত হয়। নীচের টেবিলে thr 2 ডেটাসেটের ফলাফল রয়েছে।

OCR এবং গভীর শিক্ষার সাথে স্বয়ংক্রিয় রসিদ ডিজিটাইজেশন

বেসলাইন I প্রতিটি টেক্সট সেগমেন্টে BiLSTM-CRF প্রয়োগ করে, যেখানে প্রতিটি টেক্সট সেগমেন্ট একটি পৃথক বাক্য।

বেসলাইন II সমন্বিত পাঠ্য বিভাগে ট্যাগিং মডেল প্রয়োগ করে।

দ্রুত-RCNN + AED

রসিদ স্বীকৃতির জন্য গভীর শিক্ষার পদ্ধতি

এই কাগজটি স্ক্যান করা রসিদগুলি সনাক্ত করার জন্য একটি গভীর শিক্ষার পদ্ধতি উপস্থাপন করে। স্বীকৃতি সিস্টেমের দুটি প্রধান মডিউল রয়েছে: সংযোগবাদী পাঠ্য প্রস্তাব নেটওয়ার্কের উপর ভিত্তি করে পাঠ্য সনাক্তকরণ এবং মনোযোগ-ভিত্তিক এনকোডার-ডিকোডারের উপর ভিত্তি করে পাঠ্য সনাক্তকরণ। সিস্টেম সনাক্তকরণ এবং সনাক্তকরণ কাজের জন্য F71.9 স্কোরের 1% অর্জন করেছে।

পাঠ্য সনাক্তকরণ

CTPN গঠনটি LSTM স্তর যুক্ত করে দ্রুত R-CNN-এর অনুরূপ। নেটওয়ার্ক মডেলটি প্রধানত তিনটি অংশ নিয়ে গঠিত: VGG16 দ্বারা বৈশিষ্ট্য নিষ্কাশন, দ্বিমুখী LSTM, এবং বাউন্ডিং বক্স রিগ্রেশন

OCR এবং গভীর শিক্ষার সাথে স্বয়ংক্রিয় রসিদ ডিজিটাইজেশন

পাঠ্য স্বীকৃতি

AED টেক্সট লাইন স্বীকৃতি ব্যবহার করা হয়. AED এর দুটি প্রধান মডিউল রয়েছে: একটি পাঠ্য চিত্র থেকে বৈশিষ্ট্যগুলি বের করার জন্য ডেনসনেট এবং আউটপুট পাঠ্যের পূর্বাভাস দেওয়ার জন্য একটি মনোযোগ মডেলের সাথে মিলিত একটি LSTM।

OCR এবং গভীর শিক্ষার সাথে স্বয়ংক্রিয় রসিদ ডিজিটাইজেশন

ডেটা সেটটি

SROIE 2019 এর ডেটাসেট ব্যবহার করা হয়েছে। তারা প্রশিক্ষণের তথ্যকে প্রশিক্ষণ, বৈধতা এবং পরীক্ষায় ভাগ করেছে এবং এলোমেলোভাবে প্রশিক্ষণের জন্য 80% রসিদ, বৈধতার জন্য 10% রসিদ এবং বাকিগুলি পরীক্ষার জন্য বেছে নিয়েছে। প্রশিক্ষণের জন্য 500টি রসিদ, বৈধতার জন্য 63টি রসিদ এবং পরীক্ষার জন্য 63টি রসিদ।

ফলাফল

টেক্সট সনাক্তকরণের জন্য, কাগজটি Tightness-Aware Intersection-over-Union (TIoU)পাঠ্য সনাক্তকরণের জন্য ব্যবহার করে, কাগজটি F1 , যথার্থতা এবং স্মরণ ব্যবহার করে।

OCR এবং গভীর শিক্ষার সাথে স্বয়ংক্রিয় রসিদ ডিজিটাইজেশন

সারণী I তিনটি শর্ত সহ CTPN এর ফলাফল দেখায়: মূল চিত্রগুলিতে CTPN; প্রি-প্রসেসিং + CTPN, প্রি-প্রসেসিং + CTPN + OCR যাচাইকরণ। সারণি 2 AED নেটওয়ার্কের ফলাফল দেখায়।

OCR এবং গভীর শিক্ষার সাথে স্বয়ংক্রিয় রসিদ ডিজিটাইজেশন

অবশ্যই, এটি করার একটি সহজ, আরও স্বজ্ঞাত উপায় আছে।


একটি দৃust় প্রয়োজন প্রাপ্তি ওসিআর রসিদ থেকে ডেটা বের করতে? Nanonets চেক আউট রসিদ OCR API!


ন্যানোনেটস সহ ওসিআর

আপডেট #1: আমরা সবেমাত্র আমাদের প্রকাশ করেছি প্রাপ্তি ওসিআর প্রাক-প্রশিক্ষিত মডেল। https://app.nanonets.com-এ যান এবং পরীক্ষা শুরু করুন!

OCR এবং গভীর শিক্ষার সাথে স্বয়ংক্রিয় রসিদ ডিজিটাইজেশন

সার্জারির Nanonets OCR এপিআই আপনাকে সহজে OCR মডেল তৈরি করতে দেয়। আপনার ছবিগুলিকে প্রি-প্রসেস করার বা আপনার ওসিআর মডেলের নির্ভুলতা বাড়ানোর জন্য টেমপ্লেট মেলানো বা নিয়ম ভিত্তিক ইঞ্জিন তৈরি করার বিষয়ে চিন্তা করতে হবে না।

আপনি আপনার ডেটা আপলোড করতে পারেন, এটি টীকা করতে পারেন, মডেলটিকে প্রশিক্ষণের জন্য সেট করতে পারেন এবং কোডের একক লাইন না লিখে, GPU গুলি নিয়ে চিন্তা না করে বা আপনার গভীর শিক্ষার মডেলগুলির জন্য সঠিক আর্কিটেকচারগুলি খুঁজে না পেয়ে একটি ব্রাউজার ভিত্তিক UI এর মাধ্যমে ভবিষ্যদ্বাণী পাওয়ার জন্য অপেক্ষা করতে পারেন৷ এছাড়াও আপনি প্রতিটি ভবিষ্যদ্বাণীর JSON প্রতিক্রিয়াগুলি আপনার নিজস্ব সিস্টেমের সাথে একীভূত করতে এবং অত্যাধুনিক অ্যালগরিদম এবং একটি শক্তিশালী অবকাঠামোর উপর নির্মিত মেশিন লার্নিং চালিত অ্যাপ তৈরি করতে পারেন।

জিইউআই ব্যবহার করে: https://app.nanonets.com/

আপনি নীচের পদক্ষেপগুলি অনুসরণ করে Nanonets-OCR এপিআই ব্যবহার করতে পারেন:

পদক্ষেপ 1: রেপো ক্লোন করুন, নির্ভরতা ইনস্টল করুন

git clone https://github.com/NanoNets/nanonets-ocr-sample-python.git
cd nanonets-ocr-sample-python
sudo pip install requests tqdm

পদক্ষেপ 2: আপনার ফ্রি এপিআই কী পান
এ থেকে আপনার ফ্রি এপিআই কী পান http://app.nanonets.com/#/keys

OCR এবং গভীর শিক্ষার সাথে স্বয়ংক্রিয় রসিদ ডিজিটাইজেশন

পদক্ষেপ 3: পরিবেশ পরিবর্তনশীল হিসাবে এপিআই কী সেট করুন

export NANONETS_API_KEY=YOUR_API_KEY_GOES_HERE

পদক্ষেপ 4: একটি নতুন মডেল তৈরি করুন

python ./code/create-model.py

বিঃদ্রঃ: এটি পরবর্তী পদক্ষেপের জন্য আপনার প্রয়োজন এমন একটি মডেল_আইডি উত্পন্ন করে

পদক্ষেপ 5: পরিবেশ পরিবর্তনশীল হিসাবে মডেল আইডি যুক্ত করুন

export NANONETS_MODEL_ID=YOUR_MODEL_ID

বিঃদ্রঃ: আপনি আগের পদক্ষেপটি থেকে YOUR_MODEL_ID পাবেন

পদক্ষেপ:: প্রশিক্ষণ ডেটা আপলোড করুন
প্রশিক্ষণ তথ্য পাওয়া যায় images (চিত্র ফাইল) এবং annotations (চিত্র ফাইলগুলির জন্য টিকা)

python ./code/upload-training.py

পদক্ষেপ 7: ট্রেনের মডেল
ছবিগুলি আপলোড হয়ে গেলে মডেলটিকে প্রশিক্ষণ দিতে শুরু করুন

python ./code/train-model.py

পদক্ষেপ 8: মডেল স্টেট পান
মডেলটি প্রশিক্ষণ নিতে 2 ঘন্টা সময় নেয়। মডেলটি প্রশিক্ষিত হয়ে গেলে আপনি একটি ইমেল পাবেন। ইতিমধ্যে আপনি মডেলটির অবস্থাটি পরীক্ষা করে দেখুন

python ./code/model-state.py

পদক্ষেপ 9: ভবিষ্যদ্বাণী করুন
একবার মডেল প্রশিক্ষিত হয়। আপনি মডেলটি ব্যবহার করে ভবিষ্যদ্বাণী করতে পারেন

python ./code/prediction.py ./images/151.jpg

আরও পড়া

আপডেট:
‌ ওসিআর এবং ডিপ লার্নিং ব্যবহার করে স্বয়ংক্রিয় রসিদ ডিজিটাইজেশনের সাম্প্রতিক অগ্রগতি সম্পর্কে আরও পড়ার উপাদান যুক্ত করা হয়েছে।

সময় স্ট্যাম্প:

থেকে আরো এআই এবং মেশিন লার্নিং