Kaip optimizuoti OCR tikslumą ir našumą naudojant Aspose.OCR

Kaip optimizuoti OCR tikslumą ir našumą naudojant Aspose.OCR

Aukštos OCR tikslumo ir greito apdorojimo pasiekimas yra labai svarbus realiam priėmimui. šiame straipsnyje pateikiami veiksmingų patarimų tiek pripažinimo rezultatams, tiek perdavimui su Aspose.OCR .NET.

Realaus pasaulio problemos

Sunkūs įvedimo vaizdai, neteisingi kalbos nustatymai arba neveiksmingas kodas gali sukelti netikslų rezultatų ir lėto batch darbo.

Sprendimo apžvalga

Sekite įrodytas geriausias praktikas – optimizuokite įvedimo vaizdus, konfigūruokite išankstinį apdorojimą, pasirinkite teisingą atpažinimo kalbą ir pritaikykite rinkinį.

Prerequisites

  • „Visual Studio 2019“ arba vėliau
  • .NET 6.0 arba naujesnė (arba .Net Framework 4.6.2+)
  • ASPOSE.OCR už .NET iš NuGet
PM> Install-Package Aspose.OCR

Žingsnis po žingsnio įgyvendinimas

1 žingsnis: pagerinti įvedimo vaizdo kokybę

  • Naudokite aukštos rezoliucijos skenus ar nuotraukas (mažiausiai 300 DPI spausdinimui, 150 dpi ekranams)
  • Venkite skųstų, blurų ar šešėlių. augalų sienos ir apvalios nuotraukos, jei reikia

2 žingsnis: perdirbti vaizdus su filtrais

RecognitionSettings settings = new RecognitionSettings();
settings.AutoContrast = true;
settings.AutoSkew = true;
settings.Denoising = true;
settings.Binarization = true; // For black/white documents

3 žingsnis: nustatyti atpažinimo kalbą ir režimą

settings.Language = Language.English; // or target language
// For photos or tables, set detection mode
settings.DetectAreasMode = DetectAreasMode.PHOTO; // or DetectAreasMode.TABLE

4 žingsnis: batch ir paralelių apdorojimas

Perdirbti keletą vaizdų vienu metu:

OcrInput input = new OcrInput(InputType.SingleImage);
foreach (string file in Directory.GetFiles("./input", "*.jpg"))
{
    input.Add(file);
}

Sunkioms apkrovoms naudokite async arba Task Parallel biblioteką:

Parallel.ForEach(files, file => {
    // Run OCR on each file
});

5 žingsnis: patvirtinti ir peržiūrėti OCR rezultatus

  • Patikrinkite pripažintą tekstą trūkstamiems ar neteisingiems žodžiams
  • Naudokite patvirtinimo scenarijus arba rankiniu būdu peržiūrėti kritinius dokumentus

6 žingsnis: išspręsti klaidas ir iškraipymus

try
{
    // OCR processing
}
catch (Exception ex)
{
    // Log error, move file to review folder
}

7 žingsnis: pilnas pavyzdys

using Aspose.OCR;
using System;
using System.Collections.Generic;
using System.IO;

class Program
{
    static void Main(string[] args)
    {
        try
        {
            OcrInput input = new OcrInput(InputType.SingleImage);
            foreach (string file in Directory.GetFiles("./input", "*.jpg"))
            {
                input.Add(file);
            }
            RecognitionSettings settings = new RecognitionSettings();
            settings.Language = Language.English;
            settings.AutoContrast = true;
            settings.AutoSkew = true;
            settings.Denoising = true;
            settings.Binarization = true;
            AsposeOcr ocr = new AsposeOcr();
            List<RecognitionResult> results = ocr.Recognize(input, settings);
            int count = 1;
            foreach (RecognitionResult result in results)
            {
                result.Save($"./output/result_{count}.txt", SaveFormat.Text);
                count++;
            }
        }
        catch (Exception ex)
        {
            File.AppendAllText("ocr_errors.log", ex.Message + Environment.NewLine);
        }
    }
}

Naudokite atvejus ir paraiškas

Aukštos tikslumo sąskaita ir sutarties ekstrakcija

Maksimizuoti teisinių / finansinių dokumentų automatizavimo kokybę ir patikimumą.

Bulk Image / Teksto archyvų apdorojimas

Pagerinkite batch greitį ir sumažinkite klaidingus neigiamus atitikties ar BI rezultatus.

R&D ir modelio vertinimas

Tune naujų dizainų, kalbų ar vaizdo tipų mokslinių tyrimų scenarijų.

Bendrieji iššūkiai ir sprendimai

1 iššūkis: prastos įvedimo nuotraukos

Išsprendimas: Naudokite geresnius skenavimus / nuotraukas, paleiskite vaizdo patobulinimą ir vėliavą peržiūrėti, jei OCR pasitikėjimas yra mažas.

2 iššūkis: maža našta didelėse darbo vietose

Išsprendimas: Sistemos išteklius sujungti, paralelizuoti ir stebėti paleidimo metu.

3 iššūkis: netikėtos atpažinimo klaidos

Išsprendimas: Validuokite išėjimus, tvarkykite išimtis ir laikykitės programinės įrangos atnaujinimo.

Veiksmingumo apžvalgos

  • Tune batch dydis, atminties naudojimas ir išankstinis apdorojimas dideliems darbams
  • Stebėti sistemos išteklius ir išeities aplanką sveikata
  • Naudokite async / lygiagrečius modelius dideliems plokščiams

Geriausios praktikos

  • Įvertinkite nustatymus ant mėginio prieš skalavimą
  • Automatinis stebėjimas ir klaidų įspėjimai
  • Saugiai archyvuoti tiek šaltinio nuotraukas, tiek ištraukas
  • Aspose.OCR atnaujinimas siekiant pagerinti tikslumą / perdavimą

Išplėstiniai scenarijai

1 scenarijus: adaptyvus preprocesavimas mišriam turiniui

Dinamiškai nustatyti detekcijos režimą kiekvienam įvedimo vaizdui.

2 scenarijus: nuolatinis tobulinimas ir atsiliepimai

OCR išleidimo klaidos grįžta į procesą, kad būtų galima ištaisyti ir atkurti.

Conclusion

Tuning tikslumas ir pervedimas užtikrina geriausius rezultatus iš Aspose.OCR .NET bet kokio darbo srauto. ASPOSE.OCR už .NET API nuorodą .

 Lietuvių