news 2026/4/19 6:31:16

YOLO12应用教程:将目标检测集成到你的项目中,简单几步搞定

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
YOLO12应用教程:将目标检测集成到你的项目中,简单几步搞定

YOLO12应用教程:将目标检测集成到你的项目中,简单几步搞定

1. 引言:为什么选择YOLO12?

目标检测是计算机视觉中最基础也最重要的任务之一。在众多目标检测模型中,YOLO系列因其出色的实时性能而广受欢迎。最新发布的YOLO12在保持实时检测速度的同时,通过创新的注意力机制架构,将检测精度提升到了新的高度。

本教程将带你快速掌握如何将YOLO12集成到你的项目中。无论你是想为现有应用添加目标检测功能,还是想开发全新的视觉应用,这篇教程都能帮你快速上手。

2. 环境准备与快速部署

2.1 系统要求

在开始之前,请确保你的系统满足以下要求:

  • 操作系统:Linux (推荐Ubuntu 20.04/22.04) 或 Windows 10/11
  • GPU:NVIDIA显卡 (推荐RTX 3060及以上)
  • CUDA:11.7或更高版本
  • Python:3.8或更高版本

2.2 安装依赖

YOLO12可以通过Ultralytics库轻松安装和使用:

pip install ultralytics

这个命令会自动安装所有必要的依赖,包括PyTorch、OpenCV等。

3. 快速上手:第一个检测示例

3.1 加载预训练模型

让我们从一个简单的图像检测示例开始:

from ultralytics import YOLO import cv2 # 加载YOLO12小型模型 model = YOLO('yolo12n.pt') # 检测图片 results = model('street.jpg') # 替换为你的图片路径 # 处理结果 for result in results: # 绘制检测框 annotated_img = result.plot() # 显示结果 cv2.imshow('YOLO12 Detection', annotated_img) cv2.waitKey(0) cv2.destroyAllWindows() # 保存结果 result.save('result.jpg')

这段代码会:

  1. 加载预训练的YOLO12小型模型
  2. 对指定图片进行目标检测
  3. 显示并保存带标注框的结果图片

3.2 理解检测结果

YOLO12的检测结果包含丰富的信息:

for result in results: boxes = result.boxes # 检测框信息 for box in boxes: print(f"检测到: {model.names[int(box.cls)]}") print(f"置信度: {box.conf.item():.2f}") print(f"位置坐标: {box.xyxy[0].tolist()}")

输出示例:

检测到: car 置信度: 0.92 位置坐标: [123.45, 56.78, 234.56, 89.01]

4. 进阶应用:视频流检测

4.1 视频文件检测

YOLO12同样适用于视频检测:

from ultralytics import YOLO import cv2 # 加载模型 model = YOLO('yolo12n.pt') # 打开视频文件 video_path = "traffic.mp4" cap = cv2.VideoCapture(video_path) # 准备输出视频 output_path = "output.mp4" fourcc = cv2.VideoWriter_fourcc(*'mp4v') out = cv2.VideoWriter(output_path, fourcc, 30.0, (640, 480)) while cap.isOpened(): ret, frame = cap.read() if not ret: break # 调整帧大小 frame = cv2.resize(frame, (640, 480)) # 检测当前帧 results = model(frame) # 绘制检测结果 annotated_frame = results[0].plot() # 写入输出视频 out.write(annotated_frame) # 显示实时结果 cv2.imshow('YOLO12 Video Detection', annotated_frame) # 按q退出 if cv2.waitKey(1) & 0xFF == ord('q'): break # 释放资源 cap.release() out.release() cv2.destroyAllWindows()

4.2 实时摄像头检测

只需简单修改即可实现摄像头实时检测:

# 使用默认摄像头 cap = cv2.VideoCapture(0) # 0表示第一个摄像头

5. 自定义模型训练

5.1 准备数据集

YOLO12支持自定义数据集训练。数据集结构如下:

custom_dataset/ ├── images/ │ ├── train/ │ │ ├── img1.jpg │ │ └── ... │ └── val/ │ ├── img1.jpg │ └── ... └── labels/ ├── train/ │ ├── img1.txt │ └── ... └── val/ ├── img1.txt └── ...

