CN116843003A - 嵌入式设备的管理方法、装置、设备及存储介质 - Google Patents

嵌入式设备的管理方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN116843003A
CN116843003A CN202310787319.2A CN202310787319A CN116843003A CN 116843003 A CN116843003 A CN 116843003A CN 202310787319 A CN202310787319 A CN 202310787319A CN 116843003 A CN116843003 A CN 116843003A
Authority
CN
China
Prior art keywords
model
quantization
reference data
performance condition
embedded device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202310787319.2A
Other languages
English (en)
Inventor
张赛
汪然
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
BOE Technology Group Co Ltd
Original Assignee
BOE Technology Group Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by BOE Technology Group Co Ltd filed Critical BOE Technology Group Co Ltd
Priority to CN202310787319.2A priority Critical patent/CN116843003A/zh
Publication of CN116843003A publication Critical patent/CN116843003A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0495Quantised networks; Sparse networks; Compressed networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Biomedical Technology (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Image Analysis (AREA)

Abstract

本申请公开了一种嵌入式设备的管理方法、装置、设备及存储介质,属于嵌入式设备技术领域。该方法包括:获取参考数据,参考数据为需要实现目标功能的数据,目标功能通过神经网络模型实现,运行神经网络模型的设备的第一性能条件高于嵌入式设备的第二性能条件;将参考数据输入到集成在嵌入式设备内的模型库中,根据模型库的输出结果实现目标功能,模型库基于量化模型编译生成,量化模型由神经网络模型进行量化处理得到,运行量化模型的设备的第三性能条件不高于第二性能条件。该方法能够在嵌入式设备上实现目标功能,提高了嵌入式设备的智能化。

Description

嵌入式设备的管理方法、装置、设备及存储介质
技术领域
本申请涉及嵌入式设备技术领域,特别涉及一种嵌入式设备的管理方法、装置、设备及存储介质。
背景技术
嵌入式设备作为一种可以独立运作的器件,被广泛应用到各行各业。但由于嵌入式设备的计算能力、内存和功耗等性能条件有限,使得嵌入式设备能够实现的功能较简单。例如,以嵌入式设备为电子学生证为例,电子学生证仅能实现定位、接打电话或收发短信等简单功能,而智能检测、语音识别、姿态识别等较复杂的目标功能无法实现。
因此,如何基于嵌入式设备实现目标功能,以提高嵌入式设备的智能化是个亟待解决的问题。
发明内容
本申请提供了一种嵌入式设备的管理方法、装置、设备及存储介质,能够使得嵌入式设备实现目标功能。
第一方面,提供一种嵌入式设备的管理方法,所述方法包括:获取参考数据,所述参考数据为需要实现目标功能的数据,所述目标功能通过神经网络模型实现,运行所述神经网络模型的设备的第一性能条件高于所述嵌入式设备的第二性能条件;将所述参考数据输入到集成在所述嵌入式设备内的模型库中,根据所述模型库的输出结果实现所述目标功能,所述模型库基于量化模型编译生成,所述量化模型由所述神经网络模型进行量化处理得到,运行所述量化模型的设备的第三性能条件不高于所述第二性能条件,所述第一性能条件、所述第二性能条件和所述第三性能条件均包括计算能力、内存和功耗中的至少一种。
在一种可能的实施方式中,所述模型库包括输入张量、解析器和输出张量;所述将所述参考数据输入到模型库中,包括:将所述参考数据由所述输入张量输入到所述解析器;通过所述解析器调用所述量化模型对所述参考数据进行处理,所述量化模型的处理结果由所述输出张量输出;将所述输出张量输出的所述处理结果作为所述模型库的输出结果。
在一种可能的实施方式中,所述嵌入式设备使用的编译语言与所述量化模型的编译语言不同;所述模型库基于模型文件编译生成,所述模型文件由所述量化模型进行格式转换得到,所述模型文件的编译语言与所述嵌入式设备使用的编译语言相同。
在一种可能的实施方式中,所述嵌入式设备为电子学生证,所述目标功能为姿态检测功能,所述参考数据为通过所述嵌入式设备包括的图像采集装置采集到的图像数据。
在一种可能的实施方式中,所述根据所述模型库的输出结果实现所述目标功能,包括:在所述模型库的输出结果为第一姿态的情况下,向终端发送所述电子学生证的标识,所述标识用于显示在所述终端;在所述模型库的输出结果为第二姿态的情况下,发出报警信息。
第二方面,提供了一种嵌入式设备的管理装置,所述装置包括:
获取模块,用于获取参考数据,所述参考数据为需要实现目标功能的数据,所述目标功能通过神经网络模型实现,运行所述神经网络模型的设备的第一性能条件高于所述嵌入式设备的第二性能条件;
管理模块,用于将所述参考数据输入到集成在所述嵌入式设备内的模型库中,根据所述模型库的输出结果实现所述目标功能,所述模型库基于量化模型编译生成,所述量化模型由所述神经网络模型进行量化处理得到,运行所述量化模型的设备的第三性能条件不高于所述第二性能条件,所述第一性能条件、所述第二性能条件和所述第三性能条件均包括计算能力、内存和功耗中的至少一种。
在一种可能的实施方式中,所述模型库包括输入张量、解析器和输出张量;所述管理模块,用于将所述参考数据由所述输入张量输入到所述解析器;通过所述解析器调用所述量化模型对所述参考数据进行处理,所述量化模型的处理结果由所述输出张量输出;将所述输出张量输出的所述处理结果作为所述模型库的输出结果。
在一种可能的实施方式中,所述嵌入式设备使用的编译语言与所述量化模型的编译语言不同;所述模型库基于模型文件编译生成,所述模型文件由所述量化模型进行格式转换得到,所述模型文件的编译语言与所述嵌入式设备使用的编译语言相同。
在一种可能的实施方式中,所述嵌入式设备为电子学生证,所述目标功能为姿态检测功能,所述参考数据为通过所述嵌入式设备包括的图像采集装置采集到的图像数据。
在一种可能的实施方式中,所述管理模块,用于在所述模型库的输出结果为第一姿态的情况下,向终端发送所述电子学生证的标识,所述标识用于显示在所述终端;在所述模型库的输出结果为第二姿态的情况下,发出报警信息。
第三方面,还提供了一种嵌入式设备,所述嵌入式设备包括处理器和存储器,所述存储器中存储有至少一条程序代码,所述至少一条程序代码由所述处理器加载并执行,以使嵌入式设备实现上述任一项所述的嵌入式设备的管理方法。
第四方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条程序代码,所述至少一条程序代码由处理器加载并执行,以使计算机实现上述任一项所述的嵌入式设备的管理方法。
第五方面,还提供了一种计算机程序产品或计算机程序,所述计算机程序产品或计算机程序包括计算机指令,所述计算机指令存储在计算机可读存储介质中。嵌入式设备的处理器从所述计算机可读存储介质读取所述计算机指令,处理器执行所述计算机指令,使得所述嵌入式设备执行上述任一所述的嵌入式设备的管理方法。
本申请提供的技术方案至少可以带来如下有益效果:
本申请提供的技术方案,通过将神经网络模型量化处理为量化模型,并将量化模型编译为模型库,以使模型库能够集成在嵌入式设备内的方式,使得嵌入式设备的性能条件不满足实现目标功能所需的性能条件的情况下,仍然能够实现目标功能,提高了嵌入式设备的智能化。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种实施环境的示意图;
图2是本申请实施例提供的一种嵌入式设备的管理方法的流程图;
图3是本申请实施例提供的一种模型库生成方法的流程图;
图4是本申请实施例提供的一种基于模型文件编译生成模型库的过程图;
图5是本申请实施例提供的一种嵌入式设备的管理方法的示意图;
图6是本申请实施例提供的一种姿态检测过程的示意图;
图7是本申请实施例提供的一种嵌入式设备的管理装置的示意图;
图8是本申请实施例提供的一种嵌入式设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
随着嵌入式设备的快速发展,嵌入式设备已经应用到各个领域。本申请实施例不对嵌入式设备的产品进行限定,嵌入式设备包括但不限于工业领域的机械手臂、集装箱起重机、工业机器人、智能控制器、智能数控机床等,智能家居领域的智能扫地机器人、空调、冰箱、洗衣机、投影仪、智能门锁、智能门禁、电视机、遥控器、水电表、扫地机器人、电子学生证等,安防领域的人脸识别、监控设备、指纹识别、视网膜识别等,汽车领域的行车记录仪、自动驾驶系统、车辆导航系统等,交通物流领域的蜂巢快递柜、共享单车、智能分拣等,健康医疗领域的智能血压计、智能手环等;通信领域,例如,机顶盒、路由器、通信基站设备、交换机等,金融领域的刷卡机、智能ATM终端等,消费电子领域的可穿戴设备、游戏机、数码相机、广告机、遥控玩具、音频视频播放器、自动售货机等,军事航空领域的卫星系统、定位系统、无人机、雷达系统等。
神经网络模型是指由简单的神经元组成的广泛互联的网络,可以模拟生物神经系统对真实世界做出的交互反应。随着神经网络模型的广泛应用,通过神经网络模型可以实现较多复杂的目标功能,目标功能包括但不限于智能检测、语义识别、图像识别、姿态识别、图像分类、图像处理等。神经网络模型的应用大大提高了处理效率,节省了大量人力和时间成本,但是神经网络模型在数据分析、抽象规则、数据自学等过程中,会对运行神经网络模型的设备的功耗、算力、内存等性能条件有着较高的要求。
但由于嵌入式设备具有功耗低、体积小、集成度高、成本低等特点,使得嵌入式设备的性能条件难以运行神经网络模型,进而难以实现通过神经网络模型实现的目标功能,使得嵌入式设备的智能化程度较低。
相关技术中,采用端云结合的方式使得嵌入式设备能够实现目标功能。例如,将运算单元、存储单元部署在云端,采集单元、决策单元部署在嵌入式设备。可选地,采集单元将采集的需要实现目标功能的参考数据发送给云端;云端通过运算单元调用存储单元中的神经网络模型对参考数据进行处理,得到处理结果;云端将处理结果反馈给决策单元,决策单元根据处理结果实现对应的目标功能。
其中,云端是指采用应用程序虚拟化技术的软件平台,包括但不限于互联网上的服务器、存储空间、应用程序等等。相关技术中采用端云结合的方式,使得采用端云结合的方式存在云端维护成本高,对网络环境有较高的稳定性要求的问题。
示例性地,本申请实施例以嵌入式设备为电子学生证为例进行举例说明,电子学生证还可称为学生证终端。目前,电子学生证能够实现接打电话、收发短信、定位等简单功能,智能化程度相较于手机等终端还是非常遥远的。由此,通过将神经网络模型移植到电子学生证上,可以明显提高电子学生证的智能化程度,使得电子学生证拥有更加智能、更加人性化的丰富应用。
参见图1,图1为本申请实施例提供的一种实施环境的示意图。如图1所示,该实施环境包括嵌入式设备,本申请实施例不对嵌入式设备进行限定。可选地,嵌入式设备包括数据采集模块、模型库和决策模块,数据采集模块用于采集需要实现目标功能的参考数据,模型库是基于量化模型编译生成,量化模型由神经网络模型进行量化处理得到,模型库能够基于嵌入式设备的性能条件运行,且模型库包括神经网络模型对应的目标功能,决策模块用于根据模型库的输出结果进行决策,以实现相应的目标功能。
本申请实施例提供一种嵌入式设备的管理方法,该方法可应用于任意一种嵌入式设备中。例如,该方法应用于上述图1所示的实施环境中的电子学生证101。如图2所示,本申请实施例提供的嵌入式设备的管理方法包括如下步骤201和步骤202。
步骤201,获取参考数据,参考数据为需要实现目标功能的数据,目标功能通过神经网络模型实现,运行神经网络模型的设备的第一性能条件高于嵌入式设备的第二性能条件。
在本申请实施中,性能条件是指影响神经网络模型运行的设备上的性能指标的大小条件,可选地,第一性能条件、第二性能条件均包括计算能力、内存和功耗中的至少一种。例如,运行神经网络模型的设备的第一性能条件可以包括计算能力大于能力阈值、内存大于内存阈值或功耗大于功耗阈值中的至少一种,但是嵌入式设备的第二性能条件包括最大计算能力小于能力阈值、最大内存小于内存阈值或最大功耗小于功耗阈值中的至少一种,因此,第一性能条件高于第二性能条件,使得嵌入式设备不支持神经网络模型的运行。其中,能力阈值、内存阈值或功耗阈值均可以根据应用场景灵活调整。
可选地,由于参考数据为需要实现目标功能的数据,因此,对于不同的目标功能需要获取的参考数据是不同的。在一种可能的实施方式中,获取参考数据的方式可以为,在嵌入式设备存储的数据中提取得到参考数据;或者,接收外界设备发送的参考数据;或者,通过外设输入源采集得到参考数据。其中,外设输入源包括但不限于摄像头等图像采集装置、麦克风等语音采集装置或传感器等。
示例性地,如果参考数据为语音数据,那么获取参考数据的方式可以为,通过嵌入式设备包括的语音采集装置采集得到语音数据;如果参考数据为图像数据,那么获取参考数据的方式可以为,通过嵌入式设备包括的图像采集装置采集得到图像数据。
步骤202,将参考数据输入到集成在嵌入式设备内的模型库中,根据模型库的输出结果实现目标功能,模型库基于量化模型编译生成,量化模型由神经网络模型进行量化处理得到,运行量化模型的设备的第三性能条件不高于第二性能条件,第一性能条件、第二性能条件和第三性能条件均包括计算能力、内存和功耗中的至少一种。
在本申请实施例中,由于模型库基于量化模型编译生成,量化模型由神经网络模型进行量化处理得到的,使得模型库的输出结果是基于量化后的神经网络模型得到的,因此,根据模型库的输出结果能够实现对应的目标功能。其中,对于不同的目标功能需要使用的神经网络模型是不同的,本申请实施例不对神经网络模型进行限定,包括但不限于支持向量机、卷积神经网络模型或循环神经网络模型等。
在一种可能的实施方式中,将参考数据输入到模型库中之前,还可以对参考数据进行预处理,将预处理后的参考数据输入到模型库中。本申请实施例不对预处理的方式进行限定,包括但不限于零均值处理、主成分分析(Principal Component Analysis,PCA)处理、白化(whitened)处理、归一化(normalization)处理、去冗余处理、去重处理、去噪处理中的至少一种。通过预处理的方式,可以提高输入到模型库的数据的准确性,进而提高模型库的输出结果的准确性。
在本申请实施例中,存在嵌入式设备使用的编译语言与量化模型的编译语言不同的情况,在该情况下,模型库基于量化模型编译生成包括,模型库基于模型文件编译生成,模型文件由量化模型进行格式转换得到,模型文件的编译语言与嵌入式设备使用的编译语言相同。由此,通过格式转换实现了模型库的编译生成。
可选地,在将参考数据输入到模型库中之前,需要先将模型库集成在嵌入式设备中。示例性地,以嵌入式设备使用的编译语言与量化模型的编译语言不同为例,参见图3所示的模型库生成方法的流程图,该模型库生成方法包括但不限于如下S01-S05。
S01,获取目标功能对应的神经网络模型。
本申请实施例不限定获取目标功能对应的神经网络模型的方式。可选地,可以在深度学习平台上获取一个基础模型,然后按照目标功能的需求对基础模型进行训练和优化,根据训练和优化后的基础模型,得到一个能够实现目标功能的神经网络模型;或者,直接在深度学习平台上获取一个已经训练完成的能够实现目标功能的神经网络模型,例如,语音识别模型、图像识别模型、文字处理模型或姿态识别模型等。其中,深度学习平台可以为PyTorch或TensorFlow等开源的学习库。
S02,对神经网络模型进行量化处理,得到神经网络模型对应的量化模型。
由于神经网络模型的规模较大、计算复杂度高、执行效率低,因此,可以通过量化处理的方式将神经网络模型转换为量化模型,量化模型相较于神经网络模型规模更小、计算复杂度更低、执行效率更高,以使神经网络模型变成轻量级的量化模型。可选地,进行量化处理使用的方法本申请实施例不作限定,例如,可以采用TensorFlow官网提供的TensorFlow精简(TensorFlow Lite)转换器实现。TensorFlow Lite是专门面向微控制器的一种神经网络模型,解决了微控制器存储空间有限的问题。
示例性地,TensorFlow Lite包括两种模型量化转换方式,分别为python API(application programming Interface,应用程序接口)转换和命令行转换。在使用命令行转换的情况下,可以在TensorFlow的命令行界面写下如下代码,通过执行如下代码能够得到量化模型。其中,my_saved_model代表量化处理前的神经网络模型,my.tflite代表量化处理后的量化模型,即TensorFlow Lite模型,也即经过转换优化的平面缓冲区(FlatBuffer)格式。
#tflite_convert\
# --saved_model_dir=/tmp/my_saved_model\
# --output_file=/tmp/my.tflite
S03,将量化模型转换为模型文件,模型文件的编译语言与嵌入式设备使用的编译语言相同。
量化模型的编译语言即为神经网络模型的编译语言,在嵌入式设备使用的编译语言与量化模型的编译语言不同的情况下,需要将量化模型转换为模型文件,以能够使用嵌入式设备的编译语言将模型文件编译集成到嵌入式设备中并使用。其中,编译语言包括但不限于C语言、C++语言、java语言、超文本预处理(Hypertext Preprocessor)语言、Python语言、MATLAB语言等,因此,对于不同的编译语言,将量化模型转换为模型文件的方式也不同,本申请实施例对编译语言和转换方式均不作限定。
可选地,以量化模型使用的编译语言为Python语言,嵌入式设备使用的编译语言为C语言为例,将量化模型转换为模型文件的方式包括,使用标准工具将量化模型转化为标准的C语言数组结构,以C语言作为编译语言输出该C语言数组结构,得到模型文件。其中,标准工具可以为任意的能够Python代码转化成C代码的工具,例如,Cython工具或Nuitk工具等。
示例性地,可以通过执行xxd-i my.tflite>my_model_data.cc这个命令,实现量化模型到模型文件的转换。其中,my.tflite代表量化模型,my_model_data.cc代表C语言对应的模型文件。my_model_data.cc的内容包括:unsigned char converted_model_tflite[]={0x18,0x00,0x00,0x00,0x54,0x46,0x4c,0x33,0x00,0x00,0x0e,0x00};unsignedint converted_model_tflite_len=18200。其中,unsigned char指示converted_model_tflite[]的数据类型为无符号字符,0x18,0x00,0x00,0x00,0x54,0x46,0x4c,0x33,0x00,0x00,0x0e,0x00即为模型文件的C语言数组结构,unsigned int指示converted_model_tflite_len的数据类型为无符号整数,代表模型文件的数据长度为18200。
S04,基于模型文件编译生成模型库。
本申请实施例中,模型库是指可以基于模型文件编译得到的库文件,使得嵌入式设备可以直接调用该模型库。换句话说,就是将模型文件和调用接口打包为一个整体,这个整体即为模型库,当需要使用模型文件时,直接通过接口来调用该模型库即可,不再需要模型文件的源代码。
示例性地,以模型文件的编译语言为C语言为例,基于模型文件编译生成模型库的方式包括,编写C代码来引用步骤03中的模型文件,并编写推断代码接口,编译形成可供嵌入式设备导入的库文件,该库文件即为模型库。另外,在量化模型的编译语言与嵌入式设备使用的编译语言相同的情况下,则无需执行步骤S03,S04就变成了基于量化模型编译生成模型库。
示例性地,以模型文件为上述的converted_model_tflite为例,参见图4,基于模型文件编译生成模型库的过程包括,通过命令tflite::GetModel(converted_model_tflite)加载模型文件;通过命令new tflite::MicroInterpreter(m_model,*m_resolver,m_tensor_arena,kArenaSize,m_error_reporter)构建解析器;通过命令float*input=interpreter->typed_input_tensor<float>(0)获取并初始化一个输入张量,通过命令interpreter->Invoke(MicroInterpreter)调用解析器,通过命令float*output=interpreter->typed_output_tensor<float>(0)获取并初始化一个输出张量。编译得到的模型库则包括输入张量typed_input_tensor、调用解析器interpreter->Invoke(MicroInterpreter)和输出张量typed_output_tensor。
在一种可能的实施方式中,模型库包括输入张量、解析器和输出张量;将参考数据输入到模型库中,包括:将参考数据由输入张量输入到解析器;通过解析器调用量化模型对参考数据进行处理,量化模型的处理结果由输出张量输出;将输出张量输出的处理结果作为模型库的输出结果。
S05,将模型库集成在嵌入式设备中。
可选地,将编译生成的模型库集成在嵌入式设备的存储器中,例如,存储可以是指系统只读存储器(Read-Only Memory,ROM)。示例性地,将模型库集成在嵌入式设备中的方式可以为,在嵌入式设备的软件开发工具包(Software Development Kit,SDK)中新建一个工程目录,将S04编译得到的模型库编译链接到嵌入式设备的系统任务中,然后编写嵌入式设备上的应用业务代码。例如,应用业务代码用于将参考数据作为输入源输入该模型库,然后读取模型库的输出结果。
通过上述S01-S05即可生成神经网络模型对应的模型库,模型库可以集成在嵌入式设备中,且执行模型库能够达到执行神经网络模型的效果,实现了将神经网络模型转化移植到嵌入式设备的效果。其中,图3所示的模型库生成方法可以由嵌入式设备之外的设备执行,例如,由服务器或终端执行图3所示的模型库生成方法。
在模型库集成到嵌入式设备之后,即可将获取的参考数据输入到该模型库,模型库的输出结果与参考数据输入到神经网络模型的输出结果是相同的,由此,嵌入式设备根据模型库的输出结果能够实现对应的目标功能。
示例性地,参见图5所示的嵌入式设备的管理方法的示意图。如图5所示,基于网络的深度学习平台,获取神经网络模型,然后基于神经网络模型生成模型库,将模型库集成到嵌入式设备中。进而,通过摄像头、麦克风等外设输入源来获取参考数据,将参考数据输入到模型库中,由模型库的输出结果来实现对应的目标功能。
在一种可能的实施方式中,嵌入式设备可以为电子学生证,目标功能可以为姿态检测功能,参考数据可以为通过嵌入式设备包括的图像采集装置采集到的图像数据。在该场景下,根据模型库的输出结果实现目标功能,包括:在模型库的输出结果为第一姿态的情况下,向终端发送电子学生证的标识,标识用于显示在终端;在模型库的输出结果为第二姿态的情况下,发出报警信息;在模型库的输出结果为第三姿态的情况下,不作处理。
其中,第一姿态可以为举手、起立等,第二姿态可以为坐姿不标准、离开座位、睡觉、考试作弊等,第三姿态可以为坐姿标准。电子学生证的标识可以为使用该电子学生证的学生的姓名、学号、头像等。终端可以是指老师终端或者家长终端等。发出报警信息的方式包括但不限于发出震动、发生声音或发光等。
示例性地,参见图6所示的姿态检测过程的示意图。在电子学生证的交互界面打开电子学生证的姿态检测功能;将电子学生证摆放在指定位置,以使电子学生证的图像采集装置采集的图像中包括待检测对象;将图像采集装置采集的图像数据输入模型库;模型库输出检测结果;在检测结果指示举手的情况下,教师终端显示举手学生的姓名,返回执行将图像采集装置采集的图像数据输入模型库;在检测结果指示坐姿不标准的情况下,电子学生证震动,以提醒学生端正坐姿,返回执行将图像采集装置采集的图像数据输入模型库;在检测结果指示坐姿标准的情况下,直接返回执行将图像采集装置采集的图像数据输入模型库。其中,图像采集装置可以实时采集图像并将采集的图像数据输入模型库,也可以按照周期采集图像并将采集的图像数据输入模型库,周期可以根据经验设置,或者根据应用场景灵活调整。
本申请实施例提供的方法,通过将神经网络模型量化处理为量化模型,并将量化模型编译为模型库,以使模型库能够集成在嵌入式设备内的方式,使得嵌入式设备的性能条件不满足实现目标功能所需的性能条件的情况下,仍然能够实现目标功能,提高了嵌入式设备的智能化。此外,相较于相关技术中端云结合的方式,由于不需要与云端设备进行交互,因而不受网络稳定性的影响,提高了该方法实施的可能性。
参见图7,本申请实施例提供了一种嵌入式设备的管理装置,应用于嵌入式设备,该装置包括:
获取模块701,用于获取参考数据,参考数据为需要实现目标功能的数据,目标功能通过神经网络模型实现,运行神经网络模型的设备的第一性能条件高于嵌入式设备的第二性能条件;
管理模块702,用于将参考数据输入到集成在嵌入式设备内的模型库中,根据模型库的输出结果实现目标功能,模型库基于量化模型编译生成,量化模型由神经网络模型进行量化处理得到,运行量化模型的设备的第三性能条件不高于第二性能条件,第一性能条件、第二性能条件和第三性能条件均包括计算能力、内存和功耗中的至少一种。
在一种可能的实施方式中,模型库包括输入张量、解析器和输出张量;管理模块702,用于将参考数据由输入张量输入到解析器;通过解析器调用量化模型对参考数据进行处理,量化模型的处理结果由输出张量输出;将输出张量输出的处理结果作为模型库的输出结果。
在一种可能的实施方式中,嵌入式设备使用的编译语言与量化模型的编译语言不同;模型库基于模型文件编译生成,模型文件由量化模型进行格式转换得到,模型文件的编译语言与嵌入式设备使用的编译语言相同。
在一种可能的实施方式中,嵌入式设备为电子学生证,目标功能为姿态检测功能,参考数据为通过嵌入式设备包括的图像采集装置采集到的图像数据。
在一种可能的实施方式中,管理模块702,用于在模型库的输出结果为第一姿态的情况下,向终端发送电子学生证的标识,标识用于显示在终端;在模型库的输出结果为第二姿态的情况下,发出报警信息。
本申请实施例提供的装置,通过将神经网络模型量化处理为量化模型,并将量化模型编译为模型库,以使模型库能够集成在嵌入式设备内的方式,使得嵌入式设备的性能条件不满足实现目标功能所需的性能条件的情况下,仍然能够实现目标功能,提高了嵌入式设备的智能化。此外,相较于相关技术中端云结合的方式,由于不需要与云端设备进行交互,因而不受网络稳定性的影响,提高了该装置实施的可能性。
应理解的是,上述实施例提供的装置在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
请参考图8,其示出了本申请一个实施例提供的嵌入式设备的结构示意图。该嵌入式设备包括有:处理器1501和存储器1502。
处理器1501可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器1501可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器1501也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器1501可以集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器1501还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器1502可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器1502还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器1502中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器1501所执行,以使该终端实现本申请中方法实施例提供的嵌入式设备的管理方法。
在一些实施例中,终端还可选包括有:外围设备接口1503和至少一个外围设备。处理器1501、存储器1502和外围设备接口1503之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口1503相连。具体地,外围设备包括:射频电路1504、显示屏1505、摄像头组件1506、音频电路1507和电源1508中的至少一种。
外围设备接口1503可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器1501和存储器1502。在一些实施例中,处理器1501、存储器1502和外围设备接口1503被集成在同一芯片或电路板上;在一些其他实施例中,处理器1501、存储器1502和外围设备接口1503中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路1504用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路1504通过电磁信号与通信网络以及其他通信设备进行通信。射频电路1504将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路1504包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路1504可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:城域网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路1504还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。
显示屏1505用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏1505是触摸显示屏时,显示屏1505还具有采集在显示屏1505的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器1501进行处理。此时,显示屏1505还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏1505可以为一个,设置在终端的前面板;在另一些实施例中,显示屏1505可以为至少两个,分别设置在终端的不同表面或呈折叠设计;在另一些实施例中,显示屏1505可以是柔性显示屏,设置在终端的弯曲表面上或折叠面上。甚至,显示屏1505还可以设置成非矩形的不规则图形,也即异形屏。显示屏1505可以采用LCD(Liquid Crystal Display,液晶显示屏)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。
摄像头组件1506用于采集图像或视频。可选地,摄像头组件1506包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件1506还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路1507可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器1501进行处理,或者输入至射频电路1504以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器1501或射频电路1504的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路1507还可以包括耳机插孔。
电源1508用于为终端中的各个组件进行供电。电源1508可以是交流电、直流电、一次性电池或可充电电池。当电源1508包括可充电电池时,该可充电电池可以支持有线充电或无线充电。该可充电电池还可以用于支持快充技术。
在一些实施例中,终端还包括有一个或多个传感器1509。该一个或多个传感器1509包括但不限于:加速度传感器1510、陀螺仪传感器1511、压力传感器1512、光学传感器1513以及接近传感器1514。
加速度传感器1510可以检测以终端建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器1510可以用于检测重力加速度在三个坐标轴上的分量。处理器1501可以根据加速度传感器1510采集的重力加速度信号,控制显示屏1505以横向视图或纵向视图进行用户界面的显示。加速度传感器1510还可以用于游戏或者用户的运动数据的采集。
陀螺仪传感器1511可以检测终端的机体方向及转动角度,陀螺仪传感器1511可以与加速度传感器1510协同采集用户对终端的3D动作。处理器1501根据陀螺仪传感器1511采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
压力传感器1512可以设置在终端的侧边框和/或显示屏1505的下层。当压力传感器1512设置在终端的侧边框时,可以检测用户对终端的握持信号,由处理器1501根据压力传感器1512采集的握持信号进行左右手识别或快捷操作。当压力传感器1512设置在显示屏1505的下层时,由处理器1501根据用户对显示屏1505的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
光学传感器1513用于采集环境光强度。在一个实施例中,处理器1501可以根据光学传感器1513采集的环境光强度,控制显示屏1505的显示亮度。具体地,当环境光强度较高时,调高显示屏1505的显示亮度;当环境光强度较低时,调低显示屏1505的显示亮度。在另一个实施例中,处理器1501还可以根据光学传感器1513采集的环境光强度,动态调整摄像头组件1506的拍摄参数。
接近传感器1514,也称距离传感器,通常设置在终端的前面板。接近传感器1514用于采集用户与终端的正面之间的距离。在一个实施例中,当接近传感器1514检测到用户与终端的正面之间的距离逐渐变小时,由处理器1501控制显示屏1505从亮屏状态切换为息屏状态;当接近传感器1514检测到用户与终端的正面之间的距离逐渐变大时,由处理器1501控制显示屏1505从息屏状态切换为亮屏状态。
本领域技术人员可以理解,图8中示出的结构并不构成对终端的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
在示例性实施例中,还提供了一种嵌入式设备,该嵌入式设备包括处理器和存储器,该存储器中存储有至少一条程序代码。该至少一条程序代码由一个或者一个以上处理器加载并执行,以使嵌入式设备实现上述任一种嵌入式设备的管理方法。
在示例性实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有至少一条程序代码,该至少一条程序代码由嵌入式设备的处理器加载并执行,以使计算机实现上述任一种嵌入式设备的管理方法。
可选地,上述计算机可读存储介质可以是只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、只读光盘(Compact Disc Read-OnlyMemory,CD-ROM)、磁带、软盘和光数据存储设备等。
在示例性实施例中,还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。嵌入式设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该嵌入式设备执行上述任一种嵌入式设备的管理方法。
本申请的说明书和权利要求书及所述附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们的任意变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。
需要说明的是,本申请所涉及的信息(包括但不限于用户设备信息、用户个人信息等)、数据(包括但不限于用于分析的数据、存储的数据、展示的数据等)以及信号,均为经用户授权或者经过各方充分授权的,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (10)

1.一种嵌入式设备的管理方法,其特征在于,所述方法包括:
获取参考数据,所述参考数据为需要实现目标功能的数据,所述目标功能通过神经网络模型实现,运行所述神经网络模型的设备的第一性能条件高于所述嵌入式设备的第二性能条件;
将所述参考数据输入到集成在所述嵌入式设备内的模型库中,根据所述模型库的输出结果实现所述目标功能,所述模型库基于量化模型编译生成,所述量化模型由所述神经网络模型进行量化处理得到,运行所述量化模型的设备的第三性能条件不高于所述第二性能条件;
其中,所述第一性能条件、所述第二性能条件和所述第三性能条件均包括计算能力、内存和功耗中的至少一种。
2.根据权利要求1所述的方法,其特征在于,所述模型库包括输入张量、解析器和输出张量;所述将所述参考数据输入到模型库中,包括:
将所述参考数据由所述输入张量输入到所述解析器;
通过所述解析器调用所述量化模型对所述参考数据进行处理,所述量化模型的处理结果由所述输出张量输出;
将所述输出张量输出的所述处理结果作为所述模型库的输出结果。
3.根据权利要求1所述的方法,其特征在于,所述嵌入式设备使用的编译语言与所述量化模型的编译语言不同;所述模型库基于模型文件编译生成,所述模型文件由所述量化模型进行格式转换得到,所述模型文件的编译语言与所述嵌入式设备使用的编译语言相同。
4.根据权利要求1-3任一所述的方法,其特征在于,所述嵌入式设备为电子学生证,所述目标功能为姿态检测功能,所述参考数据为通过所述嵌入式设备包括的图像采集装置采集到的图像数据。
5.根据权利要求4所述的方法,其特征在于,所述根据所述模型库的输出结果实现所述目标功能,包括:
在所述模型库的输出结果为第一姿态的情况下,向终端发送所述电子学生证的标识,所述标识用于显示在所述终端;
在所述模型库的输出结果为第二姿态的情况下,发出报警信息。
6.一种嵌入式设备的管理装置,其特征在于,所述装置包括:
获取模块,用于获取参考数据,所述参考数据为需要实现目标功能的数据,所述目标功能通过神经网络模型实现,运行所述神经网络模型的设备的第一性能条件高于所述嵌入式设备的第二性能条件;
管理模块,用于将所述参考数据输入到集成在所述嵌入式设备内的模型库中,根据所述模型库的输出结果实现所述目标功能,所述模型库基于量化模型编译生成,所述量化模型由所述神经网络模型进行量化处理得到,运行所述量化模型的设备的第三性能条件不高于所述第二性能条件,所述第一性能条件、所述第二性能条件和所述第三性能条件均包括计算能力、内存和功耗中的至少一种。
7.根据权利要求6所述的装置,其特征在于,所述模型库包括输入张量、解析器和输出张量;所述管理模块,用于将所述参考数据由所述输入张量输入到所述解析器;通过所述解析器调用所述量化模型对所述参考数据进行处理,所述量化模型的处理结果由所述输出张量输出;将所述输出张量输出的所述处理结果作为所述模型库的输出结果。
8.根据权利要求6或7所述的装置,其特征在于,所述嵌入式设备使用的编译语言与所述量化模型的编译语言不同;所述模型库基于模型文件编译生成,所述模型文件由所述量化模型进行格式转换得到,所述模型文件的编译语言与所述嵌入式设备使用的编译语言相同。
9.一种嵌入式设备,其特征在于,所述嵌入式设备包括处理器和存储器,所述存储器中存储有至少一条计算机程序或指令,所述至少一条计算机程序或指令由所述处理器加载并执行,以使所述嵌入式设备实现如权利要求1至5任一所述的嵌入式设备的管理方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有至少一条程序代码,所述至少一条程序代码由处理器加载并执行,以使计算机实现如权利要求1至5任一所述的嵌入式设备的管理方法。
CN202310787319.2A 2023-06-29 2023-06-29 嵌入式设备的管理方法、装置、设备及存储介质 Pending CN116843003A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310787319.2A CN116843003A (zh) 2023-06-29 2023-06-29 嵌入式设备的管理方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310787319.2A CN116843003A (zh) 2023-06-29 2023-06-29 嵌入式设备的管理方法、装置、设备及存储介质

Publications (1)

Publication Number Publication Date
CN116843003A true CN116843003A (zh) 2023-10-03

Family

ID=88170029

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310787319.2A Pending CN116843003A (zh) 2023-06-29 2023-06-29 嵌入式设备的管理方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN116843003A (zh)

Similar Documents

Publication Publication Date Title
CN110097019B (zh) 字符识别方法、装置、计算机设备以及存储介质
CN110471858B (zh) 应用程序测试方法、装置及存储介质
CN110503959B (zh) 语音识别数据分发方法、装置、计算机设备及存储介质
CN112907725B (zh) 图像生成、图像处理模型的训练、图像处理方法和装置
CN111739517B (zh) 语音识别方法、装置、计算机设备及介质
CN113806473A (zh) 意图识别方法和电子设备
CN111753498A (zh) 文本处理方法、装置、设备及存储介质
CN115718913B (zh) 一种用户身份识别方法及电子设备
CN110705614A (zh) 模型训练方法、装置、电子设备及存储介质
CN114070928A (zh) 一种防误触的方法及电子设备
CN111191018B (zh) 对话系统的应答方法和装置、电子设备、智能设备
CN113821658A (zh) 对编码器进行训练的方法、装置、设备及存储介质
CN113570510A (zh) 图像处理方法、装置、设备及存储介质
CN111753813A (zh) 图像处理方法、装置、设备及存储介质
CN115032640B (zh) 手势识别方法和终端设备
CN111341307A (zh) 语音识别方法、装置、电子设备及存储介质
CN113763932B (zh) 语音处理方法、装置、计算机设备及存储介质
CN113343709B (zh) 意图识别模型的训练方法、意图识别方法、装置及设备
CN113593521B (zh) 语音合成方法、装置、设备及可读存储介质
CN116843003A (zh) 嵌入式设备的管理方法、装置、设备及存储介质
CN111310701B (zh) 手势识别方法、装置、设备及存储介质
CN114547616A (zh) 检测垃圾软件的方法、装置及电子设备
CN114511082A (zh) 特征提取模型的训练方法、图像处理方法、装置及设备
CN114764480A (zh) 群组类型识别方法、装置、计算机设备及介质
CN110119383A (zh) 一种文件管理方法及终端设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination