suchen
HeimTechnologie-PeripheriegeräteKIPaligemma 2 Mix: Ein Leitfaden mit Demo OCR -Projekt

Paligemma 2 Mix ist ein von Google entwickeltes multimodales KI -Modell. Es handelt sich um eine verbesserte Version des Paligemma Vision Language Model (VLM), das erweiterte Funktionen aus dem Siglip Vision -Modell und Gemma 2 -Sprachmodellen integriert.

In diesem Tutorial erkläre ich, wie man den Paligemma 2-Mix verwendet, um einen AI-angetriebenen Billscanner und Ausgabenanalysator zu erstellen, der:

in der Lage ist,:
  • extrahieren und kategorisieren Ausgaben aus Rechnungseinnahmen.
  • optische Zeichenerkennung (OCR) zum Abrufen von Schlüsselinformationen.
  • Zusammenfassung der Ausgaben basierend auf bereitgestellten Bildern.

Während unser Fokus auf dem Erstellen eines finanziellen Insights -Tools liegt, können Sie das, was Sie in diesem Blog lernen, andere Anwendungsfälle von Paligemma 2 -Mix wie Bildsegmentierung, Objekterkennung und Beantwortung von Fragen verwenden.

Was ist eine Paligemma 2 -Mischung?

Paligemma 2 Mix ist ein erweitertes Vision-Sprach-Modell (VLM), das sowohl Bilder als auch Text als Eingabe verarbeitet und textbasierte Ausgänge generiert. Es ist für eine Vielzahl multimodaler KI -Aufgaben ausgelegt, während mehrere Sprachen unterstützt werden.

Paligemma 2 wurde für eine Vielzahl von auf Visionsprachlustern, einschließlich Bild- und Kurzvideosende, visuelle Fragenbeantwortung, optische Charaktererkennung (OCR), Objekterkennung und Segmentierung entwickelt.

. Paligemma 2 Mix: Ein Leitfaden mit Demo OCR -Projekt

Quelle der im Diagramm verwendeten Bilder: Google

    Paligemma 2 Mix -Modell ist für:
  • ausgelegt
  • Bild und kurze Videounterschrift: Generierung genauer und kontextbezogener Bildunterschriften für statische Bilder und kurze Videos.
  • visuelle Fragenbeantwortung (VQA): Analyse von Bildern und Beantwortung von textbasierten Fragen basierend auf visuellen Inhalten.
  • optische Charaktererkennung (OCR): Extrahieren und Interpretieren von Text aus Bildern, was sie für Dokumente, Einnahmen und gescannte Materialien nützlich macht.
  • Objekterkennung und -segmentierung: Identifiziert, Beschriftungen und Segmente Objekte in einem Bild für die strukturierte Analyse.
Support mit mehrsprachiger Sprache: Das Modell ermöglicht auch die Textgenerierung und das Verständnis in mehreren Sprachen für globale Anwendungen.

finden Sie im offiziellen Release -Artikel weitere Informationen zum Paligemma 2 -Mix -Modell. 

Projektübersicht: Billscanner und Ausgabenanalysator mit Paligemma 2 Mix

Lassen Sie uns die Hauptschritte skizzieren, die wir unternehmen werden:
  1. Laden und Bereiten Sie den Datensatz vor: Der Vorgang beginnt mit dem Laden und Vorbereiten von Quittungsbildern als Eingabe.
  2. Initialisieren Sie das Paligemma 2-Mixmodell: Wir konfigurieren und laden das Modell für die Verarbeitung von Visionsprachenaufgaben.
  3. Prozesseingangsbilder: Dann wandeln Sie Bilder in ein geeignetes Format (RGB) und bereiten Sie sie für die Analyse vor.
  4. Schlüsselinformationen extrahieren: Führen Sie die optische Zeichenerkennung (OCR) aus, um den Gesamtbetrag abzurufen.
  5. kategorisieren Sie Ausgaben: Klassifizieren Sie Einkäufe in Kategorien wie Lebensmittel, Kleidung, Elektronik und andere.
  6. Erzeugniserkenntnisse erzeugen: Wir fassen die kategorisierten Ausgaben zusammen und generieren ein Ausgabenverteilungsdiagramm.
  7. Erstellen Sie eine interaktive Gradio -Schnittstelle: Schließlich erstellen wir eine Benutzeroberfläche, in der Benutzer mehrere Rechnungen hochladen, Daten extrahieren und die Ausgaben visuell analysieren können.

