AI大模型实现OCR识别验证码

大模型向量数据库机器学习

picture.image

向AI转型的程序员都关注公众号 机器学习AI算法工程

LLM(Large Language Model)技术是一种基于深度学习的自然语言处理技术,旨在训练能够处理和生成自然语言文本的大型模型。

  1. LLM 技术的核心思想是使用深度神经网络,通过大规模的文本数据预训练模型,并利用这些预训练模型进行下游任务的微调或直接应用。
  2. LLM 技术的主要特点是可以从大规模文本数据中学习到丰富的语言知识和语言模式,使得模型能够对自然语言的语义、语法等进行理解和生成,具备更强的语言处理能 LLM 技术在自然语言处理领域具有广泛的应用前景。以下是一些应用前景的示例:
  • 语言理解和生成:LLM 技术可以应用于文本分类、命名实体识别、关系抽取、情感分析等任务,对自然语言进行语义理解和信息提取。
  • 机器翻译:LLM 技术可以应用于机器翻译任务,训练模型能够自动将一种语言翻译成另一种语言。
  • 问答系统:LLM 技术可以用于构建智能问答系统,通过理解用户的问题并检索相关信息,给出准确的答案。
  • 对话生成:LLM 技术可以应用于对话系统,模拟人类对话,进行自然、流畅的交互。
  • 文本摘要和生成:LLM 技术可以用于自动摘要生成,将长文本压缩为简洁准确的摘要,也可以用于生成文章、新闻等文本内容。

picture.image

1.LLM常见应用
  1. 文本到文本:摘要、翻译、问答 文本到文本应用程序通常属于自然语言处理 (NLP) 的范畴,采用 Transformer 模型或 BERT(Transformers 的双向编码器表示)等复杂算法。在文本摘要的背景下,Rouge Score 或 BLEU(双语评估研究)指标等技术可以评估生成的摘要的质量。对于企业来说,这对于自动总结冗长的报告、从而更快地做出决策来说非常宝贵。文本翻译服务通常采用在并行语料库上接受过培训的领域LLM,并使用 METEOR 等指标进行评估。这些服务对于全球运营的企业至关重要,可以实现跨越语言障碍的无缝沟通。问答平台通常依赖上下文感知算法来提供高度准确的答案。企业可以将领域LLM集成到支持系统中,以实现实时、有数据支持的响应。
  2. 语音转文本:转录服务、声控助手 语音转文本技术的关键在于自动语音识别 (ASR) 系统。ASR 系统采用隐马尔可夫模型或深度神经网络来转录口语单词。企业可以利用 ASR 系统在电话会议期间提供自动实时转录服务,创建易于搜索和存档的文本记录。声控助手采用 ASR 和 NLP 来执行命令。这里的商业应用范围从促进仓库中的免提操作到零售业中复杂的客户交互系统。

3.图像转文本:图像字幕、OCR(光学字符识别) 图像到文本结合使用卷积神经网络 (CNN) 进行特征提取,并结合循环神经网络 (RNN) 或 Transformer 生成相应的文本。OCR 技术专门采用二值化等图像预处理技术,并采用 k-NN 或 SVM 等机器学习分类器。对于企业来说,领域LLM可以转化为搜索引擎优化视觉内容的自动标记、发票的自动分类等等。

  1. 代码生成:自动生成代码片段,修复Bug 在编码数据库上训练的复杂语言模型可以预测可能的代码片段,从而加快软件开发周期。领域LLM通常采用抽象语法树或控制流图来提高准确性。在错误修复中,集成静态代码分析工具来识别漏洞,机器学习模型建议适当的修复。这提高了业务应用程序的效率和稳健性。
  2. 聊天机器人:客户支持、交互式常见问题解答 业务环境中的聊天机器人通常使用决策树、有状态 LSTM 网络甚至更高级的架构(例如 GPT(生成式预训练变压器))构建。这些聊天机器人通常接受企业历史客户服务交互的培训,这使它们能够更切合实际地解决问题。除了客户支持之外,他们还可以执行从潜在客户开发到自动追加销售的各种角色,从而显着降低人力成本。
  3. 情绪分析:通过评论或社交媒体确定客户情绪 情感分析通常采用自然语言理解 (NLU)(NLP 的一个子领域)来识别表明情感的语言中的细微差别。通常使用 TextBlob、VADER(Valence Aware Dictionary 和 sEtiment Reasoner)以及更先进的神经网络模型。企业可以将情绪分析集成到 CRM 系统中,从而实现实时客户情绪跟踪和更有针对性的客户互动。
  4. 数据清理:识别并纠正错误的数据条目 数据清理过程通常采用无监督学习算法(例如 k 均值聚类或分层聚类)来识别错误或异常数据点。此外,可以配置决策树或基于规则的系统来识别结构化数据中的不一致之处。对于企业而言,数据清洗可确保分析的可靠性,这对于战略规划和运营效率至关重要。
  5. 异常检测:识别数据集中的异常值或异常值 对于异常检测,通常使用 Z 分数等统计技术或隔离森林等机器学习算法。时间序列数据可能会使用长短期记忆网络 (LSTM) 来检测随时间变化的异常情况。企业可以在欺诈检测、制造质量控制或市场趋势预测等各个领域使用异常检测,从而预先识别和减轻风险。

