一种基于海思SD3403的多场景监测方法转让专利

申请号 : CN202211586312.6

文献号 : CN115661723B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 肖涛徐卫星姚俊俊戚原野韩兆宇

申请人 : 常州海图信息科技股份有限公司

摘要 :

本发明公开了一种基于海思SD3403的多场景监测方法。涉及图形通信技术领域,服务器端基于caffe框架,使用yolov3对目标进行训练,并得到prototxt文件和caffemodel文件,根据待预测对象的格式及训练时的预处理操作,编写配置代码,使其转成SD3403平台支持的om模型,此时的om模型已可部署至平台,并进行推理,将不同场景下的om模型转化为二进制文件,转化时,利用Qt模型转化工具对om模型进行参数设置,生成平台所需的二进制文件,将所有的二进制文件传入SD3403平台,本发明基于SD3403平台,SD3403平台体积小,算力强,方便部署,节约空间,caffe框架的自定义程度较高,可以自定义加入算子,使网络更灵活。

权利要求 :

1.一种基于海思SD3403的多场景监测方法,其特征在于:单个模型推理时,服务器端基于caffe框架,使用yolov3对目标进行训练,并得到prototxt文件和caffemodel文件,根据待预测对象的格式及训练时的预处理操作,编写配置代码,使其转成SD3403平台支持的om模型;若需加快推理速度,则还需将prototxt文件和caffemodel文件量化,并将量化后的文件使用同样的方法转为om模型,再部署至平台,即可进行加速推理。

2.根据权利要求1所述的方法,其特征在于:所述单个模型推理包括以下步骤:

S1、配置训练和测试时的各种参数,包括训练的策略、学习率的变化率以及模型保存的频率参数;

S2、将非Caffe框架下的训练模型拼接并生成Caffe模型下的Prototxt文本格式的参数数据文件;

S3、prototxt是描述测试网络训练时各种参数的网络结构文件,将文件转化为om文件,保存压缩后的prototxt训练模型的数据文件;

S4、caffemodel存储了模型权重的相关参数和具体信息,将caffemodel文件转化为om文件,保存压缩后的caffemodel训练模型的数据文件;

S5、将转化后的om模型文件进行压缩之后,将om模型文件部署在SD3403的平台上。

3.根据权利要求1所述的方法,其特征在于:所述om模型转换通过使用onnx工具对导出的模型图进行简化,设置onnx的环境变量,利用附件脚本修改模型的slice算子,配置海思的开发环境,配置环境变量,使用atc将开源框架的网络模型以及定义的单算子描述文件,通过atc转换成海思支持的离线模型,模型转换过程中能够实现算子调度的优化以及权值的数据重排。

4.根据权利要求1所述的方法,其特征在于:所述prototxt文件要设计好需要优化的对象,用于学习的训练网络和用于评估的测试网络,通过forward和backward算法的迭代进行优化来更新参数,定期的评价测试网络,在优化过程中显示模型和slover的状态,在每一次的迭代过程中,调用forward算法来计算最终的输出值,调用backword算法来计算每层的梯度,根据选用的slover方法,利用梯度进行参数学习,记录并保存每次迭代的学习率以及对应的状态。

5.根据权利要求1所述的方法,其特征在于:所述caffemodel文件里存储了模型的结构和训练所得到的权重参数和偏置的信息以及整个训练网络的结构的参数和信息,caffemodel文件是在模型测试阶段用于分类的一组文件。

6.根据权利要求1所述的方法,其特征在于:多个所述模型推理时,还需将不同场景下的om模型转化为二进制文件,转化时,利用Qt模型转化工具对om模型进行参数设置,可方便地生成平台所需的二进制文件,最后将所有的二进制文件传入SD3403平台,通过在配置文件中设置各个模型对应的通道,以达到多场景监测的目的。

7.根据权利要求6所述的方法,其特征在于:多个所述模型的推理包括以下步骤:

