一种基于边缘加速的小型化神经网络识别检测设备及方法技术

技术编号:32138159 阅读:20 留言:0更新日期:2022-02-08 14:30
本发明专利技术公开了一种基于边缘加速的小型化神经网络识别检测设备及方法,所述设备包括小型化板子、相机、可多个并联的TPU;所述小型化板子与相机通过USB接口、CSI2接口或者WiFi同小型化板子相连,相机用于采集图像,并将图像信息输入至小型化板子;所述小型化板子通过USB3.0接口与多个并联的TPU相连。所述方法为:将所有模型的权重文件转换为pb文件,该类型文件为固化的权重文件,包含有网络信息和节点数据;将pb文件压缩为tflite文件,该类型的权重文件体量小,适合于小型化的设备;将tflite文件编译为TPU可读文件,将权重文件搭载到TPU上计算;本发明专利技术具有实现实时的图像检测、分类功能等优点。能等优点。能等优点。

【技术实现步骤摘要】
一种基于边缘加速的小型化神经网络识别检测设备及方法


[0001]本专利技术涉及网络识别领域,尤其是一种小型化神经网络识别检测设备及方法。

技术介绍

[0002]目前的识别分类的网络需要大量的算力,一般会使用PC端的高性能GPU进行相应运算。基于例如树莓派之类的小型化设备进行神经网络的运算,仅靠其芯片性能达不到算力需求,实现不了实时的识别分类。
[0003]现有产品或设备的专利相关情况主要为利用机器学习实现图像的识别检测,并具体应用的某一方面,基本使用的是PC端(即使用带有GPU加速的电脑设备,其体型巨大,且成本也比较高);或者使用专用的神经网络嵌入式板子(如海思,通常价格在万元以上),其设备的成本较大。
[0004]另外,有很多成熟的识别神经网络检测识别算法,其通常采用TensorFlow、keras、caffe、pytorch等框架。通过训练得到相应的权重文件,可以在PC端实现实时的检测识别。但是,以TensorFlow常用的ckpt文件为例(其余网络框架得到的权重文件,如.h5,.weight等都可以相互转换),其应用到小型的廉价的嵌入式设备中,现阶段却不可能实现,即不能实现PC端和嵌入式设备的网络权重通用。

技术实现思路