通过了解这些各种领域LLM功能的技术基础和业务应用,企业可以就如何将领域LLM整合到其运营中以产生最大影响做出更明智的决策。

1.0 ChatIE:通过多轮问答问题实现实命名实体识别和关系事件的零样本信息抽取

零样本信息抽取(Information Extraction,IE)旨在从无标注文本中建立IE系统,因为很少涉及人为干预,该问题非常具有挑战性。但零样本IE不再需要标注数据时耗费的时间和人力,因此十分重要。近来的大规模语言模型(例如GPT-3,Chat GPT)在零样本设置下取得了很好的表现,这启发我们探索基于提示的方法来解决零样本IE任务。我们提出一个问题:不经过训练来实现零样本信息抽取是否可行?我们将零样本IE任务转变为一个两阶段框架的多轮问答问题(Chat IE),并在三个IE任务中广泛评估了该框架:实体关系三元组抽取、命名实体识别和事件抽取。在两个语言的6个数据集上的实验结果表明,Chat IE取得了非常好的效果,甚至在几个数据集上(例如NYT11-HRL)上超过了全监督模型的表现。我们的工作能够为有限资源下IE系统的建立奠定基础。

picture.image

picture.image

picture.image

1.1RAG检索增强生成----LangChain

LangChain的目的是为了开发应用,通过模块组合的方式使用LLM,并与其他模块组合的方式来创造应用。可以理解为Langchain本身并不提供LLM模型,只是对LLM抽象,把LLM当作一个功能模块使用。LangChain能够连接LLM的能力与目前已有的其他能力,创造能力更强大的应用。

picture.image

picture.image

picture.image

实现原理如图所示,过程包括加载文件 -> 读取文本 -> 文本分割 -> 文本向量化 -> 问句向量化 -> 在文本向量中匹配出与问句向量最相似的top k个 -> 匹配出的文本作为上下文和问题一起添加到prompt中 -> 提交给LLM生成回答。 可以看到,核心是将本地答案数据集转为向量存储到向量数据,当用户输入查询的问题时,把问题转为向量然后从向量数据库中查询相近的答案topK 这个时候其实就是我们最普遍的问答查询方案,在没有大模型的时候就直接返回相关的答案整个流程就结束了。现在有大模型了可以优化回答内容的整体结构。 核心一:文本切割 核心二:embedding及向量化存储 核心点三:LLM总结 通过embedding向量化文本后可根据需要召回TopK的chunk文档,并按照类似如下的prompt template灌给大模型进行总结。


        
"""  
 		已知信息:{context}   
		根据上述已知信息,简洁和专业的来回答用户的问题。如果无法从中得到答案,请说 “根据已知信息无法回答该问题” 或 “没有提供足够的相关信息”,不允许在答案中添加编造成分,答案请使用中文。   
  	问题是:{question}  
  """  

    

1.2 AIGC技术应用