Schritt 1: Voraussetzungen

Bevor wir beginnen, stellen wir sicher, dass die folgenden Tools und Bibliotheken installiert sind:

  • Python 3.8
  • Fackel
  • Transformators
  • pil
  • Matplotlib
  • Gradio

Führen Sie die folgenden Befehle aus, um die erforderlichen Abhängigkeiten zu installieren:

pip install gradio -U bitsandbytes -U transformers -q

Sobald die obigen Abhängigkeiten installiert sind, führen Sie die folgenden Importbefehle aus:

import gradio as gr
import torch
import pandas as pd
import matplotlib.pyplot as plt
from transformers import PaliGemmaForConditionalGeneration, PaliGemmaProcessor, BitsAndBytesConfig
from transformers import BitsAndBytesConfig
from PIL import Image
import re

Schritt 2: Modellinitialisierung

Wir konfigurieren und laden das Paligemma 2 -Mixmodell mit Quantisierung, um die Leistung zu optimieren. Für diese Demo verwenden wir das 10B -Parametermodell mit 448 x 448 Eingangsbildauflösung. Sie benötigen ein Minimum von T4 GPU mit 40 GB Speicher (Colab -Konfiguration), um dieses Modell auszuführen. 

device = "cuda" if torch.cuda.is_available() else "cpu"
# Model setup
model_id = "google/paligemma2-10b-mix-448" 
bnb_config = BitsAndBytesConfig(
    load_in_8bit=True,  # Change to load_in_4bit=True for even lower memory usage
    llm_int8_threshold=6.0,
)

# Load model with quantization
model = PaliGemmaForConditionalGeneration.from_pretrained(
    model_id, quantization_config=bnb_config
).eval()

# Load processor
processor = PaliGemmaProcessor.from_pretrained(model_id)
# Print success message
print("Model and processor loaded successfully!")

BitsandBytes Quantisierung hilft bei der Verringerung des Speicherverbrauchs gleichzeitig die Leistung und ermöglicht es, große Modelle für begrenzte GPU -Ressourcen durchzuführen. In dieser Implementierung verwenden wir die 4-Bit-Quantisierung, um die Speichereffizienz weiter zu optimieren.

Wir laden das Modell mit der Paligemmaforconditionalgenerationsklasse aus der Transformers -Bibliothek, indem Sie die Modell -ID und die Quantisierungskonfiguration übergeben. In ähnlicher Weise laden wir den Prozessor, der die Eingänge in Tensoren vorbereitet, bevor wir sie an das Modell übergeben.

Schritt 3: Bildverarbeitung

Sobald die Modellscherben geladen sind, verarbeiten wir die Bilder, bevor wir sie an das Modell weitergeben, um die Kompatibilität des Bildformates aufrechtzuerhalten und Gleichmäßigkeit zu gewinnen. Wir konvertieren Bilder in das RGB -Format:

def ensure_rgb(image: Image.Image) -> Image.Image:
    if image.mode != "RGB":
        image = image.convert("RGB")
    return image

Jetzt sind unsere Bilder bereit für die Schlussfolgerung.

Schritt 4: Inferenz mit Paligemma

Jetzt richten wir die Hauptfunktion für die Ausführung von Inferenz mit dem Modell ein. Diese Funktion nimmt Inputbilder und Fragen auf, integriert sie in Eingabeaufforderungen und übergibt sie über den Prozessor für Inferenz an das Modell.

def ask_model(image: Image.Image, question: str) -> str:
    prompt = f"<image> answer en {question}"
    inputs = processor(text=prompt, images=image, return_tensors="pt").to(device)
    with torch.inference_mode():
        generated_ids = model.generate(
            **inputs,
            max_new_tokens=50,
            do_sample=False
        )
    result = processor.batch_decode(generated_ids, skip_special_tokens=True)
    return result[0].strip()</image>

Schritt 5: Schlüsselinformationen extrahieren

Jetzt, da wir die Hauptfunktion bereit haben, werden wir als nächstes daran arbeiten, die Schlüsselparameter aus dem Bild zu extrahieren - in unserem Fall sind dies die Gesamtmenge und die Kategorie der Ware.

