การประมวลผลเอกสาร PDF ล่วงหน้าด้วย Amazon Text: การตรวจจับและลบภาพ

โหนดต้นทาง: 1204412

Amazon Text คือบริการการเรียนรู้ของเครื่อง (ML) ที่มีการจัดการเต็มรูปแบบ ซึ่งจะแยกข้อความที่พิมพ์ การเขียนด้วยลายมือ และข้อมูลอื่นๆ จากเอกสารที่สแกน ซึ่งนอกเหนือไปจากการรู้จำอักขระด้วยแสง (OCR) แบบธรรมดาเพื่อระบุ ทำความเข้าใจ และดึงข้อมูลจากแบบฟอร์มและตาราง Amazon Texttract สามารถตรวจจับข้อความในเอกสารต่างๆ รวมถึงรายงานทางการเงิน เวชระเบียน และแบบฟอร์มภาษี

ในหลายกรณี คุณจำเป็นต้องแยกและวิเคราะห์เอกสารด้วยภาพต่างๆ เช่น โลโก้ รูปภาพ และแผนภูมิ ภาพเหล่านี้มีข้อความฝังตัวที่ทำให้เอาต์พุต Amazon Texttract ซับซ้อน หรือไม่จำเป็นสำหรับกระบวนการดาวน์สตรีมของคุณ ตัวอย่างเช่น แบบฟอร์มหรือเอกสารการประเมินอสังหาริมทรัพย์จำนวนมากมีรูปภาพของบ้านหรือแนวโน้มของราคาในอดีต ข้อมูลนี้ไม่จำเป็นในกระบวนการดาวน์สตรีม และคุณต้องลบออกก่อนที่จะใช้ Amazon Text เพื่อวิเคราะห์เอกสาร ในโพสต์นี้ เราแสดงวิธีที่มีประสิทธิภาพสองวิธีในการลบภาพเหล่านี้ซึ่งเป็นส่วนหนึ่งของการประมวลผลล่วงหน้าของคุณ

ภาพรวมโซลูชัน

สำหรับโพสต์นี้ เราใช้ PDF ที่มีโลโก้และแผนภูมิเป็นตัวอย่าง เราใช้กระบวนการที่แตกต่างกันสองประเภทในการแปลงและตรวจจับภาพเหล่านี้ จากนั้นจึงแก้ไข

ในวิธีแรก เราใช้ตัวตรวจจับขอบ Canny Edge ของไลบรารี OpenCV เพื่อตรวจจับขอบของภาพ สำหรับวิธีที่สอง เราเขียนตัววิเคราะห์ความเข้มข้นของพิกเซลแบบกำหนดเองเพื่อตรวจจับตำแหน่งของภาพเหล่านี้

คุณสามารถแยกภาพเหล่านี้ออกเพื่อการประมวลผลเพิ่มเติม และแก้ไขโค้ดได้อย่างง่ายดายเพื่อให้เหมาะกับกรณีการใช้งานของคุณ

PDF ที่ค้นหาได้คือไฟล์ PDF ดั้งเดิมที่สร้างโดยแอปพลิเคชันอื่น เช่น โปรแกรมประมวลผลข้อความ เครื่องพิมพ์ PDF เสมือน และโปรแกรมแก้ไขดั้งเดิม PDF ประเภทนี้จะเก็บข้อมูลเมตาดาต้า ข้อความ และรูปภาพไว้ในเอกสาร คุณสามารถใช้ไลบรารี่ได้อย่างง่ายดายเช่น PyMuPDF/ฟิตซ์ เพื่อนำทางโครงสร้าง PDF และระบุรูปภาพและข้อความ ในโพสต์นี้ เราเน้นที่เอกสารที่ไม่สามารถค้นหาได้หรือเป็นรูปภาพ

ตัวเลือกที่ 1: การตรวจจับภาพด้วยตัวตรวจจับขอบ OpenCV

