论文笔记22 -- (Vehicle ReID)Multi-Domain Learning and Identity Mining for Vehicle Re-Identification

《Multi-Domain Learning and Identity Mining for Vehicle Re-Identification》

这是AI City Challenge 2020 Track2(Vehicle ReID)第三名的解决方案,出自罗浩团队!!!

论文点这里
代码点这里

Shuting He,Hao Luo,Weihua Chen,Miao Zhang,Yuqi Zhang,Fan Wang,Hao Li,Wei Jiang
Zhejiang University,Alibaba Group

Abstract

本文介绍了其在AI City Challenge 2020 (AICITY20)中对Track2的解决方案。Track2是一个包含真实数据和合成数据的车辆重识别(ReID)任务。

解决方案是基于strong baseline即bag-of-tricks(BoT-BS)做的,这是在person ReID中被提出来的。首先,提出了一种多领域学习方法,将真实数据和合成数据结合起来训练模型。在此基础上,提出了一种基于Identity Mining的方法来自动生成部分测试数据的伪标签,该方法比k-means聚类要更好。还用了re-ranking对结果进行后处理。最后,通过多模型融合,mAP得分为0.7322,在比赛中排名第三。

1. Introduction

AI City Challenge是CVPR2020会议的一个研讨会。它专注于不同的计算机视觉任务,以使城市的交通系统更智能。本文介绍了Track2的解决方案,即城市规模的多摄像机车辆重识别(ReID)。

Vehicle ReID是计算机视觉中的一项重要任务。它旨在通过不同摄像机的图像或视频来识别目标车辆,特别是在不知道车牌信息的情况下。vehicle ReID对于智慧城市的智能交通系统(ITS)至关重要。例如,该技术可以跟踪目标车辆的轨迹并检测交通异常。最近,大多数工作都基于vehicle ReID中的深度学习方法,并且这些方法在诸如Veri-776[12]和VehicleID[11]等基准上取得了很好的效果。

Track2不能完全视为标准的vehicle ReID任务,在该任务中,模型是在同域数据上进行训练和评估的。如图1所示,提供了真实数据集和综合数据集来训练Track2中的模型。这两种不同的数据集之间存在很大的偏差,因此如何合理地使用合成数据集仍然存在一些挑战。另外,Track2中的一些特殊规则介绍如下:

  • 不能使用外部数据。禁止使用公开的行人和车辆数据集,包括Market1501[29],DukeMTMC-reID[18],VeRi,VehicleID等。也不允许其他机构收集私人数据集。
  • 只能在训练集上进行其他手动标注。自动标注也可以应用于测试集。
  • 团队可以使用在其他人已经发布的外部数据集(例如ImageNet [1]和MS COCO [10])上训练的开源预训练模型。
  • 对合成数据的使用没有限制。
  • Top-100的mAP决定了排行榜。

在这里插入图片描述

由于任务类似于person ReID,因此本文使用了person ReID中的bag-of-tricks(BoT-BS)[13,14]作为baseline。BoT-BS在训练阶段引入了BNNeck来减少n ID loss(cross-entropy loss)和triplet loss之间的不一致性。BoT-BS不仅是person ReID的strong baseline,而且也适用于vehicle ReID,在Veri-776基准上可以达到95.8%的rank-1和79.9%的mAP(ResNet50 backbone)精度。在本文中,我们修改了一些训练设置,如学习率、优化器和损失函数等,以提高新数据集上的ReID性能。

除了修改BoT-BS之外,我们还专注于如何使用合成数据来提高ReID在真实数据上的性能。由于现实数据与合成数据之间存在很大偏差,因此在vehicle ReID中,这是一项比跨域或域自适应任务更具挑战性的任务。我们观察到,直接将现实世界数据和合成数据进行合并来训练模型,并且在合成数据上进行预训练模型都无法提高ReID性能。基于在真实域和合成域共享颜色和纹理等低级特征的动机,我们提出了一种多域学习(MDL)方法,即在真实域和部分合成数据上预先训练模型,然后冻结前几层并在真实数据上进行微调。

