2024年Ai工具ultralytics包中的YOLO库windows10安装方法
Ai前言与YOLO简介:
YOLO是ultralytics包中的YOLO(You Only Look Once)目标检测模型的模块库,用于实时目标检测,这个库更新很快,演示个YOLO8玩玩。YOLO属于计算机视觉Ai,但从最初一个目标检测程序,现在已经发展纵深都有的多功能大框架,从训练到推理到模型优化再到部署全套该有的都有了,这就是开源的魅力。YOLO就一个特点遥遥领先:快速和高效的物体检测能力!
演示这个只是传达给普通玩电脑学习的人这样一个观点:Ai并不是遥不可及,普通打游戏电脑都能跑Ai;垂直领域绝大部分Ai做的都很小,或者说Ai时代是程序代码本身从过去KB级别升级到了现在MB级别,而这种变化使得代码实现类人的能力,MB到GB,GB到TB,代码的未来大有可为。
安装YOLO8的方法和demo源代码演示
第一步:打开CMD:Win徽标键 + R打开<运行>,输入"cmd",回车,输入以下代码,即可安装YOLO,代码很小(世界上伟大的代码都很小。)。
pip install ultralytics
没错,你已经装好了YOLO!
安装完成大概率会用英文提示你你的pip有了新版本,只要能用,不要管。
没装pip就用360安全卫士中的软件管家装个python3或者python官网下python安装,装好python3就自动装了pip下载功能,不要装python2,python2过时了。pip下载速度慢,可以换源,点击此处查看我另外一篇关于pip的使用。
第二步:开玩。在桌面或者任意地方新建一个文件夹,名字随意就叫yolov8,打开yolov8文件夹,找一段鸡你太美的舞蹈的任意英文名字.mp4也放进去,并新建一个yolov8.py文件,使用Visial Studio Code打开,输入以下代码:
from ultralytics import YOLO
#加载官方的一个预训练模型yolov8n.pt最小的版本,旨在提供最快的推理速度,通常用于嵌入式设备或资源受限的环境。尽管其速度最快,但精
#度可能相对较低;yolov8s.pt是较大的模型版本,相比Nano版本具有更高的精度,但速度略慢;yolov8m.pt是中等规模的模型,提供了更好的
#精度,同时保持了相当不错的推理速度,适用于大多数桌面和服务器环境;yolov8l.pt更大的模型,拥有更高的精度,但推理速度会比上述版本#慢。适合于那些对检测精度有更高要求,且计算资源充足的场景;yolov8x.pt最大的模型,通常拥有最高的精度,但也是最慢的。适用于追求极#致精度的高性能计算环境。一般自认为配置很高的电脑可以跑个yolov8m.pt试试水,我一般选最小版本尝尝鲜。
model=YOLO('yolov8n.pt')
#推理。以下三个track,选则其一去掉前面注释#就可以跑咯,面向小白的。
#results=model.track(source='jinitaimei.mp4',show=True,tracker="bytetrack.yaml")#推理mp4。
results=model.track(source='jinitaimei.mp4',show=True,tracker="bytetrack.yaml", save=True)#推理mp4,并生成推理视频avi,生成的视频在运行目录下的runs\detect\track目录中。
#results=model.track(source=0,show=True,tracker="bytetrack.yaml")#对电脑摄像头调用并进行目标检测写法。
#调试运行后,会自动从下载yolov8n.pt预训练模型后才开始玩。
点击下载:yolov8n.pt 预训练模型
密码:csdn
解压后将yolov8n.pt放到yolov8.py一起,直接运行就不用慢悠悠下载预训练模型了。
(下面图片只是推理过程截图,不用看其中代码)
以上只是冰山一角,下面才是重头戏!整个YOLO8集成的方法才是他的内涵!YOLO被下面这么十几个方法加持,非常厉害,写码可以借鉴,一两行完事是每个程序应该追求的目标。
YOLO8进阶——track方法,动态场景检测分析
这个方法在视频序列中检测跟踪多个对象的动态,在每一帧中检测出对象的位置和类别,提取向量特征进行状态更新有关联并输出对象的所有空间属性。
YOLO的track方法的全部的参数如下:
results = model.track(
source=..., # 视频文件路径或摄像头ID
data=..., # 数据集.yaml文件路径
imgsz=(640, 640), # 推理图像尺寸 (高, 宽)
conf=0.25, # 置信度阈值
iou=0.45, # 非极大值抑制 (NMS) IoU 阈值
max_det=1000, # 单个图像的最大检测数
device='', # CUDA设备,例如'0'或'0,1,2,3'或'cpu'
view_img=False, # 是否显示流式传输图像
save_txt=False, # 是否保存结果到 *.txt
save_conf=False, # 在 --save-txt 中保存置信度
save_crop=False, # 是否保存裁剪的预测
nosave=False, # 不保存任何结果
classes=None, # 过滤类,例如 [0, 15, 16]
agnostic_nms=False, # 类别不可知的 NMS
augment=False, # 增强推断
visualize=False, # 对于TensorBoard可视化中间层
update=False, # 更新所有模型
project='runs/track',# 保存结果到 project/name
name='exp', # 保存结果的子目录名称
exist_ok=False, # 是否覆盖现有项目目录
line_thickness=3, # Bbox 厚度或字体大小
hide_labels=False, # 隐藏所有类标签
hide_conf=False, # 隐藏置信度分数
half=False, # 使用 FP16 半精度推理
dnn=False, # 使用OpenCV DNN进行ONNX推理
vid_stride=1, # 视频帧之间的步长
retina_masks=False, # 是否使用高分辨率的掩码
stream=False, # 是否使用流式传输模式
retinaface=False, # 是否使用RetinaFace进行人脸检测
track_thresh=0.5, # 跟踪阈值
track_buffer=30, # 跟踪缓冲区
match_thresh=0.8, # 匹配阈值
track_class=False, # 是否按类别跟踪
reid_dim=256, # ReID特征维度
reid_max_age=30, # 最大年龄
reid_n_init=3, # 初始化次数
reid_max_iou_dist=0.7, # 最大IoU距离
reid_metric='cosine', # 距离度量
reid_max_cosine_distance=0.2, # 最大余弦距离
reid_nn_budget=100, # NN预算
reid_appearance_dim=128, # 外观特征维度
reid_motion_dim=16, # 运动特征维度
reid_temporal_dim=16, # 时间特征维度
reid_conf_thres=0.4, # ReID置信度阈值
reid_match_thres=0.5, # ReID匹配阈值
reid_iou_thres=0.3, # ReID IoU阈值
reid_min_hits=3, # 最小命中次数
reid_max_age_reid=30, # ReID最大年龄
reid_max_missed=5, # 最大丢失次数
reid_min_confidence=0.6, # 最小信心
reid_max_distance=0.2, # 最大距离
reid_max_frame_skip=30, # 最大帧跳过
reid_max_trace_length=100, # 最大轨迹长度
reid_track_stability=0.5, # 跟踪稳定性
reid_max_disappeared=60, # 最大消失
reid_max_unmatched_detections=10, # 最大未匹配检测
reid_max_unmatched_tracks=10, # 最大未匹配跟踪
reid_max_iou_diff=0.5, # 最大IoU差
reid_min_iou_overlap=0.3, # 最小IoU重叠
reid_min_score_diff=0.1, # 最小得分差
reid_max_score_diff=0.5, # 最大得分差
reid_max_score_ratio=2.0, # 最大得分比
reid_min_score=0.5, # 最小得分
reid_max_score=1.0, # 最大得分
reid_min_size=30, # 最小大小
reid_max_size=1000, # 最大大小
reid_min_aspect_ratio=0.2, # 最小宽高比
reid_max_aspect_ratio=5.0, # 最大宽高比
reid_min_motion=5, # 最小运动
reid_max_motion=100, # 最大运动
reid_min_area_change=0.5, # 最小面积变化
reid_max_area_change=2.0, # 最大面积变化
reid_min_speed=5, # 最小速度
reid_max_speed=100, # 最大速度
reid_min_acceleration=0.1, # 最小加速度
reid_max_acceleration=10.0, # 最大加速度
reid_min_jerk=0.01, # 最小急冲
reid_max_jerk=1.0, # 最大急冲
reid_min_angular_velocity=0.1, # 最小角速度
reid_max_angular_velocity=10.0, # 最大角速度
reid_min_angular_acceleration=0.01, # 最小角加速度
reid_max_angular_acceleration=1.0, # 最大角加速度
reid_min_orientation_change=0.1, # 最小方向变化
reid_max_orientation_change=180.0, # 最大方向变化
reid_min_scale_change=0.5, # 最小比例变化
reid_max_scale_change=2.0, # 最大比例变化
reid_min_eccentricity=0.2, # 最小偏心率
reid_max_eccentricity=0.8, # 最大偏心率
reid_min_solidity=0.5, # 最小实心度
reid_max_solidity=1.0, # 最大实心度
reid_min_convexity=0.5, # 最小凸度
reid_max_convexity=1.0, # 最大凸度
reid_min_contour_area=30, # 最小轮廓面积
reid_max_contour_area=1000, # 最大轮廓面积
reid_min_contour_perimeter=30, # 最小轮廓周长
reid_max_contour_perimeter=1000, # 最大轮廓周长
reid_min_contour_length=30, # 最小轮廓长度
reid_max_contour_length=1000, # 最大轮廓长度
reid_min_contour_width=30, # 最小轮廓宽度
reid_max_contour_width=1000, # 最大轮廓宽度
reid_min_contour_height=30, # 最小轮廓高度
reid_max_contour_height=1000, # 最大轮廓高度
reid_min_contour_aspect_ratio=0.2, # 最小轮廓宽高比
reid_max_contour_aspect_ratio=5.0, # 最大轮廓宽高比
reid_min_contour_orientation=0.0, # 最小轮廓方向
reid_max_contour_orientation=180.0, # 最大轮廓方向
reid_min_contour_eccentricity=0.2, # 最小轮廓偏心率
reid_max_contour_eccentricity=0.8, # 最大轮廓偏心率
reid_min_contour_solidity=0.5, # 最小轮廓实心度
reid_max_contour_solidity=1.0, # 最大轮廓实心度
reid_min_contour_convexity=0.5, # 最小轮廓凸度
reid_max_contour_convexity=1.0, # 最大轮廓凸度
reid_min_contour_inertia=0.1, # 最小轮廓惯性
reid_max_contour_inertia=10.0, # 最大轮廓惯性
reid_min_contour_moments=0.1, # 最小轮廓矩
reid_max_contour_moments=10.0, # 最大轮廓矩
reid_min_contour_hu_moments=0.1, # 最小轮廓Hu矩
reid_max_contour_hu_moments=10.0, # 最大轮廓Hu矩
reid_min_contour_shape_index=0.1, # 最小轮廓形状指数
reid_max_contour_shape_index=10.0, # 最大轮廓形状指数
reid_min_contour_shape_context=0.1, # 最小轮廓形状上下文
reid_max_contour_shape_context=10.0, # 最大轮廓形状上下文
reid_min_contour_fourier_descriptors=0.1, # 最小轮廓傅里叶描述符
reid_max_contour_fourier_descriptors=10.0, # 最大轮廓傅里叶描述符
reid_min_contour_zernike_moments=0.1, # 最小轮廓Zernike矩
reid_max_contour_zernike_moments=10.0, # 最大轮廓Zernike矩
reid_min_contour_haralick_textures=0.1, # 最小轮廓Haralick纹理
reid_max_contour_haralick_textures=10.0, # 最大轮廓Haralick纹理
reid_min_contour_sift_keypoints=0.1, # 最小轮廓SIFT关键点
reid_max_contour_sift_keypoints=10.0, # 最大轮廓SIFT关键点
reid_min_contour_surf_keypoints=0.1, # 最小轮廓SURF关键点
reid_max_contour_surf_keypoints=10.0, # 最大轮廓SURF关键点
reid_min_contour_orb_keypoints=0.1, # 最小轮廓ORB关键点
reid_max_contour_orb_keypoints=10.0, # 最大轮廓ORB关键点
reid_min_contour_brief_keypoints=0.1, # 最小轮廓BRIEF关键点
reid_max_contour_brief_keypoints=10.0, # 最大轮廓BRIEF关键点
reid_min_contour_fast_keypoints=0.1, # 最小轮廓FAST关键点
reid_max_contour_fast_keypoints=10.0, # 最大轮廓FAST关键点
reid_min_contour_kaze_keypoints=0.1, # 最小轮廓KAZE关键点
reid_max_contour_kaze_keypoints=10.0, # 最大轮廓KAZE关键点
reid_min_contour_akaze_keypoints=0.1, # 最小轮廓AKAZE关键点
reid_max_contour_akaze_keypoints=10.0, # 最大轮廓AKAZE关键点
reid_min_contour_brisk_keypoints=0.1, # 最小轮廓BRISK关键点
reid_max_contour_brisk_keypoints=10.0, # 最大轮廓BRISK关键点
reid_min_contour_latch_keypoints=0.1, # 最小轮廓LATCH关键点
reid_max_contour_latch_keypoints=10.0, # 最大轮廓LATCH关键点
reid_min_contour_laser_keypoints=0.1, # 最小轮廓LASER关键点
reid_max_contour_laser_keypoints=10.0, # 最大轮廓LASER关键点
reid_min_contour_sosnet_keypoints=0.1, # 最小轮廓SOSNet关键点
reid_max_contour_sosnet_keypoints=10.0, # 最大轮廓SOSNet关键点
reid_min_contour_superpoint_keypoints=0.1, # 最小轮廓SuperPoint关键点
reid_max_contour_superpoint_keypoints=10.0, # 最大轮廓SuperPoint关键点
reid_min_contour_delf_keypoints=0.1, # 最小轮廓DELF关键点
reid_max_contour_delf_keypoints=10.0, # 最大轮廓DELF关键点
reid_min_contour_r2d2_keypoints=0.1, # 最小轮廓R2D2关键点
reid_max_contour_r2d2_keypoints=10.0, # 最大轮廓R2D2关键点
reid_min_contour_keypoint_descriptors=0.1, # 最小关键点描述符
reid_max_contour_keypoint_descriptors=10.0, # 最大关键点描述符
reid_min_contour_keypoint_distances=0.1, # 最小关键点距离
reid_max_contour_keypoint_distances=10.0, # 最大关键点距离
reid_min_contour_keypoint_angles=0.1, # 最小关键点角度
reid_max_contour_keypoint_angles=10.0, # 最大关键点角度
reid_min_contour_keypoint_scales=0.1, # 最小关键点尺度
reid_max_contour_keypoint_scales=10.0, # 最大关键点尺度
reid_min_contour_keypoint_orientations=0.1, # 最小关键点方向
reid_max_contour_keypoint_orientations=10.0, # 最大关键点方向
reid_min_contour_keypoint_responses=0.1, # 最小关键点响应
reid_max_contour_keypoint_responses=10.0, # 最大关键点响应
reid_min_contour_keypoint_octaves=0.1, # 最小关键点八度音阶
reid_max_contour_keypoint_octaves=10.0, # 最大关键点八度音阶
reid_min_contour_keypoint_layers=0.1, # 最小关键点层
reid_max_contour_keypoint_layers=10.0, # 最大关键点层
reid_min_contour_keypoint_sizes=0.1, # 最小关键点大小
reid_max_contour_keypoint_sizes=10.0, # 最大关键点大小
reid_min_contour_keypoint_positions=0.1, # 最小关键点位置
reid_max_contour_keypoint_positions=10.0, # 最大关键点位置
reid_min_contour_keypoint_scores=0.1, # 最小关键点分数
reid_max_contour_keypoint_scores=10.0, # 最大关键点分数
reid_min_contour_keypoint_weights=0.1, # 最小关键点权重
reid_max_contour_keypoint_weights=10.0, # 最大关键点权重
reid_min_contour_keypoint_distances_to_center=0.1, # 最小关键点到中心的距离
reid_max_contour_keypoint_distances_to_center=10.0, # 最大关键点到中心的距离
reid_min_contour_keypoint_angles_to_axis=0.1, # 最小关键点到轴的角度
reid_max_contour_keypoint_angles_to_axis=10.0, # 最大关键点到轴的角度
reid_min_contour_keypoint_scales_to_axis=0.1, # 最小关键点到轴的尺度
reid_max_contour_keypoint_scales_to_axis=10.0, # 最大关键点到轴的尺度
reid_min_contour_keypoint_orientations_to_axis=0.1, # 最小关键点到轴的方向
reid_max_contour_keypoint_orientations_to_axis=10.0, # 最大关键点到轴的方向
reid_min_contour_keypoint_responses_to_axis=0.1, # 最小关键点到轴的响应
reid_max_contour_keypoint_responses_to_axis=10.0, # 最大关键点到轴的响应
reid_min_contour_keypoint_octaves_to_axis=0.1, # 最小关键点到轴的八度音阶
reid_max_contour_keypoint_octaves_to_axis=10.0, # 最大关键点到轴的八度音阶
reid_min_contour_keypoint_layers_to_axis=0.1, # 最小关键点到轴的层
reid_max_contour_keypoint_layers_to_axis=10.0, # 最大关键点到轴的层
reid_min_contour_keypoint_sizes_to_axis=0.1, # 最小关键点到轴的大小
reid_max_contour_keypoint_sizes_to_axis=10.0, # 最大关键点到轴的大小
reid_min_contour_keypoint_positions_to_axis=0.1, # 最小关键点到轴的位置
reid_max_contour_keypoint_positions_to_axis=10.0, # 最大关键点到轴的位置
reid_min_contour_keypoint_scores_to_axis=0.1, # 最小关键点到轴的分数
reid_max_contour_keypoint_scores_to_axis=10.0, # 最大关键点到轴的分数
reid_min_contour_keypoint_weights_to_axis=0.1, # 最小关键点到轴的权重
reid_max_contour_keypoint_weights_to_axis=10.0, # 最大关键点到轴的权重
reid_min_contour_keypoint_distances_to_center_of_mass=0.1, # 最小关键点到质心的距离
reid_max_contour_keypoint_distances_to_center_of_mass=10.0, # 最大关键点到质心的距离
reid_min_contour_keypoint_angles_to_center_of_mass=0.1, # 最小关键点到质心的角度
reid_max_contour_keypoint_angles_to_center_of_mass=10.0, # 最大关键点到质心的角度
reid_min_contour_keypoint_scales_to_center_of_mass=0.1, # 最小关键点到质心的尺度
reid_max_contour_keypoint_scales_to_center_of_mass=10.0, # 最大关键点到质心的尺度
reid_min_contour_keypoint_orientations_to_center_of_mass=0.1, # 最小关键点到质心的方向
reid_max_contour_keypoint_orientations_to_center_of_mass=10.0, # 最大关键点到质心的方向
reid_min_contour_keypoint_responses_to_center_of_mass=0.1, # 最小关键点到质心的响应
reid_max_contour_keypoint_responses_to_center_of_mass=10.0, # 最大关键点到质心的响应
reid_min_contour_keypoint_octaves_to_center_of_mass=0.1, # 最小关键点到质心的八度音阶
reid_max_contour_keypoint_octaves_to_center_of_mass=10.0, # 最大关键点到质心的八度音阶
reid_min_contour_keypoint_layers_to_center_of_mass=0.1, # 最小关键点到质心的层
reid_max_contour_keypoint_layers_to_center_of_mass=10.0, # 最大关键点到质心的层
reid_min_contour_keypoint_sizes_to_center_of_mass=0.1, # 最小关键点到质心的大小
reid_max_contour_keypoint_sizes_to_center_of_mass=10.0, # 最大关键点到质心的大小
reid_min_contour_keypoint_positions_to_center_of_mass=0.1, # 最小关键点到质心的位置
reid_max_contour_keypoint_positions_to_center_of_mass=10.0, # 最大关键点到质心的位置
reid_min_contour_keypoint_scores_to_center_of_mass=0.1, # 最小关键点到质心的分数
reid_max_contour_keypoint_scores_to_center_of_mass=10.0, # 最大关键点到质心的分数
reid_min_contour_keypoint_weights_to_center_of_mass=0.1, # 最小关键点到质心的权重
reid_max_contour_keypoint_weights_to_center_of_mass=10.0, # 最大关键点到质心的权重
)
#共计224个参数吧!
YOLO8进阶——train方法:训练模型,从图片中识别和定位对象
model.train(
data='path/to/dataset.yaml', # 数据集配置文件路径
imgsz=(640, 640), # 图像大小,可以是单个整数或长宽元组
epochs=100, # 训练轮次
batch=16, # 批次大小
lr0=0.01, # 初始学习率
lrf=0.01, # 最终学习率因子
momentum=0.937, # 动量
weight_decay=0.0005, # 权重衰减
warmup_epochs=3.0, # 预热轮次
warmup_momentum=0.8, # 预热动量
warmup_bias_lr=0.1, # 预热偏置学习率
box=0.05, # 目标框损失权重
cls=0.5, # 分类损失权重
cls_pw=1.0, # 分类损失正负样本比例权重
obj=1.0, # 物体性损失权重
obj_pw=1.0, # 物体性损失正负样本比例权重
iou_t=0.2, # IOU阈值
anchor_t=4.0, # 锚点阈值
fl_gamma=0.0, # Focal Loss的Gamma参数
hsv_h=0.015, # HSV色域变换范围
hsv_s=0.7, # HSV饱和度变换范围
hsv_v=0.4, # HSV亮度变换范围
degrees=0.0, # 图像旋转角度范围
translate=0.1, # 图像平移范围
scale=0.5, # 图像缩放范围
shear=0.0, # 图像剪切角度范围
perspective=0.0, # 透视变换范围
flipud=0.0, # 上下翻转概率
fliplr=0.5, # 左右翻转概率
mosaic=1.0, # Mosaic数据增强概率
mixup=0.0, # MixUp数据增强概率
copy_paste=0.0, # CopyPaste数据增强概率
name='exp', # 实验名称
exist_ok=False, # 是否覆盖已存在的实验
quad=False, # 使用四边形目标框
rect=False, # 使用矩形目标框
cache=False, # 缓存数据集
single_cls=False, # 单类别模式
optimizer='SGD', # 优化器类型,如 SGD 或 Adam
cos_lr=False, # 是否使用余弦退火学习率
save_period=-1, # 保存检查点的周期,-1表示只在最后保存
project='runs/detect', # 结果保存目录
entity=None, # WandB实体
upload_dataset=False, # 是否上传数据集到WandB
bbox_interval=-1, # BBox绘图间隔
save_json=False, # 保存预测结果为COCO格式的JSON文件
freeze=[], # 冻结模型层索引
v5_metric=False, # 使用YOLOv5评估指标
workers=8, # 数据加载工作线程数
prefix='', # 日志前缀
model=None, # 模型定义,可为None(使用默认模型)
device='', # 设备,如 'cpu', '0', '0,1,2,3'
verbose=True, # 是否显示详细信息
seed=0, # 随机种子
deterministic=False, # 是否使用确定性算法
benchmark=False, # 是否使用基准模式
amp=False, # 是否使用自动混合精度
gradient_clip_val=10.0, # 梯度裁剪值
check_dataset=True, # 是否检查数据集
check_image_size=True, # 是否检查图像尺寸
check_labels=True, # 是否检查标签
check_class_weights=False, # 是否检查类别权重
multi_scale=False, # 是否使用多尺度训练
sync_bn=False, # 是否同步BN层
local_rank=-1, # DDP训练的本地rank
ddp=False, # 是否使用DDP分布式训练
resume=False, # 是否恢复训练
half=False, # 是否使用半精度训练
scale_img=False, # 是否缩放图像
rect_label_smooth=False, # 是否使用矩形标签平滑
save_final_model=True, # 是否保存最终模型
save_best_model=True, # 是否保存最佳模型
save_last_model=True, # 是否保存最后一个模型
save_optimizer=True, # 是否保存优化器状态
save_training_results=False, # 是否保存训练结果
save_val_results=False, # 是否保存验证结果
save_train_plots=False, # 是否保存训练过程中的图表
save_val_plots=False, # 是否保存验证过程中的图表
save_freq=10, # 保存频率(每多少epoch保存一次)
log_freq=10, # 日志记录频率(每多少batch记录一次)
plot_freq=10, # 图表绘制频率(每多少epoch绘制一次)
val_freq=1, # 验证频率(每多少epoch验证一次)
test_freq=-1, # 测试频率(每多少epoch测试一次)
profile=False, # 是否进行性能分析
profile_batch=1, # 性能分析的批次数量
profile_dir='./profile', # 性能分析结果的保存目录
wandb_project='YOLOv8', # WandB项目名称
wandb_entity='ultralytics', # WandB实体名称
wandb_run_name='YOLOv8', # WandB运行名称
wandb_watch='gradients', # WandB监控级别('gradients', 'all', 'none')
wandb_log_model='last', # WandB模型日志策略 ('last', 'best', 'all', 'none')
wandb_save_code=False, # 是否保存代码到WandB
wandb_group='YOLOv8', # WandB组名称
wandb_tags=['YOLOv8'], # WandB标签列表
wandb_notes='YOLOv8', # WandB笔记
wandb_mode='online', # WandB模式 ('online', 'offline', 'disabled')
)
YOLO8进阶——其他方法
YOLO`提供了多种方法来处理不同的计算机视觉任务,除了以上的两个还包括以下方法:
1. **`detect`**:
- 用于目标检测,即识别和定位图像中的多个对象。
2. **`segment`**:
- 用于实例分割,即不仅识别对象,还对每个对象进行像素级的分割。
3. **`classify`**:
- 仅用于图像分类,即识别图像属于哪个类别,而不关心位置或形状。
4. **`pose`**:
- 用于姿态估计,即检测人体关键点的位置,适用于人体姿态分析。
5. **`predict`**:
- 通用预测方法,可以是检测、分割或分类,具体取决于模型的训练方式。
6. **`export`**:
- 将模型转换为其他格式,如ONNX、TFLite或CoreML,以便在不同的平台和设备上部署。
7. **`val`**:
- 对验证集进行评估,通常用于在训练过程中监测模型性能。
8. **`benchmark`**:
- 运行一系列性能测试,比如推理速度和资源消耗,通常用于模型的性能比较。
9. **`info`**:
- 显示模型的信息,如架构和参数数量。
10. **`fuse`**:
- 融合模型中的卷积层和批量归一化层,以减少推理时的计算量。
11. **`autoshape`**:
- 自动调整输入图像的形状,使其适合模型的输入要求。
12. **`half`**:
- 将模型转换为半精度(FP16)格式,以节省内存和加速推理。
13. **`to`**:
- 将模型移动到指定的设备(如GPU或CPU)。