cari
RumahPeranti teknologiAIPaligemma 2 Mix: Panduan dengan Projek Demo OCR

Paligemma 2 Mix adalah model AI multimodal yang dibangunkan oleh Google. Ia adalah versi yang lebih baik dari Model Bahasa Paligemma Vision (VLM), mengintegrasikan keupayaan maju dari model SIGLIP Vision dan model bahasa Gemma 2.

Dalam tutorial ini, saya akan menerangkan cara menggunakan campuran Paligemma 2 untuk membina pengimbas rang undang-undang AI dan penganalisis perbelanjaan yang mampu:

  • Mengekstrak dan mengkategorikan perbelanjaan dari resit bil.
  • Melaksanakan Pengiktirafan Watak Optik (OCR) untuk mendapatkan maklumat utama.
  • meringkaskan perbelanjaan berdasarkan imej yang disediakan.

Walaupun tumpuan kami adalah untuk membina alat Insights Financial, anda boleh menggunakan apa yang anda pelajari di blog ini untuk meneroka kes penggunaan lain Paligemma 2 campuran, seperti segmentasi imej, pengesanan objek, dan menjawab soalan.

Apakah campuran Paligemma 2?

Paligemma 2 Mix adalah model bahasa-bahasa lanjutan (VLM) yang memproses kedua-dua imej dan teks sebagai input dan menghasilkan output berasaskan teks. Ia direka untuk mengendalikan pelbagai tugas AI multimodal semasa menyokong pelbagai bahasa.

Paligemma 2 direka untuk pelbagai tugas-tugas bahasa penglihatan, termasuk imej dan tajuk video pendek, menjawab soalan visual, pengiktirafan aksara optik (OCR), pengesanan objek, dan segmentasi.

Paligemma 2 Mix: Panduan dengan Projek Demo OCR Sumber imej yang digunakan dalam rajah: Google

model campuran Paligemma 2 direka untuk:

Imej & Kapsyen Video Pendek: Menjana kapsyen yang tepat dan konteks untuk imej statik dan video pendek.
  • Soalan Visual Menjawab (VQA): Menganalisis imej dan menjawab soalan berasaskan teks berdasarkan kandungan visual.
  • Pengiktirafan watak optik (OCR): Mengekstrak dan menafsirkan teks dari imej, menjadikannya berguna untuk dokumen, resit, dan bahan yang diimbas.
  • Pengesanan Objek & Segmentasi: Ia Mengenalpasti, Label, dan Segmen Objek dalam Imej untuk Analisis Berstruktur.
  • Sokongan pelbagai bahasa: Model ini juga membolehkan penjanaan teks dan pemahaman dalam pelbagai bahasa untuk aplikasi global.
  • Anda boleh mendapatkan lebih banyak maklumat mengenai model campuran Paligemma 2 dalam artikel pelepasan rasmi. 

Gambaran Keseluruhan Projek: Pengimbas Bill dan Penganalisis Perbelanjaan dengan Paligemma 2 Mix

mari kita menggariskan langkah -langkah utama yang akan kita ambil:

  1. Muatkan dan sediakan dataset: Proses bermula dengan memuatkan dan menyediakan imej resit sebagai input.
  2. Mulakan model campuran Paligemma 2: Kami mengkonfigurasi dan memuatkan model untuk memproses tugas bahasa penglihatan.
  3. Proses Imej Input: Kemudian, tukar imej ke format yang sesuai (RGB) dan sediakannya untuk analisis.
  4. Ekstrak Maklumat Utama: Melaksanakan Pengiktirafan Watak Optik (OCR) untuk mendapatkan jumlah keseluruhan.
  5. mengkategorikan perbelanjaan: mengklasifikasikan pembelian ke dalam kategori seperti runcit, pakaian, elektronik, dan lain -lain.
  6. Menjana wawasan perbelanjaan: Kami meringkaskan perbelanjaan yang dikategorikan dan menghasilkan carta pengedaran perbelanjaan.
  7. Bina antara muka Vadio Interaktif: Akhirnya, kami membuat UI di mana pengguna boleh memuat naik pelbagai bil, mengekstrak data, dan menganalisis perbelanjaan secara visual.

Langkah 1: Prasyarat

