Das Ziel der Tabellenerkennung besteht darin, Tabellen in Bildern zu analysieren, Tabellenstrukturen und Zellenpositionen genau zu identifizieren und sie in strukturierte Tabellenformate (z. B. HTML) zu reduzieren. Im heutigen Informationszeitalter liegt eine große Menge wichtiger Tabellendaten immer noch in einem unstrukturierten Zustand vor (z. B. Bilder von Informationsstatistik-Tabellen in gescannten Dokumenten, Datenstatistik-Tabellen in PDF-Finanzausweisen usw.), die nicht direkt automatisch verarbeitet werden können. Daher hat sich die Formularerkennung zu einer Schlüsseltechnologie in den Anwendungsszenarien des intelligenten Dokumentenverständnisses und der automatischen Datenanalyse entwickelt. Leistungsstarke Lösungen zur Formularerkennung haben einen hohen Anwendungswert in den Bereichen der Verarbeitung von Finanzausweisen, der Analyse wissenschaftlicher Forschungsdaten, der Abrechnung von Versicherungsansprüchen usw., wodurch die Arbeitseffizienz erheblich verbessert und menschliche Fehler reduziert werden können. Angesichts komplexer Formularformate in unterschiedlichen Anwendungsszenarien sind herkömmliche Allzweck-Modelle zur Formularerkennung jedoch oft schwer anzupassen. Aus diesem Grund hat Flying Paddle eine neue Lösung zur Tabellenerkennung auf den Markt gebracht: PP-TableMagic.
PP-TischMagische Wirkung
PP-TableMagic Technische Analyse
Unzulänglichkeiten der derzeitigen Technologie
Derzeitige Lösungen zur Erkennung von Tabellen basieren in der Regel auf folgendem Schema: Der Benutzer gibt ein Bild einer Tabelle ein, das Modell sagt sowohl die HTML-Struktur als auch die Zellpositionen der Tabelle im Bild voraus und reduziert sie dann auf eine vollständige HTML-Tabelle. Diese Lösung erzielt eine gute Vorhersageleistung in gängigen, einfachen Tabellenszenarien, leidet aber unter zwei Problemen:
- Die Anzahl der Parameter des Tabellenerkennungsmodells ist in der Regel gering, und die beiden Aufgaben, die Vorhersage der Tabellenstruktur und die Vorhersage der Zellposition, weisen große Unterschiede in Bezug auf die Ziele und die abhängigen semantischen Hierarchien der Merkmale auf, so dass es eine obere Leistungsgrenze für die gemeinsame Optimierung gibt.
- Wenn die Benutzer das Modell in einem bestimmten Szenario feinabstimmen, kann die Feinabstimmung bestimmter Arten von Tabellendaten zu einem "Double-Dip" in der Modellleistung führen, d. h. die Leistung der feinabgestimmten Tabellenkategorien steigt, aber die Leistung anderer Kategorien sinkt, und die Gesamtleistung kann eher sinken als steigen.
PP-TableMagic Technische Lösungen und Prinzipien
Um die Leistung des leichtgewichtigen Tabellenerkennungsmodells voll auszunutzen und eine benutzerorientierte Feinabstimmung jeder Art von Tabellendaten zu unterstützen, nimmt PP-TableMagic die in der folgenden Abbildung dargestellte Struktur an:
PP-TableMagic verwendet eine Dual-Stream-Architektur, um Tabellen in drahtgebundene und drahtlose Tabellen zu unterteilen. Anschließend wird die Aufgabe der durchgängigen Tabellenerkennung in zwei Teilaufgaben aufgeteilt: Zellenerkennung und Erkennung der Tabellenstruktur, und schließlich wird das vollständige HTML-Tabellenvorhersageergebnis durch den selbstoptimierenden Ergebnisfusionsalgorithmus erzielt. Im Einzelnen:
- Das Flying Paddle-Team erforscht sein eigenes leichtgewichtiges Tabellenklassifizierungsmodell PP-LCNet_x1_0_table_cls, um eine hochpräzise Klassifizierung von kabelgebundenen und kabellosen Tabellen zu erreichen.
- Das Forschungs- und Entwicklungsteam hat das branchenweit erste Open-Source-Modell für die Erkennung von Tischzellen RT-DETR-L_table_cell_det auf den Markt gebracht, das Vor-Trainingsgewichte für die Erkennung von kabelgebundenen Tischzellen RT-DETR-L_wired_table_cell_det und Vor-Trainingsgewichte für die Erkennung von kabellosen Tischzellen RT-DETR-L_wireless_table _cell_det, um eine genaue Positionierung der verschiedenen Arten von Tischzellen zu erreichen.
- Flying Paddle führt ein neues Modell zur Erkennung von Tabellenstrukturen ein, SLANeXt, das ein besseres Parsing von Tabellenstrukturen bietet als SLANet und SLANet_plus, was zu genaueren HTML-Tabellenstrukturen führt.
Im Rahmen von PP-TableMagic ist SLANeXt, ein neues, von FeiPaddle entwickeltes Modell zur Erkennung von Tabellenstrukturen, besonders wichtig. Die Erkennung von Tabellenstrukturen ist der kritischste Aspekt der Tabellenerkennung, und die Vorhersage von Tabellenbildern zu HTML-Ausdrücken stützt sich auf hochrangige Merkmale in den Bildern. Daher verwendet SLANeXt Vary-ViT-B, das eine bessere Merkmalsdarstellung bietet, als visuellen Codierer und speist die extrahierten Merkmale in SLAHead ein, um eine genauere Strukturerkennung zu erreichen. Neben der Verbesserung der Modellstruktur wurde auch die Trainingsstrategie verbessert. Basierend auf dem von Flying Paddle selbst erstellten vollvolumigen Datensatz und dem qualitativ hochwertigen, fein abgestimmten Datensatz werden die Strukturerkennungsgewichte des verkabelten Tisches und des drahtlosen Tisches jeweils durch eine neue dreistufige Pre-Training-Strategie ermittelt.
Um die Fähigkeit von SLANeXt zur Formerkennung zu bewerten, führte das Forschungs- und Entwicklungsteam eine Reihe von Tests mit verschiedenen Arten von Datensätzen durch. Die Ergebnisse der Experimente sind wie folgt:
Basierend auf einer internen Überprüfung der Formerkennung auf hohem Niveau:
Basierend auf den realen Geschäftsdaten der Partner:
Die experimentellen Ergebnisse zeigen, dass SLANeXt eine deutliche Leistungssteigerung gegenüber SLANet_plus aufweist.
Algorithmische Anwendungen
Bei der Verwendung von PP-TableMagic können Sie nicht nur die ausgezeichneten HTML-Tabellenvorhersagefähigkeiten nutzen, um direkt mit Tabellen zu arbeiten, sondern auch die Struktur von PP-TableMagic voll ausnutzen, um eine kundenspezifische Modellfeinabstimmung zu ermöglichen.
Bei der Feinabstimmung anderer End-to-End-Formularerkennungsmodelle für schlechte Fälle ist es oft schwierig, große Trainingssätze zu erstellen, wenn nur diese Art von Daten gesammelt werden kann, was zu einem Phänomen führt, bei dem die Modellleistung eher ab- als zunimmt.
Darüber hinaus erfordert die Feinabstimmung des End-to-End-Tabellenerkennungsmodells eine gleichzeitige Annotation der Tabellenstruktur und der Zellpositionen der Trainingsdaten, was in den meisten Anwendungsszenarien sehr zeit- und arbeitsintensiv ist.
Mit der Multi-Modell-Netzwerk-Architektur von PP-TableMagic muss, wenn die Leistung eines bestimmten Tabellentyps verbessert werden soll, nur das kritischste Modell oder die kritischsten Modelle feinabgestimmt werden, wodurch die Auswirkungen auf die Erkennungsleistung anderer Tabellentypen minimiert werden.
Bei der Feinabstimmung von PP-TableMagic in realen Szenarien hat daher nicht nur die Erkennungsleistung der einzelnen Tabellentypen wenig Einfluss aufeinander, sondern auch die Beschriftung der Daten muss nur mit der entsprechenden Kategorie versehen werden, was viel Arbeitskraft spart.
Für Entwickler mit guten Programmierkenntnissen kann die Architektur von PP-TableMagic direkt auf der Ebene der Verzweigungen angepasst werden. Wenn eine bestimmte Art von Tabellendaten als sehr wichtig eingestuft wird, kann, wie in der Abbildung unten gezeigt, ein separater Zweig für die Verarbeitung eingerichtet werden, was die gesamte Tabellenerkennungsfähigkeit erheblich verbessern kann.
PP-TableMagic verfügt über eine hervorragende Leistung und unterstützt eine hohe Anpassungsfähigkeit und einen hohen Freiheitsgrad bei der gezielten Feinabstimmung des Modells, um in einer Vielzahl von Anwendungsszenarien die beste Tabellenerkennungsleistung zu erzielen. PP-TableMagic ist die erste Open-Source-Lösung für die Tabellenerkennung, die in allen Szenarien eine hohe Anpassungsfähigkeit aufweist.
Erste Schritte
Montage
Installieren Sie PaddlePaddle:
# CPU-Version
python -m pip install paddlepaddle==3.0.0rc0 -i https://www.paddlepaddle.org.cn/packages/stable/cpu/
# GPU Version, erfordert Grafiktreiber Version ≥450.80.02 (Linux) oder ≥452.39 (Windows)
python -m pip install paddlepaddle-gpu==3.0.0rc0 -i https://www.paddlepaddle.org.cn/packages/stable/cu118/
# GPU Version, erfordert Grafiktreiber Version ≥545.23.06 (Linux) oder ≥545.84 (Windows)
python -m pip install paddlepaddle-gpu==3.0.0rc0 -i https://www.paddlepaddle.org.cn/packages/stable/cu123/
Installieren Sie das PaddleX-Rad-Paket:
Pip-Installation https://paddle-model-ecology.bj.bcebos.com/paddlex/whl/paddlex-3.0.0rc0-py3-none-any.whl
Schnelle Erfahrung
PP-TableMagic kann direkt aufgerufen werden.
PaddleX bietet eine einfach zu bedienende Python-API, um Modellvorhersagen mit nur wenigen Codezeilen zu erleben.
Testbilder herunterladen:
https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/table_recognition_v2.jpg
PaddleX unterstützt den Aufruf von PP-TableMagic über die Kommandozeile oder über Python-Skripte (in PaddleX durch die Produktlinie table_recognition_v2 repräsentiert).
Befehlszeilenmethode:
paddlex --pipeline tabellen_erkennungs_v2
--use_doc_orientation_classify=False
--use_doc_unwarping=False
--Eingabe table_recognition.jpg
---save_path . /output
--device gpu:0
Python-Skript-Methode:
from paddlex import create_pipeline
pipeline = create_pipeline(pipeline="table_recognition_v2")
output = pipeline.predict(
input="table_recognition.jpg",
use_doc_orientation_classify=False,
use_doc_unwarping=False,
)
for res in output.
res.print()
res.save_to_img(". /Ausgabe/")
res.save_to_xlsx(". /Ausgabe/")
res.save_to_html(". /Ausgabe/")
res.save_to_json(". /Ausgabe/")
Nach der Verwendung werden die Erkennungsergebnisse unter dem angegebenen Pfad gespeichert.
sekundäre Entwicklung
Wenn Sie mit der Wirkung von PP-TableMagic zufrieden sind, können Sie direkt High-Performance-Reasoning, Service Deployment oder End-Side Deployment an der Produktionslinie durchführen. Ist das Tabellenszenario besonders vertikal und besteht noch Optimierungsbedarf, können Sie mit PaddleX auch eine gezielte Sekundärentwicklung eines oder mehrerer Modelle in PP-TableMagic auf Basis der Daten Ihres eigenen Szenarios durchführen, um so die Vorteile der individuellen Feinabstimmung von PP-TableMagic voll auszuspielen. Basierend auf der bequemen sekundären Entwicklungsfunktion von PaddleX können Datenüberprüfung, Modelltraining und Bewertungsinferenz durch die Verwendung einheitlicher Befehle abgeschlossen werden, ohne dass die zugrundeliegenden Prinzipien des Deep Learning verstanden werden müssen, die Szenendaten entsprechend den Anforderungen vorbereitet werden müssen und einfach die Befehle ausgeführt werden müssen, um die Modelliteration abzuschließen. Hier zeigen wir den sekundären Entwicklungsprozess des Modells zur Erkennung von drahtlosen Tischzellen RT-DETR-L_wireless_table_cell_det:
python main.py -c paddlex/configs/modules/table_cells_detection/RT-DETR-L_wireless_table_cell_det.yaml
-o Global.mode=train
-o Global.dataset_dir=. /pfad_zu_ihren_datensätzen
Alle anderen Modelle unterstützen die Sekundärentwicklung, bitte beachten Sie die Details:
https://github.com/PaddlePaddle/PaddleX/blob/release/3.0-rc/docs/pipeline_usage/tutorials/ocr_pipelines/table_recognition_v2.md#4-%E4%BA%8C%E6%AC%A1%E5%BC%80%E5%8F%91
Serviceorientierte Bereitstellung
PaddleX bietet ebenfalls eine gewartete Einsatzmöglichkeit für PP-TableMagic, indem es die Argumentationsfähigkeiten der Tabellenerkennung als Dienste kapselt und es den Clients ermöglicht, auf diese Dienste über Webanfragen für die Ergebnisse der Tabellenerkennung zuzugreifen.
PaddleX bietet zwei Arten von Servitization Deployment: Basic Servitization Deployment und High Stability Servitization Deployment. Basic Serviced Deployment ist eine einfache und leicht zu bedienende Servitization-Lösung mit geringen Entwicklungskosten, die es den Benutzern ermöglicht, Ergebnisse schnell einzusetzen und zu debuggen. High Stability Serviced Deployment basiert auf dem NVIDIA Triton Inference Server, der eine höhere Stabilität und eine höhere Leistung ermöglicht.
Weitere Informationen über PP-TableMagic finden Sie in der offiziellen Dokumentation der PaddleX-Produktionslinie:
https://github.com/PaddlePaddle/PaddleX/blob/release/3.0-rc/docs/pipeline_usage/tutorials/ocr_pipelines/table_recognition_v2.md