卷积层尺寸计算
假设输入大小为( H , W ) (H,W)(H,W),卷积核(滤波器)大小为( F H , F W ) (FH,FW)(FH,FW),输出大小为( O H , O W ) (OH,OW)(OH,OW),填充为P PP,步幅为S SS。此时,输出大小可通过下列式子进行计算。
VGG-16

VGG-16的“16”指的是网络中包含16个可学习的权重层(13个卷积层和3个全连接层)。其结构如下图所示:
VGG-16的核心思想是采用非常小的(3x3)卷积核,并通过堆叠多个这样的小卷积核来增加网络的深度,从而在有效控制参数数量的同时,提升网络的表达能力
VGG系列
除了VGG-16,VGG系列还包括VGG-19(16个卷积层和3个全连接层)等不同深度的配置。实验表明,网络深度增加到一定程度后,性能提升会饱和甚至下降(这催生了后续ResNet等解决深度网络训练问题的架构)。
总的来说,VGGNet通过其简洁、统一且深度的设计,进一步推动了卷积神经网络的发展,并为后续更复杂的网络结构奠定了基础。
常用计算机视觉数据集
计算机视觉的进步离不开大规模、高质量的数据集。以下是一些在学术研究和工业应用中广泛使用的经典数据集:
1. MNIST (Modified National Institute of Standards and Technology database)
组成与类别:MNIST 数据集包含0到9的手写数字图片及其对应的标签。共有10个类别。
规模:包含60,000个训练样本和10,000个测试样本。
图像特点:每张图片都是28x28像素的灰度图像。
应用场景:常用于入门级的图像分类任务、模型测试和基准比较。由于其简单性和广泛性,是学习和验证新算法的理想选择。

2. Fashion-MNIST
提出背景:作为MNIST手写数字数据集的直接替代品,由Zalando的研究部门提供,旨在提供一个比MNIST更具挑战性的基准。
组成与类别:包含10个类别的时尚商品正面图片,如T恤/上衣、裤子、套衫、连衣裙、外套、凉鞋、衬衫、运动鞋、包、踝靴。
规模与图像特点:与MNIST完全一致,拥有60,000个训练样本和10,000个测试样本,每张图片也是28x28像素的灰度图像。
应用场景:同样用于图像分类任务,但比MNIST更难,可以更好地评估机器学习和深度学习算法的性能。

3. CIFAR-10
组成与类别:CIFAR-10 数据集包含10个类别的共60,000张32x32像素的彩色图像。每个类别有6,000张图像。
类别包括:飞机 (airplane), 汽车 (automobile), 鸟 (bird), 猫 (cat), 鹿 (deer), 狗 (dog), 青蛙 (frog), 马 (horse), 船 (ship), 卡车 (truck)。
规模:50,000张训练图像和10,000张测试图像。数据集分为五个训练批次和一个测试批次,每个批次有10,000张图像。
应用场景:广泛用于图像分类任务,是评估小型图像识别模型的常用基准。

4. PASCAL VOC (Visual Object Classes)
全称:Pattern Analysis, Statistical Modelling and Computational Learning Visual Object Classes。
历史:PASCAL VOC挑战赛从2005年开始,到2012年结束。PASCAL VOC 2007和PASCAL VOC 2012是常用的版本。
组成与类别:包含20个对象类别,例如:
人 (person)
动物 (bird, cat, cow, dog, horse, sheep)
交通工具 (aeroplane, bicycle, boat, bus, car, motorbike, train)
室内物品 (bottle, chair, dining table, potted plant, sofa, tv/monitor)
任务:支持多种计算机视觉任务,包括图像分类、目标检测、图像分割(包括语义分割和实例分割)。
标注格式:每张图像对应一个XML文件,详细描述了图像中物体的类别、边界框(bounding box)、姿态、是否被遮挡等信息。
应用场景:是目标检测、图像分割等领域的核心基准数据集之一。

5. MS COCO (Microsoft Common Objects in Context)
提出背景:由微软于2014年出资标注,旨在推动场景理解的研究。
特点:图像主要从复杂的日常场景中截取,包含大量上下文信息,目标物体通常较小且有遮挡。
组成与类别:提供80个对象类别的标注,拥有超过33万张图片,其中20万张有标注,个体实例数量超过150万。
类别涵盖广泛,如人、交通工具、公路常见物体、动物、携带物品、运动器材、厨房餐具、水果食品、家庭用品等。
任务:支持目标检测、图像分割(语义分割、实例分割、全景分割)、图像描述生成、关键点检测等多种任务。
影响力:在ImageNet竞赛停办后,COCO竞赛已成为当前目标识别、检测等领域最权威和最重要的标杆之一。
官网:http://cocodataset.org