Sebelum kita mula, mari kita pastikan bahawa kita mempunyai alat dan perpustakaan berikut yang dipasang:

  • python 3.8
  • obor
  • Transformers
  • pil
  • Matplotlib
  • Gradio

jalankan arahan berikut untuk memasang kebergantungan yang diperlukan:

pip install gradio -U bitsandbytes -U transformers -q

Setelah kebergantungan di atas dipasang, jalankan arahan import berikut:

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

Langkah 2: Model Inisialisasi

Kami mengkonfigurasi dan memuatkan model campuran Paligemma 2 dengan kuantisasi untuk mengoptimumkan prestasi. Untuk demo ini, kami akan menggunakan model parameter 10B dengan resolusi imej input 448 x 448. Anda memerlukan minimum T4 GPU dengan memori 40GB (konfigurasi COLAB) untuk menjalankan model ini. 

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!")

kuantisasi Bitsandbytes membantu mengurangkan penggunaan memori sambil mengekalkan prestasi, menjadikannya mungkin untuk menjalankan model besar pada sumber GPU yang terhad. Dalam pelaksanaan ini, kami menggunakan kuantisasi 4-bit untuk mengoptimumkan kecekapan memori.

Kami memuatkan model menggunakan kelas paligemmaforconditionalgeneration dari Perpustakaan Transformers dengan lulus dalam Model ID dan Konfigurasi Kuantisasi. Begitu juga, kita memuatkan pemproses, yang memproses input ke dalam tensor sebelum menyampaikannya ke model.

Langkah 3: Pemprosesan Imej

Setelah shard model dimuatkan, kami memproses imej sebelum menyampaikannya ke model untuk mengekalkan keserasian format imej dan mendapatkan keseragaman. Kami menukar imej ke format RGB:

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

Sekarang, imej kami siap untuk kesimpulan.

Langkah 4: Kesimpulan dengan Paligemma

Sekarang, kami menyediakan fungsi utama untuk menjalankan kesimpulan dengan model. Fungsi ini mengambil imej input dan soalan, menggabungkannya ke dalam arahan, dan menyerahkannya kepada model melalui pemproses untuk kesimpulan.

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>

Langkah 5: Mengekstrak Maklumat Utama

Sekarang kita mempunyai fungsi utama siap, kita akan bekerja di sebelahnya untuk mengekstrak parameter utama dari imej -dalam kes kita, ini adalah jumlah keseluruhan dan kategori barangan.

pip install gradio -U bitsandbytes -U transformers -q

fungsi Extract_Total_amount () memproses imej untuk mengekstrak jumlah keseluruhan dari resit menggunakan OCR. Ia membina pertanyaan (soalan) yang mengarahkan model untuk mengekstrak hanya nilai berangka, dan kemudian ia memanggil fungsi Ask_model () untuk menghasilkan respons dari model. 

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

Fungsi Categorize_goods () mengklasifikasikan jenis barangan dalam imej dengan mendorong model dengan penyenaraian soalan yang telah ditetapkan yang mungkin kategori: runcit, pakaian, elektronik, atau lain -lain. Fungsi Ask_model () kemudian memproses imej dan mengembalikan respons teks. Sekiranya tindak balas yang diproses sepadan dengan mana -mana kategori sah yang telah ditetapkan, ia mengembalikan kategori itu -sebaik sahaja, ia mungkir kepada kategori "Lain".

Langkah 6: Menganalisis maklumat

Kami mempunyai semua fungsi utama siap, jadi mari kita menganalisis output.

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!")

Fungsi di atas mencipta carta pai untuk memvisualisasikan pengagihan perbelanjaan merentasi kategori yang berbeza. Sekiranya tiada data perbelanjaan yang sah, ia menghasilkan angka kosong dengan mesej yang menunjukkan "tiada data perbelanjaan." Jika tidak, ia mewujudkan carta pai dengan label kategori dan nilai peratusan, memastikan visualisasi yang berkadar dan sejajar.

Langkah 6: Menganalisis beberapa bil serentak

Kami biasanya mempunyai banyak bil untuk dianalisis, jadi mari kita buat fungsi untuk memproses semua bil kami secara serentak.

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

