Application de la vision par ordinateur 10-reconnaissance et extraction de la structure de la table dans les images

Bonjour à tous, je suis Weixue AI. Aujourd'hui, je vais vous présenter l'application de la vision par ordinateur 10 - reconnaissance et extraction de structure de table dans les images. La reconnaissance de structure de table est largement utilisée dans le domaine du traitement de l'information, mais en raison de la diversité et de la complexité de caractéristiques des tableaux, ainsi que des mises en page et des formats difficiles à analyser avec précision, les méthodes traditionnelles ont souvent certaines limites. Basé sur une technologie d'apprentissage en profondeur, ce projet réalise une reconnaissance efficace et précise de la structure des tables en formant le modèle de réseau neuronal. Cet article présentera en détail le contexte de recherche, les méthodes, les résultats expérimentaux et les perspectives d'application du projet.

Sommaire
Extraction de la structure du tableau Présentation du projet
Extraction de la structure du tableau Introduction du document
Étapes de la structure du tableau Résumé
de la mise en œuvre du code

insérez la description de l'image ici

Présentation du projet d'extraction de structure de table

L'extraction de la structure des tableaux dans les images est une technique de vision par ordinateur conçue pour identifier et extraire les structures, le contenu et les données des tableaux dans les images. Son objectif principal est d'automatiser le traitement des images ou des documents contenant des tableaux et de convertir les données du tableau sous une forme structurée pour une analyse et un traitement ultérieurs.

Idées pour la reconnaissance de forme :

1. Prétraitement de l'image : prétraitement de l'image d'entrée, y compris le débruitage de l'image, la binarisation, la détection des bords et d'autres opérations, afin de mieux extraire la zone de la table.

2. Positionnement du tableau : identifiez et localisez automatiquement la zone du tableau dans l'image à l'aide de méthodes de segmentation d'image et d'extraction de caractéristiques.

3. Identification des lignes et des colonnes du tableau : identifiez les lignes et les colonnes du tableau et déterminez leur position et leur taille.

4. Segmentation cellulaire : séparez chaque cellule du tableau pour une analyse et un traitement ultérieurs.

5. Reconnaissance de texte : utilisez la technologie de reconnaissance optique de caractères (OCR) pour extraire le contenu du texte dans chaque cellule et effectuer la reconnaissance et l'encodage des caractères.

6. Correction et nettoyage des données : corrigez et nettoyez les données extraites du tableau, notamment en supprimant les espaces redondants, en corrigeant les formats incorrects, en fusionnant les cellules appropriées, etc.

7. Sortie structurée : sortie des données de table nettoyées sous une forme structurée, par exemple en les enregistrant au format CSV, Excel ou de base de données.

Présentation du papier d'extraction de la structure du tableau

Adresse papier sur l'extraction de structure de table :
https://openaccess.thecvf.com/content/ICCV2021/papers/Long_Parsing_Table_Structures_in_the_Wild_ICCV_2021_paper.pdf

Contenu principal de l'article :
Cet article résout principalement le problème de l'analyse syntaxique de la structure de table (TSP) à partir d'images dans un environnement réel. Contrairement aux études existantes qui se concentrent principalement sur l'analyse d'images de tableau alignées à mise en page simple à partir de fichiers PDF numérisés, nous visons à créer un système d'analyse de structure de tableau pratique pour les scènes du monde réel qui sont pliées, déformées ou occluses lorsqu'elles sont photographiées ou numérisées. Pour concevoir un tel système, nous proposons une méthode appelée Cycle-CenterNet, qui introduit un nouveau module d'appariement de cycles basé sur CenterNet pour détecter et regrouper simultanément des unités de table et former des tables structurées. Dans le module d'appariement récurrent, nous proposons une nouvelle fonction de perte d'appariement pour l'apprentissage du réseau. En plus de Cycle-CenterNet, nous introduisons également un ensemble de données à grande échelle nommé Wired Table in the Wild (WTW), qui comprend des annotations précises pour la résolution structurelle des tableaux dans plusieurs styles dans des scénarios tels que des photos, des documents numérisés et des pages Web. Les expériences démontrent que notre Cycle-CenterNet atteint systématiquement les meilleures performances sur le nouvel ensemble de données WTW avec une précision améliorée absolue de 24,6 %, telle que mesurée par la métrique TEDS. Une analyse expérimentale plus complète vérifie également les avantages de notre méthode proposée pour la tâche TSP.
insérez la description de l'image ici

Étapes de la structure du tableau

La méthode Cycle-CenterNet est principalement basée sur CenterNet et introduit un nouveau module d'appariement de cycles. Ses principales étapes :

