پیش پردازش سند PDF با متن آمازون: تشخیص و حذف تصاویر

گره منبع: 1204412

متن آمازون یک سرویس یادگیری ماشینی کاملاً مدیریت شده (ML) است که به طور خودکار متن چاپ شده، دست خط و سایر داده ها را از اسناد اسکن شده استخراج می کند که فراتر از تشخیص ساده نویسه نوری (OCR) برای شناسایی، درک و استخراج داده ها از فرم ها و جداول است. Amazon Texttract می تواند متن را در اسناد مختلف از جمله گزارش های مالی، سوابق پزشکی و فرم های مالیاتی شناسایی کند.

در بسیاری از موارد استفاده، شما نیاز به استخراج و تجزیه و تحلیل اسناد با تصاویر مختلف، مانند لوگو، عکس و نمودار دارید. این تصاویر حاوی متن جاسازی‌شده‌ای هستند که خروجی متن آمازون را پیچیده می‌کند یا برای فرآیند پایین‌دستی شما لازم نیست. به عنوان مثال، بسیاری از فرم ها یا اسناد ارزیابی املاک حاوی تصاویر خانه ها یا روند قیمت های تاریخی هستند. این اطلاعات در فرآیندهای پایین دستی مورد نیاز نیست و قبل از استفاده از Amazon Texttract برای تجزیه و تحلیل سند باید آن را حذف کنید. در این پست، ما دو روش موثر برای حذف این تصاویر را به عنوان بخشی از پیش پردازش شما نشان می دهیم.

بررسی اجمالی راه حل

برای این پست، ما از یک PDF استفاده می کنیم که به عنوان مثال حاوی یک لوگو و یک نمودار است. ما از دو نوع فرآیند مختلف برای تبدیل و شناسایی این تصاویر استفاده می کنیم، سپس آنها را ویرایش می کنیم.

در روش اول، از آشکارساز لبه‌ای کتابخانه OpenCV برای تشخیص لبه تصاویر استفاده می‌کنیم. برای روش دوم، یک تحلیلگر غلظت پیکسل سفارشی می نویسیم تا مکان این تصاویر را تشخیص دهد.

می توانید این تصاویر را برای پردازش بیشتر استخراج کنید و به راحتی کد را متناسب با مورد استفاده خود تغییر دهید.

PDF های قابل جستجو فایل های PDF بومی هستند که معمولاً توسط برنامه های کاربردی دیگر مانند پردازنده های متن، چاپگرهای PDF مجازی و ویرایشگرهای بومی تولید می شوند. این نوع فایل‌های PDF اطلاعات فراداده، متن و تصویر را در داخل سند حفظ می‌کنند. شما به راحتی می توانید از کتابخانه هایی مانند PyMuPDF/fitz برای پیمایش در ساختار PDF و شناسایی تصاویر و متن. در این پست، ما بر روی اسناد غیرقابل جستجو یا مبتنی بر تصویر تمرکز می کنیم.

گزینه 1: تشخیص تصاویر با ردیاب لبه OpenCV

در این روش، PDF را به فرمت PNG تبدیل می کنیم، سپس سند را با مقیاس خاکستری تبدیل می کنیم OpenCV-Python کتابخانه و از Canny Edge Detector برای شناسایی مکان های بصری استفاده کنید. می توانید مراحل دقیق را در ادامه مطلب دنبال کنید دفتر یادداشت.

  1. سند را به مقیاس خاکستری تبدیل کنید.

  1. از الگوریتم Canny Edge برای تشخیص خطوط در سند Canny-Edged استفاده کنید.
  2. خطوط مستطیلی را با ابعاد مربوطه شناسایی کنید.

می‌توانید برای افزایش دقت تشخیص بسته به مورد استفاده خود، چند پارامتر را تنظیم و بهینه کنید:

  • حداقل ارتفاع و عرض - این پارامترها حداقل آستانه های ارتفاع و عرض را برای تشخیص بصری تعیین می کنند. در درصد اندازه صفحه بیان می شود.
  • لایه - هنگامی که یک کانتور مستطیل تشخیص داده می شود، ناحیه بالشتک اضافی را برای داشتن انعطاف پذیری در کل مساحت صفحه که باید ویرایش شود، تعریف می کنیم. این در مواردی مفید است که متون در تصاویر در داخل مناطق مستطیلی به وضوح مشخص نیستند.

مزایا و معایب

این رویکرد دارای مزایای زیر است:

  • اکثر موارد استفاده را برآورده می کند
  • اجرای آن آسان است و به سرعت راه اندازی می شود
  • پارامترهای بهینه آن نتایج خوبی به همراه دارد