此外,允许在没有手动标注的情况下使用测试集。 可以采用一些无监督的方法,如k-means聚类来生成测试数据的伪标签。然而,由于ReID的性能较差,伪标签不够准确,因此,我们提出了 Identity Mining(IM)方法来生成更准确的伪标签。IM选择具有高置信度的一些不同ID的样本作为聚类中心,在每个聚类中只能选择一个样本。然后,对于每个聚类中心,一些相似的样本将使用相同的ID进行标记。与k-means聚类将所有数据分为几个聚类不同,IM方法只是对部分高置信度的数据进行自动标记。

为了进一步提高ReID的性能,引入了一些有效的方法。例如,re-ranking (RR)策略[30]是一种广泛使用的结果后处理方法。原始RR是图像到图像ReID方法,但是Track2中提供了跟踪信息。因此,我们引入了具有加权特征的tracklet-level re-ranking策略(WF-TRR)[4]。虽然我们的单个模型可以在CityFlow [16]上可以达到68.5%的mAP精度,但使用多模型融合,我们将mAP进一步提高到73.2%。

我们的贡献可以总结如下:

  • 提出了一种多域学习策略,以联合利用现实世界数据和合成数据。
  • 提议使用 Identity Mining方法为部分测试数据自动生成伪标签。
  • 我们的mAP得分达到0.7322,在比赛中排名第三。

2. Related Works

本节将介绍deep ReID和AICITY2019的一些作品。

2.1. Deep ReID

ReID是计算机视觉领域的一个研究热点。这项任务有各种重要的应用。现有的大多数ReID方法都是基于深度学习的。最近,CNN-based features在person ReID和vehicle ReID上都已经取得了很大的进展。person ReID为vehicle ReID提供了很多见解。本文方法是基于我们的方法是基于person ReID的一个strong baseline[13,14]。对于vehicle ReID,Liu等人[11]介绍了一种使用deep relative distance learning (DRDL)将车辆图像投影到欧几里德空间的方案,在欧几里德空间中,距离可以直接测量两个车辆图像的相似性。Shen等人[20]提出了一个两阶段(two-stage)框架,该框架结合了车辆的复杂时空信息,以有效地正则化ReID结果。Zhou等人[31]设计了一个基于视点感知的注意力多视角推理模型viewpoint-aware attentive multi-view inference (VAMI),该模型仅需视觉信息即可解决多视角车辆ReID问题。He等人[3]提出了一种简单有效的part-regularized discriminative feature-preserving 方法,提高了对细微差异的感知能力,并取得了很好的效果。一些工作还研究了有判别性的 part-level特征,以获得更好的性能。有些文章[25,9,8]利用车辆的关键点来学习局部特征。最近在vehicle ReID方面的几篇论文[3,24,2,23]指出,挡风玻璃、车灯和汽车品牌等特定部件往往具有很多判别性信息。在[32]中,利用不同方向的部件特征进行空间归一化和拼接,以作为vehicle ReID的方向性深度学习特征。Qian等人[17]提出了Stripe-based and Attribute-aware Network (SAN),以融合全局特征、部件特征和属性特征的信息。

2.2. AICITY19

由于AICITY20是从AI CITY Challenge 2019(AICITY19)更新而来,AICITY19的一些方法对我们的解决方案很有帮助。组织者在[15]中概述了前排团队的方法。由于AICITY19可以使用一些外部数据,因此去年有很多不同的想法。Tan等人[21]使用了一种基于从卷积神经网络(CNN)中提取视觉特征的方法,并利用了来自行驶方向和车辆类型的语义特征。Huang等人[7]利用车辆的语义属性来联合训练带有ID标签的模型。 此外,一些团队还使用了预训练的模型来提取车辆姿态,从而可以推断出方向信息[7,9]。 许多团队使用re-ranking方法作为后处理来提高ReID的性能[7、9、6、19]。一些团队将外部数据和附加标注加入到了训练模型中,但是AICITY20中不允许这样做。

3. Methods

3.1. Baseline Model

