行业实践 | 基于Qwen2-VL实现医疗表单结构化输出

本文涉及的产品
图像搜索,7款服务类型 1个月
简介: 本项目针对不同医院检查报告单样式差异大、手机拍摄质量差等问题,传统OCR识别效果不佳的情况,探索并选定了Qwen2-vl系列视觉语言模型。通过微调和优化,模型在识别准确率上显著提升,能够精准识别并结构化输出报告单信息,支持整张报告单及特定项目的识别。系统采用FastAPI封装接口,Gradio构建展示界面,具备高效、灵活的应用特性。未来该方案可扩展至多种文本识别场景,助力行业数字化转型。

背景

当下,不同医院的检查报告单在样式、结构格式以及字段设置上均存在显著差异。与此同时,在使用手机拍摄报告单时,常出现诸如图像歪斜、因报告单折叠而产生的部分区域倾斜以及摩尔纹等问题。在此情况下,传统的光学字符识别(OCR)技术在完成报告单识别并以结构化形式输出信息时,效果往往不尽人意,难以满足实际需求。 因而探索视觉语言模型!

模型选择

为了确定最适合的模型,我们对多个视觉语言模型展开了深入探索,并最终选定了 Qwen2-vl 系列。具体的探索过程如下:我们精心挑选了五张涵盖不同类型的图片,分别交给参数量级相当的各类视觉模型进行识别处理,随后详细对比了它们的识别效果。综合考虑识别准确度、成本、设备等实际因素,我们最终决定选用 Qwen/Qwen2-VL-2B-Instruct 和 Qwen/Qwen2-VL-7B-Instruct 这两款模型进行后续的开发与微调工作,以满足我们的特定需求。
在验证阶段,我们运用 Qwen2-VL-2B-Instruct 模型对其可行性进行了初步评估,结果显示识别准确率处于可观水平,相较于传统方案展现出了显著的优势,为后续进一步深入研究与优化奠定了坚实基础。
Qwen/Qwen2-VL-7B-Instruct: https://www.modelscope.cn/models/Qwen/Qwen2-VL-7B-Instruct
Qwen/Qwen2-VL-2B-Instruct: https://www.modelscope.cn/models/Qwen/Qwen2-VL-2B-Instruct
强烈推荐大家使用试试image.png

配置

验证阶段配置

类别 配置项 column3
硬件 CPU i9-13代
GPU 4060Ti-16G
内存 64GB
操作系统 OS windows10
软件 python python3.11
CUDA 12.2

上线阶段配置

类别 配置项 column3
硬件 CPU 4210R*2
GPU 4090-24G *2
内存 128GB
操作系统 OS Linux Ubuntu 22.04
软件 python python3.11
CUDA 12.2

模型微调训练

通过 LLaMA-Factory 可进行 lora 微调,初始数据量为人工标注的 1000 张图片,微调后的模型相较于原版,能够解决一些格式和幻觉方面的问题。
LLaMA-Factory 安装