6. ImageNet
历史与规模:始于2009年,由李飞飞教授团队创建。是一个大规模的层级式图像数据库。总共包含超过1400万张图像,覆盖超过2万个类别。其中,带有边界框标注的图像超过100万张。
ILSVRC (ImageNet Large Scale Visual Recognition Challenge):基于ImageNet数据集举办的年度竞赛,极大地推动了深度学习在计算机视觉领域的发展。竞赛通常使用ImageNet的一个子集,包含1000个类别,约120万张训练图像,5万张验证图像和10万张测试图像。
ImageNet-21K Pretraining:指使用ImageNet完整数据集中约1400万张图片和21,000个类别进行预训练。
应用场景:是图像分类、目标检测、迁移学习等任务中最重要的基准数据集和预训练数据源之一。在ImageNet上预训练的模型通常作为许多其他视觉任务的骨干网络。
7. JFT-300M
来源:谷歌内部使用的一个大规模图像数据集,用于训练图像分类模型。
规模:包含约3亿张图像,产生了超过10亿个标签(一张图像可以有多个标签)。其中约3.75亿个标签是通过算法选择以最大化标签精度。
特点:规模巨大,标签可能存在噪声,但其庞大的数据量对于训练超大规模模型和探索弱监督学习、自监督学习等前沿方向具有重要意义。
应用场景:主要用于谷歌内部的研究和模型训练,推动了超大规模视觉模型的进展。
这些数据集各有侧重,覆盖了从简单的数字识别到复杂的场景理解等多种视觉任务,为计算机视觉算法的开发和评估提供了宝贵的资源。
深度学习视觉应用概述
深度学习在计算机视觉领域取得了巨大成功,催生了众多影响深远的应用。这些应用旨在让计算机能够像人类一样“看懂”图像和视频,并从中提取有用的信息。以下是一些主流的视觉应用方向(不包括YOLO和传统意义上的目标检测):
1. 图像分类 (Image Classification)
图像分类是最基础也是最核心的计算机视觉任务之一。其目标是根据图像的内容,将其分配给一个或多个预定义的类别。
定义:给定一张输入图像,图像分类模型输出该图像属于各个类别的概率。通常选择概率最高的类别作为最终的分类结果。
典型网络:如前所述的AlexNet、VGGNet,以及后续的GoogLeNet, ResNet, DenseNet, MobileNet, EfficientNet等都是为图像分类任务设计的经典网络结构。
应用场景:
物体识别:识别图像中的主要物体是什么,例如猫、狗、汽车、飞机等。
场景识别:判断图像所描绘的场景类型,如海滩、森林、街道、室内等。
图像内容检索:根据图像内容对大规模图像库进行分类和索引,方便用户检索相似图像。
医学影像分析:辅助医生对医学影像(如X光片、CT扫描)进行分类,判断是否存在病变。
产品分类:在电商领域,自动对商品图片进行分类。
2. 语义分割 (Semantic Segmentation)
语义分割的目标是对图像中的每个像素进行分类,将其分配给其所属的物体类别。与图像分类不同,语义分割不仅要知道图像中有什么,还要知道它们在图像中的精确位置(像素级别)。
定义:为图像中的每个像素分配一个类别标签。输出结果通常是一张与原图同样大小的分割图,其中不同颜色代表不同的物体类别。
关键挑战:如何在保持高层语义信息的同时,恢复像素级别的空间细节。
典型网络与方法:
全卷积网络 (Fully Convolutional Network, FCN):FCN是语义分割领域的开创性工作。它将传统CNN末尾的全连接层替换为卷积层,使得网络可以接受任意尺寸的输入图像,并输出与输入同样大小的像素级预测图。FCN通过上采样(如反卷积或双线性插值)来恢复特征图的分辨率。
U-Net:U-Net及其变种在医学图像分割领域取得了巨大成功。其特点是拥有一个对称的编码器-解码器结构,编码器用于提取特征,解码器用于逐步恢复空间分辨率。编码器和解码器之间通过跳跃连接(skip connections)来融合不同层级的特征,有助于保留细节信息。
DeepLab系列 (如 DeepLab v3, DeepLab v3+):DeepLab系列引入了空洞卷积(Atrous Convolution / Dilated Convolution)来扩大感受野而不增加参数量或降低分辨率,并结合了条件随机场(CRF)或空洞空间金字塔池化(Atrous Spatial Pyramid Pooling, ASPP)来捕获多尺度上下文信息,是目前广泛使用的语义分割方法。
应用场景:
自动驾驶:识别道路、车辆、行人、交通标志等,为车辆提供环境感知。
医学影像分析:精确分割器官、肿瘤、病变区域,辅助诊断和手术规划。
遥感图像分析:土地覆盖分类、建筑物提取、道路提取等。
机器人视觉:帮助机器人理解场景,进行导航和交互。
图像编辑:例如背景替换、虚拟试衣等。
3. 实例分割 (Instance Segmentation)
实例分割比语义分割更进一步,它不仅需要对每个像素进行分类,还需要区分同一类别的不同实例。
定义:在语义分割的基础上,区分开图像中同一物体的不同个体。例如,如果图像中有三只猫,实例分割需要将这三只猫分别标记出来。
典型网络与方法:
Mask R-CNN:是实例分割领域的代表性工作,它在Faster R-CNN目标检测框架的基础上,增加了一个并行的分支来预测每个候选区域(Region of Interest, RoI)的分割掩码(mask)。
应用场景:
自动驾驶:更精细地识别和跟踪每个独立的车辆和行人。
机器人抓取:精确识别和定位需要抓取的物体实例。
生物医学图像分析:例如细胞计数和形态分析。
4. 关键点检测 (Keypoint Detection) / 人体姿态估计 (Human Pose Estimation)
关键点检测的目标是定位图像中物体的特定关键点,例如人脸的眼睛、鼻子、嘴巴角点,或者人体的关节点(如头部、肩膀、肘部、手腕等)。
定义:预测图像中预定义关键点的二维坐标(有时也包括三维坐标和可见性)。
典型网络与方法:
Hourglass Network:采用堆叠的沙漏形模块,通过反复的下采样和上采样来捕获多尺度特征,并进行端到端的关键点预测。
OpenPose:一个流行的开源实时多人姿态估计库,它使用部分亲和字段(Part Affinity Fields, PAFs)来关联检测到的身体部位,从而形成完整的人体姿态。
HRNet (High-Resolution Network):在整个过程中保持高分辨率特征图,并通过并行连接多分辨率子网并进行特征融合,从而获得精确的关键点定位。
应用场景:
人机交互:通过姿态识别理解用户意图。
运动分析:分析运动员的动作姿态,进行技术改进。
虚拟现实/增强现实 (VR/AR):驱动虚拟角色的动作,增强沉浸感。
安防监控:异常行为检测。
动画与游戏:角色动作捕捉。
评价指标回顾
在评估这些视觉应用模型的性能时,会用到一些常见的评价指标,如之前在数据集中提到的:
精确率 (Precision):在所有被模型预测为正例的样本中,真正为正例的比例。公式为:P = T P / ( T P + F P ) P = TP / (TP + FP)P=TP/(TP+FP)。
召回率 (Recall):在所有实际为正例的样本中,被模型成功预测为正例的比例。公式为:R = T P / ( T P + F N ) R = TP / (TP + FN)R=TP/(TP+FN)。
准确率 (Accuracy):被正确分类的样本数占总样本数的比例。公式为:A c c u r a c y = ( T P + T N ) / ( T P + F P + T N + F N ) Accuracy = (TP + TN) / (TP + FP + TN + FN)Accuracy=(TP+TN)/(TP+FP+TN+FN)。
P-R曲线 (Precision-Recall Curve):以召回率为横轴,精确率为纵轴绘制的曲线,用于综合评估模型在不同阈值下的性能。
平均精度 (Average Precision, AP):P-R曲线下的面积,是衡量单一类别检测或分割性能的常用指标。
平均精度均值 (mean Average Precision, mAP):对所有类别的AP值取平均,是衡量多类别检测或分割模型整体性能的核心指标。
这些视觉应用方向相互关联,并且随着深度学习技术的发展不断涌现出新的方法和应用场景。它们共同构成了现代计算机视觉的核心内容。


被折叠的 条评论
为什么被折叠?