pip install gradio -U bitsandbytes -U transformers -q

Die Funktion extract_total_amount () verarbeitet ein Bild, um die Gesamtmenge aus einer Quittung mit OCR zu extrahieren. Es konstruiert eine Abfrage (Frage), die das Modell anweist, nur numerische Werte zu extrahieren, und ruft dann die Funktion Ask_Model () auf, um eine Antwort aus dem Modell zu generieren. 

import gradio as gr
import torch
import pandas as pd
import matplotlib.pyplot as plt
from transformers import PaliGemmaForConditionalGeneration, PaliGemmaProcessor, BitsAndBytesConfig
from transformers import BitsAndBytesConfig
from PIL import Image
import re

Die Funktion categorize_goods () klassifiziert die Art von Waren in einem Bild, indem das Modell mit einer vordefinierten Frage auflistet, mögliche Kategorien: Lebensmittelgeschäft, Kleidung, Elektronik oder andere. Die Funktion Ask_Model () verarbeitet dann das Bild und gibt eine Textantwort zurück. Wenn die verarbeitete Antwort einer der vordefinierten gültigen Kategorien entspricht, wird diese Kategorie zurückgegeben - andernfalls werden sie standardmäßig in die Kategorie "Andere" eingestuft.

Schritt 6: Analyse von Informationen

Wir haben alle wichtigen Funktionen bereit, also analysieren wir die Ausgänge.

device = "cuda" if torch.cuda.is_available() else "cpu"
# Model setup
model_id = "google/paligemma2-10b-mix-448" 
bnb_config = BitsAndBytesConfig(
    load_in_8bit=True,  # Change to load_in_4bit=True for even lower memory usage
    llm_int8_threshold=6.0,
)

# Load model with quantization
model = PaliGemmaForConditionalGeneration.from_pretrained(
    model_id, quantization_config=bnb_config
).eval()

# Load processor
processor = PaliGemmaProcessor.from_pretrained(model_id)
# Print success message
print("Model and processor loaded successfully!")

Die obige Funktion erstellt ein Kreisdiagramm zur Visualisierung der Ausgabenverteilung über verschiedene Kategorien hinweg. Wenn keine gültigen Ausgabendaten vorhanden sind, generiert sie eine leere Figur mit einer Meldung, die "keine Ausgabendaten" angibt. Andernfalls erstellt es ein Kreisdiagramm mit Kategoriebezeichnungen und Prozentwerten, um eine proportionale und gut ausgerichtete Visualisierung zu gewährleisten.

Schritt 6: Analysieren mehrerer Rechnungen gleichzeitig

Wir haben normalerweise mehrere Rechnungen zu analysieren. Erstellen wir also eine Funktion, um alle unsere Rechnungen gleichzeitig zu verarbeiten.
def ensure_rgb(image: Image.Image) -> Image.Image:
    if image.mode != "RGB":
        image = image.convert("RGB")
    return image

Für die Analyse mehrerer Rechnungen gleichzeitig führen wir die folgenden Schritte aus:
  1. Speicher initialisieren: Wir erstellen Listen zum Speichern von Ergebnissen und Bildern, setzen Total_Spending auf 0 und definieren ein Wörterbuch für die Kategorie.
  2. jede Rechnung verarbeiten:
  • Öffnen und konvertieren Sie das Bild in RGB.
  • das Bild an die Liste anhängen.
  • extrahieren Sie den Gesamtbetrag aus der Quittung.
  • kategorisieren Sie die Waren in der Quittung.
  • Aktualisieren Sie die Gesamtausgaben und die Kategorie in Bezug auf die Gesamtzahl.
  • Speichern Sie die extrahierten Daten in einer Ergebnisliste.
  1. Erkenntnisse erstellen: Wir erstellen ein Kreisdiagramm für die Ausgabenverteilung zusammen mit einer Zusammenfassung der Gesamtausgaben.
  2. Rückgabergebnisse: Schließlich geben wir die Liste der Bilder, einen Datenrahmen für Rechnungsfassungen, die Gesamtausgabenzusammenfassung und das Ausgabendiagramm zurück.
.

Schritt 7: Erstellen Sie die Gradio -Schnittstelle