[0005]本专利技术目的在于提供一种实现实时的图像检测、分类功能的基于边缘加速的小型化神经网络识别检测设备及方法。
[0006]为实现上述目的,采用了以下技术方案:本专利技术所述设备包括小型化板子、相机、单个或多个并联的TPU;所述小型化板子与相机通过USB接口、CSI2接口或者WiFi同小型化板子相连,相机用于采集图像,并将图像信息输入至小型化板子;所述小型化板子通过USB3.0接口与多个并联的TPU相连。
[0007]进一步的,所述小型化板子为带有CPU,且装有Debian系统的嵌入式板。
[0008]进一步的,所述单个或多个并联的TPU为边缘计算加速棒,较为常用的加速棒为google出售的corel,或英特尔的NCS。
[0009]另外,本专利技术还提供了一种基于边缘加速的小型化神经网络识别方法,包括以下步骤:
[0010]S1,将所有模型的权重文件转换为pb文件,该类型文件为固化的权重文件,包含有网络信息和节点数据;
[0011]S2,将pb文件压缩为tflite文件,该类型的权重文件体量小,适合于小型化的设备;
[0012]S3,将tflite文件编译为TPU可读文件,可将权重文件搭载到TPU上加速计算;
[0013]S4,通过以上步骤实现常见的神经网络权重文件的转换为固化的、小型的权重文件可以搭载到小型的嵌入式设备中,使用TPU进行加速,实现实时的图像识别检测。
[0014]与现有技术相比,本专利技术具有如下优点:
[0015]1、设备或产品小型化,嵌入式板大概信用卡大小,TPU设备为普通U盘大小;
[0016]2、神经网络运算速度快,例如使用工程化常用的SSDv1识别算法测试,其处理速度可以达到60ms每幅图片(300*300),可以实现实时检测。
[0017]3、通过现有的边缘加速设备(如google的coral TPU加速器),同成本较低的普通的嵌入式设备(如树莓派)组合,并通过一定流程的处理,构成效果好、成本低(千元以内)的可以实时检测识别的神经网络图像处理设备。
附图说明
[0018]图1是本专利技术设备的结构简图。
[0019]图2是本专利技术方法的流程图。
具体实施方式
[0020]下面结合附图对本专利技术做进一步说明:
[0021]如图1所示,本专利技术所述设备包括小型化板子、相机、单个或多个并联的TPU;所述小型化板子与相机通过USB接口、CSI2接口或者WiFi同小型化板子相连,相机用于采集图像,并将图像信息输入至小型化板子;所述小型化板子通过USB3.0接口与单个或多个并联的TPU相连,通过TPU实现神经网络计算加速功能。所述小型化板子为带有CPU,且装有Debian系统的嵌入式板。TPU为边缘计算加速棒,边缘加速棒为google出售的corel,或英特尔的NCS。
[0022]如图2所示,本专利技术还提供了一种基于边缘加速的小型化神经网络识别方法,包括以下步骤:
[0023]S1,将所有模型的权重文件转换为pb文件,该类型文件为固化的权重文件,包含有网络信息和节点数据;
[0024]S2,将pb文件压缩为tflite文件,该类型的权重文件体量小,适合于小型化的设备;
[0025]S3,将tflite文件编译为TPU可读文件,将权重文件搭载到TPU上计算;
[0026]S4,通过以上步骤实现常见的神经网络权重文件的转换为固化的、小型的权重文件可以搭载到小型的嵌入式设备中,使用TPU进行加速,实现实时的图像识别检测。
[0027]具体的,ckpt文件转pb文件,使用google推出的TensorFlow API中的函数,使用适用训练所用模型的输入输出节点,进行转换。pb文件转换为tflite文件,其中tflite文件为TensorFlow框架专门设计的轻量级的网络格式,主要用于搭载安卓系统。使用TensorFlow-lite中的tflite_convert.py文件。tflite文件编译为可搭载TPU上的tflite文件,其编译过程使用edgetpu-compiler。tpu同Debian系统的嵌入式板组合,通过嵌入式板进行相机等其他外设输入的读取,将网络搭载到tpu上,使用tpu进行运算。
[0028]实施例1:
[0029]使用自己采集的图片作为训练集,通过网络训练得到相应的网络权重文件,对网络文件进行格式转换和编译,并搭载到本专利技术的设备上,实现实时检测。转换成了以下几个步骤:
[0030]1、采集自己训练集,并生成固定格式的tfrecord文件;
[0031]2、使用tensorflow API进行训练,得到ckpt权重文件;
[0032]3、ckpt转换成TPU可读的tflite-tpu权重文件。
[0033]1.1采集数据集
[0034]通过相机或者截取视频,采集到原始图像集,并通过软件labelImg完成数据标记。
[0035]1.2制作数据集
[0036]新建images文件夹,将自己的训练集全部放入该文件夹中。
[0037]新建merged_xml文件夹,该文件夹用于存储标记软件生成的xml文件,如果是自己标记的话,直接将生成路径设置为该文件夹;如果是有标记好的xml文件,可以通过change_xml.py程序,修改已有的xml文件。
[0038]新建annotations文件夹,运行程序train_test_split.py将自己的图片分成训练集、测试集、验证集。
[0039]1.3数据集格式转换
[0040]新建data文件夹,通过程序xml_to_csv.py将xml文件转换成csv文件本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于边缘加速的小型化神经网络识别检测设备,其特征在于:所述设备包括小型化板子、相机、单个或多个并联的TPU;所述小型化板子与相机通过USB接口、CSI2接口或者WiFi同小型化板子相连,相机用于采集图像,并将图像信息输入至小型化板子;所述小型化板子通过USB3.0接口与多个并联的TPU相连。2.根据权利要求1所述的一种基于边缘加速的小型化神经网络识别检测设备,其特征在于:所述小型化板子为带有CPU,且装有Debian系统的嵌入式板。3.根据权利要求2所述的一种基于边缘加速的小型化神经网络识别检测设备,其特征在于:所述单个或多个并联的TPU为边缘计算加速棒,边缘...

【专利技术属性】
技术研发人员:王琪杨海伟张天昱
申请(专利权)人:深圳了然视觉科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1