基线模型对最终排名很重要。在track2中,我们使用为person ReID提出的strong baseline(BoT-BS)[13,14]作为基线模型。为了提高Track2数据集的性能,我们修改了BOT-BS的一些设置。输出特性之后是BNNeck[13,14]结构,它将s ID loss (crossentropy loss) 和 triplet loss[5]分为两个不同的embedding空间。triplet loss是soft-margin版本,如下所示:
在这里插入图片描述
Hard example mining被用在soft-margin triplet loss。我们删除center loss是因为它在增加计算资源的同时并没有显著提高检索性能。我们尝试将cross-entropy loss改为arcface loss,但arcface loss在CityFlow上表现较差。在推理阶段,我们观察到特征   f t \ f_t  ft   f i \ f_i  fi获得了更好的性能。由于性能更好,我们使用SGD优化器代替Adam优化器。为了提高性能,我们用更深的主干和更大尺寸的图像来训练BoS-BS。baseline模型的框架如图2所示,更多细节可参考[13,14]。作为参考,我们修改后的baseline在Veri-776的benchmark上达到了96.9%的rank-1和82.0%的mAP精度。
在这里插入图片描述

3.2. Multi-Domain learning

在本节中,我们将介绍一种新的多域学习(MDL)方法来利用合成数据。

比赛同时提供了真实世界数据和合成数据,因此如何从两个不同域学习判别性特征是一个重要的问题。为方便起见,真实世界数据和合成数据/域分别表示为   D R \ D_R  DR   D S \ D_S  DS。目标是在   D R ∪ D S \ D_R∪D_S  DRDS上训练模型,并使其在   D R \ D_R  DR上获得更好的性能。有两种简单的解决方案,如下:

  • Solution-1:直接合并真实世界数据和合成数据,来训练ReID模型;
  • Solution-2:首先在合成数据   D S \ D_S  DS上训练一个预训练模型,然后在真实世界数据   D R \ D_R  DR上微调该预训练模型。

但是,这两种解决方案在比赛中并不有效。由于   D S \ D_S  DS中的数据量比   D R \ D_R  DR大得多,因此Solution-1会使模型更偏向   D S \ D_S  DS。由于   D R \ D_R  DR   D S \ D_S  DS之间存在很大偏差,因此对于CityFlow数据集,   D S \ D_S  DS上的预训练模型可能不会比ImageNet上的预训练模型更好。因此Solution-2不是好的解决方案。然而,一些工作[21,7]在Veri-776、VehicleID或CompCar[27]数据集上使用了预训练模型,以在AI CITY Challenge 2019中获得更好的性能,这表明在合理数据上训练的预训练模型是有效的。基于上述讨论,我们提出了一种新的MDL方法来利用合成数据VehicleX。该方法分为两个阶段,即预训练阶段和微调阶段。

Pre-trained Stage.
真实数据   D R \ D_R  DR的所有训练数据都表示为图像集   R \ R  R。然后,从合成数据   D S \ D_S  DS中随机抽取一部分ID,以构建新的图像集   S \ S  S。模型在新训练集   R ∪ S \ R∪S  RS上进行预训练。为了确保预训练模型不偏向   D S \ D_S  DS   S \ S  S的ID数不大于   R \ R  R的数目。将   S \ S  S的ID数设为100可以获得很高的性能,只需要选择   D S \ D_S  DS的前100个ID。

Fine-tuning Stage.
为了进一步提升在   D R \ D_R  DR上的性能,作者对这个预训练模型进行了fine-tune,没有用   S \ S  S。尽管   D R \ D_R  DR   D S \ D_S  DS之间存在很大的域偏差,但在这两个域中共享了诸如颜色和纹理之类的低级特征。因此,为了在fine-tune阶段保留低级特征,冻结了预训练模型的前两层。这里降低学习率也是有必要的。

3.3. Identity Mining

比赛允许将测试集用于无监督学习。一种广泛使用的方法是使用聚类对数据打上伪标签。由于测试集包含333个ID,因此我们可以直接使用k-means聚类将测试数据聚类为333个类别。然而,这种方法在Track2中不起作用,因为较差的模型无法给出准确的伪标签。添加这些自动标注的数据来训练模型时,我们发现性能会变得更差。我们认为没有必要添加所有测试数据来训练模型,但是需要确保伪标签的正确性。因此,我们提出了一种Identity Mining (IM) 方法来解决这个问题。