AIGC(Artificial Intelligence Generated Content,人工智能生成内容)是一种利用人工智能技术生成各种形式内容的方法。这些内容包括文本、图像、音频、视频等。

AIGC技术的应用范围非常广泛,包括但不限于以下几个方面:

文本生成:使用自然语言处理技术,根据给定的输入,自动生成符合语法和语义规则的文章、故事、广告语等。 图像生成:利用计算机视觉技术,根据给定的输入,自动生成符合要求的图片、海报、漫画等。 音频生成:使用语音合成技术,根据给定的文字或语音输入,自动生成符合要求的音频文件,如语音助手、语音导航等。 视频生成:利用计算机视觉和语音识别技术,根据给定的输入,自动生成符合要求的视频文件,如智能监控、智能安防等。 AIGC技术的应用不仅可以提高内容生成的效率和质量,还可以降低内容制作的成本和风险。例如,在媒体和广告行业,AIGC技术可以快速生成符合品牌调性和用户需求的文章、图片和视频,提高品牌曝光和用户粘性。在游戏行业,AIGC技术可以自动生成游戏场景、角色和道具等,提高游戏开发效率和质量。

picture.image

  • 部分案例:
  • 腾讯“AI写稿”:在2018年雅加达亚运会期间,腾讯新闻写稿机器人以接近500篇/天的速度发布关于亚运会的赛事新闻,内容覆盖11个比赛大项。通过结合计算机视觉与自然语言处理技术,腾讯写稿机器人可以从网上抓取信息给图片打标签;然后基于标签通过算法挖掘出图片中的信息;再根据各种框架算出精彩指数并挑选图片;最后选择历史文章片段完成文本写作。整个流程耗时不超过5秒。

  • 阿里巴巴“AI设计”:阿里巴巴的“鹿班”是一款可以秒级自动生成大量Banner图的在线设计工具,2017年双11期间,鹿班累计设计4.4亿张Banner图,而人类设计师的极限是1000张。鹿班突出的一个功能是“智能排版”,用户只需要任意输入一段文字、上传一张图片即可,通过算法就能自动分析内容与背景的关系,实现元素间的最优布局。

  • 快手“AI合成主播”:2020年,快手推出“AI合成主播”,该主播可以24小时在线直播,只需输入文字即可生成内容。这种主播可以替代部分人工主播,降低直播成本,提高直播效率。

  • 微软小冰“AI写诗”:微软小冰通过深度学习和自然语言处理技术,可以自动生成符合格律和意境的诗歌。这些诗歌不仅可以用于文化娱乐,还可以用于教育和科研等领域。

  • 谷歌“AI作画”:谷歌推出了一种名为“DeepDream”的AI作画工具,可以根据给定的输入自动生成具有艺术风格的图像。这些图像可以用于艺术创作、广告设计和游戏开发等领域。

LLM 进行图像识别与传统 OCR 对比时的主要缺点

LLM 的缺点

  1. 高计算资源需求:
  • 训练成本:训练大型语言模型需要大量的计算资源,包括高性能 GPU 和大规模的数据集。这导致训练成本非常高昂。
  • 推理成本:即使在模型训练完成后,进行实时推理也需要较高的计算资源,这对于资源有限的设备(如嵌入式系统)来说是一个挑战。
  1. 数据隐私和安全问题:
  • 数据收集:训练 LLM 需要大量的数据,这些数据可能包含敏感信息。收集和使用这些数据需要严格遵守数据隐私和安全法规,增加了合规成本。
  • 数据泄露风险:在传输和存储过程中,数据有泄露的风险,特别是在云环境中。
  1. 模型复杂性和可解释性差:
  • 黑盒性质:大型语言模型通常被视为“黑盒”,内部机制难以理解,这在某些需要高度透明和可解释性的应用场景中可能是一个问题。
  • 调试困难:由于模型复杂,调试和优化变得更加困难,尤其是在遇到特定问题时。
  1. 训练时间和成本:
  • 长时间训练:训练 LLM 需要大量的时间和计算资源,这在快速迭代和开发周期短的项目中可能是一个瓶颈。
  • 持续优化:模型需要定期进行微调和优化,以适应新的数据和应用场景,这增加了维护成本。
  1. 泛化能力的局限性:
  • 特定领域适应:尽管 LLM 具有较强的泛化能力,但在特定领域(如医学、法律等)的性能可能不如专门为这些领域设计的传统 OCR 系统。
  • 长尾问题:对于一些罕见或特殊的字符和布局,LLM 可能表现不佳,因为这些情况在训练数据中出现的频率较低。
  1. 实时性和延迟:
  • 响应时间:由于 LLM 的复杂性,实时处理图像和文本的响应时间可能较长,这对于需要快速反馈的应用(如实时翻译、即时通讯等)可能是一个问题。
  1. 模型大小和存储:
  • 大模型占用空间:大型语言模型通常体积庞大,占用较多的存储空间,这在存储资源有限的设备上可能是一个问题。

