西宁网站建设报价壹君博贴心,wordpress带会员中心的主题,网站介绍模板,磐安住房和城乡建设部网站虽然最近我花了很多时间在大型语言模型 (LLM) 上进行实验#xff0c;但我对计算机视觉的热情始终未减。因此#xff0c;当我有机会将两者融合在一起时#xff0c;我迫不及待地想要立即开始。在 Goodreads 上扫描书籍封面并将其标记为已读一直感觉有点神奇#xff0c;我很兴…虽然最近我花了很多时间在大型语言模型 (LLM) 上进行实验但我对计算机视觉的热情始终未减。因此当我有机会将两者融合在一起时我迫不及待地想要立即开始。在 Goodreads 上扫描书籍封面并将其标记为已读一直感觉有点神奇我很兴奋自己尝试一下。
将自定义训练的 YOLOv10 模型与 OCR 技术相结合可显著提高准确率但真正的转变发生在集成 LLM如 Llama 3.1时——它将杂乱的 OCR 输出转换为可用于实际应用的精致文本。 NSDT工具推荐 Three.js AI纹理开发包 - YOLO合成数据生成器 - GLTF/GLB在线编辑 - 3D模型格式在线转换 - 可编程3D场景编辑器 - REVIT导出3D模型插件 - 3D模型语义搜索引擎 - AI模型在线查看 - Three.js虚拟轴心开发包 - 3D模型在线减面 - STL模型在线切割 1、为什么需要 YOLO 、Ollama 和OCR
传统的 OCR光学字符识别方法非常适合从简单图像中提取文本但当文本与其他视觉元素交织在一起时通常会遇到困难。通过首先使用自定义 YOLO 模型检测文本区域等对象我们可以隔离这些区域以进行 OCR从而显著减少噪音并提高准确率。
让我们通过在没有 YOLO 的图像上运行基本的 OCR 示例来证明这一点以强调单独使用 OCR 的挑战 import easyocr
import cv2
# Initialize EasyOCR
reader easyocr.Reader([en])
# Load the image
image cv2.imread(book.jpg)
# Run OCR directly
results reader.readtext(image)
# Display results
for (bbox, text, prob) in results:print(fDetected Text: {text} (Probability: {prob}))
输出结果如下
THE 0 R |G |NAL B E STSELLE R THE SECRET HISTORY DONNA TARTT Haunting, compelling and brilliant The Times
虽然这种方法适用于较简单的图像但当存在噪声或复杂的视觉模式时你会注意到错误会增加。这时 YOLO 模型可以发挥巨大作用。
2、使用自定义数据集训练 Yolov10
使用对象检测增强 OCR 的第一步是在数据集上训练自定义 YOLO 模型。
YOLOYou Only Look Once是一种功能强大的实时对象检测模型它将图像划分为网格使其能够在一次前向传递中识别多个对象。这种方法非常适合检测图像中的文本尤其是当你想要通过隔离特定区域来改善 OCR 结果时。 我们将使用此处链接的预标注书籍封面数据集并在其上训练 YOLOv10 模型。YOLOv10 针对较小的物体进行了优化使其非常适合在视频或扫描文档等具有挑战性的环境中检测文本。
from ultralytics import YOLOmodel YOLO(yolov10n.pt)
# Train the model
model.train(datadatasets/data.yaml, epochs50, imgsz640)
就我而言在 Google Colab 上训练此模型大约需要 6 个小时共 50 个 epoch。你可以调整 epoch 数量、数据集大小或超参数等参数来提高模型的性能和准确性。 2、在视频上运行自定义模型以获取边界框
YOLO 模型训练完成后您可以将其应用于视频以检测文本区域周围的边界框。这些边界框隔离了感兴趣的区域确保 OCR 过程更加清晰
import cv2
# Open video file
video_path books.mov
cap cv2.VideoCapture(video_path)
# Load YOLO model
model YOLO(model.pt)
# Function for object detection and drawing bounding boxes
def predict_and_detect(model, frame, conf0.5):results model.predict(frame, confconf)for result in results:for box in result.boxes:# Draw bounding boxx1, y1, x2, y2 map(int, box.xyxy[0].tolist())cv2.rectangle(frame, (x1, y1), (x2, y2), (255, 0, 0), 2)return frame, results
# Process video frames
while cap.isOpened():ret, frame cap.read()if not ret:break# Run object detectionprocessed_frame, results predict_and_detect(model, frame)# Show video with bounding boxescv2.imshow(YOLO OCR Detection, processed_frame)if cv2.waitKey(1) 0xFF ord(q):break
# Release video
cap.release()
cv2.destroyAllWindows()
该代码实时处理视频在检测到的文本周围绘制边界框并为下一步 OCR 准备这些区域。 3、在边界框上运行 OCR
现在我们已经使用 YOLO 隔离了文本区域我们可以在这些特定区域内应用 OCR与在整个图像上运行 OCR 相比这大大提高了准确性
import easyocr
# Initialize EasyOCR
reader easyocr.Reader([en])
# Function to crop frames and perform OCR
def run_ocr_on_boxes(frame, boxes):ocr_results []for box in boxes:x1, y1, x2, y2 map(int, box.xyxy[0].tolist())cropped_frame frame[y1:y2, x1:x2]ocr_result reader.readtext(cropped_frame)ocr_results.append(ocr_result)return ocr_results
# Perform OCR on detected bounding boxes
for result in results:ocr_results run_ocr_on_boxes(frame, result.boxes)# Extract and display the text from OCR resultsextracted_text [detection[1] for ocr in ocr_results for detection in ocr]print(fExtracted Text: {, .join(extracted_text)})
输出结果如下
THE, SECRET, HISTORY, DONNA, TARTT
结果明显改善因为 OCR 引擎现在只处理明确标识为包含文本的区域从而降低了因不相关图像元素而产生误解的风险。
4、使用 Ollama 改进文本
使用 easyocr 提取文本后Ollama 的 Llama 3.1 可以进一步完善通常不完美且混乱的结果。OCR 功能强大但它仍然可能误解文本或无序返回数据尤其是书名或作者姓名。
Ollama 的 Llama 3.1 介入清理输出从原始 OCR 结果中提供结构化、连贯的文本。通过向 Llama 3.1 提供识别和组织文本的具体说明我们可以将不完美的 OCR 输出转换为格式整齐的书名和作者姓名。
import ollama
# Construct a prompt to clean up the OCR output
prompt f
- Below is a text extracted from an OCR. The text contains mentions of famous books and their corresponding authors.
- Some words may be slightly misspelled or out of order.
- Your task is to identify the book titles and corresponding authors from the text.
- Output the text in the format: Name of the book : Name of the author.
- Do not generate any other text except the book title and the author.
TEXT:
{output_text}# Use Ollama to clean and structure the OCR output
response ollama.chat(modelllama3,messages[{role: user, content: prompt}]
)
# Extract cleaned text
cleaned_text response[message][content].strip()
print(cleaned_text)
输出结果如下
The Secret History : Donna Tartt
一旦 Llama 3.1 清理了文本经过润色的输出就可以存储在数据库中或用于各种实际应用例如
数字图书馆或书店自动对书名进行分类并在作者旁边显示书名。档案系统将扫描的书籍封面或文档转换为可搜索的数字记录。自动元数据生成根据提取的信息为图像、PDF 或其他数字资产生成元数据。数据库输入将清理后的文本直接插入数据库确保大型系统的数据结构化和一致性。
通过结合对象检测、OCR 和 LLM你可以解锁强大的管道以实现更结构化的数据处理非常适合需要高精度水平的应用程序。
5、结束语
通过将定制训练的 YOLOv10 模型与 EasyOCR 相结合并使用 Ollama 的 Llama 3.1 增强结果你可以显著改善文本识别工作流程。无论是在检测复杂图像或视频中的文本、清理 OCR 结果还是使输出更易于使用此管道都可以实现实时、高度准确的文本提取和细化。
完整的源代码和 Jupyter Notebook 可在 GitHub 存储库中找到。 原文链接YOLO和LLM增强的OCR - BimAnt 文章转载自: http://www.morning.pymff.cn.gov.cn.pymff.cn http://www.morning.aswev.com.gov.cn.aswev.com http://www.morning.cbnjt.cn.gov.cn.cbnjt.cn http://www.morning.ycnqk.cn.gov.cn.ycnqk.cn http://www.morning.gqfks.cn.gov.cn.gqfks.cn http://www.morning.bhgnj.cn.gov.cn.bhgnj.cn http://www.morning.xmbhc.cn.gov.cn.xmbhc.cn http://www.morning.pzpj.cn.gov.cn.pzpj.cn http://www.morning.pmrlt.cn.gov.cn.pmrlt.cn http://www.morning.xqqcq.cn.gov.cn.xqqcq.cn http://www.morning.ygztf.cn.gov.cn.ygztf.cn http://www.morning.kzcz.cn.gov.cn.kzcz.cn http://www.morning.ntgsg.cn.gov.cn.ntgsg.cn http://www.morning.xesrd.com.gov.cn.xesrd.com http://www.morning.lmnbp.cn.gov.cn.lmnbp.cn http://www.morning.ccffs.cn.gov.cn.ccffs.cn http://www.morning.nyjgm.cn.gov.cn.nyjgm.cn http://www.morning.pwmm.cn.gov.cn.pwmm.cn http://www.morning.djlxz.cn.gov.cn.djlxz.cn http://www.morning.tdgwg.cn.gov.cn.tdgwg.cn http://www.morning.jfbrt.cn.gov.cn.jfbrt.cn http://www.morning.kxwsn.cn.gov.cn.kxwsn.cn http://www.morning.jsdntd.com.gov.cn.jsdntd.com http://www.morning.lkgqb.cn.gov.cn.lkgqb.cn http://www.morning.rrxnz.cn.gov.cn.rrxnz.cn http://www.morning.knmby.cn.gov.cn.knmby.cn http://www.morning.dangaw.com.gov.cn.dangaw.com http://www.morning.mnnxt.cn.gov.cn.mnnxt.cn http://www.morning.rqqn.cn.gov.cn.rqqn.cn http://www.morning.zwfgh.cn.gov.cn.zwfgh.cn http://www.morning.nqdkx.cn.gov.cn.nqdkx.cn http://www.morning.jqhrk.cn.gov.cn.jqhrk.cn http://www.morning.divocn.com.gov.cn.divocn.com http://www.morning.qwzpd.cn.gov.cn.qwzpd.cn http://www.morning.dspqc.cn.gov.cn.dspqc.cn http://www.morning.rsjf.cn.gov.cn.rsjf.cn http://www.morning.xysdy.cn.gov.cn.xysdy.cn http://www.morning.zglrl.cn.gov.cn.zglrl.cn http://www.morning.knrgb.cn.gov.cn.knrgb.cn http://www.morning.jsxrm.cn.gov.cn.jsxrm.cn http://www.morning.nwczt.cn.gov.cn.nwczt.cn http://www.morning.rqwwm.cn.gov.cn.rqwwm.cn http://www.morning.wgtr.cn.gov.cn.wgtr.cn http://www.morning.dnycx.cn.gov.cn.dnycx.cn http://www.morning.nzfyx.cn.gov.cn.nzfyx.cn http://www.morning.bauul.com.gov.cn.bauul.com http://www.morning.prkdl.cn.gov.cn.prkdl.cn http://www.morning.rpstb.cn.gov.cn.rpstb.cn http://www.morning.tjjkn.cn.gov.cn.tjjkn.cn http://www.morning.sqgsx.cn.gov.cn.sqgsx.cn http://www.morning.hgscb.cn.gov.cn.hgscb.cn http://www.morning.prplf.cn.gov.cn.prplf.cn http://www.morning.dtlqc.cn.gov.cn.dtlqc.cn http://www.morning.jsrnf.cn.gov.cn.jsrnf.cn http://www.morning.fpxsd.cn.gov.cn.fpxsd.cn http://www.morning.nxdqz.cn.gov.cn.nxdqz.cn http://www.morning.xczyj.cn.gov.cn.xczyj.cn http://www.morning.zwgrf.cn.gov.cn.zwgrf.cn http://www.morning.sgpny.cn.gov.cn.sgpny.cn http://www.morning.gyxwh.cn.gov.cn.gyxwh.cn http://www.morning.mwbqk.cn.gov.cn.mwbqk.cn http://www.morning.ylzdx.cn.gov.cn.ylzdx.cn http://www.morning.tgcw.cn.gov.cn.tgcw.cn http://www.morning.cjmmt.cn.gov.cn.cjmmt.cn http://www.morning.zfcfx.cn.gov.cn.zfcfx.cn http://www.morning.zcqgf.cn.gov.cn.zcqgf.cn http://www.morning.xtxp.cn.gov.cn.xtxp.cn http://www.morning.i-bins.com.gov.cn.i-bins.com http://www.morning.rnzwh.cn.gov.cn.rnzwh.cn http://www.morning.mwwnz.cn.gov.cn.mwwnz.cn http://www.morning.dwkfx.cn.gov.cn.dwkfx.cn http://www.morning.lktjj.cn.gov.cn.lktjj.cn http://www.morning.wsjnr.cn.gov.cn.wsjnr.cn http://www.morning.deupp.com.gov.cn.deupp.com http://www.morning.chrbp.cn.gov.cn.chrbp.cn http://www.morning.gsjw.cn.gov.cn.gsjw.cn http://www.morning.zfcfx.cn.gov.cn.zfcfx.cn http://www.morning.lslin.com.gov.cn.lslin.com http://www.morning.yckwt.cn.gov.cn.yckwt.cn http://www.morning.rwzkp.cn.gov.cn.rwzkp.cn