S1、将不同场景的模型转化为二进制文件;

S2、利用Qt模型转化工具对模型进行参数设置;

S3、将二进制文件传入海思SD3403平台。

8.根据权利要求6所述的方法,其特征在于:所述二进制文件转换,通过Qt的元对象系统赋予文件类属性的功能,根据传入的文件节点,判断是否有子节点,有子节点的是复合属性,无子节点的是简单属性,简单属性,提取子节点的内容,赋值给对象实例,继续处理下一节子节点,符合属性按照子节点名,动态生成一个对应的对象实例,对生成的对象实例进行内容组装,判断当前点的属性名记录在当前类型的信息中,按照属性的方法以及对象实例的值赋予父类实例对象,通过递归的方式将文件内容进行转换,遍历类的所有属性,组成二进制文件。

9.根据权利要求6所述的方法,其特征在于:模型参数的设置通过在Qt平台上设置好环境变量,在Qt界面上加载显示模型的控件,通过辅助信息输入框控件,对模型的数据进行尺寸的修改,利用Qt内置的类传输的图像数据进行数据接收,将其显示和存储,在显示过程中将图像转化为RGB的图像格式。

10.根据权利要求6所述的方法,其特征在于:多通道编程,其中一个通道负责采集视频信号将得到的图像进行实时显示,处理通道负责将采集到的图像利用网络传输到平台上,平台中利用Qt编程,实现图像的格式转化和显示,采集通道和传输通道中共享视频数据,构建一个循环队列,用来存放采集通道和传输通道共享的数据,利用一个互斥锁来互斥队列的读写操作,利用两个信号量实现两个通道的同步,根据视频的格式生成缓存块大小,设置视频缓存池属性,初始化视频缓存池,配置控制参数,根据输入的视频模式信息,设置输入通道和输入设备的绑定关系,促使输入通道开始运行,设置通道属性,包括图像大小、最大码率以及帧率根据通道号和通道属性生成编码通道,开始接收图片以及视频,对接收到的视频数据进行去噪、去隔行、缩放,以及锐化的处理,通过调用控制对接受视频进行绑定,在传输过程中提供服务质量的监视与反馈,部署多个场景监测通道,将不同的场景的视频,分别传送至监测的通道中。

说明书 :

一种基于海思SD3403的多场景监测方法

技术领域

[0001] 本发明涉及图形通信技术领域,具体为一种基于海思SD3403的多场景监测方法。

背景技术

[0002] 海思SD3403平台是针对高清/超高清(1080p/4M/5M/4K)IPC产品应用开发的专业SoC芯片,集成了ARM A55四核处理器和神经网络推理引擎,支持多种智能算法应用,神经网络加速引擎,算力达4Tops INT8,支持完整的API和工具链。依靠其强大的算力和丰富的接口,可在此平台上进行多个检测算法模型的迁移,同时使用该平台下的模型压缩工具,可实现模型的量化,从而加快模型推理速度,实现算法优化。

发明内容

