人类感知到的信息中,有83%来自视觉,机器人的感知和交互也同样非常依赖机器视觉。因此,视觉传感是机器人理解外界信息的重要手段,随之而来的图像分析,则消耗了机器人等终端设备的大部分算力。如何在出色完成图像分析任务的前提下,尽可能降低终端算力的消耗,是人工智能和机器人产业在降低成本、提升性能时的重要考量。
目前,优必选科技在这一方向上取得了进展,相关研究成果已应用于公司研发的机器人,同时研究团队基于这一研发成果创作的论文《Triplet Ratio Loss for Robust Person Re-identification》(用于鲁棒行人重识别的三元组比例损失函数),被第五届中国模式识别与计算机视觉大会(The 5th Chinese Conference on Pattern Recognition and Computer Vision, PRCV 2022)收录。PRCV 2022由中国人工智能学会、中国计算机学会、中国自动化学会和中国图象图形学学会联合主办,是国内顶级的模式识别和计算机视觉领域学术盛会。
优必选科技鼓励和支持研究人员进行原创性、引领性的关键核心技术攻坚,在产业研究中不断发现问题、解决问题,坚持产学研用融合发展,针对产业需求和痛点,做真正有行业价值的学术研究。对算力的高效利用,是人工智能和机器人产业发展的关键问题。如果能以较少的终端算力,出色地完成图像分析任务,不仅能够降低成本,还能腾出算力让机器人完成更多复杂任务,向更加智能化迈进。
论文原标题:Triplet Ratio Loss for Robust Person Re-identification
下载链接:https://link.springer.com/chapter/10.1007/978-3-031-18907-4_4(本论文见论文集P42)
该篇论文提出了三元组比例损失函数(Triplet Ratio Loss),并以行人重识别任务为例,展示了新算法的优越性。过去,行人重识别算法通常通过联合优化交叉熵损失函数(Cross-Entropy Loss,以下简称CE Loss)和2015年谷歌提出的三元组损失函数(Triplet Loss)来训练模型,这种优化方式有两大问题:
1)容易受到训练过程中三元组采样的对间差异性(intra-pair variation)的影响;
2)训练过程中的不合理的优化梯度可能会导致模型坍缩。
针对上述问题,近年来的主要改进方法依然局限于基于间隔超参(margin)的三元组损失模式,例如改进采样方式、引入自适应的间隔超参等等。尽管提升了模型的性能 ,这些改进方法仍然没有显式地解决优化梯度不合理的问题。为了解决上述问题,本文提出了三元组比例损失(Triplet Ratio Loss),该损失函数提出了一种全新的基于比例的优化机制,直接优化类内距离与类间距离之间的比值,并约束其小于提前设置的超参。三元组比例损失的主要优点包括:
- 缓解了由于三元组采样过程中对间不一致性问题带来的模型性能损失;
- 改善了模型训练过程中的优化梯度和模型的收敛状态。
实验证明,本文提出的三元组比例损失可以有效地提升行人重识别模型在目前已有的三个公开数据集上的性能,能够在受限的算力下使用更小的模型实现同等的准确率效果。
(一)方法对比
- 三元组损失
经典的行人重识别模型一般使用联合优化交叉熵损失函数和三元组损失来训练模型。顾名思义,三元组损失的输入为一个特征三元组{fa,fp,fn},其中fa、fp、fn分别为基准图像特征、正样本图像特征和负样本图像特征。三元组损失约束基准图像特征和正样本图像特征之间的距离D{fa,fp}与约束基准图像特征和正样本图像特征之间的距离D{fa,fn}的差值大于一个阈值α,从而达到增大类内相似度、减小类间相似度的优化目标。具体而言,三元组损失的公式如下:
公式(2-1)
其中[*]+=max{*,0}。优化过程中,针对三个图像特征的优化梯度为:
公式(2-2)
然而,由于不同行人可能穿着相似,即类间差异D(fa,fn)很小(如图1-b所示);或者穿着差别很大,即类间差异D(fa,fn)很大(如图1-c所示),导致训练过程中三元组采样存在对间差异性(intra-pair variation),此时采用与图1-a所示的三元组一样的间隔来进行模型训练是不合理的:这将会导致三元组损失中的约束过紧或过松。同时,由于图1-b中负样本对的距离很小,根据公式(2-2)可知,此时三元组损失对该负样本的优化梯度反而很小,同时对正样本的优化梯度不变,若此时正样本对的距离也很大,这会导致使用三元组损失训练的行人重识别模型所提取的特征坍缩至一个点。
图 1 intra-pair variation的由来。绿框表示该图像为基准图像或正样本图像,
红框表示该图像为负样本图像。
2. 三元组比例损失
为了应对前文所述的使用联合优化交叉熵损失函数和三元组损失进行模型训练时所存在的问题,我们提出了一种全新的基于比例的损失函数,直接优化类内距离与类间距离之间的比值,并约束其小于提前设置的超参β∈(0,1)。具体而言,三元组比例损失的公式如下所示:
公式(2-3)
优化过程中,针对三个图像特征的优化梯度为:
公式(2-4)
处理对间差异性:与三元组损失相比,三元组比例损失针对不同的三元组给出不同的约束。如图-2所示,当类间差异很小时,三元组比例损失可以放松对正样本对的约束;当类间差异很大时,三元组比例损失可以收紧对正样本对的约束。例如,将超参α和β的值设置为0.4(0.4为经验值,此处仅用于示例,不同数据集下该超参的值可能不一致),三元组损失对正样本对的约束是固定的,但三元组比例损失对正样本对的约束是自适应可调的。具体而言,对于图1-b的三元组图像,由于负样本图像和基准图像很相似,导致D(fai,fni)值为0.5,此时,三元组比例损失要求D(fai,fpi)≤0.2,而三元组损失则要求D(fa,fp)≤0.1,因此,在负样本是困难样本的情况下(负样本图像与基准图像相似),三元组比例损失放松了对正样本对的约束,使得模型训练更加容易;而对于图1-c的三元组图像,由于负样本图像和基准图像差别很大,导致的D(fai,fni)值为1,此时,三元组比例损失要求D(fai,fpi)≤0.4,而三元组损失要求D(fai,fpi)≤0.6,在负样本是容易样本的情况下(负样本图像与基准图像不相似),收紧了对正样本对的约束,使得训练出来的模型所提取的特征类内更加紧致。
图2 (a)使用三元组损失优化时,{A0,P0,N0}需要进行优化,而{A0,P2,N2}不需要,(b)使用三元组比例损失优化时,{A0,P0,N0}不需要进行优化,{A0,P2,N2}需要,图中的红/蓝/绿矩形框表示在不同的负样本下正样本所需要优化的区域。
更合理的优化梯度:与三元组损失相比,三元组比例损失可给fni提供更合理的优化梯度。如公式(2-4),三元组比例损失在优化过程中给fni的梯度幅值与D(fai,fni)负相关。因此,如图-3所示,当D(fai,fni)很小时,会更加大幅度地优化fni;而当D(fai,fni)很大时,此时已经基本达到优化的要求,会相对更小幅度地优化fni,这与我们的直觉是相符的。与之相比,三元组损失在优化过程中给fni的梯度幅值与D(fai,fni)正相关,D(fai,fni)越大则越大幅度优化fni,越小则越小幅度优化fni,这与直觉相悖,且容易导致模型收敛到一个点上。
更进一步地,三元组比例损失在优化过程中给fni的梯度的幅值与D(fai,fpi)正相关。因此,当正样本对的两张图像已经很相似时,三元组比例损失不会显著地对fni进行优化。类似地,三元组比例损失在优化过程中给fpi的梯度的幅值与D(fai,fpi)负相关,因此当负样本对图像之间已经相差较大时,三元组比例损失不会显著地对fpi进行优化。
图3 (a)使用三元组损失或(b)使用三元组比例损失时,对fai, fpi和fni的优化梯度,图中的绿/红色点表示正/负样本,红/蓝/绿虚线表示不同负样本N0/N1/N2下正样本的决策边界,红/蓝/绿箭头表示不同负样本N0/N1/N2下fai, fpi和fni的优化梯度。
最终,模型训练时,使用联合优化交叉熵损失函数 + 三元组比例损失来对模型进行训练:
公式(2-5)
其中,LCE表示CE Loss,λ表示三元组比例损失的权重且λ=1。
(二)实验结果
本文在已有的三个公开数据集(即Market-1501 ,CUHK03 和 MSMT17 )上对提出的损失函数进行验证,遵循论文中的实验设置,从定量和定性两方面对所提出的损失函数进行验证。
1. 定量分析——数值结果
表1总结了使用本文提出的Loss训练得到的行人重识别模型和其他论文中的模型的性能对比。由于不同的方法采用不同的策略来提取行人图像的特征,因此,为了更为公平地比较,我们将这些方法分为基于全局特征的方法和基于组件特征的方法,这两类方法在表格中分别记为HF-based Methods和PF-based Methods。
- 使用本文提出的损失函数训练的ResNet-50模型可达到与基于组件特征的行人重识别模型相当的性能,其中ResNet-50模型属于基于全局特征的方法,而基于组件特征的方法需要额外消耗算力去提取细粒度的组件特征。
第二,使用本文提出的损失函数训练的ResNet-50模型可达到与基于全局特征的行人重识别模型相当的性能。例如,与3DSL(该论文中使用了额外的3D信息)相比,本文模型在Market-1501数据集上的Rank-1准确率与之相等,而平均均值精度(mean Average Precision,简称mAP)只比其低0.6%。第三,与其他行人重识别领域提出的Loss函数相比,本文提出的Loss所训练的模型在三个数据集上均达到世界领先水平。例如,与Circle loss相比,本文模型在MSMT17数据集上的Rank-1准确率和mAP分别比其高3.0%和5.0%。最后,使用Re-Ranking可以将本文模型在各个数据集上的Rank-1准确率和mAP进一步分别提升至95.8%和93.6%,83.7%和83.9%,85.8%和85.6%,83.5%和71.3%。
表1 行人重识别模型的性能比较
注:IDE表示ResNet-50,“-”表示无数据,RR表示使用Re-Ranking。
2. 定性分析——可视化结果
除了定量分析,图4和图5中的可视化结果进一步地验证了三元组比例损失的优越性。
首先,如图4所示,使用三元组比例损失训练的行人重识别模型所提取的特征明显更加紧致,即类内距离更小、类间距离更大,这表明三元组比例损失可以有效地缓解由于三元组采样过程中对间差异性问题带来的模型性能损失;
然后,如图5所示,在使用三元组比例损失训练过程中,联合优化交叉熵损失函数的下降速度明显比使用三元组损失训练时快,这表明三元组比例损失可以改善模型训练过程中的优化梯度和模型的收敛状态。
图 4 使用(a)三元组损失和(b)三元组比例损失训练的模型所提取的特征分布。
图 5 针对Market-1501数据集进行训练时分类损失的变化过程。
(三)结论
针对三元组损失容易受到训练过程中三元组采样的对间差异性的影响和优化梯度不合理的问题,本文提出了一种全新的基于比例的优化机制——三元组比例损失。首先,三元组比例损失直接优化类内距离与类间距离之间的比值,因而可以针对不同的三元组给出不同的约束,缓解对间差异性;其次,三元组比例损失同时考虑正样本对距离和负样本对距离来调整对模型所提取的特征的梯度,使得优化梯度更合理。最后,本文在三个大型公开数据集上的做了大量的实验,结果验证了三元组比例损失的有效性和优越性。
论文以行人重识别任务为例,但在实际应用中,该项技术在行人重识别、跌倒检测、手势识别中都有巨大的应用潜力,目前优必选科技已将该技术有效地应用于智慧商业、智慧康养和人工智能教育等领域,其成效也获得了用户的普遍认可。在使用三元组比例损失训练模型的过程中,由于跌倒数据几无清晰可用的公开数据集,优必选科技计算机视觉团队为求获得真实可信的图像分析效果,历经数月的算法研讨和效果测试,动员近百名成员及同事,在不同区域进行正摔、侧摔,从各个角度进行托马斯全摔,最终验证了损失函数的训练效果。
该项技术的提出,使得算法团队能够在受限的算力下使用更小的模型实现同等的准确率效果,有效地节约了宝贵的算力,从而在现有终端算力水平下,机器能够更快、更节约地完成图像分析任务,在更多创新功能上“算有余力”。在劳动力紧缺、老龄化加剧的大背景下,机器人尤其是人形机器人的发展主要受限于成本高昂,优必选科技将继续着眼于人工智能和机器人产业的实际需要,在成本优先的算力环境中提供更多高性能的算法解决方案,为“让智能机器人走进千家万户,让人类的生活方式变得更加便捷化、智能化、人性化”的使命贡献AI科技力量。