0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

DeepStream如何实现“组合信息”

GLeX_murata_eet 来源:NVIDIA英伟达中国 作者:NVIDIA英伟达中国 2021-08-04 09:41 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

前面已经介绍过关于 DeepStream 各种输入源的使用方式,而且 Jetson Nano 2GB 上开启 4 路输入(两个摄像头+两个视频文件),都能得到 25FPS 以上的实时性能,但毕竟“单一检测器(detector)”检测出来的物件是离散型的内容,例如车、人、脚踏车这些各自独立的信息。有没有什么方法能够实现“组合信息”呢?例如“黑色/大众/SUV 车”!

DeepStream 有一个非常强大的功能,就是多模型组合检测的功能,以一个主(Primary)推理引擎(GIE:GPU Inference Engine)去带着多个次(Secondary)推理引擎,就能实现前面所说的功能。

本实验在 Jetson Nano 2GB 上,执行 4 种模型的组合检测功能,能将检测到的车辆再往下区分颜色、厂牌、车种等进一步信息,在 4 路输入视频状态下能得到 20+FPS 性能,并且我们将显示的信息做中文化处理。

nvidia@nano2g-jp450:/opt/nvidia/deepstream/deepstream/samples/models$ ls -l

总用量 24

drwxrwxrwx 2 root root 4096 7月 13 23:49 Primary_Detector

drwxrwxrwx 2 root root 4096 7月 13 22:45 Primary_Detector_Nano

drwxrwxrwx 2 root root 4096 2月 8 21:50 Secondary_CarColor

drwxrwxrwx 2 root root 4096 2月 8 21:50 Secondary_CarMake

drwxrwxrwx 2 root root 4096 2月 8 21:50 Secondary_VehicleTypes

drwxrwxrwx 4 root root 4096 2月 8 21:49 Segmentation

简单说明一下每个目录所代表的的意义:

Primary_Detector:作为项目的主检测器,这是用 Caffe 框架以 ResNet10 网络所训练的 4 类检测器,能检测“Car”、“Bicycle”、“Person”、“Roadsign”四种物件,这个数据可以在目录下的 labels.txt 中找到。

Primary_Detector_Nano:将Primary_Detector里的模型,针对 Jetson Nano(含 2GB)的计算资源进行优化的版本。

Secondary_CarColor:车子颜色的次级检测器

Secondary_CarMake:生产厂商的次级检测器

Secondary_VehicleTypes:车子种类的次级检测器

组成结构也十分简单,其中主(Primary)检测器只有一个,而且必须有一个,否则 DeepStream 无法进行推理识别。次(Secondary)检测器可以有好几个,这里的范例就是针对“Car”这个类别,再添加“Color”、“Maker”、“Type”这三类元素,就能获取视频图像中物件的更完整信息。

在 Jetson Nano 的/opt/nvidia/deepstream/deepstream/samples/config/deepstream-app 下面的 source4_1080p_dec_infer-resnet_tracker_sgie_tiled_display_int8.txt,就已经把这个组合检测器的配置调试好,现在直接执行以下指令:

cd/opt/nvidia/deepstream/deepstream/samples/config/deepstream-app

deepstream-app -c source4_1080p_dec_infer-resnet_tracker_sgie_tiled_display_int8.txt

现在看到启动四个视频窗,但是每个视窗的执行性能只有 8FPS,总性能大约 32FPS,并不是太理想。

接下来看看怎么优化这个配置文件

首先要执行模型组合功能功能,必须把“tracker”功能打开,不过可以关闭追踪号的显示,因此保留“enable=1”,将下面的“display-tracking-id=”设为“0”

由于我们在 Jetson Nano 2GB 版本上进行实验,需要进行以下的调整。如果您要在 AGX Xavier 或 Xavier NX 上上执行的活,请忽略这个步骤。

修改主检测器[primary-gie]的模型:配置文件中预设的是“Primary_Detector”检测器,这里得修改成专为 Nano 所训练的版本,这里修改以下几个地方:

(1) model-engine-file路径的“Primary_Detector”部分改成“Primary_Detector_Nano”

(2) config-file 的文件改成 config_infer_primary_nano.txt

因为 Jetson Nano(含2GB)并不支持 int8 计算精度,因此还需要做以下修改:

(3) 将“_b4_gpu0_int8.engine”改成“_b8_gpu0_fp16.engine”

(4) 将所有“xx_gpu0_int8.engine”改成“xx_gpu0_fp16.engine”

