
边缘盒子
文章平均质量分 82
颢师傅
这个作者很懒,什么都没留下…
展开
-
【DeepStream】基于英伟达DeepStream框架进行算法开发(三):Gst-nvinfer模块介绍
该插件接受来自上游的批处理的 NV12/RGBA 缓冲区。NvDsBatchMeta 结构必须已附加到 Gst 缓冲区。底层库(libnvds_infer)可处理任何 INT8 RGB、BGR 或 GRAY 数据,其尺寸为网络高度和网络宽度。Gst-nvinfer 插件根据网络要求对输入帧执行变换(格式转换和缩放),并将转换后的数据传递给低级库。底层库对转换后的帧进行预处理(执行归一化和均值减法),生成最终的 float RGB/BGR/GRAY 平面数据,然后传递给 TensorRT 引擎进行推理。原创 2024-02-28 18:52:16 · 1430 阅读 · 0 评论 -
【DeepStream】基于英伟达DeepStream框架进行算法开发(二):推理基础流程
当需要将一个元素连接到另一个元素时,可以使用 get_request_pad() 方法从目标元素中请求一个 pad,然后将这个 pad 与其他元素的 pad 进行连接,实现元素之间的数据传输。这行代码将 caps 元素的输出 pad 和之前获取的 streammux 元素的请求 pad 进行连接,即将属性设置元素的输出与合流器元素的输入连接起来,使视频流能够正确传递到合流器中的指定输入通道。这行代码从 caps 元素的 “src” pad 中获取一个静态 pad,并将其存储在 srcpad 变量中。原创 2024-02-27 14:20:10 · 1454 阅读 · 0 评论 -
【DeepStream】基于英伟达DeepStream框架进行算法开发(一):GStreamer基础
在当今快速发展的人工智能和计算机视觉领域,英伟达的DeepStream框架提供了强大的工具和功能,帮助开发者快速部署和优化实时视频分析应用。本博客将重点介绍基于英伟达DeepStream框架进行算法开发的方法和技巧,包括如何利用DeepStream框架构建高效的算法模型、实现实时视频流处理和应用优化等内容。通过本博客的学习,读者将能够掌握在DeepStream框架下进行算法开发的关键技能,为自己的视频分析项目提供更加稳定和高效的解决方案。原创 2024-02-27 09:50:25 · 857 阅读 · 0 评论 -
【SOPHON】算能盒子SE-16中c++版本pipeline的环境配置
arm SoC平台,内部已经集成了相应的libsophon、sophon-opencv和sophon-ffmpeg运行库包,位于下。通常在x86主机上交叉编译程序,使之能够在arm SoC平台运行。您需要在x86主机上使用SOPHON SDK搭建交叉编译环境,将程序所依赖的头文件和库文件打包至soc-sdk目录中。原创 2023-11-02 17:54:42 · 346 阅读 · 0 评论 -
【AIBOX】TF卡镜像烧录技术详解
本文将详细介绍TF卡镜像烧录的技术过程,包括备份TF卡为镜像文件和将镜像文件恢复到新的TF卡。TF卡镜像烧录是一种常用的操作,可以用于备份和复制TF卡上的数据,方便用户在不同设备之间进行数据迁移或备份。原创 2023-07-28 09:57:53 · 1433 阅读 · 0 评论 -
【Atlas200】华为自定义插件传递自定义Proto Metadata数据(mindsdk3.0.0),以官方例程为例
Google Protobuf是一种轻量级的数据交换格式,它使用类似XML的结构化数据描述语言来定义数据结构,并使用二进制格式进行序列化和反序列化。通过使用Protobuf,可以使得不同语言和平台之间的数据交换变得更加简单和高效。在Google Protobuf中,数据结构的定义以.proto文件的形式进行,每个.proto文件定义了一个或多个message类型,每个message类型又由一个或多个字段组成。原创 2023-06-06 10:32:49 · 440 阅读 · 0 评论 -
【Atlas200】继承MxBase类自制插件(C++),以官方例程为例
MindX是一款针对昇腾系列AI芯片的软件开发工具包(SDK),它提供了一系列的API和工具,帮助开发者对昇腾系列AI芯片进行开发和优化。提供了一系列的部署工具,可以将优化后的AI模型部署到昇腾AI芯片上,进行实时推理,实现低延迟、高性能的AI应用。其突出特点是使用流程编排进行开发。总的来说,MindX SDK为开发者提供了一套完整的开发环境和工具,帮助开发者轻松地进行昇腾系列AI芯片的开发、优化和部署,实现高性能、低功耗的AI应用。插件json版:该插件名为mxpi_webpushstream0。原创 2023-06-01 11:31:42 · 767 阅读 · 0 评论 -
【Atlas200】使用Mindx v2接口(C++)完成letterbox,等长宽比缩放后padding操作
在深度学习中,图像的尺寸对于模型的训练和推理十分重要。为了保持输入图像的纵横比例,避免因缩放导致的失真,通常会对图像进行裁剪或嵌入(padding)操作。其中,letterbox是一种常用的嵌入操作,其主要思想是在图像周围添加黑色边框,使图像的尺寸与模型的期望输入尺寸一致。通过这种方式,输入图像可以被缩放到模型的期望输入大小,而不会破坏图像的纵横比例。因此,letterbox可以有效地提高模型的训练和推理性能,同时保持图像的视觉质量。原创 2023-05-24 09:13:41 · 802 阅读 · 0 评论 -
【Atlas200】华为AIPP配置文件使用
华为的AIPP(AI Preprocessing)是一种面向AI应用的图像预处理技术,旨在提高AI应用的效率和精度。AIPP支持多种图像格式,包括RGB、YUV、BGR等,并提供了丰富的预处理选项,如色彩空间转换、缩放、裁剪、旋转、镜像、去噪、锐化等。AIPP还支持多张图片的批处理,可同时处理多张图片,提高处理效率。AIPP的工作流程主要包括三个阶段:预处理配置、数据传输和AIPP处理。原创 2023-05-23 14:53:04 · 2323 阅读 · 1 评论 -
【Atlas200】mindx接口MemoryHelper类使用(C++),对应版本3.0.0
MemoryHelper是华为昇腾AI处理器提供的内存管理类。它封装了内存分配、内存释放、内存拷贝等操作,提供了一系列简单易用的接口,方便用户在昇腾AI处理器上管理内存。MemoryHelper支持昇腾处理器内存、主机内存、共享内存等多种类型的内存,并提供了相应的内存分配和释放接口。此外,MemoryHelper还提供了多种内存拷贝接口,支持主机内存与昇腾处理器内存之间的数据传输。在使用昇腾AI处理器进行深度学习加速时,MemoryHelper类可以帮助用户简化内存管理操作,提高开发效率。原创 2023-05-23 10:20:43 · 567 阅读 · 0 评论 -
【Atlas200】Host?Device?RC?EP?
因此,在Atlas200DK上运行推理应用时,进程是在NPU上启动的,数据也是直接加载到Device内存中的,没有Host侧的参与,因此不存在Host->Device的数据传输过程。需要注意的是,使用aclrtMallocHost申请的内存必须由aclrtFreeHost来释放,二者是强对应的,不能用于其他内存。它的实际含义是“申请本端内存”,也就是说,如果进程运行在Host上,它将申请Host内存,而如果进程运行在Device上,则将申请Device内存。如果应用运行在Host侧,就跟正常执行逻辑一样;原创 2023-05-22 10:48:32 · 879 阅读 · 0 评论 -
【Atlas200】华为适配ATC模型转换工具
ATC模型转换工具具有高效、快速、准确的特点,可以帮助用户将深度学习模型快速部署到华为AI芯片上,从而实现高效的推理和计算。要解决该问题,需要在运行ATC工具时指定正确的–soc_version参数。其中,“–input_shape ”中的“-1”表示设置动态BatchSize,具体支持哪些BatchSize由“–dynamic_batch_size”决定。其中,“–input_shape ”中的“-1,-1”表示设置动态分辨率,具体支持哪些分辨率由“–dynamic_image_size ”决定。原创 2023-05-18 09:55:25 · 2189 阅读 · 0 评论