问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

利用合成数据微调 AI 模型提升多摄像头跟踪精度

创作时间:
作者:
@小白创作中心

利用合成数据微调 AI 模型提升多摄像头跟踪精度

引用
nvidia
1.
https://developer.nvidia.com/zh-cn/blog/enhance-multi-camera-tracking-accuracy-by-fine-tuning-ai-models-with-synthetic-data/

针对特定用例的大规模合成数据在现实世界的计算机视觉和AI工作流程中变得越来越重要。这是因为数字孪生是一种强大的方式,可以为工厂、零售空间和其他资产创建基于物理性质的虚拟副本,从而实现真实环境的精确模拟。本文将详细介绍如何利用NVIDIA Isaac Sim和Omniverse Replicator Agent(ORA)生成合成数据,以微调ReIdentificationNet(ReID)模型,从而提升多摄像头跟踪精度。


图 1. simulate-train-build-deploy 工作流程

ReIdentificationNet 概述

ReIdentificationNet是一个用于多摄像头跟踪(MTMC)和实时定位系统(RTLS)工作流程的网络,通过从检测到的对象作物中提取嵌入来识别不同摄像头中的对象。这些嵌入捕获有关外观、纹理、颜色和形状的基本信息,从而增强跨摄像头识别类似对象的能力。这意味着对象以相似的外观在摄像头中具有相似的嵌入。

ReID模型用于区分独特对象的准确性在多摄像头追踪中发挥着至关重要的作用。MTMC和RTLS应用程序依赖于ReIdentificationNet的嵌入,以关联跨摄像头的对象并执行追踪。


图 2. 使用 ReIdentificationNet 在多个摄像头中识别和追踪多个对象


图 3. MTMC 和 RTLS 工作流程中使用的 ReIdentificationNet

模型架构

网络的输入是对象的RGB图像裁剪,大小为256 x 128。模型为每个图像裁剪输出一个大小为256的嵌入向量。

目前,ReIdentifcationNet支持ResNet-50和Swin Transformer主干。ReIdentificationNet的Swin变体是一种以人为中心的基础模型,在大约300万张图像裁剪上预训练,然后在各种监督的人员重新识别数据集上微调。

预训练

在预训练中,我们采用了一种名为SOLIDER的自监督学习技术:面向以人为本的视觉任务的语义可控自监督学习框架。

SOLIDER基于DINO(self-DIstillation with NO labels)构建,并使用人类图像作物的先前知识生成伪语义标签,以使用语义信息训练人类表征。SOLIDER使用语义控制器调整人类表征的语义内容,以适应人员重新识别的下游任务。

用于预训练的数据集包括NVIDIA专有数据集与Open Images V5。

微调

为进行微调,预训练模型在各种监督人重新识别数据集上进行训练,这些监督数据集包括合成和真实的NVIDIA专有数据集。

数据集类型
#张图像
#个身份
合成
14392
151
真实
67563
4470

表 1.训练数据集概述

Model type
Model parameters size
Precision
Embedding size
mAP(Mean Average Precision)
Top-1 Accuracy
Resnet50
2410 万
FP16
256
93.0%
94.7%
Swin-Tiny
2810 万
FP16
256
94.99%
96.9%

表 2. ReIdentification Transformer 模型大小和准确性在内部数据集上

为什么需要微调?

ReID网络性能不佳可能会导致ID切换,即由于不同个体之间的高度视觉相似性或外观随着时间的推移而发生变化,系统错误地将ID关联起来。

出现此问题的原因是,网络可能无法很好地泛化到给定场景的特定条件,例如光照、背景和服装变化。例如,在图 4 中,由于嵌入质量不佳,发生了ID切换,导致ID 4转换为ID 9和ID 17,对象ID 6转换为ID 14。

为了减轻ID交换和提高准确性,使用ORA微调ReID网络以特定场景中的数据至关重要。这可确保模型学习环境的独特特征和细微差别,从而实现更可靠的识别和跟踪。


图 5. 在实时定位系统工作流程中发生的 ID 交换机,在 TAO ReIdentification 微调过程之前

模拟:使用 Isaac Sim 和 Omniverse Replicator Agent 扩展程序

以下视频介绍了如何使用Isaac Sim和ORA扩展程序安装、设置和运行模拟,以生成合成数据并提高ReID模型的准确性。

视频 1. 使用 Issac Sim 生成合成数据以实现多摄像头追踪

配置模拟的最佳实践