3. 将追踪器从原本的 ibnvds_mot_klt.so 改成 libnvds_mot_iou.so,用“#”变更注释的位置就可以。

修改完后重新执行,可以看到每个窗口的检测性能提升到 10~12FPS,总性能提升到 40~48FPS,比原本提升12~50%,不过距离理想中的 25FPS 还有很大的差距。

执行过程中如果遇到“Theremay be a timestamping problem, or this computer is too slow.”这样的信息,就把[sink0]下面的“sync=”设定值改为“0”就可以。

现在看看是否还有什么可调整的空间?参考前一篇文章“DeepStream-04:Jetson Nano 摄像头实时性能”所提到的,将[primary-gie]下面的“interval=”设定为“1”,然后再执行应用时,发现每个输入源的识别性能立即提升到 20FPS 左右,总性能已经能到 80FPS 左右,比最初的 32FPS 提升大约 2.5倍,这已经很接近实时识别的性能。

好了,在Jetson Nano 2GB 上已经能达到接近实时推理的性能,是相当好的状态。

如果对于显示输出的状态有些不满意的话,我们按照下面的步骤去执行,将“英文”类别名改成“中文”,并且将边框变粗、字体放大,就能更轻松看到推理的效果:

1. 所有的显示名称,都在 models 目录下个别模型目录里的labels.txt,可以将里面的内容全部改成中文。

例如

deepstream/samples/models/Secondary_CarMake的“labels.txt”内容改为“广汽;奥迪;宝马;雪佛兰;克莱斯勒;道奇;福特;通用;本田;现代;英菲尼迪;吉普;起亚;雷克萨斯;马自达;奔驰;日产;速霸路;丰田;大众”,其他的就比照办理。

注意:这个顺序不能改变!

2. 边框宽度:修改[osd]下面的“board-width”值,推荐 2~4 比较合适;

3. 字体大小:修改[osd]下面的“texe-size”值,推荐 15~18 比较合适;

4. 其他:请自行设定

如何?这样的效果与性能就是在 Jetson Nano 2GB 实现的!

编辑:jq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • gpu
    gpu
    +关注

    关注

    28

    文章

    5270

    浏览量

    136059

原文标题:NVIDIA Jetson Nano 2GB 系列文章(31):DeepStream 多模型组合检测-1