与传统 OCR 的对比

  1. 技术成熟度:
  • 传统 OCR:已经发展了几十年,技术相对成熟,有许多现成的商业产品和服务,易于集成和使用。
  • LLM:虽然近年来取得了显著进展,但仍处于快速发展阶段,技术和工具仍在不断完善中。
  1. 成本效益:
  • 传统 OCR:成本相对较低,适合预算有限的小型企业和个人开发者。
  • LLM:初始投资和长期维护成本较高,更适合大型企业和有较高预算的项目。
  1. 应用场景:
  • 传统 OCR:适用于标准化和结构化的文档处理,如发票、表格等。

  • LLM:适用于复杂和非结构化的文档处理,如手写笔记、多语言文档等。

识别图型验证码

今天我们来看的场景是 图型验证码识别,使用公网大模型API起成本高效识别图型验证码

提示词

请对这张图片进行OCR识别,并输出最准确的验证码,直接输出识别出的结果字符,不要输出其他内容。

文心一言3.5

picture.image

通义千问2.5

picture.image

通义千问2-VL-开源版-7B

图片理解qwen2-vl-7b

picture.image

关于7B模型

一般来说,7B参数量的模型在推理时可能需要至少8GB到16GB的GPU显存,但这只是一个粗略的估计。 为了更准确地评估所需GPU显存,建议参考该模型官方提供的文档或测试环境中的具体要求。如果是在本地运行,还应该考虑是否进行了任何优化措施,比如混合精度训练(使用FP16而非FP32),这可以有效减少所需的显存量。 如果您打算进行模型训练而不是简单的推理,那么可能还需要更多的显存来存储梯度信息和其他训练过程中产生的数据。

KIMI

picture.image

Gemini 1.5 Flash

做 OCR 效果非常好,可以在 Prompt 里面定制要输出的格式,并且成本极低。 案例有宝玉反馈其朋友某公司使用第三方的OCR的服务,用来提取发票上的文字为结构化数据。但收费较高.

参考提示词: *** Extract text from the provided image and organize it into a structured JSON format. ***

Google 每天为开发者免费提供15亿个Token,其中 Gemini 1.5 Flash免费套餐包含: - 每分钟15次请求(RPM) - 每分钟100万个Token(TPM) - 每天1,500次Token(RPD) - 免费上下文缓存服务,每小时最多可存储100万个Token - 免费微调 Gemini 1.5 Pro免费套餐包含: - 每分钟2次请求(RPM) - 每分钟32,000个Token(TPM) - 每天50次请求(RPD) 微调模型 text-embedding-004 提供: - 每分钟1,500次请求(RPM) 除了前面说的 API,Google AI Studio 还为开发者提供免费访问,其中 Gemini 1.5 Pro 有 2M Token上下文窗口。 价格页面: https://ai.google.dev/pricing Google AI Studio: https://aistudio.google.com

发票识别示例场景

picture.image

代码实现


          
import os
          
import json
          
import base64
          
import requests
          
