计算机视觉是人工智能领域的一个重要分支,它使计算机和系统能够从数字照片、电影和其他视觉输入中提取有用信息。这一领域运用基于机器学习的模型算法和基于深度学习的神经网络来实现。计算机视觉的应用包括面部识别、手势识别、人类情感检测分析、颜色检测和目标检测与分类等。本文将讨论YOLO(You Only Look Once),这是一种卓越的目标检测和分类算法。在深入讨论之前,了解这些术语以及检测和分类之间的区别非常重要。
目标检测和分类技术是在计算机视觉领域中广泛使用的方法。使用图像/视频/摄像头输入,系统能够在实时中识别并分类帧中的对象。目标检测意味着在帧中检测到一个对象,即验证或确认对象在帧中的存在。目标检测方法应该能够返回对象在帧中的位置。另一方面,目标分类是对对象进行分类。分类是预测对象的类别,即返回检测到的对象是汽车、动物还是像一样的人类。卷积神经网络是目标分类模型中最流行的神经网络。
YOLO(You Only Look Once)是一种算法,能够检测并识别图片中的各种对象(实时)。2015年,YOLO向目标检测算法世界展示了一种新的方法。该模型以图像或一系列图像(视频帧)作为输入,并返回重要特征,如x坐标、y坐标、类别名称和置信度分数(概率)。YOLO承诺具有出色的学习能力、更快的速度(高达45 FPS)和高准确性,与其他算法相比。它体积也很小。YOLO V6-s是YOLO家族的最新成员,它在COCO val2017数据集上达到了43.1 mAP,在T4上使用TensorRT FP16进行bs32推理时达到了520 FPS。
YOLO是一个单阶段算法,由24个CNN层和两个全连接层组成。这意味着在整个帧的预测是在单个算法运行中完成的。CNN用于同时预测各种类别概率和边界框。它比其他目标检测算法如RCNN、Fast RCNN、masks RCNN等更快地回答对象的WHAT和WHERE,这些算法是两阶段算法(检测和分类)。这种单次迭代的端到端目标检测同时预测边界框和类别概率,从而提高了结果的准确性。