COMPARAISON AVEC D'AUTRES COMPOSANTS

Paddle OCR vs Tesseract : Comparaison détaillée de l'OCR

Publié avril 29, 2024
Partager:

Choisir la bonne reconnaissance optique de caractères(OCR) est essentiel pour toute personne souhaitant convertir des images de texte en données modifiables et consultables. Les deux options les plus courantes dans ce domaine sont les suivantesPaddle OCR etTesseract. Tous deux s'appuient sur une technologie d'OCR distincte et répondent à des besoins différents. Cette comparaison se concentre sur l'évaluation de différents moteurs d'OCR afin de vous aider à trouver l'option la plus adaptée à vos besoins.

Que vous travailliez sur une tâche simple ou que vous traitiez des documents complexes, la compréhension des capacités de Paddle OCR et de Tesseract pourrait être votre premier pas vers un traitement plus efficace des données. Nous introduirons également une bibliothèque parmi un ensemble de bibliothèques OCR,IronOCR pour offrir une comparaison plus large afin de vous aider à comprendre quel outil pourrait le mieux répondre à vos besoins.

Paddle OCR

Paddle OCR émerge comme une solution remarquable avec des modèles de reconnaissance de texte avancés conçus pour la reconnaissance de texte multilingue, tirant parti des capacités du cadre d'apprentissage profond PaddlePaddle. Le système d'OCR développé par PaddlePaddle est conçu pour de hautes performances et une prise en charge étendue des langues. Ce système se distingue par la prise en charge de plus de 50 langages, offrant une suite d'outils pour l'annotation des données, la synthèse et le déploiement de modèles sur différentes plateformes, notamment les serveurs, les appareils mobiles, les systèmes embarqués et les appareils IoT.

Caractéristiques principales

Paddle OCR offre de nombreuses fonctionnalités d'OCR avec une API conviviale pour diverses applications. Voici ses principales caractéristiques :

  1. Support multilingue : Paddle OCR peut traiter des textes en plusieurs langues, en prenant en charge plus de 50 langues.

  2. Algorithmes avancés : Il intègre des méthodes et des algorithmes d'OCR avancés pour la détection, la reconnaissance et la classification des textes. Il s'agit notamment des dernières recherches en matière d'apprentissage profond, telles que la classification temporelle connexionniste(CTC) qui joue un rôle crucial dans la prédiction et l'alignement précis des séquences de texte.

  3. Efficacité et rapidité : Optimisé pour la vitesse et la précision, Paddle OCR est capable de traiter rapidement de grands volumes d'images, ce qui le rend adapté aux applications à haut débit.

Licence

Paddle OCR est publié sous la licence Apache 2.0, ce qui garantit que son utilisation, sa modification et sa distribution sont libres. L'installation est simple, faisant généralement appel à des gestionnaires de paquets tels que pip pour Python. Les utilisateurs peuvent rapidement installer Paddle OCR et ses dépendances en quelques commandes, ce qui facilite l'intégration des projets.

Installer PaddleSharp

L'intégration de PaddleOCR dans un projet C# dans Visual Studio peut être rationalisée par l'utilisation de PaddleSharp, un wrapper .NET pour l'API C# d'inférence Paddle. Cela permet d'utiliser directement les capacités d'apprentissage profond de PaddlePaddle dans un environnement .NET. Voici un guide étape par étape pour configurer PaddleSharp dans votre projet :