from datetime import datetime
          

          
class AliBailianImageService:
          
     def __init__(self, configuration):
          
         self.configuration = configuration
          

          
    def get_api_key(self):
          
         # 根据环境变量决定从哪里读取 API Key
          
         dev_environment_variable = os.getenv("ENVIRONMENT")
          
         is_development = not dev_environment_variable or dev_environment_variable.lower() == "development"
          

          
        if is_development:
          
             # 开发环境从配置中读取
          
             api_key = self.configuration.get("DASHSCOPE_API_KEY")
          
         else:
          
             # 生产环境从环境变量读取
          
             api_key = os.getenv("DASHSCOPE_API_KEY")
          

          
        # 若没有配置环境变量,请用百炼API Key将下行替换为:api_key = "sk-xxx"
          
         if not api_key:
          
             print("API Key 未设置。请确保环境变量 'DASHSCOPE_API_KEY' 已设置。")
          
             return None
          

          
        return api_key
          

          
    def get_image_base64_string_and_save(self, image_url):
          
         response = requests.get(image_url)
          
         if response.status_code != 200:
          
             raise Exception(f"Failed to download image: {response.status_code}")
          

          
        image_data = response.content
          
         encoded_image = base64.b64encode(image_data).decode('utf-8')
          

          
        # 可选步骤:保存图片到文件
          
         # filename = f"{uuid.uuid4()}.jpg"
          
         # with open(filename, 'wb') as f:
          
         #     f.write(image_data)
          

          
        return encoded_image
          

          
    def send_post_request(self, url, json_content, api_key):
          
         headers = {
          
             "Authorization": f"Bearer {api_key}",
          
             "Content-Type": "application/json",
          
             "Accept": "application/json"
          
         }
          

          
        response = requests.post(url, data=json_content, headers=headers)
          
         response_body = response.text
          

          
        self.write_response_to_log(response_body)
          

          
        if response.status_code >= 200 and response.status_code < 300:
          
             return response_body
          
         else:
          
             return f"请求失败: {response.status_code}"
          

          
    def write_response_to_log(self, response_body):
          
         log_file_path = "Logs/response.log"
          
         log_dir = os.path.dirname(log_file_path)
          

          
        if not os.path.exists(log_dir):
          
             os.makedirs(log_dir)
          

          
        with open(log_file_path, 'a') as f:
          
             f.write(f"[{datetime.now().strftime('%Y-%m-%d %H:%M:%S')}] Response Body: {response_body}\n")
          

          
    def get_results(self):
          
         api_key = self.get_api_key()
          
         if not api_key:
          
             return None
          

          
        encoded_image = self.get_image_base64_string_and_save(
          
             "http://0.0.0.0/7661454/captchaimage?rnd=0.8717223995099175"
          
         )
          

          
        url = "https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions"
          
         json_content = {
          
             "model": "qwen2-vl-7b-instruct",
          
             "messages": [
          
                 {
          
                     "role": "user",
          
                     "content": [
          
                         {"type": "text", "text": "请对这张图片进行OCR识别,并输出最准确的验证码,直接输出识别出的结果字符,不要输出其他内容。"},
          
                         {"type": "image_url", "image_url": {"url": f"data:image/png;base64,{encoded_image}"}}
          
                     ]
          
                 }
          
             ]
          
         }
          

          
        json_content_str = json.dumps(json_content)
          

          
        result = self.send_post_request(url, json_content_str, api_key)
          
         print(result)
          
         return result
          

          
if __name__ == "__main__":
          
     # 示例配置
          
     config = {
          
         "DASHSCOPE_API_KEY": "your-api-key-here"
          
     }
          

          
    service = AliBailianImageService(config)
          
     result = service.get_results()
          
     if result:
          
         print("Result:", result)
          

          

      

通义千问2-VL-开源版-2B

通义千问VL模型qwen2-vl-2b-instruct可以根据您传入的图片来进行回答,curl参考


        
            

          curl -X POST https://dashscope.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation \ -H "Authorization: Bearer $DASHSCOPE\_API\_KEY" \ -H 'Content-Type: application/json' \ -d '{ "model": "qwen-vl-max", "input":{ "messages":[ { "role": "user", "content": [ {"image": "https://img.alicdn.com/imgextra/i2/O1CN01y1lotD1hINrPr60fs\_!!6000000004254-0-tps-1384-3024.jpg"}, {"text": "这是什么?"} ] } ] } }'
        
      

事实情况下独立部署也可以

测试图片进行识别