ในแนวทางนี้ เราแปลงไฟล์ PDF เป็นรูปแบบ PNG จากนั้นสเกลเอกสารด้วยเครื่องหมาย OpenCV-หลาม ห้องสมุดและใช้ Canny Edge Detector เพื่อตรวจจับตำแหน่งที่มองเห็นได้ คุณสามารถทำตามขั้นตอนโดยละเอียดดังต่อไปนี้ สมุดบันทึก.

  1. แปลงเอกสารเป็นระดับสีเทา

  1. ใช้อัลกอริธึม Canny Edge เพื่อตรวจจับเส้นขอบในเอกสาร Canny-Edged
  2. ระบุรูปทรงสี่เหลี่ยมที่มีขนาดที่เกี่ยวข้อง

คุณสามารถปรับแต่งและเพิ่มประสิทธิภาพพารามิเตอร์สองสามตัวเพิ่มเติมเพื่อเพิ่มความแม่นยำในการตรวจจับโดยขึ้นอยู่กับกรณีการใช้งานของคุณ:

  • ความสูงและความกว้างขั้นต่ำ – พารามิเตอร์เหล่านี้กำหนดเกณฑ์ความสูงและความกว้างขั้นต่ำสำหรับการตรวจจับด้วยภาพ ซึ่งแสดงเป็นเปอร์เซ็นต์ของขนาดหน้า
  • การขยายความ – เมื่อตรวจพบรูปร่างสี่เหลี่ยมผืนผ้า เราจะกำหนดพื้นที่ช่องว่างภายในเพิ่มเติมเพื่อให้มีความยืดหยุ่นในพื้นที่ทั้งหมดของหน้าที่จะแก้ไข สิ่งนี้มีประโยชน์ในกรณีที่ข้อความในภาพไม่ได้อยู่ภายในพื้นที่สี่เหลี่ยมที่มีตัวคั่นอย่างชัดเจน

ข้อดีและข้อเสีย

วิธีการนี้มีข้อดีดังต่อไปนี้:

  • ตอบโจทย์การใช้งานส่วนใหญ่
  • ใช้งานง่ายและเริ่มต้นใช้งานได้อย่างรวดเร็ว
  • พารามิเตอร์ที่เหมาะสมให้ผลลัพธ์ที่ดี

อย่างไรก็ตาม วิธีการนี้มีข้อเสียดังต่อไปนี้:

  • สำหรับภาพที่ไม่มีกรอบหรือขอบโดยรอบ ประสิทธิภาพอาจแตกต่างกันไปตามประเภทของภาพ
  • หากบล็อกข้อความอยู่ภายในกรอบขนาดใหญ่ บล็อกข้อความทั้งหมดอาจถือเป็นภาพและนำออกโดยใช้ตรรกะนี้

ตัวเลือกที่ 2: การวิเคราะห์ความเข้มข้นของพิกเซล

เราใช้แนวทางที่สองโดยการวิเคราะห์พิกเซลของภาพ ย่อหน้าข้อความปกติเก็บลายเซ็นความเข้มข้นในบรรทัด เราสามารถวัดและวิเคราะห์ความหนาแน่นของพิกเซลเพื่อระบุพื้นที่ที่มีความหนาแน่นของพิกเซลที่ไม่เหมือนกับส่วนที่เหลือของเอกสาร คุณสามารถทำตามขั้นตอนโดยละเอียดดังต่อไปนี้ สมุดบันทึก.

  1. แปลงเอกสารเป็นระดับสีเทา
  2. แปลงพื้นที่สีเทาเป็นสีขาว
  3. ยุบพิกเซลในแนวนอนเพื่อคำนวณความเข้มข้นของพิกเซลสีดำ
  4. แบ่งเอกสารออกเป็นแถบแนวนอนหรือส่วนต่างๆ เพื่อระบุเอกสารที่ไม่ใช่ข้อความแบบเต็ม (ขยายทั่วทั้งหน้า)

  1. สำหรับส่วนแนวนอนทั้งหมดที่ไม่ใช่ข้อความเต็ม ให้ระบุพื้นที่ที่เป็นข้อความเทียบกับพื้นที่ที่เป็นรูปภาพ ซึ่งทำได้โดยการกรองส่วนต่างๆ ออกโดยใช้เกณฑ์ความเข้มข้นของพิกเซลสีดำต่ำสุดและสูงสุด
  2. ลบพื้นที่ที่ระบุว่าเป็นข้อความที่ไม่ครบถ้วน

