Multi-TD-TSR
ตรวจสอบมันบนซอร์สโค้ดของกระดาษของเรา: ตารางการสกัดแบบหลายประเภท TD-TSR จากภาพเอกสารโดยใช้ไปป์ไลน์หลายขั้นตอนสำหรับการตรวจจับตารางและการจดจำโครงสร้างตาราง
คำอธิบาย

Multi-type-TD-TSR ทั้งหมดไปป์ไลน์

เนื่องจากแนวโน้มทั่วโลกกำลังเปลี่ยนไปสู่อุตสาหกรรมที่ขับเคลื่อนด้วยข้อมูลความต้องการอัลกอริทึมอัตโนมัติที่สามารถแปลงภาพดิจิตอลของเอกสารสแกนเป็นข้อมูลที่อ่านได้ของเครื่องเพิ่มขึ้นอย่างรวดเร็ว นอกเหนือจากโอกาสในการแปลงข้อมูลดิจิทัลสำหรับการประยุกต์ใช้เครื่องมือวิเคราะห์ข้อมูลแล้วยังมีการปรับปรุงอย่างมากต่อการทำงานอัตโนมัติของกระบวนการซึ่งก่อนหน้านี้จะต้องมีการตรวจสอบด้วยตนเองของเอกสาร แม้ว่าการแนะนำเทคโนโลยีการจดจำอักขระออพติคอล (OCR) ส่วนใหญ่จะแก้ไขงานของการแปลงอักขระที่มนุษย์อ่านได้จากภาพเป็นอักขระที่อ่านได้เครื่อง แต่งานในการแยกความหมายของตารางได้รับการมุ่งเน้นน้อยกว่าในช่วงหลายปีที่ผ่านมา การรับรู้ของตารางประกอบด้วยสองงานหลักคือการตรวจจับตารางและการรับรู้โครงสร้างตาราง งานก่อนหน้านี้ส่วนใหญ่เกี่ยวกับปัญหานี้มุ่งเน้นไปที่งานโดยไม่เสนอโซลูชันแบบ end-to-end หรือให้ความสนใจกับเงื่อนไขแอปพลิเคชันจริงเช่นภาพหมุนหรือสิ่งประดิษฐ์เสียงรบกวนภายในภาพเอกสาร งานล่าสุดแสดงให้เห็นถึงแนวโน้มที่ชัดเจนต่อวิธีการเรียนรู้ลึกควบคู่ไปกับการใช้การเรียนรู้การถ่ายโอนสำหรับงานการจดจำโครงสร้างตารางเนื่องจากขาดชุดข้อมูลขนาดใหญ่เพียงพอ ในบทความนี้เรานำเสนอไปป์ไลน์หลายขั้นตอนที่มีชื่อว่า Multi-Type-TD-TSR ซึ่งเสนอโซลูชันแบบครบวงจรสำหรับปัญหาการจดจำตาราง มันใช้รูปแบบการเรียนรู้ลึกที่ล้ำสมัยสำหรับการตรวจจับตารางและแตกต่างระหว่างตาราง 3 ประเภทที่แตกต่างกันตามเส้นขอบของตาราง สำหรับการรับรู้โครงสร้างตารางเราใช้อัลกอริทึมที่ไม่ได้กำหนดค่าที่กำหนดไว้ซึ่งทำงานกับทุกประเภทตาราง เรายังนำเสนออัลกอริทึมสองรายการ หนึ่งสำหรับตารางที่ไม่ได้สั่งซื้อและอีกอันสำหรับตารางที่มีขอบซึ่งเป็นฐานของอัลกอริทึมการจดจำโครงสร้างตารางที่ใช้แล้ว เราประเมิน Multi-Type-TD-TSR บนชุดข้อมูลการจดจำโครงสร้างตาราง ICDAR 2019 และบรรลุสถานะใหม่ที่ทันสมัย
Multi-type-TD-TSR บนโต๊ะที่มีขอบเขตเต็มที่

สำหรับ TSR บนตารางที่มีขอบเขตอย่างเต็มที่เราใช้การกัดเซาะและการขยายการขยายเพื่อแยกภาพเซลล์กริดคอลัมน์แถวโดยไม่มีข้อความหรืออักขระใด ๆ เมล็ดการกัดเซาะโดยทั่วไปจะเป็นแถบแนวตั้งและแนวนอนบาง ๆ ที่ยาวกว่าขนาดตัวอักษรโดยรวม แต่สั้นกว่าขนาดของเซลล์กริดที่เล็กที่สุดและโดยเฉพาะอย่างยิ่งจะต้องไม่กว้างกว่าความกว้างของขอบโต๊ะที่เล็กที่สุด การใช้ข้อ จำกัด ขนาดเคอร์เนลเหล่านี้ส่งผลให้การดำเนินการกัดเซาะลบแบบอักษรและอักขระทั้งหมดออกจากตารางในขณะที่รักษาเส้นขอบตาราง เพื่อที่จะกู้คืนรูปร่างเส้นดั้งเดิมอัลกอริทึมจะใช้การขยายการขยายโดยใช้ขนาดเคอร์เนลเดียวกันในแต่ละภาพที่ถูกกัดเซาะสองภาพสร้างภาพที่มีแนวตั้งและวินาทีที่มีเส้นแนวนอน ในที่สุดอัลกอริทึมจะรวมภาพทั้งสองโดยใช้การดำเนินการบิตที่ชาญฉลาด `` `or``` และกลับค่าค่าพิกเซลอีกครั้งเพื่อให้ได้ภาพเซลล์แรสเตอร์ จากนั้นเราใช้ฟังก์ชั่น contours บนภาพกริดเซลล์เพื่อแยกกล่องขอบเขตสำหรับเซลล์กริดทุกตัว
Multi-type-TD-TSR บนตารางที่ไม่ได้สั่งซื้อ

