news 2026/9/19 20:08:19

从AAAI 2023优图16篇论文看计算机视觉落地:多标签分类、姿态估计与目标检测实战

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
从AAAI 2023优图16篇论文看计算机视觉落地:多标签分类、姿态估计与目标检测实战

1. 从AAAI 2023优图16篇论文看计算机视觉的落地风向

AAAI是人工智能领域的顶级会议之一,每年录用的论文基本代表了接下来一到两年内工业界和学术界会重点跟进的方向。优图实验室这次一口气中了16篇,覆盖多标签分类、姿态估计、目标检测、HOI(人-物交互)、小样本学习等多个方向,这个密度本身就说明了一件事:这些方向不是孤立的研究点,而是围绕“让模型在真实场景里更可用”这条主线展开的。

我自己做视觉项目这些年,最大的感受是:论文里的指标涨点和工程里的痛点往往不是一回事。论文追求的是在标准数据集上刷高mAP或者准确率,而工程里真正卡脖子的是标注成本、推理速度、长尾分布、跨域泛化这些问题。优图这批论文有意思的地方在于,它们大多在试图弥合这个gap——比如小样本学习解决标注少的问题,多标签分类解决一张图多个语义的问题,HOI解决理解场景中人和物关系的问题。这些都不是纯学术游戏,而是有明确落地场景的。

这篇文章我会按研究方向逐个拆解,把每篇论文的核心思路、技术选型背后的逻辑、以及在实际项目中怎么用、会遇到什么坑讲清楚。不管你是做算法落地的工程师,还是正在选课题的研究生,或者只是想了解CV前沿在往哪走,应该都能从中拿到一些可以直接用的东西。

2. 多标签分类:当一张图不再只有一个答案

2.1 多标签分类到底难在哪

多标签分类这个任务,说白了就是给一张图打上多个标签。比如一张街景图,可能同时包含“行人”“汽车”“红绿灯”“建筑物”,传统单标签分类只能输出一个结果,多标签要同时输出多个且都要对。听起来只是把softmax换成sigmoid就完事了,但实际做过的都知道,坑远不止这些。

核心难点有三个。第一是标签共现关系,比如“天空”和“云”经常一起出现,“沙滩”和“海”也高度相关,模型需要学到这种共现模式,而不是把每个标签独立看待。第二是长尾分布,有些标签出现频率极高,有些极低,模型容易偏向高频标签,导致稀有标签召回率惨不忍睹。第三是标签数量不确定,一张图可能有1个标签,也可能有10个,模型不能预设固定数量。

优图这次在多标签分类方向的论文,主要就是在解决标签依赖建模和长尾问题上做文章。具体做法各有不同,但思路是一致的:不能把每个标签当成独立二分类问题,要显式建模标签之间的关系。

2.2 标签相关性建模的几种典型思路

从工程角度看,标签相关性建模大致分三类做法,我结合优图论文的思路和实际项目经验展开讲。

第一类是基于图神经网络的方法。把每个标签当成图上的一个节点,标签共现频率作为边的权重,然后用GNN做消息传递,让每个标签的特征吸收相关标签的信息。这种做法的好处是直观、可解释,而且可以灵活控制图的稀疏程度。实际用的时候,我一般会把共现矩阵做阈值截断,只保留强相关的边,否则图太稠密反而引入噪声。优图在这方面的论文对图的构建和消息传递机制做了改进,具体来说是在边权重上引入了自适应学习,而不是完全依赖统计共现。

第二类是基于注意力机制的方法。用Transformer的自注意力来捕捉标签之间的依赖,每个标签作为一个query,去attend到其他标签和图像特征。这种做法在标签数量较多时计算量会上去,但效果通常比GNN更稳。实际部署时可以用低秩近似或者只保留top-k注意力来加速。

第三类是基于标签嵌入的方法。把每个标签映射到一个向量空间,通过向量之间的相似度来隐式建模关系。这种做法最轻量,适合标签数量很大(比如上万)的场景,但可解释性差一些。

实操心得:如果你的标签数量在100以内,优先考虑GNN或注意力方案;如果超过1000,标签嵌入+分类头是更务实的选择。不要一上来就上最复杂的模型,先跑通baseline再迭代。