Prérequis :

  • Assurez-vous que Visual Studio est installé sur votre système, avec la prise en charge de .NET Framework ou de .NET Core, en fonction des exigences de votre projet.
  • Une compréhension du langage C# et une bonne connaissance de la gestion des paquets NuGet dans Visual Studio sont également indispensables.

    Installer le package PaddleSharp :

  • Ouvrez votre projet dans Visual Studio.
  • Accédez à l'option "Manage NuGet Packages" en cliquant avec le bouton droit de la souris sur votre projet dans l'explorateur de solutions.

    • Recherchez Sdcb.PaddleInference et installez le paquet. Il s'agit de la liaison principale qui permet aux applications .NET d'utiliser le moteur d'inférence Paddle.

    Paddle OCR vs Tesseract(Comparaison des fonctionnalités d'OCR) : Figure 1 - Recherche de Sdcb.PaddleInference dans le gestionnaire de paquets NuGet

    • Installez ensuite les paquets suivants :

      • Scdb.PaddleOCR
  • OpenCvSharp4
  • Scdb.PaddleOCR.Models.Online

    • OpenCvSharp4.runtime.win

    Ajouter des packages natifs et d'infrastructure :

  • En fonction de votre plateforme cible(Windows/Linux) et les exigences(CPU/GPU)des paquets supplémentaires peuvent être nécessaires. Pour Windows, vous pouvez avoir besoin de paquets comme Sdcb.PaddleInference.runtime.win64.mkl pour le support MKL ou **Sdcb.PaddleInference.runtime.win64.cuda*** pour le support GPU.
  • Installez-les également via le gestionnaire de paquets NuGet, afin d'assurer la compatibilité avec vos environnements de développement et d'exécution cible.

Exemple de code

using System;
FullOcrModel model = await OnlineFullModels.EnglishV3.DownloadAsync();
using (PaddleOcrAll all = new(model)
{
    AllowRotateDetection = true,
    Enable180Classification = false,
})
using (Mat imgSrc = Cv2.ImRead(@"read.jpg"))
{
    Stopwatch stopWatch = Stopwatch.StartNew();
    PaddleOcrResult result = all.Run(imgSrc);
    Console.WriteLine($"lapsed={sw.ElapsedMilliseconds} ms");
    Console.WriteLine(result.Text);
}
using System;
FullOcrModel model = await OnlineFullModels.EnglishV3.DownloadAsync();
using (PaddleOcrAll all = new(model)
{
    AllowRotateDetection = true,
    Enable180Classification = false,
})
using (Mat imgSrc = Cv2.ImRead(@"read.jpg"))
{
    Stopwatch stopWatch = Stopwatch.StartNew();
    PaddleOcrResult result = all.Run(imgSrc);
    Console.WriteLine($"lapsed={sw.ElapsedMilliseconds} ms");
    Console.WriteLine(result.Text);
}
Imports System
Private model As FullOcrModel = await OnlineFullModels.EnglishV3.DownloadAsync()
Using all As New PaddleOcrAll(model) With {
	.AllowRotateDetection = True,
	.Enable180Classification = False
}
Using imgSrc As Mat = Cv2.ImRead("read.jpg")
	Dim stopWatch As Stopwatch = Stopwatch.StartNew()
	Dim result As PaddleOcrResult = all.Run(imgSrc)
	Console.WriteLine($"lapsed={sw.ElapsedMilliseconds} ms")
	Console.WriteLine(result.Text)
End Using
End Using
VB   C#

Paddle OCR vs Tesseract(Comparaison des fonctionnalités d'OCR) : Figure 2 - Sortie de la console du code précédent.

Tesseract OCR

Tesseract est un moteur d'OCR open-source largement reconnu et placé sous la licence Apache 2.0. Son développement a débuté dans les laboratoires Hewlett-Packard et s'est poursuivi sous l'égide de Google jusqu'en 2018, après quoi il a été mis en libre accès. Aujourd'hui, il est maintenu par une communauté de contributeurs. Ce moteur est réputé pour sa capacité à lire plus de 100 langues et pour sa prise en charge de divers formats d'image, notamment PNG, JPEG et TIFF. Il produit des sorties dans de multiples formats tels que le texte brut, hOCR(HTML)pDF, et plus encore.

Caractéristiques principales

Voici un aperçu de ses principales caractéristiques :

  1. Prise en charge étendue des langues : Avec la capacité de reconnaître plus de 100 langues, Tesseract s'adresse à un public mondial. Le moteur prend en charge l'Unicode(UTF-8)permettant le traitement de documents multilingues.

  2. Reconnaissance basée sur un réseau neuronal : Les versions 4 et supérieures de Tesseract ont introduit un réseau neuronal(LSTM) qui améliore la précision de la reconnaissance des lignes de texte par rapport aux méthodes traditionnelles de reconnaissance des caractères.

  3. Formats de sortie polyvalents : Tesseract prend en charge différents formats de sortie, y compris le texte brut, hOCR(HTML)pDF et TSV, ce qui permet de l'adapter à différents cas d'utilisation.

Licence

Tesseract OCR est publié sous la licence Apache 2.0. Cette licence est l'une des plus permissives et des plus ouvertes, car elle permet une liberté pratiquement illimitée d'utilisation, de modification et de distribution du logiciel, même dans le cadre de projets de logiciels propriétaires.

Installer Tesseract

Pour installer Tesseract OCR dans un projet Visual Studio à l'aide de NuGet, procédez comme suit :

  1. Ouvrez Visual Studio : Lancez Visual Studio et ouvrez votre projet ou créez-en un nouveau.

  2. Faites un clic droit sur votre projet dans l'explorateur de solutions et sélectionnez Manage NuGet Packages... 3. Dans le gestionnaire de packages NuGet, passez à l'onglet Browse et recherchez Tesseract.

    1. Installez le gestionnaire de paquets NuGet de Tesseract.

    Paddle OCR vs Tesseract(Comparaison des fonctionnalités d'OCR) : Figure 3 - Installation de Tesseract avec le gestionnaire de paquets NuGet

  3. Télécharger les Tessdata à partir de ce sitelink. Il est important d'utiliser Tesseract OCR.

Exemple de code

using Tesseract;
using (var engine = new TesseractEngine(@".\tessdata-main", "eng", EngineMode.Default))
{
    using (var img = Pix.LoadFromFile(@"read.jpg"))
    {
        using (var page = engine.Process(img))
        {
            var text = page.GetText();
            Console.WriteLine(text);
        }
    }
}
using Tesseract;
using (var engine = new TesseractEngine(@".\tessdata-main", "eng", EngineMode.Default))
{
    using (var img = Pix.LoadFromFile(@"read.jpg"))
    {
        using (var page = engine.Process(img))
        {
            var text = page.GetText();
            Console.WriteLine(text);
        }
    }
}
Imports Tesseract
Using engine = New TesseractEngine(".\tessdata-main", "eng", EngineMode.Default)
	Using img = Pix.LoadFromFile("read.jpg")
		Using page = engine.Process(img)
			Dim text = page.GetText()
			Console.WriteLine(text)
		End Using
	End Using
End Using
VB   C#

Paddle OCR vs Tesseract(Comparaison des fonctionnalités d'OCR) : Figure 4 - Sortie de la console de l'exemple de code précédent

IronOCR

IronOCR est un OCR avancé(Reconnaissance optique de caractères) qui améliore considérablement les capacités des développeurs .NET àextraire le texte des images et des PDF. S'appuyant sur les fondements du moteur OCR Tesseract, IronOCR offre une expérience native en C# qui offre une plus grande stabilité et une meilleure précision que le moteur OCR de baseBibliothèque Tesseract. Il est conçu pour s'intégrer de manière transparente dans les applications et les sites web .NET, permettant l'extraction de texte dans des formats de texte brut ou de données structurées, et est capable de comprendre un large éventail de langues étrangères. Utilisant des algorithmes d'apprentissage profond, l'IronOCR atteint une précision inégalée dans les tâches de reconnaissance de texte.

Cette bibliothèque excelle non seulement dans les tâches simples d'OCR, mais étend également ses fonctionnalités à un large éventail d'applications. Il prend en charge une variété de plateformes, notamment les versions .NET de 5 à 8, .NET Core 2x & 3x, et le Framework .NET 4.6.2 et plus.

Caractéristiques principales

Voici quelques-uns des principaux attributs et fonctionnalités qui distinguent IronOCR :

Moteur OCR avancé : Utilisant Tesseract 5, IronOCR offre un moteur d'OCR avancé qui prend en charge125+ langues. Cette capacité est cruciale pour les applications mondiales nécessitant un support multilingue. La bibliothèque propose des options de qualité élevée, moyenne et rapide pour la plupart des langues, y compris les langues personnalisées et la formation des polices, ce qui garantit la flexibilité et la précision de la reconnaissance de texte.

Traitement complet des documents : IronOCR peut traiter une grande variété de types et de formats de documents, y compris des images(JPG, PNG, GIF, TIFF, BMP)les objets System.Drawing, les flux et les PDF.

Traitement robuste des images : La bibliothèque comprend un ensemble puissant de filtres et d'outils de traitement d'image, tels que l'accentuation, l'amélioration de la résolution, la réduction du bruit et la correction des couleurs(binarisation, échelle de gris, inversion).

Sortie de données structurées et simples : IronOCR fournit des sorties de données structurées et simples(pages, blocs, paragraphes, lignes, mots, caractères) et une simple sortie de données(.NET de chaînes de texte, de données de codes-barres et de QR, d'images).

Traitement simultané et vision par ordinateur : La bibliothèque prend en charge les opérations asynchrones, simples ou multiples, et offre des fonctionnalités de vision par ordinateur pour identifier les zones de texte dans les images, améliorant ainsi la précision et l'efficacité de la reconnaissance de texte dans des images complexes ou bruitées.

Pour installer IronOCR for .NET dans votre projet, vous pouvez utiliser plusieurs méthodes, en fonction de votre environnement de développement et de vos préférences. Voici un guide simplifié pour vous aider à démarrer :

Licence

IronOCR propose diverses options de licence adaptées aux différents besoins des projets et des développeurs, garantissant ainsi flexibilité et évolutivité à ses utilisateurs. Les conditions de licence sont perpétuelles, ce qui signifie qu'une fois la licence achetée, il n'y a pas de frais récurrents. En outre, chaque licence comprend une garantie de remboursement de 30 jours, un an d'assistance et de mises à jour du produit, et est valable pour les environnements de développement, d'essai et de production. Le prix de la licence commence à 749 dollars. Vous pouvez obtenir uneessai gratuit avant d'acheter la licence.

Installer IronOCR

  1. Naviguez vers Tools -> NuGet Package Manager -> Package Manager Console.

    1. Entrez la commande Install-Package IronOCR et exécutez-la. Cette commande récupère et installe IronOCR dans votre projet, le rendant ainsi prêt à l'emploi.

    Paddle OCR vs Tesseract(Comparaison des fonctionnalités d'OCR) : Figure 5 - Utilisation de la console du gestionnaire de paquets pour installer IronOCR

Exemple de code

Voici un exemple de code permettant d'extraire du texte d'une image à l'aide d'IronOCR :

using IronOcr;
IronOcr.License.LicenseKey = "License-Key";
var ocrMode = new IronTesseract();
var resultText = ocrMode.Read("read.jpg");
Console.WriteLine(resultText.Text);
using IronOcr;
IronOcr.License.LicenseKey = "License-Key";
var ocrMode = new IronTesseract();
var resultText = ocrMode.Read("read.jpg");
Console.WriteLine(resultText.Text);
Imports IronOcr
IronOcr.License.LicenseKey = "License-Key"
Dim ocrMode = New IronTesseract()
Dim resultText = ocrMode.Read("read.jpg")
Console.WriteLine(resultText.Text)
VB   C#

Paddle OCR vs Tesseract(Comparaison des fonctionnalités d'OCR) : Figure 6 - Sortie de la console de l'exemple de code précédent

Comparaison

Lors de l'évaluation d'IronOCR, de PaddleOCR et de Tesseract sur la base de divers facteurs importants pour la reconnaissance optique de caractères(OCR) il est essentiel de prendre en compte les points forts de chaque outil en termes de précision, de rapidité, de support linguistique, d'options de personnalisation et de soutien de la communauté.

Précision

PaddleOCR et Tesseract ont tous deux fait preuve d'une grande précision dans les tests de référence, mais la capacité d'IronOCR à affiner et à ajuster les étapes de prétraitement lui confère une longueur d'avance pour ce qui est de fournir des résultats supérieurs sur divers types de documents.

Vitesse

En ce qui concerne la vitesse de traitement, IronOCR se distingue par son traitement efficace des documents dans l'environnement .NET, offrant des performances optimisées pour une reconnaissance rapide du texte. PaddleOCR et Tesseract sont également connus pour leurs capacités de traitement en temps réel.

Soutien linguistique

Tesseract prend en charge plus de 100 langues, ce qui en fait l'un des outils d'OCR les plus polyvalents en termes de couverture linguistique. PaddleOCR offre également une prise en charge linguistique impressionnante, en particulier pour les langues asiatiques. IronOCR, qui utilise le moteur de Tesseract, hérite de cette prise en charge étendue des langues, en la combinant avec des améliorations et des optimisations supplémentaires. Cette combinaison permet non seulement d'élargir la gamme des langues traitées efficacement, mais aussi d'améliorer la précision et la vitesse pour les langues directement prises en charge par les améliorations d'IronOCR.

Options de personnalisation

IronOCR excelle dans cette personnalisation en offrant un large éventail d'options qui permettent aux développeurs d'affiner le processus d'OCR, notamment le prétraitement des images, le filtrage du texte et les dictionnaires personnalisés. Ce niveau de personnalisation est particulièrement précieux dans les scénarios d'OCR complexes, où les paramètres par défaut peuvent ne pas suffire. Alors que PaddleOCR et Tesseract offrent certaines capacités de personnalisation, l'accent mis par IronOCR sur les besoins des développeurs au sein de l'écosystème .NET garantit un plus haut degré de flexibilité.

Soutien communautaire

Tandis que Tesseract jouit d'une communauté vaste et bien établie en raison de sa longue histoire et de sa nature open-source, et que la communauté de PaddleOCR se développe rapidement, IronOCR bénéficie d'une communauté ciblée de développeurs .NET.

Conclusion

En conclusion, alors que Tesseract offre une base solide pour les projets OCR grâce à sa personnalisation étendue et au large soutien de la communauté, et que PaddleOCR apporte une technologie d'apprentissage profond de pointe pour une précision et une vitesse élevées, IronOCR émerge comme une option convaincante pour les développeurs et les entreprises .NET. L'accent mis sur le déploiement sur site, la prise en charge complète des langues et le modèle de licence économique font d'IronOCR un choix intéressant pour ceux qui privilégient la sécurité des données, la prévisibilité financière et l'intégration avec les applications .NET.

IronOCR est particulièrement intéressant pour les entreprises en raison de la souplesse de ses options de licence, qui comprennent une licence d'utilisation de l'ordinateuressai gratuit pour une évaluation initiale et des licences à partir de 749 $, s'adressant aux organisations de toutes tailles à la recherche d'un équilibre entre performance et coût.

< PRÉCÉDENT
Bibliothèque OCR iOS (Comparaison des outils gratuits et payants)
SUIVANT >
ABBYY FineReader vs Tesseract : Comparaison OCR