Yolo与大语言模型的结合 | NVIDIA TensorRT LLM使用体验
在实际的测试过程中,我根据今年工创赛智能救援赛题小球识别进行测试,在Jetson Orin Nano 4GB 推理 qwen2:1.5b,通过TensorRT加速YoloV5,已检测图像中的小球,返回小球中心点的信息(包括坐标、类别),在通过TensorRT LLM 解析目标信息,根据赛题需求,根据小球与安全区的相对位置,给出最终决策。通过结合视觉理解(YOLO)和语言生成(LLM),可以实现更复
最近听说TensorRT LLM NVIDIA 推出了一款全面开源库,用于在 NVIDIA GPU 上提升和优化最新大语言模型(LLM)的推理性能。在查看了他们提供的使用手册后,我总结了对于一般开发者的TensorRT LLM使用优势:
- 高速低延迟:动态批处理(In-Flight Batching)与分页注意力(Paged Attention):动态批处理通过动态管理请求执行,将上下文阶段与生成阶段协同处理,最大限度提升 GPU 利用率并降低延迟,从而消除等待时间。
- 覆盖主流模型:支持 Llama 2/3、GPT-OSS、DeepSeek、ChatGLM 等 20+ 开源与商业模型,并提供预优化配置文件。
- 开发友好:开发文档中详细介绍了部署、推理流程,包括 使用 trtllm-serve 部署在线服务、离线推理教程,通过Docker容器、调用API等方式即可完成部署、推理。
在Yolo视觉识别检测的部署过程中,常见的组合模式往往是由于推理速度低下,导致帧数较低,尤其是部署在嵌入式板端中,比如将YoloV5部署在树莓派5中,平均帧率连10帧都达不到。在TensorRT的加速下,部署在Jetson nano中就可以稳定跑到30帧左右。
那NVIDIA TensorRT LLM与Yolo结合呢?虽然 TensorRT-LLM 本身不能直接加速 YOLO 模型,但将 TensorRT-LLM 优化的 LLM 和 TensorRT 优化的 YOLO 结合在一个工作流中,带来的优势是巨大的,主要体现在应用功能和系统效率两个方面。
结合的主要好处:
1. 功能性优势:实现高级多模态任务
通过结合视觉理解(YOLO)和语言生成(LLM),可以实现更复杂、更智能的应用:比如视觉问答和情景理解:YOLO提供图像中是什么,包括物体、位置、数量的精确、实时的信息。加入LLM 后,利用其强大的推理和上下文理解能力,根据 YOLO 的检测结果回答关于图像的复杂问题,或生成详细的描述。
2. 性能和部署优势:保证端到端高速推理
这种结合并非将两个模型简单堆叠,而是将它们都置于高性能的 NVIDIA 生态系统中,确保每个环节都极致优化:全流程加速:在Yolo检测中,使用 TensorRT 进行优化,确保目标检测(CV)部分达到极高的帧率(FPS)。使用 TensorRT-LLM 进行优化,确保语言生成(NLP)部分具有低延迟和高吞吐量。
在实际的测试过程中,我根据今年工创赛智能救援赛题小球识别进行测试,在Jetson Orin Nano 4GB 推理 qwen2:1.5b,通过TensorRT加速YoloV5,已检测图像中的小球,返回小球中心点的信息(包括坐标、类别),在通过TensorRT LLM 解析目标信息,根据赛题需求,根据小球与安全区的相对位置,给出最终决策。NVIDIA TensorRT LLM 在该方案中的核心作用,是将原始检测数据转化为可直接用于机器人决策的结构化位置信息。

#Yolo上位机发送数据格式 :
int Send(float ballyaw, float ballpitch, float balldistance, int ballid,float safeyaw, float safepitch, float safedistance,int safeid)
{
sendvisiondata.start = '$';
sendvisiondata.ballyaw=ballyaw;
sendvisiondata.ballpitch=ballpitch;
sendvisiondata.balldistance=balldistance;
sendvisiondata.ballid=(uint8_t)ballid;
sendvisiondata.safeyaw=safeyaw;
sendvisiondata.safepitch=safepitch;
sendvisiondata.safedistance=safedistance;
sendvisiondata.safeid=(uint8_t)safeid;
sendvisiondata.end= '#';
std::cout<<"-----------!!!!!!!!!!!serialport!!!!!!!!!!!!!------------"<<std::endl;
std::cout<<"ballyaw:"<<sendvisiondata.ballyaw<<" ballpitch:"<<sendvisiondata.ballpitch<<" balldis:"<<sendvisiondata.balldistance<<" ballid:"<<ballid
<<" safeyaw:"<<sendvisiondata.safeyaw<<" safepitch:"<<sendvisiondata.safepitch<<" safedis:"<<sendvisiondata.safedistance<<" safeid:"<<safeid<<std::endl;
return SerialPort_Send(sendvisiondata.buffer,30);
}
在上位机接收到数据后,分析目标位置及目标种类后,输出机器人决策,得到以下结果。

由此就得到了机器人决策,将此部署在机器人上,会使机器人完成赛题任务的速度大大加快,也提升了其稳定性。
在Jetson Orin Nano的运行过程中,Jetson Orin Nano 4GB 的 GPU 频率为 71%,最大频率为 624 MHz。在推理大模型时,GPU 的利用率约为 32%,表明设备处于轻中度负载状态,仍具备一定的性能余量,可通过模型量化或多线程优化进一步提升推理效率测试结果如下图:
由此次的测试结果可见,结合 TensorRT 优化的 YOLO 模型,可实现端到端的多模态智能推理,如视觉识别与语言决策的协同。在智能救援任务中表现出较高的稳定性和决策速度,也充分展示了 TensorRT LLM 在机器人与视觉应用中的巨大潜力。
更多推荐



所有评论(0)