2.3 多标签分类的评估与调参实战

多标签分类的评估指标和单标签完全不同,常用的有mAP(mean Average Precision)、Hamming Loss、Micro-F1、Macro-F1等。这里有个很容易踩的坑:Micro-F1和Macro-F1在长尾场景下差异巨大。Micro-F1受高频标签主导,Macro-F1对每个标签一视同仁。如果你的业务关心稀有标签,一定要看Macro-F1,否则模型在稀有标签上崩了你都不知道。

调参方面,有几个经验值可以参考。学习率方面,多标签任务通常比单标签需要更小的学习率,因为标签之间的梯度会相互干扰,学习率太大会导致训练不稳定。我一般从1e-4起步,如果用了预训练backbone可以降到5e-5。损失函数方面,BCE(Binary Cross Entropy)是最常用的,但在正负样本极度不平衡时,Focal Loss或者Asymmetric Loss效果更好。Asymmetric Loss的核心思想是分别对正负样本用不同的聚焦参数,因为多标签任务中负样本远多于正样本,过度关注负样本会拖累正样本的学习。

还有一个实用技巧是标签平滑。多标签任务中,硬标签(0或1)容易导致模型过拟合,把标签从1改成0.9、从0改成0.1,通常能带来1-2个点的mAP提升。这个技巧在优图的论文里也有体现,属于工业界和学术界都认可的常规操作。

3. 姿态估计:从单人到多人,从2D到3D

3.1 多人姿态估计的两条技术路线

多人姿态估计是姿态估计里最有落地价值也最难的方向。目前主流做法分两条路线:自顶向下(Top-Down)自底向上(Bottom-Up)

自顶向下的思路是先检测出每个人的bounding box,然后对每个人单独做关键点检测。这种做法的优点是精度高,因为每个人都被裁剪出来单独处理,尺度归一化做得好。缺点是速度受人数影响大,人越多越慢,而且检测框不准会直接影响姿态结果。实际项目中,如果场景人数可控(比如10人以内),自顶向下是首选。

自底向上的思路是先检测出图中所有人的关键点,然后通过聚类算法把关键点分组到每个人身上。优点是速度恒定,不受人数影响,适合人群密集场景。缺点是分组算法容易出错,尤其是人挨得近的时候,关键点容易分错人。优图在姿态估计方向的论文对分组策略做了改进,具体来说是利用了人体骨骼的几何约束来辅助分组,而不是纯靠位置距离。

注意事项:选路线之前先明确你的场景。安防场景通常人数少但要求高精度,选自顶向下;体育赛事或人群分析场景人数多,选自底向上。不要盲目追求SOTA,适合场景的才是最好的。

3.2 三维姿态估计的落地难点

三维姿态估计比二维难得多,核心难点在于深度歧义。同一张二维图像,可能对应多种三维姿态,因为深度信息在投影过程中丢失了。解决这个问题通常需要额外的先验知识,比如人体骨骼长度比例、关节活动角度限制等。

优图在三维姿态估计方向的论文,思路是利用多视角信息或者时序信息来消解深度歧义。多视角的做法是从不同角度拍摄同一动作,通过三角测量恢复三维坐标。时序的做法是利用视频帧之间的连续性,用前一帧的姿态来约束当前帧的预测。实际落地时,多视角方案需要标定相机,部署成本高;时序方案只需要单目摄像头,但要求输入是视频流而非单帧图像。

从工程角度看,三维姿态估计目前最成熟的落地场景是动作捕捉健身指导。动作捕捉对精度要求极高,通常需要多相机方案;健身指导对精度要求相对宽松,单目方案就能满足,重点是动作分类和计数要准。

3.3 姿态估计的数据集与评估

常见的人体姿态估计数据集有COCO Keypoints、MPII、CrowdPose等。COCO Keypoints是目前最常用的,标注了17个关键点,覆盖全身主要关节。MPII标注更细,但场景相对单一。CrowdPose专门针对拥挤场景,适合评估自底向上算法。