Untuk menganalisis pelbagai bil sekaligus, kami melakukan langkah -langkah berikut:

  1. Inisialisasi Penyimpanan: Kami membuat senarai untuk menyimpan hasil dan imej, tetapkan total_spending ke 0, dan tentukan kamus untuk jumlah kategori yang bijak.
  2. Proses setiap rang undang -undang:
  • Buka dan tukar imej ke RGB.
  • Masukkan imej ke senarai.
  • Ekstrak jumlah keseluruhan dari resit.
  • mengkategorikan barang dalam resit.
  • Kemas kini jumlah perbelanjaan dan jumlah kategori yang bijak.
  • Simpan data yang diekstrak dalam senarai hasil.
  1. Menjana pandangan: Kami membuat carta pai pengedaran perbelanjaan bersama -sama dengan ringkasan jumlah perbelanjaan.
  2. Hasil pulangan: Akhirnya, kami mengembalikan senarai imej, satu data ringkasan Rang Undang -Undang, ringkasan perbelanjaan jumlah, dan carta perbelanjaan.

Langkah 7: Bina antara muka Gradio

Sekarang, kita mempunyai semua fungsi logik utama di tempatnya. Seterusnya, kami bekerja untuk membina UI interaktif dengan Gradio.

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>

Kod di atas mencipta UI Gradio berstruktur dengan pemuat naik fail untuk pelbagai imej dan butang hantar untuk mencetuskan pemprosesan. Setelah penyerahan, imej bil yang dimuat naik dipaparkan dalam galeri, data yang diekstrak ditunjukkan dalam jadual, jumlah perbelanjaan diringkaskan dalam teks, dan carta pai pengedaran perbelanjaan dijana. 

Fungsi ini menghubungkan input pengguna ke fungsi process_multiple_bills (), memastikan pengekstrakan dan visualisasi data lancar. Akhirnya, fungsi demo.launch () memulakan aplikasi Gradio untuk interaksi masa nyata.

Paligemma 2 Mix: Panduan dengan Projek Demo OCR

Saya juga mencuba demo ini dengan dua bil berasaskan imej (invois membeli-belah Amazon) dan mendapat hasil berikut.

NOTA: VLMS merasa sukar untuk mengekstrak nombor, yang mungkin membawa kepada keputusan yang salah pada masa -masa. Sebagai contoh, ia mengekstrak jumlah yang salah untuk bil kedua di bawah. Ini boleh dibetulkan dengan menggunakan model yang lebih besar atau hanya menyempurnakan yang sedia ada.

Paligemma 2 Mix: Panduan dengan Projek Demo OCR

Kesimpulan Paligemma 2 Mix: Panduan dengan Projek Demo OCR

Dalam tutorial ini, kami membina pengimbas rang undang-undang yang berkuasa AI menggunakan campuran Paligemma 2, yang dapat membantu kami mengekstrak dan mengkategorikan perbelanjaan kami dari resit. Kami menggunakan keupayaan bahasa Paligemma 2 Mix untuk OCR dan klasifikasi untuk menganalisis perbelanjaan dengan mudah. Saya menggalakkan anda menyesuaikan tutorial ini untuk kes penggunaan anda sendiri. 

Atas ialah kandungan terperinci Paligemma 2 Mix: Panduan dengan Projek Demo OCR. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Panduan Pemimpin Perniagaan untuk Pengoptimuman Enjin Generatif (GEO)Panduan Pemimpin Perniagaan untuk Pengoptimuman Enjin Generatif (GEO)May 03, 2025 am 11:14 AM

Google mengetuai peralihan ini. Ciri "AI Gambaran Keseluruhan" sudah melayani lebih daripada satu bilion pengguna, memberikan jawapan lengkap sebelum ada yang mengklik pautan. [^2] Pemain lain juga mendapat tanah dengan cepat. Chatgpt, microsoft copilot, dan pe

Permulaan ini menggunakan ejen AI untuk melawan iklan jahat dan akaun peniruPermulaan ini menggunakan ejen AI untuk melawan iklan jahat dan akaun peniruMay 03, 2025 am 11:13 AM

Pada tahun 2022, beliau mengasaskan permulaan pertahanan kejuruteraan sosial Doppel untuk berbuat demikian. Dan sebagai penjenayah siber memanfaatkan model AI yang lebih maju untuk mengatasi serangan mereka, sistem AI Doppel telah membantu perniagaan memerangi mereka secara lebih cepat dan lebih cepat dan lebih cepat