文章出处:【微信号:murata-eetrend,微信公众号:murata-eetrend】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    告别双天线高成本:单天线组合导航系统实现0.1°高精度

    在智能装备快速演进的今天,精准、可靠且低成本的定位与姿态感知已成为各类无人系统与自动驾驶应用的核心需求。ER-GNSS/MINS-07 低成本单天线组合导航系统的推出,正是为了在保证高精度导航性能的同时,打破传统双天线方案在成本与结构上的局限,助力更多行业实现智能化升级。
    的头像 发表于 02-28 16:50 658次阅读
    告别双天线高成本:单天线<b class='flag-5'>组合</b>导航系统<b class='flag-5'>实现</b>0.1°高精度

    高性价比组合导航:智慧导航,无界探索

    在无人系统与高精度定位日益普及的今天,一款性能卓越且成本可控的组合导航系统,成为众多行业实现智能化升级的关键。ER-GNSS/MINS-03融合GNSS与INS技术,以战术级MEMS惯性器件为核心
    的头像 发表于 02-03 16:49 639次阅读
    高性价比<b class='flag-5'>组合</b>导航:智慧导航,无界探索

    组合导航核心问题解答

    组合导航的信息感知核心—基于MEMS技术的微型化传感器 MEMS微机电技术,可将MEMS陀螺仪与MEMS加速度计集成在毫米级芯片上,使组合导航体重、数量缩小几个级别,这是组合导航能被轻
    的头像 发表于 01-06 17:40 660次阅读

    探索Thermometrics压力与温度组合传感器:卓越性能与广泛应用

    压力与温度组合传感器将压力和温度测量功能集成于一个传感器组件中。为实现可靠且精确的测量,该传感器采用NTC热敏电阻技
    的头像 发表于 12-15 09:55 687次阅读

    MEMS组合导航如何实现超低成本?

    当您的农业无人机需要精确重复喷洒航线,当您的无人车需要可靠的航向基准时,您是否曾想:为什么组合导航系统的价格如此高昂?ER-GNSS/MINS-05的出现,正是为了打破这一现状。那么,它是如何实现
    的头像 发表于 10-23 15:30 525次阅读
    MEMS<b class='flag-5'>组合</b>导航如何<b class='flag-5'>实现</b>超低成本?

    极细同轴线束怎样实现双路差分+电源组合

    极细同轴线束通过其优异的屏蔽与阻抗控制能力,可以在一束线中实现“双路差分+电源组合”,既满足高速传输需求,又兼顾供电与紧凑布线要求。这一设计方式已逐渐成为消费电子和高速互连方案的趋势。
    的头像 发表于 09-15 14:29 1540次阅读
    极细同轴线束怎样<b class='flag-5'>实现</b>双路差分+电源<b class='flag-5'>组合</b>?

    卫星信号不稳?组合导航为何从不“迷路”?

    ER-GNSS/MINS-01 MEMS组合导航系统应运而生,它将卫星定位与惯性导航完美融合,为测绘级精度的导航信息提供了可靠保障,堪称市面上采用MEMS技术组合导航系统中的精度王者。
    的头像 发表于 07-28 17:02 1075次阅读
    卫星信号不稳?<b class='flag-5'>组合</b>导航为何从不“迷路”?

    寻找低成本高精度的组合导航方案

    ER-GNSS/MINS-05组合导航系统应运而生,它以技术创新和系统优化实现了性能与成本的完美平衡。该系统深度融合惯性与卫星数据,提供包含位置、速度、姿态和航向的全参数导航信息,定位精度可达厘米级
    的头像 发表于 07-23 15:38 739次阅读
    寻找低成本高精度的<b class='flag-5'>组合</b>导航方案

    还在为复杂环境下的导航精度发愁?ER-GNSS/MINS-03组合导航系统来破局!

    设计理念,采用战术级 MEMS 惯性器件,在实现高精度组合导航信息输出的同时,有效控制了成本,为航空、陆地等众多应用场景带来了全新的导航解决方案
    的头像 发表于 07-15 17:29 847次阅读
    还在为复杂环境下的导航精度发愁?ER-GNSS/MINS-03<b class='flag-5'>组合</b>导航系统来破局!

    为什么选择组合导航?它有哪些优势?

    在现代导航技术中,单一的导航系统往往难以满足高精度、高可靠性的需求。全球导航卫星系统(GNSS)虽然能提供全球覆盖的定位信息,但在城市峡谷、隧道或电磁干扰环境下,其信号容易丢失或受到干扰。而微惯性
    的头像 发表于 07-08 15:26 1068次阅读
    为什么选择<b class='flag-5'>组合</b>导航?它有哪些优势?

    低成本组合导航能实现精准导航定位

    在自动化、无人系统和精准农业等领域,高精度导航是核心需求,但传统高端组合导航系统的高成本往往让许多用户望而却步。ER-GNSS/MINS-05作为一款低成本组合导航系统,通过技术优化与精准性能平衡
    的头像 发表于 07-03 15:16 983次阅读
    低成本<b class='flag-5'>组合</b>导航能<b class='flag-5'>实现</b>精准导航定位

    爱立信推出革命性OSS/BSS产品组合

    爱立信近日推出革命性OSS/BSS产品组合,赋能运营商在AI意图驱动及自智网络时代实现全方位创新突破!告别传统模式,拥抱敏捷、智能服务的新时代。
    的头像 发表于 06-24 15:13 1.6w次阅读

    HarmonyOS实战:快递信息时间轴效果实现

    前言 快递信息时间轴在购物软件中是必不可少的功能,通过时间轴可以展示快递从发货到派送的每一个环节。本篇文章通过代码的形式详细讲解在鸿蒙日常开发中如何实现时间轴的效果。(篇尾附有完整源码) 实现效果
    的头像 发表于 06-09 16:05 676次阅读
    HarmonyOS实战:快递<b class='flag-5'>信息</b>时间轴效果<b class='flag-5'>实现</b>

    OCAD应用:单透镜与双胶合透镜结构组合设计

    构成光学系统最基础的结构单元都离不开单透镜、胶合透镜以及各种形式反射棱镜的组合。所有的光学系统进行初始设计阶段都必然要从该类结构单元设计为起点。其中透镜单元中最基础的则是单透镜、双胶合透镜以及由单
    发表于 06-06 08:55

    部队装备管理信息系统的设计与实现

    信息系统行业资讯
    北京华盛恒辉科技
    发布于 :2025年05月07日 09:55:54