news 2026/6/10 1:48:36

《人工智能概论》实验7 知识点复习提纲

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
《人工智能概论》实验7 知识点复习提纲

第一部分:知识点复习提纲

一、香蕉数据集(d2l内置)

1.1 数据集基本信息

  • 来源:李沐教材d2l.load_data_bananas(batch_size)

  • 图像尺寸:256×256像素。

  • 数据量:训练集1000张,验证集100张。

  • 每张图像:包含一个香蕉(类别0),背景多样。

  • 加载返回train_iter, val_iter,每个batch包含(images, labels)

1.2 标签格式

  • labels形状:(batch_size, 每张图像的标注数, 5)

  • 每张图像只有一个香蕉,所以标注数=1。批量处理时,若某图无目标,会用-1填充。

  • 每个标注是长度为5的数组:[类别, x1, y1, x2, y2]

    • 类别:0表示香蕉,-1表示填充(无效)。

    • (x1,y1):边界框左上角坐标,归一化到[0,1]

    • (x2,y2):边界框右下角坐标,归一化到[0,1]

  • 示例batch[1][0][0]是一个标注,例如[0, 0.2, 0.3, 0.7, 0.8]

1.3 为什么归一化?

  • 不同图像尺寸统一处理,模型不依赖绝对像素值。

  • 便于数据增强(缩放、裁剪等)后坐标仍有效。

二、YOLO标注格式与转换

2.1 YOLO格式

  • 每行表示一个目标:class x_center y_center width height

  • 所有值归一化到[0,1](相对于图像宽高)。

  • 文件存储:每张图像对应一个同名.txt标签文件。

2.2 转换公式(d2l → YOLO)

已知(x1, y1, x2, y2)归一化坐标,则:

x_center = (x1 + x2) / 2 y_center = (y1 + y2) / 2 width = x2 - x1 height = y2 - y1

注意:结果仍在[0,1]范围内。

2.3 为什么YOLO用这种格式?

  • 直接预测中心点偏移和宽高缩放,损失函数计算简单。

  • 归一化便于不同尺度图像训练。

三、迁移学习

3.1 概念

  • 预训练:在大型通用数据集(如COCO,80类)上训练模型,使其学会通用视觉特征(边缘、纹理、形状等)。

  • 微调:在预训练模型基础上,用目标任务的小数据集继续训练(通常用小学习率),使模型适应新类别。

  • 优势

    • 不需要大量标注数据。

    • 训练速度快,效果好。

    • 避免从零训练。

3.2 本实验体现

  • 加载yolov8n.pt(COCO预训练权重)。

  • COCO数据集不包含香蕉(可以验证:model.names中没有'banana')。

  • 在香蕉数据集上微调,模型学会检测香蕉。

四、YOLOv8训练参数

  • data: 数据配置文件路径(包含类别数、类别名、路径)。

  • epochs: 训练轮数,本实验10轮。

  • imgsz: 输入图像尺寸,256。

  • batch: 批大小,16。

  • device: 'cuda:0'(GPU)。

  • patience: 早停,验证指标连续5轮不提升则停止。

五、评估指标

5.1 IoU(交并比)

  • 公式:IoU = 交集面积 / 并集面积

  • 取值范围:[0,1]。

  • 作用:衡量预测框与真实框的重叠程度,常用于判断检测是否成功(一般IoU>0.5认为正确)。

5.2 mAP(mean Average Precision)

  • mAP50:IoU阈值=0.5时的平均精度。

  • mAP50-95:计算IoU阈值从0.5到0.95(步长0.05)的平均mAP。更严格,因为要求模型在不同重叠程度下都准确。

5.3 精确率(Precision)与召回率(Recall)

  • 精确率 = TP / (TP + FP) → 预测为真的里面有多少是真的。

  • 召回率 = TP / (TP + FN) → 真的里面有多少被预测出来了。

六、非极大值抑制(NMS)