picture.image

返回示例


        
            

          [2024-11-06 16:14:22] Response Body: {"choices":[{"message":{"content":"\"bafy\"","role":"assistant"},"finish\_reason":"stop","index":0,"logprobs":null}],"object":"chat.completion","usage":{"prompt\_tokens":60,"completion\_tokens":6,"total\_tokens":66},"created":1730880859,"system\_fingerprint":null,"model":"qwen-vl-plus","id":"chatcmpl-5a306496-300c-9815-8c50-35e98f15508d"}
        
      

目前仅供免费体验,另一个官方示例是视觉语言模型输出示例

picture.image

传统OCR工具提取的内容不完整且格式混乱。 大模型不仅能精准提取图片中的文字,还能以规整的形式输出。

picture.image

picture.image

通义千问团队以Apache 2.0协议开源了Qwen2-VL-2B和Qwen2-VL-7B,开源代码已集成到Hugging Face Transformers、vLLM和其他第三方框架中。开发者可以通过Hugging Face和魔搭ModelScope下载使用模型,也可通过通义官网、通义APP的主对话页面使用模型。

图片理解

https://bailian.console.aliyun.com/#/model-market/detail/qwen2-vl-2b-instruct?tabKey=sdk

视觉理解

https://help.aliyun.com/zh/model-studio/user-guide/vision?spm=a2c4g.11186623.help-menu-2400256.d\_1\_0\_2.5ef477e9sJEdx7&scm=20140722.H\_2845871.\_.OR\_help-V\_1#f1cbd5b8a8k5w

阿里云百炼平台:

https://help.aliyun.com/zh/model-studio/developer-reference/qwen-vl-api

GitHub:

https://github.com/QwenLM/Qwen2-VL

HuggingFace:

https://huggingface.co/collections/Qwen/qwen2-vl -66cee7455501d7126940800d

魔搭ModelScope:

https://modelscope.cn/organization/qwen?tab=model

模型体验:

https://huggingface.co/spaces/Qwen/Qwen2-VL

https://qwen.readthedocs.io/en/latest/benchmark/speed\_benchmark.html

总结

   我们基于互联网大模型API辅助实现图型验证码识别,如果配合工作流更是简单便捷,同时成本不高, 使得老一代信息系统中图型验证码已存在安全隐患。相比传统OCR识别,能够按要求完善识别后格式。

LLM(Large Language Models,大型语言模型)辅助OCR(Optical Character Recognition,光学字符识别)图片识别具有重要意义,主要体现在以下几个方面:

1、提高信息提取的准确性和效率

OCR技术的局限性:

  • OCR技术虽然能够从图像中提取文本信息,但在处理复杂场景时,如具有复杂背景、手写字体、低质量图像等情况,其识别准确性可能会受到影响。

LLM的辅助作用:

  • LLM可以对OCR提取的文本进行深入分析,理解其上下文含义,并提取出关键信息。这种分析能力使得LLM能够纠正OCR识别中的错误,提高信息提取的准确性。
  • LLM还可以根据用户的提问或需求,对提取的信息进行进一步的筛选和整理,从而提高信息提取的效率。

2、拓展OCR技术的应用场景

传统OCR的应用限制:

传统的OCR技术主要应用于文档扫描、车牌识别等相对简单的场景。

LLM赋能下的OCR应用:

在LLM的辅助下,OCR技术可以应用于更复杂的场景,如自然场景文本识别、手写字体识别等。

此外,LLM还可以结合OCR技术实现定制化的关键信息抽取,满足不同行业和领域的特定需求。

3、推动智能化发展

自动化办公:

  • 在办公场景中,LLM与OCR的结合可以实现对文档图片的自动识别、关键信息提取和整理,极大地提高了工作效率。例如,在财务报销流程中,可以自动从发票图片中提取关键信息并录入系统。

智能客服:

  • 在智能客服领域,用户可能会通过图片形式发送问题或需求。利用LLM与OCR技术,智能客服可以自动识别图片中的文字信息,并据此给出相应的回答或解决方案。