با این حال، این رویکرد دارای اشکالات زیر است:

  • برای تصاویر بدون کادر محدود یا لبه های اطراف، عملکرد ممکن است بسته به نوع تصاویر متفاوت باشد
  • اگر یک بلوک از متن در داخل جعبه‌های محدود بزرگ باشد، کل بلوک متن ممکن است تصویری در نظر گرفته شود و با استفاده از این منطق حذف شود.

گزینه 2: تجزیه و تحلیل غلظت پیکسل

ما رویکرد دوم خود را با تجزیه و تحلیل پیکسل های تصویر پیاده سازی می کنیم. پاراگراف های متنی معمولی یک امضای تمرکز را در خطوط خود حفظ می کنند. ما می‌توانیم تراکم پیکسل‌ها را اندازه‌گیری و تجزیه و تحلیل کنیم تا مناطقی با تراکم پیکسلی که مشابه بقیه سند نیستند شناسایی کنیم. می توانید مراحل دقیق را در ادامه مطلب دنبال کنید دفتر یادداشت.

  1. سند را به مقیاس خاکستری تبدیل کنید.
  2. نواحی خاکستری را به سفید تبدیل کنید.
  3. برای محاسبه غلظت پیکسل های سیاه، پیکسل ها را به صورت افقی جمع کنید.
  4. سند را به نوارها یا بخش‌های افقی تقسیم کنید تا مواردی را که متن کامل نیستند (در کل صفحه امتداد دارند) شناسایی کنید.

  1. برای همه بخش‌های افقی که متن کامل نیستند، قسمت‌هایی را که متن هستند در مقابل قسمت‌هایی که تصویر هستند، مشخص کنید. این کار با فیلتر کردن بخش ها با استفاده از حداقل و حداکثر آستانه غلظت پیکسل سیاه انجام می شود.
  2. قسمت هایی را که به عنوان متن غیر کامل شناسایی شده اند حذف کنید.

می توانید پارامترهای زیر را برای بهینه سازی دقت شناسایی مناطق غیر متنی تنظیم کنید:

  • آستانه های بخش افقی غیر متنی – حداقل و حداکثر آستانه غلظت پیکسل سیاه را که برای تشخیص بخش های افقی غیر متنی در صفحه استفاده می شود، تعریف کنید.
  • آستانه های بخش عمودی غیر متنی - حداقل و حداکثر آستانه غلظت پیکسل سیاه را که برای تشخیص بخش های عمودی غیر متنی در صفحه استفاده می شود، تعریف کنید.
  • اندازه پنجره – نحوه تقسیم صفحه به بخش های افقی و عمودی برای تجزیه و تحلیل (X_WINDOW، Y_WINDOW) را کنترل می کند. بر حسب تعداد پیکسل تعریف شده است.
  • حداقل منطقه بصری – کوچکترین ناحیه ای را که می توان به عنوان بصری برای حذف در نظر گرفت را تعریف می کند. در پیکسل تعریف شده است.
  • آستانه محدوده خاکستری - آستانه سایه های خاکستری حذف شود.

مزایا و معایب

این رویکرد بسیار قابل تنظیم است. با این حال، دارای معایب زیر است:

  • پارامترهای بهینه برای دستیابی به درک عمیق تری از راه حل زمان بیشتری می برد
  • اگر سند کاملاً اصلاح نشده باشد (تصویر گرفته شده توسط دوربین با زاویه)، این روش ممکن است شکست بخورد.

نتیجه

در این پست نشان دادیم که چگونه می توانید دو رویکرد را برای ویرایش تصاویر از اسناد مختلف پیاده سازی کنید. اجرای هر دو رویکرد آسان است. شما می توانید نتایج با کیفیت بالا دریافت کنید و هر یک از روش ها را با توجه به مورد استفاده خود سفارشی کنید.

برای کسب اطلاعات بیشتر در مورد تکنیک های مختلف در آمازون تکست، از عموم بازدید کنید AWS Samples مخزن GitHub.


درباره نویسنده

 یوان جیانگ یک معمار راه حل Sr با تمرکز بر یادگیری ماشین است. او یکی از اعضای برنامه Amazon Computer Vision Hero و انجمن حوزه فنی یادگیری ماشین آمازون است.

ویکتور قرمز یک معمار راه حل شریک Sr با تمرکز بر هوش مصنوعی مکالمه است. او همچنین یکی از اعضای برنامه Amazon Computer Vision Hero است.

لوئیز پیندا یک معمار راه حل مدیریت شریک Sr است. او همچنین یکی از اعضای برنامه Amazon Computer Vision Hero است.

میگل رومرو کالوو یک دانشمند داده از آزمایشگاه راه حل یادگیری ماشین AWS است.

منبع: https://aws.amazon.com/blogs/machine-learning/process-text-and-images-in-pdf-documents-with-amazon-txtract/

تمبر زمان:

بیشتر از وبلاگ یادگیری ماشین AWS