评估指标主要是OKS(Object Keypoint Similarity),计算预测关键点和真实关键点之间的归一化距离。OKS的计算公式里有个关键参数是每个关键点的标准差,这个值是根据人工标注的一致性统计出来的。实际调参时,如果你的场景和COCO差异大(比如医学影像中的姿态),OKS的标准差需要重新标定,否则评估结果没有参考意义。

实操心得:做姿态估计项目时,数据标注质量比模型选型更重要。我见过太多项目在标注环节偷懒,关键点位置偏差几个像素,最后模型怎么调都上不去。建议标注时至少做一轮交叉验证,两个人标同一批数据,对比差异,差异大的重新标。

4. 目标检测:从通用到专用,从大模型到轻量化

4.1 目标检测算法的发展脉络与选型逻辑

目标检测这些年经历了从R-CNN到YOLO再到DETR的演进。R-CNN系列是两阶段方法的代表,先出候选框再分类,精度高但速度慢。YOLO系列是一阶段方法的代表,直接回归框和类别,速度快但早期版本精度稍逊。DETR用Transformer做端到端检测,去掉了NMS后处理,但训练收敛慢。

优图在目标检测方向的论文覆盖了多个子方向,包括开放词汇目标检测、小目标检测、激光雷达目标检测等。这些方向的共同点是:通用检测器在特定场景下不够用。开放词汇检测解决的是类别不固定问题,小目标检测解决的是小物体漏检问题,激光雷达检测解决的是三维空间感知问题。

选型逻辑上,我一般按这个顺序判断:先看类别是否固定,固定就用常规检测器,不固定就看开放词汇方案;再看目标尺度,小目标多就上FPN或者专门的小目标检测头;最后看是否需要三维信息,需要就上激光雷达或者双目方案。

4.2 轻量化目标检测的工程实践

“macs仅5mb的目标检测模型”这个热搜词反映了一个真实需求:很多场景需要在边缘设备上跑检测,算力和内存都有限。轻量化检测的核心思路有三个:轻量backbone高效neck精简head

轻量backbone方面,MobileNet、ShuffleNet、GhostNet都是常用选择。GhostNet的核心思想是用廉价操作生成冗余特征图,而不是全部用卷积生成,能显著降低计算量。高效neck方面,BiFPN比PANet更轻量,通过加权融合不同尺度的特征。精简head方面,可以共享不同尺度的检测头参数,或者用分组卷积降低计算量。

实际部署时,还有一个容易被忽略的点是后处理耗时。NMS在目标密集场景下耗时可能超过模型推理本身。解决方案包括用Soft-NMS替代硬NMS,或者用学习到的NMS(如Fast NMS)来加速。另外,如果部署平台支持,可以把后处理也放到GPU上做,避免CPU-GPU数据传输的开销。

注意事项:轻量化不是越轻越好。我见过为了追求极致轻量把模型压到1MB以下,结果mAP掉了20个点,完全不可用。轻量化的底线是精度满足业务要求,在这个前提下再压模型。建议先确定精度下限,再在这个约束下做轻量化。

4.3 小目标检测与开放词汇检测的实战要点

小目标检测的难点在于小目标经过多次下采样后,特征信息几乎丢失。解决方案主要有:高分辨率特征图特征金字塔数据增强。高分辨率特征图的做法是减少下采样倍数,比如从32倍降到16倍甚至8倍,但计算量会上去。特征金字塔(FPN)的做法是把高层语义特征和低层细节特征融合,让小目标也能获得足够的语义信息。数据增强方面,Mosaic和Copy-Paste是常用手段,通过拼接和复制小目标来增加训练样本。

开放词汇检测的核心是视觉-语言对齐。用CLIP等视觉语言模型把图像区域和文本描述映射到同一空间,然后通过文本查询来检测任意类别。实际落地时,开放词汇检测的精度通常不如闭集检测器,但在类别频繁变化的场景下(比如电商商品检测),它的灵活性价值远超精度损失。

