[HI3516DV300开发笔记]HiSi NNIE输入图像数据设置

article/2025/11/8 12:15:38

本文上接:

[HI3516DV300开发笔记]HiSi NNIE + opencv解算openpose人体关键点输出

https://blog.csdn.net/abc517789065/article/details/103592190


在上文中,已经初步实现了移植openpose模型到HISI3516开发板并且检测出人体2D关键点位置

整个检测的逻辑结构如下图所示(也许为了这张图该写系列博客,这张图放在最前面,可惜我懒):

目前这里有一个问题:VPSS输出的 368*368 YVU420SP图像数据,我并不是直接输入到NNIE的,而是先保存成.yuv文件再读取输入到NNIE。这么做的原因是为了尽快打通整个流程,实际上并没有必要多此一举,就是将上图优化为:

还是之前说的思路,遇到问题解决问题。


随着本文的写作,我将尝试做两件事情:

<1>如何将HiSi3516DV300 SDK已有的yolov3 demo从检测单张bgr图片改造成YVU420SP数据

<2>如何将VPSS输出的YVU420SP数据直接送入我移植的openpose模型进行预测

借此熟悉HISI SVP NNIE SDK的各种花里胡哨的数据结构的含义


0:在RuyiStudio上修改模型输入并重新生成wk

首先把目光从开发板转移到RuyiStudio,打开yolov3_func.cfg或者yolov3_inst.cfg,找到:

没错,就是把image_type从U8改为YVU420SP,重新生成wk文件即可

大部分检测图像的神经网络算法是检测bgr格式的,但是HiSi系列芯片VPSS输出一般都是YVU格式,如果要向NNIE输入bgr还需要转一道。笔者亲测修改此处的image_type重新生成wk文件再将开发板VPSS的YVU420SP格式直接输入网络也是可以用的。至于怎么做的没有细究,可能和IVE有关。

修改image_type为YVU420SP后重新生成的wk文件并不会影响在PC上对png等格式图片进行的仿真(所以改了image_type重新生成wk后还能用之前的图片仿真,什么都不用改),可以看下RuyiStudio里的代码,几个关键函数:

SvpSampleReadAllSrcImg

SvpSampleImgReadFromImglist

s_SvpSampleImgRead

SvpSampleImgReadRaw / svpsample_utils_cv::SVPUtils_ReadImage

SVPUtils_MatToBlob_U8 / SVPUtils_MatToBlob_YVU420SP / SVPUtils_MatToBlob_YVU422SP

仿真时输入到NNIE的数据格式会先被转化

 

重新生成的以YVU420SP格式为输入的wk文件自然要拷贝到开发板并且重新载入,加载方法参考SAMPLE_SVP_NNIE_Yolov3即可;载入时被自动填写的参数:SAMPLE_SVP_NNIE_PARAM_S/SAMPLE_SVP_NNIE_SEG_DATA_S/SVP_SRC_BLOB_S的enType可以看到以自动变为了SVP_BLOB_TYPE_YVU420SP


既然提到了SVP_SRC_BLOB_S,就先弄清HiSi NNIE的一些关键数据结构:

1:数据结构  

 

 

 

 

 

 

 

 

 

 


http://chatgpt.dhexx.cn/article/oPNmd1Ag.shtml

相关文章

buildroot构建hisi平台根文件系统和工具链

buildroot构建hisi平台根文件系统和工具链 前面使用了arm-hisiv300-linux 工具链来作为Buildroot的外部工具链进行编译&#xff0c;然后遇到了很多编译问题。 https://blog.csdn.net/duapple/article/details/128516133?spm1001.2014.3001.5501 这里不使用hisi的工具链&…

【HISI调试】hisi PQtool开机报错,提示无dll,找不到插件,比如:ISP calibration Tool等

创作时间:2022-03-24 目录&#xff1a; 1.问题现象 2.那怎么办呢&#xff1f; 3.安装好对应的MCR即可 正文&#xff1a; 1.问题现象 打开hisi PQtool,提示无dll 一路确定后&#xff0c;下拉插件框,找不到想到的插件,比如ISP calibration Too 2.那怎么办呢&#xff1f; 需要…

Hisi 3516DV300 方案

海思3516DV300是华为海思半导体推出的一款专用 Smart HD IP 摄像机 SOC&#xff0c;集成新一代 ISP、业界 最新的 H.265 视频压缩编码器&#xff0c;同时集成高性能 NNIE 引擎&#xff0c;使得 Hi3516DV300 在低 码率、高画质、智能处理和分析、低功耗等方面引领行业水平。集成…

【HISI系列】海思媒体处理平台架构分析

Date: 2019-3-9 前言 Hi35xx系列芯片作为高清/超高清安防监控主流芯片,现在已经广泛应用于安防监控产品中。本文重点分析: 海思媒体处理平台架构系统架构1、参考 Hi35XXX海思媒体处理平台架构介绍 海思MPP业务MMZ内存优化介绍 海思hi35xx 开发学习(1):海思媒体处理平台架构 …

Buildroot编译hisi平台根文件系统

Buildroot编译hisi平台根文件系统 文章目录 1. 下载Buildroot源码2. Menuconfig配置3. 编译Buildroot3.1 手动下载软件包3.2 kernel header 报错3.3 arm-hisiv300-linux-gcc-ar&#xff1a;cannot find plugin liblto_plugin.so3.4 /media/data/hisi/buildroot-2022.02.8/outpu…

