Convolutional Neural Network (CNN)
探索卷积神经网络 (CNN) 如何驱动现代计算机视觉。了解网络层、应用,以及如何运行 Ultralytics YOLO26 实现实时 AI。
卷积神经网络 (CNN) 是一种专门用于处理具有网格状拓扑结构数据的深度学习架构,最典型的应用对象是数字图像。CNN 的设计灵感源自视觉皮层的生物结构,因此能够独特地保留输入数据中的空间关系。传统神经网络会将图像展平为一长串数字,而 CNN 则会分析图像中小范围且相互重叠的区域,自动学习从简单边缘和纹理到复杂形状与物体的特征层次。这种能力使其成为现代计算机视觉 (CV)系统背后的基础技术。
卷积神经网络的工作原理#
CNN 的强大之处在于,它能够将复杂图像转换为更易处理的形式,同时不会丢失对获得良好预测结果至关重要的特征。这通过一系列功能各异的层来实现,这些层会将输入体积转换为输出类别或数值:
- 卷积层: 这是核心构建模块。它使用一组可学习的滤波器(或卷积核),像手电筒一样在输入图像上滑动。在每个位置,滤波器都会执行称为卷积的数学运算,生成一个特征图,突出显示水平线或颜色渐变等特定模式。
- 激活函数: 卷积之后,会对输出应用一个非线性函数。最常见的选择是 ReLU(修正线性单元),它会将负像素值转换为零。这引入了非线性,使网络能够学习超越简单线性关系的复杂模式。
- 池化层: 这一层也称为下采样层,用于降低特征图的维度。最大池化等技术只保留区域中最重要的特征(最高值),从而降低计算负载,并帮助防止过拟合。
- 全连接层: 在最后阶段,处理后的特征会被展平并输入标准的神经网络 (NN)。这一层利用前面各层识别出的高级特征进行最终分类或预测,例如“猫”或“狗”。
实际应用#
CNN 通过以超越人类的准确率自动执行视觉任务,改变了众多行业。
- 医学诊断: 在医疗领域,CNN 能够比人眼更快地识别医学扫描中的异常,从而协助放射科医生。例如,深度学习模型会分析 MRI 和 CT 扫描,以检测肿瘤或骨折的早期迹象。涉及放射学中的 AI的研究凸显了这些工具如何提高诊断的一致性和速度。
- 自主系统: 自动驾驶汽车高度依赖 CNN 来感知周围环境。诸如 YOLO26 这样的模型采用高效的 CNN 主干网络执行实时目标检测,识别行人、交通标志和其他车辆,从而在瞬间做出驾驶决策。
CNN 与视觉 Transformer (ViT) 的比较#
虽然 CNN 长期以来一直是视觉任务的标准架构,但一种名为视觉 Transformer (ViT)的新架构已经出现。
- CNN 使用局部特征处理图像,并且由于具有“归纳偏置”(假设相邻像素之间存在关联),在较小数据集上效率很高。它们非常适合需要在边缘设备上进行实时推理的场景。
- ViT 将图像拆分为图像块,并使用全局自注意力机制进行处理。这使其能够捕获图像中的长距离依赖关系,但通常需要海量数据集和更多计算能力才能进行有效训练。
实现示例#
现代库让使用基于 CNN 的模型变得十分简单。ultralytics 软件包提供了对 YOLO26 等最先进模型的访问,这些模型采用了高度优化的 CNN 架构,可实现快速推理。
以下示例演示了如何加载预训练的 CNN 模型并运行预测:
from ultralytics import YOLO
# Load a YOLO26 model, which uses an advanced CNN architecture
model = YOLO("yolo26n.pt")
# Run inference on an image to identify objects
results = model("https://ultralytics.com/images/bus.jpg")
# Display the prediction results
results[0].show()开发工具#
开发 CNN 依托于完善的开源工具生态系统。工程师通常使用 PyTorch 或 TensorFlow 等框架来构建自定义架构。这些库提供了卷积和反向传播所需的底层张量运算。
对于希望简化计算机视觉项目生命周期(从数据采集到部署)的团队,Ultralytics Platform 提供了全面的解决方案。它简化了复杂的工作流程,让开发者能够专注于应用 CNN 解决业务问题,而不是管理基础设施。此外,还可以将模型导出为 ONNX 或 TensorRT 等格式,以便在边缘设备上进行高性能部署。









