YOLO介绍(1)
1 yolo介绍:
Ultralytics 基于多年在计算机视觉和人工智能领域的基础研究,创造了尖端的、最先进的(SOTA)YOLO 模型。模型不断更新以提高性能和灵活性,具有速度快、精度高和易于使用的特点。它们在目标检测、跟踪、实例分割、图像分类和姿态估计任务中表现出色。
官网 地址 https://docs.ultralytics.com/zh/
使用场景:
2 安装环境方式有多种包括 pip、conda 和 Docker,也可以自定义安装,本次使用最简单的方式安装;
依赖PyTorch需要安装
pip install torch torchvision torchaudio -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install ultralytics -i https://pypi.tuna.tsinghua.edu.cn/simple
会自动下载其他依赖项;
3 使用方式
YOLO 中有哪些不同的可用模式?
3.1 通过Ultralytics 命令行界面 (CLI) 允许简单的单行命令,而无需 Python 环境;
3.2 Python方式执行,本次选择这种方式;
3.3 Ultralytics 回调?
Ultralytics 回调是专门的切入点,在模型运行的关键阶段(如训练、验证、导出和预测)期间触发。代码中的回调函数。
4 使用什么模型?
版本介绍:
YOLOv3 到最新的 YOLO11,每个版本中会提供可以用的通用模型,详情见https://docs.ultralytics.com/zh/models/yolo11/#supported-tasks-and-modes
如:
模型怎么下载?
如下进行测试时会用到模型;
首次使用时会自动下载 或者点击如下红框下载:但是很可能访问不了;
提供下个人地址:https://download.csdn.net/download/wangzhongyu_/91897517
5 测试,官网中的解决方案可运行测试;
如下一个例子:
import cv2from ultralytics import solutionscap = cv2.VideoCapture("path/to/video.mp4")
assert cap.isOpened(), "Error reading video file"# region_points = [(20, 400), (1080, 400)] # line counting
region_points = [(20, 400), (1080, 400), (1080, 360), (20, 360)] # rectangle region
# region_points = [(20, 400), (1080, 400), (1080, 360), (20, 360), (20, 400)] # polygon region# Video writer
w, h, fps = (int(cap.get(x)) for x in (cv2.CAP_PROP_FRAME_WIDTH, cv2.CAP_PROP_FRAME_HEIGHT, cv2.CAP_PROP_FPS))
video_writer = cv2.VideoWriter("object_counting_output.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))# Initialize object counter object
counter = solutions.ObjectCounter(show=True, # display the outputregion=region_points, # pass region pointsmodel="yolo11n.pt", # model="yolo11n-obb.pt" for object counting with OBB model.# classes=[0, 2], # count specific classes i.e. person and car with COCO pretrained model.# tracker="botsort.yaml", # choose trackers i.e "bytetrack.yaml"
)# Process video
while cap.isOpened():success, im0 = cap.read()if not success:print("Video frame is empty or processing is complete.")breakresults = counter(im0)# print(results) # access the outputvideo_writer.write(results.plot_im) # write the processed frame.cap.release()
video_writer.release()
cv2.destroyAllWindows() # destroy all opened windows
注:使用时API查阅地址:https://docs.ultralytics.com/reference/cfg/init/
源码可以下载到本地查看(https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/init.py)
6 模型训练
什么是Ultralytics HUB?
Web 工具平台,用于在一个地方训练和部署您所有的 YOLOv5、YOLOv8 和 YOLO11 模型!访问地址:https://www.ultralytics.com/hub;
怎么根据预训练模型训练自己需要的模型呢?后面试下。