YOLOPv2: Better, Faster, Stronger for Panoptic Driving Perception
摘要
- 在过去的十年中,多任务学习方法在解决全景驾驶感知问题方面取得了令人鼓舞的成果,既提供了高精度又具备高效能的性能。在设计用于实时实际自动驾驶系统的网络时,这已成为一种流行的范式,特别是在计算资源有限的情况下。本文提出了一种有效且高效的多任务学习网络,能够同时执行交通物体检测、可驾驶道路区域分割和车道检测任务。我们的模型在挑战性的BDD100K数据集上,达到了新的最先进(SOTA)性能,既提高了准确性,又加快了速度。特别是在推理时间上,相比于之前的SOTA模型,推理时间减少了一半。代码将在不久的将来发布。
1. 引言
- 尽管计算机视觉和深度学习取得了巨大进展,基于视觉的任务(如物体检测、图像分割、车道检测等)在低成本自动驾驶应用中仍然具有挑战性。近期,研究者们在构建一个强健的全景驾驶感知系统方面做出了努力,而全景驾驶感知系统是自动驾驶的关键组成部分之一。全景驾驶感知系统通过常见的传感器,如摄像头或激光雷达,帮助自动驾驶车辆全面理解周围环境。基于摄像头的物体检测和图像分割任务,由于其低成本,通常在场景理解的实际应用中更为常见。物体检测在提供交通障碍物的位置和大小信息方面发挥着重要作用,帮助自动驾驶车辆在驾驶过程中做出准确和及时的决策。此外,可驾驶区域分割和车道分割为路径规划提供了丰富的信息,有助于提高行驶安全性。
- 物体检测和图像分割是计算机视觉领域两个长期研究的课题。针对物体检测,已有一系列优秀的工作,如CenterNet [3]、Faster R-CNN [18] 和 YOLO 系列 [16, 17, 21, 23, 22, 5]。常见的分割网络常用于可驾驶区域分割问题,例如:UNET [10]、SegNet [1] 和 PSPNet [28]。而对于车道检测/分割,通常需要一个更强大的网络来提供更好的高层和低层特征融合,以便考虑全局结构上下文,从而增强分割的细节 [14, 9, 24]。然而,在实际的实时自动驾驶系统中,为每个独立任务运行单独的模型往往是不现实的。多任务学习网络 [19, 15, 25, 20] 为此提供了一个潜在的解决方案,通过设计一个编码器-解码器模式的网络,编码器可以有效地被不同任务共享,从而节省计算成本。
- -在本文中,我们提出了一种有效且高效的多任务学习网络,在对先前方法进行深入研究后进行设计。我们在具有挑战性的BDD100K数据集 [26] 上进行了实验。我们的模型在三项任务中均取得了最佳表现:物体检测任务的MAP为0.83, 可驾驶区域分割任务的MIOU为0.93,车道检测的准确率为87.3。这些数值相较于基线有了大幅度的提升。此外,我们将每秒帧数(FPS)提高到了91,在NVIDIA TESLA V100上运行,而YOLOP模型在相同实验设置下的FPS为49。这进一步证明了我们的模型能够减少计算成本并保证实时预测,同时为其他实验研究的改进留出了空间。
- 本工作的主要贡献总结如下:
- 更好:我们提出了一个更有效的模型结构,并在过程中开发了更复杂的“免费增益”(bag-of-freebies),例如,在数据预处理时进行了Mosaic和Mixup操作,并采用了新颖的混合损失函数。
- 更快:我们实现了一个更高效的网络结构和内存分配策略,从而提高了模型的运行速度。
- 更强:我们的模型在强大的网络架构下进行训练,因此它具有良好的泛化能力,可以适应各种场景,并同时保证推理速度。
2. 相关研究
- 在本节中,我们回顾了全景驾驶感知主题中所有任务的相关工作,并讨论了有效的模型提升技术。
2.1 实时交通目标检测
- 现代目标检测器可以分为单阶段检测器和双阶段检测器。双阶段检测器由区域提议组件和检测细化组件组成。这些方法通常在不同场景中表现出较高的精度和稳健的结果。单阶段目标检测器通常运行更快,因此在实时实际应用中更为常用。YOLO系列在先进的单阶段目标检测设计方面不断迭代,提供了许多实验灵感,包括YOLOv4、Scaled YOLOv4、YOLOP和YOLOv7等。在本文中,我们使用了简单但强大的网络结构,并结合有效的“免费方法包”(Bag of Freebies, BoF)来提升目标检测性能。
2.2 可行驶域和车道线分割
- 在语义分割领域,研究通过使用全卷积神经网络(Fully Convolutional Network, FCN)[2],取代了传统的分割算法,取得了显著的进展。随着该领域的深入研究,设计出了更高性能的模型,例如经典的编码器-解码器结构UNet,以及PSPNet中用于提取不同层次特征的金字塔池化模块,这些方法有效地帮助了可驾驶区域的分割。
- 对于车道分割,由于其特有任务特征的挑战,例如车道形状的细长性和像素分布的零散性,车道分割需要精细的检测能力。SCNN[14]提出了逐层切片卷积(slice-by-slice convolution),用于在每一层的通道间传递信息。Enet-SAD则采用了自注意力校正方法,使得低层特征可以从高层特征中学习,这不仅提高了性能,还保持了模型的轻量化设计。
2.3 多任务方法
- 多任务学习的目标是设计能够更好地从多任务监督信号中学习共享表示的网络。Mask RCNN继承了Faster RCNN的思想,使用带有残差块的ResNet[8]架构进行特征提取,并增加了一个额外的掩膜预测分支,从而高效地结合了实例分割和物体检测任务。LSNet[4]的作者设计了一种三合一的网络架构,能够同时执行物体检测、实例分割和可驾驶区域分割。他们还设计了一种交叉IOU损失函数,以适应不同尺度和属性的物体。MultiNet使用一个共享编码器和三个独立的解码器,完成场景分类、物体检测和可驾驶区域分割任务。YOLOP构建了一个用于特征提取的编码器,并为处理特定任务设置了三个分支,从而实现多任务处理。在此基础上,HyBridNet的工作进一步增加了Bifpn以提高精度。
2.4 Bag of Freebies (BoF) [一种在训练深度学习模型时提高性能的技术集合]
- 为了提高物体检测结果的准确性而不增加推理成本,研究人员通常利用训练阶段和测试阶段是分开的这一事实。数据增强通常被应用来增加输入图像的多样性,从而使得所设计的物体检测模型能够更好地在不同领域进行泛化。例如,YOLOP中应用了常规的图像镜像、图像亮度、对比度、色调、饱和度和噪声的调整。这些数据增强方法都是像素级的调整,并且保留了调整区域中所有原始的像素信息。此外,YOLO系列的作者提出了一种方法,可以同时对多张图像执行数据增强。例如,Mosaic增强 [6] 将四张拼接的图像进行增强,从而提高了批量大小并增加了数据的多样性。
3. 方法论
- 在本节中,我们详细介绍了提出的多任务学习网络架构。我们讨论了如何实现一个高效的前馈网络,以协同完成交通物体检测、可驾驶区域分割和道路车道检测等任务。此外,还介绍了该模型的优化策略。
3.1 框架
- 我们设计了一种更高效的网络架构,基于现有的一些工作(例如YOLOP、HybridNet等)。我们的模型灵感来自YOLOP和HybridNet的工作,我们保留了核心设计理念,但采用了更强大的骨干网络进行特征提取。此外,与现有的工作不同,我们采用了三个解码器分支来执行特定任务,而不是将可驾驶区域分割和车道检测任务放在同一个分支中。这样设计的主要原因是我们发现交通区域分割和车道检测的任务难度完全不同,这意味着这两个任务对特征层的要求不同,因此最好为它们设计不同的网络结构。第四节中的实验结果表明,重新设计的架构能够有效地提升整体分割性能,同时对计算速度的影响可以忽略不计。图2展示了我们设计理念的整体方法流程图。
3.2 网络结构
- 所提出的网络架构如图1所示。它由一个共享的编码器用于从输入图像中提取特征,以及三个解码器分支分别用于处理对应的任务。本节将展示模型的网络配置。
3.2.1 共享解码器
- 与YOLOP使用CSPdarknet作为骨干网络不同,我们采用了E-ELAN的设计,利用组卷积(group convolution)使不同层的权重能够学习更丰富的特征。图2展示了组卷积的配置。
- 在网络的颈部(neck)部分,来自不同阶段的特征通过拼接(concatenation)进行收集和融合。类似于YOLOP,我们应用了空间金字塔池化(SPP)模块[7]来融合不同尺度的特征,并使用特征金字塔网络(FPN)模块[11]来融合具有不同语义层次的特征。
3.2.2 任务头
- 如前所述,我们为每个独立任务设计了三个单独的解码器头(decoder heads)。与YOLOv7类似,我们采用了基于锚点的多尺度检测方案。首先,我们使用路径聚合网络(PAN)[12],这是一种自下而上的结构,用于更好地提取定位特征。通过结合来自PAN和FPN的特征,我们能够将这些局部特征与语义信息融合,然后直接在PAN中的多尺度融合特征图上进行检测。每个网格在多尺度特征图中都会分配三个不同纵横比的锚点,检测头将预测位置的偏移量、缩放后的高度和宽度,以及每个类别预测的概率和相应的置信度。
- 在所提出的方法中,可驾驶区域分割和车道分割分别在独立的任务头中进行,并且采用了不同的网络结构。与YOLOP不同,YOLOP是将两个任务的特征来自neck的最后一层,而我们采用了不同语义层次的特征。我们发现,对于可驾驶区域分割任务来说,从更深层次的网络中提取特征并不是必需的。与其他两个任务相比,这些更深层次的特征并不能提高预测性能,反而增加了训练过程中模型收敛的难度。因此,可驾驶区域分割头的分支在FPN模块之前连接。为了弥补这一改变可能带来的损失,额外应用了上采样层,即在解码阶段应用了四次最近邻插值上采样。
- 对于车道分割,任务分支连接到FPN层的末端,以便从更深层次的特征中提取信息,因为道路线通常较宽且在输入图像中较难检测。此外,在车道检测的解码阶段应用了反卷积(deconvolution),进一步提升了模型的性能。
3.2.3 设计BOF
- 基于YOLOP的设计,我们保留了检测部分的损失函数设置。( L_{det} ) 是检测损失,它是分类损失、目标损失和边界框损失的加权和,如下所示。
L d e t = α 1 ∗ L c l a s s + α 2 ∗ L o b j + α 3 ∗ L b o x L_{det} = \alpha_1*L_{class} + \alpha_2 * L_{obj} + \alpha_3 * L_{box} Ldet=α1∗Lclass+α2∗Lobj+α3∗Lbox - 此外,Focal loss用于 L c l a s s L_{class} Lclass和 L o b j L_{obj} Lobj 以解决样本不平衡问题。 L c l a s s L_{class} Lclass用于惩罚分类, L o b j L_{obj} Lobj用于预测置信度。 L b o x L_{box} Lbox反映了预测结果与真实标签之间的重叠率、长宽比和尺度相似度。通过合理设置损失权重,可以有效保证多任务检测的结果。对于可驾驶区域分割,我们使用了交叉熵损失(cross-entropy loss),其目的是最小化网络输出与真实标签之间的分类误差。对于车道分割,我们使用焦点损失而不是交叉熵损失。因为对于像车道检测这样的难分类任务,使用焦点损失可以有效地引导模型关注难分类的样本,从而提高检测准确性。此外,我们在实验中实现了一种混合损失(hybrid loss),由Dice loss 和Focal loss组成。Dice loss能够学习类别分布,缓解类别不平衡问题。焦点损失则可以强迫模型关注分类困难的样本。最终的损失可以按照如下公式进行计算。
L = L D i c e + γ ∗ L F o c a l = C − ∑ c = 0 c − 1 T P p ( c ) T P p ( c ) + α F N p + β F P p ( c ) − γ N ∑ c = 0 c − 1 ∑ n = 1 N g n ( c ) ( 1 − p n ( c ) ) 2 l o g ( p n ( c ) ) L = L_{Dice} + \gamma * L_{Focal} \\ = C - \sum_{c=0}^{c-1} {TP_p(c) \over TP_p(c) + \alpha FN_p + \beta FP_p(c)} - {\gamma \over N} \sum_{c=0}^{c-1} \sum_{n=1}^{N} g_n(c) (1 - p_n(c))^2 log(p_n(c)) L=LDice+γ∗LFocal=C−c=0∑c−1TPp(c)+αFNp+βFPp(c)TPp(c)−Nγc=0∑c−1n=1∑Ngn(c)(1−pn(c))2log(pn(c))
T P p ( c ) = ∑ n = 1 N p n ( c ) g n ( c ) TP_p(c) = \sum_{n=1}^{N} p_n(c)g_n(c) TPp(c)=n=1∑Npn(c)gn(c)
F N p ( c ) = ∑ n = 1 N ( 1 − p n ( c ) ) g n ( c ) FN_p(c) = \sum_{n=1}^{N}(1 - p_n(c))g_n(c) FNp(c)=n=1∑N(1−pn(c))gn(c)
F P p ( c ) = ∑ n = 1 N p n ( c ) ( 1 − g n ( c ) ) FP_p(c) = \sum_{n=1}^{N}p_n(c)(1 - g_n(c)) FPp(c)=n=1∑Npn(c)(1−gn(c))
- 其中, γ \gamma γ 是Focal los和Dice loss之间的权衡系数, C C C是类别的总数,因此在可驾驶区域分割和车道分割中, C C C被设置为 2 2 2,因为这两个任务仅包含两类。 T P p ( c ) T Pp(c) TPp(c)、 F N p ( c ) F Np(c) FNp(c) 和 F P p ( c ) F Pp(c) FPp(c) 分别表示真实正例、假负例和假正例。
- 值得一提的是,我们在多任务学习方法中引入了 Mosaic 和 Mixup 数据增强策略 [27],据我们所知,这是首次在这三项任务(物体检测、可驾驶区域分割和车道检测)中显著提高了性能。
4. 实验
- 本节介绍了我们实验的 数据集设置 和 参数配置。本文中的所有实验都在 TESLA V100 图形卡和 torch 1.10 配置环境下进行。
4.1 数据集
- 我们使用 BDD100K 作为我们实验研究的基准数据集,这是一个具有挑战性的自动驾驶场景公开数据集。该数据集包含 10 万帧驾驶视角下的图像,广泛用于自动驾驶计算机视觉研究的评估基准。BDD100K 数据集支持 10 个视觉任务。与其他流行的驾驶数据集如 Cityscapes 和 Camvid 相比,BDD100K 在考虑天气条件、场景位置和光照等方面提供了更多样化的数据和场景。与其他研究类似,我们将数据集划分为 7 万张图像的训练集,1 万张图像的验证集和 2 万张图像的测试集。
4.2 训练配置
- “Cosine Annealing”策略用于在训练过程中调整学习率,其中初始学习率设置为0.01,并在前3个epoch执行warm-restart[13]。此外,动量和权重衰减分别设置为0.937和0.005,总训练epoch数为300。在训练阶段,我们将BDD100k数据集中的图像从1280×720×3调整为640×640×3,而在测试阶段则从1280×720×3调整为640×384×3。
4.3 结果
- 在本节中,我们对所提出的模型与一系列现有工作进行了定性和定量的比较。
4.3.1 模型参数和推理速度
- 表1展示了我们模型与两个最先进的多任务模型的比较。结果表明,我们的模型拥有更强大的网络结构和更多的参数,但性能却更快。这得益于我们提出的有效网络设计和精巧的内存分配策略。我们在相同的实验设置和评估指标下进行了所有测试。
4.3.2 交通目标检测结果
- 与YOLOP相同,mAP50和Recall被用作评估指标。正如表2所示,我们的模型在mAP50上取得了更高的成绩,并且Recall也具有竞争力。
4.3.3 可行驶域分割结果
- 表3展示了可行驶区域分割的评估结果,使用MIOU来评估不同模型的分割性能。我们的模型在这一任务中表现最佳,达到了0.93的mIOU。
4.3.4 车道线检测结果
- BDD100K 数据集中的车道标注是通过两条线来表示的,因此需要进行预处理。首先,我们基于这两条标注线计算车道的中心线,然后为训练生成一个宽度为 8 像素的车道掩膜,而测试集中的车道线保持 2 像素宽度。我们使用像素精度和车道的 IoU 作为评估指标。如表4所示,我们的模型在准确度上达到了最高值。
4.3.5 讨论与可视化
- 图3和图4展示了YOLOP、Hybridnet和我们YOLOPv2在BDD100K数据集上的视觉比较。图3显示了白天的结果。左列列出了YOLOP的三个场景,第一场景中存在一些错误的可行驶区域分割和缺失的可行驶区域分割,第二场景中出现了小物体的重复检测框和缺失的可行驶区域分割。第三场景中,发现了车道检测缺失。中列显示了Hybridnet的三个场景,第一场景中车道预测不连续,第二场景中存在小型车辆的重复检测和车道检测缺失,第三场景中出现了一些车辆和车道的错误检测。右列显示了我们YOLOPv2的结果,表明我们的模型在各种场景下提供了更好的性能。
- 图4显示了夜间的结果。左列提供了YOLOP的场景结果,第一个场景中有错误的检测和缺失的可行驶区域分割,第二个场景中车道检测偏差,第三个场景中缺失了车道检测和可行驶区域分割。中列是Hybridnet的结果,第一个场景中缺少一些车辆的检测和一些错误的检测框,第二个场景中存在一些错误检测和冗余的检测框,第三个场景中缺少了可行驶区域分割和冗余的车辆检测框。右列是我们YOLOPv2的结果,展示了我们的模型成功克服了这些问题,并展示了更好的性能。
4.3.6 消融实验
- 我们进行了多种改动和改进,并进行了相应的实验。表5展示了我们在实验中所做的部分更改及其对整个网络引入的改进。
5. 讨论
- 本文提出了一种高效的端到端多任务学习网络,能够同时执行三个驾驶感知任务:物体检测、可行驶区域分割和车道检测。我们的模型在具有挑战性的BDD100k数据集上达到了新的最先进性能,并在速度和准确性方面大大超过了现有模型。
参考文献
[1] Vijay Badrinarayanan, Alex Kendall, and Roberto Cipolla. "Segnet: A deep convolutional encoder-decoder architecture for image segmentation." *IEEE Transactions on Pattern Analysis and Machine Intelligence*, 39(12):2481–2495, 2017.[2] Jifeng Dai, Yi Li, Kaiming He, and Jian Sun. "R-fcn: Object detection via region-based fully convolutional networks." *Advances in Neural Information Processing Systems*, 29, 2016.[3] Kaiwen Duan, Song Bai, Lingxi Xie, Honggang Qi, Qingming Huang, and Qi Tian. "Centernet: Keypoint triplets for object detection." In *Proceedings of the IEEE/CVF International Conference on Computer Vision (ICCV)*, October 2019.[4] Kaiwen Duan, Lingxi Xie, Honggang Qi, Song Bai, Qingming Huang, and Qi Tian. "Location-sensitive visual recognition with cross-iou loss." *arXiv preprint arXiv:2104.04899*, 2021.[5] Zheng Ge, Songtao Liu, Feng Wang, Zeming Li, and Jian Sun. "Yolox: Exceeding yolo series in 2021." *arXiv preprint arXiv:2107.08430*, 2021.[6] Wang Hao and Song Zhili. "Improved mosaic: Algorithms for more complex images." *Journal of Physics: Conference Series*, volume 1684, page 012094. IOP Publishing, 2020.[7] Kaiming He, Xiangyu Zhang, Shaoqing Ren, and Jian Sun. "Spatial pyramid pooling in deep convolutional networks for visual recognition." *IEEE Transactions on Pattern Analysis and Machine Intelligence*, 37(9):1904–1916, 2015.[8] Kaiming He, Xiangyu Zhang, Shaoqing Ren, and Jian Sun. "Deep residual learning for image recognition." In *Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition*, pages 770–778, 2016.[9] Yuenan Hou, Zheng Ma, Chunxiao Liu, and Chen Change Loy. "Learning lightweight lane detection cnns by self attention distillation." In *Proceedings of the IEEE/CVF International Conference on Computer Vision*, pages 1013–1021, 2019.[10] Huimin Huang, Lanfen Lin, Ruofeng Tong, Hongjie Hu, Qiaowei Zhang, Yutaro Iwamoto, Xianhua Han, Yen-Wei Chen, and Jian Wu. "Unet 3+: A full-scale connected unet for medical image segmentation." In *ICASSP 2020-2020 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP)*, pages 1055–1059. IEEE, 2020.[11] Tsung-Yi Lin, Piotr Dollár, Ross Girshick, Kaiming He, Bharath Hariharan, and Serge Belongie. "Feature pyramid networks for object detection." In *Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition*, pages 2117–2125, 2017.[12] Shu Liu, Lu Qi, Haifang Qin, Jianping Shi, and Jiaya Jia. "Path aggregation network for instance segmentation." In *Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition*, pages 8759–8768, 2018.[13] Ilya Loshchilov and Frank Hutter. "SGDR: Stochastic gradient descent with warm restarts." *arXiv preprint arXiv:1608.03983*, 2016.[14] Angshuman Parashar, Minsoo Rhu, Anurag Mukkara, Antonio Puglielli, Rangharajan Venkatesan, Brucek Khailany, Joel Emer, Stephen W Keckler, and William J Dally. "SCNN: An accelerator for compressed-sparse convolutional neural networks." *ACM SIGARCH Computer Architecture News*, 45(2):27–40, 2017.[15] Yeqiang Qian, John M Dolan, and Ming Yang. "DLT-Net: Joint detection of drivable areas, lane lines, and traffic objects." *IEEE Transactions on Intelligent Transportation Systems*, 21(11):4670–4679, 2019.[16] Joseph Redmon and Ali Farhadi. "YOLO9000: Better, faster, stronger." In *Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition*, pages 7263–7271, 2017.[17] Joseph Redmon and Ali Farhadi. "YOLOv3: An incremental improvement." *arXiv preprint arXiv:1804.02767*, 2018.[18] Shaoqing Ren, Kaiming He, Ross Girshick, and Jian Sun. "Faster R-CNN: Towards real-time object detection with region proposal networks." *Advances in Neural Information Processing Systems*, 28, 2015.[19] Marvin Teichmann, Michael Weber, Marius Zoellner, Roberto Cipolla, and Raquel Urtasun. "Multinet: Real-time joint semantic reasoning for autonomous driving." In *2018 IEEE Intelligent Vehicles Symposium (IV)*, pages 1013–1020. IEEE, 2018.[20] Dat Vu, Bao Ngo, and Hung Phan. "Hybridnets: End-to-end perception network." *arXiv preprint arXiv:2203.09035*, 2022.[21] Chien-Yao Wang, Alexey Bochkovskiy, and Hong-Yuan Mark Liao. "Scaled-YOLOv4: Scaling cross-stage partial network." In *Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition*, pages 13029–13038, 2021.[22] Chien-Yao Wang, Alexey Bochkovskiy, and Hong-Yuan Mark Liao. "YOLOv7: Trainable bag-of-freebies sets new state-of-the-art for real-time object detectors." *arXiv preprint arXiv:2207.02696*, 2022.[23] Chien-Yao Wang, I-Hau Yeh, and Hong-Yuan Mark Liao. "You only learn one representation: Unified network for multiple tasks." *arXiv preprint arXiv:2105.04206*, 2021.[24] Ze Wang, Weiqiang Ren, and Qiang Qiu. "Lanenet: Real-time lane detection networks for autonomous driving." *arXiv preprint arXiv:1807.01726*, 2018.[25] Dong Wu, Manwen Liao, Weitian Zhang, and Xinggang Wang. "YOLOP: You only look once for panoptic driving perception." *arXiv preprint arXiv:2108.11250*, 2021.[26] Fisher Yu, Wenqi Xian, Yingying Chen, Fangchen Liu, Mike Liao, Vashisht Madhavan, and Trevor Darrell. "BDD100K: A diverse driving video database with scalable annotation tooling." *arXiv preprint arXiv:1805.04687*, 2(5):6, 2018.[27] Hongyi Zhang, Moustapha Cisse, Yann N Dauphin, and David Lopez-Paz. "Mixup: Beyond empirical risk minimization." *arXiv preprint arXiv:1710.09412*, 2017.[28] Hengshuang Zhao, Jianping Shi, Xiaojuan Qi, Xiaogang Wang, and Jiaya Jia. "Pyramid scene parsing network." In *Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition*, pages 2881–2890, 2017.[29] Wentao Zhu, Yufang Huang, Liang Zeng, Xuming Chen, Yong Liu, Zhen Qian, Nan Du, Wei Fan, and Xiaohui Xie. "Anatomynet: Deep learning for fast and fully automated whole-volume segmentation of head and neck anatomy." *Medical Physics*, 46(2):576–589, 2019.