6.1 为什么需要NMS?

  • 检测时一个目标可能产生多个重叠的候选框,需要去除冗余。

6.2 算法步骤

  1. 所有框按置信度得分降序排序。

  2. 选择最高分框,加入保留列表。

  3. 计算其余框与该框的IoU,删除IoU > 阈值的框。

  4. 重复直到无框剩余。

6.3 IoU阈值的影响

  • 阈值越低:删除条件越宽松,更多框被删除 → 保留的框越少。

  • 阈值越高:删除条件越严格,保留的框越多(可能有冗余)。

七、YOLO网格划分的优势

  • 滑动窗口:需要枚举所有位置和尺度,计算量巨大。

  • YOLO:将图像划分为S×S网格,每个网格预测固定数量的边界框。一次前向传播得到所有候选框,实时性强。

八、训练损失曲线分析

  • 训练损失:模型在训练集上的拟合程度。

  • 验证损失:模型在未见数据上的泛化能力。

  • 过拟合:训练损失下降,验证损失上升。

  • 欠拟合:两者都高且不降。

  • 良好:两者同步下降并趋于平稳。

九、对比实验(预训练 vs 微调)

  • 预训练模型检测COCO图片:能检测COCO中的80类物体(如人、球等),效果较好。

  • 预训练模型检测香蕉图片:无法检测香蕉(因为COCO无香蕉类),可能输出无目标或错误类别。

  • 微调后模型检测香蕉图片:能准确检测香蕉,边界框准确。

结论:迁移学习让模型学会新类别,无需从头训练。

十、扩展:多类别检测配置

若要检测香蕉和苹果两类,需要修改:

  1. 数据集标注中包含两类(类别0和1)。

  2. 配置文件data.yamlnc: 2

  3. names: ['banana', 'apple']

  4. 重新训练(微调)。

第二部分:考试题

一、单选题(每题3分,共15分)

  1. 香蕉数据集中,每张图像标注的边界框坐标是( )
    A. 绝对像素坐标
    B. 归一化到[0,1]的坐标
    C. 相对于图像中心的坐标
    D. 极坐标

  2. YOLO格式的标签中,widthheight表示( )
    A. 边界框的像素宽度和高度
    B. 边界框的归一化宽度和高度
    C. 边界框对角线长度
    D. 边界框的面积

  3. 在目标检测中,IoU的取值范围是( )
    A. [0,1]
    B. [0,∞)
    C. [-1,1]
    D. (0,1]

  4. 关于迁移学习,下列说法正确的是( )
    A. 必须使用与目标任务完全相同的数据集进行预训练
    B. 微调时只能调整最后一层,其他层必须冻结
    C. 可以大幅减少对标注数据量的需求
    D. 预训练模型在COCO上学到的特征对香蕉检测完全无用

  5. 非极大值抑制(NMS)中,删除一个候选框的条件是它与当前最高分框的( )超过阈值。
    A. 欧氏距离
    B. 余弦相似度
    C. IoU
    D. 面积比


二、填空题(每空2分,共20分)

  1. 香蕉数据集的图像尺寸为×像素,训练集共有 ______ 张图像。

  2. 将d2l格式的边界框(x1, y1, x2, y2)转换为YOLO格式时,中心点坐标计算公式为:
    x_center = ______,y_center = ______

  3. 评估指标中,mAP50表示IoU阈值为 ______ 时的平均精度,mAP50-95比mAP50 ______(填“更严格”或“更宽松”)。

  4. 在NMS算法中,iou_threshold设置得越 ______(填“高”或“低”),保留的框越少。

  5. YOLO将图像划分为×的网格。


三、判断题(正确打“√”,错误打“×”,每题2分,共10分)

  1. ( )COCO数据集的80个类别中包含香蕉,因此不需要迁移学习。

  2. ( )YOLO格式的标签中,x_centery_center的取值范围是 [0,1]。

  3. ( )IoU值越大,表示两个框重叠程度越小。

  4. ( )训练时若训练损失下降但验证损失上升,说明模型发生了过拟合。

  5. ( )迁移学习时,通常会用较小的学习率进行微调。