标签文件格式为:

class_id x_center y_center width height

5.2 创建配置文件

创建custom_data.yaml配置文件:

path: custom_dataset train: images/train val: images/val names: 0: cat 1: dog 2: person

5.3 开始训练

from ultralytics import YOLO # 加载基础模型 model = YOLO('yolo12n.pt') # 开始训练 results = model.train( data='custom_data.yaml', epochs=100, imgsz=640, batch=16, name='custom_yolo12' )

6. 模型优化与部署

6.1 模型评估

训练完成后,评估模型性能:

metrics = model.val() print(f"mAP@0.5: {metrics.box.map50:.3f}") print(f"mAP@0.5:0.95: {metrics.box.map:.3f}")

6.2 模型导出

YOLO12支持导出为多种格式:

# 导出为ONNX格式 model.export(format='onnx') # 导出为TensorRT引擎 model.export(format='engine')

6.3 构建Web服务

使用Flask构建简单的检测API:

from flask import Flask, request, jsonify from ultralytics import YOLO import cv2 import numpy as np import base64 app = Flask(__name__) model = YOLO('yolo12n.pt') @app.route('/detect', methods=['POST']) def detect(): # 获取并解码图片 img_data = base64.b64decode(request.json['image']) img = cv2.imdecode(np.frombuffer(img_data, np.uint8), cv2.IMREAD_COLOR) # 检测 results = model(img) # 处理结果 detections = [] for box in results[0].boxes: detections.append({ 'class': model.names[int(box.cls)], 'confidence': float(box.conf), 'bbox': box.xyxy[0].tolist() }) return jsonify(detections) if __name__ == '__main__': app.run(host='0.0.0.0', port=5000)

7. 总结

通过本教程,你已经学会了:

  1. 如何快速部署YOLO12目标检测模型
  2. 对图像和视频进行目标检测的基本方法
  3. 如何训练自定义数据集
  4. 模型优化和部署的基本技巧

YOLO12的强大性能和易用性使其成为各种计算机视觉应用的理想选择。无论是智能监控、自动驾驶还是工业质检,YOLO12都能提供高效的解决方案。


获取更多AI镜像

想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/19 6:30:43

低代码平台集成:在Dify中快速接入Phi-4-mini-reasoning推理能力

低代码平台集成:在Dify中快速接入Phi-4-mini-reasoning推理能力 1. 引言:让专业AI模型触手可及 想象一下,你是一家初创公司的产品经理,需要快速搭建一个智能客服系统。传统方案要么需要组建技术团队从头开发,要么支付…

作者头像 李华
网站建设 2026/4/19 6:29:33

Stable Diffusion v1.5开箱体验:一键部署,随时随地生成创意图片

Stable Diffusion v1.5开箱体验:一键部署,随时随地生成创意图片 1. 为什么选择Stable Diffusion v1.5? Stable Diffusion v1.5作为AI图像生成领域的里程碑式模型,至今仍是许多创意工作者的首选工具。相比最新版本,v1…

作者头像 李华
网站建设 2026/4/19 6:20:49

GTE+SeqGPT企业应用:新能源车企电池技术文档语义检索系统落地

GTESeqGPT企业应用:新能源车企电池技术文档语义检索系统落地 1. 项目背景与价值 新能源车企的技术文档管理正面临巨大挑战。以电池技术为例,一份完整的电池技术文档可能包含数百页的安全规范、性能参数、维护指南和故障处理方案。当工程师需要查找特定…

作者头像 李华
网站建设 2026/4/19 6:19:07

从零到一:在Win10与Visual Studio 2022中部署OpenCV 4.8.0全攻略

1. 环境准备:下载与安装OpenCV 4.8.0 OpenCV作为计算机视觉领域的瑞士军刀,安装过程其实比你想象中简单。我最近刚在Win10上配过最新版4.8.0,实测比旧版本更稳定。首先打开OpenCV官网(直接搜"OpenCV GitHub"第一个就是&…

作者头像 李华