激光雷达目标检测则是另一个维度的问题。点云数据稀疏、无序,不能直接套用图像检测的方法。常用做法是把点云体素化或者投影到鸟瞰图,然后用3D卷积或2D卷积处理。优图在这方面的论文对点云特征提取和多模态融合做了改进,具体来说是利用了图像和点云的互补信息来提升检测精度。

5. HOI与小样本学习:理解关系与降低标注依赖

5.1 HOI检测的核心挑战与解法

HOI(Human-Object Interaction)检测要解决的是“谁在做什么”的问题。比如“人在骑车”“人在打电话”,不仅要检测出人和物体,还要识别他们之间的交互关系。这个任务的难点在于关系组合爆炸:人的动作有几十种,物体有上百种,组合起来就是几千种关系,而且很多关系在训练集中样本极少。

主流解法是两阶段方法:先检测人和物体,再对每一对人-物对做关系分类。关系分类的特征通常包括人框特征、物框特征、空间位置关系、以及人-物联合区域特征。优图在HOI方向的论文对关系特征提取做了改进,具体来说是在空间关系编码上引入了更精细的几何特征,比如相对距离、角度、重叠面积等。

实际落地时,HOI检测最典型的应用是行为识别智能监控。比如检测“人摔倒”“人打架”这类异常行为,本质上就是HOI问题。这类场景对召回率要求极高,宁可误报不能漏报,所以阈值设置要偏保守。

5.2 小样本学习的实战价值

小样本学习解决的是标注数据少的问题。在很多垂直领域,收集大量标注数据成本极高,比如医学影像、工业质检。小样本学习的目标是用少量样本(通常每类1-5个)就能学会新类别。

主流方法分三类:基于度量学习基于元学习基于数据增强。度量学习的思路是学习一个好的特征空间,让同类样本距离近、异类样本距离远,然后用最近邻分类。元学习的思路是学习“如何学习”,让模型能快速适应新任务。数据增强的思路是用生成模型或者几何变换来扩充样本。

优图在小样本学习方向的论文,思路是结合了度量学习和元学习的优势,在特征提取阶段用度量学习约束,在分类阶段用元学习快速适应。实际用的时候,小样本学习的效果高度依赖基类和新类的相似度。如果新类和基类差异很大,效果会明显下降。所以实际项目中,我一般会先用基类数据预训练,再用少量新类数据微调,而不是完全依赖小样本算法。

实操心得:小样本学习不是万能的。如果新类和老类差异大,再好的小样本算法也救不了。务实做法是:能标多少标多少,小样本算法作为补充而不是替代。另外,数据增强在小样本场景下性价比极高,简单的旋转、裁剪、颜色抖动就能带来明显提升。

5.3 多方向技术交叉的启示

优图这16篇论文虽然方向不同,但底层逻辑是相通的:都在试图用更少的监督、更强的泛化、更低的计算成本来解决真实问题。多标签分类和小样本学习都在解决标注问题,姿态估计和目标检测都在解决空间理解问题,HOI在解决关系理解问题。这些方向在实际项目中往往需要组合使用。

比如做一个智能健身应用,你需要姿态估计来获取人体关键点,需要目标检测来识别器械,需要HOI来判断动作是否标准,需要小样本学习来适应不同用户的体型差异。单一技术很难覆盖完整场景,组合才是常态。

从技术趋势看,Transformer正在渗透到各个方向,从ViT到DETR到各种变体,注意力机制逐渐取代卷积成为主流。但卷积在边缘设备上仍有优势,轻量化模型大多还是基于卷积。所以实际选型时不要盲目追新,要看部署环境和精度要求。

6. 从论文到落地:我踩过的坑和总结的经验

6.1 论文复现的常见陷阱

复现论文是每个算法工程师的必修课,但坑非常多。第一个坑是数据预处理不一致。论文里往往只写“用了标准预处理”,但具体是Resize到多少、归一化参数是多少、用了什么增强,这些细节对结果影响巨大。我的做法是:先找官方代码,如果没有就找第三方复现,对比多个版本,确认预处理细节。

第二个坑是超参数敏感性。有些论文的效果对学习率、batch size、权重衰减极其敏感,换个数据集就崩。复现时不要一上来就调模型结构,先把超参数搜一遍,确认baseline能复现再动结构。