def ask_model(image: Image.Image, question: str) -> str:
    prompt = f"<image> answer en {question}"
    inputs = processor(text=prompt, images=image, return_tensors="pt").to(device)
    with torch.inference_mode():
        generated_ids = model.generate(
            **inputs,
            max_new_tokens=50,
            do_sample=False
        )
    result = processor.batch_decode(generated_ids, skip_special_tokens=True)
    return result[0].strip()</image>
Jetzt haben wir alle wichtigen Logikfunktionen. Als nächstes arbeiten wir daran, eine interaktive Benutzeroberfläche mit Gradio zu bauen.

Der obige Code erstellt eine strukturierte UI mit einem Datei -Uploader für mehrere Bilder und eine Schaltfläche Senden, um die Verarbeitung auszulösen. Bei der Einreichung werden in einer Galerie hochgeladene Billbilder angezeigt, extrahierte Daten in einer Tabelle angezeigt, die Gesamtausgaben werden im Text zusammengefasst und ein Kreisdiagramm für Ausgabenverteilungen erstellt. 

Die Funktion verbindet Benutzereingänge mit der Funktion process_multiple_bills () und stellt die nahtlose Datenextraktion und Visualisierung sicher. Schließlich startet die Demo.launch () -Funktion die Gradio-App für Echtzeitinteraktion.

Paligemma 2 Mix: Ein Leitfaden mit Demo OCR -Projekt

Ich habe diese Demo auch mit zwei bildbasierten Rechnungen (Amazon Shopping-Rechnung) ausprobiert und die folgenden Ergebnisse erzielt.

HINWEIS: VLMS fällt es schwierig, Zahlen zu extrahieren, was manchmal zu falschen Ergebnissen führen kann. Zum Beispiel hat es den falschen Gesamtbetrag für die zweite Rechnung unten extrahiert. Dies ist durch die Verwendung größerer Modelle oder einfach die vorhandenen Einstimmen korrigierbar.

Paligemma 2 Mix: Ein Leitfaden mit Demo OCR -Projekt

Paligemma 2 Mix: Ein Leitfaden mit Demo OCR -Projekt

Schlussfolgerung

In diesem Tutorial haben wir einen KI-angetriebenen Multiple-Bill-Scanner mit einem Paligemma 2-Mix erstellt, mit dem wir unsere Ausgaben aus Quittungen extrahieren und kategorisieren können. Wir haben Paligemma 2 Mixs Vision-Sprache-Funktionen für OCR und Klassifizierung verwendet, um die Ausgabenerkenntnisse mühelos zu analysieren. Ich ermutige Sie, dieses Tutorial an Ihren eigenen Anwendungsfall anzupassen. 

Das obige ist der detaillierte Inhalt vonPaligemma 2 Mix: Ein Leitfaden mit Demo OCR -Projekt. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Die KI -Spielentwicklung tritt mit dem Dreamer -Portal von Upheaval in seine agentenische Ära einDie KI -Spielentwicklung tritt mit dem Dreamer -Portal von Upheaval in seine agentenische Ära einMay 02, 2025 am 11:17 AM

Umwälzungsspiele: Revolutionierung der Spielentwicklung mit KI -Agenten Upprudaval, ein Studio für Spieleentwicklung, das aus Veteranen von Branchengiganten wie Blizzard und Obsidian besteht

Uber will dein Robotaxi -Shop sein. Werden Anbieter sie lassen?Uber will dein Robotaxi -Shop sein. Werden Anbieter sie lassen?May 02, 2025 am 11:16 AM

Die Robotaxi-Strategie von Uber: Ein Fahrwerk Ökosystem für autonome Fahrzeuge Auf der jüngsten Curbivore-Konferenz stellte Richard Willder von Uber ihre Strategie vor, die Robotaxi-Anbieter zu werden. Nutzung ihrer dominanten Position in

KI -Agenten, die Videospiele spielen, werden zukünftige Roboter verändernKI -Agenten, die Videospiele spielen, werden zukünftige Roboter verändernMay 02, 2025 am 11:15 AM

Videospiele erweisen sich als unschätzbare Testgründe für die modernste KI-Forschung, insbesondere bei der Entwicklung autonomer Agenten und realer Roboter, die möglicherweise sogar zum Streben nach künstlicher allgemeiner Intelligenz (AGI) beitragen. A

Der Startup Industrial Complex, VC 3.0 und James Curriers ManifestoDer Startup Industrial Complex, VC 3.0 und James Curriers ManifestoMay 02, 2025 am 11:14 AM