要生成高质量的合成数据,需要考虑以下几个关键方面:

  • 字符数量
  • 角色的独特性
  • 摄像头位置
  • 角色行为

字符数量

ReIdentificationNet从唯一身份的数量中受益匪浅。在使用ORA设置数字孪生时,选择正确数量的代理至关重要。

在ORA界面的Character Settings下,您可以设置字符数量。给定环境中的大小与Isaac Sim默认仓库数字资产相似或更大时,则至少使用10-12个唯一字符。

角色的独特性

您在Isaac Sim中选择的角色应具有独特的外观。这通常包括穿不同服装、鞋、配件、头盔等的角色。为数字孪生选择合适的资产也很重要。例如,选择为仓库环境穿安全背心的角色。

摄像头位置

摄像头的位置应确保其视野锥体的结合覆盖预计会检测和追踪角色的整个地面区域为确保这一点,请将摄像头放置在较高的高度,例如天花板并倾斜向地面。

摄像头的定位方式还必须确保视锥体的结合能够保持对所有追踪对象的持续观察,每个角色应始终从3-4个不同的摄像头视角拍摄,以获得最佳数据数量和质量。

通过从Stage窗格的World部分中选择每个摄像头、调整属性并检查其视野,可以验证摄像头的放置位置。

角色行为

可以在Isaac Sim ORA中自定义角色行为,可以手动输入行为命令,也可以为每个角色随机生成行为命令,从而为其动作提供灵活性和多样性。

对于ReID数据采集,我们建议随机生成行为,只要所需的摄像头角度捕获物体。


图 6. Isaac Sim ORA 扩展程序通过不同摄像头角度捕获物体运动

训练:微调 ReIdentificationNet

从ORA扩展程序中获取数据后,准备并对其进行采样,以训练TAO ReIdentificationNet模型。使用Metropolis微服务或TAO工具套件中的TAO微调notebook执行微调过程。

数据采样指南

在对ReID的训练数据进行采样时,以下几点标准非常重要。

  • 标识数量:ReIdentificationNet大大受益于更多独特的身份。Isaac Sim场景中存在的所有身份都会自动成为训练样本的一部分。我们建议对10-12个对象进行微调,并逐步增加数量。
  • 摄像头数量:ReID模型的性能也会受到摄像头数量的极大影响。更多的摄像头意味着场景和物体的覆盖率更高。我们建议在小型到中型环境中放置3-4个摄像头。
  • 训练图像数量:我们建议从较小数量的样本开始,每个ID大约50个样本,共500个样本。在观察到准确度达到饱和后,可以添加更多样本。
  • 边框宽高比:由于ReID是以人为中心的模型,因此边框裁剪的高度必须高于其宽度。我们建议边框宽高比小于1。
  • 数据格式:从KITTI格式的ORA扩展名获取的数据必须转换为Market-1501格式,以进行TAO ReIdentificationNet训练。ReIdentificationNet需要图像位于三个文件夹中:
    bounding_box_train、bounding_box_test和query。每个文件夹由唯一字符的图像组成,文件名格式如下:000x_cxsx_0x_00.jpg。例如,图像0001_c1s1_01_00.jpg是相机c1的第一个序列s1,01是序列c1s1中的第一个帧,0001是分配给对象的唯一ID。有关更多信息,请参阅Market-1501 Dataset和ReIdentificationNet。

图7显示了数据集样本。


图 7. Images from the sampled ReIdentificationNet 数据集采样图像

训练技巧

准备好数据后,请使用Bag of Tricks和A Strong Baseline for Deep Person Re-identification中的以下训练技巧,在微调过程中提高ReID模型的准确性。

  • **ID损失 + triplet损失 + center损失:**重新识别任务是一个简单的分类,其中每个类都是给定对象的ID。虽然此ID损失有助于训练ReID,但不足以提高模型的准确性。为了进一步增强这一点,我们使用triplet和center损失支持ID损失。triplet损失有助于推动正身份样本的嵌入接近,并使负身份样本相互远离,而center损失有助于了解每个类的中心,并惩罚特征之间的距离以提高类内的紧凑性。
  • 随机擦除增强:在跨摄像头追踪物体时,遮挡是常见场景。训练过程的目标是模拟此类场景,以提高通用性,即在训练数据中删除图像的随机块,以复制遮挡。
  • 热身学习率:固定的学习率不足以收敛ReIdentificationNet的训练,因此前10个epoch的学习率(LR)呈线性增长,从3.5 x 10-5增加到3.5 x 10-6。然后,在第40个epoch和第70个epoch中,LR分别减少到3.5 × 10−5和3.5 × 10−6。
  • 批量归一化瓶颈(BNNeck):由于ID损失优化的是余弦距离,而三元组损失优化的是欧几里德距离,因此它们的损失具有不一致的含义,这会导致损失值波动为了减轻这种情况,在特征层之后使用BNNeck获取归一化特征。
  • 标签平滑:训练集中存在的标识可能不会出现在测试集中。为防止过拟合,可以使用标签平滑作为此分类任务的训练技巧。

