搜索
首页科技周边人工智能Paligemma 2 Mix:Demo OCR项目的指南

>从账单收据中提取和分类费用。

    >执行光学特征识别(OCR)以检索关键信息。
  • >根据提供的图像总结支出。
  • >我们的重点是构建财务见解工具,但您可以使用此博客中所学的知识来探索其他Paligemma 2 Mix的用例,例如图像细分,对象检测和问题答案。
  • >
  • 什么是paligemma 2混合?
> Paligemma 2 Mix是一种高级视觉语言模型(VLM),将图像和文本作为输入处理并生成基于文本的输出。它旨在在支持多种语言的同时处理各种多模式AI任务。

>

paligemma 2专为各种视觉语言任务而设计,包括图像和简短的视频字幕,视觉问题答案,光学特征识别(OCR),对象检测和分割。

>

>图中使用的图像的来源:google

paligemma 2混合模型设计用于:> Paligemma 2 Mix:Demo OCR项目的指南

>图像和简短视频字幕:生成静态图像和简短视频的准确和上下文感知字幕。

>视觉询问答案(VQA):根据视觉内容分析图像并回答基于文本的问题。

>光学特征识别(OCR):从图像中提取和解释文本,使其可用于文档,收据和扫描材料。
    >对象检测和分割:它在图像中标识,标签和片段对象进行结构化分析。
  • >多语言支持:该模型还可以以多种语言以全局应用程序为文本生成和理解。
  • >您可以在官方发行文章中找到有关Paligemma 2混合模型的更多信息。 
  • 项目概述:Bill Scanner和Paligemma 2 Mix
  • 的支出分析仪
  • >让我们概述我们要采取的主要步骤:
    1. 加载并准备数据集:该过程是从加载和准备收据图像作为输入开始的。
    2. >初始化paligemma 2混合模型:我们配置并加载用于处理视觉语言任务的模型。
    3. >进程输入图像:然后,将图像转换为适当的格式(RGB),并准备它们进行分析。
    4. 提取关键信息:执行光学特征识别(OCR)以检索总量。
    5. >对费用进行分类:将购买分为杂货,服装,电子产品等类别。
    6. >
    7. 生成支出见解:我们总结了分类的费用并生成支出分配图。
    8. >构建一个交互式gradio接口:最后,我们创建一个UI,用户可以在其中上传多个账单,提取数据并以视觉上的方式分析支出。
    >步骤1:先决条件

    >在开始之前,让我们确保我们安装了以下工具和库:

    python 3.8
    • >火炬
    • 变形金刚
    • pil
    • matplotlib
    • gradio
    • 运行以下命令以安装必要的依赖项:
    >

    一旦安装了上述依赖项,请运行以下导入命令:>
    pip install gradio -U bitsandbytes -U transformers -q

    >步骤2:模型初始化

    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
    >我们使用量化配置并加载Paligemma 2混合模型以优化性能。对于此演示,我们将使用448 x 448输入图像分辨率的10B参数模型。您需要至少具有40GB内存(COLAB配置)的T4 GPU来运行此模型。 

    > bitsandbytes量化有助于减少记忆使用量的同时保持性能,从而可以在有限的GPU资源上运行大型模型。在此实现中,我们使用4位量化来进一步优化内存效率。

    >我们通过传递模型ID和量化配置,使用来自变形金刚库的PaligemmaforCongengergeneration类加载模型。同样,我们加载处理器,该处理器将输入预处理到张量中之前,然后将其传递给模型。
    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!")
    步骤3:图像处理

    >装载模型后,我们将图像传递到模型之前对图像进行处理以维护图像格式的兼容性和增益均匀性。我们将图像转换为RGB格式:

    现在,我们的图像已准备好推理。

    >

    >步骤4:推理使用paligemma

    def ensure_rgb(image: Image.Image) -> Image.Image:
        if image.mode != "RGB":
            image = image.convert("RGB")
        return image
    >现在,我们设置了用于使用模型运行推断的主要功能。此功能将带有输入图像和问题,将它们整合到提示中,然后通过处理器将它们传递给模型。

    >步骤5:提取密钥信息

    >现在我们已经准备好主函数,我们将下一个从图像中提取关键参数 - 在我们的情况下,这些是总金额和商品类别。
    pip install gradio -U bitsandbytes -U transformers -q

    > extract_total_amount()函数处理图像以使用OCR从收据中提取总量。它构建了一个查询(问题),指示模型仅提取数值值,然后调用ask_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
    步骤6:分析信息

我们已经准备好所有关键功能,所以让我们分析输出。>

>上面的功能创建了一个饼图,以可视化不同类别的支出分布。如果不存在有效的支出数据,它将生成一个空白的图形,并带有表示“无支出数据”的消息。否则,它将创建带有类别标签和百分比值的饼图,确保比例且良好的可视化。

步骤6:同时分析多个账单
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!")

我们通常有多个账单要分析,因此让我们创建一个函数来同时处理所有账单。

用于一次分析多个账单,我们执行以下步骤:>

初始化存储:我们创建用于存储结果和图像的列表,将total_spending设置为0,并为类别总计定义字典。

def ensure_rgb(image: Image.Image) -> Image.Image:
    if image.mode != "RGB":
        image = image.convert("RGB")
    return image
处理每个账单:

  1. 打开并将图像转换为rgb。
  2. >将图像附加到列表中。
从收据中提取总金额。
  • 在收据中对商品进行分类。
  • 更新总支出和类别的总计。
  • >将提取的数据存储在结果列表中。
  • 生成洞察力:我们创建一个支出分配饼图以及总支出的摘要。
  • 返回结果:最后,我们返回图像列表,帐单摘要的数据框架,总支出摘要和支出图表。