项目方案

  • 基础模型:本项目依托强大的 Qwen2-VL-7B-Instruct 模型作为核心基础,该模型在自然语言处理和视觉理解方面具有卓越的性能表现,能够为表单识别和校验任务提供高精度的支持和保障。
  • 任务内容

    • 整张报告单识别:系统具备强大的能力,能够精准识别检查报告单上的各类关键信息字段,涵盖姓名、性别、检查单号、检查项目、检查结果、时间、病历号等核心元数据,以及检查项目的详细内容,包括检查项目的具体名称、简称、结果数值、参考范围和单位等信息,从而实现对整张报告单的全面、准确识别,为后续的数据分析和应用提供完整的数据支持。
    • 部分项目精准识别:针对用户特定的需求场景,系统还能够根据给定的检查项目名称列表,精确地提取出对应的简称、结果、参考范围和单位等关键信息,实现对部分重点关注项目的快速、精准识别,提高信息获取的效率和针对性,满足用户在不同业务场景下的多样化需求。
  • 接口封装与验证展示

    • 为了实现系统的高效集成和灵活应用,我们针对上述两个不同的任务内容分别通过 fastapi 进行了接口封装。Fastapi 作为一款高性能的 Python Web 框架,能够为系统提供快速、稳定的接口服务,方便其他系统或应用程序与之进行无缝对接和数据交互。
    • 在验证阶段,我们采用 gradio 构建了直观、友好的展示界面。该界面具备丰富的功能,支持用户便捷地上传待识别图片,用户还可以根据实际需求灵活配置提示词,通过下拉菜单或搜索框等交互组件轻松选择合适的提示词,以引导模型进行更精准的识别和分析。最终,界面将以清晰、美观的方式展示模型的识别结果,为用户提供便捷、高效的使用体验,方便用户对识别结果进行快速验证和后续处理。
  • 识别流程
    graph TD;
    A[上传图片] --> B[AI识别];
    B --> C[AI校验];
    C -->|通过| D[客户端];
    C -->|不通过| E[文件夹];
    A -->|有图片处理| A;

    1. 图片上传
      将待识别的图片上传至系统,系统会自动检测当前的识别通道使用情况。若所有通道均处于忙碌状态,即识别通道已满,上传的图片将自动进入队列,等待系统分配资源进行后续处理,确保整个流程的有序性与高效性,避免因资源抢占导致的处理混乱或延迟。

    2. AI识别
      系统采用经过精细微调优化后的表单识别模型对进入处理流程的图片进行精准识别。此模型基于先进的Qwen2-VL-7B-Instruct,针对各类表单结构和内容特征进行了大量的训练学习,能够高效、准确地提取图片中的文字信息,并将其转化为结构化的数据,为后续的校验和分析步骤提供坚实的数据基础。

    3. AI校验
      利用先进的视觉语言模型结合 OCR(光学字符识别)技术对 AI 识别的结果进行全面校验。OCR能够识别因幻觉而产生的问题。
      校验通过的内容将直接推送至展示界面,以清晰、直观的方式呈现给用户;而校验未通过的内容则会被系统自动分类存储至特定文件夹,这些数据将作为宝贵的资源,用于后续对模型的进一步微调训练,不断提升模型的识别准确率和性能表现。
  • demo展示
    img_v3_02i2_917273a5-cf21-4f8d-adbb-e2c3a42a834g.jpg
    img_v3_02i2_b134b9de-5bf9-4690-b3e0-e6c4aaabbafg.jpg

  • 线上系统
    线上系统采用python为后端,vue3为前端的一个系统

总结展望

在项目起初团队沿着传统OCR路线展开探索,而后转向视觉语言模型路径深入钻研。经过不懈努力,本项目借助视觉语言模型成功攻克了传统方案在识别方面存在的诸多难题,例如针对存在倾斜、歪曲情况以及带有摩尔纹的图片,都能够精准地进行识别,并且还可以将识别内容以结构化的形式输出,这无疑极大地提升了识别效果与内容利用的便捷性。

在整个项目实施期间,我们投入了诸多精力进行多方面的验证与优化工作。其中,对提示词工程进行了反复的验证,力求使其达到最佳效果;同时,针对所选用的模型,也开展了严谨的验证工作,并根据实际情况对模型进行了细致的微调,以保障其性能能够契合项目的各项需求;数据的标注也经过大量的时间,并且采用多人交叉验证的方式。微调模型的过程也是反复多次,不同超参数的设置,带来不同的模型。

值得一提的是,此视觉语言模型表所开发的单识别方案的技术路线有着广泛的应用前景。理论上它不仅能够在医疗检查报告单这类复杂文本的识别场景中发挥出色作用,而且还具备很强的可扩展性,能够延伸至诸如某某卡号识别、购物小票识别、发票识别以及护照识别等多个不同类型的实际应用场景中,为诸多行业的信息处理与数字化转型提供有力的技术支撑。

参考文献

QwenTeam. Qwen2-VL: Enhancing Vision-Language Model’s Perception of the World at Any Resolution. 2024年10月3日
https://arxiv.org/pdf/2409.12191

