API پایتون متنباز برای ساخت برنامههای هوشمند OCR
API رایگان OCR پایتون برای تشخیص و شناسایی متن از تصاویر، شامل صحنههای طبیعی، فرمها و اسناد اسکنشده در برنامههای پایتون.
MonkeyOCR چیست؟
MonkeyOCR یک سیستم پیشرفتهٔ تشخیص نوری کاراکتر (Optical Character Recognition) انتها‑به‑انتها است که بر پایهٔ یادگیری عمیق ساخته شده برای توسعهدهندگان نرمافزاری که به دنبال راهحل قدرتمند و انعطافپذیر هستند. این کتابخانه که توسط Yuliang Liu توسعه یافته است، امکان تشخیص دقیق و شناسایی متن از منابع متنوعی از جمله صحنههای طبیعی، فرمها و اسناد اسکنشده را فراهم میکند. معماری ماژولار و مقیاسپذیر آن تکنیکهای پیشرفتهٔ یادگیری عمیق را با یک خط لولهٔ استنتاج قوی ترکیب میکند و آن را برای وظایف واقعی تشخیص متن بسیار مناسب میسازد. کاربردهای عملی شامل اسکن فاکتور، خواندن کارتهای شناسایی، استخراج متن از تابلوهای راهنمایی و ساخت خط لولههای OCR چندزبانه یا تبدیل PDF به داده میشود.
این سیستم برای حداکثر انعطافپذیری طراحی شده است تا مهندسان نرمافزار بتوانند سیستمهای هوشمند پردازش اسناد را بدون وابستگی به موتورهای تجاری OCR ایجاد کنند. ویژگیهای پیشرفتهای چون خط لولهٔ OCR کاملاً ماژولار، پیکربندی ساده با فایل YAML و پشتیبانی از استنتاج دستهای کارآمد را ارائه میدهد. این سیستم خروجیهای دقیق جعبهٔ متن با مختصات را فراهم میکند و از مدلهای مدرن مانند DBNet++ برای تشخیص و CRNN برای شناسایی استفاده میکند، همه در چارچوبی قابل تنظیم برای پیشپردازش و پسپردازش. این ترکیب از طراحی ماژولار، پشتیبانی از مدلهای بهروز و سادگی پیکربندی، MonkeyOCR را برای ساخت برنامههای پیشرفتهٔ دنیای واقعی، از خودکارسازی اسناد سازمانی تا تشخیص متن صحنهای بر روی موبایل، ایدهآل میسازد.
شروع کار با MonkeyOCR
روش پیشنهادی برای نصب MonkeyOCR استفاده از pip است. لطفاً برای نصب آسان از دستور زیر استفاده کنید.
نصب MonkeyOCR از طریق pip
pip install MonkeyOCR نصب MonkeyOCR از طریق GitHub
git clone https://github.com/Yuliang-Liu/MonkeyOCR.git همچنین میتوانید به صورت دستی نصب کنید؛ فایلهای آخرین نسخه را مستقیماً از مخزن GitHub دانلود کنید.
استخراج متن از تصویر رسید با پایتون
MonkeyOCR متنباز یک سیستم انتها‑به‑انتها برای تشخیص نوری کاراکتر (Optical Character Recognition) مبتنی بر تکنیکهای یادگیری عمیق است. توسعهدهندگان نرمافزاری که برنامههایی برای اسکن اسناد، کارتهای شناسایی، رسیدها یا پلاکهای خودرو مینویسند میتوانند MonkeyOCR را مستقیماً در خط لولهٔ بکاند خود ادغام کنند. با طراحی ماژولار، میتوانید فقط مدل تشخیص را استفاده کنید یا آن را با شناسایی ترکیب کنید تا متن ساختاریافته را از تصاویر استخراج کنید. در ادامه یک مثال ساده آورده شده که نشان میدهد چگونه میتوان متن را از تصویر رسید با استفاده از API پایتون استخراج کرد.
چگونه متن را از تصویر رسید با استفاده از API پایتون استخراج کنیم؟
from monkey_ocr.ocr_predict import OCRPredictor
ocr = OCRPredictor(det_model_path="weights/dbnet.pth", rec_model_path="weights/crnn.pth")
results = ocr.predict("receipt.jpg")
for line in results:
print(line['text'])
خط لولههای OCR سفارشی برای موارد استفاده خاص
یکی از بزرگترین قوتهای کتابخانهٔ متنباز MonkeyOCR معماری ماژولار آن است. توسعهدهندگان میتوانند اجزایی مانند مدلهای تشخیص، شناسایی و طبقهبندی را بر اساس نیازهای برنامهٔ خود ترکیب یا جابجا کنند. برای مثال، یک برنامهٔ اسکن اسناد میتواند از مدلی سبک مثل DBNet برای تشخیص و CRNN برای شناسایی استفاده کند تا هم سرعت و هم دقت بهینه شوند.
خط لولههای OCR سفارشی از طریق API پایتون؟
from monkey_ocr.ocr_predict import OCRPredictor
ocr = OCRPredictor(
det_model_path="weights/dbnet.pth",
rec_model_path="weights/crnn.pth"
)
results = ocr.predict("form_image.jpg")
for item in results:
print(item["text"], item["box"])
یکپارچهسازی با نرمافزارهای تجاری
کتابخانهٔ متنباز MonkeyOCR میتواند در جریانهای کاری اسناد سازمانی نیز ادغام شود، مثلاً برای خودکارسازی ورود دادهها در سیستمهای ERP یا CRM. توسعهدهندگان میتوانند MonkeyOCR را بهصورت پسزمینه اجرا کنند تا PDFهای اسکنشده یا اسناد مبتنی بر تصویر که توسط کاربران بارگذاری میشوند اسکن کنند و بهصورت خودکار اطلاعات ساختاریافته را استخراج نمایند. با پیکربندی MonkeyOCR از طریق یک فایل config.yaml، تیمها میتوانند سازگاری را در بین استقرارهای مختلف حفظ کنند.
ساخت خوانندههای فرم خودکار
با ترکیب تشخیص متن MonkeyOCR با دادههای موقعیتی (جعبههای مرزی)، توسعهدهندگان میتوانند خوانندههای فرم هوشمندی طراحی کنند که فیلدهایی مانند «نام»، «تاریخ»، «مبلغ» را شناسایی و دادههای مرتبط را استخراج کنند. این روش برای اسناد مالیاتی، فرمهای پزشکی یا نظرسنجیها ایدهآل است.