คุณสามารถปรับพารามิเตอร์ต่อไปนี้เพื่อเพิ่มประสิทธิภาพความแม่นยำในการระบุพื้นที่ที่ไม่ใช่ข้อความ:

  • เกณฑ์ส่วนแนวนอนที่ไม่ใช่ข้อความ – กำหนดเกณฑ์ความเข้มข้นพิกเซลสีดำต่ำสุดและสูงสุดที่ใช้ในการตรวจหาส่วนแนวนอนที่ไม่ใช่ข้อความในหน้า
  • เกณฑ์กลุ่มแนวตั้งที่ไม่ใช่ข้อความ – กำหนดเกณฑ์ความเข้มข้นของพิกเซลสีดำต่ำสุดและสูงสุดที่ใช้ในการตรวจหาเซ็กเมนต์แนวตั้งที่ไม่ใช่ข้อความในหน้า
  • ขนาดหน้าต่าง – ควบคุมวิธีการแบ่งหน้าในส่วนแนวนอนและแนวตั้งสำหรับการวิเคราะห์ (X_WINDOW, Y_WINDOW) ถูกกำหนดเป็นจำนวนพิกเซล
  • พื้นที่การมองเห็นขั้นต่ำ – กำหนดพื้นที่ที่เล็กที่สุดที่ถือได้ว่าเป็นภาพที่จะลบออก มันถูกกำหนดเป็นพิกเซล
  • เกณฑ์ช่วงสีเทา – เกณฑ์สำหรับเฉดสีเทาที่จะลบออก

ข้อดีและข้อเสีย

แนวทางนี้ปรับแต่งได้สูง อย่างไรก็ตาม มันมีข้อเสียดังต่อไปนี้:

  • พารามิเตอร์ที่เหมาะสมใช้เวลานานขึ้นและเพื่อให้เกิดความเข้าใจในโซลูชันที่ลึกซึ้งยิ่งขึ้น
  • หากเอกสารไม่ได้รับการแก้ไขอย่างสมบูรณ์ (ภาพที่ถ่ายโดยกล้องจากมุมเอียง) วิธีนี้อาจล้มเหลว

สรุป

ในโพสต์นี้ เราแสดงให้เห็นว่าคุณสามารถใช้สองวิธีในการ Redact Visual จากเอกสารต่างๆ ได้อย่างไร ทั้งสองวิธีใช้งานได้ง่าย คุณสามารถรับผลลัพธ์คุณภาพสูงและปรับแต่งวิธีใดก็ได้ตามกรณีการใช้งานของคุณ

หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับเทคนิคต่างๆ ใน ​​Amazon Text ให้ไปที่สาธารณะ ที่เก็บตัวอย่าง GitHub ของ AWS.


เกี่ยวกับผู้เขียน

 หยวนเจียง เป็น Sr Solution Architect ที่เน้นการเรียนรู้ของเครื่อง เขาเป็นสมาชิกของโปรแกรม Amazon Computer Vision Hero และชุมชนด้านเทคนิคของ Amazon Machine Learning

วิกเตอร์สีแดง เป็น Sr Partner Solution Architect ที่มุ่งเน้นการสนทนาทาง AI เขายังเป็นสมาชิกของโปรแกรม Amazon Computer Vision Hero

หลุยส์ ปิเนดา เป็นสถาปนิก Sr Partner Management Solution เขายังเป็นสมาชิกของโปรแกรม Amazon Computer Vision Hero

มิเกล โรเมโร คัลโว เป็นนักวิทยาศาสตร์ข้อมูลจาก AWS Machine Learning Solution Lab

ที่มา: https://aws.amazon.com/blogs/machine-learning/process-text-and-images-in-pdf-documents-with-amazon-texttract/

ประทับเวลา:

เพิ่มเติมจาก บล็อก AWS Machine Learning