yolov5转hisi的nnie(c and c++)

yolov5转hisi的nnie&#xff08;c and c&#xff09; 总述一. 训练前修改网络二. 导出模型三. 后处理1. c版2. 基于hisi SDK的纯c版&#xff08;后续更新&#xff09; 总述 刚躺了坑&#xff0c;记录一下&#xff0c;目的是将yolov5(6.1)转成海思可以推理的wk文件&#xff0c;…

HISI_3516_vi

主要的解释还是看这些大牛的&#xff0c;我这里只是想自己整理一遍&#xff1a;海思3518E开发笔记2.5——海思VI&#xff08;video input&#xff09;模块详解_Spark&#xff01;的博客-CSDN博客_海思wdr目录海思video input模块架构介绍海思video input模块功能介绍结构体说明…

hisi Camera 开发--HiMPP媒体处理软件开发基本概念

1. HIMPP平台架构简介 海思提供的媒体处理软件平台(Media Process Platform,简称 MPP),可支持应用软件快速开发。该平台对应用软件屏蔽了芯片相关的复杂的底层处理,并对应用软件直接提供 MPI(MPP Program Interface)接口完成相应功能。该平台支持应用软件快速开发以下功能:输入…

Hisiphp

最近有个项目要用到后台&#xff0c;就选用了hisiphp这个框架&#xff0c;框架使用的是thinkphp5.1。现在将里面的应用记录下来&#xff0c;为了以后方便使用。 1&#xff0c;首先要开启&#xff0c;系统-系统开发-开发模式 2&#xff0c;进入系统--系统扩展--模块管理--设计新…

海思芯片介绍

1.芯片介绍 芯片SOC里集成了众多控制芯片&#xff0c;比如负责深度学习的NNIE硬核&#xff0c;负责图像处理的IVE硬核&#xff0c;视频编解码单元H265/H264Codec&#xff0c;以及图像处理单元ISP等 为了减少用户对于硬件的直接操作&#xff0c;海思为用户封装了许多对于硬件的操…

hisi平台异常重启问题分析

Hisi平台开发之异常重启问题分析 目录 1. 问题描述...................................................................................................................... 3 2. 问题跟踪排查......................................................................…

【HISI系列】之开发板调试基本知识

1. HISI 根文件系统简介 Linux 的目录结构的最顶层是一个被称为“ / ”的根目录。系统加载 Linux 内核之后&#xff0c;就会挂载一个设备到根目录上。存在于这个设备中的文件系统被称为根文件系统。所有的系统命令、系统配置以及其他文件系统的挂载点都位于这个根文件系统中。 …

HTTP Digest接入方式鉴权认证流程

HTTP Digest接入方式鉴权认证流程 一、摘要认证原理 摘要认证与基础认证的工作原理很相似&#xff0c;用户先发出一个没有认证证书的请求&#xff0c;Web服务器回复一个带有WWW-Authenticate头的响应&#xff0c;指明访问所请求的资源需要证书。但是和基础认证发送以Base 64编…

C++ libcurl Digest Auth

C libcurl Digest Auth postman操作如下&#xff1a; 附认证原理如下&#xff1a; MD5 md5; string HA1 md5("username:realm:password"); string HA2 md5("method:uri"); string response md5("HA1:nouce:nc:cnonce:qop:HA2"); 这里…

mysql sql语句digest收集与展示

1.前言 mysql慢查询&#xff0c;已经有现成的成熟的方案收集展示了&#xff1a;pt-query-digest结合box公司的anemometer&#xff0c;没用过的移步&#xff1a;《mysql慢查询可视化》&#xff08;本章内容需要提前了解anemometer&#xff09;。 但DBA们一定还遇到过这样的问题…

HTTP Digest authentication

什么是摘要认证 摘要认证&#xff08; Digest authentication&#xff09;是一个简单的认证机制&#xff0c;最初是为HTTP协议开发的&#xff0c;因而也常叫做HTTP摘要&#xff0c;在RFC2617中描述。其身份验证机制很简单&#xff0c;它采用杂凑式&#xff08;hash&#xff09…

配置Apache Digest认证

Apache常见的用户认证可以分为下面三种&#xff1a; 基于IP&#xff0c;子网的访问控制(ACL)基本用户验证(Basic Authentication)消息摘要式身份验证(Digest Authentication) 消息摘要式身份验证(Digest Authentication) Digest Authentication在基本身份验证上面扩展了安全…

http Digest认证计算方法整理

摘要认证及实现HTTP digest authentication - 简书 HTTP Basic和Digest认证介绍与计算 - 诸子流 - 博客园 不要不知道上面说的URI是什么意思啊 图解HTTP 第 8 章 确认访问用户身份的认证 - 简书8.1 何为认证 为了弄清究竟是谁在访问服务器&#xff0c;就得让对方的客户端自报家…

业务维度digest日志的记录与监控方案

需求 ​   为了满足从业务整体的维度 实现监控和链路复原&#xff0c;我们希望对于一个业务接口&#xff0c;记录一行请求日志&#xff0c;并通过某个 Unique Id&#xff08;如UserId、OrderId&#xff09;将多行日志关联起来&#xff0c;最终产出一批和业务强相关的数据&am…

java发起Digest Auth请求

常规认证方式 上代码&#xff1a; 需要的Maven <dependency><groupId>org.apache.httpcomponents</groupId><artifactId>httpclient</artifactId><version>4.5</version></dependency><dependency><groupId>org.…