一、YOLO的初次使用体验
1、基本概念
YOLO,全称为You Only Look Once,是一种实时目标检测算法。
YOLO的核心思想是将目标检测任务当作回归问题来解决,它可以在单次图像遍历中识别出图中的物体的类别和位置,因此得名“You Only Look Once”。
YOLO(You Only Look Once)是一种目标检测算法,它可以在图像中快速准确地检测出多个目标的位置和类别。与其他的目标检测算法相比,YOLO的最大特点是它采用了基于全局图片进行推理的方式,而不是像滑窗和Region Proposal-based算法那样只是基于感兴趣区域做推理。
由于YOLO的训练和推理都是基于整张图片,因此它相对于基于局部感兴趣区域训练的算法,如Fast R-CNN,有更少的背景误报。此外,YOLO还能学习到目标的通用化表示特征,这使得它在泛化性能方面比其他之前的检测算法,如DPM、R-CNN系列等更强。
然而,YOLO也存在一些不足之处。虽然它可以快速识别图像中的目标,但在精度上仍然落后于最先进的检测算法。特别是在定位某些目标,尤其是小目标时,YOLO的表现可能不够理想。
YOLO的输出结果以YOLO格式来表示,这是一种简化的标注格式,用于描述目标在图像中的位置和类别。一条YOLO格式的记录通常包含以下几个字段:类别标签,即目标的类别,通常使用数字来表示不同的类别,例如,0表示人,1表示车辆,2表示动物等。
总的来说,YOLO是一种具有独特优点和潜力的目标检测算法,虽然它在精度和定位小目标方面还有待提高,但它的全局推理和通用化表示特征学习等特性使得它在目标检测领域具有一定的优势。
2、测试代码
from ultralytics import YOLO# Load a model
model = YOLO('E:\\PycharmProjects\\yolov8n.pt') # load an official model# Predict with the model
results = model(['E:\\testImage\\pl001.jpg', 'E:\\testImage\\pl002.jpg']) # predict on an imagefor result in results:boxes = result.boxes # Boxes object for bounding box outputsmasks = result.masks # Masks object for segmentation masks outputskeypoints = result.keypoints # Keypoints object for pose outputsprobs = result.probs # Probs object for classification outputsresult.show() # display to screenresult.save(filename='result.jpg') # save to disk
结论:未经过训练的模型还是傻傻的。