Closed huichen5796 closed 2 years ago
So ist die Hauptaufgabe von Deep Learning: zu bekommen die Zone von Tabelle ohne Linien
hab ein Klassifizieren-Modell für Tabelle und Text auf NanoNets erstellt. NanoNets: https://nanonets.com/
API von Medell:
url = 'https://app.nanonets.com/api/v2/ImageCategorization/LabelFile/'
data = {'file': open('Development_DL\\Arbeitbreich_DL\\textandtable_0.png', 'rb'), 'modelId': ('', '270402d6-42f7-497b-abce-d897e89b8a81')}
response = requests.post(url, auth= requests.auth.HTTPBasicAuth('dipIx95yLD_Ix6RGClR4LEO1KuFBk_hR', ''), files=data)
print(eval(response.text).get('result'))
Nun können Image mit nur Tabelle oder nur Text unterschieden werden, aber mit Tabelle und Text gilt nicht. oben: Development_DL\Arbeitbreich_DL\SS22_0.png mittel: Development_DL\Arbeitbreich_DL\test_table.PNG unten: Development_DL\Arbeitbreich_DL\textandtable_0.png
Und ob das Modell gedreht wird oder nicht, hat einen größeren Einfluss auf die Ergebnisse. oben: Development_DL\Arbeitbreich_DL\textandtable_0.png unten: Development_DL\Arbeitbreich_DL\textandtablewinkel.png
Eine einfache Bildklassifizierung kann Tabellenbereiche innerhalb desselben Bildes nicht unterscheiden, daher sollte eine Bilderkennung verwendet werden.
TODOS:mit ,,TF Objekt Detection API" ein Modell zur Erkennung von Tabelle mit Text zu erstellen
TF Objekt Detection API
Install Tensorflow Objekt Detection API
https://github.com/tensorflow/models/tree/master/research/object_detection
Feature Matchin
Der Effekt der Beurteilung des Tabellenbereichs mit Merkmalsabgleich ist nicht gut, da es wenige Merkmalspunkte in der Tabelle gibt.
Die Zone der Tabelle mit Linien kann leicht mit herkömmlichen Methoden (erweitern, erodieren usw.) erkannt werden. aber ohne Linien ist schwer sogar unmöglich. deswegen möchte ich mittels CNN bzw. GCN Tabelle ohne Linien erkennen.
Nach erkennung ist die Schritte ReadCell gleich.