活动简介
以及CV里面的本次任务说明:Task 2 建模方案解读与进阶
链接里的教程非常详细,主要是针对baseline所蕴含的知识点进行一个讲解。
具体细节我就不赘述了,参看教程即可,这次我主要就Task2里的知识点做一下笔记(里面有些知识整理得真是非常清晰+详细,我要贴到博客里以便日后翻查)。
笔记
YOLO 模型介绍
物体检测是计算机视觉领域的一个重要任务,它的目标是在图像或视频帧中识别和定位感兴趣的物体。物体检测算法不仅要识别图像中的对象属于哪个类别,还要确定它们在图像中的具体位置,通常以边界框(bounding box)的形式表示。以下是物体检测的一些关键概念和步骤:
- 输入:物体检测算法的输入通常是一张图像或视频帧。
- 特征提取:算法使用深度学习模型(如卷积神经网络CNN)来提取图像的特征。这些特征捕捉了图像中的视觉信息,为后续的物体识别和定位提供基础。
- 候选区域生成:在某些检测算法中,如基于区域的卷积神经网络(R-CNN)及其变体,首先需要生成图像中的候选区域,这些区域可能包含感兴趣的物体。
- 区域分类和边界框回归:对于每个候选区域,算法需要判断它是否包含特定类别的物体,并预测物体的边界框。这通常涉及到分类任务和回归任务的结合。
- 非极大值抑制(NMS):在检测过程中,可能会产生多个重叠的边界框,用于表示同一物体。NMS是一种常用的技术,用于选择
最佳的边界框并去除多余的框。
YOLO,全称为"You Only Look Once",是一种流行的实时目标检测算法,由Joseph Redmon等人于2015年首次提出。YOLO的核心思想是将目标检测任务视为一个单一的回归问题,直接从图像像素到边界框坐标和类别概率的映射。这种设计使得YOLO能够以非常快的速度进行目标检测,同时保持较高的精度,特别适合需要实时处理的应用场景。
- YOLO算法的一个显著特点是它在单个网络评估中同时预测多个边界框和类别概率,而不是像传统的滑动窗口方法那样多次评估。
- YOLO使用一个卷积神经网络(CNN)来提取图像特征,然后使用这些特征来预测边界框和类别概率。YOLO的网络结构通常包括多个卷积层和池化层。
- YOLO为每个边界框预测一个置信度,这个置信度反映了边界框包含目标的概率以及预测的类别。置信度的计算公式是:Pr(Object) * IOU(pred, truth),其中Pr(Object)表示格子中存在目标的概率,IOU(pred, truth)表示预测框和真实框的交并比。
YOLO 版本介绍
YOLO 数据集格式
YOLO算法的标注格式主要使用.txt文件来存储图像中物体的标注信息。每个图像都有一个对应的.txt文件,文件中的每行表示一个物体的标注,包括物体的类别索引和边界框(bounding box)的坐标。以下是YOLO标注格式的详细介绍:
- 类别索引:每个物体的类别由一个整数索引表示,索引对应于预先定义的类别列表。
- 边界框坐标:边界框由其中心点坐标(x_center, y_center)和宽度width、高度height组成。这些值通常是归一化到图像宽度和高度的比例值,范围在0到1之间。
- 坐标格式:边界框坐标通常按照[class_index x_center y_center width height]的格式记录,其中class_index是类别索引,x_center和y_center是边界框中心点的x和y坐标,width和height是边界框的宽度和高度。