第三个坑是评估协议不一致。有些论文在评估时用了额外的技巧,比如多尺度测试、模型集成,但正文里没强调。复现时如果只用单尺度测试,结果会差很多。看论文时要仔细看实验设置部分,确认评估协议是否公平。

6.2 工程落地的关键决策点

从论文到产品,有几个关键决策点。第一是精度和速度的权衡。论文通常只报精度,但产品必须考虑速度。我的做法是:先确定速度下限(比如30FPS),然后在这个约束下选精度最高的模型。如果精度不达标,再考虑换硬件或者优化推理。

第二是数据闭环。论文用的是固定数据集,产品面对的是持续变化的数据分布。必须建立数据回流机制,把线上bad case收集起来,定期重新训练。没有数据闭环的系统,上线三个月后效果就会明显下降。

第三是模型更新策略。全量更新成本高,增量更新又容易灾难性遗忘。我的经验是:小版本用增量学习,大版本用全量重训。增量学习时保留一部分旧数据做回放,能有效缓解遗忘。

6.3 常见问题速查表

问题现象可能原因排查方向解决方案
训练loss不下降学习率过大/过小打印梯度范数调整学习率,加warmup
验证集精度远低于训练集过拟合对比训练/验证增强加正则化,增强数据
小目标漏检严重特征图分辨率不足可视化特征图加FPN,提高输入分辨率
多标签分类稀有标签召回低长尾分布统计标签分布重采样,Focal Loss
姿态估计关键点抖动时序不一致逐帧可视化加时序平滑,光流约束
推理速度不达标后处理耗时profile各阶段耗时优化NMS,模型量化
跨域精度下降域偏移对比源域/目标域分布域适应,风格迁移增强

最后分享一个小技巧:做任何视觉项目,先花半天时间把数据可视化做出来。把标注框画到图上,把关键点标到图上,把分类标签统计出来。很多问题在可视化阶段就能发现,比训练完再排查高效得多。我见过太多项目,标注错了、类别映射错了,训练了几轮才发现,白白浪费算力。

这个方向后续还可以往多模态融合走,把文本、语音和视觉结合起来做更全面的场景理解。另外,自监督学习在视觉领域的进展也值得关注,如果能用无标注数据预训练出好的特征表示,对小样本和长尾场景都会有很大帮助。

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

Ray 蒙特卡洛估算 π 实战:用 Task 并行采样、Actor 跟踪进度

Ray 蒙特卡洛估算 π 实战:用 Task 并行采样、Actor 跟踪进度 【免费下载链接】ray Ray is an AI compute engine. Ray consists of a core distributed runtime and a set of AI Libraries for accelerating ML workloads. 项目地址: https://gitcode.com/gh_mir…

作者头像 李华
网站建设 2026/9/19 20:03:46

RIOT 中 C++ 与 C 混合编程实战指南:以 riot_and_cpp 示例为例

RIOT 中 C 与 C 混合编程实战指南:以 riot_and_cpp 示例为例 【免费下载链接】RIOT RIOT - The friendly OS for IoT 项目地址: https://gitcode.com/GitHub_Trending/riot/RIOT 本篇技术指南围绕 RIOT 官方语言支持示例中的 riot_and_cpp 展开,系…

作者头像 李华
网站建设 2026/9/19 20:01:46

FRAGSTATS景观格局指数速查:从面积、边缘到分维数

简介:这是一份聚焦景观格局指数体系的PDF参考文档,适合景观生态学、地理信息科学、城乡规划等领域的研究者、研究生及从业人员使用。文档以英文缩写—英文全称—指标名称—应用尺度—单位为线索,系统整理面积指标(AREA、CA、PLAND…

作者头像 李华
网站建设 2026/9/19 19:58:11

Java重构会展服务平台:状态机、并发控制与数据库优化实践

简介:基于Java的会展服务平台设计与实现文档,内容覆盖平台需求、设计目标、设计方案及实现技术,面向Java Web方向的高校毕业生或开发者。文档从会展服务管理实际场景出发,围绕管理员与用户两类角色展开,管理员侧涉及个…

作者头像 李华