机器视觉任务(目标检测、实例分割、姿态估计、多目标跟踪、单目标跟踪、图像分类、单目深度估计)常用算法及公开数据集分享
本文按目标检测、实例分割、姿态估计、多目标跟踪、单目标跟踪、图像分类、单目深度估计七个任务分类,融合数据集介绍、评价指标及推荐算法,方便查阅:
一、目标检测
目标检测任务需定位图像中目标的边界框(bounding box)并识别其类别。
常用数据集
-
PASCAL VOC:最早于 2005 年发布,常用版本是 PASCAL VOC 2007 和 PASCAL VOC 2012。包含 20 个类别,如人、动物、交通工具等,PASCAL VOC 2007 有 9963 张标注图片,标注出 24640 个目标物体;PASCAL VOC 2012 包含 1530 张图片,标注出 27450 个目标物体,图像有对应的 XML 文件标注目标位置和类别。
-
ImageNet & ILSVRC:由斯坦福大学和普林斯顿大学合作建立,包含 1400 多万张图片,2 万多个类别。常用子数据集 ILSVRC 涵盖 1000 个对象类别,有 1281167 张训练图像,50000 张验证图像和 100000 张测试图像,是计算机视觉领域图像算法性能检验的标准数据集。
-
MS-COCO:2015 年发布,含 32.8 万张图片(20 万 + 带详细标注)、91 个类别,特点是场景复杂、单图目标多(平均每张图 7.7 个)、小目标多(如远处行人、小物体),标注包括边界框、类别、分割掩码等,是当前目标检测最主流的数据集之一。
-
Open Images:谷歌团队发布,2020 年发布的 Open Images V6 包含 900 万张图片,600 种对象,1600 万个 bounding - box 标注,是较大的带图像位置标注的数据集,图像场景复杂,平均每张图片 8.3 个目标。
-
DOTA:航空遥感图像检测常用数据集,包含 2806 张各种尺度图像,划分为 1/6 验证集,1/3 测试集,1/2 训练集,有 15 个类别共 188282 个目标对象,图像由领域内人士标注。
评价指标
- mAP(mean Average Precision):
核心指标,计算每个类别的 AP(Precision-Recall 曲线下面积),再取平均值。不同数据集可能采用不同 IoU(交并比)阈值,如 COCO 默认 IoU=0.5:0.95(从 0.5 到 0.95 间隔 0.05 的 10 个阈值),VOC 常用 IoU=0.5。 - FPS(Frames Per Second):
衡量模型实时性,每秒处理的图像数量,越高说明速度越快,适合实时场景(如自动驾驶、监控)。
推荐算法
- YOLO 系列(YOLOv5/v7/v8/v10/v11/v12):单阶段模型,将检测视为回归问题,速度极快(YOLOv8 在 GPU 上可达数百 FPS),适合实时场景(如监控、无人机)。
-RT-DETR:由百度开发的实时检测 Transformer (RT-DETR) 是一种先进的端到端目标检测器,可在保持高精度的同时提供实时性能。它基于 DETR(无 NMS 框架)的思想,同时引入了基于 conv 的backbone和一个高效的混合编码器以获得实时速度。
二、实例分割
实例分割需同时定位目标(边界框)并分割出每个目标的像素区域(区分同一类别的不同个体)。
常用数据集
- MS-COCO:
最常用的实例分割数据集,标注包含每个目标的掩码(mask),91 个类别,支持训练和评估分割模型(如 Mask R-CNN 在 COCO 上的基准测试)。 - ADE20K:2016 年 MIT 开放的场景理解数据集,由 27000 张图像组成,包含超过 3000 个物体类别,标注了实例 id,可用于实例分割,还可用于语义分割和零部件分割。
- Cityscapes:有精细标注数据集(3475 张训练图像,1525 张测试图像)和粗糙标注数据集,主要包含城市街区的场景数据,可用于实例分割任务,帮助理解城市环境中的物体。
评价指标
- mAP(mask):
类似目标检测的 mAP,但以分割掩码的 IoU(掩码交并比)为基准,计算每个类别的 AP 后取平均,是实例分割的核心指标。 - Mask IoU:
单个目标的掩码与真实标注的交并比,衡量分割的精细度。
推荐算法
- YOLO 系列(YOLOv5/v7/v8/v10/v11/v12):
单阶段实例分割模型,在 YOLO基础上增加分割头,速度快(接近实时),适合对效率要求高的场景(如机器人视觉)。 - SOLO(Segmenting Objects by Locations):
无锚框(anchor-free)模型,通过目标位置和大小直接生成掩码,避免锚框设计的复杂性,精度和速度均较优。
三、姿态估计
姿态估计需定位目标(通常是人)的关键关节点(如头部、肩膀、手腕),输出点坐标及连接关系。
常用数据集
- Leeds Sports Pose (LSP) Dataset:
含 2000 张图像(1000 张训练、1000 张测试),基于 8 项运动(如跑步、体操)采集,每张图标注 14 个全身关键点,适合单人姿态估计入门。 - MPII 数据集:
大型数据集,从 491 个 YouTube 视频中提取 24920 帧,标注 16 个关键点(含可见性标签),共 40522 人,场景涵盖日常活动(如做饭、走路),是姿态估计的主流基准。 - MS-COCO(关键点子集):
标注 17 个人体关键点(如鼻子、眼睛、手肘),含可见性标签、边界框和身体分割区域,支持多人姿态估计,常作为模型性能的重要测试集。
评价指标
- PCK(Percentage of Correct Keypoints):
核心指标,计算关键点预测坐标与真实坐标的距离小于阈值(如头部直径的 0.5 倍)的比例,阈值越大,对误差的容忍度越高。 - PCKh(PCK for Head):
以头部长度为基准计算阈值的 PCK 变体,更适合全身姿态估计(因不同人体型差异大,头部尺寸更稳定)。 - mAP(keypoint):
COCO 采用的指标,基于关键点预测的精度(距离阈值)和召回率计算 AP,再取平均值。
推荐算法
- HRNet(High-Resolution Network):
保持高分辨率特征图贯穿网络,避免低分辨率特征导致的细节丢失,在 MPII、COCO 等数据集上精度领先,适合对关键点定位精度要求高的场景(如动作捕捉)。 - YOLO-Pose:
基于 YOLO 框架的单阶段姿态估计模型,速度快(支持实时推理),适合实时场景(如舞蹈动作分析、监控中的行为识别)。 - AlphaPose:
专为多人姿态估计设计,通过目标检测 + 姿态估计联合优化,支持复杂场景下的多人关键点定位,开源工具链完善。
四、多目标跟踪(MOT)
多目标跟踪需在视频序列中同时跟踪多个目标,输出每个目标的轨迹(ID + 边界框)。
常用数据集
- MOT Challenge 系列:最主流的 MOT 数据集,逐年更新(MOT15-MOT20),以行人跟踪为主,场景包括城市街道、商场等,含动态背景、遮挡、目标进出等挑战。例如 MOT17 含 14 段视频,提供 3 种检测器的检测框;MOT20 增加了小目标和密集场景。
- KITTI Tracking:面向自动驾驶,由车载传感器(摄像头、激光雷达)采集,含行人、汽车、自行车等目标,场景涵盖城市、乡村、高速,标注含 3D 位置信息,适合多模态跟踪。
- UA-DETRAC:
专注车辆跟踪,含 60 段视频(10 万 + 帧),涵盖不同天气(晴、雨、雾)和交通密度,目标包括轿车、卡车等,挑战在于尺度变化和遮挡。
评价指标
- MOTA(Multiple Object Tracking Accuracy):
综合考虑误检、漏检、ID 切换的核心指标,取值范围 (-∞,1],越高越好(1 为完美跟踪)。 - MOTP(Multiple Object Tracking Precision):
跟踪框与真实框的平均 IoU,衡量定位精度,取值 [0,1],越高越好。 - IDF1(ID F1-Score):
基于目标 ID 匹配的 F1 分数,衡量轨迹连贯性,越高说明 ID 切换越少。
推荐算法
- SORT(Simple Online and Realtime Tracking):
经典的在线跟踪算法,结合卡尔曼滤波(预测目标运动)和匈牙利算法(匹配检测框与轨迹),速度快但 ID 切换较多。 - DeepSORT:
SORT 的改进版,引入外观特征(CNN 提取目标特征)辅助匹配,减少 ID 切换,在 MOT Challenge 中表现优异,适合实时场景(如监控)。 - ByteTrack:
创新地利用低置信度检测框辅助跟踪,解决遮挡和小目标丢失问题,在 MOT17/20 上的 MOTA 指标领先,适合密集场景。
五、单目标跟踪(SOT)
单目标跟踪需在视频首帧指定目标后,在后续帧中持续跟踪该目标(仅关注一个目标的轨迹)。
常用数据集
- OTB 数据集:
分为 OTB50(50 段视频)和 OTB100(100 段视频),含灰度和彩色图像,涵盖 11 种挑战属性(光照变化、尺度变化、遮挡等),评价初始化鲁棒性,是 SOT 的基础测试集。 - VOT 数据集:
每年更新(VOT2013-VOT2023),均为彩色视频,标注更精细(含目标消失 / 出现标记),分辨率更高,评价指标侧重跟踪与检测的结合(允许目标暂时丢失后重新检测)。 - LaSOT:
大规模长视频数据集,含 1400 段视频(每段 1000 + 帧),涵盖 70 个类别,挑战包括长期遮挡、快速运动等,适合测试跟踪算法的稳定性。
评价指标
- Success Plot:
以跟踪框与真实框的 IoU 为阈值(0-1),绘制成功跟踪的帧数比例曲线,曲线下面积(AUC)越大越好。 - Precision Plot:
以中心位置误差(跟踪框中心与真实框中心的距离)为阈值,绘制精度曲线,常用阈值为 20 像素,精度越高越好。 - EAO(Expected Average Overlap):
VOT 数据集专用指标,综合考虑跟踪成功率和鲁棒性(目标丢失后重新初始化的成本),值越高越好。
推荐算法
- SiamRPN++:
基于孪生网络(Siamese Network)和 RPN 的跟踪算法,通过共享权重的特征提取网络计算目标模板与候选区域的相似度,速度快(实时)且精度高,是 SOT 的经典模型。 - TransT(Transformer Tracking):
引入 Transformer 的自注意力和交叉注意力机制,增强目标与背景的区分能力,在复杂场景(如遮挡、背景干扰)中表现优异。 - Stark:
结合孪生网络和 Transformer,通过时空注意力建模目标运动,在长视频跟踪(LaSOT)中性能领先,适合需要长期跟踪的场景(如无人机跟拍)。
六、图像分类
是计算机视觉领域的基础任务,旨在将图像划分到不同的类别中。以下是一些常用图像分类数据集、评价指标及推荐算法的介绍:
常用数据集
- FruitNet 水果分类 / 识别数据集:包含苹果、香蕉等 6 种印度水果的 14700 多张高质量图像,图像分为优质、劣质和混合质量 3 个子文件夹,可用于水果分类模型训练。
- intel 自然风光图像分类数据集:包含约 25000 张大小为 150x150 的图像,分为建筑物、森林、冰川、山、海、街道 6 个类别。
- 花卉数据集:包含 4242 张花卉图像,分为洋甘菊、郁金香、玫瑰、向日葵、蒲公英 5 类,可用于植物识别。下载链接:http://suo.nz/2fGKVt。
- 90 种动物图像数据集:有 90 个不同类别的 5400 张动物图像,如羚羊、獾、蝙蝠等,图像大小不固定。下载链接:http://suo.nz/2ncY0a。
- 衣服数据集:收集了 20 种衣服的 5000 张图像,包括 T 恤、长袖、裤子等类别,标签经过手动标注和神经网络纠正。
- 商标数据集:构建了大规模的 Logo-2K + 数据集,包含 167140 张图像,有 10 个根类别和 2341 个类别。
- ImageNet:包含约 1400 万张图像,跨越约 21000 个类别,其子任务竞赛 ILSVRC 推动了深度卷积神经网络的发展,是图像分类领域的重要数据集。
- iNaturalist:长尾分布数据集,涵盖大量动植物物种,如 iNat-2021 包含 10k 类。
- CheXpert:医学 X 光图像分类数据集,有 14 类病理标签,用于医学图像分类研究。
评价指标
- 准确率(Accuracy):正确预测的样本数与总样本数的比值,适用于类别均衡的二分类或多分类任务,但在数据不均衡时容易产生误导。
- 混淆矩阵(Confusion Matrix):通过展示 TP(真正例)、TN(真负例)、FP(假正例)、FN(假负例),直观呈现分类结果,是计算其他指标的基础。
- 精确率(Precision):预测为正类的样本中,实际为正类的比例,注重减少误报。
- 召回率(Recall / Sensitivity):实际为正类的样本中,被正确预测的比例,注重减少漏报。
- F1-Score:精确率和召回率的调和平均,用于平衡两者矛盾,适用于类别不均衡或需要综合评估精确率和召回率的场景。
- 宏平均(Macro-Average):对每个类别的指标单独计算后取算术平均,平等看待每个类别,适合类别均衡的场景。
- 微平均(Micro-Average):将所有类别的 TP、FP、FN 汇总后计算全局指标。
- 加权平均(Weighted Average):按每个类别的样本数加权平均,在类别不均衡时更合理。
- Top-k 准确率(Top-k Accuracy):模型预测概率前 k 高的类别中包含真实标签的比例,适用于细粒度分类或类别语义相似的任务。
推荐算法
- 卷积神经网络(CNN):是图像分类的经典算法,如YOLO、 LeNet、AlexNet、VGGNet、ResNet 等。通过卷积层、池化层和全连接层等结构,自动提取图像特征,具有强大的特征表达能力。
- Transformer:近年来在图像分类领域也取得了很好的效果,如 ViT(Vision Transformer)。它将 Transformer 结构应用于图像领域,通过将图像分块并映射为序列输入,利用自注意力机制捕捉图像全局特征。
- 迁移学习算法:利用在大规模数据集(如 ImageNet)上预训练的模型,如 ResNet50、EfficientNet 等,然后在自己的数据集上进行微调。可以减少训练时间和数据量,提高模型性能。
七、单目深度估计
单目深度估计是计算机视觉中通过单张二维图像推断出场景三维深度信息的任务,在自动驾驶、机器人导航、增强现实等领域有重要应用。以下是其常用数据集、评价指标及推荐算法的介绍:
常用数据集
- KITTI
- 简介:基于车载传感器的真实驾驶场景数据集,包含单目图像、激光雷达点云(可作为深度真值)等数据,场景涵盖城市道路、乡村、高速公路等,深度范围主要集中在 0-100 米。
- 特点:数据真实且具有挑战性(如动态物体、光照变化),是单目深度估计的基准数据集之一。
- NYU Depth V2
- 简介:室内场景数据集,由 RGB-D 相机采集,包含 464 个场景的 1449 张图像,深度真值通过红外传感器获取,场景以家庭、办公室等室内环境为主,深度范围较小(通常 0-10 米)。
- 特点:室内细节丰富,适合室内深度估计模型的训练与评估。
- Make3D
- 简介:包含户外自然场景的单目图像和对应的激光雷达深度数据,共 134 个训练样本和 134 个测试样本,场景包括街道、公园、建筑物等。
- 特点:数据量较小,但早期常用于单目深度估计的研究。
- DDAD (Dense Depth for Autonomous Driving)
- 简介:专注于自动驾驶场景的大规模数据集,包含高分辨率单目图像和精确的深度真值(通过多传感器融合生成),场景覆盖复杂城市环境、恶劣天气等,数据量达 10 万级。
- 特点:深度真值精度高,更贴近真实自动驾驶需求。
- Matterport3D
- 简介:大规模室内场景数据集,包含从真实建筑中采集的 RGB 图像、深度图、3D 点云等,涵盖住宅、商业空间等多种室内场景,深度信息通过多视图重建获得。
- 特点:场景多样性强,适合训练通用室内深度估计模型。
评价指标
单目深度估计的评价指标主要用于衡量预测深度与真实深度的差异,常用的有:
- 绝对相对误差(Absolute Relative Error, Abs Rel)
- 含义:预测深度与真实深度的相对误差的平均值,值越小越好。
- 平方相对误差(Squared Relative Error, Sq Rel)
- 含义:对较大的相对误差更敏感,值越小越好。
- 均方根误差(Root Mean Squared Error, RMSE)
- 含义:预测深度与真实深度的绝对误差的平方和均值的平方根,受异常值影响较大,值越小越好。
- 对数均方根误差(RMSE log)
- 含义:对深度的对数空间误差进行衡量,更适合处理大范围深度数据,值越小越好。
- δ 指标(δ < 1.25, δ < 1.25², δ < 1.25³)
- 含义:统计预测深度与真实深度的比值在 1.25 倍、1.56 倍(1.25²)、1.95 倍(1.25³)范围内的样本比例,比例越高越好,反映模型的整体预测精度。
推荐算法
- 基于卷积神经网络(CNN)的方法
- U-Net 及变体:通过编码器 - 解码器结构提取多尺度特征,解码器逐步恢复深度图分辨率,如《Depth Map Prediction from a Single Image using a Multi-Scale Deep Network》中提出的多尺度 CNN 模型。
- 带有注意力机制的 CNN:在 U-Net 基础上引入注意力模块(如空间注意力、通道注意力),聚焦于重要区域的特征学习,提升深度估计精度。
- 基于 Transformer 的方法
- ViT-Depth:将图像分块转化为序列,通过 Transformer 的自注意力机制捕捉全局上下文信息,结合解码器生成深度图,适合处理长距离依赖关系(如远景深度估计)。
- 混合模型(CNN + Transformer):如《Depthformer: Exploiting Transformers for Monocular Depth Estimation》,用 CNN 提取局部特征,Transformer 建模全局关系,兼顾局部细节和全局结构。
- 自监督 / 无监督学习方法
- 原理:无需真实深度标签,通过单目视频的时序一致性(如相邻帧运动关系)或双目图像的立体匹配约束(如视差估计)进行训练,降低对标注数据的依赖。
- 代表模型:《Unsupervised Monocular Depth Estimation with Left-Right Consistency》中基于双目立体匹配的无监督方法,以及《Depth Prediction Without the Sensors: Leveraging Structure for Unsupervised Learning from Monocular Videos》中基于单目视频的自监督方法。
- 多任务融合方法
- 结合语义分割、姿态估计等任务,利用任务间的关联性提升深度估计性能,例如《Joint Semantic Segmentation and Depth Estimation with Deep Convolutional Networks》通过共享特征提取网络,同时优化多个任务损失。