深度学习YOLO实战:5、基于YOLO的自动化图像批量检测方案

前言

在实际应用中,我们经常会遇到需要对整个文件夹下的所有图像进行批量目标检测的场景。例如:

  • 在安防监控领域,常常要对多路摄像头拍摄的图像进行成批分析,及时发现可能存在的安全威胁;
  • 在医学影像分析中,经常需要批量读取CT或X光图像,完成病灶检测,从而帮助医生进行临床诊断;
  • 而在工业制造环节,也广泛采用图像检测技术,对产品图像做自动化的质量检测与缺陷识别。

YOLO(You Only Look Once)作为一种高效且广泛使用的目标检测算法,提供了非常便捷的接口,能够轻松应对这类批量图像处理任务。接下来,我们将通过具体代码示例,一步步说明如何对指定目录下的全部图像执行推理,并保存检测后的结果。

示例代码

假设目标图像存储在 ultralytics/assets 目录下,我们可以使用以下代码对该目录中的所有图像进行目标检测,并将检测结果保存到指定位置:

python 复制代码
from ultralytics import YOLO
# 加载预训练的 YOLO 模型
model = YOLO("yolo11n.pt") 
# 进行预测,对目录中的所有图像进行推理
model.predict(
    source=r"ultralytics/assets/",  # 指定输入目录路径
    save=True,  # 保存预测结果
    show=False,  # 不显示结果
)

参数说明

  • source 参数
    类型为字符串,用于指定待检测的数据来源。除了目录路径外,它还可以接受单张图像、视频、URL或设备ID等多种输入形式。在本例中,我们传入一个目录路径,YOLO会自动识别该目录下所有支持格式的图像文件,并依次进行检测。
  • save 参数
    类型为布尔值,用于控制是否保存检测结果。当设置为 True 时,系统会自动将标注后的结果图像输出到 runs/detect/predict 目录中。如果该目录不存在,程序会自动创建。
  • show 参数
    类型为布尔值,决定是否在推理过程中实时显示检测结果。对于批量图像处理任务,建议保持 False,这样可以避免因图形界面渲染而消耗额外资源,从而显著提升处理效率。

示例输出

运行代码后,我们可以在终端中看到类似以下的输出信息:

bash 复制代码
image 1/2 /media/becase/common/yolo/Learning/01_predict/ultralytics/assets/bus.jpg: 640x480 4 persons, 1 bus, 62.3ms
image 2/2 /media/becase/common/yolo/Learning/01_predict/ultralytics/assets/zidane.jpg: 384x640 2 persons, 1 tie, 54.2ms
Speed: 1.8ms preprocess, 58.2ms inference, 1.1ms postprocess per image at shape (1, 3, 384, 640)
Results saved to /media/becase/common/yolo/Learning/01_predict/runs/detect/predict

输出解读

这段输出提供了完整的处理详情:

  • 图像序列 :image 1/2 表示当前处理的是批次中的第1张图像,总共需要处理2张
  • 文件路径:显示每个被处理图像的完整存储位置
  • 分辨率信息 :如 640x480 展示了图像的尺寸规格
  • 检测结果:列出识别到的物体类别及数量,例如检测到"4 persons, 1 bus"
  • 处理速度:包含单张图像的预处理、推理和后处理耗时,以及处理时采用的张量维度
  • 结果保存路径:标注完成后文件的最终存储位置

结果可视化

处理完成后,系统会为每张输入图像生成对应的标注结果文件。以下图为例:

从图中可以看到,YOLO算法成功检测出了人物、公交车等多个目标,并使用边界框与类别标签进行了清晰标注。

总结

通过本文的演示,我们了解了使用YOLO模型对目录中所有图像进行批量检测的完整流程。只需合理设置源目录路径、保存选项和显示参数,就能快速搭建一个高效的图像分析流水线。

这种批处理能力在安防监控、医疗影像分析和工业质量检测等需要处理大量图像的场景中特别有用,不仅大幅提升了工作效率,还能保证检测结果的准确性和一致性。

相关推荐
ZzT20 小时前
AI 时代吃香的三种人:有想法的懒人、替别人着想的人、不被 AI 带偏的人
人工智能·ai编程
姚瑞南20 小时前
【PRD】招投标商机雷达爬虫系统
人工智能·经验分享·笔记·爬虫·产品运营·产品经理
4SAPI20 小时前
多国产模型混合调度与企业级治理生产选型指南:4SAPI、硅基流动与 OpenRouter 的架构权衡
大数据·人工智能·架构·php
武子康20 小时前
Cosmos Curator 总览:从一条样本的组成,选对数据处理入口
人工智能·后端·agent
XMAIPC_Robot21 小时前
-40~85℃宽温实测:RK3588 机器人控制器硬件底座,长时间 SLAM 定位稳定性验证
人工智能·fpga开发·机器人·边缘计算·arm+fpga·rk3588+fpga
智购科技自动售货机厂家21 小时前
让AI经营自动售货机:从Project Vend看工具权限与业务规则~YH
大数据·服务器·单片机·嵌入式硬件·深度学习
锋行天下21 小时前
Langgraph 运行时上下文使用示例
人工智能
zandy101121 小时前
中电金信金融 AI 工程化实践:异构模型纳管、智能体治理与 AI 原生软件工厂
人工智能·金融
吴佳浩21 小时前
中小企业跑125B 大模型:显存装不下的时候,Strata 做了什么
人工智能·llm
学IT的周星星21 小时前
LangGraph:用「流程图」的方式编排 Agent
数据库·人工智能·大模型·llm·流程图·agent