Die Auswirkungen der sich entwickelnden Risikokapitallandschaft sind in Medien, Finanzberichten und alltäglichen Gesprächen offensichtlich. Die spezifischen Konsequenzen für Anleger, Startups und Mittel werden jedoch häufig übersehen. Risikokapital 3.0: ein Paradigma

Adobe Updates Creative Cloud und Firefly bei Adobe Max London 2025Adobe Updates Creative Cloud und Firefly bei Adobe Max London 2025May 02, 2025 am 11:13 AM

Adobe Max London 2025 lieferte erhebliche Aktualisierungen für Creative Cloud und Firefly, was eine strategische Verlagerung in Richtung Zugänglichkeit und generativer KI widerspiegelt. Diese Analyse enthält Erkenntnisse aus Briefings vor der Ereignis mit Adobe Leadership. (Hinweis: Adob

Alles, was Meta in Lamacon angekündigt hatAlles, was Meta in Lamacon angekündigt hatMay 02, 2025 am 11:12 AM

Die Lamacon-Ankündigungen von Meta zeigen eine umfassende KI-Strategie, die direkt mit geschlossenen KI-Systemen wie OpenAIs konkurrieren und gleichzeitig neue Einnahmequellen für seine Open-Source-Modelle erstellt. Dieser vielfältige Ansatz zielt auf BO ab

Die Brau -Kontroverse über den Vorschlag, dass KI nichts anderes ist als nur normale TechnologieDie Brau -Kontroverse über den Vorschlag, dass KI nichts anderes ist als nur normale TechnologieMay 02, 2025 am 11:10 AM

Es gibt schwerwiegende Unterschiede im Bereich der künstlichen Intelligenz zu dieser Schlussfolgerung. Einige bestehen darauf, dass es Zeit ist, die "neuen Kleidung des Kaisers" aufzudecken, während andere der Idee, dass künstliche Intelligenz nur gewöhnliche Technologie ist, stark aussieht. Lassen Sie uns darüber diskutieren. Eine Analyse dieses innovativen KI -Durchbruchs ist Teil meiner laufenden Forbes -Spalte, die die neuesten Fortschritte im Bereich der KI abdeckt, einschließlich der Identifizierung und Erklärung einer Vielzahl einflussreicher KI -Komplexitäten (klicken Sie hier, um den Link anzuzeigen). Künstliche Intelligenz als gemeinsame Technologie Erstens sind einige Grundkenntnisse erforderlich, um die Grundlage für diese wichtige Diskussion zu schaffen. Derzeit gibt es eine große Menge an Forschungen, die sich zur Weiterentwicklung künstlicher Intelligenz widmen. Das Gesamtziel ist es, künstliche allgemeine Intelligenz (AGI) und sogar mögliche künstliche Super Intelligence (AS) zu erreichen

Model -Bürger, warum KI -Wert der nächste Business -Maßstab istModel -Bürger, warum KI -Wert der nächste Business -Maßstab istMay 02, 2025 am 11:09 AM

Die Effektivität des KI -Modells eines Unternehmens ist jetzt ein wichtiger Leistungsindikator. Seit dem KI -Boom wurde generative KI für alles verwendet, vom Komponieren von Geburtstagseinladungen bis zum Schreiben von Softwarecode. Dies hat zu einer Verbreitung von Sprachmod geführt

See all articles

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

SublimeText3 Englische Version

SublimeText3 Englische Version

Empfohlen: Win-Version, unterstützt Code-Eingabeaufforderungen!

Sicherer Prüfungsbrowser

Sicherer Prüfungsbrowser

Safe Exam Browser ist eine sichere Browserumgebung für die sichere Teilnahme an Online-Prüfungen. Diese Software verwandelt jeden Computer in einen sicheren Arbeitsplatz. Es kontrolliert den Zugriff auf alle Dienstprogramme und verhindert, dass Schüler nicht autorisierte Ressourcen nutzen.

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Herunterladen der Mac-Version des Atom-Editors

Herunterladen der Mac-Version des Atom-Editors

Der beliebteste Open-Source-Editor

VSCode Windows 64-Bit-Download

VSCode Windows 64-Bit-Download

Ein kostenloser und leistungsstarker IDE-Editor von Microsoft