อัลกอริทึม TSR สำหรับตารางที่ไม่ได้สั่งซื้อนั้นทำงานได้คล้ายกับตารางที่มีพรมแดน แต่ใช้การดำเนินการกัดเซาะในวิธีที่แตกต่างกัน เคอร์เนลการพังทลายนั้นเป็นแถบบาง ๆ ที่มีความแตกต่างที่ขนาดแนวนอนของเคอร์เนลแนวนอนรวมถึงความกว้างของภาพเต็มและขนาดแนวตั้งของเคอร์เนลแนวตั้งความสูงของภาพเต็ม อัลกอริทึมเลื่อนเมล็ดทั้งสองอย่างอิสระทั่วทั้งภาพจากซ้ายไปขวาสำหรับเคอร์เนลแนวตั้งและจากบนลงล่างสำหรับเคอร์เนลแนวนอน ในระหว่างกระบวนการนี้กำลังมองหาแถวและคอลัมน์ที่ว่างเปล่าที่ไม่มีอักขระหรือแบบอักษรใด ๆ ภาพที่ได้จะกลับด้านและรวมกันโดยการดำเนินการบิตที่ชาญฉลาด `` `และ '' '' '' การดำเนินการผลิตผลลัพธ์สุดท้าย เอาต์พุตเป็นภาพเซลล์กริดที่คล้ายกับภาพจาก TSR สำหรับตารางที่มีขอบซึ่งพื้นที่ที่ทับซ้อนกันของภาพทั้งสองภาพแสดงถึงกล่องขอบเขตสำหรับเซลล์กริดทุกตัว
Multi-type-TD-TSR บนโต๊ะที่มีขอบบางส่วน

เป้าหมายหลักของอัลกอริทึมของเราสำหรับตารางที่มีขอบและไม่มีการสั่งซื้อคือการสร้างภาพเซลล์กริดโดยการเพิ่มเส้นขอบในกรณีที่ไม่ได้สั่งซื้อและตรวจจับเส้นในกรณีที่มีพรมแดน หากตารางมีขอบเพียงบางส่วนเท่านั้นอัลกอริทึมที่ไม่ได้สั่งซื้อจะถูกป้องกันไม่ให้เพิ่มเส้นขอบในทิศทางมุมฉากไปยังเส้นขอบที่มีอยู่ในขณะที่อัลกอริทึมที่ล้อมรอบสามารถหาพรมแดนที่มีอยู่ได้เท่านั้น ทั้งสองวิธีส่งผลให้ภาพเซลล์กริดที่ไม่สมบูรณ์
TSR สำหรับตารางที่มีขอบบางส่วนใช้อัลกอริทึมการกัดเซาะเดียวกันกับในตารางที่มีพรมแดนเพื่อตรวจจับเส้นขอบที่มีอยู่ แต่ไม่ใช้มันเพื่อสร้างเซลล์กริด แต่เพื่อลบเส้นขอบออกจากภาพตารางเพื่อรับตารางที่ไม่ได้สั่ง สิ่งนี้ช่วยให้สามารถใช้อัลกอริทึมสำหรับตารางที่ไม่ได้สั่งซื้อเพื่อสร้างภาพกริดเซลล์และรูปทรงโดยการเปรียบเทียบกับตัวแปรที่กล่าวถึงข้างต้น คุณลักษณะที่สำคัญของวิธีการนี้คือมันใช้งานได้กับทั้งตารางที่ล้อมรอบและไม่มีการสั่งซื้อ: มันเป็นแบบอิสระ
ผลการจดจำโครงสร้างตาราง
ICDAR 19 (Track B2)
| iou | iou | iou | iou | ถ่วงน้ำหนัก |
|---|
| ทีม | 0.6 | 0.7 | 0.8 | 0.9 | เฉลี่ย |
| cascadetabnet | 0.438 | 0.354 | 0.19 | 0.036 | 0.232 |
| nlpr-pal | 0.365 | 0.305 | 0.195 | 0.035 | 0.206 |
| Multi-TD-TSR | 0.589 | 0.404 | 0.137 | 0.015 | 0.253 |
คำแนะนำ
การกำหนดค่า
ซอร์สโค้ดได้รับการพัฒนาภายใต้การพึ่งพาไลบรารีต่อไปนี้
- pytorch = 1.7.0
- Torchvision = 0.8.1
- cuda = 10.1
- Pyyaml = 5.1
Detectron 2
รูปแบบการตรวจจับตารางขึ้นอยู่กับ Detectron2 ตามคู่มือการติดตั้งนี้เพื่อตั้งค่า
การจัดตำแหน่งภาพล่วงหน้า
สำหรับขั้นตอนการจัดตำแหน่งภาพล่วงหน้ามีหนึ่งสคริปต์ที่มีอยู่:
ในการใช้อัลกอริทึมการจัดตำแหน่งล่วงหน้าของภาพกับรูปภาพทั้งหมดในโฟลเดอร์เดียวคุณต้องดำเนินการ:
ด้วยพารามิเตอร์ต่อไปนี้
-
--folder โฟลเดอร์อินพุตรวมภาพเอกสาร -
--output โฟลเดอร์เอาท์พุทสำหรับภาพที่ถูก deskewed
การจดจำโครงสร้างตาราง (TSR)
สำหรับการจดจำโครงสร้างตารางเรานำเสนอสคริปต์อย่างง่ายสำหรับวิธีการที่แตกต่างกัน
ในการใช้อัลกอริทึมการจดจำโครงสร้างตารางกับรูปภาพทั้งหมดในโฟลเดอร์เดียวคุณต้องดำเนินการ:
ด้วยพารามิเตอร์ต่อไปนี้
-
--folder เส้นทางโฟลเดอร์ของโฟลเดอร์อินพุตรวมถึงภาพตาราง -
--type type in ["borderd", "unbordered", "partially", "partially_color_inv"] -
--img_output พา ธ โฟลเดอร์เอาท์พุทสำหรับภาพที่ประมวลผล -
--xml_output พา ธ โฟลเดอร์เอาท์พุทสำหรับไฟล์ XML รวมถึงกล่องขอบเขต
การตรวจจับตารางและการจดจำโครงสร้างตาราง (TD & TSR)
เพื่อ appy การตรวจจับตารางด้วยโครงสร้างตารางที่ตามมาการรับรู้
ในการใช้อัลกอริทึมการจำแนกโครงสร้างตารางกับรูปภาพทั้งหมดในโฟลเดอร์เดียวคุณต้องดำเนินการ:
ด้วยพารามิเตอร์ต่อไปนี้
-
--folder เส้นทางโฟลเดอร์ของโฟลเดอร์อินพุตรวมถึงภาพตาราง -
--type type in ["borderd", "unbordered", "partially", "partially_color_inv"] -
--tsr_img_output พา ธ โฟลเดอร์เอาท์พุทเอาท์พุทสำหรับภาพตารางที่ประมวลผล -
--td_img_output พา ธ โฟลเดอร์เอาท์พุทเอาท์พุทสำหรับการตัดตารางที่ผลิตขึ้น -
--xml_output พา ธ โฟลเดอร์เอาท์พุทสำหรับไฟล์ XML สำหรับตารางและเซลล์รวมถึงกล่องขอบเขต -
--config เส้นทางการกำหนดค่าของไฟล์กำหนดค่า Detectron2 สำหรับการตรวจจับตาราง - -เส้นทาง
--yaml ของไฟล์ detectron2 yaml สำหรับการตรวจจับตาราง -
--weights เส้นทางน้ำหนักของ DETECTRON2 แบบจำลองน้ำหนักสำหรับการตรวจจับตาราง
การประเมิน
ในการประเมินอัลกอริทึมการจดจำโครงสร้างตารางเราให้สคริปต์ต่อไปนี้:
ในการใช้การประเมินภาพตารางและฉลากในรูปแบบ XML ต้องเป็นชื่อเดียวกันและควรอยู่ในโฟลเดอร์เดียว การประเมินสามารถเริ่มต้นได้โดย:
ด้วยพารามิเตอร์ต่อไปนี้
-
--dataset พา ธ โฟลเดอร์ข้อมูลชุดข้อมูลที่มีภาพตารางและป้ายกำกับในรูปแบบ. xml
รับข้อมูล
- ชุดข้อมูลทดสอบสำหรับการจดจำโครงสร้างตารางรวมถึงภาพตารางและคำอธิบายประกอบสามารถดาวน์โหลดได้ที่นี่
- การตรวจจับตาราง detectond2 รุ่นน้ำหนักและไฟล์การกำหนดค่าสามารถดาวน์โหลดได้ที่นี่
การอ้างอิง
@misc{fischer2021multitypetdtsr,
title={Multi-Type-TD-TSR - Extracting Tables from Document Images using a Multi-stage Pipeline for Table Detection and Table Structure Recognition: from OCR to Structured Table Representations},
author={Pascal Fischer and Alen Smajic and Alexander Mehler and Giuseppe Abrami},
year={2021},
eprint={2105.11021},
archivePrefix={arXiv},
primaryClass={cs.CV}
}