Jetson Nano 性能实测

时间:2025-02-27 07:47:25

一 性能参数(与Jetson Xavier NX对比)

参考链接

Jetson Nano Jetson Xavier NX
AI性能(算力) 0.472 TFLOPS 21 TOPS ≈ 5.2TFLOPS
GPU 128 核 NVIDIA Maxwell™ GPU 搭载 48 个 Tensor Core 的 384 核 NVIDIA Volta™ GPU
显存 4 GB 64 位 LPDDR4 25.6GB/s 8 GB 128 位 LPDDR4x 59.7GB/s
视频编码 1x 4K30/2x 1080p60/4x 1080p30/4x 720p60/9x 720p30 2x 4K60 /4x 4K30 / 10x 1080p60 /22x 1080p30 (H.265)
2x 4K60 / 4x 4K30 / 10x 1080p60 /20x 108p30 (H.264)
视频解码 1x 4K60
2x 4K30
4x 1080p60
8x 1080p30
9x 720p60
2x 8K30 / 6x 4K60 / 12x 4K30 / 22x1080p60 / 44x 1080p30(H.265)
2x 4K60 / 6x 4K30 / 10x 1080p60 / 22x 1080p30 (H.264)

二 实测表现

1.解码

1.1 说明

  • 解码部分不涉及模型推理,只针对硬件解码模块(NVDEC)部分进行测试。
  • 测试结果的帧率取大概平均值。

1.2 测试环境

pipeline:
uridecodebin->streammux->nvvideoconv->nvosd->transform->fakesink

1.3 测试结果

streammux input:640x360 input:1280x720 input:1920x1080
1920x1080 698fps 520fps 315fps
1280x720 1060fps 540fps 338fps
640x360 1278fps 560fps 340fps

1.4 结果总结

  • Gst-nvstreamtiler和Gst-nveglglessink会占用一部分资源,在无显示需求的时候可以去掉提升性能。
  • 输入视频与streammux宽高相同时解码损失最少,性能最好。

2.推理

2.1 说明

  • 输入视频分辨率与streammux宽高保持一致
  • 为了测试极限,尽可能多路地接入视频,最后统计的数据为最大值(在最大值后再接入视频,每秒钟推理帧数不变)

2.2 测试环境

pipeline:
uridecodebin->streammux->pgie->nvvideoconv->nvosd->transform->fakesink

2.3 测试结果

模型 input:1280x720 input:640x360
55.2fps
YOLO-FastestV2 103fps 105fps
FastestDet 106.4fps 108fps
YOLOV5-nano 32fps 32fps

2.4 结果说明

  • 瓶颈仍然在于算力而非解码能力,pipeline中接入模型后并没有完全发挥解码极限
  • 如YOLOV5此类模型,输入视频分辨率影响已经不大了,因为瓶颈在于推理算力。此时不如考虑接入高分辨率视频如一两路4K。
  • 实时视频(RTSP)相对于文件有一定折扣,大概在80%。即理论100fps,如何源为实时视频流,则大概只能达到80fps。

三 总结

Jetson Nano拥有良好的解码能力,支持8路1080p30帧的实时视频流,在分辨率更低的情况下能支持更多。但是Jetson Nano的算力却不算出色,仅仅不到0.5TFLOPS,时下主流的模型都仅仅处于“能跑”的阶段,如YOLOV5-Nano,仅仅是能达到30fps。紧缺的算力与良好的视频解码能力并不匹配,即使调研了目前最为轻量级的检测器(FastestDet),也只有106fps,也就是不到4路1080p30帧的实时视频流。
如果要实现能与Nano解码能力所匹配的推理,可以采取抽帧,或者使用更轻量级的模型。抽帧对跟踪的影响后续需要调研。