训练规范

借助TAO,您可以通过调整规格文件中的epochs、batch size和learning rates等设置来自定义微调实验。如需微调,请将epochs设置为10。通过基于测试数据评估模型来监控过拟合或欠拟合。如果发生过拟合,可以生成其他样本并恢复训练,以确保模型在测试数据上表现良好。

有关训练规范的更多信息,请参阅ReIdentificationNet Transformer。

评估

现在,您的ReID模型可以使用训练技巧和采样数据进行微调。评估脚本可以帮助您在微调前后验证准确性。使用rank-1和mAP分数来评估ReIdentificationNet的准确性。

Rank-1精度用于测量网络做出的顶部预测的正确频率,对于每个查询图像,评估其第一个检索到的结果是否属于同一身份。

mAP是一个更全面的指标,用于考虑ReID模型所做的完整预测列表。对于每个查询,计算平均精度,该精度是指正确分类的正确阳性识别的比例。mAP分数是所有查询中所有这些计算出的AP分数的平均值。该指标更可靠,因为它考虑了检索到的个人列表中每个rank的精度。

表3显示了微调前后的结果。我们从使用ORA拍摄的10分钟视频中采样了这些图像,其中场景中有10个对象和四个摄像头。

模型
骨干网络
mAP
等级 1
默认ReID
ResNet50
63.54%
68.32%
微调的ReID(2000个样本训练30次)
78.4%
87.59%
默认ReID
小旋转
83.9%
85.29%
微调的ReID(2000个样本训练30次)
91.3%
93.80%

表 3. 在 2K 图像样本上微调后的结果

以下结果表明,对采样数据进行微调有助于提高准确度分数。您可以增加训练epochs以提高准确度分数。评估ReID在其他现有公共数据集上,看看模型是否过拟合。

比较微调前后嵌入距离的分布(图8)。


图 8.微调前后的嵌入分布 Figure 8. Embedding distribution before and after fine-tuning

在图8中,x轴表示嵌入之间的余弦距离,而y轴表示密度。在这两个图中,绿色分布对应ID匹配(正分布),红色分布对应ID不匹配(负分布)。

  • 微调前,ID匹配(绿色)范围从0到1,ID不匹配(绿色)范围从0.09到1。
  • 经过微调后,ID匹配将集中在较低的距离(0到0.61),不匹配的范围从(0.3到1)更分散,这表明嵌入质量有所提高。

这两个分布之间的最小重叠也表明身份可分离性更好。

预期训练时间

10-12个字符的预期训练时间应尽可能最小,但随着字符、摄像头和训练样本数量的增加,训练时间可能会增加。

我们提供此类场景的总训练时间的估计值。对于单个NVIDIA A100 GPU,约2000个图像样本在30个epochs的预期训练时间约为30分钟。

部署:将微调后的模型导出到 ONNX,并提高 MTMC 和 RTLS 的准确性

这种经过微调的ReID模型现在可以导出为ONNX格式,以便在MTMC或RTLS应用程序中进行部署。有关更多信息,请参阅使用多摄像头跟踪工作流程优化大空间流程以及NVIDIA Metropolis微服务指南中的Re-Identification主题。

模型部署后,使用这个新ReID模型可视化追踪结果(图9)。


图 9. 使用 RTLS 对仓库场景中 ReID 模型进行微调的前后效果

结束语

本文重点介绍的工作流程使您能够在合成数据上微调ReID模型。ORA扩展程序提供了一种灵活的方式来记录角色移动,而TAO API则提供了一种开发者友好的方式来训练、推理、评估和导出经过微调的ReID模型,从而无需任何标记即可提高模型的准确性。

要使用NVIDIA工具自定义工作流程并在其基础上进一步构建,涵盖从模拟到微调和部署的整个视觉AI生命周期,请参阅Metropolis Multi-Camera AI快速入门指南;有关技术问题,请访问NVIDIA TAO论坛或Isaac Sim论坛。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号