1. Prétraitement de l'image : tout d'abord, prétraitez l'image d'entrée, y compris le débruitage, l'amélioration du contraste et la correction des couleurs pour améliorer la clarté et la lisibilité de la zone du tableau.

2. Détection de table : Utilisez CenterNet pour détecter les tables, c'est-à-dire localiser les zones de table qui peuvent exister dans l'image. CenterNet est un modèle de réseau basé sur la détection d'objets en un seul point, qui peut reconnaître efficacement les tables.

3. Module d'appariement cyclique : Sur la base de la détection de table, un module d'appariement circulaire est introduit. Ce module compose des tableaux structurés en détectant et regroupant simultanément les cellules du tableau. Le module d'appariement récurrent utilise une nouvelle fonction de perte d'appariement pour l'apprentissage du réseau afin d'améliorer la précision.

4. Ensemble de données : Afin de vérifier l'efficacité de la méthode, les chercheurs ont également créé un ensemble de données à grande échelle nommé Wired Table in the Wild (WTW). L'ensemble de données contient des images de tables dans différents styles, et les structures de ces tables sont annotées avec précision.

5. Analyse expérimentale : Grâce à des expériences sur l'ensemble de données WTW, les chercheurs ont prouvé que la méthode Cycle-CenterNet présente des avantages significatifs dans l'analyse de la structure des tables par rapport aux autres méthodes. En utilisant l'évaluation métrique TEDS, la précision de Cycle-CenterNet a été améliorée de 24,6 %.
insérez la description de l'image ici

Code

Le processus d'implémentation de code ici consiste principalement à charger directement le modèle table_recognition, en omettant le processus d'opération de reconnaissance de table auxiliaire intermédiaire, et il peut être utilisé directement hors de la boîte.

from modelscope.pipelines import pipeline
from modelscope.utils.constant import Tasks
import cv2
from PIL import Image
from PIL import ImageDraw
import numpy as np

table_recognition = pipeline(Tasks.table_recognition)

def draw_box(det_res, image):
    image = Image.fromarray(image)
    draw = ImageDraw.Draw(image)
    for i in range(det_res.shape[0]):
        p0, p1, p2, p3 = order_point(det_res[i])
        draw.line([*p0, *p1, *p2, *p3, *p0], fill='red', width=5)
    image = np.array(image)
    return image

def order_point(coor):
    arr = np.array(coor).reshape([4, 2])
    sum_ = np.sum(arr, 0)
    centroid = sum_ / arr.shape[0]
    theta = np.arctan2(arr[:, 1] - centroid[1], arr[:, 0] - centroid[0])
    sort_points = arr[np.argsort(theta)]
    sort_points = sort_points.reshape([4, -1])
    if sort_points[0][0] > centroid[0]:
        sort_points = np.concatenate([sort_points[3:], sort_points[:3]])
    sort_points = sort_points.reshape([4, 2]).astype('float32')
    return sort_points


if  __name__ == '__main__':

    image_path = '333.png'
    image = cv2.imread(image_path)
    result = table_recognition(image_path)

    res= draw_box(result['polygons'], image)

    cv2.imwrite('result33.png', res)
    print('finished!')

Résultat courant : ouvrons l'image générée et regardons :
insérez la description de l'image ici
insérez la description de l'image ici

Résumer

Dans cet article, un nouvel ensemble de données WTW et un analyseur de structure de table profond Cycle-CenterNet sont proposés pour résoudre le problème d'analyse de structure de table dans l'environnement sauvage. Tout d'abord, notre ensemble de données WTW contient environ 14 000 images de scènes réelles capturées dans des conditions d'imagerie sur le terrain, étendant les limites de l'analyse de structure tabulaire des images de documents numériques aux images de scènes réelles. D'autre part, nous proposons une nouvelle méthode de reconnaissance de structure tabulaire pour les scènes dans la nature, appelée Cycle-CenterNet, qui corrige les principales faiblesses des méthodes existantes, notamment les prédictions géométriques inexactes pour les instances présentant des distorsions physiques extrêmes et un désalignement des extractions. sont des défauts dans la structure logique du tableau. Il est démontré par des expériences complètes que la méthode proposée aborde les problèmes ci-dessus d'une manière fondée sur des principes et atteint des résultats de recherche de pointe dans l'analyse de structure tabulaire. Nous espérons que notre ensemble de données WTW proposé pourra encore améliorer la recherche future sur la reconnaissance des formes.

Je suppose que tu aimes

Origine blog.csdn.net/weixin_42878111/article/details/132237574
conseillé
Classement