其他领域:

  • 在电商领域,LLM技术可以用于分析商品图片中的关键信息,如品牌、颜色、尺码等,以支持商品推荐和库存管理等决策。
  • 在医疗影像分析领域,可以使用OCR技术提取影像中的文字信息,再使用LLM理解影像描述的语义信息,从而实现对病情的自动诊断和分析。

4、技术融合与创新

技术融合:

  • LLM与OCR的结合是技术融合的一个典型例子。这种融合不仅提高了信息提取的准确性和效率,还拓展了OCR技术的应用场景。

技术创新:

  • 随着LLM技术的不断发展,其在OCR领域的应用也将不断创新。例如,通过引入更先进的深度学习算法和模型结构,可以进一步提高LLM对OCR提取文本的理解和分析能力。

通义千问团队以Apache 2.0协议开源了Qwen2-VL-2B和Qwen2-VL-7B,开源代码已集成到Hugging Face Transformers、vLLM和其他第三方框架中。开发者可以通过Hugging Face和魔搭ModelScope下载使用模型,也可通过通义官网、通义APP的主对话页面使用模型。

图片理解

https://bailian.console.aliyun.com/#/model-market/detail/qwen2-vl-2b-instruct?tabKey=sdk

视觉理解

https://help.aliyun.com/zh/model-studio/user-guide/vision?spm=a2c4g.11186623.help-menu-2400256.d\_1\_0\_2.5ef477e9sJEdx7&scm=20140722.H\_2845871.\_.OR\_help-V\_1#f1cbd5b8a8k5w

阿里云百炼平台:

https://help.aliyun.com/zh/model-studio/developer-reference/qwen-vl-api

GitHub:

https://github.com/QwenLM/Qwen2-VL

HuggingFace:

https://huggingface.co/collections/Qwen/qwen2-vl -66cee7455501d7126940800d

魔搭ModelScope:

https://modelscope.cn/organization/qwen?tab=model

模型体验:

https://huggingface.co/spaces/Qwen/Qwen2-VL

https://qwen.readthedocs.io/en/latest/benchmark/speed\_benchmark.html

总结

   我们基于互联网大模型API辅助实现图型验证码识别,如果配合工作流更是简单便捷,同时成本不高, 使得老一代信息系统中图型验证码已存在安全隐患。相比传统OCR识别,能够按要求完善识别后格式。

LLM(Large Language Models,大型语言模型)辅助OCR(Optical Character Recognition,光学字符识别)图片识别具有重要意义,主要体现在以下几个方面:

1、提高信息提取的准确性和效率

OCR技术的局限性:

  • OCR技术虽然能够从图像中提取文本信息,但在处理复杂场景时,如具有复杂背景、手写字体、低质量图像等情况,其识别准确性可能会受到影响。

LLM的辅助作用:

  • LLM可以对OCR提取的文本进行深入分析,理解其上下文含义,并提取出关键信息。这种分析能力使得LLM能够纠正OCR识别中的错误,提高信息提取的准确性。
  • LLM还可以根据用户的提问或需求,对提取的信息进行进一步的筛选和整理,从而提高信息提取的效率。

2、拓展OCR技术的应用场景

传统OCR的应用限制:

传统的OCR技术主要应用于文档扫描、车牌识别等相对简单的场景。

LLM赋能下的OCR应用:

在LLM的辅助下,OCR技术可以应用于更复杂的场景,如自然场景文本识别、手写字体识别等。

此外,LLM还可以结合OCR技术实现定制化的关键信息抽取,满足不同行业和领域的特定需求。

3、推动智能化发展

自动化办公:

  • 在办公场景中,LLM与OCR的结合可以实现对文档图片的自动识别、关键信息提取和整理,极大地提高了工作效率。例如,在财务报销流程中,可以自动从发票图片中提取关键信息并录入系统。

智能客服:

  • 在智能客服领域,用户可能会通过图片形式发送问题或需求。利用LLM与OCR技术,智能客服可以自动识别图片中的文字信息,并据此给出相应的回答或解决方案。

其他领域:

  • 在电商领域,LLM技术可以用于分析商品图片中的关键信息,如品牌、颜色、尺码等,以支持商品推荐和库存管理等决策。
  • 在医疗影像分析领域,可以使用OCR技术提取影像中的文字信息,再使用LLM理解影像描述的语义信息,从而实现对病情的自动诊断和分析。