Bagaimana model dunia secara radikal membentuk semula masa depan AI dan LLM generatifBagaimana model dunia secara radikal membentuk semula masa depan AI dan LLM generatifMay 03, 2025 am 11:12 AM

Voila, melalui berinteraksi dengan model dunia yang sesuai, AI generatif dan LLMs boleh didorong secara substansial. Mari kita bercakap mengenainya. Analisis terobosan AI yang inovatif ini adalah sebahagian daripada liputan lajur Forbes yang berterusan pada AI terkini, termasuk

May Day 2050: Apa yang kita tinggalkan untuk meraikan?May Day 2050: Apa yang kita tinggalkan untuk meraikan?May 03, 2025 am 11:11 AM

Hari Buruh 2050. Taman di seluruh negara mengisi dengan keluarga yang menikmati barbeku tradisional manakala perarakan nostalgia angin melalui jalan -jalan bandar. Namun perayaan kini membawa kualiti muzium seperti muzium-reenactment bersejarah dan bukannya peringatan c

Pengesan DeepFake yang tidak pernah anda dengar tentang itu 98% tepatPengesan DeepFake yang tidak pernah anda dengar tentang itu 98% tepatMay 03, 2025 am 11:10 AM

Untuk membantu menangani trend yang mendesak dan mengganggu ini, artikel yang dikaji semula dalam edisi Februari 2025 TEM Journal menyediakan salah satu penilaian yang paling jelas dan didorong oleh data mengenai tempat yang dihadapi oleh Deepfake teknologi pada masa ini. Penyelidik

Kuantum Bakat Perang: Krisis Tersembunyi Teknologi Mengancam ' s Frontier SeterusnyaKuantum Bakat Perang: Krisis Tersembunyi Teknologi Mengancam ' s Frontier SeterusnyaMay 03, 2025 am 11:09 AM

Dari mengurangkan masa yang diperlukan untuk merumuskan ubat -ubatan baru untuk mewujudkan tenaga yang lebih hijau, akan ada peluang besar bagi perniagaan untuk memecahkan tanah baru. Terdapat masalah besar, walaupun: ada kekurangan orang yang teruk dengan kemahiran BUSI

Prototaip: Bakteria ini dapat menjana elektrikPrototaip: Bakteria ini dapat menjana elektrikMay 03, 2025 am 11:08 AM

Bertahun -tahun yang lalu, saintis mendapati bahawa jenis bakteria tertentu kelihatan bernafas dengan menjana elektrik, dan bukannya mengambil oksigen, tetapi bagaimana mereka melakukannya adalah misteri. Kajian baru yang diterbitkan dalam jurnal Cell mengenal pasti bagaimana ini berlaku: mikrob

AI dan Cybersecurity: Perhitungan 100 Hari Pentadbiran BaruAI dan Cybersecurity: Perhitungan 100 Hari Pentadbiran BaruMay 03, 2025 am 11:07 AM

Pada persidangan RSAC 2025 minggu ini, Snyk menganjurkan panel yang tepat pada masanya bertajuk "The First 100 Days: How AI, Dasar & Cybersecurity Collide," yang menampilkan barisan All-Star: Jen Easterly, bekas pengarah CISA; Nicole Perlroth, bekas wartawan dan Partne

See all articles

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

mPDF

mPDF

mPDF ialah perpustakaan PHP yang boleh menjana fail PDF daripada HTML yang dikodkan UTF-8. Pengarang asal, Ian Back, menulis mPDF untuk mengeluarkan fail PDF "dengan cepat" dari tapak webnya dan mengendalikan bahasa yang berbeza. Ia lebih perlahan dan menghasilkan fail yang lebih besar apabila menggunakan fon Unicode daripada skrip asal seperti HTML2FPDF, tetapi menyokong gaya CSS dsb. dan mempunyai banyak peningkatan. Menyokong hampir semua bahasa, termasuk RTL (Arab dan Ibrani) dan CJK (Cina, Jepun dan Korea). Menyokong elemen peringkat blok bersarang (seperti P, DIV),

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

SublimeText3 Linux versi baharu

SublimeText3 Linux versi baharu

SublimeText3 Linux versi terkini

PhpStorm versi Mac

PhpStorm versi Mac

Alat pembangunan bersepadu PHP profesional terkini (2018.2.1).