四、简答题(共35分)

简答题1(3分)batch[1].shape的输出结果应该是什么形状?第二维代表什么?

简答题2(4分)YOLO格式的标注与d2l原始格式有什么不同?YOLO标签中的x_center, y_center, width, height是什么含义?

简答题3(4分)什么是迁移学习?本实验中如何体现迁移学习的思想?

简答题4(4分)mAP50和mAP50-95分别代表什么?哪个指标更严格?

简答题5(4分)IoU的取值范围是多少?它在目标检测中有什么作用?

简答题6(4分)对比三组实验结果(预训练模型检测COCO图片、预训练模型检测香蕉图片、微调后模型检测香蕉图片),你发现了什么?这说明迁移学习有什么作用?

简答题7(4分)IoU阈值越低,保留的框越少还是越多?为什么?

简答题8(4分)YOLO将图像划分为网格的设计相比于滑动窗口有什么优势?

简答题9(4分)如果要训练一个能同时检测香蕉和苹果的模型,需要修改哪些配置?


五、计算题(10分)

已知两个边界框(绝对像素坐标):

  • 框A:左上角(20,30),右下角(80,90)

  • 框B:左上角(50,60),右下角(100,120)

计算:
(1)两个框的交集面积。
(2)两个框的并集面积。
(3)IoU值(保留三位小数)。


六、代码填空题(每空2分,共10分)

说明:以下代码片段完整可运行,请根据上下文和YOLO格式规范,填写______处的代码。

代码填空1(YOLO坐标转换)
# 从d2l数据集中读取一个标注(示例值) import torch import numpy as np label = torch.tensor([0, 0.2, 0.3, 0.7, 0.8]) # [类别, x1, y1, x2, y2] x1, y1, x2, y2 = label[1:5].numpy() # 转换为YOLO格式 x_center = _____________ # 例如: (0.2 + 0.7) / 2 = 0.45 y_center = _____________ # 例如: (0.3 + 0.8) / 2 = 0.55 width = _____________ # 例如: 0.7 - 0.2 = 0.5 height = _____________ # 例如: 0.8 - 0.3 = 0.5 print(f"YOLO标签: 0 {x_center:.6f} {y_center:.6f} {width:.6f} {height:.6f}")
代码填空2(IoU计算)—— 本题无需填空,理解即可
def compute_iou(box1, box2): x1 = max(box1[0], box2[0]) y1 = max(box1[1], box2[1]) x2 = min(box1[2], box2[2]) y2 = min(box1[3], box2[3]) inter_area = max(0, x2 - x1) * max(0, y2 - y1) area1 = (box1[2] - box1[0]) * (box1[3] - box1[1]) area2 = (box2[2] - box2[0]) * (box2[3] - box2[1]) union_area = area1 + area2 - inter_area iou = inter_area / (union_area + 1e-6) return iou
代码填空3(NMS中的条件判断)
def nms(boxes, scores, iou_threshold=0.5): indices = sorted(range(len(scores)), key=lambda i: scores[i], reverse=True) keep = [] while indices: current = indices.pop(0) keep.append(current) remaining = [] for idx in indices: if compute_iou(boxes[current], boxes[idx]) < _______: remaining.append(idx) indices = remaining return keep

第三部分:参考答案与超详细解析

一、单选题

1. B
解析:d2l香蕉数据集的标签中,坐标已经通过除以图像宽度和高度,归一化到[0,1]区间。这样做的优点是无论图像尺寸如何变化,坐标值都在标准范围内,便于模型学习。如果选A(绝对坐标),当图像缩放时坐标会失效。

