语义分割模型部署测试——在NX开发板上部署及与其他设备的对比测试
前面先后测试了MobileSAM、FastSAM等新出的大厂模型,出现vscode闪退、NX死机、源码内部np转化报错等问题,未能成功部署,最后还是回到了最初的UNet…
不同于yolov8等目标检测模型的推理速度,在NX能够实现每帧50ms,差不多20+fps
语义分割受限于模型大小、可视化处理等耗时步骤,难以实现真正意义上的实时推理…
(后续可能会将耗时步骤进行一定优化,并尝试转换为onnx,使用tensorRT等方式)
实测结果如下:
NX开发板
小结
总体推理平均速度:FPS = 1.5 - 1.6
平均每帧的处理耗时如下:
-
前置处理耗时:2 - 6 ms
-
推理+可视化耗时:570 - 600 ms
-
原始图像转rgb、备份、resize(512*512)、添加batch_size维度
-
取出每个像素点的种类
-
还原为原始图像尺寸
-
可视化:将原图与推理图进行混合(耗时:60 ms)
-
下方有视频推理截图及控制台打印
分析每帧的处理耗时可发现:如需提高推理速度,其中每个步骤都还有一定优化空间!
界面展示
控制台部分输出打印
Configurations:
----------------------------------------------------------------------
| keys | values|
----------------------------------------------------------------------
| model_path | logs/best_epoch_weights.pth|
| num_classes | 4|
| backbone | vgg|
| input_shape | [512, 512]|
| mix_type | 0|
| cuda | True|
----------------------------------------------------------------------
...
当前帧推理结果前置处理耗时:0.003835秒
当前帧推理结果可视化耗时:0.060502秒
当前帧推理耗时:0.588689秒
fps= 1.65
当前帧推理结果前置处理耗时:0.006402秒
当前帧推理结果可视化耗时:0.061084秒
当前帧推理耗时:0.585092秒
fps= 1.63
当前帧推理结果前置处理耗时:0.025113秒
当前帧推理结果可视化耗时:0.060754秒
当前帧推理耗时:0.596373秒
fps= 1.61
当前帧推理结果前置处理耗时:0.003924秒
当前帧推理结果可视化耗时:0.063088秒
当前帧推理耗时:0.580375秒
fps= 1.64
当前帧推理结果前置处理耗时:0.003406秒
当前帧推理结果可视化耗时:0.063007秒
当前帧推理耗时:0.59157秒
...
辣鸡小笔电
CPU:i5-8265u,内存:8G,显卡:MX150(2G)
视频推理截图
控制台部分打印输出
Configurations:
----------------------------------------------------------------------
| keys | values|
----------------------------------------------------------------------
| model_path | logs/best_epoch_weights.pth|
| num_classes | 4|
| backbone | vgg|
| input_shape | [512, 512]|
| mix_type | 0|
| cuda | True|
----------------------------------------------------------------------
当前帧推理结果前置处理耗时:0.029652秒
当前帧推理结果可视化耗时:0.052575秒
当前帧推理耗时:2.447979秒
fps= 0.20
当前帧推理结果前置处理耗时:0.009425秒
当前帧推理结果可视化耗时:0.069936秒
当前帧推理耗时:1.098136秒
fps= 0.55
当前帧推理结果前置处理耗时:0.008928秒
当前帧推理结果可视化耗时:0.046095秒
当前帧推理耗时:1.109544秒
fps= 0.72
...
当前帧推理结果前置处理耗时:0.008961秒
当前帧推理结果可视化耗时:0.07493秒
当前帧推理耗时:1.158615秒
fps= 0.87
Video Detection Done!
libpng warning: iCCP: cHRM chunk does not match sRGB
强大的GPU服务器
CPU:i5-11700k,内存:64G,显卡:RTX3080(10G)
视频推理截图
控制台部分打印输出
实验室服务器测试记录
Configurations:
----------------------------------------------------------------------
| keys | values|
----------------------------------------------------------------------
| model_path | logs/best_epoch_weights.pth|
| num_classes | 4|
| backbone | vgg|
| input_shape | [512, 512]|
| mix_type | 0|
| cuda | True|
----------------------------------------------------------------------
当前帧推理结果前置处理耗时:0.002446秒
当前帧推理结果可视化耗时:0.020887秒
当前帧推理耗时:0.091292秒
fps= 9.56
当前帧推理结果前置处理耗时:0.002285秒
当前帧推理结果可视化耗时:0.020578秒
当前帧推理耗时:0.094513秒
fps= 9.76
当前帧推理结果前置处理耗时:0.002309秒
当前帧推理结果可视化耗时:0.020758秒
当前帧推理耗时:0.08981秒
fps= 10.12
当前帧推理结果前置处理耗时:0.002612秒
当前帧推理结果可视化耗时:0.020973秒
当前帧推理耗时:0.092241秒
...
当前帧推理结果前置处理耗时:0.002056秒
当前帧推理结果可视化耗时:0.021662秒
当前帧推理耗时:0.091824秒
fps= 10.13
Video Detection Done!
这里感谢大佬Bubbliiiing提供的Unet的pytorch版基础源码,非常好用!
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_44791964/article/details/108866828