前一篇文章为大家讲述了 DeepStream 的应用定位、单机工作流、实际部署图,以及完整的软件栈的内容,可以对其有一个框架性的了解。接下来大家可以思考一下,DeepStream 可以开发什么应用?
可能有人会猜想,这么强大且复杂的视频分析工具,一定需要具备很多的专业知识与编程语言基础,才有可能操作这样一套系统。
的确,如果要实现完整的视频分析中心的整体部署,确实需要更多的技术去完成;但如果只想做些轻便的单机应用,例如自己家中或办公环境的视频分析应用,那就非常地简单,甚至不需要撰写或修改代码就能实现。
本文的内容,就是用 NVIDIA Jetson Nano 2GB 快速带大家来执行 NVIDIA 为 DeepStream 已经提供好的应用,整个执行流程也适用于 Jetson 系列的所有设备,当然,也能在带有 CUDA GPU 计算卡的 x86 设备上运作。
这里的运作环境是用 NVIDIA Jetpack 4.5.0 安装,关于操作系统、CUDA、CUDNN、TensorRT、OpenCV 等版本,请自行参考 NVIDIA 官方所提供的说明内容。
Jetpack 会为 Jetson 设备直接安装好 DeepStream 套件,因此 Jetson 用户可以省略 DeepStream 的安装步骤,进入 Jetson 设备之后,执行以下指令就可以检查其版本:
|
# 在 Jetson 设备 $ dpkg -l deepstream-5.0 |
会看到如下截图的信息,表示目前安装的版本为“5.0.1-1”!
接下来看看 Deepstream 为系统提供哪些可执行的软件?请执行以下指令:
|
$ deepstream-(连续敲击两次“Tab”键) |
会看到如下截图,总共有20个可执行工具,我们只需要 deepstream-app 这个工具,其余可以不用理会。
在/opt/nvidia/deepstream/deepstream 路径下安装 DeepStream,后面的实验操作以这下面的 samples 目录里的内容为主,为了方便操作起见,请执行以下指令,在主目录执行建立一个链接:
|
$ cd ~ $ ln -s /opt/nvidia/deepstream/deepstream/samples ds5_samples |
现在执行以下指令,看看 samples 里的目录结构,对 DeepStream 范例能多一份总体观:
|
$ tree -L 2 -d ds5_samples |
下图框处是本次实验有关的部分:
本次实验使用 deepstream-app 这个编译好的工具,执行时只要在后面添加”-c <配置文件>“即可,要做的任务就是修改配置文件的内容,便可以轻松地改变实现的功能。配置文件的范例存放在 config/deepstream-app 目录下,有 9 个“source”带头的范例文件可以使用,根据文件名可以看出该文件的适用设备。
source8_1080p_dec_infer-resnet_tracker_tiled_display_fp16_nano.txt 这个配置文件比较适合 Jetson Nano 2GB 使用,先简单分解一下文件名所代表的意义:
这些文件名只是比较有针对性地提供预设参数而已,里面的每一个参数都是可以任意修改的。为了方便后面的执行,因此建议将配置文件复制成一个比较短的文件名:
|
$ sudo chmod 777 -R ds5_samples $ cd ds5_samples/configs/deepstream-app $ cp source8_1080p_dec_infer-resnet_tracker_tiled_display_fp16_nano.txt myNano.txt |
后面所有的修改在 myNano.txt 里面执行就可以。现在执行以下指令,看看会得到什么结果:
|
$ deepstream-app -c myNano.txt |
第一次执行时要为神经网络模型生成 TensorRT 加速引擎,所以需要几分钟时间去建立,正常运行会看到下图的显示,出现 2x4 个并列显示框。
下面是指令框显示的个别推理性能,8 个框的总性能合计大约在 120FPS,这对 JetsonNano 2GB 来说是非常惊人的。
如果使用 NoMachine 远程控制 Jetson Nano 2GB,可能会看不到显示的画面,这时请先按 Ctrl-C 退出执行,然后修改 myNano.txt 里面的[sink0]两个参数,如下:
|
。。。。。 [sink0] #type=5 type=2 #sync=1 sync=0 。。。。。 |
然后重新执行“deepstream-app -c myNano.txt”应该就能看到显示的结果了。
这个标准演示一个较明显的问题就是 8 个框的数据源是相同的,这是否存在不真实的部分?因此修改一下输入来源的部分,调用从 DeepStream 与 VisionWorks 所提供的测试视频来执行“多视频”分析功能。
接下来在 myNano.txt 中做些小幅度的修改:
1. 为了让显示的尺寸更加合理化,修改[tiled-display]下面的 rows=2, columns=2
2. 以[source0]为范本,删除不需要的参数,复制为[source1]、[source2]、[source3]
这里特别使用不同格式的视频,包括.mp4、.h264、.avi等。存好修改内容后重新执行“deepstream-app -c myNano.txt”,就会看到如下的四个不同视频的推理结果,其中红色的代表“Car”、蓝色代表“Person”。

请自行查看一下命令框里,四组推理性能总和与前面八组推理性能的总合是否符合
玩转 DeepStream 就是这么简单,到目前为止完全没有牵涉任何的代码,只是修改一些参数就能实现多数据源的高性能识别,现在可以去向朋友炫耀了!
“目标追踪(track)”功能是推理识别的后处理任务,为识别出的物件标上编号之后,就能进行更多样化的后续操作,包括统计人流、动向分析、目标锁定等等,这个功能需要相对复杂的算法来支撑。
DeepStream 已经将“目标追踪”功能都封装好,只需在配置文件中做些简单处理,这就是下一篇文章要带大家执行的任务。
好文章,需要你的鼓励
阿里纳德数据中心与Calibrant Energy合作开发首创电池储能系统,通过绕过传统电网升级时间线,使俄勒冈州希尔斯伯勒在建数据中心园区提前数年上线。该31兆瓦、62兆瓦时储能系统计划2026年投运,将作为响应电网的动态资产,在需求高峰期放电,增强区域电网可靠性。这标志着美国首次使用专用电池系统加速大型数据中心并网。
普拉大学研究团队开发的BPMN助手系统利用大语言模型技术,通过创新的JSON中间表示方法,实现了自然语言到标准BPMN流程图的自动转换。该系统不仅在生成速度上比传统XML方法快一倍,在流程编辑成功率上也有显著提升,为降低业务流程建模的技术门槛提供了有效解决方案。
微软在Edge浏览器中推出增强版Copilot模式,提供更强大的AI代理功能,目前在美国进行限量预览。该模式包含Actions和Journeys两大功能:Actions让浏览器能代表用户执行任务,如语音控制打开网页或查找文章特定内容;Journeys则记住用户浏览历史,帮助用户继续之前的研究任务。此举正值AI浏览器竞争加剧,OpenAI推出ChatGPT Atlas、Perplexity发布Comet、谷歌集成Gemini到Chrome。目前Chrome占据71%市场份额,Edge仅占4.67%。
北京大学联合团队发布开源统一视频模型UniVid,首次实现AI同时理解和生成视频。该模型采用创新的温度模态对齐技术和金字塔反思机制,在权威测试中超越现有最佳系统,视频生成质量提升2.2%,问答准确率分别提升1.0%和3.3%。这项突破为视频AI应用开辟新前景。