2. B
解析:YOLO格式要求所有数值归一化。width= (x2-x1) / 原图宽,height= (y2-y1) / 原图高,因此它们在0~1之间。若选A,则不同尺寸图像无法统一处理。

3. A
解析:IoU = 交集面积 / 并集面积。两个框不相交时交集=0,IoU=0;完全重合时交集=并集,IoU=1。所以取值范围是[0,1]。选项D不包含0,错误。

4. C
解析:迁移学习的核心是利用预训练模型学到的通用特征(边缘、纹理等),只需少量目标域标注数据即可获得好效果。A错:不需要完全相同的数据集;B错:可以微调多层,只是常用小学习率;D错:通用特征非常有用。

5. C
解析:NMS判断两个框是否冗余重叠,用的是IoU。若IoU大于阈值,说明它们几乎覆盖同一区域,保留得分高的,删除得分低的。其他选项与重叠程度无关。


二、填空题

6. 256;256;1000
解析:实验代码中edge_size = 256,训练迭代器共1000张。

7. (x1 + x2)/2;(y1 + y2)/2
解析:中心点坐标是左上角和右下角坐标的平均值。

8. 0.5;更严格
解析:mAP50只看IoU=0.5一个阈值,mAP50-95计算多个阈值下的平均,要求边界框更精准,因此更严格。

9. 低
解析:阈值低意味着即使两个框只有少量重叠(如IoU=0.3)也会被删除,因此保留的框更少。

10. S;S(或写“S×S”,也可写具体数值如13×13但不确定,答S×S即可)
解析:YOLO的核心设计是划分网格,网格数量是超参数。


三、判断题

11. ×(COCO数据集不包含香蕉类,所以需要迁移学习)
12. √(所有YOLO坐标都是归一化的)
13. ×(IoU越大,重叠程度越大)
14. √(过拟合的典型特征)
15. √(小学习率可以保护预训练学到的特征不被破坏)


四、简答题(超详细解析)

简答题1
batch[1].shape输出(4, 1, 5)。第二维代表每张图像中标注的边界框数量(香蕉数据集每张图只有一个香蕉,故为1)。若某图无目标,会用-1填充。

简答题2

  • d2l格式:[类别, x1, y1, x2, y2](左上角+右下角,归一化)。

  • YOLO格式:[类别, x_center, y_center, width, height](中心点+宽高,归一化)。

  • x_center, y_center是边界框中心点的归一化坐标,width, height是归一化的宽和高。

简答题3
迁移学习:将在大型数据集上预训练的模型作为起点,然后在特定小数据集上微调。本实验中,使用在COCO(80类)上预训练的YOLOv8n模型,然后在香蕉数据集(单类)上继续训练。模型已经学会通用特征,只需少量香蕉图像就能学会检测香蕉。

简答题4

  • mAP50:IoU阈值=0.5时的平均精度。

  • mAP50-95:计算IoU阈值从0.5到0.95(步长0.05)的平均mAP。后者更严格,因为要求模型在不同重叠程度下都能精准检测。

简答题5
IoU ∈ [0,1]。作用:衡量预测框与真实框的重叠程度,是目标检测中的核心评价指标,也用于NMS中判断冗余框(IoU大于阈值则删除)。

简答题6
预训练模型能检测COCO图片中的多种物体(人、球等),但不能检测香蕉(因为COCO无香蕉类)。微调后模型能准确检测香蕉。这说明迁移学习让模型保留通用特征,只需少量新数据就能快速学会新类别,避免从头训练。

简答题7
IoU阈值越低,保留的框越少。因为低阈值下,两个框只要少量重叠(如IoU=0.3)就被视为冗余并删除,导致更多框被抑制。

简答题8
滑动窗口需要枚举所有可能的位置和尺度,计算量巨大。YOLO将图像划分为网格,每个网格预测固定数量的边界框,一次前向传播就能得到所有候选框,速度极快,且能检测不同长宽比的目标。

