了解特征图如何为Ultralytics YOLO 模型提供动力,从而实现精确的物体检测和高级人工智能应用(如自动驾驶)。
特征图是卷积神经网络(CNN)中各层(尤其是卷积层)生成的基本输出。它们代表在输入数据(如图像)中检测到的学习特征或模式。将它们视为输入数据的过滤版本,其中每个映射都突出了特定特征(如边缘、角落、纹理或更复杂的形状)的存在和空间位置,网络认为这些特征对于手头的任务(如物体检测、图像分割或图像分类)非常重要。这些地图是深度学习(DL)模型解释视觉信息的重要组成部分。
特征图是通过称为卷积的数学运算生成的。在此过程中,一个被称为滤波器(或内核)的小矩阵会在输入数据(或上一层的特征图)上滑动。在每个位置,滤波器都会与输入数据的重叠片段进行元素相乘,并将结果相加,在输出特征图中产生一个单一值。每个滤波器都是在训练过程中设计或学习的,以检测特定的模式。卷积层通常使用多个滤波器,每个滤波器产生自己的特征图,从而捕捉输入中的各种特征。网络的骨干部分通常使用以下框架构建 PyTorch或 TensorFlow等框架构建,主要负责从输入数据中生成这些丰富的特征图,通常使用OpenCV 等工具将其可视化。
在典型的 CNN 架构中,输入图像会经过一系列层。早期层更接近输入,往往会生成捕捉简单、低级特征(如水平线、简单的颜色对比、基本纹理)的特征图。随着数据流向神经网络(NN)的更深处,后续层会将这些简单的特征结合起来,建立更复杂、更抽象的表征。更深层次的特征图可能会突出物体的部分(如汽车的轮子或人脸上的眼睛),甚至是整个物体。这种分层特征学习使网络能够逐步学习复杂的模式,从一般模式到与任务相关的具体细节。您可以在斯坦福大学 CS231n 课程笔记等资源中探索有关 CNN 的基础概念。
特征图是 CNN 进行自动特征提取的基石,消除了传统计算机视觉 (CV) 中常见的手动特征工程的需要。这些映射中捕捉到的特征的质量和相关性直接影响模型的性能,衡量指标包括准确率和平均精度(mAP)。在物体检测模型中,如 Ultralytics YOLO等物体检测模型中,特别是像 YOLOv8和 YOLO11在 YOLO 中,骨干网生成的特征图通常先由 "颈部 "结构(如 FPN 或 PAN)进一步处理,然后再传递给检测头。然后,检测头使用这些细化的特征图来预测最终输出结果:表示物体位置的边界框和识别COCO或ImageNet 等数据集中物体的类概率。
特征图是无数人工智能(AI)和机器学习(ML)应用不可或缺的一部分:
对特征图进行可视化可以让人深入了解 CNN 所学到的知识以及它是如何做出决策的。通过检查图像的哪些部分激活了特定的特征图,开发人员可以了解模型是否专注于相关特征。这是可解释人工智能(XAI)的一个组成部分,可以使用TensorBoard等工具或其他可视化技术来实现。了解特征图有助于调试模型并提高其稳健性和可靠性,这可以使用Ultralytics HUB 等平台进行管理和跟踪。