query set表示为   Q = { q 1 , q 2 , q 3 , . . . , q m } \ Q=\{q_1,q_2,q_3,...,q_m \}  Q={q1,q2,q3,...,qm},而gallery set表示为   G = { g 1 , g 2 , g 3 , . . . , g n } \ G=\{g_1,g_2,g_3,...,g_n \}  G={g1,g2,g3,...,gn}。我们使用由MDL训练的模型来提取Q和G的全局特征,它们分别表示为   f Q = { f q 1 , f q 2 , f q 3 , . . . , f q m } \ f_Q=\{f_{q_1},f_{q_2},f_{q_3},...,f_{q_m} \}  fQ={fq1,fq2,fq3,...,fqm}   f G = { f g 1 , f g 2 , f g 3 , . . . , f g n } \ f_G=\{f_{g_1},f_{g_2},f_{g_3},...,f_{g_n} \}  fG={fg1,fg2,fg3,...,fgn}。如图3所示,第一步是从Q中查找不同ID的样本,以形成集合   L = { l 1 , l 2 , l 3 , . . . , l t } \ L=\{l_1,l_2,l_3,...,l_t \}  L={l1,l2,l3,...,lt}。我们随机将一个query图像   l 1 \ l_1  l1采样到初始集合   L \ L  L
在这里插入图片描述
然后计算距离矩阵   D i s t ( Q , L ) \ Dist(Q,L)  Dist(Q,L),并将负对的距离阈值定义为   d n \ d_n  dn。目标是找到一个新ID的样本添加到集合   L \ L  L中,当子矩阵   m i n ( D i s t ( q i , L ) ) > d n \ min(Dist(q_i,L))>d_n  min(Dist(qi,L))>dn时,   q i \ q_i  qi作为候选。但是,可能有多个候选者满足此约束。我们选择集合   L \ L  L中所有样本最不相似的候选者,如下所示:
在这里插入图片描述
其中,   l t \ l_t  lt将被添加到具有新ID的集合   L \ L  L中。我们将重复该过程,直到没有   q i \ q_i  qi满足约束   m i n ( D i s t ( q i , L ) ) > d n \ min(Dist(q_i,L))>d_n  min(Dist(qi,L))>dn

在第一步之后,集合   L \ L  L包含几个具有不同IDs的样本。第二步是挖掘属于相同IDs的样本。同样,我们将正对的距离阈值定义为   d p \ d_p  dp。对于一个anchor image   l t \ l_t  lt,如果样本   x \ x  x   x ∈ Q ∪ G \ x∈Q∪G  xQG满足   D i s t ( x , l t ) < d p \ Dist(x,l_t)<d_p  Dist(x,lt)<dp,则样本   x \ x  x将使用与   l t \ l_t  lt相同的ID进行标记。但是,在此约束下,   x \ x  x可以使用多个ID进行标记。一个简单的解决方案是将   x \ x  x和最相似的   l t \ l_t  lt标记为相同的ID。然后,用伪标签将这些样本添加到集合   L \ L  L中。值得注意的是,由于我们设置了   d p < d n \ d_p<d_n  dp<dn,所以只有一部分样本会被标记。

与k-means聚类方法相比,IM不需要知道类的个数,可以在第一阶段自动生成聚类中心。但是,该方法是一个局部优化问题,对   L \ L  L的初始样本非常敏感。之后,我们将把它作为一个全局优化问题进一步研究。我们认为它有可能获得比其他聚类方法更好的伪标签。

在这里插入图片描述

3.4. Tracklet-Level Re-Ranking with Weighted Features

tracklet IDs是为Track2中的测试集提供的。先验知识是,tracklet的所有帧都属于同一个ID。在推理阶段,标准ReID任务是一个image-to-image (I2I)问题。但是,有了tracklet信息,任务就变成了一个imageto-track (I2T) 问题。对于I2T问题,tracklet的特征用tracklet的所有帧的特征来表示。

He等人[4]比较了tracklet的average features(AF)和weighted features(WF)。具体来说,对于tracklet   T i = t i , 1 , t i , 3 , t i , 3 . . . t i , j \ T_i=t_{i,1},t_{i,3},t_{i,3}...t_{i,j}  Ti=ti,1,ti,3,ti,3...ti,j,平均特征的计算公式为:
在这里插入图片描述

但是,尽管由于遮挡、视角或光照等原因,某些帧的质量较差,但平均特征仍然赋予每个帧相同的重要性。因此,I2TReID的average features仍然存在一些挑战。