>步骤7:构建Gradio接口
  1. >现在,我们已经制定了所有关键逻辑函数。接下来,我们致力于使用Gradio构建Interactive UI。
  2. >上面的代码创建一个结构化的gradio ui,其中具有用于多个图像的文件上载程序,并为触发处理。提交后,上传帐单图像显示在画廊中,提取的数据显示在表中,总支出总结在文本中,并生成了支出分配饼图。 
  3. 该功能将用户输入连接到process_multiple_bills()函数,以确保无缝数据提取和可视化。最后,demo.launch()函数启动了用于实时互动的Gradio应用程序。

    >

    Paligemma 2 Mix:Demo OCR项目的指南

    >我还尝试了两个基于图像的账单(亚马逊购物发票)的演示,并得到以下结果。

    注意:VLMS发现很难提取数字,这有时可能导致结果不正确。例如,它提取了以下第二账单的错误总金额。这是可以使用较大型号或简单地对现有模型进行微调来纠正。

    >

    Paligemma 2 Mix:Demo OCR项目的指南

    Paligemma 2 Mix:Demo OCR项目的指南

    结论

    在本教程中,我们使用Paligemma 2 Mix构建了一个AI驱动的多个Bill Scanner,这可以帮助我们从收据中提取和分类支出。我们使用Paligemma 2 Mix的视觉语言功能来进行OCR和分类,以毫不费力地分析支出见解。我鼓励您将本教程适应您自己的用例。 

以上是Paligemma 2 Mix:Demo OCR项目的指南的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
META的新AI助手:生产力助推器还是时间下沉?META的新AI助手:生产力助推器还是时间下沉?May 01, 2025 am 11:18 AM

Meta携手Nvidia、IBM和Dell等合作伙伴,拓展了Llama Stack的企业级部署整合。在安全方面,Meta推出了Llama Guard 4、LlamaFirewall和CyberSecEval 4等新工具,并启动了Llama Defenders计划,以增强AI安全性。此外,Meta还向10个全球机构(包括致力于改善公共服务、医疗保健和教育的初创企业)发放了总额150万美元的Llama Impact Grants。 由Llama 4驱动的全新Meta AI应用,被设想为Meta AI

80%的Zers将嫁给AI:研究80%的Zers将嫁给AI:研究May 01, 2025 am 11:17 AM

公司开创性的人类互动公司Joi AI介绍了“ AI-Iatsionship”一词来描述这些不断发展的关系。 Joi AI的关系治疗师Jaime Bronstein澄清说,这并不是要取代人类C

AI使互联网的机器人问题变得更糟。这家耗资20亿美元的创业公司在前线AI使互联网的机器人问题变得更糟。这家耗资20亿美元的创业公司在前线May 01, 2025 am 11:16 AM

在线欺诈和机器人攻击对企业构成了重大挑战。 零售商与机器人ho积产品,银行战斗帐户收购和社交媒体平台与模仿者的斗争。 AI的兴起加剧了这个问题,Rende

卖给机器人:将创造或破坏业务的营销革命卖给机器人:将创造或破坏业务的营销革命May 01, 2025 am 11:15 AM

AI代理人有望彻底改变营销,并可能超过以前技术转变的影响。 这些代理代表了生成AI的重大进步,不仅是处理诸如chatgpt之类的处理信息,而且还采取了Actio

计算机视觉技术如何改变NBA季后赛主持人计算机视觉技术如何改变NBA季后赛主持人May 01, 2025 am 11:14 AM

人工智能对关键NBA游戏4决策的影响 两场关键游戏4 NBA对决展示了AI在主持仪式中改变游戏规则的角色。 首先,丹佛的尼古拉·乔基奇(Nikola Jokic)错过了三分球,导致亚伦·戈登(Aaron Gordon)的最后一秒钟。 索尼的鹰

AI如何加速再生医学的未来AI如何加速再生医学的未来May 01, 2025 am 11:13 AM

传统上,扩大重生医学专业知识在全球范围内要求广泛的旅行,动手培训和多年指导。 现在,AI正在改变这一景观,克服地理局限性并通过EN加速进步

Intel Foundry Direct Connect 2025的关键要点Intel Foundry Direct Connect 2025的关键要点May 01, 2025 am 11:12 AM

英特尔正努力使其制造工艺重回领先地位,同时努力吸引无晶圆厂半导体客户在其晶圆厂制造芯片。为此,英特尔必须在业界建立更多信任,不仅要证明其工艺的竞争力,还要证明合作伙伴能够以熟悉且成熟的工作流程、一致且高可靠性地制造芯片。今天我听到的一切都让我相信英特尔正在朝着这个目标前进。 新任首席执行官谭立柏的主题演讲拉开了当天的序幕。谭立柏直率而简洁。他概述了英特尔代工服务的若干挑战,以及公司为应对这些挑战、为英特尔代工服务的未来规划成功路线而采取的措施。谭立柏谈到了英特尔代工服务正在实施的流程,以更以客

AI出了问题吗?现在在那里为此保险AI出了问题吗?现在在那里为此保险May 01, 2025 am 11:11 AM

全球专业再保险公司Chaucer Group和Armilla AI解决了围绕AI风险的日益严重的问题,已联手引入了新型的第三方责任(TPL)保险产品。 该政策保护业务不利

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

将Eclipse与SAP NetWeaver应用服务器集成。

SublimeText3 英文版

SublimeText3 英文版

推荐:为Win版本,支持代码提示!

mPDF

mPDF

mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

功能强大的PHP集成开发环境