没有合适的资源?快使用搜索试试~ 我知道了~
tonomous driving (AD) scenario, when a car parking on theroad has its door opened, it will be very likely that some-one would get off. As a response, the autonomous vehicleshould immediately slow down, turn the steering wheel, andchange line. Though, this case is not common, it is deadlyif there is no such understanding behind, and in real drivingscenario, there are many such cases as illustrated in Fig. 1.However, the dominant visual perception systems withdeep neural networks, though achieved great success in2D/3D detection [34, 12], instance segmentation [17] andpose estimation [4, 22, 39], are based on coarse understand-ing of objects with bounding boxes or masks. In our opin-113360三维部件引导的图像编辑用于细粒度物体理解0刘宗岱†1,陆飞翔†2,6,王鹏§2,5,苗辉1,张亮军2,6,杨瑞刚2,3,6和周斌�1,401 虚拟现实技术与系统国家重点实验室,北京航空航天大学 2百度研究,机器人与自动驾驶实验室 3 肯塔基大学 4 深圳鹏城实验室 5 字节跳动研究 6中国深度学习技术与应用国家工程实验室0摘要0对物体进行整体理解并理解其三维可移动部件对于机器人的视觉模型与世界进行交互至关重要。例如,只有理解其他车辆的许多可能的部件动态(例如,门或后备箱的打开,用于变道的尾灯闪烁),自动驾驶车辆才能成功处理紧急情况。然而,现有的视觉模型很少涉及这些情况,而是专注于边界框检测。在本文中,我们通过解决两个关键问题,填补了自动驾驶中的这个重要缺失。首先,为了解决数据稀缺性问题,我们提出了一种有效的训练数据生成过程,通过将具有动态部件的三维汽车模型与真实图像中的汽车拟合。这使我们能够直接使用对齐的三维部件编辑真实图像,从而为学习鲁棒的深度神经网络(DNNs)提供有效的训练数据。其次,为了评估对三维部件的理解质量,我们收集了一个在真实驾驶场景中具有不常见状态(CUS)的大型数据集,即带有打开的门或后备箱等状态,该数据集证明了我们训练的网络在2D检测和实例分割准确性方面明显优于其他基线模型。01. 引言0一个物体,例如汽车或人,通常由关节和可移动的三维部件组成。在图像或视频中理解物体及其三维部件的未来状态对于机器人的视觉/感知系统来说是至关重要的,以便决定其与世界的交互行为。例如,在流行的自动驾驶(AD)场景中,当一辆停在路上的汽车的车门打开时,很可能有人下车。作为响应,自动驾驶车辆应立即减速、转动方向盘并变道。虽然这种情况并不常见,但如果没有这样的理解,它将是致命的,在真实的驾驶场景中,有许多这样的情况,如图1所示。然而,基于深度神经网络的主流视觉感知系统,虽然在二维/三维检测[34, 12]、实例分割[17]和姿态估计[4, 22,39]方面取得了巨大成功,但是它们基于对物体的粗略理解,只使用边界框或掩模。在我们的观点中,0† 共同第一作者 § 部分工作在百度研究完成 �通讯作者:zhoubin@buaa.edu.cn0图1:在各种数据集上对不常见状态下的汽车进行细粒度解析的结果。结果包括二维检测(红色边界框)、实例分割(橙色掩模)、动态部件分割(蓝色掩模)和状态描述。请注意,常见状态的汽车以绿色显示。113370本文是填补这个缺失的一步,特别是在自动驾驶场景中,通过提供一个能够对物体进行详细的三维部件解析的模型。为了完成这样的任务,我们首先研究了许多流行的自动驾驶数据集,如KITTI [14],CityScapes [6]和ApolloScape [20,46]。如图1所示,我们首先发现在真实驾驶场景中存在汽车部件移动的情况,正如我们之前讨论的那样。其次,这种情况的数量太少,例如只有几十辆汽车,无法训练一个有效的模型来处理这些情况下的三维部件理解。为了生成足够数量的用于训练三维部件理解模型的数据,常见的策略是手动众包大量真实图像[15],这将非常昂贵,而其他解决方案,如获取带有模拟环境和计算机图形的数据集[1, 45,31],将在汽车和场景外观方面与真实场景存在较大差距。为了平衡这两者并自动生成当前深度学习模型[17]的训练数据,我们在这里提出了一种三维部件引导的图像编辑策略,如图2所示,首先在图像中使用动态部件拟合一个三维汽车模型,然后重新渲染带有重新配置的部件和逼真纹理的汽车内部。具体而言,我们采用了ApolloCar3D[39]数据集中的模型,其中每个汽车实例都配备了一个三维模型,并且我们为每种类型的三维汽车模型定义了十个常见的动态部件,即引擎盖、后备箱、四个车门、两个前灯和两个尾灯。更具体地说,对于每个部件,我们标记了其运动轴,限制了可能运动的范围。通过对三维汽车实例的所有可能运动进行采样,我们的策略自动编辑图像中的二维汽车实例,生成大量的训练样本。基于生成的数据,我们设计并训练了一个多任务网络,可以进行细粒度的物体理解,包括二维检测、实例分割、动态部件分割和三维汽车状态描述。相比没有我们生成的数据集的模型,我们的深度模型在自动驾驶中对汽车的理解更加稳健。最后,为了评估我们的模型和策略,据我们所知,我们构建了第一个包含大量描述汽车在自动驾驶中不常见状态(例如门或后备箱打开等)的数据集,其中包含1441个标记的街景图像、1850个汽车实例和12个定义的状态。我们通过该数据集广泛评估了部件理解的质量,并展示了我们的网络和训练策略在发现和理解这些不常见情况方面取得了较大的改进(相对改进超过8%)。总之,我们的贡献有三个方面:0•我们提出了一个3D部分引导的图像编辑流程,用于自动生成训练数据,有助于在自动驾驶中学习细粒度的物体理解模型。0•我们设计了一个多任务网络架构,可以同时输出实例级别和部分级别的物体理解结果。0•为了评估我们的数据生成策略和网络架构,我们构建了一个包含1441张真实图像的大型数据集,其中包含许多不常见状态的物体的细粒度注释。它证明了我们方法的有效性。02. 相关工作0细粒度的物体理解是自动驾驶的核心问题之一。我们的工作主要与两个领域相关:数据集和细粒度解析的车辆。我们将在以下内容中回顾相关工作。自动驾驶数据集。在自动驾驶的感知方面,已经构建和发布了几个数据集。第一个数据集是CamVid[2],它对701张图像进行了32个语义类别的注释。后来发布的KITTI基准[14]包含多个视觉任务(例如光流,2D/3D检测)。然而,它主要为每辆车注释2D/3D边界框,导致有7481张训练图像和7518张测试图像。最近,CityScapes数据集[6]使用实例级别分割标注了车辆,其中包含2975张训练图像,500张验证图像和1525张测试图像。ApolloScape[20]是一个用于各种2D和3D任务的大规模自动驾驶数据集。它对2D场景解析进行了像素级注释,提供了大约14万张图像。ApolloCar3D[39]是从驾驶场景中的真实图像构建的3D实例车辆数据集。对于2D图像中的每辆车实例,手动标注了3D模型和相应的6自由度姿态。此外,还存在其他真实街景自动驾驶数据集(例如多伦多[48],Mapillary[30]和BDD100K [51])和合成数据集(例如SYNTHIA [37],P.F.B.[35]和Virtual KITTI[11])。然而,所有这些数据集只注释常见的带有2D边界框或语义/实例分割的汽车,而忽略了不常见状态的汽车(例如打开的车门或后备箱,以及闪烁的前灯或尾灯)。在自动驾驶场景中,这些信息可以预测车辆的进一步动作,对于安全非常重要。深度网络的数据生成。学习有效的深度网络(例如AlexNet [21],VGG [38],ResNet [18]和FPN[25])依赖于每个单独任务的大量训练数据。然而,真实数据的收集和注释[8, 26,20]是费时费力的。为了避免数据标注的困难,合成数据被广泛用于训练深度网络。当前的图像合成技术可以大致分为两类:3D模型渲染和2D图像的“剪切-粘贴”[10]。最近,已经发布了几个大规模的3D模型数据集,例如ShapeNet [5],ModelNet [49]和ScanNet[7]。研究人员直接渲染3D模型以获得用于训练的2D图像。然而,渲染是一项耗时的工作,需要预先构建复杂逼真的3D场景。因此,一些工作从图像中剪切对象,然后将其粘贴到其他背景中合成照片逼真的训练数据。然而,“剪切-粘贴”的多样性有限。此外,它无法处理遮挡问题。然而,许多计算机视觉任务受益于合成数据,例如光流[3,9],场景流[28],立体视觉[32, 52],语义分割[36,37],3D关键点提取[42],视点[40],物体姿态[29],3D重建[16]和物体检测[1, 13, 31,45]。这些工作的关键问题是解决到逼真图像的外观领域差距。域随机化[43]被广泛用于车辆检测[31,45],以获得最佳性能。Alhaija等人[1]利用增强现实(AR)方法将车辆渲染结果叠加到真实街景图像上,生成增强的照片逼真的训练数据。Hinterstoisser等人[19]表明,通过冻结预训练的特征提取器,可以仅使用合成数据训练出一个良好的物体检测器。细粒度解析和理解。对于自动驾驶,如第1节所讨论的,检测、分割和解析运动物体到部分级别的语义是重要的。在这里,最先进的方法通常依赖于检测和理解流程。具体而言,对象首先使用检测器(例如单阶段方法(例如SSD513[12],YOLOv3 [33])或两阶段方法(例如Faster-RCNN[34],Mask-RCNN[17]))进行分离;然后使用对象部分进行细粒度识别,例如部分关键点回归[39]和部分分割[47,50]。最近,Lu等人[27]将部分级别的像素级注释扩展到部分状态推断问题,从而使视觉模型更具指导性。我们的工作遵循这一趋势,同时在自动驾驶场景中通过3D物体部分理解来处理不常见情况。ages for training. However, rendering is a time-consumingwork which requires pre-building the complex realistic 3Dscenes. Therefore, some works cut objects from images,and then paste to other background to synthesize photo-realistic training data. However, the diversity of ‘cut-paste’results is limited. Furthermore, it cannot handle the prob-lem of occlusion.Nevertheless, many computer vision tasks are benefi-cial from synthetic data, such as optical flow [3, 9], sceneflow [28], stereo [32, 52], semantic segmentation [36,37], 3D keypoint extraction [42], viewpoint [40], objectpose [29], 3D reconstruction [16], and object detection [1,13, 31, 45]. The key problem for these works is to fix ap-pearance domain gap to realistic images. Domain random-ization [43] is widely used for vehicle detection [31, 45],which gets the optimal performance. Alhaija et al. [1] takeadvantage of AR approach to overlay vehicle rendering re-sults to the real street-view images, yielding augmentedphoto-realistic training data. Hinterstoisser et al. [19] showthat by freezing a pre-trained feature extractor can train agood object detector with synthetic data only.Fine-grained Parsing and Understanding. For AD, asdiscussed in Sec. 1, it is important to detect, segment, andparse the moving objects into part-level semantics. Here,state-of-the-art (SOTA) methods often rely on detectingand understanding pipelines. Specifically, an object is firstseparated using detectors such as one-stage methods (e.g.,SSD513 [12], YOLOv3 [33]) or two-stage methods (e.g.,Faster-RCNN [34], Mask-RCNN [17]); and then performedfine-grained recognition with object parts, such as part key-points regression [39] and part segmentation [47, 50]. Mostrecently, Lu et al. [27] extend the part-level pixel-wise an-notation to the part state inference problem, such that vi-sual models can be more instructive. Our work follows thistrend, while extends previous works with object part under-standing in 3D to handle uncommon cases in AD scenario.113380图2:我们的数据增强流程概述。03D部件引导的图像编辑0在本节中,我们介绍如何利用3D部件自动编辑源2D图像。为了实现这个目标,需要四个基本组件:1)3D部件分割和运动轴注释;2)3D变换和2D投影;3)孔洞填充和图像滤波;4)不可见区域生成。最近,Song等人[39]发布了一个2D-3D对齐的数据集:ApolloCar3D,该数据集为每个2D汽车实例注释了3D模型和6自由度姿态。基于汽车的发布的3DCAD模型,我们手动分割出可移动部件(即引擎盖、后备箱和四个车门)和语义部件(即两个前大灯和两个尾灯)。对于语义部件,我们直接投影它们以获得相应的2D区域,然后进一步编辑为黄色或红色闪光效果(图3中的第三行)。对于可移动部件,我们首先注释它们的运动轴,然后转换3D部件以引导2D图像编辑。请注意,ApolloCar3D提供的3D模型质量较低。从源图像中获取适当的纹理映射以进行照片逼真渲染是困难的。相反,我们渲染3D几何部件以获得相应的深度图D,根据全局旋转Rg、平移tg和相机内部矩阵K。对于每个具有深度值D(u)的2D像素u = (u,v)�,我们通过以下方式将其转换为获取3D点P = (x, y, z)�:0P = R-1g ∙ D(u) ∙ K-1 ∙ ˙u - tg. (1)0这里,˙u是一个齐次向量:˙u = (u� |1)�。假设部件在局部上沿着运动轴进行了3D旋转Ro,并且轴在全局坐标中平移to。我们计算像素在图像域中的新位置u',定义如下:0u' = K ∙ Rg(Ro(P - to) + to) + tg. (2)113390图3:我们方法生成的不常见状态的汽车。可移动部件(即后备箱、引擎盖和四个车门)的编辑结果显示在第一行和第二行。语义部件(即两个前大灯和两个尾灯)的编辑结果显示在第三行。0在这里,函数u =π(P)执行了透视投影,包括去除齐次化以获得u ∈ R2 =(x/z, y/z)�,其中P ∈ R3 = (x, y,z)�。请注意,转换后的像素在部分区域(图2(e))总是稀疏且噪声较大。在这里,我们将非值像素称为“孔洞”。为了填补这些孔洞,我们使用线性混合算法[41]来获取RGB值。在插值非值像素之后,我们对编辑后的图像应用双边滤波器[44]。平滑的结果如图2(f)和图3所示。生成不可见区域。对于开门的情况,如果汽车朝向摄像机,我们可以生成视觉上令人信服的结果。一旦汽车朝相反方向,开门将在原始图像中引入一些不可见区域。这些不可见区域可以粗略地分为两类:一类是部件的反面,另一类是车辆内部(例如座椅、方向盘和发动机)。根据经验,由于光照不足,内部区域通常较暗。因此,我们直接用灰色填充内部区域。此外,我们还尝试了随机颜色和来自真实图像的补丁。然而,根据实验结果,我们没有发现它们之间明显的差异。与内部区域相比,给部件的反面上色似乎更加复杂。如图2所示,直接填充纯色是不合适的。因此,我们采用照片逼真渲染流水线来生成反面的高保真结果。考虑到ApolloCar3D提供的低质量模型,我们首先构建了一个小型专家设计的可移动部件的3D模型数据库。每个部件都是由专业艺术家使用商业软件3dsMax设计的。部件材料是手动标记的,并且BRDF参数是预定义的。如图2(h)所示,我们使用从ApolloCar3D计算的环境图来进行照片逼真渲染。我们的编辑结果如图3所示。0图4:我们的两个主干网络的架构,可以输出2D检测、实例级别分割、动态部分分割和状态描述。04. 网络架构0我们提出了一种新颖的多任务深度神经网络架构,如图4所示,用于细粒度的物体理解。在本节中,我们详细讨论了网络的模块和训练设置。04.1. 两个主干0我们的目标是通过仅在编辑图像上进行训练,从真实街景图像中检测出不常见状态的汽车。为了实现从合成数据到真实数据的转移能力,我们的网络中有两个ResNet50-FPN[25]主干。我们使用Mask-RCNN在ApolloCar3D[39]基准和CityScapes[6]基准上预训练主干,通过车辆检测任务引导提取车身特征。同时,我们使用COCO数据集预训练辅助主干,通过一般检测任务引导学习编辑区域(例如,渲染部件)的通用特征。最后,我们固定这两个主干的参数,以编辑数据训练网络。实际上,第6.4节的实验结果表明,通过冻结两个主干可以获得最佳性能。04.2. 动态部分分割0我们采用Mask-RCNN[17]实现动态部分分割任务。在Mask-RCNN中,掩膜分支为每个RoI对齐特征图输出一个Km×2的二进制掩膜,其中K是类别数,m是分辨率。此外,我们将动态部分分割作为一个新通道,导致输出包含一个(K+1)m×2的二进制掩膜。具体而言,我们将14×14的RoI对齐特征图输入四个连续的256维3×3卷积层。使用2×2的反卷积层将输出上采样到28×28。最后,我们将Lpart定义为每像素的sigmoid交叉熵损失的平均值。113400数据集引擎盖后备箱车门前灯尾灯总计抬起抬起前左抬起前右抬起后左抬起后右左转向灯右转向灯停止警报0KITTI 1 9 1 0 0 5 1 0 2 1 8 0 280CityScapes 0 0 14 5 8 4 3 2 4 0 15 0 550ApolloScape 0 23 29 0 59 157 15 18 23 27 33 16 4000ApolloCar3D 0 13 19 1 0 11 3 5 12 9 21 0 940拍摄图像 15 405 232 66 79 346 19 17 25 18 44 7 12730CUS数据集 16 450 295 72 146 523 41 42 66 55 121 23 18500表1:构建的CUS数据集,对1441张街景图像中的1850个不常见状态的汽车实例进行了注释。'fl-o.(br-o.)'表示前左(后右)部分打开,'l-tu. (r-tu.)'表示左转(右转)。04.3. 状态描述0我们使用二进制变量表示特定部分状态的存在(即存在为1,其他为0)。然后,我们将'部分状态向量'定义为所有二进制变量的连接。我们的方法通过顺序卷积层和掩膜分支中的全连接层回归部分状态向量。类似地,我们将Lstate定义为sigmoid交叉熵损失的平均值。04.4. 训练细节0首先,我们使用ResNet50-FPN主干在ApolloCar3D[39]基准和CityScapes[6]基准上通过车辆实例分割任务预训练Mask-RCNN。然后,我们通过复制预训练网络的参数来初始化主干。同时,我们使用相同的网络架构在COCO数据集上预训练辅助主干。最后,我们固定这两个主干的参数,以编辑数据训练网络。多任务损失定义如下:0L = L p类 + L p reg + L r类 + L r盒子 + Lr掩膜 + L r状态 + L r部分,(3)0其中( . ) p和( . )r分别表示RPN和RCNN。下标state和part分别表示状态向量和部分掩码的损失。我们使用带有0.0001权重衰减和0.9动量的SGD来最小化我们的损失函数。学习率最初设置为0.002,每5个epoch减小0.1。05. CUS数据集0据我们所知,目前没有现有的数据集提供了对不常见状态(CUS)中的汽车的详细注释。为了评估编辑数据的质量和基准网络性能,我们构建了一个带有真实街景图像注释的CUS数据集。具体而言,我们首先查找现有的面向自动驾驶的数据集,包括KITTI [14]、CityScapes [6]、ApolloScape[20]和ApolloCar3D [39]。这四个数据集总共有8万个0我们标注了超过100万辆汽车实例的图像。然而,其中很少有不常见的状态(表1)。为了添加更多的CUS数据,我们驾驶汽车在不同的地点(例如医院、公园、学校和城市道路)和不同的时间(例如早上、中午和下午)拍摄图像。因此,我们总共拍摄了大约15万张图像。在去除了模糊和过曝的图像后,我们最终收集到1273个汽车实例进行标注。如表1所示,我们的数据集涵盖了10个动态部分(即引擎盖、后备箱、四个车门、两个前大灯和两个尾灯)和12个不常见的状态,从1441张图像中标注了1850个汽车实例。对于每个汽车实例,我们手动标注了2D边界框、实例分割、动态部分分割和状态描述。需要注意的是,我们训练的深度模型直接用于在CUS数据集上进行测试,没有任何“领域适应”或“微调”策略。我们相信构建的基准数据集可以有效验证编辑数据的质量,并对网络性能进行定量评估。06. 结果06.1. 实验设置0我们的网络在一台64位工作站上进行训练,配备有8核3.4GHz CPU、4个Nvidia TITAN XP显卡和Ubuntu16.04操作系统。生成的训练数据主要来自ApolloCar3D数据集,该数据集为每个汽车实例标注了3D模型和6自由度姿态。考虑到不同数据集之间明显的领域差异,我们还在KITTI、CityScapes、ApolloScape和捕获的图像中用2D-3D对齐标注了100个常见汽车实例。然后,我们使用提出的编辑方法生成CUS数据进行训练。每辆汽车的编辑时间约为3秒。具体而言,3D点变换和投影需要0.5秒,孔洞填充和滤波需要0.5秒,不可见区域生成需要2秒。我们的网络的训练时间取决于数据量。一般来说,训练25K张图像需要24小时。在测试阶段,我们直接使用训练好的模型对CUS数据集进行细粒度理解。如图1、图7(c)和图10所示,我们的网络输出全面的解析结果,包括2D检测、实例级分割、动态部分分割和状态描述。项目页面上可以找到源代码、数据和更多结果(https://github.com/zongdai/EditingForDNN)。In Sec. 6.3, our network is compared with Mask-RCNN.Note that the proposed benchmark is only focused on CUS.While Mask-RCNN cannot distinguish the cars in com-mon/uncommon states, which are both existed in the testingdata. If we use the AP metric to evaluate this experiment,the detected common-state cars will decrease the precision,resulting in inaccurate AP value. Therefore, we computethe maximum of IoU values between the ground truth andthe predictions to evaluate the network performance.Different with Mask-RCNN, our two-backbone networkcan correctly detect the cars in uncommon states. For theablation study in Sec. 6.4, we choose the mAP metric toevaluate the performance of 2D detection, instance segmen-tation, and part segmentation.For state description, wecompute the match rate at each binary item between pre-diction state vectors and ground truth.113410图5:不同方法的训练数据:(a)原始图像;(b)渲染数据;(c)我们的方法编辑的数据。0在第6.3节中,我们将我们的网络与Mask-RCNN进行了比较。需要注意的是,提出的基准仅关注CUS。而Mask-RCNN无法区分测试数据中存在的常见/不常见状态的汽车。如果我们使用AP指标来评估这个实验,检测到的常见状态的汽车将降低精度,导致不准确的AP值。因此,我们计算了预测与真实值之间的IoU值的最大值来评估网络性能。与Mask-RCNN不同,我们的双骨干网络可以正确检测不常见状态的汽车。在第6.4节的消融研究中,我们选择mAP指标来评估2D检测、实例分割和部分分割的性能。对于状态描述,我们计算了预测状态向量与真实值之间每个二进制项的匹配率。06.2. 评估指标0方法 2D检测(IoU) 实例分割(IoU)0基准1 0.751 0.7040基准2 0.758 0.7120基准3 0.775 0.7210基准4 0.766 0.7130基准5 0.772 0.7190我们的方法 0.862 0.8150表2:在CUS数据集上使用不同方法进行2D检测和实例分割的评估结果。0图6:2D检测和实例分割的可视化结果(五种基准方法与我们的方法对比)。06.3. 与基准方法的比较0为了证明我们的方法能够有效提高2D检测和实例级分割的性能,我们比较了以下基准方法(表2):基准1:Mask-RCNN +现有数据集。我们在现有数据集(即KITTI、CityScapes、ApolloScape和ApolloCar3D)上训练Mask-RCNN网络,这些数据集只标注了常见状态的汽车(图5(a))。在测试阶段,我们直接输出CUS数据集上的2D检测和实例级分割结果。基准2:Mask-RCNN +渲染数据。我们实现了基于渲染的数据生成流程,这在大多数图像合成工作中被采用[40, 31,45]。根据6自由度姿态,我们构建了50个高质量纹理CAD汽车模型,并标注了动态部件和运动轴。我们使用Blender软件根据姿态生成渲染结果,并将其叠加到背景上(图5(b))。因此,我们构建了一个包含25K张图像的渲染数据集。我们在渲染数据上训练Mask-RCNN网络,并在CUS数据集上进行测试。基准3:Mask-RCNN +编辑数据。然后,我们使用我们的编辑数据(图5(c))训练Mask-RCNN网络,与渲染数据数量相同。我们在CUS数据集上评估训练好的Mask-RCNN网络。基准4:我们的网络 +现有数据集。我们使用基准1中介绍的现有数据集训练我们的两个骨干网络。基准5:我们的网络 +渲染数据。我们使用基准2中介绍的渲染数据训练提出的两个骨干网络。我们的方法:我们的网络 +编辑数据。最后,我们使用编辑数据训练我们的两个骨干网络。这些方法的定量结果列在表2中。113420方法 2D检测(mAP) 实例分割(mAP) 部件分割(mAP) 状态描述0单个骨干重新训练 0.136 0.114 0.144 0.1490单个骨干冻结 0.672 0.516 0.273 0.8370两个骨干冻结 0.701 0.563 0.314 0.8740表3:我们网络在2D检测、实例分割、部件分割和状态描述上的消融研究结果。0图7:我们网络消融实验的可视化结果:(a)单个骨干重新训练;(b) 单个骨干冻结;(c)两个骨干冻结。红色/绿色字体表示错误/正确的状态描述。0基准1的结果表明,通过常见状态的汽车训练的Mask-RCNN模型可以检测和分割汽车车身。然而,动态部件总是被忽略(图6(a))。基准2的结果显示,与基准1相比,渲染数据改善了网络性能。然而,渲染数据(图5(b))与真实拍摄的图像(图5(a))存在自然领域差异。此外,3D渲染的成本比基于编辑的方法高出10倍。基准3的结果证明,通过编辑数据训练的Mask-RCNN优于现有数据集和渲染数据。然而,当我们在图6(c)中可视化检测和分割结果时,明显可以看到可见部分效果良好,而动态部件的反面则存在错误。基准4和基准5分别使用我们的两个骨干网络在现有数据集和渲染数据上进行训练。然而,两种基准方法的性能都没有显著提高。在这里,我们强调我们的两个骨干网络是经过精心设计的,用于学习编辑数据,特别是动态部件。直接使用我们的网络无法有效学习其他数据,因为它们处于不同的领域。因此,我们通过编辑数据训练的两个骨干网络取得了最佳性能,在两个任务上超过其他方法8个百分点以上(表2)。主要的改进来自于不可见区域(图6(f))。0图8:我们的双主干网络在不同数量的训练数据上的性能。06.4. 性能分析0我们网络结构的影响。除了2D检测和实例分割,我们的网络还可以检测不常见状态的汽车,分割动态部分,并描述状态。为了说明我们网络结构的影响,我们进行了一项消融研究,如表3所示,使用恒定数量的训练数据(即25K)。我们首先重新训练单个主干,这是大多数深度网络的常见策略(例如[17])。结果表明,它几乎无法正确预测CUS的类别,导致这些任务的性能不佳(图7(a))。然后,我们在编辑数据训练期间冻结在COCO上预训练的单个主干。由于缓解了过拟合问题,性能有所提高。然而,冻结的主干无法提取足够的特征(图7(b))。相比之下,我们的两个主干不仅可以提取足够的特征,还可以避免过拟合问题。它在这些任务上取得了最佳性能(图7(c))。训练数据数量的影响。根据经验,深度网络的性能在很大程度上取决于训练数据的数量。在这里,我们进行了一项实验,研究数据数量与网络性能之间的关系。由于完全自动的基于编辑的方法,我们将数据数量从5K到40K设置为训练网络的间隔为5K的范围。图8显示了网络在多个任务上的性能与训练数据数量的关系。113430图9:带有(a)和不带有(b)环境地图的渲染结果。0无环境地图的任务 有环境地图的任务02D检测(mAP)0.688 0.7010实例分割(mAP)0.538 0.5630部分分割(mAP)0.221 0.3140状态描述 0.844 0.8740表4:环境地图的影响。0不同数量的训练数据。我们发现,从5K到25K,网络性能显著提高。而从25K到40K,对数量不敏感。在实践中,我们将训练数据的数量设置为25K,这是效率和准确性的一个很好的折中。环境地图的影响。在提出的数据生成流程中,我们渲染动态部分的反面以生成不可见区域的数据。然而,在野外环境中,光照(或环境地图)起着重要作用,它决定了渲染区域是否与周围环境兼容。在这里,我们进行了一个实验来研究环境地图的有效性。我们使用相同数量的带有/不带有环境地图的反面数据(如图9所示)来训练我们的网络,并在提出的CUS数据集上进行评估。如表4所示,由环境地图渲染的数据显著提高了网络性能。特别是,动态部分分割的改进达到了9.3%。06.5. 应用0我们的结果可以有效地支持许多高级视觉任务。如图10所示,我们将人体检测任务集成到我们的网络中。直观地说,人体和动态部分之间存在丰富的语义。例如,如果有人站在抬起的行李箱附近,很可能他/她正在搬运行李。如果有人弯腰推开车门,这意味着他/她要下车。除了动作推理和交互理解,我们甚至可以从不常见的情况中推断出人们的身份。例如,如果前左门打开,靠近门的人通常是司机。0图10:通过理解CUS进行动作推理和人物身份推断的应用。07. 结论和限制0在本文中,我们首次尝试分析不常见状态下的汽车(CUS)。我们提出了一种基于编辑的数据生成方法,利用3D部件的优势,而不是注释大量图像。我们的方法轻量但高效,大大推进了基于渲染的方法。为了对CUS进行全面的理解,我们提出了一种多任务深度网络,可以同时输出2D检测、实例级分割、动态部分分割和状态描述。为了评估性能,我们构建了一个包含1441张真实图像(1850个汽车实例)的CUS数据集,并进行了细粒度的注释。实验结果表明,我们的编辑数据和深度网络在CUS上表现良好。然而,还存在一些限制,这些限制指出了我们未来工作的方向。首先,AD是一个庞大而复杂的项目,本文分析的不常见状态与汽车密切相关。我们将更加关注其他对象,如人和道路。其次,我们网络的输出主要是2D结果。我们将扩展这项工作到3D空间,如3D检测、3D定位和3D重建。第三,我们将研究CUS在视频序列中的应用。最后,我们将融合多个传感器(例如RGB相机、立体相机、激光雷达和雷达)来研究CUS问题。0致谢0我们感谢匿名审稿人对本文的宝贵意见。本工作得到中国国家自然科学基金(U1736217和61932003)、中国国家重点研发计划(2019YFF0302902)和载人航天预研项目(060601)的部分支持。113440参考文献0[1] Hassan Abu Alhaija, Siva Karthik Mustikovela, LarsMescheder, Andreas Ge
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 5
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 高清艺术文字图标资源,PNG和ICO格式免费下载
- mui框架HTML5应用界面组件使用示例教程
- Vue.js开发利器:chrome-vue-devtools插件解析
- 掌握ElectronBrowserJS:打造跨平台电子应用
- 前端导师教程:构建与部署社交证明页面
- Java多线程与线程安全在断点续传中的实现
- 免Root一键卸载安卓预装应用教程
- 易语言实现高级表格滚动条完美控制技巧
- 超声波测距尺的源码实现
- 数据可视化与交互:构建易用的数据界面
- 实现Discourse外聘回复自动标记的简易插件
- 链表的头插法与尾插法实现及长度计算
- Playwright与Typescript及Mocha集成:自动化UI测试实践指南
- 128x128像素线性工具图标下载集合
- 易语言安装包程序增强版:智能导入与重复库过滤
- 利用AJAX与Spotify API在Google地图中探索世界音乐排行榜
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功