[0003] (一)解决的技术问题
[0004] 针对现有技术的不足,本发明提供了一种基于海思SD3403平台和caffe框架,对在服务器上训练得到的yolov3模型进行转换,从而得到SD3403支持的模型类型,为了提高计算速度,平台可对转换后的模型进行量化,即对模型的权重和数据进行低比特处理,让最终生成的网络模型更加轻量化,从而达到节省网络模型存储空间、降低传输时延、提高计算效率,达到性能提升与优化的目标。为了提升监测场景的多样性,可以利用该平台的多通道分别对不同场景下的视频流进行分析。
[0005] 通过在该平台部署检测模型的方式,可以扩展视觉检测的应用场景,减少了应用体积,提高了灵活性。
[0006] (二)技术方案
[0007] 为实现上述目的,本发明提供如下技术方案:一种基于海思SD3403的多场景监测方法,基于海思SD3403平台和caffe框架,在模型迁移前,需要先在服务器端训练得到caffe框架的模型和权重文件,根据待测对象的格式和训练时的预处理方式,通过海思平台的模型转换工具对服务器上的模型进行转换,若要加快模型在平台的推理速度,则需要使用模型压缩工具对转换后的模型进行压缩,针对不同场景,可以转换多个模型并上传至海思SD3403平台,为了方便管理以及生成不同的模型,根据程序预留的接口用Qt制作模型封装工具,以方便设置模型参数(如模型尺寸,模型描述等),以生成满足要求的模型。
[0008] 优选的,单个模型推理时,服务器端基于caffe框架,使用yolov3对目标进行训练,并得到prototxt文件和caffemodel文件,根据待预测对象的格式(yuv420SP或RGB等)及训练时的预处理操作,编写配置代码;若需加快推理速度,则还需将prototxt文件和caffemodel文件量化,并将量化后的文件使用同样的方法转为om模型,再部署至平台,即可进行加速推理。
[0009] 优选的,所述单个模型推理包括以下步骤:
[0010] S1、配置训练和测试时的各种参数,包括训练的策略、学习率的变化率以及模型保存的频率参数;
[0011] S2、将非Caffe框架下的训练模型拼接并生成Caffe模型下的Prototxt文本格式的参数数据文件;
[0012] S3、prototxt,描述测试网络层的网络结构文件,将文件转化为om文件,保存压缩后的prototxt训练模型的数据文件;
[0013] S4、描述caffemodel训练网络层的网络结构文件,将caffemodel文件转化为om文件,保存压缩后的caffemodel训练模型的数据文件;
[0014] S5、将转化后的om模型文件进行压缩之后,将om模型文件部署在SD3403的平台上。
[0015] 优选的,所述om模型转换通过使用onnx工具对导出的模型图进行简化,设置onnx的环境变量,利用附件脚本修改模型的slice算子,配置海思的开发环境,配置环境变量,使用atc将开源框架的网络模型以及定义的单算子描述文件,通过atc转换成海思支持的离线模型,模型转换过程中能够实现算子调度的优化以及权值的数据重排。
[0016] 优选的,所述prototxt文件要设计好需要优化的对象,用于学习的训练网络和用于评估的测试网络,通过forward和backward算法的迭代进行优化来更新参数,定期的评价测试网络,在优化过程中显示模型和slover的状态,在每一次的迭代过程中,调用forward算法来计算最终的输出值,调用backword算法来计算每层的梯度,根据选用的slover方法,利用梯度进行参数学习,记录并保存每次迭代的学习率以及对应的状态。
[0017] 优选的,所述caffemodel文件里存储了模型的结构和训练所得到的权重参数和偏置的信息以及整个训练网络的结构的参数和信息,caffemodel文件是在模型测试阶段用于分类的一组文件。
[0018] 优选的,多个所述模型推理时,还需将不同场景下的om模型转化为二进制文件,转化时,利用Qt模型转化工具对om模型进行参数设置(模型尺寸,模型描述,运行平台等),可方便地生成平台所需的二进制文件,最后将所有的二进制文件传入SD3403平台,通过在配置文件中设置各个模型对应的通道,以达到多场景监测的目的。
[0019] 优选的,多个所述模型的推理包括以下步骤:
[0020] S1、将不同场景的模型转化为二进制文件;
[0021] S2、利用Qt模型转化工具对模型进行参数设置;
[0022] S3、将二进制文件传入海思SD3403平台。
[0023] 优选的,所述二进制文件转换通过Qt的元对象系统赋予文件类属性的功能,根据传入的文件节点,判断是否有子节点,有子节点的是复合属性,无子节点的是简单属性,简单属性,提取子节点的内容,赋值给对象实例,继续处理下一节子节点,符合属性按照子节点名,动态生成一个对应的对象实例,对生成的对象实例进行内容组装,判断当前自己点的属性名记录在哪种类型的信息中,按照属性的方法以及对象实例的值赋予父实例对象,通过递归的方式将文件内容进行转换,遍历类的所有属性,组成二进制文件。
[0024] 优选的,模型参数的设置通过在Qt平台上设置好环境变量,在Qt界面上加载显示模型的控件,通过可输入的辅助信息输入框控件,对模型的数据进行尺寸的修改,利用Qt内置的类传输的图像数据进行数据接收,将其显示和存储,在显示过程中将图像转化为RGB的图像格式。
[0025] 优选的,多通道编程,其中一个通道负责采集视频信号将得到的图像进行实时显示,处理通道负责将采集到的图像利用网络传输到平台上,平台中利用Qt编程,实现图像的格式转化和显示,采集通道和传输通道中共享视频数据,构建一个循环队列,用来存放采集通道和传输通道共享的数据,利用一个互斥锁来互斥队列的读写操作,利用两个信号量实现两个通道的同步,根据视频的格式生成缓存块大小,设置视频缓存池属性,初始化视频缓存池,配置控制参数,根据输入的视频模式信息,设置输入通道和输入设备的绑定关系,促使输入通道开始运行,设置通道属性,包括图像大小、最大码率以及帧率根据通道号和通道属性生成编码通道,开始接收图片以及视频,对接收到的视频数据进行去噪、去隔行、缩放,以及锐化的处理,通过调用控制对接受视频进行绑定,在传输过程中提供服务质量的监视与反馈,部署多个场景监测通道,将不同的场景的视频,分别传送至监测的通道中,能够保存用户的信息,监听需求,根据请求完成发送、暂停以及断开连接。
[0026] (三)有益效果
[0027] 本发明提供了一种基于海思SD3403的多场景监测方法,具备以下有益效果:
[0028] (1)海思SD3403平台体积小,算力强,方便部署,节约空间。
[0029] (2)caffe框架的自定义程度较高,可以自定义加入算子,使网络更灵活。
[0030] (3)在不同通道部署不同模型可以提高监测场景的多样性。
[0031] (4)用Qt制作的模型封装工具可以方便地生成不同模型。

