Jetson Xavier NX在图像识别与智能诊断中的应用测评
2020年5月14日,NVIDIA的2020 GTC大会在云端召开,CEO黄仁勋发布了新的边缘端开发工具——Jetson Xavier NX。这款嵌入式平台通过外形小巧的模组系统将超级计算机的性能带到了边缘端,高达21TOPS的加速计算能力可并行运行现代神经网络并处理来自多个高分辨率传感器的数据。据官方称其性能比其广泛采用的前身Jetson TX2高出10倍以上,且具有云原生支持,使开发人员可以在嵌入式和边缘设备上构建和部署高质量的软件定义功能,可以广泛应用于无人机、便携式医疗设备、小型商业机器人、智能摄像头、高分辨率传感器、自动光学检测、智能工厂和其他 IoT 嵌入式系统等高性能 AI 系统。
发布会后,我们做为最早的一批测评用户,拿到了JetsonXavier NX开发板者套件。第一时间开箱,并在随后的两周内,结合实验室相关研究内容,对各种图像智能识别与医学图像智能诊断模型在Jetson Xavier NX上的部署结果做了相应的测试工作,测评结果一如既往的惊艳的,NVIDIA这一次在小容量高性能上又做到了突破。在这里和大家分享一下开箱体验和测评结果。
由于是测评用机,NVIDIA公司除了Jetson Xavier NX开发者套件之外,还体贴的提供了两张烧写好的SD卡和一个250G的M.2 NVME SSD固态硬盘,甚至还有一个H390耳麦。Jetson Xavier NX套件的包装盒大约是Jetson Nano套件包装盒的二倍大,打开包装盒后可以看到,里面有一半的空间留给了电源适配器。经过认真对比参数,Jetson Xavier NX套件和Jetson Xavier套件共用同样配置的电源适配器,都是19V 3.42A,由于从美国发来的适配器插头是美标的,我们在测试时直接使用了JetsonXavier套件的电源适配器。这里需要注意,Jetson Nano套件的12V电源适配器是无法给Jetson Xavier NX套件供电的。
打开外包装后,可以看到Jetson Xavier NX套件和Jetson Xavier套件相比要更加轻量级,在尺寸上接近于Jetson Nano套件。但Jetson Xavier NX套件相较Jetson Nano套件多了一个风扇,多了一个M.2 NVME的接口,并将原有的M.2接口也一并移到了套件下方,更加便于安装。而且Jetson Xavier NX套件已经预先安装了一个M.2接口的无线/蓝牙适配器,天线也通过绕线器妥帖地收纳好了。其他接口和新版的JetsonNano套件基本上是一致的,两个CSI接口、四个USB 3.1接口(注意是3.1)、一个HDMI接口、一个eSATA接口、一个有线网卡接口以及两排GPIO接口。另外Jetson Xavier NX套件和Jetson Nano套件一样,选用了mircoSD卡作为系统载体,更加便于系统烧写和多个版本的保存。需要注意的是,虽然在Jetson Xavier NX套件上也有一个micro-USB接口,但这个接口只是数据传输使用,并不能像在Jetson Nano套件上那样可以供电。
下面这组照片是Jetson Xavier NX套件和新版Jetson Nano套件的对比,JetsonXavier NX套件都在上方,Jetson Nano套件都在下方。据官方信息,Jetson Xavier NX模组和Jetson Nano模组引脚兼容,支持共享硬件设计,用户利用Jetson Nano模组的载板即可升级到Jetson Xavier NX。这对于正将Jetson Nano用于产品开发的项目组来说是一种备选的性能升级方案,也是一种双重保障。
根据官方公布的数据,Jetson Xavier NX模组只有70mm×45mm,这个和Jetson Nano模组外形一样小巧的模块搭载了六核NVIDIA Carmel ARM处理器,GPU则是拥有384个NVIDIA CUDA核心的NVIDIA Volta架构显卡,同时还配备了48个Tensor核心,显存和内存共用8GB的LPDDR4x,存储则为16GB eMMC 5.1,支持2×4K 60Hz视频解码,提供了21TOPS的AI算力,功耗却最高仅有15W。这些出色的性能指标和功率优势与一组丰富的 IO相结合,利用小巧的外形、传感器众多的接口和出色性能,可以为所有嵌入式 AI 系统和边缘系统带来新功能。
和Jetson 平台前期推出的其他产品一样,Jetson Xavier NX的核心竞争力是其机器推理性能。除了CPU和GPU,Jetson Xavier NX内还设计有DLA(Deep Learning Accelerator,深度学习加速器)和PVA(Programmable Vision Accelerator,可编程视觉加速器)单元,Volta GPU与DLA核心相结合,在低功耗平台上构筑了强大的处理能力。为了展示该系统的机器学习推理能力,NVIDIA为Jetson平台提供了大量软件开发套件以及手动调整框架,预先为开发者做了大量繁重的准备工作,使他们能充分利用GPU中的DLA单元。
而且Jetson Xavier NX现在具有云原生支持,开发人员可以在嵌入式和边缘设备上构建和部署高质量的软件定义功能。NVIDIA NGC和NVIDIA Transfer Learning Toolkit提供的经过预先训练的AI模型可以为开发者提供了一条通往训练过并优化过的AI网络的捷径,而到Jetson设备的容器化部署则可以实现灵活、增 无缝的更新。
结合我们团队的相关研究内容,我们对各种图像智能识别与医学智能诊断模型在Jetson Xavier NX上的部署结果做了相应的测试工作。在这一过程中,Jetson Xavier NX的优势在于Jetson平台提供的高速推理引擎TensorRT。TensorRT使用CUDA C进行编程,在GPU上做推理的计算。针对一个训练好的模型,TensorRT可以通过网络层及张量合并、低精度运算、内核自动调整、动态张量内存等操作,对计算流图进行优化,实现推理加速。在实际使用中,我们基于医学图像数据集以及其他相关数据集,在Jetson Xavier NX上对于几种较常用的深度学习图像分类模型、图像识别模型以及图像分割模型进行了测试,TensorRT加速前和加速后的实测结果如下图所示。
从上图可以看出,对于各种图像分类、图像分割、图像识别的深度学习模型, TensorRT都有着明显的加速性能。在未启用半精度模式的情况下,大多数模型都获得了两倍以上的加速效果,加速性能最好的是119层的DenseNet,居然加速了五倍。而真正能够展现Jetson平台加速性能的还是要看FP16(单精度)模式下的加速性能,大多数模型都获得了四倍以上的加速性能,特别是119层的DenseNet和151层的DenseNet,在FP16模式下展现出了惊人的八倍多的加速性能,这为基于复杂模型的实时推理提供了更多的可能性。值得一提的是,我们针对多个医学图像智能诊断场景进行了测试,并未发现FP16模式的加速推理对推理准确度带来明显的降低,准确度偏差一般在0.5%以内,这个精度损失在实际应用部署中基本上可以忽略不计。以上数据仅为单张图片的推理测试,在大型并发处理需求的情况下,FP16可以发挥更好地性能。
针对当前NVIDIA已经推出的多种Jetson平台——Jetson Xavier、Jetson Xavier NX、Jetson TX2和Jetson Nano,我们也对TensorRT在FP16模式加速之后的推理性能做了一下横向对比测试,实测结果如下图所示。
从测评结果可以看出, Jetson Xavier NX的性能和此前同等价位的Jetson TX2相比,性能普遍有两倍左右的提升,部分模型可以达到四倍的性能提升。对于此前根据预算拟采用Jetson TX2的项目,可以毫不犹豫地改选Jetson Xavier NX了。而和引脚兼容可直接共享硬件设计的Jetson Nano相比,性能普遍有四倍以上的提升,部分模型甚至可以达到十倍的性能提升。如果在产品中已经使用了Jetson Nano但对产品性能有更高的期望,Jetson Xavier NX是一个很好的备选升级方案。当然和目前性能最好的Jetson Xavier相比,性能还是有差距的,大家可以根据项目的具体需求选择最适合的产品方案。
我们在Jetson Xavier NX平台上还测试了最新的Yolov4框架。此前Yolo系列的框架一般只在Jetson平台上加载tiny版本,这一次Yolov4提出了五大改进和二十多个技巧,无论在精度和速度上都较Yolov3有了很大的提升,为在性能受限的嵌入式设备上部署检测程序提供了可能。经实测,在JetsonXavier NX平台上加载Yolov4全模型对1920X1080分辨率的视频流进行检测,在Darknet提供的测试程序下可以达到4.0fps,经TensorRT在FP16模式加速之后可以达到7.5fps,测试视频如下所示,相应的测试数据在以上两个图表中都有列出。如果采用TLT工具对Yolov4全模型进行适当剪枝,预期可以将帧频提高到20fps以上。
我们将之前的基于医学图像的智能识别与诊断算法部署到了Jetson Xavier NX平台上,在同时加载了两个分类模型和一个分割模型的前提下,可以达到16.3fps。
此外我们也将之前做的基于传统图像处理方法实现的无人机河道异物监测应用部署到了Jetson Xavier NX平台上,对1920X1080分辨率的视频流进行检测,可以达到30.5fps,完全能够满足实时性的要求。这说明,无论是否用到了GPU加速,Xavier NX的性能表现都可圈可点。目前还有很多视觉算法仍处于非常传统的阶段,无法通过GPU或Tensor Core加速,只能依靠CPU来进行运算,在这些场景下,Jetson Xavier NX也有它的用武之地。
综合考虑成本和性能,Jetson Xavier NX在Jetson系列中是价格与性能均衡考虑下的很好的选择,可以助力实现人工智能应用在边缘端的部署,实为居家旅行必备之良品。