He等人[4]提出了weighted features来解决这个问题。具体地说,我们首先计算子矩阵   D i s t ( Q , T i ) \ Dist(Q,T_i)  Dist(Q,Ti),其中   T \ T  T是来自gallery的tracklet集,   T i \ Ti  Ti   T \ T  T中的第   i \ i  i条轨迹,然后选择最小值小于0.2的   D i s t ( Q , T i ) \ Dist(Q,T_i)  Dist(Q,Ti)行,表示为   D ′ \ D'  D,得到与轨迹最相似的图像。然后计算   D ′ \ D'  D中每列的平均值,得到   T i \ T_i  Ti的平均距离向量   A i \ A_i  Ai。权重计算如下:
在这里插入图片描述

然后,计算tracklet   T i \ T_i  Ti的加权特征:
在这里插入图片描述

其中   f T i \ f_{T_i}  fTi   T i \ T_i  Ti的加权特征,而   f T i = { f t i , 1 , f t i , 3 , f t i , 3 . . . f t i , j } \ f_{T_i}=\{f_{t_{i,1}},f_{t_{i,3}},f_{t_{i,3}}...f_{t_{i,j}} \}  fTi={fti,1,fti,3,fti,3...fti,j}   T i \ T_i  Ti的特征集(feature set)。然后我们可以获得image-to-track的距离矩阵   D i s t ( Q , T ) \ Dist(Q,T)  Dist(Q,T)以获取ReID结果并tile tracks images。

除了加权特征外,k-倒数重排序(RR)方法是另一种可以提高ReID性能的后处理方法。然而,RR是一种帧级的图像间ReID方法。为了解决这一问题,我们将每个探测器图像看作一个具有一帧的独立轨迹。然后将RR方法应用到轨迹的特征中。我们将其命名为加权特征轨道级重新排序(WF-TRR)。

除加权特征外,k-reciprocal re-ranking(RR)方法是可以提高ReID性能的另一种后处理方法。但是,RR是一种帧级的image-to-image ReID方法。为了解决该问题,我们将每个query图像视为具有一帧的独立tracklet。然后将RR方法应用到tracklet的特征中。我们将其命名为track-level re-ranking with weighted features (WF-TRR)。

4. Experimental Results

4.1. Datasets

与学术研究定义的标准车辆ReID任务不同,Track2可以在真实数据和合成数据上训练模型,如图1所示。此外,还可以在测试集上进行无监督学习。
在这里插入图片描述
Real-world data.
真实世界数据CityFlow数据集[16,22],是在真实的交通监控环境中,由40台摄像机采集的。共包括666辆车的56277张图像。333辆车的36935幅图像用于训练。其余333辆车的18290张图像用于测试。在测试集中,分别有1052个query图像和17238个gallery图像。平均每辆车来自4.55个摄像头,有84.50张图像。训练集和测试集上都提供了单摄头tracklets。测试集上的性能决定了在排行榜上的最终排名。

Synthetic data.
合成数据VehicleX数据集,由公开的3D引擎VehicleX生成[28]。该数据集仅提供训练集,共包含1362辆车的192150张图像。此外,属性标签(如汽车颜色和车辆类型)也会被标注。在Track2中,合成数据可用于模型训练或迁移学习。但是,真实数据和合成数据之间存在很大的领域偏差。

Validation data.
由于每个团队只能提交20次,因此有必要使用验证集进行离线评估。我们将CityFlow的训练集分为训练集和验证集。为了方便起见,我们将它们分别命名为Split-train和Split-test。Split-train和Split-test分别包含233辆车的26272张图像和100辆车的10663张图像。在Split-test中,每辆车采集3幅图像作为query,其余图像作为gallery。

4.2. Implement Details

4.3. Comparison of Different Re-Ranking Strategies

在这里插入图片描述
我们在表1的验证集Split-test中评估了不同的re-ranking策略。基线BoT-BS在Split-test中达到76.7%的mAP。image-to-image的k-reciprocal re-ranking (RR)[30]在Split-test中提高了3.7%的mAP。由于提供了tracklet id,我们评估了两种trackletlevel re-ranking策略(TRR),即AF-TRR和WFTRR。直接对tracklet的所有特征求平均来表示其特征,在Split-test中,AF-TRR比RR高1.6%。它说明了tracklet信息对ReID性能是有用的。最终,WF-TRR在Split-test中获得了mAP90.6%的显著性能,大大超过了RR和AF-TRR。

在CityFlow benchmark上,RR、AF-TRR和WF-TRR分别达到54.5%、55.5%和59.7%的mAP。加权特征削弱了一些低质量图像的贡献。BoT-BS+WF-TRR是以下各节的baseline。