附图说明

[0032] 图1为一种基于海思SD3403的多场景监测方法的单个模型部署流程图。
[0033] 图2为一种基于海思SD3403的多场景检测方法的多个模型部署流程图。

具体实施方式

[0034] 基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。实施例
[0035] 为实现本发明目的,本发明提供一种技术方案:一种基于海思SD3403的多场景监测方法。
[0036] 进一步的,单个模型推理时,服务器端基于caffe框架,使用yolov3对目标进行训练,并得到prototxt文件和caffemodel文件,根据待预测对象的格式(yuv420SP或RGB等)及训练时的预处理操作,编写配置代码;若需加快推理速度,则还需将prototxt文件和caffemodel文件量化,并将量化后的文件使用同样的方法转为om模型,再部署至平台,即可进行加速推理。
[0037] 进一步的,所述单个模型推理包括以下步骤:
[0038] S1、配置训练和测试时的各种参数,包括训练的策略、学习率的变化率以及模型保存的频率参数;
[0039] S2、将非Caffe框架下的训练模型拼接并生成Caffe模型下的Prototxt文本格式的参数数据文件;
[0040] S3、prototxt,描述测试网络层的网络结构文件,将文件转化为om文件,保存压缩后的prototxt训练模型的数据文件;
[0041] S4、描述caffemodel训练网络层的网络结构文件,将caffemodel文件转化为om文件,保存压缩后的caffemodel训练模型的数据文件;
[0042] S5、将转化后的om模型文件进行压缩之后,将om模型文件部署在SD3403的平台上。
[0043] 进一步的,所述om模型转换通过使用onnx工具对导出的模型图进行简化,设置onnx的环境变量,利用附件脚本修改模型的slice算子,配置海思的开发环境,配置环境变量,使用atc将开源框架的网络模型以及定义的单算子描述文件,通过atc转换成海思支持的离线模型,模型转换过程中能够实现算子调度的优化以及权值的数据重排。
[0044] 进一步的,所述prototxt文件要设计好需要优化的对象,用于学习的训练网络和用于评估的测试网络,通过forward和backward算法的迭代进行优化来更新参数,定期的评价测试网络,在优化过程中显示模型和slover的状态,在每一次的迭代过程中,调用forward算法来计算最终的输出值,调用backword算法来计算每层的梯度,根据选用的slover方法,利用梯度进行参数学习,记录并保存每次迭代的学习率以及对应的状态。
[0045] 进一步的,所述caffemodel文件里存储了模型的结构和训练所得到的权重参数和偏置的信息以及整个训练网络的结构的参数和信息,caffemodel文件是在模型测试阶段用于分类的一组文件。
[0046] 进一步的,多个所述模型推理时,还需将不同场景下的om模型转化为二进制文件,转化时,利用Qt模型转化工具对om模型进行参数设置(模型尺寸,模型描述,运行平台等),可方便地生成平台所需的二进制文件,最后将所有的二进制文件传入SD3403平台,通过在配置文件中设置各个模型对应的通道,以达到多场景监测的目的。
[0047] 进一步的,多个所述模型的推理包括以下步骤:
[0048] S1、将不同场景的模型转化为二进制文件;
[0049] S2、利用Qt模型转化工具对模型进行参数设置;
[0050] S3、将二进制文件传入海思SD3403平台;
[0051] 进一步的,所述二进制文件转换通过Qt的元对象系统赋予文件类属性的功能,根据传入的文件节点,判断是否有子节点,有子节点的是复合属性,无子节点的是简单属性,简单属性,提取子节点的内容,赋值给对象实例,继续处理下一节子节点,符合属性按照子节点名,动态生成一个对应的对象实例,对生成的对象实例进行内容组装,判断当前自己点的属性名记录在哪种类型的信息中,按照属性的方法以及对象实例的值赋予父实例对象,通过递归的方式将文件内容进行转换,遍历类的所有属性,组成二进制文件。
[0052] 进一步的,模型参数的设置通过在Qt平台上设置好环境变量,在Qt界面上加载显示模型的控件,通过可输入的辅助信息输入框控件,对模型的数据进行尺寸的修改,利用Qt内置的类传输的图像数据进行数据接收,将其显示和存储,在显示过程中将图像转化为RGB的图像格式。
[0053] 进一步的,多通道编程,其中一个通道负责采集视频信号将得到的图像进行实时显示,处理通道负责将采集到的图像利用网络传输到平台上,平台中利用Qt编程,实现图像的格式转化和显示,采集通道和传输通道中共享视频数据,构建一个循环队列,用来存放采集通道和传输通道共享的数据,利用一个互斥锁来互斥队列的读写操作,利用两个信号量实现两个通道的同步,根据视频的格式生成缓存块大小,设置视频缓存池属性,初始化视频缓存池,配置控制参数,根据输入的视频模式信息,设置输入通道和输入设备的绑定关系,促使输入通道开始运行,设置通道属性,包括图像大小、最大码率以及帧率根据通道号和通道属性生成编码通道,开始接收图片以及视频,对接收到的视频数据进行去噪、去隔行、缩放,以及锐化的处理,通过调用控制对接受视频进行绑定,在传输过程中提供服务质量的监视与反馈,部署多个场景监测通道,将不同的场景的视频,分别传送至监测的通道中,能够保存用户的信息,监听需求,根据请求完成发送、暂停以及断开连接。
[0054] 综上所述,该一种基于海思SD3403的多场景监测方法,通过用Qt制作的模型封装工具,能够方便地生成不同模型。
[0055] 尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。