4、技术融合与创新

技术融合:

  • LLM与OCR的结合是技术融合的一个典型例子。这种融合不仅提高了信息提取的准确性和效率,还拓展了OCR技术的应用场景。

技术创新:

  • 随着LLM技术的不断发展,其在OCR领域的应用也将不断创新。例如,通过引入更先进的深度学习算法和模型结构,可以进一步提高LLM对OCR提取文本的理解和分析能力。

机器学习算法AI大数据技术

搜索公众号添加: datanlp

picture.image

长按图片,识别二维码

阅读过本文的人还看了以下文章:

实时语义分割ENet算法,提取书本/票据边缘

整理开源的中文大语言模型,以规模较小、可私有化部署、训练成本较低的模型为主

《大语言模型》PDF下载

动手学深度学习-(李沐)PyTorch版本

YOLOv9电动车头盔佩戴检测,详细讲解模型训练

TensorFlow 2.0深度学习案例实战

基于40万表格数据集TableBank,用MaskRCNN做表格检测

《基于深度学习的自然语言处理》中/英PDF

Deep Learning 中文版初版-周志华团队

【全套视频课】最全的目标检测算法系列讲解,通俗易懂!

《美团机器学习实践》_美团算法团队.pdf

《深度学习入门:基于Python的理论与实现》高清中文PDF+源码

《深度学习:基于Keras的Python实践》PDF和代码

特征提取与图像处理(第二版).pdf

python就业班学习视频,从入门到实战项目

2019最新《PyTorch自然语言处理》英、中文版PDF+源码

《21个项目玩转深度学习:基于TensorFlow的实践详解》完整版PDF+附书代码

《深度学习之pytorch》pdf+附书源码

PyTorch深度学习快速实战入门《pytorch-handbook》

【下载】豆瓣评分8.1,《机器学习实战:基于Scikit-Learn和TensorFlow》

《Python数据分析与挖掘实战》PDF+完整源码

汽车行业完整知识图谱项目实战视频(全23课)

李沐大神开源《动手学深度学习》,加州伯克利深度学习(2019春)教材

笔记、代码清晰易懂!李航《统计学习方法》最新资源全套!

《神经网络与深度学习》最新2018版中英PDF+源码

将机器学习模型部署为REST API

FashionAI服装属性标签图像识别Top1-5方案分享

重要开源!CNN-RNN-CTC 实现手写汉字识别

yolo3 检测出图像中的不规则汉字

同样是机器学习算法工程师,你的面试为什么过不了?

前海征信大数据算法:风险概率预测

【Keras】完整实现‘交通标志’分类、‘票据’分类两个项目,让你掌握深度学习图像分类

VGG16迁移学习,实现医学图像识别分类工程项目

特征工程(一)

特征工程(二) :文本数据的展开、过滤和分块

特征工程(三):特征缩放,从词袋到 TF-IDF

特征工程(四): 类别特征

特征工程(五): PCA 降维

特征工程(六): 非线性特征提取和模型堆叠

特征工程(七):图像特征提取和深度学习

如何利用全新的决策树集成级联结构gcForest做特征工程并打分?

Machine Learning Yearning 中文翻译稿

蚂蚁金服2018秋招-算法工程师(共四面)通过

全球AI挑战-场景分类的比赛源码(多模型融合)

斯坦福CS230官方指南:CNN、RNN及使用技巧速查(打印收藏)

python+flask搭建CNN在线识别手写中文网站

中科院Kaggle全球文本匹配竞赛华人第1名团队-深度学习与特征工程

不断更新资源

深度学习、机器学习、数据分析、python

搜索公众号添加: datayx

picture.image

0
0
0
0
相关资源
火山引擎大规模机器学习平台架构设计与应用实践
围绕数据加速、模型分布式训练框架建设、大规模异构集群调度、模型开发过程标准化等AI工程化实践,全面分享如何以开发者的极致体验为核心,进行机器学习平台的设计与实现。
相关产品
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论