前面一篇文章已经带着大家将DeepStream容器配置Python使用环境,本文的重点就是继续执行实际的开发操作。
由于前面开启容器时,透过“-v”指令将容器外路径与容器内形成映射,因此实际代码文件是存放在主机上(容器外),我们可以在主机上使用gedit这个较为便利的编辑器去修改代码,然后在容器内执行应用,如此搭建起实用性更高的开发环境。
在DeepStream范例中的test2是识别功能最丰富的经典范例,不仅能识别对“Car”与“Person”配置唯一的编号进行跟踪功能,还能为“Car”物体进一步分析“厂牌”、“颜色”、“车型”等属性,我们还可以将这些信息改成中文显示。
另一个runtime_source_add_delete项目则是实现“动态添加/删减视频源”的功能,通常在面对“不均衡”监控的时候,会需要这项功能的辅助。
例如“医院的门诊与急诊”的流量在正常工作时间是门诊大于急诊,下班之后的流量就刚好反转,如果能根据时间去调整输入源的增减,就会有很高的实用性;都市中很多道路车流量在上下班高峰期是反转的,如果中控室的监控屏幕数量有限的时候,也可以根据不同状态去调整视频流的来源。
这并不意味着我们得去调整设备的数量,而是调整输入源的“接收开关”,例如道路交通的监控有100台摄像头,是保持24小时全年午休地拍摄并传输数据,而中控室如果只有50个显示屏幕,就只要切换接收输入源的开关就可以。
现在就用容器版DeepStream的Python环境,来执行这两个应用。
这个项目将DeepStream关于物体识别的绝大部分人工智能功能都集于一身,包括以下三大类组件
三者的合作关系如下:
这里使用的检测器与3个二阶段分类器模型都在samples/models下,如以下的路径名:
如果前面建立的Python容器环境没有删除的话,现在就可以执行以下指令进入容器内去执行这个范例:
|
$ $ |
sudo xhost +si:localuser:root docker start ds_python && docker exec -it ds_python bash |
进入容器后,执行以下指令:
|
$ $ |
cd sources/deepstream_python_apps/apps/deepstream-test2 ./deepstream_test_2.py ../../../../samples/streams/sample_720p.h264 |
下图就是执行的效果,可以看到每个识别到的物体都有唯一的识别号,在“Car 3”后面还有“gray”与“nissan”等颜色与厂牌的信息。

不过这个容器版有个还未解决的问题,就是“中文显示”的部分,如果有更精通操作系统的朋友可以试着解决这个中文显示问题。
这个项目也是基于deepstream-test2多神经网络组合识别项目基础上,使用以下的动态处理函数,因此没有固定的通道结构:
为了简化运行,这个示例只接收1个H.264视频文件当作4个输入源使用,每10秒添加的视频都会从头开始播放,系统就是为每个输入源设置唯一的编号,作为新增与删除的依据。
|
$ $ $ |
cd sources/deepstream_python_apps/apps/runtime_source_add_delete export DS_ROOT=/opt/nvidia/deepstream/deepstream/ ./deepstream_rt_src_add_del.py file://$DS_ROOT/samples/streams/sample_720p.mp4 |
接下去就会执行以下的7个画面变化:






可以修改deepstream_rt_src_add_del.py文件的以下两个粗体下划线的参数,调整输出总数量与间隔时间:
之后请自行尝试修改的结果。
好文章,需要你的鼓励
英特尔携手戴尔以及零克云,通过打造“工作站-AI PC-云端”的协同生态,大幅缩短AI部署流程,助力企业快速实现从想法验证到规模化落地。
意大利ISTI研究院推出Patch-ioner零样本图像描述框架,突破传统局限实现任意区域精确描述。系统将图像拆分为小块,通过智能组合生成从单块到整图的统一描述,无需区域标注数据。创新引入轨迹描述任务,用户可用鼠标画线获得对应区域描述。在四大评测任务中全面超越现有方法,为人机交互开辟新模式。
阿联酋阿布扎比人工智能大学发布全新PAN世界模型,超越传统大语言模型局限。该模型具备通用性、交互性和长期一致性,能深度理解几何和物理规律,通过"物理推理"学习真实世界材料行为。PAN采用生成潜在预测架构,可模拟数千个因果一致步骤,支持分支操作模拟多种可能未来。预计12月初公开发布,有望为机器人、自动驾驶等领域提供低成本合成数据生成。
MIT研究团队发现,AI系统无需严格配对的多模态数据也能显著提升性能。他们开发的UML框架通过参数共享让AI从图像、文本、音频等不同类型数据中学习,即使这些数据间没有直接对应关系。实验显示这种方法在图像分类、音频识别等任务上都超越了单模态系统,并能自发发展出跨模态理解能力,为未来AI应用开辟了新路径。