简答题9
需要修改:

  1. 数据集中标注两类(香蕉和苹果)。

  2. 修改配置文件中的类别数nc=2

  3. 修改类别名称列表names: ['banana', 'apple']

  4. 重新训练(微调)。


五、计算题

已知
A:左上(20,30),右下(80,90) → 宽=60,高=60,面积=3600。
B:左上(50,60),右下(100,120) → 宽=50,高=60,面积=3000。

交集
左边界 = max(20,50)=50
上边界 = max(30,60)=60
右边界 = min(80,100)=80
下边界 = min(90,120)=90
交集的宽 = 80-50=30,高 = 90-60=30 → 面积 = 30×30=900

并集
并集面积 = 3600 + 3000 - 900 =5700

IoU= 900 / 5700 ≈0.158(保留三位小数)。


六、代码填空题

代码填空1

x_center = (x1 + x2) / 2 y_center = (y1 + y2) / 2 width = x2 - x1 height = y2 - y1

解析:中心点坐标是左上角和右下角的平均值,宽和高直接相减(坐标已归一化)。

代码填空3

if compute_iou(boxes[current], boxes[idx]) < iou_threshold:

解析:NMS中,只有当候选框与当前最高分框的IoU小于阈值时,才保留(即不重叠或重叠很少)。如果IoU大于等于阈值,则删除。iou_threshold是函数参数,通常设为0.5。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/10 1:46:16

传世无双之金装裁决官方下载:安卓 iOS 三端互通通道

一、技能体系完善&#xff0c;每职业都有专属亮点很多复古传世职业技能同质化严重&#xff0c;游玩体验单调。传世无双之金装裁决优化了全套技能体系&#xff0c;保留经典职业核心技能&#xff0c;同时微调技能机制&#xff0c;让各职业特色更加鲜明。战士的突进技能衔接流畅&a…

作者头像 李华
网站建设 2026/6/10 1:45:21

零基础语音克隆入门教程|零成本新手快速上手实操指南

作为一个完全不懂 AI 技术的纯新手&#xff0c;前阵子突然对语音克隆来了兴趣 —— 想试试能不能用自己的声音生成一段语音&#xff0c;给好久没见的朋友做个惊喜。于是我打开搜索引擎&#xff0c;搜了 “语音克隆怎么弄”&#xff0c;想找个简单的方法入门。本以为这是个很简单…

作者头像 李华
网站建设 2026/6/10 1:45:14

【专题02】计算机网络面试题(40题),整理频率高,优质的面试题及答案

【专题02】计算机网络面试题(40题),整理频率高,优质的面试题及答案 本文整理了计算机网络中最高频的40道面试题,涵盖OSI七层模型、TCP/UDP、HTTP/HTTPS、DNS、网络安全等核心知识点,建议收藏学习。 目录 OSI 七层模型分别是什么? TCP/IP 四层模型分别是什么?与 OSI 的关…

作者头像 李华
网站建设 2026/6/10 1:41:46

写给五年后的自己:关于采购,我希望当初就知道这些

五年后的自己&#xff1a; 你好。我是五年前的你&#xff0c;正在实验室里熬夜赶实验。今天想跟你聊聊“采购”这件事——你可能觉得这个话题很无聊&#xff0c;但请耐心看完。因为关于采购&#xff0c;有五件事我希望当初就知道。 第一件&#xff1a;选对采购渠道&#xff0…

作者头像 李华
网站建设 2026/6/10 1:36:08

3款亚马逊A+页面自动生成工具实测对比(2026)

一、为什么要用AI生成A页面&#xff1f;亚马逊A页面能提升5%-10%的转化率&#xff0c;但传统设计成本高、周期长。AI工具的出现&#xff0c;让中小卖家也能低成本获得专业素材。市面上工具不少&#xff0c;哪款最适合亚马逊卖家&#xff1f;二、三款工具横向对比1. 潮际好麦上手…

作者头像 李华