4.4. Analysis of Multi-Domain Learning

在这里插入图片描述
我们在Split-test和CityFlow上评估了多域学习(MDL)方法。在表2中,Solution-1和Solution-2均不能超过BoT-BS的性能。由于真实数据与合成数据之间存在较大的偏差,联合训练或预训练对Track2是无效的。此外,我们通过添加不同数量的id来评估MDL方法。表2中的结果表明MDL(100 IDs)获得了最好的性能。如果在微调阶段前两层没有冻结,性能将降低1.4%mAP。较少的ID提供较少的知识,而更多的ID可能导致模型更偏向于合成数据。但是,MDL的性能比Baseline,Solution-1和Solution-2更好,这表明了其有效性。

在CityFlow基准测试中,MDL还将表3中的mAP准确性从59.3%提高到65.3%。

4.5. Analysis of Identity Mining

我们在表4中比较了IM方法和k-means聚类的结果。对于k-means聚类,分别将Split-test和CityFlow的类别数设置为100和333。由于训练模型的性能较差,k-means聚类无法生成足够准确的伪标签。在Split-test上,我们观察到k-means聚类生成的伪标记的准确性为84.0%,而我们的IM方法可以生成98.7%的伪标记。CityFlow上的mAP得分进一步证明了该方法的有效性。k-means聚类不能提高Baseline的ReID性能,而Baseline+IM得到68.5%的mAP,比Baseline的mAP高3.2%。
在这里插入图片描述

4.6. Ablation study on CityFlow

如表5所示,采用WF-TRR的BoT-BS在CityFlow上的mAP达到59.7,MDL将其提高到65.3%。当结合使用IM标记的部分测试数据来训练模型时,采用ResNet101-IBN-a主干的单个模型在CityFlow上达到68.5%。为了获得更好的性能,我们融合了五个模型的结果,达到了73.2%的mAP。mAP得分的提高显示了每个模块的有效性。
在这里插入图片描述

4.7. Competition Results

我们团队(团队ID 39)的mAP得分达到0.7322,在2020年NVIDIA AI City Challenge Track 2的41项提交中名列第三。如表2所示,这是前10个算法的性能,详细统计如表6所示。表7中显示了其他一些得分,如rank-1,rank-5和rank-10。成绩还没有经过组委会的审核,所以这可能不是最后的排名。
在这里插入图片描述
在这里插入图片描述

5. Conclusion

本文介绍了我们团队(团队ID 39)在2020年NVIDIA AI City Challenge Track 2 CVPR2020大会上的解决方案。我们的解决方案是基于person ReID的一个strong baseline。此外,我们观察到tracklet-level re-ranking策略通过对结果的后处理提高了ReID的性能。我们提出了多域学习方法来利用合成数据,利用Identity Mining方法对部分测试数据进行自动标注。利用这些附加数据,该模型可以获得更好的性能。最终,我们的团队的mAP得分达到0.7322,在41个提交项目中排名第三。

Deep person re-identification is the task of recognizing a person across different camera views in a surveillance system. It is a challenging problem due to variations in lighting, pose, and occlusion. To address this problem, researchers have proposed various deep learning models that can learn discriminative features for person re-identification. However, achieving state-of-the-art performance often requires carefully designed training strategies and model architectures. One approach to improving the performance of deep person re-identification is to use a "bag of tricks" consisting of various techniques that have been shown to be effective in other computer vision tasks. These techniques include data augmentation, label smoothing, mixup, warm-up learning rates, and more. By combining these techniques, researchers have been able to achieve significant improvements in re-identification accuracy. In addition to using a bag of tricks, it is also important to establish a strong baseline for deep person re-identification. A strong baseline provides a foundation for future research and enables fair comparisons between different methods. A typical baseline for re-identification consists of a deep convolutional neural network (CNN) trained on a large-scale dataset such as Market-1501 or DukeMTMC-reID. The baseline should also include appropriate data preprocessing, such as resizing and normalization, and evaluation metrics, such as mean average precision (mAP) and cumulative matching characteristic (CMC) curves. Overall, combining a bag of tricks with a strong baseline can lead to significant improvements in deep person re-identification performance. This can have important practical applications in surveillance systems, where accurate person recognition is essential for ensuring public safety.
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值