目录
相关文章
|
机器学习/深度学习 运维 数据可视化
chat GPT在常用的数据分析方法中的应用
ChatGPT在常用的数据分析方法中有多种应用,包括描述统计分析、探索性数据分析、假设检验、回归分析和聚类分析等。下面将详细介绍ChatGPT在这些数据分析方法中的应用。 1. 描述统计分析: 描述统计分析是对数据进行总结和描述的方法,包括计算中心趋势、离散程度和分布形状等指标。ChatGPT可以帮助你理解和计算这些描述统计指标。你可以向ChatGPT询问如何计算平均值、中位数、标准差和百分位数等指标,它可以给出相应的公式和计算方法。此外,ChatGPT还可以为你提供绘制直方图、箱线图和散点图等图表的方法,帮助你可视化数据的分布和特征。 2. 探索性数据分析: 探索性数据分析是对数据进行探
294 0
|
机器学习/深度学习 数据采集 自然语言处理
chat GPT数据分析岗位应用
ChatGPT在数据分析岗位的应用是一个非常广泛和多样化的领域。它可以用于处理和分析各种类型的数据,包括文本数据、数值数据、图像数据等。在数据分析岗位的了解阶段,ChatGPT可以帮助数据分析师进行数据预处理、特征工程、模型解释和数据可视化等任务。下面将详细介绍ChatGPT在数据分析岗位了解阶段的应用。 1. 文本数据分析: 在数据分析岗位中,文本数据是非常常见的数据类型。ChatGPT可以用于处理和分析大量的文本数据,帮助数据分析师从中提取有用的信息。它可以进行文本分类、情感分析、主题建模等任务。例如,数据分析师可以使用ChatGPT来对大量的用户评论进行情感分析,了解用户对产品或服务的
147 0
|
2天前
|
算法 数据可视化 数据库连接
解决方案评测|多模态数据信息提取
解决方案评测|多模态数据信息提取
22 9
|
6天前
|
文字识别 数据可视化 Serverless
阿里云多模态数据信息提取解决方案评测报告
本文基于阿里云多模态数据信息提取解决方案,对其进行全面评测。该方案利用百炼大模型等技术,支持文本、图像、音频和视频处理,显著提升效率并降低成本。体验中,文本和图片信息提取功能表现出色,部署便捷且准确率高。优势包括易用性、多模态支持和高性价比,但文档完善性和模型定制性等方面仍有提升空间。建议增强模型可定制性、跨模态融合能力及丰富文档案例,以进一步优化用户体验。
46 6
|
8天前
|
存储 监控 算法
解决方案评测:多模态数据信息提取
解决方案评测:多模态数据信息提取
27 8
|
7天前
|
人工智能 Serverless API
《多模态数据信息提取》解决方案评测体验
《多模态数据信息提取》解决方案,主要是通过先进的人工智能技术,能够识别和解析各种格式的文件,包括文本、图像、音频和视频,从而提取出有价值的信息,大幅提升数据处理效率。
42 7
|
6天前
|
人工智能 自然语言处理 运维
阿里云多模态数据信息提取技术解决方案评测
阿里云多模态数据信息提取技术解决方案,利用先进AI技术处理文本、图像、音频和视频,帮助企业从海量数据中高效提取有价值信息。方案涵盖文本、图片、视频信息提取,适用于电商平台、安防等领域。通过大模型支持自动扩展与持续训练,提供简单部署及免费试用,评测显示其在识别准确性和易用性方面表现出色,但仍需优化高级设置提示和加载速度。
|
7天前
|
人工智能 自然语言处理 算法
多模态数据信息提取解决方案评测报告
多模态数据信息提取解决方案利用先进AI技术,高效处理文本、图像、音频和视频数据,大幅提升数据处理效率。评测涵盖部署界面、文档、函数模板、官方示例及实际需求满足情况。结果显示,该方案在文本和图像提取方面表现出色,音频和视频提取有改进空间。整体部署简便,支持多种操作系统和编程语言,具有较高可移植性和扩展性。建议优化复杂环境下的音频和视频提取算法,进一步提升处理效率和准确率。
34 2
|
7天前
|
编解码 文字识别 自然语言处理
《多模态数据信息提取》解决方案评测报告
阿里云《多模态数据信息提取》解决方案界面直观友好,简化了部署流程,提供了清晰指引和实时帮助提示,降低了新手用户的学习成本。然而,在高级功能配置上仍存在复杂性,如OCR引擎参数设置缺乏充分说明。建议增加交互式元素和视频教程以增强用户体验。函数应用模板虽简化工作量,但部分参数解释不够明确,影响初次使用体验。五种信息提取方案基本满足常见需求,但在跨平台支持和特定行业优化方面有提升空间。总体而言,该解决方案表现出色,但仍需进一步优化以提高用户满意度。
|
8天前
|
自然语言处理 文字识别 运维
《多模态数据信息提取》解决方案评测
《多模态数据信息提取》解决方案给我留下了深刻的印象。它不仅具备强大的技术实力,还提供了友好的用户体验和支持服务。当然,任何产品都不可能是完美的,我相信随着更多用户的反馈和技术的进步,这个工具将会变得更加完善。如果你正在寻找一种高效、易用且经济实惠的方式来处理复杂的多模态数据,那么不妨试试看吧!
29 2

热门文章

最新文章